パスワードベースの暗号化を使用しています。私の最初の考えは、AESを使ってパスワードを含むファイルを暗号化することでした。パスワードベースの暗号化はAESをサポートしていません。それはDESを使用します。 AFAIK desは安全ではありません。 PBEWithMD5AndDESは私のデータを推し進めるのに十分な安全性を持っていますか、別の実装を探すべきですか?Java PBEWithMD5AndDES
答えて
あなたの意見からは、パスワードベースの暗号化方式を使用して機密情報が含まれているファイルを暗号化し、解読時にユーザーが入力したパスワードを使用しているように見えます。この場合の機密情報はパスワードでもありますが、それは本当に関連性がありません。 (これをもっと明確にするために、おそらく質問を更新するべきです)。
SunJCE Java暗号化プロバイダがパスワードベースの暗号化にAESをサポートしていないという問題があります。たとえば、アルゴリズム"PBEWITHSHA256AND128BITAES-CBC-BC"
を使用してBouncy Castleプロバイダを使用できる代替プロバイダを使用する必要があります。 (奇妙な名前にもかかわらず、Bouncy Castleは尊敬されています)。
"自分のデータに十分な安全性があります"と言えば、保護しているデータが攻撃者に約10,000ドル以下の価値があるのであれば、2009年にはそれだけで十分でしょう。 2014年に、データを暗号化する価値がある場合は、答えは「いいえ」です。
GPUを使用しているブルートフォースの最近の進歩を考えれば、おそらく$ 10,000を$ 100に置き換えることができます。 –
saltedhash digests以外の形式でパスワードを保存しないでください。
オペレーティングシステムのパーミッションシステムを使用して、ハッシュされたパスワードファイルがパスワードを検証するユーザーだけが読むことができるようにする必要があります。
パスワードを保存するのは個人的なアプリケーションです。おもちゃのパスワードマネージャー。 –
-1、質問には答えません –
Java 6が利用可能な場合は、必要なものはすべて利用できます。このquestionをチェックし、コードサンプルの回答を見てください。ファイルを暗号化したいので、生成されたivは、暗号文を書き込むファイルの先頭に付ける必要があります。そのため、復号中に利用できるようになります。
- 1. Java暗号化(PBEWithMD5AndDES)の復号化(PBEWithMD5AndDES)
- 2. PBEwithMD5andDES in C#
- 3. PBEWithMD5AndDESアルゴリズムを使用したJava暗号化
- 4. UWPでPBEWithMD5AndDES(java)を実行しています
- 5. は(PBEWithMD5AndDESは)アンドロイドで(パッドブロックが壊れて)
- 6. 暗号 "PBEWithMD5AndDES"は安定していますか?
- 7. OracleのPBEWithMD5AndDES文字列を解読する方法は?
- 8. Java:バイナリファイルの書き方は?
- 9. Javaの復号化中にBadPaddingExceptionが発生する
- 10. PKCS5暗号化のためにJAVAをPHPに置き換える
- 11. Java - 暗号化/復号化エラー
- 12. Javaを使用した128ビットデータ暗号化
- 13. Java暗号化:どのアルゴリズムを使用すべきですか?
- 14. Javaのファイル暗号化のパフォーマンスに関するアドバイス
- 15. JavaのプリミティブコレクションJava
- 16. JavaスクリプトからjavaにJavaを渡す
- 17. JavaシリアルJavaでは
- 18. computeDistanceBetween Java対Java JavaScript
- 19. Javaディストリビューション用Javaディストリビューション
- 20. JCAとJCEを使ったJavaのテキストチャンクの暗号化と復号化
- 21. JavaアクティビティサービスクラスおよびJavaアクティビティアプリケーションクラス
- 22. Java Javaサーバーのページとnetbeans
- 23. Java 6をJava 8にアップグレード
- 24. Javaは、JavaでカサンドラNoHostAvailableExceptionに
- 25. エラーテリアのJavaは、Javaのサンプルコード
- 26. java -cp。 test.java対java test.java
- 27. GAE JavaからHttp GET Java
- 28. のJava、JavaでははBouncyCastle
- 29. JavaはJavaでのJLabel
- 30. Java ObjectInputStream戻るJavaクラス
いくつかの表現を混乱させているようです。 「パスワードベースの暗号化」とは、ファイルをパスワードで派生した鍵で暗号化する方式のことです。 (たとえば、PKCS#5標準はパスワードベースの暗号化方式です)。あなたが望むのは何か違うもの、つまり安全なパスワードの保存/管理体系です。したがって、PBEWithMD5AndDESは、それがどれほど安全か不安かにかかわらず、必要なものではありません。 – Accipitridae
これは徹底的に古くなった質問です.AESは、Java 6以降のパスワードベースの暗号化に対応していますが、完全性保護が欠けているため、暗号化*にのみ使用する必要があります。 –