0

asp.net 構成ファイルを暗号化するために DPAPI を使用しています。DPAPI を簡単に読んだところ、暗号化を行うためのキーとして Windows パスワードが使用されていることがわかりました。質問は、誰の Windows パスワードですか?

asp.net Web アプリがあり、application_start イベントで構成ファイルの暗号化をフックすると、アプリケーション プール ID (ネットワーク サービス) のパスワードが使用されますか?

デスクトップ コンソール アプリがあり、このアプリを定期的に実行する Windows スケジューラがある場合、DPAPI は誰のパスワードを使用して構成ファイルを暗号化/復号化しますか?

4

1 に答える 1

1

DPAPI は、暗号化または復号化するときに 3 つのパラメーターを受け入れます...

  1. データ (バイト配列)
  2. オプションのエントロピー (バイト配列)、つまりソルト
  3. 「スコープ」(System.Security.Cryptography.DataProtectionScope.CurrentUserまたは System.Security.Cryptography.DataProtectionScope.LocalMachine

「エントロピー」は具体的に「オプション」と名付けられているため、指定されていない場合、ユーザー資格情報またはマシン資格情報のみが暗号化に使用されます。つまり、別のユーザーまたは別のマシンで実行されている暗号化はできません。使用した「スコープ」。

オプションのエントロピーを「ソルト」と呼びます。これは、ユーザーまたはマシンの資格情報と混合してパスフレーズと特定のユーザーまたはマシンの資格情報を要求する「セカンダリ」パスフレーズの暗号化で一般的に使用される用語であるためです。

簡単な回答: 使用される「パスワード」は、ユーザー資格情報またはマシン資格情報から派生します。

于 2013-03-21T17:29:31.123 に答える