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単一障害点: 冗長構成が必要