Amazon Web Services ブログ

新機能 — AWS SSO 用の WebAuthn を使用した多要素認証

2020 年 11 月 23 日より、現在サポートされているワンタイムパスワード (OTP) と Radius 認証システムに加えて、新しい Multi-Factor Authentication (MFA) としてWebAuthnAWS Single Sign-On に追加できます。FIDO Alliance との連携で開発された W3C 仕様である WebAuthN のサポートを追加することで、システム管理者によってプロビジョニングされた、またはノートパソコンやスマートフォンに組み込まれたさまざまな相互運用可能な認証システムで認証を行うことができるようになります。たとえば、ハードウェアセキュリティキーをタップしたり、Mac で指紋センサーに触れたり、モバイルデバイスまたは PC で顔認識を使用したりして、AWS マネジメントコンソールAWS コマンドラインインターフェイス (CLI) で認証を行えるようになります。

この追加により、複数の MFA 認証システムを自分で登録できるようになりました。こうしておくことで、プライマリ認証システムデバイスを紛失したり置き忘れたりした場合に、AWS で別のデバイスを使用して認証できます。長期的な管理のために、デバイスには簡単に名前を付けることができます。

WebAuthn 2 要素認証は、AWS Single Sign-On 内部 ID ストアに保存されている ID や、Microsoft Active Directory に保存されている ID (AWS によって管理されているか否かを問わず) で使用できます。

WebAuthn および FIDO2 とは何ですか?

FIDO2 対応デバイスを使用して 2 要素認証を構成する方法を調べ、ウェブベースおよび CLI 認証のユーザーエクスペリエンスを確認する前に、まずは FIDO2、WebAuthn、およびその他の仕様がどのように組み合わされているかをまとめてみましょう。

FIDO2 は、Web 認証 ( WebAuthN) と Client To Authenticator Protocol (CTAP ) という 2 つの主要な仕様で構成されています。

Web Authentication ( WebAuthN ) は、公開キー暗号化に基づいて強力な認証を提供する W3C 標準です。従来のコードジェネレータトークンや TOTP プロトコルを使用するアプリとは異なり、サーバーとクライアントの間でシークレットを共有する必要はありません。代わりに、公開鍵ペアと固有のチャレンジによるデジタル署名をベースとしています。秘密鍵は、セキュアなデバイスである FIDO 対応認証システムに残ります。ウェブサイトへの認証を試みると、このセキュリティ保護されたデバイスは CTAP プロトコルを使用してブラウザとやり取りします。

WebAuthn は強力です: 認証は、秘密鍵を安全に保存し、暗号化操作を実行できる安全な要素によって理想的に支えられています。スコープがあります: キーペアは、ブラウザのクッキーのような特定のオリジンに対してのみ機能します。console.amazonaws.com で登録されたキーペアは、console.not-the-real-amazon.com では使用できません。これにより、フィッシングの脅威を軽減できます。最後に、証明されています: 認証システムは、公開鍵が実際に信頼できる認証システムからのものであり、不正なソースによるものではないことをサーバーが確認するのに役立つ証明書を提供できます。

したがって、FIDO2 認証の使用を開始するには、WebAuthN をサポートするウェブサイト、WebAuthN および CTAP プロトコルをサポートするブラウザ、および FIDO 認証システムの 3 つの要素が必要です。2020 年 11 月 23 日より、SSO マネジメントコンソールCLI が WebAuthn をサポートするようになりました。最新のウェブブラウザはすべて互換性があります (Chrome、Edge、Firefox、Safari)。FIDO 認証システムは、YubiKeyなどのデバイスから使用できるデバイス (ローミング認証システム)、または Android、iOS、iPadOS、Windows、Chrome OS、macOS でサポートされている組み込みハードウェア (プラットフォーム認証システム) のいずれかです。

FIDO2 はどのように機能しますか?
FIDO 対応の認証システムをAWS SSO に初めて登録すると、認証システムは公開鍵認証情報の新しいセットを作成します。これはAWS SSO コンソール (RP=Relying Party) が生成するチャレンジを署名するために使用されます。これらの新しい認証情報の公開部分と、署名されたチャレンジはAWS SSO に保存されます。

WebAuthn を 2 要素認証として使用する場合、 AWS SSO コンソールは認証システムにチャレンジを送信します。このチャレンジは、以前に生成した秘密鍵認証情報で署名され、コンソールに送り返されます。このようにして AWS SSO コンソールは利用者が必要な認証情報を所持していることを確認します。

AWS SSO コンソールでセキュアデバイスを使用して MFA を有効にするにはどうすればよいですか?
システム管理者は、ユーザープロファイルが AWS SSO 自体に保存されている場合、あるいはセルフマネージドまたは AWS Directory Service for Microsoft Active Directory のいずれかである ActiveDirectory に保存されている場合に、AWS SSO ワークフォースに対して MFA を有効にできます。

従業員が自分の FIDO または U2F 認証システムをセルフサービスモードで登録できるようにするには、最初に [Settings] に移動し、[Multi-Factor Authentication] の下の [Configure]をクリックします。次の画面では、4 つの変更を行います。まず、[Users should be prompted for MFA] で、[Every time they sign in] を選択します。次に、[Users can authenticate with these MFA types] で、[Security Keys and built-in authenticators] をチェックします。第三に、[If a user does not yet have a registered MFA device] で、[Require them to register an MFA device at sign in] をオンにします。 最後に、[Who can manage MFA devices] で、[Users can add and manage their own MFA devices] をオンにします。[Save Changes] をクリックして保存して戻ります。

SSO 2 を設定

これで完了です。これで、従業員は次回認証時に MFA デバイスを登録するよう求められます。

ユーザーエクスペリエンスはどうなりますか?
AWS コンソールユーザーとして、システム管理者から受け取った AWS SSO ポータルページの URL で認証を行います。いつもどおり、ユーザー名とパスワードを使用してサインインします。次の画面で、認証システムを登録するように求められます。デバイスの種類としてセキュリティキーをチェックします。指紋や顔認識などの生体認証要素を使用するには、[Built-in authenticator] をクリックします。

MFA デバイスの登録

ブラウザは、キーペアを生成し、公開キーを送信するように要求します。デバイスのボタンに触れるか、登録済みの生体認証 (TouchID や FaceID など) を指定するだけでそれを行うことができます。 セキュリティキーの登録 ブラウザが確認を行い、デバイスにわかりやすい名前を付けることができる最後の画面を表示するので、どれであるかを思い出すことができます。次に、[Save] と [Done] をクリックします。 デバイス登録の確認 これ以降、サインインするたびに、セキュリティデバイスに触れるか、スマートフォンまたはラップトップで生体認証を使用するように要求されます。内部で起こっているのは、サーバーがブラウザーにチャレンジを送信していることです。ブラウザは、セキュリティデバイスにチャレンジを送信します。セキュリティデバイスは、私の秘密鍵を使用してチャレンジに署名し、検証のためにサーバーに戻します。サーバーが私の公開鍵で署名を検証すると、 AWS マネジメントコンソールへのアクセスが許可されます。

追加の検証が必要

いつでも追加のデバイスを登録し、登録したデバイスを管理することができます。AWS SSO ポータルページで、画面の右上にある [MFA devices] をクリックします。

MFA デバイス管理

アカウントに登録されているデバイスがあれば、そのデバイスを表示および管理できます。[Register device] をクリックして、新しいデバイスを登録します。

AWS CLI の SSO を設定するにはどうすればよいですか?
デバイスを設定すると、 AWS コマンドラインインターフェイス (CLI) で SSO を設定できます。

最初に aws configure sso を使用して CLI SSO を設定し、システム管理者から受け取った SSO ドメインの URL を入力します。CLI は、ユーザー名、パスワード、および以前に構成した 2 要素認証を使用して認証できるブラウザを開きます。ウェブコンソールには、CLI プロンプトに戻って入力するコードが表示されます。 aws configure sso

複数の AWS アカウントにアクセスできる場合は、CLI にそれらのアカウントの一覧が表示されるので、使用するアカウントを選択します。これは 1 回限りの設定です。

完了すると、通常どおり aws CLI を使用できます。SSO 認証は自動的に内部で行われます。システム管理者が設定した設定に基づいて、時々再認証を求められます。

今すぐご利用いただけます
AWS Single Sign-On と同様に、FIDO2 2 要素認証は追加料金なしで提供され、 AWS SSO が利用可能なすべての AWS リージョンで利用できます。

いつものように、ご意見をお待ちしております。チームは、近い将来、追加の認証オプションを提供するために他の機能に取り組んでいると語っています。

現在、AWS Single Sign-On の 2 要素認証として FIDO2 の使用を開始できます。 今すぐ設定してください

— Seb