パスワード認証
情報セキュリティで最も重要なことはパスワードをしっかりと管理することです。IDは社員番号、職員番号、あるいは学籍番号などを基準として作成される場合が殆どですので、半ば公然たる事実です。大切なのはパスワードです。
企業・組織などに入るとIDとパスワードを渡されます。パスワードは初期パスワードなどと呼ばれます。初期パスワードは専門の部署で機械的に、多分擬似乱数発生器などを使って作成されたものです。多分これをExcelなどのファイルに集計して、これを名刺大のカードに打ち出して一人一人の職員、学生などに渡します(大学の新入生の場合は、顔と名前が一致しないので、学生証を確認しつつ手渡しすることになると思います)。
初期パスワードは誰かが知っている「秘密情報」ですので、完璧な秘密情報ではありません。このパスワードは、システムにログインして、パスワードを自分なりの本当の意味での「秘密」のパスワードにするために必要なものです。パスワードを変更するにはとりあえず一度システムにログインする必要がありますので、その限りにおいて必要なものということになります。パスワードを変更したら、もう必要がありません。
パスワードはとても大切なものです。パスワードはあなたがあなたであることを証明してくれるものです。あなたがあなたであるかを判断するシステムを認証システムといいます。パスワード認証システムは、あなたの顔や、声や、実印などであなたを判断することはできません。システムに保存してあるあなたのパスワードと同じパスワードを知っている人をあなたと判断するだけです。パスワードはとてもとても大切なので、あなたがよもやこれを他人に教えるようなことはないだろうというのが判断の基本にあります。ですから、システムに保存している貴方のパスワードをあなたが知っているなら、それはあなた本人に違いないと考えるわけです。
あなたのパスワードを知っている人を認証システムはあなた自身であると判断します。従って、あなたのパスワードを盗んだ人はあなたになりすますことができます。あなたになり替わった人は何ができでしょうか?あなたにできる全てのことができます。
例えば、あなたのパスワードを変更することができます。パスワードを変更されると、あなたはシステムにログインできなくなってしまいます。システムにログインできなくなるということは、あなたが単にパスワードを度忘れしてしまっただけという場合もありますが、パスワードを盗まれてしまった結果かもしれません。会社あるいは組織に属している人の場合には、多分セキュリティポリシーがあって、それに従わなくてはならないと思います。個人的にプロバイダに加入している場合にはプロバイダに連絡してください。そして、直ぐにパスワードを変更しなくてはなりません。
あなたの振りをしてシステムに侵入し、データにアクセスることができます。データを改ざんすることも可能ですので、そのような被害がないか、調査してください。ログを調べることも有効です。
あなた宛てのメールを全て読むことができます。これによってあなたの行動は丸裸にされてしまいます。あなたについて詳細を知られてしまうと、標的型攻撃の餌食にされる可能性があります。おかしいと思ったらパスワードを変更し、おかしなメールが届いていないかを調べる必要あります。あなたの振りをして、あなたの仕事関係者のところに標的型メールが届いたりします。なりすましメールでは、なり替わられたあなた自身よりも、周りの人の方が早く気付くことが多いので、自分のことではないので関係ないとせずに、専門の部署や本人にできるだけ早く知らせてください。
オンラインショッピングであなたになり替わって買い物をすることができます。心当たりのない請求書が届いた時には直ぐにパスワードを変更してください。
オンラインバンキングをしている場合には、あなたの貯金を他の口座に移すことができます。あなたに気づかれないように少額を引き出している場合も多いので、小さな金額でも心当たりのない引き出しがないかよく調べてください。
その他にもいろいろのことが起こります。例えば、オンラインゲームのアイテムがなくなっていたとか、キャラクタが消されていたということなどで気づくこともあるでしょう。
知らないうちの加害者に仕立てられている可能性もあります。被害者と、加害者では天と地ほども違います。加害者に仕立てられ、濡れ衣だと証明できない場合は、あなたの人生は暗転します。取り返しのつかないことになってしまうかもしれません。アカウントの管理が不十分だという落ち度があなたにはあります。果たして、あなたには自分の責任ではないと被害者あるいは裁判所を説得できるでしょうか?
パスワードは適切に管理しなくはなりません。適切な管理とは、良いパスワードを作り、適切に管理することです。
4.1 パスワード漏えいの原因とは
パスワード漏えいの原因としては次のようなことが考えられます。
パスワード漏えいの原因 |
ウィルス(トロイやスパイウェアを含む) |
フィッシング詐欺 |
無線LANの不正傍受(盗聴) |
パスワード破り |
ソーシャルエンジニアリング①ネットワーク管理者などを詐称して、言葉巧みに聞き出す②盗み見(盗み聞き) |
メモ等からの漏えい |
ウィルス、フィッシング詐欺、無線LANの不正傍受に関しては、パスワードの管理とあまり関係がなさそうです。パスワード破りに関しては、パスワードが良いかどうかによって結果がかなり違ってきます。ソーシャルエンジニアンリングと、メモ等からの漏えいは管理の問題となります。
4.2 パスワード破り
良いパスワードであるためにはパスワード破り攻撃に強いことが条件になります。それでは、パスワード破り攻撃にはどのようなものがあるでしょうか?パスワード攻撃をしようとするものはパスワード攻撃専用のプログラムを使います。自分で作る場合もあるでしょうが、インターネット上に落ちているのを拾ってくる場合も多いでしょう。ただのものがいくらでもあります。パスワード攻撃に使われるプログラムには、様々なものがあります。代表的なものをあげると次のようになります。
代表的なパスワード破りの方法 |
①(ブルートフォース)総当たり攻撃 |
②(パスワードリスト攻撃)漏えいしたID/パスワードのリストを入手して他のサイトで試行する攻撃 |
③(リバースブルートフォース攻撃)サービスのIDが数字のみや特定の法則がある場合に、パスワードを固定してIDを変更して試行する攻撃 |
④(ジョーアカウント探索)IDとパスワードを同じにしているターゲットを狙った攻撃 |
⑤(初期パスワードを変更していないユーザを狙った攻撃)よく知られた初期パスワードとユーザ名の対を試行する攻撃 |
⑥個人情報などからある程度の類推をして候補を絞ったうえで、総当たりする攻撃 |
これらの中で最も一般的な攻撃がブルーとフォース攻撃です。従って、良いパスワードは如何にして、解析に時間がかかるパスワードを作るかということになります。パスワード解析ツールを使って解読時間を計ってみると次のようになります。なお、実験結果はIPAのホームページで公開されているものを参考しています。
使用できる文字数/桁数 |
4桁 |
6桁 |
8桁 |
10桁 |
英小文字(26文字) |
約3秒 |
37分 |
17日 |
32年 |
英大小文字+数字(62文字) |
約2分 |
約5日 |
50年 |
約20万年 |
英大小文字+数字+記号(93文字) |
約9分 |
54日 |
約1千年 |
約1千万年 |
※上の実験をする際に使用したPCは、OSにWindows Vista Business 32bit版、プロセッサにIntel Core 2 DUO
T7200 2.00GHz、メモリに3GBを使っています。
※実験は、2008年10月2日に行われていますが、現在ではコア数12(CPU内部に存在するプロセッサコアの数)で、3.00GHzというCPUが市場に出回っています。実験で使ったパソコンと比較すると性能比でおそらく8倍~10倍程度の能力があります。メモリによって、処理速度が格段に違うということはよく知られたところですが、CPUを64bit版にすると、扱えるメモリ(物理メモリ)も増えます。32bitCPUの場合は、4GBまでです。扱えるビット数が1ビット増えるごとに、CPUのメモリ空間は2倍になりますので、64ビットだと単純に計算すると、4GBの2の32乗倍となります。2の32乗が約40億ですので、1GBの160億倍程度ということになるでしょうか。とりあえず、とんでもなく大きなメモリ空間ということで理解していただきましょう。実際は、CPU、チップセットなどの制限があり、限度はあります。それから、64bit版のCPUの真価を発揮させるためには、OSやアプリケーションも64ビット対応でなくてはなりませんが、Windowsも64ビット版が一般的になってきています。市販のものでスペックを調べてみると、Winndows10の64bit版で、2TB、4TB程度のメモリのものがでていますので、大雑把に言って、上の表の10倍~100倍程度の処理速度にはなると思います。ということは、従来言われていた、93文字の範囲で、8桁というのは少し怪しくなっているということでしょうか。少なくとも、「パスワードは最低でも10桁」という時代に入ってきているようです(この文章は2016年7月に書いたものです。2年後、3年後には全く状況が変わってくると思います。)。
※実験はオフラインで行っていると思いますが、オンラインで行うと回線速度やWebサービスなどによっても違いますし、パスワード入力から再入力するまでのタイムラグもありますので、実験結果と実際では少し違ってくると思います。
4.3 良いパスワードとは
良いパスワードは総当たり攻撃に強いほうがいいということは分かっていただけたかと思います。総当たり攻撃に強いパスワードは英大小文字と数字、記号を組み合わせて、できるだけ長いほうがいいということになります。しかし、メモからの漏えいも少なくないということを考慮すると、記憶できなくてはなりません。また、ある程度の類推をしてその範囲内で総当たりをする攻撃もありますので、類推されにくいものがいいと思います。
一つの例として、自分で暗唱している英語の歌詞からパソワードを作る方法があります。Billy Joelの有名なhonestyの最初の一節"If
you search for tenderness, it isn't hard to find."から、単語の頭文字と、自分なりのアレンジを加えて作ると、"ius410$iinh2f"となります。この方法だと、どんなに長いのでもできます。メモする必要もありません。ただし、この方法では、自分なりの工夫を加えることが大切です。それから、自分がBilly
Joelのファンだとか、"Honesty"が大好きなどと友人に公言している場合には使えません。日本語の歌でももちろんかまいません。
自分で奇想天外な物語を作って、その各場面に文字を割り当てていく方法や、自分でお気に入りの英文を作成して、あるいは有名人が言った言葉を借用して、パスワードを作るというのでもいいと思います。方法はいくらでもあります。記憶術のサイト等で調べるといいヒントを得られるかもしれません。
それからこの方法をとるときはto⇒2とか、for⇒4、a⇒@、*ten⇒10などと、ある程度自分の中で規則を決めておくといいと思います。
4.4 悪いパスワード
米国のSplashData社は2011年以来、毎年悪いパスワードの例を発表しています。これによりますと、2015年度の上位25位は次のようになっています。
順位 |
最悪パスワード |
昨年度の順位 |
1 |
123456 |
1 |
2 |
password |
2 |
3 |
12345678 |
4 |
4 |
qwerty |
5 |
5 |
12345 |
3 |
6 |
123456789 |
6 |
7 |
football |
10 |
8 |
1234 |
7 |
9 |
1234567 |
11 |
10 |
baseball |
8 |
11 |
welcome |
new |
12 |
1234567890 |
new |
13 |
abc123 |
14 |
14 |
111111 |
15 |
15 |
1qaz2wsx |
new |
16 |
dragon |
9 |
17 |
master |
19 |
18 |
monkey |
12 |
19 |
letmein |
13 |
20 |
login |
new |
21 |
princess |
new |
22 |
qwertyuiop |
new |
23 |
solo |
new |
24 |
passw0rd |
new |
25 |
starwars |
new |
これを見ていると人々が如何に危険なパスワードを使っているかが分かります。このページを読んでいる皆さんは大丈夫だとは思いますが、中にはいるかも知れません。十分に気を付けてください。
4.5 適切な管理とは
どんなにいいパスワードを作っても適切に関しなくては安全とは言えません。パスワードの管理には次のことに気を付けてください。
① 初期パスワードの変更
企業の新入社員や、大学の新入生に渡されるパスワードは擬似乱数発生用のプログラムで出力したものですので、誰かが知っているパスワードです。最初にシステムにログインする際にパスワード変更を行い、後は捨ててください。ネットワーク機器には周知のパスワードを使っているものありますので(Ciscoのルータなら、"cisco"など)、これも変更してください。
② パスワードの使いまわしはしない
企業や大学によっては統一認証システムを採用し、いくつかのシステムで共通パスワードを使っているところもあると思いますが、まだ統一認証システムを導入していないという場合は、さまざまなシステムのパスワードを使う必要があります。これでは煩雑になりますので、人によっては一つのパスワードを使いまわしてしまうこともあると思います。こうすると、一つが破られると他のシステムも破られてしまいますので、危険です。
では統一認証は危険なのかというイメージを持たれる方もいると思いますが、これは考え方次第です。統一認証システムを採用し、そのシステムを厳重に守っていく方がいいという考え方が一般的です。数種類のシステム毎に認証システムを別していると管理が大変で、中には管理が行届かないという場合もあると思います。
③ パスワードをメモに書かない
メモに書かないでください。メモに書くと紛失したら、人の目に触れるという機会が増えてしまいます。付箋に書いてパソコンに張り付けておくなどは言語道断です。
④ パスワードをパソコンに保存しない
パスワードはパソコンに保存しないでください。パスワードを入力して、そのままにしておくとデフォルトで、保存してしまう場合がありますので注意が必要です。パスワードをパソコンに保存しておくと、ウィルス感染した際に、パスワードを奪われる危険があります。
それから、不特定多数が利用可能なPC(インターネットカフェ等)ではパスワードを入力しないようにしてください。パスワードを奪うようなウィルスが仕組まれている危険があります。
⑤ パスワードは人に教えない
パスワードは人に教えてはいけません。秘書さんがいるような社会的に偉い方は注意が必要です。
⑥ アカウントの貸し借りはしない
兄弟で同じ大学に通っているような場合でも、絶対にアカウントの貸し借りはやめてください。
⑦ ソーシャルエンジニアリングに気を付ける
パスワードを入力する際は、周りに人がいないかよく確認してください。パスワードを書いた紙を捨てる際はシュレッダーを活用してください。
4.6 認証システムを管理する側の注意点
ユーザにパスワードを定期的に変更させるべきかについては、いろいろの意見があります。定期的に変更すればパスワードを盗まれにくいし、盗まれたとしても変更することで難を免れられることもあるという考え方もありますし、変更を強制すると安易なパスワードを付ける可能性があるという意見もあります。そもそも、いいパスワードはそんなに簡単に見つかるものではないので、いいパスワードを選んでそれを大切に使うべきであるという意見は根強くあります。
パスワードの定期的な変更を促すWebサービスも多いので、どうすべきか悩ましいところです。余り頻繁に変更を要求するとユーザが安易なパスワードを使うようになるとか、メモに書く、他のシステムとの間でパスワードの使いまわしをするようになるなどの悪影響が出てきますので、注意してください。2016年6月にアメリカの国立標準技術研究所(NIST)のコンピュータセキュリティ担当部門であるCSD(Computer
Security Division)は「800-63B」という文書を発行して、その中のデジタル認証のガイドラインの項目で、ユーザが攻撃を受けたとの証拠の下に変更を要求する場合を除き、「パスワードは定期的に変更させるべきではない」と明記して、注目を集めています。
パスワードを数回連続して間違ったら一定時間ログインを禁止するという手法を採用するかどうかですが、これを採用すると副作用として攻撃者がわざと連続して失敗して、標的ユーザを利用不能の状態に陥れるという攻撃が可能となります。
多くのユーザがいる企業や組織では必ず安易なパスワードを使っている人がいますので、セキュリティテストのためにパスワード破りチェックをしてみてください。
|