Usare EAP-TLSUse EAP-TLS

Azure Sphere supporta l'uso di EAP-TLS (Extensible Authentication Protocol-Transport Layer Security) per la connessione a reti Wi-Fi.Azure Sphere supports the use of Extensible Authentication Protocol-Transport Layer Security (EAP-TLS) to connect to Wi-Fi networks. EAP-TLS non è supportato su Ethernet.EAP-TLS is not supported over Ethernet.

EAP-TLS per Wi-Fi è un metodo di autenticazione comune negli scenari incentrati sulla sicurezza.EAP-TLS for Wi-Fi is a common authentication method in security-focused scenarios. Offre un livello di sicurezza decisamente maggiore rispetto all'uso di password SSID come segreto globale, ma richiede interventi aggiuntivi per assicurare la corretta configurazione e autenticazione del dispositivo Azure Sphere e della rete.It provides significantly greater security than using the SSID password as a global secret but requires additional work to ensure that the Azure Sphere device and the network are properly configured and authenticated.

La specifica del protocollo EAP-TLS è descritta in dettaglio in RFC 5216.The EAP-TLS protocol specification is detailed in RFC 5216. Il sistema operativo Azure Sphere non implementa direttamente il protocollo EAP-TLS, ma incorpora invece un componente wpa_supplicant open source che lo implementa.The Azure Sphere OS does not directly implement the EAP-TLS protocol; instead, it incorporates an open-source wpa_supplicant component that implements the protocol.

TerminologiaTerminology

Punto di accesso: un dispositivo hardware di rete che consente ad altri dispositivi Wi-Fi di connettersi a una rete cablata.Access Point (AP): A networking hardware device that allows other Wi-Fi devices to connect to a wired network.

Certificato: una chiave pubblica e altri metadati firmati da un'autorità di certificazioneCertificate: A public key and other metadata which is signed by a CA

Autorità di certificazione (CA): un'entità che firma ed emette certificati digitali.Certificate Authority (CA): An entity that signs and issues digital certificates.

Certificato CA: il certificato CA radice a cui è concatenato il certificato di autenticazione del server RADIUS.CA Certificate: The root CA certificate that the RADIUS server's authentication certificate chains to. Questa chiave pubblica può essere archiviata nel dispositivo Azure Sphere.This public key may be stored on the Azure Sphere device.

Certificato client: il certificato e la chiave privata che si usano per l'autenticazione con la rete.Client Certificate: The certificate and private key that are used to authenticate to the network. Il certificato client e la chiave privata abbinata sono archiviati nel dispositivo Azure Sphere.The client certificate and its paired private key are stored on the Azure Sphere device.

Coppia di chiavi: un set di chiavi associate tramite crittografia.Key Pair: A cryptographically bound set of keys. In molti scenari una coppia di chiavi indica una chiave pubblica e una chiave privata; nello scenario EAP-TLS di Azure, invece, per coppia di chiavi si intendono il certificato client e la relativa chiave privata.In many scenarios, a key pair means a public key and a private key; in the Azure Sphere EAP-TLS scenario, however, key pair indicates the client certificate and its private key.

Chiave privata: una chiave che non deve essere esposta a nessuna entità ad eccezione del proprietario attendibile.Private Key: A key that should not be exposed to any entity except the trusted owner.

Infrastruttura a chiave pubblica (PKI): la serie di ruoli, criteri, hardware, software e procedure che servono per creare, gestire, distribuire, usare, archiviare e revocare i certificati digitali e per gestire la crittografia a chiave pubblica.Public key infrastructure (PKI): The set of roles, policies, hardware, software, and procedures that are needed to create, manage, distribute, use, store, and revoke digital certificates and manage public-key encryption.

RADIUS (Remote Authentication Dial-In User Service): un protocollo di rete che opera sulla porta 1812 e fornisce la gestione centralizzata di autenticazione, autorizzazione e account (AAA o tripla A) per gli utenti che si connettono e usano un servizio di rete.Remote Authentication Dial-In User Service (RADIUS): A networking protocol that operates on port 1812 and provides centralized Authentication, Authorization, and Accounting (AAA or Triple A) management for users who connect to and use a network service. Un server RADIUS riceve i dati di autenticazione da un client, li convalida e quindi abilita l'accesso ad altre risorse di rete.A RADIUS server receives authentication data from a client, validates it, and then enables access to other network resources.

RSA (Rivest - Shamir - Adleman): un sistema di crittografia a chiave pubblica basato su RFC 3447.Rivest–Shamir–Adleman (RSA): A public-key cryptosystem that is based on RFC 3447).

Supplicant: il client wireless.Supplicant: The wireless client. Il dispositivo Azure Sphere è un supplicant.The Azure Sphere device is a supplicant.

Panoramica dell'autenticazione EAP-TLSOverview of EAP-TLS authentication

Il diagramma seguente riepiloga il processo di autenticazione di un dispositivo Azure Sphere tramite il protocollo EAP-TLS.The following diagram summarizes the process by which an Azure Sphere device uses the EAP-TLS protocol to authenticate.

Autenticazione tramite EAP_TLS

  1. Quando un dispositivo Azure Sphere richiede l'accesso a una risorsa di rete, contatta un punto di accesso wireless.When an Azure Sphere device requires access to a network resource, it contacts a wireless access point (AP). Alla ricezione della richiesta, il punto di accesso chiede l'identità del dispositivo e quindi contatta il server RADIUS per avviare il processo di autenticazione.Upon receiving the request, the AP asks for the device's identity and then contacts the RADIUS server to initiate the authentication process. Le comunicazioni tra il punto di accesso e il dispositivo usano il protocollo EAPOL (EAP encapsulation over LAN).Communications between the access point and the device use the EAP encapsulation over LAN (EAPOL) protocol.

  2. Il punto di accesso ricodifica i messaggi EAPOL in formato RADIUS e li invia al server RADIUS.The access point recodes the EAPOL messages to RADIUS format and sends them to the RADIUS server. Il server RADIUS fornisce servizi di autenticazione per la rete sulla porta 1812.The RADIUS server provides authentication services for the network on port 1812. Il dispositivo Azure Sphere e il server RADIUS eseguono il processo di autenticazione tramite il punto di accesso, che inoltra i messaggi da uno all'altro.The Azure Sphere device and the RADIUS server carry out the authentication process through the access point, which relays the messages from one to the other. Al termine dell'autenticazione, il server RADIUS invia un messaggio di stato al dispositivo.When authentication is complete, the RADIUS server sends a status message to the device. Se l'autenticazione riesce, il server apre la porta per il dispositivo Azure Sphere.If authentication succeeds, the server opens the port for the Azure Sphere device.

  3. Una volta completata l'autenticazione, il dispositivo Azure Sphere può accedere ad altre risorse di rete e Internet.After successful authentication, the Azure Sphere device can access other network and internet resources.

Le sezioni Autenticazione del server e Autenticazione del dispositivo descrivono in maggior dettaglio il processo di autenticazione.Server authentication and Device authentication describe the authentication process in more detail.

Autenticazione del serverServer authentication

L'autenticazione del server è il primo passaggio dell'autenticazione EAP-TLS reciproca.Server authentication is the first step in mutual EAP-TLS authentication. Nell'autenticazione reciproca, il server RADIUS autentica il dispositivo e il dispositivo autentica il server.In mutual authentication, not only does the RADIUS server authenticate the device, but the device authenticates the server. L'autenticazione del server non è strettamente necessaria, ma è consigliabile configurare la rete e i dispositivi per supportarla.Server authentication is not strictly required, but we strongly recommend that you configure your network and devices to support it. L'autenticazione del server contribuisce a garantire che un server non autorizzato o impostore non possa compromettere la sicurezza della rete.Server authentication helps to ensure that a rogue or impostor server cannot compromise the security of the network.

Per abilitare l'autenticazione del server, il server RADIUS deve avere un certificato di autenticazione server firmato da una CA.To enable server authentication, your RADIUS server must have a server authentication certificate that is signed by a CA. Il certificato di autenticazione server è un "foglia" alla fine della catena di certificati del server, che può facoltativamente includere una CA intermedia e infine termina con una CA radice.The server authentication certificate is a "leaf" at the end of the server's certificate chain, which may optionally include an intermediate CA, and eventually terminates in a Root CA.

Quando un dispositivo richiede l'accesso, il server gli invia l'intera catena di certificati.When a device requests access, the server sends its entire certificate chain to the device. Azure Sphere non applica controlli di convalida dell'orario per il certificato o la catena di autenticazione del server, perché il dispositivo non può sincronizzare l'ora del sistema operativo con un'origine oraria valida finché non ha completato l'autenticazione con la rete.Azure Sphere does not enforce time validation checks on the server authentication certificate or chain, because the device cannot synchronize the OS time to a valid time source until it has authenticated to the network. Se il dispositivo è configurato per considerare attendibile un certificato CA radice che corrisponde a quello del server, convalida l'identità del server.If the device is configured to trust a Root CA that matches the server's Root CA, it validates the server's identity. Se il dispositivo non ha una CA radice corrispondente, l'autenticazione del server non riesce e il dispositivo non sarà in grado di accedere alle risorse di rete.If the device does not have a matching Root CA, server authentication fails and the device will be unable to access network resources. È necessario essere in grado di aggiornare di tanto in tanto il certificato CA radice nel dispositivo, come descritto in Aggiornare un certificato CA radice.You must be able to update the RootCA on the device from time to time, as described in Update a Root CA certificate.

Autenticazione del dispositivoDevice authentication

Al termine dell'autenticazione del server, il dispositivo invia il certificato client per stabilire le proprie credenziali.After server authentication completes, the device sends its client certificate to establish its credentials. Può anche passare un ID client.The device may also pass a client ID. L'ID client è un'informazione facoltativa che alcune reti potrebbero richiedere per l'autenticazione.The client ID is optional information that some networks may require for authentication.

I requisiti specifici per l'autenticazione corretta del dispositivo possono variare a seconda della configurazione della rete specifica.The specific requirements for successful device authentication may vary, depending on how your particular network is configured. L'amministratore di rete può richiedere informazioni aggiuntive per dimostrare la validità dei dispositivi Azure Sphere.The network administrator may to require additional information to prove the validity of your Azure Sphere devices. Indipendentemente dalla configurazione, è necessario essere in grado di aggiornare il certificato del dispositivo di tanto in tanto, come descritto in Aggiornare un certificato client.Regardless of the configuration, you must be able to update the device certificate from time to time, as described in Update a client certificate.

Piattaforma EAP-TLS di Azure SphereAzure Sphere EAP-TLS platform

La piattaforma EAP-TLS di Azure Sphere offre le funzionalità seguenti per la configurazione e la gestione della rete:The Azure Sphere EAP-TLS platform provides the following capabilities for network configuration and management:

  • Caricamento di un file PEM che contiene il certificato client e la chiave privata del dispositivo per le connessioni Wi-Fi tramite EAP-TLS.Load a .PEM file that contains the device's client certificate and private key for Wi-Fi EAP-TLS connections.
  • Configurazione dell'interfaccia Wi-Fi per l'uso di EAP-TLS.Configure the Wi-Fi interface to use EAP-TLS. Il file PEM che contiene il certificato client del dispositivo deve essere presente nel dispositivo.The .PEM file that contains the device's client certificate must be present on the device.
  • Connessione a una rete esistente non EAP-TLS per ottenere un certificato e una chiave privata del dispositivo, abilitazione e connessione a una rete EAP-TLS.Connect to an existing non-EAP-TLS network to get a device certificate and private key, enable an EAP-TLS network, and connect to the EAP-TLS network.
  • Possibilità per le applicazioni di usare il certificato DAA (Device Authentication and Certification) del dispositivo usato per le connessioni HTTPS per l'autenticazione con un archivio certificati.Enable applications to use the device authentication and attestation (DAA) certificate used for HTTPS connections to authenticate to a certificate store.
  • API WifiConfig per gestire le reti Wi-FiWifiConfig API to manage Wi-Fi networks
  • API Certstore per gestire i certificati.Certstore API to manage certificates.

Tutti gli altri componenti della rete EAP-TLS sono responsabilità dell'amministratore di rete locale.All other EAP-TLS network components are the responsibility of the local network administrator.

Configurazione della rete EAP-TLSEAP-TLS network setup

La configurazione della rete EAP-TLS è responsabilità dell'amministratore di rete.The setup of the EAP-TLS network is the responsibility of your network administrator. L'amministratore di rete deve definire l'infrastruttura a chiave pubblica (PKI) e assicurarsi che tutti i componenti di rete siano conformi ai relativi criteri.The network administrator must define the public-key infrastructure (PKI) and ensure that all network components conform to its policies. L'installazione e la configurazione di rete includono, senza limitazioni, le attività seguenti:Network setup and configuration includes, but is not limited to, the following tasks:

  • Configurare il server RADIUS, acquisire e installare il certificato CA e stabilire i criteri in base a cui un dispositivo dimostri la propria identità.Set up the RADIUS server, acquire and install its CA certificate, and establish the criteria for a device to prove its identity.
  • Configurare i dispositivi Azure Sphere con il certificato CA radice del server RADIUS, in modo che possano autenticare il server.Configure your Azure Sphere devices with the root CA of the RADIUS server, so that they can authenticate the server.
  • Acquisire un certificato client e una chiave privata per ogni dispositivo e caricarli nel dispositivoAcquire a client certificate and private key for each device and load them onto the device

Per informazioni su come acquisire e distribuire certificati in vari scenari di rete, vedere Acquisizione e distribuzione di certificati EAP-TLS.EAP-TLS certificate acquisition and deployment describes how to acquire and deploy certificates in various networking scenarios.

Il certificato e la chiave privata per l'autenticazione client devono essere specificati in formato PEM.The certificate and private key for client authentication must be provided in PEM format. La chiave privata può essere specificata con la sintassi PKCS1 o PKCS8, con o senza una password di chiave simmetrica per la chiave privata.The private key may be provided in PKCS1 or PKCS8 syntax, with or without a symmetric key password for the private key. Anche il certificato CA radice deve essere fornito in formato PEM.The root CA certificate must also be provided in PEM format.

La tabella seguente contiene le informazioni usate per configurare la rete EAP-TLS per Azure Sphere.The following table lists the information used in configuring an EAP-TLS network for Azure Sphere.

ElementoItem DescrizioneDescription DettagliDetails
Certificato clientClient certificate Certificato CA firmato che contiene la chiave pubblica per il certificato client.Signed CA certificate that contains the public key for the client certificate. Obbligatorio.Required. Dimensioni massime: 8 KiBMaximum size: 8 KiB
Lunghezza massima della stringa identificatore: 16 caratteriMaximum length of identifier string: 16 characters
Chiave privata del clientClient private key Chiave privata abbinata al certificato client.Private key that is paired with the client certificate. Obbligatoria.Required. Dimensioni massime: 8 KiBMaximum size: 8 Kib
RSA supportato; chiavi ECC non supportateRSA supported; ECC keys are not supported
Password della chiave privata del clientClient private key password Password usata per crittografare la chiave privata del client.Password used to encrypt the client private key. Facoltativa.Optional. Dimensioni minime: 1 byteMinimum size: 1 byte
Dimensioni massime: 256 byteMaximum size: 256 bytes
La stringa vuota viene interpretata come una stringa Null e viceversaEmpty string and null string are interpreted as the same
ID clientClient ID Stringa ASCII passata al server RADIUS che fornisce informazioni aggiuntive sul dispositivo.ASCII string that is passed to the RADIUS server and provides additional information about the device. Obbligatorio in alcune reti EAP-TLS.Required by some EAP-TLS networks. Dimensioni massime: 254 byteMaximum size: 254 bytes
Formato: user@domainname.comFormat: user@domainname.com
Certificato CA radiceRoot CA certificate Certificato CA radice del certificato di autenticazione del server RADIUS.Root CA certificate of the RADIUS server's authentication certificate. Deve essere configurato in ogni dispositivo.Must be configured on each device. Facoltativo ma fortemente consigliato; rivolgersi all'amministratore di reteOptional but strongly recommended; check with your network administrator Dimensioni massime: 8 KiBMaximum size: 8 KiB
Lunghezza massima della stringa identificatore: 16 caratteriMaximum length of identifier string: 16 characters

Importante

Tutte le procedure di configurazione dell'infrastruttura PKI e del server RADIUS, tra cui la gestione della scadenza dei certificati, sono responsabilità dell'utente.All the PKI and RADIUS server setup for your network, including managing certificate expiration, is your responsibility.