В рамках проекта ephemerand (https://github.com/hoytech/ephemerand) подготовлена реализация генератора псевдослучайных чисел, использующая специфичные для спутников GPS параметры, такие как характеристики орбиты, ионосферный шум и показатель отклонения точных часов. Данные параметры обновляются ежедневно и их значение заранее непредсказуемо. Всего учитывается 10 непредсказуемо меняющихся параметров, значения которых хэшируются при помощи функции BLAKE-2b.
Особенностью (https://hoytech.github.io/presentations/ephemerand/) предложенного проекта является то, что он позволяет синхронно получить одинаковую последовательность случайных чисел в любой точке земли. Запуск на разных системах в один и тот же день приведёт к формированию одной и той же случайной последовательности. При этом заранее невозможно предсказать какая последовательность будет на следующий день, но имеется возможность верифицировать и восстановить последовательность в любой момент в прошлом (база с историей изменения параметров GPS хранится публично).
Достоинствами предложенной системы также являются автономность и исключение внешнего влияния на генерируемые параметры - для получения одинаковых последовательность не используется интернет и значения не может подменить третье лицо. Теоретически, отвечающие за поддержание GPS службы могут целенаправленно исказить параметры, но такое искажение приведёт к нарушению работы всей системы, потере точности и негативным экономическим последствиям. Для полного исключения подобных ситуаций планируется кроме GPS учитывать также параметры конкурирующих систем GLONASS, BDS и Galileo, которые контролируют разные страны.
Указанные особенности делают ephemerand востребованным в таких областях как формирование одноразовых паролей (HOTP (https://en.wikipedia.org/wiki/HMAC-based_One-time_Password_a... в системах многофакторной аутентификации, в финансовых системах для исключения подлога транзакций и в блокчейнах при формировании доказательства проделанной работы, т.е. там где необходимо получить общее для разных систем значение случайного числа и невозможно заранее предсказать эти значения в будущем, но можно проверить достоверность прошлых случайных чисел. Например, генератор на основе GPS можно использовать в качестве альтернативы системе NIST Randomness Beacon (https://www.nist.gov/programs-projects/nist-randomness-beacon), в которой обеспечивается передача через интернет случайных чисел, источник которых подписан цифровой подписью Национального института стандартов и технологий США.
URL: https://news.ycombinator.com/item?id=19354367
Новость: https://www.opennet.ru/opennews/art.shtml?num=50287