Public-Key-Kryptosystem Zolbayasakh Tsoggerel 29. Dezember 2008 Inhaltsverzeichnis 1 Wiederholung einiger Begriffe 2 2 Einführung 2 3 Public-Key-Verfahren 3 4 Unterschiede zwischen symmetrischen und asymmetrischen Kryptosystem 3 4.1 Andere Vor- und Nachteile................................ 4 5 Einwegfunktionen 4 5.1 Einwegfunktionen mit Falltür.............................. 5 6 Diffie-Hellman-Schlüsselaustausch 5 6.1 Diffie-Hellmann-Problem................................. 5 7 Diskreter Logarithmus 6 7.1 Mathematische Details zum diskreten Logarithmus.................. 6 7.2 Sicherheit......................................... 6 8 Massey-Omura- Kryptosystem 7 8.1 Ablauf........................................... 7 8.2 Sicherheitsbetrachtungen................................. 7 1
1 Wiederholung einiger Begriffe Symmetrisches Kryptosystem verwendet zum Verschlüsseln und Entschlüsseln den gleichen geheimen Schlüssel. Beispiele sind: Monoalphabetische Chiffren, darunter Skytale, Cäsar- Chiffren Polyalphabetische Chiffren: Vigenère-Chiffre Bei asymmetrischem Kryptosystem besitzt jeder Teilnehmer einen privaten bzw. geheimen und einen öffentlichen bzw. nicht geheimen Schlüssel. 2 Einführung In meinem Vortrag behandle ich die Themen Unterschied zwischen symmetrischen und asymmetrischen Verschlüsselungsverfahren Einwegfunktionen Diffie-Hellman-Schlüsseltauschverfahren Massey-Omura-Kryptosystem Es geht bei mir darum, die Entwicklung der Systeme zu verstehen. Die Kryptosysteme wurden von Zeit zu Zeit verbessert und somit wurden die Fehler des vorhergehenden Verfahrens behoben. In einem symmetrischen Verfahren benötigen je zwei Teilnehmer einen geheimen Schlüssel, der nur diesen beiden Teilnehmern bekannt sind. Die geheime Information muss vor allen anderen Teilnehmer und insbesondre vor dem Angreifer, geheim gehalten werden. Die Nachteile dieses Systems sind: zwei Personen können nicht spontan miteinander kommunizieren.sie müssen zuerst miteinander den geheimen Schlüssel erzeugen Jeder muss mit jedem Teilnehmer des Kommunikationsnetzwerkes einen gemeinsamen geheimen Schlüssel besitzen Sender und Empfänger müssen sich gegenseitig darin vertrauen, dass keiner der beiden den geheimen Schlüssel preisgibt. 1976 W. Diffie und M. Hellmann veröffentlichten das Konzept der asymmetrischen Kryptografie oder auch Public-Key-Kryptosystem, System mit öffentlichem Schlüssel, sodass es nicht mehr des gemeinsamen geheimen Schlüssels nötig war. Man braucht um die geheime Nachricht zu erzeugen den öffentlichen Schlüssel des Empfängers, wie zum Beispiel eine öffentliche Telefonnummer, die jeder im Telefonbuchverzeichnis nachschauen kann, und zum Verschlüsseln der Nachricht braucht der Empfänger seinen privaten Schlüssel, den nur er kennt. Das Schlüsselaustauschproblem wurde durch Diffie-Hellmann-Schlüsselaustausch, ein asymmetrisches System, behoben. Ein Vorteil hat Massey-Omura-System im Gegensatz zu Diffie-Hellmann-Schlüsselaustausch, dass man keinen öffentlichen Schlüssel mehr benötigt. 2
3 Public-Key-Verfahren In der Datensicherheit sind meist die Ver- und Entschlüsselungsfunktion nicht geheim, nur der Schlüssel. Schlüssel ist leichter zum geheim halten, weil bei Konstruktion eines Algorithmus zu viele Personen beteiligt sind, sodass die Wahrscheinlichkeit, dass das Geheimnis an die Öffentlichkeit kommt, sehr hoch ist. Nichtsdestotrotz Wegfallen vom geheimen Schlüsselaustausch ist vorteilhafter. Für 100 Personen, die miteinander kommunizieren wollen, bräuchte man 4950 Schlüssel, da jede Person mit jedem der 99 Partner einen speziellen geheimen Schlüssel vereinbaren muss. Bei genauerer Betrachtung braucht der Empfänger eine geheime Information um die Nachricht entschlüsseln zu können, aber dem Sender die gleiche geheime Information bekannt sein muss, ist nicht notwendig. Bei einem Public-Key-Kryptosystem hat jeder Teilnehmer zwei Schlüssels: einen öffentlichen (nicht geheimen) Schlüssel E (enciphering) um die Nachricht zum verschlüsseln und einen privaten (geheimen) Schlüssel D (deciphering) zum entschlüsseln. m= Klartext, c= Geheimtext Damit ergeben sich zwei Anforderungen: c = E(m) D(c) = D(E(m)) = m 1. Eindeutige Entschlüsselung: D(E(m)) = m Die Schlüssel müssen in dem Sinne so ausgewählt werden, dass der privater Schlüssel die Wirkung von dem öffentlichen Schlüssel aufhebt. 2. Es soll unmöglich sein aus der Kenntnis des öffentlichen Schlüssels auf den privaten Schlüssel zu schließen. Wenn diese beiden Eigenschaften erfüllt sind, spricht man von einer Public-Key-Verschlüsselungsverfahren. Ein bedeutender Teil der asymmetrischen Kryptografie sind die Einwegfunktionen. Die wichtigsten Vertreter sind: RSA-Algorithmus Diffie-Hellmann-Schlüsselvereinbarung ElGamal-Verschlüsselung Massey-Omura-Kryptosystem. 4 Unterschiede zwischen symmetrischen und asymmetrischen Kryptosystem Symmetrische Algorithmen vs. Asymmetrische Algorithmen sehr viele Anzahl sehr wenige schnell, kurz Performance langsam, lang ja vorheriger Schlüsselaustausch notwendig nein nein Möglichkeit der digitalen Signatur ja Verschlüsselung typisches Einsatzgebiet Schlüsselaustausch, Signaturen 1. Es gibt sehr wenige Public-Key-Verschlüsselungsverfahren, die die erforderlichen Eigenschaften erfüllen Wenn sich herausstellen sollte, dass ein Public-Key-Verfahren nicht korrekt ist, kann man im Unterschied zu den symmetrischen Verschlüsselungsverfahren nicht leicht auf eine Alternative zurückgreifen. 3
2. Bis heute bekannten Verfahren zur asymmetrischen Verschlüsselung sind wegen der Arithmetik großer Zahlen sehr langsam, wohingegen sich die symmetrischen Verfahren sehr effizient implementieren lassen. Daher verwendet man in der Praxis so genannte Hybridverfahren(Mischverfahren), die die jeweiligen Vorteile der symmetrischen und asymmetrischen Kryptografie kombinieren. Zum Beispiel verschlüsselt man nur den relativ kurzen symmetrischen Schlüssel zu übertragen. 3. In asymmetrischen Verfahren braucht man zum Verschlüsseln keine geheime Information, sondern nur einen öffentlichen Schlüssel des beabsichtigten Empfängers. Aber in symmetrischen Verfahren: (a) Wenn es N Teilnehmer gibt, so muss jeder Teilnehmer N-1 Schlüssel geheim halten (b) Wenn ein neuer Teilnehmer hinzukommt, müssen alle Teilnehmer ihre Schlüsseldatei aktualisieren (c) Sender und Empfänger müssen sich gegenseitig darin vertrauen, dass keiner den gemeinsamen Schlüssel preisgibt 4. Es gilt D(E(m) = m. Wenn E(D(m)) = m zusätzlich gilt, kann man das asymmetrische Verfahren auch als digitales Signaturverfahren verwenden. 4.1 Andere Vor- und Nachteile Grundsätzlich hat jedes Public-Key-Verfahren noch ein Problem. Der Sender muss einwandfrei feststellen können, dass der öffentliche Schlüssel, den er zum Verschlüsseln benutzt, wirklich dem Empfänger gehört. Aber dieses Problem lässt sich leicht beheben, nämlich mit digitalen Signatur. Schwächen haben die asymmetrischen Algorithmen in dem Fall, in dem eine verschlüsselte Nachricht an mehrere Empfänger zugestellt werden soll. Da eine Verschlüsselung immer mit dem öffentlichen Schlüssel des Empfängers (und nicht des Senders) erfolgt, müsste die Nachricht für jeden Empfänger einzeln verschlüsselt und versandt werden. In der Praxis wird dieses Problem ebenfalls mittels hybrider Verfahren umgangen. Ein anderes Problem ist, dass die Sicherheit vieler asymmetrischer Kryptosystem auf unbewiesenen Annahmen beruht. Es wird lediglich stark vermutet, dass die den verschiedenen Verfahren zugrundeliegenden Einwegfunktionen nur mit enormem Rechenaufwand umkehrbar sind. Es kann also nicht ausgeschlossen werden, dass noch unbekannte Algorithmen existieren, die die Umkehrung der Einwegfunktionen mit vertretbarem Aufwand leisten. 5 Einwegfunktionen Seien X und Y Mengen. Eine injektive Funktion f: X Y heißt eine Einwegfunktion (one way function), falls man für jedes x X den Funktionswert y = f(x) berechnen, aber für jedes beliebig vorgegebene y Bild f Y, das Urbild f 1 (y) = x in vertretbarer Zeit nicht finden kann. Dies soll nur in allgemein unbekannter Zusatzinformation möglich sein. Es ist unbekannt, ob Einwegfunktionen existieren. Als Kandidaten gelten: die kryptographischen Hash-Funktionen die Multiplikation zweier Primzahlen bzw. zweier ganzer Zahlen ist einfach, während die Umkehrung, die Primfaktorzerlegung, schwer ist die Berechnung der n-ten Potenz eines Elementes einer endlichen Gruppe ist bei geeigneter Wahl der Gruppe einfach, während das Auffinden eines Exponenten durch Berechnung des diskreten Logarithmus aufwändig ist. Auf Einwegfunktionen beruht die Sicherheit der Public-Key-Verfahren. 4
5.1 Einwegfunktionen mit Falltür Eine Variante der Einwegfunktionen sind Trapdoor-Einwegfunktionen, auch Falltürfunktionen genannt. Diese lassen sich nur dann effizient umkehren, wenn man eine gewisse Zusatzinformation besitzt. Beispiel mit Briefkasten: Jeder kann einen Brief einwerfen. Das Herausholen ist dagegen sehr schwierig-es sei denn, man ist im Besitz des Schlüssels. 6 Diffie-Hellman-Schlüsselaustausch Diffie-Hellman-Schlüsselaustausch ist ein Protokoll, mit dem zwei Kommunikationspartner einen geheimen Schlüssel, den nur diese beiden kennen, erzeugt. Dieser Schlüssel wird üblicherweise verwendet, um verschlüsselte Nachrichten mittels eines symmetrischen Kryptosystems zu übertragen. 1. Die Kommunikationspartner einigen sich zunächst auf eine Primzahl p und eine ganze Zahl g. Diese Zahlen können öffentlich vereinbart werden. 2. Beide Kommunikationspartner erzeugen jeweils eine geheim zu haltende Zufallszahl a bzw. b und berechnen: Nun werden A und B über das unsichere Medium getauscht. 3. Die Kommunikationspartner berechnen nun A = g a mod p (1) B = g b mod p (2) K = B a mod p (3) K = A b mod p (4) Das Ergebnis K ist für beide Partner gleich und kann als gemeinsamer geheimer Schlüssel für die symmetrische Kryptosystem verwendet werden. Dass beide Kommunikationspartner denselben Wert für K berechnen, zeigen die folgenden beiden Gleichungen: K = B a mod p = (g b mod p) a mod p = g ba mod p = g ab mod p K = A b mod p = (g a mod p) b mod p = g ab mod p Aus A und B muss der potenzielle Angreifer a bzw. b ausrechnen, um die geheime Nachricht verschlüsseln zu können. 6.1 Diffie-Hellmann-Problem Gegeben seien in einer endlichen Gruppe die Elemente g, g a und g b. Gesucht wird der Wert von g ab? Diese Problemstellung wird als Diffie-Hellman-Problem bezeichnet und ist nur dann lösbar, wenn der diskrete Logarithmus in Polynomialzeit lösbar ist.man kennt bis heute keinen effizienten Algorithmus zur Bestimmung von diskreten Logarithmen. Die Abbildung zeigt, wie chaotisch sich die diskrete Exponentialfunktion verhält. 5
7 Diskreter Logarithmus Abbildung 1: Der diskrete Exponentialfunktion Die Sicherheit von RSA-Algorithmus beruht auf dem Faktorisierungsproblem. Diffie-HellmannSchlüsseltauschvereinbarung benutzt aber ein anderes mathematisches Problem, das diskreten Logarithmus- Problem. 7.1 Mathematische Details zum diskreten Logarithmus Damit das Diffie-Hellmann-Schlüsseltausch realisiert werden kann, braucht man eine Einwegfunktion. Die normale Exponentiation und die Umkehrung Logarithmus ist nicht schwer zu berechnen, aber der diskrete Logarithmus wird in der Mathematik bzw. in der Kryptografie in einer geeigneten endlichen Gruppe als Einwegfunktion angesehen. Als geeignete Gruppen kann man zum Beispiel die multiplikative Gruppe eines endlichen Körpers wählen, die zyklisch ist, oder die Punkte auf einer elliptischen Kurve, die eine abelsche Gruppe bilden. Die Wahlen der Gruppen sind sorgfältig zu treffen. Wegen doppelten Potenzierens muss der zyklische Körper mit Multiplikation eine abelsche Gruppe sein Zyklisch muss es sein, damit tatsächlich Umkehrwerte existieren, denn in einer zyklisch Gruppe lässt sich jedes Mitglied als Potenzen des erzeugenden Elements darstellen g ist ein erzeugendes Element, in diesem Fall genannt Primitivwurzel (engl. generator) In diesen Gruppen existieren sehr viele erzeugende Elemente (Kryptografie in Theorie und Praxis von Albrecht Beutelsbacher, Heike B. Neumann, Thomas Schwarzpaul, Seite 136), daher kann man g zufällig durch probieren auswählen, g {0, 1, 2,..., p 1} p ist eine Primzahl a und b wählt man auch zufällig: a {0, 1, 2,..., p 1} b {0, 1, 2,..., p 1} Zum Beispiel die primen Restklassengruppe (Z/nZ) aus ( http://de.wikipedia.org/wiki/prime Restklassengruppe oder F p sind geeignete Gruppen. 7.2 Sicherheit Ein Angreifer, der beide Nachrichten mithört, kann im Allgemeinen nicht den geheimen Schlüssel berechnen. Der Diffie-Hellman-Schlüsselaustausch ist jedoch nicht mehr sicher, wenn sich ein Angreifer zwischen die beiden Kommunikationspartner schalten und Nachrichten verändern kann. 6
Aber dieses Problem kann ebenso mit Hilfe von digitalen Signaturen und Message Authentication Codes, MAC, umgangen werden. 8 Massey-Omura- Kryptosystem Das Massey-Omura-System ist ein Kryptosystem, welches zwei Parteien erlaubt ohne die Existenz von öffentlichen Schlüsseln oder gemeinsamen geheimen Schlüsseln Nachrichten vertraulich auszutauschen. Es basiert auf der Schwierigkeit des diskreten Logarithmus. Voraussetzungen: gemeinsame Wissen aller Teilnehmer um eine große Primzahl p jeder Teilnehmer erzeugt für die Kommunikation einen Schlüssel E mit E < p 1, welcher relativ prim zu p 1 ist, es gilt also: ggt (E, p 1) = 1. Zu diesem wird mittels des erweiterten euklidischen Algorithmus die Zahl D bestimmt. Sie ist das multiplikative Inverse von E mod p 1. Es gilt also: Nun gilt für alle Nachrichten m < p: aufgrund des kleinen Satzes von Fermat. 8.1 Ablauf E T D T = 1 mod p 1 (m E T ) D T = m E T D T = m k (p 1)+1 = m mod p Als Beispiel soll ein Teilnehmer A die vertrauliche Nachricht m an Teilnehmer B übermitteln. Sie verfügen beide über p, darüber hinaus kennt jeder nur seinen eigenen Schlüssel E A und D A bzw. E B und D B. 1. A bildet m E A mod p und sendet die entstehende Zahl an B 2. B rechnet (m E A ) E B mod p und sendet es an A 3. A erzeugt ((m E A ) E B ) D A modp, was nach dem kleinen Satzes von Fermat m E B modp entspricht und sendet dies zurück an B. Somit hat A die Wirkung der Exponentiation mit dem nur ihm bekannten E A auf m wieder aufgehoben. Die Nachricht ist jedoch noch immer durch die Exponentiation mit E B geschützt bzw. verschlüsselt. 4. B kann nun durch Exponentiation mit D B die Nachricht m gewinnen. Aus allen ausgetauschten Nachrichten kann ohne Wissen um die Schlüssel der Teilnehmer nicht auf m geschlossen werden. 8.2 Sicherheitsbetrachtungen Das Massay-Omura-Schema ist sicher gegen passives Mithören von Nachrichten, d. h. Dritte können aus den ausgetauschten Nachrichten nicht auf den Originaltext zurückschließen. Es ist jedoch anfällig für Man-In-The-Middle-Attacken. Durch die angenommene Schwere der Berechnung diskreter Logarithmen ist es auch bei vorhandenem Wissen um den Originaltext m beinahe unmöglich die von einem Teilnehmer T gewählten Schlüssel et und dt mit Hilfe einer mitgeschnittenen Nachricht zu erschließen. 7