事例81

複雑って? ~最強のパスワードを考える

神奈川県立藤沢総合高校 田澤諭子先生

自分たちのパスワードは本当に安全なのか?

情報機器やインターネットを扱うためにはパスワードが不可欠であり、セキュリティのためには複雑なパスワードが必要であることは、今や常識です。しかし、具体的にどのようにすれば「複雑」になるのかは、実はよくわかっていません。やたらと複雑な文字列のパスワードは覚えるのが面倒で、結局生年月日や電話番号など簡単なものを使ってしまい、思わぬトラブルに巻き込まれることがあります。生徒たちが、自分たちが使っているパスワードが本当に適切かつ安全なものかを見直し、情報セキュリティを高める方法について考える機会とするために、この授業を行いました。

 

かつてのパスワードの権威の衝撃の告白

きっかけは、今年夏のあるニュースです。

 

2000年代の初め頃、アメリカでパスワード管理に関する有名な冊子を執筆したB.バー氏が、「記号や大文字や数字をランダムに並べたパスワードは失敗だった」と述べたことが話題になりました。私たちがふだん使っている一見複雑に見えるパスワードは、本当にそんなに弱いものなのか。強いパスワードとはどんなものなのかを考えさせてみました。

授業案がこちらです。効果のあるパスワードについて検証することが目的です。最新のスマートフォンに実装されているセキュリティについて考えさせた後、2種類のパスワードの解読までにかかる時間と、それぞれのパスワードが何パターン考えられるかを考えさせます。

 

※クリックすると拡大します

 

実は、このあとさらに理解を深めさせる活動をしたいと思うのですが、この部分については今回皆さんからご意見をいただいて、より発展的な内容につなげたいと思います。ぜひアドバイスをよろしくお願いいたします。

 

人間とコンピュータにとっての「複雑さ」は違う

比較した2つのパスワードがこちらです。

 

Aがアルファベットの大文字と小文字と、数字・記号を使った8文字のもの、Bは「どんぐりころころどんぐりこ おいけには」を小文字でローマ字表記した32文字のものです。生徒に「客観的に、この2つのどちらが複雑か」と訊くと、ほとんどがAの方が複雑だと答えます。

 

実際にAとBのパスワードが解読されるまでに要する時間をネットのパスワード強度メーターで調べてみました。すると、Aは46日、Bは24穣(24×1028)年かかることがわかります。

 

さらに実際に自分が使っているパスワードを強度メーターで調べてみると、予想外にあっさり解読されてしまうことがわかり、生徒たちは俄然真剣になります。

 

パスワードの解読に要する時間は文字列のパターンの多さによります。Aの方は大文字・小文字・数字・記号の計72種類が8文字ですので、728 ≒ 722兆パターンとなります。一方、Bの方はアルファベット小文字26種類の32文字ですので、2632 ≒ 30極パターンと、Bの方が圧倒的に多くなります。

 

Bのように意味のある文字列は、ランダム配列のAより易しく思われますが、人間にとっての複雑さとコンピュータにとっての複雑さは異なることがこれでわかります。

 

ただし、このパスワード強度メーターは総当たり攻撃で解読されるまでの時間なので、ある程度のパターンをまとめた「辞書」をもとにした辞書攻撃で解読されると、パスワードBも弱くなります。

 

さらに、最新のパスワードハッキング能力はどんどん向上していますので、さらに短い時間で解読されてしまうということも認識しておく必要があります。

 

※クリックすると拡大します

 

しかし、最初にお話ししたように、複雑にし過ぎることで利便性が下がり、結局安易なものに流れてしまっては意味がありません。「複雑」とはどういうことかを教えて、見破られるのに時間がかかり、かつ覚えやすいパスワードとはどのようなものかを考えさせることが必要です。さらにどのような展開ができるか、考えていきたいと思っています。

 

[見学者からのアドバイスより]

高校教員A氏:生徒がハッカーになって、実際にどのように攻撃するのか、という設定にすると、セキュリティの仕組みもわかるし、生徒にとってもおもしろいかもしれませんね。また、パスワードだけでなく、生体認証のような別の仕組みはどのように有効なのかを見せてあげるのもよいと思います。

 

大学教員B氏:パスワードの安全性ということだけで学習を深めていくのが難しければ、セキュリティとは何か、ということで横に展開していくこともできると思います。要は、パスワードのHow toではなく、セキュリティの原理を知る方向に広げていくことです。例えば、ホームページを見る際にhttpなのか、httpsであるか(※)を意識させることもその一つだと思います。

 

今はパスワード管理アプリというものもありますが、そのアプリそのものが安全なのか、ということもありますよね。文字列の解読がこんなに簡単にできてしまう、ということを知った上で、自分なりのパスワード作成のルールを作り、その原則を覚えておく、ということに気付かせるのがよいと思います。

 

※http(Hyper Text Transfer Protocol)

https(Hypertext Transfer Protocol Secure)

ホームページ閲覧の際の通信手段のルール。「https://」では通信内容が暗号化される。