概要
この度FIDO認証器のBluetoothインタフェース対応のものが届いたので使ってみましたよ。
FEITAN technorogy社って中国の会社が出している「MultiPass FIDO® Security Key」になります。
入手方法
本家のオンラインストアでも販売されていますが、1つ49.99ドルと若干お高め。 まとめ買いとかだと3つ105.99ドルとすこしお得になるらしい。
日本代理店として飛天ジャパン株式会社があり、日本でもAmazon.co.jpで正規店から4980円で販売されているので1つだけならこっちの方が若干安い。
ということでAmazonの飛天ジャパンストアーから購入しました。
機能をみてみる
サポートしている機能はU2Fのみです。
2段階認証として現在メジャーなのはOTP(ワンタイムパスワード)ですが、OTPでは依然としてfishingを防ぐことができません。 また、認証時の手間も結構大きく、都度専用アプリを開き数字を入力というフローを踏む必要があります。
そこで、上記のような問題を解消し、利便性・セキュリティ強度の両方を実現する方法としてU2F(Universal 2nd Factor)という規格がFIDO Allianceというところで策定されています。
この手の製品でメジャーなYubico社製のものでは現状USB, NFCしかインターフェースが対応されていません(Yubikey Neo)。
「MultiPass FIDO® Security Key」ではUSB, NFCに加え、Bluetoothにも対応しています。 本体にはmicroUSBのメス口がついているのみで、ケーブル経由でUSB接続利用、充電します。(microUSB - USB2.0 ケーブルが付属しています)
表には所持認証時に押すボタンが一つついているのみ。
裏面にはBluetoothペアリング時に入力するパスコードが書かれています。
ボタン長押しでBluetoothペアリングモードになり、スマホ端末で検出できます。 Mac端末と相性がよくないのかMacBookAir, iPhone7ではペアリングがうまくいきませんでした。。Android端末では複数端末で試しましたが問題なしでした。
以下、本製品に限らずU2F自体の特性も踏まえてのメリデメとなります。
メリット
セキュリティ向上
上でも書きましたが、U2Fでは認証時にタップなり指紋認証なり、所持認証が入ります。よってfisihingが防げます。
また、頭の中で覚えているパスワードと違い、漏れていることにちゃんと気づくことができます。U2Fでは認証器を紛失した時が漏洩した時です。
利便性向上
現在2要素認証としてよく利用されているOTP認証と比較して、所持認証では認証器のタップなど、単純な操作で認証ができるので使い勝手が向上します。 Googleによる報告によると、認証時間に換算してOTPよりおおよそ40秒程度短縮されたそうです。
特に本製品ではBluetooth対応しており、大抵のデバイスで利用可能であり、利用可能範囲も100m程度なので、わざわざスマホ端末に物理的に接続や接触させる必要がなく楽です。
サポートコスト減
OTP認証では、モバイル端末などに専用のAuthenticatorアプリケーションをインストールする必要があります。その性質上、端末によってはうまくアプリケーションが動作しないことなどもあり得えます。
また、OTPでは通常(TOTPの場合)Authenticatorアプリをインストールしたデバイスのクロック情報に依存しており、そのクロック情報がずれているとうまく認証されないケースも稀に起こり得ます。
このように、OTP認証では稀にうまく認証されず、サービス提供者へ問い合わせがたまに発生します。
それに対しFIDO U2Fでは、シンプルな公開鍵認証ベースの認証であり、利用者側での不具合が発生しにくいようです。 Googleではここ2,3年社内でu2f認証を導入しているようですが、その報告によるとサポートコストはOTP認証を利用していた時と比較してほぼ0となったと言われています。
利用者側のメリットに加え、サービス提供者側のメリットもあることがわかります。
デメリット
利用可能サービスが少ない
U2Fは、サービス実装側のコストが結構あります。規格がでてから結構たちますが依然としてU2F利用可能サービスがほとんどないのが現状なようです。 主要な利用可能サービスは以下くらいかと思われます。
- Github/bitbucket
- Dropbox …etc
正直ごく少数のサービスのためだけに認証器を持ち歩くのもかなりコストフルな気はしますので今後の普及次第かもしれません。(現在FIDO2という新しい規格も活発なので期待。特にオンラインバンクとかはさっさとサポートしてほちい。。)
現状アプリでサポートされていない(対応ブラウザでしか利用できない)
U2Fでは、認証器との通信はCTAPというプロトコルで行われています。 ブラウザでは、U2FをサポートしていればこのプロコトコルをJavaScript APIで簡単に利用することができます。
現状、主要なWebブラウザではU2FサポートされているのでそこまでPCブラウザでの利用に関してはそこまで不自由しないかもですが、スマホブラウザはあまりサポートされてなさそうなので注意です。(確認した感じChromeならどちらでもいけました)
そして、非ブラウザ環境、つまりはアプリなどでは自前で上記のプロトコル部分を実装する必要があります。Androidではすでにfidoのライブラリも提供されているようでアプリ対応もできそうではありますが、現状ほとんどのアプリは非サポートとなっているようです。
(Bluetoothの場合)バッテリーが必要
USB接続、NFCインタフェースの場合認証器にバッテリーは不要でしたが、Bluetoothの場合必要となります。
また、それに伴い耐水性や故障率も跳ね上がってしまうので一長一短です。 Yubikeyと比較してポータビリティは低下しますね。
(Bluetoothの場合)利用可能範囲が広すぎる
Bluetoothは規格上300m程度利用可能範囲があり(可用範囲を狭める技術もあるようですが)、便利である反面自分以外の他者も容易に検出できてしまいます。 USBでの物理接続やNFCと比較してセキュリティは若干低下します。Yubico社が現在Bluetooth対応しないのもそれらの理由のようです。
ただペアリング時にパスコードが必要なので許容できる範囲かもしれませんが。
まとめ
今回、Bluetoothインタフェース対応のU2F認証器「MultiPass FIDO® Security Key」についてみてみました。 Bluetoothサポートによるメリット、デメリットがあり、何に重きを置くかによるかと思います。
おおよそ5000円でU2F機能のみと、Yubikey4が同じくらいの価格でPIVやGPG、signingなどもサポートしていることを考えると少し寂しい気もしますが、Bluetoothは使い勝手はとてもいい感じでした。
まあそもそももう少しいろんなサービスでU2F,FIDO2サポートしてくれないとですね。
以上。
画像出典:FEITIEN technorogy, yubico社ホームページより