MFA は Multi-Factor Authentication(多要素認証)の略で、種類の違う認証要素を2つ以上組み合わせて本人確認をする仕組みです。パスワードだけの認証と比べて、片方が漏れても突破されにくくなります。
「種類が違う」が条件
要素は大きく3種類に分かれます。NIST のガイドライン(SP 800-63B)が挙げているのは次の3つです。
| 分類 | 中身 | 例 |
|---|---|---|
| 知っているもの | 記憶している秘密 | パスワード、暗証番号 |
| 持っているもの | 物理的に所持するもの | 認証アプリ、セキュリティキー、端末 |
| その人自身 | 生体的な特徴 | 指紋、顔 |
同ガイドラインは多要素認証を「異なる2つの認証要素の所持と管理を証明すること」と定義しています。ここで大事なのは「異なる」の部分です。
パスワードと「秘密の質問」は、どちらも知っているものです。2段階に見えても同じ分類なので、多要素にはなりません。同じように、パスワードを2回聞くのも多要素ではありません。数ではなく種類で数えます。
SMS は「使ってよいが、扱いが違う」
認証コードを SMS や音声通話で送る方式は広く使われていますが、NIST のガイドラインでは制限付き(restricted)として扱われています。「公衆電話網を使った認証は制限される」と明記されています。
理由として挙げられているのは、電話番号そのものが乗っ取られうることです。同ガイドラインは、認証コードを送る前に確認すべき兆候として次を挙げています。
- 端末の入れ替え
- SIM の変更
- 電話番号の他社への移転
- その他の異常な振る舞い
つまり「SMS は禁止」ではなく、SMS を使うなら、番号が奪われる経路も含めて考える必要があるという位置づけです。導入するなら、認証アプリやセキュリティキーを併用できる形にしておくのが無難です。
導入するときに決めること
仕組みを入れること自体より、運用の穴をどう塞ぐかで差が出ます。
- 登録できる手段を2つ以上にする。1つだけだと、端末の紛失や機種変更で全員が締め出されます
- 復旧手順を先に決める。手段を失った人をどう戻すか。ここが甘いと、そこが攻撃の入口になります
- 管理者アカウントから適用する。被害が最も大きい場所を後回しにしない
2番目がいちばん軽視されます。復旧の窓口を「本人確認なしで解除できる」形にすると、多要素認証を入れた意味が消えます。