JP2564593B2 - プログラムを機密保護し且つ機密保護されたプログラムを保全制御する方法 - Google Patents

プログラムを機密保護し且つ機密保護されたプログラムを保全制御する方法

Info

Publication number
JP2564593B2
JP2564593B2 JP63040545A JP4054588A JP2564593B2 JP 2564593 B2 JP2564593 B2 JP 2564593B2 JP 63040545 A JP63040545 A JP 63040545A JP 4054588 A JP4054588 A JP 4054588A JP 2564593 B2 JP2564593 B2 JP 2564593B2
Authority
JP
Japan
Prior art keywords
program
check number
computer
component
security component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP63040545A
Other languages
English (en)
Other versions
JPS63240629A (ja
Inventor
ベルナー・パウリーニ
ディーター・ベッセル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JIIMENSU NIKUSUDORUFU INFUOOMEESHONZUSHISUTEEMU AG
Original Assignee
JIIMENSU NIKUSUDORUFU INFUOOMEESHONZUSHISUTEEMU AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JIIMENSU NIKUSUDORUFU INFUOOMEESHONZUSHISUTEEMU AG filed Critical JIIMENSU NIKUSUDORUFU INFUOOMEESHONZUSHISUTEEMU AG
Publication of JPS63240629A publication Critical patent/JPS63240629A/ja
Application granted granted Critical
Publication of JP2564593B2 publication Critical patent/JP2564593B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Finance (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Selective Calling Equipment (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、データ処理装置のシステム記憶装置に記憶
されているプログラムを変更に対して機密保持し且つ機
密保持されたプログラムを保全制御する方法に関する。
[従来の技術及び発明が解決しようとする問題点] データ処理装置及びそれらと共に構成されるコンピュ
ータシステムにおいては、制御及び応用の目的に使用さ
れるプログラム、すなわち、オペレーションシステム
と、アプリケーションシステムとから構成されるプログ
ラムシステムが、たとえば磁気ディスク等のシステム記
憶装置に記憶されている。データ処理装置が動作すると
き、オペレーティングシステムの枠内でデータ処理装置
の動作プロセスを制御すると共に、アプリケーションシ
ステムの枠内でユーザーにより掲示されたデータ処理タ
スクを実行するために、プログラムは作業用記憶装置に
ロードされ、処理される。
データ処理装置と共に、個々のコンピュータが互いに
通信し合うコンピュータネッオワークが開発されてい
る。この場合に自動的に進行する情報交換は、特に銀行
業務、保険業務、商取引き又は行政等の適用領域では差
義的操作から機密保護されなければならない。そのよう
な詐欺的操作はコンピュータの面にも及び、コンピュー
タが望ましくない別の命令を実行したり、実行する命令
の数が規定より少なくなったりすることや、命令の変更
が行なわれることも起こり、その結果、個人に関連する
データが悪用され、誤って処理され、転用される、又は
コンピュータ出力が権限のない者の手に渡って悪用され
る、あるいはコンピュータネットワークのユーザー又は
第三者に対してその他の損害を与えるといった事態も起
こりかねない。
コンピュータネットワークのユーザーにとっては、操
作されたプログラムを認識した上で、相応する修正措置
により保全性を確保することは非常に困難であるので、
プログラムの詐欺的操作を自動的に認識し、操作された
プログラムの実行を同様に自動的に阻止することを可能
にすべきであろう。しかしながら、プログラムを機密保
護する従来の方法としては、無許可の複写を阻止し、そ
のために、そのようなプログラムの実行のための特別な
プロセッサを必要とする暗号化を適用する方法が知られ
ているにすぎない。このような機密保護手段はプログラ
ムの無許可の経済的利用及び転用を阻止すべきものであ
るが、コンピュータネットワーク内におけるプログラム
への詐欺的操作を認識し、誤ったプログラム実行を阻止
することはできない。また、無許可の者による操作に対
してある程度の保護を達成するために、パスワード又は
ユーザーカタログの使用、データの秘密保持、あるいは
特別のスイッチ又はキーを介した許可授与等の物理的措
置により動作手段制御及びアクセス制御を行なうことも
可能である。しかし、これらの方法は、プログラマー又
はこれと同等の資格をもつ者がコンピュータネットワー
クをアクセスしようとした場合には、相当に無力なもの
になってしまう。すなわち、その場合には、特殊な専門
知識に基づいて、上述のような種類の保護措置が講じら
れているにもかかわらず、プログラムを詐欺的操作する
ことが可能なのである。
本発明の目的は、データ処理装置において、プログラ
ムに対する操作をシステム性能を大きくそこなうことな
く自動的に認識し且つ操作されたプログラムの有効化を
自動的に阻止することを可能にする方法を提案すること
である。
[問題点を解決するための手段] 本発明によれば、上記の目的は、冒頭に述べた種類の
方法について、少なくとも1つのプログラムの許可され
たバージョンを所定の暗号アルゴリズムにより所定の秘
密キーを用いて暗号化して生成される基準チェック番号
を上記コンピュータシステムに保存すると共に該秘密キ
ーを上記コンピュータシステムに接続される独立したプ
ロセッサで制御される機密保護コンポーネントに保存す
るステップと、上記コンピュータシステムの実行用に用
いられている上記少なくとも1つのプログラムのバージ
ョンを上記機密保護コンポーネント内で所定の暗号アル
ゴリズムにより上記秘密キーを用いて暗号化してプログ
ラムチェック番号を生成するステップと、上記機密保護
コンポーネント内で上記生成されたプログラムチェック
番号を上記保存された基準チェック番号と比較し、一致
するか否かのステートメントのみを上記機密保護コンポ
ーネントから上記コンピュータシステムに出力するステ
ップと、上記プログラムチェック番号が上記基準チェッ
ク番号と異なるというステートメントが出力されたと
き、上記少なくとも1つのプログラムの実行を阻止する
ステップとにより達成される。
本発明により、データ処理装置のプログラムシステム
全体、すなわち、オペレーティングシステムとアプリケ
ーションシステムの双方における詐欺的操作が自動的に
認識されるようになり、既にシステム始動の段階で、詐
欺的操作の認識に応じて直ちに動作を中断させることが
できる。これにより、プログラムの詐欺的操作を封じる
プログラムの「封印」、すなわち、システム記憶装置又
はシステムサポータの封印という効果が得られ、この効
果はデータ処理装置のシステム始動時に既に実行可能で
ある上記各ステップによる保全制御によって発揮され
る。プログラムの機密保護のために、システム記憶装置
は検査暗号の形をとる付加情報を記憶しているが、それ
らの検査暗号は、秘密キーを基礎として実行される暗号
化ステップの結果として形成される。スーパーバイザリ
ーコンピュータと、複数のオブジェクトコンピュータと
を有するコンピュータネットワークにおいては、それぞ
れのオブジェクトコンピュータに対するシステムサポー
タはスーパーバイザリーコンピュータでこのようにして
封印され、その際、基準チェック番号は、システムサポ
ータに記憶されていてロード可能であり且つ応用システ
ムのプロセス進行には不可欠である全てのプログラムに
対して論理封印として作用することができる。これは、
コンピュータの動作中に記憶装置に常駐しているオペレ
ーティングシステムのプログラムと、ロードライブラリ
ーに読出可能な形態で記憶されている全てのプログラム
を指す。この封印のために、秘密キーが使用されるの
で、プログラムに対する無許可の操作のたびに、オブジ
ェクトコンピュータにおいて同一の秘密キーを使用し
て、プログラムチェック番号の形成を伴ないながら、操
作された各々のプログラムの再度の暗号化を実行する保
全制御に際し、本発明に従って実施されるべき比較ステ
ップで変更されたプログラムについて実行された暗号化
により得られたプログラムチェック番号と、スーパーバ
イザーコンピュータにおいて変更されないプログラムに
ついて得られた基準チェック番号との間に不一致が生じ
るため、そこで、誤り信号が発生される。次に、この誤
り信号を利用して、後続するプログラムの活性化を自動
的に阻止することができる。以上まとめると、スーパー
バイザリーコンピュータで生成した基準チェック番号と
プログラムチェック番号とが不一致であれば、そのバー
ジョンを許可なしに変更されたバージョンとみなし実行
を阻止する。換言すれば、オブジェクトコンピュータが
実行を阻止しないバージョンについては必ずスーパーバ
イザリーコンピュータにより正当性が保証されたバージ
ョンということになる。仮に、オブジェクトコンピュー
タ自身が基準チェック番号をも生成するとすれば、それ
以前に許可なしに変更されたバージョンについては正当
性を保証するものがない。このように、スーパーバイザ
リーコンピュータによる正当性の保証があれば、ユーザ
ーは詐欺的操作の被害から確実に免れることができるこ
とになる。
暗号化は対称暗号アルゴリズムを使用して実行され
る。公知のように、この暗号化原理は解読に対して非常
に高い機密保護レベルを示す。公知の実施形態はDESア
ルゴリズムである(DES=DATA Encryption Standard、
データ通信用暗号標準)。暗号化されたテキストの解読
は、クリアテキストの暗号化とは全く逆の順序で行なわ
れる。このため、対称法と呼ばれている。このアルゴリ
ズムの高い機密保護レベルはその数字的特性によるもの
であり、クリアテキストの知識と、付随するキーテキス
トの知識をもってしても、秘密キーを見出すのは容易な
ことではない。しかしながら、本発明の範囲内では、DE
Sアルゴリズムはデータの暗号化ではなく、プログラム
の暗号化に際しての検査総和の取出しのために適用され
る。
暗号化に使用されるキーの読取りを阻止された状態で
の記憶もそれ自体知られており、そのために、特別の機
密保護コンポーネントがコンピュータネットワークの各
コンピュータに具備されている。この機密保護コンポー
ネントは、使用されるキーを物理的にアクセス不可能な
形態で記憶する記憶装置を含むことができる。さらに、
機密保護コンポーネントは、本発明により達成される機
密保護効果を一段と向上させることができる他のハード
ウェア機能ユニットを含んでいて良いことも知られてい
る。
本発明による方法は、プログラムシステムの経過に相
応して、一連の互いに連続する暗号化ステップ又は制御
ステップで実行されるので、システム始動のスタートを
生じさせるプログラム、いわゆる事前ローダプログラム
の第1の基準チェック番号が読取阻止メモリエリアに記
憶されれば、無許可のプログラム操作の影響に対して本
発明により達成される機密保護レベルをさらに高めるこ
とができる。この付加的手段は、制御シーケンスで発生
する第1の基準チェック番号を知ることを妨げるので、
この基準チェック番号を使用して、事前ローダプログラ
ムの暗号化の基礎ともなった秘密キーを探り出そうとす
る試みを不可能にする。これにより、保全制御の枠内で
進行する第1の検査プロセスは無許可のアクセス及び変
更に対して絶対的に保護された状態となる。
[実 施 例] 以下、添付の図面を参照して本発明を詳細に説明す
る。
以下に説明されるのは、本発明によるプログラムを機
密保護する方法をスーパーバイザリーコンピュータ及び
オブジェクトコンピュータを伴なって実際に適用した場
合に、その方法がいかにして実施されるかということで
ある。この場合、一般に、スーパーバイザリーコンピュ
ータには、オブジェクトコンピュータの動作開始のため
に稼働可能なシステムサポータが基準チェック番号の形
態をとる付加情報と共に備えられている。これらの基準
チェック番号は、機密保護コンポーネントに記憶された
秘密キーを適用することによって実行される複数の暗号
化ステップから得られるもので、システムサポータに記
憶されたプログラムはそれらの暗号化ステップの下に順
次置かれる。基準チェック番号は、オブジェクトコンピ
ュータのシステムサポータに記憶されていてローディン
グ可能であり且つ応用システムのプロセス進行には不可
欠である全てのプログラムに対して、論理的な封印とな
る。さらに、この場合、機密保護コンポーネントに読取
り不可能なように記憶されるスタート手順のための基準
チェック番号が発生される。暗号化ステップに関する秘
密キーはアクセス不可能であるため、他の全ての基準チ
ェック番号はシステムサポータにアクセス可能及び読取
り可能に記憶されることができる。オブジェクトコンピ
ュータの機密保護コンポーネントは、これに記憶されて
いるキーが、機密保護コンポーネントに供給された基準
チェック番号との比較を同時に実行する場合にその比較
の対象となるプログラムチェック番号を計算するために
のみ使用されるように動作するので、機密保護コンポー
ネントはその結果としてプログラムチェック番号を出力
することはできず、計算されたプログラムチェック番号
が基準チェック番号と一致するか否かに関するイエス/
ノーのステートメントのみを出力する。すなわち、オブ
ジェクトコンピュータシステムにおいては、秘密キーを
知らずに許可なくPZ検査暗号を計算することは不可能で
ある。
スーパーバイザリーコンピュータに上述のような方式
により付加情報を伴なうシステムサポータが設けられた
後、このシステムサポータをオブジェクトコンピュータ
に導入することができる。オブジェクトコンピュータの
動作開始に際して、保全制御は、時間的に見て応用動作
の全に進行しているシステム始動手順の中で自動的に実
行される。その場合、複数の検査ステップが発生するこ
とになるが、それぞれの検査ステップは、その実行コー
ドが先の検査ステップのときと変わらないと証明された
ときに始めて開始される。
第1の検査ステップは事前ロードプログラムから開始
され、機密保護コンポーネントにおいて実行される。従
って、この論理は物理的に自由にアクセス可能ではな
い。事前ロードプログラムが物理的に影響を受けると、
すなわち変化されると、機密保護コンポーネントの内部
で既に第1の検査ステップの段階でそのような変化は確
定され、機密保護コンポーネントは非動作状態とされる
ので、後続する検査ステップのためにその機密保護コン
ポーネントを利用することは不可能になり、それらのス
テップを実行することはできなくなる。
第1図には、スーパーバイザリーコンピュータにおい
てオブジェクトコンピュータのシステムサポータ及び機
密保護コンポーネントが本発明による方法の下でどのよ
うな状態にあるかが示されている。垂直の破線の左側に
は、機密保護方法の枠内でアクティブであるスーパーバ
イザリーコンピュータのコンポーネントが示され、右側
には、オブジェクトコンピュータへの導入のために準備
されなければならないパッシブなコンポーネントが示さ
れている。アクティブなコンポーネントは、基準チェッ
ク番号の計算のために実行されるべき個々の暗号化ステ
ップを制御する暗号化プログラム11と、プログラムごと
に1つの基準チェック番号を出力することができるよう
に、暗号化プログラム11の制御の下に機密保護すべきプ
ログラムの供給を受ける暗号化コンポーネント12であ
る。パッシブなコンポーネントは、機密保護されるプロ
グラムに関する検査暗号記憶装置14及びクリアテキスト
記憶部13を有するシステムサポータ15と、機密保護コン
ポーネント16と、事前ローダプログラムに関するクリア
テキスト記憶装置17である。
オブジェクトコンピュータへの導入のために、パッシ
ブなコンポーネントを準備するときには、まず、暗号化
プログラム11の制御の下に、クリアテキスト記憶装置17
から事前ローダプログラムが取出され、暗号化コンポー
ネント12により、このコンポーネントにあらかじめあっ
た秘密キーを使用して、その事前ローダプログラムに対
応する基準チェック番号が計算される。この暗号は暗号
化コンポーネント12から出力され、暗号化プログラム11
の制御の下に機密保護コンポーネント16に供給される。
このステップと同時に、機密保護コンポーネント16に
は、読出し保護記憶のための秘密キーが受け渡される。
その後、システムサポータ15のクリアテキスト記憶部13
に記憶されているプログラムに関する基準チェック番号
が計算され、暗号化プログラム11の制御の下にシステム
サポータの15の基準チェック番号記憶装置14に記憶され
る。スーパーバイザリーコンピュータの暗号化コンポー
ネント12において実行される全ての暗号化ステップの基
礎となるのは、暗号化コンポーネント12に記憶されてい
る秘密キーである。
第2図は、上述のように準備されたシステムサポータ
及び機密保護コンポーネントがオブジェクトコンピュー
タにおいて一般にどのような方式でプログラムの保全制
御に適用されるかを示す。オブジェクトコンピュータの
システム始動段階の中に位置することができる一連の検
査ステップの一部として1つの検査ステップが示されて
いる。垂直の破線の左側にはオブジェクトコンピュータ
のアクティブなコンポーネントを示し、右側にはパッシ
ブなコンポーネントを示す。それぞれの検査ステップ
は、チェッカーと呼ばれ、検査目的物、すなわち検査さ
れるべきプログラム23及び付属する基準チェック番号24
を機密保護コンポーネント22に供給する検査実行プログ
ラム21により実行される。前述のように、機密保護コン
ポーネント22は供給されるプログラムごとに、このコン
ポーネントに入力された秘密キーを使用してプログラム
チェック番号を計算し、これを先に供給された付属基準
チェック番号24と比較する。機密保護コンポーネント22
は、検査実行プログラム21の制御の下に、イエス/ノー
ステートメントの形をとる比較の結果を次の検査実行場
所へ引き渡すが、ステートメントがイエスである場合に
は、この場所はたった今検査されたばかりのプログラム
ということになる。ステートメントがノーであれば、誤
り状況を信号により報知することができ、たとえば、シ
ステムのプロセスを中断するか、誤り警報を発信する
か、又はその他の方法により修正措置を強行する特別の
機ブロックが活動状態とされる。
以上説明したプロセス全体は、検査実行プログラム21
に供給されるスタート信号により開始される。この信号
は先行する検査ステップのイエスのステートメントであ
るか、又はシステム始動のための最初のスタート信号で
あることができる。
第3図は、前述のような種類の一連の検査ステップが
オブジェクトコンピュータにおいていかにして実行され
るかを示す。ここでは、それらの検査ステップの時間的
な流れを示しており、ステップは上から下に向かって3
つの段階、すなわち、スイッチオン段階と、システム始
動段階と、応用段階とに分割されている。この場合に
も、第1図及び第2図と同様に、垂直の破線の左側には
アクティブなコンポーネントが示され、右側にはパッシ
ブなコンポーネントが示されている。個々の検査ステッ
プは順にS0,S1,S2,S3…Snの符号で示される。それぞれ
の検査ステップS1からSnにおいて、アクティブなコンポ
ーネントとして検査実行プログラムが示され、パッシブ
なコンポーネントとして検査されるべきプログラムが示
されている。それぞれの検査ステップの機密保護コンポ
ーネントは、その機能について既に第2図を参照して説
明したので、ここには図示されていない。
オブジェクトコンピュータのスイッチオンに伴なっ
て、検査ステップS0においてスタート信号STが事前にロ
ーダプログラム31に印加される。事前ローダプログラム
31はこの信号により制御されて、検査ステップS1を開始
させる。この検査ステップS1がシステム始動段階の第1
のステップとなる。検査ステップS1において、事前ロー
ダプログラム31は検査されるべきプログラムとして機密
保護コンポーネント35に供給され、このコンポーネント
では、記憶されている秘密キーを使用してプログラムチ
ェック番号の検査のための暗号化が実行される。次に、
このプログラムチェック番号は、機密保護コンポーネン
ト35に記憶されていた事前ローダプログラム31に関する
基準チェック番号と比較される。基準チェック番号とプ
ログラムチェック番号が一致した場合はイエスのステー
トメントが発生され、それにより、検査ステップS2につ
いて事前ローダプログラム31が導入されるので、この事
前ローダプログラムはこの検査ステップに関して、常駐
オペレーティングシステム32を検査するためのアクティ
ブコンポーネントとなる。機密保護ブロック35から発生
されるノーのステートメントは制御プログラム36に供給
され、この制御プログラム36はこれ以降のシステム動作
を図示されない方法により中断することができる。
常駐オペレーティングシステム32はパッシブなコンポ
ーネントとして、個々のプログラム部分を伴なって、事
前ローダプログラム31によりこの検査ステップS2につい
ては図示されていない機密保護コンポーネントに渡され
て、そこで暗号化を受けることができ、その結果、プロ
グラムチェック番号が発生される。このプログラムチェ
ック番号は、同時に事前ローダプログラム31に、又はそ
れと結合している機密保護コンポーネントに供給される
基準チェック番号34と比較される。基準チェック番号と
プログラムチェック番号が同じであるときに発生される
イエスのステートメントは常駐オペレーティングシステ
ム32を制御して、これをアクティブなコンポーネントに
し、そこで、常駐オペレーティングシステムはロードラ
イブラリー33からのプログラム部分の検査を開始させ
る。この検査ステップS3は検査ステップS2と同様に実行
されるので、そこで計算されたプログラムチェック番号
がそれぞれ検査されるべきプログラムに付随する基準チ
ェック番号34と一致する場合は、イエスのステートメン
トが発生され、このステートメントは制御プログラム36
に送られる。そこで、制御プログラム36は応用段階の動
作を信号AWにより開始させることができる。
応用段階の中では、スーパーバイザリーコンピュータ
において個々のアプリケーションプログラムが基準チェ
ック番号記憶装置又はロードライブラリーに記憶可能で
ある基準チェック番号を備えている限り、当然のことな
がら、ここで説明した態様の検査ステップをさらに実行
することができる。
以上まとめると、コンピュータシステムの始動段階に
おける検査ステップS0,S1では、事前ローダプログラム
が検査されるべきパッシブなコンポーネントとなると同
時に、この事前ローダプログラムが、検査ステップを開
始するべく検査されるプログラムを機密保護コンポーネ
ントに供給するアクティブなコンポーネントとなる。ま
た、検査ステップS2では、常駐オペレーティングシステ
ムがパッシブなコンポーネントとなり、事前ローダプロ
グラムがアクティブなコンポーネントとなる。そして、
検査ステップS3では、ロードライブラリー中のアプリケ
ーションプログラムがパッシブなコンポーネントとな
り、常駐オペレーティングシステムがアクティブなコン
ポーネントとなる。
このように、コンピュータシステムの複数のプログラ
ムは、ひとつが実行の可否を検査されるパッシブなコン
ポーネントとなり、ひとつがこの検査されるプログラム
を機密保護コンポーネントに供給するアクティブなコン
ポーネントとなる。
第4図には、スーパーバイザリーコンピュータにおけ
る暗号化コンポーネントによるチェック番号の発生がブ
ロック線図で示されている。チェック番号PZ(PO)を計
算しなければならない検査すべきプログラム、すなわち
検査対象物はブロックBのアドレスADR及びブロックB
の長さLAEを与えられながら、検査対象物を個々のブロ
ックBに分割するための分割プログラムに供給される。
これらのブロックBは互いに等しい長さを有し、それぞ
れ少なくとも1回は、秘密スタート値SW及び秘密キーIK
を伴なうDES暗号化ステップの実行を受ける。このと
き、暗号化プログラム41が利用される。それぞれ1つの
ブロックBの暗号化に際して発生する結果Cは、次に暗
号化すべきブロックのためのスタート値として暗号化プ
ログラム41に供給される。最終ブロックBの暗号化の結
果はCEで表わされ、ある1つのプログラムに対応する
か、又は機密保護コンポーネントにおいて事前ローダプ
ログラムに関するプログラムチェック番号として記憶さ
れることができる発生検査暗号PZ(PO)である。
なお、このようなチェック番号の発生はファームウェ
ア又はソフトウェアのいずれによっても実行可能であ
る。
第5図は、機密保護コンポーネントを有するオブジェ
クトコンピュータにおける検査暗号制御の実行を示す。
検査暗号制御は、入出力パラメータと、比較プロセスと
に関してのみ、第4図を参照して説明した発生と異な
る。補助的な入力パラメータは、検査暗号PZ(PO)の計
算後に比較値として使用される基準値RWである。比較の
結果は、既に説明したように、イエス/ノーのステート
メントとして、後続する検査ステップ又は制御プログラ
ムを開始させる。
検査暗号制御の方法は、第4図に示される暗号化及び
第5図に示される検査暗号制御について暗号化プロセ
ス、スタート値及びキーの一致を必要とする。
第6図は、一実施例として、機密保護コンポーネント
60の原理的構成を示す。ここでは、差込み接続部を介し
てオブジェクトコンピュータに接続することができるハ
ードウェアモジュールに関して説明する。この接続部を
介して命令及びデータはオブジェクトコンピュータと、
機密保護コンポーネントとの間で交換される。機密保護
コンポーネントの基本的な構成要素はプロセッサ61と、
機密保護ハイブリッドモジュール62である。プロセッサ
61は、たとえば、命令コード化、データ線の接続及び機
密保護ハイブリッドモジュール62への指令受け渡しのた
めに、機密保護コンポーネント60の個々の機能を制御す
る。機密保護ハイブリッドモジュールは集積回路の態様
による構成要素であるが、そのモジュール構成要素は別
箇に取付けられており、その全体にセラミックカバーを
設けることができる。ハイブリッドモジュールはプロセ
ッサ63と、DES素子64と、選択的にアクセス可能な2つ
のキー記憶装置65及び66とを含む。プロセッサ63はDES
素子64と、読出し保護されたキー記憶装置65及び66との
間の命令及びデータの制御と実行のためのものである。
さらに、プロセッサ63はプロセッサ61への外部データ流
れを制御する。DES素子64は上述の暗号化方式を制御す
る。キー記憶装置65は、DES暗号化のために利用され
る、たとえば64ビットの長さのキーを受入れ、キー記憶
装置66は、プロセッサ63により内部機能のためにのみ利
用されることができ、外部アプリケーションプログラム
による利用は不可能であるキーを記憶する。機密保護ハ
イブリッドモジュールの内部の1本のデータ線に対する
アクセスは、前記セラミックカバーにより阻止される。
機密保護コンポーネント60からオブジェクトコンピュー
タへの接続が遮断されてしまうと、それにより、キー記
憶装置65は消去される。キー記憶装置66の内容について
は、バッテリーによりこれを保持することができる。ハ
イブリッドモジュール62が機密保護コンポーネント60か
ら取外されると、全ての記憶値は失なわれることにな
る。これにより、コンピュータ領域の外側で機密保護コ
ンポーネント60を利用することは不可能であるという状
況が保証される。
以上まとめると、機密保護コンポーネントはコンピュ
ータシステムに接続される独立したプロセッサで制御さ
れ、秘密キーは機密保護コンポーネントに保存される。
そして、この機密保護コンポーネント内で所定の暗号ア
ルゴリズムにより秘密キーを用いて暗号化を行うことに
より、プログラムチェック番号が生成されることにな
る。機密保護コンポーネントは、一致するか否かのステ
ートメントのみをコンピュータシステムに出力する。秘
密キーやプログラムチェック番号や暗号アルゴリズムの
実行途中経過等は出力されることがない。従って、コン
ピュータシステムにおいて秘密キーを探りだしたり不正
に暗号計算を行うことができず、このためプログラムの
無許可の変更を試みる第三者が暗号のつじつま合わせま
では行うことができないので、詐欺的操作からの機密保
護性が高められる。コンピュータシステムは、イエス/
ノーのステートメントしか知らされないが、このステー
トメントに基づきプログラムの実行を阻止することにな
る。
また秘密キーは、機密保護コンポーネント内に外部ア
プリケーションプログラムからは利用できないように記
憶される。即ち、秘密キーはコンピュータシステムのユ
ーザー又は第三者がソフトウェアを用いて探ることがで
きない。更に、機密保護コンポーネントはコンピュータ
システムに電気的に接続されているので、この接続部分
の信号線に信号プローブ等をあてがうなどして信号状態
を電気的に読取ることはできる。しかし、この接続部分
に出てくる信号は例えばステートメントであり、秘密キ
ー等は出てこない。一方、ハイブリッドモジュールにつ
いては、セラミックカバーによりデータ線へのアクセス
が物理的に阻止されているので、信号プローブ等をあて
がうことができず、従ってハイブリッドモジュール内部
のデータ線の信号状態を電気的に読取り、秘密キー等の
内部的に使われているデータを探ることができない。ま
た、暗号アルゴリズムがハイブリッドモジュールに保存
されハイブリッドモジュール内で実行されるので、どの
ようなアルゴリズムが実行されているのかを探ることが
できない。
【図面の簡単な説明】
第1図は、本発明の方法を実施した場合のスーパーバイ
ザリーコンピュータのコンポーネントの相互対応及び相
互交換作用を示す図、 第2図は、本発明の方法を実施した場合のオブジェクト
コンピュータのコンポーネントの相互対応及び相互交換
作用を示す図、 第3図は、オブジェクトコンピュータにおける連続する
検査ステップの経過を示す図、 第4図は、スーパーバイザリーコンピュータの暗号化コ
ンポーネントにおける検査暗号形成を伴なう暗号化の原
理プロセスを示す図、 第5図は、オブジェクトコンピュータの機密保護コンポ
ーネントにおける暗号化及び検査暗号比較の原理プロセ
スを示す図、及び 第6図は、機密保護コンポーネントの基本構成を示す図
である。 11……暗号化プログラム 12……暗号化コンポーネント 13……クリアテキスト記憶部 14……検査暗号記憶装置、15……システムサポータ 16……機密保護コンポーネント 17……クリアテキスト記憶装置 21……検査実行プログラム 22……機密保護コンポーネント 23……検査されるべきプログラム 24……付属検査暗号

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】メモリと少なくとも1つの実行可能なプロ
    グラムとを有するデータ処理システムに用いられる方法
    であって、許可なしに変更されたプログラムが実行され
    るのを阻止するための方法において、 上記少なくとも1つのプログラムの許可されたバージョ
    ンを所定の暗号アルゴリズムにより所定の秘密キーを用
    いて暗号化して生成される基準チェック番号を上記コン
    ピュータシステムに保存すると共に該秘密キーを上記コ
    ンピュータシステムに接続される独立したプロセッサで
    制御される機密保護コンポーネントに保存するステップ
    と、 上記コンピュータシステムの実行用に用いられている上
    記少なくとも1つのプログラムのバージョンを上記機密
    保護コンポーネント内で所定の暗号アルゴリズムにより
    上記秘密キーを用いて暗号化してプログラムチェック番
    号を生成するステップと、 上記機密保護コンポーネント内で上記生成されたプログ
    ラムチェック番号を上記保存された基準チェック番号と
    比較し、一致するか否かのステートメントのみを上記機
    密保護コンポーネントから上記コンピュータシステムに
    出力するステップと、 上記プログラムチェック番号が上記基準チェック番号と
    異なるというステートメントが出力されたとき、上記少
    なくとも1つのプログラムの実行を阻止するステップ
    と、 からなることを特徴とする方法。
  2. 【請求項2】上記秘密キーが上記機密保護コンポーネン
    ト内に外部アプリケーションプログラムからは利用でき
    ないように記憶されることを特徴とする請求項1記載の
    方法。
  3. 【請求項3】上記プログラムチェック番号が同じ秘密キ
    ーを用いて同じ所定の暗号アルゴリズムを実行すること
    により生成されることを特徴とする請求項2記載の方
    法。
  4. 【請求項4】上記暗号アルゴリズムがDESアルゴリズム
    であることを特徴とする請求項3記載の方法。
  5. 【請求項5】上記機密保護コンポーネントが、上記コン
    ピュータシステムに電気的に接続されると共にセラミッ
    クカバーによりデータ線へのアクセスが阻止されたハイ
    ブリッドモジュールを有することを特徴とする請求項3
    記載の方法。
  6. 【請求項6】上記暗号アルゴリズムが上記ハイブリッド
    モジュールに保存され該ハイブリッドモジュール内で実
    行されることを特徴とする請求項5記載の方法。
  7. 【請求項7】上記ハイブリッドモジュールが、特定のプ
    ログラムに関して生成されたプログラムチェック番号が
    これに対する上記保存された基準チェック番号に一致す
    るかどうかを示す2進値を上記コンピュータに供給する
    ことを特徴とする請求項6記載の方法。
  8. 【請求項8】上記コンピュータシステムは複数のプログ
    ラムを有し、これらプログラムのひとつが実行の可否を
    検査されるパッシブなコンポーネントとなり、ひとつが
    この検査されるプログラムを上記機密保護コンポーネン
    トに供給するアクティブなコンポーネントとなることを
    特徴とする請求項7記載の方法。
  9. 【請求項9】上記複数のプログラムはプログラムを上記
    コンピュータシステムにロードするための事前ローダプ
    ログラムを含んでおり、上記コンピュータシステムの始
    動段階では、上記事情ローダプログラムがパッシブなコ
    ンポーネントとなると共にアクティブなコンポーネント
    となることを特徴とする請求項8記載の方法。
  10. 【請求項10】上記複数のプログラムは上記コンピュー
    タシステムに常駐される常駐オペレーティングシステム
    を含んでおり、この常駐オペレーティングシステムがパ
    ッシブなコンポーネントとなるときには、上記事前ロー
    ダプログラムがアクティブなコンポーネントとなること
    を特徴とする請求項9記載の方法。
  11. 【請求項11】上記複数のプログラムはアプリケーショ
    ンプログラムを含んでおり、これらアプリケーションプ
    ログラムがパッシブなコンポーネントとなるときには、
    上記常駐オペレーティングシステムがアクティブなコン
    ポーネントとなることを特徴とする請求項10記載の方
    法。
  12. 【請求項12】上記基準チェック番号と上記プログラム
    チェック番号とが、上記許可されたバージョンの全情報
    内容と実行用に用いられているバージョンの全情報内容
    とを暗号化して生成されることを特徴とする請求項1記
    載の方法。
  13. 【請求項13】スーパーバイザリーコンピュータと、少
    なくとも1つのオブジェクトコンピュータと、該オブジ
    ェクトコンピュータで実行される少なくとも1つのプロ
    グラムとを有するデータ処理システムに用いられる方法
    であって、許可なしに変更されたプログラムの実行を阻
    止するための方法において、 上記スーパーバイザリーコンピュータ内で上記少なくと
    も1つのプログラムの許可されたバージョンに基づいて
    基準チェック番号を生成するステップと、 上記基準チェック番号を上記オブジェクトコンピュータ
    に保存するステップと、 上記オブジェクトコンピュータ内での実行用に用いられ
    ている上記少なくとも1つのプログラムのバージョンに
    基づいてプログラムチェック番号を生成するステップ
    と、 上記生成されたプログラムチェック番号を上記基準チェ
    ック番号と比較するステップと、 上記比較によって上記生成されたプログラムチェック番
    号が対応する上記基準チェック番号と等しいと判ったと
    きのみ上記少なくとも1つのプログラムを上記オブジェ
    クトコンピュータ内で実行するステップと、 からなることを特徴とする方法。
JP63040545A 1987-02-23 1988-02-23 プログラムを機密保護し且つ機密保護されたプログラムを保全制御する方法 Expired - Fee Related JP2564593B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19873705736 DE3705736A1 (de) 1987-02-23 1987-02-23 Verfahren zum sichern von programmen und zur integritaetskontrolle gesicherter programme
DE3705736,7 1987-02-23

Publications (2)

Publication Number Publication Date
JPS63240629A JPS63240629A (ja) 1988-10-06
JP2564593B2 true JP2564593B2 (ja) 1996-12-18

Family

ID=6321565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63040545A Expired - Fee Related JP2564593B2 (ja) 1987-02-23 1988-02-23 プログラムを機密保護し且つ機密保護されたプログラムを保全制御する方法

Country Status (5)

Country Link
EP (1) EP0280035B1 (ja)
JP (1) JP2564593B2 (ja)
AT (1) ATE103402T1 (ja)
DE (2) DE3705736A1 (ja)
ES (1) ES2050671T3 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732480B2 (en) 2010-09-24 2014-05-20 Kabushiki Kaisha Toshiba Memory management device and memory management method

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4845715A (en) * 1984-10-29 1989-07-04 Francisco Michael H Method for maintaining data processing system securing
FR2647924B1 (fr) * 1989-06-06 1994-06-17 Bull Cp8 Procede pour verifier l'integrite d'un logiciel ou de donnees, et systeme pour la mise en oeuvre de ce procede
WO1993023807A1 (en) * 1992-05-14 1993-11-25 Gruno, Gerhard Program protection method for protecting data processing equipment
DE4234165C1 (de) * 1992-10-09 1994-03-03 Detecon Gmbh Verfahren zur Ermöglichung der nachträglichen Überprüfung bereits übermittelter Daten
DE4339075C2 (de) * 1993-11-16 1997-07-24 Dallmeier Dieter Verfahren sowie Kamera-Überwachungsvorrichtung zum Erzeugen eines digitalen Bildes
US5598470A (en) * 1994-04-25 1997-01-28 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: Method and apparatus for utilizing a decryption block
DE19539793A1 (de) * 1995-10-26 1997-04-30 Roland Man Druckmasch Rechner für den Leitstand einer Druckmaschine
FI981232A (fi) * 1998-06-01 1999-12-02 Nokia Mobile Phones Ltd Menetelmä sulautetun järjestelmän ohjelmiston suojaamiseksi ja sulautettu järjestelmä
DE10000503A1 (de) * 2000-01-08 2001-07-12 Philips Corp Intellectual Pty Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb
CN1162783C (zh) * 2001-11-09 2004-08-18 汪文虎 一种信息安全方法
JP4041491B2 (ja) * 2002-06-14 2008-01-30 松下電器産業株式会社 半導体集積回路装置,データ記憶検証装置およびデータ記憶検証方法
US7725740B2 (en) * 2003-05-23 2010-05-25 Nagravision S.A. Generating a root key for decryption of a transmission key allowing secure communications
DE102006057297A1 (de) * 2006-12-05 2008-06-12 Giesecke & Devrient Gmbh Verfahren zur Überwachung des Ablaufs eines Programms

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2650795A1 (de) * 1976-11-03 1978-05-11 Licentia Gmbh Verfahren zur ueberwachung des speicherinhaltes eines rechners
US4593353A (en) * 1981-10-26 1986-06-03 Telecommunications Associates, Inc. Software protection method and apparatus
JPS6054046A (ja) * 1983-09-05 1985-03-28 Mitsubishi Electric Corp ソフトウエア保護方法
DE3335387A1 (de) * 1983-09-29 1985-04-11 Siemens Ag Verfahren zur verhinderung des ablaufs eines programms auf fuer den ablauf dieses programms nicht zugelassenen rechnern

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732480B2 (en) 2010-09-24 2014-05-20 Kabushiki Kaisha Toshiba Memory management device and memory management method

Also Published As

Publication number Publication date
JPS63240629A (ja) 1988-10-06
EP0280035A3 (en) 1990-05-16
ATE103402T1 (de) 1994-04-15
DE3705736C2 (ja) 1988-12-01
EP0280035B1 (de) 1994-03-23
EP0280035A2 (de) 1988-08-31
ES2050671T3 (es) 1994-06-01
DE3888556D1 (de) 1994-04-28
DE3705736A1 (de) 1988-09-01

Similar Documents

Publication Publication Date Title
CN111095213B (zh) 嵌入式程序的安全引导方法、装置、设备及存储介质
US5224160A (en) Process for securing and for checking the integrity of the secured programs
CN101894224B (zh) 保护客户端平台上的内容
US11132468B2 (en) Security processing unit of PLC and bus arbitration method thereof
CN101256613B (zh) 无需制造者和用户知道彼此的加密信息的安全处理器系统
TWI438686B (zh) 用於使用狀態確認來保護作業系統啟動過程的系統及方法
JP2710754B2 (ja) チップ・カードのキーを保護する装置
US8407488B2 (en) Semiconductor device including encryption section, semiconductor device including external interface, and content reproduction method
CN101427259B (zh) 维护版本计数器的方法和设备
JP4498735B2 (ja) オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
JP2564593B2 (ja) プログラムを機密保護し且つ機密保護されたプログラムを保全制御する方法
US8843766B2 (en) Method and system for protecting against access to a machine code of a device
US20060080537A1 (en) Illegal analysis / falsification preventing system
CN103038745A (zh) 扩展完整性测量
JP2000516373A (ja) 暗号化キーの安全処理のための方法及び装置
KR20090095843A (ko) 보안 기능을 갖는 프로세서 장치
JP4791250B2 (ja) マイクロコンピュータおよびそのソフトウェア改竄防止方法
US20170243011A1 (en) Component for processing a protectable date and method for implementing a security function for protecting a protective date in such a component
US5561767A (en) Safety critical processor and processing method for a data processing system
KR20180007717A (ko) 이중보안기능을 가지는 SoC 및 SoC의 이중보안방법
CN114816549B (zh) 一种保护bootloader及其环境变量的方法及系统
EP0962850A2 (en) A method for protecting embedded system software and embedded system
CN112861137A (zh) 安全固件
EP1811460A1 (en) Secure software system and method for a printer

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees