説明

情報処理装置、情報処理方法、及び情報処理プログラム

【課題】よりセキュリティを向上しつつ、正常でないBIOSによる起動を抑止すること。
【解決手段】本発明にかかる情報処理装置9は、BIOS(Basic Input/Output System)910が予め格納されたBIOS記憶部91と、正常なBIOS910のデータと予め任意の値に定められた付加データとを含む合成データの誤り検出符号920を予め格納する符号記憶部92と、BIOS記憶部91に格納されたBIOS910を起動するときに、BIOS910のデータと付加データとを含む合成データの誤り検出符号を生成し、生成した誤り検出符号と符号記憶部92に格納された誤り検出符号920とを比較して、それらの誤り検出符号が一致しなかった場合、BIOS910の起動を抑止する管理部93とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関し、特にBIOS(Basic Input/Output System)の起動を制御する技術に関する。
【背景技術】
【0002】
近年、情報処理装置においては、コンピュータウイルスによる犯罪が頻発している。このため、コンピュータウイルスで大切な情報を消去又は破壊されないようにすることが望まれている。
【0003】
情報処理装置は、その起動時に不揮発性メモリに書き込まれている基本入出力システム(BIOS)等のプログラムによりオペレーティングシステムを立ち上げている。BIOSは、書き換え可能な不揮発性メモリに書き込まれている。情報処理装置には、BIOSがコンピュータウイルスによって破壊されてしまった場合、もしくは、BIOSがコンピュータウイルスに感染してしまった場合、POST(Power On Self Test)において起動を抑止するものがある。
【0004】
特許文献1には、コンピュータウイルス等で破壊、感染されたBIOSやIPLで情報処理装置を起動させなくする技術が開示されている。特許文献1に開示の情報処理装置は、フラッシュROM部、ジャンパー部、フラッシュROM読み出し部、加算回路部、比較回路部を有している。フラッシュROM部には、IPL(Initial Program Load)やBIOSといったプログラムが書き込まれている。ジャンパー部には、フラッシュROM部の内容が正常な時のデータの合計が設定されている。情報処理装置に電源が供給されたとき、フラッシュROM読み出し部は、フラッシュROM部の内容を次々読み出して加算回路部に送る。加算回路部は、その合計を計算する。比較回路部は、加算回路部の合計結果と、ジャンパー部に設定された合計とを比較する。そして、それらが一致している場合、情報処理装置は、IPLやBIOS等の動作を開始する。他方、それらが一致していない場合、情報処理装置は、IPLやBIOS等の動作を開始しない。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−027035号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1では、単純に、フラッシュROM部の合計値によって、BIOS等が破壊、感染されていないかを判定するようにしている。しかし、フラッシュROM部の合計値だけでは、第3者が容易に知ることができるため、セキュリティ対策として十分でないという問題がある。
【0007】
例えば、情報処理装置に感染したコンピュータウイルスは、単純にフラッシュROM部のデータを読み出すだけで、その合計値を計算することができる。そのため、フラッシュROM部のデータの合計値が、計算した合計値と一致するように、フラッシュROM部のデータを書き換えることで、フラッシュROM部に格納されたBIOS等のプログラムを容易に改竄することができる。
【0008】
本発明の目的は、上述したような課題を解決するために、よりセキュリティを向上しつつ、正常でないBIOSによる起動を抑止することができる情報処理装置、情報処理方法、及び情報処理プログラムを提供することである。
【課題を解決するための手段】
【0009】
本発明の第1の態様にかかる情報処理装置は、BIOS(Basic Input/Output System)が予め格納されたBIOS記憶部と、正常な前記BIOSのデータと予め任意の値に定められた付加データとを含む合成データの誤り検出符号を予め格納する符号記憶部と、前記BIOS記憶部に格納されたBIOSを起動するときに、当該BIOSのデータと前記付加データとを含む合成データの誤り検出符号を生成し、生成した誤り検出符号と前記符号記憶部に格納された誤り検出符号とを比較して、それらの誤り検出符号が一致しなかった場合、前記BIOSの起動を抑止する管理部と、を備えたものである。
【0010】
本発明の第2の態様にかかる情報処理方法は、BIOS(Basic Input/Output System)を起動するときに、当該BIOSのデータと、予め任意の値に定められた付加データとを含む合成データの誤り検出符号を生成するステップと、予め生成された、正常な前記BIOSのデータと前記付加データとを含む合成データの誤り検出符号と、前記BIOSを起動するときに生成された誤り検出符号とを比較して、それらの誤り検出符号が一致しなかった場合、前記BIOSの起動を抑止するステップと、を備えたものである。
【0011】
本発明の第3の態様にかかる情報処理プログラムは、BIOS(Basic Input/Output System)を起動するときに、当該BIOSのデータと、予め任意の値に定められた付加データとを含む合成データの誤り検出符号を生成する処理と、予め生成された、正常な前記BIOSのデータと前記付加データとを含む合成データの誤り検出符号と、前記BIOSを起動するときに生成された誤り検出符号とを比較して、それらの誤り検出符号が一致しなかった場合、前記BIOSの起動を抑止する処理と、をBMC(Baseboard Management Controller)に実行させるものである。
【発明の効果】
【0012】
上述した本発明の各態様によれば、よりセキュリティを向上しつつ、正常でないBIOSによる起動を抑止することができる情報処理装置、情報処理方法、及び情報処理プログラムを提供することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施の形態にかかる情報処理装置の構成の概要を示すブロック図である。
【図2】本発明の実施の形態にかかる情報処理装置の構成を示すブロック図である。
【図3】本発明の実施の形態にかかる情報処理装置の起動処理を示すフローチャートである。
【図4】本発明の実施の形態にかかる情報処理装置の設定情報更新処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
まず、図1を参照して、本発明の実施の形態にかかる情報処理装置1の概要となる情報処理装置9の構成について説明する。図1は、本発明の実施の形態にかかる情報処理装置9の構成を示すブロック図を示す。
【0015】
情報処理装置9は、BIOS記憶部91、符号記憶部92、及び管理部93を有する。
【0016】
BIOS記憶部91は、BIOS910が予め格納されている。符号記憶部92は、正常なBIOS910のデータと、予め任意の値に定められた付加データとを含む合成データの誤り検出符号が予め格納されている。管理部93は、BIOS91に格納されたBIOS910を起動するときに、BIOS910のデータと符号データとを含む合成データの誤り検出符号を生成する。管理部93は、生成した誤り検出符号と符号記憶部92に格納された誤り検出符号とを比較して、それらの誤り検出符号が一致しなかった場合、BIOS910の起動を抑止する。
【0017】
続いて、本発明の実施の形態にかかる情報処理装置9の処理について説明する。
【0018】
管理部93は、BIOS910を起動するときに、BIOS910のデータと、予め任意の値に定められた付加データとを含む合成データの誤り検出符号を生成する。管理部93は、正常なBIOS910のデータと付加データとを含む合成データの誤り検出符号920と、BIOS910を起動するときに生成された誤り検出符号とを比較する。管理部93は、誤り検出符号が一致しなかった場合、BIOS910の起動を抑止する。
【0019】
続いて、本発明の実施の形態について図面を参照して詳細に説明する。まず、図2を参照して、本発明の実施の形態にかかる情報処理装置1の構成について説明する。図2は、本発明の実施の形態にかかる情報処理装置1の構成を示すブロック図である。情報処理装置1は、例えば、サーバ等である。
【0020】
より具体的には、図2は、情報処理装置1に含まれるマザーボード10のアーキテクチャを示している。このアーキテクチャは、1つの例を例示したものであり、後述する本発明の機能を実現することが可能であれば、その構成を適宜変更するようにしてもよい。
【0021】
マザーボード10は、CPU(Central Processing Unit)11、プロセッサバス12、ノースブリッジ13、メモリ14、サウスブリッジ15、ロウピンカウント(LPC:Low Pin Count)バス16、不揮発性メモリ17、19、及びBMC18を有する。CPU11及びノースブリッジ13は、プロセッサバス12を介して相互に接続されている。サウスブリッジ15、不揮発性メモリ17、19及びBMC18は、LPCバス16を介して相互に接続されている。
【0022】
CPU11は、不揮発性メモリ17からBIOS170をロードして実行する。CPU11は、BIOS170を実行することによって、情報処理装置1が有するユニットの初期化等のPOSTを実行する。CPU11は、POSTの終了後、OS(Operating System)を実行する。なお、「CPU」のことを「プロセッサ」とも言う。
【0023】
プロセッサバス12は、CPU11とノースブリッジ13との間でデータが転送される転送経路である。ノースブリッジ13は、メモリ14とCPU11との間で転送されるデータ、及びサウスブリッジ15とCPU11との間で転送されるデータを管理する。ノースブリッジ13は、サウスブリッジ15によって制御されるユニットよりも高速なユニットを制御するチップである。ここでは、そのようなユニットとしてメモリ14が該当する。
【0024】
メモリ14は、メモリユニット(図示せず)及びメモリコントローラ(図示せず)を含む。メモリユニットは、例えば、SRAM(Static Random Access Memory)、及びDRAM(Dynamic Random Access Memory)等のランダムアクセス可能な揮発性メモリである。メモリコントローラは、CPU11からの要求に応じて、メモリユニットに対するデータの読み書きを制御する。なお、メモリコントローラの機能は、ノースブリッジ13に含まれていてもよい。
【0025】
サウスブリッジ15は、ノースブリッジ13と、不揮発性メモリ17、19及びBMC18との間で転送されるデータを管理する。サウスブリッジ15は、ノースブリッジ13によって制御されるユニットよりも低速なユニットを制御するチップである。サウスブリッジ15は、例えば、LPCバスコントローラ、PCI(Peripheral Component Interconnect)バスコントローラ、IDE(Integrated Drive Electronics)コントローラ、及びUSB(Universal Serial Bus)コントローラ等の機能を有する。本実施の形態では、それらの機能のうち、LPCバスコントローラの機能によってデータ転送制御が行われるLPCバスについて図示している。その他のバス及びその先に接続されたユニットについては、図示を省略している。それらのユニットには、例えば、マウス及びキーボード等の入出力装置、並びに、ハードディスクのような記憶装置が含まれる。例えば、CPU11によって実行されるOSは、このハードディスクに格納されている。ノースブリッジ13及びサウスブリッジ15は、マザーボード10においてチップセットとも言われる。
【0026】
なお、メモリコントローラ、ノースブリッジ13及びサウスブリッジ15による各構成要素11、14、17、18、19間のデータの転送制御については、周知の技術であるため、詳細な説明は省略する。
【0027】
LPCバス16は、サウスブリッジ15、不揮発性メモリ17、19、及びBMC18間でのデータが転送される転送経路である。不揮発性メモリ17は、BIOS170が予め格納されている。また、不揮発性メモリ17には、BIOS170の設定情報171も格納される。BIOS170は、CPU11にPOSTを実行させるプログラムである。また、BIOS170は、不揮発性メモリ17に格納されたデータ170、171を更新するときに、それに合わせてチェックサム値190も更新する。チェックサム値190については、後述する。設定情報171は、例えば、起動デバイスの優先順位、クロック、及び、装置構成等の情報が含まれる。
【0028】
BMC18は、情報処理装置1の電源制御、並びに、情報処理装置1に含まれる各種ユニットの温度及び電圧等の管理を行う。BMC18は、CPU11によってOS上で実行されるシステム管理ソフトウェアと、各種ユニットとの間のインターフェイスとして機能する。なお、ここでのシステム管理ソフトウェアによるBMC18からの情報の取得は、IPMI(Intelligent Platform Management Interface)仕様に基づくコマンドインタフェースによって行う。つまり、システム管理ソフトウェアによるユニットの情報の取得は、システム管理ソフトウェアがユニットの情報を要求するIPMIコマンドをBMC18に出力し、BMC18がそれに応じてユニットの情報をCPU11に出力することによって実現する。なお、これらシステム管理ソフトウェアによる処理は、厳密には、CPU11によって実行されることになる。
【0029】
また、BMC18は、WDT(ウォッチドックタイマ)によって、CPU11において動作するOSがストールしたか否かを監視する。具体的には、BMC18は、所定の時間の間、OSから応答がなかった場合、OSがストールしたと判定する。BMC18は、OSがストールしたと判定した場合は、CPU11を再起動する。例えば、BMC18は、CPU11を再起動する信号をCPU11に出力することによって、CPU11を再起動する。
【0030】
また、BMC18は、付加データを生成する。この付加データの値は、予め任意の値を定めることができる。付加データのデータ長も、予め任意の長さを定めることができる。BMC18が生成した付加データは、後述するチェックサム値の計算に使用される。BMC18は、CPU11によってBIOS170を起動する前に、不揮発性メモリ17のデータを読み出す。このデータには、BIOS170のデータと設定情報171が含まれる。BMC18は、読み出した不揮発性メモリ17のデータに、生成した付加データを付加したデータについて、チェックサム値を計算する。そして、BMC18は、計算したチェックサム値と、不揮発性メモリ19に格納されたチェックサム値190とを比較する。ここで、チェックサム値190については、後に詳述するが、計算したチェックサム値の期待値となる。そのため、BMC18は、比較したチェックサム値が一致した場合は、CPU11によるBIOS170の実行を許容し、比較したチェックサム値が不一致の場合は、CPU11によるBIOS170の実行を抑制する。
【0031】
ここで、本実施の形態にかかるBMC18の処理は、BMC18上で動作するファームウェアによって実現される。BMC18は、例えば、そのファームウェアを実行するCPU及びメモリ等を有する。
【0032】
不揮発性メモリ19には、チェックサム値190が予め格納されている。このチェックサム値は、不揮発性メモリ17の正常なデータに付加データを付加したデータについて、予め計算されたチェックサム値となる。つまり、不揮発性メモリ19に格納されているチェックサム値190は、不揮発性メモリ17に格納されるデータに、BMC18によって生成される付加データを付加したデータのチェックサム値の期待値となる。よって、BIOS170を起動する時にBMC18によって計算されるチェックサム値と、不揮発性メモリ19に予め格納されたチェックサム値とが一致する場合、不揮発性メモリ17に格納されたデータは破壊・改竄等されていないことになる。ここで、不揮発性メモリ17、19は、例えば、フラッシュメモリである。
【0033】
続いて、図3を参照して、本発明の実施の形態にかかる情報処理装置1の起動処理について説明する。図3は、本発明の実施の形態にかかる情報処理装置1の起動処理を示すフローチャートである。なお、以下のBIOS170によって実行される処理は、厳密には、CPU11によって実行されることになる。
【0034】
BMC18は、電源オン指示を受ける(S1)と、情報処理装置1の起動を開始する。電源オン指示は、例えば、ユーザによる情報処理装置1の電源投入スイッチの押下に応じて情報処理装置1からBMC18に出力される信号である。BMC18は、電源オン指示に応じて、BIOS170の起動を開始する前に、付加データを生成する(S2)。さらに、BMC18は、不揮発性メモリ17のデータを読み出し、読み出した不揮発性メモリ17のデータに、生成した付加データを加えたデータについて、チェックサム値を計算する(S3)。
【0035】
BMC18は、計算したチェックサム値と、不揮発性メモリ19に格納されたチェックサム値190とを比較する(S4)。
【0036】
比較したチェックサム値が一致している場合、BMC18は、情報処理装置1を起動する(S5)。つまり、BMC18は、CPU11にBIOS170の起動指示を出力する。CPU11は、BMC18からのBIOS170の起動指示に応じて、不揮発性メモリ17からBIOS170を読み出して実行する。ここで、BMC18は、BIOS170の起動指示として割り込み信号をCPU11に出力して、CPU11がその割り込み信号に応じてBIOS170を起動するようにしてもよい。また、BMC18は、BIOS170の起動指示としてその旨を示す情報を、サウスブリッジ15、ノースブリッジ13を介してCPU11に出力して、CPU11がその情報に応じてBIOS170を起動するようにしてもよい。実行が開始されたBIOS170は、POSTを実行する。そして、CPU11は、POSTの実行終了後、OSを起動する。これによって、情報処理装置1の起動が完了する。
【0037】
他方、比較したチェックサム値が一致しない場合、BMC18は、情報処理装置1の起動を抑止する(S6)。つまり、この場合は、BIOS170又は設定情報171がコンピュータウイルス等によって破壊されていると判定する。よって、この場合、BMC18は、CPU11にBIOS170の起動指示を出力しない。これによって、BIOS170及び情報処理装置1の起動が抑止される。
【0038】
続いて、図4を参照して、本発明の実施の形態にかかる情報処理装置1の設定情報更新処理について説明する。図4は、本発明の実施の形態にかかる情報処理装置1の設定情報更新処理を示すフローチャートである。なお、以下のBIOS170によって実行される処理は、厳密には、CPU11によって実行されることになる。
【0039】
BIOS170の起動後、BIOS170は、通常動作で設定情報171を書き換える場合(S11)、BMC18から付加データを取得する(S12)。ここでの通常動作における設定情報171の書き換えとは、例えば、ユーザがBIOS170の起動後にBIOSの設定画面上で各種BIOSの設定情報の設定をする場合や、BIOS170がPOSTにおいて情報処理装置1の構成変更を自動検出して装置構成の情報を設定する場合が含まれる。
【0040】
また、BMC18からの付加データの取得には、IPMIコマンドを使用する。具体的には、IPMIのOEM(Original Equipment Manufacturer)拡張コマンドを使用する。つまり、BIOS170からBMC18に付加データを要求するコマンドを、IPMIのOEM拡張コマンドで実装すればよい。そして、BIOS170がこの付加データを要求するコマンドをBMC18に出力したときに、BMC18がそのコマンドに応じて付加データを生成して、生成した付加データをCPU11に出力するようにする。
【0041】
CPU11は、書き換え後の新たな不揮発性メモリ17のデータにBMC18から取得した付加データを付加したデータについて、チェックサム値を計算する(S13)。例えば、設定情報171を書き換えた後に、不揮発性メモリ17のデータを読み出して、チェックサム値の計算を実行する。なお、ステップS12における付加データの取得は、チェックサム値を計算するまでであれば、設定情報171の書き換え前及び書き換え後のいずれのタイミングで実行してもよい。CPU11は、計算したチェックサム値で、不揮発性メモリ19のチェックサム値190を更新する(S14)。
【0042】
以上に説明したように、本実施の形態では、単純にBIOS170が格納された不揮発性メモリ7のデータのみのチェックサム値ではなく、そのデータに付加データを加えてチェックサム値を計算して、そのチェックサム値によってBIOS170の破壊を検出するようにしている。これによれば、第3者は、チェックサム値を得るためには付加データの存在を知った上で、さらにその付加データを取得する必要がある。そのため、第3者は、チェックサム値を容易に知ることはできない。したがって、例えば、コンピュータウイルスによってBIOS等のプログラムを容易に改竄されないようにすることができる。つまり、セキュリティを向上しつつ、正常でないBIOSによる起動を抑止することができる。
【0043】
また、本実施の形態では、BMC18が付加データを生成して、その付加データを付加したデータについてチェックサム値を計算するようにしている。これによれば、第3者は、単に、いずれかの記憶装置を参照するだけで付加データを取得できるといったように、付加データを容易に取得することはできない。そのため、よりセキュリティを向上することができる。
【0044】
また、特許文献1では、BIOSが格納されるフラッシュROM部の全データの合計値によって、BIOS等が破壊、感染されていないかを判定するようにしている。また、ジャンパー部に、フラッシュROM部の内容が正常な時のデータの合計値を固定的に設定するようにしている。しかしながら、一般的に、BIOSの設定情報は、BIOSが格納される記憶装置(フラッシュROM部)に格納されている。そのため、BIOSが設定情報を更新したときに、計算した合計値が、ジャンパー部に設定されている合計値と異なってしまい、BIOS等が正常であるのに情報処理装置が起動できなくなってしまうという問題があった。それに対して、本実施の形態では、不揮発性メモリ17に格納された設定情報171を書き換えるときに、それに応じて、期待値となるチェックサム値190も更新するようにしている。そのため、BIOSの設定情報を書き換えたときであっても、BIOSに異常がある場合のみに正確に情報処理装置の起動を抑止することが可能となる。
【0045】
なお、本実施の形態では、BIOS170の設定情報171が書き換えられた場合に、チェックサム値190を更新するようにしているが、BIOS170が書き換えられた場合にも、チェックサム値190を更新する。BIOS170の書き換えは、例えば、ユーザがBIOS170の起動後にBIOS170の設定画面上でBIOS170を書き換える場合や、OSの起動後にOS上からBIOS170を書き換えるアプリケーションプログラムを実行することによってBIOS170を書き換える場合等が含まれる。この場合におけるチェックサム値190の更新も、設定情報171が書き換えられた場合と同様に実施すればよい。例えば、BIOS170を書き換えた後に、不揮発性メモリ17のデータを読み出して、チェックサム値の計算を実行するようにすればよい。なお、付加データも同様にして取得するようにすればよい。
【0046】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0047】
本実施の形態では、チェックサム値190がLPCバス16に接続された不揮発性メモリ19に格納されている場合について例示したが、チェックサム値190の格納場所は、CPU11及びBMC18が更新及び参照することができる場所であれば、どのような場所であってもよい。例えば、チェックサム値190は、メモリ14に格納するようにしてもよく、BMC18内に揮発性メモリ又は不揮発性メモリを設けるようにして、その中に格納するようにしてもよい。また、チェックサム値190を格納する記憶装置は、揮発性メモリ及び不揮発性メモリに限られず、レジスタであってもよい。
【0048】
本実施の形態では、BIOS170のデータ及び設定情報171を含む不揮発性メモリ17全体のデータについて、チェックサム値を計算して破壊をチェックするようにしているが、破壊をチェックするデータは、不揮発性メモリ17に格納されたデータの一部であってもよい。例えば、不揮発性メモリ17に格納されるデータのうち、BIOS17のデータのみについて、チェックサム値を計算して破壊をチェックするようにしてもよい。つまり、BIOS17のデータに付加データを付加したデータについてチェックサム値を計算して、BIOS17の破壊をチェックするようにしてもよい。なお、この場合は、正常なBIOS17のデータに付加データを付加したデータについてのチェックサム値を不揮発性メモリ19に格納するようにする。そのようにしても、セキュリティを向上しつつ、BIOS170の破壊を検出することが可能であるからである。
【0049】
本実施の形態では、チェックサム値を計算して破壊をチェックするようにしているが、他の誤り検出符号を使用するようにしてもよい。例えば、CRC(Cyclic Redundancy Check)、パリティ、チェックサム、ハッシュ値等を使用するようにしてもよい。
【0050】
また、本発明の実施の形態では、プログラムとして、BIOS170及びBMC18のファームウェアを有している。これらのプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0051】
また、コンピュータが上述の実施の形態の機能を実現するプログラムを実行することにより、上述の実施の形態の機能が実現される場合だけでなく、このプログラムが、コンピュータ上で稼動しているOS(Operating System)もしくはアプリケーションソフトウェアと共同して、上述の実施の形態の機能を実現する場合も、本発明の実施の形態に含まれる。さらに、このプログラムの処理の全てもしくは一部がコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットによって行われて、上述の実施の形態の機能が実現される場合も、本発明の実施の形態に含まれる。
【符号の説明】
【0052】
1、9 情報処理装置
10 マザーボード
11 CPU
12 プロセッサバス
13 ノースブリッジ
14 メモリ
15 サウスブリッジ
16 LPCバス
17、19 不揮発性メモリ
18 BMC
91 BIOS記憶部
92 符号記憶部
93 管理部
170 BIOS
171 設定情報
190 チェックサム値
910 BIOS
920 誤り検出符号

【特許請求の範囲】
【請求項1】
BIOS(Basic Input/Output System)が予め格納されたBIOS記憶部と、
正常な前記BIOSのデータと予め任意の値に定められた付加データとを含む合成データの誤り検出符号を予め格納する符号記憶部と、
前記BIOS記憶部に格納されたBIOSを起動するときに、当該BIOSのデータと前記付加データとを含む合成データの誤り検出符号を生成し、生成した誤り検出符号と前記符号記憶部に格納された誤り検出符号とを比較して、それらの誤り検出符号が一致しなかった場合、前記BIOSの起動を抑止する管理部と、
を備えた情報処理装置。
【請求項2】
前記情報処理装置は、さらに前記付加データを生成する付加データ生成部を備え、
前記管理部は、前記BIOSのデータと、前記付加データ生成部によって生成された付加データとを含む合成データの誤り検出符号を生成する、
請求項1に記載の情報処理装置。
【請求項3】
前記BIOS記憶部は、さらに前記BIOSの設定情報が格納され、
前記合成データは、さらに前記BIOSの設定情報を含み、
前記情報処理装置は、前記BIOS記憶部に格納された設定情報を書き換えるときに、前記付加データ生成部によって生成された付加データを取得し、取得した付加データ、前記BIOSのデータ、及び前記書き換え後のBIOSの設定情報を含む合成データの誤り検出符号を生成し、生成した誤り検出符号で前記符号記憶部に格納された誤り検出符号を更新する制御部をさらに備えた請求項2に記載の情報処理装置。
【請求項4】
前記制御部は、プロセッサであり、
前記情報処理装置は、さらに前記管理部及び前記付加データ生成部を含むBMC(Baseboard Management Controller)を備えた、
請求項3に記載の情報処理装置。
【請求項5】
前記プロセッサは、前記BMCとの間で、IPMI(Intelligent Platform Management Interface)コマンドによって前記情報処理装置に含まれるハードウェアに関する情報を送受信するものであって、
前記プロセッサは、前記IPMIのOEM(Original Equipment Manufacturer)拡張コマンドによって、前記付加データを前記BMCから取得する請求項4に記載の情報処理装置。
【請求項6】
前記誤り検出符号は、前記合成データのチェックサム値である請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
BIOS(Basic Input/Output System)を起動するときに、当該BIOSのデータと、予め任意の値に定められた付加データとを含む合成データの誤り検出符号を生成するステップと、
予め生成された、正常な前記BIOSのデータと前記付加データとを含む合成データの誤り検出符号と、前記BIOSを起動するときに生成された誤り検出符号とを比較して、それらの誤り検出符号が一致しなかった場合、前記BIOSの起動を抑止するステップと、
を備えた情報処理方法。
【請求項8】
BIOS(Basic Input/Output System)を起動するときに、当該BIOSのデータと、予め任意の値に定められた付加データとを含む合成データの誤り検出符号を生成する処理と、
予め生成された、正常な前記BIOSのデータと前記付加データとを含む合成データの誤り検出符号と、前記BIOSを起動するときに生成された誤り検出符号とを比較して、それらの誤り検出符号が一致しなかった場合、前記BIOSの起動を抑止する処理と、
をBMC(Baseboard Management Controller)に実行させる情報処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate