JP2001524229A - コンピュータシステムの安全保障性能向上用の安全保障形共同プロセッサ - Google Patents

コンピュータシステムの安全保障性能向上用の安全保障形共同プロセッサ

Info

Publication number
JP2001524229A
JP2001524229A JP53585198A JP53585198A JP2001524229A JP 2001524229 A JP2001524229 A JP 2001524229A JP 53585198 A JP53585198 A JP 53585198A JP 53585198 A JP53585198 A JP 53585198A JP 2001524229 A JP2001524229 A JP 2001524229A
Authority
JP
Japan
Prior art keywords
control signal
area
control
program
processor
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.)
Ceased
Application number
JP53585198A
Other languages
English (en)
Inventor
エー.,シニア ヘルビッグ,ウォルター
エイチ.ザ サード アッカーマン,ウイリアム
Original Assignee
ピーシーエスイーシー,リミティド ライアビリティ カンパニー
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
Priority claimed from US08/799,339 external-priority patent/US5953502A/en
Application filed by ピーシーエスイーシー,リミティド ライアビリティ カンパニー filed Critical ピーシーエスイーシー,リミティド ライアビリティ カンパニー
Publication of JP2001524229A publication Critical patent/JP2001524229A/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/1097Boot, Start, Initialise, Power

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Alarm Systems (AREA)

Abstract

(57)【要約】 安全保障性能の向上させられたコンピュータのシステムの配置は、従来のコンピュータのシステムの構成に挿入された協働プロセッサ(10)および多重プロセッサ論理制御装置(38)を包含する。協働プロセッサおよび多重プロセッサ論理制御装置は従来のコンピュータシステムのCPUの間に介在させられCPUと協働するクリティカルな制御信号ラインの或るものを通過する制御信号を横取りし置換する。CPUは制御信号が再びCPUとコンピュータシステムの間を進行することを許容することにより解放される。CPU制御信号をコンピュータシステムの残余部分から隔離することは、多重プロセッサ論理制御装置(38)が正規のコンピュータシステムの作動に任意の時点で割込みを行うことを許容し、コンピュータシステムにおけるファームウェアまたはソフトウェアのデジタルなシグネチャを点検する。このようにして多重プロセッサ論理制御装置の配置は従来のコンピュータシステムのCPUを従来のコンピュータシステムの残余部分から隔離し、CPUについての個別の制御およびコンピュータシステムの残余の部分についての個別の制御を可能にする。

Description

【発明の詳細な説明】 コンピュータシステムの安全保障性能向上用の安全保障形共同プロセッサ 発明の分野 本発明はコンピュータの安全保障(security)の分野に関し、コンピュータの 安全保障の侵害を検出およびまたは防止する能力に関する。 発明の背景 コンピュータ・システムは、有用なデータまたはプログラムを盗用したり汚染 しようとする侵入者により攻撃を受ける。攻撃者はセキュリティ対策を打破する 種々の技術を有し、コンピュータ・システム資源へとアクセスする。斯かる攻撃 は一般的に、コンピュータ制御ソフトウェアの一定重要部分の内容を変更するこ とに掛かっている。ひとつの例は、割り込みベクトルのテーブル内のエントリを 変更し、冒された割り込みが実行されるときに実行を埋め込みプログラムに移す ことである。他の種類の攻撃としては、ハードディスクのブート・セクタの部分 の書き換えまたはBIOSソフトウェアの変更が挙げられる。いずれの場合にも、埋 め込みプログラムが実行されると攻撃者がコンピュータ・システムへとアクセス できるようになる。 侵入を防止するひとつの手法は、コンピュータ制御ソフトウェアの重要部分を 含むRAMまたはディスクのメモリ空間の領域を、特定条件下以外では上書きから 保護することである。一定のコンピュータ・アーキテクチャにおいては、ソフト ウェアのアドレス空間は2 つ以上の保護リングに分割されている。而して、予防的保護対策は相当に複雑で あるとともに、保護対策を巧みに逃れるべく攻撃者が利用し得る弱リンクを含む のが一般的である。例えば、2重リング・アーキテクチャを使用するUNIXのオペ レーティング・システムにおいては、特権の少ない外側リングでプロセスを実行 する為の内側リングのルートアクセス用の機能がある。外側リングにおけるプロ セスは保護された内側リングのメモリ空間内におけるルート・プロセスとして実 行可能であることから、プロテクテッド・メモリを制御するコンピュータ制御ソ フトウェアの一部を変更することが依然として可能である。 プロセッサのリングレスの実アドレス・モードを使用するIBM互換PCの標準稼 働DOSにおいては、任意のプログラムによるシステム・ソフトウェアの汚染を防 止するアーキテクチャ制約は無い。インテル386及び最近のマイクロプロセッサ のリアル・アドレッシング・モード及びプロテクテッド・アドレッシング・モー ドを使用しても、通常はプロテクテッド・モードからリアル・モードへとアクセ ス可能であることから、プロテクテッド・モードで設定されたセキュリティ機能 を迂回する不法手段を構成する。上記の対策は、侵入を防止すべく設計されてい る。犯行の後で侵入を検出することは、別の種類の問題である。 侵入が行われたか否かを検出する手法のひとつは、コンピュータ制御ソフトウ ェアのいずれかの重要部分が変更されたか否かをチェックすることである。一般 的に、ファイルの変更を検出するには、そのファイルのデジタル署名(digital s ignature)を種々の技術のひとつを使用して計算するが、それは、1995年4月17 日に刊行された“機密ハッシュ規格(Secure Hash Standard)”、FIPS PUB 180-1 にて国立規格技術研究所(National Institute of Standards and T echnology)により記述された不可逆ハッシュ・アルゴリズムなどである。この種 のデジタル署名は、改変検出コード(MDC)、操作認証コード(MAC)またはメッセー ジ・ダイジェストとしても知られている。上記に記述されたハッシュ規格は安全 なものとされている、と言うのも、与えられたメッセージ・ダイジェストに対応 するメッセージを発見し又は同一のメッセージ・ダイジェストを生成する2個の 異なるメッセージを発見することは計算では実現不可能だからである。システム ・ソフトウェアを照合する改変検出コード及び信用アプリケーション・プログラ ムを使用したシステムは、米国特許第5,421,006号に示されている。 信頼ある操作者(trusted operator)は、コンピュータ制御ソフトウェアまたは データの各重要部分に対するデジタル署名の計算を開始する。重要プログラム領 域または制御ソフトウェアは、実行可能プログラムまたは重要システムデータ( 例えば、データエントリのテーブル)のいずれかであり得ることを銘記されたい 。結果的なデジタル署名の組は、メモリの安全領域に格納される。後の時点にお いて、コンピュータ制御ソフトウェアまたはデータの同一重要部分のデジタル署 名を再計算すると共に、再計算されたデジタル署名の各々を先に格納された対応 デジタル署名と比較することにより、当該システムはチェックされ得る。もし再 計算されたデジタル署名が最初に計算されたデジタル署名と同一でなければ、エ ラー状態がユーザに対してフラグ化されて侵入不正変更の検出が表示される。 しかし、セキュリティ・シーケンス自体の作用を攻撃者が変更しなかったこと は保証されず、不正変更検出システムを無力化している。例えば、電源投入また はシステムリセット時にコンピュータは、変更に対して内容がチェックされてい ないコンピュータ自身のBIOSメモリ内容を使用してシステムを初期化する。上記 で引用した米 国特許第5,421,006号においては、実行BIOSによりロードされたブート・レコー ドはチェックされるが、BIOS自体は実行前に照合されない。同様に、BIOSエクス テンションは照合なしで実行される。引用した上記米国特許においては、BIOSは 読出し専用メモリに格納されるものと示されているが、最近のアーキテクチャは 電気的変更可能なEEROMをBIOS格納に使用している。(後で署名チェックを行う か否かに関わりなく)照合なしでスタートアップ時にBIOS及びそのエクステンシ ョンを実行することは、エントリを獲得すべく利用され得る潜在的な弱リンクを 残すことになる。 コンピュータ・セキュリティの侵入を防御的に阻止すること、及び、セキュリ ティの侵入を検出することは別であるが、関連した目標である。実質的に全ての コンピュータ・セキュリティの侵入を防御的に阻止するというコンピュータ・セ キュリティ・システムは、該システムが安全でない別のコンピュータに接続され 得る限り、依然として達成困難である。セキュリティ侵入のリアルタイムの検出 または略々リアルタイムの検出は、損害が発生する前に処理のシャットダウンを 開始して更なる侵入を防止するに十分なだけ迅速とすべきである。信頼性のある 検出だけでは侵入を阻止しないが、それを迅速に通報して監査証跡を提供するこ とにより損害は制限される。実質的に全てのコンピュータ・セキュリティへの侵 入を信頼性を以て検出する検出システムを提供することが望ましい。侵入の検出 はまた、検出システムへの一切の攻撃の検出も含んでいる。この目的の為に検出 システム自体は攻撃に対して十分に不浸透性(impervious)とされ、その重要機能 すなわち攻撃検出機能を成就可能とせねばならない。 発明のサマリー 本発明に依れば、従来のコンピュータ・システムのアーキテクチャに対して新 規な手法で共同プロセッサ(coprocessor)装置が挿入される。詳細には、上記共 同プロセッサ装置は中央処理ユニット(CPU)とコンピュータ・システムの残部と の間に介設され、両者間において一定の重要制御信号ラインが通過するのを該共 同プロセッサが阻止し得るものである。その様にして、上記共同プロセッサ装置 は従来のコンピュータ・システムを該コンピュータ・システムの残部から隔離す る故に、該共同プロセッサはCPU及びコンピュータ・システムのいずれからも異 なる制御を獲得し得る。CPU制御信号をコンピュータ・システムの残部から隔離 することにより、上記共同プロセッサは、コンピュータ・システムの一切のファ ームウェアまたはソフトウェアが最初にまたは後の任意の時点で使用される前の 任意の時点で通常のコンピュータ・システム作動に割り込みをかけて該ファーム ウェアまたはソフトウェアのデジタル署名をチェックできる。 本発明のシステムは例えば、CPUとしてIntelのI486マイクロプロセッサを有す る既存のPCシステムに対し、そのマザーボード上のソケットからCPUを取り外す と共に、ASIC(特定用途IC)、ドーターボード(daughter board)または他の形態 のマルチチップ・モジュール(MCM)として空きCPUソケットへ挿入することにより 改装組込み可能である。取り外されたI486はドーターボード上のソケットへと再 挿入される。CPUに対する制御信号の入出力は、通常のCPU制御信号を遮断すると 共に必要に応じて共同プロセッサが作動する為の他の制御信号を置換するドータ ーボード上のロジックを介して受け渡される。CPUとコンピュータ・システムと の間の制御信号の再度の受け渡しを許容することによりCPUは復旧せしめられる 。データ及びアドレス信号はドーターボード上のラインを介して直接的に CPUとコンピュータ・システムとの間で接続されると共にドーターボード上のロ ジックへも接続される。将来的なシステムにおいては、ドーターボードの機能は 部分的にもしくは全体的にマザーボード内に組み込まれ、および/または、全体 的にもしくは部分的に将来的なICマイクロプロセッサに集積化される。 上記ドーターボードは更に、RISCマイクロプロセッサ・チップ及びマルチプロ セッサ論理制御器の形態の共同プロセッサ・サブシステムを含んでいる。上記マ ルチプロセッサ論理制御器は、ハードウェアにより制御されると共に一個以上の 書き換え可能ゲート・アレイ(FPGA)ならびに一個以上の不揮発メモリIC内のファ ームウェアにより実現された有限状態マシンである。上記マルチプロセッサ論理 制御器は、関連制御信号ラインを従来のPCコンピュータ・システムのCPU及び残 部からいつ切断していつ再接続するかを決定する。CPUがコンピュータ・システ ムの残部から切断されている間、上記マルチプロセッサ論理制御器はCPU及びRIS C共同プロセッサの働きを許容制御することにより、コンピュータ・システムの 構成要素のセキュリティ・チェックを実行する。制御信号ラインの切断及び再接 続は、(リレーなどによる)物理的なもの、(光カプラなどによる)光学的なも の、(半導体スィッチなどによる)電気的なもの、又は、(論理ゲートなどによ る)論理的なものとされ得る。(CPUとの間で制御信号を搬送する)双方向的な 制御信号ラインは、切断されると共にいずれかの方向に挿入された制御信号を置 換し得る。 例えばドーターボード上のマルチプロセッサ論理制御器はCPU制御信号を捕捉( capture)かつ解放(release)すると共に、それ自体のファームウェアによりCPUを 作動させ、所定コンピュータ・ファイルに対するデジタル署名の生成または照合 をRISC共同プロセッサ・サブシステムに行わせる。この目的の為に、コンピュー タ・シス テムの残部に対する制御は、ファームウェアに従い、上記マルチプロセッサ論理 制御器によりRISC共同プロセッサとCPUとの間で相互に受け渡される。一個以上 のデジタル署名の照合が完了したなら、マルチプロセッサ論理制御器はコンピュ ータ・システムのCPUと残部との間の接続を再確立し、当該システムは通常のPC 作動を再開する。 通常のコンピュータ作動においてCPUはマザーボードから通常方式でデータ及 び制御信号を受信する。信頼ある操作者の要求があれば上記RISC共同プロセッサ は該信用オペレータにより指示されたファイルに対するデジタル署名を計算する 。RISC共同プロセッサはそれらのデジタル署名を記憶する。保護の対象となる典 型的なファイルは、BIOSメモリ、DOS、割り込みテーブル、及び、ルート・ディ レクトリのautoexec.bat及びconfig.sysファイルである。記憶されたデジタル署 名は、一切の侵入が生ずる前におけるコンピュータ・システムの保護状態すなわ ちコンピュータ制御ソフトウェア・ファイルの選択重要部分の状態を表している 。ドーターボード上の回路の作用は通常作動に対しては透過的である。当該シス テムが再始動される毎に、侵入に対する新たなチェックが実行される。 電源投入時またはシステム・リセット時のシステム・セキュリティ・チェック それまでの侵入を検出すべく、上記RISCプロセッサ及びCPUは電源投入時に( またはハード・システム・リセットに続いて)交互にクロス・チェックを実行す る。ドーターボードにおけるマルチプロセッサ論理制御器は最初にCPU制御信号 ラインを支配してから、CPU及びドーターボードのRISCプロセッサの両者に対し 、それらのビルトイン自己診断ルーチンを実行させる。次にCPUはドーターボー ドのフラッシュRAMに記憶されたファームウェアを実行するが、該 ファームウェアはRISC共同プロセッサに対し、該RISC共同プロセッサのソフトウ ェア関連自己診断ルーチンの実行を命令するものである。この時点においてCPU は作動を一時停止(halt)すると共に、RISC共同プロセッサは自己チェック・ルー チン及びドーターボード上のメモリのテストなどのシステム・チェックを実行す る。これらのテストが好首尾に完了したなら、RISC共同プロセッサは作動を一時 停止し、CPUが作動を再開する。もし信用オペレータがこの時点においてBIOS RO Mがテストされるべきことを予め選択していれば、CPUはRISC共同プロセッサがBI OSテストを実行することを要求すると共に、RISC共同プロセッサがテストを実行 すべく作動を再開する間にCPUはその作動を一時停止する。 次にRISC共同プロセッサはマザーボード上のBIOSに対するデジタル署名を計算 し、BIOSに対して以前に生成されてドーターボードに記憶された署名と比較する 。もし、再計算されたデジタル署名が以前に計算されたデジタル署名に対して照 合されれば、CPUは解放されると共に、他の信頼ある操作者が指定したテストの 実行、又は、通常のPC作動に対して必要とされる他の全てのテーブル及びパラメ ータを設定するBIOSの通常実行の開始、が許容される。 CPUによる通常BIOS実行の最後の部分としてCPUは、コンピュータ・システムの 構成要素のいずれかがビルトインBIOSに対するエクステンションを有するか否か を調べてから、存在が発見されたBIOSエクステンションを実行する。BIOSエクス テンションのひとつとして作動することにより、(ドーターボード上のBIOSエク ステンションの実行により)ドーターボード上のマルチプロセッサ論理制御器は 、CPUがシステム・ブート・アップ・ファームウェアを実行し得る前に(CPUの制 御信号ラインを支配することにより)CPUを再支配する。次に、先に指定された信 頼ある操作者の選択により指示された 如くドーターボードは、(システムのRAM及びハードディスク・セクタに対する直 接アクセスにより)DOS、割り込みテーブル、autoexec.bat及config.sysファイル のデジタル署名、または、信頼ある操作者により予選択された他の重要プログラ ムのデジタル署名をチェックする。 もし信用オペレータにより指定されたシステム構成要素の全てのデジタル署名 をドーターボードのマルチプロセッサ論理制御器システムが照合したなら、CPU は解放されてシステムはブートして通常的に実行することが許容される。この時 点から、ドーターボードの存在はコンピュータ・システムの作動に対して透過的 となる。 信頼ある操作者により保護されるべく設計されたコンピュータのBIOSファーム ウェアのいずれかの部分を変更した、以前の何らかのコンピュータ・システム攻 撃は、次のシステム・リセットまたは電源投入時にエラー状態として現れる。BI OSエクステンション・ファームウェアのいずれか、又は、信頼ある操作者により 保護されるべく設計された重要ソフトウェアのいずれかに対する一切の攻撃は、 ハード・リセットまたはソフト・リセット(CTRL-ALT-DELのキーストロークの同 時押圧により命令されたリセット)であれば、一切の種類の次のシステム・リセ ット時にエラー状態として現れる。この様にして、コンピュータ・セキュリティ を突破した可能性のある侵入が検出される。 監視作用 本発明の第2の側面に依れば、上記共同プロセッサ装置はセキュリティ・モニ タとして利用され得る。セキュリティを監視すべく、透過的に作動し乍らドータ ーボード上のマルチプロセッサ論理制御器は、CPUに対する制御、データ及びア ドレス・ラインを監視する。特に、重要プログラムまたはデータを含むプロテク テッド・メモ リに対する書き込み操作が監視される。もし信頼ある操作者により保護されるべ く設計されたコンピュータ制御ソフトウェアの重要部分のいずれかが変更されよ うとしたなら、マルチプロセッサ論理制御器はCPUの制御を支配し、アラームが 鳴り出してシステムはシャット・ダウンする。もしエラー状態が反復するなら、 システムは信頼ある操作者によってのみ再始動され得る。その様にして、コンピ ュータ・セキュリティの突破の可能性を表す侵入は突破が生ずる前に阻止される 。 本発明の共同プロセッサ・アーキテクチャの単一プロセッサによる実現 上記CPU、マルチプロセッサ論理制御器及びRISC共同プロセッサの間における 機能の分割は極めて柔軟性がある。理論的には、マルチプロセッサ論理制御器の 一定の機能はRISC共同プロセッサ・ソフトウェアに組み込まれ得る。但し、CPU に対する制御信号の物理的遮断はハードウェアにより実現されるのが自然である 。これに加え、アドレス・バス上の禁止アドレスの出現に応答し、又は、電源投 入時に制御を支配する上で必要な速度の故に、マルチプロセッサ論理制御器はハ ードウェアで実現するのが好適である。 同様に、上記CPU及びRISC共同プロセッサはマルチプロセッサ論理制御器の制 御下でそれらの作動を交互実施する(一方が始動するときに他方は停止する)こ とから、CPUが両方の機能を実行すればRISC共同プロセッサは排除され得る。斯 かる場合においてマルチプロセッサ論理制御器はCPUの制御を、PCにおける通常 環境からドーターボード上の保護環境へと切り替える。ドーターボード上の保護 環境において、CPUはRISC共同プロセッサのセキュリティ機能を実行し得る。但 し、単一個のプロセッサが通常のPC機能とセキュリティ機能との間で切り替え使 用されることの主な利点は、単一個のプ ロセッサによる経済性である。RISC共同プロセッサを排除したことのトレードオ フとしてセキュリティが低下するが、一定の市販アプリケーションでは容認され 得るものである。セキュリティを高めるのであれば、別体で独立した共同プロセ ッサが使用される。 汎用共同プロセッサのアーキテクチャ 本発明の更なる側面によれば、上記RISC共同プロセッサは汎用共同プロセッサ として活用され得る。通信は、マルチプロセッサ論理制御器により監視されるデ ータ及びアドレス・ラインを介して行われる。アドレス及びデータ形態の一定の 組合せは、特定のタスクの実行をRISC共同プロセッサに命令する。このタスクを 実行する為にマルチプロセッサ制御ロジックはPCの制御を支配して制御をRISC共 同プロセッサに移し、該RISC共同プロセッサは要求されたタスクを実行する。上 記タスクが行われたとき、上記RISC共同プロセッサはCPUが利用し得るメモリ空 間にタスク結果を格納すると共に、マルチプロセッサ論理制御器を介してPCの制 御をCPUに戻す。代替実施例において、上記RISC共同プロセッサはアドレス及び データラインを支配してタスク結果をRAMメモリ内にロードし、または、その結 果をCPUの汎用レジスタのひとつに委ねても良い。 上記RISC共同プロセッサ及びCPUは両者ともに、別体の共有メモリアドレス空 間を有している。上述の如く共有メモリ空間は、プロセッサ間通信の為に使用さ れる。RISC共同プロセッサにおける別体の専用アドレス空間により、RISC共同プ ロセッサにより実行されたセキュリティ処置によってはCPUが不当変更され得な いことが確実となる。CPUの制御ラインを遮断する能力をRISC共同プロセッサが 有すると共に、CPU及びRISC共同プロセッサに対して別体のメモリアドレス空間 を使用することにより、本発明の共同プロセッサ装置のセキュリティには高レベ ルの信頼性が与えられる。 本発明を使用することにより、RISC共同プロセッサによりソフトウェアが最初 に照合されなければ(マザーボードBIOSを含む)ファームウェアまたはソフトウ ェアのいずれをもCPUは実行しない様に、信頼ある操作者によりコンピュータ・ システムは設定され得る。照合を何処でスタートするか(何処で開始するか)に 関する先行技術の問題を解決すべく、本発明に係るマルチプロセッサ論理制御器 はCPUの制御を支配することにより開始することから、信頼されないソフトウェ アが実行される可能性は無い。その後、RISC共同プロセッサによりシステム・ソ フトウェアが順番に照合されたとき、CPUもまた順番に、照合されたソフトウェ アを続々と実行することが許容される。先行技術と比較し、信用オペレータが信 用状態を示してから何も変更されていないBIOSの実行の絶対的始動時点の前にお いてさえも、全てのレベルにおいてシステム・ソフトウェアは照合される。 図面の説明 図1は、本発明に係るセキュリティ強化プロセッサ・ボードのブロック図であ る。 図2A及び図2Bは、I486CPU作動制御用の本発明に係る論理制御器の状態図 である。 図3は、RISC共同プロセッサ作動制御用の本発明に係る論理制御器の状態図で ある。 図4は、本発明に係るマルチプロセッサ・システムの侵入検出作用のフローチ ャート図である。 図5は、本発明に係るマルチプロセッサ・システムの侵入阻止作用のフローチ ャート図である。 図6及び図7は、I486 CPU、RISC共同プロセッサ(MYK-80)及びド ーターボードのフラッシュRAMのメモリ空間のメモリ割り当てマップである。 図8は、本発明に係るセキュリティ強化プロセッサ・ボードのブロック図であ る。 図9は、本発明に係るセキュリティ強化プロセッサ・ボードにより遮断、バイ パス(bypass)及び監視される信号を列挙したテーブルである。 図10は、信頼ある操作者のインタフェース・プログラムにより提供される選 択性の図である。 詳細な説明 概要 図1には、本発明に係るセキュリティ強化プロセッサ・ボード(SEPB)を形成す る機密保持共同プロセッサを備えたコンピュータのブロック図が示されている。 上記SEPBは、Intel I486 CPU 24、および、機密保持共同プロセッサとしてプ ログラムされたRISC共同プロセッサMYK-80 10の2重マイクロプロセッサ配置構 成から成る。上記MYK-80は、ARN6 RISCマイクロプロセッサ、ルーチンを構成す るファームウェアを記憶する一定量のROM、および、MYK-80ならびに外部操作を サポートするに必要な他のロジックの特定用途結合体である。上記MYK-80はMyko tronix社により設計されると共にVLSIテクノロジ社により調製されたものである 。Mykotronix社はMYK-80およびその資料に対する技術サポートを行う。 2個のマイクロプロセッサ10、24に対し、32ビット・ワイド・メモリとして構 築されると共にMYK-80およびIntel 80486マイクロプロセッサに対する専用プロ グラムおよびデータを保持する2組のRO MであるMPROM 28およびIFROM 30と、共有32ビット・ワイドRAMであるSRAM 26と が配備される。上記SEPB上には、ホストPCの概略的作用ならびにMYK-80およびI4 86マイクロプロセッサの作用を制御するロジックを提供する2個のFPGA、すなわ ち制御FPGA2 40(MYK80CT2)及び制御FPGAl 38(I486CTB)が在る。また、MYK-80、I 486及びPC電子機器の間の全ての通信をプロセッサ・アドレス・バス32およびプ ロセッサ・データ・バス34を介して制御する2個のFPGA、すなわちアドレス・バ ス・セパレータFPGA 12(SEPBABUS)及びデータ・バス・セパレータFPGA 14(SEPBD BSB)が在る。FPGA 12および14はサブシステム制御バス18を介してMYK-80に対し 、I486プロセッサ・アドレス・バス32およびI486プロセッサ・データ・バス34か らMYK-80サブシステム・アドレス・バス20およびMYK-80サブシステム・データ・ バス22を夫々分離するのを許容する。 既存のホストPCに対するアドオン・ボードとして設計されたときに上記SEPBは ホストPCにおけるI486 CPUの168ピンPinGridと同一のコネクタを有することから 、該SEPBはI486 CPUを保持するのと同一のソケットにおいてホストPCに差込まれ 得る。次にI486 CPUがSEPB上に用意されたソケットに差込まれる。 尚、プロセッサ・アドレス・バス32およびプロセッサ・データ・バス34はI486 CPUに対して定常的に接続されると共にFPGA 12および14を介してMYK-80を選択 的に接続し、プロセッサ・アドレス・バス32上でアドレスを転送すると共にプロ セッサ・データ・バス34上ではデータを送受信することを銘記されたい。但し、 I486 CPU 24に対して通常的に直接的に接続されたプロセッサ制御バス36の一部 は、FPGAl 38およびFPGA2 40にビルトインされたマルチプロセッサ論理制御器の 制御の下でI486 CPU 24からFPGA 38により分離される。その様にして、CPU 24に 対する共同プロセッサとして作用して いるマルチプロセッサ論理制御器は、CPU 24のプロセッサ制御バス(部分A)36の 信号を遮断すると共に他のプロセッサ制御バス(部分A)36Aの信号を(CPUに対する 信号およびCPUからの信号を制御する)FPGA 38の出力にて置換することにより、C PU 24を支配し得る。残りのプロセッサ制御バス(部分B)36Bは、I486 CPU 24に対 して直接的に接続される。上記マルチプロセッサ論理制御器はI486に対して特定 コードの実行を許容するが、該I486はそのときにMYK-80プロセッサ10に対して( 通常はセキュリティ関連タスクである)タスクを実行することを要求し得る。電 源投入回路16およびリセット信号42はFPGA 38および40に連結される。 図8および図9には、上記SEPBのロジックにより生じせしめられる信号の更に 詳細なブロック図が示されている。図8において、SEPBロジック806は、プロセ ッサ側とマザーボードとの間で行き来806、808する17本の信号を遮断する。遮断 された17本の信号は図9において、遮断の各側におけるテーブル904およびテー ブル906に列挙されている。図8における67本の信号は上記SEPBロジックにより 監視804される。これらの67本の監視信号は図9でテーブルテーブル904に列挙さ れている。図8における16本の信号はSEPBロジックによりバイパス802される。 これらの16本のバイパス信号は図9ではテーブル902に列挙される。 (I486 CPU 24に関して)従来のホストPCシステムを構成する図1の部分は、I/O インタフェース44、インタフェース制御器48、EISAコンバータ50、関連DRAMメモ リ54を備えた拡張メモリ制御器52、並びに、マスタ・メモリ制御器46およびDRAM メモリ56を含んでいる。共同プロセッサ10、SRAMメモリ26、FROMメモリ28、FPGA 12、14、38、40およびFROM 30は、ホストPCシステムに付加されてセキュリティ 強化プロセッサ・ボードを形成する要素を構成する。安全でな いホストPCがアップグレードされる場合、後に述べた方の要素はプラグ・イン・ ドーターボードを介して付加される。但し後に述べた方の要素は、従来のマザー ボード上に付加され、または、特定用途I486 CPU内に完全にまたは部分的に一体 化されても良い。 侵入検出(図4) 侵入検出の為の本発明の共同プロセッサの使用法のフローチャートは図4に示 されている。侵入検出機能はリセットまたは電源投入時にステップ60にて開始さ れ、其処でドーターボード上のマルチプロセッサ論理制御器はCPUの制御信号ラ インを支配する。 最初にステップ62にてマルチプロセッサ論理制御器は、CPUがその自己テスト を行うと同時に、RISCプロセッサがその自己テストおよびメモリならびにSEPBハ ードウェアなどのRISC SEPBファームウェアにプログラムされた他のテストを行 うことを要求する。これらのテストの実行が完了されたとき、RISCプロセッサの 作動は一時停止される一方、CPUの作動はCPU SEPBファームウェアの実行により 継続される。 上記制御器がCPUファームウェアの第1部分を実行すると、RISCプロセッサの ソフトウェア関連自己テストを実行する為の要求をSRAMを介してRISCプロセッサ に受け渡すことになる。上記要求がSRAMに通知されたならCPUは操作を実行する が、該操作により、CPUのファームウェアの実行が一時停止され、且つ、RISCプ ロセッサはそのファームウェアを実行すべく作動を開始すると共にCPUによりSRA Mに通知された要求メッセージをフェッチして該要求をインタープリットした後 で、要求された自己テストを実行する。RISCプロセッサがそのソフトウェア関連 自己テストの実行を完了した後、該RISCは、そのファームウェアの実行を一時停 止すると共にCPUファームウェアの実行を再開する操作を行う。 この時点において、もし信用オペレータの先行オプションにて、一個以上のデ ジタル署名照合テストをSEPBが実行すべき要求がCPU SEPB FROMに記憶されてい れば、CPUファームウェアは一回にひとつのメッセージをSRAMに通知することに より、所望のデジタル署名照合テストが実行されることを要求する。前述と同様 に、上記要求がSRAMに通知されたならCPUは操作を実行するが、該操作により、C PUのファームウェアの実行が一時停止され、且つ、RISCプロセッサはそのファー ムウェアを実行すべく作動を開始すると共にCPUによりSRAMに通知された要求メ ッセージをフェッチして該要求をインタープリットした後で、要求されたデジタ ル署名照合テストを実行する。RISCプロセッサが要求された照合の実行を完了し た後、該RISCは、そのファームウェアの実行を一時停止すると共にCPUファーム ウェアの実行を再開する操作を行う。 上記CPUは、そのFROMに記憶された3個のテスト要求テーブルの最初のものに 記憶されたテストの各々に対し、RISCプロセッサにより実行されるべきデジタル 署名照合テストの要求を通知する。斯かるテスト要求の各々に対し、SEPBの構成 要素により行われる操作は上述のものと同一である。 この第1のテスト要求テーブルに列挙された全てのテストが行われた後、CPU はSEPBファームウェアの実行からPCのBIOSファームウェアの実行へと遷移を行う 。上記SEPBロジックによればこの遷移は、PCがそのCPU自己テストを行うべく構 築されていてもいなくてもSEPBが設置されていないPCで為されるであろう遷移と 同一の手法で確実に行われる。 典型的には、SEPBが設置されたPCにおいて信頼ある操作者は、ステップ64にて 、CPUマザーボード上のBIOS ROM(またはFROMまたはEPROM)、ドーターボード上の ROM、及び、PCに設置された一切のBI OSエクステンション装置上のROMの内容に関するデジタル署名照合テストをSEPB が行う如く、システムを設定する。 各自己テストおよびデジタル署名テストが行われた後、RISC共同プロセッサは 応答メッセージを上記SRAMに通知してテストの結果を示す。もしテストされた構 成要素が照合テストに合格すれば、CPUには、それがその作動シーケンスを継続 して別のテストを実行し得ることが告げられる。第1テスト・テーブルに列挙さ れた全てのテストに合格した後、CPUは遷移操作を行うことから該CPUはシステム BIOSの実行開始が許容される。もし上記テストのいずれかが不合格であれば、上 記RISCプロセッサにより上記SRAMに通知された結果メッセージはCPU SEPBファー ムウェアにより、不合格可聴アラーム信号を鳴らしてからシステムをシャット・ ダウンし且つその作動を再開する前に次のハード・リセット信号を待つ、という コマンドとして解釈される。 上記SEPBロジックおよび上記CPU SEPBファームウェアによりCPUがその作動を システムBIOSの実行のひとつへと遷移した後、上記SEPBはPCに対して完全に透過 的であり、すなわち、PCの作動には何らの影響を与えず且つPCからは見えないこ とを銘記されたい。この間、および、SEPBがPC作動に対して透過的である他の期 間の間、PC上で実行されつつあるプログラムに対してはSEPB BIOSエクステンシ ョン・コードのみが見える。PCに設置されたペリフェラル制御器は斯かる装置が 通常的に利用できる接続を用いては上記SEPBを検出し得ないことから、一切の遠 隔装置がPC内の一切の装置の一切の作用により上記PCにおける上記SEPBの存在を 検出するのが防止される。一方、上記SEPBは自身が接続されたCPU信号を監視し 続け、上記SEPB BIOSエクステンション・コードを読み取る又はこのBIOSエクス テンション・コードを実行する通常的PC作用に対して自身が応答す ベきか否かを決定する。上記SEPBはまたこれらの信号を監視し続け、セキュリテ ィへの侵入として自身が報告且つ/又は阻止すべき事象の発生に対して自身が応 答すべきか否かを決定する。 上記CPUがそのBIOSファームウェアを実行してPCを設定した後、それはPCに設 置されたペリフェラル制御器に対するBIOSエクステンション・ファームウェアを 探索して実行することによりシステムの設定を完了する。ステップ68にて、上記 SEPBのマルチプロセッサ論理制御器はこれらのペリフェラル制御器のひとつを装 うことにより上記CPUを再支配し、そのBIOSエクステンション・ファームウェア の実行を引き起こす。上記PCがSEPB BIOSエクステンション・ファームウェアを を実行する間、ステップ70にてはCPUの制御をSEPBに再び受け渡す段階が実行さ れる。この時点においてSEPBはその第2テスト・テーブルを探し、RISCプロセッ サが行うべきであると自身が要求すべき(信用オペレータのオプションにて先に 選択された)デジタル署名照合テストが在るか否かを決定する。このときに行わ れるべき斯かる照合テストは、ホストにおけるPC RAMおよびハードディスク・ト ラック・セクタに直接的にアクセスすることによる、PCブート・セクタ割り込み テーブル、autoexec.batファイル、config.sysファイル、および、他の作動重要 ファイルの内容に関するテストであろう。RISCプロセッサが上記テストを行うこ とを要求すべく、上記CPUは上記と同様にSRAM内に要求メッセージを通知してか らそのSEPBファームウェアの実行を一時停止すると共に上記と同様にそのSEPBフ ァームウェアのRISCプロセッサ実行を開始する。上記RISCプロセッサは要求され たテストを上記と同様に実行してから上記と同様にその作動を一時停止してCPU 作動を再開する。 上記SEPBがその機能を実行しているとき、CPUすなわちI486およびそのRISCす なわちMYK-80はFPGAにより実現されたマルチプロセッ サ論理制御器の制御下で作動を交互実施する。すなわち、一方のプロセッサが作 動を開始すると他方が一時停止し、又はその逆となる。第2のSEPBテスト・テー ブルの内容により要求されたテストの全てに合格すると、上記SEPBはCPU接続を 、PCが通常的に作動するのを許容する状態に戻す。(上記と同様に、もしこれら のテストのいずれかが不合格であればPCはシャット・ダウンして、上記と同様に 最初からシステム作動を開始するハード・リセットを待つ)。 この時点においてPCのオペレーティング・システムはステップ72にて通常的に ブート・アップすることが許容される。ブート作動の為にI486 CPUがPCへと向け られたとき、上記SEPBはその監視を除き再び透過的となる。 図4は、この相互制御をフローチャートの処理ステップの位置で示している。 中央には、マルチプロセッサ論理制御器の作動60、62および68が在る。左側には 、CPUのステップ66および72があり、右側にはRISC共同プロセッサのステップ64 および70が在る。本発明の配置構成においては、I486 CPUからのハードワイヤー ド信号がI486 CPUを活動停止せしめると共にMYK-80がアクティブとなることを命 令する。同様に、MYK-80プロセッサからの別のハードワイヤード信号がMYK-80プ ロセッサを活動停止せしめると共にI486 CPUがアクティブとなることを命令する 。 本発明のアーキテクチャは、もし各プロセッサがマスタ・スレーブ式に作動す るのであれば複数のマルチプロセッサ・システムで実現され得る。この場合、マ スタ・ユニットに適用される本発明の設計態様で十分である。もし各プロセッサ が異種マルチタスク配置構成で作動するのであれば、斯かるプロセッサ・ユニッ トの各々に対する信頼性のある計算基礎を提供するには本発明のSEPBが二重に必 要とされる。 侵入監視(図5) 作動において、マルチプロセッサ論理制御器およびMYK-80共同プロセッサは透 過的である。しかし、透過的であり乍らもマルチプロセッサ論理制御器は監視機 能を実行する。図5は、ステップ80で開始する侵入監視機能を示しており、該ス テップにおいて信頼ある操作者(TO)は不当変更から保護されるべきホストPCの領 域を指定する。マルチプロセッサ制御ロジックはアドレス、データおよび制御バ ス32、34および36を介し、ステップ82にてCPUメモリ空間のアドレス・ラインを 監視すると共に、ステップ84にて、メモリの保護領域へのデータの書き込みなど の禁止アクセスが試行された時点を決定する。ステップ84にて侵入試行が検出さ れたとき、ステップ86にてSEPBはアラームを鳴らしてシステムをシャット・ダウ ンする。シャット・ダウンは、特定の命令の実行により引き起こされるI486 CPU の通常作動である。斯かるコマンドを有さないプロセッサに対しては、シャット ・ダウンはSEPBのマルチプロセッサ論理制御器により引き起こされる。 I486に対する感化(活動停止)制御 I486のSEPB作動を一時停止させ、RISCプロセッサに対してそのSEPBファームウ ェアの適切な部分の実行を許容する代替的手法がある。上記好適実施例はメモリ ・バス・サイクルに介入するものである。CPUは、バス・アクセスを行い、アド レスをアドレス・バス・ラインに載せてADS#信号を送信することによりバス・サ イクルを開始する。I486は次に、バス・サイクルの終わりを意味するready信号 の戻りを待つ。ready信号はアドレスされたPCユニットによりCPUに送信され、CP Uが要求したデータが該CPUにより受け入れられる準備ができたか又はCPUにより 送信されたデータがアドレスされたユニットにより受け入れられたかのいずれか を表す。もしready信 号がCPUにより受信されなければ、CPUはそれをいつまでも待つ。而して、SEPBが CPUを停止せしめる為に、CPUにより実行されつつあるSEPBファームウェアはマル チプロセッサ論理制御器に対してデータを送信する“データ書き込み”操作を含 んでいる。この時点においてSEPBファームウェアのCPU実行を停止すべく、マル チプロセッサ論理制御器は単純に、CPUに対してready信号を戻さない。該論理制 御器はその代わりに、RISCクロックの生成を再始動すると共にI486のバスおよび 制御信号を解放せしめることにより、そのSEPBファームウェアをRISCプロセッサ が実行するのを開始せしめる。 この様にしてSEPB作動の間において、CPUにそのSEPBファームウェアを実行さ せ又はRISCプロセッサにそのファームウェアを実行させ、但し両者を同時には実 行させない、といういずれかの目的は達成される。CPUはready信号を待機してい ることをマルチプロセッサ論理制御器が知り乍らも該マルチプロセッサ論理制御 器はそのSEPBファームウェアをRISCプロセッサに実行させたいとき、該マルチプ ロセッサ論理制御器はhold信号を生成してCPUに送信することによりCPUによるプ ロセッサ・アドレス・バスおよびプロセッサ・データ・バスの両者の制御をCPU に解放させ、そのバス・ドライバ回路をハイ・インピーダンス状態とする。次に 、自由になったプロセッサ・アドレス・バスおよびプロセッサ・データ・バスに より、RISCプロセッサは自身とSEPBまたはPCの他の部分との間のデータ転送を欲 するときは常にこれらのバスを使用できる。 後に、RISCプロセッサのSEPBファームウェアの実行が、該ファームウェア実行 は停止され且つCPU SEPBファームウェアの実行が再開されるべき時点に到達した とき、RISCプロセッサは同様に“データ書き込み”操作を実行して信号をマルチ プロセッサ論理制御器に送信することにより上記切り替えを行うに必要な操作を 実行する。こ の特別の“データ書き込み”操作を検出したときに上記マルチプロセッサ論理制 御器はRISCプロセッサの作動を停止すると共にCPUを解放してそのSEPBファーム ウェアの実行の継続を許容するが、これは単に、RISCプロセッサに対するクロッ ク信号の生成を停止し、hold信号の生成を停止し、それをCPUに送信するのを中 止し、且つ、ready信号を生成してそれをCPUに送信することにより行われる。 CPUの制御の代替的な実現は、RISCプロセッサ・クロックをCPUが行うときにCP Uのクロックを停止することである。しかし乍らこの手法は幾分か制限されてい る、と言うのも、この手法は内部クロック速度を高めるべくオンチップのフェー ズド・ロック・ループを有するCPUに対しては使用され得ないからである。クロ ック速度増加の為に使用される斯かるフェーズド・ロック・ループは、外部クロ ックが停止された後も暫くの間は動き続けると共に、外部クロックが始動した後 でその完全作動状態に到達するには非ゼロ量の時間を要する。 CPUに関する感化制御を行う更なる代替実施例は、マスタCPUがスレーブCPUを 一時停止するというマルチプロセッサ・マスタ・スレーブ配置構成で行われるの と同様にCPUを一時停止することである。CPUはまた、ひとつの割り込み信号を遮 断して別の割り込み信号で置換し、または、制御信号に対して異なる割り込みベ クトルもしくは割り込みアドレスを置換することで制御され得る。CPUを制御す る他の手法としては、書き込みストローブ信号を遮断し、読取ストローブ信号を 遮断し、または、上述の如くデータ・レディ信号を遮断することが挙げられる。 本明細書中で使用された如く書き込みストローブとは、バス(データまたはア ドレス)に対する情報出力が何処かに書き込まれるべきことをCPUが示す任意の 種類の制御信号である。一例は、プロセ ッサ・バスに対する開始信号であるアドレス・ストローブ信号ADS#である。また 読み込みストローブは、バス(データまたはアドレス)からの情報入力が読み取 られるべきことをCPUが示す任意の種類の制御信号である。データ・レディ信号 は、情報(データまたはアドレス)がデータ・バスもしくはアドレス・バスに載 せられたか又はデータ・バスもしくはアドレス・バスから読み取られたことを示 す任意の種類の制御信号である。 CPUに対する制御を主張する更に別の手法は、アドレスおよび/またはデータ ・ラインを遮断することである。例えば、データ・ラインの遮断は、アドレスさ れたメモリ空間からCPUに通常的に提供されるべきものとは異なる実行可能コー ドの置換を許容する。アドレス・ラインの遮断により、CPUには実行可能プログ ラムまたはデータに対する代替的メモリ空間が強いられる。 FPGAのデータ・バス分離器FPGA14(SEPBDBSB)におけるマルチプロセッサ論理制 御器の実現 このFPGAにて設計されたデータ・バス分離器ロジックは、データの双方向転送 に対する接続を提供する。上記SEPB I486サブシステムはこのユニットを使用し 、共有RAM 26により両方向の転送を達成する。上記MYK-80はこのユニットを使用 し、SEPB I486サブシステムのフラッシュROM30およびPCの各RAMおよびROM内に記 憶された情報を読み取る。 SEPB I486サブシステムの構成要素を包含するデータ転送の全ては、上記SEPBD BUS制御ロジックおよびデータバス出力トライステート・ドライバを通過してい た。PCメモリ・サブシステムからMYK-80へと転送されるベデータは、ADS#信号が アクティブとなった後でPCメモリ・サブシステムが最初のRDY#信号またはBRDY# をアクティブ化したときにSEPBDBUSにラッチされる。ラッチの出力は後にMYK-80 によりサンプリングされる。 FPGA 14はまた、PCメモリ・サブシステムにより供給された情報をラッチすべ くADS#またはBRDY#信号のいずれを使用するかの選択を制御するロジックを含ん でいる。正にこのロジックは、MYK-80メモリの読取作用をI486メモリ読取バス・ サイクルへと変換すべく使用されるADS#、BOFF#およびBLAST#信号を生成する回 路の一部である。 バス分離器FPGA 12(SEPBABUS) 上記アドレス・バス分離器ロジックもまたFPGA上に実現される。大部分におい てそれは30個の双方向トライステート・ドライバから成る。各アドレスは、SEBP の共有RAMをアドレスすべくI486によりアドレス供給されたときには一方向へ、 且つ、PCのメモリまたはSEPB I486サブシステムのフラッシュをアドレスすべくM YK-80によりアドレス供給されたときには他方向へ、通過せしめられる。 この双方向的切換ロジックに対する例外は、I486およびMYK-80がアドレスの2 つの最下位ビットを操作する違いに適応すべく含まれる。I486は、バイトおよび ワード・アドレッシングに代えて、これらを4個の信号BEO#〜BE3#で置換する。 これらの信号を適切にコード化かつ順序付けすることによりI486は、バイト、ワ ードおよびダブルワードの後者のふたつの操作の一方がダブルワード境界上のメ モリに記憶されたアイテムをアドレスしても、バイト、ワードおよびダブルワー ドの転送を適切に実行し得る。 MYK-80はこれらの2個の最下位アドレス・ビットのコード化バージョンのみを 使用すると共に、I/O作用がバイトまたは(ダブル)ワードであるかを定義する 別の信号によりそれらを拡張する。この信号NBWLはアクティブlowでバイト転送 を定義すると共にhighでダブルワード転送を定義する。MYK-80のARM6が16ビット 転送を行って いるか否かを知る唯一の方法は、NBWL信号がhighであり且つ2個の最下位アドレ ス・ビットが10bの値を有することである。(ARM6においては、NBWL信号がhigh であるときには他の2つの値01bおよび11bは生じ得ない。) 上記SEPBABUSはこれらの単純な規則を実現することにより、SEPBMYK-80のサブ システムの適切な作動の為に必要なI486データのサブセットの転送作用の為に、 SEPB I486サブシステムとPCのメモリ・サブシステムとに対して送信される適切 なBEO#〜BE3#信号を生成する。 制御FPGA 38、40 上記SEPBマルチプロセッサ論理制御器(有限状態マシン)の作用は、図2A、 図2Bおよび図3の状態図に要約されている。SEPBファームウェアは複数個のコ ード組から構成され、ひとつのコード組は図2A、図2Bおよび図3の状態図の 各モードに対応している。各コード組は一個以上のセクションから成り、各セク ションは1個の入口および1個の出口を有している。次のモードの各々に対する コード組があるが、(I)により表されたモードは図2のI486モードを指し、(M )により表されたモードは図3のMYK-80モードを指している。 モードの定義 a.モード#0(I) このコードはパワーオン、モード#15(I)、コードからエンターされる。こ れはMYK・80にそれのソフトウェア指示の自己試験を遂行するよう指示し、次い でSEPBにI486's Aテーブルの内容により規定される試験のすべてを遂行するこ とを指示する。I486がMYK・80サブシステムに遂行することを命令する操作のた びごとに、その操作はモード#0(I)からモード#4(I)への移行を行い、 モード#4(I)において与えられた命令がMYK・80により遂行されるまで操作 を停止する。命令された操作が完了すると、モード#0(I)への移行が行われ る。モード#0(I)からモード#4(I)への移行を行うにあたり、I486コー ドは適切なFPGAアドレスをもって記憶装置への書込み指示を実行し、モードの切 換えを行わせる。“Memory Write”バスのサイクルがI486により開始されると、 FPGAはアドレスを認識し、バスサイクル完了RDY#の信号をI486に送ることをし ない。その結果、I486はプログラム実行をアイドルとし、FPGAはHOLD信号をI486 へ送り、すべてのバスをフリーにし、MYK・80サブシステム用のバス関連の制御 信号が使用されるようにする。MYK・80サブシステムが“Command Completion” 信号をI486コントローラFPGAへ送ると、FPGAは RDY#信号をI486へ送りHOLD信号 を解放することによりI486プログラムの実行を再開始する。SEPB's I486コード のパーセルも支援用MYK・80コードもホストPCに見られるものではない。したが ってこれらのコードのいずれも、ホストPCに内蔵される記憶内容試験プログラム に読取られることはできない。これらのコードのパーセルはまたSEPBI486'Sフラ ッシュROMおよびSEPB MYK・80'sフラッシュROMに記憶され、したがってホストPC にもとづくプログラムにより変更されることはできない。 MYK・80命令実行サイクルの任意の1つにおいてエラーが検出されるとI486はM ode #7(I)用のコードへジャンプを行う。Mode #7(I)コードへのジ ャンプはEPGAアドレスへの他の書込みにより遂行され、このことはI486コントロ ーラがコントロールステートマシンのモードを変化させることを行わせる。 エラーが発見されないと、I486コードはPC'sシステムイニシャライゼイション コードの実行への移行を行う。この移行は、I486がRESETおよびBIST操作を完了 してしまい最初の指令を取込みつつある ように見えるために要求される。この変化を遂行するためMode #0(I)コー ドは第3のFPGAアドレスに対するメモリライトの指令を実行し、その場合この指 令はI486のSEPBフラッシュROMにおいてOXFFFFFFFOの直前の指令の場所に対応す るアドレスに位置する。その結果、I486コントローラはコントロールステートマ シンのモードをモード#3(I)へ変化し、I486により取込まれる次位の指令は システムイニシャライゼイションファームウエアの最初の指令である。 b.モード#1(I) モード#1(I)で作動しているとき、I486は試験の区域のエントリについて “B”テーブルを点検する。エントリが存在すれば、I486は、適切なFPGAアドレ スについて記憶書込み指令を実行しモードがモード#5(I)へ切換えられるよ うにする(MYK・80が進行)。I486がMYK・80サブシステムを遂行することを命令す る操作のたびごとに、該操作はSEPB's SRAM 26におけるMYK・80サブシステムに ついて命令メッセージを設定し、次いでモード#1(I)からモード#5(I) への移行を行う。“Memory Wyite”バスサイクルがI486により開始されると、FP GAはアドレスを認識し、バスサイクル完了RDY#信号をI486に送ることをしない 。その結果、I486はプログラム実行においてアイドルを行い、FPGAはHOLD信号を I486に送り、すべてのバスを解放しMYK・80サブシステムについてのバス関連の 制御信号が使用されるようにさせる。MYK・80が“Command Completion”信号をI 486コントローラFPGAに送ると、FPGAはRDY#信号をI486に送りHOLD信号を解放す ることによりI486プログラムの実行を再開始させる。 MYK・80コマンドエクゼキューションサイクルのいずれか1つにおいて、エラ ーが検出されると、I486はモード#7(I)用のコー ドへジャンプを行う。モード#7(I)へのジャンプはFPGAアドレスへの他の書 込みにより遂行され、このことはI486コントローラにコントロールステートマシ ンのモードをモード#6(I)へ変化するようにさせる。エラーが発見されない とI486は“B”表を点検し、進行させるべき追加の試験を求める。より多くの試 験があるときは、I486は前記の手順を反復し点検を行う。 “B”表にもはやエントリが存在しないときは、I486はSEPBのモード#2(I )コードの追加部分の実行への移行を行う。モード#1(I)からモード#2( I)へのこの移行はI486により行われ適切なHALTの指令が実行される。HALTの指 令が実行されると、I486は、特殊なバスサイクル制御信号を送出することにより 、バスに接続されている装置すべてにHALTの指示が実行されたことを警報する。 多重プロセッサ論理制御装置がI486がHALT指令を実行しHALT操作を通知する特殊 バスサイクル制御信号を送出すると、該装置は非マスク可能の割込み、NMI、の 信号を発生しI486へ送出する。NMI信号の受理に応答し、I486は割込み応答宛先 アドレスを取込み、次位の指示をどこに実行させるかを決定し作動モードスイッ チのモード#2(I)への切換えを行う。適切な割込み応答宛先アドレスを取込 むのに用いられるフラッシュROMのアドレスは表C−1および表C−2に記述さ れる論理に従い発生させられる。(SEPBのコードのこのパーセルはPCには見える ものではなく、どのPC内蔵の記憶内容の試験プログラムによっても読取られるこ とができないことに注意すべきである。このコードはまたPCには見られることな く、SEPBI486のフラッシュROMに記憶されており、したがってどのPCの非SEPBの 操作によっても変更されることがでない。) SEPB BIOS実行のコードの最初の部分は、HALT指令の実行により終了する。HAL T BUSのサイクルはI486 FPGAコントローラ論理装置 により認識され、該装置は非マスク可能の割込み、NMI、の信号を自動的に発生 させ、I486へ送る。次いでI486は割込み応答バスサイクルを遂行し、割込み応答 コードの最初の指令のアドレスを読取る。割込み応答バスサイクルを遂行するに あり、I486はアドレスOXOOOOOOO8を用いメモリリードの操作を行う。SEPB I486 コントローラは操作を認識し記憶装置読取りを再指令し、それによりI486により 読取られるデータは適切なSEPB I486フラッシュROMから来る。このアドレスがI4 86により読取られるときI486コントローラはコントロールステートマシンのモー ドをモード#2(I)へ変化させI486により取込まれる次位の指令はBIOSファー ムウェアの第2のパーセルの最初の指令である。SEPB's I486コードのこのパー セルも支援のMYK・80コードもPCには見えない。したがってこれらのコードパー セルのいずれも、どのホストPC内蔵の記憶内容の試験プログラムに読取られるこ とはできない。これらのコードパーセルもまたホストPCには見えないが、その理 由はこれらはまたSEPBのフラッシュROMおよびSEPB MYK・80のフラッシュROMにそ れぞれ記憶されているからである。したがって、それらはどのPCの非SEPBの操作 によっても変更されることができない。 このコードは、モード#3(I)BIOSエクステンションコードの最初のセグメ ントからエンターされる。モード#2(I)はモード#3(I)およびモード# 1(I)からのまたはそれへのブリッジである。それは、SEPBがハードドライブ にアクセスすることを許容するよう使用される。テーブルエントリがディスクア クセスを要求する場合は、SEPBはモード#1(I)からモード#2(I)へ進行 し、ドライブを読取り、次いでモード#1(I)へ(そしてモード#5(I)へ )帰還しデータを点検する。 SEPBがI486のBテーブルの内容により規定される試験のすべての 遂行を完了した後、SEPBは他のHALTの指令を実行する。HALTの指令の実行、およ びそれに続く多重のプロセッサの論理制御装置によるNMI信号の発生に応答し、I 486は割込み応答宛先アドレスを取込み実行すべき次位の指令をどこで得るべき かを決定しモード#11(I)への操作モードの切換えを行う。適切な割込み応答 宛先アドレスを取込むのに用いられるフラッシュROMのアドレスは表C−1およ び表C−2に記述される論理に従って発生させられる。 d.モード#3(I) たいていの部分においてモード#3(I)で実行されるコードはPCのシステム 初期化ファームウェアからなる。しかしこのファームウェアの実行の終末におい てファームウェアはPCのアドレス空間をOXCOOOOからOXEOOOCまで探索し、BIOSエ クステンション装置がシステムに付加されたかどうかを決定する。そのような装 置がPCに付加されていると、BIOSエクステンション装置のコードに実行制御が与 えられ、付加されたサブシステムが初期化されることが可能である。 正常にはモード#3(I)システム初期化コードの実行は場所OXFFFFFFFOから 取込まれた指令とともに開始されるが、この操作はハードウェアがハードリセッ トおよび適切なBIST'sに続いて行われるものである。システム初期化コードの実 行、またはその一部は、操作者が制御(CNTL)、交互的(ALT)および抹消(DEL)の キイを同時に押下することによりシステムキイボードからソフトリセット命令を エンターした後に開始されることができる。このCNTL−ALT−DEL命令のキイボー ドを通してエンターされると、PCはモード#11(I)で作動するが、モード#3 (I)で作動するとき実行される同じコードを実行する。その結果、I486コント ローラはモード#3(I)およびモード#11(I)内のコードの実行を観察し、 BIOSエク ステンションアドレスの最初の0.5KB内のコードは同じであり、そしてSEPBがモ ード#2(I)の操作へ移行することが許容される。 実行のサイクルの終末において、モード#3(I)またはモード#3(I)で 実行されるシステム初期化のコードは、そのような装置について、BIOSエクステ ンションアドレス空間の2KBのブロックの各々を試験するが、どのPCにも幾つか のそのような装置がある可能性がある。そのような装置の1つはSEPBである。実 行の制御がSEPB BIOSエクステンションコードへ転送されると、転送はサブルー チンコールの実行により遂行される。したがってSEPB BIOSエクステンションコ ードの実行の最初のパーセルの実行はモード#3(I)で作動するSEPBとともに 遂行される。SEPB BIOSエクステンションアドレス空間の最初の0.5KB内に見出さ れるコードは、I486のスタックの状態を適切な状態に置きモード#2(I)への 作動モードの移行を行うよう停止の指令を実行することに使用されるものである 。 SEPBのBIOSエクステンションコードはPCから見られることができ、任意のPC内 蔵の記憶内容試験のプログラム、例えばDOSデバック機能、により読取られるこ とができる。しかし、SEPBのBIOSエクステンションコードはSEPB I486のフラッ シュROMに記憶されているから、該コードはどのPCの非SEPBの操作によっても変 化させられることはできない。 e.モード#4(I) モード#4(I)においては、I486はプログラムを実行していない。むしろ、 I486は記憶装置書込みの操作を、EPGA論理へマップされるアドレスが進行の前に 完了すべきであるとして、待機する。SEPBのMYK・80サブシステムが、I486によ り操作指令を遂行するよう、コードを実行するのは、この期間においてである。 SEPBのコード のこのパーセルはPCには見えず、どのPCの内蔵記憶内容の試験プログラムによっ ても読取られることはできない。このコードはPCには見られることができず、SE PB I486のフラッシュROMに記憶されているからどのPCの非SEPBの操作によっても 変更されることができない。 f.モード#5(I) モード#5(I)においては、I486はプログラムを実行しない。むしろ、I486 は、FPGA論理装置へマップされるアドレスが進行の前に完了すべきとして、記憶 装置書込みの操作を待機している。 I486により指令される操作を遂行するようSEPBのMYK・80サブシステムがコー ドを実行しているのは、この期間においてである。SEPBのこのパーセルはPCには 見えないのであり、どのPC内蔵の記憶内容試験のプログラムによっても読取られ ることができない。このコードはPCには見えないのであり、このコードはSEPB I 486のフラッシュROMに記憶されているから、どのPCの非SEPBの操作によっても変 更させられることはできない。 g.モード#6(I) このモードで操作中、I486はシャットダウン指令を実行し、コードを実行する ことを停止させる。このシャットダウン指令が実行された後この状態からの出口 は、I486およびPCおよびSEPBの残余のものへハードのリセット信号を送ることで ある。SEPBのコードのこのパーセルはPCには見えないのであり、どのPCの内蔵の 記憶内容試験のプログラムによっても読取られることはできない。このコードは PCには見えないのであり、SEPB I486のフラッシュROMに記憶されているから、ど の非SEPBの操作によっても変更されることはできない。 h.モード#7(I) I486がモード#0(I)、モード#1(I)、またはモード#9(I)のいず れかで作動しており、検証によるエラーを検出した場合には、FPGA論理装置へマ ップされたアドレスを用いて記憶装置書込みの操作を遂行することによりモード #7(I)へのジャンプおよび操作のモードのモード#7(I)への切換えを遂 行することができる。次いでSEPBは、適切なI/O読取りおよび書込み操作を実 行し、可聴の警報音を発生させることができる。SEPBコードのこのパーセルはPC には見えないのであり、どのPCの内蔵記憶内容の試験プログラムによっても読取 られることはできない。このコードはまた、PCには見えないのであり、SEPB I48 6のフラッシュROMに記憶されているからどのPCの非SEPBの操作によっても変更さ れることはできない。 i.モード#9(I) モード#9(I)で操作している期間に、I486は適切なFPGAアドレスを用い記 憶装置書込みの指示を実行し、モードのモード#13(I)への切換えを行わせる 。“Memory Write”バスサイクルがI486により開始されると、FPGAはアドレスを 認識し、I486へバスサイクル完了RDY#信号を送らない。その結果、I486はプロ グラム実行においてアドレスを行い、FPGAはHOLD信号をI486へ送り、MYK・80サ ブシステム用のすべてのバスおよびバス関連の制御信号の使用を自由にさせる。 MYK・80サブシステムが“Command Completion”信号をI486コントローラFPGAへ 送ると、FPGAは、RDY#信号を発生しそれをI486へ送ることによりI486プログラ ム実行を再開始させ、HOLD信号を解放する。MYK・80命令実行サイクルのいずれ か1つでエラーが検出されると、エラー条件が信頼ある操作者へ帰還させられる 。 エラーが発見されないと、I486コードはSEPBのモード#10(I) コードの追加の部分の実行への移行を行う。モード#9(I)からモード#10( I)へのこの移行は、適切なHALT指令を実行するI486により行われる。HALT指令 が実行されるとき、I486は、特殊なバスサイクル制御信号を送出することにより 、HALT指令が実行されたことをバスに接続される装置すべてに、警報する信号を 送出する。多重プロセッサ論理制御装置がI486がHALT指示を実行し停止操作を通 知する特殊なバスサイクル制御信号を送出したことを認識すると、多重プロセッ サ論理制御装置は非マスク可能、NMI、の信号を発生しI486へ送出する。NMI信号 の受理に応答しI486は割込み応答宛先アドレスを取込み、次位の指令をどこで実 行させるかを決定し、操作モードスイッチのモード#10(I)への切換えを行わ せる。適切な割込み応答宛先アドレスを取込むことに用いられるフラッシュROM のアドレスは表C−1および表C−2に記述される論理に従って発生させられる 。SEPBのI486のコードのパーセルも支援のMYK・80のコードもPCには見えないも のである。したがって、これらのコードパーセンのいずれもどのPC内蔵の記憶内 容の試験によっても読取られることができないものである。これらのコードパー セルはSEPBI486のフラッシュROMおよびSEPB MYK・80のフラッシュROMに記憶され ているから、これらのコードパーセルはPCに見られることのできないものであり 、どのPCの非SEPBの操作によっても変更されることができないものである。 j.モード#10(I) このコードはモード#11(I)BIOSエクステンションコードの最初のセグメン トからエンターされる。このコードは、SEPBに、信頼ある操作者のインターフェ イスプログラムへの使用者エントリからモード#11(I)のBIOSエクステンショ ンコードを通してSEPBへ送られる命令を遂行することを指示する。モード#10( I)は、命令 が直接のディスクのアクセスを要求すると、SEPBはモード#9(I)ないしモー ド#10(I)(ディスクの読取り)からモード#9(I)ないしモード#13(I )(データの点検)へ進行する点で、モード#2(I)に似ている。信頼ある操 作者がサブシステムに遂行することを要請する操作のたびごとに、モード#10( I)はハードドライブから命令を検索し、PC記憶装置の知られている場所へ置き 、次いでモード#9(I)へ進行する。モード#9(I)において、I486はMYK ・80に、記憶装置から命令を検索することを依頼する。次いでI486は命令を実行 する。かくされたSEPBのBIOSエクステンションコードの第2の部分はまた、停止 の命令の実行により終了する。HALT指令が実行されるとき、I486は、特殊なバス サイクル制御の信号を送出することにより、バスに接続される装置のすべてにHA LT指令が実行されたことを警報する信号を送出する。多重のプロセッサの論理コ ントローラが、I486がHALT指令を実行し停止の操作を通知する特殊なバスサイク ル制御信号を送出したことを認識すると、多重のプロセッサの論理コントローラ は非マスク可能な割込み、NMI、信号を発生しI486へ送る。NMI信号の受理に応答 し、I486は、割込み応答宛先アドレスを取込み、どこで次位の指令を実行させる かを決定し、操作モードのスイッチのモード#10(I)への切換えを行う。適切 な割込み応答宛先アドレスを取込むことに用いられるフラッシュROMのアドレス は、表C−1および表C−2に記述される論理に従い発生させられる。SEPBのI4 86のこのコード、支援のMYK・80コード、のいずれもPCには見えることはない。 したがってこれらのコードパーセルのいずれも、どのPCの内蔵の記憶内容試験に よっても読取られることはできない。これらのコードは、SEPB I486のフラッシ ュROMおよびSEPB MYK・80のフラッシュROMに記憶されているからPCには見えるこ とはなく、どのPCの非SEPBによって も変更されることはできない。 SEPBが信頼ある操作者のインターフェイスプログラムから受理されるメッセー ジの内容により規定される操作の遂行を完了した後、このコードは他のHALT指令 を実行する。HALT指示の実行に応答しI486は割込み応答宛先アドレスを取込み、 次位の指令をどこで実行するかを決定し、モード#11(I)への操作モードの変 更を行う。適切な割込み応答宛先アドレスを取込むことに用いられるフラッシュ ROMのアドレスは表C−1および表C−2に記述される論理に従って発生させら れる。 k.モード#11(I) このコードは信頼ある操作者インターフェイスプログラムとSEPBファームウェ アの間の連系を提供する。使用者が操作が遂行されることを要請するとき、信頼 ある操作者インターフェイスプログラムは遂行されるべき動作を記述する命令メ ッセージを公式化し、PCハードドライブ(またはRAM)の標準の場所に寄託する。 次いでプログラムのコールがなされ、プログラム系列をモード#11(I)のBIOS エクステンションコードへジャンプすることをさせる。モード#11(I)のBIOS エクステンションコードはモード#10(I)コードへの移行を行い、SEPBに、命 令メッセージを読取り、モード#9(I)へ進行し、そして要請された操作を遂 行することをさせる。 信頼ある操作者インターフェイスプログラムから受理される各命令がSEPBによ り処理された後、SEPBはこのモード#11(I)のBIOSエクステンションコードの 第2の部分へ復帰する移行を行う。このコードの実行は、実行制御を信頼ある操 作者インターフェイスプログラムへ移行させる帰還指令の実行により終了する。 SEPBのBIOSエクステンションコードのこのパーセルはPCには見られることができ るのであり、任意のPCの内蔵記憶装置内容試験プログラム、例えば 、DOSデバッグ機能のようなプログラム、により読取られることができる。しか し、このコードはSEPB I486のフラッシュROMに記憶されているから、このコード はどのPCの非SEPBの操作によっても変更されることはできない。 1.モード#13(I) モード#13(I)においては、I486はプログラムの実行は行わない。むしろ、 FPGA論理へマップされるアドレスが進行の前に完了すべきものとして、記憶装置 書込み操作を待機している。I486により命令される操作を遂行するようSEPBのMY K・80サブシステムがコードを実行するのは、この期間においてである。SEPBコ ードのこのパーセルはPCには見えるものではなく、どのPCの内蔵の試験プログラ ムによっても読取られることはできない。このコードはPCには見えるものではな く、SEPB I486のフラッシュROMに記憶されているから、どのPCの非SEPBの操作に よっても変更されることはできない。 m.モード#15(I)・パワーオン このモードはハードリセットの信号が発生されるときはいつでも、例えばパワ ーオンのとき、または操作者がPCの制御パネル上のリセットのボタンを押下する ときにエンターされる。このモードにエンターするにあたり、多重プロセッサの 論理制御装置は信号を発生し、リセットの信号が不活性化された直後に多重プロ セッサ論理制御装置は信号を発生し、I486に内蔵自己試験、BIST、の操作を遂行 させる。その代りに、MYK・80は、リセット信号が不活性になった後に自動的に 内蔵の自己試験を遂行するよう構成される。I486が内蔵自己試験の操作を完了し た後(ここに該操作はMYK・80が内蔵自己試験操作を完了させ、SEPBファームウ ェアの最初のセグメントを進行させSEPBのハードウェアおよび記憶装置、次いで モード#0(M)への移行を試験し、そして多重プロセッサ論理制御装置にクロ ックを停止させるに要するより長い時間を要する)、I486はSEPBのフラッシュRO Mに記憶されているコードを実行することを開始する。正常には、I486はPCのシ ステム初期化コードの最初の部分を記憶アドレスOXFFFFFFFOから取込むことによ りコードの実行を開始することが可能である。SEPBが存在するとして、多重のプ ロセッサの論理制御装置はコード取込み操作を再指示し、このコードをI486のSE PBフラッシュROMにおけるSEPB I486パワーオンのコード記憶装置から獲得する。 このコードのパーセルの4つの二重ワードはモード#0(I)用のコードのエ ントリポイントへのジャンプからなる。ジャンプが行われると、コントロールス テートマシンのモードはモード#0(I)へ変化する。SEPBのこのパーセルはPC には見えるものではなく、どのPCの内蔵記憶装置内容試験プログラムによっても 読取られることはできない。該パーセルはまたSEPB I486のフラッシュROMに記憶 され、それによりどのPCにもとづくプログラムによっても変更されることはでき ない。 非マスク可能の割込みアドレス発生 I486コントローラはアドレスを発生する論理を包含し、該アドレスはI486のフ ラッシュROMへ送られ割込み応答ベクトルを読取る。このアドレスは、5つの相 異なる部分から構成され、8ビットの長さである。I486により発生される6個の 最下位アドレスビットのうち最上位の4個は、アドレスビット0ないし3として 、あらゆる場合に、フラッシュROMへ直接に送出される。これはあらゆる場合に ついてでありしたがってこの場合には2に等しい。I486のプログラムまたはハー ドウェアにより発生させられる2つの最下位アドレスビットは復号され記憶装置 用の4バイトの選択信号を形成する。この操作は二重ワードの読取り操作である から、これらの信号はすべ て活性の状態にされる。 アドレスビットの第2の群、すなわちビット4ないし7、は、I486が割込み応 答宛先アドレスを読取りつつあるときを除き、I486プログラムにより発生される アドレスビット6ないし9に等しい。この後者の場合において、これらの4つの ビットは、BIOSエクステンションアドレスとしてSEPB内へプログラムされる値に 等しいよう設定される。フラッシュアドレスビット6はBIOSエクステンションア ドレススイッチ0等の設定に等しい。 割込み応答宛先アドレス読取り操作として、アドレスビットの第3の群、すな わちビット8ないし10は、HALTバスサイクルがI486により発生される前に取込ま れる最後の指令の、I486プログラムにより発生されるアドレスビット10ないし12 に等しいよう設定される。これらのビットは、8個の割込み、すなわちコードの 各パーセル内のHALT指令の実行、についての応答を発生させる。これらはI486に より発生されるアドレスビットから、たとえアドレス空間がコードの各パーセル について必ずしも同じでなくても、4または8であるよう、導出される。このこ とは、コードのそのパーセルについて、アドレス空間の8分の1の各々において 、ベクトルの数が1に制限されねばならぬことを意味する。表C−1はSEPBI486 の論理内に構成される組合せのすべてを表示する。 I486のフラッシュROMに送られるアドレスの次位の最上位の3ビットは、I486 コントローラが発生するモード移行情報の符号化である。個々の値は、フラッシ ュROMアドレスのこれらの3ビットについて、どのモードの上で論理が操作され ているか、およびNMIを遂行する結果としてどのモードへ論理が移行するか、に 依存して、発生させられる。表C−2はフラッシュROMアドレスビットを発生さ せることに用いられる論理を記述する。 残余のフラッシュROMのアドレスビットは、割込み応答宛先アドレス読取り操 作の期間にフラッシュROMのアドレスビット14は0に等しく、ビット15は1に等 しく、そしてビット16は0に等しいよう、導線結線されている。 操作の概観 本明細書の主題の安全保障性能が向上させられたプロセッサボー ド、すなわちSEPB、は積極的なソフトウェア形態の制御をもつパーソナルコンピ ュータおよびサーバを提供する。本明細書に示される実施例においては、SEPBは Intel 80486(I486)を使用するIntel XPressシャーシのパーソナルコンピュータ に搭載され、PCの要素の自動的な、および使用者の要請による、検証を提供する 。 操作において、SEPBはホストPCがオン状態に切換えられたときに作動開始し、 ホストPCがリセットされるたびごとに作動反復する。或るI486PCとBIOSの組合せ は、電源オンによりまたはリセットボタンを押下することにより発生するハード のリセットおよびキイボード上の制御(Ctrl)、交番動作(Alt)、および抹消(De l)のキイを同時に押下することにより発生するソフトのリセットを有する。ソフ トのリセットはI486をリセットすることは行わないが、システムはその代りにシ ステム初期化の再エンターを行う。 SEPBは、システムのハードリセットのたびごとに操作サイルの、段階1を遂行 するが、該段階はSEPBがPCおよびI486の操作を取込み、I486上およびそれ自身の 要素の上でハードウェア自己試験を遂行することで開始される。ハードウェア試 験のどれか1つが不合格であると、SEPBはPCの操作すべてを停止する。ハードウ ェア試験のどれかまたは安全保障性能検証試験のいずれかに不合格であると、SE PBはPCの操作のすべてを停止させるがその態様は、PCを再開始させる唯一の方法 は、PC内でハードリセット信号を発生させその結果SEPBおよびPCのハードウェア およびファームウェアの試験、およびPCのディスクまたはRAMに内蔵されるファ イルの試験を以前のように再初期化するという態様である。 自己試験の成功裡の完了に際し、しかしPCがシステム初期化を実行することを 許容される前に、SEPBは操作の段階2を遂行する。SEPBは、このことを、SEPBフ ァームウェアをI486上で実行し、MYK・ 80に、信頼ある操作者により以前に指定されたように、SEPBのファームウェアの 部分の上でおよびPCのファームウェアの部分の上で安全保障性能の検証の試験を 遂行することを指示する、ことにより行う(下記において論じられる)。これら の安全保障性能の検証の試験のいずれかが不合格であると、SEPBはPCの操作をす べて停止させる。 PCがキイボードにより始動されるソフトリセット(制御、交番作動、およひ抹 消キイを同時に押下する操作者による)を用いてリセットされる場合、SEPBおよ びI486はリセットされることはない。その結果、SEPBの操作の段階(および段階 2のハードウェアおよびシステム初期化ファームウェア安全保障性能の検証の試 験は遂行されない。その代りに、PCのシステム初期化操作は再開始され、SEPBの 操作は操作サイクルにおいて段階3にリセットされる。 成功裡のシステム初期化に続いて、操作の段階3が遂行される。段階3はSEPB が遂行する安全保障性能検証の試験からなり、これはPCのオペレーティングシス テム(OS)のブートであり、或るPCのファイル上のものであり、PCがリセットさ れるまで行われるべきではないものであり、信頼ある操作者により以前に指定さ れたPCのオペレーティングシステム、OS、ディスクブートセクタの内容、および 他の任意のファイルである。これらの安全保障検証の試験のいずれかに不合格で あると、SEPBは以前のようにPCのすべての操作を停止させる。 すべての検証の試験に合格すると、SEPBはI486とPCの残余部分の間の接続を構 成することにより操作の段階4へ進行し、その態様はシステムがSEPBが存在しな いときにPCが遂行するであろうところのことを遂行する態様である。 信頼ある操作者のインターフェイス PCは3つの段階を進行し、アプリケーションプログラムを実行することを準備 する。段階1はハードウェアの初期化であり、該初期化はリセットとともに開始 され、代表的には内蔵の自己試験が後続する。段階2は、BIOSプログラムにより 遂行されるシステム初期化である。段階3はオペレーティングシステムのブート である。 信頼ある操作者が、SEPBのファームウェアおよびPCのファームウェアのどの要 素が、およびPCのディスクの1つに記憶されるどのファイルが、保護されるのか (そして、どの段階において各保護される要素が検証されるのか)を特定するこ とを可能にするため、信頼ある操作者のインターフェイスプログラムがSEPBに設 けられる。信頼ある操作者インターフェイスプログラムはPC上のDOSのもとで進 行するが、実行されるとき、信頼ある操作者に、どの情報ファイル(BIOS、割込 みテーブル、DOS,autoexec.bat,config.sys等)がデジタル署名(または或る 等価の修飾検出コード)で署名されるべきか、およびいつ(下記の3つの段階の うちのどの段階において)それらの署名が検証されるべきかを指定する便利な仕 組みを提供する。 第10図は、信頼ある操作者のインターフェイスプログラムにより信頼ある操作 者に提供される選択を図解する。前記の情報ファイルの各々についてクリティカ ルなプログラム区域1002が選択され、そのクリティカルなプログラム区域につい ての検証のタイミング1004が選択される。信頼ある操作者はまた、試験が自動的 にか、またはPCの操作者が始動する要請に応じ手動的に遂行されるか、を特定す ることができる。 各試験について、信頼ある操作者は下記から1つを選択することにより試験の タイミング1004を特定する。 a.試験を、SEPBの操作の段階2の一部として自動的に遂行する (ハードウェア試験が完了した後、しかし第10図におけるシステム初期化1006に 先立って) b.試験をSEPBの操作の段階3の一部として自動的に遂行する(システム初期 化の後、しかし第10図におけるオペレーティングシステムブートに先立って) c.試験を、SEPBの操作の段階4において、信頼ある操作者インターフェイス プログラムが実行されつつあり次いで第10図における信頼ある操作者(または任 意の操作者)1010により要請されたときのみ、遂行する 信頼ある操作者のインターフェイスプログラムは仕組みを提供し、その仕組み は信頼ある操作者に、以前に発生したデジタルの署名が情報ファイルの最新の形 態に対応するよう更新される、または試験されるべきファイルのリストから削除 されることを要請することを許容するという仕組みである。信頼ある操作者はま た、以前に指定された安全保障性能の検証の試験が取消されることを要請するこ とが可能であり、およびデジタルの署名を発生させ検証するためにSEPBが使用す るであろう暗号値を変更することが可能である。 信頼ある操作者は、許可された使用者の名前および新しい使用者が信頼ある操 作者のインターフェイスプログラムに対し同定するために使用する個人の識別番 号、PIN、をエンターすることにより誰かどのように信頼ある操作者の特権を有 するものとして指定されるかを制御することが可能である。信頼ある操作者はま た、以前にエンターされた使用者の名前を、この信頼ある操作者のインターフェ イスプログラム実行する可能性のあるもののリストから削除することが可能であ る。 信頼ある操作者のインターフェイスプログラムを実行することを許可されると 、使用者は、任意の不許可の使用者が付与された特権 を行使することを防止するため、いつでも彼の個人識別番号を変更することが可 能である。 システムの管理者がSEPBがファイルに署名を行うことを要請する便利な方法を 提供するために、信頼ある操作者のプログラムが、設定段階のすべてが遂行され た後に、DOSのもとに実行を行うために開発された。信頼ある操作者のプログラ ムは、9個の可能な操作のうちのどれを信頼ある操作者がSEPBに遂行することを 希望するかを決定するために、信頼ある操作者へのインターフェイスを提供する 。この情報がエンターされた後、信頼ある操作者のインターフェイスプログラム は操作用のデータをPCのハードディスク内の知られている場所に置き、標準のフ ォーマットによるメッセージをSEPB用に準備する。次いで信頼ある操作者はSEPB のBIOSエクステンションプログラムを呼出す。BIOSエクステンションプログラム はSEPB MYK・80のサブシステムがPCのRAMからデータを読取り、SEPB I486サブシ ステムに利用可能なものにすることを要請する。次いでSEPBのBIOSエクステンシ ョンプログラムおよびプライベートなI486およびMYK・80 SEPBファームウェアの かくされた部分は、適切な段階を通して、SEPBに、要請された操作を遂行するこ とを指示する。 第6図および第7図に示されるように、I486のCPUおよびMYK・80(オペレーテ ィングモードにもとづき多重のプロセッサの論理制御装置によりマップされる) は、種々のSEPBおよびPCの記憶装置のアドレスを行う相異なる記憶アドレス空間 を有する。個別の記憶アドレス空間を使用することは、PCの要素がSEPBの記憶内 容へのアクセスを行うことを防止し(BIOSエクステンションコードの小なる部分 を除く)、それによりCPUがMYK・80のテーブルへのアクセスを得ることを防止す る。同時にMYK・80は、すべてのCPUフラッシュROM内容、PCのRAMおよびROMの内 容、およびすべてのSRAMの場所 (プライベートなI486 SEPB RAMの空間を除く)へのアクセスを行うことを許容 される。多重のプロセッサの論理制御装置によりマップされるCPUおよびMYK・80 のための物理的に隔離された記憶装置のアドレス空間の使用は、I486 CPUの制御 ラインを横切りする多重プロセッサの論理制御装置の能力と組合わされ、本発明 用の共同プロセッサ配置の安全保障性能の信頼の高いレベルを提供する。 自動的に遂行されるデジタルの署名の検証の試験のいずれか1つにおける不合 格は下記の結果をもたらす。 a)システムは可聴の警報を発生する、 b)PCを遮断し、修理を待機する。 操作者の要請により遂行されるデジタルな署名の検証における不合格は、信頼 ある操作者のインターフェイスプログラムが可聴の警報を発生させることをもた らし、 c)システムのモニタ上に“不合格”のメッセージを表示する。 故障が信頼ある操作者に要請されたデジタル署名の検証の試験の遂行の期間に 発生したとき、システムは自動的に動作遮断することはないことに注意すべきで ある。 その代りに、信頼ある操作者インターフェイスプログラムは、操作者からのさ らなる入力を待機している間は、実行を継続する。 操作 第2図および第3図に示されるように、SEPB上のマイクロプロセッサのサブシ ステムはパワー・オン/リセットモードにおいて操作を最初に開始するのであり 、I486サブシステム(第2図)はモード#15(I)において作動し、MYK・80サ ブシステム(第3図)はモード#3(M)において作動する。I486サブシステム はI486に内蔵の自己試験(BIST)を遂行させることにより操作を開始する。同時 に、MYK・80サブシステムは操作を開始し、その場合にMYK・80に 内蔵されるARM 6マイクロプロセッサは自己内蔵の自己試験を実行し、それに自 動的に引続きサブシステムの要素を試験する或るプログラムセグメントを実行し 、次いでプログラム要素の幾つかをMFROM28(第1図)からSRAM 26へコピイする ことによりSRAM 26(第1図)を初期化する。次いでMYK・80プログラムは、モー ド#0(M)へ移行することにより不活性化し、I486サブシステムがモード#1 (M)へ移行する前に或る操作を遂行することを命令するまでこのモードで待機 し、そして再び活性になるよう命令する。 I486がBISTサイクルを完了すると、I486はモード#0(I)へ移行しシステム 検証の操作を開始させる。遂行する最初の操作はSRAM 26内に命令メッセージを ポストすることである。命令メッセージのポストすることを行って、I486はシス テム間レベルの命令を実行するが、該命令はI486サブシステムを不活性化し、モ ード#4(I)への移行を行い、モード#0(M)からモード#1(M)への移 行を行うことによりMYK・80サブシステムを活性化する。 モード#1(M)の期間に、MYK・80サブシステムはプログラムを実行するが 、該プログラムはMYK・80にソフトウェア割込み、SWI、を送り、内部自己試験サ イクル、すなわちMYK・80自己試験(STEST)の操作を遂行することを命令する。MY K・80が任意の内部操作を遂行するために割込みを行われると、サブシステムは モード#2(M)へ移行し、プロセッサのアドレスバスおよびプロセッサデータ バスへのすべての接続を高インピーダンス状態にする。 MYK・80がSTEST操作を完了した後、MYK・80はサブシステムがモード#1(M )へ復帰移行するようにさせる。このモードの期間において、サブシステムはAR M 6一般用レジスタの1つからSTEST操作の結果を読取り、該結果をSRAM 26の標 準の場所へポストし、I486が読取るようにする。MYK・80は、サブシステムを不 活性化す るサブシステム間レベルの命令を実行し、モード#0(M)への移行を行わせる ことにより操作のこのサイクルを完了し、モード#0(I)への移行を行うこと によりI486サブシステムを活性化する。 MYK・80 STEST操作の結果が故障を表示するときは、I486は、サブシステムに モード#7(I)への移行を行わせ、可聴の警報を発出させ、次いでモード#6 (I)へ移行させ、I486の動作遮断の命令を実行させることにより動作遮断の操 作を実行する。 MYK・80 STEST操作の結果がそのサイクルが成功裡に完了したことをあらわす と、I486はSEPBを継続する。 BIOS初期化に先立つ操作 MYK・80自己試験の成功裡の完了に引続き、I486はPCの読取り専用記憶装置 の内容を検証することを可能にする操作を開始する。この操作のためにSEPBのサ ブシステムはモード#0(I)においてファームウェアを実行する。 この操作を指示するため、I486はフラッシュROM 30内にテーブルを維持する。 テーブルAはSEPBのROMおよびPCのROMのセクションを記述するエントリを包含す るが、このエントリのためにデジタルの署名が事前に発生させられる。ハッシン グおよびサイニングはMYK・80により遂行され、MYK・80が維持するテーブルにお ける発生させられた署名の値はフラッシュROMに記憶されている。SEPBのROM内容 およびPCのROMの内容の、これらの同じセクションは再びハッシュされ、次いでP Cのシステム初期化に先立ちMYK・80によるデジタル署名検証試験を進行させ、そ の場合に、ROMの内容がサインされるとき署名の値は創出される署名の値と比較 される。 (本明細書におけるSEPBの実施形態においては、MYK・80のフラッシュROMには 、デジタル署名テーブルエントリの記憶用には1つだけのテーブルが存在する。 各エントリの寸法およびこのテーブル を1つだけのフラッシュROMのセクタに制限する必要性のために、このシステム は最大で300の署名を有することに制限される。さらに、SRAMの空間制限のため に最大のファイル寸法は65KBに制限される。より大なるファイルを取扱うようシ ステムを拡大するために、MYK・80のファームウェアに幾つかの変更がなされた 。そのうちの1つはファイルの比較的小なるセクションについて遂行される安全 保障のハッシュ値を発生させることを有し、操作のセグメントを連系し全体のフ ァイルについて1つのものにすることを行う。このことはデジタルの署名の最大 の数を減少させ、1つの署名テーブルについて300より相当に小なる数に維持さ れることが可能である。この制限を克服するため、3つのデジタルの署名テーブ ルを使用すること、Aテーブルテスト用に1つ、Bテーブルテスト用に1つ、そ してCテーブルテスト用に1つ、を使用することへ変更することが示唆され、審 理され、それが満足な、容易実施可能なものであることが見出されたのであり、 このことはI486のフラッシュROMとMYK・80用のフラッシュROMが組合わされて統 合されたSEPBのフラッシュROMにされる場合であってものことである。) MYK・80を呼出し任意のデジタルシグネチャ検証の操作を遂行させるに先立 って、I486はSRAM 26の固有の場所に適切な命令メッセージをポストする。命令 メッセージをポストした後、I486はサブシステムを不活性化するサブシステム間 レベルの命令を実行し、モード#1(M)への移行を行わせ、モード#1(M) への移行を行わせることによりMYK・80サブシステムを活性化する。デジタル署 名検証の試験を遂行するため、MYK・80は2つの操作を遂行するよう命令されね ばならぬ。第1のものは、共通の操作Verify Setupであり、これはSEPB暗号化の 値のコピイをMYK・80のフラッシュROMからMYK・80の内部RAMへ転送するものであ り、このことの結果は、 SEPBがリセットされるまでまたは他の検証セットアップ操作が遂行されるまで1 つまたはそれ以上の後続のデジタルシグネチャ検証試験のために用いられる。 モード#1(M)の期間において、検証セットアップ操作について、MYK・80 サブシステムはプログラムを実行するが、該プログラムは暗号化の値をフラッシ ュROM 28からコピイし、SRAM 26の標準の区域に置くものである。次いでMYK・80 サブシステムはソフトウェア割込み、SWI、をMYK・80に送り、負荷暗号化値、DS SP、の操作を遂行することを命令する。MYK・80がこの内部操作を遂行するよう 割込みを行われると、サブシステムはモード#2(M)へ移行し、プロセッサア ドレスバスおよびプロセッサデータバスへの接続のすべてを高インピーダンス状 態に置く。暗号化操作が完了した後、MYK・80サブシステムはモード#1(M) へ復帰し、ARM6の一般的レジスタの1つからのDSSPの操作の結果をコピイし、 結果をSRAMの標準の場所にポストしI486が読取りを行うようにする。MYK・80は 、サブシステムを不活性化するサブシステム間レベルの命令を実行することによ り操作のこのサイクルを完了し、モード#0(M)への移行を行わせ、モード# 0(I)への移行を行うことによりI4S6サブシステムを活性化する。 デジタル署名の検証の操作を遂行するため、I486は適切な命令メッセージを、 SRAM 26の固有の場所にポストする。命令メッセージをポストした後、I486はサ ブシステムを不活性化するサブシステム間レベルの命令を実行し、モード#4( I)への移行を行い、モード#1(M)への移行を行うことによりMYK・80サブ システムを活性化する。次いでMYK・80はPCの記憶装置からファイルの現在の内 容を読取り、SRAM 26の標準の区域へ置く。次いでMYK・80のファームウェアはソ フトウェア割込み、SWI、をMYK・80へ送り、安全 保障のハッシュ(SHA)暗号化操作を行うよう命令する。MYK・80がこの内部操作を 遂行するため割込みが行われると、サブシステムはモード#2(M)への移行を 行い、プロセッサアドレスバスおよびプロセッサデータバスへのすべての接続を 高インピーダンス状態に置く。 MYK・80がSHA操作を完了した後、デジタル署名検証の操作を遂行しているとき 、MYK・80はサブシステムにモード#1(M)へ復帰移行するようにさせる。こ のモードにおいて、サブシステムはSHA操作の結果を読取り更新されたハッシュ 値を送り、それとともにファイルの以前に発生させられたデジタルの署名の値お よびMYK・80に対するデジタル署名を発生させるに用いられる同じ暗号化値から 発生させられる暗号化鍵の公開成分ybを送る。次いでMYK・80はデジタル署名検 証DSVER暗号化操作を実行し入力シグネチャを検証するよう命令される。次いでM YK・80ファームウェアはソフトウェア割込みSWIをMYK・80へ送り、DSVER操作を 遂行するよう命令する。MYK・80がこの内部操作を遂行するため割込みを行われ ているとき、サブシステムはモード#2(M)への移行を行いプロセッサアドレ スバスおよびプロセッサデータバスへの接続を高インピーダンス状態に置く。次 いで試験の結果はI486の読取り動作のためSRAM 26の標準の場所へポストされる 。MYK・80は、サブシステムを不活性化しモード#0(M)への移行を行うサブ システム間レベルの命令を実行することにより操作のこのサイクルを完了し、モ ード#0(I)への移行を行うことによりI486サブシステムを活性化する。 MYK・80デジタル署名検証試験の操作の結果が不合格を表示すると、I486は可 聴の警報音を発出し次いでサブシステムにモード#7(I)へ次いでモード#6 (I)へ移行するようにさせることによ り動作遮断の操作を実行する。この後者のモードにおいてI486は動作遮断され、 パワーオフ次いで再びパワーオンとサイクルすることによりまたは使用者がPCの リセットボタンを押下することにより、PCシステムがリセットされるまでI486は その状態を維持する。 MYK・80の検証の操作がサイクルが成功裡に完了したことを表示すると、I486 はSEPB操作を継続する。 I486のテーブルAのエントリの各々が成功裡に処理された後、I486はテーブル を検査し、PCのシステム初期化の前に検証されるべきファイルを記述する他のエ ントリが存在するかどうかを決定する。他のエントリが存在すると、I486は新し い命令メッセージをポストする以前の操作を反復し、検証されるべきファイルを SRAM 26の適切な場所に記述する。次いでI486は以前のようにMYK・80を呼出し、 デジタル署名の検証の操作を遂行し、結果をSRAM 26の標準の場所へポストしI48 6が読取りを行うようにする。 テーブルAに検証されるべきそれ以上のエントリが存在しないと、I486は、モ ード#0(I)の操作を終了させモード#3(I)への移行を行う。モード#3 (I)において、I486はPCに接続され、操作はSEPBにとって透明である。 I486がモード#3(I)へのこの移行を行うと、SEPBが存在しなければパワー オンリセットの後にそうなるであろうと同じ態様でPCのROMのエンターを行う。 すなわち、I486により遂行される最初の操作は、アドレスOXFFFFFFFOから実行し 次いでBIOSのシステム初期化ファームウェアを実行することへ進行する指令を取 込む操作である。 システムの多くにおいて、システム初期化のROM(フラッシュROMまたはEEPROM) の内容は圧縮されている。システムが初期化されると、BIOSはPCのRAMへ拡大さ れそこからの実行を行うようにする。 もしあなたが初期化の前にシステム初期化へのアドレスを行えば、あなたはROM の内容であるコードの圧縮された形式を見ることになるであろう。もしあなたが 初期化の後にシステム初期化へのアドレスを行えば、あなたはPCのRAMの内容で ある拡大されたコードを見ることになるであろう。もしあなたがそうあるべきで あるように初期化の後にシステム初期化コードにサインし次いで初期化の前にコ ードを試験するならば、試験は常に不合格であろう。試験がレベルAについてシ ステムの要素のサインを行うことを通過させるためには、試験は、試験が進行さ せられるところにおいて遂行されねばならぬ。SEPBは、信頼ある操作者サイン命 令の情報をI486のフラッシュROMに記憶させ次いでTOがシステムをリセットしレ ベルAにおいて試験されるべき要素のために固有の署名の発生を行わせることを 主張するよう修正されている。 レベルAまたはレベルBにおけるシステム要素の試験への不合格が存在すれば 、システムはブートしない。システムをリセットすることは、同じ動作遮断をも たらし、TOに問題を訂正する能力を与えない。この問題に対処するため、SEPBは バイパスのジャンパを有するが、これは2次の位置に置かれたとき、システムが レベルAとレベルBの両方の試験をバイパスしOSをブートすることを許容するも のである。この操作を遂行しているのはTOであることを確実化するために、SEPB はレベルBの試験を、TOの使用者名前およびPINを検証する試験で置換する。ジ ャンパが正確な場所にありTOが適切に識別されると、システムはブートしTOイン ターフェイスプログラムが進行しTOに問題を解決する機会を与えることを許容す る。 (或る暗号化の操作、通常は出力を発生しないもの例えばDSSP,Verify Setup 等、について、MYK・80はARM 6の一般的レジスタに合格/不合格の表示を有し ない。この場合に、SEPBは擬似的な合格 /不合格の表示を発生させるが、これはファームウェアのこのセクションの実行 が成功裡に完了したことを表示するだけである。) システム初期化からSEPB操作への復帰移行 PCがシステム初期化を完了した後操作の正常の経路はオペレーティングシステ ムをロードすることであることが可能である。信頼あるコンピュータシステムに ついて、オペレーティングシステムは、システムが操作者により使用されること を許容することに先立ち、PCのROMの内容について以前に遂行されたものと同様 に、検証の操作の支配を受けるべきである。しかし、オペレーティングシステム 検証の操作を遂行することは、システム初期化が完了した後に、しかしOSブート に先立って、PCがSEPBにより“再捕捉される”ことを必要とする。 PCシステムにおいては、システム初期化コードは、実行のサイクルの終末の近 傍において、PCの記憶装置の選択された場所、アドレス、COOOOhないしDFFFFh、 の内容を点検し、PCにおいて、ファームウェアがそれ自身の独特のI/Oサービ ス操作を提供することによりシステムBIOSを延長させる任意の装置が存在するか 否かを決定する。システムBIOSのそのような延長は、システム初期化コードによ り検出されるが、その場合に、PCの記憶装置の装置についてのアドレス間の各2 KBのセグメントの始めにおける各二重ワードの内容を読み、標準の規約に従って いるかどうかを見るために点検する。システム初期化のファームウェアがこれら の装置の1つを見出すと、実行制御は、そのコードへ進行させられる。このコー ドが実行されると、I/O装置はセットアップされ、PCのシステムにおけるエン トリのすべてが発生させられ固有の場所に記憶される。このコードの実行が完了 した後、実行制御はシステム初期化コードへ復帰進行するが、システム初期化コ ードはBIOSエクステンション装置につい ての探索を継続する。すべてのBIOSエクステンションが検出されセットアップさ れた後、実行制御はOSブートの過程へ規定された態様で移行させられる。 SEPBのフラッシュROMに記憶されているプログラムは、PCには、BIOSエクステ ンション装置のようにみえる。SEPB BIOSエクステンションコードがシステム初 期化について実行を行うと、他のSEPBファームウェアへの移行を遂行し、追加の デジタル署名検証試験、例えばオペレーティングシステムのブートセクタにおけ るようなもの、が遂行されるべきか否かを決定する。この移行はI486サブシステ ムの操作をモード#3(I)からモード#(I)へ切換えることを行わさせる。 モード#2(I)は、この場合においては単にブリッジである。 モード#1(I)における作動の期間に、I486は試験が進行させられるべきか 否か、およびシステムのどこに試験されるべき情報が存在するかを決定する。試 験がシステムのディスクの1つに存在するファイルの内容について行われるべき であると、I486サブシステムはBIOSエクステンションのモード#2(I)のかく れた部分への移行を行うが、1つはPCからは見られることができないが、1つは PCがディスクを読む操作を遂行しファイルをPCのRAM内へ置くことを命令するこ とができるものである。この移行は、データを試験するためモード#1(I)へ の復帰切換えが行われるようにさせる。 SEPBファームウェアは独特の技法を用い、I486の実行サイクルにおける、SEPB プログラムであるモード#1(I)プログラムの実行から、可視のまたはかくれ たBIOSエクステンションプログラムであるモード#3(I)またはモード#2( I)のプログラムの実行への希望される移行を行う。この仕組みは、I486がSEPB のフラッシュ記憶装置に記憶されるプログラムにおけるHaltの指令を実行するこ とにより活性化される。Haltの指令が実行されることに応答しSEPBの論理はI486 サブシステムの作動モードを希望されるように変更し次いで非マスク可能の割込 み、NMI、の信号を送出しプログラムの実行を再開させる。 NMI信号の受理に応答しI486は割込み応答ベクトル取込みの操作を遂行する。 正常のPCの操作においては、I486により取込まれるべクトルはPCのRAMから場所 8hにおいて読取られることが可能である。SEPBシステムにおいては、Haltの指 令がSEPBプログラムにより実行されると、割込み応答ベクトルがSEPB I486サブ システムのフラッシュROM内の適切な場所から取出される。NMI信号に応答し、I4 86は8hのアドレスを発生させるが、該アドレスをもって基準の記憶装置に対し 割込みのベクトルを得る。このアドレスは正常には、割込みベクトルのテーブル に関係し、該アドレスはシステム初期化の期間にBIOSによりRAMの最下位のバイ トに置かれる。割込みベクトルを取込むI486のバスサイクルは、ハードウェア制 御のもとに特殊のバスサイクルとして生起する。 SEPBが、NMI信号が発生するようにさせるhaltの指示がSEPB I486サブシステム のフラッシュROMから実行されたことを認識すると、割込み応答サイクルのI486 により発生させられるアドレスを修正し、I486フラッシュROMテーブル空間、ア ドレス2008hないし2F008h、における場所の幾つかのうちの1つを指示するよう にさせる。SEPBハードウェアにより発生させられるアドレスは、I486ファームウ ェアの実行、I486サブシステムの作動モード、およびSEPBのBIOSエクステンショ ンアドレスから取出される種々の情報を使用することにより形成されるが、これ ら種々の情報は、SEPBのファームウェアの実行を再開始する固有のアドレスを得 るためのものである。 割込み応答ベクトルは、コードセグメント数とオフセット数とい う一対の数を包含するが、該一対の数はI486が、これら2つの数を適切に組合せ ることにより創出されるアドレスに記憶される指令を取込むことにより操作を方 向変更することに使用するものである。SEPBがプログラムの移行を行っていると き、次位の指令は、SEPBのフラッシュROMコードの記憶セグメントにおける固有 の場所から取込まれる。 BIOS初期化の後であるがしかしOSブートに先立つ操作 操作のSEPBファームウェアへの復帰移行に引続き、I486はPCのソフトウェア/ ファームウェアを検証する操作を再開始する。これらの操作についてSEPBのI486 サブシステムはファームウェアをモード#1(I)において実行する。 これらの操作を指示するために、I486はフラッシュROMにおける第2の表、テ ーブルBを維持するが、該テーブルBは項目、例えばPCのOSディスクブートセク ターの内容およびこの時点で検証されるべき任意の他のPC情報等、を記述するエ ントリを包含する。これらのもののすべてはデジタルの署名を有し、該署名は前 記される同じMYK・80テーブルに記憶される発生したデジタルの署名の値をもつM YK・80により以前に発生させられている。PCのディスクのこれらの同じセクショ ン、ROMおよびRAMの内容はPCシステムの初期化に先立ってMYK・80により点検さ れることになっているが、この点検はROMおよびRAMの内容が、内容がサインされ たときに作られた値と同じデジタルの署名の値をいまだに有していることを確認 するためのものである。 MYK・80を呼出してデジタル署名の検証の操作を遂行させるに先立って、I486 はSRAM 26の固有の場所に適切な命令メッセージをポストする。命令をポストし た後、I486はサブシステム間レベルの命令を実行するが、該サブシステム間レベ ルの命令はサブシステムを 不活性化し、モード#5(I)への移行を行わせ、モード#1(M)への移行を 行わせることによりMYK・80サブシステムを活性化するものである。 モード#1(M)の期間において、MYK・80サブシステムはプログラムを実行 するが、該プログラムはソフトウェア割込み、SWI、をMYK・80に送り安全保障の ハッシュ暗号化の操作を遂行することを命令するものである。MYK・80が任意の 内部操作を遂行するよう割込みを行われるとき、サブシステムはモード#2(M )への移行を行いプロセッサアドレスバスおよびプロセッサデータバスへの接続 のすべてを高インピーダンスの状態に置く。 デジタル署名の検証 デジタル署名の検証の操作を遂行するために、I486はSRAM 26の固有の場所に 適切な命令のメッセージをポストする。命令のメッセージをポストした後、I486 はサブシステム間レベルの命令を実行するが、このサブシステム間レベルの命令 は、サブシステムを不活性化し、モード#5(I)への移行を行い、モード#1 (M)への移行を行うことによりMYK・80サブシステムを活性化するものである 。次いでMYK・80はPCの記憶装置からファイルの現在の内容を読取りSRAM 26の標 準の区域へ置く。次いでMYK・80ファームウェアはソフトウェア割込み、SWI、を MYK・80に送り安全保障のハッシュ、SHA、暗号化操作を遂行するよう命令する。 MYK・80がこの内部操作を遂行するため割込みが行われると、サブシステムはモ ード#2(M)への移行を行い、プロセッサアドレスバスおよびプロセッサデー タバスへの接続のすべてを高インピーダンス状態に置く。 MYK・80がSHA操作を完了した後、デジタル署名の検証の操作を遂行している とき、サブシステムにモード#1(M)への復帰移行を行うようにさせる。この モードの期間において、サブシステムは SHA操作の結果を読取り更新されたハッシュ値を送出し、それとともにファイル の以前に発生させられたデジタル署名の値およびMYK・80へのデジタル署名を発 生させるに用いられる同じ暗号化の値から発生させられる暗号鍵の公開成分を送 出する。次いでMYK・80はデジタル署名の検証、DSVER、暗号化操作を実行するよ う命令され入力された署名を検証する。次いでMYK・80ファームウェアはソフト ウェア割込み、SWI、をMYK・80へ送りDSVER操作を遂行することを命令する。MYK ・80がこの内部操作を遂行するために、割込みが行われると、サブシステムはモ ード#2(M)への移行を行い、プロセッサアドレスバスおよびプロセッサデー タバスへの接続のすべてを高インピーダンスの状態に置く。次いで試験の結果が SRAMの標準の場所へポストされI486が読取りを行う。MYK・80はサブシステム間 レベルの命令を実行することにより操作のこのサイクルを完了するが、この命令 はサブシステムを不活性化し、モード#0(M)への移行を行わせ、モード#1 (I)への移行を行うことによりI486サブシステムを活性化するものである。 MYK・80のデジタル署名検証試験の操作が不合格を示すと、I486は可聴の警報 音を発出し次いでサブシステムをモード#7(I)への移行を行わせ、次いでモ ード#6(I)への移行を行わせることにより動作遮断の操作を実行する。この 後者のモードにおいて、I486は動作遮断し、その状態が、パワーオフ次いで再び パワーオンとサイクルすることにより、または使用者がPCのリセットボタンを押 下することにより、PCのシステムがリセットされるまで維持される。 MYK・80の検証操作の結果がサイクルは成功裡に完了したことを示すときは、I 486はSEPB操作を継続する。 I486のテーブルBの各エントリが成功裡に処理された後、I486は テーブルを調査し、PCのOSのブートの前に検証されるべきファイルを記述する他 のエントリが存在するか否かを決定する。他のエントリが存在すると、I486はSR AM 26の固有の場所に新しい命令のメッセージをポストする以前の操作を反復し 検証されるべきファイルを記述する。次いでI486は前記のようにMYK・80を呼出 し検証の操作を遂行し結果をSRAM 26の固有の場所にポストする。ディスクの読 取りが必要であるときは、コントローラはモード#2(I)へ進行し読取りを行 い、そしてモード#1(I)は復帰進行しデータの試験を行う。 テーブルBに検証されるべきそれ以上のエントリが存在しないときは、I486は モード#1(I)の操作を終了し、モード#2(I)を通って、モード#11(I )への移行を行う。モード#11(I)においてI486はPCの操作への復帰を実行す るが、操作はSEPBに対して透明である。すなわち、正常のPCのOSの機能は使用者 に利用可能である。 ファイルを署名するためのPCおよびSEPBの操作 個別のプログラムは、操作者がファイルを署名しその検証を後続の作動開始の すべての過程の一部として包含させるための便利な仕組みを提供する。このプロ グラムの実行が開始されると、SEPBのI486のサブシステムはモード#11(I)に おいて作動する。進行の命令のエントリに引続き、プログラムは信頼ある操作者 と通信する。 BIOSエクステンション割込みの方法 目標は、システムのBIOSがハードウェアを初期化した後、しかもオペレーティ ングシステムをブートするより前に、PCを捕捉することである。その時点で、シ ステムBIOSはBIOSエクステンションの探索を遂行する。1つが発見されると、そ のBIOSへの呼出しが行われ、それによりそれの初期化を行うことができる。BIOS エクステンシ ョンが完了した後、PCがシステムBIOSへ復帰するよう作動する。 SEPBのBIOSエクステンションを有するPCのエクステンションバスへボードを追 加するよりむしろ、好適な技法は、SEPB論理にBIOSエクステンションのアドレス を割当て、BIOSエクステンションを探索するときI486 CPUの読取り要請を監視さ せることである。このことのために、SEPBは、設置者がSEPB用に不使用の標準の BIOSエクステンションアドレスを選択することを許容するための一組のスイッチ を有する。その代りに、システム初期化が進行しているときSEPBが不使用のBIOS エクステンションアドレスを発見し次いで不使用のBIOSエクステンションアドレ スに自動的に設置するようプログラムすることにより、スイッチを廃止すること ができる。 システムのBIOSはSEPBのBIOSエクステンションを発見した後、ファームウェア を実行しSEPBを初期化する。この初期化は、SEPBがOSのブートセクターをハード ディスクから読取り検証する時点である。 すべての場合において、BIOSエクステンションソフトウェアが実行されるとき 、SEPBファームウェアへのアクセスを得る前に使用される同じ停止/割込みの技 術を使用する。停止/割込みの操作がSEPBにより命令されるときは、コードはSE PBのフラッシュROMから取込まれている。状態の情報のこの組合せは、OSブート セクタ検証の操作、ファイル検証の操作または信頼ある操作者により要請される 操作を遂行するため、SEPBがSEPBモード#1(I)への移行を許容する。 したがって、本発明によるシステムおよび方法は信頼性あるコンピュータの環 境を提供する。システムがオンにされまたはリセットされるときいつでもソフト ウェアおよびファームウェアの要素すべてが署名されたときと同じ署名を有する ことを主張することにより 、要素に不許可の変更を行おうとする試みは、そのような変更のどれもがシステ ムの操作に影響を与えることができる前に検出される。CPUへの制御信号の或る ものを横取りし置換することにより、本発明の仕組みは、信頼のないソフトウェ アが進行する機会をもつことはないことを提供する。システムソフトウェアは諸 段階において検証されるから、CPUは検証されたシステムソフトウェアの一層よ り多くを進行されることが許容される。 デジタル署名検証の試験の各サイクルが遂行され合格した後、SEPBの論理はI4 86とホストPCの残余部分の間の接続を、ホストPCシステムがちょうどSEPBが存在 しないとき遂行するような態様であるよう、構成する。デジタル署名検証試験の サイクルのいずれか1つにおいて試験された要素の1つが不合格であると、SEPB はそれ自身およびホストPCについて、すべての操作を停止させる。自己試験、デ ジタル署名検証試験、およびSEPBにより遂行されるシステム制御、の操作のすべ ては使用者への通知なしにそのように行われ正常のPCの初期化およびブートの操 作の一部であるようにみえる。この態様で、ホストのPCのシステムは、ファーム ウェアおよびソフトウェアの要素のすべてが固有の形態に復帰し信頼あるコンピ ュータシステムにするまでは、どのような目的のためにも(信頼ある操作者によ る修理を除き)使用されることはできない。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),JP,KR (72)発明者 アッカーマン,ウイリアム エイチ.ザ サード アメリカ合衆国,ニュージャージー 08033,サマーデール,セダー アベニュ 309

Claims (1)

  1. 【特許請求の範囲】 1.コンピュータシステムの安全保障性能を向上させる方法であって、該コン ピュータシステムは記憶装置と中央プロセッサ装置を包含し、該中央プロセッサ 装置はそれぞれのアドレス信号、データ信号、およびそれらに結合される複数の 制御信号を有し、第1の制御信号ラインを包含する制御信号ラインのそれぞれの 複数の上において該中央プロセッサ装置へおよびそれから提供される該複数の制 御信号は該複数の制御信号ラインの1つであり、該コンピュータシステムは該記 憶装置に記憶される少くとも1つのクリティカルなプログラム区域を有し、該方 法は、 該中央プロセッサ装置からの該第1の制御信号ラインを非接続にし、それによ り該第1の制御信号を実質的に横取りし、 該第1の制御信号ラインに該第2の制御信号をさしはさむことにより、該第1 の制御信号を該中央プロセッサ装置へおよびそれからの第2の制御信号で置換し 、 該記憶装置における該クリティカルなプログラム区域を検証し、そして、 該クリティカルなプログラム区域が検証されると、該第1の制御信号ラインを 該中央プロセッサ装置へ再接続する、 コンピュータシステムの安全保障性能を向上させる方法。 2.該クリティカルなプログラムの区域は入出力システム(BIOS)である、請 求の範囲1記載の方法。 3.該クリティカルなプログラムの区域は割込みベクトルアドレスのテーブル である、請求の範囲1記載の方法。 4.該クリティカルなプログラムの区域はオペレイティングシステム(DOS)で ある、請求の範囲1記載の方法。 5.該クリティカルなプログラムの区域は作動開始時の自動的な実行(autoexe c・bat)のファイルである。請求の範囲1記載の方法。 6.該クリティカルなプログラムの区域はシステム形態制御(config・sys)の ファイルである、請求項1記載の方法。 7.該クリティカルなプログラムの区域は信頼あるオペレータにより特定され るプログラムまたはデータの区域である、請求項1記載の方法。 8.該コンピュータのシステムは複数のプログラムの区域を有し、第2のクリ ティカルなプログラムの区域は該クリティカルなプログラムの区域が検証された 後に検証される、請求の範囲1記載の方法。 9.該第2のクリティカルなプログラムの区域は割込みのベクトルアドレスの テーブルである、請求の範囲8記載の方法。 10.該第2のクリティカルなプログラムの区域はオペレイティングシステム(D OS)である、請求の範囲8記載の方法。 11.該第2のクリティカルなプログラムの区域は作動開始時に自動的に実行(a utoexec・bat)を行うファイルである、請求の範囲8記載の方法。 12.該第2のクリティカルなプログラムの区域はシステム形態の制御(config ・sys)のファイルである、請求の範囲8記載の方法。 13.該第2のクリティカルなプログラムの区域は信頼ある操作者により特定さ れるプログラムまたはデータの区域である、請求の範囲8記載の方法。 14.該コンピュータのシステムは、アプリケーションプログラムを実行するよ う準備を行う3つの段階を通り、第1の段階はハードウェアに組込まれている自 己試験であり、第2の段階は入出力(BI OS)のプログラムシステムの初期化であり、第3の段階はオペレーティングシス テムをブートすることであり、 該方法は、該ハードウェアが自己試験の段階に組込まれた後該バイオス(BIOS )プログラムシステムの初期化に先立ち該クリティカルなプログラムの区域を検 証する段階をさらに具備する、 請求の範囲1記載の方法。 15.該コンピュータのシステムは、アプリケーションプログラムを実行するよ う準備を行う3つの段階を通り、第1の段階はハードウェアに組込まれている自 己試験であり、第2の段階は入出力(BIOS)のプログラムシステムの初期化であ り、第3の段階はオペレーティングシステムをブートすることであり、 該方法は、該BIOSのプログラムシステムの初期化の段階の後、該オペレーティ ングシステムをブートする段階に先立ち該クリティカルなプログラムの区域を検 証する段階をさらに具備する、 請求の範囲1記載の方法。 16.該コンピュータのシステムは、アプリケーションプログラムを実行するよ う準備を行う3つの段階を通り、第1の段階はハードウェアに組込まれている自 己試験であり、第2の段階は入出力(BIOS)のプログラムシステムの初期化であ り、第3の段階はオペレーティングシステムをブートすることであり、 該方法は、該オペレーティングシステムをブートする該段階の後、信頼ある操 作者による要請に従い該クリティカルなプログラムの区域を検証する段階をさら に具備する、 請求の範囲1記載の方法。 17.コンピュータのシステムの安全保障性能を向上させる方法であって、該コ ンピュータのシステムは記憶装置および中央プロセッサ装置を包含し、該中央プ ロセッサ装置はそれぞれのアドレス信号 、データ信号、および結合される制御信号の複数個を有し、第1の制御信号ライ ンを包含する制御信号ラインのそれぞれの複数個の上における該中央プロセッサ 装置へおよびそれから提供される該複数の制御信号は該複数の制御信号ラインの 1つであり、該第1の制御信号ラインは第1の制御信号を包含し、該コンピュー タのシステムは該記憶装置に記憶される少くとも1つのクリティカルなプログラ ムの区域を有し、該方法は、第2のプロセッサを設けること、 該コンピュータのシステムの作動開始を検出すること、 該コンピュータのシステムの作動開始を検出する該段階に応答し該中央プロセ ッサ装置の制御を捕捉すること、 該第2のプロセッサを用いて該記憶装置における第1のクリティカルなプログ ラムの区域を検証し、そして、 該第2のプロセッサにより該第1のクリティカルなプログラムの区域が検証さ れると、該中央プロセッサ装置の制御を解放し該クリティカルなプログラムを進 行させること、 を具備する方法。 18.該コンピュータシステムの作動開始を検出する該段階に応答する該中央プ ロセッサ装置の制御を捕捉する該段階は、該中央プロセッサ装置を作動停止させ る段階を具備する、請求の範囲17記載の方法。 19.該中央プロセッサ装置はクロック信号を受理するクロック信号入力部を包 含し、該コンピュータシステムの作動開始を検出する該段階に応答する該中央プ ロセッサ装置の制御を捕捉する該段階は、該中央プロセッサ装置への該クロック 信号を横取りすることを具備する、 請求の範囲17記載の方法。 20.該コンピュータシステムの作動開始を検出する該段階に応答 する該中央プロセッサ装置の制御を捕捉する該段階は、該第1の制御信号を横取 りすることを具備する、請求の範囲17記載の方法。 21.該第1の制御信号を横取りする該段階は、該第1の制御信号のラインを該 中央プロセッサ装置と非接続にしそれにより該第1の制御信号を実質的に横取り すること、および該第1の制御信号ライン上に該第2の制御信号を介在させるこ とにより、該第1の制御信号の代りに該中央プロセッサ装置へのまたはそれから の第2の制御信号を置換すること、を具備する、請求の範囲20記載の方法。 22.該中央プロセッサユニットの制御を解放し該クリティカルなプログラムを 進行させる段階は、該第1の制御信号ラインを該中央プロセッサ装置へ再接続す る段階を包含する、請求の範囲21記載の方法。 23.該コンピュータのシステムの作動開始の該段階に応答する該中央プロセッ サ装置の捕捉制御の該段階は、割込みベクトルアドレス信号を横取りすることを 具備する、請求の範囲17記載の方法。 24.該コンピュータのシステムの作動開始の該段階に応答する該中央プロセッ サ装置の捕捉制御の該段階は、データストローブ信号を横取りすることを具備す る、請求の範囲17記載の方法。 25.該コンピュータのシステムの作動開始の該段階に応答する該中央プロセッ サ装置の捕捉制御の該段階は、アドレスストローブ信号を横取りすることを具備 する、請求の範囲17記載の方法。 26.該コンピュータのシステムの作動開始の該段階に応答する該中央プロセッ サ装置の捕捉制御の該段階は、データ準備完了の信号を横取りすることを具備す る、請求の範囲17記載の方法。 27.該コンピュータのシステムの作動開始を検出する該段階は、該コンピュー タのシステムのパワーアップを検出することを具備する、請求の範囲17記載の方 法。 28.該コンピュータのシステムの作動開始を検出する該段階は、該コンピュー タのシステムのハードシステムリセットを検出することを具備する、請求の範囲 17記載の方法。 29.該第1のクリティカルなプログラムの区域は入出力システム(BIOS)であ る、請求の範囲17記載の方法。 30.該クリティカルなプログラムの進行に応答し該中央プロセッサ装置の制御 を再捕捉すること、 該第2のプロセッサを用い該記憶装置における第2のクリティカルなプログラ ムの区域を検証すること、および、 該第2のクリティカルなプログラムの区域が該第2のプロセッサにより検証さ れると、該中央プロセッサ装置の制御を解放し該第2のクリティカルなプログラ ムを進行させること、 をさらに具備する、請求の範囲29記載の方法。 31.該第2のクリティカルなプログラムの区域は割込みベクトルアドレステー ブルである、請求の範囲30記載の方法。 32.該第2のクリティカルなプログラムの区域はオペレイティングシステム(D OS)である、請求の範囲30記載の方法。 33.該第2のクリティカルなプログラムの区域は作動開始時に自動的な実行(a utoexec・bat)を行うファイルである、請求の範囲30記載の方法。 34.該第2のクリティカルなプログラムの区域は、システムの形態制御(confi g・sys)のファイルである、請求の範囲30記載の方法。 35.該第2のクリティカルなプログラムの区域は信頼ある操作者により特定さ れるプログラムまたはデータの区域である、請求の範囲30記載の方法。 36.コンピュータのシステムの安全保障性能を向上させる装置で あって、該コンピュータのシステムは記憶装置および中央プロセッサ装置を包含 し、該中央プロセッサ装置はそれぞれアドレス信号、データ信号、および結合さ れる複数の制御信号を有し、第1の制御信号ラインを包含する該制御信号ライン のそれぞれの複数個の上で中央プロセッサ装置へまたはそれから提供される該複 数の制御信号は該複数の制御信号ラインの1つであり、該第1の制御信号ライン は第1の制御信号を包含し、該コンピュータのシステムは該記憶装置に記憶され る少くとも1つのクリティカルなプログラムの区域を有し、該安全保障性能を向 上させる装置は、 該第1の制御信号ラインを該中央プロセッサ装置と非接続にし該第1の制御信 号を実質的に横取りする手段、 該第1の制御信号ライン上に該第2の制御信号を介在させることにより、該第 1の制御信号に代って該中央プロセッサ装置へのまたはそれからの第2の制御信 号に置換する手段、 該記憶装置における該クリティカルなプログラムの区域を検証する手段、およ び 該クリティカルなプログラムの区域が検証されると、該第1の制御信号ライン を該中央プロセッサ装置へ再接続する手段、 を具備する装置。 37.該クリティカルなプログラムの区域は入出力システム(BIOS)である、請 求の範囲36記載の装置。 38.該クリティカルなプログラム区域は割込みベクトルアドレステーブルであ る、請求の範囲36記載の装置。 39.該クリティカルなプログラムの区域はオペレイティングシステム(DOS)で ある、請求の範囲36記載の装置。 40.該クリティカルなプログラムの区域は作動開始時に自動的な実行(autoexe c・bat)を行うファイルである、請求の範囲36記載の 装置。 41.該クリティカルなプログラムの区域はシステムの形態制御(config・sys) のファイルである、請求の範囲36記載の装置。 42.該クリティカルなプログラムの区域は信頼ある操作者により特定されるプ ログラムまたはデータの区域である、請求の範囲36記載の装置。 43.該コンピュータのシステムは複数のクリティカルなプログラムの区域を有 し、第2のクリティカルなプログラムの区域は該クリティカルなプログラムの区 域が検証された後に検証される、請求の範囲36記載の装置。 44.該第2のクリティカルなプログラムの区域は割込みベクトルアドレステー ブルである、請求の範囲43記載の装置。 45.該第2のクリティカルなプログラムの区域はオペレイティングシステム(D OS)である、請求の範囲43記載の装置。 46.該第2のクリティカルなプログラムの区域は作動開始時に自動的な実行(a utoexec・bat)を行うファイルである、請求の範囲43記載の装置。 47.該第2のクリティカルなプログラムの区域はシステムの形態制御(config ・sys)のファイルである、請求の範囲43記載の装置。 48.該第2のクリティカルなプログラムの区域は信頼ある操作者により特定さ れるプログラムまたはデータの区域である、請求の範囲43記載の装置。 49.該コンピュータのシステムはアプリケーションプログラムを実行するため の準備を行う3つの段階を進行させ、第1の段階はハードウェア内蔵の自己試験 であり、第2の段階は入出力(BIOS)のプログラムシステムの初期化であり、第 3の段階はオペレーティングシステムをブートすることであり、該装置は、 該ハードウェア内蔵の自己試験の段階の後、該BIOSプログラムシステム初期化 の手段に先立って該クリティカルなプログラムの区域を検証する手段をさらに具 備する、請求の範囲36記載の装置。 50.該コンピュータのシステムはアプリケーションプログラムを実行する準備 を行う3つの段階を進行させ、第1の段階はハードウェア内蔵の自己試験であり 、第2の段階は入出力(BIOS)プログラムシステム初期化であり、第3の段階は オペレーティングシステムをブートすることであり、該装置は、 該BIOSプログラムシステム初期化の手段の後、該オペレーティングシステムを ブートする該手段に先立って該クリティカルなプログラムの区域を検証する手段 、 を具備する請求の範囲36記載の装置。 51.該コンピュータのシステムはアプリケーションプログラムを実行する準備 を行う3つの段階を進行させ、第1の段階はハードウェア内蔵の自己試験であり 、第2の段階は入出力(BIOS)プログラムシステム初期化であり、第3の段階は オペレーティングシステムをブートすることであり、該装置は、 該オペレイティングシステムをブートする該手段の後、信頼ある操作者による 要請に従い該クリティカルなプログラムの区域を検証する手段、 をさらに具備する、請求の範囲36記載の装置。 52.コンピュータのシステムの安全保障性能を向上させる装置であって、該コ ンピュータのシステムは記憶装置および中央プロセッサ装置を包含し、該中央プ ロセッサ装置はそれぞれのアドレス信号、データ信号、および結合する複数の制 御信号を有し、第1の制御信号ラインを包含するそれぞれの複数の制御信号ライ ン上において該中央プロセッサ装置へまたはそれから提供される該複数の制御信 号は該複数の制御信号ラインの1つであり、該第1の制御信号ラインは第1の制 御信号を包含し、該コンピュータのシステムは該記憶装置に記憶される少くとも 1つのクリティカルなプログラムの区域を有し、該安全保障性能を向上させる装 置は、 第2のプロセッサを提供する手段、 該コンピュータシステムの作動開始を検出する手段、 該コンピュータシステムの作動開始を検出する該手段に応答し該中央プロセッ サ装置の制御を捕捉する手段、 該第2のプロセッサを用い該記憶装置における第1のクリティカルなプログラ ムの区域を検証する手段、および、 該第1のクリティカルなプログラムの区域が該第2のプロセッサにより検証さ れると、該中央プロセッサ装置の制御を解放し該クリティカルなプロセッサを進 行させる手段、 を具備する装置。 53.該コンピュータのシステムの作動開始を検出する該手段に応答し該中央プ ロセッサ装置の制御を捕捉する該手段は、 該中央プロセッサ装置を停止させる手段、 を具備する、請求の範囲52記載の装置。 54.該中央プロセッサ装置はクロック信号を受理するクロック信号入力部を包 含し、該コンピュータシステムの作動開始を検出する手段に応答し該中央プロセ ッサ装置の制御を捕捉する該手段は、 該中央プロセッサ装置への該クロック信号を横取りする手段、 を具備する、請求の範囲52記載の装置。 55.該コンピュータのシステムの作動開始を検出する手段に応答し該中央プロ セッサ装置の制御を捕捉する該手段は、 該第1の制御信号を横取りする手段、 を具備する、請求の範囲52記載の装置。 56.該第1の制御信号を横取りする該手段は、該第1の制御信号ラインを該中 央プロセッサ装置と非接続にし該第1の制御信号を実質的に横取りする手段、お よび、 該第1の制御信号ライン上に該第2の制御信号を介在させることにより該第1 の制御信号の代りに該中央プロセッサ装置へのまたはそれからの第2の制御信号 で置換する手段、 を具備する、請求の範囲55記載の装置。 57.該中央プロセッサ装置の制御を解放し該クリティカルなプログラムを進行 させる該手段は、該第1の制御信号ラインを該中央プロセッサ装置へ再接続する 手段を包含する、請求の範囲56記載の装置。 58.該コンピュータのシステムの作動開始の検出に応答し該中央プロセッサ装 置の制御を捕捉する該手段は、 割込みベクトルアドレス信号を横取りする手段、 を具備する、請求の範囲52記載の装置。 59.該コンピュータのシステムの作動開始の検出に応答し該中央プロセッサ装 置の制御を捕捉する手段は、 データストローブ信号を横取りする手段、 を具備する、請求の範囲52記載の装置。 60.該コンピュータのシステムの作動開始の検出に応答し該中央プロセッサ装 置の制御を捕捉する手段は、 アドレスストローブ信号を横取りする手段、 を具備する、請求の範囲52記載の装置。 61.該コンピュータのシステムの作動開始の検出に応答し該中央プロセッサ装 置の制御を捕捉する手段は、 データ準備完了の信号を横取りする手段、 を具備する、請求の範囲52記載の装置。 62.該コンピュータのシステムの作動開始を検出する該手段は、 該コンピュータのシステムのパワーアップを検出する手段、 を具備する、請求の範囲52記載の装置。 63.該コンピュータのシステムの作動開始を検出する該手段は、 該コンピュータのシステムのハードシステムリセットを検出する手段、 を具備する、請求の範囲52記載の装置。 64.該第1のクリティカルなプログラムの区域は入出力のシステム(BIOS)で ある、請求の範囲52記載の装置。 65.該クリティカルなプログラムの進行に応答し該中央プロセッサ装置の制御 を再捕捉する手段、 該第2のプロセッサを用いて該記憶装置における第2のクリティカルなプログ ラムの区域を検証する手段、および、 該第2のクリティカルなプログラムの区域が該第2のプロセッサにより検証さ れると、該中央プロセッサ装置の制御を解放し該第2のクリティカルなプログラ ムを進行させる手段、 をさらに具備する請求の範囲29記載の装置。 66.該第2のクリティカルなプログラムの区域は割込みベクトルアドレステー ブルである、請求の範囲30記載の装置。 67.該第2のクリティカルなプログラムの区域はオペレイティングシステム(D OS)である、請求の範囲30記載の装置。 68.該第2のクリティカルなプログラムの区域は作動開始時に自動的な実行(a utoexec・bat)を行うファイルである、請求の範囲30記載の装置。 69.該第2のクリティカルなプログラムの区域はシステムの形態制御(config ・sys)のファイルである、請求の範囲30記載の装置。 70.該第2のクリティカルなプログラムの区域は信頼ある操作者 により特定されるプログラムまたはデータの区域である、請求の範囲30記載の装 置。 71.コンピュータのシステムの安全保障性能を向上させる方法であって、該コ ンピュータのシステムは中央プロセッサ装置を包含し、該中央プロセッサ装置は 第1の回路板上の第1のソケットに挿入され、該中央プロセッサ装置はそれぞれ のアドレス信号、データ信号、および複数の制御信号が該第1のソケットを通し て結合され、第1の制御信号を含むそれぞれの複数の制御信号ライン上において 該中央プロセッサ装置へまたはそれから提供される該複数の制御信号は該複数の 制御信号ラインの1つであり、該第1の制御信号ラインは第1の制御信号を包含 し、該安全保障性能を向上させる方法は、 該中央プロセッサ装置を該第1のソケットから除去すること、 第2の回路板を該第1のソケットヘ挿入することにより該中央プロセッサを置 換し、該第2の回路板は該第1のソケットと実質的に同一の第2の回路板をさら に有するようにすること、 該中央プロセッサ装置を該第2の回路板上の該第2のソケットへ挿入すること 、および、 該第1の制御信号を横取りすること、 を具備する、方法。 72.該第1の制御信号を横取りする段階は、該第1の制御信号ラインを該中央 プロセッサ装置と非接続にすること、および、 該第1の制御信号ライン上に該第2の制御信号を介在させることにより該第1 の制御信号の代りに該中央プロセッサ装置へのまたはそれからの第2の制御信号 を置換すること、 を具備する、請求の範囲71記載の方法。 73.該第1の制御信号はクロック信号である、請求の範囲71記載 の方法。 74.該第1の制御信号は割込み信号である、請求の範囲71記載の方法。 75.該第1の制御信号は書込みストローブ信号である、請求の範囲71記載の方 法。 76.該第1の制御信号は読取りストローブ信号である、請求の範囲71記載の方 法。 77.該第1の制御信号はデータ準備完了の信号である、請求の範囲71記載の方 法。 78.それぞれのアドレス信号、データ信号、および複数の制御信号が結合され る第1のプロセッサであって、第1の制御信号ラインを含むそれぞれの複数の信 号ライン上において該第1のプロセッサへまたはそれから提供される複数の制御 信号は該複数の制御信号ラインの1つであり、該第1の制御信号ラインは第1の 制御信号を包含するもの、および、 第1のプロセッサへの該第1の制御信号を横取りし該第1の制御信号の代りに 第2の制御信号を置換する装置を包含する論理制御装置、 を具備する、コンピュータのシステム。 79.該第1の制御信号を横取りする該段階は、該第1の制御信号を該中央プロ セッサ装置と非接続すること、および、 該第1の制御信号ライン上において該第2の制御信号を介在させることにより 該第1の制御信号の代りに該中央プロセッサ装置へのまたはそれからの第2の制 御信号を置換すること、 を具備する、請求の範囲78記載の方法。 80.該第1の制御信号はクロック信号である、請求の範囲78記載の方法。 81.該第1の制御信号は割込み信号である、請求の範囲78記載の方法。 82.該第1の制御信号は書込みストローブ信号である、請求の範囲78記載の方 法。 83.該第1の制御信号は読取りストローブ信号である、請求の範囲79記載の方 法。 84.該第1の制御信号はデータ準備完了の信号である、請求の範囲78記載の方 法。 85.それぞれのアドレス信号、データ信号、および複数の制御信号が結合され る第1のプロセッサであって、第1の制御信号ラインを包含するそれぞれの複数 の制御信号ライン上において該第1のプロセッサへまたはそれから提供される複 数の制御信号は該複数の制御信号ラインの1つであり該第1の制御信号ラインは 第1の制御信号を包含するもの、 第1のプロセッサへの該第1の制御信号を横取りすることにより該第1のプロ セッサ装置を捕捉する多重プロセッサ論理制御装置、および、 第2のプロセッサ、 を具備し、該多重プロセッサ論理制御装置は該第1のプロセッサを捕捉し該第2 のプロセッサを選択的にエネイブルにする、コンピュータのシステム。 86.該第1の制御信号を横取りする該段階は、該第1の制御信号ラインを該中 央プロセッサ装置と非接続にすること、および、 該第1の制御信号ライン上において該第2の制御信号を介在させることにより 該第1の制御信号の代りに該中央プロセッサ装置へのまたはそれからの第2の制 御信号を置換すること、 を具備する、請求の範囲85記載の方法。 87.該多重プロセッサ論理制御装置は、 該第1のプロセッサへの該第1の制御信号を横取りしないことにより、該第2 のプロセッサに応答し該中央プロセッサ装置を解放する、請求の範囲85記載の方 法。 88.該多重プロセッサ論理制御装置は、 該第1の制御信号を第1のプロセッサへ再接続することにより、該第2のプロ セッサに応答し該中央プロセッサ装置を解放する、請求の範囲85記載の方法。 89.該第1の制御信号はクロック信号である、請求の範囲85記載の方法。 90.該第1の制御信号は割込み信号である、請求の範囲85記載の方法。 91.該第1の制御信号は書込みストローブ信号である、請求の範囲85記載の方 法。 92.該第1の制御信号は読取りストローブ信号である、請求の範囲85記載の方 法。 93.該第1の制御信号はデータ準備完了の信号である、請求の範囲85記載の方 法。 94.制御信号の第1の複数個を受理する複数の端子が結合される第1のプロセ ッサ、 第2のプロセッサ、および、 多重プロセッサ論理制御装置であって該第1のプロセッサへの該第1の複数の 制御信号の少くとも1つを横取りし該第1の複数の制御信号の該1つの代りに第 2の複数の制御信号の少くとも1つを置換するもの、 を具備し、該多重プロセッサ論理制御装置は該第1のプロセッサおよび該第2の プロセッサを選択的にエネイブルにする、多重のプロ セッサのシステム。 95.該第1の複数の制御信号の該1つはクロック信号である、請求の範囲94記 載の多重のプロセッサのシステム。 96.該第1の複数の制御信号の該1つは割込み信号である、請求の範囲94記載 の多重のプロセッサのシステム。 97.該第1の複数の制御信号の該1つは書込みストローブ信号である、請求の 範囲94記載の多重のプロセッサのシステム。 98.該第1の複数の制御信号の該1つは読取りストローブ信号である、請求の 範囲94記載の多重のプロセッサのシステム。 99.該第1の複数の制御信号の該1つはデータ準備完了の信号である、請求の 範囲94記載の多重のプロセッサのシステム。 100.複数の制御信号を受理する複数の端子が結合され複数のアドレス信号が 結合される第1のプロセッサ、 論理制御装置であって、該第1のプロセッサの予め定められたアドレス信号お よび予め定められた制御信号に対応する少くとも1つのクリティカルなプログラ ムの区域を監視し該クリティカルなプログラムの区域を修飾しようとする試行を 検出するもの、および、 該論理制御装置に応答し該クリティカルなプログラムの区域を修飾しようとす る試行を検出する警報装置、 を具備し、該論理制御装置は該警報装置に応答し、該複数の制御信号の少くとも 1つに割込みを行い、該第1の複数の制御信号の少くとも1つの代りに第2の複 数の制御信号の少くとも1つを置換する、多重のプロセッサのシステム。 101.該予め定められたクリティカルなプログラムの区域は入出力のシステム (BIOS)である、請求の範囲100記載の多重のプロセッサのシステム。 102.該予め定められたクリティカルなプログラムの区域は割込み ベクトルアドレステーブルである、請求の範囲100記載の多重のプロセッサのシ ステム。 103.該予め定められたクリティカルなプログラムの区域はオペレイティング システム(DOS)である、請求の範囲100記載の多重のプロセッサのシステム。 104.該予め定められたクリティカルなプログラムの区域は作動開始時に自動 的な実行(autoexec・bat)を行うファイルである、請求の範囲100記載の多重のプ ロセッサのシステム。 105.該予め定められたクリティカルなプログラムの区域はシステムの形態制 御(config・sys)のファイルである、請求の範囲100記載の多重のプロセッサシス テム。 106.該予め定められたクリティカルなプログラムの区域は信頼ある使用者に より特定されるプログラムまたはデータの区域である、請求の範囲100記載の多 重のプロセッサのシステム。 107.該複数の制御信号の該1つはクロック信号である、請求の範囲100記載の 多重のプロセッサのシステム。 108.該複数の制御信号の該1つは割込みの信号である、請求の範囲100記載の 多重のプロセッサのシステム。 109.該複数の制御信号の該1つは書込みストローブ信号である、請求の範囲1 00記載の多重プロセッサのシステム。 110.該複数の制御信号の該1つは読取りストローブ信号である、請求の範囲1 00記載の多重のプロセッサのシステム。 111.該複数の制御信号の該1つはデータ準備完了の信号である、請求の範囲1 00記載の多重のプロセッサのシステム。 112.複数の制御信号を受理する複数の端子が結合され複数のアドレス信号が 結合される第1のプロセッサ、および、該複数のアドレス信号および該複数の制 御信号に結合される、論理制御装置であっ て予め定められたアドレスおよび予め定められた制御の信号に応答し警報装置を 設定するもの、を具備する多重のプロセッサのシステム。 113.該警報装置は該複数の制御信号の少くとも1つを横取りし該複数の制御 信号の該1つの代りに相異なる制御信号に置換する手段を包含する、請求の範囲 112記載の多重のプロセッサのシステム。 114.該複数の制御信号の該1つはクロック信号である、請求の範囲112記載の 多重のプロセッサのシステム。 115.該複数の制御信号の該1つは割込みの信号である、請求の範囲112記載の 多重のプロセッサのシステム。 116.該複数の制御信号の該1つは書込みストローブ信号である、請求の範囲1 12記載の多重のプロセッサのシステム。 117.該複数の制御信号の該1つは読取りストローブ信号である、請求の範囲1 12記載の多重のプロセッサのシステム。 118.該複数の制御信号の該1つはデータ準備完了の信号である、請求の範囲1 12記載の多重のプロセッサのシステム。 119.該予め定められたアドレスはクリティカルなプログラムの区域に応答す る、請求の範囲112記載の多重のプロセッサのシステム。 120.該予め定められたクリティカルなプログラムの区域は入出力のシステム (BIOS)である、請求の範囲119記載の多重のプロセッサのシステム。 121.該予め定められたクリティカルなプログラムの区域は割込みのベクトル アドレスのテーブルである、請求の範囲119記載の多重のプロセッサのシステム 。 122.該予め定められたクリティカルなプログラムの区域はオペレーティング システム(DOS)である、請求の範囲119記載の多重のプ ロセッサのシステム。 123.該予め定められたクリティカルなプログラムの区域は作動開始時に自動 的な実行(autoexec・bat)を行うファイルである、請求の範囲119記載の多重のプ ロセッサのシステム。 124.該予め定められたクリティカルなプログラムの区域はシステムの形態制 御(config・sys)のファイルである、請求の範囲119記載の多重のプロセッサのシ ステム。 125.該予め定められたクリティカルなプログラムの区域は信頼ある操作者に より特定されるプログラムまたはデータの区域である、請求の範囲119記載の多 重のプロセッサのシステム。
JP53585198A 1997-02-13 1998-02-10 コンピュータシステムの安全保障性能向上用の安全保障形共同プロセッサ Ceased JP2001524229A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US79930697A 1997-02-13 1997-02-13
US799,339 1997-02-13
US799,306 1997-02-13
US08/799,339 US5953502A (en) 1997-02-13 1997-02-13 Method and apparatus for enhancing computer system security
PCT/US1998/002536 WO1998036517A1 (en) 1997-02-13 1998-02-10 Security coprocessor for enhancing computer system security

Publications (1)

Publication Number Publication Date
JP2001524229A true JP2001524229A (ja) 2001-11-27

Family

ID=27122099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53585198A Ceased JP2001524229A (ja) 1997-02-13 1998-02-10 コンピュータシステムの安全保障性能向上用の安全保障形共同プロセッサ

Country Status (6)

Country Link
EP (1) EP1013023B1 (ja)
JP (1) JP2001524229A (ja)
KR (1) KR100543268B1 (ja)
AT (1) ATE308171T1 (ja)
DE (1) DE69832082D1 (ja)
WO (1) WO1998036517A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004531004A (ja) * 2001-06-29 2004-10-07 セキュアー システムズ リミテッド コンピュータのためのセキュリティシステムおよび方法
JP2004280284A (ja) * 2003-03-13 2004-10-07 Sony Corp 制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法
JP2006065851A (ja) * 2004-08-27 2006-03-09 Microsoft Corp アドレスビットを使用してアドレス空間におけるデータのセキュリティ属性を通知するシステムおよび方法
JP2011243216A (ja) * 2002-03-29 2011-12-01 Intel Corp 安全な環境を初期化する命令を実行するシステムおよび方法
JP2011243231A (ja) * 2002-10-09 2011-12-01 Intel Corp サーバ管理コプロセッササブシステム内部のtcpaによる信頼性の高いプラットフォームモジュール機能のカプセル化
US8838950B2 (en) 2003-06-23 2014-09-16 International Business Machines Corporation Security architecture for system on chip

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098054A (en) * 1997-11-13 2000-08-01 Hewlett-Packard Company Method of securing software configuration parameters with digital signatures
US6988250B1 (en) 1999-02-15 2006-01-17 Hewlett-Packard Development Company, L.P. Trusted computing platform using a trusted device assembly
DE60044844D1 (de) 1999-02-15 2010-09-30 Hewlett Packard Co Kommunikation zwischen modulen in einer rechenvorrichtung
EP1055990A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company Event logging in a computing platform
EP1056010A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
EP1076279A1 (en) * 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
EP1085396A1 (en) 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
GB9922665D0 (en) 1999-09-25 1999-11-24 Hewlett Packard Co A method of enforcing trusted functionality in a full function platform
GB2372594B (en) 2001-02-23 2004-10-06 Hewlett Packard Co Trusted computing environment
WO2002086684A2 (en) 2001-04-24 2002-10-31 Hewlett-Packard Company An information security system
GB0116568D0 (en) * 2001-07-06 2001-08-29 Ncipher Corp Ltd Firmware validation
US7103529B2 (en) * 2001-09-27 2006-09-05 Intel Corporation Method for providing system integrity and legacy environment emulation
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
GB2392262A (en) 2002-08-23 2004-02-25 Hewlett Packard Co A method of controlling the processing of data
US7734926B2 (en) 2004-08-27 2010-06-08 Microsoft Corporation System and method for applying security to memory reads and writes
US7653802B2 (en) 2004-08-27 2010-01-26 Microsoft Corporation System and method for using address lines to control memory usage
US7822993B2 (en) 2004-08-27 2010-10-26 Microsoft Corporation System and method for using address bits to affect encryption
CN105706053A (zh) * 2013-11-06 2016-06-22 英派尔科技开发有限公司 通过在数据中心处的协处理器的制图进行恶意攻击防止

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121345A (en) * 1988-11-03 1992-06-09 Lentz Stephen A System and method for protecting integrity of computer data and software
US5144659A (en) * 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
GB9003890D0 (en) * 1990-02-21 1990-04-18 Rodime Plc Method and apparatus for controlling access to and corruption of information in computer systems
EP0449242A3 (en) * 1990-03-28 1992-10-28 National Semiconductor Corporation Method and structure for providing computer security and virus prevention
US5263147A (en) * 1991-03-01 1993-11-16 Hughes Training, Inc. System for providing high security for personal computers and workstations
EP0510244A1 (en) * 1991-04-22 1992-10-28 Acer Incorporated Method and apparatus for protecting a computer system from computer viruses
US5598531A (en) * 1991-05-13 1997-01-28 William Stanley Hill Method and apparatus for preventing "disease" damage in computer systems
WO1994012923A2 (en) * 1992-11-30 1994-06-09 Base 10 Systems, Inc. A safety critical processor and processing method for a data processing system
US5581794A (en) * 1992-12-18 1996-12-03 Amdahl Corporation Apparatus for generating a channel time-out signal after 16.38 milliseconds

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4676696B2 (ja) * 2001-06-29 2011-04-27 セキュアー システムズ リミテッド コンピュータのためのセキュリティシステムおよび方法
JP2004531004A (ja) * 2001-06-29 2004-10-07 セキュアー システムズ リミテッド コンピュータのためのセキュリティシステムおよび方法
US9361121B2 (en) 2002-03-29 2016-06-07 Intel Corporation System and method for execution of a secured environment initialization instruction
US10175994B2 (en) 2002-03-29 2019-01-08 Intel Corporation System and method for execution of a secured environment initialization instruction
US10042649B2 (en) 2002-03-29 2018-08-07 Intel Corporation System and method for execution of a secured environment initialization instruction
US10031759B2 (en) 2002-03-29 2018-07-24 Intel Corporation System and method for execution of a secured environment initialization instruction
JP2011243216A (ja) * 2002-03-29 2011-12-01 Intel Corp 安全な環境を初期化する命令を実行するシステムおよび方法
JP2014089753A (ja) * 2002-03-29 2014-05-15 Intel Corp 安全な環境を初期化する命令を実行するプロセッサ、方法、システム及び媒体
US9990208B2 (en) 2002-03-29 2018-06-05 Intel Corporation System and method for execution of a secured environment initialization instruction
JP2015043240A (ja) * 2002-03-29 2015-03-05 インテル コーポレイション 安全な環境を初期化する命令を実行するシステムおよび方法
JP2011243231A (ja) * 2002-10-09 2011-12-01 Intel Corp サーバ管理コプロセッササブシステム内部のtcpaによる信頼性の高いプラットフォームモジュール機能のカプセル化
JP4501349B2 (ja) * 2003-03-13 2010-07-14 ソニー株式会社 システムモジュール実行装置
JP2004280284A (ja) * 2003-03-13 2004-10-07 Sony Corp 制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法
US8838950B2 (en) 2003-06-23 2014-09-16 International Business Machines Corporation Security architecture for system on chip
JP2006065851A (ja) * 2004-08-27 2006-03-09 Microsoft Corp アドレスビットを使用してアドレス空間におけるデータのセキュリティ属性を通知するシステムおよび方法

Also Published As

Publication number Publication date
EP1013023A4 (en) 2000-10-18
EP1013023A1 (en) 2000-06-28
EP1013023B1 (en) 2005-10-26
WO1998036517A1 (en) 1998-08-20
ATE308171T1 (de) 2005-11-15
KR20000071056A (ko) 2000-11-25
DE69832082D1 (de) 2005-12-01
KR100543268B1 (ko) 2006-01-20

Similar Documents

Publication Publication Date Title
US6311273B1 (en) Method and apparatus for enhancing computer system security
US6564326B2 (en) Method and apparatus for enhancing computer system security
JP2001524229A (ja) コンピュータシステムの安全保障性能向上用の安全保障形共同プロセッサ
Abbasi et al. Ghost in the PLC: Designing an undetectable programmable logic controller rootkit via pin control attack
US10275598B2 (en) Providing a secure execution mode in a pre-boot environment
EP2729896B1 (en) Bios flash attack protection and notification
US7689817B2 (en) Methods and apparatus for defeating malware
US7757098B2 (en) Method and apparatus for verifying authenticity of initial boot code
TWI424693B (zh) 具有橋接支持之平台啟動
US20070271461A1 (en) Method for managing operability of on-chip debug capability
US20040268135A1 (en) Methods and apparatus for secure collection and display of user interface information in a pre-boot environment
US20080222407A1 (en) Monitoring Bootable Busses
WO2007118154A2 (en) System and method for checking the integrity of computer program code
CN110659498A (zh) 可信计算度量方法及其系统、计算机可读存储介质
WO2022058459A1 (en) Bootloaders
CN114692160A (zh) 计算机安全可信启动的处理方法及装置
CN110659497A (zh) 可信启动控制方法及其装置、计算机可读存储介质
CN108629185B (zh) 服务器可信平台度量控制系统及其运行方法
US11734457B2 (en) Technology for controlling access to processor debug features
JP2001236132A (ja) 耐タンパー性を与える方法及びプログラム
JP4394572B2 (ja) セキュアモードまたは非セキュアモードでプログラムを実行するコンピュータアーキテクチャ
Abbasi et al. Ghost in the plc vs ghostbuster: on the feasibility of detecting pin control attack in programmable logic controllers
EP4281893A1 (en) Read-only memory (rom) security
WO2022213129A1 (en) Read-only memory (rom) security
CN115310055A (zh) 一种基于双看门狗的软件完整性保护方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050609

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070814

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080501

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080930

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20090210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090414