説明

不揮発性補助記憶媒体を用いたソフトウェアのライセンス管理技法

【課題】ライセンスを所有しないユーザの違法使用を抑止する。
【解決手段】ユーザには商品プログラムとともに、商品専用の補助記憶媒体1を提供する。ユーザは商品プログラムの初回起動時に、補助記憶媒体1を装着し、認証手続きを行なう。起動された商品プログラム自身が認証処理を行なう。商品プログラムは、補助記憶媒体1に記録されている割当可能ライセンス数に空きがある場合、当該パソコンにライセンスを付与する。このライセンス認証により、商品プログラムが使用可能となる。また運用するパソコンを変更する場合、ユーザ自身が運用中パソコン上で認証解除プログラム6を起動し、認証解除手続きを行なう。この結果、当該パソコンで商品プログラムは使用できなくなる、また補助記憶媒体1中の割当可能ライセンス数に1つ空きが生じる。その後ユーザは、新しい運用パソコン上で、新たに認証手続きを行なう。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パーソナルコンピュータにおけるプログラム使用権の管理方式に関するものである。
以下、パーソナルコンピュータをパソコン、プログラム使用権をライセンスと呼称するものとする。
【0002】
本発明は、商用プログラムにおいて、ライセンスを所有しないユーザの違法使用を抑止するものである。
また本発明は、ライセンス数範囲内で使用パソコンの変更を可能とするものである。
【背景技術】
【0003】
従来、商用プログラムは、プログラムの複写により、または複数PCへの多重インストールにより、ライセンスを所有しないユーザの使用を許してしまう場合が多くあった。
プロダクトID入力方式によるライセンス制約も、プロダクトID自体の漏洩により、違法使用を許してしまう場合が多くあった。
【0004】
複数ライセンス契約の商用プログラムの場合に、ライセンス数を超過した使用を許してしまう場合が多くあった。
【0005】
使用するパソコンを限定してしまう認証方式の場合、商用プログラムを運用するパソコンの変更が困難である場合が多かった。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許公開2002−312326
【特許文献2】特許公開2006−059175
【特許文献3】特許公開2006−146358
【特許文献4】特許公開2009−199215
【非特許文献】
【0007】
【非特許文献1】舩本昇竜著「プロテクト技術解剖学」すばる舎2002年
【非特許文献2】インターフェース編集部著「USBハード&ソフト開発のすべて」CQ出版 2006年
【非特許文献3】安部惠一著「USB2.インターフェース設計術」電波新聞社2008年
【発明の概要】
【発明が解決しようとする課題】
【0008】
ライセンス数が1の商用プログラムの場合、1台のパソコンでしか使用できないようにする。
【0009】
複数ライセンス契約の商用プログラムの場合、ライセンス数範囲内のパソコン台数でしか使用できないようにする。
【0010】
運用するパソコンを変更する場合、ユーザの操作で、運用パソコンを変更可能とする。
【課題を解決するための手段】
【0011】
(イ)
本発明においては、不揮発性の補助記憶媒体をライセンス管理用の記憶媒体として使用する。
以下、不揮発性の補助記憶媒体(USBメモリ、メモリスティック等フラッシュメモリを内蔵した記憶媒体)を補助記憶媒体と呼称する。
(ロ)
補助記憶媒体には下記のライセンス管理情報を格納しておく。
・商品識別子情報(商品単位の識別情報)
・契約ライセンス数(>0)
・使用中ライセンス数(=0)
これらライセンス管理情報を暗号化して格納しておく。
(ハ)
上記(ロ)のライセンス管理情報登録済みの補助記憶媒体を予め作成しておく。
本補助記憶媒体を商品プログラムと一緒にユーザに提供する。
【0012】
(イ)
ユーザは商品プログラムをパソコンにインストールする。
ユーザはインストールした商品プログラムを起動する。
(ロ)
商品プログラムは、当該パソコンのハードディスク内に認証情報が存在すれば、認証済みとして、商品プログラム本来の処理に制御を移す。
認証情報が存在しない場合には、ユーザに商品添付の補助記憶媒体の装着を促す。
(ハ)
商品プログラムは、補助記憶媒体内ライセンス管理情報の商品識別子情報を調べ、商品用補助記憶媒体であることを確認する。
(ニ)
商品プログラムは、補助記憶媒体内ライセンス管理情報が、使用中ライセンス数<契約ライセンス数であることを確認する。
使用中ライセンス数≧契約ライセンス数の場合にはエラーとする。
(ホ)
商品プログラムは、補助記憶媒体のライセンス管理情報の使用中ライセンス数を+1更新する。
商品プログラムは、パソコン内ハードディスクに、認証情報を格納する。
(ヘ)
ユーザが商品添付の正規な補助記憶媒体を所有していない場合、商品プログラムを何度起動しても、商品添付の補助記憶媒体の装着を促す。つまり正規の補助記憶媒体を所有していない場合には、商品プログラムを使用することができない。
(ト)
使用中ライセンス数≧契約ライセンス数の場合には、ライセンス数超過エラーとなり、商品プログラムを認証できない。
【0013】
運用パソコンを変更する場合、現行PCを旧PC、変更先PCを新PCとして、以下に説明する。
(イ)
ユーザは、旧PCから商品プログラムをアンインストールする。
(ロ)
ユーザは、旧PCに補助記憶媒体を装着し、認証解除プログラムを起動する。
(ハ)
認証解除プログラムは、旧PCのハードディスク内の認証情報を削除する。
(ニ)
認証解除プログラムは、旧PCの補助記憶媒体内ライセンス管理情報を削除する
(ホ)
認証解除プログラムは、補助記憶媒体のライセンス管理情報の使用中ライセンス数を−1更新する。以上の手続きで、旧PCの認証が解除され、使用中ライセンス数が一つ空く。
(ヘ)
ユーザは、新PCに対し[0012](イ)〜(ホ)の手続きを行なう。
【発明の効果】
【0014】
ライセンス数が1の商用プログラムの場合、1台のパソコンでしか使用できないようになる。
【0015】
複数ライセンス契約の商用プログラムの場合、ライセンス数範囲内のパソコン台数でしか使用できないようになる。
【0016】
ユーザの操作で、運用するパソコンを変更可能となる。
【実施例】
以下、補助記憶媒体にUSBメモリ(1)を使用した場合の実施例を説明する。
【0017】
USBメモリ(1)の作成方法を以下に説明する。これはソフトウェア開発会社もしくは提供会社の作業である。
(イ)USBメモリ(1)をフォーマット初期化する。
(ロ)USBメモリ(1)のUSBボリューム名(4)に商品を識別するユニークな商品識別名称を登録する。
(ハ)USBメモリ(1)内にライセンス管理簿(5)を書き込む。
商品ライセンス数(7)は当該顧客への販売ライセンス数とする。
使用中ライセンス数(8)は0とする。
ライセンス管理簿(5)は暗号化ファイルしてUSBメモリ(1)内に保持するものとする。
(ニ)USBメモリ(1)をアプリケーション・プログラム(13)と一緒に顧客に提供する
【0018】
アプリケーション・プログラム(13)の初回起動時の動作を以下に説明する。
(イ)ユーザは、アプリケーション・プログラム(13)をインストールする。
(ロ)ユーザは、インストールしたアプリケーション・プログラム(13)を起動する。
(ハ)アプリケーション・プログラム(13)は、起動直後、最初に認証プログラム(14)を呼び出す。
この時アプリケーション・プログラム(13)は、商品識別名称を、認証プログラム(14)に通知する。
(ニ)認証プログラム(14)は、PC内認証情報データ(15)の存在有無を調べる。
PC内認証情報データ(15)が存在しない場合は、初回起動と判定し(ホ)へ。
初回起動時には、PC内認証情報データ(15)が存在する。
PC内認証情報データ(15)が存在する場合は、認証済みと判定し(ワ)へ。
(ホ)認証プログラム(14)は、商品用USBメモリ(1)の装着を促す。
ユーザは[0017]で作成された商品添付のUSBメモリ(1)を装着する。
(ヘ)認証プログラム(14)は、USBメモリ(1)のUSBボリューム名(4)を取得し、商品識別名称と一致するかを判定する。
USBボリューム名(4)が一致する場合には(ト)へ。
USBボリューム名(4)が異なる場合には(ホ)へ戻る。
(ト)認証プログラム(14)は、使用中ライセンス数(8)が商品ライセンス数(7)よりも小さい場合に、認証可能と判定する。
使用中ライセンス数(8)が、商品ライセンス数(7)と等しいもしくは大きい場合には、ライセンス数超過エラーを表示する、(カ)へ。
(チ)認証プログラム(14)は、当該PCの識別情報(MACアドレス)を取得する。
(リ)認証プログラム(14)は、取得したPC識別情報(MACアドレス)(9)で、USBメモリ(1)内ライセンス管理簿(5)を走査する。
USBメモリ(1)内ライセンス管理簿(5)に存在する場合、認証済みと判定し(ワ)へ。
(ヌ)認証プログラム(14)は、USBメモリ(1)内ライセンス管理簿(5)に下記情報を追加登録する。
・PC識別情報(MACアドレス)(9)
・アプリケーションインストールパス情報(10)
(ル)認証プログラム(14)は、USBメモリ(1)内ライセンス管理簿(5)の使用ライセンス数を+1更新する。
(ヲ)認証プログラム(14)は、ハードディスク(12)にPC内認証情報データ(15)を格納する。
(ワ)認証プログラム(14)は、終了情報=認証正常とする、(ヨ)へ
(カ)認証プログラム(14)は、終了情報=認証エラーとする、(ヨ)へ
(ヨ)認証プログラム(14)は、アプリケーション・プログラム(13)に終了情報を通知し、アプリケーション・プログラム(13)に制御を戻す。
(タ)アプリケーション・プログラム(13)は、認証プログラム(14)から、認証エラー通知時に、処理を強制終了する。
アプリケーション・プログラム(13)は、認証プログラム(14)から、認証完了通知時には、処理を継続させる。
【0019】
アプリケーション・プログラム(13)の二回目以降の起動動作を以下に説明する。
(イ)アプリケーション・プログラム(13)は、起動直後、最初に認証プログラム(14)を呼び出す。
この時アプリケーション・プログラム(13)は、商品識別名称を、認証プログラム(14)に通知する。
(ロ)認証プログラム(14)は、PC内認証情報データ(15)が存在有無を調べる。
存在しない場合[0018](ホ)以降の処理を実行する。
(ハ)認証プログラム(14)は、アプリケーション・プログラム(13)に認証完了を通知し、アプリケーション・プログラム(13)に制御を戻す。
【0020】
PC間でライセンスを移行する場合の手続きを以下に説明する。
旧PC(16)と新PC(17)の2台のPCが存在するものとする。
旧PC(16)にはアプリケーション・プログラム(13)をインストール済み、ライセンス付与済みであるものとする。
旧PC(16)から新PC(17)へライセンスを移行するものとして、その手続きを以下に説明する。
(イ)ユーザは、アプリケーション・プログラム(13)をアンインストールする。
(ロ)ユーザは、旧PC(16)にUSBメモリ(1)を装着し、USBメモリ(1)内の認証解除プログラム(6)を起動する。
(ハ)認証解除プログラム(6)は、自身が動作している旧PC(16)の識別情報(MACアドレス)を取得する。
(ニ)認証解除プログラム(6)は、取得したPC識別情報(MACアドレス)(9)で、USBメモリ(1)内ライセンス管理簿(5)を走査する。
PC識別情報(MACアドレス)(9)が一致するデータがあれば(ホ)へ。
PC識別情報(MACアドレス)(9)が一致するデータがなければ、認証解除プログラム(6)は、未認証エラーを表示し処理を終了する。
(ホ)認証解除プログラム(6)は、PC識別情報(MACアドレス)(9)が一致するデータのアプリケーションインストールパス情報(10)データを用い、旧PC(16)のアプリケーション・プログラム(13)がアンインストール済みであるかを調べる。
アンインストール済みの場合には(ヘ)へ。
アンインストールされていない場合、認証解除プログラム(6)は、アンインストール督促エラーを表示し終了する。
(ヘ)認証解除プログラム(6)は、旧PC(16)内の「PC内認証情報データ(15)」を削除する。
(ト)認証解除プログラム(6)は、USBメモリ(1)内ライセンス管理簿(5)から、旧PC(16)の情報を削除する。
(チ)認証解除プログラム(6)は、USBメモリ(1)内ライセンス管理簿(5)の使用ライセンス数を−1減算更新する。
(リ)認証解除プログラム(6)は、認証解除完了を表示し、処理を終了する。
これでUSBメモリ(1)内ライセンス管理簿(5)のライセンス数が一つ空きが生じる。
(ヌ)ユーザは、新PC(17)に対し[0018]のインストールおよび認証操作を行なう。これで新PC(17)にライセンスが付与される。
【図面の簡単な説明】
【0021】
【図1】USBメモリの構成
【図2】ライセンス管理簿の構成
【図3】PCの構成
【図4】アプリケーションの初回起動処理フロー
【図5】アプリケーションの二回目以降の起動処理フロー
【図6】PC間ライセンス移行手続き
【図7】PC間ライセンス移行処理フロー
【符号の説明】
【0022】
(1)USBメモリ
(2)コントローラチップ
(3)フラッシュメモリ
(4)USBボリューム名
(5)ライセンス管理簿
(6)認証解除プログラム
(7)商品ライセンス数
(8)使用中ライセンス数
(9)PC識別情報(MACアドレス)
(10)アプリケーションインストールパス情報
(11)PC
(12)ハードディスク
(13)アプリケーション・プログラム
(14)認証プログラム
(15)PC内認証情報データ
(16)旧PC
(17)新PC

【特許請求の範囲】
【請求項1】
下述するライセンス認証方式とそのアルゴリズム。
認証用情報が記録されている不揮発性補助記憶媒体と、認証用情報を内蔵したプログラムを用意する。
プログラムは実行時に同媒体から認証用情報を読み出し、プログラムに内蔵されている認証用情報と照合する。一致する場合にはプログラムの使用権(以下、ライセンス)を付与する。
ライセンスを付与した場合には、ライセンス情報を当該電子計算機の固定記憶装置に記録する。
プログラムは、毎回起動時に、ライセンス情報の存在を調べる。
ライセンス情報が存在する場合、プログラムは通常処理を実行する。
ライセンス情報が存在しない場合、プログラムは上記認証処理を試みる、認証失敗時は終了する。
【請求項2】
[請求項1]に加え、下述するライセンス数管理方式とそのアルゴリズム。
ライセンス数現在値(初期値=0)とライセンス数最大値が記録されている不揮発性補助記憶媒体を用意する。
プログラムは実行時に同媒体からライセンス数情報を読み出し、ライセンス数現在値<ライセンス数最大値の場合、ライセンスを付与する。
ライセンス数現在値≧ライセンス数最大値の場合、ライセンスを付与しない。
ライセンスを付与した場合には、同媒体中のライセンス数現在値を+1更新する。
ライセンス数最大値=1の場合も有効とする。
【請求項3】
[請求項2]に加え、下述するライセンス認証解除方式とそのアルゴリズム。
認証解除プログラムを用意する。
認証解除プログラムが起動されると、認証解除プログラムは、当該電子計算機の固定記憶装置のライセンス情報を削除し、補助記憶媒体のライセンス数現在値を−1更新する。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−248849(P2011−248849A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−132431(P2010−132431)
【出願日】平成22年5月25日(2010.5.25)
【出願人】(510161679)株式会社セイショウシステムテクノロジー (1)
【Fターム(参考)】