(57)【要約】【課題】クライアントからのseek要求に対し、迅速に所望位置のコンテンツを配信することができるコンテンツ配信サーバ及びコンテンツ配信方法を提供する。【解決手段】時刻情報が付加されたストリーミングデータのうち時刻情報を除く部分を、機器固有鍵を用いて部分暗号化して記憶手段に記憶し、クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、記憶手段に記憶された部分暗号化ストリーミングデータを、時刻情報に基づいて検索する。【選択図】図１
2008009303.tif 000002
【特許請求の範囲】
【請求項１】
時刻情報が付加された所定単位の暗号化ストリーミングデータを記録し、上記暗号化ストリーミングデータをクライアントに配信するコンテンツ配信サーバにおいて、
上記時刻情報が付加された所定単位の暗号化ストリーミングデータを復号する復号手段と、
上記復号手段で復号されたストリーミングデータをローカル暗号化するローカル暗号化手段と、
上記ローカル暗号化手段でローカル暗号化されたストリーミングデータを記憶する記憶手段と、
上記暗号化ストリーミングデータを上記クライアントに配信する配信手段とを備え、
上記ローカル暗号化手段は、上記暗号化ストリーミングデータを配信用として上記記憶手段に記憶する場合、上記復号手段で復号されたストリーミングデータのうち上記時刻情報を除く部分を、機器固有鍵を用いて部分暗号化し、
上記記憶手段は、上記部分暗号化された部分暗号化ストリーミングデータと上記時刻情報とを記憶し、
上記配信手段は、上記クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、上記記憶手段に記憶された部分暗号化ストリーミングデータを、上記時刻情報に基づいて検索し、上記所望時間位置の部分暗号化ストリーミングデータを、上記機器固有鍵を用いて部分復号し、所定のプロトコルで再暗号化して上記暗号化ストリーミングデータを上記クライアントに配信する
ことを特徴とするコンテンツ配信サーバ。
【請求項２】
上記配信手段は、上記暗号化ストリーミングデータのビットレート情報に基づいて上記所望時間位置の概算位置を求め、上記時刻情報に基づいて部分暗号化ストリーミングデータを検索することを特徴とする請求項１記載のコンテンツ配信サーバ。
【請求項３】
上記復号手段で復号されたストリーミングデータからビットレート情報を取得するビットレート情報取得手段を備えることを特徴とする請求項１記載のコンテンツ配信サーバ。
【請求項４】
時刻情報が付加された所定単位の暗号化ストリーミングデータを記録し、上記暗号化ストリーミングデータをクライアントに配信するコンテンツ配信方法において、
上記時刻情報が付加された所定単位の暗号化ストリーミングデータを復号する復号工程と、
上記復号工程で復号されたストリーミングデータをローカル暗号化するローカル暗号化工程と、
上記ローカル暗号化工程でローカル暗号化されたストリーミングデータを記憶手段に記憶する記憶工程と、
上記暗号化ストリーミングデータを上記クライアントに配信する配信工程とを有し、
上記ローカル暗号化工程では、上記暗号化ストリーミングデータを配信用として上記記憶手段に記憶する場合、上記復号工程で復号されたストリーミングデータのうち上記時刻情報を除く部分を、機器固有鍵を用いて部分暗号化し、
上記記憶工程では、上記部分暗号化された部分暗号化ストリーミングデータと上記時刻情報とを記憶し、
上記配信工程では、上記クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、上記記憶手段に記憶された部分暗号化ストリーミングデータを、上記時刻情報に基づいて検索し、上記所望時間位置の部分暗号化ストリーミングデータを、上記機器固有鍵を用いて部分復号し、所定のプロトコルで再暗号化して上記暗号化ストリーミングデータを上記クライアントに配信する
ことを特徴とするコンテンツ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントにコンテンツを配信するコンテンツ配信サーバ及びコンテンツ配信方法に関するものである。
【背景技術】
【０００２】
近年、公共放送やインターネット上でデジタル放送のデジタルコンテンツに対して著作権保護が施されている。例えば、ＣＧＭＳ−Ａ（Copy Generation Management System/Analog）により放送コンテンツが著作権管理されているものは、家庭内の再配信においても著作権保護を行う必要がある。そのため、著作権管理されている放送コンテンツを録画してホームネットワーク経由で、別の家庭内機器に再配信する放送録画機能付家庭内サーバ機器や、放送録画機能付家庭内サーバ機器からホームネットワーク経由で、コンテンツを受信・保存し、別の家庭内機器に再配信する家庭内サーバ機器同士で配信可能な機器は、著作権管理されたコンテンツを機器固有の鍵で暗号化（DES, Triple-DES, AESなど）して保存し、配信時は、例えば、ＤＴＣＰ−ＩＰ（Digital Transmission Contents Protection over IP）などで再暗号化して再配信している（例えば、特許文献１参照）。
【０００３】
また、近年、ホームネットワーク内（ＬＡＮ：Local Area Network）のコンテンツの共有を目的としたＤＬＮＡ（Digital Living Network Alliance）が標準化され、普及している。このような環境では、家庭内の機器に対して様々な形でコンテンツを要求するケースについて規定されている。例えば、クライアントがサーバに対して家庭内ＬＡＮを経由して動画コンテンツのseekを行う場合、ファイルのバイトサイズを指定するbyte-base-seekや、時間を指定するtime-base-seekなどが規定されている。
【０００４】
【特許文献１】特開２００２−２６１７４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、サーバ機器が保存しているコンテンツが、例えば、Timed TSのような一定間隔でtimestampが付いた著作権管理されたコンテンツであった場合、クライアント（コンテンツ再生機器）がtime base seekの要求をサーバに行うと、サーバはコンテンツの時刻情報を取得するためにコンテンツ全体を復号しなければならず、seekの性能劣化が生じていた。
【０００６】
本発明は、これらの問題点を鑑みてなされたものであり、クライアントからのseek要求に対し、迅速に所望位置のコンテンツを配信することができるコンテンツ配信サーバ及びコンテンツ配信方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るコンテンツ配信サーバは、時刻情報が付加された所定単位の暗号化ストリーミングデータを記録し、上記暗号化ストリーミングデータをクライアントに配信するコンテンツ配信サーバにおいて、上記時刻情報が付加された所定単位の暗号化ストリーミングデータを復号する復号手段と、上記復号手段で復号されたストリーミングデータをローカル暗号化するローカル暗号化手段と、上記ローカル暗号化手段でローカル暗号化されたストリーミングデータを記憶する記憶手段と、上記暗号化ストリーミングデータを上記クライアントに配信する配信手段とを備え、上記ローカル暗号化手段は、上記暗号化ストリーミングデータを配信用として上記記憶手段に記憶する場合、上記復号手段で復号されたストリーミングデータのうち上記時刻情報を除く部分を、機器固有鍵を用いて部分暗号化し、上記記憶手段は、上記部分暗号化された部分暗号化ストリーミングデータと上記時刻情報とを記憶し、上記配信手段は、上記クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、上記記憶手段に記憶された部分暗号化ストリーミングデータを、上記時刻情報に基づいて検索し、上記所望時間位置の部分暗号化ストリーミングデータを、上記機器固有鍵を用いて部分復号し、所定のプロトコルで再暗号化して上記暗号化ストリーミングデータを上記クライアントに配信することにより、上述の課題を解決する。
【０００８】
また、本発明に係るコンテンツ配信方法は、時刻情報が付加された所定単位の暗号化ストリーミングデータを記録し、上記暗号化ストリーミングデータをクライアントに配信するコンテンツ配信方法において、上記時刻情報が付加された所定単位の暗号化ストリーミングデータを復号する復号工程と、上記復号工程で復号されたストリーミングデータをローカル暗号化するローカル暗号化工程と、上記ローカル暗号化工程でローカル暗号化されたストリーミングデータを記憶手段に記憶する記憶工程と、上記暗号化ストリーミングデータを上記クライアントに配信する配信工程とを有し、上記ローカル暗号化工程では、上記暗号化ストリーミングデータを配信用として上記記憶手段に記憶する場合、上記復号工程で復号されたストリーミングデータのうち上記時刻情報を除く部分を、機器固有鍵を用いて部分暗号化し、上記記憶工程では、上記部分暗号化された部分暗号化ストリーミングデータと上記時刻情報とを記憶し、上記配信工程では、上記クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、上記記憶手段に記憶された部分暗号化ストリーミングデータを、上記時刻情報に基づいて検索し、上記所望時間位置の部分暗号化ストリーミングデータを、上記機器固有鍵を用いて部分復号し、所定のプロトコルで再暗号化して上記暗号化ストリーミングデータを上記クライアントに配信することにより、上述の課題を解決する。
【発明の効果】
【０００９】
本発明は、暗号化ストリーミングデータを配信用として記憶手段に記憶する場合、時刻情報が付加されたストリーミングデータのうち時刻情報を除く部分を、機器固有鍵を用いて部分暗号化して記憶手段に記憶し、クライアントからの所望時間位置の暗号化ストリーミングデータの要求に対し、記憶手段に記憶された部分暗号化ストリーミングデータを、時刻情報に基づいて検索することにより、クライアントからのseek要求に対し、迅速に所望位置のコンテンツを配信することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１１】
（第１の実施形態）  
図１は、本発明を適用したコンテンツ配信システムの一実施形態を示す図である。このコンテンツ配信システムは、放送サーバ１１と、受信サーバ１２と、配信サーバ１３と、クライアント１４とを備えて構成されている。ここで、放送サーバ１１と受信サーバ１２とは、放送網２１を介して接続され、また、受信サーバ１２と配信サーバ１３とクライアント１４とは、ＬＡＮ（Local Area Network）等の家庭内ネットワーク２２を介して接続されている。
【００１２】
放送サーバ１１は、放送を通じて受信サーバ１２にコンテンツを配信する。受信サーバ１２は、放送サーバ１１からコンテンツを受信し、保存すると共に、家庭内の他の機器（例えば、配信サーバ１３、クライアント１４）に家庭内ネットワーク２２を通じて送信する。配信サーバ１３は、家庭内の別のサーバ（例えば、受信サーバ１２）のコンテンツを受信し、コンテンツを後述する部分暗号化を施して保存すると共に、家庭内の別のサーバ（例えば、受信サーバ１２）、又はクライアント１４へコンテンツを再配信する。クライアント１４は、受信サーバ１２や配信サーバ１３からコンテンツを取得し、再生するクライアント機器である。
【００１３】
なお、配信サーバ１３に受信サーバ１２の受信機能が備わっていてもよく、また、受信サーバ１２に配信サーバ１３の部分暗号化機能が備わっていてもよい。すなわち、受信サーバ１２と配信サーバ１３とを同じサーバとしてネットワークを構築してもよい。
【００１４】
図２は、本発明の一実施形態におけるタイムスタンプ（Time Stamp）付きのＴＳ（Transport Stream:トランスポートストリーム）パケット（以下、ＴＴＳパケットとも称する。）が連続するストリーム（MPEG2-TSパケットストリーム）の例を示すものである。このストリーム（Timed TS）は、１８８バイトの固定長のＴＳパケットに４バイトのタイムスタンプが付加された１９２バイトのＴＴＳパケットが繰り返されたものであり、例えば、受信サーバ１２が配信サーバ１３から受信するものである。
【００１５】
タイムスタンプは、クロックのカウント値で示される、例えば、復号動作を行うＤＴＳ（Decoding Time Stamp）、再生を行うＰＴＳ（Presentation Time Stamp）等の時刻情報を有する。また、タイムスタンプは、送信側、受信側の双方でタイムングが一致するよう、クロックリファレンスを伝送してＰＬＬ（Phase Locked Loop）を制御する。基準クロック数は、例えば２７ＭＨｚであり、ＳＣＲ（System Clock Reference）と番組単位のＰＣＲ（Program Clock Reference）がある。
【００１６】
また、ＴＳパケットは、４バイトのＴＰヘッダを有しており、例えば、このＴＰヘッダには、著作権保護のため、コピーしてよいかどうかを示すコピー制御情報が記述されている。コピー制御情報には、例えば、制約条件ないしにコピー可能、１世代のみコピー可能、コピー禁止等のフラグがあり、１世代のみコピー可能な場合、受信した放送データを一度蓄積することのみ許可され、蓄積した放送データのコピーを別に作ることは許可されない。したがって、例えばハードディスクに一度保存して、例えば、ＤＶＤ（Digital Versatile Disk）に書き出すことは禁止される。ただし、コピーではなく、データを移動することは許可されており、ＤＶＤに書き出した後、ハードディスク上のファイルを削除する動作を行えば、許可される。
【００１７】
本実施の形態では、放送サーバ１１から送信されたコンテンツデータに、例えば、１世代のみコピー可能といったコピー制御情報が記述されており、受信サーバ１２又は配信サーバ１３がこのコンテンツデータを保存する際は、機器固有の鍵でローカル暗号化して記録する。この暗号化技術としては、秘密鍵暗号化アルゴリズムのＤＥＳ（Data Encryption Standard）やＴｒｉｐｌｅ ＤＥＳ、鍵をブロックとして分割して暗号化するＡＥＳ（Advanced Encryption Standard）等を用いることができる。
【００１８】
本実施の形態における配信サーバ１３は、受信サーバ１２からコンテンツを受信し、所定の配信方式（放送のスクランブル、DTCP-IP等）に基づいて復号する。この際、保存のためにコンテンツの再暗号化(DES，AES，TripleDES等)を行うが、このときにＴＴＳパケット（Timed TS）のタイムスタンプ部分の暗号化を行わずに保存する。
【００１９】
そして、配信サーバ１３は、クライアント１４から要求のあったコンテンツを所定のプロトコル（例えば、Upnp AV，HTTP，DTCP-IP等）を用いて再配信する。このときクライアント１４からの要求に、例えば、ＤＬＮＡで定義されたTimeSeekRange.DLNA.org HTTP ヘッダ等の再生する時間位置が指定されている場合、暗号化されていないタイムスタンプ部分をseekして、所望の位置を特定した後に、暗号化部分を復号し、転送用に再暗号化してクライアント１４に配信する。
【００２０】
このように配信サーバ１３は、受信したタイムスタンプが付加された暗号化コンテンツをプロトコル仕様（DTCP-IPなど）通りに復号した後、部分暗号化（タイムスタンプ部分を外して暗号化）することにより、クライアント１４からのtime base seekの要求に対して再配信する際、迅速且つ高精度に要求された位置のコンテンツを配信することができる。
【００２１】
図３は、上述した受信サーバ１２、配信サーバ１３及びクライアント１４のハードウェア構成を示すブロック図である。受信サーバ１２、配信サーバ１３及びクライアント１４は、図３に示すようなコンピュータ装置の構成とすることができ、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、入力部１０４と表示部１０５と、通信部１０６と、記憶部１０７とがバス１０８を介して接続されている。
【００２２】
ＣＰＵ１０１は、ＲＯＭ１０２又はＲＡＭ１０３に格納された各種機能を実行する。入力部１０４は、入力キー・マウスなどで構成される。表示部１０５は、例えば液晶表示装置等からなり各種情報をテキストやイメージで表示する。通信部１０６は、ＣＰＵ１０１から供給されたデータを送信する。また、通信部１０６は通信相手から受信したデータをＣＰＵ１０１、ＲＡＭ１０３、記憶部１０７等に出力する。記憶部１０７は、ＣＰＵ１０１との間で情報をやり取りし、情報の保存・消去を行う。
【００２３】
なお、ここでは、図３に示すようなコンピュータ装置にプログラムを実行させることにより、後述する一連の処理を行うこととして説明するが、専用のハードウェアにより実行させることとしてもかまわない。
【００２４】
図４は、配信サーバ１３の構成を示す機能ブロック図である。配信サーバ１３は、認証機能１３１と、通信機能１３２と、コンテンツ管理機能１３３と、コンテンツ記憶機能１３４と、暗号処理機能１３５とを有している。
【００２５】
認証機能１３１は、受信サーバ１２又はクライアント１４との間で認証処理を行う。認証が終わると通信相手との間でセッション鍵を共有しこれを暗号処理機能１３５に渡す。なお、公開鍵暗号のＲＳＡ（Rivest Shamir Adleman）、ＥＣ（Electronic Commerce）等の認証に用いられる鍵や証明書は、製品化時点に機器に埋め込まれている。
【００２６】
通信機能１３２は、受信サーバ１２やクライアント１４からのメッセージを受け取り、認証メッセージを認証機能１３１へ、その他メッセージをコンテンツ管理機能１３３へ渡す。また、通信機能１３２は、認証機能１３１やコンテンツ管理機能１３３より受け取ったメッセージを受信サーバ１２やクライアント１４に送信する。
【００２７】
コンテンツ管理機能１３３は、通信機能１３２を経由して受信サーバ１２やクライアント１４とメッセージを交換し、そのメッセージに応じた処理を行う。例えば、受信サーバ１２からコンテンツデータを配信用として取得する場合、メッセージに応じて部分暗号化を暗号処理機能１３５に指示する。
【００２８】
コンテンツ記憶機能１３４は、コンテンツ管理機能１３３からの要求に応じて情報の読み出し、書き込みを行う。
【００２９】
暗号処理機能１３５は、コンテンツ管理機能１３３からの要求に応じてコンテンツデータを暗号化又は復号する。その際の鍵は、機器固有のものを使用する。また、コンテンツ管理機能１３３からの要求によってタイムスタンプ部分を暗号化又は復号しない部分暗号化を行う。他の機器とデータのやり取りに使われる暗号化・復号化用の鍵は、認証機能１３１より取得する。なお、コンテンツデータの暗号化・復号（DES, Triple-DES, AES等）用の鍵は製品化時点で埋められているか、製品化時点で埋められている機器IDからHash関数などを用いてクライアント１４に一意に作成する。
【００３０】
図５は、暗号処理機能１３５の構成を示す機能ブロック図である。暗号化処理機能１３５は、暗号モード記憶機能１３５１と、データ受付機能１３５２と、データ取出し機能１３５３と、データバッファ１３５４と、暗号機能１３５５と、鍵記憶機能１３５６とを有している。
【００３１】
暗号モード記憶機能１３５１は、コンテンツ管理機能１３３等の外部から暗号モードを受信して記憶する。この暗号モード記憶機能１３５１は、保存、配信、又は自身での再生等のための生データ取出しの際、コンテンツ記憶機能１３４に記憶されたコンテンツデータが機器固有鍵を用いた全体暗号モードであるか、部分暗号モードであるかが記憶される。
【００３２】
データ受付機能１３５２は、コンテンツ記憶機能等の外部機能から部分データ（Timed TSなどの倍数）を受け取りデータバッファ１３５４へ書き込む。また、データ入力完了時に暗号機能１３５５に暗号モード記憶機能１３５１のモードに応じた暗号化/復号開始を指示する。
【００３３】
データ取出し機能１３５３は、暗号処理の完了した部分データ（Timed TSなどの倍数）をデータバッファ１３５４から取り出し、コンテンツ記憶機能等の外部機能に渡す。
【００３４】
データバッファ１３５４は、暗号化・復号化対象のデータを一時的に記憶する。
【００３５】
暗号機能１３５５は、暗号モード記憶機能１３５１の暗号モードに応じて暗号化処理、又は復号処理を行う。例えば、コンテンツデータの保存の場合、認証機能１３１から取得したセッション鍵で復号し、機器固有鍵で暗号化する。また、コンテンツデータの配信の場合、機器固有鍵で復号し、セッション鍵で暗号化する。また、自身での再生等のための生データ取出しの場合、機器固有鍵で復号する。ここで、機器固有鍵で暗号化又は復号する際、データバッファ１３５４内のタイムスタンプ部分を除いて暗号化又は復号を行う。なお、機器固有鍵は鍵記憶機能１３５６より取得する。
【００３６】
鍵記憶機能１３５６は、製品化時に埋め込まれた機器固有鍵を記憶する。また、認証機能１３１等の外部機能よりセッション鍵を受け取り、記憶する。そして、暗号機能１３５５からの要求に応じてこれらの鍵を渡す。
【００３７】
この配信サーバ１３が受信サーバ１２よりコンテンツを取得する場合、コンテンツ管理機能１３３は、通信機能１３２を介して要求メッセージを送り、通信機能１３２から暗号化されたコンテンツを受信する。
【００３８】
そして、例えば、受信サーバ１２からコンテンツデータを配信用として取得する場合、暗号処理機能１３５は、認証機能１３１より受け取った復号鍵を用いて、所定の転送プロトコルに従って受信したコンテンツデータを復号し、機器固有鍵でタイムスタンプ以外の部分を再暗号化し、コンテンツ記憶機能１３４に保存する。
【００３９】
また、例えば、受信サーバ１２からコンテンツデータをＤＶＤ（Digital Versatile Disc）等への記録用として取得する場合、暗号処理機能１３５は、認証機能１３１より受け取った復号鍵を用いて、所定の転送プロトコルに従って受信したコンテンツデータを復号し、機器固有鍵でタイムスタンプを含む全てを再暗号化し、ＤＶＤ等に保存する。これにより、機器固有鍵で再暗号化したＤＶＤ等は、他の機器で再生ができなくなる。なお、例えば、タイムスタンプが付加されていないコンテンツデータの場合、機器固有鍵でコンテンツデータの全てを再暗号化する。
【００４０】
配信サーバ１３が通信機能１３２を介してクライアント等からコンテンツ要求を受け取った場合、コンテンツ管理機能１３３は、コンテンツ記憶機能１３４からコンテンツを取り出し、暗号処理機能１３５でタイムスタンプ以外の部分のみを復号させ、転送用に再暗号化させ、通信機能１３２を通してコンテンツを送信する。
【００４１】
ここで、クライアント１４等の相手よりtime base seekの要求を受け取った場合、コンテンツ記憶機能１３４内のタイムスタンプを順次検索し、要求された所望の位置を含む部分（ＴＳパケット）からのコンテンツデータを暗号処理機能１３５で復号する。これにより、所望位置のコンテンツをクライアント１４等に迅速に提供することができる。
【００４２】
図６は、受信サーバ１２の構成を示す機能ブロック図である。基本的に配信サーバ１３と同じであるため、配信サーバ１３と同様な構成には、説明を省略する。
【００４３】
受信サーバ１２は、受信機能１２１と、認証機能１２２と、通信機能１２３と、コンテンツ管理機能１２４と、コンテンツ記憶機能１２５と、暗号処理機能１２６とを有している。
【００４４】
受信機能１２１は、放送サーバ１１からコンテンツデータを受信する。なお、受信機能１２１は、放送サーバ１１からのコンテンツデータに限らず、デジタルテレビ放送等からのコンテンツデータを受信するこことしてもよい。
【００４５】
認証機能１２２は、配信サーバ１３の認証機能１３１と同様であり、放送サーバ１１、配信サーバ１２又はクライアント１４との間で認証処理を行う。
【００４６】
通信機能１２３は、配信サーバ１３の通信機能１３２と同様であり、配信サーバ１３やクライアント１４からのメッセージを受け取り、認証メッセージを認証機能１２２へ、その他メッセージをコンテンツ管理機能１２４へ渡す。また、通信機能１２３は、認証機能１２２やコンテンツ管理機能１２４より受け取ったメッセージを配信サーバ１３やクライアント１４に送信する。
【００４７】
コンテンツ管理機能１２４は、配信サーバ１３のコンテンツ管理機能１３３とほぼ同じ動作であるが、保存するコンテンツを暗号化する場合、保存されているコンテンツを復号する際、部分暗号化を指示しない点が異なる。すなわち、通信相手よりtime base seekの要求が来た場合、記憶機能１２５からそのコンテンツデータを頭から取り出し、復号して所望の位置を探し、通信相手に送信する。
【００４８】
コンテンツ記憶機能１２５は、配信サーバ１３のコンテンツ記憶機能１３４と同様であり、コンテンツ管理機能１２４からの要求に応じて情報の読み出し、書き込みを行う。
【００４９】
暗号処理機能１２６は、コンテンツ管理機能１２４からの要求に応じてコンテンツデータを暗号化又は復号する。その際の鍵は、機器固有のものを使用する。他の機器とデータのやり取りに使われる暗号化・復号化用の鍵は、認証機能１３１より取得する。なお、コンテンツデータの暗号化・復号（DES，Triple-DES，AES等）用の鍵は製品化時点で埋められているか、製品化時点で埋められている機器IDからHash関数などを用いてクライアント１４に一意に作成する。
【００５０】
受信サーバ１２は、放送網２１を介して放送サーバ１１からコンテンツデータを受信し、家庭内ネットワーク２２を介して配信サーバ１３やクライアント１４にコンテンツデータを送信する。例えば、放送サーバ１１から取得したコンテンツデータを配信サーバ１３に送信する場合、認証機能１２２により、配信サーバ１３と認証処理を行い、機器固有鍵を用いて暗号化されたコンテンツデータを、暗号処理機能１２６にて復号し、セッション鍵を用いて暗号化し、所定の通信プロトコル（DTCP-IP等）により、配信サーバ１３にコンテンツデータを送信する。
【００５１】
図７は、クライアント１４の構成を示す機能ブロック図である。基本的に受信サーバ１２と同じであるため、受信サーバ１２と同様な構成には、説明を省略する。
【００５２】
クライアント１４は、通信機能１４１と、管理機能１４２と、コンテンツ表示機能１４３と、認証機能１４４と、暗号処理機能１４５と、ユーザ要求入力機能１４６とを有している。
【００５３】
通信機能１４１は、受信サーバ１２の通信機能１２３と同様であり、受信サーバ１２や配信サーバ１３からのメッセージを受け取り、認証メッセージを認証機能１４４へ、その他メッセージを管理機能１４２へ渡す。また、通信機能１４１は、認証機能１４４や管理機能１４２より受け取ったメッセージを受信サーバ１２や配信サーバ１３に送信する。
【００５４】
管理機能１４２は、ユーザ要求入力機能１４６からの要求に応じて、通信機能１４１を経由して受信サーバ１２又は配信サーバ１３とメッセージを交換し、そのメッセージに応じた処理をする。
【００５５】
コンテンツ表示機能１４３は、受信サーバ１２又は配信サーバ１３より取得し、復号化されたコンテンツデータを管理機能１４２より受け取り、これを表示する。
【００５６】
認証機能１４４は、受信サーバ１２や配信サーバ１３と認証処理を行う。認証メッセージは、通信機能１４１を介して送受信され、認証に用いられる鍵や証明書（RSA，ECを用いたものなど）は、製品化時点で機器に埋め込まれる。認証が終わると通信相手との間でセッション鍵を共有し、これを暗号処理機能１４５に渡す。
【００５７】
暗号処理機能１４５は、受信サーバ１２又は配信サーバ１３から受信した暗号化コンテンツデータを所定の転送プロトコルに従って復号する。この復号に用いられる鍵は、認証機能１４４より受け取る。
【００５８】
ここで、クライアント１４が配信サーバ１３に再生する時間位置を指定するtime base seekの要求を行う場合、通信機能１４１をと介して配信サーバ１３にコンテンツ要求メッセージ（time base seek要求）を送り、通信機能１４１から暗号化されたコンテンツデータを受信する。暗号化されたコンテンツデータは、暗号処理機能１４５にて所定の転送プロトコルに従って復号される。管理機能１４２は、コンテンツ表示機能１４３に対して復号されたコンテンツデータの表示を依頼する。これにより、time base seekの要求により指定された時間からコンテンツを再生することができる。
【００５９】
次に、サーバ間、サーバ−クライアント間のやり取りについて詳細に説明する。
【００６０】
図８は、配信サーバ１３が受信サーバ１２からTimed TSを取得する際のシーケンスを示す模式図である。なお。ここでは、受信サーバ１２からコンテンツ取得を行うこととして説明するが、これに限ることなく、放送サーバ１１からの取得でもよい。
【００６１】
受信サーバ１２のコンテンツ記憶機能１２５は、機器固有の鍵で暗号化されたタイムスタンプ付コンテンツ（Timed TS）が保存されている。
【００６２】
配信サーバ１３のコンテンツ管理機能１３３は、コンテンツ取得要求のため認証機能１３１に対して認証要求を出す（ステップＳ１１）。認証要求は、通信機能１３２を経由して受信サーバ１２の通信機能１２３から認証機能１２２へ通知される（ステップＳ１２〜Ｓ１４）。
【００６３】
配信サーバ１３の認証機能１３１と受信サーバ１２の認証機能１２２は、それぞれの通信機能１２３、１３２を経由して認証及び鍵共有（ＡＫＥ：Authentication and Key Exchange）を行う（ステップＳ２１）。これにはＥＣＤＨ（Elliptic Curve Diffie Hellman）などが用いられる。鍵の共有が完了すると、認証機能１２２、１３１は、それぞれの暗号処理機能１２６、１３５にセッション鍵を設定する（ステップＳ２２、Ｓ２３）。
【００６４】
配信サーバ１３のコンテンツ管理機能１３３は、通信機能１３２を経由してコンテンツ要求を受信サーバ１２のコンテンツ管理機能に対して通知する（ステップＳ３１〜Ｓ３３）。
【００６５】
受信サーバ１２のコンテンツ管理機能１２４は、配信サーバ１２からのコンテンツ要求を受け取ると、コンテンツ記憶機能１２５より要求された暗号化コンテンツデータ（TimedTSなどの倍数）取得し（ステップＳ４１）、暗号処理機能１２６のモード設定を行う（ステップＳ４２）。このモード設定では、タイムスタンプが付加されたコンテンツデータのタイムスタンプ以外のデータ部分を暗号化する部分暗号化、又はタイムスタンプを含む全てのデータを暗号化する全体暗号化が設定される。
【００６６】
コンテンツ管理機能１２４は、モード設定を行った後、暗号処理機能１２６にコンテンツデータの復号・再暗号化要求を行う（ステップＳ４３）。暗号処理機能１２６は、機器固有の鍵で暗号化コンテンツデータ復号し、セッション鍵で再暗号化し、コンテンツ管理機能１２４に渡す（ステップＳ４４）。
【００６７】
そして、このコンテンツデータをコンテンツ要求の応答として、通信機能１２３を経由し（ステップＳ４５）、配信サーバ１３へ送信する（ステップＳ４６）。送信する際のコンテンツ転送プロトコルとしては、例えばＨＴＴＰやＲＴＰなど任意のものを用いてもかまわない。コンテンツ管理機能１２４は、ステップＳ４１〜Ｓ４６の処理を要求されたコンテンツのデータの終了まで繰り返す。
【００６８】
配信サーバ１３のコンテンツ管理機能１３３は、通信機能１３２を経由してコンテンツ応答を受け取ると（ステップＳ５１）、暗号処理機能１３５のモード設定を行う（ステップＳ５２）。ここでは、タイムスタンプが付加されたコンテンツデータのタイムスタンプ以外のデータ部分を暗号化する部分暗号化の設定が行われる。
【００６９】
コンテンツ管理機能１３３は、モード設定を行った後、暗号処理機能１３５にコンテンツデータの復号・再暗号化要求を行う（ステップＳ５３）。暗号処理機能１３５は、セッション鍵による復号を行い、機器固有の鍵で部分暗号化したコンテンツデータとしてコンテンツ管理機能１３３に渡す（ステップＳ５４）。具体的には、復号したコンテンツデータのうちタイムスタンプ部分を直接コンテンツ記憶機能１３４に保存し、続くタイムスタンプ以外のコンテンツデータ（ペイロード）部分（次のタイムスタンプ手前まで）を、機器固有の鍵で部分暗号化する。コンテンツ管理機能１３３は、コンテンツ記憶機能１３４に暗号化された部分コンテンツデータを保存する（ステップＳ５５）。
【００７０】
コンテンツ管理機能１３３は、ステップＳ５１〜Ｓ５５の処理を要求したコンテンツのデータの終了まで繰り返す。
【００７１】
図９は、配信サーバ１３がクライアント１４へコンテンツを配信する際のシーケンスを示す模式図である。ここで、配信サーバ１３には、上述したように、タイムスタンプが付加されたコンテンツデータが、タイムスタンプ以外のデータ部分を暗号化する部分暗号化処理されて記憶されている。
【００７２】
ユーザは、ユーザ要求入力機能１４６を用いてコンテンツ再生要求を出す。コンテンツ再生要求は、再生開始ポイントを時間で指定することが可能である。
【００７３】
認証機能１４４は、ユーザ要求入力機能１４６からのコンテンツ再生要求に応じて、配信サーバ１３と認証及び鍵共有を行う。認証要求を認証機能１４４に出してからセッション鍵を共有して暗号処理機能１４５に設定するステップＳ６１〜Ｓ７３までの処理は、図８に示すステップＳ１１〜Ｓ２３までと同様である。
【００７４】
管理機能１４２は、鍵を共有すると、通信機能１４１を経由して時間指定コンテンツ要求を配信サーバ１３に送信する（ステップＳ８１〜Ｓ８３）。配信サーバ１３のコンテンツ管理機能１３３は、クライアント１４からの時間指定コンテンツ要求を受け取ると、指定された時間に基づいて、コンテンツ記憶機能１３４内のタイムスタンプを検索する（ステップＳ９１）。所望のタイムスタンプでない場合は、次のタイムスタンプを読むという処理を繰り返す。なお、次のタイムスタンプの位置は、一定間隔（例えばTimed TSのサイズ）にある。これにより、所望の時間のタイムスタンプを迅速に探し出すことができる。
【００７５】
コンテンツ管理機能１３３は、所望の時間のタイムスタンプを見つけると、コンテンツ記憶機能１３４より所望の位置以降の時間指定の部分コンテンツを取得し（ステップＳ９２）、暗号処理機能１２６のモード設定を行う（ステップＳ９３）。ここでは、タイムスタンプが付加されたコンテンツデータのタイムスタンプ以外のデータ部分を暗号化する部分暗号化の設定が行われる。
【００７６】
コンテンツ管理機能１３３は、モード設定をした後、暗号処理機能１３５にコンテンツデータの部分復号・再暗号化要求を行う（ステップＳ９４）。暗号処理機能１３５は、機器固有の鍵で部分暗号化したコンテンツデータを部分復号し、セッション鍵による再暗号化を行い、コンテンツ管理機能１３３に渡す（ステップＳ９５）。具体的には、部分暗号化されたタイムスタンプ以外のコンテンツデータ（ペイロード）部分（次のタイムスタンプ手前まで）を、機器固有の鍵で部分復号し、タイムスタンプ部分を含むコンテンツデータをセッション鍵で再暗号化する。
【００７７】
コンテンツ管理機能１３３は、再暗号化されたコンテンツデータを通信機能１３２を経由してクライアント１４に送信する（ステップＳ９７）。コンテンツ管理機能１２４は、ステップＳ９２〜Ｓ９６の処理を時間指定要求されたコンテンツのデータの終了まで繰り返す。
【００７８】
クライアント１４の管理機能１４２は、通信機能１４１を経由して時間指定コンテンツ応答として、時間指定位置からのコンテンツデータを受信すると（ステップＳ１０１）、暗号処理機能１４５にコンテンツデータを渡す（ステップＳ１０２）。暗号処理機能１４５、セッション鍵を用いてコンテンツデータを復号し、そのコンテンツデータを管理機能１４２に渡す（ステップＳ１０３）。そして、管理機能１４２は、コンテンツ表示機能１４３に対してコンテンツ表示要求を出し（ステップＳ１０４）、時間指定されたコンテンツがクライアント１４の表示部に表示される。
【００７９】
このように第１の実施形態によれば、コンテンツデータを記録する際、タイムスタンプ部分を暗号化しないので、クライアント１４からコンテンツの再生開始位置の指定の要求を受けても、迅速に所望位置を検索し、クライアント１４に配信することができる。
【００８０】
（第２の実施形態）  
次に、本発明を適用した第２の実施形態について説明する。ここでは、配信サーバ１３がタイムスタンプ付コンテンツデータを取り込む際に、単位時間あたりに何ビットのデータが処理あるいは送受信されるかを表すビットレート情報をメタ情報として保存し、検索を高速に行う。
【００８１】
図１０は、ＭＰＥＧ２システムのタイムスタンプ付きのＴＳとＰＥＳ（Packetized Elementary Stream）の関係を示す模式図である。ＰＥＳパケットは、単一のメディア情報をあるプレゼンテーションの単位でパケット化したもので、メディア再生の時間管理を行う単位となる。例えばビデオの場合、１枚の画像フレーム分の符号化データを１つのＰＥＳパケットとする。ＰＥＳパケットは、不定長のパケットであり、ヘッダ情報にはパケット長、タイムスタンプ、スクランブル情報や著作権情報、ＣＲＣ（Cyclic Redundancy Check）等が含まれる。つまり、図１０に示すようにMPEG2-TimedTSのデータ部分には、ＭＰＥＧ２のＰＥＳパケットが分割されたものが入っている。
【００８２】
ここで、ＰＥＳパケットのFlags内のES_rate flagは、ビットレート情報が含まれている否かを示している。Trueの場合、Optional Fieldsの１フィールドにビットレートが入っている。ビットレート情報は２２ bit unsigned integerで、単位は５０ bytes/secondである。
【００８３】
したがって、配信サーバ１３は、ビットレート情報を解析するデコード機能を有し、コンテンツデータを記憶する際、ビットレート情報を解析し、メタ情報として記憶することにより、クライアント１４から指定された時間から所望のコンテンツデータのおおよその位置を推測することができる。その後、タイムスタンプを見て正確な位置を特定することができる。
【００８４】
図１１は、ビットレート情報を解析するデコード機能付配信サーバ１５の構成を示す機能ブロック図である。なお、配信サーバ１３と同様な構成には、同一符号を付して説明を省略する。すなわち、このデコード機能付配信サーバ１５は、デコード機能１５１と、認証機能１３１と、通信機能１３２と、コンテンツ管理機能１３３と、コンテンツ記憶機能１３４と、暗号処理機能１３５とを有している。
【００８５】
デコード機能１５１は、ＰＥＳパケットを解析し、Flags内のES_rate flagを見る。そして、ES_rate flagがTrueの場合、Optional Fields内の解析し、ビットレート情報を取得する。
【００８６】
コンテンツ管理機能１３３は、デコード機能１５１が取得したビットレート情報を、コンテンツデータのメタ情報として、コンテンツ記憶機能１３４に記憶する。
【００８７】
図１２は、デコード機能付配信サーバ１５が受信サーバ１２からTimed TSを取得する際のシーケンスを示す模式図である。なお、このコンテンツデータの取り込み処理は、ビットレート取得のシーケンスが入る以外は、図８に示すシーケンスと同様であるため、同一処理には同一符号を付して説明を省略する。また、ここでは、受信サーバ１２からコンテンツ取得を行うこととして説明するが、これに限ることなく、放送サーバ１１からの取得でもよい。
【００８８】
デコード機能付配信サーバ１５がコンテンツを取得するために認証要求を受信サーバ１２に出してから、認証し、受信サーバ１２がコンテンツデータをコンテンツ要求の応答として、デコード機能付配信サーバ１５へ送信するステップＳ１１〜Ｓ４６までの処理は、図８に示す処理と同様である。
【００８９】
デコード機能付配信サーバ１５のコンテンツ管理機能１３３は、通信機能１３２を経由してコンテンツ応答を受け取ると（ステップＳ５１）、暗号処理機能１３５のモード設定を行う（ステップＳ２０１）。ここでは、タイムスタンプが付加されたコンテンツデータのタイムスタンプ以外のデータ部分を暗号化する部分暗号化の設定が行われるとともに、コンテンツデータのビットレート情報をメタ情報として保存する生データ取り出しの設定が行われる。
【００９０】
コンテンツ管理機能１３３は、モード設定を行った後、コンテンツのメタ情報にあたる部分の復号を暗号処理機能１３５に要求し（ステップＳ２０２）、デコード機能１５１に復号された生データからのビットレート取得を要求する（ステップＳ２０３）。デコード機能１５１からビットレートを取得すると（ステップＳ２０４）、これをコンテンツ記憶機能１３４に保存する（ステップＳ２０５）。この時、対応するコンテンツと同じprefixに「.meta」というsuffixをつけたファイルを作成し、これに図１０に示すES_rateの値をbit/secondの単位に変換し、文字列として保存する。その後のコンテンツ管理機能１３３が暗号処理機能１３５にコンテンツデータの復号・再暗号化要求を行い、コンテンツ記憶機能１３４に暗号化された部分コンテンツデータを保存するステップＳ５２〜Ｓ５５までの処理は、図８に示す処理と同様である。
【００９１】
図１３は、デコード機能付配信サーバ１５がクライアント１４へコンテンツを配信する際のシーケンスを示す模式図である。ここで、デコード機能付配信サーバ１５には、上述したように、タイムスタンプが付加されたコンテンツデータが、タイムスタンプ以外のデータ部分を暗号化する部分暗号化されて記憶されているとともに、メタ情報として単位時間あたりに何ビットのデータが処理あるいは送受信されるかを表すビットレート情報が記憶されている。
【００９２】
クライアント１４がコンテンツ再生要求を出してから、認証し、時間指定コンテンツ要求をデコード機能付配信サーバ１５に送信するステップＳ６１〜Ｓ８３までの処理は、図９に示す処理と同様である。
【００９３】
デコード機能付配信サーバ１５のコンテンツ管理機能１３３は、クライアント１４からの時間指定コンテンツ要求を受け取ると、コンテンツ記憶機能１３４にメタ情報を要求し（ステップＳ２１１）、コンテンツ記憶機能１３４からビットレート情報を取得する（ステップＳ２１２）。
【００９４】
次に、コンテンツ管理機能１３３は、ビットレート情報に基づいてコンテンツ記憶機能１３４に記憶されたコンテンツデータから時間指定された概算位置を計算し、その概算位置からコンテンツ位置のシーク（検索）を開始する（ステップＳ９１）。所望のタイムスタンプではない場合、所望のものと読み出したタイムスタンプの大小によって次に読み出すタイムスタンプが前か後かを判断し、次のタイムスタンプを読み出す。所望のタイムスタンプが見つかるまでこれを繰り返す。このビットレート情報を用いるにより、所望の時間のタイムスタンプをさらに迅速に探し出すことができる。
【００９５】
その後、コンテンツ管理機能１３３がコンテンツ記憶機能１３４より所望の位置以降の時間指定の部分コンテンツを取得し、部分復号・再暗号化を行い、クライアント１４に送信するステップＳＳ９２〜Ｓ９７の処理、及びクライアント１４が時間指定位置からのコンテンツデータを受信、復号し、表示部に表示するステップＳ１０１〜Ｓ１０４の処理は、図９に示す処理と同様である。
【００９６】
このように第２の実施形態によれば、コンテンツデータを記録する際、ビットレート情報を取得するため、クライアント１４からコンテンツの再生開始位置の指定の要求を受けた場合、ビットレート情報に基づいて概算位置を算出し、迅速に所望位置を検索することができる。
【００９７】
（第３の実施形態）  
上記第２の実施形態では、デコード機能付配信サーバ１５がコンテンツデータを記憶する際、ビットレート情報を解析し、メタ情報として記憶することとしたが、受信サーバ１２がビットレート情報をメタデータとして持っている場合、コンテンツの取得時にビットレート情報を受信サーバ１２から取得するようにしてもよい。この場合の受信サーバ１２及び配信サーバ１３は、それぞれ図６及び図４に示す機能ブロックと同様である。
【００９８】
図１４は、配信サーバ１３が受信サーバ１２からTimed TSを取得する際のシーケンスを示す模式図である。なお、このコンテンツデータの取り込み処理は、受信サーバ１２へのビットレート要求のシーケンスが入る以外は、図８に示すシーケンスと同様であるため、同一処理には同一符号を付して説明を省略する。また、ここでは、受信サーバ１２からコンテンツ取得を行うこととして説明するが、これに限ることなく、ビットレート情報をメタデータとして持っていれば、放送サーバ１１からの取得でもよい。
【００９９】
配信サーバ１３がコンテンツを取得するために認証要求を認証機能１３１に出してからセッション鍵を共有するステップＳ１１〜Ｓ２３までの処理は、図８に示す処理と同様である。
【０１００】
配信サーバ１３のコンテンツ管理機能１３３は、セッション鍵を共有すると、通信機能１３２を経由してビットレート要求を受信サーバ１２に送信する（ステップＳ３１１〜Ｓ３１３）。ビットレート要求を受信した受信サーバ１２のコンテンツ管理機能１２４は、コンテンツ記憶機能１２５にメタ情報を要求し（ステップＳ３１４）、コンテンツ記憶機能からビットレート情報を取得する（ステップＳ３１５）。コンテンツ管理機能１２４は、通信機能１２３を経由して配信サーバ１３にビットレート情報を送信して応答する（ステップＳ３１６、Ｓ３１７）。
【０１０１】
配信サーバ１３のコンテンツ管理機能１３３は、ビットレート情報を受信すると（ステップＳ３１８）、コンテンツ記憶機能１３４にビットレート情報を保存する（ステップＳ３１９）。
【０１０２】
その後の配信サーバ１３がコンテンツ要求を受信サーバ１２に出してから、受信サーバ１２がコンテンツデータをコンテンツ要求の応答として、配信サーバ１５へ送信するステップＳ３１〜Ｓ４６までの処理、及び配信サーバ１３がコンテンツデータを受け取ってから、コンテンツ管理機能１３３が暗号処理機能１３５にコンテンツデータの復号・再暗号化要求を行い、コンテンツ記憶機能１３４に暗号化された部分コンテンツデータを保存するステップＳ５１〜Ｓ５５までの処理は、図８に示す処理と同様である。
【０１０３】
以上、本発明によれば、タイムスタンプ付暗号化コンテンツのtime base seekの高速化を実現することができる。
【０１０４】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上記実施の形態のビットレート情報は、ＰＥＳパケットを解析することにより取得することとしたが、これに限られるものではなく、例えば、Timed TSのタイムスタンプと、コンテンツデータの全体ファイルサイズから平均ビットレートを求めるようにしてもよい。これにより、コンテンツのビットレート情報が時間位置によって変動がある場合でも、正確な概算位置を特定することができる。
【図面の簡単な説明】
【０１０５】
【図１】本発明を適用したコンテンツ配信システムの一実施形態を示す図である。
【図２】本発明の一実施形態におけるタイムスタンプ付きのMPEG2-TSパケットストリームの例を示す図である。
【図３】受信サーバ、配信サーバ及びクライアントのハードウェア構成を示すブロック図である。
【図４】配信サーバの構成を示す機能ブロック図である。
【図５】暗号処理機能の構成を示す機能ブロック図である。
【図６】受信サーバの構成を示す機能ブロック図である。
【図７】クライアントの構成を示す機能ブロック図である。
【図８】配信サーバが受信サーバからTimed TSを取得する際のシーケンスを示す模式図である。
【図９】配信サーバがクライアントへコンテンツを配信する際のシーケンスを示す模式図である。
【図１０】タイムスタンプ付きのＴＳとＰＥＳの関係を示す模式図である。
【図１１】デコード機能付配信サーバの構成を示す機能ブロック図である。
【図１２】デコード機能付配信サーバが受信サーバからTimed TSを取得する際のシーケンスを示す模式図である。
【図１３】デコード機能付配信サーバがクライアントへコンテンツを配信する際のシーケンスを示す模式図である。
【図１４】配信サーバが受信サーバからTimed TSを取得する際のシーケンスを示す模式図である。
【符号の説明】
【０１０６】
１１  放送サーバ、１２  受信サーバ、１３  配信サーバ、１４  クライアント、１５  デコード機能付配信サーバ、２１  放送網、２２  家庭内ネットワーク、１３１  認証機能、１３２  通信機能、１３３  コンテンツ管理機能、１３４  コンテンツ記憶機能、１３５  暗号処理機能、１３５１  暗号モード記憶機能、１３５２  データ受付機能、１３５３  データ取出し機能、１３５４  データバッファ、１３５５  暗号機能、１３５６  鍵記憶機能
【図１】
2008009303.tif 000003
【図２】
2008009303.tif 000004
【図３】
2008009303.tif 000005
【図４】
2008009303.tif 000006
【図５】
2008009303.tif 000007
【図６】
2008009303.tif 000008
【図７】
2008009303.tif 000009
【図８】
2008009303.tif 000010
【図９】
2008009303.tif 000011
【図１０】
2008009303.tif 000012
【図１１】
2008009303.tif 000013
【図１２】
2008009303.tif 000014
【図１３】
2008009303.tif 000015
【図１４】
2008009303.tif 000016