【手続補正書】
【提出日】平成19年1月17日(2007.1.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  オペレーションのためにブートアップさせなければならない電子装置において、
（ａ）複数の機械命令がストアされた不揮発性メモリであって、主要部分を含み、内容とサイズとロケーションとに関して定義されたプリローダ部分を含む不揮発性メモリと、
（ｂ）前記不揮発性メモリに結合されたプロセッサであって前記機械命令を実行するプロセッサと、
（ｃ）ハッシングアルゴリズムを規定し前記電子装置のブートアップ中に前記プロセッサによって最初に実行される機械命令と予想ハッシュ値とを指定するブートストラップコードファームウェア要素であって、前記プロセッサに、
（ｉ）前記不揮発性メモリの前記プリローダ部分をハッシュしてプリローダハッシュ値を決定させ、
（ｉｉ）前記プリローダハッシュ値を前記予想ハッシュ値と比較させ、
（ｉｉｉ）前記プリローダハッシュ値が前記予想ハッシュ値と等しくない場合に、前記電子装置のブートアップを終了させる、
ブートストラップコードファームウエア要素と、
（ｄ）前記不揮発性メモリの前記プリローダ部分に含まれる複数の２次的機械命令であって、前記プロセッサによって実行された時、該プロセッサをして、
（ｉ）前記不揮発性メモリをハッシュしてメモリハッシュ値を生成させ、
（ｉｉ）前記メモリハッシュ値を、前記プリローダ部分に含まれる予想メモリハッシュ値と比較させ、
（ｉｉｉ）前記メモリハッシュ値が前記予想メモリハッシュ値と等しくない場合に、前記電子装置のブートアップを終了させ、前記予想メモリハッシュ値は、前記不揮発性メモリ内にデジタル署名として含まれるが、前記不揮発性メモリがハッシュされるとき除外されることを特徴とする２次的機械命令と、
を備えたことを特徴とする電子装置。
【請求項２】  請求項１記載の装置において、前記不揮発性メモリの前記プリローダ部分中の前記機械命令は、さらに、前記プロセッサに、前記予想メモリハッシュ値を決定するために、前記デジタル署名をベリファイさせることを特徴とする電子装置。
【請求項３】  請求項１記載の装置において、前記不揮発性メモリの前記プリローダ部分中の前記機械命令は、さらに、前記プロセッサに、前記プリローダ部分に含まれる公開鍵を適用して前記デジタル署名をベリファイさせることを特徴とする電子装置。
【請求項４】  オペレーションのためにブートアップさせなければならない電子装置において、
（ａ）複数の機械命令がストアされた不揮発性メモリであって、主要部分を含み、内容とサイズとロケーションとに関して定義されたプリローダ部分を含む不揮発性メモリと、
（ｂ）前記不揮発性メモリに結合されたプロセッサであって前記機械命令を実行するプロセッサと、
（ｃ）前記不揮発性メモリと異なる回路要素内にストアされ、データ記憶及びブートアップ保護以外の少なくとも１つの機能を実行するように構成されているファームウエアから成り、ハッシングアルゴリズムを規定し前記電子装置のブートアップ中に前記プロセッサによって最初に実行される機械命令と予想ハッシュ値とを指定するブートストラップコードであって、前記プロセッサに、
（ｉ）前記不揮発性メモリの前記プリローダ部分をハッシュしてプリローダハッシュ値を決定させ、
（ｉｉ）前記予想ハッシュ値を前記プリローダハッシュ値と比較させ、
（ｉｉｉ）前記プリローダハッシュ値が前記予想ハッシュ値と等しくない場合に、前記電子装置のブートアップを終了させる、
ブートストラップコードファームウエア要素と、
を備え、
（ｄ）前記不揮発性メモリの前記プリローダ部分は、前記プロセッサに、
（ｉ）前記不揮発性メモリをハッシュしてメモリハッシュ値を生成させ、
（ｉｉ）前記メモリハッシュ値を、前記プリローダ部分に含まれ、かつ前記不揮発性メモリ内のデジタル署名を含み、前記不揮発性メモリがハッシュされるとき除外される予想メモリハッシュ値と比較させ、
（ｉｉｉ）前記メモリハッシュ値が前記予想メモリハッシュ値と等しくない場合に、前記電子装置のブートアップを終了させる、
機械命令を含むことを特徴とする電子装置。
【請求項５】  請求項４記載の装置において、前記不揮発性メモリの前記プリローダ部分中の前記機械命令は、さらに、前記プロセッサに、前記デジタル署名をベリファイさせることを特徴とする電子装置。
【請求項６】  請求項４記載の装置において、前記不揮発性メモリの前記プリローダ部分中の前記機械命令は、さらに、前記プロセッサに、前記プリローダ部分に含まれる公開鍵を適用して前記デジタル署名をベリファイさせることを特徴とする電子装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
例えば電子ゲーム産業においては、電子ゲームをプレイするために販売されたゲームコンソールの商業的価値は、多くは、ゲームコンソールでラン（run）されるゲームソフトウェアのライセンスからの収益である。そこで、ブートアッププロセスにおいてロードされる機械命令には、ライセンスのないソフトウェアコピーがゲームコンソール上でランされないようにする機能と、電子ゲームをプレイするためのゲームコンソールの使用に関係する製造業者のポリシーを順守させる機能とがインプリメントされている。ユーザの中には、ライセンスのないソフトウェアコピーのランに対する規制や、ゲームコンソールに関するこのようなポリシーを順守させる規制を、ゲームコンソールに対する挑戦的な規制であり歓迎できない規制であるとみる者もいる。このようなユーザは、ゲームコンソール回路やソフトウェアを「ハック（hack）」してこのような規制を打破しようとしている。例えば、これらの規制を回避するための１つの方法としては、ゲームコンソールでランされるブートアッププロセスに、幾つかの変更を加えた改変ソフトウェアカーネルをロードさせる方法がある。変更が加えられたため、ゲームコンソール製造業者による規制が取り除かれるので、結果として、当該製造業者がゲームコンソールの使用をコントロールできなくなるおそれがあり、仮にライセンスのないソフトウェアゲームコピーがゲームコンソール上でランできるようになった場合は収益が減じるおそれがある。そこで、普通は、ゲームコンソール製造業者が、ハッカーがブートアッププロセス中に改変ソフトウェアカーネルを使用できないように、努力している。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
【課題を解決するための手段】
本発明は、プロセッサを備えた装置であって、当該電子装置の機能を実行させるために、起動時またはリセット時にブートアップしなければならない装置であればどの装置にも適用可能である。このような装置においては、当該電子装置のオペレーション中に利用されるプロプラエタリ（proprietary）情報を保護すること、及びオーソライズされていないコードがブートアッププロセス中に実行されて、当該電子装置のオペレーションおよびアプリケーション（application）に関係するポリシーが覆されることを防止することが重要であることが多い。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
最初に、コードの定義された部分がオーソライズされていることを保証するためのプロシージャを実行する。このプロシージャにおいては、定義された部分をハッシュして、第１のハッシュ値を生成する。ついで、この第１のハッシュ値を、コードがストアされているメモリとは別の電子装置回路コンポーネントに保持されている保持ハッシュ値と比較し、コードの定義された部分がオーソライズされていることをベリファイする。この第１のハッシュ値が保持ハッシュ値と等しい場合は、コードの定義された部分の実行を可能にし、そうでない場合は、電子装置のブートアップを終了する。コードの定義された部分が実行可能になった場合、実質的に全てのコードをハッシュして、第２のハッシュ値を決定する。コードの定義された部分とは異なるコード部分には、デジタル署名が含まれている。ついで、第２のハッシュ値によりデジタル署名がベリファイされ、署名の妥当性が保証される。デジタル署名が真正であるとベリファイされた場合は、コードの実行を可能にし、そうでない場合は、電子装置のブートアップを終了する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
第１の値を保持ハッシュ値と比較するためには、回路コンポーネントの不揮発性記憶領域で保持される初期コードを実行する。この初期コードは、保持ハッシュ値を含み、グラフィックプロセッサ中で保持されるが、他のタイプの補助プロセッサ、例えば、オーディオプロセッサ、入力プロセッサ、出力プロセッサ、通信プロセッサ、またはデジタル信号プロセッサ中で保持ハッシュ値が保持されるようになっていてもよい。実際、初期コードおよび予想ハッシュ値は、初期コードを実行するプロセッサ中で保持することがより一層好ましい。初期コードを実行して、定義された部分をハッシュし、第１のハッシュ値と保持ハッシュ値とを比較する。本発明の好ましい形態においては、初期コードは、ファームウェア中で予め定めたバイト数として永続的に定義される。加えて、コードの定義された部分は、コード内の定義されたロケーションに配置された予め定めたバイト数を含むことが好ましい。これは明らかであるが、保持ハッシュ値が変更されない限り、コードの定義された部分のサイズおよび内容を修正することはできない。というのは、修正された場合には、保持ハッシュ値は第１のハッシュ値と等しくなくなるからである。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
本発明の前述の態様およびそれに付随する利点の多くは、以下の詳細な説明と添付の図面を参照することによってよりよく理解され、より認識しやすくなるであろう。