二段階認証とは
二段階認証は、ログインのときに、パスワードなど 1 つ目の確認に続けて、もう 1 つ別の確認を求める仕組みです。パスワードが漏れても、それだけではアカウントに入られにくくなります。
この記事でわかること
- 二段階認証と二要素認証のちがいを説明できる
- SMS・認証アプリ・パスキーなど、2 つ目の確認の方法と特徴がわかる
- スマートフォンをなくしたときの備え方を知る
目次
二段階認証は、ログインのときに、パスワードなど 1 つ目の確認に加えて、もう 1 つ別の確認を求める仕組みです。2 つ目には、スマートフォンに届くコードや、認証アプリ(ログイン用のコードを作るスマートフォンのアプリ)に出る 6 桁の数字などを使います。
パスワードは、使い回しや偽サイトへの入力、サービスからの漏えいなどで、本人の知らないうちに他人の手に渡ることがあります。2 つ目の確認があれば、パスワードだけでは入られにくくなります。問い合わせのメールや、教室の申し込みフォームの回答が届くアカウントを守るうえで、知っておきたい仕組みです。
- 1 つ目の確認パスワードやメールのコード
- 認証アプリを開く多くは 30 秒ごとに変わる 6 桁
- コードを入力する
- サイトが照らし合わせる同じ秘密の値と時刻から計算
認証の「要素」とは何か
本人かどうかを確かめる手がかりは、大きく 3 種類に分けられます。これを認証の要素と呼びます。
| 要素 | 意味 | 例 |
|---|---|---|
| 知識 | 本人だけが知っていること | パスワード、PIN、秘密の質問の答え |
| 所持 | 本人だけが持っているもの | スマートフォン、セキュリティキー、IC カード |
| 生体 | 本人の体の特徴 | 指紋、顔 |
ちがう種類の要素を組み合わせると、1 つが破られても、もう 1 つが残ります。パスワードを盗んだ人でも、あなたのスマートフォンまでは持っていないからです。総務省の説明では、このうち 2 つ以上を組み合わせて確かめることを多要素認証、そのうち 2 つの要素を使うものを 2 要素認証と呼んでいます。
二段階認証と二要素認証はどうちがうのか
日本語では、よく似た 2 つの言葉が使われます。
- 二段階認証: 確認を 2 回に分けて行うこと。回数に注目した言葉です。
- 二要素認証: ちがう種類の要素を 2 つ使うこと。要素の種類に注目した言葉です。
組み合わせで比べると、ちがいがはっきりします。
| 組み合わせ | 確認の回数 | 要素 |
|---|---|---|
| パスワード+秘密の質問 | 2 回(二段階) | どちらも知識なので、二要素ではない |
| パスワード+認証アプリのコード | 2 回(二段階) | 知識+所持で、二要素 |
| 指紋や PIN で確かめるパスキー | 1 回の操作 | 所持+生体(または知識)で、二要素 |
ただ、実際の言葉の使い方は混ざっています。Google は自社の仕組みを「2 段階認証プロセス」、Apple は「2ファクタ認証」と呼んでいて、どちらも 2 つ目の確認にスマートフォンなどの持ち物を使います。サービスの説明に「二段階認証」と書かれていても、2 つ目に持ち物を使っていれば、中身は二要素認証にあたります。安全さを左右するのは名前より、「1 つ目とちがう種類の要素を使っているか」です。
2 つ目の確認にはどんな方法があるのか
| 方法 | 仕組み | 気をつけること |
|---|---|---|
| SMS のコード | 携帯電話の番号あてにコードが届く | SIM カードの再発行の悪用などで電話番号を乗っ取られると、コードも相手に届く |
| 認証アプリのコード | アプリが短い時間ごとに新しいコードを作る | 機種を変えるときに、移す手順が要る |
| 通知での承認 | スマートフォンに届いた通知で「はい」を押す | 自分がログインしていないときの通知は承認しない |
| パスキー・セキュリティキー | 端末やキーの中の鍵で署名して確かめる | 端末やキーをなくしたときの備えが要る |
SMS は手軽で、多くの人がすぐに使えます。一方で、米国の NIST(国立標準技術研究所)の認証の指針は、電話網でコードを送る方法を「制限付き」とし、ほかの方法も用意したうえで使うよう求めています。選べるなら、認証アプリやパスキーのほうが安心です。
認証アプリのコードはどう作られるのか
認証アプリのコードは、TOTP(時刻をもとにした使い捨てのパスワード)という方式で作られます。IETF(インターネットの技術の標準を決める団体)の RFC 6238 にまとめられた方式で、多くの認証アプリとサービスが対応しています。
- 設定のとき、サービスが出す QR コードを認証アプリで読み取ります。これで、サービスとアプリが同じ「秘密の値」を持ちます。
- ログインのとき、アプリは秘密の値と現在の時刻から、6 桁ほどのコードを計算します。時刻の区切りには、30 秒がよく使われます。
- サービスも同じ計算をして、入力されたコードと一致すれば通します。
計算に使うのは秘密の値と時刻だけなので、アプリは通信できない場所でもコードを作れます。逆にいえば、設定のときの QR コードや秘密の値を人に見られると、同じコードを作られてしまいます。画面の写真を人に送ったりしないようにしましょう。
フィッシングにはどこまで強いのか
二段階認証は、盗まれたパスワードだけで入られるのを防ぐのに役立ちます。ただ、コードを打ち込む方法では、フィッシング(本物そっくりの偽サイトで入力させる手口)を防ぎきれません。
偽サイトの中には、入力されたパスワードとコードを、その場で本物のサイトに送り込むものがあります。たとえば、教室の運営に使う予約システムの偽のログイン画面に、パスワードと認証アプリのコードを続けて入れると、コードが使えるうちに、攻撃者が本物のサイトへログインしてしまうことがあります。コードには、どのサイトに入力されたかを見分ける仕組みがないからです。
パスキーやセキュリティキーは、この点で強くなっています。鍵が本物のサイトのドメイン(Web の住所)に結び付いていて、偽のドメインでは使われないからです。NIST の指針でも、コードを手で入力する方法はフィッシングに強い方法に数えられず、WebAuthn(パスキーの土台の技術)のように相手のサイトを確かめる方法が、フィッシングに強いとされています。くわしくは「パスキーとは」で説明しています。
コードを使う二段階認証では、次のことを心がけると安心です。
- メールや SMS のリンクからではなく、ブックマークや自分で入力したアドレスからログインする。
- コードを入力する前に、ブラウザーのアドレス欄のドメインを確かめる。
- 自分でログインしていないときに届いたコードや承認の通知には、応じない。
スマートフォンをなくしたときに備えるには
2 つ目の確認にスマートフォンを使っていると、なくしたり壊したりしたときに、ログインできなくなるおそれがあります。設定するときに、次の備えをしておきましょう。
- 予備のコード(バックアップコード)をしまっておく。Google のように、二段階認証の設定と一緒に、使い捨ての予備のコードを発行するサービスがあります。1 つのコードは 1 回だけ使えます。印刷して大事な書類と一緒にしまうか、パスワード管理アプリに保存します。作り直すと古いコードが使えなくなるサービスもあるので、そのときは新しいほうをしまい直します。
- 認証アプリのバックアップを確かめる。認証アプリの中には、コードのもとになる秘密の値を、アカウントで同期できるものがあります。同期しないアプリでは、機種を変える前に移す手順を済ませます。
- 2 つ目の確認の方法を 1 つにしない。認証アプリに加えて、セキュリティキーやパスキーを登録しておくと、どれかが使えなくなっても入れます。
まとめ
二段階認証は、1 つ目の確認に別の確認を重ねて、パスワードが漏れたときの被害を防ぐ仕組みです。言葉としては、回数に注目した「二段階認証」と、種類に注目した「二要素認証」がありますが、大切なのは 1 つ目とちがう種類の要素を使うことです。SMS は電話番号の乗っ取りに、コードを打ち込む方法はフィッシングに弱いところがあり、パスキーやセキュリティキーはその両方に強い方法です。予備のコードをしまっておけば、スマートフォンをなくしたときも落ち着いて対処できます。
mukumo では二段階認証を使えますか
mukumo(ムクモ)では、認証アプリ(Google Authenticator など)の 6 桁のコードを、ログインの 2 段目として足せます。設定するかどうかは任意です。設定すると、メールのコード・Google・Apple・GitHub でログインしたあとにコードを聞かれます。パスキーでログインしたときは聞かれません。
設定したときに予備のコードが 10 個もらえ、認証アプリが使えなくなったときに使えます。「この端末では 30 日間たずねない」を選ぶと、その端末ではしばらく聞かれません。設定とオフは設定の「アカウント」の「認証アプリ」から行い、オフにするとそのことを知らせるメールが届きます。
よくある質問
二段階認証を設定すると、毎回コードを入れる必要がありますか
サービスによります。「この端末では次回から確認しない」のような選択肢があれば、いつも使う端末では聞かれる回数を減らせます。家族や同僚と共用している端末では選ばないでください。
認証アプリは、どれを選べばよいですか
多くの認証アプリは TOTP という共通の方式に対応しているので、たいていのサービスで使えます。機種を変えるときに困らないよう、バックアップや同期ができるかを目安に選ぶとよいでしょう。
認証コードを電話やメールで聞かれたら、教えてもよいですか
教えないでください。コードは本人がログインするときに自分で入力するためのもので、人に伝えると、その人があなたとしてログインできてしまいます。
パスキーでログインするときも、二段階認証のコードは必要ですか
求めないサービスがあります。指紋や PIN で確かめるパスキーは、それだけで持ち物と本人の確認を兼ねるからです。たとえば Google は、パスキーでログインすると 2 つ目の手順を省きます。
コードを正しく入れたのに通らないのはなぜですか
認証アプリのコードは時刻から計算するので、スマートフォンの時刻が大きくずれていると合わなくなります。時刻を自動で合わせる設定にして、新しいコードでもう一度試してください。