【手続補正書】
【提出日】平成19年7月25日(2007.7.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ・プログラムをシールする方法であって、
前記コンピュータ・プログラムを複数のページに分割する工程と、
前記ページのそれぞれについてハッシュ値を計算する工程と、
前記ページの前記ハッシュ値に基づいてハッシュアレイを生成する工程と、
前記ハッシュアレイのデジタル署名を生成する工程と、
前記コンピュータ・プログラムを前記ハッシュアレイ及び前記デジタル署名とともにグループ化する工程と、
を備えることを特徴とする方法。
【請求項２】
前記ハッシュ値を計算する工程においては、ＳＨＡハッシュ値が計算される
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記コンピュータ・プログラム、前記ハッシュアレイ、及び、前記デジタル署名を配布する工程
を更に備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記ハッシュアレイのデジタル署名を生成する前記工程は、
前記ハッシュアレイについてアレイハッシュ値を計算する工程と、
前記アレイハッシュ値にデジタル的に署名する工程と、
を備えることを特徴とする請求項２に記載の方法。
【請求項５】
前記アレイハッシュ値にデジタル的に署名する前記工程では、秘密鍵及び公開鍵暗号化鍵関数を用いて前記デジタル署名が生成される
ことを特徴とする請求項４に記載の方法。
【請求項６】
前記コンピュータ・プログラムを前記ハッシュアレイ及び前記デジタル署名とともにグループ化する前記工程では、
前記コンピュータ・プログラム、前記ハッシュアレイ、前記デジタル署名が一緒に格納される
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記コンピュータ・プログラムにはオペレーティング・システムが含まれる
ことを特徴とする請求項１に記載の方法。
【請求項８】
コンピュータ・プログラムを認証する方法であって、
前記コンピュータ・プログラムに付与されたハッシュアレイが適正であるか否かを、該コンピュータ・プログラムに付与された該ハッシュアレイのデジタル署名を用いて検証する工程と、
前記コンピュータ・プログラムの前記複数のページから１つのページをロードする工程と、
コンピュータ・プログラムの全体をロードする前に、前記ロードされたページのハッシュ値を計算する工程と、
前記ロードされたページについて計算された前記ハッシュ値と、前記ハッシュアレイからロードされた前記ページの対応するハッシュ値と、を比較する工程と、
前記ロードされたページについて計算された前記ハッシュ値と、前記対応するハッシュ値とが適合しない場合、エラーを生成する工程と、
を備えることを特徴とする方法。
【請求項９】
前記ハッシュアレイが適正であるか否かを検証する前記工程では、
前記コンピュータ・プログラムに付与されたハッシュ値のアレイについてアレイハッシュ値が計算され、
前記アレイハッシュ値と、前記ハッシュアレイの前記デジタル署名とが、公開鍵を用いて比較される
ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記コンピュータ・プログラムに付与された前記ハッシュアレイが適正であるか否かを、該ハッシュアレイの前記デジタル署名を用いて検証する前記工程では、
前記デジタル署名が、公開鍵及び公開鍵暗号化鍵関数を用いて検証される
ことを特徴とする請求項８に記載の方法。
【請求項１１】
前記ロードする工程、前記計算する工程、前記比較する工程、及び、実行に必要な前記コンピュータ・プログラムの複数のページから追加的なページとして生成する工程を繰り返す工程
を更に備えることを特徴とする請求項８に記載の方法。
【請求項１２】
前記ハッシュ値を計算する前記工程では、ＳＨＡハッシュ値が計算される
ことを特徴とする請求項８に記載の方法。
【請求項１３】
前記ロードされたページについて計算された前記ハッシュ値と、前記対応するハッシュ値とが適合しない場合、エラーを生成する前記工程では、
ページの欠陥が示される
ことを特徴とする請求項８に記載の方法。
【請求項１４】
前記ロードされたページについて計算された前記ハッシュ値と、前記対応するハッシュ値とが適合しない場合、エラーを生成する前記工程では、
ページの読み込みエラーが示される
ことを特徴とする請求項８に記載の方法。
【請求項１５】
前記ロードされたページについて計算された前記ハッシュ値と、前記対応するハッシュ値とが適合しない場合、エラーを生成する前記工程では、
検証エラーが示される
ことを特徴とする請求項８に記載の方法。
【請求項１６】
前記コンピュータ・プログラムにはオペレーティング・システムが含まれる
ことを特徴とする請求項８に記載の方法。
【請求項１７】
前記ハッシュアレイをスワップアウトする工程と、
前記ハッシュアレイをスワップインした後に、該ハッシュアレイについて再び適正であるか否かを検証する工程と、
を更に備えることを特徴とする請求項８に記載の方法。
【請求項１８】
１以上のプロセッサで実行可能な命令の集合を格納したコンピュータ可読媒体であって、
該命令の集合は、
コンピュータ・プログラムに付与されたハッシュアレイが適正であるか否かを、該コンピュータ・プログラムに付与された該ハッシュアレイのデジタル署名を用いて検証し、
前記コンピュータ・プログラムの前記複数のページから１つのページをロードし、
コンピュータ・プログラムの全体をロードする前に、前記ロードされたページについてハッシュ値を計算し、
前記ロードされたページについて計算された前記ハッシュ値と、前記ロードされたページに対応する、前記ハッシュアレイに含まれるハッシュ値と、を比較し、
前記ロードされたページについて計算された前記ハッシュ値と、前記対応するハッシュ値とが適合しない場合、エラーを生成する、
コンピュータ可読媒体。
【請求項１９】
前記ハッシュ値のアレイが適正であるか否かを検証する前記工程では、
前記コンピュータ・プログラムに付与されたハッシュ値のアレイについてアレイハッシュ値が計算され、
前記アレイハッシュ値と、前記ハッシュアレイの前記デジタル署名とが、公開鍵を用いて比較される
ことを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
前記コンピュータ・プログラムに付与された前記ハッシュアレイが適正であるか否かを、該ハッシュアレイの前記デジタル署名を用いて検証する前記工程では、
前記デジタル署名が、公開鍵及び公開鍵暗号化鍵関数を用いて検証される
ことを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２１】
１以上のプロセッサで実行可能なコンピュータ・プログラムを格納したコンピュータ可読媒体であって、
前記コンピュータ・プログラムは、
ａ．特定のコンピュータ・プログラムの１以上のユニットをロードし、
ｂ．前記特定のコンピュータ・プログラムの全てのユニットをロードする前に、前記特定のコンピュータ・プログラムの１以上のユニットをインクリメンタルに認証する
ための命令の集合を備える、コンピュータ可読媒体。
【請求項２２】
前記ユニットをインクリメンタルに認証するための命令の集合は、複数のハッシュ値を用いるための命令の集合を備え、
１以上のハッシュ値は、前記特定のコンピュータ・プログラムのユニットに対応する、
請求項２１に記載のコンピュータ可読媒体。
【請求項２３】
前記複数のハッシュ値はハッシュアレイに格納される、請求項２２に記載のコンピュータ可読媒体。
【請求項２４】
前記コンピュータ・プログラムは、前記ハッシュアレイについてのデジタル署名を生成するための命令の集合を更に備える、請求項２３に記載のコンピュータ可読媒体。
【請求項２５】
前記ユニットをインクリメンタルに認証するための命令の前記集合は、
ａ．特定のユニットのハッシュ値を計算し、
ｂ．前記計算されたハッシュ値が、前記特定のユニットに対応するハッシュ値に適合するか否かを判定する
ための命令の集合を備える、請求項２１に記載のコンピュータ可読媒体。
【請求項２６】
インクリメンタルに認証するための命令の前記集合は、
ａ．１以上の異なるユニットを繰り返し認証し、
ｂ．第１の特定のユニットが真正でないと判定された場合、前記繰り返しの認証を停止する
ための命令の集合を更に備える、請求項２５に記載のコンピュータ可読媒体。
【請求項２７】
前記コンピュータ・プログラムは、１以上のユニットが認証された後、前記特定のコンピュータ・プログラムの少なくとも一部を実行するための命令の集合を更に備える、請求項２５に記載のコンピュータ可読媒体。
【請求項２８】
前記特定のユニットがメモリシステムにロードされる、請求項２５に記載のコンピュータ可読媒体。
【請求項２９】
前記コンピュータ・プログラムによる実行に必要なユニットの特定の集合のみが認証される、請求項２５に記載のコンピュータ可読媒体。
【請求項３０】
前記コンピュータ・プログラムは、１以上のユニットが真正でないと判定された場合にエラーを生成するための命令の集合を更に備える、請求項２１に記載のコンピュータ可読媒体。
【請求項３１】
１以上の特定のユニットのサイズは、メモリ・システムのメモリのサイズに基づく、請求項２１に記載のコンピュータ可読媒体。
【請求項３２】
前記コンピュータ・プログラムは、前記ユニットをロードする前に、（i）ハッシュ値の第２の集合について計算されるハッシュ値の第１の集合を認証する命令の集合を更に備え、
（ii）ハッシュ値の前記第２の集合は複数の第２のハッシュ値を有し、
（iii）前記複数の第２のハッシュ値中の少なくとも１つの第２のハッシュ値は、前記特定のコンピュータ・プログラムの特定のユニットに対応する、請求項２１に記載のコンピュータ可読媒体。
【請求項３３】
前記特定のコンピュータ・プログラムの前記特定のユニットを認証する命令の前記集合は、該特定のコンピュータ・プログラムのロードされたユニットを認証する命令の集合を備える、請求項３２に記載のコンピュータ可読媒体。
【請求項３４】
前記ロードされたユニットを認証する命令の前記集合は、
ａ．前記特定のコンピュータ・プログラムの前記ロードされたユニットについて特定のハッシュ値を計算し、
ｂ．前記ロードされたユニットについて計算された前記特定のハッシュ値が、前記特定のコンピュータ・プログラムの前記ロードされたユニットに対応する前記複数の第２のハッシュ値からの、特定の第２のハッシュ値と適合するか否かを判定する
命令の集合を備える、請求項３３に記載のコンピュータ可読媒体。
【請求項３５】
前記ロードされたユニットの前記特定のハッシュ値を計算する命令の前記集合はメモリページング・システムにおいて実行される、請求項３４に記載のコンピュータ可読媒体。
【請求項３６】
前記コンピュータ・プログラムは、保護されたメモリ・システムにおいて前記複数の第２のハッシュ値をロードする命令の集合を更に備える、請求項３２に記載のコンピュータ可読媒体。
【請求項３７】
前記複数の第２のハッシュ値を認証する命令の前記集合は、前記複数の第２のハッシュ値のためのデジタル署名を使用する命令の集合を備える、請求項３２に記載のコンピュータ可読媒体。
【請求項３８】
前記デジタル署名は、前記複数の第２のハッシュ値の暗号化されたハッシュ値である、請求項３７に記載のコンピュータ可読媒体。
【請求項３９】
前記デジタル署名を使用することには、前記複数の第２のハッシュ値の前記暗号化されたハッシュ値を復号することが含まれる、請求項３８に記載のコンピュータ可読媒体。
【請求項４０】
１以上のプロセッサにより実行可能なコンピュータ・プログラムを格納したコンピュータ可読媒体であって、
前記コンピュータ・プログラムは、
ａ．特定のコンピュータ・プログラムの複数のユニットをインクリメンタルに認証し、
ｂ．前記特定のコンピュータ・プログラムの少なくとも一つ前のユニットが真正であると判定した後、前記特定のコンピュータ・プログラムの後のユニットを認証する前に、該前のユニットを実行する
命令の集合を備える、コンピュータ可読媒体。
【請求項４１】
前記特定のコンピュータ・プログラムをインクリメンタルに認証する命令の前記集合は、
ａ．前記特定のコンピュータ・プログラムの特定のユニットのハッシュ値を計算し、
ｂ．前記計算されたハッシュ値が、前記特定のユニットに対応するハッシュ値に適合するか否かを判定する
命令の集合を備える、請求項４０に記載のコンピュータ可読媒体。
【請求項４２】
前記コンピュータ・プログラムは、
前記特定のコンピュータ・プログラムをインクリメンタルに認証する前に、前記特定のコンピュータ・プログラムに対応する複数の第１のハッシュ値を認証する命令の集合を更に備える、請求項４０に記載のコンピュータ可読媒体。
【請求項４３】
前記複数の第１のハッシュ値は、前記特定のコンピュータ・プログラムとともに格納される、請求項４２に記載のコンピュータ可読媒体。
【請求項４４】
ａ．特定のコンピュータ・プログラムの１以上のユニットをロードする工程と、
ｂ．前記特定のコンピュータ・プログラムの全てのユニットをロードする前に、前記特定のコンピュータ・プログラムの１以上のユニットをインクリメンタルに認証する工程と、
を備える方法。
【請求項４５】
前記ユニットをインクリメンタルに認証する工程は複数のハッシュ値を用いる工程を備え、
１以上のハッシュ値は、前記特定のコンピュータ・プログラムのユニットに対応する、
請求項４４に記載の方法。
【請求項４６】
前記複数のハッシュ値はハッシュアレイに格納される、請求項４５に記載の方法。
【請求項４７】
前記ハッシュアレイについてのデジタル署名を生成する工程を更に備える、請求項４６に記載の方法。
【請求項４８】
前記ユニットをインクリメンタルに認証する工程は、
ａ．特定のユニットのハッシュ値を計算する工程と、
ｂ．前記計算されたハッシュ値が、前記特定のユニットに対応するハッシュ値に適合するか否かを判定する工程と、
を備える、請求項４４に記載の方法。
【請求項４９】
インクリメンタルに認証する工程は、
ａ．１以上の異なるユニットを繰り返し認証する工程と、
ｂ．第１の特定のユニットが真正でないと判定された場合、前記繰り返しの認証を停止する工程と、
を更に備える、請求項４８に記載の方法。
【請求項５０】
前記特定のコンピュータ・プログラムによる実行に必要なユニットの特定の集合のみが認証される、請求項４８に記載の方法。
【請求項５１】
１以上の特定のユニットのサイズは、メモリ・システムのメモリのサイズに基づく、請求項４４に記載の方法。
【請求項５２】
前記ユニットをロードする前に、ハッシュ値の第２の集合について計算されるハッシュ値の第１の集合を認証する工程を更に備え、
ハッシュ値の前記第２の集合は複数の第２のハッシュ値を有し、
前記複数の第２のハッシュ値中の少なくとも１つの第２のハッシュ値は、前記特定のコンピュータ・プログラムの特定のユニットに対応する、請求項４４に記載の方法。
【請求項５３】
ａ．特定のコンピュータ・プログラムの複数のユニットをインクリメンタルに認証する工程と、
ｂ．前記特定のコンピュータ・プログラムの少なくとも一つ前のユニットが真正であると判定した後、前記特定のコンピュータ・プログラムの後のユニットを認証する前に、該前のユニットを実行する工程と、
を備える方法。
【請求項５４】
インクリメンタルに認証する前記工程は、
ａ．前記特定のコンピュータ・プログラムの特定のユニットのハッシュ値を計算する工程と、
ｂ．前記計算されたハッシュ値が、前記特定のユニットに対応するハッシュ値に適合するか否かを判定する工程と、
を備える、請求項５３に記載の方法。
【請求項５５】
前記特定のコンピュータ・プログラムをインクリメンタルに認証する前に、前記特定のコンピュータ・プログラムに対応する複数の第１のハッシュ値を認証する工程を更に備える、請求項５３に記載のコンピュータ可読媒体。
【請求項５６】
ａ．複数のユニットについて複数のハッシュ値を計算する工程と、
ｂ．コンピュータ・プログラムとともに前記複数のハッシュ値を格納する工程と、
ｃ．前記コンピュータ・プログラムと前記複数のハッシュ値とを単一のコンピュータ・プログラムとして配布する工程と、
を備える方法。
【請求項５７】
前記特定のユニットの少なくとも一つのサイズは、メモリ・システムにおけるメモリのサイズに基づく、請求項５６に記載の方法。
【請求項５８】
ａ．コンピュータ・プログラムを認証するために、該コンピュータプログラムを複数のユニットに分割する工程と、
ｂ．前記複数のユニットについての複数のハッシュ値を計算する工程と、
を備える方法。
【請求項５９】
前記コンピュータ・プログラムと前記複数のハッシュ値とを配布する工程を更に備える、請求項５８に記載の方法。
【請求項６０】
前記ユニットの少なくとも一つのサイズは、メモリ・システムにおけるメモリのサイズに基づく、請求項５８に記載の方法。