[go: up one dir, main page]

JP2004086588A - Software unauthorized use prevention system - Google Patents

Software unauthorized use prevention system Download PDF

Info

Publication number
JP2004086588A
JP2004086588A JP2002247084A JP2002247084A JP2004086588A JP 2004086588 A JP2004086588 A JP 2004086588A JP 2002247084 A JP2002247084 A JP 2002247084A JP 2002247084 A JP2002247084 A JP 2002247084A JP 2004086588 A JP2004086588 A JP 2004086588A
Authority
JP
Japan
Prior art keywords
software
installation
smart card
control unit
logical operation
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.)
Pending
Application number
JP2002247084A
Other languages
Japanese (ja)
Inventor
Toru Uematsu
植松 徹
Keiko Taguchi
田口 景子
Mizuho Watabe
渡部 瑞穂
Takeshi Minami
南 剛
Yoichi Iritani
入谷 洋一
Mitsumasa Sakata
坂田 光正
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.)
NTT Quality KK
NTT Data Group Corp
Original Assignee
NTT Data Corp
NTT Quality KK
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 NTT Data Corp, NTT Quality KK filed Critical NTT Data Corp
Priority to JP2002247084A priority Critical patent/JP2004086588A/en
Publication of JP2004086588A publication Critical patent/JP2004086588A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】オンライン登録の必要がなく、特殊な専用のハードウェア,またはユニークなIDを有するハードウェアを必要とせず、ソフトウェアの不正なインストール及び使用を防止するソフトウェア不正使用防止システムを提供する。
【解決手段】本発明のソフトウェア不正使用防止システムは、所定の論理演算式とインストール可能な回数を示すライセンス数とを有するインストール情報を記憶するスマートカード7と、所定の他論理演算式を記憶し、ソフトウェアのインストールを行うインストール制御部1とを有し、前記スマートカード7及びインストール制御部1が、各々が発生する乱数と前記論理演算式とを用いたチャレンジレスポンス方式による認証処理を行い、インストールの可否を判定し、スマートカード7がソフトウェアのインストールが完了する毎に、前記ライセンス数を減少させることを特徴とする。
【選択図】   図1
An object of the present invention is to provide a software unauthorized use prevention system that does not require online registration, does not require special dedicated hardware or hardware having a unique ID, and prevents unauthorized installation and use of software.
A software unauthorized use prevention system according to the present invention stores a smart card (7) storing installation information having a predetermined logical operation expression and a license number indicating the number of installable times, and stores a predetermined other logical operation expression. The smart card 7 and the installation control unit 1 perform an authentication process by a challenge response method using a random number generated by the smart card 7 and the logical operation expression. Is determined, and each time the smart card 7 completes the software installation, the number of licenses is reduced.
[Selection diagram] Fig. 1

Description

【0001】
【発明の属する技術分野】
本発明は、ソフトウェアの不正使用、特に、ライセンス(使用許可)を有さない不正インストールを防止するソフトウェア不正使用防止システムである。
【0002】
【従来の技術】
近年、パーソナルコンピュータが急速に普及し、これに伴い、多くのアプリケーションソフトウェアが記録媒体(コンパクトディスクなど)に記録され、またはネットワークを介して流通するようになっている。
しかしながら、プリケーションソフトウェアがデジタルデータであることで、容易にデータをコピーすることができ、ソフトウェアメーカの著作権が侵害される場合が多くなってきている。
【0003】
このため、従来の不正使用の防止においては、CD(コード)キー(例えば、ライセンスキー,シリアルキーなど)を頒布ファイルに添付し、インストール時に利用者に入力させ、このCDキーをチェック、すなわち、記録媒体に記録されたCDキーとインストール時に入力されるCDキーとが一致しているか否かの比較を行うことで、記録媒体をコピーすることで行われる不正なインストールを防止する方法が用いられている。
【0004】
【発明が解決しようとする課題】
しかしながら、上述した防止方法では、CDキーを記録媒体をコピーしたと同時に、CDキーを何らかの方法で入手することにより、1つのライセンス(正当なCDキー)において、複数の違法記録媒体を用いて、容易に複数のコンピュータにインストールされてしまうこととなり、十分な防止効果を得ることが困難である。
【0005】
このため、防止方法として、▲1▼インストール後の継続使用にオンラインでのサーバへの登録を必須とすることで、ライセンス単位の登録しか行えなくし、不正な使用者(不正インストールを行った利用者)の継続的な使用を制限する、▲2▼コンピュータに不正使用防止の特殊なハードウェアを接続する構成とし、このハードウェアとインストールしたソフトウェアとの間で識別番号などの認証処理を行い、識別番号が一致するなどしてソフトウェア使用の権限を有する(正当性を有する)ことが確認されたときのみソフトウェアの使用を許可する、▲3▼ユニークなIDを有しているハードウェア(例えば、LAN(ローカルエリアネットワーク)カード)が接続されているコンピュータにインストールし、ソフトウェアが起動するとき、記憶しているIDと一致するハードウェアが接続されているか否かを判定することで、ハードディスクを丸ごとコピーして、他のコンピュータで使用することを防止する、等の防止方法が用いられている。
【0006】
ところが、▲1▼の防止方法には、全ての利用者を管理するサーバやオペレータ及びコールセンタを用意する必要があり、ベンダにおける運営のコストが高くなるという問題があり、かつ、全てのユーザに対してオンライン登録を要求するが、ネットワークに接続されていないコンピュータに接続することができないという欠点がある。
【0007】
また、▲2▼の防止方法には、対象となるソフトウェアを使用するコンピュータに対して、上述した専用のハードウェアを接続する構成とするため、ソフトウェアに必ずライセンス確認のハードウェアを添付する必要があり、ソフトウェアのパッケージの価格が高くなるという問題がある。
さらに、▲3▼の防止方法には、ユニークなIDを有している装置がコンピュータに接続されている必要があるが、いずれのコンピュータに必ずしもLANカードなどのユニークなIDを有するハードウェアが接続されているとは限らないため、ソフトウェアを使用できないコンピュータが存在するという問題がある。
【0008】
本発明はこのような背景の下になされたもので、オンライン登録する必要がなく、また、特殊な専用のハードウェアを接続することなく、かつ、ユニークなIDを有するハードウェアを接続することなく、ソフトウェアの不正なインストール及び使用を防止することが可能なソフトウェア不正使用防止システムを提供する事にある。
【0009】
【課題を解決するための手段】
本発明のソフトウェア不正使用防止システムは、所定の論理演算式(所定の第2の論理演算式)とインストール可能な回数を示すライセンス数とを有するインストール情報を記憶するスマートカードと、所定の他の論理演算式(所定の第1の論理演算式)を記憶し、ソフトウェアのインストールを行うインストール制御部とを有し、前記スマートカード及びインストール制御部が、各々が発生する乱数(第1の乱数及び材2の乱数)と前記各論理演算式とを用いたチャレンジレスポンス方式による認証処理を行い、インストールの可否を判定し、スマートカードがソフトウェアのインストールが完了する毎に、前記ライセンス数を減少させることを特徴とする。
【0010】
本発明のソフトウェア不正使用防止システムは、前記スマートカードが、インストール時に作成し、前記インストール制御部に書き込んだインストール識別番号と、前記インストール制御部から読み出したインストール識別番号とを比較し、一致しているこを検出すると、前記ソフトウェアのアンインストールを行い、アンインストールが完了すると、前記ライセンス数を増加させることを特徴とする。
【0011】
本発明のソフトウェア不正使用防止システムは、インストールするソフトウェアのデータが分割されており、前記スマートカードが分割された一部のデータを記憶していることを特徴とする。
本発明のソフトウェア不正使用防止システムは、前記スマートカードが複数のソフトウェアのインストール情報を有していることを特徴とする。
【0012】
本発明のソフトウェア不正使用防止システムは、ソフトウェアをインストールしたコンピュータが障害を起こし、ソフトウェアの使用が行えなくなった場合、スマートカードの生成する、リカバリ有無情報,アンインストール回数情報,スマートカードを識別するカード識別番号を有するリカバリ情報に基づき、このスマートカードのライセンス数の復旧の可否を判定するライセンス復旧サーバを有することを特徴とする。
【0013】
本発明のソフトウェア不正使用防止方法は、所定の論理演算式とインストール可能な回数を示すライセンス数とを有するインストール情報を、スマートカードに記憶する記憶過程と、所定の他の論理演算式をインストール制御部に記憶し、ソフトウェアのインストールを行うインストール過程と、前記スマートカード及びインストール制御部において、各々が発生する乱数と前記各論理演算式とを用いたチャレンジレスポンス方式による認証処理を行い、インストールの可否を判定し、スマートカードがソフトウェアのインストールを完了する毎に、前記ライセンス数を減少させるライセンス数制御過程とを有することを特徴とする。
本発明のソフトウェア不正使用防止方法は、前記スマートカードから、インストールするソフトウェアの分割された一部のデータを読み出す分割ソフトウェア読み出し過程を有していることを特徴とする。
【0014】
本発明のソフトウェア不正使用防止プログラムは、所定の論理演算式とインストール可能な回数を示すライセンス数とを有するインストール情報を、スマートカードに記憶する記憶処理と、所定の他の論理演算式をインストール制御部に記憶し、ソフトウェアのインストールを行うインストール処理と、前記スマートカード及びインストール制御部において、各々が発生する乱数と前記各論理演算式とを用いたチャレンジレスポンス方式による認証処理を行い、インストールの可否を判定し、スマートカードがソフトウェアのインストールを完了する毎に、前記ライセンス数を減少させるライセンス数制御処理とを有することを特徴とするコンピュータにより実行可能なプログラムである。
本発明のソフトウェア不正使用防止プログラムが記録された媒体は、上記ソフトウェア不正使用防止プログラムが記録されたコンピュータが読み取り可能な記録媒体であることを特徴とする。
【0015】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について説明する。図1は本発明の一実施形態によるソフトウェア不正使用防止システムの構成を示すブロック図である。
この図において、インストール制御部1は、コンピュータPCにおいて、記憶部3に記憶されたインストーラにより、図示しないCPU(中央処理装置)が動作することで実現する機能部であるが、ハードウェアで構成されていてももかまわない。
【0016】
記憶部3は、ソフトウェアがインストールされることにより、実行可能な状態で保存される。
また、記憶部3には、インストール時において、インストール制御部1の機能を実現するためのプログラムが展開される。
インターフェース4は、インストーラや,インストールするソフトウェアのデータを、ネットワークを介して入力する場合に用いられる。
ここでネットワークとは、情報通信網であり、インターネット,公衆及び専用の情報通信網(回線網)等から構成される。
そして、インストール制御部1は、インターフェース4を介して入力される各データ(インストールするソフトウェアのデータなど)を、記憶部3の所定の領域に格納する。
【0017】
ここで、インストーラとは、ソフトウェアのインストール及びアンインストールの処理を行う機能を有するプログラムであり、インストールするソフトウェアに含まれており、インストール及びアンインストールするとき起動される。
また、インストーラには、スマートカード7の記憶部7bに記憶されているソフトウェアの識別番号に対応して、同様な識別番号が記憶されている。
すなわち、スマートカード7とインストールされるソフトウェアとは、このソフトウェアの識別番号で一対一対応するように構成されている。
【0018】
記憶媒体読取器5は、記録媒体(コンパストディスク,DVD(デジタル・ビデオ・ディスク)等)を介して、インストーラや,インストールするソフトウェアのデータを入力する場合に用いられ、読みとられた各データをインストール制御部1の制御により記憶部3に格納する。
カードインターフェース6は、スマートカード(またはIC(集積回路)カード)7と、インストール制御部1との間で、信号の電圧レベルの変換等を行い、データの送受信(さらに、スマートカードの種類によって、データの書き込み,書き換え及び消去の処理を行うスマートカードリーダ/ライタの場合もある)を行うためのインターフェースであり、インストール/アンインストール/リカバリ処理を行う場合に各パーソナルコンピュータPCに接続して用いられる(必要のないときには取り外しておく)。
【0019】
スマートカード7は、制御部7a及び記憶部7bから構成されており、制御部7aがカードインターフェース6からの制御信号に従い、記憶部7bに対して、各データの書き込み,読み出し及び書き換えの処理を行う。
記憶部7bには、ソフトウェア毎に付けられた、ソフトウェアを識別する識別番号と、ソフトウェアのインストール回数を規定するライセンス数とからなるインストール情報が、工場からの出荷時に、予め記憶されている。
【0020】
ここで、上記インストール回数は、1台のコンピュータにインストールした場合、ライセンス数を「1」使用したとして計算された数値であり、ライセンスを供与するパーソナルコンピュータの数、すなわちスマートカード7(実際は記憶部7b)に記憶されている識別番号のソフトウェアをインストールできるコンピュータの数を示している。
インストール制御部1は、所定の演算により第2の乱数を発生し、この第2の乱数をスマートカード7へ送信し、スマートカード7においてこの第2の乱数に基づき、所定の第2の論理演算式により演算された第2の数値を入力し、この第2の数値と、自身で発生したこの第2の乱数に基づき所定の論理で演算した数値とを比較することにより、上記スマートカード7の認証を行い、双方の数値が一致していることを検出すると制御部7aへ一致信号SMを出力する。
【0021】
また、スマートカード7の制御部7aは、所定の演算により第1の乱数を発生し、この第1の乱数をインストール制御部1へ送信し、インストール制御部1においてこの第1の乱数に基づき、所定の第1の論理演算式により演算された第1の数値を入力し、この第1の数値と、自身で発生したこの第1の乱数に基づき所定の論理で演算した数値とを比較することにより、上記インストール制御部1の認証を行い、双方の数値が一致していることを検出すると制御部7aへ一致信号SNを出力する。
上述したインストール制御部1及びスマートカード7において、各々の論理演算式により相互を認証する方式を、チャレンジレスポンス方式とする。
インストール制御部1は、制御部7aから一致信号SNが入力され、かつ制御部7aへ一致信号SMを出力した場合、双方ともに認証されたことを検出して、ソフトウェアのインストール処理を開始する。
【0022】
また、制御部7aは、インストール制御部1から一致信号SMが入力され、かつインストール制御部1へ一致信号SNを出力した場合、双方において認証されたことを検出して、ライセンス数から「1」を減ずる(ライセンス数を削減する)処理を行う。
さらに、制御部7aは、双方において識別番号が一致したことを検出すると、ユニーク(他と区別できる独自な)かつ不可逆なインストールIDを生成し、記憶部7bに保存するとともに、このインストールIDをインストール制御部1へ出力する。
ここで不可逆とは、生成された複数のインストールIDを解析しても、これらを生成した演算式を推定できない意味で使用している(例えば、ユニークな値を利用したハッシュ値生成、及び暗号化等を組み合わせた不可逆演算による生成方法)。
【0023】
また、記憶部7bに分割されたインストールされるソフトウェアデータの分割された一部が記憶されており、制御部7aはインストール処理が開始されると、カードインターフェース6を介してインストール制御部1に対して、このソフトウェアデータの一部を出力する。
すなわち、ソフトウェアのデータは、インストールに必要な全てが、ネットワーク及び記録媒体により供給されてもよく、または分割して流通させても良い。
そして、ソフトウェアのデータを分割した場合、この分割した一部のソフトウェアデータは、工場出荷時にスマートカード7の記憶部7bに記憶させて出荷されることになる。
また、記憶部7bには、工場出荷時に、スマートカード7を識別するカードIDが記憶されている。
【0024】
スマートカード7の制御部7aは、アンインストールが行われる場合、インストール時に作成し、インストール制御部1に送信したインストールID(記憶部3に、インストール制御部1及びカードインターフェース6を介して書き込んだインストールID)と、記憶部7bから読み出したインストールIDとを比較し、一致していることを検出すると、記憶部7bにおけるインストール情報のライセンス数に「1」加算する。
そして、制御部7aは、インストールIDの比較が一致したことを検出すると、インストール制御部1に対してソフトウェアのアンインストールを要求する。
これにより、インストール制御部1は、ソフトウェアのアンインストールの処理を行う。
【0025】
次に、図1、図2,図3及び図4を参照し、一実施形態の動作例を説明する。図2はインストールの動作例を示すフローチャートであり、図3はアンインストールの動作例を示すフリーチャートであり、図4は障害時のリカバリの動作例を示すフローチャートである。
<インストール動作>
前提として、インストール制御部1は、記録媒体読取器5またはネットワークから、インストールに必要なソフトウェアのデータを読み込み、このソフトウェアのデータを記憶部3に記憶している状態とする。
【0026】
そして、利用者は、カードインターフェース6に、スマートカード7を挿入し、インストール作業を開始したとする。
図2に示すステップS1において、利用者がインストール作業の処理を要求する要求信号をパーソナルコンピュータPCへ入力することにより、インストール制御部1及び制御部7aは、インストール処理を開始する。
そして、スマートカード7の制御部7aは、所定の演算により第1の乱数を発生し、カードインターフェース6を介して、この発生した乱数をインストール制御部1へ送信する。
これにより、インストール制御部1は、内部において入力される第1の乱数を所定の第1の論理演算式に基づき演算して、新たな第1の数値を発生し、カードインターフェース6を介して、この新たな数値を制御部7aへ送信する。
そして、制御部7aは、内部においてこの第1の乱数に基づき所定の論理で演算した数値と、入力された新たな第1の数値とを比較することにより、インストール制御部1の認証を行い、演算した数値と入力された新たな第1の数値双方が一致していることを検出した場合、制御部7aへ一致信号SNを出力し、一致しないことを検出した場合、一致信号SNを出力しない。
【0027】
次に、ステップS2において、インストール制御部1は、所定の演算により第2の乱数を発生し、カードインターフェース6を介して、この乱数をスマートカード7へ送信する。
これにより、スマートカード7の制御部7aは、この第2の乱数を所定の第2の論理演算式に基づき演算して、新たな第2の数値を発生し、カードインターフェース6を介して、この新たな第2の数値をインストール制御部1へ送信する。
そして、インストール制御部1は、内部においてこの乱数に基づき所定の論理で演算した数値と、入力された新たな第2の数値とを比較することにより、上記スマートカード7の認証を行い、双方の数値が一致していることを検出した場合、制御部7aへ一致信号SMを出力し、一致しないことを検出した場合、一致信号SMを出力しない。
そして、ステップS3において、インストール制御部1は、制御部7aから一致信号SNが入力され、かつ制御部7aへ一致信号SMを出力すると、双方においてチャレンジレスポンス方式による認証が成功したことを検出する。
【0028】
また、同様に、制御部7aは、インストール制御部1から一致信号SMが入力され、かつインストール制御部1へ一致信号SNを出力すると、双方においてチャレンジレスポンス方式による認証が成功したことを検出する。
インストール制御部1及び制御部7a双方が認証したことを検出すると、インストール処理を行うため、処理はステップS4へ進む。
このとき、インストール制御部1及び制御部7a双方またはいずれか一方において、識別信号の一致が検出されないとき、以降の処理に必要な各データ及び信号が生成されないため、インストールの処理は終了する。
【0029】
次に、ステップS4において、制御部7aは、インストール制御部1とにおける相互の認証の成功を検出したため、記憶部7bのライセンス数を「1」減らして、ライセンスの提供が1つ終了したことを記憶部7bの所定の領域へ記録する。
これにより、スマートカード7を用いて、ソフトウェアのインストールが行える回数が1つ減少したこととなる。
そして、ステップS5において、制御部7aは、ユニークかつ不可逆なインストールIDを生成し、記憶部7bの所定の領域に記憶するとともに、このインストールIDをインストール制御部1へ出力する。
【0030】
次に、ステップS6において、インストール制御部1は、上記インストールIDを入力することにより、ソフトウェアのインストール処理を開始する。
このとき、インストール制御部1は、スマートカード7の制御部7aに対して、記憶部7bに記憶されているインストールするソフトウェアの分割されたデータの送信を要求する要求信号を出力する。
そして、インストール制御部1は、分割されたデータが入力されたことを検出すると、この分割されたデータと、記録媒体読取器5から読み込んだソフトウェアのデータとを、記憶部3において結合し、インストールに必要なソフトウェアの完全なソフトウェアデータを生成し、このソフトウェアデータを用いてインストール処理を行う。
【0031】
<アンインストール動作>
使用するコンピュータを変更するため、パーソナルコンピュータPCからソフトウェアをアンインストールすることとして説明を行う。
利用者は、カードインターフェース6にスマートカード7を挿入し、ソフトウェアのアンインストール作業を開始する。
【0032】
図3に示すステップS11において、利用者がアンインストール作業の処理を要求する要求信号をパーソナルコンピュータPCへ入力することにより、インストール制御部1及び制御部7aは、アンインストール処理を開始する。
そして、スマートカード7の制御部7aは、所定の演算により第1の乱数を発生し、カードインターフェース6を介して、この発生した乱数をインストール制御部1へ送信する。
これにより、インストール制御部1は、内部において入力される第1の乱数を所定の第1の論理演算式に基づき演算して、新たな第1の数値を発生し、カードインターフェース6を介して、この新たな数値を制御部7aへ送信する。
そして、制御部7aは、内部においてこの第1の乱数に基づき所定の論理で演算した数値と、入力された新たな第1の数値とを比較することにより、インストール制御部1の認証を行い、演算した数値と入力された新たな第1の数値双方が一致していることを検出した場合、制御部7aへ一致信号SNを出力し、一致しないことを検出した場合、一致信号SNを出力しない。
【0033】
次に、ステップS12において、インストール制御部1は、所定の演算により第2の乱数を発生し、カードインターフェース6を介して、この乱数をスマートカード7へ送信する。
これにより、スマートカード7の制御部7aは、この第2の乱数を所定の第2の論理演算式に基づき演算して、新たな第2の数値を発生し、カードインターフェース6を介して、この新たな第2の数値をインストール制御部1へ送信する。
そして、インストール制御部1は、内部においてこの乱数に基づき所定の論理で演算した数値と、入力された新たな第2の数値とを比較することにより、上記スマートカード7の認証を行い、双方の数値が一致していることを検出した場合、制御部7aへ一致信号SMを出力し、一致しないことを検出した場合、一致信号SMを出力しない。
そして、ステップS13において、インストール制御部1は、制御部7aから一致信号SNが入力され、かつ制御部7aへ一致信号SMを出力すると、双方においてチャレンジレスポンス方式による認証が成功したことを検出する。
【0034】
また、同様に、制御部7aは、インストール制御部1から一致信号SMが入力され、かつインストール制御部1へ一致信号SNを出力すると、双方において認証が成功したことを検出する。
インストール制御部1及び制御部7a双方が認証の成功を検出すると、アンインストール処理を行うため、処理はステップS14へ進む。
このとき、インストール制御部1及び制御部7a双方またはいずれか一方において、認証が成功しないとき、以降の処理に必要な各データ及び信号が生成されないため、アンインストールの処理は終了する。
【0035】
次に、ステップS14において、インストール制御部1は、識別番号の一致を検出したため、記憶部3に記憶されているインストールIDを読み出し、このインストールIDを、カードインターフェース6を介してスマートカード7の制御部7aへ出力する。
そして、制御部7aは、インストール制御部1から入力されるインストールIDと、記憶部7bから読み出すインストールIDとを比較し、一致していることを確認すると処理をステップS15へ進める。
【0036】
次に、ステップS15において、制御部7aは、インストールIDの一致を検出したため、記憶部7bのライセンス数を「1」増加させて、ライセンスの提供が1つ増えたことを記憶部7bの所定の領域へ記録する。
これにより、スマートカード7を用いて、ソフトウェアのインストールが行える回数が1つ増加したこととなる。
このとき、制御部7aは、記憶部7bのインストールIDを削除する。
そして、ステップS16において、インストール制御部1は、記憶部3に展開されているソフトウェアを消去し、また記憶部3からインストールIDを削除し、アンインストール処理を終了する。
【0037】
<ライセンス復旧時のリカバリ動作>
パーソナルコンピュータPCのOSに異常(障害)が発生し、ハードディスクの交換を行う必要があるため、パーソナルコンピュータPCを廃棄し、新たなパーソナルコンピュータPPCによりスマートカード7内のライセンス数を復旧する処理(このパーソナルコンピュータPCにライセンス供与した数をスマートカード7の記憶部7bのライセンス数を1つ増加させる、すなわちパーソナルコンピュータPCにライセンスを供与する前の状態にライセンス数を戻す)を前提として、以下のリカバリ動作の説明を行う。
【0038】
図4に示すステップS21において、利用者は、パーソナルコンピュータPPCに、スマートカード7のライセンス数をリカバリ(復旧)するため、ネットワークを介して、ライセンス復旧サーバ8からライセンス復旧用ソフトウェアをダウンロードし、このパーソナルコンピュータPPC内部の記憶部に記憶させる。
また、ソフトウェア配布媒体(インストールするソフトウェアが記録された記録媒体)に同梱されていた場合には、パーソナルコンピュータPPCに接続された記録媒体読取器(図示しない)から読み出し、このパーソナルコンピュータPPCの内部の記憶部に記憶させる。
パーソナルコンピュータPPCには、スマートカード7との間において、データの送受信を行うためのインターフェースとして、パーソナルコンピュータPCで使用されたカードインターフェース6が接続されている。
そして、利用者は、上記ライセンス復旧用ソフトウェアを起動し、ライセンス復旧処理を開始する。
【0039】
次に、ステップS22において、利用者は、カードインターフェース6にスマートカード7を挿入し、パーソナルコンピュータPPCに対して、復旧処理の開始信号を入力する。
そして、パーソナルコンピュータPPCは、画像表示により、利用者に対して、インストールIDの入力を促すとともに、カードインターフェース6を介して、制御部7aに対して記憶部7bからインストールIDを読み出し、インストールIDの確認を要求する要求信号を、スマートカード7に対して出力する。
【0040】
これにより、利用者はキーボード等から、いずれかに記録していたインストールIDを、パーソナルコンピュータPPCに入力する。
次に、パーソナルコンピュータPPCは、利用者の入力したインストールIDをスマートカード7へ出力する。
そして、制御部7aは、入力された上記インストールIDと、記憶部7bから読み出したインストールIDとが一致するか否かの判定を行う。
【0041】
次に、ステップS23において、制御部7aは、パーソナルコンピュータPPCから入力されたインストールIDと、記憶部7bから読み出したインストールIDとが一致した場合、処理をステップS24へ進め、一方、一致しない場合処理を終了する。
そして、ステップS24において、制御部7aは、カードを識別するカードID,アンインストールした回数であるアンインストール回数よりなるリカバリ要求情報を生成し、暗号化処理を行い、かつ改竄防止の署名処理をする。
【0042】
次に、制御部7aは、この暗号化したリカバリ情報をライセンス復旧サーバ8への送信を要求する要求信号とともに、パーソナルコンピュータPPCに出力する。
これにより、パーソナルコンピュータPPCは、上記要求信号に基づき、入力される暗号化されたリカバリ情報をライセンス復旧サーバ8へ送信する。
【0043】
次に、ステップS25において、ライセンス復旧サーバ8は、入力される暗号化されたリカバリ要求情報の復号化及び署名の認証を行う。
そして、ライセンス復旧サーバ8は、入力されたリカバリ情報に基づき、リカバリ処理の実行の可否を判定する。
すなわち、ライセンス復旧サーバ8は、リカバリ要求の回数(すなわちアンインストール回数)が所定のアンインストール回数を超えているか否かを検出(同一のスマートカードまたは同一のユーザからのアンインストール回数が平均的な頻度を超えているか否かを検出)するインストール回数累計検査,カードIDに基づき図示しないデータベースにおいて、不正が行われたことがあるか,紛失または盗難の届けの出ているスマートカードとしてデータが登録されているか否かの検出を行うブラックリスト検査等の検査を行う。
【0044】
そして、ステップS26において、ライセンス復旧サーバ8は、▲1▼インストール回数累計検査で所定の設定値の範囲のアンインストール回数であること(アンインストール回数が平均的なアンインストール回数を超えていない状態であること)が検出され、また、▲2▼ブラックリスト検査で不正が行われたことがなく(不正使用フラグが不正の行われていない状態となっている),紛失届けがでていない(紛失届けフラグが紛失届けの出ていない状態となっている),盗難の届けの出ていない(盗難の届けフラグが盗難届の出されていない状態となっている)の3つの検出項目の登録状態が全て検出されると、すなわち上記▲1▼,▲2▼の状態が検出された場合、復旧処理を行うことが可能であることを検出して、処理をステップS27へ進める。
また、復旧要求頻度検査において、平均的な頻度を超えるリカバリ要求回数が認められたユーザに対しては、システムによる自動的なリカバリ処理ではなく、サポート担当者によるリカバリ処理で対応する。
【0045】
一方、ステップS26において、ライセンス復旧サーバ8は、▲3▼インストール回数累計検査で所定の設定値の範囲のアンインストール回数を超えていることが検出されるか、または▲4▼ブラックリスト検査で不正が行われたことがある(不正使用フラグが不正の行われた状態となっている),紛失届けが出ている(紛失届けフラグが紛失届けの出ている状態となっている),盗難の届けが出ている(盗難の届けフラグが盗難届の出された状態となっている)かの▲3▼,▲4▼の2つの検出項目の、いずれかの状態が検出されると、復旧処理を行えない状態であることを検出して、リカバリの処理を終了する。
したがって、ライセンス復旧サーバ8は、復旧要求頻度検査,ブラックリスト検査,及びインストール回数累計検査を各種検査を行い、この検査の検出結果に基づき、リカバリを行うか否かの判定を行う。
【0046】
次に、ステップS27において、ライセンス復旧サーバ8は、リカバリ許可信号を生成して暗号化し、この暗号化したリカバリ許可信号を、スマートカード7への送信を要求する要求信号とともに、パーソナルコンピュータPPCに対して送信する。
そして、ステップS28において、パーソナルコンピュータPPCは、入力される上記要求信号に基づき、カードインターフェース6を介して、暗号化されたリカバリ許可信号をスマートカード7へ送信する。
【0047】
そして、スマートカード7の制御部7aは、入力される暗号化されたリカバリ許可信号を復号化し、この復号化したリカバリ許可信号に基づき、ライセンス数の復旧処理を行う。
すなわち、制御部7aは、上記リカバリ許可信号が入力されたことを検知すると、記憶部7bに記憶されているライセンス数を「1」増加させるとともに、記憶部7bに記憶されているリカバリフラグをリカバリが行われていない状態(「0」)から、リカバリが行われたことを示す状態(「1」)へ書き換え、ライセンス数の復旧処理を終了する。
【0048】
以上、本発明の一実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
上述の一実施形態の説明においては、スマートカード7を用いたインストール処理として、インストールするソフトウェアを1種類の場合で説明した。
しかしながら、スマートカード7を、複数のソフトウェアのインストール処理に対応させて作成することも可能である。
【0049】
すなわち、スマートカード7の記憶部7bに、インストールするソフトウェアの種類毎に対応させて、インストーラとの相互認証を行うための識別番号をソフトウェア毎に設定し、この識別番号毎に対応させてテーブルを作成して、この識別番号毎に、第2の論理演算式,ライセンス数,インストールID,リカバリフラグ,アンインストール回数、インストールするソフトウェアの分割したデータ等の必要なデータを記憶させるようにしてもよい。
【0050】
このとき、ネットワークまたは記録媒体読取器5からインストールするソフトウェアを読み込むが、このソフトウェアに含まれるインストーラは、上記識別番号毎に対応して、第1の論理演算式が設定されているため、スマートカード7がこの識別番号に対応して記憶部7bのテーブルに対して各データ(第1の論理演算式など)の書き込み及び読み出しを行うこと以外、ソフトウェアのインストール処理は、一実施形態の動作と同様に、図2,図3,図4のフローチャートに従い行われる。
さらに、インストールするソフトウェアのデータを分割するとき、スマートカード毎にランダムに分割する場所及びデータ量を変更するようにしてもよい。
これにより、本発明のソフトウェア不正使用防止システムは、スマートカード7の偽造がさらに困難となる効果がある。
【0051】
上述したように、本発明のソフトウェア不正使用防止システムは、インストーラ(インストール制御部1)を認証する第2の論理演算式などのライセンス情報が記憶部7bに記憶され、インストーラに第1の論理演算式が記憶されているため、インストール制御部1と制御部7aとで発生した乱数をそれぞれ他方へ出力し、他方で各々の論理演算式で演算した新たな数値を入力し、この新たな数値と、自身で発生した乱数を処理の論理で演算した数値との比較を行い、一致した場合のみに、相互の認証が成功したとして、インストール作業を行うようにしているため、認証番号及びライセンス数を書きかえる等のライセンス情報の偽造が困難であり、ソフトウェアの不正なインストールを防止することができる。
【0052】
また、本発明のソフトウェア不正使用防止システムは、記録媒体読取器5からインストールするソフトウェアを読み込む場合、インストールに必要とする識別手段として、スマートカード7のみが有れば良く、オンライン登録を行う必要がなく、ソフトウェアのインストールの認証に通信環境が不要であり、インストール/アンインストール時にスマートカード7を使用するだけで済み、利用者を管理するサーバやオペレータ及びコールセンタの設置等の通信環境の設備の必要がソフトウェアの配給元に無く、かつ、利用者のこの通信環境に対する費用負担及び運用負担が低減する効果があり、かつ、ソフトウェアの配給元にインストール/アンインストールにおけるライセンス管理が厳重に行われることが無くなるため、利用者の使いやすさの程度が向上する効果がある。
【0053】
さらに、本発明のソフトウェア不正使用防止システムは、一枚のスマートカード7を、複数のインストールプログラムのライセンス管理に対応させることができるため、複数のソフトウェア毎にインストール/アンインストール時の認証用の手段が必要なくなるため、ソフトウェアの配給元及び利用者のライセンス管理が容易となり、かつ認証用のスマートカード7が複数の種類のソフトウェアのライセンス供与に対して1枚で済みために費用を削減することができる。
【0054】
加えて、本発明のソフトウェア不正使用防止システムは、インストール及びアンインストール時のみ、スマートカード7をカードインターフェース6に挿入して、ソフトウェアとスマートカード7との認証処理(チャレンジレスポンス方式による認証)及びインストールIDの認証を行えば良いため、ライセンス供与をうける複数のパーソナルコンピュータに対して、スマートカード7及びカードインターフェース6(例えば、スマートカードリーダ/ライタ)が1組あればよく、特別なライセンス確認のハードウェアを用いる必要がないため、利用者の費用負担が低減され、かつ、インストール及びアンインストールが完了するとカードインターフェース6を取り外すため、コンピュータ運用環境を従来と同様にできる効果がある。
【0055】
さらに、また、本発明のソフトウェア不正使用防止システムは、インストール及びアンインストール時に、スマートカード7及びカードインターフェース6を使用するのみなので、従来のように、ソフトウェアの利用者がパーソナルコンピュータ毎にユニークなIDを有する装置が接続されているか等の装置環境を考慮する必要がないので、多くのパーソナルコンピュータに対して、一斉に、ソフトウェアのインストール及びアンインストールの処理の効率を向上させる効果がある。
【0056】
また、さらに、本発明のソフトウェア不正使用防止システムは、ライセンス復旧サーバ8を設けることにより、ライセンス供与を受けたソフトウェアがインストールされているパーソナルコンピュータに障害が発生した場合、オンラインでスマートカード7におけるライセンス数の復旧処理が行われるため、ソフトウェア配給元のオペレータによる処理などが必要なく人件費が抑制でき、また利用者もカードインターフェース6にスマートカード7を挿入するのみで済むため、リカバリ操作に必要な時間を低減することにより処理効率が向上するため、ソフトウェア配給元及び利用者双方の費用負担が低減される効果がある。
【0057】
次に、本発明の実施の形態によるコンピュータが実行するためのプログラムについて説明する。
図1におけるソフトウェア不正使用防止システムにおける、パーソナルコンピュータPC及びスマートカード7の各コンピュータシステムのCPUが実行するためのプログラムは、本発明によるプログラムを構成する。
このプログラムを格納するための記録媒体としては、光磁気ディスク、光ディスク、半導体メモリ、磁気記録媒体等を用いることができ、これらをROM、RAM、CD−ROM、フレキシブルディスク、メモリカード等に構成して用いてよい。
【0058】
また上記記録媒体は、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部のRAM等の揮発性メモリのように、一定時間プログラムを保持するものも含まれる。
また上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータシステムに伝送されるものであってもよい。上記伝送媒体とは、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体をいうものとする。
【0059】
また、上記プログラムは、前述した機能の一部を実現するためであってもよい。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0060】
従って、このプログラムを図1のシステム又は装置とは異なるシステム又は装置において用い、そのシステム又は装置のコンピュータがこのプログラムを実行することによっても、上記実施の形態で説明した機能及び効果と同等の機能及び効果を得ることができ、本発明の目的を達成することができる。
【0061】
以上、本発明の一実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【0062】
【発明の効果】
上述してきたように、本発明のソフトウェア不正使用防止システムによれば、インストーラ(インストール制御部)を認証する所定の論理演算式などのライセンス情報が記憶部に記憶され、インストーラに他の論理演算式が記憶されているため、インストール制御部とスマートカードとで発生した乱数をそれぞれ他方へ出力し、他方で各々の論理演算式で演算した新たな数値を入力し、この新たな数値と、自身で発生した乱数を処理の論理で演算した数値との比較を行い、一致した場合のみに、相互の認証が成功したとして、インストール作業を行うようにしているため、認証番号及びライセンス数を書きかえる等のライセンス情報の偽造が困難であり、ソフトウェアの不正なインストールを防止することができる
【0063】
また、本発明のソフトウェア不正使用防止システムによれば、記憶媒体からインストールするソフトウェアを読み込む場合、インストールに必要とする識別手段として、スマートカードのみが有れば良く、ソフトウェアのインストールの認証に通信環境が不要であり、インストール/アンインストール時にスマートカード7を使用するだけで済み、利用者を管理するサーバやオペレータ及びコールセンタの設置等の通信環境の設備の必要がソフトウェアの配給元に無く、かつ、利用者のこの通信環境に対する費用負担及び運用負担が低減する効果があり、かつ、ソフトウェアの配給元にインストール/アンインストールにおけるライセンス管理が厳重に行われることが無くなるため、利用者の使いやすさの程度が向上する効果がある。
【図面の簡単な説明】
【図1】本発明の一実施形態によるソフトウェア不正使用防止システムの構成例を示すブロック図である。
【図2】図1のソフトウェア不正使用防止システムにおけるインストールの動作例を示すフローチャートである。
【図3】図1のソフトウェア不正使用防止システムにおけるアンインストールの動作例を示すフローチャートである。
【図4】図1のソフトウェア不正使用防止システムにおけるリカバリの動作例を示すフローチャートである。
【符号の説明】
1 インストール制御部
3,7b 記憶部
4 インターフェース
5 記録媒体読取器
6 カードインターフェース
7 スマートカード
7a 制御部
8 ライセンス復旧サーバ
PC,PPC パーソナルコンピュータ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention is a software unauthorized use prevention system that prevents unauthorized use of software, particularly, unauthorized installation without a license (permission to use).
[0002]
[Prior art]
2. Description of the Related Art In recent years, personal computers have rapidly spread, and with this, many application softwares have been recorded on recording media (such as compact discs) or distributed via networks.
However, since the application software is digital data, the data can be easily copied, and the copyright of the software maker is often infringed.
[0003]
For this reason, in the conventional prevention of unauthorized use, a CD (code) key (for example, a license key, a serial key, etc.) is attached to a distribution file, and is input by a user at the time of installation, and the CD key is checked. A method for preventing unauthorized installation performed by copying the recording medium by comparing whether the CD key recorded on the recording medium matches the CD key input at the time of installation is used. ing.
[0004]
[Problems to be solved by the invention]
However, in the above-described prevention method, the CD key is copied to the recording medium, and at the same time, the CD key is obtained by some method, so that one license (valid CD key) uses a plurality of illegal recording media, It is easily installed on a plurality of computers, and it is difficult to obtain a sufficient prevention effect.
[0005]
For this reason, as a prevention method, (1) registration to the server online is required for continued use after installation, so that only license units can be registered, and unauthorized users (users who have performed unauthorized installation) (2) The configuration is such that special hardware for preventing unauthorized use is connected to the computer, and authentication processing such as an identification number is performed between the hardware and the installed software to identify the computer. 3. Use of software is permitted only when it is confirmed that the user has the right to use the software (has legitimacy) because the numbers match, etc. (3) Hardware having a unique ID (for example, LAN (Local Area Network) card) installed on the connected computer and when the software starts By judging whether or not hardware that matches the stored ID is connected, the entire hard disk is copied and prevented from being used by another computer. I have.
[0006]
However, the method (1) requires a server, an operator, and a call center to manage all users, which raises the problem of high operating costs at the vendors. However, there is a drawback that the user cannot connect to a computer not connected to the network.
[0007]
In the method of preventing (2), since the above-mentioned dedicated hardware is connected to the computer using the target software, it is necessary to attach license confirmation hardware to the software. There is a problem that the price of the software package is high.
Further, in the method of preventing (3), a device having a unique ID needs to be connected to a computer, and hardware having a unique ID such as a LAN card is not necessarily connected to any computer. However, there is a problem that some computers cannot use the software.
[0008]
The present invention has been made under such a background, and there is no need to register online, without connecting special dedicated hardware, and without connecting hardware having a unique ID. Another object of the present invention is to provide a software unauthorized use prevention system capable of preventing unauthorized installation and use of software.
[0009]
[Means for Solving the Problems]
The system for preventing unauthorized use of software according to the present invention includes a smart card storing installation information having a predetermined logical operation expression (a predetermined second logical operation expression) and a license number indicating the number of installable times; An installation control unit that stores a logical operation expression (predetermined first logical operation expression) and installs software, wherein the smart card and the installation control unit generate random numbers (first random number and Performing authentication processing by a challenge response method using the random number of the material 2) and each of the logical operation expressions, determining whether or not the installation is possible, and reducing the number of licenses each time the smart card completes the software installation. It is characterized by.
[0010]
The software unauthorized use prevention system of the present invention compares the installation identification number created by the smart card at the time of installation and written to the installation control unit with the installation identification number read from the installation control unit, When the presence is detected, the software is uninstalled, and when the uninstallation is completed, the number of licenses is increased.
[0011]
The software unauthorized use prevention system according to the present invention is characterized in that data of software to be installed is divided, and the smart card stores a part of the divided data.
The system for preventing unauthorized use of software according to the present invention is characterized in that the smart card has installation information of a plurality of software.
[0012]
The system for preventing unauthorized use of software according to the present invention is a card for generating a smart card, recovery presence / absence information, uninstallation count information, and a smart card identification card when a computer on which the software is installed fails and the software cannot be used. It is characterized by having a license recovery server that determines whether or not the number of licenses of the smart card can be recovered based on the recovery information having the identification number.
[0013]
The method for preventing unauthorized use of software according to the present invention includes a step of storing installation information having a predetermined logical operation expression and the number of licenses indicating the number of installable times in a smart card, and installing and controlling a predetermined other logical operation expression. The smart card and the installation control unit perform authentication processing by a challenge response method using random numbers generated by the smart card and the logical operation formulas, and determine whether the installation is possible. And controlling the number of licenses each time the smart card completes installation of the software.
The method for preventing unauthorized use of software according to the present invention is characterized in that the method includes a step of reading out divided software of the software to be installed from the smart card.
[0014]
The software unauthorized use prevention program according to the present invention includes a storage process for storing, in a smart card, installation information having a predetermined logical operation expression and a license number indicating the number of installable times, and installing and controlling a predetermined other logical operation expression. The smart card and the installation control unit perform authentication processing by a challenge response method using random numbers generated by the smart card and the logical operation expressions, and determine whether the installation is possible. And a license number control process for reducing the number of licenses each time the smart card completes the installation of the software.
A medium on which the software unauthorized use prevention program of the present invention is recorded is a computer-readable recording medium on which the software unauthorized use prevention program is recorded.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a software unauthorized use prevention system according to an embodiment of the present invention.
In FIG. 1, an installation control unit 1 is a functional unit that is realized by operating a CPU (Central Processing Unit) (not shown) in a computer PC by an installer stored in a storage unit 3, but is configured by hardware. It doesn't matter.
[0016]
The storage unit 3 is stored in an executable state by installing software.
In addition, a program for realizing the function of the installation control unit 1 is installed in the storage unit 3 at the time of installation.
The interface 4 is used when inputting data of an installer or software to be installed via a network.
Here, the network is an information communication network, and includes the Internet, the public, a dedicated information communication network (circuit network), and the like.
Then, the installation control unit 1 stores each data (such as data of software to be installed) input via the interface 4 in a predetermined area of the storage unit 3.
[0017]
Here, the installer is a program having a function of performing software installation and uninstallation processing, is included in the software to be installed, and is activated when installation and uninstallation are performed.
The installer also stores a similar identification number corresponding to the identification number of the software stored in the storage unit 7b of the smart card 7.
That is, the smart card 7 and the software to be installed are configured to correspond one-to-one with the identification number of the software.
[0018]
The storage medium reader 5 is used when inputting data of an installer or software to be installed via a recording medium (such as a compass disc or a DVD (digital video disc)). Is stored in the storage unit 3 under the control of the installation control unit 1.
The card interface 6 converts the voltage level of a signal between the smart card (or IC (integrated circuit) card) 7 and the installation control unit 1 and transmits and receives data (further, depending on the type of the smart card). This is an interface for performing a process of writing, rewriting and erasing data (in some cases, a smart card reader / writer), and is used by connecting to each personal computer PC when performing an install / uninstall / recovery process. (Remove when not needed).
[0019]
The smart card 7 includes a control unit 7a and a storage unit 7b. The control unit 7a writes, reads, and rewrites data to and from the storage unit 7b in accordance with a control signal from the card interface 6. .
The storage unit 7b stores in advance installation information including an identification number for each software, which identifies the software, and a number of licenses defining the number of installations of the software, when the product is shipped from the factory.
[0020]
Here, the number of installations is a numerical value calculated assuming that the number of licenses is "1" when installed on one computer, and is the number of personal computers to which licenses are provided, that is, the smart card 7 (actually, the storage unit). 7b) shows the number of computers on which the software of the identification number stored in 7b) can be installed.
The installation control unit 1 generates a second random number by a predetermined operation, transmits the second random number to the smart card 7, and the smart card 7 performs a predetermined second logical operation based on the second random number. By inputting the second numerical value calculated by the equation, and comparing the second numerical value with a numerical value calculated by a predetermined logic based on the second random number generated by itself, the smart card 7 Authentication is performed, and when it is detected that both values match, a match signal SM is output to the control unit 7a.
[0021]
Further, the control unit 7a of the smart card 7 generates a first random number by a predetermined calculation, transmits the first random number to the installation control unit 1, and the installation control unit 1 A first numerical value calculated by a predetermined first logical operation expression is input, and the first numerical value is compared with a numerical value calculated by a predetermined logic based on the first random number generated by itself. Then, the authentication of the installation control unit 1 is performed, and when it is detected that both values match, a match signal SN is output to the control unit 7a.
In the above-described installation control unit 1 and the smart card 7, the method of mutually authenticating each other by the respective logical operation expressions is referred to as a challenge response method.
When the match signal SN is input from the control unit 7a and the match signal SM is output to the control unit 7a, the installation control unit 1 detects that both are authenticated, and starts the software installation process.
[0022]
Further, when the match signal SM is input from the install control unit 1 and the match signal SN is output to the install control unit 1, the control unit 7a detects that both are authenticated, and determines “1” from the license count. (Reduce the number of licenses).
Further, upon detecting that the identification numbers match on both sides, the control unit 7a generates a unique (unique and distinguishable) and irreversible installation ID, saves it in the storage unit 7b, and installs this installation ID. Output to the control unit 1.
Here, irreversible is used in the sense that even if a plurality of generated installation IDs are analyzed, the arithmetic expression that generated them cannot be estimated (for example, hash value generation using a unique value and encryption). Generation method by irreversible operation combining the above).
[0023]
Also, the divided part of the divided software data to be installed is stored in the storage unit 7b, and when the installation process is started, the control unit 7a sends the install control unit 1 via the card interface 6 to the install control unit 1. And output a part of this software data.
That is, all the software data required for installation may be supplied via a network and a recording medium, or may be distributed in a divided manner.
When the software data is divided, a part of the divided software data is stored in the storage unit 7b of the smart card 7 before shipment from the factory.
The storage unit 7b stores a card ID for identifying the smart card 7 at the time of shipment from the factory.
[0024]
When the uninstallation is performed, the control unit 7a of the smart card 7 creates the installation ID created at the time of installation and transmits the installation ID (the installation ID written to the storage unit 3 via the installation control unit 1 and the card interface 6 to the storage unit 3). ID) and the installation ID read from the storage unit 7b, and when it is detected that they match, "1" is added to the license number of the installation information in the storage unit 7b.
When detecting that the comparisons of the installation IDs match, the control unit 7a requests the installation control unit 1 to uninstall the software.
Thereby, the installation control unit 1 performs a process of uninstalling the software.
[0025]
Next, an operation example of one embodiment will be described with reference to FIGS. 1, 2, 3, and 4. FIG. FIG. 2 is a flowchart showing an operation example of installation, FIG. 3 is a free chart showing an operation example of uninstallation, and FIG. 4 is a flowchart showing an operation example of recovery at the time of failure.
<Installation operation>
As a premise, the installation control unit 1 reads software data required for installation from the recording medium reader 5 or the network, and stores the software data in the storage unit 3.
[0026]
Then, it is assumed that the user inserts the smart card 7 into the card interface 6 and starts the installation work.
In step S1 shown in FIG. 2, when the user inputs a request signal requesting the processing of the installation work to the personal computer PC, the installation control section 1 and the control section 7a start the installation processing.
Then, the control unit 7 a of the smart card 7 generates a first random number by a predetermined calculation, and transmits the generated random number to the install control unit 1 via the card interface 6.
As a result, the installation control unit 1 calculates a first random number input internally based on a predetermined first logical operation expression to generate a new first numerical value, and via the card interface 6, This new numerical value is transmitted to the control unit 7a.
Then, the control unit 7a internally authenticates the installation control unit 1 by comparing a numerical value calculated by a predetermined logic based on the first random number with the input new first numerical value, When it is detected that both the calculated numerical value and the new input first numerical value match, a match signal SN is output to the control unit 7a, and when it is detected that they do not match, the match signal SN is not output. .
[0027]
Next, in step S2, the installation control unit 1 generates a second random number by a predetermined calculation, and transmits this random number to the smart card 7 via the card interface 6.
Thus, the control unit 7a of the smart card 7 calculates the second random number based on the predetermined second logical operation formula, generates a new second numerical value, and generates the new second numerical value via the card interface 6. The new second numerical value is transmitted to the installation control unit 1.
Then, the installation control unit 1 internally authenticates the smart card 7 by comparing a numerical value calculated by a predetermined logic based on the random number with a new input second numerical value. When it is detected that the numerical values match, the matching signal SM is output to the control unit 7a, and when it is detected that they do not match, the matching signal SM is not output.
Then, in step S3, when the match signal SN is input from the control unit 7a and the match signal SM is output to the control unit 7a, the installation control unit 1 detects that the authentication by the challenge response method has succeeded in both.
[0028]
Similarly, when the match signal SM is input from the install control unit 1 and the match signal SN is output to the install control unit 1, the control unit 7a detects that the authentication by the challenge response method has succeeded in both.
When both the install control unit 1 and the control unit 7a detect that the authentication has been performed, the process proceeds to step S4 to perform the install process.
At this time, when the installation control unit 1 and / or the control unit 7a do not detect the coincidence of the identification signals, the data and signals necessary for the subsequent processing are not generated, and the installation processing ends.
[0029]
Next, in step S4, the control unit 7a detects that the mutual authentication with the installation control unit 1 has succeeded, so that the number of licenses in the storage unit 7b is reduced by “1” and the provision of one license is terminated. Recording is performed in a predetermined area of the storage unit 7b.
As a result, the number of times that software can be installed using the smart card 7 is reduced by one.
Then, in step S5, the control unit 7a generates a unique and irreversible installation ID, stores it in a predetermined area of the storage unit 7b, and outputs this installation ID to the installation control unit 1.
[0030]
Next, in step S6, the installation control unit 1 starts the software installation process by inputting the installation ID.
At this time, the installation control unit 1 outputs a request signal requesting the control unit 7a of the smart card 7 to transmit the divided data of the software to be installed stored in the storage unit 7b.
When the installation control unit 1 detects that the divided data has been input, the installation control unit 1 combines the divided data with the data of the software read from the recording medium reader 5 in the storage unit 3, and installs the divided data. Then, complete software data of software required for the software is generated, and an installation process is performed using the software data.
[0031]
<Uninstall operation>
The description will be made assuming that software is uninstalled from the personal computer PC in order to change the computer to be used.
The user inserts the smart card 7 into the card interface 6 and starts a software uninstallation operation.
[0032]
In step S11 shown in FIG. 3, when the user inputs a request signal for requesting the process of the uninstallation work to the personal computer PC, the install control unit 1 and the control unit 7a start the uninstall process.
Then, the control unit 7 a of the smart card 7 generates a first random number by a predetermined calculation, and transmits the generated random number to the install control unit 1 via the card interface 6.
As a result, the installation control unit 1 calculates a first random number input internally based on a predetermined first logical operation expression to generate a new first numerical value, and via the card interface 6, This new numerical value is transmitted to the control unit 7a.
Then, the control unit 7a internally authenticates the installation control unit 1 by comparing a numerical value calculated by a predetermined logic based on the first random number with the input new first numerical value, When it is detected that both the calculated numerical value and the new input first numerical value match, a match signal SN is output to the control unit 7a, and when it is detected that they do not match, the match signal SN is not output. .
[0033]
Next, in step S12, the installation control unit 1 generates a second random number by a predetermined calculation, and transmits this random number to the smart card 7 via the card interface 6.
Thus, the control unit 7a of the smart card 7 calculates the second random number based on the predetermined second logical operation formula, generates a new second numerical value, and generates the new second numerical value via the card interface 6. The new second numerical value is transmitted to the installation control unit 1.
Then, the installation control unit 1 internally authenticates the smart card 7 by comparing a numerical value calculated by a predetermined logic based on the random number with a new input second numerical value. When it is detected that the numerical values match, the matching signal SM is output to the control unit 7a, and when it is detected that they do not match, the matching signal SM is not output.
Then, in step S13, when the match signal SN is input from the control unit 7a and the match signal SM is output to the control unit 7a, the installation control unit 1 detects that the authentication by the challenge response method has succeeded in both.
[0034]
Similarly, when the match signal SM is input from the install control unit 1 and the match signal SN is output to the install control unit 1, the control unit 7a detects that the authentication is successful in both.
When both the installation control unit 1 and the control unit 7a detect the success of the authentication, the process proceeds to step S14 to perform the uninstallation process.
At this time, if the authentication is not successful in both or one of the installation control unit 1 and the control unit 7a, the data and signals required for the subsequent processing are not generated, and the uninstallation processing ends.
[0035]
Next, in step S14, since the installation control unit 1 has detected the coincidence of the identification numbers, the installation control unit 1 reads the installation ID stored in the storage unit 3 and controls the smart card 7 via the card interface 6 to control the installation ID. Output to the unit 7a.
Then, the control unit 7a compares the install ID input from the install control unit 1 with the install ID read from the storage unit 7b, and if it is determined that they match, the process proceeds to step S15.
[0036]
Next, in step S15, the control unit 7a increases the number of licenses in the storage unit 7b by "1" since the control unit 7a detects the coincidence of the installation IDs, and notifies the storage unit 7b that the number of licenses has increased by one. Record in the area.
This means that the number of times that software can be installed using the smart card 7 has been increased by one.
At this time, the control unit 7a deletes the installation ID from the storage unit 7b.
Then, in step S16, the installation control unit 1 deletes the software developed in the storage unit 3, deletes the installation ID from the storage unit 3, and ends the uninstallation process.
[0037]
<Recovery operation at license recovery>
Since an error (failure) occurs in the OS of the personal computer PC and it is necessary to replace the hard disk, the personal computer PC is discarded, and the number of licenses in the smart card 7 is restored by a new personal computer PPC (this process). Assuming that the number of licenses provided to the personal computer PC is increased by one in the storage unit 7b of the smart card 7, that is, the number of licenses is returned to the state before the license is provided to the personal computer PC). The operation will be described.
[0038]
In step S21 shown in FIG. 4, the user downloads license recovery software from the license recovery server 8 via the network in order to recover (recover) the number of licenses of the smart card 7 to the personal computer PPC. It is stored in a storage unit inside the personal computer PPC.
In the case where the package is bundled with a software distribution medium (a recording medium on which software to be installed is recorded), the data is read out from a recording medium reader (not shown) connected to the personal computer PPC, and is stored in the personal computer PPC. In the storage unit.
The card interface 6 used in the personal computer PC is connected to the personal computer PPC as an interface for transmitting and receiving data to and from the smart card 7.
Then, the user starts the license recovery software and starts the license recovery processing.
[0039]
Next, in step S22, the user inserts the smart card 7 into the card interface 6 and inputs a recovery processing start signal to the personal computer PPC.
Then, the personal computer PPC prompts the user to input an installation ID by displaying an image, reads the installation ID from the storage unit 7b to the control unit 7a via the card interface 6, and reads the installation ID. A request signal requesting confirmation is output to the smart card 7.
[0040]
As a result, the user inputs the installation ID recorded on one of them from the keyboard or the like to the personal computer PPC.
Next, the personal computer PPC outputs the installation ID input by the user to the smart card 7.
Then, the control unit 7a determines whether or not the input install ID matches the install ID read from the storage unit 7b.
[0041]
Next, in step S23, when the install ID input from the personal computer PPC matches the install ID read from the storage unit 7b, the control unit 7a advances the process to step S24. To end.
Then, in step S24, the control unit 7a generates recovery request information including the card ID for identifying the card and the number of uninstallations, which is the number of times of uninstallation, performs encryption processing, and performs signature processing for falsification prevention. .
[0042]
Next, the control unit 7a outputs the encrypted recovery information to the personal computer PPC together with a request signal for requesting transmission to the license recovery server 8.
Thereby, the personal computer PPC transmits the input encrypted recovery information to the license recovery server 8 based on the request signal.
[0043]
Next, in step S25, the license recovery server 8 decrypts the input encrypted recovery request information and authenticates the signature.
Then, the license recovery server 8 determines whether or not to execute the recovery process based on the input recovery information.
That is, the license recovery server 8 detects whether the number of recovery requests (that is, the number of uninstalls) exceeds a predetermined number of uninstalls (the number of uninstalls from the same smart card or the same user is an average). Data is registered as a smart card that has been tampered with or has been reported to have been lost or stolen in a database (not shown) based on the card ID. An inspection such as a blacklist inspection for detecting whether or not the inspection has been performed is performed.
[0044]
Then, in step S26, the license recovery server 8 determines that (1) the cumulative number of installations indicates that the number of times of uninstallation is within a predetermined set value range (when the number of times of uninstallation does not exceed the average number of times of uninstallation). Is detected), and (2) no fraud has been performed in the blacklist inspection (the fraudulent use flag is in a state where fraud has not been performed), and no lost report has been issued (lost) The registration status of the three detection items, that is, the report flag indicates that the report of loss has not been issued, and the report of theft has not been reported (the report flag of theft has not been reported). Are detected, that is, if the states of the above (1) and (2) are detected, it is detected that the recovery processing can be performed, and the processing is performed in step S Proceed to 7.
In addition, in the recovery request frequency inspection, a user for whom the number of recovery requests exceeding the average frequency is recognized is handled not by the system's automatic recovery processing but by the recovery processing by a support person.
[0045]
On the other hand, in step S26, the license recovery server 8 determines that (3) the cumulative number of installations check has exceeded the number of uninstallations within a predetermined set value range, or (4) the blacklist check indicates that the license recovery server 8 is illegal. Has been performed (the fraudulent use flag has been fraudulently performed), the lost report has been issued (the lost report flag has been lost), the theft If any one of the two detection items (3) and (4) is detected whether the report has been issued (theft flag is in the state of the theft report), recovery is performed. Upon detecting that the processing cannot be performed, the recovery processing ends.
Therefore, the license restoration server 8 performs various inspections such as a restoration request frequency inspection, a blacklist inspection, and a cumulative installation number inspection, and determines whether or not to perform recovery based on the detection result of the inspection.
[0046]
Next, in step S27, the license recovery server 8 generates and encrypts a recovery permission signal, and transmits the encrypted recovery permission signal to the personal computer PPC together with a request signal for requesting transmission to the smart card 7. To send.
Then, in step S28, the personal computer PPC transmits an encrypted recovery permission signal to the smart card 7 via the card interface 6 based on the input request signal.
[0047]
Then, the control unit 7a of the smart card 7 decrypts the encrypted recovery permission signal that is input, and performs the license number recovery processing based on the decrypted recovery permission signal.
That is, when detecting that the recovery permission signal has been input, the control unit 7a increases the number of licenses stored in the storage unit 7b by “1” and recovers the recovery flag stored in the storage unit 7b. Is rewritten from a state in which the recovery has not been performed ("0") to a state ("1") indicating that the recovery has been performed, and the license number recovery processing ends.
[0048]
As described above, one embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and there are design changes and the like within a range not departing from the gist of the present invention. Are also included in the present invention.
In the description of the above-described embodiment, the case where only one type of software is installed has been described as the installation process using the smart card 7.
However, it is also possible to create the smart card 7 in correspondence with a plurality of software installation processes.
[0049]
That is, in the storage unit 7b of the smart card 7, an identification number for performing mutual authentication with the installer is set for each software in association with each type of software to be installed, and a table is associated with each identification number. It is also possible to create and store necessary data such as a second logical operation expression, the number of licenses, an installation ID, a recovery flag, the number of uninstallations, and divided data of software to be installed for each identification number. .
[0050]
At this time, the software to be installed is read from the network or the recording medium reader 5, and the installer included in this software sets the smart card because the first logical operation expression is set corresponding to each of the identification numbers. The software installation process is the same as the operation of the embodiment, except that the software 7 performs writing and reading of data (eg, the first logical operation formula) to and from the table of the storage unit 7b in accordance with the identification number. The processing is performed according to the flowcharts of FIGS.
Further, when dividing the data of the software to be installed, a place and a data amount to be divided at random may be changed for each smart card.
Thus, the system for preventing unauthorized use of software of the present invention has an effect that forgery of the smart card 7 becomes more difficult.
[0051]
As described above, in the software unauthorized use prevention system of the present invention, the license information such as the second logical operation expression for authenticating the installer (install control unit 1) is stored in the storage unit 7b, and the first logical operation is stored in the installer. Since the formulas are stored, the random numbers generated by the installation control unit 1 and the control unit 7a are respectively output to the other, and on the other hand, new numerical values calculated by the respective logical operation formulas are input, and the new numerical values are input. Since the random number generated by itself is compared with the numerical value calculated by the processing logic, and only when they match, the mutual authentication is successful and the installation work is performed, so the authentication number and the number of licenses are It is difficult to forge license information such as rewriting, and illegal installation of software can be prevented.
[0052]
In the software unauthorized use prevention system of the present invention, when reading software to be installed from the recording medium reader 5, only the smart card 7 needs to be provided as identification means required for installation, and it is necessary to perform online registration. There is no need for a communication environment for software installation authentication, only a smart card 7 is required for installation / uninstallation, and there is a need for communication environment facilities such as a server for managing users, an operator and a call center. Is not available at the software distribution source, has the effect of reducing the cost burden and operation burden of the user on this communication environment, and strict license management in installation / uninstallation is performed at the software distribution source. Ease of use for users There is an effect that the degree of is improved.
[0053]
Furthermore, since the software unauthorized use prevention system of the present invention can make one smart card 7 correspond to license management of a plurality of installation programs, a means for authentication at the time of installation / uninstallation for each of a plurality of software is provided. This makes it easier to manage licenses for software distributors and users, and reduces costs because only one authentication smart card 7 is required for licensing a plurality of types of software. it can.
[0054]
In addition, the software unauthorized use prevention system of the present invention inserts the smart card 7 into the card interface 6 only at the time of installation and uninstallation, and performs authentication processing (authentication by a challenge response method) between the software and the smart card 7 and installation. Since it is sufficient to perform ID authentication, one set of the smart card 7 and the card interface 6 (for example, a smart card reader / writer) is required for a plurality of personal computers to be licensed, and a special license confirmation hardware is required. Since there is no need to use hardware, the burden on the user is reduced, and the card interface 6 is removed when installation and uninstallation are completed, so that there is an effect that the computer operating environment can be the same as before.
[0055]
Furthermore, since the system for preventing unauthorized use of software of the present invention only uses the smart card 7 and the card interface 6 at the time of installation and uninstallation, the user of the software can use a unique ID for each personal computer as in the prior art. It is not necessary to consider the device environment such as whether or not the device having the device is connected. Therefore, there is an effect that the efficiency of the process of installing and uninstalling software can be simultaneously improved for many personal computers.
[0056]
Further, the system for preventing unauthorized use of software of the present invention further comprises the provision of the license recovery server 8 so that when a failure occurs in the personal computer on which the licensed software is installed, the license in the smart card 7 is online. Since the number of recovery processes is performed, processing by the operator of the software distributor is not required, and labor costs can be reduced. In addition, since the user only needs to insert the smart card 7 into the card interface 6, it is necessary to perform the recovery operation. Since the processing efficiency is improved by reducing the time, the cost burden on both the software distributor and the user is reduced.
[0057]
Next, a program executed by a computer according to the embodiment of the present invention will be described.
The programs executed by the CPUs of the computer systems of the personal computer PC and the smart card 7 in the software unauthorized use prevention system in FIG. 1 constitute a program according to the present invention.
As a recording medium for storing this program, a magneto-optical disk, an optical disk, a semiconductor memory, a magnetic recording medium, or the like can be used, and these are configured in a ROM, a RAM, a CD-ROM, a flexible disk, a memory card, or the like. May be used.
[0058]
The recording medium stores the program for a certain period of time, such as a volatile memory such as an internal RAM of a computer system serving as a server or a client when the program is transmitted through a network such as the Internet or a communication line such as a telephone line. What is retained is also included.
Further, the above program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. The transmission medium is a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
[0059]
Further, the program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
[0060]
Therefore, when this program is used in a system or apparatus different from the system or apparatus of FIG. 1 and the computer of the system or apparatus executes this program, the functions and effects equivalent to those described in the above embodiment can be obtained. And an effect can be obtained, and the object of the present invention can be achieved.
[0061]
As described above, one embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and there are design changes and the like within a range not departing from the gist of the present invention. Are also included in the present invention.
[0062]
【The invention's effect】
As described above, according to the software unauthorized use prevention system of the present invention, license information such as a predetermined logical operation expression for authenticating an installer (installation control unit) is stored in the storage unit, and another logical operation expression is stored in the installer. Is stored, the random numbers generated by the installation control unit and the smart card are each output to the other, and on the other hand, a new numerical value calculated by each logical operation formula is input, and this new numerical value and The generated random number is compared with the numerical value calculated by the logic of the processing. Only when they match, it is determined that mutual authentication has succeeded and the installation work is performed, so the authentication number and the number of licenses are rewritten. It is difficult to forge the license information of Microsoft, and it can prevent unauthorized installation of software
[0063]
According to the software unauthorized use prevention system of the present invention, when reading software to be installed from a storage medium, only a smart card is required as identification means required for installation, and the communication environment is used for authentication of software installation. Is not necessary, only the smart card 7 is used at the time of installation / uninstallation, and there is no need for a communication environment such as installation of a server for managing users, an operator, and a call center at a software distribution source, and This has the effect of reducing the cost burden and operation burden of the user on this communication environment, and also eliminates the need to strictly manage licenses during installation / uninstallation at the software distributor. There is an effect of improving the degree.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration example of a software unauthorized use prevention system according to an embodiment of the present invention.
FIG. 2 is a flowchart showing an operation example of installation in the software unauthorized use prevention system of FIG. 1;
FIG. 3 is a flowchart showing an operation example of uninstallation in the software unauthorized use prevention system of FIG. 1;
4 is a flowchart showing an example of a recovery operation in the software unauthorized use prevention system of FIG. 1;
[Explanation of symbols]
1 Installation control unit
3,7b storage unit
4 Interface
5 Recording medium reader
6 Card interface
7 Smart card
7a Control unit
8 License recovery server
PC, PPC Personal computer

Claims (9)

所定の論理演算式とインストール可能な回数を示すライセンス数とを有するインストール情報を記憶するスマートカードと、
所定の他の論理演算式を記憶し、ソフトウェアのインストールを行うインストール制御部と
を有し、
前記スマートカード及びインストール制御部が、各々が発生する乱数と前記各論理演算式とを用いたチャレンジレスポンス方式による認証処理を行い、インストールの可否を判定し、スマートカードがソフトウェアのインストールが完了する毎に、前記ライセンス数を減少させることを特徴とするソフトウェア不正使用防止システム。
A smart card that stores installation information having a predetermined logical operation expression and the number of licenses indicating the number of installable times,
An installation control unit that stores a predetermined other logical operation expression and installs software,
The smart card and the installation control unit perform an authentication process based on a challenge response method using the random numbers generated by the smart card and the respective logical operation expressions, determine whether or not the installation is possible. And a software unauthorized use preventing system for reducing the number of licenses.
前記スマートカードが、インストール時に作成し、前記インストール制御部に書き込んだインストール識別番号と、前記インストール制御部から読み出したインストール識別番号とを比較し、一致しているこを検出すると、前記ソフトウェアのアンインストールを行い、アンインストールが完了すると、前記ライセンス数を増加させることを特徴とする請求項1記載のソフトウェア不正使用防止システム。The smart card compares the installation identification number created at the time of installation and written in the installation control unit with the installation identification number read from the installation control unit. 2. The software unauthorized use prevention system according to claim 1, wherein the number of licenses is increased when installation is performed and uninstallation is completed. インストールするソフトウェアのデータが分割されており、前記スマートカードが分割された一部のデータを記憶していることを特徴とする請求項1または請求項2に記載のソフトウェア不正使用防止システム。3. The software unauthorized use prevention system according to claim 1, wherein data of software to be installed is divided, and the smart card stores a part of the divided data. 前記スマートカードが複数のソフトウェアのインストール情報を有していることを特徴とする請求項1から請求項3のいずれかに記載のソフトウェア不正使用防止システム。4. The software unauthorized use prevention system according to claim 1, wherein the smart card has installation information of a plurality of software. ソフトウェアをインストールしたコンピュータが障害を起こし、ソフトウェアの使用が行えなくなった場合、スマートカードの生成する、リカバリ有無情報,アンインストール回数情報,スマートカードを識別するカード識別番号を有するリカバリ情報に基づき、このスマートカードのライセンス数の復旧の可否を判定するライセンス復旧サーバを有することを特徴とする請求項1から請求項4のいずれかに記載のソフトウェア不正使用防止システム。If the computer on which the software is installed fails and the software can no longer be used, the smart card generates the recovery information, the number of uninstalls, and the recovery information having the card identification number for identifying the smart card. The software unauthorized use prevention system according to any one of claims 1 to 4, further comprising a license recovery server that determines whether the number of smart card licenses can be recovered. 所定の論理演算式とインストール可能な回数を示すライセンス数とを有するインストール情報を、スマートカードに記憶する記憶過程と、
所定の他の論理演算式をインストール制御部に記憶し、ソフトウェアのインストールを行うインストール過程と、
前記スマートカード及びインストール制御部において、各々が発生する乱数と前記各論理演算式とを用いたチャレンジレスポンス方式による認証処理を行い、インストールの可否を判定し、スマートカードがソフトウェアのインストールを完了する毎に、前記ライセンス数を減少させるライセンス数制御過程と
を有することを特徴とするソフトウェア不正使用防止方法。
A storage step of storing, in a smart card, installation information having a predetermined logical operation expression and a license number indicating the number of installable times,
An installation process of storing a predetermined other logical operation expression in the installation control unit and installing software;
The smart card and the installation control unit perform an authentication process by a challenge response method using random numbers generated by the smart card and the respective logical operation expressions, determine whether or not to install the software, and each time the smart card completes the software installation. And a license number control step of reducing the number of licenses.
前記スマートカードから、インストールするソフトウェアの分割された一部のデータを読み出す分割ソフトウェア読み出し過程を有していることを特徴とする請求項6記載のソフトウェア不正使用防止方法。7. The method for preventing unauthorized use of software according to claim 6, further comprising a divided software reading step of reading, from the smart card, partial data of software to be installed. 所定の論理演算式とインストール可能な回数を示すライセンス数とを有するインストール情報を、スマートカードに記憶する記憶処理と、
所定の他の論理演算式をインストール制御部に記憶し、ソフトウェアのインストールを行うインストール処理と、
前記スマートカード及びインストール制御部において、各々が発生する乱数と前記各論理演算式とを用いたチャレンジレスポンス方式による認証処理を行い、インストールの可否を判定し、スマートカードがソフトウェアのインストールを完了する毎に、前記ライセンス数を減少させるライセンス数制御処理と
を有することを特徴とするコンピュータにより実行可能なソフトウェア不正使用防止プログラム。
A storage process for storing in a smart card installation information having a predetermined logical operation expression and the number of licenses indicating the number of installable times,
An installation process of storing another predetermined logical operation expression in the installation control unit and installing software;
The smart card and the installation control unit perform an authentication process by a challenge response method using random numbers generated by the smart card and the respective logical operation expressions, determine whether or not to install the software, and each time the smart card completes the software installation. A license number control process for reducing the number of licenses, the computer-executable software unauthorized use prevention program.
請求項8に記載のソフトウェア不正使用防止プログラムが記録されたコンピュータが読み取り可能な記録媒体。A computer-readable recording medium on which the software unauthorized use prevention program according to claim 8 is recorded.
JP2002247084A 2002-08-27 2002-08-27 Software unauthorized use prevention system Pending JP2004086588A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002247084A JP2004086588A (en) 2002-08-27 2002-08-27 Software unauthorized use prevention system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002247084A JP2004086588A (en) 2002-08-27 2002-08-27 Software unauthorized use prevention system

Publications (1)

Publication Number Publication Date
JP2004086588A true JP2004086588A (en) 2004-03-18

Family

ID=32054819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002247084A Pending JP2004086588A (en) 2002-08-27 2002-08-27 Software unauthorized use prevention system

Country Status (1)

Country Link
JP (1) JP2004086588A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267368A (en) * 2004-03-19 2005-09-29 Fuji Xerox Co Ltd Peripheral equipment driver installation device, peripheral equipment, peripheral equipment driver installation system, and peripheral equipment driver installation method
JP2008027116A (en) * 2006-07-20 2008-02-07 Glory Ltd Security control device, ic card, and security control method
JP2008538831A (en) * 2005-04-14 2008-11-06 サンディスク アイエル リミテッド Content distribution system
JP2009259237A (en) * 2008-03-27 2009-11-05 Giken Shoji International Co Ltd License external memory
US7817984B2 (en) 2005-12-28 2010-10-19 Ntt Docomo, Inc. Mobile communication terminal and computer program thereof, IC card and computer program thereof, and mobile communication terminal system
JP2011215694A (en) * 2010-03-31 2011-10-27 Sony Corp Information processing apparatus and method, information providing apparatus and method, and program
WO2017033310A1 (en) * 2015-08-26 2017-03-02 ルネサスエレクトロニクス株式会社 License management method, semiconductor device suitable for license management, and license management system

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267368A (en) * 2004-03-19 2005-09-29 Fuji Xerox Co Ltd Peripheral equipment driver installation device, peripheral equipment, peripheral equipment driver installation system, and peripheral equipment driver installation method
JP2008538831A (en) * 2005-04-14 2008-11-06 サンディスク アイエル リミテッド Content distribution system
US8522048B2 (en) 2005-04-14 2013-08-27 Sandisk Il Ltd. Content delivery system
US7817984B2 (en) 2005-12-28 2010-10-19 Ntt Docomo, Inc. Mobile communication terminal and computer program thereof, IC card and computer program thereof, and mobile communication terminal system
JP2008027116A (en) * 2006-07-20 2008-02-07 Glory Ltd Security control device, ic card, and security control method
JP2009259237A (en) * 2008-03-27 2009-11-05 Giken Shoji International Co Ltd License external memory
JP2011003210A (en) * 2008-03-27 2011-01-06 Giken Shoji International Co Ltd License external memory
JP2011215694A (en) * 2010-03-31 2011-10-27 Sony Corp Information processing apparatus and method, information providing apparatus and method, and program
WO2017033310A1 (en) * 2015-08-26 2017-03-02 ルネサスエレクトロニクス株式会社 License management method, semiconductor device suitable for license management, and license management system
JPWO2017033310A1 (en) * 2015-08-26 2017-10-19 ルネサスエレクトロニクス株式会社 License management method, semiconductor device suitable for license management, and license management system
US10936702B2 (en) 2015-08-26 2021-03-02 Renesas Electronics Corporation License managing method, semiconductor device suitable for license management and license managing system

Similar Documents

Publication Publication Date Title
EP1342149B1 (en) Method for protecting information and privacy
US7073197B2 (en) Methods and apparatus for protecting information
US7134016B1 (en) Software system with a biometric dongle function
US6857067B2 (en) System and method for preventing unauthorized access to electronic data
US6411941B1 (en) Method of restricting software operation within a license limitation
JP4278327B2 (en) Computer platform and operation method thereof
JP3688356B2 (en) Licensee notification system
US6108420A (en) Method and system for networked installation of uniquely customized, authenticable, and traceable software application
WO2002035362A1 (en) Communication system, terminal, reproduction program, recorded medium on which reproduction program is recorded, server device, server program, and recorded medium on which server program is recorded
JP2002373029A (en) How to prevent unauthorized copying of software using IC tags
WO2002059894A1 (en) Recording medium, information processing device, content distribution server, method, program, and its recording medium
EP1766565A2 (en) Apparatus and method for managing digital rights with arbitration
JP3902146B2 (en) Application authentication method for personal portable terminals
JP2004086588A (en) Software unauthorized use prevention system
US20090271875A1 (en) Upgrade Module, Application Program, Server, and Upgrade Module Distribution System
KR20020051612A (en) Prevention Of Illegal Software Usage Using Install Key Management Server
WO2006101765A2 (en) Method for preventing unauthorized installation of a software product
JP2004185404A (en) Installation method and device, program recording medium and program, and information recording medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20031120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080916

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090106