はじめに
パスキーは、パスワードよりも安全で簡単な手段です。パスキーを使用すると、ユーザーは生体認証センサー(指紋認証、顔認証など)、PIN、パターンを使用してアプリやウェブサイトにログインできるため、パスワードを記憶したり管理したりする必要がなくなります。
デベロッパーもユーザーもパスワードが嫌いです。ユーザー エクスペリエンスを低下させ、変換を阻害し、ユーザーとデベロッパーの両方にセキュリティの責任を生じさせます。Android と Chrome の Google パスワード マネージャーは、自動入力を導入する際の手間を軽減します。コンバージョンとセキュリティをさらに向上させたいデベロッパーにとって、パスキーや ID 連携は業界の最新のアプローチです。
パスキーは、1 ステップで多要素認証の要件を満たして、パスワードと OTP(6 桁の SMS コードなど)の両方を置き換えることで、フィッシング攻撃に対する堅牢な保護を提供し、SMS やアプリベースのワンタイム パスワードの UX の問題を回避します。パスキーは標準化されているため、1 回の実装で、さまざまなブラウザやオペレーティング システムにわたって、ユーザーのすべてのデバイスでパスワードのないエクスペリエンスを提供できます。
パスキーは簡単です。
- ユーザーはログインに使用するアカウントを選択できます。ユーザー名を入力する必要はありません。
- ユーザーは、指紋認証センサー、顔認証、PIN など、デバイスの画面ロックを使用して認証できます。
- パスキーを作成して登録すると、ユーザーは新しいデバイスにシームレスに切り替えて、すぐに再登録できます(各デバイスで設定する必要がある従来の生体認証とは異なり)。
パスキーはより安全:
- デベロッパーが公開鍵をサーバーに保存する際、パスワードは保存しなければなりません。つまり、不正な行為者がサーバーをハッキングできる可能性ははるかに低く、侵害が発生した場合のクリーンアップもはるかに少なくなります。
- パスキーは、ユーザーをフィッシング攻撃から保護します。パスキーは、登録されたウェブサイトやアプリでのみ機能します。ブラウザや OS が確認を処理するため、ユーザーをだまして偽のサイトで認証させることはできません。
- パスキーは、SMS の送信コストを削減し、2 要素認証プロセスの安全性と費用対効果を高めます。
パスキーとは何ですか?
パスキーは、ユーザー アカウントとウェブサイトまたはアプリケーションに関連付けられたデジタル認証情報です。パスキーを使用すると、ユーザーはユーザー名やパスワードを入力したり、追加の認証要素を入力したりせずに認証できます。この技術は、パスワードなどの以前の認証メカニズムを置き換えることを目的としています。
ユーザーがパスキーを使用するサービスにログインするときに、ブラウザまたはオペレーティング システムが適切なパスキーを選択して使用できるようにします。これは、現在保存されているパスワードの動作と似ています。正当な所有者のみがパスキーを使用できるようにするため、システムでデバイスのロックを解除するよう求められます。この操作は、生体認証センサー(指紋認証、顔認証など)、PIN、パターンで行えます。
ウェブサイトまたはアプリのパスキーを作成するには、まず、そのウェブサイトまたはアプリに登録する必要があります。
- アプリに移動し、既存のログイン方法を使用してログインします。
- [パスキーを作成] ボタンをクリックします。
- 新しいパスキーで保存されている情報を確認してください。
- デバイスのパス ロック解除を使用してパスキーを作成します。
このウェブサイトまたはアプリに戻ってログインする際には、次の手順を実施できます。
- アプリケーションに移動します。
- アカウント名フィールドをタップすると、自動入力ダイアログにパスキーのリストが表示されます。
- パスキーを選択します。
- デバイスの画面ロック解除を使用してログインを完了します。
ユーザーのデバイスがパスキーに基づいて署名を生成します。この署名は、オリジンとパスキーの間のログイン認証情報を検証するために使用されます。
ユーザーは、パスキーが保存されている場所に関係なく、パスキーを使用して任意のデバイスのサービスにログインできます。たとえば、スマートフォンで作成したパスキーを使用して、別のノートパソコンでウェブサイトにログインできます。
パスキーはどのような仕組みですか?
パスキーは、オペレーティング システム インフラストラクチャを使用して、そのオペレーティング システムで実行されているアプリケーションでパスキーを作成、バックアップ、利用できるようにします。Android では、パスキーを Google パスワード マネージャーに保存できます。これにより、同じ Google アカウントにログインしているユーザーの Android デバイス間でパスキーが同期されます。パスキーは、同期前にデバイス上で安全に暗号化されるため、新しいデバイスで復号する必要があります。Android OS 14 以降を搭載したユーザーは、互換性のあるサードパーティのパスワード マネージャーにパスキーを保存することを選択できます。
ユーザーは、パスキーを使用できるデバイスのみに限定されません。ノートパソコンで利用できるパスキーは、ノートパソコンに同期されていない場合でも使用できます。ただし、スマートフォンがノートパソコンの近くにあり、ユーザーがスマートフォンでログインを承認する場合に限ります。パスキーは FIDO 標準に基づいて構築されているため、すべてのブラウザで採用できます。
たとえば、ユーザーが Windows マシンの Chrome ブラウザで example.com
にアクセスしたとします。このユーザーはすでに Android デバイスで example.com
にログインし、パスキーを生成しています。Windows マシンで、ユーザーが別のデバイスのパスキーでログインすることを選択します。2 つのデバイスが接続され、指紋認証センサーなどを使用して Android デバイスでパスキーの使用を承認するように求められます。この操作を行うと、Windows マシンにログインできます。パスキー自体は Windows マシンに転送されないため、通常は example.com
で新しいパスキーの作成が提案されます。こうすることで、次回ログインする際にスマートフォンは必要ありません。詳しくは、スマートフォンでログインするをご覧ください。
パスキーのユーザー
すでに多くのサービスで、システムでパスキーが使用されています。
- DocuSign
- Kayak
- メルカリ
- NTT ドコモ
- PayPal
- Shopify
- Yahoo! 日本
実際に試す
次のパスキーでパスキーを試すことができます。 https://passkeys-demo.appspot.com/
プライバシーへの配慮
- 生体認証を使用したログインは、機密情報をサーバーに送信しているという誤った印象をユーザーに与える可能性があります。実際には、生体認証マテリアルがユーザーの個人デバイスの外部に送信されることはありません。
- パスキーだけでは、サイト間でユーザーやデバイスをトラッキングすることはできません。同じパスキーを複数のサイトで使用しないでください。パスキー プロトコルは、サイトと共有される情報を追跡ベクトルとして使用できないように慎重に設計されています。
- パスキー マネージャーは、パスキーを不正アクセスや不正使用から保護します。たとえば、Google パスワード マネージャーはパスキー シークレットをエンドツーエンドで暗号化します。アクセスや使用ができるのはユーザーだけです。ユーザーは Google のサーバーにバックアップされていても、Google がこれらのユーザーになりすましてアクセスすることはできません。
セキュリティ上の考慮事項
- パスキーは、公開鍵暗号を使用します。公開鍵暗号により、潜在的なデータ侵害による脅威が軽減されます。ユーザーがサイトまたはアプリでパスキーを作成すると、ユーザーのデバイスに公開鍵と秘密鍵のペアが生成されます。公開鍵はサイトによってのみ保存されますが、攻撃者は単独では役に立ちません。攻撃者がサーバーに保存されているデータからユーザーの秘密鍵を抽出することはできません。これは認証を完了するために必要です。
- パスキーはウェブサイトやアプリの ID にバインドされているため、フィッシング攻撃から保護されます。ブラウザとオペレーティング システムでは、パスキーを作成したウェブサイトまたはアプリでのみパスキーを使用できます。これにより、ユーザーは本物のウェブサイトやアプリにログインする必要がなくなります。
通知を受け取る
Google パスキー デベロッパー向けニュースレターに登録すると、パスキーの更新に関する通知を受け取ることができます。