JPH0844553A - 公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム - Google Patents

公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム

Info

Publication number
JPH0844553A
JPH0844553A JP6182574A JP18257494A JPH0844553A JP H0844553 A JPH0844553 A JP H0844553A JP 6182574 A JP6182574 A JP 6182574A JP 18257494 A JP18257494 A JP 18257494A JP H0844553 A JPH0844553 A JP H0844553A
Authority
JP
Japan
Prior art keywords
software
authentication information
program
memory
public
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
JP6182574A
Other languages
English (en)
Inventor
Tatsumi Mashita
下 竜 実 真
Kiyoshi Ono
野 喜代志 小
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP6182574A priority Critical patent/JPH0844553A/ja
Publication of JPH0844553A publication Critical patent/JPH0844553A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【目的】 公開部分についてはユーザーによる作成・流
用を許し、非公開部分については正規に購入したユーザ
のみが使用できるソフトウェアを複数ユーザに使用させ
るシステムを提供する。 【構成】 認証情報に基づく暗号化キーによってソフト
ウェアの非公開部分を暗号化するソフトウェア供給部1
と、演算処理装置9と、メモリ10と、メモリ10に対
するアクセスを制御するメモリ制御装置11と、各ユー
ザに固有の認証情報を格納する認証情報格納装置5と、
表示装置13と、入力手段12とを有する複数のソフト
ウェア実行部2とからなり、ソフトウェア実行部2のメ
モリ制御装置11に、ソフトウェアの非公開部分と公開
部分を検出する暗号化検出回路14と、認証情報格納装
置5から認証情報を入力して復号化キーを生成して暗号
化検出回路14が検出したソフトウェアの非公開部分を
復号化するデータ復号化回路15とを備えた。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は公開部分と非公開部分と
を有するソフトウェアを多数のユーザに使用させるシス
テムに係り、特にソフトウェアの基本的な動作を規定す
る雛型ソフト(非公開部分)とユーザの創意工夫によっ
て作成・改変されるカスタマイズソフト(公開部分)と
からなるソフトウェアにおいて、上記カスタマイズソフ
トについてはユーザ間で自由に流用できるようにし、雛
型ソフトについてはその雛型ソフトを正規に購入したユ
ーザのみが使用できるようにしたシステムに関する。
【0002】
【従来の技術】従来から内容を秘密にしようとするソフ
トウェアを多数のユーザに使用させる場合には、ソフト
ウェアの一部に各ユーザ固有の認証情報を付加し、これ
をプログラム実行中に正規ユーザによる使用か否かを繰
り返しチェックする方法と、ソフトウェア供給者側でソ
フトウェアを暗号化して出荷し、ユーザ側で復号化キー
を入力してソフトウェアを復号化して使用する方法等が
あった。以下これらの従来の技術について詳しく説明す
る。
【0003】図4は、プログラムの一部に各ユーザの固
有の認識情報を付加し、これをプログラム実行中に正規
ユーザによる使用か否かを繰り返しチェックするシステ
ムを示している。
【0004】この従来のシステムは、ソフトウェア供給
者が所有するソフトウェア供給部21と、契約等によっ
てソフトウェアの供給を受けて使用するユーザが所有す
る複数のソフトウェア実行部22とからなる。ソフトウ
ェア供給部21は供給用のプログラム23と、登録した
ユーザのソフトウェア実行部に固有の認証情報24を有
し、ユーザの要求により、認証情報付加手段25によっ
てそのユーザが希望する供給プログラム23の一部にそ
のユーザに固有の認証情報24を付加して、供給用のプ
ログラム26としてユーザに供給する。
【0005】一方、ソフトウェア実行部22は、ソフト
ウェアを実行するソフトウェア実行手段27と、そのソ
フトウェア実行部に固有の認証情報を格納した認証情報
記憶装置28と、プログラムに付加された認証情報とそ
のプログラムを実行しているソフトウェア実行部の認証
情報を比較判定する認証情報チェック手段29とを有し
ている。
【0006】ユーザが認証情報を付加したプログラムを
プログラム実行手段27によって実行するとき、プログ
ラムの所定位置には認証情報をチェックする命令と認証
情報が格納されており、この部分を実行すると認証情報
記憶装置28から実行中のソフトウェア実行部22の認
証情報が読み出され、認証情報チェック手段29によっ
てプログラムとソフトウェア実行部22の認証情報が比
較される。
【0007】認証情報が一致していれば、正規のユーザ
による使用と判断され、一致していなければ不正な使用
と判断されてプログラムの実行が停止される。これによ
って正規のユーザによる正規の使用を確保している。
【0008】次に、プログラムを暗号化して供給し、ユ
ーザ側で復号化して使用するシステムについて説明す
る。
【0009】図5に示すように、本システムは図4のシ
ステム同様に通常一つのソフトウェア供給部31と複数
のソフトウェア実行部23とからなる。ソフトウェア供
給部31は、供給プログラム33と各ソフトウェア実行
部32に固有の暗号化キー34を格納しており、また、
供給プログラム暗号化手段35を備えている。ユーザの
要求があったときに、ソフトウェア供給部31は、その
ユーザの暗号化キー34によって希望のあった供給プロ
グラム33を暗号化し、暗号化供給プログラム36とし
てユーザに供給する。
【0010】ソフトウェア実行部32は、プログラム実
行手段37と、ユーザが復号化キーを入力するための復
号化キー入力手段38と、復号化キーによって暗号化さ
れたプログラムを復号化する暗号化プログラム解読手段
39とを有している。
【0011】供給された暗号化供給プログラム36は、
プログラム実行手段37によって実行されると、最初に
ユーザに復号化キーの入力を求める。ユーザが復号化キ
ー入力手段38によって復号化キーを入力すると、暗号
化プログラム解読手段39が入力された復号化キーを用
いて暗号化供給プログラム36を復号して解読プログラ
ム40を生成し、プログラム実行手段37が生成された
解読プログラム40を実行する。
【0012】ユーザが正規に登録された者である場合、
復号化キーは予めユーザに知らされており、この復号化
キーによってプログラムは正常に復号化される。これに
対してユーザが正規に登録していない場合、入力された
復号化キーは暗号化キーと対応しないため、解読プログ
ラム40は実行不能のものとなる。
【0013】
【発明が解決しようとする課題】上記供給プログラム中
に各ソフトウェア実行部に固有の認証情報を付加する従
来のシステムでは、プログラム毎に所定位置に認証情報
を付加しなければならないので、供給者側で作業が煩雑
であった。
【0014】また、プログラム毎に認証情報を付加する
ため、プログラム毎に認証情報をチェックしなければな
らず、特に複数のプログラムを同時に利用するソフトウ
ェアでは、認証情報チェック手段用の接続インターフェ
ースもプログラムの数に対応して複数必要であるため、
ソフトウェア実行部の構成が複雑であった。
【0015】さらに、プログラム中の認証情報チェック
部分をプログラム解析によってさがし当て、これを書き
換えることによってチェック機能を無効にし、チェック
機能を無効にしたプログラムを大量かつ不正に複製する
ことができた。また、その他の問題として、上記方法は
プログラムの実行中に周期的に認証情報をチェックする
ため、データには適用することができなかった。
【0016】一方、上記ユーザに復号化キーを入力させ
てプログラムを復号化して実行させる従来のシステムで
は、ユーザの意志によっては、プログラムを復号化した
状態で複製される可能性があった。
【0017】また、ユーザの意志によらない場合でも、
復号化キーを試行錯誤的に入力して復号化キーを探り当
てる可能性があり、一旦復号化キーを探り当てられると
複製プログラムが大量に出回る可能性があった。
【0018】また、上記ソフトウェアを多数のユーザに
使用させる従来のシステムのいずれによっても、一部に
非公開部分を有し、一部に公開部分を有し、公開部分に
ついてはユーザによる改変・新規作成、ユーザ間の流用
を許し、非公開部分については正規に購入したユーザが
のみが使用できるようするソフトウェアには適用できな
い。
【0019】そこで、本発明の目的は、上記従来の課題
を解決し、不正使用を防止し、公開部分についてはユー
ザーによる改変・新規作成およびユーザ間の流用を許
し、非公開部分については正規に購入したユーザのみが
使用できるようにしたソフトウェアを複数ユーザに使用
させるシステムを提供することにある。
【0020】
【課題を解決するための手段】上記目的達成のために、
本願の請求項1に係る「公開部分と非公開部分を有する
ソフトウェアを複数ユーザに使用させるシステム」は、
正規のユーザに固有の認証情報に基づいて作成された暗
号化キーによってソフトウェアの非公開部分を暗号化す
るソフトウェア供給部と、演算処理装置と、前記演算処
理用のメモリと、前記メモリに対するアクセスを制御す
るメモリ制御装置と、各ユーザに固有の認証情報を格納
する認証情報格納装置と、表示装置と、入力手段とを有
する複数のソフトウェア実行部とからなり、前記ソフト
ウェア実行部のメモリ制御装置は、ソフトウェアの暗号
化された非公開部分と公開部分を検出する暗号化検出回
路と、前記認証情報格納装置から認証情報を入力して復
号化キーを生成して前記暗号化検出回路によって検出さ
れたソフトウェアの非公開部分を復号化するデータ復号
化回路とを備えていることを特徴とするものである。
【0021】本願の請求項2に係る「公開部分と非公開
部分を有するソフトウェアを複数ユーザに使用させるシ
ステム」は、前記ソフトウェアを前記メモリにロードす
る際に、前記暗号化検出回路によって検出された公開部
分のプログラムあるいはデータを、前記メモリ上の参照
可能領域にロードし、前記データ復号化回路によって復
号化された非公開部分のプログラムあるいはデータを前
記メモリ上の参照不可領域にロードするように前記メモ
リ制御装置を構成し、このメモリ制御装置に、参照不可
領域のプログラムの実行による参照不可領域へのアクセ
ス命令を許可し、参照可能領域のプログラムあるいは外
部のプログラムの実行による参照不可領域へのアクセス
命令を禁止するアクセス制御手段を備えたことを前記ソ
フトウェアを前記メモリにロードする際に、前記暗号化
検出回路によって検出された公開部分のプログラムある
いはデータを、前記メモリ上の参照可能領域にロード
し、前記データ復号化回路によって復号化された非公開
部分のプログラムあるいはデータを前記メモリ上の参照
不可領域にロードするように前記メモリ制御装置を構成
し、前記メモリ制御装置に、参照不可領域のプログラム
の実行による参照不可領域へのアクセス命令を許可し、
参照可能領域のプログラムあるいは外部のプログラムの
実行による参照不可領域へのアクセス命令を禁止するア
クセス制御手段を備えたことを特徴とするものである。
【0022】本願の請求項3に係る「公開部分と非公開
部分を有するソフトウェアを複数ユーザに使用させるシ
ステム」は、上記第一あるいは第二の発明によるシステ
ムにおいて、前記ソフトウェア供給部と前記複数のソフ
トウェア実行部は通信回線によって互いに連結されてい
ることを特徴とするものである。
【0023】
【作用】本願の請求項1による「公開部分と非公開部分
を有するソフトウェアを複数ユーザに使用させるシステ
ム」によれば、各ユーザに固有の認証情報に基づいて作
成された暗号化キーによってソフトウェアの非公開部分
のみを暗号化する。これに対して、ソフトウェア実行部
では、暗号化検出回路によって配布されたソフトウェア
に対して暗号化された非公開部分を検出し、データ複号
化回路によって各ユーザの認証情報に基づいて生成され
た復号化キーによって復号化する。
【0024】この場合、前記データ復号化回路による復
号化はソフトウェアの非公開部分については強制的に行
なわれるように構成されている。すなわち、非公開部分
についてどのような暗号化キーによって暗号化されてい
るか、あるいはすでに解読されたプログラム・データで
あるかに拘らず、一律にそのソフトウェア実行部の認証
情報に基づいて作成された復号化キーによって復号化す
る。
【0025】これにより、一致しない認証情報の復号化
キーによって復号化した場合は意味をなさないプログラ
ム・データになるばかりでなく、すでに解読・復号化さ
れたプログラム・データも復号化キーによって新に意味
をなさないプログラム・データに変換される。
【0026】すなわち、特定のソフトウェア実行部でソ
フトウェアを実行させるためには、そのソフトウェア実
行部の認証情報に基づく暗号化キーによって暗号化した
プログラム・データをそのソフトウェア実行部の所有者
に渡さなければならないことになる。このことは、プロ
グラム・データを一度解読すると大量に使用可能なプロ
グラム・データを複製できる従来の技術の欠点を克服で
き、不正な使用を効果的に防止することができる。
【0027】また、上記復号化はソフトウェアの非公開
部分についてのみ行なわれ、公開部分は暗号化検出回路
によって検出され、そのままメモリにロードされる。こ
のことにより、公開部分については、ユーザによって自
由に改変・新規作成し、それをユーザ間で流用させるこ
とができる。このことは、たとえばゲーム用ソフトウェ
アにおいて、ゲームの基本的な動作を規定する雛型ソフ
トについては正規のユーザ以外の使用を防止し、ゲーム
の基本的動作に付加される各種の動作・効果を規定する
カスタマズソフトについてはユーザが自由に開発し、そ
れをユーザ間で流用させるソフトウェアの使用を実現す
る。
【0028】上記請求項1に係る「公開部分と非公開部
分を有するソフトウェアを複数ユーザに使用させるシス
テム」は、いわば不正に複製されたソフトウェアの使用
を起動の段階で防止するものであるのに対して、本願の
請求項2に係る「公開部分と非公開部分を有するソフト
ウェアを複数ユーザに使用させるシステム」は、正常に
起動されたソフトウェアに対してメモリに直接アクセス
してプログラム・データを不正に参照するのを防止する
ようにしたものである。
【0029】このために、請求項2に係る「公開部分と
非公開部分を有するソフトウェアを複数ユーザに使用さ
せるシステム」では、初めにメモリ制御装置がソフトウ
ェアの非公開部分をメモリ上の参照不可領域にロード
し、公開部分をメモリ上の参照可能領域にロードし、ア
クセス制御手段によって、参照可能領域のプログラムあ
るいは外部のプログラムの実行による参照不可領域への
アクセスを禁止する。これにより、復号された状態でメ
モリ上に存在する非公開のプログラム・データへのアク
セスが防止され、ソフトウェアの不正使用が防止され
る。
【0030】本願請求項3に係る「公開部分と非公開部
分を有するソフトウェアを複数ユーザに使用させるシス
テム」は、上記請求項1または請求項2に係るシステム
と同一の作用を有する他、ソフトウェア供給部とソフト
ウェア実行部が通信回線によって互いに連結されている
ので、ソフトウェア供給者は通信回線を通じて容易にユ
ーザにソフトウェアを配布でき、また、ユーザは公開部
分について変更あるいは新たに創作したものを通信回線
を通じて容易にやり取りでき、かつ、非公開の雛型部分
を正規に取得したユーザのみがそのやり取りされた公開
部分を実行することができる。
【0031】
【実施例】以下本発明の一実施例について添付の図面を
用いて説明する。
【0032】図1は本発明による「公開部分と非公開部
分を有するソフトウェアを複数ユーザに使用させるシス
テム」の一構成例を示している。本実施例のシステム
は、通常一つのソフト供給部1と複数のソフトウェア実
行部2a、2b、2c…とからなり、たとえば登録した
ユーザ(会員)にゲーム用ソフトウェアを断続して提供
するようなものがこれに該当するので、理解容易のため
に以下このようなシステムを用いて説明する。この場
合、ソフトウェア供給部1はソフトウェアを作成して会
員に提供する業者側の装置に該当し、ソフトウェア実行
部2a、2b、2c…はユーザ側の装置に該当する。
【0033】本システムではゲーム用ソフトウェアの供
給を受けるようとする者は、ソフトウェアを提供する業
者に所定の手続によって申し出て会員として登録を受け
る。登録を受けると、その会員に固有の会員番号や暗証
番号を含む認証情報がソフトウェア供給部1の認証情報
デーブル3に登録され、ソフトウェアを実行するソフト
ウェア実行装置4と上記認証情報を格納した認証情報格
納装置5を含む装置が会員に引き渡される。このソフト
実行装置4と認証情報格納装置5は会員が所有するソフ
トウェア実行部2a、2b、2c…を構成する。
【0034】本実施例ではソフトウェア供給部1とソフ
トウェア実行部2a、2b、2c…は通線ネットワーク
によって結ばれており、互いにプログラムやデータをや
りとりすることができるように構成されているが、フロ
ッピーヤROMやCD等の記憶媒体を介してプログラム
・データをやりとりするように構成されていても良い。
【0035】このシステムにおいて、ソフトウェアの供
給者は新作のソフトウェアを含む供給可能なソフトウェ
アを会員に知らせ、会員は使用したいソウフトウェアが
あれば、ソウトウェア供給者に申し込んで供給を受け
る。今、ソフトウェア実行部2bの会員が、所定のソフ
トウェアをソフトウェア供給者に申し込んだとすると、
ソフトウェア供給部1では申込者の認証情報を認証情報
デーブル3から取り出し、暗号化キー生成手段6によっ
て所定の暗号化アルゴリズムに基づいて上記認証情報の
暗号化キーを生成する。なお、上記暗号化アルゴリズム
は後述するソフトウェア実行部2における復号化アルゴ
リズムと対応するものであるが、ユーザに対しては秘密
にされる。
【0036】次にソフトウェア供給部1では、暗号化キ
ー生成手段6によって生成された暗号化キーと申込みの
あったソフトウェア7が暗号化手段8に入力され、暗号
化される。ここで上記ソフトウェア7は、ゲームの基本
的動作を規定し、改竄やコピーを許さない非公開の雛型
ソフトと、雛型ソフト上で動くゲームの効果音や追加の
動作のような、自由に創作してユーザ間で流用させる公
開のカスタマイズソフトとからなる。ソフトウェア供給
部1の暗号化手段8は、上記ソフトウェア7の雛型ソフ
トのみを暗号化し、カスタマイズソフトについては暗号
化しない。したがって図1に示すようにソフトウェア7
は、公開部分と暗号化部分を有する供給用ソフトウェア
8bとして申込者に供給される。なお、暗号化キーが申
込者によって異なるため、元が同一のソフトウェアであ
っても、その供給用ソフトウェア8a、8b、8c、は
それぞれ異なった内容を有する。
【0037】次に上記暗号化されたソフトウェアを復号
化して実行するソフトウェア実行部2について詳細に説
明する。
【0038】図2はソフトウェア実行部2の構成を示し
ている。ソフトウェア実行部2は大きく分けてソフトウ
ェアを実行するソフトウェア実行装置4と各ユーザの認
証情報を格納したに認証情報格納装置5とからなる。ソ
フトウェア実行装置4は、さらに演算処理部9と、プロ
グラムやデータをロードし演算処理部9の使用に供する
メモリ10と、メモリ10に対するアドレス指定や参照
等のアクセスを制御するメモリ制御装置11と、キーボ
ード、マウス、ポインディングディバイス、ジョイステ
ィック、タッチパネルなどの入力装置12と、表示装置
13とからなる。
【0039】上記メモリ制御装置11は、ソフトウェア
の暗号化部分と公開部分を検出する暗号化検出回路14
と、認証情報格納装置5からの認証情報から復号化キー
を生成して暗号化検出回路14によって検出された暗号
化ソフトウェアを復号化するデータ復号化回路15と、
メモリ10に対するアクセス命令の発信源を検出し、そ
の発信源によってメモリ10へのアクセスを許可あるい
は禁止するアクセス制御部16とを有している。
【0040】上記構成に基づいてソフトウェア実行部2
の作用について以下に説明する。
【0041】供給用ソフトウェア8は、通信回線を介し
てソフトウェア実行部2の図示しない記憶装置に一旦格
納され、あるいは記憶媒体に格納された状態でソフトウ
ェア実行装置4の読込手段(図示せず)によってメモリ
10に読み込まれる(この操作をロードという)。ソフ
トウェア実行装置4は、供給用ソフトウェア8が必ず暗
号化検出回路14とデータ復号化回路15を経てメモリ
10にロードされるようにハードウェア的に構成されて
いる。暗号化検出回路14は、供給用ソフトウェア8の
内容を検査し、公開部分すなわち非暗号化部分について
はそのままメモリ10の参照可能領域10aにロードす
る一方、供給用ソフトウェア8の暗号化された部分をデ
ータ復号化回路15へ送る。
【0042】暗号化検出回路14による暗号化部分の検
出はソフト的に暗号化された部分であることを示す信号
を検出するようにしても良く、あるいはハード的に記憶
媒体中の所定領域に格納されたプログラム・データを暗
号化部分として検出するようにしても良い。
【0043】供給用ソフトウェア8の暗号化部分を入力
したデータ復号化回路15は、認証情報格納装置5から
認証情報を読み込み、この認証情報から所定の復号化ア
ルゴリズムに基づいて復号化キーを生成し、この復号化
キーによって暗号化されたプログラムやデータを復号化
して、メモリ10の参照不可領域10bへロードする。
【0044】ここで上記復号化アルゴリズムは前記ソフ
トウェア供給部1の暗号化アルゴリズムと対応してお
り、同じく秘密にされている。
【0045】また、上記暗号化されたプログラムやデー
タの復号化は強制的に行われるものであり、認証情報の
一致、不一致に拘らえず行われ、すでに解読された平文
のプログラムやデータに対しても行なわれる。
【0046】これにより、仮に供給用ソフトウェア8が
何らかの方法によって解読されて所定のユーザのソフト
ウェア実行部2で実行されようとする場合、データ復号
化回路15によって解読されたプログラムやデータが強
制的に再復号化され、意味をなさないものとなる。
【0047】つまり、供給用ソフトウェア8を解読して
所定のユーザのソフトウェア実行部2で実行可能にする
には、ソフトウェアを解読し、かつ、そのユーザの復号
化キーによって意味あるものに復号化されるように予め
暗号化しておかなければないらない。このような作業は
使用されるユーザに一対一に行われなければならないの
で、大量の複製物の流出を防止することができる。
【0048】さらに、ソフトウェアの暗号化アルゴリズ
ムと復号化アルゴリズムはそれぞれ秘密にされており、
特に暗号化アルゴリズムはソフトウェア供給部1に格納
さているので、第三者がこれを知ることは極めて困難と
なる。
【0049】上述したことはソフトウェアの起動時に不
正に複製されたプログラムやデータについては正常に起
動しないようにすることによってソフトウェアの不正使
用を防止するようにしたものであるが、この他に本実施
例のシステムによれば、正常に起動されたプログラムや
データに対してメモリに直接アクセスしてその内容を参
照することを防止することができる。以下この機能につ
いて説明する。
【0050】図2に示すように本実施例のソフトウェア
実行装置4では、演算処理装置9がメモリ10の参照可
能領域10aあるいは参照不可領域10bにロードされ
たプログラムを実行するが、メモリ10に対するアクセ
ス命令は必ずアクセス制御部16を介するように構成さ
れている。この場合、アクセス制御部16はメモリ10
に対するアクセス命令が参照可能領域10a参照不可領
域10bのいずれにロードされたプログラムの実行によ
って発せられているかを検知し、それによってメモリ1
0に対するアクセスを許可あるいは禁止する。
【0051】図3はアクセス制御部16によってメモリ
10へのアクセスが許可・禁止される様子を模式的に示
したものである。図3(a)はメモリ10へのアクセス
命令が参照不可領域10bにロードされたプログラムの
実行によって発せられた場合を示しており、この場合ア
クセス制御部16はそのアクセス命令の発信源が参照不
可領域10bのプログラムであることを検知し、演算処
理装置9による参照可能領域10aと参照不可領域10
bの双方へのアクセスを許可する。
【0052】これに対して図3(b)はメモリ10への
アクセス命令が参照可能領域10aにロードされたプロ
グラムの実行によって発せられた場合を示しており、こ
の場合アクセス制御部16は参照不可領域10bへのア
クセスを禁止し、参照可能領域10aへのアクセスを許
可する。
【0053】また、図3には示していないが、たとえば
オペレーションシステム等の外部のプログラムによって
直接演算処理装置9に対してメモリ10へのアクセスを
命令した場合、このアクセス命令は同様にアクセス制御
部16によって検知され、参照不可領域10b以外のプ
ログラム命令としてメモリ10へのアクセスが禁止され
る。
【0054】上記アクセス制御部16の作用により、ユ
ーザは参照可能領域10aにおいて自由にカスタマイズ
ソフトを作成できる一方、参照不可領域10bにロード
される雛型ソフトを不正に複製・改竄することができな
くなる。また、参照可能領域10aで作成されたカスタ
マイズソフトは暗号化されないで通信回線や記憶媒体を
介して他のユーザのソフトウェア実行装置4で使用する
ことができるようになる。
【0055】
【発明の効果】上記説明から明らかなように本発明によ
る「公開部分と非公開部分を有するソフトウェアを複数
ユーザに使用させるシステム」は、ソフトウェア供給部
で各ユーザに固有の認証情報に基づいてソフトウェアの
非公開部分を暗号化し、このソフトウェアをユーザのソ
フト実行部で暗号化検出回路によって暗号化部分を検出
し、これをデータ復号化回路がそのユーザ固有の認証情
報に基づいて復号化する。したがって正規のユーザに対
しては非公開部分を有するソフトウェアを支障なく使用
させることができる。またソフトウェアの公開部分につ
いては、暗号化せずにこれを暗号化検出回路によって検
出し、そのままの状態で使用させるので改変あるいは新
規に作成した公開のプログラムやデータをユーザ間で流
用することができる。
【0056】一方、一致しない認証情報やすでに解読さ
れているプログラムやデータに対しては、上記データ復
号化回路が強制的に復号化させるので意味をなさないも
のとすることができる。したがって特定のユーザにソフ
トウェアの非公開部分を支障なく使用させるには、その
非公開のプログラムやデータを解読するのみならず、ソ
フトウェア供給者によって秘密にされている暗号化アル
ゴリズムに従って各ユーザの認証情報を用いて暗号化し
なければならない。これは各ユーザに一対一の作業とな
るため、ソフトウェアの大量の複製・不正使用を防止す
ることができる。
【0057】また、本発明のシステムでは、アクセス制
御部がメモリに対するすべてのアクセス命令を監視し、
参照不可領域にロードされたプログラム、すなわちソフ
トウェア供給者が提供したプログラムの実行によるアク
セス命令以外のメモリへのアクセスを禁止する。これに
より、正常に作動しているプログラムやデータを参照す
ることができなくなり、作動中のプログラムやデータの
不正な複製等を防止することができる。
【0058】上記構成要素とそれらの作用により、ソフ
トウェア供給者が内容を秘密にしようとするプログラム
やデータについては正規のユーザにのみ使用させ、ユー
ザが創作した付加的なプログラムやデータはユーザ間で
自由に流用させることができる複数ユーザによる公開部
分と非公開部分を有するソフトウェアの使用システムを
得ることができる。
【図面の簡単な説明】
【図1】本発明による「公開部分と非公開部分を有する
ソフトウェアを複数ユーザに使用させるシステム」の全
体構成を示した図。
【図2】ソフトウェア実行部の構成を示した図。
【図3】本発明のアクセス制御部の作用を模式的に示し
た図。
【図4】プログラムの一部に認証情報を付加する従来の
ソフトウェアを複数ユーザに使用させるシステムの構成
を示した図。
【図5】ユーザが認証情報を入力して復号化する従来の
ソフトウェアを複数ユーザに使用させるシステムの構成
を示した図。
【符号の説明】
1 ソフトウェア供給部 2 ソフトウェア実行部 4 ソフトウェア実行装置 5 認証情報格納装置 6 暗号化キー生成手段 7 暗号化手段 9 演算処理装置 10 メモリ 11 メモリ制御装置 12 入力装置 13 表示装置 14 暗号化検出回路 15 データ復号化回路 16 アクセス制御部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】正規のユーザに固有の認証情報に基づいて
    作成された暗号化キーによってソフトウェアの非公開部
    分を暗号化するソフトウェア供給部と、 演算処理装置と、前記演算処理用のメモリと、前記メモ
    リに対するアクセスを制御するメモリ制御装置と、各ユ
    ーザに固有の認証情報を格納する認証情報格納装置と、
    表示装置と、入力手段とを有する複数のソフトウェア実
    行部とからなり、 前記ソフトウェア実行部のメモリ制御装置は、ソフトウ
    ェアの暗号化された非公開部分と公開部分を検出する暗
    号化検出回路と、前記認証情報格納装置から認証情報を
    入力して復号化キーを生成して前記暗号化検出回路によ
    って検出されたソフトウェアの非公開部分を復号化する
    データ復号化回路とを備えていることを特徴とする公開
    部分と非公開部分を有するソフトウェアを複数ユーザに
    使用させるシステム。
  2. 【請求項2】前記ソフトウェアを前記メモリにロードす
    る際に、前記暗号化検出回路によって検出された公開部
    分のプログラムあるいはデータを、前記メモリ上の参照
    可能領域にロードし、前記データ復号化回路によって復
    号化された非公開部分のプログラムあるいはデータを前
    記メモリ上の参照不可領域にロードするように前記メモ
    リ制御装置を構成し、 前記メモリ制御装置に、参照不可領域のプログラムの実
    行による参照不可領域へのアクセス命令を許可し、参照
    可能領域のプログラムあるいは外部のプログラムの実行
    による参照不可領域へのアクセス命令を禁止するアクセ
    ス制御手段を備えたことを特徴とする請求項1に記載の
    公開部分と非公開部分を有するソフトウェアを複数ユー
    ザに使用させるシステム。
  3. 【請求項3】前記ソフトウェア供給部と前記複数のソフ
    トウェア実行部は通信回線によって互いに連結されてい
    ることを特徴とする請求項1または請求項2に記載の公
    開部分と非公開部分を有するソフトウェアを複数ユーザ
    に使用させるシステム。
JP6182574A 1994-08-03 1994-08-03 公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム Pending JPH0844553A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6182574A JPH0844553A (ja) 1994-08-03 1994-08-03 公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6182574A JPH0844553A (ja) 1994-08-03 1994-08-03 公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム

Publications (1)

Publication Number Publication Date
JPH0844553A true JPH0844553A (ja) 1996-02-16

Family

ID=16120665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6182574A Pending JPH0844553A (ja) 1994-08-03 1994-08-03 公開部分と非公開部分を有するソフトウェアを複数ユーザに使用させるシステム

Country Status (1)

Country Link
JP (1) JPH0844553A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240520A (ja) * 1996-11-20 1998-09-11 At & T Corp 情報の流通の際に個人情報をキーとして用いる方法およびシステム
JP2001222423A (ja) * 2000-02-14 2001-08-17 Nintendo Co Ltd 半導体記憶装置およびプログラム判別システム
US6931542B1 (en) * 1997-04-16 2005-08-16 Gemplus Method for verifying the execution of a software product
WO2014016905A1 (ja) 2012-07-24 2014-01-30 学校法人福岡大学 情報管理システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240520A (ja) * 1996-11-20 1998-09-11 At & T Corp 情報の流通の際に個人情報をキーとして用いる方法およびシステム
US6931542B1 (en) * 1997-04-16 2005-08-16 Gemplus Method for verifying the execution of a software product
JP2001222423A (ja) * 2000-02-14 2001-08-17 Nintendo Co Ltd 半導体記憶装置およびプログラム判別システム
WO2014016905A1 (ja) 2012-07-24 2014-01-30 学校法人福岡大学 情報管理システム
US9769125B2 (en) 2012-07-24 2017-09-19 Zuken Inc. Information administration system

Similar Documents

Publication Publication Date Title
EP1380916B1 (en) Data protection program, method and apparatus
US6363486B1 (en) Method of controlling usage of software components
US4817140A (en) Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
JP4089171B2 (ja) 計算機システム
CA1292791C (en) Hardware assist for protecting pc software
US7225333B2 (en) Secure processor architecture for use with a digital rights management (DRM) system on a computing device
EP0773490B1 (en) Security system for protecting information stored in storage media
KR100281869B1 (ko) 보안 기능을 갖는 개인용 컴퓨터, 그의 보안 방법 및 그 보안 장치의 설치 및 제거방법
US5822771A (en) System for management of software employing memory for processing unit with regulatory information, for limiting amount of use and number of backup copies of software
US20030120938A1 (en) Method of securing software against reverse engineering
EP0266748B1 (en) A software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US8843766B2 (en) Method and system for protecting against access to a machine code of a device
WO1998009209B1 (en) Systems and methods for secure transaction management and electronic rights protection
JPH1185622A (ja) コア・データ機密事項の保護記憶
EP1025503A2 (en) Reconfigurable secure hardware apparatus and method of operation
EP1242893A1 (en) Software for restricting other software to be used by the rightful user only and method therefor
JPWO2006004130A1 (ja) データ管理方法、そのプログラム及びプログラムの記録媒体
EP1054315B1 (en) System and program for preventing unauthorized copying of software
JP4265156B2 (ja) 情報漏洩防止装置および情報漏洩防止方法
JP3646482B2 (ja) アクセス制御装置、アクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体及びアクセス制御方法
JPH0332813B2 (ja)
JP2006120081A (ja) 故障解析支援端末および故障解析支援情報提供装置
JP2000099385A (ja) ファイルを複数ユーザで共有するためのセキュリティ方法ならびにシステム及び同方法がプログラムされ記録される記録媒体
JP3528714B2 (ja) ダウンロード制限システム
CN1406353A (zh) 软件用于限制其它软件只可被其使用权拥有者使用及其方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040506

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040802

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041111

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20041203