Llave de seguridad para software ya existente

Job ID: 37260958

Budget: $250 – $750 USD

William, buenas tardes. Después de haber analizado el software y el escenario, he llegado a la siguiente propuesta de solución. La comparto para que puedas valorarla.
*Propuesta de solución*
1. Generación y Validación de Licencias
• Cada licencia se asocia a una identificación única de la máquina del usuario, como puede ser el ID de hardware o la dirección MAC.
• La licencia podría ser un token firmado digitalmente que contiene la identificación de la máquina y la fecha de expiración.
• El servidor de licencias valida la licencia y la fecha de expiración, y comprueba que la identificación de la máquina coincida con la que está registrada para esa licencia.
2. Servidor de Licencias
• Un servidor de licencias se encarga de generar, asignar y validar las licencias.
• El servidor también lleva un registro de las licencias emitidas y puede comprobar si una licencia es válida o ha expirado.
3. Protección del Software
• El software debe comunicarse con el servidor de licencias para validar la licencia al cargar un archivo .amk.
• Los scripts .amk deben estar encriptados y solo deben ser desencriptados si la licencia es válida.
• Podría implementarse un sistema de ofuscación del código para dificultar la ingeniería inversa.
4. Comunicación Segura
• Toda comunicación entre el software y el servidor de licencias debe ser segura, utilizando protocolos como HTTPS para evitar ataques de intermediarios.
Ejemplo de Proceso de Licenciamiento:
1. Compra y Activación:
o El usuario compra una licencia de suscripción por un mes.
o El servidor de licencias genera una licencia única asociada a la identificación de la máquina del usuario y la fecha de expiración.
2. Validación de Licencia:
o Cada vez que el usuario cargue un archivo .amk en el software, este verifica la licencia con el servidor de licencias.
o Si la licencia es válida y no ha expirado, el software se ejecuta normalmente.
o Si la licencia no es válida o ha expirado, el archivo .amk se bloquea y solicita al usuario que renueve la suscripción.
3. Ejecución del Software:
o Una vez validada la licencia, los scripts .amk son desencriptados y ejecutados.
o Podría implementarse un mecanismo que asegure que los scripts solo puedan ser ejecutados por el software y no puedan ser accedidos directamente por el usuario.
Related categories: PHP C Programming Python Mac OS Software Development