- Home
- Blog
- Explore more
-
Verschlüsselungsverfahren – diese Methoden sollten Sie kennen
Artikelserie zur Verschlüsselung, Teil 3: Verschlüsselungsverfahren und Verantwortlichkeiten
Der zweite Teil dieser Artikelserie zum Thema Verschlüsselung drehte sich vor allem um „high level“-Unterschiede zwischen Punkt-zu-Punkt- und Ende-zu-Ende-Verschlüsselung sowie die Frage, ob und wie eine durchgängige Verschlüsselung zu haben ist. In diesem Teil steigen wir tiefer in Arten der Verschlüsselung ein.
In diesem Beitrag lesen Sie:
- was eine symmetrische Verschlüsselung auszeichnet,
- wie die asymmetrische Verschlüsselung funktioniert,
- welche Rolle Prüfsummen bei der Verschlüsselung spielen,
- warum Sicherheit stets Arbeit bedeutet,
- wie eine Verschlüsselung ohne Authentifizierung umgesetzt werden könnte und
- warum Passwortmanager in vielen Fällen empfehlenswert sind
Symmetrische Verschlüsselung: Schnell, benötigt aber einen Kurier
Verschlüsseln lässt sich prinzipiell auf zwei verschiedene Weisen: symmetrisch oder asymmetrisch. Bei der symmetrischen Verschlüsselung wird zum Ver- und Entschlüsseln der gleiche Schlüssel benutzt. Beispiele hierfür sind simple Rotationsverfahren, wie sie im alten Rom schon geläufig waren, oder die Spaßverschlüsselung ROT13, bei der schlicht Buchstaben verschoben werden. Auch einfache Exklusiv-Oder-Verfahren (XOR) gehören in diese Kategorie.
Komplexere Verschlüsselungsmethoden umfassen Blockchiffren wie DES (Data Encryption Standard) oder AES (Advanced Encryption Standard), die Datenblöcke fester Größe (beispielsweise 128 oder 256 Bit) mithilfe unterschiedlicher mathematischer/logischer Abbildungen mit dem Schlüssel chiffrieren. Die modernsten wie AES, basierend auf dem Rijndael-Algorithmus der beiden belgischen Kryptologen Vincent Rijmen und Joan Daemen, sind extrem gut. Es gilt als nahezu ausgeschlossen, die Verschlüsselung mittels Gewalt („brute force“) zu knacken. Der AES-Vorgänger DES hat schon viele Jahre auf dem Rücken. Er gilt in der Ur-Version mit einer Schlüssellänge von 56 Bit als geknackt und wird nicht mehr verwendet. Als Triple-DES mit einer Dreifachverschlüsselung findet sich DES aber beispielsweise noch bei Chipkartenanwendungen.
Verschlüsselung geht uns alle an
Vorteile und Schwächen der symmetrischen Verschlüsselung
Ein Vorteil der beschriebenen symmetrischen Verfahren: Sie kommen mit relativ wenig Rechenleistung aus und sind daher auch in kleinen Embedded-Anwendungen wie Chipkarten realisierbar. Zudem lassen sich mit symmetrischen Verfahren auch größere Datenmengen in überschaubarer Zeit ver- oder entschlüsseln. Bei vielen Anwendungen wie der Verschlüsselung von Festplatteninhalten oder HTTPS kommt es genau darauf an. Anderenfalls würde die Verschlüsselung die jeweilige Anwendung ausbremsen – für Anwender denkbar unpraktisch.
Damit ist AES ein allgemein als sicher geltendes Verfahren zum Schützen sensibler Daten. Wie bei allen symmetrischen Verfahren liegt der Schwachpunkt in der Frage: Wie können sich Sender und Empfänger über einen gemeinsamen Schlüssel verständigen? Letztlich kommt hier das klassische Henne-/Ei-Problem auf: Wie schütze ich die Schlüssel beim Transport über einen ungesicherten Kanal vor Aufdeckung? Im Militär musste hierzu bis ins 20. Jahrhundert hinein ein Kurier vorgefertigte Schlüsseltabellen von A nach B bringen. Fielen die Tabellen dem Feind in die Hände, hatte dieser Zugriff auf die Schlüssel und konnte fortan die Kommunikation mithören.
Asymmetrische Verschlüsselung: Das gilt es zu wissen
Ein asymmetrisches Verfahren wie die Public-Key-Verschlüsselung kann zum sicheren Austausch von symmetrischen Schlüsseln zwischen Absender und Empfänger dienen. Dieses Prinzip hatten wir bereits im 2. Teil unserer Verschlüsselungsserie beschrieben: Die Daten werden mit dem öffentlichen Schlüssel des Empfängers verschlüsselt, und nur dieser kann die Daten mit seinem privaten – und geheim gehaltenen! – Schlüssel wieder entschlüsseln. Damit ist außer dem Empfänger niemand in der Lage, mit seinem öffentlichen Schlüssel chiffrierte Daten lesbar zu machen.
Vorteile, Schwächen und Herausforderungen asymmetrischer Verfahren
Die Herausforderung besteht in der Entwicklung eines Verfahrens, bei dem sich der private Schlüssel nicht (ohne Weiteres) aus dem öffentlichen ableiten lässt. Gängige Verfahren wie die RSA-Verschlüsselung (benannt nach den Entwicklern Rivest, Shamir und Adleman) bedienen sich dafür sehr großer Primzahlen. Auch das Lösen diskreter Logarithmen kommt häufig zum Einsatz – etwa beim Elgamal-Kryptosystem. Ein Angreifer muss bei diesen Verfahren sehr viel Rechenleistung und -zeit investieren, um eine Verschlüsselung zu knacken. Generell sind die asymmetrischen Verfahren rechenintensiv, weshalb man sie aus Gründen der Effizienz heutzutage nicht für die Verschlüsselung der eigentlichen Nachricht verwendet.
Gelöst werden kann die Herausforderung mit der Erzeugung eines zufälligen Schlüssels für die symmetrische Verschlüsselung. Wichtig sind hierbei vor allem gute Zufallszahlenalgorithmen. Mit dem zufällig erzeugten Schlüssel kann die Nachricht verschlüsselt werden. Der symmetrische Schlüssel wiederum kann mit dem asymmetrischen Verfahren der Wahl verschlüsselt werden. Bei dessen Ver- und Entschlüsselung spielt die Rechenzeit wegen der sehr geringen Datenmenge keine Rolle.
So funktionieren im Prinzip gängige Public-Key-Verfahren wie PGP (Pretty Good Privacy). Auch der automatische Schlüsseltausch bei SSL/TLS und anderen Verfahren wird so durchgeführt.
Prüfsummen für die Integrität
Ein weiterer Bestandteil sicherer Kommunikation ist die Absicherung gegen die Veränderung von Inhalten auf dem Transportweg. Erreicht wird das meist mit Hilfe von Prüfsummenverfahren. Auf der Empfängerseite kann mithilfe dieser Prüfsummen (engl. „hashes“) festgestellt werden, ob Datenblöcke manipuliert wurden. Voraussetzung: Die Prüfsummen wurden ebenfalls verschlüsselt übertragen und es kommen „gute“ Prüfsummenverfahren zum Einsatz.
Eine gute Prüfsumme erkennt man daran, dass es zumindest sehr schwierig (rechenzeitaufwendig) ist, einen manipulierten Datenblock zu erzeugen, der exakt dieselbe Prüfsumme hat wie der ursprüngliche – sodass beispielsweise aus „wir treffen uns um 16 Uhr am Bahnhof“ der Satz „wir treffen uns um 17 Uhr an der Post“ wird. Ältere Prüfsummenverfahren wie MD4 (Message Digest 4) und MD5 gehören für größere Datenmengen als Anmeldepasswörter ins Museum verbannt. Auch SHA-1 (Secure Hash Algorithm) gilt zumindest theoretisch als knackbar. Empfohlen wird daher allgemein der Umstieg auf neuere Verfahren wie die Hashfunktionen der SHA-2- oder SHA-3-Familie.
Sicherheit: bedeutet Arbeit – aber sie lohnt sich
Computersicherheit bedeutet Arbeit. Wie schön wäre es, wenn die Sicherheit ohne Interaktion des Benutzers zustande käme. Leider ist das nicht so einfach – an irgendeiner Stelle wird sich ein Anwender für das letzte Quäntchen Sicherheit immer authentifizieren müssen. Nehmen wir der Einfachheit halber an, es gäbe so etwas wie transparente Verschlüsselung. Dann würden Client und Server untereinander eine Verschlüsselung aushandeln und die Welt wäre in Ordnung. Der Server würde seine Authentizität mit Hilfe eines vertrauenswürdig signierten Zertifikats ausweisen (wie beispielsweise bei SSL/TLS), und der Client hätte sogar ein clientseitiges Zertifikat, an Hand dessen der Server die Identität des Clients zweifelsfrei feststellen könnte. Aus Sicht des Servers oder der Anwendung wäre dann allerdings noch immer nicht sichergestellt, dass der richtige Anwender vor dem Client sitzt. Es könnte ja ein Einbrecher sein. Ohne dass der Anwender das Client-Zertifikat entsperrt (und sei es nur über einen Keystore auf seinem Computer), ist das nahezu unmöglich.
Dieses Problem gibt es unter anderem bei der Verschlüsselung im Web (HTTPS) oder bei der Festplattenverschlüsselung. Im Web wird das Problem in der Regel dadurch umgangen, dass der Benutzer sich an der Webseite nach Aufbau der HTTPS-Verbindung konventionell – also mit Benutzername und Passwort – anmelden muss.
Exkurs: Beispiel einer fahrlässig schlechten Verschlüsselung
Ein besonders krudes (und schlechtes) Beispiel transparenter Verschlüsselung ist mir vor Jahren bei einem Großkunden in Süddeutschland begegnet. Dort hatte man auf den Vertriebslaptops, auf denen sich massenhaft personenbezogene Daten befanden, zwar „the latest and greatest“ Festplattenvollverschlüsselung auf Windows XP installiert. Auf die Eingabe eines Passwortes oder einer Passphrase beim Systemstart hatte man aber verzichtet! Damit wollte der Kunde allen Ernstes die Benutzer nicht belasten. Die Folge: Hätte jemand einen Laptop geklaut, hätte er ihn ganz normal booten lassen und anschließend in aller Ruhe der Reihe nach die gängigen Angriffe auf Windows XP übers Netzwerk fahren können. Dass das Produkt überhaupt zuließ, „transparent“ zu entschlüsseln, spricht zudem nicht für den Hersteller der Festplattenverschlüsselung. Richtig seltsam war, dass ich beim Technikmanagement auf taube Ohren stieß. Offenbar war das Ganze eine Entscheidung von „weiter oben“ gewesen.
Ohne Authentifizierung geht es nicht: Die Sicherheit hängt maßgeblich vom Anwender ab
Keystore: Verschlüsselung ohne Authentifizierung?
Auch eine Festplattenverschlüsselung auf Ebene der Platten-Firmware krankt an der gleichen prinzipiellen Schwäche – ohne Authentifizierung ist der Nutzen gering, und im gemounteten Zustand liegen die Daten ohnehin am Mountpunkt entschlüsselt vor. Ein solcher Schutz hilft nur im abgehängten Zustand, beispielsweise beim Transport oder auf dem Weg in die Verschrottung.
Auch eine Festplattenverschlüsselung auf Ebene der Platten-Firmware krankt an der gleichen prinzipiellen Schwäche – ohne Authentifizierung ist der Nutzen gering, und im gemounteten Zustand liegen die Daten ohnehin am Mountpunkt entschlüsselt vor. Ein solcher Schutz hilft nur im abgehängten Zustand, beispielsweise beim Transport oder auf dem Weg in die Verschrottung.
Eine Möglichkeit, die Verwaltung eigener Schlüssel zu vereinfachen, ist die Verwendung eines Keystores wie beispielsweise unter GNOME auf Linux. Dieser Keystore wird mit dem Anmeldepasswort aufgeschlossen und mit der Abmeldung wieder verriegelt. Im entriegelten Zustand dürfen nur seitens des Betriebssystems autorisierte Dienste auf den Keystore zugreifen, so dass die Sicherheit für viele Fälle ausreicht. In dieselbe Kategorie fällt der Passwort-Manager im Firefox-Browser – allerdings nur, wenn man ihn mit einem guten Master-Passwort verwendet. Verschafft sich ein Angreifer jedoch Systemverwalterrechte, ist dieser Schutz natürlich dahin. Sprich: ein solcher Keystore ist ein notwendiges, aber kein hinreichendes Kriterium – er kann nur Teil eines umfassenden Systemschutzes sein.
Passwortmanager: Lieber einen guten Schlüsselring verwenden!
Wer viele (Web-)Passwörter nutzt, ist meist gut damit beraten, einen der vielen guten Passwortmanager wie KeePass2 zu verwenden. Hier muss sich der Benutzer ebenfalls nur ein (man kann es gar nicht oft genug wiederholen: gutes!) Master-Passwort merken. Alle anderen Passwörter für die Webseiten selbst können zufällig erzeugt werden und recht lang sein. Daher sind sie sehr schwer zu erraten. Der große Vorteil: Für jede Webseite kann ein anderes Passwort genutzt werden. Damit kann auch nicht beim x-ten Daten-GAU das eine wertvolle Passwort für alle Webseiten geklaut werden. Wer solche Zufallspasswörter konsequent verwendet, kann sich beim nächsten Krimi, in dem der Assistent des Kommissars nach 10 Minuten mit dem Namen des Hundes oder der Zeichenfolge „start123“ um die Ecke kommt, beruhigt zurücklehnen. „yvvaTE3eISnU5M3pXJoW“ ist denn doch deutlich schwieriger zu knacken.
Es existieren noch weitere Möglichkeiten, einen privaten Schlüssel oder ein privates Zertifikat vor fremdem Zugriff zu schützen – beispielsweise in Form einer Smartcard. Hier verlagert sich die Frage der Absicherung vor allem auf das Verfahren, wie wiederholte Eingabeversuche einer PIN behandelt werden. Handelsübliche PINs sind nicht länger als vielleicht 6 Ziffern, wodurch im Mittel nicht mehr als 500.000 Versuche nötig sind, an ein Zertifikat zu kommen. Das lässt sich möglicherweise leicht und schnell automatisieren. Eine Smartcard, die sich nach wenigen Fehlversuchen sperrt oder die Wartezeit zwischen Fehlerversuchen bei jedem Versuch verdoppelt, ist sehr viel sicherer. Gängig ist eine niedrige Zahl von Fehlversuchen, beispielsweise drei. Danach wird es aber unangenehm für den Anwender, weil die Smartcard dann nur noch wenig mehr ist als eine wertlose Plastikkarte mit etwas Silizium.
Kurz und knapp: Am Ende läuft es immer darauf hinaus, welches Glied der Verschlüsselungskette am wenigsten vertrauenswürdig erscheint.
Im vierten Teil dieser Reihe werden wir uns mit der Sicherheit verschiedener Verfahren – etwa in Abhängigkeit von der Schlüssellänge – auseinandersetzen.
Alle Artikel aus dieser Reihe:
Teil 1: Was bedeutet Datenverschlüsselung?
Teil 2: Cloud-Daten verschlüsseln
Teil 3: Verschlüsselungsverfahren und Verantwortlichkeiten
Teil 4: Datensicherheit – Ist Verschlüsselung wirklich sicher?
Teil 5: Schwierigkeiten und Hindernisse bei der Verschlüsselung
Teil 6: Wie werden Daten in der Cloud verschlüsselt?
Dies könnte Sie auch interessieren
Office 365 für Admins: 11 erste Schritte nach der Buchung
Office 365 nach der Buchung im TelekomCLOUD Portal Schritt für Schritt kennenlernen: Lesen Sie hier, was Admins zur Benutzung von Office 365 wissen müssen!
> Artikel lesen10 Features, die Sie an Office 2016 lieben werden!
Das neue Office 2016 bietet unglaublich viele neue Funktionen. Wir haben die zehn besten für Sie in diesem Artikel zusammengestellt.
> Artikel lesenWas ist eigentlich Big Data?
Vom einstigen Buzzword zum ernsthaften Anwendungsgebiet in der modernen Wirtschaft. Lesen Sie hier, wie Big Data Ihr Unternehmen signifikant verändern kann!
> Artikel lesen