JPH0744377A - Method and device for preventing circulating software from being forged - Google Patents

Method and device for preventing circulating software from being forged

Info

Publication number
JPH0744377A
JPH0744377A JP5190683A JP19068393A JPH0744377A JP H0744377 A JPH0744377 A JP H0744377A JP 5190683 A JP5190683 A JP 5190683A JP 19068393 A JP19068393 A JP 19068393A JP H0744377 A JPH0744377 A JP H0744377A
Authority
JP
Japan
Prior art keywords
software
encrypted
key
center
authentication
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
JP5190683A
Other languages
Japanese (ja)
Inventor
Atsushi Kanai
敦 金井
Haruhisa Ichikawa
晴久 市川
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP5190683A priority Critical patent/JPH0744377A/en
Publication of JPH0744377A publication Critical patent/JPH0744377A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To provide the method for preventing a circulating software from being forged so as to make the forgery of the software difficult or to enable speedy countermeasures even when it is forged. CONSTITUTION:A certification program 92 is integrated into a presenting software 93 by a presenting means 1 and presented to a user together with a software ID as a ciphered part software 94 by using a public key A. When the software ID, person ID to be charged and ciphered part are transmitted from a terminal 3 for user through a network 7 to a center 9, a software user discovers a secret key B corresponding to the software ID at the center 9, the ciphered part is made into a plane sentence and transmitted to the terminal 3 for user, and the complete presenting software made into the plane sentence is prepared and started at the terminal. First of all, the certification software is operated by the start and when the certified result is normal, the main body of the presenting software is started.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ソフトウェア流通機構
において末端ユーザのソフトウェア使用に対する料金お
よび料金徴収をより柔軟にし、流通性を高めるとともに
ソフトウェアの偽造を防止する流通ソフトウェア偽造防
止方法および装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed software counterfeiting prevention method and device for making a fee and a fee collection for software use by an end user more flexible in a software distribution mechanism, improving distribution and preventing software forgery.

【0002】[0002]

【従来の技術】従来、ソフトウェアはその使用者に対し
て、ソフトウェアの実体を渡し、その使用権を売るとい
う流通形態であり、この場合ソフトウェアを買い取ると
いう形態であるため利用に応じた課金は不可能である。
また、ソフトウェアのユーザによる偽造は許されていな
いが、技術的にはソフトウェアのコピーによるソフトウ
ェアの不正使用は容易である。また、従来提案されてい
る利用に応じて課金する方法では、ネットワーク側で偽
造防止のための鍵を提供せず、端末側にすべてのソフト
ウェアで同一の秘密鍵を埋め込む方式である。
2. Description of the Related Art Conventionally, software is a distribution form in which the substance of the software is given to its user and the right to use the software is sold. In this case, the software is purchased, so that there is no charge for use. It is possible.
Further, although forgery by the user of the software is not permitted, it is technically easy to illegally use the software by copying the software. In addition, in the conventionally proposed method of charging according to usage, a key for preventing forgery is not provided on the network side, and the same secret key is embedded in all software on the terminal side.

【0003】[0003]

【発明が解決しようとする課題】ソフトウェアの実体を
買い取る方式は、一回しか使用しないかもしれなかった
り、使った結果気に入らなかったりした場合にリスクが
大きく気軽に購入に踏み切れない。また、本来コピーが
容易な性質をもつソフトウェアのコピーが許されず、ソ
フトウェア流通および市場の拡大に大きな障害となって
いた。従来提案されている利用に応じて課金する方法で
は、秘密鍵が一つのみ(多くても数個)であるため、万
が一秘密鍵が漏洩した場合は、すべてのソフトウェア
(あるいはかなりのソフトウェア)に被害がおよぶ可能
性があった。さらに、秘密鍵は端末やICカードに埋め
込まれているため、漏洩が発覚したとしても迅速な対応
は不可能であった。
The method of purchasing the substance of the software is risky and cannot be purchased easily if the software may be used only once or if the user does not like the result. Further, copying of software, which originally has the property of being easy to copy, is not allowed, which has been a major obstacle to software distribution and market expansion. In the conventional method of charging according to usage, there is only one private key (several at most), so in the unlikely event that the private key is leaked, all software (or considerable software) will use it. There was a possibility of damage. Further, since the private key is embedded in the terminal or the IC card, it is impossible to respond promptly even if a leak is discovered.

【0004】更に、従来提案されている利用に応じて課
金する方法では、ネットワークを通してリアルタイムに
課金するか、使用履歴を保存して使用した後から回収し
て課金する後払い方式であるが、ネットワークに接続す
る場合には、ネットワークを使用する時にネットワーク
が使用できないという問題があり、また後払い方式では
使用履歴が回収される時点が不明であり、使用料をすべ
て回収できない可能性がある。
Further, the conventionally proposed method of charging according to use is a post-payment method of charging in real time through a network or collecting and charging after use history is used. When connecting, there is a problem that the network cannot be used when using the network, and in the post-payment method, there is a possibility that the usage history cannot be collected and all usage fees cannot be collected.

【0005】本発明は、上記に鑑みてなされたもので、
その目的とするところは、ネットワークを利用して、ソ
フトウェアの利用に応じて適確に課金を行うとともに、
偽造を困難にし、偽造されたとしても迅速な対処を可能
とする流通ソフトウェア偽造防止方法および装置を提供
することにある。
The present invention has been made in view of the above,
The purpose of this is to use the network to accurately charge according to the use of software,
It is an object of the present invention to provide a distribution software forgery prevention method and device that makes counterfeiting difficult and enables swift countermeasures even if it is counterfeited.

【0006】また、本発明の他の目的は、プリペイド方
式でクレジットを取得して、ソフトウェアの利用に応じ
て適確に課金するとともに、偽造を困難にし、偽造され
たとしても迅速な対処を可能とする流通ソフトウェア偽
造防止方法および装置を提供することにある。
Another object of the present invention is to obtain credit by a prepaid method, to accurately charge according to the use of software, to make counterfeiting difficult, and to promptly deal with counterfeiting. Distributing software forgery prevention method and device.

【0007】[0007]

【課題を解決するための手段】上記目的を達成するた
め、本発明の流通ソフトウェア偽造防止方法は、ソフト
ウェアの流通時に当該ソフトウェアを偽造防止する流通
ソフトウェア偽造防止方法であって、運営者のいるセン
タとソフトウェア利用者がいて当該ソフトウェアを動作
させる端末とをネットワークで接続し、前記センタには
当該ソフトウェアが偽造でないことを確認するための情
報である前記ソフトウェアIDと認証情報および偽造防
止のための公開鍵A,秘密鍵Bと通信用鍵を格納した認
証データベースを備え、前記センタの運営者はソフトウ
ェア提供者の提供ソフトウェアを一意に識別するソフト
ウェアIDと公開鍵暗号方式の公開鍵Aを交付し、ソフ
トウェア提供者は提供ソフトウェアに当該ソフトウェア
を認証する認証ソフトウェアを組み込み、交付された前
記公開鍵Aを用いて少なくとも前記認証ソフトウェアを
含む部分を暗号化部分として暗号化して、該暗号化部分
の区域を示す情報と前記ソフトウェアIDとともに提供
し、ソフトウェア利用者はソフトウェア提供者から前記
暗号化した提供ソフトウェアを直接またはコピーを第三
者から入手し、端末の記憶装置に格納し、前記ソフトウ
ェアID、端末を一意に識別する予め設定した被課金者
ID、および前記暗号化部分をネットワークを介して前
記センタに送信し、前記センタで平文化した前記暗号化
部分を受信すると、受信した当該平文化された暗号化部
分で前記暗号化部分を置換して完全な提供ソフトウェア
を作成し、当該提供ソフトウェアを起動し、当該起動に
より最初に前記認証ソフトウェアが動作し、前記認証ソ
フトウェアは前記センタから受信した認証情報を入力し
て当該提供ソフトウェアを認証し、認証結果が正常なら
ばその旨を前記センタに送信し、前記センタからの走行
許可を受信すると、前記提供ソフトウェアの本体を起動
し、走行不許可の場合は自身の動作を終了し、前記セン
タは前記ソフトウェアID、前記被課金者ID、および
前記暗号化部分を端末から受信すると、前記認証データ
ベースの情報を用いて当該ソフトウェアIDに対応する
秘密鍵Bを見つけて、当該暗号化部分を平文化して端末
へ送信し、端末から認証結果が正常である旨を受信する
と、前記走行許可を送信し、端末への通信を終了するこ
とを要旨とする。
In order to achieve the above object, a distributed software forgery prevention method of the present invention is a distributed software forgery prevention method for preventing forgery of software at the time of distribution of the software. And a software user who has a terminal operating the software via a network, and the software ID and authentication information that is information for confirming that the software is not counterfeit in the center, and disclosure for preventing forgery. An authentication database storing a key A, a secret key B and a communication key is provided, and the operator of the center issues a software ID for uniquely identifying software provided by a software provider and a public key A of a public key cryptosystem. The software provider is the authentication software that certifies the provided software. Software is incorporated, and at least a portion including the authentication software is encrypted as an encrypted portion by using the issued public key A, and the encrypted user is provided with the information indicating the area of the encrypted portion and the software ID. Obtains the encrypted provided software directly or a copy from a third party from a software provider, stores it in a storage device of a terminal, stores the software ID, a preset payee ID for uniquely identifying the terminal, and When the encrypted portion is transmitted to the center via the network and the encrypted portion encrypted by the center is received, the encrypted portion received is replaced with the encrypted portion to complete the encrypted portion. Create the provided software, start the provided software, and start the authentication software first by the start. Then, the authentication software inputs the authentication information received from the center to authenticate the provided software, and if the authentication result is normal, the fact is transmitted to the center, and when the travel permission from the center is received, When the main body of the provided software is started, the operation of itself is terminated when the traveling is not permitted, and the center receives the software ID, the payee ID, and the encrypted portion from the terminal, the information of the authentication database Find the secret key B corresponding to the software ID using, and send the encrypted part to the terminal in plain text, and when the terminal receives the fact that the authentication result is normal, sends the travel permission, The main point is to terminate the communication to the terminal.

【0008】また、本発明の流通ソフトウェア偽造防止
方法は、ソフトウェア利用者が前記認証結果が正常なら
ば平文化した前記暗号化部分、前記認証情報、およびク
レジット数を端末の記憶装置に記憶し、必要があれば、
平文化した前記暗号化部分を前記記憶装置から取り出し
て元の前記暗号化部分と置換して完全な提供ソフトウェ
アを作成し、当該提供ソフトウェアを起動し、該起動に
より最初に前記認証ソフトウェアが記憶した認証情報を
入力して当該提供ソフトウェアを認証し、認証結果が正
常ならば、前記センタにクレジットとその数を要求し、
認可を得るとともに、通信を終了し、提供ソフトウェア
を使用する時、平文化した前記暗号化部分を付加装置あ
るいは端末装置から取り出して元の前記暗号化部分と置
換して完全な提供ソフトウェアとし、当該提供ソフトウ
ェアを起動し、当該起動により最初に前記認証ソフトウ
ェアが記憶した認証情報を入力して当該提供ソフトウェ
アを認証し、認証結果が正常ならば前記クレジット数を
減算し、走行を許可し、当該クレジット数が0であれば
当該提供ソフトウェアの使用を禁止し、保存した前記ソ
フトウェアID、前記平文化暗号化部分、前記認証情報
を消去することを要旨とする。
Further, the distributed software forgery prevention method of the present invention stores the encrypted portion, the authentication information, and the number of credits, which the software user has plain text if the authentication result is normal, in a storage device of the terminal, If you need
The plaintext encrypted part is taken out of the storage device and replaced with the original encrypted part to create a complete provided software, and the provided software is activated, and the activation causes the authentication software to initially store the software. Enter the authentication information to authenticate the provided software, and if the authentication result is normal, request credit and the number from the center,
When obtaining the approval, terminating communication, and using the provided software, the plaintext encrypted portion is taken out from the additional device or the terminal device and replaced with the original encrypted portion to obtain the complete provided software. The provided software is started, the authentication information stored in the authentication software is first input by the start, and the provided software is authenticated. If the authentication result is normal, the credit number is subtracted, the traveling is permitted, and the credit is given. If the number is 0, the gist is to prohibit the use of the provided software and delete the stored software ID, the plaintext encrypted part, and the authentication information.

【0009】更に、本発明の流通ソフトウェア偽造防止
装置は、ソフトウェアの通信時に当該ソフトウェアを偽
造防止する流通ソフトウェア偽造防止装置であって、運
営者のいるセンタとソフトウェア利用者がいて当該ソフ
トウェアを動作させるユーザ用端末とを接続したネット
ワークと、前記センタに設けられ、当該ソフトウェアが
偽造でないことを確認するための情報である認証情報お
よび偽造防止のための暗号化用鍵を格納した認証データ
ベースと、ソフトウェア提供者の提供ソフトウェアを一
意に識別するソフトウェアIDと公開鍵暗号方式の公開
鍵Aを交付し、提供ソフトウェアに当該ソフトウェアを
認証する認証ソフトウェアまたはデータを復号化する鍵
Cを組み込み、交付された前記公開鍵Aを用いて少なく
とも前記認証ソフトウェアを含む部分または前記鍵Cを
含む部分を暗号化部分として暗号化して、前記暗号化部
分の区域を示す情報と前記ソフトウェアIDとともに提
供する提供手段と、暗号化したソフトウェアを前記認証
データベースの情報を用いて当該ソフトウェアIDに対
応する秘密鍵Bを見つけて平文化する平文化手段と、前
記平文化手段を用いて平文化した前記暗号化部分を、元
の前記暗号化部分と置換し、更に復号化されている場合
には、前記鍵Cで復号化して完全な提供ソフトウェアと
し、当該提供ソフトウェアを起動し、当該起動により最
初に前記認証ソフトウェアを動作させ、前記認証ソフト
ウェアは前記認証情報を入力して当該提供ソフトウェア
を認証し、認証結果が正常ならば、前記提供ソフトウェ
アの本体を起動し、走行不許可の場合は自身の動作を終
了させる機能が組み込まれた前記ユーザ用端末または前
記ユーザ用端末の付加装置と、端末から認証結果が正常
である旨を受信し、前記走行許可を端末へ送信するセン
タとを有することを要旨とする。
Further, the distributed software forgery prevention apparatus of the present invention is a distributed software forgery prevention apparatus for preventing forgery of the software at the time of communication of the software, and there is a center having an operator and a software user to operate the software. A network connecting a user terminal, an authentication database provided in the center, which stores authentication information that is information for confirming that the software is not counterfeit, and an encryption key for preventing forgery, and software The software ID that uniquely identifies the software provided by the provider and the public key A of the public key cryptosystem are delivered, and the provided software includes the authentication software that authenticates the software or the key C that decrypts the data, and the delivered Using the public key A, at least the authentication software A part including software or a part including the key C as an encrypted part and providing the encrypted part with the information indicating the area of the encrypted part and the software ID, and the encrypted software in the authentication database. Using the plaintext means for finding the secret key B corresponding to the software ID and performing the plain culture, and the encrypted portion that has been plain culture using the plain culture means, is replaced with the original encrypted portion, and If it has been decrypted, it is decrypted with the key C to obtain complete provided software, the provided software is activated, and the authentication software is first operated by the activation, and the authentication software inputs the authentication information. Then, the provided software is authenticated, and if the authentication result is normal, the main body of the provided software is started, and if the traveling is not permitted, Is a terminal for a user or a device added to the terminal for a user in which a function of terminating its own operation is incorporated, and a center for receiving a fact that the authentication result is normal from the terminal and transmitting the travel permission to the terminal. Having it is the gist.

【0010】[0010]

【作用】本発明の流通ソフトウェア偽造防止方法および
装置では、センタと端末をネットワークで接続し、セン
タには認証情報および偽造防止のための暗号化用鍵を格
納した認証データベースを備え、センタはソフトウェア
IDと公開鍵暗号方式の公開鍵Aを交付し、ソフトウェ
ア提供者は提供ソフトウェアに認証ソフトウェアを組み
込み、公開鍵Aを用いて認証ソフトウェアを含む部分を
暗号化部分として暗号化してソフトウェアIDとともに
提供し、ソフトウェア利用者は暗号化された提供ソフト
ウェアを入手し、ソフトウェアID、被課金者IDおよ
び暗号化部分をネットワークを介してセンタに送信し、
センタではソフトウェアIDに対応する秘密鍵Bを見つ
けて、暗号化部分を平文化して端末へ送信し、端末では
平文化された暗号化部分で暗号化部分を置換して完全な
提供ソフトウェアを作成し、当該提供ソフトウェアを起
動し、当該起動により最初に認証ソフトウェアが動作
し、認証ソフトウェアはセンタから受信した認証情報を
入力して提供ソフトウェアを認証し、認証結果が正常な
らばその旨をセンタに送信し、センタでは端末から認証
結果が正常である旨を受信すると、前記走行許可を送信
し、端末への通信を終了し、端末ではセンタからの走行
許可を受信すると、提供ソフトウェアの本体を起動し、
走行不許可の場合は自身の動作を終了する。
In the distribution software forgery prevention method and device of the present invention, the center and the terminal are connected by a network, the center is provided with an authentication database storing authentication information and an encryption key for preventing forgery, and the center is software. The ID and the public key A of the public key cryptosystem are delivered, the software provider embeds the authentication software in the provided software, encrypts the part including the authentication software as the encrypted part using the public key A, and provides it with the software ID. , The software user obtains the encrypted software provided and sends the software ID, the payee ID and the encrypted part to the center via the network,
The center finds the private key B corresponding to the software ID, plain-texts the encrypted part, and sends it to the terminal. At the terminal, the encrypted part is replaced with the encrypted part to create the complete provided software. Then, the provided software is started, and the authentication software operates first by the start, and the authentication software inputs the authentication information received from the center to authenticate the provided software, and if the authentication result is normal, inform the center to that effect. When the center sends the information that the authentication result is normal from the terminal, the travel permission is transmitted, the communication to the terminal is terminated, and the terminal receives the travel permission from the center and the main body of the provided software is started. Then
If the vehicle is not allowed to travel, it terminates its own operation.

【0011】また、本発明では、ユーザが端末のソフト
ウェアを使用する時に、ネットワークに接続し、ネット
ワーク側で暗号化部分を平文化して端末装置でソフトウ
ェアに組み込むか、秘密鍵を端末装置に送り端末側で平
文化するかして、さらにネットワークから与えられた認
証情報に基づき認証を行なっているため、たとえ、コピ
ーしたソフトウェアを使用したとしても、その使用に対
して適正に課金することができる。ソフトウェアを解読
して偽造しようとしても、提供された状態では認証処理
をする部分を含んだ重要な部分が暗号化されているため
解読は不可能である。また、ソフトウェアの実行時にプ
ログラムを盗まれ、ソフトウェアIDを偽造されたとし
ても、認証時にネットワーク側の認証情報に合致しなけ
れば、そのソフトウェアと認証しないため多くの場合発
見できる。
Further, according to the present invention, when the user uses the software of the terminal, the user is connected to the network and the encrypted portion is flattened on the network side and incorporated in the software by the terminal device, or the secret key is sent to the terminal device. Even if you use the copied software, you can properly charge for the use, because the authentication is performed based on the authentication information given from the network, even if the terminal side is flat culture. . Even if you try to forge the software by deciphering it, it cannot be deciphered in the provided state because the important part including the part that performs the authentication process is encrypted. Further, even if the program is stolen at the time of executing the software and the software ID is forged, if it does not match the authentication information on the network side at the time of authentication, it is not authenticated with the software and can be found in many cases.

【0012】秘密鍵はソフトウェア種別毎(あるいは必
要ならばソフトウェアモジュールやさらに細かい単位で
秘密鍵を設定)に設定することにより、たとえ秘密鍵が
万が一漏洩したとしても、被害はそのソフトウェアのみ
に限定される。また、ネットワーク上のDBで秘密鍵を
管理しているため、漏洩が発覚した場合は直ちに秘密鍵
を変更したバージョンを配布できるため、被害を最小限
に食い止めることができる。さらに、漏洩した秘密鍵に
よりソフトウェアが偽造されたとしても、ネットワーク
側の認証情報に合致しなければ、そのソフトウェアと認
証しないため、ソフトウェアの内容を不正改造した場合
でも多くの場合発見できる。
By setting the private key for each software type (or setting the private key in software modules or smaller units if necessary), even if the private key is leaked, damage is limited to that software only. It Further, since the private key is managed by the DB on the network, if a leak is discovered, a version with the private key changed can be immediately distributed, so that damage can be minimized. Further, even if the software is forged by the leaked secret key, if it is not matched with the authentication information on the network side, the software is not authenticated, so that it can be found in many cases even if the contents of the software are illegally modified.

【0013】通信回線を流れる情報を傍受された場合で
も、通信情報は暗号化され、通信毎に暗号鍵が変更され
ているため、たとえ暗号鍵が分からないまま通信路上の
暗号化データをそのまま復製されたとしてもネットワー
ク側および端末側を偽るのは事実上不可能である。
Even if the information flowing through the communication line is intercepted, the communication information is encrypted and the encryption key is changed for each communication. Therefore, even if the encryption key is unknown, the encrypted data on the communication path is reproduced as it is. Even if it is done, it is virtually impossible to fake the network side and the terminal side.

【0014】さらに、本発明では、ネットワーク側で暗
号化部分を平文化して端末装置でソフトウェアに組み込
むか、秘密鍵を端末装置に送り端末側で平文化するかし
て、さらにネットワークから与えられた認証情報に基づ
き認証を行なっているため、たとえ、コピーしたソフト
ウェアを使用したとしてもその使用に対して適正に課金
することができる。ソフトウェアを解読して偽造しよう
としても、提供された状態では認証処理をする部分を含
んだ重要な部分が暗号化されているため解読は不可能で
ある。また、ソフトウェアの実行時にプログラムを盗ま
れソフトウェアIDを偽造されたとしても、認証時にネ
ットワーク側の認証情報に合致しなければ、そのソフト
ウェアと認証しないため多くの場合発見できる。
Further, according to the present invention, the encrypted portion is plainly written on the network side and incorporated in the software by the terminal device, or the secret key is sent to the terminal device and flattened on the terminal side. Since the authentication is performed based on the authentication information, even if the copied software is used, the usage can be properly charged. Even if you try to forge the software by deciphering it, it cannot be deciphered in the provided state because the important part including the part that performs the authentication process is encrypted. Further, even if the program is stolen and the software ID is forged at the time of executing the software, if it does not match the authentication information on the network side at the time of authentication, it is not authenticated with the software and can be found in many cases.

【0015】秘密鍵はソフトウェア種別毎(あるいは必
要ならばソフトウェアモジュールやさらに細かい単位で
秘密鍵を設定)に設定することにより、たとえ秘密鍵が
万が一漏洩したとしても被害はそのソフトウェアのみに
限定される。また、ネットワーク上のDBで秘密鍵を管
理しているため、漏洩が発覚した場合は直ちに秘密鍵を
変更したバージョンを配布できるため、被害を最小限に
食い止めることができる。さらに、漏洩した秘密鍵によ
りソフトウェアが偽造されたとしても、ネットワーク側
の認証情報に合致しなければそのソフトウェアと認証し
ないため、ソフトウェアの内容を不正改造した場合でも
多くの場合発見できる。
By setting a private key for each software type (or setting a private key in a software module or a smaller unit if necessary), even if the private key is leaked, damage is limited to only that software. . Further, since the private key is managed by the DB on the network, if a leak is discovered, a version with the private key changed can be immediately distributed, so that damage can be minimized. Furthermore, even if the software is forged by the leaked secret key, it will not be authenticated with the software unless it matches the authentication information on the network side, so even if the contents of the software are illegally modified, it can be found in many cases.

【0016】通信回線を流れる情報を傍受された場合で
も、通信情報は暗号化され通信毎に暗号鍵が変更されて
いるため、たとえ暗号鍵が分からないまま通信路上の暗
号化データをそのまま復製されたとしてもネットワーク
側および端末側を偽るのは事実上不可能である。
Even if the information flowing through the communication line is intercepted, the communication information is encrypted and the encryption key is changed for each communication. Therefore, even if the encryption key is unknown, the encrypted data on the communication path can be reproduced as it is. Even so, it is virtually impossible to fake the network side and the terminal side.

【0017】[0017]

【実施例】以下、図面を用いて本発明の実施例を説明す
る。
Embodiments of the present invention will be described below with reference to the drawings.

【0018】図1は、本発明の第1の実施例に係わる流
通ソフトウェア偽造防止方法を実施するシステム構成図
である。
FIG. 1 is a system configuration diagram for implementing a distributed software forgery prevention method according to a first embodiment of the present invention.

【0019】図1に示すシステムは、ソフトウェアを提
供する提供者である提供手段1、該提供手段1から提供
されるソフトウェアを使用するユーザのユーザ用端末
3、該ユーザ用端末3に流通ソフトウェア偽造防止用付
加装置5、通信回線およびネットワーク7を介して接続
されたセンタ9を有し、センタ9には認証データベース
(DB)11が設けられ、認証データベース11にはソ
フトウェアID、課金情報、認証情報、公開鍵、秘密
鍵、通信用鍵等がある。
The system shown in FIG. 1 includes a providing means 1 which is a provider of software, a user terminal 3 for a user who uses the software provided by the providing means 1, and a distributed software forgery on the user terminal 3. It has a center 9 connected via a prevention additional device 5, a communication line and a network 7. The center 9 is provided with an authentication database (DB) 11, and the authentication database 11 has a software ID, billing information, and authentication information. , Public key, private key, communication key, etc.

【0020】前記流通ソフトウェア偽造防止用付加装置
5は、ユーザ用端末3と課金/認証センタ9との間の各
種情報を管理制御するものであり、図2(a) に示すよう
にパソコン等の通常のコンピュータで構成されるが、機
能的にはコンピュータのソフトウェアによって表現さ
れ、図2(b) に示すように、制御部51、暗号通信部5
2、認証部53、暗号解読部54、課金状況表示部5
5、ICカード制御部56などを有する。制御部51に
は被課金者IDがあり、暗号通信部52には通信用暗号
鍵がある。
The distribution software forgery prevention additional device 5 manages and controls various information between the user terminal 3 and the billing / authentication center 9, and as shown in FIG. Although it is composed of an ordinary computer, it is functionally represented by computer software, and as shown in FIG.
2, authentication unit 53, decryption unit 54, billing status display unit 5
5, IC card control unit 56 and the like. The control unit 51 has a payee ID, and the encrypted communication unit 52 has a communication encryption key.

【0021】上述したように構成されるシステムの流通
ソフトウェア偽造防止方法においては、まず提供手段1
であるソフトウェア提供者は、配布流通のために提供し
ようとするソフトウェア、すなわち図1に示すようにソ
フトウェアID91と認証プログラム92を含んだ源提
供ソフトウェア93のうちの認証プログラム92の部分
を暗号化するために、センタ9の課金/認証運営者から
公開鍵暗号方式の公開鍵Aの提供を受け、この公開鍵A
を使用して、流通させようとする源提供ソフトウェア9
3の認証処理を行う部分である認証プログラム92を含
むソフトウェアの一部を暗号化して、暗号化部分94を
作成し、これを源提供ソフトウェア内に組み込んで、ソ
フトウェアID91と暗号化部分プログラム95からな
る提供ソフトウェア96を作成する。このように構成さ
れた提供ソフトウェア96が配布流通される。
In the distribution software forgery prevention method of the system configured as described above, first, the providing means 1 is provided.
The software provider encrypts the software to be provided for distribution and distribution, that is, the authentication program 92 part of the source providing software 93 including the software ID 91 and the authentication program 92 as shown in FIG. In order to receive the public key A from the billing / authentication operator of the center 9,
Source-provided software to be distributed using
The part of the software including the authentication program 92, which is the part that performs the authentication process of No. 3, is encrypted to create the encrypted part 94, and this is incorporated into the source-provided software, and the software ID 91 and the encrypted part program 95 The provided software 96 is created. The provided software 96 thus configured is distributed and distributed.

【0022】図3は、この時の提供ソフトウェア96の
構成を示している。この提供ソフトウェア96は、暗号
化されていない平文プログラムと、その中に設けられて
いるソフトウェアID91と、上述したように公開鍵暗
号方式の公開鍵Aによって暗号化された認証処理を含む
暗号化部分プログラム95とから構成されている。ユー
ザ用端末3のユーザは、この提供ソフトウェア96を自
由にコピーすることができる。
FIG. 3 shows the configuration of the provided software 96 at this time. The provided software 96 is an unencrypted plaintext program, a software ID 91 provided therein, and an encrypted part including the authentication process encrypted by the public key A of the public key cryptosystem as described above. It is composed of a program 95. The user of the user terminal 3 can freely copy the provided software 96.

【0023】一方、センタ9の認証データベース11に
は、ソフトウェアIDと秘密鍵Bに加えて、認証情報と
して、例えば認証に使用するプログラム規模、特定アド
レスと値の複数の組の情報と課金情報が蓄積されてい
る。
On the other hand, in the authentication database 11 of the center 9, in addition to the software ID and the secret key B, as the authentication information, for example, a program scale used for authentication, a plurality of sets of specific addresses and values, and accounting information. Have been accumulated.

【0024】次に、図4に示す流れ図を参照して、第1
の実施例の作用を説明する。なお、本作用は公開鍵暗号
方式の秘密鍵を転送しない場合のものであり、またソフ
トウェアとしては通常のアプリケーションソフトウェア
(AP)の場合について説明する。
Next, referring to the flow chart shown in FIG.
The operation of the embodiment will be described. This operation is for the case where the private key of the public key cryptosystem is not transferred, and the case where the software is normal application software (AP) will be described.

【0025】まず、ユーザ用端末3のユーザが上述した
ように暗号化された暗号化部分プログラム95を有する
提供ソフトウェア96を使用しようとする時には、ユー
ザはユーザ用端末3を使用して、該提供ソフトウェアの
ソフトウェアIDとユーザを特定する被課金者IDを図
4に示すようにセンタ9に送信する。この処理は、ユー
ザがユーザ用端末3を使用して、利用要求と提供ソフト
ウェアのソフトウェアIDとをユーザ用端末3から流通
ソフトウェア偽造防止用付加装置5に供給すると、流通
ソフトウェア偽造防止用付加装置5の制御部51が暗号
通信部52に対してセンタ9に前記ソフトウェアIDと
被課金者IDを送信するように指示することにより、該
ソフトウェアIDと被課金者IDとが流通ソフトウェア
偽造防止用付加装置5からネットワーク7を介してセン
タ9に送信される。
First, when the user of the user terminal 3 wants to use the provided software 96 having the encrypted partial program 95 encrypted as described above, the user uses the user terminal 3 to provide the provided software 96. The software ID of the software and the payee ID for identifying the user are transmitted to the center 9 as shown in FIG. In this processing, when the user uses the user terminal 3 to supply the usage request and the software ID of the provided software from the user terminal 3 to the distributed software forgery prevention additional device 5, the distributed software forgery prevention additional device 5 The control unit 51 instructs the encryption communication unit 52 to transmit the software ID and the payee ID to the center 9, so that the software ID and the payee ID are distributed software forgery prevention additional devices. 5 to the center 9 via the network 7.

【0026】なお、被課金者IDは、流通ソフトウェア
偽造防止用付加装置5のROMに図2に示すように封入
記憶されているものであるが、代わりとしては、例えば
ICカード等に記憶されているユーザID、または流通
ソフトウェア偽造防止用付加装置5等の端末付属装置等
に設定されている端末ID、またはこれらを組み合わせ
たID等が考えられる。
The payee ID is enclosed and stored in the ROM of the distribution software forgery prevention additional device 5 as shown in FIG. 2, but instead is stored in, for example, an IC card or the like. A user ID that is present, a terminal ID that is set in a terminal accessory device such as the additional device 5 for preventing distribution software forgery, or an ID that is a combination thereof can be considered.

【0027】更に、ユーザ用端末3は、提供ソフトウェ
アから前記暗号化部分プログラム95を取り出し、この
取り出した暗号化部分プログラム95を流通ソフトウェ
ア偽造防止用付加装置5の暗号通信部52からネットワ
ーク7を介して図4に示すようにセンタ9に送信する。
なお、提供ソフトウェアのうち、どの部分が暗号化部分
プログラム95であるかという情報は提供ソフトウェア
のディレクトリ部分に記述する等の方法で得られるもの
とする。
Further, the user terminal 3 extracts the encrypted partial program 95 from the provided software, and the extracted encrypted partial program 95 is transmitted from the encrypted communication section 52 of the distribution software forgery prevention additional device 5 via the network 7. And sends it to the center 9 as shown in FIG.
It should be noted that information about which part of the provided software is the encrypted partial program 95 is obtained by a method such as writing in the directory part of the provided software.

【0028】センタ9では、認証データベース11から
提供ソフトウェアのソフトウェアIDをキーとして公開
鍵暗号方式の秘密鍵Bを取り出し、この秘密鍵Bを用い
て、図4の枠410で囲んで示すように暗号化部分プロ
グラムを平文化する。そして、センタ9はこの平文化さ
れた暗号化部分プログラムをネットワーク7を介して流
通ソフトウェア偽造防止用付加装置5の暗号通信部52
に送信する。流通ソフトウェア偽造防止用付加装置5で
は、制御部51が暗号通信部52から平文化された暗号
化部分プログラムを受け取り、ユーザ用端末3に送出す
る。
At the center 9, the secret key B of the public key cryptosystem is retrieved from the authentication database 11 using the software ID of the provided software as a key, and the secret key B is used to encrypt the secret key B as shown by the box 410 in FIG. Flattening the program Then, the center 9 transmits the encrypted encrypted partial program via the network 7 to the encrypted communication unit 52 of the additional device 5 for preventing distribution software forgery.
Send to. In the distribution software forgery prevention additional device 5, the control unit 51 receives the encrypted encrypted partial program from the encrypted communication unit 52 and sends it to the user terminal 3.

【0029】ユーザ用端末3では、図4の枠420で示
すように、平文化された暗号化部分プログラムを元の提
供ソフトウェアに組み込んで、完全な提供ソフトウェア
を得る。
In the user terminal 3, as shown by a frame 420 in FIG. 4, the plaintext encrypted partial program is incorporated into the original provided software to obtain the complete provided software.

【0030】同時に、センタ9では、ソフトウェアID
を用いて、認証データベース11から認証情報を取り出
し、この認証情報をネットワーク7を介して流通ソフト
ウェア偽造防止用付加装置5の暗号通信部52に送信す
る。流通ソフトウェア偽造防止用付加装置5の制御部5
1は、暗号通信部52から認証情報を受け取って認証部
53に供給し、この認証情報を用いて提供ソフトウェア
の認証を行うように指示する。認証部53では、図4の
枠430で示すように認証情報を用いて、ソフトウェア
の内容を比較してソフトウェアが一致するかどうかを確
認する。この確認は、例えばプログラム規模の確認や特
定アドレスにおける値の確認等により行う。
At the same time, in the center 9, the software ID
Is used to retrieve the authentication information from the authentication database 11, and this authentication information is transmitted to the encryption communication unit 52 of the distribution software forgery prevention additional device 5 via the network 7. Control unit 5 of additional device 5 for preventing distribution software forgery
1 receives the authentication information from the encryption communication unit 52, supplies it to the authentication unit 53, and instructs it to authenticate the provided software using this authentication information. The authentication unit 53 uses the authentication information as shown by a frame 430 in FIG. 4 to compare the contents of the software and confirm whether the software matches. This confirmation is performed, for example, by confirming the program scale or the value at the specific address.

【0031】認証部53は、確認が正常な場合、すなわ
ち認証情報のデータと一致した場合には、ソフトウェア
IDのソフトウェアであると認証し、その旨を制御部5
1に知らせる。制御部51は暗号通信部52からネット
ワーク7を介してセンタ9にその旨の認証情報を送信す
る。
If the confirmation is normal, that is, if it matches the data of the authentication information, the authentication unit 53 authenticates the software with the software ID, and to that effect the control unit 5
Notify 1. The control unit 51 transmits the authentication information to that effect from the encryption communication unit 52 to the center 9 via the network 7.

【0032】センタ9では、データベース11からソフ
トウェアIDに対応する課金情報を取り出し、該課金情
報をネットワーク7を介して流通ソフトウェア偽造防止
用付加装置5に送信する。流通ソフトウェア偽造防止用
付加装置5においては、制御部51が暗号通信部52か
ら該課金情報を受け取り、課金状況表示部55に該課金
情報を表示するように指示する。
The center 9 retrieves the billing information corresponding to the software ID from the database 11 and sends the billing information to the distributed software forgery prevention additional device 5 via the network 7. In the distribution software forgery prevention additional device 5, the control unit 51 receives the billing information from the encryption communication unit 52 and instructs the billing status display unit 55 to display the billing information.

【0033】ユーザ用端末3のユーザは、上述したよう
に課金状況表示部55に表示された課金情報を見て、合
意する場合には、ユーザ用端末3から合意する旨の確認
情報を入力する。このようにして、ユーザの確認が得ら
れると、流通ソフトウェア偽造防止用付加装置5の制御
部51はユーザ用端末3からの確認情報を受け取ると、
暗号通信部52からネットワーク7を介してセンタ9に
課金要求を送信する。
The user of the user terminal 3 looks at the billing information displayed on the billing status display section 55 as described above, and if he / she agrees, inputs the confirmation information to the effect that the user terminal 3 agrees. . In this way, when the user's confirmation is obtained, the control unit 51 of the distribution software forgery prevention additional device 5 receives the confirmation information from the user terminal 3,
A billing request is transmitted from the encryption communication unit 52 to the center 9 via the network 7.

【0034】センタ9では、課金要求を受け取ると、課
金情報と支払い情報をデータベース11に格納し、これ
により被課金者IDに対して請求処理を行うとともにソ
フトウェア提供者に対して支払い手続きを行う。また、
センタ9は、次回の通信用の秘密鍵C’をネットワーク
7を介してユーザ用端末3に送信し、またソフトウェア
の走行許可を出す。
Upon receipt of the billing request, the center 9 stores the billing information and the payment information in the database 11, and thereby performs the billing process for the payee ID and the payment procedure for the software provider. Also,
The center 9 transmits the secret key C ′ for the next communication to the user terminal 3 via the network 7 and also issues the permission to run the software.

【0035】なお、ネットワーク7を介した流通ソフト
ウェア偽造防止用付加装置5とセンタ9との間の上述し
た通信は、すべて端末またはICカードに製造時に固有
に割り振られた秘密鍵暗号方式の鍵Cを使用して暗号化
された最初の通信が行われる。そして、その通信の最後
にセンタ9から新しい秘密鍵C’が端末側に渡され、次
回はこの秘密鍵C’を用いて暗号化される。
All the above-described communication between the distribution software forgery prevention additional device 5 and the center 9 via the network 7 is the key C of the secret key cryptosystem which is uniquely assigned to the terminal or IC card at the time of manufacture. The initial communication is encrypted using. Then, at the end of the communication, a new secret key C'is passed from the center 9 to the terminal side, and next time, the secret key C'is used for encryption.

【0036】また、提供ソフトウェアには、課金/認証
を処理を受けることを依頼し、不許可の場合には、自分
の走行を停止する機能(この部分は通常暗号化部分プロ
グラムとして暗号化されているもの)があるとともに、
OSはその課金/認証装置からの走行不許可依頼に従
い、提供ソフトウェアの走行を停止する機能がある。そ
して、前記暗号化部分は暗号化することにより提供ソフ
トウェアが実行する課金/認証処理に関連する機能の偽
造を防止するためのものである。
Also, a function of requesting the provided software to be processed for billing / authentication, and in the case of non-permission, a function of stopping one's own running (this part is usually encrypted as an encrypted partial program). Existing)
The OS has a function of stopping the running of the provided software according to the running disapproval request from the billing / authentication device. The encrypted portion is for preventing the forgery of the function related to the charging / authentication processing executed by the provided software by encrypting.

【0037】図5は、本発明の第2の実施例に係わる流
通ソフトウェア偽造防止方法に使用されるCD71を示
す図である。
FIG. 5 is a diagram showing a CD 71 used in the distributed software forgery prevention method according to the second embodiment of the present invention.

【0038】この第2の実施例では、ソフトウェアとし
てCD71を使用し、このCD71および図6に示すC
Dプレーヤ61に本発明の流通ソフトウェア偽造防止方
法が適用された場合について説明する。この場合には、
ソフトウェアに相当するものがCD71に記録されてい
る例えば音楽情報等のデータであり、ユーザ用端末3に
相当するものがCDプレーヤ61である。このCDプレ
ーヤ61は図1に示すように流通ソフトウェア偽造防止
用付加装置5を介してネットワーク7に接続され、該ネ
ットワーク7から更にセンタ9に接続され、CDに記録
された音楽等を聞く毎に、例えばY円課金されることに
なる。
In the second embodiment, CD71 is used as software, and the CD71 and C shown in FIG. 6 are used.
A case where the distributed software forgery prevention method of the present invention is applied to the D player 61 will be described. In this case,
The software corresponds to data such as music information recorded on the CD 71, and the CD player 61 corresponds to the user terminal 3. As shown in FIG. 1, this CD player 61 is connected to a network 7 via a distribution software forgery prevention additional device 5, and is further connected to a center 9 from the network 7 and listens to music etc. recorded on a CD each time. , Y yen will be charged, for example.

【0039】なお、この第2の実施例のシステム構成
は、図1に示すものと同じであるが、図1における提供
手段1であるソフトウェア提供者がCD提供者になり、
ソフトウェアがCDになっている点が異なっている。
The system configuration of the second embodiment is the same as that shown in FIG. 1, but the software provider, which is the providing means 1 in FIG. 1, becomes the CD provider,
The difference is that the software is a CD.

【0040】CD提供者は、前記ソフトウェアIDに対
応する曲目IDとして、図5に示すようなCD−ID7
2をCD71に記録するとともに、また公開鍵暗号方式
の公開鍵Aを用いてCDのデータをスクランブルするた
めの鍵Dを暗号化した図5に示す暗号化スクランブル鍵
DをCD71に記録する。この暗号化スクランブル鍵D
は前記暗号化部分プログラムに対応するものである。す
なわち、図5に示すCD71には、前記ソフトウェアI
Dに対応するCD−ID72、前記暗号化部分プログラ
ム95に対応する暗号化スクランブル鍵73、およびデ
ータであるスクランブルされた音楽情報等74が記録さ
れている。このように構成される図5のようなCD71
をCD提供者はユーザに無制限に配布することになる。
The CD provider uses the CD-ID 7 as shown in FIG. 5 as the song ID corresponding to the software ID.
2 is recorded on the CD 71, and the encrypted scramble key D shown in FIG. 5 in which the key D for scrambling the data of the CD is encrypted using the public key A of the public key cryptosystem is recorded on the CD 71. This encrypted scramble key D
Corresponds to the encrypted partial program. That is, the CD 71 shown in FIG.
A CD-ID 72 corresponding to D, an encrypted scramble key 73 corresponding to the encrypted partial program 95, and scrambled music information 74 that is data are recorded. The CD 71 as shown in FIG. 5 configured in this way
Will be distributed to users by the CD provider without restriction.

【0041】また、図6に示すCDプレーヤ61は、通
常のCDプレーヤの機能を有するCDプレーヤ部62、
および認証/課金機能部63を有する。
The CD player 61 shown in FIG. 6 has a CD player section 62 having the functions of a normal CD player.
And an authentication / billing function unit 63.

【0042】一方、センタ9では、認証データベース1
1に前記曲目IDであるCD−ID72に対応して秘密
鍵B、認証情報、および課金情報が登録される。例え
ば、この場合の必要な認証情報は、データ規模、特定ア
ドレスと値の複数の組の情報であり、課金情報は1回の
使用当たりY円という情報である。
On the other hand, in the center 9, the authentication database 1
The secret key B, the authentication information, and the billing information are registered in No. 1 in correspondence with the CD-ID 72 which is the song ID. For example, the required authentication information in this case is information of a plurality of sets of data size, specific address and value, and the billing information is Y yen per use.

【0043】次に、図7に示す流れ図を参照して、第2
の実施例の作用を説明する。なお、この第2の実施例は
秘密鍵を端末側に転送する場合の例を示している。
Next, referring to the flow chart shown in FIG.
The operation of the embodiment will be described. The second embodiment shows an example in which the secret key is transferred to the terminal side.

【0044】まず、ユーザが図5に示すようなCD71
をプレーする場合には、図6に示すCDプレーヤ61が
CDから曲目IDであるCD−ID72をソフトウェア
IDとして取り出し、このソフトウェアIDと被課金者
ID(CDプレーヤ61またはICカードに設定されて
いる)を流通ソフトウェア偽造防止用付加装置5の暗号
通信部52からネットワーク7を介してセンタ9に送信
する。
First, the user selects a CD 71 as shown in FIG.
6 plays the CD-ID 72, which is the song ID, from the CD as the software ID, and the software ID and payee ID (set in the CD player 61 or the IC card). ) Is transmitted from the encryption communication unit 52 of the distribution software forgery prevention additional device 5 to the center 9 via the network 7.

【0045】センタ9では、曲目IDであるCD−ID
72をキーとして、認証データベース11から秘密鍵B
を取り出し、この秘密鍵Bをネットワーク7を介して流
通ソフトウェア偽造防止用付加装置5およびCDプレー
ヤ61からなる端末側に送信する。
At the center 9, the CD-ID which is the song ID
Private key B from the authentication database 11 with 72 as a key
And sends the secret key B via the network 7 to the terminal side including the distribution software forgery prevention additional device 5 and the CD player 61.

【0046】CDプレーヤ61では、図7の枠720で
示すように、この秘密鍵Bを用いて、提供CD71の暗
号化スクランブル鍵Dを平文化する。このスクランブル
鍵Dを用いてスクランブルを解除することが可能とな
る。
In the CD player 61, as shown by a frame 720 in FIG. 7, the secret scrambling key D of the provided CD 71 is encrypted using the secret key B. It becomes possible to descramble by using this scramble key D.

【0047】また、センタ9では、認証データベース1
1から認証情報を取り出し、ネットワーク7を介してC
Dプレーヤ61の端末側に送信する。CDプレーヤ61
では、図7の枠730に示すように、この認証情報を使
用して、CDデータのデータ量を確認し、指定されたア
ドレスの値等を確認する。認証情報のデータと一致した
場合には、曲目IDであるCD−IDで示されたCDと
同一と判断し、認証が正常に行われた旨の情報をCDプ
レーヤ61から流通ソフトウェア偽造防止用付加装置5
の暗号通信部52、ネットワーク7を介してセンタ9に
送信する。
In the center 9, the authentication database 1
1 retrieves the authentication information and sends C via network 7.
It is transmitted to the terminal side of the D player 61. CD player 61
Then, as shown by a frame 730 in FIG. 7, the authentication information is used to confirm the data amount of the CD data and the value of the designated address and the like. If the data matches the data of the authentication information, it is determined that the CD is the same as the CD indicated by the CD-ID that is the song ID, and the information indicating that the authentication has been normally performed is added from the CD player 61 for distribution software forgery prevention. Device 5
It is transmitted to the center 9 via the encryption communication unit 52 and the network 7.

【0048】センタ9では、データベース11から曲目
CDであるCD−IDに対応する課金情報を取り出し、
該課金情報をネットワーク7を介してCDプレーヤ61
の端末側に送信する。CDプレーヤ61のユーザがこの
課金情報を見て、合意した場合には、センタ9に課金要
求を送信する。
At the center 9, the billing information corresponding to the CD-ID which is the program CD is retrieved from the database 11,
The charging information is sent to the CD player 61 via the network 7.
To the terminal side of. When the user of the CD player 61 sees this billing information and agrees, the billing request is transmitted to the center 9.

【0049】センタ9では、課金要求を受け取ると、課
金処理を行い、CDのプレーを可能とする。
Upon receipt of the billing request, the center 9 carries out a billing process and enables playing of the CD.

【0050】なお、ネットワーク7を介した流通ソフト
ウェア偽造防止用付加装置5とセンタ9との間の上述し
た通信は、第1の実施例と同様に、すべて端末またはI
Cカードに製造時に固有に割り振られた秘密鍵暗号方式
の鍵Cを使用して暗号化された最初の通信が行われる。
そして、その通信の最後に課金/認証センタ9から新し
い秘密鍵C’が端末側に渡され、次回はこの秘密鍵C’
を用いて暗号化される。
The above-described communication between the distributed software forgery prevention additional device 5 and the center 9 via the network 7 is performed by all terminals or I terminals as in the first embodiment.
The first communication encrypted using the key C of the secret key cryptosystem uniquely assigned to the C card at the time of manufacture is performed.
Then, at the end of the communication, a new secret key C'is passed from the billing / authentication center 9 to the terminal side, and next time, this secret key C '
Is encrypted using.

【0051】次に、図8を参照して、本発明の第3の実
施例について説明する。
Next, a third embodiment of the present invention will be described with reference to FIG.

【0052】図8は、第3の実施例に係わる流通ソフト
ウェア偽造防止方法を実施するシステムの構成図であ
る。第3の実施例は、課金方法として、プリペイド方式
を採用したプリペイド流通ソフトウェア偽造防止方法に
関するものであり、図8に示すシステム構成は、図1に
示したシステム構成においてプリペイド方式のためのク
レジット関係の情報であるソフトウェアID、認証情
報、秘密鍵、クレジット数が設けられている点が異なる
とともに、ユーザ用端末3に設けられている流通ソフト
ウェア偽造防止用付加装置5が図9に示すように図2に
示すものと異なっている。
FIG. 8 is a block diagram of a system for carrying out the distributed software forgery prevention method according to the third embodiment. The third embodiment relates to a prepaid distribution software forgery prevention method that employs a prepaid system as a charging method. The system configuration shown in FIG. 8 has a credit relationship for the prepaid system in the system configuration shown in FIG. The software ID, the authentication information, the secret key, and the number of credits, which are the information of the above, are different, and the distribution software forgery prevention additional device 5 provided in the user terminal 3 is shown in FIG. It differs from what is shown in 2.

【0053】すなわち、第3の実施例のプリペイド流通
ソフトウェア偽造防止方法に使用される図9に示す流通
ソフトウェア偽造防止用付加装置5は、図2に示す装置
に対して新たにクレジットチャージ/減算部57を有す
るとともに、該クレジットチャージ/減算部57にはソ
フトウェアIDクレジット数情報が供給され、また認証
部53にはソフトウェアIDプリペイド用認証情報が供
給されるようになっている。
That is, the additional device 5 for preventing distributed software forgery used in the prepaid distributed software forgery prevention method of the third embodiment shown in FIG. 9 is newly added to the device shown in FIG. In addition to having 57, the credit charge / subtraction unit 57 is supplied with software ID credit number information, and the authentication unit 53 is supplied with software ID prepaid authentication information.

【0054】第2の実施例のプリペイド流通ソフトウェ
ア偽造防止方法では、提供手段1であるソフトウェア提
供者は、配布流通のために提供しようとするソフトウェ
ア、すなわち図8に示すようにソフトウェアID91と
認証プログラム92を含んだ源提供ソフトウェア93の
うちの認証プログラム92の部分を暗号化するために、
課金/認証センタ9から公開鍵暗号方式の公開鍵Aの提
供を受け、この公開鍵Aを使用して、流通させようとす
る源提供ソフトウェア93の認証処理を行う部分である
認証プログラム92を暗号化して、暗号化部分ソフトウ
ェア94を作成し、これを源提供ソフトウェア内に組み
込んで、ソフトウェアID91と暗号化部分プログラム
95からなる提供ソフトウェア96を作成する。このよ
うに構成された提供ソフトウェア96を配布流通され
る。
In the prepaid distribution software forgery prevention method of the second embodiment, the software provider, which is the providing means 1, provides the software to be provided for distribution and distribution, that is, the software ID 91 and the authentication program as shown in FIG. To encrypt the portion of the authentication program 92 of the source software 93 that includes 92,
The billing / authentication center 9 provides the public key A of the public key cryptosystem, and the public key A is used to encrypt the authentication program 92, which is the part that performs the authentication process of the source providing software 93 to be distributed. Then, the encrypted partial software 94 is created, and this is incorporated into the source providing software to create the provided software 96 including the software ID 91 and the encrypted partial program 95. The provided software 96 thus configured is distributed and distributed.

【0055】次に、図10および図11に示す流れ図を
参照して、上述したように暗号化部分プログラム95を
有する提供ソフトウェア96をユーザがプリペイド方式
で利用する場合の流通ソフトウェア偽造防止方法の作用
を説明する。
Next, referring to the flow charts shown in FIGS. 10 and 11, the operation of the distributed software forgery prevention method when the user uses the provided software 96 having the encrypted partial program 95 in the prepaid system as described above Will be explained.

【0056】ユーザがプリペイド方式でソフトウェアを
使用する場合には、その前に、まず使用しようとするソ
フトウェアのクレジットを図10に示すようにチャージ
することが必要である。
Before the user uses the software in the prepaid system, it is necessary to first charge the credit of the software to be used as shown in FIG.

【0057】すなわち、図10では、まずユーザは利用
したいソフトウェアIDとクレジット利用要求をユーザ
用端末3から流通ソフトウェア偽造防止用付加装置5に
入力する。すると、流通ソフトウェア偽造防止用付加装
置5の制御部51は、暗号通信部52からネットワーク
7を介してセンタ9に対して、前記情報、すなわちクレ
ジット利用要求およびソフトウェアIDに加えて被課金
者IDを送信する。なお、被課金者IDは図9に示すよ
うに流通ソフトウェア偽造防止用付加装置5に封入記憶
されているものである。また、ICカードを使用する場
合には、ICカードに封入記憶されている場合もある。
That is, in FIG. 10, the user first inputs the software ID to be used and the credit use request from the user terminal 3 to the distributed software forgery prevention additional device 5. Then, the control unit 51 of the distribution software forgery prevention additional device 5 sends the payee ID in addition to the information, that is, the credit use request and the software ID, to the center 9 from the encryption communication unit 52 via the network 7. Send. Note that the payee ID is enclosed and stored in the distribution software forgery prevention additional device 5 as shown in FIG. When using an IC card, it may be enclosed and stored in the IC card.

【0058】また、流通ソフトウェア偽造防止用付加装
置5の制御部51は、ユーザ用端末3から提供ソフトウ
ェアのうちの暗号化部分95を取り出し、この暗号化部
分プログラムを暗号通信部52からネットワーク7を介
してセンタ9に送信する。
Further, the control unit 51 of the distribution software forgery prevention additional device 5 takes out the encrypted portion 95 of the provided software from the user terminal 3 and sends this encrypted portion program from the encrypted communication unit 52 to the network 7. It transmits to the center 9 via.

【0059】センタ9では、ソフトウェアIDを用いて
認証データベース11から公開鍵暗号方式の秘密鍵Bを
引き出し、この秘密鍵Bを用いて図10の枠810で示
すように暗号化部分を平文化する。そして、センタ9は
この平文化された暗号化部分プログラムをネットワーク
7を介して流通ソフトウェア偽造防止用付加装置5の暗
号通信部52に送信する。流通ソフトウェア偽造防止用
付加装置5では、制御部51が暗号通信部52から平文
化された暗号化部分プログラムを受け取り、ユーザ用端
末3に送出する。
In the center 9, the secret key B of the public key cryptosystem is extracted from the authentication database 11 by using the software ID, and the secret key B is used to flatten the encrypted part as indicated by a frame 810 in FIG. . Then, the center 9 transmits this plain-text encrypted partial program to the encrypted communication unit 52 of the distribution software forgery prevention additional device 5 via the network 7. In the distribution software forgery prevention additional device 5, the control unit 51 receives the encrypted encrypted partial program from the encrypted communication unit 52 and sends it to the user terminal 3.

【0060】ユーザ用端末3では、図10の枠820で
示すように、平文化された暗号化部分を保存するととも
に、元の提供ソフトウェアに組み込んで、完全な提供ソ
フトウェアを得る。
In the user terminal 3, as shown by a frame 820 in FIG. 10, the plaintext encrypted portion is saved and incorporated into the original provided software to obtain the complete provided software.

【0061】同時に、センタ9では、ソフトウェアID
を用いて、図10の枠830で示すように認証データベ
ース11からソフトウェアの認証情報を取り出し、この
認証情報をネットワーク7を介して流通ソフトウェア偽
造防止用付加装置5の暗号通信部52に送信する。流通
ソフトウェア偽造防止用付加装置5の制御部51は、暗
号通信部52から認証情報を受け取って認証部53に供
給し、この認証情報を用いて提供ソフトウェアの認証を
行うように指示する。認証部53では、図10の枠84
0で示すように認証情報を用いて、ソフトウェアの内容
を比較してソフトウェアが一致するかどうかを確認す
る。
At the same time, in the center 9, the software ID
10, the authentication information of the software is extracted from the authentication database 11 as indicated by a frame 830 in FIG. 10, and this authentication information is transmitted to the encryption communication unit 52 of the distributed software forgery prevention additional device 5 via the network 7. The control unit 51 of the distributed software forgery prevention additional device 5 receives the authentication information from the encryption communication unit 52, supplies the authentication information to the authentication unit 53, and instructs the authentication unit 53 to authenticate the provided software. In the authentication unit 53, a frame 84 in FIG.
As shown by 0, the authentication information is used to compare the contents of the software and check whether the software matches.

【0062】認証部53は、認証情報を使用して、ソフ
トウェアの内容を比較し一致していたら、ソフトウェア
IDのソフトウェアであると認証し、認証できる場合に
は、認証情報を保存するとともに、その旨を制御部51
に送信する。制御部51は暗号通信部52からネットワ
ーク7を介してセンタ9にその旨の認証結果を送信す
る。
Using the authentication information, the authentication unit 53 compares the contents of the software and, if they match, authenticates that the software has the software ID. If the software can be authenticated, the authentication information is saved and Control unit 51
Send to. The control unit 51 transmits the authentication result to that effect from the encryption communication unit 52 to the center 9 via the network 7.

【0063】センタ9では、認証データベース11から
ソフトウェアIDに対応する課金情報を取り出し、該課
金情報をネットワーク7を介して流通ソフトウェア偽造
防止用付加装置5に送信する。流通ソフトウェア偽造防
止用付加装置5においては、制御部51が暗号通信部5
2から該課金情報を受け取り、課金状況表示部55に該
課金情報を表示するように指示する。
The center 9 retrieves the billing information corresponding to the software ID from the authentication database 11 and sends the billing information to the distributed software forgery prevention additional device 5 via the network 7. In the distribution software forgery prevention additional device 5, the control unit 51 includes the encryption communication unit 5
The billing information is received from 2, and the billing status display unit 55 is instructed to display the billing information.

【0064】ユーザ用端末3のユーザは、上述したよう
に課金状況表示部55により表示された課金情報を見
て、合意する場合には、ユーザ用端末3から合意する旨
の確認情報と必要なクレジット数を入力する。このよう
にして、ユーザの確認が得られると、流通ソフトウェア
偽造防止用付加装置5の制御部51はユーザ用端末3か
らの確認情報およびクレジット数を受け取ると、暗号通
信部52からネットワーク7を介してセンタ9にその旨
の課金要求とクレジット数を送信する。
When the user of the user terminal 3 sees the billing information displayed by the billing status display unit 55 as described above and agrees, the user terminal 3 needs confirmation information indicating that the user terminal 3 agrees. Enter the number of credits. In this way, when the user's confirmation is obtained, the control unit 51 of the distributed software forgery prevention additional device 5 receives the confirmation information and the credit amount from the user terminal 3, and then receives the confirmation information and the credit amount from the encryption communication unit 52 via the network 7. Then, the billing request and the number of credits to that effect are transmitted to the center 9.

【0065】センタ9では、課金要求およびクレジット
数を受け取ると、クレジット数に見合う課金情報処理を
行い、クレジット許可を流通ソフトウェア偽造防止用付
加装置5に送信する。流通ソフトウェア偽造防止用付加
装置5では、制御部51が暗号通信部52からクレジッ
ト許可を受け取り、クレジットチャージ/減算部57に
クレジット数を設定するように指示する。また、センタ
9は、次回の通信用の秘密鍵をネットワーク7を介して
ユーザ用端末3に送信し、ソフトウェアに対して走行許
可を出す。流通ソフトウェア偽造防止用付加装置5の暗
号通信部52は次回の通信用の秘密鍵を受け取ると、通
信を終了する。
Upon receipt of the billing request and the number of credits, the center 9 performs billing information processing corresponding to the number of credits and sends a credit permission to the distribution software forgery prevention additional device 5. In the distribution software forgery prevention additional device 5, the control unit 51 receives the credit permission from the encryption communication unit 52, and instructs the credit charge / subtraction unit 57 to set the number of credits. Further, the center 9 transmits the secret key for the next communication to the user terminal 3 via the network 7 and issues a travel permission to the software. When the encrypted communication unit 52 of the distribution software forgery prevention additional device 5 receives the secret key for the next communication, the communication is terminated.

【0066】なお、端末側は上述した過程においてセン
タ9から受け取ったクレジット数、平文化された暗号化
部分、認証情報、課金情報をソフトウェアおよびハード
ウェア的に漏洩しない手段で保存しておく。
The terminal side stores the number of credits received from the center 9 in the above-mentioned process, the encrypted part encrypted in plain text, the authentication information, and the billing information by means of software and hardware that do not leak.

【0067】なお、ネットワーク7を介した流通ソフト
ウェア偽造防止用付加装置5とセンタ9との間の上述し
た通信は、上述した各実施例と同様に、すべて端末また
はICカードに製造時に固有に割り振られた秘密鍵暗号
方式の鍵Cを使用して暗号化された最初の通信が行われ
る。そして、その通信の最後に課金/認証センタ9から
新しい秘密鍵C’が端末側に渡され、次回はこの秘密鍵
C’を用いて暗号化される。
The above-described communication between the distribution software forgery prevention additional device 5 and the center 9 via the network 7 is uniquely assigned to the terminal or the IC card at the time of manufacture, as in the above-described embodiments. The first communication encrypted using the key C of the secret key cryptosystem is performed. Then, at the end of the communication, a new secret key C'is passed from the charging / authentication center 9 to the terminal side, and next time, the secret key C'is used for encryption.

【0068】また、ソフトウェアを使用する時には、図
11に示すように、端末側に上述したように保存されて
いる平文化暗号化部分、認証情報、課金情報を用いて認
証されるソフトウェアとユーザから見て通常のプリペイ
ド方式でない場合同様に認証され、ユーザに課金情報の
確認をした後にクレジットが課金情報に従って減算さ
れ、ソフトウェアに使用許可が出される。クレジットが
なくなった場合には、保存していた平文化暗号化部分プ
ログラム、認証情報、課金情報はすべて消去される。ま
た、クレジットがない場合には、走行許可は出さない。
When the software is used, as shown in FIG. 11, the software and the user authenticated by using the plaintext encrypted portion, the authentication information, and the billing information stored on the terminal side as described above. If the user does not see the normal prepaid method, the user is authenticated in the same manner, and after confirming the charging information with the user, the credit is subtracted according to the charging information, and the software is permitted to use. When the credit is exhausted, all the stored plaintext encryption partial program, authentication information, and billing information are deleted. If there is no credit, the travel permit is not issued.

【0069】センタ9側では、この課金要求に従って被
課金者IDに対して課金処理を行う。
On the side of the center 9, according to this billing request, billing processing is performed for the payee ID.

【0070】[0070]

【発明の効果】以上説明したように、本発明によれば、
センタと端末をネットワークで接続し、センタには認証
情報および偽造防止のための暗号化用鍵を格納した認証
データベースを備え、センタはソフトウェアIDと公開
鍵暗号方式の公開鍵Aを交付し、ソフトウェア提供者は
提供ソフトウェアに認証ソフトウェアを組み込み、公開
鍵Aを用いて認証ソフトウェアを含む部分を暗号化部分
として暗号化してソフトウェアIDとともに提供し、ソ
フトウェア利用者は暗号化された提供ソフトウェアを入
手し、ソフトウェアID、被課金者IDおよび暗号化部
分をネットワークを介してセンタに送信し、センタでは
ソフトウェアIDに対応する秘密鍵Bを見つけて、暗号
化部分を平文化して端末へ送信し、端末では平文化され
た暗号化部分で暗号化部分を置換して完全な提供ソフト
ウェアを作成し、当該提供ソフトウェアを起動し、当該
起動により最初に認証ソフトウェアが動作し、認証ソフ
トウェアはセンタから受信した認証情報を入力して提供
ソフトウェアを認証し、認証結果が正常ならばその旨を
センタに送信し、センタでは端末から認証結果が正常で
ある旨を受信すると、前記走行許可を送信し、端末への
通信を終了し、端末ではセンタからの走行許可を受信す
ると、提供ソフトウェアの本体を起動し、走行不許可の
場合は自身の動作を終了するので、悪意を持った偽造の
被害を最小限に抑えることができる。
As described above, according to the present invention,
The center is connected to a terminal via a network, the center is provided with an authentication database that stores authentication information and an encryption key for preventing forgery, and the center issues a software ID and a public key A of a public key cryptosystem, The provider embeds the authentication software in the provided software, encrypts the part including the authentication software as an encrypted part using the public key A, and provides it with the software ID, and the software user obtains the encrypted provided software, The software ID, the payee ID, and the encrypted part are transmitted to the center via the network, the center finds the secret key B corresponding to the software ID, transmits the encrypted part in plain text, and transmits it to the terminal. Replace the encrypted part with the plain-text encrypted part to create the complete provided software, The provided software is started, and the authentication software operates first by the start, and the authentication software inputs the authentication information received from the center to authenticate the provided software, and if the authentication result is normal, sends the fact to the center. When the center receives the fact that the authentication result is normal from the terminal, the traveling permission is transmitted, the communication to the terminal is terminated, and when the terminal receives the traveling permission from the center, the main body of the provided software is started, When the vehicle is not allowed to travel, it terminates its own operation, so that malicious forgery damage can be minimized.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の第1の実施例に係わる流通ソフトウェ
ア偽造防止方法を実施するシステム構成図である。
FIG. 1 is a system configuration diagram for implementing a distributed software forgery prevention method according to a first embodiment of the present invention.

【図2】図1のシステムに使用される流通ソフトウェア
偽造防止用付加装置の機能的構成を示す図である。
FIG. 2 is a diagram showing a functional configuration of a distribution software forgery prevention additional device used in the system of FIG.

【図3】図1のシステムに使用される提供ソフトウェア
の構成を示す図である。
FIG. 3 is a diagram showing a configuration of provided software used in the system of FIG.

【図4】図1のシステムの流通ソフトウェア偽造防止方
法の手順を示す流れ図である。
FIG. 4 is a flowchart showing a procedure of a distributed software forgery prevention method of the system of FIG.

【図5】本発明の第2の実施例に係わる流通ソフトウェ
ア偽造防止方法に使用されるCDを示す図である。
FIG. 5 is a diagram showing a CD used in the distributed software forgery prevention method according to the second embodiment of the present invention.

【図6】図6のCD用のCDプレーヤの構成を示す図で
ある。
6 is a diagram showing a configuration of a CD player for the CD of FIG.

【図7】第2の実施例に係わる流通ソフトウェア偽造防
止方法の手順を示す流れ図である。
FIG. 7 is a flowchart showing a procedure of a distribution software forgery prevention method according to a second embodiment.

【図8】本発明の第3の実施例に係わる流通ソフトウェ
ア偽造防止方法を実施するシステム構成図である。
FIG. 8 is a system configuration diagram for implementing a distributed software forgery prevention method according to a third embodiment of the present invention.

【図9】図8のシステムに使用される流通ソフトウェア
偽造防止用付加装置の機能的構成を示す図である。
9 is a diagram showing a functional configuration of a distribution software forgery prevention additional device used in the system of FIG.

【図10】図8のシステムの流通ソフトウェア偽造防止
方法におけるクレジットチャージ時の手順を示す流れ図
である。
10 is a flowchart showing a procedure at the time of credit charge in the distribution software forgery prevention method of the system of FIG.

【図11】図8のシステムの流通ソフトウェア偽造防止
方法におけるソフトウェア使用時の手順を示すフローチ
ャートである。
11 is a flowchart showing a procedure when using software in the distributed software forgery prevention method of the system of FIG.

【符号の説明】[Explanation of symbols]

1 提供手段 3 ユーザ用端末 5 流通ソフトウェア偽造防止用付加装置 7 ネットワーク 9 センタ 11 認証データベース 51 制御部 52 暗号通信部 53 認証部 54 暗号解読部 55 課金状況表示部 57 クレジットチャージ/減算部 DESCRIPTION OF SYMBOLS 1 Providing means 3 User terminal 5 Distribution software forgery prevention additional device 7 Network 9 Center 11 Authentication database 51 Control part 52 Cryptographic communication part 53 Authentication part 54 Cryptanalysis part 55 Charging status display part 57 Credit charge / subtraction part

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 ソフトウェアの流通時に当該ソフトウェ
アを偽造防止する流通ソフトウェア偽造防止方法であっ
て、 運営者のいるセンタとソフトウェア利用者がいて当該ソ
フトウェアを動作させる端末とをネットワークで接続
し、 前記センタには当該ソフトウェアが偽造でないことを確
認するための情報である認証情報および偽造防止のため
の暗号化用鍵を格納した認証データベースを備え、 前記センタの運営者はソフトウェア提供者の提供ソフト
ウェアを一意に識別するソフトウェアIDと公開鍵暗号
方式の公開鍵Aを交付し、 ソフトウェア提供者は提供ソフトウェアに当該ソフトウ
ェアを認証する認証ソフトウェアを組み込み、交付され
た前記公開鍵Aを用いて少なくとも前記認証ソフトウェ
アを含む部分を暗号化部分として暗号化して、該暗号化
部分の区域を示す情報と前記ソフトウェアIDとともに
提供し、 ソフトウェア利用者はソフトウェア提供者から前記暗号
化した提供ソフトウェアを直接またはコピーを第三者か
ら入手し、端末の記憶装置に格納し、前記ソフトウェア
ID、端末を一意に識別する予め設定した被課金者I
D、および前記暗号化部分をネットワークを介して前記
センタに送信し、前記センタで平文化した前記暗号化部
分を受信すると、受信した当該平文化された暗号化部分
で前記暗号化部分を置換して完全な提供ソフトウェアを
作成し、当該提供ソフトウェアを起動し、当該起動によ
り最初に前記認証ソフトウェアが動作し、前記認証ソフ
トウェアは前記センタから受信した認証情報を入力して
当該提供ソフトウェアを認証し、認証結果が正常ならば
その旨を前記センタに送信し、前記センタからの走行許
可を受信すると、前記提供ソフトウェアの本体を起動
し、走行不許可の場合は自身の動作を終了し、 前記センタは前記ソフトウェアID、前記被課金者I
D、および前記暗号化部分を端末から受信すると、前記
認証データベースの情報を用いて当該ソフトウェアID
に対応する秘密鍵Bを見つけて、当該暗号化部分を平文
化して端末へ送信し、端末から認証結果が正常である旨
を受信すると、前記走行許可を送信し、端末への通信を
終了することを特徴とする流通ソフトウェア偽造防止方
法。
1. A distribution software forgery prevention method for preventing forgery of the software at the time of distribution of the software, wherein a center having an operator is connected to a terminal which has a software user and operates the software via a network. Is equipped with an authentication database that stores authentication information that is information for confirming that the software is not counterfeit and an encryption key for preventing forgery, and the center operator uniquely identifies the software provided by the software provider. The software ID for identifying the software and the public key A of the public key cryptosystem are delivered, the software provider incorporates the authentication software for authenticating the software into the provided software, and at least the authentication software is delivered using the delivered public key A. Encrypt the containing part as the encrypted part , The information is provided together with the information indicating the area of the encrypted part and the software ID, and the software user obtains the encrypted provided software directly or from a third party and stores it in the storage device of the terminal. Then, the software ID and the payee I set in advance for uniquely identifying the terminal
D, and the encrypted part is transmitted to the center via the network, and when the encrypted part is received in the center, the encrypted part is replaced with the received encrypted part. Complete provided software, start the provided software, the authentication software operates first by the start, the authentication software inputs the authentication information received from the center to authenticate the provided software, If the authentication result is normal, the fact is transmitted to the center, and when the travel permission from the center is received, the main body of the provided software is started, and if the travel is not permitted, the operation of itself is terminated, and the center The software ID, the payee I
When D and the encrypted portion are received from the terminal, the software ID is used by using the information in the authentication database.
When the private key B corresponding to is found, the encrypted part is plain-text-transmitted and transmitted to the terminal, and when the terminal receives the fact that the authentication result is normal, the travel permission is transmitted and the communication to the terminal is terminated. A method for preventing counterfeiting of distributed software, characterized by:
【請求項2】 ソフトウェア利用者は、前記暗号化部分
を前記センタに送信せず、前記センタから前記秘密鍵B
を受信し、当該秘密鍵Bを用いて前記暗号化部分を平文
化し、元の暗号化部分と置換して完全な提供ソフトウェ
アを作成し、 前記センタは、前記ソフトウェアIDと前記被課金者I
Dを受信すると、前記認証データベースの情報を用いて
当該ソフトウェアIDに対応する秘密鍵Bを見つけて、
端末へ送信することを特徴とする請求項1記載の流通ソ
フトウェア偽造防止方法。
2. The software user does not send the encrypted portion to the center, and the secret key B is sent from the center.
And encrypts the encrypted part using the secret key B, and replaces it with the original encrypted part to create a complete provided software, and the center sends the software ID and the payee I.
When D is received, the private key B corresponding to the software ID is found using the information in the authentication database,
The distribution software forgery prevention method according to claim 1, wherein the distribution software is transmitted to a terminal.
【請求項3】 ソフトウェア提供者は、提供ソフトウェ
アを鍵Cを用いて暗号化し、少なくとも前記暗号化ソフ
トウェアを復号化するための鍵Cを含む部分を前記公開
鍵Aを用いて暗号化し、 ソフトウェア利用者は、前記センタで平文化した前記暗
号化部分を受信すると、平文化した前記鍵Cを用いて提
供ソフトウェアを復号化することを特徴とする請求項1
記載の流通ソフトウェア偽造防止方法。
3. The software provider encrypts the provided software with a key C, encrypts at least a portion including the key C for decrypting the encrypted software with the public key A, and uses the software. When the person receives the plaintext encrypted portion at the center, the person decrypts the provided software by using the plaintext key C.
Anti-counterfeiting method of the described distribution software.
【請求項4】 ソフトウェア提供者は、提供ソフトウェ
アを鍵Cを用いて暗号化し、少なくとも前記暗号化ソフ
トウェアを復号化するための鍵Cを含む部分を前記公開
鍵Aを用いて暗号化し、 ソフトウェア利用者は、前記暗号化部分を前記センタに
送信せず、前記センタから前記秘密鍵Bを受信したら、
当該秘密鍵Bを用いて前記暗号化部分を平文化し、平文
化した前記鍵Cを用いて提供ソフトウェアを復号化する
ことを特徴とする請求項1記載の流通ソフトウェア偽造
防止方法。
4. The software provider encrypts the provided software with a key C, encrypts at least a portion including the key C for decrypting the encrypted software with the public key A, and uses the software. If the person does not send the encrypted part to the center and receives the secret key B from the center,
2. The distributed software forgery prevention method according to claim 1, wherein the encrypted part is decrypted using the secret key B, and the provided software is decrypted using the encrypted key C.
【請求項5】 ソフトウェア利用者は、前記認証結果が
正常ならば平文化した前記ソフトウェアIDと前記暗号
化部分と前記認証情報、端末の記憶装置に記憶し、認証
結果が正常ならば、前記センタにクレジット数を要求
し、認可を得るとともに、前記クレジット数を記憶し通
信を終了し、提供ソフトウェアを使用する時、平文化し
た前記暗号化部分を記憶装置から取り出して元の前記暗
号化部分と置換して完全な提供ソフトウェアとし、当該
提供ソフトウェアを起動し、当該起動により最初に前記
認証ソフトウェアが記憶した認証情報を入力して当該提
供ソフトウェアを認証し、認証結果が正常ならば前記ク
レジット数を減算し、走行を許可し、当該クレジット数
が0であれば当該提供ソフトウェアの使用を禁止し、保
存した前記ソフトウェアIDと前記平文化部分、前記認
証情報を消去することを特徴とする請求項1記載の流通
ソフトウェア偽造防止方法。
5. If the authentication result is normal, the software user stores the plaintext of the software ID, the encrypted part, the authentication information, and the storage device of the terminal. Requesting the number of credits, obtaining authorization, memorizing the number of credits, ending communication, and using the provided software, the plaintext encrypted part is taken out from the storage device and the original encrypted part Replace it with complete provided software, start the provided software, enter the authentication information stored by the authentication software at the beginning to authenticate the provided software, and if the authentication result is normal, set the credit number Subtract, allow running, and if the number of credits is 0, prohibit the use of the provided software and save the software. The method for preventing distribution software forgery according to claim 1, wherein the ID, the plaintext portion, and the authentication information are erased.
【請求項6】 ソフトウェア利用者は、前記暗号化部分
を前記センタに送信せず、前記センタから前記秘密鍵B
を受信し、当該秘密鍵Bを用いて前記暗号化部分を平文
化し、元の暗号化部分と置換して完全な提供ソフトウェ
アを作成し、 前記センタは、前記ソフトウェアIDと前記被課金者I
Dを受信すると、前記認証データベースの情報を用いて
当該ソフトウェアIDに対応する秘密鍵Bを見つけて、
端末へ送信することを特徴とする請求項5記載の流通ソ
フトウェア偽造防止方法。
6. The software user does not send the encrypted part to the center, and the secret key B is sent from the center.
And encrypts the encrypted part using the secret key B, and replaces it with the original encrypted part to create a complete provided software, and the center sends the software ID and the payee I.
When D is received, the private key B corresponding to the software ID is found using the information in the authentication database,
The distribution software forgery prevention method according to claim 5, wherein the distribution software is transmitted to a terminal.
【請求項7】 ソフトウェア提供者は、提供ソフトウェ
アを鍵Cを用いて暗号化し、少なくとも前記暗号化ソフ
トウェアを復号化するための鍵Cを含む部分を前記公開
鍵Aを用いて暗号化し、 ソフトウェア利用者は、前記センタで平文化した前記暗
号化部分を受信すると、平文化した前記鍵Cを用いて提
供ソフトウェアを復号化することを特徴とする請求項5
記載の流通ソフトウェア偽造防止方法。
7. The software provider encrypts the provided software with a key C, encrypts at least a portion including the key C for decrypting the encrypted software with the public key A, and uses the software. 6. The person decrypts the provided software by using the plaintext key C when receiving the plaintext encrypted portion at the center.
Anti-counterfeiting method of the described distribution software.
【請求項8】 ソフトウェア提供者は、提供ソフトウェ
アを鍵Cを用いて暗号化し、少なくとも前記暗号化ソフ
トウェアを復号化するための鍵Cを含む部分を前記公開
鍵Aを用いて暗号化し、 ソフトウェア利用者は、前記暗号化部分を前記センタに
送信せず、前記センタから前記秘密鍵Bを受信し、当該
秘密鍵Bを用いて前記暗号化部分を平文化し、平文化し
た前記鍵Cを用いて提供ソフトウェアを復号化すること
を特徴とする請求項5記載の流通ソフトウェア偽造防止
方法。
8. The software provider encrypts the provided software with a key C, encrypts at least a portion including the key C for decrypting the encrypted software with the public key A, and uses the software. The person does not send the encrypted part to the center, receives the secret key B from the center, uses the secret key B to flatten the encrypted part, and uses the plaintext key C. 6. The distributed software forgery prevention method according to claim 5, wherein the provided software is decrypted.
【請求項9】 前記センタの運営者とソフトウェア利用
者との間での通信内容を暗号化するための秘密鍵暗号方
式の秘密鍵を最初の通信の前に登録し、その後は通信終
了直前に別の秘密鍵を交換して登録し、次回の通信には
登録された前記秘密鍵を用いて通信することを特徴とす
る請求項1ないし8のいずれかに記載の流通ソフトウェ
ア偽造防止方法。
9. A secret key of a secret key cryptosystem for encrypting communication contents between an operator of the center and a software user is registered before the first communication, and then immediately before the end of the communication. 9. The distributed software forgery prevention method according to claim 1, wherein another secret key is exchanged and registered, and the registered secret key is used for communication in the next communication.
【請求項10】 ソフトウェアの通信時に当該ソフトウ
ェアを偽造防止する流通ソフトウェア偽造防止装置であ
って、 運営者のいるセンタとソフトウェア利用者がいて当該ソ
フトウェアを動作させるユーザ用端末とを接続したネッ
トワークと、 前記センタに設けられ、前記ソフトウェアIDと当該ソ
フトウェアが偽造でないことを確認するための情報であ
る認証情報と偽造防止のための公開鍵A,秘密鍵Bと通
信用鍵を格納した認証データベースと、 ソフトウェア提供者の提供ソフトウェアを一意に識別す
るソフトウェアIDと公開鍵暗号方式の公開鍵Aを交付
し、提供ソフトウェアに当該ソフトウェアを認証する認
証ソフトウェアまたはデータを復号化する鍵Cを組み込
み、交付された前記公開鍵Aを用いて少なくとも前記認
証ソフトウェアを含む部分または前記鍵Cを含む部分を
暗号化部分として暗号化して、前記暗号化部分の区域を
示す情報と前記ソフトウェアIDとともに提供する提供
手段と、 暗号化したソフトウェアを前記認証データベースの情報
を用いて当該ソフトウェアIDに対応する秘密鍵Bを見
つけて平文化する平文化手段と、 前記平文化手段を用いて平文化した前記暗号化部分を、
元の前記暗号化部分と置換し、更に暗号化されている場
合には、前記鍵Cで復号化して完全に提供ソフトウェア
とし、当該提供ソフトウェアを起動し、当該起動により
最初に前記認証ソフトウェアを動作させ、前記認証ソフ
トウェアは前記認証情報を入力して当該提供ソフトウェ
アを認証し、認証結果が正常ならば、前記提供ソフトウ
ェアの本体を起動し、走行不許可の場合は自身の動作を
終了させる機能が組み込まれた前記ユーザ用端末または
前記ユーザ用端末の付加装置と、 端末から認証結果が正常である旨を受信し、前記走行許
可を端末へ送信するセンタとを有することを特徴とする
流通ソフトウェア偽造防止装置。
10. A distribution software forgery prevention device for preventing forgery of the software at the time of communication of the software, and a network connecting a center with an operator and a user terminal for operating the software with a software user, An authentication database provided in the center, which stores the software ID, authentication information for confirming that the software is not forged, and a public key A, a secret key B, and a communication key for preventing forgery, The software ID that uniquely identifies the software provided by the software provider and the public key A of the public key cryptosystem are delivered, and the provided software includes the authentication software that authenticates the software or the key C that decrypts the data and is delivered. Using the public key A, at least the authentication software A providing means for encrypting a portion including a or a portion including the key C as an encrypted portion and providing the encrypted software with the information indicating the area of the encrypted portion and the software ID; and the encrypted software, the information of the authentication database. Using the plaintext means for finding the secret key B corresponding to the software ID and performing the plaintext, and the encrypted part obtained by the plaintext using the plaintext means,
When the original encrypted part is replaced and further encrypted, it is decrypted by the key C to be completely provided software, the provided software is activated, and the authentication software is first operated by the activation. The authentication software inputs the authentication information and authenticates the provided software. If the authentication result is normal, the function of activating the main body of the provided software and ending the operation of itself when traveling is not permitted is provided. Counterfeit distribution software having the built-in terminal for a user or an additional device for the user terminal and a center for receiving a fact that an authentication result is normal from the terminal and transmitting the travel permission to the terminal. Prevention device.
JP5190683A 1993-07-30 1993-07-30 Method and device for preventing circulating software from being forged Pending JPH0744377A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5190683A JPH0744377A (en) 1993-07-30 1993-07-30 Method and device for preventing circulating software from being forged

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5190683A JPH0744377A (en) 1993-07-30 1993-07-30 Method and device for preventing circulating software from being forged

Publications (1)

Publication Number Publication Date
JPH0744377A true JPH0744377A (en) 1995-02-14

Family

ID=16262144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5190683A Pending JPH0744377A (en) 1993-07-30 1993-07-30 Method and device for preventing circulating software from being forged

Country Status (1)

Country Link
JP (1) JPH0744377A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305758A (en) * 1995-05-02 1996-11-22 Ekushingu:Kk Information presenting terminal and communication type information presentation system provided with the terminal
KR20000053933A (en) * 2000-05-10 2000-09-05 류종렬 System for confirming of original software and the method thereof
WO2002099629A1 (en) * 2001-06-01 2002-12-12 Linkworld, Inc. Method for charging application software, charging system, charging server and computer program
JP2003150803A (en) * 2001-11-16 2003-05-23 Yondenko Corp Software providing system
KR100388402B1 (en) * 1998-05-15 2003-06-25 인터내셔널 비지네스 머신즈 코포레이션 Royalty collection method and system for use of copyrighted digital materials on the internet
JP2003526965A (en) * 1999-05-17 2003-09-09 ウェイヴ システムズ コーポレイション Public cryptographic control unit and its system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305758A (en) * 1995-05-02 1996-11-22 Ekushingu:Kk Information presenting terminal and communication type information presentation system provided with the terminal
KR100388402B1 (en) * 1998-05-15 2003-06-25 인터내셔널 비지네스 머신즈 코포레이션 Royalty collection method and system for use of copyrighted digital materials on the internet
JP2003526965A (en) * 1999-05-17 2003-09-09 ウェイヴ システムズ コーポレイション Public cryptographic control unit and its system
KR20000053933A (en) * 2000-05-10 2000-09-05 류종렬 System for confirming of original software and the method thereof
WO2002099629A1 (en) * 2001-06-01 2002-12-12 Linkworld, Inc. Method for charging application software, charging system, charging server and computer program
JP2003150803A (en) * 2001-11-16 2003-05-23 Yondenko Corp Software providing system

Similar Documents

Publication Publication Date Title
US6332025B2 (en) Software distribution system and software utilization scheme for improving security and user convenience
JP4206529B2 (en) Content management method and content storage system
US7599890B2 (en) Content data storage
US7124443B2 (en) Information transaction system
CA2256881C (en) An automatic safe public communication system
US4658093A (en) Software distribution system
ES2389725T3 (en) Adaptive security mechanism to prevent unauthorized access to digital data
JP4638990B2 (en) Secure distribution and protection of cryptographic key information
JPH0697931A (en) Personal communication terminal registration control system
EP0828210A2 (en) Method and apparatus for cryptographically protecting data
JP2001527675A (en) IC card delivery key set
US20070074027A1 (en) Methods of verifying, signing, encrypting, and decrypting data and file
JP2003051816A (en) Contents distribution system, contents distribution method, data processor, data processing method, and computer program
JPH1131130A (en) Service providing device
JPH08249286A (en) Electronic data communication system
JPH088851A (en) Information distribution system and information distribution method
JP3348753B2 (en) Encryption key distribution system and method
JPH07123086A (en) Literary work communication control system using ic card
EP1276066A2 (en) Licensing method and license providing system
JPH07219762A (en) Software protection system
JPH0744377A (en) Method and device for preventing circulating software from being forged
JP3542007B2 (en) Content providing method and recording medium recording this method
JP3412709B2 (en) Information distribution apparatus and method
JP3788572B2 (en) Rental content distribution system and method
JP3458979B2 (en) Digital information protection system and method