Qualità della chiave del certificato del dispositivo
I clienti AWS IoT spesso si affidano all'autenticazione reciproca TLS utilizzando i certificati X.509 per l'autenticazione al broker di messaggi AWS IoT. Questi certificati e i relativi certificati dell'autorità di certificazione devono essere registrati nel proprio account AWS IoT prima di essere utilizzati. AWS IoT esegue controlli di integrità di base su questi certificati quando sono registrati. Tali controlli comprendono:
-
Devono essere in un formato valido
-
Devono essere firmati da un'autorità di certificazione registrata
-
Devono essere ancora entro il loro periodo di validità (in altre parole, non devono essere scaduti)
-
Le dimensioni delle chiavi crittografiche devono soddisfare una dimensione minima richiesta (per le chiavi RSA devono essere pari o superiori a 2048 bit).
Questo controllo di audit fornisce i seguenti test aggiuntivi della qualità della chiave crittografica:
-
CVE-2008-0166 - Verifica se la chiave è stata generata utilizzando OpenSSL 0.9.8c-1 fino a versioni precedenti la 0.9.8g-9 su un sistema operativo basato su Debian. Queste versioni di OpenSSL utilizzano un generatore di numeri casuali che genera numeri prevedibili, rendendo più facili gli attacchi da remoto da parte degli utenti malintenzionati per impossessarsi delle chiavi crittografiche.
-
CVE-2017-15361 - Verifica se la chiave è stata generata dalla libreria Infineon RSA 1.02.013 nel firmware Trusted Platform Module (TPM), ad esempio versioni precedenti la 0000000000000422 - 4.34, la 000000000000062b - 6.43 e la 0000000000008521 - 133.33. Questa libreria non fa altro che gestire male la generazione delle chiavi RSA e semplificare la violazione di alcuni meccanismi di protezione crittografica agli utenti malintenzionati, i quali possono agire con attacchi mirati. Esempi di tecnologie interessate includono BitLocker con TPM 1.2, la generazione di chiavi PGP YubiKey 4 (prima della 4.3.5) e la funzionalità di crittografia dati utente nella cache in Chrome OS.
AWS IoT Device Defender segnala i certificati come non conformi se non superano questi test.
Questo controllo viene visualizzato come DEVICE_CERTIFICATE_KEY_QUALITY_CHECK
nell’interfaccia a riga di comando e nell’API.
Gravità: Critico
Informazioni
Questo controllo si applica ai certificati dei dispositivi contrassegnati come "ACTIVE" o "PENDING_TRANSFER".
Quando questo controllo trova un certificato non conforme, vengono restituiti i codici motivo seguenti:
-
CERTIFICATE_KEY_VULNERABILITY_CVE-2017-15361
-
CERTIFICATE_KEY_VULNERABILITY_CVE-2008-0166
Perché è importante
Quando un dispositivo utilizza un certificato vulnerabile, gli aggressori possono facilmente compromettere tale dispositivo.
Come risolvere il problema
Aggiornare i certificati del dispositivo per sostituire quelli con vulnerabilità note.
Se stai usando lo stesso certificato in più dispositivi, puoi eseguire queste operazioni:
-
Effettuare il provisioning di nuovi certificati univoci e collegarli a ciascun dispositivo.
-
Verificare che i nuovi certificati siano validi e che i dispositivi siano in grado di usarli per connettersi.
-
Utilizza UpdateCertificate per contrassegnare il certificato precedente come REVOKED in AWS IoT. Puoi anche usare le operazioni di mitigazione per:
-
Applicare l'operazione di mitigazione
UPDATE_DEVICE_CERTIFICATE
sui risultati di audit per apportare questa modifica. -
Applicare l'operazione di mitigazione
ADD_THINGS_TO_THING_GROUP
per aggiungere il dispositivo a un gruppo nel quale puoi agire su di esso. -
Applica l'operazione di mitigazione
PUBLISH_FINDINGS_TO_SNS
per implementare una risposta personalizzata al messaggio di Amazon SNS.
Per ulteriori informazioni, consultare Operazioni di mitigazione.
-
-
Distaccare il vecchio certificato da ogni dispositivo.