¿Qué es la Protección del Software?
La protección del software se refiere a las medidas que un desarrollador de software puede tomar para impedir el uso no autorizado de su software, haciendo cumplir su acuerdo de licencia y usando técnicas antidepuración y anti-ingeniería inversa para proteger del robo su propiedad intelectual (IP).
Según la BSA, al menos un 37% del software que se usa en todo el mundo está pirateado. Esta cifra es significativamente mayor en Asia, Latinoamérica y los países del área BRIC (Brasil, Rusia, India y China). Esto representa una enorme pérdida de ingresos para los desarrolladores de software.
La piratería del software puede adoptar muchas formas. El software no licenciado se puede distribuir en línea o a través de redes peer-to-peer (entre pares) con facilidad y sin coste alguno. A veces, se hace que las copias ilegales se asemejen al producto genuino y se venden por una suma. Sin embargo, a menudo la piratería puede ocurrir cuando sus clientes superan los términos de su acuerdo de licencia instalando copias extra o permitiendo que muchos usuarios usen una sola licencia a través de una red.
Prevención de la piratería del software
La piratería se impide usando una mezcla de cifrado fuerte y técnicas para impedir la depuración, el análisis, la manipulación, el volcado y la descompilación del software del desarrollador. La estrategia central de la protección anticopia se consigue vinculando fuertemente el software de protección a un token de seguridad. Esto puede ser un dispositivo de hardware como un dongle USB de seguridad o una clave o bloqueo basada en software existente en el ordenador. Si el token de seguridad no está presente, o se ha visto afectado, el software no se ejecutará.
Normalmente se usa cifrado asimétrico, como RSA, de modo que el software protegido se puede comunicar de forma segura con el token de seguridad. La clave pública está almacenada en la aplicación protegida y la clave privada está almacenada en el token de seguridad. Los tókenes están diseñados con un nivel de seguridad muy elevado que puede impedir la extracción y modificación del contenido del token y la clonación del token mismo.
En ocasiones, los desarrolladores tratan de implementar sus propios sistemas de protección anticopia primitivos basados en algunos elementos únicos del ordenador. Sin embargo, la mayoría, o todos, descubren que esto genera una cantidad de asistencia enorme, y que escribir tales sistemas de una forma fiable y con flexibilidad suficiente para su uso general es muy difícil. Por no hablar de la prevención de la depuración y la ingeniería inversa de su software, los cuales son temas avanzados que es mejor dejar a los expertos. Microcosm ha pasado 30 años perfeccionando sus sistemas de protección anticopia y ofrece dos soluciones: Dinkey Pro, una solución de hardware basada en dongle, y CopyMinder, un sistema de protección basada por completo en el software.
Soluciones de Microcosm para la protección del software
Nuestras dos soluciones de protección del software admiten dos métodos de integrar la protección:
El método Shell añade automáticamente un envoltorio de seguridad (un caparazón protector) a su aplicación, obligando a esta a que confirme la existencia y el estado del token de seguridad antes de que la aplicación tenga permiso para ejecutarse. El método Shell también cifra el código y los datos en su software para impedir la ingeniería inversa. Con este método de protección, usted puede aplicar protección al software sin modificar su código fuente.
El otro enfoque es llamar a nuestra API de protección. Esto le concede a usted flexibilidad al respecto de cuándo activar una verificación de protección, y qué acciones adoptar dependiendo de si el token está presente o del valor de los parámetros almacenados de manera segura dentro del token. Por ejemplo, usted puede elegir terminar su programa o que se ejecute en modo demostración si no se encuentra el token. O puede decidir qué funciones de su programa se habilitan dependiendo de los datos almacenados dentro del token.
Todos los datos de licencia dentro del token se pueden actualizar de forma segura y remota. Por ejemplo, puede usar esto para ampliar la fecha de vencimiento o cambiar qué funciones de su software puede usar un cliente.
Puede usar nuestras soluciones de protección del software para implementar toda clase de modelos de licencia, incluyendo:
- Compra única
- Suscripción/alquiler
- Pruebas/demos seguras
- Licencia de red (incluyendo controlar el número de usuarios en una red que están usando su software al mismo tiempo)
- Por ordenador/por dongle
- Basada en funciones
- Pago-por-uso: controlando el número de ejecuciones de su software o de un comando dentro de su software