1. ホーム
  2. java

[解決済み] Java の SecureString に相当

2022-02-19 18:36:02

質問

Javaで.NETに相当するものを探しています。 セキュアストリングス.aspx . 2018年現在、そのような実装はあるのでしょうか?

OWASPの実装 は、単なる文字配列なので、全く同じというわけではありません。.NETの同等品は 追加機能 アンマネージドメモリからインスタンスを取得したり、暗号化する機能などです。

私は、パスワードの受け渡しを char[] を実行し Arrays.fill() を使用した後、それらをゼロにします。しかし、そのためには些細なユーティリティクラスを char[] を常に使用します。

解決方法は?

オラクルでは GuardedString の実装があります。これは、.NETの SecureString の解決策になります。

を解決するセキュアな文字列の実装です。 パスワードは java.lang.String . つまり は平文パスワードとしてメモリに保存され、そのまま 少なくともガベージコレクションされるまではメモリに保存されます。

GuardedString クラスは、この問題を軽減するために 文字を暗号化した状態でメモリに保存します。暗号化キーは ランダムに生成される鍵。

その直列化された形で GuardedString を使用して暗号化されます。 既知のデフォルトの鍵です。これは、最小限の保護を提供するためです。 トランスポートに関係なく リモート コネクタフレームワークを導入する場合は、SSLを有効にすることをお勧めします。 真の暗号化

また、アプリケーションは GuardedString . の場合 Identity Managerは GuardedStringEncryptedData を使用して保存および管理できるようにします。 Identity ManagerのManage Encryption機能。他のアプリケーションでは をシリアライズしたい。 APIConfiguration を全体として使用します。これらのアプリケーションは を暗号化する役割を担っています。 APIConfiguration ブロブ セキュリティの追加レイヤー(基本的なデフォルトの鍵の暗号化以外に が提供する GuardedString ).