Cryptography Reference
In-Depth Information
22.3.2
Vollständiges Kerberos-Protokoll
In der beschriebenen Form bietet Kerberos keine Trennung zwischen Master-
schlüssel und Sitzungsschlüssel. Dadurch wird eine Known-Key-Attacke recht
einfach: Wenn Mallory in den Besitz des Schlüssels
KAK
gelangt, dann kann er
jede vergangene und zukünftige Kommunikation zwischen Alice und dem Ziel-
server entschlüsseln, da er mithilfe von
KAK
jeden Schlüssel
KAZ
ermitteln kann.
Es ist also keine Perfect Forward Secrecy gegeben. Um diesen Mangel zu beheben,
sieht das vollständige Kerberos-Protokoll vor, dass es neben dem Kerberos-Server
einen weiteren Authentifizierungsserver gibt. Die Idee ist, dass der Schlüssel
KAK
, den Alice mit dem Kerberos-Server gemeinsam hat, nur selten zum Einsatz
kommt und besonders geschützt ist (etwa durch eine Smartcard), wodurch er für
Mallory besonders schwer zu ermitteln ist. Zusätzlich gibt es einen weiteren
Schlüssel, der zur Übertragung von
KAZ
dient und der regelmäßig gewechselt
wird. Wenn Mallory in den Besitz dieses zusätzlichen Schlüssels gelangt, richtet
dies keinen Flurschaden an.
Der zusätzliche Authentifizierungsserver wird als
Ticket-Granting Server
(
TGS
) bezeichnet. Innerhalb eines Netzwerks kann es sogar mehrere Ticket-
Granting Server geben, an dieser Stelle begnügen wir uns jedoch mit einem. Wei-
terhin gehen wir davon aus, dass Alice und der Kerberos-Server den gemeinsa-
men Schlüssel
KAK
besitzen. Der Kerberos-Server hat mit dem TGS den Schlüssel
KTK
gemeinsam, und der Zielserver besitzt mit dem TGS den gemeinsamen
Schlüssel
KZT
. Weitere Schlüssel (
KAT
und
KAZ
) werden während des Protokoll-
ablaufs per Zufallsgenerator generiert.
Das Kerberos-Protokoll hat nur einen Sinn, wenn es außer Alice weitere
Anwender und außer dem Zielserver weitere Anwendungsserver gibt. Ziel des
Protokolls ist es, Alice und den Zielserver mit einem gemeinsamen Schlüssel
KAZ
zu versorgen. Im Vergleich zum vereinfachten Kerberos-Protokoll sieht die im
Folgenden beschriebene vollständige Variante zum einen den zweiten Authentifi-
zierungsserver TGS sowie einige weitere Feinheiten (z.B. Zeitstempel, Nachrich-
tennummern, Tickets mit beschränkter Gültigkeitsdauer) vor. Eine Kommunika-
tion hat folgenden Ablauf:
1.
Alice
Alice sendet eine Initialisierungsnachricht an den Kerberos-Server, in der sie
ihren Namen und die Kennung eines TGS angibt.
t
1
ist ein Zeitstempel,
n
1
ist
eine fortlaufende Nummer.
→
Kerberos-Server
:
<
Alice, TGS, t
1
, n
1
>
2.
Kerberos-Server
Alice
:
<
Alice
,
E
KTK
(
Alice
,
TGS
,
KAT
,
Gültigkeitszeit-
raum
),
E
KAK
(
TGS
,
KAT, Gültigkeitszeitraum
)>
→
Der Kerberos-Server generiert den Schlüssel
KAT
, den Alice und der TGS ge-
meinsam haben sollen.
E
KTK
(
...
) ist ein SSO-Ticket (Ticket-Granting Ticket).
Es ist für den TGS lesbar, da dieser den Schlüssel
KTK
kennt. Das Ticket-
Granting Ticket enthält einen Gültigkeitszeitraum, um zu verhindern, dass
Alice es vor der Verwendung längere Zeit aufbewahrt.