2008-08-08 10 views
5

Prácticamente durante toda mi carrera, trabajé con soluciones de construcción (aplicaciones personalizadas para un solo cliente). Ahora que mi empresa está desarrollando software para las masas, nos esperan muchos paquetes.
Quiero preguntar sobre el software de licencias. Cómo generar números de serie y números de activación. ¿Cuáles son mis opciones para el software de licencias en general?
Me doy cuenta de que es una especie de pregunta general, pero es una cuestión de conversación.
Licencia Modelos

Respuesta

8

Nuestro modelo de licencia funciona usando criptografía de clave pública/privada. Nos envían su nombre y detalles de contacto, que encriptamos utilizando nuestra clave privada. El archivo cifrado se envía de vuelta al licenciatario que ingresan en la aplicación. La aplicación tiene nuestra clave pública integrada en el binario (o si tienen una conexión a la red, la saca de nuestro sitio) y la utiliza para descifrar la información de la licencia. Si la licencia descifrada coincide con los detalles que ingresaron, entonces tienen licencia para usar el producto.

Mediante el uso de la criptografía de clave pública/privada que damos a nuestra solicitud de un fideicomiso que los datos de la clave de licencia es en realidad de nosotros (la autenticidad de la licencia)

Hay otras cosas interesantes que puede hacer con esto, como codificación de los niveles de suscripción en la clave de licencia. La aplicación descifrará la clave de licencia y verá que solo se les permite usar ciertos bits de funcionalidad.

Esto puede ser atacado sin embargo. Por ejemplo, un blackhat puede eliminar toda la clave de licencia que controla parte del binario, o actualizar la clave pública almacenada en la aplicación a una que hayan generado. Luego podrán hacer que acepte su propia licencia. Sin embargo, dado que nuestras aplicaciones no son tan comunes, no lo consideramos una gran amenaza.

-1

Si está utilizando .Net para crear sus soluciones, podría valer la pena visitar Xheo. Los he usado antes para implementar licencias y se integran muy bien con las soluciones .net. Puede hacer cosas como requerir claves de serie básicas para activar productos directamente a través de configurar un servidor de activación y requerir que las personas activen y desactiven sus productos para usarlos y portarlos entre máquinas.

+0

No vale la pena; demasiado lento y se cuelga mucho. – ileon

1

Este artículo sobre piratería por un chico que construyó y comercializó una pequeña aplicación .NET es muy informativo. Su solicitud fue pirateada, que giveshim una perspectiva interesante:

http://kalzumeus.com/2006/09/06/yo-ho-me-hearties-yo-ho/

Sus puntos son básicamente que usted necesita para hacer que el sistema de activación de una barrera para los usuarios normales - no hay nada que puede hacer si su aplicación es lo suficientemente popular ser pirateado por un grupo de craqueo. Lo más importante es asegurarse de que una versión agrietada de su programa, si existe, es invisible para el 99% del público.