(57)【要約】【課題】複数の暗号化方式に効率的に対処することができると共に、新しく定められた暗号化方式にも対応可能で、かつ、耐タンパー性が高いこと。【解決手段】暗号復号部６０では、媒体から読み出しプログラムメモリ６２に記憶した暗号復号非コアプログラムを暗号復号非コア部６３が実行して暗号復号アルゴリズムのうち秘匿性の低い非コア部分をソフトウエア処理する。また、暗号復号コア部６５は、電子回路により構成されており、暗号復号アルゴリズムのうち秘匿性の高いコア部分をハードウエア処理する。【選択図】図５
2007060627.tif 000002
【特許請求の範囲】
【請求項１】
媒体に記録された暗号化コンテンツデータと、前記暗号化コンテンツデータを暗号復号するための暗号復号アルゴリズムのうち非コア部分の暗号復号非コアプログラムとを読み出す信号読み出し部と、  前記信号読み出し部によって読み出された前記暗号復号非コアプログラムを前記暗号化コンテンツデータに対し実行して、前記非コア部分をソフトウエア処理する暗号復号非コア部と、
前記暗号復号アルゴリズムのうち前記コア部分を電子回路により構成して、前記暗号復号非コア部によってソフトウエア処理された前記暗号化コンテンツデータを前記電子回路により実行して、前記コア部分をハードウエア処理する暗号復号コア部と、
を有する再生装置。
【請求項２】
請求項１記載の再生装置において、
前記暗号復号コア部は、
外部との間で入出力されるデータのために使用される外部バスと、
内部でのみ転送されるデータのために使用される内部バスと、
前記暗号復号アルゴリズムのうち前記コア部分をハードウエア処理する電子回路により構成された暗号復号モジュールと、
前記外部バスを介し前記暗号復号非コア部との間でデータおよびコマンドを送受信すると共に、前記内部バスを介し前記暗号復号モジュールとの間でデータおよびコマンドを送受信するシーケンサと、有し、
前記外部バスと前記内部バスとは、物理的に分離されて設けられ、前記暗号復号モジュールによる暗号復号途中のデータは、前記内部バスを転送するのみで、かつ、前記外部バスには出力されないようにした、再生装置。
【請求項３】
請求項１記載の再生装置において、
前記暗号復号コア部は、
前記コア部分として、著作権保護のために使われる暗号復号アルゴリズムのうち繰り返し使用される暗号関数処理を含む、再生装置。
【請求項４】
請求項１記載の再生装置において、
前記暗号復号コア部は、
前記コア部分として、暗号復号アルゴリズムのうち信号読み出し部用される暗号関数処理を含む、再生装置。
【請求項５】
媒体に記録された暗号化コンテンツデータと、前記暗号化コンテンツデータを暗号復号するための暗号復号アルゴリズムのうち非コア部分の暗号復号非コアプログラムとを読み出すステップと、  読み出された前記暗号復号非コアプログラムを前記暗号化コンテンツデータに対し実行して、前記非コア部分をソフトウエア処理するステップと、
前記暗号復号アルゴリズムのうち前記コア部分を構成する電子回路により、前記暗号復号非コア部によってソフトウエア処理された前記暗号化コンテンツデータを実行して、前記コア部分をハードウエア処理するステップと、
を有する再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータが所定の暗号化アルゴリズムで暗号化された暗号化コンテンツデータと、その暗号化コンテンツデータを暗号復号するための暗号復号アルゴリズムのうち非コア部分の暗号復号非コアプログラムとが記録された媒体から暗号化コンテンツや暗号復号非コアプログラムを読み出し、コンテンツデータを再生する再生装置および再生方法に関する。
【背景技術】
【０００２】
近年、デジタル記録、デジタル再生技術の普及により、音楽や画像を高品質で手軽に楽しむことができるようになってきた。さらに、レンタル制度や有料放送なども一般化している。このような環境下では、従来は表面上問題にならなかったコンテンツの違法なコピーが年々増加しており、そのためコンテンツの著作権者に与える損害が問題になっている。しかしながら、相変わらず個人によるコンテンツの違法コピーや組織的な違法コピーが後を絶たず、著作権の防衛と利権（著作権による利益）保護のための数々の提案がなされている。
【０００３】
また、記録方式が徐々にデジタル方式に移行しているので、コピーを繰り返しても信号の劣化が少なく、高品質の複製を容易に得ることができるので、特にデジタル情報が中心となるマルチメディア時代では、著作権保護が従来になく重要視されている。さらに、マルチメディア時代のデジタル記録・再生機器は単機能な専用の機器ばかりではなく、普及がめざましいパーソナルコンピュータ（以下、ＰＣと略記する）が近年のプロセッサの性能向上により、アプリケーションソフトウエアによっては従来の専用機と同等の動作をさせることが可能になってきた。
【０００４】
例えば、ＣＤ（コンパクトディスク）プレーヤやＤＶＤ（デジタルビデオディスク又はデジタルバーサタイルディスク）プレーヤはもちろんのこと、最近ではＤＶＤデコーダでさえＰＣ上でアプリケーションソフトウエアにより再生や記録が行われる。さらに厄介なことには、ＰＣ上では専用機に比べてデジタルデータの複写や加工がより容易であるので、大容量の記録媒体やインターネットの普及により違法コピーされたデータが大量に、しかも劣化しない状態で流通する危険性が増大している。このように、今後開発される機器のうち、特にデジタル記録・再生機器はシステムとして著作権保護機能を盛り込まないと国際的にも、業界及び消費者のどちらからも受け入れられない。
【０００５】
ＤＶＤでは、前述した著作権保護の必要性から、映画業界、コンピュータ業界及び民生電子機器業界が共同で著作権保護システムについて議論して合意に至っている。ＤＶＤ−Ｖｉｄｅｏの著作権保護システムはＣＳＳ（コンテント・スクランブル・システム：Content Scramble System）と呼ばれ、ＭＰＥＧ方式で圧縮されたコンテンツデータをタイトル鍵と、ディスク鍵と、マスタ鍵とにより暗号化し、ＣＳＳに準拠するＤＶＤ再生装置のみがこの暗号化データを再生、暗号復号することができるようにしている。また、ＰＣシステムによるＤＶＤ−ＲＯＭドライブとＭＰＥＧデコーダモジュールとの間では、不正なデータ転送によるデータの利用を防止するために伝送路上で転送先の相互認証を行っている。
【０００６】
これらＤＶＤ等の媒体における著作権保護（ＣＳＳ）に従い暗号化されたデータを暗号復号する従来装置として、例えば、下記の特許文献１に記載されたものがある。
【特許文献１】特開２０００−１２４８９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したように、ＤＶＤ−Ｖｉｄｅｏにおける著作権保護の解決方法としてＣＳＳ方式が採用されているが、その適用範囲は読み出し専用で、しかもＶｉｄｅｏアプリケーションの範囲に限定されている。しかしながら、最近では同じＤＶＤファミリーでも書き換え可能なＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ／Ｗや書き込み可能なＤＶＤ−Ｒが製品として出現している。またこれらの媒体は従来のＤＶＤ−Ｖｉｄｅｏプレーヤで再生可能であり、加えてこれらの書き込み可能な媒体は従来のＤＶＤ−Ｖｉｄｅｏに収録された映画などのコンテンツをコピーすることが可能である。
【０００８】
したがって、著作権者は、ＤＶＤ−Ｖｉｄｅｏに収録されたコンテンツデータが書き込み可能なＤＶＤに複数回コピーされ、ＤＶＤ−Ｖｉｄｅｏプレーヤにより再生、利用されることにより、著作権が侵害される危機感を持っている。そのため、既に従来のＣＳＳ方式とは異なる暗号化方式を用いたスクランブル方式や、書き込み可能なＤＶＤに対応した新しいスクランブル方式が提案されている。また、将来的にも様々な工夫を凝らしたスクランブル方式や暗号化方式が次々と市場に出現することが容易に想像される。
【０００９】
ところで、スクランブルや暗号化の新方式が出現しなかったとしても、従来のＣＳＳ方式では計算量的な安全性のみしか保証されておらず、すべての鍵を確かめるという「総当たり攻撃」を行えば原理的には鍵が求まり、その解読が可能となる。その場合には暗号化方式の変更が必須であり、前述した暗号化方式が次々と市場に出現する状況と併せて、このままでは既存の暗号化方式と暗号復号化方式と新方式との間での非互換性により市場が大混乱に陥るおそれがある。
【００１０】
従来のＣＳＳ方式に対応した現在のＤＶＤ製品では上述した保護システムを更新することの想定がなされていなかった。すなわち、ＣＳＳ方式の暗号復号部分はあらかじめ固定された唯一のアルゴリズムで設計されているため、新たなスクランブル方式が出現し、それに対応したディスクが市場に出ると現在の固定されたＣＳＳアルゴリズムでは暗号復号化が行われず、従来のディスクの再生ができても新方式のディスクでは再生が行われず、ユーザは購入したディスクのコンテンツを利用できないことになる。このような状況では、現在普及している保護方式に対応し、かつ新たに提案された異なる保護方式にも対応し、さらに今後提案されるであろう保護方式にも随時対応できる更新性を持つ著作権保護機能などを持つ再生装置が必要になってくる。
【００１１】
また、上述の特許文献１に記載された従来装置では、基本ソフトウェア・モジュール１０がデータ処理モジュール２１と暗号化モジュール２２を有しており、データ処理モジュール２１が受信された暗号化原始データ・ストリームのＣＳＳ解読などを行い、暗号化モジュール２２が再度、暗号化アルゴリズムを用いて再暗号化しているが、暗号復号化および暗号化処理をソフトウエア処理としているので、容易に解析されて著作権保護が破られる可能性があり、耐タンパー性が低い、という問題がある。
【００１２】
本発明は上記の事情を考慮してなされたもので、その目的は複数の暗号化方式に効率的に対処することができると共に、新たな暗号化方式にも容易に対応可能で、かつ、耐タンパー性の高い再生装置及び再生方法を提供することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明の再生装置では、媒体に記録された暗号化コンテンツデータと、前記暗号化コンテンツデータを暗号復号するための暗号復号アルゴリズムのうち非コア部分の暗号復号非コアプログラムとを読み出す信号読み出し部と、前記信号読み出し部によって読み出された前記暗号復号非コアプログラムを前記暗号化コンテンツデータに対し実行して、前記非コア部分をソフトウエア処理する暗号復号非コア部と、前記暗号復号アルゴリズムのうち前記コア部分を電子回路により構成して、前記暗号復号非コア部によってソフトウエア処理された前記暗号化コンテンツデータを前記電子回路により実行して、前記コア部分をハードウエア処理する暗号復号コア部と、を有するものである。  
【００１４】
ここで、前記暗号復号コア部は、外部との間で入出力されるデータのために使用される外部バスと、内部でのみ転送されるデータのために使用される内部バスと、前記暗号復号アルゴリズムのうち前記コア部分をハードウエア処理する電子回路により構成された暗号復号モジュールと、前記外部バスを介し前記暗号復号非コア部との間でデータおよびコマンドを送受信すると共に、前記内部バスを介し前記暗号復号モジュールとの間でデータおよびコマンドを送受信するシーケンサと、有し、前記外部バスと前記内部バスとは、物理的に分離されて設けられ、前記暗号復号モジュールによる暗号復号途中のデータは、前記内部バスを転送するのみで、かつ、前記外部バスには出力されないようにしても良い。
【００１５】
また、前記暗号復号コア部は、前記コア部分として、著作権保護のために使われる暗号復号アルゴリズムのうち繰り返し使用される暗号関数処理を含む、ようにしても良い。
【００１６】
また、前記暗号復号コア部は、前記コア部分として、暗号復号アルゴリズムのうち信号読み出し部用される暗号関数処理を含む、ようにしても良い。
【００１７】
また、本発明の再生方法は、媒体に記録された暗号化コンテンツデータと、前記暗号化コンテンツデータを暗号復号するための暗号復号アルゴリズムのうち非コア部分の暗号復号非コアプログラムとを読み出すステップと、読み出された前記暗号復号非コアプログラムを前記暗号化コンテンツデータに対し実行して、前記非コア部分をソフトウエア処理するステップと、前記暗号復号アルゴリズムのうち前記コア部分を構成する電子回路により、前記暗号復号非コア部によってソフトウエア処理された前記暗号化コンテンツデータを実行して、前記コア部分をハードウエア処理するステップと、を有するものである。
【発明の効果】
【００１８】
本発明の再生装置および再生方法によれば、媒体から暗号化コンテンツおよび暗号復号非コアプログラムを読み出し、読み出した暗号復号非コアプログラムを暗号化コンテンツに対し実行して、暗号復号アルゴリズムのうち非コア部分をソフトウエア処理する一方、暗号復号アルゴリズムのうちコア部分を電子回路により構成して、暗号復号非コア部によってソフトウエア処理された暗号化コンテンツを電子回路により実行して暗号復号アルゴリズムのうちコア部分をハードウエア処理するので、暗号復号アルゴリズムが変わっても、そのコア部分が変わらない場合には、暗号復号非コアプログラムを改変することにより、複数の暗号化方式に効率的に対処することができると共に、新しく定められた暗号化方式にも対応することができる。また、暗号復号アルゴリズムのうちコア部分をハードウエア処理するので、暗号復号アルゴリズムを全てソフトウエア処理する場合よりも、耐タンパー性、すなわち解析に対する耐性を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について、１）コンテンツデータの暗号化と暗号復号非コアプログラムの作成、２）媒体への記録、３）再生と暗号復号の順に説明することとする。
【００２０】
１）コンテンツデータの暗号化と暗号復号非コアプログラムの作成
媒体に記録されるコンテンツデータは媒体のアプリケーションフォーマット、例えばＤＶＤであればＤＶＤ−Ｖｉｄｅｏ規格に従って圧縮処理やアプリケーションフォーマットに沿ったデータ構造の作成などを行うオーサリング処理と、ファイルシステムなど論理フォーマットに沿ったデータ構造の作成であるプリマスタリング処理とが施され、著作権保護のない記録データとして完成する。これら２つのプロセスで処理されたデータは、それぞれのフォーマットに要求される著作権保護のために決められた所定の処理、例えばＣＳＳ方式であればデータの暗号化や一方向関数による処理若しくはフラグデータの付加、ＣＳＳ以外の方式であれば電子署名データの作成などが施されて媒体への記録データの準備が整う。
【００２１】
著作権保護されたコンテンツを利用するためには、暗号の復号やデータの一方向関数によるデータの照合、若しくは付加されている電子署名の検証が必要である。そのための再生装置側での暗号復号処理手順である暗号復号アルゴリズムが決定される。本実施の形態１では、この暗号復号非アルゴリズムは、本実施の形態１の再生装置専用のものとするため、全体の処理および秘匿性の低い暗号処理に関わらない非コア部分については、再生装置のＣＰＵが暗号復号プログラムの実行によるソフトウエア処理を行うことを前提にして作成し、解読されては困る秘匿性の高いコア部分は、ハードウエア（電子回路）による処理を行うように暗号復号アルゴリズムが決定される。そして、非コア部分を処理するための暗号復号プログラムは、ＤＶＤ等の媒体に記録されることになる。つまり、暗号復号アルゴリズムのうち、解読されては困る秘匿性の高いコア部分の処理はハードウエア（電子回路）が行うので、暗号復号非コアプログラムの実行による非コア部分のソフトウエア処理と、ハードウエア（電子回路）によるコア部分のハードウエア処理との間の処理の連携は、後述するようにハードウエア（電子回路）内のレジスタへのコマンドやデータ、ステータス等の書き込み処理を通じで行われる。
【００２２】
この結果、再生装置にある暗号復号アルゴリズムのうちのコア部分を処理するハードウエア（電子回路）の存在や構造、そのレジスタの存在、処理の内容を知らない場合には、非コア部分の暗号復号非コアプログラムを分析や解析しただけでは、これらの処理は再生装置のＣＰＵから単なるＩ／Ｏやレジスタへのアクセスであることしか分からない。そのため、本発明では、暗号復号アルゴリズムのうち暗号復号非コアプログラムは、暗号化方式で保護されたコンテンツデータと共に後述する媒体への記録手順により媒体（ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ／Ｗ、ＤＶＤ−Ｒのいずれでもよい）に記録される。
【００２３】
このように、再生装置側の暗号復号処理は、暗号復号アルゴリズムのうちコア部分を処理するハードウエアの制限を超えなければ、暗号復号非コアプログラムを改変することにより暗号復号非コアプログラムごとに変更可能である。したがってハッキングや脆弱性の発生などにより暗号化方式を変更する必要がある場合には、その変更に応じて、媒体に記録する暗号復号非コアプログラムを変更すれば、再生装置側ではその変更された暗号復号非コアプログラムを媒体から読み出し、新たな暗号復号非コアプログラムを実行するので、暗号復号アルゴリズムのうちコア部分の処理を隠蔽したまま、暗号復号処理が更新されて問題を解決することが可能になる。
【００２４】
２）媒体への記録
図１は、本発明の再生方法を実施する媒体の記録領域を示す説明図、図２は図１に示した媒体の記録領域のフォーマットを示す説明図、図３は媒体への記録装置の概略構成を示すブロック図である。
【００２５】
図１には媒体１０の一例としてＤＶＤ−ＲＯＭ（以下、ディスクとも言う）が示されている。媒体１０は片面／両面、単層／復層のものが存在するが、ここでは片面、単層のディスクを例にして説明する。媒体１０は内周から外周に向かってピットによる信号記録がスパイラル状になされる。内周部にはリードイン領域１０１が設けられ、中周部にはユーザがアクセスすることが可能なユーザデータ（メインデータ）領域１０２が設けられ、さらに外周部には再生終了後の記録領域であるリードアウト領域１０３が設けられる。これらの各記録領域１０１〜１０３には、図２（ａ）に示すように、内周部の記録開始領域、すなわち、リードイン領域１０１の開始点から所定のデータ単位ごとにセクタ番号が割り当てられ、再生箇所の識別のためにデータと共に媒体１０に記録されている。
【００２６】
リードイン領域１０１の範囲は、あらかじめ規格により定められており、ＤＶＤの場合、セクタ番号で「０００００ｈ」〜「３００００ｈ」（ｈはヘキサデシマルを示す）である。そして、このリードイン領域１０１には、図２（ｂ）に示すように、制御のためのコントロールデータを記録するためのコントロールデータ領域１０４が設けられており、このコントロールデータ領域１０４には、コントロールデータとして、図２（ｃ）及び図２（ｄ）に示すように、媒体の種類若しくはデータ構造や暗号化などの記録フォーマットを示す媒体フォーマット情報１１４ａや、製造メーカなどが利用するディスク製造情報１１４ｂ及びコンテンツ提供者のための領域であるコンテンツ供給者情報１１４ｃが１６セクタを１単位としてコントロールデータ領域１０４に繰り返し記録されている。
【００２７】
図３は、映画や音楽などの各種ＡＶ（オーディオ・ビデオ）ソフトであるコンテンツを所定の暗号化アルゴリズムで暗号化して記録する記録装置１１０の概略構成を示すブロック図である。コンテンツ提供者は、ＡＶデータ１１１と共にＡＶデータ１１１を暗号化するための暗号化プログラム１１２、暗号復号アルゴリズムのうち非コア部分をソフトウエア処理するための暗号復号非コアプログラム１１３、及び上述した媒体フォーマット情報１１４ａやディスク製造情報１１４ｂ、コンテンツ供給者情報１１４ｃなどのコントロールデータ１１４を用意する。
【００２８】
コンテンツであるＡＶデータ１１１は、信号処理部１１５に供給され、ここで例えばＭＰＥＧ方式でエンコード（圧縮）されて圧縮されたユーザデータとなり、このユーザデータは暗号処理部１１６に供給される。暗号処理部１１６では、圧縮されたユーザデータの秘匿性を向上させるために、ユーザデータを暗号化プログラム１１２の実行によって暗号化（スクランブル）する。暗号化されたユーザデータ、すなわち暗号化コンテンツデータ１１９は、媒体フォーマッタ１１７に供給される。
【００２９】
媒体フォーマッタ１１７は、図２（ｂ）に示すコントロールデータ領域１０４にコントロールデータ１１４及び暗号復号プログラム１１３が記録され、ユーザデータ領域１０２に暗号化されたユーザデータが記録されるように、媒体１０をフォーマットして、これらコントロールデータ１１４、暗号復号非コアプログラム１１３及び暗号化コンテンツデータ１１９を記録部１１８に供給する。
【００３０】
媒体１０には記録部１１８により、図２（ｂ）に示すコントロールデータ領域１０４にコントロールデータ１１４として、図２（ｃ）及び（ｄ）に示すように、媒体の種類若しくはデータ構造や暗号化の種類などの記録フォーマットに関わる情報を示す媒体フォーマット情報１１４ａや、製造メーカなどのディスク製造情報１１４ｂ、及びコンテンツ提供者のコンテンツ供給者情報１１４ｃが合計１６セクタを１単位として繰り返し記録される。
【００３１】
ここで、著作権保護されたコンテンツを暗号復号するために必要な暗号復号アルゴリズムのうち非コア部分を処理するための暗号復号非コアプログラム１１３は、コントロールデータ領域１０４のうち、例えば、図２（ｄ）に示すコンテンツ供給者情報１１４ｃのうち利用されていない最後の部分に記録される。通常、ユーザにはコンテンツが記録されている図２（ａ）に示すユーザデータ領域１０２以外のデータの読み出しはできないようになっているので、記録された暗号復号非コアプログラム１１３は再生装置内部での利用以外は容易には読み出せない。
【００３２】
続いて、メインデータとして暗号化されたＡＶデータ１１１、すなわち暗号化コンテンツデータ１１９が図２（ａ）に示すユーザデータ領域１０２に記録され、最後に、図２（ａ）に示すリードアウト領域１０３が記録される。
【００３３】
３）再生と暗号復号
図４は、本発明に係る再生装置の実施の形態の全体構成を示すブロック図、図５は、図４に示す再生装置を構成する暗号復号部６０の詳細な構成を示すブロック図、図６は、図５に示す暗号復号部６０を構成する暗号復号コア部６５の詳細な構成を示すブロック図である。
【００３４】
図４に示す本実施の形態１の再生装置は、媒体１０から暗号化コンテンツデータ１１９や暗号復号非コアプログラム１１３、コントロールデータ１１４等を読み出す信号読み出し部２０と、この信号読み出し部２０で読み出された暗号化コンテンツデータ１１９を蓄積するデータ蓄積部３０と、データ蓄積部３０に蓄積された暗号コンテンツデータ１１９を暗号処理部１１６で用いた暗号アルゴリズムに対応した暗号復号アルゴリズムに従い順次暗号復号する暗号復号部６０と、暗号復号されたコンテンツデータをコンテンツに復元する信号処理部４０と、これらの構成要素の全体を制御する制御部５０とを有しており、これらをバス７０によって接続している。
【００３５】
図５は、暗号復号部６０の詳細な構成を示すブロック図である。
【００３６】
一方、暗号復号部６０は、図５に示したように、データ蓄積部３０からデータを入力する入力Ｉ／Ｆ６１と、媒体１０のコントロールデータ領域１０４のコンテンツ供給者情報１１４ｃの最後の部分から読み出された暗号復号非コアプログラムを格納するプログラムメモリ６２と、プログラムメモリ６２に格納された暗号復号非コアプログラムを用いて、暗号復号化アルゴリズムのうちで秘匿性の低い非コア部分の処理を実行する暗号復号非コア部（ＣＰＵ）６３と、暗号復号処理されたデータを信号処理部４０に供給するための出力Ｉ／Ｆ６４と、電子回路等のハードウエア回路により構成され、暗号復号アルゴリズムのうちで解読されては困る秘匿性の高い暗号復号などのコア部分の処理をハードウエア処理する暗号復号コア部６５とを備え、これらの構成要素がバス６６で相互に接続されるとともに、制御線６７によっても相互に接続されている。
【００３７】
図６は、暗号復号コア部６５の詳細な構成を示すブロック図である。
【００３８】
暗号復号コア部６５は図６に示したように、「処理の種類を表すコード」であるコマンドを記憶するコマンド・レジスタ７１と、処理の状態を表す「ステータス」を記憶するステータス・レジスタ７２と、「処理の入出力データ」を記憶するデータ・レジスタ７３と、暗号復号コア部６５の外部からコマンド・レジスタ７１、ステータス・レジスタ７２及びデータ・レジスタ７３にデータを入出力する外部バス７４と、データ・レジスタ７３と外部バス７４との間で入出力される複数のデータを選択する外部データセレクタ７５と、コマンドをデコードして暗号復号コア部６５の処理手順を決めるコマンド・デコーダ７６と、決められた処理手順に従って後述する暗号復号モジュール８０〜８４を制御するシーケンサ７７と、暗号復号コア部６５の内部バス７８と、データ・レジスタ７３と内部バス７８との間で入出力されるデータを選択する内部データセレクタ７９と、暗号復号アルゴリズムのうちコア（基本）部分をハードウェア処理する電子回路により構成された１又は複数（ここでは、説明の便宜上５つとするが、それ以上でも以下でも勿論よい。）の暗号復号モジュール８０〜８４とを備えている。シーケンサ７７と暗号復号モジュール８０〜８４とはモジュール制御線８５によって接続されている。暗号復号モジュール８０〜８４は、それぞれ電子回路によりハードウエア化されており、それぞれのモジュール処理に必要な暗号鍵、テーブル、初期値等が組み込まれている。また、外部バス７４と内部バス７８とは、物理的に分離されて設けられ、暗号復号モジュール８０〜８４による暗号復号途中のデータは、内部バス７８を転送するのみで、外部バス７４には出力されないように構成している。
【００３９】
次に、図４、図５、図６に示した本実施の形態の再生装置の動作について説明する。
【００４０】
始めに、制御部５０の初期動作により、信号読み出し部２０は、媒体１０のリードイン領域１０１のコントロールデータ領域１０４のコンテンツ供給者情報１１４ｃの最後の部分に格納されている暗号復号非コアプログラム１１３を読み出し、図５に示すように、暗号復号部６０のプログラムメモリ６２に格納する。暗号復号非コア部６３は、その暗号復号非コアプログラム１１３に従って暗号復号アルゴリズムのうち非コア部分をソフトウエア処理行できるように準備されている。
【００４１】
次に、ユーザの操作などをトリガとして制御部５０がコンテンツの再生を開始すると、信号読み出し部２０は、媒体１０に記録されている暗号化コンテンツデータ１１９を順次読み出すとともに、読み出した暗号化コンテンツデータ１１９を信号処理部４０が処理するよりも早いレートでデータ蓄積部３０に蓄積する。ここで、制御部５０は、データ蓄積部３０のデータ蓄積量が所定値に達すると、媒体１０からの暗号化コンテンツデータ１１９の読み出しを休止する一方、データ蓄積量が所定の範囲の下限に達すると、再び媒体１０からの暗号化コンテンツデータ１１９の読み出しを開始する、というように信号読み出し部２０を制御して間欠再生状態にする。
【００４２】
そして、データ蓄積部３０のデータ蓄積量が所定値に達すると、制御部５０は、プログラムメモリ６２に記憶された暗号復号非コアプログラム１１３の実行開始を、暗号復号部６０の暗号復号非コア部６３に指示する。
【００４３】
暗号復号部６０では、図５に示すように、暗号復号非コア部６３が入力Ｉ／Ｆ６１およびバス６６を介しデータ蓄積部３０から暗号化コンテンツデータ１１９を順次読み出し、プログラムメモリ６２に記憶されている暗号復号非コアプログラム１１３の処理手順に従って暗号復号する。
【００４４】
その際、本実施の形態１では、データ蓄積部３０のデータ蓄積量が所定の範囲の上限に達すると、制御部５０は、読み出した暗号化コンテンツデータ１１９に対し、暗号復号部６０内のプログラムメモリ６２に格納された暗号復号非コアプログラム１１３の実行によるソフトウエア処理を行うと共に、後述する電子回路により構成された暗号復号コア部６５によりハードウエア処理を行い、暗号化コンテンツデータ１１９を暗号復号する。なお、この動作は、前記間欠的再生に伴う暗号化コンテンツデータ１１９の読み出し及びその休止にかかわらず連続的に行われる。
【００４５】
つまり、本実施の形態１では、解読されては困る暗号復号アルゴリズムのコア（基本）部分の処理は、電子回路により構成された暗号復号コア部６５により別にハードウエア処理を行う。そのため、本実施の形態１の暗号復号非コアプログラム１１３は、暗号復号コア部６５に処理開始を指示するための暗号復号指示情報としての「処理の種類を表すコード」と「処理の入力に当たるデータ（数値）」とを、暗号復号コア部６５のコマンド・レジスタ７１あるいはデータ・レジスタ７３に書き込み、暗号復号指示情報を書き込んだ段階で、ステータス・レジスタ７２に設定される暗号復号コア部６５の実行状態である「ステータス」を監視するようにプログラミングされている。
【００４６】
そして、暗号復号コア部６５では、その詳細を後述するように、データ・レジスタ７３に書き込まれた「処理の入力に当たるデータ」を指定された手順で、暗号復号コア部６５の外部からは中途のデータなど処理過程が見えないように、後述する内部バス７８を使って処理して、結果を暗号復号コア部６５のデータ・レジスタ７３に書き込み、処理の終了を割り込み信号によって制御線６７を介し暗号復号非コア部６３に知らせる。この割り込み信号によって暗号復号非コア部６３は、暗号復号コア部６５による暗号復号アルゴリズムのうちコア部分の処理が終了したことを知り、引き続きプログラムメモリ６２に記憶されている暗号復号非コアプログラム１１３を実行する。
【００４７】
この場合、制御部５０や暗号復号部６０などで処理されるこれら一連のプログラム処理を、プログラムメモリ６２や入力Ｉ／Ｆ６１及び出力Ｉ／Ｆ６４や暗号復号部６０に接続されるバス上のデータを解析して暗号復号処理を試みても、暗号復号アルゴリズムの肝心なコア（基本）部分の処理は暗号復号コア部６５の内部で行われるので、外部からはデータ・レジスタ７３へのデータの書き込み、データ・レジスタ７３からのデータの読み出し処理としてしか解析することができず、結局、暗号復号処理アルゴリズムの肝心なコア部分の解析はできないことになる。
【００４８】
続いて、暗号復号部６０は、データ蓄積部３０から読み出した暗号化コンテンツデータに対する暗号復号処理が終わると、暗号復号したそのコンテンツデータを信号処理部４０に送る。
【００４９】
信号処理部４０は、自身に入力されたコンテンツデータを、例えば、ＭＰＥＧ方式のデコード（伸長）などの信号処理を行って、ユーザが視聴可能なコンテンツとして出力する。なお、データ蓄積部３０に蓄積される暗号化コンテンツデータ１１９は、制御部５０による間欠再生状態によって一定のデータ蓄積量が維持されているので、データ蓄積部３０から読み出された暗号化コンテンツの出力までの一連の暗号復号処理が終わると、暗号復号部６０はデータ蓄積部３０から暗号化コンテンツを読み出し、プログラムメモリ６２に記憶されている暗号復号非コアプログラム１１３の処理手順に従って再び暗号復号処理を続ける。ここで、制御部５０は、データ蓄積部３０に蓄積される暗号復号対象の暗号化コンテンツデータ１１９の蓄積量が所定の範囲内に維持されるように、暗号復号部６０の暗号復号処理に関連付けて信号読み出し部２０、データ蓄積部３０および信号処理部４０を制御している。
【００５０】
図７は、暗号復号コア部６５に入力されるデータの形式の一例を示している。
【００５１】
このうち、図７（ａ）はコマンド・レジスタ７１に書き込まれる処理の種類を表すコードである「コマンド」を入出力する際のデータ形式を示し、（ｂ）はデータ・レジスタ７３に暗号処理の入出力数値である「データ」を入出力する際のデータ形式を示し、（ｃ）はステータス・レジスタ７２に出力される暗号コアの処理状態を表すデータである「ステータス」を入出力する際のデータ形式を示している。
【００５２】
コマンド・レジスタ７１にセットされる「コマンド」は１６ビットの幅で構成されており、最上位のビット１５（図７ではｂ１５と記す。以下同様）は処理の開始を指示する「スタートビット」、ビット１４〜１２は未使用、ビット１１〜８は暗号コアでの処理内容（種類）を表す部分であり、ビット７〜０の下位８ビットは処理対象となるデータの大きさ（処理データ数）（データの大きさ÷１６ビット）を表す。
【００５３】
データ・レジスタ７３は１６ビット幅単位である。しかし、入力データ幅は最大１２８ビットなのでデータ・レジスタは８個（データ・レジスタ８〜データ・レジスタ１）存在する。
【００５４】
ステータス・レジスタ７２にセットされる「ステータス」は１６ビット幅で、最上位のビット１５は暗号コアが利用可能な状態であることを表す「レディステータス」、ビット１４〜ビット２は未使用、ビット１は暗号コアで何らかの異常が発生したとき処理エラーが発生したことを知らせる「エラーステータス」、ビット０は暗号コアが所定の処理を終了したことを知らせる「処理終了ステータス」である。
【００５５】
次に、暗号復号部６０の暗号復号非コア部６３と暗号復号コア部６５の詳細な動作の一例について説明する。
【００５６】
まず、暗号復号部６０の暗号復号非コア部６３は、記録媒体１０から読み出されプログラムメモリ６２に記録された暗号復号非コアプログラム１１３の実行により暗号復号アルゴリズムのうちの非コア部分を処理している際、暗号復号コア部６５で行われるコア部分を処理するタイミングが来ると、暗号復号コア部６５のデータ・レジスタ７３に「処理の入力に当たるデータ」を書き込む。さらに、この場合、暗号復号非コア部６３は、コマンド・レジスタ７１のビット１１〜ビット８に「暗号処理の種類を表す４ビットのコード」と共に最上位の「スタートビット」に「１」を書き込む。
【００５７】
すると、暗号復号コア部６５では、コマンド・レジスタ７１の最上位のビットである「スタートビット」が「１」になったことをコマンド・デコーダ７６が検出して、コマンド・レジスタ７１のビット１１〜ビット８の４ビットで示される「処理の種類を表すコード」をコマンド・デコーダ７６に取り込む。コマンド・デコーダ７６は、取り込んだ処理の種類に沿った分岐をするような分岐条件をシーケンサ７７に送り、そのシーケンス７７の状態遷移を開始させ暗号復号コア部６５内部の処理を開始する。
【００５８】
シーケンサ７７は、まず、内部データセレクタ７９を制御してデータ・レジスタ７３にセットされているデータから「処理の入力に当たるデータ」を内部バス７８上に載せ、コマンド・デコーダ７６が解釈した「処理の種類を表すコード」に従った暗号復号モジュール８０〜８４のいずれかを起動する。
【００５９】
これにより、起動したいずれかの暗号復号モジュール８０〜８４は、内部バス７８上を流れるデータを入力して、暗号復号処理アルゴリズムのうち秘匿性の高いコア部分をハードウエア処理する。
【００６０】
ここで、暗号復号モジュール８０〜８４は、上述したように電子回路により構成されており、その内部に記憶した暗号鍵やテーブル、初期値を使って、暗号復号処理アルゴリズムのうち秘匿性の高いコア部分をハードウエア処理する。ここで、本実施の形態１では、暗号復号モジュール８０〜８４がハードウエア処理するコア部分の処理についてはこれ以上、詳細には説明しないが、後述する実施の形態２では、例えば、ＣＰＰＭ（Content Protection for Prerecorded Media）や、ＣＰRＭ（Content Protection for Recordable Media）等の著作権保護で使われる暗号処理において繰り返し行われる共通な部分をコア部分とし、後述する実施の形態３では、例えば、ＤＥＳやＡＥＳ暗号復号化において繰り返し行われる、例えば、ＤＥＳ暗号復号処理における「転置処理」や「換字処理（S-box）」、「ｍｏｄ２の加算（排他論理和演算）」、非線形変換などの処理をコア部分としている。
【００６１】
また、暗号復号モジュール８０〜８４は、処理途中に他の暗号復号モジュール８０〜８４とのデータのやり取りが必要な場合には、内部バス７８を介してデータのやり取りを行う。
【００６２】
そして、暗号復号モジュール８０〜８４は、一連の処理が終わると、処理終了の信号をモジュール制御線８５を介しシーケンサ７７に送る。シーケンサ７７は、暗号復号モジュール８０〜８４の処理結果を内部バス７８上に載せる状態に遷移する。内部バス７８に載ったデータは、シーケンサ７７の指示により内部データセレクタ７９が制御され、データ・レジスタ７３に書き込まれる。
【００６３】
シーケンサ７７は、一連の処理が終わると、外部データセレクタ７５を制御してデータ・レジスタ７３にある暗号処理の結果であるデータを外部バス７４に出力するとともに、処理終了状態をステータス・レジスタ７２にセットし、暗号復号コア部６５での処理を終了すると共に、外部バス７４を介し暗号復号非コア部６３にコア部分の処理終了を知らせる割り込み信号を送信する。
【００６４】
図８は、シーケンサ７７の状態遷移の一例を示している。
【００６５】
つまり、シーケンサ７７は、外部からのリセットによりステータス・レジスタ７２に初期ステートを設定して（ＳＴ８００）、スタート待ちのアイドリング状態に入り（ＳＴ８１０）、スタートすると、まず、データ・レジスタ７３より内部データの選択を行う共に（ＳＴ８２０）、コア部分の処理に従って所定の暗号復号モジュール８０〜８４に分岐しながら暗号復号開始の指示を送る。すると、その指示を受けた所定の暗号復号モジュール８０〜８４は、暗号復号処理を行い（ＳＴ８３０−１〜ＳＴ８３０−ｎ）、必要あれば他の暗号復号モジュール８０〜８４に対し内部バス７８を介しデータを送信したり、データ・レジスタ７３にその処理データをセーブする（ＳＴ８４０）。
【００６６】
そして、シーケンサ７７は、データ・レジスタ７３にセーブされた処理データを外部データとして選択し（ＳＴ８５０）、外部バス７４を介し外部データを暗号復号コア部６５外へ出力して（ＳＴ８６０）、処理が終了すると、ステータス・レジスタ７２に正常終了や処理完了のステータスをセットする（ＳＴ８７０）。なお、暗号復号モジュール８０〜８４やシーケンサ７７は、処理中にエラーが発生すると、ステータス・レジスタ７２にエラー発生のステータスをセットして（ＳＴ８８０）、最初の処理、すなわちＳＴ８１０のアイドリング処理に戻り、最初から処理を行うことになる。
【００６７】
そして、暗号復号非コア部６３は、シーケンサ７７からのコア部分のハードウエア処理終了の割り込みを信号を受信すると、ステータス・レジスタ７２にセットされた暗号復号コア部６５の正常終了のステータスを確認して、続いて残りの暗号復号非コアプログラムを再開することになる。
【００６８】
そのため、暗号復号コア部６５での一連の処理は、データ・レジスタ７３に書き込まれた「処理の入力に当たるデータ」がコマンドで指定された手順で暗号復号モジュール８０〜８４と内部バス７８を使って処理され、その結果が、再び、内部バス７８、内部データセレクタ７９を介して、データ・レジスタ７３に書き込まれる。
【００６９】
ここで、本実施の形態１の暗号復号コア部６５では、外部バス７４と内部バス７８とは、物理的に分離されて設けられ、暗号復号モジュール８０〜８４による暗号復号途中のデータは、内部バス７８を転送するのみで、かつ、外部バス７４には出力されないように設けられているので、暗号復号コア部６５の外部からは、外部バス７４を介してデータレジスタ７３の入出力データまでは検出することができるが、暗号復号モジュール８０〜８４間を転送する内部バス７８上の暗号復号途中のデータは、データ・レジスタ７３や内部データセレクタ７９により読み出し不可能であるので、暗号復号コア部６５の外部からはコア部分の処理途中のデータは全く検出できないことになる。
【００７０】
このように、本実施の形態１では、暗号復号アルゴリズムのうち秘匿性の低い非コア部分の処理は、記録媒体１０から読み出され暗号復号部６０内のプログラムメモリ６２に格納された解読可能な暗号復号非コアプログラム１１３を暗号復号非コア部６３が実行することによってソフトウエア処理する一方、暗号復号アルゴリズムのうち秘匿性の高いコア部分は、暗号復号部６０にある電子回路により構成され容易には解析されない暗号復号コア部６５の暗号復号モジュール８０〜８４によってハードウエア処理される。
【００７１】
そのため、本実施の形態１によれば、暗号復号アルゴリズムのうち非コア部分のみ暗号復号非コアプログラム１１３として媒体１０に記録し、読み出してソフトウエア処理されるので、暗号復号アルゴリズムが変わっても、そのコア部分が変わらない場合には、暗号復号非コアプログラムを改変することにより、暗号復号非コアプログラム１１３のみ改変することにより、複数の暗号化方式に効率的に対処することができると共に、新しく定められた暗号復号方式にも暗号復号コア部６５の改造なしに対応することができる。その結果、暗号復号アルゴリズム全体を変更する場合に比べ、媒体１０に記憶される暗号復号非コアプログラム１１３のみを変更すれば済むので、暗号復号アルゴリズム全体の変更が容易である。
【００７２】
また、本実施の形態１によれば、暗号復号アルゴリズムのうち秘匿性の高いコア部分は、暗号復号部６０にある電子回路により構成され容易には解析されない暗号復号コア部６５の暗号復号モジュール８０〜８４によってハードウエア処理されるので、暗号復号アルゴリズムを解析しようと、媒体１０に記録された暗号復号非コアプログラム１１３や、制御部５０や暗号復号部６０のデータ入出力やバス上のデータを解析しようと試みても、肝心の暗号復号アルゴリズムのコア部分は、暗号復号コア部６５のデータ・レジスタ７３へのデータ書き込み、読み出し処理のみしか解析できず、暗号復号コア部６５内の暗号復号の詳細な内部解析はできないので、暗号復号アルゴリズムを全てソフトウエア処理する場合よりも、耐タンパー性、すなわち解析に対する耐性を向上させることができる。
【００７３】
特に、本実施の形態１では、暗号復号コア部６５では、外部バス７４と内部バス７８とが物理的に分離して設け、暗号復号モジュール８０〜８４による暗号復号途中のデータは、内部バス７８を転送するのみで、かつ、外部バス７４には出力されず、暗号復号コア部６５の外部からはコア部分の処理途中のデータは検出できないように構成しているので、耐タンパー性をさらに向上させることができる。
【００７４】
また、本実施の形態１では、暗号復号アルゴリズムのうちコア部分以外の非コア部分の処理を暗号復号非コアプログラム１１３として構成し、ＤＶＤ等の媒体１０上に記憶するようにしたので、媒体１０毎にあるいは媒体１０の種類やグループ毎等に適応的に、その暗号復号非コアプログラム１１３を変更することにより、著作権保護ソフトウエアの更新可能となり、保護方式が破られてその変更が必要な場合にも、速やかに対応可能であり、さらに今後提案されると予想される新たな暗号化方式にも対応可能である。これにより、装置が製造された以降に新しく定められた暗号化方式に、単一のハードウエアで対応可能でありながらハッキングなどの行為に対して強い耐性を持つことができる。
【００７５】
なお、本実施の形態に係る再生装置は、単一の暗号復号方式のデータに対応する暗号復号装置であるが、２種類以上の暗号アルゴリズムが予想される場合、それらに対応した暗号復号アルゴリズムのうちの暗号復号非コアプログラム１１３をあらかじめ媒体１０の特定の部分に複数記録しておき、暗号化コンテンツデータ１１９の管理領域（例えば、マネージメントファイル）や再生制御情報領域（例えば、ナビゲーションファイル）に暗号復号アルゴリズムの種類、すなわち、暗号復号アルゴリズムのいずれを使用すればよいかを示す識別子をデータ又はフラグとして記録しておき、媒体１０から暗号復号を取り込む際に制御部５０で選択的に対応する暗号復号非コアプログラム１１３を暗号復号部６０のプログラムメモリ６２に取り込んでもよいし、一括してプログラムメモリ６２に読み込んでおいて暗号復号実行時に、暗号復号部６０で判断してプログラムメモリ６２上の暗号復号非コアプログラム１１３を切り替えるようにしてもよい。このようにすれば、暗号復号アルゴリズムの異なる暗号復号を順次実行する際でも異なる暗号復号非コアプログラム１１３を直ちに切り替え可能であり、複数の方式の暗号復号非コアプログラム１１３を順次読み込んで切り替えて実行する場合に比べ、迅速に切り替えることが可能である。
【００７６】
実施の形態２.
次に、本発明の暗号復号アルゴリズムのうち電子回路によりハードウエア処理するコア部分と、暗号復号アルゴリズムのうち暗号復号非コアプログラムの実行によりソフトウエア処理する非コア部分の具体例を、実施の形態２として説明する。なお、本実施の形態２では、ハードウエア処理するコア部分と、ソフトウエア処理する非コア部分の処理内容が異なるだけであり、それ以外の再生装置の構成や動作は、上記実施の形態１と同様である。
【００７７】
本実施の形態２では、著作権保護で使われる暗号処理の共通な部分について、ＤＶＤ−Ａｕｄｉｏで用いられている「ＣＰＰＭ（Content Protection for Prerecorded Media）方式」や「ＣＰＲＭ（Content Protection for Recordable Media）方式」による著作権保護を一例に、本実施の形態２におけるコア部分と、非コア部分の一例を、説明する。
【００７８】
図９は、本実施の形態２のＣＰＰＭ方式の暗号化および暗号復号化するためのディスク製造設備と再生機器、ＣＰＰＭ方式で保護されたＤＶＤ−Ａｕｄｉｏディスクの関係の一例を示したものである。
【００７９】
図９において、ディスク製造設備側９１では、メディアキーブロック（ＭＫＢ）９１１、メディア鍵９１２、アルバムＩＤ（ID album）９１３、暗号化対象パック９１４等のデータが準備される。そして、ＣＰＰＭで保護されたＤＶＤ−ＡＵＤＩＯディスク９２では、メディアキーブロック（ＭＫＢ）９１１、アルバムＩＤ（ID album）９１３、CCI関連データ部９１５および可変データ部９１６のデータは、そのままＤＶＤ−ＡＵＤＩＯディスク９２に記録される。
【００８０】
一方、ディスク製造設備側９１では、アルバムＩＤ（ID album）９１３とメディア鍵９１２とは、Ｃ２暗号方式を用いたC2_G関数により、中間鍵Ｋauの生成が行なわれる。また、暗号化対象パックデータ９１４の一部であるCCI関連データ部９１５のデータであるDkc_1とKauとから中間鍵であるK1が生成される。以降同様の処理により、暗号化対象パックデータ９１４の一部であるCCI関連データ部９１５のデータDkc_2、Dkc_3、Dkc_4と順次生成され、中間鍵K2、K3、K4が生成され、最終的に暗号化対象パックデータ９１４の一部である可変データ部９１６と中間鍵K4からコンテンツを暗号化する鍵Kcが生成される。そして、残りの１９２０バイトの暗号化対象パックデータ９１４がC2_ECBC関数により暗号化され暗号化データ部９１７となり、CCI関連データ部９１５と、可変データ部９１６とからなる暗号化パック９２１が完成する。そして、その暗号化パック９２１は、メディアキーブロック（ＭＫＢ）９１１、アルバムＩＤ（ID album）９１３のデータと共に、ＤＶＤ−ＡＵＤＩＯディスク９２に記録される。
【００８１】
一方、再生時には、図９に示すように、再生機器９３では、先ずＤＶＤ−ＡＵＤＩＯディスク９２からそこに記録されたメディアキーブロック（ＭＫＢ）９１１、アルバムＩＤ（ID album）９１３および暗号化パック９２１を読み出す。
【００８２】
そして、再生機器９３は、最初読み出されたメディアキーブロック（ＭＫＢ）９１１と再生機器９３の持つデバイス鍵からMKB処理を使ってディスク製造で用いられたメディア鍵９１２を復元する。
【００８３】
次にアルバムＩＤ（ID album）９１３と復元されたメディア鍵９１２からＣ２暗号方式のC2_G関数を用いて中間鍵Ｋauを生成し、以降ディスク製造時と同様に中間鍵と暗号化パックのデータの一部であるCCI関連データ部のデータDkc_1, Dkc_2, Dkc_3, Dkc_4から順次K1, K2, K3, K4を生成する。
【００８４】
最終的に暗号化パックデータ９２１の一部である可変データ部９１６と中間鍵K4からコンテンツを暗号復号する鍵Kcを復元し、暗号化パックデータ９２１の残り１９２０バイトの暗号化データ部をC2_DCBC関数を使って暗号復号し、暗号化する前のデータを復元する。
【００８５】
このようにCPPM方式の暗号化・暗号復号化処理においては、Ｃ２暗号方式を用いたC2_G関数が繰り返し使われる。前述した暗号処理する場合、暗号化および暗号復号双方におけるC2_G関数処理は、入出力データは異なるものの内部の構造・処理は同じである。
【００８６】
これら処理のうち、特に暗号化および暗号復号双方に使われるC2_G関数処理は、著作権保護で使われる暗号処理の共通な部分であり、実施の形態１の暗号復号コア部６５で電子回路によりハードウエア処理を行う秘匿性の高いコア部分に該当する。
【００８７】
そして、その他の暗号復号コア部６５への各種データを入力、処理の条件分岐などの判断処理は、さほど秘匿性が高くないので非コア部分に該当し、実施の形態１の暗号復号非コア部６３がプログラム実行によるソフトウエア処理により実行する。
【００８８】
ここで、本実施の形態２では、著作権保護で使われる暗号処理に共通な部分であるコア部分として、ディスク製造設備９１側と再生機器９３側とで共通なC2_G関数、すなわちＣＰＰＭ方式等におけるＣ２＿Ｇ関数のように１つの著作権保護方式において入出力データは異なるが繰り返し使われる関数部分とする。
【００８９】
なお、本実施の形態２では、暗号および暗号復号アルゴリズムの更新（変更）が可能な著作権保護を実現するための提案なので、例えば、ＣＰＰＭが破られた場合には、以降のメディア製造では、従来のＣＰＰＭ方式での処理を止めて、今までのアルバムＩＤ（ID album）９１３とメディア鍵９１２とからC2_G関数を用いて中間鍵Ｋauを生成していた暗号または暗号復号アルゴリズム処理を、例えばＤＥＳ方式が強度を増すためにトリプルＤＥＳになったように、C2_G関数を２度、３度使って中間鍵を生成するような暗号または暗号復号アルゴリズム処理に変更して、ＤＶＤ−ＡＵＤＩＯディスク９２に記録する。このようにすれば、暗号復号コア部６５の変更なしに、暗号および暗号復号アルゴリズム処理の更新（変更）が可能となる。
【００９０】
図１０は、前述したCPPM方式の著作権保護において再生機器９３が行なう暗号復号化処理の一例を示すフローチャートである。
【００９１】
再生機器９３では、ＤＶＤ−ＡＵＤＩＯディスク９２よりメディアキーブロック（ＭＫＢ）９１１と、アルバムＩＤ（ID album）９１３と、暗号化パック９２１とを読み出し（Ｓ１０１０）、その読み出されたメディアキーブロック（ＭＫＢ）９１１と再生機器９３の持つデバイス鍵とから所定の暗号化処理であるMKB処理を使って（Ｓ１０２０）、ディスク製造で用いられたメディア鍵９１２を復元する。
【００９２】
次にＤＶＤ−ＡＵＤＩＯディスク９２から読み出されたアルバムＩＤ（ID album）９１３と、上記で生成されたメディア鍵９１２とを入力し（Ｓ１０３０）、アルバムＩＤ（ID album）９１３とメディア鍵９１２に対しC2_G関数処理を施し（Ｓ１０４０）、中間鍵Ｋauを生成する。
【００９３】
以降C2_G関数処理と、内部で保持されている中間鍵K1, K2, K3, K4と、ＤＶＤ−ＡＵＤＩＯディスク９２から読み出された暗号化パック９２１のデータの一部であるCCI関連データ部９１５のデータDkc_1, Dkc_2, Dkc_3, Dkc_4を入力し（Ｓ１０５０）、C2_G関数処理を施して（Ｓ１０６０）、順次中間鍵K1, K2, K3, K4を生成する処理を繰り返し（Ｓ１０７０“Ｎｏ”）、暗号化パックデータ９２１の一部である可変データ部９１６と、中間鍵K4とからコンテンツを暗号復号化する鍵Kcを復元する（Ｓ１０７０“Ｙｅｓ”）。
【００９４】
そして、暗号化パックデータ９２１の残り１９２０バイトの暗号化データ部９１７を入力し（Ｓ１０８０）、最終的にはコンテンツを暗号復号化する鍵Kcを用いて「C2_DCBC」関数を使って暗号復号化し、暗号化する前のデータを復元する（Ｓ１０９０）。
【００９５】
ここで重要なのは、図９に示すブロック図、および図１０に示すフローチャートからもわかるようにC2_G関数処理自体の秘匿性が高くないと、ディスク製造装置９１側の暗号化、あるいは再生機器９３側の暗号復号化が容易に破られ、有効な著作権保護を実現できないということである。
【００９６】
つまり、前述した暗号処理および暗号復号処理をする場合、全てをプログラムの実行によるソフトウエア処理で行なうことも可能である。しかし、ソフトウエアは作りやすく更新・変更が容易な反面、コードの逆アセンブルやエミュレータによるプログラムや変数のトレースによって容易に解析され易く、著作権保護が破られる危険性が非常に高い。
【００９７】
反対にハードウエアは、解析し難く、その耐性（耐タンパー性）は高く解読されにくい利点があるが、複数の著作権保護方式をサポートするとハードウエアの規模が大きくなる上に、設計変更等の設計想定外の処理内容の変更はきかないという欠点がある。
【００９８】
そのため、本実施の形態２では、秘匿性が高いコア部分に該当する図１０に示すステップ１０２０や、１０４０、１０６０、１０９０の処理を、電子回路で構成している暗号復号コア部６５によりハードウエア処理する一方、その他のさほど秘匿性が高くない非コア部分に該当する図８に示すステップ１０１０や、ステップ１０３０、ステップ１０５０、ステップ１０７０、ステップ１０８０の暗号復号コア部６５へ各種データを入力したり、全体処理の条件分岐などの処理を、暗号復号非コア部６３におけるプログラム実行によるソフトウエア処理としている。
【００９９】
このように、本実施の形態２によれば、暗号化および暗号復号化に使われる共通のC2_G関数処理等の「著作権保護で使われる暗号処理の共通な部分」を、秘匿性の高いコア部分としてハードウエアの電子回路で構成されている暗号復号コア部６５によりハードウエア処理する一方、その他のさほど秘匿性が高くない非コア部分の処理を、暗号復号非コア部６３におけるプログラム実行によるソフトウエア処理としので、上記実施の形態１の場合と同様に、ＣＰＰＭ方式やＣＰＲＭ方式で保護されたＤＶＤディスク等においても、暗号アルゴリズムや暗号復号アルゴリズムが変わっても、そのコア部分が変わらない場合には、暗号復号非コアプログラムを改変することにより、複数の暗号化方式に効率的に対処することができると共に、新しく定められた暗号化方式にもコア部分の改造なしに対応することができる。また、暗号復号コア部６５は、暗号復号アルゴリズムのうちコア部分を電子回路により構成して、暗号復号非コア部によってソフトウエア処理された暗号化コンテンツを電子回路により実行してコア部分をハードウエア処理するので、暗号復号アルゴリズムを全てソフトウエア処理する場合より、耐タンパー性、すなわち解析に対する耐性を向上させることができる。
【０１００】
実施の形態３.
次に、暗号復号アルゴリズムのうちハードウエア処理するコア部分と、ソフトウエア処理する非コア部分の他の具体例を、実施の形態３として説明する。なお、本実施の形態３では、上記実施の形態２と同様に、ハードウエア処理するコア部分と、ソフトウエア処理する非コア部分の処理内容が異なるだけであり、それ以外の再生装置の構成や動作は、上記実施の形態１と同様である。
【０１０１】
本実施の形態３では、著作権保護方式ではなく、ＤＥＳ（Data Encryption Standard ）の暗号関数処理f(Rn-1, Kn)のように繰り返し使われる暗号関数処理を、秘匿性の高いコア部分としてハードウエア化する。
【０１０２】
これは、上記で説明したＣＰＰＭ／ＣＰＲＭ方式によるコンテンツ保護では、C2暗号化方式が用いられているが、近年の著作権保護方式では、より暗号強度の強い暗号方式もしくは複数の暗号関連技術を組み合わせて実装される場合がある。したがって、本発明の「解読されては困るコア部分」として、ＤＥＳ暗号化方式やＡＥＳ暗号化方式あるいは複数の暗号化方式が用いられる場合がある。また、暗号化以外に暗号復号化も同様であり、さらに認証などに用いられる一方向関数や電子署名・検証の処理も何れかの暗号方式をベースにして行なわれている。
【０１０３】
ＤＥＳ暗号復号アルゴリズムは、差分解読法であるので、ＤＥＳ暗号復号処理が繰り返し行われる、例えば、ＤＥＳ暗号復号処理における「転置処理」や「換字処理（S-box）」、「ｍｏｄ２の加算（排他論理和演算）」、非線形変換などの細かな要素も、解読されては困るコア部分と言える。
【０１０４】
以下に、ＤＥＳ暗号化方式を例に上記の繰り返し使われる暗号化要素の具体例を説明する。
【０１０５】
図１１に、本実施の形態３のＤＥＳ方式の暗号化ブロックの一例を示す。ＤＥＳ方式では、６４ビットのデータブロック毎に暗号化・暗号復号化を行い、鍵の長さは５６ビットである。
【０１０６】
ＤＥＳ方式では、先ずデータに対し初期転置処理（Initial Permutation）（Ｓ１１１０）を行なった後、暗号関数処理（f(Rn-1, Kn)）（Ｓ１１２０−１〜Ｓ１１２０−１６）等の処理を１６回繰り返し、最後に最終転置処理（Inverse Initial Permutation）（Ｓ１１３０）を行う。
【０１０７】
また、各段の処理に使われる鍵K1、・・・、K16は、別途鍵スケジュラー（図示せず）により、８ビットのパリティビットを含む入力された５６ビットの鍵データとの６４ビットの鍵データから、異なった１６種類の４８ビットの鍵データが前述した各段の暗号化処理に供給される。
【０１０８】
ＤＥＳの暗号復号方式も図１１とは逆の処理を行う。
【０１０９】
よって、本実施の形態３では、前述した初期転置処理（Initial Permutation）（Ｓ１１１０）、暗号関数処理（f(Rn-1, Kn)）（Ｓ１１２０−１〜Ｓ１１２０−１６）、最終転置処理（Inverse Initial Permutation）（Ｓ１１３０）が、本実施の形態３の秘匿性の高いコア部分に該当し、暗号復号コア部６５によりハードウエア処理する。その一方、ＤＥＳの暗号復号方式において、その他のさほど秘匿性が高くない非コア部分の処理を、暗号復号非コア部６３におけるプログラム実行によるソフトウエア処理することになる。
【０１１０】
従って、本実施の形態３によれば、ＤＥＳ等の暗号復号アルゴリズムにおいても、初期転置処理（Initial Permutation）（Ｓ１１１０）、暗号関数処理（f(Rn-1, Kn)）（Ｓ１１２０−１〜Ｓ１１２０−１６）、最終転置処理（Inverse Initial Permutation）（Ｓ１１３０）等の秘匿性の高いコア部分は、電子回路により構成された暗号復号コア部６５によりハードウエア処理する一方、その他のさほど秘匿性が高くない非コア部分の処理は、暗号復号非コア部６３のプログラム実行によるソフトウエア処理することにより、複数の暗号化方式に効率的に対処することができると共に、新しく定められた暗号化方式にもコア部分の改造なしに対応することができ、また暗号復号アルゴリズムを全てソフトウエア処理する場合より、耐タンパー性、すなわち解析に対する耐性を向上させることができる。
【図面の簡単な説明】
【０１１１】
【図１】本発明の再生方法を実施する媒体の記録領域を示す説明図である。
【図２】図１に示した媒体の記録領域のフォーマットを示す説明図である。
【図３】媒体への記録装置の概略構成を示すブロック図である。
【図４】図４は本発明に係る再生方法を実施する再生装置の全体構成を示すブロック図である。
【図５】図５に示す再生装置を構成する暗号復号部の詳細な構成を示すブロック図である。
【図６】図５に示す暗号復号暗号部を構成する暗号復号コア部の詳細な構成を示すブロック図である。
【図７】図６に示す暗号復号コア部に入力されるデータ形式の一例を示す図である。
【図８】図６に示す暗号復号コア部を構成するシーケンサの状態遷移の一例を示した図である。
【図９】実施の形態２のＣＰＰＭ方式の暗号化および暗号復号化するためのディスク製造設備と再生機器、ＣＰＰＭ方式で保護されたＤＶＤ−Ａｕｄｉｏディスクの関係の一例を示すブロック図である。
【図１０】実施の形態２におけるCPPM方式の著作権保護において再生機器９３が行なう暗号復号化処理の一例を示すフローチャートである。
【図１１】実施の形態３のＤＥＳ方式の暗号化ブロックの一例を示すブロック図である。
【符号の説明】
【０１１２】
１０  媒体
２０  信号読み出し部
３０  データ蓄積部
４０  信号処理部
５０  制御部
６０  暗号復号部
６２  プログラムメモリ
６３  暗号復号非コア部
６５  暗号復号コア部
７４  外部バス
７８  内部バス
８０〜８４  暗号復号モジュール
【図１】
2007060627.tif 000003
【図２】
2007060627.tif 000004
【図３】
2007060627.tif 000005
【図４】
2007060627.tif 000006
【図５】
2007060627.tif 000007
【図６】
2007060627.tif 000008
【図７】
2007060627.tif 000009
【図８】
2007060627.tif 000010
【図９】
2007060627.tif 000011
【図１０】
2007060627.tif 000012
【図１１】
2007060627.tif 000013