yubicoのyubikey 5Cを購入して、AWSコンソールのMFAをGoogle Authenticatorからyubikey 5Cを使ったU2Fに変更してみまたので、その方法についてまとめました。
TL; DR
- Google Authenticatorの代わりにyubikeyを使うと便利
- とりあえずAWSコンソールのMFAをU2Fにしてみた
- yubikey 5Cを使ったときのハマりどころ
キーワード
yubikey
- アメリカ・スウェーデンを拠点とするYubico社が開発した認証デバイス
- ハードウェアトークンにあるボタンを押すだけで、パスワードを生成して自動入力
- ひとつのYubiKeyでワンタイムパスワードの生成、FIDO U2Fの二段階認証などが可能
FIDO2
- Webブラウザ上で、FIDO(First IDentity Online)認証を行う仕様
- 外部の認証器を介して、WebサイトのUAF(生体認証)やU2F(PINコード)などで認証が可能
- Chrome・Edge・Firefoxなどの主要ブラウザで対応されている
UAF
- UAF(Universal Authentication Framework)
- FIDO対応した端末を用いた生体認証
- 安全性は高いが対応できるのがFIDO対応端末のみ
U2F
- U2F(Universal 2nd Factor)
- ユーザIDとパスワード入力後、セキュリティキーなどのシンプルな動作で2FAを行う仕様
- FIDO未対応端末でもFIDOの仕組みを利用することが可能
yubikey 5CはFIDOに対応したU2F認証を提供するセキュリティキー
yubikey 5C
- 到着したyubikey 5C
- 裏面
yubico.com/start にアクセスすると各サービスとの連携情報が入手できる
- 大きさ
iPhoneSEと比較するとこれぐらい(直径約2cmぐらいかな)
- とりあえず何も考えずに挿入
USB-Cにぴったりはまる(当たり前か。。。)
AWSコンソールのMFA Deviceを削除
まずは現在登録されているVirtual MFA Deviceを削除
- AWSコンソールでパスワード認証
楽しそうだなぁre:Invent
- MFAコード入力
MFAコードが要求されるので
-
My Security Credentials
を選択
- 登録されているMFAデバイスを選択
-
Remove
を選択してResync
-
MFA code
を入力
しかも2回。。。しかしこれで6桁のPINコード入力とおさらば!
U2F登録
そのままの流れで登録開始
-
Assign MFA Device
を選択
-
U2F security key
を選択
- 鍵入力要求画面
- USB-Cポートにyubikey 5Cを挿入
。。。エラー発生
ここで約1時間ぐらい調べてしまった。。。
※解決方法
この金具がただあるだけと思ってしまい、見事にハマってしまった。。。
- 鍵を挿入したときに緑のライトが光る
- その時にyubikey 5cの両脇の金色の金具に振れる
- 再度U2F登録開始
- 鍵のここを触る
緑のライトが光っていることを確認して、金色の金具に振れる
- ブラウザから反応
Security Keyへのアクセス要求が来たのでAllow
- 登録完了成功
実際に試してみる
- AWSコンソールでパスワード認証
- 鍵入力要求画面
- ログイン完了
注意点
- AWSの場合、2FAが設定できる権限をユーザが持っている必要があります。
最後に
その他Googleなどには設定してみましたが便利ですね。okta にも対応しているようなので、WebサービスはoktaでSSOするようにして、oktaでU2Fを設定すれば簡単な手順でセキュリティが向上すると思われます。
ちょっと細かい手順で書いているのは、もし社内に展開する時にそのままこの記事を使えるようにと密かに企んでおります。