Share via


TPM-attestation

In dit artikel worden de concepten beschreven die betrokken zijn bij het inrichten van apparaten met TPM-attestation (Trusted Platform Module) in device provisioning Service (DPS). Dit artikel is relevant voor alle persona's die betrokken zijn bij het voorbereiden van een apparaat voor implementatie.

Een Trusted Platform Module (TPM) is een type hardwarebeveiligingsmodule (HSM). In dit artikel wordt ervan uitgegaan dat u een discrete, firmware of geïntegreerde TPM gebruikt. Software-emulated TPM's zijn geschikt voor prototypen of testen, maar ze bieden niet hetzelfde beveiligingsniveau als discrete, firmware of geïntegreerde TPM's. Het wordt afgeraden om software-TPM's in productie te gebruiken.

Dit artikel is alleen relevant voor apparaten die TPM 2.0 gebruiken met HMAC-sleutelondersteuning en hun goedkeuringssleutels. TPM is een industriebrede ISO-standaard van de Trusted Computing Group en u kunt meer lezen over TPM op de volledige TPM 2.0-specificatie of de ISO/IEC 11889-specificatie. In dit artikel wordt ook ervan uitgegaan dat u bekend bent met openbare en persoonlijke sleutelparen en hoe deze worden gebruikt voor versleuteling.

De Device Provisioning Service-apparaat-SDK's verwerken alles wat in dit artikel voor u wordt beschreven. U hoeft GEEN TPM-ondersteuning te implementeren als u de SDK's op uw apparaten gebruikt. Dit artikel helpt u conceptueel te begrijpen wat er aan de hand is met uw TPM-beveiligingschip wanneer uw apparaat wordt geleverd en waarom het zo veilig is.

Overzicht

TPM's gebruiken iets dat de goedkeuringssleutel (EK) wordt genoemd als de veilige basis van vertrouwen. De EK is uniek voor de TPM en het wijzigen ervan verandert het apparaat in een nieuw apparaat.

TPM's hebben een ander type sleutel, de opslaghoofdsleutel (SRK) genoemd. Een SRK kan worden gegenereerd door de eigenaar van de TPM nadat deze eigenaar van de TPM is. Eigenaar worden van de TPM is de TPM-specifieke manier om te zeggen dat iemand een wachtwoord instelt op de HSM. Als een TPM-apparaat wordt verkocht aan een nieuwe eigenaar, kan de nieuwe eigenaar eigenaar worden van de TPM om een nieuwe SRK te genereren. De nieuwe SRK-generatie zorgt ervoor dat de vorige eigenaar de TPM niet kan gebruiken. Omdat de SRK uniek is voor de eigenaar van de TPM, kan de SRK worden gebruikt om gegevens te verzegelen in de TPM zelf voor die eigenaar. De SRK biedt een sandbox voor de eigenaar om hun sleutels op te slaan en biedt toegangsreocabiliteit als het apparaat of tpm wordt verkocht. Het is alsof je in een nieuw huis stapt: het overnemen van het eigendom verandert de vergrendelingen op de deuren en het vernietigen van alle meubels die zijn achtergelaten door de vorige eigenaren (SRK), maar je kunt het adres van het huis (EK) niet wijzigen.

Zodra een apparaat is ingesteld, is er zowel een EK als een SRK beschikbaar voor gebruik.

Diagram dat laat zien hoe u eigenaar wordt van een TPM.

De specifieke stappen voor het overnemen van het eigendom van een TPM variëren, afhankelijk van de fabrikant, de set TPM-hulpprogramma's die worden gebruikt en het besturingssysteem van het apparaat.

Device Provisioning Service maakt gebruik van het openbare deel van de EK (EK_pub) om apparaten te identificeren en in te schrijven. De leverancier van het apparaat kan de EK_pub lezen tijdens de productie of het uiteindelijke testen en de EK_pub uploaden naar de inrichtingsservice, zodat het apparaat wordt herkend wanneer het verbinding maakt met de inrichting. Device Provisioning Service controleert de SRK of eigenaar niet, dus 'wissen' van de TPM wist klantgegevens, maar de EK (en andere leveranciersgegevens) blijven behouden en het apparaat wordt nog steeds herkend door Device Provisioning Service wanneer deze verbinding maakt met de inrichting.

Attestation-proces

Wanneer een apparaat met een TPM verbinding maakt met Device Provisioning Service, controleert de service eerst de opgegeven EK_pub op de EK_pub die zijn opgeslagen in de inschrijvingslijst. Als de EK_pubs niet overeenkomen, mag het apparaat niet worden ingericht. Als de EK_pubs wel overeenkomen, moet de service het apparaat het eigendom van het privégedeelte van de EK bewijzen via een niet-ce-uitdaging. Dit is een veilige uitdaging die wordt gebruikt om identiteit te bewijzen. Device Provisioning Service genereert een nonce en versleutelt deze vervolgens met de SRK en vervolgens de EK_pub, die beide tijdens de eerste registratieoproep door het apparaat worden geleverd. De TPM houdt altijd het privégedeelte van de EK veilig. Dit voorkomt vervalste vervalsing en zorgt ervoor dat SAS-tokens veilig worden ingericht voor geautoriseerde apparaten.

Laten we het attestation-proces in detail doorlopen.

Apparaat vraagt een IoT Hub-toewijzing aan

Eerst maakt het apparaat verbinding met de Device Provisioning Service en aanvragen voor het inrichten. Hierdoor biedt het apparaat de service de registratie-id, een id-bereik en de EK_pub en SRK_pub van de TPM. De service geeft de versleutelde nonce weer door aan het apparaat en vraagt het apparaat om de non-ce te ontsleutelen en dat te gebruiken om een SAS-token te ondertekenen om opnieuw verbinding te maken en het inrichten te voltooien.

Inrichting van apparaataanvragen

Nonce-uitdaging

Het apparaat neemt de nonce en gebruikt de privégedeelten van de EK en SRK om de nonce in de TPM te ontsleutelen; de volgorde van niet-versleuteling delegeert vertrouwensrelatie van de EK, die onveranderbaar is, naar de SRK, die kan veranderen als een nieuwe eigenaar eigenaar eigenaar wordt van de TPM.

De nonce ontsleutelen

De nonce valideren en referenties ontvangen

Het apparaat kan vervolgens een SAS-token ondertekenen met behulp van de ontsleutelde nonce en een verbinding met Device Provisioning Service herstellen met behulp van het ondertekende SAS-token. Als de nonce-uitdaging is voltooid, kan het apparaat worden ingericht met de service.

Apparaat herstelt verbinding met Device Provisioning Service om het eigendom van EK te valideren