Ocena bezpieczeństwa starszej implementacji SSL / TLS na urządzeniu IoT

Aug 16 2020

Przeprowadzam ocenę bezpieczeństwa dotyczącą bezpieczeństwa komunikacji starszego urządzenia IoT. Celem jest ocena i znalezienie luk bezpieczeństwa w obecnym projekcie / wdrożeniu.

Tryb oceny jest ręczny, głównie w odniesieniu do istniejącego projektu i kodu. To jest tylko po stronie klienta na urządzeniu; podczas gdy serwer jest serwerem w chmurze. Urządzenie korzysta z modułu GSM (SIMCom SIM900) i realizuje komunikację HTTPS z serwerem przez Internet za pomocą poleceń GSM AT.

Opierając się na moim zrozumieniu SSL / TLS, rozważam poniższe parametry lub kryteria tej oceny:

za. Wersja protokołu TLS

b. Używane zestawy szyfrów

do. zarządzanie certyfikatami i kluczami

re. Root CAs zainstalowane na urządzeniu

mi. Wbudowany aspekt PKI do zarządzania tożsamością urządzenia

fa. Sprzętowy aspekt kryptograficzny (SHE / TPM)

Czy robię to we właściwy sposób? Chociaż myślę, że powyższa lista parametrów nie jest specyficzna dla platformy HW / SW urządzenia; raczej ogólne. ale myślę, że tak powinno być! Mam na myśli, że lista parametrów będzie prawie taka sama; jednak faktyczna ocena tych elementów będzie zależeć od wymagań bezpieczeństwa i innych aspektów, takich jak ślad urządzenia i jego platforma itp.

Czy lista parametrów oceny, którą rozważam, jest dobra i odpowiednia?

Odpowiedzi

3 mti2935 Aug 16 2020 at 05:47

To dobry początek, ale dokładna ocena musiałaby sięgnąć znacznie głębiej. Na przykład:

  • W jaki sposób klient generuje liczby losowe? Czy używa CSPRNG ? Czy też używa słabego generatora liczb losowych, takiego jak ten używany we wczesnych wersjach Netscape Navigator , w którym pasywny atakujący był w stanie odgadnąć losowe liczby wygenerowane dla kluczy sesji, a tym samym odszyfrować szyfrogram przechodzący przez sieć.

  • Czy klient wycieka informacje, gdy napotka błąd wypełnienia? Jeśli tak, to może być podatny na atak wyściełającej wyroczni , tak jak miało to miejsce w przypadku klienta gier Steam .

  • W jaki sposób klient wdraża ECDSA ? Czy klient generuje nowe losowe k dla każdego tworzonego przez siebie podpisu? Jeśli nie, może być możliwe, że pasywny atakujący obliczy prywatny klucz podpisu po obejrzeniu kilku podpisów, tak jak miało to miejsce w przypadku Sony Playstation 3 .

To tylko kilka przykładów. Ale, jak widać, subtelne błędy we wdrażaniu kryptografii mogą mieć katastrofalne konsekwencje. Właśnie dlatego kryptografia jest tak trudna do uzyskania.