説明

情報処理装置、起動制御方法およびプログラム

【課題】特定の者のみによる起動を可能とする情報処理装置、起動制御方法およびプログラムを提供する。
【解決手段】格納手段は、秘匿情報301、情報処理装置に固有の第1の個体情報302および第1のランダムキー304を格納する。取得手段は、リムーバブルメディア400に固有の第2の個体情報401を取得する。生成手段は、格納手段に格納されている秘匿情報301および第1の個体情報302と第2の個体情報401とから第1の認証情報を生成する。第1の検証手段によって第1の認証情報およびリムーバブルメディアに格納されている第2の認証情報が一致すると判定され、第2の検証手段によって格納手段に格納されている第1のランダムキー304およびリムーバブルメディアに格納されている第2のランダムキー404が一致すると判定された場合、起動手段は、情報処理装置を起動する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、起動制御方法およびプログラムに関する。
【背景技術】
【0002】
近年、パーソナルコンピュータ(PC)、PDA、タブレット、スマートフォンといった種々の情報処理装置が開発されている。
【0003】
一般的に、このような情報処理装置を起動する際には、正当なユーザのみによる利用のためにパスワードの入力が要求される場合がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−160325号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、例えば特定の時点のみにおいて情報処理装置を起動させる必要があったために、正当なユーザが当該ユーザ以外の者にパスワードを教えたような場合を想定する。このような場合、その後においてもパスワードを知った者によって情報処理装置が起動される可能性がある。
【0006】
つまり、上記した起動時にパスワードの入力が要求されるような情報処理装置の場合、パスワードを知っている者であれば誰でも当該情報処理装置を起動することが可能となる。
【0007】
これは、セキュリティ等の観点からも好ましくなく、より特定の者のみが情報処理装置を起動できるような仕組みが必要である。
【0008】
そこで、本発明の目的は、特定の者のみによる起動を可能とする情報処理装置、起動制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0009】
実施形態によれば、リムーバブルメディアと接続可能な情報処理装置が提供される。
【0010】
実施形態に係る情報処理装置は、格納手段と、取得手段と、生成手段と、第1の検証手段と、第2の検証手段と、起動手段とを具備する。
【0011】
格納手段は、認証情報を生成するために予め用意されている秘匿情報、前記情報処理装置に固有の第1の個体情報および乱数値を含む第1のランダムキーを格納する。
【0012】
取得手段は、前記情報処理装置に接続されたリムーバブルメディアに固有の第2の個体情報を、当該リムーバブルメディアから取得する。
【0013】
生成手段は、前記格納手段に格納されている秘匿情報および第1の個体情報と前記取得された第2の個体情報とから第1の認証情報を生成する。
【0014】
第1の検証手段は、前記生成された第1の認証情報を、前記情報処理装置に接続されたリムーバブルメディアに格納されている第2の認証情報と比較して、当該第1および第2の認証情報が一致するかを判定する。
【0015】
第2の検証手段は、前記第1および第2の認証情報が一致すると判定された場合、前記格納手段に格納されている第1のランダムキーを、前記情報処理装置に接続されたリムーバブルメディアに格納されている乱数値を含む第2のランダムキーと比較して、当該第1および第2のランダムキーが一致するかを判定する。
【0016】
起動手段は、前記第1および第2のランダムキーが一致すると判定された場合、前記情報処理装置を起動する。
【図面の簡単な説明】
【0017】
【図1】実施形態に係る情報処理装置の概観を示す斜視図。
【図2】本実施形態に係る情報処理装置のシステム構成を示すブロック図。
【図3】本実施形態に係る情報処理装置の動作の概要について説明するための図。
【図4】本実施形態に係る情報処理装置によって実行される起動制御の有効化処理の処理手順を示すフローチャート。
【図5】本実施形態に係る情報処理装置によって実行される起動制御処理の処理手順を示すフローチャート。
【図6】署名検証処理の処理手順を示すフローチャート。
【発明を実施するための形態】
【0018】
以下、実施の形態について図面を参照して説明する。
【0019】
図1は、一実施形態に係る情報処理装置の外観を示す斜視図である。この情報処理装置は、例えば、パーソナルコンピュータ(PC)、PDA、タブレット、スマートフォンといった電子機器である。ここでは、この情報処理装置がノートブックタイプのパーソナルコンピュータ10として実現されている場合を想定している。
【0020】
図1に示すように、本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。ディスプレイユニット12には、LCD(Liquid Crystal Display)17が組み込まれている。ディスプレイユニット12は、コンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面を覆う閉塞位置との間を回動自在にコンピュータ本体11に取り付けられている。
【0021】
コンピュータ本体11は、薄い箱形の筐体を有しており、その上面には、キーボード13、本コンピュータ10をパワーオン/オフするためにパワーボタン14、入力操作パネル15、タッチパッドのようなポインティングデバイス16、スピーカ18A,18Bなどが配置されている。入力操作パネル15上には、各種操作ボタンが設けられている。
【0022】
また、コンピュータ本体11の右側面には、USB(Universal Serial Bus)コネクタ19が設けられている。USBコネクタ19には、例えばUSBメモリ(リムーバブルメディア)等の様々な周辺デバイスを接続することができる。コンピュータ本体11の背面には、例えばHDMI(High-Definition Multimedia Interface)規格に対応した外部ディスプレイ接続端子(図示せず)が設けられている。この外部ディスプレイ接続端子は、デジタル映像信号を外部ディスプレイに出力するために用いられる。
【0023】
図2は、本コンピュータ10のシステム構成を示す図である。
【0024】
本コンピュータ10は、図2に示されているように、CPU101、ノースブリッジ102、主メモリ103、サウスブリッジ104、グラフィクスプロセッシングユニット(GPU)105、ビデオRAM(VRAM)105A、サウンドコントローラ106、BIOS−ROM107、LANコントローラ108、ハードディスクドライブ(HDD)109、光ディスクドライブ(ODD)110、USBコントローラ111A、カードコントローラ111B、無線LANコントローラ112、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)113、EEPROM114等を備える。
【0025】
CPU101は、本コンピュータ10内の各部の動作を制御するプロセッサである。CPU101は、HDD109から主メモリ103にロードされる、オペレーティングシステム(OS)、各種ユーティリティプログラム、および各種アプリケーションプログラムを実行する。
【0026】
また、CPU101は、BIOS−ROM107に格納されたBIOS(Basic Input Output System)も実行する。BIOSは、ハードウェア制御のためのプログラムである。なお、BIOSには、起動制御プログラムが含まれる。
【0027】
起動制御プログラムは、後述するように例えばUSBコネクタ19に接続されるUSBメモリのようなリムーバブルメディアを用いて本コンピュータ(つまり、情報処理装置)10の起動を制御するためのプログラムである。
【0028】
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、例えば、PCI EXPRESS規格のシリアルバスなどを介してGPU105との通信を実行する機能も有している。
【0029】
GPU105は、本コンピュータ10のディスプレイモニタとして使用されるLCD17を制御する表示コントローラである。このGPU105によって生成される表示信号はLCD17に送られる。また、GPU105は、HDMI制御回路3およびHDMI端子2を介して、外部ディスプレイ1にデジタル映像信号を送出することもできる。
【0030】
HDMI端子2は、前述の外部ディスプレイ接続端子である。HDMI端子2は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを1本のケーブルでテレビのような外部ディスプレイ1に送出することができる。HDMI制御回路3は、HDMIモニタと称される外部ディスプレイ1にデジタル映像信号をHDMI端子2を介して送出するためのインタフェースである。
【0031】
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイスおよびLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、HDD109およびODD110を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。
【0032】
サウンドコントローラ106は、音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18BまたはHDMI制御回路3に出力する。
【0033】
LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスであり、一方、無線LANコントローラ112は、例えばIEEE 802.11規格の無線通信を実行する無線通信デバイスである。
【0034】
USBコントローラ111Aは、USBコネクタ19を介して接続される外部機器との通信を実行する。
【0035】
カードコントローラ111Bは、コンピュータ本体11に設けられたカードスロットに挿入されるメモリカードに対するデータの書き込みおよび読み出しを実行する。
【0036】
EC/KBC113は、電力管理のためのエンベデッドコントローラと、キーボード13およびタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC113は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10を電源オン/電源オフする機能を有している。
【0037】
以下、本実施形態に係るコンピュータ10の動作について説明する。本実施形態に係るコンピュータ10は、起動制御の有効化処理および起動制御処理を実行する。
【0038】
起動制御の有効化処理は、本実施形態における起動制御に必要な情報をOS上において準備するための処理である。起動制御処理は、リムーバブルメディアを用いたコンピュータ10の起動を制御するための処理である。
【0039】
本実施形態において用いられるリムーバブルメディアには例えばUSBメモリやSDカード等が含まれるが、以下の説明においては、リムーバブルメディアは、USBメモリであるものとして説明する。なお、本実施形態において用いられるUSBメモリは、汎用USBメモリである。
【0040】
まず、図3のフローチャートを参照して、起動制御の有効化処理の処理手順について説明する。この起動制御の有効化処理は、上記したように本実施形態における起動制御に必要な情報をOS上において準備するための処理であり、コンピュータ10に対応づけられるUSBメモリが当該コンピュータ10(のUSBコネクタ19)に接続された状態で実行される。なお、起動制御の有効化処理は、OS上のアプリケーション(専用ツール)によって実行される。
【0041】
起動制御の有効化処理が実行される場合、コンピュータ10上で動作するBIOSが管理している不揮発メモリ領域(以下、単にBIOSの不揮発メモリ領域と表記)には、コンピュータ10のPC情報が既に格納されているものとする。なお、このPC情報は、コンピュータ10に固有の情報であり、例えば当該コンピュータ10に割り当てられているシリアル番号を含む。
【0042】
また、コンピュータ10に接続されているUSBメモリには、当該USBメモリのUSB個体情報が既に格納されているものとする。なお、このUSB個体情報は、USBメモリに固有の情報であり、例えば当該USBメモリに割り当てられているシリアル番号を含む。
【0043】
まず、専用ツールは、後述する署名(認証情報)を生成するために予め用意されている秘匿情報を取得する。なお、秘匿情報は、当該秘匿情報を管理するための特定のアプリケーション(コンピュータ10等の管理者によって管理されているアプリケーション)から取得される。つまり、起動制御の有効化処理は、管理者による管理のもとで実行される処理である。
【0044】
専用ツールは、取得された秘匿情報をコンピュータ10上で動作するBIOSの不揮発メモリ領域に書き込む(ステップS1)。これにより、BIOSの不揮発メモリ領域には、秘匿情報が格納される。
【0045】
次に、専用ツールは、BIOSの不揮発メモリ領域に格納されているPC情報およびコンピュータ10に接続されているUSBメモリ400に格納されているUSB個体情報を取得する。
【0046】
専用ツールは、ステップS1においてBIOSの不揮発メモリ領域に格納された秘匿情報、取得されたPC情報およびUSB個体情報から署名(認証情報)を生成(計算)する(ステップS2)。
【0047】
なお、署名を生成する方法としては種々のものが考えられるが、例えば秘匿情報を鍵としてPC情報およびUSB個体情報を暗号化することによって署名が生成されても構わない。つまり、本実施形態において用いられる署名は、秘匿情報、PC情報およびUSB個体情報から生成されるものであればよい。
【0048】
専用ツールは、生成された署名を含む署名ファイルをコンピュータ10に接続されているUSBメモリに格納する(ステップS3)。
【0049】
次に、専用ツールは、ランダムキーを生成する。このランダムキーは、乱数値(ランダムな値)を含む。専用ツールは、生成されたランダムキーをBIOSの不揮発メモリ領域およびコンピュータ10に接続されているUSBメモリに書き込む(ステップS4)。これにより、BIOSの不揮発メモリ領域およびコンピュータ10に接続されているUSBメモリ400には、同一のランダムキーが格納される。
【0050】
専用ツールは、リトライ残数をBIOSの不揮発メモリ領域に書き込む(ステップS5)。なお、リトライ残数は、管理者によって定められる。
【0051】
専用ツールは、BIOSの不揮発メモリ領域において、USBメモリ起動制御機能を有効に設定する(ステップS6)。ステップS6の処理が実行されると、起動制御の有効化処理が完了される。
【0052】
上述したように起動制御の有効化処理が実行されると、コンピュータ10上で動作するBIOSの不揮発メモリ領域には、秘匿情報およびランダムキーが格納される。また、コンピュータ10に紐付けられたUSBメモリ(つまり、コンピュータ10に対応するUSBメモリ)には、BIOSの不揮発メモリ領域に格納されている秘匿情報およびPC情報と当該USBメモリに格納されているUSB個体情報とから生成された署名および当該BIOSの不揮発メモリに格納されているランダムキーと同一のランダムキーが格納される。
【0053】
これにより、コンピュータ10と当該コンピュータ10を起動させることが可能なUSBメモリが紐付けられ、以下に説明するように、当該USBメモリを用いて当該コンピュータ10を起動することが可能となる。
【0054】
なお、本実施形態においては、上記したような起動制御の有効化処理により、コンピュータ10と当該コンピュータ10を起動可能なUSBメモリ400(つまり、当該コンピュータ10に対応するUSBメモリ400)は1対1に対応づけられる。
【0055】
次に、図4を参照して、本実施形態に係るコンピュータ10によって実行される起動制御処理の概要について説明する。起動制御処理は、コンピュータ10(のUSBコネクタ19)にUSBメモリ400が接続され、当該コンピュータ10を起動する際に実行される。
【0056】
起動制御処理においては、コンピュータ10に接続されたUSBメモリが当該コンピュータ10に紐付けられたUSBメモリ(つまり、当該コンピュータ10を起動させることが可能なUSBメモリ)であるか否かの認証が行われる。
【0057】
なお、本実施形態における起動制御処理は、上記したBIOS−ROM107に格納されているBIOS(に含まれる起動制御プログラム)をCPU101が実行することによって実現される。換言すれば、本実施形態においては、BIOSが起動制御処理を実行する機能を有している。
【0058】
図4に示すように、コンピュータ10上で動作するBIOS300の不揮発メモリ領域には、秘匿情報301およびPC情報302が格納される。秘匿情報301は、コンピュータ10の起動を制御するために用いられる署名(認証情報)を生成するために予め用意されている情報である。なお、この秘匿情報301は、上述した起動制御の有効化処理によってBIOS300の不揮発メモリ領域に格納される。PC情報302は、コンピュータ10に割り当てられている例えばシリアル番号等を含む。
【0059】
一方、上述したコンピュータ10に接続されたUSBメモリ400には、USB個体情報401が格納されている。USB個体情報401は、USBメモリ400に割り当てられている例えばシリアル番号を含む。また、USBメモリ400には、署名402を含む署名ファイル403が格納されている。この署名402は、USBメモリ400に格納されているUSB個体情報401と、当該USBメモリ400に対応するコンピュータ10(上で起動するBIOS300の不揮発メモリ領域)に格納されている秘匿情報301およびPC情報302とから生成された情報である。なお、署名402(を含む署名ファイル403)は、上述した起動制御の有効化処理によってUSBメモリ400に格納される。
【0060】
BIOS300においては、コンピュータ10に格納されている秘匿情報301およびPC情報302と、当該コンピュータ10に接続されたUSBメモリ400に格納されているUSB個体情報401とから署名(計算値)303が生成され、既にUSBメモリ400に格納されている署名ファイル403に含まれる署名402と当該生成された署名303とを比較することによって、USBメモリ400の認証が行われる。
【0061】
また、図4に示すように、BIOS300の不揮発メモリ領域にはランダムキー304がさらに格納され、USBメモリ400にはランダムキー404がさらに格納されている。USBメモリ400の認証においては、BIOS300の不揮発メモリ領域に格納されているランダムキー304および当該USBメモリ400に格納されているランダムキー404の比較も行われる。
【0062】
起動制御処理においては、このような認証の結果、コンピュータ10に接続されたUSBメモリ400が当該コンピュータ10に対応するUSBメモリである場合、当該コンピュータ10が起動される。
【0063】
次に、図5のフローチャートを参照して、上記した起動制御処理の処理手順について詳細に説明する。この起動制御処理は、上記したようにUSBメモリ400を用いてコンピュータ10を起動する際に実行される。
【0064】
前述したように、起動制御処理はBIOS−ROM107に格納されているBIOS(に含まれる起動制御プログラム)をCPU101が実行することによって実現されるが、以下、図5に示す起動制御処理は便宜的に図4に示すBIOS300が実行するものとして説明する。
【0065】
なお、本実施形態においてコンピュータ10を起動するためには当該コンピュータ10にUSBメモリ400を接続する必要があるが、以下の説明においては当該コンピュータ10に接続されたUSBメモリ400を対象USBメモリ400と称する。
【0066】
また、この対象USBメモリ400には、上記した起動制御の有効化処理によって、署名402およびランダムキー403が格納されているものとする。
【0067】
まず、BIOS300は、上記したBIOS300の不揮発メモリ領域を参照して、USBメモリ起動制御機能が有効に設定されているか否かを判定する(ステップS11)。
【0068】
USBメモリ起動制御機能が有効に設定されていないと判定された場合(ステップS11のNO)、起動制御処理は終了される。
【0069】
一方、USBメモリ起動制御機能が有効に設定されていると判定された場合(ステップS11のYES)、BIOS300は、署名検証処理を実行する(ステップS12)。署名検証処理においては、対象USBメモリ400に格納されている署名402の検証が行われるが、その詳しい説明については後述する。
【0070】
次に、BIOS300は、署名検証処理の結果が成功であるか否かを判定する(ステップS13)。
【0071】
署名検証処理の結果が成功であると判定された場合(ステップS13のYES)、BIOS300は、ランダムキーを検証する(ステップS14)。
【0072】
この場合、BIOS300は、BIOS300の不揮発メモリ領域に格納されているランダムキー(第1のランダムキー)304および対象USBメモリ400に格納されているランダムキー(第2のランダムキー)404を取得する。BIOS300は、取得されたランダムキー304および404を比較して、当該ランダムキー304および404が一致するか否かを判定する。
【0073】
BIOS300は、比較結果に基づいてランダムキーの検証結果が成功であるか否かを判定する(ステップS15)。この場合、取得されたランダムキー304および404が一致すると判定された場合には、ランダムキーの検証結果が成功であると判定される。一方、取得されたランダムキー304および404が一致しないと判定された場合には、ランダムキーの検証結果が成功でないと判定される。
【0074】
ランダムキーの検証結果が成功であると判定された場合(ステップS15のYES)、BIOS300は、新たなランダムキー(第3のランダムキー)を生成する。ここで生成されるランダムキーは、BIOS300の不揮発メモリ領域に格納されているランダムキー304および対象USBメモリ400に格納されているランダムキー404とは異なるものである。
【0075】
BIOS300は、生成された新たなランダムキーをBIOS300の不揮発メモリ領域に格納されているランダムキー304および対象USBメモリ400に格納されているランダムキー404に上書きすることによって、ランダムキーを更新する(ステップS16)。
【0076】
ランダムキーの更新が成功した場合(ステップS17のYES)、BIOS300は、当該BIOS300の不揮発メモリ領域に書き込まれているリトライ残数が後述するように減らされている場合には当該リトライ残数(の値)をリセットする(ステップS18)。
【0077】
上記したステップS18の処理が実行されると、コンピュータ10が起動され(ステップS19)、起動制御処理は終了される。
【0078】
一方、ステップS13において署名検証処理の結果が成功でない(つまり、失敗である)と判定された場合、BIOS300は、上述した起動制御の有効化処理においてBIOS300の不揮発メモリ領域に書き込まれたリトライ残数が0であるか否かを判定する(ステップS20)。
【0079】
リトライ残数が0であると判定された場合(ステップS20のYES)、BIOS300は、当該BIOS300の不揮発メモリ領域に格納されている秘匿情報を削除する(ステップS21)。換言すれば、BIOS300は、対象USBメモリ400の認証(署名の検証、ランダムキーの検証およびランダムキーの更新)を規定回数(リトライ残数として規定されている回数)失敗した場合には秘匿情報を削除する。
【0080】
ステップS21の処理が実行されると、コンピュータ10は起動されず、例えばシャットダウンされる(ステップS22)。ここでは、コンピュータ10がシャットダウンされるものとして説明したが、例えば新たなUSBメモリ400が接続されるまで待機し、当該新たなUSBメモリ400が接続された場合に上記したステップS11に戻って処理が繰り返されるような構成であっても構わない。
【0081】
なお、ステップS15においてランダムキーの検証結果が成功でないと判定された場合には、上記したステップS20の処理が実行される。
【0082】
また、ステップS17においてランダムキーの更新が成功しない場合、同様にステップS20の処理が実行される。なお、ランダムキーの更新が成功しない場合とは、例えばエラー等によりBIOS300の不揮発メモリ領域または対象USBメモリ400にランダムキーを書き込むことができない場合等をいう。
【0083】
また、ステップS20においてリトライ残数が0でないと判定された場合、ステップS21の処理は実行されず、BIOS300は、リトライ残数を1つ減らす(ステップS23)。この場合、BIOS300の不揮発メモリ領域に書き込まれているリトライ残数から1減算された値が当該不揮発メモリ領域において当該リトライ残数に上書きされる。その後、ステップS22の処理が実行される。
【0084】
次に、図6のフローチャートを参照して、前述した署名検証処理(図5に示すステップS12の処理)の処理手順について詳細に説明する。
【0085】
まず、BIOS300は、対象USBメモリ400に格納されているUSB個体情報(第2の個体情報)401を取得する(ステップS31)。このUSB個体情報401には、例えば対象USBメモリ400のシリアル番号等が含まれる。
【0086】
BOIS300は、当該BIOS300の不揮発メモリ領域に格納されているPC情報(第1の個体情報)302を取得する(ステップS32)。このPC情報302には、コンピュータ10のシリアル番号等が含まれる。
【0087】
BIOS300は、当該BIOS300の不揮発メモリ領域に格納されている秘匿情報301を取得する(ステップS33)。この秘匿情報301は、上述したように署名を生成するために用意された情報であり、上述した起動制御の有効化処理においてBIOS300の不揮発メモリ領域に格納された情報である。
【0088】
次に、BIOS300は、ステップS31において取得されたUSB個体情報401、ステップS32において取得されたPC情報302およびステップS33において取得された秘匿情報301から署名(第1の認証情報)303を生成(計算)する(ステップS34)。なお、この署名303は、前述した図4に示すステップS2において説明した方法と同様の方法により生成される。
【0089】
BIOS300は、対象USBメモリ400に格納されている署名ファイル403に含まれる署名(第2の認証情報)402を取得する(ステップS35)。
【0090】
BIOS300は、ステップS34において生成された署名303とステップS35において取得された署名402を比較することにより、署名の検証を行う(ステップS36)。
【0091】
BIOS300は、比較結果に基づいて検証結果(署名検証処理の結果)を取得する(ステップS37)。なお、ステップS36において比較した結果、ステップS34において生成された署名303とステップS35において取得された署名402が一致した場合、検証結果は成功となる。一方、ステップS36において比較した結果、ステップS34において生成された署名303とステップS35において取得された書名402が一致しない場合、検証結果は失敗となる。
【0092】
上記したように図5および図6を参照して説明した起動制御処理が実行された場合、コンピュータ10に接続された対象USBメモリ400が図4に示す起動制御の有効化処理において当該コンピュータ10と紐付けられたUSBメモリ400であれば、署名の検証結果およびランダムキーの検証結果が成功となるので、ランダムキーの更新が失敗しない限りコンピュータ10を起動することができる。
【0093】
一方、コンピュータ10に接続された対象USBメモリ400が当該コンピュータ10と紐付けられていないUSBメモリ400であれば、署名の検証結果およびランダムキーの検証結果が失敗となるので、コンピュータ10を起動することはできない。
【0094】
なお、本実施形態においては起動制御処理がコンピュータ10の起動時に実行されるものとして説明したが、当該起動制御処理は、例えばコンピュータ10が起動された後に定期的に(例えば5分〜60分間隔で)実行される構成であっても構わない。このように定期的に起動制御処理が実行される際にUSBメモリ400が接続されていない場合には、コンピュータ10に紐付けられているUSBメモリ400を当該コンピュータ10に接続することを促すような画面がコンピュータ10上で表示されればよい。
【0095】
このように定期的に実行される起動制御処理において、例えば署名の検証結果およびランダムキーの検証結果が成功である場合にはコンピュータ10の起動は継続されるが、当該署名の検証結果またはランダムキーの検証結果が失敗である場合にはコンピュータ10はシャットダウンされる(つまり、コンピュータ10の起動が停止される)。
【0096】
上記したように本実施形態においては、コンピュータ10に接続されたUSBメモリ400に固有のUSB個体情報401を取得し、BIOS300の不揮発メモリ領域に格納されている秘匿情報301およびPC情報302と当該USB個体情報401とから署名303を生成し、当該生成された署名303と当該USBメモリ400に格納されている署名402とが一致するかを判定し、当該署名が一致すると判定された場合、BIOS300の不揮発メモリ領域に格納されているランダムキー304と当該USBメモリ400に格納されているランダムキー404が一致するかを判定し、当該ランダムキーが一致すると判定された場合、コンピュータ10を起動する構成により、コンピュータ10に紐付けられているUSBメモリ400を所持する特定の者のみが当該コンピュータ10を起動することが可能となる。
【0097】
具体的には、本実施形態においては、署名の検証に加えてランダムキーの検証を行う構成により、仮に同一のUSB個体情報(シリアル番号等)401が格納されたUSBメモリ400が複数存在するような場合であっても、起動制御の有効化処理において紐付けられたUSBメモリ400でなければランダムキーの検証結果は成功とはならないので、より確実にコンピュータ10に紐付けられたUSBメモリ400の認証を行うことができる。
【0098】
また、本実施形態においては、秘匿情報301、PC情報302およびランダムキー304がBIOS300の不揮発メモリ領域に格納され、前述した起動制御処理がBIOS300によって実行される(つまり、BIOS300が起動制御処理を実行する機能を有する)構成により、例えばコンピュータ10においてHDD109が交換されたような場合であっても、BIOS300により起動制御処理を実行することが可能となる。
【0099】
また、本実施形態においては、BIOS300によって生成された署名303およびUSBメモリ400に格納されている署名402が一致しない場合、またはBIOS300の不揮発メモリ領域に格納されているランダムキー304およびUSBメモリ400に格納されているランダムキー404が一致しない場合、BIOS300の不揮発メモリ領域に格納されている秘匿情報301を削除する構成により、例えば当該USBメモリ400の認証を規定回数失敗したような場合にはBIOS300によって署名303を生成することができなくなるため、当該コンピュータ10の起動が不可能になり、当該コンピュータ10に対するセキュリティを確保することが可能となる。
【0100】
さらに、本実施形態においては、BIOS300の不揮発メモリ領域に格納されているランダムキー304およびUSBメモリ400に格納されているランダムキー404が一致すると判定された場合、当該BIOS300の不揮発メモリ領域に格納されているランダムキー304およびUSBメモリ400に格納されているランダムキー404を新たなランダムキーに更新する構成により、BIOS300およびUSBメモリ400において常に同じランダムキーを格納しておく場合と比較して、より確実にコンピュータ10およびUSBメモリ400を1対1で対応させることが可能となる。
【0101】
また、本実施形態においては、起動制御処理が定期的に実行される構成により、一旦コンピュータ10が起動された後においても当該コンピュータ10に紐付けられたUSBメモリ400を保持する者にのみ当該コンピュータ10を使用させることが可能となる。
【0102】
なお、本実施形態における起動制御処理においては署名の検証およびランダムキーの検証が行われるものとして説明したが、ランダムキーの検証を行うか否かについては例えば管理者によって選択可能であってもよい。具体的には、PC情報302およびUSB個体情報401が確実にコンピュータ10およびUSBメモリ400に対して固有の情報である場合には、署名の検証のみでUSBメモリ400の認証を行うことが可能であるため、起動制御処理において署名の検証のみが行われる構成であっても構わない。この場合、図4に示す起動制御の有効化処理においては、ステップS4の処理が省略されても構わない。
【0103】
また、本実施形態における起動制御処理の手順は上述したように起動制御プログラムによって実現することができるので、このプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行することにより、本実施形態と同様の効果を容易に実現することができる。
【0104】
また、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0105】
19…USBコネクタ、101…CPU、107…BIOS−ROM、300…BIOS、400…USBメモリ。

【特許請求の範囲】
【請求項1】
リムーバブルメディアと接続可能な情報処理装置であって、
認証情報を生成するために予め用意されている秘匿情報、前記情報処理装置に固有の第1の個体情報および乱数値を含む第1のランダムキーを格納する格納手段と、
前記情報処理装置に接続されたリムーバブルメディアに固有の第2の個体情報を、当該リムーバブルメディアから取得する取得手段と、
前記格納手段に格納されている秘匿情報および第1の個体情報と前記取得された第2の個体情報とから第1の認証情報を生成する生成手段と、
前記生成された第1の認証情報を、前記情報処理装置に接続されたリムーバブルメディアに格納されている第2の認証情報と比較して、当該第1および第2の認証情報が一致するかを判定する第1の検証手段と、
前記第1および第2の認証情報が一致すると判定された場合、前記格納手段に格納されている第1のランダムキーを、前記情報処理装置に接続されたリムーバブルメディアに格納されている乱数値を含む第2のランダムキーと比較して、当該第1および第2のランダムキーが一致するかを判定する第2の検証手段と、
前記第1および第2のランダムキーが一致すると判定された場合、前記情報処理装置を起動する起動手段と
を具備することを特徴とする情報処理装置。
【請求項2】
前記格納手段は、前記情報処理装置上で動作するBIOSによって管理されている不揮発メモリ領域を含み、
前記秘匿情報、前記第1の個体情報および前記第1のランダムキーは、前記格納手段に含まれる不揮発メモリ領域に格納され、
前記BIOSが前記取得手段、前記生成手段、前記第1および第2の検証手段、および前記起動手段を有する
ことを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記第1および第2の認証情報が一致しないと判定された場合、または前記第1および第2のランダムキーが一致しないと判定された場合、前記格納手段に格納されている秘匿情報を削除する削除手段をさらに具備することを特徴とする請求項1記載の情報処理装置。
【請求項4】
更新手段をさらに具備し、
前記リムーバブルメディアは、各種データを書き換え可能であり、
前記更新手段は、前記第1および第2のランダムキーが一致すると判定された場合、前記格納手段に格納されている第1のランダムキーおよび前記情報処理装置に接続されたリムーバブルメディアに格納されている第2のランダムキーを、第3のランダムキーに更新する
ことを特徴とする請求項1記載の情報処理装置。
【請求項5】
起動停止手段をさらに具備し、
前記取得手段、前記生成手段、前記第1の検証手段および前記第2の検証手段の処理は、前記情報処理装置が起動された後、定期的に実行され、
前記起動停止手段は、前記定期的に実行された前記第1の検証手段の処理において前記第1および第2の認証情報が一致しないと判定された場合、または前記定期的に実行された第2の検証手段の処理において前記第1および第2のランダムキーが一致しないと判定された場合、前記情報処理装置の起動を停止する
ことを特徴とする請求項1記載の情報処理装置。
【請求項6】
認証情報を生成するために予め用意されている秘匿情報、情報処理装置に固有の第1の個体情報および乱数値を含む第1のランダムキーを格納する格納手段を有する前記情報処理装置が実行する起動制御方法であって、
前記情報処理装置に接続されたリムーバブルメディアに固有の第2の個体情報を、当該リムーバブルメディアから取得するステップと、
前記格納手段に格納されている秘匿情報および第1の個体情報と前記取得された第2の個体情報とから第1の認証情報を生成するステップと、
前記生成された第1の認証情報を、前記リムーバブルメディアに格納されている第2の認証情報と比較して、当該第1および第2の認証情報が一致するかを判定するステップと、
前記第1および第2の認証情報が一致すると判定された場合、前記格納手段に格納されている第1のランダムキーを、前記リムーバブルメディアに格納されている乱数値を含む第2のランダムキーと比較して、当該第1および第2のランダムキーが一致するかを判定するステップと、
前記第1および第2のランダムキーが一致すると判定された場合、前記情報処理装置を起動するステップと
を具備することを特徴とする起動制御方法。
【請求項7】
認証情報を生成するために予め用意されている秘匿情報、コンピュータに固有の第1の個体情報および乱数値を含む第1のランダムキーを格納する格納手段を有する前記コンピュータによって実行されるプログラムであって、
前記コンピュータに、
前記コンピュータに接続されたリムーバブルメディアに固有の第2の個体情報を、当該リムーバブルメディアから取得するステップと、
前記格納手段に格納されている秘匿情報および第1の個体情報と前記取得された第2の個体情報とから第1の認証情報を生成するステップと、
前記生成された第1の認証情報を、前記リムーバブルメディアに格納されている第2の認証情報と比較して、当該第1および第2の認証情報が一致するかを判定するステップと、
前記第1および第2の認証情報が一致すると判定された場合、前記格納手段に格納されている第1のランダムキーを、前記リムーバブルメディアに格納されている乱数値を含む第2のランダムキーと比較して、当該第1および第2のランダムキーが一致するかを判定するステップと、
前記第1および第2のランダムキーが一致すると判定された場合、前記コンピュータを起動するステップと
を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−78066(P2013−78066A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−218024(P2011−218024)
【出願日】平成23年9月30日(2011.9.30)
【特許番号】特許第5085778号(P5085778)
【特許公報発行日】平成24年11月28日(2012.11.28)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】