По-настоящему случайные числа
Новая техника применима к большинству из современных устройств — начиная от настольных компьютеров и заканчивая дешевыми RFID-метками.
Причем, что замечательно, некоторые устройства не потребуют апргрейда, достаточно будет только нового софта.
Как известно, при выключении компьютера его память теряет всю информацию.
Но что происходит с ней при включении?
Ответ на этот вопрос и принес идею нового генератора — состояние каждого бита оперативной памяти перед первой записью в ходе включения, зависит в основном от того, как транзисторы были отпечатаны в ходе производства.
Все биты можно разделить на три категории:
1. изначально (почти всегда) 0
2. изначально 0 или 1
3. изначально (почти всегда) 1
Выполнив несколько циклов включения и собрав определенную статистику о состоянии банков памяти при включении, компьютер может создать некий профиль, в котором можно определить, какой из этих трех случаев применим к каждому биту.
Этот профиль может служить отпечатком для устройства (fingerprint), так как он уникален для каждого модуля памяти.
И в то же время, так как мы знаем, как меняется каждый бит при сбросе питания, его можно использовать для генерации по-настоящему случайного числа, а не псевдослучайного, как происходит во множестве алгоритмов.
Алгоритм такой генерации можно найти в документе, ссылка на который дана выше.
Таким образом, на основе SRAM можно легко создать новую систему идентификации или использовать память для генерации случайных чисел.
Это особенно важно для максимально дешевых устройств — например, тех же RFID-меток (сейчас идентификаторы закладываются в метку на стадии производства при помощи, например,
EPROM или EEPROM, что, соответственно, требует затрат на производство, да и места на микросхеме для размещения памяти).
Используя описанный метод, можно без дополнительных модулей и дешево, практически не изменяя железную часть, реализовать криптографические алгоритмы для идентификации или использовать полученные данные для генерации действительно случайных чисел.
Источник: www.xakep.ru