JP2005266896A - System for preventing unauthorized use of software, method and program for preventing unauthorized use of software - Google Patents

System for preventing unauthorized use of software, method and program for preventing unauthorized use of software Download PDF

Info

Publication number
JP2005266896A
JP2005266896A JP2004074373A JP2004074373A JP2005266896A JP 2005266896 A JP2005266896 A JP 2005266896A JP 2004074373 A JP2004074373 A JP 2004074373A JP 2004074373 A JP2004074373 A JP 2004074373A JP 2005266896 A JP2005266896 A JP 2005266896A
Authority
JP
Japan
Prior art keywords
software
terminal
contract information
information
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004074373A
Other languages
Japanese (ja)
Inventor
Takahiro Ito
孝紘 伊東
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2004074373A priority Critical patent/JP2005266896A/en
Publication of JP2005266896A publication Critical patent/JP2005266896A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent outflow of a software to other than a contracted terminal, and prevent falsification of license information. <P>SOLUTION: An encrypting means 13 encrypts software contract information 122 including usable software information 1222 for allowing a software using terminal 2 to use and a software using terminal ID 1221 by a private key 14. A decrypting means 211 decrypts the encrypted software contract information 122 by a public key 23 as one of a pair with the private key 14. An ID determining means 222 collates a terminal ID 24 of an own terminal with an ID included in the decrypted software contract information 122. A means for determining whether to execute 223 collates a software to be started with the software information included in the decrypted software contract information 122, and determines whether to start the software to be started. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明はソフトウェア不正使用防止方式、ソフトウェア不正使用防止方法およびプログラムに関し、特に、使用契約を行った端末以外でのソフトウェア使用を防止する、ソフトウェア不正使用防止方式、ソフトウェア不正使用防止方法およびプログラムに関する。   The present invention relates to a software unauthorized use prevention method, a software unauthorized use prevention method, and a program, and more particularly, to a software unauthorized use prevention method, a software unauthorized use prevention method, and a program for preventing the use of software on a terminal other than a terminal with a use contract.

従来より、ソフトウェア不正使用防止方式として種々の方式が行われている。インストール等にパスワードを使用する方式は、現在最も一般的に用いられている方式である。この方式は、パスワードが不正規のソフトウェア使用者に対して流出した場合、不正使用を防ぐことができないという問題がある。   Conventionally, various systems have been used as software illegal use prevention systems. The method of using a password for installation or the like is the method most commonly used at present. This method has a problem that unauthorized use cannot be prevented if a password is leaked to an unauthorized software user.

また、正規のソフトウェア使用者のみ復号化可能なように暗号化して配布する方式が、特許文献1、特許文献2に記載されている。しかし、この方式では、正規のソフトウェア使用者によって復号化された後のソフトウェアが流出した場合、不正使用を防ぐことができないという問題がある。   Also, Patent Document 1 and Patent Document 2 describe a method of encrypting and distributing so that only authorized software users can decrypt. However, this method has a problem that unauthorized use cannot be prevented if software that has been decrypted by a legitimate software user leaks.

また、コピーが困難なドングルなどのハードウェアキーを利用する方式が、特許文献3に記載されている。しかし、ハードウェアを使用することによるの高コストの問題、ハードウェアキーが流出した場合に不正使用を防ぐことができないという問題がある。   Japanese Patent Application Laid-Open No. 2004-133826 describes a method using a hardware key such as a dongle that is difficult to copy. However, there are high cost problems caused by using hardware, and there is a problem that unauthorized use cannot be prevented when a hardware key is leaked.

ソフトウェア本体とライセンス情報を別々に管理する方式が、特許文献4に記載されている。この方式は、ライセンス情報を暗号化したものをソフトウェア使用者のコンピュータにインストールしておき、ソフトウェアの起動時ライセンス情報を復号化して、実行可否判定を行うというものであるが、ライセンス情報の更新を同時に必要とする。このため、復号化と同時に暗号化をソフトウェア使用者のコンピュータにおいて行う必要がある。すなわち、ソフトウェア使用者のコンピュータに存在する鍵で復号化と暗号化の両方を行うことができる必要があり、鍵の盗難によるライセンス情報の改竄の危険性がある。   A method for managing the software main body and the license information separately is described in Patent Document 4. In this method, the encrypted license information is installed on the software user's computer, and the license information at the time of software startup is decrypted to determine whether or not the software can be executed. Need at the same time. For this reason, it is necessary to perform encryption on the software user's computer simultaneously with the decryption. That is, it is necessary to be able to perform both decryption and encryption with the key existing in the software user's computer, and there is a risk of falsification of license information due to key theft.

特開昭58−154040号公報(第2頁、図)JP 58-154040 A (2nd page, figure) 特開2001−356833号公報(第3−4頁、図3)JP 2001-356833 A (page 3-4, FIG. 3) 特開2002−108482号公報(第3−7頁、図1)JP 2002-108482 A (page 3-7, FIG. 1) 特開2001−344097号公報(第3−7頁、図1)JP 2001-344097 A (page 3-7, FIG. 1)

上述したように、従来のソフトウェア不正使用防止方式は、インストール等にパスワードを使用する方式では、パスワードの流出という問題点があった。   As described above, the conventional software illegal use prevention method has a problem that the password is leaked in a method using a password for installation or the like.

また、正規のソフトウェア使用者のみ復号化可能な暗号によって暗号化して配布する方式では、復号化後のソフトウェア本体の流出という問題点があった。   In addition, in the method of encrypting and distributing with a cipher that can be decrypted only by a legitimate software user, there is a problem that the software main body leaks after decryption.

また、ハードウェアキーを用いる方式では、高コストと、ハードウェアキーそのものの不正規ソフトウェア使用者への流出という問題点があった。   In addition, the method using the hardware key has a problem of high cost and outflow of the hardware key itself to an unauthorized software user.

特許文献4に記載された方式では、鍵の盗難によるライセンス情報の改竄の危険性があるという問題点があった。   The method described in Patent Document 4 has a problem that there is a risk of falsification of license information due to key theft.

本発明の目的は、契約した端末以外へのソフトウェアの流出防止とライセンス情報の改竄防止を行うソフトウェア不正使用防止方式、ソフトウェア不正使用防止方法およびプログラムを提供するすることにある。   An object of the present invention is to provide a software illegal use prevention method, a software illegal use prevention method, and a program for preventing the outflow of software to terminals other than contracted terminals and preventing falsification of license information.

本発明のソフトウェア不正使用防止方式は、ソフトウェアを使用するソフトウェア使用端末と、前記ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を秘密鍵を使用して暗号化する手段とを備え、
前記ソフトウェア使用端末は、暗号化された前記ソフトウェア契約情報を記憶部に格納する手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する手段と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合する手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する手段とを備えたことを特徴とする。
The software illegal use prevention method of the present invention uses a secret key for software contract information including software using terminals that use software, software information that is permitted to be used by the software using terminals, and an ID that identifies the software using terminals. And means for encryption,
The software using terminal uses means for storing the encrypted software contract information in a storage unit, and a public key that reads the encrypted software contract information from the storage unit and makes a pair with the secret key. Means for decrypting the terminal ID of the terminal itself, means for collating with the ID included in the software contract information decrypted, and collating with the software information included in the software contract information decrypted for the software to be activated. And a means for determining whether or not the software to be activated can be activated.

本発明のソフトウェア不正使用防止方式は、ソフトウェアの使用を管理するソフトウェア管理サーバと、ソフトウェアを使用するソフトウェア使用端末とを備え、
前記ソフトウェア管理サーバは、前記ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化する暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを有し、
前記ソフトウェア使用端末は、暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する復号化手段と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合するID判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴としてもよい。
The software illegal use prevention method of the present invention comprises a software management server that manages the use of software, and a software use terminal that uses the software,
The software management server includes: contract information management means for storing software contract information including software information permitted to be used by the software use terminal and an ID for identifying the software use terminal in a storage area; and the software contract information Encryption means for reading from the storage area and encrypting using a secret key, and transmission means for transmitting the encrypted software contract information to the software using terminal,
The software using terminal receives the encrypted software contract information and stores the received software contract information in a storage unit, and reads the encrypted software contract information from the storage unit and makes a public key paired with the secret key Decryption means for decrypting using a key; ID determination means for collating with the ID contained in the software contract information obtained by decrypting the terminal ID of the terminal itself; and the software contract information obtained by decrypting the software to be activated. It is also possible to provide execution feasibility judging means for judging whether or not to start the software that is to be activated by collating with the software information included in the information.

本発明のソフトウェア不正使用防止方式は、ソフトウェアの使用を管理するソフトウェア管理サーバと、ソフトウェアを使用するソフトウェア使用端末とを備え、
前記ソフトウェア管理サーバは、前記ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して第1の秘密鍵を使用した暗号化と第1の公開鍵を使用した暗号化とを行う暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを有し、
前記ソフトウェア使用端末は、暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第1の公開鍵と対をなす第2の秘密鍵を使用した復号化と前記第1の秘密鍵と対をなす第2の公開鍵を使用した復号化とを行う復号化手段と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合するID判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴としてもよい。
The software illegal use prevention method of the present invention comprises a software management server that manages the use of software, and a software use terminal that uses the software,
The software management server includes: contract information management means for storing software contract information including software information permitted to be used by the software use terminal and an ID for identifying the software use terminal in a storage area; and the software contract information Encryption means for reading from the storage area and performing encryption using the first secret key and encryption using the first public key, and transmitting the encrypted software contract information to the software using terminal Transmission means,
The software using terminal receives the encrypted software contract information and stores it in a storage unit, and reads the encrypted software contract information from the storage unit to pair with the first public key. Decryption means for performing decryption using the second secret key forming the first key and decryption using the second public key paired with the first secret key, and decrypting the terminal ID of the own terminal ID determination means for verifying with the ID included in the software contract information, and execution permission determination for determining whether or not to start the software to be checked against the software information included in the software contract information obtained by decrypting the software to be activated And a means.

本発明のソフトウェア不正使用防止方式は、前記暗号化手段は、前記第1の秘密鍵を使用した暗号化を行った後に前記第1の公開鍵を使用した暗号化を行うことを特徴としてもよい。   The software illegal use prevention method of the present invention may be characterized in that the encryption means performs encryption using the first public key after performing encryption using the first secret key. .

本発明のソフトウェア不正使用防止方式は、前記公開鍵を前記ソフトウェア使用端末の内部に保持することにより改竄不可能としたことを特徴としてもよい。   The software illegal use prevention system of the present invention may be characterized in that the public key is held in the software using terminal so that the software cannot be tampered.

本発明のソフトウェア不正使用防止方式は、前記端末IDと照合する前記IDは、復号化手段が復号化した前記ソフトウェア契約情報に含まれるIDを直接入力されたものであることを特徴としてもよい。   The software illegal use prevention method of the present invention may be characterized in that the ID to be collated with the terminal ID is the ID directly included in the software contract information decrypted by the decrypting means.

本発明のソフトウェア不正使用防止方法は、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納するステップと、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化するステップと、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信するステップと、暗号化された前記ソフトウェア契約情報を受信して前記ソフトウェア使用端末の記憶部に格納するステップと、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化するステップと、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合するステップと、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断するステップとを備えたことを特徴とする。   The method for preventing unauthorized use of software according to the present invention comprises: storing software contract information including software information permitted to be used by a software using terminal and an ID for identifying the software using terminal in a storage area; and Reading from the storage area and encrypting using the private key; transmitting the encrypted software contract information to the software using terminal; and receiving the encrypted software contract information and the software A step of storing in the storage unit of the terminal in use; a step of reading out the software contract information encrypted from the storage unit and decrypting it using a public key paired with the secret key; and a terminal ID of the own terminal Verifying with the ID contained in the decrypted software contract information , Characterized by comprising a step of determining a success of starting of the software desired to be activated software information and the verification to be included in the software contract information decoded the software desired to be activated.

本発明のソフトウェア不正使用防止方法は、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納するステップと、前記ソフトウェア契約情報を前記記憶域から読み出して第1の秘密鍵を使用した暗号化と第1の公開鍵を使用した暗号化とを行うステップと、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信するステップと、暗号化された前記ソフトウェア契約情報を受信して前記ソフトウェア使用端末の記憶部に格納するステップと、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第1の公開鍵と対をなす第2の秘密鍵を使用した復号化と前記第1の秘密鍵と対をなす第2の公開鍵を使用した復号化とを行うステップと、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合するステップと、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断するステップとを備えたことを特徴としてもよい。   The method for preventing unauthorized use of software according to the present invention comprises: storing software contract information including software information permitted to be used by a software using terminal and an ID for identifying the software using terminal in a storage area; and Performing encryption from the storage area using the first secret key and encryption using the first public key; and transmitting the encrypted software contract information to the software using terminal; Receiving the encrypted software contract information and storing it in the storage unit of the software using terminal; reading the encrypted software contract information from the storage unit and pairing with the first public key Using the second public key paired with the first secret key and the decryption using the second secret key formed A step of performing decryption, a step of collating the terminal ID of the terminal with the ID included in the decrypted software contract information, and collating with the software information included in the software contract information obtained by decrypting the software to be activated And determining whether or not the software to be started can be started.

本発明のソフトウェア不正使用防止方法は、前記第1の秘密鍵を使用した暗号化を行った後に前記第1の公開鍵を使用した暗号化を行うことを特徴としてもよい。   The method of preventing unauthorized use of software according to the present invention may be characterized in that after performing encryption using the first secret key, encryption using the first public key is performed.

本発明のソフトウェア不正使用防止方法は、前記公開鍵を前記ソフトウェア使用端末の内部に保持することにより改竄不可能としたことを特徴としてもよい。   The method of preventing unauthorized use of software according to the present invention may be characterized in that the public key is held in the software using terminal so that it cannot be tampered.

本発明のソフトウェア不正使用防止方法は、前記端末IDと照合する前記IDは、前記復号化するステップで復号化した前記ソフトウェア契約情報に含まれるIDを直接入力されたものであることを特徴としてもよい。   The software illegal use prevention method according to the present invention is characterized in that the ID collated with the terminal ID is the ID directly included in the software contract information decrypted in the decrypting step. Good.

本発明のソフトウェア管理サーバは、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化する暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを備えたことを特徴とする。   The software management server of the present invention includes: contract information management means for storing software contract information including software information permitted to be used by a software using terminal and an ID for identifying the software using terminal in a storage area; and the software contract information. An encryption unit that reads out from the storage area and encrypts it using a secret key, and a transmission unit that transmits the encrypted software contract information to the software using terminal.

本発明のソフトウェア管理サーバは、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用した暗号化と公開鍵を使用した暗号化とを行う暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを備えたことを特徴としてもよい。   The software management server of the present invention includes: contract information management means for storing software contract information including software information permitted to be used by a software using terminal and an ID for identifying the software using terminal in a storage area; and the software contract information. An encryption unit that reads from the storage area and performs encryption using a secret key and encryption using a public key; and a transmission unit that transmits the encrypted software contract information to the software using terminal. It may be characterized by that.

本発明のソフトウェア管理サーバは、前記暗号化手段は、前記秘密鍵を使用した暗号化を行った後に前記公開鍵を使用した暗号化を行うことを特徴としてもよい。   The software management server of the present invention may be characterized in that the encryption means performs encryption using the public key after performing encryption using the secret key.

本発明のソフトウェア使用端末は、ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するIDとを含むソフトウェア契約情報を秘密鍵を使用して暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する復号化手段と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合するID判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴とする。   The software using terminal according to the present invention receives the software contract information obtained by encrypting software contract information including software information and an ID for identifying a terminal permitted to use the software using a secret key, and stores the software contract information. Receiving means stored in the storage unit, decrypting means for reading out the software contract information encrypted from the storage unit using a public key paired with the secret key, and decrypting the terminal ID of the terminal itself ID judging means for collating with the ID included in the software contract information that has been converted, and execution for determining whether or not to activate the software to be activated by collating with the software information contained in the software contract information that has been decrypted the software to be activated It is characterized by comprising availability determination means.

本発明のソフトウェア使用端末は、ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するIDとを含むソフトウェア契約情報を第1の秘密鍵と第1の公開鍵とを使用して暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第1の公開鍵と対をなす第2の秘密鍵を使用した復号化と前記第1の秘密鍵と対をなす第2の公開鍵を使用した復号化とを行う復号化手段と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合するID判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴としてもよい。   In the software using terminal of the present invention, the software contract information including the software information and an ID for identifying the terminal permitted to use the software is encrypted using the first secret key and the first public key. Receiving means for receiving the software contract information and storing it in the storage unit, and using the second secret key paired with the first public key by reading the encrypted software contract information from the storage unit Decryption means for performing decryption and decryption using the second public key that is paired with the first secret key, and collating with the ID included in the software contract information obtained by decrypting the terminal ID of the terminal itself ID determination means for determining whether to activate the software to be activated by comparing with the software information included in the software contract information obtained by decrypting the software to be activated An execution possibility determining section may be characterized in that it comprises.

本発明のソフトウェア使用端末は、前記復号化手段は、前記第2の秘密鍵を使用した復号化を行った後に前記第2の公開鍵を使用した復号化を行うことを特徴としてもよい。   The software using terminal according to the present invention may be characterized in that the decryption means performs decryption using the second public key after performing decryption using the second secret key.

本発明のソフトウェア使用端末は、前記公開鍵を自端末の内部に保持することにより改竄不可能としたことを特徴としてもよい。   The software using terminal according to the present invention may be characterized in that it cannot be tampered with by holding the public key in its own terminal.

本発明のソフトウェア使用端末は、前記端末IDと照合する前記IDは、復号化手段が復号化した前記ソフトウェア契約情報に含まれるIDを直接入力されたものであることを特徴としてもよい。   The software using terminal according to the present invention may be characterized in that the ID to be collated with the terminal ID is a direct input of an ID included in the software contract information decrypted by the decrypting means.

本発明のプログラムは、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する処理と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化する処理と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する処理とをコンピュータに実行させる。   The program according to the present invention stores in a storage area software contract information including software information permitted to be used by a software use terminal and an ID for identifying the software use terminal, and reads the software contract information from the storage area. The computer is caused to execute a process of encrypting using the secret key and a process of transmitting the encrypted software contract information to the software using terminal.

本発明のプログラムは、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する処理と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用した暗号化と公開鍵を使用した暗号化とを行う処理と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する処理とをコンピュータに実行させるようにしてもよい。   The program according to the present invention stores in a storage area software contract information including software information permitted to be used by a software use terminal and an ID for identifying the software use terminal, and reads the software contract information from the storage area. The computer may execute processing for performing encryption using a private key and encryption using a public key and processing for transmitting the encrypted software contract information to the software using terminal. .

本発明のプログラムは、ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する処理と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用した暗号化を行った後に公開鍵を使用した暗号化を行う処理と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する処理とをコンピュータに実行させるようにしてもよい。   The program according to the present invention stores in a storage area software contract information including software information permitted to be used by a software use terminal and an ID for identifying the software use terminal, and reads the software contract information from the storage area. And performing encryption using a public key after encryption using a private key and processing for transmitting the encrypted software contract information to the software using terminal. Also good.

本発明のプログラムは、ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するIDとを含むソフトウェア契約情報を秘密鍵を使用して暗号化された前記ソフトウェア契約情報を受信する処理と、受信した暗号化された前記ソフトウェア契約情報を記憶部に格納する処理と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する処理と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合する処理と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する処理とをコンピュータに実行させるようにしてもよい。   The program of the present invention has received a process for receiving the software contract information encrypted using a secret key, including software information and an ID for identifying a terminal that is permitted to use the software. A process of storing the encrypted software contract information in a storage unit; a process of reading out the encrypted software contract information from the storage unit and decrypting it using a public key paired with the secret key; The process of verifying the terminal ID of the terminal itself with the ID included in the decrypted software contract information and the software to be activated by collating with the software information included in the decrypted software contract information You may make it make a computer perform the process which judges the possibility of starting.

本発明のプログラムは、ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するIDとを含むソフトウェア契約情報を第1の秘密鍵と第1の公開鍵とを使用して暗号化された前記ソフトウェア契約情報を受信する処理と、受信した暗号化された前記ソフトウェア契約情報を記憶部に格納する処理と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第1の公開鍵と対をなす第2の秘密鍵を使用した復号化と前記第1の秘密鍵と対をなす第2の公開鍵を使用した復号化とを行う処理と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合する処理と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する処理とをコンピュータに実行させるようにしてもよい。   The program of the present invention is the software obtained by encrypting software contract information including software information and an ID for identifying a terminal permitted to use the software by using a first secret key and a first public key. A process of receiving contract information, a process of storing the received encrypted software contract information in a storage unit, and reading the encrypted software contract information from the storage unit to pair with the first public key. And a process for performing decryption using a second secret key forming the first secret key and decryption using a second public key paired with the first secret key, and the software decrypting the terminal ID of the terminal itself A process for verifying with the ID included in the contract information and a software for verifying with the software information included in the software contract information obtained by decrypting the software to be activated It may be caused to execute a process of determining wear startup whether the computer.

本発明のプログラムは、ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するIDとを含むソフトウェア契約情報を第1の秘密鍵と第1の公開鍵とを使用して暗号化された前記ソフトウェア契約情報を受信する処理と、受信した暗号化された前記ソフトウェア契約情報を記憶部に格納する処理と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第1の公開鍵と対をなす第2の秘密鍵を使用した復号化を行った後に前記第1の秘密鍵と対をなす第2の公開鍵を使用した復号化を行う処理と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合する処理と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する処理とをコンピュータに実行させるようにしてもよい。   The program of the present invention is the software obtained by encrypting software contract information including software information and an ID for identifying a terminal permitted to use the software by using a first secret key and a first public key. A process of receiving contract information, a process of storing the received encrypted software contract information in a storage unit, and reading the encrypted software contract information from the storage unit to pair with the first public key. Decrypting using the second public key paired with the first secret key after decrypting using the second secret key forming the terminal, and decrypting the terminal ID of the own terminal The process of checking with the ID included in the software contract information, and starting by checking the software information included in the software contract information obtained by decrypting the software to be started And a process of determining the success of starting of the software have may be causing a computer to execute.

本発明のプログラムは、前記公開鍵は自端末の内部に保持することにより改竄不可能とされたものであるようにしてもよい。   The program according to the present invention may be configured such that the public key cannot be tampered with by holding the public key inside the terminal itself.

本発明のプログラムは、前記端末IDと照合する前記IDは、前記復号化を行う処理で復号化した前記ソフトウェア契約情報に含まれるIDを直接入力されたものであるようにしてもよい。   In the program of the present invention, the ID to be compared with the terminal ID may be the ID directly included in the software contract information decrypted in the decrypting process.

本発明によれば下記のような効果がある。ソフトウェア使用端末IDとライセンスの有無を含むソフトウェア契約情報を用いて認証を行うため、不正規のソフトウェア使用端末において使用することを防止できる。また復号化されたソフトウェア契約情報を再度暗号化するには、ソフトウェア管理サーバにのみ存在する秘密鍵が必要となるため、ソフトウェア契約情報の改竄を防止できる。   The present invention has the following effects. Since the authentication is performed using the software contract information including the software use terminal ID and the presence / absence of a license, it is possible to prevent use in an unauthorized software use terminal. Further, in order to re-encrypt the decrypted software contract information, a secret key existing only in the software management server is required, so that it is possible to prevent falsification of the software contract information.

本発明を実施するための最良の形態について図面を参照して詳細に説明する。図1は第1の実施の形態の構成を示すブロック図である。第1の実施の形態は、ソフトウェア配布者のシステムであるソフトウェア管理サーバ1と、ソフトウェア使用者のシステムであるソフトウェア使用端末2、ソフトウェア使用端末3を含む。配布されるソフトウェアは一般には有償である。図1ではソフトウェア使用端末が2台の例を示しているが、これに限定されるものではなく、ソフトウェア使用端末は1台でも複数でもよい。ソフトウェア使用端末2とソフトウェア使用端末3は、本発明に関する部分は基本的に同じであるので、以下の説明は原則としてソフトウェア使用端末2について説明する。   The best mode for carrying out the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the first embodiment. The first embodiment includes a software management server 1 that is a software distributor system, a software use terminal 2 and a software use terminal 3 that are software user systems. The distributed software is generally paid. Although FIG. 1 shows an example in which there are two software use terminals, the present invention is not limited to this, and there may be one or more software use terminals. Since the software use terminal 2 and the software use terminal 3 are basically the same in the part relating to the present invention, the following explanation will be made on the software use terminal 2 in principle.

ソフトウェア管理サーバ1は、契約情報管理手段11と、ソフトウェア契約情報記憶域12と、暗号化手段13と、秘密鍵14と、送信手段15とを含む。ソフトウェア契約情報記憶域12は記憶装置の一領域であり、ソフトウェア使用システムごとに生成されるソフトウェア契約情報を格納する。一例として、ソフトウェア使用端末2に対応するソフトウェア契約情報をソフトウェア契約情報122とする。   The software management server 1 includes a contract information management unit 11, a software contract information storage area 12, an encryption unit 13, a secret key 14, and a transmission unit 15. The software contract information storage area 12 is an area of the storage device, and stores software contract information generated for each software using system. As an example, software contract information corresponding to the software using terminal 2 is assumed to be software contract information 122.

契約情報管理手段11は、ソフトウェア契約情報記憶域12に含まれる各ソフトウェア使用システムに対応したソフトウェア契約情報群に対し、作成と削除と更新とを行う。すなわち、あるソフトウェア使用システムでのソフトウェアの契約が変更されると、契約情報管理手段11は、対応するソフトウェア使用システムのソフトウェア契約情報を更新する。   The contract information management unit 11 creates, deletes, and updates the software contract information group corresponding to each software using system included in the software contract information storage area 12. That is, when the software contract in a certain software usage system is changed, the contract information management means 11 updates the software contract information of the corresponding software usage system.

図2はソフトウェア契約情報記憶域12に記憶されるソフトウェア契約情報の一例を示す図である。ソフトウェア契約情報は、契約情報管理手段11によってソフトウェア使用システムごとに生成される。一例として、ソフトウェア使用端末2に対応したソフトウェア契約情報をソフトウェア契約情報122とし、ソフトウェア使用端末3に対応したソフトウェア契約情報をソフトウェア契約情報123とする。ソフトウェア契約情報122は、ソフトウェア使用端末ID1221と使用可能ソフトウェア情報1222を含む。ソフトウェア使用端末ID1221は、対応するソフトウェア使用端末2を一意に特定することが可能な情報であり、正規のソフトウェア使用システム以外での使用を防止するために使用される。ソフトウェア使用端末ID1221としては、ソフトウェア管理サーバ1が一意に割り当てたIDを使用する。ソフトウェア使用端末ID1221としてMAC(Media Access Control)アドレスを使用してもよい。使用可能ソフトウェア情報1222は、対応するソフトウェア使用端末2において使用可能とするソフトウェアの情報であり、ソフトウェアの実行可否判断に使用される。使用可能ソフトウェア情報1222は、対象となるソフトウェア使用システムにおいて使用可能なソフトウェアを特定する情報であり、例えば、ソフトウェアの名称、一意に割り当てたソフトウェア番号などである。使用可能ソフトウェア情報1222がライセンスに関する付帯的な情報を持ってもよい。例えば、ライセンスの有効期限を一緒に保持しておき、期限付きライセンスを実現するなどの応用も考えられる。図2は、使用可能ソフトウェア情報1222は、ソフトウェア使用端末2で、ソフトウェアa,b,c,d,e,fが契約されている場合の例であり、使用可能ソフトウェア情報1232は、ソフトウェア使用端末3で、ソフトウェアa,c,d,g,h,iが契約されている場合の例である。   FIG. 2 is a diagram showing an example of software contract information stored in the software contract information storage area 12. The software contract information is generated for each software using system by the contract information management means 11. As an example, software contract information corresponding to the software using terminal 2 is referred to as software contract information 122, and software contract information corresponding to the software using terminal 3 is referred to as software contract information 123. The software contract information 122 includes a software use terminal ID 1221 and usable software information 1222. The software use terminal ID 1221 is information that can uniquely identify the corresponding software use terminal 2 and is used to prevent use in other than a regular software use system. An ID uniquely assigned by the software management server 1 is used as the software use terminal ID 1221. A MAC (Media Access Control) address may be used as the software using terminal ID 1221. The usable software information 1222 is information on software that can be used in the corresponding software using terminal 2, and is used to determine whether software can be executed. The usable software information 1222 is information for identifying software that can be used in the target software using system, and is, for example, a software name, a uniquely assigned software number, or the like. The usable software information 1222 may have additional information regarding the license. For example, an application in which a license expiration date is held together to realize a license with a time limit is also conceivable. FIG. 2 shows an example in which the usable software information 1222 is the software using terminal 2 and the software a, b, c, d, e, and f are contracted. The usable software information 1232 is the software using terminal. 3 is an example in which software a, c, d, g, h, i is contracted.

暗号化手段13は、ソフトウェア管理サーバ1に唯一存在し公開鍵23と対をなす秘密鍵14を使用して、ソフトウェア契約情報122を暗号化する。公開鍵23は、全ソフトウェア使用システムに共通な鍵としてソフトウェア使用端末2、ソフトウェア使用端末3に配布されている。   The encryption unit 13 encrypts the software contract information 122 using the secret key 14 that exists only in the software management server 1 and is paired with the public key 23. The public key 23 is distributed to the software using terminal 2 and the software using terminal 3 as a key common to all software using systems.

送信手段15は、暗号化されたソフトウェア契約情報122をソフトウェア使用端末2へ送付する。送付方法としては、具体的には、インターネットを介した通信で送付する。記憶媒体に格納して宅配で送付などの方法でもよい。   The transmission means 15 sends the encrypted software contract information 122 to the software using terminal 2. As a sending method, specifically, sending is performed by communication via the Internet. It may be stored in a storage medium and sent by home delivery.

ソフトウェア使用端末2は、記憶部20と、受信手段21と、ソフトウェア情報チェック部22と、公開鍵23と、端末ID24と、起動手段25を含む。   The software using terminal 2 includes a storage unit 20, a receiving unit 21, a software information check unit 22, a public key 23, a terminal ID 24, and an activation unit 25.

受信手段21は、暗号化されたソフトウェア契約情報122をソフトウェア管理サーバ1から受け取る。受信手段21は、受け取ったソフトウェア契約情報122を記憶部20に格納する。   The receiving unit 21 receives the encrypted software contract information 122 from the software management server 1. The receiving unit 21 stores the received software contract information 122 in the storage unit 20.

ソフトウェア情報チェック部22は、復号化手段221と、ID判定手段222と、実行可否判断手段223とを含む。   The software information check unit 22 includes a decryption unit 221, an ID determination unit 222, and an execution availability determination unit 223.

復号化手段221は、暗号化されたソフトウェア契約情報122を記憶部20から読み出して、全ソフトウェア使用システムに共通かつ改竄不可能な公開鍵23を使用して復号化する。ここで、復号化に失敗した場合や、すでに復号化されていた場合は、復号化手段221によって情報が不正であるとみなされ、ソフトウェアの使用が不可能となる。ソフトウェア契約情報122の改竄による不正を防止するため、ソフトウェア契約情報122は、復号化された直後のものと同一であることが保証されている場合にのみ、ID判定と実行可否判断とに使用する。すなわち、復号化後からID判定、実行可否判断までに不正使用者による改竄が加えられた可能性があるソフトウェア契約情報122は、ID判定と実行可否判断とに使用しない。公開鍵23を別の鍵に置き換えることを可能とした場合、ソフトウェア契約情報122を、一旦公開鍵23で復号化し、改竄を加え、適当な秘密鍵Aで暗号化し、秘密鍵Aに対応する公開鍵を公開鍵23に置き換えることで、不正使用防止が破られる危険性がある。公開鍵23を改竄不可能な方法で保持する理由は、この危険を防止するためである。公開鍵23を改竄不可能な方法で保持する方法としては、例えば、ソフトウェア情報チェック部22が公開鍵23を内部に保持し、不正使用者が改竄できないようにすることが考えられる。さらに具体的には、ソフトウェア情報チェック部22として動作する実行ファイル中にハードコーディングして持っておく方法がある。   The decrypting means 221 reads the encrypted software contract information 122 from the storage unit 20 and decrypts it using the public key 23 that is common to all software using systems and cannot be tampered. Here, if the decryption fails or if the decryption has already been performed, the information is regarded as illegal by the decryption means 221 and the software cannot be used. In order to prevent fraud due to falsification of the software contract information 122, the software contract information 122 is used for ID determination and execution feasibility determination only when it is guaranteed that the software contract information 122 is the same as that immediately after being decrypted. . That is, the software contract information 122 that may have been tampered with by an unauthorized user after the decryption until the ID determination and the execution determination is not used for the ID determination and the execution determination. When it is possible to replace the public key 23 with another key, the software contract information 122 is once decrypted with the public key 23, tampered, encrypted with an appropriate private key A, and the public key corresponding to the private key A By replacing the key with the public key 23, there is a risk that prevention of unauthorized use is broken. The reason for holding the public key 23 in a manner that cannot be tampered is to prevent this danger. As a method of holding the public key 23 in a manner that cannot be tampered with, for example, it is conceivable that the software information check unit 22 holds the public key 23 inside so that an unauthorized user cannot tamper with it. More specifically, there is a method of hard coding the execution file that operates as the software information check unit 22.

ID判定手段222は、復号化手段221によって復号化されたソフトウェア契約情報122中のソフトウェア使用端末ID1221と、ソフトウェア使用端末2に固有かつ改竄不可能な情報である端末ID24とを比較し、一致することを確認する。一致しなかった場合は、ID判定手段222によってソフトウェアの使用が不可能であるとみなされ、次の実行可否判断手段223は、起動手段25からの実行可否の問い合わせに対して、常に実行不可を回答する。不正使用者が、自システム以外のソフトウェア使用システム向けに作成されたソフトウェア契約情報を入手し、それに含まれるソフトウェア使用端末IDに一致するよう自システムのシステムIDを改竄することにより、ソフトウェアを不正に使用することがある。端末ID24を改竄不可能とする理由は、このような不正使用を防止するためである。   The ID determination unit 222 compares the software use terminal ID 1221 in the software contract information 122 decrypted by the decryption unit 221 with the terminal ID 24 that is unique to the software use terminal 2 and cannot be falsified, and matches. Make sure. If they do not match, the ID determination means 222 considers that the software cannot be used, and the next execution possibility determination means 223 always makes the execution impossible in response to the execution possibility inquiry from the start means 25. Answer. An unauthorized user obtains software contract information created for a software using system other than the user's own system, and falsifies the software by falsifying the system ID of the own system so that it matches the software using terminal ID included in the software contract information. May be used. The reason why the terminal ID 24 cannot be tampered is to prevent such unauthorized use.

実行可否判断手段223は、使用可能ソフトウェア情報1222中の情報を参照し、起動手段25によって行われる実行可否の問い合わせに対して、実行可否を判断し、応答する。   The executability determination unit 223 refers to the information in the usable software information 1222, and determines whether or not to execute in response to the execution permission inquiry performed by the activation unit 25.

起動手段25は、実行可否判断手段223に対して、起動されたソフトウェアの実行可否の問い合わせを行う。実行可の場合は、ソフトウェアを起動し、実行不可の場合は、ソフトウェアを起動しない。   The activation unit 25 inquires the execution possibility determination unit 223 about whether the activated software can be executed. If it is executable, the software is started. If it is not executable, the software is not started.

本ソフトウェア不正使用防止方法において公開鍵暗号を使用する理由は、ソフトウェア契約情報122の改竄を防止するためである。暗号化と復号化とを別の鍵で行い、ソフトウェア情報チェック部22が復号化可能な方法で暗号化できる秘密鍵は、ソフトウェア管理者のみが保持するものとしている。これにより、ソフトウェア使用システムにおいて許されるソフトウェア契約情報に対する操作は、復号化と参照とのみとなるため、ソフトウェア契約情報122の改竄を防止することができる。   The reason for using public key cryptography in this software unauthorized use prevention method is to prevent falsification of the software contract information 122. It is assumed that only a software administrator holds a secret key that can be encrypted and decrypted with different keys and can be encrypted by a method that can be decrypted by the software information check unit 22. As a result, since the operations for the software contract information permitted in the software use system are only decryption and reference, it is possible to prevent the software contract information 122 from being falsified.

次に、第1の実施の形態の動作について説明する。図3は第1の実施の形態の動作を示すフローチャートである。ソフトウェア使用端末2で、新たにソフトウェアiが契約された場合の例について具体的に説明する。   Next, the operation of the first embodiment will be described. FIG. 3 is a flowchart showing the operation of the first embodiment. An example when the software i is newly contracted with the software using terminal 2 will be described in detail.

ソフトウェア使用端末2によってソフトウェアiが契約された際にソフトウェア管理サーバ1から配布されるのは、ソフトウェアiと、ソフトウェア使用端末2向けの暗号化されたソフトウェア契約情報122である。ソフトウェアiについては、インターネット、宅配などの任意の手段によってソフトウェア使用端末2に配布され、ソフトウェア使用端末2でインストールされる。ソフトウェアの配布はソフトウェア契約情報122の配布と同時でもよいし、同時でなくてもよい。また、ソフトウェア契約情報122は以下のような流れで配布・使用される。   When the software i is contracted by the software using terminal 2, the software management server 1 distributes the software i and the encrypted software contract information 122 for the software using terminal 2. The software i is distributed to the software using terminal 2 by any means such as the Internet or home delivery, and is installed on the software using terminal 2. The software distribution may or may not be simultaneous with the distribution of the software contract information 122. The software contract information 122 is distributed and used in the following flow.

ソフトウェア使用端末2で契約されたソフトウェアiを使用可能とするために、契約情報管理手段11は、ソフトウェア使用端末2に対応するソフトウェア契約情報122中の使用可能ソフトウェア情報1222にソフトウェアiの情報を追加する(ステップA1)。図4は、ソフトウェアiを追加、更新した後の使用可能ソフトウェア情報1222を示す図である。   In order to be able to use the software i contracted at the software use terminal 2, the contract information management means 11 adds information on the software i to the usable software information 1222 in the software contract information 122 corresponding to the software use terminal 2. (Step A1). FIG. 4 is a diagram showing usable software information 1222 after the software i is added or updated.

次に暗号化手段13は、ステップA1で更新したソフトウェア契約情報122を、ソフトウェア管理サーバ1にのみ唯一存在する秘密鍵14を使用して暗号化する(ステップA2)。   Next, the encryption means 13 encrypts the software contract information 122 updated in step A1 using the secret key 14 that exists only in the software management server 1 (step A2).

次に送信手段15は、ステップA2で暗号化されたソフトウェア契約情報122を、インターネットを介してソフトウェア使用端末2へ送付する(ステップA3)。   Next, the transmission means 15 sends the software contract information 122 encrypted in step A2 to the software using terminal 2 via the Internet (step A3).

次に受信手段21は、暗号化されたソフトウェア契約情報122を受け取り、記憶部20のソフトウェア情報チェック部22が参照可能な場所に保持する(ステップA4)。   Next, the receiving means 21 receives the encrypted software contract information 122 and holds it in a place where the software information check unit 22 of the storage unit 20 can refer (step A4).

ソフトウェア情報チェック部22が起動されると、復号化手段221は、暗号化されたソフトウェア契約情報122を記憶部20から読み出して、秘密鍵14と対をなし改竄不可能な公開鍵23を使用して復号化する(ステップA5)。このとき、ソフトウェア契約情報122がすでに復号化されていたり、暗号化されたソフトウェア契約情報122が破損していたなどの理由で復号化に失敗した場合、復号化手段221は、ソフトウェア契約情報122は不正であるとみなし、すべてのソフトウェアを使用不可能とする。これは、ソフトウェア契約情報122の改竄による不正を防止するためである。   When the software information check unit 22 is activated, the decryption unit 221 reads the encrypted software contract information 122 from the storage unit 20 and uses the public key 23 that is paired with the secret key 14 and cannot be tampered with. (Step A5). At this time, if the software contract information 122 has already been decrypted or if the decryption has failed because the encrypted software contract information 122 has been damaged, the decryption means 221 determines that the software contract information 122 It is considered illegal and all software is unusable. This is to prevent fraud due to falsification of the software contract information 122.

ソフトウェア情報チェック部22は、システム起動時に、システムプロセスとして起動され、起動手段25からの問い合わせを待つ。あるいは、ソフトウェアの起動時に、起動手段25からの実行可否の問い合わせの発行を契機に起動されるようにしてもよい。   The software information check unit 22 is activated as a system process when the system is activated, and waits for an inquiry from the activation unit 25. Alternatively, when the software is activated, the software may be activated in response to the issuance of the execution possibility inquiry from the activation unit 25.

次にID判定手段222は、復号化されたソフトウェア契約情報122中のソフトウェア使用端末ID1221と、ソフトウェア使用端末2に固有かつ改竄不可能な端末ID24とを比較し、一致することを確認する(ステップA6)。一致しない場合は、ID判定手段222は、ソフトウェア契約情報122はソフトウェア使用端末2用のものではないとみなし、すべてのソフトウェアを使用不可能とする。   Next, the ID determination unit 222 compares the software use terminal ID 1221 in the decrypted software contract information 122 with the terminal ID 24 that is unique to the software use terminal 2 and cannot be tampered with, and confirms that they match (step). A6). If they do not match, the ID determination means 222 considers that the software contract information 122 is not for the software using terminal 2 and makes all software unusable.

次に実行可否判断手段223は、ソフトウェアiの起動時に起動手段25が行う実行可否の問い合わせを受けた際、復号化されたソフトウェア契約情報122中の使用可能ソフトウェア情報1222を参照する(ステップA7)。ステップA7で、使用可能ソフトウェア情報1222にソフトウェアiの情報が含まれる場合は実行可、含まれない場合は実行不可と判断し、応答する。   Next, when the execution determination unit 223 receives an inquiry about whether execution is performed by the activation unit 25 when the software i is activated, the execution determination unit 223 refers to the usable software information 1222 in the decrypted software contract information 122 (step A7). . In step A7, if the information of software i is included in the usable software information 1222, it is determined that execution is possible, and if it is not included, it is determined that execution is impossible.

なお、ソフトウェア契約情報122の改竄による不正を防止するため、ソフトウェア情報チェック部22中のID判定手段222と実行可否判断手段223に入力されるソフトウェア契約情報122は、復号化手段221によって復号化されたものと同一と保証されるよう、復号化手段221の出力を直接入力するものとする。つまり、ファイル等を介さずに入力するものとし、復号化されたソフトウェア契約情報122を外部入力としてID判定手段222や実行可否判断手段223に与えることは不可能とする。   In order to prevent fraud due to falsification of the software contract information 122, the software contract information 122 input to the ID determination unit 222 and the execution determination unit 223 in the software information check unit 22 is decrypted by the decryption unit 221. It is assumed that the output of the decryption means 221 is directly input so as to be guaranteed to be the same as the above. That is, it is assumed that the input is made without going through a file or the like, and the decrypted software contract information 122 cannot be given as an external input to the ID determination unit 222 or the execution possibility determination unit 223.

ソフトウェアの起動時に、起動手段25は、実行可否の問い合わせをソフトウェア情報チェック部22中の実行可否判断手段223に対して行い、実行可の応答を受けた場合はソフトウェアを起動し(ステップA8)、実行不可の応答を受けた場合はソフトウェアを起動しない(ステップA9)。   When the software is activated, the activation unit 25 makes an inquiry as to whether or not execution is possible to the execution possibility determination unit 223 in the software information check unit 22 and activates the software when a response indicating execution is received (step A8). If a response that cannot be executed is received, the software is not started (step A9).

次に、本発明の第2の実施の形態について説明する。図5は、本発明の第2の実施の形態の構成を示すブロック図である。第2の実施の形態は、暗号化手段13が、ソフトウェア使用端末2の秘密鍵26と対をなす公開鍵16を使用して暗号化する点が第1の実施の形態と異なる。図5を参照すると、図1(第1の実施の形態)に対して、ソフトウェア管理サーバ1に公開鍵16が追加され、ソフトウェア使用端末2に秘密鍵26が追加されている。   Next, a second embodiment of the present invention will be described. FIG. 5 is a block diagram showing the configuration of the second exemplary embodiment of the present invention. The second embodiment is different from the first embodiment in that the encryption unit 13 encrypts using the public key 16 that is paired with the secret key 26 of the software using terminal 2. Referring to FIG. 5, a public key 16 is added to the software management server 1 and a secret key 26 is added to the software using terminal 2 with respect to FIG. 1 (first embodiment).

このようにすることで、ソフトウェア管理サーバ1からソフトウェア使用端末2へソフトウェア契約情報122を送付する際に第三者に情報を盗まれた場合に、ソフトウェア契約情報122が全ソフトウェア使用システムに共通である公開鍵23を使用して復号化されてソフトウェア使用端末2のシステムIDや使用しているソフトウェアの情報が流出することを、防止することができる。   In this way, when the software contract information 122 is sent from the software management server 1 to the software using terminal 2 and the information is stolen by a third party, the software contract information 122 is common to all software using systems. It is possible to prevent the system ID of the software using terminal 2 and the information on the software being used from being decrypted by using a certain public key 23.

図6は第2の実施の形態の動作を示すフローチャートである。ステップB2とB5が第1の実施の形態(図3)と異なる。その他のステップ(ステップB1、B3、B4、B6〜B9)は第1の実施の形態(図3のステップA1、A3、A4、A6〜A9)と同じである。ステップB2とB5について説明する。   FIG. 6 is a flowchart showing the operation of the second embodiment. Steps B2 and B5 are different from those of the first embodiment (FIG. 3). Other steps (steps B1, B3, B4, B6 to B9) are the same as those in the first embodiment (steps A1, A3, A4, and A6 to A9 in FIG. 3). Steps B2 and B5 will be described.

暗号化手段13は、ソフトウェア管理サーバ1にのみ唯一存在する秘密鍵14を使用してソフトウェア使用端末2のソフトウェア契約情報122を暗号化し、さらにこれをソフトウェア使用端末2が配布する公開鍵16を用いて暗号化する(ステップB2)。   The encryption means 13 encrypts the software contract information 122 of the software using terminal 2 using the secret key 14 that exists only in the software management server 1, and further uses the public key 16 distributed by the software using terminal 2. (Step B2).

ソフトウェア情報チェック部22が起動されると、復号化手段221は、暗号化されたソフトウェア契約情報122を、ソフトウェア使用端末2自身の秘密鍵26を使用して復号化し、さらに、秘密鍵14と対をなし改竄不可能な公開鍵23を使用して復号化する(ステップB5)。   When the software information check unit 22 is activated, the decryption means 221 decrypts the encrypted software contract information 122 using the private key 26 of the software using terminal 2 itself, and further pairs with the private key 14. And using the public key 23 that cannot be falsified (step B5).

ステップB2での暗号化の順序は機能的にはどちらが先でもよい。ただし、公開鍵16による暗号化は、ソフトウェア管理サーバ1とソフトウェア使用端末2の間の伝送経路での情報漏洩に対処するためのものなので、ソフトウェア使用端末2でデータを取得したのち、秘密鍵26による復号化は行っておいた状態で保存したほうが効率がよい。つまり、秘密鍵14で暗号化した後に公開鍵16で暗号化するほうが望ましい。もし、公開鍵16による暗号化を先に行った場合、ソフトウェア使用端末2でデータを取得後に、そのまま保存しておかねばならず、ソフトウェア情報チェック部22が使用するたびに2回の復号化を行う必要がある。   Functionally, the order of encryption in step B2 may be either. However, since the encryption with the public key 16 is for coping with information leakage on the transmission path between the software management server 1 and the software using terminal 2, the data is acquired by the software using terminal 2 and then the private key 26 is obtained. It is more efficient to save in the state where decryption is performed. That is, it is desirable to encrypt with the public key 16 after encrypting with the secret key 14. If the encryption using the public key 16 is performed first, the data must be stored as it is after being acquired by the software using terminal 2, and is decrypted twice each time the software information check unit 22 uses it. There is a need to do.

本発明の第1または第2の実施の形態の契約情報管理部11、暗号化手段13、送信手段15の動作はコンピュータ・プログラム処理により行わせることが可能である。すなわち、記録媒体に記録したプログラムをソフトウェア管理サーバ1に読み込ませるか、あるいは、ネットワークからプログラムをソフトウェア管理サーバ1に読み込ませて、第1または第2の実施の形態で説明した動作を実行させる。   The operations of the contract information management unit 11, the encryption unit 13, and the transmission unit 15 according to the first or second embodiment of the present invention can be performed by computer program processing. That is, the program recorded on the recording medium is read by the software management server 1 or the program is read by the software management server 1 from the network, and the operation described in the first or second embodiment is executed.

本発明の第1または第2の実施の形態の受信手段21、ソフトウェア情報チェック部22の動作はコンピュータ・プログラム処理により行わせることが可能である。すなわち、記録媒体に記録したプログラムをソフトウェア使用端末2に読み込ませるか、あるいは、ネットワークからプログラムをソフトウェア使用端末2に読み込ませて、第1または第2の実施の形態で説明した動作を実行させる。   The operations of the receiving means 21 and the software information check unit 22 according to the first or second embodiment of the present invention can be performed by computer program processing. That is, the program recorded in the recording medium is read by the software using terminal 2, or the program is read from the network by the software using terminal 2, and the operation described in the first or second embodiment is executed.

第1の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of 1st Embodiment. ソフトウェア契約情報記憶域に記憶されるソフトウェア契約情報の一例を示す図である。It is a figure which shows an example of the software contract information memorize | stored in a software contract information storage area. 第1の実施の形態の動作を示すフローチャートである。It is a flowchart which shows operation | movement of 1st Embodiment. ソフトウェアiを追加、更新した後の使用可能ソフトウェア情報を示す図である。It is a figure which shows the usable software information after adding and updating software i. 第2の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of 2nd Embodiment. 第2の実施の形態の動作を示すフローチャートである。It is a flowchart which shows operation | movement of 2nd Embodiment.

符号の説明Explanation of symbols

1 ソフトウェア管理サーバ
2 ソフトウェア使用端末
11 契約情報管理手段
12 ソフトウェア契約情報記憶域
13 暗号化手段
14 秘密鍵
15 送信手段
16 公開鍵
20 記憶部
21 受信手段
22 ソフトウェア情報チェック部
23 公開鍵
24 端末ID
25 起動手段
26 秘密鍵
122 ソフトウェア契約情報
221 復号化手段
222 ID判定手段
223 実行可否判断手段
1221 ソフトウェア使用端末ID
1222 使用可能ソフトウェア情報
DESCRIPTION OF SYMBOLS 1 Software management server 2 Software use terminal 11 Contract information management means 12 Software contract information storage area 13 Encryption means 14 Private key 15 Transmission means 16 Public key 20 Storage part 21 Reception means 22 Software information check part 23 Public key 24 Terminal ID
25 starting means 26 secret key 122 software contract information 221 decrypting means 222 ID judging means 223 execution feasibility judging means 1221 software using terminal ID
1222 Available software information

Claims (27)

ソフトウェアを使用するソフトウェア使用端末と、前記ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を秘密鍵を使用して暗号化する手段とを備え、
前記ソフトウェア使用端末は、暗号化された前記ソフトウェア契約情報を記憶部に格納する手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する復号化手段と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合する手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する手段とを備えたことを特徴とするソフトウェア不正使用防止方式。
A software using terminal using software, and means for encrypting software contract information including software information permitted to be used by the software using terminal and an ID for identifying the software using terminal using a secret key,
The software using terminal uses means for storing the encrypted software contract information in a storage unit, and a public key that reads the encrypted software contract information from the storage unit and makes a pair with the secret key. Decrypting means for decrypting the terminal ID, means for comparing the terminal ID of the terminal with the ID included in the decrypted software contract information, software information included in the software contract information decrypting the software to be activated, A method for preventing unauthorized use of software, comprising means for determining whether or not to start the software to be collated and started.
ソフトウェアの使用を管理するソフトウェア管理サーバと、ソフトウェアを使用するソフトウェア使用端末とを備え、
前記ソフトウェア管理サーバは、前記ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化する暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを有し、
前記ソフトウェア使用端末は、暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する復号化手段と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合するID判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴とするソフトウェア不正使用防止方式。
A software management server for managing the use of software and a software using terminal for using the software;
The software management server includes: contract information management means for storing software contract information including software information permitted to be used by the software use terminal and an ID for identifying the software use terminal in a storage area; and the software contract information Encryption means for reading from the storage area and encrypting using a secret key, and transmission means for transmitting the encrypted software contract information to the software using terminal,
The software using terminal receives the encrypted software contract information and stores the received software contract information in a storage unit, and reads the encrypted software contract information from the storage unit and makes a public key paired with the secret key Decryption means for decrypting using a key; ID determination means for collating with the ID contained in the software contract information obtained by decrypting the terminal ID of the terminal itself; and the software contract information obtained by decrypting the software to be activated. An unauthorized software prevention method comprising: execution feasibility judgment means for judging whether or not to start software to be started by collating with software information included in the software.
ソフトウェアの使用を管理するソフトウェア管理サーバと、ソフトウェアを使用するソフトウェア使用端末とを備え、
前記ソフトウェア管理サーバは、前記ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して第1の秘密鍵を使用した暗号化と第1の公開鍵を使用した暗号化とを行う暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを有し、
前記ソフトウェア使用端末は、暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第1の公開鍵と対をなす第2の秘密鍵を使用した復号化と前記第1の秘密鍵と対をなす第2の公開鍵を使用した復号化とを行う復号化手段と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合するID判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴とするソフトウェア不正使用防止方式。
A software management server for managing the use of software and a software using terminal for using the software;
The software management server includes: contract information management means for storing software contract information including software information permitted to be used by the software use terminal and an ID for identifying the software use terminal in a storage area; and the software contract information Encryption means for reading from the storage area and performing encryption using the first secret key and encryption using the first public key, and transmitting the encrypted software contract information to the software using terminal Transmission means,
The software using terminal receives the encrypted software contract information and stores it in a storage unit, and reads the encrypted software contract information from the storage unit to pair with the first public key. Decryption means for performing decryption using the second secret key forming the first key and decryption using the second public key paired with the first secret key, and decrypting the terminal ID of the own terminal ID determination means for verifying with the ID included in the software contract information, and execution permission determination for determining whether or not to start the software to be checked against the software information included in the software contract information obtained by decrypting the software to be activated A method of preventing unauthorized use of software.
前記暗号化手段は、前記第1の秘密鍵を使用した暗号化を行った後に前記第1の公開鍵を使用した暗号化を行うことを特徴とする請求項3記載のソフトウェア不正使用防止方式。 4. The software illegal use prevention method according to claim 3, wherein the encryption means performs encryption using the first public key after performing encryption using the first secret key. 前記公開鍵を前記ソフトウェア使用端末の内部に保持することにより改竄不可能としたことを特徴とする請求項1、2、3または4記載のソフトウェア不正使用防止方式。 5. The software illegal use prevention method according to claim 1, wherein the public key is held in the software using terminal so that the public key cannot be tampered with. 前記端末IDと照合する前記IDは、復号化手段が復号化した前記ソフトウェア契約情報に含まれるIDを直接入力されたものであることを特徴とする請求項1、2、3、4または5記載のソフトウェア不正使用防止方式。 6. The ID, which is collated with the terminal ID, is obtained by directly inputting an ID included in the software contract information decrypted by decryption means. Software illegal use prevention method. ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納するステップと、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化するステップと、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信するステップと、暗号化された前記ソフトウェア契約情報を受信して前記ソフトウェア使用端末の記憶部に格納するステップと、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化するステップと、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合するステップと、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断するステップとを備えたことを特徴とするソフトウェア不正使用防止方法。 Storing software contract information including software information permitted to be used by the software using terminal and an ID for identifying the software using terminal in a storage area; and reading the software contract information from the storage area and using a secret key. Encrypting the software contract information, transmitting the encrypted software contract information to the software using terminal, receiving the encrypted software contract information and storing it in the storage unit of the software using terminal; A step of reading out the encrypted software contract information from the storage unit using a public key paired with the secret key, and the decrypted terminal ID of the terminal included in the software contract information The ID to be checked and the software to be started were decrypted Software tamper resistant method characterized by comprising the steps of determining a success of starting of the software desired to be activated software information and the verification to be included in the serial software contract information. ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納するステップと、前記ソフトウェア契約情報を前記記憶域から読み出して第1の秘密鍵を使用した暗号化と第1の公開鍵を使用した暗号化とを行うステップと、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信するステップと、暗号化された前記ソフトウェア契約情報を受信して前記ソフトウェア使用端末の記憶部に格納するステップと、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第1の公開鍵と対をなす第2の秘密鍵を使用した復号化と前記第1の秘密鍵と対をなす第2の公開鍵を使用した復号化とを行うステップと、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合するステップと、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断するステップとを備えたことを特徴とするソフトウェア不正使用防止方法。 Storing software contract information including software information permitted to be used by the software using terminal and an ID for identifying the software using terminal in a storage area; and reading the software contract information from the storage area to obtain a first secret key Performing encryption using a first public key and encryption using a first public key, transmitting the encrypted software contract information to the software using terminal, and encrypting the software contract information Receiving and storing it in the storage unit of the software using terminal, and decrypting the software contract information encrypted from the storage unit and using the second secret key paired with the first public key Performing decryption using a second public key paired with the first secret key, and a terminal of the terminal itself The step of checking D with the ID included in the decrypted software contract information and the software information included in the decrypted software contract information with respect to the software to be activated are determined to determine whether the software to be activated can be activated. And a method for preventing unauthorized use of software. 前記第1の秘密鍵を使用した暗号化を行った後に前記第1の公開鍵を使用した暗号化を行うことを特徴とする請求項8記載のソフトウェア不正使用防止方法。 9. The method of preventing unauthorized use of software according to claim 8, wherein encryption using the first public key is performed after performing encryption using the first secret key. 前記公開鍵を前記ソフトウェア使用端末の内部に保持することにより改竄不可能としたことを特徴とする請求項7、8または9記載のソフトウェア不正使用防止方法。 10. The method of preventing unauthorized use of software according to claim 7, 8 or 9, wherein the public key is held in the software using terminal so that the tampering is impossible. 前記端末IDと照合する前記IDは、前記復号化するステップで復号化した前記ソフトウェア契約情報に含まれるIDを直接入力されたものであることを特徴とする請求項7、8、9または10記載のソフトウェア不正使用防止方法。 11. The ID to be collated with the terminal ID is an ID that is directly input from an ID included in the software contract information decrypted in the decrypting step. To prevent unauthorized use of software. ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化する暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを備えたことを特徴とするソフトウェア管理サーバ。 Contract information management means for storing in the storage area software contract information including software information permitted to be used by the software using terminal and an ID for identifying the software using terminal, and reading out the software contract information from the storage area and a secret key A software management server comprising: encryption means for encrypting using software; and transmission means for transmitting the encrypted software contract information to the software using terminal. ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する契約情報管理手段と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用した暗号化と公開鍵を使用した暗号化とを行う暗号化手段と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する送信手段とを備えたことを特徴とするソフトウェア管理サーバ。 Contract information management means for storing in the storage area software contract information including software information permitted to be used by the software using terminal and an ID for identifying the software using terminal, and reading out the software contract information from the storage area and a secret key Software management, comprising: encryption means for performing encryption using a public key and encryption using a public key; and transmission means for transmitting the encrypted software contract information to the software using terminal server. 前記暗号化手段は、前記秘密鍵を使用した暗号化を行った後に前記公開鍵を使用した暗号化を行うことを特徴とする請求項13記載のソフトウェア管理サーバ。 14. The software management server according to claim 13, wherein the encryption unit performs encryption using the public key after performing encryption using the secret key. ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するIDとを含むソフトウェア契約情報を秘密鍵を使用して暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する復号化手段と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合するID判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴とするソフトウェア使用端末。 Receiving means for receiving software contract information encrypted using a secret key and storing the software contract information including software information and an ID for identifying a terminal permitted to use the software in a storage unit; Included in the software contract information obtained by decoding the software contract information encrypted from the storage unit and decrypting it using a public key paired with the secret key, and decrypting the terminal ID of the terminal itself ID determining means for comparing with the ID to be started, and execution feasibility determining means for determining whether or not to start the software to be started by checking with the software information included in the software contract information obtained by decrypting the software to be started. Software use terminal characterized by. ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するIDとを含むソフトウェア契約情報を第1の秘密鍵と第1の公開鍵とを使用して暗号化された前記ソフトウェア契約情報を受信して記憶部に格納する受信手段と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第1の公開鍵と対をなす第2の秘密鍵を使用した復号化と前記第1の秘密鍵と対をなす第2の公開鍵を使用した復号化とを行う復号化手段と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合するID判定手段と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する実行可否判断手段とを備えたことを特徴とするソフトウェア使用端末。 Receiving the software contract information obtained by encrypting software contract information including software information and an ID for identifying a terminal permitted to use the software by using a first secret key and a first public key; Receiving means for storing in the storage unit; decrypting the software contract information encrypted from the storage unit and using a second secret key paired with the first public key; and the first secret A decryption unit that performs decryption using the second public key that is paired with the key, an ID determination unit that collates the terminal ID of the terminal with the ID included in the decrypted software contract information, and activates the decryption unit Executeability determination means for determining whether or not to start the software to be started by collating with the software information included in the software contract information obtained by decrypting the desired software Software use terminals that feature. 前記復号化手段は、前記第2の秘密鍵を使用した復号化を行った後に前記第2の公開鍵を使用した復号化を行うことを特徴とする請求項16記載のソフトウェア使用端末。 17. The software using terminal according to claim 16, wherein the decryption means performs decryption using the second public key after performing decryption using the second secret key. 前記公開鍵を自端末の内部に保持することにより改竄不可能としたことを特徴とする請求項15、16または17記載のソフトウェア使用端末。 18. The software using terminal according to claim 15, 16 or 17, wherein the public key is held in its own terminal so that it cannot be tampered. 前記端末IDと照合する前記IDは、復号化手段が復号化した前記ソフトウェア契約情報に含まれるIDを直接入力されたものであることを特徴とする請求項15、16、17または18記載のソフトウェア使用端末。 19. The software according to claim 15, 16, 17 or 18, wherein the ID collated with the terminal ID is obtained by directly inputting an ID included in the software contract information decrypted by a decrypting means. Terminal used. ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する処理と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用して暗号化する処理と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する処理とをコンピュータに実行させるためのプログラム。 A process for storing software contract information including software information permitted to be used by the software using terminal and an ID for identifying the software using terminal in a storage area, and reading the software contract information from the storage area and using a secret key. A program for causing a computer to execute processing for encrypting and processing for transmitting the encrypted software contract information to the software using terminal. ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する処理と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用した暗号化と公開鍵を使用した暗号化とを行う処理と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する処理とをコンピュータに実行させるためのプログラム。 Processing for storing software contract information including software information permitted to be used by the software using terminal and an ID for identifying the software using terminal in a storage area, and reading the software contract information from the storage area and using a secret key A program for causing a computer to execute a process of performing encryption and encryption using a public key, and a process of transmitting the encrypted software contract information to the software using terminal. ソフトウェア使用端末に使用を許可するソフトウェア情報と前記ソフトウェア使用端末を特定するIDとを含むソフトウェア契約情報を記憶域に格納する処理と、前記ソフトウェア契約情報を前記記憶域から読み出して秘密鍵を使用した暗号化を行った後に公開鍵を使用した暗号化を行う処理と、暗号化された前記ソフトウェア契約情報を前記ソフトウェア使用端末へ送信する処理とをコンピュータに実行させるためのプログラム。 Processing for storing software contract information including software information permitted to be used by the software using terminal and an ID for identifying the software using terminal in a storage area, and reading the software contract information from the storage area and using a secret key A program for causing a computer to execute a process of performing encryption using a public key after performing encryption and a process of transmitting the encrypted software contract information to the software using terminal. ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するIDとを含むソフトウェア契約情報を秘密鍵を使用して暗号化された前記ソフトウェア契約情報を受信する処理と、受信した暗号化された前記ソフトウェア契約情報を記憶部に格納する処理と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記秘密鍵と対をなす公開鍵を使用して復号化する処理と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合する処理と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する処理とをコンピュータに実行させるためのプログラム。 A process of receiving the software contract information obtained by encrypting software contract information including software information and an ID for identifying a terminal permitted to use the software by using a secret key; and the received encrypted software Processing for storing contract information in a storage unit, processing for reading out the software contract information encrypted from the storage unit and decrypting it using a public key paired with the secret key, and a terminal ID of the terminal itself And a process for checking whether or not the software to be started is checked by checking with the ID included in the decrypted software contract information and the software information included in the software contract information and decrypting the software to be started A program that causes a computer to execute. ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するIDとを含むソフトウェア契約情報を第1の秘密鍵と第1の公開鍵とを使用して暗号化された前記ソフトウェア契約情報を受信する処理と、受信した暗号化された前記ソフトウェア契約情報を記憶部に格納する処理と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第1の公開鍵と対をなす第2の秘密鍵を使用した復号化と前記第1の秘密鍵と対をなす第2の公開鍵を使用した復号化とを行う処理と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合する処理と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する処理とをコンピュータに実行させるためのプログラム。 Processing for receiving the software contract information obtained by encrypting software contract information including software information and an ID for identifying a terminal permitted to use the software by using a first secret key and a first public key. A process of storing the received encrypted software contract information in a storage unit, and a second secret that reads the encrypted software contract information from the storage unit and makes a pair with the first public key A process of performing decryption using a key and decryption using a second public key paired with the first secret key, and an ID included in the software contract information obtained by decrypting the terminal ID of the terminal itself And whether or not the software to be activated can be activated by comparing with the software information included in the software contract information obtained by decrypting the software to be activated. Program for executing a process and for the computer. ソフトウェア情報と前記ソフトウェアの使用を許可する端末を特定するIDとを含むソフトウェア契約情報を第1の秘密鍵と第1の公開鍵とを使用して暗号化された前記ソフトウェア契約情報を受信する処理と、受信した暗号化された前記ソフトウェア契約情報を記憶部に格納する処理と、前記記憶部から暗号化された前記ソフトウェア契約情報を読み出して前記第1の公開鍵と対をなす第2の秘密鍵を使用した復号化を行った後に前記第1の秘密鍵と対をなす第2の公開鍵を使用した復号化を行う処理と、自端末の端末IDを復号化した前記ソフトウェア契約情報に含まれるIDと照合する処理と、起動させたいソフトウェアを復号化した前記ソフトウェア契約情報に含まれるソフトウェア情報と照合して起動させたいソフトウェアの起動可否を判断する処理とをコンピュータに実行させるためのプログラム。 Processing for receiving the software contract information obtained by encrypting software contract information including software information and an ID for identifying a terminal permitted to use the software by using a first secret key and a first public key. A process of storing the received encrypted software contract information in a storage unit, and a second secret that reads the encrypted software contract information from the storage unit and makes a pair with the first public key Included in the software contract information in which the terminal ID of the terminal itself is decrypted, and the decryption process using the second public key paired with the first secret key after decryption using the key The process of checking the ID to be started and the activation of the software to be started by checking the software information included in the software contract information obtained by decrypting the software to be started Program for executing a process of determining whether the computer. 前記公開鍵は自端末の内部に保持することにより改竄不可能とされたものであることを特徴とする請求項23、24または25記載のプログラム。 26. The program according to claim 23, 24 or 25, wherein the public key is made incapable of falsification by being held inside the terminal itself. 前記端末IDと照合する前記IDは、前記復号化を行う処理で復号化した前記ソフトウェア契約情報に含まれるIDを直接入力されたものであることを特徴とする請求項23、24、25または26記載のプログラム。
27. The ID to be collated with the terminal ID is a direct input of an ID included in the software contract information decrypted in the decrypting process. The listed program.
JP2004074373A 2004-03-16 2004-03-16 System for preventing unauthorized use of software, method and program for preventing unauthorized use of software Pending JP2005266896A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004074373A JP2005266896A (en) 2004-03-16 2004-03-16 System for preventing unauthorized use of software, method and program for preventing unauthorized use of software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004074373A JP2005266896A (en) 2004-03-16 2004-03-16 System for preventing unauthorized use of software, method and program for preventing unauthorized use of software

Publications (1)

Publication Number Publication Date
JP2005266896A true JP2005266896A (en) 2005-09-29

Family

ID=35091421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004074373A Pending JP2005266896A (en) 2004-03-16 2004-03-16 System for preventing unauthorized use of software, method and program for preventing unauthorized use of software

Country Status (1)

Country Link
JP (1) JP2005266896A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013254502A (en) * 2011-01-17 2013-12-19 Ricoh Co Ltd Information processing apparatus, program, and authentication method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1031587A (en) * 1996-07-15 1998-02-03 Hitachi Ltd Data terminal equipment and computer program
JP2000035885A (en) * 1998-05-14 2000-02-02 Sega Enterp Ltd Information processor, information processing method, information recording medium and information processing system
JP2001525957A (en) * 1997-05-15 2001-12-11 モンデックス インターナショナル リミテッド Key distribution unit for IC card
JP2002258969A (en) * 2001-03-06 2002-09-13 Nec Corp Remote maintenance management system in distributed communication system, and its communication system and program
JP2004046833A (en) * 2002-06-12 2004-02-12 Microsoft Corp Publishing of contents related to digital copyright management (drm) system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1031587A (en) * 1996-07-15 1998-02-03 Hitachi Ltd Data terminal equipment and computer program
JP2001525957A (en) * 1997-05-15 2001-12-11 モンデックス インターナショナル リミテッド Key distribution unit for IC card
JP2000035885A (en) * 1998-05-14 2000-02-02 Sega Enterp Ltd Information processor, information processing method, information recording medium and information processing system
JP2002258969A (en) * 2001-03-06 2002-09-13 Nec Corp Remote maintenance management system in distributed communication system, and its communication system and program
JP2004046833A (en) * 2002-06-12 2004-02-12 Microsoft Corp Publishing of contents related to digital copyright management (drm) system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013254502A (en) * 2011-01-17 2013-12-19 Ricoh Co Ltd Information processing apparatus, program, and authentication method

Similar Documents

Publication Publication Date Title
KR100912276B1 (en) Electronic Software Distribution Method and System Using a Digital Rights Management Method Based on Hardware Identification
EP1942430B1 (en) Token Passing Technique for Media Playback Devices
US7270193B2 (en) Method and system for distributing programs using tamper resistant processor
US8051297B2 (en) Method for binding a security element to a mobile device
KR101100385B1 (en) Method and apparatus for digital rights management by using certificate revocation list
JP5284989B2 (en) Software license renewal
US8204233B2 (en) Administration of data encryption in enterprise computer systems
JP2005518041A (en) Methods and configurations for protecting software
US20110113235A1 (en) PC Security Lock Device Using Permanent ID and Hidden Keys
US20070219917A1 (en) Digital License Sharing System and Method
CN100495421C (en) Authentication protection method based on USB device
KR20070046982A (en) Digital rights management system based on hardware identification
KR20060046766A (en) System and method for enforcing location privacy using rights management
US8538890B2 (en) Encrypting a unique cryptographic entity
US20040255136A1 (en) Method and device for protecting information against unauthorised use
JP2009080772A (en) Software starting system, software starting method and software starting program
JPH10260939A (en) Client machine authentication method of computer network, client machine, host machine and computer system
CA2553081C (en) A method for binding a security element to a mobile device
JP2008021021A (en) License authentication method for software
JPH1124916A (en) Device and method for managing software licence
CN100410831C (en) Random binding software installing method
JP2007199978A (en) Information processor, portable terminal equipment, and information processing execution control method
JP2007179357A (en) Method for installing computer program
JP2005266896A (en) System for preventing unauthorized use of software, method and program for preventing unauthorized use of software
JP4292160B2 (en) Information processing system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070116

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070119

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071002