OPC Vault-arkitektur

Viktigt

När vi uppdaterar den här artikeln kan du läsa mer om det senaste innehållet i Azure Industrial IoT .

Den här artikeln ger en översikt över OPC Vault-mikrotjänsten och modulen OPC Vault IoT Edge.

OPC UA-program använder programinstanscertifikat för att tillhandahålla säkerhet på programnivå. En säker anslutning upprättas med hjälp av asymmetrisk kryptografi, för vilken programcertifikaten tillhandahåller det offentliga och privata nyckelparet. Certifikaten kan vara självsignerade eller signerade av en certifikatutfärdare (CA).

Ett OPC UA-program har en lista över betrodda certifikat som representerar de program som det litar på. Dessa certifikat kan vara självsignerade eller signerade av en certifikatutfärdare, eller kan vara själva rotcertifikatutfärdare eller undercertifikatutfärdare. Om ett betrott certifikat ingår i en större certifikatkedja litar programmet på alla certifikat som är länkade till certifikatet i förtroendelistan. Detta gäller så länge den fullständiga certifikatkedjan kan verifieras.

Den största skillnaden mellan att lita på självsignerade certifikat och att lita på ett CA-certifikat är det installationsarbete som krävs för att distribuera och upprätthålla förtroende. Det finns också ytterligare arbete med att vara värd för en företagsspecifik ca.

Om du vill distribuera förtroende för självsignerade certifikat för flera servrar med ett enda klientprogram måste du installera alla serverprogramcertifikat i listan över betrodda klientprogram. Dessutom måste du installera klientprogramcertifikatet på alla förtroendelistor för serverprogram. Det här administrativa arbetet är en stor belastning och ökar till och med när du måste överväga certifikatets livslängd och förnya certifikat.

Användningen av en företagsspecifik certifikatfärdare kan avsevärt förenkla hanteringen av förtroende med flera servrar och klienter. I det här fallet genererar administratören ett ca-signerat programinstanscertifikat en gång för varje klient och server som används. Dessutom installeras CA-certifikatet i alla programförtroendelistor, på alla servrar och klienter. Med den här metoden behöver endast utgångna certifikat förnyas och ersättas för de berörda programmen.

Azure Industrial IoT OPC UA-certifikathanteringstjänsten hjälper dig att hantera en företagsspecifik CERTIFIKATutfärdare för OPC UA-program. Den här tjänsten baseras på OPC Vault-mikrotjänsten. OPC Vault tillhandahåller en mikrotjänst som är värd för en företagsspecifik certifikatfärdare i ett säkert moln. Den här lösningen backas upp av tjänster som skyddas av Azure Active Directory (Azure AD), Azure Key Vault med maskinvarusäkerhetsmoduler (HSM), Azure Cosmos DB och eventuellt IoT Hub som ett programarkiv.

OPC Vault-mikrotjänsten är utformad för att stödja rollbaserade arbetsflöden, där säkerhetsadministratörer och godkännare med signeringsrättigheter i Azure Key Vault godkänna eller avvisa begäranden.

För kompatibilitet med befintliga OPC UA-lösningar innehåller tjänsterna stöd för en OPC Vault-mikrotjänststödd edge-modul. Detta implementerar gränssnittet OPC UA Global Discovery Server och Certifikathantering för att distribuera certifikat och förtroendelistor enligt del 12 i specifikationen.

Arkitektur

Arkitekturen baseras på OPC Vault-mikrotjänsten, med en OPC Vault-IoT Edge modul för fabriksnätverket och ett webbexempel på UX för att styra arbetsflödet:

Diagram över OPC Vault-arkitektur

OPC Vault-mikrotjänst

OPC Vault-mikrotjänsten består av följande gränssnitt för att implementera arbetsflödet för att distribuera och hantera en företagsspecifik CA för OPC UA-program.

Program

  • Ett OPC UA-program kan vara en server eller en klient, eller båda. OPC Vault fungerar i det här fallet som en utfärdare för programregistrering.
  • Förutom de grundläggande åtgärderna för att registrera, uppdatera och avregistrera program finns det även gränssnitt för att hitta och fråga efter program med sökuttryck.
  • Certifikatbegäranden måste referera till ett giltigt program för att bearbeta en begäran och utfärda ett signerat certifikat med alla OPC UA-specifika tillägg.
  • Programtjänsten backas upp av en databas i Azure Cosmos DB.

Certifikatgrupp

  • En certifikatgrupp är en entitet som lagrar en rotcertifikatutfärdare eller ett undercertifikatutfärdarcertifikat, inklusive den privata nyckeln för att signera certifikat.
  • RSA-nyckellängden, SHA-2-hashlängden och livslängden kan konfigureras för både utfärdarcertifikatutfärdare och signerade programcertifikat.
  • Du lagrar CA-certifikaten i Azure Key Vault med FIPS 140-2 HSM på nivå 2. Den privata nyckeln lämnar aldrig det säkra lagringsutrymmet eftersom signeringen utförs av en Key Vault åtgärd som skyddas av Azure AD.
  • Du kan förnya CA-certifikaten över tid och låta dem vara kvar i säker lagring på grund av Key Vault historik.
  • Listan över återkallade certifikat för varje CA-certifikat lagras också i Key Vault som en hemlighet. När ett program avregistreras återkallas även programcertifikatet i listan över återkallade certifikat (CRL) av en administratör.
  • Du kan återkalla enskilda certifikat och batchcertifikat.

Certifikatbegäran

En certifikatbegäran implementerar arbetsflödet för att generera ett nytt nyckelpar eller ett signerat certifikat med hjälp av en certifikatsigneringsbegäran (CSR) för ett OPC UA-program.

  • Begäran lagras i en databas med tillhörande information, till exempel ämnet eller en CSR, och en referens till OPC UA-programmet.
  • Affärslogik i tjänsten validerar begäran mot den information som lagras i programdatabasen. Till exempel måste program-URI:n i databasen matcha program-URI:n i CSR.
  • En säkerhetsadministratör med signeringsrättigheter (det vill säga rollen Godkännare) godkänner eller avvisar begäran. Om begäran godkänns genereras ett nytt nyckelpar eller ett signerat certifikat (eller båda). Den nya privata nyckeln lagras säkert i Key Vault och det nya signerade offentliga certifikatet lagras i databasen för certifikatbegäran.
  • Beställaren kan avsöka begärans status tills den har godkänts eller återkallats. Om begäran godkändes kan den privata nyckeln och certifikatet laddas ned och installeras i certifikatarkivet för OPC UA-programmet.
  • Beställaren kan nu acceptera begäran om att ta bort onödig information från begärandedatabasen.

Under livslängden för ett signerat certifikat kan ett program tas bort eller så kan en nyckel komprometteras. I sådana fall kan en CA-chef:

  • Ta bort ett program, som även tar bort alla väntande och godkända certifikatbegäranden för appen.
  • Ta bara bort en enda certifikatbegäran om bara en nyckel förnyas eller komprometteras.

Nu markeras komprometterade godkända och godkända certifikatbegäranden som borttagna.

En chef kan regelbundet förnya utfärdarens CA CRL. Vid förnyelsetiden återkallas alla borttagna certifikatbegäranden och certifikatserienumren läggs till i listan över återkallade ÅTERKALLADE CERTIFIKAT. Återkallade certifikatbegäranden markeras som återkallade. I brådskande händelser kan även enskilda certifikatbegäranden återkallas.

Slutligen är de uppdaterade CRL:erna tillgängliga för distribution till de deltagande OPC UA-klienterna och servrarna.

Modulen OPC Vault IoT Edge

Om du vill ha stöd för en global identifieringsserver för fabriksnätverket kan du distribuera OPC Vault-modulen på gränsen. Kör det som ett lokalt .NET Core-program eller starta det i en Docker-container. Observera att på grund av brist på Auth2-autentiseringsstöd i den aktuella OPC UA .NET Standard-stacken är funktionerna i OPC Vault Edge-modulen begränsade till en läsarroll. En användare kan inte personifieras från gränsmodulen till mikrotjänsten med hjälp av OPC UA GDS-standardgränssnittet.

Nästa steg

Nu när du har lärt dig om OPC Vault-arkitekturen kan du: