ESP32-S3 получает постквантовое шифрование благодаря открытой прошивке Aethyr Edge Node

Компания Aethyr Research выпустила прошивку для периферийных узлов IoT с постквантовым шифрованием для микроконтроллеров ESP32-S3, которая загружается за 2,1 секунды и поддерживает полное подтверждение связи PQC (Post Quantum Cryptography) за 35 мс.

Алгоритмы криптографии с открытым ключом, такие как RSA и ECC, вскоре придется заменить из-за прогресса квантовых компьютеров, которые смогут взломать такое шифрование за несколько часов или дней с помощью алгоритма Шора . Хотя время еще есть, Google недавно обновил свои сроки для перехода на постквантовую криптографию до 2029 года, в основном потому, что данные можно сохранить сейчас для атаки, когда появятся достаточно мощные квантовые компьютеры, а стандарт NIST FIPS 203 (ML-KEM-768) предписывает обеспечить устойчивую к квантовым атакам безопасность к 2035 году.

ESP32-S3 post quantum encryption

Открытая прошивка Aethyr Edge Node использует формально верифицированный постквантовый обмен ключами ML-KEM-768 (FIPS 203), целостность BLAKE3 и шифрование XChaCha20-Poly1305 для реализации постквантового шифрования при подключении к серверу по протоколу AethyrWire (AWP). Это строительный блок распределенной агентской сети Aethyr, цель которой — развертывать автономные ИИ-агенты в mesh-сети с небольшими узлами, работающими на TinyML, и более крупными узлами для сложных вычислений без необходимости полагаться на облако. Единственная часть проекта с открытым исходным кодом на данный момент — это прошивка для ESP32-S3, а остальная часть агентской операционной системы Aethyr остается проприетарной.

Aethyr dashboard
Панель управления Aethyr

Устойчивые к квантовым атакам алгоритмы вносят некоторую задержку, но, судя по опубликованным тестам для модуля ESP32-S3-WROOM-1 с тактовой частотой ЦП 240 МГц (50 итераций, среднее значение и стандартное отклонение), она выглядит не слишком большой.

Operation Mean StdDev Min Max
BLAKE3 (1KB) 255us 102us 238us 969us
ML-KEM keygen 9,052us 164us 8,986us 9,558us
ML-KEM encap 10,070us 11us 10,058us 10,146us
ML-KEM decap 12,197us 11us 12,192us 12,275us
XChaCha20 encrypt 243us 46us 235us 564us
BLAKE3 KDF 49us 60us 40us 472us
AWP frame enc+dec 363us 95us 346us 1,030us

Размер прошивки составляет 833 КБ, а свободная куча во время выполнения — 157 КБ из 512 КБ SRAM. Прошивка также была протестирована на 410 000 итерациях фаззинга (AddressSanitizer + UBSan) без единого сбоя и на 100 000 тестах с инверсией одного бита, все они были обнаружены. При каждой загрузке также запускается 13 самопроверок.

Aethyr протестировала её на модулях ESP32-S3-WROOM-1 с 8 МБ PSRAM и на NVIDIA Jetson Orin Nano Super , выступающем в роли точки доступа WiFi на 2,4 ГГц, на котором работает вышестоящий NODE. Прошивка должна работать на любых платах ESP32-S3. Исходный код можно изучить, сконфигурировать, собрать и прошить на плату следующим образом (требуется ESP-IDF версии 5.4+):

git clone https://github.com/aethyrai/esp32-awp-edge
cd esp32-awp-edge

# Configure WiFi and upstream node
idf.py menuconfig
# → AWP Edge Node Configuration
#   WiFi SSID / Password
#   Upstream host IP and port

idf.py build
idf.py -p /dev/ttyUSB0 flash monitor

Вывод в терминале должен выглядеть так:

Crypto Self-Test Suite
  [1] BLAKE3: empty input...                           PASS
  [2] BLAKE3: 251 sequential bytes...                  PASS
  [3] BLAKE3: derive_key (KDF mode)...                 PASS
  [4] XChaCha20-Poly1305: encrypt/decrypt round-trip...PASS
  [5] XChaCha20-Poly1305: tamper detection...          PASS
  [6] XChaCha20-Poly1305: wrong key rejection...       PASS
  [7] XChaCha20-Poly1305: nonce uniqueness...          PASS
  [8] ML-KEM-768: keygen + encap/decap round-trip...   PASS
  [9] ML-KEM-768: wrong secret key rejection...        PASS
  [10] INTEROP: BLAKE3 KDF matches Python...           PASS
  [11] INTEROP: decrypt Python-produced ciphertext...  PASS
  [12] AWP: frame encode/decode round-trip...          PASS
  [13] AWP: BLAKE3 checksum tamper detection...        PASS
  ALL 13 TESTS PASSED (226ms)

ML-KEM-768 keypair ready
WiFi connected
TCP connected to upstream
PQC session established

Исходный код и инструкции доступны на GitHub . Однако есть небольшая проблема. Не удалось найти образ ОС или программное обеспечение для установки на плату Jetson, поэтому на данный момент это не очень полезно. Документированные каталоги Jetson и Demo еще не были загружены на GitHub:

── jetson/
│   ├── setup-mesh-ap.sh       Create dedicated WiFi AP on Jetson
│   ├── stop-mesh-ap.sh        Stop mesh AP
│   └── aios-node.service      systemd service for AWP node
├── demo/
│   └── run_demo.py            Scripted 2-minute demo

Возможно, реализация постквантового шифрования может послужить основой для других проектов, устойчивых к PQC.   Связанный пост в блоге содержит несколько дополнительных деталей. (Ссылка на Internet Archive, потому что сайт не работает из Таиланда, за исключением случаев использования VPN в США).

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments