パスフレーズ 対 パスワード:より安全で使いやすいログイン方法を考える

Why Passphrases are Safer and Easier than Passwords

2024/06/25 BleepingComputer — パスワード管理とは、やっかいなものだ。複雑でユニークなパスワードは覚えるのが難しく、だからといって、複数のアカウントで同じパスワードを使い回すのは避けるべきだ。では、その解決策はなんだろう? ランダムな文字列を使用したパスワードではなく、単語やフレーズを組み合わせた、パスフレーズを使用するという方法がある。

なぜパスワードが重要なのかは、誰もが知っている。Verizon によると、攻撃のイニシャル・アクセスの 83%は、盗まれた認証情報から得られているという。パスワードに “qwerty” や “12345”  のようなキーボード・ウォークや特定の数字を使用するのは、また、好きなスポーツ・チーム/大切な人の名前などを使用するのは、推測が比較的容易なため、避ける必要がある。

では、パスワードをもっと複雑にすれば、その問題は解決するのだろうか?

パスワードの難点は覚えにくいこと

大文字を含むランダムな文字列/数字/特殊文字の集まりが、パスワードのセキュリティを強化すると思うかもしれない。しかし問題は、そのようなパスワードは、ユーザーが考えているほどランダムではないという点だ。ユーザーは、パスワードが多様化することを好まず、似たようなパターンを繰り返し使用する傾向がある。

なぜ、このようなことが起こるのだろうか? 複雑なパスワードは覚えるのが難しいという問題を解消するために、以下のような方法を、人々は編み出したのだ:

  • 一般的な辞書の単語や、キーボード・ウォークを基本のフレーズとする 
  • 1文字目を大文字にする 
  • 数字や特殊文字を末尾に加える
  • 記号や数字を他の文字に置き換える (例:@を aに/0 を oに)

たとえば、この法則に則ると、”complicated” という単語は “Complic@ted1!“ となるのである。ほとんどの組織では、デフォルトの Active Directory のパスワード・ポリシーに合致している。

しかし攻撃者は、コンピュータ・ソフトウェアが推測しやすい、これらの傾向を熟知しており、その知識を利用して、ブルートフォース攻撃やハイブリッド辞書攻撃を最適化している。

長さという強み

ユーザーが、複数のアカウントに対して、同じパスワードを使いたくなる理由は簡単だ。Bitwarden によると、インターネット・ユーザーの 68%が、10以上の Web サイトのパスワードを保有しており、そのうちの 84%がパスワードの使いまわしを認めているという。これでは、パスワードが漏洩する可能性が非常に高くなってしまう

Active Directory 内の、すべてのパスワードを強化する簡単な方法の1つは、パスワードを長くし、ブルートフォース攻撃やハイブリッド辞書攻撃によるクラックを困難にすることだ。

これは効果が高い方法であり、パスワードが長ければ長いほど、パスワードは強くなる。しかし、その一方で、パスワードがより複雑になるという問題が生まれる。ランダムな文字の長い文字列は、エンドユーザーにとって極めて覚え難いため、結局は元の短いパスワードに戻ってしまう可能性がある。

その問題に対する解決策は、覚えられる長いパスワードを設計することだが、そこで登場するのがパスフレーズだ。以下の、2つのパスワードの例を見てみよう。1つは 8文字、もう1つは 3倍近い 21文字だ。

  • Fridge-Elephant-Phone 
  • 84”fhg#l 

2つ目のパスワードの方が複雑なので、安全であるとは限らない。1つ目のパスワードは、複雑さないが長さがある。しかしもっと重要なのは、ユーザーは、この2つパスワードのうち、どちらを覚えていられるかという点だ。大半のユーザーにとっては、1つ目の長いフレーズの方だろう。

米国当局は、パスフレーズの利点を認めている。FBI は、パスワードに必要なのは複雑さよりも長さであるという、NIST (National Institute of Standards and Technology) のガイダンスを挙げ、「短い複雑なパスワードを使う代わりに、複数の単語を組み合わせた 15文字以上のパスフレーズを使用する必要がある。強力なパスフレーズは、個人データの侵害からの保護にも役立つ」と述べている。

強力なパスフレーズのトップ・ヒント

パスワードからパスフレーズへの移行は、面倒に思えるかもしれない。ここでは、いくつかの簡単なガイダンスを紹介しよう。たとえば、英国の National Cyber Security Centre が推奨するのは、3つのランダムな単語を組み合わせであり、カナダの Centre for Cyber Security が指摘するのは、パスフレーズは少なくとも4つの単語を用いて、15文字以上の長さにすべきだという点だ。

ランダムな単語ジェネレーターは役に立つし、わざとスペルを間違えるのもよい。以下は、パスフレーズを作るためのヒントだ:

  1. 予測不可能であること:パスフレーズは、ランダム性が重要だ。たとえば “Michael-Jordan-Basketball” のように、3つの単語がつながったものを選んではいけない。Specops Password Policy では、Active Directory にブロックされた単語のカスタム辞書を追加できる。 
  2. 使い回しをしない:これは当前のことのように思えるだろうが、なかなか難しい習慣だ。Specops Password Policy のようなツールを使えば、Active Directory で漏洩したパスフレーズを継続的にスキャンできる。
  3. MFA を導入する:セキュリティを強化するには、パスフレーズ/ワンタイム・コード/顔スキャン生体認証などの、複数レイヤーの認証が不可欠だ。MFA は万能ではないが、ハッカーによる侵害の可能性を低減させることは出来る。
セキュリティと UX を向上させる

問題の1つは、安全なパスワードの作成が不便である点だ。Specops Password Policy が、管理者から見てシンプルなのは、そのためである。つまり、長いパスフレーズを使用するか、あるいは。従来のパスワードを保持するのかを選択し、エンドユーザーに情報を提示する方法を決めることが可能だ。

また、スムーズでわかりやすい UX (user experience) の開発も、極めて重要である。Specops Authentication Client は、ユーザーが新しいポリシーに対応できるよう、リアルタイムのインサイトを含むダイナミックなフィードバックを提供する。また、長さベースのエージングを提供することも可能であり、長いパスワードを選択した場合には、リセットまでの時間を長くして、ユーザーに報いることも可能だ。