Revision as of 22:32, 1 November 2004 edit62.74.3.199 (talk) →Origin of the word "dongle"← Previous edit | Revision as of 20:13, 8 November 2004 edit undoPsychonaut (talk | contribs)Extended confirmed users, Pending changes reviewers31,686 editsm NPOVNext edit → | ||
Line 1: | Line 1: | ||
A '''dongle''' is a small hardware device that connects to a ] and acts as an authentication key for a particular piece of ]. 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 ] vendors as a form of ] or ] because it is much harder to copy the dongle than to copy the software it authenticates. | A '''dongle''' is a small hardware device that connects to a ] and acts as an authentication key for a particular piece of ]. 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 ] vendors as a form of ] or ] because it is much harder to copy the dongle than to copy the software it authenticates. | ||
] | ] | ||
:'''Dongle''' can also be used to refer to: | :'''Dongle''' can also be used to refer to: | ||
*A ] wired to a small edge connector on a Type I or II ] card, typically an ] or ] jack for an ] or ] cable. This type of dongle has no copy |
*A ] wired to a small edge connector on a Type I or II ] card, typically an ] or ] jack for an ] or ] cable. This type of dongle has no copy prevention purpose. PCMCIA card dongles are notoriously fragile and unreliable. They are falling out of favour as more ]s include built-in Ethernet and modem sockets. | ||
*A simple, contained ] device, such as a portable ] card or a ] antenna. | *A simple, contained ] device, such as a portable ] card or a ] antenna. | ||
Dongles are typically used with very expensive packages and ] software, such as ]/] software, ] applications and some ] packages. Efforts to introduce dongle |
Dongles are typically used with very expensive packages and ] software, such as ]/] software, ] applications and some ] packages. Efforts to introduce dongle copy prevention in the mainstream software market have met with stiff resistance from users. | ||
Vendors of dongles and dongle- |
Vendors of dongles and dongle-controlled 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== | ==History== | ||
Line 21: | Line 21: | ||
===Implementation problems=== | ===Implementation problems=== | ||
] | ] | ||
There is the potential for weaknesses in the implementation of the ] between the dongle and the |
There is the potential for weaknesses in the implementation of the ] between the dongle and the copy-controlled software. It requires considerable cunning to implement this in a fashion that is not easy to ]. For example, naïve implementations might simply define a ] to check for the dongle, returning "true" or "false" accordingly, reducing the prevention scheme to a single ] value at one point in the program. | ||
Modern dongles include built-in strong ] and use fabrication techniques designed to thwart ]. Typical dongles also now contain ] — key parts of the software may actually be stored on the dongle. | Modern dongles include built-in strong ] and use fabrication techniques designed to thwart ]. Typical dongles also now contain ] — key parts of the software may actually be stored on the dongle. | ||
Line 31: | Line 31: | ||
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. | 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- |
In fields where dongle-controlled 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 |
There is the obvious problem of losing the dongle, rendering the copy-controlled 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"== | ==Origin of the word "dongle"== |
Revision as of 20:13, 8 November 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 prevention or digital rights management because it is much harder to copy the dongle than to copy the software it authenticates.
- Dongle can also be used to refer to:
- A jack wired to a small edge connector on a Type I or II PCMCIA card, typically an RJ45 or RJ11 jack for an Ethernet or telephone cable. This type of dongle has no copy prevention purpose. PCMCIA card dongles are notoriously fragile and unreliable. They are falling out of favour as more laptops include built-in Ethernet and modem sockets.
- A simple, contained USB device, such as a portable flash memory card or a Bluetooth antenna.
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 copy prevention in the mainstream software market have met with stiff resistance from users.
Vendors of dongles and dongle-controlled 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 device that connected the pins of 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 copy-controlled 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 prevention scheme 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-controlled 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 copy-controlled 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." Claims that it was derived from the name "Don Gall" are an urban myth popularized by a 1992 advertisement for Rainbow Technologies, a dongle vendor.