Un dongle (pronunciado DONG-uhl) es una llave de hardware para asegurar el acceso a una aplicación de software con licencia y establecer una cadena de confianza. La aplicación de software utiliza comunicación cifrada para acceder a la clave de hardware y verificar la legitimidad de una licencia antes de que se ejecute el programa. Debido al alto costo por unidad, los dongles se utilizan generalmente para autenticar aplicaciones propietarias de empresa a empresa (B2B) y de empresa a gobierno (B2G).
Originalmente, los dongles se conectaban a un puerto paralelo o serie, pero hoy en día, los dongles también se pueden utilizar en puertos de bus serie universal (USB) y tarjetas de memoria flash. Si más de una aplicación requiere un dongle, se pueden conectar varios dongles en los puertos disponibles o en los concentradores. A lo largo de los años, la tecnología de dongle se ha adaptado a las necesidades cambiantes del mercado. Hoy en día, en lugar de conectarse a un puerto abierto en una computadora, la tecnología de dongle también puede residir en un microchip soldado a un dispositivo para ayudar a proteger el Internet de las cosas (IoT).
Los productores de aplicaciones de software se asocian con un proveedor de dongle para programar cada dongle con una ROM especial (memoria de solo lectura) que almacena los términos de licencia y seguridad de la aplicación. Algunas unidades de gama alta tienen hasta 51 kilobytes (KB) de ROM para permitir esquemas de licencia y seguridad complejos. El proveedor del dongle carga códigos únicos en alguna forma de ROM para que las unidades no sean intercambiables.