Sun Enterprise Authentication Mechanism 1.0.1 ガイド

用語集

admin プリンシパル

形式 username/admin の名前を持つユーザープリンシパル (joe/admin など)。admin プリンシパルは通常のユーザープリンシパルよりも多くの特権 (ポリシーを変更するなど) を持つことができる。「プリンシパル名」、「ユーザープリンシパル」も参照。

FQDN

Fully Qualified Domain Name の略。たとえば、denver.mtn.acme.com (対語としては、単に denver)。

GSS-API

Generic Security Service Application Programming Interface の略。さまざまなモジュール型セキュリティサービス (SEAM も含む) のサポートを提供するネットワーク層。GSS-API はセキュリティ認証、完全性、およびプライバシのサービスを提供する。「認証」、「完全性」、「プライバシ」も参照。

host プリンシパル

さまざまなネットワークサービス (ftprcprlogin など) を提供するために (プライマリ名が host の) プリンシパルが設定されているサービスプリンシパルの特殊なインスタンス。たとえば、host/boston.eng.acme.com@ENG.ACME.COMhost プリンシパルである。「サーバープリンシパル」も参照。

KDC

Key Distribution Center (鍵発行センター)の略。3 つの Kerberos V5 コンポーネントを持つマシン。

  • プリンシパルと鍵のデータベース

  • 認証サービス

  • チケット許可サービス

各レルムは 1 つのマスター KDC を持ち、1 つまたは複数のスレーブ KDC を持つ。

Kerberos

認証サービス、当該サービスが使用するプロトコル、あるいは、当該サービスを実装するために使用されるコード。

SEAM は Kerberos V5 を元に実装された認証サービスである。

技術的には異なるが、SEAM マニュアル内では「SEAM」と「Kerberos」は同じ意味で使用される。「Kerberos」と「Kerberos V5」も同様である。

Kerberos (Cerberus とも綴る) とは、ギリシャ神話でハデスの門を守る 3 つの頭を持つどう猛な大型犬のことである。

keytab

1 つまたは複数の鍵 (プリンシパル) が入っている鍵テーブルファイル。ユーザーがパスワードを使用するのとまったく同じように、ホストまたはサービスは keytab ファイルを使用する。

kvno

Key Version Number の略。特定の鍵を生成された順番で示すシーケンス番号。最も高い kvno が最新で現在の鍵である。

NTP

Network Time Protocol の略。ネットワーク環境で正確な時間とネットワーククロック同期を管理できる University of Delaware のソフトウェア。NTP を使用すると、Kerberos 環境のクロックスキューを保守できる。

PAM

Pluggable Authentication Module の略。サービスを再コンパイルせずに複数の認証機構を使用できるようにするためのフレームワーク。PAM を使用すると、ログイン時に SEAM セッションを初期化できる。

QOP

Quality of Protection (保護特性) の略。暗号アルゴリズムを選択するために使用されるパラメータ。完全性またはプライバシのサービスとともに使用される。

stash ファイル

stash ファイルには、KDC のマスター鍵の暗号化されたコピーが入っている。この鍵は、サーバーがリブートして自動的に KDC を認証するときに、kadmindkrb5kdc のプロセスを起動する前に使用される。このファイルにはマスター鍵が入っているため、このファイルとそのバックアップは安全に保管しなければならない。暗号が解読された場合、この鍵を使用して KDC データベースにアクセスして変更される可能性がある。

SEAM

Sun Enterprise Authentication Mechanism の略。Massachusetts Institute of Technology で開発された Kerberos V5 テクノロジに基づいて開発された、ネットワーク上でユーザーを認証するためのシステム。

多くの場合、SEAM マニュアル内では「SEAM」と「Kerberos」は同じ意味で使用される。

TGS

Ticket-Granting Service (チケット許可サービス) の略。KDC のチケットを発行する部分。

TGT

Ticket-Granting Ticket (チケット許可チケット) の略。KDC が発行するチケット。このチケットを使用すると、クライアントは他のサービスのチケットを要求できる。

アプリケーションサーバー

「ネットワークアプリケーションサーバー」を参照。

完全性

ユーザー認証に加えて、転送されるデータの有効性を暗号チェックサム方式で提供するセキュリティサービス。「認証」、「プライバシ」も参照。

インスタンス

プリンシパル名の 2 番目の部分。インスタンスはプリンシパルのプライマリを修飾する。サービスプリンシパルの場合、インスタンスは必須で、ホストの完全指定ドメイン名である (host/boston.eng.acme.com など)。ユーザープリンシパルの場合、インスタンスは必要に応じて指定する。joejoe/admin は一意なプリンシパルであることに注意。「プリンシパル名」、「サービスプリンシパル」、「ユーザープリンシパル」も参照。

オーセンティケータ

オーセンティケータは、KDC からチケットとサーバーからサービスを要求するときにクライアントから渡される。オーセンティケータには、クライアントとサーバーだけが知っているセッション鍵で生成した情報が入っている。この情報は、最近生成されたものであること、つまり、トランザクションのセキュリティが保証されていることを示す。オーセンティケータはチケットとともに使用されて、ユーザープリンシパルを認証できる。オーセンティケータには、ユーザーのプリンシパル名、ユーザーのホストの IP アドレス、およびタイムスタンプが入っている。チケットとは異なり、オーセンティケータは 1 回 (通常は、サービスへのアクセス権が要求されたとき) だけ使用できる。オーセンティケータは、当該クライアントと当該サーバーのセッション鍵で暗号化される。

  1. keytab 内のエンティティ (プリンシパル名)。「keytab」 を参照。

  2. 暗号化鍵。次の 3 つのタイプがある。

    1. 非公開鍵 - プリンシパルと KDC で共有され、システムの外に配布される暗号化鍵。「秘密鍵」も参照。

    2. サービス鍵 - サービス鍵の目的は非公開鍵と同じであるが、サーバーとサービスによって使用されるところが異なる。「サービス鍵」も参照。

    3. セッション鍵 - 2 つのプリンシパル間で使用され、有効期間も単一のログインセッション期間だけに制限されている一時的な暗号化鍵。「セッション鍵」も参照。

関係

kdc.conf または krb5.conf ファイルで定義される構成変数または関係。

機構

データの認証方法と機密性を高めるための暗号化方法を指定するソフトウェアパッケージ。たとえば、Kerberos V5、Diffie-Hellman 公開鍵など。

機密性

「プライバシ」を参照。

クライアント
  • 狭義的には、ユーザーの代わりにネットワークサービスを使用するプロセス。たとえば、rlogin を使用するアプリケーション。サーバー自体が他のサーバーまたはサービスのクライアントである場合もある。

  • 広義的には、a) Kerberos 資格を受信し、b) サーバーが提供するサービスを使用するホスト。

非公式には、サービスを使用するプリンシパル。

クライアントプリンシパル

(RPCSEC_GSS API) RPCSEC_GSS のセキュリティの保護されたネットワークサービスを使用するクライアント (ユーザーまたはアプリケーション)。クライアントプリンシパル名は rpc_gss_principal_t 構造体形式で格納される。

クロックスキュー

Kerberos 認証システムを使用しているすべてのホスト上の内部システムクロックで許容される誤差の最大値。任意のホスト間の誤差がクロックスキューを超えていた場合、要求は拒否される。クロックスキューは krb5.conf ファイルで指定できる。

公開鍵暗号

各ユーザーが 2 つの鍵 (1 つは公開鍵、もう 1 つは非公開鍵) を持つ暗号化スキーマ。公開鍵暗号では、送信者は受信者の公開鍵を使用してメッセージを暗号化し、受信者は非公開鍵を使用してメッセージの暗号を複合化する。SEAM は非公開鍵システムである。「非公開鍵暗号」も参照。

更新可能チケット

チケットの有効期間が長いとセキュリティが保証されなくなるため、チケットを更新可能に設定することができる。更新可能チケットは 2 つの有効期限を持つ。1 つは、チケットの現在のインスタンスの有効期限が切れる時間で、もう 1 つは、すべてのチケットの最大有効期間である。クライアントがチケットを使用し続けたい場合、クライアントは最初の有効期限がくる前にチケットを更新する。たとえば、あるチケットが 1 時間だけ有効であり、すべてのチケットの最大有効期間が 10 時間であると仮定する。チケットを保有するクライアントが 1 時間よりも長くチケットを使用したい場合、クライアントはその時間内にチケットを更新しなければならない。すべてのチケットの有効期限が切れた場合、チケットは自動的に無効となり、更新できなくなる。

サーバー

ネットワーククライアントにリソースを提供する特殊なプリンシパル。たとえば、マシン boston.eng.acme.comrlogin する場合、そのマシンは rlogin サービスを提供するサーバーである。「サーバープリンシパル」も参照。

サーバープリンシパル

(RPCSEC_GSS API) サービスを提供するプリンシパル。形式 service@host の 形式でASCII 文字列として格納される。「host プリンシパル」、「ユーザープリンシパル」も参照。

サービス
  1. ネットワーククライアントに提供されるリソース。ほとんどの場合、複数のサーバーによって提供される。たとえば、マシン boston.eng.acme.comrlogin する場合、そのマシンは rlogin サービスを提供するサーバーである。

  2. 完全性またはプライバシなどのセキュリティサービス - 認証よりもセキュリティが強化されている。「完全性」、「プライバシ」も参照。

サービス鍵

サービスプリンシパルと KDC で共有され、システムの外に配布される暗号化鍵。「鍵」も参照。

サービスプリンシパル

Kerberos 認証を (1 つまたは複数の) サービスに提供するプリンシパル。サービスプリンシパルの場合、プライマリ名はサービスの名前 (ftp など) で、そのインスタンスはサービスを提供するシステムの完全指定ホスト名である。「host プリンシパル」、「ユーザープリンシパル」も参照。

資格

チケットとそれに一致するセッション鍵が入っている情報パッケージ。プリンシパルの識別情報を認識するために使用される。「チケット」、「セッション鍵」も参照。

資格キャッシュ

KDC から受信した資格を格納する領域 (通常はファイル)。

承認

プリンシパルがサービスを使用できるかどうか、プリンシパルがアクセスできるオブジェクト、および各プリンシパルに許可されたアクセスのタイプを決定するプロセス。

初期チケット

既存のチケット許可チケットとは別に直接発行されるチケット。一部のサービス (パスワードを変更するアプリケーションなど) は、クライアントが自分の秘密鍵を知っていることを示すために、「initial (初期)」というマークが付いたチケットを要求できる。これは、初期チケットが、クライアントが自分を認証したのが最近であることを示すためである。一方、チケット許可チケットで発行されたチケットは、長時間使用されていた可能性があることを示す。

スレーブ KDC

マスター KDC のコピーで、マスターが持つほとんどの機能を実行できる。各レルムは通常複数のスレーブ KDC (および 1 つだけのマスター KDC) を持つ。「KDC」、「マスター KDC」も参照。

セキュリティ機構

「機構」を参照。

セキュリティサービス

「サービス」を参照。

セキュリティフレーバ

「フレーバ」を参照。

セッション鍵

認証サービスまたはチケット許可サービスで生成される鍵。セッション鍵は、クライアントとサービス間のトランザクションでセキュリティが保証されるために生成される。単一のログインセッションの間だけ有効。「鍵」も参照。

代理可能チケット

サービスがクライアントの代わりにクライアントの操作を実行するするために使用するチケット。したがって、サービスはクライアントの代理として動作するといえる。代理可能チケットを使用すると、サービスはクライアントの識別情報に基づいて動作する。サービスはクライアントの識別情報を使用して、別のサービスのサービスチケットを取得できる。ただし、チケット許可チケットは取得できない。代理可能チケットと転送可能チケットの違いは、代理可能チケットは単一の操作だけに有効であることである。「転送可能チケット」も参照。

遅延チケット

遅延チケットとは、作成後から指定した時間が経過するまで有効にならないチケットのことである。このようなチケットは、真夜中に実行したいバッチジョブなどに使用すると便利である。これは、チケットが第三者に漏れたとしても、バッチジョブが実行されるまで使用できないためである。発行時、遅延チケットは無効であり、a) 起動時間が経過するまで、あるいは b) クライアントが KDC による有効性の確認を要求するまで、無効な状態が続く。遅延チケットは通常、チケット許可チケットの有効期限がくるまで有効である。しかし、「更新可能 (renewable)」というマークを付けた場合、そのチケットの有効期間はチケット許可チケットの有効期間と同じに設定される。「無効チケット」、「更新可能チケット」も参照。

チケット

ユーザーの識別情報をサーバーまたはサービスに安全に渡すために使用される情報パケット。チケットは、単一のクライアントと指定されたサーバーでの特定のサービス間で使用するときに便利である。チケットには、サービスのプリンシパル名、ユーザーのプリンシパル名、ユーザーのホストの IP アドレス、タイムスタンプ、およびチケットの有効期間を定義する値が入っている。チケットは、クライアントとサービスで使用されるランダムなセッション鍵で作成される。作成後、チケットは有効期限が切れるまで何度でも使用できる。チケットは、新しいオーセンティケータとともにあるときに、クライアントを認証するためだけに機能する。「オーセンティケータ」、「資格」、「サービス」、「セッション鍵」も参照。

転送可能チケット

クライアントがリモートホスト上で完全な認証プロセスを経過しなくても、リモートホスト上でチケットを要求するために使用できるチケット。たとえば、ユーザー davidjennifer のマシン上で転送可能チケットを獲得した場合、新しいチケットを取得しなくても (したがって、自分自身をもう一度認証しなくても)、自分独自のマシンにログインできる。「代理可能チケット」も参照。

認証

要求しているプリンシパルの識別情報を確認するプロセス。

ネットワークアプリケーションサーバー

ネットワークアプリケーション (ftp など) を提供するサーバー。1 つのレルムは複数のネットワークアプリケーションサーバーを持つことができる。

非公開鍵

各ユーザープリンシパルに与えられる鍵で、プリンシパルのユーザーと KDC だけが知っている。ユーザープリンシパルの場合、鍵はユーザーのパスワードに基づいて生成される「鍵」も参照。

非公開鍵暗号

非公開鍵暗号では、送信者と受信者は暗号化に同じ鍵を使用する。「公開鍵暗号」も参照。

秘密鍵

「非公開鍵」を参照。

プライバシ

データを送信する前に暗号化するセキュリティサービス。プライバシには、データの完全性とユーザー認証も含まれる。「認証」、「完全性」、「サービス」も参照。

プライマリ

プリンシパル名の 1 番目の部分。「インスタンス」、「プリンシパル名」、「レルム」も参照。

プリンシパル
  1. ネットワーク通信に参加する、一意に指定されたクライアント/ユーザーまたはサーバー/サービスのインスタンス。Kerberos トランザクションはプリンシパル (サービスプリンシパルとユーザープリンシパル) 間またはプリンシパルと KDC 間の対話に関わる。言い換えると、プリンシパルは、Kerberos がチケットを割り当てることができる一意のエンティティである。「プリンシパル名」、「サービスプリンシパル」、「ユーザープリンシパル」も参照。

  2. (RPCSEC_GSS API) 「クライアントプリンシパル」、「サーバープリンシパル」を参照。

プリンシパル名
  1. プリンシパルの名前。primary/instance@REALM の形式を持つ。「インスタンス」、「プライマリ」、「レルム」も参照。

  2. (RPCSEC_GSS API)「クライアントプリンシパル」 、「サーバープリンシパル」を参照。

フレーバ

従来「セキュリティフレーバ」と「認証フレーバ」は同じ意味で、フレーバは認証のタイプ (AUTH_UNIX、AUTH_DES、AUTH_KERB) を示していた。RPCSEC_GSS もまたセキュリティフレーバであるが認証の他にも完全性またはプライバシのサービスを提供する。

ホスト

ネットワークを通じてアクセス可能なマシン。

ポリシー

SEAM がインストールまたは管理されるときに使用されて、チケットの使い方を決定する規則の集合。ポリシーはプリンシパルのアクセス権、つまり、チケットのパラメータ (有効期限など) を規定できる。

マスター KDC

各レルムのメインとなる KDC。Kerberos 管理サーバー (kadmind) および認証とチケット許可デーモン (krb5kdc) が入っている。各レルムは少なくとも 1 つのマスターKDC を持たなければならない。また、認証サービスをクライアントに提供する複製 (つまり、スレーブ) KDC を複数持つことができる。

無効チケット

遅延チケットであるがまだ有効になっていないチケット。有効性が確認されるまで、アプリケーションサーバーはチケットを拒否する。有効性を確認するためには、起動後に、クライアントが KDC に TGS 要求時に VALIDATE フラグを設定したチケットを示さなければならない。「遅延チケット」も参照。

ユーザープリンシパル

特定のユーザーに属するプリンシパル。このプライマリ名はユーザー名であり、インスタンス (オプション) は対応する資格の使用目的を示す名前である (たとえば、joe または joe/admin)。ユーザーインスタンスともいう。「サービスプリンシパル」も参照。

レルム
  1. 単一の SEAM データベースと複数の KDC (Key Distribution Center) でサービスを提供している論理ネットワーク。

  2. プリンシパル名の 3 番目の部分。joe/admin@ENG.ACME.COM というプリンシパル名の場合、レルムは ENG.ACME.COM である。「プリンシパル名」も参照。