Detección de manipulación del código del cliente

2

Tengo un servidor en un entorno de confianza. Este servidor maneja las solicitudes de los clientes en un entorno no confiable. Me gustaría autenticar cada solicitud y saber si el código del cliente ha sido manipulado o no.

El software del cliente se instala en un entorno seguro y si genero algún "secreto" (números nonces o pseudoaleatorios) y no lo almaceno en el cliente, se puede asumir que se guarda de forma segura.

Pensé en usar una contraseña de un solo uso modificada (OTP) con el secreto generado en el momento de la instalación. Podría incluir la sincronización de tiempo en las máquinas cliente como un requisito. La clave secreta de OTP se derivaría del hash md5 del software cliente y tal vez alguna forma de identificación de hardware en el momento de la instalación.

¿Existe una forma estándar de la industria de hacer lo que quiero? Realmente me disgusta la idea de rodar la mía, ya que apenas estoy calificado para hacerlo.

    
pregunta Vitor Py 12.04.2013 - 17:02
fuente

2 respuestas

4

Lo que estás tratando de hacer es un gran desafío y actualmente no es posible. Ha habido cierta discusión sobre el uso de TPM para proporcionar un entorno de confianza bloqueado por el proveedor que podría usarse como la base de dicho sistema, pero el problema actual es que un sistema que no es de confianza no puede ser confiable, ya que cualquier inspección que un sistema de confianza podría hacer ser falsificado Debe tener algún subsistema de confianza en el cliente que pueda hacer la validación activamente. Cuando todo lo que tiene es una solicitud del cliente, carece del acceso y el nivel de confianza necesarios para lograr su objetivo.

    
respondido por el AJ Henderson 12.04.2013 - 17:11
fuente
1

Si pudiera hacer lo que está tratando de lograr, entonces podría distribuir archivos de música y video solo a "jugadores honestos" que reproducirán la música o el video, pero se negarán a guardarlo en un archivo. . Las industrias de la música y el cine serían muy interesadas. En este momento, este objetivo se les ha escapado, a pesar de la cantidad de dinero que se arroja al problema (el dinero es necesario para la Ciencia, pero no es suficiente).

La solución más conocida, ahora mismo, es tener hardware a prueba de manipulaciones: el código del cliente se ejecuta en una máquina confiable, que se suicidará si detecta una violación física. HDCP funciona un poco así.

    
respondido por el Tom Leek 12.04.2013 - 17:22
fuente

Lea otras preguntas en las etiquetas