乗っ取りを防ぐために、iPhone向け公式Twitterアプリで2段階認証を有効にするTech TIPS

Twitterではしばしばアカウントの乗っ取り被害が報告されている。そこで「ログイン認証」と呼ばれる2段階認証を導入すれば乗っ取り防止に役立つ。だが運用には注意が必要だ。

» 2015年01月28日 19時18分 公開
[島田広道デジタルアドバンテージ]
Tech TIPS
Windows Server Insider


「Tech TIPS」のインデックス

連載目次

対象サービスとハードウエア:Twitter、iOS 7以降を搭載したiPhone/iPad/iPod touch
Android OS向け公式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段階目の認証にiPhone向けの公式Twitterアプリを利用する。Android OSについては、右の関連記事を参照していただきたい。

操作方法

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

●SMSを受信できる携帯電話が必須

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

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

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

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

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

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

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

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

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

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

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

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

携帯電話の番号登録時に、確認コードをTwitter公式アプリに入力する(その1) 携帯電話の番号登録時に、確認コードをTwitter公式アプリに入力する(その1)
再び公式Twitterアプリに戻ったところ。
  (1)SMSで受信した確認コードを記入する。コードが正しければ、最後の桁を入力した瞬間、自動的に確認コードが認識され、登録が完了する。
次へ
携帯電話の番号登録時に、確認コードをTwitter公式アプリに入力する(その2) 携帯電話の番号登録時に、確認コードをTwitter公式アプリに入力する(その2)
  (2)[OK]をタップする。
  (3)指定した通りの電話番号がここに表示されていることを確認する。
  (4)他人が(3)の電話番号で自分のアカウントを検索できるようにするための設定項目。この機能が不要なら、デフォルトのオフのままにしておく。

 以上で携帯電話の番号登録は完了だ。

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

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

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

 ここで「バックアップコード」が生成される。これは公式TwitterアプリやSMSが使えなくなった場合、2段階目の認証手段としては「最後の砦」となるため、必ず保存しておく。

公式Twitterアプリによって生成されたバックアップコード 公式Twitterアプリによって生成されたバックアップコード
これは前述の手順でカメラロールに保存されたバックアップコードのスクリーンショット。
  (1)公式TwitterアプリやSMSが使えなくなっても、このバックアップコードを指定することで2段階目の認証を通過できる(詳細は後で述べる)。

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

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

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

ID/パスワード認証の次に表示される2段階目の認証を求める画面 ID/パスワード認証の次に表示される2段階目の認証を求める画面
これはWindowsのInternet Explorerでの例。Twitterのログインページを開き、IDとパスワードを指定して[ログイン]ボタンを押すと、2段階目の認証を求める画面が現れる(この時点でまだログインは完了していない。
  (1)認証アプリとして登録したiPhone版の公式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アプリをインストールしてあるiPhoneのホーム画面。
  (1)2段階認証を有効化したアカウントでID/パスワードによる1段階目の認証が行われると、このようにプッシュで通知が届く。これをタップすると公式Twitterアプリが呼び出される。
次へ
登録した公式Twitterアプリで2段階目の認証を行う(その2) 登録した公式Twitterアプリで2段階目の認証を行う(その2)
呼び出された公式Twitterアプリの「ログインリクエスト」画面。2段階目の認証の要求一覧が表示される。手動では、[アカウント]タブ−歯車アイコン−[設定]−<対象アカウント>−[セキュリティ]−[ログインリクエスト]とタップすると表示される。
  (2)2段階目の認証を求めているアプリの概要が表示される。といっても住所は市区町村レベルで間違っているし、Internet Explorerから認証しているのに「Firefox」と表示されるなど、正確とは言えない。
  (3)(2)の要求に対してログインを許可するには、このチェックマークをタップする。これが公式Twitterアプリによる実際の「認証」作業だ。

 上記の(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段階目の認証を求める画面で、「保存したバックアップコード」というリンクをクリックすると、バックアップコードの入力画面が表示される。ここで、2段階認証を有効化したときに保存しておいたスクリーンショットから、バックアップコードを転記する。

[C]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

■バックアップコードは1回限りの使い捨て

 2段階目の認証に使ったバックアップコードは以後、使うことはできない(使ってもエラーになる)。そのため、使ったらその分を補充するために、新たなバックアップコードを生成・保存する必要がある。それには公式Twitterアプリで、[アカウント]タブ−歯車アイコン−[設定]−<対象アカウント>−[セキュリティ]−[バックアップコード]とタップし、[バックアップコードを生成する]をタップして新たなバックアップコードを生成し、メモする。もちろん他人の目には触れないように、その管理には十分注意すること。

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

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

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

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

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

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

メールマガジン登録

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