チケットには、チケットがどのように使用されるかを決めるプロパティーがあります。これらのプロパティーは、チケットの作成時にチケットに割り当てられます。ただし、チケットのプロパティーはあとから変更できます。たとえば、チケットを転送可能の状態から転送済みの状態に変更できます。チケットのプロパティーを表示するには、klist コマンドを使用しますKerberos チケットの表示を参照してください。
チケットは、次の 1 つまたは複数のプロパティーで表されます。
転送可能チケットは、あるホストから別のホストに送信できます。これにより、クライアントは自身を再認証する必要がなくなります。たとえば、ユーザー david がユーザー jennifer のマシン上にいる間に転送可能チケットを取得した場合、david は、新しいチケットを取得しなくても (それにより自分自身を再認証しなくても) 自分のマシンにログインできます。転送可能チケットの例については、Example 6–1 を参照してください。
初期チケットは、チケット認可チケットに基づかずに、直接発行されるチケットです。パスワードを変更するアプリケーションなどの一部のサービスは、クライアントが自身の秘密鍵を知っていることを示せるようにに、チケットに「初期」とマークするよう要求できます。初期チケットは、クライアントが最近、古くなっている可能性があるチケット認可チケットに依存することなく自身を認証したことを示します。
無効チケットは、まだ使用可能になっていない遅延チケットです。無効チケットは、有効になるまでアプリケーションサーバーから拒否されます。チケットが検証されるには、その開始時間が過ぎたあとに –VALIDATE フラグを設定して、クライアントがチケット認可サービスリクエストでそのチケットを KDC に提示する必要があります。
遅延チケットは、作成されたあと、指定された一定の時間が経過するまで有効にならないチケットです。たとえばこのようなチケットは、夜遅く実行するバッチジョブに使用するのに便利です。チケットが盗まれてもバッチジョブが実行される予定の時刻まで使用できないためです。遅延チケットは、無効チケットとして発行され、開始時間を過ぎて、クライアントが KDC による検査を要求したときに有効になります。遅延チケットは通常、チケット認可チケットの有効期限まで有効です。ただし、チケットに更新可能が指定されている場合、その最長有効期限は通常、チケット認可チケットの最長有効期限と同じに設定されます。
場合によっては、主体はサービスに、自身の代わりに操作を実行するよう許可する必要がある場合があります。プロキシの主体名は、チケットの作成時に指定する必要があります。Oracle Solaris では、プロキシ可能チケットやプロキシチケットはサポートされません。
プロキシ可能チケットは、1 つのサービスに対してのみ有効である点を除き、転送可能チケットと同じです。転送可能チケットは、サービスにクライアントの識別情報の完全な使用を許可します。したがって、転送可能チケットは一種のスーパープロキシと考えられます。
有効期限が非常に長いチケットはセキュリティーリスクになるため、チケットを更新可能として指定できます。更新可能チケットには 2 つの有効期限があります。 1 つはチケットの現在のインスタンスの有効期限で、もう 1 つは任意のチケットの最長有効期限 (1 週間) です。クライアントがチケットの使用を継続するときは、最初の有効期限が切れる前にチケットの有効期限を更新します。たとえば、すべてのチケットの最長有効期限が 10 時間のときに、あるチケットが 1 時間しか有効になれないとします。このチケットを保持するクライアントが 1 時間を超えて使用する場合は、その時間内にチケットの有効期限を更新する必要があります。チケットが最長有効期限 (10 時間) に達すると、チケットの有効期限が自動的に切れ、それ以上更新できなくなります。
チケットの属性を表示する方法については、Kerberos チケットの表示を参照してください。
主体がチケット (チケット認可チケット (TGT) を含む) を取得すると、チケットの有効期限は、次の有効期限の値の最小値として設定されます。
kinit を使用してチケットを取得する場合は、kinit の –l オプションで指定された有効期限の値。デフォルトでは、kinit は最長有効期限の値を使用します。
チケットを提供するサービス主体に対し Kerberos データベースに指定されている最長有効期限値。kinit の場合、サービス主体は krbtgt/realm です。
チケットを要求するユーザー主体に対し Kerberos データベースに指定されている最長有効期限値。
次の図は、TGT の有効期限が決定される方法と、4 つの有効期限の値が生成される場所を示しています。どの主体がチケットを取得した場合も、チケットの有効期限は同様に決定されます。2 つの違いとして、kinit が有効期限の値を提供しない点と、チケットを提供するサービス主体が krbtgt/realm 主体の代わりに最長有効期限の値を提供する点があります。
図 7-1 TGT の有効期限が決定される方法
更新可能チケットの有効期限は、次のように、4 つの更新可能な有効期限の値の最小値から決定されます。
kinit を使用してチケットを取得または更新する場合、kinit の –r オプションに指定した更新可能有効期限値。
チケットを提供するサービス主体に対し Kerberos データベースに指定されている更新可能最長有効期限値。kinit の場合、サービス主体は krbtgt/realm です。
チケットを要求するユーザー主体に対し Kerberos データベースに指定されている更新可能最長有効期限値。
チケットは主体名で識別され、主体名はユーザーやサービスを識別します。次の例は、標準的な主体名を示しています。
パスワードを変更するときに、KDC にアクセスできるマスター KDC の主体。
kclient インストールユーティリティーで使用される主体。
ftp サービスによって使用される主体。この主体は host 主体の代わりに使用できます。
Kerberos アプリケーション (klist や kprop など) およびサービス (ftp や telnet など) によって使用される主体。この主体は host またはサービス主体と呼ばれます。主体は NFS マウントの認証に使用されます。この主体はまた、クライアントが受け取った TGT が正しい KDC から発行されたものであることを確認するためにも使用されます。
マスター鍵名の主体。各マスター KDC には、1 つのマスター鍵名の主体が関連付けられます。
この主体に含まれる鍵を使用して、ほかの主体のパスワード履歴が保管されます。各マスター KDC には、これらの主体のいずれかが割り当てられます。
kadmind を使用して KDC にアクセスできるマスター KDC サーバーの主体。
Oracle Solaris リリースが動作していないクライアントからのパスワード変更要求の受け入れに使用される主体。
この主体を使用して、チケット認可チケットを生成します。
この主体は、レルム間チケット認可チケットの例です。
NFS サービスによって使用される主体。この主体は host 主体の代わりに使用できます。
クライアントの root アカウントに関連付けられた主体。この主体は、root 主体と呼ばれ、NFS がマウントされたファイルシステムへの root アクセスを提供します。
ユーザー用の主体。
KDC データベースを管理するために使用できる admin 主体。