¿Se puede usar TPM de la misma manera que en el área TrustZone?

3

¿Puedo programar el chip TPM para que ejecute un fragmento de código de manera segura, igual que ejecutar código en el área de TrustZone? En particular, la aplicación se ejecutará en el mundo normal, pero parte de ella debería ejecutarse en un mundo seguro, ¿puedo usar TPM para este propósito?

    
pregunta user171201 20.02.2018 - 20:38
fuente

3 respuestas

1

No. Un TPM ofrece un conjunto fijo de funcionalidades que no incluye la ejecución de código arbitrario. El conjunto de funciones se centra en el uso de claves en el TPM para un conjunto fijo de funciones, principalmente la autenticación (que demuestra que un valor se firmó en esta computadora en particular), el almacenamiento vinculado al dispositivo (cifrado de datos de tal manera que solo se puede descifrar en esta computadora en particular) y el certificado de plataforma (que demuestra que la memoria de la computadora está en un estado conocido). La única forma de ampliar el conjunto de funciones de un TPM sería actualizar un nuevo firmware, y esta capacidad está restringida al fabricante y, de todos modos, es posible que solo haya espacio para algunos parches.

En contraste, TrustZone es simplemente una función de aislamiento. No impone ninguna restricción sobre qué (o cuánto) código se ejecuta en el mundo seguro. Si el sistema operativo del mundo seguro lo permite, puede instalar aplicaciones que realicen cálculos arbitrarios con las claves vinculadas al dispositivo. Por supuesto, si usted no es el fabricante de chips, a menudo no tendrá las claves necesarias para instalar el código en el mundo seguro.

Los chips Intel suficientemente recientes ofrecen una funcionalidad similar (pero con una arquitectura muy diferente) a través de TXT . TXT usa el TPM para autenticar el código que se ejecuta en una partición de TXT y almacena los datos de la partición de forma segura, pero la aplicación se ejecuta en la CPU principal, no en el TPM.

    
respondido por el Gilles 22.05.2018 - 22:21
fuente
-1

Depende de la implementación del TPM, hay TPM discretos (chips dedicados) que funcionan de manera similar a los ASIC, ya que tienen circuitos definidos para ejecutar eficientemente operaciones consistentes y no son chips de propósito general. No pueden ejecutar código arbitrario.

Los TPM integrados son similares en que son circuitos fijos en una placa y no pueden realizar funciones arbitrarias.

Los TPM de software y los TPM virtualizados son diferentes, se pueden socavar como cualquier software o máquina virtual.

    
respondido por el Magister Ludi 20.02.2018 - 22:52
fuente
-2

TPM es un término general, no el chip real. En algunos documentos se refiere generalmente a todo el sistema, en otros se refiere a una representación general del chip. Los chips son específicos para cada fabricante.

No puede programar el chip Intel (TXT es una fuente cerrada, por lo que solo Intel puede).

El equivalente de AMD (PSP, cuyo nombre se cambió a Tecnología segura / HVB) se consideró un código abierto, por lo que al menos en teoría se puede reprogramar.

    
respondido por el Overmind 21.02.2018 - 10:04
fuente

Lea otras preguntas en las etiquetas