連載
» 2015年01月29日 19時00分 UPDATE

Tech TIPS:乗っ取り対策のために、Twitterの2段階認証を有効にする(Androidアプリ編)

Twitterで見かけるアカウントの乗っ取り被害。「ログイン認証」と呼ばれる2段階認証を導入すれば乗っ取り防止に役立つ。ただし注意すべき点も多い。Android向け公式アプリで認証する方法を解説。

[島田広道,デジタルアドバンテージ]
Tech TIPS
Windows Server Insider


「Tech TIPS」のインデックス

連載目次

対象サービスとハードウエア:Twitter、Android OS搭載のスマートフォン/タブレット
iPhone/iPad/iPod touch向け公式Twitterアプリについては、次の記事を参照していただきたい。



解説

 Twitter(ツイッター)では、アカウントが乗っ取られてスパムのツイートなどに悪用された、というニュースを見かけることがある。

 Twitterで不正なスパムツイートといえば、まずアプリ連携の悪用を連想するかもしれない。だが上記のニュースでは、「流出したID・パスワードによる乗っ取り」という手口が考えられるとのことだ。その場合、アプリ連携をいくら解除しても解決できない。

●アカウント乗っ取りの対策には「2段階認証」がよく活用される

 では、どうすればTwitterアカウントの乗っ取りを防止できるのか? 他のサービスと同じパスワードを使い回さない、推測しやすい文字列をパスワードに使わない、といった対策はもちろん重要だ。

 ただ最近では「2段階認証」を提供しているオンラインサービスも増えてきた。これは、ID/パスワードとは別に2段階目の認証を設けることで、ID/パスワードを知った攻撃者が不正にログインするのを防ぐ、という機能だ。

●Twitterでも2段階認証の仕組みは存在するが……

 Twitterでも、「ログイン認証(Login Verification)」と呼ばれる2段階認証の機能が用意されている。ただし、その日本語版ヘルプページの冒頭には「現在、ログイン認証を一時的に停止しています。ご迷惑をおかけし大変申し訳ありません。」と記載されている。

 その一方でTwitterのWebサイトや公式Twitterアプリでは、「ログイン認証」を有効化したり、2段階目の認証を実行したりするための機能が一通り提供されている。Twitterアカウントを持っているユーザーであれば誰でも利用できる(いくつか前提条件は必要だ。詳細は後述)。

 実際に筆者が試した限りでは、ユーザーインターフェース上の表記に英語やおかしな日本語が散見されるものの、2段階認証そのものは大きな不具合なく利用できた。

 そこで本稿では、執筆時点のTwitterのサービスを筆者が調べて分かった範囲で、2段階認証を導入して運用するための手順と注意点を解説する。Twitter社が正式に公開しているとは言いがたい状況なので、2段階認証を導入するかどうかは、本稿を読んだ後、読者の皆さま自身にご判断いただきたい。状況が変わった場合は本ページを適宜更新する予定だ。

 また本稿では、2段階目の認証にAndroid OS向けの公式Twitterアプリを利用する。iPhone/iPad/iPod touchについては、右の関連記事を参照していただきたい。

操作方法

 本稿では、2段階目の認証にiPhone向けの公式Twitterアプリを「主に」利用するという前提で、2段階認証の有効化やその後の運用、無効化の各手順、および注意点について説明する。

●2段階認証を有効化するための準備

 本稿の手順で2段階認証を導入する場合、まず公式TwitterアプリをインストールしたAndroidスマートフォン/タブレットが必要だ。このアプリは以下のページから無償で配布されているので、事前にインストールして、2段階認証を導入したいTwitterアカウントでログインしておく。

 もう1つ、SMSを受信できる携帯電話も用意しなければならない。あくまでもSMSであり、携帯通信キャリアのメールアドレスや音声通話は利用できない(SMSオプションのないデータ専用の格安SIMは不可)。

 このSMSは、公式Twitterアプリを2段階目の認証用として登録するとき、および導入後の2段階目の認証時に必要となる。前述の通り、2段階目の認証には「主に」公式Twitterアプリが使うのだが、試した限りではSMSが(強制的に)選択されることがあった。そのためSMSを受信するのは、なるべく普段から持ち歩いている携帯電話やスマートフォンが望ましい。

 ただし、すでに別のTwitterアカウントに登録済みの電話番号は使い回せない(指定してもエラーになる)。

 また、公式Twitterアプリをインストールしたスマートフォンで、SMSの受信を兼ねてもよい。認証デバイスが1台で済むので運用は楽になる一方、そのスマートフォンを紛失したり置き忘れたりすると、2つの認証手段が失われてしまう危険性があることは留意していただきたい。

 その他、スパム対策などでSMSの受信を制限したりブロックしたりしている場合は、事前に解除しておくこと。

●SMSを受信できる携帯電話の番号をTwitterアカウントに登録する

 Twitterに2段階認証を導入するには、対象のアカウントに対して、SMSを受信できる電話番号を事前に登録しておく必要がある。ここでは公式Twitterアプリを使って登録する手順を説明する。すでに登録済みの場合は「公式Twitterアプリを使って、Twitterの2段階認証を有効化する」に進んでいただきたい。

TwitterアカウントにSMS受信用の携帯電話の番号を登録する(その1) TwitterアカウントにSMS受信用の携帯電話の番号を登録する(その1)
これはTwitter公式アプリで自分のタイムラインを表示したところ。
  (1)このアイコンをタップして表示されるメニューで、[設定]をタップする。
次へ
TwitterアカウントにSMS受信用の携帯電話の番号を登録する(その2) TwitterアカウントにSMS受信用の携帯電話の番号を登録する(その2)
これは公式Twitterアプリの設定画面。
  (2)対象アカウントをタップする。
次へ
TwitterアカウントにSMS受信用の携帯電話の番号を登録する(その3) TwitterアカウントにSMS受信用の携帯電話の番号を登録する(その3)
  (3)下にスクロールして[電話番号]をタップする。ただし、すでに電話番号が登録済みであれば、タップせずに以下の手順をスキップして「公式Twitterアプリを使って、Twitterの2段階認証を有効化する」へ進んでいただきたい。
次へ
TwitterアカウントにSMS受信用の携帯電話の番号を登録する(その4) TwitterアカウントにSMS受信用の携帯電話の番号を登録する(その4)
  (4)SMSを受信するための携帯電話の番号を入力する。
  (5)これをクリックすると、(4)の携帯電話に対して、「確認コード」と呼ばれる数字列を記載したテキストメッセージがSMSで送信される。

 指定した電話番号を持つ携帯電話/スマートフォンで、「確認コード」を含むテキストメッセージが届くのを待つ。筆者が試したときには、数秒で届くこともあれば、分単位で待たされることもあった。

携帯電話の番号登録時にSMSで確認コードを受信する 携帯電話の番号登録時にSMSで確認コードを受信する
これはスマートフォンのメッセージアプリでテキストメッセージを受信したところ。
  (1)筆者が試したときは、いずれも「+44」から始まる電話番号からメッセージが届いた。
  (2)Twitterのサービスから送られた確認コード。記憶するかメモしておく。

 公式TwitterアプリとSMS受信機能を同じスマートフォン/タブレットで兼ねている場合、確認コードが届くと、電話番号の登録が自動的に完了する。

 逆に、それぞれ別々の端末に割り当てた場合は、公式Twitterアプリに手動で確認コードを記入する必要がある。

携帯電話の番号登録時に、確認コードをTwitter公式アプリに入力する(その1) 携帯電話の番号登録時に、確認コードをTwitter公式アプリに入力する(その1)
再び公式Twitterアプリに戻ったところ。
  (1)このアプリを実行しているものとは別の端末でSMSを受信している場合は、[コードを手動で入力]ボタンをクリックする。逆に、同じ端末でSMSも受信している場合は、しばらく待っていると自動的に電話番号の登録が完了する。
次へ
携帯電話の番号登録時に、確認コードをTwitter公式アプリに入力する(その2) 携帯電話の番号登録時に、確認コードをTwitter公式アプリに入力する(その2)
  (2)SMSで受信した確認コードを記入する。コードが正しければ、最後の桁を入力した瞬間、自動的に確認コードが認識され、登録が完了する。
次へ
携帯電話の番号登録時に、確認コードをTwitter公式アプリに入力する(その3) 携帯電話の番号登録時に、確認コードをTwitter公式アプリに入力する(その3)
  (3)指定した通りの電話番号がここに表示されていることを確認する。

 以上で携帯電話の番号登録は完了だ。なお、この手順によって他人がその電話番号で自分のアカウントを検索できるように設定できる。ただしデフォルトでこの機能はオフのはずだ。確認するには、あらためて設定画面を開き、<対象アカウント>をタップして表示される[電話番号で検索]のオン/オフを調べればよい。

●公式Twitterアプリを使って、Twitterの2段階認証を有効化する

 Android向け公式Twitterアプリを利用すると、PC版のTwitterページを参照することなく、Android端末だけでTwitterの2段階認証の有効化作業が完結できる。その手順も難しくない。

公式Twitterアプリで2段階認証を有効化する(その1) 公式Twitterアプリで2段階認証を有効化する(その1)
これは公式Twitterアプリで画面右上のメニューアイコン−[設定]−<対象アカウント>とタップした後の画面(前述の電話番号の登録時と同じ手順で表示できる)。
  (1)2段階認証の導入対象のアカウントであることを再確認する。
  (2)下にスクロールして[セキュリティ]をタップする。
次へ
公式Twitterアプリで2段階認証を有効化する(その2) 公式Twitterアプリで2段階認証を有効化する(その2)
これはセキュリティ設定の画面。「ログイン認証」はTwitterでの2段階認証の名称だ。
  (3)最初、[ログイン認証]はオフになっている。これをオンにすると(4)が表示される。
  (4)[確認]をタップすると、ログイン認証の有効化が始まる。
次へ
公式Twitterアプリで2段階認証を有効化する(その3) 公式Twitterアプリで2段階認証を有効化する(その3)
前述の[OK]をタップしてから数秒〜数十秒待つと、このダイアログが表示される。
  (5)ログイン認証の有効化が完了したことを知らせるメッセージ。
  (6)「バックアップコード」とは、公式TwitterアプリやSMSとは別に、2段階目の認証に利用できるコードのこと。それを保存するために[はい]をタップする。
次へ
公式Twitterアプリで2段階認証を有効化する(その4) 公式Twitterアプリで2段階認証を有効化する(その4)
この時点で、バックアップコードを写したスクリーンショット(画面キャプチャ)が写真ギャラリーに保存されているはずだ。
  (7)ログイン認証を有効化したことで自動的に生成されたバックアップコード。必ず紙のようなオフラインの媒体に転記しておく(使い方は後述)。

 ここで「バックアップコード」が生成される。これは公式TwitterアプリやSMSが使えなくなった場合、2段階目の認証手段としては「最後の砦」となるので、必ず保存しておく。例えば紙に転記して財布に入れておき、他人には閲覧させない、というように管理するのが望ましい。

公式Twitterアプリによって生成されたバックアップコード 公式Twitterアプリによって生成されたバックアップコード
これは前述の手順で写真ギャラリーに保存されたバックアップコードのスクリーンショット。筆者が試したスマートフォン/タブレットのうち一台だけで、このように見にくいスクリーンショットが保存されてしまった。もっとも、このスクリーンショットがなくても、公式Twitterアプリの画面右上のメニューアイコン−[設定]−<対象アカウント>−[セキュリティ]−[バックアップコード]とタップすれば、生成済みのバックアップコードを確認できる。

 以上で2段階認証の有効化の作業は完了だ。この時点で2段階目の認証手段としては、デフォルトで公式Twitterアプリ、代替としてSMSとバックアップコードが利用できる。

●ログイン時に2段階目の認証を行う

 2段階認証を有効化した後は、TwitterにログインしようとしてID/パスワードを入力して[ログイン]ボタンを押すと、2段階目の認証が求められるようになる。これはWeb版Twitterページと公式Twitterアプリ、サードパーティ製の連携アプリのいずれも同じだ。

ID/パスワード認証の次に表示される2段階目の認証を求める画面 ID/パスワード認証の次に表示される2段階目の認証を求める画面
これはWindowsのInternet Explorerでの例。Twitterのログインページを開き、IDとパスワードを指定して[ログイン]ボタンを押すと、2段階目の認証を求める画面が現れる(この時点でまだログインは完了していない。
  (1)認証アプリとして登録したAndroid向け公式Twitterアプリに対し、2段階目の認証を求める通知が送信されたことを表している。→[A]
  (2)(1)(3)の代わりに、SMSで認証したい場合はこれをクリックする。→[B]
  (3)(1)(2)の代わりに、バックアップコードで認証したい場合はこれをクリックする。→[C]

 以下では3種類の認証手段それぞれについて説明する。

■登録した公式Twitterアプリで認証する

 前述した手順通りに2段階認証を有効化した場合、デフォルトで公式Twitterアプリが2段階目の認証手段として利用される。すなわち、1段階目の認証を通過すると、一部の例外を除いて必ず、登録済みの公式Twitterアプリに2段階目の認証を求める「ログインリクエスト」の通知が自動的に届く。

[A]

登録した公式Twitterアプリで2段階目の認証を行う(その1) 登録した公式Twitterアプリで2段階目の認証を行う(その1)
これは2段階認証用に登録した公式TwitterアプリをインストールしてあるAndroidスマートホンで、通知一覧を表示したところ。
  (1)2段階認証を有効化したアカウントでID/パスワードによる1段階目の認証が行われると、このようにプッシュで通知が届く。これをタップすると公式Twitterアプリが呼び出される。
次へ
登録した公式Twitterアプリで2段階目の認証を行う(その2) 登録した公式Twitterアプリで2段階目の認証を行う(その2)
呼び出された公式Twitterアプリの「ログインリクエスト」画面。2段階目の認証の要求一覧が表示される。手動では、画面右上のメニューアイコン−[設定]−[アカウント]タブ−歯車アイコン−[設定]−<対象アカウント>−[セキュリティ]−[ログインリクエスト]とタップすると表示される。
  (2)2段階目の認証を求めているアプリの概要が表示される。といっても住所は市区町村レベルで間違っているし、Internet Explorerから認証しているのに「Firefox」と表示されるなど、正確とは言えない。
  (3)(2)の要求に対してログインを許可するには、このチェックマークをタップする。これが公式Twitterアプリによる実際の「認証」作業だ。
  (4)身に覚えのないログインリクエストには、「×」のアイコンをタップしてログインを拒否する。

 上記の(3)をタップすると、数秒〜数十秒後に元のアプリでのログインが自動的に完了し、Twitterアカウントが利用可能になる。

■SMSで受信した確認コードで認証する

 前述した2段階目の認証を求める画面で、「get a verification code」というリンクをクリックすると、登録した電話番号に対してSMSで確認コードが送信される。

[B]

SMSで確認コードを受け取る SMSで確認コードを受け取る
これはTwitterアカウントに登録済みの電話番号宛てに送信されたTwitterからのテキストメッセージ。
  (1)これが確認コード。次の手順で、元のアプリの認証画面に記入する。

 テキストメッセージから確認コードを記憶またはメモしたら、元のアプリの画面に戻って確認コードを入力してログインを完了する。

元のアプリの画面で確認コードを入力して2段階目の認証を完了させる 元のアプリの画面で確認コードを入力して2段階目の認証を完了させる
これは「get a verification code」リンクをクリックした後のアプリの画面。
  (1)SMSで受け取った確認コードをここに記入する。
  (2)[Submit]ボタンをクリックすると、確認コードが正しければログインに成功する。

■バックアップコードで認証する

 前述した2段階目の認証を求める画面で、「保存したバックアップコード」というリンクをクリックすると、バックアップコードの入力画面が表示される。ここで、事前に保存しておいたバックアップコードを記入する。

[C]

元のアプリの画面でバックアップコードを入力して2段階目の認証を完了させる 元のアプリの画面でバックアップコードを入力して2段階目の認証を完了させる
「保存したバックアップコード」リンクをクリックすると、この画面が表示される。
  (1)保存しておいたバックアップコードを記入する。その際、区切り文字の半角スペースは無視する。
  (2)[Submit]ボタンをクリックすると、バックアップコードが正しければログインに成功する。

 上記の手順で使ったバックアップコードは、もう利用できない(次の機会に指定してもエラーになる)。つまり、バックアップコードは一回ずつ使い捨てるということだ。

 そのため、使ったらその分を補充するために、新たなバックアップコードを生成する必要がある。それには公式Twitterアプリで、画面右上のメニューアイコン−[設定]−<対象アカウント>−[セキュリティ]−[バックアップコード]−[新しいバックアップコードを生成する]をタップする。新たなバックアップコードが生成されたら、次の機会のためにメモしておく。

●Twitterの2段階認証を無効化する

 もし2段階認証の導入後、Twitterへのログインに支障が生じたら、2段階認証を無効化して元のID/パスワード認証に戻すことも可能だ。

 それには、登録した公式Twitterアプリで、[アカウント]タブ−歯車アイコン−[設定]−<対象アカウント>−[セキュリティ]とタップし、[ログイン認証]をオフにする。

 2段階認証を無効化しても、ログイン済みのアプリは自動的にログアウトされることなく利用できる。

●2段階認証の導入後に注意すべき点

 以下、筆者が実際に試して気付いた点も含めて、注意点を記しておく。

■ユーザーインターフェースやテキストメッセージにおかしな記述が散見される

 例えば携帯電話の番号を登録した直後にSMSで届くテキストメッセージには、「標準データプランで課金されます。」と記されている。これはSMSの通信によって、契約中の携帯通信キャリアから通信料として課金される場合があることを示しており、Twitter社から課金されるわけではない。

 その他にも、文意が通らない妙な記述や英語表記のまま残っている箇所がいくつかある。だが筆者が試した限りでは、上記の手順で導入および運用すれば問題はなかった。

■2段階認証を有効化したら、登録した携帯電話の番号はむやみに削除しない

 筆者が携帯電話の登録をうっかり解除したら、Web版Twitterページからログインする際、1段階目のID/パスワード認証に失敗するようになってしまった。このとき、ログイン済みだった別の端末から電話番号を再度登録することで回復できた。

■SMSでの認証が強制される場合がある

 認証アプリとして登録した公式Twitterアプリとは別に、他の端末にインストールした公式Twitterアプリからログインしようとしたところ、2段階目の認証にはSMSしか選択できなかった。デフォルトの公式Twitterアプリが利用できない例外のようだ。

■「登録した」公式Twitterアプリだけが認証アプリとして利用できる

 公式Twitterアプリは複数のスマートフォン/タブレット(端末)にインストールできる。だが認証アプリとして利用できるのは、2段階認証を有効化する際に公式Twitterアプリを登録した端末だけだ。それ以外の端末にログインリクエストは届かず、2段階目の認証には使えない。

■「Google認証システム」アプリは利用できない

 2段階認証のための認証アプリといえば、グーグルやFacebook、Microsoftなどのサービスで利用できる「Google認証システム(Google Authenticator)」が有名だ。だが、Twitterの2段階認証はこのアプリに対応しておらず、利用できない。2段階目の認証に利用できるモバイルアプリは、公式Twitterアプリだけだ。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。