カテゴリ:レビュー

Windows Helloに対応したセキュリティ認証デバイス「Yubikey」の使い勝手を試してみた

𝕏

※記事の内容は執筆時点のものです。記事内のリンクからアフィリエイト報酬を得ることがあります。

2016年9月にWindows Helloに対応したこともあり、昨年末あたりから海外サイトで何かと話題を目にするようになったYubikeyを購入してみました。

認証デバイス Yubikey

Yubikeyがなんなのかというと、一言でいうといわゆるセキュリティートークン(ハードウェアトークン)です。
大部分の人にはなんのことかさっぱりわからないと思いますが、私も詳しく説明しろといわれると困る程度の理解しかしていません・・・。

ようするに、パスワードを管理したり、SSH接続で利用する秘密鍵を登録し、これを挿さないとSSHで接続できなくしたりといったことができるデバイスです。

Yubikeyにはいくつかのバリエーションがあり、今回購入したのはYubikey 4というものです。
USBポートにすっぽりと収まるYubikey 4 nanoやNFCに対応したYubikey NEOなどもあります。

Googleの2段階認証でも使えるセキュリティキーの上位版

この手のデバイスとして比較的メジャーなものに、GoogleやDropboxの2段階認証で使えるセキュリティキーというのがあります。

Yubikey(黒)とセキュリティキー(青)

このブログでも以前に紹介したことがあります。

あらかじめセキュリティキーを登録しておけば、電話やメールで送られてくる認証コードを打ち込まず、セキュリティキーを挿すだけで認証ができるという便利アイテムです。

ログイン_-_Google_アカウント

ただ、使えるのがPCのChromeブラウザだけで、スマートフォンの場合には従来通りにコードを入力しなければいけないとか地味に不便。
また、Googleが2016年6月から開始した「Googleからのメッセージ」認証との併用もできず、最近は出番がほとんどなくなっています。

このセキュリティキーはFDIO U2Fという規格を使っているのですが、Yubikeyもこれに対応しており、セキュリティキーとしても利用することが可能です。

USBメモリに見えるけど、実はキーボード

このYubikey、形状的には薄いUSBメモリのように見えますが、ふるまいとしては特殊なキーボードです。
HIDデバイスとして接続するため、USBメモリなどの仕様がソフト的に制限されている環境でも利用できるはず。

USBポートに挿入し、中央の金色の部分を押すとランダムな文字列が発行されます。

ボタンを押すたびに44文字の文字列が入力されます。
文字列は毎回異なりますが、最初の10文字だけは固定のようです(なので一応ぼかしてみました)。

この文字列は開発元のYubicoの独自アルゴリズムによるもので、対応サービスではワンタイムパスワードとして利用することができます。

なお、Wordpressには、このYubikeyのワンタイムパスワードでログインできるようにするプラグインが存在します。

超長いランダムな文字列をパスワードとして登録する

ワンタイムパスワードは、なにか便利そうだし安全そうではあるのですが、いかんせん対応サービスでないと使うことができません。
しかし、ワンタイムパスワードに対応していないサービスなどではYubikeyはまったく使えないのかというと、そんなこともありません。

Yubikeyは短押しでランダムな文字列(ワンタイムパスワード)、3秒の長押しで登録した静的な文字列を入力することが可能です。
静的文字列の入力は、デフォルトでは無効になっていますが、Yubikey Personalization Toolというソフトを使うことで有効にすることができます。

Yubikey Personalization Tool

静的文字列として完全にランダムな文字列を最大38文字登録し、その文字列をWindowsやWEBサービスなどのパスワードにすれば、自分自身でもパスワードを覚えていられないのでYubikeyがなければログインできないという状況を作れます。

ただその場合、Yubikeyが盗まれてしまうとログインし放題となってしまうため、最初の数文字は手入力し、残りをYubikeyで入力するという方法が公式サイトでは推奨されています。
キーボードとして文字入力をしてくれるYubikeyならではの使い方です。

この方法なら、最初の文字列を変更することでサービスごとにパスワードを変えることもできますね。

Windows Helloで利用する

パスワードを登録することでWindowsログインに使えるといっても「今時パスワードかよ・・・」と思う層がいないこともないでしょう。
そんな人のために、YubikeyはWindows 10のWindows Helloにも対応しています。

Windows Helloというのは、指紋認証だったり顔認証だったりでWindowsのロックを解除できる機能です。

利用するには「YubiKey for Windows Hello」というアプリをMicrosoftストアからダウンロードします。

この機能を使うためには、アカウント設定でPINでログインできるようにしておく必要があります。

PINでログインできるようにしておけば、あとはYubiKey for Windows Helloを立ち上げて画面の指示に従えばセットアップは1分もかからずに終了します。

初期ログインには使えない

あとはWindowsへのログイン時にYubikeyを挿せばいいのですが、一つだけ残念な点があります。
確かにスリープ状態のWindowsにYubikeyを挿し、ボタンをタッチすることでロックを解除することが出来るのですが、再起動直後の初回ログイン時などには使用することが出来ません。
初回のログイン時にはPINやパスワードでログインする必要があります。

また、スリープ時からのロック解除でも、とくにYubikeyを使わなくてもPINやパスワードでロックが解除できてしまいます。

この使い方だと、数字4件を入力する手間が省ける、という程度の利便性しかなく、はっきり言ってしまうと期待外れです・・・

余談:PINのセキュリティは高い

余談になりますが、セキュリティを意識してYubikeyやWindows Helloを使うのに、パスワードではなく数字4桁のPINを使わなくてはいけないのはどうなのか?4桁の数字よりも長いパスワードのほうがセキュリティが高いのではないか?という意見をちらほらとネットで見かけます。

私も一時期そう思っていたのですが、実際にはそうとは限りません。

例えば、Windows 10ではログイン時にマイクロソフトアカウントを使うことが推奨されています。
Microsoftのアカウント名、パスワードでログインするわけですが、、もしショルダーハックなどでパスワードを盗み見られていた場合、同じアカウントを使用するOffice 365だったりOne Driveだったりにも他の場所からアクセスされてしまう可能性があります。

ところがログイン時にPINを使っていた場合、たとえ盗み見られていたとしても、PINが有効なのはその端末だけなので、他の場所でOne Drive等にアクセスされることはありません。

そう考えると、頻繁に入力する必要がある(つまり他の人に見られる可能性が高い)Windowsログインなどでは4桁のPINのほうがセキュリティが高いと言えます。

企業ユースならソフト技研のYubiOnが使えそう

Windowsのログインに関してはいまのところかなり残念な結果と言わざるを得ないYubikeyですが、企業ユースの場合、日本での代理店であるソフト技研が販売しているYubiOnというソフトを使うことで、YubiKeyが無ければログインできないという状態を作れるようです。

Yubikeyを抜くとWindowsもロック状態になるということで、多くの人がイメージしているセキュリティはこれでしょう。

個人で導入するにはやりすぎな気もしますが(そもそも個人には売ってなさそうですが)、企業で導入するには良さそうなソリューションです。

これがないと接続できないスマートカードとしての利用

Windowsのログイン絡みでは残念な結果ですが、SSHなどの接続では、秘密鍵の管理を簡単にし、これを挿し込めば接続できる(これがないと絶族出来ない)という状況を作ることが出来るようです。

私自身、いまはSSHなどを使っていないのですが、サーバー管理などでSSH接続を日常的にする人には便利そうです。

設定方法などの詳細は下記のサイトで解説されています。

結論:一般人にはまだ不要

まだまだ使い込んではいませんが、ざっとYubikeyにできることを確認してみたところ、「まだ一般人が手を出すには早すぎる」という気がします。

もちろんセキュリティ意識が高い人や、最後に紹介したスマートカードとしての利用など、この使い勝手を求めていたという人もいると思いますが、一般的な利用方法ではないですよね。

一般人には時期尚早な感じですが、開発関係のドキュメントは豊富にそろっているようなので、自分でソフトやサービスを開発している人には面白味のあるデバイスかもしれません。

個人的にはYubiOn的なイメージの使い勝手ができるツールが登場しないかなぁっと期待しています(他力本願)。

B018Y1Q71M [正規販売代理店品]YubiKey 4
assocbtn_orange_amazon2._V288606659_