【Kerberos認証について】

     このHPは、Kerberos認証についてまとめたものです。




1-1 ActiveDirectoryの認証の仕組み

ActiveDirectoryに登録されたユーザーは、正しく登録されていることが確認できると、ドメイン内のファイルサーバーや情報等の資源を利用出来る様になる。この認証する作業を「認証」と呼ぶ。

ただし、ドメインコントローラーによる認証が行われるのは、ドメインにログオンするとき等であり、ドメイン内の資源にアクセス許可が与えられているかどうかを確認するには、別途「認可」という作業が行われる。
「認証」と「認可」はディレクトリーサービスの基本。





1-2 Kerberos認証の特徴

Windows2000以降のOSで標準的に利用される「Kerberos認証」について見ていく。 Kerberos認証では、「チケット」の概念が用いられ、共通鍵方式に基づく認証メカニズムで、シングルサインオンを実現する。
Kerberos認証の構成要素は、下記の3つ。


■Kerberosサーバー(KDC(DC))
AS(認証サーバー)、TGS(チケット認可サーバー)、KDB(鍵管理サーバー)の3つのサーバーで構成される。
KDCの機能は、Windowsではドメインコントローラー(DC)に与えられるため、WindowsKerberos認証では、実質ドメインコントローラー(DC)に認証要求を行うことになる。

■クライアント
ユーザーの事。

■サーバー
業務サーバーやファイルサーバー等のサービスを提供するサーバー。
これらの構成要素は「プリンシパル」と呼ばれ、「プリンシパル名」で識別される。1つのKDCの管理化にあるプリンシパルの集まり「レルム」という。








1-3 Kerberos認証の動作

Kerberos認証の動作は、内部的には複雑な動作を行うが、パケットの流れは極めてシンプル。
Kerberos認証時のパケットのやり取りを下図に示す。








@クライアントはまず、ドメインログオン時のKerberos認証サービス要求(AS- REQ)で、現在時刻(タイムスタンプ)やユーザーの資格情報等をクライアントのパスワードで暗号化してKDCに送信する。


Aこの要求を受け取ったKDCは、クライアントのパスワードによる暗号化データを復号し、クライアントユーザーが正しいユーザーであることを確認する。その上で、ログジョンセッションキーと「TGT」※を返信する。(AES-REP)。
TGT・・・ユーザーの認証後にASが発行するチケット。

これらの処理を「AS交換」という。クライアントはこの処理によって、クライアントユーザーの認証資格を得る。ここまでは、ログオン時の動作で、SMBプロトコルでサーバーにアクセス要求を行う前に準備されている。


Bファイルサーバーへのアクセスを試みると、AS交換で入手した資格情報とアクセス先のサーバー名を含めたKerberosチケット保証サーバー要求(TGS-REQ)を行う。


CKDCは、このリクエストが正しい資格情報を持ったクライアントからの要求と判断すると、TGS-REPレスポンスによってアクセス先サーバーの認証チケット(ST)を返信する(TGS-REP)。


Dクライアントがサービス利用チケット(ST)をファイルサーバーに提示。(AP-REQ)。

Eサーバーはクライアントからのサービス利用チケット(ST)を確認し、サービス利用チケット(ST)に、ファイルサーバーとドメインコントローラーしか暗号化できないデーターが含まれることを確認する。これにより、ファイルサーバーは、ドメインコントローラーがクライアントを正当なユーザーだと認めたことが確認し、アクセスを許可する(AP-REP)。