WebAuthn

WebAuthnとは、ウェブアプリケーションやサービスにおいて、強力な認証手法を提供するための仕組みで、FIDO(Fast Identity Online)をウェブアプリケーションに組み込む為のWebアプリ用標準規格のことです。

WebAuthnは、2019年3月4日にWeb Authentication Working GroupによってW3C(World Wide Web Consortium)推薦としてWeb Authenticationレベル1の仕様が承認されました。

WebAuthnの基本的な概念

WebAuthnの仕組みを理解する為には、まず、FIDOの仕組みについて理解する必要がありますがここでは割愛します。

WebAuthnの基本的概念は以下の通りです。

  1. クライアント(User Agent): クライアントはウェブブラウザやブアプリケーションなど、ユーザーが使用するデバイスやソフトウェアの総称のことです。
  2. Webサービス(Webアプリ):デバイス内にインストールされたブラウザ、ブラウザ内で利用されるサービスを指します。
  3. 公開鍵クレデンシャル(Public Key Credential)の生成: ユーザーがWebサービスにアクセスし、WebAuthnでの認証を選択すると、クライアントが新しい公開鍵クレデンシャルを生成します。
  4. ユーザー認証要求(User Authentication Request): Webサービスがユーザー認証を要求し、クライアントが生成した公開鍵クレデンシャルをWebAuthn APIを介してWebサービスに提供します。
  5. 認証器(Authenticator)の選択: ユーザーは認証に使用する認証器(生体認証デバイス、セキュリティキーなど)を選択します。WebAuthnは多くの認証器タイプをサポートしており、これにより柔軟な認証オプションが提供されます。
  6. ユーザー認証(User Authentication): 選択された認証器を使用して、ユーザーが認証を行います。これには生体認証(指紋認証、顔認証など)やセキュリティキーを使用する場合が含まれます。
  7. 認証情報の検証: Webサービスは、受け取った公開鍵クレデンシャルとユーザー認証情報を検証し、認証の正当性を確認します。検証に成功した場合、ユーザーは認証されます。
  8. 公開鍵クレデンシャルの保存: ユーザーが正当に認証された後、Webサービスは公開鍵クレデンシャルを保存し、今後の認証に使用します。

WebAuthnのメリット

WebAuthnの主な利点は、パスワードを使用しないため、パスワードリレイテッドアタックやフィッシング詐欺からの保護が向上し、セキュリティが向上します。また、多要素認証の一形態としても使用でき、ユーザーエクスペリエンスを向上させることができます。

WebAuthnの流れ

WebAuthnは、認証器となるスマートフォンやタブレットなどユーザーデバイス、ユーザデバイスにインストールされているブラウザ+認証を行いたいWebアプリ、認証サーバーの3者間(※ブラウザとWebアプリは1つとしてカウント)で認証が行われます。

WebAuthnの認証の流れは以下の通りです。

  1. クライアントのWebアプリ内に設置された認証ボタンをタップ(クリック)
  2. Webアプリから認証サーバーにリクエストを送信
  3. WebアプリからWebAuthnの呼び出し
  4. ブラウザから認証器に生体認証のリクエスト
  5. 認証器による生体認証
  6. 認証器から生体認証の結果をブラウザに送信
  7. Webアプリ(ブラウザ)がWebAuthn APIのレスポンスとして認証結果を受信
  8. 認証サーバに認証結果を送信

WebAuthn 対応ブラウザ

  • Google Chrome
  • Firefox
  • Microsoft Edge
  • Safari

WebAuthn 対応認証器

  • Windows
  • MacOS
  • iOS
  • Android

関連用語

パスワードリストアタック セキュリティ用語集 | APPSWINGBY
フィッシング詐欺 セキュリティ用語集 | APPSWINGBY
二要素認証 セキュリティ用語集 | APPSWINGBY

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

モダンアプリケーション開発

クラウドネイティブ技術とアジャイル手法を駆使し、市場投入スピード(Time-to-Market)を最大化。「進化し続けるアプリケーション」を開発します。初期リリースを最速化し、拡張性と柔軟性を備えた、ビジネスの成長に追従できるアプリケーションを開発します。

DX・AI戦略支援

「何から手を付けるべきか分からない」「AIを導入したいが、費用対効果が見えない」といった経営課題に対し、技術とビジネスの両面から解を導き出します。 絵に描いた餅で終わる戦略ではなく、エンジニアリングの実装能力に基づいた、「実現可能で、勝てる技術戦略」を策定します。


リファクタリング・リアーキテクチャ

「システムが古くて改修できない」「障害が頻発する」といった技術的負債を解消します。既存資産の徹底的な診断に基づき、コードのクリーン化(リファクタリング)や、クラウドへの移行(リアーキテクチャ)を行い、システムの寿命を延ばしコストを最適化します。