
Attestation d’appareil géré pour les appareils Apple
L’attestation d’appareil géré est une fonctionnalité pour les appareils dotés d’iOS 16, d'iPadOS 16.1, de macOS 14 et de tvOS 16, ou ultérieur. L’attestation d’appareil géré offre de solides preuves concernant les propriétés d’un appareil qui peuvent servir dans le cadre d’une évaluation de confiance. Cette déclaration cryptographique des propriétés d’un appareil fondée sur la sécurité du coprocesseur Secure Enclave et des serveurs d’attestation d’Apple.
L’attestation d’appareil géré offre une protection contre les menaces suivantes :
Un appareil compromis mentant sur ses propriétés
Un appareil compromis fournissant une attestation obsolète
Un appareil compromis envoyant les identifiants d’un autre appareil
L’extraction d’une clé privée pour l’utiliser sur un appareil frauduleux
Un pirate détournant une demande de certificat pour tromper et inciter l’AC à lui délivrer un certificat
Pour en savoir plus, consultez la vidéo de l’édition 2022 de la WWDC What’s new in device management (en anglais).
Matériel pris en charge pour l’attestation d’appareil géré
Les attestations sont émises uniquement aux appareils qui répondent aux exigences matérielles suivantes :
iPhone, iPad et Apple TV : Avec la puce A11 Bionic ou une version ultérieure.
Ordinateurs Mac : Avec une puce Apple.
L’attestation d’appareil géré pour les Apple Watch et les Apple Vision Pro n’est pas modifiée.
Attestation dʼappareil géré avec requêtes dʼinscription de certificats ACME
Le service ACME de l’autorité de certification (AC) émettrice d’une organisation peut demander une attestation des propriétés de l’appareil à inscrire. Cette attestation garantit que les propriétés de l’appareil (son numéro de série, par exemple) sont légitimes et n’ont pas fait l’objet d’une opération de spoofing (usurpation d’identité). Le service ACME de l’AC émettrice peut valider de façon cryptographique l’intégrité des propriétés de l’appareil attesté et vérifier, s’il le souhaite, qu’elles concordent avec l’inventaire des appareils de l’organisation. Auquel cas, le service pourra confirmer que l’appareil appartient bien à l’organisation.
Si vous utilisez une attestation, le système d’exploitation génère une clé privée liée au matériel au sein du coprocesseur Secure Enclave de l’appareil dans le cadre de la demande de signature de certificat. Pour cette demande, l’AC émettrice du service ACME peut alors délivrer un certificat client. Cette clé est liée au coprocesseur Secure Enclave et est par conséquent disponible uniquement sur un appareil spécifique. Vous pouvez lʼutiliser sur iPhone, iPad, Apple TV et Apple Watch avec des configurations prenant en charge la spécification d’une identité de certificat. Sur un Mac, vous pouvez utiliser des clés liées au matériel pour vous authentifier auprès d’un service de gestion des appareils, de Microsoft Exchange, de Kerberos, des réseaux 802.1X, du client VPN intégré et du relais réseau intégré.
Remarque : le coprocesseur Secure Enclave intègre des mécanismes de protection extrêmement robustes contre l’extraction de clés, même lorsqu’un processeur d’applications est compromis.
Ces clés liées par le matériel sont supprimées automatiquement lors de l’effacement ou de la restauration d’un appareil. Étant donné que les clés sont supprimées, tous les profils de configuration reposant sur celles-ci ne fonctionneront plus après la restauration. Le profil doit être appliqué de nouveau pour que les clés soient recréées.
Fort de l’attestation des données utiles du ACME, un service de gestion des appareils peut inscrire l’identité du certificat d’un client à l’aide du protocole ACME, qui est capable de valider de façon cryptographique que :
L’appareil est un appareil Apple authentique
L’appareil est un appareil distinct
L’appareil est géré par le service de gestion des appareils de l’organisation
L’appareil possède certaines propriétés (le numéro de série, par exemple)
La clé privée est liée à l’appareil par le matériel
Attestation d’appareil géré avec requêtes du service de gestion des appareils
En plus de lʼutilisation de l’attestation d’appareil géré pendant des requêtes dʼinscription avec certificat ACME, un service de gestion des appareils peut émettre une requête DeviceInformation
afin d’obtenir une propriété DevicePropertiesAttestation
. Si le service de gestion des appareils souhaite s’assurer qu’il possède l’attestation la plus récente, il peut envoyer une clé DeviceAttestationNonce
facultative qui force l’émission d’une attestation actualisée. Si vous omettez cette clé, l’appareil renvoie une attestation mise en cache. Dans sa réponse, l’attestation d’appareil inclut ensuite un certificat nœud terminal avec ses propriétés dans des OID personnalisés.
Remarque : Le numéro de série et l’UDID sont tous deux omis en cas d’utilisation de l’inscription d’utilisateurs pour protéger la vie privée de lʼutilisateur. Les autres valeurs sont anonymes ; elles comprennent des propriétés telles que la version sepOS et le code de fraîcheur.
Le service de gestion des appareils peut ensuite valider la réponse après s’être assuré que l’autorité de certification Apple attendue se trouve à la base de la chaîne de certification (information accessible dans le référentiel PKI privé d’Apple). Il vérifie également que le hachage du code de fraîcheur est le même que celui fourni dans la requête DeviceInformation
.
À l’heure actuelle, étant donné que la définition d’un code de fraîcheur génère une nouvelle attestation qui consomme des ressources sur l’appareil ainsi que sur les serveurs d’Apple, une seule attestation DeviceInformation
par appareil peut être générée tous les sept jours. Un service de gestion des appareils n’a pas besoin de demander une attestation à jour tous les 7 jours. À moins que les propriétés d’un appareil ne changent (mise à jour ou mise à niveau du système d’exploitation, par exemple), il n’est pas nécessaire de demander l’émission d’une attestation à jour. De plus, une demande aléatoire occasionnelle d’une attestation à jour peut permettre de repérer un appareil compromis qui tente de mentir à propos de ces propriétés.
Traitement des attestations échouées
Une demande d’attestation peut échouer. Lorsque cela se produit, l’appareil répond tout de même à la requête DeviceInformation
ou au défi device-attest-01
du serveur ACME, mais certaines informations sont omises. Soit l’OID attendu ou sa valeur sont omis, soit l’attestation est entièrement omise. De nombreuses raisons peuvent être à l’origine d’un échec, notamment :
un problème de réseau pour atteindre les serveurs d’attestation d’Apple ;
le matériel ou les logiciels de l’appareil peuvent être compromis ;
l’appareil n’est pas un matériel Apple authentique.
Dans ces deux derniers cas, les serveurs d’attestation d’Apple refusent d’émettre une attestation pour des propriétés qu’ils ne peuvent pas vérifier. Le service de gestion des appareils ne dispose d’aucune manière fiable de connaître la cause exacte d’un échec pour une attestation. En effet, la seule source d’informations concernant l’échec est l’appareil lui-même, qui peut être un appareil compromis qui ment. C’est pourquoi les réponses de l’appareil n’indiquent pas la raison de l’échec.
Cependant, lorsque l’attestation d’appareil géré est utilisée dans le cadre d’une architecture sans confiance, l’établissement peut calculer un score de confiance pour l’appareil, une attestation échouée ou inopinément obsolète diminuant ce score. Un score de confiance inférieur déclenche différentes actions, telles que le refus d’accès aux services, le signalement de l’appareil en vue d’une investigation manuelle ou des mesures de mise en conformité en l’effaçant et en révoquant ses certificats si nécessaire. Cela garantit une réponse appropriée à une attestation échouée.