(57)【要約】【課題】簡単かつ安全に、暗号鍵を管理することができるようにする。【解決手段】記録再生装置１は、チューナ部２０で受信したコンテンツをコンテンツ暗号鍵で暗号化してHDD２４に記憶する。コンテンツを暗号化するためのコンテンツ暗号鍵は、USB端子１３に接続されたUSBメモリ４から読み出したインストーラに基づいて生成される。すなわち、CPU３０は、USBメモリ４から読み出したインストーラに基づいて、記録再生装置１に固有の第１の情報を用いてコンテンツ暗号鍵を生成し、記録再生装置１に固有の第２の情報を用いてコンテンツ暗号鍵をラップする秘密鍵を生成する。そして、CPU３０は、コンテンツ暗号鍵を秘密鍵でラップしたラップコンテンツ暗号鍵をフラッシュROM３２に格納する。本発明は、例えば、コンテンツ保護が要求される記録再生装置に適用できる。【選択図】図１
2010191816.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを記録または再生する記録再生手段と、
前記コンテンツを記録または再生する際に、前記コンテンツをコンテンツ暗号鍵で暗号化または復号する暗号化手段と、
装置本体と着脱可能な記録媒体から読み出したプログラムに基づいて、前記装置本体に固有の第１の情報を用いて前記コンテンツ暗号鍵を生成し、前記装置本体に固有の第２の情報を用いて前記コンテンツ暗号鍵をラップする秘密鍵を生成し、前記秘密鍵で前記コンテンツ鍵をラップしたラップコンテンツ暗号鍵を生成する生成手段と、
生成された前記ラップコンテンツ暗号鍵を、それを無効化する無効化情報とともに記憶する暗号鍵記憶手段と
を備える記録再生装置。
【請求項２】
前記暗号鍵記憶手段は、さらに、前記ラップコンテンツ暗号鍵と前記無効化情報の改ざんを検出するための鍵改ざん検出情報も記憶し、
前記鍵改ざん検出情報に基づいて、前記暗号鍵記憶手段に記憶されている前記ラップコンテンツ暗号鍵と前記無効化情報の改ざんを検証するラップコンテンツ暗号鍵検証手段をさらに備える
請求項１に記載の記録再生装置。
【請求項３】
前記記録媒体には、前記プログラムの改ざんを検出するためのプログラム改ざん検出情報も記憶されており、
前記プログラム改ざん検出情報に基づいて、前記記録媒体から読み出したプログラムの改ざんを検証するプログラム検証手段をさらに備え、
前記生成手段は、前記プログラム検証手段により前記プログラムが改ざんされていないことが確認できた場合に、前記ラップコンテンツ暗号鍵を生成する
請求項２に記載の記録再生装置。
【請求項４】
再生された前記コンテンツをHDMIの規格に従った信号として出力するHDMI出力手段をさらに備え、
前記第２の情報は、前記HDMI出力手段に固有の情報であり、
前記第１の情報は、前記コンテンツ記憶手段に固有の情報である
請求項１に記載の記録再生装置。
【請求項５】
前記プログラムは、所定のアプリケーションをインストールするインストーラであり、
前記無効化情報は、前記アプリケーションのバージョン情報または有効期限である
請求項１に記載の記録再生装置。
【請求項６】
前記コンテンツと、更新された前記アプリケーションを放送信号として受信する受信する受信手段をさらに備える
請求項５に記載の記録再生装置。
【請求項７】
記録再生装置と着脱可能な記録媒体から読み出したプログラムに基づいて、
前記記録再生装置に固有の第１の情報を用いてコンテンツを暗号化するコンテンツ暗号鍵を生成し、
前記記録再生装置に固有の第２の情報を用いて前記コンテンツ暗号鍵をラップする秘密鍵を生成し、
前記秘密鍵で前記コンテンツ鍵をラップしたラップコンテンツ暗号鍵を生成し、
生成された前記ラップコンテンツ暗号鍵を、それを無効化する無効化情報とともに記憶する
コンテンツ鍵制御方法。
【請求項８】
コンピュータに、
記録再生装置に固有の第１の情報を用いてコンテンツを暗号化するコンテンツ暗号鍵を生成し、
前記記録再生装置に固有の第２の情報を用いて前記コンテンツ暗号鍵をラップする秘密鍵を生成し、
前記秘密鍵で前記コンテンツ鍵をラップしたラップコンテンツ暗号鍵を生成し、
生成された前記ラップコンテンツ暗号鍵を、それを無効化する無効化情報とともに記憶する
処理を実行させるプログラム。
【請求項９】
コンテンツを記録再生する記録再生装置に装着され、前記記録再生装置に、
前記記録再生装置に固有の第１の情報を用いてコンテンツを暗号化するコンテンツ暗号鍵を生成させ、
前記記録再生装置に固有の第２の情報を用いて前記コンテンツ暗号鍵をラップする秘密鍵を生成させ、
前記秘密鍵で前記コンテンツ鍵をラップしたラップコンテンツ暗号鍵を生成させ、
生成された前記ラップコンテンツ暗号鍵を、それを無効化する無効化情報とともに記憶させる
プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録再生装置、コンテンツ鍵制御方法、プログラム、および記録媒体に関し、特に、簡単かつ安全に、暗号鍵を管理することができるようにする記録再生装置、コンテンツ鍵制御方法、プログラム、および記録媒体に関する。
【背景技術】
【０００２】
ディジタルの映像信号は、その信号を全く劣化させることなく別の情報記録媒体にコピーすることが可能である。そのため、地上波ディジタル放送や、BS/CSディジタル放送の放送信号を受信して、記録および再生する記録再生装置には、コンテンツを保護する機構を備えることが要求される（例えば、特許文献１参照）。例えば、ARIB（Association of Radio Industries and Businesses）では、コンテンツをハードディスク等の情報記録媒体に記録する際に、所定の暗号鍵で暗号化してから記録すること、および、その暗号鍵は、機器ごとに固有のものとすることが要求されている。
【０００３】
そこで、機器を製造するメーカが、コンテンツ保護のための機器ごとの暗号鍵をどのように管理するかが問題となる。また、メーカとしては、各機器に付与した暗号鍵を、機器出荷後にも再利用できる必要がある。即ち、メーカ自身が機器を修理するためにコンテンツの移動等に使用することができることが必要である。また、暗号鍵が万一流出した際に、暗号鍵を無効化できることも必要である。さらに、将来、コンテンツのコピーが可能となった場合に、それを対応可能とすることも想定しておく必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２７６２８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、機器固有の暗号鍵は、セキュリティの厳重な部屋（セキュリティルーム）で、暗号鍵生成プログラムをコンピュータに実行させ、それにより得られた暗号鍵を、その部屋内で厳重に管理しつつ、各機器に組み込むことが行われていた。しかし、このような方法で暗号鍵を１台１台管理するやり方は、セキュリティルームやコンピュータの設置、鍵の管理に工数や費用がかかるという問題を有していた。
【０００６】
PKI(公開鍵基盤)のようなシステムにより暗号鍵を管理すると、出荷後の暗号鍵の更新などにおける利便性は高まるが、PKIでは認証局（certification authority:CA）が必要となるため、システム構築にコストがかかってしまう。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、簡単かつ安全に、暗号鍵を管理することができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の一側面の記録再生装置は、コンテンツを記録または再生する記録再生手段と、前記コンテンツを記録または再生する際に、前記コンテンツをコンテンツ暗号鍵で暗号化または復号する暗号化手段と、装置本体と着脱可能な記録媒体から読み出したプログラムに基づいて、前記装置本体に固有の第１の情報を用いて前記コンテンツ暗号鍵を生成し、前記装置本体に固有の第２の情報を用いて前記コンテンツ暗号鍵をラップする秘密鍵を生成し、前記秘密鍵で前記コンテンツ鍵をラップしたラップコンテンツ暗号鍵を生成する生成手段と、生成された前記ラップコンテンツ暗号鍵を、それを無効化する無効化情報とともに記憶する暗号鍵記憶手段とを備える。
【０００９】
本発明の一側面のコンテンツ鍵制御方法は、記録再生装置と着脱可能な記録媒体から読み出したプログラムに基づいて、前記記録再生装置に固有の第１の情報を用いてコンテンツを暗号化するコンテンツ暗号鍵を生成し、前記記録再生装置に固有の第２の情報を用いて前記コンテンツ暗号鍵をラップする秘密鍵を生成し、前記秘密鍵で前記コンテンツ鍵をラップしたラップコンテンツ暗号鍵を生成し、生成された前記ラップコンテンツ暗号鍵を、それを無効化する無効化情報とともに記憶する。
【００１０】
本発明の一側面のプログラムは、コンピュータに、記録再生装置に固有の第１の情報を用いてコンテンツを暗号化するコンテンツ暗号鍵を生成し、前記記録再生装置に固有の第２の情報を用いて前記コンテンツ暗号鍵をラップする秘密鍵を生成し、前記秘密鍵で前記コンテンツ鍵をラップしたラップコンテンツ暗号鍵を生成し、生成された前記ラップコンテンツ暗号鍵を、それを無効化する無効化情報とともに記憶する処理を実行させる。
【００１１】
本発明の一側面の記録媒体は、コンテンツを記録再生する記録再生装置に装着され、前記記録再生装置に、前記記録再生装置に固有の第１の情報を用いてコンテンツを暗号化するコンテンツ暗号鍵を生成させ、前記記録再生装置に固有の第２の情報を用いて前記コンテンツ暗号鍵をラップする秘密鍵を生成させ、前記秘密鍵で前記コンテンツ鍵をラップしたラップコンテンツ暗号鍵を生成させ、生成された前記ラップコンテンツ暗号鍵を、それを無効化する無効化情報とともに記憶させるプログラムが記録されたコンピュータ読み取り可能な記録媒体である。
【００１２】
本発明の一側面においては、コンピュータに、記録再生装置に固有の第１の情報を用いてコンテンツを暗号化するコンテンツ暗号鍵が生成され、記録再生装置に固有の第２の情報を用いてコンテンツ暗号鍵をラップする秘密鍵が生成され、秘密鍵でコンテンツ鍵をラップしたラップコンテンツ暗号鍵が生成され、生成されたラップコンテンツ暗号鍵が、それを無効化する無効化情報とともに記憶される。
【００１３】
なお、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【００１４】
記録再生装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【発明の効果】
【００１５】
本発明の一側面によれば、簡単かつ安全に、暗号鍵を管理することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明を適用した記録再生装置の一実施の形態の構成例を示すブロック図である。
【図２】インストーラが記憶されたUSBメモリの作成手順を説明する図である。
【図３】製造USBメモリに記憶されているデータの例を示す図である。
【図４】インストーラ証明書作成処理を説明するフローチャートである。
【図５】プログラムのインストール処理を説明するフローチャートである。
【図６】インストーラ証明書検証処理の詳細な処理を説明するフローチャートである。
【図７】プログラムインストール処理の詳細な処理を説明するフローチャートである。
【図８】秘密鍵kwの生成処理の詳細な処理を説明するフローチャートである。
【図９】ラップ暗号鍵k'hdd生成処理の詳細な処理を説明するフローチャートである。
【図１０】セキュアデータ生成処理の詳細な処理を説明するフローチャートである。
【図１１】セキュアデータを示す図である。
【図１２】セキュアデータ検証処理の詳細な処理を説明するフローチャートである。
【図１３】フラッシュROMおよびHDDに記憶されるデータ例を示す図である。
【図１４】放送信号に含まれる署名付きインストーラの構成例を示す図である。
【図１５】放送信号として送信される更新用のアプリケーションのインストール処理を示すフローチャートである。
【図１６】認証USBメモリの作成手順を説明する図である。
【図１７】認証USBメモリ内のデータ例を示す図である。
【図１８】開発者のPCが保有するモジュールを示す図である。
【図１９】開発者識別ファイル証明書作成処理を説明するフローチャートである。
【図２０】開発者検証処理を説明するフローチャートである。
【図２１】記録再生装置の起動処理を説明するフローチャートである。
【図２２】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１７】
［記録再生装置の構成例］
図１は、本発明を適用した記録再生装置の一実施の形態の構成例を示している。
【００１８】
記録再生装置１は、放送局から送信されてくるコンテンツとしてのテレビジョン放送番組の放送信号を受信して、コンテンツの映像信号および音声信号を表示装置２に供給したり、内蔵する記録媒体に記録する。また、記録再生装置１は、記録媒体に記録しておいたコンテンツの映像信号および音声信号を読み出し、表示装置２に供給する。なお、受信される放送信号には、コンテンツに対応する映像信号および音声信号のほかに、EPG(Electronic Program Guide)などの番組情報の信号も含まれている。
【００１９】
表示装置２は、CRT（Cathode Ray Tube）、LCD(Liquid Crystal Display)、またはPDP(Plasma Display Panel)などで構成され、記録再生装置１から供給される映像信号に対応する映像を表示するとともに、音声信号に対応する音声を出力する。
【００２０】
なお、以下においては、説明を簡単にするため、放送信号から得られる映像信号と音声信号のうち、映像信号についてのみ説明するが、音声信号についても映像信号と同様の処理が行われる。
【００２１】
記録再生装置１は、上述した表示装置２と接続する接続端子として、HDMI端子１１を有している。また、記録再生装置１は、その他の接続端子として、Ether端子１２、USB端子１３、およびリモート入力端子１４も有している。
【００２２】
Ether端子１２には、パーソナルコンピュータ３（以下、PC３という）が、必要に応じて接続される。このPC３は、例えば、記録再生装置１の処理を実行するプログラムを開発する開発者等が有するパーソナルコンピュータである。PC３は、Ether端子１２を介して、記録再生装置１とイーサネット（登録商標）（Ethernet（登録商標））の規格に従った通信を行うことができる。
【００２３】
USB端子１３には、USB（Universal Serial Bus）メモリ４が、必要に応じて接続される。USBメモリ４には、例えば、バージョンアップされたアプリケーション（ソフトウエア）をインストールするプログラム（以下、インストーラという）が記憶され、記録再生装置１内のアプリケーションを更新する場合などに、USBメモリ４がUSB端子１３に接続される。
【００２４】
リモート入力端子１４には、受光装置５が接続される。受光装置５は、リモートコマンダ６から送信されてくる赤外線信号を受信し、リモートコマンダ６での操作に対応する操作信号に変換して、記録再生装置１に供給する。受光装置５は、記録再生装置１が表示装置２の背面側に設置される場合も考慮して、記録再生装置１とは別に設けられ、リモート入力端子１４に接続されるようになされている。即ち、記録再生装置１が表示装置２の背面側に設置された場合には、リモートコマンダ６から出力される赤外線信号を、記録再生装置１は受信することができなくなる。そこで、受光装置５は、記録再生装置１とは別に表示装置２の前面側に設置可能とするために、リモート入力端子１４を介して接続されるようになされている。
【００２５】
なお、リモートコマンダ６と受光装置５との間の通信は、赤外線方式に限らず、その他の方式（例えば、電波による方式）を採用しても良い。
【００２６】
また、リモート入力端子１４には、受光装置５に代えて、PC３を接続することができる。この場合、PC３は、記録再生装置１とシリアル通信を行うことができる。これにより、開発者は、PC３をリモート入力端子１４に接続し、例えば、リモート入力端子１４を介してコマンドを送受信することにより、動作の検証、パラメータの確認等を行うことができる。
【００２７】
次に、記録再生装置１内の詳細な構成について説明する。
【００２８】
記録再生装置１は、チューナ部２０、MPEGデコーダ２１、圧縮伸長部２２、暗号化部２３、HDD（Hard Disk Drive）２４、スイッチ２５、EPG記憶部２６、OSD (On Screen Display)処理部２７、映像信号処理部２８、およびHDMI（High-Definition Multimedia Interface）I/F部２９を有している。また、記録再生装置１は、CPU３０、RAM（Random Access Memory）３１、フラッシュROM（Read Only Memory）３２、および操作部３３も有している。
【００２９】
チューナ部２０には、図示せぬアンテナが受信した地上ディジタル放送の放送信号が供給される。チューナ部２０は、CPU３０の制御に基づいて、ユーザが指示したチャンネルに対応する周波数帯の放送信号を受信して、検波、復調し、その結果得られるMPEG２トランスポートストリーム（MPEG-2Transport Stream）を、MPEGデコーダ２１に供給する。なお、チューナ部２０が受信可能な放送信号は、地上ディジタル放送に限らず、例えば、BS(Broadcasting Satellite)またはCS(Communications Satellite)等のディジタルの衛星放送などの放送信号でもよい。また、チューナ部２０は、アンテナで受信される放送信号のほかに、ケーブルテレビ放送の放送信号やインターネット等のネットワークを介して供給されるストリーミング放送の放送信号を受信するようにしてもよい。
【００３０】
MPEGデコーダ２１は、チューナ部２０から供給されるMPEG２トランスポートストリームをデスクランブル処理した後、映像データ、音声データ、および番組情報データのTSパケットに分離する（デマルチプレクサ処理する）。そして、MPEGデコーダ２１は、TSパケットに含まれる映像データを抽出してMPEGデコードし、その結果得られる映像信号を、圧縮伸長部２２およびスイッチ２５に供給する。また、MPEGデコーダ２１は、TSパケットに含まれる番組情報データ（以下、EPGデータという）を抽出し、EPG記憶部２６に供給する。
【００３１】
圧縮伸長部２２は、CPU３０の制御に従って、映像信号の圧縮処理および伸長処理を行う。より詳しくは、圧縮伸長部２２は、MPEGデコーダ２１から供給される映像信号を、例えば、MPEG2(Moving Picture Experts Group-2）などの所定の規格に従って圧縮（符号化）し、暗号化部２３に供給する。また、圧縮伸長部２２は、暗号化部２３から供給される、所定の規格に従って圧縮されている映像信号を伸長（復号）し、スイッチ２５に供給する。なお、図１では、CPU３０から圧縮伸長部２２への制御線の図示が省略されている。
【００３２】
暗号化部２３は、コンテンツ保護のため、圧縮伸長部２２から供給される映像信号を所定の暗号鍵khddで暗号化して、HDD２４に供給する。また、暗号化部２３は、HDD２４から供給される暗号化された映像信号を、暗号鍵khddで復号し、圧縮伸長部２２に供給する。例えば、暗号化部２３は、暗号化方式として、１２８ビットの暗号鍵khddを用いたAES(Advanced Encryption Standard)暗号方式を採用する。なお、暗号鍵khddは、記録再生装置１に固有のものであり、CPU３０から供給される。
【００３３】
HDD２４は、CPU３０の制御に従って、内蔵するハードディスクに圧縮処理および暗号化された映像信号を書き込んだり、ハードディスクに記録されている暗号化された映像信号を読み出し、暗号化部２３に供給する。
【００３４】
スイッチ２５は、CPU３０の制御にしたがい、内部の端子部２５ａと２５ｂとを切り替えて、映像信号処理部２８に出力する映像信号を切り替える。端子部２５ａには、MPEGデコーダ２１から出力された映像信号が供給され、端子部２５ｂには、圧縮伸長部２２から出力された映像信号が供給される。ユーザが、いま放送されているコンテンツをリアルタイムで視聴する場合には、CPU３０は、端子部２５ａを選択させ、チューナ部２０で受信された所定の放送局の映像信号がMPEGデコーダ２１を介して映像信号処理部２８に供給される。一方、ユーザが、HDD２４に記録されているコンテンツをタイムシフト視聴する場合には、CPU３０は、端子部２５ｂを選択させ、HDD２４から読み出された映像信号が映像信号処理部２８に供給される。
【００３５】
EPG記憶部２６は、MPEGデコーダ２１から供給されるEPGデータを記憶する。ここに記憶されているEPGデータは、CPU３０によって参照される。なお、EPG記憶部２６は、HDD２４のハードディスクに設けられていても良い。
【００３６】
OSD処理部２７は、CPU３０からの指示に従って、コンテンツの映像に重畳表示させる所定の文字や画像に対応する信号（OSD信号）を生成し、映像信号処理部２８に供給する。例えば、OSD処理部２７は、いま選局されているチャンネル（の数字）や音声のボリュームなどを表す映像となるOSD信号を生成する。また、OSD処理部２７は、CPU３０の制御により、所定の番組の録画の予約を行うときに表示装置２に表示させる録画予約画面（Graphical User Interface）の映像信号もOSD信号として生成し、映像信号処理部２８に供給する。
【００３７】
映像信号処理部２８は、スイッチ２５から供給されるコンテンツの映像信号をHDMI I/F部２９にそのまま供給する。また、映像信号処理部２８は、スイッチ２５から供給されるコンテンツの映像信号の代わりに、OSD処理部２７から供給されるOSD信号を映像信号に変換し、HDMI I/F部２９に供給する。さらに、映像信号処理部２８は、スイッチ２５から供給されるコンテンツの映像にOSD信号が表す映像を重畳表示されるように、映像信号とOSD信号を合成した映像信号を生成し、HDMI I/F部２９に供給する。
【００３８】
HDMI I/F部２９は、HDMI端子１１を介して接続されている表示装置２が受入可能な映像信号のフォーマットを取得する。そして、HDMI I/F部２９は、映像信号処理部２８から供給される映像信号をHDMIの規格に従った信号で、かつ、表示装置２が受入可能な映像信号のフォーマットに変換し、HDMI端子１１を介して表示装置２に出力する。なお、HDMIの規格では、HDMIを有する機器は、一意に識別可能な公開鍵ksv（Key Selection Vector）を有し、互いの公開鍵ksvをやり取りし、映像信号を公開鍵ksvで暗号化した上で授受することが定められている。HDMI I/F部２９は、自身の公開鍵ksvを保持している。
【００３９】
CPU３０は、フラッシュROM３２およびHDD２４からロードされてRAM３１に記憶されているプログラムに基づいて、コンテンツの記録および再生等の所定の処理を実行する。ここで、CPU３０により実行されるプログラムとしては、プレカーネル、メインカーネル、およびアプリケーションがある。プレカーネルは、記録再生装置１の電源投入時に最初に起動され、最低限必要な複数のデバイスを有効にする起動プログラムである。メインカーネルは、プレカーネルの次に起動され、アプリケーションの動作に必要な全てのデバイスを有効にしたり、所定の設定を行うプログラムである。アプリケーションは、メインカーネルの上位アプリケーションであり、ユーザの操作を受け付け、その受け付けた操作に応じて各種の動作を制御するプログラムである。なお、以下では、プレカーネル、メインカーネル、およびアプリケーションを区別しない場合、それらの全てまたは一部を、単にプログラムと称する。
【００４０】
CPU３０は、例えば、ユーザに指定されたコンテンツを録画するため、チューナ部２０に対して受信する放送局を指定し、受信された映像信号の圧縮および暗号化を圧縮伸長部２２と暗号化部２３に実行させ、HDD２４に記録させる。
【００４１】
CPU３０は、また、ユーザの操作に基づいて、HDD２４に記録されているコンテンツの再生を制御する。即ち、CPU３０は、圧縮伸長部２２と暗号化部２３にHDD２４から読み出した暗号化された映像信号の復号および伸長を行わせ、スイッチ２５に対して端子部２５ｂを選択させ、再生した映像信号を表示装置２に出力させる。
【００４２】
RAM３１は、ロードされたプログラムを一時的に記憶するほか、その実行中に一時的に記憶することが必要な変数なども記憶する。
【００４３】
フラッシュROM３２は、上述のプレカーネルを記憶する。また、フラッシュROM３２は、CPU３０が暗号化部２３に供給する、コンテンツを暗号化するための暗号鍵khddなども記憶する。なお、メインカーネルおよびアプリケーションは、HDD２４に記憶されている。
【００４４】
操作部３３は、例えば、記録再生装置１の前面に設けられた、電源ボタンなどの各種の操作ボタンで構成され、それらの操作ボタンがユーザによって操作された場合に、操作された操作ボタンに対応する操作信号をCPU３０に供給する。
【００４５】
以上のように構成される記録再生装置１は、ロードされたプログラムに基づいて、受信したコンテンツの映像信号をHDD２４に記録したり、HDD２４に記録されたコンテンツを再生し、表示装置２に表示させる。
【００４６】
ここで、HDD２４に記録されるコンテンツは、上述したように暗号鍵khddで暗号化されて記憶されるが、この暗号鍵khddは、ARIBの実装基準（ロバストネスルール）に従い、装置固有のものである必要がある。
【００４７】
記録再生装置１では、出荷用のプログラムをインストールするインストーラが記憶されたUSBメモリ４がUSB端子１３に接続され、インストーラが実行されたとき、暗号鍵khddが記録再生装置１内に生成される。
【００４８】
従って、従来、厳重な管理の下、暗号鍵khddを生成して記録再生装置１にインストールする必要があったものが、USBメモリ４に記憶されたインストーラを用いて簡単にインストールすることができる。
【００４９】
しかしながら、このようにした場合、インストーラの脆弱性が問題となる。すなわち、厳重に管理されるべき暗号鍵khddの生成が可能なインストーラが携帯可能なUSBメモリ４に記憶されている。そのため、厳重にUSBメモリ４を管理するとしても、万が一、USBメモリ４（のインストーラ）が流出した場合に備えて、インストーラを無効化する術を備えておく必要がある。
【００５０】
本実施の形態のUSBメモリ４に記憶されたインストーラは、後述するように、万一の流出事故等に備えて無効化することができるように手当てされている。これにより、装置固有の暗号鍵khddを、安全かつ確実に、記録再生装置１にインストールすることができ、暗号鍵khddの生成をUSBメモリ４を用いて行うことができるため、暗号鍵の管理が容易になる。
【００５１】
[製造USBメモリの作成手順]
そこで、最初に、インストーラが記憶されたUSBメモリ４の作成手順について、図２を参照して説明する。なお、インストーラが記憶されたUSBメモリ４は、プログラムの開発終了後、開発者から製造部門に渡され、製造部門で使用される。以下では、インストーラが記憶されたUSBメモリ４を、後述するその他のデータが記憶されたUSBメモリ４と区別して、製造USBメモリ４Aと称する。
【００５２】
初めに、ステップＳ１において、装置固有の暗号鍵khddを管理すべき鍵管理者のPC３（以下、鍵管理者PC３Aという）は、同一の機種に共通の秘密鍵kxを決定し、秘密鍵kxを含むオブジェクトファイルを作成する。この秘密鍵kxは、鍵管理者によって厳重に管理され、他の者に知られることはない。そして、鍵管理者PC３Aは、生成した秘密鍵kxを含むオブジェクトファイルを、記録再生装置１のプログラムの開発者のPC３（以下、開発者PC３Bという）に供給する。
【００５３】
開発者PC３Bは、ステップＳ１１において、秘密鍵kxを含むオブジェクトファイルを取得する。オブジェクトファイルはバイナリファイルであるため、開発者がそのファイルから秘密鍵kxを知ることはできない。
【００５４】
ステップＳ１２において、開発者PC３Bは、開発者の操作に基づき、開発終了後のプログラムを含むインストーラを作成する。開発者は、インストーラを作成するとき、秘密鍵kxを含むオブジェクトファイルをリンクさせる。従って、インストーラのなかには、開発者が認識できない状態で秘密鍵kxも含まれる。これにより、オブジェクトファイルがリンクされたモジュールでは、秘密鍵kxを用いた復号のみができる。
【００５５】
ステップＳ２において、鍵管理者PC３Aは、使い捨て鍵khmac、ラップ使い捨て鍵k'hmac、およびラップカウンタrc'を作成する。使い捨て鍵khmacは、プログラムを更新するごとに生成される使い捨て鍵である。ラップ使い捨て鍵k'hmacは、秘密鍵kxでラップ（暗号化）した使い捨て鍵khmacである。ラップカウンタrc'は、カウンタrc（rivision counter）を秘密鍵kxでラップ（暗号化）したものである。カウンタrcは、プログラムを更新する毎にインクリメントされる値であり、プログラムのバージョンナンバに相当する。
【００５６】
ステップＳ３において、鍵管理者PC３Aは、鍵管理者の操作に基づいて、生成したインストーラが改ざんされていないことを証明するインストーラ証明書を作成するためのインストーラ証明書作成モジュールを作成する。
【００５７】
ステップＳ１３において、開発者PC３Bは、使い捨て鍵khmac、ラップ使い捨て鍵k'hmac、およびラップカウンタrc'を鍵管理者PC３Aから取得する。また、開発者PC３Bは、ステップＳ１４において、インストーラ証明書作成モジュールを鍵管理者PC３Aから取得する。
【００５８】
ステップＳ１５において、開発者は、インストーラ証明書作成モジュールを用いて、署名付きインストーラを開発者PC３Bに作成させる。開発者PC３Bは、開発者の操作に基づいて、署名付きインストーラを作成する。ここで、作成される署名付きインストーラは、ステップＳ１２で作成したインストーラに、その証明書としての電子署名が付加されたものである。
【００５９】
ステップＳ１６において、開発者PC３Bは、製造USBメモリ４Aに、作成された署名付きインストーラを記憶させる。
【００６０】
以上のようにして作成された製造USBメモリ４Aが、開発者から製造部門に渡される。また、製造USBメモリ４Aは、記録再生装置１の修理等を行うサービス部門にも渡される。
【００６１】
[製造USBメモリ４Aが保有するデータ例]
図３は、以上のようにして生成された製造USBメモリ４Aに記憶されているデータの例を示している。
【００６２】
製造USBメモリ４Aには、図３に示されるように、署名付きインストーラ５１が格納されている。そして、署名付きインストーラ５１は、インストーラ５２と、その電子署名５３とから構成される。電子署名５３は、インストーラ５２の改ざんを検出するための情報（プログラム改ざん検出情報）であると言える。
【００６３】
インストーラ５２は、ラップ暗号鍵生成モジュール６１、セキュアデータ生成モジュール６２、秘密鍵生成モジュール６３、セキュアデータ検証モジュール６４、インストーラ証明書検証モジュール６５、開発者検証モジュール６６、およびアプリケーション６７により構成される。
【００６４】
ラップ暗号鍵生成モジュール６１は、暗号化部２３がコンテンツを暗号化してHDD２４に記録する際の暗号鍵khddを生成し、かつ、秘密鍵生成モジュール６３が生成する秘密鍵kwでラップしたラップ暗号鍵k'hddを生成する。
【００６５】
セキュアデータ生成モジュール６２は、プレカーネルの完全性（integrity）をチェックし、古いバージョン（カウンタrc）のプログラムを使用できないようにするためのセキュアデータを生成する。セキュアデータは、装置固有のデータに基づいて作成され、フラッシュROM３２に格納される。
【００６６】
秘密鍵生成モジュール６３は、コンテンツを暗号化するための暗号鍵khddをラップする秘密鍵kwを生成する。
【００６７】
セキュアデータ検証モジュール６４は、記録再生装置１の起動時に、フラッシュROM３２に格納されているセキュアデータの完全性を検証する。
【００６８】
インストーラ証明書検証モジュール６５は、電子署名５３に基づいて、インストーラ５２の完全性を検証する。
【００６９】
開発者検証モジュール６６は、プログラムのコーディング等を行うため、開発者PC3Bが記録再生装置１のEther端子１２に接続された場合、その接続された開発者PC3Bが正当なものであるかを検証する。
【００７０】
アプリケーション６７は、インストールまたは更新されるアプリケーションである。
【００７１】
なお、点線で囲まれている秘密鍵生成モジュール６３、セキュアデータ検証モジュール６４、インストーラ証明書検証モジュール６５、開発者検証モジュール６６、およびアプリケーション６７は、インストーラ５２が実行されることにより、記録再生装置１にインストール（コピー）されるプログラムである。各モジュールは、それぞれ単独に動作するものであってもよいし、いずれかのモジュールに包含され、他のモジュールの一部として動作するものでもよい。
【００７２】
一方、ラップ暗号鍵生成モジュール６１とセキュアデータ生成モジュール６２は、インストーラ５２が実行されることにより、CPU３０により実行されるが、記録再生装置１には、インストールされない。
【００７３】
[インストーラ証明書作成処理]
図４は、図２のステップＳ１５におけるインストーラ証明書作成処理の詳細なフローチャートである。
【００７４】
初めに、ステップＳ２１において、開発者PC３Bは、HMAC（hash,khmac,[インストーラ]）を計算する。ここで、HMAC（hash,khmac,[インストーラ]）は、カッコ[]内のデータに対して、ハッシュ関数（hash）と秘密鍵khmacを用いて計算されるMAC(Message Authentication Code)を意味する。即ち、開発者PC３Bは、図２のステップＳ１２で作成したインストーラ５２のHMACを計算する。
【００７５】
HMACは、hash(key XOR opad,hash(key XOR ipad,message))で定義される。即ち、HMACは、秘密鍵keyと固定文字列ipadの排他的論理和にデータmessageを追加したものにハッシュ関数を適用し、その結果を、秘密鍵keyと固定文字列opadの排他的論理和に追加して、ハッシュ関数を適用した値である。hash関数としては、例えば、SHA-1やMD５などを採用することができるが、本実施の形態では、hash関数を利用するすべてにおいてSHA-1を採用するものとする。
【００７６】
ステップＳ２２において、開発者PC３Bは、上述した図２のステップＳ１３で鍵管理者PC３Aから取得したラップカウンタrc'とラップ使い捨て鍵k'hmacを、記憶している内部メモリから取得する。
【００７７】
ステップＳ２３において、開発者PC３Bは、計算により得られたHMAC（hash,khmac,[インストーラ]）、取得したラップカウンタrc'、およびラップ使い捨て鍵k'hmacとからなる電子署名５３を生成する。
【００７８】
ステップＳ２４において、開発者PC３Bは、生成された電子署名５３を、インストーラ５２に付加して、署名付きインストーラ５１を生成する。署名付きインストーラ５１の生成後、処理は終了する。
【００７９】
[製造USBメモリ４Aからのインストール処理]
次に、図５を参照して、図３の製造USBメモリ４Aを用いたプログラムのインストール処理について説明する。この処理は、例えば、製造USBメモリ４AをUSB端子１３に接続した状態で、記録再生装置１の電源が投入（リブート）されたとき開始される。
【００８０】
なお、製造直後の記録再生装置１のフラッシュROM３２には、USB端子１３を認識可能とするような必要最低限のデバイスを駆動するプレカーネルが予め記憶されているものとする。
【００８１】
初めに、ステップＳ３１において、記録再生装置１のCPU３０は、フラッシュROM３２に記憶されているプレカーネルをロードする。これにより、USB端子１３などの必要最低限のデバイスの認識が可能となる。
【００８２】
ステップＳ３２において、セキュアデータ検証モジュール６４が実行されることにより、CPU３０は、フラッシュROM３２に格納されているセキュアデータを読み出し、セキュアデータの完全性を検証するセキュアデータ検証処理を実行する。セキュアデータ検証処理の詳細な処理については、図１２を参照して後述する。なお、セキュアデータには、プログラムのバージョンを表すカウンタrcが少なくとも含まれる。
【００８３】
製造直後の記録再生装置１であって、フラッシュROM３２にセキュアデータが記憶されていない場合には、ステップＳ３２に処理は省略される。一方、サービス部門において本インストール処理が実行される場合など、記録再生装置１のフラッシュROM３２にセキュアデータが既に記憶されている場合には、ステップＳ３２の処理が実行される。
【００８４】
ステップＳ３３において、インストーラ証明書検証モジュール６５が実行されることにより、CPU３０は、製造USBメモリ４Aの電子署名５３を用いて、製造USBメモリ４Aのインストーラ５２の完全性を検証するインストーラ証明書検証処理を実行する。この詳細な処理については、図６を参照して後述する。
【００８５】
ステップＳ３４において、CPU３０は、電子署名５３によりインストーラ５２の完全性が確認された場合、製造USBメモリ４Aのプログラムを記録再生装置１にインストールするプログラムインストール処理を実行して、処理を終了する。この詳細な処理については、図７を参照して後述する。
【００８６】
次に、上述したステップＳ３２乃至Ｓ３４の各処理の詳細について説明する。
【００８７】
[インストーラ証明書検証処理]
図６は、上述した図５のステップＳ３３におけるインストーラ証明書検証処理の詳細な処理を示すフローチャートである。
【００８８】
初めに、ステップＳ４１において、CPU３０は、製造USBメモリ４Aから署名付きインストーラ５１を読み出す。
【００８９】
そして、ステップＳ４２において、CPU３０は、読み出した署名付きインストーラ５１に電子署名５３として含まれるラップ使い捨て鍵k'hmacを、秘密鍵kxで復号（Decryption）して、使い捨て鍵khmacを生成する。なお、秘密鍵kxは、上述したように、インストーラ５２にリンクされたオブジェクトファイルにより、各モジュールで利用可能となっている。
【００９０】
なお、図６では、秘密鍵kxでラップ使い捨て鍵k'hmacを復号（Decryption）して、使い捨て鍵khmacを生成することを、khmac=Dec（kx,k'hmac）と記述している。また同様に、例えば、秘密鍵kxで使い捨て鍵khmacをラップ（Encryption）して、ラップ使い捨て鍵k'hmacを生成することを、図面ではk'hmac=Enc（kx, khmac）と記述する。
【００９１】
ステップＳ４３において、CPU３０は、HMAC（hash,khmac,[インストーラ]）を計算する。ここで、khmacは、ステップＳ４２の復号により得られた使い捨て鍵khmacであり、[インストーラ]は、署名付きインストーラ５１に含まれるインストーラ５２である。
【００９２】
ステップＳ４４において、CPU３０は、ステップＳ４３で計算したHMAC（hash,khmac,[インストーラ]）が、製造USBメモリ４Aから読み出した電子署名５３に含まれるHMACと一致するかを判定する。
【００９３】
ステップＳ４４で、計算したHMACが、電子署名５３のHMACと一致していないと判定された場合、インストーラ５２が改ざんされている可能性があるので、処理は終了する。
【００９４】
一方、ステップＳ４４で、計算したHMACが、電子署名５３のHMACと一致していると判定された場合、ステップＳ４５において、CPU３０は、電子署名５３に含まれるラップカウンタrc'を、秘密鍵kxで復号（Decryption）して、カウンタrcを生成する。
【００９５】
ステップＳ４６において、CPU３０は、フラッシュROM３２に記憶されているプログラムのカウンタrcが、製造USBメモリ４Aから読み出したカウンタrcよりも大であるかを判定する。
【００９６】
ステップＳ４６で、フラッシュROM３２のカウンタrcが、読み出したカウンタrcよりも大であると判定された場合、記録再生装置１内のプログラムが、製造USBメモリ４Aのプログラムより新しいことを意味するので、処理は終了する。
【００９７】
一方、ステップＳ４６で、フラッシュROM３２のカウンタrcが、読み出したカウンタrcよりも大ではないと判定された場合、処理はステップＳ４７に進み、CPU３０は、フラッシュROM３２のカウンタrcが、読み出したカウンタrcと同一であるかを判定する。
【００９８】
ステップＳ４７で、フラッシュROM３２のカウンタrcが、読み出したカウンタrcと同一であると判定された場合も、処理は終了する。
【００９９】
一方、ステップＳ４７で、フラッシュROM３２のカウンタrcが、読み出したカウンタrcと同一ではないと判定された場合、即ち、フラッシュROM３２のカウンタrcが、読み出したカウンタrcより小さい場合、処理はステップＳ４８に進む。
【０１００】
ステップＳ４８では、CPU３０は、フラッシュROM３２に記憶されているカウンタrcを、読み出したカウンタrcに更新する。即ち、その後、実行されるプログラムのインストール処理で、製造USBメモリ４A内のプログラムに更新されるので、フラッシュROM３２のカウンタrcが、製造USBメモリ４A内のプログラムのカウンタrcに更新される。
【０１０１】
そして、ステップＳ４９において、CPU３０は、更新フラグをオンにして、図５のインストール処理に戻り、ステップＳ３４のプログラムインストール処理に移行する。
【０１０２】
[プログラムのインストール処理]
図７は、図５のステップＳ３４のプログラムインストール処理の詳細な処理を示すフローチャートである。
【０１０３】
最初に、CPU３０は、ステップＳ６１において、更新フラグがオンとなっているかを判定する。ステップＳ６１で、更新フラグがオンではないと判定された場合、処理は終了する。
【０１０４】
一方、ステップＳ６１で、更新フラグがオンであると判定された場合、処理はステップＳ６２に進み、CPU３０は、コンテンツを暗号化するための秘密鍵kwの生成処理を実行する。この処理の詳細は、図８を参照して後述する。
【０１０５】
ステップＳ６３において、CPU３０は、コンテンツの暗号鍵khddをラップしたラップ暗号鍵k'hddを生成するラップ暗号鍵k'hdd生成処理を実行する。この処理の詳細は、図９を参照して後述する。
【０１０６】
ステップＳ６４において、CPU３０は、フラッシュROM３２に格納されるセキュアデータを生成するセキュアデータ生成処理を実行する。この処理の詳細は、図１０を参照して後述する。
【０１０７】
ステップＳ６５において、CPU３０は、製造USBメモリ４Aに含まれるアプリケーション６７のインストールを実行する。また、CPU３０は、製造直後の最初のインストール処理では、秘密鍵生成モジュール６３、セキュアデータ検証モジュール６４、インストーラ証明書検証モジュール６５、および開発者検証モジュール６６もインストールする。
【０１０８】
ステップＳ６６において、CPU３０は、更新フラグをリセットして、処理を終了する。
【０１０９】
[秘密鍵kw生成処理]
図８は、図７のステップＳ６２における秘密鍵kwの生成処理の詳細な処理を示すフローチャートである。
【０１１０】
初めに、ステップＳ７１において、CPU３０は、記録再生装置１固有の情報として、HDMI I/F部２９からHDMIの公開鍵ksv（以下、公開鍵HDMI-ksvとも称する）を読み出す。なお、本実施の形態では、記録再生装置１がHDMI I/F部２９を有していることから、記録再生装置１を識別する情報として、その公開鍵ksvを採用することとするが、記録再生装置１を一意に識別するものであれば、HDMIの公開鍵ksvでなくてもよい。
【０１１１】
ステップＳ７２において、CPU３０は、公開鍵HDMI-ksvに秘密の固定文字列saltを結合した値にハッシュ関数を適用することにより、秘密鍵kwを生成する。ここで、秘密の固定文字列saltは、鍵管理者により管理され、秘密鍵kxとともにオブジェクトファイルにより与えられる。
【０１１２】
以上により、ステップＳ６２における秘密鍵kwの生成処理は終了する。
【０１１３】
[ラップ暗号鍵k'hdd生成処理]
図９は、秘密鍵kwの生成処理終了後に実行される、図７のステップＳ６３におけるラップ暗号鍵k'hdd生成処理の詳細な処理を示すフローチャートである。
【０１１４】
初めに、ステップＳ８１において、CPU３０は、記録再生装置１固有の情報として、HDD２４のシリアルナンバHDD-S/Nを読み出す。
【０１１５】
ステップＳ８２において、CPU３０は、HDD２４のシリアルナンバHDD-S/Nと秘密の固定文字列saltとを結合した値にハッシュ関数を適用することにより、コンテンツの暗号鍵khddを生成する。このコンテンツの暗号鍵khddは、１６０ビットで生成される。
【０１１６】
ステップＳ８３において、CPU３０は、１６０ビットのコンテンツの暗号鍵khddの上位１２８ビットを取り出す。即ち、暗号化部２３が１２８ビットの暗号鍵khddを用いたAES暗号方式により暗号化するため、コンテンツの暗号鍵khddが１２８ビットに整形される。
【０１１７】
ステップＳ８４において、CPU３０は、コンテンツの暗号鍵khddを秘密鍵kwでラップすることにより、ラップ暗号鍵k'hddを生成する。ここでの暗号化方式は、BlowFish（BF）を採用しているが、これに限定されるわけではない。
【０１１８】
以上により、ステップＳ６３におけるラップ暗号鍵k'hdd生成処理は終了する。
【０１１９】
[セキュアデータ生成処理]
図１０は、ラップ暗号鍵k'hdd生成処理終了後に実行される、図７のステップＳ６４におけるセキュアデータ生成処理の詳細な処理を示すフローチャートである。
【０１２０】
初めに、ステップＳ９１において、CPU３０は、HDD２４のシリアルナンバHDD-S/Nを取得する。
【０１２１】
ステップＳ９２において、CPU３０は、図９のラップ暗号鍵k'hdd生成処理で生成したラップ暗号鍵k'hddを取得する。
【０１２２】
ステップＳ９３において、CPU３０は、カウンタrcを取得する。ここで、カウンタrcは、フラッシュROM３２のカウンタrcが既に更新予定のプログラムに対応する値に変更されているので、フラッシュROM３２から取得しても良いし、製造USBメモリ４Aから取得しても良い。
【０１２３】
ステップＳ９４において、CPU３０は、HMAC（hash,ｋｗ,[HDD-S/N,k'hdd,rc]）を計算する。即ち、CPU３０は、取得したHDD２４のシリアルナンバHDD-S/N、ラップ暗号鍵k'hdd、およびカウンタrcを結合した文字列のHMACを計算する。このHMACは、HDD２４のシリアルナンバHDD-S/N、ラップ暗号鍵k'hdd、およびカウンタrcの改ざんを検出するための情報（鍵改ざん検出情報）であると言える。
【０１２４】
ステップＳ９５において、CPU３０は、HDD２４のシリアルナンバHDD-S/N、ラップ暗号鍵k'hdd、およびカウンタrcと、そのHMACをセキュアデータとして、フラッシュROM３２に格納する。
【０１２５】
以上により、セキュアデータ生成処理は終了する。
【０１２６】
[セキュアデータの例]
図１１は、セキュアデータ生成処理により生成されるセキュアデータをまとめたものである。
【０１２７】
例えば、セキュアデータは、２０バイトのHDD２４のシリアルナンバHDD-S/N、１６バイト（１２８ビット）のラップ暗号鍵k'hdd、２バイトのカウンタrc、および、２０バイトのHMACからなる、合計５８バイトのデータで構成される。
【０１２８】
なお、セキュアデータ生成処理では、同一のセキュアデータをフラッシュROM３２の２箇所に記録させることができる。これにより、セキュアデータの書き込み中のエラー等の不測の事態にも対応することができる。
【０１２９】
[セキュアデータ検証処理]
図１１に示したようなセキュアデータが、フラッシュROM３２に記憶されている場合には、記録再生装置１の電源が投入され、プレカーネルの起動後、図５のステップＳ３２として、セキュアデータの検証が実行される。
【０１３０】
図１２は、図５のステップＳ３２におけるセキュアデータ検証処理の詳細な処理を示すフローチャートである。
【０１３１】
初めに、ステップＳ１０１において、CPU３０は、フラッシュROM３２からセキュアデータを読み出し、ステップＳ１０２において、図８で説明した秘密鍵kwの生成処理を実行して秘密鍵kwを生成する。
【０１３２】
ステップＳ１０３において、CPU３０は、フラッシュROM３２から読み出したHDD２４のシリアルナンバHDD-S/N、ラップ暗号鍵k'hdd、およびカウンタrcと秘密鍵kwを用いて、HMACを計算する。即ち、CPU３０は、HMAC（hash,ｋｗ,[HDD-S/N,k'hdd,rc]）を計算する。
【０１３３】
ステップＳ１０４において、CPU３０は、ステップＳ１０３で計算したHMACが、フラッシュROM３２から読み出したHMACと一致するかを判定する。
【０１３４】
ステップＳ１０４で、計算したHMACと読み出したHMACが一致しないと判定された場合、図５の製造USBメモリ４Aを用いたプログラムのインストールそのものが終了する。即ち、計算したHMACと読み出したHMACが一致しないと判定された場合には、製造USBメモリ４A内のプログラムをインストールすることはできない。
【０１３５】
一方、ステップＳ１０４で、計算したHMACと読み出したHMACが一致すると判定された場合、処理はステップＳ１０５に進み、CPU３０は、ステップＳ１０２で生成した秘密鍵kwで、読み出したセキュアデータのうちのラップ暗号鍵k'hddを復号する。これにより、コンテンツの暗号鍵khddが得られる。
【０１３６】
ステップＳ１０６において、CPU３０は、得られたコンテンツの暗号鍵khddを暗号化部２３に供給して、処理を図５に戻す。
【０１３７】
以上のように、フラッシュROM３２にセキュアデータが格納されている場合には、そのセキュアデータの完全性が検証された場合にのみ、プログラムのインストールが実行される。
【０１３８】
また、セキュアデータの完全性が検証された場合にのみ、セキュアデータの一部であるラップ暗号鍵k'hddが復号され、その結果得られたコンテンツの暗号鍵khddが、暗号化部２３に供給される。
【０１３９】
[フラッシュROM３２およびHDD２４のデータ例]
以上、図５乃至図１２を参照して説明した、製造USBメモリ４Aを用いたプログラムのインストール処理が終了した結果、記録再生装置１のフラッシュROM３２およびHDD２４には、図１３に示すデータが記録される。
【０１４０】
即ち、図１３は、インストール終了後に記録再生装置１のフラッシュROM３２およびHDD２４に記録されるデータの例を示している。
【０１４１】
フラッシュROM３２には、プレカーネルとセキュアデータが記録される。プレカーネルには、秘密鍵生成モジュール６３とセキュアデータ検証モジュール６４が含まれる。
【０１４２】
一方、HDD２４には、メインカーネルとアプリケーションが記録される。メインカーネルには、秘密鍵生成モジュール６３、セキュアデータ検証モジュール６４、インストーラ証明書検証モジュール６５、および開発者検証モジュール６６が含まれる。アプリケーションは、インストーラ５２に含まれるアプリケーション６７に対応するものである。
【０１４３】
なお、アプリケーションが更新（バージョンアップ）された場合には、記録再生装置１の修理等を行うサービス部門において、上述した製造USBメモリ４Aを用いて、記録再生装置１のアプリケーションを更新することができる。
【０１４４】
また、地上ディジタル放送やBSディジタル放送では、コンテンツの映像信号のほかに、EPGなどの番組情報や更新されたプログラムを、放送信号として送信することができる。
【０１４５】
そこで、アプリケーションが更新された場合には、更新後のアプリケーションを放送信号として記録再生装置１に送信することで、記録再生装置１に記憶されたアプリケーションを更新することもできる。
【０１４６】
[放送DL(ダウンロード)用のインストーラの構成例]
図１４は、放送信号に含まれる署名付きインストーラ５１DLの構成例を示している。
【０１４７】
放送信号に含まれる署名付きインストーラ５１DLは、放送DL用インストーラ５２DLと、その電子署名５３DLとから構成される。
【０１４８】
放送DL用インストーラ５２DLは、秘密鍵生成モジュール６３と、アプリケーション６７とから構成される。なお、セキュアデータ検証モジュール６４、インストーラ証明書検証モジュール６５、および開発者検証モジュール６６は、基本的には更新されないが、更新される場合には、放送DL用インストーラ５２DLに含ませることも可能である。
【０１４９】
[放送信号に含まれるプログラムのインストール処理]
図１５は、放送信号として送信される更新用のアプリケーションのインストール処理を示すフローチャートである。この処理は、例えば、放送信号として更新用のアプリケーションが受信されたとき、開始される。
【０１５０】
初めに、ステップＳ１１１において、CPU３０は、受信されたアプリケーションをインストールする指示があったかを判定し、インストールする指示があったと判定されるまで待機する。
【０１５１】
例えば、記録再生装置１が更新用のアプリケーションを受信した場合、その旨を表示装置２に表示し、更新するか否かをユーザに確認する。ユーザが更新することを選択した場合、ステップＳ１１１で、インストールする指示があったと判定される。
【０１５２】
なお、ユーザの指示を確認せずに、更新用のアプリケーションを受信した場合には、受信したアプリケーションに必ず書き換えるようにしてもよい。その場合、ステップＳ１１１の処理は省略される。
【０１５３】
ステップＳ１１１で、受信されたアプリケーションをインストールする指示があったと判定された場合、処理はステップＳ１１２に進む。ステップＳ１１２では、CPU３０は、署名付きインストーラ５１DLに含まれる電子署名５３DLに基づいて、放送DL用インストーラ５２DLの完全性を検証するインストーラ証明書検証処理を実行する。この処理は、図６を参照して説明した処理と同様の処理であるので、その詳細な説明は省略する。ただし、図６の処理における、読み出される署名付きインストーラが、製造USBメモリ４Aの署名付きインストーラ５１ではなくて、受信された署名付きインストーラ５１DLとなる。
【０１５４】
ステップＳ１１３では、CPU３０は、更新フラグがオンとなっているかを判定する。ステップＳ１１３で、更新フラグがオンではないと判定された場合、処理は終了する。
【０１５５】
一方、ステップＳ１１３で、更新フラグがオンであると判定された場合、処理はステップＳ１１４に進み、CPU３０は、図８を参照して説明した、コンテンツを暗号化するための秘密鍵kwの生成処理を実行する。
【０１５６】
そして、ステップＳ１１５において、CPU３０は、受信された放送DL用インストーラ５２DLのアプリケーション６７のインストールを実行する。
【０１５７】
その後、CPU３０は、ステップＳ１１６において、更新フラグをリセットして、処理を終了する。
【０１５８】
以上の処理により、放送信号として更新用のアプリケーションを記録再生装置１に送信して、アプリケーションを更新することができる。
【０１５９】
以上、説明した記録再生装置１によれば、CPU３０は、製造USBメモリ４Aに記憶された署名付きインストーラ５１を実行することにより、記録再生装置１固有のコンテンツの暗号鍵khddを生成することができる。具体的には、コンテンツの暗号鍵khddは、記録再生装置１固有の第１の情報としてのHDD２４のシリアルナンバHDD-S/Nを用いて生成される。
【０１６０】
また、生成されたコンテンツの暗号鍵khddは、記録再生装置１固有の第２の情報としてのHDMIの公開鍵ksvから生成された秘密鍵kwを用いてラップされた上で、セキュアデータの一部としてフラッシュROM３２に格納される。従って、仮にフラッシュROM３２が取り出されたとしても、コンテンツの暗号鍵khddを悪意のある第三者が知ることはできない。
【０１６１】
署名付きインストーラ５１には、インストーラ５２と電子署名５３が含まれ、インストーラ５２の完全性は電子署名５３により保障される。電子署名５３は、鍵管理者PC３Aから供給された使い捨て鍵khmac、ラップ使い捨て鍵k'hmac、およびラップカウンタrc'に基づいて開発者PC３Bにより作成される。開発者は、平文の使い捨て鍵khmacを取得することはできるが、鍵管理者のみが知る秘密鍵kxを知らないため、仮に、改ざんした使い捨て鍵khmac＃を生成したとしても、そのラップ使い捨て鍵k'hmac＃を作成することはできない。従って、改ざんした使い捨て鍵khmac＃に対応するラップ使い捨て鍵k'hmac＃を作成できない開発者は、結局、使い捨て鍵khmacを改ざんすることはできない。なお、開発者は、使い捨て鍵khmacを用いて、電子署名５３を作成することは可能である。
【０１６２】
従って、管理者が秘密鍵kxを厳重に管理する限り、インストーラ５２の完全性が保障され、コンテンツの暗号鍵khddの安全性も担保される。
【０１６３】
管理者が秘密鍵kxを厳重に管理することは、従来のようにセキュリティルーム等を用意するより簡便である。また、製造部門やサービス部門では、携帯性のUSBメモリ４（製造USBメモリ４A）によってインストールすることができるため、プログラムのインストールが容易となる。
【０１６４】
従って、記録再生装置１および製造USBメモリ４Aによれば、簡単かつ安全に、暗号鍵を管理することができる。
【０１６５】
なお、万が一、製造USBメモリ４Aまたはそのなかに記憶される署名付きインストーラ５１が流出した場合には、次のようにすることができる。即ち、図１５を参照して説明した処理により、放送信号として、新しいカウンタrcのアプリケーションが記録再生装置１にインストールされる。これにより、古いカウンタrcを含む署名付きインストーラ５１の使用を防止することができる。
【０１６６】
ところで、記録再生装置１に最終的にインストールする出荷用のプログラムが作成されるまでは、開発者（設計者）は、記録再生装置１を用いてプログラムのコーディング等を行う必要がある。そして、記録再生装置１では、そのような場合にも、コンテンツの暗号鍵khddの安全性が確保される必要がある。
【０１６７】
そこで、記録再生装置１は、認証用のUSBメモリ４（以下、認証USBメモリ４Bと称する）によって、記録再生装置１に接続されているPC３の使用者が正当な利用者（開発者）であることを確認することができる。
【０１６８】
そして、記録再生装置１は、認証USBメモリ４Bによる確認（認証）ができた場合、受光装置５に代えて、開発者PC３Bがリモート入力端子１４に接続されたときにシリアル通信によるコマンドの送受信を可能とするモード（以下、開発モードという）を起動する。
【０１６９】
[認証USBメモリの作成手順]
図１６は、正当な利用者であることを確認する認証USBメモリ４Bの作成手順を示すフローチャートである。
【０１７０】
初めに、ステップＳ１２１において、鍵管理者PC３Aは、秘密鍵kxを含むオブジェクトファイルを作成する。ステップＳ１３１において、鍵管理者PC３Aは、生成した秘密鍵kxを含むオブジェクトファイルを取得する。なお、この処理は、図２のステップＳ１およびＳ１１の処理と同様であるので、既にオブジェクトファイルを有している場合には省略することができる。
【０１７１】
ステップＳ１２２において、鍵管理者PC３Aは、鍵管理者の操作に基づいて、開発者識別ファイルを証明する開発者識別ファイル証明書を作成するための開発者識別ファイル証明書作成モジュールを作成する。開発者識別ファイルは、開発者を識別するための情報が格納されたファイルである。
【０１７２】
開発者PC３Bは、ステップＳ１３２において、開発者識別ファイル証明書作成モジュールを鍵管理者PC３Aから取得する。
【０１７３】
開発者は、開発者PC３Bに、自身の開発者識別ファイルを作成させる。開発者PC３Bは、ステップＳ１３３において、開発者の操作に基づいて、開発者識別ファイルを作成する。なお、開発者が開発者識別ファイルを既に有している場合には、この処理は省略される。
【０１７４】
開発者は、開発者識別ファイル証明書作成モジュールを用いて、自身の開発者識別ファイルの開発者識別ファイル証明書を開発者PC３Bに作成させる。開発者PC３Bは、ステップＳ１３４において、開発者の操作に基づいて、開発者識別ファイル証明書を作成する。
【０１７５】
そして、ステップＳ１３５において、開発者PC３Bは、作成された開発者識別ファイル証明書と、その電子署名としての開発者識別ファイル証明書を認証USBメモリ４Bに記憶させる。
【０１７６】
[認証USBメモリ４Bが保有するデータ例]
図１７は、以上のようにして作成された認証USBメモリ４B内のデータの例を示している。
【０１７７】
認証USBメモリ４Bは、図１７Aに示されるように、開発者を識別する開発者識別ファイル８１と、その電子署名としての開発者識別ファイル証明書８２とが記憶されている。
【０１７８】
図１７Bは、開発者を識別する開発者識別ファイル８１のデータ例を示している。
【０１７９】
例えば、開発者識別ファイル８１のデータとしては、開発者のフルネーム（姓名）、開発者を一意に識別する開発者の識別情報、並びに、開発者が有する記録再生装置１の公開鍵HDMI-ksvおよびHDD-S/Nを採用することができる。
【０１８０】
ここで、開発者の識別情報は、例えば、社員番号などとすることができる。また、開発者が有する記録再生装置１とは、開発者に対してコーディング用等のために与えられた同機種の記録再生装置である。なお、これ以外のデータを採用することもできるし、この４種類の一部のみを採用しても勿論よい。
【０１８１】
[開発者PC３Bが保有するデータ例]
図１８は、図２および図１６の処理の結果、開発者PC３Bが保有するモジュールを示している。
【０１８２】
開発者PC３Bには、図２の処理により鍵管理者PC３Aから供給されるインストーラ証明書作成モジュール９１と、図１６の処理により鍵管理者PC３Aから供給される開発者識別ファイル証明書作成モジュール９２が記憶される。また、開発者識別ファイル証明書を作成する際に、秘密鍵kwが必要となるため、秘密鍵生成モジュール６３も記憶されている。なお、秘密鍵生成モジュール６３は、どのようなタイミングで取得しても良い。
【０１８３】
[開発者識別ファイル証明書作成処理]
図１９は、開発者識別ファイル証明書作成モジュール９２を実行することにより開発者PC３Bにより実行される、開発者識別ファイル証明書作成処理のフローチャートである。
【０１８４】
初めに、ステップＳ１４１において、開発者PC３Bは、所定の記憶部に記憶されている開発者識別ファイル８１を読み込む。
【０１８５】
ステップＳ１４２において、開発者PC３Bは、秘密鍵kwを生成する。この処理は、図８を参照して説明した処理と同様である。
【０１８６】
ステップＳ１４３において、開発者PC３Bは、HMAC（hash,ｋｗ,[開発者識別ファイル]）を計算する。即ち、開発者PC３Bは、開発者識別ファイルのHMACを計算する。
【０１８７】
ステップＳ１４４において、開発者PC３Bは、開発者識別ファイル証明書を作成する。即ち、開発者PC３Bは、開発者識別ファイル８１そのものと、そのHMACとを開発者識別ファイル証明書８２として作成し、処理を終了する。
【０１８８】
[開発者検証処理]
図２０は、記録再生装置１のUSB端子１３に認証USBメモリ４Bが接続された場合に、開発者検証モジュール６６を実行するCPU３０により行われる、開発者検証処理のフローチャートである。
【０１８９】
初めに、ステップＳ１５１において、CPU３０は、認証USBメモリ４Bから、開発者識別ファイル８１および開発者識別ファイル証明書８２を読み込む。
【０１９０】
ステップＳ１５２において、CPU３０は、秘密鍵kwを生成する。この処理は、図８を参照して説明した処理と同様である。
【０１９１】
ステップＳ１５３において、CPU３０は、HMAC（hash,ｋｗ,[開発者識別ファイル]）を計算する。即ち、CPU３０は、読み出した開発者識別ファイル８１のHMACを計算する。
【０１９２】
ステップＳ１５４において、CPU３０は、計算したHMACが、開発者識別ファイル証明書８２に記載のHMACと一致するかを判定する。
【０１９３】
ステップＳ１５４で、計算したHMACが開発者識別ファイル証明書８２に記載のHMACと一致しないと判定された場合、開発者であることが確認できないため、開発モードは起動されない。
【０１９４】
一方、ステップＳ１５４で、計算したHMACが開発者識別ファイル証明書８２に記載のHMACと一致したと判定された場合、CPU３０は、開発モードを起動する（開発モードに変更する）。
【０１９５】
開発モードでは、受光装置５に代えて、開発者PC３Bをリモート入力端子１４に接続した場合、開発者PC３Bから、コマンドの送受信が可能となる。これにより、例えば、記録再生動作等のトレース、パラメータの確認等を行うことができる。
【０１９６】
ところで、記録再生装置１では、上述したように、USB端子１３に、プログラムのインストールのため、製造USBメモリ４Aが接続される場合もあれば、開発者のコーディング等のため、認証USBメモリ４Bが接続される場合もある。また、開発途中では、Ether端子１２を介して開発者PC３Bが接続される場合もある。
【０１９７】
そこで、記録再生装置１では、Ether端子１２およびUSB端子１３の接続状況に応じて、一定の規則の下に、所定のプレカーネル、メインカーネル、およびアプリケーションが起動する。
【０１９８】
[電源投入時処理]
図２１は、記録再生装置１の電源が投入されたときの起動処理を説明するフローチャートである。
【０１９９】
初めに、ステップＳ１７１において、CPU３０は、フラッシュROM３２に記憶されているプレカーネルをロードする。これにより、USB端子１３などの必要最低限のデバイスの認識が可能となる。
【０２００】
ステップＳ１７２において、フラッシュROM３２に格納されているセキュアデータを読み出し、セキュアデータの完全性を検証するセキュアデータ検証処理を実行する。この処理は、図１２を参照して説明した処理と同様である。
【０２０１】
なお、電源投入時の処理の一部として実行される図１２のステップＳ１０４において、計算したHMACと読み出したHMACが一致しないと判定された場合には、記録再生装置１は、エラーメッセージを表示装置２に表示させることができる。例えば、セキュリティデータの完全性が確認できないため、HDD２４に記憶されているコンテンツの読み出しはできない旨のメッセージが表示される。これにより、HDD２４の初期化等を行わなければ、コンテンツの記録および再生はできなくなり、コンテンツの保護が保障される。
【０２０２】
セキュアデータ検証処理において、セキュアデータの一致が確認できた場合、ステップＳ１７３において、CPU３０は、USB接続ありか、即ち、USB端子１３にUSBメモリ４の接続があるかを判定する。
【０２０３】
ステップＳ１７３で、USB接続ありと判定された場合、処理はステップＳ１７４に進み、CPU３０は、接続されているUSBメモリ４が製造USBメモリ４Aであるかを判定する。
【０２０４】
ステップＳ１７４で、接続されているUSBメモリ４が製造USBメモリ４Aであると判定された場合、CPU３０は、ステップＳ１７５において、インストーラ証明書検証処理を実行し、ステップＳ１７６において、プログラムインストール処理を実行する。ステップＳ１７５およびＳ１７６の処理は、図５のステップＳ３３およびＳ３４として説明した処理であるので、その説明は省略する。
【０２０５】
一方、ステップＳ１７３で、USB接続なしと判定された場合、および、ステップＳ１７４で、接続されているUSBメモリ４が製造USBメモリ４Aではないと判定された場合、処理はステップＳ１７７に進む。
【０２０６】
ステップＳ１７７では、CPU３０は、Ether接続ありか、即ち、Ether端子１２に開発者PC３Bの接続があるかを判定する。
【０２０７】
ステップＳ１７７で、Ether接続ありと判定された場合、処理はステップＳ１７８に進み、CPU３０は、開発者PC３B内に記憶されているメインカーネルをロードする。
【０２０８】
その後、CPU３０は、ステップＳ１７９において、セキュアデータ検証処理を実行し、ステップＳ１８０において、開発者PC３B内に記憶されているアプリケーションをロードする。なお、ステップＳ１７９のセキュアデータ検証処理は、ステップＳ１７２の処理と重複するため、省略することができる。
【０２０９】
そして、ステップＳ１８１において、CPU３０は、認証用のUSB接続ありか、即ち、USB端子１３に認証USBメモリ４Bの接続があるかを判定する。
【０２１０】
ステップＳ１８１で、認証用のUSB接続なしと判定された場合、起動処理は終了する。
【０２１１】
一方、ステップＳ１８１で、認証用のUSB接続ありと判定された場合、CPU３０は、ステップＳ１８２において、図２０を参照して説明した開発者検証処理を実行し、開発者モードを起動して、処理を終了する。
【０２１２】
一方、上述したステップＳ１７７で、Ether接続なしと判定された場合、処理はステップＳ１８３に進み、CPU３０は、HDD２４に記憶されているメインカーネルをロードする。
【０２１３】
その後、CPU３０は、ステップＳ１８４において、セキュアデータ検証処理を実行し、ステップＳ１８５において、HDD２４に記憶されているアプリケーションをロードする。なお、ステップＳ１８４のセキュアデータ検証処理も省略することができる。
【０２１４】
ステップＳ１８６およびＳ１８７は、上述したステップＳ１８１およびＳ１８２と同様であるので、その説明は省略する。
【０２１５】
以上のように、記録再生装置１の電源が投入された場合、Ether端子１２およびUSB端子１３のうち、USB端子１３に接続があり、かつ、製造USBメモリ４Aが装着されているかが優先的に確認される。これにより、製造USBメモリ４Aによるプログラムのインストールが最優先される。
【０２１６】
次に、Ether端子１２の接続が確認され、開発者PC３Bが接続されている場合には、開発者PC３B内のアプリケーションが優先的に起動される。これにより、開発者は記録再生装置１用のアプリケーションのデバッグ等が可能になる。そして、開発者PC３Bとともに、USB端子１３に認証USB４Bが接続されている場合には、開発モードが起動するので、リモート入力端子１４を介したコマンドの送受信も可能となる。
【０２１７】
一方、Ether端子１２に何も接続されていない場合には、記録再生装置１内のHDD２４に記憶しているメインカーネルおよびアプリケーションが起動する。そして、USB端子１３に認証USB４Bが接続されている場合には、開発者認証処理によって開発モードが起動するので、開発者PC３Bによるリモート入力端子１４を介したコマンドの送受信が可能となる。
【０２１８】
Ether端子１２およびUSB端子１３のいずれにも何も接続されていない場合には、記録再生装置１内のHDD２４に記憶しているメインカーネルおよびアプリケーションが起動する。この状態は、ユーザが通常、記録再生装置１を使用する状態であり、HDD２４に記憶しているメインカーネルおよびアプリケーションに基づく、コンテンツの記録および再生が可能である。
【０２１９】
従って、記録再生装置１によれば、暗号鍵を簡単かつ安全に管理することができる上、開発者や製造部門およびサービス部門にとってのメンテナンス性にも優れている。
【０２２０】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０２２１】
記録再生装置１が内蔵している記録媒体としては、HDD２４のみとしたが、そのほかに、DVD(Digital Versatile Disc)、BD(Blu-ray Disc（商標）)などの光ディスクの記録再生を行う光ディスクドライブをさらに備えるようにしてもよい。
【０２２２】
また、記録再生装置１は、署名付きインストーラ５１や開発者識別ファイル８１などを記憶させる記録媒体をUSBメモリ４としたが、ICカード、携帯型PCのその他の記憶装置に記憶させ、接続可能としてもよい。
【０２２３】
なお、上述した実施の形態において、より新しいカウンタrcのプログラムをインストールすることで、それより古いプログラムは使用できなくなるので、カウンタrcは、プログラムを無効化させるための情報（無効化情報）であるともいうことができる。記録再生装置１では、このカウンタrcに代えて、例えば、プログラムの有効期限を表す日付および時刻を無効化情報として、採用することもできる。これにより、例えば、新しいカウンタrcのプログラムをインストールしなくても、所定の期限が到来したとき、プログラムを無効化することもできる。
【０２２４】
あるいは、開発者がコーディングをする場合には、無効化情報として日付および時刻を採用し、出荷する記録再生装置１にインストールされるプログラムの無効化情報には、カウンタrcを採用するなど、無効化情報を区別して利用してもよい。
【０２２５】
なお、無効化情報として日付および時刻を採用した場合には、記録再生装置１は、ユーザが記録再生装置１において設定した時刻ではなく、放送信号に含まれる時刻情報と無効化情報とを比較する。従って、放送信号に含まれる時刻情報が改ざんされず、かつ、正確であることが前提となる。
【０２２６】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０２２７】
図２２は、記録再生装置１またはUSBメモリ４に対応する記憶装置としてのコンピュータのハードウエアの構成例を示すブロック図である。
【０２２８】
コンピュータにおいて、CPU（Central Processing Unit）１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３は、バス１０４により相互に接続されている。
【０２２９】
バス１０４には、さらに、入出力インタフェース１０５が接続されている。入出力インタフェース１０５には、入力部１０６、出力部１０７、記憶部１０８、通信部１０９、及びドライブ１１０が接続されている。
【０２３０】
入力部１０６は、例えば、キーボード、マウス、マイクロホンなどよりなる。出力部１０７は、例えば、ディスプレイ、スピーカなどよりなる。記憶部１０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部１０９は、ネットワークインタフェースなどよりなる。ドライブ１１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１１１を駆動する。
【０２３１】
以上のように構成されるコンピュータでは、CPU１０１が、例えば、記憶部１０８に記憶されているプログラムを、入出力インタフェース１０５及びバス１０４を介して、RAM１０３にロードして実行することにより、上述した一連の処理が行われる。
【０２３２】
コンピュータ（CPU１０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア１１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、ディジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０２３３】
コンピュータでは、プログラムは、リムーバブルメディア１１１をドライブ１１０に装着することにより、入出力インタフェース１０５を介して、記憶部１０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１０９で受信し、記憶部１０８にインストールすることができる。その他、プログラムは、ROM１０２や記憶部１０８に、あらかじめインストールしておくことができる。
【０２３４】
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
【符号の説明】
【０２３５】
１  記録再生装置，  ３  PC，  ４  USBメモリ，  ２０  チューナ部，  ２１  MPEGデコーダ，  ２２  圧縮伸長部，  ２３  暗号化部，  ２４  HDD，  ３０  CPU，  ３１  RAM，  ３２  フラッシュROM，  ５１  署名付きインストーラ，  ５２  インストーラ，  ５３  電子署名，  ６１  ラップ暗号鍵生成モジュール，  ６２  セキュアデータ生成モジュール，  ６３  秘密鍵生成モジュール，  ６４  セキュアデータ検証モジュール，  ６５  インストーラ証明書検証モジュール，  ６６  開発者検証モジュール，  ６７  アプリケーション，  ８１  開発者識別ファイル，  ８２  開発者識別ファイル証明書
【図１】
2010191816.tif 000003
【図２】
2010191816.tif 000004
【図３】
2010191816.tif 000005
【図４】
2010191816.tif 000006
【図５】
2010191816.tif 000007
【図６】
2010191816.tif 000008
【図７】
2010191816.tif 000009
【図８】
2010191816.tif 000010
【図９】
2010191816.tif 000011
【図１０】
2010191816.tif 000012
【図１１】
2010191816.tif 000013
【図１２】
2010191816.tif 000014
【図１３】
2010191816.tif 000015
【図１４】
2010191816.tif 000016
【図１５】
2010191816.tif 000017
【図１６】
2010191816.tif 000018
【図１７】
2010191816.tif 000019
【図１８】
2010191816.tif 000020
【図１９】
2010191816.tif 000021
【図２０】
2010191816.tif 000022
【図２１】
2010191816.tif 000023
【図２２】
2010191816.tif 000024