encryption-technical
PSK для каналов, PKC для прямых сообщений и сообщений администратора
До версии прошивки 2.4.x Meshtastic полностью полагался на криптографию с предварительно разделённым ключом (PSK) для всех сообщений. Начиная с версии прошивки 2.5.0, Meshtastic ввёл криптографию с открытым ключом (PKC) для прямых сообщений (DM) и добавил идентификаторы сессий для сообщений администратора. Вместе эти улучшения поднимают архитектуру безопасности Meshtastic на новый уровень надёжности.
Ниже приведён подробный обзор того, как PSK, PKC и идентификаторы сессий интегрированы в вашу систему для защиты каналов, прямых сообщений и сообщений администратора.
1. Чат-каналы с использованием PSK
-
Обзор PSK:
-
Чат-каналы продолжают использовать PSK для шифрования коммуникаций.
-
Все участники делят один и тот же PSK для своих каналов, который используется как для шифрования, так и для расшифровки внутри канала.
-
** соображения безопасности:**
- Конфиденциальность: Только участники с правильным PSK могут получить доступ к сообщениям внутри чат-канала.
- Управление ключами: Безопасное распространение и регулярная ротация PSK необходимы для поддержания безопасности канала.
2. DM теперь с использованием PKC
-
Реализация PKC для DM:
-
Пары открытого/закрытого ключей: Каждый узел оснащён уникальной парой открытого/закрытого ключей. Закрытый ключ надёжно хранится на узле, а открытый ключ передаётся другим узлам, обеспечивая безопасную аутентифицированную коммуникацию.
-
Шифрование и подпись:
- Шифрование: DM шифруются с использованием открытого ключа получателя, гарантируя, что только получатель с соответствующим закрытым ключом может расшифровать сообщение.
- Цифровые подписи: DM подписываются закрытым ключом отправителя перед шифрованием, что позволяет получателю проверить личность отправителя и целостность сообщения с использованием открытого ключа отправителя.
-
Улучшения безопасности с PKC:
- Конфиденциальность и целостность сообщений: С PKC каждое DM шифруется и подписывается, обеспечивая, что только предполагаемый получатель может прочитать сообщение, и подтверждая, что оно не было изменено.
3. Сообщения администратора: улучшенная безопасность с PKC и идентификаторами сессий
-
Обмен ключами с DH Curve25519:
-
Настройка начального обмена ключами:
- Генерация ключей: Обмен ключами Диффи-Хеллмана (DH) происходит с использованием Curve25519 при первом общении между узлами. Это генерирует общий секрет для установления симметричного ключа шифрования.
- Поддержка аппаратного обеспечения: Curve25519 поддерживается на аппаратном уровне, обеспечивая эффективный и безопасный обмен ключами.
- Общий секрет: Полученный общий секрет используется для всех последующих коммуникаций между узлами.
-
Использование общего секрета для шифрования:
- Симметричное шифрование: После обмена ключами сообщения шифруются и расшифровываются с использованием общего секрета с симметричными алгоритмами шифрования, такими как AES-CTR или AES-CCM.
- Эффективность: Симметричное шифрование, особенно на основе безопасного обмена DH, балансирует безопасность и производительность, делая его идеальным для приложений реального времени.
-
Идентификатор сессии для сообщений администратора:
-
Использование идентификатора сессии: Идентификаторы сессий генерируются для каждой административной сессии и используются как дополнительное значение внутри зашифрованного пакета. Это обеспечивает безопасность и уникальность каждой сессии.
-
Продолжительность сессии: Идентификатор сессии действителен только в течение короткого времени (например, 300 секунд) и отбрасывается по окончании сессии или после отправки следующего управляющего сообщения.
-
Улучшения безопасности с PKC и идентификатором сессии:
- Снижение риска атак повторного воспроизведения: Использование идентификаторов сессий эффективно предотвращает атаки повторного воспроизведения. Старые идентификаторы сессий нельзя повторно использовать, что делает перехваченные пакеты недействительными.
- Изолированное воздействие: Использование идентификаторов сессий ограничивает любые проблемы, связанные с управлением сессиями, сообщениями администратора, не затрагивая более широкие функции коммуникации, такие как DM или чат-каналы.
4. Общая архитектура безопасности
-
Интеграция PKC с существующими системами:
-
Прямые сообщения: PKC повышает безопасность DM, предоставляя шифрование, аутентификацию и целостность с использованием асимметричного шифрования и цифровых подписей.
-
Сообщения администратора: Комбинация PKC и идентификаторов сессий защищает административные операции, предоставляя дополнительный уровень защиты для критических функций.
-
Использование PSK с существующими системами:
-
Каналы: PSK продолжают использоваться для групповой коммуникации, обеспечивая безопасный обмен сообщениями внутри канала.
-
Масштабируемость и производительность:
- Эффективное использование ресурсов: PKC для DM использует асимметричное шифрование для безопасной коммуникации, в то время как PSK для чат-каналов и идентификаторы сессий для сообщений администратора оптимизируют потребление ресурсов на платформе.
- Управление памятью: Выборочное использование PKC, PSK и идентификаторов сессий обеспечивает эффективное управление памятью и вычислительными ресурсами, позволяя системе масштабироваться при сохранении высокого уровня безопасности.
Заключение
PSK и расширенное использование PKC и идентификаторов сессий на различных архитектурах MCU — ESP32, nRF52 и ARM — демонстрируют индивидуальный подход к безопасности, который балансирует производительность, энергопотребление и управление памятью. Сильные стороны каждой архитектуры используются для обеспечения безопасных коммуникаций без ущерба для эффективности или масштабируемости системы. Этот подход предоставляет надёжную безопасность для широкого спектра приложений, от энергоэффективных носимых устройств до более мощных систем с расширенным функционалом.