ZIPパスワードの設定方法と安全性の高いパスとは

友人にZIPフォルダを渡すとき、職場の資料などをまとめたZIPフォルダを取引先に送るときなど、ZIPフォルダにパスワードを掛けたいと思う場面は日常でも意外と多いのではないでしょうか。ZIPにパスワードを設定する、というのは、それほど難しくありません。
今回はZIPにパスワードを設定する方法と、安全性の高いパスワードの作り方について解説します。

目次


ZIPファイルにパスワードを設定する


WindowsOSの種類とZIPパスワード設定


ZIPファイルにパスワードをかける場合ですが、Windowsの標準機能ではパスを設定することができません。WindowsXP/Windows Server 2003時代のWindowsOSでは、Windowsの標準機能でZIPにパスワードを設定することができたのですが、なぜかWindowsVista以降では、ZIPファイルにパスを設定することができなくなりました。

OSの種類ZIPの作成ZIPの暗号化ZIPの解凍
WindowsXP可能可能可能
WindowsVista可能不可可能
Windows7可能不可可能
Windows8可能不可可能

そのため、WindowsVista以降のOSを使っている方は、基本的にはZIPファイルにパスワードをかけるためには何らかのフリーソフトなど、ツールを使う必要があります。

LhaplusでZIPを暗号化する


LhaplusというZIPファイルの圧縮・解凍ソフトを用いてZIPにパスワードをかけることが可能です。Lhaplusをインストールして、ZIPファイルとの関連付けの設定を行うと、フォルダを右クリックしたときのメニューのなかに、以下のように「解凍」と「圧縮」が表示されるようになります。

 
WS000539
 

この右クリックメニューで「圧縮」⇒「.zip(pass)」を選択すると、任意の文字列をパスワードとして指定することができます。セキュリティを重視するのであれば、10文字以上の長めの文字列を設定しておく必要がありますが、万が一、忘れたときに自分で解析できる程度の長さにしておきたいのであれば、6~8文字で大丈夫です。
安全性の高いパスワード設定の方法については後述します。

 
WS000540
 

Lhaplusの右クリックメニューに「圧縮」が表示されない場合


前述のようにフリーソフトLhaplusをインストールすると、フォルダを指定して右クリックするだけで、右クリックメニューに「解凍」と「圧縮」が表示されるようになります。しかし一部のWindows7の環境では、初期状態では右クリックメニューに解凍と圧縮が表示されないケースがあるようですね。私のパソコンでも最初は表示されませんでした。

理由としてはLhaplusに同封されているdllが32bitのOSにしか対応していないようで、64bitOSだと初期状態では右クリックメニューに「圧縮」「解凍」が表示されなくなってしまうみたいですね。解決方法としては簡単で、以下のページで公開されているLhaplusの64bit版Windows用シェル拡張パッチを適用すればいいようです。

Lhaplus x64 shell extention (Shark++ Software’s Web Page)
http://www.sharkpp.net/soft/tool/lhaplus-x64-shell-extension.html

こちらのダウンロードで LplsShlx64-v1.0.1.0.zipを入手して解凍します。すると、なかに「install.cmd」というファイルがあります。これを管理者として実行すればOKです。勝手にコマンドプロンプトが起動して、拡張シェルが適用されます。

 
WS000541
 

この画面で、yを押してEnterキーを押すと、以下の画面になります。拡張dllの適用手順はこれだけで大丈夫です。あとは好きなフォルダを右クリックしてみると
「拡張」「圧縮」メニューが表示されるようになっているはずです。

 
WS000542
 

ちなみにその他にも、Explzh for Windowsというソフトを利用したり、7zipというソフトを使ってZIPフォルダにパスワードをかける方法もあります。

ここでは、一番メジャーで使いやすいLhaplusを使ってZIPにパスを設定する方法を紹介しましたが、その他のソフトを使う方法もありますので気になる方は調べてみてください。

ZIPファイルに安全性の高いパスワードをかける方法


次は安全性の高いパスワードを設定するための方法です。こちらの「ZIPパスワードの解析や解除を簡単に実現する方法」でも解説しているように、ZIP形式のパスワードはそれなりに高性能な解析ソフトと、高性能なパソコンを用いれば、6~8桁くらいのパスワードであれば解析可能です。

自分で設定したパスワードを忘れてしまうこともあるので、万が一のときに解析可能な程度のパスワード(英数字、大文字小文字区別なし8桁など)という方法もあるので、結局は用途次第ではありますが、絶対に他人に解析されたくないのであれば、ある程度は長めのパスワードの設定が必要です。

最も使用頻度の高いパスワードを避ける


米国の調査機関SplahDataの2015年1月20日の発表によると、インターネット上で最も多く使用されるパスワードの組み合わせには共通点がありそうです。以下が、最も使用頻度の高い人気のあるパスワード、すなわち解析されやすいパスワードのリストになります。

1位 123456
2位 password
3位 12345
4位 12345678
5位 qwerty
6位 123456789
7位 1234
8位 baseball
9位 dragon
10位 football
11位 1234567
12位 monkey
13位 letmein
14位 abc123
15位 111111
16位 mustang
17位 access
18位 shadow
19位 master
20位 michael
21位 superman
22位 696969
23位 123123
24位 batman
25位 trustno1

出典:海外SplashData News(http://splashdata.com/press/worst-passwords-of-2014.htm)

 
どれも本当かよ、と疑いたくなってしまうような酷いパスワードです。さすがに、これらのパスワードを設定している人は全体の割合でみればかなり少ない(統計上、使われる数が多い順だとこうなるだけ)ということだと思いますが、それでも一定数はこういったパスワードを用いている方もいるのかもしれません。

なかでも「1234」や「123456」といったパスワードは、セキュリティの意味では最悪です。辞書解析やパターン解析などを用いるまでもなく、普通に総当り解析でも序盤で見つかってしまいますので。そういう意味では、まだ「999999」のほうが総当りでも時間がかかる分、マシかもしれません(笑)


安全性が高く、かつ覚えやすいパスワードの作り方


安全性が高く、かつ覚えやすいパスワードを作るためのコツを1つ紹介します。1つ目のコツは、文字列を「逆さまにする」ということです。人間の覚えやすいパスワードというと、どうしても「fae0j3w」のような、無機質で意味のない文字列(本当はこれが一番いいのですが)ではなく、「chance23」「yamada22」のように、単語や名前を用いたパスワードになってしまいがちです。

しかし前述のように、単語や名前など、意味のある文字列を含むパスワードは、辞書解析(辞書に載っている単語などをベースに解析する手法)やパターン解析(パスワード等によく使われやすい名前や生年月日等をベースに解析する手法)で見つかりやすくなってしまいます。そこで、意味のある単語のパスワードをいったん作って、それを逆転させます。


yamada22

 ↓

adamay22


これでかなり、わかりにくいパスワードになりました。他にも、「japan」⇒「napaj」、「tokyo」⇒「oykoto」、「yamasita」⇒「atisamay」など、名前や地名などのありがちな単語も逆さまにするだけで、かなり難易度の高いパスワードに早代わりします。


英文字の大小区別、特殊記号を使うと強固さが跳ね上がる


その他、鉄板の安全性の高いパスワードの作り方として、英文字の大文字と小文字を使い分ける、特殊記号を使う、という方法があります。これは、そもそもパスワードをかける対象のファイルや、あるいはWEBサイトのサービス、アカウントなどが対応しているかどうか、にもよるので、対応していない場合は意味がありませんが、対応しているのであれば使うことで、パスワードが強固になります。

こちらの「パスワードの桁数と複雑さ、解析時間の関係」でも解説していますが、パスワードは英文字の大文字・小文字区別があったり、特殊記号が混ざっていたりすると、総パターン数が桁違いに増加します。例えば8桁のパスワードの場合、以下のパターン数の違いになります。

8桁パスワード小文字のみ大小文字を区別特殊記号あり
解析パターン数2兆8211億218兆3401億7213兆8957億

2兆パターン程度なら、性能のいいパソコンで高機能な解析ソフトをまわせば、数時間~数日で解析が可能です。しかし7213兆パターンとなると、さすがに家庭用のパソコンではまず解析が不可能です。

例えば、「yamasita22」 というパスワードを、「yamaSita_22」に代えるだけで、解析が驚くほど難しくなるのです(大文字を敢えて単語のなかに混ぜているのは、「先頭だけ大文字」というルールで解析する手法が存在するため、その対策です)。

パスワードをどの程度、強固にするかは用途次第


さて、ここまで安全性の高いパスワードについて解説してきました。ただ、最後は少し視点を変えて、解析不可能なほど強固なパスワードを設定する必要があるのかどうか、にも言及しておきたいと思います。パスワードは安全性という側面だけから語られることが多いですが、どの程度の強固さが必要かは、正直、中身のデータ次第です。


絶対に流出しては困るなら、そもそもZIPパスワードは不安


絶対に流出しては困るようなデータをやり取りする(個人情報やプライバシー情報、財務アカウント情報など)のであれば、そもそもZIPのパスワード程度では不安です。ZIPのパスワードはそもそも、Traditional PKWARE Encryptionというパスワード方式を採用しており、他のOfficeファイル等で用いられるAES形式と比較すると、かなり解析が容易な部類だからです。
その場合は、ZIPの暗号化でかけられる最長鍵(12桁)ぎりぎりで、複雑なパスワード(例:aifD@a3_a33G)などをかけるしかありません。


ただ一応パスワードを掛けておく、という場合


一方、「闇雲に拡散されるのは困る」、「でも絶対に見られて困るものでもない」という場合は、解析可能な程度のパスワードにしておくのも手です。というのも、あまりセキュリティ専門家からは言われないことですが、一番のリスクはパスワードを紛失してしまってファイルが開けなくなる可能性だからです。

Googleで「ZIP パスワード」で検索すると、すぐサジェストに「忘れた」と出てくるように、自分でかけたZIPパスワードがわからなくなってしまって後で困る、ということは実は結構あります。私も経験があります。基本的には、前述のように強固なパスワードというのは「覚えにくい」パスワードのことですから、パスワードが強固であればあるほど、皮肉なことに紛失リスクは高くなります。

メモ帳などにパスワードリストを記述して保管している人も多いと思いますが、それもセキュリティ面では本来、本末転倒な話ですし、今度はそのメモ帳を紛失したり、あるいはそのメモ帳にかけたパスワードを忘れる、といったトンチ話みたいなことも実際によくおこります。最悪の場合でも、8桁以下のパスワードで英数字(小文字のみ、特殊記号なし)であれば、市販ソフトでも解析が可能なので、念のためその程度にとどめておく、というのも1つの手ではあります。