二段階認証(二要素認証)とは
- 用語
- 二段階認証 (にだんかいにんしょう)
- 意味
- 二段階認証とは、パスワードに加えて 2 つ目の確認(認証アプリのコード、SMS、セキュリティキーなど)を求めるログイン方式です。本人が持つものを前提にした仕組みなので、共有アカウントで複数人が使うと本人を特定する意味が失われます。
二段階認証とは、パスワードに加えて 2 つ目の確認を求めるログイン方式です。
二段階認証とは何か
Google のヘルプは、2 段階認証プロセスを、パスワードが盗まれた場合に備える仕組みと説明しています。two-factor authentication(二要素認証)と同じ意味で使っています。厳密な定義は NIST SP 800-63B Revision 4(2025 年 8 月)にあります。知っているもの(パスワード)、持っているもの(スマホやセキュリティキー)、本人の身体(生体)のうち、異なる 2 種類を持っていることを証明する方式を、多要素認証としています。
方式にはどんな違いがあるか
二段階目の方式は 4 つに分かれます。何を使うかと、NIST SP 800-63B Rev. 4 での扱いを並べます。
| 方式 | 何を使うか | NIST SP 800-63B Rev. 4 での扱い |
|---|---|---|
| 認証アプリ | スマホのアプリが 30 秒ごとに作る使い捨てのコード | 1 つの方法として数える。偽サイトにだまされるとコードを盗まれうる(3.1.4) |
| SMS・音声通話 | 登録した電話番号に届くコード | 電話回線で受け取る方式は制限つき(3.1.3.3) |
| メール | メールアドレスに届くコード | 二段階目としての利用を認めない(3.1.3.1) |
| セキュリティキー・パスキー | 手元の物理キーや端末の中の暗号の鍵 | 偽サイトにだまされても盗まれない仕組みと認める(3.2.5) |
認証アプリのコードは、RFC 6238 という規格で決められた方式(TOTP、時刻をもとに作る使い捨てコード)で作られます。サービスとアプリが同じ秘密の値(秘密鍵)を持ち、今の時刻からそれぞれ同じコードを計算します。コードは通信で届くのではなく、秘密鍵を持つ端末の中で作られます。有効期間は既定で 30 秒です。
共有アカウントで複数人が使うと何が起きるか
二段階目は、本人だけが持つものを前提に設計されています。NIST SP 800-63B も、利用者が自分のログインの秘密を他人に教えないことを前提にしています。共有アカウントで複数人が使うと、この前提が 2 つの形で当てはまらなくなります。
1 つは、コードが 1 か所にしか出ないことです。認証アプリの秘密鍵は登録したスマホにあり、SMS は登録した電話番号に届き、セキュリティキーは 1 人の手元にあります。担当者が不在の日は、ほかの人がログインできません。Google 認証システムのように、Google アカウントにログインして複数の端末で同じコードを出せるようにするアプリもあります。ただし、その対象は自分の Google アカウントでログインした端末です。
もう 1 つは、共有すると誰が使ったか分からなくなることです。秘密鍵の QR コードを全員のスマホで読み取る運用にすると、二段階目が指すのは「秘密鍵を持つ誰か」になり、本人を特定する意味は失われます。管理方法の選択肢は 共有アカウントの管理 にまとめています。
よくある質問
二段階認証と二要素認証は同じですか
日常では同じ意味で使われます。厳密には、二要素認証は知っているもの・持っているもの・本人の身体のうち異なる 2 種類を組み合わせる方式を指し、NIST はこの区別で定義しています。
共有アカウントの認証アプリを全員のスマホに入れてよいですか
登録用の QR コードを全員が読み取ればどのスマホでもコードは出ますが、誰が使ったかは分からなくなります。NIST は、利用者がログインの秘密を他人に教えないことを前提にしています。
SMS で届くコードは使わないほうがよいですか
NIST SP 800-63B は、電話で受け取る方式を制限つきの扱いにし、メールを二段階目に使うことは認めていません。認証アプリのコードは偽サイトで盗まれうる扱い、セキュリティキーは盗まれない扱いです。
Junify の場合
- 人手で続けると
- 共有アカウントを安全に使い続けるなら、誰がパスワードを知っているかの一覧を保ち、人が入れ替わるたびに変えて配り直し、同じ ID で誰が操作したかを別に記録することになります。
- Junify なら
- Junify では、担当者が自分のスマホで本人確認をしてから共有アカウントを開くため、二段階認証を共有しても、誰が・いつ使ったかは一人ひとり残ります。認証アプリにコードが出る方式なら、コードは Junify が入力し、担当者のスマホに頼りません。SMS・メールで届くコードは対象外です。
参考資料
- NIST Special Publication 800-63B Revision 4「Digital Identity Guidelines: Authentication and Authenticator Management」
- IETF RFC 6238「TOTP: Time-Based One-Time Password Algorithm」
- Google アカウント ヘルプ「2 段階認証プロセスを有効にする」
- Google アカウント ヘルプ「Google 認証システムで確認コードを取得する」
同じテーマの記事
-
ブラウザーのパスワード保存を業務で使ってよいか
個人アカウントのパスワードを、会社が管理するブラウザーの設定で、1 人が使う端末に限って保存するなら選択肢になります。共有アカウント、私物端末、個人アカウントへの同期が絡む場合は避けます。管理者の設定で保存を止められます。
-
共有アカウントを複数人で安全に使う方法の比較
手作業、パスワードマネージャーの共有、ID 管理サービスによる代わりの入力、アクセス管理ツールの 4 つを、パスワードを知るか、記録の単位、退職時、二段階認証、ログイン後の管理、前提、向く規模の 7 つで比べます。
-
退職者が出るたびにパスワードを変える運用の限界
一度知られたパスワードは取り消せないため、退職のたびに変える運用には理由があります。限界は、変更後の配り直しと保存先の更新にかかる手間と、誰が知っているかの一覧がないまま起きる抜け漏れです。