Un dispositivo de protección de software (comúnmente conocido como dongle o llave ) es un dispositivo electrónico de protección de copia y protección de contenido. Cuando se conecta a una computadora u otro dispositivo electrónico, desbloquea la funcionalidad del software o decodifica el contenido . [1] La llave de hardware se programa con una clave de producto u otro mecanismo de protección criptográfica y funciona a través de un conector eléctrico a un bus externo de la computadora o dispositivo. [2]
En la protección de software, los dongles son tokens de seguridad de dos interfaces con flujo de datos transitorio con una comunicación pull [ aclaración necesaria ] que lee los datos de seguridad del dongle. En ausencia de estos dongles, cierto software puede ejecutarse solo en un modo restringido o no ejecutarse en absoluto. Además de la protección de software, los dongles pueden habilitar funciones en dispositivos electrónicos, como recibir y procesar transmisiones de video codificadas en televisores.
El diccionario Merriam-Webster afirma que el "primer uso conocido de dongle " fue en 1981 y que la etimología era "quizás [una] alteración de dangle". [3]
Los dongles evolucionaron rápidamente hasta convertirse en dispositivos activos que contenían un transceptor serial ( UART ) e incluso un microprocesador para gestionar las transacciones con el host. Las versiones posteriores adoptaron la interfaz USB , que se convirtió en la opción preferida por sobre la interfaz serial o paralela. [ cita requerida ]
En un anuncio de 1992 de Rainbow Technologies se afirmaba que la palabra "dongle" derivaba del nombre "Don Gall". Aunque no es cierto, esto ha dado lugar a un mito urbano . [4]
Los intentos de introducir la protección anticopia de los dispositivos de seguridad en el mercado de software general han encontrado una fuerte resistencia por parte de los usuarios. Este tipo de protección anticopia se utiliza más habitualmente con paquetes muy caros y software de mercado vertical , como software CAD / CAM , software de depuración JTAG/instalación de teléfonos móviles , software de venta minorista y de hostelería de MICROS Systems , aplicaciones de estaciones de trabajo de audio digital y algunos paquetes de memoria de traducción .
En casos como el software de preimpresión e impresión, el dispositivo de seguridad está codificado con una clave de licencia específica para cada usuario, que habilita funciones particulares en la aplicación de destino. Se trata de una forma de licencia estrictamente controlada, que permite al proveedor participar en una situación de dependencia y cobrar más de lo que cobraría de otro modo por el producto. Un ejemplo es la forma en que Kodak otorga licencias de Prinergy a los clientes: cuando se vende un dispositivo de salida de computadora a placa a un cliente, el costo de la licencia de Prinergy se le proporciona por separado al cliente, y el precio base contiene poco más que las licencias necesarias para imprimir el trabajo en el dispositivo.
Los dispositivos USB también son una parte importante de los sistemas de producción y edición de audio de Steinberg , como Cubase , WaveLab, Hypersonic, HALion y otros. El dispositivo que utilizan los productos de Steinberg también se conoce como Steinberg Key. La Steinberg Key se puede comprar por separado de sus aplicaciones homólogas y, por lo general, viene incluida con la aplicación "Syncrosoft License Control Center", que es compatible con varias plataformas, tanto con Mac OS X como con Windows.
Algunos desarrolladores de software utilizan las unidades flash USB tradicionales como llaves de licencia de software que contienen números de serie de hardware junto con las cadenas de identificación del dispositivo almacenadas, que generalmente no son fáciles de cambiar por un usuario final. Un desarrollador también puede utilizar la llave para almacenar configuraciones de usuario o incluso una versión "portátil" completa de la aplicación. No todas las unidades flash son adecuadas para este uso, ya que no todos los fabricantes instalan números de serie únicos en sus dispositivos.
Aunque esta seguridad media puede disuadir a un hacker ocasional, la falta de un núcleo de procesador en el dispositivo para autenticar datos, realizar cifrado/descifrado y ejecutar código binario inaccesible hace que un dispositivo pasivo de este tipo sea inadecuado para todos los programas, salvo para los de menor precio. Una opción más simple e incluso menos segura es utilizar almacenamiento no particionado o no asignado en el dispositivo para almacenar datos de licencia. Las unidades flash USB comunes son relativamente económicas en comparación con los dispositivos de seguridad dedicados, pero la lectura y el almacenamiento de datos en una unidad flash son fáciles de interceptar, alterar y eludir.
Existen posibles debilidades en la implementación del protocolo entre el dispositivo y el software de control de copias. Por ejemplo, una implementación simple podría definir una función para verificar la presencia del dispositivo y devolver "verdadero" o "falso" según corresponda, pero el requisito del dispositivo puede eludirse fácilmente modificando el software para que siempre responda "verdadero".
Los dispositivos de seguridad modernos incluyen un cifrado fuerte integrado y utilizan técnicas de fabricación diseñadas para impedir la ingeniería inversa . Los dispositivos de seguridad típicos también contienen ahora memoria no volátil : partes esenciales del software pueden almacenarse y ejecutarse en el dispositivo de seguridad. Por lo tanto, los dispositivos de seguridad se han convertido en criptoprocesadores seguros que ejecutan instrucciones de programa que pueden ingresarse al criptoprocesador solo en forma cifrada. El criptoprocesador seguro original fue diseñado para la protección contra copias del software de computadoras personales (consulte la patente estadounidense 4.168.396, 18 de septiembre de 1979) [5] para proporcionar más seguridad de la que los dispositivos de seguridad podían proporcionar en ese momento. Consulte también cifrado de bus .
La clonación de hardware, en la que el dispositivo de seguridad se emula mediante un controlador de dispositivo, también es una amenaza para los dispositivos de seguridad tradicionales. Para evitarlo, algunos proveedores de dispositivos de seguridad han adoptado en sus productos de dispositivos de seguridad el uso de tarjetas inteligentes, que se utilizan ampliamente en entornos con requisitos de seguridad extremadamente estrictos, como los militares y los bancos.
Un dispositivo de seguridad más innovador y moderno está diseñado con un proceso de transferencia de código que transfiere partes cifradas del código de programa del proveedor de software o de la aplicación de la licencia a un entorno de hardware seguro (como en un sistema operativo de tarjeta inteligente, mencionado anteriormente). Un ISV puede transferir miles de líneas de código de programa informático importante al dispositivo de seguridad. [ cita requerida ]
Además, los dongles han sido criticados porque, como son hardware , se pierden fácilmente y son propensos a dañarse, lo que potencialmente aumenta los costos operativos, como el costo del dispositivo y el costo de envío.
Algunos títulos sin licencia para consolas de juegos (como Super 3D Noah's Ark o Little Red Hood ) usaban dongles para conectarse a cartuchos ROM con licencia oficial , con el fin de eludir el chip de autenticación integrado en la consola. [ cita requerida ]
Algunos dispositivos de códigos de trucos , como GameShark y Action Replay , utilizan un dispositivo de seguridad. Normalmente, se conecta a la ranura de la tarjeta de memoria del sistema y el software basado en disco se niega a funcionar si no se detecta el dispositivo de seguridad. El dispositivo de seguridad también se utiliza para guardar configuraciones y almacenar nuevos códigos, añadidos por el usuario o a través de actualizaciones oficiales, porque el disco, al ser de solo lectura, no puede almacenarlos. Algunos dispositivos de seguridad también funcionan como tarjetas de memoria normales. [ cita requerida ]