Latest evidence-based health information
Vision

WebAuthn: パスワードレスWebの将来について知っておくべきこと

WebAuthn: パスワードレスWebの将来について知っておくべきこと
WebAuthn: パスワードレスWebの将来について知っておくべきこと

WebAuthnは、ウェブサイトにログインするための新しい方法です。パスワードを覚える手間がついに省けるかもしれません。代わりに、 指紋、顔、またはハードウェアトークンを使用します。

WebAuthn APIは、月曜日にワールド・ワイド・ウェブ・コンソーシアム(W3C)によって承認され、公式標準となりました。幸いなことに、Windows 10をはじめ、多くの主要ブラウザに既に組み込まれています。あとはWeb自体に組み込むだけです。その仕組みは以下のとおりです。

WebAuthn が優れている点は何ですか?

Collectionsのデータ漏洩についてご存知かもしれません。数百万件ものユーザー名とパスワードが、互いにリンクされたものも含め、ウェブ上に公開されました。これは、現在ウェブサイトがログインとユーザー名とパスワードの保存を求めていることが一因です。もしこのデータが公開されれば、悪意のある人物は、その情報を使って、ユーザーが他の場所で同じパスワードを使用しているかどうかを確認できるようになります。これは連鎖的な影響を及ぼし、ハッカーがますます多くの個人情報にアクセスできるようになる可能性があります。

WebAuthnはパスワードを要求しません。実際、ログインするたびにワンタイム認証トークンを作成するため、基本的にはウェブサイトごとに固有のパスワードを作成するという推奨セキュリティプラクティスに従っています。しかも、ユーザーにパスワードを一切覚えさせることなく、これを実現します。 

パスワードが必要ない場合、代わりに何を使用しますか?

WebAuthnは、生体認証とハードウェアセキュリティトークンという2つの主要な認証カテゴリをサポートしています。スマートフォンやコンピューターのセンサーによる指紋認証や、PCのWindows Helloと連携する深度カメラなどの顔認証といった生体認証は、おそらくご存知で既に利用されていることでしょう。 

Windows 10 Creators Update Windows Hello IDG / マーク・ハッハマン

Windows Hello は、前面の深度カメラを使用して Windows 10 PC で顔をスキャンします。

ハードウェアトークンは少し分かりにくいものです。YubicoのYubiKeyは、ハードウェアトークンの代表的な例です。パスワードや生体認証を使用する代わりに、YubiKeyをPCのUSBポートに差し込むだけです。これは、深度カメラを搭載していないPCにとって非常に便利です。YubiKeyは、基本的に常に持ち歩く複雑なパスワードです。紛失した場合は、該当するサイトに紛失した旨を通知し、キーを無効化してから、新しいキーを購入して有効化する必要があります。

WebAuthn はどのように機能しますか?

Sophos Naked Securityのブログでは、WebAuthnのプロセスを分かりやすくまとめています。WebAuthnをサポートするWebサイトにログインすると、そのサイトはブラウザに、PC(またはスマートフォン)に本人確認を求めます。この場合、ブラウザは信頼できる 認証システムに本人確認を求めます。認証システムとしては、スマートフォンの指紋リーダー、Windows Hello、ハードウェアトークンなどが考えられます。

認証システム自体が信頼できるため、ウェブサイトに指紋データやあなた固有の情報を保存する必要はありません。これは、パスワードをサイトに保存する現在の方法とは異なります。つまり、認証システムは仲介者であり、新しい人と出会ったときに、完璧な人物としてあなたを保証してくれる良き友人のような存在です。

指タッチでサイズ変更可能な Yubico のセキュリティ キー ユビコ

このような Yubico YubiKey を PC の USB ポートに接続して認証します。

ウェブサイトがログインを要求した場合、ブラウザは認証システムに指紋認証などによる本人確認を要求します 認証システムは、あなたが本人であることを確認し、ブラウザはその暗号化された確認情報をウェブサーバーに返します。 

実際には、公開鍵でデータを暗号化し、秘密鍵で署名されたチャレンジでそれを解除するという、より複雑な仕組みになっています。ただし、重要なのは、あなたの「秘密」(指紋、顔、トークンなど)を、PC内の安全な範囲内でのみ通信するという点です。

別の見方をしてみましょう。銀行員があなたの家まで車で来て現金を届けようとしていて、あなたが身元を証明しなければならないとします。身元確認のために、運転手に個人情報とパスワードを大声で伝え、近所の人たちに聞かれるという方法もあります。しかし、信頼できる友人を家に連れてきて、自分が自分であることを証明し、その友人に外に出て「大丈夫だよ!」と大声で言ってもらう方がはるかに効果的です。

WebAuthn のデモはありますか?

WebAuthnのデモをご覧いただけます。動作がかなり遅く、公開鍵も実際には生成されていないようですが、Webauthn.orgで動作の様子をご覧いただけます。 

WebAuthn は 2 要素認証とどう違うのですか?

WebAuthnは本質的には一要素認証です。つまり、あなたが本人であることを確認するための極めて確実な方法ですが、それだけです。もしあなたが気を失った場合、誰かがあなたの指を使って銀行のサイトで認証できるでしょうか?もしそれがあなたの身元を確認する唯一の方法(つまりパスワード不要)であれば、おそらく可能です。WebAuthnは既存の2要素認証方法と連携できるでしょうか?それはまだ分かりません。

モバイル セキュリティ: ロック画面で生体指紋認証と暗号化されたパスワードを処理します。 ヴィジェイ・クマール / ゲッティイメージズ

WebAuthn は PC だけでなく、モバイル サイトでも機能します。

二要素認証は一般的に、これら3つのうち2つ、つまり「あなたが知っている情報(パスワード)」と「あなたが持っているもの(スマートカードまたはトークン)」、あるいは「あなた自身」を組み合わせます。つまり、銀行は、現在利用可能なセキュリティよりもさらに高いセキュリティを実現するために、パスワードと組み合わせたWebAuthn生体認証の利用を推奨するかもしれません。

WebAuthn を実現するには何が必要ですか?

WebAuthnの基礎作業は既にほぼ完了しています。Windows 10、Android、Google Chrome、Mozilla Firefox、Microsoft Edge、Apple Safari(プレビュー版)は既にサポートしています。

WebAuthnのサポート実装はウェブサイト自身に委ねられています。これは、WebAuthnログインを受け入れるようにコードを書き換えるだけでは不十分かもしれません。例えば、WebAuthnを利用するウェブサイトが、何らかの理由でWindows Helloがユーザーを認識できない場合や、指紋リーダーも故障した場合、安全性の低いパスワードに「フォールバック」する必要があるかどうかは明確ではありません。また、これらのウェブサイトは、WebAuthnを使用するメリットをユーザーに説明し、ログインページなどを変更する必要があります。古いPCを使用している顧客にハードウェアトークンの購入を強制するでしょうか?おそらくそうではないでしょうが、そうした決定は下さなければなりません。

しかし、今週の出来事は重要な前進でした。W3Cは基本的にウェブ標準を制定する機関です。WebAuthnが導入されたことで、ウェブサイトはWebAuthnを現実のものにすることが可能になりました。

Otpoo

Health writer and researcher with expertise in evidence-based medicine and healthcare information.