WebAuthn の変更点


#author("2023-04-15T09:27:09+09:00","default:k1rou","k1rou")
#author("2023-04-15T09:28:09+09:00","default:k1rou","k1rou")
*WebAuthn [#ab447f6d]
**名称 [#c00744ec]
-Web Authentication

**概要 [#j5d3c216]
-[[FIDO]]認証を実現する[[Webブラウザ]]の機能(API)
--JavaScriptを使ってAPIにアクセスする
-[[パスワード]]を使わない[[認証]](パスワードレス)の仕組み
-[[2要素認証]]([[公開鍵暗号方式]]を使う。[[SMS]]を使わない)
--[[2要素認証]]([[公開鍵暗号方式]]を使う。[[SMS]]を使わない)
-[[フィッシング]]攻撃の耐性がある

*API(JavaScript) [#gbb0488b]
-Web Authentication API
--[[Credential Management API]] をベースにしている

-登録
 navigator.credentials.create()
--パラメータ
 Attachment
 User Verification
 Require ResidentKey

-認証
 navigator.credentials.get()
--パラメータ
 Allow Credentials

*登場人物 [#a91d694d]
-Authenticator
--[[認証器]](FIDO Authenticator)
--認証(デバイスのPIN、指紋認証など)
--秘密鍵の管理(Webアプリのorigin毎の鍵ペアを生成し、秘密鍵を保持する)
--署名の生成(認証時にWebアプリから渡された乱数に署名する)
--Cross-platform Authenticator :セキュリティキーなど
--Platform Authenticator :OS提供機能など(Platform API)

-Relying Party
--Webアプリ
--認証器 が生成した公開鍵を保持する
--認証要求時に乱数を生成して認証器 に渡す

-Client
--Webブラウザ
--認証器とWebアプリ間を中継する
--WebアプリのJavaScriptによりWebブラウザのWebAuthn(API)が呼び出される
--Webアプリのoriginを指定して認証器を呼び出す。その際にWebアプリから受け取った乱数を認証器に渡す

*採用を発表している企業・団体 [#za954e45]
-[[Google]]
-[[Mozilla]]
-[[Microsoft]]
--Edge - 2018年10月対応予定

*ブラウザの設定 [#k5d5e9b6]
**Firefox [#jab49933]
-about:config
--security.webauth.webauthn
--security.webauth.webauthn_enable_softtoken
--security.webauth.webauthn_enable_usbtoken

*関連サイト [#pe8c7c7e]
-[[W3C]]
--https://www.w3.org/TR/webauthn/
--https://www.w3.org/Webauthn

-https://developer.mozilla.org/ja/docs/Web/API/Web_Authentication_API ※日本語訳
-https://webauthn.org/ ※デモ

*関連用語 [#j63f63f8]
-[[認証]]
-[[公開鍵暗号方式]]
-[[チャレンジ・レスポンス認証]]
-[[セキュリティキー]]
-[[Attestation]]
-FIDO2 -[[FIDO]]
-[[TPM]]