JPS63128434A - ソフトウエアの保護方法 - Google Patents
ソフトウエアの保護方法Info
- Publication number
- JPS63128434A JPS63128434A JP62250064A JP25006487A JPS63128434A JP S63128434 A JPS63128434 A JP S63128434A JP 62250064 A JP62250064 A JP 62250064A JP 25006487 A JP25006487 A JP 25006487A JP S63128434 A JPS63128434 A JP S63128434A
- Authority
- JP
- Japan
- Prior art keywords
- software
- coprocessor
- token
- cartridge
- 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
Links
- 238000000034 method Methods 0.000 claims description 48
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 62
- 230000004044 response Effects 0.000 description 37
- 230000008569 process Effects 0.000 description 29
- 238000004891 communication Methods 0.000 description 12
- 238000012546 transfer Methods 0.000 description 12
- 230000002085 persistent effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000005381 magnetic domain Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/109—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Storage Device Security (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
以下の順序で本発明を説明する。
A、産業上の利用分野
B、従来技術
C0発明が解決しようとする問題点
り1問題点を解決するための手段
E6発明の概説
F、実施例
Fl、序論
F2.ソフトウェア保護構成(第1図、第3図)F3.
カートリッジの実施例(第2図、第5図。
カートリッジの実施例(第2図、第5図。
第6図)
F4.供給可能なソフトウェア製品の製造方法(第4図
) F5.上位計算機の実行の流れ図(第7図)F6.実行
権獲得過程の流れ図(第8図)F7.LDR中の上位計
算機の機能(第9A図)F8.LDR中のコプロセッサ
の機能(第9B図) G0発明の効果 A、産業上の利用分野 本発明はデータ処理の分野に関し、さらに具体的にはソ
フトウェア保護機構に関する。さらに具体的には、本発
明は、磁気ディスクもしくは他の媒体として供給される
ソフトウェアを特定の物理的に安全なコプロセッサと関
連する任意の計算機上で使用するようにその使用を制限
する機構を与える。この機構はユーザのバックアップ(
補助)コピーの作成はさまたげず、保護機能はこのよう
なバックアップ・コピーによってはそこなわれない。
) F5.上位計算機の実行の流れ図(第7図)F6.実行
権獲得過程の流れ図(第8図)F7.LDR中の上位計
算機の機能(第9A図)F8.LDR中のコプロセッサ
の機能(第9B図) G0発明の効果 A、産業上の利用分野 本発明はデータ処理の分野に関し、さらに具体的にはソ
フトウェア保護機構に関する。さらに具体的には、本発
明は、磁気ディスクもしくは他の媒体として供給される
ソフトウェアを特定の物理的に安全なコプロセッサと関
連する任意の計算機上で使用するようにその使用を制限
する機構を与える。この機構はユーザのバックアップ(
補助)コピーの作成はさまたげず、保護機能はこのよう
なバックアップ・コピーによってはそこなわれない。
B、従来技術
本発明の背景技術の良好な説明は特開昭61−7234
5号公報に与えられている。
5号公報に与えられている。
米国特許第4458315号はソフトウェアがキ一番号
(第1のキー情報)とともに頒布される場合のソフトウ
ェアを保護する安全保護手順を開示している。ソフトウ
ェアを計算機上で、実行させるためには、計算機は第2
のキー情報を記憶する装置にアクセスしなければならな
い。第1と第2のキー情報が成る特定の関係にない限り
、プログラムは適切に実行されない。しかしながらこの
特許は、本発明の重要な構成部分をなすトランザクショ
ン・トークンの使用を開示しておらず、また、レコード
・キー情報に対するアクセスを制限する方法についても
開示していない。
(第1のキー情報)とともに頒布される場合のソフトウ
ェアを保護する安全保護手順を開示している。ソフトウ
ェアを計算機上で、実行させるためには、計算機は第2
のキー情報を記憶する装置にアクセスしなければならな
い。第1と第2のキー情報が成る特定の関係にない限り
、プログラムは適切に実行されない。しかしながらこの
特許は、本発明の重要な構成部分をなすトランザクショ
ン・トークンの使用を開示しておらず、また、レコード
・キー情報に対するアクセスを制限する方法についても
開示していない。
米国特許第4168396号、第4278837号及び
第4465901号は暗号化プログラムを使用したプロ
グラム保護機構を説明している。
第4465901号は暗号化プログラムを使用したプロ
グラム保護機構を説明している。
プログラムの各コピーは特別にあつらえられ、単一のマ
イクロプロセッサ即ち物理的に一意の単一のマイクロプ
ロセッサ上でだけ実行できるようになっている。しかし
この保護方法はソフトウェアを解読するのに必要なキー
が漏れた場合は保護を維持できないと考えられる。従っ
て、ソフトウェアを保護する実際の技法としてはこの方
法は不適である。ソフトウェアの販売者はそのソフトウ
ェアの各コピー(特注された)を、このソフトウェアを
実行するように特注されたマイクロプロセッサとともに
販売しなければならない。販売者にとっての唯一の代替
方法はユーザが所有しているマイクロプロセッサを知っ
て、ソフトウェアをこれに合うように特製することであ
る。ソフトウェアの販売者がソフトウェアを成るクラス
のマイクロプロセッサ(たとえば、すべての80286
)で実行できるようにすると、保護が失われ、複製ソフ
トウェアがそのクラスのすべてのマイクロプロセッサ上
で自由に実行できるようになる。
イクロプロセッサ即ち物理的に一意の単一のマイクロプ
ロセッサ上でだけ実行できるようになっている。しかし
この保護方法はソフトウェアを解読するのに必要なキー
が漏れた場合は保護を維持できないと考えられる。従っ
て、ソフトウェアを保護する実際の技法としてはこの方
法は不適である。ソフトウェアの販売者はそのソフトウ
ェアの各コピー(特注された)を、このソフトウェアを
実行するように特注されたマイクロプロセッサとともに
販売しなければならない。販売者にとっての唯一の代替
方法はユーザが所有しているマイクロプロセッサを知っ
て、ソフトウェアをこれに合うように特製することであ
る。ソフトウェアの販売者がソフトウェアを成るクラス
のマイクロプロセッサ(たとえば、すべての80286
)で実行できるようにすると、保護が失われ、複製ソフ
トウェアがそのクラスのすべてのマイクロプロセッサ上
で自由に実行できるようになる。
特開昭61−72345号公報は読取り動作によってデ
ータが変更されるように、データを磁気媒体上に記録す
る方法を開示している。このような−回読取り式の磁気
記録は通常のディスク駆動装置では作成できず、通常の
パーソナル・コンピュータ・システムによってはコピー
できない。この公報に開示されてるように、計算機は物
理的及び論理的に安全なコプロセッサと関連しており、
磁気媒体として供給されるソフトウェアは少なくとも、
暗号化された重要部分を含んでいる。磁気媒体は又ソフ
トウェアの暗号化部分を解読するためにコプロセッサに
よって使用されなければならない暗号化された解読キー
を含んでいる。暗号化された解読キーを安全なコプロセ
ッサに転送する動作はデータを変更させる機構とリンク
している。
ータが変更されるように、データを磁気媒体上に記録す
る方法を開示している。このような−回読取り式の磁気
記録は通常のディスク駆動装置では作成できず、通常の
パーソナル・コンピュータ・システムによってはコピー
できない。この公報に開示されてるように、計算機は物
理的及び論理的に安全なコプロセッサと関連しており、
磁気媒体として供給されるソフトウェアは少なくとも、
暗号化された重要部分を含んでいる。磁気媒体は又ソフ
トウェアの暗号化部分を解読するためにコプロセッサに
よって使用されなければならない暗号化された解読キー
を含んでいる。暗号化された解読キーを安全なコプロセ
ッサに転送する動作はデータを変更させる機構とリンク
している。
これによって、特別の手段がないときには、暗号化した
解読キーは、一度磁気媒体を読取ると転送できなくなる
。これによって−供給媒体のコピーの作成が防止される
。コプロセッサが一度、暗号化された解読キーにアクセ
スすると、コプロセッサはこれを解読することができる
。ソフトウェアの実行過程で、暗号化部分はコプロセッ
サによって解読される。これによってソフトウェアが実
行可能になることが保証されるが、ユーザは解読された
形の完全なソフトウェア・パッケージにアクセスするこ
とはできない。
解読キーは、一度磁気媒体を読取ると転送できなくなる
。これによって−供給媒体のコピーの作成が防止される
。コプロセッサが一度、暗号化された解読キーにアクセ
スすると、コプロセッサはこれを解読することができる
。ソフトウェアの実行過程で、暗号化部分はコプロセッ
サによって解読される。これによってソフトウェアが実
行可能になることが保証されるが、ユーザは解読された
形の完全なソフトウェア・パッケージにアクセスするこ
とはできない。
この公報に説明された機構は侵害に非常に強い。
それは解読キー及びソフトウェアの保護部分が暗号化さ
れていない形でユーザにさらされることがないからであ
る。ソフトウェアの所有者は無限にバックアップ・コピ
ーを造ることが可能であるが。
れていない形でユーザにさらされることがないからであ
る。ソフトウェアの所有者は無限にバックアップ・コピ
ーを造ることが可能であるが。
これ等のバックアップ・コピーは他のパーソナル・コン
ピュータ(解読キーをすでに記憶している特定のコプロ
セッサにアクセスできないパーソナル・コンピュータ)
では使用できない、保護システムは任意のソフトウェア
作成者がこれを使用したり。
ピュータ(解読キーをすでに記憶している特定のコプロ
セッサにアクセスできないパーソナル・コンピュータ)
では使用できない、保護システムは任意のソフトウェア
作成者がこれを使用したり。
又任意のハードウェア製造者がこれを製造することがで
きるように開放されている。それは、関与する当事者間
に機密情報(キー情報)を共有する必要がなく、その方
法を公開してもその機密保全性を危うくすることがない
からである。
きるように開放されている。それは、関与する当事者間
に機密情報(キー情報)を共有する必要がなく、その方
法を公開してもその機密保全性を危うくすることがない
からである。
しかしながら−回読取り式の磁気記録はコピー保護シス
テムでは2つの欠点を有する。第1に、磁気媒体を調べ
て、計算機システムに対して模擬動作するような装置を
製造することは(費用がかかるとはいえ)常に可能であ
る。第2に、徹底した侵害者であれば、システムによる
解読キーの受取りを許可するのに使用された一回読取り
の記憶データの読取り前の状態を復元する装置をつ“く
ることが可能かも知れない、従ってこの場合は、再初期
設定媒体を使用して第2のシステムを違法に許可するこ
とができることになる。さらに、この公報のシステムは
あるシステム上では利用できない、もしくはユーザにと
っては高価過ぎるバス・スロットの使用を必要とする。
テムでは2つの欠点を有する。第1に、磁気媒体を調べ
て、計算機システムに対して模擬動作するような装置を
製造することは(費用がかかるとはいえ)常に可能であ
る。第2に、徹底した侵害者であれば、システムによる
解読キーの受取りを許可するのに使用された一回読取り
の記憶データの読取り前の状態を復元する装置をつ“く
ることが可能かも知れない、従ってこの場合は、再初期
設定媒体を使用して第2のシステムを違法に許可するこ
とができることになる。さらに、この公報のシステムは
あるシステム上では利用できない、もしくはユーザにと
っては高価過ぎるバス・スロットの使用を必要とする。
バス・スロットは。
コプロセッサが上位プロセッサのバス動作を監視して、
−回読取りの磁気記録に関する動作が見掛は上上位プロ
セッサ上のプログラムによってシミュレートされていな
いことを確認するために必要である。
−回読取りの磁気記録に関する動作が見掛は上上位プロ
セッサ上のプログラムによってシミュレートされていな
いことを確認するために必要である。
C1発明が解決しようとする問題点
本発明の目的は、ソフトウェアの使用を制限するための
、非常に安全で確実で経済的な保護方法を提供すること
である。
、非常に安全で確実で経済的な保護方法を提供すること
である。
D0問題点を解決するための手段
ソフトウェアは暗号化されて、解読キーと共にユーザに
与えられる。また、解読キーを保持することが許可され
た時、暗号化ソフトウェアを解読できるコプロセッサが
計算機システムに結合される。コプロセッサには、トー
クン情報(暗証情報)を記憶したトークン発生手段が結
合され、トークン発生手段から転送されるトークン情報
が所定の条件を満たす時に、例えば予測された値を持っ
た時に、コプロセッサに解読キーを保持することが許可
され、コプロセッサに解読キーを使用する権利が与えら
れる。トークン発生手段からトークン情報がコプロセッ
サに転送される時にトークン発生手段内のトークン情報
が変更され、完全な形で残らないようにされる。従って
、トークンは再使用できない、暗号化と、解読キーの使
用権を検証する1回使用のトークンとの組合せにより、
ソフトウェアの使用を有効に制限できる。
与えられる。また、解読キーを保持することが許可され
た時、暗号化ソフトウェアを解読できるコプロセッサが
計算機システムに結合される。コプロセッサには、トー
クン情報(暗証情報)を記憶したトークン発生手段が結
合され、トークン発生手段から転送されるトークン情報
が所定の条件を満たす時に、例えば予測された値を持っ
た時に、コプロセッサに解読キーを保持することが許可
され、コプロセッサに解読キーを使用する権利が与えら
れる。トークン発生手段からトークン情報がコプロセッ
サに転送される時にトークン発生手段内のトークン情報
が変更され、完全な形で残らないようにされる。従って
、トークンは再使用できない、暗号化と、解読キーの使
用権を検証する1回使用のトークンとの組合せにより、
ソフトウェアの使用を有効に制限できる。
D1発明の概説
本発明は、今日のソフトウェア供給方式ではユーザに、
ソフトウェア自体の外に、このソフトウェアを実行する
権利を供給しているという認識に基づいてりる。即ち、
ソフトウェアがユーザに販売される時は、ユーザはソフ
トウェア自体のみでなく、これを使用する権利を獲得す
る。しかしながら、ユーザはパーソナル・コンピュータ
によってソフトウェアを複製し、これをその(内在する
)使用権とともに他人に供給できる0本発明はソフトウ
ェアとその使用権とを分離しようとするものである。さ
らに本発明は実行権を発生する手段をソフトウェアの著
作権者もしくはその代理人の手にゆだねることを試みる
6本発明によっても、ソフトウェアの購入者は販売者か
ら受取ったソフトウェアを自由に複製できる。しかしな
がらソフトウェアの購入者はソフトウェアの使用権は複
製できない、事実波はソフトウェアを使用する単一の権
利を受取るだけである。ソフトウェアが実行可能になる
のは使用権が適切なコプロセッサ上に設置された時だけ
である(コプロセッサは、ここでは、使用権(高レベル
の特権)を制御するための支援プロセッサであり、ユー
ザがソフトウェアを実行させることを意図しているパー
ソナル・コンピュータのような上位計算機と組合される
)。ユーザが作成するかも知れないソフトウェアの他の
コピーは(上位計算機が他の適当なコプロセッサと組合
さ九た場合でも)使用権を与えられなげれば、他の上位
計算機上では実行できない。
ソフトウェア自体の外に、このソフトウェアを実行する
権利を供給しているという認識に基づいてりる。即ち、
ソフトウェアがユーザに販売される時は、ユーザはソフ
トウェア自体のみでなく、これを使用する権利を獲得す
る。しかしながら、ユーザはパーソナル・コンピュータ
によってソフトウェアを複製し、これをその(内在する
)使用権とともに他人に供給できる0本発明はソフトウ
ェアとその使用権とを分離しようとするものである。さ
らに本発明は実行権を発生する手段をソフトウェアの著
作権者もしくはその代理人の手にゆだねることを試みる
6本発明によっても、ソフトウェアの購入者は販売者か
ら受取ったソフトウェアを自由に複製できる。しかしな
がらソフトウェアの購入者はソフトウェアの使用権は複
製できない、事実波はソフトウェアを使用する単一の権
利を受取るだけである。ソフトウェアが実行可能になる
のは使用権が適切なコプロセッサ上に設置された時だけ
である(コプロセッサは、ここでは、使用権(高レベル
の特権)を制御するための支援プロセッサであり、ユー
ザがソフトウェアを実行させることを意図しているパー
ソナル・コンピュータのような上位計算機と組合される
)。ユーザが作成するかも知れないソフトウェアの他の
コピーは(上位計算機が他の適当なコプロセッサと組合
さ九た場合でも)使用権を与えられなげれば、他の上位
計算機上では実行できない。
本発明に従えば、ソフトウェアは磁気媒体(たとえばテ
ープもしくはフロッピー・ディスク)上に記録して供給
でき、もしくは他の手段(電話回線、ケーブルもしくは
同時通報伝送)によっても供給できる。ソフトウェアは
暗号部分Peと非暗号(平文)部分Pcに分けられる0
分割の選択は暗号部分だけが侵害から防護されるという
了解によって、ソフトウェアの販売者によってなされる
。
ープもしくはフロッピー・ディスク)上に記録して供給
でき、もしくは他の手段(電話回線、ケーブルもしくは
同時通報伝送)によっても供給できる。ソフトウェアは
暗号部分Peと非暗号(平文)部分Pcに分けられる0
分割の選択は暗号部分だけが侵害から防護されるという
了解によって、ソフトウェアの販売者によってなされる
。
ソフトウェアを暗号化するのに使用する暗号キー(アプ
リケーション・キーAK又は実行権キーRTEと呼ばれ
る)はソフトウェアの販売者だけに知られている。ユー
ザに与えられる保護されたソフトウェアは暗号形(EA
K)としてソフトウェア解読キー(AK)で暗号化され
る。ソフトウェア解読キー(AK)はソフトウェアの販
売者に知られていないハードウェアの販売者の暗号キー
(C8K)で暗号化される。この暗号化はコプロセッサ
によって遂行されるサービスである。また、使用権の正
当性を検証するために用いられるトークン・データもA
Kによって暗号化され、暗号化されたソフトウェア、暗
号化された解読キーと共にユーザに供給される。
リケーション・キーAK又は実行権キーRTEと呼ばれ
る)はソフトウェアの販売者だけに知られている。ユー
ザに与えられる保護されたソフトウェアは暗号形(EA
K)としてソフトウェア解読キー(AK)で暗号化され
る。ソフトウェア解読キー(AK)はソフトウェアの販
売者に知られていないハードウェアの販売者の暗号キー
(C8K)で暗号化される。この暗号化はコプロセッサ
によって遂行されるサービスである。また、使用権の正
当性を検証するために用いられるトークン・データもA
Kによって暗号化され、暗号化されたソフトウェア、暗
号化された解読キーと共にユーザに供給される。
ソフトウェア販売者が供給するキー(A K)は、ソフ
トウェア供給媒体もしくi±他の手段を介してプログラ
ムとともに暗号形でユーザに供給でき、また一般に、A
Kを暗号化するのに使用するキーは、所与のハードウェ
ア販売者によって供給されるすべてのコプロセッサ中に
製造時に記憶されるコプロセッサ・スーパーバイザ・キ
ー(C8K)のリストから選択される。
トウェア供給媒体もしくi±他の手段を介してプログラ
ムとともに暗号形でユーザに供給でき、また一般に、A
Kを暗号化するのに使用するキーは、所与のハードウェ
ア販売者によって供給されるすべてのコプロセッサ中に
製造時に記憶されるコプロセッサ・スーパーバイザ・キ
ー(C8K)のリストから選択される。
キー(C8K)の記憶状態はソフトウェア販売者が知る
必要はないようになっている。ソフトウェアの販売者が
ソフトウェアの販売者のキーを暗号化するのに使用する
コプロセッサはユーザがソフトウェアを解読して実行す
るのに使用するのと全く同じ型のコプロセッサである。
必要はないようになっている。ソフトウェアの販売者が
ソフトウェアの販売者のキーを暗号化するのに使用する
コプロセッサはユーザがソフトウェアを解読して実行す
るのに使用するのと全く同じ型のコプロセッサである。
もしくは、この目的のために特殊なプロセッサを販売す
るか、標準のプロセッサにハードウェアの製造者からの
暗号化されたメツセージを供給することによってこの機
能を遂行させることができる。これ等のオプションはこ
のような装置の製造者に柔軟性を与えるのに役立つ6同
様に、ソフトウェアの販売者の解読キーはソフトウェア
のユーザに暴露されることはなく、ハードウェアの販売
者の暗号キー(CS K)はソフトウェアの販売者に暴
露されることはない、従って本発明のシステムは保護を
与えるのにハードウェアとソフトウェアの製造者間で情
報を共有する必要がないという性質を有する。
るか、標準のプロセッサにハードウェアの製造者からの
暗号化されたメツセージを供給することによってこの機
能を遂行させることができる。これ等のオプションはこ
のような装置の製造者に柔軟性を与えるのに役立つ6同
様に、ソフトウェアの販売者の解読キーはソフトウェア
のユーザに暴露されることはなく、ハードウェアの販売
者の暗号キー(CS K)はソフトウェアの販売者に暴
露されることはない、従って本発明のシステムは保護を
与えるのにハードウェアとソフトウェアの製造者間で情
報を共有する必要がないという性質を有する。
ソフトウェア実行の要求があった時は、暗号化された解
読キーAKがコプロセッサに与えられ、所定のC8Kを
用いてAKが解読される。しかし、コプロセッサは、解
読された解読キーAKを用いて直ちに暗号化ソフトウェ
アを解読実行できるわけではなく、その実行要求が正当
な使用権に基づいてなされたものであるかを検証した時
にのみ、解読キーAKの使用権を認められる。
読キーAKがコプロセッサに与えられ、所定のC8Kを
用いてAKが解読される。しかし、コプロセッサは、解
読された解読キーAKを用いて直ちに暗号化ソフトウェ
アを解読実行できるわけではなく、その実行要求が正当
な使用権に基づいてなされたものであるかを検証した時
にのみ、解読キーAKの使用権を認められる。
このような検証を行なうために、トークン・データ(暗
証情報)を含むハードウェア・カートリッジが設けられ
、カートリッジから与えられるトークンが、先に暗号化
形でソフトウェア・パッケージの一部として与えられて
いるトークン・データ(即ち、トランザクシミン・トー
クン)と一致するかどうか調べられる。ハードウェア・
カートリッジは正当な使用権を有するユーザにソフトウ
ェア販売者から与えられるものである。
証情報)を含むハードウェア・カートリッジが設けられ
、カートリッジから与えられるトークンが、先に暗号化
形でソフトウェア・パッケージの一部として与えられて
いるトークン・データ(即ち、トランザクシミン・トー
クン)と一致するかどうか調べられる。ハードウェア・
カートリッジは正当な使用権を有するユーザにソフトウ
ェア販売者から与えられるものである。
トークン・カートリッジ及びその情報内容は物理的に安
全に保持され、不法アクセスを避けることができるもの
でなければならない。本発明と直接関係ないが、この物
理的安全性を得る方法としては、不法にアクセスしよう
とする者が装置の内部構造を調べようとして装置を破壊
したり又はプローブ等を挿入したときこれを検出して記
憶データを破壊する方法が提案されており、トークン・
カートリッジ及びコプロセッサの物理的保護手段として
このような技術を使用することができる。
全に保持され、不法アクセスを避けることができるもの
でなければならない。本発明と直接関係ないが、この物
理的安全性を得る方法としては、不法にアクセスしよう
とする者が装置の内部構造を調べようとして装置を破壊
したり又はプローブ等を挿入したときこれを検出して記
憶データを破壊する方法が提案されており、トークン・
カートリッジ及びコプロセッサの物理的保護手段として
このような技術を使用することができる。
トークンは単一の、連続的に電力が供給される集積回路
チップとして具体化できるので、この場合は追加の物理
的な機密保持手段は必要でない。たとえトークンの物理
的安全性が破られても、暗号キーが暴露されることなく
、単一の関連ソフトウェア・パッケージを再供給すれば
よい。
チップとして具体化できるので、この場合は追加の物理
的な機密保持手段は必要でない。たとえトークンの物理
的安全性が破られても、暗号キーが暴露されることなく
、単一の関連ソフトウェア・パッケージを再供給すれば
よい。
ハードウェア・カートリッジがコプロセッサの証拠呈示
要求に答えられる時にだけ、ソフトウェアの解読キーが
有効になる。カートリッジは平文形でトークン・データ
を記憶しているので、ハードウェア・カートリッジは物
理的、論理的に安全でなければならない。コプロセッサ
のハードウェア・カートリッジに対する証拠呈示要求は
照会の形をなし、ハードウェア・カートリッジは照会に
対して、照会とトークン・データの関数である返答を戻
すことによって応答する。この関数は未使用のトークン
の振舞いを再現できるほどトークン・データを十分に開
示しないように選択される。このような関数の例は照会
の内容に基づいて、トークンの内容の50%を選択する
ものである。ハードウェア・カートリッジが応答を発生
する時、記憶していたすべての平文のトークン・データ
は重ね書きされるか、破壊される。照会/応答過程の結
果、コプロセッサは平文のトークン・データの選択され
た一部もしくは変形部分を受取る。従って、コプロセッ
サとハードウェア・カートリッジ間の通信経路が安全で
ない場合でも、トランザクションをモニタする(たとえ
ば照会及び応答をコピーする)者はカートリッジの振舞
いをシミュレートするのに十分な情報が与えられない。
要求に答えられる時にだけ、ソフトウェアの解読キーが
有効になる。カートリッジは平文形でトークン・データ
を記憶しているので、ハードウェア・カートリッジは物
理的、論理的に安全でなければならない。コプロセッサ
のハードウェア・カートリッジに対する証拠呈示要求は
照会の形をなし、ハードウェア・カートリッジは照会に
対して、照会とトークン・データの関数である返答を戻
すことによって応答する。この関数は未使用のトークン
の振舞いを再現できるほどトークン・データを十分に開
示しないように選択される。このような関数の例は照会
の内容に基づいて、トークンの内容の50%を選択する
ものである。ハードウェア・カートリッジが応答を発生
する時、記憶していたすべての平文のトークン・データ
は重ね書きされるか、破壊される。照会/応答過程の結
果、コプロセッサは平文のトークン・データの選択され
た一部もしくは変形部分を受取る。従って、コプロセッ
サとハードウェア・カートリッジ間の通信経路が安全で
ない場合でも、トランザクションをモニタする(たとえ
ば照会及び応答をコピーする)者はカートリッジの振舞
いをシミュレートするのに十分な情報が与えられない。
コプロセッサは平文のトークン・データの選択された部
分もしくは変形を受取るだけであるが、コプロセッサは
照会データと平文のトークン・データ(暗号化トークン
・データを解読したもの)の両方を手元に有するから、
コプロセッサはその応答が真正なカートリッジを識別す
るものであるかどうかを判断するのに必要なすべての情
報を有する。
分もしくは変形を受取るだけであるが、コプロセッサは
照会データと平文のトークン・データ(暗号化トークン
・データを解読したもの)の両方を手元に有するから、
コプロセッサはその応答が真正なカートリッジを識別す
るものであるかどうかを判断するのに必要なすべての情
報を有する。
コプロセッサとハードウェア・カートリッジ間の通信経
路は直接(ハードウェア・カートリッジをコプロセッサ
のボートに結合することによって)もしくは間接(許可
さるべき上位計算機もしくはプロセッサを介して)に接
続される。
路は直接(ハードウェア・カートリッジをコプロセッサ
のボートに結合することによって)もしくは間接(許可
さるべき上位計算機もしくはプロセッサを介して)に接
続される。
適切な照会の好ましい例は指定されたビット長の乱数で
ある。この照会はハードウェア・カートリッジへ入力さ
れ、ハードウェア・カートリッジ中に記憶されている平
文のトークン・データの別個の排他的部分を選択するの
に使用される。簡単な例では、照会は2進数であり、平
文のトークン・データが2つの部分に分かれている場合
には、照会の各ビットが第1の部分もしくは第2の部分
から1ビツトを選択するのに使用できる6選択されたビ
ットが応答の1ビツトを構成し、これと同時に、選択さ
れたビット及び選択されないビットは重ね書きされるか
消去される。従ってこの例では照会のビット長は平文の
トークン・データのビット長の半分に等しい。コプロセ
ッサとハードウェア・カートリッジ間の通信経路は安全
ではないので、侵害者が照会と応答をコピーすることが
想定できる。しかし侵害者は他のコプロセッサが発生す
る照会を制御できないので、彼が知り得る応答は真正な
ハードウェア・カートリッジの効果をシミュレートする
には不十分である。
ある。この照会はハードウェア・カートリッジへ入力さ
れ、ハードウェア・カートリッジ中に記憶されている平
文のトークン・データの別個の排他的部分を選択するの
に使用される。簡単な例では、照会は2進数であり、平
文のトークン・データが2つの部分に分かれている場合
には、照会の各ビットが第1の部分もしくは第2の部分
から1ビツトを選択するのに使用できる6選択されたビ
ットが応答の1ビツトを構成し、これと同時に、選択さ
れたビット及び選択されないビットは重ね書きされるか
消去される。従ってこの例では照会のビット長は平文の
トークン・データのビット長の半分に等しい。コプロセ
ッサとハードウェア・カートリッジ間の通信経路は安全
ではないので、侵害者が照会と応答をコピーすることが
想定できる。しかし侵害者は他のコプロセッサが発生す
る照会を制御できないので、彼が知り得る応答は真正な
ハードウェア・カートリッジの効果をシミュレートする
には不十分である。
ハードウェア・カートリッジは1回だけ解読キーの使用
を許可できるように構成されている。このことはユーザ
がソフトウェア解読キーAKを単一のコプロセッサに転
送できることを保証している。ユーザは自由にソフトウ
ェア媒体をバックアップできるが、保護されたプログラ
ムはソフトウェア解読キーを含むコプロセッサと協働し
てしか実行できない。コプロセッサは物理的及び論理的
に安全であるから、記憶されているソフトウェアの解読
キーはコピーできない、転送トークンを含むハードウェ
ア・カートリッジは、物理的及び論理的に安全であるか
ら、これはコピーできない。
を許可できるように構成されている。このことはユーザ
がソフトウェア解読キーAKを単一のコプロセッサに転
送できることを保証している。ユーザは自由にソフトウ
ェア媒体をバックアップできるが、保護されたプログラ
ムはソフトウェア解読キーを含むコプロセッサと協働し
てしか実行できない。コプロセッサは物理的及び論理的
に安全であるから、記憶されているソフトウェアの解読
キーはコピーできない、転送トークンを含むハードウェ
ア・カートリッジは、物理的及び論理的に安全であるか
ら、これはコピーできない。
又ソフトウェア暗号キーの転送動作はトークン情報内容
を変更もしくは破壊するので、この過程は一回限り実行
されるだけである。
を変更もしくは破壊するので、この過程は一回限り実行
されるだけである。
コプロセッサを機密情報(A K)の信頼できる受取人
とみなした場合には、トークンは他の者がメツセージ(
A K)を不正に受取らないようにする、封筒の封ろう
にたとえることができる。トークンは従って販売者のソ
フトウェアを実行できる全コプロセッサに対するソフト
ウェア販売者による管理を与えるものである。従来の技
術に欠けていて、ソフトウェアの侵害を許したのはこの
管理である。
とみなした場合には、トークンは他の者がメツセージ(
A K)を不正に受取らないようにする、封筒の封ろう
にたとえることができる。トークンは従って販売者のソ
フトウェアを実行できる全コプロセッサに対するソフト
ウェア販売者による管理を与えるものである。従来の技
術に欠けていて、ソフトウェアの侵害を許したのはこの
管理である。
F、実施例
Fl、序論
説明のため、上位計算機もしくはワーク・ステーション
はIBMパーソナル・コンピュータ(PC)であるもの
とする。その動作については1981年刊IBMパーソ
ナル・コンピュータ技術マニュアル(I B M Pe
rsonal Computer Technical
Reference Manual、1981)に説明
されている。上位ディスク・オペレーティング・システ
ム(DO8)はIBM PCDO8であるものとする
。この仮定は単に説明を明確にするためのものであり、
他のシステムでも同様に実施できる。
はIBMパーソナル・コンピュータ(PC)であるもの
とする。その動作については1981年刊IBMパーソ
ナル・コンピュータ技術マニュアル(I B M Pe
rsonal Computer Technical
Reference Manual、1981)に説明
されている。上位ディスク・オペレーティング・システ
ム(DO8)はIBM PCDO8であるものとする
。この仮定は単に説明を明確にするためのものであり、
他のシステムでも同様に実施できる。
本発明に従うソフトウェア保護システムは2つの部分、
即ち上位計算機の中に設置されるか、又はこれに結合さ
れるハードウェア特権支援システム(コプロセッサ)及
びソフトウェアを販売者からユーザに供給するのに使用
されるソフトウェア記録媒体(磁性もしくは他の)より
成る。ソフトウェアが磁気媒体(プロッピー・ディスク
もしくはテープ)によって頒布される時には販売もしく
はリリースされるように準備される媒体は次の部分より
成る(第3図参照)。
即ち上位計算機の中に設置されるか、又はこれに結合さ
れるハードウェア特権支援システム(コプロセッサ)及
びソフトウェアを販売者からユーザに供給するのに使用
されるソフトウェア記録媒体(磁性もしくは他の)より
成る。ソフトウェアが磁気媒体(プロッピー・ディスク
もしくはテープ)によって頒布される時には販売もしく
はリリースされるように準備される媒体は次の部分より
成る(第3図参照)。
(1)ソフトウェア販売者によって選択されるキーAK
によって暗号化される少なくとも1つのプログラム・フ
ァイルより成るアプリケーション・プログラム。
によって暗号化される少なくとも1つのプログラム・フ
ァイルより成るアプリケーション・プログラム。
(2)暗号化したソフトウェアを、実行可能にする、暗
号化形EAKで与えられた解読キーAK、ここでAKの
暗号化はハードウェアの販売者の(秘密の)暗号キーC
5Kによって行われる。
号化形EAKで与えられた解読キーAK、ここでAKの
暗号化はハードウェアの販売者の(秘密の)暗号キーC
5Kによって行われる。
(3)同じソフトウェア販売者のキー(AK)によって
暗号化された、暗号形トークン・データETD。
暗号化された、暗号形トークン・データETD。
以下説明するように、ソフトウェア解読キーの暗号化は
コプロセッサの使用によって遂行される。
コプロセッサの使用によって遂行される。
このプロセッサはすべての点でユーザPCと関連して動
作するコプロセッサと同じである。ソフトウェアの販売
者はその中に記憶されている情報(ハードウェアの販売
者の暗号キーC3K)にアクセスできない。
作するコプロセッサと同じである。ソフトウェアの販売
者はその中に記憶されている情報(ハードウェアの販売
者の暗号キーC3K)にアクセスできない。
以下説明するように、ソフトウェアは上位計算機に転送
される情報のパッケージが上述の3つの項目を含む限り
、通信リンクを介しても供給できる。
される情報のパッケージが上述の3つの項目を含む限り
、通信リンクを介しても供給できる。
本発明の特徴は、コプロセッサがソフトウェアを実行す
る許可を受取らない限り、ソフトウェアを実行できない
ことである。もし侵害者がコプロセッサに結合されたシ
ステム上で実行しようとした場合は、ソフトウェア暗号
キーを供給媒体からコプロセッサの持久メモリに転送し
なければならない。しかしながら、以下に説明するよう
に、この転送には一回しか使用できないハードウェア・
カートリッジからのトークン・データが必要である。八
−ドウエア・カートリッジは複製もしくは偽造が困難な
ように構成されている。適切なトークン・カートリッジ
がない場合には、コプロセッサは保護されたプログラム
を実行するのに必要なAKを受取ることはできない。ま
た、もし侵害者がコプロセッサを用いないシステム上で
実行しようとした場合は、暗号化されたアプリケーショ
ン・プログラムの部分を解読しなければならない。しか
しこれは、先ず不可能なことである。しかも、コプロセ
ッサを装備したシステムには2つのプロセッサがあるの
で、このようなアプリケーション・プログラムは通常、
2つのプロセッサ上で同時に動作するように、もしくは
コプロセッサ上の特別の機構を使用するように書かれる
であろう。従って、仮にこのような解読を達成できたと
しても、ソフトウェアはコプロセッサなしで実行できる
ように大巾に書直さない限り依然後に立たない。
る許可を受取らない限り、ソフトウェアを実行できない
ことである。もし侵害者がコプロセッサに結合されたシ
ステム上で実行しようとした場合は、ソフトウェア暗号
キーを供給媒体からコプロセッサの持久メモリに転送し
なければならない。しかしながら、以下に説明するよう
に、この転送には一回しか使用できないハードウェア・
カートリッジからのトークン・データが必要である。八
−ドウエア・カートリッジは複製もしくは偽造が困難な
ように構成されている。適切なトークン・カートリッジ
がない場合には、コプロセッサは保護されたプログラム
を実行するのに必要なAKを受取ることはできない。ま
た、もし侵害者がコプロセッサを用いないシステム上で
実行しようとした場合は、暗号化されたアプリケーショ
ン・プログラムの部分を解読しなければならない。しか
しこれは、先ず不可能なことである。しかも、コプロセ
ッサを装備したシステムには2つのプロセッサがあるの
で、このようなアプリケーション・プログラムは通常、
2つのプロセッサ上で同時に動作するように、もしくは
コプロセッサ上の特別の機構を使用するように書かれる
であろう。従って、仮にこのような解読を達成できたと
しても、ソフトウェアはコプロセッサなしで実行できる
ように大巾に書直さない限り依然後に立たない。
コプロセッサ自体は計算システムである。コプロセッサ
はそれ自身のプロセッサ、ファームウェア及び読取り専
用メモリ(ROM) 、実時間クロック及びRAMを有
する。コプロセッサはメモリ及びI10アドレス・スペ
ース中にマツプされるアダプタ・カード・セットとして
パーソナル・コンピュータ中に設置されるか、単に工/
○ポートを介してパーソナル・コンピュータに結合でき
る。
はそれ自身のプロセッサ、ファームウェア及び読取り専
用メモリ(ROM) 、実時間クロック及びRAMを有
する。コプロセッサはメモリ及びI10アドレス・スペ
ース中にマツプされるアダプタ・カード・セットとして
パーソナル・コンピュータ中に設置されるか、単に工/
○ポートを介してパーソナル・コンピュータに結合でき
る。
しかし、コプロセッサのメモリの一部しかPCによって
アドレスできないようにすることが必要である。又PC
によってアドレスできないコプロセッサのメモリの部分
はユーザにとって物理的にアクセス不能でなければなら
ない。コプロセッサがアプリケーション・ソフトウェア
の暗号化部分を解読して実行するのはこのメモリである
。
アドレスできないようにすることが必要である。又PC
によってアドレスできないコプロセッサのメモリの部分
はユーザにとって物理的にアクセス不能でなければなら
ない。コプロセッサがアプリケーション・ソフトウェア
の暗号化部分を解読して実行するのはこのメモリである
。
プロセッサ・メモリ(RAM及びROM)及びポート・
アドレス・レジスタ(ない場合もある)の外に、コプロ
セッサは(電池で支援された0MO8RAMもしくはE
EPROM(7)ような)ROM及び持久メモリ装置を
含む物理的及び論理的に安全なメモリ・スペースを有す
る。
アドレス・レジスタ(ない場合もある)の外に、コプロ
セッサは(電池で支援された0MO8RAMもしくはE
EPROM(7)ような)ROM及び持久メモリ装置を
含む物理的及び論理的に安全なメモリ・スペースを有す
る。
ROMはシステム・ファームウェアを含む。ファームウ
ェアはモニタの形をなし、その指令はPCがコプロセッ
サから要求できるサービスである。
ェアはモニタの形をなし、その指令はPCがコプロセッ
サから要求できるサービスである。
このようなサービスの完備したセットは最小限法のもの
を含む。
を含む。
(1)実行権の獲得(ARE)
(2)アプリケーションのロード、解読及び実行(LD
R) 持久RAM装置はアプリケーション・ソフトウェアの解
読キーAKI、AK2等がすべてのC8Kとともに記憶
される安全な持久メモリとしてコプロセッサによって使
用される。
R) 持久RAM装置はアプリケーション・ソフトウェアの解
読キーAKI、AK2等がすべてのC8Kとともに記憶
される安全な持久メモリとしてコプロセッサによって使
用される。
コプロセッサは少なくとも2つのレベルの特権を有し、
AKを記憶するのに使用するメモリはユーザから適切に
安全に保護されている。このことが必要なのは、ユーザ
がソフトウェアの書き手になりうるあるからである。も
し1人の著作権者のために実行されるソフトウェアが他
の著作権者のAKを読取ることができると、このユーザ
/著作権者は他の著作権者のAKを取出して、その保護
されたソフトウェアを解読できることになる。AKの設
置、使用及びこれへのアクセスの管理はシステムに対す
る高位の特権レベルの重要な機能であることは明らかで
あろう。
AKを記憶するのに使用するメモリはユーザから適切に
安全に保護されている。このことが必要なのは、ユーザ
がソフトウェアの書き手になりうるあるからである。も
し1人の著作権者のために実行されるソフトウェアが他
の著作権者のAKを読取ることができると、このユーザ
/著作権者は他の著作権者のAKを取出して、その保護
されたソフトウェアを解読できることになる。AKの設
置、使用及びこれへのアクセスの管理はシステムに対す
る高位の特権レベルの重要な機能であることは明らかで
あろう。
コプロセッサ上で解読及び実行されるすべてのアプリケ
ーション・ソフトウェアは、持久RAMのアクセス並び
に保護ソフトウェアのロード、解読及び開始を制御する
ROM常駐ファームウェアよりも低い特権レベルにある
。
ーション・ソフトウェアは、持久RAMのアクセス並び
に保護ソフトウェアのロード、解読及び開始を制御する
ROM常駐ファームウェアよりも低い特権レベルにある
。
上述したように、コプロセッサは物理的及び論理的に安
全でなければならない。この安全性はユーザが論理アナ
ライザもしくは他のディジタル制御兼記録装置を適用し
て、安全なメモリ・スペースの内容の記録し従って、A
Kもしくは解読ソフトウェアを獲得するのを防止するた
めに必要である。
全でなければならない。この安全性はユーザが論理アナ
ライザもしくは他のディジタル制御兼記録装置を適用し
て、安全なメモリ・スペースの内容の記録し従って、A
Kもしくは解読ソフトウェアを獲得するのを防止するた
めに必要である。
PC即ち個人のワーク・ステーションは単一バス・マイ
クロ・プロセッサ・システムである。IBM PCは
このクラスの機械の代表的なものである。このようなシ
ステムは(中間にソケットを有する伝送線の配列でよい
)バスを、論理的に分離したサブシステム間の通信媒体
として使用している。サブシステムの一部は、バスを支
援する同一パッケージ素子(この場合はシステム・ボー
ドと呼ばれる印刷回路ボード)上に存在し得る。システ
ムの機能にとって必要である。もしくはシステムの機能
の拡張を与えるサブシステムはソケットによってバスに
取付けられる。
クロ・プロセッサ・システムである。IBM PCは
このクラスの機械の代表的なものである。このようなシ
ステムは(中間にソケットを有する伝送線の配列でよい
)バスを、論理的に分離したサブシステム間の通信媒体
として使用している。サブシステムの一部は、バスを支
援する同一パッケージ素子(この場合はシステム・ボー
ドと呼ばれる印刷回路ボード)上に存在し得る。システ
ムの機能にとって必要である。もしくはシステムの機能
の拡張を与えるサブシステムはソケットによってバスに
取付けられる。
F2.ソフトウェア保護構成
第1図の上位計算機と記されている領域におけるサブシ
ステムの集合は普通のほぼ最小構成のPCの例である。
ステムの集合は普通のほぼ最小構成のPCの例である。
PCCPU4は単一チップのマイクロプロセッサ及び1
群の支援チップより成る。
群の支援チップより成る。
PCCPU4はクロックと呼ばれる周期的信号が与えら
れ、支援チップによってバスに接続されている。マイク
ロ・プロセッサは通常これ以上の支援が与えられるが、
すべての支援はメモリからの命令のフェッチ(取出し)
、サブシステムのある選択された素子(たとえばRAM
)からのデータのフェッチ、命令の実行、及び必要な時
に、システムの選択された素子に実行結果を記憶すると
いう繰返しサイクルを実行することを目的としている。
れ、支援チップによってバスに接続されている。マイク
ロ・プロセッサは通常これ以上の支援が与えられるが、
すべての支援はメモリからの命令のフェッチ(取出し)
、サブシステムのある選択された素子(たとえばRAM
)からのデータのフェッチ、命令の実行、及び必要な時
に、システムの選択された素子に実行結果を記憶すると
いう繰返しサイクルを実行することを目的としている。
CPU4には直接メモリ・アクセス(DMA)と呼ばれ
る支援が与えられている。DMAは、データを1つのア
ドレス可能素子から他のアドレス可能素子へ移動するこ
とを含むタスクをマイクロプロセッサから開放する。
る支援が与えられている。DMAは、データを1つのア
ドレス可能素子から他のアドレス可能素子へ移動するこ
とを含むタスクをマイクロプロセッサから開放する。
マイクロプロセッサは遂行されるバスの動作のタイプ(
フェッチ、記憶等)、及び選択される素子のタイプを制
御する。これによってバス中の制御線はその役割を主張
する(バス定義と呼ばれるプロトコールに従って適切な
電位に変更される)。
フェッチ、記憶等)、及び選択される素子のタイプを制
御する。これによってバス中の制御線はその役割を主張
する(バス定義と呼ばれるプロトコールに従って適切な
電位に変更される)。
これ等の手段によってマイクロプロセッサは命令の集合
(プログラム)を得て、データの集合に対して命令を実
行し、命令実行の結果としてシステムの他の素子中に記
憶されているデータを変更することができる。
(プログラム)を得て、データの集合に対して命令を実
行し、命令実行の結果としてシステムの他の素子中に記
憶されているデータを変更することができる。
RAM6はCPU4によってデータがフェッチされ、書
込まれるサブシステムである。これはある他のソースか
らロードされるデータ及び命令を記憶するのに使用する
サブシステムである。RAM6に意味のある内容がある
時は、この内容はCPU4によってこれに書込まれたも
のである。計算機の電力がオンになった時点では、RA
M6の内容は実用的な目的にとっては、意味のないもの
である。
込まれるサブシステムである。これはある他のソースか
らロードされるデータ及び命令を記憶するのに使用する
サブシステムである。RAM6に意味のある内容がある
時は、この内容はCPU4によってこれに書込まれたも
のである。計算機の電力がオンになった時点では、RA
M6の内容は実用的な目的にとっては、意味のないもの
である。
ROM8はデータがフェッチだけできるサブシステムで
ある。これは計算機の有用な動作を開始するのに必要な
、及び残りのサブシステムの制御に有用なプログラムの
集合を含んでいる。
ある。これは計算機の有用な動作を開始するのに必要な
、及び残りのサブシステムの制御に有用なプログラムの
集合を含んでいる。
残りのサブシステムである。端末制御ユニット9、表示
装置11、手動入力装置13、ディスク・システム制御
ユニット15、ディスク駆動装置17及びI10ポート
19はアドレス可能な素子と、人間の感覚にうったえ、
人間の動作によって影響を与えられ、磁気媒体を操作し
て磁気媒体上の磁気ドメイン間の境界を形成し、感知す
ることを含む読取り及び書込み動作を遂行する機械的、
光学的もしくは電気磁気(もしくは他の)素子を有する
もしくは支援するものとして特徴付けられる。
装置11、手動入力装置13、ディスク・システム制御
ユニット15、ディスク駆動装置17及びI10ポート
19はアドレス可能な素子と、人間の感覚にうったえ、
人間の動作によって影響を与えられ、磁気媒体を操作し
て磁気媒体上の磁気ドメイン間の境界を形成し、感知す
ることを含む読取り及び書込み動作を遂行する機械的、
光学的もしくは電気磁気(もしくは他の)素子を有する
もしくは支援するものとして特徴付けられる。
アドレス可能な素子のあるものの内容はサブシステムの
、機械的、光学的及び電子磁気的装置の動作を制御し、
他のアドレス可能な素子の内容は機械的、光学的もしく
は電子磁気的素子によって制御される。従って、これ等
の装置によって、計算システムはユーザ並びに磁気及び
他の媒体と相互作用をすることが可能になる。ユーザと
相互作用するのに必要な素子を与えるサブシステムは端
末制御サブシステムと呼ばれる。磁気媒体上に読取り及
び書込み動作を可能とする普通の形式のサブシステムは
ディスク制御システムと呼ばれる。
、機械的、光学的及び電子磁気的装置の動作を制御し、
他のアドレス可能な素子の内容は機械的、光学的もしく
は電子磁気的素子によって制御される。従って、これ等
の装置によって、計算システムはユーザ並びに磁気及び
他の媒体と相互作用をすることが可能になる。ユーザと
相互作用するのに必要な素子を与えるサブシステムは端
末制御サブシステムと呼ばれる。磁気媒体上に読取り及
び書込み動作を可能とする普通の形式のサブシステムは
ディスク制御システムと呼ばれる。
電力上昇時に、マイクロプロセッサはメモリの一定位置
からの命令フェッチを実行する。このアドレスはROM
8によって占有されているものである。この位置にある
命令はシステムが使用可能であるかどうかをテストして
初期設定する効果を有するプログラムへのジャンプであ
る。システムの初期設定プログラムの1つによってディ
スク・オペレーティング・システムと呼ばれるプログラ
ムがディスクから読取って実行する。このプログラム(
DO8)は端末制御システムの使用によってユーザから
コマンドを受取ることが可能である。
からの命令フェッチを実行する。このアドレスはROM
8によって占有されているものである。この位置にある
命令はシステムが使用可能であるかどうかをテストして
初期設定する効果を有するプログラムへのジャンプであ
る。システムの初期設定プログラムの1つによってディ
スク・オペレーティング・システムと呼ばれるプログラ
ムがディスクから読取って実行する。このプログラム(
DO8)は端末制御システムの使用によってユーザから
コマンドを受取ることが可能である。
これ等のコマンドはユーザが選択したプログラムによっ
てシステム上での実行を可能にする。この動作はこのプ
ログラムが存在するファイルの名前を(手動入力装置を
使用して)DOSプログラムに知らせることによって行
われる。
てシステム上での実行を可能にする。この動作はこのプ
ログラムが存在するファイルの名前を(手動入力装置を
使用して)DOSプログラムに知らせることによって行
われる。
第1図の15で示したサブシステムの集合は最小構成の
コプロセッサ・システムの例である。このハードウェア
の素子は2つの部分から成るものと考えることができる
。1つの部分(154)はハードウェアがPCと通信で
きるようにするアドレス可能な素子を含み、(ユーザと
上位計算機の間のように)コマンドとデータが交換でき
るようになっている。他の部分はPCとの通信とは直接
関係ないコプロセッサCPU150、RAM151、R
OM152、実時間クロック156及び持久RAM15
3を含んでいる。
コプロセッサ・システムの例である。このハードウェア
の素子は2つの部分から成るものと考えることができる
。1つの部分(154)はハードウェアがPCと通信で
きるようにするアドレス可能な素子を含み、(ユーザと
上位計算機の間のように)コマンドとデータが交換でき
るようになっている。他の部分はPCとの通信とは直接
関係ないコプロセッサCPU150、RAM151、R
OM152、実時間クロック156及び持久RAM15
3を含んでいる。
持久RAM153はEEPROM、電池支援CMO8R
AMもしくはその記憶内容を消去できる他の技術によっ
て具体化される。
AMもしくはその記憶内容を消去できる他の技術によっ
て具体化される。
持久性と消去可能性という性質の組合せが必要なのは、
ソフトウェア・キー(A K)とコプロセッサ・スーパ
ーバイザ・キー(C8K)の記憶を維持できるが、侵入
検出システム155が何らかの物理的侵入又は破壊を検
出した時に記憶を消去できるようにするためである。本
発明と直接関係ないが、このような検出システムはコプ
ロセッサの物理的保護を与えるものである。
ソフトウェア・キー(A K)とコプロセッサ・スーパ
ーバイザ・キー(C8K)の記憶を維持できるが、侵入
検出システム155が何らかの物理的侵入又は破壊を検
出した時に記憶を消去できるようにするためである。本
発明と直接関係ないが、このような検出システムはコプ
ロセッサの物理的保護を与えるものである。
実時間クロック156は特殊カウンタを含むサブシステ
ムである。これには、持久メモリ及び侵入検出シス与ム
に電力を供給するのに使用したものと同じ電池によって
電力が供給される。この電池は計算システムがオフにな
った時にカウンタ及びその支援チップに電力を供給する
。カウンタはその支援チップによって発生されたクロッ
ク信号に応答してそのレジスタをインクレメントし、そ
のレジスタがコプロセッサの製造者によって初期設定さ
れて以来の経過時間が反映される。従って。
ムである。これには、持久メモリ及び侵入検出シス与ム
に電力を供給するのに使用したものと同じ電池によって
電力が供給される。この電池は計算システムがオフにな
った時にカウンタ及びその支援チップに電力を供給する
。カウンタはその支援チップによって発生されたクロッ
ク信号に応答してそのレジスタをインクレメントし、そ
のレジスタがコプロセッサの製造者によって初期設定さ
れて以来の経過時間が反映される。従って。
もしレジスタが(標準)時刻に初期設定されると、その
内容は時刻を反映することになる。実時間クロックのレ
ジスタはCPU150によって読取ることができる。
内容は時刻を反映することになる。実時間クロックのレ
ジスタはCPU150によって読取ることができる。
第1図は本発明に従って供給されるソフトウェアが実行
されるPC及び関連コプロセッサの構造を示す。ここで
の説明のためには、ソフトウェアはフロッピーディスク
のような磁気媒体によって供給されるものと仮定するが
、説明が進むにつれて、ソフトウェアは任意の通常の技
術によっても供給できることが明らかになろう、特開昭
61−72345号公報に開示されている発明に従えば
。
されるPC及び関連コプロセッサの構造を示す。ここで
の説明のためには、ソフトウェアはフロッピーディスク
のような磁気媒体によって供給されるものと仮定するが
、説明が進むにつれて、ソフトウェアは任意の通常の技
術によっても供給できることが明らかになろう、特開昭
61−72345号公報に開示されている発明に従えば
。
支援ハードウェアは上位電算機とその内部バスによって
通信するが、本発明の1つの特徴はコプロセッサがPC
に通信ポートを介して結合でき、コプロセッサが都合よ
くポータプルにできる点にある。動作の説明はこのよう
な構造を使用してなされるが、本発明はコプロセッサが
内部バスによってPCと通信する時でも使用できること
は明らかであろう。
通信するが、本発明の1つの特徴はコプロセッサがPC
に通信ポートを介して結合でき、コプロセッサが都合よ
くポータプルにできる点にある。動作の説明はこのよう
な構造を使用してなされるが、本発明はコプロセッサが
内部バスによってPCと通信する時でも使用できること
は明らかであろう。
コプロセッサ15は特開昭61−72345号の支援バ
ードアエアと共通した特徴を有する。具体的にいうと、
コプロセッサは各ソフトウェアの販売者にユーザよりも
高位の特権レベルを与えるが、同時に、どのソフトウェ
ア販売者に対しても、他の販売者の特権情報へのアクセ
スを与えない。
ードアエアと共通した特徴を有する。具体的にいうと、
コプロセッサは各ソフトウェアの販売者にユーザよりも
高位の特権レベルを与えるが、同時に、どのソフトウェ
ア販売者に対しても、他の販売者の特権情報へのアクセ
スを与えない。
コプロセッサ上で解読及び実行されるすべてのアプリケ
ーション・ソフトウェアは2つの特権レベルのうちの下
のレベルにあり、ROM常駐ファームウェア中で具体化
される高位の特権レベルが持久RAM153へのアクセ
ス、ローディング、解読及び実行動作を制御する。コプ
ロセッサのこの構造はソフトウェアの販売者が、コプロ
セッサ上で実行してファームウェア及び持久メモリ(解
読キーを含む)にアクセスし、その情報を上位計算機1
0に利用可能にするモニタを設計するのを防止する。
ーション・ソフトウェアは2つの特権レベルのうちの下
のレベルにあり、ROM常駐ファームウェア中で具体化
される高位の特権レベルが持久RAM153へのアクセ
ス、ローディング、解読及び実行動作を制御する。コプ
ロセッサのこの構造はソフトウェアの販売者が、コプロ
セッサ上で実行してファームウェア及び持久メモリ(解
読キーを含む)にアクセスし、その情報を上位計算機1
0に利用可能にするモニタを設計するのを防止する。
従って、コプロセッサ15はRAM 151にアクセス
する第1即ち低位の特権レベルを有する。
する第1即ち低位の特権レベルを有する。
上述のようにRAM151はユーザもしくは上位電算機
10あるいはその両方から安全に保護されている。第1
の特権レベルは保護ソフトウェアを実行するために第1
のレベルの動作命令を含む。
10あるいはその両方から安全に保護されている。第1
の特権レベルは保護ソフトウェアを実行するために第1
のレベルの動作命令を含む。
しかしながらコプロセッサ15は第2のレベルの安全メ
モリ及び第2のレベルの動作命令を含む第2の特権レベ
ルを定義している。第2のレベルの安全メモリは持久R
AM153によって表わされ。
モリ及び第2のレベルの動作命令を含む第2の特権レベ
ルを定義している。第2のレベルの安全メモリは持久R
AM153によって表わされ。
第2のレベルの動作命令はROM152中に定義されて
いる。第2の特権レベルはユーザ及び任意のソフトウェ
アの著作権者に対して機密を保持している。実行権の獲
得に関与し、従ってこれに先行する手順を制御するのは
コプロセッサ15の第2の特権レベルである。同じ第2
の特権レベルは保護されたソフトウェアの実行を要求す
るユーザに応答し、保護ソフトウェアのローデング及び
解読を与え、第2の特権レベルがこのような実行が許可
されていると判定した場合にのみ第1の特権レベルの動
作を開始して保護ソフトウェアを実行させる。
いる。第2の特権レベルはユーザ及び任意のソフトウェ
アの著作権者に対して機密を保持している。実行権の獲
得に関与し、従ってこれに先行する手順を制御するのは
コプロセッサ15の第2の特権レベルである。同じ第2
の特権レベルは保護されたソフトウェアの実行を要求す
るユーザに応答し、保護ソフトウェアのローデング及び
解読を与え、第2の特権レベルがこのような実行が許可
されていると判定した場合にのみ第1の特権レベルの動
作を開始して保護ソフトウェアを実行させる。
本発明に従い、保護されたソフトウェアに関する動作に
は2つのモードが存在する。実行権獲得(ARE)と呼
ばれる第1のモードはコプロセッサが保護アプリケーシ
ョンを実行することを許可するのに必要とされる。各コ
プロセッサは各アプリケーションに対してARE トラ
ンザクションを遂行することによって多くのソフトウェ
アを実行するように許可される。従って、装置が許可さ
れているソフトウェア・パッケージを実行する時は、ロ
ード、解読及び実行(LDR)モードで動作する。
は2つのモードが存在する。実行権獲得(ARE)と呼
ばれる第1のモードはコプロセッサが保護アプリケーシ
ョンを実行することを許可するのに必要とされる。各コ
プロセッサは各アプリケーションに対してARE トラ
ンザクションを遂行することによって多くのソフトウェ
アを実行するように許可される。従って、装置が許可さ
れているソフトウェア・パッケージを実行する時は、ロ
ード、解読及び実行(LDR)モードで動作する。
第3図は本発明に従い使用されるソフトウェア構造を示
す。第3図に示されたような、3つのファイルが一体と
して(磁気媒体上でもしくは通信リンクを介して)供給
される。第1のファイルは暗号化されたソフトウェア解
読キーEAKである。
す。第3図に示されたような、3つのファイルが一体と
して(磁気媒体上でもしくは通信リンクを介して)供給
される。第1のファイルは暗号化されたソフトウェア解
読キーEAKである。
第2のファイルは平文ソフトウェア(部分1)及び保護
即ち暗号化されたソフトウェア(部分2)(EAK (
ソフトウェア、部分2))を含むソフトウェアである。
即ち暗号化されたソフトウェア(部分2)(EAK (
ソフトウェア、部分2))を含むソフトウェアである。
最後のファイルは暗号化されたトークン・データ、EA
K (トークン・データ)である。暗号化ソフトウェア
及び暗号化トークン・データは共通のキー(AK)を使
用して暗号化され、これ等の各々が解読キー(AK)を
使用して解読されるようになっているが、このソフトウ
ェア解読キーは異なるキー(CS K)で暗号化される
ようになっている。ハードウェアの販売者のキー(C5
K)は以下説明するようにソフトウェアの販売者のキー
から秘密に保持することができる。
K (トークン・データ)である。暗号化ソフトウェア
及び暗号化トークン・データは共通のキー(AK)を使
用して暗号化され、これ等の各々が解読キー(AK)を
使用して解読されるようになっているが、このソフトウ
ェア解読キーは異なるキー(CS K)で暗号化される
ようになっている。ハードウェアの販売者のキー(C5
K)は以下説明するようにソフトウェアの販売者のキー
から秘密に保持することができる。
特開昭61−72345号公報に開示されている発明に
従えば、゛公開キーゝ暗号システムを使用するキーの対
がソフトウェアキーの暗号化及び解読に使用されなけれ
ばならないが1本発明の1つの特徴は暗号化及び解読に
同じキーを使用するDESもしくは他の対称キー・シス
テムを含む任意の適切な安全保護暗号システムが使用で
きる点にある。
従えば、゛公開キーゝ暗号システムを使用するキーの対
がソフトウェアキーの暗号化及び解読に使用されなけれ
ばならないが1本発明の1つの特徴は暗号化及び解読に
同じキーを使用するDESもしくは他の対称キー・シス
テムを含む任意の適切な安全保護暗号システムが使用で
きる点にある。
説明上、第3図の3つのファイルはディスク駆動装置1
7(第1図)にロードされるフロッピー・ディスク中に
含まれているものとする。コプロセッサを初期設定する
ために、トークン・カートリッジ20がコプロセッサ1
5もしくは上位計算機(PC)10に結合される。カー
トリッジ20は以下説明するように独自の特徴を有する
メモリ装置中に記憶されたトークン・データを含む。こ
こでは、カートリッジ20は一回限り使用できるように
なっていると述べるだけで十分である。カートリッジ2
oを使用すると、その内容が変り、その本来の目的に使
用できなくなる。
7(第1図)にロードされるフロッピー・ディスク中に
含まれているものとする。コプロセッサを初期設定する
ために、トークン・カートリッジ20がコプロセッサ1
5もしくは上位計算機(PC)10に結合される。カー
トリッジ20は以下説明するように独自の特徴を有する
メモリ装置中に記憶されたトークン・データを含む。こ
こでは、カートリッジ20は一回限り使用できるように
なっていると述べるだけで十分である。カートリッジ2
oを使用すると、その内容が変り、その本来の目的に使
用できなくなる。
(保護された)ソフトウェアを使用するためには、コプ
ロセッサ15にはアプリケーションの暗号部分を実行可
能にするのに必要な解読キーが与えられなければならな
い。このキーはその転送機構が再使用もしくは複製され
ないようにしてソフトウェアの所有者のコプロセッサ1
5に転送されなければならない。この転送は未使用のト
ークン・カートリッジを使用して、解読キーを効果的に
コプロセッサ15の持久メモリに転送することによって
達成される。ここで「未使用」とはソフトウェアの著作
権者によって供給されるトークン・カートリッジの内容
がこの時点以前に絶対に読取られていないということを
意味している。トークンは以下説明する理由で偽造が困
難であり、転送トランザクション中に効果的に消去でき
る。トークンはプログラムに関連する暗号化ファイル中
にリストされている(もしくは以下説明されるように他
のソースによって与えられる)ので、コプロセッサ15
が識別できる情報内容を有する。このリストはトークン
がソフトウェアの著作権者によって与えられたことの証
拠になる。このことはソフトウェアの販売者がアプリケ
ーションの保護部分を暗号化するのに使用したのと同じ
キー(AK)によってこの情報が暗号化されているとい
う事実によってコプロセッサ15に確認される。
ロセッサ15にはアプリケーションの暗号部分を実行可
能にするのに必要な解読キーが与えられなければならな
い。このキーはその転送機構が再使用もしくは複製され
ないようにしてソフトウェアの所有者のコプロセッサ1
5に転送されなければならない。この転送は未使用のト
ークン・カートリッジを使用して、解読キーを効果的に
コプロセッサ15の持久メモリに転送することによって
達成される。ここで「未使用」とはソフトウェアの著作
権者によって供給されるトークン・カートリッジの内容
がこの時点以前に絶対に読取られていないということを
意味している。トークンは以下説明する理由で偽造が困
難であり、転送トランザクション中に効果的に消去でき
る。トークンはプログラムに関連する暗号化ファイル中
にリストされている(もしくは以下説明されるように他
のソースによって与えられる)ので、コプロセッサ15
が識別できる情報内容を有する。このリストはトークン
がソフトウェアの著作権者によって与えられたことの証
拠になる。このことはソフトウェアの販売者がアプリケ
ーションの保護部分を暗号化するのに使用したのと同じ
キー(AK)によってこの情報が暗号化されているとい
う事実によってコプロセッサ15に確認される。
転送トークンを記憶するカートリッジ20はコプロセッ
サのI10装置154に直接結合されるか(図示されず
)、pcのI10装置19にこの目的のために与えられ
たコネクタを介して結合される(図示されている)。カ
ートリッジ20へのコネクタは露出していて、従ってユ
ーザによってモニタできるから、コネクタを使用するト
ランザクションはデータの一部が暴露される場合でも。
サのI10装置154に直接結合されるか(図示されず
)、pcのI10装置19にこの目的のために与えられ
たコネクタを介して結合される(図示されている)。カ
ートリッジ20へのコネクタは露出していて、従ってユ
ーザによってモニタできるから、コネクタを使用するト
ランザクションはデータの一部が暴露される場合でも。
偽造が困難なものでなければならない。この性質を与え
るために、各トランザクションは一意的で、コプロセッ
サによって検証可能なものでなければならない。
るために、各トランザクションは一意的で、コプロセッ
サによって検証可能なものでなければならない。
カートリッジ20は物理的及び論理的に安全である。物
理的安全性は多くの方法によって与えることができる。
理的安全性は多くの方法によって与えることができる。
その1つは先に述べたように、物理的侵入又は破壊を検
出して記憶データを破壊する方法である。物理的安全性
を与える好ましい方法はトークンの回路を単一の集積回
路チップとして具体化することである。カートリッジ2
0は前に使用したことがないという検証及びその真正さ
の検証が可能なように振舞うメモリを含む。この2つの
検証はコプロセッサによって、解読キーAKが将来の使
用のために受取られる前に必要とされる。以下説明する
ように、カートリッジ2oはそのコネクタ及びプロトコ
ルが標準化される限り第3者のソースによって製造でき
る。その情報の内容はソフトウェアの著作権者もしくは
著作権者の代理人によって決定され、ロードされなけれ
ばならない。データはカートリッジからコプロセッサに
照会/応答プロトコルを使用して転送される。
出して記憶データを破壊する方法である。物理的安全性
を与える好ましい方法はトークンの回路を単一の集積回
路チップとして具体化することである。カートリッジ2
0は前に使用したことがないという検証及びその真正さ
の検証が可能なように振舞うメモリを含む。この2つの
検証はコプロセッサによって、解読キーAKが将来の使
用のために受取られる前に必要とされる。以下説明する
ように、カートリッジ2oはそのコネクタ及びプロトコ
ルが標準化される限り第3者のソースによって製造でき
る。その情報の内容はソフトウェアの著作権者もしくは
著作権者の代理人によって決定され、ロードされなけれ
ばならない。データはカートリッジからコプロセッサに
照会/応答プロトコルを使用して転送される。
照会は乱数であり、これとトークン・データとの組合せ
によってトークン応答を判断する。コプロセッサ15及
びカートリッジ20間の安全でない経路上を通過するア
クセス可能な情報は乱数とカートリッジの応答であるか
ら、そのどれもトークン・データを暴露することはない
。コプロセッサはトークン・データのコピーにアクセス
できる(たとえばソフトウェア供給媒体からの暗号化ト
ークン・データを解読することによって)。従ってコプ
ロセッサは正しい応答を独立に決定でき、従ってカート
リッジ20からの実際の応答とそれ自身の独立に決定し
た正しい応答とを比較できる。
によってトークン応答を判断する。コプロセッサ15及
びカートリッジ20間の安全でない経路上を通過するア
クセス可能な情報は乱数とカートリッジの応答であるか
ら、そのどれもトークン・データを暴露することはない
。コプロセッサはトークン・データのコピーにアクセス
できる(たとえばソフトウェア供給媒体からの暗号化ト
ークン・データを解読することによって)。従ってコプ
ロセッサは正しい応答を独立に決定でき、従ってカート
リッジ20からの実際の応答とそれ自身の独立に決定し
た正しい応答とを比較できる。
従ってランダムな照会と実際の応答だけが暴露される。
応答を得るのに必要な完全なトークン情報は露顕されな
い。カートリッジ20がその応答を発生すると同時に、
カートリッジはその内容を変更し、カートリッジは再使
用できなくなる。この動作は読取り動作時に通常のメモ
リのようには振舞わないメモリ領域をカートリッジ20
中に与えることによって達成される(カートリッジ20
のための適切なアーキテクチャのブロック図は第2図に
示されている)。後で詳しく説明するが、簡単に説明す
ると、カートリッジ20は少なくとも2つのメモリ・セ
グメントを含み、この両方にはあたかもこれ等が通常の
直列入力シフト・レジスタであるかのように書込むこと
ができる。しかしながら読取りを遂行する時には、領域
のアクセスが制御される。読取り中に、雨メモリ・セグ
メントがイネーブルされ、通常の直列出力シフト・し
、ジスタのように出力にデータを発生する。両出力はマ
ルチプレクサは送られる。マルチプレクサは2つ(もし
くはそれ以上)のセグメントのデータのうちのいずれを
コネクタ(従ってコプロセッサ)に指向させるかを、コ
プロセッサの乱数によって駆動される制御線の状態によ
って選択する。カートリッジのメモリ領域が読出される
時に両セグメントの内容は消去される。これによって、
コプロセッサとトークン・カートリッジ間のトランザク
ションを傍受する侵害者はカートリッジの情報内容の1
部を得るだけであることが保証される。このトークン情
報のこの暴露部分は、コプロセッサにとっては、これが
コプロセッサにソフトウェア・パッケージの使用を許可
できる有効なトークンであることを検証するのに十分で
あるが、侵害者にその元の内容を再構成させて、他のコ
プロセッサをだまして正当に所有していないキーを受取
らせるには不十分である。
い。カートリッジ20がその応答を発生すると同時に、
カートリッジはその内容を変更し、カートリッジは再使
用できなくなる。この動作は読取り動作時に通常のメモ
リのようには振舞わないメモリ領域をカートリッジ20
中に与えることによって達成される(カートリッジ20
のための適切なアーキテクチャのブロック図は第2図に
示されている)。後で詳しく説明するが、簡単に説明す
ると、カートリッジ20は少なくとも2つのメモリ・セ
グメントを含み、この両方にはあたかもこれ等が通常の
直列入力シフト・レジスタであるかのように書込むこと
ができる。しかしながら読取りを遂行する時には、領域
のアクセスが制御される。読取り中に、雨メモリ・セグ
メントがイネーブルされ、通常の直列出力シフト・し
、ジスタのように出力にデータを発生する。両出力はマ
ルチプレクサは送られる。マルチプレクサは2つ(もし
くはそれ以上)のセグメントのデータのうちのいずれを
コネクタ(従ってコプロセッサ)に指向させるかを、コ
プロセッサの乱数によって駆動される制御線の状態によ
って選択する。カートリッジのメモリ領域が読出される
時に両セグメントの内容は消去される。これによって、
コプロセッサとトークン・カートリッジ間のトランザク
ションを傍受する侵害者はカートリッジの情報内容の1
部を得るだけであることが保証される。このトークン情
報のこの暴露部分は、コプロセッサにとっては、これが
コプロセッサにソフトウェア・パッケージの使用を許可
できる有効なトークンであることを検証するのに十分で
あるが、侵害者にその元の内容を再構成させて、他のコ
プロセッサをだまして正当に所有していないキーを受取
らせるには不十分である。
上述のカートリッジ20の実施例では、2つのシフト・
レジスタが使用され、従って読取り中にはメモリの内容
の選択された50%が暴露される。
レジスタが使用され、従って読取り中にはメモリの内容
の選択された50%が暴露される。
代替実施例としては、より多くの(3つ以上の)メモリ
・セグメントを用いて、その中から1つを選択するよう
にすることもできる。これ等の代替実施例はコストと安
全性に関するトレード・オフを与える。
・セグメントを用いて、その中から1つを選択するよう
にすることもできる。これ等の代替実施例はコストと安
全性に関するトレード・オフを与える。
この読取り動作中に、カートリッジ20の内容の1部が
コプロセッサ20に転送される。選択される部分はコプ
ロセッサによって発生される乱数によって決定される。
コプロセッサ20に転送される。選択される部分はコプ
ロセッサによって発生される乱数によって決定される。
次にこの乱数とカートリッジ2oからの応答はともにコ
プロセッサ中に記憶される6次にこの情報がソフトウェ
ア供給媒体から同じくコプロセッサに転送されるトーク
ン・データ(第3図、ファイル3)と比較される。トー
クン・データと予想したトークン・データが一致しない
場合にはトークン・カートリッジが偽造されたことの証
拠として受取られ、将来使用するための解読キーがコプ
ロセッサによって拒否される。
プロセッサ中に記憶される6次にこの情報がソフトウェ
ア供給媒体から同じくコプロセッサに転送されるトーク
ン・データ(第3図、ファイル3)と比較される。トー
クン・データと予想したトークン・データが一致しない
場合にはトークン・カートリッジが偽造されたことの証
拠として受取られ、将来使用するための解読キーがコプ
ロセッサによって拒否される。
勿論将来使用するための解読キーが受取られた時にだけ
、保護されたソフトウェアが実行できる。
、保護されたソフトウェアが実行できる。
F3.カートリッジの実施例
第2図はカートリッジ20の1実施例のブロック図であ
る。この実施例では、トークン装置はコストと物理的安
全性のために単一のシリコンCMO8集積回路チップ2
5として具体化されている。
る。この実施例では、トークン装置はコストと物理的安
全性のために単一のシリコンCMO8集積回路チップ2
5として具体化されている。
このチップは適切にパッケージされていて、データ記憶
素子120,220には電池26によって連続的に電力
が供給される。CMO8集積回路は非常に小さな静的電
力しか必要としないように構成できるのでこれ等のレジ
スタに記憶されているデータは、読取られなければ略電
池の寿命と同じ時間保持される。以下説明するように、
データを読取る場合には、読取りを行うのに必要な他の
部品には外部電力線及び接地線27によって外部ソース
から電力が供給される。第2図に示したように、カート
リッジ20はクロック線、選択線、データ入力線、デー
タ出力線、外部電力線及び外部接地線を有するコネクタ
23を介してコプロセッサもしくは上位計算機に結合さ
れる。カートリッジ20は直列入力、左方シフト形のシ
フト・レジスタ120.220より成る2つのメモリ・
セグメントを含む、第1のセグメントはセル121−1
2nを含み、第2のセグメントはセル221−22nを
含む。この種類のシフト・レジスタはその最も左のセル
中に記憶されているビットの状態がその出力線(Di、
D2)の状態に反映されるという性質を有する。これ等
のシフトレジスタはクロック・パルスの立下り縁がクロ
ック線(C1、C2)に印加される時に各セルの状態が
その直ぐ右のセルの状態に変り、レジスタ中のビット・
パターンが左にシフトされるようになっている。
素子120,220には電池26によって連続的に電力
が供給される。CMO8集積回路は非常に小さな静的電
力しか必要としないように構成できるのでこれ等のレジ
スタに記憶されているデータは、読取られなければ略電
池の寿命と同じ時間保持される。以下説明するように、
データを読取る場合には、読取りを行うのに必要な他の
部品には外部電力線及び接地線27によって外部ソース
から電力が供給される。第2図に示したように、カート
リッジ20はクロック線、選択線、データ入力線、デー
タ出力線、外部電力線及び外部接地線を有するコネクタ
23を介してコプロセッサもしくは上位計算機に結合さ
れる。カートリッジ20は直列入力、左方シフト形のシ
フト・レジスタ120.220より成る2つのメモリ・
セグメントを含む、第1のセグメントはセル121−1
2nを含み、第2のセグメントはセル221−22nを
含む。この種類のシフト・レジスタはその最も左のセル
中に記憶されているビットの状態がその出力線(Di、
D2)の状態に反映されるという性質を有する。これ等
のシフトレジスタはクロック・パルスの立下り縁がクロ
ック線(C1、C2)に印加される時に各セルの状態が
その直ぐ右のセルの状態に変り、レジスタ中のビット・
パターンが左にシフトされるようになっている。
最も右のセル(12n、22n)の場合にはクロック・
パルスの立下り縁はこれ等のセルをデータ入力線(D3
.D4)の状態を占めるようにする。
パルスの立下り縁はこれ等のセルをデータ入力線(D3
.D4)の状態を占めるようにする。
セルは、データ・ビットを2つのデータ入力線の各々に
供給し、クロック・パルスを供給することによってデー
タで充填される。この手順をnクロック・パルスだけ繰
返すと、レジスタのすべてのnビットが充填される1次
にこれ等のビットの暗号化(AKによる)コピーが形成
され、フロッピー・ディスク上に記憶され、トークン・
データの暗号化記述が与えられる。この手順はソフトウ
ェアの著作権者によって行われ、コプロセッサがAKを
受取るための許可が準備される。
供給し、クロック・パルスを供給することによってデー
タで充填される。この手順をnクロック・パルスだけ繰
返すと、レジスタのすべてのnビットが充填される1次
にこれ等のビットの暗号化(AKによる)コピーが形成
され、フロッピー・ディスク上に記憶され、トークン・
データの暗号化記述が与えられる。この手順はソフトウ
ェアの著作権者によって行われ、コプロセッサがAKを
受取るための許可が準備される。
読取り動作が遂行されると、コプロセッサが発生する乱
数の各ビットが連続的に選択線に印加される0選択線2
1の各ビット設定の後にクロック・パルスが続く、第1
のシフト・レジスタからのデータは線Di上に与えられ
、第2のシフト・レジスタからのデータは線D2上に与
えられる。その両方はコプロセッサもしくは上位計算機
からの選択線21によって制御されるマルチプレクサ2
2への入力となる。選択線21は2つの信号D1もしく
はD2のどちらをデータ・ラッチ24を介してデータ出
力線に結合するかを決める。このラッチは、各クロック
・パルス毎に選択を2回変えて。
数の各ビットが連続的に選択線に印加される0選択線2
1の各ビット設定の後にクロック・パルスが続く、第1
のシフト・レジスタからのデータは線Di上に与えられ
、第2のシフト・レジスタからのデータは線D2上に与
えられる。その両方はコプロセッサもしくは上位計算機
からの選択線21によって制御されるマルチプレクサ2
2への入力となる。選択線21は2つの信号D1もしく
はD2のどちらをデータ・ラッチ24を介してデータ出
力線に結合するかを決める。このラッチは、各クロック
・パルス毎に選択を2回変えて。
侵害者がトークン・データを獲得するのを防止するため
に使用される。このような構成にした結果データ出力線
に提示される各ビット毎に、2ビツトがレジスタからシ
フト・アウトされ、許可には使用されない2ビツトがシ
フト・インされる。
に使用される。このような構成にした結果データ出力線
に提示される各ビット毎に、2ビツトがレジスタからシ
フト・アウトされ、許可には使用されない2ビツトがシ
フト・インされる。
従って、カートリッジ2oの全記憶内容が続出された場
合でも1選択線21への入力及びデータ出力を観測する
者はカートリッジ20の内容の高々50%のみを観測す
るに過ぎない。コプロセッサは暗号化トークン情報から
どのビットがその50%中に現われるはずであるかを正
確に知り、そしてその許可の有効性を確認するのに十分
な情報を持っているが、破壊された50%を持たない侵
害者は許可を偽造することはできない。
合でも1選択線21への入力及びデータ出力を観測する
者はカートリッジ20の内容の高々50%のみを観測す
るに過ぎない。コプロセッサは暗号化トークン情報から
どのビットがその50%中に現われるはずであるかを正
確に知り、そしてその許可の有効性を確認するのに十分
な情報を持っているが、破壊された50%を持たない侵
害者は許可を偽造することはできない。
コプロセッサ15がAKを獲得するように要求される時
(ARE)に、第5図に示された過程が開始する。この
過程で暗号化ソフトウェア解読キー(ファイル1)及び
暗号化トークン・データ(ファイル3)がRAM151
もしくは一時メモリ15Tに読込まれる。さらに、乱数
(3)がコプロセッサによって発生され、上述のように
カートリッジ20の読取り動作に使用される。乱数はど
のメモリ・セグメントのどのビットをマルチプレクサ2
2に通過させるかを選択するのに使用される。コプロセ
ッサ15はカートリッジ20からの結果のデータ(4)
とともに乱数をRAM151に記憶する。
(ARE)に、第5図に示された過程が開始する。この
過程で暗号化ソフトウェア解読キー(ファイル1)及び
暗号化トークン・データ(ファイル3)がRAM151
もしくは一時メモリ15Tに読込まれる。さらに、乱数
(3)がコプロセッサによって発生され、上述のように
カートリッジ20の読取り動作に使用される。乱数はど
のメモリ・セグメントのどのビットをマルチプレクサ2
2に通過させるかを選択するのに使用される。コプロセ
ッサ15はカートリッジ20からの結果のデータ(4)
とともに乱数をRAM151に記憶する。
この分野の専門家にとっては、トークン・カートリッジ
の設計には多くの変形が存在することが明らかであろう
。しかしながらこれ等のすべては。
の設計には多くの変形が存在することが明らかであろう
。しかしながらこれ等のすべては。
カートリッジから読取られるデータが照会ビットとトー
クン・データの内容の関数として変換され、トークンの
完全な内容がわからなければ、トークンからの応答を全
く予測できないという性質を有する。
クン・データの内容の関数として変換され、トークンの
完全な内容がわからなければ、トークンからの応答を全
く予測できないという性質を有する。
コプロセッサはソフトウェア解読キーEcsk(A K
)を解読し、結果のソフトウェア解読キー(A K)を
使用して、トークン・データを解読する。多くのC5K
が存在する場合は、暗号化ソフトウェア・キーはヘッダ
中の正しいC8Kへの参照とともに供給することができ
る。このようなヘッダは平文の正しいC8Kへのインデ
ックス、もしくは正しいC5Kが使用された時にのみ解
読して予想パターンを得る認識フラグを与えることがで
きる。多くの他の方法も可能である。正しいC8Kによ
ってEAKを解読した後、コプロセッサは記憶していた
乱数即ち照会データと平文のトークン・データとを組合
せて正しい応答を決定することができる。次に実際の応
答(カートリッジ20から受取ったデータ)が正しい応
答と比較される。もし2つの値が一致すると、これはコ
プロセッサがAK (5)を将来に備えて持久RAM即
ち永久メモリ15P中に記憶することが許可されたもの
と解読される。ここでユーザはコプロセッサに、新しく
獲得したAKによって保護されていたソフトウェアの実
行を要求することができる。キーAKは記憶する前にコ
プロセッサによって再び暗号化することができる。この
再暗号化の段階は記憶されるキーの保護を改善し、正し
く使用する時はコプロセッサの外部にキーを記憶するこ
ともできる。
)を解読し、結果のソフトウェア解読キー(A K)を
使用して、トークン・データを解読する。多くのC5K
が存在する場合は、暗号化ソフトウェア・キーはヘッダ
中の正しいC8Kへの参照とともに供給することができ
る。このようなヘッダは平文の正しいC8Kへのインデ
ックス、もしくは正しいC5Kが使用された時にのみ解
読して予想パターンを得る認識フラグを与えることがで
きる。多くの他の方法も可能である。正しいC8Kによ
ってEAKを解読した後、コプロセッサは記憶していた
乱数即ち照会データと平文のトークン・データとを組合
せて正しい応答を決定することができる。次に実際の応
答(カートリッジ20から受取ったデータ)が正しい応
答と比較される。もし2つの値が一致すると、これはコ
プロセッサがAK (5)を将来に備えて持久RAM即
ち永久メモリ15P中に記憶することが許可されたもの
と解読される。ここでユーザはコプロセッサに、新しく
獲得したAKによって保護されていたソフトウェアの実
行を要求することができる。キーAKは記憶する前にコ
プロセッサによって再び暗号化することができる。この
再暗号化の段階は記憶されるキーの保護を改善し、正し
く使用する時はコプロセッサの外部にキーを記憶するこ
ともできる。
他方、もし正しい応答と、カートリッジの実際の応答が
一致しない時には、ソフトウェア解読キー (AK)は
破棄され、コプロセッサは暗号化ソフトウェアを適切に
実行することができず、従ってアプリケーション・プロ
グラムは適切に実行されない。
一致しない時には、ソフトウェア解読キー (AK)は
破棄され、コプロセッサは暗号化ソフトウェアを適切に
実行することができず、従ってアプリケーション・プロ
グラムは適切に実行されない。
このトランザクションによってカートリッジ20の内容
は破壊されるので(第6図参照)、他のコプロセッサに
許可を与えてそのアプリケーショ・プログラムもしくは
他のアプリケーション・プログラムを実行させるように
再使用できないことは明らかであろう。偽造が成功する
確立(P(偽造))はコプロセッサが照会データの任意
のビットで同じ選択を要求する確率(P (同一))、
侵害者がwt81!Iシたトランザクション中の失われ
ているデータを正しく推測する確率(P (推81!I
))及び妥当性検証トランザクションにおいてコプロセ
ッサが要求するビット数の関数である、即ちP(偽造)
=(P(同一)) +(1−P (同一))(P(推測
))の(ビット数)乗である。P(同一)=0゜5及び
P(推測)=0.5で、ビット数=128である時には
P(偽造)は略10の一16乗となる。仮に侵害者が彼
の推測をテストする速度を1秒間に1回とすると、この
ような小さなカートリッジでも平均2億年以上続くサー
チを強制する。
は破壊されるので(第6図参照)、他のコプロセッサに
許可を与えてそのアプリケーショ・プログラムもしくは
他のアプリケーション・プログラムを実行させるように
再使用できないことは明らかであろう。偽造が成功する
確立(P(偽造))はコプロセッサが照会データの任意
のビットで同じ選択を要求する確率(P (同一))、
侵害者がwt81!Iシたトランザクション中の失われ
ているデータを正しく推測する確率(P (推81!I
))及び妥当性検証トランザクションにおいてコプロセ
ッサが要求するビット数の関数である、即ちP(偽造)
=(P(同一)) +(1−P (同一))(P(推測
))の(ビット数)乗である。P(同一)=0゜5及び
P(推測)=0.5で、ビット数=128である時には
P(偽造)は略10の一16乗となる。仮に侵害者が彼
の推測をテストする速度を1秒間に1回とすると、この
ような小さなカートリッジでも平均2億年以上続くサー
チを強制する。
従ってコプロセッサは、偽造を成功させるのに必要な情
報を暴露することなく、そのカートリッジが所有者の妥
当性を検証するためにソフトウェアの販売者によって供
給されたものであるか、偽造であるかを信頼性をもって
判断できる。コプロセッサはカートリッジが検証された
後は、後の使用のために解読キー(AK)を記憶するだ
けでよい。
報を暴露することなく、そのカートリッジが所有者の妥
当性を検証するためにソフトウェアの販売者によって供
給されたものであるか、偽造であるかを信頼性をもって
判断できる。コプロセッサはカートリッジが検証された
後は、後の使用のために解読キー(AK)を記憶するだ
けでよい。
F4.供給可能なソフトウェア製品の製造方法第4図は
ソフトウェアの販売者が磁気媒体によりもしくは通信リ
ンクを介して供給する。ソフトウェア製品を製造する方
法を示す。ソフトウェアの販売者は次の3つの要素から
開始する。
ソフトウェアの販売者が磁気媒体によりもしくは通信リ
ンクを介して供給する。ソフトウェア製品を製造する方
法を示す。ソフトウェアの販売者は次の3つの要素から
開始する。
(A)アプリケーション・ソフトウェア(B)ソフトウ
ェア解読キーAK(ソフトウェアの販売者にだけ知られ
ている)。
ェア解読キーAK(ソフトウェアの販売者にだけ知られ
ている)。
(C)トークン・データ(ソフトウェアの販売者だけに
しられている乱数)。
しられている乱数)。
ソフトウェアの販売者は第1の機能(Fl)で。
彼自身の(秘密の)暗号キーAKを使用してトークン・
データ及びアプリケーション・ソフトウェアの重要部分
(部分2)を暗号化する。この暗号化過程の結果、供給
される暗号化トークン・データ[E (トークン・デ
ータ)コ及び暗号化アK プリケーション・ソフトウェア[E (ソフトK ウェア)]が得られる。
データ及びアプリケーション・ソフトウェアの重要部分
(部分2)を暗号化する。この暗号化過程の結果、供給
される暗号化トークン・データ[E (トークン・デ
ータ)コ及び暗号化アK プリケーション・ソフトウェア[E (ソフトK ウェア)]が得られる。
アプリケーション・ソフトウェアの非重要部分(部分1
)はソフトウェア製品の他の部分を構成する。
)はソフトウェア製品の他の部分を構成する。
最後に、ソフトウェア解読キー(AK)が機能F2でハ
ードウェアの販売者の暗号キーC8Kを使用して暗号化
される。その結果、ソフトウェア製品の最後の部分であ
る暗号化された解読キー[E (AK)]とな
る。
ードウェアの販売者の暗号キーC8Kを使用して暗号化
される。その結果、ソフトウェア製品の最後の部分であ
る暗号化された解読キー[E (AK)]とな
る。
SK
第4図で機能F2は2重の長方形枠で囲まれており、暗
号化がソフトウェア販売者のコプロセッサで行なわれ、
従って、ハードウェア販売者の暗号キー(コプロセッサ
中に含まれる)がソフトウェアの販売者に知られないよ
うになっていることを示している。
号化がソフトウェア販売者のコプロセッサで行なわれ、
従って、ハードウェア販売者の暗号キー(コプロセッサ
中に含まれる)がソフトウェアの販売者に知られないよ
うになっていることを示している。
このように、ソフトウェア販売者はハードウェアの販売
者の暗号キーを知ることは出来ない。ソフトウェアの販
売者は信頼のおける製造者によって与えられるコプロセ
ッサを選択し、これを用いて暗号化ソフトウェア・キー
(EAK)を作成することができる。信頼性のあるハー
ドウェアの製造者は彼等自身のC8Kを暴露したりC5
Kを使用してソフトウェア販売者のAKを暴露して自身
の製品の信頼性を損うことはない。従って機密データを
ソフトウェアとハードウェアの販売者間で共有する必要
はない。
者の暗号キーを知ることは出来ない。ソフトウェアの販
売者は信頼のおける製造者によって与えられるコプロセ
ッサを選択し、これを用いて暗号化ソフトウェア・キー
(EAK)を作成することができる。信頼性のあるハー
ドウェアの製造者は彼等自身のC8Kを暴露したりC5
Kを使用してソフトウェア販売者のAKを暴露して自身
の製品の信頼性を損うことはない。従って機密データを
ソフトウェアとハードウェアの販売者間で共有する必要
はない。
第5図と第6図を比較すると、ARE過程の後に、トー
クン・カートリッジ20はトークン・データが消去、削
除もしくは重ね書きされていて、もはやアクセス不可能
になっていることがわかる。
クン・カートリッジ20はトークン・データが消去、削
除もしくは重ね書きされていて、もはやアクセス不可能
になっていることがわかる。
第6図のカートリッジ2o中のレジスタは「空き」であ
る。これ等のレジスタはARE過程の前にその中に存在
した平文のトークン・データが線D3及びD4を介して
コネクタ23(第2図)から与えられるデータによって
置換えられているというと意味で「空き」である。これ
等のデータは妥当性検証過程に対しては無意味であり、
トークン・カートリッジ20のレジスタの情報内容の見
地からは「空き」と実質的に同じである。ARE過程が
成功程に完了したときは、暗号形のE。5K(A K)
としてコプロセッサ15によって受取られたソフトウェ
ア解読キーAKが解読されていて、AREの完了に応答
して、AKはコプロセッサ15の永久メモリ15Pに転
送される(5)。第6図は又LDR(ロード、解読及び
実行)中のコプロセッサ15の動作を示している。この
過程中にソフトウェア解読キーAK (5)は一時メモ
リ15Tにコピーされる。平文ソフトウェア(ファイル
2)は上位計算機10に転送され、ここでこれはこれが
平文であるので実行可能である。暗号化ソフトウェア(
8)はコプロセッサ15に転送され、一時メモリ15T
中に存在する。この位置で、ソフトウェア暗号キーAK
を使用して、暗号化ソフトウェアが解読され(9)、コ
プロセッサ15によって実行可能になる。
る。これ等のレジスタはARE過程の前にその中に存在
した平文のトークン・データが線D3及びD4を介して
コネクタ23(第2図)から与えられるデータによって
置換えられているというと意味で「空き」である。これ
等のデータは妥当性検証過程に対しては無意味であり、
トークン・カートリッジ20のレジスタの情報内容の見
地からは「空き」と実質的に同じである。ARE過程が
成功程に完了したときは、暗号形のE。5K(A K)
としてコプロセッサ15によって受取られたソフトウェ
ア解読キーAKが解読されていて、AREの完了に応答
して、AKはコプロセッサ15の永久メモリ15Pに転
送される(5)。第6図は又LDR(ロード、解読及び
実行)中のコプロセッサ15の動作を示している。この
過程中にソフトウェア解読キーAK (5)は一時メモ
リ15Tにコピーされる。平文ソフトウェア(ファイル
2)は上位計算機10に転送され、ここでこれはこれが
平文であるので実行可能である。暗号化ソフトウェア(
8)はコプロセッサ15に転送され、一時メモリ15T
中に存在する。この位置で、ソフトウェア暗号キーAK
を使用して、暗号化ソフトウェアが解読され(9)、コ
プロセッサ15によって実行可能になる。
コプロセッサ15が安全であるから、平文になった保護
ソフトウェアはコプロセッサ15のメモリ中に存在して
も、ユーザもしくは他人に利用されることはない。しか
しながら、このソフトウェアはコプロセッサ15によっ
て実行でき、その実行の結果を上位計算機に送ることが
できる。このように、上位計算機10及びコプロセッサ
15より成る複合計算システムはソフトウェア・アプリ
ケーション・パッケージを実行する際に協働し、上位計
算機もしくはPCIOが平文の部分を実行し、コプロセ
ッサ15が保護された部分を実行する。もし望まれるな
らば、全アプリケーションを保護して、コプロセッサ1
5上だけで実行させることもできる。
ソフトウェアはコプロセッサ15のメモリ中に存在して
も、ユーザもしくは他人に利用されることはない。しか
しながら、このソフトウェアはコプロセッサ15によっ
て実行でき、その実行の結果を上位計算機に送ることが
できる。このように、上位計算機10及びコプロセッサ
15より成る複合計算システムはソフトウェア・アプリ
ケーション・パッケージを実行する際に協働し、上位計
算機もしくはPCIOが平文の部分を実行し、コプロセ
ッサ15が保護された部分を実行する。もし望まれるな
らば、全アプリケーションを保護して、コプロセッサ1
5上だけで実行させることもできる。
第3図乃至第6図は暗号化トークン・データがアプリケ
ーション・ソフトウェアを指示するのと同一媒体によっ
てユーザに与えられる本発明の実施例及び応用を示す。
ーション・ソフトウェアを指示するのと同一媒体によっ
てユーザに与えられる本発明の実施例及び応用を示す。
この媒体は磁気媒体であるが、通信リンクでもよい。
暗号化トークン・データとソフトウェアを組合せる時に
は少なくともある程度、ソフトウェア供給媒体は(暗号
化トークン・データの存在によって)一意的であるか、
相対的に一意的でなければならない。しかしながら、ソ
フトウェア媒体は一般的であることが望ましく1本発明
のこのような実施例では、暗号化トークン・データはソ
フトウェア頒布媒体上には存在しない(もしくは通信リ
ンク上を転送される時にアプリケーション・ソフトウェ
アと組合されない)。しかしながら暗号化トークン・デ
ータをコプロセッサ15に送ることは不可欠である。そ
れはこの情報が実行権を獲得するのに不可欠であるから
である。本発明の代替実施例では、ハードウェア・カー
トリッジ20は少なくとも、暗号化トークン・データを
記憶するための専用のレジスタを含むように修正される
。
は少なくともある程度、ソフトウェア供給媒体は(暗号
化トークン・データの存在によって)一意的であるか、
相対的に一意的でなければならない。しかしながら、ソ
フトウェア媒体は一般的であることが望ましく1本発明
のこのような実施例では、暗号化トークン・データはソ
フトウェア頒布媒体上には存在しない(もしくは通信リ
ンク上を転送される時にアプリケーション・ソフトウェ
アと組合されない)。しかしながら暗号化トークン・デ
ータをコプロセッサ15に送ることは不可欠である。そ
れはこの情報が実行権を獲得するのに不可欠であるから
である。本発明の代替実施例では、ハードウェア・カー
トリッジ20は少なくとも、暗号化トークン・データを
記憶するための専用のレジスタを含むように修正される
。
コプロセッサ15は上述の照会データを発生する外に、
暗号化トークン・データをコプロセッサ15に転送する
ための一意的なコマンド及び十分なりロック・パルスを
発生する9本発明のこの代替実施例ではハードウェア・
カートリッジ20は(シフト・レジスタ120及び22
0巾の)平文トークン・データだけでなく、第3のレジ
スタ(第2図には示されていない)に暗号化トークン・
データを記憶する。
暗号化トークン・データをコプロセッサ15に転送する
ための一意的なコマンド及び十分なりロック・パルスを
発生する9本発明のこの代替実施例ではハードウェア・
カートリッジ20は(シフト・レジスタ120及び22
0巾の)平文トークン・データだけでなく、第3のレジ
スタ(第2図には示されていない)に暗号化トークン・
データを記憶する。
F5上位計算機の実行の流れ図
第7図は本発明に従い上位計算機10中で実行される機
能を示す流れ図である。第7図に示したサービスは本発
明に固有なものであり、他の通常のサービス示されてい
ない。第7図に示したように、初期判断H1がARE過
程が要求されているかどうかを判断する。本発明に従う
任意の特定のアプリケーション・パッケージを最初に実
行させる時は、この要求が存在する。従って、機能H2
がARE要求をコプロセッサ15に送るように要求する
。次にH3及びH4より成るループに導入する。このル
ープ中で上位計算機10はコプロセッサ15がARE過
程を完了したことを示す迄コプロセッサの要求をサービ
スさせる。ループが完了すると、処理は機能H1に戻る
。
能を示す流れ図である。第7図に示したサービスは本発
明に固有なものであり、他の通常のサービス示されてい
ない。第7図に示したように、初期判断H1がARE過
程が要求されているかどうかを判断する。本発明に従う
任意の特定のアプリケーション・パッケージを最初に実
行させる時は、この要求が存在する。従って、機能H2
がARE要求をコプロセッサ15に送るように要求する
。次にH3及びH4より成るループに導入する。このル
ープ中で上位計算機10はコプロセッサ15がARE過
程を完了したことを示す迄コプロセッサの要求をサービ
スさせる。ループが完了すると、処理は機能H1に戻る
。
段階H1−H4を遂行した後、もしくは(本発明に従う
アプリケーション・ソフトウェアの第2回目もしくは任
意のその後の実行のために)LDR過程を実行すべき時
に、機能H1は機能H5に処理を指示する。H5はLD
R過程が要求されたかどうかを判断する。もしLDRが
要求されていないと1機能H6がこれ等のサービスを脱
出することが要求されているかどうかを判断する。もし
脱出が要求されていないと、処理はブロックH1に戻る
。もし脱出が要求されていると、第7図に示されている
処理が終る。
アプリケーション・ソフトウェアの第2回目もしくは任
意のその後の実行のために)LDR過程を実行すべき時
に、機能H1は機能H5に処理を指示する。H5はLD
R過程が要求されたかどうかを判断する。もしLDRが
要求されていないと1機能H6がこれ等のサービスを脱
出することが要求されているかどうかを判断する。もし
脱出が要求されていないと、処理はブロックH1に戻る
。もし脱出が要求されていると、第7図に示されている
処理が終る。
他方、機能H5でLDR要求が認識されると、機能H7
が遂行され、LDR要求をコプロセッサ15に送る。
が遂行され、LDR要求をコプロセッサ15に送る。
次にループH3−H4に全く同じ機能H8及びH9より
成るループに導入する6機能H9でコプロセッサ15が
LDR処理の完了を示すと、機能HIOが遂行されて、
上位計算機1o中の対応するプログラム(たとえば、ア
プリケーション・プログラム)にLDR処理が完了した
ことが知らされる。
成るループに導入する6機能H9でコプロセッサ15が
LDR処理の完了を示すと、機能HIOが遂行されて、
上位計算機1o中の対応するプログラム(たとえば、ア
プリケーション・プログラム)にLDR処理が完了した
ことが知らされる。
機能H2が遂行される時は、コプロセッサ15が刺戟さ
れて、実行権獲得過程の部分を実行する。
れて、実行権獲得過程の部分を実行する。
これ等の機能は第8図に示されている。上述の2つの特
権レベルのうちで、ARE過程が上位の特権レベルにあ
る。それはその機能がソフトウェアの販売者の保護のた
めに、実行権の拡散を防止することにあるからである。
権レベルのうちで、ARE過程が上位の特権レベルにあ
る。それはその機能がソフトウェアの販売者の保護のた
めに、実行権の拡散を防止することにあるからである。
H6,実行権獲得過程の流れ図
第8図に示されているように、機能CIは上位計算機1
0から暗号化ソフトウェア解読キーを要求する。上位計
算機10はソフトウェア供給媒体(もしくは通信リンク
)から、この情報にアクセスする。機能C2はC5Kを
アクセスして暗号化ソフトウェア解読キーを解読する。
0から暗号化ソフトウェア解読キーを要求する。上位計
算機10はソフトウェア供給媒体(もしくは通信リンク
)から、この情報にアクセスする。機能C2はC5Kを
アクセスして暗号化ソフトウェア解読キーを解読する。
CSKは製造時に永久メモリ15P中にコプロセッサ1
5の製追考によって設置されている。上述のように、C
3Kは1個以上存在するので、暗号化されたソフトウェ
ア解読キー・ファイルは適切なC8Kを識別するための
ヘッダ・インデックスを含む0機能C3は上位計算機か
ら暗号化トークン・データを要求する。暗号化トークン
・データがアプリケーションと同じソフトウェア供給媒
体上に付帯される時は、上位計算機10がこれにアクセ
スする。
5の製追考によって設置されている。上述のように、C
3Kは1個以上存在するので、暗号化されたソフトウェ
ア解読キー・ファイルは適切なC8Kを識別するための
ヘッダ・インデックスを含む0機能C3は上位計算機か
ら暗号化トークン・データを要求する。暗号化トークン
・データがアプリケーションと同じソフトウェア供給媒
体上に付帯される時は、上位計算機10がこれにアクセ
スする。
これに代って、暗号化トークン・データがハードウェア
・カートリッジ20に記憶されている場合には、上述□
のように上位計算機10がハードウェア・カートリッジ
20にアクセスするが、上位計算機1oがアクセスしな
い時には、コプロセッサ15が直接ハードウェア・カー
トリッジ20にアクセスする。
・カートリッジ20に記憶されている場合には、上述□
のように上位計算機10がハードウェア・カートリッジ
20にアクセスするが、上位計算機1oがアクセスしな
い時には、コプロセッサ15が直接ハードウェア・カー
トリッジ20にアクセスする。
機能C4は既に利用可能になっているソフトウェア解読
キーを使用して暗号化トークン・データを解読する。次
に解読されたトークン・データは一時メモリ15Tに保
持される。
キーを使用して暗号化トークン・データを解読する。次
に解読されたトークン・データは一時メモリ15Tに保
持される。
次に機能C5はトークン照会をなす乱数を発生する。機
能C6は乱数とトークン・データを組合せてトークン応
答をシミュレートし、計算された応答を発生して同じよ
うに一時メモリ15Tに保持する。
能C6は乱数とトークン・データを組合せてトークン応
答をシミュレートし、計算された応答を発生して同じよ
うに一時メモリ15Tに保持する。
機能C7は次に上位計算機に要求して乱数(トークン照
会)によってハードウェア・カートリッジ20を照会す
る。勿論、もしコプロセッサ15がハードウェア・カー
トリッジ20に直接アクセスする場合には、この機能は
上位計算機10による間接的方法でなく直接に具体化さ
れる。次に機能C8は上位計算機に対してトークン応答
を供給することを要求する。このトークン応答も一時メ
モリ15Tに記憶される6次に機能C9は実際の応答と
計算された、即ち予測された応答を比較する。機能CI
Oは機能C9の比較に基づく分岐である。もしトークン
の計算した応答と実際の応答が一致すると、(代表的な
場合はこれ等は等しい)、このことは確認された(真正
の)トークンの証拠として受取られる。機能C13はそ
の後このソフトウェア解読キーを永久メモリに移動する
(5)。
会)によってハードウェア・カートリッジ20を照会す
る。勿論、もしコプロセッサ15がハードウェア・カー
トリッジ20に直接アクセスする場合には、この機能は
上位計算機10による間接的方法でなく直接に具体化さ
れる。次に機能C8は上位計算機に対してトークン応答
を供給することを要求する。このトークン応答も一時メ
モリ15Tに記憶される6次に機能C9は実際の応答と
計算された、即ち予測された応答を比較する。機能CI
Oは機能C9の比較に基づく分岐である。もしトークン
の計算した応答と実際の応答が一致すると、(代表的な
場合はこれ等は等しい)、このことは確認された(真正
の)トークンの証拠として受取られる。機能C13はそ
の後このソフトウェア解読キーを永久メモリに移動する
(5)。
機能C14は次に上位計算機10を介してメツセージを
送りユーザにARE過程が成功裡に完了したことを通知
し、また上位計算機10に対してアプリケーションに対
応するソフトウェア解読キーの位置を識別する情報を与
える。
送りユーザにARE過程が成功裡に完了したことを通知
し、また上位計算機10に対してアプリケーションに対
応するソフトウェア解読キーの位置を識別する情報を与
える。
他方、トークンの実際の応答と計算された応答が一致し
ない場合には(たとえば応答が等しくないと)、機能C
13及びC14の実行に代って、機能C1lが実行され
、ユーザに実行権が獲得されなかったことが知らされる
。この場合、ソフトウェア解読キーは一時メモリ15T
中に利用可能であるが、これは永久メモリ15Pへ転送
されない。従ってソフトウェア解読キーは使用できず、
アプリケーション・パッケージは実行できない。
ない場合には(たとえば応答が等しくないと)、機能C
13及びC14の実行に代って、機能C1lが実行され
、ユーザに実行権が獲得されなかったことが知らされる
。この場合、ソフトウェア解読キーは一時メモリ15T
中に利用可能であるが、これは永久メモリ15Pへ転送
されない。従ってソフトウェア解読キーは使用できず、
アプリケーション・パッケージは実行できない。
F7.LDR中の上位計算機の機能
第9A図は代表的なLDR過程中に上位計算機中で遂行
される機能を示す。LDR過程はアプリケーション・プ
ログラムを開始する機能I(11中で開始する。プログ
ラムが保護されていると判断されると、機能H12が遂
行され、DO8にLDRオーダを送ると共に、AKの位
置、たとえば必要なソフトウェア解読キーが存在する、
コプロセッサ15の永久メモリ中の位置を判断するため
のインデックス情報を与える。この情報は前のARE過
程が成功した時に機能C14によってアプリケーション
・プログラムとともに上位計算機に与えられている。
される機能を示す。LDR過程はアプリケーション・プ
ログラムを開始する機能I(11中で開始する。プログ
ラムが保護されていると判断されると、機能H12が遂
行され、DO8にLDRオーダを送ると共に、AKの位
置、たとえば必要なソフトウェア解読キーが存在する、
コプロセッサ15の永久メモリ中の位置を判断するため
のインデックス情報を与える。この情報は前のARE過
程が成功した時に機能C14によってアプリケーション
・プログラムとともに上位計算機に与えられている。
次の機能H13はDOSサービス(第7図参照)からの
通知を待っている単なる遅延である。この通知(第7図
のHlo)によって機能H14は必要に応じてコプロセ
ッサ15中で実行されるコードを使用してアプリケーシ
ョンの実行を遂行する。
通知を待っている単なる遅延である。この通知(第7図
のHlo)によって機能H14は必要に応じてコプロセ
ッサ15中で実行されるコードを使用してアプリケーシ
ョンの実行を遂行する。
コプロセッサ中でどのように保護ソフトウェアが実行さ
れるかを知るためには第9B図を参照されたい。
れるかを知るためには第9B図を参照されたい。
F8.LDR中のコプロセッサの機能
第9B図に示されているように、コプロセッサ15がL
DR要求を受取ると、機能C15が遂行され、第9B図
に示した機能を開始する。LDR要求はH7(第7図参
照)において開始する。機能C16は上位計算機にAK
の位置を示す情報を与えるように要求する。この要求は
DOSサービス(第7図)に伝えられ、DOSサービス
は機能H8によって与えられた情報で応答する。このイ
ンデックス情報によって、機能C17は永久メモリから
ソフトウェア解読キーのコピーを得て、これをコプロセ
ッサ15の一時メモリ15Tにロードする。機能C18
は次に上位計算機から保護されたソフトウェアを要求す
る。暗号形の保護ソフトウェアは一時メモ゛り中に保持
され、機能C19で機能C17で得たソフトウェア解読
キーを使用して解読される。機能C19の結果は保1さ
れたソフトウェアの平文版である。これはコプロセッサ
15の一時メモリ15Tに保持される。コプロセッサ1
5の論理的及び物理的安全性によって与えられる保護は
ユーザもしくは他の者にこの保護されたソフトウェアの
平文部分が露顕するのを防止する0機能C20は次に上
位計算機に対してLDR処理が完了したことを通知する
。次に機能C21が解読されたソフトウェアを実行する
1機能C17−C19は又2つの特権レベルのうち高い
方のレベルを表わすと考えることができる。それはこれ
等が実行権AKの行使を処理するからである。他方機能
C21は2つの特権レベルのうち低位のレベルの例であ
る。機能H14及びC21は種々の技法を使用して協働
させることができ、アプリケーション・ソフトウェアの
完全な実行を得ることができる。
DR要求を受取ると、機能C15が遂行され、第9B図
に示した機能を開始する。LDR要求はH7(第7図参
照)において開始する。機能C16は上位計算機にAK
の位置を示す情報を与えるように要求する。この要求は
DOSサービス(第7図)に伝えられ、DOSサービス
は機能H8によって与えられた情報で応答する。このイ
ンデックス情報によって、機能C17は永久メモリから
ソフトウェア解読キーのコピーを得て、これをコプロセ
ッサ15の一時メモリ15Tにロードする。機能C18
は次に上位計算機から保護されたソフトウェアを要求す
る。暗号形の保護ソフトウェアは一時メモ゛り中に保持
され、機能C19で機能C17で得たソフトウェア解読
キーを使用して解読される。機能C19の結果は保1さ
れたソフトウェアの平文版である。これはコプロセッサ
15の一時メモリ15Tに保持される。コプロセッサ1
5の論理的及び物理的安全性によって与えられる保護は
ユーザもしくは他の者にこの保護されたソフトウェアの
平文部分が露顕するのを防止する0機能C20は次に上
位計算機に対してLDR処理が完了したことを通知する
。次に機能C21が解読されたソフトウェアを実行する
1機能C17−C19は又2つの特権レベルのうち高い
方のレベルを表わすと考えることができる。それはこれ
等が実行権AKの行使を処理するからである。他方機能
C21は2つの特権レベルのうち低位のレベルの例であ
る。機能H14及びC21は種々の技法を使用して協働
させることができ、アプリケーション・ソフトウェアの
完全な実行を得ることができる。
本発明の範囲には、アプリケーション・ソフトウェアの
すべてが保護されることを含む。コプロセッサ15によ
る保護ソフトウェアの実行中に。
すべてが保護されることを含む。コプロセッサ15によ
る保護ソフトウェアの実行中に。
この実行の結果だけが上位計算機10に与えられる。
ソフトウェア供給媒体は自由にコピーできもしくはバッ
クアップできるが、コプロセッサ15のようなコプロセ
ッサを含む複合システムがないと実行できない。さらに
複合システム上で実行できるのは、その中のコプロセッ
サ15が必要なソフトウェア解読キーを利用できるとき
だけである。
クアップできるが、コプロセッサ15のようなコプロセ
ッサを含む複合システムがないと実行できない。さらに
複合システム上で実行できるのは、その中のコプロセッ
サ15が必要なソフトウェア解読キーを利用できるとき
だけである。
さらにコプロセッサ15がソフトウェア解読キーにアク
セスして、この情報を永久メモリに保持するためには、
真正なカートリッジ20が必要である。このカートリッ
ジ20は偽造もしくはシミュレートが困難で、−回限り
使用可能なように構成されている。それ故、適切なハー
ドウェア・カートリッジ20は唯一のコプロセッサ15
だけを許可することができる。唯一のコプロセッサ15
だけが許可されるが、コプロセッサ15はポータプルに
でき、任意の適切な上位計算機10とともに使用して、
保護されたソフトウェアを実行できる。
セスして、この情報を永久メモリに保持するためには、
真正なカートリッジ20が必要である。このカートリッ
ジ20は偽造もしくはシミュレートが困難で、−回限り
使用可能なように構成されている。それ故、適切なハー
ドウェア・カートリッジ20は唯一のコプロセッサ15
だけを許可することができる。唯一のコプロセッサ15
だけが許可されるが、コプロセッサ15はポータプルに
でき、任意の適切な上位計算機10とともに使用して、
保護されたソフトウェアを実行できる。
このようにソフトウェアの販売者は保護されたアプリケ
ーション・ソフトウェアとその実行権とを分離するとい
う所望の結果を達成する。カストマ即ちユーザは望むだ
け多くの、保護されたソフトウェアのコピーを作成でき
るが、単一の複合計算システム上で一回限り実行できる
だけである。
ーション・ソフトウェアとその実行権とを分離するとい
う所望の結果を達成する。カストマ即ちユーザは望むだ
け多くの、保護されたソフトウェアのコピーを作成でき
るが、単一の複合計算システム上で一回限り実行できる
だけである。
G1発明の効果
本発明によれば、ソフトウェアは暗号化されて提供され
る。従って、ソフトウェアは暗号化によって基本的に保
護されるだけでなく、トークン・データによってその実
行権が最終的に認可される。
る。従って、ソフトウェアは暗号化によって基本的に保
護されるだけでなく、トークン・データによってその実
行権が最終的に認可される。
しかも、トークン・データは1回の使用によって破壊又
は変更される。従って、ソフトウェアの使用を有効に制
限でき、不正使用を防止することができる。
は変更される。従って、ソフトウェアの使用を有効に制
限でき、不正使用を防止することができる。
第1図は本発明のソフトウェア保護構成を示したブロッ
ク図である。 第2図はハードウェア・カートリッジとそのコネクタを
示したブロック図である。 第3図は本発明に基くソフトウェア・セットの内容を示
した図である。 第4図はソフトウェア・セットの内容がソフトウェアの
販売者によってどのように作成されるかを示した図であ
る。 第5図は実行権獲得過程の動作を示した概略図である。 第6図は実行権獲得過程に続くロード、解読及び実行の
動作を示した図である。 第7図は本発明に従い上位計算機中で実行されるサービ
スを示した流れ図である。 第8図はコプロセッサ15中で実行される実行権獲得過
程の流れ図である。 第9A図はロード、解読及び実行過程で上位計算機中で
実行されるサービスを示した流れ図である。 第9B図はロード、解読及び実行過程でコプロセッサ中
で実行されるサービスを示した流れ図である。 4・・・CPU、6・・・RAM、8・・・ROM、9
・・・端末制御ユニット、10・・・上位計算機、11
・・・表示装置、13・・・手動入力装置、15・・・
コプロセッサ、16・・・ディスク制御装置、17・・
・ディスク駆動装置、19・・・I10ポート、20・
・・トークン・カートリッジ、150・・・CPU、1
51・・・RAM、152・・・ROM、153・・・
持久RAM、154・・・工/○ポート、155・・・
侵入検出システム、156・・・実時間クロック。 − へ m 第6図 第9BE
ク図である。 第2図はハードウェア・カートリッジとそのコネクタを
示したブロック図である。 第3図は本発明に基くソフトウェア・セットの内容を示
した図である。 第4図はソフトウェア・セットの内容がソフトウェアの
販売者によってどのように作成されるかを示した図であ
る。 第5図は実行権獲得過程の動作を示した概略図である。 第6図は実行権獲得過程に続くロード、解読及び実行の
動作を示した図である。 第7図は本発明に従い上位計算機中で実行されるサービ
スを示した流れ図である。 第8図はコプロセッサ15中で実行される実行権獲得過
程の流れ図である。 第9A図はロード、解読及び実行過程で上位計算機中で
実行されるサービスを示した流れ図である。 第9B図はロード、解読及び実行過程でコプロセッサ中
で実行されるサービスを示した流れ図である。 4・・・CPU、6・・・RAM、8・・・ROM、9
・・・端末制御ユニット、10・・・上位計算機、11
・・・表示装置、13・・・手動入力装置、15・・・
コプロセッサ、16・・・ディスク制御装置、17・・
・ディスク駆動装置、19・・・I10ポート、20・
・・トークン・カートリッジ、150・・・CPU、1
51・・・RAM、152・・・ROM、153・・・
持久RAM、154・・・工/○ポート、155・・・
侵入検出システム、156・・・実時間クロック。 − へ m 第6図 第9BE
Claims (1)
- 【特許請求の範囲】 許可された計算機システムにだけソフトウェアの使用を
制限する方法であって、 (a)少なくとも1部が暗号化されている形のソフトウ
ェアを与えること、 (b)上記暗号化されたソフトウェア部分を解読するた
めの解読キーを与えること、 (c)上記計算機システムに結合され、上記解読キーを
保持した時に上記暗号化されたソフトウェア部分を解読
できるコプロセッサを与えること、(d)上記コプロセ
ッサに、トークン情報を記憶したトークン発生手段を結
合すること、 (e)上記トークン発生手段から転送されるトークン情
報が所定の条件を満たす時に上記解読キーを上記コプロ
セッサに保持させること、及び(f)上記トークン発生
手段からトークン情報が上記コプロセッサに転送される
時に上記トークン発生手段内のトークン情報を変更する
こと、を含む、ソフトウェアの保護方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/927,629 US4817140A (en) | 1986-11-05 | 1986-11-05 | Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor |
US927629 | 1986-11-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63128434A true JPS63128434A (ja) | 1988-06-01 |
JPH0260009B2 JPH0260009B2 (ja) | 1990-12-14 |
Family
ID=25455024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62250064A Granted JPS63128434A (ja) | 1986-11-05 | 1987-10-05 | ソフトウエアの保護方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4817140A (ja) |
JP (1) | JPS63128434A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005528678A (ja) * | 2002-04-18 | 2005-09-22 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | セキュア実行モードで動作し得るプロセッサを含むコンピュータシステムの初期化方法 |
JP2008210225A (ja) * | 2007-02-27 | 2008-09-11 | Fujitsu Ltd | セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法 |
US8695102B2 (en) | 2006-05-01 | 2014-04-08 | International Business Machines Corporation | Controlling execution of executables between partitions in a multi-partitioned data processing system |
Families Citing this family (275)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4965825A (en) | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
US4999806A (en) * | 1987-09-04 | 1991-03-12 | Fred Chernow | Software distribution system |
US5581763A (en) * | 1988-06-14 | 1996-12-03 | Progressive Technology Inc. | Secure architecture and apparatus using an independent computer cartridge |
US4932054A (en) * | 1988-09-16 | 1990-06-05 | Chou Wayne W | Method and apparatus for protecting computer software utilizing coded filter network in conjunction with an active coded hardware device |
US5047957A (en) * | 1988-10-21 | 1991-09-10 | Minolta Camera Kabushiki Kaisha | Printer controller |
US5434999A (en) * | 1988-11-09 | 1995-07-18 | Bull Cp8 | Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal |
US5022077A (en) * | 1989-08-25 | 1991-06-04 | International Business Machines Corp. | Apparatus and method for preventing unauthorized access to BIOS in a personal computer system |
GB9012949D0 (en) * | 1989-08-25 | 1990-08-01 | Ibm | An apparatus and method for loading bios from a diskette in a personal computer system |
US5210875A (en) * | 1989-08-25 | 1993-05-11 | International Business Machines Corporation | Initial bios load for a personal computer system |
US5136713A (en) * | 1989-08-25 | 1992-08-04 | International Business Machines Corporation | Apparatus and method for decreasing the memory requirements for bios in a personal computer system |
US5081675A (en) * | 1989-11-13 | 1992-01-14 | Kitti Kittirutsunetorn | System for protection of software in memory against unauthorized use |
US5033084A (en) * | 1990-04-02 | 1991-07-16 | Data I/O Corporation | Method and apparatus for protection of software in an electronic system |
GB9010603D0 (en) * | 1990-05-11 | 1990-07-04 | Int Computers Ltd | Access control in a distributed computer system |
US5826009A (en) * | 1990-07-12 | 1998-10-20 | Feng; Genquan | Protection of software from physical and electronic interrogation by sealing and checking password |
US5230052A (en) * | 1990-10-01 | 1993-07-20 | International Business Machines Corp. | Apparatus and method for loading bios into a computer system from a remote storage location |
US5222134A (en) * | 1990-11-07 | 1993-06-22 | Tau Systems Corporation | Secure system for activating personal computer software at remote locations |
US5222133A (en) * | 1991-10-17 | 1993-06-22 | Wayne W. Chou | Method of protecting computer software from unauthorized execution using multiple keys |
US7028187B1 (en) | 1991-11-15 | 2006-04-11 | Citibank, N.A. | Electronic transaction apparatus for electronic commerce |
US5557518A (en) * | 1994-04-28 | 1996-09-17 | Citibank, N.A. | Trusted agents for open electronic commerce |
US5453601A (en) * | 1991-11-15 | 1995-09-26 | Citibank, N.A. | Electronic-monetary system |
US5301231A (en) * | 1992-02-12 | 1994-04-05 | International Business Machines Corporation | User defined function facility |
US5610981A (en) * | 1992-06-04 | 1997-03-11 | Integrated Technologies Of America, Inc. | Preboot protection for a data security system with anti-intrusion capability |
US5327497A (en) * | 1992-06-04 | 1994-07-05 | Integrated Technologies Of America, Inc. | Preboot protection of unauthorized use of programs and data with a card reader interface |
JP2519390B2 (ja) * | 1992-09-11 | 1996-07-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | デ―タ通信方法及び装置 |
US7209901B2 (en) | 1992-12-15 | 2007-04-24 | Sl Patent Holdings Llc C/O Aol Time Warner | Method for selling, protecting, and redistributing digital goods |
US6266654B1 (en) * | 1992-12-15 | 2001-07-24 | Softlock.Com, Inc. | Method for tracking software lineage |
US7089212B2 (en) * | 1992-12-15 | 2006-08-08 | Sl Patent Holdings Llc | System and method for controlling access to protected information |
US7831516B2 (en) * | 1992-12-15 | 2010-11-09 | Sl Patent Holdings Llc | System and method for redistributing and licensing access to protected information among a plurality of devices |
US5521323A (en) * | 1993-05-21 | 1996-05-28 | Coda Music Technologies, Inc. | Real-time performance score matching |
US5400403A (en) * | 1993-08-16 | 1995-03-21 | Rsa Data Security, Inc. | Abuse-resistant object distribution system and method |
JPH07271865A (ja) * | 1994-04-01 | 1995-10-20 | Mitsubishi Corp | データベース著作権管理方法 |
US7036019B1 (en) | 1994-04-01 | 2006-04-25 | Intarsia Software Llc | Method for controlling database copyrights |
US6088797A (en) * | 1994-04-28 | 2000-07-11 | Rosen; Sholom S. | Tamper-proof electronic processing device |
US5604803A (en) * | 1994-06-03 | 1997-02-18 | Sun Microsystems, Inc. | Method and apparatus for secure remote authentication in a public network |
EP1845527A3 (en) | 1994-07-08 | 2012-04-25 | Sony Corporation | Receiving controlled-access broadcast signals |
US6041316A (en) * | 1994-07-25 | 2000-03-21 | Lucent Technologies Inc. | Method and system for ensuring royalty payments for data delivered over a network |
JPH0854951A (ja) * | 1994-08-10 | 1996-02-27 | Fujitsu Ltd | ソフトウェア使用量管理装置 |
JP3395863B2 (ja) * | 1994-08-10 | 2003-04-14 | 富士通株式会社 | ソフトウエア管理モジュール、ソフトウエア再生管理装置およびソフトウエア再生管理システム |
JPH0855021A (ja) * | 1994-08-10 | 1996-02-27 | Fujitsu Ltd | 鍵認証方式 |
JP3519134B2 (ja) * | 1994-08-10 | 2004-04-12 | 富士通株式会社 | ソフトウェア使用量測定装置およびマルチメディア情報出力装置 |
JP3531978B2 (ja) * | 1994-08-10 | 2004-05-31 | 富士通株式会社 | ソフトウエアの課金方式 |
JP3439838B2 (ja) * | 1994-08-10 | 2003-08-25 | 富士通株式会社 | ソフトウエア従量課金・再生装置 |
JPH0856356A (ja) * | 1994-08-10 | 1996-02-27 | Fujitsu Ltd | 符号化装置および復号化装置 |
JPH0855164A (ja) * | 1994-08-10 | 1996-02-27 | Fujitsu Ltd | ソフトウェア配送システム、中継装置およびユーザ端末装置 |
US5530753A (en) * | 1994-08-15 | 1996-06-25 | International Business Machines Corporation | Methods and apparatus for secure hardware configuration |
JPH0877263A (ja) | 1994-09-09 | 1996-03-22 | Fujitsu Ltd | ソフトウェア処理装置 |
JP3647907B2 (ja) * | 1994-09-09 | 2005-05-18 | 富士通株式会社 | 暗号化ソフトウェアの解凍システム |
JPH0883232A (ja) * | 1994-09-09 | 1996-03-26 | Fujitsu Ltd | ファイルサーバシステム |
JP3542088B2 (ja) * | 1994-09-09 | 2004-07-14 | 富士通株式会社 | データコンテンツ利用システム |
US7302415B1 (en) | 1994-09-30 | 2007-11-27 | Intarsia Llc | Data copyright management system |
US6424715B1 (en) * | 1994-10-27 | 2002-07-23 | Mitsubishi Corporation | Digital content management system and apparatus |
DE69532434T2 (de) | 1994-10-27 | 2004-11-11 | Mitsubishi Corp. | Gerät für Dateiurheberrechte-Verwaltungssystem |
US6865551B1 (en) | 1994-11-23 | 2005-03-08 | Contentguard Holdings, Inc. | Removable content repositories |
US20050149450A1 (en) * | 1994-11-23 | 2005-07-07 | Contentguard Holdings, Inc. | System, method, and device for controlling distribution and use of digital works based on a usage rights grammar |
US6963859B2 (en) | 1994-11-23 | 2005-11-08 | Contentguard Holdings, Inc. | Content rendering repository |
US7117180B1 (en) | 1994-11-23 | 2006-10-03 | Contentguard Holdings, Inc. | System for controlling the use of digital works using removable content repositories |
JPH08263438A (ja) | 1994-11-23 | 1996-10-11 | Xerox Corp | ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法 |
KR0152788B1 (ko) | 1994-11-26 | 1998-10-15 | 이헌조 | 디지탈 영상 시스템의 복사 방지 방법 및 장치 |
KR0136458B1 (ko) | 1994-12-08 | 1998-05-15 | 구자홍 | 디지탈 자기 기록재생 시스템의 복사 방지장치 |
SE504085C2 (sv) | 1995-02-01 | 1996-11-04 | Greg Benson | Sätt och system för att hantera dataobjekt i enlighet med förutbestämda villkor för användare |
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 |
US20060206397A1 (en) * | 1995-02-13 | 2006-09-14 | Intertrust Technologies Corp. | Cryptographic methods, apparatus and systems for storage media electronic right management in closed and connected appliances |
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US7124302B2 (en) * | 1995-02-13 | 2006-10-17 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US8639625B1 (en) | 1995-02-13 | 2014-01-28 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
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 |
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 |
EP1526472A3 (en) * | 1995-02-13 | 2006-07-26 | Intertrust Technologies Corp. | 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 |
US7143290B1 (en) * | 1995-02-13 | 2006-11-28 | Intertrust Technologies Corporation | Trusted and secure techniques, systems and methods for item delivery and execution |
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 |
US7133845B1 (en) * | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | System and methods for secure transaction management and electronic rights protection |
US6636970B2 (en) | 1995-02-14 | 2003-10-21 | Fujitsu Limited | Software encoding using a combination of two types of encoding and encoding type identification information |
US5754761A (en) * | 1995-03-06 | 1998-05-19 | Willsey; John A. | Universal sofeware key process |
US5651068A (en) * | 1995-03-08 | 1997-07-22 | Hewlett-Packard Company | International cryptography framework |
JPH08287653A (ja) * | 1995-04-12 | 1996-11-01 | Fujitsu Ltd | 光記録媒体 |
JPH08305662A (ja) * | 1995-05-02 | 1996-11-22 | Fujitsu Ltd | クライアント認証システムおよび方法 |
US5745886A (en) * | 1995-06-07 | 1998-04-28 | Citibank, N.A. | Trusted agents for open distribution of electronic money |
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 |
US5643086A (en) | 1995-06-29 | 1997-07-01 | Silicon Gaming, Inc. | Electronic casino gaming apparatus with improved play capacity, authentication and security |
NO302388B1 (no) * | 1995-07-13 | 1998-02-23 | Sigurd Sigbjoernsen | Fremgangsmåte og anordning for å beskytte programvare mot bruk uten tillatelse |
JP3507594B2 (ja) * | 1995-07-31 | 2004-03-15 | 株式会社東芝 | コンピュータ |
US7037426B2 (en) * | 2000-05-04 | 2006-05-02 | Zenon Environmental Inc. | Immersed membrane apparatus |
US5671280A (en) * | 1995-08-30 | 1997-09-23 | Citibank, N.A. | System and method for commercial payments using trusted agents |
US8595502B2 (en) | 1995-09-29 | 2013-11-26 | Intarsia Software Llc | Data management system |
EP0880840A4 (en) * | 1996-01-11 | 2002-10-23 | Mrj Inc | DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY |
US5732258A (en) * | 1996-02-08 | 1998-03-24 | Oracle Corporation | Method and apparatus for efficiently evaluating exists and not exists equivalent subqueries |
US20060265337A1 (en) * | 1996-02-26 | 2006-11-23 | Graphon Corporation | Automated system for management of licensed digital assets |
US20010011253A1 (en) | 1998-08-04 | 2001-08-02 | Christopher D. Coley | Automated system for management of licensed software |
JP3486043B2 (ja) * | 1996-03-11 | 2004-01-13 | 株式会社東芝 | ソフトウエア流通システムの動作方法及びソフトウエアシステム |
US6088450A (en) * | 1996-04-17 | 2000-07-11 | Intel Corporation | Authentication system based on periodic challenge/response protocol |
US6052780A (en) * | 1996-09-12 | 2000-04-18 | Open Security Solutions, Llc | Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information |
US6523119B2 (en) * | 1996-12-04 | 2003-02-18 | Rainbow Technologies, Inc. | Software protection device and method |
US20050021477A1 (en) * | 1997-01-29 | 2005-01-27 | Ganapathy Krishnan | Method and system for securely incorporating electronic information into an online purchasing application |
US6144743A (en) * | 1997-02-07 | 2000-11-07 | Kabushiki Kaisha Toshiba | Information recording medium, recording apparatus, information transmission system, and decryption apparatus |
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 |
US6233684B1 (en) * | 1997-02-28 | 2001-05-15 | Contenaguard Holdings, Inc. | System for controlling the distribution and use of rendered digital works through watermaking |
DE69805403T2 (de) * | 1997-03-27 | 2002-12-05 | British Telecommunications P.L.C., London | Datenkopierschutz |
EP1653463A1 (en) * | 1997-05-13 | 2006-05-03 | Kabushiki Kaisha Toshiba | License information copying method and apparatus, license information moving method |
US20020025852A1 (en) * | 2000-09-29 | 2002-02-28 | Alcorn Allan E. | Gaming apparatus with portrait-mode display |
US6230272B1 (en) * | 1997-10-14 | 2001-05-08 | Entrust Technologies Limited | System and method for protecting a multipurpose data string used for both decrypting data and for authenticating a user |
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 |
US7092914B1 (en) * | 1997-11-06 | 2006-08-15 | Intertrust Technologies Corporation | Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
US6334189B1 (en) | 1997-12-05 | 2001-12-25 | Jamama, Llc | Use of pseudocode to protect software from unauthorized use |
US6480959B1 (en) | 1997-12-05 | 2002-11-12 | Jamama, Llc | Software system and associated methods for controlling the use of computer programs |
US6643775B1 (en) | 1997-12-05 | 2003-11-04 | Jamama, Llc | Use of code obfuscation to inhibit generation of non-use-restricted versions of copy protected software applications |
US6385596B1 (en) | 1998-02-06 | 2002-05-07 | Liquid Audio, Inc. | Secure online music distribution system |
US6128741A (en) * | 1998-03-05 | 2000-10-03 | Rainbow Technologies, Inc. | Compact transparent dongle device |
US7233948B1 (en) | 1998-03-16 | 2007-06-19 | Intertrust Technologies Corp. | Methods and apparatus for persistent control and protection of content |
US6289344B1 (en) | 1998-05-11 | 2001-09-11 | International Business Machines Corporation | Context-sensitive authorization in an RDBMS |
US20020161709A1 (en) * | 1998-09-11 | 2002-10-31 | Michel Floyd | Server-side commerce for deliver-then-pay content delivery |
US7068787B1 (en) | 1998-10-23 | 2006-06-27 | Contentguard Holdings, Inc. | System and method for protection of digital works |
US7194092B1 (en) * | 1998-10-26 | 2007-03-20 | Microsoft Corporation | Key-based secure storage |
US7174457B1 (en) * | 1999-03-10 | 2007-02-06 | Microsoft Corporation | System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party |
US20050060549A1 (en) * | 1998-10-26 | 2005-03-17 | Microsoft Corporation | Controlling access to content based on certificates and access predicates |
US6473777B1 (en) | 1998-10-30 | 2002-10-29 | National Semiconductor Corporation | Method for accelerating java virtual machine bytecode verification, just-in-time compilation and garbage collection by using a dedicated co-processor |
WO2000052690A1 (fr) * | 1999-02-26 | 2000-09-08 | Hitachi, Ltd. | Enregistreur, lecteur et support d'enregistrement de signal numerique |
US6836847B1 (en) * | 1999-03-05 | 2004-12-28 | The Johns Hokins University | Software protection for single and multiple microprocessor systems |
US6367019B1 (en) | 1999-03-26 | 2002-04-02 | Liquid Audio, Inc. | Copy security for portable music players |
US7286665B1 (en) | 1999-04-06 | 2007-10-23 | Contentguard Holdings, Inc. | System and method for transferring the right to decode messages |
US6859533B1 (en) | 1999-04-06 | 2005-02-22 | Contentguard Holdings, Inc. | System and method for transferring the right to decode messages in a symmetric encoding scheme |
US6937726B1 (en) * | 1999-04-06 | 2005-08-30 | Contentguard Holdings, Inc. | System and method for protecting data files by periodically refreshing a decryption key |
US7356688B1 (en) | 1999-04-06 | 2008-04-08 | Contentguard Holdings, Inc. | System and method for document distribution |
US7243236B1 (en) * | 1999-07-29 | 2007-07-10 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure and insecure computing environments |
US7171567B1 (en) * | 1999-08-02 | 2007-01-30 | Harris Interactive, Inc. | System for protecting information over the internet |
US20080082446A1 (en) * | 1999-10-01 | 2008-04-03 | Hicks Christian B | Remote Authorization for Unlocking Electronic Data System and Method |
US6885748B1 (en) | 1999-10-23 | 2005-04-26 | Contentguard Holdings, Inc. | System and method for protection of digital works |
US6928551B1 (en) | 1999-10-29 | 2005-08-09 | Lockheed Martin Corporation | Method and apparatus for selectively denying access to encoded data |
US6725205B1 (en) * | 1999-12-02 | 2004-04-20 | Ulysses Esd, Inc. | System and method for secure software installation |
JP2001318768A (ja) * | 2000-03-02 | 2001-11-16 | Sony Computer Entertainment Inc | エンタテインメント装置及びその部品、エンタテインメント装置によるディジタル情報のローディング方法、コンピュータプログラム |
JP3949341B2 (ja) * | 2000-03-03 | 2007-07-25 | 株式会社ソニー・コンピュータエンタテインメント | エンタテインメント装置及び記録媒体 |
US7988559B2 (en) * | 2001-03-08 | 2011-08-02 | Igt | Computerized gaming system, method and apparatus |
US7043641B1 (en) * | 2000-03-08 | 2006-05-09 | Igt | Encryption in a secure computerized gaming system |
CA2402389A1 (en) * | 2000-03-08 | 2002-09-19 | Shuffle Master, Inc. | Computerized gaming system, method and apparatus |
US7024696B1 (en) | 2000-06-14 | 2006-04-04 | Reuben Bahar | Method and system for prevention of piracy of a given software application via a communications network |
AU2001285125B2 (en) * | 2000-08-21 | 2004-08-26 | Igt | Method and apparatus for software authentication |
US7051211B1 (en) * | 2000-08-21 | 2006-05-23 | International Business Machines Corporation | Secure software distribution and installation |
US7743259B2 (en) | 2000-08-28 | 2010-06-22 | Contentguard Holdings, Inc. | System and method for digital rights management using a standard rendering engine |
US6931545B1 (en) * | 2000-08-28 | 2005-08-16 | Contentguard Holdings, Inc. | Systems and methods for integrity certification and verification of content consumption environments |
US7412605B2 (en) * | 2000-08-28 | 2008-08-12 | Contentguard Holdings, Inc. | Method and apparatus for variable encryption of data |
US7073199B1 (en) | 2000-08-28 | 2006-07-04 | Contentguard Holdings, Inc. | Document distribution management method and apparatus using a standard rendering engine and a method and apparatus for controlling a standard rendering engine |
US7194759B1 (en) | 2000-09-15 | 2007-03-20 | International Business Machines Corporation | Used trusted co-servers to enhance security of web interaction |
US7343324B2 (en) * | 2000-11-03 | 2008-03-11 | Contentguard Holdings Inc. | Method, system, and computer readable medium for automatically publishing content |
US7765580B2 (en) * | 2000-12-22 | 2010-07-27 | Entrust, Inc. | Method and apparatus for providing user authentication using a back channel |
US6912294B2 (en) | 2000-12-29 | 2005-06-28 | Contentguard Holdings, Inc. | Multi-stage watermarking process and system |
US8069116B2 (en) * | 2001-01-17 | 2011-11-29 | Contentguard Holdings, Inc. | System and method for supplying and managing usage rights associated with an item repository |
US7206765B2 (en) * | 2001-01-17 | 2007-04-17 | Contentguard Holdings, Inc. | System and method for supplying and managing usage rights based on rules |
US6754642B2 (en) | 2001-05-31 | 2004-06-22 | Contentguard Holdings, Inc. | Method and apparatus for dynamically assigning usage rights to digital works |
US20030220880A1 (en) * | 2002-01-17 | 2003-11-27 | Contentguard Holdings, Inc. | Networked services licensing system and method |
BR0206506A (pt) | 2001-01-17 | 2003-10-21 | Contentguard Holdings Inc | Processo e aparelho para gerenciar direitos de uso de conteúdo digital |
US7028009B2 (en) * | 2001-01-17 | 2006-04-11 | Contentguardiholdings, Inc. | Method and apparatus for distributing enforceable property rights |
US7774279B2 (en) * | 2001-05-31 | 2010-08-10 | Contentguard Holdings, Inc. | Rights offering and granting |
US20070219918A1 (en) * | 2001-01-19 | 2007-09-20 | Jonathan Schull | System and method for controlling access to protected information |
US20020114457A1 (en) * | 2001-01-26 | 2002-08-22 | Takahiro Sato | LSI having interpreter function and information recording/reproducing apparatus using the same |
US20020129261A1 (en) * | 2001-03-08 | 2002-09-12 | Cromer Daryl Carvis | Apparatus and method for encrypting and decrypting data recorded on portable cryptographic tokens |
US7203841B2 (en) | 2001-03-08 | 2007-04-10 | Igt | Encryption in a secure computerized gaming system |
US7016496B2 (en) * | 2001-03-26 | 2006-03-21 | Sun Microsystems, Inc. | System and method for storing and accessing digital media content using smart card technology |
US6966837B1 (en) | 2001-05-10 | 2005-11-22 | Best Robert M | Linked portable and video game systems |
US20030043852A1 (en) * | 2001-05-18 | 2003-03-06 | Bijan Tadayon | Method and apparatus for verifying data integrity based on data compression parameters |
US8001053B2 (en) * | 2001-05-31 | 2011-08-16 | Contentguard Holdings, Inc. | System and method for rights offering and granting using shared state variables |
US6976009B2 (en) | 2001-05-31 | 2005-12-13 | Contentguard Holdings, Inc. | Method and apparatus for assigning consequential rights to documents and documents having such rights |
US8275709B2 (en) * | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US7725401B2 (en) * | 2001-05-31 | 2010-05-25 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
US7222104B2 (en) * | 2001-05-31 | 2007-05-22 | Contentguard Holdings, Inc. | Method and apparatus for transferring usage rights and digital work having transferrable usage rights |
US8275716B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Method and system for subscription digital rights management |
US6973445B2 (en) * | 2001-05-31 | 2005-12-06 | Contentguard Holdings, Inc. | Demarcated digital content and method for creating and processing demarcated digital works |
US6895503B2 (en) * | 2001-05-31 | 2005-05-17 | Contentguard Holdings, Inc. | Method and apparatus for hierarchical assignment of rights to documents and documents having such rights |
US8099364B2 (en) * | 2001-05-31 | 2012-01-17 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US6876984B2 (en) * | 2001-05-31 | 2005-04-05 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
US20030009424A1 (en) * | 2001-05-31 | 2003-01-09 | Contentguard Holdings, Inc. | Method for managing access and use of resources by verifying conditions and conditions for use therewith |
US7152046B2 (en) * | 2001-05-31 | 2006-12-19 | Contentguard Holdings, Inc. | Method and apparatus for tracking status of resource in a system for managing use of the resources |
US7774280B2 (en) * | 2001-06-07 | 2010-08-10 | Contentguard Holdings, Inc. | System and method for managing transfer of rights using shared state variables |
WO2002101490A2 (en) * | 2001-06-07 | 2002-12-19 | Contentguard Holdings, Inc. | Cryptographic trust zones in digital rights management |
EP1323018A4 (en) * | 2001-06-07 | 2004-07-07 | Contentguard Holdings Inc | PROTECTED CONTENT DELIVERY SYSTEM |
CN1539115A (zh) * | 2001-06-07 | 2004-10-20 | ��̹�е¿عɹɷ�����˾ | 管理权限转移的方法和装置 |
FI20011397A (fi) * | 2001-06-29 | 2002-12-30 | Nokia Corp | Menetelmä ja järjestely digitaalisen, arvoa omaavan tallenteen varmistamiseksi, järjestelyssä toimiva päätelaite sekä menetelmää hyödyntävä sovellusohjelma |
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 |
DE60202568T8 (de) * | 2001-08-08 | 2005-10-20 | Matsushita Electric Industrial Co., Ltd., Kadoma | Urheberrechtschutzsystem, Aufzeichungsvorrichtung, und Wiedergabevorrichtung |
US7618317B2 (en) * | 2001-09-10 | 2009-11-17 | Jackson Mark D | Method for developing gaming programs compatible with a computerized gaming operating system and apparatus |
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 |
US8708828B2 (en) * | 2001-09-28 | 2014-04-29 | Igt | Pluggable modular gaming modifiers and configuration templates for gaming environments |
US7404202B2 (en) * | 2001-11-21 | 2008-07-22 | Line 6, Inc. | System, device, and method for providing secure electronic commerce transactions |
CA2469839A1 (en) | 2001-11-26 | 2003-06-05 | Igt | Pass-through live validation device and method |
US7562397B1 (en) | 2002-02-27 | 2009-07-14 | Mithal Ashish K | Method and system for facilitating search, selection, preview, purchase evaluation, offering for sale, distribution, and/or sale of digital content and enhancing the security thereof |
US7316032B2 (en) | 2002-02-27 | 2008-01-01 | Amad Tayebi | Method for allowing a customer to preview, acquire and/or pay for information and a system therefor |
US6871192B2 (en) * | 2001-12-20 | 2005-03-22 | Pace Anti-Piracy | System and method for preventing unauthorized use of protected software utilizing a portable security device |
FR2835331B1 (fr) * | 2002-01-28 | 2008-08-22 | Gemplus Card Int | Procede de controle de l'exploitation de contenus numeriques par un module de securite ou une carte a puce comprenant ledit module |
US20030182559A1 (en) * | 2002-03-22 | 2003-09-25 | Ian Curry | Secure communication apparatus and method for facilitating recipient and sender activity delegation |
US7487365B2 (en) * | 2002-04-17 | 2009-02-03 | Microsoft Corporation | Saving and retrieving data based on symmetric key encryption |
US7890771B2 (en) | 2002-04-17 | 2011-02-15 | Microsoft Corporation | Saving and retrieving data based on public key encryption |
US20030203755A1 (en) * | 2002-04-25 | 2003-10-30 | Shuffle Master, Inc. | Encryption in a secure computerized gaming system |
US7350081B1 (en) | 2002-04-29 | 2008-03-25 | Best Robert M | Secure execution of downloaded software |
US20030217280A1 (en) * | 2002-05-17 | 2003-11-20 | Keaton Thomas S. | Software watermarking for anti-tamper protection |
US20050130745A1 (en) * | 2002-06-05 | 2005-06-16 | Microsoft Corporation | DVD-enabling dongle for a console-based gaming system |
US20030228911A1 (en) * | 2002-06-05 | 2003-12-11 | Dernis Mitchell S. | DVD-enabling code server and loader for a console-based gaming system |
JP4016741B2 (ja) * | 2002-06-25 | 2007-12-05 | ソニー株式会社 | 情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラム |
JP3979194B2 (ja) * | 2002-06-25 | 2007-09-19 | ソニー株式会社 | 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム |
EP1795991A1 (en) * | 2002-07-30 | 2007-06-13 | Fujitsu Limited | Method and apparatus for reproducing information using a security module |
AR042599A1 (es) * | 2002-11-19 | 2005-06-29 | Schiavoni Juan Jose | Metodo de proteccion de programas y equipo para realizarlo |
US20050195975A1 (en) * | 2003-01-21 | 2005-09-08 | Kevin Kawakita | Digital media distribution cryptography using media ticket smart cards |
GB2404487A (en) * | 2003-07-31 | 2005-02-02 | Sony Uk Ltd | Access control for digital storage medium content |
JP2005057435A (ja) * | 2003-08-01 | 2005-03-03 | Sony Corp | クライアント機器及びクライアント機器におけるコンテンツ処理方法、並びにコンテンツ提供システム |
CN100422946C (zh) * | 2003-09-12 | 2008-10-01 | 联华电子股份有限公司 | 检测非法软件加载的系统、方法及其识别电路与注册系统 |
US7335021B2 (en) * | 2003-09-22 | 2008-02-26 | Stephen Gerard Nikodem | Methods and apparatus to facilitate orthodontic alignment of teeth |
US20050086173A1 (en) * | 2003-10-20 | 2005-04-21 | Kalwit Sham R. | Auto-regulated electronic license key mechanism |
US7849326B2 (en) * | 2004-01-08 | 2010-12-07 | International Business Machines Corporation | Method and system for protecting master secrets using smart key devices |
US7711951B2 (en) * | 2004-01-08 | 2010-05-04 | International Business Machines Corporation | Method and system for establishing a trust framework based on smart key devices |
US7564976B2 (en) * | 2004-03-02 | 2009-07-21 | International Business Machines Corporation | System and method for performing security operations on network data |
US8468337B2 (en) * | 2004-03-02 | 2013-06-18 | International Business Machines Corporation | Secure data transfer over a network |
US20050216548A1 (en) * | 2004-03-04 | 2005-09-29 | Brian Wormington | Method and system for digital content distribution |
US20050210278A1 (en) * | 2004-03-17 | 2005-09-22 | Bruce Conklin | Mass storage apparatus for securely delivering digital content to a host computer and method for using same |
US7475247B2 (en) * | 2004-12-16 | 2009-01-06 | International Business Machines Corporation | Method for using a portable computing device as a smart key device |
US7386736B2 (en) * | 2004-12-16 | 2008-06-10 | International Business Machines Corporation | Method and system for using a compact disk as a smart key device |
JP2008530663A (ja) * | 2005-02-11 | 2008-08-07 | ユニバーサル データ プロテクション コーポレーション | マイクロプロセッサのデータセキュリティの方法およびシステム |
US7281652B2 (en) * | 2005-05-18 | 2007-10-16 | Foss Jonathan G | Point-of-sale provider evaluation |
US20060271915A1 (en) * | 2005-05-24 | 2006-11-30 | Contentguard Holdings, Inc. | Usage rights grammar and digital works having usage rights created with the grammar |
US8365254B2 (en) * | 2005-06-23 | 2013-01-29 | Microsoft Corporation | Unified authorization for heterogeneous applications |
US20060294042A1 (en) * | 2005-06-23 | 2006-12-28 | Microsoft Corporation | Disparate data store services catalogued for unified access |
US7438078B2 (en) * | 2005-08-05 | 2008-10-21 | Peter Woodruff | Sleeping bag and system |
US20070177433A1 (en) * | 2005-09-07 | 2007-08-02 | Jean-Francois Poirier | Method and system for data security of recording media |
US20070159329A1 (en) * | 2005-12-02 | 2007-07-12 | Shmuel Silverman | Information protection using a printed electronic circuit and laser impression |
US8135645B2 (en) * | 2005-12-06 | 2012-03-13 | Microsoft Corporation | Key distribution for secure messaging |
US20070162390A1 (en) * | 2005-12-22 | 2007-07-12 | Macrovision Corporation | Techniques for distributing and monitoring content |
TW200729064A (en) * | 2006-01-26 | 2007-08-01 | Power Quotient Int Co Ltd | A medium purchase and playback protection system and its method |
DE602007008546D1 (de) * | 2006-04-10 | 2010-09-30 | Nxp Bv | Sicherheitsspeicherung elektronischer schlüssel innerhalb flüchtiger speicher |
TWI324349B (en) * | 2006-07-26 | 2010-05-01 | Atp Electronics Taiwan Inc | Secure protable storage device and control method for the same |
US20110022850A1 (en) * | 2006-07-26 | 2011-01-27 | Hondar Lee | Access control for secure portable storage device |
US20090249492A1 (en) * | 2006-09-21 | 2009-10-01 | Hans Martin Boesgaard Sorensen | Fabrication of computer executable program files from source code |
KR101560131B1 (ko) * | 2007-05-18 | 2015-10-26 | 베리메트릭스 인코퍼레이티드 | 데이터를 보호할 때 적용되는 프로그램 가능한 프로세싱 단계들을 정의하기위한 시스템 및 방법 |
JP2009027525A (ja) * | 2007-07-20 | 2009-02-05 | Nec Corp | 光伝送システムおよび光伝送方法 |
US9710384B2 (en) * | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US8561037B2 (en) * | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
US8122229B2 (en) * | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
US9015399B2 (en) | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
US8095735B2 (en) | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
US8156307B2 (en) * | 2007-08-20 | 2012-04-10 | Convey Computer | Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set |
JP5324599B2 (ja) * | 2007-12-13 | 2013-10-23 | トムソン ライセンシング | コピープロテクトされたソフトウエア・カートリッジ |
US8682470B2 (en) | 2008-01-08 | 2014-03-25 | International Business Machines Corporation | Data storage drive with target of opportunity recognition |
US9349410B2 (en) | 2008-01-08 | 2016-05-24 | International Business Machines Corporation | Automated data storage library with target of opportunity recognition |
US9495561B2 (en) * | 2008-01-08 | 2016-11-15 | International Business Machines Corporation | Target of opportunity recognition during an encryption related process |
US8307215B2 (en) * | 2008-01-23 | 2012-11-06 | Noam Camiel | System and method for an autonomous software protection device |
RU2493595C2 (ru) * | 2008-02-01 | 2013-09-20 | Томсон Лайсенсинг | Защищенный от копирования картридж с программным обеспечением |
US20090285390A1 (en) * | 2008-05-16 | 2009-11-19 | Ati Technologies Ulc | Integrated circuit with secured software image and method therefor |
US8205066B2 (en) * | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
US20100115233A1 (en) * | 2008-10-31 | 2010-05-06 | Convey Computer | Dynamically-selectable vector register partitioning |
US20100157766A1 (en) * | 2008-12-22 | 2010-06-24 | Gregg Jody L | Predicting cartridge failure from cartridge memory data |
US20100161895A1 (en) * | 2008-12-22 | 2010-06-24 | Qualls William R | Securing data on data cartridges |
GB2470589A (en) * | 2009-05-29 | 2010-12-01 | Vestas Wind Sys As | Branching spar wind turbine blade |
US9633183B2 (en) | 2009-06-19 | 2017-04-25 | Uniloc Luxembourg S.A. | Modular software protection |
US20100323790A1 (en) * | 2009-06-19 | 2010-12-23 | Etchegoyen Craig S | Devices and Methods for Auditing and Enforcing Computer Game Licenses |
US20100324983A1 (en) * | 2009-06-22 | 2010-12-23 | Etchegoyen Craig S | System and Method for Media Distribution |
US8423745B1 (en) | 2009-11-16 | 2013-04-16 | Convey Computer | Systems and methods for mapping a neighborhood of data to general registers of a processing element |
US20110213711A1 (en) * | 2010-03-01 | 2011-09-01 | Entrust, Inc. | Method, system and apparatus for providing transaction verification |
FR2957436A1 (fr) * | 2011-01-14 | 2011-09-16 | Continental Automotive France | Systeme microprocesseur avec partie logicielle cachee |
US9158902B2 (en) | 2011-12-29 | 2015-10-13 | Intel Corporation | Software modification for partial secure memory processing |
US8627097B2 (en) | 2012-03-27 | 2014-01-07 | Igt | System and method enabling parallel processing of hash functions using authentication checkpoint hashes |
EP2856377B1 (en) | 2012-06-01 | 2017-09-27 | Intel Corporation | Identification and execution of subsets of a plurality of instructions in a more secure execution environment |
US10430190B2 (en) | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
US8812873B2 (en) | 2012-09-26 | 2014-08-19 | Intel Corporation | Secure execution of a computer program using binary translators |
US9292569B2 (en) * | 2012-10-02 | 2016-03-22 | Oracle International Corporation | Semi-join acceleration |
US9117056B2 (en) * | 2013-06-11 | 2015-08-25 | Vatari Corporation | System and method for using digital strings to provide secure distribution of digital content |
US9898414B2 (en) | 2014-03-28 | 2018-02-20 | Oracle International Corporation | Memory corruption detection support for distributed shared memory applications |
US10606764B1 (en) * | 2017-10-02 | 2020-03-31 | Northrop Grumman Systems Corporation | Fault-tolerant embedded root of trust using lockstep processor cores on an FPGA |
US10467139B2 (en) | 2017-12-29 | 2019-11-05 | Oracle International Corporation | Fault-tolerant cache coherence over a lossy network |
US10452547B2 (en) | 2017-12-29 | 2019-10-22 | Oracle International Corporation | Fault-tolerant cache coherence over a lossy network |
CN109902479B (zh) * | 2019-01-28 | 2023-04-07 | 深圳市纽创信安科技开发有限公司 | 权限控制方法、权限控制设备、用户设备及系统 |
CN113496011B (zh) * | 2020-04-03 | 2024-01-26 | 杭州海康威视数字技术股份有限公司 | 受保护智能应用的调用权限认证方法以及智能装置 |
US20220166762A1 (en) * | 2020-11-25 | 2022-05-26 | Microsoft Technology Licensing, Llc | Integrated circuit for obtaining enhanced privileges for a network-based resource and performing actions in accordance therewith |
US11985134B2 (en) | 2021-02-01 | 2024-05-14 | Bank Of America Corporation | Enhanced authentication framework using EPROM grid pattern recognition |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3996449A (en) * | 1975-08-25 | 1976-12-07 | International Business Machines Corporation | Operating system authenticator |
GB1561482A (en) * | 1976-11-18 | 1980-02-20 | Ibm | Protection of data processing system against unauthorised programmes |
US4104721A (en) * | 1976-12-30 | 1978-08-01 | International Business Machines Corporation | Hierarchical security mechanism for dynamically assigning security levels to object programs |
US4120030A (en) * | 1977-03-11 | 1978-10-10 | Kearney & Trecker Corporation | Computer software security system |
US4168396A (en) * | 1977-10-31 | 1979-09-18 | Best Robert M | Microprocessor for executing enciphered programs |
US4278837A (en) * | 1977-10-31 | 1981-07-14 | Best Robert M | Crypto microprocessor for executing enciphered programs |
US4246638A (en) * | 1978-09-14 | 1981-01-20 | Thomas William J | Method and apparatus for controlling usage of a programmable computing machine |
US4598288A (en) * | 1979-04-16 | 1986-07-01 | Codart, Inc. | Apparatus for controlling the reception of transmitted programs |
US4465901A (en) * | 1979-06-04 | 1984-08-14 | Best Robert M | Crypto microprocessor that executes enciphered programs |
FR2469760A1 (fr) * | 1979-11-09 | 1981-05-22 | Cii Honeywell Bull | Procede et systeme d'identification de personnes demandant l'acces a certains milieux |
US4442484A (en) * | 1980-10-14 | 1984-04-10 | Intel Corporation | Microprocessor memory management and protection mechanism |
US4513174A (en) * | 1981-03-19 | 1985-04-23 | Standard Microsystems Corporation | Software security method using partial fabrication of proprietary control word decoders and microinstruction memories |
US4446519A (en) * | 1981-05-26 | 1984-05-01 | Corban International, Ltd. | Method and apparatus for providing security for computer software |
US4433207A (en) * | 1981-09-10 | 1984-02-21 | Best Robert M | Cryptographic decoder for computer programs |
US4471163A (en) * | 1981-10-05 | 1984-09-11 | Donald Thomas C | Software protection system |
US4458315A (en) * | 1982-02-25 | 1984-07-03 | Penta, Inc. | Apparatus and method for preventing unauthorized use of computer programs |
US4525599A (en) * | 1982-05-21 | 1985-06-25 | General Computer Corporation | Software protection methods and apparatus |
US4523271A (en) * | 1982-06-22 | 1985-06-11 | Levien Raphael L | Software protection method and apparatus |
US4462078A (en) * | 1982-08-02 | 1984-07-24 | Ron Ross | Computer program protection method |
US4558176A (en) * | 1982-09-20 | 1985-12-10 | Arnold Mark G | Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software |
US4562305A (en) * | 1982-12-22 | 1985-12-31 | International Business Machines Corporation | Software cryptographic apparatus and method |
US4609985A (en) * | 1982-12-30 | 1986-09-02 | Thomson Components-Mostek Corporation | Microcomputer with severable ROM |
US4621334A (en) * | 1983-08-26 | 1986-11-04 | Electronic Signature Lock Corporation | Personal identification apparatus |
US4562306A (en) * | 1983-09-14 | 1985-12-31 | Chou Wayne W | Method and apparatus for protecting computer software utilizing an active coded hardware device |
US4652990A (en) * | 1983-10-27 | 1987-03-24 | Remote Systems, Inc. | Protected software access control apparatus and method |
US4577289A (en) * | 1983-12-30 | 1986-03-18 | International Business Machines Corporation | Hardware key-on-disk system for copy-protecting magnetic storage media |
US4633388A (en) * | 1984-01-18 | 1986-12-30 | Siemens Corporate Research & Support, Inc. | On-chip microprocessor instruction decoder having hardware for selectively bypassing on-chip circuitry used to decipher encrypted instruction codes |
US4621321A (en) * | 1984-02-16 | 1986-11-04 | Honeywell Inc. | Secure data processing system architecture |
US4599489A (en) * | 1984-02-22 | 1986-07-08 | Gordian Systems, Inc. | Solid state key for controlling access to computer software |
US4609777A (en) * | 1984-02-22 | 1986-09-02 | Gordian Systems, Inc. | Solid state key for controlling access to computer software |
US4644493A (en) * | 1984-09-14 | 1987-02-17 | International Business Machines Corporation | Implementing a shared higher level of privilege on personal computers for copy protection of software |
-
1986
- 1986-11-05 US US06/927,629 patent/US4817140A/en not_active Expired - Fee Related
-
1987
- 1987-10-05 JP JP62250064A patent/JPS63128434A/ja active Granted
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005528678A (ja) * | 2002-04-18 | 2005-09-22 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | セキュア実行モードで動作し得るプロセッサを含むコンピュータシステムの初期化方法 |
US8695102B2 (en) | 2006-05-01 | 2014-04-08 | International Business Machines Corporation | Controlling execution of executables between partitions in a multi-partitioned data processing system |
JP2008210225A (ja) * | 2007-02-27 | 2008-09-11 | Fujitsu Ltd | セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US4817140A (en) | 1989-03-28 |
JPH0260009B2 (ja) | 1990-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63128434A (ja) | ソフトウエアの保護方法 | |
US4916738A (en) | Remote access terminal security | |
White | ABYSS: ATrusted Architecture for Software Protection | |
EP0266748B1 (en) | A software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor | |
JP4498735B2 (ja) | オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム | |
US7380275B2 (en) | Secure and backward-compatible processor and secure software execution thereon | |
US5109413A (en) | Manipulating rights-to-execute in connection with a software copy protection mechanism | |
JP4073913B2 (ja) | 開放型汎用耐攻撃cpu及びその応用システム | |
US7389536B2 (en) | System and apparatus for limiting access to secure data through a portable computer to a time set with the portable computer connected to a base computer | |
White et al. | ABYSS: An architecture for software protection | |
Kuhn | Cipher instruction search attack on the bus-encryption security microcontroller DS5002FP | |
US6385727B1 (en) | Apparatus for providing a secure processing environment | |
US7225333B2 (en) | Secure processor architecture for use with a digital rights management (DRM) system on a computing device | |
US20050060568A1 (en) | Controlling access to data | |
KR100611687B1 (ko) | 멀티-토큰 실 및 실 해제 | |
US7103782B1 (en) | Secure memory and processing system having laser-scribed encryption key | |
EP0268139A2 (en) | Manipulating rights-to-execute in connection with a software copy protection mechanism | |
US5875248A (en) | Method of counterfeit detection of electronic data stored on a device | |
US20070055892A1 (en) | Concealment of information in electronic design automation | |
JP3801833B2 (ja) | マイクロプロセッサ | |
GB2404536A (en) | Protection of data using software wrappers | |
CA2308755A1 (en) | Reconfigurable secure hardware apparatus and method of operation | |
US7275161B2 (en) | Method, system, device and computer program for mutual authentication and content protection | |
AU743775B2 (en) | An apparatus for providing a secure processing environment | |
JPS59173847A (ja) | コンピユ−タソフトウエアの保護方法およびその装置 |