web-dev-qa-db-ja.com

ファイルを暗号化するにはどうすればよいですか?

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

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

最初にRas Pi内のファイルを暗号化し、次にダウンロードします。どうやってやるの?

10
drpaneas

opensslを使用すると、鍵ベースの対称暗号を使用して暗号化および復号化できます。例えば:

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

これは、256ビットを使用してfoo.barfoo.bar.encに暗号化します(上記のようにstdoutをリダイレクトする代わりに、-outスイッチを使用して出力ファイルを指定できます) [〜#〜] aes [〜#〜][〜#〜] cbc [〜#〜] モードの暗号。他にもさまざまな暗号が利用できます(man encを参照)。その後、コマンドはパスワードの入力を待ち、それを使用して適切なキーを生成します。 -pでキーを確認するか、-Kでパスワードの代わりに独自のキーを使用できます(実際には 初期化ベクトル またはソースが必要であるため、それよりも少し複雑です) 、もう一度man encをご覧ください)。パスワードを使用する場合は、同じパスワードを使用して復号化できます。生成されたキーを確認したり保持したりする必要はありません。

これを解読するには:

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

-dに注目してください。 man opensslもご覧ください。

22
goldilocks

1回限りのケースでは、Zipとパスワードを使用して暗号化できます。キーベースの手法ほど強力ではありませんが(適切なパスワードを取得するのは難しいため)、おそらくその場限りの状況です。

コマンドラインは次のようになります。

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

-r to recurse directories.
-e to encrypt
4
Hogan