Ticket-Granting チケット

Kerberos プロトコルがもともと設計されているため、ユーザーのマスターキーは、ユーザーによって指定されたパスワードから派生しました。 ユーザーがログオンすると、ユーザーのワークステーション上の Kerberos クライアントは、ユーザーからのパスワードを受け入れ、一方向の ハッシュ 関数を介してテキストを渡すことによって、暗号化キーに変換します。 結果として得られるハッシュは、ユーザーの マスターキーでした。 クライアントはこの マスターキー を使用して、KDC から受信した セッションキー の暗号化を解除しました。

元の Kerberos 設計の問題点は、クライアントが KDC からセッションキーを復号化するたびに、ユーザーのマスターキーが必要になることです。 つまり、クライアントは、すべてのクライアント/サーバー交換の開始時にユーザーにパスワードの入力を求める必要があります。または、クライアントがユーザーのキーをワークステーションに保存する必要があります。 ユーザーの侵入が頻繁に中断されることはあまりありません。 キーをワークステーションに格納すると、ユーザーのパスワードから派生したキーを侵害する危険性があります。これは長期間のキーです。

この問題に対する Kerberos プロトコルの解決策は、クライアントが KDC から一時キーを取得することです。 この一時キーは、この ログオンセッションに対してのみ有効です。 ユーザーがログオンすると、クライアントは、他のサービスのチケットを要求するのと同じように、KDC のチケットを要求します。 KDC は、ログオンセッションキーと、特別なサーバーのチケット (KDC の完全なチケット保証サービス) を作成することによって応答します。 ログオンセッションキーの1つのコピーがチケットに埋め込まれ、チケットは KDC のマスターキーで暗号化されます。 ログオンセッションキーの別のコピーは、ユーザーのログオンパスワードから派生したユーザーのマスターキーで暗号化されます。 チケットと暗号化されたセッションキーの両方がクライアントに送信されます。

クライアントは、KDC の応答を取得すると、ユーザーのパスワードから派生したユーザーのマスターキーを使用してログオンセッションキーを復号化します。 クライアントは、ユーザーのパスワードから派生したキーを必要としなくなりました。これは、クライアントがログオンセッションキーを使用して、KDC から取得した任意のサーバーセッションキーのコピーを復号化するためです。 クライアントは、KDC の完全なチケット保証サービスのチケットと共に、ログオンセッションキーをチケットキャッシュに格納します。

チケット保証サービスのチケットは、チケット保証チケット (TGT) と呼ばれます。 クライアントは、サーバーにチケットを要求するときに、他のサービスに資格情報を提示するのと同じように、認証子メッセージとチケット (この場合は TGT) の形式で 資格情報 を提示します。 チケット保証サービスは、そのマスターキーを使用して TGT を開き、このクライアントのログオンセッションキーを抽出し、ログオンセッションキーを使用して、サーバーのセッションキーのクライアントのコピーを暗号化します。