Kerberosのアーキテクチャとチケットフロー
ASリクエスト、TGT発行、サービスチケット、相互認証に至るKerberosの全体フローをたどります。
「Kerberosのアーキテクチャとチケットフロー」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。
Kerberosの起源
Kerberosは、分散コンピューティング環境に安全なネットワーク認証を提供するため、1980年代にMITでProject Athenaの一環として開発されました。冥界を守る三つの頭を持つ犬にちなんで名付けられたKerberosは、信頼できる第三者であるKey Distribution Centerを使用して、クライアントとサービス間の相互認証を提供します。
Key Distribution Centerの構成要素
KDCには、論理的に2つの構成要素があります。Authentication Service(AS)とTicket Granting Service(TGS)です。Microsoft Active Directoryでは、どちらもドメインコントローラー上で実行されます。ASは初回ログインを処理し、Ticket Granting Ticket(TGT)を発行します。TGSは、特定のサービスにアクセスするためのサービスチケットを発行します。
ステップ1:AS-REQ(初回認証)
クライアントは、Authentication ServiceにAS-REQを送信して認証を開始します。現代のKerberosでは事前認証が必要です。クライアントは、長期鍵(パスワードから導出されます)でタイムスタンプを暗号化し、パスワードを知っていることを証明します。これにより、保護されていないAS-REQメッセージに対するオフライン辞書攻撃を防ぎます。
ステップ2:AS-REP(TGTの発行)
ASは事前認証データを検証し、AS-REPで応答します。AS-REPには、krbtgtアカウントの長期鍵(クライアントは復号できません)で暗号化されたTicket Granting Ticket(TGT)と、クライアントの長期鍵で暗号化されたセッション鍵が含まれます。クライアントは自分の部分だけを復号して、TGSセッション鍵を取得します。
ステップ3:TGS-REQ(サービスアクセスの要求)
クライアントがサービスにアクセスするときは、Ticket Granting ServiceにTGS-REQを送信します。TGS-REQには、本人確認の証拠となるTGTと、TGSセッション鍵で暗号化されたオーセンティケーターが含まれます。TGSはkrbtgt鍵でTGTを復号し、クライアントの身元を検証します。
ステップ4:TGS-REP(サービスチケットの発行)
TGSは、対象サービスの長期鍵で暗号化されたサービスチケットと、クライアント向けに暗号化された新しいセッション鍵を返します。クライアントはサービスチケットの内容を読むことはできず、自分向けに暗号化された部分だけを読み取れます。このサービスチケットが、サービスに対してクライアントの身元を証明します。
ステップ5:AP-REQ(サービスへのアクセス)
クライアントは対象サービスにAP-REQを送信します。AP-REQには、サービスチケットと、サービスセッション鍵で暗号化された新しいオーセンティケーターが含まれます。サービスは自身の長期鍵でサービスチケットを復号し、オーセンティケーターを検証してクライアントを認証します。サービスにパスワードが送信されることはありません。
Kerberosレルムとクロスレルム信頼
Kerberosレルムは、単一のKDCによって管理される管理ドメインです。クロスレルム認証は、異なるレルムのKDC間で共有されるレルム間鍵によって確立されます。Realm AのクライアントがRealm Bのサービスにアクセスすると、Realm AのKDCが紹介チケットを発行し、クライアントはそれをRealm BのKDCに提示します。
チケットの有効期間と更新
Kerberosチケットには設定された有効期間があり、通常、TGTでは10時間です。有効期間が過ぎるとチケットは期限切れとなり、新たな認証が必要になります。TGTは更新可能として設定することもできます。この場合、クライアントは認証情報を再入力せずにKDCへ新しいTGTを要求できますが、更新可能な期間には上限があります。
長期鍵とセッション鍵
Kerberosでは、2種類の鍵を使用します。長期鍵はアカウントのパスワードから導出され、認証メッセージの一部の暗号化にのみ使用されます。セッション鍵は認証交換ごとに新しくネゴシエーションされ、実際の通信セッションに使用されます。セッション鍵が漏えいしても、長期鍵が漏えいすることはありません。
Kerberosのセキュリティ特性
Kerberosは、相互認証(クライアントとサービスの双方を検証)、リプレイ攻撃防止(タイムスタンプとオーセンティケーターによる)、個々のセッションの前方秘匿性を提供します。通常の運用で、KDCが長期鍵を外部に公開することはありません。主な信頼上の前提は、KDC自体が侵害されていないことです。
Kerberosチケットの種類の確認
KerberosにおけるTicket Granting Ticket(TGT)の目的は何ですか?
レッスンのまとめ:Kerberosのチケットフロー
Kerberosは、ASとTGSのコンポーネントを備えたKDCを使用します。ログインによってTGTが生成されます(AS-REQ/AS-REP)。サービスにアクセスするには、TGTをサービスチケットと交換します(TGS-REQ/TGS-REP)。サービスチケットは対象サービスに提示されます(AP-REQ)。チケットを読み取れるのはKDCと、それぞれのサービスだけです。レルムを使用すると、レルム間の信頼によってドメインをまたいだ認証が可能になります。
AI チューターと学ぶ Cryptology Academy — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 67
- レッスン
- 261
よくある質問
「Kerberosのアーキテクチャとチケットフロー」レッスンは無料ですか?
はい。「Kerberosのアーキテクチャとチケットフロー」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。
「Kerberosのアーキテクチャとチケットフロー」で何を学びますか?
ASリクエスト、TGT発行、サービスチケット、相互認証に至るKerberosの全体フローをたどります。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cryptology Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Kerberosのアーキテクチャとチケットフロー」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCryptology Academyレッスンでコードを書いて実行できますか?
はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Kerberosのアーキテクチャとチケットフロー
- Active DirectoryとKerberosの統合
- Kerberos攻撃手法:KerberoastingとGolden Ticket
- 現代のアイデンティティ:SAML、OIDC、ハイブリッドアプローチ