インターネット上のサービスのほとんどは、正しいIDとパスワードが入力されるだけで、ユーザー本人が操作しているとみなしてしまいます。対面ではないので、年齢や性別、不審な挙動などは一切考慮されません。IDとパスワードさえあれば、誰でもあなたになりすまし、利用しているサービスを不正に使用してしまうかもしれないのです。今回は、あなたであることの証となるIDとパスワードの役割を再認識するとともに、不正使用を防ぐための、さまざまな保護対策をご紹介します。
<INDEX>
■IDとパスワードの役割
■パスワードを守る基本対策
■安易な「秘密の質問」と「答え」にご用心
■オプション機能の活用
通知/履歴/IDの秘匿化/2段階認証
■2段階認証の概要
認証コード/認証コード生成アプリ/端末の登録/アプリ専用パスワード/バックアップコード
■2段階認証の設定
○Microsoftアカウントで2段階認証を使う
<以下本文>
インターネット上の会員制サービスのほとんどは、「ID」と「パスワード」による認証で会員本人であることを確認し、サービスを提供している。「ID」は、システムがユーザーを識別するためのもので、システム側から付与される場合と、ユーザー自身で任意の名前や有効なメールアドレスなどを登録する場合とがある。どちらの場合でも、システムが個々のユーザーを識別しなければならないので、重複しないことが絶対条件だ。
「パスワード」は、その「ID」の使用者が本人であることを識別するためのもので、ユーザー自身が任意の文字列を設定する。「ID」は、直接あるいは間接的に表に出て、ユーザー間での識別用に使われることも多いが、本人であることを証明する「パスワード」の方は、本人しか知らないことが絶対条件だ。したがって通常は、表に出たり、第三者の手に渡ったりすることはない。ところが、何らかの方法で入手されてしまうと、システムは「パスワードを知っている人=本人」とみなすので、本人になりすましてサービスが使われてしまう。IDとパスワードによる認証では、本人しか知らないはずの情報である「パスワード」をいかに守るかが、不正使用防止のキモとなる。
ログイン情報を入手されてしまう原因には、不正アクセスを受けたサイトやウイルスに感染したパソコンからの流出、フィッシングによる詐取、また「類推」、「安易なパスワードを機械的に試行する攻撃」など、さまざまなものが考えられる。これらの原因のうち、サイトからの流出を除くと、いずれもユーザー側で対処できることだ。
ウイルスに感染したパソコンからの流出については、システムやソフトウェアを最新の状態に保つことと、信頼できると確信が持てるとき以外は絶対に実行しないことを心がければ、ほとんどを回避することができる。フィッシングによる詐取については、正規のサイトであることを必ず確認するよう心がければ、ほとんどを回避することができる。
この2つ(ウイルス感染とフィッシング)についての詳しい対策は、以下の関連トピックスを参照していただきたい。
・セキュリティの第一歩「Windows Update」を実行しよう
http://gendaiforum.typepad.jp/column/2013/02/セキュリティの第一歩windows-updateを実行しよう20130228.html
・「トロイの木馬」~実行被害を防ぐ基本対策
http://gendaiforum.typepad.jp/column/2012/11/トロイの木馬実行被害を防ぐ基本対策20121130.html
・国内ユーザーを狙うフィッシング~偽メール・偽サイトの見分け方)
http://gendaiforum.typepad.jp/column/2012/08/国内ユーザーを狙うフィッシング偽メール偽サイトの見分け方2012830.html
・無視してはいけない「ブラウザの警告」~個人情報保護編
http://gendaiforum.typepad.jp/column/2011/09/無視してはいけないブラウザの警告個人情報保護編-2011930.html
・無視してはいけない「ブラウザの警告」~ウイルス感染防止編
http://gendaiforum.typepad.jp/column/2011/10/無視してはいけないブラウザの警告ウイルス感染防止編20111030.html
「類推」や「安易なパスワードを機械的に試行する攻撃」については、強いパスワードの設定が最も有効な対策となる。具体的には、電話番号や誕生日、名前といった推測されそうなもの、「password」「12345678」のような安易なものを避け、大文字、小文字、数字、記号を織り交ぜた、長いパスワードを使用する。
このほかにも、たとえば人がいるところでの操作は、のぞき見されるかもしれない。自分が管理していないパソコンでは、入力情報を記録されているかもしれない。公衆無線LANなどの預かり知らない回線では、途中で盗聴されるかもしれない。こういったことにも気をとめ、注意を払うようにしたい。
サービスによっては、パスワードのほかに「秘密の質問」と「答え」を登録することがある。これを、通常のパスワード認証に加えた追加認証として用いる場合もあるが、多くは、パスワードを忘れてしまった場合に備えた、本人確認の代替手段として用意しており、パスワードの再設定などが行えるようになっている。すなわち、登録する「答え」は、パスワードと同様、本人しか知らないはずの情報であることが前提なのだ。
図1は、あるサービスのユーザー約1000人が選んだ「秘密の質問」の内訳だ。多彩な選択が用意されるも、4位以降とは5倍以上の差をつけて3つの質問が集中的に選ばれている。はたしてその「答え」には、パスワード並みに強いものを用意しているだろうか。正直な「答え」を、何の細工もなくストレートに登録しているのなら、この機会にぜひ再考していただきたい。ありがちな「秘密の質問」と「答え」は、パスワードよりもはるかに簡単に突破されてしまうかもしれない。実際、昨年6月には、神奈川県内の大学で、この機能を悪用した不正アクセスが発生した。女子生徒のメールをのぞき見たとして、昨年12月に書類送検された兵庫県内の中学生も、この機能を悪用してパスワードを再設定していたという。
出所:あるサービスのフィッシングで詐取された被害者約1000人が選んだ「秘密の質問」データを元に著者が作成
「秘密の質問」と「答え」を登録する際には、それがパスワードと同レベルの要件を満たしているか、よく考えていただきたい。いくら強いパスワードを設定しても、ここが弱いと元も子もないのだ。
なりすましログインによる不正使用を防ぐために、サービスには、さまざまなオプションを用意していることがある。以下に代表的なものをご紹介するので、有用なものは、積極的に利用していただきたい。
・通知
あなたのアカウントに対し特定の操作が行われた場合に、あらかじめ登録しておいたメールアドレス宛てに通知する機能だ。サービスによっては、通知するだけでなく、受け取った通知から承認や無効化の操作を行えるものもある。利用頻度の少ないサービスに関しては、可能であればログインの時点で通知するよう設定しておくとよいかもしれない。通知先は、常時持ち歩いている携帯宛てがよい。アカウントを破られないようにすることの次に重要なのは、破られたことやその予兆をいかに早く察知し、適切に対処できるかである。
・履歴
ログイン通知の機能がない、あるいは頻繁に利用するので無効化しているような場合には、身に覚えのない日時やアドレスなどから使われていないかどうか、履歴機能を使ってこまめにチェックしよう。ログイン時に前回のアクセスを表示するサービスでは、これを見逃さないようにしたい。もし身に覚えのない不審なアクセスがあったら、直ちにパスワードを変更しよう。
・IDの秘匿化
ログインするためには、IDとパスワードの両方が正しくなければならない。パスワードだけでなく、IDも秘密にしておけば、セキュリティをより強化できる。サービスによっては、ログイン用のIDを表に出ることのない専用のものに設定できる場合や、表に出る表示名を別のものに設定できる場合がある。IDが表に出ることのないサービスであれば、同じIDを使いまわさない、他人に教えないといった、自身の意識ひとつで秘匿化が可能だ。重要なサービスとそうでないサービスとで使い分けるだけでも、安全性が増す。
メールアドレスをIDとして登録するサービスでは、ふだん使用しているメールアドレスとは異なるものを個別に使用する手段がある。しかし、いたずらにメールアドレスを作成してしまうと、メールアカウントが増えて煩雑になり、管理もずさんになってしまうおそれがある。こうした用途には、ひとつのメールアドレスを拡張して別のアドレスを生成できるメールサービスや、ひとつのアカウントに複数のメールアドレスを統合できるメールサービスを利用すると便利だ。メールサービスにある、「サブアドレス」「別名アドレス」「エイリアスアドレス」などと呼ばれている機能がそれだ。
本来のメールアドレスを拡張するタイプでは、「ベース名@ドメイン名」という元のメールアドレスに対し、「@」の左側に「+」や「‐」を付けて任意の文字列を追加。「ベースアドレス+任意の文字列@ドメイン名」という形に拡張したものが利用できるようになる。複数のメールアドレスを統合するタイプでは、全く別のアドレスを取得し、同じアカウントの管理下に加えることができる。両者は若干異なるものの、どちらも表向きは別のメールアドレスとして扱われ、実際には同じアカウントにメールが配信される仕組みだ。
・2段階認証
ネットバンキングの不正送金被害が問題化しはじめた2005年ごろから、国内の金融機関では、それまでの「ID/パスワード」のみの認証に加え、乱数表やトークン(パスワード生成機)などを使い、毎回異なる別のパスワード(以後「認証コード」と呼ぶ)を入力させる、新たな認証方式を導入するようになった。金融庁の昨年3月時点でのまとめによると、銀行や信用金庫の個人向けネットバンキングの約73%が、この種の認証方式を導入しているという。
最近では、オンラインゲームやポータルサイト、SNSなどでも、同様の仕組みが積極的に採用され始めている。サービスによって、名称や仕様に若干の違いはあるが、万が一IDとパスワードが盗まれても、それだけでは利用できないようにしてしまう仕掛けなので、アカウントを保護するためのオプション機能として高い効果が期待できる。
ここからは、この「2段階認証」の仕組みを解説し、実例として、今年5月から始まったMicrosoftの2段階認証の設定方法を詳しくご紹介する。
2段階認証は、IDとパスワードを使った従来のログイン手順に、もう1段階、毎回変わる「認証コード」の入力を加えたものだ。2段階認証を使うと、ログインは図3のような手順になる。
図2:2段階認証のログイン手順
ID/パスワードの入力だけで済んだログインに新たな手順が追加され、2段階目を行えないとログインできなくなってしまうわけだ。サービスによっては、パスワード変更などの重要な操作を行う際にも、改めてログイン手順を実行させたり、2段階目の認証を行わせたりする場合もある。
2段階認証は、セキュリティの向上と引き換えに、ログインプロセスを煩雑化してしまう側面がある。さらに、認証コードを受け取る携帯電話が圏外の場合や、紛失してしまった場合なども考えると、ついつい二の足を踏んでしまうかもしれない。各サービスでは、さまざまな状況に対応できるように、あらかじめいくつかの機能を用意している。(表1)
表1:2段階認証のサポート状況
・認証コード
認証コードは、携帯電話や固定電話の音声、メールやSMS(ショートメッセージ)のテキストメッセージで受け取る方法と、コード生成アプリで生成する方法とがある。サービスによっては、音声やSMSが利用できない場合、メールが携帯電話のキャリアメールに限定されている場合があるので注意していただきたい。
・認証コード生成アプリ
これは、ネットバンキングで使われているトークンに相当する機能を、スマートフォンのアプリにしたものだ。サービスによっては、独自のものを提供している場合もあるが、表1に示すサービスの場合は、コード生成にTOTP(Time-based One-Time Password)という同じ仕組みを用いているので、サービスごとに専用のものを用意する必要はなく、ひとつのアプリを共用することが可能だ。ただし、初期設定時には認証コード生成アプリが利用できない場合があるので注意していただきたい。あらかじめ、別の受け取り方法も用意しておく必要がある。
・端末の登録
各サービス向けの専用アプリの中には、認証コード生成アプリの機能を搭載しているものもある。このような対応アプリの場合には、そのアプリを一度登録しておけば、2段階認証を意識せずに利用できるようになる。Webブラウザの場合は、端末内に保存するクッキーに、認証済み情報を保存させることができる。対応サービスでは、認証コードの入力時にオプションのチェックボックスで選択できるようになっているので、これを選択すれば、その端末のそのWebブラウザでは、次回から追加の手順が省略される。
・アプリ専用パスワード
2段階認証に対応していないアプリや機器に対しては、認証コードの入力を必要としない専用のパスワードを発行することができる。未対応アプリにはこのパスワードをセットしておくと、これまでどおりに利用可能だ。
・バックアップコード
あらかじめいくつかの認証コードをサービス側に用意しておき、これを代替用の認証コードとして使用できる機能だ。これを用意しておけば、スマートフォンの紛失などで認証コードを受け取れず、生成することもできなくなってしまった場合でも、ログイン可能だ。
2段階認証の設定は、各サービスにログインし、登録情報を管理するページで有効にするための初期設定を行う。この初期設定は、実際に認証プロセスを実行し、正常に完了することを確認する作業なので、あらかじめ認証コードを受け取る環境を用意しておく必要がある。認証コードをSMSで受け取る場合には、SMSの受信拒否設定に注意していただきたい。メールで受け取る場合には、メールの受信拒否設定や迷惑メールの振り分け機能に注意しよう。
○Microsoftアカウントで2段階認証を使う
Microsoftアカウントは、今年5月からセキュリティの強化策が実施され、Webサイト上でのログイン(サインイン)時などに、電話番号やメールアドレスの登録と本人確認を求めるようになった。すでに本人確認を行った方は、登録した連絡先にコードを送り、受け取ったコードを入力して確認するという、2段階認証の追加プロセスを体験したことだろう。
本人確認を終えれば、その後はこれまで通りに利用できるが、セキュリティ情報の変更などの重要な操作を行う際には、再びこの追加認証が必要となる。セキュリティの強化に伴い、すでに2段階認証が一部に使われているMicrosoftアカウントだが、2段階認証を有効にすると、この追加認証を常に行うようになる。
コードの受け取りには、電話の音声、メール、認証コードを生成するアプリが利用できる。本人確認で最小限の初期設定を行っているので、2段階認証の有効化とアプリの登録は、どちらを先に行ってもかまわない。2段階認証は無効のままアプリだけ設定し、セキュリティ情報の変更時などに必要なコード生成用として使うことも可能だ。
【1】2段階認証の有効化
(1)「セキュリティ情報によるアカウントの保護」ページを開く
2段階認証を設定するMicrosoftアカウントでログイン(サインイン)する。ページ右上のユーザー名をクリックし、[アカウント設定]をクリックしてアカウント設定ページを開く。ページ左のリストにある「セキュリティ情報」をクリックして、「セキュリティ情報によるアカウントの保護」ページを開く。
図M-1:セキュリティ情報によるアカウントの保護ページ
(2)2段階認証の設定開始
「2段階認証」の欄にある「2段階認証のセットアップ」をクリックする。
図M-2:2段階認証の設定開始
(3)コードの受け取り方法を指定
コードを受け取る方法を指定し、[次へ]をクリックする。
図M-3:コードを受け取る方法の指定
(4)受け取ったコードの入力
受け取ったコードを入力し、[次へ]をクリックすると設定が完了する。
図M-4:受け取ったコード入力
図M-5:設定完了
【2】認証コード生成アプリの設定
認証コード生成アプリを使用する場合には、「セキュリティ情報によるアカウントの保護」ページの「認証アプリ」の欄にある「セットアップ」をクリックする。
図M-6:「認証アプリ」の「セットアップ」をクリック
次の図M-7のようなページが開くので、アプリを起動してアカウントを追加する。QRコードがスキャンできる場合には、このページのQRコードをスキャンすると、自動的にMicrosoftアカウント名が登録される。スキャンできない場合は、「バーコードをスキャンできない場合」をクリックし、「アカウント名」と「秘密鍵」を手動で入力する。
図M-7:認証アプリの関連付け
アプリにアカウントが登録されると、登録したアカウントのコードが生成されるようになるので、「アプリによって生成されたコード」の入力欄にコードを入力する。[関連付け]をクリックすると、アプリの設定が完了する。アプリを設定すると、ログイン時の追加認証がアプリの生成したコード入力に変わる。「別の確認オプションを使う」をクリックすると、コードを受け取る方法を選択できる。
図M-8:認証コードの入力
【3】2段階認証でのログイン
2段階認証が有効になると、パスワードの入力後に、コードの入力を求めるようになる。「このデバイスでは頻繁にサインインするので、コードの入力は不要にする」をチェックしてから[送信]をクリックすると、使用中のWebブラウザが「信頼済みデバイス」に追加され、次回からコード入力が不要になる。
図M-9:ログイン時のコードの入力
【4】アプリ専用パスワードの作成
「セキュリティ情報によるアカウントの保護」ページの「アプリパスワード」の欄にある、「新しいアプリパスワードの作成」をクリックすると、2段階認証に対応していないアプリ用に、認証コードの入力なしで利用可能な、専用のパスワードを作成することができる。
図M-10:アプリパスワードの作成
<参考URL>
・Microsoft アカウント - 連絡先情報の本人確認のお願い
http://www.microsoft.com/ja-jp/mscorp/account/security.aspx
・2段階認証: FAQ
http://windows.microsoft.com/ja-JP/windows/two-step-verification-faq
・アプリパスワードと2段階認証
http://windows.microsoft.com/ja-JP/windows/app-passwords-two-step-verification
・信頼できるデバイスとは
http://windows.microsoft.com/ja-JP/windows-8/what-is-trusted-pc?woldogcb=0
(執筆:現代フォーラム/鈴木)