leowolfert - Fotolia

Entropiequellen: Wie lässt sich das Risiko einschätzen?

Viele Unternehmen setzen zufällige Daten aus Entropiequellen ein, um wesentliche Geschäftsdaten zu verschlüsseln. Aber sind diese Methoden sicher und wie lassen sie sich testen?

Entropie ist ein Begriff, der auch in der Informationstechnik verwendet wird. Er steht für die „Unordnung“ oder „Zufälligkeit“, die von einem Betriebssystem oder einer Anwendung benötigt werden, um für zufällige Daten in der Kryptographie oder anderen Prozessen zu sorgen. Nur so lässt sich eine sichere Verschlüsselung gewährleisten. Die Unvorhersehbarkeit von Daten basiert häufig auf so genannten Entropiequellen. Ein Beispiel dafür sind Hardware-basierte Quellen wie die Bewegungen des Mauszeigers auf dem Bildschirm. Darüber hinaus werden auch spezielle Generatoren eingesetzt, um zufällige Daten zu erzeugen.

Das Ziel dieser Maßnahmen ist, es einem Angreifer so sehr schwer bis unmöglich zu machen, die verwendeten Schlüssel zu erraten oder zu errechnen, mit denen bestimmte Daten verschlüsselt wurden. Es kommt allerdings immer wieder vor, dass die für die Erstellung zufälliger Werte verwendeten Entropiequellen nicht ausgiebig genug getestet wurden. Dann ist es möglich, dass Schwachstellen in der Programmierung genutzt werden können, um eigentlich zufällige Zahlen voraussagen zu können.

Dazu kommt, dass sich die Methoden von Betriebssystem zu Betriebssystem unterscheiden, die zum Identifizieren und Testen von Entropiequellen benötigt werden. Eine Methode zum Überprüfen einer Entropiequelle mag auf einer Plattform funktionieren, auf einer anderen aber nicht mehr. Das amerikanische National Institute of Standards and Technology (NIST) empfiehlt deswegen, dass jeweils mehrere Entropiequellen in Betracht gezogen werden sollten, da sie eine wesentliche Rolle bei den Risikobewertungen in Unternehmen spielen.

Entropiequellen in der Praxis

Das NIST unterteilt Entropiequellen in drei wesentliche Bereiche: die eigentliche Quelle, die auf dem Grundrauschen basiert, eine optionale Komponente, die einen Einfluss auf das Ergebnis haben kann, sowie eine weitere Komponente zur Überprüfung des Ergebnisses.

Da die eigentliche Quelle der Daten das bedeutendste Element in der Analyse der Risiken eines Unternehmens ist, sollte genau überprüft werden, wie gut oder schlecht die beteiligten Programmierer sich mit dem Thema Entropie auskennen. Sie sollten dazu in der Lage sein, eine konstante und zuverlässige Entropiequelle bereitstellen zu können. Das NIST rät dazu, dass nur wirklich unabhängige Quellen wie zum Beispiel die Bewegung des Mauszeigers oder thermische Daten in Betracht gezogen werden sollten. Abhängige Quellen wie etwa die Ankunftszeiten eintreffender Pakete in einem Netzwerk oder die Zugriffszeiten der eingebauten Festplatte sollten dagegen nicht verwendet werden.

Wenn die Entropiequelle selbst nicht binär ist, müssen die von ihr bereitgestellten Daten in digitale Bits und Bytes umgerechnet werden. Die gewonnenen Daten können danach weiterbearbeitet werden, so dass ihre Zufälligkeit erhöht wird. Das Ergebnis aus der Kombination des digitalisierten Ergebnisses und der weiteren Bearbeitung wird häufig auch als Rohdaten bezeichnet.

Die optionale Komponente wird ebenfalls dazu verwendet, um die erwartete Zufälligkeit der Daten weiter zu erhöhen. Ein sich daraus ergebender höherer Entropiewert steht für einen zuverlässigeren Verschlüsselungsalgorithmus. Ein in der Kryptografie erfahrener Programmierer sollte in der Lage sein, den Entropiewert in Zusammenhang mit der Entropiequelle zu berechnen. Auch muss er verschiedene Algorithmen bewerten können, um gegebenenfalls eine alternative Methode wählen zu können oder um die optionale Komponente zu implementieren.

Darüber hinaus sollten Tests durchgeführt werden, um zu überprüfen, ob die verwendete Entropiequelle auch wirklich auf Dauer zuverlässig funktioniert. Wenn die Entropiequelle in einer dieser drei Phasen nicht genutzt werden kann, dann helfen Fehlermeldungen in der Regel dabei, die Ursache herauszufinden.

Das NIST empfiehlt die drei folgenden Kommandozeilen-Tools, um die Tests durchzuführen: GetEntropy, GetNoise und HealthTest. GetEntropy gibt einen Wert aus, mit dem die untersuchte Entropiequelle beschrieben wird, während GetNoise rohe, digitalisierte Beispiele aus der Quelle sowie den Status der Anfrage anzeigt. Mit HealthTest lassen sich weitere Informationen über die Entropiequelle auslesen und Daten darüber gewinnen, wie zuverlässig sie funktioniert. Letzterer Test wird auch als Voraussetzung für kryptografische Module im US-amerikanischen Federal Information Processing Standard 140 genannt.

Die Validierung von Entropiequellen

Die Überprüfung von Entropiequellen soll sicherstellen, dass alle vom NIST vorgeschriebenen Voraussetzungen erfüllt werden. Ein Entwickler erhält dadurch zudem die Möglichkeit, seine Entropiequelle an ein zertifiziertes Labor für einen Validierungstest zu schicken.

Die eigentliche Validierung beginnt mit dem Sammeln der von der Entropiequelle stammenden Daten. Dabei werden ein unabhängiger IID-Datensatz (Independent and Identically Distributed) sowie ein Non-IID-Datensatz verwendet. Der IID-Track wird dabei für Entropiequellen verwendet, die unabhängige und gleichmäßig verteilte Daten erzeugen. Nach der Erstellung einer Einschätzung für beide Tracks kann eine weitere Einschätzung darüber abgegeben werden, wie schwer oder leicht das Erraten beziehungsweise Errechnen der Entropiedaten ist. Dazu gehören auch die geheimen Daten eines mit dieser Quelle erstellten Schlüssels.

Wenn die Entropieergebnisse diese Tests überstehen, wird die Einschätzung aktualisiert. Wenn eine zusätzliche Komponente verwendet wurde, wird das Ergebnis nicht nur aktualisiert, sondern auch validiert. Wenn keine zusätzliche Komponente genutzt wurde, wird die Einschätzung also nur validiert, aber nicht aktualisiert. Mit einem so genannten Restart-Test wird das Ergebnis mehrfach überprüft. Besteht die Quelle diese Tests nicht, dann scheitert die Validierung und es kann keine Einschätzung abgegeben werden.

Fehlerhafte Einschätzungen können entstehen, wenn für die Berechnungen nur eine einzige, aber sehr lange Sequenz an Werten verwendet wurde. Ein Angreifer kann sich dies zunutze machen, indem er auf die Daten der Quelle zugreift, die diese nach einem Neustart erzeugt. Das Risiko lässt sich mit Hilfe von eigenen Restart-Tests reduzieren, bei denen der Programmierer verschiedene Ergebnisse und die sich daraus ergebenden Einschätzungen miteinander vergleicht. Nachdem ein akzeptierbares Ergebnis erreicht wurde, kann der Entwickler mit den Tests zur Validierung fortfahren.

Fazit

Die Empfehlungen des National Institute of Standards and Technology helfen Unternehmen dabei, eine Risikobewertung der von ihnen genutzten Entropiequellen durchzuführen. Die Validierung der Quellen entwickelt sich jedoch kontinuierlich weiter, sodass es auch in Zukunft ratsam ist, ein Augenmerk auf moderne Methoden zum Testen und Identifizieren geeigneter Entropiequellen zu haben.

Folgen Sie SearchSecurity.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Verschlüsselung: Ein Sicherheitskonzept für Unternehmen

Hintertüren in der Verschlüsselung öffnen die Büchse der Pandora

Backdoors in der Verschlüsselung führen ins Nichts

Erfahren Sie mehr über Datenschutz und Compliance