
Hanterad enhetsattestering för Apple-enheter
Hanterad enhetsattestering är tillgänglig i iOS 16, iPadOS 16, macOS 14, tvOS 16, visionOS 1.1, watchOS 9 eller senare. Den använder Secure Enclave till att tillhandahålla kryptografiska försäkringar om identiteten hos en enhet och dess säkerhetshållning. iPad-, iPhone- och Apple TV-enheter kräver en A11 Bionic-krets eller senare och endast Mac-datorer med Apple Silicon stöds. Hanterad enhetsattestering bidrar till att skydda mot följande hot:
En äventyrad enhet ljuger om sina egenskaper.
En äventyrad enhet tillhandahåller en föråldrad attestering.
En äventyrad enhet skickar en annan enhets identifierare.
Extrahering av privat nyckel för användning på en okänd enhet.
En angripare som kapar en certifikatförfrågan för att lura certifikatutfärdaren (CA) att utfärda ett certifikat till angriparen.
Med hanterad enhetsattestering kan en enhet begära en attestering från Apples attesteringsservrar. De returnerar en dataarray som består av ett bladcertifikat och mellanliggande certifikat som bygger på Apple Enterprise Attestation Root CA. Beroende på enhetstyp kan bladcertifikatet innehålla specifika egenskaper i enlighet med följande tabell.
OID och värde | Lägsta operativsystemversioner som stöds | Beskrivning | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
1.2.840.113635.100.8.9.1 Serienummer | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representerar enhetens serienummer och kan användas till att identifiera en enhet. För att skydda användarens integritet inkluderas detta värde inte när hanterad enhetsattestering används med användarregistrering. | |||||||||
1.2.840.113635.100.8.9.2 UDID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representerar det unika maskinvaru-ID:t och kan användas till att identifiera en enhet. På en Mac matchar UDID enhetens tillhandahållande-UDID. För att skydda användarens integritet inkluderas detta värde inte när hanterad enhetsattestering används med användarregistrering. | |||||||||
1.2.840.113635.100.8.10.2 sepOS-version | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representerar versionen av fast Secure Enclave-programvara. | |||||||||
1.2.840.113635.100.8.11.1 Aktualitetskod | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | En unik och oförutsägbar kod som identifierar en viss attestering. Den indikerar om attesteringen genererades efter att koden skapades. | |||||||||
1.2.840.113635.100.8.13.1 SIP-status | macOS 14 | Representerar SIP-aktiveringsstatus på en Mac med Apple Silicon. | |||||||||
1.2.840.113635.100.8.13.2 Säker startstatus | macOS 14 | Representerar den valda säkra startkonfigurationen på en Mac med Apple Silicon. | |||||||||
1.2.840.113635.100.8.13.3 Kärntillägg från tredje part tillåts | macOS 14 | Representerar om kärntillägg från tredje part tillåts på en Mac med Apple Silicon. | |||||||||
1.2.840.113635.100.8.10.3 LLB-version | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representerar versionen av Low-Level Bootloader. | |||||||||
1.2.840.113635.100.8.10.1 Operativsystemets version | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representerar operativsystemet och iBoot-versionen. | |||||||||
1.2.840.113635.100.8.9.4 Programuppdaterings enhets-ID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Attesterar | |||||||||
En förfrågan om en attestering inleds antingen av en DeviceInformation-förfrågan som skickas av enhetshanteringstjänsten eller genom att installera en ACME-konfiguration. I båda fallen får enheten en aktualitetskod från antingen enhetshanteringstjänsten eller ACME-lösningen. Vid användning av DeviceInformation-attestering är aktualitetskoden värdet för DeviceAttestationNonce som specificeras i förfrågningen. När ACME-attestering används är aktualitetskoden SHA‑256-hashen för den token som kommer från device-attest-01-utmaningen. Värderesultatet inkluderas som en egenskap i bladcertifikatet och tillåter att enhetshanteringstjänsten eller ACME-lösningen verifierar att attesteringen matchar förfrågningen.
När attesteringen tas emot måste en backend-tjänst noggrant utföra valideringskontroller. Kontrollerna inkluderar att säkerställa att bladcertifikatet utfärdades av Apple Enterprise Attestation Root CA, hashen för aktualitetskoden jämförs med det förväntade värdet och andra egenskaper i attesteringen undersöks.
Beroende på en organisations driftsättningsmodell kan hanterad enhetsattestering utgöra en viktig grund för en modern och säker driftsättning och användas på olika sätt:
Använd ett ACME-utfärdat certifikat till att autentisera anslutningen från klienten till en enhetshanteringstjänst och dra nytta av
DeviceInformation-attestering för att löpande verifiera egenskaperna hos en enhet.Verifiera en enhets identitet och dess säkerhetshållning och låt ACME-lösningen utvärdera dess tillförlitlighet innan ett certifikat utfärdas. På det sättet säkerställs att endast enheter som uppfyller de standarder som krävs får ett certifikat.
Bädda in enhetens egenskaper från attesteringen i ett ACME-certifikat och utvärdera tillförlitligheten hos berörda parter.
Maskinvarukopplade nycklar
Som en del av utfärdandet av ett certifikat med ACME-protokollet kan en enhet uppmanas att tillhandahålla en attestering, vilket också leder till att det associerade nyckelparet skyddas av Secure Enclave så att det drar nytta av dess kraftfulla maskinvaruskydd och förhindrar att den privata nyckeln exporteras.
För att kunna skapa en maskinvarukopplad nyckel måste ACME-konfigurationen använda ECSECPrimeRandom-algoritmen med en nyckelstorlek på 256 eller 384 bitar. Detta specificerar ett nyckelpar på P-256- eller P-384-kurvorna enligt definitionen i NIST SP 800-186.
För att generera den privata nyckeln använder Secure Enclave först följande till att skapa en paketerad kryptografisk hemlighet:
En kombination av dess True Random Number Generator (TRNG) i maskinvaran
Entropi som lagras inuti den säkra icke-flyktiga lagringen i Secure Enclave
En dataskyddsnyckel
Operativsystemet lagrar den paketerade hemligheten, men den paketerade hemligheten är värdelös på egen hand. För att härleda den privata nyckeln måste Secure Enclave använda samma hemlighet, samma lagrade entropi och samma dataskyddsnyckel. Eftersom den lagrade entropin och dataskyddsnyckeln är unika för en specifik Secure Enclave kan bara denna Secure Enclave generera den privata nyckel som kopplar den maskinvarukopplade nyckeln till denna Secure Enclave.
När enheten raderas raderar Secure Enclave den lagrade entropin. På grund av detta kan en maskinvarukopplad nyckel inte återskapas efter en säkerhetskopiering och återskapning även om det är samma enhet som återskapas.
Alla eventuella konfigurationer som innehåller en ACME-nyttolast med en maskinvarukopplad nyckel tas bort vid återskapning. Om en maskinvarukopplad nyckel används som klientidentitet för en enhetshanteringstjänst blir enheten avregistrerad. Om enheten i det här fallet registrerades med automatisk enhetsregistrering kommer enheten att hämta sin registreringsprofil igen och återregistrera.