よんけんだより

思いついたら書いてます。なので、あんまり読みやすくないかも。備忘です。

AWSくんがパスキー認証に対応したって言うけど、オイオイって感じ。

AWSがパスキー認証に対応したヨってことで、試してみました。 所感としては、「まだリリース直後だもんな」って感じです。

というのは何点か理由があって、

  • Windows OS (Windows Hello)に紐づけようとすると認証が通ったところで画面がホワイトアウトして正常に完了することができない
  • スマートフォンで登録したとして、サインイン時にいざ使おうとすると、パスワードの入力が求められる
  • パスワードの入力は適当でも次のページに進めるが、結局パスワード認証が走ってる

この3点です。 ※これはリリース時点での不具合なので、早いうちに解消されると思います。結構クリティカルな問題だと思うので。

順に解説していきます。

あ、テスト用に「mfatestboy」って名前つけちゃってます。紛らわしくてごめんなさい。

Windows OS が登録できない

そのまんまです。 パスキーの設定を行っていくと、既にWindows Helloを登録している場合、その認証情報に対して認証が行われます。

Passkey登録画面①

これで認証が通れば、利用できるようになったで!とWindows からの処理は終わったかの様になりますが、

passkey登録画面②

きっと「設定完了!」とか出るべきページが真っ白です。

Passkey登録画面③

なんやかんや登録されてるんじゃないの?と、IAMで認証情報確認しても登録されていないです。残念。 一応、スマートフォンでの登録はうまくいきましたので、しばらくはそっちかなぁ。 どうしてもWindows Helloが使いたいんじゃい!!!のであればWindows Hello for Business + SAMLな感じですかね。

passkey登録できてない

パスワードの入力が求められる

何言ってんだ?当たり前だろ?と感じる方もいるかもしれないですが、パスキー認証は「パスワードを使用しない」ことを重要視しています。 パスキー認証では、証明書認証を用いて行われるので、ネットワーク上に「認証情報」が流れません。デバイスに紐づけられた秘密鍵で署名し、サービス(今回はAWS側)で公開鍵を使って復号できることで本人確認としています。その秘密鍵で署名した内容が流れます。

一方、パスワード認証だと「ハッシュ化されたパスワード」が流れてしまうので、セッションが取られちゃったりすると認証を通されてしまう場合があります。

ですので、パスワード認証からパスキー認証にしていこうね。というのが各SaaSでの最近の取り組みです。 ※MSも最近パスキーサインオンできるようになりました。

ですので、パスキー認証を実装する上では、パスワード認証は不要というのが一般的です。

Microsoft 365やSalesforceもパスキー有効にしたらパスワードは入力しなくてもサインインできます。

AWSで試したところ、パスワードの入力を求められました。

パスワードを求められている様

残念。パスワード認証する意味ってなんだろう。。。 もしかしたらパスキー + パスワードが流行るのか・・・?

パスワード入力画面、回避できるけど結局認証してる

私は上記の通り「パスワード認証いらなくね?」と思っているので、適当な文字列でサインインを進めてみたところ、次の画面に進みました。

パスワードにaって入れて進めた様

パスキー認証を通します。

passkey認証する
passkey認証する②

それでどうなるかっていうとこうなります。

サインインできなかった様

ちなみに、パスワードを真面目に入力すると

正しいパスワードで試してみる

もっかいこれらを経由して

passkey認証する
passkey認証する②

サインインに成功しました。 だから、裏でパスワードも認証されてることになります。

僕の知識の範囲では、「パスキー認証だけで充分」があるので、もしかしたら違うのかな。。とか不安になりつつも ここら辺はリリース直後だから。な気もしています。 パスワードの入力から解放されると幸せになる人は多いので、AWSの開発部隊の方々には早くご対応頂けると嬉しいです。