対象OS:Windows 7/Windows 8.1/Windows 10/Windows Server 2008/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2
Windows OSにおけるファイルの圧縮形式としては、ZIP形式(.ZIPファイル)が広く利用されている。現在のWindows OSではZIP形式は標準ファイル形式としてエクスプローラーなどでもサポートされているため、利用しているユーザーも多いことだろう。ファイルやフォルダをバックアップする場合だけではなく、メールでファイルを送信する場合など、広く利用できる。
ZIP形式には、ファイルを1つにまとめて圧縮するだけでなく、パスワードを付けて内容を保護する暗号化機能も用意されている。「パスワード文字列」を指定するだけで、簡単に暗号化/復号(解凍)できるし、NTFSファイルシステムの暗号化機能と違って、ファイルシステムも選ばない。
メールなどでファイルを送信する場合は、情報漏えいを防ぐため、パスワードを付けて内容を保護しておくのが望ましい。メールの宛先間違いやネットワークの盗聴、PCの盗難などによってメールやZIPファイルが漏えいしても、内容を知られる危険性が低くなるからだ。
しかし現在のWindows OSでは、その標準機能だけでZIPファイルの復号はできるものの、パスワード付きZIPファイルの作成(暗号化)はできない。本TIPSでは、フリーウェアを用いてZIPファイルにパスワードを付ける方法について解説する。
■記事内目次
たくさんある暗号化ZIP対応のアーカイバーのうち、本TIPSではIgor Pavlov氏の「7-Zip」(英語サイト、日本語サイト)というフリーウェアを紹介する。このツールは企業でも無償利用が可能であり、ユーザーインタフェース(UI)も日本語化されている(ヘルプとインストーラーのUIは英語表記)。ZIP形式だけでなく、GZIPやTAR、RAR、LZHといった他の圧縮形式(の解凍)もサポートされている。
可能な操作 | サポートする拡張子 |
---|---|
圧縮/解凍可能 | 7z/BZIP2/GZIP/TAR/WIM/XZ/ZIP |
解凍のみ可能 | AR/ARJ/CAB/CHM/CPIO/CramFS/DMG/ EXT/FAT/GPT/HFS/IHEX/ISO/LZH/LZMA/ MBR/MSI/NSIS/NTFS/QCOW2/RAR/RPM/ SquashFS/UDF/UEFI/VDI/VHD/VMDK/XAR/Z |
7-Zipが対応する圧縮形式(拡張子) |
7-Zipをインストールするには、まず7-ZipのWebサイトからインストーラーをダウンロードする。
上記Webページ冒頭にあるインストーラー一覧表から、インストール先のWindows OSに合わせて「32ビット x86」か「64ビット x64」どちらかのインストーラーをダウンロードする。前者ならファイル名は「7z<バージョン番号>.exe」、後者なら「7z<バージョン番号>-x64.exe」のはずだ。
次に、ダウンロードしたインストーラーを起動し、インストールウィザードの指示に従ってインストールを完了させる。このとき特に設定を変更する必要はない(必要ならインストール先のパスを変更できる)。再起動(restart)を求めるダイアログが表示されたら、指示に従ってシステムを再起動すること。
インストールしたら、エクスプローラーでアーカイブファイルまたは圧縮対象ファイルを右クリックしてみよう。表示されたメニューに[7-Zip]という項目が加わっているはずだ。ここから[開く]や[展開][圧縮]を選ぶと7-Zipによる圧縮・展開ができる。
インストール直後、もし右クリック時に表示される7-Zipの拡張メニューが英語で表示されたら、スタートメニューまたはスタート画面から「7-Zip File Manager」を探して起動し、すぐ終了してログオフし、再びログオンし直すこと。
暗号化ZIPファイルを作成するには、まず暗号化したいファイルをエクスプローラーで選択して右クリックし、コンテキストメニューから[7-Zip]−[圧縮]をクリックする。
7-Zipの「ファイル圧縮」というダイアログが表示されたら、以下の画面のようにZIPファイル名やパスワード、オプションを指定する。
Windows OSの標準機能で復号できるようにするには、次のように特定の設定をする必要がある。
設定項目名 | 設定内容と注意点 |
---|---|
書庫形式 | [zip]を選ぶ |
圧縮レベル | [標準]を選ぶ(試した限りでは[超圧縮]でも復号できたが、[標準]が無難だろう) |
圧縮方式 | [Deflate]を選ぶ(試した限りでは[Deflate64]でも復号できたが、[Deflate]が無難だろう。[BZip2][LZMA][PPMd]では解凍不可) |
パスワード入力 | 暗号化のためのパスワードを、半角の英数字・記号で指定する(日本語はエラーになる)。最低でも16文字以上で、類推されにくい文字列を指定する(詳細は後述) |
暗号化方式 | [ZipCrypto]を選ぶ |
Windows標準機能で復号するのに必要な7-Zipの圧縮時の設定 |
以上で暗号化ZIPファイルの作成作業は終了である。エクスプローラーで見ると、暗号化されていないZIPファイルとは見分けが付かない(開くと暗号化の有無が確認できる。詳細は後述)。
以後、このZIPファイルはパスワードが付けられた状態(暗号化された状態)になり、パスワードを指定しないと中のファイルは取り出せない。
しかし暗号化された状態のまま、ZIPファイルをコピーしたり、メールに添付して送信したりすることは可能である(ZIPファイルの送り方については後述)
なお、暗号化されていない通常のZIPファイルを後から暗号化することはできない。この場合は、いったん展開してから暗号化ZIPファイルを作り直す必要がある。
暗号化ZIPで特に注意すべきなのは、単一のアーカイブファイル内に暗号化済みファイルと暗号化されていないファイルが同梱できてしまうという点だ。アーカイブファイル全体でまるごと暗号化されているわけではない、ということでもある。
例えば上記の手順で新たに作成した暗号化ZIPファイル(アーカイブファイル)に対し、後からファイルを追加すると、その追加ファイルは暗号化されずに格納される。つまり、パスワードを知らなくても、その追加ファイルはZIPファイルから抽出・閲覧できてしまう。
ZIPファイルに格納されている各ファイルが暗号化されているかどうかは、エクスプローラーで暗号化ZIPファイルを開き、[表示]の形式を[詳細]にしてみると表示される。暗号化方式にかかわらず、ZIPファイルならWindows標準のエクスプローラーで暗号化の有無が確認できる。
上の画面は、後から「補足の補足.docx」というファイルをドラッグ&ドロップでZIPファイルに追加したところだ。このファイルのみ[パスワード保護]が[無]、すなわち暗号化されていない(パスワードが付いていない)ことが分かる。
だがこのファイルだけを選んで暗号化する(パスワードを付ける)ことはできない。この場合は、後述の手順に従って、いったん暗号化を解除し(パスワードを外し)、あらためてパスワードを付け直す必要がある。1つのファイルだけを選んでパスワードを付けたり外したりすることは、エクスプローラーでも7-Zipでもできないようだ。
暗号化ZIPファイルからファイルを取り出すには、通常のZIPファイルの場合と同様、エクスプローラーで暗号化ZIPファイルを開いて、その中の対象ファイルをダブルクリックするか、またはドラッグ&ドロップやコピー&ペーストする。
するとパスワードを入力するダイアログが表示されるので、暗号化の際に入力したパスワードを指定する。
この取り出し手順は7-Zipをインストールしていなくても、Windows OSの標準機能だけで実行できる。
ここで不思議に思われるかもしれないが、エクスプローラーで暗号化ZIPファイルをダブルクリックして開くと、パスワードを指定しなくても、ZIPファイルに含まれるファイル名の一覧が表示される。
もしZIPファイル中にフォルダが含まれている場合は、それも開くことができるし、エクスプローラーのツリー表示形式を使えば、フォルダの階層構造を表示させることも可能である。
つまり、暗号化されていても、ファイル名やフォルダ名は何の制限もなく見ることができる(ファイルの中身自体は読み出せない)。そのため、ファイル名そのものを秘匿したいような場合には、これでは不十分なので注意していただきたい。
対策としては、7-Zipであれば「7z」というアーカイブ形式で、ファイル名の暗号化を有効にしつつ暗号化すれば、ファイル名を秘匿できる(ただしWindows OSの標準機能では展開できなくなるので注意したい)。
ZIP形式のまま秘匿したければ、無意味なファイル名に変えてから暗号化してもよい。また、作成したZIPファイルを新たな別のZIPファイルに入れ(ネストさせる)、外側のZIPファイルを暗号化するという手もある。ただしZIPをネストしたアーカイブファイルは、ウイルス対策ソフトウェアやスパムフィルタにブロックされる場合もあるので気を付けたい。
暗号化を解除し、暗号化されていない状態のZIPファイルにするには、エクスプローラーでZIPファイルを開いてから、右ペインの何もない所を右クリックし、表示されたメニューから[暗号化解除]を実行する。
するとZIPファイル全体の暗号化が解除され、どのファイルへも自由にアクセスできるようになる。ここで特定の1つのファイルだけ暗号化を解除することはできない(必ずZIPファイル全体の暗号化が解除される)。
この解除手順は7-Zipをインストールせずとも、Windows OSの標準機能だけで実行できる。
1つのZIPファイルに、暗号化されたファイルとそうでないファイルが混ざっている場合でも、この暗号化解除の操作を行うと、全ファイルの暗号化が解除される。
Windows OSに組み込まれているZIPファイルの暗号化アルゴリズムはあまり強度のあるものではない。パスワードを見破って暗号を解除してしまうツールやサービスも出回っている。そのため、安全性を過信しない方がよい。本当に重要なファイルなら別の手段で保護すべきだ。
その上で安全性を高めるには、パスワードを簡単に類推されないよう、最低限、次の条件を全て満たすような文字列を指定しよう。
辞書に載っている単語を使わず、まったくランダムなパスワードを生成するには、「増え続けるWebサイト用ID/パスワードを管理する(クラウド編)」の「ランダムなパスワードを自動生成できる」のようにツールを利用するという手もある。
せっかくメールへの添付時にZIPファイルを暗号化しても、その解読用パスワードを同じメールに記載したら、そのメール単体が漏えいしただけで、あっさりとその暗号化ZIPファイルは解読されてしまう。
では、パスワードを暗号化ZIPファイルとは別便のメールで送れば安全かというと、そのメールが相手に届くまでの通信路上で誰かに覗き見されたり、あるいは相手のメールボックスそのものが何者かによって監視されたりしていると、比較的容易に暗号化ZIPファイルは復号されてしまうだろう。
そのため、暗号化ZIPファイルとそのパスワードは別々の媒体(メディア)で送信するのが望ましい。例えば、暗号化ZIPファイルはOneDriveやGoogleドライブ、Dropboxといったオンラインストレージのファイル公開・共有機能で相手に渡しつつ、パスワードはメールで送信する、という方法がある。これだとメールに添付できない大きなデータでも送付できる。具体的な手順については、次のTIPSが参考になる。
パスワードの送信については、各種コミュニケーションツールやSNSのダイレクトメッセージ機能(特定の相手だけとメッセージをやりとりする機能)も利用できる。
ただ、いくら媒体を別々にしても、それぞれの媒体が同時に監視されていたら、やはり暗号化ZIPファイルが何者かに解読されてしまう、という危険性は残る。「媒体を分ければ絶対安全」などと過信すべきではない。
■更新履歴
【2018/01/22】Windows 10について追記しつつ、スクリーンショットを刷新しました。またサポートの終了したWindows XP/Vista/Server 2003に関する記述を削除しました。
【2013/11/29】Windows 8/8.1/Windows Server 2012/2012 R2に関する記述を追加しました。
【2013/10/01】コンピュータの計算速度すなわちパスワード解析速度の向上に伴い、*1に記載しているパスワードの長さの情報を見直しました。
【2011/05/20】Windows 7/Windows Server 2008 R2などで、フリーウェアのアーカイバー「7-Zip」によるパスワード付きZIPファイルの作成手順などを追加しました。
【2005/11/26】初版公開(対象はWindows XP/Windows Server 2003)。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.