(57)【要約】      （修正有）【課題】改良され、よりセキュアなコンピュータ化システムの初期化方法およびコンピュータ化システムを提供する。【解決手段】関連する秘密セキュリティ鍵（Ｘi）を有するブートスクリプト５を実行することによってコンピュータ化システムを初期化するコンピュータ化システムの初期化方法であり、コンピュータ化システム１は、そこに割り当てられた公開鍵インデックスｋ1〜をそれぞれ有する複数の公開鍵Ｙ1〜を記憶する第１セキュア記憶装置２と、現在の鍵インデックスｋを記憶する第２セキュア記憶装置３とを含む。ブートスクリプト５は、複数の公開鍵Ｙ1〜から選択された公開鍵Ｙiが秘密セキュリティ鍵Ｘiに一意的に関連して、秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成し、且つ、前記現在の鍵インデックスｋと所定の関係を有するブート鍵インデックスｋiを有する場合にのみ実行される。【選択図】図１
2018173936.tif 000002
【特許請求の範囲】
【請求項１】
対応付く秘密セキュリティ鍵（Ｘi）を有するブートスクリプト（５）を実行することによってコンピュータ化システムを初期化するコンピュータ化システムの初期化方法であって、
前記コンピュータ化システム（１）が、
割り当てられた公開鍵インデックス（ｋ1〜ｋN）をそれぞれ有する複数の公開鍵（Ｙ1〜ＹN）を記憶する第１セキュア記憶装置（２）と、
現在の鍵インデックス（ｋ）を保存する第２セキュア記憶装置（３）と
を含み、
前記ブートスクリプト（５）が、前記複数の公開鍵（Ｙ1〜ＹN）から選択された公開鍵（Ｙi）が前記秘密セキュリティ鍵（Ｘi）に一意的に関連して、前記秘密セキュリティ鍵（Ｘi）と一意の鍵ペアを形成し、且つ前記現在の鍵インデックス（ｋ）と所定の関係を有するブート鍵インデックス（ｋi）を有する場合にのみ実行されるコンピュータ化システムの初期化方法。
【請求項２】
前記第１セキュア記憶装置（２）から前記複数の公開鍵（Ｙ1〜ＹN）のうちの１つを取り出し（Ｓ１）、前記取り出した公開鍵が前記秘密セキュリティ鍵（Ｘi）と前記一意の鍵ペアを形成するかどうかを検証する（Ｓ２）ことと、
前記取り出した公開鍵（Ｙi）が前記秘密セキュリティ鍵（Ｘi）と前記一意の鍵ペアを形成する場合に、前記取り出した公開鍵（Ｙi）の前記鍵インデックスを前記ブート鍵インデックス（ｋi）として取得することと、
前記ブート鍵インデックス（ｋi）と前記現在の鍵インデックス（ｋ）を比較することと、
前記ブート鍵インデックス（ｋi）が前記現在の鍵インデックス（ｋ）と前記所定の関係を満たしていると判断した（Ｓ５）場合にのみ、前記ブートスクリプト（５）を実行することと、
を含む請求項１に記載のコンピュータ化システムの初期化方法。
【請求項３】
前記第１セキュア記憶装置（２）から前記複数の公開鍵（Ｙ1〜ＹN）のうちの１つを取り出し、前記取り出した公開鍵が前記秘密セキュリティ鍵（Ｘi）と前記一意の鍵ペアを形成するかどうかを検証する前記ステップ（Ｓ２）が、前記秘密セキュリティ鍵（Ｘi）と前記一意の鍵ペアを形成する前記公開鍵（Ｙi）が決まるまで、前記複数の公開鍵（Ｙ1〜ＹN）の各公開鍵に対して実行される請求項２に記載のコンピュータ化システムの初期化方法。
【請求項４】
所定の順序に基づいて、前記複数の公開鍵（Ｙ1〜ＹN）を順々に取り出す、請求項２に記載のコンピュータ化システムを初期化する方法。
【請求項５】
どの前記公開鍵（Ｙ1〜ＹN）も前記秘密セキュリティ鍵（Ｘi）と前記一意の鍵ペアを形成していないと判断した場合に、前記コンピュータ化システム（１）の前記初期化を中断すること（Ｓ２１）、または警告信号を発する（Ｓ２２）ことの少なくとも一方をさらに含む請求項３または４に記載のコンピュータ化システムの初期化方法。
【請求項６】
前記ブート鍵インデックス（ｋi）が前記現在の鍵インデックス（ｋ）に等しいか、それよりも大きい場合にのみ、前記ブートスクリプト（５）が実行される請求項１〜５のいずれか１項に記載のコンピュータ化システムの初期化方法。
【請求項７】
前記ブート鍵インデックス（ｋi）が前記現在の鍵インデックス（ｋ）と前記所定の関係を満たしていないと判断した場合に、前記コンピュータ化システム（１）の前記初期化を中断すること（Ｓ５３）、または警告信号を発する（Ｓ５４）ことの少なくとも一方をさらに含む請求項１〜６のいずれか１項に記載のコンピュータ化システムの初期化方法。
【請求項８】
前記ブート鍵インデックス（ｋi）が所定の範囲内にあると判断した場合に、前記現在の鍵インデックス（ｋ）を前記ブート鍵インデックス（ｋi）に変更する（Ｓ５２）ことをさらに含む請求項１〜７のいずれか１項に記載のコンピュータ化システムの初期化方法。
【請求項９】
前記ブート鍵インデックス（ｋi）および／または前記ブートスクリプト（５）がブラックリスト値のうちのいずれか１つに対応する場合に、前記ブートスクリプト（５）の実行が遮断されることを示す前記ブラックリスト値のブラックリストをさらに含む請求項１〜８のいずれか１項に記載のコンピュータ化システムの初期化方法。
【請求項１０】
前記ブートスクリプト（５）を実行した後に、前記現在の鍵インデックス（ｋ）の値を前記ブラックリストに追加することと、
前記ブート鍵インデックス（ｋi）が前記現在の鍵インデックス（ｋ）と前記所定の関係を満たしていない場合に、前記現在の鍵インデックス（ｋ）の値を前記ブラックリストに追加することと、
前記取り出した公開鍵が前記秘密セキュリティ鍵（Ｘi）と前記一意の鍵ペアを形成しない場合に、前記現在の鍵インデックス（ｋ）の値を前記ブラックリストに追加することと、
をさらに含む請求項９に記載のコンピュータ化システムの初期化方法。
【請求項１１】
前記第１セキュア記憶装置（２）が、ＴＰＭ、マイクロコントローラー、またはフィールドプログラマブルゲートアレイを含む請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
前記秘密セキュリティ鍵（Ｘi）および前記公開鍵（Ｙi）が、相互に作用する暗号鍵であるため、前記秘密セキュリティ鍵（Ｘi）で暗号化された前記ブートスクリプト（５）が、前記公開鍵（Ｙi）を使用することによってのみ復号化することができる請求項１〜１１のいずれか１項に記載のコンピュータ化システムの初期化方法。
【請求項１３】
前記秘密セキュリティ鍵（Ｘi）が、前記公開鍵（Ｙi）と相互に作用する前記ブートスクリプト（５）の署名であるため、前記ブートスクリプト（５）が、前記公開鍵（Ｙi）を使用することによってのみ確認することができる請求項１〜１２のいずれか１項に記載のコンピュータ化システムの初期化方法。
【請求項１４】
前記コンピュータ化システム（１）のファームウェア更新により前記ブートスクリプト（５）を更新し、それにより、前記関連する秘密セキュリティ鍵（Ｘi）を変更することをさらに含む請求項１〜１３のいずれか１項に記載のコンピュータ化システムの初期化方法。
【請求項１５】
請求項１〜１４のいずれか１項に記載の前記方法を実行するために実施されるコンピュータ化システム（１）であって、
そこに割り当てられた公開鍵インデックス（ｋ1〜ｋN）をそれぞれ有する複数の公開鍵（Ｙ1〜ＹN）を記憶する第１セキュア記憶装置（２）と、
現在の鍵インデックス（ｋ）を記憶する第２セキュア記憶装置（３）と、
関連する秘密セキュリティ鍵（Ｘi）を有するブートスクリプト（５）を記憶するブートスクリプト記憶ユニット（４）と、
前記複数の公開鍵（Ｙ1〜ＹN）から選択された公開鍵（Ｙi）が前記秘密セキュリティ鍵（Ｘi）に一意的に関連して、前記秘密セキュリティ鍵（Ｘi）と一意の鍵ペアを形成し、且つ前記現在の鍵インデックス（ｋ）と所定の関係を有するブート鍵インデックス（ｋi）を有する場合にのみ前記ブートスクリプト（５）を実行するブートスクリプト実行ユニット（６）と、
を含むコンピュータ化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ化システムの初期化方法およびコンピュータ化システムに関するものである。
【背景技術】
【０００２】
コンピュータ等のシステムの初期化または起動（ブート）は、システムのセキュリティを保障するため、セキュアに実行される必要がある。起動すると、システムは、通常、コンピュータのオペレーティングシステムをロードするためのブートローダーを実行する。例えば、トラステッドプラットフォームモジュール（Trusted Platform Module, TPM）を使用して、セキュアなブートを実施することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の１つの目的は、コンピュータ化システムの初期化のための、改良された、よりセキュアな方法を提供することである。また、本発明のさらなる目的は、改良され、よりセキュアなコンピュータ化システムを提供することである。
【課題を解決するための手段】
【０００４】
したがって、対応付く秘密セキュリティ鍵（private security key）Ｘiを有するブートスクリプトを実行することによってコンピュータ化システムを初期化するコンピュータ化システムの初期化方法を提供する。コンピュータ化システムは、割り当てられた公開鍵インデックスｋ1〜ｋNをそれぞれ有する複数の公開鍵（public key）Ｙ1〜ＹNを記憶する第１セキュア記憶装置と、現在の鍵インデックスｋを記憶する第２セキュア記憶装置とを含む。ブートスクリプトは、複数の公開鍵Ｙ1〜ＹNから選択された公開鍵Ｙiが秘密セキュリティ鍵Ｘiに一意的に関連して、秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成し、且つ現在の鍵インデックスｋと所定の関係を有するブート鍵インデックスｋiを有する場合にのみ実行される。
【０００５】
１つの実施形態において、上記および下記のコンピュータ化システムの初期化方法を実行するために実装されるコンピュータ化システムを提供する。コンピュータ化システムは、
割り当てられた公開鍵インデックスｋ1〜ｋNをそれぞれ有する複数の公開鍵Ｙ1〜ＹNを保存する第１セキュア記憶装置と、
現在の鍵インデックスｋを記憶する第２セキュア記憶装置と、
対応付く秘密セキュリティ鍵Ｘiを有するブートスクリプトを記憶するブートスクリプト記憶ユニットと、
複数の公開鍵Ｙ1〜ＹNから選択された公開鍵Ｙiが秘密セキュリティ鍵Ｘiに一意的に関連して、秘密セキュリティ鍵Ｘiと一意の鍵ペア（key pair）を形成し、且つ現在の鍵インデックスｋと所定の関係を有するブート鍵インデックスｋiを有する場合にのみブートスクリプトを実行するブートスクリプト実行ユニットとを含む。
【０００６】
コンピュータ化システムは、コンピュータ（具体的には、パソコン、組込システム（embedded system）、工業用コンピュータ、またはサーバー）等のハードウェアおよびソフトウェアを備えたシステムであってもよい。初期化は、コンピュータ化システムを使用できるようにするために必要なブートプロセスであってもよい。初期化は、ブートスクリプトを実行することを含んでもよい。その秘密セキュリティ鍵Ｘiを含むブートスクリプトは、コンピュータ化システムの製造業者によって作成され、コンピュータ化システムのブートスクリプト記憶ユニットに記憶される。
【０００７】
ブートスクリプトに対応付く秘密セキュリティ鍵Ｘiは、特に、コンピュータ化システムによって取り出されることができない。秘密セキュリティ鍵Ｘiは、ブートスクリプトが実行できるようになる前に、検証または承認される必要のあるブートスクリプトの署名であってもよい。あるいは、秘密セキュリティ鍵Ｘiは、暗号鍵であってもよい。ブートスクリプトまたは秘密セキュリティ鍵Ｘiの少なくとも一方は、例えば、コンピュータ化システムの製造業者によって変更可能である。
【０００８】
ブートスクリプトは、実行できるようになる前に、秘密セキュリティ鍵Ｘiに一意的に関連し、秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成する固有の公開鍵により、正常にアクセスされ、復号化され、検証され、または開かれる必要がある。固有の公開鍵とは異なる鍵を使用した場合、ブートスクリプトに正常にアクセスする、復号化する、確認する、または開くことができない。
【０００９】
さらなる実施形態において、第１セキュア記憶装置は、ＴＰＭ、マイクロコントローラー、またはフィールドプログラマブルゲートアレイ（field-programmable gate array）である。第１セキュア記憶装置は、その中に複数の公開鍵Ｙ1〜ＹNを記憶し、各公開鍵は、それに割り当てられた公開鍵インデックスｋ1〜ｋNを有する。公開鍵Ｙ1〜ＹNをいくつかの第１セキュア記憶装置に分配することにより、コンピュータ化システムの複雑性を高め、コンピュータ化システムに対する攻撃を防ぐことができる。
【００１０】
第１セキュア記憶装置または第２セキュア記憶装置の少なくとも一方は、それぞれいくつかの記憶手段を含む。例えば、鍵または鍵インデックスの少なくとも一方を記憶するための分散型メモリ構造が考えられる。別の実施形態に基づくと、第１および第２セキュア記憶装置は、例えば、ＴＰＭ、ＲＯＭ、ハードドライブ、フラッシュメモリ装置等のように、１つの記憶手段に統合される。理解すべきこととして、第１および第２セキュア記憶装置は、例えば、単一のメモリ装置の一部であってもよい。後者の場合、公開鍵を記憶するセクションと現在の鍵インデックスを記憶するセクションを有するセキュアメモリ装置を指すことができる。
【００１１】
鍵インデックスｋ1〜ｋNは、整数であってもよい。鍵インデックスは、公開鍵Ｙ1〜ＹNのラベルまたはアドレスであってもよい。公開鍵Ｙ1〜ＹNのうちの１つは、上記で定義したように、秘密セキュリティ鍵Ｘiに一意的に関連する公開鍵Ｙiであってもよい。第１セキュア記憶装置に記憶された残りの公開鍵は、秘密セキュリティ鍵Ｘiに一意的に関連する公開鍵Ｙiと同じフォーマットであるが、異なる内容を有するものであってもよい。
【００１２】
現在の鍵インデックスｋは、整数であってもよい。具体的には、現在の鍵インデックスｋは、公開鍵Ｙ1〜ＹNの鍵インデックスｋ1〜ｋNと同じフォーマットである。また、公開鍵Ｙ1〜ＹNの鍵インデックスｋ1〜ｋNのうちの１つと同じであってもよい。現在の鍵インデックスｋが保存された第２セキュア記憶装置は、暗号化や検証等の、本分野において周知の方法で保護されたＲＡＭ、ハードディスク等であってもよい。具体的には、現在の鍵インデックスｋは、フラッシュメモリに記憶されてもよい。
【００１３】
ブートスクリプトの実行には２つの条件がある。まず、複数の公開鍵Ｙ1〜ＹNから選択された公開鍵Ｙiの１つは、秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成するよう、秘密セキュリティ鍵Ｘiに一意的に関連しなければならない。さらに、上述した一意の公開鍵Ｙiは、現在の鍵インデックスｋと所定の関係を有するブート鍵インデックスｋiを有していなければならない。
【００１４】
所定の関係は、数学的関係であってもよい。例えば、ブート鍵インデックスが数字である場合、所定の関係は、ブート鍵インデックスｋiが現在の鍵インデックスｋの倍数であること、ブート鍵インデックスｋiが現在の鍵インデックスｋより大きい、小さい、またはそれに等しいこと、ブート鍵インデックスｋiが現在の鍵インデックスｋの範囲内に入ること、ブート鍵インデックスｋiと現在の鍵インデックスｋの合計が所定の数であること等の関係であってもよい。現在の鍵インデックスｋは、所定の関係に基づいて、許容値またはブート鍵インデックスｋiの値を定義するブラックリストおよびホワイトリストとみなすことができる。
【００１５】
ブートスクリプトを実行するためには、上述した２つの条件を満たす必要があるため、コンピュータ化システムの初期化または起動は、セキュアな方法で実行される。そのようにして、改良されたコンピュータ化システムの初期化方法および改良されたコンピュータ化システムを提供し、ユーザーや顧客に重要な構成要素のセキュリティが損なわれない保証を提供する。
【００１６】
さらに、上記の方法は、新しい構成要素を必要としない低コストの解決法である。実際、上記の方法は、第１セキュア記憶装置、第２セキュア記憶装置、ブートスクリプト記憶ユニット、およびブートスクリプト実行ユニット等の単なる標準的な構成要素を使用して実行することができる。
【００１７】
さらなる実施形態において、このコンピュータ化システムの初期化方法は、
第１セキュア記憶装置から複数の公開鍵Ｙ1〜ＹNのうちの１つを取り出し、取り出した公開鍵が秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成するかどうかを検証することと、
取り出した公開鍵が秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成する場合に、取り出した公開鍵の鍵インデックスをブート鍵インデックスとして取得することと、
ブート鍵インデックスと現在の鍵インデックスｋを比較することと、
ブート鍵インデックスが現在の鍵インデックスｋと所定の関係を満たしていると判断した場合にのみ、ブートスクリプトを実行することとを含む。
【００１８】
さらなる実施形態において、第１セキュア記憶装置から複数の公開鍵Ｙ1〜ＹNのうちの１つを取り出し、取り出した公開鍵が秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成するかどうかを検証するステップは、秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成する公開鍵Ｙiが決まるまで、複数の公開鍵Ｙ1〜ＹNの各公開鍵に対して実行される。
【００１９】
第１セキュア記憶装置から取り出された第１公開鍵が秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成しない場合、別の公開鍵を取り出して、この別の公開鍵が秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成するかどうかを検証する。秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成する公開鍵Ｙiが決まるまで、これを順々に繰り返す。
【００２０】
さらなる実施形態において、所定の順序に基づいて、複数の公開鍵Ｙ1〜ＹNを順々に取り出す。言い換えると、所定の順序は、公開鍵Ｙ1〜ＹNを取り出す順番を示すことができる。例えば、所定の順序は、取り出す順番がＹ1、Ｙ2、Ｙ3、…ＹNであることを示してもよい。また、所定の順序は、鍵インデックスｋ1〜ｋNの観点から表現されてもよい。例えば、公開鍵は、鍵インデックスｋ1〜ｋNの小から大の順に順番に取り出される。
【００２１】
さらなる実施形態において、このコンピュータ化システムの初期化方法は、さらに、
どの公開鍵Ｙ1〜ＹNも秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成しないと判断した場合に、コンピュータ化システムの初期化を中断することを含む。
【００２２】
具体的には、どの公開鍵Ｙ1〜ＹNも秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成しない場合は、ブートスクリプトを実行することができない。例えば、これは、ブートスクリプトおよびその秘密セキュリティ鍵Ｘiが、例えば、悪意のあるユーザーやハッカーによって偽造された場合に対応する。また、第１セキュア記憶装置に記憶された公開鍵インデックスとは別の公開鍵インデックスを使用してブートスクリプトを検証した場合や、第１セキュア記憶装置がハッキングされた場合にも対応する。
【００２３】
どの公開鍵Ｙ1〜ＹNも秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成しない場合、コンピュータ化システムの第１セキュア記憶装置は、秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成する公開鍵Ｙiがなく、コンピュータ化システムは、セキュリティ上の理由から初期化されない。そのため、コンピュータ化システムの初期化方法は、コンピュータ化システムのセキュアな初期化のみを許可する。それにより、コンピュータ化システムの全体のセキュリティが向上する。コンピュータ化システムに対する攻撃（具体的には、コールドブートアタック（cold boot attack）、ファームウェアアタック（firmware attack）、およびＢＩＯＳキーボードバッファアタック（BIOS keyboard buffer attack）を回避することができる。
【００２４】
さらなる実施形態において、このコンピュータ化システムの初期化方法は、さらに、
どの公開鍵Ｙ1〜ＹNも秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成しないと判断した場合に、警告信号を発することを含む。
【００２５】
警告信号をコンピュータ化システムのユーザーに発して、どの公開鍵Ｙ1〜ＹNも秘密セキュリティ鍵Ｘiと一意の鍵ペアを形成しないことを示すことによって、コンピュータ化システムに対する攻撃の可能性をユーザーに通知することができる。さらに、警告信号は、外部のサーバーに送信してもよい。それにより、コンピュータ化システムのセキュリティをさらに高めることができる。
【００２６】
さらなる実施形態において、ブートスクリプトは、ブート鍵インデックスｋiが現在の鍵インデックスｋに等しいか、それよりも大きい場合にのみ実行される。
【００２７】
具体的には、ブート鍵インデックスｋiおよび現在の鍵インデックスｋが所定の関係を満たしていることにより、ブート鍵インデックスｋiが現在の鍵インデックスｋに等しいか、それよりも大きい場合にのみ、ブートスクリプトが実行される。現在の鍵インデックスｋは、ブラックリストおよびホワイトリストとみなしてもよい。対応するブラックリストにおいて識別された、対応付くブート鍵インデックスを有するブートスクリプトは、実行されない。具体的には、現在の鍵インデックスkに等しいか、それよりも大きい全てのブートインデックス値は、ホワイトリストの一部であるため、ブートスクリプトの実行が許可される。一方、現在の鍵インデックスkよりも厳密に小さい全てのブートインデックス値は、ブラックリストに属するため、ブートスクリプトの実行は許可されない。
【００２８】
実施形態において、このコンピュータ化システムの初期化方法は、ブート鍵インデックスがブラックリスト値のうちのいずれか１つに対応する場合にブートスクリプトの実行が遮断されることを示すブラックリスト値のブラックリストを含む。代わりに、または追加的に、現在の鍵インデックスがブラックリスト値のうちのいずれか１つに対応する場合に、ブートスクリプトの実行が遮断される。
【００２９】
さらなる実施形態において、このコンピュータ化システムの初期化方法は、さらに、
ブート鍵インデックスｋiが現在の鍵インデックスｋと所定の関係を満たしていないと判断した場合に、コンピュータ化システムの初期化を中断することを含む。
【００３０】
具体的には、ブート鍵インデックスｋiが現在の鍵インデックスｋと所定の関係を満たしていない場合は、ブートスクリプトを実行することができない。例えば、これは、悪意のあるハッカーが第１セキュア記憶装置に記憶された公開鍵Ｙ1〜ＹNを変更した場合、あるいは所定の順序に対応しない順番で公開鍵Ｙ1〜ＹNを取り出した場合に発生する。
【００３１】
ブート鍵インデックスｋiが現在の鍵インデックスｋと所定の関係を満たしていない場合、コンピュータ化システムは、セキュリティ上の理由から初期化されない。そのため、コンピュータ化システムの初期化方法は、コンピュータ化システムのセキュアな初期化のみを許可する。さらに、警告信号を外部サーバーに送信してもよい。それにより、コンピュータ化システムのセキュリティ全体を高め、コンピュータ化システムに対する攻撃を回避することができる。
【００３２】
さらなる実施形態において、このコンピュータ化システムの初期化方法は、さらに、
ブート鍵インデックスが現在の鍵インデックスと所定の関係を満たしていないと判断した場合に、警告信号を発することを含む。
【００３３】
警告信号をコンピュータ化システムのユーザーに発して、ブート鍵インデックスが現在の鍵インデックスと所定の関係を満たしていないことを示すことにより、コンピュータ化システムに対する攻撃の可能性をユーザーに通知することができる。これにより、コンピュータ化システムのセキュリティをさらに向上させることができる。
【００３４】
さらなる実施形態において、このコンピュータ化システムの初期化方法は、さらに、
ブート鍵インデックスｋiがあらかじめ定義された範囲内にあると判断した場合に、現在の鍵インデックスｋをブート鍵インデックスｋiに変更することを含む。
【００３５】
それにより、現在の鍵インデックスｋの値をブート鍵インデックスｋiの値に変更することができる。例えば、攻撃のリスクが増して現在の鍵インデックスｋが望ましくないものになった場合、システム製造業者は、ファームウェア更新により、上述した現在の鍵インデックスｋを更新することを決定することができる。これは、ブートスクリプトの更新により（具体的には、新たな対応付く秘密セキュリティ鍵Ｘiをブートスクリプトに割り当てることにより）、実行することができる。上述した新たな対応付く秘密セキュリティ鍵Ｘiは、ブート鍵インデックスｋiを有する一意的に関連する公開鍵Ｙiを有する。例えば、ブート鍵インデックスｋiが現在の鍵インデックスｋよりも厳密に大きい場合、鍵インデックスｋは、ブート鍵インデックスｋiに変更、修正、または更新される。それにより、現在の鍵インデックスｋの更新を動的に行うことができる。初期／以前の現在の鍵インデックスは、自動的にブラックリストに載せることができる。
【００３６】
鍵インデックスｋをブート鍵インデックスｋiに変更した後、ブート鍵インデックスｋiが変更／更新された現在の鍵インデックスと所定の関係を満たしている場合にのみ、コンピュータ化システムの後続の初期化を行うことができる。それにより、古い秘密セキュリティ鍵Ｘiで署名または暗号化されたブートスクリプトは、実行されない（具体的には、ブラックリストに載せられる）。
【００３７】
実施形態において、このコンピュータ化システムの初期化方法は、
ブートスクリプトを実行した後に、現在の鍵インデックスの値をブラックリストに追加することと、
ブート鍵インデックスが現在の鍵インデックスと所定の関係を満たしていない場合に、現在の鍵インデックスの値をブラックリストに追加することと、
取り出した公開鍵が秘密セキュリティ鍵と一意の鍵ペアを形成しない場合に、現在の鍵インデックスの値をブラックリストに追加することと、
のステップのうちの少なくとも１つを含む。
【００３８】
有利な点として、現在の鍵インデックスは、システム製造業者によって行われるファームウェア更新により、容易に変更／更新することができるため、コンピュータ化システムのユーザーは、長たらしい更新および／または高額な修理を行う必要がない。
【００３９】
別の実施形態において、秘密セキュリティ鍵Ｘiおよび公開鍵Ｙiは、相互に作用する暗号鍵であるため、秘密セキュリティ鍵Ｘiで暗号化されたブートスクリプトは、公開鍵Ｙiを使用することによってのみ復号化することができる。
【００４０】
本実施形態において、秘密セキュリティ鍵Ｘiおよび公開鍵Ｙiは、特に、同時に生成され、暗号鍵ペアを形成する。公開鍵Ｙiと異なる鍵を使用した場合、ブートスクリプトを復号化することはできない。
【００４１】
例えば、システム製造業者は、特に、各鍵ペアが公開鍵Ｙ1〜ＹNのうちの１つを含むように、複数の暗号鍵ペアを生成することができる。システム製造業者は、第１セキュア記憶装置に生成された公開鍵Ｙ1〜ＹN全てを記憶させ、公開鍵のうちの１つと署名／暗号化し、少なくとも残りの秘密鍵全てを安全に維持する。
【００４２】
別の実施形態において、秘密セキュリティ鍵Ｘiは、公開鍵Ｙiと相互に作用するブートスクリプトの署名であるため、ブートスクリプトは、公開鍵Ｙiを使用することによってのみ検証されることができる。公開鍵Ｙiと異なる鍵を使用した場合、ブートスクリプトを復号化することはできない。
【００４３】
さらなる態様に基づくと、本発明は、上記および下記の方法を実行して、少なくとも１つのコンピュータで作動した時にコンピュータ化システムを初期化するためのプログラムコードを含むコンピュータプログラム製品に関する。プログラムコードは、コンピュータ化システムの初期化中にコンピュータ化システムのオペレーティングシステムをロードするブートローダーの一部であってもよい。
【００４４】
コンピュータプログラム手段等のコンピュータプログラム製品は、メモリカード、ＵＳＢ、ＣＤ−ＲＯＭ、ＤＶＤ、またはネットワークのサーバーからダウンロードしたファイルとして具体化されてもよい。例えば、このようなファイルは、無線通信ネットワークからコンピュータプログラム製品を含むファイルを転送することによって提供することができる。
【００４５】
コンピュータ化システムの初期化方法に関して説明した実施形態および特徴は、ここで説明したコンピュータ化システムに準用される。
【００４６】
コンピュータ化システムの初期化方法のさらに可能な実施または代替案は、実施形態に関する上記および下記の特徴の組み合わせ（ここでは明白に言及していない）も含む。本分野の技術者は、個々の、または単独の態様および特徴を本発明の最も基本的な形式に追加してもよい。
【００４７】
本発明のさらなる実施形態、特徴、および利点は、後続の説明、従属請求項、および添付の図面から明らかになるであろう。
【図面の簡単な説明】
【００４８】
【図１】１つの実施形態に係るコンピュータ化システムを示したものである。
【図２】１つの実施形態に係るコンピュータ化システムの初期化方法を示したものである。
【図３】１つの実施形態に係る一意の鍵ペアを判断する方法を示したものである。
【図４】１つの実施形態に係る現在の鍵インデックスとブート鍵インデックスを比較する方法を示したものである。
【発明を実施するための形態】
【００４９】
図面において、同様の参照番号は、明示されない限り、同様の、または機能的に同等の素子を指す。
【００５０】
本明細書を通して、「記憶装置」という表現は、実施形態に関して定義されない場合、例えば、鍵または鍵インデックスといったデータを記憶することのできる手段を指す。このような手段は、単一のハードウェア装置および／または複数の別々の装置の一部であり得るメモリセルまたはメモリセクションとして系統づけることができる。
【００５１】
図１は、１つの実施形態に係るコンピュータ化システム１を示したものである。コンピュータ化システム１は、内部バス８を介して互いに接続された第１セキュア記憶装置２、第２セキュア記憶装置３、ブートスクリプト記憶ユニット４、およびブートスクリプト実行ユニット６を含む。コンピュータ化システム１は、ここでは、標準的なパソコン（ＰＣ）である。
【００５２】
第１セキュア記憶装置２は、複数の公開鍵Ｙ1〜ＹNを安全に記憶したＴＰＭである。本実施例において、６つの公開鍵Ｙ1〜Ｙ6をＴＰＭ２に記憶する。ＴＰＭ２に記憶された公開鍵の数は、ＴＰＭ２の保存容量によって制限される。公開鍵Ｙ1〜Ｙ6は、ここでは、対応する秘密鍵（図示せず）と一緒にコンピュータ１の製造業者によって生成され、一意的に関連する暗号鍵ペアを形成する暗号公開鍵である。公開鍵Ｙ1〜Ｙ6は、同じ製造業者によってＴＰＭ２に記憶され、同時に、対応する秘密鍵は、製造業者によって安全に保持される。
【００５３】
図１において、各公開鍵Ｙ1〜Ｙ6は、長方形の鍵ペアの小部分として表示される。表示された公開鍵Ｙ1〜Ｙ6のそれぞれに対応する秘密鍵は、各公開鍵Ｙ1〜Ｙ6の形状と係合する形状を有し、長方形の鍵ペアを形成する。
【００５４】
各公開鍵Ｙ1〜Ｙ6に対し、対応付く公開鍵インデックスｋ1〜ｋN、ここでは、ｋ1〜ｋ6が存在する。鍵インデックスｋ1〜ｋ6は、各公開鍵Ｙ1〜Ｙ6を表示またはラベル付けする１〜６の整数であってもよい。本実施例において、鍵インデックスｋ1は、値１を得ており、第１公開鍵、つまり、Ｙ1を示す。同様に、鍵インデックスｋ2は、値２を得ており、第２公開鍵、つまり、Ｙ2を示し、残りの鍵インデックスｋ3〜ｋ6も同様である。
【００５５】
生成された秘密鍵の１つを秘密セキュリティ鍵Ｘiとして使用することにより、ブートスクリプト記憶ユニット４に記憶されたブートスクリプト５を暗号化する。コンピュータ１またはコンピュータ１のユーザーは、どの秘密鍵を使用してブートスクリプト５が暗号化されたのかを知らず、知ることもできない。
【００５６】
コンピュータ１は、さらに、現在の鍵インデックスｋを記憶した第２セキュア記憶装置３（ここでは、ＲＯＭ）を含む。現在の鍵インデックスｋは、ここでは、整数（具体的には、１〜６までの整数）である。本実施例において、現在の鍵インデックスｋは、３に等しいとみなす。
【００５７】
コンピュータ１、コンピュータ化システム１の初期化／ブート方法（具体的には、図２〜図４に示したコンピュータ化システム１の初期化方法）を実行するために実装されることができる。したがって、以下、コンピュータ１の初期化について、図２〜図４と併せて説明する。
【００５８】
ステップＳ０において、図１に示すように、記憶装置２〜４およびブートスクリプト５を含むコンピュータ化システム（コンピュータ）１を提供する。
【００５９】
ステップＳ１において、複数の公開鍵Ｙ1〜Ｙ6から１つの公開鍵を取り出すかまたは選択する。例えば、取り出された公開鍵はＴＰＭ２からコピーされ、ブートスクリプト記憶ユニット４に一時的に記憶される。どの鍵を取り出すかを決定する時、公開鍵Ｙ1〜Ｙ6を取り出す所定の順序または順番を考慮しなければならない。以下、公開鍵を取り出すステップＳ１について、図３の説明と併せてさらに詳しく説明する。
【００６０】
公開鍵、例えば、Ｙ3を取り出した場合、ステップＳ２において、一意の鍵ペアが形成されているかどうか、つまり、秘密鍵Ｘiと取り出した公開鍵Ｙ3が一意的に関連し、暗号鍵ペアを形成するかどうかを判断する。図で示すと、図１において、秘密鍵Ｘiと公開鍵Ｙ3を組み立てると長方形を形成できることに対応する。本実施例では、秘密鍵Ｘiと公開鍵Ｙ3は、互いに対応し、一意の鍵ペアを形成する。そのため、プロセスはステップＳ３に続く。
【００６１】
別の公開鍵、例えば、公開鍵Ｙ1を選択した場合、秘密鍵Ｘiとの一意の鍵ペアは形成されないため、プロセスは、ＴＰＭ２から異なる公開鍵が取り出されたステップＳ１に戻る。つまり、一意の鍵ペアを形成する公開鍵Ｙiを取得するまで、ＴＰＭ２から１つの公開鍵を取り出して、一意の鍵ペアを形成するかどうかを検証するプロセスを実行する。
【００６２】
そして、ステップＳ３において、一意の鍵ペアを形成する公開鍵Ｙiの鍵インデックスをブート鍵インデックスｋiとして取得する。上記の例において、ブート鍵インデックスは、ｋ3、つまり、３である。このブート鍵インデックスｋ3の値に関する情報は、ブートスクリプト記憶ユニット４に記憶することができる。
【００６３】
そして、ステップＳ４において、ブート鍵インデックスｋ3と現在の鍵インデックスｋを比較する。具体的には、ブート鍵インデックスｋ3が現在の鍵インデックスｋと等しいか、それよりも大きい、または小さいかどうかを検証する。ステップＳ５において、所定の関係を満たしているかどうかを検証する。ここで、満たすべき所定の関係（実行可能なブートスクリプト５の条件）とは、ブート鍵インデックスｋ3が現在の鍵インデックスｋよりも大きいか、それに等しいことである。
【００６４】
本実施例において、ブート鍵インデックスｋ3と現在の鍵インデックスｋは、互いに等しく、３の値を有する。そのため、所定の関係を満たしていると判断し、プロセスはステップＳ６に続く。あるいは、所定の関係を満たしていないと判断した場合、コンピュータの初期化方法を停止する。このことについては、以下、図４と併せて詳しく説明する。
【００６５】
ステップＳ６において、ブートスクリプト５は、ブートスクリプト実行ユニット６（ここでは、ＣＰＵ）によって実行される。具体的に説明すると、コンピュータ１のオペレーティングシステムがロードされるため、コンピュータ１が初期化され、使用できるようになる。
【００６６】
図３は、１つの実施形態に係る一意の鍵ペアを判断する方法を示したものである。具体的には、図３は、図２のステップＳ１およびＳ２を詳しく説明したものである。
【００６７】
一意の鍵ペアの決定は、ここでは、ＴＰＭ２から公開鍵Ｙ1〜Ｙ6を取り出す順番を示す所定の順序に基づいて行われる。所定の順序は、前もって、コンピュータ１（例えば、ＴＰＭ２またはＲＯＭ３）に記憶されている。所定の順序は、ここでは、鍵インデックスｋ1＝１の公開鍵Ｙ1を最初に取り出し、鍵インデックスｋ2＝２の公開鍵Ｙ2を次に取り出し、公開鍵Ｙ6までを同様に取り出すべきであることを示すリストである。
【００６８】
ステップＳ１において、第１公開鍵、つまり、公開鍵Ｙ1をＴＰＭ２から取り出す。ステップＳ２において、一意の鍵ペアを形成しているかどうかを検証する。このステップは、上記の図２で説明したステップＳ２と同じである。一意の鍵ペアを形成していると判断した場合、プロセスは上述したステップＳ３に続く。
【００６９】
あるいは、鍵ペアが形成されない場合、プロセスはステップＳ２０に続く。ここで、ＴＰＭ２から全ての公開鍵Ｙ1〜Ｙ6を取り出したかどうかを検証し、これらが一意の鍵ペアを形成するかどうかを検証する。一意の鍵ペアが形成されない場合、プロセスはステップＳ１０に続き、次の公開鍵、例えば、Ｙ2が所定の順序に基づいて選択され、ＴＰＭ２から取り出される。再度、ステップＳ２において、一意の鍵ペアを形成するかどうかを検証する。
【００７０】
ステップＳ２０、ステップＳ１０、およびステップＳ２は、一意の鍵ペアが形成されるまで、ＴＰＭ２に記憶された各公開鍵に対して実行される。取り出した鍵のいずれとも一意の鍵ペアが形成されない場合、ステップＳ２０において、ＴＰＭ２から全ての公開鍵Ｙ1〜Ｙ6を取り出せなかったものと判断される。そして、プロセスはステップＳ２１に続き、例えば、ＣＰＵ６から出された命令を介してコンピュータ１の初期化が中断される。
【００７１】
そして、ステップＳ２２において、コンピュータ１は、秘密鍵Ｘiと唯一の鍵ペアを形成する公開鍵がないことによりコンピュータ１の初期化が停止されたことを示す警告信号を発する。例えば、警告信号は、光や音声信号としてコンピュータ１のユーザーに発行される。このようにして、ユーザーは、エラーが警告され、コンピュータ１のセキュリティが保証される。
【００７２】
図４は、１つの実施形態に係る現在の鍵インデックスとブート鍵インデックスを比較する方法を示したものである。具体的には、図４は、所定の関係を満たしているかどうかを検証するステップＳ５を詳しく示したものである。このステップは、ＣＰＵ６によって実行される。図４の例において、満たすべき所定の関係とは、ブート鍵インデックスｋiが現在の鍵インデックスｋよりも大きいか、それに等しくなければならないことである。現在の鍵インデックスｋは、それ自身よりも上の全ての鍵インデックスをホワイトリストに載せるが、それ自身よりも下の全ての鍵インデックスをブラックリストに載せる。
【００７３】
まず、ステップＳ４０において、ＲＯＭ３から得られた現在の鍵インデックスｋとともに、一意の鍵ペアを形成する公開鍵Ｙiから得られたブート鍵インデックスｋiを提供する。
【００７４】
ステップＳ５０において、現在の鍵インデックスｋがブート鍵インデックスｋiと等しいかどうかを検証する。等しい場合、上述したステップＳ６のように、ＣＰＵ６によりブートスクリプト５を実行する。これは、コンピュータ１の通常の初期化に対応し、更新は行われない。
【００７５】
しかし、現在の鍵インデックスｋがブート鍵インデックスｋiと等しくない場合、プロセスはステップＳ５１に続き、ブート鍵インデックスｋiが現在の鍵インデックスｋよりも大きいかどうかを検証する。これは、コンピュータに対する攻撃を避けるため特定の鍵インデックスをブラックリストに載せる目的で、ハードウェア更新がコンピュータ製造業者によって実行される場合に対応する。
【００７６】
ブート鍵インデックスｋiが確かに現在の鍵インデックスｋよりも大きい場合、ステップＳ５２において、現在の鍵インデックスｋをブート鍵インデックスに変更／更新する。その時初めて、ステップＳ６においてブートスクリプト５が実行される。次の初期化プロセスの間、ブート鍵インデックスｋiは、変更／更新されたブートキーｋと所定の関係を満たし、ブートスクリプト５の実行を許可しなければならない。
【００７７】
ステップＳ５１のように、ブート鍵インデックスｋiが現在の鍵インデックスｋよりも大きくないと判断した場合（つまり、現在の鍵インデックスｋがブート鍵インデックスｋiよりも大きい時）、プロセスはステップＳ５３に続き、コンピュータ１の初期化が中断される。これは、例えば、古いスクリプトまたはハッキングされたスクリプトが使用された場合に発生する。コンピュータ１の初期化の中断は、コンピュータ１のセキュリティを向上させる。
【００７８】
また、ステップＳ５４において、コンピュータ１は、所定の関係を満たしていないことによりコンピュータ１の初期化が停止されたことを示す警告信号を発する。例えば、警告信号は、メッセージや、光または音声信号として、コンピュータ１のユーザーに発してもよく、あるいは中央サーバーに送信してもよい。そのようにして、コンピュータ１のセキュリティが保証される。
【００７９】
好ましい実施形態に基づいて本発明を説明したが、当業者にとって明らかであるように、全ての実施形態において変更が可能である。セキュアな記憶は、特定のハードウェアを使用しなければならないことを示すものではない。「セキュア記憶装置」とは、情報やデータを信頼して保持する装置として解釈すべきである。例えば、どの記憶ユニット／記憶媒体を第１セキュア記憶装置、ブートスクリプト記憶ユニット、および第２セキュア記憶装置として使用してもよい。また、理解すべきこととして、「第１および／または第２セキュア記憶装置」という表現は、記憶装置の特定の数を特定する意図はない。むしろ、公開鍵および／または現在の鍵インデックスは、任意の適切なメモリ機構に記憶することができる。公開鍵は、任意の数を使用してもよい。秘密鍵は、所望の数の第１セキュア記憶装置に保存してもよい。公開鍵および秘密鍵は、署名および暗号／復号鍵だけでなく、任意の種類を使用してもよい。また、所定の順序および所定の関係は、任意の方法で変更することができる。
【符号の説明】
【００８０】
１  コンピュータ化システム
２  第１セキュア記憶装置
３  セキュア記憶装置
４  ブートスクリプト記憶ユニット
５  ブートスクリプト
６  ブートスクリプト実行ユニット
８  内部バス
ｋ  現在の鍵インデックス
ｋi  ブート鍵インデックス
ｋ 公開鍵インデックス
Ｘi  秘密セキュリティ鍵
Ｙi  選択した公開鍵
Ｙ1〜ＹN  公開鍵
【図１】
2018173936.tif 000003
【図２】
2018173936.tif 000004
【図３】
2018173936.tif 000005
【図４】
2018173936.tif 000006