(57)【要約】      （修正有）【課題】特定の者のみによる起動を可能とする情報処理装置、起動制御方法およびプログラムを提供する。【解決手段】格納手段は、秘匿情報３０１、情報処理装置に固有の第１の個体情報３０２および第１のランダムキー３０４を格納する。取得手段は、リムーバブルメディア４００に固有の第２の個体情報４０１を取得する。生成手段は、格納手段に格納されている秘匿情報３０１および第１の個体情報３０２と第２の個体情報４０１とから第１の認証情報を生成する。第１の検証手段によって第１の認証情報およびリムーバブルメディアに格納されている第２の認証情報が一致すると判定され、第２の検証手段によって格納手段に格納されている第１のランダムキー３０４およびリムーバブルメディアに格納されている第２のランダムキー４０４が一致すると判定された場合、起動手段は、情報処理装置を起動する。【選択図】図４
2013078066.tif 000002
【特許請求の範囲】
【請求項１】
リムーバブルメディアと接続可能な情報処理装置であって、
認証情報を生成するために予め用意されている秘匿情報、前記情報処理装置に固有の第１の個体情報および乱数値を含む第１のランダムキーを格納する格納手段と、
前記情報処理装置に接続されたリムーバブルメディアに固有の第２の個体情報を、当該リムーバブルメディアから取得する取得手段と、
前記格納手段に格納されている秘匿情報および第１の個体情報と前記取得された第２の個体情報とから第１の認証情報を生成する生成手段と、
前記生成された第１の認証情報を、前記情報処理装置に接続されたリムーバブルメディアに格納されている第２の認証情報と比較して、当該第１および第２の認証情報が一致するかを判定する第１の検証手段と、
前記第１および第２の認証情報が一致すると判定された場合、前記格納手段に格納されている第１のランダムキーを、前記情報処理装置に接続されたリムーバブルメディアに格納されている乱数値を含む第２のランダムキーと比較して、当該第１および第２のランダムキーが一致するかを判定する第２の検証手段と、
前記第１および第２のランダムキーが一致すると判定された場合、前記情報処理装置を起動する起動手段と
を具備することを特徴とする情報処理装置。
【請求項２】
前記格納手段は、前記情報処理装置上で動作するＢＩＯＳによって管理されている不揮発メモリ領域を含み、
前記秘匿情報、前記第１の個体情報および前記第１のランダムキーは、前記格納手段に含まれる不揮発メモリ領域に格納され、
前記ＢＩＯＳが前記取得手段、前記生成手段、前記第１および第２の検証手段、および前記起動手段を有する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第１および第２の認証情報が一致しないと判定された場合、または前記第１および第２のランダムキーが一致しないと判定された場合、前記格納手段に格納されている秘匿情報を削除する削除手段をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項４】
更新手段をさらに具備し、
前記リムーバブルメディアは、各種データを書き換え可能であり、
前記更新手段は、前記第１および第２のランダムキーが一致すると判定された場合、前記格納手段に格納されている第１のランダムキーおよび前記情報処理装置に接続されたリムーバブルメディアに格納されている第２のランダムキーを、第３のランダムキーに更新する
ことを特徴とする請求項１記載の情報処理装置。
【請求項５】
起動停止手段をさらに具備し、
前記取得手段、前記生成手段、前記第１の検証手段および前記第２の検証手段の処理は、前記情報処理装置が起動された後、定期的に実行され、
前記起動停止手段は、前記定期的に実行された前記第１の検証手段の処理において前記第１および第２の認証情報が一致しないと判定された場合、または前記定期的に実行された第２の検証手段の処理において前記第１および第２のランダムキーが一致しないと判定された場合、前記情報処理装置の起動を停止する
ことを特徴とする請求項１記載の情報処理装置。
【請求項６】
認証情報を生成するために予め用意されている秘匿情報、情報処理装置に固有の第１の個体情報および乱数値を含む第１のランダムキーを格納する格納手段を有する前記情報処理装置が実行する起動制御方法であって、
前記情報処理装置に接続されたリムーバブルメディアに固有の第２の個体情報を、当該リムーバブルメディアから取得するステップと、
前記格納手段に格納されている秘匿情報および第１の個体情報と前記取得された第２の個体情報とから第１の認証情報を生成するステップと、
前記生成された第１の認証情報を、前記リムーバブルメディアに格納されている第２の認証情報と比較して、当該第１および第２の認証情報が一致するかを判定するステップと、
前記第１および第２の認証情報が一致すると判定された場合、前記格納手段に格納されている第１のランダムキーを、前記リムーバブルメディアに格納されている乱数値を含む第２のランダムキーと比較して、当該第１および第２のランダムキーが一致するかを判定するステップと、
前記第１および第２のランダムキーが一致すると判定された場合、前記情報処理装置を起動するステップと
を具備することを特徴とする起動制御方法。
【請求項７】
認証情報を生成するために予め用意されている秘匿情報、コンピュータに固有の第１の個体情報および乱数値を含む第１のランダムキーを格納する格納手段を有する前記コンピュータによって実行されるプログラムであって、
前記コンピュータに、
前記コンピュータに接続されたリムーバブルメディアに固有の第２の個体情報を、当該リムーバブルメディアから取得するステップと、
前記格納手段に格納されている秘匿情報および第１の個体情報と前記取得された第２の個体情報とから第１の認証情報を生成するステップと、
前記生成された第１の認証情報を、前記リムーバブルメディアに格納されている第２の認証情報と比較して、当該第１および第２の認証情報が一致するかを判定するステップと、
前記第１および第２の認証情報が一致すると判定された場合、前記格納手段に格納されている第１のランダムキーを、前記リムーバブルメディアに格納されている乱数値を含む第２のランダムキーと比較して、当該第１および第２のランダムキーが一致するかを判定するステップと、
前記第１および第２のランダムキーが一致すると判定された場合、前記コンピュータを起動するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、起動制御方法およびプログラムに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（ＰＣ）、ＰＤＡ、タブレット、スマートフォンといった種々の情報処理装置が開発されている。
【０００３】
一般的に、このような情報処理装置を起動する際には、正当なユーザのみによる利用のためにパスワードの入力が要求される場合がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１６０３２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、例えば特定の時点のみにおいて情報処理装置を起動させる必要があったために、正当なユーザが当該ユーザ以外の者にパスワードを教えたような場合を想定する。このような場合、その後においてもパスワードを知った者によって情報処理装置が起動される可能性がある。
【０００６】
つまり、上記した起動時にパスワードの入力が要求されるような情報処理装置の場合、パスワードを知っている者であれば誰でも当該情報処理装置を起動することが可能となる。
【０００７】
これは、セキュリティ等の観点からも好ましくなく、より特定の者のみが情報処理装置を起動できるような仕組みが必要である。
【０００８】
そこで、本発明の目的は、特定の者のみによる起動を可能とする情報処理装置、起動制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
実施形態によれば、リムーバブルメディアと接続可能な情報処理装置が提供される。
【００１０】
実施形態に係る情報処理装置は、格納手段と、取得手段と、生成手段と、第１の検証手段と、第２の検証手段と、起動手段とを具備する。
【００１１】
格納手段は、認証情報を生成するために予め用意されている秘匿情報、前記情報処理装置に固有の第１の個体情報および乱数値を含む第１のランダムキーを格納する。
【００１２】
取得手段は、前記情報処理装置に接続されたリムーバブルメディアに固有の第２の個体情報を、当該リムーバブルメディアから取得する。
【００１３】
生成手段は、前記格納手段に格納されている秘匿情報および第１の個体情報と前記取得された第２の個体情報とから第１の認証情報を生成する。
【００１４】
第１の検証手段は、前記生成された第１の認証情報を、前記情報処理装置に接続されたリムーバブルメディアに格納されている第２の認証情報と比較して、当該第１および第２の認証情報が一致するかを判定する。
【００１５】
第２の検証手段は、前記第１および第２の認証情報が一致すると判定された場合、前記格納手段に格納されている第１のランダムキーを、前記情報処理装置に接続されたリムーバブルメディアに格納されている乱数値を含む第２のランダムキーと比較して、当該第１および第２のランダムキーが一致するかを判定する。
【００１６】
起動手段は、前記第１および第２のランダムキーが一致すると判定された場合、前記情報処理装置を起動する。
【図面の簡単な説明】
【００１７】
【図１】実施形態に係る情報処理装置の概観を示す斜視図。
【図２】本実施形態に係る情報処理装置のシステム構成を示すブロック図。
【図３】本実施形態に係る情報処理装置の動作の概要について説明するための図。
【図４】本実施形態に係る情報処理装置によって実行される起動制御の有効化処理の処理手順を示すフローチャート。
【図５】本実施形態に係る情報処理装置によって実行される起動制御処理の処理手順を示すフローチャート。
【図６】署名検証処理の処理手順を示すフローチャート。
【発明を実施するための形態】
【００１８】
以下、実施の形態について図面を参照して説明する。
【００１９】
図１は、一実施形態に係る情報処理装置の外観を示す斜視図である。この情報処理装置は、例えば、パーソナルコンピュータ（ＰＣ）、ＰＤＡ、タブレット、スマートフォンといった電子機器である。ここでは、この情報処理装置がノートブックタイプのパーソナルコンピュータ１０として実現されている場合を想定している。
【００２０】
図１に示すように、本コンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成されている。ディスプレイユニット１２には、ＬＣＤ（Liquid Crystal Display）１７が組み込まれている。ディスプレイユニット１２は、コンピュータ本体１１の上面が露出される開放位置とコンピュータ本体１１の上面を覆う閉塞位置との間を回動自在にコンピュータ本体１１に取り付けられている。
【００２１】
コンピュータ本体１１は、薄い箱形の筐体を有しており、その上面には、キーボード１３、本コンピュータ１０をパワーオン／オフするためにパワーボタン１４、入力操作パネル１５、タッチパッドのようなポインティングデバイス１６、スピーカ１８Ａ，１８Ｂなどが配置されている。入力操作パネル１５上には、各種操作ボタンが設けられている。
【００２２】
また、コンピュータ本体１１の右側面には、ＵＳＢ（Universal Serial Bus）コネクタ１９が設けられている。ＵＳＢコネクタ１９には、例えばＵＳＢメモリ（リムーバブルメディア）等の様々な周辺デバイスを接続することができる。コンピュータ本体１１の背面には、例えばＨＤＭＩ（High-Definition Multimedia Interface）規格に対応した外部ディスプレイ接続端子（図示せず）が設けられている。この外部ディスプレイ接続端子は、デジタル映像信号を外部ディスプレイに出力するために用いられる。
【００２３】
図２は、本コンピュータ１０のシステム構成を示す図である。
【００２４】
本コンピュータ１０は、図２に示されているように、ＣＰＵ１０１、ノースブリッジ１０２、主メモリ１０３、サウスブリッジ１０４、グラフィクスプロセッシングユニット（ＧＰＵ）１０５、ビデオＲＡＭ（ＶＲＡＭ）１０５Ａ、サウンドコントローラ１０６、ＢＩＯＳ−ＲＯＭ１０７、ＬＡＮコントローラ１０８、ハードディスクドライブ（ＨＤＤ）１０９、光ディスクドライブ（ＯＤＤ）１１０、ＵＳＢコントローラ１１１Ａ、カードコントローラ１１１Ｂ、無線ＬＡＮコントローラ１１２、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）１１３、ＥＥＰＲＯＭ１１４等を備える。
【００２５】
ＣＰＵ１０１は、本コンピュータ１０内の各部の動作を制御するプロセッサである。ＣＰＵ１０１は、ＨＤＤ１０９から主メモリ１０３にロードされる、オペレーティングシステム（ＯＳ）、各種ユーティリティプログラム、および各種アプリケーションプログラムを実行する。
【００２６】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０７に格納されたＢＩＯＳ（Basic Input Output System）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。なお、ＢＩＯＳには、起動制御プログラムが含まれる。
【００２７】
起動制御プログラムは、後述するように例えばＵＳＢコネクタ１９に接続されるＵＳＢメモリのようなリムーバブルメディアを用いて本コンピュータ（つまり、情報処理装置）１０の起動を制御するためのプログラムである。
【００２８】
ノースブリッジ１０２は、ＣＰＵ１０１のローカルバスとサウスブリッジ１０４との間を接続するブリッジデバイスである。ノースブリッジ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１０２は、例えば、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してＧＰＵ１０５との通信を実行する機能も有している。
【００２９】
ＧＰＵ１０５は、本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７を制御する表示コントローラである。このＧＰＵ１０５によって生成される表示信号はＬＣＤ１７に送られる。また、ＧＰＵ１０５は、ＨＤＭＩ制御回路３およびＨＤＭＩ端子２を介して、外部ディスプレイ１にデジタル映像信号を送出することもできる。
【００３０】
ＨＤＭＩ端子２は、前述の外部ディスプレイ接続端子である。ＨＤＭＩ端子２は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを１本のケーブルでテレビのような外部ディスプレイ１に送出することができる。ＨＤＭＩ制御回路３は、ＨＤＭＩモニタと称される外部ディスプレイ１にデジタル映像信号をＨＤＭＩ端子２を介して送出するためのインタフェースである。
【００３１】
サウスブリッジ１０４は、ＰＣＩ（Peripheral Component Interconnect）バス上の各デバイスおよびＬＰＣ（Low Pin Count）バス上の各デバイスを制御する。また、サウスブリッジ１０４は、ＨＤＤ１０９およびＯＤＤ１１０を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１０４は、サウンドコントローラ１０６との通信を実行する機能も有している。
【００３２】
サウンドコントローラ１０６は、音源デバイスであり、再生対象のオーディオデータをスピーカ１８Ａ，１８ＢまたはＨＤＭＩ制御回路３に出力する。
【００３３】
ＬＡＮコントローラ１０８は、例えばＩＥＥＥ  ８０２．３規格の有線通信を実行する有線通信デバイスであり、一方、無線ＬＡＮコントローラ１１２は、例えばＩＥＥＥ  ８０２．１１規格の無線通信を実行する無線通信デバイスである。
【００３４】
ＵＳＢコントローラ１１１Ａは、ＵＳＢコネクタ１９を介して接続される外部機器との通信を実行する。
【００３５】
カードコントローラ１１１Ｂは、コンピュータ本体１１に設けられたカードスロットに挿入されるメモリカードに対するデータの書き込みおよび読み出しを実行する。
【００３６】
ＥＣ／ＫＢＣ１１３は、電力管理のためのエンベデッドコントローラと、キーボード１３およびタッチパッド１６を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。ＥＣ／ＫＢＣ１１３は、ユーザによるパワーボタン１４の操作に応じて本コンピュータ１０を電源オン／電源オフする機能を有している。
【００３７】
以下、本実施形態に係るコンピュータ１０の動作について説明する。本実施形態に係るコンピュータ１０は、起動制御の有効化処理および起動制御処理を実行する。
【００３８】
起動制御の有効化処理は、本実施形態における起動制御に必要な情報をＯＳ上において準備するための処理である。起動制御処理は、リムーバブルメディアを用いたコンピュータ１０の起動を制御するための処理である。
【００３９】
本実施形態において用いられるリムーバブルメディアには例えばＵＳＢメモリやＳＤカード等が含まれるが、以下の説明においては、リムーバブルメディアは、ＵＳＢメモリであるものとして説明する。なお、本実施形態において用いられるＵＳＢメモリは、汎用ＵＳＢメモリである。
【００４０】
まず、図３のフローチャートを参照して、起動制御の有効化処理の処理手順について説明する。この起動制御の有効化処理は、上記したように本実施形態における起動制御に必要な情報をＯＳ上において準備するための処理であり、コンピュータ１０に対応づけられるＵＳＢメモリが当該コンピュータ１０（のＵＳＢコネクタ１９）に接続された状態で実行される。なお、起動制御の有効化処理は、ＯＳ上のアプリケーション（専用ツール）によって実行される。
【００４１】
起動制御の有効化処理が実行される場合、コンピュータ１０上で動作するＢＩＯＳが管理している不揮発メモリ領域（以下、単にＢＩＯＳの不揮発メモリ領域と表記）には、コンピュータ１０のＰＣ情報が既に格納されているものとする。なお、このＰＣ情報は、コンピュータ１０に固有の情報であり、例えば当該コンピュータ１０に割り当てられているシリアル番号を含む。
【００４２】
また、コンピュータ１０に接続されているＵＳＢメモリには、当該ＵＳＢメモリのＵＳＢ個体情報が既に格納されているものとする。なお、このＵＳＢ個体情報は、ＵＳＢメモリに固有の情報であり、例えば当該ＵＳＢメモリに割り当てられているシリアル番号を含む。
【００４３】
まず、専用ツールは、後述する署名（認証情報）を生成するために予め用意されている秘匿情報を取得する。なお、秘匿情報は、当該秘匿情報を管理するための特定のアプリケーション（コンピュータ１０等の管理者によって管理されているアプリケーション）から取得される。つまり、起動制御の有効化処理は、管理者による管理のもとで実行される処理である。
【００４４】
専用ツールは、取得された秘匿情報をコンピュータ１０上で動作するＢＩＯＳの不揮発メモリ領域に書き込む（ステップＳ１）。これにより、ＢＩＯＳの不揮発メモリ領域には、秘匿情報が格納される。
【００４５】
次に、専用ツールは、ＢＩＯＳの不揮発メモリ領域に格納されているＰＣ情報およびコンピュータ１０に接続されているＵＳＢメモリ４００に格納されているＵＳＢ個体情報を取得する。
【００４６】
専用ツールは、ステップＳ１においてＢＩＯＳの不揮発メモリ領域に格納された秘匿情報、取得されたＰＣ情報およびＵＳＢ個体情報から署名（認証情報）を生成（計算）する（ステップＳ２）。
【００４７】
なお、署名を生成する方法としては種々のものが考えられるが、例えば秘匿情報を鍵としてＰＣ情報およびＵＳＢ個体情報を暗号化することによって署名が生成されても構わない。つまり、本実施形態において用いられる署名は、秘匿情報、ＰＣ情報およびＵＳＢ個体情報から生成されるものであればよい。
【００４８】
専用ツールは、生成された署名を含む署名ファイルをコンピュータ１０に接続されているＵＳＢメモリに格納する（ステップＳ３）。
【００４９】
次に、専用ツールは、ランダムキーを生成する。このランダムキーは、乱数値（ランダムな値）を含む。専用ツールは、生成されたランダムキーをＢＩＯＳの不揮発メモリ領域およびコンピュータ１０に接続されているＵＳＢメモリに書き込む（ステップＳ４）。これにより、ＢＩＯＳの不揮発メモリ領域およびコンピュータ１０に接続されているＵＳＢメモリ４００には、同一のランダムキーが格納される。
【００５０】
専用ツールは、リトライ残数をＢＩＯＳの不揮発メモリ領域に書き込む（ステップＳ５）。なお、リトライ残数は、管理者によって定められる。
【００５１】
専用ツールは、ＢＩＯＳの不揮発メモリ領域において、ＵＳＢメモリ起動制御機能を有効に設定する（ステップＳ６）。ステップＳ６の処理が実行されると、起動制御の有効化処理が完了される。
【００５２】
上述したように起動制御の有効化処理が実行されると、コンピュータ１０上で動作するＢＩＯＳの不揮発メモリ領域には、秘匿情報およびランダムキーが格納される。また、コンピュータ１０に紐付けられたＵＳＢメモリ（つまり、コンピュータ１０に対応するＵＳＢメモリ）には、ＢＩＯＳの不揮発メモリ領域に格納されている秘匿情報およびＰＣ情報と当該ＵＳＢメモリに格納されているＵＳＢ個体情報とから生成された署名および当該ＢＩＯＳの不揮発メモリに格納されているランダムキーと同一のランダムキーが格納される。
【００５３】
これにより、コンピュータ１０と当該コンピュータ１０を起動させることが可能なＵＳＢメモリが紐付けられ、以下に説明するように、当該ＵＳＢメモリを用いて当該コンピュータ１０を起動することが可能となる。
【００５４】
なお、本実施形態においては、上記したような起動制御の有効化処理により、コンピュータ１０と当該コンピュータ１０を起動可能なＵＳＢメモリ４００（つまり、当該コンピュータ１０に対応するＵＳＢメモリ４００）は１対１に対応づけられる。
【００５５】
次に、図４を参照して、本実施形態に係るコンピュータ１０によって実行される起動制御処理の概要について説明する。起動制御処理は、コンピュータ１０（のＵＳＢコネクタ１９）にＵＳＢメモリ４００が接続され、当該コンピュータ１０を起動する際に実行される。
【００５６】
起動制御処理においては、コンピュータ１０に接続されたＵＳＢメモリが当該コンピュータ１０に紐付けられたＵＳＢメモリ（つまり、当該コンピュータ１０を起動させることが可能なＵＳＢメモリ）であるか否かの認証が行われる。
【００５７】
なお、本実施形態における起動制御処理は、上記したＢＩＯＳ−ＲＯＭ１０７に格納されているＢＩＯＳ（に含まれる起動制御プログラム）をＣＰＵ１０１が実行することによって実現される。換言すれば、本実施形態においては、ＢＩＯＳが起動制御処理を実行する機能を有している。
【００５８】
図４に示すように、コンピュータ１０上で動作するＢＩＯＳ３００の不揮発メモリ領域には、秘匿情報３０１およびＰＣ情報３０２が格納される。秘匿情報３０１は、コンピュータ１０の起動を制御するために用いられる署名（認証情報）を生成するために予め用意されている情報である。なお、この秘匿情報３０１は、上述した起動制御の有効化処理によってＢＩＯＳ３００の不揮発メモリ領域に格納される。ＰＣ情報３０２は、コンピュータ１０に割り当てられている例えばシリアル番号等を含む。
【００５９】
一方、上述したコンピュータ１０に接続されたＵＳＢメモリ４００には、ＵＳＢ個体情報４０１が格納されている。ＵＳＢ個体情報４０１は、ＵＳＢメモリ４００に割り当てられている例えばシリアル番号を含む。また、ＵＳＢメモリ４００には、署名４０２を含む署名ファイル４０３が格納されている。この署名４０２は、ＵＳＢメモリ４００に格納されているＵＳＢ個体情報４０１と、当該ＵＳＢメモリ４００に対応するコンピュータ１０（上で起動するＢＩＯＳ３００の不揮発メモリ領域）に格納されている秘匿情報３０１およびＰＣ情報３０２とから生成された情報である。なお、署名４０２（を含む署名ファイル４０３）は、上述した起動制御の有効化処理によってＵＳＢメモリ４００に格納される。
【００６０】
ＢＩＯＳ３００においては、コンピュータ１０に格納されている秘匿情報３０１およびＰＣ情報３０２と、当該コンピュータ１０に接続されたＵＳＢメモリ４００に格納されているＵＳＢ個体情報４０１とから署名（計算値）３０３が生成され、既にＵＳＢメモリ４００に格納されている署名ファイル４０３に含まれる署名４０２と当該生成された署名３０３とを比較することによって、ＵＳＢメモリ４００の認証が行われる。
【００６１】
また、図４に示すように、ＢＩＯＳ３００の不揮発メモリ領域にはランダムキー３０４がさらに格納され、ＵＳＢメモリ４００にはランダムキー４０４がさらに格納されている。ＵＳＢメモリ４００の認証においては、ＢＩＯＳ３００の不揮発メモリ領域に格納されているランダムキー３０４および当該ＵＳＢメモリ４００に格納されているランダムキー４０４の比較も行われる。
【００６２】
起動制御処理においては、このような認証の結果、コンピュータ１０に接続されたＵＳＢメモリ４００が当該コンピュータ１０に対応するＵＳＢメモリである場合、当該コンピュータ１０が起動される。
【００６３】
次に、図５のフローチャートを参照して、上記した起動制御処理の処理手順について詳細に説明する。この起動制御処理は、上記したようにＵＳＢメモリ４００を用いてコンピュータ１０を起動する際に実行される。
【００６４】
前述したように、起動制御処理はＢＩＯＳ−ＲＯＭ１０７に格納されているＢＩＯＳ（に含まれる起動制御プログラム）をＣＰＵ１０１が実行することによって実現されるが、以下、図５に示す起動制御処理は便宜的に図４に示すＢＩＯＳ３００が実行するものとして説明する。
【００６５】
なお、本実施形態においてコンピュータ１０を起動するためには当該コンピュータ１０にＵＳＢメモリ４００を接続する必要があるが、以下の説明においては当該コンピュータ１０に接続されたＵＳＢメモリ４００を対象ＵＳＢメモリ４００と称する。
【００６６】
また、この対象ＵＳＢメモリ４００には、上記した起動制御の有効化処理によって、署名４０２およびランダムキー４０３が格納されているものとする。
【００６７】
まず、ＢＩＯＳ３００は、上記したＢＩＯＳ３００の不揮発メモリ領域を参照して、ＵＳＢメモリ起動制御機能が有効に設定されているか否かを判定する（ステップＳ１１）。
【００６８】
ＵＳＢメモリ起動制御機能が有効に設定されていないと判定された場合（ステップＳ１１のＮＯ）、起動制御処理は終了される。
【００６９】
一方、ＵＳＢメモリ起動制御機能が有効に設定されていると判定された場合（ステップＳ１１のＹＥＳ）、ＢＩＯＳ３００は、署名検証処理を実行する（ステップＳ１２）。署名検証処理においては、対象ＵＳＢメモリ４００に格納されている署名４０２の検証が行われるが、その詳しい説明については後述する。
【００７０】
次に、ＢＩＯＳ３００は、署名検証処理の結果が成功であるか否かを判定する（ステップＳ１３）。
【００７１】
署名検証処理の結果が成功であると判定された場合（ステップＳ１３のＹＥＳ）、ＢＩＯＳ３００は、ランダムキーを検証する（ステップＳ１４）。
【００７２】
この場合、ＢＩＯＳ３００は、ＢＩＯＳ３００の不揮発メモリ領域に格納されているランダムキー（第１のランダムキー）３０４および対象ＵＳＢメモリ４００に格納されているランダムキー（第２のランダムキー）４０４を取得する。ＢＩＯＳ３００は、取得されたランダムキー３０４および４０４を比較して、当該ランダムキー３０４および４０４が一致するか否かを判定する。
【００７３】
ＢＩＯＳ３００は、比較結果に基づいてランダムキーの検証結果が成功であるか否かを判定する（ステップＳ１５）。この場合、取得されたランダムキー３０４および４０４が一致すると判定された場合には、ランダムキーの検証結果が成功であると判定される。一方、取得されたランダムキー３０４および４０４が一致しないと判定された場合には、ランダムキーの検証結果が成功でないと判定される。
【００７４】
ランダムキーの検証結果が成功であると判定された場合（ステップＳ１５のＹＥＳ）、ＢＩＯＳ３００は、新たなランダムキー（第３のランダムキー）を生成する。ここで生成されるランダムキーは、ＢＩＯＳ３００の不揮発メモリ領域に格納されているランダムキー３０４および対象ＵＳＢメモリ４００に格納されているランダムキー４０４とは異なるものである。
【００７５】
ＢＩＯＳ３００は、生成された新たなランダムキーをＢＩＯＳ３００の不揮発メモリ領域に格納されているランダムキー３０４および対象ＵＳＢメモリ４００に格納されているランダムキー４０４に上書きすることによって、ランダムキーを更新する（ステップＳ１６）。
【００７６】
ランダムキーの更新が成功した場合（ステップＳ１７のＹＥＳ）、ＢＩＯＳ３００は、当該ＢＩＯＳ３００の不揮発メモリ領域に書き込まれているリトライ残数が後述するように減らされている場合には当該リトライ残数（の値）をリセットする（ステップＳ１８）。
【００７７】
上記したステップＳ１８の処理が実行されると、コンピュータ１０が起動され（ステップＳ１９）、起動制御処理は終了される。
【００７８】
一方、ステップＳ１３において署名検証処理の結果が成功でない（つまり、失敗である）と判定された場合、ＢＩＯＳ３００は、上述した起動制御の有効化処理においてＢＩＯＳ３００の不揮発メモリ領域に書き込まれたリトライ残数が０であるか否かを判定する（ステップＳ２０）。
【００７９】
リトライ残数が０であると判定された場合（ステップＳ２０のＹＥＳ）、ＢＩＯＳ３００は、当該ＢＩＯＳ３００の不揮発メモリ領域に格納されている秘匿情報を削除する（ステップＳ２１）。換言すれば、ＢＩＯＳ３００は、対象ＵＳＢメモリ４００の認証（署名の検証、ランダムキーの検証およびランダムキーの更新）を規定回数（リトライ残数として規定されている回数）失敗した場合には秘匿情報を削除する。
【００８０】
ステップＳ２１の処理が実行されると、コンピュータ１０は起動されず、例えばシャットダウンされる（ステップＳ２２）。ここでは、コンピュータ１０がシャットダウンされるものとして説明したが、例えば新たなＵＳＢメモリ４００が接続されるまで待機し、当該新たなＵＳＢメモリ４００が接続された場合に上記したステップＳ１１に戻って処理が繰り返されるような構成であっても構わない。
【００８１】
なお、ステップＳ１５においてランダムキーの検証結果が成功でないと判定された場合には、上記したステップＳ２０の処理が実行される。
【００８２】
また、ステップＳ１７においてランダムキーの更新が成功しない場合、同様にステップＳ２０の処理が実行される。なお、ランダムキーの更新が成功しない場合とは、例えばエラー等によりＢＩＯＳ３００の不揮発メモリ領域または対象ＵＳＢメモリ４００にランダムキーを書き込むことができない場合等をいう。
【００８３】
また、ステップＳ２０においてリトライ残数が０でないと判定された場合、ステップＳ２１の処理は実行されず、ＢＩＯＳ３００は、リトライ残数を１つ減らす（ステップＳ２３）。この場合、ＢＩＯＳ３００の不揮発メモリ領域に書き込まれているリトライ残数から１減算された値が当該不揮発メモリ領域において当該リトライ残数に上書きされる。その後、ステップＳ２２の処理が実行される。
【００８４】
次に、図６のフローチャートを参照して、前述した署名検証処理（図５に示すステップＳ１２の処理）の処理手順について詳細に説明する。
【００８５】
まず、ＢＩＯＳ３００は、対象ＵＳＢメモリ４００に格納されているＵＳＢ個体情報（第２の個体情報）４０１を取得する（ステップＳ３１）。このＵＳＢ個体情報４０１には、例えば対象ＵＳＢメモリ４００のシリアル番号等が含まれる。
【００８６】
ＢＯＩＳ３００は、当該ＢＩＯＳ３００の不揮発メモリ領域に格納されているＰＣ情報（第１の個体情報）３０２を取得する（ステップＳ３２）。このＰＣ情報３０２には、コンピュータ１０のシリアル番号等が含まれる。
【００８７】
ＢＩＯＳ３００は、当該ＢＩＯＳ３００の不揮発メモリ領域に格納されている秘匿情報３０１を取得する（ステップＳ３３）。この秘匿情報３０１は、上述したように署名を生成するために用意された情報であり、上述した起動制御の有効化処理においてＢＩＯＳ３００の不揮発メモリ領域に格納された情報である。
【００８８】
次に、ＢＩＯＳ３００は、ステップＳ３１において取得されたＵＳＢ個体情報４０１、ステップＳ３２において取得されたＰＣ情報３０２およびステップＳ３３において取得された秘匿情報３０１から署名（第１の認証情報）３０３を生成（計算）する（ステップＳ３４）。なお、この署名３０３は、前述した図４に示すステップＳ２において説明した方法と同様の方法により生成される。
【００８９】
ＢＩＯＳ３００は、対象ＵＳＢメモリ４００に格納されている署名ファイル４０３に含まれる署名（第２の認証情報）４０２を取得する（ステップＳ３５）。
【００９０】
ＢＩＯＳ３００は、ステップＳ３４において生成された署名３０３とステップＳ３５において取得された署名４０２を比較することにより、署名の検証を行う（ステップＳ３６）。
【００９１】
ＢＩＯＳ３００は、比較結果に基づいて検証結果（署名検証処理の結果）を取得する（ステップＳ３７）。なお、ステップＳ３６において比較した結果、ステップＳ３４において生成された署名３０３とステップＳ３５において取得された署名４０２が一致した場合、検証結果は成功となる。一方、ステップＳ３６において比較した結果、ステップＳ３４において生成された署名３０３とステップＳ３５において取得された書名４０２が一致しない場合、検証結果は失敗となる。
【００９２】
上記したように図５および図６を参照して説明した起動制御処理が実行された場合、コンピュータ１０に接続された対象ＵＳＢメモリ４００が図４に示す起動制御の有効化処理において当該コンピュータ１０と紐付けられたＵＳＢメモリ４００であれば、署名の検証結果およびランダムキーの検証結果が成功となるので、ランダムキーの更新が失敗しない限りコンピュータ１０を起動することができる。
【００９３】
一方、コンピュータ１０に接続された対象ＵＳＢメモリ４００が当該コンピュータ１０と紐付けられていないＵＳＢメモリ４００であれば、署名の検証結果およびランダムキーの検証結果が失敗となるので、コンピュータ１０を起動することはできない。
【００９４】
なお、本実施形態においては起動制御処理がコンピュータ１０の起動時に実行されるものとして説明したが、当該起動制御処理は、例えばコンピュータ１０が起動された後に定期的に（例えば５分〜６０分間隔で）実行される構成であっても構わない。このように定期的に起動制御処理が実行される際にＵＳＢメモリ４００が接続されていない場合には、コンピュータ１０に紐付けられているＵＳＢメモリ４００を当該コンピュータ１０に接続することを促すような画面がコンピュータ１０上で表示されればよい。
【００９５】
このように定期的に実行される起動制御処理において、例えば署名の検証結果およびランダムキーの検証結果が成功である場合にはコンピュータ１０の起動は継続されるが、当該署名の検証結果またはランダムキーの検証結果が失敗である場合にはコンピュータ１０はシャットダウンされる（つまり、コンピュータ１０の起動が停止される）。
【００９６】
上記したように本実施形態においては、コンピュータ１０に接続されたＵＳＢメモリ４００に固有のＵＳＢ個体情報４０１を取得し、ＢＩＯＳ３００の不揮発メモリ領域に格納されている秘匿情報３０１およびＰＣ情報３０２と当該ＵＳＢ個体情報４０１とから署名３０３を生成し、当該生成された署名３０３と当該ＵＳＢメモリ４００に格納されている署名４０２とが一致するかを判定し、当該署名が一致すると判定された場合、ＢＩＯＳ３００の不揮発メモリ領域に格納されているランダムキー３０４と当該ＵＳＢメモリ４００に格納されているランダムキー４０４が一致するかを判定し、当該ランダムキーが一致すると判定された場合、コンピュータ１０を起動する構成により、コンピュータ１０に紐付けられているＵＳＢメモリ４００を所持する特定の者のみが当該コンピュータ１０を起動することが可能となる。
【００９７】
具体的には、本実施形態においては、署名の検証に加えてランダムキーの検証を行う構成により、仮に同一のＵＳＢ個体情報（シリアル番号等）４０１が格納されたＵＳＢメモリ４００が複数存在するような場合であっても、起動制御の有効化処理において紐付けられたＵＳＢメモリ４００でなければランダムキーの検証結果は成功とはならないので、より確実にコンピュータ１０に紐付けられたＵＳＢメモリ４００の認証を行うことができる。
【００９８】
また、本実施形態においては、秘匿情報３０１、ＰＣ情報３０２およびランダムキー３０４がＢＩＯＳ３００の不揮発メモリ領域に格納され、前述した起動制御処理がＢＩＯＳ３００によって実行される（つまり、ＢＩＯＳ３００が起動制御処理を実行する機能を有する）構成により、例えばコンピュータ１０においてＨＤＤ１０９が交換されたような場合であっても、ＢＩＯＳ３００により起動制御処理を実行することが可能となる。
【００９９】
また、本実施形態においては、ＢＩＯＳ３００によって生成された署名３０３およびＵＳＢメモリ４００に格納されている署名４０２が一致しない場合、またはＢＩＯＳ３００の不揮発メモリ領域に格納されているランダムキー３０４およびＵＳＢメモリ４００に格納されているランダムキー４０４が一致しない場合、ＢＩＯＳ３００の不揮発メモリ領域に格納されている秘匿情報３０１を削除する構成により、例えば当該ＵＳＢメモリ４００の認証を規定回数失敗したような場合にはＢＩＯＳ３００によって署名３０３を生成することができなくなるため、当該コンピュータ１０の起動が不可能になり、当該コンピュータ１０に対するセキュリティを確保することが可能となる。
【０１００】
さらに、本実施形態においては、ＢＩＯＳ３００の不揮発メモリ領域に格納されているランダムキー３０４およびＵＳＢメモリ４００に格納されているランダムキー４０４が一致すると判定された場合、当該ＢＩＯＳ３００の不揮発メモリ領域に格納されているランダムキー３０４およびＵＳＢメモリ４００に格納されているランダムキー４０４を新たなランダムキーに更新する構成により、ＢＩＯＳ３００およびＵＳＢメモリ４００において常に同じランダムキーを格納しておく場合と比較して、より確実にコンピュータ１０およびＵＳＢメモリ４００を１対１で対応させることが可能となる。
【０１０１】
また、本実施形態においては、起動制御処理が定期的に実行される構成により、一旦コンピュータ１０が起動された後においても当該コンピュータ１０に紐付けられたＵＳＢメモリ４００を保持する者にのみ当該コンピュータ１０を使用させることが可能となる。
【０１０２】
なお、本実施形態における起動制御処理においては署名の検証およびランダムキーの検証が行われるものとして説明したが、ランダムキーの検証を行うか否かについては例えば管理者によって選択可能であってもよい。具体的には、ＰＣ情報３０２およびＵＳＢ個体情報４０１が確実にコンピュータ１０およびＵＳＢメモリ４００に対して固有の情報である場合には、署名の検証のみでＵＳＢメモリ４００の認証を行うことが可能であるため、起動制御処理において署名の検証のみが行われる構成であっても構わない。この場合、図４に示す起動制御の有効化処理においては、ステップＳ４の処理が省略されても構わない。
【０１０３】
また、本実施形態における起動制御処理の手順は上述したように起動制御プログラムによって実現することができるので、このプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行することにより、本実施形態と同様の効果を容易に実現することができる。
【０１０４】
また、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。  
【符号の説明】
【０１０５】
１９…ＵＳＢコネクタ、１０１…ＣＰＵ、１０７…ＢＩＯＳ−ＲＯＭ、３００…ＢＩＯＳ、４００…ＵＳＢメモリ。
【図１】
2013078066.tif 000003
【図２】
2013078066.tif 000004
【図３】
2013078066.tif 000005
【図４】
2013078066.tif 000006
【図５】
2013078066.tif 000007
【図６】
2013078066.tif 000008