認証・認可の脆弱性:ログインとIDOR
多要素認証(MFA)とは
この回でやること
知っているもの・持っているもの・その人自身という3つの要素と、なぜ2つ以上を組み合わせると強くなるのか。要素と手段の違いを整理します。
- 読む 約 7 分
- 最後にクイズ 1 問
このレッスンで学ぶこと
多要素認証は、パスワードが破られたあとにも、もう1つ止める段を置く仕組みです。この回は「多要素」の要素が何を指すのかを、3つの分け方から整理します。
読み終えると、目の前の認証が本当に多要素かどうかと、手段ごとに何を防げるかを言い分けられるようになります。
3つの要素
認証に使えるものは、次の3つに分かれます。
- 知っているもの。パスワード、暗証番号、秘密の質問の答え
- 持っているもの。スマートフォンのアプリが出す番号、物理的な鍵、SMSが届く回線
- その人自身。指紋、顔、声
多要素認証とは、この種類の違う要素を2つ以上求めることです。ここが要点で、手段の数ではありません。パスワードと秘密の質問はどちらも「知っているもの」なので、2つ並べても要素は1種類のままです。
なぜ種類を分けると強いのか
同じ要素に属するものは、同じ壊れ方をするからです。
プレーンテキスト
知っているもの → 覗き見、使い回し、漏洩リストで一度に壊れる
持っているもの → その端末を奪うか、届く経路に割り込む必要がある
その人自身 → 複製が要るパスワードが漏れる事故は、片端から全員分が漏れます。一方でスマートフォンを奪うには、狙った相手のところまで行く必要があります。壊し方の費用がまったく違うので、両方を同時に破るのは急に難しくなります。
逆に言えば、種類が同じなら並べても費用は上がりません。
手段ごとの強さの差
同じ「持っているもの」でも、強さは揃っていません。
- SMSで届く番号。回線の乗っ取りで奪われます。無いよりはずっとよいが、いちばん弱い
- アプリが出す番号。端末の中で計算しているので、回線を乗っ取っても取れません
- 物理的な鍵。接続先のドメインを鍵の側で確かめるので、偽サイトに番号を入力させる手が効きません
「MFAを入れた」で終わらせない
どの手段を使ったかで、防げる攻撃が変わります。偽サイトに誘導して番号を打たせる手口はSMSでもアプリでも通り、物理的な鍵だけが止めます。何から守りたいのかを先に決めてください。