about

サイトで扱わない類の琴線に触れたものについて記していきます。
何か連絡がある方は下記まで。
e-mail : contact [at] mail.instantforever.net

2013/11/08

複数の端末で認証アプリの二段階認証を行う方法

※本題はもうちょっと下なので前置きは読み飛ばしてもよかとですたい。

2段階認証 とは

とか改めて書くようなものではないですが。
自分の持ってる携帯電話番号とか特定のメールアドレスでしか受信できないコードを使って自己証明するので、セキュリティ対策としてはそれなりに効果がある、ってのはご存じの方が多いかと思います。要は銀行口座のトークン認証みたいなもんです。

で、Googleは結構前からこのサービスに対応していたんですが、いかんせん日本の携帯キャリアに対応してない時期が長く、個人的に長らく寝かせてたら忘れた頃に対応して半年ぐらい経ってました。

とりあえずこの二段階認証だとか二重認証だとかをやっておくと余程暇で悪意のある頑張り屋さんがいない限りはそうそうアカウント乗っ取られたりすることはありません。ただ、ウェブサービスのアカウントを何個も作ってると管理が面倒です。そいで都度メールだとか電話でコードを受け取ると蝶メンドーッ! デス。

もうちょっと手軽にするための方法があります。 Evernote や Dropbox  や Yahoo!JAPAN や Microsoft などはGoogleに倣ってシステム導入しているのでGoogle謹製認証アプリの Android版 や iOS版 がそのまま使えまして、一所で管理できて便利です。FacebookはGoogleの認証アプリが使えるだけでなく、認証済みのFacebookアプリそのものが認証用アプリの機能を果たすのでこれまた便利です。

ちなみにSEGA IDなんかはSecureOTPなるものを使えと指定されるので使えません。

で、こっから本題。


2段階認証アプリは端末ひとつだけで有効なのか?

結論から書くと、複数の端末でまったく同じQRコード、あるいは同じ代替キーの手動入力をすることによって使えます。
※2段階認証の標準の登録方法とかは他所様のが詳しいので割愛します
※WordPressについては私がユーザーではないのでこれまた割愛します

なんでこんな疑問を持ってわざわざ実地検証したかというと、この画像をご覧ください。

上の画像はGoogleの2段階認証を実際に進めようとしたところですが、「アカウントは1つの認証システムアプリしか設定できません。」とわざわざ注釈がつけてあります。
AndrodでもiPhoneでもBlackBerryでもなんでもいいので次へを押して進むと、読み取り用のQRコードが表示されます。
※どれ選ぼうが同じように読み取れるコードが出力されます。

で、このQRコードですが、一回こっきり端末ひとつにしか使えない訳ではないです。2台同時に処理することも可能。

というのも特定の文字列に大して時間経過に従って別のコードを出力するという仕組みのため、その「特定の文字列」さえ同じなら当たり前のように同じコードが出力されます。同時に異なるデバイス、OSすらまたがって複数の認証アプリを有効にすることができます。

極端な話、このQRコードなり手動キーなりを画像とかで保存しとけばいつでも認証アプリに読み込ませてやることができますが、そうしてしまうとパスワードを紙に書いて管理しているレベルまでセキュリティの意味が薄くなるので、手持ちの認証アプリを有効化しておきたい端末何台かを同時に登録すればよいのではないかと。

コードが必要となる度にスマホを用意するのではなく、たまにはタブレットで認証を行ってもいい。自由とはそういうものではないでしょうか。

ちなみにGoogleとEvernoteとYahoo! JAPANとMicrosoftはこのQRコード画面を表示するためには一度2段階認証を無効化する必要があるため、表示する度に違うQRコードになります。再登録する場合、有効化したい台数分全部やる必要があります
それを避けようと思ったら上で書いた通りQRコード、あるいは手動入力キー自体を保存しておくしかありません。

一方で、Dropboxは2段階認証を無効化しない限りはいつでも同じQRコードが表示されますので、何台か端末を持っていて1台機種変更とかになったらその1台だけを再度有効化すればよくなっています。それはそれでリスクがある気がしないでもないです。