【スポンサーリンク】

「パスキーのすゝめ」(仕組みと二要素認証との違い)

「パスキーのすゝめ」(仕組みと二要素認証との違い)
  • パスキー」は、自動生成された複雑な文字列で、暗号変換の「種」になる情報です。
  • 秘密鍵と公開鍵のペアで使用し、スマートフォンやパスワード管理サービスに安全に保管され、必要なときにロックを解除して使います。
  • パスワードに代わる新しい認証方法で、フィッシング攻撃に強く、生体認証と組み合わせることで高いセキュリティと利便性を提供します。
  • パスキーは同期サービスを通じて複数のデバイスで使用でき、将来的にオンライン認証の標準となる可能性があります。
「パスキーのすゝめ」(仕組みと二要素認証との違い)

要は、「パスキー」は、これまでパスワードをスマートフォン内に記憶するような感じで、より複雑な文字列を記憶しています。
最近は、パスワード管理アプリを使って、サイトごとに複雑なパスワードを自動生成し、記憶したパスワードを自動入力させることが一般的になりました。

それなら、人間が読める「パスワード」の形にこだわらなくてもよくなったのです。

「パスキーのすゝめ」(仕組みと二要素認証との違い)

フィッシング攻撃が「割に合わなく」なって、迷惑メールが減ってくれるといいなぁ。

\記事が役に立ったらシェアしてね/
【スポンサーリンク】

1. 「パスキー」とは何か

「パスキー」とは何か

インターネットを見ていたら「パスキー」を登録しなさい、って出てきたんだけど、したほうがいい?

パスキー(Passkey)」は、秘密鍵と公開鍵という2つのデジタルデータのペアを使って認証する方法です。
従来のパスワードに代わる新しい認証方法です。

「パスキー」とは何か
  • 秘密鍵はスマートフォンの中の「安全な保管庫」に保存されます。
  • 公開鍵はウェブサイトに渡して保管してもらいます。
「パスキー」とは何か

パスワードと違ってパスキーのデータは、ユーザーが直接 目にすることはありません。
これは、家の鍵でもふだんは細かな形を見ないのと一緒です。

そのサイトでのパスキーの登録が済んでいれば、ログインは簡単。

パスキーでのログインの主な流れ
  1. サイトやアプリのログインページを開く
  2. ユーザー名やメールアドレスを入力する
  3. 「パスキーでログイン」や「生体認証でログイン」などのボタンを押す
  4. スマホのロック解除を求められるので解除する
「パスキー」とは何か

パスキーを使うと、もうパスワードを覚えなくていいの?

パスキーを使うと、全部ではないものの、かなりパスワードの管理を減らせます。

「パスキー」とは何か

私は、銀行の通帳アプリを開くたびに顔認証によるロック解除がワンステップあります。
といっても、画面を見ているだけですぐに済むので手間はありません。

1-1. パスキーは盗まれにくい

パスキーは、FIDO Allianceによって標準化が進められ、主要なテクノロジー企業がサポートを表明しています。

この方法の特徴は、公開鍵暗号技術と生体認証と組み合わせていることです。

  1. 公開鍵暗号方式
    デバイス上で秘密鍵と公開鍵のペアを生成します。
    秘密鍵はデバイスに安全に保存され、公開鍵はサーバーに登録されます。
  2. 生体認証との連携
    指紋認証やFace IDなどの生体認証と組み合わせて使用されます。
  3. パスワードレス
    ユーザーが覚える必要のある長い文字列がなくなります。

パスキーの最大のメリットは、「だまされても盗まれにくい」ことです。

生活の中でオンラインでのやり取りが増えました。
そこで、より安全に認証する方法が重要になっています。

パスキーは盗まれにくい
  • 長年、パスワードが主流でしたが、他人に知られてしまうだけで簡単になりすまされてしまうという「脆さ」もあります。
  • そこで「二要素認証(2FA)」が出てきました。
    しかし、この方法はちょっと手間があり、毎回のログインでするのは大変。
    ついログアウトせずにそのまま使うことも増えてしまいます。
  • そこで、さらに「パスキー」という新しい認証方法が考えられました。
    これが、ログインページのあとに選択肢として出てくることが増えてきたのです。

パスキーは、設定後は非常に使いやすく、多くの場合ワンステップで認証が完了します。

パスキーは盗まれにくい

二要素認証の利点を維持しながら、より便利で安全な認証方法を提供しようと考えられました。

2. パスキーを設定するときに何が起こっているのか?

パスキーを設定するときに何が起こっているのか?

「パスキー」の登録って、つまり何をどこに登録したことになっているの?

パスキーは鍵のペアで、秘密鍵がデバイス内に、公開鍵がウェブサイト側に保存されます。

パスキーを設定するときに何が起こっているのか?

ウェブサイトにアクセスしたとき、パスキーをまだ設定していない新しいデバイスの場合、認証プロセスの途中で「パスキーの設定」の提案があることがあります。

パスキーの設定の手続
  1. 従来の方法で初期認証をする
  2. パスキーについての提案に同意する
  3. パスキーを作成しサーバーに登録する
  4. 同期サービスに追加情報を記録する

新しいデバイスでアカウントにアクセスする際、まずは従来の方法(パスワードや二段階認証など)で認証を行います。
サイト側で認証を完了すると、「新しいデバイスでパスキーを設定する」という選択肢が提示されます。

パスキーを設定しようとすると、同時にパスキーに生体認証(指紋認証やFace IDなど)を関連付けるよう求められます。

パスキーを設定するときに何が起こっているのか?

無視して「後で」「スキップ」などとしてもよいですが、ここではパスキーの設定に進んでみます。

2-1. 暗号鍵のペアを作る

同意すると、まずデバイス内では新しい鍵ペア公開鍵秘密鍵)が生成されます。

生成された秘密鍵は、ハードウェアで保護された領域に保存されます(デバイスの「セキュアエンクレーブ1」や「信頼できるプラットフォームモジュール(TPM)1」など。
この秘密鍵は、デバイスから直接エクスポートされることはありません。

新しく生成された公開鍵だけがサーバーに送信され、自分のアカウントと関連付けられます。

このとき、ほかのデバイスでスムーズにログインするために、同期サービスにも「新しいパスキーに関する情報(メタデータ)」を追加できます(iCloudキーチェーンやGoogle Passwordマネージャーなど)。

これで、パスキーの設定は完了です。
これ以降は、そのスマホなら生体認証だけでログインできるようになりました。

暗号鍵のペアを作る

パスキーは、そのウェブサイトやアプリに特化したものなので、他のサイトでは使用できません。これがフィッシング攻撃への耐性を高めている理由の一つです。

2-2. パスキーでの認証の仕組み

パスキーを使った認証の基本的な流れについて説明します。

パスキーを使った認証の流れ
  1. ユーザーがログインを試みる
  2. サーバーが「チャレンジ」を送信
  3. デバイスが秘密鍵で署名
  4. サーバーが公開鍵で検証
パスキーでの認証の仕組み

まず、ユーザーがウェブサイトやアプリにログインしようとします。
この時点で、ユーザーは自分のデバイス(スマートフォンやパソコンなど)を使用します。

次に、ログイン先のサーバーが「チャレンジ」と呼ばれる特別なデータをユーザーのデバイスに送ります。
このチャレンジは、認証のために必要な情報です。

ユーザーのデバイスは、受け取ったチャレンジに対して秘密鍵を使って署名をします。

最後に、サーバーは受け取った署名を公開鍵で確認します。
この確認作業によって、ユーザーが本人であることを認証します。

2-3. パスキーは「オプション」

パスキーは「オプション」

生体認証って、指紋や顔を使うってことだけど、怪我したらログインできなくなっちゃうんじゃない?

多くのサイトは、「パスキー」だけでなく、従来のパスワード認証(や二段階認証)も用意しています。

パスキーは「オプション」

完全にパスワード認証をやめるわけではありません。
大事なものはふだんはしまっておけば、盗まれにくくなります。
パスワード認証は緊急時に限ることで、リスクを減らしているのです。

3. パスキーは公開鍵暗号技術

要素内容保存場所説明
秘密鍵暗号化された個人キーユーザーのデバイスデバイスのセキュアエンクレーブや信頼できるプラットフォームモジュール(TPM)に安全に保存されます。
外部に出ることはありません。
公開鍵秘密鍵に対応する公開キーサービス提供者のサーバーユーザーアカウントと関連付けられて保存されます。
認証時に使用されます。
ユーザー情報ユーザー名、
メールアドレスなど
サービス提供者のサーバー公開鍵と関連付けられて保存されます。
生体認証データ指紋、
顔データなど
ユーザーのデバイスデバイスの安全な領域に保存され、外部に送信されることはありません。
パスキーの使用時に照合されます。
メタデータパスキーの使用履歴、
デバイス情報など
クラウドサービス(iCloudキーチェーンなど)暗号化された形で保存され、デバイス間の同期に使用されます。実際の鍵情報は含まれません。
アカウント復旧情報回復用メールアドレス、セキュリティ質問の回答などサービス提供者のサーバーパスキーを紛失した場合のアカウント回復に使用されます。
パスキーは公開鍵暗号技術

パスキーの登録は単一の情報を一箇所に保存するのではなく、複数の要素を適切に分散して保存することで成り立っています。

3-1. 二要素認証との比較

パスキーと二要素認証(2FA)は、どちらもセキュリティを向上させる認証方法ですが、アプローチが異なります。

二要素認証との比較

二要素認証では、通常、「知っているもの」(パスワード)と「所有しているもの」(スマートフォンなど)を組み合わせます。
従来のパスワードだけの認証よりも安全ですが、それでもSMSの確認コードを傍受されたり、中間者攻撃のリスクは残ります。

パスキー認証では、実質的には複数の要素を組み合わせています。
「所有しているもの」(デバイス)と「本人であるもの」(生体認証)を統合しているからです。
パスキーには、認証先のサイトの情報も含まれるため、偽サイトなどに送ってしまう心配もありません。

二要素認証との比較

SMSハイジャックが目立つようになって来たからかな。

二要素認証との比較

パスキーなら仮にスマホが盗まれてロック解除されなければ大丈夫。

3-2. セキュリティ証明書との比較

セキュリティ証明書との比較

なんか、ウェブサイトのセキュリティ証明書と似ているね。
何が違うの?

確かに、パスキーとウェブサイトのセキュリティ証明書(SSL/TLS証明書)の仕組みは似ています。
でも、その方向は真逆なんです。

セキュリティ証明書との比較

ウェブサイトのセキュリティ証明書は、そのサイトが信頼できることを示すために使われます。
一方、パスキーはユーザー個人の認証に使用されます。

セキュリティ証明書との比較

セキュリティ証明書に比べて、パスキーの普及が遅れたのはどうして?

パスキーの普及が遅れた要因
  • 既存のパスワード認証でもなんとかなっていた
  • 便利に使えるようにするために複雑な技術的課題があった
  • 仕組みだけでなくユーザーの操作が必要だった

解決する問題の緊急性と重要性

セキュリティ証明書との比較

「緊急性」の違いが最も本質的な要因だと考えられます。

SSLは、「インターネット上の通信セキュリティ」という喫緊の課題に対応するものでした。
オンラインでの情報のやり取りや取引が増える中、データの盗聴や改ざんを防ぐ必要性は極めて高く、早急な対応が求められました。

一方、パスキーが解決しようとしている「認証」の問題は、既存のパスワード認証でも、ある程度のセキュリティは確保できていました。
そのため、、SSLほどの緊急性はなかったのです。

技術的な複雑さとシステム全体への影響

また、セキュリティ証明書は主にサーバー側の変更で済みました。
ブラウザが自動的に処理してくれるため、ユーザーは「安全な接続」というアイコンを確認するだけで良かったのです。

一方、パスキーはユーザー認証を根本的に変更します。
企業は認証システムを根本から変更する必要があり、ユーザーも新しい認証方法を理解する必要があります。
パスキーでは秘密鍵はユーザー端末に保存されるからです。
秘密鍵を安全に運用するために生体認証との統合やデバイス間の同期など、より複雑な技術的課題がありました。

セキュリティ証明書との比較

人々の習慣や企業のシステムを変えることは、技術的な課題以上に時間がかかる場合があります。
SSLとパスキーの普及速度の違いを生み出したのは、この違いです。

4. パスキーの同期とメタデータ

パスキーの同期とメタデータ

もし、スマートフォンをなくしちゃったら、パスキーはどうなるの?
アカウントにログインできなくなっちゃうの?

二要素認証では、デバイスを失くした場合のリカバリーが難しい場合がありました。
その点、パスキーはスムーズに新しいデバイスに移行できます。

パスキーの重要な要素である「同期の仕組み」について考えてみます。

パスキーの同期とメタデータ

ちなみに、パスキーは同期サービスを前提とはしていません。
同期サービスを使用しない場合、各デバイスのパスキーは完全に独立に存在することになります。
ただ、同期サービスと連携するとはパスキーはとても便利になります。

4-1. 秘密鍵がなくても本人確認ができればよいわけ

秘密鍵がなくても本人確認ができればよいわけ

パスキーが簡単に移行できるのは便利だろうけど、コピーできたら危ないんじゃない?

まず、秘密鍵そのものが同期サービスに送られるわけではありません。
これは、スマートフォンの「セキュアエンクレーブ」から取り出せません。

自分の持っているほかのスマートフォンでも新しい鍵ペアを生成するのですが、そのために必要になるのが、パスキーの同期サービスと「メタデータ」。

秘密鍵がなくても本人確認ができればよいわけ

Apple iCloudキーチェーンやGoogle Passwordマネージャーなどのクラウドサービスが、パスキーの同期を管理しています。

パスキーを設定するときに、同期サービスにも暗号化されたメタデータを保存しました。
メタデータには、どのアカウントにどのパスキーが関連付けられているかという情報が含まれます。

GoogleアカウントのパスキーのメタデータをiCloudキーチェーンに保存する場合
GoogleアカウントのパスキーのメタデータをiCloudキーチェーンに保存する場合
一般的なパスキーのメタデータの内容例
  • サービス名/ドメイン:
    パスキーが関連付けられているウェブサイトやアプリケーションの識別情報
  • ユーザー名/アカウントID:
    そのサービスにおけるユーザーの識別子
  • デバイス情報:
    パスキーが作成されたデバイスの種類や識別子
  • 作成日時・最終使用日時:
  • 公開鍵の情報:
    パスキーの公開鍵部分のハッシュ値や暗号アルゴリズムの種類など
  • ステータス情報:
    アクティブ、無効化、更新済みなどの状態

パスキーのメタデータは、自分のアカウント(たとえば、Googleアカウント)でサインインしているほかのデバイスにも知らされます。
すると、そのデバイスでもこのメタデータをもとに、それぞれ新しいパスキーのペア(公開鍵と秘密鍵)が作ります。
この新しい公開鍵がサーバーに登録され、既存のパスキーと関連付けられます。

新しいデバイスで初期設定などでアカウントにサインインしたときにも、メタデータは同期されます。
そこで、そのデバイスにも固有の新しい鍵ペアが生成されます。

秘密鍵がなくても本人確認ができればよいわけ

この方法により、各デバイスは独自の秘密鍵を持ち、一つのデバイスが侵害されても他のデバイスのセキュリティは維持されます。

4-2. 信頼の連鎖

信頼の連鎖

これって、Googleアカウントを乗っ取られたら、 パスキーで登録しているほかのサービスも危ないんじゃない?

信頼の連鎖

そのとおりです。
同期サービスの認証は、その後の全てのパスキー使用の信頼性の基礎となります。

もし、この最初の認証(この場合はGoogleアカウントやApple ID)が信頼できないものであれば、その後のパスキーを使用した認証も信頼できなくなってしまいます。

攻撃者がユーザーのGoogleアカウントに不正アクセスすると、パスキーメタデータにアクセスできてしまうおそれがあります。
これは、システム全体を脅かす危険です。

そのため、多くの同期サービスは多要素認証(MFA)を採用しています。
また、多くのサービスでは、パスキーを使用する際に追加の認証(生体認証など)を要求することで、不正使用のリスクを軽減しています。

信頼の連鎖

一応、パスワードだけではパスキーは盗めないんだね。

信頼の連鎖

もちろん、ユーザー側が同期サービスのセキュリティを真剣に考えるのが大前提です。
強力なパスワードの使用、MFAの有効化、セキュリティ通知の確認など、設定しなければ約に立たないからです。

まとめ

「パスキー」は、新しい技術のため、全てのサービスでサポートされているわけではありません。

今後、パスキーの普及が進むにつれ、オンライン認証の風景が大きく変わる可能性があります。

セキュリティと利便性の両立を目指すパスキーは、デジタル時代の新たな認証標準となる潜在性を秘めています。

こちらもどうぞ。
機種変更の後でパスキーが必要になった(Googleパスキー)
機種変更の後でパスキーが必要になった(Googleパスキー)
スマートフォンの機種変更をしたら、パソコンの Googleアカウントからログアウトしていました。 Googleアカウントにログインをしようとすると「パスキー」による認証を要求されました。どうも、新しいスマートフォンの初期設定のときに、Googleアカウントの「パスキー」を有効にしていたようです。 「パスキー」は、登録したスマートフォンなどのロック解除の操作をするだけで、パスワードを入力できたことにする仕組みです。 Googleアカウントがログアウトされていた 最近、スマートフ...

「認証」とは?(AuthenticationとVerification)
「認証」とは?(AuthenticationとVerification)
アカウントの「認証」とは、かんたんに言えば「本人確認」のこと。たとえば、オンラインサービスを利用する際に、あなたが本人であることを確認するプロセスです。 認証の判断材料には「生体情報」「所持情報」「知識情報」の3つの要素があり、それぞれ顔や指紋、ICカード、パスワードなどが使われます。 最近は、セキュリティを強化するために、これらの要素を組み合わせた「多要素認証」が推奨されています。 認証 「認証」は、「Authentication」や「Verification」の訳語として...

Google Authenticatorとは?
Google Authenticatorとは?
「Google Authenticator」は、いろんなサービスでの二段階認証を補助するアプリです。 認証アプリは、SMSを受信できない端末でも一時的な認証コードを取得できる仕組みです。 対応しているサービスなら、あらかじめ二段階認証の設定をしておくことでアカウントのセキュリティを向上できます。 ユーザーは、事前に利用しているサービス(たとえば、Instagramなど)の設定で「二段階認証」を有効にし、表示されるQRコードをAuthenticatorに登録しておきます(共有シ...

EXアプリで「生体認証が一時的に利用できません」?(Secure Lock Screen機能)
EXアプリで「生体認証が一時的に利用できません」?(Secure Lock Screen機能)
「EXアプリ(Android版)」で顔認証を使ってログインしようとしたら、「Secure Lock Screen機能が無効になっているか、指紋/顔情報が登録されていません」というエラーが出ました。 「Secure Lock Screen」は、Androidの「画面ロック」が有効なら機能しているはずなので、エラーメッセージは的外れです。 よく調べてみると、EXアプリ(Android版)は指紋認証には対応しているものの、顔認証には対応していないのが原因でした。 なぜかEXアプリの...

(補足)

  1. セキュアエンクレーブは、デバイス内の隔離された安全な領域で、機密データや重要な処理を保護するために設計されています
QRコードを読み込むと、関連記事を確認できます。

「パスキーのすゝめ」(仕組みと二要素認証との違い)
【スポンサーリンク】
タイトルとURLをコピーしました