Zufallszahlen: Herausforderung bei Computern (Bild: Pixabay)

Hardware-basierte Zufallszahlengeneratoren sind für sichere Verschlüsselung weder nötig noch ideal. Diese Ansicht vertritt der philippinische Entwickler JV Roig, Leiter Consulting am Asia Pacific College. In einer aktuellen Arbeit beschreibt er mit "Siderand" eine Methode, um mittels Seitenkanal-Messungen an jeder beliebigen CPU verschlüsselungstaugliche Zufallszahlen zu gewinnen. Das biete zudem den Vorteil, offen und überprüfbar zu sein.

Verschlüsselung erfordert Zufallszahlen. Doch Computer sind eigentlich deterministische Systeme, die nur Pseudo-Zufallszahlen liefern. Daher kommen bei Servern meist spezielle Hardware-basierte Zufallszahlengeneratoren zum Einsatz, die ausreichend zufällige Zahlen liefern. Falls solch ein Generator in Wirklichkeit vorhersehbare Zahlen liefern würde, wäre das ein Traum, beispielsweise für Hacker oder die NSA - und Behörden haben bisweilen Begehrlichkeiten geäussert, die Geräte entsprechend zu bauen. "Hardware-basierte Zufallszahlengeneratoren sind von Natur aus Black Boxes, unüberprüfbar und nicht vertrauenswürdig", meint daher Roig gegenüber "The Register".

Er schlägt als Alternative mit "Siderand" eine Software-Lösung vor, die sich die Tatsache zunutze macht, dass keine zwei CPUs exakt gleich sind. Im Prinzip misst der Ansatz immer wieder die Ausführungszeiten einfacher Benchmarks. Mit genügend Messungen ergibt das laut Roig ausreichend zufällige Zahlen. In einem anlässlich der International Conference on Innovative Research vorgestellten Paper veröffentlicht er als Beispiel einfachen C-Code, der genau das macht. Ob der Code wirklich macht, was es soll, ist also einfach für andere überprüfbar. Einfach imperfekte Chips

Roigs Ansatz funktioniert allerdings nur, da Mikrochips nicht perfekt sind. Denn sie enthalten Millionen oder Milliarden Transistoren, wobei es bei der Herstellung zu winzigen Abweichungen kommt. Daher haben selbst zwei CPUs aus der exakt gleichen Produktionscharge nicht die exakt gleichen Performance-Charakteristiken. Nur dadurch bleiben SideRand-Zufallszahlen unvorhersehbar. Wären Chips wirklich perfekt, müssten Roigs Seitenkanal-Messungen bei einer anderen CPU aus der gleichen Charge nämlich die gleichen Werte liefern - was die Zufälligkeit der Zahlen und damit deren Nutzen für die Verschlüsselung aushebeln würde.

Allerdings ist Roig zufolge derzeit nicht in Sicht, dass Mikrochips mit derartiger Konsistenz gefertigt werden. Einer Analyse des Lawrence Livermore National Laboratory aus 2017 zufolge haben die Performance-Abweichungen zwischen eigentlich baugleichen Chips im Laufe der Jahre sogar zugenommen. Der Ansatz könnte also auf absehbare Zeit sichere Verschlüsselung für alle Geräte von Server über Router bis hin zum Smartphone ermöglichen.
http://irsetconf.org
http://llnl.gov

Zum Paper "SideRand: A Heuristic and Prototype of a Side-Channel-Based Cryptographically Secure Random Seeder Designed to Be Platform- and Architecture-Agnostic" auf arXiv: http://arxiv.org/abs/1804.02904