Digitale Verschlüsselung von Daten und deren Signierung sind die Grundlage von sicherem Datenaustausch im Internet und damit die essenzielle Basis von sicherer Geschäftsabwicklung und Kommunikation. Leider sind die dahinter liegenden Funktionsweisen nicht wirklich vielen Menschen bekannt, obwohl sie eigentlich gar nicht so schwer zu verstehen sind. Gerhard Hipfinger erklärt mit einfachen Beispielen, wie Daten sicher verschlüsselt werden können und warum die digitale Signatur von Daten essentiell ist, um übermittelten Daten auch vertrauen zu können!
Um das zu erklären muss ich etwas weiter ausholen, denn da steckt ganz schön viel Mathematik dahinter - aber keine Angst, darum geht es heute nicht, es geht nur um die Anwendung und die grundsätzliche Arbeitsweise.
Ich sehe was, was du nicht siehst
Das Ganze hat mit der Verschlüsselung von Nachrichten zu tun. Ich möchte also eine Information - einen Text - so übermitteln, dass ein anderer diese Information zwar lesen kann, aber den Sinn dahinter nicht versteht. Wie bei einer Geheimsprache. Im Freundeskreis oder innerhalb der Familie existieren meist Phrasen oder Sätze, die für die Eingeweiten eine konkrete Bedeutung haben, aber Außenstehende nicht verstehen was damit gemeint ist - ein Insider Witz zum Beispiel. Das was der eingeweihte Kreis dem Rest voraus hat, ist ein gemeinsames Wissen, wie die Botschaft gemeint ist - sie haben also einen zusätzlichen Kontext der ihnen hilft, die Nachricht zu interpretieren.
Im Prinzip funktioniert auch die Verschlüsselung in modernen Computersystemen ähnlich.
Wenn eine Nachricht so übermittelt werden soll, damit andere sie nicht entziffern können, gibt es zwei grundsätzliche Möglichkeiten:
- Symmetrische und
- asymetrische Verschlüsselung.
Symmetrische Verschlüsselung
Dabei tauschen die Partner zuvor Informationen aus, wie die Daten verschlüsselt werden. Im einfachsten Fall wird die Info über das Verfahren ausgetauscht. Etwa eine Übersetzungstabelle von Buchstaben (z. B. a wird zu e, e wird zu z, z wird zu j usw.). Bei Austausch einer Nachricht brauchen beide die gleiche Übersetzungstabelle und das Wissen über das angewandte Verfahren. Der verschlüsselten Kommunikation steht nun nichts mehr im Weg!
Unser Beispiel mit den Freunden würde ich als symmetrische Verschlüsselung klassifizieren. Die Übersetzungstabelle oder besser der Kontext wurden bereits in der Vergangenheit vereinbart und sind insofern vertraulich, dass nur die Beteiligten wissen, wie die Botschaft zu entschlüsseln ist. Oft verwendet man dazu einen anderen Informationsweg - z. B. werden Details vorab telefonisch ausgetauscht und die anschließende E-Mail-Kommunikation findet verschlüsselt statt.
Damit möchte ich schon mit der symmetrischen Verschlüsselung abschließen. Nur noch so viel: Symmetrische Verschlüsselung kommt auch heute in vielen IT-Anwendungsbereichen zum Einsatz, vor allem weil sie sehr einfach und schnell umzusetzen ist und die Menge an Information kaum vergrößert.
Asymmetrische Verschlüsselung
Die Vorgehensweise unterscheidet sich grundsätzlich von der symmetrischen Verschlüsselung. Zunächst erzeugen die Kommunikationspartner jeweils zwei Schlüssel - man spricht von einem Schlüsselpaar.
Einer dieser Schlüssel ist geheim, der andere öffentlich. Der Clou ist, dass es unmöglich sein muss, aus dem öffentlichen Schlüssel den privaten Schlüssel abzuleiten. Die gute Nachricht ist, dass die Mathematik genau solche Verfahren zur Verfügung stellt, die das ermöglichen. Die schlechte Nachricht ist, dass Quantencomputer genau diese mathematischen Verfahren - zumindest noch theoretisch - recht einfach lösen können. Aber darüber könnten wir uns wohl in einem anderen Beitrag unterhalten.
Möchten nun zwei Partner - nennen wir sie Peter und Alexander - miteinander kommunizieren, könnten sie so vorgehen:
-
Zunächst müssen Peter und Alexander jeweils ihre öffentlichen Schlüssel übermitteln. Das kann über jedes beliebige Medium passieren - die Daten sind ja öffentlich und nicht geheim.
-
Peter hat sein Schlüsselpaar, also den geheimen Schlüssel und den öffentlichen. Peter verschlüsselt nun eine geheime Nachricht mit dem öffentlichen Schlüssel von Alexander. Die so verschlüsselte Nachricht kann dann nur noch mit dem privaten Schlüssel von Alexander entschlüsselt werden. Und nur Alexander darf seinen privaten Schlüssel besitzen. Gleichzeitig kann Peter die Nachricht zusätzlich mit seinem privaten Schlüssel signieren.
-
Wenn Alexander nun die Nachricht empfängt, kann nur er sie entschlüsseln, weil er der einzige ist, der seinen privaten Schlüssel besitzt. Gleichzeitig kann er die Signatur mittels dem öffentlichen Schlüssel von Peter prüfen. Ist die Prüfung erfolgreich, kann er sich darauf verlassen, dass die Nachricht garantiert von Peter stammt, da nur er die Signatur mit seinem privaten Schlüssel erstellt haben konnte.
Das gesamte Sicherheitskonzept beruht also darauf, dass die privaten Schlüssel auch wirklich sicher verwahrt sind und nicht in die falschen Hände gelangen.
In der Praxis
Jeder, der heute einen Webbrowser verwendet und eine gesicherte Webseite besucht - und das sind heute so gut wie alle - verwendet eine Kombination aus asymmetrischer und symmetrischer Verschlüsselung. Beim Öffnen einer gesicherten Website mit https-Protokoll werden Zertifikate ausgetauscht und auf ihre Gültigkeit hin überprüft. Egal ob im Internetbanking, im e-Government Bereich oder beim Online Shop eures Vertrauens könnt ihr nachsehen, welche Daten im Zertifikat enthalten sind.
Damit Verschlüsselung in der Praxis funktioniert, muss das Problem gelöst werden, dass man den öffentlichen Schlüsseln auch vertrauen kann bzw. sich sicher sein kann, dass die Person oder Organisation hinter dem Schlüssel auch tatsächlich real ist und die für die sie sich ausgibt.
Schon seit sehr vielen Jahren gibt es dafür ein Verfahren, das man PKI - Public Key Infrastructure - nennt.
Public Key Infrastructure (PKI)
Auch hier wieder ein anschauliches Beispiel:
In einer Gruppe von Menschen einigen sich alle darauf, Susanne zu vertrauen. Sie bekommt einen fälschungssicheren Stempel. Wer in der Gruppe ein wichtiges Dokument übertragen möchte, bei dem sich der Empfänger sicher sein kann, dass der Absender garantiert echt ist, geht man zu Susanne.
Sie prüft den Absender und das Dokument. Wenn sie geprüft hat, dass der Absender der im Dokument erwähnt ist auch mit der Person übereinstimmt, die gerade vor ihr steht, stempelt sie das Dokument. Der Empfänger erkennt den Stempel - und weiß, dass er von Susanne ist - der Stempel ist ja fälschungssicher. Er vertraut zwar nicht unbedingt dem Absender, aber er vertraut Susanne. Nachdem sie das Dokument gestempelt hat vertraut er auch darauf, dass der Absender stimmt.
PKI funktioniert genau so. Auch hier stellt uns die Mathematik Methoden bereit, die dem fälschungssicheren Stempel entsprechen. Es gibt eine Instanz, bei der sich alle Kommunikationsteilnehmer einigen, ihr zu vertrauen. Mithilfe asymmetrischer Verschlüssung erstellt diese vertrauensvolle Instanz ein Schlüsselpaar - einen öffentlichen und den privaten. Diese oberste Instanz nennt man in der IT die "Certificate Authority" und deren öffentlichen Schlüssel das "Root Certificate".
Weltweit gibt es mehrere Firmen die die Rolle der Certificate Authority übernehmen und anbieten, davon abgeleitete Zertifikate zu erstellen. Und einige dieser Certificate Authorities haben ihre öffentlichen Schlüssel in den wichtigsten Webbrowsern wie Google Chrome, MS Edge, Firefox oder Safari hinterlegt.
Das ist auch schon das vermeintliche Geheimnis, warum https und ähnliche Verschlüsselungen funktionieren.
Die Software um solche Zertifikate oder Schlüsselpaare zu erzeugen oder selbst eine Certificate Authority zu werden ist als Open Source Software frei verfügbar und kann jederzeit überprüft und verwendet werden. Das Management von digitalen Signaturen ist also eine marginale technische Herausforderung, wenn man die zugrunde liegenden Mechanismen verstanden hat. Dazu hat dieser Beitrag hoffentlich beigetragen!
Wir planen noch ein paar weitere Beiträge, um Anwendungsbereiche dieser Technologie vorzustellen - wie z. B. den grünen Pass und Impfzertifikate - die durch Corona einer breiteren Öffentlichkeit ins Bewusstsein gebracht wurden.
Ich hoffe, durch die anschaulichen Beispiele etwas Klarheit in das Thema gebracht zu haben und dem ganzen Thema etwas von seinem geheimnisvollen Ruf genommen zu haben. Im Grunde ist das Verfahren recht einfach - die Mathematik dahinter nicht, aber das überlasse ich einen berufenen Mathematiker, darüber aufzuklären.
Fazit
Wenn man die Grundlagen - auch ohne der dahinterstehenden Mathematik - verstanden hat, sind die Themen Verschlüsselung und digitale Signaturen gar nicht so schwer zu verstehen. Jeder kann selbst mit einfachen Mitteln hinterfragen, ob Systeme sicher aufgebaut sind oder digitale Signaturen selbst überprüfen. Die notwendigen Softwarewerkzeuge dazu sind frei verfügbar!