18

JKS / BKSキーストアなど、キーストアパスワードの背後にある意味は正確には何ですか?

エディターでファイルを開き、パスワードチェックなしですべてのエントリを新しいファイルにコピーできるため、これは明らかにセキュリティのためではありません。パスワードで保護されたキーストア内のデータは暗号化されていません!

このパスワードは何を保護しますか?それはただの嫌な開発者のためのようです...

4

3 に答える 3

9

「これは私の文です」という文字列をキーストアに保存し、それをメモ帳で開くと、暗号文「blabla」が表示され、「blabla」を別のファイルにコピーして、平文を見つけたと主張したとします。 -text、そしてそれは「blabla」です。これは明らかに間違っています。パスワードで復元するまで、元の pliant-ext はわかりません。

==編集==

JKS キーストアの場合、キーストアのパスワードは整合性を検証するために使用されます 。src

636   if (password != null) {
637       md = getPreKeyedHash(password);
638       dis = new DataInputStream(new DigestInputStream(stream, md));
639   }

DigestInputStream は署名を生成し、それを実際の署名と比較して変更されているかどうかを確認します。

BouncyCastle キーストアUBERはより安全で、キーストア全体が SHA1 と Twofish (PBEWithSHAAndTwofish-CBC) に基づく PBE で暗号化されています。

        Cipher cipher = this.makePBECipher(cipherAlg, Cipher.DECRYPT_MODE, password, salt, iterationCount);
        CipherInputStream cIn = new CipherInputStream(dIn, cipher);

        Digest dig = new SHA1Digest();
        DigestInputStream  dgIn = new DigestInputStream(cIn, dig);

        this.loadStore(dgIn);
于 2012-08-22T13:07:18.013 に答える
-1

JKS キーストアはバイナリ ストアであり、その内容はパスワードをキーとして使用して暗号化されます。パスワードがなければ、誰もコンテンツにアクセスできません。パスワードは、不正なアクセスや操作からストアのコンテンツを保護するためのものです。暗号化されたコンテンツを何らかのエディターで確実に開くことはできますが、それを理解することはできません。

于 2012-08-22T13:30:30.683 に答える