IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ レノボ・シンガポール・プライベート・リミテッドの特許一覧

<>
  • 特許-情報処理装置、及び耐タンパ方法 図1
  • 特許-情報処理装置、及び耐タンパ方法 図2
  • 特許-情報処理装置、及び耐タンパ方法 図3
  • 特許-情報処理装置、及び耐タンパ方法 図4
  • 特許-情報処理装置、及び耐タンパ方法 図5
  • 特許-情報処理装置、及び耐タンパ方法 図6
  • 特許-情報処理装置、及び耐タンパ方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-01-27
(45)【発行日】2023-02-06
(54)【発明の名称】情報処理装置、及び耐タンパ方法
(51)【国際特許分類】
   G06F 9/4401 20180101AFI20230130BHJP
   G06F 13/38 20060101ALI20230130BHJP
   G06F 13/10 20060101ALI20230130BHJP
【FI】
G06F9/4401
G06F13/38 350
G06F13/10 330B
【請求項の数】 7
(21)【出願番号】P 2021194808
(22)【出願日】2021-11-30
【審査請求日】2021-11-30
(73)【特許権者】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】▲片▼山 洋祐
(72)【発明者】
【氏名】徳野 真弘
(72)【発明者】
【氏名】馬 克
(72)【発明者】
【氏名】▲高▼瀬 允博
【審査官】福西 章人
(56)【参考文献】
【文献】特開2011-180819(JP,A)
【文献】米国特許出願公開第2006/0092049(US,A1)
【文献】米国特許出願公開第2003/0126511(US,A1)
【文献】米国特許出願公開第2009/0282265(US,A1)
【文献】中国特許出願公開第107766102(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/44-9/445
G06F 13/10
G06F 13/38
(57)【特許請求の範囲】
【請求項1】
メイン基板に実装され、システムを起動するためのブートプログラムを記憶する第1メモリと、
前記第1メモリとは異なる前記メイン基板上の場所に実装され、前記ブートプログラムのバックアップを記憶する第2メモリと、
前記ブートプログラムによりシステムを起動し、前記システムに基づく情報処理を実行するメインプロセッサと、
前記第1メモリの周辺に配置され、前記第1メモリを実装する半田に、融解する温度が与えられた場合に、導通が切断されるヒューズと、
前記ヒューズが導通している場合に、前記メインプロセッサと前記第1メモリとの間を、前記メインプロセッサが前記第1メモリから前記ブートプログラムを取得可能な接続にし、前記ヒューズの導通が切断された場合に、前記メインプロセッサと前記第2メモリとの間を、前記メインプロセッサが前記第2メモリから前記ブートプログラムを取得可能な接続に切り替える接続切替部と
を備え、
前記メインプロセッサは、前記ヒューズの導通が切断された場合に、前記第2メモリが記憶するバックアップの前記ブートプログラムから前記システムを起動する
情報処理装置。
【請求項2】
前記メインプロセッサと、前記第1メモリ及び前記第2メモリとは、前記接続切替部を経由して、SPI(Serial Peripheral Interface)バスにより接続され、
前記接続切替部は、前記ヒューズの導通の状態に応じて、チップセレクト信号線を、前記第1メモリと、前記第2メモリとの間で切り替える
請求項1に記載の情報処理装置。
【請求項3】
前記メインプロセッサと異なるプロセッサであって、周辺機器を管理するサブプロセッサを備え、
前記サブプロセッサは、前記ヒューズの導通が切断されたことを検出し、前記ヒューズの導通が切断された場合に、外部に警告を通知する
請求項1又は請求項2に記載の情報処理装置。
【請求項4】
前記サブプロセッサは、前記ヒューズの導通が切断された場合に、前記ヒューズの導通が切断されたことを示す情報を、表示部に表示させる
請求項3に記載の情報処理装置。
【請求項5】
前記サブプロセッサと前記第1メモリ及び前記第2メモリとが、前記接続切替部を経由して接続され、
前記メインプロセッサは、前記サブプロセッサを経由して、前記ブートプログラムを取得する
請求項3又は請求項4に記載の情報処理装置。
【請求項6】
前記ヒューズは、サーマルヒューズである
請求項1から請求項5のいずれか一項に記載の情報処理装置。
【請求項7】
メイン基板に実装され、システムを起動するためのブートプログラムを記憶する第1メモリと、前記第1メモリとは異なる前記メイン基板上の場所に実装され、前記ブートプログラムのバックアップを記憶する第2メモリと、前記ブートプログラムによりシステムを起動し、前記システムに基づく情報処理を実行するメインプロセッサと、前記第1メモリの周辺に配置され、前記第1メモリを実装する半田に、融解する温度が与えられた場合に、導通が切断されるヒューズと、前記ヒューズが導通している場合に、前記メインプロセッサと前記第1メモリとの間を、前記メインプロセッサが前記第1メモリから前記ブートプログラムを取得可能な接続にし、前記ヒューズの導通が切断された場合に、前記メインプロセッサと前記第2メモリとの間を、前記メインプロセッサが前記第2メモリから前記ブートプログラムを取得可能な接続に切り替える接続切替部とを備える情報処理装置の耐タンパ方法であって、
前記接続切替部が、前記ヒューズの導通が切断された場合に、前記メインプロセッサと前記第2メモリとの間を接続する接続に切り替えるステップと、
前記メインプロセッサが、前記ヒューズの導通が切断された場合に、前記第2メモリが記憶するバックアップの前記ブートプログラムから前記システムを起動するステップと
を含む耐タンパ方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、及び耐タンパ方法に関する。
【背景技術】
【0002】
パーソナルコンピュータ(PC:Personal Computer)などの情報処理装置では、CPU(Central Processing Unit)に、BIOS(Basic Input Output System)等のブートプログラムを実行させることで、コンピュータシステムを起動する。従来の情報処理装置では、BIOS等のブートプログラムは、例えば、CPUとSPIバス(Serial Peripheral Interface Bus)により接続されるメモリ(例えば、フラッシュメモリ)に記憶されている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2021-157488号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来の情報処理装置では、例えば、悪意を持った攻撃者により、情報収集のために、ブートプログラムが記憶されているメモリが取り外された場合に、システムを正常に起動できなくなる可能性があった。
【0005】
本発明は、上記問題を解決すべくなされたもので、その目的は、攻撃者によって、ブートプログラムが記憶されているメモリが取り外された場合であっても、システムを正常に起動することができる情報処理装置、及び耐タンパ方法を提供することにある。
【課題を解決するための手段】
【0006】
上記問題を解決するために、本発明の一態様は、メイン基板に実装され、システムを起動するためのブートプログラムを記憶する第1メモリと、前記第1メモリとは異なる前記メイン基板上の場所に実装され、前記ブートプログラムのバックアップを記憶する第2メモリと、前記ブートプログラムによりシステムを起動し、前記システムに基づく情報処理を実行するメインプロセッサと、前記第1メモリの周辺に配置され、前記第1メモリを実装する半田に、融解する温度が与えられた場合に、導通が切断されるヒューズと、前記ヒューズが導通している場合に、前記メインプロセッサと前記第1メモリとの間を、前記メインプロセッサが前記第1メモリから前記ブートプログラムを取得可能な接続にし、前記ヒューズの導通が切断された場合に、前記メインプロセッサと前記第2メモリとの間を、前記メインプロセッサが前記第2メモリから前記ブートプログラムを取得可能な接続に切り替える接続切替部とを備え、前記メインプロセッサは、前記ヒューズの導通が切断された場合に、前記第2メモリが記憶するバックアップの前記ブートプログラムから前記システムを起動する情報処理装置である。
【0007】
また、本発明の一態様は、上記の情報処理装置において、前記メインプロセッサと、前記第1メモリ及び前記第2メモリとは、前記接続切替部を経由して、SPI(Serial Peripheral Interface)バスにより接続され、前記接続切替部は、前記ヒューズの導通の状態に応じて、チップセレクト信号線を、前記第1メモリと、前記第2メモリとの間で切り替えるようにしてもよい。
【0008】
また、本発明の一態様は、上記の情報処理装置において、前記メインプロセッサと異なるプロセッサであって、周辺機器を管理するサブプロセッサを備え、前記サブプロセッサは、前記ヒューズの導通が切断されたことを検出し、前記ヒューズの導通が切断された場合に、外部に警告を通知するようにしてもよい。
【0009】
また、本発明の一態様は、上記の情報処理装置において、前記サブプロセッサは、前記ヒューズの導通が切断された場合に、前記ヒューズの導通が切断されたことを示す情報を、表示部に表示させるようにしてもよい。
【0010】
また、本発明の一態様は、上記の情報処理装置において、前記ヒューズは、サーマルヒューズであってもよい。
【0011】
また、本発明の一態様は、上記の情報処理装置において、前記サブプロセッサと前記第1メモリ及び前記第2メモリとが、前記接続切替部を経由して接続され、前記メインプロセッサは、前記サブプロセッサを経由して、前記ブートプログラムを取得するようにしてもよい。
【0012】
また、本発明の一態様は、メイン基板に実装され、システムを起動するためのブートプログラムを記憶する第1メモリと、前記第1メモリとは異なる前記メイン基板上の場所に実装され、前記ブートプログラムのバックアップを記憶する第2メモリと、前記ブートプログラムによりシステムを起動し、前記システムに基づく情報処理を実行するメインプロセッサと、前記第1メモリの周辺に配置され、前記第1メモリを実装する半田に、融解する温度が与えられた場合に、導通が切断されるヒューズと、前記ヒューズが導通している場合に、前記メインプロセッサと前記第1メモリとの間を、前記メインプロセッサが前記第1メモリから前記ブートプログラムを取得可能な接続にし、前記ヒューズの導通が切断された場合に、前記メインプロセッサと前記第2メモリとの間を、前記メインプロセッサが前記第2メモリから前記ブートプログラムを取得可能な接続に切り替える接続切替部とを備える情報処理装置の耐タンパ方法であって、前記接続切替部が、前記ヒューズの導通が切断された場合に、前記メインプロセッサと前記第2メモリとの間を接続する接続に切り替えるステップと、前記メインプロセッサが、前記ヒューズの導通が切断された場合に、前記第2メモリが記憶するバックアップの前記ブートプログラムから前記システムを起動するステップとを含む耐タンパ方法である。
【発明の効果】
【0013】
本発明の上記態様によれば、攻撃者によって、ブートプログラムが記憶されているメモリが取り外された場合であっても、システムを正常に起動することができる。
【図面の簡単な説明】
【0014】
図1】第1の実施形態によるノートPCの主要なハードウェア構成の一例を示す図である。
図2】第1の実施形態によるノートPCのBIOSメモリの切り替え構成の一例を示す図である。
図3】第1の実施形態におけるヒューズが導通状態である場合のSPIバスの切り替え動作を示す図である。
図4】第1の実施形態におけるヒューズが切断状態である場合のSPIバスの切り替え動作を示す図である。
図5】第1の実施形態によるノートPCの起動処理の一例を示すフローチャートである。
図6】第2の実施形態によるノートPCの主要なハードウェア構成の一例を示す図である。
図7】第2の実施形態によるノートPCのBIOSメモリの切り替え構成の一例を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の一実施形態による情報処理装置、及び耐タンパ方法について、図面を参照して説明する。
【0016】
[第1の実施形態]
図1は、第1の実施形態によるノートPC1の主要なハードウェア構成の一例を示す図である。
図1に示すように、ノートPC1(ノートブック型パーソナルコンピュータ)は、CPU11と、メインメモリ12と、ビデオサブシステム13と、表示部14と、チップセット21と、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、バックアップメモリ27と、ヒューズ28と、接続切替部29と、エンベデッドコントローラ31と、入力部32と、電源回路33とを備える。
【0017】
なお、本実施形態において、CPU11と、チップセット21とは、メインプロセッサ10に対応する。
また、本実施形態において、情報処理装置の一例として、ノートPC1について説明する。
【0018】
また、本実施形態において、例えば、CPU11と、メインメモリ12と、ビデオサブシステム13と、チップセット21と、BIOSメモリ22と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、バックアップメモリ27と、ヒューズ28と、接続切替部29と、エンベデッドコントローラ31と、電源回路33とは、マザーボード(不図示)と呼ばれるメイン基板に実装されている。また、少なくとも、CPU11及びチップセット21(メインプロセッサ10)と、BIOSメモリ22と、バックアップメモリ27と、接続切替部29と、エンベデッドコントローラ31と、電源回路33とは、メイン基板に直接半田付けされており、メイン基板に脱着不可能に実装されているものとする。
【0019】
CPU(Central Processing Unit)11は、プログラム制御により種々の演算処理を実行し、ノートPC1全体を制御している。
メインメモリ12は、CPU11の実行プログラムの読み込み領域として、又は、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。この実行プログラムには、BIOS(Basic Input Output System)、OS(Operating System)、周辺機器類をハードウェア操作するための各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム等が含まれる。
【0020】
ビデオサブシステム13は、画像表示に関連する機能を実現するためのサブシステムであり、ビデオコントローラを含んでいる。このビデオコントローラは、CPU11からの描画命令を処理し、処理した描画情報をビデオメモリに書き込むとともに、ビデオメモリからこの描画情報を読み出して、表示部14に描画データ(表示データ)として出力する。
【0021】
表示部14は、例えば、液晶ディスプレイであり、ビデオサブシステム13から出力された描画データ(表示データ)に基づく表示画面を表示する。
【0022】
チップセット21は、USB(Universal Serial Bus)、シリアルATA(AT Attachment)、SPI(Serial Peripheral Interface)バス、PCI(Peripheral Component Interconnect)バス、PCI-Expressバス、及びLPC(Low Pin Count)バスなどのコントローラを備えており複数のデバイスが接続される。図1では、デバイスの例示として、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、バックアップメモリ27と、接続切替部29とが、チップセット21に接続されている。なお、BIOSメモリ22及びバックアップメモリ27は、接続切替部29を介して、チップセット21に接続されている。
【0023】
BIOSメモリ22(第1メモリの一例)は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなどの電気的に書き換え可能な不揮発性メモリで構成される。BIOSメモリ22は、BIOS、及びエンベデッドコントローラ31などを制御するためのシステムファームウェアなどを記憶する。BIOSメモリ22は、BIOSなどのノートPC1のシステム(例えば、OSなど)を起動するためのブートプログラム(起動プログラム)を記憶する。
【0024】
また、BIOSメモリ22は、マザーボード上に、半田付けされて実行されている。BIOSメモリ22は、例えば、SPIバスを用いて、メインプロセッサ10に接続されている。
【0025】
HDD(Hard Disk Drive)23(不揮発性記憶装置の一例)は、OS、各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム、及び各種データを記憶する。
オーディオシステム24は、音データの記録、再生、出力を行う。
【0026】
WLAN(Wireless Local Area Network)カード25は、ワイヤレス(無線)LANにより、ネットワークに接続して、データ通信を行う。
USBコネクタ26は、USBを利用した周辺機器類を接続するためのコネクタである。
【0027】
エンベデッドコントローラ31(サブプロセッサの一例)は、ノートPC1のシステム状態に関わらず、各種デバイス(周辺装置やセンサ等)を監視し制御するワンチップマイコン(One-Chip Microcomputer)である。また、エンベデッドコントローラ31は、電源回路33を制御する電源管理機能を有している。なお、エンベデッドコントローラ31は、不図示のCPU、ROM、RAMなどで構成されるとともに、複数チャネルのA/D入力端子、D/A出力端子、タイマ、及びデジタル入出力端子を備えている。エンベデッドコントローラ31には、それらの入出力端子を介して、例えば、入力部32、及び電源回路33などが接続されており、エンベデッドコントローラ31は、これらの動作を制御する。また、エンベデッドコントローラ31は、後述するヒューズ28の導通状態を検出することが可能であり、検出したヒューズ28の導通状態に応じて、各種処理を実行する。
【0028】
入力部32は、例えば、キーボードなどの、ポインティング・デバイス、タッチパッドなどの入力デバイスである。
電源回路33は、例えば、DC/DCコンバータ、充放電ユニット、電池ユニット、AC/DCアダプタなどを含んでおり、AC/DCアダプタ、又は電池ユニットから供給される直流電圧を、ノートPC1を動作させるために必要な複数の電圧に変換する。また、電源回路33は、エンベデッドコントローラ31からの制御に基づいて、ノートPC1の各部に電力を供給する。
【0029】
バックアップメモリ27(第2メモリの一例)は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなどの電気的に書き換え可能な不揮発性メモリで構成される。バックアップメモリ27は、BIOSメモリ22とは異なるメイン基板上の場所に実装され、BIOSメモリ22が記憶するブートプログラムのバックアップを記憶する。すなわち、バックアップメモリ27は、BIOSメモリ22と同様の、BIOS、及びエンベデッドコントローラ31などを制御するためのシステムファームウェアなどを記憶する。
【0030】
また、バックアップメモリ27は、BIOSメモリ22と同様に、メイン基板上に、半田付けされて実行されている。なお、バックアップメモリ27は、メイン基板上のBIOSメモリ22から離れた位置に実装されることが好ましい。
また、バックアップメモリ27は、例えば、SPIバスを用いて、メインプロセッサ10に接続されている。
【0031】
ヒューズ28は、例えば、サーマルヒューズであり、BIOSメモリ22の周辺に配置される。ヒューズ28は、閾値温度以上になると内部の導通接続が切断(Break)される。ヒューズ28は、例えば、BIOSメモリ22を実装する半田に、融解する温度が与えられた場合に、導通が切断される。なお、ヒューズ28は、メイン基板上に半田で実装されたソケットに、装着することで実装される。
【0032】
接続切替部29は、チップセット21(メインプロセッサ10)と、BIOSメモリ22及びバックアップメモリ27との間の接続を切り替えるセレクタ部である。接続切替部29は、ヒューズ28が導通している場合に、メインプロセッサ10とBIOSメモリ22とを接続し、ヒューズ28の導通が切断された場合に、メインプロセッサ10とバックアップメモリ27との接続に切り替える。すなわち、接続切替部29は、ヒューズ28が導通している場合に、メインプロセッサ10とBIOSメモリ22との間を、メインプロセッサ10がBIOSメモリ22からブートプログラムを取得可能な接続にする。また、接続切替部29は、ヒューズ28の導通が切断された場合に、メインプロセッサ10とバックアップメモリ27との間を、メインプロセッサ10がバックアップメモリ27からブートプログラムを取得可能な接続に切り替える。なお、接続切替部29の詳細については、後述する。
【0033】
次に、図2を参照して、本実施形態によるノートPC1のBIOSメモリ22の切り替え構成について詳細に説明する。
図2は、本実施形態によるノートPC1のBIOSメモリ22の切り替え構成の一例を示す図である。ここでは、本発明に関連する構成のみを記載する。
【0034】
図2に示すように、メインプロセッサ10と、BIOSメモリ22及びバックアップメモリ27とは、接続切替部29を経由して、SPIバスにより接続される。ここでは、メインプロセッサ10が、マスタであり、BIOSメモリ22及びバックアップメモリ27がスレーブである。
【0035】
SPIバスにおいて、BIOSメモリ22とバックアップメモリ27とは、SI(データ入力信号)、SO(データ出力信号)、及びSCK(シリアルクロック信号)の信号線が共通に接続されている。また、CS#0及びCS#1のCS(チップセレクト信号)の信号線が、接続切替部29により切り替えられて、BIOSメモリ22とバックアップメモリ27に接続される。
なお、メインプロセッサ10は、チップセレクト信号(CS#0)により出力されるブートプログラムにより、システムを起動する。
【0036】
ヒューズ28は、第1端がグランド線に接続され、第2端がノードN1に接続され、ノードN1は、接続切替部29に接続される。
接続切替部29は、セレクタ291及びセレクタ292と、プルアップ抵抗293とを備える。
【0037】
プルアップ抵抗293は、ノードN1(ヒューズ28の第2端)に接続される。ノードN1は、ヒューズ28が導通状態である場合に、Low(ロウ)状態になる。また、ノードN1は、ヒューズ28が切断された場合に、プルアップ抵抗293によって、High(ハイ)状態になる。
【0038】
セレクタ291は、チップセレクト信号(CS#0)の信号線の接続(チップセレクト信号線)を、BIOSメモリ22とバックアップメモリ27との間で切り替える。セレクタ291は、ヒューズ28が導通状態である場合に、チップセレクト信号(CS#0)の信号線をBIOSメモリ22に接続し、ヒューズ28が切断された場合に、チップセレクト信号(CS#0)の信号線をバックアップメモリ27に接続する。
【0039】
セレクタ292は、チップセレクト信号(CS#1)の信号線の接続を、BIOSメモリ22とバックアップメモリ27との間で切り替える。セレクタ292は、ヒューズ28が導通状態である場合に、チップセレクト信号(CS#1)の信号線をバックアップメモリ27に接続し、ヒューズ28が切断された場合に、チップセレクト信号(CS#1)の信号線をBIOSメモリ22に接続する。
このように、接続切替部29は、ヒューズ28の導通の状態に応じて、チップセレクト信号線を、BIOSメモリ22と、バックアップメモリ27との間で切り替える。
【0040】
メインプロセッサ10は、ブートプログラムによりシステムを起動し、システムに基づく情報処理を実行する。メインプロセッサ10は、ヒューズ28が導通状態である場合に、BIOSメモリ22が記憶するブートプログラムからシステムを起動する。また、メインプロセッサ10は、ヒューズ28の導通が切断された場合に、バックアップメモリ27が記憶するバックアップのブートプログラムからシステムを起動する。
【0041】
なお、メインプロセッサ10は、BIOSメモリ22又はバックアップメモリ27からSPIバスを介して読み出したブートプログラムを、メインメモリ12に記憶させ、メインメモリ12が記憶するブートプログラムをCPU11に実行させることで、システムを起動する。
【0042】
エンベデッドコントローラ31は、メインプロセッサ10と異なるプロセッサであって、周辺機器を管理する。エンベデッドコントローラ31は、例えば、ヒューズ検出処理部311を備える。
【0043】
ヒューズ検出処理部311は、ヒューズ28の導通が切断されたことを検出し、ヒューズ28の導通が切断された場合に、外部に警告を通知する。ヒューズ検出処理部311は、例えば、ヒューズ28の導通が切断された場合に、ヒューズ28の導通が切断されたことを示す情報を、表示部14に表示させる。
【0044】
すなわち、ヒューズ検出処理部311は、ノードN1の電圧レベル(論理レベル)を検出して、ノードN1が、Low状態である場合に、ヒューズ28が導通状態であると検出する。また、ヒューズ検出処理部311は、ノードN1が、High状態である場合に、ヒューズ28が切断状態(Break状態)であると検出する。ヒューズ検出処理部311は、ヒューズ28が切断状態(Break状態)であると検出した場合に、メインプロセッサ10に、警告として、ヒューズ28の導通が切断されたことを示す情報を表示させる。すなわち、メインプロセッサ10は、ビデオサブシステム13を介してヒューズ28の導通が切断されたことを示す情報を表示部14に表示させる。
【0045】
次に、図面を参照して、本実施形態によるノートPC1の動作について説明する。
まず、図3を参照して、ヒューズ28が導通状態である場合のSPIバスの切り替え動作について説明する。
【0046】
図3は、本実施形態におけるヒューズ28が導通状態である場合のSPIバスの切り替え動作を示す図である。ここでは、悪意を持った攻撃者によって、BIOSメモリ22の半田を融かす熱がかけられていない状態を示している。
【0047】
図3に示すように、ヒューズ28が導通状態である場合には、ノードN1が、Low状態になるため、接続切替部29は、チップセレクト信号(CS#0)の信号線をBIOSメモリ22に接続するとともに、チップセレクト信号(CS#1)の信号線をバックアップメモリ27に接続する。
【0048】
この状態で、ノートPC1を起動すると、メインプロセッサ10は、チップセレクト信号(CS#0)の信号線に接続されているBIOSメモリ22からブートプログラムを読み出して、当該ブートプログラムにより、システムを起動する。
【0049】
次に、図4を参照して、ヒューズ28が切断状態である場合のSPIバスの切り替え動作について説明する。
図4は、本実施形態におけるヒューズ28が切断状態である場合のSPIバスの切り替え動作を示す図である。ここでは、悪意を持った攻撃者によって、BIOSメモリ22の半田を融かす熱がかけられて、BIOSメモリ22が持ち去られた状態を示している。
【0050】
図4に示すように、攻撃者によって、BIOSメモリ22を実装する半田に、融解する温度が与えられた場合に、ヒューズ28は、内部の導通が切断される。この場合には、プルアップ抵抗293によって、ノードN1が、High状態になるため、接続切替部29は、チップセレクト信号(CS#0)の信号線をバックアップメモリ27に接続する。
【0051】
この状態で、ノートPC1を起動すると、メインプロセッサ10は、チップセレクト信号(CS#0)の信号線に接続されているバックアップメモリ27からブートプログラムを読み出して、当該ブートプログラムにより、システムを起動する。なお、BIOSメモリ22が実装されている場合には、接続切替部29は、チップセレクト信号(CS#1)の信号線をBIOSメモリ22に接続する。
【0052】
このように、メインプロセッサ10は、ヒューズ28の導通が切断された場合に、バックアップメモリ27が記憶するバックアップのブートプログラムからシステムを起動する。
【0053】
次に、図5を参照して、本実施形態によるノートPC1の起動処理について説明する。
図5は、本実施形態によるノートPC1の起動処理の一例を示すフローチャートである。
【0054】
図5に示すように、ノートPC1のエンベデッドコントローラ31は、まず、ヒューズ28が切断状態であるか否かを判定する(ステップS101)。エンベデッドコントローラ31は、ノードN1の電圧レベルを検出してヒューズ28が切断状態であるか否かを判定する。エンベデッドコントローラ31は、ヒューズ28が切断状態(ノードN1がHigh状態)である場合(ステップS101:YES)に、処理をステップS102に進める。また、エンベデッドコントローラ31は、ヒューズ28が導通状態(ノードN1がLow状態)である場合(ステップS101:NO)に、処理をステップS104に進める。
【0055】
ステップS102において、エンベデッドコントローラ31は、警告メッセージを表示部14に表示させる。エンベデッドコントローラ31は、例えば、BIOSメモリ22に半田が融解する温度が掛けられて、BIOSメモリ22がメイン基板から外された可能性があることを示すメッセージを、メインプロセッサ10及びビデオサブシステム13を介して、表示部14に表示させる。
【0056】
次に、ノートPC1のメインプロセッサ10は、バックアップメモリ27のブートプログラムにより起動する(ステップS103)。この場合、図4に示すように、接続切替部29が、チップセレクト信号(CS#0)の信号線をバックアップメモリ27に接続し、メインプロセッサ10は、バックアップメモリ27から読み出したブートプログラムにより、システムを起動する。ステップS103の処理後に、ノートPC1は、起動処理を終了する。
【0057】
また、ステップS104において、メインプロセッサ10は、BIOSメモリ22のブートプログラムにより起動する。この場合、図3に示すように、接続切替部29が、チップセレクト信号(CS#0)の信号線をBIOSメモリ22に接続し、メインプロセッサ10は、BIOSメモリ22から読み出したブートプログラムにより、システムを起動する。ステップS104の処理後に、ノートPC1は、起動処理を終了する。
【0058】
以上説明したように、本実施形態によるノートPC1(情報処理装置)は、BIOSメモリ22(第1メモリ)と、バックアップメモリ27(第2メモリ)と、メインプロセッサ10と、ヒューズ28と、接続切替部29とを備える。BIOSメモリ22は、メイン基板(例えば、マザーボード)に実装され、システムを起動するためのブートプログラムを記憶する。バックアップメモリ27は、BIOSメモリ22とは異なるメイン基板上の場所に実装され、ブートプログラムのバックアップを記憶する。メインプロセッサ10は、ブートプログラムによりシステムを起動し、システムに基づく情報処理を実行する。ヒューズ28は、BIOSメモリ22の周辺に配置され、BIOSメモリ22を実装する半田に、融解する温度が与えられた場合に、導通が切断される。接続切替部29は、ヒューズ28が導通している場合に、メインプロセッサ10とBIOSメモリ22とを接続し、ヒューズ28の導通が切断された場合に、メインプロセッサ10とバックアップメモリ27との接続に切り替える。すなわち、接続切替部29は、ヒューズ28が導通している場合に、メインプロセッサ10とBIOSメモリ22との間を、メインプロセッサ10がBIOSメモリ22からブートプログラムを取得可能な接続にする。また、接続切替部29は、ヒューズ28の導通が切断された場合に、メインプロセッサ10とバックアップメモリ27との間を、メインプロセッサ10がバックアップメモリ27からブートプログラムを取得可能な接続に切り替える。メインプロセッサ10は、ヒューズ28の導通が切断された場合に、バックアップメモリ27が記憶するバックアップのブートプログラムからシステムを起動する。
【0059】
これにより、本実施形態によるノートPC1は、例えば、悪意を持った攻撃者により、情報収集のために、ブートプログラムが記憶されているBIOSメモリ22が取り外された場合であっても、バックアップメモリ27が記憶するバックアップのブートプログラムにより、システムを正常に起動することができる。また、本実施形態によるノートPC1は、例えば、BIOSメモリ22が取り外された後に、プログラム及びデータを改ざんしたBIOSメモリ22が載せ替えられた場合に、であっても、バックアップメモリ27が記憶するバックアップのブートプログラムにより、システムを正常に起動することができる。よって、本実施形態によるノートPC1は、攻撃者による攻撃を回避し、システムを正常に起動することができる。
【0060】
また、本実施形態では、メインプロセッサ10と、BIOSメモリ22及びバックアップメモリ27とは、接続切替部29を経由して、SPIバスにより接続される。接続切替部29は、ヒューズ28の導通の状態に応じて、チップセレクト信号線(CS#0)を、BIOSメモリ22と、バックアップメモリ27との間で切り替える。
【0061】
これにより、本実施形態によるノートPC1は、BIOSメモリ22が取り外された場合であっても、SPIバスを利用してバックアップメモリ27が記憶するバックアップのブートプログラムにより、システムを正常に起動することができる。
【0062】
また、本実施形態によるノートPC1は、メインプロセッサ10と異なるプロセッサであって、周辺機器を管理するエンベデッドコントローラ31(サブプロセッサ)を備える。エンベデッドコントローラ31は、ヒューズ28の導通が切断されたことを検出し、ヒューズ28の導通が切断された場合に、外部に警告を通知する。
【0063】
これにより、本実施形態によるノートPC1は、ヒューズ28の導通が切断されて、例えば、攻撃者により何らかの攻撃を受けた可能性があることを、利用者に警告することができる。
【0064】
また、本実施形態では、エンベデッドコントローラ31は、ヒューズ28の導通が切断された場合に、ヒューズ28の導通が切断されたことを示す情報を、表示部14に表示させる。エンベデッドコントローラ31は、例えば、システムの起動時に、ヒューズ28の導通が切断されたことを示す情報を、表示部14に表示させる。
【0065】
これにより、本実施形態によるノートPC1は、ヒューズ28の導通が切断されて、例えば、攻撃者により何らかの攻撃を受けた可能性があることを、表示部14を介して、利用者に認知させtることができる。
【0066】
また、本実施形態では、ヒューズ28は、サーマルヒューズである。
これにより、本実施形態によるノートPC1は、サーマルヒューズという簡易な構成により、BIOSメモリ22が取り外されたことを適切に検出することができる。
【0067】
また、本実施形態による耐タンパ方法は、上述したBIOSメモリ22と、バックアップメモリ27と、メインプロセッサ10と、ヒューズ28と、接続切替部29とを備えるノートPC1の耐タンパ方法であって、切り替えステップと、起動ステップとを含む。切り替えステップにおいて、接続切替部29が、ヒューズ28の導通が切断された場合に、メインプロセッサ10とバックアップメモリ27との接続に切り替える。起動ステップにおいて、メインプロセッサ10が、ヒューズ28の導通が切断された場合に、バックアップメモリ27が記憶するバックアップのブートプログラムからシステムを起動する。
【0068】
これにより、本実施形態による耐タンパ方法は、上述したノートPC1と同様の効果を奏し、例えば、悪意を持った攻撃者により、BIOSメモリ22が取り外された場合であっても、バックアップメモリ27が記憶するバックアップのブートプログラムにより、システムを正常に起動することができる。
【0069】
[第2の実施形態]
次に、図面を参照して、第2の実施形態によるノートPC1aについて説明する。
図6は、第2の実施形態によるノートPC1aの主要なハードウェア構成の一例を示す図である。
【0070】
図6に示すように、ノートPC1a(ノートブック型パーソナルコンピュータ)は、CPU11と、メインメモリ12と、ビデオサブシステム13と、表示部14と、チップセット21と、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、バックアップメモリ27と、ヒューズ28と、接続切替部29と、エンベデッドコントローラ31と、入力部32と、電源回路33とを備える。
【0071】
本実施形態によるノートPC1aは、BIOSメモリ22及びバックアップメモリ27が、接続切替部29を経由して、エンベデッドコントローラ31に接続されている点が、第1の実施形態と異なる。
【0072】
エンベデッドコントローラ31は、SPIを有しており、SPIを介してBIOSメモリ22及びバックアップメモリ27と接続されている。本実施形態では、例えば、Slave Attached Flash方式により、BIOSメモリ22及びバックアップメモリ27がエンベデッドコントローラ31に接続されており、メインプロセッサ10は、eSPIにより接続されたエンベデッドコントローラ31を経由してBIOSメモリ22及びバックアップメモリ27にアクセス可能である。
【0073】
なお、Slave Attached Flash方式では、メインプロセッサ10をマスター(Master)として、スレーブ(Slave)であるエンベデッドコントローラ31が接続され、さらに、エンベデッドコントローラ31には、スレーブとしてBIOSメモリ22及びバックアップメモリ27が接続されている。この接続により、エンベデッドコントローラ31からBIOSメモリ22へのアクセスが可能になるとともに、メインプロセッサ10からエンベデッドコントローラ31及び接続切替部29を経由したBIOSメモリ22及びバックアップメモリ27へのアクセスが可能になる。
【0074】
次に、図7を参照して、本実施形態によるノートPC1aのBIOSメモリ22の切り替え構成について詳細に説明する。
図7は、本実施形態によるノートPC1aのBIOSメモリ22の切り替え構成の一例を示す図である。ここでは、本発明に関連する構成のみを記載する。
【0075】
図7に示すように、メインプロセッサ10と、BIOSメモリ22及びバックアップメモリ27とは、エンベデッドコントローラ31及び接続切替部29を経由して、SPIバス(eSPIバス)により接続される。
すなわち、本実施形態では、エンベデッドコントローラ31とBIOSメモリ22及びバックアップメモリ27とが、接続切替部29を経由して接続されている。そして、メインプロセッサ10は、エンベデッドコントローラ31を経由して、ブートプログラムを取得する。
【0076】
その他の構成、及び接続切替部29の切り替え処理については、上述した第1の実施形態と同様であるため、ここではその説明を省略する。
【0077】
以上説明したように、本実施形態では、エンベデッドコントローラ31とBIOSメモリ22及びバックアップメモリ27とが、接続切替部29を経由して接続されている。そして、メインプロセッサ10は、エンベデッドコントローラ31を経由して、ブートプログラムを取得する。
【0078】
これにより、本実施形態によるノートPC1aは、上述した第1の実施形態のノートPC1と同様の効果を奏し、例えば、悪意を持った攻撃者により、BIOSメモリ22が取り外された場合であっても、バックアップメモリ27が記憶するバックアップのブートプログラムにより、システムを正常に起動することができる。
【0079】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、情報処理装置がノートPC1(1a)である例を説明したが、これに限定されるものではなく、例えば、タブレット端末装置、デスクトップPCなどの他の情報処理装置であってもよい。
【0080】
また、上記の各実施形態において、ヒューズ28が、サーマルヒューズである例を説明したが、これに限定されるものではない。ヒューズ28には、例えば、半田の融解温度で内部の導通が切断した後に、電気的な制御により導通状態に回復可能な電子ヒューズなど、他の方式のヒューズを利用してもよい。
【0081】
また、ヒューズ28に電子ヒューズを利用した場合には、ノートPC1(1a)は、エンベデッドコントローラ31の制御により、電子ヒューズの導通を切断された状態から回復させる処理を実行するようにしてもよい。また、この場合、エンベデッドコントローラ31は、BIOSのパスワード、等による利用者又は管理者の認証処理の結果に応じて、回復させる処理を実行するようにしてもよい。
【0082】
また、上記の各実施形態において、エンベデッドコントローラ31は、利用者への警告として、ヒューズ28の導通が切断されたことを示す情報を、表示部14に表示させる例を説明したが、これに限定されるものではない。エンベデッドコントローラ31は、表示部14に表示させる代わりに、例えば、警告音や、メイン基板上の発光ダイオードなどの点灯、などにより外部に警告するようにしてもよい。また、エンベデッドコントローラ31は、WLANカード25を介して、ネットワークに接続し、ネットワークを介して、ノートPC1(1a)を管理する管理サーバに、ヒューズ28の導通が切断されたことを示す情報を通知するようにしてもよい。
【0083】
また、上記の各実施形態において、エンベデッドコントローラ31が、ヒューズ28の導通が切断されたことを検出し、警報を出力する処理を実行する例を説明したが、これに限定されるものではなく、メインプロセッサ10が、これらの処理を実行するようにしてもよい。
【0084】
また、上記の各実施形態において、接続切替部29は、プルアップ抵抗293を用いて、ヒューズ28の導通状態を検出する例を説明したが、これに限定されるものではなく、例えば、プルダウン抵抗などの他の手段をもちいてもよい。プルダウン抵抗を用いる場合には、例えば、ヒューズ28の第1端を電源供給線に接続し、第2端をプルダウン抵抗に接続する。
【0085】
また、接続切替部29の構成は、上記の実施形態に限定されるものではなく、他の構成であってもよい。上記の実施形態において、接続切替部29は、チップセレクト信号のみを切り替える構成である例を説明したが、これに限定されるものではなく、SPIバスの各信号を切り替える構成であってもよい。
【0086】
また、上記の実施形態において、BIOSメモリ22と、バックアップメモリ27とがSPIバスを用いて、メインプロセッサ10に接続される例を説明したが、これに限定されるものではなく、他のインターフェースにより接続されるようにしてもよい。
【0087】
また、上記の実施形態において、ノートPC1(1a)である情報処理装置が、エンベデッドコントローラ31(サブプロセッサ)を備える例を説明したが、これに限定されるものではなく、エンベデッドコントローラ31(サブプロセッサ)を備えない構成であってもよい。また、この場合、エンベデッドコントローラ31の処理を、メインプロセッサ10が実行してもよい。
【0088】
なお、上述したノートPC1(1a)が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したノートPC1(1a)が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したノートPC1(1a)が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
【0089】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にノートPC1(1a)が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0090】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0091】
1、1a ノートPC
10 メインプロセッサ
11 CPU
12 メインメモリ
13 ビデオサブシステム
14 表示部
21 チップセット
22 BIOSメモリ
23 HDD
24 オーディオシステム
25 WLANカード
26 USBコネクタ
27 バックアップメモリ
28 ヒューズ
29 接続切替部
31 エンベデッドコントローラ(EC)
32 入力部
33 電源回路
291、292 セレクタ
293 プルアップ抵抗
311 ヒューズ検出処理部
【要約】      (修正有)
【課題】攻撃者によって、ブートプログラムが記憶されているメモリが取り外された場合であっても、システムを正常に起動することが可能な情報処理装置及び耐タンパ方法を提供する。
【解決手段】情報処理装置1は、ブートプログラムを記憶する第1メモリ22と、第1メモリとは異なる場所に実装され、ブートプログラムのバックアップを記憶する第2メモリ27と、ブートプログラムによりシステムを起動するメインプロセッサ10と、第1メモリを実装する半田に融解する温度が与えられた場合、導通が切断されるヒューズ28と、ヒューズが導通している場合、メインプロセッサと第1メモリとの間を接続し、ヒューズの導通が切断された場合、メインプロセッサと第2メモリとの間の接続に切り替える接続切替部29とを備える。メインプロセッサは、ヒューズの導通が切断された場合、第2メモリが記憶するバックアップのブートプログラムからシステムを起動する。
【選択図】図2
図1
図2
図3
図4
図5
図6
図7