(57)【要約】【課題】オペレーティングシステムの基本プログラムについてセキュリティ上の安全性を確保する。【解決手段】コンピュータ１０のＲＯＭ１１に格納されたブートローダ１により、ファイルサーバ２０からネットワーク４０を経由してＯＳカーネル４を取得するとともに、コンピュータ１０のスロット１３に挿入されたＩＣカード５０から起動認証プログラム２を呼び出す。起動認証プログラム２は、ＯＳカーネル４にハッシュ関数を適用して起動鍵を生成し、ファイルサーバ３０からＯＳカーネル４に対応するデジタル署名情報５を取得し、ＩＣカード５０から公開鍵３を読み出し、この公開鍵３を用いてデジタル署名情報５を復号化し、生成した起動鍵と復号化したデジタル署名情報５に示される起動鍵とを照合し、両者が一致しない場合にはＯＳカーネル４を起動させずに処理を終了する。【選択図】図１
2007094879.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムの基本プログラムを格納した格納手段に対してネットワークを経由して通信可能なコンピュータと、
真正なオペレーティングシステムの基本プログラムを用いて生成された起動鍵を秘密鍵によって暗号化したデジタル署名情報を格納しておく署名格納手段と、を備え、
前記コンピュータは、
前記秘密鍵による暗号化を解除可能な公開鍵を格納した鍵格納手段と、
前記格納手段からネットワークを経由して基本プログラムを取得して記憶手段に記憶させてから起動認証プログラムを起動させるブートローダと、
前記記憶手段から前記基本プログラムを読み出し、当該基本プログラムを用いて起動鍵を生成し、前記署名格納手段から当該基本プログラムに対応するデジタル署名情報を取得するとともに前記鍵格納手段から公開鍵を読み出して当該デジタル署名情報を復号化し、生成した起動鍵と復号化したデジタル署名情報に示される起動鍵とを照合して両者が一致しない場合には当該基本プログラムを起動させない起動認証プログラムと、
を有することを特徴とするオペレーティングシステム用基本プログラムの認証システム。
【請求項２】
前記コンピュータは、ディスクレスコンピュータであって、
前記ブートローダを格納したＲＯＭと、
前記基本プログラムを記憶する記憶手段としてのＲＡＭと、を有し、
前記公開鍵および前記起動認証プログラムについては、これらを記録し且つ当該コンピュータがアクセス可能な記録媒体から読み取ることを特徴とする請求項１記載のオペレーティングシステム用基本プログラムの認証システム。
【請求項３】
前記デジタル署名情報は、前記コンピュータが前記署名格納手段からネットワークを経由して取得することを特徴とする請求項１又は２記載のオペレーティングシステム用基本プログラムの認証システム。
【請求項４】
オペレーティングシステムの基本プログラムおよび当該基本プログラムを起動するための第１ブートローダを格納した格納手段に対してネットワークを経由して通信可能なコンピュータと、
真正なオペレーティングシステムの基本プログラムを用いて生成された起動鍵を秘密鍵によって暗号化したデジタル署名情報を格納しておく署名格納手段と、を備え、
前記コンピュータは、
前記秘密鍵による暗号化を解除可能な公開鍵を格納した鍵格納手段と、
前記格納手段からネットワークを経由して取得された第１ブートローダおよび基本プログラムを記憶する記憶手段と、
前記格納手段からネットワークを経由して第１ブートローダを取得して記憶手段に記憶させてから第１起動認証プログラムを起動させる第２ブートローダと、
前記記憶手段から第１ブートローダを読み出し、当該第１ブートローダを用いて起動鍵を生成し、生成した起動鍵と格納手段に格納されている起動鍵とを照合して両者が一致した場合に第１ブートローダを起動させる第１起動認証プログラムと、
第１ブートローダが起動した場合に、前記記憶手段から前記基本プログラムを読み出し、当該基本プログラムを用いて起動鍵を生成し、前記署名格納手段から当該基本プログラムに対応するデジタル署名情報を取得するとともに前記鍵格納手段から公開鍵を読み出してデジタル署名情報を復号化し、生成した起動鍵と復号化したデジタル署名情報に示される起動鍵とを照合して両者が一致しない場合には当該基本プログラムを起動させない第２起動認証プログラムと、
を有することを特徴とするオペレーティングシステム用基本プログラムの認証システム。
【請求項５】
オペレーティングシステムの基本プログラムおよび当該基本プログラムを起動するための第１ブートローダを格納した格納手段に対してネットワークを経由して通信可能なコンピュータと、
真正な第１ブートローダを用いて生成された起動鍵を秘密鍵によって暗号化した第１デジタル署名情報、および真正なオペレーティングシステムの基本プログラムを用いて生成された起動鍵を秘密鍵によって暗号化した第２デジタル署名情報を格納しておく署名格納手段と、を備え、
前記コンピュータは、
前記秘密鍵による暗号化を解除可能な公開鍵を格納した鍵格納手段と、
前記格納手段からネットワークを経由して取得された第１ブートローダおよび基本プログラムを記憶する記憶手段と、
前記格納手段からネットワークを経由して第１ブートローダを取得して記憶手段に記憶させてから第１起動認証プログラムを起動させる第２ブートローダと、
前記記憶手段から第１ブートローダを読み出し、当該第１ブートローダを用いて起動鍵を生成し、前記署名格納手段から第１ブートローダに対応する第１デジタル署名情報を取得するとともに前記鍵格納手段から公開鍵を読み出して第１デジタル署名情報を復号化し、生成した起動鍵と復号化した第１デジタル署名情報に示される起動鍵とを照合して両者が一致した場合に第１ブートローダを起動させる第１起動認証プログラムと、
第１ブートローダが起動した場合に、前記記憶手段から前記基本プログラムを読み出し、当該基本プログラムを用いて起動鍵を生成し、前記署名格納手段から当該基本プログラムに対応する第２デジタル署名情報を取得するとともに前記鍵格納手段から公開鍵を読み出して第２デジタル署名情報を復号化し、生成した起動鍵と復号化した第２デジタル署名情報に示される起動鍵とを照合して両者が一致しない場合には当該基本プログラムを起動させない第２起動認証プログラムと、
を有することを特徴とするオペレーティングシステム用基本プログラムの認証システム。
【請求項６】
前記コンピュータは、ディスクレスコンピュータであって、
前記第２ブートローダを格納したＲＯＭと、
前記第１ブートローダおよび前記基本プログラムを記憶する記憶手段としてのＲＡＭと、を有し、
前記公開鍵および前記第１起動認証プログラムについては、これらを記録し且つ当該コンピュータがアクセス可能な記録媒体から読み取ることを特徴とする請求項４又は５記載のオペレーティングシステム用基本プログラムの認証システム。
【請求項７】
前記第２起動認証プログラムは、第１ブートローダに組み込まれたものであって、前記コンピュータがネットワークを経由して第１ブートローダを取得する際に同時に取得されることを特徴とする請求項４乃至６のいずれかに記載のオペレーティングシステム用基本プログラムの認証システム。
【請求項８】
前記第１デジタル署名情報および前記第２デジタル署名情報は、前記コンピュータが前記署名格納手段からネットワークを経由して取得することを特徴とする請求項５乃至７のいずれかに記載のオペレーティングシステム用基本プログラムの認証システム。
【請求項９】
オペレーティングシステムの基本プログラムを記憶する記憶手段と、
秘密鍵による暗号化を解除可能な公開鍵を格納する鍵格納手段と、
起動認証プログラムを起動させるブートローダと、
前記記憶手段から前記基本プログラムを読み出し、当該基本プログラムを用いて起動鍵を生成するとともに、真正なオペレーティングシステムの基本プログラムを用いて生成された起動鍵を秘密鍵によって暗号化したデジタル署名情報を格納している署名格納手段から前記基本プログラムに対応するデジタル署名情報を取得し、前記鍵格納手段から公開鍵を読み出して当該デジタル署名情報を復号化し、生成した起動鍵と復号化したデジタル署名情報に示される起動鍵とを照合して両者が一致しない場合には当該基本プログラムを起動させない起動認証プログラムと、
を有することを特徴とするコンピュータ。
【請求項１０】
前記基本プログラムは、ネットワークを介して取得したものが前記記憶手段に記憶されることを特徴とする請求項９記載のコンピュータ。
【請求項１１】
前記コンピュータは、ディスクレスコンピュータであって、
前記ブートローダを格納したＲＯＭと、
前記基本プログラムを記憶する記憶手段としてのＲＡＭと、を有し、
前記公開鍵および前記起動認証プログラムについては、これらを記録し且つ当該コンピュータがアクセス可能な記録媒体から読み取ることを特徴とする請求項９又は１０記載のコンピュータ。
【請求項１２】
前記デジタル署名情報は、前記署名格納手段からネットワークを経由して取得されることを特徴とする請求項９乃至１１のいずれかに記載のコンピュータ。
【請求項１３】
オペレーティングシステムの基本プログラムおよび当該基本プログラムを起動するための第１ブートローダを記憶する記憶手段と、
秘密鍵による暗号化を解除可能な公開鍵を格納した鍵格納手段と、
第１起動認証プログラムを起動させる第２ブートローダと、
前記記憶手段から第１ブートローダを読み出し、当該第１ブートローダを用いて起動鍵を生成し、生成した起動鍵と格納手段に格納されている起動鍵とを照合して両者が一致した場合に第１ブートローダを起動させる第１起動認証プログラムと、
第１ブートローダが起動した場合に、前記記憶手段から前記基本プログラムを読み出し、当該基本プログラムを用いて起動鍵を生成するとともに、真正なオペレーティングシステムの基本プログラムを用いて生成された起動鍵を秘密鍵によって暗号化したデジタル署名情報を格納している署名格納手段から当該基本プログラムに対応するデジタル署名情報を取得し、前記鍵格納手段から公開鍵を読み出してデジタル署名情報を復号化し、生成した起動鍵と復号化したデジタル署名情報に示される起動鍵とを照合して両者が一致しない場合には当該基本プログラムを起動させない第２起動認証プログラムと、
を有することを特徴とするコンピュータ。
【請求項１４】
オペレーティングシステムの基本プログラムおよび当該基本プログラムを起動するための第１ブートローダを記憶する記憶手段と、
秘密鍵による暗号化を解除可能な公開鍵を格納した鍵格納手段と、
第１起動認証プログラムを起動させる第２ブートローダと、
前記記憶手段から第１ブートローダを読み出し、当該第１ブートローダを用いて起動鍵を生成するとともに、真正な第１ブートローダを用いて生成された起動鍵を秘密鍵によって暗号化した第１デジタル署名情報を格納している署名格納手段から第１ブートローダに対応する第１デジタル署名情報を取得し、前記鍵格納手段から公開鍵を読み出して第１デジタル署名情報を復号化し、生成した起動鍵と復号化した第１デジタル署名に示される起動鍵とを照合して両者が一致した場合に第１ブートローダを起動させる第１起動認証プログラムと、
第１ブートローダが起動した場合に、前記記憶手段から前記基本プログラムを読み出し、当該基本プログラムを用いて起動鍵を生成するとともに、真正なオペレーティングシステムの基本プログラムを用いて生成された起動鍵を秘密鍵によって暗号化した第２デジタル署名情報を格納している署名格納手段から当該基本プログラムに対応する第２デジタル署名情報を取得し、前記鍵格納手段から公開鍵を読み出して第２デジタル署名情報を復号化し、生成した起動鍵と復号化した第２デジタル署名情報に示される起動鍵とを照合して両者が一致しない場合には当該基本プログラムを起動させない第２起動認証プログラムと、
を有することを特徴とするコンピュータ。
【請求項１５】
前記第１ブートローダおよび前記基本プログラムは、ネットワークを介して取得したものが前記記憶手段に記憶されることを特徴とする請求項１３又は１４記載のコンピュータ。
【請求項１６】
前記コンピュータは、ディスクレスコンピュータであって、
前記第２ブートローダを格納したＲＯＭと、
前記第１ブートローダおよび前記基本プログラムを記憶する記憶手段としてのＲＡＭと、を有し、
前記公開鍵および前記第１起動認証プログラムについては、これらを記録し且つ当該コンピュータがアクセス可能な記録媒体から読み取ることを特徴とする請求項１３乃至１５のいずれかに記載のコンピュータ。
【請求項１７】
前記第２起動認証プログラムは、第１ブートローダに組み込まれたものであって、ネットワークを経由して第１ブートローダを取得する際に同時に取得されることを特徴とする請求項１３乃至１６のいずれかに記載のコンピュータ。
【請求項１８】
前記第１デジタル署名情報および前記第２デジタル署名情報は、前記各署名格納手段からネットワークを経由して取得されることを特徴とする請求項１４乃至１７のいずれかに記載のコンピュータ。
【請求項１９】
オペレーティングシステムの基本プログラムを記憶している記憶手段から基本プログラムを読み出し、当該基本プログラムを用いて起動鍵を生成する処理と、
真正なオペレーティングシステムの基本プログラムを用いて生成された起動鍵を秘密鍵によって暗号化したデジタル署名情報を格納している署名格納手段から前記の読み出した基本プログラムに対応するデジタル署名情報を取得する処理と、
秘密鍵による暗号化を解除可能な公開鍵を格納している鍵格納手段から公開鍵を読み出して、取得したデジタル署名情報を復号化する処理と、
生成した起動鍵と復号化したデジタル署名情報に示される起動鍵とを照合し、両者が一致しない場合には当該基本プログラムを起動させない処理と、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２０】
前記デジタル署名情報を取得する処理では、ネットワークを介して取得することを特徴とする請求項１９記載のコンピュータプログラム。
【請求項２１】
オペレーティングシステムの基本プログラムおよび当該基本プログラムを起動するための第１ブートローダを記憶している記憶手段から第１ブートローダを読み出し、当該第１ブートローダを用いて起動鍵を生成する処理と、
生成した起動鍵と格納手段に格納されている起動鍵とを照合し、両者が一致した場合に第１ブートローダを起動させる処理と、
をコンピュータに実行させる第１起動認証プログラムと、
第１ブートローダが起動した場合に、前記記憶手段から前記基本プログラムを読み出し、当該基本プログラムを用いて起動鍵を生成する処理と、
真正なオペレーティングシステムの基本プログラムを用いて生成された起動鍵を秘密鍵によって暗号化したデジタル署名情報を格納している署名格納手段から当該基本プログラムに対応するデジタル署名情報を取得する処理と、
前記鍵格納手段から公開鍵を読み出して、取得したデジタル署名情報を復号化する処理と、
生成した起動鍵と復号化したデジタル署名情報に示される起動鍵とを照合し、両者が一致しない場合には当該基本プログラムを起動させない処理と、
をコンピュータに実行させる第２起動認証プログラムと、
を有することを特徴とするコンピュータプログラム。
【請求項２２】
オペレーティングシステムの基本プログラムおよび当該基本プログラムを起動するための第１ブートローダを記憶している記憶手段から第１ブートローダを読み出し、当該第１ブートローダを用いて起動鍵を生成する処理と、
真正な第１ブートローダを用いて生成された起動鍵を秘密鍵によって暗号化した第１デジタル署名情報を格納している署名格納手段から前記第１ブートローダに対応する第１デジタル署名情報を取得する処理と、
秘密鍵による暗号化を解除可能な公開鍵を格納している鍵格納手段から公開鍵を読み出して、取得した第１デジタル署名情報を復号化する処理と、
生成した起動鍵と復号化した第１デジタル署名情報に示される起動鍵とを照合し、両者が一致した場合に第１ブートローダを起動させる処理と、
をコンピュータに実行させる第１起動認証プログラムと、
第１ブートローダが起動した場合に、前記記憶手段から前記基本プログラムを読み出し、当該基本プログラムを用いて起動鍵を生成する処理と、
真正なオペレーティングシステムの基本プログラムを用いて生成された起動鍵を秘密鍵によって暗号化した第２デジタル署名情報を格納している署名格納手段から当該基本プログラムに対応する第２デジタル署名情報を取得する処理と、
前記鍵格納手段から公開鍵を読み出して、取得した第２デジタル署名情報を復号化する処理と、
生成した起動鍵と復号化した第２デジタル署名情報に示される起動鍵とを照合し、両者が一致しない場合には当該基本プログラムを起動させない処理と、
をコンピュータに実行させる第２起動認証プログラムと、
を有することを特徴とするコンピュータプログラム。
【請求項２３】
前記第２起動認証プログラムは、第１ブートローダに組み込まれたものであることを特徴とする請求項２１又は２２に記載のコンピュータプログラム。
【請求項２４】
前記第１デジタル署名情報を取得する処理および前記第２デジタル署名情報を取得する処理では、それぞれネットワークを経由して取得することを特徴とする請求項２２又は２３に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オペレーティングシステムをセキュリティの上で安全に利用可能とする技術に関する。
【背景技術】
【０００２】
コンピュータは、あらゆる利用分野において必要不可欠な情報機器となっている。事務処理の端末やホストコンピュータ、ネットワーク経由でサービスを提供するサーバコンピュータ、家庭で利用されるホームコンピュータ、ゲーム機、携帯端末など、その利用用途は多岐にわたる。
【０００３】
一方で、コンピュータを介して様々な情報が漏洩するというセキュリティ上の問題が深刻になってきている。コンピュータには様々な情報が格納されており、その中には漏洩することが好ましくない個人情報や、企業の機密情報などが含まれる場合がある。コンピュータの利用者の不注意、悪意のある者による犯罪、あるいは、コンピュータウィルスの感染などの様々な原因により、上記の各種情報が漏洩するというセキュリティ事故が後を絶たない。
【０００４】
このような背景から、ディスクレスコンピュータが注目を集めている。ディスクレスコンピュータとは、ハードディスクに代表される永続的にデータを記憶可能な記憶装置を持たないコンピュータの総称である。そもそも、ディスクレスコンピュータは、ディスクスペースの効率的利用、管理の一元化というセキュリティとは別の視点で従来から利用されていた技術であるが、記憶装置を持たないので情報が蓄積されることがなく、情報漏洩の可能性が低いことから、セキュリティ上も有用な技術として見直されている。
【０００５】
ディスクレスコンピュータは、専用のオペレーティングシステムが予めＲＯＭに内蔵されているものと、起動時にオペレーティングシステムをネットワーク経由で取得するものとに大別できる。後者の場合は、汎用のコンピュータから記憶装置を取り除いた構成で実現できるのでコスト面での優位性が高く、また汎用のオペレーティングシステムをそのまま利用できるので利便性も高いというメリットがある。
【０００６】
この後者のディスクレスコンピュータは、具体的には、オペレーティングシステムの基本プログラム（以下、「ＯＳカーネル」という）をネットワーク経由で取得してメモリに格納し、このＯＳカーネルを起動することで、ファイルサーバにネットワークを経由してアクセスし、オペレーティングシステムの動作に必要なファイルを取得する。
【０００７】
ＯＳカーネルの起動は、ＯＳカーネルを実行させるための小型のプログラム（以下、「ブートローダ」という）を実行することによって実現されるのが一般的である。すなわち、ディスクレスコンピュータは、ブートローダをまずメモリに読み込み、このブートローダを実行することによって、ＯＳカーネルをネットワーク経由で取得し、ディスクレスコンピュータのメモリに書き込んだ後、このＯＳカーネルを起動する。
【０００８】
このように、ディスクレスコンピュータは、記憶装置を内蔵していないことから、他のコンピュータのように記憶した情報が流出することがないという点でセキュリティが高いといえる。なお、本願に関連する技術文献としては、以下のものが知られている。
【特許文献１】特許第２５７４９９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来のディスクレスコンピュータには、ＯＳカーネルの「なりすまし」や「フィッシング」等に対する脆弱性が存在する。具体的には、ネットワーク経由で取得したＯＳカーネルが巧妙に改ざんされていたり、本来の場所とは異なる誘導されたサーバからＯＳカーネルを取得させられて、そのＯＳカーネルを起動した場合に、そのコンピュータ上で行った作業の内容（例えばアクセスした情報や入力したパスワード等）が盗まれ、結果として情報漏洩につながるという可能性がある。
【００１０】
本発明は、上記に鑑みてなされたものであり、その課題とするところは、オペレーティングシステムの基本プログラムについてセキュリティ上の安全性を確保することにある。
【課題を解決するための手段】
【００１１】
本発明に係るオペレーティングシステム用基本プログラムの認証システムは、オペレーティングシステムの基本プログラムを格納した格納手段に対してネットワークを経由して通信可能なコンピュータと、真正なオペレーティングシステムの基本プログラムを用いて生成された起動鍵を秘密鍵によって暗号化したデジタル署名情報を格納しておく署名格納手段と、を備え、前記コンピュータは、前記秘密鍵による暗号化を解除可能な公開鍵を格納した鍵格納手段と、前記格納手段からネットワークを経由して基本プログラムを取得して記憶手段に記憶させてから起動認証プログラムを起動させるブートローダと、前記記憶手段から前記基本プログラムを読み出し、当該基本プログラムを用いて起動鍵を生成し、前記署名格納手段から当該基本プログラムに対応するデジタル署名情報を取得するとともに前記鍵格納手段から公開鍵を読み出して当該デジタル署名情報を復号化し、生成した起動鍵と復号化したデジタル署名情報に示される起動鍵とを照合して両者が一致しない場合には当該基本プログラムを起動させない起動認証プログラムと、を有することを特徴とする。
【００１２】
本発明にあっては、コンピュータにより、ネットワーク経由で取得した基本プログラムを用いて生成した起動鍵と、別に取得したデジタル署名情報に示される起動鍵とを照合することで、基本プログラムが真正のものであるか否かが確認可能になる。
【００１３】
また、デジタル署名情報を秘密鍵で暗号化しておき、コンピュータでは公開鍵を用いてこの暗号化を解除することで、複数の基本プログラムを対象とした場合であっても、管理者はそれぞれの基本プログラムについての起動鍵を同一の秘密鍵を用いてデジタル署名情報を作成すればよく、起動認証プログラムおよび公開鍵を基本プログラム毎に変更することが不要になる。
【００１４】
また、本発明に係るオペレーティングシステム用基本プログラムの認証システムは、オペレーティングシステムの基本プログラムおよび当該基本プログラムを起動するための第１ブートローダを格納した格納手段に対してネットワークを経由して通信可能なコンピュータと、真正なオペレーティングシステムの基本プログラムを用いて生成された起動鍵を秘密鍵によって暗号化したデジタル署名情報を格納しておく署名格納手段と、を備え、前記コンピュータは、前記秘密鍵による暗号化を解除可能な公開鍵を格納した鍵格納手段と、前記格納手段からネットワークを経由して取得された第１ブートローダおよび基本プログラムを記憶する記憶手段と、前記格納手段からネットワークを経由して第１ブートローダを取得して記憶手段に記憶させてから第１起動認証プログラムを起動させる第２ブートローダと、前記記憶手段から第１ブートローダを読み出し、当該第１ブートローダを用いて起動鍵を生成し、生成した起動鍵と格納手段に格納されている起動鍵とを照合して両者が一致した場合に第１ブートローダを起動させる第１起動認証プログラムと、第１ブートローダが起動した場合に、前記記憶手段から前記基本プログラムを読み出し、当該基本プログラムを用いて起動鍵を生成し、前記署名格納手段から当該基本プログラムに対応するデジタル署名情報を取得するとともに前記鍵格納手段から公開鍵を読み出してデジタル署名情報を復号化し、生成した起動鍵と復号化したデジタル署名情報に示される起動鍵とを照合して両者が一致しない場合には当該基本プログラムを起動させない第２起動認証プログラムと、を有することを特徴とする。
【００１５】
本発明にあっては、コンピュータが基本プログラムの他にブートローダについてもネットワーク経由で取得する場合に、コンピュータにおいて、ブートローダについては起動鍵を用いて認証し、基本プログラムについてはデジタル署名情報を用いて認証することで、ブートローダおよび基本プログラムの双方について真正のものであるか否かが確認可能になる。
【００１６】
また、本発明に係るオペレーティングシステム用基本プログラムの認証システムは、オペレーティングシステムの基本プログラムおよび当該基本プログラムを起動するための第１ブートローダを格納した格納手段に対してネットワークを経由して通信可能なコンピュータと、真正な第１ブートローダを用いて生成された起動鍵を秘密鍵によって暗号化した第１デジタル署名情報、および真正なオペレーティングシステムの基本プログラムを用いて生成された起動鍵を秘密鍵によって暗号化した第２デジタル署名情報を格納しておく署名格納手段と、を備え、前記コンピュータは、前記秘密鍵による暗号化を解除可能な公開鍵を格納した鍵格納手段と、前記格納手段からネットワークを経由して取得された第１ブートローダおよび基本プログラムを記憶する記憶手段と、前記格納手段からネットワークを経由して第１ブートローダを取得して記憶手段に記憶させてから第１起動認証プログラムを起動させる第２ブートローダと、前記記憶手段から第１ブートローダを読み出し、当該第１ブートローダを用いて起動鍵を生成し、前記署名格納手段から第１ブートローダに対応する第１デジタル署名情報を取得するとともに前記鍵格納手段から公開鍵を読み出して第１デジタル署名情報を復号化し、生成した起動鍵と復号化した第１デジタル署名情報に示される起動鍵とを照合して両者が一致した場合に第１ブートローダを起動させる第１起動認証プログラムと、第１ブートローダが起動した場合に、前記記憶手段から前記基本プログラムを読み出し、当該基本プログラムを用いて起動鍵を生成し、前記署名格納手段から当該基本プログラムに対応する第２デジタル署名情報を取得するとともに前記鍵格納手段から公開鍵を読み出して第２デジタル署名情報を復号化し、生成した起動鍵と復号化した第２デジタル署名情報に示される起動鍵とを照合して両者が一致しない場合には当該基本プログラムを起動させない第２起動認証プログラムと、を有することを特徴とする。
【００１７】
本発明にあっては、コンピュータが基本プログラムの他にブートローダについてもネットワーク経由で取得する場合に、コンピュータにおいて、ブートローダおよび基本プログラムをそれぞれ対応するデジタル署名情報を用いて認証することで、ブートローダおよび基本プログラムの双方について真正のものであるか否かが確認可能になる。
【発明の効果】
【００１８】
本発明によれば、オペレーティングシステムの基本プログラムについてセキュリティ上の安全性を確保することが可能となる。
【発明を実施するための最良の形態】
【００１９】
［第１の実施の形態］
図１は、本実施の形態におけるオペレーティングシステム用基本プログラムの認証システムの構成を示すブロック図である。本認証システムでは、コンピュータ１０が、ネットワーク４０を介してファイルサーバ２０、ファイルサーバ３０と通信可能となっている。ネットワーク４０は、ここでは一例としてインターネットとする。
【００２０】
ファイルサーバ２０は、オペレーティングシステムの基本プログラム（以下「ＯＳカーネル」という）４を格納しておく格納部２１を有するコンピュータである。
【００２１】
ファイルサーバ３０は、真正なＯＳカーネルを用いて生成された起動鍵を秘密鍵によって暗号化したデジタル署名情報５を格納しておく格納部３１を有するコンピュータである。
【００２２】
起動鍵は、例えば、ＯＳカーネルに対してハッシュ関数を適用して計算する。この計算方式としては、例えばＳＨＡ１(Secure Hash Algorithm 1)やＭＤ５(Message Digest 5)等を利用する。このハッシュ関数は一方向関数であるので、仮に「起動鍵」が公に知られていたとしても、その起動鍵に合致するようにＯＳカーネルを作成あるいは改ざんすることは困難である。この起動鍵は、数バイト〜数十バイトのバイナリデータとして表現される。
【００２３】
秘密鍵は、特定の管理者のみがアクセス可能な情報であり、秘密鍵による暗号化を解除するための公開鍵と１対１で対応する。管理者は、秘密鍵を用いて暗号化したデジタル署名情報５を、コンピュータ１０がネットワーク４０を介して取得可能にファイルサーバ３０の格納部３１に格納しておく。なお、秘密鍵と公開鍵を用いたデジタル署名の具体的な手法に関する文献としては、"Digital Signature Standard," National Institute Standards and Technology, U.S. Department of Commerce が知られている。
【００２４】
コンピュータ１０は、ブートローダ１を格納したＲＯＭ(Read Only Memory)１１と、各種の情報を読み取り可能に格納するＲＡＭ(Random Access Memory)１２と、ＩＣカード５０を挿入可能なスロット１３を備える。コンピュータ１０は、この他にも図示しない演算処理装置を備えており、この演算処理装置によりブートローダ１の起動等の各種の処理を実行するようになっている。また、ここでは、コンピュータ１０は、一例として、磁気記憶装置に代表される永続的に情報の記憶が可能な記憶装置を持たないディスクレスコンピュータとし、ＢＩＯＳ(Basic Input Output System)がＲＯＭ１１にインストールされているものとする。また、ネットワーク経由での起動プロトコルについては、ＰＸＥ(Pre-boot Execution Envionment)によるプログラムを適用する。
【００２５】
ブートローダ１は、ファイルサーバ２０からネットワーク４０を介してＯＳカーネル４を取得してＲＡＭ１２へ記憶させたり、起動認証プログラム２やＯＳカーネル４を起動させたりするための小型のプログラムである。
【００２６】
ＩＣカード５０は、起動認証プログラム２と公開鍵３を格納したカード型のメモリである。ＩＣカード５０をスロット１３に挿入することで、コンピュータ１０はＩＣカード５０にアクセス可能となり、起動認証プログラム２および公開鍵３を読み出すことが可能となる。
【００２７】
起動認証プログラム２は、公開鍵３およびデジタル署名情報５を用いて、ＲＡＭ１２に記憶されたＯＳカーネル４が改ざん等されていない真正なものであることを認証する。その処理の詳細については後述する。
【００２８】
次に、本認証システムにおける全体的な処理の流れについて説明する。
【００２９】
まず、使用者は、起動認証プログラム２と公開鍵３が格納されたＩＣカード５０をコンピュータ１０のスロット１３に挿入する。
【００３０】
使用者がコンピュータ１０の電源を投入すると、ＢＩＯＳが起動され、ブートローダ１が起動される。
【００３１】
ブートローダ１は、ファイルサーバ２０からネットワーク４０を経由してＯＳカーネル４を取得してＲＡＭ１２に記憶させるとともに、ＩＣカード５０に格納されている起動認証プログラム２を呼び出す。
【００３２】
起動認証プログラム２は、ＲＡＭ１２からＯＳカーネル４を読み出し、このＯＳカーネル４にハッシュ関数を適用して起動鍵を生成する。続いて、起動認証プログラム２は、ファイルサーバ３０からネットワーク４０を経由して、このＯＳカーネル４に対応するデジタル署名情報５を取得してＲＡＭ１２に記憶させるとともに、ＩＣカード５０から公開鍵３を読み出し、この公開鍵３を用いてデジタル署名情報５を復号化する。そして、生成した起動鍵と復号化したデジタル署名情報５に示される起動鍵とを照合し、両者が一致した場合にはＯＳカーネル４を起動させ、両者が一致しない場合にはＯＳカーネル４を起動させず、認証失敗のメッセージをディスプレイに表示して処理を終了する。
【００３３】
以上の処理を行うことで、起動されるＯＳカーネルについては、改ざん等がなされていない真正のものであることが保証される。
【００３４】
一方、ファイルサーバ２０においてＯＳカーネルをアップデートするときに管理者が行うべき作業は次のようになる。まず、新しいＯＳカーネルを用いて起動鍵を生成し、この起動鍵を秘密鍵により暗号化したデジタル署名情報を作成する。続いて、ファイルサーバ２０，３０にそれぞれ格納されているＯＳカーネル４、デジタル署名情報５を新しいものに置き換える。
【００３５】
以上、説明したように、本実施の形態によれば、コンピュータ１０において、ネットワーク経由で取得したＯＳカーネル４を用いて生成した起動鍵と、これとは別に取得したデジタル署名情報５に示される起動鍵とを照合することで、ＯＳカーネル４が真正のものであるか否かが確認可能となるので、改ざん等がされていない真正のＯＳカーネル４を起動でき、もってセキュリティ上の安全性を確保することができる。
【００３６】
本実施の形態によれば、ファイルサーバ３０では、管理者によって秘匿されている秘密鍵を用いて起動鍵を暗号化したデジタル署名情報５を格納しておき、コンピュータ１０では、管理者により公開されている公開鍵を用いて取得したデジタル署名情報の暗号を解除することで、複数のＯＳカーネルを対象とした場合であっても、それぞれのＯＳカーネルについての起動鍵を同一の秘密鍵を用いて暗号化したデジタル署名情報を複数作成すればよく、起動認証プログラム２および公開鍵３をＯＳカーネル毎に変更する必要がないという利点がある。また、ファイルサーバ３０においてＯＳカーネルをアップデート等により変更した場合でも、起動認証プログラム２および公開鍵３を変更する必要がないという利点がある。
【００３７】
なお、本実施の形態においては、記憶装置を持たないディスクレスコンピュータを用いたが、これに限られるものではない。コンピュータ１０としては、例えば、記憶装置を内蔵したコンピュータや、記憶装置を内蔵していてもこれを利用しないように設定されたコンピュータ等を用いてもよい。
【００３８】
また、本実施の形態においては、起動認証プログラム２と公開鍵３についてはＩＣカード５０に格納されるものとしたが、これに限られるものではない。例えばコンピュータに挿入可能あるいはケーブルで接続可能なＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ等の記録媒体に格納してもよいし、コンピュータ内蔵のＲＯＭに固定的に格納してもよい。
【００３９】
［第２の実施の形態］
本実施の形態では、コンピュータが、ＯＳカーネルだけではなくブートローダについてもネットワークを介して取得することを想定し、コンピュータにおいてブートローダ、ＯＳカーネルの双方について改ざん等がなされていない真正のものであることを確認可能にした認証システムについて説明する。なお、本認証システムの基本的な構成は第１の実施の形態と同様であるので重複した部分の説明は省略する。
【００４０】
本認証システムにおいては、図２に示すように、コンピュータ１０がネットワーク４０を介して通信可能なファイルサーバ２０の格納部２１には、ＯＳカーネル４のほか、このＯＳカーネル４を起動するための第１ブートローダ１ａが格納される。
【００４１】
また、コンピュータ１０がネットワーク４０を介して通信可能なファイルサーバ３０の格納部３１には、真正なＯＳカーネルを用いて生成された起動鍵を秘密鍵によって暗号化したデジタル署名情報５が格納される。
【００４２】
コンピュータ１０のＲＯＭ１１には、ファイルサーバ２０からネットワーク４０を経由して第１ブートローダ１ａを取得してＲＡＭ１２に記憶させる第２ブートローダ１ｂが格納される。
【００４３】
このように、ブートローダが第１ブートローダ１ａ，第２ブートローダ１ｂの２段階になっているのは、最初に起動される第２ブートローダ１ｂは、予めＲＯＭ１１に記憶しておくものであり小規模の必要があることから実行能力が貧弱であり、ＯＳカーネルを直接起動するだけの能力がないものを想定しているからである。このため、第２ブートローダ１ｂは、ＯＳカーネルを実行させる能力がある第１ブートローダ１ａを取得し、第１起動認証プログラム２ａによりその真正を確認してから第１ブートローダ１ａを起動させるだけのものとなっている。
【００４４】
ＩＣカード５０には、秘密鍵による暗号化を解除可能な公開鍵１３、第１起動認証プログラム２ａ、真正な第１ブートローダを用いて生成された起動鍵６が格納される。
【００４５】
第１起動認証プログラム２ａは、第２ブートローダ１ｂによって起動されるものであり、起動後は、ＲＡＭ１２から第１ブートローダ１ａを読み出し、この第１ブートローダ１ａにハッシュ関数を適用して起動鍵を生成し、この生成した起動鍵とＩＣカード５０に格納されている起動鍵とを照合して両者が一致した場合に第１ブートローダ１ａを起動させる。両者が一致しない場合には、処理を終了する。
【００４６】
起動した第１ブートローダ１ａは、ファイルサーバ２０の格納部２１からＯＳカーネル４を取得してＲＡＭ１２に記憶させる。また、この第１ブートローダ１ａには、第２起動認証プログラムが組み込まれており、コンピュータ１０がファイルサーバ２０から第１ブートローダ１ａを取得するときに、第２起動認証プログラムも同時に取得され、ＲＡＭ１２に格納される。
【００４７】
第２起動認証プログラムは、第１ブートローダ１ａが起動した場合に、ＲＡＭ１２からＯＳカーネル４を読み出し、このＯＳカーネル４にハッシュ関数を適用して起動鍵を生成し、ファイルサーバ３０の格納部３１からＯＳカーネル４に対応するデジタル署名情報５を取得してＲＡＭ１２に読み取り可能に記憶させるとともにＩＣカード５０から公開鍵１３を読み出してデジタル署名情報５ｂを復号化し、生成した起動鍵と復号化したデジタル署名情報５ｂに示される起動鍵とを照合して両者が一致した場合にはＯＳカーネル４を起動させ、両者が一致しない場合にはＯＳカーネル４を起動させずに処理を終了する。
【００４８】
以上の処理を行うことで、第１ブートローダ１ａ、ＯＳカーネル４の双方について改ざん等がされていない真正のものであることが保証される。
【００４９】
したがって、本実施の形態によれば、第１ブートローダ１ａおよびＯＳカーネル４の双方をネットワークを経由して取得する場合に、第１ブートローダ１ａについては起動鍵により認証し、ＯＳカーネル４については更にデジタル署名情報５を用いて認証することで、これらが真正のものであるか否かを確認でき、もってセキュリティ上の安全を確保することができる。
【００５０】
本実施の形態によれば、第１ブートローダ１ａに第２起動認証プログラムを組み込むことで、両者を一体として管理できるという管理上の利点がある。また、第１ブートローダ１ａ毎に、異なる第２起動認証プログラムを用いることができるというセキュリティ上の利点がある。
【００５１】
本実施の形態によれば、第１ブートローダ１ａに第２起動認証プログラムを組み込むことで、第１ブートローダ１ａの認証によって、第２起動認証プログラムも認証されるので、起動認証プログラム自体の「なりすまし」を防ぐことができる。
【００５２】
なお、本実施の形態においては、第１起動認証プログラムを実行させる第２ブートローダ１ｂが貧弱な実行環境にあることを想定して、第１起動認証プログラムがデジタル署名情報を利用せずに起動鍵だけを用いて第１ブートローダ１ａの認証を行うようにしたが、これに限るものではない。第１起動認証プログラムについてもデジタル署名情報を認証に利用することもでき、この場合の実施の形態について次に説明する。
【００５３】
［第３の実施の形態］
本実施の形態においても、コンピュータが、ＯＳカーネルだけではなくブートローダについてもネットワークを介して取得することを想定し、コンピュータにおいてブートローダ、ＯＳカーネルの双方について改ざん等がなされていない真正のものであることをデジタル署名情報により確認可能にした認証システムについて説明する。なお、本認証システムの基本的な構成は第１の実施の形態と同様であるので重複した部分の説明は省略する。
【００５４】
本認証システムにおいては、図３に示すように、コンピュータ１０がネットワーク４０を介して通信可能なファイルサーバ２０の格納部２１には、ＯＳカーネル４のほか、このＯＳカーネル４を起動するための第１ブートローダ１ａが格納される。
【００５５】
また、コンピュータ１０がネットワーク４０を介して通信可能なファイルサーバ３０の格納部３１には、真正な第１ブートローダを用いて生成された起動鍵を秘密鍵によって暗号化した第１デジタル署名情報５ａ、および真正なＯＳカーネルを用いて生成された起動鍵を秘密鍵によって暗号化した第２デジタル署名情報５ｂが格納される。
【００５６】
コンピュータ１０のＲＯＭ１１には、ファイルサーバ２０からネットワーク４０を経由して第１ブートローダ１ａおよびＯＳカーネル４を取得し、これらをＲＡＭ１２に記憶させる第２ブートローダ１ｂが格納される。
【００５７】
ＩＣカード５０には、秘密鍵による暗号化を解除可能な公開鍵１３、および第１起動認証プログラム２ａが格納される。第１起動認証プログラム２ａは、第２ブートローダ１ｂによって起動されるものであり、起動後は、ＲＡＭ１２から第１ブートローダ１ａを読み出し、この第１ブートローダ１ａにハッシュ関数を適用して起動鍵を生成し、ファイルサーバ３０の格納部３１から第１ブートローダ１ａに対応する第１デジタル署名情報５ａを取得するとともにＩＣカード５０から公開鍵１３を読み出して第１デジタル署名情報５ａを復号化し、生成した起動鍵と復号化した第１デジタル署名情報５ａに示される起動鍵とを照合して両者が一致した場合に第１ブートローダ１ａを起動させる。両者が一致しない場合には、処理を終了する。
【００５８】
この第１ブートローダ１ａには、第２起動認証プログラムが組み込まれており、コンピュータ１０がファイルサーバ２０から第１ブートローダ１ａを取得するときに、第２認証プログラムも同時に取得され、ＲＡＭ１２に格納される。
【００５９】
第２起動認証プログラムは、第１ブートローダ１ａが起動した場合に、ＲＡＭ１２からＯＳカーネル４を読み出し、このＯＳカーネル４にハッシュ関数を適用して起動鍵を生成し、ファイルサーバ３０の格納部３１からＯＳカーネル４に対応する第２デジタル署名情報５ｂを取得してＲＡＭ１２に読み取り可能に記憶させるとともにＩＣカード５０から公開鍵１３を読み出して第２デジタル署名情報５ｂを復号化し、生成した起動鍵と復号化した第２デジタル署名情報５ｂに示される起動鍵とを照合して両者が一致した場合にはＯＳカーネル４を起動させ、両者が一致しない場合にはＯＳカーネル４を起動させずに処理を終了する。
【００６０】
以上の処理を行うことで、第１ブートローダ１ａ、ＯＳカーネル４の双方について改ざん等がされていない真正のものであることが保証される。
【００６１】
したがって、本実施の形態によれば、第１ブートローダ１ａおよびＯＳカーネル４の双方にそれぞれ対応するデジタル署名情報５ａ，５ｂを作成しておき、コンピュータ１０において、ネットワークを経由して取得した第１ブートローダ１ａ、ＯＳカーネル４をそれぞれ対応するデジタル署名情報５ａ，５ｂを用いて認証することで、これらが真正のものであるか否かを確認でき、もってセキュリティ上の安全を確保することができる。
【００６２】
本実施の形態によれば、第１ブートローダ１ａに第２起動認証プログラムを組み込むことで、両者を一体として管理できるという管理上の利点がある。また、第１ブートローダ１ａ毎に、異なる第２起動認証プログラムを用いることができるというセキュリティ上の利点がある。
【００６３】
本実施の形態によれば、第１ブートローダ１ａに第２起動認証プログラムを組み込むことで、第１ブートローダ１ａの認証によって、第２起動認証プログラムも認証されるので、起動認証プログラム自体の「なりすまし」を防ぐことができる。
【００６４】
なお、本実施の形態においては、第２ブートローダ１ｂがＯＳカーネル４を取得することとしたが、これに限られるものではなく、第１ブートローダ１ａがＯＳカーネル４を取得するようにしてもよい。
【００６５】
［別の実施の形態］
上記各実施の形態においては、ＯＳカーネル４をコンピュータ１０がネットワークを介して取得することとしたが、これに限られるものではない。例えば、図４に示すように、コンピュータ１０に記憶装置（同図ではＨＤＤ(Hard Disk Drive)と示す）１４を設けておき、この記憶装置１４に記憶してあるＯＳカーネル４を認証するようにしてもよい。この場合の認証システムの処理は次のようになる。なお、本認証システムの基本的な構成は第１の実施の形態と同様であるので重複した部分の説明は省略する。
【００６６】
まず使用者がコンピュータ１０の電源を投入すると、ＢＩＯＳが起動され、ブートローダ１が起動される。
【００６７】
ブートローダ１は、ＩＣカード５０に格納されている起動認証プログラム２を呼び出す。
【００６８】
起動認証プログラム２は、記憶装置１４からＯＳカーネル４を読み出し、このＯＳカーネル４にハッシュ関数を適用して起動鍵を生成する。続いて、起動認証プログラム２は、ファイルサーバ３０からネットワーク４０を経由して、このＯＳカーネル４に対応するデジタル署名情報５を取得して記憶装置１４に記憶させるとともに、ＩＣカード５０から公開鍵３を読み出し、この公開鍵３を用いてデジタル署名情報５を復号化する。そして、生成した起動鍵と復号化したデジタル署名情報５に示される起動鍵とを照合し、両者が一致した場合にはＯＳカーネル４を起動させ、両者が一致しない場合にはＯＳカーネル４を起動させず、認証失敗のメッセージをディスプレイに表示して処理を終了する。
【００６９】
以上の処理を行うことで、ネットワーク経由での取得とは関係なく、起動対象のＯＳカーネルについては、改ざん等がなされていない真正のものであることが保証される。
【図面の簡単な説明】
【００７０】
【図１】第１の実施の形態におけるオペレーティングシステム用基本プログラムの認証システムの構成を示す機能ブロック図である。
【図２】第２の実施の形態におけるオペレーティングシステム用基本プログラムの認証システムの構成を示す機能ブロック図である。
【図３】第３の実施の形態におけるオペレーティングシステム用基本プログラムの認証システムの構成を示す機能ブロック図である。
【図４】別の実施の形態におけるオペレーティングシステム用基本プログラムの認証システムの構成を示す機能ブロック図である。
【符号の説明】
【００７１】
１…ブートローダ
１ａ…第１ブートローダ
１ｂ…第２ブートローダ
２…起動認証プログラム
２ａ…第１起動認証プログラム
３…公開鍵
４…ＯＳカーネル
５…デジタル署名情報
５ａ…第１デジタル署名情報
５ｂ…第２デジタル署名情報
６…起動鍵
１０…コンピュータ
１１…ＲＯＭ
１２…ＲＡＭ
１３…スロット
１３…公開鍵
１４…記憶装置
２０，３０…ファイルサーバ
２１，３１…格納部
４０…ネットワーク
５０…ＩＣカード
【図１】
2007094879.tif 000003
【図２】
2007094879.tif 000004
【図３】
2007094879.tif 000005
【図４】
2007094879.tif 000006