興味のある所からお読み下さい
使い回しも、覚える必要もないパスワードの作り方
2013年にあるレンタルサーバで運用されている8000件以上のWordPressサイトが改ざんされる事件が、2016年には別のネットサービスで59万件の登録した個人情報が閲覧される不正ログイン事件がありました。いずれもリスト型攻撃によるものです。
パスワードの「使い回し」は危険
アカウントリスト攻撃(リスト型攻撃)に対抗するためには、他のサービスで使用したIDとパスワードを自分のWordPressサイトに使い回しをしない事が重要です。
現在、多くのオンラインサービスに個人情報が登録され、ID/パスワードが主な認証手段となっています。多くの人は単純なID/パスワードを設定し、その上すべてのサービスで使い回しているのではないでしょうか。
この結果、ID/パスワードが1つ流出すると、すべてのサービスにログインすることが可能となる危険性をはらんでいます。
また、パスワードの文字数や文字種が増えるだけで、ブルートフォース攻撃(総当たり攻撃)に必要なパスワードの数が指数的に増え、強いパスワードとなります。
強いパスワードとは
最新パソコンの処理能力でもパスワードを解読するための計算が何千年もかかるのであれば、それは解読できないことと同一であると考えられます。
したがって、一般的にはパスワードに使用する文字の種類を多くしたり、桁数を大きくしたりすれば、強い(破られにくい)パスワードであるということがいえます。
使用文字数と桁数によるパスワードの最大解読時間(出典:2008年IPA(情報処理推進機構))
現在の処理能力のパソコンで計測すると異なる結果となります。(2015年9月IPA追記)
※使用PC:Windows Vista Business 32bit版、プロセッサ:Intel Core 2 Duo T7200
パスワードに使ってはいけないキーワード
- 名前や誕生日など推測可能な情報から設定しない
- 連続またはくり返しの文字は使用しない(111111、abcdefなど)
- 辞書に掲載されている単語を使用しない(辞書攻撃:password、welcomeなど)
- キーボードの連続した文字列から設定しない(qwerty、1qaz2wsxなど)
- よくある置き換え「a」→「@」、「o」(オー) →「0」(ゼロ)、「l」→「1」、「l」→「!」、「s」→「$」、「E」→「3」、「A」→「4」は使わない
サービスの重要度でパスワードを使い分ける
「パスワードの使い回しは危険」といわれても、たくさんのサービスでパスワードが必要な今、すべてのサービスで違うパスワードにすることは難しいです。そこで、サービスの重要度によってパスワードを使い分ける方法もあります。
サービスの重要度によって、設定するパスワードの複雑さを変えると、覚えやすくなります。
重要度 | サービス | パスワード |
高 | 金銭に直結する(クレジットカードや銀行) 個人情報(住所)の登録がある |
サービスごとに違う 10文字以上の複雑なパスワード |
中 | SNS、ブログ、メールなど不正ログインされると なりすましにより不正利用される危険がある |
サービスごとに違うパスワード |
低 | 個人情報などを含まないサービス (メールマガジン、無料会員サイトなど) |
このグループ内は 同じパスワードでもOK |
(参考)安全なパスワードの作成方法と管理のコツ・強度のチェック
「自分だけの秘密のルール」作り
自分が覚えやすく、他人から推測されにくいID/パスワードを作る有効な手段が、ID/パスワードを作る際の「自分だけの秘密のルール」を作っておくことです。
そして、このルールに従って「サービスごとに異なるパスワードを設定」します。
これだけで、パスワードを使い回す必要もなく、サービスごとに異なったパスワードで使えますし、パスワードを一つ一つ覚える必要もありません。
秘密のルール=基本型+自分だけの変更アルゴリズム
・変更アルゴリズム:「基本型」の一部あるいは特定箇所に「特殊記号」を挿入/置換
キーワードの元となる「キーフレ-ム」を決める
下の例では
・I am a Boy and You are a Girl(英文の「キーフレ-ム」)
・国破れて山河あり(日本語の「キーフレ-ム」)
が自分だけに分かる「キーフレ-ム」になります。
英大文字、英小文字、数字、特殊記号を組み合わせ、少なくとも8文字以上のパスワードにしますが、
サービスによっては、「!#$%&\*」などの特殊記号が利用できず、英数字だけのところもあります。その場合でも変更するルール(例えば、文字制限がある時は最初から数えてn文字目までを使うなど)をしっかり覚えておけば、忘れることもありません。
「キーフレ-ム」を元に自分しか知らないキーワードを作る
- キーワード1:I am a Boy and You are a Girl(英文の「キーフレ-ム」)
→ IaaBaYaaG(単語の頭1文字を選択、英/記号9桁)(強度:普通/普通/とても弱い)
→ Ia#B&Ya%G(同じ英字「a」が続くのと特殊記号がないので、定冠詞「a」→「#」「%」に、「and」→「&」に変更、英/記号9桁)(強度:強力/普通/とても強固)
→ Ia#B&Ya%G248(数字がないので好きな位置に数字3桁を付加、英/数/記号12桁)(強度:強力/普通/とても強固) - キーワード2:国破れて山河あり(日本語の「キーフレ-ム」)
→ 928burete3gaari(日本語をローマ字書きにして、数字に置き換えられる音を数字に置き換え(928/3))
→ 928brt3gAr(子音の最初だけを拾う+母音1文字(aeiou)は大文字の英字に(a→A)、英/数10桁)(強度:強力/普通/とても強固)
→ 92!8bRt&3gAr(特殊記号を入れるため、最初の数字2桁目→常に感嘆符!を挿入(92!8)+最初の英字2桁目→常に大文字に(brt→bRt)+文節と文節の間→常に&で結合(山河ありの前)、英/数/記号12桁)(強度:強力/普通/とても強固) - キーワード3:248-Yt(「ランダムな数字3桁」+「任意の記号」+「自分のイニシャル」、英/数/記号6桁)(強度:脆弱/弱い/強固)
サービスの識別子を決める
サービスの識別子を頭文字、略称だけで使い分けるのは危険な面もあります。Amazonのパスワードの頭を「Am」としていて、そのパスワードが流出したら、頭が「Fa」「fb」ならFacebookのパスワードだと簡単に類推されてしまうためです。
- 識別子1(サービス名の頭2桁)
:Amazonなら「Am」、Facebookなら「Fa」、Appleなら「Ap」など - 識別子2(サービス名の略称3桁)
:Amazonなら「Amz」、Facebookなら「Fbk」、Appleなら「Apl」など
サービスごとに異なるパスワードを設定
・パスワード3は、重要度「中」「低」に使えそうです。
- パスワード1:「識別子1」+「キーワード1」(英/数/記号14桁)
:AmIa#B&Ya%G248(強度:強力/とても強い/とても強固) - パスワード2:「識別子1」+「キーワード2」(英/数/記号14桁)
:Fa92!8bRt&3gAr(強度:強力/とても強い/とても強固) - パスワード3-1:「識別子2」+「@」+「キーワード3」(英/数/記号10桁)
:Apl@248-Yt(強度:強力/普通/とても強固) - パスワード3-2:「$」+(3-1)+「\」(3-1をドル円で囲む、英/数/記号12桁)
:$Apl@248-Yt\(強度:強力/普通/とても強固)
サービスの識別子を強固にするには、頭文字や略称を分解して、キーワード中にランダムに埋め込むなど、それなりに複雑な組み合わせにする工夫も必要です。
・AmIa#B&Ya%G248 → AIa#B&Ya%G248m(識別子を分解し文頭と文末に置く)
・Fa92!8bRt&3gAr → F92!8bRt&a3gAr(識別子を分解し文節の頭に置く)
※パスワードの強度:WordPress強度チェッカー/Microsoft強度チェッカー/ちょっと便利帳強度チェッカーで計測したものです
パスワードの強度チェック
チェッカーはパスワードの安全性を保証するものではありません。あるチェッカーで強いと測定されたものが、他のチェッカーでは弱いと測定されることが十分にあり得ます。(キーワード3の測定結果を参照)
米マイクロソフト 《日本語》
Microsoft セーフティとセキュリティ センター「パスワード チェッカー」
「弱い」「普通」「強い」「とても強い」の4段階から判定してくれます。
ロシアのセキュリティ会社カスペルスキー 《日本語》
カスペルスキーパスワードチェッカー 日本語版
パスワードの強度を10段階で評価し、そのパスワードが突破されるまでにかかる時間・日数を表示し、
「パスワードは短すぎます」「同じ文字が連続している箇所があります」「よく使われる文字組み合わせがあります」のように指摘してくれます。
みんなの知識委員会 《日本語》
みんなの知識 ちょっと便利帳「パスワード強度チェッカー」
パスワードの桁数や、組み合わせなどから強度を判定してくれます。
スコア(0~100%)と、5段階の評価「とても弱いです」「弱いです」「まあまです」「強固です」「とても強固です」を測定して表示します。