Hanterad enhetsattestering för Apple-enheter
Hanterad enhetsattestering är en funktion i iOS 16, iPadOS 16.1, macOS 14 och tvOS 16 eller senare som tillhandahåller starka bevis gällande vilka egenskaper hos en enhet som kan användas som en del av en utvärdering av tillförlitlighet. Den här kryptografiska deklarationen av enhetsegenskaper är baserad på säkerheten hos Secure Enclave och Apples attesteringsservrar.
Hanterad enhetsattestering ger ökad skydd mot följande hot:
En äventyrad enhet som ljuger om sina egenskaper
En äventyrad enhet som tillhandahåller en utgången attestering
En äventyrad enhet som skickar en annan enhets identifierare
Extrahering av privat nyckel för användning på en okänd enhet
En angripare som kapar en certifikatbegäran för att lura CA att utfärda ett certifikat åt angriparen
Mer information finns i WWDC23-videon What’s new in managing Apple devices.
Hanterad enhetsattestering med förfrågningar om ACME-certifikatregistrering
En organisations certifikatutfärdares (CA) ACME-tjänst kan begära en attestering av egenskaperna hos den enhet som registreras. Den här attesteringen tillhandahåller en kraftfull försäkran om att egenskaperna hos enheten (t.ex. serienumret) är legitima och inte förfalskade. Den utfärdande ACME-tjänsten kan kryptografiskt validera integriteten hos den attesterade enhetens egenskaper och vid behov korsreferera dem mot motsvarande organisations enhetsbestånd och, vid korrekt verifiering, bekräfta att enheten är organisationens enhet.
Om attestering används genereras en maskinvarukopplad privat nyckel inuti enhetens Secure Enclave som en del av denna certifikatsigneringsförfrågan. För denna förfrågan kan den ACME-utfärdande CA:n sedan utfärda ett klientcertifikat. Den här nyckeln är bunden till Secure Enclave och är därför bara tillgänglig på en specifik enhet. Den kan användas på iPhone, iPad, Apple TV och Apple Watch med konfigurationer som stöder specificering av ett certifikats-ID. På en Mac kan maskinvarukopplade nycklar användas för autentisering med MDM, Microsoft Exchange, Kerberos, 802.1X-nätverk, den inbyggda VPN-klienten och det inbyggda nätverksreläet.
Obs! Secure Enclave har ett mycket starkt skydd mot nyckelextrahering, även när det gäller en äventyrad approcessor.
Dessa maskinvarukopplade nycklar tas bort automatiskt när en enhet raderas eller återskapas. Eftersom nycklarna tas bort fungerar inte eventuella konfigurationsprofiler som kräver de nycklarna efter en återskapning. Profilen måste användas igen så att nycklarna återskapas.
Via ACME-nyttolastattestering kan MDM registrera en klientcertifikatidentitet genom att använda det ACME-protokoll som kryptografiskt kan validera att:
Enheten är en genuin Apple-enhet
Enheten är en specifik Apple-enhet
Enheten hanteras av organisationens MDM-server
Enheten har vissa egenskaper (t.ex. serienumret)
Den privata nyckeln är maskinvarubunden till enheten
Hanterad enhetsattestering med MDM-förfrågningar
Utöver att använda hanterad enhetsattestering vid förfrågningar om ACME-certifikatregistrering kan en MDM-lösning utfärda en DeviceInformation
-förfrågan som begär en DevicePropertiesAttestation
-egenskap. Om MDM-lösningen vill hjälpa till att säkerställa en ny attestering finns möjligheten att skicka en DeviceAttestationNonce
-nyckel, vilket tvingar fram en ny attestering. Om den här nyckeln utelämnas returnerar enheten en cachelagrad attestering. Attesteringssvaret från enheten returnerar sedan ett bladcertifikat med dess egenskaper i anpassade OID. De första två egenskaperna är serienumret och UDID (båda utesluts vid användning av användarregistrering). De kvarvarande värdena är anonyma och inkluderar egenskaper som sepOS-version och det frivilliga anti-time replay-värdet.
MDM-lösningen kan sedan validera svaret genom att utvärdera att certifikatkedjan utgår från den förväntade Apple-certifikatutfärdaren (tillgänglig via Apple Private PKI Repository) och, vid förfrågan, verifiera värdet på det anti-replay-värde som tillhandahålls i förfrågan DeviceInformation
.
Eftersom definieringen av ett anti-replay-värde genererar en ny attestering – som kräver resurser på enheten och Apples servrar – är användningen för närvarande begränsad till en attestering per enhet var sjunde dag. Det anses inte vara nödvändigt att begära en ny attestering om inte en enhets egenskaper har ändrats, t.ex. vid en uppdatering eller uppgradering av operativsystemversionen.