こんにちは。
ほとんど更新していないこのブログですが、まだ読んでくださっている方はいらっしゃるのでしょうか。
今回は、ついに大学の山盛りレポートを微妙なクオリティながら片付け、真の春休みを迎えることができた記念(?)に1本書きたいと思います。
(5/4追記: この記事は当初2月上旬に公開予定でしたが、下書きのまま5月まで放置してしまいました。公開が遅くなりごめんなさい)
さて今回の記事は、GoogleのTitanというセキュリティキーを購入して高度な保護機能プログラムに登録してみましたというお話です。
きっかけはGCP
つい先日、趣味のウェブ開発に使うためGoogle Cloud Platform(Googleが提供するAWSみたいなサービス)に個人のアカウントでサインアップしたところ、Googleさんから「高度な保護機能に登録してください」とのメッセージが届きました。
高度な保護機能とは何かといいますと、Googleアカウントのセキュリティ基準をGoogleの提供する最高レベルのセキュリティ、すなわちGoogle社内で使用されているのと同じレベルまで高める機能のことです。
Googleの公式紹介ページを見てみますと、
ハイレベルの保護を必要とするユーザーのための、Google の最も強固なセキュリティ
とかかれており、またその対象者は
ジャーナリスト、活動家、ビジネス リーダー、政治関係者など、標的型攻撃のリスクがあるユーザー
とのことです。
私はとくにジャーナリストなどではないのですが、推察するにGCPのユーザーはGCPをビジネス目的に用いる場合がほとんどですし、その場合は顧客のデータを預かる立場にあるということになりますので、標的型攻撃を受けるリスクがあると判断されたものと思われます。
高度な保護機能に登録したら何が変わるのか
詳しくは前掲のGoogleによる紹介ページをご覧いただくとして、高度な保護機能の実態を一言で言ってしまえば、Googleアカウントへのアクセス手段がガチガチに限定されるというもののようです。
具体的には、ログインの際にセキュリティキーが必須となり、SMS認証やTOTPなどの代替手段が使えなくなります。
セキュリティキーとは何かと言いますと、Yubikeyに代表されるような、多くの場合はUSBメモリみたいな見た目の秘密鍵保管装置のことです。
最近はFIDOやWebAuthnなどと呼ばれる規格標準化が進んでいるのですが、従来のパスワード認証の弱点であった漏洩のリスクや管理の煩雑さを、物理的な装置に秘密鍵を閉じ込め、装置内部で署名や暗号化を行うことで、秘密情報を一切外に出さないというアプローチをとることで安全性を高めた認証装置です。
これの面白いところは、セキュリティキーを用いて認証を行う際には秘密情報がネットワークを流れないということです。従前のパスワード認証は「パスワード」という重要な秘密情報をネットワーク経由で送信して認証を行うため、通信経路での盗聴やフィッシングにあった際に盗まれてしまいます。
仕組みとしては、事前に認証先のサーバーにセキュリティキー内部の秘密鍵とペアになる公開鍵を登録しておき、認証を行う際にはサーバーから発行されたChallengeという乱数をセキュリティキー内部に保管してある秘密鍵を用いて署名して、それをサーバーに送り返します。サーバーは事前に共有していた公開鍵を用いて署名を検証することでユーザーを認証することができます。
すなわち、通信の盗聴があったとしてもネットワークを流れるデータは単に秘密鍵によって署名された乱数であり、その認証Challenge以外では使用できませんので、セキュリティキー(秘密鍵)そのものが盗まれない限り、アカウントへのアクセスを安全に保つことができるということです。
余談ですが、日本のマイナンバーカードにも同様の仕組みがあり、一枚一枚が秘密鍵を持っているため、電子署名などに使用できるようになっています(実際に電子定款の署名などに用います)。将来的にはマイナンバーカードを使用して安全に行政サービスにログインしたりできるようになるかもしれません。
また、Googleの高度な保護機能はセキュリティキーでの認証を必須にすることに加え、ドライブ等のデータへのアクセスができるサードパーティを限定したり、アカウントを復元する際のプロセスをより厳格化するようです。
要するに、セキュリティキーを常に携帯する必要があるなど若干利便性は下がりますが、そのかわり現状最もレベルの高い安全性を確保することができる機能ということになります。
Titan Security Key を購入した
じつは私はもともとYubikey 5を所有しており、Googleはじめ複数のサービスの多要素認証として利用していました。
しかし、YubikeyはUSB接続のためスマートフォンでは使用できないことと、高度な保護機能はバックアップのために複数のセキュリティキーが必要となるため、思い切ってGoogleの販売する(実はFetianのOEM)Bluetooth対応のセキュリティキーであるTitan Security Keyを購入することにしました。
GoogleストアではBluetoothの使えるキーとUSBのみのキーがバンドルされて販売されており、購入時点での価格は\6,000(送料込)でした。以前購入したYubikeyがスウェーデンからの国際便で送料等もろもろかかり100ドルくらいはしたので、だいぶリーズナブルです。
注文したのが2月7日なのですが、どうやらこれは香港から国際便でやってくるらしく、羽田クロノゲートを経由して自宅に届いたのは2月11日でした。最近はAmazonのちょっぱや配送に慣れているので時間がかかるなあと思いましたが、一昔前のネット通販はこのくらい普通でしたよね。
高度な保護機能には2つのキーが必要ということで購入した私ですが、Yubikeyをすでに持っているので、TitanにバンドルされていたUSBのキーは余分になってしまいました。バンドルではなく単体で購入したい方は、OEM元のFetianで購入できるかと思います。
Titan Security Key はこんなかんじ
イマドキのIT企業ふうのシンプルな小さい箱に入っています
中身はこのように、BluetoothとmicroUSB対応のキー(左側)とUSB/NFC対応のキー(右側)のセットに加え、microUSB-USB-Aケーブル、USB-C変換プラグが付属しています。
なんだか想像していたよりも小さいですね。小さい方が持ち運びやすくてグッドです。
本来であればここで
どのように登録するのかなど、スクショを交えてご説明するべきところですね。
しかしながら、正直に申しましてスクショを撮りまくるのが面倒くさいのと、登録作業自体はとてもシンプルな手続きでしたので、この記事に興味を持って頂いているようなセキュリティに詳しい皆様には特に説明するほどではないと考えたため、誠に勝手ながら省略させてください…ごめんなさい
というわけで、現在の私はセキュリティキーを3つ所有しています(Titan二種類+Yubikey 5ひとつ)。中でも私はBluetooth接続のTitan(白くて丸っこいやつ)をメインのキーとし、キーホルダーにくっつけて持ち歩くようにしています。
Googleの高度な保護機能には予備のキーも登録する必要があり、従来メインのキーとして登録していたYubikeyを予備として登録しており、TitanのUSBエディションは使用していません。
実際どんな感じ?
BluetoothのTitanはiPhoneなどでも使用でき、特に高度な保護機能を有効にした私のような人にはこれがなくてはiPhoneからGoogleのサービスに接続できず必需品とも言えます。
ボタンを押すだけで利用できる手軽さにはおおむね満足していますが、唯一難点をあげるとすれば、PCに接続する際にmicroUSBケーブルが必要だということです。Bluetooth対応であればBT接続してなんとかなるんじゃないかと思いましたが、これはブラウザの問題かうまくいきませんでした。
普段はそれほどセキュリティキーを求められることはありませんので問題にはなりませんが、外出先などで突然認証を求められた際、近くにmicroUSBケーブルがないとコンビニまで走らなくてはならないということになってしまうかもしれません…(笑)
みんなもセキュリティキーを持ち歩こう
ふーん、なんかよくわからんけど、自分には関係ないや。と思われた読者の方も多いかもしれません。しかしながら、このようなセキュリティキーを用いた認証は、近年FIDOという規格名で急速に普及が進んでいます。
従来のパスワード認証には様々な問題があります。例えば、通信経路上での盗聴やパスワードの使い回しによるリスト型攻撃などです。FIDOを用いた認証はこれらの問題を一挙に解決し、かつ極めて高い安全性でありながらエンドユーザーにほとんど負担をかけません。
実際に、Googleでは全社員に業務システムへのアクセスに際しセキュリティキーの使用を義務付けているとのことで、それによりフィッシング詐欺の被害をゼロにすることができたそうです。
最近では同様の機能を搭載したチップを内蔵するスマホも発売されているそうですが、やはりセキュリティキーのような物理的なデバイスに比べるとどうなんでしょう。特にこういうセンシティブな機能についてはシンプルこそ至高だと思います。
ちょっと未来の認証技術を先取りしてみるような気持ちで、ぜひ皆さんも導入してみてください。
それでは、よいゴールデンウィークを。
コメントを残す