Terminologie
Protože tento článek obsahuje mnoho termínů, které jsou velmi důležité pro pochopení Kerberosu a Active Directory, tak se je nejprve pokusím vysvětlit.
Principal
Principal je identita v Kerberosu. V AD tomu typicky odpovídá security principal (user/computer/service account). Pro Kerberos je podstatné, že pro daný principal existuje dlouhodobý klíč (long‑term key), ze kterého KDC vychází při vydávání ticketů.
Realm
Realm je administrativní a kryptografická doména Kerberosu. V prostředí Windows se realm obvykle mapuje na AD doménu (DNS name převedený do uppercase). Protokolový rámec Kerberos V5 je definován v RFC 4120.
KDC
KDC (Key Distribution Center) je důvěryhodná autorita, která vydává a ověřuje Kerberos tickety. V AD je KDC role součástí každého Domain Controlleru. Kerberos V5 je složen ze tří hlavních exchange (AS, TGS, AP), které RFC 4120 popisuje jako základní stavební bloky autentizace.
Ticket, TGT, service ticket
Ticket je Kerberos credential určený pro serverovou stranu. Klient ticket běžně nedokáže dešifrovat, protože ticket je šifrovaný klíčem cílové služby. TGT je speciální ticket pro službu krbtgt/REALM. Používá se jako vstup do TGS exchange. Service ticket je ticket pro konkrétní službu (typicky identifikovanou SPN).
PAC
PAC (Privilege Attribute Certificate) je Windows rozšíření, které nese autorizační data (například group membership). PAC je přenášen uvnitř Kerberos ticketu a je relevantní pro sestavení Windows access tokenu.
PAC validation
PAC validation je postup, kdy operační systém na straně serveru předá PAC (resp. PAC signature z AP‑REQ) doménovému řadiči k ověření. Microsoft v MS-APDS popisuje, že OS forwarduje PAC signature v AP‑REQ na DC v message typu KERB_VERIFY_PAC a DC vrátí výsledek zpět.
Etype
Etype (encryption type) určuje, jakým algoritmem je ticket chráněn. V AD má etype nejen kryptografický význam, ale i provozní a detekční hodnotu (baseline vs odchylky). Microsoft v Open Specifications definuje, že atribut msDS-SupportedEncryptionTypes udává etypes podporované účtem a KDC tuto informaci používá při generování service ticketu.
KVNO a msDS-KeyVersionNumber
KVNO je číslo verze klíče použitého pro šifrování/podpis. V AD odpovídá KVNO prakticky tomu, kolikrát se změnilo heslo (tedy klíčový materiál) daného účtu. Atribut msDS-KeyVersionNumber je v Microsoft dokumentaci definovaný jako “Kerberos version number of the current key for this account”. ([Microsoft Learn][5])
Model klíčů v AD Kerberos (co chrání KRBTGT a co ne)
Tato kapitola je klíčová, protože většina provozních i incidentních chyb vzniká z toho, že se zamění “klíč domény” za “klíč služby” nebo za “klíč trustu”.
KRBTGT key (doménový klíč pro TGT)
KRBTGT key je dlouhodobý klíč odvozený z hesla účtu KRBTGT v konkrétní doméně. Tento klíč používá KDC pro práci s TGT (ticket pro krbtgt/REALM). Praktický dopad je přímý: kompromitace KRBTGT key znamená kompromitaci schopnosti vytvářet/validovat TGT v dané doméně. Každá AD doména má účet KRBTGT používaný pro šifrování a podepisování TGT v doméně.
Service account key (klíč konkrétní služby)
Service ticket je šifrovaný klíčem cílové služby (service account key nebo computer account key). Reset hesla služby tedy ovlivní primárně service tickety pro tuto službu, nikoli TGT celé domény. Prakticky se to projeví typickými chybami typu “service ticket nejde rozšifrovat”, i když TGT uživatele vypadá v pořádku.
Trust secret / inter‑realm key (klíč vztahu důvěry)
Cross‑realm (cross‑domain / cross‑forest) scénáře používají pro referral flow inter‑realm key (trust secret). Tento klíč je uložený v objektu trustu (TDO). Microsoft explicitně uvádí, že key version number pro trusty je uložen v Trusted Domain Object.
Důsledek je praktický: reset KRBTGT nemění trust secret. Stejně tak reset trust secret nemění KRBTGT. To jsou dvě různé “kryptografické osy”.
RODC: oddělený KRBTGT pro kryptografickou izolaci
Read‑Only Domain Controller má vlastní specifický KRBTGT účet (krbtgt_#####) a tím i oddělený klíč. Důvodem je izolace: kompromitace RODC nemá automaticky stejný dopad jako kompromitace writable DC.