Hanterad enhetsattestering för Apple-enheter
Hanterad enhetsattestering är en funktion i iOS 16, iPadOS 16.1, macOS 14, tvOS 16 eller senare. Hanterad enhetsattestering tillhandahåller starka bevis gällande vilka egenskaperna 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 WWDC22-videon What’s new in device management.
Maskinvara som stöds för hanterad enhetsattestering
Attesteringar utfärdas endast till enheter som uppfyller följande maskinvarukrav:
iPhone-, iPad- och Apple TV-enheter: Med A11 Bionic-krets eller senare.
Mac-datorer: Med Apple Silicon.
Inga ändringar har gjorts gällande hanterad enhetsattestering för Apple Watch och Apple Vision Pro.
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.
Obs! Både serienummer och UDID utesluts vid användning av användarregistrering för att skydda användarens integritet. De andra värdena är anonyma och inkluderar egenskaper som sepOS-version och aktualitetskoden.
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 om hashen för aktualitetskoden är likadan som hashen för den aktualitetskod som tillhandahålls i förfrågan DeviceInformation
.
Eftersom definieringen av en aktualitetskod genererar en ny attestering – som kräver resurser på enheten och Apples servrar – är användningen för närvarande begränsad till en DeviceInformation
-attestering per enhet var sjunde dag. En MDM-lösning bör inte omedelbart begära en ny attestering 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. En sporadisk slumpmässig förfrågan om en ny attestering kan dessutom bidra till att upptäcka en äventyrad enhet som försöker ljuga om de här egenskaperna.
Hantering av misslyckade attesteringar
En förfrågan om attestering kan misslyckas. När det händer besvarar enheten fortfarande DeviceInformation
-förfrågan eller ACME-serverns device-attest-01
-utmaning, men en del information har utelämnats. Antingen har ett förväntat OID eller dess värde utelämnats, eller så har attesteringen utelämnats helt och hållet. Det finns många möjliga orsaker till ett misslyckande, till exempel:
Ett nätverksfel vid anslutning till Apples attesteringsservrar.
Enhetens maskinvara eller programvara kan ha skadats.
Enheten innehåller inte äkta Apple-maskinvara.
I de sista två fallen vägrar Apples attesteringsservrar att utfärda en attestering för egenskaper som de inte kan verifiera. MDM-lösningen har inget tillförlitligt sätt att ta reda på den exakta orsaken till en misslyckad attestering. Det beror på att den enda källan till information om misslyckandet är själva enheten som kan vara en äventyrad enhet som ljuger. Av det skälet kan svar från enheten inte påvisa orsaken till misslyckandet.
När en hanterad enhetsattestering används som en del av en a nolltillitsarkitektur kan organisationen däremot beräkna en tillförlitlighetspoäng för enheten – en misslyckad eller oväntat inaktuell attestering sänker poängen. En sänkt tillförlitlighetspoäng utlöser andra åtgärder, till exempel nekad åtkomst till tjänster, flaggning av enheten för manuell utredning eller upptrappad överensstämmelse genom att radera enheten och återkalla dess certifikat vid behov. Detta säkerställer ett lämpligt svar på en misslyckad attestering.