Hardware-Zone Schriftzug

Neueste Artikel

Exkurs: FAQ zum Thema Kryptografie und Kryptologie

von | Jan 11, 2019 | Exkurs

Auch Hardware-Hersteller müssen nicht nur die Leistung, sondern auch die Sicherheit ihrer Produkte ständig verbessern, um den durch zunehmende Vernetzung aller Geräte (das sogenannte „Internet der Dinge“) gesteigerten Anforderungen im Bereich Datensicherheit und -integrität gerecht zu werden. Wie stark dieser Aspekt in der Vergangenheit vernachlässigt wurde, bewies vor allem die Offenlegung zweier kritischer Sicherheitslücken („Meltdown“ und „Spectre“) in Mikroprozessoren für PCs und Smartphones fast aller Hersteller im vergangenen Jahr. Diese konnten Angreifer nutzen, sensible Daten mittels Seitenkanalattacke aus dem internen Speicher der CPU auszulesen. Was eine Seitenkanalattacke ist und wie Informationen geschützt werden können, erfahren Sie im FAQ zum Thema Kryptografie.

Was versteht man unter Kryptografie?

Kryptografie (von griech. kryptós = geheim und gráphein = schreiben) ist eine Wissenschaft, die sich mit Methoden und Verfahren zur Verschlüsselung von vertraulichen Informationen beschäftigt. Dazu gehören neben Textnachrichten auch andere Daten, die vor unbefugtem Zugriff geschützt werden sollen, z.B. Kommunikationsdaten im Internet, Daten auf Chipkarten, Bilder oder Tonaufnahmen. Das Einsatzgebiet der Kryptografie beschränkt sich nicht nur auf die Informationstechnologie, sondern umfasst mittlerweile fast alle Bereiche des öffentlichen Lebens, z.B. Handel (bargeldlose Bezahlung), Telekommunikation (Mobilfunk), Bankwesen (elektronische Überweisung), Transport und Verkehr (Online-Ticketbuchung) und öffentliche Verwaltung (elektronische Übermittlung von behördlichen Dokumenten).  
 
Ziele:
  • Vertraulichkeit/Abhörsicherheit: Nur die Personen sollen die Nachricht lesen können, für die sie bestimmt bzw. an die sie adressiert ist.
  • Integrität/Schutz vor Manipulation: Es muss sichergestellt werden, dass der Inhalt der Nachricht unverändert beim Empfänger ankommt.
  • Authentizität: Der Sender der Nachricht muss eindeutig identifizierbar sein, d.h. es muss nachprüfbar sein, ob die Nachricht auch von ihm kommt.

Wie wird eine Nachricht verschlüsselt?

krypt funktionsweise
Jede auf einem Computer gespeicherte Datei besteht aus einer Folge von Bits. Beim Verschlüsseln werden die einzelnen Datenbits unter Verwendung eines Schlüssels so vermischt, dass keinerlei Rückschlüsse mehr auf die ursprüngliche Reihenfolge möglich sind. Der ursprüngliche Zustand kann nur mit dem dazugehörigen Schlüssel wiederhergestellt werden.
 
Der Schlüssel ist eine vom Sender festgelegte, geheime Zeichenfolge, die nur dem Absender und dem (rechtmäßigen) Empfänger der Nachricht bekannt ist. Er wird aus einem vom Benutzer festgelegten Passwort oder von einem Zufallsgenerator erzeugt. Entscheidend für die Sicherheit ist die Schlüssellänge, die in Bit angegeben wird. Je länger der Schlüssel, desto mehr Versuche benötigt ein potentieller Angreifer ihn zu erraten. Bei einem n Bit langen Schlüssel gibt es 2n mögliche Kombinationen.

Welche Arten von Verschlüsselungsverfahren gibt es?

Verschlüsselungsverfahren können auf zweierlei Weise unterteilt werden:
  • Nach ihrer internen Arbeitsweise: Die zu verschlüsselnde Nachricht wird entweder als Folge größerer Blöcke (Blockchiffre) oder Bit für Bit (Stromchiffre) verarbeitet. Für Anwendungen, die Datenübertragung in Echtzeit erfordern (z.B. Sprachübertragung, Videokonferenzen), ist eine reine Blockverschlüsselung ungeeignet, da immer zuerst gewartet werden muss, bis sich alle Bits eines Klartextblocks beim Sender angesammelt haben. Deshalb werden hier Verfahren eingesetzt, die auf Stromverschlüsselung basieren.
  • Nach der Art der verwendeten Schlüssel in symmetrische, asymmetrische und hybride Verfahren

Was ist der Unterschied zwischen symmetrischer und asymmetrischer Verschlüsselung?

Symmetrische Verschlüsselungsverfahren benutzen denselben Schlüssel zum Ver- und Entschlüsseln. Bei asymmetrischen Verfahren hingegen werden ein öffentlicher, allgemein zugänglicher Schlüssel (Public Key) zum Verschlüsseln und ein privater, geheimer Schlüssel zum Entschlüsseln benötigt. Der öffentliche Schlüssel ist an den Empfänger gebunden, damit auch nur dieser die Nachricht lesen kann.

Was verbirgt sich hinter den Abkürzungen DES/3DES?

Das DES-Verfahren (DES = Digital Encryption Standard) diente lange Zeit als Standardverschlüsselung für behördliche Dokumente. Da sich die Schlüssellänge von 56 Bit aber im Laufe der Zeit als zu kurz erwies, wurde der Standard mittlerweile durch AES (Advanced Encryption Standard) abgelöst. Vor allem für das bessere Verständnis der Arbeitsweise von Blockchiffren und der Kryptoanalyse ist der Algorithmus aber nach wie vor sehr hilfreich.  
Eine heute noch eingesetzte Variante ist 3DES (Triple-DES), die Dreifachausführung des DES-Verfahrens. Die Nachricht wird zuerst verschlüsselt, dann entschlüsselt und nochmals verschlüsselt, wobei jedes Mal ein anderer Schlüssel verwendet wird. Die Schlüssellänge ist mit 168 Bit damit dreimal so lang (56 Bit x 3).

Was bedeutet AES?

Im Oktober 2000 hat der AES-Algorithmus (Advanced Encryption Standard) DES als offizieller Verschlüsselungsstandard abgelöst. Die Blockbreite beträgt meistens 128 Bit, die Schlüssellänge 128, 192 oder 256 Bit. Im Gegensatz zu DES konnte die AES-Verschlüsselung noch nicht überwunden werden. Dennoch kann der Algorithmus selbst von leistungsschwacher Hardware (z.B. Prozessoren in Chipkarten) schnell ausgeführt werden, so dass er mittlerweile eine weite Verbreitung gefunden hat. Auch die meisten Verschlüsselungsprogramme verwenden AES.

Wie funktioniert hybride Verschlüsselung?

Da asymmetrische Verfahren aufgrund der langen Schlüssel (mind. 1024 Bit) sehr rechenintensiv sind, eignen sie sich nicht für die Verschlüsselung großer Datenmengen. Deshalb setzt man in der Praxis meist hybride Verfahren ein. Dabei wird nicht die gesamte Nachricht asymmetrisch verschlüsselt, sondern nur der sogenannte Sitzungsschlüssel (session key), der allein für die Dauer der Verbindung gültig ist und für jede Nachricht neu erzeugt wird. Die Nachricht selbst wird symmetrisch mit dem Sitzungsschlüssel chiffriert (s. Abbildung).
krypt hybrid
Neben dem Sitzungsschlüssel und dem Paar aus privatem und öffentlichentlichem Schlüssel besteht hybride Verschlüsselung aus weiteren Komponenten:
  • einem Schlüsselaustauschverfahren (z.B. RSA, Diffie-Hellman), das festlegt, wie der Sitzungsschlüssel zwischen den Kommunikationsteilnehmern über einen unsicheren Kanal verteilt wird.
  • digitalen Zertifikaten zur Authentifizierung des Empfängers
  • Message Authentication Codes und digitale Signaturen, um die Echtheit und inhaltliche Unversehrtheit einer Nachricht zu gewährleisten.
 
Sie wird deshalb auch als PKI-Verschlüsselung (PKI = Public Key Infrastructure) bezeichnet. Eine weit verbreitete Anwendung, die diese Art der Verschlüsselung nutzt, ist PGP (Pretty Good Privacy).

Welchen Zweck erfüllen Message Authentication Codes (MACs) und digitale Signaturen?

Sowohl MACs als auch digitale Signaturen dienen dazu, die Authentizität (Echtheit) und Integrität (Unversehrtheit) einer Nachricht oder eines öffentlichen Schlüssels zu bestätigen.
Um eine Nachricht zu signieren, wird aus dieser zunächst ein sogenannter Hashwert (s. Was ist eine kryptografische Hashfunktion?) erzeugt. Wenn auch nur ein Zeichen der ursprünglichen Nachricht geändert wird, ergibt sich ein völlig anderer Hashwert. Es ist dadurch leicht feststellbar, ob die Originalnachricht auf dem Weg zum Empfänger manipuliert wurde. Die Signatur wird dann aus dem Hashwert und dem privaten Schlüssel berechnet. Da der private Schlüssel mit dem öffentlichen Schlüssel des Urhebers verbunden ist, kann die signierte Nachricht mit Hilfe eines digitalen Zertifikats eindeutig einer Person zugeordnet werden.
Ein Message Authentication Code wird aus nur einem gemeinsamen, geheimen Schlüssel erzeugt. Das hat den Nachteil, dass der Schlüssel zuvor über einen unsicheren Kanal übertragen werden muss. Außerdem kann ein MAC nicht wie eine Signatur einer bestimmten Person zugeordnet werden. Da MACs nicht auf asymmetrischen Verfahren beruhen, sind sie schneller zu berechnen. Sie können deshalb nicht nur aus dem Hashwert, sondern auch aus der kompletten Nachricht generiert werden.

Welchen Zweck erfüllen digitale Zertifikate?

Digitale Zertifikate, auch Public-Key-Zertifikate genannt, sollen die Echtheit (Authentizität) und Urheberschaft eines öffentlichen Schlüssels bezeugen und deren Nachprüfbarkeit ermöglichen. Sie werden von einer vertrauenswürdigen Organisation oder Behörde (Certificate authority) vergeben.
Ein Empfänger (Server) muss sich ausweisen, indem er dem Sender (Client) eine Liste gültiger Zertifikate nach X.509-Standard sendet. Der Client muss nur eines dieser Zertifikate akzeptieren und erhält dann den öffentlichen Schlüssel.

Was ist eine kryptografische Hashfunktion?

Eine Hashfunktion (von engl. „to hash“ = zerteilen) ist eine Funktion, die große Eingabewerte variabler Länge in kleinere Ausgabewerte fester Länge (Hashwerte) umwandelt. Primär werden Hashfunktionen verwendet, um festzustellen, ob der Inhalt einer Nachricht verändert wurde. Dazu wird zuerst beim Sender und dann beim Empfänger ein Hashwert der Nachricht erzeugt. Der Empfänger vergleicht den von ihm berechneten Hashwert mit dem vom Sender übermittelten Hashwert. Unterscheiden sich die beiden Hashwerte, wurde die Nachricht fehlerhaft übertragen oder inhaltlich verändert. Kryptografische Hashfunktionen werden bei der Berechnung digitaler Signaturen und MACs sowie zur verschlüsselten Speicherung von Kennwörtern eingesetzt. Für sie gelten deshalb besondere Anforderungen: Sie müssen kollisionsresistent und Einwegfunktionen sein, d.h. es darf nicht möglich sein, aus dem Hashwert den Eingabewert zu berechnen.

Welche Angriffszenarien gibt es und wie schütze ich mich davor?

Brute-Force-Attacke

Die am häufigsten eingesetzte Methode, um den Schlüssel zu ermitteln, ist die Brute-Force-Attacke. Dabei werden alle möglichen Kombinationen des Schlüssels durchprobiert. Die Brute-Force-Attacke setzt voraus, dass bereits ein Teil der unverschlüsselten Nachricht (der sogenannte Klartext) bekannt ist. Ein Angreifer muss also die Möglichkeit haben, in den Besitz von Klartext-Botschaften seines Opfer zu gelangen.
Die maximal notwendige Anzahl von Versuchen hängt von der Länge des verwendeten Schlüssels ab. Für einen n Bit langen Schlüssel sind 2n Versuche nötig. Wenn die Schlüssellänge z.B. wie beim DES-Verfahren 56 Bit beträgt, wären maximal 256, also etwa 72 Billiarden Versuche notwendig. Diese Zahl mag zunächst gigantisch erschienen, ist aber angesichts der Tatsache, dass moderne PCs mehrere hundert Milliarden Versuche pro Sekunde durchführen können, gering. Der richtige Schlüssel kann so innerhalb weniger Stunden ermittelt werden. Man sollte deshalb nur Verschlüsselungsverfahren mit einer Schlüssellänge von mindestens 128 Bit einsetzen.
 

Wörterbuchangriff

Bei der Schlüsselsuche werden Listen abgearbeitet, die statistisch häufig auftretende Zeichenfolgen, die als Schlüssel dienen können, enthalten. Da der Schlüssel aus dem gewählten Passwort erzeugt wird, sollte man Passwörter vermeiden, die nur aus einem Wort oder einfachen Zahlenfolgen (z.B. 12345 oder ein Geburtsdatum) bestehen.

Mustersuche

Eine Methode, die vor allem bei kurzen Textnachrichten genutzt wird. Dabei wird versucht, die Position eines mit hoher Wahrscheinlichkeit vorkommenden Wortes (engl. Crib) im Text zu ermitteln und dadurch die komplette Nachricht zu entschlüsseln. Deshalb sollte man möglichst jede sensible Nachricht verschlüsselt übertragen, um keinerlei Rückschlüsse auf den Inhalt zuzulassen.  

Man-In-The-Middle-Attacke
 

Ein Angreifer verschafft sich unbemerkt Zugriff auf das Netzwerk, über das ein Sender A und ein Empfänger B vertrauliche Informationen austauschen, und gibt sich als B aus. Auf diese Weise kann er Nachrichten des Opfers mitlesen, deren Inhalt verändern oder gefälschte Nachrichten versenden. Man sollte deshalb die Firmware des WLAN-Routers regelmäßig aktualisieren und die Authentifizierung über digitale Zertifikate nutzen, die mittlerweile jeder Browser unterstützt.

Replay-Angriff

 

Ein Man-In-The-Middle-Angriff, der primär dazu dient, eine fremde Identität vorzutäuschen, indem verschlüsselten Nachrichten des Servers vom Angreifer abgefangen und erneut versendet werden. Replay-Angriff werden verhindert, indem für jede Transaktion eine zufällige Zeichenfolge oder ein Zeitstempel erzeugt wird. Aus diesem Grund sollte man immer eine gesicherte Verbindung zum Server herstellen. Dann wird nämlich für jede Sitzung ein neuer, zufälliger Schlüssel erzeugt.

 

Kollisionsangriff
 

Der Angreifer (Man-In-The-Middle) sucht gezielt nach Nachrichten, die den gleichen Hashwert wie die Originalnachricht haben. Auf diese Weise lässt sich z.B. die Kopie eines digitalen Zertifikats herstellen. Aus diesem Grund ist es wichtig, zur Signatur einer Nachricht nur kryptografische Hashfunktionen einzusetzen.

 

Seitenkanalattacke

 

Der Angreifer greift Daten von einem Gerät (z.B. CPU, Chipkartenleser) ab, indem er diese anhand von Veränderungen der physikalischen Eigenschaften (elektromagnetische Strahlung, Temperatur, Schall, Stromverbrauch etc.) des Geräts rekonstruiert. Auch hier gilt: Betriebssoftware des Geräts immer auf dem aktuellsten Stand halten!