【手続補正書】
【提出日】平成19年7月26日(2007.7.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のセキュリティレベルで実行される第１セキュアプログラムと、前記第１のセキュリティレベルより低い第２のセキュリティレベルで実行される第２セキュアプログラムとを実行するプログラム実行装置であって、
前記第１のセキュリティレベルにおける動作状態を示す第１モードと、前記第２のセキュリティレベルにおける動作状態を示す第２モードとを切替えて動作する処理手段と、
前記第１セキュアプログラムを実行する場合に、外部装置から前記処理手段を切り離す外部接続無効化手段と、
前記第２セキュアプログラムを保護する保護手段と
を備えることを特徴とするプログラム実行装置。
【請求項２】
前記第１セキュアプログラムは、前記第２セキュアプログラムで用いられる秘密情報を保持しており、
前記処理手段は、前記第１セキュアプログラムに従い動作することにより、
前記第２セキュアプログラムとの間で相互認証を行い、セッション鍵を共有し、
前記セッション鍵を用いて、前記秘密情報を暗号化し、
暗号化した前記秘密情報を前記第２セキュアプログラムへ送る
ことを特徴とする請求項１に記載のプログラム実行装置。
【請求項３】
前記第１セキュアプログラムが保持する前記秘密情報は、
外部記録媒体のセキュアな領域から取得した鍵情報である
ことを特徴とする請求項２に記載のプログラム実行装置。
【請求項４】
前記処理手段は、前記第１セキュアプログラムに従い動作することにより、
前記第２プログラムの少なくとも一部を対象として、秘密鍵を用いてハッシュ演算を行い、第１改竄検出値を取得し、
前記第２セキュアプログラムが生成されたときに前記第２セキュアプログラムの少なくとも一部に基づいて算出された第２改竄検出値と、前記第１改竄検出値とを比較し、
前記比較の結果、一致しない場合は動作を終了し、一致する場合は動作を継続する
ことを特徴とする請求項２に記載のプログラム実行装置。
【請求項５】
前記第２セキュアプログラムは、前記第１セキュアプログラムを呼び出す呼出命令を含み
前記処理手段は、前記呼出命令を実行することにより、
前記第２改竄検出値、当該第２プログラムの先頭アドレス、及び当該第２プログラムのサイズを、前記第１セキュアプログラムに送る
ことを特徴とする請求項４に記載のプログラム実行装置。
【請求項６】
前記保護手段は、
前記処理手段により前記呼出命令が実行される前に、前記処理手段が割込みの処理を行うことを禁止し、
前記処理手段は、
前記第２セキュアプログラムに含まれる前記呼出命令を実行することにより、暗号化されたプログラム鍵を前記第１セキュアプログラムへ送り、
前記第１セキュアプログラムを実行することにより、前記第２セキュアプログラムの改竄が検出されない場合には、前記第２セキュアプログラムから受け取った前記暗号化されたプログラム鍵を、当該第１セキュアプログラムに含まれるマスター鍵で復号し、復号したプログラム鍵を、前記第２セキュアプログラムへ送り、
前記第２セキュアプログラムを実行することにより、前記第１セキュアプログラムから取得したプログラム鍵を用いて、当該第２セキュアプログラムの暗号化部分を復号し、前記プログラム鍵を消去したのち、前記処理手段が割込み処理を行うことを許可する
ことを特徴とする請求項５に記載のプログラム実行装置。
【請求項７】
前記プログラム実行装置は、更に、
割込みの発生を検出する割込検出手段を備え、
前記保護手段は、
前記処理手段が前記第２セキュアプログラムに従い動作しているときにデータを書き込む記憶領域を備え、
前記処理手段が前記第２セキュアプログラムに従い動作しているときに前記割込検出手段が割込みを検出すると前記記憶領域に書き込んだデータを暗号化し、前記処理手段による割り込み処理が終了すると、前記処理手段が、前記第２セキュアプログラムの実行に戻る前に、暗号化した前記データを復号する
ことを特徴とする請求項６に記載のプログラム実行装置。
【請求項８】
保護対象プログラムに改竄検出値を埋め込む認証局装置であって、
前記保護対象プログラムを暗号化し、前記保護対象プログラムを含む処理プログラムの少なくとも一部に基づいて、秘密鍵を用いてハッシュ演算を行い、改竄検出値を生成する改竄検出値生成手段と、
前記処理プログラムに、生成した前記改竄検出値を埋め込む埋込手段と
を備えることを特徴とする認証局装置。
【請求項９】
前記埋込手段は、更に、
前記保護対象プログラムの、前記プログラム実行装置内における先頭アドレスと前記保護対象プログラムのサイズとを、前記処理プログラムに埋め込む
ことを特徴とする請求項８に記載の認証局装置。
【請求項１０】
前記認証局装置は、更に、
前記保護対象プログラムの一部を暗号化した暗号化プログラムの復号に用いられるプログラム復号鍵を、前記保護対象プログラムの実行を許可されたプログラム実行装置が保持するマスター鍵に基づいて暗号化し、暗号鍵を生成する鍵暗号化手段を備え、
前記埋込手段は、更に、前記暗号鍵を前記処理プログラムに埋め込む
ことを特徴とする請求項９に記載の認証局装置。
【請求項１１】
前記第１セキュアプログラムは、前記第２セキュアプログラムの実行に必要な情報である実行用情報を前記第２セキュアプログラムへ送る
ことを特徴とする請求項１に記載のプログラム実行装置。
【請求項１２】
前記第２セキュアプログラムの少なくとも一部は暗号化されており、前記第１セキュアプログラムが保持する前記実行用情報は、前記第２セキュアプログラムの暗号部分の復号に用いられるプログラム鍵であり、
前記処理手段は、
前記第１セキュアプログラムを実行することにより、前記プログラム鍵を前記第２セキュアプログラムへ送り、
前記第２セキュアプログラムを実行することにより、前記第１セキュアプログラムから取得したプログラム鍵を用いて、当該第２セキュアプログラムの暗号化部分を復号して実行する
ことを特徴とする請求項１１に記載のプログラム実行装置。
【請求項１３】
プログラム実行装置で用いられるセキュアプログラムであって、
前記セキュアプログラムは、第１のセキュリティレベルで実行される第１セキュアプログラムと、前記第１のセキュリティレベルより低い第２のセキュリティレベルで実行される第２セキュアプログラムとを含み、
前記第１セキュアプログラムは、
前記第２のセキュアプログラムの呼出しに応じて、前記第２セキュアプログラムの改竄があるか否かを検出する改竄検出ステップと、
前記プログラム実行装置のプロセッサを、外部装置から切り離す外部接続無効化ステップと、
前記第２セキュアプログラムと相互の正当性を認証することにより、共通の鍵を共有する鍵共有ステップと、
前記共有の鍵を用いて、前記第２セキュアプログラムと秘密情報を交換し合う情報交換ステップとを含み、
前記第２セキュアプログラムは、
当該第２セキュアプログラムに含まれる保護対象プログラムの実行前に、前記第１セキュアプログラムを呼び出す呼出ステップと、
前記第１セキュアプログラムと相互の正当性を認証することにより、前記共通の鍵を共有する鍵共有ステップと、
前記共通の鍵を用いて、前記第１セキュアプログラムと秘密情報を交換し合う情報交換ステップとを含む
ことを特徴とするセキュアプログラム。
【請求項１４】
前記第２セキュアプログラムに含まれる前記保護対象プログラムは、暗号化されており、
前記第２セキュアプログラムは、更に、
割込みの処理を禁止する割込禁止ステップと、
割込みの処理が禁止された後に、暗号化された前記保護対象プログラムの復号に用いるプログラム復号鍵を取得する取得ステップと、
前記プログラム復号鍵を用いて、前記保護対象プログラムを復号する復号ステップと
を含むことを特徴とする請求項１３に記載のセキュアプログラム。
【請求項１５】
プログラム実行装置で用いられるセキュアプログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
前記セキュアプログラムは、第１のセキュリティレベルで実行される第１セキュアプログラムと、前記第１のセキュリティレベルより低い第２のセキュリティレベルで実行される第２セキュアプログラムとを含み、
前記第１セキュアプログラムは、
前記第２のセキュアプログラムの呼出しに応じて、前記第２セキュアプログラムの改竄があるか否かを検出する改竄検出ステップと、
前記プログラム実行装置のプロセッサを、外部装置から切り離す外部接続無効化ステップと、
前記第２セキュアプログラムと相互の正当性を認証することにより、共通の鍵を共有する鍵共有ステップと、
前記共有の鍵を用いて、前記第２セキュアプログラムと秘密情報を交換し合う情報交換ステップとを含み、
前記第２セキュアプログラムは、
当該第２セキュアプログラムに含まれる保護対象プログラムの実行前に、前記第１セキュアプログラムを呼び出す呼出ステップと、
前記第１セキュアプログラムと相互の正当性を認証することにより、前記共通の鍵を共有する鍵共有ステップと、
前記共通の鍵を用いて、前記第１セキュアプログラムと秘密情報を交換し合う情報交換ステップとを含む
ことを特徴とする記録媒体。
【請求項１６】
第１のセキュリティレベルで実行される第１セキュアプログラムと、前記第１のセキュリティレベルより低い第２のセキュリティレベルで実行される第２セキュアプログラムとを実行するプログラム実行装置で用いられるプログラム実行方法であって、
前記第１のセキュリティレベルにおける動作状態を示す第１モードと、前記第２のセキュリティレベルにおける動作状態を示す第２モードとを切替えて動作する処理ステップと、
前記第１セキュアプログラムを実行する場合に、外部装置から前記処理手段を切り離す外部接続無効化ステップと、
前記第２セキュアプログラムを保護する保護ステップと
を備えることを特徴とするプログラム実行方法。