(57)【要約】【課題】コンテンツを複数の配信先に対して効率的に暗号化する。【解決手段】同一のコンテンツに対して複数の暗号化ストリームを生成する際に、その複数の暗号化ストリームに対応するストリーム番号を順次切り替えて選択し、選択したストリーム番号に対応する暗号鍵およびフィードバック値に基づいてブロック単位の暗号化を行い、その暗号化が終了すると、その時点のＡＥＳ−ＣＢＣ暗号器におけるフィードバック値を記録しておくことで、コンテンツのブロック単位による時分割の暗号化処理を行う。【選択図】図１
2007036464.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを配信先ごとに暗号化し、各配信先に対応した複数のストリームを生成するコンテンツ暗号化装置であって、
暗号鍵に基づいて逐次暗号化を行う暗号器と、その暗号器により得られた暗号化データを、前記暗号器の入力側にフィードバックするためのフィードバック値として逐次保持するデータ保持部と、を含む暗号化部と、
前記コンテンツのブロック単位の暗号化処理が、前記ストリームごとに順に割り当てられるように、前記暗号化部の動作を制御する暗号化制御部と、
暗号鍵を前記ストリームごとに記憶する第１記憶部と、
フィードバック値を前記ストリームごとに記憶する第２記憶部と、
前記暗号化部の動作に際し、前記暗号化制御部によって割り当てられたストリームに対応して前記第１および第２記憶部がそれぞれ記憶する暗号鍵およびフィードバック値を暗号化部に与えるとともに、暗号化部によるブロック単位の動作の終了に応じて、前記データ保持部が保持するフィードバック値によって前記第２記憶部を更新するデータ制御部と、
を備えたコンテンツ暗号化装置。
【請求項２】
前記暗号化部、第１記憶部、第２記憶部、データ制御部が同一チップ上に形成された
請求項１記載のコンテンツ暗号化装置。
【請求項３】
前記暗号化部と、前記第１記憶部および／または第２記憶部とは、データ線を介して、それぞれ異なるチップ上に形成され、前記暗号鍵および／またはフィードバック値は、暗号化されて前記データ線上を転送される
請求項１記載のコンテンツ暗号化装置。
【請求項４】
暗号鍵に基づいて逐次暗号化を行う暗号器と、その暗号器により得られた暗号化データを、前記暗号器の入力側にフィードバックするためのフィードバック値として逐次保持するデータ保持部と、を含む暗号化部と、
コンテンツを配信先ごとに暗号化し、各配信先に対応した複数のストリームを生成するために、前記暗号化部を前記ストリームごとに割り当てて動作させる暗号化制御部と、
暗号鍵を前記ストリームごとに記憶する第１記憶部と、
フィードバック値を前記ストリームごとに記憶する第２記憶部と、
前記暗号化部における暗号鍵およびフィードバック値のデータを管理するデータ制御部と、を備えたコンテンツ暗号化装置におけるコンテンツ暗号化方法であって、
前記暗号化制御部が、ｉ番目（ｉ：整数）のストリームを選択するステップと、
前記データ制御部が、前記ｉ番目のストリームに対応して前記第１および第２記憶部がそれぞれ記憶する暗号鍵およびフィードバック値を前記暗号化部に与えるステップと、
前記暗号化部が、前記コンテンツの中の暗号化対象ブロックを暗号化するステップと、
前記データ制御部が、前記暗号化の終了時において前記データ保持部が保持するフィードバック値によって、前記第２記憶部を更新するステップと、
前記暗号化制御部がｉ＋１番目のストリームを選択するステップと、
を備えたコンテンツ暗号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声・映像などのコンテンツを効率的に暗号化する技術に関する。
【背景技術】
【０００２】
昨今のデータ通信ネットワークの普及に伴い、家庭内においても家電機器やコンピュータ、その他の周辺機器をネットワーク接続し、各機器間での通信を可能とした、いわゆるホームネットワークが浸透しつつある。ホームネットワークは、ネットワーク接続機器間で通信を行なうことにより各機器のデータ処理機能を共有することを可能とするものである。ネットワーク接続機器間のコンテンツ送受信等、ユーザに利便性・快適性を提供するものであり、今後、ますます普及することが予測される。
【０００３】
かかるホームネットワークにおいて、コンテンツの著作権を保護する技術としてデファクトスタンダードとなっているＤＴＣＰ（Digital Transmission Content Protection）が知られている。ＤＴＣＰでは、コンテンツの送信機器と受信機器との間で、認証および暗号鍵の交換を行って暗号鍵を共有し、これらの機器間で暗号化データが転送される。
【０００４】
下記非特許文献２に開示されているように、ＤＴＣＰをＩＰネットワーク上に展開するためのＤＴＣＰ／ＩＰでは、暗号強度を高めるため、鍵長１２８ビットのＡＥＳ（Advanced Encryption Standard）に対してＣＢＣ（Cipher Block Chaining：暗号文ブロック連鎖）という処理がなされる。以下、このＣＢＣ処理を用いたＡＥＳ暗号化をＡＥＳ−ＣＢＣ暗号化と称する。
【０００５】
ＡＥＳ−ＣＢＣ暗号化では、１２８ビットの暗号化データをレジスタに保持しておき、そのレジスタ内の暗号化データをフィードバックさせて次の暗号化対象データとＥＸＯＲ（排他的論理和）演算を行い、その演算結果に対してＡＥＳ暗号化を行う。したがって、ＡＥＳ−ＣＢＣ暗号化では、暗号化処理の入出力が１：１に対応付けられないため、出力に特定の傾向が観測されず暗号強度が高まる。
【０００６】
一方で、下記非特許文献１に開示されているように、ＤＴＣＰ／ＩＰの規格上は、著作権対応コンテンツ（暗号化コンテンツ）を、ＩＥＥＥ８０２．３に準拠したイーサーネットワークやＩＥＥＥ８０２．１１に準拠した無線ネットワークを通じて、３４台までの受信装置に配信することが可能となっている。
【０００７】
【非特許文献１】Digital Transmission Content Protection Specification Volume 1 (Information version) Revision 1.4 February 28, 2005 (p71等)
【非特許文献２】DTCP Volume 1 Supplement E Mapping DTCP to IP(Information version) Revision 1.1 February 28, 2005 (p13等)
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＤＴＣＰ／ＩＰの規格上では可能であったとしても、同一のコンテンツを多数の受信装置に配信することには、以下の問題がある。
すなわち、同一のコンテンツの配信であるとしても、たとえば３０台の受信装置に配信するのであれば３０本のストリーミングデータ配信を行うことになるが、上述したＡＥＳ−ＣＢＣ暗号化では、受信装置（配信先）ごとに暗号鍵、および、フィードバックのためのレジスタの値が異なる。したがって、すべての配信先に対して暗号鍵やレジスタの値を共通にできないが、だからといってＡＥＳ−ＣＢＣ処理回路を３０個並列に設けることは、回路規模およびコストの面から好ましくない。
【０００９】
本発明は上記した点に鑑みてなされたものであって、その目的とするところは、コンテンツを複数の配信先に対して効率的に暗号化するコンテンツ暗号化装置、コンテンツ暗号化方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を克服するために、本発明の第１の観点は、コンテンツを配信先ごとに暗号化し、各配信先に対応した複数のストリームを生成するコンテンツ暗号化装置であって、
暗号鍵に基づいて逐次暗号化を行う暗号器と、その暗号器により得られた暗号化データを、前記暗号器の入力側にフィードバックするためのフィードバック値として逐次保持するデータ保持部と、を含む暗号化部と、
前記コンテンツのブロック単位の暗号化処理が、前記ストリームごとに順に割り当てられるように、前記暗号化部の動作を制御する暗号化制御部と、
暗号鍵を前記ストリームごとに記憶する第１記憶部と、
フィードバック値を前記ストリームごとに記憶する第２記憶部と、
前記暗号化部の動作に際し、前記暗号化制御部によって割り当てられたストリームに対応して前記第１および第２記憶部がそれぞれ記憶する暗号鍵およびフィードバック値を暗号化部に与えるとともに、暗号化部によるブロック単位の動作の終了に応じて、前記データ保持部が保持するフィードバック値によって前記第２記憶部を更新するデータ制御部と、
を備える。
【００１１】
上記課題を克服するために、本発明の第２の観点は、
暗号鍵に基づいて逐次暗号化を行う暗号器と、その暗号器により得られた暗号化データを、前記暗号器の入力側にフィードバックするためのフィードバック値として逐次保持するデータ保持部と、を含む暗号化部と、
コンテンツを配信先ごとに暗号化し、各配信先に対応した複数のストリームを生成するために、前記暗号化部を前記ストリームごとに割り当てて動作させる暗号化制御部と、
暗号鍵を前記ストリームごとに記憶する第１記憶部と、
フィードバック値を前記ストリームごとに記憶する第２記憶部と、
前記暗号化部における暗号鍵およびフィードバック値のデータを管理するデータ制御部と、を備えたコンテンツ暗号化装置におけるコンテンツ暗号化方法であって、
前記暗号化制御部が、ｉ番目（ｉ：整数）のストリームを選択するステップと、
前記データ制御部が、前記ｉ番目のストリームに対応して前記第１および第２記憶部がそれぞれ記憶する暗号鍵およびフィードバック値を前記暗号化部に与えるステップと、
前記暗号化部が、前記コンテンツの中の暗号化対象ブロックを暗号化するステップと、
前記データ制御部が、前記暗号化の終了時において前記データ保持部が保持するフィードバック値によって、前記第２記憶部を更新するステップと、
前記暗号化制御部がｉ＋１番目のストリームを選択するステップと、
を備える。
【発明の効果】
【００１２】
本発明によれば、コンテンツを複数の配信先に対して効率的に暗号化することができるので、装置全体の規模を小型化できるとともに、装置を低コスト化することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面に関連付けて、本発明の実施形態について説明する。
【００１４】
《第１の実施形態》
本実施形態に係るコンテンツ配信装置１は、イーサケーブルなどの伝送路を用いて家庭内のホームネットワークに接続され、音声・映像などのコンテンツを、そのネットワークを通してストリーム形式でコンテンツ受信装置（以下、単に受信装置または配信先と略記する）に配信する。
その際、コンテンツ配信装置１は、コンテンツに対してＤＴＣＰ／ＩＰ規格に準拠した暗号化および伝送方式に応じたパケット化を行い、伝送路に送出する。受信装置側では、伝送路から受信したストリーム（暗号化ストリーム）を必要に応じて復号化し、再生する。
【００１５】
ＤＴＣＰ／ＩＰ規格上では、３４台までの配信先に対して同一コンテンツを配信することが可能であるが、配信先ごとに暗号鍵等を異ならせるため、同一コンテンツを配信する場合であっても３４台の配信先に対して、それぞれ異なる３４個の暗号化ストリームを配信することになる。
そこで、実施形態に係るコンテンツ配信装置１では、単一のＡＥＳ−ＣＢＣ暗号器を備え、この暗号器を時分割で動作させることにより、複数の暗号化ストリームを効率的に生成することで、装置全体の回路構成を小規模なものとすることを意図している。
【００１６】
実施形態に係るコンテンツ配信装置１は、同一のコンテンツを暗号化して３０台の受信装置向けに暗号化ストリームを配信する装置である。
【００１７】
以下、図１に関連付けて、実施形態に係るコンテンツ配信装置１の構成について説明する。図１は、コンテンツ配信装置１の構成を示すブロック図である。
図１に示すように、コンテンツ配信装置１は、ストレージ２、制御部（ＣＰＵ）３、ＤＴＣＰ／ＩＰ暗号化エンジン４、イーサコントローラ５を有する。そして、これらの回路ブロックがバス１００を介して接続され、データ通信が可能に構成される。なお、実際には、ストレージにはＡＴＡ（AT Attachment）バスが接続されることが多く、ＣＰＵに接続されたバスとの間にバスブリッジ回路が必要になる場合があるが、本実施形態の説明では、図１に示すように単一のバス１００に各ブロックが接続されているものとする。
【００１８】
なお、図１に示すコンテンツ配信装置１において、
ＤＴＣＰ／ＩＰ暗号化エンジン４のＡＥＳ−ＣＢＣ暗号器４４（後述する）は、本発明の暗号化部に対応する。
制御部３は、本発明の暗号化制御部に対応する。
ＤＴＣＰ／ＩＰ暗号化エンジン４の暗号鍵生成器群４６（後述する）は、本発明の第１記憶部に対応する。
ＤＴＣＰ／ＩＰ暗号化エンジン４のフィードバック値レジスタ群４７（後述する）は、本発明の第２記憶部に対応する。
ＤＴＣＰ／ＩＰ暗号化エンジン４のストリーム番号選択部４５（後述する）は、本発明のデータ制御部に対応する。
【００１９】
ストレージ２は、たとえば光ディスクやＨＤＤ（Hard Disk Drive）を含んで構成され、様々な音声・映像コンテンツを格納する。
制御部３は、マイクロコントローラを主体として構成され、コンテンツ配信装置１の全体の制御を統括する。
制御部３は、ＤＴＣＰ／ＩＰ暗号化エンジン４により生成された配信先ごとの暗号化データに対してＤＴＣＰ／ＩＰヘッダ、ＨＴＴＰヘッダ等を付加してストリーム化し、イーサコントローラ５を制御して、そのストリームを配信先ごとに送出する。
制御部３は、ＤＴＣＰ／ＩＰ暗号化エンジン４で行われるＡＥＳ−ＣＢＣ暗号器の時分割制御を行う。ＤＴＣＰ／ＩＰ暗号化エンジン４では、送信対象のコンテンツに対してそのブロック単位のデータごとに暗号化がなされるが、制御部３は、ＡＥＳ−ＣＢＣ暗号器の使用を各配信先へのストリームにブロック単位で順に割り当てる。そのため、制御部３は、送信対象コンテンツの何番目のブロックまで送信が完了したかについてのデータ（後述するリードポインタ）を、各配信先へのストリームごとに管理する。
【００２０】
ＤＴＣＰ／ＩＰ暗号化エンジン４は、ＤＭＡ（Direct Memory Access）コントローラ４１、入力ＦＩＦＯ（First In First Out）４２、出力ＦＩＦＯ４３、ＡＥＳ−ＣＢＣ暗号器４４、ストリーム番号選択部４５、暗号鍵生成器群４６、フィードバック値レジスタ群４７を有する。
【００２１】
ＤＭＡコントローラ４１は、ストレージ２内のコンテンツを、制御部３およびバス１００を介してブロック単位で取得し、暗号化のために入力ＦＩＦＯ４２に供給する。
ＤＭＡコントローラ４１は、出力ＦＩＦＯ４３から供給される、ブロック単位の暗号化データを、バス１００を介して制御部３に供給する。
【００２２】
ＡＥＳ−ＣＢＣ暗号器４４は、入力ＦＩＦＯ４２から送出されるコンテンツのブロックデータＳ４２に対してＤＴＣＰ／ＩＰ規格に準拠した暗号化を行う。
文献“DTCP Volume 1 Supplement E Mapping DTCP to IP(Information version) Revision 1.1 February 28, 2005 (p13等)”に示されるように、ＤＴＣＰ／ＩＰ規格では、暗号強度を高めるため、通常の鍵長１２８ビットのＡＥＳ（Advanced Encryption Standard）暗号化に対してＣＢＣ（Cipher Block Chaining：暗号文ブロック連鎖）処理する（ＡＥＳ−ＣＢＣ暗号化を行う）ことが規定されている。
【００２３】
図２に、ＡＥＳ−ＣＢＣ暗号器４４の構成を示す。
図２に示すように、ＡＥＳ−ＣＢＣ暗号器４４は、ＡＥＳ暗号化回路４４１（本発明の暗号器に相当）、暗号化データをフィーバックさせるためのレジスタ４４２（本発明のデータ保持部に相当）、ゲート回路４４３を有する。
ＡＥＳ−ＣＢＣ暗号器４４では、１２８ビットの暗号化データＳ４４をレジスタ４４２に保持しておき、その暗号化データを入力側にフィードバックさせ、ゲート回路４４３において次の暗号化対象データＳ４２とＥＸＯＲ演算を行い、１２８ビットの演算結果に対して、暗号鍵に基づいたＡＥＳ暗号化を行う。したがって、ＡＥＳ−ＣＢＣ暗号化では、暗号化処理の入出力が１：１に対応付けられないため、出力に特定の傾向が観測されず暗号強度が高まることになる。
【００２４】
本実施形態では、ＡＥＳ−ＣＢＣ暗号器４４は、ブロック単位の時分割により、配信先ごとに異なる暗号化ストリームを生成するので、ブロック単位で、図２におけるレジスタ４４２および暗号鍵が更新される。すなわち、ブロック単位の処理ごとに、暗号鍵生成器群４６、フィードバック値レジスタ群４７から、それぞれ暗号鍵およびフィードバック値がロードされる。
【００２５】
ストリーム番号選択部４５は、制御部３による所定のタイミング信号に応じて、ストリーム番号を選択し、暗号鍵生成器群４６およびフィードバック値レジスタ群４７に送出するセレクト信号ＳＥＬ０１〜ＳＥＬ３０のいずれかをアクティブにする。
ここで、ストリーム番号は、１つの送信対象コンテンツに対して、複数の配信先向けに配信する複数の暗号化ストリームの番号である。たとえば、ストリーム番号選択部４５は、１番目の暗号化ストリームを選択するとき、すなわち、１番目の配信先向けのストリームを選択するときは、セレクト信号ＳＥＬ０１をアクティブにする。
【００２６】
暗号鍵生成器群４６は、ストリーム番号ごとに３０個の暗号鍵生成器４６＿１〜４６＿３０を含み、ストリーム番号選択部４５から供給されるセレクト信号によって選択されたいずれかの暗号鍵生成器が動作する。
図３に、各暗号鍵生成器４６＿ｎ（ｎ：１〜３０）の構成を示す。
図３に示すように、暗号鍵生成器４６＿ｎは、暗号鍵生成回路４６１＿ｎ（ｎ：１〜３０）、暗号鍵レジスタ４６２＿ｎ（ｎ：１〜３０）を含んで構成される。
【００２７】
暗号鍵生成回路４６１＿ｎは、セレクト信号ＳＥＬ＿ｎ（ｎ：１〜３０）がアクティブであることを検出すると、文献“Digital Transmission Content Protection Specification Volume 1 (Information version) Revision 1.4 February 28, 2005 (３５ページ)”に示されるように、下記（１）式に従って暗号鍵Ｋｃ＿ｎ（ｎ：１〜３０）を生成する。
Ｋｃ＿ｎ＝関数Ｊ（Ｋｘ，Ｎｃ，Ｅ−ＥＭＩ）    …（１）
なお、上記（１）式において、Ｋｘは、コンテンツ配信装置１が配信対象コンテンツごとに設定するシード・キーである。Ｎｃは、コンテンツ配信の際の送信データ量（たとえば１２８メガバイト）ごと、もしくは送信時間ごとに切り替えるためのシード・キーである。Ｅ−ＥＭＩ（Extended Encryption Mode Indicator）は、配信対象コンテンツが“Ｃｏｐｙ  Ｎｅｖｅｒ”であるか、“Ｃｏｐｙ  Ｏｎｃｅ”であるか等のコンテンツの著作権属性によって切り替わる数値である。
関数Ｊには、所望の暗号鍵生成関数を設定可能である。
【００２８】
暗号鍵レジスタ４６２＿ｎには、暗号鍵生成回路４６１＿ｎにより生成された暗号鍵Ｋｃ＿ｎを逐次記憶・更新されるとともに、セレクト信号ＳＥＬ＿ｎの入力に応じて、暗号鍵Ｋｃ＿ｎがＡＥＳ−ＣＢＣ暗号器４４にロードされる。
【００２９】
フィードバック値レジスタ群４７は、ストリーム番号ごとに３０個のフィードバック値レジスタ４７＿１〜４７＿３０を含む。
フィードバック値レジスタ群４７には、セレクト信号によってストリーム番号が更新されるごとに、ＡＥＳ−ＣＢＣ暗号器４４のレジスタ４４２が記憶するフィードバック値が退避されるとともに、新たに選択されたストリーム番号に対応するフィードバック値がレジスタ４４２にロードされる。
たとえば、ｉ番目（ｉ：１〜Ｎ−１のいずれかの値）のストリームのあるブロックの暗号化が終了すると、その時点のレジスタ４４２の値がフィードバック値レジスタ４７＿ｉに格納された後、ｉ＋１番目のストリームのあるブロックの暗号化のために、フィードバック値レジスタ４７＿ｉ＋１が記憶するフィードバック値がレジスタ４４２にロードされる。
【００３０】
本実施形態に係るコンテンツ配信装置１における時分割の暗号化処理において、同一の暗号化ストリーム（同一のストリーム番号）に着目すると、ブロック単位の暗号化処理の終了・開始のたびに、フィードバック値が記憶・呼び出しされるので、暗号化データの連続性が維持される。したがって、配信先で暗号化ストリームを適切に復号化することができる。
【００３１】
次に、コンテンツ配信装置１のコンテンツ配信動作について、図４および図５に関連付けて説明する。
図４は、ストレージ２に記録されたコンテンツ＃１に対して複数の受信装置（受信装置＃１，＃２，＃３，…）から配信要求を受け、配信する場合のリードポインタの動作を示すタイミングチャートであり、（ａ），（ｂ），（ｃ）はこの順で時系列の動作順となっている。
なお、リードポインタは、送信対象コンテンツの何番目のブロックまで送信が完了したかについてのデータであって、制御部３によってストリーム番号ごとに記録・管理される。
【００３２】
図４において、ストレージ２に記録されたコンテンツ＃１を暗号化して配信する際、ブロック単位で読み出して暗号化を行うが、このブロック単位のデータ量は、コンテンツ配信装置１のデータ処理能力を考慮したうえで決定される。
たとえば、ストレージ２からの制御部３によるデータ読み出し動作、制御部３からデータをＤＴＣＰ／ＩＰ暗号化エンジン４へ転送・暗号化する動作、暗号化データを制御部３へ転送・ネットワーク出力動作、がそれぞれ１００Ｍｂｐｓの処理能力を持つ場合に、１つのコンテンツを３０本のストリームとして３０箇所の受信装置に配信しようとすると、１本当たり３．３３Ｍｂｐｓ（＝１００Ｍｂｐｓ／３０）の処理速度が必要となる。換言すると、１秒間に１つの配信先に対して４１６．７Ｋｂｙｔｅｓ（＝１００Ｍｂｐｓ／３０／８）がデータ処理量の上限となる。すなわち、このデータ処理量が１ブロックのデータ量の上限となる。
このように、配信対象のコンテンツ＃１が、処理能力に応じた適切なデータ単位としてのブロック（ＢＬＯＣＫ＿０，ＢＬＯＣＫ＿１，…，ＢＬＯＣＫ＿Ｎ）に分割されて、ストレージ２から順次読み出され、暗号化・送信される。
【００３３】
なお、ストレージ２としてＨＤＤ（Hard Disk Drive）が適用されると、ＤＥＳまたはＡＥＳなどの暗号化がなされた状態で、各ブロックのデータがバス１００上を転送される場合があるが、その暗号化ブロックは、ＡＥＳ−ＣＢＣ暗号器４４に入力される前に、図示しないＨＤＤ用復号器で復号化される。
【００３４】
また、以下の説明において、受信装置＃１，＃２，＃３，…に送信する暗号化ストリームのストリーム番号は、「１」，「２」，「３」，…に対応する。
【００３５】
先ず、図４（ａ）では、コンテンツ配信装置１が受信装置＃１からコンテンツ＃１の配信要求を受けた場合のリードポインタの位置を示す。
受信装置＃１からコンテンツ＃１の配信要求を受けた場合には、先ず、ＢＬＯＣＫ＿０のデータが制御部３によってストレージ２から取り出され、ＤＴＣＰ／ＩＰ暗号化エンジン４へ転送される。
ＤＴＣＰ／ＩＰ暗号化エンジン４では、ストリーム番号選択部４５によりセレクト信号ＳＥＬ０１がアクティブとなる。これにより、ＡＥＳ−ＣＢＣ暗号器４４には、暗号鍵生成器４６＿１のレジスタに格納されている暗号鍵と、フィードバック値レジスタ４７＿１に格納されているフィードバック値（初期値）とがロードされる。そして、ＡＥＳ−ＣＢＣ暗号器４４は、転送されたＢＬＯＣＫ＿０のデータに対して暗号化を行う。
【００３６】
暗号化が終了すると、暗号化されたＢＬＯＣＫ＿０のデータは、制御部３に転送され、所定のヘッダが付加されたうえで受信装置＃１へ送信される。さらに、制御部３は、ストリーム番号「１」のストリームに対するリードポインタの位置を、図４（ａ）に示す位置とする。
【００３７】
図４（ｂ）では、図４（ａ）に対して、さらに、コンテンツ配信装置１が受信装置＃２からコンテンツ＃１の配信要求を受けた場合のリードポインタの位置を示す。
かかる場合、先ず、ＢＬＯＣＫ＿１のデータが制御部３によってストレージ２から取り出され、ＤＴＣＰ／ＩＰ暗号化エンジン４へ転送される。
引き続き、ストリーム番号「１」のストリームに対する暗号化を行うため、暗号鍵生成器群４６およびフィードバック値レジスタ群４７からＡＥＳ−ＣＢＣ暗号器４４に対してデータ（暗号鍵、フィードバック値）のロードは行わない。
そして、ＡＥＳ−ＣＢＣ暗号器４４は、転送されたＢＬＯＣＫ＿１のデータに対して暗号化を行う。
【００３８】
暗号化が終了すると、暗号化されたＢＬＯＣＫ＿１のデータは、制御部３に転送され、所定のヘッダが付加されたうえで受信装置＃１へ送信される。さらに、制御部３は、ストリーム番号「１」のストリームに対するリードポインタの位置を、図４（ｂ）に示す位置とする。
【００３９】
次に、ストリーム番号「２」のストリームに対する暗号化を行うため、この時点においてレジスタ４４２に格納されたフィードバック値は、フィードバック値レジスタ４７＿１に退避される。
そして、ＢＬＯＣＫ＿０のデータが制御部３によってストレージ２から取り出され、ＤＴＣＰ／ＩＰ暗号化エンジン４へ転送される。なお、ストリーム番号「１」のストリームに対する処理のために転送されたＢＬＯＣＫ＿０のデータが図示しないキャッシュメモリ等に記録されていれば、処理の高速化の観点から、そのデータを転送することが好ましい。
ＤＴＣＰ／ＩＰ暗号化エンジン４では、ストリーム番号選択部４５によりセレクト信号ＳＥＬ０２がアクティブとなる。これにより、ＡＥＳ−ＣＢＣ暗号器４４には、暗号鍵生成器４６＿２のレジスタに格納されている暗号鍵と、フィードバック値レジスタ４７＿２に格納されているフィードバック値（初期値）とがロードされる。そして、ＡＥＳ−ＣＢＣ暗号器４４は、転送されたＢＬＯＣＫ＿０のデータに対して暗号化を行う。
【００４０】
暗号化が終了すると、暗号化されたＢＬＯＣＫ＿０のデータは、制御部３に転送され、所定のヘッダが付加されたうえで受信装置＃２へ送信される。さらに、制御部３は、ストリーム番号「２」のストリームに対するリードポインタの位置を、図４（ｂ）に示す位置とする。
【００４１】
図４（ｃ）では、図４（ｂ）に対して、さらに、コンテンツ配信装置１が受信装置＃３からコンテンツ＃１の配信要求を受けた場合のリードポインタの位置を示す。
受信装置＃３からコンテンツ＃１の配信要求を受けるまでは、ストリーム番号選択部４５によりセレクト信号ＳＥＬ０１およびＳＥＬ０２が交互にアクティブとなり、それに応じて、ストリーム番号「１」，「２」に対するコンテンツ＃１の暗号化がブロック単位で交互に行われる。その際、暗号鍵生成器４６＿１，４６＿２からＡＥＳ−ＣＢＣ暗号器４４に対して順に暗号鍵のロードが行われるとともに、ＡＥＳ−ＣＢＣ暗号器４４とフィードバック値レジスタ４７＿１，４７＿２との間で、フィードバック値のロード・退避が繰り返される。
その結果、図４（ｃ）に示すように、ストリーム番号「１」のストリームに対して、ＢＬＯＣＫ＿０〜ＢＬＯＣＫ＿３のデータが暗号化・送信され、ストリーム番号「２」のストリームに対して、ＢＬＯＣＫ＿０〜ＢＬＯＣＫ＿２のデータが暗号化・送信される。
【００４２】
そして、受信装置＃３からコンテンツ＃１の配信要求を受けると、ＢＬＯＣＫ＿０のデータが制御部３によってストレージ２から取り出され、ＤＴＣＰ／ＩＰ暗号化エンジン４へ転送される。なお、ストリーム番号「１」または「２」のストリームに対する処理のために転送されたＢＬＯＣＫ＿０のデータが図示しないキャッシュメモリ等に記録されていれば、処理の高速化の観点から、そのデータを転送することが好ましい。
ＤＴＣＰ／ＩＰ暗号化エンジン４では、ストリーム番号選択部４５によりセレクト信号ＳＥＬ０３がアクティブとなる。これにより、ＡＥＳ−ＣＢＣ暗号器４４には、暗号鍵生成器４６＿３のレジスタに格納されている暗号鍵と、フィードバック値レジスタ４７＿３に格納されているフィードバック値（初期値）とがロードされる。そして、ＡＥＳ−ＣＢＣ暗号器４４は、転送されたＢＬＯＣＫ＿０のデータに対して暗号化を行う。
【００４３】
暗号化が終了するたびに、暗号化されたＢＬＯＣＫのデータは、制御部３に転送され、所定のヘッダが付加されたうえで受信装置＃１〜３へ送信される。さらに、制御部３は、ストリーム番号「１」〜「３」のストリームに対するリードポインタの位置を、図４（ｃ）に示す位置とする。
【００４４】
以上説明したようにして、同一コンテンツ＃１が複数の受信装置に対して、ブロック単位で暗号化・配信される。
【００４５】
図５は、図４に示した配信動作例において、ブロック単位で暗号化されるデータが複数の受信装置に対して送信される送出動作を示すタイミングチャートであって、（ａ）〜（ｅ）は、時系列順に、制御部３が送出するデータを示し、（ｆ）および（ｇ）は、受信装置＃１，＃２に配信されるストリームを示す。
【００４６】
図５（ａ）に示すように、先ず、ストリーム番号「１」のストリームのために、ＢＬＯＣＫ＿０のデータが暗号化され、その暗号化データが制御部３に転送されると、ＤＴＣＰ／ＩＰヘッダが付加されてＤＴＣＰ／ＩＰパケット化され、さらに、ＨＴＴＰヘッダが付加される。
通常、１２８メガバイトの暗号化コンテンツには、ＨＴＴＰヘッダが付加されてＨＴＴＰパケットが生成される。コンテンツのサイズが１２８メガバイトより大きければ、再度ＨＴＴＰヘッダが付加されて、別のＨＴＴＰパケットが生成される。
【００４７】
図５（ｂ）に示すように、ストリーム番号「１」のストリームに対しては、しばらくの間（１２８メガバイト分のブロックデータを送信するまで）、ＤＴＣＰ／ＩＰパケット化が繰り返される。図５（ｂ）では、ＢＬＯＣＫ＿１のデータが暗号化され、ＤＴＣＰ／ＩＰパケットが送信される。
【００４８】
図５（ｃ）では、ストリーム番号「２」のストリームのために、ＢＬＯＣＫ＿０のデータが暗号化され、その暗号化データが制御部３に転送されると、ＤＴＣＰ／ＩＰヘッダが付加されてＤＴＣＰ／ＩＰパケット化される。さらに、ストリーム番号「２」のストリームに対しては、最初の暗号化データとなるため、ＨＴＴＰヘッダが付加される。
【００４９】
図５（ｄ）および（ｅ）では、順に、ストリーム番号「１」のストリームに対して、ＢＬＯＣＫ＿２のデータが暗号化され、ＤＴＣＰ／ＩＰパケットが送信され、ストリーム番号「２」のストリームに対して、ＢＬＯＣＫ＿１のデータが暗号化され、ＤＴＣＰ／ＩＰパケットが送信される。
【００５０】
以上の図５（ａ）〜（ｅ）の送出動作を、各受信装置＃１，＃２に対する送出ストリームとして見ると、図５（ｆ）および（ｇ）に示すように、先頭にＨＴＴＰヘッダが付加されたＨＴＴＰパケット単位で各受信装置へ送信されることになる。そして、ＨＴＴＰパケットの中には、上限１２８メガバイトである複数のＤＴＣＰ／ＩＰパケットが含まれる。
【００５１】
以上詳述したように、本実施形態に係るコンテンツ配信装置１によれば、同一のコンテンツに対して複数の暗号化ストリームを生成する際に、その複数の暗号化ストリームに対応するストリーム番号を順次切り替えて選択し、選択したストリーム番号に対応する暗号鍵およびフィードバック値に基づいてブロック単位の暗号化を行い、その暗号化が終了すると、その時点のＡＥＳ−ＣＢＣ暗号器におけるフィードバック値を保持しておくようにして、コンテンツのブロック単位による時分割の暗号化処理を行う。
したがって、同一のコンテンツを複数の受信装置に配信するために、複数のＡＥＳ−ＣＢＣ暗号器を並列に設ける必要がない。ＡＥＳ−ＣＢＣ暗号器は回路規模が大きいため、コンテンツ配信装置全体の回路規模を小さく保つことができる。
【００５２】
なお、バス上の暗号鍵の転送を回避し、セキュリティ性能を向上する観点から、コンテンツ配信装置１における、ＡＥＳ−ＣＢＣ暗号器４４、暗号鍵生成器群４６、フィードバック値レジスタ群４７は、図１に示したように同一チップ内に形成されることが好ましい。
【００５３】
《第２の実施形態》
本実施形態に係るコンテンツ配信装置１ａは、上述したコンテンツ配信装置１と比較して、ＤＴＣＰ／ＩＰ暗号化エンジンのハードウエア規模を小さくすることで、装置全体の回路規模の縮小、および、低コスト化を目的としている。
そのため、本実施形態に係るコンテンツ配信装置１ａでは、ストリーム番号の選択、ストリーム番号に応じた暗号鍵生成・保持、ストリーム番号に応じたフィードバック値の読み出し・保持といった処理を制御部にて行う。そして、暗号鍵、フィードバック値は、暗号化処理対象のブロックが切り替わるごとに、制御部からＤＴＣＰ／ＩＰ暗号化エンジンへ転送される。
【００５４】
図６に、本実施形態に係るコンテンツ配信装置１ａの構成を示す。
図６において、図１に示したコンテンツ配信装置１と同一の構成要素は、同一の符号が付されている。したがって、コンテンツ配信装置１ａでは、制御部３ａおよびＤＴＣＰ／ＩＰ暗号化エンジン４ａがコンテンツ配信装置１と異なる。
【００５５】
制御部３ａは、第１の実施形態で説明したコンテンツ配信装置１の制御部３と比較して、さらに、コンテンツ配信装置１のストリーム番号選択部４５、暗号鍵生成器群４６、フィードバック値レジスタ群４７と同一の機能を備えている。
すなわち、制御部３ａは、同一のコンテンツに対して複数の暗号化ストリームを生成する際に、その複数の暗号化ストリームに対応するストリーム番号を順次切り替えて選択する。さらに、制御部３ａは、選択したストリーム番号に対応する暗号鍵およびフィードバック値を、バス１００を介してＤＴＣＰ／ＩＰ暗号化エンジン４ａに転送するとともに、その選択したストリーム番号に対応して、ブロック単位の暗号化が終了すると、その時点のＡＥＳ−ＣＢＣ暗号器におけるフィードバック値を、バス１００を介して取得し、保持しておく。
【００５６】
制御部３ａは、制御部３同様、ストリーム番号ごとに、送信対象コンテンツの何番目のブロックまで送信が完了したかについて示すリードポインタを、配信先ごとに管理する。
ＤＴＣＰ／ＩＰ暗号化エンジン４ａにて暗号化されたブロックは、逐次、制御部３ａに転送され、ＤＴＣＰ／ＩＰパケット化およびＨＴＴＰパケット化され、ストリーム番号に対応する複数の受信装置に配信される。
【００５７】
ＤＴＣＰ／ＩＰ暗号化エンジン４ａは、第１の実施形態におけるＤＴＣＰ／ＩＰ暗号化エンジン４と比較して、暗号鍵レジスタ４８、フィードバック値レジスタ４９、暗号器５０、復号器５１が異なる。
ＤＴＣＰ／ＩＰ暗号化エンジン４ａは、ＤＴＣＰ／ＩＰ暗号化エンジン４と比較すると、大幅に機能が簡略化されている。
ＤＴＣＰ／ＩＰ暗号化エンジン４ａは、制御部３ａから順次転送される暗号鍵およびフィードバック値を、それぞれ、暗号鍵レジスタ４８およびフィードバック値レジスタ４９に保持し、ＡＥＳ−ＣＢＣ暗号器４４にロードする。また、ＡＥＳ−ＣＢＣ暗号器４４のブロック単位での処理が終了するたびに、ＡＥＳ−ＣＢＣ暗号器４４のレジスタ４４２のフィードバック値をフィードバック値レジスタ４９に退避させ、そのフィードバック値を制御部３ａに転送する。
すなわち、暗号鍵レジスタ４８およびフィードバック値レジスタ４９は、すべてのストリーム番号に対して共用され、ＤＴＣＰ／ＩＰ暗号化エンジン４ａは、複数のストリームに対応した大量のレジスタを設ける必要がない。
【００５８】
暗号器５０および復号器５１は、暗号鍵をバス１００に転送するときの安全性を考慮して設けられている。すなわち、暗号鍵は極めて機密性の高いデータであり、この暗号鍵を制御部３ａ〜ＤＴＣＰ／ＩＰ暗号化エンジン４ａ間でバス１００を介して転送することは、暗号盗聴のおそれがあるため、ＤＴＣＰ／ＩＰ暗号化エンジン４ａからバス１００へ暗号鍵を送出する前には、その暗号鍵を暗号器５０によって、さらに暗号化する。また、制御部３ａからバス１００へ暗号鍵を送出する前には、制御部３ａ内部の図示しない暗号器によって、暗号鍵をさらに暗号化し、ＤＴＣＰ／ＩＰ暗号化エンジン４ａでは、復号器５１によって元の暗号鍵に復号化する。
【００５９】
なお、フィードバック値は、コンテンツのデータに応じて変化するものであり、機密性は低いと考えられるが、暗号化したうえでバス１００上を転送することで、セキュリティ性能（耐タンパリング性能）をさらに向上させることができる。そのためには、フィードバック値をバス１００に送出する前に暗号化するための暗号器（図６に図示せず）と、バス１００から取得するフィードバック値を復号化するための復号器（図６に図示せず）とを設けるようにすればよい。
【００６０】
以上説明したように、本実施形態に係るコンテンツ配信装置によれば、第１の実施形態に係るコンテンツ配信装置と比較して、ＤＴＣＰ／ＩＰ暗号化エンジン内に、複数のストリームに対応した大量のレジスタを設ける必要がないので、装置全体の回路規模の縮小、および、低コスト化が実現できる。
【００６１】
以上、本発明の実施の形態を詳述してきたが、具体的な構成及びシステムは本実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更や、他のシステムへの適応なども含まれる。
たとえば、上述の実施形態では、同一のコンテンツを複数の受信装置に対して配信する場合について説明してきたが、同一のコンテンツに限られるものではない。制御部３において、ストリーム番号ごとに、暗号化対象コンテンツと暗号化対象ブロックを管理することで、配信先ごとに異なるコンテンツの暗号化処理を時分割でＡＥＳ−ＣＢＣ暗号器４４に実行させることができる。
【図面の簡単な説明】
【００６２】
【図１】実施形態に係るコンテンツ配信装置の構成を示すブロック図である。
【図２】ＡＥＳ−ＣＢＣ暗号器の構成を示す図である。
【図３】暗号鍵生成器の構成を示す図である。
【図４】複数の受信装置から配信要求を受けてコンテンツを配信する場合のリードポインタの動作を示すタイミングチャートである。
【図５】ブロック単位で暗号化されるデータが複数の受信装置に対して送信される送出動作を示すタイミングチャートである。
【図６】実施形態に係るコンテンツ配信装置の別の構成を示すブロック図である。
【符号の説明】
【００６３】
１，１ａ…コンテンツ配信装置
２…ストレージ
３，３ａ…制御部
４，４ａ…ＤＴＣＰ／ＩＰ暗号化エンジン
４１…ＤＭＡコントローラ、４２…入力ＦＩＦＯ、４３…出力ＦＩＦＯ、
４４…ＡＥＳ−ＣＢＣ暗号器、４５…ストリーム番号選択部、
４６…暗号鍵生成器群、４７…フィードバック値レジスタ群、
４８…暗号鍵レジスタ、４９…フィードバック値レジスタ、５０…暗号器、
５１…復号器
５…イーサコントローラ
１００…バス
【図１】
2007036464.tif 000003
【図２】
2007036464.tif 000004
【図３】
2007036464.tif 000005
【図４】
2007036464.tif 000006
【図５】
2007036464.tif 000007
【図６】
2007036464.tif 000008