password

パスワード

パスワードは、十分複雑なものにしましょう。複雑なパスワードは、例えばパスワード生成のページや、Pythonのプログラムで作成できます。

パスワードを人に教えないようにしましょう。サイトごとに別のパスワードを使いましょう。

パスワードを定期的(たとえば数ヶ月ごと)に変更することを勧める人もいますが、あまり意味がありません。

十分複雑なパスワードを、利用するサイトの数だけ作れば、全部を覚えることは不可能です。サイトのURLとパスワードとの対応表を、安全な方法で記録しておきましょう。自分専用のスマホやパソコンなら、それらに覚えさせてもかまいません。

メールなどに書いてあったリンクをクリックして現れたサイトが本物サイトとそっくりだったとしても、そこにパスワードを打ち込んではいけません。たいていは詐欺(フィッシング)です。サイトのURLとパスワードとの対応表にしたがって、正しいURLのサイトだけにパスワードを打ち込みましょう。

他人のパスワードを使うと、不正アクセス禁止法の違反になります(この法律ではID・パスワードを「識別符号」と呼んでいます)。

m 通りの文字を使った n 桁のパスワードは mn 通りあります。例えば英字(大小文字)・数字・記号2通りを使うなら、m = 26×2 + 10 + 2 = 64 です。8桁にすれば、例えば Utz-VQ4i のようなパスワードになります。これは 648 = 281474976710656 通り(約281兆通り)あります。これだけあれば、オンラインのサービスのパスワードなら、しらみつぶしの方法で破られることは、まずなさそうです。

一方、例えば暗号化したファイルが流出した場合、何度でも試行できますので、超高速のコンピュータを使っても何年もかかるくらいの複雑なパスワードにしておく必要があります。私のコンピュータでは、十分安全な暗号化方式なら毎秒10〜35パスワードしか試せませんでした(パスワードをクラックする参照)が、敵はどんな強力なコンピュータを持っているかわからないので、十分長いパスワードを使いましょう。

2022年に尼崎市の委託業者が全市民の個人情報が入ったUSBメモリを紛失した事件がありましたが、その記者会見で市職員がUSBメモリのパスワードは13桁英数字と漏らしてしまいました。ネットでは Amagasaki2022 だろうとの予想が流れました。その後、USBメモリは無事発見されました。

13桁と漏らしてしまったことにより、どれくらいパスワードの試行回数が減ったでしょうか。ということで、問題です。

練習問題:m 通りの文字を使ったパスワードを、1桁、2桁、3桁、・・・と試していき、n 桁まで試し終わるための試行回数と、最初から n 桁だとわかっていて n 桁だけ試す場合の試行回数とでは、どれくらい違うでしょうか。

ヒント:1桁、2桁、3桁、・・・と試す場合、m + m2 + m3 + m4 + … + mn のような等比数列の和になります。


参考リンク: