2013-06-25 21 views
5

OpenSSLでファイルを暗号化する場合、-pass pass:mySillyPasswordを使用できます。mySillyPasswordは暗号化で使用されるパスワードです。また、塩を指定するには-salt -s(16進文字列)を使用することもできます。OpenSSL - パスワードと塩の目的

なぜ誰かが塩の代わりに、または塩と組み合わせてパスワードを使用したいのですか?また、-saltコマンドを使用するだけで、OpenSSLで塩が生成されることがわかりました。これはユーザー定義の塩よりもどのように優れていますか? OpenSSLがランダムに塩を生成する場合、将来どのような塩がそのファイルを復号化するのかをユーザーはどのように知っていますか?

答えて

3

OpenSSLでは、塩は暗号化されたデータの先頭に付加され、暗号化されたデータは復号化されます。塩の目的は、など辞書攻撃、虹のテーブルに、以下のことを防止するためであるOpenSSLの文書からである: - 塩オプションなし

パスワードで効率的な 辞書攻撃を実行し、攻撃することが可能ですストリーム暗号 暗号化されたデータ。その理由は、塩がなければ同じパスワード は常に同じ暗号鍵を生成するからです。塩が である場合、暗号化されたデータの最初の8バイトは塩のために と予約されています。ファイルを暗号化するときにランダムに生成され、復号化されるときに暗号化されたファイルから読み取られます。

塩をサポートしていない以前のバージョンとの互換性が必要な場合を除き、ドキュメントでは常にパスワードで塩を使用することが示唆されています。

+0

ありがとうございますが、私はまだパスワードの目的を理解していません。 OpenSSLのドキュメントの内容は次のとおりです。 pass:password 実際のパスワードはpasswordです。パスワードはユーティリティー(Unixでは 'ps'のような)から見えるので、このフォームはセキュリティーが重要でない場所でのみ使用してください。 パスワードは暗号化されたデータにどのように格納されていますか?それも添付されていますか?パスワードはあまり安全ではないようですが、データが暗号化されているときにその人がコンピュータにアクセスできるのは間違いないと思いますか? – user2520041

+0

はい、正しいです。この方法では、暗号化または復号化時にコンピュータへのアクセスが存在する場合にのみ、パスワードが改ざんされます。しかし、「このフォームはセキュリティが重要でない場所でのみ使用してください」と言うと、パスワードを指定する構文( 'pass:password')を意味します。その代わりに、 'file:pathname'や' stdin'のような他のメソッドを使うべきです。パスワードは追加されません。パスワードは、ファイルを解読するための秘密鍵を生成するために使用され、そのパスワードでのみ解読することができます。パスワードは安全ですが、正しく使用されている場合のみです。 – IanPudney

+0

ありがとう、それはより明確になります。このパスワードは、秘密鍵を生成するために使用されます - パスワードファイルは別に生成されたファイルですか?もしそうでなければ、それは塩のように思える。ドキュメンテーションがより具体的であることを願っています。 – user2520041

関連する問題