iOS 16ではiCloudが無効になっているとWebAuthnが使えない

idcon vol.29で聞いた話、iOS16ではiCloud key chainを使えないとFIDOキー(passkey)を作れない、WebAuthnが利用できない。ただし、ローミングキー(ローミング認証器)なら作れる。らしい。

iCloudが無効化されているとWebAuthnが全部使えなくなるって厳しい過ぎない?Passkeyを作らないとか選べないの?」と気になったので、Appleからの公式情報はないか少し調べてみた。

Appleの開発者フォーラムにあった質問に対する回答にそれっぽいことが書いてあった。
Can we turn off passkeys for webauthn? | Apple Developer Forums

回答のそれっぽい部分を引用する。
WWDC2022の発表動画へのリンクとその動画の字幕の引用である。

https://developer.apple.com/videos/play/wwdc2022/10092/?time=1212

Finally, passkeys are replacing Safari's legacy platform authenticator. Existing credentials will still work and still be bound to the device they were created on, but new platform credentials will be created as passkeys. They can be differentiated from legacy credentials during registration, as passkeys will not provide an attestation statement.

iOS16では、プラットフォーム認証器がPasskeyを生成する認証器に置き換えられた、ということである。

  • プラットフォーム認証器:PCやスマホに組み込まれている認証器のこと。今回だとiPhoneのFace IDとか指紋認証を使う場合にはプラットフォーム認証器を利用していることになる。反対にYubikeyなどはローミング認証器と呼ばれる。

プラットフォーム認証器が置換されたので、iOS16でFace IDとかプラットフォーム認証器を使う場合には必ずPasskeyが生成されるようだ。
そして、PasskeyにはiCloudキーチェーンを利用する必要があり、会社支給のiPhoneなどiCloudが無効化されているiPhoneではPasskeyが使えない。となると、iOS16ではプラットフォーム認証器をつかったWebAuthn(FIDO認証)を利用することができないということではないだろうか。
ローミング認証器であればPasskeyを生成しないため、iCloudが無効化されたiPhoneでもWebAuthn(FIDO認証)を利用できるのだろう。

iPadOSでは16以降、Mac OSも13以降でPasskeyが利用可能となるのでiCloudが無効化されていると同じことになるのではないだろうか。

自分はiPhoneを持っていないので動作の検証はできない。どこかに誰かが確認した結果があれば見つけておきたい。

idconでも、会社支給のiPhoneの検証機はiCloudが無効化されていて検証が手間になる、という話が出ていたがまさにそのとおりである。何とかなって欲しい。。。