
ソフトウェア保護ドングル(一般にドングルまたはキーと呼ばれる)は、電子的なコピー保護およびコンテンツ保護デバイスです。コンピュータやその他の電子機器に接続すると、ソフトウェアの機能を解除したり、コンテンツをデコードしたりします。[ 1 ]ハードウェアキーには、プロダクトキーまたはその他の暗号化保護メカニズムがプログラムされており、コンピュータまたは機器の外部バスへの電気コネクタを介して機能します。 [ 2 ]
ソフトウェア保護において、ドングルは2つのインターフェースを持つセキュリティトークンであり、一時的なデータフローと、ドングルからセキュリティデータを読み取るプル通信を備えています。これらのドングルがない場合、特定のソフトウェアは制限付きモードでしか動作しないか、まったく動作しない可能性があります。ソフトウェア保護に加えて、ドングルは電子機器の機能を有効にすることができ、例えばテレビでエンコードされたビデオストリームを受信および処理することができます。
メリアム・ウェブスター辞典によると、「dongleの最初の使用例は1981 年」で、語源は「おそらく dangle の変化形」であるとされています。[ 3 ]


ドングルは急速に進化し、シリアルトランシーバー(UART)や、ホストとの通信を処理するマイクロプロセッサを内蔵したアクティブデバイスへと発展した。後のバージョンではUSBインターフェースが採用され、シリアルインターフェースやパラレルインターフェースよりも主流となった。
1992年のレインボーテクノロジーズの広告では、ドングルという言葉は「ドン・ガル」という名前から派生したと主張していた。これは事実ではないが、都市伝説を生み出した。[ 4 ]

ドングル型ソフトウェアを一般向けソフトウェア市場に導入しようとする試みは、ユーザーからの強い抵抗に遭っている。このようなコピープロテクションは、CAD/CAMソフトウェア、携帯電話用フラッシャー/JTAGデバッガーソフトウェア、MICROS Systemsのホスピタリティおよび特殊小売ソフトウェア、デジタルオーディオワークステーションアプリケーション、一部の翻訳メモリパッケージなど、非常に高価なパッケージや特定用途向けソフトウェアでより一般的に使用されている。
プリプレスや印刷ソフトウェアなどの場合、ドングルにはユーザーごとの特定のライセンスキーがエンコードされており、対象アプリケーションの特定の機能を有効にします。これは厳密に管理されたライセンスの一形態であり、ベンダーがベンダーロックインを行い、通常よりも高い価格を製品に請求することを可能にします。例として、コダックが顧客にPrinergyのライセンスを供与する方法が挙げられます。コンピュータ・トゥ・プレート出力デバイスが顧客に販売される際、Prinergy独自のライセンス費用は顧客に別途提示され、基本価格にはデバイスへの出力に必要なライセンス費用がわずかに含まれているだけです。
USBドングルは、 Cubase、WaveLab、Hypersonic、HALionなど、 Steinbergのオーディオ制作・編集システムにおいても重要な役割を果たしています。Steinberg製品で使用されるドングルは、Steinberg Keyとも呼ばれています。Steinberg Keyは、対応するアプリケーションとは別に購入することもできますが、通常はMac OS XとWindowsの両方に対応したクロスプラットフォームアプリケーション「Syncrosoft License Control Center」にバンドルされています。
一部のソフトウェア開発者は、ハードウェアのシリアル番号と保存されたデバイスID文字列を併記した従来のUSBフラッシュドライブをソフトウェアライセンスドングルとして使用しています。これらのシリアル番号は、エンドユーザーが簡単に変更できるものではありません。開発者は、このドングルを使用してユーザー設定や、アプリケーションの完全な「ポータブル」バージョンを保存することもできます。ただし、すべてのフラッシュドライブがこの用途に適しているわけではありません。すべてのメーカーがデバイスに固有のシリアル番号を組み込んでいるわけではないためです。
このような中程度のセキュリティは、軽率なハッカーを抑止するかもしれませんが、ドングルにはデータ認証、暗号化/復号化、アクセス不可能なバイナリコードの実行を行うプロセッサコアがないため、このようなパッシブなドングルは、最も低価格なソフトウェア以外には不向きです。より単純で、さらにセキュリティの低い選択肢としては、ドングル内の未分割または未割り当てのストレージを使用してライセンスデータを保存する方法があります。一般的なUSBフラッシュドライブは、専用のセキュリティドングルデバイスに比べて比較的安価ですが、フラッシュドライブ内のデータの読み取りと保存は、傍受、改ざん、回避が容易です。
ドングルとコピー制御ソフトウェア間のプロトコルの実装には、潜在的な弱点が存在する。例えば、単純な実装では、ドングルの存在を確認し、それに応じて「true」または「false」を返す関数を定義するかもしれないが、ソフトウェアを改変して常に「true」を返すようにすれば、ドングルの要件は容易に回避されてしまう。
現代のドングルには強力な暗号化機能が内蔵されており、リバースエンジニアリングを阻止するように設計された製造技術が使用されています。また、一般的なドングルには不揮発性メモリが搭載されており、ソフトウェアの重要な部分が実際にドングル上に保存され、実行されることがあります。このように、ドングルは暗号化された形式でのみ暗号プロセッサに入力できるプログラム命令を実行する安全な暗号プロセッサとなっています。オリジナルの安全な暗号プロセッサは、当時のドングルよりも高いセキュリティを提供するために、パーソナルコンピュータソフトウェアのコピー保護用に設計されました(米国特許第4,168,396号、1979年9月18日参照) [ 5 ] 。バス暗号化も参照してください。
デバイスドライバによってドングルをエミュレートするハードウェアクローニングも、従来のドングルにとって脅威となっています。これを阻止するため、一部のドングルベンダーは、軍事や銀行など、極めて厳格なセキュリティ要件が求められる環境で広く使用されているスマートカード製品を自社のドングル製品に採用しました。
より革新的な最新のドングルは、ソフトウェアベンダーのプログラムコードやライセンス執行に関する暗号化された部分を、安全なハードウェア環境(前述のスマートカードOSなど)に転送するコード移植プロセスを備えて設計されています。ISVは、数千行にも及ぶ重要なコンピュータプログラムコードをドングルに移植することができます。
さらに、ドングルはハードウェアであるため、紛失しやすく破損しやすいという批判もあり、デバイスコストや配送コストなどの運用コストが増加する可能性がある。
ジェリー・パーネルは1988年にドングルに関する別の問題点、つまりセキュリティ上の欠陥の可能性を指摘した。「この装置が何をしているのか分からない…もしかしたら、この装置が私のマシンをウイルスに感染させるかもしれない」[ 6 ]
ゲーム機向けの非公式タイトルの中には(例えば『スーパー3Dノアの箱舟』や『リトル・レッド・フード』など) 、ゲーム機本体に内蔵された認証チップを回避するために、ドングルを使って公式ライセンスのROMカートリッジに接続するものがあった。
GameSharkやAction Replayなどのチートコードツールの中には、ドングルを使用するものがあります。通常、ドングルはシステムのメモリーカードスロットに接続され、ドングルが検出されないとディスクベースのソフトウェアは動作しません。ドングルは、設定や、ユーザーが追加した、または公式アップデートによって追加された新しいコードの保存にも使用されます。これは、読み取り専用のディスクにはこれらの情報を保存できないためです。一部のドングルは、通常のメモリーカードとしても使用できます。