コンテンツにスキップ
Zenn Dev Akasara Articles 20fddf6fd5797d

Kerberos認証を『会社の入館証』で理解する — ADの裏側で何が起きているか

  • URL: https://zenn.dev/akasara/articles/20fddf6fd5797d
  • 日付: 2026-06-26
  • Tier: Tier 3
  • 要旨: Kerberos認証はWindowsのActive Directory環境でシングルサインオンを実現する仕組みで、「会社ビルの入館証システム」に例えると理解しやすい。KDC(鍵配布センター)が朝イチで発行するTGT(入館証)を使い、各サービスにアクセスするたびにサービスチケットを取得する設計で、パスワード自体はネットワークを流れない。クライアント・サーバ双方が本物かを確認する相互認証、そしてリプレイ攻撃を防ぐ認証子(現在時刻の暗号化)が核心だ。KDCが単一障害点になること、時刻同期(NTP必須)が崩れると全認証が止まること、Kerberoastingなどの攻撃手法がある点は実運用上の重要課題だ。

詳細

Kerberos認証の仕組みを「会社ビルの入館証システム」に例えて体系的に解説した記事。Active Directoryの中核技術として情報処理安全確保支援士やLPICでも頻出。

認証フロー6ステップ:

  • AS-REQ: クライアントがパスワードで暗号化した現在時刻をASへ送信(パスワード本体は流れない)
  • AS-REP: ASが鍵で復号し本人確認、TGT(KDC鍵で暗号化)とセッション鍵(ユーザー鍵で暗号化)を返す
  • TGS-REQ: TGTと認証子(セッション鍵で暗号化した現在時刻)をTGSへ提出してサービスチケット要求
  • TGS-REP: TGSがTGTを検証しサービスチケット(ファイルサーバの鍵で暗号化)と新セッション鍵を返す
  • AP-REQ: クライアントがサービスチケット+認証子をサービスへ提出
  • AP-REP(相互認証モード): サービスが認証子の時刻+1を暗号化して返し、本物のサーバと証明

主要コンポーネント:

  • KDC = AS(本人確認)+ TGS(チケット発行)、ADではドメインコントローラが担当
  • TGT有効期限: 通常10時間(ADデフォルト)
  • kinit / klist / kdestroy コマンドでLinuxからチケット管理可能

既知の脆弱性・課題:

  • Kerberoasting: サービスチケットを傍受してオフラインブルートフォース攻撃が可能
  • Pass-the-Ticket: TGT漏洩でなりすまし可能(エンドポイントのLSA Protection等で対策)
  • クロックドリフト5分超で認証失敗(NTP必須)
  • KDC単一障害点: 冗長構成が必要