次の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を使用して再度暗号化されています。
任意の助けが高く評価されるであろう、
引用したMSDNリンクの* DPAPI *でのキーのバックアップと復元を参照してください。それは役に立ちますか? – dajames