Puede que no entienda bien las TEE (acabo de enterarme de ellas en una publicación de HN ), pero tengo una pregunta con respecto a las características que parecen permitir lo que parece ser la forma perfecta de DRM (para mi comprensión tal vez limitada de las tecnologías DRM actuales).
Primero, ¿entiendo correctamente que se pueden usar de la siguiente manera ?:
- El usuario busca comprar y descargar software. Se pone en contacto con el proveedor de software (visita su sitio).
- El proveedor solicita el certificado de su TEE (se niega a vender lo contrario).
- El usuario lo proporciona (tal vez entienda lo que eso significa, tal vez sea parte de un protocolo automatizado que el sistema operativo ejecuta de una manera más fácil de usar).
- El proveedor verifica el certificado, asegurándose de que:
- La clave pública específica de la instancia de hardware TEE contenida está firmada por la clave privada correspondiente a la clave pública del fabricante también contenido, y que
- El fabricante pertenece a una lista de fabricantes en los que confía (donde puede haber obtenido esa lista de una fuente en la que confía).
- El proveedor toma la clave pública de TEE y encripta su programa con ella.
- El proveedor proporciona el programa cifrado al usuario.
- El usuario puede ejecutar el programa todo lo que quiere en su TEE, pero no puede hacer que se ejecute en ningún otro TEE, lo que hace que la piratería de software sea prácticamente imposible, a menos que obtenga el equipo costoso y las habilidades para revertir diseñar el hardware TEE que contiene la clave privada para descifrarlo.
El paso 4 se podría realizar con claves públicas simples y sin certificados, pero eso permitiría a las personas emular TEE y, por lo tanto, tener en sus manos la versión descifrada del software del proveedor, haciendo que todo sea discutible.
Veo Wikipedia menciona esto :
Para evitar la simulación de hardware con un software controlado por el usuario, se utiliza una raíz de confianza de hardware.
¿"Raíz de confianza del hardware" significa que hay una PKI?
¿Cuál es el estado actual de esta tecnología? Wikipedia menciona que hay esfuerzos de estandarización. ¿Todos los proveedores actuales están vendiendo diferentes variaciones de esto? Si ese es el caso, ¿están usando diferentes métodos para autenticar las TEE o están usando todas, por ejemplo? ¿Certificados x509? Si todos utilizan certificados x509, ¿alguien ha compilado una lista de certificados raíz de confianza, como han hecho los proveedores de navegadores para los sitios web?
Básicamente, lo que pregunto es si hay alguna lista disponible para realizar el paso 4.2 programáticamente.