(57)【要約】【課題】処理ユニットによるフレキシビリティを持ち、かつセキュリティ強度を十分に保持することが可能な暗号化復号処理回路および暗号化復号システムを提供する。【解決手段】暗号処理コア２１と、暗号処理コアを含めた演算を実現するための周辺論理部２２と、外部において暗号化され保持されているデータを解くための秘密鍵を複数保持する秘密鍵レジスタ２３２と、少なくとも秘密鍵によって解かれたデータを保持する内部メモリ２３１と、内部メモリ２３１の保持データと別のデータとの演算結果を保持するためのレジスタ２４１と、暗号処理コア２１と周辺論理部２２の処理対象のデータを保持する入力データレジスタ２４２と、を有し、周辺論理部２２は構成変更が可能で、秘密鍵レジスタ２３２、内部メモリ２３１、レジスタ１４１は、外部よりアクセスが不可能に形成されている。【選択図】図１
2006345242.tif 000002
【特許請求の範囲】
【請求項１】
暗号処理コアと、
上記暗号処理コアを含めた演算を実現するための周辺論理部と、
外部において暗号化され保持されているデータを解くための秘密鍵を複数保持する秘密鍵保持部と、
少なくとも秘密鍵によって解かれたデータを保持する内部データ保持部と、
上記内部データ保持部の保持データと別のデータとの演算結果を保持するための少なくとも一つの演算結果保持部と、
上記暗号処理コアと上記周辺論理部の処理対象のデータを保持する入力データ保持部と、を有し、
上記周辺論理部は構成変更が可能で、
上記秘密鍵保持部、内部データ保持部、演算結果保持部の保持データは、外部よりアクセスが不可能に形成されている
暗号化復号処理回路。
【請求項２】
上記暗号処理コアおよび周辺論理部は、上記秘密鍵保持部、内部データ保持部、演算結果保持部の保持データを、実際の値ではなくインデックスによる間接指定でアクセスを行い演算を実行する
請求項１記載の暗号化復号処理回路。
【請求項３】
上記内部データ保持部および／または上記演算結果保持部に保持されたデータに基づいて供給されるコンテンツの暗号化および復号処理を行うコンテンツ処理制御部を、有する
請求項１記載の暗号化復号処理回路。
【請求項４】
上記暗号処理コアおよび周辺論理部は、上記入力データ保持部に保持された被演算対象データおよび上記内部データ保持部に保持されたデータに基づいて汎用演算可能である
請求項１記載の暗号化復号処理回路。
【請求項５】
入力データの暗号化復号処理が可能な暗号化復号処理回路と、
上記暗号化復号処理回路の処理制御を行うことが可能な処理ユニットと、を有し、
上記暗号化復号処理回路は、
ハードワイヤード（Hard Wired）で構成された暗号処理コアと、
上記暗号処理コアを含めた演算を実現するための周辺論理部と、
外部において暗号化され保持されているデータを解くための秘密鍵を複数保持する秘密鍵保持部と、
少なくとも秘密鍵によって解かれたデータを保持する内部データ保持部と、
上記内部データ保持部の保持データと別のデータとの演算結果を保持するための少なくとも一つの演算結果保持部と、
上記暗号処理コアと上記周辺論理部の処理対象のデータを保持する入力データ保持部と、を含み、
上記周辺論理部は上記処理ユニットにより構成変更が可能で、
上記秘密鍵保持部、内部データ保持部、演算結果保持部の保持データは、外部よりアクセスが不可能に形成されている
暗号化復号システム。
【請求項６】
上記暗号処理コアおよび周辺論理部は、上記秘密鍵保持部、内部データ保持部、演算結果保持部の保持データを、実際の値ではなくインデックスによる間接指定でアクセスを行い演算を実行する
請求項５記載の暗号化復号システム。
【請求項７】
上記内部データ保持部および／または上記演算結果保持部に保持されたデータに基づいて供給されるコンテンツの暗号化および復号処理を行うコンテンツ処理制御部を、有する
請求項５記載の暗号化復号システム。
【請求項８】
上記暗号処理コアおよび周辺論理部は、上記入力データ保持部に保持された被演算対象データおよび上記内部データ保持部に保持されたデータに基づいて汎用演算可能である
請求項５記載の暗号化復号システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、DVDレコーダや、ハードディスクレコーダ等の映像の記録再生装置等に適用される暗号化復号処理回路および暗号化復号システムに関するものである。
【背景技術】
【０００２】
DVDレコーダや、ハードディスクレコーダ等の映像の記録再生装置では、そのコンテンツ保護のため、暗号化/復号処理が行われている。
この際、コンテンツがセキュアであるためには、そのアルゴリズム自体が強固なものであることと、その内容、および暗号化(あるいは復号)するための鍵情報の秘匿が重要である。これに関し、現在提案されている関連技術においては、次のような方式（手段）にて実施されている（たとえば、非特許文献１参照）。
【０００３】
第１は、暗号化/復号処理すべてをハードウェア（H/W：Hard Wired）構成とする方式である。
第２は、基本となる暗号アルゴリズム処理のための専用のH/Wを持ち、他の処理をシステムローカルな制御系であるCPU等の処理ユニットによるソフトウェア（S/W）処理とする方式である。
このとき、鍵の秘匿については、第１の方式においては、H/W内部に閉じ、第２の方式においてはローカルメモリに閉じることで実現される。
【非特許文献１】「情報セキュリティ事典」、（2003年７月）、土居範久監修、佐々木良一ほか著、（株）共立出版発行、413頁 図12.20 DVDビデオ記録フォーマットデータのＣＰＲＭによる暗号化復号処理
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、第１の方式では、セキュリティ強度としては十分に強固なものが満たせる一方で、フレキシビリティがないため、仮に基本となる暗号アルゴリズムが同じであったとしても、異なる暗号方式に対応しようとした場合、容易に対応することができないという不利益がある。
【０００５】
一方、第２の方式については、第１の方式と課題としてあげたフレキシビリティについては解決され、セキュリティ強度としても十分に満たせるものの、ICEを利用した CPUデバッガによるデバッガビリティの確保と、セキュリティ強度の確保が背反する関係にあり開発を困難にする一因となっていた。
【０００６】
本発明の目的は、処理ユニットによるフレキシビリティを持ち、かつセキュリティ強度を十分に保持することが可能な暗号化復号処理回路および暗号化復号システムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の第１の観点の暗号化復号処理回路は、ハードワイヤード（Hard Wired）で構成された暗号処理コアと、上記暗号処理コアを含めた演算を実現するための周辺論理部と、外部において暗号化され保持されているデータを解くための秘密鍵を複数保持する秘密鍵保持部と、少なくとも秘密鍵によって解かれたデータを保持する内部データ保持部と、上記内部データ保持部の保持データと別のデータとの演算結果を保持するための少なくとも一つの演算結果保持部と、上記暗号処理コアと上記周辺論理部の処理対象のデータを保持する入力データ保持部と、を有し、記周辺論理部は構成変更が可能で、上記秘密鍵保持部、内部データ保持部、演算結果保持部の保持データは、外部よりアクセスが不可能に形成されている。
【０００８】
本発明の第２の観点の暗号化復号システムは、入力データの暗号化復号処理が可能な暗号化復号処理回路と、上記暗号化復号処理回路の処理制御を行うことが可能な処理ユニットと、を有し、上記暗号化復号処理回路は、ハードワイヤード（Hard Wired）で構成された暗号処理コアと、上記暗号処理コアを含めた演算を実現するための周辺論理部と、外部において暗号化され保持されているデータを解くための秘密鍵を複数保持する秘密鍵保持部と、少なくとも秘密鍵によって解かれたデータを保持する内部データ保持部と、上記内部データ保持部の保持データと別のデータとの演算結果を保持するための少なくとも一つの演算結果保持部と、上記暗号処理コアと上記周辺論理部の処理対象のデータを保持する入力データ保持部と、を含み、上記周辺論理部は上記処理ユニットにより構成変更が可能で、上記秘密鍵保持部、内部データ保持部、演算結果保持部の保持データは、外部よりアクセスが不可能に形成されている。
【０００９】
好適には、上記暗号処理コアおよび周辺論理部は、上記秘密鍵保持部、内部データ保持部、演算結果保持部の保持データを、実際の値ではなくインデックスによる間接指定でアクセスを行い演算を実行する。
【００１０】
好適には、上記内部データ保持部および／または上記演算結果保持部に保持されたデータに基づいて供給されるコンテンツの暗号化および復号処理を行うコンテンツ処理制御部を、有する。
【００１１】
好適には、上記暗号処理コアおよび周辺論理部は、上記入力データ保持部に保持された被演算対象データおよび上記内部データ保持部に保持されたデータに基づいて汎用演算可能である。
【００１２】
本発明によれば、たとえば内部秘密鍵により暗号化されていたデータが入力データ保持部に設定される。
次に、入力データ保持部に設定されたデータを復号するための秘密鍵が秘密鍵保持部の保持データより選択する。
また、演算結果の格納先が内部データ保持部より選択される。
そして、周辺論理部の構成変更が行われて、演算設定が行われる。
そして、演算が開始される。
暗号化されたデータがすべて復号されたか否かを判別し、復号されていなければ、以上の処理を繰り返す。
【発明の効果】
【００１３】
本発明によれば、処理ユニットによるフレキシビリティを持ち、かつセキュリティ強度を十分に保持することが可能である。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態を図面に関連付けて説明する。
【００１５】
図１は、本発明の実施形態に係る暗号化復号システムの構成例を示すブロック図である。
【００１６】
本暗号化復号システム１は、図１に示すように、暗号化復号処理回路２、制御系である処理ユニットとしてのＣＰＵ３、およびシステムバス４を有している。
【００１７】
本実施形態の暗号化復号処理回路２は、中間鍵処理制御を行わず、入出力データの読み書きを可能にしており、また、ローカルメモリを内部に配置し、かつ、内部に秘密鍵を持たせている。
【００１８】
本暗号化復号処理回路２は、ハードワイヤード（Hard Wired：H/W）で構成された十分な耐タンパ性を有する暗号処理コア２１と、暗号処理コア２１を組み合わせた演算を実現するための周辺論理部２２、第１の保持ブロック２３、第２の保持ブロック部２４、およびコンテンツ処理制御用シーケンサ２５を、主構成要素として有している。
【００１９】
第１の保持ブロック部２３は、内部データ保持部としての内部メモリ２３１、および秘密鍵保持部としての秘密鍵レジスタ２３２を有している。
内部メモリ２３１には、暗号処理コア２１および周辺論理部２２において、秘密鍵を用いて暗号が解かれたデータ（演算結果）が保持される。
秘密鍵レジスタ２３２には、図示しない外部記憶デバイスに暗号化され保持されているデータを解くための秘密鍵を複数保持している。
【００２０】
第２の保持ブロック２４は、演算結果保持部としての出力データレジスタ２４１、および入力データ保持部としての入力データレジスタ２４２を有している。
出力データレジスタ２４１には、暗号処理コア２１および周辺論理部２２において、秘密鍵を用いずに演算処理した演算結果が保持される。
入力データレジスタ２４２は、暗号処理コア２１および周辺論理部２２において処理される、内部秘密鍵により暗号化されていたデータ、または秘密鍵を使用しない、通常の被演算対象となるデータが、ＣＰＵ３によりバス４を介して設定される。
【００２１】
コンテンツ処理制御用シーケンサ２５は、ＣＰＵ３により起動され、暗号化処理および復号処理をすべきコンテンツが供給され、暗号処理コア２１および周辺論理部２２において処理されて最終的に得られたデータを使用して、供給されたコンテンツの暗号化/復号処理を行う。
【００２２】
本実施形態の暗号化復号処理回路２においては、第１の保持ブロック部２３の内部メモリ２３１および秘密鍵レジスタ２３２、並びに、第２の保持ブロック部２４の出力データレジスタ２４１および出力データレジスタ２４２の値は、H/Wのみ参照可能で、S/Wからのアクセスは不可能となるように構成されている。
また、本実施形態の暗号化復号処理回路２においては、第１の保持ブロック部２３の内部メモリ２３１および秘密鍵レジスタ２３２、並びに、第２の保持ブロック部２４の出力データレジスタ２４１および出力データレジスタ２４２の値は、ＣＰＵ３により、実際の値ではなくインデックスによる間接指定でアクセスを行い、演算が実行されるように構成されている。
シーケンサ２５は、この間接指定のアクセスに応じて、コンテンツの暗号化、復号処理を行う。
本実施形態の暗号化復号処理回路２においては、このような処理により、S/Wに対して鍵データを一切参照させることのない、セキュアなコンテンツ暗号化復号処理を実現している。
また、本実施形態の暗号化復号処理回路２において、暗号処理コア２１および周辺論理部２２で構成されるH/Wについて、通常の汎用演算を可能としている。
【００２３】
以上の構成を有する暗号化復号処理回路２において、データパスとしては、暗号処理コア２１と、その周辺論理部２２により構成される。
暗号処理コア２１は、データ暗号規格DES(Data Encryption Standard)やAESに代表される暗号処理の基本となるアルゴリズムを実現する回路で、周辺論理部２３は暗号処理コア２１の入出力に対して排他的論理和（EXOR）を取る構成となっており、これは一方向性関数や、CBCモードに代表される演算を実現するためにある。
なお、この周辺論理部２２はＣＰＵ３によりその構成を変更することが可能であり、これにより暗号処理コア２１を組み合わせた様々な演算を実現することが可能となる。
【００２４】
第１の保持ブロック２３の内部メモリ２３１は、暗号処理コア２１と周辺論理部２２により構成されるデータパスの出力結果を保持する。そして、内部メモリ２３１および秘密鍵レジスタ２３２を含む第１の保持ブロック２３は、外部接続されるＣＰＵ３からはその値を直接参照することができない。
秘密鍵レジスタ２３２に保持される秘密鍵の用途としては、ターゲットとする暗号化システムにおいて最も重要な情報を暗号化するための鍵として用いられる。通常、その情報は秘密鍵により暗号化された状態で図示しない外部記憶デバイスに格納されており、必要に応じ読み出され復号される。
この復号は、暗号化されたデータを第２の保持ブロック２４の入力データレジスタ２４２に設定し、第１の保持ブロック２３の秘密鍵レジスタ２３２に保持されている秘密鍵を鍵として使用することをＣＰＵ３が間接指定することで行う。
このときの演算結果は、秘密鍵レジスタ２３２の秘密鍵を使用したことをトリガとし、その演算結果は内部メモリ２３１にのみ格納されるように（出力データレジスタ２４１には格納しないように）なっており、決して外部に漏れ出ることがない。
【００２５】
本実施形態においては、ある暗号処理システムにおいて、コンテンツを処理するための鍵生成処理が複数ステップにわたることを想定している。
この場合、内部メモリ２３１に格納されたデータと別のデータとの演算を行うことになるが、その演算結果もやはり出力データレジスタ２４１に格納され、その結果は決して外部に漏れ出ることはない。
また、最終的に得られたデータは、コンテンツの暗号化/復号処理に使用することを想定しており、これはコンテンツ処理制御用のシーケンサ２５をＣＰＵ３が起動したのちにコンテンツを供給することで行われる。
ここまでのステップで算出されたデータが外部に漏れることはないため、十分なセキュリティ強度を満たすことができる。
【００２６】
以上の処理について、コンテンツ処理データ生成処理フローを図２に示す。
次に、図２に関連付けてコンテンツ処理データ生成処理について説明する。
【００２７】
ステップＳＴ１において、内部秘密鍵により暗号化されていたデータを、図示しない外部記憶デバイスよりダウンロードして、入力データレジスタ２４２に設定する。
次に、ステップ２において、入力データレジスタ２４２に設定されたデータを復号するための秘密鍵をレジスタ２３２により選択する。
ステップＳＴ３において、演算結果の格納先を内部メモリ２３１により選択する。
ステップＳＴ４において、周辺論理部２２の構成変更をすることで演算設定を行う。
そして、ステップＳＴ５において、演算を開始する。
ステップＳＴ６において、暗号化されたデータがすべて復号されたか否かを判別し、復号されていなければ、ステップＳＴ１〜ＳＴ５の処理を繰り返す。暗号化されたデータがすべて復号された（復号完了）場合には、ステップＳＴ７の処理に移行する。
【００２８】
ステップＳＴ７においては、コンテンツの暗号化/復号に必要な鍵の生成が完了しているか否か（コンテンツ処理のデータセットが完了しているか否か）判別し、完了していれば終了(end)する。
完了していなければステップＳＴ８〜ＳＴ１２の処理を行うことで鍵生成処理を行う。
具体的には、ステップＳＴ８において、被演算対象となるデータを入力データレジスタ２４２に設定する。
次に、ステップＳＴ９において、入力データレジスタ２４２に設定されたデータと演算するためのデータを内部メモリ２３１より選択する。
次に、ステップＳＴ１０において、演算結果の格納先を内部メモリ２３１より選択する。
ステップＳＴ１１において、周辺論理部２２の構成変更をすることで演算設定を行う。
そして、ステップＳＴ１２において、演算を開始する。
【００２９】
なお、外部記憶デバイスに格納された鍵情報の復号から始まるコンテンツの暗号化/復号処理の一連の手順を示したが、本回路では通常の暗号処理コア２２としてＣＰＵ３が制御することを可能としているため汎用性を備える。
この場合は、入力データレジスタ２４２にデータ、鍵を設定し回路を動作させる。秘密鍵を使用しない場合の演算結果は出力データレジスタ２４１に格納される。
【００３０】
以上の処理フローを図３に示す。
次に、図３に関連付けて、秘密鍵を使用しない場合の処理について説明する。
【００３１】
まず、ステップＳＴ２１において、被演算対象となるデータを入力データレジスタ２４２に設定する。
次に、ステップＳＴ２２において、入力データレジスタ２４２に設定されたデータと演算するためのデータを内部メモリ１３１より選択する。
次に、ステップＳＴ２３において、周辺論理部２２の構成変更をすることで演算設定を行う。
そして、ステップＳＴ２４において、演算を開始する。
【００３２】
以上説明したように、本実施形態によれば、CPU+専用H/Wの構成とし、その構成を可変とすることで演算のフレキシビリティを確保することができる。
また、専用H/Wのみの構成で必要としていた中間鍵処理制御論理をCPUに代替することで、この論理を削減することが可能である。
CPU構成としながらも、S/W自体は一切鍵データを参照しない（できない）ため、ICEを利用したデバッグ手段を想定した場合においてもセキュアなコンテンツ処理が保証される利点がある。
また、S/Wが一切鍵データを参照しない（できない）ため、その制御CPUはローカルなものでなくてもよくなる（たとえば、制御CPUが異なるLSIとなっていてもよい）。
また、セキュリティ強度を要求されない場合においての汎用演算を可能とする。
デバイスの持つ鍵に代表される暗号化システムにおいて最も重要な情報自体をH/W内部に持たない一方で、内部秘密鍵により暗号化されたデータとして外部記憶デバイスに記憶しておき、この外部記憶デバイスからダウンロードするダウンロード方式のため、システムの設計、製造時、評価のそれぞれのフェーズにおける漏洩の危険の低減、セキュリティレベルの向上に寄与するという利点がある。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施形態に係る暗号化復号システムの構成例を示すブロック図である。
【図２】本実施形態のコンテンツ処理データ生成処理を説明するためのフローチャートである。
【図３】本実施形態の秘密鍵を使用しない場合の処理について説明するためのフローチャートである。
【符号の説明】
【００３４】
１・・・暗号化復号システム、２・・・暗号化復号処理回路、２１・・・暗号処理コア、２２・・・周辺論理部、２３・・・第１の保持ブロック、２３１・・・内部メモリ、２３２・・・秘密鍵レジスタ、２４・・・第２の保持ブロック、２４１・・・出力データレジスタ、２４２・・・入力データレジスタ、２５・・・シーケンサ、３・・・ＣＰＵ（処理ユニット）。
【図１】
2006345242.tif 000003
【図２】
2006345242.tif 000004
【図３】
2006345242.tif 000005