(57)【要約】【課題】製造工程などにおいてもファームウェアを保護できるようにする。【解決手段】開発工程では、ＣＰＵ１１のチップ内のベンダー固有情報Ｖと同じ情報を用いて、開発したファームウェアの暗号化を行うと共にハッシュ値を生成し、暗号化されたファームウェアに該ハッシュ値を付加し、製造工程へ引き渡す。製造工程では、ＣＰＵ１１のチップ内のベンダー固有情報Ｖを用いて、再生装置に入力したファームウェアの改竄検証（ハッシュ値チェック）および復号化を行う。次いで、少なくともＣＰＵ１１のチップ内のチップ固有情報Ｃを用いて、該ファームウェアの再暗号化を行うと共にハッシュ値を生成し、暗号化されたファームウェアに該ハッシュ値を付加し、これをファームウェア記憶部１０１に記憶させる。【選択図】      図８
2008102618.tif 000002
【特許請求の範囲】
【請求項１】
チップ内に該チップに固有に割り振られたチップ固有情報と製造元もしくは販売元に固有に割り振られたベンダー固有情報とが格納されているプロセッサを備えた電子機器に適用されるファームウェア保護方法であって、
前記チップ内のベンダー固有情報と同じ固有情報を用いて暗号化および改竄検証データの付加がなされているファームウェアを外部から前記電子機器に入力し、
前記チップ内のベンダー固有情報を用いて、前記入力したファームウェアの改竄検証および復号化を行い、
少なくとも前記チップ内のチップ固有情報を用いて、前記改竄検証および復号化を行った後のファームウェアの暗号化および改竄検証データの付加を行い、
前記暗号化および改竄検証データの付加を行った後のファームウェアを所定の記憶装置に記憶させることを特徴とするファームウェア保護方法。
【請求項２】
チップ内に該チップに固有に割り振られたチップ固有情報と機器の型式に固有に割り振られたモデル固有情報とが格納されているプロセッサを備えた電子機器に適用されるファームウェア保護方法であって、
前記チップ内のモデル固有情報と同じ固有情報を用いて暗号化および改竄検証データの付加がなされているファームウェアを外部から前記電子機器に入力し、
前記チップ内のモデル固有情報を用いて、前記入力したファームウェアの改竄検証および復号化を行い、
少なくとも前記チップ内のチップ固有情報を用いて、前記改竄検証および復号化を行った後のファームウェアの暗号化および改竄検証データの付加を行い、
前記暗号化および改竄検証データの付加を行った後のファームウェアを所定の記憶装置に記憶させることを特徴とするファームウェア保護方法。
【請求項３】
前記電子機器の起動の際に、前記記憶装置に記憶されているファームウェアを読み出し、
少なくとも前記チップ内のチップ固有情報を用いて、前記読み出したファームウェアの改竄検証および復号化を行い、
前記改竄検証および復号化を行った後のファームウェアを所定の揮発メモリに記憶させることを特徴とする請求項１又は２記載のファームウェア保護方法。
【請求項４】
前記暗号化および改竄検証データの付加を行う処理においては、前記チップ内のベンダー固有情報およびチップ固有情報が用いられることを特徴とする請求項１記載のファームウェア保護方法。
【請求項５】
前記暗号化および改竄検証データの付加を行う処理においては、前記チップ内のモデル固有情報およびチップ固有情報が用いられることを特徴とする請求項２記載のファームウェア保護方法。
【請求項６】
チップ内に該チップに固有に割り振られたチップ固有情報が格納されているプロセッサと、前記プロセッサにより実行されるファームウェアを記憶する記憶装置とを具備し、
前記記憶装置に記憶されているファームウェアは、少なくとも前記チップ固有情報を用いて暗号化および改竄検証データの付加がなされていることを特徴とする電子機器。
【請求項７】
前記記憶装置に記憶されているファームウェアに対し、少なくとも前記チップ固有情報を用いて改竄検証および復号化がなされた後のファームウェアを記憶する揮発メモリを更に具備することを特徴とする請求項６記載の電子機器。
【請求項８】
前記チップ内には、更に、製造元もしくは販売元に固有に割り振られたベンダー固有情報が格納されており、
前記記憶装置に記憶されているファームウェアは、前記ベンダー固有情報および前記チップ固有情報を用いて暗号化および改竄検証データの付加がなされていることを特徴とする請求項６記載の電子機器。
【請求項９】
前記チップ内には、更に、前記電子機器の型式に固有に割り振られたモデル固有情報が格納されており、
前記記憶装置に記憶されているファームウェアは、前記モデル固有情報および前記チップ固有情報を用いて暗号化および改竄検証データの付加がなされていることを特徴とする請求項６記載の電子機器。
【請求項１０】
前記記憶装置に記憶されているファームウェアは、前記電子機器においてデジタルコンテンツの再生処理の制御を行うためのプログラムであることを特徴とする請求項６乃至９のいずれかに記載の電子機器。
【請求項１１】
機器内に該機器に固有に割り振られた機器固有情報と製造元もしくは販売元に固有に割り振られたベンダー固有情報とを格納する手段を具備する電子機器に適用されるファームウェア保護方法であって、
前記機器内のベンダー固有情報と同じ固有情報を用いて暗号化および改竄検証データの付加がなされているファームウェアを外部から前記電子機器に入力し、
前記機器内のベンダー固有情報を用いて、前記入力したファームウェアの改竄検証および復号化を行い、
少なくとも前記機器内の機器固有情報を用いて、前記改竄検証および復号化を行った後のファームウェアの暗号化および改竄検証データの付加を行い、
前記暗号化および改竄検証データの付加を行った後のファームウェアを所定の記憶装置に記憶させることを特徴とするファームウェア保護方法。
【請求項１２】
機器内に該機器に固有に割り振られた機器固有情報と機器の型式に固有に割り振られたモデル固有情報とを格納する手段を具備する電子機器に適用されるファームウェア保護方法であって、
前記機器内のモデル固有情報と同じ固有情報を用いて暗号化および改竄検証データの付加がなされているファームウェアを外部から前記電子機器に入力し、
前記機器内のモデル固有情報を用いて、前記入力したファームウェアの改竄検証および復号化を行い、
少なくとも前記機器内の機器固有情報を用いて、前記改竄検証および復号化を行った後のファームウェアの暗号化および改竄検証データの付加を行い、
前記暗号化および改竄検証データの付加を行った後のファームウェアを所定の記憶装置に記憶させることを特徴とするファームウェア保護方法。
【請求項１３】
前記電子機器の起動の際に、前記記憶装置に記憶されているファームウェアを読み出し、
少なくとも前記機器内の機器固有情報を用いて、前記読み出したファームウェアの改竄検証および復号化を行い、
前記改竄検証および復号化を行った後のファームウェアを所定の揮発メモリに記憶させることを特徴とする請求項１１又は１２記載のファームウェア保護方法。
【請求項１４】
前記暗号化および改竄検証データの付加を行う処理においては、前記機器内のベンダー固有情報および機器固有情報が用いられることを特徴とする請求項１１記載のファームウェア保護方法。
【請求項１５】
前記暗号化および改竄検証データの付加を行う処理においては、前記機器内のモデル固有情報および機器固有情報が用いられることを特徴とする請求項１２記載のファームウェア保護方法。
【請求項１６】
機器内に該機器に固有に割り振られた機器固有情報を格納する手段と、プロセッサにより実行されるファームウェアを記憶する記憶装置とを具備し、
前記記憶装置に記憶されているファームウェアは、少なくとも前記機器固有情報を用いて暗号化および改竄検証データの付加がなされていることを特徴とする電子機器。
【請求項１７】
前記記憶装置に記憶されているファームウェアに対し、少なくとも前記機器固有情報を用いて改竄検証および復号化がなされた後のファームウェアを記憶する揮発メモリを更に具備することを特徴とする請求項１６記載の電子機器。
【請求項１８】
前記機器内には、更に、製造元もしくは販売元に固有に割り振られたベンダー固有情報が格納されており、
前記記憶装置に記憶されているファームウェアは、前記ベンダー固有情報および前記機器固有情報を用いて暗号化および改竄検証データの付加がなされていることを特徴とする請求項１６記載の電子機器。
【請求項１９】
前記機器内には、更に、前記電子機器の型式に固有に割り振られたモデル固有情報が格納されており、
前記記憶装置に記憶されているファームウェアは、前記モデル固有情報および前記チップ固有情報を用いて暗号化および改竄検証データの付加がなされていることを特徴とする請求項１６記載の電子機器。
【請求項２０】
前記記憶装置に記憶されているファームウェアは、前記電子機器においてデジタルコンテンツの再生処理の制御を行うためのプログラムであることを特徴とする請求項１６乃至１９のいずれかに記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルコンテンツを再生する再生装置などの電子機器、および同機器に使用されるファームウェアを保護するファームウェア保護方法に関する。
【背景技術】
【０００２】
近年、動画像のデジタル圧縮符号化技術の進展に伴い、ＨＤ（High Definition）規格の高精細映像を扱うことが可能な再生装置（プレーヤ）として、例えばＨＤ  ＤＶＤ（High Definition Digital Versatile Disc）再生装置が登場してきている。この種の再生装置においては、著作権保護技術により保護されたデータの再生が行われるが、再生の仕組みはハッカーなどから保護されなくてはならない。このため、再生処理に使用されるファームウェアへの改竄に対する対策が必要である。
【０００３】
なお、再生装置などの電子機器に使用されるファームウェアを保護する技術には、様々なものがある。例えば、特許文献１には、ＤＶＤ再生装置のリージョン（地域）書き換え回数、リージョンリセット回数、現在設定されているリージョンコードを、前記リージョン書き換え回数、前記リージョンリセット回数に対応したアドレスで管理することにより、個々のアドレスが特定され難くなり、ファームウェアが改竄され難くなることが記載されている。
【特許文献１】特開２００５−３５３１２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、再生装置などの電子機器に使用されるファームウェアは、機器の出荷後のみならず、出荷前の製造工程でインストールを行う際にも保護されなければならない。従来の技術は、製造工程での改竄に対する対策が十分であるとは言い難い。
【０００５】
本発明は上記実情に鑑みてなされたものであり、製造工程などにおいてもファームウェアを保護することが可能な電子機器およびファームウェア保護方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るファームウェア保護方法は、チップ内に該チップに固有に割り振られたチップ固有情報と製造元もしくは販売元に固有に割り振られたベンダー固有情報とが格納されているプロセッサを備えた電子機器に適用されるファームウェア保護方法であって、前記チップ内のベンダー固有情報と同じ固有情報を用いて暗号化および改竄検証データの付加がなされているファームウェアを外部から前記電子機器に入力し、前記チップ内のベンダー固有情報を用いて、前記入力したファームウェアの改竄検証および復号化を行い、少なくとも前記チップ内のチップ固有情報を用いて、前記改竄検証および復号化を行った後のファームウェアの暗号化および改竄検証データの付加を行い、前記暗号化および改竄検証データの付加を行った後のファームウェアを所定の記憶装置に記憶させることを特徴とする。
【０００７】
本発明に係るファームウェア保護方法は、チップ内に該チップに固有に割り振られたチップ固有情報と機器の型式に固有に割り振られたモデル固有情報とが格納されているプロセッサを備えた電子機器に適用されるファームウェア保護方法であって、前記チップ内のモデル固有情報と同じ固有情報を用いて暗号化および改竄検証データの付加がなされているファームウェアを外部から前記電子機器に入力し、前記チップ内のモデル固有情報を用いて、前記入力したファームウェアの改竄検証および復号化を行い、少なくとも前記チップ内のチップ固有情報を用いて、前記改竄検証および復号化を行った後のファームウェアの暗号化および改竄検証データの付加を行い、前記暗号化および改竄検証データの付加を行った後のファームウェアを所定の記憶装置に記憶させることを特徴とする。
【０００８】
本発明に係る電子機器は、チップ内に該チップに固有に割り振られたチップ固有情報が格納されているプロセッサと、前記プロセッサにより実行されるファームウェアを記憶する記憶装置とを具備し、前記記憶装置に記憶されているファームウェアは、少なくとも前記チップ固有情報を用いて暗号化および改竄検証データの付加がなされていることを特徴とする。
【０００９】
本発明に係るファームウェア保護方法は、機器内に該機器に固有に割り振られた機器固有情報と製造元もしくは販売元に固有に割り振られたベンダー固有情報とを格納する手段を具備する電子機器に適用されるファームウェア保護方法であって、前記機器内のベンダー固有情報と同じ固有情報を用いて暗号化および改竄検証データの付加がなされているファームウェアを外部から前記電子機器に入力し、前記機器内のベンダー固有情報を用いて、前記入力したファームウェアの改竄検証および復号化を行い、少なくとも前記機器内の機器固有情報を用いて、前記改竄検証および復号化を行った後のファームウェアの暗号化および改竄検証データの付加を行い、前記暗号化および改竄検証データの付加を行った後のファームウェアを所定の記憶装置に記憶させることを特徴とする。
【００１０】
本発明に係るファームウェア保護方法は、機器内に該機器に固有に割り振られた機器固有情報と機器の型式に固有に割り振られたモデル固有情報とを格納する手段を具備する電子機器に適用されるファームウェア保護方法であって、前記機器内のモデル固有情報と同じ固有情報を用いて暗号化および改竄検証データの付加がなされているファームウェアを外部から前記電子機器に入力し、前記機器内のモデル固有情報を用いて、前記入力したファームウェアの改竄検証および復号化を行い、少なくとも前記機器内の機器固有情報を用いて、前記改竄検証および復号化を行った後のファームウェアの暗号化および改竄検証データの付加を行い、前記暗号化および改竄検証データの付加を行った後のファームウェアを所定の記憶装置に記憶させることを特徴とする。
【００１１】
本発明に係る電子機器は、機器内に該機器に固有に割り振られた機器固有情報を格納する手段と、プロセッサにより実行されるファームウェアを記憶する記憶装置とを具備し、前記記憶装置に記憶されているファームウェアは、少なくとも前記機器固有情報を用いて暗号化および改竄検証データの付加がなされていることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、製造工程などにおいてもファームウェアを保護することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施形態を説明する。
【００１４】
図１は、本発明の一実施形態に係る再生装置に搭載されるＣＰＵ（Central Processing Unit）および記憶手段の一例を示す図である。
【００１５】
図１に示されるＣＰＵ（Central Processing Unit）１１は、本実施形態の再生装置の動作を制御するために設けられたプロセッサ（メインＣＰＵ）である。このＣＰＵ１１のチップ内には、製造元もしくは販売元に固有に割り振られたベンダー固有情報（Vendor Unique ID）Ｖと、該チップに固有に割り振られたチップ固有情報（Chip Unique ID）Ｃとが所定の記憶領域に予め格納されている。これらの情報は、再生処理を制御するためのファームウェアを再生装置の製造工程においてインストールしたり、インストール後のファームウェアを再生装置の出荷後において再生処理のためにブート（起動）したりする際に使用される。また、これらの情報は、ＣＰＵ１１のベンダー以外の者（同一のＣＰＵを使用する他ベンダーを含む）には一切開示されていない情報である。
【００１６】
上記再生装置には、ＣＰＵ１１のほか、ファームウェア記憶部１０１や揮発性メモリ１０２などが設けられる。ファームウェア記憶部１０１は、製造工程において、少なくともＣＰＵ１１のチップ内のチップ固有情報Ｃを用いて暗号化および改竄検証データの付加を行った後の暗号化ファームウェアを記憶する（インストールする）ための記憶領域である。揮発性メモリ１０２は、再生装置が出荷された後の再生処理において、ファームウェア記憶部１０１から読み出される暗号化ファームウェアに対して少なくともＣＰＵ１１のチップ内のチップ固有情報Ｃを用いて改竄検証および復号化を行った後のファームウェアを記憶する（ロードする）ためのメモリである。
【００１７】
図２は、同実施形態の再生装置の開発工程・製造工程・製品出荷の流れを示す図である。
【００１８】
開発工程では、開発部門により、再生装置のファームウェアやハードウェアについての開発が行われる。開発されたファームウェアを開発部門から製造部門へ渡す際には、コンピュータなどにより、ＣＰＵ１１のチップ内のベンダー固有情報Ｖと同じ情報を用いて、該ファームウェアの暗号化を行うと共に改竄検証データを生成し（例えば、チップ内のベンダー固有情報Ｖと同じ情報を元に所定の演算を行うことによりハッシュ値を生成し）、暗号化されたファームウェアに該改竄検証データを付加した状態で引き渡すようにする。暗号化および改竄検証データの付加が行われたファームウェアは、開発部門のコンピュータから例えばネットワークを通じて、もしくはメモリカード等を介して、製造部門に設けられている再生装置へ引き渡される。
【００１９】
製造工程では、製造部門により、再生装置のハードウェアの製造やファームウェアのインストールが行われる。暗号化および改竄検証データの付加が行われたファームウェアが再生装置に入力されると、ＣＰＵ１１により該ファームウェアのインストール処理が開始される。このインストール処理においては、ＣＰＵ１１のチップ内のベンダー固有情報Ｖを用いて、再生装置に入力したファームウェアの改竄検証（例えば、チップ内のベンダー固有情報Ｖを元に所定の演算を行って得られるハッシュ値が、ファームウェアに付加されているハッシュ値とが一致するか否かの検証）および復号化を行う。もし、ハッシュ値の不一致などにより改竄が検出された場合には、以降の処理の実行を禁止する。一方、ハッシュ値が一致する（改竄がない）場合は、少なくともＣＰＵ１１のチップ内のチップ固有情報Ｃを用いて、該ファームウェアの再暗号化を行うと共に改竄検証データを生成し（例えば、チップ内のチップ固有情報Ｃを用いて所定の演算を行うことによりハッシュ値を生成し）、暗号化されたファームウェアに該改竄検証データを付加し、これをファームウェア記憶部１０１に記憶させる。
【００２０】
製品出荷Ｐ３では、ファームウェア記憶部１０１に暗号化ファームウェアが格納された状態で再生装置が出荷される。出荷後、ユーザなどにより再生装置が起動された際には、ファームウェア記憶部１０１内の暗号化ファームウェアに対するブート処理が開始される。このブート処理においては、ファームウェア記憶部１０１内の暗号化ファームウェアを読み出し、次いで、少なくともＣＰＵ１１のチップ内のチップ固有情報Ｃを用いて、そのファームウェアの改竄検証および復号化を行う。もし、ハッシュ値の不一致などにより改竄が検出された場合には、以降の処理の実行を禁止する。一方、ハッシュ値が一致する（改竄がない）場合は、復号化されたファームウェアを揮発性メモリ１０２に記憶させる。
【００２１】
図３は、同実施形態の再生装置の構成の一例を示す図である。この再生装置はオーディオビジュアルデータのようなデータストリームから構成されるデジタルコンテンツ（例えば映画、アニメーションなど）を再生する電子機器であり、例えばＨＤ  ＤＶＤ（High Definition Digital Versatile Disc）のような記憶メディアに予め記録されたデジタルコンテンツを再生するＨＤ  ＤＶＤプレーヤとして実現される。
【００２２】
本再生装置は、ＣＰＵ１１、ノースブリッジ１２、主メモリ１３、サウスブリッジ１４、不揮発性メモリ１５、オーディオコーデック１６、ＵＳＢ（Universal Serial Bus）コントローラ１７、カードスロット１８、ＨＤ  ＤＶＤドライブ１、オーディオバス１９、グラフィクスバス２０、ＰＣＩ（Peripheral Component Interconnect）バス２１、ビデオコントローラ２２、オーディオコントローラ２３、オーディオデコーダ２４、ビデオデコーダ２５、ブレンド処理部３０、オーディオミキサ（Audio Mix）３１，３２、ビデオエンコーダ４０、およびＨＤＭＩ（High Definition Multimedia Interface）のようなＡＶインタフェース（ＨＤＭＩ−ＴＸ）４１等から構成されている。
【００２３】
前述のファームウェア記憶部１０１は、例えば不揮発性メモリ１５に該当する。また、前述の揮発性メモリ１０２は、例えば主メモリ１３に該当する。
【００２４】
本再生装置においては、プレーヤアプリケーション１５０と、オペレーティングシステム（ＯＳ）とが不揮発性メモリ１５にインストールされる。プレーヤアプリケーション１５０はＯＳ上で動作するソフトウェアであり、ＨＤ  ＤＶＤドライブ１から読み出されるＡＶコンテントを再生するための制御を行う。
【００２５】
ＣＰＵ１１は、前述した通り本再生装置の動作を制御するために設けられたプロセッサであり、ユーザなどにより本再生装置が起動された際には、不揮発性メモリ１５からＯＳをブートし、このＯＳや関連するプレーヤアプリケーション１５０を主メモリ１３にロードするための処理を実行する。ノースブリッジ１２は、ＣＰＵ１１のローカルバスとサウスブリッジ１４との間を接続するブリッジデバイスである。このノースブリッジ１２には、主メモリ１３をアクセス制御するメモリコントローラが内蔵されている。さらに、このノースブリッジ１２には、ＧＰＵ（Graphics Processing Unit）１２０も内蔵されている。
【００２６】
ＧＰＵ１２０は、主メモリ１３の一部の記憶領域に割り当てられたビデオメモリ（ＶＲＡＭ）にＣＰＵ１１によって書き込まれたデータから、グラフィクス画面イメージを形成するグラフィクスデータ（またはグラフィクス画像データと云う）を生成するグラフィクスコントローラである。ＧＰＵ１２０は、ビットブロック転送（bit block transfer）のようなグラフィクス演算機能を用いて、グラフィクスデータを生成する。例えば、ＣＰＵ１１によってＶＲＡＭ上の３つのプレーンにそれぞれ画像データ（サブビデオ、サブピクチャ等）が書き込まれた場合、ＧＰＵ１２０は、それら３つのプレーンに対応する画像データ同士をピクセル毎に重ね合わせるブレンド処理をビットブロック転送を用いて実行し、これによってメインビデオと同じ解像度（例えば１９２０×１０８０ピクセル）を有するグラフィクス画面イメージを形成するためのグラフィクスデータを生成する。
【００２７】
ＧＰＵ１２０は、グラフィクスデータ（デジタルＲＧＢビデオ信号）およびアルファデータから構成されるアルファデータ付きのグラフィクスデータ（ＲＧＢＡデータ）をグラフィクスバス２０を介してブレンド処理部３０に送出する。
【００２８】
サウスブリッジ１４は、ＰＣＩバス２１上の各デバイスを制御する。また、サウスブリッジ１４は、ＨＤ  ＤＶＤドライブ１を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１４は、不揮発性メモリ１５、ＵＳＢコントローラ１７、およびオーディオコーデック１６をアクセスする機能を有している。
【００２９】
ＨＤ  ＤＶＤドライブ１は、ＨＤ  ＤＶＤ規格に対応するオーディオ・ビデオ（ＡＶ）コンテントが格納されたＨＤ  ＤＶＤメディアのような蓄積メディアを駆動するためのドライブユニットである。
【００３０】
オーディオコーデック１６は、ソフトウェアによってデコードされたサブオーディオデータをＩ２Ｓ（Inter-IC Sound）形式のデジタルオーディオ信号に変換する。このオーディオコーデック１６は、オーディオバス１９を介してオーディオミキサ（Audio Mix）３１および３２にそれぞれ接続されている。オーディオバス１９は、オーディオコーデック１６とオーディオミキサ（Audio Mix）３１および３２の各々との間に接続された伝送線路である。このオーディオバス１９により、オーディオコーデック１６からのデジタルオーディオ信号は、ＰＣＩバス２１を介さずにオーディオミキサ（Audio Mix）３１および３２にそれぞれ転送される。
【００３１】
カードスロット１８は、サウスブリッジ１４に接続され、装着されるメモリカード等に対するデータの読み書きを可能とするものである。例えば、開発部門にて暗号化および改竄検証データの付加が行われたファームウェアをメモリカードに記憶させ、それを製造部門においてカードスロット１８に装着して読み出すことにより、前述のインストール処理を実行させることが可能である。
【００３２】
ビデオコントローラ２２は、ＰＣＩバス２１に接続されている。このビデオコントローラ２２は、ビデオデコーダ２５とのインターフェースを実行するためのＬＳＩである。ソフトウェアによってＨＤ  ＤＶＤストリームから分離されたメインビデオデータのストリーム（Video Stream）は、ＰＣＩバス２１およびビデオコントローラ２２を介して、ビデオデコーダ２５に送られる。また、ＣＰＵ１１から出力されるデコード制御情報（Control）も、ＰＣＩバス２１およびビデオコントローラ２２を介して、ビデオデコーダ２５に送られる。
【００３３】
ビデオデコーダ２５は、メインビデオデータをデコードして例えば１９２０×１０８０ピクセルの解像度のビデオ画面イメージを形成するデジタルＹＵＶビデオ信号を生成する。このデジタルＹＵＶビデオ信号はブレンド処理部３０に送られる。
【００３４】
オーディオコントローラ２３は、ＰＣＩバス２１に接続されている。オーディオコントローラ２３は、オーディオデコーダ２４とのインターフェースを実行するためのＬＳＩである。ソフトウェアによってＨＤ  ＤＶＤストリームから分離されたメインオーディオデータのストリーム（Audio Stream）は、ＰＣＩバス２１およびオーディオコントローラ２３を介して、オーディオデコーダ２４に送られる。
【００３５】
オーディオデコーダ２４は、メインオーディオデータをデコードしてＩ２Ｓ（Inter-IC Sound）形式のデジタルオーディオ信号を生成する。このデジタルオーディオ信号は、オーディオコントローラ２３を介してオーディオミキサー（Audio Mix）３１および３２にそれぞれ送られる。
【００３６】
ブレンド処理部３０は、ＧＰＵ１２０およびビデオデコーダ２５にそれぞれ結合されており、ＧＰＵ１２０から出力されるグラフィクスデータとビデオデコーダ２５によってデコードされたメインビデオデータとを重ね合わせるためのブレンド処理を実行する。このブレンド処理においては、ＧＰＵ１２０からグラフィクスデータ（ＲＧＢ）と一緒に出力されるアルファデータに基づいて、グラフィクスデータを構成するデジタルＲＧＢビデオ信号とメインビデオデータを構成するデジタルＹＵＶビデオ信号とをピクセル単位で重ね合わせるためのブレンド処理（アルファブレンディング処理）が実行される。この場合、メインビデオデータは下側の画面イメージとして用いられ、グラフィクスデータはメインビデオデータ上に重ねられる上側の画面イメージとして用いられる。
【００３７】
ブレンド処理によって得られる出力画像データは例えばデジタルＹＵＶビデオ信号としてビデオエンコーダ４０およびＡＶインタフェース（ＨＤＭＩ−ＴＸ）４１にそれぞれ供給される。ビデオエンコーダ４０は、ブレンド処理によって得られる出力画像データ（デジタルＹＵＶビデオ信号）をコンポーネントビデオ信号またはＳ−ビデオ信号に変換して、ＴＶ受像機のような外部の表示装置（モニタ）に出力する。ＡＶインタフェース（ＨＤＭＩ−ＴＸ）４１は、デジタルＹＵＶビデオ信号とデジタルオーディオ信号とを含むデジタル信号群を外部のＨＤＭＩ機器に出力する。
【００３８】
オーディオミキサ（Audio Mix）３１は、オーディオコーデック１６によってデコードされたサブオーディオデータとオーディオデコーダ２４によってデコードされたメインオーディオデータとを合成（ミキシング）し、そのミキシング結果をステレオオーディオ信号として出力する。オーディオミキサ（Audio Mix）３２は、オーディオコーデック１６によってデコードされたサブオーディオデータとオーディオデコーダ２４によってデコードされたメインオーディオデータとを合成（ミキシング）し、そのミキシング結果を５．１チャンネルのオーディオ信号として出力する。
【００３９】
次に、図４〜図６を参照して、本実施形態のファームウェアの保護を実現するための保護プログラム（ツール）について説明する。
【００４０】
図４は、図２中に示される開発工程Ｐ１で使用する保護プログラムの機能構成の一例を示す図である。
【００４１】
開発工程Ｐ１で使用するプログラム２０１は、開発部門において開発されたファームウェアを製造部門に安全に引き渡すためのプログラムであり、開発部門のコンピュータなどにより実行される。このプログラム２０１は、暗号化／改竄検証データ付加処理部５１および送信処理部（又は、記憶処理部）５２などの各種機能により構成される。
【００４２】
暗号化／改竄検証データ付加処理部５１は、開発部門において開発されたファームウェアに対し、ＣＰＵ１１のチップ内のベンダー固有情報Ｖと同じ情報を用いて暗号化および改竄検証データの付加を行う機能である。
【００４３】
送信処理部（又は、記憶処理部）５２は、暗号化および改竄検証データの付加が行われた暗号化ファームウェアを、ネットワークを通じて製造部門の再生装置へ送信する、もしくはメモリカード等に記憶させる機能である。
【００４４】
図５は、図２中に示される製造工程Ｐ２で使用する保護プログラムの機能構成の一例を示す図である。
【００４５】
製造工程Ｐ２で使用するプログラム２０２は、開発部門から引き渡されたファームウェアを安全にインストールするためのプログラム（インストールツール）であり、再生装置内の所定の記憶領域（例えば、ＣＰＵ１１の内部）に格納されており、再生装置内のＣＰＵ１１により実行される。このプログラム２０２は、受信処理部（又は、読出し処理部）５３、改竄検証／復号化処理部５４、再暗号化／改竄検証データ付加処理部５５、および記憶処理部５６などの各種機能により構成される。
【００４６】
受信処理部（又は、読出し処理部）５３は、開発部門からネットワークを通じて送信された暗号化ファームウェアを再生装置にて受信する、もしくは開発部門から供給されたメモリカード等に記憶されている暗号化ファームウェアを再生装置にて読み出して取り込む機能である。
【００４７】
改竄検証／復号化処理部５４は、受信処理部（又は、読出し処理部）５３により取り込まれた暗号化ファームウェアに対し、ＣＰＵ１１のチップ内のベンダー固有情報Ｖを用いて改竄検証および復号化を行う機能である。
【００４８】
再暗号化／改竄検証データ付加処理部５５は、改竄検証／復号化処理部５４により改竄検証および復号化が行われた後のファームウェアに対し、少なくともＣＰＵ１１のチップ内のチップ固有情報Ｃを用いて再暗号化および改竄検証データの付加を行う機能である。
【００４９】
記憶処理部５６は、再暗号化／改竄検証データ付加処理部５５により再暗号化および改竄検証データの付加が行われた後の暗号化ファームウェアを、ファームウェア記憶部１０１に記憶させる（インストールさせる）機能である。
【００５０】
図６は、図２中に示される製品出荷Ｐ３の後に使用する保護プログラムの機能構成の一例を示す図である。
【００５１】
製品出荷Ｐ３の後に使用するプログラム２０３は、製造部門においてインストールされた暗号化ファームウェアを安全にブートするためのプログラムであり、前述のプログラム２０２と同様に再生装置内の所定の記憶領域に格納されており、再生装置内のＣＰＵ１１により実行される。このプログラム２０３は、読出し処理部５７、改竄検証／復号化処理部５８、および記憶処理部５９などの各種機能により構成される。
【００５２】
読出し処理部５７は、製造部門においてファームウェア記憶部１０１にインストールされた暗号化ファームウェアを、ユーザなどにより再生装置が起動された際に読み出す機能である。
【００５３】
改竄検証／復号化処理部５８は、読出し処理部５７により読み出された暗号化ファームウェアに対し、少なくともＣＰＵ１１のチップ内のチップ固有情報Ｃを用いて改竄検証および復号化を行う機能である。
【００５４】
記憶処理部５９は、改竄検証／復号化処理部５８により改竄検証および復号化が行われた後のファームウェアを、揮発性メモリ１０２に記憶させる（ロードさせる）機能である。
【００５５】
なお、前述のプログラム２０２とプログラム２０３とは、一体化されていてもよい。また、プログラム２０２とプログラム２０３の双方で共通する機能部分を一つのモジュールで実現するようにしてもよい。
【００５６】
図７は、図４〜図６に示されるプログラム２０１〜２０３による第１の動作手順の例を示す図である。
【００５７】
開発工程では、開発部門のコンピュータにより、ＣＰＵ１１のチップ内のベンダー固有情報Ｖと同じ情報を用いて、開発したファームウェアの暗号化を行うと共にハッシュ値を生成し、暗号化されたファームウェアに該ハッシュ値を付加する（ステップＳ１１）。暗号化およびハッシュ値の付加が行われたファームウェアは、開発部門のコンピュータから例えばネットワークを通じて、もしくはメモリカード等を介して、製造部門に設けられている再生装置へ引き渡される（ステップＳ１２）。
【００５８】
製造工程では、暗号化およびハッシュ値の付加が行われたファームウェアが再生装置に入力されると（ステップＳ１３）、ＣＰＵ１１により該ファームウェアのインストール処理が開始される。このインストール処理においては、ＣＰＵ１１のチップ内のベンダー固有情報Ｖを用いて、再生装置に入力したファームウェアの改竄検証（ハッシュ値チェック）および復号化を行う（ステップＳ１４）。もし、ハッシュ値の不一致などにより改竄が検出された場合には、以降の処理の実行を禁止する。一方、ハッシュ値が一致する（改竄がない）場合は、ＣＰＵ１１のチップ内のチップ固有情報Ｃを用いて、該ファームウェアの再暗号化を行うと共にハッシュ値を生成し、暗号化されたファームウェアに該ハッシュ値を付加し（ステップＳ１５）、これをファームウェア記憶部１０１に記憶させる（ステップＳ１６）。
【００５９】
出荷後、ユーザなどにより再生装置が起動された際には、ファームウェア記憶部１０１内の暗号化ファームウェアに対するブート処理が開始される。このブート処理においては、ファームウェア記憶部１０１内の暗号化ファームウェアを読み出し（ステップＳ１７）、次いで、ＣＰＵ１１のチップ内のチップ固有情報Ｃを用いて、そのファームウェアの改竄検証（ハッシュ値チェック）および復号化を行う（ステップＳ１８）。もし、ハッシュ値の不一致などにより改竄が検出された場合には、以降の処理の実行を禁止する。一方、ハッシュ値が一致する（改竄がない）場合は、復号化されたファームウェアを揮発性メモリ１０２に記憶させる（ステップＳ１９）。
【００６０】
図８は、図４〜図６に示されるプログラム２０１〜２０３による第２の動作手順の例を示す図である。なお、以下では図７と共通する部分の説明を省略し、図７と異なる部分について説明する。
【００６１】
前述の図７の例では、製造工程でファームウェアの再暗号化やハッシュ値の生成・付加を行う際に、チップ内の「チップ固有情報Ｃ」を使用した（ステップＳ１５）。これに対し、図８の例では、チップ内の「チップ固有情報Ｃ」だけでなく、チップ内の「ベンダー固有情報Ｖ」も使用する（ステップＳ１５’）。
【００６２】
また、前述の図７の例では、出荷後においてファームウェアの改竄検証（ハッシュ値チェック）や復号化を行う際に、チップ内の「チップ固有情報Ｃ」を使用した（ステップＳ１８）。これに対し、図８の例では、チップ内の「チップ固有情報Ｃ」だけでなく、チップ内の「ベンダー固有情報Ｖ」も使用する（ステップＳ１８’）。
【００６３】
このように「チップ固有情報Ｃ」と「ベンダー固有情報Ｖ」の両方を用いて、再暗号化・ハッシュ値の生成・ハッシュ値のチェック・復号化を行うことにより、ハッカーなどがファームウェアを解析する際の難易度を一層高めることができる。
【００６４】
上述の説明では、ＣＰＵ１１のチップ内に予め格納されている情報が「チップ固有情報」および「ベンダー固有情報」である場合の例を挙げたが、本発明はこれに限定されるものではない。例えば、ＣＰＵ１１のチップ内に、「ベンダー固有情報」ではなく、対応する再生装置の型式（モデル）に固有に割り振られた「モデル固有情報」が格納されている場合にも適用できる。この場合、前述した機能説明および動作説明の中の「ベンダー固有情報」を「モデル固有情報」に読み替えて解釈すればよい。すなわち、「チップ固有情報」および「ベンダー固有情報」の組合せを、「チップ固有情報」および「モデル固有情報」の組合せて代えて実現することが可能である。なお、「モデル固有情報」はチップ外の所定の記憶領域（例えば再生装置内の秘匿領域）に記憶される場合がある。上記チップ固有情報やモデル固有情報等は、鍵情報であるため、秘匿した状態で記憶される場合がある。また、「チップ固有情報」については、乱数に基づいて個々のチップにランダムに付与される場合のほか、シリアルに（連番で）付与される場合もある。
【００６５】
また、ＣＰＵ１１のチップ内に、「チップ固有情報」ではなく、対応する再生装置に固有に割り振られた「機器固有情報」が格納されている場合にも適用できる。この場合、前述した機能説明および動作説明の中の「チップ固有情報」を「機器固有情報」に読み替えて解釈すればよい。すなわち、「チップ固有情報」および「ベンダー固有情報」の組合せを、「機器固有情報」および「ベンダー固有情報」の組合せて代えて実現することが可能である。なお、「機器固有情報」はチップ外の所定の記憶領域（例えば再生装置内の秘匿領域）に記憶される場合がある。
【００６６】
同様に、上記「チップ固有情報」および「ベンダー固有情報」の組合せを、例えばチップ外にある「機器固有情報」および「モデル固有情報」の組合せに代えて実現することも可能である。この場合、前述した機能説明および動作説明の中の「チップ固有情報」を「機器固有情報」に読み替えると共に、「ベンダー固有情報」を「モデル固有情報」に読み替えて解釈すればよい。
【００６７】
上述の実施形態によれば、次のような効果が得られる。
【００６８】
・開発工程から製造工程に引き渡されるファームウェアは、ＣＰＵのチップ内のベンダー固有情報と同じ情報を用いて暗号化および改竄検証データの付加がなされているため、該ファームウェアがハッカーや同一のＣＰＵを使用する他ベンダーなどによって解析される場合の難易度を高めることができる。
【００６９】
・製造工程に引き渡された後のファームウェアは、ＣＰＵの内部などに格納されたプログラム（ファームウェアのインストールツール）により、改竄検証を伴った復号化と再暗号化の両方が行われるため、該ファームウェアがハッカーや同一のＣＰＵを使用する他ベンダーなどによって解析される場合の難易度を高めることができる。
【００７０】
・製品出荷後においては、再生装置のファームウェア記憶部に格納されているファームウェアは、少なくともＣＰＵのチップ内のチップ固有情報を用いて暗号化および改竄検証データの付加が行われているため、該ファームウェアがハッカーや同一のＣＰＵを使用する他ベンダーなどによって解析される場合の難易度を高めることができる。
【００７１】
本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００７２】
【図１】本発明の一実施形態に係る再生装置に搭載されるＣＰＵおよび記憶手段の一例を示す図。
【図２】同実施形態の再生装置の開発工程・製造工程・製品出荷の流れを示す図。
【図３】同実施形態の再生装置の構成の一例を示す図。
【図４】開発工程で使用する保護プログラムの機能構成の一例を示す図。
【図５】製造工程で使用する保護プログラムの機能構成の一例を示す図。
【図６】製品出荷の後に使用する保護プログラムの機能構成の一例を示す図。
【図７】保護プログラムによる第１の動作手順の例を示す図。
【図８】保護プログラムによる第２の動作手順の例を示す図。
【符号の説明】
【００７３】
１１…ＣＰＵ、１３…主メモリ、１５…不揮発性メモリ、１８…カードスロット、１０１…ファームウェア記憶部、１０２…揮発性メモリ、２０１〜２０３…保護プログラム。
【図１】
2008102618.tif 000003
【図２】
2008102618.tif 000004
【図３】
2008102618.tif 000005
【図４】
2008102618.tif 000006
【図５】
2008102618.tif 000007
【図６】
2008102618.tif 000008
【図７】
2008102618.tif 000009
【図８】
2008102618.tif 000010