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 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 protection 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 ] 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 protection in the mainstream software market have met with stiff resistance from users. 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-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. 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 protected 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 protection to a single ] value at one point in the program. 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-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. 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 protected software useless until a replacement can be obtained. This is particularly likely if one needs to swap dongles for different applications. 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.

A PCMCIA network card dongle
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

File:Serial-port-dongle.jpg
Chained parallel port copy prevention dongles.

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.

See also