Оценка безопасности устаревшей реализации SSL / TLS на устройстве IoT

Aug 16 2020

Я провожу оценку безопасности связи устаревшего устройства IoT. Цель состоит в том, чтобы оценить и найти бреши в безопасности в текущем проекте / реализации.

Способ оценки - ручной, в первую очередь со ссылкой на существующий дизайн и код. Это только на стороне клиента на устройстве; а сервер - это облачный сервер. Устройство использует модуль GSM (SIMCom SIM900) и устанавливает соединение HTTPS с сервером через Интернет с помощью AT-команд GSM.

Основываясь на моем понимании SSL / TLS, я рассматриваю следующие параметры или критерии для этой оценки:

а. Версия протокола TLS

б. Используемые наборы шифров

c. управление сертификатами и ключами

d. Установленные на устройстве корневые центры сертификации

е. Встроенный аспект PKI для управления идентификацией устройств

f. Аппаратный криптографический аспект (SHE / TPM)

Правильно ли я это делаю? Хотя я думаю, что приведенный выше список параметров не относится к платформе HW / SW устройства; довольно общий. но думаю так и должно быть! Я имею в виду, что список параметров будет почти таким же; однако фактическая их оценка будет зависеть от требований безопасности и других аспектов, таких как размер устройства, его платформа и т. д.

Является ли список параметров оценки, который я рассматриваю, хорошим и адекватным?

Ответы

3 mti2935 Aug 16 2020 at 05:47

Это хорошее начало, но тщательная оценка потребует гораздо большего. Например:

  • Как клиент генерирует случайные числа? Использует ли он CSPRNG ? Или он использует слабый генератор случайных чисел, подобный тому, который использовался в ранних версиях Netscape Navigator , где пассивный злоумышленник мог угадывать случайные числа, сгенерированные для ключей сеанса, и, таким образом, расшифровывать зашифрованный текст, передаваемый по сети.

  • Утечка информации клиентом, когда он обнаруживает ошибку заполнения? Если это так, то он может быть подвержен атаке оракула , как в случае с игровым клиентом Steam .

  • Как клиент реализует ECDSA ? Создает ли клиент новый случайный k для каждой создаваемой подписи? В противном случае пассивный злоумышленник может вычислить закрытый ключ подписи после наблюдения за несколькими подписями, как в случае с Sony Playstation 3 .

Это всего лишь несколько примеров. Но, как видите, тонкие ошибки при реализации криптографии могут иметь катастрофические последствия. Вот почему криптографию так сложно понять.