Análisis de las llaves más representativas existentes en el mercado español para la protección de software.

Hace aproximadamente diez años el nuevo mercado informático, el que surgía en la pequeña y mediana empresa, se dio cuenta de que necesitaba, al igual que ya hacían las grandes empresas, proteger los programas que desarrollaba y los datos con los que trabajaba. Es a partir de entonces que empiezan a surgir empresas que se dedican, entre otras cosas, a fabricar componentes externos al ordenador (llaves o mochilas) para el funcionamiento de elementos internos (software). Como llaves entendemos cualquier elemento externo al software que nos permita evitar la copia de éste, y que vaya conectado al ordenador a través de un puerto paralelo, un puerto serie, o que vaya incorporado en el interior del ordenador. De esta manera, la presencia de una llave puede imposibilitar dos cosas a los usuarios finales: primero, obtener datos, y, segundo, utilizar un programa.

La utilización de llaves para la protección de programas ejecutables es muy superior a la protección de ficheros de datos. De hecho, la mayoría de protecciones llevan algún módulo para aplicar directamente sobre archivos ejecutables, y el mayor número de clientes se encuentra entre las empresas fabricantes de software.

Llaves y piratería

Dado que algunas empresas, movidas por el dominio del entorno con el que trabajan, o por la necesidad de amortizar gastos, cobran precios altos por la adquisición de sus programas, el usuario final llega a optar, en muchos casos, por la realización de copias ilegales. La empresa fabricante, al vender menos, no puede bajar el precio del producto, lo que le permitiría vender más y desarrollar mejores productos. Así la empresa recurre a la opción de proteger sus programas con llaves, de manera que el número de licencias vendidas siempre se va a corresponder con el número de licencias compradas. Por desgracia, esto no ocurre sólo en las empresas más potentes, sino que en las empresas pequeñas también se puede dar la circunstancia que un programa pequeño deba encarecerse por la protección, pasando en algunos casos a que esta protección represente más del 20% del coste del producto. Esto no quiere decir que el programa no se pueda desproteger, sino que el tiempo a invertir para la desprotección del programa es superior al coste del mismo, o que no se dispone de los medios para desproteger este programa (en la mayoría de los casos).

La incomodidad de las llaves

Mucho se ha hablado acerca de la incomodidad y la necesidad de las llaves. Incluso en algún manual se llega a afirmar que la posesión de una llave de este tipo da seguridad al usuario. No es necesario utilizar malos argumentos de venta para llegar a comprender que hay que sacrificar un pequeño espacio físico en el ordenador, por el mismo motivo que sacrificamos un espacio en el disco cuando se instala una aplicación. No todo son problemas: muchos fabricantes de llaves ya han encontrado la manera de que el espacio que ocupe se encuentre localizado en el interior del ordenador, a través de alguna ranura libre. Esto contesta a las típicas afirmaciones que dicen "tengo que separar el ordenador de la pared por conectar tres pastillas", o "si conecto el cable de impresora con las pastillas se me suelta todo por el peso".

Así pues, todos estamos de acuerdo, que la llave no es la manera más cómoda de instalar una protección. Pero mientras haya gente que no colabore con el desarrollo de los fabricantes de software, no habrá una manera alternativa de adquirir los programas. De todos modos, hay que mirar la parte positiva: empresas que viven y se dedican a la protección de programas y datos; empresas que han permitido la venta de varias licencias sin la posibilidad de una copia pirata, el desarrollo de productos demo con mucha facilidad, la limitación en la fecha de la ejecución de un programa, etc.

Este artículo pretende dar una visión global del mundo de la protección. Ni mucho menos hemos podido analizar todas las llaves del mercado. Los distribuidores nos han enviado diferentes tipos de llaves, con lo que intentaremos resaltar la parte más positiva de cada una de ellas. Hay que destacar que estos mismos fabricantes disponen de otras llaves de diferentes características y precios.

Conclusión

El mercado de las llaves de protección hace ya tiempo que llegó a la madurez a nivel de hardware. La complejidad y seguridad de los diseños electrónicos hace completamente inviable la desprotección de aplicaciones actuando sobre elementos físicos como las llaves. Desgraciadamente las protecciones existentes actualmente necesitan unos complementos software para poder aplicarlas a aplicaciones. Es por ahí, por el software, por donde son atacadas todas las protecciones y donde se encuentran las mayores deficiencias en seguridad. Elegir una llave entre todas las analizadas se demuestra difícil. La más completa de todas es la SentinelSuperPro, pero no hay que olvidar que hay características concretas que dependiendo de las necesidades del usuario, pueden hacer elegir o descartar cualquiera de las otras llaves, sin que la seguridad sea la exigencia principal.

Hardlock E-Y-E (Standard/Memo)

Hardlock E-Y-E se presenta como uno de los productos con más solera en el mercado de la protección de software. Su fabricante, FAST, presentó los primeros prototipos a finales de 1985. Es por esto y por el desarrollo de los productos por lo que Hardlock E-Y-E se constituye como una de las opciones que hay que tener más en cuenta a la hora de decidirse por un sistema de protección.

Esta llave dispone de un circuito ASIC (Application Specific Integrated Circuit) que contiene la información relativa al código (número que distingue los distintos chips entre sí) archivada en células EEPROM integradas. Junto a esta llave, se entrega una tarjeta de criptogramación que permite programar las llaves no codificadas de fábrica. Puede disponer de 4.294.967.296 códigos y de 43.680 subcódigos para cada uno de ellos. La única diferencia entre el modelo Standard y el Memo es que este último dispone de 128 bytes para poder grabar y leer información.

En el paquete se suministra el programa CP-EYE, que se utiliza para codificar las llaves. Se ejecuta en modo DOS y permite, entre otras cosas, visualizar ficheros en formato ASCII y hexadecimal, visualizar las direcciones de los puertos paralelos de los que disponemos, comprobar el funcionamiento y la memoria de la llave, seleccionar subcódigos, etc.

Cuando echamos un vistazo al manual, que dicho de paso es el punto más flojo del paquete, nos damos cuenta que se da mayor importancia a la protección de programas ejecutables ya enlazados que a la inclusión de funciones para la generación de ficheros EXE listos para enlazar. De todas maneras, el HL-CRYPT, que es como se denomina el programa de protección, tiene un amplio abanico de posibilidades, empezando por la opción de pasar en la línea de comandos del DOS todos los parámetros. Otra de las características es la encriptación de ficheros con los que trabaje el fichero EXE y que sólo son desencriptables a través del código grabado en la llave. Otras propiedades son la personalización de algunos mensajes de error, la autodetección de la llave cada vez que el sistema está desocupado, la defensa contra desensambladores, la limitación de ejecución en máquinas con determinados procesadores, etc. Hay que hacer notar que la comprobación de cada uno de estos parámetros hace que la ejecución del programa, sobre todo cuando se carga en memoria, sea un poco más lenta de lo habitual, y más aún si no se dispone de un ordenador medianamente actualizado. En las pruebas realizadas, buscando una protección óptima, algunos ejecutables tardaban en arrancar entre 1 y 4 segundos más al estar protegidos. En cuanto a la protección a