Datenverschlüsselung
Worum es geht:
Dass Daten verschlüsselt werden können, und dass das was Gutes ist, wissen alle. Aber dass es grundsätzlich 2 Arten gibt, nicht
Hier geht es um symmetrische und asymetrische Verschlüsselung und wie man sie anwendet.
Gründe für Datenverschlüsselung
Verschlüsselung von Daten gibt es seit der Antike. Mit einer Verschlüsselung schützt man Informationen, die nicht öffentlich sein sollen. Gründe dafür gibt es viele:
- Militärische Geheimnisse
- Alles was mit Geld und Geldtransfers zu tun hat
- Sehr persönliche Daten (Krankenakten zum Beispiel)
- Liebesbriefe ...
In der heutigen Internet-Welt sind Verschlüsselungen allgegenwärtig. Meistens merkt man davon nicht einmal etwas. Aber dennoch ist es gut.
Wie man Daten verschlüsselt
Um Daten zu verschlüsseln und sie wieder zu lesen braucht man mindestens
- ein Verfahren das beschreibt, wie man Dinge ver- und entschlüsselt
- ein Geheimnis
Im Mittelalter hat man zum Beispiel Geheimtinte verwendet. Man hat den Text mit der Tinte auf ein Papier geschrieben und sie war unsichtbar. Zum Lesen musste man das Papier über eine Kerze erwärmen.
Bei diesem Vorgehen bestand das Geheimnis darin zu wissen, wie das Verfahren funktioniert. Verfahren und Geheimnis waren eine Einheit.
Auf moderne Zeiten wäre das vergleichbar mir dieser Verschiebe-Regel:
Zum Verschlüsseln eines Textes nimm jeweils den nachfolgenden Buchstaben:
Aus A wird B, aus B wird C und so weiter
Aus dem Wort "Geheimnis" wird so "Hfifjnojt"
Der Nachteil dieses Vorgehen: Ist das Geheimnis aufgedeckt, braucht man ein neues Verfahren.
Trennung von Verfahren und Geheimnis: Schlüssel
Besser ist es, wenn man Verfahren und Geheimnis trennt. Hier mal am Beispiel :
- Das Verfahren ist bekannt, jeder weiß, dass man die Buchstaben um soviel verschieben muss, wie der Schlüssel vorgibt.
- Der Schlüssel ist ein Buchstabe
Also: Wenn der Schlüssel "B" ist, dann ist das das der 2. Buchstabe im Alphabet, man muss also alle Buchstaben um 2 verschieben: A -> C, B ->D usw.
Aus "Geheimnis" wird dann "Igjgkopku".
Der Vorteil dieser Trennung: Wird der Schlüssel aus irgend einem Grund bekannt, nimmt man beim nächsten Mal einen anderen.
Dieses Beispiel ist natürlich eine ganz einfache Verschlüsselung. Sie ist ganz leicht zu knacken, in dem man alle Buchstaben ausprobiert.
Diese Methode des "Ausprobieren des Schlüssels" wird "Brute-Force-Attac" (Angriff mit roher Gewalt) genannt ist immer noch ein gängiges Verfahren.
Symmetrische Verschlüsselung
Das oben im Beispiel beschriebene Verfahren benutzt zum Verschlüsseln und Entschlüsseln den gleichen Schlüssel. Dieses Verfahren nennt man
Symmetrische Verschlüsselung
Lokale Verschlüsselung
Symmetrische Verschlüsselung eignet sich besonders, wenn man für sich etwas verschlüsseln will.
Es gibt zahlreiche Programme, die man zum symmetrischen Verschlüsseln verwenden kann.
Beispiele:
- ZIP
Hier wird ein verschlüsseltes Archiv erstellt. Als nächstes wird ein Passwort erwartet.
Zum Entschlüsseln muss man genau das gleiche Passwort eingeben.
+ GPG
gpg ist ein Kommandozeiletool, das es für alle Syteme gibt.
Hier mal ein Beispiel für eine Ver- und Entschlüsselung. Ich habe es auf einem Linux - System erstellt, in anderen Systeme ist es aber ähnlich.
Im Einzelnen:
- echo "Hallo" > test.txt
Es wird die Datei test.txt erzeugt - echo "Hallo" > test.txt
Die Datei test.txt wird ausgegeben. Wie zu erwarten war, ist der Inhalt "Hallo" - gpg --symmetric test.txt
Die Datei test.txt wird mit einem symmetrischen Verfahren verschlüsselt. Es öffnet sich ein neues Fenster (nicht dargestellt), in dem man das Passwort eingeben muss - ls -l test (bei Windows heißt dieser Befehl dir test) <br) Das Verzeichnis wird ausgelesen. Neben der ursprünglichen Datei gibt es jetzt zusätzlich die Datei test.txt.gpg. Es ist die verschlüsselte Datei. Man sieht, die Datei ist länger (84 Bytes statt 6). In der Datei muss ja auch noch der Schlüssel und Informationen zum Kodierverfahren enthalten sein.
- gpg --output test2.txt --decrypt test.txt.gpg
Die Datei test.txt.pgp wird entschlüsselt, das Ergebnis wird nach test2.txt geschrieben. Hierzu muss das in 3. verwendete Passwort benutzt werden. - ls -l test*
Die neue Datei test2.txt ist genau so lang wir die ursprüngliche Datei test.txt, was ja auch gewünscht ist. - cat test2.txt
Die Ausgabe der Datei ergibt "Hallo", also ist die entschlüsselte Datei gleich der ursprünglichen Datei.
Weitergabe von verschlüsselten Dokumenten
Natürlich kann man die symmetrische Verschlüsselung auch verwenden, wenn man jemand anderem ein Dokument zukommen lassen möchte. Sowohl derjenige, der etwas Verschlüsselt und derjenige, der etwas entschlüsselt, müssen den gleichen Schlüssel kennen.
An den Übertragungskanal sind hierbei keine Anforderungen gestellt. Man kann also ein verschlüsseltes Dokument als Anhang an eine E-Mail hängen. Kein Problem.
!!! WARNUNG: Eine E-Mail ist eine offene Kommunikation! Wie früher die Postkarte.
Das Problem: Man muss irgendwie den Schlüssel zum Empfänger bekommen. Das muss auf einem getrennten, sicheren Weg erfolgen. Es macht also keinen Sinn, den Schlüssel mit in die Email zu legen ;-). Geeignet sind zum Beispiel verschlüsslte Messenger wie Threema, Signal und Whatsapp. Auch das Telefon ist möglich, aber bei langen Schlüssel langwierig und fehleranfällig.
Asymetrische Verschlüsselung
Die asymmetrische Verschlüsselung bedeutet
Es gibt 2 unterschiedliche Schlüssel, die voneinander abhängen: Einen zum Verschlüsseln, einen zum Entschlüsseln
Es gibt tatsächlich erst seit den 70er Jahren ein mathematisches Verfahren, das eine solche Trennung ermöglicht.
Was auf den ersten Blick umständlich erscheint - man kann sich nicht eifach einen Schlüssel ausdenken, sondern sie müssen in Abhängigkeit generiert werden - erweist sich als genialer Schachzug:
- Mit dem "Verschlüsselungs-Schlüssel" kann ich wirklich nur verschlüsseln, nicht entschlüsseln. Das heißt, von ihm geht keine Gefahr aus. Ich brauche ihn nicht geheim halten. Im Gegenteil: Ich kann ihn veröffentlichen (auf Server hochladen, an E-Mail anhängen usw.). Er wird daher auch "öffentlicher Schlüssel (public key)" genannt.
- Den 2. Schlüssel brauche ich zum Entschlüsseln von Informationen, die mit dem öffentlichen Schlüssel verschlüsselt wurden. Im muss ihn unbedingt geheim halten und nicht herausgeben. Das Gute ist: Es besteht überhaupt keine Notwendigkeit, den Schlüssel irgend jemandem mitzuteilen. Er wird "Privater Schlüssel (private key)" genannt.
Eine verschlüsselte Kommunikation zwischen den Teilnehmer A und B sieht dann so aus:
- Teilnehmer A besorgt sich einen öffentlichen Schlüssel des Teilnehmers B und verschlüsselt das Dokument mit diesem
- Teilnehmer B entschlüsselt das von A empfangene Dokument mit seinem privaten Schlüssel
- Der Rückweg funktioniert genau so: Verschlüsselung mit dem öffentlichen Schlüssel von A, entschlüsseln mit dem privaten Schlüsseln
Will man also ein Dokument verschlüsselt übertragen, braucht man den öffentlichen Schlüssel des Empängers.
Auch die Verschlüsselung von E-Mails (machen leider die wenigsten) funktioniert auf diese Weise.
- Falls man gefragt wird, welches Verschlüsselungsverfahren man verwenden möchte, dann ist man mit AES, RSA, Twofisch oder Triple-DES auf der sicheren Seite.
Das Schlüsselpaar Privat/Öffentlich kann man auch zu anderen Dingen verwenden: "Unterschreiben" von Dokumenten, Zugangskontrolle. Aber dazu mehr in einem der nächsten Posts.
Wer es genauer wissen will
Dir schwirrt der Kopf? Verstehe ich. Aber das hier war nur eine sehr grobe Zusammenfassung. Die meisten IT-Experten sind wahrscheinlich entsetzt, weil es noch so viele Details gibt. Wer mehr wissen will, dem empfehle ich
Verschlüsselung bei Wikipedia Eine Vertiefung von dem , was ich hier erzähle
Verschlüsselungsverfahren Was ich hier erzählt habe, nur technisch detaillierter
Asymmetrische Verschlüsselung (Wikipedia)
Verschlüsseln mit GnuPG Erzeugen und verwenden asymeetrischer Schlüssel
Danksagungen
Vielen Dank an
- Clker-Free-Vector-Image
- kreatikar
Für ihre Grafiken be https://pixaby.com