ログインページはパスワードを求め、続いて二つ目の秘密を求める。するとその導入はすぐさま多要素と呼ばれる。しかし多くの場合、これは同じ要素を二度集めているだけであり、どちらの値も同じ人が同じ記憶や同じメモから打ち込んだ知識だからである。強力なトンネル暗号も、製品名の「セキュア」という言葉も、この点を変えない。

主張と仕組みを切り分けるのに必要な問いは一つだけであり、各手順が何を、誰に対して証明しているのかを問うことになる。

要素とは証明であって、欄ではない

多要素認証とは、同じアカウントに対して一種類ではない複数の証明が検証されることを意味する。利用者が知っているもの、持っているもの、本人であること。記憶した文字列を集める欄が二つあるなら、それは同じ種類の証明を二回求めているにすぎず、二つの独立した秘密は一つより推測しにくいので有効な統制ではあるが、用語が指すものではなく、リスク評価で多要素として数えるべきではない。

検証の側は収集の側と同じくらい重要だ。デバイス上で生成されたコードがそのデバイスの支配を証明するのは、サーバーがこのアカウントに結び付いた秘密と照合し、再利用を拒否した場合だけである。全員に通じる共有コード、回数制限のないコード、何を承認しているかを示さないデバイスで承認するプロンプトは、いずれもラベルが示すより弱い。

だから VPN に MFA があるかと問われたら、二つ目の手順が何を証明し、サーバーがどう結び付けるのかを尋ねる。答えが「同じディレクトリの二つ目のパスワード」なら、要素は一つで方針の話になるのであり、二つ目の要素ではない。

証明書の場合は、思い込まずに読み解く必要がある

クライアント証明書とパスワードの組み合わせは、証明書がストアかトークンに保持されパスワードが記憶されるため二要素に見えるし、実際そうなることもある。しかし、証明書ファイルが保存済みパスワードと同じプロファイルディレクトリに無防備に置かれていたり、証明書が複数人で共有され個々の責任が問われないデバイスに発行されていたりすれば、一要素にすぎない。

決めるべきは、その証明書が誰を、あるいは何を識別するかである。デバイス証明書は管理された端末の存在を証明する。利用者証明書は身元を証明する。ノートPCごとに一枚の証明書を発行し、その存在を本人の証明とみなすなら、二つ目の要素は、PCを手にした者が誰でも受け継ぐハードウェアの属性へと静かに変わってしまう。

だからといって証明書が悪い考えになるわけではない。デバイスの保証と利用者の保証を区別して書き留める価値があるというだけであり、両者は別の問いに答えるので、これを一つと数えるコンプライアンス表は守られている範囲を過大に見積もる。

ゲートウェイへの信頼と利用者への信頼は別の問題だ

二つ目の要素があっても、検証していない端点に資格情報を打ち込んでよいことにはならない。クライアントは意図したゲートウェイを見分ける必要があり、そのためにサーバー証明書とクライアントの信頼設定がある。フィッシングはログインを攻撃者の管理するサーバーへ移す手法であり、そこで入力された正しいワンタイムコードは、そのままリアルタイムで本物のサービスへ中継される。

だから結果を変えるのは、プロンプトの文言よりも方式の選択だ。人が打ち込むコードは説得力のあるページを見せられる者なら誰でも中継できるが、認証を特定のオリジンとセッションに結び付ける暗号方式は設計上その中継に耐える。どちらなのかは方式の性質であり、ダイアログの手順数ではない。

パスワード欄に余計なプロンプトを後付けするのではなく、ベンダーが対応する登録とクライアントの流れに従う。自作の二つ目の手順はたいてい中途半端な位置に落ち着き、要素を意味あるものにする結び付きを欠いたまま摩擦だけを増やす。

回復は二つ目の正面玄関だ

強いログインには、認証器を失ったときの戻り道があり、そこが設計上もっとも弱い箇所になりやすい。サポート担当が登録済みの番号への電話の後に二つ目の要素をリセットできるなら、攻撃者にとって最も安い経路はログインページではなくヘルプデスクだ。

交換がどう機能し、誰が承認し、どんな証拠を求めるのかを尋ねる。そのうえで、バックアップコードのような回復用の材料が主要な資格情報と別に保管されているかを確認し、一つの侵害で両方が渡らないようにする。NIST のデジタルアイデンティティ指針は、検証子の結び付きと認証器のライフサイクルを要件の一部として扱っており、運用上の後付けとはみなさない。

評価に何を書くか

要素を種類ごとに記述し、それぞれが何を証明するのかを名指しし、アカウントにどう結び付いているかを示す。方式が中継に耐えるかどうかを記し、回復の経路もログインと同じ丁寧さで描く。

そのうえで、その定義において多要素かどうかを率直に述べる。「二つのパスワードと一枚のマシン証明書」は正直な一文であり、「はい」と答えるチェックボックスよりはるかに多くを読者に伝える。

関連記事