Symmetrische und asymmetrische Verfahren sowie Hashes erklärt

PRIVATE und PUBLIC KEY, symmetrische und asymmetrische Verschlüsselung

Symmetrische Verschlüsselung bedeutet, es gibt nur einen einzigen Key. Dieser wird oft “PRIVATE” oder “SECRET” KEY genannt (obwohl er weder privat noch geheim ist).

Ein Beispiel: Bob schreibt eine EMail an seine Arbeitskollegin Susanne. Er verschlüsselt den Text mit einem “SECRET” KEY. Den Buchstabensalat schickt er Susanne per EMail. Beim nächsten Treffen gibt Bob den “SECRET” KEY an Susanne weiter. Nun kann sie die EMail entschlüsseln und lesen.

Asymmetrische Verschlüsselung bedeuet, es gibt einen Public Key. Deswegen werden diese Verfahren auch als “Public-Key Cryptography” bezeichnet. Hier nutzen wir ein Schlüsselpaar, das aus dem PRIVATE KEY und dem PUBLIC KEY besteht. Der PRIVATE KEY dient zur Entschlüsselung, der PUBLIC KEY zur Verschlüsselung. Der PRIVATE KEY kann (und sollte) mit einem Passwort geschützt werden und bleibt sicher verwahrt auf dem lokalen Rechner (verschlüsselte Backups nicht vergessen). Der PUBLIC KEY erhält kein Passwort und wird dem Empfänger mitgeteilt. Dazu kann er öffentlich auf einen Keyserver geladen, oder per Handschlag auf USB Stick überreicht werden. Für kritische Daten empfiehlt es sich, wenn beide Kommunikationspartner ein neues Schlüsselpaar erstellen. Dieses wird dann ausschließlich zur Kommunikation zwischen diesen beiden Partnern verwendet. Die Weitergabe der PUBLIC KEYs erfolgt per Handschlag.
Achtung: Die alten SKS Schlüsselserver sollen nicht mehr benutzt werden, da sie anfällig sind für einen “Certificate Spam Attack”. Verwendet ausschließlich die neuen openpgp Keyserver welche nicht mehr SKS (“Synchronizing Key Server”) verwenden, wie zum Beispiel hkps://keys.openpgp.org.
Anmerkung: Viele Programme, zum Beispiel SSH, verwenden asymetrische Verfahren.

Ein Beispiel: Bob will Susanne eine EMail schicken. Er lädt Susannes PUBLIC KEY von einem Keyserver herunter. Dann schreibt er die EMail und verschlüsselt den Text mit Susannes PUBLIC KEY. Auch Bob gibt seinen PUBLIC KEY an Sussanne weiter. Mit dem PUBLIC KEY von Bob kann Susanne sicherstellen, dass die Email von Bob kommt. Mit ihrem PRIVATE KEY kann sie seine Nachricht schließlich entschlüsseln und lesen. Sie hat aber keine Möglichkeit eine Email in Bobs Namen zu verschlüsseln, da sie seinen PRIVATE KEY nicht besitzt.

Hash, Fingerprint, Ciphertext

Ein Hash ist ein mathematischer Algorithmus, der nur in eine Richtung funktioniert. Ihr könnt zum Beispiel euren Namen “Hashen”.

Die Option -n verhindert den Zeilenumbruch am Ende von echo, welcher immer standardmäßig hinzugefügt wird.

Die Ausgabe des Befehls echo -n cammeltech | sha256sum ergibt auf jedem Computer das gleiche Ergebnis. Dieses Ergebnis nennt man Ciphertext (=verschlüsselter Text). Die Begriffe Message Digest (MD), Hash, Fingerprint, Prüfsumme und Signatur werden für den Ciphertext synonym verwendet.

Wichtig:
1) Die Ausgabe fällt auf jedem Rechner gleich aus. (Probiert es aus)
2) Es ist nicht möglich den Ciphertext “zurückzurechnen”, das Wiederherstellen der Information “Cammeltech” ist nicht möglich wenn man nur den Ciphertext zur Verfügung hat.

Anwendung finden solche Hash Algorithmen vor allem beim Prüfen von Dateien. Wer auch immer den Download zur Verfügung stellt, führt auf seinem Rechner zB. sha256sum aus. Der Fingerprint wird auf der Webseite veröffentlicht, wie hier bei Rasbian. Gleichzeitig wird der Fingerprint per EMail an Mailinglisten verteil, in Foren gepostet, in Versionsverwaltungen eingetragen …
Warum ist das wichtig? Ein Angreifer der Zugriff auf den Webspace hat, kann die Datei manipulieren, eine neue Prüfsumme erstellen und diese gleich mit ändern. Damit sieht es so aus, als wäre alles in Ordnung. Das Verteilen an möglichst vielen Stellen erschwert diesen Angriff. Irgendwo fällt auf, dass die Datei manipuliert wurde und der Fingerprint gleich mit. Zum Beispiel könnte ein Script jede Stunde den Fingerprint von der Seite grabben und diesen mit der Versionsverwaltung gegenprüfen.

Allerdings seid ihr darauf angewiesen, dass die Betreiber des Webspace solche Sicherheitsmaßnahmen ausführen und regelmäßige Prüfungen vornehmen.
Fazit: Eine korrekte Prüfsumme sagt aus, dass der Download funktioniert hat und die Datei in Ordnung ist. Eine Manipulation der Datei mit Änderung der Prüfsumme wird schwieriger, aber nicht unmöglich!

Die Prüfsummen sind identisch.

Habt ihr eine Abweichung in eurem Fingerprint, dann stimmt etwas nicht. Die wahrscheinlichste Version ist, dass der Download nicht richtig geklappt hat. Wenn ihr mehrfach einen falschen Fingerprint habt und euch sicher seid, dass es die richtige Datei ist, dann wendet euch an die Webseitenbetreiber. Es ist möglich, aber sehr unwahrscheinlich, dass die Datei manipuliert wurde.

Achtung: Es gibt einige alte Hash Algorithmen, welche nicht mehr verwendet werden sollen. Eine davon ist MD5. Das Problem am Message Digest MD5 Algorithmus liegt daran, dass er nicht “Collision resistance” ist. Das bedeutet: Zwei Unterschiedliche Eingaben können den gleichen Fingerprint ergeben, was natürlich ein absolutes no-go ist. Es gibt bereits berichtete und gut dokumentierte Fälle. Zum Beispiel wie ein gefälschtes Microsoft Zertifikat der Malware “Flame” Zugang in mehrere Systeme ermöglichte. MD5, sowie SHA-1 sind solche Algorithmen, die nicht mehr verwendet werden sollen.

Aktuell ist die Familie SHA-2 (Secure Hash Algorithm 2), welche von der NSA entwickelt wurde. In diese Gruppe gehören SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256. SHA-2 ist zwar nicht anfällig für collision attacks, aber für length extension attacks. SHA-3 wurde 2015 veröffentlicht, findet allerdings noch keine breite Anwendung.

Leave a Comment