3 votos

¿Cómo saber si un dispositivo Android está utilizando TEE?

Soy nuevo en Trusty TEE OS. ¿Hay alguna manera de averiguar si un dispositivo Android utiliza este sistema operativo sin rootear el dispositivo?

Por lo que sé, DRM (gestión de derechos digitales) es la aplicación más utilizada de Trusty OS. Algunos ejemplos de marcos de DRM son Widevine/PlayReady/ClearKey.

¿Significa que si alguno de estos marcos está presente en el dispositivo Android, es seguro asumir que se está utilizando Trusty TEE OS subyacente?

Gracias

1 votos

Trusty es una especie de implementación de referencia de un sistema operativo de TEE. Pero muchos OEM han estado utilizando sus propias implementaciones de código cerrado, incluyendo QSEE, Kinibi, TEEGris, iTrustee, etc. No creo que encuentres una pista sobre la implementación subyacente en un dispositivo no rooteado. Una posibilidad es que el nombre de los HAL(s) (bloques binarios) del proceso (generalmente un servicio init) que interactúa con el hardware de TEE pueda incluir alguna pista. Sin embargo, en un dispositivo rooteado, hay mayores posibilidades de obtener una pista, por ejemplo, a partir del nombre o hexdump de alguna partición relacionada con TEE. Incluso ejecutar strings en dicha partición puede ayudar.

3voto

Slevin Puntos 204

Si es un dispositivo Android 8+, TEE es un requisito obligatorio para que los OEM obtengan la licencia de Servicios Móviles de Google (GMS) para dispositivos que tengan aplicaciones de Google preinstaladas.

En Configuración > Seguridad > Avanzado > Cifrado y credenciales > (ALMACENAMIENTO DE CREDENCIALES) Tipo de almacenamiento > Respaldado por hardware

Si dice respaldado por hardware, entonces TEE está presente.

De forma programática, puedes usar isInsideSecureHardware() que devuelve verdadero si la clave reside dentro de TEE o SE.

Si deseas verificar explícitamente si es SE, utiliza setIsStrongBoxBacked en el keyGenParameterSpecBuilder, la generación de clave fallará con una StrongBoxUnavailableException si StrongBox no es compatible.

Los SoC Qualcomm Snapdragon y Samsung Exynos contienen TEE integrado y arrojan una excepción de StrongBox no disponible pero devuelven verdadero para isInsideSecureHardware. El chip Titan M de Google y el chip Knox de Samsung son TEEs discretos (llamados strongbox) que contienen SE en su interior.

1 votos

Bien explicado pero responde a "¿Cómo saber si un dispositivo Android está utilizando TEE?" (o SE). La pregunta es "¿Cómo saber si un dispositivo Android está utilizando el sistema operativo Trusty TEE?" TEE no siempre es Trusty, es elección del fabricante (OEM).

0 votos

Correcto. Pensé que OP se refería solo a TEE y podría estar llamando a Trusty TEE debido al título en la fuente de Android. Cometí el mismo error hace unos años cuando leí por primera vez el soporte de TEE en Android. Abierto a ediciones.

1 votos

Sí, en realidad me refería solo a TEE. Gracias por señalarlo. He publicado una nueva pregunta relacionada aquí android.stackexchange.com/questions/233749/… ¿tal vez podrías sugerir algo aquí también?

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X