8 Einführung in die
Public-Key-Infrastruktur (PKI)
8.1 Verschlüsselung im
Allgemeinen
8.1.1 Caesar-Chiffre
Die Caesar-Chiffre ist eine der einfachsten und bekanntesten
Verschlüsselungstechniken. Sie basiert auf der Verschiebung des
Alphabets um eine feste Anzahl von Positionen. Zum Beispiel wird bei
einer Verschiebung um 3 aus dem Buchstaben A der Buchstabe D, aus B wird
E, und so weiter.
8.1.1.1 Beispiel:
Klartext: HELLO
Verschlüsselter Text (mit Verschiebung um 3): KHOOR
8.1.2 Enigma-Maschine
Die Enigma-Maschine war eine komplexe Verschlüsselungsmaschine, die
während des Zweiten Weltkriegs von den Deutschen verwendet wurde. Sie
benutzte eine Kombination von rotierenden Walzen und elektrischen
Schaltkreisen, um den Klartext in einen scheinbar zufälligen
verschlüsselten Text zu transformieren. Die Sicherheit der Enigma
beruhte auf der täglichen Änderung der Walzenstellungen und der
Verkabelung der Walzen.
8.2 Kryptographie in der
Informationstechnik
8.2.1 XOR-Verschlüsselung
Eine einfache und oft verwendete Methode zur Verschlüsselung in der
Informationstechnik ist die XOR-Verschlüsselung. Dabei wird der Klartext
mit einem Schlüssel bitweise mit der XOR-Operation verknüpft. Die
XOR-Operation hat die Eigenschaft, dass sie beim erneuten Anwenden den
ursprünglichen Wert wiederherstellt.
Entschlüsselter Text: 1010 (Verschlüsselter Text XOR Schlüssel)
8.2.2 Symmetrische
Verschlüsselung
Bei der symmetrischen Verschlüsselung verwenden sowohl der Sender als
auch der Empfänger denselben geheimen Schlüssel zum Ver- und
Entschlüsseln der Daten. Der größte Nachteil dieser Methode ist die
sichere Verteilung des Schlüssels.
8.2.2.1 Beispiele für symmetrische
Algorithmen:
DES (Data Encryption Standard): Ein veralteter,
aber historisch bedeutender Algorithmus.
AES (Advanced Encryption Standard): Ein moderner
und weit verbreiteter Algorithmus, der als sehr sicher gilt.
8.3 Asymmetrische
Kryptographie
Asymmetrische Kryptographie verwendet ein Schlüsselpaar: einen
öffentlichen Schlüssel und einen privaten Schlüssel. Das grundlegende
Prinzip ist, dass Daten, die mit dem öffentlichen Schlüssel
verschlüsselt werden, nur mit dem privaten Schlüssel entschlüsselt
werden können und umgekehrt. Dies bedeutet, dass die beiden Schlüssel
wechselseitig verwendbar sind, um die Verschlüsselung und
Entschlüsselung durchzuführen.
8.3.1 Funktionsweise
Öffentlicher Schlüssel: Kann frei verteilt werden
und wird verwendet, um Nachrichten zu verschlüsseln.
Privater Schlüssel: Wird geheim gehalten und wird
verwendet, um Nachrichten zu entschlüsseln, die mit dem öffentlichen
Schlüssel verschlüsselt wurden.
Der öffentliche Schlüssel kann aus dem privaten Schlüssel erzeugt
werden, aber der umgekehrte Weg ist aufgrund der mathematischen
Komplexität nicht möglich.
8.3.2 Beispiel
Verschlüsselung mit dem öffentlichen Schlüssel:
Alice verschlüsselt eine Nachricht mit Bobs öffentlichem
Schlüssel.
Nur Bob kann die Nachricht mit seinem privaten Schlüssel
entschlüsseln.
Signierung mit dem privaten Schlüssel:
Bob signiert eine Nachricht mit seinem privaten Schlüssel.
Jeder kann die Signatur mit Bobs öffentlichem Schlüssel überprüfen,
um sicherzustellen, dass die Nachricht von Bob stammt.
8.3.3 RSA
Der RSA-Algorithmus ist einer der bekanntesten asymmetrischen
Algorithmen. Er basiert auf der mathematischen Schwierigkeit, große
Primzahlen zu faktorisieren. RSA ermöglicht sowohl die Verschlüsselung
als auch die digitale Signatur.
8.3.4 ElGamal
Der ElGamal-Algorithmus basiert auf dem diskreten Logarithmusproblem
und wird oft in kryptographischen Protokollen wie dem
Diffie-Hellman-Schlüsselaustausch verwendet.
8.3.5 Elliptic Curve Cryptography
(ECC)
Elliptic Curve Cryptography ist eine Form der asymmetrischen
Kryptographie, die elliptische Kurven zur Erstellung von Schlüsseln
verwendet. ECC bietet bei kürzeren Schlüsseln eine vergleichbare
Sicherheit wie RSA und wird zunehmend in modernen Anwendungen
eingesetzt.
8.4 Public-Key-Konzepte
8.4.1 Funktionsweise
Das öffentliche/privat-Schlüssel-Paar hat folgende Eigenschaften: -
Öffentlicher Schlüssel: Kann von jedem verwendet
werden, um Daten zu verschlüsseln, die nur mit dem entsprechenden
privaten Schlüssel entschlüsselt werden können. - Privater
Schlüssel: Bleibt geheim und wird verwendet, um Daten zu
entschlüsseln, die mit dem öffentlichen Schlüssel verschlüsselt wurden,
oder um Daten zu signieren.
8.4.1.1 Beispiel
Alice möchte Bob eine sichere Nachricht senden.
Bob gibt Alice seinen öffentlichen Schlüssel.
Alice verschlüsselt die Nachricht mit Bobs öffentlichem
Schlüssel.
Bob entschlüsselt die Nachricht mit seinem privaten Schlüssel.
Alice möchte eine Nachricht signieren, die Bob überprüfen
kann.
Alice signiert die Nachricht mit ihrem privaten Schlüssel.
Bob überprüft die Signatur mit Alices öffentlichem Schlüssel.
8.5 Man-in-the-Middle-Angriff
Ein Man-in-the-Middle-Angriff (MITM) tritt auf, wenn ein Angreifer
sich heimlich zwischen die Kommunikation zweier Parteien schaltet und
die ausgetauschten Nachrichten abfängt oder manipuliert.
mitm.svg
8.5.1 Erklärung
Alice sendet eine verschlüsselte Nachricht an Bob:
Alice verschlüsselt die Nachricht mit Bobs öffentlichem Schlüssel
und sendet sie ab.
Der Angreifer Ted fängt die Nachricht ab.
Ted entschlüsselt die Nachricht:
Ted entschlüsselt die Nachricht mit seinem privaten Schlüssel (falls
er sich als Bob ausgibt und Alice ihm versehentlich ihren öffentlichen
Schlüssel gegeben hat).
Ted hat jetzt Zugriff auf den Klartext der Nachricht.
Ted manipuliert die Nachricht:
Ted verändert die Nachricht nach Belieben.
Ted verschlüsselt die manipulierte Nachricht:
Ted verschlüsselt die manipulierte Nachricht erneut, diesmal mit
Bobs öffentlichem Schlüssel, und sendet sie an Bob.
Bob erhält die manipulierte Nachricht und
antwortet:
Bob entschlüsselt die Nachricht mit seinem privaten Schlüssel und
antwortet darauf, ohne zu wissen, dass die Nachricht manipuliert
wurde.
Bob verschlüsselt seine Antwort mit Alices öffentlichem Schlüssel
und sendet sie ab.
Ted fängt die Antwort ab:
Ted fängt die Antwort von Bob ab.
Ted entschlüsselt die Antwort mit seinem privaten Schlüssel (falls
er sich als Alice ausgibt und Bob ihm versehentlich seinen öffentlichen
Schlüssel gegeben hat).
Ted manipuliert die Antwort:
Ted verändert die Antwort nach Belieben.
Ted verschlüsselt die manipulierte Antwort:
Ted verschlüsselt die manipulierte Antwort erneut, diesmal mit
Alices öffentlichem Schlüssel, und sendet sie an Alice.
8.5.2 Schutz durch Signaturen
Digitale Signaturen können verwendet werden, um die Integrität und
Authentizität einer Nachricht zu gewährleisten. Eine digitale Signatur
wird mit dem privaten Schlüssel des Absenders erstellt und kann von
jedem mit dem öffentlichen Schlüssel des Absenders überprüft werden.
8.5.2.1 Beispiel:
Alice erstellt eine Nachricht und erzeugt eine Signatur mit
ihrem privaten Schlüssel.
Bob erhält die Nachricht und die Signatur.
Bob verwendet Alices öffentlichen Schlüssel, um die Signatur
zu überprüfen und sicherzustellen, dass die Nachricht nicht verändert
wurde und wirklich von Alice stammt.
8.6 Zertifizierungsstellen
(CAs)
Zertifizierungsstellen sind vertrauenswürdige Dritte, die digitale
Zertifikate ausstellen. Ein digitales Zertifikat bestätigt die Identität
des Inhabers und enthält den öffentlichen Schlüssel des Inhabers.
8.6.1 Funktionsweise
Eine Entität (z.B. eine Website) erzeugt ein Schlüsselpaar und einen
Zertifikatsantrag.
Der Antrag wird an die CA gesendet.
Die CA überprüft die Identität der Entität.
Nach erfolgreicher Überprüfung stellt die CA ein Zertifikat aus, das
den öffentlichen Schlüssel der Entität enthält.
Das Zertifikat kann dann verwendet werden, um sichere Verbindungen
aufzubauen (z.B. HTTPS).
8.6.2 Beispiel für ein
Zertifikat
Inhaber: www.example.com
Öffentlicher Schlüssel: (öffentlich
zugänglich)
CA: Let’s Encrypt
Signatur der CA: Bestätigt die Authentizität des
Zertifikats
Durch die Verwendung von Zertifikaten und digitalen Signaturen können
Man-in-the-Middle-Angriffe verhindert und die Sicherheit der
Kommunikation gewährleistet werden.
ca_avoid_mitm.svg
Dieses Sequenzdiagramm verdeutlicht, wie Zertifikate und die
Überprüfung durch eine vertrauenswürdige Zertifizierungsstelle (CA)
helfen, Man-in-the-Middle-Angriffe zu verhindern und eine sichere
Kommunikation zwischen zwei Parteien zu gewährleisten.
Initialer Verbindungsaufbau:
Alice fordert Bobs Zertifikat an, um eine sichere Verbindung zu Bob
herzustellen.
Bob sendet sein Zertifikat, das von einer vertrauenswürdigen
Zertifizierungsstelle (CA) signiert wurde.
Zertifikat-Validierung:
Alice überprüft die Signatur des Zertifikats bei der CA.
Die CA bestätigt die Gültigkeit des Zertifikats.
Sicherer Schlüsselaustausch:
Alice und Bob tauschen einen Sitzungsschlüssel aus, der mit Bobs
öffentlichem Schlüssel verschlüsselt ist.
Dieser Schlüsselaustausch kann nur von Bob mit seinem privaten
Schlüssel entschlüsselt werden.
Man-in-the-Middle-Versuch scheitert:
Ted versucht, sich in die Kommunikation einzuschalten und gibt sich
als Bob aus.
Bob sendet sein Zertifikat, das Ted überprüfen muss.
Ted überprüft die Signatur des Zertifikats bei der CA und stellt
fest, dass es gültig ist.
Verhinderung des Man-in-the-Middle-Angriffs:
Ted versucht, seinen eigenen öffentlichen Schlüssel an Alice zu
senden.
Alice überprüft Teds Zertifikat bei der CA.
Die CA bestätigt, dass Teds Zertifikat ungültig ist (nicht von der
CA signiert).
Alice verweigert den Verbindungsaufbau mit Ted.
Sichere Kommunikation:
Nach der erfolgreichen Zertifikat-Validierung und dem sicheren
Schlüsselaustausch kommunizieren Alice und Bob sicher miteinander.
Jede Nachricht wird mit dem gültigen Sitzungsschlüssel
verschlüsselt, wodurch ein Man-in-the-Middle-Angriff verhindert
wird.