Acquisire e distribuire certificati per le reti EAP-TLS

Prima che un dispositivo Azure Sphere possa connettersi a una rete EAP-TLS, deve disporre di un certificato client che il server RADIUS può utilizzare per autenticare il dispositivo. Se la rete richiede l'autenticazione reciproca, ogni dispositivo deve disporre anche di un certificato CA radice per poter autenticare il server RADIUS.

La modalità di acquisizione e distribuzione di questi certificati dipende dalle risorse di rete disponibili per i dispositivi.

  • Se la rete EAP-TLS è l'unica rete disponibile, sarà necessario distribuire manualmente i certificati.
  • Se è disponibile un'altra forma di rete, ad esempio una rete aperta, puoi usare un approccio "bootstrap". Nell'approccio di bootstrapping, un'applicazione di alto livello Azure Sphere acquisisce i certificati dalla rete aperta e li usa per connettersi alla rete EAP-TLS.

Attenzione

Poiché gli ID certificato sono a livello di sistema, un comando a sfera az o una chiamata funzione che aggiunge un nuovo certificato può sovrascrivere un certificato aggiunto da una chiamata di comando o funzione precedente, causando potenzialmente errori di connessione di rete. È consigliabile sviluppare procedure di aggiornamento dei certificati chiare e scegliere con attenzione gli ID certificato. Per informazioni dettagliate, vedere ID certificato .

Distribuzione manuale

Se la rete EAP-TLS è l'unica rete disponibile per i dispositivi, sarà necessario distribuire manualmente i certificati. La distribuzione manuale implica l'acquisizione dei certificati tramite un PC in rete o un computer Linux e quindi il caricamento dei certificati in ogni dispositivo Azure Sphere tramite la cli di Azure Sphere. Questo approccio richiede una connessione fisica tra il computer PC o Linux e il dispositivo Azure Sphere.

Acquisire manualmente i certificati

I certificati CA radice e client devono essere inclusi in . Formato PEM da caricare nel dispositivo Azure Sphere. Dovrai acquisire il certificato CA radice dal server appropriato, insieme al certificato client e alla chiave privata (e facoltativamente una password per la chiave privata) per il tuo dispositivo. Ogni certificato deve essere generato e firmato dal server appropriato nella rete EAP-TLS. L'amministratore di rete o il team di sicurezza può fornire i dettagli necessari per ottenere i certificati.

Salvare i certificati in . Formato PEM nel pc o nel computer Linux e quindi usa il cli di Azure Sphere per archiviarli nel dispositivo Azure Sphere.

Archiviare i certificati utilizzando l'account CLI

Collega il dispositivo Azure Sphere al tuo PC di rete o al computer Linux e usa il comando az sphere per archiviare i certificati nel dispositivo.

Per archiviare il certificato CA radice nel dispositivo Azure Sphere:

az sphere device certificate add --certificate "server-key-xyz" --cert-type rootca --public-key-file <filepath_to_server_ca_public.pem>

Per archiviare il certificato client nel dispositivo Azure Sphere:

az sphere device certificate add --certificate "client-key-abc" --cert-type client --public-key-file <filepath_to_client_public.pem> --private-key-file <filepath_to_client_private.pem> --private-key-password "_password_"

Distribuzione Bootstrap

Per connettere i dispositivi Azure Sphere in grandi numeri o in molte posizioni, è consigliabile usare un approccio "bootstrap". Per usare questo metodo, i dispositivi devono essere in grado di connettersi a una rete attraverso la quale possono accedere a un server in grado di fornire i certificati. La tua applicazione Azure Sphere di alto livello si connette al server tramite la rete disponibile, richiede i certificati e li archivia nel dispositivo.

La figura seguente riepiloga questo processo.

Flusso dei certificati durante la distribuzione bootstrap

  1. L'applicazione sul dispositivo Azure Sphere si connette alla rete aperta e contatta il servizio di sicurezza Azure Sphere per ottenere il certificato DAA. Installa quindi il certificato DAA nel dispositivo. Il dispositivo deve usare questo certificato per eseguire l'autenticazione con il servizio di rilascio del certificato.

  2. L'applicazione successiva si connette al servizio di rilascio del certificato designato dall'amministratore di rete. Presenta il suo certificato DAA per convalidare la propria identità con il server e richiede il certificato CA radice per il server RADIUS sulla rete EAP-TLS, insieme al certificato client e alla chiave privata. Il servizio può passare altre informazioni all'applicazione, ad esempio l'identità del client e la password della chiave privata, se necessario. L'applicazione installa quindi il certificato client, la chiave privata client e il certificato CA radice nel dispositivo. Può quindi disconnettersi dalla rete aperta.

  3. L'applicazione configura e abilita la rete EAP-TLS. Fornisce il certificato client e la chiave privata per dimostrare l'identità del dispositivo. Se la rete supporta l'autenticazione reciproca, l'applicazione autentica anche il server RADIUS utilizzando il certificato CA radice.

Autenticare il dispositivo e ottenere il certificato client durante il bootstrapping

Un dispositivo Azure Sphere può usare il certificato di autenticazione e attestazione (DAA) del dispositivo per eseguire l'autenticazione in un servizio in grado di fornire gli altri certificati necessari. Il certificato DAA è disponibile dal servizio di sicurezza Azure Sphere.

Per ottenere il certificato DAA:

  1. Specificare l'ID tenant Azure Sphere (legacy) nella sezione DeviceAuthentication del manifesto dell'applicazione per l'applicazione di livello elevato.
  2. Chiama DeviceAuth_CurlSslFunc dall'applicazione di alto livello per ottenere la catena di certificati per il catalogo Azure Sphere corrente.

Se il manifesto dell'applicazione include l'ID tenant Azure Sphere (legacy) per il dispositivo corrente, la funzione DeviceAuth_CurlSslFunc userà la catena di certificati client DAA per l'autenticazione, se il servizio di destinazione richiede l'autenticazione reciproca TLS.

Ottenere il certificato CA radice per il server RADIUS

Per ottenere il certificato CA radice per il server RADIUS, l'applicazione si connette a un endpoint del server di certificati accessibile sulla propria rete e in grado di fornire il certificato. L'amministratore di rete deve essere in grado di fornire informazioni su come connettersi all'endpoint e recuperare il certificato.

Installare i certificati con l'API CertStore

L'applicazione utilizza l'API CertStore per installare i certificati nel dispositivo. La funzione CertStore_InstallClientCertificate installa il certificato client e CertStore_InstallRootCACertificate installa il certificato CA radice per il server RADIUS. La gestione dei certificati in applicazioni di alto livello fornisce informazioni aggiuntive sull'uso dell'API CertStore per la gestione dei certificati.

L'applicazione di esempio Certificati mostra come un'applicazione può usare queste funzioni.