
Attestering af administreret enhed til Apple-enheder
Attestering af administreret enhed er tilgængelig i iOS 16, iPadOS 16, macOS 14, tvOS 16, visionOS 1.1, watchOS 9 og nyere versioner. Funktionen bruger Secure Enclave til at levere kryptografisk sikkerhed om enhedens identitet og enhedens sikkerhedsstatus. iPad-, iPhone- og Apple TV-enheder kræver A11 Bionic-chippen eller nyere, og kun Mac-computere med Apple Silicon understøttes. Attestering af administreret enhed hjælper med at beskytte mod følgende trusler:
En kompromitteret enhed, der lyver om sine egenskaber
En kompromitteret enhed, der angiver en forældet attestering
En kompromitteret enhed, der sender en anden enheds id‘er
Privat nøgleuddragelse til brug på en uautoriseret enhed
En angriber, der kaprer en certifikatanmodning for at snyde CA til at udstede et certifikat til angriberne
En enhed kan med attestering af administreret enhed anmode om en attestering fra Apples attesteringsservere, som returnerer en datatabel, der består af et bladcertifikat og et mellemliggende certifikat, som forankres i Apple Enterprise Attestation Root CA. Afhængigt af enhedstypen kan bladcertifikatet indeholde specifikke egenskaber som vist i følgende tabel.
OID og værdi | Operativsystemversioner, der som minimum understøttes | Beskrivelse | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
1.2.840.113635.100.8.9.1 Serienummer | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Repræsenterer enhedens serienummer og kan bruges til at identificere en enhed. Værdien inkluderes ikke, når attestering af administreret enhed bruges sammen med Brugertilmelding, så brugerens anonymitet beskyttes. | |||||||||
1.2.840.113635.100.8.9.2 UDID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Repræsenterer det entydige hardware-id og kan bruges til at identificere en enhed. På en Mac matcher UDID enhedens tilknytnings-UDID. Værdien inkluderes ikke, når attestering af administreret enhed bruges sammen med Brugertilmelding, så brugerens anonymitet beskyttes. | |||||||||
1.2.840.113635.100.8.10.2 sepOS-version | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Repræsenterer versionen af Secure Enclave-firmwaren. | |||||||||
1.2.840.113635.100.8.11.1 Freshness-kode | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | En entydig kode, der ikke er forudsigelig, som identificerer en bestemt attestering. Det anfører, at attesteringen blev genereret, efter at koden blev oprettet. | |||||||||
1.2.840.113635.100.8.13.1 SIP-status | macOS 14 | Repræsenterer SIP-aktiveringsstatus på en Mac med Apple Silicon. | |||||||||
1.2.840.113635.100.8.13.2 Status for sikker start | macOS 14 | Repræsenterer den valgte konfiguration for sikker start på en Mac med Apple Silicon. | |||||||||
1.2.840.113635.100.8.13.3 Kerneudvidelser fra tredjepart tilladt | macOS 14 | Repræsenterer, om kerneudvidelser fra tredjepart er tilladt på en Mac med Apple Silicon eller ej. | |||||||||
1.2.840.113635.100.8.10.3 LLB-version | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Repræsenterer versionen af 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 | Repræsenterer operativsystemet og iBoot-versionen. | |||||||||
1.2.840.113635.100.8.9.4 Enheds-id for softwareopdatering | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Attesterer | |||||||||
En anmodning om attestering igangsættes enten af en DeviceInformation-anmodning, der sendes af tjenesten til enhedsadministration, eller ved at installere en ACME-konfiguration. I begge tilfælde modtager enheden en freshness-kode fra enten tjenesten til enhedsadministration eller ACME-løsningen. Når der bruges DeviceInformation-attestering, er freshness-koden værdien fra DeviceAttestationNonce, der er anført i anmodningen. Når der bruges ACME-attestering, er freshness-koden SHA-256-hashværdien af tokenet fra udfordringen device-attest-01. Den genererede værdi inkluderes som en egenskab i bladcertifikatet og gør det muligt for tjenesten til enhedsadministration eller ACME-løsningen at bekræfte, at attesteringen matcher anmodningen.
Når attesteringen er modtaget, skal backend-tjenesten omhyggeligt udføre valideringskontroller. Kontrollerne skal sikre, at bladcertifikatet blev udstedt af Apple Enterprise Attestation Root CA, hvor freshness-kodens hash-værdi sammenlignes med den forventede værdi, og andre egenskaber i attesteringen undersøges.
Afhængigt af en organisations implementeringsmodel kan attestering af administreret enhed være et vigtigt grundlag for en moderne og sikker implementering og anvendes på forskellige måder:
Brug af et ACME-udstedt certifikat for at godkende forbindelsen fra klienten til tjenesten til enhedsadministration og bruge attesteringen
DeviceInformationtil løbende at bekræfte egenskaberne for en enhed.Bekræftelse af en enheds identitet og enhedens sikkerhedsstatus og få ACME-løsningen til at udføre en tillidsevaluering, før der udstedes et certifikat. Dermed sikres det, at kun enheder, som lever op til de krævede standarder, modtager et certifikat.
Integrere enhedens egenskaber fra attesteringen i et ACME-certifikat og udføre tillidsevalueringen på de afhængige parter.
Hardwarebundne nøgler
Som led i en certifikatudstedelse vha. ACME-protokollen kan en enhed anmodes om at videregive en attestering, som også medfører, at det tilknyttede nøglepar beskyttes af Secure Enclave, så den får gavn af den stærke hardwaresikkerhed og hjælper med at forhindre, at den private nøgle eksporteres.
ACME-konfigurationen skal bruge ECSECPrimeRandom-algoritmen med en nøglestørrelse på 256 eller 384 bit for at oprette en hardwarebunden nøgle. Det specificerer et nøglepar på kurverne P-256 eller P-384 som defineret i NIST SP 800-186.
Secure Enclave bruger først følgende til at oprette en indpakket kryptografisk nøgle for at generere den private nøgle:
En kombination af dens hardwarebaserede sande tilfældighedsgenerator (TRNG)
Entropi lagret i det sikre, ikke-flygtige lager i Secure Enclave
En databeskyttelsesnøgle
Operativsystemet lagrer den indpakkede nøgle, men den indpakkede nøgle er i sig selv ubrugelig. Secure Enclave skal bruge den samme nøgle, den samme lagrede entropi og den samme databeskyttelsesnøgle for at udlede den private nøgle. Da den lagrede entropi og databeskyttelsesnøglen er unikke for den specifikke Secure Enclave, kan kun den pågældende Secure Enclave generere den private nøgle, som forbinder den hardwarebundne nøgle til den pågældende Secure Enclave.
Når enheden slettes, sletter Secure Enclave den lagrede entropi. Derfor kan en hardwarebunden nøgle ikke gendannes efter en sikkerhedskopiering og gendannelse – heller ikke, når der gendannes på samme enhed.
Konfigurationer, der indeholder ACME-data med en hardwarebunden nøgle, fjernes efter gendannelse. Hvis en hardwarebunden nøgle bruges som klientidentiteten fra tjenesten til enhedsadministration, frameldes enheden. I dette tilfælde henter enheden sin tilmeldingsprofil igen og tilmelder sig igen, hvis enheden var tilmeldt via Automatisk tilmelding af enhed.