Yubikey入門

はじめに

インターネットやPCが普及した現在、誰もがパスワード認証を行っています。昔からある認証方法で、多くのサービスで採用されています。二段階認証やシングルサインオンをするとしても、最初はパスワード認証を行っています。
システム上で個人を特定する重要な情報なので、常にクラッカーやマルウェアに狙われており、またその対策としてセキュリティ技術も発展を続けています。
このエントリでは、パスワードや二段階認証によるセキュリティを強化することのできるYubikeyという製品についてご紹介します。

Yubikeyとは

以下のQiitaの記事が詳細に書いてあるので、参照してください。実際のところ、以下の記事が非常に詳しく、私のこのエントリは補足程度のものです。AuthorのShinozaki Daichiさん、良い記事をありがとうございます。

秘密鍵、管理してますか? YubiKeyで鍵の一元管理とSSH接続、2段階認証の高速化を試す

以下、Yubikeyを知らない人向けに、最小限の内容を書きます。

用語説明

Yubikey

Yubikeyとは、PCに接続して使用するデバイスのことです。Yubico社によって製造・販売されています。
製品によって対応する端子は異なりますが、現在のところUSB Aコネクタ(現在販売されている多くのPCにある端子)に対応しています。 USB Type-Cに対応する製品は、執筆時点(2017/04/24)で確認できていません。 Type-C対応版がありました(Store URL)。(2017/04/24 12:43更新)

YubiKey-4-laptop-lighting-1030x687
source: https://www.yubico.com/press/images/

FIDO(Fast IDentity Online)

次世代のオンライン認証規格です。多くの企業が策定に関わり、普及に取り組んでいます。
FIDO - http://iot-jp.com/
wikipedia

U2F(Universal Second Factor)

FIDOにはUAF(Universal Authentication Framework)とU2Fという2種類の方法があります。
UAFは、デバイスを登録して、そのデバイスに生体認証など本人しか知り得ない情報を読み込ませる方法です。パスワードを打たなくて良いので簡単かつセキュアで、生体認証情報がデバイス内部で完結するという方法です。
U2Fは、二段階認証のワンタイムパスワードを、対応デバイスを使って入力する方法です。サービス利用側のメリットは、時計のズレを気にしなくて良いことと、入力の手間が省けることです。

Yubikeyは、U2Fデバイスに相当します。

Yubikeyを購入する

Yubikeyを購入する方法はいくつかあります。
まずは公式のオンラインストアです。私はここから買いました。 https://www.yubico.com/store/
日本であまり出回っていない特殊なデバイスなので、公式のサポートを得られる方が良いということ、GitHub認証によるディスカウントキャンペーンを行っていたことから、他のオンラインマーケットではなく公式のストアにしました。
ディスカウントキャンペーンについて補足すると、1回の購入につき最大5つのYubikeyまでディスカウントされます。しかしYubikeyが外国企業なので、国外からの送料がかかります。従って、1つ買うだけだと割引が送料で相殺されてしまいます。

Yubikeyをセットアップする

Yubikeyが到着したら、まずは主要なWebサービスに設定しましょう。
多くの個人が利用しているサイトで、Yubikyに対応しているものには以下があります。

UIやURLはサイトによって異なりますが、大まかには以下の流れで設定を行います。

  1. アカウントの設定ページに移動する
  2. 二段階認証を設定する(既に設定されいれば省略)
  3. U2Fデバイスの登録ボタンを押す
  4. YubikeyをUSBポートに入れる
  5. Yubikeyの金属部分をタッチする

詳細は各サイトのドキュメントを参照してください。

YubikeyのStatic Passwordを設定する

これまでU2Fの機能を紹介してきましたが、もうひとつ、Yubikeyに固定のパスワードを記憶させることができます。
YubiKey Personalization ToolsというソフトウェアをPCにダウンロードして、Yubikeyに設定を書き込みます。
YubikeyをUSBに刺して、YubiKey Personalization Toolsを起動し、Static Password > Scan Codeをクリックした先の画面で、パスワードの入力とキーボードを設定します。その後、 Write Configurationをクリックして書き込みます。
スクリーンショット_2017-04-24_9_06_19

設定したパスワードは、Yubikeyを3秒ほどタップすることで書き込まれます。YubikeyはUSBキーボードをエミュレートしているとのことで、キーボード設定もそこで関わってくるのだと思います。
私は、1Passwordのマスターキーに、数文字を手打ちしてからYubikeyの長押し(Slot 2)を入力して設定しています。

今後やりたいこと

  • バックアップとして2本目のYubikeyの購入と設定
  • SSHにつかう秘密鍵をYubikeyで管理

まとめ

FIDO U2FとYubikeyについてご紹介しました。
定期的なセキュリティ更新の際に、ぜひ導入してみてください!