NTLM/Kerberos/SPNEGO/SAML/ADFSの整理

f:id:tworks55:20200505175913p:plain

社内でSSO環境を構築するにあたり、さまざまなキーワード出てきて分かりにくかったので整理しました。

ここからもっと深堀が必要かと思いますが、とりあえず入り口の整理ということで。

キーワード カテゴリ 概要 参考サイト
NTML
(NT [New Technology] LAN Manager)
Protocol Suite Microsoft独自のプロトコル、SSOでも使用されているが、脆弱性があるため現在はあまり推奨されていない。 後継のプロトコルはKerberosとなっている。違いはこちらが参考になります。 NT LAN Manager - Wikipedia
Kerberos Protocol AD(Active Directory)から電子チケットを発行するプロトコル。 電子チケットにはユーザー名が記載されている。 【図解】シングルサインオン(SSO)の仕組み~SAML等の実装例や製品例、メリット、セキュリティ~│SEの道標
SPNEGO
(Simple and Protected GSSAPI Negotiation Mechanism)
Standard Microsoftが作成したSSOのためのGSS-APIの実装規格。 GSS-APIはHTTP/SMTPなどの通信プロトコルの種類に依存せず、全ての通信プロトコル間でSSOを実現するためのフレームワーク。 GSS-APIは枠組みだけ定義しているため、Microsoftが必要な部分をSPNEGOとして具体的に実装している。 【図解】初心者にも分かるKerberos認証とspnegoの仕組み ~SSOのシーケンス,統合windows認証について~│SEの道標
SAML (Security Assertion Markup Language) Standard 異なるインターネットドメイン間でユーザー認証を行うための認証情報の規格。 SAML ProtcolでSAML Assertion(セキュリティトークン)をやり取りする。 【図解】シングルサインオン(SSO)の仕組み~SAML等の実装例や製品例、メリット、セキュリティ~│SEの道標
ADFS
(Active Directory Federation Services)
Component KerberosチケットにはADに必要な情報しか記載されていない。 ADFSはActive Directoryにサインインした後に生成されるチケットをもとにクラウドで利用可能なチケット(=トークンといいます)を生成する。 ADFSとは?フェデレーションとは?を知る方法 | Always on the clock




深堀するには以下のサイトも参考になります。

ADFSとAzure ADの違いを比較してみよう | Always on the clock

Active Directoryを通して知る認証・認可(承認) – サーバーワークスエンジニアブログ


これを理解したのちにSPAアプリケーションもSSO対応する必要がありそうなので、別途調査予定です。