JP3444227B2 - ソフトウェアの不正使用防止方法 - Google Patents

ソフトウェアの不正使用防止方法

Info

Publication number
JP3444227B2
JP3444227B2 JP10236899A JP10236899A JP3444227B2 JP 3444227 B2 JP3444227 B2 JP 3444227B2 JP 10236899 A JP10236899 A JP 10236899A JP 10236899 A JP10236899 A JP 10236899A JP 3444227 B2 JP3444227 B2 JP 3444227B2
Authority
JP
Japan
Prior art keywords
software
computer
registration information
user
decryption key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP10236899A
Other languages
English (en)
Other versions
JP2000293368A (ja
Inventor
三雅 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP10236899A priority Critical patent/JP3444227B2/ja
Priority to US09/545,567 priority patent/US6735768B1/en
Publication of JP2000293368A publication Critical patent/JP2000293368A/ja
Application granted granted Critical
Publication of JP3444227B2 publication Critical patent/JP3444227B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はソフトウェアの不正
使用防止方法に関し、特にソフトウェア供給者が認めた
コンピュータ以外のコンピュータでソフトウェアが不正
使用されることを防止する方法に関する。
【0002】
【従来の技術】近年のソフトウェアの販売方法として、
ソフトウェアに対して一部制限を設けた試用版ソフトウ
ェアの使用を使用者に許可する方法が知られている。制
限を設ける方法としては、使用できる期間を設定する方
法や使用できる機能を制限する方法などが知られてい
る。使用者は試用版ソフトウェアを使用した結果、気に
入ったソフトウェアであった場合、ソフトウェア供給者
に対してソフトウェアの使用権の購入を申し出る。ソフ
トウェア供給者は、購入に必要な代金の納入が保証され
た時点で試用版ソフトウェアの制限を解除し、使用者は
ソフトウェアを正規に使用できるようになる。このよう
な制限を解除する方法として、幾つもの方法が提案され
ている。その中で、試用版ソフトウェアに暗号をかけて
おき、正規に購入したときに渡される暗号解除キーを使
用することにより、制限を解除する方法が一般的に知ら
れており、実用化されている。
【0003】しかしながら、このような方法では、暗号
解除キーを入手した使用者が、複数のコンピュータ上で
暗号を解除して、不正にソフトウェアをインストールで
きるという問題がある。このような問題を解決するた
め、特開平10−198569では使用者のコンピュー
タシステムのユーザ情報をホストコンピュータに送信
し、ホストコンピュータ側でユーザ情報を基にしてイン
ストール継続データを作成する方法が提案されている。
この方法によれば、暗号解除キーはコンピュータごとに
生成されるため、暗号解除キーを他のコンピュータ上で
使用できず、正常にインストールできない。
【0004】また、特開平8−84139ではコンピュ
ータの時刻情報に基づいて作成した暗号解除キーBをホ
ストコンピュータに送信し、ホストコンピュータは暗号
解除キーBを基に暗号解除キーCを作成して使用者に送
信し、使用者が暗号解除キーCをインストール時に入力
することにより、暗号解除キーDが作成され、この暗号
解除キーDを使用することにより、インストールを許可
する方法が提案されている。この方法も、暗号解除キー
をコンピュータごとに作成することでインストールでき
る環境を制限している。
【0005】
【発明が解決しようとする課題】しかし、特開平10−
198569や特開平8−84139に示された方法で
はインストールを制限するだけであるため、一度インス
トールを正常に完了すると、実行に必要なモジュールが
すべてコンピュータ上に生成されているため、インスト
ールしたソフトウェアで使用するモジュール全部を他の
コンピュータにコピーすることで、ソフトウェアを実行
できるという問題が残されている。また、実行されるソ
フトウェアが正規にインストールされたものであるかの
検証を行う方法として、インストール時にソフトウェア
の登録情報を作成し、実行開始時に登録情報を検証する
方法が一般的に知られており、実用化されている。しか
し、このような方法では登録情報がインストールされて
いるソフトウェアに対してのみの情報で構成されている
ため、比較的登録情報を解析されやすく、登録情報を改
竄することにより正規にインストールされているように
見なされるという問題が残されている。本発明は、上記
課題を解決するためになされたものであり、その目的
は、ソフトウェア供給者が認めたコンピュータにのみソ
フトウェアのインストールが行えるようにするととも
に、インストールされたソフトウェアが他のコンピュー
タにコピーされて不正使用されないようにしたソフトウ
ェアの不正使用防止方法を提供することである。
【0006】
【課題を解決するための手段】上述した課題を解決する
ために、本発明によるソフトウェアの不正使用防止方法
は、使用者側コンピュータにソフトウェアをインストー
ルする際、このソフトウエアのインストール開始日時
使用者側コンピュータに既にインストールされているソ
フトウェアを実行させるための少なくとも1つの暗号解
キーとに基づいて所定の演算を行ってインストールす
るソフトウエアの暗号解除キーを作成し、このソフトウ
エアのインストール開始日時とともに使用者側コンピュ
ータに保存するソフトウェアインストール手順と、使用
者側コンピュータにインストールされたソフトウエアを
実行する際、使用者側コンピュータに保存された実行し
ようとするソフトウエアの暗号解除キーと、このソフト
ウエアのインストール開始日時とに基づいて所定の演算
の逆演算を行い、この演算結果と、このソフトウエアの
暗号解除キー作成時に用いた他のインストール済みソフ
トウェアの暗号解除キーとを比較し、一致した場合のみ
当該ソフトウエアを実行するようにしたソフトウエア実
行手順とを有することによって特徴づけられる。このソ
フトウェアの不正使用防止方法の一構成例は、ソフトウ
ェアインストール手順は、使用者側コンピュータにソフ
トウェアをインストールする際、使用者側コンピュータ
からこのソフトウエアのインストール開始日時と、使用
者側コンピュータに既にインストールされている少なく
とも1つのソフトウェアのインストール開始日時とこの
ソフトウェアを実行させるための暗号解除キーとを含む
登録情報とを供給者側コンピュータに送り、この供給者
側コンピュータが送られたインストールするソフトウエ
アのインストール開始日時と登録情報中の所定の暗号解
除キーとに基づいて所定の演算を行ってインストールす
るソフトウエアの暗号解除キーを作成し、このソフトウ
エアのインストール開始日時とともに登録情報に追記し
た後、この登録情報を使用者側コンピュータに送り、使
用者側コンピュータが送られた登録情報を保存した後、
この登録情報を参照し、インストールしようとするソフ
トウエアの暗号解除キーと、このソフトウエアのインス
トール開始日時とに基づいて所定の演算の逆演算を行
い、この演算結果と、このソフトウエアの暗号解除キー
作成時に用いた他のインストール済みソフトウェアの暗
解除キーとを比較し、一致した場合のみ当該ソフトウ
エアをインストールし、ソフトウエア実行手順は、使用
者側コンピュータにインストールされたソフトウエアを
実行する際、使用者側コンピュータに保存された登録情
報を参照し、実行しようとするソフトウエアの暗号解除
キーと、このソフトウエアのインストール開始日時とに
基づいて所定の演算の逆演算を行い、この演算結果と、
このソフトウエアの暗号解除キー作成時に用いた他のイ
ンストール済みソフトウェアの暗号解除キーとを比較
し、一致した場合のみ当該ソフトウエアを実行するよう
にした。また、上述したソフトウェアの不正使用防止方
法の一構成例は、使用者側コンピュータの起動直後に
情報を複写し、使用者側コンピュータの停止直前に複
写元の登録情報を複写先の登録情報で置き換えた後、供
給者側コンピュータから送られた登録情報の有無を確認
し、この登録情報があるときはさらにこの登録情報に置
き換えるようにした。
【0007】また、上述したソフトウェアの不正使用防
止方法の一構成例は、使用者側コンピュータに不揮発性
記憶装置を設け、この不揮発性記憶装置に登録情報を記
憶しておき、使用者側コンピュータの起動直後に登録
報を不揮発性記憶装置から主記憶装置に複写し、供給者
側コンピュータから送られた登録情報を不揮発性記憶装
置に記憶しておき、使用者側コンピュータの停止直前に
不揮発性記憶装置に記憶された登録情報を主記憶装置に
複写された暗号解除情報で置き換えた後、供給者側コン
ピュータから送られた登録情報の有無を確認し、この登
録情報があるときはさらにこの登録情報に置き換える
うにした。
【0008】
【発明の実施の形態】以下に図を用いて本発明の実施の
形態を説明する。図1は本発明の実施の形態であるソフ
トウェアの不正使用防止方法の一構成例を示すブロック
図である。本発明の実施の形態は、図1に示すように、
使用者側コンピュータ1内に記録されている登録情報を
管理する登録情報管理手段2、ソフトウェアの起動を制
御するソフトウェア実行手段5及びソフトウェアのイン
ストールを制御するインストール実行手段8を備えたソ
フトウェア使用者が使用する使用者側コンピュータ1
と、暗号情報通知手段15を備えたソフトウェア供給者
側コンピュータ14とから構成される。
【0009】図2は、本発明の実施の形態であるソフト
ウェアの不正使用防止方法に用いる装置の一構成例を示
すブロック図である。図2において、使用者側コンピュ
ータ1は、中央演算処理装置21(以下、CPUとい
う)、主記憶装置22(以下、メモリという)、時計装
置23、入出力インタフェース装置24(以下、I/O
という)、CPU21とメモリ22と時計装置23とI
/O24を接続して命令やデータの送受を行う共通バス
25、不揮発性記憶装置26、読み出し装置27、通信
装置28、キーボード29及び表示器30から構成され
る。ここで、不揮発性記憶装置26、読み出し装置2
7、通信装置28、キーボード29及び表示器30はI
/O25に接続されている。
【0010】ここで、CPU21、メモリ22、I/O
24、共通バス25、キーボード29及び表示器30
は、一般に用いられているものであるので、説明を省略
する。時計装置23は、コンピュータ1に年月日と時刻
を提供するもので、本実施の形態では、4桁の西暦で表
した年数と2桁の月数と2桁の日数と24時間表記で表
した2桁の時数と2桁の分数と2桁の秒数をこの順に並
べた14桁の整数で提供される。なお、時計装置23の
出力形式は、上記形式に限定されるものではなく、例え
ば、秒数を5桁にしてミリ秒単位としてもよく、また過
去の特定時点からの連続する整数で表したものであって
もよい。
【0011】不揮発性記憶装置26は、ソフトウェアの
インストール先となるハードディスク(以下、HDとい
う)やフラッシュメモリといった読み書き可能な不揮発
性記憶装置が用いられ、読み出し装置27は、ソフトウ
ェア供給者が供給するソフトウェア記録媒体からソフト
ウェアを読み出すためのCD−ROMドライブ等から構
成される。なお、以下の説明では、不揮発性記憶装置2
6としてHDを、読み出し装置27としてCD−ROM
ドライブを用いて説明する。また、通信装置28は、通
信回線41を通じてソフトウェア供給者側コンピュータ
14の通信装置38に接続されて、使用者側コンピュー
タ1とソフトウェア供給者側コンピュータ14との間の
データ通信を可能にする。
【0012】登録情報管理手段2とソフトウェア実行手
段5とインストール実行手段8とを構成するプログラム
は、使用者側コンピュータ1のHD26に格納されてお
り、使用者側コンピュータ1に電源が入れられて使用者
側コンピュータが起動し、HD26からオペレーティン
グシステム(以下、OSという)がメモリ22に読み込
まれてOSが起動した後、続けてHD26からメモリ2
2に読み込まれてOS上に常駐する。
【0013】登録情報管理手段2は、登録情報の改竄を
防止する登録情報改竄防止手段3と、インストールを正
規に実行した場合に作成された登録情報を更新する登録
情報更新手段4から構成される。ソフトウェア実行手段
5は、登録情報を解析し、実行されるソフトウェアが正
規にインストールされたものであるかを検証する登録情
報検証手段6と、実行されるソフトウェアが正規にイン
ストールされたものであると判断された場合にソフトウ
ェアを起動するソフトウェア起動手段7から構成され
る。
【0014】インストール実行手段8は、インストール
を開始した時刻を取得する現在時刻取得手段9と、ソフ
トウェア名と取得した開始時刻とで構成されたソフトウ
ェア情報及び使用者側コンピュータ1の登録情報をソフ
トウェア供給者側コンピュータ14に送信する登録情報
送信手段10と、インストールを正規に行うために作成
された暗号解除キーを記録した登録情報をソフトウェア
供給者側コンピュータ14から受信する登録情報受信手
段11と、ソフトウェア供給者側コンピュータ14から
送信された登録情報に記録されている暗号解除キーを取
得する暗号解除キー検証手段12と、取得した暗号解除
キーと登録情報を使用してインストールするソフトウェ
アの暗号を解除し、インストールを完了するインストー
ル起動手段13から構成される。
【0015】ソフトウェア供給者側コンピュータ14
は、CPU31、メモリ32、I/O34、CPU31
とメモリ32とI/O34を接続して命令やデータの送
受を行う共通バス35、不揮発性記憶装置36、通信装
置38、キーボード39及び表示器40から構成され
る。ここで、不揮発性記憶装置36、通信装置38、キ
ーボード39及び表示器40はI/O34に接続されて
いる。ここで、不揮発性記憶装置36は、HD等の読み
書き可能な不揮発性記憶装置から構成される。通信装置
38は、通信回線41を通じて使用者側コンピュータ1
の通信装置28に接続されて相互のデータ通信を可能に
する。
【0016】暗号情報通知手段15を構成するプログラ
ムは、ソフトウェア供給者側コンピュータ14のHD3
6に格納されており、ソフトウェア供給者側コンピュー
タ14に電源が入れられてこのコンピュータが起動し、
HD36からOSがメモリ32に読み込まれてOSが起
動した後、続けてHD36からメモリ32に読み込まれ
てOS上に常駐する。暗号情報通知手段15は、登録情
報受信手段16と、暗号解除キー作成手段17と、登録
情報更新手段18と、登録情報送信手段19から構成さ
れる。
【0017】登録情報受信手段16は、使用者側コンピ
ュータ1から送信されたソフトウェア情報と登録情報を
受信する。暗号解除キー作成手段17は、受信したソフ
トウェア情報の現在時刻と登録情報から暗号解除キーを
作成する。登録情報更新手段18は、受信したソフトウ
ェア情報と作成した暗号解除キーを登録情報に記録し
て、登録情報を更新する。登録情報送信手段19は、更
新した登録情報を使用者側コンピュータ1に送信する。
【0018】次に、図3のフローチャートを参照して本
発明の実施の形態におけるソフトウェア供給者から購入
するソフトウェアの暗号解除キーを入手する方法の動作
について説明する。なお、既に使用者側コンピュータ1
とソフトウェア供給者側コンピュータ14は通信回線4
1で接続されているものとする。
【0019】ステップS1では、使用者が購入するソフ
トウェアが記録されたソフトウェア記録媒体を使用者側
コンピュータ1の読み出し装置に入れた後、ソフトウェ
アの名前を入力してインストールを開始する。ステップ
S2では、使用者側コンピュータ1の現在時刻取得手段
9が時計装置23からインストールを開始した時刻を取
得する。ステップS3では、使用者側コンピュータ1の
登録情報送信手段10が、ステップS1で取得したソフ
トウェア名と、ステップS2で取得した開始時刻と、使
用者側コンピュータ1の登録情報とをソフトウェア供給
者側コンピュータ14に送信する。
【0020】ステップS4では、ソフトウェア供給者側
コンピュータ14の登録情報受信手段16が、使用者側
コンピュータ1から送信されたソフトウェア名と開始時
刻と登録情報とを受信する。ステップS5では、ソフト
ウェア供給者側コンピュータ14の暗号解除キー作成手
段17が登録情報を解析し、登録情報に記録されている
所定のインストール済みソフトウェアの暗号解除キーを
取得し、送信された開始時刻にこの暗号解除キーを関連
づけて、購入するソフトウェアの暗号解除キーを作成す
る。ステップS6では、ソフトウェア供給者側コンピュ
ータ14の登録情報更新手段18がステップS5で作成
した暗号解除キーと、受信したソフトウェア名と開始時
刻とを登録情報に追加記録する。ステップS7では、ソ
フトウェア供給者側コンピュータ14の登録情報送信手
段19がステップS6で更新された登録情報を使用者側
コンピュータ1の登録情報受信手段11に送信する。ス
テップS8では、使用者側コンピュータ1の登録情報受
信手段11が、受信した登録情報を仮登録情報としてH
D26に保存する。
【0021】次に、図4のフローチャートを参照して本
発明の実施の形態におけるインストール方法の動作につ
いて説明する。ステップS11では、暗号解除キー検証
手段12が使用者側コンピュータ1に記録されている登
録情報、もしくは仮登録情報を解析し、インストールす
るソフトウェア用の開始時刻と暗号解除キー及びこの暗
号解除キーに関連づけられている所定のソフトウェアの
暗号解除キーを取得する。ステップS12では、ステッ
プS11で取得した開始時刻と暗号解除キー及びこの暗
号解除キーに関連づけられている所定のソフトウェアの
暗号解除キーを使用して、使用者側コンピュータ1がソ
フトウェア供給者から正規にソフトウェアを購入したコ
ンピュータであるかを検証する。ステップS13では検
証した結果を判定する。正規に購入したコンピュータで
あると判定した場合は、ステップS14に進む。正規に
購入したコンピュータではないと判定した場合は、処理
を終了する。ステップS14では、インストール起動手
段13が購入したソフトウェアのインストールを実行す
る。
【0022】次に、図5のフローチャートを参照して本
発明の実施の形態におけるソフトウェアの起動方法の動
作について説明する。ステップS21では、登録情報検
証手段6が使用者側コンピュータ1上で実行を要求され
たソフトウェアの登録情報、もしくは仮登録情報を解析
し、実行するソフトウェア用の開始時刻と暗号解除キー
及びこの暗号解除キーに関連づけられている所定のソフ
トウェアの暗号解除キーを取得する。ステップS22で
は、ステップS21で取得した開始時刻と暗号解除キー
及びこの暗号解除キーに関連づけられている所定のソフ
トウェアの暗号解除キーを使用して、実行されるソフト
ウェアが正規にインストールされたソフトウェアである
かを検証する。ステップS23では検証した結果を判定
する。正規にインストールされたソフトウェアであると
判定した場合は、ステップS24に進む。正規にインス
トールされたソフトウェアではないと判定した場合は、
処理を終了する。ステップS24では、ソフトウェア起
動手段7が実行を要求されたソフトウェアを実行する。
【0023】次に、具体例を用いてソフトウェア供給者
からソフトウェアを購入し、インストールするまでの方
法を説明する。図6は、本発明の実施の形態における登
録情報の概念図である。ここではインストールの開始時
刻を秒単位精度で処理することで説明している。また、
ここでは登録番号MにGraphEdtという名前のソ
フトウェアをインストールする場合の方法について説明
する。なお、既に使用者側コンピュータ1とソフトウェ
ア供給者側コンピュータ14は通信回線で接続されてい
るものとする。
【0024】使用者は、購入するソフトウェアGrap
hEdtが記録されたCD−ROMを使用者側コンピュ
ータ1のCD−ROMドライブに入れた後、ソフトウェ
アの名前を入力してインストールを開始させる(ステッ
プS1)。次に、現在時刻取得手段9が現在時刻199
8年12月10日15時10分25秒を取得する(ステ
ップS2)。次に、登録情報送信手段10が使用者側コ
ンピュータ1の登録番号M−1までが登録された登録情
報と、現在時刻19981210151025と、ソフ
トウェア名GraphEdtをソフトウェア供給者側コ
ンピュータ14に送信する(ステップS3)。
【0025】次に、登録情報受信手段15が、使用者側
コンピュータ1から送信された登録情報と現在時刻とソ
フトウェア名とを受信する(ステップS4)。次に、暗
号解除キー作成手段16が受信された登録情報を解析し
て得た前回の登録項目である登録番号M−1のソフトウ
ェアWordProcの暗号解除キーXXXXXXXX
XXXXXXと、受信された開始時刻19981210
151025との演算を行い、今回の登録番号Mの暗号
解除キーYYYYYYYYYYYYYYを作成する。こ
の演算としては、両者の差分を取る演算であっても良い
し、両者を加算する演算であっても良いし、その他の演
算であっても良い(ステップS5)。
【0026】次に、登録情報更新手段17が登録番号M
の暗号解除キーYYYYYYYYYYYYYYと、開始
時刻19981210151025と、ソフトウェア名
GraphEdtを登録情報に追加記録する(ステップ
S6)。次に、登録情報送信手段18が追加記録された
登録情報を使用者側コンピュータ1に送信する(ステッ
プS7)。次に、登録情報受信手段11が受信した登録
情報を仮登録情報として保存する(ステップS8)。
【0027】次に使用者が使用者側コンピュータ1にG
raphEdtをインストールする場合、暗号解除キー
検証手段12が、使用者側コンピュータ1内に仮登録情
報が存在するか検証する。存在する場合は仮登録情報か
ら、存在しない場合は登録情報からGraphEdt用
の暗号解除キーYYYYYYYYYYYYYYを登録番
号Mから取得する。GraphEdtが登録情報、もし
くは仮登録情報の登録番号Mに記録されていることを検
出する方法としては、一致するソフトウェア名を探す方
法であっても良いし、ソフトウェアが登録されている番
号を使用者に入力させる方法であっても良い(ステップ
S11)。
【0028】次に暗号解除キーが使用者側コンピュータ
1上で正規に購入されたものであるのかを検証する。検
証は登録番号Mの暗号解除キーYYYYYYYYYYY
YYYと、開始時刻19981210151025との
演算を行い、登録番号Mに関連づけられている登録番号
M−1の暗号解除キーを作成する。この演算はステップ
S4で行った演算の逆演算が実行される。例えば、ステ
ップS4にて登録番号Mの暗号解除キーを加算する演算
を使用して作成したときは、ここでは差分を取る演算を
行う。(ステップS12)
【0029】次に作成した暗号解除キーと、登録情報も
しくは仮登録情報に実際に記録されている登録番号M−
1の暗号解除キーXXXXXXXXXXXXXXとの比
較を行う。(ステップS13) 比較した結果、一致した場合は、使用者側コンピュータ
1はソフトウェア供給者から正規にGraphEdtを
購入したコンピュータであると判断し、GraphEd
tのインストールを実行する(ステップS14)。一致
しなかった場合は、使用者側コンピュータ1がGrap
hEdtを不正にコピーしたコンピュータであると判断
し、インストールを実行しない。
【0030】次に、図5を用いて使用者側コンピュータ
1内のソフトウェアを実行する方法を説明する。使用者
が使用者側コンピュータ1上でGraphEdtを実行
する場合、登録情報検証手段6が使用者側コンピュータ
1内に仮登録情報が存在するのかを検証する。存在する
場合は仮登録情報から、存在しない場合は登録情報から
GraphEdt用の暗号解除キーYYYYYYYYY
YYYYYを登録番号Mから取得する。GraphEd
tが登録情報もしくは仮登録情報の登録番号Mに記録さ
れていることを検出する方法としては、一致するソフト
ウェア名を探す方法であっても良いし、ソフトウェアが
登録されている番号を使用者に入力させる方法であって
も良い(ステップS21)。
【0031】次に暗号解除キーが使用者側コンピュータ
1上で正規にインストールされたものであるのかを検証
する。検証は登録番号Mの暗号解除キーYYYYYYY
YYYYYYYと、開始時刻199812101510
25との演算を行い、番号Mに関連づけられている登録
番号M−1の暗号解除キーを作成する。この演算はステ
ップS4で行った演算の逆演算が実行される。例えば、
ステップS4にて登録番号Mの暗号解除キーを加算する
演算を使用して作成したときは、ここでは差分を取る演
算を行う。(ステップS22)
【0032】次に作成した暗号解除キーと、登録情報も
しくは仮登録情報に実際に記録されている登録番号M−
1の暗号解除キーXXXXXXXXXXXXXXとの比
較を行う。(ステップS23) 比較した結果、一致した場合は、使用者側コンピュータ
1にインストールされているGraphEdtは正規に
インストールされたソフトウェアであると判断し、Gr
aphEdtを実行する(ステップS24)。比較した
結果が一致しない場合は、GraphEdtを実行しな
い。
【0033】なお、本実施の形態では、購入するソフト
ウェアの暗号解除キーを入手するのに、使用者側コンピ
ュータとソフトウェア供給者側コンピュータを通信回線
で接続して行うが、これに限定されるものではなく、例
えば、ソフトウェア情報と登録情報を記録媒体に記録し
てソフトウェア供給者へ送付し、ソフトウェア供給者が
送付された情報に基づいて暗号解除キーを作成して登録
情報を更新し、記録媒体に記録してソフトウェア使用者
に送り返すようにしてもよい。また、本実施の形態で
は、購入するソフトウェアをソフトウェア記録媒体から
インストールしているが、これに限定されるものではな
く、例えば、通信回線を通じてソフトウェア供給者側コ
ンピュータから直接ソフトウェアをインストールするよ
うにしてもよい。
【0034】また、本実施の形態では、登録情報内の1
つ前の暗号解除キーと演算を行うように説明している
が、複数の暗号解除キーと演算を行うことも可能であ
る。また、インストールするソフトウェアの暗号解除キ
ーに関連づけられた他のソフトウェアの選択方法を、あ
らかじめ使用者側コンピュータとソフトウェア供給者側
コンピュータで一致させておく必要があり、本実施の形
態では、1つ前にインストールされたソフトウェアの暗
号解除キーを用いるとして説明したが、これに限定され
るものではなく、例えば、ソフトウェア供給者側コンピ
ュータから選択方法を送るようにしてもよい。また、本
実施の形態では、ソフトウェア供給者側コンピュータ
は、暗号解除キーの通知のみ行うように説明している
が、更新した登録情報を保存して使用者側コンピュータ
の登録情報が失われた場合に再発行するサービスができ
るようにしたり、ユーザー登録と同時に行って顧客情報
管理を行うようにしてもよいことは言うまでもない。
【0035】次に、図7のフローチャートを参照して本
発明の実施の形態における登録情報改竄行為の制限方法
について説明する。ステップS31では、使用者が使用
者側コンピュータ1の電源を入れるなどして使用者側コ
ンピュータ1を起動し、使用者側コンピュータ1のOS
を起動する。ステップS32では、登録情報管理手段2
とソフトウェア実行手段5とインストール実行手段8と
を構成するプログラムが、使用者側コンピュータ1のH
D26からメモリ22に読み込まれてOS上に常駐す
る。ステップS33では、登録情報改竄防止手段3が使
用者側コンピュータ1の登録情報をHD26から読み出
し、OS上に常駐させる。OS上に常駐させる方法とし
ては、登録情報を実行形式で作成し、OS起動直後に実
行するようにする方法であっても良いし、OSの一部と
して実装される方法であっても良い。
【0036】ステップS34では、ソフトウェアのイン
ストールや実行などの処理を任意に行う。ステップS3
5では、登録情報改竄防止手段3が使用者側コンピュー
タ1のOS終了命令を受け取り、登録情報の常駐を終了
させ、常駐していた登録情報をHD26上の登録情報に
上書きする。ステップS36では、登録情報更新手段4
が仮登録情報が存在するか検証する。存在する場合は、
ステップS37に進み、HD26上の登録情報を削除
し、仮登録情報を登録情報に差し替える。仮登録情報が
存在しない場合は、ステップS38に進む。ステップS
38では、OSを終了し、使用者側コンピュータ1を停
止する。
【0037】このようにHD26上の登録情報は、使用
者側コンピュータ1の起動時にOS上に常駐され、使用
者側コンピュータ1の停止時にHD26上の登録情報を
削除して常駐された登録情報をHD26に戻すため、H
D26上の登録情報の改竄が困難である。また、HD2
6上の登録情報を他のコンピュータにコピーしても、コ
ピーした登録情報はコンピュータの停止処理時に削除さ
れるため、コピーされることがない。なお、登録情報管
理手段2、ソフトウェア実行手段5又はインストール実
行手段8をOSに組み込んでOSの機能の一部にしても
よい。この場合、暗号解除手段がより発見されにくくな
り、登録情報がより解読されにくくなる。
【0038】以上説明したように、本願発明のソフトウ
ェアの不正使用防止方法は、インストールに際して、暗
号解除キーを明示して単独で用いることがないので暗号
解除キーを知られることがなく、ソフトウェア供給者の
承認なしに他のコンピュータにインストールすることが
できない。また、正規にインストールされたソフトウェ
アのモジュールをすべてコピーした場合、コピー先のコ
ンピュータの登録情報には、このソフトウェアの情報と
暗号解除キーがないので、このソフトウェアを実行でき
ない。
【0039】また、登録情報の存在を突き止めて他のコ
ンピュータに登録情報をコピーした場合、インストール
はできるが、コンピュータを停止する際にコピーした登
録情報が削除されるため、次回からこのソフトウェアを
起動することができない。また、他のコンピュータに登
録情報をコピーした後に電源を切って登録情報が削除さ
れないようにした場合、そのコンピュータにインストー
ルされている他のソフトウェアの登録情報が変わってし
まうため、他のソフトウェアが起動できなくなる。
【0040】また、登録情報を解析してコピーしたソフ
トウェアのソフトウェア名と現在時刻データと暗号解除
キーを他のコンピュータの登録情報に追加しても、これ
に関連づけられた他のソフトウェアの暗号解除キーを発
見して変えないとソフトウェアを起動できない。しか
し、どのソフトウェアに関連づけられているかを発見す
ることは非常に困難である。また、関連づけられた他の
ソフトウェアの暗号解除キーを発見された場合でも、そ
のソフトウェアの暗号解除キーを改竄するとそのソフト
ウェアの実行ができなくなるため、改竄防止の効果が得
られる。特に、OSで頻繁に使用するモジュールと関連
づけた場合は、登録情報の改竄を行うとOSで頻繁に使
用するモジュールを実行できなくなり、OSの機能を停
止できるため、高い改竄防止効果が得られる。したがっ
て、ソフトウェアをコピーしても使用できず、ソフトウ
ェアの不正使用を防止することができる。
【0041】
【発明の効果】本発明では、使用者のコンピュータに新
規ソフトウェアをインストールするとき、既にインスト
ールされている他のソフトウェアの暗号解除キーと関連
づけてインストールに使用する暗号解除キーを作成す
る。このため、作成された暗号解除キーを他のコンピュ
ータ上で入力してもインストールを継続できない。ま
た、暗号解除キーは、インストールしたソフトウェアの
登録情報として記録され、ソフトウェアの実行時に参照
される。このため、ソフトウェアを実行する使用者のコ
ンピュータが、インストールを実行したときのコンピュ
ータと同じものであるかを確実に判断でき、ソフトウェ
アを不正にコピーして実行したと判断した場合は、ソフ
トウェアの実行を中止できる。
【0042】さらに本発明では、暗号解除キーがインス
トール開始時刻と他のソフトウェアの暗号解除キーとに
関連づけられているため、登録情報が改竄された場合、
改竄した登録情報と関連づけられているソフトウェアは
起動できなくなる。このため、OSで頻繁に使用するモ
ジュールと関連づけることにより、登録情報の改竄を行
った場合にOSの機能を停止できるという効果が得られ
る。これにより、ソフトウェアの不正使用を確実に防止
することが可能となる。
【図面の簡単な説明】
【図1】 本発明の実施の形態を示すシステム構成図で
ある。
【図2】 本発明の実施の形態におけるソフトウェアの
不正使用防止方法に用いる装置の一構成例を示すブロッ
ク図である。
【図3】 本発明の実施の形態におけるソフトウェア購
入手順を示すフローチャートである。
【図4】 本発明の実施の形態におけるソフトウェアイ
ンストール手順を示すフローチャートである。
【図5】 本発明の実施の形態におけるソフトウェア起
動手順を示すフローチャートである。
【図6】 本発明の実施の形態における登録情報の概念
図である。
【図7】 本発明の実施の形態における登録情報管理手
順を示すフローチャートである。
【符号の説明】
1…使用者側コンピュータ、2…登録情報管理手段、3
…登録情報改竄防止手段、4,17…登録情報更新手
段、5…ソフトウェア実行手段、6…登録情報検証手
段、7…ソフトウェア起動手段、8…インストール実行
手段、9…現在時刻取得手段、10,19…登録情報送
信手段、11,16…登録情報受信手段、12…暗号解
除キー検証手段、13…インストール起動手段、14…
ソフトウェア供給者側コンピュータ、15…暗号情報通
知手段、17…暗号解除キー作成手段、21,31…中
央演算処理装置(CPU)、22,32…主記憶装置
(メモリ)、23…時計装置、24,34…入出力イン
タフェース装置(I/O)、25,35…共通バス、2
6,36…不揮発性記憶装置(HD)、27…読み出し
装置、28,38…通信装置、29,39…キーボー
ド、30,40…表示器、41…通信回線。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/06 CSDB(日本国特許庁)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 使用者側コンピュータにソフトウェアを
    インストールする際、このソフトウエアのインストール
    開始日時と前記使用者側コンピュータに既にインストー
    ルされているソフトウェアを実行させるための少なくと
    も1つの暗号解除キーとに基づいて所定の演算を行って
    前記インストールするソフトウエアの暗号解除キーを作
    成し、このソフトウエアの前記インストール開始日時と
    ともに前記使用者側コンピュータに保存するソフトウェ
    アインストール手順と、 前記使用者側コンピュータにインストールされたソフト
    ウエアを実行する際、前記使用者側コンピュータに保存
    された実行しようとするソフトウエアの暗号解除キー
    と、このソフトウエアのインストール開始日時とに基づ
    いて前記所定の演算の逆演算を行い、この演算結果と、
    このソフトウエアの暗号解除キー作成時に用いた他のイ
    ンストール済みソフトウェアの暗号解除キーとを比較
    し、一致した場合のみ当該ソフトウエアを実行 するよう
    にしたソフトウエア実行手順とを有することを特徴とす
    るソフトウェアの不正使用防止方法。
  2. 【請求項2】 前記ソフトウェアインストール手順は、 前記使用者側コンピュータにソフトウェアをインストー
    ルする際、前記使用者側コンピュータからこのソフトウ
    エアのインストール開始日時と、前記使用者側コンピュ
    ータに既にインストールされている少なくとも1つのソ
    フトウェアのインストール開始日時とこのソフトウェア
    を実行させるための暗号解除キーとを含む登録情報とを
    供給者側コンピュータに送り、 この供給者側コンピュータは、送られた前記インストー
    ルするソフトウエアのインストール開始日時と前記登録
    情報中の所定の暗号解除キーとに基づいて所定の演算を
    行って前記インストールするソフトウエアの暗号解除キ
    ーを作成し、このソフトウエアの前記インストール開始
    日時とともに前記登録情報に追記した後、この登録情報
    を前記使用者側コンピュータに送り、 前記使用者側コンピュータは、送られた前記登録情報を
    保存した後、この登録情報を参照し、インストールしよ
    うとするソフトウエアの暗号解除キーと、このソフトウ
    エアのインストール開始日時とに基づいて前記所定の演
    算の逆演算を行い、この演算結果と、このソフトウエア
    の暗号解除キー作成時に用いた他のイン ストール済みソ
    フトウェアの暗号解除キーとを比較し、一致した場合の
    み当該ソフトウエアをインストールし、 前記ソフトウエア実行手順は、 前記使用者側コンピュータにインストールされたソフト
    ウエアを実行する際、前記使用者側コンピュータに保存
    された前記登録情報を参照し、実行しようとするソフト
    ウエアの暗号解除キーと、このソフトウエアのインスト
    ール開始日時とに基づいて前記所定の演算の逆演算を行
    い、この演算結果と、このソフトウエアの暗号解除キー
    作成時に用いた他のインストール済みソフトウェアの暗
    号解除キーとを比較し、一致した場合のみ当該ソフトウ
    エアを実行する ことを特徴とする請求項1記載のソフト
    ウェアの不正使用防止方法。
  3. 【請求項3】 前記使用者側コンピュータの起動直後に
    前記登録情報を複写し、前記使用者側コンピュータの停
    止直前に複写元の登録情報を複写先の登録情報で置き換
    た後、前記供給者側コンピュータから送られた登録情
    報の有無を確認し、この登録情報があるときはさらにこ
    の登録情報に置き換えるようにしたことを特徴とする
    求項2記載のソフトウェアの不正使用防止方法。
  4. 【請求項4】 前記使用者側コンピュータに不揮発性記
    憶装置を設け、この不揮発性記憶装置に前記登録情報を
    記憶しておき、 前記使用者側コンピュータの起動直後に前記登録情報を
    前記不揮発性記憶装置から主記憶装置に複写し、前記供給者側コンピュータから送られた登録情報を前記
    不揮発性記憶装置に記憶しておき、 前記使用者側コンピュータの停止直前に前記不揮発性記
    憶装置に記憶された前記登録情報を前記主記憶装置に複
    写された登録情報で置き換えた後、前記供給者側コンピ
    ュータから送られた登録情報の有無を確認し、この登録
    情報があるときはさらにこの登録情報に置き換えること
    を特徴とする請求項3記載のソフトウェアの不正使用防
    止方法。
JP10236899A 1999-04-09 1999-04-09 ソフトウェアの不正使用防止方法 Expired - Fee Related JP3444227B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10236899A JP3444227B2 (ja) 1999-04-09 1999-04-09 ソフトウェアの不正使用防止方法
US09/545,567 US6735768B1 (en) 1999-04-09 2000-04-07 Method and system for installing a software product to a computer with authorization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10236899A JP3444227B2 (ja) 1999-04-09 1999-04-09 ソフトウェアの不正使用防止方法

Publications (2)

Publication Number Publication Date
JP2000293368A JP2000293368A (ja) 2000-10-20
JP3444227B2 true JP3444227B2 (ja) 2003-09-08

Family

ID=14325525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10236899A Expired - Fee Related JP3444227B2 (ja) 1999-04-09 1999-04-09 ソフトウェアの不正使用防止方法

Country Status (2)

Country Link
US (1) US6735768B1 (ja)
JP (1) JP3444227B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378127B1 (en) * 1998-09-21 2002-04-23 Microsoft Corporation Software installation and validation using custom actions
CN1196995C (zh) * 2000-10-27 2005-04-13 株式会社东芝 应用软件开发系统及其方法、以及应用软件生成方法
US11467856B2 (en) 2002-12-12 2022-10-11 Flexiworld Technologies, Inc. Portable USB device for internet access service
US7805720B2 (en) 2003-04-11 2010-09-28 Flexiworld Technologies, Inc. Autorun for integrated circuit memory component
DE10111393A1 (de) * 2001-03-09 2002-09-26 Rexroth Indramat Gmbh Verfahren zur Remote-Steuerungsprogrammierung
KR100433056B1 (ko) * 2001-08-18 2004-05-24 엘지전자 주식회사 프로그램 업그레이드 방법
US7907729B2 (en) * 2002-09-13 2011-03-15 Bally Gaming, Inc. Rollback attack prevention system and method
JP4408033B2 (ja) * 2002-09-24 2010-02-03 株式会社リコー 遠隔管理システム
US20040088209A1 (en) * 2002-10-30 2004-05-06 Tatu Pitkanen E-business method for selling or leasing out capacity upgrades for a process plant or machine
WO2004055638A2 (en) 2002-12-12 2004-07-01 Flexiworld Technologies, Inc. Wireless communication between computing devices
US7243147B2 (en) * 2002-12-30 2007-07-10 Bellsouth Ip Corporation Systems and methods for the detection and management of network assets
US7181739B1 (en) * 2003-03-14 2007-02-20 Novell, Inc. Installation relationship database
JP3923921B2 (ja) * 2003-03-31 2007-06-06 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置及びプログラム
US20040255292A1 (en) * 2003-06-16 2004-12-16 Microsoft Corporation Delivering multiple installation images and computer-readable installation keys on installation media
EP1886205A1 (en) * 2005-05-10 2008-02-13 DTS Ltd. Software activation control method
US7516104B1 (en) 2005-09-29 2009-04-07 Qurio Holdings, Inc. Methods of providing software over a network and related systems and computer program products
US8458098B1 (en) * 2005-09-29 2013-06-04 Qurio Holdings, Inc. Methods of tracking remote software installations and registrations and related systems and computer program products
US7698305B2 (en) * 2006-12-01 2010-04-13 Microsoft Corporation Program modification and loading times in computing devices
JP4533935B2 (ja) * 2008-01-22 2010-09-01 日立ソフトウエアエンジニアリング株式会社 ライセンス認証システム及び認証方法
US8924956B2 (en) * 2010-02-03 2014-12-30 Yahoo! Inc. Systems and methods to identify users using an automated learning process
US10147123B2 (en) 2011-09-29 2018-12-04 Amazon Technologies, Inc. Electronic marketplace for hosted service images
US9626700B1 (en) 2011-09-29 2017-04-18 Amazon Technologies, Inc. Aggregation of operational data for merchandizing of network accessible services
US8776043B1 (en) 2011-09-29 2014-07-08 Amazon Technologies, Inc. Service image notifications
US9530156B2 (en) 2011-09-29 2016-12-27 Amazon Technologies, Inc. Customizable uniform control user interface for hosted service images
US9679279B1 (en) 2012-02-27 2017-06-13 Amazon Technologies Inc Managing transfer of hosted service licenses
US9397987B1 (en) 2012-03-23 2016-07-19 Amazon Technologies, Inc. Managing interaction with hosted services
US9258371B1 (en) 2012-03-23 2016-02-09 Amazon Technologies, Inc. Managing interaction with hosted services
US9553787B1 (en) 2013-04-29 2017-01-24 Amazon Technologies, Inc. Monitoring hosted service usage
US9405524B1 (en) * 2014-04-30 2016-08-02 Allscripts Software, Llc Software verification system and methods
TWI665578B (zh) * 2018-11-27 2019-07-11 廣達電腦股份有限公司 軟體連線之管理系統及方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3647907B2 (ja) 1994-09-09 2005-05-18 富士通株式会社 暗号化ソフトウェアの解凍システム
US6044154A (en) * 1994-10-31 2000-03-28 Communications Devices, Inc. Remote generated, device identifier key for use with a dual-key reflexive encryption security system
US5919247A (en) * 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
US5923885A (en) * 1996-10-31 1999-07-13 Sun Microsystems, Inc. Acquisition and operation of remotely loaded software using applet modification of browser software
JP3747973B2 (ja) 1997-01-14 2006-02-22 株式会社リコー ユーザーコンピュータシステム
US5926631A (en) * 1997-08-15 1999-07-20 International Business Machines Corporation Network computer emulator systems, methods and computer program products for personal computers
US6117188A (en) * 1998-04-27 2000-09-12 Cognet Corporation System and method using token processing to control software distribution and desktop management in a computer network environment
US6092189A (en) * 1998-04-30 2000-07-18 Compaq Computer Corporation Channel configuration program server architecture

Also Published As

Publication number Publication date
JP2000293368A (ja) 2000-10-20
US6735768B1 (en) 2004-05-11

Similar Documents

Publication Publication Date Title
JP3444227B2 (ja) ソフトウェアの不正使用防止方法
KR100240324B1 (ko) 실시권자 통지 시스템
US20060168580A1 (en) Software-management system, recording medium, and information-processing device
US20200084188A1 (en) Secure software updates
US6857067B2 (en) System and method for preventing unauthorized access to electronic data
JP5116325B2 (ja) 情報処理装置、ソフトウェア更新方法及び画像処理装置
US20040215909A1 (en) Nonvolatile memory device and data processing system
US7134016B1 (en) Software system with a biometric dongle function
JPWO2007108127A1 (ja) システムプログラムダウンロードシステム
KR100790508B1 (ko) 정보처리 장치, 정보처리 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP4012771B2 (ja) ライセンス管理方法、ライセンス管理システム、ライセンス管理プログラム
JP3863401B2 (ja) ソフトウェア処理装置
JPH1031587A (ja) データ端末装置およびコンピュータプログラム
KR100361869B1 (ko) 암호화키를 이용한 소프트웨어 설치 및 실행방법
JP4981957B2 (ja) ライセンス外部メモリ
JP4454280B2 (ja) ライセンス認証方法およびライセンス認証システム
JP2007140961A (ja) 不正にコピーされたファイルの使用防止装置およびプログラム
JP4588991B2 (ja) ファイル類管理システム
EP1714204B1 (en) License information management apparatus and license information management method
JP3993036B2 (ja) ライセンス管理方法、ライセンス管理システム、ライセンス管理プログラム
JP2004086588A (ja) ソフトウェア不正使用防止システム
JP4319804B2 (ja) Icカードアプリケーションプログラム、icカードおよびライセンス管理システム
JP2004213057A (ja) ソフトウェアの不正使用防止システム
JP2003029863A (ja) ソフトウェアライセンス管理システム
JP4593455B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080627

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090627

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100627

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100627

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees