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のセキュリティサービスについて、詳しくは以下のメニューからお進みください。

Webシステム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。