最近、GMailのクラッキングが横行しているようだ。Googleのサービスは、Webブラウザがあれば、どのマシンからでも利用できる。ということは、攻撃するのも容易ということだ。

アカウントは、GMailのメールアドレスであり、GMailなどでパスワードがばれてしまうと、すべてがアクセス可能になってしまう。メールアドレスは秘密情報ではなく、容易にリストが作られる。その中にあなたのメールアドレスが含まれないという保証はない。

パスワードのクラックは、比較的簡単な技術だ。文字列を片端からためしていくことでいつかは必ずヒットする。文字列の組み合わせは膨大だが、辞書を使うことで対象を絞り込める。また、ターゲットは誰でもいいので、簡単なパスワードをメールアドレスのリストに対しては片端からためしていけば、一人ぐらいは簡単なパスワードにしている人がいて、クラックが成功することになる。

こうしてクラックされたアカウントは、さらにリストとして出回ってしまう。

まず、簡単なパスワード(たとえば、アカウント名と同じ、Passwordなどの非常に簡単な単語など)は、すぐにやめたほうがいい。

辞書などを使った方法では、辞書にあるような単語の組み合わせやそのバリエーション(先頭が大文字など)は、やはり簡単にクラックされてしまう。大文字小文字、数字、記号などを混在させ、少なくとも辞書にそのまま載っているような単語を使わない、ある程度の強度を持ったパスワードを設定する必要がある。

それでも、どこのかのセキュリティの甘いサイトからパスワードファイルが流出したような場合、Googleアカウントと同じパスワードであれば、それを元にクラックされてしまう可能性がある。

そういうわけで、Googleのサイトのセキュリティを上げておくことは、いまや必須といえる。そのためには、Googleの用意した二段階認証を有効にする必要がある。

二段階認証プロセスとは?

二段階認証とは、PCなどのアクセスする機器で入力するパスワードだけでなく、携帯電話などの別の機器で入手する認証コードでもチェックを行う方法。たとえていえば、パスワードという鍵のかかったトビラの先に、さらに認証コードという鍵のあるトビラがあるようなものだ(図01)。そして二つめのトビラとなる「認証コード」はアクセスする機器とは別の携帯電話から入手する。

図01: 2段階認証は、グーグルのサービスにアクセスするために2つの関門をもうける方式。このうち認証コードは、電話番号を登録した携帯電話からしか入手できない

認証コードにより、アクセスするPCやスマートフォンなどのデバイスが登録され、登録されたデバイスだけがGoogleのサービスを利用できるようになる。たとえパスワードがばれてしまっても、認証コードは、1つの携帯電話でしか入手できないため、第三者が認証コードを入手することは非常に難しい。万一、登録した携帯電話が盗まれたとしても、Webから認証を取り消すことができる。

しかし、世の中には、二段階認証に対応していないデバイスやアプリケーションもある。このような場合には、「個別パスワード」を発行する。個別パスワードは、特定のデバイスのアプリでのみ有効なパスワードだ。実際、Android 4.x以下のスマートフォンやタブレットなども二段階認証には対応しておらず、個別パスワードを使う。個別パスワードは、アカウントのパスワードとは別なので、万一漏れてしまっても、アカウント自体にはアクセスができず、Web側の操作で無効にすることもできる。これは、認証されたPC上のアプリケーションがGoogleのサービスにアクセスする場合、たとえば、メールソフトからGMailへアクセスするようなときに利用する。そういうわけで、一回体勢を作ってしまえば、Googleのサービスにアクセスするデバイスで、二段階認証または、個別パスワードが利用できる。

二段階認証を開始するのに必要なのは、インターネット接続したPCなどのWebブラウザでGoogleアカウントへアクセスできる環境と携帯電話(最低でも音声通話か事業者メールが利用可能なもの)または、Androidスマートフォンだ。のちのちの利用を考えると、できれば、音声通話のできる携帯電話とAndroidスマートフォンは用意したい。なお、この2つは同一のデバイスでもかまわない。ただし、電話番号の認証と、アンドロイドのグーグルアカウントの認証は独立しているため、最初に電話番号を認証したあと、さらにグーグルアカウントの認証作業を行う必要がある。

手順その1 二段階認証をオンにして、PCと携帯電話番号を認証させる

まずは、PCからWebブラウザを使い、Googleのアカウントにアクセスして二段階認証をオンにしよう(図02)。アンドロイドのタブレットなどでも可能だが、作業効率を考えるとPCのほうが便利だ。また、自宅のデスクトップマシンなどを認証しておくと、スマートフォン側になにかあった場合に対策が行いやすい。なので最初の作業はPCで行うことをオススメする。

図02: PCからWebブラウザを使ってグーグルのアカウントにアクセスし二段階認証をオンする。このとき、携帯電話の電話番号を登録する。すると携帯電話に認証コードが送られてくる(音声でも通知が可能)ので、これをPCに入力して認証を完了させる。PCが認証されると以後、認証コードを毎回入れる必要はない

http://support.google.com/accounts/bin/answer.py?hl=ja&answer=180744

ここにある「開始」ボタンを押して、二段階認証を開始する。手順を以下に示すが、最初に登録する場合、「音声通話」で携帯電話の番号を登録するのが便利だ。「音声通話」を登録すると、グーグルから電話の着信があり、音声で認証コードを教えてくれる。日本国内では、グーグルからの認証コードの送信にSMS(ショート・メッセージ・サービス。電話番号を宛先に使う)が利用できず、事業者メール(iモードメールなど)に限定される。普段事業者メールを使っていないなら、そのためにメールアドレス登録などの作業が必要なこともあるが、スマートフォンを携帯電話として利用していて、機種交換を行う場合、事業者メールのアプリケーションをインストールするためには、グーグル・プレイにアクセスする必要があり、そのためには、該当のスマートフォンでグーグルのアカウントを登録する必要があり、そのためには認証されたアカウントが必要になる。しかし、認証されたアカウントにするためには、認証コードが必要になるという、堂々巡りになってしまうからだ。

なお、最後に「個別パスワード」を発行するかどうかの確認が行われるが、後で発行することができるので、どれを選択してもいい。

・手順

googleで「2段階認証」を検索して開始ページを開く

「コードの受け取り方法」で「音声通話」を選択。「コードを送信」ボタンを押す

指定した電話番号に電話がかかってきてコードを音声で教えてくれるので入力。「確認」ボタンを押す

チェックボックスをオンにして「次へ」を押す

最後に確認ボタンをおす

手順その2 アンドロイドスマートフォン(4.x以上)を認証する

アンドロイドのスマートフォンやタブレットは、グーグルアカウントを認証させないと、サービスにアクセスできなくなる。このとき、Android 4.x以上のスマートフォン/タブレットとそれ以下のバージョンの機器では、手順が違っている。4.x以上の場合には、二段階認証機能に対応しているため、認証コードを入力するが、4.x未満の場合、二段階認証に対応していないため、後述する「個別パスワード」を利用する。ここではまず、Android 4.x以上のスマートフォン、タブレットのグーグルアカウントを認証する手順を解説する(図03)。

図03: 次にスマートフォンを認証させる。ただし、Android 4.x未満の機種では、「個別パスワード」を利用する

Web側で二段階認証をオンにすると、アンドロイド側ではアカウントエラーが発生する。二段階認証で認証されていないからだ。通知領域にエラー表示があるのでこれをタップして認証を開始させる。途中で認証コードを入力する画面(Webブラウザが起動する)になるが、ここで待っていれば、音声で認証コードの通知が来るはずだ。来ない場合は手順にあるように手動で通知を行わせる。なお、パスワードを入力したあと、ログインできないエラーの表示が三つめの画面と違いブラウザの起動にならない場合、二段階認証に対応していないため、個別パスワードを使って認証を行う。

スマートフォンやタブレットの認証が終わったら、Google Playから「Google認証システム」アプリをダウンロードしてインストールする。これは、認証コードの発行が可能になるアプリで、以後のアンドロイドスマートフォンやタブレット、PCなどからのグーグルサービスのアクセスで必要な「認証コード」を手元で発行できるようになる。

・手順

Web側で2段階認証をオンにするとアンドロイド側はパスワードエラーになる。まずはパスワードを入力

この画面では「次へ」をタップ

googlのログイン画面になるのでGmailアドレスとパスワードをいれる

携帯電話の音声電話しか登録していないならここで電話がかかってくる。その場合には認証コードを入力して手順は終了。かかってこない場合には「電話をお持ちでない場合」をタップ

電話番号の末尾が......を選択して「OK」。電話がかかってくるはずなので、認証コードを入力する

手順その3 個別パスワードを発行して利用する方法

PCのWebブラウザ(Chromeを含む)やPCのメールソフトなどからグーグルのサービスを利用する場合、二段階認証に対応していないため、「個別パスワード」を発行する必要がある(図04)。個別パスワードは特定のアプリや機器のために発行されるパスワードで、同じグーグルアカウントをアクセスするのにそれぞれで違うパスワードを利用する。このため、たとえ1つの機器やアプリからパスワードが漏洩したとしても、WebからグーグルアカウントにアクセスしたりGMailなどのグーグルサービスにアクセスするためには利用できない。また、漏洩の可能性(たとえば機器を紛失した)場合には、ただちにパスワード自体を無効にできる。

図04: 個別パスワードは、機器やアプリそれぞれに別のパスワードを発行して利用する。複数の機器でパスワードを共有することはできない

二段階認証をオンにしたあと、二段階認証に対応していない機器、アプリケーションプログラムからのアクセスには必ず個別パスワードが必要になる。また、前述したようにAndroid 4.x未満のスマートフォンやタブレットも二段階認証に対応していないため、グーグルアカウントの登録でパスワードに、個別パスワードを発行して使う。

個別パスワードは、自分のグーグルアカウント内で発行する。この作業はWeb側からしかできない。そのためには、認証された機器が必要であり、「手順その1」で認証したPCを使う。なお、GoogleのChromeもいまは二段階認証に対応していないため、Chromeのブックマークなどの同期機能を使う場合には個別パスワードが必要である。単にグーグルアカウントにアクセスするためなら、PCが認証されていればよい。

個別パスワードを発行するときには、設定先の機器を先に操作してパスワード入力待ちにしておき、個別パスワードを発行したら、すぐに設定し、Web側で「完了」ボタンを押して発行済み状態にする。また、パスワードの途中に表示されている空白は無視してかまわない。

一度発行したパスワードを再度表示させることはできないので注意する。画面を閉じたり、切り替えてしまうと、もうパスワードを見ることはできない。同じ機器、アプリでパスワード入力が再度必要になったら、一回無効にしてまた新規に発行する。また、使わない機器やアプリが出たときには、無効にしておくといいだろう。

・手順

googleのホームページからアカウント写真をクリック「アカウント」を選択

アカウントページ、左側の「セキュリティ」のリンクをクリック

「アプリケーションとサイトを認証する」の「編集」ボタンをおす

アプリケーション固有のパスワードで発行するパスワードを区別する名前を付ける。なんでもいいがハードやアプリを区別できるようにする。「パスワードを生成」を押す

パスワードが表示されるのでこれを対象機器やアプリにいれる。あらかじめ対象をパスワード入力待ちにしておくといい。いれたら「完了」ボタンを押す

下に発行先の名前がでる。紛失したときは一回無効にする。発行したパスワードの再表示はできないので無効にして再度発行する

編集部注: 本稿は、2013年1月18日にAndorid情報のWeb専門誌「AndroWire」に掲載した記事を再構成したものです。