A Brief History of Dongles & Copy Protection

Two general techniques can be used to provide copy protection for a software application. Programs can be protected digitally using software or physically with a copy protection dongle.

While using software may seem like a simpler method, keeping your software safe from piracy can be difficult. The software used to protect your program can be hacked, rendering it useless as a defensive measure.

Tenacious hackers can subvert the detection and encryption mechanisms put in place to keep them away from protected software resources. Using a physical form of defense like a USB copy protection dongle provides an additional level of security that must be breached to gain access to the projected resource. It’s not a perfect method but is widely used by software developers to protect their work.

Providing physical protection

A physical security solution was introduced in the 1980s in the form of dongle copy protection. Dongles are hardware devices that connect to a computer’s USB or I/O port. They are difficult to duplicate or crack and provide verification that a software product is valid for use.

Dongles are commonly constructed with the following three distinct components.

  1. A custom processor that provides the dongle’s intelligence and functionality. The license credentials required to activate the protected software are stored here.

  2. An interface to connect the device to a computer using its USB, serial, or parallel port.

  3. A device driver to facilitate installation and communication between the dongle and the host computer.

Physically, a USB dongle is very much like a USB flash drive with the addition of a dedicated processor that gives it its necessary functionality.

A robust method of using a dongle with a software application is to have the program authenticate itself multiple times by accessing the device. Poorly implemented protection schemes may only query the dongle when the application is first started, resulting in a single potential source of failure. It is much easier for hackers to manipulate the code to gain unauthorized access to the protected software when only one check is made. A better solution makes multiple checks at various points in the program, not only at startup.

It can often be useful to copy a USB dongle so it can be used on multiple computers simultaneously. Teams may have unlimited access to a software product but only have a limited number of physical dongles available. By creating a virtual copy of a USB security dongle, a team of technicians can use the software at the same time.

Virtual copies of USB copy protection dongles also enable remote users to gain authorization to the protected resource. This can greatly improve productivity and make the protected software more valuable to an organization. With the increased focus on remote work these days, this may be the most important reason for copying a dongle key.

20