<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Software_protection_dongle</id>
	<title>Software protection dongle - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Software_protection_dongle"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Software_protection_dongle&amp;action=history"/>
	<updated>2026-06-25T08:46:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Software_protection_dongle&amp;diff=223032&amp;oldid=prev</id>
		<title>imported&gt;Notdexterslab: Reference edited with ProveIt #proveit Adding/improving reference(s)</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Software_protection_dongle&amp;diff=223032&amp;oldid=prev"/>
		<updated>2025-11-13T02:23:40Z</updated>

		<summary type="html">&lt;p&gt;Reference edited with &lt;a href=&quot;https://en.wikipedia.org/wiki/ProveIt&quot; class=&quot;extiw&quot; title=&quot;wikipedia:ProveIt&quot;&gt;ProveIt&lt;/a&gt; #proveit Adding/improving reference(s)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Electronic software copy protection device}}&lt;br /&gt;
{{more citations needed|date=March 2008}}&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;software protection dongle&amp;#039;&amp;#039;&amp;#039; (commonly known as a &amp;#039;&amp;#039;&amp;#039;dongle&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;key&amp;#039;&amp;#039;&amp;#039;) is an electronic [[copy protection]] and content protection device. When connected to a computer or other electronics, they unlock software functionality or decode [[Content (media)|content]].&amp;lt;ref&amp;gt;{{cite book |last1=Amos |first1=S. W. |url=https://archive.org/details/newnesdictionary0000amos_o3q0 |title=Newnes Dictionary of Electronics |last2=Amos |first2=Roger S. |publisher=[[Newnes Press]] |year=2002 |isbn=0750643315 |edition=4th |page=[https://archive.org/details/newnesdictionary0000amos_o3q0/page/152 152] |oclc=144646016 |url-access=registration |accessdate=4 July 2013}}&amp;lt;/ref&amp;gt; The hardware key is programmed with a [[product key]] or other cryptographic protection mechanism and functions via an electrical connector to an [[external bus]] of the computer or appliance.&amp;lt;ref&amp;gt;{{cite book |last=Stobbs |first=Gregory A. |url=https://books.google.com/books?id=Rn1vZWqSuNYC&amp;amp;pg=SA2-PA90 |title=Software Patents |publisher=[[Wolters Kluwer]] |year=2012 |isbn=9781454811978 |edition=Third |pages=2–90 |oclc=802867781 |accessdate=4 July 2013}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In software protection, dongles are two-interface security tokens with transient data flow with a pull{{clarify|date=January 2021}} communication that reads security data from the dongle. In the absence of these dongles, certain software may run only in a restricted mode, or not at all. In addition to software protection, dongles can enable functions in electronic devices, such as receiving and processing encoded video streams on television sets.&lt;br /&gt;
[[File:Hasp4 lpt dongle.jpg|thumb|HASP (Hardware Against Software Piracy) key dongle for LPT port]]&lt;br /&gt;
&lt;br /&gt;
==Etymology==&lt;br /&gt;
The Merriam-Webster dictionary states that the &amp;quot;First known use of [[dongle]]&amp;quot; was in 1981 and that the etymology was &amp;quot;perhaps [an] alteration of dangle.&amp;quot;&amp;lt;ref&amp;gt;{{cite web |title=Dongle |url=https://www.merriam-webster.com/dictionary/dongle |url-status=live |archive-url=http://web.archive.org/web/20251002030019/https://www.merriam-webster.com/dictionary/dongle |archive-date=2025-10-02 |accessdate=11 June 2019 |publisher=Merriam-Webster}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Parallel-Port-Dongle-Front.jpg|thumb|A Rainbow Tech parallel port dongle PCB, front side. Note the numbers rubbed off the chips to make reverse engineering harder.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Parallel-Port-Dongle-Back.jpg|thumb|A Rainbow Tech parallel port dongle PCB, back side]]&lt;br /&gt;
&lt;br /&gt;
Dongles rapidly evolved into active devices that contained a serial transceiver ([[Universal asynchronous receiver/transmitter|UART]]) and even a [[microprocessor]] to handle transactions with the host. Later versions adopted the [[Universal Serial Bus|USB]] interface, which became the preferred choice over the [[serial port|serial]] or parallel interface.{{Citation needed|date=June 2021}}&lt;br /&gt;
&lt;br /&gt;
A 1992 advertisement for [[Rainbow Technologies]] claimed the word dongle was derived from the name &amp;quot;Don Gall&amp;quot;. Though untrue, this has given rise to an [[urban myth]].&amp;lt;ref&amp;gt;{{Cite magazine |last=Rainbow Technologies |date=August 1992 |title=Why do they call it a dongle? |url=https://archive.org/details/byte-magazine-1992-08/page/n147/mode/2up |access-date=12 November 2025 |magazine=Byte Magazine |page=133 |language=English |volume=17 |issue=8}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
[[Image:Parallel-port-dongle.jpg|thumb|[[Daisy chain (electrical engineering)|Daisy-chained]] parallel port copy protection dongles.]]&lt;br /&gt;
Efforts to introduce dongle copy-protection in the mainstream software market have met stiff resistance from users. Such copy-protection is more typically used with very expensive packages and [[vertical market]] software such as [[Computer-aided design|CAD]]/[[Computer-aided manufacturing|CAM]] software, [[JTAG|cellphone flasher/JTAG debugger software]], [[MICROS Systems]] hospitality and special retail software, [[digital audio workstation]] applications, and some [[translation memory]] packages.&lt;br /&gt;
&lt;br /&gt;
In cases such as prepress and printing software, the dongle is encoded with a specific, per-user license key, which enables particular features in the target application. This is a form of tightly controlled licensing, which allows the vendor to engage in vendor lock-in and charge more than it would otherwise for the product. An example is the way [[Kodak]] licenses [[Prinergy]] to customers: When a [[Computer to plate|computer-to-plate]] output device is sold to a customer, Prinergy&amp;#039;s own license cost is provided separately to the customer, and the base price contains little more than the required licenses to output work to the device.&lt;br /&gt;
&lt;br /&gt;
USB dongles are also a big part of [[Steinberg]]&amp;#039;s audio production and editing systems, such as [[Steinberg Cubase|Cubase]], WaveLab, Hypersonic, [[HALion]], and others. The dongle used by Steinberg&amp;#039;s products is also known as a Steinberg Key. The Steinberg Key can be purchased separately from its counterpart applications and generally comes bundled with the &amp;quot;Syncrosoft License Control Center&amp;quot; application, which is cross-platform compatible with both Mac OS X and Windows.&lt;br /&gt;
&lt;br /&gt;
Some software developers use traditional USB flash drives as software license dongles that contain hardware serial numbers in conjunction with the stored device ID strings, which are generally not easily changed by an end-user. A developer can also use the dongle to store user settings or even a complete &amp;quot;portable&amp;quot; version of the application. Not all flash drives are suitable for this use, as not all manufacturers install unique serial numbers into their devices.&lt;br /&gt;
&lt;br /&gt;
Although such medium security may deter a casual hacker, the lack of a processor core in the dongle to authenticate data, perform encryption/decryption, and execute inaccessible binary code makes such a passive dongle inappropriate for all but the lowest-priced software.  A simpler and even less secure option is to use unpartitioned or unallocated storage in the dongle to store license data. Common USB flash drives are relatively inexpensive compared to dedicated security dongle devices, but reading and storing data in a flash drive are easy to intercept, alter, and bypass.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
There are potential weaknesses in the implementation of the protocol between the dongle and the copy-controlled software. For example, a simple implementation might define a [[subprogram|function]] to check for the dongle&amp;#039;s presence, returning &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot; accordingly, but the dongle requirement can be easily circumvented by modifying the software to always answer &amp;quot;true&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Modern dongles include built-in strong encryption and use fabrication techniques designed to thwart [[reverse engineering]]. Typical dongles also now contain [[non-volatile storage|non-volatile memory]] &amp;amp;mdash; essential parts of the software may actually be stored and executed on the dongle.  Thus dongles have become [[secure cryptoprocessor]]s that execute program instructions that may be input to the cryptoprocessor only in encrypted form.  The original secure cryptoprocessor was designed for copy protection of personal computer software (see US Patent 4,168,396, Sept 18, 1979)&amp;lt;ref&amp;gt;{{Cite web |last=Best |first=Robert M. |orig-date=1977-10-31 |title=US4168396A: Microprocessor for executing enciphered programs |url=https://patents.google.com/patent/US4168396 |url-status=live}}&amp;lt;/ref&amp;gt;to provide more security than dongles could then provide. See also [[bus encryption]].&lt;br /&gt;
&lt;br /&gt;
Hardware cloning, where the dongle is emulated by a device driver, is also a threat to traditional dongles. To thwart this, some dongle vendors adopted [[smart card product]], which is widely used in extremely rigid security requirement environments such as military and banking, in their dongle products.&lt;br /&gt;
&lt;br /&gt;
A more innovative modern dongle is designed with a [[code porting]] process which transfers encrypted parts of the software vendor&amp;#039;s program code or license enforcement into a secure hardware environment (such as in a smart card OS, mentioned above). An [[Independent software vendor|ISV]] can port thousands of lines of important [[computer program]] code into the dongle.{{citation needed|date=December 2012}}&lt;br /&gt;
&lt;br /&gt;
In addition, dongles have been criticized because as they are [[Computer hardware|hardware]], they are easily lost and prone to damage, potentially increasing operational costs such as device cost and delivery cost.&lt;br /&gt;
&lt;br /&gt;
[[Jerry Pournelle]] in 1988 identified another problem with dongles: A possible security flaw. &amp;quot;I don&amp;#039;t know what the thing is doing ... For all I know, the gizmo may infect my machine with a [[computer virus|virus]]&amp;quot;.&amp;lt;ref name=&amp;quot;pournelle198807&amp;quot;&amp;gt;{{Cite magazine |last=Pournelle |first=Jerry |date=July 1988 |title=Dr. Pournelle vs. The Virus |url=https://archive.org/details/byte-1988-07_202104/page/197/mode/1up?view=theater |access-date=2025-04-12 |magazine=BYTE |pages=197-207}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Game consoles==&lt;br /&gt;
Some unlicensed titles for [[game console]]s (such as &amp;#039;&amp;#039;[[Super 3D Noah&amp;#039;s Ark]]&amp;#039;&amp;#039; or &amp;#039;&amp;#039;[[Little Red Hood]]&amp;#039;&amp;#039;) used dongles to connect to officially licensed [[ROM cartridge]]s, in order to circumvent the authentication chip embedded in the console.{{citation needed|date=March 2012}}&lt;br /&gt;
&lt;br /&gt;
Some [[cheat code]] devices, such as the [[GameShark]] and [[Action Replay]] use a dongle. Typically it attaches to the memory card slot of the system, with the disc based software refusing to work if the dongle is not detected. The dongle is also used for holding settings and storage of new codes, added either by the user or through official updates, because the disc, being read only, cannot store them. Some dongles will also double as normal memory cards.{{citation needed|date=March 2012}}&lt;br /&gt;
&lt;br /&gt;
==Further reading==&lt;br /&gt;
* {{Cite journal |last=Jozwiak |first=Ireneusz J. |last2=Marczak |first2=Krzysztof |date=2007 |title=A Hardware-Based Software Protection Systems - Analysis of Security Dongles with Time Meters |url=https://ieeexplore.ieee.org/document/4272917/ |journal=2nd International Conference on Dependability of Computer Systems (DepCoS-RELCOMEX &amp;#039;07) |publisher=[[IEEE]] |pages=254–261 |doi=10.1109/DEPCOS-RELCOMEX.2007.6 |isbn=0-7695-2850-3 |url-access=subscription |access-date=2025-11-12 |via=IEEEXplore}}&lt;br /&gt;
* {{Cite journal |last=Piazzalunga |first=Ugo |last2=Salvaneschi |first2=Paolo |last3=Balducci |first3=Francesco |last4=Jacomuzzi |first4=Pablo |last5=Moroncelli |first5=Cristiano |date=2007 |title=Security Strength Measurement for Dongle-Protected Software |url=https://ieeexplore.ieee.org/document/4402444/ |journal=IEEE Security &amp;amp; Privacy |volume=5 |issue=6 |pages=32–40 |doi=10.1109/MSP.2007.176 |issn=1558-4046 |url-access=subscription}}&lt;br /&gt;
* {{Cite conference |last=Wang |first=Ruoyu |last2=Shoshitaishvili |first2=Yan |last3=Kruegel |first3=Christopher |last4=Vigna |first4=Giovanni |date=2013 |title=Steal This Movie: Automatically Bypassing {DRM} Protection in Streaming Media Services |url=https://www.usenix.org/conference/usenixsecurity13/technical-sessions/paper/wang_ruoyu |conference=22nd USENIX Security Symposium |language=en |pages=687–702 |isbn=978-1-931971-03-4 |via=usenix.org}}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Digital rights management]]&lt;br /&gt;
* [[License manager]]&lt;br /&gt;
* [[Lock-out chip]]&lt;br /&gt;
* [[Product activation]]&lt;br /&gt;
* [[Security token]]&lt;br /&gt;
* [[Trusted client]]&lt;br /&gt;
* [[Software monetization]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://www.catb.org/~esr/jargon/html/D/dongle.html Jargon File: dongle]&lt;br /&gt;
&lt;br /&gt;
{{Software distribution}}&lt;br /&gt;
{{Authority control}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Dongle, software protection}}&lt;br /&gt;
[[Category:Copyright infringement of software]]&lt;br /&gt;
[[Category:Copy protection]]&lt;br /&gt;
[[Category:Digital rights management]]&lt;br /&gt;
[[Category:Proprietary hardware]]&lt;br /&gt;
[[Category:Software licensing]]&lt;br /&gt;
[[Category:Warez]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Notdexterslab</name></author>
	</entry>
</feed>