ファイルを暗号化する方法は?

ファイルを暗号化する方法は?

私のサーバーからラップトップにいくつかのファイルをダウンロードしたいと思います。問題は、この通信ができるだけプライベートで安全になりたいということです。これまで、私はラップトップのインターネットトラフィック全体をサーバーにリダイレクトできるようにVPNを使用する方法を考えてきました。さらに、ftpを使ってファイルを転送すると同時にWiresharkを見てみました。通信が暗号化されているようですが、ファイル自体も暗号化したいです(2段階のセキュリティなどで)。

私のサーバーはRaspbianを実行しているRasPiです。私のラップトップはMacBook Airです。

まず、Ras Piのファイルを暗号化してからダウンロードしたいと思います。どうすればいいですか?

答え1

openssl暗号化と復号化にはキーベースの対称パスワードを使用できます。たとえば、

openssl enc -in foo.bar \
    -aes-256-cbc \
    -pass stdin > foo.bar.enc

これは256ビット暗号化を使用します(foo.bar上記のようにstdoutをリダイレクトするのではなく、スイッチを使用して出力ファイルを指定できます)。foo.bar.enc-outAESパスワード入力カナダ放送公社モデル。さまざまな異なるパスワードを使用できます(参考資料を参照man enc)。その後、コマンドはユーザーがパスワードを入力し、それを使用して適切なキーを生成するのを待ちます。次のコマンドを使用してキーを表示したり、パスワードの-p代わりに自分のパスワードを使用することができます-K(実際にはパスワードより少し複雑です)。初期化ベクトルまたは、ソースが必要な場合はman encもう一度確認してください。)パスワードを使用している場合は、生成されたキーを表示または保存しなくても同じパスワードを使用して復号できます。

これを解読するには:

openssl enc -in foo.bar.enc \
    -d -aes-256-cbc \
    -pass stdin > foo.bar

参考にしてください-d。また見てくださいman openssl

答え2

ワンタイムケースでは、暗号化にzipとパスワードを使用できます。キーベースの技術ほど強力ではありませんが(正しいパスワードを持つことは難しいため)、特別な状況に適している可能性があります。

コマンドラインは次のとおりです。

zip -r -0 -e encrypted_file.zip /path/to/files

-r to recurse directories.
-e to encrypt

答え3

@goldilocksの回答を少し修正しました。

暗号化

openssl enc -in foo -aes-256-cbc -pbkdf2 -out foo.enc

違い:

  1. 引数を省略すると、-pass stdin「aes-256-cbc暗号化パスワードを入力してください:」というメッセージが表示され、コンソールにパスワードを表示せずにパスワードを入力できます。
  2. デフォルトの反復アルゴリズムを使用し、PBKDF2「***警告:廃止されたキー派生が使用されました。-iterまたは-pbkdf2を使用することをお勧めします」という警告を抑制します。

復号

openssl enc -d -in foo.enc -aes-256-cbc -pbkdf2 -out foo.plain

関連情報