暗号キーの保存
現在下記のようにし、暗号化を行っています。
-------------------------以下ソース
KeyGenerator kg = KeyGenerator.getInstance("AES");
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
// 128ビットで暗号化
kg.init(128, random);
Key key = kg.generateKey();
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, key);
// バイト配列に変換
byte[] byteArray = cipher.doFinal(argStr.getBytes());
暗号化について調べていると、暗号化(復号化)キーは乱数などで作ったほうが良いと書いてありました。
そこで質問なのですが、ログイン画面でパスワードを暗号化するために上記コーディングを行っているのですが、乱数でキーを作成した場合、各ユーザごとにキーが作成されるって認識であってますでしょうか?
その場合、暗号キーはどこに保存しておくのが望ましいでしょうか?
できる限りセキュアなアプリを作りたいと思っています。
(もちろん100%はないとは思っていますので)
※データベースは使えない環境を想定しています。
以上宜しくお願いします。
tomcat5.0
jdk.1.4.2 を使用
お礼
できました。ありがとうございます。