(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024072410
(43)【公開日】2024-05-28
(54)【発明の名称】情報処理システム、及びBIOS更新方法
(51)【国際特許分類】
G06F 21/57 20130101AFI20240521BHJP
G06F 9/4401 20180101ALI20240521BHJP
G06F 8/65 20180101ALI20240521BHJP
G06F 21/64 20130101ALI20240521BHJP
【FI】
G06F21/57
G06F9/4401
G06F8/65
G06F21/64
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022183191
(22)【出願日】2022-11-16
(11)【特許番号】
(45)【特許公報発行日】2024-03-28
(71)【出願人】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】森重 勇作
(72)【発明者】
【氏名】佐々木 健
(72)【発明者】
【氏名】柴山 和哉
(72)【発明者】
【氏名】荒木 直幸
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA48
5B376CA62
(57)【要約】
【課題】より安全に、且つ、容易にBIOSを機能拡張する。
【解決手段】情報処理システムは、BIOSの拡張機能のプログラムをカプセル化したカプセルファイルにサーバ管理者の署名を付与して、情報処理装置に提供するサーバ装置と、前記情報処理装置とを備え、前記情報処理装置は、前記BIOSのプログラムを記憶するBIOS記憶部と、前記サーバ管理者の署名に基づいて、前記サーバ装置から取得した前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS記憶部に記憶させ、前記利用者の署名証明書及び前記利用者の署名に基づいて、前記拡張機能のプログラムの正当性が確認された場合に、前記拡張機能のプログラムの実行を許可し、前記拡張機能のプログラムの正当性が確認されなかった場合に、前記拡張機能のプログラムの実行を禁止するBIOS処理部とを備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
利用者の署名が付与された、BIOS(Basic Input Output System)の拡張機能のプログラムをカプセル化し、当該カプセル化したカプセルファイルにサーバ管理者の署名を付与して、情報処理装置に提供するサーバ装置と、
前記情報処理装置と
を備え、
前記情報処理装置は、
前記BIOSのプログラムを記憶するBIOS記憶部と、
前記サーバ管理者の署名に基づいて、前記サーバ装置から取得した前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS記憶部に記憶させ、前記利用者の署名証明書及び前記利用者の署名に基づいて、前記拡張機能のプログラムの正当性が確認された場合に、前記拡張機能のプログラムの実行を許可し、前記拡張機能のプログラムの正当性が確認されなかった場合に、前記拡張機能のプログラムの実行を禁止するBIOS処理部と
を備える情報処理システム。
【請求項2】
前記BIOS記憶部には、
前記BIOSを介さずにOS(Operating System)から接続不可能な書き換え可能な不揮発性メモリであり、少なくとも前記OSの起動に必要なブートプログラム及び前記拡張機能の管理情報を記憶するBIOSメモリと、
SSD(Solid State Drive)の一部領域であり、前記BIOSを介さずにOS(Operating System)から接続不可能なBIOS領域と
が含まれ、
前記BIOS処理部は、前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS領域に記憶させる
請求項1に記載の情報処理システム。
【請求項3】
前記BIOS処理部は、前記BIOSを起動させる際に、前記BIOSメモリに、前記拡張機能の管理情報が記憶されており、且つ、前記BIOS領域に、前記拡張機能のプログラムが記憶されていない場合に、当該拡張機能のプログラムに対応する前記カプセルファイルを、前記サーバ装置から再取得する
請求項2に記載の情報処理システム。
【請求項4】
前記BIOS処理部は、前記BIOSメモリに、前記利用者の署名証明書が記憶されていない場合に、前記拡張機能のプログラムの実行を禁止する
請求項2に記載の情報処理システム。
【請求項5】
前記サーバ装置は、
前記サーバ管理者の署名が付与された前記カプセルファイルを記憶する更新ファイル記憶部と、
前記カプセルファイルの配信要求に応じて、前記配信要求に対応する前記カプセルファイルを、前記情報処理装置に送信する配信処理部と
を備える
請求項2から請求項4のいずれか一項に記載の情報処理システム。
【請求項6】
前記BIOS処理部は、
前記サーバ装置から取得した前記カプセルファイルを、前記SSDの前記BIOS領域と異なる領域に記憶させた後、前記情報処理装置を再起動された際に、前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS領域に記憶させる
請求項2から請求項4のいずれか一項に記載の情報処理システム。
【請求項7】
BIOS(Basic Input Output System)のプログラムを記憶するBIOS記憶部を備える情報処理装置の前記BIOSを更新するBIOS更新方法であって、
サーバ装置が、利用者の署名が付与された、前記BIOSの拡張機能のプログラムをカプセル化し、当該カプセル化したカプセルファイルにサーバ管理者の署名を付与して、情報処理装置に提供する配信ステップと、
前記情報処理装置が、前記サーバ管理者の署名に基づいて、前記サーバ装置から取得した前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS記憶部に記憶させ、前記利用者の署名証明書及び前記利用者の署名に基づいて、前記拡張機能のプログラムの正当性が確認された場合に、前記拡張機能のプログラムの実行を許可し、前記拡張機能のプログラムの正当性が確認されなかった場合に、前記拡張機能のプログラムの実行を禁止するBIOS処理ステップと
を含むBIOS更新方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、及びBIOS更新方法に関する。
【背景技術】
【0002】
パーソナルコンピュータなどの情報処理装置のBIOS(Basic Input Output System)を更新する技術が知られている(例えば、特許文献1を参照)。また、近年、BIOSの機能拡張に伴い、BIOSプログラムを記憶するBIOSメモリの記憶容量が増大しており、BIOSプログラムの一部を、SSD(Solid State Drive)に記憶させる提案がされている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
BIOSを更新する従来の情報処理システムでは、例えば、企業などの利用者が準備したサービスをBIOSに容易に組み込むことが困難であり、より安全に、且つ、容易にBIOSを機能拡張する技術が求められている。
【0005】
本発明は、上記問題を解決すべくなされたもので、その目的は、より安全に、且つ、容易にBIOSを機能拡張することができる情報処理システム、及びBIOS更新方法を提供することにある。
【課題を解決するための手段】
【0006】
上記問題を解決するために、本発明の一態様は、利用者の署名が付与された、BIOS(Basic Input Output System)の拡張機能のプログラムをカプセル化し、当該カプセル化したカプセルファイルにサーバ管理者の署名を付与して、情報処理装置に提供するサーバ装置と、前記情報処理装置とを備え、前記情報処理装置は、前記BIOSのプログラムを記憶するBIOS記憶部と、前記サーバ管理者の署名に基づいて、前記サーバ装置から取得した前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS記憶部に記憶させ、前記利用者の署名証明書及び前記利用者の署名に基づいて、前記拡張機能のプログラムの正当性が確認された場合に、前記拡張機能のプログラムの実行を許可し、前記拡張機能のプログラムの正当性が確認されなかった場合に、前記拡張機能のプログラムの実行を禁止するBIOS処理部とを備える情報処理システムである。
【0007】
また、本発明の一態様は、上記に記載の情報処理システムにおいて、前記BIOS記憶部には、前記BIOSを介さずにOS(Operating System)から接続不可能な書き換え可能な不揮発性メモリであり、少なくとも前記OSの起動に必要なブートプログラム及び前記拡張機能の管理情報を記憶するBIOSメモリと、SSD(Solid State Drive)の一部領域であり、前記BIOSを介さずにOS(Operating System)から接続不可能なBIOS領域とが含まれ、前記BIOS処理部は、前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS領域に記憶させるようにしてもよい。
【0008】
また、本発明の一態様は、上記に記載の情報処理システムにおいて、前記BIOS処理部は、前記BIOSを起動させる際に、前記BIOSメモリに、前記拡張機能の管理情報が記憶されており、且つ、前記BIOS領域に、前記拡張機能のプログラムが記憶されていない場合に、当該拡張機能のプログラムに対応する前記カプセルファイルを、前記サーバ装置から再取得するようにしてもよい。
【0009】
また、本発明の一態様は、上記に記載の情報処理システムにおいて、前記BIOS処理部は、前記BIOSメモリに、前記利用者の署名証明書が記憶されていない場合に、前記拡張機能のプログラムの実行を禁止するようにしてもよい。
【0010】
また、本発明の一態様は、上記に記載の情報処理システムにおいて、前記サーバ装置は、前記サーバ管理者の署名が付与された前記カプセルファイルを記憶する更新ファイル記憶部と、前記カプセルファイルの配信要求に応じて、前記配信要求に対応する前記カプセルファイルを、前記情報処理装置に送信する配信処理部とを備えるようにしてもよい。
【0011】
また、本発明の一態様は、上記に記載の情報処理システムにおいて、前記BIOS処理部は、前記サーバ装置から取得した前記カプセルファイルを、前記SSDの前記BIOS領域と異なる領域に記憶させた後、前記情報処理装置を再起動された際に、前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS領域に記憶させるようにしてもよい。
【0012】
また、本発明の一態様は、BIOS(Basic Input Output System)のプログラムを記憶するBIOS記憶部を備える情報処理装置の前記BIOSを更新するBIOS更新方法であって、サーバ装置が、利用者の署名が付与された、前記BIOSの拡張機能のプログラムをカプセル化し、当該カプセル化したカプセルファイルにサーバ管理者の署名を付与して、情報処理装置に提供する配信ステップと、前記情報処理装置が、前記サーバ管理者の署名に基づいて、前記サーバ装置から取得した前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS記憶部に記憶させ、前記利用者の署名証明書及び前記利用者の署名に基づいて、前記拡張機能のプログラムの正当性が確認された場合に、前記拡張機能のプログラムの実行を許可し、前記拡張機能のプログラムの正当性が確認されなかった場合に、前記拡張機能のプログラムの実行を禁止するBIOS処理ステップとを含むBIOS更新方法である。
【発明の効果】
【0013】
本発明の上記態様によれば、より安全に、且つ、容易にBIOSを機能拡張することができる。
【図面の簡単な説明】
【0014】
【
図1】本実施形態による情報処理システムの構成例を示す概略ブロック図である。
【
図2】本実施形態によるノートPCの主要なハードウェア構成の一例を示す図である。
【
図3】本実施形態による情報処理システムの機能構成の一例を示す機能ブロック図である。
【
図4】本実施形態による情報処理システムのBIOSアプリの取得処理の一例を示す図である。
【
図5】本実施形態による情報処理システムのBIOSアプリの取得処理における状態例を示す図面である。
【
図6】本実施形態による情報処理システムのBIOSアプリの実行処理の一例を示すフローチャートである。
【
図7】本実施形態による情報処理システムの正常な場合のBIOSアプリの実行処理の一例を示す図である。
【
図8】本実施形態による情報処理システムのSSDを不正に使用した場合のBIOSアプリの実行禁止処理の一例を示す図である。
【
図9】本実施形態による情報処理システム100において、ノートPCのSSDを付け替えた場合の一例を示す図である。
【
図10】本実施形態による情報処理システムにおけるノートPCの起動処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、本発明の一実施形態による情報処理システム、及びBIOS更新方法について、図面を参照して説明する。
【0016】
図1は、本実施形態による情報処理システム100の構成例を示す概略ブロック図である。
図1に示すように、情報処理システム100は、ノートPC1(ノートブック型パーソナルコンピュータ)と、サーバ装置40と、利用者端末装置50とを備える。
【0017】
なお、本実施形態において、情報処理装置の一例として、ノートPC1について説明する。
ノートPC1及び利用者端末装置50とサーバ装置40とは、ネットワークNW1を介して接続可能である。
【0018】
サーバ装置40は、ノートPC1及び利用者端末装置50から接続可能なサーバ装置であり、ノートPC1を製造・販売・提供する製造メーカ、ベンダー、又はサプライヤが管理するサーバ装置である。サーバ装置40は、ノートPC1のBIOSのプログラムの更新、BIOSの機能拡張のプログラムであるBIOSアプリケーション(以下、BIOSアプリという)の追加、等のBIOSの更新サービスを提供する。
【0019】
なお、本実施形態において、サーバ装置40の管理者は、製造メーカ、ベンダー、又はサプライヤである。また、利用者は、ノートPC1を利用する企業、団体、組織、等である。
また、本実施形態において、BIOSアプリ(BIOSの拡張機能)は、利用者から提供されるプログラムである。
【0020】
サーバ装置40は、例えば、利用者のサイン(署名)が付与された、BIOSアプリ(BIOSの拡張機能)のプログラムをカプセル化し、当該カプセル化したカプセルファイルにサーバ管理者のサイン(署名)を付与して、ノートPC1に提供する。なお、サーバ装置40の構成の詳細については、後述する。
【0021】
利用者端末装置50は、ノートPC1を使用及び管理する利用者(企業、団体、組織、等)が所有する端末装置であり、例えば、パーソナルコンピュータ(PC)やタブレット端末装置などである。利用者端末装置50は、ネットワークNW1を介して、サーバ装置40と接続可能であり、ネットワークNW1を介して、利用者が提供するBIOSアプリを、サーバ装置40に登録する。なお、利用者端末装置50は、BIOSアプリを、サーバ装置40に登録する際に、BIOSアプリに利用者のサイン(署名)を付与して、サーバ装置40に登録する。また、利用者端末装置50の構成の詳細については、後述する。
【0022】
ノートPC1(情報処理装置の一例)は、BIOSの更新処理の対象のPCである。ノートPC1は、例えば、利用者(企業、団体、組織、等)が管理する装置であり、ノートPC1の使用者は、例えば、利用者(企業、団体、組織、等)に所属する人である。また、ノートPC1は、ネットワークNW1を介して、サーバ装置40と接続可能であり、ネットワークNW1を介して、サーバ装置40からBIOSアプリなどの更新プログラムの提供を受ける。
ここで、
図2を参照して、ノートPC1の主要なハード構成について説明する。
【0023】
図2は、本実施形態によるノートPC1の主要なハードウェア構成の一例を示す図である。
図2に示すように、ノートPC1は、CPU11と、メインメモリ12と、ビデオサブシステム13と、表示部14と、チップセット21と、BIOSメモリ22と、SSD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、エンベデッドコントローラ31と、入力部32と、電源回路33とを備える。
なお、本実施形態において、CPU11と、チップセット21とは、メイン制御部10に対応する。また、メイン制御部10は、メモリ(メインメモリ12)に記憶されたプログラムを実行するプロセッサ(メインプロセッサ)の一例である。
【0024】
CPU(Central Processing Unit)11は、プログラム制御により種々の演算処理を実行し、ノートPC1全体を制御している。
メインメモリ12は、CPU11の実行プログラムの読み込み領域として、又は、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。この実行プログラムには、BIOS、OS、周辺機器類をハードウェア操作するための各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム等が含まれる。
【0025】
ビデオサブシステム13は、画像表示に関連する機能を実現するためのサブシステムであり、ビデオコントローラを含んでいる。このビデオコントローラは、CPU11からの描画命令を処理し、処理した描画情報をビデオメモリに書き込むとともに、ビデオメモリからこの描画情報を読み出して、表示部14に描画データ(表示データ)として出力する。
【0026】
表示部14は、例えば、液晶ディスプレイであり、ビデオサブシステム13から出力された描画データ(表示データ)に基づく表示画面を表示する。本実施形態では、表示部14は、BIOSの起動した際のエラーメッセージや、BIOSのブートメニューを表示する。
【0027】
チップセット21は、USB(Universal Serial Bus)、シリアルATA(AT Attachment)、SPI(Serial Peripheral Interface)バス、PCI(Peripheral Component Interconnect)バス、PCI-Expressバス、及びLPC(Low Pin Count)バスなどのコントローラを備えており複数のデバイスが接続される。
図2では、デバイスの例示として、BIOSメモリ22と、SSD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26とが、チップセット21に接続されている。
【0028】
BIOSメモリ22は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなどの電気的に書き換え可能な不揮発性メモリで構成される。BIOSメモリ22は、例えば、SPIバス(SMBus)により、チップセット21及びエンベデッドコントローラ31に接続されているSPIメモリであり、BIOS、及びエンベデッドコントローラ31などを制御するためのシステムファームウェアなどを記憶する。本実施形態におけるBIOSメモリ22が記憶する情報の詳細については、後述する。
【0029】
SSD(Solid State Drive)23(不揮発性記憶装置の一例)は、OS、各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム、BIOSの一部プログラム、及び各種データを記憶する。SSD23は、例えば、PCI-Expressバスにより、チップセット21に接続されるとともに、SPIバス(SMBus)により、エンベデッドコントローラ31と接続されている。本実施形態におけるSSD23が記憶する情報の詳細については、後述する。
【0030】
オーディオシステム24は、音データの記録、再生、出力を行う。
WLAN(Wireless Local Area Network)カード25は、ワイヤレス(無線)LANにより、ネットワークに接続して、データ通信を行う。WLANカード25は、例えば、ネットワークNW1を経由してサーバ装置40と接続し、BIOSの更新プログラムをダウンロードするデータ通信を、サーバ装置40との間で行う。
USBコネクタ26は、USBを利用した周辺機器類を接続するためのコネクタである。
【0031】
エンベデッドコントローラ31(サブ制御部の一例)は、ノートPC1のシステム状態に関わらず、各種デバイス(周辺装置やセンサ等)を監視し制御するワンチップマイコン(One-Chip Microcomputer)である。また、エンベデッドコントローラ31は、電源回路33を制御する電源管理機能を有している。なお、エンベデッドコントローラ31は、不図示のCPU、ROM、RAMなどで構成されるとともに、複数チャネルのA/D入力端子、D/A出力端子、タイマ、及びデジタル入出力端子を備えている。エンベデッドコントローラ31には、それらの入出力端子を介して、例えば、BIOSメモリ22、SSD23、入力部32、及び電源回路33などが接続されており、エンベデッドコントローラ31は、これらの動作を制御する。
【0032】
入力部32は、例えば、キーボード、ポインティング・デバイス、タッチパッドなどの入力デバイスである。
電源回路33は、例えば、DC/DCコンバータ、充放電ユニット、電池ユニット、AC/DCアダプタなどを含んでおり、AC/DCアダプタ、又は電池ユニットから供給される直流電圧を、ノートPC1を動作させるために必要な複数の電圧に変換する。また、電源回路33は、エンベデッドコントローラ31からの制御に基づいて、ノートPC1の各部に電力を供給する。
【0033】
次に、
図3を参照して、本実施形態による情報処理システム100の機能構成について説明する。
図3は、本実施形態による情報処理システム100の機能構成の一例を示す機能ブロック図である。
【0034】
図3に示すように、情報処理システム100は、ノートPC1と、サーバ装置40と、利用者端末装置50とを備える。ノートPC1と、サーバ装置40と、利用者端末装置50とは、ネットワークNW1を介して接続可能である。
【0035】
利用者端末装置50は、利用者が所有する端末装置であって、ノートPC1に提供するBIOSアプリを、サーバ装置40に登録する。利用者端末装置50は、NW(ネットワーク)通信部51と、入力部52と、表示部53と、端末記憶部54と、端末制御部55とを備える。
【0036】
NW通信部51は、例えば、無線LANモジュールやLANモジュールなどであり、無線LANや有線LANなどのネットワーク通信によりネットワークNW1に接続し、サーバ装置40との間で通信を行う。
【0037】
入力部52は、例えば、タッチパネルやキーボード、マウスなどの入力装置であり、利用者端末装置50が利用する各種情報を受け付ける。入力部52は、例えば、サーバ装置40に、BIOSアプリを登録する際の各種操作情報を受け付ける。
【0038】
表示部53は、例えば、液晶ディスプレイなどの表示装置であり、利用者端末装置50が利用する各種情報を表示する。
端末記憶部54は、例えば、RAMやHDD、SSDなどで構成され、利用者端末装置50が利用する各種情報を記憶する。
【0039】
端末制御部55は、例えば、CPUを含むプロセッサであり、利用者端末装置50を統括的に制御する。端末制御部55は、入力部52による操作に応じて、NW通信部51を介して、サーバ装置40に接続し、予め用意しているBIOSの機能を追加するBIOSアプリのプログラムを、サーバ装置40に登録する処理を実行する。端末制御部55は、例えば、BIOSアプリのプログラムに、利用者のサイン(署名)を付与して、サーバ装置40に登録する。ここで、利用者のサイン(署名)は、BIOSアプリの正当性を証明する認証情報であり、当該利用者のサイン(署名)を確認することで、BIOSアプリが利用者によって提供されたものであることを確認可能である。
【0040】
サーバ装置40は、NW通信部41と、サーバ記憶部42と、サーバ制御部43とを備える。
NW通信部41は、例えば、無線LANモジュールやLANモジュールなどであり、無線LANや有線LANなどのネットワーク通信によりネットワークNW1に接続し、ノートPC1又は利用者端末装置50との間で通信を行う。
【0041】
サーバ記憶部42は、例えば、HDDやSSDなどの記憶デバイスであり、サーバ装置40が利用する各種情報を記憶する。サーバ記憶部42は、例えば、更新ファイル記憶部421を備える。
【0042】
更新ファイル記憶部421は、例えば、HDDやSSDにより実現される記憶部であり、BIOSアプリなどのBIOSの更新ファイルを記憶する。更新ファイル記憶部421は、例えば、利用者端末装置50から取得したサイン付きのBIOSアプリのプログラムをカプセル化して、サーバ管理者のサイン(署名)を付与したカプセルファイルを記憶する。
【0043】
サーバ制御部43は、例えば、CPUを含むプロセッサであり、サーバ装置40を統括的に制御する。サーバ制御部43は、登録処理部431と、配信処理部432とを備える。
【0044】
登録処理部431は、不図示の記憶部が記憶するプログラムをCPUに実行させることで実現される機能部である。登録処理部431は、NW通信部41を介して、利用者端末装置50から利用者のサイン付きのBIOSアプリのプログラムを取得し、取得したサイン付きのBIOSアプリのプログラムを、サーバ管理者のサインにより、カプセル化して、サーバ管理者のサイン(署名)を付与したカプセルファイルを生成する。登録処理部431は、生成したカプセルファイルを、更新ファイル記憶部421に記憶させて登録する。
【0045】
配信処理部432は、不図示の記憶部が記憶するプログラムをCPUに実行させることで実現される機能部である。配信処理部432は、NW通信部41を介して、ノートPC1から受信したカプセルファイルの配信要求に応じて、対応するカプセルファイルを、更新ファイル記憶部421から取得する。配信処理部432は、取得したサーバ管理者のサインが付与されたカプセルファイルを、NW通信部41を介して、ノートPC1に送信(配信)する。
【0046】
ノートPC1は、メイン制御部10と、ビデオサブシステム13と、表示部14と、BIOSメモリ22と、SSD23と、WLANカード25と、エンベデッドコントローラ31と、入力部32とを備える。
【0047】
BIOSメモリ22は、BIOSを介さずにOS(Operating System)から接続不可能(アクセス不可能)な書き換え可能な不揮発性メモリであり、少なくともOSの起動に必要なブートプログラム及びBIOSアプリの管理情報を記憶する。なお、BIOSメモリ22は、BIOS及びエンベデッドコントローラ31からのみ、アクセス可能である。
BIOSメモリ22は、ブートプログラム記憶部221と、証明書記憶部222と、管理情報記憶部223とを備える。
ブートプログラム記憶部221は、BIOSメモリ22により実現される記憶部であり、BIOSのプログラムのうちの主にブート処理(例えば、OSの起動処理)を実行するプログラムを記憶する。
【0048】
証明書記憶部222は、BIOSメモリ22により実現される記憶部であり、BIOSのプログラムの正当性を確認するための署名証明書を記憶する。証明書記憶部222は、例えば、追加したBIOSアプリを提供する利用者の署名証明書を記憶する。
【0049】
管理情報記憶部223は、BIOSメモリ22により実現される記憶部であり、例えば、追加したBIOSアプリの管理情報を記憶する。管理情報には、例えば、BIOSアプリのAppID(アプリケーションID)、Description(名称)、及びハッシュ値、等が含まれる。管理情報記憶部223は、例えば、UEFIVariable領域(変数領域)である。
【0050】
SSD23は、BIOS領域231と、EFIシステム領域232とを備える。
BIOS領域231は、SSD23の一部領域であり、BIOSを介さずにOSから接続不可能(アクセス不可能)な領域(ブートパーティション)である。BIOS領域231は、SPIバス(SMBus)により、エンベデッドコントローラ31及びBIOSメモリ22を介して、メイン制御部10と接続されており、OSから直接アクセスできない領域である。なお、BIOS領域231は、BIOS及びエンベデッドコントローラ31からのみ、アクセス可能である。
【0051】
本実施形態において、BIOS領域231は、利用者のサインが付与されたBIOSアプリのプログラムを記憶する。
なお、本実施形態において、BIOSメモリ22と、BIOS領域231とは、BIOS記憶部20に対応する。BIOS記憶部20は、BIOSのプログラムを記憶する記憶部であり、BIOS及びエンベデッドコントローラ31からのみ、アクセス可能であり、OSから直接アクセスできない記憶部である。
【0052】
EFI(Extensible Firmware Interface)システム領域232は、SSD23の一部領域であり、BIOS及びOSで使用するシステム領域である。EFIシステム領域232は、PCI-Expressバスによって、メイン制御部10からアクセス可能な領域である。EFIシステム領域232は、例えば、サーバ装置40から取得したカプセルファイルを一時保存する。
【0053】
メイン制御部10は、CPU11及びチップセット21に、BIOSメモリ22及びSSD23が記憶するプログラムを実行させることで実現される機能部であり、BIOS又はOSに基づくノートPC1の各種処理を実行する。メイン制御部10は、BIOS処理部101を備える。
【0054】
BIOS処理部101は、CPU11及びチップセット21に、BIOSメモリ22及びBIOS領域231が記憶するプログラムを実行させることで実現される機能部である。BIOS処理部101は、BIOSに基づく各種処理を実行する。BIOS処理部101は、例えば、サーバ管理者の署名に基づいて、サーバ装置40から取得したカプセルファイルの正当性が確認された場合に、カプセルファイルからBIOSアプリのプログラムを取り出して、BIOS記憶部20(例えば、BIOS領域231)に記憶させる。BIOS処理部101は、カプセルファイルの正当性が確認された場合に、カプセルファイルからBIOSアプリのプログラムを取り出して、BIOS領域231に記憶させる。
【0055】
また、BIOS処理部101は、BIOSアプリをセキュアブートを用いて実行する。BIOS処理部101は、利用者の署名証明書及び利用者のサインに基づいて、BIOSアプリのプログラムの正当性が確認された場合に、BIOSアプリのプログラムの実行を許可し、BIOSアプリを実行する。また、BIOS処理部101は、例えば、証明書記憶部222に、BIOSアプリを提供した利用者の署名証明書が記憶されていない場合など、BIOSアプリのプログラムの正当性が確認されなかった場合に、BIOSアプリのプログラムの実行を禁止する。
【0056】
また、BIOS処理部101は、セキュアブートを用いて、BIOSを起動する処理を実行する。BIOS処理部101は、ブートプログラム記憶部221が記憶するブートプログラムをCPU11及びチップセット21に実行させることで、POST(Power On Self Test)処理を実行するとともに、BIOSを起動する。
【0057】
また、BIOS処理部101は、BIOSを起動させる際に、BIOSメモリ22に、BIOSアプリの管理情報が記憶されており、且つ、BIOS領域231に、BIOSアプリのプログラムが記憶されていない場合に、SSD23が付け替えられたと判定する。BIOS処理部101は、SSD23が付け替えられた場合に、当該BIOSアプリのプログラムに対応するカプセルファイルを、サーバ装置40から再取得する。
【0058】
次に、図面を参照して、本実施形態による情報処理システム100の動作ぬついて説明する。
図4は、本実施形態による情報処理システム100のBIOSアプリの取得処理の一例を示す図である。また、
図5は、本実施形態による情報処理システムのBIOSアプリの取得処理における状態例を示す図面である。
【0059】
図4に示すように、利用者端末装置50は、まず、BIOSアプリ及び署名(サイン)を含む登録要求をサーバ装置40に送信する(ステップS101)。利用者端末装置50の端末制御部55は、入力部52による操作に応じて、NW通信部51を介して、サーバ装置40に接続し、予め用意しているBIOSアプリのプログラムに利用者のサイン(署名)付与した登録要求を、NW通信部51を介して、サーバ装置40に送信する。
【0060】
次に、サーバ装置40は、BIOSアプリ及びサイン(署名)をカプセル化したカプセルファイルを生成する(ステップS102)。サーバ装置40の登録処理部431は、NW通信部41を介して受信したBIOSアプリ及び署名(サイン)を含む登録要求に応じて、
図5(a)に示すように、サイン(署名)が付与されたBIOSアプリAP1をカプセル化して、サーバ管理者のサイン(署名)を付与したカプセルファイルCF1を生成する。
【0061】
次に、登録処理部431は、カプセルファイルCF1を、更新ファイル記憶部421に記憶させてる(ステップS103)、すなわち、登録処理部431は、生成したカプセルファイルCF1を、更新ファイル記憶部421に登録する。
【0062】
次に、ノートPC1は、BIOSアプリAP1の配信要求をサーバ装置40に送信する(ステップS104)。ノートPC1のBIOS処理部101は、WLANカード25を介して、BIOSアプリAP1の配信要求をサーバ装置40に送信する。
【0063】
次に、サーバ装置40は、BIOSアプリAP1の配信要求に応じて、カプセルファイルCF1を、ノートPC1に送信する(ステップS105)。サーバ装置40の配信処理部432は、BIOSアプリAP1のプログラムをカプセル化したカプセルファイルCF1を、更新ファイル記憶部421から取得し、サーバ管理者のサインが付与されているカプセルファイルCF1を、NW通信部41を介して、ノートPC1に送信する。
【0064】
次に、ノートPC1は、カプセルファイルCF1をSSD23のEFIシステム領域232に記憶させる(ステップS106)。ノートPC1のBIOS処理部101は、
図5(b)に示すように、WLANカード25を介してサーバ装置40から受信したカプセルファイルCF1を、EFIシステム領域232に記憶させる。
【0065】
次に、BIOS処理部101は、リブート処理を実行する(ステップS107)。BIOS処理部101は、ノートPC1を再起動して、BIOSを再起動させる。
【0066】
次に、BIOS処理部101は、カプセルファイルCF1のサイン(サーバ管理者のサイン)をチェックする(ステップS108)。BIOS処理部101は、EFIシステム領域232からカプセルファイルCF1を読み出し、サーバ管理者のサインにより、カプセルファイルCF1の正当性を確認する。
【0067】
次に、BIOS処理部101は、チェックがOKであるか否かを判定する(ステップS109)。BIOS処理部101は、カプセルファイルCF1の正当性が確認されたか否かを判定する。BIOS処理部101は、チェックがOKである(カプセルファイルCF1の正当性が確認された)場合(ステップS109:YES)に、処理をステップS110に進める。また、BIOS処理部101は、チェックがOKでない(カプセルファイルCF1の正当性が確認さていない)場合(ステップS109:NO)に、ステップS110の処理をスキップする。
【0068】
ステップS110において、BIOS処理部101は、カプセルファイルCF1内のBIOSアプリAP1をSSD23のBIOS領域231に記憶する。BIOS処理部101は、カプセルファイルCF1から、利用者のサインが付与されているBIOSアプリAP1を取り出し、
図5(c)に示すように、BIOSアプリAP1を、SSD23のBIOS領域231に記憶させる。ここで、BIOS領域231は、BIOS及びエンベデッドコントローラ31からのみアクセス可能な領域であり、BIOS処理部101は、BIOSアプリAP1のプログラムを、当該BIOS領域231に記憶させる。また、BIOS処理部101は、BIOSアプリAP1の管理情報MD1(例えば、AppID、Description、及びハッシュ値、等)を、BIOSメモリ22の管理情報記憶部223に記憶させる。
【0069】
次に、
図6~
図8を参照して、ノートPC1において、BIOSアプリAP1を実行する場合の処理について説明する。
図6は、本実施形態による情報処理システム100のBIOSアプリAP1のセキュアブート処理の一例を示すフローチャートである。ここでは、セキュアブートにより、BIOSアプリAP1の不正実行の防止処理について説明する。
【0070】
図6に示すように、ノートPC1のBIOS処理部101は、BIOSアプリを実行する場合に、まず、利用者の証明書(署名証明書)を用いて、BIOSアプリのサイン(利用者のサイン)をチェックする(ステップS201)。BIOS処理部101は、証明書記憶部222が記憶している利用者の証明書(署名証明書)を用いて、BIOS領域231に記憶されているBIOSアプリAP1の正当性を確認する。
【0071】
次に、BIOS処理部101は、BIOSアプリAP1の正当性が確認されたか否かを判定する(ステップS202)。BIOS処理部101は、利用者の証明書(署名証明書)により、BIOSアプリAP1の正当性が確認された場合(ステップS202:YES)に、処理をステップS203に進める。また、BIOS処理部101は、利用者の証明書(署名証明書)により、BIOSアプリAP1の正当性が確認されていない場合(ステップS202:NO)に、処理をステップS204に進める。なお、ここでのBIOSアプリAP1の正当性が確認されていない場合には、証明書記憶部222が、BIOSアプリAP1を提供した利用者の証明書を記憶していない場合が含まれる。
【0072】
ステップS203において、BIOS処理部101は、BIOSアプリAP1の実行を許可する。これにより、BIOSアプリAP1の実行が可能になり、BIOS処理部101は、ステップS203の処理後に、例えば、BIOSアプリAP1を実行する。
【0073】
また、ステップS204において、BIOS処理部101は、BIOSアプリAP1の実行を禁止する。これにより、BIOSアプリAP1の実行が不可能になる。BIOS処理部101は、ステップS203の処理後に、処理を終了する。
【0074】
図7は、本実施形態による情報処理システム100の正常な場合のBIOSアプリAP1の実行処理の一例を示す図である。
図7に示す例では、SSD23のBIOS領域231に、BIOSアプリAP1が記憶されており、BIOSメモリ22(証明書記憶部222)に、BIOSアプリAP1を提供した利用者の証明書CR1が記憶されている。この場合、BIOS処理部101は、利用者の証明書CR1を用いて、BIOSアプリAP1の正当性を確認できるため、BIOSアプリAP1の実行を許可する。これにより、BIOS処理部101は、BIOSアプリAP1を正常に実行することができる。
【0075】
また、
図8は、本実施形態による情報処理システム100のSSD23を不正に使用した場合のBIOSアプリAP1の実行禁止処理の一例を示す図である。
図8に示す例では、例えば、上述した
図7に示すSSD23が、悪意を持った第三者に盗まれて、第三者が持つPCに取り付けられた場合を示している。
【0076】
この場合、SSD23のBIOS領域231に、BIOSアプリAP1が記憶されており、BIOSメモリ22(証明書記憶部222)に、BIOSアプリAP1を提供した利用者の証明書CR1が記憶されていない。そのため、BIOS処理部101は、利用者の証明書CR1を用いて、BIOSアプリAP1の正当性を確認することができず、BIOSアプリAP1の実行を禁止する。
このように、SSD23が盗まれて不正に使用された場合には、BIOS処理部101は、BIOSアプリAP1を実行することができない。
【0077】
次に、
図9及び
図10を参照して、本実施形態による情報処理システムにおいて、ノートPC1のSSD23が付け替えられた場合の復旧処理について説明する。
【0078】
図9は、本実施形態による情報処理システム100において、ノートPC1のSSDを付け替えた場合の一例を示す図である。ここでは、ノートPC1のSSD23が付け替えられた直後の状態を示している。
【0079】
図9において、ノートPC1は、SSD23が付け替えられた直後であるため、SSD23に、BIOSアプリAP1が記憶されていない状態であるが、BIOSメモリ22には、BIOSアプリAP1の管理情報MD1及び利用者の証明書CR1が記憶されている状態である。このような状態において、ノートPC1が起動されると、
図10に示す起動処理が実行される。
【0080】
図10は、本実施形態による情報処理システム100におけるノートPC1の起動処理の一例を示すフローチャートである。
図10に示すように、ノートPC1に電源が投入されると、ノートPC1は、まず、デバイス(メモリ、SSD23など)の初期化処理を実行する(ステップS301)。ノートPC1のBIOS処理部101は、BIOSメモリ22のブートプログラム記憶部221が記憶するプログラムを実行して起動処理を開始し、ノートPC1に搭載されているデバイスの初期化を実行する。
【0081】
次に、BIOS処理部101は、管理情報にあるBIOSアプリAP1がBIOS領域231にあるか否かを判定する(ステップS302)。BIOS処理部101は、BIOSメモリ22の管理情報記憶部223が記憶するBIOSアプリAP1を確認し、当該BIOSアプリAP1のプログラムが、SSD23のBIOS領域231に存在するか否か判定する。BIOS処理部101は、BIOSアプリAP1がBIOS領域231に存在する場合(ステップS301:YES)に、処理をステップS304に進め、通常のBIOSによる起動処理を実行する。また、BIOS処理部101は、BIOSアプリAP1がBIOS領域231に存在しない場合(ステップS301:NO)に、処理をステップS303に進める。
【0082】
ステップS303において、BIOS処理部101は、BIOSアプリAP1の再取得処理を実行する。具体的には、BIOS処理部101は、
図4に示すステップS104からステップS110までの処理と同様の処理を実行する。
【0083】
また、ステップS304において、BIOS処理部101は、セキュアブートが有効、且つ、ブートメニューの表示要求を受け付けたか否かを判定する。BIOS処理部101は、セキュアブートが有効である場合に、例えば、“F12”(ファンクション12)キーの押下を入力部32が受け付けたか否かを判定する。BIOS処理部101は、表示要求(“F12”キーの押下)を受け付けた場合(ステップS304:YES)に、処理をステップS305に進める。また、BIOS処理部101は、表示要求(“F12”キーの押下)を受け付けていない場合(ステップS304:NO)に、起動処理を終了する。
【0084】
ステップS305において、BIOS処理部101は、SSD23のBIOS領域231を読み出す。BIOS処理部101は、BIOS領域231に記憶されているBIOSアプリAP1をリストアップする。
【0085】
次に、BIOS処理部101は、BIOSアプリAP1が、BIOS領域231にあるか否かを判定する(ステップS306)。BIOS処理部101は、BIOSアプリAP1が、BIOS領域231にある場合(ステップS306:YES)に、処理をステップS307に進める。また、BIOS処理部101は、BIOSアプリAP1が、BIOS領域231にない場合(ステップS306:NO)に、処理をステップS308に進める。
【0086】
ステップS307において、BIOS処理部101は、BIOSアプリAP1をブートメニューに追加する。
次に、ステップS308において、BIOS処理部101は、ブートメニューを表示部14に表示する。ステップS308の処理後に、BIOS処理部101は、BIOS設定処理に移行する。
【0087】
以上説明したように、本実施形態による情報処理システム100は、サーバ装置40と、ノートPC1とを備える。サーバ装置40は、利用者(例えば、企業、組織など)のサイン(署名)が付与された、BIOSアプリAP1(BIOSの拡張機能)のプログラムをカプセル化し、当該カプセル化したカプセルファイルCF1にサーバ管理者のサイン(署名)を付与して、ノートPC1(情報処理装置)に提供する。ノートPC1は、BIOS記憶部20と、BIOS処理部101とを備える。BIOS記憶部20は、BIOSのプログラムを記憶する。BIOS処理部101は、サーバ管理者のサインに基づいて、サーバ装置40から取得したカプセルファイルCF1の正当性が確認された場合に、カプセルファイルCF1からBIOSアプリAP1のプログラムを取り出して、BIOS記憶部20に記憶させる。また、BIOS処理部101は、利用者の署名証明書及び利用者のサインに基づいて、BIOSアプリAP1のプログラムの正当性が確認された場合に、BIOSアプリAP1のプログラムの実行を許可する。また、BIOS処理部101は、BIOSアプリAP1のプログラムの正当性が確認されなかった場合に、BIOSアプリAP1のプログラムの実行を禁止する。
【0088】
これにより、本実施形態による情報処理システム100は、例えば、企業などの利用者が準備したサービス(拡張機能、BIOSアプリ)をBIOSに容易に組み込むことができ、より安全に、且つ、容易にBIOSを機能拡張することができる。
【0089】
また、例えば、利用者が独自のBIOSの機能拡張を行いたい場合に、従来技術では、利用者が独自のサーバ装置を用意して、機能拡張であるBIOSアプリを配信する必要があった。これに対して、本実施形態による情報処理システム100は、製造メーカ、ベンダー、又はサプライヤが管理するサーバ装置40をそのまま利用することができ、利用者が独自のサーバ装置を用意する必要がない。よって、本実施形態による情報処理システム100は、サーバ装置40を利用することで、容易、且つ簡単にBIOSを機能拡張することができる。
【0090】
また、本実施形態では、BIOS記憶部20には、BIOSメモリ22と、BIOS領域231とが含まれ。BIOSメモリ22は、BIOSを介さずにOSから接続不可能な書き換え可能な不揮発性メモリであり、少なくともOSの起動に必要なブートプログラム及びBIOSアプリAP1の管理情報を記憶する。BIOS領域231は、SSD23の一部領域であり、BIOSを介さずにOSから接続不可能な領域である。BIOS処理部101は、カプセルファイルCF1の正当性が確認された場合に、カプセルファイルCF1からBIOSアプリAP1のプログラムを取り出して、BIOS領域231に記憶させる。
【0091】
これにより、本実施形態による情報処理システム100は、例えば、
図8に示すように、悪意のある第三者にSSD23が盗まれて、第三者が持つPCに取り付けられた場合に、第三者が持つPCでは、BIOSアプリAP1を実行することができない。そのため、本実施形態による情報処理システム100は、より安全に、且つ、容易にBIOSを機能拡張することができる。
【0092】
また、本実施形態では、BIOS処理部101は、BIOSを起動させる際に、BIOSメモリ22に、BIOSアプリAP1の管理情報が記憶されており、且つ、BIOS領域231に、BIOSアプリAP1のプログラムが記憶されていない場合に、サーバ装置40から、当該BIOSアプリAP1のプログラムに対応するカプセルファイルCF1を、サーバ装置40から再取得する。
【0093】
これにより、本実施形態による情報処理システム100は、例えば、
図9に示すように、ノートPC1のSSD23が付け替えられた場合であっても、BIOSアプリAP1の適切に再取得することができ、ノートPC1を適切に復旧することができる。
【0094】
また、本実施形態では、BIOS処理部101は、BIOSメモリ22に、利用者の署名証明書が記憶されていない場合に、BIOSアプリAP1のプログラムの実行を禁止する。
これにより、本実施形態による情報処理システム100では、ノートPC1は、利用者の署名証明書を記憶している正当なノートPC1のみがBIOSアプリAP1を使用することができ、不正使用を抑制することができる。
【0095】
また、本実施形態では、サーバ装置40は、更新ファイル記憶部421と、配信処理部432とを備える。更新ファイル記憶部421は、サーバ管理者の署名が付与されたカプセルファイルCF1を記憶する。配信処理部432は、カプセルファイルCF1の配信要求に応じて、配信要求に対応するカプセルファイルCF1を、ノートPC1に送信する。
【0096】
これにより、本実施形態による情報処理システム100では、カプセルファイルCF1を利用して拡張機能(BIOSアプリAP1)をノートPC1に配信するため、より安全に、機能拡張を行うことができる。
【0097】
また、本実施形態では、BIOS処理部101は、サーバ装置40から取得したカプセルファイルCF1を、SSD23のBIOS領域231と異なる領域に記憶させた後、ノートPC1を再起動された際に、カプセルファイルCF1の正当性が確認された場合に、カプセルファイルCF1からBIOSアプリAP1のプログラムを取り出して、BIOS領域231に記憶させる。
【0098】
これにより、本実施形態による情報処理システム100では、ノートPC1において、カプセルファイルCF1からBIOSアプリAP1のプログラムを取り出でBIOS領域231に記憶させるため、より安全に、機能拡張を行うことができる。
【0099】
また、本実施形態によるBIOS更新方法は、BIOSのプログラムを記憶するBIOS記憶部20を備えるノートPC1のBIOSを更新するBIOS更新方法であって、配信ステップと、BIOS処理ステップとを含む。配信ステップにおいて、サーバ装置40が、利用者のサイン(署名)が付与された、BIOSアプリAP1(BIOSの拡張機能)のプログラムをカプセル化し、当該カプセル化したカプセルファイルCF1にサーバ管理者の署名を付与して、ノートPC1に提供する。BIOS処理ステップにおいて、ノートPC1が、サーバ管理者のサイン(署名)に基づいて、サーバ装置40から取得したカプセルファイルCF1の正当性が確認された場合に、カプセルファイルCF1からBIOSアプリAP1のプログラムを取り出して、BIOS記憶部20に記憶させ、利用者の署名証明書及び利用者のサイン(署名)に基づいて、BIOSアプリAP1のプログラムの正当性が確認された場合に、BIOSアプリAP1のプログラムの実行を許可し、BIOSアプリAP1のプログラムの正当性が確認されなかった場合に、BIOSアプリAP1のプログラムの実行を禁止する。
【0100】
これにより、本実施形態によるBIOS更新方法は、上述した情報処理システム100と同様の効果を奏し、より安全に、且つ、容易にBIOSを機能拡張することができる。
【0101】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の実施形態において、情報処理装置がノートPC1である例を説明したが、これに限定されるものではなく、例えば、タブレット端末装置、デスクトップPCなどの他の情報処理装置であってもよい。また、情報処理装置は、メイン制御部10とサブ制御部(エンベデッドコントローラ31とを備える構成に限定されるものではなく、1つの制御部が、BIOS処理部101を備えるような構成であってもよい。
【0102】
また、上記の実施形態において、情報処理システム100は、説明の都合上、ノートPC1が接続されている例を説明したが、これに限定されるものではなく、複数のノートPC1を備える形態であってもよい。
【0103】
また、上記の実施形態において、BIOSメモリ22が記憶する情報の一部を、エンベデッドコントローラ31が、保持するようにしてもよい。例えば、BIOSのプログラムの正当性を確認するための秘密情報の一部を、エンベデッドコントローラ31が記憶してもよい。この場合、BIOSの一部をエンベデッドコントローラ31で確認できるため、BIOSメモリ22に独立して、更新を行うことができる。
また、上記の実施形態において、BIOS処理部101が実行する処理の一部を、エンベデッドコントローラ31が、実行するようにしてもよい。
【0104】
なお、上述した情報処理システム100が備える各構成は、内部に、コンピュータシステムを有している。そして、上述した情報処理システム100が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した情報処理システム100が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
【0105】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に情報処理システム100が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0106】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0107】
1 ノートPC
10 メイン制御部
11 CPU
12 メインメモリ
13 ビデオサブシステム
14、53 表示部
20 BIOS記憶部
21 チップセット
22 BIOSメモリ
23 SSD
24 オーディオシステム
25 WLANカード
26 USBコネクタ
31 エンベデッドコントローラ(EC)
32、52 入力部
33 電源回路
40 サーバ装置
41、51 NW通信部
42 サーバ記憶部
43 サーバ制御部
50 利用者端末装置
54 端末記憶部
55 端末制御部
100 情報処理システム
101 BIOS処理部
221 ブートプログラム記憶部
222 証明書記憶部
223 管理情報記憶部
231 BIOS領域
232 EFIシステム領域
421 更新ファイル記憶部
431 登録処理部
432 配信処理部
AP1 BIOSアプリ
CF1 カプセルファイル
NW1 ネットワーク
【手続補正書】
【提出日】2024-02-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
利用者の署名が付与された、BIOS(Basic Input Output System)の拡張機能のプログラムをカプセル化し、当該カプセル化したカプセルファイルにサーバ管理者の署名を付与して、情報処理装置に提供するサーバ装置と、
前記情報処理装置と
を備え、
前記情報処理装置は、
前記BIOSのプログラムを記憶するBIOS記憶部と、
前記サーバ管理者の署名に基づいて、前記サーバ装置から取得した前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS記憶部に記憶させ、前記利用者の署名証明書及び前記利用者の署名に基づいて、前記拡張機能のプログラムの正当性が確認された場合に、前記拡張機能のプログラムの実行を許可し、前記拡張機能のプログラムの正当性が確認されなかった場合に、前記拡張機能のプログラムの実行を禁止するBIOS処理部と
を備え、
前記BIOS記憶部には、
前記BIOSを介さずにOS(Operating System)から接続不可能な書き換え可能な不揮発性メモリであり、少なくとも前記OSの起動に必要なブートプログラム及び前記拡張機能の管理情報を記憶するBIOSメモリと、
SSD(Solid State Drive)の一部領域であり、前記BIOSを介さずにOS(Operating System)から接続不可能なBIOS領域と
が含まれ、
前記BIOS処理部は、前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS領域に記憶させる
情報処理システム。
【請求項2】
前記BIOS処理部は、前記BIOSを起動させる際に、前記BIOSメモリに、前記拡張機能の管理情報が記憶されており、且つ、前記BIOS領域に、前記拡張機能のプログラムが記憶されていない場合に、当該拡張機能のプログラムに対応する前記カプセルファイルを、前記サーバ装置から再取得する
請求項1に記載の情報処理システム。
【請求項3】
前記BIOS処理部は、前記BIOSメモリに、前記利用者の署名証明書が記憶されていない場合に、前記拡張機能のプログラムの実行を禁止する
請求項1に記載の情報処理システム。
【請求項4】
前記サーバ装置は、
前記サーバ管理者の署名が付与された前記カプセルファイルを記憶する更新ファイル記憶部と、
前記カプセルファイルの配信要求に応じて、前記配信要求に対応する前記カプセルファイルを、前記情報処理装置に送信する配信処理部と
を備える
請求項1から請求項3のいずれか一項に記載の情報処理システム。
【請求項5】
前記BIOS処理部は、
前記サーバ装置から取得した前記カプセルファイルを、前記SSDの前記BIOS領域と異なる領域に記憶させた後、前記情報処理装置を再起動された際に、前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS領域に記憶させる
請求項1から請求項3のいずれか一項に記載の情報処理システム。
【請求項6】
BIOS(Basic Input Output System)のプログラムを記憶するBIOS記憶部を備える情報処理装置の前記BIOSを更新するBIOS更新方法であって、
サーバ装置が、利用者の署名が付与された、前記BIOSの拡張機能のプログラムをカプセル化し、当該カプセル化したカプセルファイルにサーバ管理者の署名を付与して、情報処理装置に提供する配信ステップと、
前記情報処理装置が、前記サーバ管理者の署名に基づいて、前記サーバ装置から取得した前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS記憶部に記憶させ、前記利用者の署名証明書及び前記利用者の署名に基づいて、前記拡張機能のプログラムの正当性が確認された場合に、前記拡張機能のプログラムの実行を許可し、前記拡張機能のプログラムの正当性が確認されなかった場合に、前記拡張機能のプログラムの実行を禁止するBIOS処理ステップと
を含み、
前記BIOS記憶部には、
前記BIOSを介さずにOS(Operating System)から接続不可能な書き換え可能な不揮発性メモリであり、少なくとも前記OSの起動に必要なブートプログラム及び前記拡張機能の管理情報を記憶するBIOSメモリと、
SSD(Solid State Drive)の一部領域であり、前記BIOSを介さずにOS(Operating System)から接続不可能なBIOS領域と
が含まれ、
前記BIOS処理ステップにおいて、前記情報処理装置が、前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS領域に記憶させる
BIOS更新方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正の内容】
【0006】
上記問題を解決するために、本発明の一態様は、利用者の署名が付与された、BIOS(Basic Input Output System)の拡張機能のプログラムをカプセル化し、当該カプセル化したカプセルファイルにサーバ管理者の署名を付与して、情報処理装置に提供するサーバ装置と、前記情報処理装置とを備え、前記情報処理装置は、前記BIOSのプログラムを記憶するBIOS記憶部と、前記サーバ管理者の署名に基づいて、前記サーバ装置から取得した前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS記憶部に記憶させ、前記利用者の署名証明書及び前記利用者の署名に基づいて、前記拡張機能のプログラムの正当性が確認された場合に、前記拡張機能のプログラムの実行を許可し、前記拡張機能のプログラムの正当性が確認されなかった場合に、前記拡張機能のプログラムの実行を禁止するBIOS処理部とを備え、前記BIOS記憶部には、前記BIOSを介さずにOS(Operating System)から接続不可能な書き換え可能な不揮発性メモリであり、少なくとも前記OSの起動に必要なブートプログラム及び前記拡張機能の管理情報を記憶するBIOSメモリと、SSD(Solid State Drive)の一部領域であり、前記BIOSを介さずにOS(Operating System)から接続不可能なBIOS領域とが含まれ、前記BIOS処理部は、前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS領域に記憶させる情報処理システムである。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】削除
【補正の内容】
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正の内容】
【0012】
また、本発明の一態様は、BIOS(Basic Input Output System)のプログラムを記憶するBIOS記憶部を備える情報処理装置の前記BIOSを更新するBIOS更新方法であって、サーバ装置が、利用者の署名が付与された、前記BIOSの拡張機能のプログラムをカプセル化し、当該カプセル化したカプセルファイルにサーバ管理者の署名を付与して、情報処理装置に提供する配信ステップと、前記情報処理装置が、前記サーバ管理者の署名に基づいて、前記サーバ装置から取得した前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS記憶部に記憶させ、前記利用者の署名証明書及び前記利用者の署名に基づいて、前記拡張機能のプログラムの正当性が確認された場合に、前記拡張機能のプログラムの実行を許可し、前記拡張機能のプログラムの正当性が確認されなかった場合に、前記拡張機能のプログラムの実行を禁止するBIOS処理ステップとを含み、前記BIOS記憶部には、前記BIOSを介さずにOS(Operating System)から接続不可能な書き換え可能な不揮発性メモリであり、少なくとも前記OSの起動に必要なブートプログラム及び前記拡張機能の管理情報を記憶するBIOSメモリと、SSD(Solid State Drive)の一部領域であり、前記BIOSを介さずにOS(Operating System)から接続不可能なBIOS領域とが含まれ、前記BIOS処理ステップにおいて、前記情報処理装置が、前記カプセルファイルの正当性が確認された場合に、前記カプセルファイルから前記拡張機能のプログラムを取り出して、前記BIOS領域に記憶させるBIOS更新方法である。