私たちが日常で多く使用している認証方式に「IDとパスワードによる本人確認」があると思う。昨今では顔認証など様々な認証方式があるが、実装のしやすさなどから主流はやはりID/Pass認証であることは間違いない。しかしこのID/Pass認証は昔からセキュリティ面での懸念点を抱えており、漏洩等によるなりすましや不正利用が後を絶たない現状がある。
そこで今回はおっさん式の安全で覚えやすいパスワード管理のやり方を説明し、セキュリティレベルを少しでも高める対策を取っていただければと思う。
適当なパスワード使ってませんか?
IDとパスワード入力。。めんどくさいですね。おっさんも毎日イロイロなシステムにログインするので、そのたびに入力するけれどもやはりめんどくさい。。しかし適当なパスワードというのは自分が思っている以上にリスクがあるので、キチンと対応しなければならないのである。パスワード管理の現実を知るために、いかに一般ユーザーが安易なパスワードを利用しているかを紹介したい。
以下サイトでは主に米国などで漏洩した数百万件のパスワードを分析し、毎年「最悪のパスワード」として一覧を公開しているものである。ここでは10位まで紹介するが、リンク先では100位まで掲載されているので興味があれば見てみるといいと思う。もしこのようなパスワードを使っている場合は速やかに変更すべきである。インターネットから接続できる環境でこのようなパスワードを利用するのは「カモがネギ背負って鍋をかぶりつつスライディング」してくるようなものである。
The Worst Passwords of 2018 100-50 | SplashData
順位 | あかんパスワード |
1位 | 123456 |
2位 | password |
3位 | 123456789 |
4位 | 12345678 |
5位 | 12345 |
6位 | 111111 |
7位 | 1234567 |
8位 | sunshine |
9位 | qwerty |
10位 | iloveyou |
安全なパスワードとは?
絶対的に安全なパスワードというのは存在しないが、セキュリティを意識したパスワード管理をすることでリスクを軽減することができる。様々なセキュリティ基準やガイドラインでパスワード管理のやり方やあるべき論が掲載されているが、その中でも影響力の強いNIST(アメリカ国立標準技術研究所)のガイドラインを紹介したいと思う。
パスワード管理については2017年に更新された「SP 800-63B Authentication and Lifecycle Management」に記載されている。英語で文量も結構あるのでおっさんにはキツイが、重要と思われるポイントを抜粋して意訳するとざっくり以下のようなものになる。(重要そうなヤツは「5.1.1.2 Memorized Secret Verifiers」のあたりに記載されている。)
- 利用者が設定するパスワードは8文字以上にしろ
- パスワードは64文字でも許容しろ
- パスワードの複雑性を強制するな
- 秘密の質問とか使うな
- パスワード侵害などの証拠が無ければパスワードを定期的に変更しなくてもいいよ
- パスワード侵害などの証拠があるならパスワード変更を強制しろ
- 推測されやすいパスワードはシステムでチェックして拒否しろ
他にもなんかわかりにくい表現(おっさんの英語力の問題?)でつらつら記載されているがココでは割愛する。
パスワードの定期変更などは、以前からセキュリティ業界の重鎮たちから「意味あんの?」というような意見があった。なぜなら頻繁に変更することで推測されやすい脆弱なパスワードを使いまわすような状況になることが、少なからず発生していたからだ。今回NISTがこのような内容を記載したことで「意味もなくパスワードの定期変更はしなくてもいいのではないか?」という考え方になり、今後のシステム管理や情報セキュリティの方向性を変えていくかもしれない。
具体的にはどのようにパスワードの管理を行えばいいのか?
NISTのガイドラインを参考に、具体的にどのようなパスワードを使えばいいのか考えてみよう。前提としてパスワード作成においては「長さこそが正義」である。複雑性(英数大文字小文字記号の混合など)よりも一桁でも長いパスワードの方がリスクが低いとされている。やはり8文字以上は必須であろう。ただ、イロイロなシステム、アプリ、サイトにログインしなければならない現代人にとって長くてある程度の複雑性を持ったパスワードをいくつも覚えておくのは至難の技でもある。そこでここではおっさん式のパスワード管理方法を紹介したいと思う。とりあえずサンプルを以下に作ってみた。
おっさんのパスワードに対する基本的な考え方としては「ある程度安全でありつつも複数のパスワード管理もしやすい」ということにフォーカスしている。簡単にサンプルを解説すると、パスワード全体を3つのエリアに分割し、自分なりの法則を作って個別のパスワードを作成していくというものである。
第一エリア |
ID/Pass認証が必要なシステムやサービスの略称などを数文字割り当てる。 これにより各個別のパスワード管理がやりやすくなる。 例えば「Facebook」なら「fbk」とか「fb」とか。 |
第二エリア |
自分しかわからない文字列を8文字以上で割り当てる。 3~5つほど丸暗記して必要に応じて微妙に変えたりする。 パスワードを忘れてしまっても丸暗記のどれかであれば対応しやすい。 |
第三エリア |
第一エリアに関連する英数字を数文字割り当てる。 ここでは個別システムごとの利用開始日にしたがなんでもいい。 全体のパスワード長や複雑性等の調整もここで行う。 |
パスワードをあるべき論で強固(長く複雑)にするのは簡単だが、強固なパスワードでも複数システムで同一パスワードを使用するのはリスクが高い。重要なのは継続的に個別パスワード管理できるよう、自分なりの法則性をもって対応することではないかと思う。作成したパスワードは紙に書いたりしてもいいが、すべての文字列は書かないほうがいい。第一エリア、第三エリアと第二エリアで丸暗記した一部だけを記載しておけば脳が自動的に思い出してくれるだろう。
んじゃまたね。
コメント