「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -戻る --[[認証基盤]] --[[Windows]] ---[[ドメイン サービス (AD DS)]] * 目次 [#j2fa2c16] #contents *概要 [#c60041d0] ケルベロス認証(Kerberos Authentication) -クライアント・サーバ間のネットワーク認証方式の一つ。 -[[Active Directory>ドメイン サービス (AD DS)]]で[[ドメイン アカウント]]を使用しシングルサインオンを提供する。 -MITのAthenaプロジェクトによって開発され、RFCで規定されている。 --https://www.ietf.org/rfc/rfc1510.txt --https://www.ietf.org/rfc/rfc4120.txt --https://www.ietf.org/rfc/rfc4121.txt *詳細 [#td2790c4] **KDC : Key Distribution Center [#pf40165f] -[[Active Directory(以下、ADと略す)のドメイン コントローラ>ドメイン サービス (AD DS)]]に同梱される。 -クライアント・サーバから見て第3者である~ KDCを介してユーザとホストが互いに相互認証する。 --2者間認証は行わず、3者間認証を行う。 --KDCは ---認証と暗号化用の鍵の配布を鍵管理センタ。 ---各参加者とそれぞれ秘密の鍵(暗号鍵)を共有する。 ---下記の3つのサーバ機能を持っている。 ***AS : Authentication Server [#b0b6a421] 認証サーバー機能 -ユーザーからの認証を受け付ける。 ***TGS : Ticket Granting Server [#abeea1f5] チケット交付サーバー機能 -各サーバーを利用するためのチケットを発行する。 ***KDB : Kerberos Database Server [#abeea1f5] ケルベロスDBサーバー機能 -各ユーザの認証情報や、共通鍵などを保存する。 -内部的に[[ディレクトリ サービス]]などが利用される。 **用語 [#oa6b15f9] -Kerberosの用語~ http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-ja-4/s1-kerberos-terminology.html ***TGT : Ticket Granting Ticket [#s7252b21] -チケット発行のための大もとのチケット。 -TGTは以下を含む。 --[[AS>#b0b6a421]]とユーザ間で共有する... ---[[AS>#b0b6a421]]キー --[[TGS>#abeea1f5]]とユーザ間で共有する... ---[[TGS>#abeea1f5]]チケット ---[[TGS>#abeea1f5]]キー ***レルム : realm [#d6d9d3fc] -ケルベロスで管理される範囲を~ 示す(ADであればドメインのこと)。 -≒全て大文字で記載されたドメイン名 ***プリンシパル : principals [#u0205178] レルム内で管理されるユーザ、ホスト、サービス -ユーザ プリンシパル~ --ユーザ名@レルム --ユーザ名/グループ名@レルム -ホスト プリンシパル --ホスト名/FQDN名@レルム -サービス プリンシパル([[SPN]]) --サービス名/FQDN名@レルム -Kerberosチケット交付サービスプリンシパル **シーケンス [#reea59d4] ***(1) ユーザー [#pbdd0ceb] [[ドメイン アカウント]]を[[KDC>#pf40165f]]-[[AS>#b0b6a421]]に送信する。 ***(2) [[KDC>#pf40165f]]-[[AS>#b0b6a421]] [#y759419c] -[[ドメイン アカウント]]を認証する。 -ユーザーに対して[[AS>#b0b6a421]]キーで暗号化した[[TGT>#s7252b21]]を発行する。 ***(3) ユーザー [#p55ab628] -[[TGT>#s7252b21]]を[[AS>#b0b6a421]]キーで復号化して、[[TGS>#abeea1f5]]キーとチケットを取得。 -[[TGS>#abeea1f5]]チケットに情報を付与して[[TGS>#abeea1f5]]キーで暗号化する。 -コレを用いて、[[KDC>#pf40165f]]の[[TGS>#abeea1f5]]に対して~ 証明書(チケットとセッション鍵)の発行を依頼する。 ***(4) [[KDC>#pf40165f]]-[[TGS>#abeea1f5]] [#ge76a0f5] -[[TGS>#abeea1f5]]キーで[[TGS>#abeea1f5]]チケットを取り出す。 -ユーザーを認証し、[[KDB>#abeea1f5]]の共通鍵で暗号化された~ 証明書(チケットとセッション鍵)を発行する。 ***(5) ユーザー [#s578b535] -証明書を[[KDB>#abeea1f5]]の共通鍵で復号化し証明書(チケットとセッション鍵)を取り出す。 -チケットにクライアント情報を付与し、認証チケットとする。 -認証チケットをセッション鍵で暗号化して、アクセス先のサーバへ提出する。 ***(6) サーバー [#c97bbb0e] -認証チケットをセッション鍵で復号化する。 -これを、更に[[KDB>#abeea1f5]]の共通鍵で復号化する。 -ユーザーを識別してアクセスを許可する。 **複数[[ドメイン>Active Directory(概要)#mddefc78]]を跨るSSO [#u602ffb1] ***[[信頼関係>Active Directory(概要)#d40c03fa]] [#tc3cc2c5] [[ドメイン>Active Directory(概要)#mddefc78]]間の[[フォレスト>Active Directory(概要)#e6994dc1]]の[[信頼関係>Active Directory(概要)#d40c03fa]]を設定する必要がある。 -IBM Knowledge Center - 複数の Active Directory ドメインをまたがる Web クライアント用の Windows シングルサインオン~ https://www.ibm.com/support/knowledgecenter/ja/SSKTMJ_9.0.1/admin/conf_windowssinglesignonforwebclientsacrossmultipleac_t.html ***[[FIM/MIM]] [#j3abdae9] -[[FIM/MIM]]などの統合ID管理ソリューションの、プロビジョニング機能を使用して、~ 異なるドメインで同じアカウントを使用して認証可能(ただし、OSSにならない)。 -[[クレームベース認証]]を使用するという手段も有効(こちらはSSOになる)。 *参考 [#bb851493] -Insider's Computer Dictionary [Kerberos] - @IT~ http://www.atmarkit.co.jp/icd/root/11/87736911.html -情報セキュリティ入門 - ケルベロス認証:ITpro~ http://itpro.nikkeibp.co.jp/article/COLUMN/20060518/238303/ -Kerberos 認証の概要~ https://technet.microsoft.com/ja-jp/library/Hh831553.aspx **3 Minutes Networking [#y5b979b1] http://www5e.biglobe.ne.jp/%257eaji/3min/ -補講第4回Kerberos(1) プリンシパルとレルム~ http://www5e.biglobe.ne.jp/%257eaji/3min/ex/sup04.html -補講第5回Kerberos(2) 鍵配布センター~ http://www5e.biglobe.ne.jp/%257eaji/3min/ex/sup05.html -補講第6回Kerberos(3) チケット~ http://www5e.biglobe.ne.jp/%257eaji/3min/ex/sup06.html -補講第7回Kerberos(4) KDCセキュリティ~ http://www5e.biglobe.ne.jp/%257eaji/3min/ex/sup07.html -補講第8回Kerberos(5) クロスレルム認証~ http://www5e.biglobe.ne.jp/%257eaji/3min/ex/sup08.html **[[ベース クライアント セキュリティ モデル]] [#bd0d6374] ***[[SPN]] [#v5f6eb18] ***[[委任]] [#qd8fb669] ***[[ドメイン アカウント]] [#aff6e078] ---- Tags: [[:IT国際標準]], [[:Windows]], [[:認証基盤]]