JPH06236280A - データ検証強化方法及びその装置 - Google Patents

データ検証強化方法及びその装置

Info

Publication number
JPH06236280A
JPH06236280A JP5324818A JP32481893A JPH06236280A JP H06236280 A JPH06236280 A JP H06236280A JP 5324818 A JP5324818 A JP 5324818A JP 32481893 A JP32481893 A JP 32481893A JP H06236280 A JPH06236280 A JP H06236280A
Authority
JP
Japan
Prior art keywords
change detection
detection code
personal computer
boot program
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5324818A
Other languages
English (en)
Inventor
William C Arnold
ウィリアム・カーリスル・アーノルド
Richard Bealkowski
リチャード・ビールコウィスキー
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06236280A publication Critical patent/JPH06236280A/ja
Pending 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
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • 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/562Static detection
    • G06F21/565Static detection by checking file integrity
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Abstract

(57)【要約】 【目的】 ブート・プログラムに対してより効果的な検
証手段を提供すること。 【構成】 アプリケーション・プログラム及びオペレー
ティング・システムを有するパーソナル・コンピュータ
・システムであって、データ・バスに電気的に接続され
たマイクロプロセッサ、不揮発性メモリ、揮発性メモ
リ、及びデータ記憶装置を含む。不揮発性メモリは、オ
ペレーティング・システムのマイクロコードの第1の部
分を記憶し、データ記憶装置は、オペレーティング・シ
ステムのマイクロコードの第2の部分を記憶する。オペ
レーティング・システムのマイクロコードの第2の部分
は、ブート・プログラムを含む。オペレーティング・シ
ステムのマイクロコードの第1の部分は、ブート・プロ
グラムを揮発性メモリにロードするに先立って、そのブ
ート・プログラムの整合性を検証する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、パーソナル・コンピュ
ータに関し、特に、コンピュータのデータを検証するた
めの方法及び装置に関するものである。
【0002】
【従来の技術】一般的なパーソナル・コンピュータシス
テム、及び特にIBMパーソナル・コンピュータは、今
日の社会において多くの分野でコンピュータの能力を提
供するべく広く利用されている。パーソナル・コンピュ
ータ・システムは、通常、デスクトップ型、床置き型、
あるいは携帯型コンピュータとして規定され、そのシス
テム・ユニットは、システム・プロセッサ、表示装置、
キーボード、ディスケット駆動装置、ハード・ディスク
記憶装置、「マウス」等のオプションのポインティング
装置、及びオプションの印刷装置を有する。これらのシ
ステムは、基本的には、一人のユーザ又は1つのユーザ
・グループに対し独立した演算能力を提供するように設
計されており、且つ個人用又は業務用に購入できる安価
な価格となっている。
【0003】パーソナル・コンピュータ・システムは、
コンピュータ・ネットワーク(例えば、ローカル・エリ
ア・ネットワーク(LAN))を形成するために連結す
ることができ、これによってユーザは情報を交換し、周
辺装置を共用し、特定のハードファイル又はディスケッ
ト等の直接アクセス記憶装置(DASD)を利用するこ
とができる。通常、LANにはクライアント及びサーバ
が含まれる。サーバは、1又はそれ以上のクライアント
に対して記憶装置を提供するDASDを有するコンピュ
ータ・システムである。
【0004】パーソナル・コンピュータにおいて、ソフ
トウェア及びハードウェアの互換性は非常に重要であ
る。ソフトウェア及びハードウェアの互換を可能にする
ために、システム常駐コード、即ちマイクロコードが、
ハードウェアとソフトウェアの間に設けられていた。こ
のコードが、ユーザのアプリケーション・プログラム又
はオペレーティング・システムとハードウェアとの間の
動作のインターフェースの働きをするので、ユーザはハ
ードウェア装置の特性について無関心でいられる。結果
的にこのコードは、基本入出力システム(BIOS)へ
と発展することによって、新しいハードウェア装置をシ
ステムに追加することを可能にする一方、アプリケーシ
ョン・プログラム又はオペレーティング・システムを、
ハードウェア装置の特異性から隔絶した。BIOSの重
要性はすぐに明らかになった。なぜならこれによって、
デバイス・ドライバが特定のハードウェア装置の特性に
依存しなくてもよくなる一方、デバイス・ドライバに対
してそのハードウェア装置への中間インターフェースの
役割を果たすからである。BIOSはコンピュータ・シ
ステムに組み込まれており、且つシステム・プロセッサ
に入出力するデータの移動を制御するので、システム・
ユニットのシステム・プレーナ・ボード上に常駐してお
り、そしてユーザに対しては読取り専用メモリ(RO
M)又は消去可能プログム可能読取り専用メモリ(EP
ROM)に入った状態で納入された。ROMはまた、パ
ワーオン自己検査(POST)プログラムを含み、これ
はコンピュータ・システムの検査及び初期化に用いられ
た。コンピュータ・システムのROMに常駐するコード
のまとまりは、「システム・ファームウェア」または
「ファームウェア」として知られるようになった。従っ
てファームウェアは、POST部分とBIOS部分を含
んでいた。しばしばBIOSは、POSTプログラムを
包含するものとして定義されていた。
【0005】POSTプログラムは、パーソナル・コン
ピュータ・システムを検査し且つ初期化する。POST
がブート・プログラムをロードし、且つブート・プログ
ラムに制御権を渡したとき、POSTが完了する。ブー
ト・プログラムは通常、ディスク等の記憶装置からロー
ドされる。従来技術においてPOSTは、ブート・プロ
グラムに制御権を渡す前にブート・プログラムを検査す
る。「Technical Reference Personal Computer XT」Ja
nuary 1983, page A-90 Fixed Disk Bios におけるプロ
グラム・ライン482に示されるように、ブート・プロ
グラムは、総称的起動ブロック記号(boot block sig
nature)を検査される。総称的起動ブロック記号は、0
AA55という16進値ワードで示される。詳細は、
「Technical Reference Personal Computer XT」を参照
されたい。「Technical ReferencePersonal Computer A
T」,November 15, 1985 update, page 5-88におけるプ
ログラム・ライン375−387に記載のように付加的
検査が追加される。IBMPersonal Comp
uter ATのPOSTにおける付加的検査には、ブ
ート・プログラムの最初の値が「6」ではなく、且つブ
ート・プログラムの最初の8ワードの場所の値が同一で
ないことを保証することが含まれていた。詳細は、「Te
chnical Reference Personal Computer AT」,November
15, 1985 update version を参照されたい。POST
は、当時利用可能であった上記の技術を用いてブート・
プログラムを検査し且つ検証しようとするものであっ
た。
【0006】
【発明が解決しようとする課題】以上により、ブート・
プログラムの検査が完全なものでないことは明らかであ
る。ブート・プログラムは、コンピュータ・システム全
体の起動における重要な部分であり、従ってさらに厳密
な検査及び検証手順が必要とされる。
【0007】
【課題を解決するための手段】本発明の目的は、POS
Tプログラムによりロードされるコンピュータのプログ
ラム及びデータの検証を強化するための方法及び装置を
提供することである。
【0008】
【実施例】図1は、本発明を実施したパーソナル・コン
ピュータ・システム100を示している。パーソナル・
コンピュータ・システム100は、適当な筐体もしくは
ケース104を備えたシステム装置102、出力装置も
しくはモニタ106(汎用的なビデオ表示装置等)、キ
ーボード等の入力装置112、マウス114、及び印刷
装置等の出力装置116を有する。さらにシステム装置
102は、(図示しないディスケットを駆動する)1台
またはそれ以上のディスケット駆動装置110及びハー
ドディスク駆動装置(ハードファイル)108等の記憶
装置を備えていてもよい。
【0009】図2では、システム装置200が周知の方
法により他のシステム装置202、204に電気的に接
続され、ネットワーク206を形成している。ネットワ
ークにおいて、システム装置202はサーバとして機能
し、システム装置202、204はクライアントとして
機能する。システム装置200は、図1のシステム装置
102と同様のものでよい。システム装置202、20
4は、駆動装置108、110を備えていない以外はシ
ステム装置200と類似であり、従ってこれらは、無媒
体(medialess)クライアントと呼ばれる。他の汎用的
入出力装置をシステム装置200、202、204に接
続し、これらと相互動作させてもよい。
【0010】図3は、コンピュータのシステム装置10
2の概略的ブロック図である。システム装置102は、
POST304及びBIOS306を含むROM302
(またはEEPROM等の他の不揮発性記憶手段)に接
続されたプロセッサ300を有する。POSTは、シス
テムが最初に電源オンされたとき、このパーソナル・コ
ンピュータ・システム100を初期化するために実行す
る命令の組である。BIOSは、プロセッサ300と入
出力装置の間においてデータ及び制御命令の転送を容易
にする命令の組である。さらにプロセッサ300は、バ
ス322を介して複数のサブシステムに接続されてい
る。多くのよく知られたコンピュータ・バスをこの図3
のサブシステムとの相互接続のために利用することがで
きる。RAM312は、プログラム及びデータを記憶す
るために設けられている。EEPROM308は、電気
的消去可能プログラム可能読み取り専用メモリである。
検査コード326、パスワード328、及びフラグ33
0は、EEPROM308内の異なるフィールドに記憶
されている。EEPROM308は、EEPROM制御
装置310により制御される。直接アクセス記憶装置
(DASD)制御装置314は、ディスク駆動装置10
8へのインターフェース及び接続を行う。さらにDAS
D制御装置314は、CD−ROM駆動装置324等の
他の装置をサポートすることもできる。CD−ROM駆
動装置324はCD−ROM(図示せず)を駆動する。
ディスケット制御装置316は、ディスケット駆動装置
110へのインターフェース及び接続を行う。ディスケ
ット駆動装置110はディスケット(図示せず)を駆動
する。ネットワーク制御装置318は、コンピュータ・
システム100のネットワーク206へのインターフェ
ース及び接続を行う。表示制御装置320は、コンピュ
ータの表示装置106等の表示装置へのインターフェー
ス及び接続を行う。他の形式の視覚的出力装置もコンピ
ュータ・システムに対して利用可能であり、表示装置1
06は一例にすぎない。
【0011】EEPROM制御装置310によって、プ
ロセッサ300はEEPROM308の読取り及び書込
みを行うことができる。さらにEEPROM制御装置3
10は、EEPROMの読取り機能及び/または書込み
機能を選択的に抑止する(ディスエーブル:disable)
ことができる。一旦、読取り機能または書込み機能が抑
止されると、その機能が再び許可される(イネーブル:
enable)前にコンピュータシステムの電源をオフにしな
ければならない。ディスエーブル機能により、EEPR
OM308の内容を保護するための効果的手段が得られ
る。好適には、読取り及び書込みのディスエーブル制御
は細分化され、且つEEPROM308のフィールド
(検査コード326、パスワード328、及びフラグ3
30)に選択的に適用することができる。EEPROM
制御装置310自体は、プロセッサ300により制御さ
れる。プロセッサ300は、典型的な入出力命令によっ
てEEPROM制御装置310を管理する。
【0012】パスワード328は、コンピュータ・シス
テムのユーザにより決定され入力される「秘密の」テキ
スト文字列である。通常、パスワード328を入力し且
つ記憶するために、ユーザはパスワード・ユーティリテ
ィ・プログラムを実行する。検査コード326は、例え
ば変更検知コード(MDC)である。このMDCとは、
所定の一連のバイトから秘密キーを用いることなく12
8ビット(16バイト)値を計算する、暗号的片方向関
数である。キー化された暗号的片方向関数が用いられる
場合、用いられるキーはパスワード328であり、暗号
化計算に要する大きさとするために必要なだけ縮められ
たり伸ばされたりする。検査コード326、パスワード
328、及びフラグ330については、図5及び図6を
参照してさらに詳細に記述する。
【0013】POSTは、ブート装置を探し出し且つブ
ート・プログラムをロードするブートストラップ・プロ
グラムを含む。通常、ブート装置はハード・ディスク1
08またはディスケット駆動装置110である。ブート
装置はまた、CD−ROM324またはネットワーク制
御装置318を介してアクセスされるネットワーク20
6でも可能である。ディスケット駆動装置110は、動
作するためにブートまたはオペレーティング・システム
用のディスケットを必要とする。POSTがブート装置
からブート・プログラムを無事にロードすると、その
後、POSTはブート・プログラムに制御権を渡すこと
によって、POSTブートストラップ・プログラムの動
作を完了する。無媒体環境においては、無媒体システム
装置(例えば202)は、遠隔初期プログラムロード
(RIPL)処理を行うために適切なネットワーク制御
装置318を装置202内に有する。RIPLプログラ
ムによって、ハード・ディスク108やディスケット1
10等のローカル記憶装置からではなくネットワーク・
サーバ200からオペレーティング・システムをブート
することができる。RIPLはまた、簡単に遠隔プログ
ラムロードまたはRPLとも呼ばれており、これらの用
語は互換的に用いられる。RPLは周知の技術である。
ブート・レコードがロードできず、且つRPLプログラ
ムが存在する場合、POSTは制御権をRPLプログラ
ムに渡す。RPLプログラムが存在しない場合、POS
Tは、ブート・プログラムが必要であることを示してユ
ーザを促す。図4は、パーソナル・コンピュータのハー
ド・ディスク108上に常駐する典型的なデータの配置
を示したものである。パーソナル・コンピュータのハー
ド・ディスク108上のデータのための記憶ユニット
は、セクタと呼ばれる。セクタは、512個のデータバ
イトからなるブロックである。セクタは、相対的ブロッ
ク・アドレス(RBA)408により識別される。各セ
クタは、独自のRBA値を有する。通常、第1のセクタ
がRBA値0で示され、第2のセクタがRBA値1で示
され、第3のセクタがRBA値2で示される、等であ
る。ブート・プログラム400は、ハード・ディスク1
08上に記憶される。ブート・プログラム400は、複
数のセクタを含む各区画402、404、406のいず
れか1つからのオペレーティング・システムのロード開
始に対応するプログラムである。ブート・プログラム4
00は、2つの構成部分、即ちプログラム・コード部分
及び区画表データ部分を有する。ハード・ディスクを区
画化することにより、複数のオペレーティング・システ
ムを1つのハード・ディスク108上に同時に記憶する
ことができる。コンピュータ・システムが初期化すると
き、ただ1つの区画のみが「ブート」される。ブート・
プログラム・コード部分は、いくつかの区画がある場合
に、いずれの区画がアクティブ区画として指示されたか
を判断するために、区画表データ部分を検査する。通
常、ユーザのオペレーティング・システムを含む区画が
アクティブ区画である。アクティブ区画は、ブート・プ
ログラム400の区画表データ部分に含まれるフラグに
よって指示される。ブート・プログラム400は、その
ハード・ディスク区画に含まれるプログラム(ハード・
ディスク区画プログラム)をロードし、そのハード・デ
ィスク区画プログラムに制御権を渡す。アクティブ区画
がオペレーティング・システムを含む場合、そのハード
・ディスク区画プログラムは、その区画からオペレーテ
ィング・システムをロードすることにより進行する。
【0014】図5は、強化されたデータの検証に関連す
るPOSTの動作の流れ図である。ステップ500にお
いて、POSTは、周知の方法によってコンピュータ・
システムを検査し且つ初期化する。ステップ502にお
いてPOSTは、ハード・ディスク108からメモリへ
ブート・プログラムを読み込む。ステップ504におい
てPOSTは、記憶された検査コード326の値が存在
するか否かを判断する。検査コード326の存在を示す
ためにフラグ330内にフラグ・ビットを設定すること
ができる。ステップ504において検査コード326が
存在しない場合、処理はステップ512へ続く。ステッ
プ504において記憶された検査コード326の値が存
在する場合、処理はステップ506に進む。ステップ5
06においてPOSTは、記憶された検査コード326
の値を読取る。ステップ508においてPOSTは、ブ
ート・プログラム400の検査コードを計算する。この
検査コードは、例えば、前述したMDCである。ステッ
プ510においてPOSTは、先に検索した記憶された
検査コード326の値と計算されたブート・プログラム
の検査コードの値とを比較する。ステップ510におけ
る比較の結果、これらのコードが一致した場合、処理は
ステップ512に続き、制御権がブート・プログラム4
00に渡される。POSTは、EEPROM308の内
容を完全に保護するためにEEPROM制御装置310
を介してEEPROM308の読取り機能及び書込み機
能をディスエーブル状態にすることが好ましい。ステッ
プ510における比較の結果、これらの検査コードが一
致しなかった場合、処理はステップ514に進み、修正
動作が実行される。修正動作としては、ユーザへのメッ
セージ表示、更なる処理の停止及び/または既知のディ
スケットの「ブート」等が含まれる。記憶された検査コ
ード値と計算された検査コード値が一致した場合、PO
STはブート・プログラム400に変更がなかったと見
なし、システムがブートすることを許可する。これらの
値が一致しなかった場合、POSTは、ブート・プログ
ラム400がおそらくは損傷したかあるいは変更された
ことを示すメッセージを出す。なぜなら最も最近のブー
ト・プログラムの検査コード計算が記憶されているから
である。メッセージの主旨は、ブート・プログラム40
0がおそらくは損傷したかあるいは変更されたことを示
唆するものである。ブート・プログラムの検査コードを
検査することにより、EEPROMに記憶された制御ビ
ット、例えばフラグによってイネーブルとなる特徴を付
加することが可能になる。
【0015】ステップ512においてブート・プログラ
ム400が制御権を獲得したならば、ブート・プログラ
ム400自体が、付加的な検査を実行することが好まし
い。ステップ516においてブート・プログラム400
は、ロードされるハード・ディスク区画を識別し且つ検
証する。ステップ518においてハード・ディスク区画
の検証の結果が検査され、そしてハード・ディスク区画
の検証が成功しなかった場合、ステップ520において
修正動作が実行される。修正動作としては、ユーザへの
メッセージ表示、更なる処理の停止及び/または既知の
ディスケットの「ブート」等が含まれる。ステップ52
2において検証されたハード・ディスク区画は、ブート
・プログラム400に対し、制御権をハード・ディスク
区画プログラムに渡すことを許可する。ステップ516
の検証プロセスには、市販されているIBMのヴィール
ス・チェック・プログラム「Antivirus/2」等の検証プ
ログラムを含めることができる。
【0016】図6に、データの検証を強化するためのコ
ンピュータ・システム100を構成する流れ図を示す。
ステップ600において、図4において記述したハード
・ディスク配置が設定される。ハード・ディスクの設定
は、標準的且つ周知のDOSオペレーティング・システ
ムにより提供されるFDISKプログラム等の汎用的な
プログラムにより行うことができる。データ検証強化用
構成プログラムは、メンテナンス・パッケージ(パス
A)か、またはオペレーティング・システム・パッケー
ジの一部(パスB)として与えられる。また、データ検
証強化用構成プログラムが双方のパッケージに含まれて
いてもよい。この構成プログラムは、ステップ602に
おいてメンテナンス・パッケージがロードされたとき、
またはステップ604においてオペレーティング・シス
テムがロード又はインストールされたときにロードされ
る。メンテナンス・パッケージ及びオペレーティング・
システム・パッケージの双方とも、ROM上に作成され
て供給されることが好ましく、それによってプログラム
の出所と整合性が保証される。データ検証強化用構成プ
ログラムは、ステップ606において実行される。ユー
ザが、様々な時点でオペレーティング・システムをイン
ストールすることは非常によくあり得るので、オペレー
ティング・システム・パッケージの中にこの構成プログ
ラムを含めるパスBの方が好ましい。データ検証強化用
構成プログラムは、ステップ608において検査コード
326を計算し且つ記憶する。検査コード326は、ブ
ート・プログラム400に対して計算される。検査コー
ド326は、前述のMDC等のコードである。この時点
で、データ検証強化用構成プログラムはまた、EEPR
OM308のフラグ・フィールド330にフラグ値を記
憶することにより、検査コードが計算され且つEEPR
OM308に記憶されたことを表示することができる。
さらに、ブート手順が変更されるべきであることを表示
するためにもフラグを記憶することができる。
【0017】
【発明の効果】ディスケットにおいては検証されていな
いブート・プログラムを含む場合があり得るので、本発
明によって、標準的なブート・デバイスの組からディス
ケットを除くことは有益である。ディスケットをブート
手順から省くことは、例えばパスワード328を入力す
ることにより克服することができる。その場合、データ
検証強化用構成プログラムは、ステップ610において
EEPROM308の書込機能をディスエーブル状態に
する。こうしてステップ612においてデータ検証を強
化するための構成が完了する。以上により、本発明によ
ってブート・プログラムの効果的な検証を行うことが可
能となる。
【図面の簡単な説明】
【図1】典型的なパーソナル・コンピュータ・システム
の図である。
【図2】典型的なコンピュータ・ネットワークの図であ
る。
【図3】図1のコンピュータ・システムのブロック図で
ある。
【図4】典型的なディスク配置の図である。
【図5】本発明によるデータ検証の強化を示す流れ図で
ある。
【図6】本発明によるデータ検証の強化を示す流れ図で
ある。
【符号の説明】
100 パーソナル・コンピュータ・システム 102 システム装置 108 ハード・ディスク(駆動装置) 110 ディスケット(駆動装置) 206 ネットワーク 300 プロセッサ 302 ROM 304 POST 306 BIOS 308 EEPROM 326 検査コード 328 パスワード 330 フラグ 400 ブート・プログラム 402、404、406 区画
───────────────────────────────────────────────────── フロントページの続き (72)発明者 リチャード・ビールコウィスキー アメリカ合衆国33444 フロリダ州、デル レイ・ビーチ、ハミングバード・ドライブ 1401

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】アプリケーション・プログラム及びオペレ
    ーティング・システムを有するパーソナル・コンピュー
    タ・システムであって、 データ・バスに電気的に接続されたマイクロプロセッサ
    と、 オペレーテンィング・システムの第1の部分を記憶す
    る、前記データ・バスに電気的に接続された不揮発性メ
    モリと、 前記データ・バスに電気的に接続された揮発性メモリ
    と、 ブート・プログラムを含むオペレーティング・システム
    の第2の部分を記憶し、前記データバスに接続されたデ
    ータ記憶装置と、 前記ブート・プログラムを前記揮発性メモリ内にロード
    する前に、前記オペレーティング・システムの第1の部
    分と整合することを検証することにより前記ブート・プ
    ログラムの整合性を検証する手段と、 を有するパーソナル・コンピュータ・システム。
  2. 【請求項2】前記検証する手段が、前記コンピュータ・
    システムの初期設定中に、前記ブート・プログラムに基
    づいて初期変更検知コードを作成する手段を有する、 請求項1に記載のパーソナル・コンピュータ・システ
    ム。
  3. 【請求項3】前記初期変更検知コードを作成する手段
    が、前記ブート・プログラムの所与のの入力バイトの列
    から複数バイトの値を計算する暗号的片方向関数を有す
    る、 請求項2に記載のパーソナル・コンピュータ・システ
    ム。
  4. 【請求項4】前記不揮発性メモリが、検査コード部分を
    含み、 前記検証する手段が、前記初期変更検知コードを前記検
    査コード部分に記憶する、 請求項2に記載のパーソナル・コンピュータ・システ
    ム。
  5. 【請求項5】前記初期変更検知コードが前記検査コード
    部分に記憶された後には、前記不揮発性メモリの前記検
    査コード部分が、該検査コード部分への書込みを防ぐた
    めに書込み禁止状態にされる、 請求項4に記載のパーソナル・コンピュータ・システ
    ム。
  6. 【請求項6】前記検証する手段が、コンピュータ・シス
    テムの電源オン時において現在の変更検知コードを前記
    初期変更検知コードと比較し、 前記現在の変更検知コードが前記初期変更検知コードと
    一致しない場合、前記検証する手段が修正動作を行う手
    段を含み、 前記現在変更検知コードが前記初期変更検知コードと一
    致する場合、前記検証する手段が前記ブート・プログラ
    ムに制御権を渡す、 請求項4に記載のパーソナル・コンピュータ・システ
    ム。
  7. 【請求項7】前記不揮発性メモリが、フラグ部分を含
    み、 前記検証する手段が、前記変更検知コードの存在を示す
    フラグを前記フラグ部分に記憶する、 請求項4に記載のパーソナル・コンピュータ・システ
    ム。
  8. 【請求項8】アプリケーション・プログラム及びオペレ
    ーティング・システムを有するパーソナル・コンピュー
    タ・システムであって、 データ・バスに電気的に接続されたマイクロプロセッサ
    と、 オペレーテンィング・システムの第1の部分を記憶す
    る、前記データ・バスに電気的に接続された不揮発性メ
    モリと、 前記データ・バスに電気的に接続された揮発性メモリ
    と、 ブート・プログラムを含むオペレーティング・システム
    の第2の部分を第1の部分に記憶し、且つオペレーティ
    ング・システム・ソフトウェアを第2の部分に記憶す
    る、前記データバスに接続されたデータ記憶装置と、 前記ブート・プログラムを前記揮発性メモリ内にロード
    する前に、該ブート・プログラムの整合性を検証する第
    1の検証手段と、 前記オペレーティング・システム・ソフトウェアを前記
    揮発性メモリ内にロードする前に、該オペレーティング
    ・システム・ソフトウェアの整合性を検証する第2の検
    証手段と、 を有するパーソナル・コンピュータ・システム。
  9. 【請求項9】前記第1の検証手段が、前記コンピュータ
    ・システムの初期設定中に、前記ブート・プログラムに
    基づいて初期変更検知コードを作成する手段を含む、 請求項8に記載のパーソナル・コンピュータ・システ
    ム。
  10. 【請求項10】前記初期変更検知コードを作成する手段
    が、前記ブート・プログラムの所与のの入力バイトの列
    から複数バイトの値を計算する暗号的片方向関数を有す
    る、 請求項9に記載のパーソナル・コンピュータ・システ
    ム。
  11. 【請求項11】前記不揮発性メモリが、検査コード部分
    を含み、 前記第1の検証手段が、前記初期変更検知コードを前記
    検査コード部分に記憶する、 請求項9に記載のパーソナル・コンピュータ・システ
    ム。
  12. 【請求項12】前記初期変更検知コードが前記検査コー
    ド部分に記憶された後に、前記不揮発性メモリの前記検
    査コード部分が、該検査コード部分への書込みを防ぐた
    めに書込み禁止状態にされる、 請求項11に記載のパーソナル・コンピュータ・システ
    ム。
  13. 【請求項13】前記第1の検証手段が、コンピュータ・
    システムの電源オン時において現在の変更検知コードを
    前記初期変更検知コードと比較し、 前記現在の変更検知コードが前記初期変更検知コードと
    一致しない場合、前記第1の検証手段が修正動作を行う
    手段を含み、 前記現在変更検知コードが前記初期変更検知コードと一
    致する場合、前記第1の検証手段が前記ブート・プログ
    ラムに制御権を渡す、 請求項11に記載のパーソナル・コンピュータ・システ
    ム。
  14. 【請求項14】前記不揮発性メモリが、フラグ部分を含
    み、 前記第1の検証手段が、前記変更検知コードの存在を示
    すフラグを前記フラグ部分に記憶する、 請求項11に記載のパーソナル・コンピュータ・システ
    ム。
  15. 【請求項15】前記ブート・プログラムが前記第2の検
    証手段を含む、 請求項8に記載のパーソナル・コンピュータ・システ
    ム。
JP5324818A 1993-01-07 1993-12-22 データ検証強化方法及びその装置 Pending JPH06236280A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US001354 1993-01-07
US08/001,354 US5379342A (en) 1993-01-07 1993-01-07 Method and apparatus for providing enhanced data verification in a computer system

Publications (1)

Publication Number Publication Date
JPH06236280A true JPH06236280A (ja) 1994-08-23

Family

ID=21695622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5324818A Pending JPH06236280A (ja) 1993-01-07 1993-12-22 データ検証強化方法及びその装置

Country Status (3)

Country Link
US (1) US5379342A (ja)
EP (1) EP0606771A3 (ja)
JP (1) JPH06236280A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293873A (ja) * 2001-06-15 2007-11-08 Nokia Corp 電子装置の安全性を保証する方法、セキュリティシステム及び電子装置

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5509120A (en) * 1993-11-30 1996-04-16 International Business Machines Corporation Method and system for detecting computer viruses during power on self test
US5572590A (en) * 1994-04-12 1996-11-05 International Business Machines Corporation Discrimination of malicious changes to digital information using multiple signatures
US6046680A (en) * 1994-06-15 2000-04-04 Texas Instruments Incorporated Method of preventing unauthorized reproduction of a transmission code
US5537540A (en) * 1994-09-30 1996-07-16 Compaq Computer Corporation Transparent, secure computer virus detection method and apparatus
US5642506A (en) * 1994-12-14 1997-06-24 International Business Machines Corporation Method and apparatus for initializing a multiprocessor system
US5680540A (en) * 1995-01-31 1997-10-21 Bell Usa, L.P. Suspend-to-disk system for removable hard drive
CN1060575C (zh) * 1995-02-17 2001-01-10 宏碁电脑股份有限公司 测试电脑硬盘驱动器型号的方法及装置
CN1060576C (zh) * 1995-02-17 2001-01-10 宏碁电脑股份有限公司 自动检测计算机系统中的盘类型的方法与装置
US5675645A (en) * 1995-04-18 1997-10-07 Ricoh Company, Ltd. Method and apparatus for securing executable programs against copying
JP4162099B2 (ja) 1995-06-02 2008-10-08 富士通株式会社 ウィルス感染に対処する機能を持つ装置及びその記憶装置
US5754646A (en) * 1995-07-19 1998-05-19 Cable Television Laboratories, Inc. Method for protecting publicly distributed software
DE19539793A1 (de) * 1995-10-26 1997-04-30 Roland Man Druckmasch Rechner für den Leitstand einer Druckmaschine
US5802071A (en) * 1995-11-17 1998-09-01 Fang; I Liang Micro-controller with a built-in test circuit and method for testing the same
CN1059282C (zh) * 1996-04-05 2000-12-06 联华电子股份有限公司 具有ram型态保护锁的软件保护方法
FR2748135B1 (fr) * 1996-04-25 1998-06-19 Aerospatiale Equipement de calcul a memoire amovible pour aeronef
US5802592A (en) * 1996-05-31 1998-09-01 International Business Machines Corporation System and method for protecting integrity of alterable ROM using digital signatures
US6138236A (en) * 1996-07-01 2000-10-24 Sun Microsystems, Inc. Method and apparatus for firmware authentication
US6266736B1 (en) * 1997-01-31 2001-07-24 Sony Corporation Method and apparatus for efficient software updating
US6185678B1 (en) 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
US6170055B1 (en) 1997-11-03 2001-01-02 Iomega Corporation System for computer recovery using removable high capacity media
JPH11175322A (ja) * 1997-12-17 1999-07-02 Sony Corp 情報処理装置および情報処理方法、並びに提供媒体
AU4568299A (en) * 1998-06-15 2000-01-05 Dmw Worldwide, Inc. Method and apparatus for assessing the security of a computer system
JP3937598B2 (ja) * 1998-07-14 2007-06-27 株式会社デンソー 電子制御装置
US6292890B1 (en) * 1998-09-29 2001-09-18 Compaq Computer Corporation Computer system with dynamically configurable boot order
US7197144B1 (en) * 1999-06-08 2007-03-27 Ethos Technologies, Inc. Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users
US6543047B1 (en) 1999-06-15 2003-04-01 Dell Usa, L.P. Method and apparatus for testing custom-configured software/hardware integration in a computer build-to-order manufacturing process
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
AUPQ321699A0 (en) * 1999-09-30 1999-10-28 Aristocrat Leisure Industries Pty Ltd Gaming security system
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US6584561B1 (en) * 2000-09-19 2003-06-24 Dell Products L.P. System and method to modify CD boot
GB2376763B (en) * 2001-06-19 2004-12-15 Hewlett Packard Co Demonstrating integrity of a compartment of a compartmented operating system
US6785846B2 (en) * 2000-12-22 2004-08-31 Intel Corporation Inexpensive method for diagnosing manufacturing defects in an embedded system
GB0102518D0 (en) * 2001-01-31 2001-03-21 Hewlett Packard Co Trusted operating system
GB0102516D0 (en) * 2001-01-31 2001-03-21 Hewlett Packard Co Trusted gateway system
GB2372595A (en) * 2001-02-23 2002-08-28 Hewlett Packard Co Method of and apparatus for ascertaining the status of a data processing environment.
GB2372592B (en) 2001-02-23 2005-03-30 Hewlett Packard Co Information system
GB2376764B (en) * 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments
GB0114898D0 (en) * 2001-06-19 2001-08-08 Hewlett Packard Co Interaction with electronic services and markets
GB2376762A (en) * 2001-06-19 2002-12-24 Hewlett Packard Co Renting a computing environment on a trusted computing platform
EP1412879B1 (en) * 2001-06-29 2012-05-30 Secure Systems Limited Security system and method for computers
DE10131577A1 (de) * 2001-07-02 2003-01-16 Bosch Gmbh Robert Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation seines Programms
US20030009687A1 (en) * 2001-07-05 2003-01-09 Ferchau Joerg U. Method and apparatus for validating integrity of software
US7237121B2 (en) * 2001-09-17 2007-06-26 Texas Instruments Incorporated Secure bootloader for securing digital devices
US20030018892A1 (en) * 2001-07-19 2003-01-23 Jose Tello Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer
GB2378013A (en) * 2001-07-27 2003-01-29 Hewlett Packard Co Trusted computer platform audit system
US7165137B2 (en) * 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
EP1426859B1 (en) * 2001-08-22 2009-11-18 Legend (Beijing) Limited Method of computer rapid start-up
US7191464B2 (en) * 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
GB2382419B (en) * 2001-11-22 2005-12-14 Hewlett Packard Co Apparatus and method for creating a trusted environment
US7013384B2 (en) * 2002-01-15 2006-03-14 Lenovo (Singapore) Pte. Ltd. Computer system with selectively available immutable boot block code
US6889341B2 (en) * 2002-06-28 2005-05-03 Hewlett-Packard Development Company, L.P. Method and apparatus for maintaining data integrity using a system management processor
US7082525B2 (en) * 2002-10-02 2006-07-25 Sandisk Corporation Booting from non-linear memory
US8336044B2 (en) * 2002-10-09 2012-12-18 Rpx Corporation Method and system for deploying a software image
US7024581B1 (en) 2002-10-09 2006-04-04 Xpoint Technologies, Inc. Data processing recovery system and method spanning multiple operating system
US7149946B2 (en) * 2003-06-13 2006-12-12 Microsoft Corporation Systems and methods for enhanced stored data verification utilizing pageable pool memory
US20050010752A1 (en) * 2003-06-23 2005-01-13 Nokia, Inc. Method and system for operating system anti-tampering
US20050132177A1 (en) * 2003-12-12 2005-06-16 International Business Machines Corporation Detecting modifications made to code placed in memory by the POST BIOS
US7594135B2 (en) * 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
JP2005316890A (ja) * 2004-04-30 2005-11-10 Sony Corp プログラム、コンピュータ、データ処理方法、通信システムおよびその方法
CN100447736C (zh) * 2004-05-08 2008-12-31 英特尔公司 包括固件接口运行时环境保护字段的设备和方法
US7353377B2 (en) * 2004-09-10 2008-04-01 Intel Corporation Remotely providing basic input/output system to a client system
JP2006099704A (ja) * 2004-09-30 2006-04-13 Toshiba Corp 情報処理装置および起動制御方法
US20060179308A1 (en) * 2005-02-07 2006-08-10 Andrew Morgan System and method for providing a secure boot architecture
JP4606339B2 (ja) * 2005-02-07 2011-01-05 株式会社ソニー・コンピュータエンタテインメント セキュアなプロセッサの処理の移行を実施する方法および装置
US7793347B2 (en) * 2005-02-07 2010-09-07 Rozas Guillermo J Method and system for validating a computer system
WO2006082985A2 (en) 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Methods and apparatus for providing a secure booting sequence in a processor
JP4522372B2 (ja) * 2005-02-07 2010-08-11 株式会社ソニー・コンピュータエンタテインメント プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置
US8539587B2 (en) 2005-03-22 2013-09-17 Hewlett-Packard Development Company, L.P. Methods, devices and data structures for trusted data
US7660797B2 (en) * 2005-05-27 2010-02-09 Microsoft Corporation Scanning data in an access restricted file for malware
CN100392591C (zh) * 2005-08-16 2008-06-04 中国船舶重工集团公司第七○九研究所 Pc架构嵌入式系统中上电自检的设计方法
KR100746012B1 (ko) * 2005-11-07 2007-08-06 삼성전자주식회사 코드 이미지를 안전하게 갱신하고 부팅하는 방법 및 장치
TW200722990A (en) * 2005-12-14 2007-06-16 Inventec Corp Power-on self test debugging system and method
US20070162759A1 (en) * 2005-12-28 2007-07-12 Motorola, Inc. Protected port for electronic access to an embedded device
SE531992C2 (sv) 2006-02-24 2009-09-22 Oniteo Ab Metod och system för säker programvaruprovisionering
DE102006043167B4 (de) * 2006-09-14 2014-10-16 Ams Ag Mikrocontroller und Verfahren zum Starten eines Anwendungsprogramms auf einem Mikrocontroller
US20080126779A1 (en) * 2006-09-19 2008-05-29 Ned Smith Methods and apparatus to perform secure boot
US20090133097A1 (en) * 2007-11-15 2009-05-21 Ned Smith Device, system, and method for provisioning trusted platform module policies to a virtual machine monitor
US8826080B2 (en) * 2011-07-29 2014-09-02 The Boeing Company Methods and systems for preboot data verification
US9053216B1 (en) 2013-08-09 2015-06-09 Datto, Inc. CPU register assisted virtual machine screenshot capture timing apparatuses, methods and systems
CN103500133A (zh) * 2013-09-17 2014-01-08 华为技术有限公司 故障定位方法及装置
CN104991801A (zh) * 2015-07-06 2015-10-21 青岛海信宽带多媒体技术有限公司 bootloader调试信息的获取方法、设备及系统
US11620199B1 (en) * 2021-12-23 2023-04-04 Quanta Computer Inc. Method and system for detection of post routine deviation for a network device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01108634A (ja) * 1987-10-21 1989-04-25 Nec Corp 外部記録媒体誤使用防止方式
JPH0235549A (ja) * 1988-07-25 1990-02-06 Nec Corp プログラムのロード方式
JPH02294828A (ja) * 1989-05-10 1990-12-05 Fujitsu Ltd 初期プログラムロード時の診断方法
JPH03288231A (ja) * 1990-04-03 1991-12-18 Mitsubishi Electric Corp Implファイル選択方式
JPH04223529A (ja) * 1990-03-22 1992-08-13 Internatl Business Mach Corp <Ibm> コンピュータ・システム及びコンピュータ・システムのブート方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4908861A (en) * 1987-08-28 1990-03-13 International Business Machines Corporation Data authentication using modification detection codes based on a public one way encryption function
US4937861A (en) * 1988-08-03 1990-06-26 Kelly Services, Inc. Computer software encryption apparatus
US5007082A (en) * 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
GB2222899B (en) * 1988-08-31 1993-04-14 Anthony Morris Rose Securing a computer against undesired write operations or from a mass storage device
US5019899A (en) * 1988-11-01 1991-05-28 Control Data Corporation Electronic data encoding and recognition system
US5121345A (en) * 1988-11-03 1992-06-09 Lentz Stephen A System and method for protecting integrity of computer data and software
US4975950A (en) * 1988-11-03 1990-12-04 Lentz Stephen A System and method of protecting integrity of computer data and software
US5022077A (en) * 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
EP0449242A3 (en) * 1990-03-28 1992-10-28 National Semiconductor Corporation Method and structure for providing computer security and virus prevention
US5214695A (en) * 1990-07-23 1993-05-25 International Business Machines Corporation Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
US5128995A (en) * 1990-07-23 1992-07-07 International Business Machines Corp. Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01108634A (ja) * 1987-10-21 1989-04-25 Nec Corp 外部記録媒体誤使用防止方式
JPH0235549A (ja) * 1988-07-25 1990-02-06 Nec Corp プログラムのロード方式
JPH02294828A (ja) * 1989-05-10 1990-12-05 Fujitsu Ltd 初期プログラムロード時の診断方法
JPH04223529A (ja) * 1990-03-22 1992-08-13 Internatl Business Mach Corp <Ibm> コンピュータ・システム及びコンピュータ・システムのブート方法
JPH03288231A (ja) * 1990-04-03 1991-12-18 Mitsubishi Electric Corp Implファイル選択方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293873A (ja) * 2001-06-15 2007-11-08 Nokia Corp 電子装置の安全性を保証する方法、セキュリティシステム及び電子装置

Also Published As

Publication number Publication date
EP0606771A3 (en) 1996-02-28
US5379342A (en) 1995-01-03
EP0606771A2 (en) 1994-07-20

Similar Documents

Publication Publication Date Title
JPH06236280A (ja) データ検証強化方法及びその装置
KR950002945B1 (ko) 퍼스널 컴퓨터 시스템내의 시스템 유틸리티 보호 장치
US5214695A (en) Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
US6564318B1 (en) Method and apparatus for execution of an application during computer pre-boot operation and post-boot under normal OS control
US7257842B2 (en) Pre-approval of computer files during a malware detection
CA2020521C (en) Apparatus and method for decreasing the memory requirements for bios in a personal computer system
US7136994B2 (en) Recovery images in an operational firmware environment
US6560702B1 (en) Method and apparatus for execution of an application during computer pre-boot operation
US9026773B2 (en) Providing a secure execution mode in a pre-boot environment
US6512526B1 (en) User specific execution of programs
US6772281B2 (en) Disk drive for selectively satisfying a read request from a host computer for a first valid data block with a second valid data block
JP3293760B2 (ja) 改ざん検知機能付きコンピュータシステム
US5210875A (en) Initial bios load for a personal computer system
US5586327A (en) Extended initialization for personal data processing systems
US20030014619A1 (en) Method and system for master boot record recovery
US20120011354A1 (en) Boot loading of secure operating system from external device
US20070277029A1 (en) System and Method for Installing System Manufacturer Provided Software
US8601227B2 (en) Methods and apparatus for demand-based memory mirroring
US20050289357A1 (en) Apparatus and method for securely and conveniently rebooting a computer system
US20150154033A1 (en) Computer system and boot method thereof
JP2006012157A (ja) 不揮発性記憶デバイスを消去するソフトウェア
US7600106B2 (en) System and method for enabling/disabling write-protection of a basic input output system
US20030084307A1 (en) Secure boot device selection method and system
US20050273584A1 (en) Locating environment variables in non-volatile memory
Both Preparation