私のホームサーバーはOpenBSD 5.3を実行し、Sambaを介して複数のWindowsシステムにファイルを提供します。各ファイルを暗号化openssl enc -aes-256-cbc
し、Amazon S3にアップロードしてビデオファイルをバックアップするスクリプトを作成しました。可能な回復シナリオをテストするために、ファイルからスクリプトを実行し、ファイルをWindowsコンピュータにダウンロードしてから、AES暗号化ファイルを復号化すると宣伝する複数のプログラムを使用して復号化しましたが、復号化できませんでした。 OpenSSLで暗号化されたファイルはOpenSSLでのみ復号できますか? OpenBSDでOpenSSLで暗号化されたファイルは、OpenBSDのOpenSSLでのみ復号化できますか?
ちなみに、ファイルを自分のサーバーにダウンロードし、OpenSSLを使用して復号化することに問題はありません。しかし、どのサーバー設定を選択しても、S3(Glacierにすばやくアーカイブ)のマイビデオにアクセスでき続けるかどうかを知りたいです。
答え1
AES-CBC-256は、暗号化アルゴリズムと復号化アルゴリズムを完全に指定します。プレーンテキスト、キー、およびIVが与えられると、AES-256-CBC暗号化の両方の実装は同じ暗号文を生成します。暗号文、鍵、およびIVが与えられると、AES-256-CBCの両方の実装は同じプレーンテキストを生成します。
IVは、メッセージの暗号化時に生成されるランダムな文字列です。同じデータを2回暗号化すると、IVが異なるため、異なる暗号文が得られます。これは、部分的に同じ長さの2つの暗号文しか表示できない人が、暗号文が同じかどうかを検出できないようにするためです。ほとんどのツールは、復号化に必要なすべてのデータが1箇所にあるように、暗号文の前にIVを追加します(もちろん、キーは除く)。
OpenSSLコマンドラインツールは、16バイトのヘッダー、IV、およびパスワードのテキストを含むファイルを生成します。この形式はOpenSSLにのみ適用されますが、プラットフォームによっては変わりません。
OpenSSLのコマンドラインは、本番クラスのコマンドラインツールではなく、ライブラリで可能なタスクを表示するのに役立つことがあります。私はそれを使用することをお勧めしません。間違えやすく、回復不能または安全でないデータで終わる可能性があります。さらに、OpenSSLはキー管理には役立ちません。
代わりに、ファイルを暗号化するように設計されたツールを使用してください。GPGこの目的のために設計されています。鍵ペアを生成して使用します。gpg -e [email protected] /path/to/file
答え2
AES暗号化とフォーマットNIST仕様。互換性が実装されている限り、プラットフォーム全体でファイルにアクセスできると仮定するのは安全です。