Generator liczb losowych w procesorze

Badacze firmy Intel opracowują cyfrowy generator liczb losowych, który będzie można wbudować w mikroprocesory. Jest to bardzo trudne zadanie, gdyż od jakości tych liczb zależy bezpieczeństwo szyfrowanej informacji.

Generowanie liczb losowych jest bardzo trudnym zadaniem, a jednocześnie liczby te są niezbędne do pracy algorytmów szyfrujących. Jeśli liczby te staną się w jakiś sposób przewidywalne, bezpieczeństwo szyfrów radykalnie maleje. Do pozyskiwania strumienia liczb losowych można stosować generatory wykorzystujące szum cieplny, ale są to rozwiązania analogowe, które trudno zrealizować w cyfrowej technice mikroprocesora. Z kolei algorytmy pseudolosowe wykorzystują jakieś informacje początkowe i w pewnych warunkach mogą stać się przewidywalne. Ponadto, niektóre algorytmy są zbyt słabej jakości lub istnieje prawdopodobieństwo, że zawierają "trojana matematycznego" umożliwiając późniejsze odzyskanie klucza szyfrującego.

Generator liczb losowych w procesorze

Układ cyfrowego sprzętowego generatora liczb losowych pod mikroskopem elektronowym

Obecnie liczby losowe są pozyskiwane programowo lub z podzespołów na zewnątrz procesora. Urządzenia zewnętrzne działają w technologii analogowo-cyfrowej, wykorzystując próbkowanie szumu cieplnego lub innych zjawisk fizycznych. Urządzenie znajdujące się na zewnątrz procesora może być jednak podatne na ataki, polegające na odczytaniu liczb z magistrali komunikacyjnej, analizy poboru prądu lub innych sygnatur, które mogą naprowadzić kryptologów na informacje o losowym kluczu lub jego charakterystyce. Rozwiązaniem byłoby wbudowanie dobrej jakości generatora liczb losowych do mikroprocesora, co uniemożliwi ich przechwycenie. Liczby te muszą być bardzo dobrej jakości, by uniemożliwić ich przewidywanie, a jednocześnie generator powinien ich dostarczać bardzo wiele.

W laboratoriach firmy Intel opracowano cyfrowy generator, który będzie można wbudować do mikroprocesora. Konstrukcja wykorzystuje połączone ze sobą dwa inwertery, które zostały tak zaprojektowane, by całość była niestabilna. Oryginalnie dwie takie bramki wykorzystuje się w komórkach pamięci - mogą one przechowywać jeden bit informacji. Konstruktorzy doprowadzili układ do stanu niestabilności, dzięki czemu może być on przełączany między stanami 0 i 1 przez szum termiczny pochodzący z otaczającego płatka krzemu. Ponieważ szum ten jest losowy, strumień bitów również powinien być nieprzewidywalny. W rzeczywistości wpływ fluktuacji napięcia zasilającego oraz temperatury w rzeczywiście pracującym mikroprocesorze może mieć wpływ na pracę takiego generatora i opracowywane są techniki, które mają na celu minimalizację wpływu parametrów pracy na jakość pozyskiwanych liczb.

Testy jakości strumienia liczb losowych pozyskiwanych z tego generatora były przeprowadzane przez NIST i zakończyły się sukcesem, co oznacza, że jakość strumienia jest co najmniej dostateczna, wygrywając z wieloma algorytmami pseudolosowymi. Generator opracowany w laboratorium Intela jest bardzo szybki, dostarcza 2,4 miliarda bitów na sekundę.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200