2要素認証アプリをGoogle AuthenticatorからAuthyに乗り換えてみた

個人で使っているさまざまなクラウドサービスのセキュリティ強化に、今までGoogle認証アプリを使っていたのだが、Authyに乗り換えて「最初からこれにしておけばよかった」と実感。

認証アプリはGmailやDropboxなど、各種クラウドサービスを使うときに、さすがに今どきユーザ名・パスワードだけではいつパスワードを盗まれるか分からないでしょう、ということで、プラスアルファの認証を追加するアプリ。

昔、銀行系のウェブサイトを使うとき、USBメモリみたいなものに、60秒ごとに違う数字が表示されるトークンというものがあり、RSAというメーカがほぼ市場を独占していた。

しかし今はこの「時間ベースのワンタイムパスワード(TOTP)」が標準規格化されて、スマートフォンのアプリをトークン代わりに使える。60秒ごとに6桁のランダムな数値を使い捨てパスワードとして表示してくれる。

それがサーバ側と連動していて、ユーザ名・パスワードに加えて、この使い捨てパスワードも入力しないと、ログインできないという仕組み。

なので、物理的にそのスマートフォンを手元に持っている人でないとログインできないことになる。

これが2要素認証というやつで、ユーザが「知っていること」「持っているもの」「身体(指紋や手のひら静脈など)」のうち、最低2つを組み合わせて認証しないと、今どきのインターネットは危なくて使えないでしょう、ということ。

たとえばLINEで、ユーザ名・パスワードに加えてPINを入力することで、セキュリティが強化されました、とか言っているのはウソ。どちらも「知っていること」をベースにした認証なので、2要素認証になっていないから。

で、その2要素目の「持っているもの」ベースの認証として、スマートフォンにGoogle認証アプリを使っていたのだが、そのスマートフォン1台を紛失すると面倒なことになるのが問題だった。

いくら「持っているもの」ベースの認証だとしても、せめてバックアップとしてもう1台(たとえばタブレット端末)は予備で欲しいと思っていた。

Google認証アプリではこの予備の1台を追加する機能がないのだが、Authyを使うと予備機を何台でも追加できる。

もちろんたくさん追加しすぎると、またそれだけセキュリティ上のリスクを高めることになり、意味がなくなる。

万一、Authyに登録した自分の端末のうち1台を紛失しても、手元に残っている端末から、紛失した端末を削除して、その端末に使い捨てパスワードを発行させないようにすることができる。

複数端末の管理そのものはAuthyのサーバに記録されてしまうが、Authyサーバへの接続自体がAuthyサーバに登録済みの端末からしかできないので、Authyアプリ自体も2要素認証になっている。

また、このブログにも使っているコンテンツ・マネジメント・システム「Wordpress」にも2要素認証を追加するプラグインがあるということに最近気づいたので、さっそく追加してみた。

以上、Google認証アプリからAuthyに乗り換えたおかげで、唯一の認証端末であるスマホを紛失しないかビクビクする必要がなくなった、というお話でした。

(2要素認証に登録したときの復元コードを印刷してとっておけばいいのだが、結局、印刷してとっておくと紛失するおそれがあるので、復元コード自体を2要素認証化した別のクラウドサービスに保管して…と、意味のない状態になってしまうため)