SSTエンジニアブログ

SSTのエンジニアによるWebセキュリティの技術を中心としたエンジニアブログです。

Google Titan 使ってみた

はじめに

こんにちは。事業開発部のにしむらです。システム&セキュリティチーム(兼任)でSST内のコンシェルジュを目指しています。 2回目のエンジニアブログ投稿は「Google Titan 使ってみた」です。

ところで、食欲の秋ですね。当初このブログは10月に投稿予定でしたが、諸事情で11月にずれ込み、ぎりぎり秋に投稿できました。 SSTでは入社した人がどんどん太ってしまうという病?が流行っているとかいないとか。(食環境よすぎ?なのかも)

そんな中、SSTが加入しているITS健保で歩く歩数を競うイベント「歩fes 2019秋」が絶賛開催中です。 SSTからはなんと2チームも参戦しており、参加メンバーは日々歩数を稼いでいます。(たくさん歩いて少しでも体重を減らしたい!)

と、少し前置きが長くなりましたが、本題に入りたいと思います。

Titanの紹介

まずはTitan自体の紹介です。 store.google.com

日本語での読み方は、、、「たいたん」で良いのでしょうか?(間違っていたら教えてください!)

Titanセキュリティキーとは

Titanは、認証に利用するハードウェアキー(物理的な鍵)で、Google社が設計したファームウェアが内蔵されています。 「物理的な鍵」を所有していることにより、本人の認証を行うデバイスです。

家の鍵で同様に考えると、所持していればその家に入ることを許可された人なので、鍵を使って扉を開錠して、家の中に入れます。 それと同様に正しく設定されたTitanを所持していれば、本人であることが保証されて、本来本人しかアクセスできないデータなどにアクセスできるようになる、というイメージです。 2段階認証を設定しているGoogleアカウントで、パスワードと併用してこのセキュリティキーを利用することができます。

Titanは最近(といっても、数ヶ月前)に日本でも発売されました。またブログ執筆中に米国でUSB Type-Cタイプのものも発売されたとの記事が出てきました。(こちらは現時点では、日本未発売です)

使ってみた

ということで、実際に購入して、使ってみましたので、簡単にまとめてみます。

買った!

SST社内での利用展開を想定し、早速購入してもらいました。上記GoogleストアでGoogleアカウントにログインして購入します。 発売当初からブログ執筆時点までの販売価格は6,000円(税込)です。 もしサポートが必要になった場合、どのGoogleアカウントで購入したかが重要なポイントになりますので、購入に利用するGoogleアカウントには要注意です(後述)。

届いた!

注文してから1週間ほどで現物が届きました。

f:id:nishi6ra:20191111210444j:plain:w300
こんなパッケージで届きました。とてもシンプル!

開けた!

パッケージを開けると、、、

f:id:nishi6ra:20191111223719j:plain:w300

こんな感じでした。中身は、

①Bluetoothタイプのセキュリティキー

②USBタイプのセキュリティキー

③MicroUSBのUSBケーブル(①をPCに接続する際に利用)

④USB Type-Cの変換(②をUSB Type-Cに接続する際に利用)

と紙マニュアルが付属しています。

初期設定!

早速設定してみます。初期設定の方法は何種類かあるようですが、紙マニュアルにも記載されている g.co/securitykey に対応ブラウザ(今回はWindows上のChromeを利用)でアクセスします。

そこから「2段階認証プロセスにセキュリティキーを使用する」のヘルプページに飛ばされますので、その中にある「セキュリティ キーを登録」のリンクをクリックします。

ログインしていない場合、Googleへのログインが求められますので、セキュリティキーを利用するアカウントでログインします。

2段階認証を設定している場合、ここでこれまでの方法(Google認証システムなど)を使ったログインが求められます。 ログインすると、セキュリティキーの選択の画面がでます。

f:id:nishi6ra:20191112210004p:plain:w300
ここで「USB または Bluetooth」を選択します。次に、「セキュリティキーをお持ちですか?」と聞かれます。
f:id:nishi6ra:20191112210248p:plain:w300
セキュリティキーを持っているので「次へ」を選択します。
f:id:nishi6ra:20191112210631p:plain:w300
一瞬この画面が出たあと、
f:id:nishi6ra:20191112210639p:plain:w300
この画面が出ます。

ここでいよいよGoogle Titanの登場です。が、、、

まずは、②のUSBタイプのキーをPCのUSBポートに入れてみます。

f:id:nishi6ra:20191112211928p:plain:w300
このセキュリティーキーは使用できません

が、、、なぜか登録できない!何度か試してみましたが、状況は変わらず、「このセキュリティーキーは使用できません」が出続けます。

初めて使うデバイスなので、この時点では何か間違ってるのかな?と思い、環境を変えて試みましたが、すべてNGでした。

  • 別の対応ブラウザ(Firefox)を利用 → NG
  • 別のPCでChrome利用 → NG
  • 別のPCでFirefox利用 → NG

ここまできて切り分けのために、同様の手順を①のBluetoothタイプのキーで試したところ、、、問題なく登録できてしまいました。

と、ここまで実施して、USBタイプのキーの故障ではないか?という思いが強くなり自力解決は断念して、Googleサポートに頼ることにしました。

故障対応!

Googleへの問い合わせも少し苦労しました。かなり簡略化してまとめると以下のような流れでした。

  1. Google Cloud Support(Googleアカウントのサポート窓口)にチャットで相談

    ブラウザを最新にするなど、いろいろ試すも解決に至らず。製品担当チームへ引き継ぎ。

  2. 製品担当チームからメールにて連絡

    いろいろ調べていただいたものの解決に至らず。 製品の返品窓口をご案内いただく。

  3. 製品窓口に再度チャットにて問い合わせ

    返品+交換用端末発送の手続きとなるため、Titanを購入したアカウントでの問い合わせが必要とご案内いただく。

  4. 社内の購入担当に内容を伝えて、返品+交換用端末の注文手続きを実施いただく(この時点で故障発覚から5日ほど経過。。。)
  5. 交換用端末到着(約3週間後)と同時に返品手続き実施

故障対応での重要なポイントは、購入アカウントでの問い合わせが必要というところです。

おそらくGoogleさんの中でも今回のようなTitanセキュリティキーの故障?と思われる事例はまだかなり少ないのではないかと思いました(問い合わせしたときの印象からの推測です)。 自力で検索した範囲でも同様の事例は見つかりませんでした。ただ、今回複数のサポート担当の方とやりとりさせていただきましたが、どの担当の方もとても丁寧にご対応いただき、サポートレベルの高さにはとても安心感がありました。

ということで、故障?と思われる事象が発覚してから少し時間が経過しましたが、交換用端末が届きましたので、再度設定に戻ります。

初期設定リベンジ!

1回目の初期設定で失敗したところの続きから再開します。交換用端末として届いた新しいGoogle TitanのUSBタイプのキーを挿入してみます。

f:id:nishi6ra:20191112222618p:plain:w300
今度は使えました!

ここで、PCに挿入したUSBキーの光っている部分にタッチします。

f:id:nishi6ra:20191112224704g:plain:w300
緑っぽく光ってます
続けてセキュリティキーの読み取り許可のポップアップが出ますので、許可します。
f:id:nishi6ra:20191112222712p:plain:w300
セキュリティキーの読み取り許可
最後に登録したキーに名前を付けます。
f:id:nishi6ra:20191112222856p:plain:w300
「TitanUSB」という名前にしてみました。ここまでで②のUSBタイプのキーの登録完了です。

Bluetoothタイプのキー登録

続けてBluetoothタイプのキーも登録します。当初の故障切り分け時には、Bluetoothタイプのキーを使いました。この時にはセキュリティキーのMicroUSB端子に、付属の③MicroUSBのUSBケーブルを接続し、そのケーブルをPCのUSBポートに接続して利用しました。

今回はBluetoothタイプのキーをPCとペアリング設定して、物理的なケーブルなしで利用してみます。

  1. PCのBluetoothの「デバイス追加」を選択します。
  2. Bluetoothタイプのキーの押しボタンを長押しして、青いBluetoothランプを点滅させます。
  3. Bluetoothタイプのキーの裏面のアルファベット文字列を確認しておきます。
  4. PCのデバイス追加画面で、事前確認した文字列と一致していることを確認し選択します。
  5. PIN番号の入力が求められますので、Bluetoothタイプのセキュリティキー裏面に刻印されているPIN番号を入力し、ペアリングを完了させます。
    f:id:nishi6ra:20191112231252p:plain:w300
    ペアリング完了

引き続き、GoogleアカウントにペアリングしたBluetoothタイプのキーを登録します。手順は1つ目のキーを登録したときとほぼ同様のため省略します。最後に名前を付けて2つ目のキーも登録完了です。

f:id:nishi6ra:20191113163805p:plain:w300
登録完了!

認証に利用!

ここまででGoogleアカウントへのセキュリティキーの登録が完了しましたので、実際の認証に使ってみます。

ブラウザでのGoogleログイン

設定に利用したブラウザとは別のブラウザ(Titan対応のEdge)でGoogleにログインしてみます。

  1. パスワードを入力後、セキュリティキーの操作を求めるダイアログが出ます。
    f:id:nishi6ra:20191113162708p:plain:w300
    本人確認
    登録時のダイアログとほぼ同じですが、要求が、「Microsoft CorporationのMicrosoftEdge」に変わっていることがポイントです。
  2. ペアリング設定済みのBluetoothタイプのキーのボタンを押すと、通信進行中の表示に代わります。
    f:id:nishi6ra:20191113162717p:plain:w300
    通信進行中
  3. 確認が完了するとログイン完了です。
    f:id:nishi6ra:20191113162726p:plain:w300
    ログイン完了
AWS管理コンソールへのログイン

続いてGoogle以外のサービスの例ということで、AWSの多要素認証(MFA)の設定にTitanを利用してみます。ここでのブラウザは、Firefox(Titan対応)を利用してみます。 AWSへのログインには、Universal 2nd Factor (U2F) *1 セキュリティキーが利用できます。

  1. AWSマネジメントコンソールにログインし、セキュリティ認証情報の設定ページに移動
  2. 「多要素認証(MFA)」で「MFAの有効化」を実行
  3. MFAデバイスの管理画面で「U2Fセキュリティキー」を選択
    f:id:nishi6ra:20191113160410p:plain:w300
    U2Fセキュリティキー
  4. 「U2Fセキュリティキーの設定」ダイアログが出てすぐに次のダイアログへ
    f:id:nishi6ra:20191113160359p:plain:w300
    U2Fセキュリティキーの設定
  5. 本人確認のダイアログがでるので、セキュリティキーのボタンを押す
    f:id:nishi6ra:20191113161311p:plain:w300
    本人確認
  6. 設定完了
    f:id:nishi6ra:20191113160718p:plain:w300
    設定完了
    一度ログアウトして、登録したセキュリティキーを使ってログインしてみましたが、無事ログイン完了しました。
Googleの高度な保護機能プログラム

最後の利用パターンですが、Titanが必須のGoogleの「高度な保護機能プログラム」を簡単に紹介します。

landing.google.com

この機能を有効にすると、Google アカウントへのログイン時に、パスワードに加えて物理セキュリティ キーが必要になります。 本ブログでは2段階認証のパスワードに続く2つ目のデバイスとして、Titanセキュリティキーを利用してきたため、「高度な保護機能」を使った場合でも、使い勝手としてはほぼ似たような流れになります。

「高度」と表現されていることから、通常の2段階認証とは異なる部分がいくつかあります。

  • Titanセキュリティキー2つが必須(通常の2段階認証ではGoogle認証システムなど他の手段も選択可能)
  • Googleアカウントのデータにアクセスする多くのサードパーティ製アプリが許可されない

実際に試してみましたが、専用の設定ページで、2つのセキュリティキーを登録するのみで設定自体は簡単にできました。

さらに具体的な利用については、、、次回以降のお楽しみということで。

SST社内での想定用途

現状SST社内ではTitanは未導入ですが、今後の主な用途として以下を想定しています。

  • 2段階認証設定時にスマートフォンを利用したくないユーザーの利用
  • システム管理者など役割に応じてセキュリティキーの利用を必須にする

Google Titanは2つのセキュリティキーが入っていますが、それぞれの用途もある程度想定しておいたほうがよさそうです。 例えば、以下のような使い分けを想定しています。

  • ①のBluetoothタイプのセキュリティキーは業務中は身につけて携行する(入館証などと一緒にキーホルダーにつけるなど)
    • Bluetoothペアリングしておけば、必要になった時にボタンを押すだけで利用可能
  • ②のUSBタイプのセキュリティキーは初期設定を実施後、鍵のかかるキャビネットに保管しておく
    • 普段は利用せず、①が壊れたときor紛失した時用の予備デバイスとて利用

おわりに

「Google Titan 使ってみた」いかがでしたか?

最低限の使い方を紹介しましたが、SSTでの本格導入はこれからの予定です。

実際の導入にあたっては、「物理破損or紛失」やBluetoothデバイスの「電池切れ」についても可能性として考慮しておいたほうが良さそうです。 また、今回遭遇した事象は、おそらく機材の初期不良と想定していますが、利用中の故障も考慮して管理面では予備機材を導入しておくなどしておいたほうがよさそうです。

なお、本ブログ執筆時点で、AndroidスマートフォンをTitan同様のセキュリティキーとして利用することもできるようになっていました。 ブラウザがChromeに限定されたり、そもそも社内にはiPhoneユーザーもいるため、標準的な使い方にはできなさそうですが、予備機材の候補の1つとして考慮できそうです。

私は社内のシステム&セキュリティ担当として、社員のみなさんが安心して安全に効率よく業務を進められる環境作りもミッションとしています。

今回使ってみたTitanに限らず、安全性の向上(エンジニアだけでなく、SSTで働く全社員の)を目指せそうなデバイスやサービスをスピード感を持って導入していけるように日々仕組みを考えていきたいと思います。

*1:FIDO Alliance が運用するオープン認証規格