Evitar la elusión de la protección de licencias en el software Java

3

Un software (escrito en Java) por un proveedor utiliza la firma DSA para verificar que la información de la licencia es correcta.

Esto se logra incorporando la clave pública en el mismo software de Java.

La información de licencia legítima se genera, se firma con la clave privada y se guarda en un archivo, que puede verificarse con la clave pública.

A lo largo viene un hacker, que genera su propio par de claves privada / pública, y cambia la clave pública incorporada en el software de Java a la suya. Luego genera un archivo de licencia con su propia clave privada.

¿Cómo se puede eludir este escenario? Es decir, ¿qué medidas puede tomar el proveedor para evitar que el pirata informático haga lo anterior?

Gracias.

    
pregunta chuacw 28.05.2012 - 06:59
fuente

1 respuesta

8

No mucho, en realidad.
Cuando el atacante tiene acceso al código, puede modificarlo a los contenidos de su corazón.
Puedes hacerlo más difícil, por ejemplo, mediante el uso de ofuscación de código. Pero no puedes hacerlo imposible.

Puede hacer que el código se conecte a un servidor a través de Internet para verificar su integridad, pero el atacante también podría modificar el código para llamar a su propio servidor. (Y obstaculizará a cualquier usuario legítimo cuyas conexiones estén caídas ...).

Por lo tanto, debes evitar que el atacante tenga acceso al código.
Suponiendo que su usuario tenga una conexión a Internet confiable, esto podría hacerse ofreciendo su código como un servicio (SaaS).

    
respondido por el S.L. Barth 28.05.2012 - 07:31
fuente

Lea otras preguntas en las etiquetas