Web認証:Web API Basic認証の利用方法

更新済み: 2026年09月08日 読了目安時間: ~

要約

Web Authentication(WebAuthnまたはFast Identity Online 2.0(FIDO2.0)とも呼ばれる)は、従来のユーザー名とパスワードによるログインを生体情報やハードウェアキーに置き換える、パスワードレスの標準規格です。World Wide Web Consortium(W3C)が推進し、Amazon、Microsoft、Facebookなどの主要企業が採用しているWebAuthnは、公開鍵と秘密鍵のペアを使用してユーザーを安全に認証します。Webサイトの所有者は、WebAuthnを導入することで、認証情報盗難のリスクを低減し、コンプライアンスを向上させ、よりスムーズなユーザーエクスペリエンスを提供できます。ユーザーは、アイデンティティを証明するために文字や数字を使用する代わりに、生体認証キー(指紋など)やハードウェア(YubiKeyのキーなど)を提示するようになります。

WebAuthnが生まれた経緯とは何ですか?

パスワードはハッカーを惹きつけます。ハッカーは、少しのコーディングの知識と運があれば、組み合わせを推測したり、誰かを誘導して情報を開示させたりすることが可能です。Verizonは、ハッキング関連の侵害の80%以上が、漏えいした認証情報に起因すると述べています。何らかの変革が必要でした。

ウェブマスターは二要素認証を試みました。それには以下が含まれます。

  1. 登録。電話のようなデバイスがユーザーのプロファイルに紐づけられていました。
  2. ログイン。ユーザーが名前とパスワードを入力しました。
  3. リクエスト。サーバーは、認証されたデバイスにリクエストを送信しました。
  4. 完了。ユーザーはデバイスに表示された指示に従ってサイトにアクセスしました。

ログインしようとしたときに、携帯電話にコードが届くのを待った経験があれば、それは2要素認可を利用したことになります。効率的に見えますが、実装は散発的でした。Webサイトによっては、プロセスに独自の工夫を加えようとしたため、ユーザーを苛立たせていました。また、ユーザーエクスペリエンスが低く、理解しにくいものもありました。

W3Cは、セキュリティを保護しながらユーザーエクスペリエンスを向上させる、より優れた新しいものを求めていました。2019年、同グループはまさにその目的を達成するためにWeb Authentication APIをリリースしました。

リリース以来、WebAuthnは広く受け入れられています。Fast Identity Online(FIDO)などの団体がこれに賛同し、Amazon、Facebook、Microsoftといった有名企業もこのテクノロジーの実験を開始しました。

Web認証の仕組み 

WebAuthnは、アプリケーションプログラミングインターフェース(API)であり、サーバーがパスワードを必要とせずにユーザーを登録および認識できるようにします。多くのウェブサイトには、サインアップして固有のユーザー名とパスワードを持つメンバーになるためのフォームがあります。WebAuthnはそれらすべてに取って代わるでしょう。

関与する主な要素は次のとおりです。

  • Registration. ユーザー名と何らかの認証情報を提供する必要があります。顔写真や指紋などの生体データを提供するか、常に所持しているサードパーティ製のハードウェアを登録します。
  • 認可。認証情報が作成および検証されると、通常はオペレーティングシステム内にあるオーセンティケーターと呼ばれるものに保存されます。

WebAuthnが有効なWebサイトにログインするには、ユーザーは次のことを行う必要があります。

  1. 登録。一意のユーザー名を選択するという、おなじみのプロセスに従います。ただし、パスワードを選択する代わりに、生体認証データを提供するか、物理キーを登録します。
  2. リピートサイトにログインする際は、パスワードと登録情報の確認を提供する必要があります。

公開鍵と秘密鍵は、どのようにログインを保護するのでしょうか?

このプロセスを完了すると、認証情報と呼ばれるものが作成されます。これは、Webサイト用のキーのペア(1つは公開キー、もう1つは秘密キー)です。お客様の秘密鍵はお客様のプライベートデバイス上にのみ存在し、他の場所には存在しません。公開キーは、ストレージのためにサーバーに配置されます。

これらのキーがどのように見えるか、またはどのように機能するかを知らないかもしれません。しかし、それらはすべてのログイン試行において重要な役割を果たします。

再度サイトにログインする準備が整うと、デバイスとサーバーは一連のステップを実行します。

  1. 試行:ユーザー名を入力するか、サーバーへのアクセスを希望することを示します。あなたのシステムは、あなたのキーがどこにあるかについての指示を含む、あなたの資格情報を一緒に送信します。
  2. お問い合わせ:ブラウザは認証システムと接続し、すべての適切な情報が揃っているか、アクセスを許可されるべきかを判断します。
  3. 承認:すべての適切な要素が揃っている場合、認証システムはログイン承認に署名し、それを送信します。
  4. サーバーの連絡先:サーバーは送信されたすべての情報を確認し、検証して、あなたを許可します。

公開鍵と秘密鍵を使用することで、WebAuthnは非常に安全になります。何も覚える必要はありませんが、サイト用に固有のユーザー名/パスワードを作成しました。本質的には、意識しなくてもパスワードのベストプラクティスに従っていることになります。

WebAuthnはどのように実装されますか?

広範な採用がW3Cチームの目標でした。彼らは、できるだけ多くのWebサイトにこのテクノロジーを使用してWebを保護してもらいたいと考えていました。その結果、シンプルさと使いやすさを念頭に置いてコードを作成しました。

WebAuthnは、Credential Management APIの拡張機能です。これは、主に2つの機能を処理します。

機能目的
Navigator.credentials.create新しいアカウントの登録、または既存のアカウントへの新しいキーのペアリングに使用します。
Navigator.credentials.get既存の認証情報を使用してユーザーをログインさせます。

開発者が統合について知っておくべきこととは?

Googleは、統合の手法はウェブサイトによって大きく異なると指摘しています。シングルページアプリを運用している場合、ポップアップを多用した複雑なサイトを運用している場合とは、行うべき作業が異なります。しかし、Googleは、コードを理解して適切に適用したいと考える開発者向けに、豊富なサポートとアドバイスを提供しています。

この変更について、ユーザーに周知する必要もあります。たとえば、WebAuthnをハードウェアキーのみ(生体認証は除く)で使用する場合、ユーザーが必要なアイテムを事前に購入できるよう、変更が有効になるかなり前にユーザーにその旨を周知する必要があるかもしれません。

Webサイトの認証が必要ですか?

レガシーログインシステムの変更は、あなたにとってもユーザーにとっても、神経をすり減らす可能性があります。しかし、新しいテクノロジーには無視できない多くの利点があります。

WebAuthnをWebサイトに組み込むと、次のメリットが得られます。

  • 保護。盗まれたパスワードを持っている人が侵入することはできません。認証はサイトによって異なるためです。
  • コンプライアンス。 Webマネージャーはパスワードの再利用が深刻な問題であることを認識していますが、45%の人はそうは考えていません。この新しいテクノロジーに移行すれば、ルールに従うよう人々を説得する必要がなくなります。アクセスするには、この操作を行う必要があります。
  • リスクの軽減ハッカーは、パスワードとユーザー名を取得するために、データベースを深く掘り下げることを好みます。攻撃者はそのデータを再利用できなくなるため、新しいターゲットに移行する可能性があります。
  • より良いカスタマーエクスペリエンス。顧客の約3分の1が、ユーザー名やパスワードを思い出せないという理由でショッピングカートを放棄しています。多くのアプリユーザーも同様です。WebAuthnの世界では、ユーザーは優れた記憶力がなくても、必要な場所にアクセスできます。

この新しいテクノロジーについて考えることさえストレスになるかもしれませんが、メリットは明らかです。このような場合に役立つのがOktaです。

Oktaのアイデンティティ管理サービスを利用することで、いかに簡単かつ安全にWeb認証を行えるかをご確認ください。お問い合わせのうえ、さっそく始めましょう。

よくある質問(FAQ)

WebAuthnとは?従来のパスワードとの違い

WebAuthnは、World Wide Web Consortium(W3C)によって策定されたパスワードレス認証規格です。ユーザー名とパスワードの組み合わせの代わりに、生体情報(指紋など)や物理的なハードウェアキーを使用します。推測や盗難の可能性があるパスワードとは異なり、WebAuthnの認証情報はサイトごとに固有で、ユーザーのデバイスにローカルで保存されます。

WebAuthn認証における2つの主なステップとは何ですか?

WebAuthnには2つの主要なステップがあります。1つは「登録」で、ユーザーがユーザー名と生体認証データまたはハードウェアキーを提供します。もう1つは「認可」で、検証された認証情報がユーザーのオペレーティングシステム内の認証器に保存され、その後のログインで使用されます。

WebAuthnにおける公開鍵と秘密鍵はどのように機能しますか?

WebAuthn対応サイトに登録すると、認証情報のペアが作成されます。このペアは、お使いのデバイスに保存される秘密鍵と、サーバーに保存される公開鍵で構成されます。ログインのたびにこれらのキーがまとめて検証されるため、正当な所有者のみがアクセスを許可されます。

World Wide Web Consortium(W3C)がWeb Authentication APIを開発した理由とは?

W3Cは、認証情報の盗難や一貫性のない二要素認証の実装など、パスワードベース認証に広く見られるセキュリティ上の欠陥に対処すると同時に、全体的なユーザーエクスペリエンスを向上させるため、2019年にWebAuthnを策定しました。

WebサイトにWebAuthnを導入する主なメリットは何ですか?

WebAuthnを導入することで、認証情報の盗難に対する保護を強化し、ユーザーの行動に依存することなくコンプライアンスを徹底できます。また、データベース侵害のリスクを低減し、パスワードを覚える必要性をなくすことでカスタマーエクスペリエンスを向上させます。

WebAuthnを導入する際にウェブサイトの所有者が考慮すべきこととは?

実装の複雑さはサイトのアーキテクチャによって異なります。シングルページアプリと複雑なマルチページサイトとでは違いがあります。所有者は、ユーザー教育についても事前に計画する必要があります。特にハードウェアキーが必要な場合は、移行が本番稼働する前にユーザーが必要なデバイスを入手できるように計画しなければなりません。

参考文献

Google、Apple、Microsoftがパスワード廃止を提唱する理由。(2020年1月、CNBC.

WebAuthnで強力な認証を有効にする。 (2018年5月、Google。

Verizon DBIR 2020:認証情報の窃取、フィッシング、クラウドへの攻撃(2020年6月)。Security Boulevard)

パスワードセキュリティについて考える、パートIV:WebAuthn。(2020年8月、(Mozilla) 

W3CがWeb認証標準を最終決定。(2019年3月)。ZDNet

Apple、パスワードを不要にする業界の取り組みに参加。(2020年2月、Computerworld)

Web Authentication:公開鍵認証情報にアクセスするためのAPI。(2019年3月)。W3C。

Credential Management APIを使用してサインインフローを効率化する。(2016年4月、Google。

WebAuthn:パスワードレスなWebの未来について知っておくべきこと。(2019年3月)。 PCWorld. 

従業員によるパスワードの使い回し。その実態を調査。(2020年6月、Info Security 

顧客がパスワードを忘れると、ビジネスに支障が出ます。(2017年6月)Phys.org. 

アイデンティティ施策を推進