0

C#アプリケーションでプレーンテキストファイルの一部をプログラムで暗号化し、暗号化されていない場合にデータがメモリ内で簡単に傍受されないようにする必要があります(生データが常にある時点であるため、これは困難な場合があります)復号化された形式で処理されます)。

ファイルで暗号化されたパスワードを使用するか、理想的には秘密鍵を使用して、データの暗号化を解除できる必要があります。1つの要件は、秘密鍵が暗号化された全体のサブセットを復号化するように、暗号化された各ブロックを一意の鍵ペアで保護できるようにすることです。

RSACryptoServiceProviderまたは.Net4.0で利用可能な他の非対称暗号化スキームを使用することを考えています。スキームは堅実でなければならず、これにやむを得ない理由がある場合は外部ライブラリを使用することを嫌がらないので、私は慎重に進めています。

また、暗号化されていないデータを傍受する手段として実行時のヒープウォーキングを防ぐために、メモリ内で暗号化を維持するための確立された手法にも興味があります。

前もって感謝します。

4

1 に答える 1

2

動作の例として、非常に完全な使用例があるMSDNページRSACryptoServiceProviderにのみアクセスできます。

stringをメモリに安全に保管するには、System.Security.SecureStringを使用できます。

SecureStringクラス:機密を保持する必要があるテキストを表します。テキストは、使用時にプライバシー保護のために暗号化され、不要になったときにコンピュータのメモリから削除されます。

ただし、十分なスキルを持っている人ややる気のある人は、設定した保護を最終的に破ることができます

于 2012-05-22T23:04:16.077 に答える