WebAuthn

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

WebAuthn (Web Authentication)とはユーザーのパブリックキー認証英語版のインターフェイスをウェブ型のアプリケーションやサービスへと標準化するための、World Wide Web Consortium (W3C)によるウェブ標準の1つで[1][2]FIDO Allianceから支援を受けている[3]。ユーザーの証明をやり取りする時にウェブサイトとウェブブラウザ間の相互作用を形式化する試みであるW3Cのより一般的なクレデンシャル管理英語版APIの拡張を実装する。

2019年3月4日に、ウェブ標準として承認された[4]

概要[編集]

前身のFIDO U2Fのように、W3C Web Authentication (WebAuthn)はウェブサイトウェブブラウザ、認証器に対応している:[1]

  • ウェブサイトはWebAuthn Relying Partyに準拠する。
  • ブラウザはWebAuthn Clientに準拠する。
  • 認証器はFIDO2 authenticatorでWebAuthn Clientと互換性があるとされる。

WebAuthnはWebAuthn Relying Partyと称する検証者に要求者が所有をどのように証明するかを明記し、FIDO2認証器をコントロールする。認証プロセスは準拠するウェブブラウザに過ぎないWebAuthn Clientと呼ばれるエンティティが取り持っている。

画像外部リンク
通常のWeb Authentication (WebAuthn) の流れ

右図では、認証器はハードウェア認証器と仮定する。どちらの場合でも、認証器は多要素暗号認証器でWebAuthn Relying Partyを対象とした認証アサーションに証明するために公開鍵暗号を利用する。ユーザー確認にPINを使用すると仮定するとして、認証器は「ユーザーが持っているもの」でPINは「ユーザーが知っているもの」とする。

WebAuthn Relying PartyはJavaScriptを経由してWebAuthn Client(ウェブブラウザなど)に指示する。WebAuthn Clientはブラウザに実装されたJavaScriptのAPIをする認証器とやり取りする。認証器はFIDO Client to Authenticator Protocol英語版 2.0に準じている。

対応アプリケーション、デバイス[編集]

WebAuthnレベル1スタンダードは2019年3月4日にWeb Authentication Working Group英語版によってW3C推薦として公開された[1][4][5]Google Chromeデスクトップ版ではバージョン67から対応している[6] 過去のFIDO U2F標準に全て対応しているわけではなかったMozilla Firefoxでは2018年5月9日に公開されたバージョン60でWebAuthnに対応した[7]。2018年時点のMicrosoft EdgeWindows InsiderリリースでもWebAuthnは実装されていて、Windows Helloや外部セキュリティキーと共に作動している[8]

WebAuthnは各アカウント固有の「ユーザーハンドル」識別子を参照する機能を追加したことで古いハードウェアトークンを保存することができなくなったにも関わらず既存のFIDO U2FセキュリティキーはWebAuthn標準とほぼ互換性がある[1]。最初のFIDO2互換認証器英語版の1つははYubicoの第2世代セキュリティキー英語版であることが2018年4月10日に発表されている[9]

Dropboxは2018年5月8日にWebAuthnログイン(2段階認証として)に対応したと発表した[10]

批判[編集]

2018年8月、Paragon Initiative Enterprisesは予定されているWebAuthn標準のセキュリティ検査を行った。この時は特定の悪用は発見されなかったが、この標準が使用し権限を与える基礎的な暗号の方法においていくつかの重大な脆弱性を発見したとしている[11]

批判の主要な点は、過去に他の暗号化システムで問題になっていた2つの潜在的問題を中心に回っていて、そのために同じようなサイバー攻撃の被害に遭うのを避けなければいけないという点である:

  • COSE (RFC 8152) の強制使用によりWebAuthnもPKCS1v1.5パッディング英語版を活用したRSA暗号に対応している。この特定のパッディングスキームは最低20年間特定の攻撃英語版に対して脆弱性があり、過去他のプロトコルとRSA暗号の実装で攻撃に成功している。WebAuthnの環境では与えられた条件下では悪用するのは難しいが、より安全性の高い暗号プリミティブとパッディングスキームがある場合、これは未だに悪い選択肢で、暗号専門家などの間では最も良い試みとは考えられていない。
  • FIDO allianceはECDAAと呼ばれる非対称暗号スキームを標準化した[12]。これは楕円曲線をベースにした直接匿名認証英語版バージョンであり、WebAuthnのケースにおいて、認証器の整合性を確認するために使用されることを意図しつつ、ハンドルの世界的な相互関係を受け入れないことでユーザーのプライバシーを保護する。しかし、ECDAAは楕円曲線暗号の領域での過去数十年の研究で培われた教訓の一部を取り入れておらず、選択した曲線はこの曲線の種類固有のセキュリティ上の欠陥が複数あり、セキュリティの保証を著しく低下させている。さらにECDAA標準は過去に問題を起こしたことがある手当たり次第かつ非決定的な署名を含んでいる。

脚注[編集]

  1. ^ a b c d Web Authentication: An API for accessing Public Key Credentials Level 1”. World Wide Web Consortium (W3C) (2019年3月4日). 2019年3月4日閲覧。
  2. ^ Web Authentication Working Group”. W3C. 2018年5月11日閲覧。
  3. ^ FIDO2 Project”. FIDO Alliance. 2018年5月11日閲覧。
  4. ^ a b W3C and FIDO Alliance Finalize Web Standard for Secure, Passwordless Logins”. World Wide Web Consortium (W3C) (2019年3月4日). 2019年3月4日閲覧。
  5. ^ Protalinski, Emil (March 4, 2019). "W3C Approves WebAuthn as the Web Standard for Password-Free Logins".
  6. ^ Brand, Christiaan (2018年6月3日). “Enabling Strong Authentication with WebAuthn”. Google Developers. 2018年6月25日閲覧。
  7. ^ Shankland, Stephen (2018年5月9日). “Firefox moves browsers into post-password future with WebAuthn tech”. CNET. 2018年5月11日閲覧。
  8. ^ Sarkar, et. al. (2018年5月23日). “Announcing Windows 10 Insider Preview Build 17682”. Microsoft. 2018年6月25日閲覧。
  9. ^ “Yubico Launches New Developer Program and Security Key for FIDO2 and WebAuthn W3C Specifications” (プレスリリース), (2018年4月10日), https://www.yubico.com/press-releases/280530/ 2018年5月11日閲覧。 
  10. ^ Girardeau, Brad (2018年5月8日). “Introducing WebAuthn support for secure Dropbox sign in”. Dropbox Tech Blog. Dropbox. 2018年5月11日閲覧。
  11. ^ Security Concerns Surrounding WebAuthn: Don't Implement ECDAA (Yet)”. Paragon Initiative Enterprises Blog (2018年8月23日). 2018年10月9日閲覧。
  12. ^ FIDO ECDAA Algorithm”. FIDO Alliance (2018年2月27日). 2018年10月9日閲覧。

外部リンク[編集]