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

SEAM 技術

この節では、この後の SEAM の説明で使用される用語とその定義について説明します。SEAM の説明を理解するには、これらの用語を理解しておく必要があります。

Kerberos 固有の用語

KDC 管理の節を理解するには、次の用語を理解してください。

「Key Distribution Center」または「KDC」は、資格の発行を担当する SEAM の一部分です。資格は、KDC データベースに格納されている情報に基づいて作成されます。各レルムには少なくとも 2 つの KDC が必要です (マスターと少なくとも 1 つのスレーブ)。資格はすべての KDC が生成できますが、KDC データベースを変更できるのはマスターだけです。

KDC のマスター鍵を暗号化したコピーは「stash ファイル」に入っています。サーバーがリブートされると、この鍵を使用して KDC が自動的に認証されてから kadmindkrb5kdc が起動されます。このファイルにはマスター鍵が入っているため、このファイルやそのバックアップは安全な場所に保管する必要があります。暗号が破られると、この鍵を使用して KDC データベースのアクセスや変更が可能になります。

認証固有の用語

認証プロセスを理解するには、次の用語の理解が必要です。プログラマやシステム管理者はこれらの用語に精通していなければなりません。

「クライアント」とは、ユーザーのワークステーションで動作しているソフトウェアです。クライアント上で動作する SEAM ソフトウェアは、このプロセスの間に多くの要求を行います。したがって、このソフトウェアの動作とユーザーの操作を区別することが大切です。

サーバーとサービスはしばしば同じ意味で使われます。正確にいえば、「サーバー」は SEAM ソフトウェアが動作している物理システムであり、「サービス」はサーバー上でサポートされている特定の機能 (ftpnfs など) です。サーバーがサービスの一部として使用されることがよくありますが、これはこれらの用語の意味をあいまいにします。したがって、サーバーは物理システムを、サービスはソフトウェアをそれぞれ指すことにします。

SEAM 製品には 3 種類の鍵があります。1 つは「非公開鍵」です。この鍵は各ユーザー (プリンシパル) に与えられ、プリンシパルのユーザーと KDC だけに知られています。ユーザープリンシパルに対しては、鍵はユーザーのパスワードに基づいています。サーバーとサービスに対する鍵は「サービス鍵」と呼ばれます。この鍵は非公開鍵と同じ目的で使われますが、これはサーバーとサービスによって使用されます。3 つめの鍵は「セッション鍵」です。この鍵は、認証サービスまたはチケット許可サービスによって生成されます。セッション鍵は、クライアントとサービス間のトランザクションのセキュリティを保護するために生成されます。

「チケット」は、ユーザーの識別情報をサーバーやサービスに安全に渡すために使用される情報パケットです。チケットは、単一のクライアントと特定のサーバーの特定のサービスだけに有効です。チケットには、サービスのプリンシパル名、ユーザーのプリンシパル名、ユーザーのホストの IP アドレス、タイムスタンプ、チケットの有効期限を定義する値などが入っています。チケットは、クライアントとサービスによって使用されるランダムセッション鍵を使用して作成されます。チケットは、作成されてから有効期限が過ぎるまで再使用できます。

「資格」は、対応するセッション鍵とチケットをもつ情報パケットです。一般に資格は、資格を暗号化するものに応じて、非公開鍵かサービス鍵を使用して暗号化されます。

「認証」はさらに別のタイプの情報です。これをチケットとともに使用すれば、ユーザープリンシパルを認証できます。認証には、ユーザーのプリンシパル名、ユーザーのホストの IP アドレス、タイムスタンプが含まれています。チケットとは異なり、認証は一度しか使用できません。認証を使用するのは、通常、サービスへのアクセスが要求されたときです。認証は、そのクライアントとそのサーバーのセッション鍵を使用して暗号化されます。