WebAuthn 【Web Authentication】
概要
WebAuthn(Web Authentication)とは、公開鍵暗号によるデジタル署名を応用し、Web上でパスワード不要の認証を実現する技術。業界団体FIDO Allianceが「FIDO2」として策定した仕様をもとに、W3Cが標準化した。WebサイトがWebブラウザを通じて利用者の認証を行う際、利用者側でFIDO規格に対応した認証器を使用する。認証器には本人が所有する公開鍵暗号の秘密鍵が記録されており、対になる公開鍵をサイト側に登録する。
サイト側からの求めに応じて認証を行う際、利用者は認証器に対してPIN(Personal Identification Number:暗証番号)入力や生体認証(指紋認証や顔認証など)を行い、これが成功するとサイトに対して秘密鍵で署名したデータ(トークン)が送信される。サイト側では利用者の公開鍵を用いてトークンを検証し、対になる秘密鍵で署名されていることを確かめる。
利用者とサイトの一連のやり取りを第三者が傍受しても、秘密鍵やPIN、認証用の生体情報など秘密の情報の手がかりとなるデータは何も得ることができず、トークンを偽造して本人になりすますこともできない。認証器を盗み出しても、PINや生体認証を突破できなければ本人に代わって使用することはできない。
認証器としてスマートフォンを使用し、パソコンからWebサービスにアクセスする際に登録されたスマートフォンへ認証要求を送信するといった利用法が一般的だが、セキュリティキーと呼ばれる専用の装置をUSBやBluetooth(BLE)、NFCなどでコンピュータに接続して使用することもできる。
WebAuthnの基本的な仕組みパスワード不要のオンライン認証を実現するFIDOのバージョン2仕様に基づいており、これをWebサービスで利用できるようWebブラウザに実装すべきAPIやブラウザと認証器の通信仕様(CTAP:Client-to-Authenticator Protocol)などを追加して策定された。2019年にW3Cによって標準規格が発行され、Google ChromeやMozilla Firefox、Microsoft Edge、Apple Safariなど主要なWebブラウザ製品が対応している。