この記事は、NetBSD Advent Calendar 2022の24日目の記事です。
Google Titan Security Keyとは?
Google Titan Security Keyというのは、 多要素認証をするために利用される機器です。 いつも日本のGoogle Storeでは品切れだったのですが、最近は在庫があるようです。 品切れだった時は、ページを開くとエラーページが表示されるという状況でした。 今回、私が購入したのは、USB Type-C接続をするタイプです。 スマートフォン向けに、NFCも搭載されています。 今回は、NetBSD/amd64 10.99.2で動くpkgsrc/www/firefoxをアップデートするのに使う予定のFirefox 108.0.1で試して書いていますが、 現在pkgsrc/www/firefoxとして利用できる107.0.1でも同様に動作します。
Google Titan Security Keyを接続してみる
NetBSD/amd64 10.99.2を動かしているHP Envy 13-ay1052AUというラップトップPCに接続すると、以下のようにdmesgに出力され 認識されます。
uhidev3 at uhub5 port 1 configuration 1 interface 0 uhidev3: FS (0x096e) ePass FIDO (0x085b), rev 1.10/31.00, addr 5, iclass 3/0 uhid7 at uhidev3: input=64, output=64, feature=0
実を言うと、NetBSD/amd64 10.99.2にはlibfido2が含まれています。最近ブランチの切られたNetBSD 10にも同様に含まれています。 fido2-tokenコマンドを使って、認識されるか確認してみます。
$ fido2-token -L /dev/uhid7: vendor=0x096e, product=0x085b (FS ePass FIDO)
このように認識されました。 この表示を見ると、Google Titan Security Keyは、FEITIAN Technologies社の ePass FIDOのラインナップのOEMなようです。 Firefoxでは、libfido2を使うのではなくRust言語で書かれたthird_party/rust/authenticator以下にある実装を経由して Google Titan Security Keyを利用することになるはずですので、これ以上libfido2を追求するのは止めておきます。
Googleアカウントに登録する
2 段階認証プロセスにセキュリティ キーを使用するという Googleのヘルプページのパソコン向けの手順に従って登録してみます。
まず、Googleアカウントに登録します。2段階認証の登録画面 から登録して行きます。 Nextボタンをクリックし、表示に従ってUSBポートにGoogle Titan Security Keyを接続し、Security Key registeredと表示されたら認識されました。 名前を決めて入力し、Doneをクリックすれば登録は完了です。
Googleにログインする
さきほど設定したGoogleアカウントからログアウトしてもらうか、Firefoxのプライベートウィンドウでログインすれば、Google Titan Security Keyを正しく登録できたか 確認できます。今回はプライベートウィンドウで試してみます。ログイン画面へ遷移しユーザーIDを入力し、パスワードも入力します。
次の画面に進み、Google Titan Security Keyを接続すると、接触センサーの部分に触れるようにうながされます。
接触センサーに触れると、ユーザー認証は完了です。
おわりに
今回は、Google Titan Security KeyをNetBSD/amd64 10.99.2上で動くFirefoxで利用し、Googleアカウントにログインできました。 WebAuthnを採用したGoogle以外のウェブサービスを使ったり、他の用途でも使えるかもしれません。 いずれ試してみたいと思います。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。