Openssl Aes-Encryption Lossyですか?


-2

に従って aes-encryptをコマンドラインで実行する方法 、これをバックアップの信頼できる方法として使用できますか。

私はOs Xところでです。

私が試したこと:

zip -er ./test.zip ./test # zip w/ password

これを私に追加しました .bash_profile

#$1 == input file
#$2 == output file
aesenc ()
{
        openssl enc -aes-256-cbc -salt -in "$1" -out "$2"
}

#$1 == enc file
#$2 == out file
aesdecr ()
{
        openssl enc -d -aes-256-cbc -in "$1" -out "$2"
}

aesenc test.zip test.zip.enc aesdecr test.zip.enc test.zip

ファイルをチェックしたところ、表面上はすべて問題ないようです。

誰かがもっと知っていたら聞いてみたいですか?


損失のある暗号化はひどい考えです。暗号化と圧縮を混同していませんか。
Spiff

回答:


3

私はあなたが意味すると思います 非可逆圧縮 JPEGのように、非可逆圧縮は不可逆的にデータを失いますが、非可逆圧縮は一般にデータにはひどいもので、データが失われた後もイメージはまだ「十分」に見えるため、イメージに対してのみ機能します。

Opensslのencコマンドは「非可逆」ではないので、 すべき データの信頼性を高めてください。のようなより良いキー処理 gpg / pgp、 安全な暗号化されたバックアップには良いでしょう。 Mr.Edward Snowdenが推奨します。これは比較的「政府による証明」です。少なくとも過去には、opensslのencに関するいくつかのことを読んでいました。

この質問を見る オフサイトバックアップを暗号化するためのOpenSSLとGPGの違い 詳細については、

から security.stackexchange.com上のこの投稿 (2013年1月から) そしてもう一つ 159Kのレピュテーションユーザーによる openssl enc commandは何かを残したいかもしれません:

OpenSSLで使用される暗号化フォーマットは非標準です。それは「OpenSSLの機能」であり、OpenSSLのすべてのバージョンが互いに一致する傾向がある場合、OpenSSLのソースコード以外にこのフォーマットを説明する参照文書はまだありません。ヘッダーの形式はかなり単純です。

マジック値(8バイト):バイト53 61 6c 74 65 64 5f 5f        ソルト値(8バイト)

したがって、 "Salted__"という文字列のASCIIエンコーディングで始まり、その後にソルト自体が続く16バイトの固定ヘッダーそれで全部です !暗号化アルゴリズムは表示されません。あなたはそれを自分で追跡することになっています。

パスワードとsaltをキーにしてIVに変換するプロセスは文書化されていませんが、ソースコードを見ると、OpenSSL固有のものを呼び出していることがわかります。 EVP_BytesToKey() カスタムを使用する関数 キー導出関数 何度かハッシングを繰り返します。これはMD5ハッシュ関数の疑わしい評判(!!)に依存している、標準的ではない、よく検証されていない構文(!)です。その機能はコマンドラインで以下のように変更できます。 文書化されていない -md フラグ(!!!); 「反復回数」は、 enc に命令する 1 変更できません(!!!!)。これは、キーの最初の16バイトが以下と等しくなることを意味します。 MD5(パスワード||塩) 、 以上です。

これはかなり弱いです。 PCでコードを書く方法を知っている人なら誰でもそのようなスキームを解読しようと試みることができ、毎秒数十億の潜在的なパスワードを「試す」ことができるでしょう(何億ものGPUで達成可能でしょう)。 あなたが "openssl enc"を使うなら、あなたのパスワードが非常に高いエントロピーを持っていることを確認してください! (すなわち、通常推奨されるよりも高い。少なくとも80ビットを目標とする)。または、できればまったく使用しないでください。代わりに、もっと堅牢なものを探してください( GnuPG パスワードのために対称暗号化をするとき、根本的なハッシュ関数の多くの繰り返しでより強いKDFを使用します)。

man enc これも "バグ"の下にあります。

繰り返し回数を含めることを許可するオプションがあるはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.