¿Implementando un sistema de clave de producto?

0

Supongamos que tengo una pieza de software que permite a las personas descargar una versión de prueba que luego se puede desbloquear. ¿Los siguientes pasos serían una forma efectiva de implementar un sistema clave para desbloquear el software?

  1. El usuario puede descargar la versión de prueba del software. Para comprar, deben ir al sitio web e ingresar la información de pago y un correo electrónico.
  2. Se genera un hash MD5 desde este correo electrónico. Este hash se almacena en un DB controlado por mí y también se envía por correo electrónico al comprador.
  3. El usuario toma el hash del correo electrónico y lo ingresa en el software. El software lo envía como parte de una solicitud HTTP a un servicio web que controlo.
  4. El servicio web marca este hash como "usado". Luego envía una respuesta que indica que el software debe desbloquearse. Una vez que un hash está marcado como "usado", no se puede usar para desbloquearlo nuevamente.

¿Alguien puede ver algún problema con este plan? ¿Hay algún método diferente que deba usar para algo como esto?

    
pregunta Abe Miessler 24.03.2014 - 21:34
fuente

1 respuesta

2

Me tomaría (y a cualquier persona con proxy HTTP) exactamente 2 minutos derrotar este tipo de medida de protección.

La única medida de protección efectiva para el software es no enviarlo al usuario. P.ej. Puede incluir solo la mitad de la funcionalidad en la versión demo. Cuando el usuario quiera actualizar a la versión completa, les quita su dinero, déles un enlace para descargar la versión completa.

O podría hacer parte del software como un servicio, dependiendo de lo que haga, el usuario puede enviar los datos a su servidor, y luego puede realizar la acción o no dependiendo de si están pagando a los clientes.

    
respondido por el valentinas 24.03.2014 - 21:57
fuente

Lea otras preguntas en las etiquetas