Sun Enterprise Authentication Mechanism ガイド

SEAM によるサービスへのアクセス

特定のサーバー上の特定のサービスにアクセスするためには、ユーザーは 2 つの資格を取得する必要があります。1 つは、チケット許可サービス (TGT と呼ぶ) の資格です。この資格の暗号を復号化した後、チケット許可サービスはもう 1 つの資格、つまり、ユーザーがアクセスを要求しているサーバーの資格を作成します。この 2 番目の資格は、サーバー上のサービスへのアクセスを要求するために使用できます。サーバーが 2 番目の資格の暗号の復号化に成功した後、ユーザーにアクセスが許可されます。次に、このプロセスを詳細に説明します。

チケット許可サービスの資格の取得

  1. 認証プロセスを開始するには、クライアントは特定のユーザープリンシパルに対する要求を認証サーバーに送信します。この要求は暗号化されずに送信されます。この要求には機密情報は含まれていないため、暗号化の必要はありません。

  2. 認証サービスは要求を受信すると、ユーザーのプリンシパル名を KDC データベースで検索します。プリンシパルが一致した場合、認証サービスはそのプリンシパル用の非公開鍵を取得します。次に、認証サービスはクライアントとチケット許可サービスが使用するセッション鍵 (セッション鍵 1 と呼ぶ) とチケット許可サービス用のチケット (チケット 1 と呼ぶ) を生成します。このチケットがチケット許可チケット (TGT) です。セッション鍵とチケットは両方ともユーザーの非公開鍵で暗号化され、クライアントに戻されます。

  3. クライアントはユーザープリンシパルの非公開鍵でセッション鍵 1 とチケット 1 の暗号を復号化します。非公開鍵を知っているのはユーザーと KDC データベースだけであるため、パケット内の情報は安全です。クライアントはこの情報を資格キャッシュに格納します。

通常、この処理中、ユーザーはパスワードを入力する必要があります。入力したパスワードが KDC データベースに格納されている非公開鍵を構築するために使用されたパスワードと同じ場合、クライアントは認証サービスからの送信されてきた情報の暗号を復号化できます。この時点で、クライアントはチケット許可サービスと一緒に使用する資格を取得し、サーバーの資格を要求することができます。

図 7-2 チケット許可サービスの資格の取得

Graphic

サーバーの資格の取得

  1. 特定のサーバーへアクセスを要求するには、クライアントはチケット許可サービスの資格を認証サービスから取得する必要があります (「チケット許可サービスの資格の取得」を参照)。次に、クライアントはチケット許可サービスに、サービスプリンシパル名、チケット 1、セッション鍵 1 で暗号化されたオーセンティケータが入っている要求を送信します。チケット 1 はあらかじめ、認証サービスによってチケット許可サービスのサービス鍵で暗号化されています。

  2. チケット許可サービスはチケット許可サービスのサービス鍵を知っているため、チケット 1 の暗号は復号化できます。チケット 1 に入っている情報にはセッション鍵 1 が入っているため、チケット許可サービスはオーセンティケータの暗号を復号化できます。この時点で、ユーザープリンシパルはチケット許可サービスで認証されます。

  3. 認証が成功した後、チケット許可サービスは、ユーザープリンシパルとサーバー用のセッション鍵 (セッション鍵 2) とサーバー用のチケット (チケット 2) を生成します。次に、セッション鍵 2 とチケット 2 はセッション鍵 1 で暗号化されます。セッション鍵 1 を知っているのはクライアントとチケット許可サービスだけであるため、この情報のセキュリティは保護された状態で、ネットワーク上で使用できます。

  4. この情報パケットを受信すると、クライアントは資格キャッシュに格納していた情報の暗号をセッション鍵 1 で復号化します。この時点で、クライアントはサーバーと一緒に使用する資格を取得しました。これで、クライアントはそのサーバー上にある特定のサービスへのアクセスを要求することができます。

図 7-3 サーバーの資格の取得

Graphic

特定のサービスへのアクセスの取得

  1. 特定のサービスへのアクセスを要求するには、クライアントはまず認証サーバーからチケット許可サービスの資格を取得し、次にチケット許可サービスからサーバーの資格を取得する必要があります (「チケット許可サービスの資格の取得」「サーバーの資格の取得」を参照)。クライアントは、チケット 2 と別のオーセンティケータが入っている要求をサーバーに送信できます。オーセンティケータはセッション鍵 2 で暗号化されています。

  2. チケット 2 はあらかじめ、チケット許可サービスによってサービスのサービス鍵で暗号化されています。サービスプリンシパルはサービス鍵を知っているため、サービスはチケット 2 の暗号を復号化して、セッション鍵 2 を取得できます。つまり、セッション鍵 2 でオーセンティケータの暗号を復号化できます。オーセンティケータが暗号を復号化できた場合、クライアントはサービスへのアクセスが許可されます。

図 7-4 特定のサービスへのアクセスの取得

Graphic