Public-Key-Kryptografie, auch asymmetrische Kryptografie genannt, umfasst kryptografische Systeme, die Paare miteinander verbundener Schlüssel verwenden. Jedes dieser Paare besteht aus einem öffentlichen Schlüssel und dem zugehörigen privaten Schlüssel. Diese Schlüsselpaare werden algorithmisch generiert und basieren auf mathematischen Problemen, die als Einwegfunktionen bekannt sind. Die Sicherheit der Public-Key-Kryptographie hängt von der Vertraulichkeit des privaten Schlüssels ab, wohingegen der öffentliche Schlüssel verbreitet werden kann, ohne die Systemintegrität zu gefährden. Es gibt verschiedene Public-Key-Kryptosysteme, die jeweils für unterschiedliche Sicherheitsziele konzipiert sind, darunter digitale Signaturen, Diffie-Hellman-Schlüsselaustausch, Public-Key-Schlüsselkapselung und Public-Key-Verschlüsselung.
Kryptographie mit öffentlichen Schlüsseln oder asymmetrische Kryptographie ist der Bereich der kryptografischen Systeme, die Paare verwandter Schlüssel verwenden. Jedes Schlüsselpaar besteht aus einem öffentlichen Schlüssel und einem entsprechenden privaten Schlüssel. Schlüsselpaare werden mit Algorithmen generiert, die auf mathematischen Problemen basieren, die als Einwegfunktionen bezeichnet werden. Die Sicherheit der Public-Key-Kryptographie hängt von der Geheimhaltung des privaten Schlüssels ab. Der öffentliche Schlüssel kann ohne Beeinträchtigung der Sicherheit offen weitergegeben werden. Es gibt viele Arten von Public-Key-Kryptosystemen mit unterschiedlichen Sicherheitszielen, darunter digitale Signatur, Diffie-Hellman-Schlüsselaustausch, Public-Key-Schlüsselkapselung und Public-Key-Verschlüsselung.
Public-Key-Algorithmen dienen als grundlegende Sicherheitsprimitive in modernen Kryptosystemen und unterstützen Anwendungen und Protokolle, die die Vertraulichkeit und Authentizität elektronischer Kommunikation und gespeicherter Daten gewährleisten. Diese Algorithmen bilden die Grundlage für zahlreiche Internetstandards, darunter Transport Layer Security (TLS), SSH, S/MIME und PGP. Aufgrund ihrer Rechenintensität ist die Public-Key-Kryptografie im Vergleich zur symmetrischen Kryptografie für bestimmte Anwendungen oft zu langsam; Folglich integrieren viele Protokolle sowohl symmetrische als auch Public-Key-Methoden in hybride Kryptosysteme.
Beschreibung
Vor Mitte der 1970er-Jahre beruhten alle kryptografischen Systeme auf Algorithmen mit symmetrischen Schlüsseln, bei denen sowohl der Absender als auch der Empfänger einen einzigen kryptografischen Schlüssel mit dem zugrunde liegenden Algorithmus verwendeten, was dessen vertrauliche Aufbewahrung durch beide Parteien erforderlich machte. Folglich erforderte der Schlüssel für jedes dieser Systeme vor jedem Systembetrieb eine sichere Vorverteilung zwischen kommunizierenden Einheiten, häufig über einen sicheren Kanal. Diese Voraussetzung ist von Natur aus komplex und wird schnell unpraktisch, wenn die Anzahl der Teilnehmer wächst, in Szenarien, in denen sichere Kanäle fehlen oder wenn Schlüssel routinemäßig rotiert werden, was als solide kryptografische Praxis gilt. Um die Vertraulichkeit von Nachrichten zwischen verschiedenen Benutzern zu gewährleisten, ist insbesondere ein eindeutiger Schlüssel für jedes potenzielle Benutzerpaar unerlässlich.
Umgekehrt können öffentliche Schlüssel innerhalb eines Public-Key-Kryptosystems weit und offen verteilt werden, während nur die entsprechenden privaten Schlüssel vertraulich bleiben müssen.
Die beiden wichtigsten Kategorien der Public-Key-Kryptographie sind digitale Signaturen und Public-Key-Verschlüsselung:
- Innerhalb eines digitalen Signatursystems verwendet ein Absender einen privaten Schlüssel in Verbindung mit einer Nachricht, um eine Signatur zu generieren. Jede Partei, die über den entsprechenden öffentlichen Schlüssel verfügt, kann überprüfen, ob die Signatur mit der Nachricht übereinstimmt. Allerdings kann eine unbefugte Person, die den privaten Schlüssel nicht kennt, kein gültiges Nachrichten-/Signaturpaar erstellen, das die Überprüfung des öffentlichen Schlüssels bestehen würde.
Zum Beispiel könnte ein Softwareherausgeber ein Signaturschlüsselpaar generieren und den öffentlichen Schlüssel in die auf Client-Rechnern installierte Software einbetten. Anschließend kann der Herausgeber Software-Updates verbreiten, die mit dem privaten Schlüssel signiert sind, sodass jeder empfangende Computer seine Legitimität authentifizieren kann, indem er die Signatur mit dem öffentlichen Schlüssel überprüft. Vorausgesetzt, der Softwareherausgeber wahrt die Vertraulichkeit des privaten Schlüssels, selbst wenn es einem Angreifer gelingt, bösartige Updates auf Computer zu verteilen, kann er die Systeme nicht davon überzeugen, dass diese Updates authentisch sind.
- In einem Public-Key-Verschlüsselungssystem kann jede Person, die einen öffentlichen Schlüssel besitzt, eine Nachricht verschlüsseln und so einen Chiffretext erzeugen; Allerdings sind nur diejenigen, die über den entsprechenden privaten Schlüssel verfügen, in der Lage, den Chiffretext zu entschlüsseln, um die ursprüngliche Nachricht abzurufen.
Ein Journalist könnte beispielsweise den öffentlichen Schlüssel eines Verschlüsselungsschlüsselpaars auf einer Website veröffentlichen und so Quellen in die Lage versetzen, vertrauliche Nachrichten im Chiffretext an die Nachrichtenorganisation zu übermitteln.
Nur der Journalist, der über den erforderlichen privaten Schlüssel verfügt, kann die Chiffretexte entschlüsseln, um auf die Nachrichten der Quellen zuzugreifen; Ein unbefugter Abfangjäger, der die E-Mail-Übertragungen an den Journalisten überwacht, wäre nicht in der Lage, diese Chiffretexte zu entschlüsseln. Dennoch verschleiert die Public-Key-Verschlüsselung Metadaten wie den Ursprungscomputer, den Übertragungszeitstempel oder die Nachrichtenlänge nicht. Darüber hinaus liefert die Public-Key-Verschlüsselung, wenn sie unabhängig verwendet wird, dem Empfänger keine Informationen über die Identität des Absenders; Seine Funktion besteht ausschließlich darin, den Nachrichteninhalt zu verschleiern.
Anwendungen, die Public-Key-Kryptografie nutzen, umfassen Webserver-Authentifizierung über TLS, digitale Währungssysteme, passwortauthentifizierte Schlüsselvereinbarung, die Authentifizierung und Vertraulichkeit von E-Mail-Inhalten mithilfe von OpenPGP oder S/MIME sowie Zeitstempeldienste und Nichtabstreitbarkeitsprotokolle.
Ein entscheidendes Anliegen bei der Public-Key-Kryptografie ist die Feststellung der Authentizität eines öffentlichen Schlüssels, die Sicherstellung seiner Richtigkeit, seines rechtmäßigen Besitzes durch die beanspruchte Person oder Organisation sowie der Schutz vor unbefugter Änderung oder Ersetzung durch einen böswilligen Dritten. Mehrere Methoden begegnen dieser Herausforderung, wie zum Beispiel:
Ein Ansatz ist eine Public-Key-Infrastruktur (PKI), bei der bestimmte Dritte, sogenannte Zertifizierungsstellen, den Besitz von Schlüsselpaaren validieren. Das Transport Layer Security (TLS)-Protokoll nutzt dieses System, was erfordert, dass das gesamte PKI-Framework – einschließlich seiner Software, Hardware und Verwaltungskomponenten – von allen teilnehmenden Einheiten als vertrauenswürdig erachtet wird.
Alternativ dezentralisiert ein „Web of Trust“-Modell die Authentifizierung durch die Nutzung individueller Bestätigungen, die einen Benutzer mit seinem entsprechenden öffentlichen Schlüssel verknüpfen. Pretty Good Privacy (PGP) nutzt diese Methode und ergänzt sie durch Suchen im Domain Name System (DNS). Auch das DomainKeys Identified Mail (DKIM)-System, das zum digitalen Signieren von E-Mails verwendet wird, übernimmt diese dezentrale Authentifizierungsstrategie.
Hybride Kryptosysteme
Angesichts der Tatsache, dass asymmetrische Schlüsselalgorithmen in der Regel deutlich mehr Rechenleistung erfordern als ihre symmetrischen Gegenstücke, besteht eine gängige Praxis darin, einen öffentlichen/privaten asymmetrischen Schlüsselaustauschalgorithmus zu verwenden, um einen symmetrischen Schlüssel zu verschlüsseln und zu übertragen. Dieser gemeinsame symmetrische Schlüssel wird anschließend von der symmetrischen Schlüsselkryptographie für eine effiziente Datenübertragung verwendet. Protokolle wie PGP, SSH und die SSL/TLS-Suite implementieren diesen Prozess und tragen daher die Bezeichnung hybride Kryptosysteme. Der Hauptvorteil dieses anfänglichen, auf asymmetrischer kryptographiebasierten Schlüsselaustauschs, der die sichere Übertragung eines vom Server generierten symmetrischen Schlüssels vom Server zum Client erleichtert, besteht darin, dass die Notwendigkeit einer manuellen Vorabfreigabe symmetrischer Schlüssel (z. B. über physische Dokumente oder Kuriere) entfällt. Gleichzeitig gewährleistet es den überlegenen Datendurchsatz, der für die Kryptografie mit symmetrischen Schlüsseln für die Dauer der hergestellten Verbindung charakteristisch ist und den der Kryptografie mit asymmetrischen Schlüsseln übertrifft.
Schwächen
Public-Key-Kryptografie ist wie alle sicherheitsabhängigen Systeme anfällig für verschiedene potenzielle Schwachstellen. Abgesehen von der Auswahl eines unzureichenden asymmetrischen Schlüsselalgorithmus (da nur wenige allgemein als robust gelten) oder einer unzureichenden Schlüssellänge entsteht die primäre Sicherheitsbedrohung durch die Kompromittierung eines privaten Schlüssels. Sollte ein privater Schlüssel bekannt werden, wäre die Integrität aller Nachrichten, Authentifizierungen und anderen Sicherheitsmaßnahmen, die auf diesem Schlüssel basieren, unwiderruflich verloren. Dieses Risiko wird insbesondere in modernen TLS-Systemen häufig durch die Implementierung von Forward-Secrecy-fähigen Protokollen gemindert. Diese Protokolle generieren für jede Kommunikationssitzung kurzlebige Schlüsselsätze, die die Kenntnis dieser temporären Schlüssel erfordern, damit eine Kommunikation kompromittiert werden kann.
Darüber hinaus stellt das Aufkommen des Quantencomputings eine erhebliche Bedrohung dar, da viele bestehende asymmetrische Schlüsselalgorithmen anfällig für fortgeschrittene Angriffe sind. Daher konzentrieren sich die Forschungs- und Entwicklungsbemühungen auf die Entwicklung neuartiger quantenresistenter kryptografischer Schemata, um dieser drohenden Herausforderung zu begegnen.
Abgesehen von Schwachstellen im Zusammenhang mit Algorithmen oder Schlüssellängen haben bestimmte Studien Risiken identifiziert, die mit der Delegation der Kontrolle privater Schlüssel an Dritte verbunden sind. Untersuchungen zur Untersuchung der Implementierung der Public-Key-Infrastruktur in Uruguay gemäß Gesetz 18.600 ergaben beispielsweise, dass die zentralisierte Schlüsselverwahrung durch Trust Service Providers (TSPs) das Grundprinzip der Geheimhaltung privater Schlüssel untergraben könnte. Diese Praxis erhöht möglicherweise die Anfälligkeit für Man-in-the-Middle-Angriffe und führt zu Bedenken hinsichtlich der rechtlichen Nichtabstreitbarkeit.
Algorithmen
Theoretisch sind alle Public-Key-Systeme anfällig für einen „Brute-Force-Angriff auf die Schlüsselsuche“. Dennoch wird ein solcher Angriff unpraktisch, wenn der für den Erfolg erforderliche Rechenaufwand – eine Metrik, die von Claude Shannon als „Arbeitsfaktor“ bezeichnet wird – die Fähigkeiten aller potenziellen Gegner übersteigt. Oft lässt sich der Arbeitsfaktor schon durch die Wahl eines längeren Schlüssels steigern. Bestimmte Algorithmen verfügen jedoch möglicherweise von Natur aus über geringere Arbeitsfaktoren, wodurch die Brute-Force-Resistenz (selbst bei erweiterten Tasten) weitgehend wirkungslos wird. Es wurden spezielle Algorithmen entwickelt, um Angriffe auf bestimmte Verschlüsselungsalgorithmen mit öffentlichen Schlüsseln zu erleichtern. Beispielsweise sind sowohl bei der RSA- als auch bei der ElGamal-Verschlüsselung Angriffe bekannt, die die Geschwindigkeit eines Brute-Force-Ansatzes übertreffen. Trotz dieser Fortschritte wurde keiner dieser spezialisierten Angriffe ausreichend verfeinert, um praktisch umsetzbar zu sein.
In mehreren asymmetrischen Schlüsselalgorithmen, die einst als vielversprechend galten, wurden erhebliche Schwachstellen identifiziert. Beispielsweise wurde der „Knapsack Packing“-Algorithmus nach der Entwicklung eines neuartigen Angriffs als unsicher eingestuft. Darüber hinaus können Public-Key-Implementierungen, ähnlich wie alle kryptografischen Funktionen, anfällig für Seitenkanalangriffe sein, die zufällige Informationslecks ausnutzen, um den Prozess der Ermittlung eines geheimen Schlüssels zu optimieren. Diese Angriffe funktionieren häufig unabhängig vom konkret eingesetzten Algorithmus. Laufende Forschungsbemühungen zielen darauf ab, sowohl neue Angriffsvektoren aufzudecken als auch robuste Gegenmaßnahmen zu entwickeln.
Änderung öffentlicher Schlüssel
Eine erhebliche Sicherheitslücke im Zusammenhang mit der Kryptografie mit asymmetrischen Schlüsseln ist der „Man-in-the-Middle“-Angriff (MITM), bei dem ein Dritter den Austausch öffentlicher Schlüssel abfängt und verändert und diese durch seine eigenen ersetzt. Um unentdeckt zu bleiben, muss der Angreifer alle nachfolgenden verschlüsselten Nachrichten und Antworten abfangen, entschlüsseln und erneut verschlüsseln und dabei die entsprechenden öffentlichen Schlüssel für jedes Segment der Kommunikation verwenden.
Kommunikation gilt als unsicher, wenn Datenübertragungsmethoden ein Abfangen zulassen, was üblicherweise als „Sniffing“ bezeichnet wird. Bei diesem Vorgang handelt es sich um den vollständigen unbefugten Zugriff auf die privaten Daten eines Absenders. Eine solche Kommunikation wird besonders anfällig, wenn der Absender diese Abhörvorgänge nicht verhindern oder überwachen kann.
Die Umsetzung eines Man-in-the-Middle-Angriffs (MITM) kann angesichts der Komplexität moderner Sicherheitsprotokolle eine Herausforderung darstellen. Dennoch steigt die Machbarkeit, wenn die Kommunikation über unsichere Medien wie öffentliche Netzwerke, das Internet oder drahtlose Verbindungen erfolgt. Unter diesen Umständen kann ein Angreifer die Kommunikationsinfrastruktur selbst gefährden, anstatt direkt auf die Daten abzuzielen. Beispielsweise könnte ein böswilliger Mitarbeiter eines Internetdienstanbieters (ISP) möglicherweise relativ einfach einen MITM-Angriff ausführen. Während die bloße Erfassung eines öffentlichen Schlüssels durch Überwachung seiner Übertragung über die Hardware eines Internetdienstanbieters möglich ist, stellt dieser spezielle Erfassungsvorgang bei ordnungsgemäß implementierten asymmetrischen Schlüsselsystemen kein wesentliches Sicherheitsrisiko dar.
Bei fortgeschrittenen Man-in-the-Middle-Angriffen (MITM) kann eine Partei die Originaldaten erhalten, während die andere Partei eine manipulierte Version erhält. Solche asymmetrischen MITM-Angriffe können die Gefährdung einer Verbindung für Benutzer wirksam verschleiern. Diese Täuschung bleibt auch dann bestehen, wenn bekannt ist, dass die Daten eines Benutzers kompromittiert wurden, da die Daten für die andere Partei unverändert erscheinen. Folglich kann dies zu verwirrenden Streitigkeiten zwischen Benutzern führen, bei denen keine der Parteien schuld ist, die Schuld jedoch falsch zugeordnet wird. Daher sind MITM-Angriffe nur dann vollständig vermeidbar, wenn die Kommunikationsinfrastruktur unter der physischen Kontrolle einer oder beider Kommunikationsparteien steht, beispielsweise über ein kabelgebundenes Netzwerk innerhalb der Räumlichkeiten des Absenders. Zusammenfassend lässt sich sagen, dass die Änderung öffentlicher Schlüssel einfacher ist, wenn ein Angreifer die von einem Absender verwendete Kommunikationshardware kontrolliert.
Public-Key-Infrastruktur
Eine primäre Methode zur Abwehr solcher Angriffe ist die Implementierung einer Public-Key-Infrastruktur (PKI), die einen Rahmen aus Rollen, Richtlinien und Verfahren für die Erstellung, Verwaltung, Verteilung, Nutzung, Speicherung und Sperrung digitaler Zertifikate sowie die Verwaltung der Public-Key-Verschlüsselung umfasst. Dennoch ist dieser Ansatz nicht ohne potenzielle Schwachstellen.
Zum Beispiel müssen alle beteiligten Stellen der Zertifizierungsstelle (CA), die für die Ausstellung von Zertifikaten verantwortlich ist, implizit vertrauen, dass sie die Identität des Schlüsselinhabers streng überprüft, die Richtigkeit des öffentlichen Schlüssels bei der Ausstellung bestätigt, robuste Sicherheit gegen Cyberangriffe aufrechterhalten und Protokolle für alle Teilnehmer zur Validierung von Zertifikaten vor der Einleitung sicherer Kommunikation eingerichtet hat. Webbrowser beispielsweise sind mit zahlreichen „selbstsignierten Identitätszertifikaten“ von PKI-Anbietern vorkonfiguriert; Diese dienen dazu, die Glaubwürdigkeit der Zertifizierungsstelle zu authentifizieren und anschließend die Zertifikate potenzieller Kommunikatoren zu validieren. Sollte es einem Angreifer gelingen, eine Zertifizierungsstelle zu kompromittieren, um ein Zertifikat für einen betrügerischen öffentlichen Schlüssel auszustellen, könnte er einen „Man-in-the-Middle“-Angriff genauso einfach durchführen, als ob kein Zertifikatsschema vorhanden wäre. Darüber hinaus hätte ein Angreifer, der die Server einer Zertifizierungsstelle infiltriert und an deren Zertifikats- und Schlüsselspeicher (sowohl öffentliche als auch private) gelangt, die uneingeschränkte Möglichkeit, Identitäten zu fälschen, sich als legitime Entitäten auszugeben, Kommunikation zu entschlüsseln und Transaktionen zu fälschen, vorausgesetzt, er könnte sich in den Kommunikationsfluss einmischen.
Trotz ihrer theoretischen und potenziellen Schwachstellen wird die Public Key Infrastructure (PKI) in großem Umfang eingesetzt. Bemerkenswerte Beispiele sind Transport Layer Security (TLS) und sein Vorläufer Secure Sockets Layer (SSL), die routinemäßig zur Sicherung von Webbrowser-Transaktionen eingesetzt werden; Beispielsweise nutzen die meisten Websites TLS für HTTPS.
Neben der einem bestimmten Schlüsselpaar innewohnenden Widerstandsfähigkeit gegen Angriffe ist die Sicherheit der Zertifizierungshierarchie ein entscheidender Gesichtspunkt bei der Bereitstellung von Public-Key-Systemen. Eine Zertifizierungsstelle (CA), typischerweise eine spezielle Softwareanwendung, die auf einem Server läuft, validiert Identitäten, die mit bestimmten privaten Schlüsseln verknüpft sind, durch die Ausstellung digitaler Zertifikate. Digitale Zertifikate mit öffentlichem Schlüssel haben üblicherweise eine Gültigkeitsdauer von mehreren Jahren; Folglich müssen ihre entsprechenden privaten Schlüssel während dieser Dauer sicher geschützt werden. Sollte ein privater Schlüssel, der für die Zertifikatsgenerierung auf einer höheren Ebene innerhalb der Serverhierarchie der Public Key Infrastructure (PKI) verwendet wird, kompromittiert oder versehentlich offengelegt werden, ermöglicht dies einen „Man-in-the-Middle-Angriff“, der alle untergeordneten Zertifikate vollständig angreifbar macht.
Unverschlüsselte Metadaten
Die meisten aktuellen Public-Key-Verschlüsselungssoftware-Implementierungen verdecken die in Nachrichtenheadern vorhandenen Metadaten nicht. Diese Metadaten können Absender- und Empfängeridentitäten, Übertragungsdaten, Betrefffelder und Softwarenutzungsdetails umfassen. Stattdessen wird nur der Nachrichtentext verschlüsselt und ist ausschließlich durch Entschlüsselung mit dem privaten Schlüssel des vorgesehenen Empfängers zugänglich. Folglich könnte eine externe Instanz ein umfassendes Profil der Teilnehmer des Kommunikationsnetzwerks und ihrer Diskussionsthemen erstellen, auch wenn der Nachrichteninhalt vertraulich bleibt.
Dennoch wurden in jüngsten Demonstrationen Messaging-Systeme vorgestellt, die verschlüsselte Header verwenden, wodurch Absender- und Empfängeridentitäten verschleiert werden und der Zugriff auf Metadaten für externe Parteien erheblich eingeschränkt wird. Dieser Ansatz basiert auf einem offenen Repository, das unabhängig verschlüsselte Metadatenblöcke neben verschlüsselten Nachrichten speichert. Nur der benannte Empfänger besitzt die Fähigkeit, den Metadatenblock zu entschlüsseln; Nach erfolgreicher Entschlüsselung können sie ihre entsprechenden Nachrichten identifizieren, abrufen und entschlüsseln. Derzeit befindet sich ein solches Nachrichtensystem noch in der experimentellen Phase und wurde noch nicht umfassend implementiert. Im großen Maßstab würde diese Methode einem externen Beobachter nur den Posteingangsserver des Empfängers und die Zeitstempel der Nachrichtenübertragung und des Nachrichtenempfangs zugänglich machen. Angesichts der Tatsache, dass ein einzelner Server möglicherweise von Tausenden von Benutzern genutzt wird, wird die Erstellung genauer sozialer Netzwerkmodelle erheblich schwieriger.
Verlauf
In den Anfängen der Kryptografie waren zwei kommunizierende Parteien typischerweise auf einen gemeinsamen Schlüssel angewiesen, den sie über sichere, nicht kryptografische Mittel, wie etwa direkte persönliche Treffen oder über einen vertrauenswürdigen Messenger, austauschten. Dieser Schlüssel, der von beiden Teilnehmern absolute Geheimhaltung erfordert, ermöglichte anschließend den Austausch verschlüsselter Kommunikation. Allerdings stellte diese Methode der Schlüsselverteilung mehrere erhebliche praktische Herausforderungen dar.
Anticipation
In seiner 1874 erschienenen Veröffentlichung The Principles of Science formulierte William Stanley Jevons:
Kann der Leser sagen, welche zwei Zahlen miteinander multipliziert die Zahl 8.616.460.799 ergeben? Ich halte es für unwahrscheinlich, dass irgendjemand außer mir jemals davon erfahren wird.
In dieser Passage erläuterte Jevons den Zusammenhang zwischen Einwegfunktionen und Kryptographie und befasste sich anschließend mit dem Faktorisierungsproblem als Mechanismus zur Konstruktion einer Falltürfunktion. Im Juli 1996 bemerkte der Mathematiker Solomon W. Golomb: „Jevons sah ein grundlegendes Merkmal des RSA-Algorithmus für die Public-Key-Kryptographie voraus, obwohl er das Konzept der Public-Key-Kryptographie selbst nicht erfunden hat.“
Klassifizierte Entdeckung
Im Jahr 1970 konzipierte James H. Ellis, ein britischer Kryptograf, der dem UK Government Communications Headquarters (GCHQ) angehört, das Potenzial einer „nicht geheimen Verschlüsselung“ (heute bekannt als Public-Key-Kryptographie), war jedoch nicht in der Lage, eine praktische Umsetzung zu entwickeln.
Bis 1973 implementierte sein Kollege Clifford Cocks erfolgreich den heute als RSA-Verschlüsselungsalgorithmus anerkannten Algorithmus und stellte damit eine konkrete Methode für die „nicht geheime Verschlüsselung“ bereit. Anschließend entwickelte Malcolm J. Williamson, ein weiterer GCHQ-Mathematiker und Kryptograf, 1974 das, was heute als Diffie-Hellman-Schlüsselaustausch bekannt ist. Dieses kryptografische Schema wurde auch mit der National Security Agency der Vereinigten Staaten geteilt. Obwohl beide Organisationen eine militärische Ausrichtung hatten und zu diesem Zeitpunkt nur über begrenzte Rechenressourcen verfügten, erkannte keines der beiden Unternehmen das volle Potenzial der Public-Key-Kryptographie an. Ralph Benjamin erklärte:
Ich hielt es für am wichtigsten für den militärischen Einsatz ... wenn Sie Ihren Schlüssel schnell und elektronisch weitergeben können, haben Sie einen großen Vorteil gegenüber Ihrem Gegner. Erst am Ende der Entwicklung von Berners-Lees Entwurf einer offenen Internet-Architektur für CERN bis hin zu deren Anpassung und Übernahme für das Arpanet ... erkannte die Public-Key-Kryptographie ihr volles Potenzial.
Die öffentliche Anerkennung dieser Entdeckungen wurde zurückgehalten, bis die britische Regierung die damit verbundene Forschung im Jahr 1997 freigegeben hat.
Öffentliche Offenlegung
1976 führten Whitfield Diffie und Martin Hellman ein Kryptosystem mit asymmetrischem Schlüssel ein. Beeinflusst von Ralph Merkles Beiträgen zur Verteilung öffentlicher Schlüssel stellten sie eine Methode zur Vereinbarung öffentlicher Schlüssel vor. Diese Schlüsselaustauschtechnik, die Potenzierung innerhalb eines endlichen Feldes verwendet, wurde später als Diffie-Hellman-Schlüsselaustausch bekannt. Es stellte den ersten veröffentlichten praktischen Ansatz zur Einrichtung eines gemeinsamen geheimen Schlüssels über einen authentifizierten, wenn auch nicht vertraulichen Kommunikationskanal dar, ohne dass ein bereits bestehendes gemeinsames Geheimnis erforderlich war. Merkles „Public-Key-Agreement-Technik“, die 1974 entwickelt, aber 1978 veröffentlicht wurde, wurde später Merkles Rätsel genannt. Infolgedessen entwickelte sich die asymmetrische Verschlüsselung zu einem relativ neuen Bereich innerhalb der Kryptographie, obwohl sich die Geschichte des breiteren Feldes über zwei Jahrtausende erstreckt.
Im Jahr 1977 entwickelten Ron Rivest, Adi Shamir und Leonard Adleman, damals Mitarbeiter des MIT, unabhängig voneinander eine verallgemeinerte Version von Cocks‘ Schema. Diese Forscher veröffentlichten ihre Ergebnisse anschließend 1978 in der Scientific American-Kolumne von Martin Gardner, was zur Bezeichnung des Algorithmus als RSA führte, abgeleitet von den Initialen ihrer Nachnamen. RSA verwendet eine modulare Potenzierung mit einem Produkt aus zwei außergewöhnlich großen Primzahlen sowohl für die Verschlüsselung als auch für die Entschlüsselung und erleichtert so die Verschlüsselung mit öffentlichen Schlüsseln und digitale Signaturen mit öffentlichen Schlüsseln. Die Sicherheit von RSA beruht auf der gewaltigen Herausforderung der Faktorisierung großer Ganzzahlen, einem Rechenproblem, für das derzeit keine effiziente allgemeine Lösung bekannt ist. Eine erste Beschreibung dieses Algorithmus erschien in der Rubrik „Mathematische Spiele“ der Augustausgabe 1977 des Scientific American.
Seit den 1970er Jahren wurde eine umfangreiche Palette kryptografischer Techniken entwickelt, die verschiedene Methoden zur Verschlüsselung, digitalen Signaturen und Schlüsselvereinbarung umfasst. Bemerkenswerte Beispiele sind die Rabin-Signatur, die ElGamal-Verschlüsselung, der Digital Signature Algorithm (DSA) und die Elliptic-Curve-Kryptographie (ECC).
Anschauliche Beispiele
Die folgenden Techniken stellen gut etablierte asymmetrische Schlüsseltechniken dar, die für verschiedene kryptografische Anwendungen eingesetzt werden:
- Diffie-Hellman-Schlüsselaustauschprotokoll
- Digital Signature Standard (DSS), der den Digital Signature Algorithmus integriert
- ElGamal-Verschlüsselung
- Elliptic-Curve-Kryptographie, einschließlich des
- Elliptic Curve Digital Signature Algorithm (ECDSA)
- Elliptische Diffie-Hellman-Kurve (ECDH)
- Ed25519- und Ed448 (EdDSA)-Signaturschemata
- Schlüsselaustauschprotokolle X25519 und X448 (ECDH/EdDH)
- Verschiedene Techniken zur passwortauthentifizierten Schlüsselvereinbarung
- Paillier-Kryptosystem
- RSA-Verschlüsselungsalgorithmus (PKCS#1)
- Cramer-Shoup-Kryptosystem
- YAK Authenticated Key Agreement Protocol
Zu den asymmetrischen Schlüsselalgorithmen, die noch keine breite Akzeptanz gefunden haben, gehören:
- NTRUEncrypt-Kryptosystem
- Kyber-Kryptosystem
- McEliece-Kryptosystem
Zu den bemerkenswerten asymmetrischen Schlüsselalgorithmen, die als unsicher identifiziert wurden, gehören:
- Merkle-Hellman Knapsack-Kryptosystem
Zu den Protokollen, die asymmetrische Schlüsselalgorithmen beinhalten, gehören:
- S/MIME (Sichere/Mehrzweck-Internet-Mail-Erweiterungen)
- GPG (GNU Privacy Guard), eine Implementierung von OpenPGP und ein Internetstandard
- EMV (Europay, MasterCard und Visa) und die EMV-Zertifizierungsstelle
- IPsec (Internet Protocol Security)
- PGP (Pretty Good Privacy)
- ZRTP, ein sicheres Voice over IP (VoIP)-Protokoll
- Transport Layer Security (TLS), standardisiert von der IETF, und sein Vorgänger Secure Socket Layer (SSL)
- SILC (Secure Internet Live Conferencing)
- SSH (Secure Shell)
- Bitcoin
- Off-the-Record-Messaging (OTR)
Referenzen
- Ein Oral History-Interview mit Martin Hellman, geführt vom Charles Babbage Institute an der University of Minnesota. In diesem Interview beschreibt der prominente Kryptographiewissenschaftler Martin Hellman den Kontext und die wichtigsten konzeptionellen Durchbrüche im Zusammenhang mit seiner Entwicklung der Public-Key-Kryptographie zusammen mit seinen Mitarbeitern Whitfield Diffie und Ralph Merkle an der Stanford University Mitte der 1970er Jahre.
- Ein historischer Bericht, der detailliert beschreibt, wie das GCHQ die Geheimhaltung seiner Erfindung der Public Key Encryption (PKE) bis 1997 aufrechterhielt.