ファイル名を暗号化してディレクトリを圧縮する方法は?


17

コマンドラインを使用して、次のコマンドでディレクトリを暗号化できることを知っています。

zip -er Directory.zip /path/to/directory

ただし、これはファイル名自体を暗号化しません。誰かが実行した場合:

unzip Directory.zip

間違ったパスワードを繰り返し入力すると、unzipコマンドは、正しいパスワードが入力されるまで、含まれているすべてのファイル名をループします。サンプル出力:

unzip Directory.zip 
Archive:  Directory.zip
   creating: Directory/
[Directory.zip] Directory/sensitive-file-name-1 password: 
password incorrect--reenter: 
password incorrect--reenter: 
   skipping: Directory/sensitive-file-name-1  incorrect password
[Directory.zip] Directory/sensitive-file-name-2 password: 
password incorrect--reenter: 
password incorrect--reenter: 
   skipping: Directory/sensitive-file-name-2  incorrect password
[Directory.zip] Directory/sensitive-file-name-3 password: 
password incorrect--reenter: 
password incorrect--reenter: 
   skipping: Directory/sensitive-file-name-3  incorrect password

等々。

コマンドラインを使用して、ファイル名自体を暗号化または非表示にしつつ、暗号化を使用してディレクトリを圧縮する方法はありますか?

ありがとうございました。


zipのデフォルトの暗号化は脆弱であるため7zip、おそらくAESベースの暗号化を使用するため、使用しない方がよいでしょう。
ピアース

zipのデフォルトの暗号化とは何ですか?また、zipのデフォルトの暗号化が安全でないと断言するためのソースは何ですか?
レオGalleguillos

1
ほとんどのzipツール(より優れた暗号を使用する新しいzipツールがいくつかあります)は、1994年に最初に脆弱であることが示されたPKZIP Stream暗号を使用しています:rd.springer.com/content/pdf/10.1007%2F3-540-60590-8_12 .pdfウィキペディアのページには基本的な概要が記載されています:en.wikipedia.org/wiki/Zip_(file_format)#Encryption
Pierz

回答:


24

zipファイルでは、ファイルの内容のみが暗号化されます。ファイル名を含むファイルメタデータは暗号化されません。これはファイル形式の制限です。各エントリは個別に圧縮され、暗号化されている場合は個別に暗号化されます。

代わりに7-zipを使用できます。メタデータの暗号化をサポートしています(-mhe=onLinuxコマンドライン実装を使用)。

7z a -p -mhe=on Directory.7z /path/to/directory

すべての主要なオペレーティングシステムとほとんどのマイナーなシステムに7zipの実装がありますが、追加のソフトウェアのインストールが必要になる場合があります(IIRC Windowsは最近暗号化されたzipファイルを解凍できます)。復号化に7zが必要な場合は、最初にzipを使用してディレクトリを1つのファイルにパックし、次にそのファイルを暗号化することによってのみzipに依存できます。それを行う場合、個々のファイルの圧縮をオフにし、外側のzipにzipファイルを圧縮するように指示すると、全体的に圧縮率が向上します。

zip -0 -r Directory.zip /path/to/directory
zip -e -n : encrypted.zip Directory.zip

1
おそらく最高のは、暗号化するために、郵便番号を使用しないようにする- 1は、2行目に、より安全に暗号化(AES)zipファイルを生成するために、7zipを使用することができます:7z a -p -tzip encrypted.zip Directory.zip
Pierz

2

お気に入りのツールを使用してアーカイブを作成し、それを使用bcryptして暗号化/復号化を実行できます。

A)暗号化されたファイルを作成するには:

tar -czf Directory.tgz /path/to/directory
bcrypt Directory.tgz

これにより、Blowfishで暗号化されたファイルが作成されます Directory.tgz

B)このプロセスを逆にするには:

bcrypt Directory.tgz.bfe
tar -xf Directory.tgz

2
アプローチは優れていますが、暗号化には別のツールを使用する必要がありますbcrypt。暗号化されたデータの構造を明らかにするEBCを使用します。詳細については、Debianバグ#700758を参照してください(Debian bcryptは結果として復号化のみをサポートしています)。
スティーブンキット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.