Open棟梁Project - マイクロソフト系技術情報 Wiki
目次  †
概要  †
認証基盤の選定や実装について纏めています。
種類  †
HTTPの認証  †
匿名アクセス  †
- 匿名アクセスを許可する。
 
- 通常サービスの実行アカウントで実行される。
 
- (偽装をおこなえば)匿名アカウントで実行される。
 
基本認証  †
- ユーザー名とパスワードを入力するためのダイアログ ボックスが表示される。
 
- アカウント情報は暗号化されないBase64文字列でサーバに送られる。
 
- 通常サービスの実行アカウントで実行される。
 
- (偽装をおこなえば)認証されたアカウントで実行される。
 
ダイジェスト認証  †
- ハッシング テクノロジーを使用し、解読不能な方法でユーザー情報を送信する。
 
- 通常サービスの実行アカウントで実行される。
 
- (偽装をおこなえば)認証されたアカウントで実行される。
 
Windwos認証  †
HTTPやSMBなどの通信ライブラリに組み込まれており、
実行アカウントを使用しオートネゴシエートで認証することが可能。
NTLM認証  †
ケルベロス認証  †
クッキー認証チケット型  †
クッキー認証チケットを発行するタイプ
- 認証されたアカウントを偽装するにはカスタムの実装が必要。
 
統合認証基盤型  †
実装ルール型(ライブラリ型)  †
各アプリケーション(や、使用しているフレームワーク)に
認証クッキーの発行と認証等の機能を実装している方式。
- SAML, WS-FED
- WIF(Windows Identity Foundation)を使用する。
 
- 認証連携(IDフェデレーション)をサポートする。
 
 
- OpenId? Connect
- Microsoft.Owin.Security.OpenIdConnect?
 
- WIF Extension for OAuth(OpenID Connect)
 
 
選定  †
HTTPの認証  †
HTTPの認証なのでWebサーバでサポートされる。
Windwos認証  †
Windows環境であれば。
- SambaでLinux環境のケルベロス認証も可能。
 
NTLM認証  †
- ベースクライアント認証でのダブルホップが不可能。
 
- ADが無いので、別途DBなどを用意して追加の承認の機能を実装できる。
 
ケルベロス認証  †
- ベースクライアント認証でのダブルホップが可能。
 
- ADが有るので、各アプリケーションにLDAPを使用した追加の承認の機能を実装できる。
 
クッキー認証チケット型  †
- 各アプリケーションに認証情報を使用した承認の機能を実装する。
 
統合認証基盤型  †
- 認証をISAPIレイヤで処理するので、基盤構築作業として対応でき、
Webアプリケーション側に特別な作り込みは必要ないため、大きなメリットがある。 
- ディレクトリ・サービスと連携している場合、
各アプリケーションにこの情報を使用した追加の承認の機能を実装できる。 
実装ルール型(ライブラリ型)  †
各アプリケーション(や、使用しているフレームワーク)に認証処理を実装する場合、こちらの方式になる。
以下、ASP.NETでは、以下の様な実装ルール型(ライブラリ型)のフレームワーク or ライブラリを使用できる。
- ASP.NET MembershipProvider?
LDAPやユーザマスタテーブルなどの資格情報ストアを使用した認証のフレームワーク。 
- ASP.NET Identity
- Forms認証ではなく、OWINの認証用ミドルウェアを使用している。
 
- 新しいミドルウェアのため、B2Cの認証サイトに必要な機能が充実している。
 
 
実装ルール型(ライブラリ型)で、言語が混在になると、個別の部品を整備する必要があり面倒になる。
- ASP.NETのForms認証
 
- 独自Frameworkの独自認証
 
また、コレをクリアするには、統合認証基盤型の認証基盤製品を導入する必要があった。
このため、近年、下記のような認証/認可の仕組みのプロトコルレベルでの標準化が進んでいる(クレームベース認証)。
B2C対応の認証サイト構築フレームワーク  †
B2Cの認証サイトに必要な機能が充実しているASP.NET Identityが有用である。
Tags: :認証基盤, :Active Directory, :クレームベース認証