#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]]