今年も7Payはじめ、いろいろなセキュリティインシデントがありました。キーワードとして「2段階認証」が出てきたのですが、この「2段階認証」と「多要素認証」の違いについてあいまいな部分があったので、自分なりに整理して理解した気になってみたので、纏めていきます。
2段階認証とは
- 英語で言うと
Two-step Authentication
- 2つの認証方法を組み合わせて段階的に認証するのが、2段階認証
- 「パスワード」と「ワンタイムトークン」を同じ画面で入力して認証するのは2段階認証ではない(多要素認証ではある)
多要素認証とは
- 英語で言うと
Multi-factor authentication
、MFAと略される - 認証の3要素と言われるものがある。「知識要素」「所持要素」「生体要素」の3要素で、2要素以上で認証を行うのが、多要素認証
- 「パスワード」と「秘密の質問」は同じ知識要素の組み合わせなので、多要素認証ではない(2段階認証ではある)
認証の3要素とは
1. 知識要素(Something You Know)
認証するもの
- 本人だけが知っている知識を認証
代表的な認証方法
- パスワード
- PINコード
- 秘密の質問
2. 所持要素(Something You Have)
認証するもの
- 本人の所持している物を認証
代表的な認証方法
- 携帯電話
- ICカード
- キャッシュカード
- ワンタイム用トークン
3. 生体要素(Something You Are)
認証するもの
- 本人の身体的な特徴を認証
代表的な認証方法
- 指紋認証
- 掌形認証
- 音声認識
- 虹彩認識
- 網膜スキャン
- 静脈認証
※↑このあたりを深く掘り下げたいけど、話が脱線しそうなのでがまん。。。
2段階認証と多要素認証の例
No. | ケース | 段階数 | 要素数 | 認証要素 | 2段階認証 | 多要素認証 |
---|---|---|---|---|---|---|
① | 1つの画面にパスワード入力 | 1 | 1 | 知識要素 | ✗ | ✗ |
② | 1つの画面にパスワードとワンタイムトークンを入力 | 1 | 2 | 知識要素+所持要素 | ✗ | ◯ |
③ | パスワード認証後、秘密の質問を入力 | 2 | 1 | 知識要素 | ◯ | ✗ |
④ | パスワード認証後、ワンタイムトークンを入力 | 2 | 2 | 知識要素+所持要素 | ◯ | ◯ |
⑤ | パスワード認証後、指紋認証 | 2 | 2 | 知識要素+生体要素 | ◯ | ◯ |
2段階認証と多要素認証どちらが安全か
- 認証強度は「段階数」よりも「要素数」が重要となるので、多要素認証のほうが安全
- 上記の例で言うと、①は2段階認証でも多要素認証でもないので安全性が低い
- ②④⑤は2つの要素で認証しているので、③より安全性が高い
- ②④について
- ②は知識要素と所持要素を同時に認証
- ④は知識要素と所持要素を段階的に認証
- ID/パスワードの組み合わせが突破される可能性は④のほうが高い
- 「段階数」増やせば安全性が高まるということではなさそう
- ⑤について
- 生体要素の認証器の他人受入(False Acceptance)率が高い場合、安全性が低くなることがある
海外ではMFA・2FAという用語は良く使われますが、2段階認証という用語はほとんど使われていないようです。日本でよくこの用語が使われるのは、過去に「パスワード」+「秘密の質問」が流行ったなごりではないかと言われております。2段階認証であっても多要素認証でなければ安全性が高いとは言えないので、今後はこのあたりを意識して、情報収集に気をつけていこうと思います。