[Seminarthemen WS08/09] [ > ] [Übersicht]


1 Vorbemerkungen

Diese Seminararbeit im Rahmen des Informatik-Seminars WS2008/09 mit dem Thema „Linux und Netzwerke, Softwareentwicklung mit Eclipse“ behandelt das Protokoll Kerberos. Kerberos sorgt für die Authenti&64257;zierung eines Kommunikationspartners und erlaubt es einen Schüssel für einer weitere sichere Kommunikation auszutauschen.

In dieser Arbeit werden zuerst kurz beschreiben was unter symmetrischer und asymmetrischer Verschlüsselung verstanden wird und wie Kryptographische Protokolle notiert werden. Folgend wird das Protokoll auf dem Kerberos basiert, das Needham-Schroeder-Protokoll, und die Erweiterung durch Denning und Sacco näher beschrieben. Dannach wird wird auf das Kerberosprotokoll und einige technischen Details eingegangen. Zum Ende wird noch Kerberos mit Smartcards beschrieben.


Allgemeines

Der Name Kerberos leitet sich aus der griechischen Mythologie ab. Kerberos ist der mehrköp&64257;ge Höllenhund, welcher den Eingang zur Unterwelt bewacht. Ihn zu besiegen ist die letzte und schwierigste Aufgabe des Helden Herkules.

Das Protokoll wurde im Rahmen des „Project Athena“ ab Anfang der 80er Jahre entwickelt. „Project Athena“ war ein Projekt des Massachusetts Institute of Technology (MIT) in Cambridge. In Zusammenarbeit mit IBM und DEC sollte Strategien und Software für das Computernetz des MIT entwickelt werden. (vgl. [Gar03, S. 3&64256;])

Das Kerberos Protokoll nutzt symmetrische Verschlüsselung, „da in den USA zur Zeit der Entwicklung von Kerberos die Public-Key Verschlüsselung noch unter patentrechtlichen Beschränkungen lag.“[Eck01, S. 504] Das Protokoll basiert auf dem theoretischen symmetrischen Needham-Schroeder-Protokoll mit den Veränderungen von Denning und Sacco. (vgl. [RFC4120, S. 5])

Die ersten drei Versionen von Kerberos wurden nur für Testzwecke innerhalb des MIT genutzt. Erst Version 4 und 5 wurden weltweit in Computernetzen eingesetzt. Version 4 wurde am 24. Januar 1989 verö&64256;entlicht. (vgl. [Gar03, S. 7]) Das MIT hat das Ende von Kerberos 4 angekündigt.1 Diese Seminararbeit legt daher den Schwerpunkt auf Kerberos 5. Für eine Liste der Änderungen zwischen Version 4 und 5 sei auf [KNT91] verwiesen.

Die aktuelle Version 5 des Protokolls wird im [RFC4120] aus dem Juli 2005 de&64257;niert. Es handelt sich um einen Proposed Standard der Internet Engineering Task Force (IETF), welcher durch [RFC4537] und [RFC5021] leicht erweitert wurde. Das Protokoll ist in fast jeden größeren Computernetzwerk im Einsatz. Jedes Windows- und Applenetzwerk setzt standardmäßig auf Kerberos auf. Aber es wird auch in vielen Linux und Unix Umgebungen eingesetzt.


Anwendung

Kerberos wurde entwickelt um eine Anmeldung in einem Netzwerk zu ermöglichen. Auf klassischen Einzelrechnern lässt sich das Passwort mit einem Hashwert Vergleichen und die damit die Korrektheit überprüfen. In einem Netzwerk können solche Übertragungen abgehört werden. Es sollte daher ein Passwort nicht unverschlüsselt übertragen werden. Da sich ein Hashwert aufzeichnen und erneut senden lässt bietet es keine weitere Sicherheit. Daher ist es notwendig kryptographische Protokolle zu verwenden um einen Benutzer an einem Server anzumelden.

In Version 5 von Kerberos wurden außerdem die Funktionen für ein „Single-Sign-On“ erweitert. „Single-Sign-On“ ist ein Prinzip nachdem ein Benutzer eines Netzwerkes nur einmal sein Password eingeben muss und dann alle Dienste nutzen kann. Ein Szenario wäre die Anmeldung an einem beliebigen Arbeitsplatz im Netzwerk. Dann der Aufruf des Intranetportals der Firma. In dem Portal wird von dem Intranetserver auf die Datenbank des Customer Relationship Management (CRM) mit den entsprechenden Rechten des Nutzers zugegri&64256;en und die Daten ins Portal integriert. Dabei ist es notwendig nur einmal das Passwort bei der Anmeldung an der Arbeitsstation einzugeben.

Außerdem lässt sich mit Kerberos nicht nur die Identität des Client, sondern auch die des Servers überprüft werden. So können Angreifer nicht die Identität eines Servers vortäuschen. Zur Authentisierung können viele Protokolle Kerberos nutzen, z. B. Secure Shell (SSH), Network File System (NFS) und Lightweight Directory Access Protocol (LDAP).


Symmetrische und asymmetrische Verschlüsselung

Eine kryptographische Hashfunktion ist wie „normale“ Hashfunktionen eine surjektive Abbildung. Zusätzlich wird noch gefordert, dass die Funktion unumkehrbar ist. Es sollten also aus dem Hashwert keine Rückschlüsse auf die Eingabe möglich sein. Auch sollte eine kleine Änderung an der Eingabe, eine ganz andere Ausgabe erzeugen.

Bei Verschlüsselungsverfahren wird zwischen zwei Arten unterscheiden.

Zum einen die symmetrische Verschlüsselung. Hier existiert ein Schlüssel mit dem der Text verschlüsselt wird und mit dem gleichen Schlüssel wird der Text auch wieder in den Klartext verwandelt. In Abbildung 1 wird die Verschlüsselung und Entschlüsselung dargestellt. Verbreitet Verfahren sind Data Encryption Standard (DES), Blow&64257;sh und Advanced Encryption Standard (AES).


PIC

Abbildung 1: Darstellung der symmetrischen Verschlüsselung

Bei der asymmetrischen Verschlüsselung existiert ein Paar von einem privaten und einem ö&64256;entlichen Schlüssel. Jeder kann eine Nachricht an einen Empfänger mit dem ö&64256;entlichen Schlüssel chi&64256;rieren. Denn Klartext kann nur der Empfänger, welcher im Besitz des privaten Schlüssel ist, wiederherstellen. Hierfür müssen die beiden Schüssel in einem mathematischen Zusammenhang stehen. Dies ist oft das inverse Element in einer Gruppe NP mit der Primzahl P. In Abbildung 2 ist dies dargestellt. Verbreitete Verfahren sind RSA und Elgamal.


PIC

Abbildung 2: Darstellung der asymmetrischen Verschlüsselung

Eine digitale Signatur ist die Benutzung der asymmetrischen Verschlüsselung in der anderen Richtung. Ein Hashwert des Texts wird mit dem privaten Schlüssel verschlüsselt. Jeder kann überprüfen ob der Text wirklich von der angegebenen Person ist indem er dem er die Signatur mit dem ö&64256;entlichen Schlüssel dechi&64256;riert und mit dem Hashwert des Textes vergleicht.

Ein Zerti&64257;kat ist der ö&64256;entliche Schlüssel einer Person mit weiteren Daten, wie Name und Gültigkeitsdauer, welches von einer vertrauenswürdigen Instanz digital signiert wurde.


Notation

Für die Darstellung der kryptographischen Protokolle wird eine Notation ähnlich wie in den Verö&64256;entlichungen [NS78], [DS81] und [NT94] benutzt.

Eine Nachricht (M) von Alice (A) zu Bob (B) wird als A B : M geschrieben. Der geheime symmetrische Schlüssel von Alice wird als KA geschrieben. Wenn eine Nachricht bestehend aus der Sequenz C, D mit KA verschlüsselt ist wird {C, D}KA notiert. NA bezeichnet eine Zufallszahl, welche anfangs nur A bekannt ist und wird als Nouce bezeichnet. Wenn der Angreifer Eve (X) eine Nachricht im Namen von A sendet wird XA B : M geschrieben.

Mit KA wird ein symmetrischer Schlüssel bezeichnet. Der ö&64256;entliche Teil des asymmetrischen Schlüssels wird als kA geschrieben und der private Teil als kA1.


[Seminarthemen WS08/09] [ > ] [Übersicht]