パスキーとは?
- IAM 用語集
- パスキーとは?
パスキーとは、パスワードの代わりに暗号鍵を用いてアカウントやアプリにログインする、最新のパスワードレス認証技術です。パスキーは、生体認証(指紋や顔認証など)を利用して本人確認を行います。
パスキーとパスワードの違いとは?
似たような名前ですが、パスキーはパスワードとは全くもって異なります。
パスワードとは?
パスワードとは、ウェブサイトやアプリへとログインする際に、ユーザーが入力しなければならない文字列のことで、通常はユーザー名と一緒に入力します。データ漏洩やアカウント乗っ取りを防ぐため、NIST はパスワードが以下のような構成になることを推奨しています。
- 最低 8 文字
- すべての特殊文字を使用することができるが、使用するための特別な要件はないこと
- 連続した文字や繰り返し文字の制限(例:12345 や aaaaaa)
- 文脈に応じたパスワードの制限(例:サイト名)
- よく使われるパスワード(例:qwerty、password123)および辞書の単語の使用を制限
パスキーとは?
パスキーとは、公開鍵暗号方式を用いた新しい認証技術で、パスワードを入力することなくウェブサイトやアプリにログインすることができます。ユーザーは、携帯電話やタブレットのロック解除と同じように、指紋や顔などの生体認証、スワイプパターン、暗証番号を入力することで認証を行います。利便性を考えると、ほとんどの人が生体認証を選ぶでしょう。
アカウントにログインするためのパスワードを作る代わりに、ユーザーは「オーセンティケーター」を使ってパスキー(実際には 1 つの秘密鍵と 1 つの公開鍵からなるペア)を生成します。この「オーセンティケーター」は、パスキー技術をサポートするスマートフォンやタブレットなどのデバイス、ウェブブラウザ、パスワードマネージャーなどとなります。
パスキーを生成する前に、オーセンティケーターは、暗証番号、スワイプパターン、生体認証を使用してユーザー自身を識別することを要求します。その後、公開鍵(ユーザー名とほぼ同じ)をアカウントのウェブサーバーに送信して保存し、秘密鍵をローカルで安全に保存します。オーセンティケーターがスマートフォンなどのデバイスの場合、秘密鍵はデバイスのキーチェーンに保存されます。パスワードマネージャーの場合、秘密鍵はパスワードマネージャーの暗号化ボルトに保管されます。
パスキーはどのように機能するのですか?
新しいパスキーを作成するには、ユーザーは自分のアカウントに通常通りサインインし、ウェブサイトまたはアプリのセキュリティ設定画面からパスキーオプションを有効にします。ウェブサイトまたはアプリは、ユーザーのデバイスに関連付けられたパスキーを保存するよう促します。その後、ウェブブラウザまたはオペレーティングシステムが生体認証を要求して、その要求を承認し、パスキーがローカルに保存されます。
その後、ウェブサイトにログインすると、パスワードの代わりにデバイスのパスキーを使用してログインするようユーザーに指示します。ウェブブラウザがデバイス間におけるパスキーの同期をサポートしている場合、パスキーはそれらのデバイス間において利用可能になります。
ユーザーがウェブサイトやアプリのパスキーを持たないデバイスを使用している場合でも、他のデバイスを使用する機会があるかもしれません。ブラウザがクロスデバイス認証に対応していれば、ブラウザは、モバイル デバイスでスキャンできる QR コードを使用してユーザーにプロンプトを表示し、サインインを完了することができます。また、クロスデバイス認証では、Bluetooth を使用して近接性を確保することも可能です。
これが、エンドユーザーの目に映るものです。では、その裏側、つまりサーバーレベルで何が起きているのかを見てみましょう。エンドユーザーがパスキーを使ってアカウントにログインしようとすると、アカウントサーバーはデータ列からなる「チャレンジ」をオーセンティケーターに送信します。オーセンティケーターは秘密鍵を使ってチャレンジを解決し、応答を返します。これは、データの「署名」と呼ばれるプロセスで、ユーザーの身元を確認します。
このプロセスでは、アカウントサーバーがユーザーの秘密鍵にアクセスする必要はなく、機密情報が送信されることもありません。これは、サーバーが保管する公開鍵が、秘密鍵と数学的に関連付けられているためです。サーバーは、秘密鍵がユーザーのものであることを確認するために、公開鍵と署名されたデータだけを必要とします。
パスキーの方が安全ですか?
パスキーは、多くの理由から、パスワードよりも安全です。
- パスワードが機能するためには、アカウントサーバーがパスワード (または少なくともそのハッシュ) を保存して、保存されたデータとユーザーが入力したパスワードを比較できるようにする必要があります。前のセクションで説明したように、パスキー技術では、アカウントサーバーにユーザーの秘密鍵を保存する必要はなく、公開鍵のみを保存すればよいのです。アカウントサーバーが侵害された場合、攻撃者は公開鍵のみにアクセスでき、公開鍵は付随する秘密鍵なしでは役に立ちません。
- ほとんどの人は、パスワードの衛生状態がよくありません。パスワードが短すぎたり、辞書に載っている単語や推測しやすい経歴を含んでいたりします。複数のサイトでパスワードを使いまわしています。また、パスワードマネージャーを使わず、付箋や暗号化されていないテキストファイルにパスワードを保存しています。一方、パスキーはユーザーのオーセンティケーターによって生成されるため、毎回非常に複雑で、すべてのユーザーとすべてのアカウントに固有のものです。
- また、多くの人が二要素認証(2FA)でアカウントを保護していません。パスキーは設計上 2FA に依存します。パスキーを使用するには、エンドユーザーはオーセンティケーターを近くに持っていなければならず、「生体情報(生体認証)」と「所持情報(オーセンティケーター)」という基準を満たす必要があります。
- パスワードとは異なり、パスキーはフィッシングスキームで侵害されることはありません。ユーザーを騙して、偽のそっくりなサイトでパスキーを入力させることは不可能だからです。
パスキーはパスワードやパスワードマネージャーに取って代わるのでしょうか?
パスキーは最終的にパスワードの代わりになるかもしれませんが、パスワードマネージャーの代わりにはなりません。 。代わりに、パスワードマネージャーはさらに重要性が高まります。これは、パスキーがオーセンティケーターに関連付けられているためです。ユーザーは、デバイス(通常はスマートフォンですが、タブレット、ラップトップ、デスクトップも使用できます)を使用するか、パスキーをサポートするパスワードマネージャーを使用するかを選択できます。
ほとんどの人がスマートフォンを常に持ち歩いているため、最初はスマートフォンを認証手段として使用することは理にかなった選択肢のように思えるかもしれません。しかし、ほとんどの人が複数のデバイスを使用しているため、すぐに不便な状況となります。ユーザーがノートパソコンやタブレットなどの別のデバイスでアカウントまたはアプリにアクセスしたい場合は、そのデバイスで QR コードを生成し、それをオーセンティケーターでスキャンし、生体認証を使用して最終的にサインインする必要があります。
2023 年初頭にパスキーのサポートを展開する Keeper のようなパスワードマネージャーでは、パスキーを物理的なデバイスではなくアプリケーションに結びつけることで、このプロセスを大幅に簡略化することができます。
どのような企業がパスキーをサポートしていますか?
この記事を書いている時点では、この技術に対応しているウェブサイトやアプリの数はまだ多くはありません。Apple、Microsoft、Best Buy、GoDaddy、PayPal、Kayak、eBay などが、今現在パスキーをサポートしている大手企業です。
しかし、その利便性と安全性から、パスキーの人気は急速に高まっています。Google は 2022 年 12 月に Windows、Android、macOS 向けの Chrome stable M108 にパスキーのサポートを展開し、iOS と Chrome OS へのサポートも計画中で、Android アプリにパスキーサポートを導入する新しい API セットも提供する予定です。