パスキーとは?AWS IAM パスキーの導入手順

はじめに

AWS re:Inforce 2024 のKeynote にて、AWS IAMのrootユーザーおよびIAMユーザーのMFA(多要素認証)としてPasskeyのサポートが発表されたので、そもそも論である「パスキー」の調査とハンズオンをしてみました。

AWS ブログ

◼️AWS What’s new
AWS Identity and Access Management が 2 番目の認証要素としてパスキーをサポートするようになりました

◼️AWS News Blog
AWS がルートおよび IAM ユーザー向けにパスキー多要素認証 (MFA) を追加

パスキーとは

そもそもパスキーとは?

FIDO標準に基づくパスキーとは、パスワードの代わりに使用できて Web サイトやアプリへのサインインをより高速、簡単、安全に行うことが可能となる仕組みのこと。

パスキーは、アプリやウェブサイトのアカウント登録を簡素化し、使いやすく、ユーザーのほとんどのデバイスで機能して、物理的デバイスでも機能します。

ざっくりパスキーの仕組み

No. 仕組み 内容
1 登録(Registration) サービスやウェブサイトに登録する際、クライアントデバイス(例:PC・スマートフォン)で暗号化キーのペア(公開キーと秘密キー)を生成し、公開キーをサービスに送信します。
2 バインド(Binding) 生成された公開キーを、特定のウェブサービスのドメインにバインド(関連付け)する。他サービスとは共有しません。
3 認証(Authentication) ユーザーデバイスがチャレンジ(サービスからの認証を要求)に署名して秘密鍵を所有していることを証明すします。

シーケンス図

AWSのIAMでパスキーを設定完了(登録・バインドは完了状態)している時の、ユーザログインからのシーケンス図を記載します。

サービス(AWSログイン画面) ブラウザ(例:Chrome) デバイス(例:PC) 生体認証 ユーザ
①ユーザログイン ②チャレンジ(認証を要求)送信 ③署名要求 ④認証要求
⑦署名検証 ⑥署名返却 ⑤署名生成 生体認証 or PIN 入力

シーケンス図の文言説明

項番 対象 説明
ユーザログイン ユーザがAWSのログイン画面にアクセスしてログインを実行
チャレンジ送信 サービス(AWS)がブラウザに対してチャレンジを送信
署名要求 ブラウザがデバイスに対して、チャレンジに署名するよう要求
認証要求 デバイスが秘密鍵にアクセスするために、生体認証やPIN入力をユーザに要求
署名生成 ユーザが生体認証やPIN入力を行うと、デバイスが秘密鍵を使ってチャレンジに署名
署名返却 デバイスが署名をブラウザに返し、ブラウザがそれをサービスに送信
署名の検証 サービスが署名を検証し、成功ならログインが完了

設定方法

1.パスキーを設定するユーザ遷移

「ログイン」 > 「IAM」 > 「ユーザ」 > 「設定するユーザ」に移動
図赤枠部分のタブ「セキュリティ認証情報」を選択 > 「多要素認証(MFA)」項目の図赤枠部分の「MFA デバイスの割り当て」を押下

2.MFAデバイスを選択

「デバイス名」項目を任意の名前入力 > 「デバイスオプション」で図赤枠部分の「パスキーまたはセキュリティキー」を選択 > 右下「次へ」押下

3.パスキーの作成

パスキーは、3種類から選択することが可能である。
・iCloud キーチェーン
・スマートフォン、タブレット、またはセキュリティキー
・自分の Chrome プロフィール

4-1.「iCloud キーチェーン」 / 「自分の Chromeプロフィール」 の場合の画面

4-2.「スマートフォン、タブレット、またはセキュリティキー」 の場合の画面

5.多要素認証(MFA)に登録される

テスト:ログイン画面の見え方

1.追加の検証ページ

IAMユーザのログイン画面、「AWSアカウント」「ユーザ名」「パスワード」を入力サインイン > 以下図の「追加の検証が必要です」のページ表示 > 「パスキー/セキュリティキー」を選択して「次へ」を押下

2-1.サインイン画面

「iCloudキーチェーン」に保存したパスキーが設定されている場合、以下画面が表示されサインインをして、AWSマネジメントコンソールが表示される

2-2.サインイン画面(キャンセル時)

「iCloudキーチェーン」をキャンセルすると、以下画面表示されサインインをして、AWSマネジメントコンソールが表示される

おわりに

さっくり導入できるので、自分が利用しているアカウントには全てに導入してしまいました。
裏で動いているパスキーについても、シーケンス図をつくりながら色々調べられたのもよかったです。
是非ともより安全な設計のため、PJの導入提案などを考えていきたいです。

Last modified: 2024-06-16

Author