Dela via


Hämta och distribuera certifikat för EAP-TLS-nätverk

Innan en Azure Sphere-enhet kan ansluta till ett EAP-TLS-nätverk måste den ha ett klientcertifikat som RADIUS-servern kan använda för att autentisera enheten. Om nätverket kräver ömsesidig autentisering måste varje enhet också ha ett rotcertifikatutfärdarcertifikat för att kunna autentisera RADIUS-servern.

Hur du införskaffar och distribuerar certifikaten beror på vilka nätverksresurser som är tillgängliga för dina enheter.

  • Om EAP-TLS-nätverket är det enda tillgängliga nätverket måste du distribuera certifikaten manuellt.
  • Om det finns en annan form av nätverk, till exempel ett öppet nätverk, kan du använda en "bootstrap"-metod. I bootstrapping-metoden hämtar ett azure Sphere-program certifikaten från det öppna nätverket och använder dem sedan för att ansluta till EAP-TLS-nätverket.

Försiktighet

Eftersom certifikat-ID:t är systemomfattande kan ett az-sfärkommando eller ett funktionsanrop som lägger till ett nytt certifikat skriva över ett certifikat som har lagts till av ett tidigare kommando- eller funktionsanrop, vilket kan orsaka fel i nätverksanslutningen. Vi rekommenderar starkt att du utvecklar tydliga procedurer för certifikatuppdatering och väljer certifikat-ID:er noggrant. Mer information finns i Certifikat-ID:t .

Manuell distribution

Om EAP-TLS-nätverket är det enda nätverket som är tillgängligt för dina enheter måste du distribuera certifikaten manuellt. Manuell distribution innebär att du skaffar certifikaten med en nätverksansluten dator eller Linux-dator och sedan läser in certifikaten på varje Azure Sphere-enhet med hjälp av Azure Sphere CLI. Den här metoden kräver en fysisk anslutning mellan datorn eller Linux-datorn och Azure Sphere-enheten.

Hämta certifikaten manuellt

Rotcertifikatutfärdare och klientcertifikat måste finnas i . PEM-format som ska läsas in på Azure Sphere-enheten. Du måste skaffa rotcertifikatutfärdarcertifikatet från lämplig server tillsammans med klientcertifikatet och den privata nyckeln (och eventuellt ett lösenord för din privata nyckel) för enheten. Varje certifikat måste genereras och signeras av lämplig server i EAP-TLS-nätverket. Nätverksadministratören eller säkerhetsteamet kan ange den information du behöver för att hämta certifikaten.

Spara certifikaten i . PEM-format på datorn eller Linux-datorn och använd sedan Azure Sphere CLI för att lagra dem på Azure Sphere-enheten.

Lagra certifikaten med hjälp av CLI

Anslut Azure Sphere-enheten till din nätverksade dator eller Linux-dator och använd az sphere-kommandot för att lagra certifikaten på enheten.

Så här lagrar du rotcertifikatutfärdarcertifikatet på Azure Sphere-enheten:

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

Så här lagrar du klientcertifikatet på Azure Sphere-enheten:

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_"

Bootstrap-distribution

Om du vill ansluta Azure Sphere-enheter i stort antal eller på många platser kan du använda en "bootstrap"-metod. Om du vill använda den här metoden måste enheterna kunna ansluta till ett nätverk genom vilket de kan komma åt en server som kan leverera certifikaten. Ditt Azure Sphere-program på hög nivå ansluter till servern via det tillgängliga nätverket, begär certifikaten och lagrar dem på enheten.

I följande bild sammanfattas processen.

Certifikatflöde under bootstrap-distribution

  1. Programmet på Azure Sphere-enheten ansluter till det öppna nätverket och kontaktar Azure Sphere Security Service för att få sitt DAA-certifikat. Sedan installeras DAA-certifikatet på enheten. Enheten bör använda certifikatet för att autentisera med certifikatutfärdartjänsten.

  2. Programmet ansluter sedan till den certifikatutfärdande tjänst som nätverksadministratören har angett. Den presenterar sitt DAA-certifikat för att verifiera sin identitet med servern och begär rotcertifikatet för CA-certifikatet för RADIUS-servern i EAP-TLS-nätverket, tillsammans med klientcertifikatet och den privata nyckeln. Tjänsten kan skicka annan information till programmet, till exempel klientidentiteten och lösenordet för den privata nyckeln om det behövs. Programmet installerar sedan klientcertifikatet, den privata klientnyckeln och rotcertifikatutfärdarcertifikatet på enheten. Den kan sedan koppla från det öppna nätverket.

  3. Programmet konfigurerar och aktiverar EAP-TLS-nätverket. Den tillhandahåller klientcertifikatet och den privata nyckeln för att bevisa enhetens identitet. Om nätverket stöder ömsesidig autentisering autentiserar programmet även RADIUS-servern med rotcertifikatet för certifikatutfärdare.

Autentisera enheten och få klientcertifikatet under bootstrapping

En Azure Sphere-enhet kan använda sitt DAA-certifikat (Device Authentication and Attestation) för att autentisera till en tjänst som kan tillhandahålla andra obligatoriska certifikat. DAA-certifikatet är tillgängligt från Azure Sphere-säkerhetstjänsten.

Så här skaffar du DAA-certifikatet:

  1. Ange klientorganisations-ID:t för Azure Sphere (äldre) i avsnittet DeviceAuthentication i programmanifestet för det högnivåprogram.
  2. Ring DeviceAuth_CurlSslFunc från högnivåprogrammet för att hämta certifikatkedjan för den aktuella Azure Sphere-katalogen.

Om programmanifestet innehåller Klient-ID för Azure Sphere (äldre) för den aktuella enheten använder DeviceAuth_CurlSslFunc-funktionen DAA-klientcertifikatkedjan för att autentisera, om måltjänsten kräver TLS ömsesidig autentisering.

Hämta rotcertifikatutfärdarcertifikatet för RADIUS-servern

Om du vill hämta rotcertifikatutfärdarcertifikatet för RADIUS-servern ansluter programmet till en certifikatserverslutpunkt som är tillgänglig i nätverket och som kan leverera certifikatet. Nätverksadministratören bör kunna ge information om hur du ansluter till slutpunkten och hämtar certifikatet.

Installera certifikaten med CertStore API

Programmet använder CertStore-API: et för att installera certifikaten på enheten. Funktionen CertStore_InstallClientCertificate installerar klientcertifikatet och CertStore_InstallRootCACertificate installerar rotcertifikatutfärdarcertifikatet för RADIUS-servern. Hantera certifikat i program på hög nivå ger ytterligare information om hur du använder CertStore API för certifikathantering.

Exempelprogrammet Certifikat visar hur ett program kan använda de här funktionerna.