Authenticator Assurance Level(AAL)について

NIST(National Institute of Standards and Technologyの略で「米国国立標準技術研究所」と訳されてます)が出している米国政府向けに言及したデジタルアイデンティティフレームワークのガイドライン「NIST Special Publication 800-63-3」というのがありまして、以下の内容が記載されています。

・SP 800-63A
IDの登録プロセスと提示されたIDの証明などのID保証レベル(Identity Assurance Level)について定義しているドキュメント

・SP 800-63B
認証保証レベル(Authenticator Assurance Level)とライフサイクル管理について定義しているドキュメント

・SP 800-63C
フェデレーションIDシステムの実装およびフェデレーション保証レベル(Federation Assurance Level)について定義しているドキュメント

最近、「認証の保証レベル(AAL)」について話題になっているので、調べてみました。AALのレベルは「1~3まで」定義されているのですが、一般的な企業用途では「AAL2」が現実的かなと思いました。「AAL3」だと多要素認証デバイスに「ハードウェアトークンが必須」だったりするので、銀行とか金融系以外は運用的に厳しいのが現状だと思われます。

Authenticator Assurance Level 2 について

個人的にAAL2の要点は「Authenticator(認証デバイス)の定義」とパスワード運用に関わるお話かなと思いますが、「Authenticatorのライフサイクル管理」や「セッション管理」、「プライバシーに関する考慮事項」などの記載もありますので、一度、原文を読むことをお勧めします。(Google翻訳だと分かりにくい訳になってしまうので、英語で読むことをお勧めします!)

【Authenticator(認証デバイス)の定義】

「Memorized Secret」はいわゆる”パスワード”と置き換えると分かりやすいと思います。パスワードは「パスフレーズ」が前提となっており、その運用についても以下のような記載があります。

パスフレーズとは文章をパスワードにするような方法で、例えば「私はゲームが好きです/特にPC88のDragonSlayer2が好きです」→「watasihagamegadsukidesu/tokuniPC88noDragonSlayer2gasukidesu」という文字列を設定する、といった考え方です。

【パスワード運用のガイドライン】

【ガイドラインの順守・許容表現について】
• SHALL(するものとする)およびSHALL NOT(しないものとする)
 - 厳密に従う必要があり、逸脱が許可されていない要件。
• SHOULD(すべきである)およびSHOULD NOT(すべきではない)
 -  いくつかの可能性の中で特定の推奨があることを示している。
 -  行動指針を推奨するが、必須であることまでは要求しない。
• MAY(してもよい)およびNEED NOT(しなくてよい)
 - 行動指針が許容できることを示す。

AuthnContextClassRef(認証コンテキストクラス)について

AuthnContextとはIdPがSPに応答するSAMLレスポンスに「どんな認証を方式を利用したか?」という情報が埋め込まれる要素です。SAMLリクエストに含めることが可能で、「認証方式を指定」することができます。

例えばSP①はパスワード認証でOKだが、SP②は証明書認証が必要です、という場合、SAMLリクエストは以下のようになります。

<samlp:RequestedAuthnContext xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" >
 <saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
   urn:oasis:names:tc:SAML:2.0:ac:classes::X509
 </saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext>

この認証コンテキストクラスについて、AALやFALのドキュメントに具体的な記述は無いようですが、今後はAALと合わせて普及する可能性もあるのでチェックしておくのが良さそうです。

今回はここまで。

【参考にさせていただいた資料】
・NIST Special Publication 800-63-3(原文)
 https://pages.nist.gov/800-63-3/sp800-63-3.html
・認証にまつわるセキュリティの新常識(Internet Week ショーケース in 仙台)
 https://www.nic.ad.jp/sc-sendai/program/iwsc-sendai-d2-6.pdf
・NIST SP 800-63-3の概要と今回の改訂がもたらす影響(JIPDEC)
 https://www.jipdec.or.jp/library/report/20171127.html
・OASIS Authentication Context for the OASIS SAML V2.0
 http://docs.oasis-open.org/security/saml/v2.0/saml-authn-context-2.0-os.pdf