Beschreiben von Verschlüsselung und Hashing

Abgeschlossen

Eine Möglichkeit zum Entschärfen gängiger Cybersicherheitsbedrohungen besteht darin, sensible und wertvolle Daten zu verschlüsseln. Verschlüsselung ist der Vorgang, bei dem Daten für unberechtigte Betrachter nicht lesbar und nicht verwendbar gemacht werden. Damit sie verwendet oder gelesen werden können, müssen verschlüsselte Daten entschlüsselt werden. Hierfür ist ein geheimer Schlüssel erforderlich.

Es gibt zwei Arten von Verschlüsselungen auf oberster Ebene: symmetrisch und asymmetrisch. Bei der symmetrischen Verschlüsselung wird zum Verschlüsseln und Entschlüsseln der Daten jeweils der gleiche Schlüssel verwendet. Bei der asymmetrischen Verschlüsselung wird ein Paar aus öffentlichem und privatem Schlüssel verwendet. Beide Schlüssel können Daten verschlüsseln, aber der Schlüssel, der zum Verschlüsseln verwendet wurde, kann nicht zum Entschlüsseln verschlüsselter Daten verwendet werden. Zum Entschlüsseln benötigen Sie ein Schlüsselpaar. Wenn der öffentliche Schlüssel zum Verschlüsseln verwendet wird, kann nur der zugehörige private Schlüssel zum Entschlüsseln verwendet werden. Asymmetrische Verschlüsselung wird z. B. für den Zugriff auf Websites im Internet über das HTTPS-Protokoll und für Lösungen zur elektronischen Datensignierung verwendet. Mit der Verschlüsselung können ruhende und in Übertragung begriffene Daten geschützt werden. Weitere Informationen zu den Kryptografiekonzepten finden Sie unter Beschreiben von Kryptografiekonzepten.

Diagramm: Konzept der symmetrischen und asymmetrischen Verschlüsselung

Verschlüsselung für ruhende Daten

Ruhende Daten sind Daten, die auf einem physischen Gerät (z. B. einem Server) gespeichert sind. Sie können sich in einer Datenbank oder einem Speicherkonto befinden, aber unabhängig von ihrem Speicherort stellt die Verschlüsselung ruhender Daten sicher, dass die Daten ohne die für die Entschlüsselung erforderlichen Schlüssel und Geheimnisse nicht gelesen werden können.

Wenn ein Angreifer in den Besitz einer Festplatte mit verschlüsselten Daten gelangt, aber keinen Zugriff auf die Verschlüsselungsschlüssel besitzt, kann er die Daten nicht lesen.

Verschlüsselung für Daten während der Übertragung

In Übertragung begriffene Daten sind Daten, die zwischen zwei Orten übermittelt werden – etwa über das Internet oder über ein privates Netzwerk. Die sichere Übertragung kann von mehreren verschiedenen Ebenen übernommen werden. Die Daten können vor dem Senden über ein Netzwerk beispielsweise auf der Anwendungsebene verschlüsselt werden. HTTPS ist ein Beispiel für die Verschlüsselung von in Übertragung begriffenen Daten.

Das Verschlüsseln von in Übertragung begriffenen Daten schützt die Daten vor externen Beobachtern und bietet einen Mechanismus zur Datenübertragung bei gleichzeitiger Begrenzung des Offenlegungsrisikos.

Verschlüsselung für Daten, die verwendet werden

Ein gängiger Anwendungsfall für die Verschlüsselung von Daten, die verwendet werden, umfasst das Schützen von Daten in nicht beständigem Speicher, z. B. im Arbeitsspeicher oder in CPU-Caches. Dies kann durch Technologien erreicht werden, die eine Enklave schaffen (stellen Sie sich dies als ein gesichertes Schließfach vor), die die Daten schützt und verschlüsselt hält, während die CPU die Daten verarbeitet.

Hashing

Die Hashfunktion verwendet einen Algorithmus zum Konvertieren von Text in einen eindeutigen Wert fester Länge, der als „Hash“ bezeichnet wird. Wenn derselbe Text mit demselben Algorithmus in einen Hashwert konvertiert wird, resultiert dies immer in demselben Hashwert. Dieser Hash kann anschließend als eindeutiger Bezeichner für die zugehörigen Daten verwendet werden.

Die Hashfunktion unterscheidet sich von der Verschlüsselung insofern, als keine Schlüssel verwendet werden und der Hashwert anschließend nicht wieder in die ursprüngliche Form entschlüsselt wird.

Die Hashfunktion wird häufig zum Speichern von Kennwörtern verwendet. Wenn ein Benutzer sein Kennwort eingibt, erstellt derselbe Algorithmus, der den gespeicherten Hash erstellt hat, einen Hash des eingegebenen Kennworts. Dieser wird mit der gespeicherten Hashversion des Kennworts verglichen. Wenn beide übereinstimmen, hat der Benutzer sein Kennwort korrekt eingegeben. Dies ist sicherer als das Speichern von Nur-Text-Kennwörtern, aber Hashalgorithmen sind auch Hackern bekannt. Da Hashfunktionen deterministisch sind (dieselbe Eingabe erzeugt dieselbe Ausgabe), können Hacker Brute-Force-Wörterbuchangriffe anwenden, indem sie die Kennwörter in Hashwerte konvertieren. Für jeden übereinstimmenden Hash kennen sie das tatsächliche Kennwort. Um dieses Risiko zu entschärfen, wird für Kennwörter oft „Salt“ verwendet. Hierbei wird der Eingabe von Hashfunktionen ein zufälliger Wert fester Länge hinzugefügt, um für gleiche Eingaben eindeutige Hashwerte zu erstellen.

Diagramm: Konzept des Hashing