なんかの資料をメールで送る際に行われるジャパニーズ儀式、パスワード付きZIPファイル
意外と知られていないけれども、実は中身は一部見れてしまうという仕様がある。
知っている人には常識ではあるかもしれない。
僕も長い間その様にすごしてきていたが、その仕組みについて共通認識を持てて無かったことに気づき、改めて周知する意味も込めてブログを書く。
あと、本文に関係ないけれど、そもそもメールでファイルの中身の概要とか書いたりしているのに、ファイルだけパスワード付きにする意味ってあるのだろうか。
だったら通信時にTLSと、メールにS/MIMEで署名して、ファイルとして送らずコントロールしやすいクラウド経由で共有とかすればいいのに。。。
閑話休題
ではどんなふうに中身がみれるかやってみよう
なお、これからでてくる画像の中でノイズが激しいようなものがいくつがあるが、それはワザとだ。なぜなら画像をキャプチャしたは良いが、ターミナルがスケスケだったため、別にバレても問題はないんだが、見ていたサイトの文章とかばっちりのっていたので恥ずかしいのでちょっとノイズかけて見えなくさせたのだ。
パスワード付きZIPを作ってみる

さて上記のファイルをパスワード付きで圧縮してみよう
zipコマンドでは -re オプションでディレクトリの中を再帰的に圧縮しつつ(f) パスワードをかけてくれる(e)

中身を見てみよう
コレをバイナリエディタで開いてみるとファイル名の部分は暗号化されずに残っている

unzipコマンドでも-Zオプションを使えば解凍せずに中身を見えることができる

パスワードを求められることなく中身を見ることができた。
解凍するときにはパスワードが必要で、ファイルの中身はパスワードがないとわからない
解凍には当然パスワードが必要で、unzipコマンドを実行すると対話式にパスワードを聞いてくる
コレを全部まちがえるようにするとおせっかいなことにファイル名を一つずつ見せながらパスワードを個別に聞いてきてくれる

というわけで、パスワード付きzipでもファイル名は丸見えなので、そこらへんは気をつけて使ってね。
そしてパスワード付きのZIPでも一度手にしてしまえば何度でも再試行ができてしまうので、基本的には通信の暗号化と、ちゃんとした仕組みでの署名と暗号を施して、ファイル自体を手に入れられないようにしたほうが良いと思う