Qualità della chiave del certificato del dispositivo - AWS IoT Device Defender

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:

  1. Effettuare il provisioning di nuovi certificati univoci e collegarli a ciascun dispositivo.

  2. Verificare che i nuovi certificati siano validi e che i dispositivi siano in grado di usarli per connettersi.

  3. 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.

  4. Distaccare il vecchio certificato da ogni dispositivo.