[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]

-[[戻る>セキュリティ]]

* 目次 [#kd1172d7]
#contents

*概要 [#jc8e8ef1]
認証基盤の選定や実装について纏めています。

*認証トークン [#i0670f8d]
-[[トークンの作成方法]]

*種類 [#o815c7c4]

**HTTPの認証 [#gf2d8060]

***匿名アクセス [#eed67f54]
-匿名アクセスを許可する。
-通常サービスの実行アカウントで実行される。
-(偽装をおこなえば)匿名アカウントで実行される。

***基本認証 [#mb2c8e20]
-ユーザー名とパスワードを入力するためのダイアログ ボックスが表示される。
-アカウント情報は暗号化されないBase64文字列でサーバに送られる。
-通常サービスの実行アカウントで実行される。
-(偽装をおこなえば)認証されたアカウントで実行される。

***ダイジェスト認証 [#tda3ddf0]
-ハッシング テクノロジーを使用し、解読不能な方法でユーザー情報を送信する。
-通常サービスの実行アカウントで実行される。
-(偽装をおこなえば)認証されたアカウントで実行される。

**Windwos認証 [#m4be745d]
HTTPやSMBなどの通信ライブラリに組み込まれており、~
実行アカウントを使用しオートネゴシエートで認証することが可能。

***NTLM認証 [#zb3340de]
-[[ミラーアカウント]]でも、[[Active Directory]]でも可能。
-(偽装をおこなえば)認証されたアカウントで実行される。

***ケルベロス認証 [#o8a80b4b]
-「[[Active Directory]]」が必要、インターネットに拡大できない。
-(偽装をおこなえば)認証されたアカウントで実行される。

**クッキー認証チケット型 [#la8f4c73]
クッキー認証チケットを発行するタイプ
-認証されたアカウントを偽装するにはカスタムの実装が必要。

***統合認証基盤型 [#mf25a493]
-SiteMinder、IceWallなどの実績のあるSSOをサポートする統合認証基盤製品。
-これらは、下記HPで言う所の、「エージェント型」の統合認証基盤である。
-基礎から学ぶ!シングルサインオン - IT、IT製品の情報なら【キーマンズネット】~
http://www.keyman.or.jp/at/30001292/

***実装ルール型(ライブラリ型) [#f5c72a77]
各アプリケーション(や、使用しているフレームワーク)に~
認証クッキーの発行と認証等の機能を実装している方式。

**[[クレームベース認証]] [#gf1f2d37]
認証連携(IDフェデレーション)を使用して認証。

-SAML, WS-FED
--WIF(Windows Identity Foundation)を使用する。

-OpenId Connect
--Microsoft.Owin.Security.OpenIdConnectを使用する。
--WIF Extension for OAuth(OpenID Connect)を使用する。

*選定 [#i8941f0c]

**HTTPの認証 [#eb58ce03]
HTTPの認証なのでWebサーバでサポートされる。

**Windwos認証 [#m0ad1078]
Windows環境であれば。

-NTLM認証をサポートするクライアントも多い。

-SambaでLinux環境のケルベロス認証も可能。
--Samba4でのActive Directory構築 - OSSでLinuxサーバ構築~
http://www.oss-d.net/samba4/ad

***NTLM認証 [#zf1dd267]
-[[ミラーアカウント]]でも、[[Active Directory]]でも可能。
-デスクトップへのログインと連動したSSO認証が可能。~
ただし、[[ミラーアカウント]]の場合は、アカウントの管理が面倒。

-ベースクライアント認証でのダブルホップが不可能。
-ADが無いので、別途DBなどを用意して追加の承認の機能を実装できる。

***ケルベロス認証 [#a8d0341c]
-「[[Active Directory]]」が存在する場合。
-デスクトップへのログインと連動したSSO認証が可能。

-ベースクライアント認証でのダブルホップが可能。
-ADが有るので、各アプリケーションにLDAPを使用した追加の承認の機能を実装できる。

**クッキー認証チケット型 [#q11063ab]
-各アプリケーションに認証情報を使用した承認の機能を実装する。

***統合認証基盤型 [#bcd2a481]
-認証をISAPIレイヤで処理するので、基盤構築作業として対応でき、~
Webアプリケーション側に特別な作り込みは必要ないため、大きなメリットがある。

-ディレクトリ・サービスと連携している場合、~
各アプリケーションにこの情報を使用した追加の承認の機能を実装できる。

***実装ルール型(ライブラリ型) [#t68197e3]
各アプリケーション(や、使用しているフレームワーク)に認証処理を実装する場合、こちらの方式になる。

以下、ASP.NETでは、以下の様な実装ルール型(ライブラリ型)のフレームワーク or ライブラリを使用できる。

-[[Forms認証>ASP.NET Forms認証]]~
Webアプリケーション毎に認証Formを作成

-ASP.NET MembershipProvider~
LDAPやユーザマスタテーブルなどの資格情報ストアを使用した認証のフレームワーク。

-[[ASP.NET Identity]]
--Forms認証ではなく、OWINの認証用ミドルウェアを使用している。
--新しいミドルウェアのため、B2Cの認証サイトに必要な機能が充実している。

-参考
--[[ASP.NET Forms認証 vs ASP.NET Identity]]

**[[クレームベース認証]] [#if326ed5]
[[実装ルール型(ライブラリ型)>#t68197e3]]で、言語が混在になると、個別の部品を整備する必要があり面倒になる。

-ASP.NETのForms認証
-独自Frameworkの独自認証

また、コレをクリアするには、[[統合認証基盤型>#bcd2a481]]の認証基盤製品を導入する必要があった。~
このため、近年、下記のような認証/認可の仕組みのプロトコルレベルでの標準化が進んでいる([[クレームベース認証]])。

***[[SAML]]、[[WS-FED>WS-Federation]] [#j4fa72a7]
-[[SAML]]
-[[WS-Federation]]

***[[OpenID / OAuth / OpenID Connect>クレームベース認証#bd876705]] [#gcb8bfd9]

-[[OpenID]]
-[[OAuth]]
-[[OpenID Connect]]

*B2C対応の認証サイト構築フレームワーク [#m0e95e60]
B2Cの認証サイトに必要な機能が充実している[[ASP.NET Identity]]が有用である。

----
Tags: [[:認証基盤]], [[:Active Directory]], [[:クレームベース認証]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS