📱

Androidのpasskeyを使うと機種変更の時にどうなるか確認してみた

2022/10/14に公開

ritouです。

先日の idcon っていう勉強会で Android の passkey 対応について聞きました。

https://twitter.com/ritou/status/1580062637597265921

https://idcon.connpass.com/event/258685/

https://togetter.com/li/1957738

Googleアカウント+Chromeパワーでなんとかしちゃうのかなと思っていましたが、Android端末間での同期みたいな感じのようでした。そこで、想定される機種変更の時にどうなるかを確認してみました。

準備

詳しい人がTweetしてたこの辺りのドキュメントを見て、ベータテスターになってGoogle Play Services betaを入れることで使えるようになりました。CanaryじゃないChromeでも使えます。あと、Androidたんで困った時は再起動とかガチャガチャしてれば使えるようになります。

https://twitter.com/agektmr/status/1580350576725921794

後は端末を2台用意。Android Srudio使っても普通にできそうだけど実機があるのでおk。

では早速みてみましょう。

動作確認に使ったのはここです。

https://webauthnsample.azurewebsites.net/

ログインの時は "Authenticate credential" ってところで "Any credential (allowCredentials empty)" を選択しましょう。これが Discoverable Credential ってやつで これにすると Android の passkey が動きます。

変更前の端末

YouTubeのvideoIDが不正ですhttps://youtube.com/shorts/ZJ7JJ9gDtyM

  1. passkey作成 -> ローカル認証(真っ黒画面)
  2. 次からログインするときはpasskeyを利用  -> ローカル認証(真っ黒画面)

フロー自体はそんなに違和感ないでしょう。
これまでFIDOの登録->認証フローをやってきた人からしたら見た目はちょっと変わりますが。

ちなみに画面ロックをPINにした状態でやりました。

次に、機種変した想定でやってみます。

変更後の端末

YouTubeのvideoIDが不正ですhttps://youtube.com/shorts/BW_InztaCJc

  1. ログイン!ってやると "このパスキーを使ってログインしますか?" みたいなのでます。
  2. 機種変更前の端末のロック解除フローに入ります (他のサービスで同じような動画撮った後にPIN入力丸見えじゃねーの!黒塗りされないんかい!つってやり直したので端末選択できるようになっちゃってます)
  3. その後に、利用している端末でローカル認証を要求される(ここは黒塗り)

という流れで、これ以降は利用している端末のローカル認証で利用できます。
1のところでpasskeyが存在するかのチェックが行われ、2のところでDecrypt云々が行われているような気がしますね。

ちなみに最初、パターンロックでやったんですが、「次へ」ボタンが見切れてて動かないのか?って思っちゃいました。すみませんでした。

https://twitter.com/ritou/status/1580426572926181376

やりたいことはできそうなのと、これが最終系ではないと思うので、少しずつ使いやすくなるでしょう。

まとめ

  • Androidのpasskeyの仕様を教えてもらったので試してみた
  • 機種変更の時にどんな感じになるかをみてみた
  • 自然に新しい端末のローカル認証で使えるようになる感じはある
  • 古い端末のロック解除のところは黒塗りになるようにしてほしいですGoogleさん
  • 他にも試したいので保存済みのpasskeyをまるっと消したいんですがやっちゃダメですかGoogleさん

idconには他にも細かいいろいろお話があったと思うので少しずつ確認したいと思います(UI/UXとか)。

以上です。DroidKaigiで見せたかったですね!

https://twitter.com/ritou/status/1577823255519723520

ではまた!

Discussion