JPH0570859B2 - - Google Patents
Info
- Publication number
- JPH0570859B2 JPH0570859B2 JP63094717A JP9471788A JPH0570859B2 JP H0570859 B2 JPH0570859 B2 JP H0570859B2 JP 63094717 A JP63094717 A JP 63094717A JP 9471788 A JP9471788 A JP 9471788A JP H0570859 B2 JPH0570859 B2 JP H0570859B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- version
- load module
- synchronization key
- protected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 17
- 230000004048 modification Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000002085 persistent effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Description
【発明の詳細な説明】
A 産業上の利用分野
本発明は、ユーザ・コンピユータの内部メモリ
に駐在していてそのコンピユータにより実行予定
または実行終了後のプログラム(現行プログラ
ム・バージヨンまたは正しいプログラム・バージ
ヨンと呼ぶ)を、将来における使用のために、一
時的に外部記録媒体上に保管し、必要時に内部メ
モリに取り込んで実行する通常のコンピユータ・
システムにおいて、外部記録媒体上に保管中の正
しいプログラム・バージヨンが故意にまたは不注
意により(すなわち、不正アクセスにより)旧バ
ージヨンで置換されたり、または改変されたりし
て正しくないプログラム・バージヨンに変更され
ている場合に、その正しくないプログラム・バー
ジヨンがそのコンピユータにより実行されるのを
防止する方法に関する。本明細書中、正しくない
プログラム・バージヨンとは、前述のように現行
バージヨンとは異なる任意のバージヨンを意味す
る。
に駐在していてそのコンピユータにより実行予定
または実行終了後のプログラム(現行プログラ
ム・バージヨンまたは正しいプログラム・バージ
ヨンと呼ぶ)を、将来における使用のために、一
時的に外部記録媒体上に保管し、必要時に内部メ
モリに取り込んで実行する通常のコンピユータ・
システムにおいて、外部記録媒体上に保管中の正
しいプログラム・バージヨンが故意にまたは不注
意により(すなわち、不正アクセスにより)旧バ
ージヨンで置換されたり、または改変されたりし
て正しくないプログラム・バージヨンに変更され
ている場合に、その正しくないプログラム・バー
ジヨンがそのコンピユータにより実行されるのを
防止する方法に関する。本明細書中、正しくない
プログラム・バージヨンとは、前述のように現行
バージヨンとは異なる任意のバージヨンを意味す
る。
B 従来技術
大型の中央で制御されるコンピユータ・システ
ムでは、アプリケーシヨン・プログラム、サブシ
ステム・プログラム及びシステム・プログラムを
含む多くのプログラムが直接アクセス・メモリ装
置(DASD)もしくはテープのような外部媒体に
記憶され、保存、バツクアツプ、回復及び災害対
策の目的に使用されている。多くのアプリケーシ
ヨン・プログラムは使用される時にだけ、コンピ
ユータ・システム・メモリ中にロードされる。プ
ログラムは実行が必要になる時に外部記憶媒体か
らメモリにロードされる。外部媒体からプログラ
ムをメモリにロードするためには「プログラム・
フエツチ」と呼ばれるシステム・プログラムが使
用されている。外部媒体上のプログラムは「ロー
ド・モジユール」フオーマツトと呼ばれる様式を
なしている。ロード・モジユールは「ロード・ラ
イブラリ」中に存在する。
ムでは、アプリケーシヨン・プログラム、サブシ
ステム・プログラム及びシステム・プログラムを
含む多くのプログラムが直接アクセス・メモリ装
置(DASD)もしくはテープのような外部媒体に
記憶され、保存、バツクアツプ、回復及び災害対
策の目的に使用されている。多くのアプリケーシ
ヨン・プログラムは使用される時にだけ、コンピ
ユータ・システム・メモリ中にロードされる。プ
ログラムは実行が必要になる時に外部記憶媒体か
らメモリにロードされる。外部媒体からプログラ
ムをメモリにロードするためには「プログラム・
フエツチ」と呼ばれるシステム・プログラムが使
用されている。外部媒体上のプログラムは「ロー
ド・モジユール」フオーマツトと呼ばれる様式を
なしている。ロード・モジユールは「ロード・ラ
イブラリ」中に存在する。
通常プログラム・ロード・ライブラリは多くの
コピーが製造される。データ処理部門ではおそら
く一日に一回、プログラム・ロード・ライブラリ
をデイスクからテープもしくは大容量メモリにバ
ツクアツプしている。テープはテープ・ライブラ
リに保存されるか災害対策のために遠隔地点に移
転される。多くの人々がバツクアツプ・テープ及
びバツクアツプ・デイスク上のプログラム・ロー
ド・ライブラリにアクセスする。たとえば、オペ
レータ、システム・プログラマ、保守要員及びデ
イスク・スペース管理者がデイスクにアクセスし
てバツクアツプ・コピーを形成して、デイスク媒
体及び装置のデイスク・スペース管理(デイス
ク・スペースの縮小及び分散の解消)を行う。さ
らにバツクアツプ・テープはオペレータ、テー
プ・ライブラリの要員、(遠隔地点管理のための)
移転要員及びビルの管理人によつてもアクセスで
きる。
コピーが製造される。データ処理部門ではおそら
く一日に一回、プログラム・ロード・ライブラリ
をデイスクからテープもしくは大容量メモリにバ
ツクアツプしている。テープはテープ・ライブラ
リに保存されるか災害対策のために遠隔地点に移
転される。多くの人々がバツクアツプ・テープ及
びバツクアツプ・デイスク上のプログラム・ロー
ド・ライブラリにアクセスする。たとえば、オペ
レータ、システム・プログラマ、保守要員及びデ
イスク・スペース管理者がデイスクにアクセスし
てバツクアツプ・コピーを形成して、デイスク媒
体及び装置のデイスク・スペース管理(デイス
ク・スペースの縮小及び分散の解消)を行う。さ
らにバツクアツプ・テープはオペレータ、テー
プ・ライブラリの要員、(遠隔地点管理のための)
移転要員及びビルの管理人によつてもアクセスで
きる。
プログラムの多くのコピーがあり、またこれ等
のプログラムにアクセスできる人が多い場合は、
これ等のプログラム・コピーが許可なく変更され
たり、もしくはプログラムの正しくないバージヨ
ン(例えば既に廃版になつているもの)が実行さ
れるという問題がある。上述の目的を解決するた
めの多くの試みがなされたが、欠点があつた。
のプログラムにアクセスできる人が多い場合は、
これ等のプログラム・コピーが許可なく変更され
たり、もしくはプログラムの正しくないバージヨ
ン(例えば既に廃版になつているもの)が実行さ
れるという問題がある。上述の目的を解決するた
めの多くの試みがなされたが、欠点があつた。
このような1つの解決法は米国特許第4425618
号に開示されている。この特許の技術は時間スタ
ンプを使用してプログラムの現行のバージヨンを
判断している。しかしながらこの特許は暗号技術
の使用を開示していず、使用している時間スタン
プ動作はプログラムの実行時間中に行われ、連係
編集中もしくはロード時には行われていない。他
の解決方法は米国特許第4465901号に説明されて
いる。この特許はプログラムが実行される時の主
メモリ中の暗号化したプログラムの解読を取扱つ
ている。しかしながら、実行中の暗号化プログラ
ムの解読は現在のコンピユータ・アーキテクチユ
アの大きな変更を必要とする。さらにこの実行中
の暗号化プログラムの解読は現在のコンピユー
タ・システムのコスト及び複雑さを増大し、その
パホーマンスを減少する。又このプログラム実行
中の解読はソフトウエアの保守の分野で許容でき
ない問題を生じた。この米国特許第4465901号の
ような技術は知られてからしばらくたつが、上述
の理由で具体化されていない。
号に開示されている。この特許の技術は時間スタ
ンプを使用してプログラムの現行のバージヨンを
判断している。しかしながらこの特許は暗号技術
の使用を開示していず、使用している時間スタン
プ動作はプログラムの実行時間中に行われ、連係
編集中もしくはロード時には行われていない。他
の解決方法は米国特許第4465901号に説明されて
いる。この特許はプログラムが実行される時の主
メモリ中の暗号化したプログラムの解読を取扱つ
ている。しかしながら、実行中の暗号化プログラ
ムの解読は現在のコンピユータ・アーキテクチユ
アの大きな変更を必要とする。さらにこの実行中
の暗号化プログラムの解読は現在のコンピユー
タ・システムのコスト及び複雑さを増大し、その
パホーマンスを減少する。又このプログラム実行
中の解読はソフトウエアの保守の分野で許容でき
ない問題を生じた。この米国特許第4465901号の
ような技術は知られてからしばらくたつが、上述
の理由で具体化されていない。
最近米国で出願されたソフトウエアの安全保護
に関する出願中の米国特許出願には米国特許出願
第927286号、第927297号、第927298号、第927299
号、第927306号、第927309号、第927627号があ
る。これ等の米国特許出願の多くは保護されたテ
ーブルを使用して暗号化キーをアクセスすること
を開示している。しかしながらこれ等の特許出願
中のキーは正しくないバージヨンが実行されるの
を防止するために暗号化プログラムに組込むこと
は行なわれていない。さらにこれ等の米国特許出
願では保護されたテーブルはスーパバイザ・プロ
セスによつてだけアクセスされる。
に関する出願中の米国特許出願には米国特許出願
第927286号、第927297号、第927298号、第927299
号、第927306号、第927309号、第927627号があ
る。これ等の米国特許出願の多くは保護されたテ
ーブルを使用して暗号化キーをアクセスすること
を開示している。しかしながらこれ等の特許出願
中のキーは正しくないバージヨンが実行されるの
を防止するために暗号化プログラムに組込むこと
は行なわれていない。さらにこれ等の米国特許出
願では保護されたテーブルはスーパバイザ・プロ
セスによつてだけアクセスされる。
従つて主メモリ中のプログラムが平文で実行さ
れるような安全保護暗号化技術を使用した、正し
くないプログラム・バージヨンが実行されるのを
防止する方法が望まれる。
れるような安全保護暗号化技術を使用した、正し
くないプログラム・バージヨンが実行されるのを
防止する方法が望まれる。
C 発明が解決しようとする問題点
本発明の目的は正しくない又は適正でないプロ
グラム・バージヨンが実行されるのを防止し、同
時にプログラムがコンピユータ・システムに記憶
された時点で平文であるプログラムを実行する方
法を与えることにある。本発明は特に、安全な中
央コンピユータ設置位置外に存在するプログラム
のコピー対策に向けられる。
グラム・バージヨンが実行されるのを防止し、同
時にプログラムがコンピユータ・システムに記憶
された時点で平文であるプログラムを実行する方
法を与えることにある。本発明は特に、安全な中
央コンピユータ設置位置外に存在するプログラム
のコピー対策に向けられる。
D 問題点を解決するための手段
本発明によれば、正しくないプログラムがコン
ピユータ・システムにおいて実行されるのを防止
する方法は、不正な改変または不正なバージヨン
変更からプログラムを保護するため、先ず、保護
すべきプログラムの現行バージヨン(すなわち正
しいプログラム・バージヨン)と、乱数である関
連同期キーとを含むロード・モジユールが暗号化
されロード・モジユール・ライブラリに記憶され
る。暗号化は、ロード・モジユールに組込まれた
上記関連同期キーと同一のキーにより、達成され
る。次に、プログラムの名前及び関連同期キーの
対応関係を表わすテーブルが作成されて論理的及
び物理的に完全にコンピユータ内部の持久性メモ
リ中に記憶される。このようにして、将来、使用
するプログラムの保護及び保管態勢が完了する。
ピユータ・システムにおいて実行されるのを防止
する方法は、不正な改変または不正なバージヨン
変更からプログラムを保護するため、先ず、保護
すべきプログラムの現行バージヨン(すなわち正
しいプログラム・バージヨン)と、乱数である関
連同期キーとを含むロード・モジユールが暗号化
されロード・モジユール・ライブラリに記憶され
る。暗号化は、ロード・モジユールに組込まれた
上記関連同期キーと同一のキーにより、達成され
る。次に、プログラムの名前及び関連同期キーの
対応関係を表わすテーブルが作成されて論理的及
び物理的に完全にコンピユータ内部の持久性メモ
リ中に記憶される。このようにして、将来、使用
するプログラムの保護及び保管態勢が完了する。
次に、このように保護されているプログラムの
実行が要求される場合、復号手段の制御の下に、
先ず、上記持久性メモリ内の上記テーブルにアク
セスして要求プログラムの名前に対応する関連同
期キーを取出す。この取出された同期キーによ
り、要求プログラムを含む暗号化ロード・モジユ
ールを復号化する。さらに、復号手段の制御の下
に、復号済のロード・モジユールに含まれている
関連同期キーを上記持久性メモリ内の上記テーブ
ル中の関連同期キーとを比較する。2つのキーの
一致は、ロード・モジユール中の要求プログラム
が保管中に不正に改変されたり、バージヨン変更
されたりしていない正しいプログラム・バージヨ
ンであることを意味するので、復号済の要求プロ
グラムを主メモリにロードしてそのプログラムの
実行に備える。他方、2つのキーが不一致の場
合、保管中の要求プログラムが不正に改変され、
またはバージヨン変更されたことになり、復号済
の要求プログラムが正しくないプログラム・バー
ジヨンである事を意味するので、その後のプロセ
スを停止する。通常、この場合、ユーザに異常警
報する。このようにして、正しくないプログラム
の主メモリへのロード及びそのプログラムの実行
がが阻止される。
実行が要求される場合、復号手段の制御の下に、
先ず、上記持久性メモリ内の上記テーブルにアク
セスして要求プログラムの名前に対応する関連同
期キーを取出す。この取出された同期キーによ
り、要求プログラムを含む暗号化ロード・モジユ
ールを復号化する。さらに、復号手段の制御の下
に、復号済のロード・モジユールに含まれている
関連同期キーを上記持久性メモリ内の上記テーブ
ル中の関連同期キーとを比較する。2つのキーの
一致は、ロード・モジユール中の要求プログラム
が保管中に不正に改変されたり、バージヨン変更
されたりしていない正しいプログラム・バージヨ
ンであることを意味するので、復号済の要求プロ
グラムを主メモリにロードしてそのプログラムの
実行に備える。他方、2つのキーが不一致の場
合、保管中の要求プログラムが不正に改変され、
またはバージヨン変更されたことになり、復号済
の要求プログラムが正しくないプログラム・バー
ジヨンである事を意味するので、その後のプロセ
スを停止する。通常、この場合、ユーザに異常警
報する。このようにして、正しくないプログラム
の主メモリへのロード及びそのプログラムの実行
がが阻止される。
E 実施例
第1図及び第2図は正しくないプログラム・バ
ージヨンの実行を防止する装置を示す。さらに詳
細には第1図は将来使用するプログラムを保護及
び記憶するのに使用する装置を示し、第2図はメ
モリから保護されたプログラムを取出してこれを
コンピユータ・システムの主メモリ中で実行でき
るようにする装置を示す。
ージヨンの実行を防止する装置を示す。さらに詳
細には第1図は将来使用するプログラムを保護及
び記憶するのに使用する装置を示し、第2図はメ
モリから保護されたプログラムを取出してこれを
コンピユータ・システムの主メモリ中で実行でき
るようにする装置を示す。
第1図を参照すると、オブジエクト・モジユー
ル26に含まれる正しいプログラム・バージヨン
が同期キー29を含むロード・モジユール11に
構成される。次にこのロード・モジユール11は
暗号化装置12中で暗号化され、暗号化キー29
Eを含む暗号化ロード・モジユール13にされ
る。暗号化にはDESのような多くの安全保護暗
号化機構のうち任意のものが使用できる。このロ
ード・モジユールも又同期キー29を含む。暗号
化ロード・モジユール13は次に連係編集装置
(リンク・エデイタ)25によつてロード・ライ
ブラリ14に書込まれる。連係編集装置25は又
プログラム属性27をロード・ライブラリのデイ
レクトリ項目に書込む。この属性は保護されたプ
ログラムであることを示すビツトである。正しい
プログラムの名前(即ちロード・モジユールの名
前)が関連する同期キーとともに安全なメモリの
テーブル15中に記憶される。このテーブル15
は、後で、暗号化ロード・モジユールを復号する
時、プログラムの名前とその同期キーとの関係を
知るために参照される。後述されるように、安全
なメモリとは、コンピユータ内部に組み込んだ非
揮発性メモリ、直接アクセス磁気デイスク・メモ
リ装置のように論理的及び物理的に安全な持久性
メモリを意味する。同期キーは乱数発生器17で
発生される乱数から発生される。この乱数は次に
同期キー発生器16によつて使用され、同期キー
が発生される。この同期キーは保護テーブル15
中に記憶されるキーであり、又暗号化装置12に
よつてロード・モジユール11を暗号化するキー
でもある。
ル26に含まれる正しいプログラム・バージヨン
が同期キー29を含むロード・モジユール11に
構成される。次にこのロード・モジユール11は
暗号化装置12中で暗号化され、暗号化キー29
Eを含む暗号化ロード・モジユール13にされ
る。暗号化にはDESのような多くの安全保護暗
号化機構のうち任意のものが使用できる。このロ
ード・モジユールも又同期キー29を含む。暗号
化ロード・モジユール13は次に連係編集装置
(リンク・エデイタ)25によつてロード・ライ
ブラリ14に書込まれる。連係編集装置25は又
プログラム属性27をロード・ライブラリのデイ
レクトリ項目に書込む。この属性は保護されたプ
ログラムであることを示すビツトである。正しい
プログラムの名前(即ちロード・モジユールの名
前)が関連する同期キーとともに安全なメモリの
テーブル15中に記憶される。このテーブル15
は、後で、暗号化ロード・モジユールを復号する
時、プログラムの名前とその同期キーとの関係を
知るために参照される。後述されるように、安全
なメモリとは、コンピユータ内部に組み込んだ非
揮発性メモリ、直接アクセス磁気デイスク・メモ
リ装置のように論理的及び物理的に安全な持久性
メモリを意味する。同期キーは乱数発生器17で
発生される乱数から発生される。この乱数は次に
同期キー発生器16によつて使用され、同期キー
が発生される。この同期キーは保護テーブル15
中に記憶されるキーであり、又暗号化装置12に
よつてロード・モジユール11を暗号化するキー
でもある。
第2図を参照すると、正しいプログラム・バー
ジヨンを実行するのに使用される装置が示されて
いる。上述のようにして保護されたプログラムX
を実行したいと仮定する。プログラムを実行した
い時には、プログラム・フエツチ30が先ずロー
ド・ライブラリ14中の属性をチエツクして、そ
のプログラムが保護されたプログラムであるかど
うかを判断する。もし保護されたプログラムであ
る時は、次の段階が取られる。先ず、プログラ
ム・フエツチ30中に含まれた命令によつてその
プログラムの名前及び暗号化ロード・モジユール
13が解読装置18に送られる。
ジヨンを実行するのに使用される装置が示されて
いる。上述のようにして保護されたプログラムX
を実行したいと仮定する。プログラムを実行した
い時には、プログラム・フエツチ30が先ずロー
ド・ライブラリ14中の属性をチエツクして、そ
のプログラムが保護されたプログラムであるかど
うかを判断する。もし保護されたプログラムであ
る時は、次の段階が取られる。先ず、プログラ
ム・フエツチ30中に含まれた命令によつてその
プログラムの名前及び暗号化ロード・モジユール
13が解読装置18に送られる。
次に、以前にそのプログラムの暗号化の際に安
全な持久性メモリ内に作成された、プログラム名
及びその同期キーの関係を示すテーブル15にア
クセスしてそのプログラム名前がサーチされる。
その名前に対応する同期キー29が発見される
と、その同期キーを使用して上記暗号化ロード・
モジユールを解読装置18により復号する。この
ようにして、ロード・モジユールを暗号化するの
に使用した同期キーと同一の同期キーによりロー
ド・モジユールが復号される。次に、解読された
ロード・モジユール11から取出された同期キー
が、保護テーブル15で発見された同期キーと比
較装置21によつて比較される。もしロード・モ
ジユール13から取出された同期キーが保護され
たテーブル15から取出された同期キー29と同
じである時には解読装置によつて戻りコードがプ
ログラム・フエツチ30に送られ、正しいプログ
ラム・バージヨンがロード・モジユール11中に
あることが示される。このような場合には、プロ
グラム・フエツチ30が主コンピユータ・メモリ
35に平文の正しいプログラム・バージヨンを平
文で含む解読されたロード・モジユール31がロ
ードされる。
全な持久性メモリ内に作成された、プログラム名
及びその同期キーの関係を示すテーブル15にア
クセスしてそのプログラム名前がサーチされる。
その名前に対応する同期キー29が発見される
と、その同期キーを使用して上記暗号化ロード・
モジユールを解読装置18により復号する。この
ようにして、ロード・モジユールを暗号化するの
に使用した同期キーと同一の同期キーによりロー
ド・モジユールが復号される。次に、解読された
ロード・モジユール11から取出された同期キー
が、保護テーブル15で発見された同期キーと比
較装置21によつて比較される。もしロード・モ
ジユール13から取出された同期キーが保護され
たテーブル15から取出された同期キー29と同
じである時には解読装置によつて戻りコードがプ
ログラム・フエツチ30に送られ、正しいプログ
ラム・バージヨンがロード・モジユール11中に
あることが示される。このような場合には、プロ
グラム・フエツチ30が主コンピユータ・メモリ
35に平文の正しいプログラム・バージヨンを平
文で含む解読されたロード・モジユール31がロ
ードされる。
第4図には記憶装置40中のロード・ドライブ
ラリ45が詳細に示されている。デイレクトリ項
目46はロード・ライブラリ中の種々のロード・
モジユール(たとえば44)を検知するのに使用
される。各デイレクトリ項目46は又関連するロ
ード・モジユールが保護されたプログラムを含む
かどうかを示すビツトを含ませるのに使用するプ
ログラム属性フイールド42も有する。
ラリ45が詳細に示されている。デイレクトリ項
目46はロード・ライブラリ中の種々のロード・
モジユール(たとえば44)を検知するのに使用
される。各デイレクトリ項目46は又関連するロ
ード・モジユールが保護されたプログラムを含む
かどうかを示すビツトを含ませるのに使用するプ
ログラム属性フイールド42も有する。
第3図は、本発明の全体的なプロセスを示す流
れ図を示す。この流れ図の上の部分(C1乃至C3)
は正しいプログラム・バージヨンを保護するため
の全体にわたる方法、流れ図の下の部分(C4乃
至C10)は要求されたプログラムを実行したい時
に正しいプログラム・バージヨンが実行されるこ
とを保証する方法を概略的に示す。本発明に従つ
て、将来実行するために正しいプログラムを記憶
したい時は、段階C1乃至C3が取られる。段階C1
で保護すべき正しいプログラムを含むロード・モ
ジユール及び同期キーが同じ同期キーで暗号化さ
れる。次に段階C2で暗号化ロード・モジユール
がロード・ライブラリ中に記憶される。次に段階
C3でプログラムの名前と関連する同期キーが安
全なメモリ中のテーブルに記憶される。テーブル
中の関連する同期キーはプログラムの名前に対応
するプログラムを含むロード・モジユール中のキ
ーと同じキーである。プログラムを実行したい時
は、段階C4乃至C10が実行される。段階C4で、
同期キーが上記段階C3で暗号化に当り作成され
た安全なメモリのテーブル(第1図の15)から
求められる。このキーは実行が要求されたプログ
ラムの名前と反応している。段階C5で要求され
たプログラムの正しいと推定されるプログラム・
バージヨンを含むロード・モジユールが段階4で
テーブルから求めたキーによつて解読される。段
階C6で解読されたロード・モジユールから同期
キーが取出される。段階C7で、テーブルから求
めた同期キーが解読されたロード・モジユールか
ら取出した同期キーと比較される。段階C8で、
テーブルから求めた同期キーがロード・モジユー
ルから取出した同期キーと等しいことがわかる
と、段階10でロード・モジユール中のプログラム
が主メモリに記憶され実行される。しかしなが
ら、これ等2つのキーが等しくないと、段階C9
でプロセスが停止し、通常警告がユーザに送られ
る。
れ図を示す。この流れ図の上の部分(C1乃至C3)
は正しいプログラム・バージヨンを保護するため
の全体にわたる方法、流れ図の下の部分(C4乃
至C10)は要求されたプログラムを実行したい時
に正しいプログラム・バージヨンが実行されるこ
とを保証する方法を概略的に示す。本発明に従つ
て、将来実行するために正しいプログラムを記憶
したい時は、段階C1乃至C3が取られる。段階C1
で保護すべき正しいプログラムを含むロード・モ
ジユール及び同期キーが同じ同期キーで暗号化さ
れる。次に段階C2で暗号化ロード・モジユール
がロード・ライブラリ中に記憶される。次に段階
C3でプログラムの名前と関連する同期キーが安
全なメモリ中のテーブルに記憶される。テーブル
中の関連する同期キーはプログラムの名前に対応
するプログラムを含むロード・モジユール中のキ
ーと同じキーである。プログラムを実行したい時
は、段階C4乃至C10が実行される。段階C4で、
同期キーが上記段階C3で暗号化に当り作成され
た安全なメモリのテーブル(第1図の15)から
求められる。このキーは実行が要求されたプログ
ラムの名前と反応している。段階C5で要求され
たプログラムの正しいと推定されるプログラム・
バージヨンを含むロード・モジユールが段階4で
テーブルから求めたキーによつて解読される。段
階C6で解読されたロード・モジユールから同期
キーが取出される。段階C7で、テーブルから求
めた同期キーが解読されたロード・モジユールか
ら取出した同期キーと比較される。段階C8で、
テーブルから求めた同期キーがロード・モジユー
ルから取出した同期キーと等しいことがわかる
と、段階10でロード・モジユール中のプログラム
が主メモリに記憶され実行される。しかしなが
ら、これ等2つのキーが等しくないと、段階C9
でプロセスが停止し、通常警告がユーザに送られ
る。
本発明は以下に説明するある変更を加えて、た
とえば、MVS/XAオペレーテイング・システ
ム・データ機能プロダクト・ソフトウエアを有す
IBMシステム370拡張アーキテクチヤ・システム
で適用できる。第1図及び第2図に示した装置は
ハードウエア(マイクロコードを含む)とソフト
ウエアの組合せで実施できる。1つのこのような
方法はハードウエアに乱数、同期キーを発生さ
せ、暗号化及び解読装置(夫々第1図の12及び
第2図の18)の機能を遂行させるものである。
ソフトウエアはロード・ライブラリ及びそのデイ
レクトリ中の実際の入力/出力(I/O)動作の
すべてを遂行する。いずれにしても、個々のハー
ドウエア及びソフトウエア部分は本明細書の説明
によつて構成もしくは書くことができる。コンピ
ユータ・システム内の物理的及び論理的に安全な
持久メモリが保護されたテーブルを造るのに使用
される。このテーブルは最小限、2つの列即ちプ
ログラムの名前及び同期キーを含む。日付け及び
時刻スタンプ、リソース・アクセス制御機能
(RACF)、ユーザ識別及びジヨブの名前のような
他の列もテーブル中に保持できる。システム中の
各保護されたプログラムはテーブル中に項目を有
する。物理的及び論理的に安全な持久メモリはす
でに多年にわたつてシステム370中に存在する。
例を示せば、システムのI/O構造(IOCDS)
に関する情報を含む、S/370、308x及び309xシ
ステムのハードウエア・システム領域(HSA)
である。この場合、I/O構造情報は物理的にサ
ービス・プロセツサ内に含まれる物理的に安全な
直接アクセス・メモリ装置中に支援される。同じ
技術が保護テーブルを支援するのに使用できる。
保護されたテーブル項目へのアクセス(挿入、更
新及び読取り)はプログラムの名前の列への順次
探索、2進探索及びプログラムの名前の列へのハ
ツシングを含む任意のテーブル・ルツク・アツ
プ・アルゴリズムによつて実施できる。テーブル
をプログラムの名前の照合順序に保持し、これ等
のプログラムの名前に2進探索を使用するのが保
護テーブルをアクセスする好ましい方法である。
IBMシステム370を使用する場合にはロード・ラ
イブラリの区分されたデータ・セツト・デイレク
トリの属性フイールドを拡張して、その中に記載
されている特定のプログラムが保護プログラムで
あるかどうかを示す余分のビツトを含ませるよう
にしなければならない。
とえば、MVS/XAオペレーテイング・システ
ム・データ機能プロダクト・ソフトウエアを有す
IBMシステム370拡張アーキテクチヤ・システム
で適用できる。第1図及び第2図に示した装置は
ハードウエア(マイクロコードを含む)とソフト
ウエアの組合せで実施できる。1つのこのような
方法はハードウエアに乱数、同期キーを発生さ
せ、暗号化及び解読装置(夫々第1図の12及び
第2図の18)の機能を遂行させるものである。
ソフトウエアはロード・ライブラリ及びそのデイ
レクトリ中の実際の入力/出力(I/O)動作の
すべてを遂行する。いずれにしても、個々のハー
ドウエア及びソフトウエア部分は本明細書の説明
によつて構成もしくは書くことができる。コンピ
ユータ・システム内の物理的及び論理的に安全な
持久メモリが保護されたテーブルを造るのに使用
される。このテーブルは最小限、2つの列即ちプ
ログラムの名前及び同期キーを含む。日付け及び
時刻スタンプ、リソース・アクセス制御機能
(RACF)、ユーザ識別及びジヨブの名前のような
他の列もテーブル中に保持できる。システム中の
各保護されたプログラムはテーブル中に項目を有
する。物理的及び論理的に安全な持久メモリはす
でに多年にわたつてシステム370中に存在する。
例を示せば、システムのI/O構造(IOCDS)
に関する情報を含む、S/370、308x及び309xシ
ステムのハードウエア・システム領域(HSA)
である。この場合、I/O構造情報は物理的にサ
ービス・プロセツサ内に含まれる物理的に安全な
直接アクセス・メモリ装置中に支援される。同じ
技術が保護テーブルを支援するのに使用できる。
保護されたテーブル項目へのアクセス(挿入、更
新及び読取り)はプログラムの名前の列への順次
探索、2進探索及びプログラムの名前の列へのハ
ツシングを含む任意のテーブル・ルツク・アツ
プ・アルゴリズムによつて実施できる。テーブル
をプログラムの名前の照合順序に保持し、これ等
のプログラムの名前に2進探索を使用するのが保
護テーブルをアクセスする好ましい方法である。
IBMシステム370を使用する場合にはロード・ラ
イブラリの区分されたデータ・セツト・デイレク
トリの属性フイールドを拡張して、その中に記載
されている特定のプログラムが保護プログラムで
あるかどうかを示す余分のビツトを含ませるよう
にしなければならない。
本発明を具体化するためには、IBMシステム
370のための標準の連係編集装置を変更して、ロ
ード・ライブラリの区分化されたデータ・セツ
ト・デイレクトリに保護プログラムの属性を支援
する。連係編集装置の外部機構は保護プログラム
属性をセツトして結果のモジユールをロード・ラ
イブラリ中に記憶するように修正される。これ等
の外部機構は、現在の連係編集装置の外部機構
が、プログラムをAPF(許可プログラム機能)に
よつて許可するということを示すのと全く同じよ
うなやり方で変更できる。連係編集されるプログ
ラムが保護されるプログラムである時は、連係編
集装置が暗号化機構を呼出して保護すべきプログ
ラムを発生した同期キーを使用して暗号化する。
次に連係編集装置は結果の暗号化されたロード・
モジユールをロード・ライブラリに書込んでロー
ド・ライブラリ中の区分化されたデータ・セツ
ト・デイレクトリ項目の属性を保護プログラムを
示すように更新する。連係編集装置の交換インデ
イケーターを使用して保護されたテーブルの項目
が交換できるかどうかを判断することができる。
370のための標準の連係編集装置を変更して、ロ
ード・ライブラリの区分化されたデータ・セツ
ト・デイレクトリに保護プログラムの属性を支援
する。連係編集装置の外部機構は保護プログラム
属性をセツトして結果のモジユールをロード・ラ
イブラリ中に記憶するように修正される。これ等
の外部機構は、現在の連係編集装置の外部機構
が、プログラムをAPF(許可プログラム機能)に
よつて許可するということを示すのと全く同じよ
うなやり方で変更できる。連係編集されるプログ
ラムが保護されるプログラムである時は、連係編
集装置が暗号化機構を呼出して保護すべきプログ
ラムを発生した同期キーを使用して暗号化する。
次に連係編集装置は結果の暗号化されたロード・
モジユールをロード・ライブラリに書込んでロー
ド・ライブラリ中の区分化されたデータ・セツ
ト・デイレクトリ項目の属性を保護プログラムを
示すように更新する。連係編集装置の交換インデ
イケーターを使用して保護されたテーブルの項目
が交換できるかどうかを判断することができる。
上述のような必要とされる連係編集装置の変更
は平均的な技術を有するシステム・プログラマに
よつて容易に行うことができる。
は平均的な技術を有するシステム・プログラマに
よつて容易に行うことができる。
プログラム・フエツチも又ロード・ライブラリ
中の区分化されたデータ・セツト・デイレクトリ
中に保護されたプログラム属性を支持するように
変更できる。保護されたプログラムの属性ビツト
を調べて、そのプログラムが保護されているとマ
ークされていると、プログラム・フエツチが解読
装置を呼出して解読装置からの戻りコードをチエ
ツクする。解読装置が(戻りコードによつて)、
要求したプログラムが現行の正しいバージヨンで
あり、解読されて主メモリにあるかどうかを示
す。今の場合は、プログラム・フエツチがコンピ
ユータの主メモリに保護プログラムを平文でロー
ドする。そうでない時は、プログラム・フエツチ
によつて誤りが示される。上述のような必要とさ
れるプログラム・フエツチに対する変更は平均の
技倆を有するシステム・プログラマによつて容易
に行うことができる。
中の区分化されたデータ・セツト・デイレクトリ
中に保護されたプログラム属性を支持するように
変更できる。保護されたプログラムの属性ビツト
を調べて、そのプログラムが保護されているとマ
ークされていると、プログラム・フエツチが解読
装置を呼出して解読装置からの戻りコードをチエ
ツクする。解読装置が(戻りコードによつて)、
要求したプログラムが現行の正しいバージヨンで
あり、解読されて主メモリにあるかどうかを示
す。今の場合は、プログラム・フエツチがコンピ
ユータの主メモリに保護プログラムを平文でロー
ドする。そうでない時は、プログラム・フエツチ
によつて誤りが示される。上述のような必要とさ
れるプログラム・フエツチに対する変更は平均の
技倆を有するシステム・プログラマによつて容易
に行うことができる。
発生する種々の誤り条件を示すために適切なメ
ツセージ及びコード(異常終了コード)がシステ
ム・コンピユータに追加できる。たとえば次の状
態がメツセージ及び異常終了コードを必要とす
る。
ツセージ及びコード(異常終了コード)がシステ
ム・コンピユータに追加できる。たとえば次の状
態がメツセージ及び異常終了コードを必要とす
る。
(1) プログラムが現行バージヨンでない場合。
(2) 既存のテーブル項目が存在して、交換オプシ
ヨンが要求されなかつた時に、保護テーブル項
目の追加を要求された場合。
ヨンが要求されなかつた時に、保護テーブル項
目の追加を要求された場合。
(3) ロード・モジユールを暗号化したがPDS(区
分化データ・セツト)デイレクトリの項目が保
護されたプログラムを示さなかつた場合。
分化データ・セツト)デイレクトリの項目が保
護されたプログラムを示さなかつた場合。
(4) 保護テーブル中にプログラムが見出されなか
つた場合。
つた場合。
一般に知られている保護テーブルの例は3081プ
ロセツサに使用されているIOCDSテーブルであ
る。
ロセツサに使用されているIOCDSテーブルであ
る。
F 発明の効果
本発明に従えば、正しくないプログラム・バー
ジヨンが実行されるのを防止し、同時に、プログ
ラムがコンピユータ・システムの主メモリに記憶
される時点で平文であるような、プログラムを実
行する方法が与えられる。
ジヨンが実行されるのを防止し、同時に、プログ
ラムがコンピユータ・システムの主メモリに記憶
される時点で平文であるような、プログラムを実
行する方法が与えられる。
第1図は正しいプログラム・バージヨンを暗号
化する装置の概略図である。第2図は正しいプロ
グラム・バージヨンを含むロード・モジユールを
解読し、プログラムが正しいプログラム・バージ
ヨンであることを検査する装置の概略図である。
第3図は正しくないプログラム・バージンヨの実
行を防止する方法の流れ図である。第4図はメモ
リ装置中のロード・ライブラリの詳細図である。 11……ロード・モジユール、12……暗号化
装置、13……暗号化ロード・モジユール、14
……ロード・ライブラリ、15……保護されたテ
ーブル、16……同期キー発生器、17……乱数
発生器、18……解読装置、21……比較装置、
25……連係編集装置、26……オブジエクト・
モジユール、27……保護プログラム属性、29
……同期キー、35……主コンピユータ・メモ
リ。
化する装置の概略図である。第2図は正しいプロ
グラム・バージヨンを含むロード・モジユールを
解読し、プログラムが正しいプログラム・バージ
ヨンであることを検査する装置の概略図である。
第3図は正しくないプログラム・バージンヨの実
行を防止する方法の流れ図である。第4図はメモ
リ装置中のロード・ライブラリの詳細図である。 11……ロード・モジユール、12……暗号化
装置、13……暗号化ロード・モジユール、14
……ロード・ライブラリ、15……保護されたテ
ーブル、16……同期キー発生器、17……乱数
発生器、18……解読装置、21……比較装置、
25……連係編集装置、26……オブジエクト・
モジユール、27……保護プログラム属性、29
……同期キー、35……主コンピユータ・メモ
リ。
Claims (1)
- 【特許請求の範囲】 1 不正な改変または不正なバージヨン変更から
プログラムを保護するため、連係編集手段の制御
の下に、保護すべきプログラムの現行バージヨ
ン、すなわち正しいプログラム・バージヨン、に
対して乱数発生手段により発生された乱数を関連
同期キーとして付加してロード・モジユールを構
成し、このロード・モジユールを上記関連同期キ
ーと同一のキーにより暗号化してロード・モジユ
ール・ライブラリに記憶する段階、 上記連係編集手段の下に、上記プログラムの名
前及び上記関連同期キーの対応関係を表わすテー
ブルを論理的及び物理的に安全なコンピユータ内
部の持久性メモリに記憶する段階、 保護されているプログラムの実行が要求される
時、復号手段の制御の下に、上記持久性メモリ内
の上記テーブルにアクセスして要求プログラムに
対応する関連同期キーを取出す段階、 上記復号手段の制御の下に、上記取出された関
連同期キーにより、上記要求プログラムを含む暗
号化ロード・モジユールを復号化する段階、 上記復号化手段の制御の下に、上記復号済のロ
ード・モジユールに含まれる関連同期キーを上記
持久性メモリ内の上記テーブル中の関連同期キー
に比較し、その比較結果に基づいて上記復号済の
要求プログラムを正しいプログラム・バージヨン
と判定して主メモリにロードしたり、または上記
復号済の要求プログラムを正しくないプログラ
ム・バージヨンと判定してその後の処理プロセス
を停止する段階、 を含む事を特徴とする正しくないプログラム・バ
ージヨンがコンピユータ・システム中で実行され
るのを防止する方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/066,909 US4930073A (en) | 1987-06-26 | 1987-06-26 | Method to prevent use of incorrect program version in a computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS649524A JPS649524A (en) | 1989-01-12 |
JPH0570859B2 true JPH0570859B2 (ja) | 1993-10-06 |
Family
ID=22072512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63094717A Granted JPS649524A (en) | 1987-06-26 | 1988-04-19 | Prevention of execution of wrong program in computer system |
Country Status (3)
Country | Link |
---|---|
US (1) | US4930073A (ja) |
EP (1) | EP0297347A3 (ja) |
JP (1) | JPS649524A (ja) |
Families Citing this family (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1329657C (en) * | 1989-04-03 | 1994-05-17 | Gerald S. Lang | Method and apparatus for protecting material on storage media |
US5065429A (en) * | 1989-04-03 | 1991-11-12 | Lang Gerald S | Method and apparatus for protecting material on storage media |
US5579509A (en) * | 1991-02-08 | 1996-11-26 | International Business Machines Corporation | Apparatus and method for verifying compatibility of system components |
US5208853A (en) * | 1991-09-09 | 1993-05-04 | Motorola, Inc. | Method and apparatus for usage protection of data files using split key and unique variable |
US5301231A (en) * | 1992-02-12 | 1994-04-05 | International Business Machines Corporation | User defined function facility |
US5421006A (en) * | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
DE69316009T2 (de) * | 1992-06-12 | 1998-04-23 | Dow Benelux | Sicheres frontendverbindungssystem und verfahren fur prozesssteuerungsrechner |
WO1993025965A1 (en) * | 1992-06-12 | 1993-12-23 | The Dow Chemical Company | Intelligent process control communication system and method |
IL103062A (en) * | 1992-09-04 | 1996-08-04 | Algorithmic Res Ltd | Data processor security system |
JPH07182178A (ja) * | 1993-02-19 | 1995-07-21 | Nec Corp | プリロードモジュール修正システム |
US5367573A (en) * | 1993-07-02 | 1994-11-22 | Digital Equipment Corporation | Signature data object |
US5530752A (en) * | 1994-02-22 | 1996-06-25 | Convex Computer Corporation | Systems and methods for protecting software from unlicensed copying and use |
US5881287A (en) * | 1994-08-12 | 1999-03-09 | Mast; Michael B. | Method and apparatus for copy protection of images in a computer system |
CN1912885B (zh) * | 1995-02-13 | 2010-12-22 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
US5682428A (en) * | 1995-02-13 | 1997-10-28 | Eta Technologies Corporation | Personal access management system |
US7133846B1 (en) | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management |
US5619574A (en) * | 1995-02-13 | 1997-04-08 | Eta Technologies Corporation | Personal access management system |
US5892900A (en) | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5778068A (en) * | 1995-02-13 | 1998-07-07 | Eta Technologies Corporation | Personal access management system |
US20120166807A1 (en) | 1996-08-12 | 2012-06-28 | Intertrust Technologies Corp. | Systems and Methods Using Cryptography to Protect Secure Computing Environments |
US6658568B1 (en) | 1995-02-13 | 2003-12-02 | Intertrust Technologies Corporation | Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management |
US7095854B1 (en) * | 1995-02-13 | 2006-08-22 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US6948070B1 (en) * | 1995-02-13 | 2005-09-20 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
US6157721A (en) | 1996-08-12 | 2000-12-05 | Intertrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments |
US7133845B1 (en) * | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | System and methods for secure transaction management and electronic rights protection |
US5943422A (en) | 1996-08-12 | 1999-08-24 | Intertrust Technologies Corp. | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels |
US5643086A (en) * | 1995-06-29 | 1997-07-01 | Silicon Gaming, Inc. | Electronic casino gaming apparatus with improved play capacity, authentication and security |
US7063615B2 (en) * | 1995-06-29 | 2006-06-20 | Igt | Electronic gaming apparatus with authentication |
USRE39369E1 (en) | 1995-06-29 | 2006-10-31 | Igt | Electronic casino gaming system with improved play capacity, authentication and security |
US6620047B1 (en) | 1995-06-29 | 2003-09-16 | Igt | Electronic gaming apparatus having authentication data sets |
US5757914A (en) * | 1995-10-26 | 1998-05-26 | Sun Microsystems, Inc. | System and method for protecting use of dynamically linked executable modules |
US5832483A (en) * | 1995-12-15 | 1998-11-03 | Novell, Inc. | Distributed control interface for managing the interoperability and concurrency of agents and resources in a real-time environment |
US20010011253A1 (en) | 1998-08-04 | 2001-08-02 | Christopher D. Coley | Automated system for management of licensed software |
US20060265337A1 (en) * | 1996-02-26 | 2006-11-23 | Graphon Corporation | Automated system for management of licensed digital assets |
AU763145B2 (en) * | 1996-06-28 | 2003-07-17 | Igt | Improved electronic gaming apparatus |
AU768463B2 (en) * | 1996-06-28 | 2003-12-11 | Igt | Improved electronic gaming apparatus |
US7590853B1 (en) | 1996-08-12 | 2009-09-15 | Intertrust Technologies Corporation | Systems and methods using cryptography to protect secure computing environments |
AU2004240210B2 (en) * | 1996-08-12 | 2008-03-06 | Intertrust Technologies Corporation | Systems and methods using cryptography to protect secure computing environments |
AU2003203649B2 (en) * | 1996-08-12 | 2006-03-02 | Intertrust Technologies Corporation | Systems and methods using cryptography to protect secure computing environments |
US5953502A (en) * | 1997-02-13 | 1999-09-14 | Helbig, Sr.; Walter A | Method and apparatus for enhancing computer system security |
US5920861A (en) | 1997-02-25 | 1999-07-06 | Intertrust Technologies Corp. | Techniques for defining using and manipulating rights management data structures |
US20020025852A1 (en) * | 2000-09-29 | 2002-02-28 | Alcorn Allan E. | Gaming apparatus with portrait-mode display |
US6112181A (en) | 1997-11-06 | 2000-08-29 | Intertrust Technologies Corporation | Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
US7268700B1 (en) | 1998-01-27 | 2007-09-11 | Hoffberg Steven M | Mobile communication device |
US6684199B1 (en) | 1998-05-20 | 2004-01-27 | Recording Industry Association Of America | Method for minimizing pirating and/or unauthorized copying and/or unauthorized access of/to data on/from data media including compact discs and digital versatile discs, and system and data media for same |
WO1999060568A1 (en) * | 1998-05-20 | 1999-11-25 | Recording Industry Association Of America | Copy protection method using broken modulation rules |
US6243692B1 (en) * | 1998-05-22 | 2001-06-05 | Preview Software | Secure electronic software packaging using setup-external unlocking module |
US6289503B1 (en) | 1998-09-24 | 2001-09-11 | International Business Machines Corporation | System and method for trace verification |
US7243236B1 (en) * | 1999-07-29 | 2007-07-10 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure and insecure computing environments |
WO2001009702A2 (en) | 1999-07-30 | 2001-02-08 | Intertrust Technologies Corp. | Methods and systems for transaction record delivery using thresholds and multi-stage protocol |
US7406603B1 (en) | 1999-08-31 | 2008-07-29 | Intertrust Technologies Corp. | Data protection systems and methods |
US6746330B2 (en) * | 1999-09-21 | 2004-06-08 | Igt | Method and device for implementing a coinless gaming environment |
US6985885B1 (en) | 1999-09-21 | 2006-01-10 | Intertrust Technologies Corp. | Systems and methods for pricing and selling digital goods |
DE10008974B4 (de) * | 2000-02-25 | 2005-12-29 | Bayerische Motoren Werke Ag | Signaturverfahren |
US20050255924A1 (en) * | 2000-03-03 | 2005-11-17 | Cole Joseph W | Gaming apparatus having door mounted display |
US7043641B1 (en) | 2000-03-08 | 2006-05-09 | Igt | Encryption in a secure computerized gaming system |
US7988559B2 (en) * | 2001-03-08 | 2011-08-02 | Igt | Computerized gaming system, method and apparatus |
CA2402389A1 (en) * | 2000-03-08 | 2002-09-19 | Shuffle Master, Inc. | Computerized gaming system, method and apparatus |
GB0017478D0 (en) * | 2000-07-18 | 2000-08-30 | Bit Arts Ltd | Computer software installation |
AU2001285125B2 (en) * | 2000-08-21 | 2004-08-26 | Igt | Method and apparatus for software authentication |
CA2356015A1 (en) | 2000-08-31 | 2002-02-28 | International Game Technology | Method and apparatus for encoding vouchers in a cashless casino gaming system |
CA2320665C (en) | 2000-09-26 | 2010-08-17 | Spielo Manufacturing Incorporated | System and method for downloading electronic information to a video lottery terminal |
US6636875B1 (en) * | 2000-10-25 | 2003-10-21 | International Business Machines Corporation | System and method for synchronizing related data elements in disparate storage systems |
US7203841B2 (en) | 2001-03-08 | 2007-04-10 | Igt | Encryption in a secure computerized gaming system |
US7421411B2 (en) * | 2001-07-06 | 2008-09-02 | Nokia Corporation | Digital rights management in a mobile communications environment |
US7162036B2 (en) | 2001-08-06 | 2007-01-09 | Igt | Digital identification of unique game characteristics |
US6685567B2 (en) | 2001-08-08 | 2004-02-03 | Igt | Process verification |
WO2003023647A1 (en) * | 2001-09-10 | 2003-03-20 | Igt | Method for developing gaming programs compatible with a computerized gaming operating system and apparatus |
US7128650B2 (en) | 2001-09-12 | 2006-10-31 | Igt | Gaming machine with promotional item dispenser |
US8708828B2 (en) | 2001-09-28 | 2014-04-29 | Igt | Pluggable modular gaming modifiers and configuration templates for gaming environments |
US7931533B2 (en) * | 2001-09-28 | 2011-04-26 | Igt | Game development architecture that decouples the game logic from the graphics logics |
US6902481B2 (en) | 2001-09-28 | 2005-06-07 | Igt | Decoupling of the graphical presentation of a game from the presentation logic |
US20030064784A1 (en) * | 2001-09-28 | 2003-04-03 | William Wells | Wide screen gaming apparatus |
US7179170B2 (en) * | 2001-11-26 | 2007-02-20 | Igt | Pass-through live validation device and method |
US20030203755A1 (en) * | 2002-04-25 | 2003-10-30 | Shuffle Master, Inc. | Encryption in a secure computerized gaming system |
US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
US7272228B2 (en) * | 2003-06-12 | 2007-09-18 | International Business Machines Corporation | System and method for securing code and ensuring proper execution using state-based encryption |
US7794323B2 (en) * | 2003-07-25 | 2010-09-14 | Igt | Gaming apparatus with encryption and method |
US7606788B2 (en) * | 2003-08-22 | 2009-10-20 | Oracle International Corporation | Method and apparatus for protecting private information within a database |
US7590589B2 (en) * | 2004-09-10 | 2009-09-15 | Hoffberg Steven M | Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference |
US20060161910A1 (en) * | 2005-01-14 | 2006-07-20 | International Business Machines Corporation | Method, system and program product for automatically ensuring compatability of a code module loaded into a program-code environment |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US7761591B2 (en) | 2005-12-16 | 2010-07-20 | Jean A. Graham | Central work-product management system for coordinated collaboration with remote users |
US20140032912A1 (en) * | 2009-04-28 | 2014-01-30 | Adobe Systems Incorporated | Trust context for document signatures |
US8627097B2 (en) | 2012-03-27 | 2014-01-07 | Igt | System and method enabling parallel processing of hash functions using authentication checkpoint hashes |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57101921A (en) * | 1980-12-17 | 1982-06-24 | Toshiba Corp | Right protecting system of program |
JPS58154040A (ja) * | 1982-03-08 | 1983-09-13 | Fujitsu Ltd | 有償プログラム使用禁止方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4038645A (en) * | 1976-04-30 | 1977-07-26 | International Business Machines Corporation | Non-translatable storage protection control system |
US4375579A (en) * | 1980-01-30 | 1983-03-01 | Wisconsin Alumni Research Foundation | Database encryption and decryption circuit and method using subkeys |
US4366537A (en) * | 1980-05-23 | 1982-12-28 | International Business Machines Corp. | Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys |
JPS59123002A (ja) * | 1982-12-29 | 1984-07-16 | Fanuc Ltd | 数値制御装置のフアイル保護方式 |
US4588991A (en) * | 1983-03-07 | 1986-05-13 | Atalla Corporation | File access security method and means |
US4652990A (en) * | 1983-10-27 | 1987-03-24 | Remote Systems, Inc. | Protected software access control apparatus and method |
CA1238427A (en) * | 1984-12-18 | 1988-06-21 | Jonathan Oseas | Code protection using cryptography |
-
1987
- 1987-06-26 US US07/066,909 patent/US4930073A/en not_active Expired - Fee Related
-
1988
- 1988-04-19 JP JP63094717A patent/JPS649524A/ja active Granted
- 1988-06-14 EP EP19880109440 patent/EP0297347A3/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57101921A (en) * | 1980-12-17 | 1982-06-24 | Toshiba Corp | Right protecting system of program |
JPS58154040A (ja) * | 1982-03-08 | 1983-09-13 | Fujitsu Ltd | 有償プログラム使用禁止方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0297347A3 (en) | 1991-10-30 |
JPS649524A (en) | 1989-01-12 |
EP0297347A2 (en) | 1989-01-04 |
US4930073A (en) | 1990-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0570859B2 (ja) | ||
US10129222B2 (en) | Trusted storage systems and methods | |
US7152165B1 (en) | Trusted storage systems and methods | |
US6185686B1 (en) | Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information | |
US9690794B2 (en) | System and method for backing up data | |
US5289540A (en) | Computer file protection system | |
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 | |
US5530752A (en) | Systems and methods for protecting software from unlicensed copying and use | |
WO2008037741A1 (en) | Managing encryption for volumes in storage pools | |
WO1998011690A9 (en) | Self-decrypting digital information system and method | |
JPH10312335A (ja) | データ処理方法およびデータ処理装置 | |
US20040003275A1 (en) | Information storage apparatus, information processing system, specific number generating method and specific number generating program | |
US11386219B2 (en) | Detection of an unauthorized modification to storage and restoration of the storage | |
JPH07210438A (ja) | ファイル管理方法 | |
IE20000934A1 (en) | A Resource control facility | |
JPH03288231A (ja) | Implファイル選択方式 | |
JPS6261123A (ja) | ソフトウエア保護装置 | |
IES20000933A2 (en) | A resource control facility |