Pregunta

Casi toda mi carrera trabajé creando soluciones (aplicaciones personalizadas para un solo cliente).Ahora que mi empresa se dedica a desarrollar software para las masas, nos esperan muchos envases.
Quiero preguntar sobre las licencias de software.Cómo generar números de serie y números de activación.¿Cuáles son mis opciones para la concesión de licencias de software en general?
Me doy cuenta de que es una pregunta general, pero sirve para iniciar una conversación.

¿Fue útil?

Solución

Nuestro modelo de licencia funciona utilizando criptografía de clave pública/privada.Nos envían su nombre y datos de contacto, que ciframos utilizando nuestra clave privada.Luego, el archivo cifrado se devuelve al licenciatario, quien lo ingresa en la solicitud.La aplicación tiene nuestra clave pública incrustada en el binario (o si tienen una conexión a la red, la extrae de nuestro sitio) y la usa para descifrar la información de la licencia.Si la licencia descifrada coincide con los detalles que ingresaron, ¡tienen licencia para usar el producto!

Al utilizar criptografía de clave pública/privada, le damos a nuestra aplicación la confianza de que los datos en la clave de licencia son realmente nuestros (autenticidad de la licencia).

Hay otras cosas interesantes que puedes hacer con esto, como codificar 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 utilizar ciertas funciones.

Sin embargo, esto puede ser atacado.Por ejemplo, un blackhat puede eliminar toda la clave de licencia comprobando parte del binario o actualizar la clave pública almacenada en la aplicación a una que haya generado.Entonces podrán hacer que acepte su propia licencia.Sin embargo, dado que nuestras aplicaciones no son tan comunes, no consideramos que esto sea una amenaza importante.

Otros consejos

Este artículo sobre piratería escrito por un tipo que creó y comercializó una pequeña aplicación .NET es muy informativo.Su aplicación fue pirateada, lo que le da una perspectiva interesante:

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

Básicamente, sus puntos son que necesitas hacer que el sistema de activación sea una barrera para los usuarios normales; no hay nada que puedas hacer si tu aplicación es lo suficientemente popular como para ser pirateada por un grupo de crackers.Lo más importante es asegurarse de que una versión descifrada de su programa, si existe, sea invisible para el 99% del público.

Si está utilizando .Net para crear sus soluciones, puede que valga la pena echarle un vistazo. 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 hasta configurar un servidor de activación y requerir que las personas activen y desactiven sus productos para usarlos y transferirlos entre máquinas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top