2011-01-06 11 views
1

次のSQL Serverで使用される暗号化階層を示すイメージを検討してください。 SMKがDPAPIを使用して暗号化されているという最初の青色のブロックに注意してください。 DPAPIは、現在ログインしているユーザーの資格情報(+以上)を使用してデータを暗号化します。そのため、マシン固有です。これは、SMK(DMKと任意の派生パスワード)がマシン固有であることを意味します(実際はSQL Serverのセットアップによって生成されます)。 OTOH、SQL ServerでX.509証明書を作成/バックアップできます(CREATE CERTIFICATE、BACKUP CERTIFICATEなどを使用)。SQL Server 2008で機密データを暗号化して保存する

シナリオ/質問:

私は、データベース列にCC情報を暗号化して保存する必要があるWebアプリケーションを開発しています。これらのデータにアクセスする必要があります。後で別のマシンで実行する必要があります。そのため、別のマシンに復元したときに、実際に読み込み可能な状態にしておく必要があります(前述の証明書にアクセスできる人)。

SMKがSQL Serverの現在のインスタンスに固有の場合、別のマシンにバックアップを復元する方法を知りたいのですが?暗号化されたデータが別のマシンに復元されると、そのデータにアクセスするにはどうすればよいですか?

更新日:私が間違っている場合は私を修正してください! BACKUP SERVICE MASTER KEY TO FILEコマンドを使用して、現在使用されているSMKをバックアップすることができます。ただし、このキーは、RESTORE SERVICE MASTER KEY FROM FILEコマンドを使用して、他のSQLServer(同じマシンのオン/オフ)で復元できます。 SMKが復元されると、それは鍵そのものをマシンのどこかに保存できるように、DPAPIを使用して再度暗号化されています。

任意の助けが高く評価されるであろう、

Encryption Hierarchy

+0

引用したMSDNリンクの* DPAPI *でのキーのバックアップと復元を参照してください。それは役に立ちますか? – dajames

答えて

0

図は、証明書がDMKによって、またはパスワードのいずれかを介して保護することができることを示しています。パスワードだけで保護する場合は、ポータブルでなければなりません。

+0

私はそれが正しいとは思わない...証明書は公的な量であり、通常は全く暗号化されないだろう。 – dajames

+0

証明書の公開鍵部分は公開数量です。しかし、秘密鍵部分はそうではありません。さもなければ、あなたは何かを保護するためにそれを使用することができません。 –

関連する問題