Solaris のシステム管理 (第 2 巻)

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

特定のサーバーの特定のサービスにアクセスする場合、ユーザーは 2 つの資格を取得する必要があります。最初は TGT として知られるチケット許可サービスに対する資格です。チケット許可サービスは、この資格の暗号を解除すると、ユーザーからアクセスを要求されているサーバーの資格をさらに作成します。ユーザーは、この 2 つめの資格を使用してサーバー上のサービスへのアクセスを要求します。サーバーがこの資格の暗号を解除すると、ユーザーはアクセスを許可されます。この処理を次の項とそれに続く図で説明します。

チケット許可サービスに対する資格の取得

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

  2. 認証サービスは要求を受信すると、ユーザーのプリンシパル名を KDC データベースから探します。合致するプリンシパルが見つかると、認証サービスはそのプリンシパルの非公開鍵を取得します。次に認証サービスは、クライアントとチケット許可サービスが使用するセッション鍵 (セッション鍵 1) とチケット許可サービス用のチケット (チケット 1) を生成します。このチケットはチケット許可チケット (TGT) ともいいます。セッション鍵とチケットはユーザーの非公開鍵を使って暗号化され、クライアントに返送されます。

  3. クライアントは、ユーザープリンシパルの非公開鍵を使用して、この情報からセッション鍵 1 とチケット 1 の暗号を解除します。非公開鍵を知っているのはユーザーと KDC データベースだけである必要があるため、パケットの情報は安全に保たれなければなりません。クライアントはこの情報を資格キャッシュに格納します。

通常、この処理では、ユーザーはパスワードの入力を要求されます。非公開鍵の作成で KDC データベースから取り出されたパスワードが入力したパスワードと同じであると、認証サービスから送信された情報は正しく暗号解除されます。これでクライアントは、チケット許可サービスに対して使用する資格を取得したことになります。次にクライアントはサーバーに対する資格を要求します。

図 23-2 チケット許可サービスに対する資格の取得

Graphic

サーバーに対する資格の取得

  1. 特定のサーバーにアクセスするには、クライアントがその前にサーバーに対する資格を認証サービスから取得していなければなりません (「チケット許可サービスに対する資格の取得」を参照)。次にクライアントは、チケット許可サービスに要求を送信します。この要求には、サービスプリンシパル名、チケット 1 と、セッション鍵 1 で暗号化された認証者が含まれています。チケット 1 は、チケット許可サービスのサービス鍵を使用して認証サービスによって暗号化されたものです。

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

  3. 認証が正常に終ると、チケット許可サービスは、ユーザープリンシパルとサーバーに対するセッション鍵 (セッション鍵 2) とサーバーに対するチケット (チケット 2) を生成します。セッション鍵 2 とチケット 2 はセッション鍵 1 を使って暗号化されます。セッション鍵 1 を知っているのはクライアントとチケット許可サービスだけですので、この情報は安全であり、ネットワークを介して安全に送信されます。

  4. クライアントはこの情報パケットを受信すると、前に資格キャッシュに格納したセッション鍵 1 を使用して情報の暗号を解除します。クライアントは、サーバーに対して使用する資格を取得したことになります。次にクライアントは、そのサーバーの特定のサービスにアクセスする要求を行います。

図 23-3 サーバーに対する資格の取得

Graphic

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

  1. 特定のサービスにアクセスするには、クライアントがその前に認証サーバーからチケット許可サービスの資格を、チケット許可サービスからサーバーの資格をそれぞれ取得していなければなりません (「チケット許可サービスに対する資格の取得」「サーバーに対する資格の取得」を参照)。クライアントは、チケット 2 と別の認証者を含む要求をサーバーに送信します。認証者はセッション鍵 2 を使用して暗号化されます。

  2. チケット 2 は、サービスのサービス鍵を使用してチケット許可サービスによって暗号化されています。サービス鍵はサービスプリンシパルが知っているため、サービスはチケット 2 の暗号を解除し、セッション鍵 2 を取得できます。次に、セッション鍵 2 を使用して認証者の暗号が解除されます。認証者の暗号が正しく解除されると、サーバーへのアクセスがクライアントに許可されます。

図 23-4 特定のサーバーへのアクセス権を取得

Graphic