Asymmetrische Kryptografie und digitale Signaturen – Teil 2

Im ersten Teil dieser Blogserie wurde das Konzept der symmetrischen Kryptografie vorgestellt, das die Vertraulichkeit auszutauschender Daten sicherstellen kann. Bei der symmetrischen Kryptografie gilt die grundlegende Annahme, dass der verwendete, geheim zu haltende Schlüssel zwischen den Kommunikationspartnern über einen sicheren Kanal übertragen werden muss, da sonst Dritte mit Kenntnis des Schlüssels auf den Geheimtext zugreifen können. Entsprechend wird mithilfe der symmetrischen Kryptografie das Problem der geheimen Nachrichtenübertragung lediglich auf die geheime Schlüsselübertragung reduziert. Um dieses Problem zu umgehen, wird in diesem zweiten Teil der Blogserie eine Einführung in das Konzept der asymmetrischen Kryptografie vorgestellt.

Im Unterschied zur symmetrischen Verschlüsselung wird bei der asymmetrischen Kryptografie für den Prozess des Ver- und Entschlüsselns ein zusammengehöriges Schlüsselpaar benötigt. Um eine Nachricht zu kodieren, wird ein Schlüssel verwendet, der im Gegensatz zum Konzept der symmetrischen Kryptografie für jeden öffentlich zugänglich ist (Public Key). Mit einem anderen Schlüssel, der nur dem Empfänger der Nachricht bekannt sein darf (Private Key), kann die Nachricht wieder dekodiert werden. Im Gegensatz zur symmetrischen Kryptographie, ist es bei der asymmetrischen Kryptographie der geplante Empfänger der Nachricht, Bob, der den Verschlüsselungsprozess initiiert. Dazu erzeugt er ein asymmetrisch ausgestaltetes Schlüsselpaar. Der Public Key wird veröffentlicht und ist damit für jeden im Kommunikationskanal einsehbar. Alice als Absender verschlüsselt mit dem öffentlich erhaltenen Public Key die Nachricht. Durch die Zusammengehörigkeit des Schlüsselpaars ist es schliesslich nur Bob möglich, die Nachricht mit dem nur ihm bekannten Private Key zu entschlüsseln. Basierend auf dieser Vorgehensweise wird der Austausch eines geheimen Schlüssels wie bei der symmetrischen Kryptografie obsolet (1).

Asymmetrische Verschlüsselungsverfahren sind sehr komplex und ein Verständnis ihrer Funktionsweise erfordert vertiefte mathematische Kenntnisse. Um trotzdem einen Einstieg in die Welt asymmetrischer Verschlüsselung zu ermöglichen und diese Komplexität im Ansatz nachvollziehbar zu machen, betrachten wir nachfolgend ausschliesslich die Erzeugung eines asymmetrischen Schlüsselpaars.

Die Konstruktion asymmetrischer Schlüssel (und auch die der eigentlichen Verschlüsselungsverfahren) basiert auf dem Prinzip von Einwegfunktionen. Wenn wir uns an die klassische Funktion aus dem Matheunterricht erinnern, y = f(x), bedeutet das einfach, dass es möglich sein soll, eine Funktion nach y aufzulösen, aber nicht nach x. Der Aufwand, um die Funktion nach x aufzulösen, x = f-1(y), soll also nicht vertretbar sein, beispielsweise indem deren Berechnung selbst mit ausreichend Rechenkapazität mehrere Tausend Jahre in Anspruch nimmt (2, 3). Dadurch wird es möglich, ein zusammenhängendes Schlüsselpaar (x; y) zu erzeugen und den Public Key y zu veröffentlichen, ohne dass der Private Key x aus dem Public Key errechnet werden kann. Quersummen als simples Beispiel verdeutlichen dieses Prinzip. Eine Quersumme bezeichnet die Summe der Ziffernwerte einer natürlichen Zahl. Wird beispielsweise die Zahl 9876 betrachtet, ergibt sich deren Quersumme durch einfache Addition: 9+8+7+6=30. Umgekehrt lässt sich von 30 jedoch nicht mehr ohne weiteres auf die Ausgangszahl schließen, die genauso gut 3333333333 hätte sein können.

Bezogen auf asymmetrische Verschlüsselungsverfahren muss der Public Key eines Schlüsselpaars in akzeptabler Zeit aus dem zugehörigen Private Key berechnet werden können, jedoch nicht umgekehrt (2). Algorithmen, die derartige Eigenschaften erfüllen, sind unter anderem Berechnungen auf elliptischen Kurven, die auch als Elliptic Curve Cryptography (ECC) bezeichnet werden (4). Im Folgenden werden die Grundlagen zur geometrischen Konstruktion eines Schlüsselpaars auf Basis der ECC beschrieben. Diese geometrischen Konstruktionen dienen der verständlichen Visualisierung des zugrunde liegenden Problems. Im praktischen Einsatz werden die Schlüssel jedoch mathematisch berechnet (3).

Elliptische Kurven folgen der allgemeinen mathematischen Form y2=x3 + ax + b, aufgrund derer sie als spezielle Eigenschaft achsensymmetrisch zur x-Achse sind [a]. Bei dem zugrunde liegenden Problem der Konstruktion des Schlüsselpaars soll aus zwei auf einer elliptischen Kurve befindlichen gegebenen Punkten P = (xp, yp) und Q = (xQ, yQ) ein Dritter Punkt R = (xR, yR) berechnet werden, der ebenfalls auf der gleichen Kurve liegt. Die x-Koordinate des Punktes R ist dabei der zu berechnende Public Key. In der Literatur wird diese Operation als Punktaddition mit R = P + Q bezeichnet. Der verwendete Begriff bezieht sich jedoch nicht auf die klassische Addition als Grundrechenart der Arithmetik, sondern visualisiert ausschließlich die Berechnung des Punktes R aus P und Q (3). Geometrisch interpretiert, wird bei der Punktaddition eine Gerade durch die Punkte  und  konstruiert, die aufgrund der Eigenschaften elliptischer Kurven in einem dritten Schnittpunkt der Kurve resultiert (siehe Abbildung 2). Dieser wird an der x-Achse gespiegelt und ergibt per Definition den gesuchten Punkt R (3). Abbildung 2 visualisiert eine beispielhafte Punktaddition auf der elliptischen Kurve y2 = x3 + 7, die auch in den Blockchain-Systemen von Bitcoin und Ethereum zur Erzeugung digitaler Signaturen Anwendung findet (4).

Sind bei einer Punktaddition die Ausgangspunkte identisch, P = Q, gilt somit R = P + P = 2P was auch als Punktverdopplung bezeichnet wird. Da bei der geometrischen Interpretation dieser Operation unendlich viele Möglichkeiten zur Konstruktion einer Geraden durch die zwei identischen Punkte existieren, hat man sich darauf geeinigt, als Gerade die Tangente im Punkt P zu bestimmen Der sich mit der elliptischen Kurve ergebende Schnittpunkt wird wiederum an der x-Achse gespiegelt und definiert den gesuchten Punkt (4). Abbildung 3 visualisiert die Punktverdopplung des Punktes P. Wird weiterführend der Ausgangspunkt P mit dem Punkt 2P addiert, ergibt sich anhand der oben beschriebenen Punktaddition der Punkt 3P. Allgemein wird die mehrfache Punktaddition auch als Punktmultiplikation bezeichnet (4).

Der Charakter einer Einwegfunktion ergibt sich bei einer elliptischen Kurve folgendermassen: Wird der Ausgangspunkt P eine gewählte Anzahl dmal addiert, ergibt sich der Punkt R auf der elliptischen Kurve: dP = R. Geometrisch betrachtet wird dazu durch wiederholte Punktadditionen auf der Kurve von einem Punkt zum nächsten gesprungen. Ist neben P nun auch der Punkt R, und damit der Public Key, als das Ergebnis der obigen Punktmultiplikation gegeben, kann jedoch mathematisch nur mit nicht vertretbarem Aufwand auf die zugrunde liegende Anzahl d der Punktadditionen geschlossen werden, d. h. auf den Private Key (3). Im Kontext der asymmetrischen Kryptografie kann entsprechend aus dem Private Key d, der beispielsweise einer zufällig gezogenen Zahl entspricht und einem für alle öffentlichen Basispunkt P der Punkt R auf der elliptischen Kurve berechnet werden, der dem zugehörigen Public Key entspricht (5).

Mit einem aus asymmetrischen Algorithmen erzeugten Schlüsselpaar können anschliessend Verschlüsselungsverfahren angewendet werden, ohne dass ein geheimer, privater Schlüssel zwischen den Kommunikationspartnern ausgetauscht werden muss. Somit ist es unbefugten Dritten auch nicht möglich, geheime Schlüssel bei einem Schlüsselaustausch abzufangen und Zugriff auf die geheime Nachricht zu erhalten (6).

Digitale Signaturen

Weiterhin können asymmetrische Verschlüsselungsverfahren auch zur Erzeugung digitaler Signaturen verwendet werden (3). Hierfür muss Alice als Signierende mithilfe eines asymmetrischen Verfahrens ein zusammengehöriges Schlüsselpaar erzeugen. Auf Basis eines komplexen Signaturalgorithmus erzeugt Alice anschliessend aus ihrem geheimen Schlüssel und der zu unterzeichnenden Nachricht die digitale Signatur. Diese wird gemeinsam mit der Nachricht an Bob übermittelt, der mithilfe des öffentlichen Public Keys die Signatur verifizieren kann (7).

Durch diese Verifizierungsmöglichkeit digitaler Signaturen können unterzeichnete Nachrichten eindeutig ihrem Absender zugeordnet werden, da die auf Basis des privaten Schlüssels erzeugte Signatur nur mit dem zugehörigen Public Key gültig verifiziert werden kann (8). Solange der private Schlüssel geheim gehalten wird, kann nur Alice Signaturen unter ihrem Namen erzeugen. Wurde die Signatur auf Basis eines anderen Private Key berechnet, kann diese nicht mit dem vorliegenden Public Key verifiziert werden. Zudem gewährleisten digitale Unterschriften, dass nach der Unterzeichnung keine Änderung der Nachricht stattgefunden hat, da Bob die Signatur anschliessend nicht mit dem ursprünglich erzeugten Public Key verifizieren kann (8). Entsprechend kann sich Bob als Empfänger sicher sein, dass die Nachricht tatsächlich von Alice stammt und das die Nachricht nach der Signatur unverändert geblieben ist.

Digitale Signaturen sind wichtige kryptografische Werkzeuge, die in zahlreichen Anwendungen, wie z. B. beim sicheren Informationsaustausch per E-Mail, beim Online-Banking sowie beim rechtlich bindenden Abschluss digitaler Verträge Anwendung finden (3, 9). Ebenso findet das Konzept digitaler Signaturen auch in Blockchains wie beispielsweise Bitcoin und Ethereum Anwendung, wobei für im Netzwerk getätigte Transaktionen Signaturen mit dem Private Key des Absenders erstellt werden. Die Signatur bestätigt die Konformität der Transaktion, die ausschließlich vom tatsächlichen Absender erstellt werden konnte (10).

Kryptografische Algorithmen, deren grundsätzliche Konzepte im Vorhergehenden vorgestellt wurden, verfolgen unterschiedliche Sicherheitsziele. Beispielsweise stellen sowohl symmetrische als auch asymmetrische Verschlüsselungsverfahren die Vertraulichkeit von Informationen gegen den unbefugten Zugriff Dritter sicher. Digitale Signaturen hingegen gewährleisten zum einen die Integrität der Informationen, da diese während der Übertragung nicht unbemerkt abgeändert werden können und zum anderen die Authentizität einer Nachricht, da vom Empfänger einer Nachricht sicher nachvollzogen werden kann, ob der vermeintliche Absender auch die Nachricht signiert hat (11).

[a] Vorsicht: Bei dieser Berechnung bezeichnen y und x nicht wie im vorangegangenen Paragrafen den Public oder Private Key, sondern die geometrische Form, mithilfe derer diese beiden Keys berechnet werden. Im Beispiel der Elliptic Curve Cryptography ist der Public Key die y-Koordinate des Punkts R, der Private Key wird mit d bezeichnet.


Quellen

  1. Buchmann, J. (2016). Einführung in die Kryptographie. 6., überarbeitete Auflage. Darmstadt: Springer-Verlag
  2. Karpfinger, C., & Kiechle, H. (2010). Kryptologie. Algebraische Methoden und Algorithmen. München, Hamburg.: Vieweg + Teubner.
  3. Paar, C.; Pelzl, J. (2016). Kryptografie verständlich. Ein Lehrbuch für Studierende und Anwender. Bochum, Springer Vieweg.
  4. Fertig, T., & Schütz, A. (2019). Blockchain für Entwickler: Grundlagen, Programmierung, Anwendung. Bonn, Rheinwerk Verlag.
  5. Froehlich, A. (2022). Elliptical curve cryptography (ECC). TechTarget. https://www.techtarget.com/searchsecurity/definition/elliptical-curve-cryptog-raphy#:~:text=Elliptical%20curve%20cryptography%20(ECC)%20is,and%20more%20efficient%20cryptographic%20keys. Zugriff am: 28.12.2022.
  6. SecuPedia. ECC. https://www.secupedia.info/wiki/ECC. Zugriff am: 28.12.2022.
  7. Nakov, S. (2018). ECDSA: Elliptic Curve Signatures. https://cryptobook.nakov.com/digital-signatures/ecdsa-sign-verify-messages. Zugriff am: 28.12.2022.
  8. Pommerening, K. (2003). Asymmetrische Verschlüsselung. Johannes-Gutenberg-Universität Mainz.
  9. Luber, S.; Schmitz, P. (2020). Was ist eine digitale Signatur? Security Insider. 21.01.2020. https://www.security-insider.de/was-ist-eine-digitale-signatur-a-897198/. Zugriff am: 28.12.2022.
  10. Antonopoulos, A. M (2015). Mastering Bitcoin. Unlocking Digital Cryptocurrencies. O’Reilly.
  11. Hellwig, D.; Karlic, G.; Huchzermeier, A. (2021). Entwickeln Sie Ihre eigene Blockchain. Ein prakti-scher Leitfaden zur Distributed-Ledger-Technologie. Vallendar, New York, Springer.

Nick Kakuschke

Was sind Deine Erfahrungen mit dem Thema? (Kommentieren geht auch ohne Anmeldung oder Einloggen; einfach kommentieren, auf Freigabe warten und fertig!)