web-dev-qa-db-ja.com

SQL Server 2008 R2 Standard Editionのデータ暗号化のオプション?

友人がSQL Server 2008 R2 Standardエディションでデータの暗号化を設定するのを手伝っています。最初の調査で、私は [〜#〜] tde [〜#〜] を使用できると思ったが、それがSQL ServerのEnterpriseまたはDataCenterバージョンでのみ使用可能であることを理解していなかった。 SQL Server 2008 R2をさらに調査したところ、 機能 "データの暗号化とキー管理"が可能であることがわかりましたが、その意味や実装方法がわかりません。

データ暗号化のための最も効率的で低コストの方法は何ですか? SQL Serverを使用して何かを行うか、サードパーティのツールを使用して、DBとバックアップがあるボリューム全体を暗号化する必要がありますか?また、誰かが標準版の機能として付属している「データ暗号化」の使用方法を指摘できれば、私は本当に感謝します。 SQLサーバーで暗号化を検索するたびに、TDEの使用方法にたどり着きます。現在のシナリオでは、企業規模でEnterprise Editionを購入するのは現実的ではありません。

暗号化の理由-HIPAAコンプライアンス。データベースまたはバックアップのためにファイルシステムにアクセスできる場合、データは暗号化され、何の役にも立ちません。これには、マシンへの物理アクセスまたはローカル管理者によるアクセスが含まれる場合があります。

7

Standard Editionを使用しているため、TDEを使​​用できません。他のオプションは

インスタンス/データベースレベルでの暗号化キーの使用

SQL Serverには、対称と非対称の2種類のキーがあります。対称鍵は、同じパスワードを使用してデータを暗号化および復号化します。非対称キーは、1つのパスワードを使用してデータ(暗号化キーと呼ばれる)を暗号化し、別のパスワードを使用して(秘密キーと呼ばれる)データを復号化します。

SQL Serverには、キー用の2つの主要なアプリケーションがあります。SQLServerインスタンス上で生成されるサービスマスターキー(SMK)と、データベースに使用されるデータベースマスターキー(DMK)です。

また、CREATE CERTIFICATEに続いてCREATE SYMMETRIC KEYとともにMASTER KEY ENCRYPTIONを作成することにより、列レベルで暗号化を行うことができます。

これを行う方法の例は データの列の暗号化 で説明されています

参照: SQL Serverおよびデータベース暗号化キー(データベースエンジン)

ドライブレベルで

BitLockerをWindows Server 2008 R2で利用可能なドライブ暗号化データ保護機能として使用する。参照してください: BitLockerドライブ暗号化の概要 同じ仕事をするために追加コストで多くのオープンソースまたはサードパーティのソフトウェアがあります。

注:最も重要なビットは常に暗号化キーをバックアップするです。

パスワードを使用してバックアップを暗号化できるRedgateのsqlバックアップなどのサードパーティソフトウェアを使用できます。

暗号化が必要なレベルに応じて、エンタープライズエディションにアップグレードする価値があるかどうかが決まります。ネイティブTDE暗号化と暗号化キーと証明書、オープンソースとディスク暗号化を評価する必要があります。

8
Kin Shah

古い質問ですが、SQL Server 2016 SP1以降、上記の回答に加えて回答があります。

SQL Server 2016では、「常に暗号化された」だけでなく、動的データマスキングや行レベルのセキュリティなどの他のセキュリティ機能が導入されました。これらは、もともとEnterprise Editionのみでリリースされた機能でした。

現在、SQL Server 2016 SKU-Enterprise、Standard、またはExpressで利用可能な機能として存在しています。

チェックアウトする価値があり、アップグレードプロセスを今見る価値があります。この詳細については、Microsoftの post SP1 for SQL Server 2016を参照してください。

5
Mike Walsh

まず、「なぜこのデータベースを暗号化しているのですか?」と質問します。

答えが「データベース管理者からデータを隠す」である場合、あらゆる種類のSQL Server暗号化がでない答えです。その場合、クライアントアプリケーションはデータを暗号化し、データベースに暗号文を保存する必要があります。これにより、データベースサーバーもデータベース管理者も(ネットワーク管理者も)、暗号化されていないデータや暗号化キーを見ることがなくなります。

クライアント上のデータをサーバーに送信する前に暗号化すると、データベースファイルとデータベースのバックアップはすべて暗号化され、バックアップテープやハードディスクを盗むことから保護され、悪意のあるまたは侵害された管理者アカウントからも保護されます。

Laurentiu Cristoforのブログ記事 暗号化が必要な人 および SQL Server 2008とのHIPAA準拠 をSQL Server Security Blogで参照してください

3

著者による質問への編集として最初に残された回答:

使用したソリューション

プロジェクトを担当するシステム管理者にさまざまなオプションを提示した後、BitLockerドライブ暗号化を採用することが決定されました。暗号化プロセス中にSQLインスタンスを停止しましたが、暗号化の完了後にSQLインスタンスを再起動しても問題はありませんでした。

0
user126897