
Todennusprosessin suojaus
Todennusprosessin suojaus
Kun ACME-määritys määrittää laitteistoon sidotun avaimen tai kun laitehallintapalvelu pyytää DeviceInformation-todennusta, laite käyttää seuraavia vaiheita:
Käyttöjärjestelmä pyytää Secure Enclavelta laitteistoon sidotun avaimen, jota kutsutaan todennusavaimeksi. ACME-todennuksessa tämä avain on osa myönnettyä varmenneidentiteettiä.
DeviceInformation-todennuksessa käyttöjärjestelmä luo avaimen ja käyttää sitä uudelleen kaikkiin seuraaviinDeviceInformation-todennuksiin rekisteröinnin käyttöaikana.Käyttöjärjestelmä pyytää laitteiston todennusta Secure Enclavelta. Se määrittää todennusavaimen, tuoreuskoodin ja todennettavat ominaisuudet.
Secure Enclave luo ja palauttaa uuden laitteistotodennuksen.
Käyttöjärjestelmä lähettää laitteistotodennuksen Applen todennuspalvelimille.
Todennuspalvelimet vahvistavat pyynnön ja joko kieltäytyvät myöntämästä todennusvarmennetta tai luovat todennuksen, joka sisältää vain ne ominaisuudet ja arvot, jotka se pystyi vahvistamaan. Todennusvarmenteen julkinen avain on sama kuin todennusavain.
Käyttöjärjestelmä tarjoaa tuloksena saadun todennusvarmenteen laitehallintapalvelulle tai ACME-ratkaisulle.
Jos haluat lisätietoja annetun todennusvarmenteen vahvistamisesta, katso Validating a Managed Device Attestation Apple Developer -sivustolla.
Tietoja laitteiston todennuksesta
Kun Secure Enclave luo laitteistotodennuksen, se sisältää muun muassa seuraavat elementit:
Pääemolevyn tunnisteet.
Todennusavaimen julkinen avain.
Seuraavien ohjelmistokomponenttien tiivisteet, jotka lasketaan käynnistysprosessin aikana ja tallennetaan laitteistorekistereihin (samalla tavalla kuin sinetöidyssä avaimien suojauksessa):
Secure Enclave -laiteohjelmisto (sepOS).
LLB:hen liitetty Image4-vaatimustiedosto, joka sisältää myös mittauksen kaikesta muusta järjestelmän parina olevasta laiteohjelmistosta.
Käyttöjärjestelmän Image4-vaatimustiedosto, joka sisältää mittaukset kaikesta käyttöjärjestelmän parina olevasta laiteohjelmistosta.
Muut laitekohtaiset arvot, kuten ECID ja ChipID.
Mac-tietokoneissa LocalPolicy-tiedot.
Tuoreuskoodi.
Jos Secure Enclave ei pysty purkamaan todennusavaimen salausta, Secure Enclave kieltäytyy luomasta laitteistotodennusta. Näin varmistetaan, että todennusavain on sidottu kyseiseen Secure Enclaveen ja että kaikki muut todennetut ominaisuudet liittyvät tähän avaimeen.
Kaikista näistä elementeistä kootaan mukautettu binäärirakenne, ja se allekirjoitetaan UIK-avaimella. Näin laitteistotodennus on sidottu tiettyyn identiteettiin, jonka Applen todennukset voivat vahvistaa, jolloin ne voivat yhdistää pyynnön tiettyyn aktivointitietueeseen ja sitä kautta tiettyyn valmistustietueeseen.
Todennusvarmenteen luominen
Kun Applen todennuspalvelimet vastaanottavat todennuspyynnön, ne tekevät seuraavaa:
Vahvistavat laitteistotodennuksen käyttäjäidentiteetin avaimen (UIK). Jos allekirjoitus ei ole kelvollinen, todennusta ei luoda.
Etsivät Applen aktivointitietueista
ucrt:n, joka vastaa julkista UIK-avainta. Josucrt:tä ei löydy, todennusta ei luoda.Etsivät
scrt:n, joka vastaa laitteenucrt:tä.scrton Applen palvelimien valmistuksen aikana myöntämä varmenne, joka perustuu siruidentiteettiavaimeen (SIK). SIK-avain on Secure Enclaven luoma, ja sen julkinen avain kerätään valmistuksen aikana laitteesta. SIK-avainta käytetään aktivoinnin aikana vahvistamaan, että aktivoitavan laitteen Secure Enclavella on yksityinen avain. SIK-avain on voimassa laitteen koko käyttöiän, ja se toimii yksilöllisenä tunnisteena. Laitteen valmistustietue haetaanscrt:llä. Jos tietuetta ei löydy, todennusta ei luoda.Vahvistavat, että laitteistokomponenttien tunnisteet vastaavat valmistustietueita. Jos komponenttien tunnisteet eivät vastaa valmistustietueita, todennusta ei luoda.
Kopioivat tuoreuskoodin todennukseen, jos se on olemassa.
Jos todennuksessa pyydetään:
Vertaavat ohjelmistokomponenttien laskettuja tiivisteitä build-tietueiden tunnettuihin tiivisteisiin. Jos ne vastaavat toisiaan, virallinen versionumero lisätään todennukseen. Jos taas eivät, objektitunniste jätetään pois tai sen arvo on tyhjä.
Kun LLB:stä, Secure Enclavesta tai pääkäyttöjärjestelmästä muodostetaan levytiedosto, tiivisteet lasketaan ja tallennetaan build-tietuekantaan yhdessä kyseisten levytiedostojen virallisten versionumeroiden kanssa.
Laskevat UDID:n ECID:stä ja ChipID:stä.
Kopioivat pyydettyjen objektitunnisteiden arvot LocalPolicysta todennukseen, jos laite on Mac.
Näiden vahvistusten tulos on käytännössä se, että todennusta ei luoda, jos todennuspalvelimet eivät tunnista laitetta alkuperäiseksi Apple-laitteistoksi. Todennusvarmenteen jokainen ominaisuus sisällytetään siihen vain, jos todennuspalvelimet pystyvät vahvistamaan ominaisuuden arvon, lukuun ottamatta tuoreuskoodia, joka sisällytetään siihen ilman vahvistusta.