Googleはすべての主要プラットフォームでGoogleアカウントにおけるパスキーのサポートを開始した。パスワードや2段階認証などの既存の認証方法と並んで追加の認証オプションとして利用可能になる。
Googleによるとパスキーはユーザーが認証を受けるための従来よりも簡単で安全な方法を提供するという。
パスキーを使うとユーザーがデバイスのロック解除するのと同じ方法(指紋、顔スキャン、スクリーンロックPIN)でアプリケーションやサイトにサインインできるようになる。またパスワードとは異なりフィッシングなどのオンライン攻撃に強いため、SMSによるワンタイムコードよりも安全だ。
ユーザーにとってパスワードの管理が難しいことは周知の事実である。ユーザーは利用するサービスごとに異なる強力なパスワードを作成し記憶しなければいけない。それが実際に強力であってもフィッシングの可能性はゼロにはならないのに、二要素認証(2FA)(これも独自の欠点を持っている)とともに頻繁に使われている現状だ。
パスキーは暗号化された秘密鍵でユーザーの端末に保存され、対応する公開鍵はGoogleにアップロードされる。ユーザーがパスキーを使ってGoogleにサインインしようとすると、Googleはユーザーの端末に秘密鍵を使ったチャレンジに署名するように要求するのだ。
署名は、そのデバイスがパスキーを持っているのであなたのものであること、あなたがその場にいてロックを解除したこと、そしてあなたが仲介のフィッシングサイトではなく、実際にGoogleにサインインしようとしていることを証明するものだ。
チャレンジはユーザーがデバイスのロックを解除した場合にのみ署名できる。このステップでは指紋や顔認識など多くのデバイスで利用できる高度な生体認証ハードウェアを活用可能だ。そして暗証番号も使用できる。Googleによると生体情報は署名デバイスの外部では共有されず公開鍵と署名のみが送信されるという。
Googleは携帯電話を使って別のデバイスでサインインする仕組みも定義した。これは共有の端末から自分のアカウントにアクセスする場合に重要である。このケースでは、まず新しいデバイスでBluetoothを使って携帯電話が近くにあることを確認し、次にQRコードを表示してユーザーが許可すれば携帯電話でスキャンして、ワンタイムパスキー署名を生成する。新しいデバイスはパスキーも生体情報も受け取らない。
パスキーは個々のデバイスに存在し、各デバイスは独自のものを取得する必要があるため、この点は面倒になる可能性がある。これを回避するためにパスキーはすべてのデバイスで共有できるのだ。Googleはこのための普遍的なメカニズムを提供していないが、ユーザーはAppleデバイスのiCloud KeychainとAndroidおよびChromeデバイスのGoogleパスワードマネージャを使えば、シームレスなアカウント体験ができる。しかしサードパーティのSSHキーマネージャを使用しない限りiPhoneとAndroidデバイスの間でパスキーを共有できない。そしてマイクロソフトはWindowsデバイス間で機密情報を共有するための公式ソリューションをまだ提供していない。
Googleアカウントのパスキーを作成するには当分の間専用ドメインが必要である。
Googleは昨年からAppleやマイクロソフトと共同でパスワードレス認証のためのFIDOやW3C WebAuthnなど、業界全体で採用できる標準的なアプローチを定義している。