ばすきーさん、単要素を前面に出して宣伝してくことにしたのかな… #なんかみた
@zundan https://www.passkeycentral.org/introduction-to-passkeys/passkey-security#multi-factor-authentication にあるとおり、passkeyは多要素認証と認識しています。件の文章はメールによる二要素認証を2FAと書いて対比しているのでpasskeyが単要素認証のようにみえますが……。
@omasanori 僕には複雑すぎて試してすらいなくて申し訳ないのですが、指紋認証のないYubiKeyをPasskeyの認証器として登録することができるサービスが存在して、その場合にはYubiKeyをUSBポートに挿入してYubiKeyのボタンを押すだけで認証が成立しちゃいそうに僕には見えています…
@zundan 試しにGitHubでYubiKeyを2FAとpasskeyで設定したのですが、passkeyとして設定する場合のみPINの設定を求められました。(PINの設定UIはウェブサービスではなくブラウザのUI)
@zundan YubiKeyをリセットして再度試したところ、GitHubは次のように振る舞うことがわかりました。
・YubiKeyにPIN設定していない状態だと、2FAには使える(登録できる)がpasskeyには使えない(登録できない)。
・YubiKeyにPIN設定している状態だと、2FAにもpasskeyにも使える(登録できる)が、両方同時に登録することはできない。PINはどちらの場合も要求される。
@omasanori なるほどなるほど!ありがとうございます!お手数をかけてしまってすみません!
全てのサービスでPasskeyの登録にPINを要求することが分かれば僕でも安心してYubiKeyをPasskeyに使えそうです。
@zundan サービス提供者はpasskey登録時(鍵対の生成時)に多様素認証を要求するオプションつきでAPIを呼ぶことを忘れないようにしないとユーザーに単要素認証で登録される可能性があります。これはサービス提供者がパスワードを不適切な形で保存するのと同様で、passkeyの問題というよりはそのサービスの問題だと思います。
@omasanori @zundan 後発なのに単要素認証を積極的に選択肢として残してる時点で、自分はPasskey自体の問題じゃないかなーと思っていますが、どうなんでしょうか。
@omasanori @zundan 既存の多要素認証が普及した世界への、です
@omasanori @zundan ごめんなさい、前者が分かりませんでした。パスワードがある、そこにセキュリティキーを足したい、なら、二要素目も三要素目もなく、一要素目のパスワードで認証するしか無い気がしました。
「既存でもあるし」というのはその通りだなと思い直しました。自分が問題じゃないのかな、と思ってるのは、多要素認証の代替として一要素Passkeyを推してるのを複数箇所で見たから、で、そこを書いてなくてごめんなさい。ここは多要素からのデグレじゃないの?(なんでそれを許したままなの?)と思ってしまいます
@omasanori @zundan 前者はそうは思ってなかったです。何やら自分が誤解してそうな雰囲気で、すみません……
後者の例を挙げる以前の話として、自分がもう一つ誤解していた気がしています。Passkeyを使う時にPINとかがいる、だからPasskeyは一つに見えるけど多要素認証を常にしている、ということでしょうか?
@omasanori @zundan それでその話だとすると、先ほどかいたずんださんの反例ひとつだけでも「多要素でないのを許してる」ことになると思います。
@omasanori @zundan しかし自分が書いた「単要素を推奨」というのは間違いでしたね、すみません。
いま調べて考えた限りですと「既存多要素の置き換えとしてPasskeyを推奨するが、要素数はDon't Careになる」という話かと思いました
@ikeji @zundan @omasanori なるほど、そのへんは選べた方がよさげ、というのは同意。
@omasanori @tadd @zundan セキュリティキーを所有の2要素認証要素として使う場合、FIDO U2Fを使えばPIN入力はなしに使えます。Googleでセキュリティキーを登録するとそうなります。
passkey (クラウド共有された発見可能なFIDO資格情報) はもともと生体認証が必須で、所有要素は微妙ですけどスマホで生体認証すればパスワードマネージャーと同程度に安全でドメイン名も確認できるみたいな価値観のはずです。
最近はFIDOを普及させるためのバズワードみたいでよくわからないですけど。
人間が入力する必要が薄れたユーザー名とパスワードを現代的に設計し直してドメイン名認証機能が付いてるって意味では優れてるかも。