AppleがiOS 16での正式に導入し、世界シェアNo.1のGoogleによるWebブラウザ「Chrome」でも先日正式に対応するようになったのが、パスワードに変わる新たな認証方式の「パスキー」だ。この機能により、ユーザーはパスワードを使わず、安全にWebサイトやサービスにサインイン出来るようになる。
では、このパスキーとは一体どのような物なのか?パスワードとの違いは何か?そしてどのように動作するのか?本稿では今後Webサービス認証方式の標準になるであろう「パスキー」について改めて解説する。
目次
パスキーとは何か?
パスキーは、Webサイトやアプリにパスワードを使うことなくサインインでき、より便利で安全なパスワードの代替となるように設計された業界標準の新たな認証方式だ。
パスワードとは異なり、パスキーはフィッシングに強く、強固で、秘密を共有しないように設計されている。
パスキーは、あなたのコンピュータやスマートフォンにFast IDentity Online(FIDO)認証情報という形で保存される物で、オンラインアカウントのロックを解除するために使用される。パスキーは、アクセスに公開鍵暗号を使用するWeb Authentication API (WebAuthn) のセキュリティ標準を使用して作成されている。それぞれの鍵はユニークなもので、暗号化されたデータで作成されるため、セキュリティが強化されている。そして、あなたが認証情報を所有していることの証明は、スマートフォンのロックを解除したときにのみオンライン・アカウントに表示される。
パスキーは、流出、漏洩、盗難の可能性があるパスワードを認証フローから排除するため、アカウント漏洩のリスクを低減することができる。さらに、パスキーはパスワードのようにサイト間で再利用されることがないため、盗まれた認証情報が他のアカウントに影響を与えるリスクも低くなる。
パスキーの認証には、指紋や顔認識などの生体認証、またはPINやAndroidで使用されるスワイプパターンのいずれかによる認証が必要となる。
パスキーは、ユーザーの端末でのみ動作するため、QRコードのない別の端末ではパスキーの機能を使うことができない。ユーザーは、自分のスマートフォンからQRコードをスキャンし、Face IDまたはTouch IDを使って、近くにある別のデバイスでもサインインすることができる。
改めて、パスワードとは何か?
パスワードは、サインインの際に識別のために文字列を使用する。通常、ユーザー名と組み合わせることで機能する。そして、パスワードは、そのユーザーだけが知っているユニークなものでなければならない。
パスワードの長さは受け入れるサービスにより様々で、多くは特殊文字、文字、数字を含むことができる。データを保護するために、企業は強力なパスワードのガイドラインと定期的な更新の時間枠を含むパスワードポリシーを実装する必要がある。
パスワードに関する大きな問題の一つは、複数のパスワードを記憶し、再利用しないことが求められる点だろう。パスワードの再利用は、悪意ある者が一度パスワードを入手すると、同じ認証情報を使って様々なアカウントにアクセスできるため、セキュリティ上の問題を引き起こす可能性があります。しかし、多くのWebサービスが氾濫する中、それぞれにユニークなパスワードを設定し、ユーザーがそれら全てを覚えておくと必要があるというのはどだい無理な話である。
そこで複数のパスワードを覚えておくために、ユーザーはパスワードマネージャーを利用する。パスワードマネージャーは、1つのマスターパスワードまたはキーを使用して、Webサイトやアプリケーションのサインイン認証するために、データベースから正しいパスワードを引き出すものだ。ChromeやSafariなどのWebブラウザ、1PassWordなどのアプリで使ったことがあるかもしれない。ユーザーはパスワードマネージャーにまずはサインインすれば、あとはパスワードマネージャーがフォームに入力してユーザーをここのサービスにサインインさせてくれるので、ユーザーは複数のパスワードを覚える必要がなくなる。だが、パスワードマネージャーを利用することは、パスワードを覚える必要がなく、ここのサービスで異なるパスワードを設定できると言う点でセキュリティの向上に役立つかもしれないが、パスワードマネージャー自体のパスワードが盗まれる可能性もあり、完全に安全とは言えない。
パスキーはどのように動作するか?
パスキーは WebAuthnに基づいているため、ユーザーは Face ID や Touch ID などの生体認証を使用したり、PIN を使用してログイン試行を検証したりすることができる。より高いレベルでは、ユーザー名とパスワードの組み合わせに依存する代わりに、パスキーはユーザーのデバイスを使用して、ユーザーがアカウントの正当な所有者であることを証明する。
GoogleのChromeパスワードとAppleのiCloudキーチェーンは、クラウドを通じて複数のデバイス間でパスキーを同期させる。新しいデバイスを追加する場合、ユーザーはパスキーを使用するためにデバイスを同期させる必要がある。
その際に、パスキーはBluetoothの技術を使用する。Bluetoothは電波の届く範囲が狭く、物理にデバイス同士を近づける必要があるため、ユーザーの確認に役立つのだ。
このデモサイトのように、パスキーをすでに実装しているWebサイトを訪れると、iPhoneの場合はデバイスを使用するか、iCloudキーチェーンに保存されている認証情報を使用するサインインの新しいオプションが表示される。
もしサイトにあらかじめ登録したアカウントを持っていない場合は、いくつかの基本情報を尋ねられ、パスワードなしでiCloudキーチェーンにパスキーを保存することができる。一度アカウントを登録すると、iCloudベースのパスキーは、同じApple IDを持つAppleデバイス間で共有される。
デスクトップからサインインする際には、Bluetoothを介してパスキーが保存されているスマートフォンと接続する方法や、QRコードを用いる方法がある。
これらはすべて、FIDOが提唱するマルチデバイス認証に基づくもので、ユーザーがパスワードなしでサインインできるように、デバイス間で認証キーを保存できるようにするものだ。つまり、プラットフォームを超えて機能するのだ。GoogleはChrome M108からパスキーを実装しており、Androidにパスキーを近日中に導入することを明らかにしている。Microsoftはまだこの技術を自社プラットフォームで実装していない。
パスキーは、1つの公開鍵と1つの秘密鍵のペアを生成し、デバイスに保存することで機能する。公開鍵はクラウドに保存され、それぞれの秘密鍵を持つデバイス間で共有される。これにより、サーバーが侵害された場合でも、攻撃者はアカウントにアクセスするための両方の鍵を持っていないことが保証され、ユーザーの安全が保たれるのだ。
パスキーがパスワードより優れている理由
パスワードは現在主流の認証方式ではあるが、優れてはいないだろう。まず、人々はパスワードを覚えておかなければならない。そして、サインインするサイト・サービスごとにパスワードを変えてそれら全てを覚えておくのは非現実的であり、実践している人はほとんどいないだろう。
また、パスワードは本質的にサイバー攻撃やデータ漏洩の被害を受けやすいものだ。悪質な業者は、フィッシング詐欺を使って、不正なウェブサイトでパスワードを共有するように人々をだますことができる。漏洩したパスワードを使えば、簡単にサインインすることが出来てしまう。だがパスキーは、データがサーバーではなくデバイスに保存されるため、そう簡単に盗まれることはない。
そしてパスキーが安全なのはそもそも盗み出すのが難しいと言うのもある。他人のアカウントに侵入しようとする悪意のある者は、デバイスにアクセスし、ロックを解除するために指紋、顔認証、PINを取得する必要があるのだ。あるいは、Bluetoothを使用するためにその人のデバイスの近くにいなければならない。誰かがデバイスを紛失しても、泥棒は生体認証がなければ情報にアクセスできない。
また、パスキーはそれぞれユニークで、強力な暗号化アルゴリズムを使って作成される。ユーザーは、覚えやすいからと、推測される可能性のある弱いパスワードをビクビクしながら使う必要もない。
一般的に、ユーザーは複数のサイトやサービスに対して同じパスワードを使い回す傾向があるため、悪意のある人物がそのパスワードを知ってしまうと、複数のアカウントにアクセスされてしまう可能性がある。弱いパスワードは、ユーザーと企業の双方に脆弱性を生み出す。パスキーを使えば、そもそもパスワードを覚えておく必要もないのだ。
FIDO Allianceによれば、パスワードのみの認証はセキュリティ上の大きな問題であり、消費者にとっても不便なものである。消費者がパスワードを再利用する場合、データ漏洩や個人情報の盗難のリスクが大きくなる。パスワードマネージャーや二要素認証があっても、パスワードはオンラインで保存されるため、盗まれる可能性がある。FIDO AllianceとW3Cの取り組みは、サインイン技術をより使いやすく、より安全なものにするための業界全体の協力体制である。
ユーザーはパスキー技術の使用を強制されることはないが、iOSやAndroidが採用を始めることにより、これから多くのWebサイトやアプリがオプションとしてパスキーを提供し始めことだろう。
Sources
コメント