【IDM】AD FS 2.0 での多要素認証(Multifactor Authentication)について

久しぶりに AD FS 2.0 に関する投稿です。

先日、こんなご質問をいただきました。

AD FS 2.0 では多要素認証は使用できないのでしょうか?

鋭いご質問です。

AD FS 2.0 ではセキュリティトークン(アサーション)の発行条件として Active Directory Domain Service(AD DS)での認証が必須です。ご存知の通り、既定では、AD DS の認証は ユーザーID と パスワードを使用します。

image

多要素認証を実装してAD FS にセキュリティートークンを発行させる場合、2通りの考え方があります。

  • AD DS を多要素認証に対応する
  • AD FS を多要素認証に対応する

前者はそのままですよね。ユーザーID と パスワードの組み合わせによる認証に加えて、「PINコード」や「ワンタイムパスワード」などの要素をドメイン認証に加えるということです。Active Directory には証明書を使用した認証方式も実装可能ですし、サードベンダー製のソフトウェアを使用すればワンタイムパスワードなどを加えた認証も可能です。

image

では、後者(AD FS の認証を多要素認証に対応する)はどういうことでしょう。

先にも述べたとおり、AD FS がセキュリティトークンを発行する条件は基本的に 1つ です。

  • AD DS に認証されていること

たとえ AD DS に多要素認証でログオンしていたとしても、AD FS から見れば「1つ」の要素しか満たしていないということです。「基本的に」と書いたのは、クレームルールによって細かな制御ができるため、完全に AD DS による認証のみに頼っているわけでは無いからです。

image

では、AD FS は多要素認証に対応できるのでしょうか?

作りこめばできます

(参考サイト)Steve on Security : Multifactor Authentication with ADFS v2

例えばこんな感じです....えーと、これ画面作っただけです。すんません。要は、コードを書けば何とでもなる...ということですね。

image

具体的な実装方法については追って解説します。まずは、AD FS のライブラリを理解しないといけないので.