3 votes

Comment savoir si un appareil Android utilise TEE ?

Je suis nouveau dans Trusty TEE OS. Existe-t-il un moyen de savoir si un appareil Android utilise un tel système d'exploitation sans l'enraciner ?

AFAIK là, DRM (Digital Rights Management) est l'application la plus largement utilisée de Trusty OS. Quelques exemples de frameworks DRM sont Widevine/PlayReady/ClearKey.

Cela signifie-t-il que si l'un de ces frameworks est présent dans l'appareil Android, on peut supposer qu'un système d'exploitation Trusty TEE sous-jacent est utilisé ?

Gracias

1 votes

Trusty est une implémentation de référence d'un TEE OS. Mais de nombreux OEM ont utilisé leurs propres implémentations à code source fermé, notamment QSEE, Kinibi, TEEGris, iTrustee, etc. Je ne pense pas que vous trouverez un indice sur l'implémentation sous-jacente sur un appareil non rooté. Il est possible que le nom du processus HAL(s) (blobs binaires) (généralement un nom de fichier de type init ) interagissant avec le matériel TEE peut inclure des indications. Sur un appareil enraciné, cependant, il y a plus de chances d'obtenir un indice, par exemple à partir du nom ou de l'hexdump d'une partition liée à TEE. Même en exécutant strings sur une telle partition peut aider.

3voto

Slevin Points 204

S'il s'agit d'un appareil Android 8+, TEE est une exigence obligatoire pour les OEM afin d'obtenir une licence Google Mobile Services (GMS) pour les appareils qui ont des applications Google préinstallées.

Dans Paramètres > Sécurité > Avancés > Cryptage et informations d'identification > (CREDENTIAL STORAGE) Storage type > Supporté par le matériel

S'il est indiqué que le matériel est soutenu, alors TEE est présent.

De manière programmatique, vous pouvez utiliser isInsideSecureHardware() qui renvoie vrai si la clé réside dans TEE ou SE.

Si vous voulez vérifier explicitement si c'est SE, utilisez setIsStrongBoxBacked sur le keyGenParameterSpecBuilder la génération de clés échouera avec un StrongBoxUnavailableException si StrongBox n'est pas supporté.

Les SoCs Qualcomm Snapdragon et Samsung Exynos contiennent un TEE intégré et ils lèvent l'exception StrongBox unavailable mais renvoient true pour isInsideSecureHardware. La puce Titan M de Google et la puce Knox de Samsung sont des TEE discrets (appelés strongbox) qui contiennent un SE à l'intérieur.

1 votes

Bien expliqué mais il répond "Comment savoir si un appareil Android utilise TEE ?" (ou SE). La question est la suivante "Comment savoir si un appareil Android utilise Trusty TEE OS ?" TEE n'est pas toujours Trusty, c'est le choix de l'OEM.

0 votes

C'est vrai. Je pensais que l'OP voulait dire TEE seulement et qu'il pourrait appeler Trusty TEE à cause du titre sur la source Android. J'ai fait la même erreur il y a quelques années quand j'ai lu pour la première fois que TEE était supporté par Android. Ouvert aux modifications.

1 votes

Oui, je voulais en fait dire seulement TEE. merci de l'avoir souligné. J'ai posté une nouvelle question connexe ici Android.stackexchange.com/questions/233749/ Peut-être pourriez-vous suggérer quelque chose ici aussi ?

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X