Så utformar du processer för livscykelhantering av PKI-certifikat för IoT-enheter

Att använda PKI-certifikat (public key infrastructure) i IoT-enheter (internet of things, sakernas internet) för att möjliggöra säker kommunikation, åtkomstkontroll och kodsignering är enkelt – men utformningen av processerna för livscykelhanteringen av certifikaten kräver noggranna överväganden. I den här texten förklarar PKI-experten Tamás Horváth hur du utformar dina processer för bästa möjliga säkerhet och effektivitet.

PKI är den bästa tillgängliga tekniken för att möjliggöra säker internetkommunikation och mjukvaruuppgraderingar i IoT-applikationer och för att kontrollera åtkomst till IoT-tjänster och -enheter.

PKI eliminerar behovet av i förväg delade nycklar

PKI förser IoT-enheter och -tjänster med pålitliga identiteter baserade på certifikat. Det här möjliggör kommunikation som är autentiserad och krypterad N-till-N (många parter) och punkt-till-punkt utan i förväg delade kryptografiska nycklar.

PKI stöder även användningen av auktoriseringscertifikat som godkänner att certifikatinnehavaren (en enhet eller en tjänst) kan komma åt en viss resurs eller tillhöra en viss infrastrukturdomän (såsom en byggnad). Auktoriseringscertifikat kan således ersätta andra typer av centrala auktoriseringstjänster, såsom OAuth och OpenID Connect, och kan möjliggöra anonymitet.

Ett stort antal möjliga IoT-produktlivscykler

Det är enkelt att använda PKI-certifikat i IoT-applikationer, eftersom PKI-certifikat stöds av de flesta kommunikationsprotokoll, digitala tjänster, och autentiserings- och accessprodukter.

Utformningen av säkra och effektiva livscykelhanteringsprocesser för certifikaten kräver dock noggranna överväganden. Det här beror på den stora variationen av möjliga IoT-produktlivscykler, som definieras av följande faktorer:

  • Produktionsförsörjningskedjan för en IoT-produkt kan innehålla ett antal olika steg – såsom tillverkning av chippsats och elektroniska kretsar, hopsättning av enheten, anpassning av produkten till varumärket, låsning av produkten till en nätoperatör, installation av produkten i en infrastrukturdomän, och överlämning av produkten från producenten till operatören – och kan innefatta flera aktörer.
  • Den operativa kontexten för IoT-produkter – såsom användning i ett personaliserat sammanhang av en specifik användare, installation i en specifik infrastrukturdomän (såsom en byggnad, stad eller organisation), eller tilldelning till en specifik instans av en tjänst – varierar kraftigt. I vissa scenarier kan IoT-produkten aktiveras av en auktoriserad person i en säker miljö, medan andra scenarier kräver aktivering via internet med hjälp av fjärradministrationstjänster.
  • Livscykeln efter färdigställandet av IoT-produkter kan också variera kraftigt. Vissa enheter kan byta ägare eller operativ kontext. Vissa befinner sig i offentliga utrymmen, och vissa kan orsaka betydande skador om de förloras eller blir stulna. Och vissa kan kräva underhåll regelbundet eller ad hoc i en säker miljö eller där de befinner sig.

Kritiskt att upprätthålla förtroende under hela livscykeln

När du utformar processerna för PKI-certifikatens livscykelhantering måste du se till att du etablerar och behåller förtroende för IoT-enheterna under hela försörjningskedjorna och livscyklerna. Det här är viktigt för att skydda mot hot såsom:

  • Förfalskade produkter som tar sig in i försörjningskedjan eller en skyddad operativ kontext.
  • Oregistrerade och eventuellt manipulerade produkter som tar sig in i försörjningskedjan eller i en skyddad operativ kontext (såsom en standardprodukt som kopplas upp till ditt smarta hem-nätverk eller -servicekonto utan din vetskap).
  • Obehöriga som får tillgång till enheter eller tjänster för att sabotera (såsom en brottsling som får tillgång till en smart tillverkningsenhet).
  • En enhet som blir tillgänglig för eller omdirigeras till en obehörig tjänst eller enhet (vilket möjliggör avlyssning av data).

En betrodd identitet måste etableras tidigt

För att upprätta och behålla förtroende för IoT-enheter under hela livscykeln måste deras identiteter kontrolleras sömlöst. Det innebär att en betrodd identitet måste etableras för enheten eller dess komponenter tidigt i produktlivscykeln. Valideringen av den här identiteten måste sedan krävas vid tilldelningen av en annan identitet till komponenten eller enheten i nästa steg i försörjningskedjan eller när enheten tas in i sin operativa kontext (det vill säga när den personaliseras för en användare eller installeras i en infrastrukturdomän).

IoT-enhetskomponenter såsom SIM-kort, eSIM-chipp, mikrokontroller eller ombordenheter för bilar bör få sin första certifikatsbaserade identitet från tillverkaren under produktion i en betrodd och säker anläggning.


Ladda ner guiden: ”Så bygger du en säker IoT-infrastruktur.”


Nya certifikat för varje fas i livscykeln

När en tillverkare levererar IoT-enhetskomponenter till nästa tillverkare i produktionskedjan ska tillverkaren även leverera en lista över komponenternas identiteter via en säker kanal. Det här gör det möjligt för nästa tillverkare att filtrera bort obehöriga komponenter och ge nya tillverkar- eller kontextspecifika certifikat till produkterna på ett säkert sätt.

Den här processen bör utföras i varje steg av IoT-enhetens produktionskedja. När slutprodukten köps av en konsument eller organisation ska operatören tillhandahålla ett nytt certifikat för den operativa kontexten (efter att ha verifierat identiteten som produkten har fått från den sista tillverkaren i produktionsförsörjningskedjan).

Certifikat förenklar åtkomstkontrollen

Leverantörsnamnet, namnet på den operativa domänen, eller andra identifierare såsom kund-ID kan uttryckas på flera sätt i registreringsförfrågningar, certifikatförfrågningar och certifikat. Det vanligaste är att använda URI (uniform resource identifiers), DNS-domännamn (domain name system), eller IP-adresser (internet protocol).

Den stora fördelen med att uttrycka den operativa kontexten i certifikatet är att det kan representera enhetens eller tjänstens tillstånd att agera i kontexten, exempelvis i en specifik anläggning. Det innebär att de kommunicerande parterna kan känna igen varandra utan ytterligare behörighets- eller åtkomsthanteringssystem. En sensor eller kamera kommer exempelvis endast att leverera data till kontroll- och övervakningstjänsten för samma anläggning om deras certifikat hänvisar till namnet på samma operativa domän.

Endast ägaren kan kontrollera enheten

I allmänhet säkerställer certifikatet för den operativa kontexten att:

  • Endast den juridiska ägaren kan kontrollera enheten.
  • Endast ägarens egen enhet kan komma åt ägarens servicekonto.
  • Enheten endast kan användas inom den operativa kontexten.
  • Enheten inte kommer att leverera data oavsiktligt till andra kontexter eller parter.

Certifikat kan i princip innehålla jokertecken, vilket innebär att alla enheter i en domän delar samma nyckel och certifikat. Jag rekommenderar att du inte använder certifikat med jokertecken i IoT-applikationer eftersom det innebär att livscyklerna inte kan styras individuellt.

Fyra steg för att utfärda en ny identitet

I tekniska termer innefattar utgivning av en ny identitet för en IoT-enhet följande fyra steg:

  1. Registrering av enheten hos en viss tillverkare, leverantör eller operatör.
  2. Generering av ett nytt kryptografiskt nyckelpar, antingen på enheten eller av en säker tjänst (det här steget är inte obligatoriskt).
  3. Förfrågan om och utgivning av ett PKI-certifikat för enheten.
  4. Tillhandahållande av certifikatet (och eventuellt av den privata nyckeln) till den avsedda enheten på ett säkert sätt.
    För samtliga steg måste säkerhetskraven vara uppfyllda så att endast auktoriserade parter kan utföra stegen och så att den kryptografiska nyckeln och PKI-certifikatet binds till den avsedda enheten.

Registreringsinstansen och certifikatutfärdaren

För de här fyra stegen krävs en så kallad registreringsinstans (registration authority, RA) och en så kallad certifikatutfärdare (certificate authority, CA):

  • Registreringsinstansens roll är att verifiera att alla enhetsregistreringar är auktoriserade, så att endast de avsedda enheterna registreras för att erhålla certifikat för nästa fas i livscykeln. Registreringsdatat innehåller en länk från enhetens existerande identitet till den begärda identiteten eller till ett domännamn.
  • Certifikatutfärdarens roll är att utfärda certifikat och se till att endast registrerade (auktoriserade) enheter erhåller certifikat för nästa fas i livscykeln. Certifikatutfärdaren säkerställer även att de öppna nycklarna och certifikaten är kopplade till de avsedda enheterna. Enheternas befintliga certifikat kan användas för att tillhandahålla identitetsbevis till certifikatutfärdaren.

Automatisering av certifikatutfärdandet

På grund av det potentiellt stora antalet enheter i IoT-applikationer är det rekommenderat att automatisera processerna för registrering av enheter och certifikatutfärdande. Det här gör processerna både säkrare och mer ekonomiska.

Registrerings- och certifikatförfrågningar kan genereras av ett CRM-system (customer relationship management), en tillverkningsutrustning eller ett system för hantering av enheter, exempelvis en IoT-plattform. Certifikatförfrågningar kan också genereras och skickas av den anslutna enheten själv, vilket kallas självregistrering (certificate autoenrollment). Att tillhandahålla nycklar och certifikat direkt från certifikatutfärdaren till enheterna förenklar säkerhetsinfrastrukturen väsentligt.

Det finns inga standardiserade protokoll för registrering, men det är inte ett stort problem eftersom det är enkelt att föra över registreringsdata till en tjänst. Vad som är viktigare är att det finns flera standardiserade certifikathanteringsprotokoll för att begära och tillhandahålla certifikat, såsom SCEP, CMC, CMP, EST och ACME. CMP och EST är de som är bäst lämpade för att hantera certifikaten under produkternas livscykler, delvis för att de tillåter självregistrering baserad på autentisering av den begärande enheten med dess existerande certifikat.

Händelser under den operativa livscykeln

Efter att ha placerat en IoT-enhet i sin avsedda operativa kontext är den normalt i drift, men den kan tappas bort, stjälas, gå sönder, hackas eller tas ur drift. Den kan även tas in för underhåll, eller byta ägare eller operativ kontext. Giltighetstiden för det certifikat som enheten har fått från operatören kan även gå ut.

Automatiserad ersättning eller förnyelse av certifikaten stöds av de ovan nämnda protokollen CMP och EST. IoT-enheten själv eller IoT-enhetens hanteringssystem kan övervaka giltigheten för det aktuella certifikatet och automatiskt begära ett nytt certifikat med längre giltighet när det behövs.

Återkallade certifikat accepteras inte

Förlust, hackning eller pensionering av enheter bör naturligtvis också hanteras. Standard-PKI inkluderar en återkallningstjänst som kan ogiltigförklara certifikat. Som en del av standardprocessen för certifikatvalidering hämtar den validerande parten certifikatets återkallningsstatus från antingen en samling av certifikatsåterkallningslistor (certificate revocation lists, CRLs) eller en OCSP-server (online certificate status protocol).

Ett återkallat certifikat accepteras inte när dess enhet begär tillgång till en tjänst, inte heller kommer krypterade meddelanden att skickas till enheten. CRL:er och OCSP-svar kan cachas för bättre svarstider och tillgänglighet (jag kommer gå igenom de möjliga nackdelarna med de här infrastrukturerna för certifikatvalidering och föreslå alternativa tillvägagångssätt i ett kommande blogginlägg).

Förlust eller hackning av en enhet kräver anmälan av händelsen till ett IoT-supportsystem eller enhetshanteringssystem, som i sin tur kan återkalla det berörda certifikatet via ett gränssnitt till certifikatutfärdaren. Certifikatutfärdaren meddelar återkallelser via ovan nämnda CRL- och OCSP-tjänster. Ändring av ägande eller operatör, eller pensionering av enheten på grund av händelser såsom ett uppsagt kontrakt kan övervakas av ett CRM-system, vilket kan utlösa återkallandet. CMP är det enda standardiserade certifikathanteringsprotokollet som stöder återkallande.

Så utformar du processerna – en sammanfattning

Sammanfattningsvis omfattar utformningen av de bästa möjliga processerna för livscykelhantering av PKI-certifikat för IoT-enheter följande steg:

  • Analysera produktens livscykel.
  • Definiera rätt tidpunkt och mekanism för att tillhandahålla det första certifikatet till produkten eller dess komponenter (helst i en säker tillverkningsanläggning).
  • Designa en obruten kedja av betrodda identiteter genom hela försörjningskedjan och produktlivscykeln.
  • Se till att automatisera utfärdandet av tillverkarspecifika eller kontextspecifika certifikat, samt förnyelsen, återkallningen och ersättningen av dessa certifikat. Automatisering av de här processerna är nyckeln till säkerheten och ekonomin i IoT-lösningen.
  • Om tillämpligt, förlita dig på självregistrering så att enheterna får certifikaten direkt från certifikatutfärdarna. Det här förenklar säkerhetsinfrastrukturen väsentligt.
  • Överväg att använda PKI-certifikatens förmåga att representera operativ domän eller annan behörighetsdata, eftersom det här kan förenkla infrastrukturen för åtkomstkontroll.