Viktiga begrepp för certifikathantering (förhandsversion)

Certifikathantering i Azure IoT Hub är utformat för att förenkla hanteringen av X.509-certifikat för IoT-enheter. Den här artikeln beskriver de grundläggande begreppen som rör certifikathantering och certifikatbaserad autentisering i IoT Hub. Mer information finns i Vad är certifikathantering (förhandsversion)?.

Viktigt!

Azure IoT Hub med ADR-integrering och Microsoft-stödd X.509-certifikathantering är i offentlig förhandsversion och rekommenderas inte för produktionsarbetsbelastningar. Mer information finns i Vanliga frågor och svar: Vad är nytt i IoT Hub?.

Offentlig nyckelinfrastruktur (PKI)

PKI är ett system som använder digitala certifikat för att autentisera och kryptera data mellan enheter och tjänster. PKI-certifikat är viktiga för att skydda olika scenarier, till exempel webb- och enhetsidentitet. I IoT-inställningar kan det vara svårt, kostsamt och komplext att hantera PKI-certifikat, särskilt för organisationer som har ett stort antal enheter och strikta säkerhetskrav. Du kan använda certifikathantering för att förbättra säkerheten för dina enheter och påskynda den digitala omvandlingen till en fullständigt hanterad PKI-molntjänst.

Microsoft jämfört med PKI från tredje part

IoT Hub stöder två typer av PKI-providers för X.509-certifikatautentisering, men certifikathantering stöder för närvarande endast Microsoft-hanterad (första part) PKI. Information om hur du använder PKI-leverantörer från tredje part finns i Autentisera enheter med X.509 CA-certifikat.

PKI-provider Integrering krävs Azure Device Registry krävs Enhetsetableringstjänst krävs
Microsoft-hanterad PKI Nej. Konfigurera certifikatutfärdare direkt i Azure Device Registry. Yes Yes
PKI från tredje part (DigiCert, GlobalSign osv.) Ja. Manuell integrering krävs. Nej Nej

X.509-certifikat

Ett X.509-certifikat är ett digitalt dokument som binder en offentlig nyckel till identiteten för en entitet, till exempel en enhet, användare eller tjänst. Certifikatbaserad autentisering ger flera fördelar jämfört med mindre säkra metoder:

  • Certifikat använder kryptering med offentlig/privat nyckel. Den offentliga nyckeln delas fritt, medan den privata nyckeln finns kvar på enheten och kan finnas i betrodda plattformsmoduler (TPM) eller säkra element. Detta hindrar angripare från att personifiera enheten.
  • Certifikat utfärdas och verifieras via en certifikatutfärdarhierarki (CA) så att organisationer kan lita på miljontals enheter via en enda certifikatutfärdare utan att hantera hemligheter för varje enhet.
  • Enheter autentiserar till molnet och molnet autentiserar till enheten, vilket möjliggör ömsesidig TLS-autentisering (Transport Layer Security).
  • Certifikat har definierat giltighetsperioder och kan förnyas eller återkallas centralt.

Det finns två allmänna kategorier av X.509-certifikat:

  • CA-certifikat: Dessa certifikat utfärdas av en certifikatutfärdare (CA) och du använder dem för att signera andra certifikat. CA-certifikat innehåller rotcertifikat och mellanliggande certifikat.

    • Rotcertifikatutfärdare (Root CA): Ett rotcertifikat är ett självsignerat certifikat på den översta nivån från en betrodd certifikatutfärdare som kan användas för att signera mellanliggande certifikatutfärdare.

    • Mellanliggande eller utfärdande CA: Ett mellanliggande certifikat är ett CA-certifikat som är signerat av ett betrott rotcertifikat. Mellanliggande CA:er kan också vara utfärdande CA:er, förutsatt att de används för att signera slutentitetscertifikat.

    Anmärkning

    Det kan vara bra att använda olika mellanliggande certifikat för olika uppsättningar eller grupper av enheter, till exempel enheter från olika tillverkare eller olika enhetsmodeller. Anledningen till att använda olika certifikat är att minska den totala säkerhetspåverkan om ett visst certifikat komprometteras.

  • Slutentitetscertifikat: Dessa certifikat, som kan vara individuella certifikat eller slutcertifikat för enheter, signeras av CA-certifikat och utfärdas till användare, servrar eller enheter.

Begäran om certifikatsignering

En certifikatsigneringsbegäran (CSR) är ett digitalt signerat meddelande som en klient, till exempel en IoT-enhet, genererar för att begära ett signerat certifikat från en certifikatutfärdare (CA). CSR innehåller enhetens offentliga nyckel och identifierande information, till exempel dess registrerings-ID, och är signerad med enhetens privata nyckel för att bevisa ägarskap för nyckeln.

En CSR måste följa PKI:s principkrav, inklusive godkända nyckelalgoritmer, nyckelstorlekar och ämnesfältformat. När en enhet genererar en ny privat nyckel genererar den också en ny CSR. När certifikatutfärdaren verifierar och godkänner CSR utfärdar den ett X.509-certifikat som binder enhetens identitet till dess offentliga nyckel. Den här processen säkerställer att endast enheter som kan demonstrera innehav av sin privata nyckel får betrodda certifikat.

Krav för begäran om certifikatsignering i Enhetsetableringstjänst

I certifikathantering skickar enheter CSR-er under tilldelning eller återtilldelning. Device Provisioning Service (DPS) förväntar sig csr:er i Base64-kodat der-format (distinguished encoding rules), enligt PKCS -specifikationen (Public Key Cryptography Standards) #10. Insändningen exkluderar PEM-sidhuvuden och sidfötter (integritetsförbättrad e-post). Det gemensamma namnfältet (CN) i CSR måste matcha enhetsregistrerings-ID:t exakt.

Autentisering kontra auktorisering

  • Autentisering innebär att bevisa identiteten för IoT Hub. Den verifierar att en användare eller enhet är den som den påstår sig vara. Den här processen kallas ofta AuthN.

  • Auktorisering innebär att bekräfta vad en autentiserad användare eller enhet kan komma åt eller göra i IoT Hub. Den definierar behörigheter för resurser och kommandon. Auktorisering kallas ibland AuthZ.

X.509-certifikat används endast för autentisering i IoT Hub, inte auktorisering. Till skillnad från Microsoft Entra-ID och signaturer för delad åtkomst kan du inte anpassa behörigheter med X.509-certifikat.