Misplaced Pages

Software protection dongle: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 20:14, 14 February 2004 editDavid Gerard (talk | contribs)Edit filter managers, Administrators213,071 edits more tweaks← Previous edit Revision as of 20:32, 14 February 2004 edit undoDavid Gerard (talk | contribs)Edit filter managers, Administrators213,071 edits more detailNext edit →
Line 9: Line 9:
==History== ==History==


Dongles became common in the ] and into the ]. Originally taking the form of simple passive devices that connected a ] in a predetermined manner, they rapidly evolved into active devices that contained a serial transceiver (]) and even a ] to handle transactions with the host. Later versions adopted the ] interface in preference to the serial interface. ], in ], was the first program to use a dongle. Its dongle was a simple passive devices that connected a ] in a predetermined manner.
Dongles rapidly evolved into active devices that contained a serial transceiver (]) and even a ] to handle transactions with the host. Later versions adopted the ] interface in preference to the ] or parallel interface.


==Problems with dongles== ==Problems with dongles==
Line 29: Line 31:
==Origin of the word "dongle"== ==Origin of the word "dongle"==


The word "dongle," as a word for something unnamed (akin to "doodad" or "whatchamacallit") has been used since the 1970s. Its origin is unknown. The ], 4th edition, says it is "probably arbitrary coinage." Assertions that it was derived from the name "Don Gall" are an ] popularized by an advertising copywriter; see ]'s . The word "dongle," as a word for something unnamed (akin to "doodad" or "whatchamacallit") has been used since the 1970s. Its origin is unknown. The ], 4th edition, says it is "probably arbitrary coinage." Assertions that it was derived from the name "Don Gall" are an ] popularized by a 1992 advertisement for Rainbow Technologies, a dongle vendor.
==See also==

Revision as of 20:32, 14 February 2004

A dongle is a small hardware device that connects to a computer and acts as an authentication key for a particular piece of software. When the dongle is present, the software will run properly; when it is not, the program will run in a restricted mode or refuse to start. Dongles are used by some proprietary vendors as a form of copy protection or digital rights management because it is much harder to copy the dongle than to copy the software it authenticates.

(Dongle also refers to an RJ-45 jack attached via a wire to a small edge connector, which is used to connect an Ethernet cable to a PCMCIA network card, into which the edge connector plugs. This type of dongle has no copy protection purpose. These are falling out of favour as more laptops include a built-in RJ-45 socket.)

Dongles are typically used with very expensive packages and vertical market software, such as CAD/CAM software, Digital Audio Workstation applications and some translation memory packages. Efforts to introduce dongle protection in the mainstream software market have met with stiff resistance from users.

Vendors of dongles and dongle-protected software often use terms such as hardware key or security device in their written literature. In day-to-day use, however, "dongle" is the almost universal term for the device and is used informally even by said vendors.

History

PaperClip, in 1984, was the first program to use a dongle. Its dongle was a simple passive devices that connected a parallel port in a predetermined manner.

Dongles rapidly evolved into active devices that contained a serial transceiver (UART) and even a microprocessor to handle transactions with the host. Later versions adopted the USB interface in preference to the serial or parallel interface.

Problems with dongles

Implementation problems

There is the potential for weaknesses in the implementation of the protocol between the dongle and the protected software. It requires considerable cunning to implement this in a fashion that is not easy to crack. For example, naïve implementations might simply define a function to check for the dongle, returning "true" or "false" accordingly, reducing the protection to a single bit value at one point in the program.

Modern dongles include built-in strong encryption and use fabrication techniques designed to thwart reverse engineering. Typical dongles also now contain non-volatile memory — key parts of the software may actually be stored on the dongle.

User problems

Dongles tie up a port on the host machine. This has been ameliorated to some extent by the adoption of USB, but is still a serious drawback. To get around this, most practical dongles include a replacement port, so as to become an inline device.

In fields where dongle-protected software is common, users often need more than one such application installed on a given computer. Manufacturers claim that multiple dongles can be successfully stacked or daisy-chained, but operational problems with stacked dongles are common. The number of dongles can also become physically problematic.

There is the obvious problem of losing the dongle, rendering the protected software useless until a replacement can be obtained. This is particularly likely if one needs to swap dongles for different applications.

Origin of the word "dongle"

The word "dongle," as a word for something unnamed (akin to "doodad" or "whatchamacallit") has been used since the 1970s. Its origin is unknown. The American Heritage Dictionary, 4th edition, says it is "probably arbitrary coinage." Assertions that it was derived from the name "Don Gall" are an urban myth popularized by a 1992 advertisement for Rainbow Technologies, a dongle vendor.

See also

Jargon File: dongle