パスフレーズとは何か
パスフレーズは、記号の羅列ではなく複数のランダムな単語をつないで作るパスワードです。xK9#mQ2$ ではなく correct-horse-battery-staple のようなイメージで、大きな単語リストからランダムに選ばれた単語を区切り文字でつなぎます。結果として、読めて覚えられるのに強い文字列になります。これはサイコロを振ってリストから単語を選ぶ Diceware という古くからの手法と同じ考え方です。ポイントは、単語をツールにランダムに選ばせること。歌詞や好きな名言から自分で作ったフレーズは、感覚よりずっと推測されやすくなります。
なぜランダムな単語が記号列に勝てるのか
直感に反しますが、4〜5個のランダムな単語は、短い「複雑な」パスワードより破られにくいことがあり、しかも付箋に書かずに覚えられます。強さの源は単語数と選ぶ元のリストの大きさで、見た目の物々しさではありません。各単語がランダムに選ばれているため、攻撃者は「よくある英単語だ」という事実を利用できず、結局すべての組み合わせを考慮するしかありません。こうして「強い」と「人間にやさしい」を両立できるのが、自分で打つ必要のあるパスワードに向いている理由です。
必要な単語数の目安
日常のログインなら4語が一つの下限、重要なアカウントやマスターパスワードなら5〜6語あれば十分です。単語を1つ足すごとに組み合わせが倍々で増え、エントロピーのメーターも一定幅で上がるため、4語から6語に増やすと差は大きくなります。ちょうどよい長さがあり、強くするのに十分でありつつ、ため息をつかずに打てる範囲に収めるのがコツです。長すぎると感じたら1語減らし、重要なのに強度が低く見えるなら1語足してください。
区切り文字・大文字化・数字
区切り文字(ハイフン・スペース・ピリオド・アンダースコア)は主に読みやすさに影響します。打ちやすいものを選べばよく、サイトによってはスペースが使えない点に注意してください。各単語の先頭を大文字にする・末尾に数字を足すは、「大文字や数字を含めること」というサイトの要件を満たすのに便利です。多少は組み合わせを増やしますが、本当の強さはあくまでランダムな単語数から来るので、付け足した「1!」に頼りすぎないようにしましょう。これらは入力の手間を増やさずにサイトの規則を満たすために調整するものです。
端末内で生成され、外に出ません
パスワードツールと同じく、パスフレーズもブラウザ標準の暗号学的乱数を使い、すべてお使いの端末内で組み立てられます。サーバーへの送信も遠隔保存もなく、保存されるのは設定(単語数・区切り文字・各オプション)だけで、次回も同じ状態で開けるようローカルに記録されます。ページを読み込んだ後はオフラインにしても生成を続けられ、それ自体が「パスフレーズが送信されていない」ことの簡単な確認にもなります。
パスフレーズが向いている場面
人間が入力・記憶する必要がある場面では、パスフレーズを選びましょう。パスワードマネージャーのマスターパスワード、ノートPCやスマホのログイン、来客に読み上げる Wi-Fi のパスワードなどです。一方、マネージャーが自動入力してくれるものは、別タブの長いランダムパスワードのほうがコンパクトで同じくらい有効です。多くの人は両方を併用します。保管庫を開けるのは覚えやすいパスフレーズ、その中の各アカウントにはランダムパスワード、という使い分けです。