2016年7月11日月曜日

[FIDO]Injectorでパスワードの使いまわしや簡単なパスワードの利用を防止する

こんにちは、富士榮です。

先日のOpenIDファウンデーション・ジャパン、Enterprise Identity Working Group(EIWG)の成果報告会で、Cloud Identity Summit 2016(CIS)への参加についてBlockchainとHashgraphとアイデンティティに関する報告をさせてもらいました。

 資料等は前回のポストで。
 Blockchain、Hashgraphとアイデンティティ
 http://idmlab.eidentity.jp/2016/06/blockchainhashgraph.html


実はCISではセッションの他にExpoという形で各社がソリューションを持ち寄る展示会があり、その中でFIDO関係のブースで出展をしていたBluink社のInjectorというデバイスがとても面白かったので、取り寄せてみました。

Injectorには、Injector USB DeviceとInjector Miniという2種類がありますが、あんまり機能差がなさそうなので、持ち運びを考えてInjector Miniを購入しました。

公式サイトのストアで$29.99+日本への送料($15.00)の合計$44.99で購入できます。


2週間くらいで届いたので、早速試してみます。

◆何をするものなのか?

まず、そもそもこれは何をするものなのか?というと、「スマートフォンアプリに各種ログオン情報を記憶させておき、Injector(ドングル)を挿したPCでの各種ログインをスマホ経由で行う」ためのものです。

1.IDとパスワードの入力を代行する入力デバイス

(公式サイトの解説より)


簡単に言うと、PCに挿したBluetoothアダプタが入力デバイスとして認識され、スマホからログインに必要なキーストローク情報を送り込む、というかなり原始的な?仕組みです。
尚、この仕組みをとるのでPC側には基本的には何の追加ソフトウェアもいりません。
(QRコードを使って対象アプリケーションの選択を簡素化したい場合はブラウザのアドオンを入れる必要がありますが、自分でスマホ上で対象のアプリケーションを選択するなら本当に何もいりません)

試しにLinkedInへのログインを動画にしてみました。



2.FIDO U2Fに対応した2要素目のデバイス

また、違った一面としてFIDO U2Fに対応しているので、GoogleなどU2Fに対応したサービスへのログイン時の2要素目としても利用が可能です。

こちらも同じくGoogleへのログイン時の2要素目として使ってみました。

◆まずは準備

では、早速使ってみます。
準備として、スマホ用のアプリケーションをダウンロード~インストールします。



アプリを立ち上げると、マスタパスワード(このアプリ自体の起動パスワード。Touch IDも使えます)の登録およびInjectorデバイスとのペアリングを行うことになります。
(この段階でPCへInjectorデバイスを挿入します)

尚、このペアリングですが、工場出荷時はオープン状態(どのスマホとでもペアリング可能な状態)のはずなんですが、私の手元に届いたものはどうしてもうまくペアリングできず、サポートとやり取りをしてリセットをしてもらいました。(15分くらいでリセット用のコードを発行してもらいました。現地は土曜日の昼頃だったはずなんですが、驚異的なスピードです!)


うまくいくと、こんな感じでデバイスが登録された状態になります。




◆ログイン対象を登録

これでアプリとデバイスの準備が出来たので、次はアプリケーションの登録です。

アプリでAdd Credentialというメニューがあり、ある程度のアプリケーションはプリセットされているので、そこから選択すると簡単に登録ができます。


ここでアプリを選んでログインに使うIDとパスワードを登録していく、という形をとります。
尚、注意点ですが先に書いたとおり、キーストロークを送り込むという仕組みになっている以上、キーボード配列が違うと特に記号がうまく入りません。
これを使うときはPCを英語キーボードモードにしておきましょう。

後は先の動画で紹介したように各アプリを開いてスマホ側でログインをするだけです。



◆FIDO U2Fとしての登録

次は、基本的な使い方に加えてFIDO U2FデバイスとしてInjectorを登録してみましょう。
尚、これも注意点なんですが、U2Fに使う場合、キーストローク入力型の基本的な使い方との両立が現時点でうまくいっていません。(私の環境の問題かもしれませんが)
基本的な使い方の方に戻したければU2Fとしての登録を一旦削除してあげる必要があります。


動きは先に動画で紹介したので、GoogleへのInjectorデバイスの登録の方法を簡単に紹介します。基本はFIDOなのでYubikeyなどと同じくデバイスを事前に登録しておくだけです。

Googleの2段階認証セットアップを開き、セキュリティキーの登録を行います。
基本は画面の指示に従ってキーの挿入をし、アプリケーション側に表示されるRegistration確認を行うだけです。

(Googleのセキュリティキーの登録画面から指示に従いデバイスを登録する)


(うまく認識するとアプリに登録確認が出てくるので回答する)




これで完了です。
後は2段階認証の際にデバイスを挿してアプリで回答するだけです。


◆使ってみた感想

意外と良いかもしれません。
LastPass見たいなサービスに依存するものもなく、あくまでペアリングされたデバイスに依存するので、オフラインでも使えますし(それこそWindowsやMacへのログインにも使えます)、キーストローク入力するだけの簡単な仕組みなので対象のアプリケーションを選びません。
これで各アプリ向けのパスワードは本当にランダムなものを使ってしまっても問題ないかもしれませんし、ブラウザにパスワードを覚えさせる必要もありません。
(忘れた場合、Injectorの設定データのバックアップからパスワードを復元するためのツールが提供されています)

ただ、課題がないわけでもありません。
具体的にはあくまでUSB入力デバイスなので、モバイルのネイティブアプリやブラウザでの利用は出来ません。ネイティブアプリの場合はアプリケーションパスワードなどをうまく利用すればよいでしょうが、ブラウザの場合は困ってしまうので今後に期待です。
(現状でもiOSのSafariの場合はIntentでアプリを呼び出してキー入力させる様にできるみたいです)


0 件のコメント: