全1676文字
PR

 広く使われてきた「PPAP」を禁止する企業が増えている。ここでのPPAPとは、ファイルをパスワード付きZIPファイルにしてメールで送信し、そのパスワードを別のメールで送るファイル共有方法のこと(図2-1)。ファイルは暗号化しているので、誤送信対策や盗聴防止に役立つとされていた。だが実際には効果がないことが明らかになり、禁止する企業が相次いでいる。

図2-1●パスワード付きZIPファイルとパスワードを別送
図2-1●パスワード付きZIPファイルとパスワードを別送
いわゆる「PPAP」のイメージ。PPAPは、ファイルをパスワード付きZIPファイルにしてメールで送り、同じようにパスワードをメールで追送するファイル共有方法。「パスワード付きZIPファイルを誤送信しても、パスワードが分からなければ相手はファイルを復号できないので、情報漏洩を防げる」という理由で使われている。
[画像のクリックで拡大表示]

 効果のない理由の1つとして、「パスワードが分からなくてもパスワード付きZIPファイルを解読できる」ことが挙げられる。パスワード付きZIPファイルを入手した第三者は、いくらでも時間をかけて解読できるからだ。

 実際はどうなのだろうか。高速演算処理が可能なクラウドサービスを利用して、パスワード付きZIPファイルの解読に挑戦した。

GPUを搭載したサーバーで解読

 実験では、米アマゾン・ウェブ・サービスのクラウドサービスAWSを利用した(図2-2)。AWSなら演算能力の高いGPUを搭載したサーバーを低価格で利用できるからだ。パスワードの解読には、GPUを多数搭載したコンピューターが向いているといわれている。

図2-2●AWSを使って解読に挑戦
図2-2●AWSを使って解読に挑戦
今回実施した実験のイメージ。まずドキュメントファイルを圧縮ソフト「7zip」でパスワード付きZIPファイルにする。そしてそのファイルをクラウドサービスのAWSにアップロードして、「hashcat」および「JohnTheRipper」というツールで解読を試みた。
[画像のクリックで拡大表示]

 具体的には「NVIDIA Tesla V100」というGPUを搭載したサーバーを使った。GPUが1基でGPUメモリーが16Gバイトの環境(p3.2xlarge)なら、1時間当たりわずか3.06ドル(オンデマンド料金の場合)で利用できる。

 パスワード付きZIPファイルは、「7zip」というオープンソースの圧縮ソフトで作成した。7zipは「ZipCrypto」と「AES-256」という2種類の暗号化方式に対応する。ZIPファイルの暗号化には、ZipCryptoのほうがよく使われているようだ。

 パスワードの解読には、「hashcat」と「JohnTheRipper」というツールを組み合わせて使った。どちらもネットで入手できる無料のツールである。