He usado tanto FLEXlm de Macrovision (anteriormente Globetrotter) como el RLM más nuevo de Reprise Software (según tengo entendido, escrito por los autores originales de FlexLM). Ambos pueden desactivar la dirección MAC o un dongle físico, pueden estar bloqueados por nodo (vinculados a una sola máquina) o "flotantes" (cualquier máquina autorizada en la red puede obtener una licencia asignada por un servidor de licencia central, hasta a un número máximo de copias simultáneamente desprotegidas determinado por cuánto han pagado). Existe una variedad de formas flexibles de configurarlo, incluidas las fechas de vencimiento, las funciones con sublicencias individuales, etc. La integración en una aplicación no es muy difícil. Estos son solo los dos que he usado, estoy seguro de que hay otros que también hacen el trabajo.
Estos programas se descifran fácilmente, lo que significa que hay vulnerabilidades conocidas que permiten a las personas eludir la seguridad de su aplicación que las utiliza, cortando sus propias licencias para falsificar el servidor de licencias o simplemente parcheando su binario para eludir la verificación de la licencia (esencialmente reemplazando la llamada de la subrutina a su biblioteca con un código que simplemente dice "return 'true'". Es más complicado que eso, pero a eso se reduce principalmente. Verá versiones crackeadas de su producto publicadas en varios sitios de Warez. Puede ser muy frustrante y desmoralizador, sobre todo porque a menudo están interesados en descifrar para descifrar el sake, y ni siquiera tienen ningún uso para su producto o conocimiento de qué hacer con él. es obvio si tiene un programa suficientemente especializado.)
Debido a esto, algunas personas dirán que debe escribir el suyo, tal vez incluso cambiar el esquema de cifrado con frecuencia. Pero no estoy de acuerdo. Es cierto que lanzar su propia cuenta significa que los exploits conocidos contra FLEXlm o RLM no funcionarán instantáneamente para su aplicación. Sin embargo, a menos que seas un experto total en este tipo de seguridad (que claramente no eres o no estarías haciendo la pregunta), es muy probable que en tu inexperiencia termines escribiendo un documento mucho menos seguro y más fácil de descifrar. esquema que los líderes del mercado (por débiles que sean).
La otra razón para no hacer las suyas es simplemente que se trata de un juego infinito de gatos y ratones. Es mejor para sus clientes y sus ventas poner un mínimo esfuerzo en la seguridad de las licencias y pasar ese tiempo depurando o agregando características. Debes enfrentarte al esquema de licencias simplemente como "mantener honestas a las personas honestas", pero no para evitar un resquebrajamiento determinado. Acepte que los crackers no habrían pagado por el software de todos modos.
No todos pueden adoptar este tipo de actitud zen. Algunas personas no pueden dormir por la noche sabiendo que alguien está obteniendo algo por nada. Pero trata de aprender a manejarlo. No puede detener a los piratas, pero puede equilibrar su tiempo/esfuerzo/gasto tratando de detener toda la piratería en lugar de mejorar su producto para los usuarios. Recuerde, a veces las aplicaciones más pirateadas también son las más populares y rentables. Buena suerte y duerme bien.
siempre y cuando utilice MD5 como firma, también podría utilizar una firma de clave asimétrica adecuada. –
@Jason si solo está usando MD5, puede truncar el resultado de manera segura para producir algo manejable. Una firma requeriría que una cantidad significativamente mayor de datos sea parte de la "clave", ya que sería toda la firma encriptada MD5. Si lo truncaste, rompería el paso de verificación. – tylerl