パスキーとしてYubikeyが使えない時と使える時

目次

概要

私はYubikeyを持っています。

このYubikeyをパスキーとして、いくつかのWebサービスに登録しようとしたのですが、使えるサービスと使えないサービスがありました。

なぜ、使えたり使えなかったりするのか、私が調べた結果を書きます。

何が起きたのか

これまで、セキュリティを高める目的で、これまでYubikeyという物理セキュリティキー(以降、物理キーと表記)を2要素認証として使っていました。 物理セキュリティキーは、サービスなどによっては、外部キーなどと表記されることもあります。

あくまでも2要素認証ですので、ログイン時などにはパスワードとYubikeyの2つを用意する必要があります。

しかし、最近のWebサービスは、パスワードのいらない認証として、パスキーというものを使えるようになってきました。

パスキーでは、Yubikeyのような物理キーや、Windows、macOS、Android、iOSなどの機器上に認証のために必要な情報を保存して、利用します。

そのため、パスワードを覚える必要がなく、ログイン時に物理的なキーや機器を持っていることを証明して、認証するという仕組みです。もちろん、サービスによっては、パスワードとの併用も可能です。

今回、私がYubikeyを持っているということで、パスキーを使えるサービスについて、Yubikeyを使ってパスキーの登録を行いました。 しかし、使えるサービスと使えないサービスがありました。何が原因で、使えたり使えなかったりするのか、調べた結果を書きます。

原因

使えたり、使えないサービスがある原因は、パスキーの登録時のサービス側の設定によるものです。

パスキーの登録のための、JavaScriptのAPIについて説明したページのリンクを次に載せました。

https://developer.mozilla.org/ja/docs/Web/API/CredentialsContainer/create#authenticatorselection

このページによると、パスキーの登録時に、authenticatorSelectionというオプションを使って、登録時の条件を指定できます。ここで指定できる内容は、platformと、cross-platformの2つです。 これらは認証機と呼ばれる、認証に用いる機器の違いを表しています。 platformは、機器上に認証のために必要な情報を保存して、利用する場合に指定します。 cross-platformは、複数の機器で使いまわせる物理キーを使って認証する場合に指定します。 これらのオプションを指定しない場合は、両方とも認証に利用できます。

つまり、サービス側がauthenticatorSelectionオプションでplatformを指定している場合は、Yubikeyのような複数の機器で使いまわせる物理キーを使ったパスキーの登録はできません。 しかし、指定していない場合は、Yubikeyのような物理キーを使ってパスキーの登録ができます。

パスキーを利用できるサービスでは、これらの設定によって、使える機器が異なるため、使えるサービスと使えないサービスがあると考えられます。

私の推測ですが、サービスによっては、セキュリティの観点から、物理キーを付け替えることで機器を問わずログインできることを防ぐため、このような設定になっていると思われます。

どうしても、物理キーでの認証をやりたい場合は、サービスのサポート窓口などに要望を出すことで、対応してもらえるかもしれません。

さいごに

この問題にぶつかった時は、私のYubikeyが壊れているのかと思いましたが、調べてみると、サービス側の設定によるものでした。

せっかく購入したYubikeyをパスキーとして使えないのは残念ですが、2要素認証のキーとして使えるサービスがほとんどですので、そちらで利用することにしています。