Autenticazione del server - AWS IoT Core

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Autenticazione del server

Quando il dispositivo o un altro client tenta di connettersi AWS IoT Core, il AWS IoT Core server invierà un certificato X.509 utilizzato dal dispositivo per autenticare il server. L'autenticazione avviene a livello TLS tramite la convalida della Catena di certificati X.509. Si tratta dello stesso metodo utilizzato dal browser quando si visita un URL HTTPS. Per utilizzare certificati della tua certification authority, consulta Gestire i certificati CA personali.

Quando i tuoi dispositivi o altri client stabiliscono una connessione TLS a un AWS IoT Core endpoint, AWS IoT Core presenta una catena di certificati che i dispositivi utilizzano per verificare che stiano comunicando e non che un altro server si spacci per impersonare. AWS IoT Core AWS IoT Core La catena presentata dipende da una combinazione del tipo di endpoint a cui il dispositivo si connette e dalla suite di crittografia negoziata dal client durante l'handshake TLS. AWS IoT Core

Tipi di endpoint

AWS IoT Core supporta due diversi tipi di endpoint di dati e. iot:Data iot:Data-ATS iot:Datagli endpoint presentano un certificato firmato dal certificato CA root G5 Public Primary di VeriSign classe 3. iot:Data-ATSgli endpoint presentano un certificato server firmato da una CA di Amazon Trust Services.

I certificati presentati dagli endpoint ATS hanno la firma incrociata di Starfield. Alcune implementazioni client TLS richiedono la convalida root trust e richiedono che i certificati CA Starfield siano installati negli archivi attendibili del client.

avvertimento

Non è consigliabile utilizzare un metodo di aggiunta dei certificati che esegue l'hash dell'intero certificato (incluso il nome dell'emittente e così via) perché ciò causerà un errore di verifica del certificato e i certificati ATS forniti hanno la firma incrociata di Starfield e un nome di emittente diverso.

Importante

Utilizzare gli endpoint iot:Data-ATS a meno che il dispositivo non richieda certificati Symantec o Verisign CA. I certificati Symantec e Verisign sono stati deprecati e non sono più supportati dalla maggior parte dei browser Web.

Puoi utilizzare il comando describe-endpoint per creare l'endpoint ATS.

aws iot describe-endpoint --endpoint-type iot:Data-ATS

Il comando describe-endpoint restituisce un endpoint nel formato seguente.

account-specific-prefix.iot.your-region.amazonaws.com
Nota

La prima volta che viene chiamato describe-endpoint, viene creato un endpoint. Tutte le chiamate successive a describe-endpoint restituiscono lo stesso endpoint.

Per la compatibilità con le versioni precedenti, supporta AWS IoT Core ancora gli endpoint Symantec. Per ulteriori informazioni, consulta How AWS IoT Core is Helping Customers Navigate the Upcoming Distrust of Symantec Certificate Authorities. I dispositivi che operano in endpoint ATS sono completamente compatibili con i dispositivi che operano negli endpoint Symantec nello stesso account e non richiedono alcuna nuova registrazione.

Nota

Per visualizzare il tuo iot:Data-ATS endpoint nella console, scegli Impostazioni. AWS IoT Core La console visualizza solo l'endpoint iot:Data-ATS. Per impostazione predefinita, il comando describe-endpoint visualizza l'endpoint iot:Data per la compatibilità con le versioni precedenti. Per visualizzare l'endpoint iot:Data-ATS, specifica il parametro --endpointType, come nell'esempio precedente.

Creazione di un file IotDataPlaneClient con l' AWS SDK for Java

Per impostazione predefinita, l'SDK AWS per Java - Versione 2 crea un IotDataPlaneClient utilizzando un endpoint iot:Data. Per creare un client che utilizza un endpoint iot:Data-ATS, devi eseguire le seguenti operazioni.

  • Crea un iot:Data-ATS endpoint utilizzando l'DescribeEndpointAPI.

  • Specifica l'endpoint quando crei il IotDataPlaneClient.

Nell'esempio seguente vengono eseguite entrambe queste operazioni.

public void setup() throws Exception { IotClient client = IotClient.builder().credentialsProvider(CREDENTIALS_PROVIDER_CHAIN).region(Region.US_EAST_1).build(); String endpoint = client.describeEndpoint(r -> r.endpointType("iot:Data-ATS")).endpointAddress(); iot = IotDataPlaneClient.builder() .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) .endpointOverride(URI.create("https://" + endpoint)) .region(Region.US_EAST_1) .build(); }

Certificati CA per l'autenticazione del server

A seconda del tipo di endpoint di dati utilizzato e della suite di crittografia negoziata, i certificati di autenticazione AWS IoT Core del server sono firmati da uno dei seguenti certificati CA root:

Amazon Trust Services Endpoint (preferito)

Nota

Potrebbe essere necessario fare clic con il pulsante destro del mouse su questi collegamenti e selezionare Salva collegamento come... per salvare questi certificati come file.

  • Chiave RSA a 2048 bit: Amazon Root CA 1.

  • Chiave RSA a 4096 bit: Amazon Root CA 2. Riservato per uso futuro.

  • Chiave ECC a 256 bit: Amazon Root CA 3.

  • Chiave ECC a 384 bit: Amazon Root CA 4. Riservato per uso futuro.

Questi certificati hanno tutti la firma incrociata di Starfield Root CA Certificate. Tutte le nuove AWS IoT Core regioni, a partire dal lancio del 9 maggio 2018 AWS IoT Core nella regione Asia Pacifico (Mumbai), offrono solo certificati ATS.

VeriSign Endpoint (legacy)

Linee guida per l'autenticazione del server

Esistono molte variabili che possono influire sulla capacità di un dispositivo di convalidare il certificato di autenticazione del server AWS IoT Core . Ad esempio, i dispositivi potrebbero avere una quantità eccessiva di memoria per contenere tutti i possibili certificati CA radice oppure i dispositivi possono implementare un metodo non standard di convalida del certificato. Per questi motivi suggeriamo di seguire queste linee guida:

  • Ti consigliamo di utilizzare il tuo endpoint ATS e di installare tutti i certificati Amazon Root CA supportati.

  • Se non riesci ad archiviare tutti questi certificati sul tuo dispositivo e se i tuoi dispositivi non utilizzano la convalida basata su ECC, puoi omettere i certificati ECC Amazon Root CA 3 e Amazon Root CA 4. Se i dispositivi non implementano la convalida dei certificati basata su RSA, puoi omettere i certificati RSA di Amazon Root CA 1 e di Amazon Root CA 2. Potrebbe essere necessario fare clic con il pulsante destro del mouse su questi collegamenti e selezionare Salva collegamento come... per salvare questi certificati come file.

  • Se riscontri problemi di convalida dei certificati server durante la connessione all'endpoint ATS, prova ad aggiungere il certificato Amazon Root CA pertinente con firma incrociata al tuo archivio attendibile. Potrebbe essere necessario fare clic con il pulsante destro del mouse su questi collegamenti e selezionare Salva collegamento come... per salvare questi certificati come file.

  • Se si verificano problemi di convalida dei certificati server, il dispositivo potrebbe considerare esplicitamente attendibile la CA principale. Prova ad aggiungere Starfield Root CA Certificate al tuo negozio di fiducia.

  • Se si verificano ancora problemi dopo aver eseguito i passaggi precedenti, contattare il Supporto AWS Developer.

Nota

I certificati CA hanno una data di scadenza dopo la quale non possono più essere usati per convalidare un certificato del server. Potrebbe essere necessario sostituire i certificati CA prima della data di scadenza. Assicurati di poter aggiornare i certificati CA root in tutti i dispositivi o client per garantire la connessione continua e per mantenere il sistema aggiornato con le best practice di sicurezza.

Nota

Quando ti connetti AWS IoT Core al codice del tuo dispositivo, trasferisci il certificato all'API che stai utilizzando per la connessione. L'API utilizzata varierà in base all'SDK. Per ulteriori informazioni, consulta la sezione SDK per dispositivi AWS IoT Core.