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