JPH0997175A - ソフトウエア利用制御方法 - Google Patents

ソフトウエア利用制御方法

Info

Publication number
JPH0997175A
JPH0997175A JP7254962A JP25496295A JPH0997175A JP H0997175 A JPH0997175 A JP H0997175A JP 7254962 A JP7254962 A JP 7254962A JP 25496295 A JP25496295 A JP 25496295A JP H0997175 A JPH0997175 A JP H0997175A
Authority
JP
Japan
Prior art keywords
software
data
decrypted
key
encrypted
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.)
Granted
Application number
JP7254962A
Other languages
English (en)
Other versions
JP3624971B2 (ja
Inventor
Toshiharu Harada
俊治 原田
Natsume Matsuzaki
なつめ 松崎
Makoto Tatebayashi
誠 館林
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP25496295A priority Critical patent/JP3624971B2/ja
Publication of JPH0997175A publication Critical patent/JPH0997175A/ja
Application granted granted Critical
Publication of JP3624971B2 publication Critical patent/JP3624971B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 大量販売されるソフトウエアに適し、かつソ
フトウエアの改変を安価に検出できるソフトウエア利用
制御方法を提供することである。 【解決手段】 キー作成部1は、各ソフトウエアに共通
で秘密のソフトキーと、各利用者に固有で秘密のチケッ
トキーとを作成する。認証データ作成部2は、各ソフト
ウエアに固有な認証用データ(D1)と、これと所定の
関係を満たす認証用データ(D1’)とを作成する。ソ
フト暗号化部4は、認証用データ(D1)をソフトウエ
アに付加した後、ソフトキーを用いて暗号化する。チケ
ット暗号化部3は、認証用データ(D1’)をチケット
データに付加した後、チケットキーを用いて暗号化す
る。ソフト利用者側では、暗号化されたソフトウエアお
よびチケットデータを、ソフトキーおよびチケットキー
を用いて復号し、復号データから得られる認証用データ
(D1)および(D1’)が所定の関係を満たすとき、
復号されたソフトウエアを復号されたチケットデータに
従って実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソフトウエア利用
制御方法に関し、より特定的には、特定の利用者だけが
利用可能となるように、流通するソフトウエアの利用を
制限するための方法に関する。
【0002】
【従来の技術】最近、パソコンなどで利用されるアプリ
ケーションソフトウエアに関する違法コピーが大きな問
題となっている。この問題は、ディジタル化されたデー
タが有する次の性質に起因するものである。 ・複製が簡単、短時間、かつ安価に行なえる。 ・原始データと複製データの有する価値は変化しない。 ・原始データと改変されたデータとの識別が難しい。
【0003】市販のソフトウエアを非合法的に複写して
使用したり販売することを防止するため、ソフトウエア
を暗号化して配布する方法が有効である。ソフトウエア
を暗号化することで不正コピーによる不正使用を防止す
る方法に関して、多くの方式が提案されている。その代
表的な例を以下に示す。
【0004】第1の例は、ソフトウエアを実行する装置
(パソコン、ワークステーション、家庭用ゲーム機な
ど)毎に異なる固有のキーを与え、そのキーで暗号化さ
れたソフトウエアを復号し実行するという方法である
(例えば、特開昭51−003745号公報参照)。こ
の構成では、ソフトウエアは、各実行装置毎に一意的な
キーで暗号化されるため、暗号化されたソフトウエアを
コピーして他の実行装置で実行しようとしても実行でき
ない。しかしながら、各利用者(実行装置)用にそれぞ
れソフトウエアの暗号化を行なう必要がある。そのた
め、例えば、暗号化されたソフトウエアをCD−ROM
に大量に複写し販売するのには適さない(すなわち、暗
号化されたソフトウエアを原盤として作成して、その原
盤を用いてCD−ROMにプレスして販売するのに適さ
ない)などの短所がある。
【0005】第2の例は、特開昭61−145642号
公報に開示されているように、ソフトウエアを実行する
装置に暗号復号機構を組み込み、この暗号復号機構に装
置毎に一意的なキーを与え、ソフトウエアをソフトウエ
ア毎に一意的なファイルキーで暗号化して記憶媒体に書
き込んでおく。一方、このファイルキーを装置毎に一意
的なキーで暗号化して作成されたパスワードを実行装置
に入力することにより、まず暗号化されたファイルキー
が暗号復号機構にて復号され、復号されたファイルキー
を用いて記憶媒体に書き込まれた暗号化されたソフトウ
エアが復号される。この第2の例では、第1の例とは違
ってソフトウエア本体は、ソフトウエア毎に一意的なキ
ーで暗号化され個別化される。したがって、暗号化され
たソフトウエアをCD−ROMなどの記憶媒体に大量に
複写して販売することができる。一方、暗号化されたソ
フトウエアの復号に利用されるパスワードは、装置毎に
一意的なキーで暗号化され個別化される。したがって、
装置毎に個別化されるパスワードをコピーして他の実行
装置で暗号化されたソフトウエアを実行しようとしても
実行できない。
【0006】しかしながら、上記第2の例では、実行装
置にパスワードや暗号化ソフトウエアが誤って入力され
たり読み取られた場合や、コンピュータウイルスなどに
より改変されていた場合に、ソフトウエアを実行する前
にそれらを検出することはできない。このため、最悪の
場合ソフトウエアが暴走して他のコンピュータ資源に悪
影響を及ぼしかねない。
【0007】上記のようなソフトウエアの改変を防止す
る方法として、ディジタル署名を利用する方法がある
(例えば特開平03−286334号公報参照)。な
お、ディジタル署名については、共立出版、岡本栄司著
「暗号理論入門」第7章に詳しく説明されている。しか
しながら、このようなディジタル署名を第2の例に追加
的に使用する場合、ソフトウエアの暗号化/復号機構に
加えて、ディジタル署名処理機構を別途設ける必要があ
りコストアップとなる。
【0008】
【発明が解決しようとする課題】以上説明したように、
第1の従来例では、ソフトウエアを実行装置毎に固有の
キーで暗号化するため、暗号化されたソフトウエアを記
憶媒体に大量に複写して販売するのに適さないといった
問題点がある。また、第2の従来例では、暗号化された
ソフトウエアやパスワードに対する改変や誤入力が発生
した時に、それをソフトウエアを実行する前に検出でき
ないといった問題点がある。この第2の従来例の問題点
を解消するために、ディジタル署名を利用する場合、暗
号化ソフトウエアの改変を検出するためのディジタル署
名機構を別途追加しなければならず、コストの上昇を招
くという別の問題点を生じる。
【0009】なお、ソフトウエアの各部分を個別に暗号
化し、その利用を個別に制御したいという要望がある。
例えば、一般ユーザ向けに基本機能を、そして専門ユー
ザ向けにいくつかの拡張機能を備えるソフトウエアの場
合、基本機能と拡張機能とを別々に暗号化することによ
り、基本機能のみを復号実行できたり、拡張機能も復号
実行できたりといった選択を利用者に与えることができ
る。また、音楽やビデオなどのデータを実行するソフト
ウエアにおいては、各データ毎に暗号化することによ
り、その実行を個別に制御できる。しかしながら、従来
は、ソフトウエアの各部分を個別に暗号化し、その復号
実行を個別に制御することはできなかった。
【0010】それ故に、本発明の目的は、ソフトウエア
を各利用者や実行装置に依存しない形で暗号化できるソ
フトウエア利用制御方法を提供することである。本発明
の他の目的は、暗号化されたソフトウエアに対する改変
の検出を、安価な構成で実現できるソフトウエア利用制
御方法を提供することである。本発明のさらに他の目的
は、各ソフトウエアが保有するデータや機能の実行を、
個別に制御することのできるソフトウエア利用制御方法
を提供することである。
【0011】
【課題を解決するための手段および発明の効果】第1の
発明は、実行権データを有する利用者だけが利用可能と
なるように、流通するソフトウエアの利用を制限するた
めの方法であって、各ソフトウエアに共通で秘密の第1
のキーと、各利用者に固有で秘密の第2のキーとを作成
し、これら第1および第2のキーを利用者に配布する第
1のステップと、各ソフトウエアに固有な第1のデータ
と、この第1のデータと所定の関係を満たす第1の認証
データとを作成する第2のステップと、第1のデータを
ソフトウエアに付加した後、第1のキーを用いて暗号化
し、この暗号化されたソフトウエアを利用者に配布する
第3のステップと、第1の認証データを実行権データに
付加した後、第2のキーを用いて暗号化し、この暗号化
された実行権データを利用者に配付する第4のステップ
と、暗号化されたソフトウエアを第1のキーを用いて復
号し、暗号化された実行権データを第2のキーを用いて
復号し、復号されたソフトウエアに付加されている第1
のデータと、復号された実行権データに付加されている
第1の認証データとが所定の関係を満たすとき、復号さ
れたソフトウエアを復号された実行権データに従って実
行する第5のステップとを備えている。
【0012】上記のように、第1の発明では、ソフトウ
エアは、各ソフトウエアに共通な第1のキーで暗号化さ
れるため、すなわち各利用者に依存しない形で暗号化さ
れるため、CD−ROM等を利用した大量販売に適す
る。また、第1の発明では、復号されたソフトウエアに
付加されている第1のデータと、復号された実行権デー
タに付加されている第1の認証データとが所定の関係を
満たすかどうかを判定することで、暗号化されたソフト
ウエアに対する改変を、安価な構成で検出できる。さら
に、第1のデータと第1の認証データとが所定の関係を
満たす場合のみ、復号されたソフトウエアを復号された
実行権データに従って実行するようにしているため、改
変されたソフトウエアの利用を禁止することができる。
【0013】第2の発明は、第1の発明において、ソフ
トウエアは、1つのメインソフトウエア部と、当該メイ
ンソフトウエア部によって利用されるn個(nは1以上
の整数)のサブソフトウエア部とを含み、第2のステッ
プは、第1のデータおよび第1の認証データに加えて、
各サブソフトウエア部に固有なn個の第2のデータと、
このn個の第2のデータとそれぞれ所定の関係を満たす
n個の第2の認証データとを作成し、第3のステップ
は、第1のデータおよびn個の第2の認証データをメイ
ンソフトウエア部に付加した後、第1のキーを用いて暗
号化し、第2のデータをサブソフトウエア部にそれぞれ
付加した後、第1のキーを用いてそれぞれ暗号化し、暗
号化されたメインソフトウエア部と暗号化された各サブ
ソフトウエア部とを、暗号化されたソフトウエアとして
利用者に配付し、第5のステップは、暗号化されたソフ
トウエアの暗号化されたメインソフトウエア部を第1の
キーを用いて復号すると共に、暗号化された実行権デー
タを第2のキーを用いて復号し、復号されたメインソフ
トウエア部に付加されている第1のデータと、復号され
た実行権データに付加されている第1の認証データとが
所定の関係を満たすとき、復号されたメインソフトウエ
ア部を復号された実行権データに従って実行し、この復
号されたメインソフトウエア部から暗号化された各サブ
ソフトウエア部の利用が要求されたとき、暗号化された
各サブソフトウエア部を第1のキーを用いてそれぞれ復
号し、復号された各サブソフトウエア部に付加されてい
る第2のデータと、復号されたメインソフトウエア部に
付加されている第2の認証データとが所定の関係を満た
すとき、復号されたサブソフトウエア部を復号された実
行権データに従って実行することを特徴とする。
【0014】上記のように、第2の発明では、復号され
た各サブソフトウエア部にそれぞれ付加されている第2
のデータと、復号されたメインソフトウエア部に付加さ
れている第2の認証データとが所定の関係を満たすかど
うかを判定することで、暗号化されたソフトウエアの改
変を、各サブソフトウエア部毎に検出できる。その結
果、各サブソフトウエア部毎に、その利用を制御するこ
とができる。
【0015】第3の発明は、第1または第2の発明にお
いて、第1のステップは、作成した第1および第2のキ
ーをそれぞれ利用者の記憶するパスワードで暗号化して
利用者に配付することを特徴とする。
【0016】上記のように、第3の発明では、第1およ
び第2のキーが、それぞれ利用者の記憶するパスワード
で暗号化されて利用者に配付されるので、配付時に秘密
性を保つ必要がない。
【0017】第4の発明は、第1または第2の発明にお
いて、復号認証処理のための復号認証プログラムを利用
者に配付する第6のステップをさらに備え、第5のステ
ップは、配付された復号認証プログラムに従って、実行
されることを特徴とする。
【0018】上記のように、第4の発明では、利用者側
で実行される第5のステップを、それ自体は復号認証機
能を持たない汎用のコンピュータ上で実現できる。
【0019】第5の発明は、第4の発明において、読出
可能領域と書き換え不可領域とを有する第1の記憶媒体
と、読出可能領域と不正読出不可領域とを有する第2の
記憶媒体とを準備し、第1の記憶媒体の読出可能領域に
暗号化されたソフトウエアを記録し、第1の記憶媒体の
書き換え不可領域に復号認証プログラムを記録し、第2
の記憶媒体の読出可能領域に暗号化された実行権データ
を記録し、第2の記憶媒体の不正読出不可領域に第1お
よび第2のキーを記録し、これら第1および第2の記憶
媒体を利用者に配布することを特徴とする。
【0020】第6の発明は、第4の発明において、読出
可能領域と書き換え不可領域とを有する第1の記憶媒体
と、不正読出不可領域とを有する第2の記憶媒体とを準
備し、第1の記憶媒体の読出可能領域に暗号化された実
行権データおよび暗号化されたソフトウエアを記録し、
第1の記憶媒体の書き換え不可領域に復号認証プログラ
ムを記録し、第2の記憶媒体の不正読出不可領域に第1
および第2のキーを記録し、これら第1および第2の記
憶媒体を利用者に配布することを特徴とする。
【0021】第7の発明は、第4の発明において、第6
のステップは、不正読出が不可能な記憶領域を有し、こ
の記憶領域に格納された復号認証プログラムを実行する
ことのできる実行装置を利用者に配付することを特徴と
する。
【0022】第8の発明は、第4の発明において、第6
のステップは、書き込みが不可能な記憶領域を有し、こ
の記憶領域に格納された復号認証プログラムを実行する
ことのできる実行装置を利用者に配付することを特徴と
する。
【0023】第9の発明は、第4の発明において、第6
のステップは、復号認証プログラムを実行する専用のハ
ードウエア組み込んだ実行装置を利用者に配付すること
を特徴とする。
【0024】第10の発明は、実行権データを有する利
用者だけが利用可能となるように、流通するソフトウエ
アの利用を制限するための方法であって、各ソフトウエ
アに共通で秘密の第1のキーと、各利用者に共通で秘密
の第2のキーとを作成し、これら第1および第2のキー
を利用者に配布する第1のステップと、各ソフトウエア
に固有な第1のデータと、この第1のデータと所定の関
係を満たす第1の認証データと、各利用者に固有な第2
のデータと、この第2のデータと所定の関係を満たす第
2の認証データとを作成し、この第2のデータを利用者
に配付する第2のステップと、第1のデータをソフトウ
エアに付加した後、第1のキーを用いて暗号化し、この
暗号化されたソフトウエアを利用者に配布する第3のス
テップと、第1および第2の認証データを実行権データ
に付加した後、第2のキーを用いて暗号化し、この暗号
化された実行権データを利用者に配付する第4のステッ
プと、暗号化された実行権データを第2のキーを用いて
復号し、復号された実行権データに付加された第2の認
証データと、第2のデータとが所定の関係を満たすと
き、暗号化されたソフトウエアを第1のキーを用いて復
号し、復号されたソフトウエアに付加されている第1の
データと、復号された実行権データに付加されている第
1の認証データとが所定の関係を満たすとき、復号され
たソフトウエアを復号された実行権データに従って実行
する第5のステップとを備えている。
【0025】上記のように、第10の発明では、ソフト
ウエアは、各ソフトウエアに共通な第1のキーで暗号化
されるため、すなわち各利用者に依存しない形で暗号化
されるため、CD−ROM等を利用した大量販売に適す
る。また、第10の発明では、復号された実行権データ
に付加された第2の認証データと、第2のデータとが所
定の関係を満たすかどうかを判定することで、暗号化さ
れた実行権データに対する改変を、安価な構成で検出で
きる。また、復号されたソフトウエアに付加されている
第1のデータと、復号された実行権データに付加されて
いる第1の認証データとが所定の関係を満たすかどうか
を判定することで、暗号化されたソフトウエアに対する
改変を、安価な構成で検出できる。さらに、第1のデー
タと第1の認証データとが所定の関係を満たす場合の
み、復号されたソフトウエアを復号された実行権データ
に従って実行するようにしているため、改変されたソフ
トウエアの利用を禁止することができる。
【0026】第11の発明は、第10の発明において、
ソフトウエアは、1つのメインソフトウエア部と、当該
メインソフトウエア部によって利用されるn個(nは1
以上の整数)のサブソフトウエア部とを含み、第2のス
テップは、第1および第2のデータ、第1および第2の
認証データに加えて、各サブソフトウエア部に固有なn
個の第3のデータと、このn個の第3のデータとそれぞ
れ所定の関係を満たすn個の第3の認証データとを作成
し、第3のステップは、第1のデータおよびn個の第3
の認証データをメインソフトウエア部に付加した後、第
1のキーを用いて暗号化し、第3のデータを各サブソフ
トウエア部にそれぞれ付加した後、第1のキーを用いて
それぞれ暗号化し、暗号化されたメインソフトウエア部
と暗号化された各サブソフトウエア部とを、暗号化され
たソフトウエアとして利用者に配付し、第5のステップ
は、暗号化された実行権データを第2のキーを用いて復
号し、復号された実行権データに付加された第2の認証
データと、第2のデータとが所定の関係を満たすとき、
暗号化されたメインソフトウエア部を第1のキーを用い
て復号し、復号されたメインソフトウエア部に付加され
ている第1のデータと、復号された実行権データに付加
されている第1の認証データとが所定の関係を満たすと
き、復号されたメインソフトウエア部を復号された実行
権データに従って実行し、この復号されたメインソフト
ウエア部から暗号化された各サブソフトウエア部の利用
が要求されたとき、暗号化された各サブソフトウエア部
を第1のキーを用いてそれぞれ復号し、復号された各サ
ブソフトウエア部に付加されている第3のデータと、復
号されたメインソフトウエア部に付加されている第3の
認証データとが所定の関係を満たすとき、復号されたサ
ブソフトウエア部を復号された実行権データに従って実
行することを特徴とする。
【0027】上記のように、第11の発明では、復号さ
れた各サブソフトウエア部にそれぞれ付加されている第
3のデータと、復号されたメインソフトウエア部に付加
されている第3の認証データとが所定の関係を満たすか
どうかを判定することで、暗号化されたソフトウエアの
改変を、各サブソフトウエア部毎に検出できる。その結
果、各サブソフトウエア部毎に、その利用を制御するこ
とができる。
【0028】第12の発明は、実行権データを有する利
用者だけが利用可能となるように、流通するソフトウエ
アの利用を制限するための方法であって、各ソフトウエ
アに固有で秘密の第1のキーと、各利用者に共通で秘密
の第2のキーとを作成し、これら第1および第2のキー
を利用者に配布する第1のステップと、各ソフトウエア
に固有な第1のデータと、この第1のデータと所定の関
係を満たす第1の認証データと、各利用者に固有な第2
のデータと、この第2のデータと所定の関係を満たす第
2の認証データとを作成し、この第2のデータを利用者
に配付する第2のステップと、第1のデータをソフトウ
エアに付加した後、第1のキーを用いて暗号化し、この
暗号化されたソフトウエアを利用者に配布する第3のス
テップと、第1および第2の認証データを実行権データ
に付加した後、第2のキーを用いて暗号化し、この暗号
化された実行権データを利用者に配付する第4のステッ
プと、暗号化された実行権データを第2のキーを用いて
復号し、復号された実行権データに付加された第2の認
証データと、第2のデータとが所定の関係を満たすと
き、暗号化されたソフトウエアを第1のキーを用いて復
号し、復号されたソフトウエアに付加されている第1の
データと、復号された実行権データに付加されている第
1の認証データとが所定の関係を満たすとき、復号され
たソフトウエアを復号された実行権データに従って実行
する第5のステップとを備えている。
【0029】第13の発明は、実行権データを有する利
用者だけが利用可能となるように、流通するソフトウエ
アの利用を制限するための方法であって、各ソフトウエ
アに固有で秘密の第1のキーと、各利用者に共通で秘密
の第2のキーとを作成し、これら第1および第2のキー
を利用者に配布する第1のステップと、各ソフトウエア
に共通な第1のデータと、この第1のデータと所定の関
係を満たす第1の認証データと、各利用者に固有な第2
のデータと、この第2のデータと所定の関係を満たす第
2の認証データとを作成し、この第2のデータを利用者
に配付する第2のステップと、第1のデータをソフトウ
エアに付加した後、第1のキーを用いて暗号化し、この
暗号化されたソフトウエアを利用者に配布する第3のス
テップと、第1および第2の認証データを実行権データ
に付加した後、第2のキーを用いて暗号化し、この暗号
化された実行権データを利用者に配付する第4のステッ
プと、暗号化された実行権データを第2のキーを用いて
復号し、復号された実行権データに付加された第2の認
証データと、第2のデータとが所定の関係を満たすと
き、暗号化されたソフトウエアを第1のキーを用いて復
号し、復号されたソフトウエアに付加されている第1の
データと、復号された実行権データに付加されている第
1の認証データとが所定の関係を満たすとき、復号され
たソフトウエアを復号された実行権データに従って実行
する第5のステップとを備えている。
【0030】上記のように、第12および第13の発明
では、ソフトウエアは、各ソフトウエアに固有な第1の
キーで暗号化されるため、すなわち各利用者に依存しな
い形で暗号化されるため、CD−ROM等を利用した大
量販売に適する。また、第12および第13の発明で
は、復号された実行権データに付加された第2の認証デ
ータと、第2のデータとが所定の関係を満たすかどうか
を判定することで、暗号化された実行権データに対する
改変を、安価な構成で検出できる。また、復号されたソ
フトウエアに付加されている第1のデータと、復号され
た実行権データに付加されている第1の認証データとが
所定の関係を満たすかどうかを判定することで、暗号化
されたソフトウエアに対する改変を、安価な構成で検出
できる。さらに、第1のデータと第1の認証データとが
所定の関係を満たす場合のみ、復号されたソフトウエア
を復号された実行権データに従って実行するようにして
いるため、改変されたソフトウエアの利用を禁止するこ
とができる。
【0031】第14の発明は、実行権データを有する利
用者だけが利用可能となるように、流通するソフトウエ
アの利用を制限するための方法であって、各ソフトウエ
アに固有で秘密の第1のキーと、各利用者に共通で秘密
の第2のキーとを作成し、第2のキーを用いて第1のキ
ーを暗号化し、暗号化された第1のキーおよび暗号化さ
れていない第2のキーを利用者に配布する第1のステッ
プと、各ソフトウエアに固有な第1のデータと、この第
1のデータと所定の関係を満たす第1の認証データと、
各利用者に固有な第2のデータと、この第2のデータと
所定の関係を満たす第2の認証データとを作成し、この
第2のデータを利用者に配付する第2のステップと、第
1のデータをソフトウエアに付加した後、第1のキーを
用いて暗号化し、この暗号化されたソフトウエアを利用
者に配布する第3のステップと、第1および第2の認証
データを実行権データに付加した後、第2のキーを用い
て暗号化し、この暗号化された実行権データを利用者に
配付する第4のステップと、第2のキーを用いて暗号化
された第1のキーおよび暗号化された実行権データを復
号し、復号された実行権データに付加された第2の認証
データと、第2のデータとが所定の関係を満たすとき、
暗号化されたソフトウエアを第1のキーを用いて復号
し、復号されたソフトウエアに付加されている第1のデ
ータと、復号された実行権データに付加されている第1
の認証データとが所定の関係を満たすとき、復号された
ソフトウエアを復号された実行権データに従って実行す
る第5のステップとを備えている。
【0032】第15の発明は、実行権データを有する利
用者だけが利用可能となるように、流通するソフトウエ
アの利用を制限するための方法であって、各ソフトウエ
アに固有で秘密の第1のキーと、各利用者に固有で秘密
の第2のキーとを作成し、第2のキーを用いて第1のキ
ーを暗号化し、暗号化された第1のキーおよび暗号化さ
れていない第2のキーを利用者に配布する第1のステッ
プと、各ソフトウエアに固有な第1のデータと、この第
1のデータと所定の関係を満たす第1の認証データと、
各利用者に固有な第2のデータと、この第2のデータと
所定の関係を満たす第2の認証データとを作成し、この
第2のデータを利用者に配付する第2のステップと、第
1のデータをソフトウエアに付加した後、第1のキーを
用いて暗号化し、この暗号化されたソフトウエアを利用
者に配布する第3のステップと、第1および第2の認証
データを実行権データに付加した後、第2のキーを用い
て暗号化し、この暗号化された実行権データを利用者に
配付する第4のステップと、第2のキーを用いて暗号化
された第2のキーおよび暗号化された実行権データを復
号し、復号された実行権データに付加された第2の認証
データと、第2のデータとが所定の関係を満たすとき、
暗号化されたソフトウエアを第1のキーを用いて復号
し、復号されたソフトウエアに付加されている第1のデ
ータと、復号された実行権データに付加されている第1
の認証データとが所定の関係を満たすとき、復号された
ソフトウエアを復号された実行権データに従って実行す
る第5のステップとを備えている。
【0033】上記のように、第14および第15の発明
では、ソフトウエアは、各ソフトウエアに固有な第1の
キーで暗号化されるため、すなわち各利用者に依存しな
い形で暗号化されるため、CD−ROM等を利用した大
量販売に適する。また、第14および第15の発明で
は、第1のキーは、第2のキーを用いて暗号化されるた
め、配付時に第1のキーの秘密性を保つ必要がない。ま
た、第14および第15の発明では、復号された実行権
データに付加された第2の認証データと、第2のデータ
とが所定の関係を満たすかどうかを判定することで、暗
号化された実行権データに対する改変を、安価な構成で
検出できる。また、復号されたソフトウエアに付加され
ている第1のデータと、復号された実行権データに付加
されている第1の認証データとが所定の関係を満たすか
どうかを判定することで、暗号化されたソフトウエアに
対する改変を、安価な構成で検出できる。さらに、第1
のデータと第1の認証データとが所定の関係を満たす場
合のみ、復号されたソフトウエアを復号された実行権デ
ータに従って実行するようにしているため、改変された
ソフトウエアの利用を禁止することができる。
【0034】第16の発明は、実行権データを有する利
用者だけが利用可能となるように、流通するソフトウエ
アの利用を制限するための方法であって、ソフトウエア
は、1つのメインソフトウエア部と、当該メインソフト
ウエア部によって利用されるn個(nは1以上の整数)
のサブソフトウエア部とを含み、各ソフトウエアに共通
で秘密の第1のキーと、各利用者に固有で秘密の第2の
キーとを作成し、これら第1および第2のキーを利用者
に配布する第1のステップと、各ソフトウエアに固有な
第1のデータと、この第1のデータと所定の関係を満た
す第1の認証データと、各サブソフトウエア部に固有な
n個の第2のデータと、このn個の第2のデータとそれ
ぞれ所定の関係を満たすn個の第2の認証データとを作
成する第2のステップと、第1のデータをメインソフト
ウエア部に付加した後、第1のキーを用いて暗号化し、
第2のデータをサブソフトウエア部にそれぞれ付加した
後、第1のキーを用いてそれぞれ暗号化し、暗号化され
たメインソフトウエア部と暗号化された各サブソフトウ
エア部とを、暗号化されたソフトウエアとして利用者に
配付する第3のステップと、第1の認証データおよびn
個の第2の認証データを実行権データに付加した後、第
2のキーを用いて暗号化し、この暗号化された実行権デ
ータを利用者に配付する第4のステップと、暗号化され
たソフトウエアの暗号化されたメインソフトウエア部を
第1のキーを用いて復号すると共に、暗号化された実行
権データを第2のキーを用いて復号し、復号されたメイ
ンソフトウエア部に付加されている第1のデータと、復
号された実行権データに付加されている第1の認証デー
タとが所定の関係を満たすとき、復号されたメインソフ
トウエア部を復号された実行権データに従って実行し、
この復号されたメインソフトウエア部から暗号化された
各サブソフトウエア部の利用が要求されたとき、暗号化
された各サブソフトウエア部を第1のキーを用いてそれ
ぞれ復号し、復号された各サブソフトウエア部に付加さ
れている第2のデータと、復号された実行権データに付
加されている第2の認証データとが所定の関係を満たす
とき、復号されたサブソフトウエア部を復号された実行
権データに従って実行する第5のステップとを備えてい
る。
【0035】上記のように、第16の発明では、ソフト
ウエアは、各ソフトウエアに共通な第1のキーで暗号化
されるため、すなわち各利用者に依存しない形で暗号化
されるため、CD−ROM等を利用した大量販売に適す
る。また、第16の発明では、復号されたメインソフト
ウエア部に付加されている第1のデータと、復号された
実行権データに付加された第1の認証データとが所定の
関係を満たすかどうかを判定することで、暗号化された
メインソフトウエア部に対する改変を、安価な構成で検
出できる。また、復号された各サブソフトウエア部に付
加されている第2のデータと、復号された実行権データ
に付加されている第2の認証データとが所定の関係を満
たすかどうかを判定することで、暗号化されたサブソフ
トウエア部に対する改変を、各サブソフトウエア部毎に
検出できる。さらに、第2のデータと第2の認証データ
とが所定の関係を満たす場合のみ、復号されたサブソフ
トウエア部を復号された実行権データに従って実行する
ようにしているため、改変されたサブソフトウエア部の
利用を禁止することができる。
【0036】
【発明の実施の形態】以下の実施例の説明では、暗号化
されたソフトウエアの利用を制御するための実行権デー
タをチケットと称し、このチケットを暗号化するための
キーをチケットキーと称している。また、ソフトウエア
の暗号化に利用するキーをソフトキーと称している。
【0037】(1)第1の実施例 図1は、本発明の第1の実施例に係るソフトウエア利用
制御方法を実現するためのシステム構成を示すブロック
図である。図1において、ソフト提供者側の処理装置X
1は、キー作成部1と、認証データ作成部2と、チケッ
ト暗号化部3と、ソフト暗号化部4とを備えている。一
方、ソフト利用者側の実行装置Y1は、暗号化ソフト利
用制御部5を備えている。この暗号化ソフト利用制御部
5は、ソフト提供者から提供される復号認証ソフトを実
行することによって実現される、チケット復号部6と、
ソフト復号部7と、データ認証部8と、ソフト実行部9
とを含む。
【0038】ソフト提供者からソフト利用者への情報
(ソフトウエア,チケット,チケットキー等)の提供
は、第1および第2記憶媒体81および82を用いて行
われる。第1記憶媒体81は、読出可能領域83と、書
き換え禁止領域86とを含む。第2記憶媒体82は、読
出可能領域85と、不正読出不可領域84とを含む。
【0039】上記第1記憶媒体81としては、例えばC
D−ROMなどが利用できる。また、上記第2記憶媒体
82としては、例えばICカード(スマートカード)な
どが利用できる。
【0040】なお、ソフト提供者側の処理装置X1とし
ては、上記各記憶媒体81および82への書き込みが可
能な機器が接続されたパーソナルコンピュータやワーク
ステーションなどを利用することができる。また、ソフ
ト利用者側の実行装置Y1としては、上記各記憶媒体8
1および82からの読み出しが可能な機器が接続された
パーソナルコンピュータ,ワークステーション,家庭用
ゲーム機器または個人用情報端末などを利用することが
できる。
【0041】次に、図1に示す実施例の動作手順を説明
する。ソフト提供者は、後述するステップS101〜S
106の手順で、暗号化ソフトなどが記録された第1記
憶媒体81と、この暗号化ソフトを利用するためのチケ
ット(実行権データ)などが記録された第2記憶媒体8
2とを作成し、利用者に提供する。
【0042】一方、ソフト利用者は、第1および第2記
憶媒体81および82を購入し、後述するステップS2
01〜S206の手順で暗号化ソフトを実行する。
【0043】図2は、ソフト提供者側で行われる処理の
手順を示すフローチャートである。また、図4は、認証
用データ(D1)が付加されたソフトウエアおよび認証
用データ(D1’)が付加されたチケットのデータ構造
を示している。以下、これら図2および図4を参照し
て、ソフト提供者側で行われる処理について説明する。
【0044】まず、ソフト提供者側では、利用されるべ
きソフトウエアと、このソフトウエアの利用を制御する
ためのデータであるチケット(実行権データ)とが作成
される(ステップS101)。ここで、チケットには、
ソフトウエアの識別番号,ソフトウエアの実行条件デー
タなどが含まれている。この実行条件データには、実行
許可を示すデータの他に、実行可能回数や実行可能期間
を含めるようにしてもよい。実行条件データに実行可能
回数や実行可能期間を含めた場合、ソフト実行部9に
は、現在のソフト実行状況データ(現在時刻や現在のソ
フトウエアの実行回数など)を記憶する機能と、当該実
行状況データおよび実行権データを検査する機能とが追
加される。
【0045】次に、キー作成部1は、各ソフトウエアに
共通で秘密のソフトキーと、各利用者に固有で秘密のチ
ケットキーとを作成し、第2記憶媒体82の不正読出不
可領域84に記録する(ステップS102)。ここで、
ソフトキーおよびチケットキーは、利用する暗号方式や
要求する安全性によって定まるサイズ(桁数)の数値で
あり、具体的には例えば64ビット程度の数値とする。
【0046】次に、認証データ作成部2は、各ソフトウ
エアに固有な認証用データ(D1)および(D1’)を
作成する(ステップS103)。ここで、認証用データ
(D1)および(D1’)は、具体的には例えば64ビ
ット程度の数値とする。また、認証用データ(D1)お
よび(D1’)は、ある関係式Fに関して、 (D1’)=F(D1) の条件を満たすものとする。なお、関係式Fの最も簡単
な例として、Fを等式とする、すなわち (D1’)=(D1) とすることもできる。
【0047】次に、ソフト暗号化部4は、ソフトウエア
に認証用データ(D1)を付加した結果を、ソフトキー
を用いて暗号化し、第1記憶媒体81の読出可能領域8
3に記録する(ステップS104)。次に、チケット暗
号化部3は、チケットに認証用データ(D1’)を付加
した結果を、チケットキーを用いて暗号化し、第2記憶
媒体82の読出可能領域85に記録する(ステップS1
05)。
【0048】次に、復号認証ソフトが作成され、第1記
憶媒体81の書き換え禁止領域86に記録される(ステ
ップS106)。この復号認証ソフトには、暗号化ソフ
ト利用制御部5がそれを実行することによって、暗号化
ソフトを復号するソフト復号部7と、暗号化チケットを
復号するチケット復号部6と、復号されたソフトウエア
と復号されたチケットにそれぞれ付加された認証用デー
タ(D1)および(D1’)が所定の関係(D1’=F
(D1))を満たすかどうかを検査するデータ認証部8
と、検査が満たされた時に復号されたソフトウエアを実
行するソフト実行部9との機能を果たすためのプログラ
ムが組み込まれている。
【0049】図3は、ソフト利用者側で行われる処理の
手順を示すフローチャートである。以下、この図3を参
照して、ソフト利用者側で行われる処理について説明す
る。
【0050】ソフト利用者は、暗号化ソフトなどが記録
された第1記憶媒体81と、暗号化チケットなどが記録
された第2記憶媒体2とをソフト提供者から購入し、こ
れら記憶媒体に記録されたデータを暗号化ソフト利用制
御部5に入力する(ステップS201)。
【0051】次に、暗号化ソフト利用制御部5は、購入
した第1記憶媒体81に記録されている復号認証ソフト
を実行する(ステップS202)。これによって、チケ
ット復号部6,ソフト復号部7,データ認証部8および
ソフト実行部9が起動する。
【0052】次に、ソフト復号部7は、ソフトキーを用
いて暗号化ソフトを復号する(ステップS203)。次
に、チケット復号部6は、チケットキーを用いて暗号化
チケットを復号する(ステップS204)。
【0053】次に、データ認証部8は、復号されたソフ
トウエアに付加された認証用データ(D1)と、復号さ
れたチケットに付加された認証用データ(D1’)と
が、所定の関係、すなわち (D1’)=F(D1) という関係を満たすかどうかを検査する(ステップS2
05)。認証用データの検査の結果、上記関係が満たさ
れる場合、ソフト実行部9は、復号されたソフトウエア
を実行する(ステップS206)。
【0054】以上説明した第1の実施例によれば、流通
しているソフトウエアのチケットを有する利用者に対し
てのみ、そのソフトウエアの利用を可能とし、同時にソ
フトウエアやチケットに予め定められたデータを付加し
た後に暗号化することにより、復号時に付加されたデー
タが現れるか否かで、暗号化されたソフトウエアやチケ
ットの改変を検出することができる。
【0055】なお、暗号化すべきデータに冗長性を付加
した後に暗号化し、復号時にその冗長性が現れるかどう
かを検査する方法は、冗長暗号化法と呼ばれている(共
立出版、岡本栄司著「暗号理論入門」P131参照)。
そして、この冗長暗号化方法を実現するためには、誤り
伝搬特性を有する暗号方式が必要である。ここで、誤り
伝搬特性とは、暗号化されたデータの任意の1ビットの
変更が、復号されたデータの各ビットに影響を及ぼす特
性をいう。このような誤り伝搬特性を有する暗号方式と
しては、例えば上述の共立出版、岡本栄司著「暗号理論
入門」のP132の例7.2の方法や、自然社、細貝ら
訳の「暗号」に記載の平文および暗号文フィードバック
を用いたブロック連鎖方法(P71)などが利用でき
る。
【0056】上記のような構成により、改変検出のため
に冗長性を付加するだけで良く、ディジタル署名部を新
たに付加する場合に比べて、必要とする計算量は少なく
てすむ。
【0057】上記のように、第1の実施例では、ソフト
ウエアおよびそれに対応するチケットに互いに関連付け
られたデータを含めてそれぞれ暗号化し、それぞれの復
号結果に関連付けられたデータが正しく現れるかどうか
を検査することで、暗号化ソフトおよび暗号化チケット
の改変の有無を一括して検出する構成をとる。この構成
により、利用者にあらかじめ認証のためのデータを知ら
せておく必要がなく、また暗号化されたソフトウエアお
よびチケットの改変の有無を一括して検査できるという
新たな効果が生まれる。
【0058】また、上記第1の実施例では、ソフト提供
者がステップS101〜S106を実行するとして説明
したが、ソフト提供者の処理を、ソフト作成者、サービ
ス提供者、ソフト販売者の処理に分けて実行することも
可能である。一例として、以下のような構成が可能であ
る。
【0059】まず、ソフト作成者は、上記ステップS1
01に従って、ソフトウエアと、このソフトウエア用の
実行権データとを作成する。このとき、実行権データ
に、ソフトウエアの暗号化を制御する制御情報(例え
ば、ソフトウエアのどの部分を暗号化するかなど)を含
めておく。一方、サービス提供者は、上記ステップS1
02〜S104を実行し、ソフトキーおよびチケットキ
ーを作成し、記憶媒体2への記録する。また、認証用デ
ータを作成し、それをソフトウエアに付加した結果を暗
号化し、この暗号化ソフトを記憶媒体1へ記録する。そ
して、この記憶媒体1および記憶媒体2および認証用デ
ータ(D1’)を、ソフト販売者に渡す。次に、ソフト
販売者は、上記ステップS105に従って、チケットを
暗号化し、暗号化チケットを記憶媒体2に記録し、上記
記憶媒体1および記憶媒体2をソフト利用者に販売す
る。
【0060】なお、上述のサービス提供者の処理するス
テップS102〜S104(または、この一部)をソフ
ト作成者が処理する構成も可能である。
【0061】また、上記第1の実施例では、暗号化され
たソフトウエア、暗号化されたチケットを、読出可能領
域を有する記憶媒体に記憶して配布する場合について説
明したが、別途パソコン通信などの各種通信媒体を利用
して配布するようにしてもよい。
【0062】(第2の実施例)ところで、上記第1の実
施例に係るソフトウエア保護方法では、多数の機能を有
するソフトウエアや、多数のデータを利用するソフトウ
エアにおいて、各機能や各データ毎にそれらの改変を検
出し、それらの利用を制御することはできない。このよ
うな問題は、以下のようにすれば解決できる。
【0063】以下では、ソフトウエアが、図5に示すよ
うに、1つのメインソフトウエア部(main)と、そ
のメインソフトウエア部から利用される複数のサブソフ
トウエア部(sub1,sub2,…,subn)とで
構成される場合を考える。例えば、基本機能と複数の拡
張機能とから構成されるソフトウエアにおいては、基本
機能はメインソフトウエア部に、各拡張機能はそれぞれ
サブソソフトウエア部に対応する。また、複数のデータ
(動画、音声など)を再生するソフトウエアでは、再生
機能がメインソフトウエア部に、各データがそれぞれ各
サブソフトウエア部に対応する。
【0064】図3は、本発明の第2の実施例に係るソフ
トウエア利用制御方法を実現するためのシステム構成を
示すブロック図である。図3において、ソフト提供者側
の処理装置X2は、キー作成部101と、認証データ作
成部102と、チケット暗号化部103と、メインソフ
ト暗号化部110と、サブソフト暗号化部111とを備
えている。一方、ソフト利用者側の実行装置Y2は、暗
号化ソフト利用制御部50を備えている。この暗号化ソ
フト利用制御部50は、ソフト提供者から提供される復
号認証ソフトを実行することによって実現される、チケ
ット復号部106と、メインソフト復号部112と、サ
ブソフト復号部113と、データ認証部108aおよび
108bと、ソフト実行部109aおよび109bとを
含む。
【0065】ソフト提供者からソフト利用者への情報
(ソフトウエア,チケット,チケットキー等)の提供
は、第1および第2記憶媒体81および82を用いて行
われる。第1記憶媒体81は、読出可能領域83と、書
き換え禁止領域86とを含む。第2記憶媒体82は、読
出可能領域85と、不正読出不可領域84とを含む。
【0066】上記第1記憶媒体81としては、例えばC
D−ROMなどが利用できる。また、上記第2記憶媒体
82としては、例えばICカード(スマートカード)な
どが利用できる。
【0067】なお、ソフト提供者側の処理装置X2とし
ては、上記各記憶媒体81および82への書き込みが可
能な機器が接続されたパーソナルコンピュータやワーク
ステーションなどを利用することができる。また、ソフ
ト利用者側の実行装置Y2としては、上記各記憶媒体8
1および82からの読み出しが可能な機器が接続された
パーソナルコンピュータ,ワークステーション,家庭用
ゲーム機器または個人用情報端末などを利用することが
できる。
【0068】次に、図6に示す実施例の動作手順を説明
する。ソフト提供者は、後述するステップS301〜S
306の手順で、暗号化ソフトなどが記録された第1記
憶媒体81と、この暗号化ソフトを利用するためのチケ
ット(実行権データ)などが記録された第2記憶媒体8
2とを作成し、利用者に提供する。
【0069】一方、ソフト利用者は、第1および第2記
憶媒体81および82を購入し、後述するステップS4
01〜S409の手順で暗号化ソフトを実行する。
【0070】図7は、ソフト提供者側で行われる処理の
手順を示すフローチャートである。また、図9は、認証
用データ(D1)(D2i’)(i=1,2,...,
n)が付加されたメインソフトウエア、(D2i)が付
加されたサブソフトウエアおよび認証用データ(D
1’)が付加されたチケットのデータ構造を示してい
る。以下、これら図7および図9を参照して、ソフト提
供者側で行われる処理について説明する。
【0071】なお、ここでは図7に示すように、メイン
ソフトウエア部(main)と、n個のサブソフトウエ
ア部(subi)(i=1,2,...,n)とからな
るソフトウエアの場合について説明する。
【0072】まず、ソフト提供者側では、利用されるべ
きソフトウエアと、このソフトウエアの利用を制御する
ためのデータであるチケット(実行権データ)とが作成
される(ステップS301)。ここで、チケットには、
ソフトウエアの識別番号,ソフトウエアの実行条件デー
タなどが含まれている。この実行条件データには、実行
許可を示すデータの他に、実行可能回数や実行可能期間
を含めるようにしてもよい。実行条件データに実行可能
回数や実行可能期間を含めた場合、ソフト実行部109
aおよび109bには、現在のソフト実行状況データ
(現在時刻や現在のソフトウエアの実行回数など)を記
憶する機能と、当該実行状況データおよび実行権データ
を検査する機能とが追加される。
【0073】次に、キー作成部101は、各ソフトウエ
アに共通で秘密のソフトキーと、各利用者に固有で秘密
のチケットキーとを作成し、第2記憶媒体82の不正読
出不可領域84に記録する(ステップS302)。ここ
で、ソフトキーおよびチケットキーは、利用する暗号方
式や要求する安全性によって定まるサイズ(桁数)の数
値であり、具体的には例えば64ビット程度の数値とす
る。
【0074】次に、認証データ作成部102は、各ソフ
トウエアに固有な認証用データ(D1)および(D
1’)、また各サブソフトウエア部に固有なn個の認証
用データ(D2i)および(D2i’)(i=1,2,
…,n)を作成する(ステップS303)。ここで、認
証用データ(D1)(D1’)(D2i)(D2i’)
は、具体的には例えば64ビット程度の数値とする。ま
た、認証用データ(D1)および(D1’)と、(D2
i)および(D2i’)とは、ある関係式Fに関して、 (D1’) =F(D1) (D2i’)=F(D2i)(i=1,2,…,n) の条件を満たすものとする。なお、関係式Fの最も簡単
な例として、Fを等式とする、すなわち (D1’) =(D1) (D2i’)=(D2i) とすることもできる。
【0075】次に、メインソフト暗号化部110は、メ
インソフトウエア部(main)に認証用データ(D
1)および認証用データ(D21’,D22’,…,D
2n’)を付加した結果ソフトキーを用いて暗号化し、
またサブソフト暗号化部111は、各サブソフト部(s
ubi)にそれぞれ認証用データ(D2i)を付加した
結果をソフトキーを用いて暗号化し、この暗号化された
メインソフトウエア部および各暗号化されたサブソフト
ウエア部をまとめて暗号化ソフトとして、第1記憶媒体
81の読出可能領域83に記録する(ステップS30
4)。次に、チケット暗号化部103は、チケットに認
証用データ(D1’)を付加した結果を、チケットキー
を用いて暗号化し、第2記憶媒体82の読出可能領域8
5に記録する(ステップS305)。
【0076】次に、復号認証ソフトが作成され、第1記
憶媒体81の書き換え禁止領域86に記録される(ステ
ップS306)。この復号認証ソフトには、暗号化ソフ
ト利用制御部5がそれを実行することによって所定の機
能、すなわち暗号化メインソフトを復号するメインソフ
ト復号部112と、暗号化サブソフトを復号するサブソ
フト復号部113と、暗号化チケットを復号するチケッ
ト復号部106と、復号されたメインソフトウエアと復
号されたチケットにそれぞれ付加された認証用データ
(D1)および(D1’)が所定の関係(D1’=F
(D1))を満たすかどうかを検査するデータ認証部1
08aと、復号されたメインソフトウエアと復号された
サブソフトウエアにそれぞれ付加された認証用データ
(D2i)および(D2i’)が所定の関係(D2i’
=F(D2i))を満たすかどうかを検査するデータ認
証部108bと、それぞれの検査が満たされた時に復号
されたソフトウエアを実行するソフト実行部109aお
よび109bとの機能を果たすためのプログラムが組み
込まれている。
【0077】図8は、ソフト利用者側で行われる処理の
手順を示すフローチャートである。以下、この図8を参
照して、ソフト利用者側で行われる処理について説明す
る。
【0078】ソフト利用者は、暗号化ソフトなどが記録
された第1記憶媒体81と、暗号化チケットなどが記録
された第2記憶媒体2とをソフト提供者から購入し、こ
れら記憶媒体に記録されたデータを暗号化ソフト利用制
御部50に入力する(ステップS401)。
【0079】次に、暗号化ソフト利用制御部50は、購
入した第1記憶媒体81に記録されている復号認証ソフ
トを実行する(ステップS402)。これによって、チ
ケット復号部106,メインソフト復号部112,サブ
ソフト復号部113,データ認証部108aおよび10
8b,ソフト実行部109aおよび109bが起動す
る。
【0080】次に、メインソフト復号部112において
暗号化メインソフトがソフトキーを用いて復号され(ス
テップS403)、チケット復号部106において暗号
化チケットがチケットキーを用いて復号される(ステッ
プS404)。次に、データ認証部108aは、復号さ
れたメインソフトウエア部に付加された認証用データ
(D1)と、復号されたチケットに付加された認証用デ
ータ(D1’)が、 (D1’)=F(D1) という関係を満たすかどうかを検査する(ステップS4
05)。この検査が満たされた時、ソフト実行部109
aは、復号されたメインソフト部を実行する(ステップ
S406)。
【0081】次に、メインソフトウエア部(main)
から、各サブソフト部の実行が要求されると、サブソフ
ト復号部113は、各暗号化されたサブソフト部をソフ
トキーを用いて復号する(ステップS407)。次に、
データ認証部109bは、復号されたサブソフトウエア
部(subi)に付加された認証用データ(D2)と、
復号されたメインソフトウエア部に付加された認証用デ
ータ(D2’)とが、 (D2’)=F(D2) という関係を満たすかどうかを検査する(ステップS4
08)。この検査が満たされた時、ソフト実行部109
bは、復号された各サブソフト部(subi)を実行す
る(ステップS409)。
【0082】以上説明した第2の実施例によれば、暗号
化された各サブソフトの改変の検出および実行の制御が
行える。すなわち、第2の実施例は、第1の実施例と同
様に、ソフトウエアに冗長性を付加するだけで改変の検
出が行え、ディジタル署名機構を新たに付加する従来例
に比べて、必要とする計算量が少なくてすむ。
【0083】また、上記第2の実施例では、ソフト提供
者がステップS301〜S306を実行するとして説明
したが、第1の実施例の場合と同様に、ソフト提供者の
処理を、ソフト作成者、サービス提供者、ソフト販売者
の処理に分けて実行することも可能である。
【0084】また、上記第2の実施例では、暗号化され
たソフトウエア、暗号化されたチケット、復号認証ソフ
トを、読出可能記憶領域を有する記憶媒体に記憶して配
布する場合について説明したが、別途パソコン通信など
の各種通信媒体を利用して配布するようにしてもよい。
【0085】また、上記第2の実施例によれば、複数の
ソフトウエアから共通に利用されるサブソフトウエア部
の共用化が可能である。このことを図9に示す具体例を
参照して説明する。図9に示すように、ソフトウエア
A、B、Cは、それぞれメインソフト部(mainA,
mainB,mainC)と、複数のサブソフトウエア
部とで構成される。なお、ソフトウエアAは、サブソフ
トウエア(sub1,sub2,sub3)を含み、ソ
フトウエアBは、サブソフトウエア(sub2,sub
3,sub4)を含み、ソフトウエアCは、サブソフト
ウエア(sub1,sub4)を含む。このように、各
サブソフトウエア部(sub1,sub2,sub3,
sub4)は、それぞれ複数のソフトウエアから利用さ
れる。このような場合に、第2の実施例では、ソフトウ
エアのメインソフトウエア部とサブソフトウエア部を個
別に暗号化する構成のため、各ソフトウエア毎にそれぞ
れ利用するサブソフトウエア部を重複して保持させる必
要がない。従って、図11に示すように、共通のサブソ
フトウエア部を共有化することが可能となり、これによ
りこれらのソフトウエアを同一の記憶媒体に記録する場
合、記録容量が削減できる。
【0086】(第3の実施例)以上説明した第1および
第2の実施例では、各ソフトウエアに固有の認証用デー
タを付加する一方、各ソフトウエアに共通なソフトキー
と各利用者に固有なチケットキーを用いてソフトウエア
およびチケットを暗号化する構成により、各ソフトウエ
アに対する、また各利用者毎に有効なチケットの配布を
可能としたが、各ソフトウエアに共通なソフトキーと、
各利用者に共通なチケットキーを用いてソフトウエアお
よびチケットをそれぞれ暗号化する構成においても、以
下に述べる構成により各ソフトウエアに対する、また各
利用者毎に有効なチケットの配布を可能とすることがで
きる。
【0087】図12は、本発明の第2の実施例に係るソ
フトウエア利用制御方法を実現するためのシステム構成
を示すブロック図である。図12において、ソフト提供
者側の処理装置X3は、キー作成部201と、認証デー
タ作成部2022と、チケット暗号化部203と、ソフ
ト暗号化部204とを備えている。一方、ソフト利用者
側の実行装置Y3は、暗号化ソフト利用制御部500を
備えている。この暗号化ソフト利用制御部500は、ソ
フト提供者から提供される復号認証ソフトを実行するこ
とによって実現される、チケット復号部206と、ソフ
ト復号部207と、データ認証部208aおよび208
bと、ソフト実行部209とを含む。
【0088】ソフト提供者からソフト利用者への情報
(ソフトウエア,チケット,チケットキー等)の提供
は、第1および第2記憶媒体81および82を用いて行
われる。第1記憶媒体81は、読出可能領域83と、書
き換え禁止領域86とを含む。第2記憶媒体82は、読
出可能領域85と、不正読出不可領域84とを含む。
【0089】上記第1記憶媒体81としては、例えばC
D−ROMなどが利用できる。また、上記第2記憶媒体
82としては、例えばICカード(スマートカード)な
どが利用できる。
【0090】なお、ソフト提供者側の処理装置X3とし
ては、上記各記憶媒体81および82への書き込みが可
能な機器が接続されたパーソナルコンピュータやワーク
ステーションなどを利用することができる。また、ソフ
ト利用者側の実行装置Y3としては、上記各記憶媒体8
1および82からの読み出しが可能な機器が接続された
パーソナルコンピュータ,ワークステーション,家庭用
ゲーム機器または個人用情報端末などを利用することが
できる。
【0091】次に、図12に示す第3の実施例の動作手
順を説明する。ソフト提供者は、後述するステップS5
01〜S506の手順で、暗号化ソフトなどが記録され
た第1記憶媒体81と、この暗号化ソフトを利用するた
めのチケット(実行権データ)などが記録された第2記
憶媒体82とを作成し、利用者に提供する。
【0092】一方、ソフト利用者は、第1および第2記
憶媒体81および82を購入し、後述するステップS6
01〜S607の手順で暗号化ソフトを実行する。
【0093】図13は、ソフト提供者側で行われる処理
の手順を示すフローチャートである。また、図15は、
認証用データ(D1)が付加されたソフトウエアおよび
認証用データ(D1’),(D3’)が付加されたチケ
ットのデータ構造を示している。以下、これら図13お
よび図15を参照して、ソフト提供者側で行われる処理
について説明する。
【0094】まず、ソフト提供者側では、利用されるべ
きソフトウエアと、このソフトウエアの利用を制御する
ためのデータであるチケット(実行権データ)とが作成
される(ステップS501)。ここで、チケットには、
ソフトウエアの識別番号,ソフトウエアの実行条件デー
タなどが含まれている。この実行条件データには、実行
許可を示すデータの他に、実行可能回数や実行可能期間
を含めるようにしてもよい。実行条件データに実行可能
回数や実行可能期間を含めた場合、ソフト実行部209
には、現在のソフト実行状況データ(現在時刻や現在の
ソフトウエアの実行回数など)を記憶する機能と、当該
実行状況データおよび実行権データを検査する機能とが
追加される。
【0095】次に、キー作成部201は、各ソフトウエ
アに共通で秘密のソフトキーと、各利用者に共通なチケ
ットキーとを作成し、第2記憶媒体82の不正読出不可
領域84に記録する(ステップS502)。ここで、ソ
フトキーおよびチケットキーは、利用する暗号方式や要
求する安全性によって定まるサイズ(桁数)の数値であ
り、具体的には例えば64ビット程度の数値とする。
【0096】次に、認証データ作成部202は、各ソフ
トウエアに固有な認証用データ(D1)および(D
1’)と、各利用者に固有なデータ(D3)および(D
3’)とを作成する(ステップS503)。ここで、各
データ(D1)(D1’)(D3)(D3’)は、具体
的には例えば64ビット程度の数値とする。また、認証
用データ(D1)および(D1’)と、(D3)および
(D3’)とは、ある関係式Fに関して、 (D1’)=F(D1) (D3’)=F(D3) の条件を満たすものとする。なお、関係式Fの最も簡単
な例として、Fを等式とする、すなわち (D1’)=(D1) (D3’)=(D3) とすることもできる。なお、認証用データ(D3)は、
第2記憶媒体82の不正読出不可領域84に記録され
る。
【0097】次に、ソフト暗号化部204は、ソフトウ
エアに認証用データ(D1)を付加した結果を、ソフト
キーを用いて暗号化し、第1記憶媒体81の読出可能領
域83に記録する(ステップS504)。次に、チケッ
ト暗号化部203は、チケットに認証用データ(D
1’)および(D3’)を付加した結果を、チケットキ
ーを用いて暗号化し、第2記憶媒体82の読出可能領域
85に記録する(ステップS505)。
【0098】次に、復号認証ソフトが作成され、第1記
憶媒体81の書き換え禁止領域86に記録される(ステ
ップS506)。この復号認証ソフトには、暗号化ソフ
ト利用制御部205がそれを実行することによって、暗
号化ソフトを復号するソフト復号部207と、暗号化チ
ケットを復号するチケット復号部206と、復号された
チケットに付加された認証用データ(D3’)と第2記
憶媒体82に記録された認証用データ(D3)とが所定
の関係(D3’)=F(D3)を満たかどうかを検査す
るデータ認証機構208aと、復号されたソフトウエア
に付加された認証用データ(D1)と復号されたチケッ
トに付加された認証用データ(D1’)とが所定の関係
(D1’)=F(D1)を満たすかどうかを検査するデ
ータ認証機構208bと、両データ認証機構208a2
08bの検査が満たされた時に復号されたソフトウエア
を実行するソフト実行部209との機能を果たすための
プログラムが組み込まれている。
【0099】図14は、ソフト利用者側で行われる処理
の手順を示すフローチャートである。以下、この図14
を参照して、ソフト利用者側で行われる処理について説
明する。
【0100】ソフト利用者は、暗号化ソフトなどが記録
された第1記憶媒体81と、暗号化チケットなどが記録
された第2記憶媒体2とをソフト提供者から購入し、こ
れら記憶媒体に記録されたデータを暗号化ソフト利用制
御部500に入力する(ステップS601)。
【0101】次に、暗号化ソフト利用制御部500は、
購入した第1記憶媒体81に記録されている復号認証ソ
フトを実行する(ステップS602)。これによって、
チケット復号部206,ソフト復号部207,データ認
証部208aおよび208b,ソフト実行部209が起
動する。
【0102】次に、チケット復号部206は、チケット
キーを用いて暗号化チケットを復号する(ステップS6
03)。そして、データ認証部208bは、復号された
チケットに付加された認証用データ(D3’)と、第2
記憶媒体82に記録された認証用データ(D3)とが、
所定の関係、すなわち (D3’)=F(D3) を満たすかどうかを検査する(ステップS604)。認
証用データの検査の結果、上記関係が満たされる場合、
ソフト復号部7は、ソフトキーを用いて暗号化ソフトを
復号する(ステップS605)。
【0103】次に、データ認証部208aは、復号され
たソフトウエアに付加された認証用データ(D1)と、
復号されたチケットに付加された認証用データ(D
1’)とが、所定の関係、すなわち (D1’)=F(D1) を満たすかどうかを検査する(ステップS606)。認
証用データの検査の結果、上記関係が満たされる場合、
ソフト実行部209は、復号されたソフトウエアを実行
する(ステップS607)。
【0104】以上説明した第3の実施例によれば、流通
されるソフトウエアの実行権(チケット)を有する利用
者だけに、そのソフトウエアの利用を可能とし、同時に
ソフトウエアに対する改ざんの検出が可能となる。すな
わち、この構成により、第1の実施例と同様に、ソフト
ウエアに冗長性を付加するだけで改変の検出が行え、デ
ィジタル署名機構を新たに付加する従来例に比べて、必
要とする計算量が少なくてすむ。
【0105】また、上記第3の実施例では、ソフト提供
者がステップS501〜S506を実行するとして説明
したが、第1の実施例の場合と同様に、ソフト提供者の
処理を、ソフト作成者、サービス提供者、ソフト販売者
の処理に分けて実行することも可能である。
【0106】また、上記第3の実施例では、暗号化され
たソフトウエア、暗号化されたチケット、復号認証ソフ
トを、読出可能記憶領域を有する記憶媒体に記憶して配
布する場合について説明したが、別途パソコン通信など
の各種通信媒体を利用して配布するようにしてもよい。
【0107】なお、各ソフトウエアに固有なソフトキー
と、各利用者に共通なチケットキーとを用いて、ソフト
ウエアおよびチケットをそれぞれ暗号化し、認証用デー
タ(D1)を各ソフトに固有または共通とし、認証用デ
ータ(D3)を各利用者に固有とするようにしても、上
記第3の実施例とほぼ同様の効果を得ることができる。
ただし、この構成では、ソフトキーが各ソフトウエアに
固有であるため、例えばN個のソフトウエアを利用する
場合、N個のソフトキーを第2記憶媒体82の不正読出
不可領域84に記録して秘密に管理する必要がある。
【0108】しかしながら、上記の構成では、多数のソ
フトウエアを利用する場合に、秘密にキーを管理する負
担が大きいことが問題となる。このような問題は、次の
構成により解決することができる。すなわち、例えば第
3の実施例において、第2記憶媒体82の不正読出不可
領域84にチケットキーのみを記録し、ソフトキーはチ
ケットキーを用いて暗号化し、この暗号化されたソフト
キーを第2記憶媒体82の読出可能領域85に記録して
配布し、ソフト利用時に、暗号化されたソフトキーをチ
ケットキーを用いて復号し、復号されたソフトキーで暗
号化されたソフトウエアを復号する。このような構成に
より、ソフトキーを秘密に管理する必要がなくなる。
【0109】また、第2の実施例では、各サブソフト
(subi)に付加する認証用データ(D2i)と所定
の関係を満たす認証用データ(D2i’)を、メインソ
フトウエア(main)に付加したが、この認証用デー
タ(D2i’)をチケット(実行権データ)に付加する
ようにしてもよい。
【0110】また、第1〜第3の実施例では、チケット
キーおよびソフトキーを、第2記憶媒体82の不正読出
不可領域84に記録する構成をとったが、チケットキー
およびソフトキーを利用者が記憶するパスワードによっ
て定まるキーで暗号化し、暗号化されたチケットキーお
よびソフトキーを、第2記憶媒体82の読出可能領域8
5に記録して配布するようにしてもよい。ここで、パス
ワードとしては、例えば4桁程度数字や8文字程度の英
数字が利用できる。このような構成により、チケットキ
ーやソフトキーを秘密に管理する必要がなくなる。
【0111】また、第1〜第3の実施例では、第1記憶
媒体81に暗号化されたソフトウエアと復号認証ソフト
を、第2記憶媒体82に暗号化されたチケットとソフト
キーおよびチケットキーをぞれぞれ記録するようにした
が、この構成は普遍的なものではなく、ソフトキーおよ
びチケットキーを不正読出不可領域に記録し、暗号化さ
れたソフトウエア、暗号化されたチケット、および復号
認証機構を読出可能領域に記録するという条件を満たせ
ば、それらをどのような組み合わせで記憶媒体に記録す
るようにしても構わない。例えば、読出可能領域85を
有する第1記憶媒体81と、不正読出不可領域を有する
第2記憶媒体82とを準備し、第1記憶媒体81に、暗
号化されたソフトウエアと復号認証機構と暗号化された
チケットとを記録し、第2記憶媒体82にソフトキーと
チケットキーとを記録して配布してもよい。
【0112】また、第1〜第3の実施例では、各キーを
不正読出不可領域を有する記憶媒体に記録して配布した
が、不正読出不可領域を設けた暗号化ソフト実行装置を
準備し、この暗号化ソフト実行装置の不正読出不可領域
に各キーを記録して利用者に提供するようにしてもよ
い。
【0113】また、第1〜第3の実施例では、復号認証
ソフトを書き換え禁止領域を有する記憶媒体に記録して
配布したが、書き換え禁止領域を設けた暗号化ソフト実
行装置を準備し、この暗号化ソフト実行装置の書き換え
禁止領域に復号認証ソフトを記録して利用者に提供する
ようにしてもよい。また、復号認証機構を専用のハード
ウエアとして組み込んだ暗号化ソフト実行装置を利用者
に提供するようにしてもよい。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係るソフトウエア利用
制御方法を実現するソフトウエア実行システムの構成を
示すブロック図である。
【図2】図1に示すソフトウエア実行システムのソフト
提供者側の動作を示すフローチャートである。
【図3】図1に示すソフトウエア実行システムのソフト
利用者側の動作を示すフローチャートである。
【図4】図1に示すソフトウエア実行システムにおい
て、ソフト提供者からソフト利用者に提供されるソフト
ウエアおよびチケットのデータ構造の一例を示す図であ
る。
【図5】複数のサブソフトウエア部を有するソフトウエ
アのデータ構造を示す図である。
【図6】本発明の第2の実施例に係るソフトウエア利用
制御方法を実現するソフトウエア実行システムの構成を
示すブロック図である。
【図7】図6に示すソフトウエア実行システムのソフト
提供者側の動作を示すフローチャートである。
【図8】図6に示すソフトウエア実行システムのソフト
利用者側の動作を示すフローチャートである。
【図9】図6に示すソフトウエア実行システムにおい
て、ソフト提供者からソフト利用者に提供されるソフト
ウエアおよびチケットのデータ構造の一例を示す図であ
る。
【図10】図6に示すソフトウエア実行システムにおい
て実行されるソフトウエアの構成の一例を示す図であ
る。
【図11】図6に示すソフトウエア実行システムにおい
て、ソフト提供者からソフト利用者に提供されるソフト
ウエアおよびチケットのデータ構造の他の例を示す図で
ある。
【図12】本発明の第3の実施例に係るソフトウエア利
用制御方法を実現するソフトウエア実行システムの構成
を示すブロック図である。
【図13】図12に示すソフトウエア実行システムのソ
フト提供者側の動作を示すフローチャートである。
【図14】図12に示すソフトウエア実行システムのソ
フト利用者側の動作を示すフローチャートである。
【図15】図12に示すソフトウエア実行システムにお
いて、ソフト提供者からソフト利用者に提供されるソフ
トウエアおよびチケットのデータ構造の一例を示す図で
ある。
【符号の説明】
X1,X2,X3…ソフト提供者側の処理装置 Y1,Y2,Y3…ソフト利用者側の実行装置 1,101,201…キー作成部 2,102,202…認証データ作成部 3,103,203…ソフト暗号化部 4,204…チケット暗号化部 5,50,500…復号認証ソフト 6,106,206…チケット復号部 7,207…ソフト復号部 8,108a,108b,208a,208b…データ
認証部 9,209…ソフト実行部 112…メインソフト復号部 113…サブソフト復号部 109a…メインソフト実行部 109b…サブソフト実行部 81…第1記憶媒体 82…第2記憶媒体 83…読出可能領域 84…不正読出不可領域 85…読出可能領域
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G09C 1/00 660 7259−5J G09C 1/00 660D

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 実行権データを有する利用者だけが利用
    可能となるように、流通するソフトウエアの利用を制限
    するための方法であって、 各ソフトウエアに共通で秘密の第1のキーと、各利用者
    に固有で秘密の第2のキーとを作成し、これら第1およ
    び第2のキーを利用者に配布する第1のステップと、 各ソフトウエアに固有な第1のデータと、この第1のデ
    ータと所定の関係を満たす第1の認証データとを作成す
    る第2のステップと、 前記第1のデータを前記ソフトウエアに付加した後、前
    記第1のキーを用いて暗号化し、この暗号化されたソフ
    トウエアを利用者に配布する第3のステップと、 前記第1の認証データを前記実行権データに付加した
    後、前記第2のキーを用いて暗号化し、この暗号化され
    た実行権データを利用者に配付する第4のステップと、 前記暗号化されたソフトウエアを前記第1のキーを用い
    て復号し、前記暗号化された実行権データを前記第2の
    キーを用いて復号し、前記復号されたソフトウエアに付
    加されている前記第1のデータと、前記復号された実行
    権データに付加されている前記第1の認証データとが前
    記所定の関係を満たすとき、復号されたソフトウエアを
    復号された実行権データに従って実行する第5のステッ
    プとを備える、ソフトウエア利用制御方法。
  2. 【請求項2】 前記ソフトウエアは、1つのメインソフ
    トウエア部と、当該メインソフトウエア部によって利用
    されるn個(nは1以上の整数)のサブソフトウエア部
    とを含み、 前記第2のステップは、前記第1のデータおよび前記第
    1の認証データに加えて、各サブソフトウエア部に固有
    なn個の第2のデータと、このn個の第2のデータとそ
    れぞれ所定の関係を満たすn個の第2の認証データとを
    作成し、 前記第3のステップは、前記第1のデータおよび前記n
    個の第2の認証データを前記メインソフトウエア部に付
    加した後、前記第1のキーを用いて暗号化し、前記第2
    のデータを前記サブソフトウエア部にそれぞれ付加した
    後、前記第1のキーを用いてそれぞれ暗号化し、暗号化
    されたメインソフトウエア部と暗号化された各サブソフ
    トウエア部とを、暗号化されたソフトウエアとして利用
    者に配付し、 前記第5のステップは、前記暗号化されたソフトウエア
    の前記暗号化されたメインソフトウエア部を前記第1の
    キーを用いて復号すると共に、前記暗号化された実行権
    データを前記第2のキーを用いて復号し、復号されたメ
    インソフトウエア部に付加されている前記第1のデータ
    と、復号された実行権データに付加されている前記第1
    の認証データとが前記所定の関係を満たすとき、復号さ
    れたメインソフトウエア部を復号された実行権データに
    従って実行し、この復号されたメインソフトウエア部か
    ら前記暗号化された各サブソフトウエア部の利用が要求
    されたとき、暗号化された各サブソフトウエア部を第1
    のキーを用いてそれぞれ復号し、復号された各サブソフ
    トウエア部に付加されている第2のデータと、復号され
    たメインソフトウエア部に付加されている第2の認証デ
    ータとが前記所定の関係を満たすとき、復号されたサブ
    ソフトウエア部を復号された実行権データに従って実行
    することを特徴とする、請求項1に記載のソフトウエア
    利用制御方法。
  3. 【請求項3】 前記第1のステップは、作成した前記第
    1および第2のキーをそれぞれ利用者の記憶するパスワ
    ードで暗号化して利用者に配付することを特徴とする、
    請求項1または2に記載のソフトウエア利用制御方法。
  4. 【請求項4】 復号認証処理のための復号認証プログラ
    ムを利用者に配付する第6のステップをさらに備え、 前記第5のステップは、配付された前記復号認証プログ
    ラムに従って、実行されることを特徴とする、請求項1
    または2に記載のソフトウエア利用制御方法。
  5. 【請求項5】 読出可能領域と書き換え不可領域とを有
    する第1の記憶媒体と、読出可能領域と不正読出不可領
    域とを有する第2の記憶媒体とを準備し、第1の記憶媒
    体の前記読出可能領域に前記暗号化されたソフトウエア
    を記録し、第1の記憶媒体の書き換え不可領域に前記復
    号認証プログラムを記録し、第2の記憶媒体の読出可能
    領域に前記暗号化された実行権データを記録し、第2の
    記憶媒体の不正読出不可領域に前記第1および第2のキ
    ーを記録し、これら第1および第2の記憶媒体を利用者
    に配布することを特徴とする、請求項4に記載のソフト
    ウエア利用制御方法。
  6. 【請求項6】 読出可能領域と書き換え不可領域とを有
    する第1の記憶媒体と、不正読出不可領域とを有する第
    2の記憶媒体とを準備し、第1の記憶媒体の読出可能領
    域に前記暗号化された実行権データおよび前記暗号化さ
    れたソフトウエアを記録し、第1の記憶媒体の書き換え
    不可領域に前記復号認証プログラムを記録し、第2の記
    憶媒体の不正読出不可領域に第1および第2のキーを記
    録し、これら第1および第2の記憶媒体を利用者に配布
    することを特徴とする、請求項4に記載のソフトウエア
    利用制御方法。
  7. 【請求項7】 前記第6のステップは、不正読出が不可
    能な記憶領域を有し、この記憶領域に格納された前記復
    号認証プログラムを実行することのできる実行装置を利
    用者に配付することを特徴とする、請求項4に記載のソ
    フトウエア利用制御方法。
  8. 【請求項8】 前記第6のステップは、書き込みが不可
    能な記憶領域を有し、この記憶領域に格納された前記復
    号認証プログラムを実行することのできる実行装置を利
    用者に配付することを特徴とする、請求項4に記載のソ
    フトウエア利用制御方法。
  9. 【請求項9】 前記第6のステップは、前記復号認証プ
    ログラムを実行する専用のハードウエア組み込んだ実行
    装置を利用者に配付することを特徴とする、請求項4に
    記載のソフトウエア利用制御方法。
  10. 【請求項10】 実行権データを有する利用者だけが利
    用可能となるように、流通するソフトウエアの利用を制
    限するための方法であって、 各ソフトウエアに共通で秘密の第1のキーと、各利用者
    に共通で秘密の第2のキーとを作成し、これら第1およ
    び第2のキーを利用者に配布する第1のステップと、 各ソフトウエアに固有な第1のデータと、この第1のデ
    ータと所定の関係を満たす第1の認証データと、各利用
    者に固有な第2のデータと、この第2のデータと所定の
    関係を満たす第2の認証データとを作成し、この第2の
    データを利用者に配付する第2のステップと、 前記第1のデータを前記ソフトウエアに付加した後、前
    記第1のキーを用いて暗号化し、この暗号化されたソフ
    トウエアを利用者に配布する第3のステップと、 前記第1および第2の認証データを前記実行権データに
    付加した後、前記第2のキーを用いて暗号化し、この暗
    号化された実行権データを利用者に配付する第4のステ
    ップと、 前記暗号化された実行権データを前記第2のキーを用い
    て復号し、復号された実行権データに付加された第2の
    認証データと、前記第2のデータとが前記所定の関係を
    満たすとき、前記暗号化されたソフトウエアを前記第1
    のキーを用いて復号し、復号されたソフトウエアに付加
    されている第1のデータと、復号された実行権データに
    付加されている第1の認証データとが前記所定の関係を
    満たすとき、復号されたソフトウエアを復号された実行
    権データに従って実行する第5のステップとを備える、
    ソフトウエア利用制御方法。
  11. 【請求項11】 前記ソフトウエアは、1つのメインソ
    フトウエア部と、当該メインソフトウエア部によって利
    用されるn個(nは1以上の整数)のサブソフトウエア
    部とを含み、 前記第2のステップは、前記第1および第2のデータ、
    前記第1および第2の認証データに加えて、各サブソフ
    トウエア部に固有なn個の第3のデータと、このn個の
    第3のデータとそれぞれ所定の関係を満たすn個の第3
    の認証データとを作成し、 前記第3のステップは、前記第1のデータおよび前記n
    個の第3の認証データを前記メインソフトウエア部に付
    加した後、前記第1のキーを用いて暗号化し、第3のデ
    ータを各前記サブソフトウエア部にそれぞれ付加した
    後、前記第1のキーを用いてそれぞれ暗号化し、暗号化
    されたメインソフトウエア部と暗号化された各サブソフ
    トウエア部とを、暗号化されたソフトウエアとして利用
    者に配付し、 前記第5のステップは、前記暗号化された実行権データ
    を前記第2のキーを用いて復号し、復号された実行権デ
    ータに付加された第2の認証データと、前記第2のデー
    タとが前記所定の関係を満たすとき、前記暗号化された
    メインソフトウエア部を前記第1のキーを用いて復号
    し、復号されたメインソフトウエア部に付加されている
    第1のデータと、復号された実行権データに付加されて
    いる第1の認証データとが前記所定の関係を満たすと
    き、復号されたメインソフトウエア部を復号された実行
    権データに従って実行し、この復号されたメインソフト
    ウエア部から前記暗号化された各サブソフトウエア部の
    利用が要求されたとき、暗号化された各サブソフトウエ
    ア部を前記第1のキーを用いてそれぞれ復号し、復号さ
    れた各サブソフトウエア部に付加されている第3のデー
    タと、復号されたメインソフトウエア部に付加されてい
    る第3の認証データとが前記所定の関係を満たすとき、
    復号されたサブソフトウエア部を復号された実行権デー
    タに従って実行することを特徴とする、請求項10に記
    載のソフトウエア利用制御方法。
  12. 【請求項12】 実行権データを有する利用者だけが利
    用可能となるように、流通するソフトウエアの利用を制
    限するための方法であって、 各ソフトウエアに固有で秘密の第1のキーと、各利用者
    に共通で秘密の第2のキーとを作成し、これら第1およ
    び第2のキーを利用者に配布する第1のステップと、 各ソフトウエアに固有な第1のデータと、この第1のデ
    ータと所定の関係を満たす第1の認証データと、各利用
    者に固有な第2のデータと、この第2のデータと所定の
    関係を満たす第2の認証データとを作成し、この第2の
    データを利用者に配付する第2のステップと、 前記第1のデータを前記ソフトウエアに付加した後、前
    記第1のキーを用いて暗号化し、この暗号化されたソフ
    トウエアを利用者に配布する第3のステップと、 前記第1および第2の認証データを前記実行権データに
    付加した後、前記第2のキーを用いて暗号化し、この暗
    号化された実行権データを利用者に配付する第4のステ
    ップと、 前記暗号化された実行権データを前記第2のキーを用い
    て復号し、復号された実行権データに付加された第2の
    認証データと、前記第2のデータとが前記所定の関係を
    満たすとき、前記暗号化されたソフトウエアを前記第1
    のキーを用いて復号し、復号されたソフトウエアに付加
    されている第1のデータと、復号された実行権データに
    付加されている第1の認証データとが前記所定の関係を
    満たすとき、復号されたソフトウエアを復号された実行
    権データに従って実行する第5のステップとを備える、
    ソフトウエア利用制御方法。
  13. 【請求項13】 実行権データを有する利用者だけが利
    用可能となるように、流通するソフトウエアの利用を制
    限するための方法であって、 各ソフトウエアに固有で秘密の第1のキーと、各利用者
    に共通で秘密の第2のキーとを作成し、これら第1およ
    び第2のキーを利用者に配布する第1のステップと、 各ソフトウエアに共通な第1のデータと、この第1のデ
    ータと所定の関係を満たす第1の認証データと、各利用
    者に固有な第2のデータと、この第2のデータと所定の
    関係を満たす第2の認証データとを作成し、この第2の
    データを利用者に配付する第2のステップと、 前記第1のデータを前記ソフトウエアに付加した後、前
    記第1のキーを用いて暗号化し、この暗号化されたソフ
    トウエアを利用者に配布する第3のステップと、 前記第1および第2の認証データを前記実行権データに
    付加した後、前記第2のキーを用いて暗号化し、この暗
    号化された実行権データを利用者に配付する第4のステ
    ップと、 前記暗号化された実行権データを前記第2のキーを用い
    て復号し、復号された実行権データに付加された第2の
    認証データと、前記第2のデータとが前記所定の関係を
    満たすとき、前記暗号化されたソフトウエアを前記第1
    のキーを用いて復号し、復号されたソフトウエアに付加
    されている第1のデータと、復号された実行権データに
    付加されている第1の認証データとが前記所定の関係を
    満たすとき、復号されたソフトウエアを復号された実行
    権データに従って実行する第5のステップとを備える、
    ソフトウエア利用制御方法。
  14. 【請求項14】 実行権データを有する利用者だけが利
    用可能となるように、流通するソフトウエアの利用を制
    限するための方法であって、 各ソフトウエアに固有で秘密の第1のキーと、各利用者
    に共通で秘密の第2のキーとを作成し、第2のキーを用
    いて第1のキーを暗号化し、暗号化された第1のキーお
    よび暗号化されていない第2のキーを利用者に配布する
    第1のステップと、 各ソフトウエアに固有な第1のデータと、この第1のデ
    ータと所定の関係を満たす第1の認証データと、各利用
    者に固有な第2のデータと、この第2のデータと所定の
    関係を満たす第2の認証データとを作成し、この第2の
    データを利用者に配付する第2のステップと、 前記第1のデータを前記ソフトウエアに付加した後、前
    記第1のキーを用いて暗号化し、この暗号化されたソフ
    トウエアを利用者に配布する第3のステップと、 前記第1および第2の認証データを前記実行権データに
    付加した後、前記第2のキーを用いて暗号化し、この暗
    号化された実行権データを利用者に配付する第4のステ
    ップと、 前記第2のキーを用いて前記暗号化された第1のキーお
    よび前記暗号化された実行権データを復号し、復号され
    た実行権データに付加された第2の認証データと、前記
    第2のデータとが前記所定の関係を満たすとき、前記暗
    号化されたソフトウエアを前記復号された第1のキーを
    用いて復号し、復号されたソフトウエアに付加されてい
    る第1のデータと、復号された実行権データに付加され
    ている第1の認証データとが前記所定の関係を満たすと
    き、復号されたソフトウエアを復号された実行権データ
    に従って実行する第5のステップとを備える、ソフトウ
    エア利用制御方法。
  15. 【請求項15】 実行権データを有する利用者だけが利
    用可能となるように、流通するソフトウエアの利用を制
    限するための方法であって、 各ソフトウエアに固有で秘密の第1のキーと、各利用者
    に固有で秘密の第2のキーとを作成し、第2のキーを用
    いて第1のキーを暗号化し、暗号化された第1のキーお
    よび暗号化されていない第2のキーを利用者に配布する
    第1のステップと、 各ソフトウエアに固有な第1のデータと、この第1のデ
    ータと所定の関係を満たす第1の認証データと、各利用
    者に固有な第2のデータと、この第2のデータと所定の
    関係を満たす第2の認証データとを作成し、この第2の
    データを利用者に配付する第2のステップと、 前記第1のデータを前記ソフトウエアに付加した後、前
    記第1のキーを用いて暗号化し、この暗号化されたソフ
    トウエアを利用者に配布する第3のステップと、 前記第1および第2の認証データを前記実行権データに
    付加した後、前記第2のキーを用いて暗号化し、この暗
    号化された実行権データを利用者に配付する第4のステ
    ップと、 前記第2のキーを用いて前記暗号化された第1のキーお
    よび前記暗号化された実行権データを復号し、復号され
    た実行権データに付加された第2の認証データと、前記
    第2のデータとが前記所定の関係を満たすとき、前記暗
    号化されたソフトウエアを前記復号された第1のキーを
    用いて復号し、復号されたソフトウエアに付加されてい
    る第1のデータと、復号された実行権データに付加され
    ている第1の認証データとが前記所定の関係を満たすと
    き、復号されたソフトウエアを復号された実行権データ
    に従って実行する第5のステップとを備える、ソフトウ
    エア利用制御方法。
  16. 【請求項16】 実行権データを有する利用者だけが利
    用可能となるように、流通するソフトウエアの利用を制
    限するための方法であって、 前記ソフトウエアは、1つのメインソフトウエア部と、
    当該メインソフトウエア部によって利用されるn個(n
    は1以上の整数)のサブソフトウエア部とを含み、 各ソフトウエアに共通で秘密の第1のキーと、各利用者
    に固有で秘密の第2のキーとを作成し、これら第1およ
    び第2のキーを利用者に配布する第1のステップと、 各ソフトウエアに固有な第1のデータと、この第1のデ
    ータと所定の関係を満たす第1の認証データと、各サブ
    ソフトウエア部に固有なn個の第2のデータと、このn
    個の第2のデータとそれぞれ所定の関係を満たすn個の
    第2の認証データとを作成する第2のステップと、 前記第1のデータを前記メインソフトウエア部に付加し
    た後、前記第1のキーを用いて暗号化し、前記第2のデ
    ータを前記サブソフトウエア部にそれぞれ付加した後、
    前記第1のキーを用いてそれぞれ暗号化し、暗号化され
    たメインソフトウエア部と暗号化された各サブソフトウ
    エア部とを、暗号化されたソフトウエアとして利用者に
    配付する第3のステップと、 前記第1の認証データおよび前記n個の第2の認証デー
    タを前記実行権データに付加した後、前記第2のキーを
    用いて暗号化し、この暗号化された実行権データを利用
    者に配付する第4のステップと、 前記暗号化されたソフトウエアの前記暗号化されたメイ
    ンソフトウエア部を前記第1のキーを用いて復号すると
    共に、前記暗号化された実行権データを前記第2のキー
    を用いて復号し、復号されたメインソフトウエア部に付
    加されている前記第1のデータと、復号された実行権デ
    ータに付加されている前記第1の認証データとが前記所
    定の関係を満たすとき、復号されたメインソフトウエア
    部を復号された実行権データに従って実行し、この復号
    されたメインソフトウエア部から前記暗号化された各サ
    ブソフトウエア部の利用が要求されたとき、暗号化され
    た各サブソフトウエア部を第1のキーを用いてそれぞれ
    復号し、復号された各サブソフトウエア部に付加されて
    いる第2のデータと、復号された実行権データに付加さ
    れている第2の認証データとが前記所定の関係を満たす
    とき、復号されたサブソフトウエア部を復号された実行
    権データに従って実行する第5のステップとを備える、
    ソフトウエア利用制御方法。
JP25496295A 1995-10-02 1995-10-02 ソフトウエア利用制御方法 Expired - Lifetime JP3624971B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25496295A JP3624971B2 (ja) 1995-10-02 1995-10-02 ソフトウエア利用制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25496295A JP3624971B2 (ja) 1995-10-02 1995-10-02 ソフトウエア利用制御方法

Publications (2)

Publication Number Publication Date
JPH0997175A true JPH0997175A (ja) 1997-04-08
JP3624971B2 JP3624971B2 (ja) 2005-03-02

Family

ID=17272292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25496295A Expired - Lifetime JP3624971B2 (ja) 1995-10-02 1995-10-02 ソフトウエア利用制御方法

Country Status (1)

Country Link
JP (1) JP3624971B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1124919A (ja) * 1997-06-20 1999-01-29 Internatl Business Mach Corp <Ibm> 安全な記憶領域でアプリケーション・データを保護する方法及び装置
KR20000053933A (ko) * 2000-05-10 2000-09-05 류종렬 소프트웨어의 정품인증시스템 및 그 방법
WO2003013054A1 (fr) * 2001-07-17 2003-02-13 Sharp Kabushiki Kaisha Dispositif et procede permettant de generer des donnees afin de detecter une mauvaise modification de donnees chiffrees pendant un traitement
JP2005027358A (ja) * 2000-03-09 2005-01-27 Hitachi Ltd 共通鍵暗号方法及び装置
KR100477645B1 (ko) * 2002-05-25 2005-03-23 삼성전자주식회사 일련번호 발생 방법 및 그 장치
JP2005182592A (ja) * 2003-12-22 2005-07-07 Yokogawa Electric Corp 実行ライセンス管理装置とそれを内蔵したコントローラ
JP2006048446A (ja) * 2004-08-05 2006-02-16 Ntt Docomo Inc プログラム実行制御装置および実行権情報の移送方法
KR100559151B1 (ko) * 2003-04-23 2006-03-13 한국정보인증주식회사 Cd-rom에 대한 보안 유지 방법 및 장치
JP2009116902A (ja) * 1997-05-13 2009-05-28 Passlogix Inc 一般ユーザの自己証明および認証システム
JP2009541825A (ja) * 2006-06-21 2009-11-26 ヴィーブ−システムズ アクチエンゲゼルシャフト 侵入検出のための方法と装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116902A (ja) * 1997-05-13 2009-05-28 Passlogix Inc 一般ユーザの自己証明および認証システム
JPH1124919A (ja) * 1997-06-20 1999-01-29 Internatl Business Mach Corp <Ibm> 安全な記憶領域でアプリケーション・データを保護する方法及び装置
JP2005027358A (ja) * 2000-03-09 2005-01-27 Hitachi Ltd 共通鍵暗号方法及び装置
KR20000053933A (ko) * 2000-05-10 2000-09-05 류종렬 소프트웨어의 정품인증시스템 및 그 방법
WO2003013054A1 (fr) * 2001-07-17 2003-02-13 Sharp Kabushiki Kaisha Dispositif et procede permettant de generer des donnees afin de detecter une mauvaise modification de donnees chiffrees pendant un traitement
KR100743976B1 (ko) * 2001-07-17 2007-07-30 샤프 가부시키가이샤 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법
US7751556B2 (en) 2001-07-17 2010-07-06 Sharp Kabushiki Kaisha Apparatus and method of generating falsification detecting data of encrypted data in the course of process
KR100477645B1 (ko) * 2002-05-25 2005-03-23 삼성전자주식회사 일련번호 발생 방법 및 그 장치
KR100559151B1 (ko) * 2003-04-23 2006-03-13 한국정보인증주식회사 Cd-rom에 대한 보안 유지 방법 및 장치
JP2005182592A (ja) * 2003-12-22 2005-07-07 Yokogawa Electric Corp 実行ライセンス管理装置とそれを内蔵したコントローラ
JP4547907B2 (ja) * 2003-12-22 2010-09-22 横河電機株式会社 コントローラ
JP2006048446A (ja) * 2004-08-05 2006-02-16 Ntt Docomo Inc プログラム実行制御装置および実行権情報の移送方法
JP4545517B2 (ja) * 2004-08-05 2010-09-15 株式会社エヌ・ティ・ティ・ドコモ プログラム実行制御装置および実行権情報の移送方法
JP2009541825A (ja) * 2006-06-21 2009-11-26 ヴィーブ−システムズ アクチエンゲゼルシャフト 侵入検出のための方法と装置

Also Published As

Publication number Publication date
JP3624971B2 (ja) 2005-03-02

Similar Documents

Publication Publication Date Title
USRE47313E1 (en) Securing digital content system and method
CN1312876C (zh) 用不可访问的唯一密钥对储存的数据进行加密/解密
KR100188505B1 (ko) 화일 액세스 보호방법 및 컴퓨터 액세스 가능 메모리 매체
US6058478A (en) Apparatus and method for a vetted field upgrade
KR100200444B1 (ko) 소프트웨어 객체 배포 방법
EP1686504B1 (en) Flexible licensing architecture in content rights management systems
US5673316A (en) Creation and distribution of cryptographic envelope
JP3243331B2 (ja) ソフトウェア管理用階層媒体の作成方法,ソフトウェア管理用階層媒体の作成装置およびソフトウェア管理用階層媒体
KR100200443B1 (ko) 소프트웨어 객체 배포 방법
US20140289507A1 (en) Method and system for secure distribution of selected content to be protected on an appliance-specific basis with definable permitted associated usage rights for the selected content
US20060149683A1 (en) User terminal for receiving license
US8769675B2 (en) Clock roll forward detection
JP5417092B2 (ja) 暗号化属性を用いて高速化された暗号法
EP0268139A2 (en) Manipulating rights-to-execute in connection with a software copy protection mechanism
CN101925913A (zh) 加密文件访问的方法和系统
CN102073826A (zh) 利用轻量级数字水印添加组件的数字版权管理的系统和方法
US20060155651A1 (en) Device and method for digital rights management
JPH0383132A (ja) ソフトウェア保護制御方式
JP3624971B2 (ja) ソフトウエア利用制御方法
CN101132275B (zh) 一种实现数字内容使用权利的安全保护系统
EA006661B1 (ru) Способ и система защиты информации от несанкционированного использования
JP2001067324A (ja) 情報送信システム、情報送信装置及び情報受信装置
GB2404828A (en) Copyright management where encrypted content and corresponding key are in same file
KR100523843B1 (ko) 디지털 저작권 관리 클라이언트에서의 접근권한 제어를위한 접근 제어 목록 기반의 제어 장치
JPH10260902A (ja) 情報保護方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041111

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20071210

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081210

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091210

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091210

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101210

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101210

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111210

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111210

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121210

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121210

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 9

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term