パスキーによるフィッシング耐性の向上

毎年5月の第1木曜は「世界パスワードの日(World Password Day)」として長く知られていましたが、昨年からは「世界パスキーの日(World Passkey Day)」と名前を新たに様々な取り組みが実施されています。パスキーによる認証を推進する業界団体であるFIDO Allianceでも新たな取り組みである「パスキー宣言」を発表し、Oktaもこれに署名しています。

passkeys blog

日本からもLINEヤフー社、NTTドコモ社等の複数企業が賛同し、向こう1年をとおしパスキーの導入拡大に向けた取り組みを実施していきます。

ここで改めて「パスキー」とは何であり、どのようなメリットがあり、どのような課題について議論されているのか解説します。

「パスキー」とは

「パスキー」の普及が進むにつれ、様々な文脈で「パスキー」という用語が使われ、混乱している方もいらっしゃるかもしれません。

本ブログでは、FIDO Allianceの定義を引用し、「パスキー」=パスワードレス認証(FIDO認証)に利用される認証資格情報として取り扱います。
※「パスキー」を構成する標準技術であるWebAuthnを策定しているW3Cでは、「パスキー」=「パスワードレス認証(FIDO認証)に利用される”ディスカバラブルな”認証資格情報」としてより狭義の定義をしています。

「パスキー」の仕組み概要

パスキーを利用した認証、つまりFIDO認証の仕組みは、公開鍵、秘密鍵を利用したチャレンジレスポンスの仕組みに基づいています。

従来のパスワードによる認証のように、クライアント側でパスワードを入力し、その内容をサーバー側に送信するのではなく、スマートフォンやセキュリティキーといった認証器を利用してクライアント側で認証し、その結果をサーバー側に送信するという仕組みです。

パスキーはフィッシング耐性があることで知られていますが、特筆すべきは、認証器はサーバーの識別子(ドメイン情報)に対して署名したものを送付し、サーバーはその署名を検証するという仕組みです。これにより、正規のドメインと異なるドメイン(例:偽のフィッシングサイト)では認証が成立しないようになっています。

現在議論されている課題

「パスキー」の普及が進むにあたり、実際の運用を見据えた様々な課題が継続議論されています。ここでご紹介する論点の1つは、「いつすべての認証シナリオをパスキーだけにするのか」です。つまり、通常の認証だけではなく、フォールバックやアカウント復旧の場面においてもパスキーを利用するということです。

セキュリティの観点から言えば、弱い認証強度のシナリオが残存している場合、そのシナリオがセキュリティリスクとなります。

例えば、普段、パスキーを利用していたとします。しかし、認証器として利用するスマートフォンを紛失し、アカウントを復旧しなければならない場面で、ID・パスワードのような脆弱な認証で復旧ができてしまうと、攻撃者はこのアカウント復旧の手順を悪用しアカウント乗っ取りを試みます。

実際に、アカウント復旧の手順を狙った攻撃事例は今も継続して発生しています。

理想的には、複数の認証器を事前に登録しておくことが求められます。例えば、スマートフォンが利用できない場合には、PCやセキュリティキーを利用して認証を行うといったケースです。

しかし、セキュリティキーを事前に配布しておくことは困難であったり、認証器を複数求めることが難しいケースも多いのが実情かもしれません。

そういった場合には、いかに精度高く、かつヘルプデスクの負担を少なく本人確認を実施するのかといった点が重要になってきます。

フィッシング耐性のある技術を採用する際には、このように網羅的な検討が必要となってきます。ユーザーエクスペリエンスへの影響や、ヘルプデスクの方の作業負荷、本人確認ソリューションとの連携等を考慮すると、段階的な実装が有効な場合も多いでしょう。

今後、様々な企業でパスキーの導入が進むにつれ、ベストプラクティスの集約やプラットフォーム間の相互運用性も向上し、より活用のしやすい世界になっていく、「パスキー宣言」に賛同されている各社協働でそういった未来をつくっていければと思います。