-1

Linuxで実行されているJavaアプリケーションがあります。アプリがクラッシュして再起動すると、前回の実行時に保存された非常に機密性の高い情報 (グローバル静的変数) を回復 (永続化) する必要があります。データベースは許可されていません (安全ではありません)。また、誰もこの情報を変更できないようにすることも重要です (たとえば、ファイルを上書きするなど)。

前もって感謝します

4

2 に答える 2

0

データを保護するには、データを暗号化する必要があります。PKCS7パディングを使用したCBCまたはCTRモードでAES-256を使用します。アプリケーションに暗号化キーを保存しないでください。IV / nonceは安全である必要がないため、保管できます。

データが変更されないようにするには、SHA-256でHMACを使用します。HMACには、AESに使用したものとは異なるキーを使用する必要があります。

于 2011-09-12T14:05:47.390 に答える
0

Jasyptを使用することをお勧めします。Externalizableオブジェクトストリームを実装および暗号化できます

BasicPasswordEncryptor encryptor = new BasicPasswordEncryptor();
String cipher = encryptor.encryptPassword(<<stream to encrypt as string>>);
...
if (encryptor.checkPassword(inputPassword, encryptedPassword)) {
  // correct!
} else {
  // bad login!
}
于 2011-09-12T13:33:11.103 に答える