Dongle

Kopierschutzstecker, auch Dongles genannt, dienen dazu, Software vor unautorisierter Vervielfältigung zu schützen.
Mit der Software wird beispielsweise ein Kopierschutzstecker ausgeliefert, der auf eine Schnittstelle des Rechners (Parallelport, USB etc.) aufgesteckt wird. Die "gedongelte" Software kontrolliert dann bei Benutzung regelmäßig, ob der Kopierschutzstecker vorhanden ist und verweigert bei Nicht-Vorhandensein den Dienst, oder gibt beispielsweise nur noch eingeschränkt Programmfunktionen frei.
Es sind allerdings auch andere Formen von Hardware-Dongles möglich, z.B. unter Verwendung von Public-Private-Key-Verschlüsselungsverfahren. Hierbei sind dann die spezifischen (verschlüsselten) Dongle-Informationen nicht in einem USB-Stick sondern z.B. im Flash-ROM der Zielplattform enthalten. Zusätzlich gibt es auch Netzwerkvarianten des Dongling, bei denen das Programm im Netzwerk nach einem Lizenzserver sucht, und bei diesem eine Lizenz abbucht oder freigibt. Hierbei erfolgt das Dongling dann z.B. entweder gegen die MAC-Adresse des anfragenden Rechners oder wiederum gegen das gesteckte Hardware-Dongle.
Ein Dongle ist eine der sichersten Kopierschutzmaßnahmen, da der Dongle meist nur unter erheblichem Aufwand kopiert werden kann. Dennoch ist es möglich den Aufruf des Dongles aus der Software zu entfernen oder den Dongle zu simulieren. Gegen die Programmierung eines simulierten Dongle kann sich die Software schützen, indem Abfragen nur in unregelmässigen Abständen ausgeführt werden (beispielsweise nur an ungeraden Tagen im Monat, jeweils zu einer zufälligen Zeit zwischen 9 und 17 Uhr o. ä.). Hierdurch wird die Analyse des Datenstroms und somit die Simulation des Dongles erschwert. Für das Entfernen der Abfragen gilt im Prinzip das gleiche (Verteilung der Abfragen auf möglichst viele Stellen im Programmcode).
Auch psychologisch wird für den Endbenutzer mit einem Dongle einer abstrakten Lizenz ein Stück Hardware und damit etwas greifbares zugeordnet.
Neueste Dongles verwenden Public Keys und verwenden einen secure Tunnel vom Treiber zum Dongle. Mit der PKI kann die Software nun belibe werte Signieren lassen, und diese mit dem Public Key überprüfen. Damit wird eine Simulation des Dongles wie in der Vergangenheit des öfteren geschehen unmöglich. Bei der neuen Donglegeneration gibt es nur noch einen Ansatzpunkt für die Dongleentfernung. Die Applikation muss dekompilert werden, und die Dongleabfragen müssen aus der Applikation entfern werden. Wenn die Applikation aber beispielsweise seine Daten mit dem public Key des Dongles verschlüsselt ablegt, und diese dann beim wieder laden mit Hilfe des Dongles entschlüsselt, muss der Hacker sehr viel aufwand in die Reprogrammierung dieser Funktionien aufwenden. Daher ist die neue Donglegeneration bei gleichzeitig guter implemenation nur noch mit extrem hohen Aufwand hackbar.
Streng genommen verhindert der Kopierschutzstecker nicht das Kopieren der Software selbst, sondern nur, dass der Anwender mehr als die Anzahl der gekauften Lizenzen benutzen kann.
Ursprung des Namens
Seinen Namen hat der Dongle vom Software-Entwickler Don Gall, der den Dongle als Schutzmechanismus erfunden haben soll, nachdem er durch Raubkopierer kein Geld mehr mit seiner Software verdienen konnte. Dies ist allerdings eine Legende, die einer Werbung von Rainbow Technologies aus dem Jahr 1992 entstammt.
Das Wort "Dongle" ist ein englischer Begriff für etwas Unbenanntes (wie auch doodad oder whatchamacallitt), das in den 70er Jahren benutzt wurde. Das American Heritage Dictionary sagt, es sei möglicherweise eine willkürliche Prägung (im Original: "probably [an] arbitrary coinage"). Dieser Version ist wohl mehr Glauben zu schenken.
Der Tech Encyclopedia nach wird das Wort aus dem Begriff "to dangle = hängen" abgeleitet.