JP5277935B2 - License management system and method - Google Patents

License management system and method Download PDF

Info

Publication number
JP5277935B2
JP5277935B2 JP2008320290A JP2008320290A JP5277935B2 JP 5277935 B2 JP5277935 B2 JP 5277935B2 JP 2008320290 A JP2008320290 A JP 2008320290A JP 2008320290 A JP2008320290 A JP 2008320290A JP 5277935 B2 JP5277935 B2 JP 5277935B2
Authority
JP
Japan
Prior art keywords
software
token
seed
authentication code
computer device
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
JP2008320290A
Other languages
Japanese (ja)
Other versions
JP2010146125A (en
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2008320290A priority Critical patent/JP5277935B2/en
Publication of JP2010146125A publication Critical patent/JP2010146125A/en
Application granted granted Critical
Publication of JP5277935B2 publication Critical patent/JP5277935B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a license management system which is applicable even to a stand-alone computer, and can easily perform a processing related with the displacement of software. <P>SOLUTION: In the license management system 1, a PC 2 makes an IC card 3 authenticate an authentication code stored at the PC 2 side in starting software 5. The IC card 3 authenticates an authentication code by using a reference seed making a pair with the seed of the authentication code, and when the authentication succeeds, the IC card 3 increments a reference counter included in a reference seed. When the IC card 3 succeeds in the authentication of the authentication code, the PC 2 permits the start of the software 5, and increments the authentication counter included in the seed, and makes the IC card 3 generate the authentication code on the basis of the seed, and stores the authentication code generated by the IC card 3 as the authentication code to be used for the next start management. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

Description

本発明は,コンピュータにインストールされたソフトウェアのライセンスを管理する技術に関し,更に詳しくは,該ソフトウェアの実行を管理することで,該ソフトウェアのライセンスを管理する技術に関する。   The present invention relates to a technique for managing a license of software installed in a computer, and more particularly to a technique for managing a license of the software by managing execution of the software.

ソフトウェアの販売は使用許諾権(ライセンス:license)の販売になるため,一つのソフトウェアを複数台のコンピュータへインストールすることは固く禁じられ,当然のことながら,ソフトウェアのライセンス数を超えてインストールして使用する行為は違法行為になってしまう。   Since software sales are sales of licenses (licenses), it is strictly prohibited to install one piece of software on multiple computers. Of course, it is necessary to install more than the number of software licenses. The act to use becomes an illegal act.

しかし,ソフトウェアはCD-ROMなどのメディアに記憶されて販売され,何らかの対策を施さなければ,簡単に不正なインストールができてしまうため, ソフトウェアのライセンスを管理することが必要とされている。   However, software is stored on media such as CD-ROMs and sold, and if some countermeasures are not taken, unauthorized installation can be easily performed, so software licenses must be managed.

ソフトウェアのライセンス管理する手法としては,ソフトウェアをコンピュータにインストールするためのコンピュータプログラムであるインストーラが,コンピュータに入力されたライセンスキーを認証することで,ソフトウェアのインストールを管理する手法が広く用いられている。 As a method for managing software licenses , a method for managing software installation by an installer, which is a computer program for installing software on a computer, authenticating a license key input to the computer is widely used. Yes.

また,特許文献1では,ICカードを用いてソフトウェアのライセンス数を管理する発明が開示されている。特許文献1においては、ユーザに与えられているライセンス数だけMACアドレスを格納する領域が設けられたICカードが用意され,コンピュータにソフトウェアをインストールしたとき,ICカードに該コンピュータのMACアドレスを書き込み,コンピュータからソフトウェアをアンインストールしたときに,該コンピュータのMACアドレスをICカードから消去することで,ソフトウェアのライセンスが管理される。   Patent Document 1 discloses an invention for managing the number of software licenses using an IC card. In Patent Document 1, an IC card provided with an area for storing MAC addresses for the number of licenses given to the user is prepared, and when the software is installed in the computer, the MAC address of the computer is written in the IC card, When the software is uninstalled from the computer, the software license is managed by deleting the MAC address of the computer from the IC card.

上述したこれらの技術は,不正なソフトウェアのインストールを禁止するための技術であるが,一方,コンピュータにソフトウェアをインストールできるが,該ソフトウェアの実行を管理することで,ソフトウェアのライセンス管理する発明も開示されている。   These technologies described above are technologies for prohibiting unauthorized software installation. On the other hand, although software can be installed on a computer, an invention for managing software licenses by managing execution of the software is also disclosed. Has been.

例えば,特許文献2で開示されている発明は,ライセンスを管理する装置をネットワーク上に設置し、該装置は,コンピュータで使用されているソフトウェアの数よりも,ライセンス数が大きい場合に、該ソフトウェアの使用を許諾するように構成されている。   For example, in the invention disclosed in Patent Document 2, a device for managing a license is installed on a network, and the device has a software license when the number of licenses is larger than the number of software used in a computer. Is configured to be licensed.

しかし,特許文献2のように,ネットワークに接続された装置を利用して,コンピュータにインストールされたソフトウェアの使用を管理するようにすると,外部接続が禁止されているネットワークに接続されたコンピュータにソフトウェアをインストールする場合や,ネットワークに接続されておらずスタンドアローンで使用されるコンピュータにソフトウェアをインストールする場合,コンピュータは該装置にアクセスできず,ソフトウェアの使用を管理することができない問題がある。   However, if the use of software installed on a computer is managed using a device connected to a network as in Patent Document 2, the software is connected to a computer connected to a network where external connection is prohibited. When installing software on a computer that is not connected to a network and used stand-alone, the computer cannot access the device and cannot manage the use of the software.

この問題を解決する発明として,例えば,特許文献3において,スタンドアローンで使用されるコンピュータにおいても,ソフトウェアの起動を制御することでライセンス管理する発明が開示されている。   As an invention that solves this problem, for example, Patent Document 3 discloses an invention that manages licenses by controlling the activation of software even in a computer that is used in a stand-alone manner.

特許文献3で開示されている発明では,コンピュータにインストールされるソフトウェアは,主機能モジュールと認証モジュールとを含み,ソフトウェアがインストールされるコンピュータのMACアドレスからライセンスキーが生成され,ライセンスキーがコンピュータにインストールされる。   In the invention disclosed in Patent Document 3, the software installed in the computer includes a main function module and an authentication module, a license key is generated from the MAC address of the computer on which the software is installed, and the license key is stored in the computer. Installed.

そして,ソフトウェアを起動するとき,まず,認証モジュールが起動し,認証モジュールは,ソフトウェアが起動されるコンピュータのMACアドレスからライセンス照合キーを生成し,コンピュータに記憶されたライセンスキーとライセンス照合キーを照合することで,ソフトウェアの起動を管理する。   When the software is started, the authentication module is first started. The authentication module generates a license verification key from the MAC address of the computer on which the software is started, and verifies the license key stored in the computer with the license verification key. To manage software startup.

すなわち,特許文献3で開示されている発明では,ライセンスキーを発行したときに対象となったコンピュータと,ソフトウェアがインストールされたコンピュータが異なると,それぞれのコンピュータのMACアドレスが異なるため,ソフトウェアは起動しなくなる。   That is, in the invention disclosed in Patent Document 3, if the computer that is the target when the license key is issued and the computer on which the software is installed are different, the MAC address of each computer is different, so the software is activated. No longer.

しかしながら,特許文献3で開示されている発明では,スタンドアローンで使用されるコンピュータであっても,コンピュータにインストールされたソフトウェアの実行を管理できるようになるが,ソフトウェアを別のコンピュータに移設するとき,再度,ライセンスキーを生成しなければならず,移設に係わる処理が煩雑になってしまう問題がある。   However, in the invention disclosed in Patent Document 3, even a computer used in a stand-alone manner can manage the execution of software installed on the computer, but when the software is transferred to another computer. The license key must be generated again, and there is a problem that the processing related to the transfer becomes complicated.

特開2002−268764号公報JP 2002-268774 A 特開2003−99142号公報JP 2003-99142 A 特開2004―86404号公報JP 2004-86404 A

そこで,本発明は,特許文献2や特許文献3で開示されている内容とは異なる手法を用いて,コンピュータにインストールされたソフトウェアの起動を制御し,該ソフトウェアをライセンス管理することで,スタンドアローンなコンピュータにも適用でき,更に,ソフトウェアの移設に係わる処理も容易にできるライセンス管理システムおよび方法を提供することを目的とする。   Therefore, the present invention uses a method different from the contents disclosed in Patent Document 2 and Patent Document 3 to control the activation of the software installed in the computer, and to manage the license of the software, so that it is a stand-alone. Another object of the present invention is to provide a license management system and method that can be applied to various computers and that can easily perform processing related to software relocation.

上述した課題を解決する第1の発明は,トークンとコンピュータ装置とから少なくとも構成され,前記コンピュータ装置にインストールされたソフトウェアのライセンスを管理するライセンス管理システムであって,前記コンピュータ装置は,前記ソフトウェアを起動する操作があったとき,前記コンピュータ側で記憶している認証コードを前記トークンに認証させ,前記トークンが該認証コードの認証に成功すると,前記ソフトウェアの起動を許可すると共に,前記ソフトウェアから得られるシードに含まれる第1の可変要素を所定のルールに従い変更した後,前記シードを前記トークンに送信することで,前記トークンに前記認証コードを生成させ,前記トークンが生成した前記認証コードを次回の起動管理に利用する前記認証コードとして記憶する起動管理手段を備え,前記トークンは,前記コンピュータから送信される前記シードを元にした前記認証コードを生成するコード生成手段と,前記トークン側のメモリに記憶され,前記シードと対になり,前記第1の可変要素と同期する第2の可変要素を含む参照シードを用いて,前記コンピュータから送信される認証コードを認証し,前記認証コードの認証に成功すると,前記所定のルールに従い,前記第2の可変要素を変更させるコード認証手段とを備えていることを特徴とするライセンス管理システムである。   A first invention that solves the above-described problem is a license management system that includes at least a token and a computer device, and manages a license of software installed in the computer device. The computer device stores the software. When the activation operation is performed, the authentication code stored on the computer side is authenticated by the token, and when the token is successfully authenticated, the activation of the software is permitted and the authentication code is obtained from the software. The first variable element included in the seed is changed according to a predetermined rule, and then the seed is transmitted to the token so that the token generates the authentication code, and the token generates the authentication code next time. The authentication code used for managing startup The token is stored in the token-side memory and paired with the seed. The code generation means generates the authentication code based on the seed transmitted from the computer. And authenticating an authentication code transmitted from the computer using a reference seed including a second variable element that is synchronized with the first variable element, and succeeding in authenticating the authentication code, the predetermined rule is followed. A license management system comprising: code authentication means for changing the second variable element.

なお,ここで,トークンとは,ICカードやUSBトークンのように,デジタル署名などに利用する暗号鍵などを耐タンパー性高く記憶し,外部装置からの要求に応じて,該暗号鍵を利用した演算を行う機能を備えた物理デバイスを意味する。   Here, the token stores an encryption key used for a digital signature or the like with high tamper resistance, such as an IC card or a USB token, and uses the encryption key in response to a request from an external device. It means a physical device with a function to perform operations.

更に,第2の発明は,第1の発明に記載のライセンス管理システムにおいて,前記第1の可変要素及び前記第2の可変要素はカウンタであって,前記コンピュータ装置の前記起動管理手段は,前記トークンが前記認証コードの認証に成功すると,前記第1の可変要素となるカウンタを所定の値だけインクリメントする手段で,前記トークンの前記コード認証手段は,前記認証コードの認証に成功すると,前記第2の可変要素となるカウンタを所定の値だけインクリメントする手段であることを特徴とするライセンス管理システムである。 Furthermore, the second invention is the license management system according to the first invention, wherein the first variable element and the second variable element are counters, and the activation management means of the computer device is the If the token is successfully authenticated the authentication code, by a means for incrementing a counter to be the first variables by a predetermined value, the code authentication means of the token, upon successful authentication of the authentication code, said first The license management system is characterized in that it is means for incrementing a counter, which is a variable element of 2, by a predetermined value.

更に,第3の発明は,第2の発明に記載のライセンス管理システムにおいて,前記コンピュータ装置の前記起動管理手段は,前記第1の可変要素となるカウンタの値のハッシュ値を前記シードに含ませ,前記トークンの前記コード認証手段は,前記参照シードに含まれる前記第2の可変要素となるカウンタの値のハッシュ値を算出し,前記認証コードを認証することを特徴とするライセンス管理システムである。   Further, according to a third invention, in the license management system according to the second invention, the activation management means of the computer device includes a hash value of a counter value serving as the first variable element in the seed. The code authentication means for the token calculates a hash value of a counter value serving as the second variable element included in the reference seed, and authenticates the authentication code. .

更に,第4の発明は,第3の発明に記載のライセンス管理システムにおいて,前記トークン側に記憶される前記参照シードに,前記ソフトウェアが前記コンピュータにインストールされたときの前記ソフトウェアのプログラムコードから算出されたハッシュ値を含ませ,前記コンピュータ装置の前記起動管理手段は,前記ソフトウェアのプログラムコードからハッシュ値を算出し,該ハッシュ値を前記シードに含ませる手段であることを特徴とするライセンス管理システムである。 Further, the fourth invention is the license management system according to the third invention, wherein the software is installed in the reference seed stored on the token side from the program code of the software when installed in the computer. The activation management means of the computer device is a means for calculating a hash value from the program code of the software and including the hash value in the seed. It is.

更に,第5の発明は,第3の発明または第4の発明に記載のライセンス管理システムにおいて,前記トークン側に記憶される前記参照シードに,前記ソフトウェアのインストール情報の全て或いは一部から算出されたハッシュ値を含ませ,前記コンピュータ装置の前記起動管理手段は,前記ソフトウェアが前記コンピュータにインストールされたときの前記インストール情報の全て或いは一部からハッシュ値を算出し,該ハッシュ値を前記シードに含ませる手段であることを特徴とするライセンス管理システムである。   Furthermore, a fifth invention is the license management system according to the third or fourth invention, wherein the reference seed stored on the token side is calculated from all or part of the software installation information. The activation management means of the computer device calculates a hash value from all or part of the installation information when the software is installed in the computer, and uses the hash value as the seed. It is a license management system characterized by being included.

更に,第6の発明は,第1の発明から第5の発明のいずれか一つに記載のライセンス管理システムにおいて,前記コンピュータ装置は,前記トークンに記憶された前記参照シードが初期値である場合,前記コンピュータ装置に前記ソフトウェアをインストールした後,該ソフトウェアから得られる前記シードを前記参照シードとして前記トークンに書き込むインストール手段を備えていることを特徴とするライセンス管理システムである。   Furthermore, a sixth invention is the license management system according to any one of the first to fifth inventions, wherein the computer device is configured such that the reference seed stored in the token is an initial value. A license management system comprising: installation means for writing the seed obtained from the software into the token as the reference seed after installing the software on the computer device.

更に,第7の発明は,第1の発明から第6の発明のいずれか一つに記載のライセンス管理システムにおいて,前記コンピュータ装置は,前記ソフトウェアを前記コンピュータ装置からアンインストールする共に,前記トークン側に記憶された前記参照シードの初期化を要求するアンインストール手段を備え,前記トークンは,前記コンピュータ装置からの要求に従い,前記参照シードを初期化する手段を備えていることを特徴とするライセンス管理システムである。 Further, a seventh invention, in the first sixth license management system according to any one of the invention from the invention, the computer device are both uninstalling the software from the computer device, the token An uninstall means for requesting initialization of the reference seed stored on the side, wherein the token comprises means for initializing the reference seed in accordance with a request from the computer device. It is a management system.

更に,第8の発明は,トークンとコンピュータ装置とから少なくとも構成され,前記コンピュータにインストールされたソフトウェアのライセンスを管理するライセンス管理方法であって,前記ソフトウェアを起動する操作があったとき,前記コンピュータ装置が,前記コンピュータ側で記憶している認証コードの認証要求を前記トークンにするステップa,前記トークンが,前記ソフトウェアから得られ,第1の可変要素を含むシードと対になり,前記第1の可変要素と同期させる第2の可変要素を含む参照シードを用いて,前記コンピュータから送信される認証コードを認証し,該認証コードの認証に成功した場合は,前記第2の可変要素を所定のルールに従い変更した後に,認証結果を前記コンピュータに返信するステップb,前記トークンが前記認証コードの認証に成功した場合,前記コンピュータ装置が,前記ソフトウェアの起動を許可すると共に,前記ソフトウェアから得られる前記シードに含まれる前記第1の可変要素を所定のルールに従い変更した後,該シードを前記トークンに送信し,前記認証コードの生成を要求するステップc,前記トークンが,前記コンピュータから送信される前記シードを元にした前記認証コードを生成し,生成した前記認証コードを前記コンピュータに返信するステップd,前記コンピュータ装置が,前記トークンから受信した前記認証コードを,次回の起動管理に利用する前記認証コードとして記憶するステップe,が実行される起動管理工程を含むことを特徴とするライセンス管理方法である。   Further, an eighth invention is a license management method for managing a license of software installed at least on a computer, comprising at least a token and a computer device, wherein the computer is operated when an operation for starting the software is performed. The apparatus converts the authentication request of the authentication code stored on the computer side into the token a, the token is obtained from the software and is paired with a seed including a first variable element, and the first When the authentication code transmitted from the computer is authenticated using the reference seed including the second variable element to be synchronized with the variable element, and when the authentication code is successfully authenticated, the second variable element is set to a predetermined value. Step b, returning the authentication result to the computer When the computer successfully authenticates the authentication code, the computer device permits the activation of the software and changes the first variable element included in the seed obtained from the software according to a predetermined rule. Transmitting the seed to the token and requesting generation of the authentication code; c generating the authentication code based on the seed transmitted from the computer by the token; and generating the generated authentication code. Including a start management step in which a step d of returning to the computer and a step e in which the computer device stores the authentication code received from the token as the authentication code used for the next start management are executed. This is a featured license management method.

更に,第9の発明は,第8の発明に記載のライセンス管理方法において,前記第1の可変要素及び前記第2の可変要素はカウンタであって,前記起動管理工程の前記ステップbにおいて,前記トークンは,前記コンピュータから送信される前記認証コードの認証に成功すると,前記参照シードに含まれる前記第2の可変要素となるカウンタを所定の値だけインクリメントし,前記起動管理工程の前記ステップcにおいて,前記コンピュータ装置は,前記トークンが前記認証コードの認証に成功した場合,前記第1の可変要素となるカウンタを所定の値だけインクリメントした後,前記第1の可変要素となるカウンタの値を前記シードに含ませることを特徴とするライセンス管理方法である。   Furthermore, a ninth invention is the license management method according to the eighth invention, wherein the first variable element and the second variable element are counters, and in the step b of the startup management process, When the authentication of the authentication code transmitted from the computer is successful, the token increments the counter serving as the second variable element included in the reference seed by a predetermined value, and in step c of the activation management process The computer device increments the counter serving as the first variable element by a predetermined value when the token succeeds in authenticating the authentication code, and then sets the counter value serving as the first variable element to the value. It is a license management method characterized in that it is included in a seed.

更に,第10の発明は,第9の発明に記載のライセンス管理方法において,前記起動管理工程の前記ステップbにおいて,前記トークンは,前記参照シードに含まれる前記第2の可変要素となるカウンタの値のハッシュ値を算出して,前記認証コードを認証し,前記起動管理工程の前記ステップcにおいて,前記コンピュータ装置は,前記第1の可変要素となるカウンタの値のハッシュ値を前記シードに含ませることを特徴とするライセンス管理方法である。   Furthermore, a tenth aspect of the invention is the license management method according to the ninth aspect of the invention, wherein, in the step b of the activation management step, the token is a counter of the second variable element included in the reference seed. A hash value of the value is calculated to authenticate the authentication code, and in the step c of the activation management step, the computer device includes a hash value of a counter value serving as the first variable element in the seed The license management method is characterized in that:

更に,第11の発明は,第10の発明に記載のライセンス管理方法において,前記トークン側に記憶される前記参照シードに,前記ソフトウェアが前記コンピュータにインストールされたときの前記ソフトウェアのプログラムコードから算出されたハッシュ値を含ませ,前記起動管理工程の前記ステップcにおいて,前記コンピュータ装置は,前記ソフトウェアのプログラムコードからハッシュ値を算出し,該ハッシュ値を前記シードに含ませることを特徴とするライセンス管理方法である。   Furthermore, an eleventh aspect of the invention is the license management method according to the tenth aspect of the invention, wherein the software is installed in the reference seed stored on the token side from the program code of the software when installed in the computer. In the step c of the activation management step, the computer device calculates a hash value from the program code of the software, and includes the hash value in the seed. It is a management method.

更に,第12の発明は,第10の発明または第11の発明に記載のライセンス管理方法において,前記トークン側に記憶される前記参照シードに,前記ソフトウェアのインストール情報の全て或いは一部から算出されたハッシュ値を含ませ,前記起動管理工程の前記ステップcにおいて,前記コンピュータ装置は,前記ソフトウェアが前記コンピュータにインストールされたときの前記インストール情報の全て或いは一部からハッシュ値を算出し,該ハッシュ値を前記シードに含ませることを特徴とするライセンス管理方法である。   Further, the twelfth invention is the license management method according to the tenth invention or the eleventh invention, wherein the reference seed stored on the token side is calculated from all or part of the software installation information. In step c of the startup management step, the computer device calculates a hash value from all or part of the installation information when the software is installed in the computer, and the hash value is calculated. A license management method characterized in that a value is included in the seed.

更に,第13の発明は,第8の発明から第12の発明のいずれか一つに記載のライセンス管理方法において,前記コンピュータ装置が,前記コンピュータ装置に前記ソフトウェアをインストール前に,前記トークンに記憶された前記参照シードが初期値であるか確認し,前記参照シードが初期値である場合,前記コンピュータ装置に前記ソフトウェアをインストールした後,該ソフトウェアから得られる前記シードを前記参照シードとして前記トークンに書き込むインストール工程を含むことを特徴とするライセンス管理方法である。   The thirteenth invention is the license management method according to any one of the eighth to twelfth inventions, wherein the computer device stores the software in the token before installing the software on the computer device. If the reference seed is an initial value, and if the reference seed is an initial value, after installing the software on the computer device, the seed obtained from the software is used as the reference seed in the token. A license management method including an installation step of writing.

更に,第14の発明は,第8の発明から第13の発明のいずれか一つに記載のライセンス管理方法において,前記コンピュータ装置が,前記ソフトウェアを前記コンピュータ装置からアンインストールする共に,前記トークン側に記憶された前記参照シードの初期化を要求し,前記トークンが,前記コンピュータ装置からの要求に従い,前記参照シードを初期化するアンインストール工程を含むことを特徴とするライセンス管理方法である。 Furthermore, the fourteenth invention, in the license management method according to any one of the thirteenth aspect of the eighth invention, both when the computing device is to uninstall the software from the computer device, the token The license management method is characterized in that it includes an uninstall step of requesting initialization of the reference seed stored on the side, and initializing the reference seed in accordance with a request from the computer device.

上述した本発明によれば,ソフトウェアから得られ,認証コードの認証に成功したときに変更される第1の可変要素を含むシードを元にする認証コードを,トークンを利用して予め生成しソフトウェアに記憶しておき,次回に起動管理するとき,トークンが,該シードと対になり,第1の可変要素に同期させる第2の可変要素を含む参照シードを利用して,予め生成しておいた認証コードを認証し,該認証コードの認証に成功した場合,第2の可変要素を変更すると共に,コンピュータ装置がソフトウェアの起動を許可するようにすることで,別なコンピュータ装置にインストールされたソフトウェアを起動したときなど,ソフトウェアから得られるシードの第1の可変要素とトークンに記憶された参照シードの第2の可変要素が一致しない場合,ソフトウェアの起動を許可されず,ソフトウェアを起動できるコンピュータ装置を実質的に1台に限定することができる。   According to the present invention described above, the authentication code based on the seed including the first variable element obtained from the software and changed when the authentication code is successfully authenticated is generated in advance using the token, and the software. When the next activation management is performed, the token is paired with the seed and is generated in advance using a reference seed that includes the second variable element that is synchronized with the first variable element. If the authentication code was successfully authenticated and the authentication code was successfully authenticated, the second variable element was changed and the computer device was allowed to start the software so that it was installed on another computer device. The first variable of the seed obtained from the software does not match the second variable of the reference seed stored in the token, such as when the software is started If not allowed to start the software, the computer system can start the software can be substantially limited to one.

このように,本発明においては,ネットワークに接続された装置は必要としないため,本発明は,スタンドアローンで利用されるコンピュータ装置にも適用することができる。また,ソフトウェアをコンピュータ装置からアンインストールするときに,トークンに記憶された参照シードを初期化すれば,他のコンピュータ装置にソフトウェアをインストールすることが可能になるため,ソフトウェアの移設に係わる処理も容易にすることができる。   As described above, the present invention does not require a device connected to a network, and therefore the present invention can also be applied to a computer device used in a stand-alone manner. In addition, when uninstalling software from a computer device, if the reference seed stored in the token is initialized, the software can be installed on other computer devices. Can be.

ここから,本発明の好適な実施形態について,図を参照しながら詳細に説明する。図1は,本実施形態におけるライセンス管理システム1の概略構成図である。   Now, preferred embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a schematic configuration diagram of a license management system 1 in the present embodiment.

本実施形態に係わるライセンス管理システム1は,例えば,図1に図示したように,CD−ROM4に記憶されたソフトウェア5がインストールされるコンピュータ装置であるパーソナルコンピュータ2(以下,「PC」と略す。PC: Personal Computer)と,PC2にインストールされたソフトウェア5の起動を管理するために利用されるトークンであるICカード3とから少なくとも構成され,PC2には,ICカード3とデータ通信する装置であるICカードリーダ2aが接続されている。   The license management system 1 according to the present embodiment is, for example, as shown in FIG. 1, a personal computer 2 (hereinafter abbreviated as “PC”) that is a computer device in which software 5 stored in a CD-ROM 4 is installed. PC (Personal Computer) and at least an IC card 3 which is a token used for managing the activation of the software 5 installed in the PC 2, and the PC 2 is a device for data communication with the IC card 3. An IC card reader 2a is connected.

図1のライセンス管理システム1において,PC2にインストールされたソフトウェア5の起動は,予約型の認証コードを用いた認証によって管理される。ここで,予約型の認証コードを用いた認証とは,次回に利用する認証コードを予め生成しておき,次回は,予め生成しておいた認証コードを用いて認証することを意味する。   In the license management system 1 of FIG. 1, the activation of the software 5 installed in the PC 2 is managed by authentication using a reservation type authentication code. Here, authentication using a reservation-type authentication code means that an authentication code to be used next time is generated in advance, and next time authentication is performed using an authentication code generated in advance.

予約型の認証コードを用いた認証によってソフトウェア5の起動を管理するために,ソフトウェア5が起動しているPC2は,ソフトウェア5を起動する際,該ソフトウェア5に記憶されている認証コードをICカード3に認証させ,ICカード3が該認証コードの認証に成功すると,ソフトウェア5から得られるシードを元にした認証コードをICカード3に生成させ,ICカード3から得られた認証コードを次回の起動管理に利用する認証コードとしてソフトウェア5に記憶する起動管理手段を備え,ICカード3は,該シードと対になる参照シードを利用して認証コードを認証するコード生成手段と,該シードを元にした認証コードを生成するコード認証手段を備えている。   In order to manage activation of the software 5 by authentication using a reservation type authentication code, the PC 2 on which the software 5 is activated, when the software 5 is activated, uses the authentication code stored in the software 5 as an IC card. 3, when the IC card 3 successfully authenticates the authentication code, the IC card 3 generates an authentication code based on the seed obtained from the software 5, and the authentication code obtained from the IC card 3 is The IC card 3 includes activation management means for storing in the software 5 as an authentication code used for activation management. The IC card 3 includes code generation means for authenticating the authentication code using a reference seed paired with the seed, and the seed Code authentication means for generating the authentication code is provided.

なお,このような,予約型の認証コードを用いた認証においては,認証コードが毎回変更される仕組みを設けないと,同じ認証コードを繰り返し使用することになりセキュリティ的に弱くなるため,本実施形態においては,PC2がソフトウェア5から得られるシードに第1の可変要素を含ませ,ICカード3に記憶される参照シードに第2の可変要素を含ませている。   Note that in such authentication using a reservation-type authentication code, the same authentication code will be used repeatedly unless the mechanism for changing the authentication code is provided. In the embodiment, the PC 2 includes the first variable element in the seed obtained from the software 5, and includes the second variable element in the reference seed stored in the IC card 3.

PC2がソフトウェア5から得られるシードとICカード3に記憶される参照シードに含ませる第1の可変要素及び第2の可変要素としては,ソフトウェア5が次に起動するまでに変動しない要素が望ましく,本実施形態では,ICカード3が認証コードの認証に成功する毎に所定の値だけインクリメントされるカウンタ(ここでは,4バイト)としている。   The first variable element and the second variable element included in the seed obtained by the PC 2 from the software 5 and the reference seed stored in the IC card 3 are desirably elements that do not change until the next activation of the software 5. In the present embodiment, a counter (here, 4 bytes) that is incremented by a predetermined value every time the IC card 3 successfully authenticates the authentication code is used.

ここから,図1で図示したライセンス管理システム1を構成する装置について説明する。図2は,本実施形態におけるPC2の構成例を示すブロック図で,図3は,本実施形態におけるICカード3の構成例を示すブロック図である。   From here, the apparatus which comprises the license management system 1 illustrated in FIG. 1 is demonstrated. FIG. 2 is a block diagram illustrating a configuration example of the PC 2 in the present embodiment, and FIG. 3 is a block diagram illustrating a configuration example of the IC card 3 in the present embodiment.

図2に図示したように,PC2は,CPU20a(Central Processing Unit),RAM20b(Random Access Memory)及びROM20c(Read-Only Memory)などから構成される制御ボード20と,大容量のデータ記憶装置としてハードディスク21と,文字や画像などを表示するディスプレイ22と,入力デバイスであるキーボード23と,ポインティングデバイスであるマウス24と,様々な外部装置(ここでは,ICカードリーダ2a)と接続するための外部インターフェース25(ここでは,USBインターフェース)を備え,CD―ROM4に記憶されたソフトウェア5は,PC2のハードディスク21に記憶される。   As shown in FIG. 2, the PC 2 includes a control board 20 including a CPU 20a (Central Processing Unit), a RAM 20b (Random Access Memory) and a ROM 20c (Read-Only Memory), and a hard disk as a large-capacity data storage device. 21, a display 22 for displaying characters and images, a keyboard 23 that is an input device, a mouse 24 that is a pointing device, and an external interface for connecting various external devices (here, the IC card reader 2 a). The software 5 having 25 (here, USB interface) and stored in the CD-ROM 4 is stored in the hard disk 21 of the PC 2.

また,図3に図示したように,ICカード3とはICチップ30が実装されたカード媒体で,ICチップは,CPU31,RAM32,ROM33,EEPROM34,暗号コプロセッサー35およびUART36を備える。   As shown in FIG. 3, the IC card 3 is a card medium on which an IC chip 30 is mounted. The IC chip includes a CPU 31, a RAM 32, a ROM 33, an EEPROM 34, a cryptographic coprocessor 35, and a UART 36.

次に,図1で図示したライセンス管理システム1で利用されるコンピュータプログラム及びデータについて説明する。図4は,ソフトウェア5を説明する図で,図4(a)は,CD−ROM4の内容を説明する図で,図4(b)は,ソフトウェア5をインストール後のPC2のハードディスク21の内容を説明する図である。   Next, computer programs and data used in the license management system 1 shown in FIG. 1 will be described. 4 is a diagram for explaining the software 5, FIG. 4 (a) is a diagram for explaining the contents of the CD-ROM 4, and FIG. 4 (b) is a diagram showing the contents of the hard disk 21 of the PC 2 after the software 5 is installed. It is a figure explaining.

図4(a)に図示したように,CD―ROM4には,PC2の制御ボード20を作動させるコンピュータプログラムとして,PC2にインストールされるソフトウェア5のアーカイブ40と,ソフトウェア5をPC2にインストールするためのインストーラ42と,ソフトウェア5をPC2からアンインストールするためのアンインストーラ6のアーカイブ41が記憶されている。   As shown in FIG. 4A, the CD-ROM 4 has an archive 40 of software 5 installed in the PC 2 and a software 5 installed in the PC 2 as a computer program for operating the control board 20 of the PC 2. An installer 42 and an archive 41 of an uninstaller 6 for uninstalling the software 5 from the PC 2 are stored.

ソフトウェア5のアーカイブ40とアンインストーのアーカイブ41は圧縮された状態でCD−ROM4に記録され,ソフトウェア5のアーカイブ40には,ソフトウェア5の主機能を実現するためのコンピュータプログラムであるメインモジュール50の圧縮ファイル40aと,ソフトウェア5の起動を管理するためのコンピュータプログラムである起動管理モジュール51の圧縮ファイル40bと,起動管理に利用するデータが記憶される設定ファイル52の圧縮ファイル40cが含まれている。 Archive 41 Archive 40 and uninstaller software 5 is recorded in the CD-ROM 4 in a compressed state, the main module 50 to the archive 40 software 5, a computer program for implementing the main functions of the software 5 A compressed file 40a, a compressed file 40b of the activation management module 51 which is a computer program for managing activation of the software 5, and a compressed file 40c of the setting file 52 in which data used for activation management is stored. Yes.

また,インストーラが起動することで,PC2のハードディスク21には,CD−ROM4に圧縮された状態で記憶されているソフトウェア5のアーカイブ40とアンインストーラ6のアーカイブ41が展開され,PC2のハードディスクにソフトウェア5とアンインストー6がインストールされる。
When the installer is started, the archive 40 of the software 5 and the archive 41 of the uninstaller 6 stored in the compressed state in the CD-ROM 4 are expanded on the hard disk 21 of the PC 2, and the software is stored on the hard disk of the PC 2. 5 and uninstaller 6 is installed.

ソフトウェア5に含まれるメインモジュール50は、ユーザが利用したい機能を提供するコンピュータプログラムで、該機能は,例えば、ワードプロセッサ、表計算ソフト、図形描写ソフトなどである。   The main module 50 included in the software 5 is a computer program that provides a function that the user wants to use. The function is, for example, a word processor, spreadsheet software, graphic drawing software, or the like.

ソフトウェア5に含まれる起動管理モジュール51は、PC2上で起動したときに,PC2を起動管理手段として機能させるためのコンピュータプログラムである。   The activation management module 51 included in the software 5 is a computer program for causing the PC 2 to function as an activation management unit when activated on the PC 2.

更に,ソフトウェア5に含まれる設定ファイル52には,認証コード54の元になるシードの可変要素として利用される認証カウンタ53と,次回の認証に利用する認証コード54が含まれている。   Further, the setting file 52 included in the software 5 includes an authentication counter 53 used as a seed variable element that is the basis of the authentication code 54 and an authentication code 54 used for the next authentication.

ソフトウェア5に含まれる起動管理モジュール51は、ソフトウェア5が起動操作(例えば、アイコンのダブルクリック)されると起動し、ICカード3を利用して,ソフトウェア5に記憶されている認証コード54を認証し,ICカード3が該認証コード54の認証に成功すると,ソフトウェア5から得られるシードを元にした認証コード54をICカード3に生成させ,ICカード3から得られた認証コード54を次回の起動管理に利用する認証コード54として設定ファイル52に記憶する。   The activation management module 51 included in the software 5 is activated when the software 5 is activated (for example, double-clicking on an icon), and authenticates the authentication code 54 stored in the software 5 using the IC card 3. When the IC card 3 succeeds in authenticating the authentication code 54, the IC card 3 is caused to generate an authentication code 54 based on the seed obtained from the software 5, and the authentication code 54 obtained from the IC card 3 is generated next time. It is stored in the setting file 52 as an authentication code 54 used for activation management.

本実施形態において,ICカード3に認証コード54を生成させるために,ソフトウェア5に含まれる起動管理モジュール51がソフトウェア5から得るシードには,少なくとも,PC2のハードディスク21に展開されたメインモジュール50のプログラムコードのハッシュ値,PC2のオペレーティングシステムで管理されるインストール情報の所定項目のハッシュ値,及び,設定ファイル52に含まれる認証カウンタ53の値のハッシュ値が含まれる。   In the present embodiment, in order to cause the IC card 3 to generate the authentication code 54, the seed obtained from the software 5 by the activation management module 51 included in the software 5 is at least the main module 50 developed on the hard disk 21 of the PC 2. The hash value of the program code, the hash value of the predetermined item of the installation information managed by the operating system of the PC 2, and the hash value of the value of the authentication counter 53 included in the setting file 52 are included.

なお,ソフトウェア5から得るシードに認証カウンタ53の値のハッシュ値を含ませるのは,上述しているように,ICカード3に生成させる認証コード54を前回とは異なる値にするためである。   The reason why the hash value of the value of the authentication counter 53 is included in the seed obtained from the software 5 is to make the authentication code 54 generated in the IC card 3 different from the previous value, as described above.

ソフトウェア5から得るシードには,認証カウンタ53の値のハッシュ値ではなく,認証カウンタ53の値を含ませてもよいが,ICカードに送信するとき,認証カウンタ53の値を秘匿にするためである。   The seed obtained from the software 5 may include the value of the authentication counter 53 instead of the hash value of the value of the authentication counter 53. This is to keep the value of the authentication counter 53 secret when transmitted to the IC card. is there.

また,ソフトウェア5から得るシードにソフトウェア5のハッシュ値を含ませるのは,PC2にインストールされたソフトウェア5を確認できるようにするためである。   Also, the hash value of the software 5 is included in the seed obtained from the software 5 so that the software 5 installed in the PC 2 can be confirmed.

図5は,ICカード3に実装されるICチップ30のメモリの内容を説明する図である。図5に図示したように,ICチップ30のROM33には,ICチップ30を作動させるコマンドとして,PC2から送信されたシードを元にする認証コード54を生成するコード生成手段としてICカード3のICチップを機能させるためのコンピュータプログラムで実現されるコード生成コマンド300と,PC2から送信された認証コード54を認証するコード認証手段としてICカード3のICチップを機能させるためのコンピュータプログラムで実現されるコード認証コマンド301が実装され,図5では図示していないが,PC2から送信されたデータをEEPROM34に書き込むコマンドや,PC2から指示されたデータをEEPROM34から消去するコマンドなど,一般的なICカード3に備えられているコマンドが実装されている。   FIG. 5 is a diagram for explaining the contents of the memory of the IC chip 30 mounted on the IC card 3. As shown in FIG. 5, the ROM 33 of the IC chip 30 stores the IC of the IC card 3 as code generation means for generating an authentication code 54 based on the seed transmitted from the PC 2 as a command for operating the IC chip 30. A code generation command 300 realized by a computer program for causing the chip to function and a computer program for causing the IC chip of the IC card 3 to function as code authentication means for authenticating the authentication code 54 transmitted from the PC 2 A code authentication command 301 is implemented, and although not shown in FIG. 5, a general IC card 3 such as a command for writing data transmitted from the PC 2 to the EEPROM 34 or a command for deleting data instructed from the PC 2 from the EEPROM 34. The commands provided in It is.

また,ICカード3のEEPROM34には,ROM33に実装されたコマンドが利用されるデータとして,認証コード54の生成及び認証に利用される認証鍵302と,認証コード54を認証するときの参照シード303が記憶され,参照シード303には,ソフトウェア5の設定ファイル52に記憶された認証カウンタ53と同期する参照カウンタ304と,ソフトウェア5がインストールされたときに算出されたハッシュ値である参照ハッシュ値305が含まれている。   Further, in the EEPROM 34 of the IC card 3, an authentication key 302 used for generating and authenticating the authentication code 54 as data for using a command mounted on the ROM 33, and a reference seed 303 for authenticating the authentication code 54. Are stored in the reference seed 303, and a reference counter 304 synchronized with the authentication counter 53 stored in the setting file 52 of the software 5 and a reference hash value 305 which is a hash value calculated when the software 5 is installed. It is included.

コード生成コマンド300は,PC2から受信したシードから,定められたアルゴリズムに従い,認証鍵を利用して認証コード54を演算し,演算結果をPC2に返信するコマンドである。   The code generation command 300 is a command for calculating the authentication code 54 using the authentication key from the seed received from the PC 2 according to a predetermined algorithm and returning the calculation result to the PC 2.

また,コード認証コマンド301は,EEPROM34に記憶された参照シード303に含まれる参照カウンタ304の値のハッシュ値を算出し,演算した参照カウンタ304の値のハッシュ値と参照ハッシュ値を元にして,コード生成コマンド300と同じアルゴリズムに従い、認証鍵を利用して参照コードを演算し、演算した参照コードとPC2から受信した認証コード54を照合することで、PC2から受信した認証コード54を認証し、認証コード54の認証に成功すると、参照シード303に含まれる参照カウンタ304を定められた値(例えば,「+1」)だけインクリメントした後,認証コード54の認証結果をPC2に返信するコマンドである。   The code authentication command 301 calculates a hash value of the value of the reference counter 304 included in the reference seed 303 stored in the EEPROM 34, and based on the calculated hash value and reference hash value of the reference counter 304, According to the same algorithm as the code generation command 300, a reference code is calculated using an authentication key, and the verification code 54 received from the PC 2 is authenticated by collating the calculated reference code with the authentication code 54 received from the PC 2, When the authentication code 54 is successfully authenticated, the reference counter 304 included in the reference seed 303 is incremented by a predetermined value (for example, “+1”), and then the authentication result of the authentication code 54 is returned to the PC 2.

ICカード3に備えられるコード生成コマンド300,コード認証コマンド301及び認証鍵302の仕様は,認証コード54を生成するアルゴリズムの仕様に依存し,認証コード54を生成するアルゴリズムの仕様は任意であるが,例えば,ISO/IEC9797-1(1999)のMAC(Message Authentication code)Algorithmを用いることができる。   The specifications of the code generation command 300, the code authentication command 301 and the authentication key 302 provided in the IC card 3 depend on the algorithm specifications for generating the authentication code 54, and the algorithm specifications for generating the authentication code 54 are arbitrary. For example, a MAC (Message Authentication code) Algorithm of ISO / IEC9797-1 (1999) can be used.

なお,ICカード3が発行された時点では,参照ハッシュ値305は初期値で,ソフトウェア5がPC2にインストールされるとき,ICカード3に参照ハッシュ値305が書き込まれる。   When the IC card 3 is issued, the reference hash value 305 is an initial value, and when the software 5 is installed in the PC 2, the reference hash value 305 is written into the IC card 3.

ここから、本発明に係わるライセンス管理方法の説明も兼ねて、図1で図示したライセンス管理システム1で実行される手順を説明する。   From here on, the procedure executed by the license management system 1 shown in FIG. 1 will be described together with the description of the license management method according to the present invention.

まず、図6を参照しながら、ソフトウェア5をPC2にインストールするときの手順について説明する。図6は、ソフトウェア5をインストールするときの手順を示したフロー図である。   First, the procedure for installing the software 5 on the PC 2 will be described with reference to FIG. FIG. 6 is a flowchart showing a procedure for installing the software 5.

ソフトウェア5をPC2にインストールするとき、まず、ソフトウェア5のユーザは、ソフトウェア5が記憶されたCD−ROM4をPC2に装着させ、PC2のディスプレイ22に表示されたインストーラ42のアイコンをクリックすると、CD−ROM4に記憶されたインストーラ42がPC2上で起動する(S1)。   When installing the software 5 on the PC 2, first, the user of the software 5 attaches the CD-ROM 4 storing the software 5 to the PC 2 and clicks the icon of the installer 42 displayed on the display 22 of the PC 2. The installer 42 stored in the ROM 4 is activated on the PC 2 (S1).

インストーラ42が起動すると,PC2は,該PC2に接続されたICカードリーダ2aに、ICカード3を検知しているか問い合わせ、問い合わせ結果によって処理を分岐させる(S2)。   When the installer 42 is activated, the PC 2 inquires of the IC card reader 2a connected to the PC 2 whether the IC card 3 is detected, and branches the process depending on the inquiry result (S2).

ICカードリーダ2aがICカード3を検知していない場合,PC2はソフトウェア5のインストールを中止してこの手順を終了し,ICカードリーダ2aがICカード3を検知している場合,該PC2はソフトウェア5のインストールを続行する。   When the IC card reader 2a does not detect the IC card 3, the PC 2 stops the installation of the software 5 and ends this procedure. When the IC card reader 2a detects the IC card 3, the PC 2 Continue the installation of 5.

PC2は,ICカードリーダ2aがICカード3を検知している場合,参照シード303を読み取るコマンドのコマンドメッセージをICカード3に送信することで,ICカード3に参照シード303の読み取りを要求し(S3),ICカード3は,該コマンドのコマンドメッセージを受信すると,ICカード3が記憶している参照シード303をPC2に送信する(S4)。   When the IC card reader 2a detects the IC card 3, the PC 2 requests the IC card 3 to read the reference seed 303 by sending a command message of a command for reading the reference seed 303 to the IC card 3 ( S3) When receiving the command message of the command, the IC card 3 transmits the reference seed 303 stored in the IC card 3 to the PC 2 (S4).

PC2は,ICカード3から受信した参照シード303に含まれる参照カウンタ304の内容によって,処理を分岐させる(S5)。参照カウンタ304が初期値でない場合,PC2はソフトウェア5のインストールを中止してこの手順を終了し,参照カウンタ304が初期値の場合,該PC2はソフトウェア5のインストールを続行する。   The PC 2 branches the process depending on the content of the reference counter 304 included in the reference seed 303 received from the IC card 3 (S5). If the reference counter 304 is not the initial value, the PC 2 stops the installation of the software 5 and ends this procedure. If the reference counter 304 is the initial value, the PC 2 continues the installation of the software 5.

ICカード3から得られた参照カウンタ304が初期値の場合,PC2は,CD−ROM4に圧縮された状態で記憶されているソフトウェア5のアーカイブ40及びアンインストーラ6のアーカイブ41を,PC2のハードディスク21上に展開すると共に,更に,ソフトウェア5のインストール情報をハードディスク21上に作成することで,ソフトウェア5をPC2にインストールする(S6)。   When the reference counter 304 obtained from the IC card 3 is an initial value, the PC 2 stores the archive 40 of the software 5 and the archive 41 of the uninstaller 6 stored in a compressed state on the CD-ROM 4 and the hard disk 21 of the PC 2. Further, the software 5 is installed on the PC 2 by creating the installation information of the software 5 on the hard disk 21 (S6).

PC2は,ハードディスク21にソフトウェア5をインストールすると,ソフトウェア5のメインモジュール50のプログラムコードのハッシュ値及びインストール情報の所定項目のハッシュを所定のアルゴリズムに従い演算した後(S7),ICカード3に対して,これらのハッシュ値を含む書き込みコマンドのコマンドメッセージを送信することで,これらのハッシュ値の書き込みをICカード3に要求する(S8)。   When the PC 2 installs the software 5 on the hard disk 21, the hash value of the program code of the main module 50 of the software 5 and the hash of a predetermined item of the installation information are calculated according to a predetermined algorithm (S 7), By sending a command message of a write command including these hash values, the IC card 3 is requested to write these hash values (S8).

ICカード3は,インストーラが起動したPC2から,上述したコマンドメッセージを受信すると,EEPROM34に記憶された参照シード303に含まれる参照ハッシュ値305を,該コマンドメッセージに含まれるハッシュ値に更新し,ハッシュ値の書き込み結果をPC2に通知する(S9)。   When the IC card 3 receives the above-described command message from the PC 2 on which the installer is started, the IC card 3 updates the reference hash value 305 included in the reference seed 303 stored in the EEPROM 34 to the hash value included in the command message, and the hash The value writing result is notified to the PC 2 (S9).

PC2は,書き込みコマンドに対するレスポンスをICカード3から受信すると,ソフトウェア5のインストールが終了したことを示す画面をディスプレイ22に表示するなどして,ソフトウェア5のインストールを終了し,図6で図示した手順は終了する。   Upon receiving a response to the write command from the IC card 3, the PC 2 ends the installation of the software 5 by displaying on the display 22 a screen indicating that the installation of the software 5 has ended, and the procedure illustrated in FIG. Ends.

次に,図7を参照しながら,PC2にインストールされたソフトウェア5の起動を管理する手順について説明する。図7は,ソフトウェア5の起動を管理する手順を示したフロー図である。   Next, a procedure for managing the activation of the software 5 installed in the PC 2 will be described with reference to FIG. FIG. 7 is a flowchart showing a procedure for managing the activation of the software 5.

ソフトウェア5のアイコンがダブルクリックされると,ソフトウェア5の起動管理モジュール51がPC2上で起動し(S10),起動管理モジュール51が起動すると,PC2は,PC2に接続されたICカードリーダ2aに、ICカード3を検知しているか問い合わせ、問い合わせ結果によって処理を分岐させる(S11)。   When the software 5 icon is double-clicked, the activation management module 51 of the software 5 is activated on the PC 2 (S10). When the activation management module 51 is activated, the PC 2 connects to the IC card reader 2a connected to the PC 2. An inquiry is made as to whether the IC card 3 is detected, and the process branches depending on the inquiry result (S11).

ICカードリーダ2aがICカード3を検知していない場合,PC2は,ソフトウェア5のメインモジュール50の起動処理を中止してこの手順を終了し,ICカードリーダ2aがICカード3を検知している場合,起動管理モジュール51は,ソフトウェア5のメインモジュール50の起動処理を続行する。   When the IC card reader 2a does not detect the IC card 3, the PC 2 stops the activation process of the main module 50 of the software 5 and ends this procedure, and the IC card reader 2a detects the IC card 3. In this case, the activation management module 51 continues the activation process of the main module 50 of the software 5.

ICカードリーダ2aがICカード3を検知している場合,PC2は,ハードディスク21の設定ファイル52に含まれる認証コード54を取得し,該認証コード54を含むコード認証コマンド301のコマンドメッセージをICカード3に送信することで,ICカード3に対して認証コード54の認証要求を行う(S12)。   When the IC card reader 2a detects the IC card 3, the PC 2 acquires the authentication code 54 included in the setting file 52 of the hard disk 21, and sends the command message of the code authentication command 301 including the authentication code 54 to the IC card. 3, the authentication request of the authentication code 54 is made to the IC card 3 (S12).

ICカード3は,PC2から,認証コード54を含むコード認証コマンド301のコマンドメッセージを受信すると,コード認証コマンド301を起動させ,ICカード3に記憶されている参照シード303に含まれる参照カウンタ304のハッシュ値を算出し,認証鍵を用いて,定められたアルゴリズムに従い,参照シード303に含まれる参照ハッシュ値305と該参照カウンタ304のハッシュ値を元にする参照コードを演算し,PC2から受信した認証コード54と参照コードを照合することで,PC2から受信した認証コード54を認証する(S13)。   When the IC card 3 receives the command message of the code authentication command 301 including the authentication code 54 from the PC 2, the IC card 3 activates the code authentication command 301 and the reference counter 304 included in the reference seed 303 stored in the IC card 3. A hash value is calculated, and a reference code based on the reference hash value 305 included in the reference seed 303 and the hash value of the reference counter 304 is calculated and received from the PC 2 according to a predetermined algorithm using the authentication key. By verifying the authentication code 54 and the reference code, the authentication code 54 received from the PC 2 is authenticated (S13).

ICカード3のコード認証コマンド301は,PC2から受信した認証コード54を認証結果に応じて処理を分岐させ(S14),該認証コード54の認証に成功した場合,ICカード3の参照カウンタ304の値を所定の値(例えば,「+1」)だけインクリメントした後(S15),S16に進み,該認証コード54の認証に失敗した場合は,参照カウンタ304の値をインクリメントすることなく,S16に進む。   The code authentication command 301 of the IC card 3 branches the processing of the authentication code 54 received from the PC 2 according to the authentication result (S14), and when the authentication of the authentication code 54 is successful, the reference counter 304 of the IC card 3 After incrementing the value by a predetermined value (for example, “+1”) (S15), the process proceeds to S16. When the authentication code 54 fails to be authenticated, the process proceeds to S16 without incrementing the value of the reference counter 304. .

該認証コード54の認証に成功し,ICカード3の参照カウンタ304の値を所定の値だけインクリメントした後,或いは,該認証コード54の認証に失敗した後,ICカード3は,認証コード54の認証結果(成功或いは失敗)をPC2に送信する(S16)。   After successfully authenticating the authentication code 54 and incrementing the value of the reference counter 304 of the IC card 3 by a predetermined value, or after failing to authenticate the authentication code 54, the IC card 3 An authentication result (success or failure) is transmitted to the PC 2 (S16).

PC2は,認証コード54の認証結果(成功或いは失敗)をICカード3から受信すると,認証コード54の認証結果に応じて処理を分岐させる(S17)。   When receiving the authentication result (success or failure) of the authentication code 54 from the IC card 3, the PC 2 branches the process according to the authentication result of the authentication code 54 (S17).

認証コマンドの認証結果が「成功」を示す場合,PC2は,ソフトウェア5のメインモジュール50の起動処理を続行し,認証コマンドの認証結果が「失敗」を示す場合,PC2は,ソフトウェア5のメインモジュール50の起動処理を中止し,図7で図示した手順は終了する。   If the authentication command authentication result indicates “success”, the PC 2 continues the startup process of the main module 50 of the software 5, and if the authentication command authentication result indicates “failure”, the PC 2 indicates that the software 5 main module 50 50 start processing is stopped, and the procedure illustrated in FIG. 7 ends.

認証コマンドの認証結果が「成功」を示す場合,メインモジュール50が起動しているPC2は,PC2のハードディスク21に記憶された設定ファイル52の認証カウンタ53の値を所定の値(例えば,「+1」)だけインクリメントした後(S18),ソフトウェア5のメインモジュール50のプログラムコードとインストール情報のハッシュ値を演算し(S19),これらのハッシュ値とインクリメント後の認証カウンタ53の値のハッシュ値をシードとするコード生成コマンド300のコマンドメッセージをICカード3に送信することで,ICカード3に対して,認証コード54の生成要求をする(S20)。   When the authentication result of the authentication command indicates “success”, the PC 2 in which the main module 50 is activated sets the value of the authentication counter 53 of the setting file 52 stored in the hard disk 21 of the PC 2 to a predetermined value (for example, “+1”). ') Is incremented (S18), the program code of the main module 50 of the software 5 and the hash value of the installation information are calculated (S19), and the hash value and the hash value of the incremented authentication counter 53 are seeded. Is sent to the IC card 3 to request the IC card 3 to generate the authentication code 54 (S20).

ICカード3は,コード生成コマンド300のコマンドメッセージを受信すると,コード生成コマンド300を起動させ,認証鍵302を用い,所定のアルゴリズムに従い,該コマンドメッセージに含まれるシードを元にする認証コード54を生成し,生成した認証コード54をPC2に送信する(S21)。   When the IC card 3 receives the command message of the code generation command 300, the IC card 3 activates the code generation command 300, and uses the authentication key 302 to generate an authentication code 54 based on the seed included in the command message according to a predetermined algorithm. The generated authentication code 54 is transmitted to the PC 2 (S21).

PC2は,ICカード3から認証コード54を受信すると,該認証コード54を次回の認証に利用する認証コード54として,PC2のハードディスク21に設けられた設定ファイル52の認証コード54に上書き処理した後(S22),ソフトウェア5のメインモジュール50を起動させ(S23),図7で図示した手順は終了する。   Upon receiving the authentication code 54 from the IC card 3, the PC 2 overwrites the authentication code 54 in the setting file 52 provided in the hard disk 21 of the PC 2 as the authentication code 54 used for the next authentication. (S22) The main module 50 of the software 5 is activated (S23), and the procedure illustrated in FIG.

最後に,図8を参照しながら,PC2にインストールされたソフトウェア5をアンインストールする手順について説明する。図8は,ソフトウェア5をアンインストールする手順を示したフロー図である。   Finally, the procedure for uninstalling the software 5 installed on the PC 2 will be described with reference to FIG. FIG. 8 is a flowchart showing a procedure for uninstalling the software 5.

ソフトウェア5をPC2にアンインストールするとき、まず、ソフトウェア5のユーザは、PC2にインストールされたアンインストーラ6のアイコンがダブルクリックされることで、アンインストーラ6がPC2上で起動する(S30)。   When uninstalling the software 5 to the PC 2, first, the user of the software 5 starts up the uninstaller 6 on the PC 2 by double-clicking the icon of the uninstaller 6 installed on the PC 2 (S30).

アンインストーラ6は起動すると、PC2は,PC2に接続されたICカードリーダ2aに、ICカード3を検知しているか問い合わせ、問い合わせ結果によって処理を分岐させる(S31)。   When the uninstaller 6 is activated, the PC 2 inquires of the IC card reader 2a connected to the PC 2 whether the IC card 3 is detected, and branches the process depending on the inquiry result (S31).

ICカードリーダ2aがICカード3を検知していない場合,PC2はソフトウェア5のアンインストールを中止してこの手順を終了し,ICカードリーダ2aがICカード3を検知している場合,PC2はソフトウェア5をアンインストールする処理を続行する。   If the IC card reader 2a does not detect the IC card 3, the PC 2 stops the uninstallation of the software 5 and terminates this procedure. If the IC card reader 2a detects the IC card 3, the PC 2 The process of uninstalling 5 is continued.

PC2は,ICカードリーダ2aがICカード3を検知している場合,参照シード303の参照カウンタを初期値に書き換えるコマンドと,参照シード303の参照ハッシュ値を初期値に書き換えるコマンドを送信することで,ICカード3に対して,参照シード303の初期化を要求する(S32)。   When the IC card reader 2a detects the IC card 3, the PC 2 transmits a command for rewriting the reference counter of the reference seed 303 to the initial value and a command for rewriting the reference hash value of the reference seed 303 to the initial value. The IC card 3 is requested to initialize the reference seed 303 (S32).

ICカード3は,アンインストーラ6が起動しているPC2から,参照シード303を初期化するためのコマンドのコマンドメッセージを受信すると,参照シード303に含まれる参照カウンタと参照ハッシュ値をそれぞれ初期値(例えば,「All 0h」)に書き換えることで,参照シード303を初期化し,参照シード303の初期化の結果をPC2に返信する(S33)。   When receiving the command message of the command for initializing the reference seed 303 from the PC 2 on which the uninstaller 6 is activated, the IC card 3 sets the reference counter and the reference hash value included in the reference seed 303 as initial values ( For example, by rewriting to “All 0h”), the reference seed 303 is initialized, and the initialization result of the reference seed 303 is returned to the PC 2 (S33).

PC2は,参照シード303の初期化の結果をICカード3から受信すると,PC2のハードディスク21上のソフトウェア5のプログラムコードやインストール情報を削除するなどして,PC2からソフトウェア5をアンインストールし(S34),図8で図示した手順は終了する。   When receiving the initialization result of the reference seed 303 from the IC card 3, the PC 2 uninstalls the software 5 from the PC 2 by deleting the program code and installation information of the software 5 on the hard disk 21 of the PC 2 (S34). ), The procedure illustrated in FIG.

最後に,本発明の効果について説明する。図9は,本発明の効果を説明する図である。図9(a)は,2台のPC7a,bに同時にソフトウェアをインストールしたときの効果を説明する図である。   Finally, the effect of the present invention will be described. FIG. 9 is a diagram for explaining the effect of the present invention. FIG. 9A is a diagram for explaining the effect when software is installed on two PCs 7a and 7b at the same time.

2台のPC7a,bに同時にソフトウェアをインストールした直後では,PC7a,bに記憶された認証カウンタ70a,bの値は初期値(ここでは,「00000000h」。)で,ICカード8aに記憶された参照カウンタ80aの値も初期値(ここでは,「00000000h」。)であるため,2台のPC7a,bでソフトウェアの起動は可能な状態にある。   Immediately after the software is installed simultaneously on the two PCs 7a, b, the values of the authentication counters 70a, b stored in the PCs 7a, b are initial values (here, “00000000h”) and are stored in the IC card 8a. Since the value of the reference counter 80a is also an initial value (here, “00000000h”), the software can be started by the two PCs 7a and 7b.

しかし,2台のPC7a,bの内,1台(ここでは,PC7a)でソフトウェアが起動されると,PC7aに記憶された認証カウンタ70aはインクリメントされ,インクリメント後の認証カウンタ71aの値は「00000001h」になり,ICカード8aに記憶された参照カウンタ80aもインクリメントされ,インクリメント後の参照カウンタ81aも「00000001h」になる。   However, when the software is activated on one of the two PCs 7a and 7b (here, the PC 7a), the authentication counter 70a stored in the PC 7a is incremented, and the value of the authentication counter 71a after the increment is “00000001h”. The reference counter 80a stored in the IC card 8a is also incremented, and the incremented reference counter 81a is also "00000001h".

よって,PC7aでソフトウェアが起動された後に,一方のPC7bでソフトウェアを起動させようとしても,PC7bに記憶された認証カウンタ70bの値(ここでは,「00000000h」)と,ICカード8aに記憶され,インクリメント後の参照カウンタ80aの値(ここでは,「00000001h」)は異なるため,図7で図示した手順に従えば,ICカード8aは認証コードの認証に失敗し,PC7bではソフトウェアは起動せず,実質的に,ソフトウェアが利用できる台数は1台に限定される。   Therefore, even if the software is started on one PC 7b after the software is started on the PC 7a, the value of the authentication counter 70b stored in the PC 7b (here, “00000000h”) and the IC card 8a are stored. Since the value of the incremented reference counter 80a (here, “00000001h”) is different, if the procedure shown in FIG. 7 is followed, the IC card 8a fails to authenticate the authentication code, and the PC 7b does not start the software. In practice, the number of software that can be used is limited to one.

図9(b)は,PC7cにソフトウェアをインストールし,更に,PC7cからソフトウェアをアンインストールしたときの効果を説明する図である。   FIG. 9B is a diagram for explaining the effect when the software is installed in the PC 7c and the software is uninstalled from the PC 7c.

PC7cにソフトウェアをインストールした後に,PC7c上でソフトウェアを1回起動すると,ICカード8bに記憶され,インクリメント後の参照カウンタ80bは初期値である「00000000h」から「00000001h」になり,図6で図示した手順に従えば,ICカード8bに記憶された参照カウンタは初期値ではなくなるため,該ICカード8bを利用してソフトウェアを他のPCにインストールすることはできない。   After the software is installed on the PC 7c, when the software is started once on the PC 7c, it is stored in the IC card 8b, and the incremented reference counter 80b is changed from the initial value “00000000h” to “00000001h”, as shown in FIG. If the procedure described above is followed, the reference counter stored in the IC card 8b is no longer the initial value, so that the software cannot be installed in another PC using the IC card 8b.

しかし,PC7cからソフトウェアをアンインストールすることで,図8で図示した手順に従えば,ICカード8に記憶され,アンインストール後の参照カウンタ81bは初期値(ここでは,「00000000h」)に戻るため,ICカード8を利用して他のPCにソフトウェアをインストールすることが可能になる。   However, by uninstalling the software from the PC 7c, according to the procedure shown in FIG. 8, it is stored in the IC card 8, and the reference counter 81b after the uninstallation returns to the initial value (here, “00000000h”). , The software can be installed in another PC using the IC card 8.

なお,本発明は,これまで説明した実施形態に限定されることなく,当業者ならば,種々の変形や変更が可能である。   It should be noted that the present invention is not limited to the embodiments described so far, and various modifications and changes can be made by those skilled in the art.

例えば,上述した実施形態では,トークンをICカードにしているが,ICカード以外のデバイス,例えば,USBトークンも本発明のトークンとして利用可能である。   For example, in the above-described embodiment, the token is an IC card, but a device other than the IC card, such as a USB token, can also be used as the token of the present invention.

図10は,トークンとして利用できるUSBトークン9を説明する図である。USBトークン9とは,コンピュータ装置のUSBインターフェースと接続するためのUSBコネクタ92と,コンピュータ装置とのUSB通信を制御するための制御チップ90と,ICカード用ICチップ91が組み込まれたデバイスで,ICカード用ICチップ91のメモリに,図5で図示したコマンドやデータが記憶され,コンピュータ装置のUSBインターフェースに接続されて利用される。   FIG. 10 is a diagram for explaining a USB token 9 that can be used as a token. The USB token 9 is a device in which a USB connector 92 for connecting to a USB interface of a computer device, a control chip 90 for controlling USB communication with the computer device, and an IC chip 91 for an IC card are incorporated. The commands and data illustrated in FIG. 5 are stored in the memory of the IC card IC chip 91 and used by being connected to the USB interface of the computer device.

また,1枚のICカードを用いることで,複数のソフトウェアの起動を管理することも可能である。1枚のICカードを用い,複数のソフトウェアの起動を管理するとき,一つのソフトウェアの起動を管理するためのデータすなわち参照シードを,インストール情報に含まれるソフトウェアの識別番号を基礎にして生成されるDF(DF: Dedicated File)に関連付けて記憶し,ソフトウェアの起動管理するときには,該ソフトウェアのインストール情報から識別番号を取得し,該識別番号に対応するDFに関連付けられた参照シードを利用して,ソフトウェアの起動を管理する。   In addition, by using one IC card, it is possible to manage the activation of a plurality of software. When managing the activation of multiple software using a single IC card, the data for managing the activation of one software, that is, the reference seed is generated based on the software identification number included in the installation information When storing and managing software in association with a DF (DF: Dedicated File), an identification number is acquired from the installation information of the software, and a reference seed associated with the DF corresponding to the identification number is used. Manage software startup.

本実施形態におけるライセンス管理システムの概略構成図。1 is a schematic configuration diagram of a license management system in the present embodiment. 本実施形態におけるPCの構成例を示すブロック図。The block diagram which shows the structural example of PC in this embodiment. 本実施形態におけるICカードの構成例を示すブロック図。The block diagram which shows the structural example of the IC card in this embodiment. ソフトウェアを説明する図。The figure explaining software. ICカードに実装されるICチップのメモリの内容を説明する図。The figure explaining the content of the memory of the IC chip mounted in an IC card. ソフトウェアをインストールするときの手順を示したフロー図。The flowchart which showed the procedure when installing software. ソフトウェアの起動を管理する手順を示したフロー図。The flowchart which showed the procedure which manages starting of software. ソフトウェアをアンインストールする手順を示したフロー図。The flowchart which showed the procedure which uninstalls software. 本発明の効果を説明する図。The figure explaining the effect of this invention. トークンとして利用できるUSBトークンを説明する図。The figure explaining the USB token which can be used as a token.

符号の説明Explanation of symbols

1 ライセンス管理システム
2 パーソナルコンピュータ(PC)
2a ICカードリーダ
3 ICカード
300 コード生成コマンド
301 コード認証コマンド
302 認証鍵
303 参照シード
304 参照カウンタ
305 参照ハッシュ値
4 CD―ROM
42 インストーラ
5 ソフトウェア
50 メインモジュール
51 起動管理モジュール
52 設定ファイル
53 認証カウンタ
54 認証コード
6 アンインストーラ
1 License management system 2 Personal computer (PC)
2a IC card reader 3 IC card 300 Code generation command 301 Code authentication command 302 Authentication key 303 Reference seed 304 Reference counter 305 Reference hash value 4 CD-ROM
42 Installer 5 Software 50 Main module 51 Startup management module 52 Setting file 53 Authentication counter 54 Authentication code 6 Uninstaller

Claims (14)

トークンとコンピュータ装置とから少なくとも構成され,前記コンピュータ装置にインストールされたソフトウェアのライセンスを管理するライセンス管理システムであって,前記コンピュータ装置は,前記ソフトウェアを起動する操作があったとき,前記コンピュータ側で記憶している認証コードを前記トークンに認証させ,前記トークンが該認証コードの認証に成功すると,前記ソフトウェアの起動を許可すると共に,前記ソフトウェアから得られるシードに含まれる第1の可変要素を所定のルールに従い変更した後,前記シードを前記トークンに送信することで,前記トークンに前記認証コードを生成させ,前記トークンが生成した前記認証コードを次回の起動管理に利用する前記認証コードとして記憶する起動管理手段を備え,前記トークンは,前記コンピュータから送信される前記シードを元にした前記認証コードを生成するコード生成手段と,前記トークン側のメモリに記憶され,前記シードと対になり,前記第1の可変要素と同期する第2の可変要素を含む参照シードを用いて,前記コンピュータから送信される認証コードを認証し,前記認証コードの認証に成功すると,前記所定のルールに従い,前記第2の可変要素を変更させるコード認証手段と,を備えていることを特徴とするライセンス管理システム。   A license management system comprising at least a token and a computer device and managing a license of software installed in the computer device, wherein the computer device is operated by the computer side when an operation for starting the software is performed. The stored authentication code is authenticated by the token, and when the token is successfully authenticated, the activation of the software is permitted, and a first variable element included in a seed obtained from the software is set to a predetermined value. Then, the authentication code is generated in the token by sending the seed to the token, and the authentication code generated by the token is stored as the authentication code used for next activation management. A startup management means, The token is stored in the token-side memory, the code generation means for generating the authentication code based on the seed transmitted from the computer, is paired with the seed, and is synchronized with the first variable element. The authentication code transmitted from the computer is authenticated using a reference seed including the second variable element, and when the authentication code is successfully authenticated, the second variable element is changed according to the predetermined rule. And a code authentication means. 請求項1に記載のライセンス管理システムにおいて,前記第1の可変要素及び前記第2の可変要素はカウンタであって,前記コンピュータ装置の前記起動管理手段は,前記トークンが前記認証コードの認証に成功すると,前記第1の可変要素となるカウンタを所定の値だけインクリメントする手段で,前記トークンの前記コード認証手段は,前記認証コードの認証に成功すると,前記第2の可変要素となるカウンタを所定の値だけインクリメントする手段であることを特徴とするライセンス管理システム。 2. The license management system according to claim 1, wherein the first variable element and the second variable element are counters, and the activation management means of the computer device has successfully authenticated the authentication code by the token. Then, the means for incrementing the counter serving as the first variable element by a predetermined value, and the code authenticating means for the token sets the counter serving as the second variable element to the predetermined when the authentication code is successfully authenticated. A license management system, characterized in that it is a means for incrementing by the value of. 請求項2に記載のライセンス管理システムにおいて,前記コンピュータ装置の前記起動管理手段は,前記第1の可変要素となるカウンタの値のハッシュ値を前記シードに含ませ,前記トークンの前記コード認証手段は,前記参照シードに含まれる前記第2の可変要素となるカウンタの値のハッシュ値を算出し,前記認証コードを認証することを特徴とするライセンス管理システム。   3. The license management system according to claim 2, wherein the activation management unit of the computer device includes a hash value of a counter value serving as the first variable element in the seed, and the code authentication unit of the token includes A license management system for calculating a hash value of a counter value serving as the second variable element included in the reference seed and authenticating the authentication code. 請求項3に記載のライセンス管理システムにおいて,前記トークン側に記憶される前記参照シードに,前記ソフトウェアが前記コンピュータにインストールされたときの前記ソフトウェアのプログラムコードから算出されたハッシュ値を含ませ,前記コンピュータ装置の前記起動管理手段は,前記ソフトウェアのプログラムコードからハッシュ値を算出し,該ハッシュ値を前記シードに含ませる手段であることを特徴とするライセンス管理システム。 The license management system according to claim 3, wherein the reference seed stored on the token side includes a hash value calculated from a program code of the software when the software is installed in the computer, The license management system according to claim 1, wherein the activation management means of the computer device is means for calculating a hash value from a program code of the software and including the hash value in the seed. 請求項3または請求項4に記載のライセンス管理システムにおいて,前記トークン側に記憶される前記参照シードに,前記ソフトウェアのインストール情報の全て或いは一部から算出されたハッシュ値を含ませ,前記コンピュータ装置の前記起動管理手段は,前記ソフトウェアが前記コンピュータにインストールされたときの前記インストール情報の全て或いは一部からハッシュ値を算出し,該ハッシュ値を前記シードに含ませる手段であることを特徴とするライセンス管理システム。   5. The license management system according to claim 3, wherein the reference seed stored on the token side includes a hash value calculated from all or part of the software installation information, and the computer device. The activation management means is a means for calculating a hash value from all or part of the installation information when the software is installed in the computer, and including the hash value in the seed. License management system. 請求項1から請求項5のいずれか一つに記載のライセンス管理システムにおいて,前記コンピュータ装置は,前記トークンに記憶された前記参照シードが初期値である場合,前記コンピュータ装置に前記ソフトウェアをインストールした後,該ソフトウェアから得られる前記シードを前記参照シードとして前記トークンに書き込むインストール手段を備えていることを特徴とするライセンス管理システム。   6. The license management system according to claim 1, wherein when the reference seed stored in the token is an initial value, the computer device installs the software on the computer device. The license management system further comprising an installation unit that writes the seed obtained from the software into the token as the reference seed. 請求項1から請求項6のいずれか一つに記載のライセンス管理システムにおいて,前記コンピュータ装置は,前記ソフトウェアを前記コンピュータ装置からアンインストールする共に,前記トークン側に記憶された前記参照シードの初期化を要求するアンインストール手段を備え,前記トークンは,前記コンピュータ装置からの要求に従い,前記参照シードを初期化する手段を備えていることを特徴とするライセンス管理システム。 In the license management system according to any one of claims 1 to 6, wherein the computer device, uninstalling the software from the computer device together, the initial of the reference seed stored in the token side The license management system further comprising: uninstalling means for requesting conversion, and the token includes means for initializing the reference seed in accordance with a request from the computer device. トークンとコンピュータ装置とから少なくとも構成され,前記コンピュータにインストールされたソフトウェアのライセンスを管理するライセンス管理方法であって,前記ソフトウェアを起動する操作があったとき,前記コンピュータ装置が,前記コンピュータ側で記憶している認証コードの認証要求を前記トークンにするステップa,前記トークンが,前記ソフトウェアから得られ,第1の可変要素を含むシードと対になり,前記第1の可変要素と同期させる第2の可変要素を含む参照シードを用いて,前記コンピュータから送信される認証コードを認証し,該認証コードの認証に成功した場合は,前記第2の可変要素を所定のルールに従い変更した後に,認証結果を前記コンピュータに返信するステップb,前記トークンが前記認証コードの認証に成功した場合,前記コンピュータ装置が,前記ソフトウェアの起動を許可すると共に,前記ソフトウェアから得られる前記シードに含まれる前記第1の可変要素を所定のルールに従い変更した後,該シードを前記トークンに送信し,前記認証コードの生成を要求するステップc,前記トークンが,前記コンピュータから送信される前記シードを元にした前記認証コードを生成し,生成した前記認証コードを前記コンピュータに返信するステップd,前記コンピュータ装置が,前記トークンから受信した前記認証コードを,次回の起動管理に利用する前記認証コードとして記憶するステップe,が実行される起動管理工程を含むことを特徴とするライセンス管理方法。   A license management method for managing a license of software installed in a computer, comprising at least a token and a computer device, wherein the computer device stores the computer side when the software is operated. An authentication request for an authentication code being used as the token; a second obtained from the software and paired with a seed including a first variable element and synchronized with the first variable element; When the authentication code transmitted from the computer is authenticated using the reference seed including the variable element of the above, and the authentication code is successfully authenticated, the second variable element is changed in accordance with a predetermined rule, and then the authentication is performed. B returning the result to the computer, wherein the token is the authentication code. If the authentication is successful, the computer device permits the activation of the software, changes the first variable element included in the seed obtained from the software according to a predetermined rule, and then changes the seed to the seed. Sending to the token and requesting the generation of the authentication code c, the token generates the authentication code based on the seed transmitted from the computer, and returns the generated authentication code to the computer License management comprising: a startup management step in which step d and step e in which the computer device stores the authentication code received from the token as the authentication code used for next startup management Method. 請求項8に記載のライセンス管理方法において,前記第1の可変要素及び前記第2の可変要素はカウンタであって,前記起動管理工程の前記ステップbにおいて,前記トークンは,前記コンピュータから送信される前記認証コードの認証に成功すると,前記参照シードに含まれる前記第2の可変要素となるカウンタを所定の値だけインクリメントし,前記起動管理工程の前記ステップcにおいて,前記コンピュータ装置は,前記トークンが前記認証コードの認証に成功した場合,前記第1の可変要素となるカウンタを所定の値だけインクリメントした後,前記第1の可変要素となるカウンタの値を前記シードに含ませることを特徴とするライセンス管理方法。   9. The license management method according to claim 8, wherein the first variable element and the second variable element are counters, and the token is transmitted from the computer in the step b of the activation management process. When the authentication code is successfully authenticated, the counter that is the second variable element included in the reference seed is incremented by a predetermined value, and in step c of the activation management step, the computer device determines that the token is When the authentication code is successfully authenticated, the counter serving as the first variable element is incremented by a predetermined value, and then the value of the counter serving as the first variable element is included in the seed. License management method. 請求項9に記載のライセンス管理方法において,前記起動管理工程の前記ステップbにおいて,前記トークンは,前記参照シードに含まれる前記第2の可変要素となるカウンタの値のハッシュ値を算出して,前記認証コードを認証し,前記起動管理工程の前記ステップcにおいて,前記コンピュータ装置は,前記第1の可変要素となるカウンタの値のハッシュ値を前記シードに含ませることを特徴とするライセンス管理方法。   The license management method according to claim 9, wherein, in the step b of the activation management step, the token calculates a hash value of a counter value serving as the second variable element included in the reference seed, The license management method, wherein the authentication code is authenticated, and in step c of the activation management step, the computer device includes a hash value of a counter value serving as the first variable element in the seed. . 請求項10に記載のライセンス管理方法において,前記トークン側に記憶される前記参照シードに,前記ソフトウェアが前記コンピュータにインストールされたときの前記ソフトウェアのプログラムコードから算出されたハッシュ値を含ませ,前記起動管理工程の前記ステップcにおいて,前記コンピュータ装置は,前記ソフトウェアのプログラムコードからハッシュ値を算出し,該ハッシュ値を前記シードに含ませることを特徴とするライセンス管理方法。   The license management method according to claim 10, wherein the reference seed stored on the token side includes a hash value calculated from a program code of the software when the software is installed in the computer, In the step c of the activation management process, the computer device calculates a hash value from a program code of the software, and includes the hash value in the seed. 請求項10または請求項11に記載のライセンス管理方法において,前記トークン側に記憶される前記参照シードに,前記ソフトウェアのインストール情報の全て或いは一部から算出されたハッシュ値を含ませ,前記起動管理工程の前記ステップcにおいて,前記コンピュータ装置は,前記ソフトウェアが前記コンピュータにインストールされたときの前記インストール情報の全て或いは一部からハッシュ値を算出し,該ハッシュ値を前記シードに含ませることを特徴とするライセンス管理方法。   12. The license management method according to claim 10, wherein the reference seed stored on the token side includes a hash value calculated from all or part of the software installation information, and the activation management. In the step c of the process, the computer device calculates a hash value from all or a part of the installation information when the software is installed in the computer, and includes the hash value in the seed. License management method. 請求項8から請求項12のいずれか一つに記載のライセンス管理方法において,前記コンピュータ装置が,前記コンピュータ装置に前記ソフトウェアをインストール前に,前記トークンに記憶された前記参照シードが初期値であるか確認し,前記参照シードが初期値である場合,前記コンピュータ装置に前記ソフトウェアをインストールした後,該ソフトウェアから得られる前記シードを前記参照シードとして前記トークンに書き込むインストール工程を含むことを特徴とするライセンス管理方法。   13. The license management method according to claim 8, wherein the reference seed stored in the token is an initial value before the computer device installs the software on the computer device. And, when the reference seed is an initial value, after installing the software on the computer device, an installation step of writing the seed obtained from the software into the token as the reference seed is included. License management method. 請求項8から請求項13のいずれか一つに記載のライセンス管理方法において,前記コンピュータ装置が,前記ソフトウェアを前記コンピュータ装置からアンインストールする共に,前記トークン側に記憶された前記参照シードの初期化を要求し,前記トークンが,前記コンピュータ装置からの要求に従い,前記参照シードを初期化するアンインストール工程を含むことを特徴とするライセンス管理方法。 In the license management method according to any one of claims 13 to claim 8, wherein the computer device, both when uninstalling the software from the computer device, the token of the reference seed stored in side initial A license management method, comprising: an uninstalling step of requesting the tokenization, wherein the token initializes the reference seed according to a request from the computer device.
JP2008320290A 2008-12-16 2008-12-16 License management system and method Expired - Fee Related JP5277935B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008320290A JP5277935B2 (en) 2008-12-16 2008-12-16 License management system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008320290A JP5277935B2 (en) 2008-12-16 2008-12-16 License management system and method

Publications (2)

Publication Number Publication Date
JP2010146125A JP2010146125A (en) 2010-07-01
JP5277935B2 true JP5277935B2 (en) 2013-08-28

Family

ID=42566533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008320290A Expired - Fee Related JP5277935B2 (en) 2008-12-16 2008-12-16 License management system and method

Country Status (1)

Country Link
JP (1) JP5277935B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5773494B2 (en) 2011-12-05 2015-09-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Information processing apparatus, control method, and program
JP6318948B2 (en) * 2014-07-28 2018-05-09 富士通株式会社 Electronic device and authentication device
JP6754558B2 (en) * 2015-09-18 2020-09-16 株式会社日立システムズ Additional information collection system and collection method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319688A (en) * 1994-05-23 1995-12-08 Toshiba Corp Software activation management device and software activation management system
JP3867335B2 (en) * 1996-05-10 2007-01-10 ソニー株式会社 Recording medium, installation operation management method
JP2002207639A (en) * 2001-01-09 2002-07-26 Sony Corp Contents, contents processing method and contents processor
JP2002268764A (en) * 2001-03-14 2002-09-20 Dainippon Printing Co Ltd Software license management system with ic card
JP2004240546A (en) * 2003-02-04 2004-08-26 Toppan Printing Co Ltd Installation method, installation system and its program
JP4893411B2 (en) * 2007-03-28 2012-03-07 カシオ計算機株式会社 Terminal device and program

Also Published As

Publication number Publication date
JP2010146125A (en) 2010-07-01

Similar Documents

Publication Publication Date Title
JP6595822B2 (en) Information processing apparatus and control method thereof
US6223284B1 (en) Method and apparatus for remote ROM flashing and security management for a computer system
JP4913871B2 (en) Upgrade memory cards with security mechanisms to prevent copying of secure content and applications
JP3918827B2 (en) Secure remote access system
TW480443B (en) Virus resistant and hardware independent method of flashing system BIOS
US7370166B1 (en) Secure portable storage device
US6094702A (en) Method and apparatus for enabling access to computer system resources
US20080168275A1 (en) Securely Recovering a Computing Device
US9836601B2 (en) Protecting anti-malware processes
EP3379445B1 (en) System and method to generate encryption keys based on information of peripheral devices
US10776102B1 (en) Securing firmware installation on USB input device
US20060020821A1 (en) System and method for data processing system planar authentication
US8898797B2 (en) Secure option ROM firmware updates
TWI627554B (en) Methods for blocking unauthorized applications and apparatuses using the same
JP2013506910A (en) Write Once Read Many (WORM) Memory Device Authentication and Secure Ring
KR20080037048A (en) Changing product behavior in accordance with license
EP1949220A2 (en) Software-firmware transfer system
JP2008234217A (en) Information processor, method of protecting information, and image processor
US20060020810A1 (en) System and method for software load authentication
JP5277935B2 (en) License management system and method
JP2011150499A (en) Thin client system, thin client terminal, and thin client program
JP2008225661A (en) Electronic apparatus and information processing method
EP2728503B1 (en) Information processing device, control method therefor, program, and information storage medium
KR20190118894A (en) A secure boot method for secure usb device
JP2008102678A (en) Electronic equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130408

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130506

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees