暗号化と圧縮


28

tar後に続くopensslまたは以外のファイルを圧縮してから暗号化するより良い方法はありますかgpg


3
場合によります。あなたの要件は何ですか?「ベスト」をどのように定量化していますか?利用可能なツールは何ですか?言及するのに役立つかもしれない他のオプションをすでに検討しましたか?
グレッグヒューギル

他を考慮していません。誰かがファイルの内容を読み取れない基本的な暗号化が必要なだけで、できれば良好な圧縮率を維持してください。
user75027

1
一般的に答えはノーになります。UNIXの基本的な哲学の1つは、「1つのことを実行し、それをうまく実行する」ことです。tar -z非常に一般的な方法であるため、わずかな例外です。
パトリック

1
新しいtarバージョン-Jは、従来のgzip(-z)またはbzip2(-j)圧縮よりも圧縮率が通常優れているxz圧縮(flag )をサポートしています。
ジョフェル

私はそれxzが素晴らしいことに気づきました。カーネルをダウンロードしたことを覚えていますが、カーネルは元のサイズの約1/7に圧縮されています。tar cvJf out.tar.xz file1 [file2...]暗号化するにはgpgまたはopensslを使用します。また、xzが非常に高速であることにも気付きました。どのようにbz2よりも優れた圧縮を達成し、それでも高速ですか?
user75027

回答:


24

tarファイルをバンドルする通常のツールです。プレーンtar自体は圧縮されません。1つのファイルを圧縮するgzipbzip2、およびxz(一般的なファイルの圧縮率の昇順)などの個別のツールがあります。tarGNU tar(Linuxでの通常の実装)を含む多くの実装は、オプション(-zgzip、-jbzip2、-Jxz)で自動的に圧縮できます:

tar -cJf myarchive.tar.xz file1 file2 file3

ファイルを暗号化するには、gpgを使用します。キーを作成し、それをメールアドレスに関連付けます(GPG / PGPキー識別子には通常、メールアドレスが含まれますが、必須ではありません)。メールを受信者として指定して、ファイルを暗号化します。ファイルを復号化するには、パスフレーズを入力して秘密鍵のロックを解除する必要があります。

GPGでは、パスワードを使用してファイルを暗号化することもできます。これは、安全性と柔軟性が劣ります。暗号化時にパスワードを指定する必要があるため、柔軟性が低くなります(たとえば、無人バックアップを作成できません)。キーベースの暗号化ではパスワードとキーの間でセキュリティが分割されるのに対して、セキュリティはパスワードのみであるため、安全性は低下します。

opensslコマンドラインツールを使用しないでください。OpenSSLライブラリのショーケースであり、本番用に設計されたものではありません。いくつかのことを行うことができますが(特に、基本的な証明機関に必要なすべてのプリミティブを備えています)、正しく使用するのは難しく、正しいことを行うために必要なすべてがありません。GPGが自転車を提供する場合、OpenSSLはさまざまなサイズの金属棒といくつかのゴム製チャンバー(ネジとポンプは含まれていません)を提供します。GPGを使用します。


私はtarをバンドラーおよび圧縮方法として理解しています。しかし、gpgキーは私にとって新しいものです。私はキーを持っていますが、私はそれを使用する方法を正確に理解していません。おもう。sshキーもあると思います。
user75027 14

これは私が1つのコマンドで(使用して圧縮および暗号化するために探していたものであるtargpgのパイプに)。
CGFoX

12

7zipを使用できます:

7z a -p -mhe=on stuff.7z MyStuff
   ^  ^     ^      ^        ^
   |  |     |      |        `--- Files/directories to compress & encrypt.
   |  |     |      `--- Output filename
   |  |      `--- Encrypt filenames
   |  `---- Use a password
   `---- Add files to archive

パスワードの入力を求められます。どうやら、暗号化にAES-256を使用し、パスワードのSHA-256とキーの導出に512K回繰り返されるカウンターを使用しているようです

編集:これはファイル名を暗号化しないので、tarとにかくすべてを最初にしたいかもしれません。

編集2:追加-mhe=on


5
使用7zaする場合、-mhe=onオプションでファイル名を暗号化できます。
SilverlightFox

3

したがって、7zip暗号化ファイル名も使用できます。

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