【ITニュース解説】多要素認証すり抜け攻撃「リアルタイムフィッシング」の手口 対策はパスキー?
2025年09月29日に「TechTargetジャパン」が公開したITニュース「多要素認証すり抜け攻撃「リアルタイムフィッシング」の手口 対策はパスキー?」について初心者にもわかりやすく解説しています。
ITニュース概要
多要素認証を突破する新しいフィッシング詐欺「リアルタイムフィッシング」の手口が脅威となっている。この巧妙な攻撃に対し、有効な対策として注目されているのが「パスキー認証」だ。記事では、リアルタイムフィッシングの脅威と、パスキー認証の仕組みや導入方法を解説する。
ITニュース解説
システムエンジニアを目指す皆さんにとって、情報セキュリティは非常に重要なテーマだ。近年、インターネット上での個人情報やアカウントの乗っ取りを狙う「フィッシング詐欺」が巧妙化しており、その最前線で脅威となっているのが「リアルタイムフィッシング」と呼ばれる新しい手口だ。これは、これまで有効とされてきた多要素認証さえもすり抜けるため、深刻な問題となっている。そして、この強力な攻撃に対抗する新たな認証技術として注目されているのが「パスキー認証」だ。
まず、リアルタイムフィッシングがどのようなものか、その手口から見ていこう。従来のフィッシング詐欺は、偽のウェブサイトを作り、ユーザーをだましてIDやパスワードなどの認証情報を入力させることで、それらを盗み出すのが主な手口だった。これに対し、多くのウェブサービスが導入したのが「多要素認証」だ。これは、パスワードだけでなく、スマートフォンに送られるワンタイムパスワードや生体認証など、複数の異なる要素を組み合わせて本人確認を行うことで、たとえパスワードが漏洩しても、もう一つの要素がなければログインできないようにする仕組みだ。これにより、セキュリティは格段に向上したと考えられていた。
しかし、リアルタイムフィッシングは、この多要素認証をも突破する。その手口は非常に巧妙で、「中間者攻撃(Man-in-the-Middle Attack)」と呼ばれる技術を悪用する。攻撃者は、ユーザーと正規のウェブサイトの間に「プロキシサーバー」のような役割を果たす偽のサイトを挟み込む。ユーザーがこの偽サイトにアクセスすると、そのサイトはリアルタイムで正規のウェブサイトと通信し、正規サイトのコンテンツをユーザーに表示する。ユーザーは見た目では正規サイトにアクセスしていると思い込むため、ID、パスワード、さらには多要素認証のコードや生体認証の承認要求といった、あらゆる認証情報をこの偽サイトに入力してしまう。攻撃者は、ユーザーが入力したこれらの情報を、偽サイトを通じて瞬時に正規サイトに転送し、正規サイトから受け取った認証セッション情報(例えば、ログイン済みを示すクッキーなど)をユーザーに送り返す。この一連のやり取りをリアルタイムで行うことで、攻撃者はユーザーがログインしようとしているまさにその瞬間に、ユーザーの認証情報を盗み出し、同時にその認証情報を使って正規サイトへのログインを成功させるのだ。これにより、攻撃者は正規サイトから得られたログインセッション情報を使って、ユーザーのアカウントに成りすましてアクセスできるようになる。ユーザーが入力した情報は、攻撃者の手に渡ると同時に、実際に正規サイトの認証に使われてしまうため、多要素認証も意味をなさなくなってしまうのだ。これが、リアルタイムフィッシングがこれまでの多要素認証をすり抜ける脅威的な手口であり、その被害は金銭的な損失だけでなく、個人情報の流出や企業秘密の漏洩にまで及ぶ可能性がある。
このような強力な攻撃に対抗するため、次世代の認証技術として期待されているのが「パスキー認証」だ。パスキー認証は、パスワードを使わない認証方法であり、その根本的な仕組みがリアルタイムフィッシングのような中間者攻撃に非常に強い耐性を持つ。
パスワード認証は、覚えるのが大変だったり、使い回しによって他のサービスに波及したり、推測されやすかったりと、多くの弱点がある。多要素認証で強化されてきたとはいえ、リアルタイムフィッシングが示すように、完全に安全とは言えない状況だった。そこで登場したパスキーは、FIDOアライアンスという業界団体が推進する「WebAuthn(ウェブオースン)」という標準技術に基づいている。
パスキーの仕組みを簡単に説明しよう。パスキーは、ユーザーがアカウントを作成する際や、既存のアカウントに設定する際に生成される。このとき、ユーザーのデバイス(スマートフォンやPCなど)上に「秘密鍵」が生成され、同時に、その秘密鍵と対になる「公開鍵」がウェブサービス側に登録される。この「秘密鍵」はデバイスの外に出ることはなく、生体認証(指紋や顔認証)やデバイスのPINコードなどで保護される。
ユーザーがログインしようとすると、ウェブサービスはパスキー認証を要求する。ユーザーは自分のデバイスで生体認証などを行い、デバイスに保存されている秘密鍵をアンロックする。この秘密鍵を使って、ウェブサービスから送られてきた情報を「署名」し、その署名をウェブサービスに送り返す。ウェブサービス側は、事前に登録されている公開鍵を使って、その署名が正しいかどうかを検証する。署名が正しければ、ユーザーは本人であると認められ、ログインが成功する。
なぜこの仕組みがリアルタイムフィッシングに強いのかというと、二つの大きな理由がある。一つは、ユーザーが認証情報を直接入力することがないため、攻撃者が認証情報を盗み出す機会がないことだ。パスワードのように入力する情報が存在せず、秘密鍵もデバイスから外に出ないため、盗まれることがない。もう一つは、パスキーが特定のウェブサイトに対してのみ有効なように設計されている点だ。パスキー認証では、認証時にウェブサイトのドメイン名も検証する。もし攻撃者が偽のウェブサイトを立ててパスキー認証を要求しても、その偽サイトのドメイン名と、パスキーが紐づいている正規サイトのドメイン名が一致しないため、認証は失敗する。これにより、たとえユーザーがうっかり偽サイトにアクセスしてしまっても、パスキーが機能することはないのだ。
パスキー認証の導入は、ユーザーにとっての利便性も大きく向上させる。複雑なパスワードを覚える必要がなくなり、パスワードの使い回しによるリスクも解消される。生体認証によってスムーズにログインできるようになるため、ログインの手間が軽減される。ウェブサービスを提供する側にとっても、パスワード管理の負担が減り、セキュリティを強化できるというメリットがある。
現在、主要なウェブブラウザやオペレーティングシステムがパスキーをサポートし始めており、Google、Apple、Microsoftといった大手企業もパスキーの普及を強く推進している。多くのウェブサービスがパスキーに対応していくことで、これまでのパスワード中心の認証から、パスキーを基盤とするより安全で便利な認証へと移行していくことが期待される。ただし、すべてのサービスがパスキーにすぐに対応できるわけではないため、既存の認証システムとの共存や、ユーザーへの新しい認証方法の理解を促すための啓発活動も重要となるだろう。
リアルタイムフィッシングのような巧妙な攻撃が登場する中で、情報セキュリティの進化は不可欠だ。パスキー認証は、単にパスワードをなくすだけでなく、攻撃の根本を断つことで、より安全なオンライン環境を実現する可能性を秘めている。システムエンジニアを目指す皆さんは、このような最先端のセキュリティ技術を理解し、今後のシステム開発や運用に活かしていくことが求められる。パスキーが提供する新たな認証の形は、私たちがインターネットをより安全に利用するための重要な一歩となるだろう。