
Administrert enhetsattestering for Apple-enheter
Administrert enhetsattestering er tilgjengelig i iOS 16, iPadOS 16, macOS 14, tvOS 16, visionOS 1.1, watchOS 9 eller nyere. Den bruker Secure Enclave for å gi kryptografiske bekreftelser om identiteten til en enhet samt enhetens sikkerhetstilstand. iPad, iPhone og Apple TV krever A11 Bionic-chip eller nyere, og kun Mac-maskiner med Apple-chip støttes. Administrert enhetsattestering bidrar til å beskytte mot følgende trusler:
en kompromittert enhet som lyver om egenskapene sine
en kompromittert enhet som tilbyr en utdatert attestering
en kompromittert enhet som sender identifikatorer for en annen enhet
henting av privat nøkkel for bruk på en annen enhet
en angriper som kaprer en sertifikatforespørsel for å lure sertifikatautoriteten (CA) til å utstede et sertifikat til angriperen
Med administrert enhetsattestering kan en enhet be om attestering fra Apples attesteringstjenere, som returnerer en matrise med data som består av et bladsertifikat og et intermediært sertifikat som er rotfestet i Apple Enterprise Attestation Root CA. Avhengig av enhetstypen kan bladsertifikatet inneholde bestemte egenskaper, som vist i følgende tabell.
OID og verdi | Eldste støttede versjoner av operativsystemet | Beskrivelse | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
1.2.840.113635.100.8.9.1 Serienummer | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representerer enhetens serienummer, og kan brukes til å identifisere en enhet. For å ivareta brukerens personvern inkluderes ikke denne verdien når administrert enhetsattestering brukes med Brukerregistrering. | |||||||||
1.2.840.113635.100.8.9.2 UDID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representerer den unike maskinvare-ID-en, og kan brukes til å identifisere en enhet. På en Mac samsvarer UDID med enhetens UDID for klargjøring. For å ivareta brukerens personvern inkluderes ikke denne verdien når administrert enhetsattestering brukes med Brukerregistrering. | |||||||||
1.2.840.113635.100.8.10.2 sepOS-versjon | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representerer versjonen av Secure Enclave-firmwaren. | |||||||||
1.2.840.113635.100.8.11.1 Ferskhetskode | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | En unik og uforutsigbar kode som identifiserer en bestemt attestering. Denne indikerer at attesteringen ble generert etter at koden ble opprettet. | |||||||||
1.2.840.113635.100.8.13.1 SIP-status | macOS 14 | Representerer status for SIP-aktivering på en Mac med Apple-chip. | |||||||||
1.2.840.113635.100.8.13.2 Status for sikker oppstart | macOS 14 | Representerer valgt konfigurasjon for sikker oppstart på en Mac med Apple-chip. | |||||||||
1.2.840.113635.100.8.13.3 Tredjeparts kjerneutvidelser tillatt | macOS 14 | Representerer om tredjeparts kjerneutvidelser er tillatt på en Mac med Apple-chip. | |||||||||
1.2.840.113635.100.8.10.3 LLB-versjon | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representerer versjonen av Low-Level Bootloader. | |||||||||
1.2.840.113635.100.8.10.1 Operativsystemversjon | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representerer operativsystem- og iBoot-versjonen. | |||||||||
1.2.840.113635.100.8.9.4 Enhets-ID for programvareoppdatering | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Attesterer | |||||||||
En forespørsel om attestering opprettes enten fra en DeviceInformation-forespørsel sendt fra tjenesten for enhetsadministrering eller ved å installere en ACME-konfigurasjon. Enheten mottar i begge tilfeller en ferskhetskode fra enten tjenesten for enhetsadministrering eller fra ACME-løsningen. Ved DeviceInformation-attestering vil ferskhetskoden være verdien av DeviceAttestationNonce som er oppgitt i forespørselen. Ved ACME-attestering vil ferskhetskoden være SHA-256-hashen av kjennetegnet fra device-attest-01-spørsmålet. Den resulterende verdien er inkludert som en egenskap i bladsertifikatet og gjør at tjenesten for enhetsadministrering eller ACME-løsningen kan verifisere at attesteringen samsvarer med forespørselen.
Når attesteringen mottas, må en bakgrunnstjeneste utføre grundige valideringskontroller. Disse kontrollene inkluderer å sikre at bladsertifikatet ble utstedt av Apple Enterprise Attestation Root CA, å sammenligne ferskhetskodens hash med den forventede verdien, og å undersøke andre egenskaper i attesteringen.
Avhengig av organisasjonens utrullingsmodell kan administrert enhetsattestering være et viktig grunnlag for en moderne og sikker utrulling, og den kan brukes på forskjellige måter:
Bruk et ACME-utstedt sertifikat for å autentisere tilkoblingen fra klienten til tjenesten for enhetsadministrering, og bruk
DeviceInformation-attestering for å verifisere enhetens egenskaper kontinuerlig.Verifiser enhetens identitet og sikkerhetstilstand, og få ACME-løsningen til å gjennomføre en godkjenningsevaluering før det utstedes et sertifikat. På denne måten sikres det at bare enheter som oppfyller de påkrevde standardene, mottar et sertifikat.
Bygg inn enhetens egenskaper fra attesteringen i et ACME-sertifikat, og gjennomfør godkjenningsevalueringen hos de avhengige partene.
Nøkler bundet av maskinvare
Som en del av å utstede et sertifikat ved hjelp av ACME-protokollen kan en enhet bli bedt om å oppgi en attestering som også fører til at det tilknyttede nøkkelparet skal beskyttes av Secure Enclave, slik at den kan dra nytte av den avanserte maskinvaresikkerheten og bidra til å eksportere den private nøkkelen.
For å opprette en maskinvarebundet nøkkel må ACME-konfigurasjonen bruke ECSECPrimeRandom-algoritmen med nøkkelstørrelse 256 eller 384 bit. Dette angir et nøkkelpar på P-256- eller P-384-kurvene som definert i NIST SP 800-186.
For å generere den private nøkkelen bruker Secure Enclave først det følgende til å skape en innpakket kryptografisk hemmelighet:
en kombinasjon av maskinvarens True Random Number Generator (TRNG)
entropi som er lagret i den sikre ikke-flyktige lagringsplassen til Secure Enclave
en databeskyttelsesnøkkel
Operativsystemet oppbevarer den innpakkede hemmeligheten, men den innpakkede hemmeligheten er ubrukelig i seg selv. For å avlede den private nøkkelen må Secure Enclave bruke den samme hemmeligheten, den samme lagrede entropien og den samme databeskyttelsesnøkkelen. Fordi den lagrede entropien og databeskyttelsesnøkkelen er unike for den spesifikke Secure Enclave-forekomsten, er det bare denne Secure Enclave-forekomsten som kan generere den private nøkkelen som knytter den maskinvarebundne nøkkelen til Secure Enclave.
Når en enhet fjernes, vil Secure Enclave slette den lagrede entropien. Dermed kan ikke maskinvarebundne nøkler genereres på nytt etter sikkerhetskopiering og gjenoppretting, selv om de gjenopprettes til den samme enheten.
Alle konfigurasjoner som inneholder en ACME-nyttelast med en maskinvarebundet nøkkel, fjernes ved gjenoppretting. Hvis en maskinvarebundet nøkkel brukes som klientidentitet til en tjeneste for enhetsadministrering, blir enheten avregistrert. Hvis enheten ble registrert ved hjelp av automatisert enhetsregistrering, vil den i dette scenarioet hente registreringsprofilen og registreres på nytt.