Schlagwort-Archive: asymmetrisch

Grundlagenwissen: Verschlüsselungsverfahren

Verschlüsselung, zur Wahrung der Vertraulichkeit einer Nachricht, spielt in der IT-Welt eine große Bedeutung. Ein Grundverständnis weit verbreiteter Verschlüsselungsverfahren ist Pflicht für jene, die in der IT arbeiten. Aber auch für Nutzer ist ein Grundverständnis hilfreich, um Anwendungen, Apps und Dienste hinsichtlich ihrer Sicherheit einschätzen und bewerten zu können.

In diesem Artikel erkläre ich die grundlegenden Konzepte asymmetrischer und symmetrischer Verschlüsselungsverfahren. Mein Ziel ist es, damit ein solides Grundwissen zu vermitteln, ohne in die Tiefen der Mathematik abzuschweifen. So werdet ihr diesem Artikel auch folgen können, wenn Mathematik nicht zu euren stärksten Fächern gehörte.

Akteure

Alice und Bob werden als Synonyme für Sender und Empfänger einer Nachricht
verwendet: Alice sendet eine Nachricht an Bob. Neben Alice und Bob werden
noch folgende Akteure in diesem Text eine Rolle spielen:

Eve, von engl. eavesdropper (zu deutsch Lauscher/Lauscherin), ist passiver Angreifer. Sie versucht, ausgetauschte Nachrichten mitzuhören (und auch zu verstehen). Sie kann die übertragenen Nachrichten jedoch nicht verändern oder in die
Systeme von Sender und Empfänger eindringen.

Marvin bezeichnet einen aktiven Angreifer. Dieser kann aktiv in das Geschehen
eingreifen, indem er z. B. Nachrichten fälscht oder zu übertragende Nachrichten
verändert.

Trudy, von engl. intruder (Eindringling), wird in ähnlicher Rolle wie Marvin gebraucht. Im Unterschied zu diesem jedoch mit dem Fokus auf das Eindringen in ein bestehendes System.

Verschlüsselung

Durch die in diesem Text beschriebenen Verschlüsselungsverfahren sollen in Bezug auf eine Kommunikationsverbindung im Wesentlichen die drei folgenden Ziele erreicht werden:

Vertraulichkeit Nur direkt an der Kommunikation beteiligte Sender und Empfänger haben Zugriff auf den Inhalt einer Nachricht. Unbeteiligte Dritte können den Inhalt der Nachricht hingegen nicht lesen.

Integrität Durch entsprechende Verfahren kann ̈uberprüft werden, ob eine Nachricht auf dem Übertragungsweg verändert wurde. Dadurch wird die Nachricht vor Fälschung durch Dritte auf dem Übertragungsweg geschützt.

Authentizität Der Absender einer Nachricht kann überprüft werden. Es soll damit verhindert werden, dass Marvin Nachrichten im Namen von Alice versendet.

Dabei werden im Allgemeinen symmetrische und asymmetrische Verschlüsselungsverfahren unterschieden.

Symmetrische Verschlüsselung

Symmetrische Verschlüsselung beschreibt ein Verfahren, bei dem zur Ver- und
Entschlüsselung von Daten der gleiche Schlüssel verwendet wird. Mit einem solchen Schlüssel kann Alice bspw. ihre Daten verschlüsseln, um sie vor den neugierigen Augen Eves zu schützen. Damit nun niemand außer Alice die Daten entschlüsseln und lesen kann, muss Alice den Schlüssel geheim halten. Daher wird dieses Verfahren auch als secret key Verschlüsselung bezeichnet.

Möchte Alice nach diesem Verfahren Nachrichten mit Bob austauschen, müssen beide über den gleichen Schlüssel verfügen, um Nachrichten ver- und entschlüsseln zu können. Die Kenntnis des geheimen Schlüssels stellt ein gemeinsames Geheimnis von Alice und Bob dar. Dieses Geheimnis wird auch als shared secret bezeichnet.

symmetriy-key-encryption
Nachrichtenübertragung unter Einsatz symmetrischer Verschlüsselung

In obiger Abbildung verwendet Alice einen geheimen Schlüssel, um eine Nachricht an Bob zu verschlüsseln. Bob verwendet den gleichen geheimen Schlüssel, um die Nachricht wieder zu entschlüsseln. Hören Eve und Trudy die Nachricht während der Übertragung ab, sehen sie nur den verschlüsselten Text und nicht die ursprüngliche Nachricht. Die Kommunikation von Alice und Bob bleibt so lange vertraulich, wie der verwendete Schlüssel geheim bleibt.

Die Schwierigkeit bei der symmetrischen Verschlüsselung besteht darin, dass Alice vor Beginn des Nachrichtenaustauschs Bob den geheimen Schlüssel mitteilen muss. Hierbei besteht das Risiko, dass der geheime Schlüssel bei der Übertragung von Eve abgehört werden kann. Eve könnte damit fortan die Kommunikation zwischen Alice und Bob mithören, mit Hilfe des geheimen Schlüssels entschlüsseln und damit auf den ursprünglichen Nachrichtentext zugreifen.

Asymmetrische Verschlüsselung

Symmetrische Verschlüsselung leistet gute Arbeit bei der Verarbeitung großer Datenmengen mit hoher Geschwindigkeit. Doch bleibt das Problem des sicheren
Schlüsselaustauschs. Dieses Problem wächst mit der Menge der Kommunikationsteilnehmer. Denn alle Teilnehmer müssen über den gleichen geheimen Schlüssel verfügen. Je mehr Teilnehmer Kenntnis über den geheimen Schlüssel haben, desto größer ist das Risiko der Kompromittierung.

Dieses Problem versucht die asymmetrische Verschlüsselung (welche auch als
public key Verschlüsselung bezeichnet wird) zu lösen, indem für die Ver- und
Entschlüsselung unterschiedliche Schlüssel verwendet werden.

Nutzer erstellen mit Hilfe einer Anwendung zuerst ein Schlüsselpaar, bestehend aus einem privaten und einem öffentlichen Schlüssel.

public-private-keygeneration.svg
Erzeugung eines Schlüsselpaars: Blaue Bildelemente sind geheim, orange sind öffentlich. Bildquelle: https://de.wikipedia.org/wiki/Datei:Orange_blue_public_private_keygeneration_de.svg

Der öffentliche Schlüssel wird zur Verschlüsselung einer Nachricht genutzt und kann frei verteilt werden. Die mit diesem öffentlichen Schlüssel verschlüsselten Daten können, wie in folgender Abbildung dargestellt, ausschließlich mit dem dazugehörigen privaten Schlüssel wieder entschlüsselt werden.

public-key-cryptography.svg
Verschlüsselung mit öffentlichem Schlüssel und Entschlüsselung mit privatem Schlüssel. Bildquelle: https://de.wikipedia.org/wiki/Datei:Orange_blue_public_key_cryptography_de.svg

Darüber hinaus kann mit dem privaten Schlüssel eine Signatur erstellt werden. Mit Hilfe des dazugehörigen öffentlichen Schlüssels kann anschließend die Authentizität und Integrität einer Nachricht überprüft werden:

digital_signature_de.svg
Signieren mit privatem Schlüssel und Verifikation mit öffentlichem Schlüssel. Bildquelle: https://de.wikipedia.org/wiki/Datei:Orange_blue_digital_signature_de.svg

Die asymmetrische Verschlüsselung findet z. B. Anwendung in OpenPGP, S/MIME und SSL/TLS-Verbindungen.

Da der zur Verschlüsselung benötigte Schlüssel nicht geheim gehalten werden muss, kann dieser auf vielfältige Weise z. B. auf Webseiten, im E-Mail-Anhang
oder über Schlüsselserver veröffentlicht werden.

Die folgende Abbildung zeigt, wie Bob eine Nachricht mit dem öffentlichen Schlüssel von Alice verschlüsselt. Alice kann diese Nachricht ausschließlich mit ihrem dazugehörigen privaten Schlüssel wieder entschlüsseln. Hört Eve die Kommunikation
ab, kann sie die Nachricht nicht entschlüsseln, da sie den zugehörigen privaten
Schlüssel nicht besitzt.

public-key-encryption.png
Bob verschlüsselt eine Nachricht und sendet sie an Alice. Bildquelle: https://en.wikipedia.org/wiki/File:Public_key_encryption.svg

Wenn Bob die Nachricht an Alice zusätzlich noch mit seinem eigenen privaten Schlüssel signiert hat, kann Alice mit Bobs öffentlichen Schlüssel überprüfen, ob die Nachricht tatsächlich von Bob stammt oder auf dem Übertragungsweg evtl. von Marvin verändert wurde.

Asymmetrische Verschlüsselung kann für die gleichen Zwecke wie symmetrische Verschlüsselung verwendet werden. Das Verfahren ist jedoch wesentlich langsamer als symmetrische Verschlüsselungsverfahren. Daher kommen in der Praxis häufig hybride Verfahren zum Einsatz.

Dabei verwendet Alice z. B. den öffentlichen Schlüssel von Bob, um einen symmetrischen Schlüssel sicher an Bob zu übertragen. Damit Bob verifizieren kann,
dass ihm der symmetrische Schlüssel auch wirklich von Alice gesendet wurde, kann Alice diesen zusätzlich mit ihrem privaten Schlüssel signieren. Bob kann den symmetrischen Schlüssel mit seinem privaten Schlüssel entschlüsseln. Anschließend nutzen Alice und Bob für die weitere Kommunikation den symmetrischen Sitzungsschlüssel.

Zusammenfassung

Dieser Artikel ist Kapitel 2 aus meinem TLS/SSL Kochbuch entnommen. Er vermittelt Grundlagenwissen zu symmetrischen und asymmetrischen Verschlüsselungsverfahren.

Während sich symmetrische Verfahren besonders durch ihre hohe Geschwindigkeit auszeichnen, stellt der sichere Austausch des shared secrets eine große Herausforderung dar. Das Problem des Schlüsselaustauschs wurde mit den asymmetrischen Verfahren gelöst. Allerdings arbeiten diese deutlich langsamer als symmetrische Verfahren. Daher werden diese Verfahren in der Praxis häufig kombiniert. So kommt ein asymmetrisches Verfahren zum Einsatz, um einen Sitzungsschlüssel auszutauschen (shared secret), welcher für die weitere Kommunikation verwendet wird.

Die in diesem Artikel beschriebenen Verfahren finden z.B. in OpenPGP, S/MIME und X.509-Zertifikaten Anwendung. Sie alle haben gemeinsam, dass Nutzer über eine private Komponente verfügen, welche stets geheim zu halten ist und eine öffentliche Komponente, die unbeschränkt geteilt werden kann.

Eine solide Kenntnis der beteiligten kryptographischen Verfahren erleichtert das Verständnis und den Umgang mit den genannten Protokollen und Werkzeugen im Alltag. Ich freue mich, wenn es mir mit diesem Artikel gelungen ist, dieses Grundlagenwissen zu vermitteln.

Quellen und weiterführende Links

  • J. Callas u. a. OpenPGP Message Format. IETF RFC 4880. The Internet Engineering Task Force (IETF R©), 2007. url: https://tools.ietf.org/html/rfc4880.
  • Charlie Kaufman, Radia Perlman und Mike Speciner. Network security : private communication in a public world ; [now includes IPsec, SSL, PKI, AES, and web security]. eng. 2. ed. Prentice Hall series in computer networking and distributed systems. Upper Saddle River, N.J. ; London: Prentice Hall PTR, 2002, XXVI, 713 S. : graph. Darst. isbn: 0-13-046019-2.
  • B. Ramsdell u. a. Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.2 Message Specification. IETF RFC 5751. The Internet Engineering Task Force (IETF R©), Jan. 2010. url: https://tools.ietf.org/html/rfc5751.
  • Ivan Risti ́c. Bulletproof SSL and TLS : [understanding and deploying SSL/TLS and PKI to secure servers and web applications]. eng. London: Feisty Duck, 2014, XXII, 506 S. : graph. Darst., Kt. isbn: 978-1-907117-04-6.