Foros del Web » Programación para mayores de 30 ;) » .NET »

Generar licencia de uso de aplicación

Estas en el tema de Generar licencia de uso de aplicación en el foro de .NET en Foros del Web. Hola, el tema de generar licencias para software tal vez esté un poco gastado pero es un aspecto al que me ha correspondido enfrentarme. He ...
  #1 (permalink)  
Antiguo 21/12/2015, 07:46
 
Fecha de Ingreso: octubre-2007
Mensajes: 273
Antigüedad: 16 años, 6 meses
Puntos: 5
Generar licencia de uso de aplicación

Hola, el tema de generar licencias para software tal vez esté un poco gastado pero es un aspecto al que me ha correspondido enfrentarme. He estado buscando información al respecto, incluso dentro de foros del web, la mayoría de los artículos rondan en base a usar números identificativos de algún componente hardware del equipo (esto lo he desestimado), combinados con una clave, GUIDs, etc.
Mi post es para ustedes por su experiencia me ayuden a evaluar el enfoque que le he dado yo a la implementacióny expongan los pro y los contra del mismo; basado en la generación de GUIDs y uno de los servicios criptográficos del Net Framework.
Junto con el instalador de la aplicación cliente (aplicación de escritorio), distribuyo un ejecutable para la instalación de la base de datos; durante el proceso de instalación de la misma, el cliente deberá introducir el código y nombre de la industria (datos que son únicos para cada una de las industrias que componen el ambiente al que está dirigido el software dentro de mi país) y los mismos quedarán registrados en una de las tablas de la Base de Datos. A partir de esos datos, un GUID inicial (el mismo para todas las instalaciones de base de datos nuevas), una clave compartida (igual para el instalador de la BD, la aplicación final y el generador de claves que tengo yo), y fecha de instalación se crea y almacena en la misma base de datos una licencia de evaluación para ese cliente para un periodo de 30 días. El cliente estará obligado a hacerme llegar los datos de registro de la industria (código y nombre) para mediante el software generador de licencias darle de alta y generar una licencia muy similara la que genera el instalador de la BD (inicialmente de evaluación igual, a partir de la clave compartida y el GUID inicial) y que me servirá para comparar los códigos de solicitud de licencia que posteriormente enviarán los clientes.
A partir de la autenticación correcta en el sistema, el software chequeará constantemente (a intervalos de n minutos) los datos de la licencia (código de industria y nombre contra los registrados en la tabla industria, así como el periodo de validez por supuesto), en caso de fallar por no poder desencriptar la licencia, o que no coincidan los datos del registro de la industria con los de la licencia, o el periodo de validez haya expirado, el software muestra una ventana (que al cerrarla se cierra la aplicación), con un código de solicitud de licencia que el cliente deberá enviarme.
Ese código contiene los datos de registro del cliente (código y nombre de industria), y otros datos referentes a la solicitud que el software generador de claves deberá ser capaz de decodificarlo para el cliente que lo solicita en específico. Una vez decodificado, se genera una nueva licencia a partir de la clave compartida,un nuevo GUID, los datos del cliente e información del periodo de validez de la nueva licencia así como otros datos propios del sistema.
Cómo último paso del proceso, el cliente deberá ingresar la nueva licencia la cual el software debe ser capaz de decodificar con la clave compartida, chequeando además que los datos de industria contenidos en la nueva clave coincidan con los registrados en la Base de Datos de la industria, y que son los que se muestran en los encabezados de los reportes generados y enviados al organismo Ministerial, por lo que no será posible para dos industrias utilizar la misma licencia.
Todo este proceso, un poco engorroso de explicar con todas la vueltas que le he dado, persigue que los GUID contenidos en las licencias de los clientes sean los mismos que contienen los registros en la base de datos del generador de licencias para cada cliente. Hasta ahora considero no sea problema exponer el principio de funcionamiento por lo aleatorio que es en sí la generación de GUID. La gran debilidad la veo en el uso de una clave compartida (cifrado simétrico), almacenada dentro del código del instalador de la BD y la Aplicación, aunque ambos han sido ofuscados con DotFuscator Professional.

Me sería de mucha ayuda su interpretación mi solución.
Gracias.

Etiquetas: licencia, net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:51.