OpenBSD идёт в сторону использования цифровых подписей для пакетов и релизов
Тэо де Раадт (Theo de Raadt), лидер проекта OpenBSD, сообщил в списке рассылки misc@openbsd «Мы идём в сторону подписанных пакетов». Чуть позже, в рассылке tech@ была опубликована инструкция по проверке подлинности релизов c использованием утилиты signify (1), и призыв к тестированию нововведений. Данные заявления поступили вслед недавнему внедрению новой утилиты signify, которая была написана из-за слишком большого размера пакета gnupg, так как в OpenBSD до сих пор поддерживается установка системы с одной дискеты. Signify отличается поддержкой только минимально необходимого набора функций. Информации о цифровой подписи распространяется в отдельном файле очень простого формата (идентификатор алгоритма, сигнатура, сопутствующие данные для шифрования и комментарий). В качестве системы для формирования цифровых подписей используется криптосистема с открытым ключом Ed25519, разработанная небезызвестным D.J. Bernstein, и его код был опять добавлен в OpenBSD, всего через пару недель после того, как некоторые другие из его изобретений были интегрированы в близлежащий OpenSSH.
Алгоритм Ed25519 отличается очень высокой скоростью верификации и создания подписей, режимом пакетной верификации цифровых подписей (проверка группы сигнатур за раз) и небольшим размером цифровой подписи и открытого ключа, которые составляют всего 64 и 32 байта. При этом алгоритм нацелен на обеспечения уровня стойкости к взлому порядка 2^128 (в среднем для атаки на Ed25519 потребуется совершить 2^140 битовых операций), что соответствует стойкости таких алгоритмов, как NIST P-256 и RSA с размером ключа в 375 байт или 128-битному блочному шифру. Ed25519 также не подвержен проблемам с коллизиями в хэшах, не чувствителен к атакам через определение содержимого кэша (cache-timing attacks) и атакам по сторонним каналам (side-channel attacks).
© OpenNet