A dongle is a piece of hardware that attaches to a computer and allows a piece of secured software to run. The device does not contain the software in its entirety, but rather is an electronic key that unlocks the program on a computer. In most cases, it is used as an anti-piracy measure, since making a copy of the hardware is much more difficult than copying the program itself.
Software protection dongles are primarily used with very complicated, expensive software aimed at small markets. It costs the company extra to manufacture the hardware, so the price of the software must justify it. In addition, because these programs are typically expensive, it may be more likely that someone would try to download unauthorized copies or to sell them to other users. The word seems to have been chosen more or less at random as a placeholder to describe the device when it was first used in the 1970s, but over time it has become an accepted name.
Programs that use dongles include computer-aided design (CAD), image rendering, and audio mixing software. These devices are much more common in professional industries than in home-use settings, mostly because that's where higher priced software programs are used. Very few programs designed for the general public use this security method.
The term dongle has expanded beyond software protection to include any small device that plugs into the Universal Serial Bus (USB) or other computer port, regardless of what it does. These devices are usually used to provide some function that is not built in to the computer itself. This includes adding memory, supplying Bluetooth® and WiFi® connections, and adding adapters so that other devices can be plugged in. Commonly, mobile broadband USB modems are often referred to as "mobile dongles."
Within industries that frequently use secured software, the term is still used primarily for security devices.
Early dongles were usually attached to a computer's serial port. While loading, the software would check for the presence of this hardware device and, if it did't find it, it wouldn't load. This system was vulnerable because a programmer could alter the software to not look for the dongle or to think it was present when it wasn't.
Modern security devices typically use a computer's USB port. Rather than simply checking for the presence of the piece of hardware, the software sends an encrypted request to the device for a validation key, which is also encrypted. This means that in order to crack the dongle, a hacker must first crack the encryption.
An even more secure approach stores encrypted bits of the software on the dongle itself, which the program calls for when it needs them. In this scenario, even if a hacker were to fool the software into thinking the device was present, the software would be unable to run because it would be missing key parts of its code.
Non-security dongles work by including virtually all of the hardware and software needed within the device itself. A mobile dongle, for example, includes a network adapter that allows a computer to connect to the Internet. Although the computer must have the correct settings to make the broadband connection, the device contains the technology that allows the connection to be made.
A few software companies have attempted to introduce dongle security with their consumer-oriented software without success, even though consumers are often familiar with USB technology. As technology changes and new operating systems and hardware become more commonplace, older software that requires the device may no longer be usable. In addition, dongles are easily lost or damaged. Specialists such as video editors or audio engineers may be willing to put up with the inconvenience, but the average computer user is usually not.
Another common problem is that people may need to use more than one type of locked software at a time and the computer may not be able to accommodate all the different devices at once. Most dongles take up a port, and do not allow other devices to be plugged into them; a computer that only has two or three USB ports, for example, may already have a mouse, camera, or other device attached, leaving no room for anything else.
To cope with these problems, some companies specialize in emulators that attempt to convince the computer that the dongle is present. These emulators are not always legal, however, as they are specifically designed to get around security issues. When a person buys a piece of software, what he or she is really buying, most of the time, is a license to use the software. With that license, the user typically agrees to certain conditions, and using an emulator may break those rules. If the person who purchased the software did so legally and does have the dongle, and/or if that piece of hardware no longer works correctly, it may be legal to use an emulator instead in some circumstances.
There are alternatives to using a dongle for security purposes, although they are not always as reliable. Some programs have key codes that must be entered when the software is first installed; others only allow the program to be installed once. In some cases, the computer running the software must have an Internet connection so that it can regularly connect to the manufacturer's servers to confirm who is using the program. As with dongles, each of these security measures can cause problems for the user if they do not work correctly or if the software needs to be transferred to a new computer. In addition, nearly all such methods have been cracked.