treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

クラウドの世の中だから、なりすまし対策に2段階認証

今日はセキュリティ対策のうち、二段階認証をお勧めするために私が普段使っているアプリをご報告します。

二段階認証とは?

ユーザID(たいていはメールアドレス)とパスワード、の認証に加えて、ワンタイムパスワードや確認コードのような使い捨ての認証を挟むことでより本人確認を厳格にする認証方式です。

オンラインバンキングでは専用トークン(ワンタイムパスワード発行装置)を無料で提供してくれるところが多いです。(無料提供がない銀行ではスマホアプリを提供していることが多いです。私はトークンの無料提供を受けています。)
フリーのサービスでは費用の関係からここまでやるわけにはいきませんので、スマホのアプリで二要素認証を実施することになります。

一番有名なのはGoogle認証システム

Googleサービスを使用している方へのお勧めは「Google認証システム」です。

f:id:treedown:20151218022854p:plain

Googleのサービスのよいところは、どこにいてもその場にあるデバイスでサービスにアクセスできる、という点です。
ですが、裏を返せばそこかしこに自分のサービスアカウントの痕跡が残り放題ということになります。つまり、自分の痕跡が残っても大丈夫なデバイスか=安全性がある程度高いのか、という点を考慮しなければどこからでもアクセスするというのは警戒してしまうところです。
ですが、スマートフォンにこのアプリが導入されていて、アカウントへのログイン時に二段階認証を使うようあらかじめ設定しておけば、スマートフォンが専用トークン代わりとなってくれますので、スマートフォンで発行する確認コードが手元に存在しなければログインできないことになります。
これは何を意味するかといいますと、確認コードが発行できるスマートフォンが手元になければGoogleサービスにログインできない、ということを意味します。つまりユーザIDとパスワードを知っていて入力ができる、かつスマートフォンを所持していて確認コードをアプリ経由で見てそのコードを入力できる、という二要素を満たさなければログイン動作が成功しません。
しかし、ログインしたいのにスマートフォンがないからログインできないこともあります。その場合には迂回する方法もありますが、迂回策を用意しておくということは、なりすましの付け入るスキを与えることにもつながりかねませんから注意は必要です。
とにかくGoogleサービスを利用しているのであれば二段階認証を設定することと、このGoogle認証システムをお使いのスマホにインストールする、という2点でセキュリティ対策レベルは飛躍的に上昇します。かなりおすすめします。
なお、使える範囲はGoogleサービスに限りません。Microsoftクラウドサービスであるメール=Outlook.comやEvernoteの認証にもGoogle認証システムを使った二段階認証をセットすることができます。(私はやっています。)おそらくほかにも様々なサービスで設定可能です。

MS派の方へMicrosoftアカウント アプリ

続いてはMicrosoftアカウント アプリです。

f:id:treedown:20151218022937p:plain
MicrosoftアカウントアプリはGoogle認証システムよりも登録できるサービスはちょっと少ないですが、より使いやすいです。
なにしろ、Google認証システムでは画面に表示される確認コードを見て画面に手入力する必要がありますが、このアプリでは認証を許可するか拒否(禁止)するかをスマホ画面で選択するだけで二段階認証動作が完了するところが特徴的です。
つまり、コード確認⇒確認したコードの手入力、が不要でスマホ画面で許可をタッチするだけでPC画面上の認証が完了し次の画面が表示される、という動きをします。
実際に使ってみるとかなり便利な二段階認証です。
惜しむらくはこのアプリの認証に対応しているサービスがMS限定(?)としか思えないほどに少ないこと、ぐらいです。
MSのサービスをがっつり使う方は必携アプリといえます。
がっつり=GoogleカレンダーでなくOutlook予定表、GoogleドライブではなくOneDrive、GoogleドキュメントでなくOfficeOnline、といったぐあいに。

MSサービスはHotmail時代からGoogleサービスと同等サービスを提供してきたのにまったくもってマイナーもいいところなのが残念なところです。WindowsCEで先行してきたスマートデバイスiPhoneAndroidに追い越されて今では後発組扱いです。

Yahoo! JAPAN ワンタイムパスワード、というのも

最後はYahoo! JAPAN ワンタイムパスワードです。

f:id:treedown:20151218023101p:plain
Yahoo!サービスでは痛い思い出が一つありまして…認証強化をせざるを得ない状況に追い込まれました。
ある日自分のIDでログインしたら、ヤフオクに入札が1件入っていました。
ログイン履歴を確認したのですが、これといって怪しい履歴は見当たりませんでしたが、私はそもそもヤフオクを使っていないばかりかYahooIDでログインすらしていないような状況なのです。これはいかん。
早速ヤフオクの入札は私が実行したものではない、という主旨の説明をして先方にご理解をいただきまして入札を取り消してもらいました。
不幸中の幸いなことにそれほどの高額商品への入札ではなかったので、最悪こじれそうなら支払いは覚悟していましたが、出品者がいい人だったので事なきを得ました。

次の日にすぐに取り掛かったのが、ワンタイムパスワード設定とシークレットID設定です。これでIDを秘匿しワンタイムパスワードを設定することで二要素認証を掛けることにしました。
でも、ですね。最初はSMSでワンタイムパスワード発行をしていたのですが、よくよく探してみるとアプリがあるじゃないですか、これがその時出会ったアプリです。
すぐにインストールして二要素認証をワンタイムパスワードアプリに再設定しました。
それ以来不審なアクティビティはありませんし、IDも保護された状態になっているようです。
このワンタイムパスワードアプリもGoogle認証システムと同じくスマホに表示される確認コードをPC画面で入力するタイプですが、Yahoo!サービスをよく使う方であれば持っていて損はないアプリです。SMSよりアプリの方が便利。

そのほかのサービスは…

使用頻度が低いことと上記3つのアプリでもカバーできないようなサービスであればSMSでワンタイムパスワードを受け取るような設定にして携帯キャリアのSMS経由で発行されたワンタイムパスワードを確認するようにしています。

こうして、使用するサービスに個人情報を登録する条件に「二段階認証ができること」という自分ルールが新たに加わることになりました。基本的にフリーのサービスで二段階認証ができないサービスは二の足を踏みますし、そのサービス(アプリ)で取り扱う情報もかなり気を使います。
最近ではもう重要情報はあちこちに分散して保管しないでOffice365のOneDrive for Businessで集約がいいんじゃないかと思い始めています。
※理由はいろいろありますが一言で表現すると、一番安心できる、というのがその理由です。
今年はOffice365Soloもリリースされサービスインしていますので、1年無料だけで終わらせることなく、2年目以降も便利にお使いになられることをお勧めしたいところです。何せ容量が1TBだし、認証も保管体制もしっかりしているし、(Soloは違うかもしれませんが)実際のサーバが稼働するデータセンターも日本、香港、シンガポール…etcと世界各国で冗長化されてい保管されていますし。

私はMicrosoftの回し者ではありません。

最後にご注意を

ちなみに二段階認証を突破する攻撃が世の中に存在していないわけではありません。
二段階認証を設定していたって、認証完了後のセッションが乗っ取られればデータ盗難や不正送金はあり得る話ですし、そもそも二段階認証を実行して認証情報をせっせと入力しているWebサイトがフィッシング用の偽サイトであれば二段階認証云々以前の問題です。
要するに二段階認証はセキュリティという大枠では認証の要素を増やすことで認証という動作を安全にする、という主旨であり、それだけで他をノーガードで思考停止してよい、というわけではないという点は、利用時に注意する必要があります。
つまり、○○をしているから安全、と思考停止していいものではありませんよ、ということです。

皆さんの認証環境はいかがでしょうか。最後に私が二段階認証をお勧めされたときの同僚のセリフをご紹介してお別れしましょう。

「TDさん。Google認証システムはいれましたか?もう高価な専用トークンは要らんですよ。悪いことは言わないから入れときなさい。これさえあれば二段階認証はスマホだけで全部OKなんですから。二段階認証最高!ヤッホー!!って感じっすよ。」