はじめに
パスキーは、パスワードの安全で簡単な置き換えです。パスキーを使用すると、生体認証センサー(指紋認証や顔認証など)、PIN、パターンを使用してアプリやウェブサイトにログインできるため、パスワードを記憶して管理する必要がなくなります。
パスキーは、パスワードと 2 つ目の要素を 1 つの手順で置き換えることができます。パスワード フォームを自動入力するだけのシンプルなユーザー エクスペリエンスを実現できます。パスキーは、SMS やアプリベースのワンタイム パスワードとは異なり、フィッシング攻撃から強力に保護します。パスキーは標準化されているため、1 つの実装でさまざまなブラウザやオペレーティング システムでパスワードレスのエクスペリエンスを実現できます。
パスキーとは
パスキーは、ユーザー アカウントとウェブサイトまたはアプリケーションに関連付けられたデジタル認証情報です。パスキーを使用すると、ユーザーはユーザー名やパスワードを入力したり、追加の認証要素を指定したりせずに、認証できます。このテクノロジーは、パスワードなどの従来の認証メカニズムを置き換えることを目的としています。
ユーザーがパスキーを使用するサービスにログインしようとすると、ブラウザまたはオペレーティング システムが、適切なパスキーを選択して使用できるようにします。その仕組みは、現在保存されているパスワードの仕組みとほぼ同じです。正当な所有者のみがパスキーを使用できるようにするため、デバイスのロック解除を求めるメッセージが表示されます。これは、生体認証センサー(指紋認証や顔認証など)、PIN、パターンによって実施できます。
ウェブサイトまたはアプリケーションのパスキーを作成するには、まずそのウェブサイトまたはアプリケーションに登録する必要があります。
- アプリケーションに移動し、既存のログイン方法を使用してログインします。
- [パスキーを作成] ボタンをクリックします。
- 新しいパスキーで保存されている情報を確認します。
- デバイスの画面ロック解除を使用してパスキーを作成してください。
ユーザーがこのウェブサイトまたはアプリに戻ってログインすると、次の手順で操作できます。
- アプリケーションに移動します。
- [ログイン] をクリックします。
- パスキーを選択します。
- デバイスの画面ロック解除を使用してログインを完了します。
ユーザーのデバイスがパスキーに基づいて署名を生成します。この署名は、生成元とパスキーの間のログイン認証情報を確認するために使用されます。
パスキーの保存場所に関係なく、ユーザーは、パスキーを使用して、どのデバイスからでもサービスにログインできます。たとえば、スマートフォンで作成したパスキーを使用して、別のノートパソコンでウェブサイトにログインできます。
パスキーの仕組み
パスキーは、パスキー マネージャーがオペレーティング システムで実行されているアプリケーションでパスキーを作成、バックアップ、使用できるようにするオペレーティング システム インフラストラクチャで使用することを目的としています。Android 版 Chrome では、パスキーは Google パスワード マネージャーに保存され、同じ Google アカウントにログインしているユーザーの Android デバイス間でパスキーを同期します。
パスキーの使用は、保存されているデバイスのみに限定されません。スマートフォンに保存されているパスキーは、ノートパソコンにログインするときに使用できます。ただし、スマートフォンがノートパソコンの近くにあり、ユーザーがスマートフォンでログインを承認していれば、パスキーはノートパソコンに同期されません。パスキーは FIDO 標準に基づいて構築されているため、すべてのブラウザでパスキーを使用できます。
たとえば、ユーザーが Chromebook で example.com
にアクセスしたとします。このユーザーは以前に iOS デバイスで example.com
にログインし、パスキーを生成しました。Chromebook で、ユーザーが別のデバイスからパスキーでログインすることを選択します。2 つのデバイスが接続され、ユーザーは Face ID などを使用して iOS デバイスでパスキーの使用を承認するように求められます。ユーザーは Chromebook からログインします。なお、パスキー自体は Chromebook に転送されないため、通常は example.com
で新しいパスキーの作成を求められます。こうすることで、ユーザーが次回ログインするときにスマートフォンは必要ありません。詳しくは、スマートフォンでログインするをご覧ください。
プライバシーへの配慮
- ウェブサイトまたはアプリに生体認証が突然表示され、機密情報がサーバーに送信されていると考えた場合、一部のユーザーは驚く可能性があります。パスキーを使用すると、ユーザーの生体情報がウェブサイトやアプリに開示されることはありません。生体認証マテリアルがユーザーの個人用デバイスから送られることは決してありません。
- 単純にパスキーを使用してサイト間のユーザーやデバイスを追跡することはできません。同じパスキーが複数のサイトで使用されることはありません。パスキー プロトコルは、サイトと共有される情報を追跡ベクトルとして使用できないように慎重に設計されています。
- パスキー マネージャーは、パスキーを不正アクセスや不正使用から保護します。たとえば、Google パスワード マネージャーはパスキー シークレットをエンドツーエンドで暗号化します。アクセス、使用できるのはユーザーのみです。また、Google のサーバーにバックアップされていても、Google がユーザーになりすますことはできません。
セキュリティ上の考慮事項
- パスキーは公開鍵暗号を使用します。公開鍵暗号により、潜在的なデータ侵害による脅威が軽減されます。ユーザーがサイトまたはアプリでパスキーを作成すると、ユーザーのデバイスに公開鍵と秘密鍵のペアが生成されます。公開鍵のみがサイトに保存されますが、これだけで攻撃者は無用です。攻撃者がサーバーに保存されているデータからユーザーの秘密鍵を導出できません。秘密鍵は認証を完了するために必要です。
- パスキーはウェブサイトやアプリの ID にバインドされているため、フィッシング攻撃から保護されます。ブラウザとオペレーティング システムは、パスキーを作成したウェブサイトやアプリでのみ使用できるようにします。これにより、ユーザーが本物のウェブサイトやアプリにログインしてしまう事態を回避できます。
通知を受け取る
Google パスキー デベロッパー ニュースレターに登録して、パスキーの更新に関する通知を受け取ります。
次のステップ
- ウェブ上でパスワードなしのログインのパスキーを作成する方法を学習する。
- ユーザーがウェブ上でフォームの自動入力を使用してパスキーでログインできるようにする方法を確認する
- Credential Manager を使用して Android アプリにログインする方法を学習する。