優れたファイル暗号化ツールを見つけるのを手伝っていただけませんか?ターゲットOSはLinuxですが、Windows用のツールも大歓迎です。 FOSSツールが推奨されます。このツールは、元のデータの復元(復号化時)とセキュリティの面で信頼性が高くなければなりません。暗号化されたファイルは、自分だけが使用するものです。
ツールにbcrypt、scrypt、またはKeePassで使用されているような低速またはリソース集約型のパスワード導出スキームがあった場合、それは非常に素晴らしいことです。
ノート:
追加の質問:暗号化されたファイルをオンラインで自由に利用できることを考えると、いくつかの問題が発生します(たとえば、計算能力の進化)。 (暗号化自体以外に)他にどのようなセキュリティ対策を講じることを勧めますか(例:パスワード/キーの長さ、ツール構成など)?
暗号化されたファイルは圧縮できないため、暗号化を配置するのに最も役立つのは圧縮プログラムです。そうすれば、コンテンツを圧縮してthen暗号化できます。
最新のツールは一般に、AESなどの入念に検証されたアルゴリズムを使用します。悪いアルゴリズムを使用するため、従来のZip暗号化は避けてください。 7-Zipは、FOSS、クロスプラットフォーム、および非常に広く認識されているため、優れたツールです。これは256ビットのAESを使用します。これは現在、ブルートフォース攻撃が最も効率的な攻撃アルゴリズムであるほど「破壊不可能」です。
暗号化を含む7-Zipは、GNOMEの組み込みアーカイブマネージャーに統合でき(すでにインストールされている場合もあります)、プロセス全体が大部分が透過的になります。 p7Zip
コマンドは、コマンドラインアクセスを処理します。ファイル拡張子は.7z
Truecrypt は評価され広く使用されていますが、その使用法のほとんどはディスクの暗号化に使用されます。単一ファイルに関心がある場合は、単一ファイルにTruecryptを使用する方法を調査するか、別のオプションとしてGnuPGを使用します。
「GnuPGはボリュームと個別のファイル暗号化ツールであり、ダースの暗号化スキーム、ペアのキー、および期限切れの署名をサポートしています。GnuPGは、ローカルファイルの暗号化を確実に提供するだけでなく、ペアの暗号化と公開鍵サーバーのおかげで、暗号化された通信のための優れたツール
GnuPGはコマンドラインで使用され、これが基本です:
ファイルを暗号化:
$ gpg -c file_name.ext
-cオプションは、対称暗号で暗号化します。
ファイルの復号化:
$ gpg file_name.ext.gpg
どちらもLinux、Windows、Macで動作します。
オンラインで利用できるようになる暗号化ファイルについては、TruecryptまたはGnuPGによる安全な暗号化で十分です。
ファイルに含まれる機密データが暗号化だけでは不十分な場合は、シナリオについてさらに詳しく説明し、それらを保護するためのより広範な方法を提供します。
更新:TrueCryptはメンテナンスされておらず、安全であるとは見なされていません。
警告:TrueCryptを使用すると、未修正のセキュリティ問題が含まれる可能性があるため、安全ではありません
このページは、TrueCryptによって暗号化された既存のデータを移行するためにのみ存在します。
TrueCryptの開発は、MicrosoftがWindows XPのサポートを終了した後、2014年5月に終了しました。 Windows 8/7/Vista以降では、暗号化されたディスクと仮想ディスクイメージの統合サポートが提供されています。このような統合サポートは、他のプラットフォームでも利用できます(詳細については、ここをクリックしてください)。 TrueCryptで暗号化されたデータはすべて、プラットフォームでサポートされている暗号化されたディスクまたは仮想ディスクイメージに移行する必要があります。
ファイルの暗号化には、GPGを使用します。それは暗号学者によってよく吟味されており、ある意味でファイル暗号化のゴールドスタンダードです。
--s2k-count N
を使用して、パスフレーズから暗号鍵を生成するプロセスを制御できます。ここで、Nは、パスフレーズハッシュを繰り返す回数です。いくつかの異なる値を試して、マシンでGPGがそれぞれにかかる時間を計り、十分に遅い値を選択することをお勧めします。残念ながら、私の理解を超える理由により、選択できる数には上限があります。
たとえば、私のマシンでは、
gpg -c --force-mdc --s2k-count 65011712 foo.txt
うまく動作します。
非常に複雑なパスワードを使用しない限り、単純なパスワードベースの対称暗号化は、状況に適した方法ではありません。その理由は、AESなどの強力な対称暗号化を使用していても、パスワードはオフラインのブルートフォース攻撃の影響を受けるためです。
つまり、AES 128のパスワード強度の説明では、128ビットのキーファイルを想定しています。 128ビットのランダムキーのエントロピーを持つパスワードの場合、印刷可能なすべてのASCIIの完全にランダムに生成されたパスワードが少なくとも20文字必要です。
例えば。、
#vM.SoLZpH3fLH%@Wz%G
http://en.wikipedia.org/wiki/Password_strength
これが、ランダムに生成された鍵ファイルを使用し、それを(より低い)パスワードで暗号化する理由です。次に、暗号化されたデータをオンラインに置くことができます。誰かが暗号化されたキーファイルを持っていない限り、彼らはあなたに対してブルートフォースを試みることさえできません。
キーファイルのバックアップを非常に安全な場所に保管してください。
PGP/GnuPGはこれを行う正しい方法です。キーファイルはあなたの秘密鍵です。
Truecryptはキーファイルもサポートしており、合理的でより専門的な代替手段です。
また、opensslを使用して単一のファイルを暗号化し、以下を暗号化することもできます。
openssl aes-256-cbc -a -salt -in plain_text.txt -out ciphered_text.enc
このコマンドを入力すると、opensslは、パスワードを作成して復号化するように要求します。
openssl aes-256-cbc -d -a -in ciphered_text.enc -out plain_text.txt
このコマンドは、前のステップで作成したパスワードを要求します。使用する暗号化アルゴリズムを指定することもできます。この場合は「aes-256-cbc」です。