Уменьшить список требуемых корневых сертификатов для ограниченных устройств

#mqtt #tls1.2 #google-cloud-iot #root-certificate

#mqtt #tls1.2 #google-облако-iot #root-сертификат

Вопрос:

Я разрабатываю устройство IoT с ограниченным объемом памяти и хотел бы подключить его к Google IoT Core через MQTT. Список требуемых корневых сертификатов, которым необходимо доверять, чтобы разрешить проверку сертификата сервера TLS, очень длинный. Я ищу меньший список, который подходит для устройств IoT с ограниченными ресурсами, но не будет внезапно прекращать работать. Есть ли способ безопасно уменьшить этот список требуемых сертификатов?

Из онлайн-документации (https://cloud.google.com/iot/docs/concepts/device-security ) в разделе «Рекомендации по безопасности устройств» говорится:

‘Используйте TLS 1.2 при обмене данными с mqtt.googleapis.com:8883 (или: 443) и убедитесь, что сертификат сервера действителен, используя корневые центры сертификации. Прочитайте это примечание по безопасности для получения подробных требований к TLS и будущей совместимости.’

Из примечания по безопасности (https://security.googleblog.com/2015/09/disabling-sslv3-and-rc4.html ) в нем говорится:

«По крайней мере, сертификаты вhttps://pki.google.com/roots.pem должен быть надежным.’

Я ясно вижу, что в документации указано, что требуется полный список, но это не кажется приемлемым для устройств IoT с ограниченной памятью. В качестве примера AWS требуется только один сертификат — в зависимости от выбранного шифрования TLS. Смотрите документацию AWS в разделе Проверка подлинности сервера (https://docs.aws.amazon.com/iot/latest/developerguide/managing-device-certs.html )

Была бы полезна любая помощь в понимании способов сокращения списка корневых сертификатов, таких как удаление на основе проверки на основе ECC или проверки на основе RSA.

Ответ №1:

Благодаря полезному инженеру Google на Github, который ответил на вопрос, разъяснив, как были выбраны trusted_RootCA_certs в проекте iot-device-sdk-embedded-c, предоставленном Google, решение заключается в использовании домена долгосрочной поддержки (LTS).

Из документации следует, что специальный домен «mqtt.2030.ltsapis.goog» может использоваться вместо «mqtt.googleapis.com » позволяет использовать только два сертификата корневого ЦС с небольшими открытыми ключами ECC 256 вместо всего пакета root.pem (128 КБ).

Эти сертификаты корневых центров сертификации будут исправлены до 2030 года.

Требуемые корневые центры сертификации являются:

  • GTS LTSR как основной
  • GS Root R4 в качестве резервной копии

Обратите внимание на другие требования и функции для встроенных устройств в документации домена долгосрочной поддержки (LTS).

Комментарии:

1. Если я планирую использовать домен LTS с Raspberry Pi, будет ли это работать? Если да, то не могли бы вы указать, каким образом?