「秘密の合言葉」ってセキュリティ大丈夫??? #251
JCBのMyJCBサイトにログインしようとしたら「一番好きなフルーツの名前は?」と秘密の合言葉を求められた体験を発端に、このセキュリティ手法の欠陥を深掘りする回。Googleが2015年に発表した大規模調査や2008年のサラ・ペイリンメール乗っ取り事件を引きながら、なぜ秘密の合言葉が「セキュリティシアター」と呼ばれるのかを解説し、Googleの調査で欠陥が証明された翌年の2016年にJCBがあえてこれを導入した謎に迫る。
この回が答えていること
秘密の合言葉がセキュリティ的に問題とされる理由は何か?
推測されやすい答え(好きなフルーツなど選択肢が限られる)と、推測されにくい答え(マイレージ番号など)は本人も覚えられないためでたらめを入れてしまうという二重のジレンマを抱える。OWASPは「許容される使い道はない」と最も強い言葉で全否定している。
Googleの2015年大規模調査で秘密の合言葉の何が明らかになったのか?
「好きな食べ物は?」への回答の19.7%が「ピザ」だった。つまりピザと入力するだけで約5人に1人のアカウントを突破できる計算になる。論文タイトル「Secrets, Lies, and Account Recovery(秘密、嘘、そしてアカウント復旧)」は、推測されにくい答えは覚えられないため嘘を入れる悪循環を端的に示している。
秘密の合言葉を悪用した実際のハッキング事件にはどんなものがあるか?
2008年の米大統領選でアラスカ州知事サラ・ペイリンのYahooメールがド素人の大学生に45分で乗っ取られた。学生はパスワードリセット画面の秘密の質問「配偶者とどこで出会ったか」の答えをウィキペディアで調べ、高校名を入力するだけで突破した。
JCBはなぜ2016年にあえて秘密の合言葉を導入したのか?
問い合わせへの返答がなく正確な経緯は不明。推測として、メール二段階認証を提案した担当者を「メールはどのアドレスか分からなくなる」と押し切った物分かりの悪い上司の存在、またはベンダーが古いシステムをそのまま納入したケースが考えられる。
秘密の合言葉を求められた場合、どう対処するのが正しいのか?
セキュリティ専門家の推奨は、パスワードマネージャーで生成したランダムな文字列を入力し自分では覚えないこと。根本的にはパスキーへの移行が最善で、端末内に秘密鍵を保存するため人間の記憶に依存しないアーキテクチャが人間の弱さを排除している。
JCBサイトで「好きなフルーツは?」——秘密の合言葉との再会
JCBのMyJCBサイトにログインしようとしたら、「秘密の合言葉の確認」として「一番好きなフルーツの名前は?」と聞かれた。桃・梨・イチゴとあれこれ入れてみたが全て「違います」と言われ、最終的にメールのワンタイムパスワードで認証するよう促された。パスキーが普及しつつある時代に、なぜこんな手法が現役なのか——これが今回の出発点だ。
秘密の合言葉が「悪いセキュリティ」である理由
問題は構造的なジレンマにある。推測されやすい質問(好きなフルーツ、好きな食べ物)は突破されやすく、推測されにくい質問(マイレージ番号など)は本人も覚えていないためでたらめを入れてしまう。
Googleが2015年に発表した数億件規模の調査では、「好きな食べ物は?」への回答の19.7%が「ピザ」だった。英語圏サイトでこの質問を使っている場合、「pizza」と入力するだけで約5人に1人のアカウントを突破できる計算になる。論文タイトルは「Secrets, Lies, and Account Recovery(秘密、嘘、そしてアカウント復旧)」——推測されにくい情報は覚えられないため嘘(でたらめ)を書き始め、結果としてアカウントを乗っ取られるという悪循環をそのまま表現している。
OWASPというセキュリティ団体は「There are no acceptable uses(許容される使い道はない)」と断言。パスワードの後に添付ファイルのパスワードを別メールで送る「パスワードベスト方式」と並ぶ「セキュリティシアター(見せかけの安全)」の典型とされている。
サラ・ペイリン乗っ取り事件——ド素人大学生が45分で突破
2008年の米大統領選最中、共和党副大統領候補でアラスカ州知事のサラ・ペイリンのYahooメールが、ド素人の大学生によってわずか45分で乗っ取られた。
手口は単純だ。「パスワードを忘れた方はこちら」からリセット画面に進むと秘密の質問「配偶者とどこで出会いましたか?」が表示された。学生はウィキペディアでペイリンのページを開き、インタビューで「高校で出会った」と語っているのを確認、その高校名を入力するだけで突破した。公人でなくても、地元の友人なら知っている小学校名や出身地で突破できることを示した事件でもある。
このケースで特に問題だったのは「パスワードリセット」のフローに秘密の合言葉が使われていた点だ。IDとパスワードによる認証を完全に迂回できてしまう、最も有害な使い方といえる。
JCBはなぜ2016年に導入したのか
問い合わせメールを出したが返答はなく、理由は憶測するしかない。最も有力な仮説は「物分かりの悪い上司説」——担当者がメールによる二段階認証を提案したが、上司が「メールはどのアドレスか分からなくなる、秘密の合言葉の方がいい」と押し切ったというもの。もう一つは「ベンダー説」——古い秘密の合言葉システムをそのまま納入されたケースだ。
さらに不可解なのは、MyJCBにはメールでワンタイムパスワードを受け取る機能も存在しているにもかかわらず、秘密の合言葉が主・メールが従という設計になっている点だ。会員登録でメールアドレスは任意項目、秘密の合言葉は必須項目——明らかに逆である。GoogleがすでにピザだけでOKと証明した翌年にわざわざ新規導入し、より安全なメール認証を補完的扱いにしている設計は、日本の大企業のウェブ七不思議の一つと評された。
対策——パスキーと、やむを得ない場合の運用法
根本的な解決策はパスキーだ。端末内に秘密鍵を保存してフェイスIDなどで認証するため、人間が何かを「覚える」必要がない。セキュリティの問題の多くが人間の記憶の弱さに由来するとすれば、パスキーはその弱さをアーキテクチャごと排除した設計といえる。
どうしても秘密の合言葉の登録を求められる場合、セキュリティ専門家が推奨するのはパスワードマネージャーで生成したランダムな文字列を入力し、自分では覚えずマネージャーに管理させること。「好きなフルーツは?」に対して「hash203071」のような文字列を登録する——合言葉を合言葉として運用してはいけない、というのが現代のコンセンサスだ。
MyJCBを使っているリスナーへの実践的なアドバイスとして、メールアドレスを登録したうえで、ログイン時は秘密の合言葉画面に表示される「メールにワンタイムパスワードを送る」リンクを押してメール認証を使うことが勧められている。
この回の要点
- Googleの2015年大規模調査で「好きな食べ物」への回答の約2割がピザと判明。秘密の合言葉はOWASPが「許容される使い道はない」と断言するセキュリティシアターである。
- 2008年のサラ・ペイリンメール乗っ取り事件では、ド素人の大学生がウィキペディアで秘密の質問の答えを調べるだけで45分で突破。パスワードリセットへの利用が最も危険な使い方とされる。
- 秘密の合言葉を求められた場合はパスワードマネージャーのランダム文字列を入力するのが専門家の推奨。根本解決はパスキーへの移行で、人間の記憶に依存しない設計が鍵となる。
この記事は、配信音声の冒頭30分ぶんを機械で文字起こしし、それをもとに編集したものです。番組の公式な要約ではありません。正確な内容は本編をお聴きください。