Grundlagen der Kryptographie Die Kryptographie, aus dem Altgriehishen Geheimshrift abgeleitet, ist die Wissenshaft der Vershlüsselung von Nahrihten. Ursprünglih in der Antike eingesetzt, um diplomatishen und militären Briefwehsel geheim zu halten, entwikelte sih die Kryptographie zu einer unverzihtbaren Wissenshaft im heutigen digitalen Informationszeitalter. Neben des ursprünglihen Ziels der Geheimhaltung von Informationen gibt es heutzutage diverse Shutzziele für die Siherheit von IT-Systemen. Grundlage ist das Kommunikationsystem, welhes für alle Kommunikationsarten zwishen zwei Parteien zutri t (siehe Abbildung 1). Die klassishen Protagonisten sind Alie und Bob, die Nahrihten austaushen. Ein Angreifer meist Eve, Mallory oder Oskar genannt, wirkt auf den Kommunikationskanal zwishen A und B ein. Je nah Stärke des Angreifers kann er passiv, die Daten abhören oder aktiv in das Geshehen eingreifen, indem er gesendete Daten manipuliert, selbst Nahrihten shikt und verhindert, dass gesendete Nahrihten bei dem Empfänger ankommen. Oskar (O) Abbildung 1: Modell des Kommunikationssystems Alie (A)? - Bob (B) Durh kryptographishe Mehanismen (niht nur Vershlüsselung) können nun diverse Shutzziele adressiert werden: Vertraulihkeit. Nahrihten zwishen A und B können niht von O gelesen werden.
8 mihael braun Integrität. Nahrihten zwishen A und B werden niht verändert, bzw. A und B können erkennen, ob Daten verändert wurden. Nahrihtenauthentizität. B kann Nahrihten, welhe von A gesendet wurden, zweifelsfrei A zuordnen. Teilnehmerauthentizität. B kann die Identität des aktuellen Kommunikationspartners A zweifelsfrei feststellen. Verbindlihkeit. B kann Nahrihten, die von A gesendet werden, zweifelsfrei einer dritten Partei als Nahrihten von A nahweisen. Die kryptographishen Methoden mit welhen man diese Shutzziele siherstellen kann, werden in zwei Kategorien eingeteilt: in symmetrishe und asymmetrishe Verfahren. Bei dem symmetrishen Ansatz besitzen beide Parteien A und B denselben geheimen Shlüssel k, welher vorab über einen vertraulihen und authentishen Kanal ausgetausht werden muss. Bei dem asymmetrishen Ansatz hingegen besitzt jeder Teilnehmer A und B ein eigenes Shlüsselpaar (e, d), bestehend aus einem ö entlihen Shlüssel e und einem dazugehörigen privaten Shlüssel d. Der ö entlihe Shlüssel eines Teilnehmers wird vor dem eigentlihen Nahrihtenaustaush über einen authentishen Kommunikationskanal an den entsprehenden Kommunikationsteilnehmer übermittelt. Im Gegensatz zum symmetrishen Ansatz muss die Übertragung des ö entlihen Shlüssel niht geheim sein. Aufgrund dieser Eigenshaft werden asymmetrishe Verfahren auh als Publi-Key-Verfahren bezeihnet. Wir betrahten nun einige rudimentäre Protokolltypen für symmetrishe und asymmetrishe Verfahren, um die genannten Shutzziele zu erreihen. Symmetrishe Vershlüsselung Sei en ein symmetrisher Vershlüsselungsalgorithmus mit dazugehöriger Entshlüsselung de, d.h. für alle Klartexte m und alle Shlüssel k gilt die Bedingung de(k, en(k, m)) = m. Ein vertrauliher Nahrihtenaustaush von A nah B ergibt sih also wie folgt:
publi-key-algorithmen 9 A Shlüssel: k := en(k, m) B Shlüssel: k m Õ := de(k, ) Abbildung 2: Symmetrishe Vershlüsselung Mittels symmetrisher Vershlüsselung wird das Shutzziel der Vetraulihkeit realisiert. Beispiele symmetrisher Vershlüsselungsalgorithmen mit untershiedliher Bitlänge sind die Blokhi ren DES (Luzifer) bzw. 3DES, AES (Rijndael), Blowfish, Serpent oder Twofish. Message-Authentiation-Code (MAC) Ein MAC-Algorithmus ma bestimmt bei Eingabe eines symmetrishen Shlüssels k und einer Nahriht m einen kurzen (möglihst) eindeutigen Wert t := ma(k, m) fester Länge, welher harakteristish für die Nahriht m ist. Wie der Name sagt, möhte man also mit einem MAC die Nahrihtenauthentizität feststellen. Da unendlih viele Nahrihten auf eine endlihe Menge von Werten einer festen Länge abgebildet werden können, gibt es nah dem Shubfahprinzip (oder auh Taubenshlagprinzip genannt), Kollisionen. Mit dem gleihen Shlüssel k gibt es zwei Nahrihten m und m Õ mit ma(k, m) =ma(k, m Õ ).Dasihdies mathematish niht vermeiden lässt, muss der MAC-Algorithmus so entworfen werden, dass solhe Kollisionen nur mit einer ausreihend niedrigen Wahrsheinlihkeit entstehen. Das Protokoll zur Überprüfung der Nahrihtenauthentizität mit einem MAC- Algorithmus sieht nun wie folgt aus. Beide Seiten benötigen denselben geheimen Shlüssel k. Algorithmen zur Berehnung eines Message-Authentiation- Codes basieren meist auf Hashfunktionen oder Blokhi ren. Symmetrishes Challenge-Response-Protokoll Bei einem solhen Protokoll geht es darum, dass ein Kommunikationspartner B gegenüber dem anderen Teilnehmer A nahweist, dass er im Besitz eines geheimen Shlüssels ist ohne explizit den
10 mihael braun A Shlüssel: k t := ma(k, m) m,t B Shlüssel: k t Õ := ma(k, m) if t Õ = t then aept else rejet Abbildung 3: Message- Authentiation-Code (MAC) geheimen Shlüssel zu verraten. Dies dient dem Teilnehmerauthentizität. Der Teilnehmer B zeigt, dass er den für ihn vorgesehenen geheimen Shlüssel k kennt. Die Idee dieser Challenge-Response- Protokolle basiert darauf, dass A dem Teilnehmer B eine sogenannte Challenge shikt, für die B die korrekte Respone r mit Hilfe des geheimen Shlüssels k berehnen kann. Es wird dabei angenommen, dass r aus auh nur mit dem dazugehörigen Shlüssel k berehnet werden kann. Es gibt mehrere Varianten für Challenge-Reponse-Protokolle. Beispielsweise kann eine symmetrishe Chi re oder ein MAC-Algorithmus verwendet werden. Im folgenden Protokoll wird eine Vershlüsselungs- und Entshlüsselungsroutine verwendet. A Shlüssel: k hoose random Õ := de(k, r) if Õ = then aept else rejet r B Shlüssel: k r := en(k, ) Abbildung 4: Symmetrishes Challenge-Response- Verfahren Asymmetrishe Vershlüsselung Wie bereits erwähnt besitzt ein Kommunikationsteilnehmer B ein Paar (e, d) bestehend aus dem ö entlihen Shlüssel e und dem privaten Shlüssel d. Der ö entlihe Shlüssel e wird vor Beginn der eigentlihen vertraulihen Kommunikation dem
publi-key-algorithmen 11 zweiten Kommunikationsteilnehmer A mitgeteilt. Dabei muss beahtet werden, dass der Shlüssel manipulationsgeshützt an A übermittelt wird. Der vertraulihe Nahrihtenaustaush von A nah B geshieht dann wie folgt: A B Shlüssel: (e, d) := en(e, m) e m Õ := de(d, ) Abbildung 5: Asymmetrishe Vershlüsselung Die verwendete Vershlüsselung bzw. Entshlüsselung erfüllen für alle Klartexte m die Eigenshaft de(d, en(e, m)) = m. Die Grundidee des asymmetrishen Ansatzes besteht darin, dass man den ö entlihen Shlüssel e auf niht vertraulihen Wege verbreiten kann. Diese Eigenshaft impliziert, dass man mittels e keine Klartexte aus Geheimtexte berehnen kann und dass man aus e auh niht den privaten Shlüssel d gewinnen kann. Asymmetrishe Vershlüsselungsverfahren sind beispielsweise RSA, ElGamal, oder ElGamal-Varianten auf Basis elliptisher Kurven. Digitale Signatur Das Analogon eines MACs für die asymmetrishe Situation ist die so genannte digitale Signatur. Der Kommunikationsteilnehmer A besitzt das asymmetrishe Shlüsselpaar (e Õ, d Õ ). Zunähst übermittelt A an den Kommunikationsteilnehmer den ö entlihen Shlüssel e Õ. Anshließend signiert A eine Nahriht m mittels eines Signaturalgorithmus sign und mittels des eigenen privaten Shlüssels d Õ. Anshließend wird die Signatur s zusammen mit der Nahriht m an den Teilnehmer B gesendet. Dieser kann nun mittels des Verifikationsalgorithmus verify und mittels des ö entlihen Shlüssels e Õ von A überprüfen, ob die Nahriht m wirklih von A erstellt wurde. Dieses Verfahren setzt voraus, dass man mit dem ö entlihen Shlüssel keine korrekte digitale Signatur erstellen kann oder aus dem ö entlihen Shlüssel niht den dazugehörigen privaten Shlüssel generieren kann. Beispiels für Digitale Signaturverfahren
12 mihael braun A Shlüssel: (e Õ, d Õ ) s := sign(d Õ, m) m,s B v := verify(e Õ, m, s) if v = true then aept else rejet Abbildung 6: Digitale Signatur sind RSA-Signatur, Digital Signature Algorithm (DSA) oder auh die elliptishe Kurvenvariante EC-DSA. Neben der Nahrihtenauthentizität und Integrität kann man mit einer digitalen Signatur auh das Shutzziel Verbindlihkeit realisieren, da nur der Besitzer des privaten Shlüssels eine gültige Signatur erzeugen kann. Asymmetrishes Challenge-Response-Protokoll Ähnlih der symmetrishen Variante geht es bei dem Challenge- Response-Protokoll hier darum, nahzuweisen, dass man in Besitz des privaten Shlüssels ist, ohne diesen direkt an den Kommunikationspartner zu übermitteln. Der erste Teilnehmer A übermittelt eine zufällige Challenge, auf die der zweite Teilnehmer mit einer entsprehenden Response antwortet. Die gültige Response kann dabei nur mit dem korrekten privaten Shlüssel von B berehnet werden. Anshließend verifiziert A die erhaltene Reponse mit dem ö entlihen Shlüssel von B. Das folgende Protokoll zeigt eine Variante mit einem asymmetrishen Vershlüsselungsverfahren.
publi-key-algorithmen 13 A B Shlüssel (e, d) hoose random r Õ := en(e, r Õ ) if r Õ = r then aept else rejet e r r := de(d, ) Abbildung 7: Asymmetrishes Challenge-Response- Verfahren