Sony PaSoRi RC-S380/S でU2Fしたいだけの人生だった

先日、NFC対応のセキュリティキーを購入したのだけどU2F認証時にわざわざコンピューターのUSBポートにセキュリティキーを刺すのがどうにも億劫に思えたので、試しにNFCリーダーを買ってみることにした。

購入したのは Sony製のPaSoRi業務用途専用モデルである RC-S380/S 。 Amazonで売っているモデルを適当に選んだ。購入当時の売価は \4,949 だった。

今回はの検証は、RC-S380/SでNFC対応セキュリティーキーを読み取らせて2FA認証を通す運用操作が現実的に可能かどうかを確認するのが主眼になる。 簡単のために検証環境にはWindowsを利用することにした。

今回の検証環境の前提情報は以下の通り。

OS:

Microsoft Windows11 Pro ( 10.0.22621 ビルド 22621 )

ドライバ:

NFCポート自己診断 v3.7.1.0 (NFC/FeliCaポートソフトウェア 6.1.0.2)

Webブラウザ:

Brave v1.45.127 (64Bit)

セキュリティキー:
  • Yubikey5 NFC

  • Google Titan Security Key (USB-C/NFC)

インストレーション

今回購入したPaSoRi業務用途専用モデル RC-S380/S であるが、ドライバソフトウェアは商品には付属していない。 Sony株式会社が公開している NFCポートソフトウェアのインストールガイド を参照し、NFCサポートソフトウェアをダウンロードしてインストレーションを行う必要がある。 同ソフトウェアのダウンロードにあたっては、特にライセンス規約への同意画面や使用に関する制限などの条項は確認できなかった。

インストレーションに関してはマニュアル通りに行えば良かった。 ただし、端末側にすでにNFCポートが内蔵されているような場合は注意が必要であろう(それなら買わんだろう・という気もするが)。

注釈

NFCポート内蔵パソコンにパソリを接続する場合のご注意 にもあるように、 すでにPCにNFCポートが搭載されている場合は追加の手順が必要(デバイスドライバで既存のNFCポートを無効化)であるが、自分の持っているPC(ThinkPad T490)にはNFCポートが内蔵されていないので関係がない。

インストール完了後、NFCポート 自己診断 アプリケーションが追加されている。

NFCリーダーでセキュリティーを読み取り可能かを確認

新規に追加されたNFCポート自己診断アプリを利用して、手持ちのNFC対応のセキュリティキーの読み取り可否を確認しておく。 NFCポート自己診断アプリを起動する。

../../../../../_images/nfc-port-sw-1.png

NFCポートソフトウェア起動画面

確認事項をチェックした上で 次へ ボタンを押下し、診断の設定を行う(デフォルトのままで良い)。

../../../../../_images/nfc-port-sw-2.png

NFCポートソフトウェア起動画面

次へ を押下すると、診断が開始されるので、手持ちのセキュリティーを順番に診断していく。

今回、試したセキュリティキーは以下のとおりである。

  1. Yubikey5 NFC

  2. Google Titan Security Key (USB-C/NFC)

結果としては、どちらのセキュリティキーもNFCポートで読み取り可能であることが確認できた。

NFCリーダー経由でFIDO2/FIDOを利用できるかを確認

例によって、Yubico社の提供している yubico Demonstration Site を利用する。

今回はRegistrationステップのみ確認を行った。また、比較のためにUSB接続経由での読み取りの確認も併せて行っている。

各セキュリティキー共通のテスト手順は以下のとおりである。

  1. ブラウザで、 yubico Demonstration Site にアクセスし、WebAuthn をボタンを押下する。

    ../../../../../_images/yubico-demo-site-top.png
  2. 認証デバイスとして、セキュリティキー を選択する

  3. セキュリティキーのセットアップメニューで OK を押下する

    ../../../../../_images/yubico-demo-site-set-up-key-confirmation-msg.png
    ../../../../../_images/yubico-demo-site-set-up-key-confirmation2-msg.png
  4. セットアップの続行 / "セキュリティーキーをタップするか..挿入してください:

    ../../../../../_images/yubico-demo-site-insert-key-msg.png
    • 読み取り方式=NFCリーダーの場合: セキュリティキーをNFCカードリーダーにかざし、キーの物理ボタンをタップする。

    • 読み取り方式=USB接続の場合: セキュリティキーを端末のUSBポートに接続し、キーの物理ボタンをタップする。

  5. セキュリティキーが認識され、Registrationステップが成功するか確認する

試したセキュリティキーは以下である。

  1. Yubikey5 NFC

  2. Google Titan Security Key (USB-C/NFC)

結果サマリ

先に結論だけ書いておくと、結果は以下のようになった。

セキュリティキー

読み取り

プロトコル判定

Registrationステップ成否

Yubikey5 NFC

NFC

FIDO2/CTAP2

成功

Yubikey5 NFC

USB

FIDO2/CTAP2

成功

Titan Security Key (USB-C/NFC)

NFC

n/a

失敗

Titan Security Key (USB-C/NFC)

USB

FIDO/U2F

成功

それぞれの場合の検証時の様子は以下の通りだった。

Yubico / Yubikey 5NFCの場合

USB接続からの読み取り、NFC読み取り ともRegistration Stepに成功した。 PINコード入力を求められたことから、FIDO2/CATP2のフローになっている。

../../../../../_images/yubico-demo-site-yubikey-enter-pin.png

FIDO2/CTAP2の場合、セキュリティデバイスに設定したPINの入力を要求される。

../../../../../_images/yubico-demo-site-yubikey-ok.png

USB/NFCリーダーのどちらでも登録ステップが成功した。

注釈

ただし、NFCリーダーでの読み取りの場合、物理ボタンをタップしても反応がない場合があり、もう一つ信頼性に欠ける。

Google / Titan Security Keyの場合

USB接続の場合は、FIDO/U2Fデバイスとして認識され、Registration ステップは成功した。

しかしながら、NFCリーダーでの読み取りの場合は、NFCリーダーにかざして物理ボタンをタップしても反応がなく、以下のようなエラーが発生デバイスの認識に失敗する。

../../../../../_images/yubico-demo-site-titan-security-key-error.png

ブラウザのエラーダイアログに表示されたエラーコード code: 2, 8, 0x80070005 を調査してみたが、原因特定には至っていない。

このまま時間が経過するとタイムアウトになり、Registrationステップは失敗する。

../../../../../_images/yubico-demo-site-titan-security-key-timeout.png

注釈

同一環境で10回試行を繰り返したものの、再現率は100%だった。

まとめ

以上のように、 Yubikey5 NFCであれば、NFCカードリーダーを利用してブラウザからFIDO2/CTAP2の他要素認証を実行できるものの、残念ながら、Titan Security Keyは、Windows11 Proに接続したNFCカードリーダー経由でのU2Fには利用できないようである(少なくともyubico社のデモサイトにおいては)ことがわかった。

注釈

個人的には 日常的に利用するWebサービスのアカウントの2FAのために、Titan Security Keyを運用しているのでこの結果はとても残念である。

さて、結局のところ Yubikey5 NFCであれば NFCカードリーダーを使ってFIDO2/CTAP2が機能することが確認できたわけだが、 そもそも、気にしていたのでは、USBポートにイチイチセキュリティキーを刺すのが面倒くさいのでワイヤレスで2FAを便利に使えるか?・という話だった。

最後に、実施にNFCカードリーダーを使ってセキュリティキーを使用した場合に最も肝心な使用感について触れる。

まず、NFCリーダー上にYubikey5 NFCを置いたときに、物理ボタン(金色のアレ)が光らないので、入力待機状態なのかどうなのか判断しづらい(USB接続の場合は金属面が光る)。 加えて、NFCカードリーダー側にも特に読み取り状態を示すLEDのような機構がないため、読み取りをしているのかどうなのかを利用者側が判断することはまず無理だと思う。

また、セキュリティーキーの物理ボタンをタップしても反応しない場合も多々あり、イマイチ信頼性に欠ける。 実際にモタモタしている間にRegistrationステップがタイムアウトしていしまうことも何度かあった。

注釈

これは、NFCリーダーの読取面の上にセキュリティキーを載せた状態でキーをタップするもんだから、キーの位置がぶれてしまってNFC通信が不安定になるせいなのでは?という気がしている(ただの予想)。 スマートフォンでNFCポートを使う場合には、スマートフォンを保持する手の指を使って機器背面にセキュリティキーを固定するわけだが、 そのときに券面の物理ボタンを押してしまえばいいので、"券面をタップする" という操作はNFC通信にあまり大きな問題を与えないのかも知れない。

と、いうわけで セキュリティキーはしっかりUSBポートに刺して使っていこう と思う2022年の冬である。師走も元気に生きていきたい。

購入したPaSoRiくんはマイナンバーカード読み取り機として使っていければと思う。

かえる㌠からは以上です。

: