HOME  |  SLIDE EDITOR  |  DONGLE MASTER  |  VOICE TRAINER  |  KAEDE CMS  |  CONTACT  |  BBS  | 

ドングルマスター

ドングルマスターとは

ソフトウェアの不正利用を防止のためにコンピュータに取り付ける小型の装置のことをドングルといいます。コンピュータのソフトウェアは認証されたドングルが装着されているかどうかを検知して、装着されていなければ実行を中止したり機能を制限することなどが可能です。ドングルマスターは市販のUSBメモリーをこのようなドングルとして利用するための手段を提供するものです。
ドングルマスターは5000円のシェアウェアです。購入方法はFAQをご覧下さい。

変更履歴

Ver1.02009/10/15最初のバージョンをリリースしました。
Ver1.12011/02/06一部のPCでドングル検証が不具合になるのを修正しました。
Ver1.22011/12/24ドングル検証用DLLをVB6やEXCEL等のVBAからも利用できるようにしました。
ドングル検証用DLLに改竄防止用のアセンブリ署名を付加しました。
シリアル番号通知ツールの「このダイアログについて」の内容を設定できるようにしました。
ドングル作成履歴ファイルの名前をdongle_history.txtに変更しました。

(注)自作のアプリケーションから新しいバージョンのドングル検証用DLLを使用する場合は、アプリレーションをリビルドして下さい。

ドングルマスターの特徴

ドングルマスターは市販のUSBメモリーを次の二つの方式でドングルとして利用できるようにします。特に認証ファイル送付方式が簡単に行えることが、ドングルマスターの特徴です。

@ドングル作成方式

ドングル作成方式とは、ソフトウェア提供者がUSBメモリーでドングルを作成して、それをソフトウェア利用者に提供する方法です。この方法は簡単で分かりやすいのですが、ソフトウェア提供者側でUSBメモリーの用意する必要があり、また作成したドングルを物として実際に利用者に渡す手間が必要となります。また利用者側とすれば、複数のソフトウェアを利用する場合にソフトウェア毎にドングルが必要となります。

A認証ファイル送付方式

認証ファイル送付方式とは、ソフトウェア利用者が持っているUSBメモリーをドングルとして利用する方法です。この方法は利用者に対して認証ファイルを送付して、それを利用者の持つUSBメモリーに格納してもらうだけでドングルとして利用できるようにします。この方法の利点はハードウェアを送付することなく、インターネット上でのファイルの送付だけで手続きが済んでしまうことです。また利用者側では一つのUSBメモリーに複数のソフトウェアの認証ファイルを格納することにより、一つのUSBメモリーで複数のソフトウェアに対応できるようになります。
ドングルマスターはこの仕組みが簡単に利用できるように工夫されています。

このページのトップへ PageTop

ドングルマスターの原理

USBメモリーをドングルにする原理は難しいものではありません。一般的にUSBメモリーは固有のシリアル番号を持っています。これは製造時に付けられるもので変えることはできません。ソフトウェア提供者はUSBメモリーの特定のシリアル番号に対してのみソフトウェアの利用許可を与えます。そのために、このシリアル番号が許可された番号であることを証明する認証ファイルを発行します。認証ファイルはUSBメモリーの中に保存され、ソフトウェア実行時にシリアル番号と認証ファイルの内容が合っているかを照合して、実行の可否を判断します。
ここで問題なのは、シリアル番号はUSBメモリー固有なので変えることはできませんが、認証ファイルは簡単に作成したり改竄することができることです。ドングルマスターではこれらの問題に対処するために公開鍵暗号方式という暗号技術を利用したデジタル署名の技術を用いて、認証ファイルの改竄防止を行い、ソフトウェアの不正利用を防止しています。

このページのトップへ PageTop

公開鍵暗号方式とは

公開鍵暗号方式とは、データを暗号化復号化するための一つの技術です。データの暗号化とは元のデータを判読不能なデータに変換することで、復号化とは暗号化されたデータを元に戻すことです。
データを暗号化する場合は、秘密のキーを用いて暗号化し、また同じ秘密のキーを用いて復号化する方法があります。この方法を秘密鍵暗号方式とといい、秘密キーを持っている人だけが暗号化および復号化ができます。
一方、データの暗号化に使うキーと復号化に使うキーを別のものにする方法もあります。この場合一つのキーは秘密ですが、もう一つのキーを公開することができます。この方式を公開鍵暗号方式といいます。暗号化と復号化には秘密キーと公開キーまたは公開キーと秘密キーのどちらの組合せも使用できます。
暗号化に公開キーを用い復号化に秘密キーを用いる場合は、誰でもがデータを暗号化できますが、復号化できるのは秘密キーを持った人だけになります。特定の人だけにデータの利用を許可したい場合に用いられます。
反対に暗号化に秘密キーを用い復号化に公開キーを用いる場合は、暗号化できるのは秘密キーを持つ人だけですが、だれでもが復号化できるようになります。暗号化に秘密キーを用い復号化に公開キーを用いる方式はデジタル署名に利用されます。すなわち暗号化できるのは秘密キーを持った人だけですから、暗号化されたデータを誰が作ったかを証明することができるのです。ドングルマスターでは暗号化に秘密キーを用い復号化に公開キーを用いる方式を利用しています。

このページのトップへ PageTop

認証の流れ

ドングルマスターでの認証の流れは次の通りです

  • @ソフトウェア提供者はドングルにしたいUSBメモリーのシリアル番号をソフトウェア提供者だけが知る秘密キーを用いて暗号化します。
  • A暗号化されたシリアル番号をファイルに記録し認証ファイルを作ります。
  • B認証ファイルをUSBメモリに格納します。これでこのUSBメモリはドングルになります。
  • Cソフトウェア提供者はソフトウェアとともにこのドングルをソフトウェア利用者に渡します。
  • Dソフトウェア利用者はソフトウェアを利用するときにこのドングルをコンピュータのUSBに挿入します。
  • Eソフトゥエアを実行するとソフトウェアはドングルに保存されている認証ファイルを読み、暗号化されたシリアル番号をソフトウェア中に書かれている公開キーを用いて復号化します。
  • Fソフトウェアは復号化したシリアル番号とドングルの実際のシリアル番号とが一致するかを確認します。
  • G一致すれば正しいドングルと認証してソフトウェアを実行し、一致しなければ実行を停止する等の処置を行います。

このようにシリアル番号の暗号化にはソフトウェア提供者だけが知る秘密キーを用いますので、公開キーで復号化できる認証ファイルはソフトウェア提供者しか作れません。
また、復号化するためのキーはソフトウェアに書かれているのでリバースエンジニアリング等により知ることができますが、このキーは公開キーなので知られても問題ありません。

このページのトップへ PageTop