JP6221428B2 - コンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラム - Google Patents

コンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラム Download PDF

Info

Publication number
JP6221428B2
JP6221428B2 JP2013142371A JP2013142371A JP6221428B2 JP 6221428 B2 JP6221428 B2 JP 6221428B2 JP 2013142371 A JP2013142371 A JP 2013142371A JP 2013142371 A JP2013142371 A JP 2013142371A JP 6221428 B2 JP6221428 B2 JP 6221428B2
Authority
JP
Japan
Prior art keywords
content
movement
dtcp
generations
moved
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013142371A
Other languages
English (en)
Other versions
JP2015014978A (ja
Inventor
中野 雄彦
雄彦 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2013142371A priority Critical patent/JP6221428B2/ja
Publication of JP2015014978A publication Critical patent/JP2015014978A/ja
Application granted granted Critical
Publication of JP6221428B2 publication Critical patent/JP6221428B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本明細書で開示する技術は、他の装置からコンテンツを受信するコンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラムに係り、例えばDTCPなどの所定の相互認証及び鍵交換(AKE)アルゴリズムに従って共有した鍵を用いて暗号化伝送されたコンテンツを受信するコンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラムに関する。
ディジタル化されたコンテンツはコピーや改竄などの不正な操作が比較的容易である。ディジタル・コンテンツの伝送保護に関する業界標準的な技術として、DTLA(Digital Transmission Licensing Administrator)が開発したDTCP(Digital Transmission Content Protection)が挙げられる。
DTCPでは、コンテンツ伝送時における機器間の認証プロトコルと、暗号化コンテンツの伝送プロトコルについて取り決められている。その規定は、要約すれば、DTCP準拠機器は取り扱いが容易な圧縮コンテンツを非暗号の状態で機器外に送出しないことと、暗号化コンテンツを復号するために必要となる鍵交換を所定の相互認証及び鍵交換(Authentication and Key Exchange:AKE)アルゴリズムに従って行なうこと、並びにAKEコマンドにより鍵交換を行なう機器の範囲を制限することなどである。
DTCPは、原初的には、IEEE1394などを伝送路に用いたホーム・ネットワーク上におけるコンテンツ伝送について規定したものである。最近では、DLNA(Digital Living Network Alliance)に代表されるように、家庭内でもディジタル・コンテンツをIPネットワーク経由で流通させようという動きが本格的になっている。そこで、DTCP技術をIPネットワークに移植した、DTCP−IP(DTCP mapping to IP)の開発が進められている。
例えば、ホーム・サーバーに蓄積された放送コンテンツや映画などの商用コンテンツを、家庭内で利用する場合はもちろんのこと、外出先から遠隔利用(リモート・アクセス)する場合でも、私的利用の範囲を超えて利用されることを、DTCP若しくはDTCP−IPの適切に制御によって防止することが望まれている。
リモート・アクセスによりコンテンツを再生する方法(例えば、ホーム・サーバーに蓄積されている動画像などのコンテンツを、家庭内の再生装置や外出先に携行している多機能端末(スマートフォン)で再生する場合)として、ストリーミングとダウンロード再生の2通りが挙げられる。ストリーミングは、再生した後はSinkデバイスのコンテンツ本体が残らないので、コンテンツが無制限に流通する可能性は極めて低い。これに対し、ダウンロード再生の場合、ダウンロードした後のコンテンツの流通を制御する必要が生じる。例えば、リモート・アクセスによるダウンロード再生をすべて禁止にするという対策も考えられる。しかしながら、通信ができない環境(飛行機の中など)でコンテンツを利用する場合や、通信帯域が十分確保できない(回線が不安定な)環境(電車で移動中など)で高品質なコンテンツを再生するためには、ダウンロード再生が必要である。
ここで、DTCP仕様においてコンテンツをダウンロード再生する方法には、「コピー」と「移動」の2通りがある。
コピーを繰り返すと利用可能なコンテンツの数が増えてしまう。このため、DTCPでは、コピーできる世代数を制限するなどのコピー制御を規定している。Sourceデバイスは、コピー禁止と設定されたコンテンツのコピーを実行せず、また、コピーが許容されたコンテンツを伝送時には、そのコピー属性(1世代コピー可能、再コピー不可、コピー自由など)を示したコピー制御情報を、伝送パケットのヘッダーやペイロード内に埋め込む。また、Sinkデバイス側では、ダウンロードしたコンテンツを、指定されたコピー属性に従ってコピー制御を行なう。
一方、「移動(Move)」は、SourceデバイスからSinkデバイスへコンテンツを送信すると、Sourceデバイス側では送信済みのコンテンツを消去する仕組みとなっている(例えば、特許文献1を参照のこと)。すなわち、移動は、移動元と移動先でのコンテンツの同時存在を禁止し、デバイス間でコンテンツの移動を繰り返しても利用可能なコンテンツの数は増えない。
しかしながら、デバイスの利用者を限定しない以上、コンテンツがさまざまな所有者のデバイスを次々と移動する可能性がある。また、リモート・アクセスでの移動により、コンテンツの流通範囲は無限となる。コンテンツの移動機能に対応したデバイスの普及が進むと、その可能性は高まる。したがって、上記のようにコンテンツの移動に制限が課されない状況下では、不正なコンテンツ利用の機会が増えることが懸念される。このような理由により、コンテンツ提供業者が、今後、コンテンツの移動に制限を課していない方式へのコンテンツの提供を躊躇し抑制してくることも考えられる。
本明細書で開示する技術の目的は、コンテンツの流通範囲を制限しながら、他の装置からコンテンツを好適に移動することができる、優れたコンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラムを提供することにある。
本明細書で開示する技術のさらなる目的は、DTCP規格に従って共有した鍵を用いて、著作権などの権利を保護すべきコンテンツを、その流通範囲を制限しながら好適に移動することができる、優れたコンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラムを提供することにある。
本願は、上記課題を参酌してなされたものであり、請求項1に記載の技術は、
移動に関する制御情報付きのコンテンツをコンテンツ送信装置から取得するコンテンツ取得部と、
前記コンテンツ送信装置から取得したコンテンツを記録するコンテンツ記録部と、
前記コンテンツ記録部に記録されているコンテンツの移動を前記移動に関する制御情報に従って制御するコンテンツ移動制御部と、
を具備するコンテンツ受信装置である。
本願の請求項2に記載の技術によれば、請求項1に記載のコンテンツ受信装置において、前記移動に関する制御情報は、コンテンツの世代制限付き移動の可否を含んでいる。
本願の請求項3に記載の技術によれば、請求項2に記載のコンテンツ受信装置において、前記移動に関する制御情報は、移動可能な世代数に関する情報をさらに含んでいる。
本願の請求項4に記載の技術によれば、請求項1に記載のコンテンツ受信装置は、DTCP(Digital Transmission Content Protection)若しくはDTCP−IP(DTCP mapping to IP)規格に従って、前記コンテンツ送信装置と相互認証及び共有鍵の交換を行なう認証・鍵共有部と、前記コンテンツ送信装置から取得した暗号化コンテンツを、前記共有鍵から計算される暗号鍵を用いて復号するコンテンツ復号部をさらに備えている。
本願の請求項5に記載の技術によれば、請求項2に記載のコンテンツ受信装置の前記コンテンツ移動制御部は、DTCP−IP規格に従ってHTTP(Hyper Text Transfer Protocol)メッセージにより前記コンテンツ送信装置からコンテンツを受信する際に、E−EMI(Extended Encription Mode Indicator)に「世代制限付き移動可」を意味する値が記載されているか否かに基づいて、当該コンテンツが世代制限付き移動可か否かをチェックするように構成されている。
本願の請求項6に記載の技術によれば、請求項5に記載のコンテンツ受信装置の前記コンテンツ移動制御部は、DTCP_descriptorに定義された移動可能な世代数を記載するMove_countフィールドを参照して、移動可能な世代数に関する情報を取得するように構成されている。
本願の請求項7に記載の技術によれば、請求項5に記載のコンテンツ受信装置の前記コンテンツ移動制御部は、PCP−UR(Protected Content Packet−Usage Rule)に定義された移動可能な世代数を記載するMove_countフィールドを参照して、移動可能な世代数に関する情報を取得するように構成されている。
本願の請求項8に記載の技術によれば、請求項5に記載のコンテンツ受信装置の前記コンテンツ移動制御部は、CMI descriptorに定義された移動可能な世代数を記載するMove_countフィールドを参照して、移動可能な世代数に関する情報を取得するように構成されている。
本願の請求項9に記載の技術によれば、請求項3、6乃至8のいずれかに記載のコンテンツ受信装置の前記コンテンツ移動制御部は、前記コンテンツ送信装置から世代制限付き移動により取得したコンテンツの移動可能な世代数を1だけ減算するように構成されている。
本願の請求項10に記載の技術によれば、請求項3、6乃至8のいずれかに記載のコンテンツ受信装置の前記コンテンツ移動制御部は、前記コンテンツ送信装置から世代制限付き移動により取得したコンテンツについての移動可能な世代数に関する情報を検出できないときは、当該コンテンツの更なる移動を不可にするように構成されている。
本願の請求項11に記載の技術によれば、請求項5に記載のコンテンツ受信装置の前記コンテンツ移動制御部は、更なる移動が不可のコンテンツを次にDTCP−IPで送信する際には、そのE−EMIに記録の禁止を意味する値を用いるように構成されている。
本願の請求項12に記載の技術によれば、請求項3に記載のコンテンツ受信装置の前記コンテンツ移動制御部は、記録禁止で且つ1以上の移動可能な世代数が付与されたコンテンツについては、移動可能な世代数に拘らず、記録を不可にするように構成されている。
本願の請求項13に記載の技術によれば、請求項1に記載のコンテンツ受信装置の前記コンテンツ取得部は、DTCP−IP規格に従ってHTTPリクエストによりコンテンツの移動を要求する際に、BLKMove2.dtcp.comヘッダー・フィールドを用いて、世代制限付きのコンテンツ移動に対応していることを前記コンテンツ送信装置に伝えるように構成されている。
本願の請求項14に記載の技術によれば、請求項1に記載のコンテンツ受信装置の前記コンテンツ取得部は、DTCP−IP規格に従ってMOVE−AKE手続きを開始するコマンドMV_INITIATEを、世代制限付きで移動できることを示すMV_INITIATE2に代えることにより、世代制限付きのコンテンツ移動に対応していることを前記コンテンツ送信装置に伝えるように構成されている。
本願の請求項15に記載の技術によれば、請求項9に記載のコンテンツ受信装置の前記コンテンツ移動制御部は、移動可能な世代数を1だけ減算した結果世代数が0になったコンテンツのリモート・アクセスによる送信を不可にするように構成されている。また、本願の請求項16に記載の技術によれば、前記コンテンツ移動制御部は、移動可能な世代数が不明なコンテンツのリモート・アクセスによる送信を不可にするように構成されている。
本願の請求項17に記載の技術によれば、請求項9に記載のコンテンツ受信装置の前記コンテンツ移動制御部は、移動可能な世代数を1だけ減算する際にそのコンテンツが移動済みであることを対応付けて記憶し、移動済みのコンテンツのリモート・アクセスによる送信を不可にするように構成されている。
本願の請求項18に記載の技術によれば、請求項4に記載のコンテンツ受信装置の前記コンテンツ移動制御部は、リモート・アクセスによりコンテンツの移動を行なうときには、移動用の共有鍵から計算した暗号鍵に代えて、リモート・アクセスによるコンテンツ移動の処理専用の計算方法で得た暗号鍵を用いて、前記コンテンツ送信装置から受信した暗号化コンテンツを復号するように構成されている。
本願の請求項19に記載の技術によれば、請求項1に記載のコンテンツ受信装置は、ユーザーによる操作情報を入力する入力部と、前記コンテンツ取得部で取得し又は前記コンテンツ記録部に記録されたコンテンツを再生出力するコンテンツ再生出力部をさらに備えている。
また、本願の請求項20に記載の技術は、
移動に関する制御情報付きのコンテンツをコンテンツ送信装置から取得するコンテンツ取得ステップと、
前記コンテンツ送信装置から取得したコンテンツをコンテンツ記録部に記録するコンテンツ記録ステップと、
前記コンテンツ記録部に記録されているコンテンツの移動を前記移動に関する制御情報に従って制御するコンテンツ移動制御ステップと、
を有するコンテンツ受信方法である。
また、本願の請求項21に記載の技術は、
移動に関する制御情報付きのコンテンツをコンテンツ送信装置から取得するコンテンツ取得部、
前記コンテンツ送信装置から取得したコンテンツを記録するコンテンツ記録部、
前記コンテンツ記録部に記録されているコンテンツの移動を前記移動に関する制御情報に従って制御するコンテンツ移動制御部、
としてコンピューターを機能させるようにコンピューター可読形式で記述されたコンピューター・プログラムである。
本願の請求項21に係るコンピューター・プログラムは、コンピューター上で所定の処理を実現するようにコンピューター可読形式で記述されたコンピューター・プログラムを定義したものである。換言すれば、本願の請求項21に係るコンピューター・プログラムをコンピューターにインストールすることによって、コンピューター上では協働的作用が発揮され、本願の請求項1に係るコンテンツ受信装置と同様の作用効果を得ることができる。
本明細書で開示する技術によれば、移動可能な世代を所定の数に制限することでコンテンツの流通範囲を制限しながら、他の装置へコンテンツを好適に移動することができる、優れたコンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラムを提供することができる。
また、本明細書で開示する技術によれば、移動可能な世代を所定の数に制限することでコンテンツの流通範囲を制限しながら、DTCP規格に従って、著作権などの権利を保護すべきコンテンツを他の装置から好適に移動することができる、優れたコンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラムを提供することにある。
本明細書で開示する技術を適用したコンテンツ受信装置は、他の装置から移動したコンテンツに対して移動可能な世代数を制限することができる。したがって、コンテンツ提供業者は、コンテンツの移動を行なう機器に対しても、躊躇することなくコンテンツを提供することが期待される。コンテンツの移動が許容される結果として、通信ができない環境でもコンテンツを利用できる機会が増え、また、通信の帯域が十分確保できない環境でも高品質なコンテンツ再生を行なうことができる。
なお、本明細書に記載された効果は、あくまでも例示であり、本発明の効果はこれに限定されるものではない。また、本発明が、上記の効果以外に、さらに付加的な効果を奏する場合もある。
本明細書で開示する技術のさらに他の目的、特徴や利点は、後述する実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
図1は、本明細書で開示する技術を適用したコンテンツ伝送システム100の構成例を示した図である。 図2は、本明細書で開示する技術を適用したコンテンツ伝送システム200の他の構成例を模式的に示した図である。 図3は、Sourceデバイスとして動作するコンテンツ送信装置300の機能的構成を模式的に示した図である。 図4は、Sinkデバイスとして動作するコンテンツ受信装置400の機能的構成を模式的に示した図である。 図5は、コンテンツの移動制御情報をコンテンツ本体と対応付けて管理する仕組みを模式的に示した図である。 図6は、コンテンツの移動制御情報をコンテンツ本体の一部として管理する仕組みを模式的に示した図である。 図7は、SourceデバイスとSinkデバイス間でリモート・アクセスによるコンテンツの移動を行なう際の全体的な手順を模式的に示した図である。 図8は、コンテンツ・リスト閲覧フェーズ(SEQ701)の中身を模式的に示した図である。 図9は、RA−AKE手続きフェーズ(SEQ702)の中身の詳細を示した図である。 図10は、MOVE−AKE手続きフェーズ(SEQ703)の中身を示した図である。 図11は、コンテンツ伝送フェーズ(SEQ704)の中身を模式的に示した図である。 図12は、DTCP−IPにおいてコンテンツ伝送に用いられるパケットPCPのデータ構造を模式的に示した図である。 図13は、DTCP−IP規格通りのE−EMIを示した図である。 図14は、「01112」を「世代制限付き移動可」と追加定義したE−EMIを示した図である。 図15は、DTCP_descriptorの未使用領域をMove_countフィールドとして定義して、移動可能な世代数を記載した例を示した図である。 図16は、PCPヘッダー中のノンスNcのフィールドの構造を示した図である。 図17は、PCP−URの未使用領域1701をMove_countフィールドとして定義した例を示した図である。 図18は、CMIのパケット・フォーマットを示した図である。 図19は、CMI descriptor1フォーマットの未使用領域をMove_countフィールドとして定義した例を示した図である。 図20は、CMI descriptor2フォーマットの未使用領域をMove_countフィールドとして定義した例を示した図である。 図21は、Sinkデバイスにおいて受信したコンテンツの移動世代数を制御するための処理手順を示したフローチャートである。 図22は、Sourceデバイスが世代制限付きで移動可能なコンテンツを移動するための処理手順を示したフローチャートである。 図23は、Sourceデバイスが世代制限付き移動可能なコンテンツを移動するための処理手順を示したフローチャートである。 図24は、コンピューター・プログラム配信システム2400の構成を示した図である。
コンテンツの移動が無制限に行なわれると、その流通範囲は無制限となり、私的利用の範囲を超えてコンテンツが利用されるおそれがある。2013年6月時点では、DTCP(http://www.dtcp.com)は、コンテンツの移動に関しては、移動可能な世代数などを制限していない。そこで、本明細書で開示する技術では、コンテンツ移動可能な世代数の制限を設けることにより、コンテンツの流通範囲の拡大を抑制するようにしている。以下、図面を参照しながら本明細書で開示する技術の実施形態について詳細に説明する。
図1には、本明細書で開示する技術を適用したコンテンツ伝送システム100の構成例を模式的に示している。図示のコンテンツ伝送システム100は、家庭内に敷設されたホーム・ネットワーク110上に接続されたサーバー101と、端末102、端末103で構成される。同図では、簡素化のため、1台のサーバーと2台の端末しか描いていないが、2台以上のサーバー、並びに3台以上の端末がホーム・ネットワーク上に設置されることも想定される。
サーバー101は、端末102に提供するコンテンツを蓄積している。サーバー101は、例えば、地上ディジタル放送で受信した放送コンテンツや、ブルーレイ・ディスクなどの記録媒体(図示しない)から読み込んだ映画などの商用コンテンツ、さらにはインターネット上のコンテンツ・サーバー(図示しない)からダウンロードしたコンテンツを蓄積している。また、端末102は、サーバー101から移動(若しくはコピー)によりダウンロードしたコンテンツを蓄積し、さらに端末103に提供することもある。
ホーム・ネットワーク110を介したサーバー101と端末102間、並びに、端末102と端末103間のコンテンツ伝送には、DTCP技術が適用されている。例えば、コンテンツを利用したい端末102は、所定の相互認証及び鍵交換(Authentication and Key Exchange:AKE)アルゴリズムに従って、サーバー101と相互認証するとともに鍵を共有した後に、サーバー101内に蓄積されたコンテンツのダウンロードを要求することができる。サーバー101は、要求されたコンテンツを、共有した鍵を用いて暗号化伝送する。コンテンツを提供するサーバー101はSourceデバイスに相当し、コンテンツを利用する端末102はSinkデバイスに相当する。端末102から端末103へコンテンツをダウンロードする場合も同様に、AKEアルゴリズムに従って相互認証及び鍵の共有を行なった後、コンテンツを暗号化伝送する。この場合は、端末102がSourceデバイス、端末103がSinkデバイスとなる。
また、図2には、本明細書で開示する技術を適用したコンテンツ伝送システム200の他の構成例を模式的に示している。図示のコンテンツ伝送システム200は、家庭内に敷設されたホーム・ネットワーク210上に接続されたサーバー201並びに端末202と、インターネットなどの外部ネットワーク220上に接続された端末203で構成される。ホーム・ネットワーク210と外部ネットワーク220は、IP(Internet Protocol)プロトコルに従い、ルーター230経由で相互接続されている。同図では、簡素化のため、ホーム・ネットワーク210上にサーバーと端末をそれぞれ1台ずつしか描いていないが、2台以上のサーバーが設置されることや、ホーム・ネットワーク210上にも端末が接続され、さらに外部ネットワーク220上に2台以上の端末が接続されることも想定される。
サーバー201は、放送コンテンツや商用コンテンツなど、端末202に提供するコンテンツを蓄積している。ホーム・ネットワーク210を介したサーバー201と端末202間のコンテンツ伝送には、DTCP技術が適用される(同上)。
また、ホーム・ネットワーク210及び外部ネットワーク220を介したサーバー201と端末203間、並びに、端末202と端末203のコンテンツ伝送には、DTCP−IP技術が適用されている。したがって、端末203は、ホーム・ネットワーク210及び外部ネットワーク220からなるIPネットワーク越しに、サーバー201又は端末202と相互認証するとともに共有鍵を共有した後に、サーバー201又は端末202内に蓄積されたコンテンツを要求することができる。サーバー201又は端末202は、要求されたコンテンツを、共有した共有鍵を用いて暗号化伝送する。コンテンツを提供するサーバー201又は端末202はSourceデバイスに相当し、コンテンツを利用する端末203はSinkデバイスに相当する。
図3には、Sourceデバイスとして動作するコンテンツ送信装置300の機能的構成を模式的に示している。例えば、図1に示したコンテンツ伝送システム100において、端末102にコンテンツをダウンロードするサーバー101や、端末103にコンテンツをダウンロードする端末102や、図2に示したコンテンツ伝送システムにおいて、端末102、103にコンテンツをダウンロードするサーバー201や、端末103にコンテンツをダウンロードする端末102などが図示のSourceデバイスに相当する。
通信・制御部301は、ホーム・ネットワーク並びに外部ネットワークを介した通信動作を制御するとともに、当該コンテンツ送信装置300全体の動作を統括的に制御する。また、通信・制御部301は、HDMI(登録商標)(High Definition Multimedia Interface)やUSB(Universal Serial Bus)などの外部機器接続用(若しくは、コンテンツのディジタル出力用)のインターフェースを備えており、ハード・ディスク装置やブルーレイ・ディスク装置などの録画再生機器を接続することができる。
コンテンツ記録部302は、ホーム・ネットワーク並びに外部ネットワーク越しで端末に提供するコンテンツを記録する。コンテンツ記録部302は、例えばハード・ディスクやブルーレイ・ディスク、DVD(Digital Versatile Disc)のような、コンテンツを記録する記録媒体を備え、例えばFAT(File Allocation Table)のような一般的なファイル・システムの管理下で記録した各コンテンツを管理している。
コンテンツ取得部303は、端末に提供するコンテンツを取得する。コンテンツ取得部303は、例えば地上ディジタル放送用チューナーなどからなり、放送コンテンツを取得する。この場合のコンテンツ取得部303は、例えばARIB(Association of Radio Industries andBusinesses:電波産業会)で規定される仕様に基づく。コンテンツ取得部303は、例えば、放送チャンネルの全セグメント又は一部のセグメントの受信機能、EPG(Electronic Program Guide)の機能(番組検索、番組情報の表示、番組予約)、HDCP(High−bandwidth Digital Content Protection)仕様などに基づくコピー制御機能、放送コンテンツを限定受信したり受信した放送コンテンツを外部出力する際に暗号化したりするコンテンツ保護機能などを備えている。
また、コンテンツ取得部303は、ブルーレイ・ディスクなどのメディア再生装置からなり、映画などの商用コンテンツをメディアから読み取る。また、コンテンツ取得部303は、ブラウザーなどからなり、インターネット上のコンテンツ・サーバー(図示しない)から有償又は無償のコンテンツをダウンロードする。コンテンツ取得部303は、取得したコンテンツは、必要に応じて上記のコンテンツ記録部302内に記録してもよい。また、コンテンツ取得部303は、Sinkデバイスに提供するコンテンツをコンテンツ記録部302から取得することもある。
コンテンツ取得部303が取得したコンテンツ(放送コンテンツや商用コンテンツ)の中には、移動可能な世代数が制限されたものもある。コンテンツのコピー制限や移動制限は、一般には、コンテンツ提供元の業者が設定するものであり、コンテンツ取得部303が放送コンテンツの受信時、メディア再生装置からの再生時などにコピー制限や移動制限に関する制御情報を受け取ることができる。取得したコンテンツをコンテンツ記録部302内に記録する際には、コンテンツ記録部302又はコンテンツ取得部303(あるいは、その他の機能モジュールでもよい)は、コンテンツに対応付けてコピー制限や移動制限に関する制御情報が管理されるものとする。
本実施形態では、コンテンツ記録部302は、コンテンツの移動可能な世代数の情報(以下、「Move_count」とする)や世代制限付き移動可否などの移動制御情報を、図5に示すようにコンテンツ本体と対応付けて管理し、又は、図6に示すようにコンテンツ本体のデータの一部として管理できるものとする。但し、移動は常に1世代のみ可の場合には、移動可能な世代数Move_countの管理は不要である。
コンテンツ提供部304は、Sinkデバイスとして動作するコンテンツ受信装置(後述)からの要求に応答して、コンテンツ取得部303が取得したコンテンツを提供する。コンテンツ提供部304は、例えばHTTP(Hypet Text Transfer Protocol)プロトコルが利用して、Sinkデバイスへコンテンツを伝送する。また、コンテンツ提供部304は、伝送するコンテンツを、認証・鍵共有部306によりSinkデバイスと共有した共有鍵(コンテンツの移動の場合にはKXM)などから計算した暗号鍵KCを用いて暗号化する。但し、Sinkデバイスが外部ネットワーク上からのリモート・アクセスによりコンテンツを要求する場合、そのSinkデバイスは端末管理部307に事前登録されたものでなければならない(後述)。
コンテンツ提供部304がSinkデバイスへコンテンツを提供する方法としてストリーミングとダウンロードが挙げられ、また、ダウンロードはコンテンツのコピーと移動の2通りがある。コンテンツ提供部304は、コンテンツ記録部302内のコンテンツの移動を行なう場合、Sinkデバイスにコンテンツを送信した後、送信済みのコンテンツをコンテンツ記録部302から消去して、同時存在を禁止する。コピーの場合、このようなコンテンツの消去操作は不要である。以下では、移動の形式でコンテンツを提供する場合について主に説明し、ストリーミングとコピーについては説明を省略する。
また、コンテンツ提供部304は、移動可能な世代数が制限されたコンテンツをSinkデバイスに移動しようとする際には、相手となるSinkデバイスが世代制限付きのコンテンツ移動に対応しているかを事前にチェックし、また、移動するコンテンツに移動可能な世代数の情報Move_countを設定するが、その詳細については後述に譲る。
コンテンツ・リスト提供部305は、例えば端末からの要求に応答して、端末に提供可能なコンテンツのリストと詳細情報を、端末に提供する。上述からも分かるように、サーバー101、201が端末に提供可能なコンテンツは、コンテンツ取得部303が受信する放送コンテンツやメディアから読み出す商用コンテンツ、コンテンツ記録部302に既に記録されているコンテンツが挙げられる。コンテンツ・リストの提供には、例えば、DLNAのベースとなるUPnP(Universal Plug andPlay)で策定されている、コンテンツのリストとコンテンツの詳細情報を階層化して配信するCDS(Content Directory Service)機能が適用される。
認証・鍵共有部306は、コンテンツの要求元となるSinkデバイスとの間で、DTCP−IPが規定する認証及び鍵交換(AKE)アルゴリズムに従って、相互認証並びにコンテンツ暗号化のための共有鍵の共有を行なう。認証・鍵共有部306は、外部ネットワークからリモート・アクセスによりコンテンツを要求してくるSinkデバイスに対しては、リモート・アクセス用共有鍵KRを共有する。また、コンテンツの移動を要求してくるSinkデバイスに対しては、さらに移動(Move)用の共有鍵KXMを共有する。
端末管理部307は、コンテンツを要求するSinkデバイスの情報を管理する。現在のDTCP−IP(DTCP−IP Volume 1 Supplement E Revision 1.4)では、第三者によるコンテンツの利用を制限することを意図して、家庭内のサーバーへのリモート・アクセスを、そのサーバーに登録したSinkデバイスだけに限定している。本実施形態では、端末管理部307に事前登録されたSinkデバイスのみコンテンツの要求が許可されるものとする。端末管理部307は、外部ネットワークからリモート・アクセスによりコンテンツを利用するSinkデバイスに対して事前登録の処理を行なうとともに、そのSinkデバイスの情報を「remote sink registry」や「RAC(Remote Access Connection) registry」として管理する。事前登録は、現在のDTCP−IP(DTCP−IP Volume 1 Supplement E Revision 1.4)にも規定されているが、本明細書で開示する技術とは直接関連しないので、詳細な説明は省略する。
コンテンツ再生出力部308は、コンテンツ記録部302に記録されているコンテンツを復号して、再生出力する。
なお、上記の機能ブロック303〜307は、通信・制御部301において、オペレーティング・システムやTCP/IPプロトコルの上位で実行するアプリケーション・プログラムとして実現することもできる。また、この種のアプリケーション・プログラムは、インターネットなどの広域ネットワーク上で所定のダウンロード・サイトで配信することができ、ディジタル放送チューナーやTV受像機などのCE(Consumer Electronics)機器、スマートフォンなどの多機能端末にダウンロードして利用に供される。
このようなダウンロード・サイトは、例えば、コンピューター・プログラムを記憶する記憶装置2411と、コンピューター・プログラムのダウンロード要求を受信したことに応じてそのダウンロードを認める通信装置2412とを備えたサーバー2410からなり(図24を参照のこと)、ダウンロードしたコンピューター・プログラムをインストールするクライアント装置(DTCP_Source又はDTCP_Sink)と併せてコンピューター・プログラム配信システム2400を構成する。この種のサーバーは、クライアントからのコンピューター・プログラムのダウンロード要求に対して、コンピューター・プログラムの名称を示す情報を通知する情報通知装置2413をさらに備えている。情報通知装置2413は、コンピューター・プログラムの名称とともに、例えば、家庭内に記録した商用コンテンツを遠隔地の端末に提供するアプリケーションであることを示す情報を通知する。
図4には、Sinkデバイスとして動作するコンテンツ受信装置400の機能的構成を模式的に示している。例えば、図1に示したコンテンツ伝送システム100において、サーバー101にコンテンツを要求する端末102や、サーバー101若しくは端末102にコンテンツを要求する端末103、並びに、図2に示したコンテンツ伝送システム200において、サーバー201にコンテンツを要求する端末202や、サーバー201若しくは端末202にコンテンツを要求する端末203などが図示のSinkデバイスに相当する。
通信・制御部401は、ホーム・ネットワーク並びに外部ネットワークを介した通信動作を制御するとともに、当該コンテンツ受信装置400全体の動作を統括的に制御する。
コンテンツ・リスト閲覧部402は、Sourceデバイスとして動作するコンテンツ送信装置300(前述)に対して、コンテンツ・リストの取得要求を行ない、取得したコンテンツ・リストの閲覧画面を表示する。例えば、Sourceデバイスが提供可能なコンテンツのリストをCDS情報(前述)として取得したときには、コンテンツ一覧画面が表示される。ユーザーはこの一覧画面を通して、再生出力したいコンテンツを選択することができる。
コンテンツ取得部403は、コンテンツの取得要求をSourceデバイスに送信して、Sourceデバイス内のコンテンツを取得する。コンテンツ取得部403は、例えば、コンテンツ・リスト閲覧部402が表示するコンテンツ一覧画面の中でユーザーが入力部407などを介して選択したコンテンツの取得を要求する。入力部407は、パーソナル・コンピューターにおけるキーボード並びにマウス、スマートフォンなどの多機能端末におけるタッチパネル、リモコンにおける十字キー並び決定ボタンなどに相当する。
コンテンツ取得部403がSourceデバイスからコンテンツを取得する方法としてストリーミングとダウンロードが挙げられ、また、ダウンロードはコンテンツのコピーと移動の2通りがある。以下では、移動の形式でコンテンツを取得する場合について主に説明し、ストリーミングとコピーについては説明を省略する。なお、Sourceデバイスに対するコンテンツの取得要求並びにコンテンツの取得には、例えばHTTPプロトコルが利用される(後述)。
コンテンツ取得部403がSourceデバイスから取得したコンテンツは、後述する認証・鍵共有部406によりSourceデバイスとの間で共有した共有鍵(コンテンツの移動の場合にはKXM)などから計算した暗号鍵KCを用いて暗号化されている。コンテンツ復号部404は、Sourceデバイスから取得した暗号化コンテンツを、この暗号鍵KCを用いて復号化することができる。そして、コンテンツ再生出力部405は、復号したコンテンツを再生出力する。
コンテンツ記録部408は、コンテンツ取得部403がダウンロード(すなわち、移動又はコピー)の形式で取得したコンテンツを記録する。記録するコンテンツには記録用の暗号化処理が別途施されることもある。コンテンツ記録部302は、例えばハード・ディスクやブルーレイ、DVDのような、コンテンツを記録する記録媒体を備え、例えばFATのような一般的なファイル・システムの管理下で記録した各コンテンツを管理している。
Sourceデバイスからの移動により取得したコンテンツの中には、移動可能な世代数が制限されたものもある。本実施形態では、コンテンツ記録部408は、コンテンツの移動可能な世代数の情報(以下、「Move_count」とする)や世代制限付き移動可否などの移動制御情報を、図5に示すようにコンテンツ本体と対応付けて管理し、又は、図6に示すようにコンテンツ本体のデータの一部として管理できるものとする。コンテンツ取得部403が移動可能な世代数が制限されたコンテンツを取得し、コンテンツ記録部408に記録する際には、Move_countをデクリメントするなどの移動制御情報の更新処理を行なうが、その処理手順の詳細については後述に譲る。
認証・鍵共有部406は、コンテンツの要求先となるSourceデバイスとの間で、DTCP−IPが規定する認証及び鍵交換(AKE)アルゴリズムに従って、相互認証並びにコンテンツ暗号化のための暗号鍵の共有を行なう。認証・鍵共有部406は、外部ネットワークからリモート・アクセスによりコンテンツを要求するSourceデバイスとの間では、リモート・アクセス用共有鍵KRを共有する。また、コンテンツの移動を要求する際には、認証・鍵共有部406は、Sourceデバイスとの間でさらに移動(Move)用の共有鍵KXMを共有する。また、認証・鍵共有部406は、ホーム・ネットワーク210接続時において、Sourceデバイスに対してリモート・アクセスのための事前登録を行なうものとする(前述)。
なお、図1に示したコンテンツ伝送システム100の変形例として、コンテンツ受信装置400(若しくはSinkデバイス)としての端末102のコンテンツ記録部408が、コンテンツ送信装置300(若しくはSourceデバイス)に内蔵(例えば、内部バスで接続)され、単一の装置300内でコンテンツ記録部302からコンテンツ記録部408へコンテンツ伝送(例えば移動)を行なうという構成も考えられる。例えば、パーソナル・コンピューターなどの情報機器内に内蔵されるハード・ディスク・ドライブ並びにメモリーカードが、コンテンツ記録部302、コンテンツ記録部408にそれぞれ相当する。
上記の機能ブロック402〜406は、通信・制御部401において、オペレーティング・システムやTCP/IPプロトコルの上位で実行するアプリケーション・プログラムとして実現することもできる。この種のアプリケーション・プログラムは、インターネットなどの広域ネットワーク上で所定のダウンロード・サイトで配信することができ、スマートフォンなど、ホーム・サーバー内のコンテンツを再生する多機能端末にダウンロードして利用に供される。
このようなダウンロード・サイトは、例えば、コンピューター・プログラムを記憶する記憶装置2411と、コンピューター・プログラムのダウンロード要求を受信したことに応じてそのダウンロードを認める通信装置2412とを備えたサーバー2410からなり(図24を参照のこと)、ダウンロードしたコンピューター・プログラムをインストールするクライアント装置(DTCP_Source又はDTCP_Sink)と併せてコンピューター・プログラム配信システム2400を構成する。この種のサーバーは、クライアントからのコンピューター・プログラムのダウンロード要求に対して、コンピューター・プログラムの名称を示す情報を通知する情報通知装置2413をさらに備えている。情報通知装置2413は、コンピューター・プログラムの名称とともに、例えば、家庭内に記録した商用コンテンツを遠隔地で閲覧することが認められるアプリケーションであることを示す情報を通知する。
続いて、SourceデバイスからSinkデバイスへコンテンツを移動するための処理動作について説明する。
ここで言うSourceデバイスは、図1に示したコンテンツ伝送システム100において、端末102、103にコンテンツをダウンロードするサーバー101や、端末103にコンテンツをダウンロードする端末102、図2に示したコンテンツ伝送システムにおいて、端末202、203にコンテンツをダウンロードするサーバー201や、端末203にコンテンツをダウンロードする端末202である。また、Sinkデバイスは、図1に示したコンテンツ伝送システム100において、サーバー101にコンテンツを要求する端末102や、サーバー101若しくは端末102にコンテンツを要求する端末103、並びに、図2に示したコンテンツ伝送システム200において、サーバー201にコンテンツを要求する端末202や、サーバー201若しくは端末202にコンテンツを要求する端末203である。
本明細書で開示する技術は、SourceデバイスからSinkデバイスへコンテンツを移動する際に、世代制限付きでコンテンツの移動を制御する点に主な特徴がある。移動可能な世代数を制限すると、移動によるコンテンツの流通範囲を制限することにより、不正なコンテンツ利用の機会を抑制できるという効果がある。移動可能な世代数の制限は、DTCP−IP規格に従ってIPネットワーク経由でリモート・アクセスによりコンテンツの移動を行なう際にとりわけ効果があるが、もちろん、旧来のDTCP規格に従ってホーム・ネットワーク上でコンテンツの移動を行なう際にも適用することができる。
図7には、SourceデバイスとSinkデバイス間でリモート・アクセスによるコンテンツの移動を行なう際の全体的な手順を模式的に示している。なお、SourceデバイスとSinkデバイス間では事前登録(前述)が済んでいることを前提とする。
図示のコンテンツ移動手順は、Sinkデバイスが移動を要求するコンテンツを指定するコンテンツ・リスト閲覧フェーズ(SEQ701)と、SourceデバイスとSinkデバイス間で相互認証及び鍵交換手順を実施してリモート・アクセス用共有鍵KRを共有するRA−AKE手続きフェーズ(SEQ702)と、SourceデバイスとSinkデバイス間で移動用共有鍵KXMを共有するRA−AKE手続きフェーズ(SEQ703)と、コンテンツ・リスト閲覧フェーズで指定されたコンテンツを、移動用共有鍵KXMを用いて暗号化伝送するコンテンツ伝送フェーズ(SEQ704)からなる。
図8には、コンテンツ・リスト閲覧フェーズ(SEQ701)の中身を模式的に示している。この処理手順は、主にSourceデバイス側のコンテンツ・リスト提供部305とSinkデバイス側のコンテンツ・リスト閲覧部402の間で実施される。
Sinkデバイスからは、コンテンツ・リスト閲覧部402から、コンテンツ・リストの閲覧要求が発行される(SEQ801)。コンテンツ・リストの閲覧には、DLNAのベースとなるUPnPで策定されている、コンテンツのリストとコンテンツの詳細情報を階層化して配信するCDS機能が適用される(前述)。したがって、SEQ801では、SinkデバイスからCDS:Browseアクションが発行される。
Sourceデバイス側では、コンテンツ提供部304で提供可能なコンテンツ(例えば、コンテンツ取得部303で取得可能な放送コンテンツや商用コンテンツ、あるいは、自身のストレージであるコンテンツ記録部302に既に記録されているコンテンツなど)に対してCDS:Browseアクションが発行されたので、コンテンツ・リスト提供部305は、該当するコンテンツに関する取得可能なすべてのコンテンツ情報を取得して(SEQ802)、十分な情報量のCDS情報を生成する(SEQ803)。そして、Sourceデバイスは、Sinkデバイスに対してCDS Resultとして返す(SEQ804)。
Sinkデバイス側では、コンテンツ・リスト閲覧部402が、受信したCDS Resultを解析して、コンテンツのタイトル並びにより詳細情報を含むコンテンツ情報を表示する(SEQ805)。
Sinkデバイスのユーザーは、表示されているコンテンツ・リストの中から、再生したいコンテンツを選択することができる。そして、コンテンツが選択されると、SourceデバイスからSinkデバイスへのコンテンツの伝送が開始されるが、コンテンツ伝送に先駆けて、SinkデバイスとSourceデバイス間で、リモート・アクセス用の相互認証及び鍵交換すなわちRA−AKE処理(SEQ702)と、移動(Move)用のAKE処理(SEQ703)が実施される。
図9には、RA−AKE手続きフェーズ(SEQ702)の中身の詳細を示している。この処理手順は、主にSourceデバイス側の認証・鍵共有部306とSinkデバイス側の認証・鍵共有部406の間で実施される。なお、RA−AKE手続きフェーズについては、DTCPの仕様書(前述)のV1SE.10.7.2節にも記載されている。
Sinkデバイスは、リモート・アクセス用交換KR(Remote Exchange Key)用のビットが設定された共有鍵フィールドを含んだCHALLENGEコマンドを送信して、Sourceデバイスに対してAKE処理を要求する(SEQ901)。そして、SourceデバイスとSinkデバイス間で、認証手続きのうちチャレンジ・レスポンス部分が実行される(SEQ902〜904)。
但し、CHALLENGEコマンドのKR用のビットが設定されていないときには、SourceデバイスはRA−AKE手続きを中止し、RA−AKE以外のAKE手続きを引き続き行なうことができる。
Sourceデバイスは、チャレンジ・レスポンス手続きでSinkデバイスから、Device ID又はIDuをSink−IDとして受け取ると(SEQ905)、そのSink−IDが自身の端末管理部307内で管理しているremote sink registry(前述)に登録されているかどうかをチェックする(SEQ906)。
Sink−IDがremote sink registryにリストされていない場合には(SEQ906のNo)、Sourceデバイスは、SinkデバイスにAKE_CANCELコマンドを送信して(SEQ914)、RA−AKE手続きを中止する(SEQ915)。
一方、Sink−IDがremote sink registryに既に登録されている場合には(SEQ906のYes)、Sourceデバイスは、このSink−IDに該当するRAC recordが既に存在するかどうかを判別するために、RAC registry(後述)内をチェックする(SEQ907)。
Sink−IDに該当するRAC recordが存在する場合には(SEQ907のYes)、Sourceデバイスは、そのRAC recordに格納されているリモート・アクセス用共有鍵KR及びその共有鍵ラベルKR_labelを使うことに決定する。あるいは、Sourceデバイスは、リモート・アクセス用共有鍵KRを用いてコンテンツの伝送を行なっていないのであれば、RAC record内を参照し、格納されているKR及びKR_labelの値を更新するようにしてもよい(SEQ913)。
Sink−IDはremote sink registryに登録済みであるが、該当するRAC recordが存在しない場合には(SEQ907のNo)、Sourceデバイスは、RAC recordをカウントするカウント値RACCがRACCmax未満であるかどうかをチェックする(SEQ908)。ここで、RACCmaxは、リモート・アクセス・コネクションをカウントするカウンターであり、リモート・アクセス・コネクションが存在しないときにゼロに初期化される。
RACCがそのRACCmax未満でないときには(SEQ908のNo)、Sourceデバイスは、SinkデバイスにAKE_CANCELコマンドを送信して(SEQ914)、RA−AKE手続きを中止する(SEQ915)。
RACCがRACCmax未満であれば(SEQ908のYes)、Sourceデバイスは、RACCの値を1だけインクリメントした後(SEQ909)、所定の演算規則に従って、リモート・アクセス用共有鍵KR及びその共有鍵ラベルKR_labelを生成して(SEQ910)、これらをSinkデバイスのSink−IDと対応付けて、RAC registry内のRAC recordに格納する(SEQ911)。サーバー201は、例えば端末管理部307内でRAC recordを管理する。
そして、Sourceデバイスは、既存のRAC recordから取り出したリモート・アクセス用共有鍵KR及びその共有鍵ラベルKR_label(更新した場合を含む)、又は、新たに生成したリモート・アクセス用共有鍵KR及びその共有鍵ラベルKR_labelを、Sinkデバイスに送信する(SEQ916)。
SourceデバイスがRA_MANAGEMENT機能をサポートしている場合には、リモート・アクセス用交換KRを維持するためのKR用生存タイマーを開始させ、少なくとも1分間KRを保持する(SEQ912)。
図10には、MOVE−AKE手続きフェーズ(SEQ703)の中身を示している。この処理手順は、主にSourceデバイス側の認証・鍵共有部306とSinkデバイス側の認証・鍵共有部406の間で実施される。なお、MOVE−AKE手続きについては、DTCPの仕様書(前述)のV1SE.10.4.1節にも記載されている。
Sinkデバイスは、SourceデバイスにMV_INITIATEコマンドを送信することによって、移動用のRTT−AKEプロトコルを開始する(SEQ1001)。
これに対し、Sourceデバイスは、DTCP−IPのMoveプロトコルを実行できるときには、その受領確認として、MV_INITIATEレスポンスを返信する(SEQ1002)。
上述したように、SourceデバイスがSinkデバイスに移動するコンテンツの中には移動可能な世代数が制限されているものがある。Sinkデバイスは、移動用のRTT−AKEプロトコルの開始に際し、自分が世代制限付きのコンテンツ移動に対応していることをSourceデバイスに通知するようにしてもよい。例えば、当該プロトコルの開始コマンドであるMV_INITIATEに代えて、世代制限付きで移動できることを示すMV_INITIATE2を用意する方法が考えられる。SinkデバイスがMV_INITIATE2コマンドを用いて当該プロトコルを開始するとき、SourceデバイスはSinkデバイスが世代制限付きのコンテンツ移動に対応していることを認識することができる。この点の詳細については後述に譲る。
また、Sinkデバイスは、能力情報の交換が必要な場合には、この時点で、SourceデバイスにCAPABILITY_EXCHANGEコマンドを送信する(SEQ1003)。これに対し、Sourceデバイスは、CAPABILITY_EXCHANGEレスポンスを返信する(SEQ1004)。
続いて、SinkデバイスとSourceデバイスは、Challenge−Response portion of AKE手続と(SEQ1005)、Protected RTT Protocol手続を実施し(SEQ1006)、KAUTHを使って計算された移動用の認証鍵(HKAUTH)を共有する。
そして、Sourceデバイスは、移動用の共有鍵KXMを生成して、これをMV_EXCHANGE_KEYコマンドでSinkデバイスに送信する(SEQ1007)。これに対し、Sinkデバイスは、MV_EXCHANGE_KEYレスポンスを返信する(SEQ1008)。
移動用の共有鍵KXMの設定方法について、以下に補足しておく。
まず、Sourceデバイスは、乱数を移動用の共有鍵KXMに割り当てるとともに、この共有鍵KXMに共有鍵ラベルKXM_labelを割り当てる。
次いで、Sourceデバイスは、HKAUTHを使ってKXMにスクランブルをかけると、ライセンスの下でDTLA(Digital Transmission Licensing Administrator)から利用できるDTCP仕様に記載されている関数に従ってKSXMを求める。そして、Sourceデバイスは、鍵KSXMを共有鍵ラベルKXM_labelとともに、Sinkデバイスに送信する。
Sinkデバイスは、KAUTH´から計算されるHKAUTH´を使ってKSXMをデスクランブルすると、ライセンスの下でDTLAから利用できるDTCP仕様に記載されている関数に従って、Sourceデバイスと共有する移動用の共有鍵KXMを決定する。
図11には、コンテンツ伝送フェーズ(SEQ704)の中身を模式的に示している。この処理手順は、主にSourceデバイス側のコンテンツ提供部304とSinkデバイス側のコンテンツ取得部403の間で実施される。ここでは、上記のMOVE−AKE手続きフェーズ(SEQ703)を経てSourceデバイスとSinkデバイス間で共有される移動用の共有鍵KXMを用いて、コンテンツ・リスト閲覧フェーズ(SEQ701)で指定されたコンテンツの移動が行なわれるものとする。
Sinkデバイスは、HTTP GETメソッドを用いたHTTPリクエスト(HTTP GET request)により、Sourceデバイスに対して、コンテンツの移動を要求する(SEQ1101)。このHTTP GETリクエストには、コンテンツのURL(Uniform Resource Locator)とともに、MOVE−AKE手続きフェーズ(SEQ703)により取得した移動用の共有鍵ラベルKXM_labelを含める。HTTP GETリクエストは、BLKMove.dtcp.com<KXM_label>というヘッダー情報を含んでいる。
Sinkデバイスは、このコンテンツの移動要求(SEQ1101)の際に、自分が世代制限付きのコンテンツ移動に対応していることをSourceデバイスに通知するようにしてもよい。例えば、コンテンツ移動用プロトコルのために用意されているBLKMove.dtcp.comヘッダー・フィールドの拡張版として、BLKMove2.dtcp.comヘッダー・フィールドを用意して、このヘッダー内でSinkデバイスが世代制限付きのコンテンツ移動に対応していることをSourceデバイスに伝えることが考えられる。この点の詳細については後述に譲る。上記のように、BLKMove.dtcp.comヘッダー・フィールドは、共有鍵KXMを特定するためのパラメーターである共有鍵ラベルKXM_labelをパラメーターに含む。
あるいは、既に述べたように、Sinkデバイスは、移動用のRTT−AKEプロトコルの開始に際し、自分が世代制限付きのコンテンツ移動に対応していることをSourceデバイスに通知することもある。
いずれの方法でSinkデバイスが移動可能な世代数の制限対応について通知するにせよ、Sourceデバイスは、コンテンツ移動の開始に先駆けて、Sinkデバイスがコンテンツの移動可能な世代数の制限機能に対応しているかどうかを確認する(SEQ1102)。ここでは、Sinkデバイスが世代制限付きのコンテンツ移動に対応しているものとして説明を続ける。
Sourceデバイスは、Sinkデバイスからのコンテンツ要求を許可する場合には、共有鍵ラベルKXM_labelで指定された移動用共有鍵KXMを用いてコンテンツを暗号化して、Sourceデバイスは、HTTPレスポンス(HTTP GET response)としてSinkデバイスに伝送する(SEQ1103)。
HTTPレスポンスは、1つ以上のPCPからなる。具体的には、Sourceデバイスは、乱数を用いてノンスNcを生成すると、共有鍵KXMとノンスNcと暗号モードを表すE−EMIに基づいてコンテンツ鍵Kcを計算し、このコンテンツ鍵Kcを用いて暗号化する。そして、暗号化コンテンツを含んだPCP(Protected Content Packet)パケットをTCPストリーム上に乗せる。IPプロトコルは、暗号化コンテンツを含んだTCPストリームを所定の単位となるパケットの大きさに分割し、さらにヘッダー部を付加したIPパケットにし、指定されたIPアドレス宛てに届ける。
図12に示すように、PCPパケット1200は、暗号化コンテンツからなるペイロード1202とノンスNcとE−EMIを含んだヘッダー1201からなる。E−EMI(Extended Encription Mode Indicator)は、暗号モードを記述する4ビット長のフィールドで構成され、その値はコピー制御情報の7種類に対応する。
Sourceデバイスは、伝送するコンテンツは世代制限付きで移動可能であることと、移動可能な世代数の情報Move_countを、Sinkデバイス側に通知する必要がある。例えば、PCPヘッダー内のE−EMIに世代制限付きで移動可能であることを意味する値を追加定義するとともに、PCPペイロード内など(例えば、DTCP_descriptor、PCP−UR、CMIなど)に新たなフィールドを設けて移動可能な世代数の情報Move_countを運ぶようにしてもよい。この点の詳細については後述に譲る。
Sinkデバイス側では、Sourceデバイスからの各IPパケットを受信すると、これをTCPストリームに組み立てて、送信された元のPCPパケットを再現する。そして、ストリームからノンスNcとE−EMIを取り出すと、これらと共有鍵KXMを用いてコンテンツ鍵Kcを算出し、暗号化コンテンツを復号することができる。そして、復号化した後の平文のコンテンツに対しコンテンツ再生出力部405からの再生若しくはコンテンツ記録部408への記録などの処理を実施することができる。
このようにしてHTTPプロトコルを利用したコンテンツ伝送が終了すると、例えばSinkデバイス側から、コンテンツ伝送に使用したTCPコネクションを適宜切断する。
世代制限付きのコンテンツ移動機能に対応しているSinkデバイスは、受信したコンテンツに関する移動制御情報の更新処理を行なう(SEQ1104)。具体的には、コンテンツ記録部408への記録する際などに、受信したコンテンツが制限された世代数内で移動可能であるかどうかをチェックするとともに、移動可能な世代数の情報Move_countを更新する。この点の詳細については後述に譲る。
続いて、図1、図2に示したようなコンテンツ伝送システム100、200において、私的利用の範囲を超えるコンテンツの利用を防止する仕組みについて、さらに詳細に説明する。本明細書で開示する技術は、SourceデバイスからSinkデバイスへコンテンツを移動する際に、移動可能な世代数に制限を課すことによって、コンテンツの流通範囲を制限する方法を採用する。
世代制限付きのコンテンツの移動の仕組みを、本実施形態のようなDTCP若しくはDTCP−IPが適用されたコンテンツ伝送システム100、200で実現する場合、コンテンツの流通範囲を制限して、私的利用の範囲を超えるコンテンツの利用を防止することになる。
コンテンツの移動元であるSourceデバイスと、その移動先であるSinkデバイスの間で、コンテンツ移動の制御情報として、移動可能な世代数の情報Move_countを伝え、SinkデバイスはMove_countを1だけデクリメントして受信したコンテンツを管理するようにする。Move_countがまだ1以上であれば、Sinkデバイスは、(今度はSourceデバイスとして)それを次の制御情報としてコンテンツのさらなる移動が可能である。一方、Move_countが0になってしまうと、そのコンテンツのさらなる移動はできないものとする。なお、Move_count=1すなわち移動は1世代のみ可として運用するのであれば、移動可能な世代数の情報を伝える必要はなく、移動の可否を示す制御情報だけを用いることもできる。
まず、世代制限付きの移動の可否を示す制御情報を通知する方法について説明する。
DTCPをIP伝送にマッピングしたDTCP−IPでは、コンテンツ伝送に用いられるHTTPレスポンスは、1以上のPCPと呼ばれるパケットからなる。図12に示したように、そのPCPヘッダー1201は、E−EMIを含んでいる。このE−EMIは、暗号モード(E−EMI Mode)を記述する4ビット長のフィールドで構成され、その値はコピー制御情報の7種類に対応する。
本実施形態では、E−EMIフィールドの未定義の値に「世代制限付き移動可」を意味する値を追加定義する。具体的には、未定義の値「01112」をMode C2として「世代制限付き移動可」と定義する。図13には、DTCP−IP規格通りのE−EMIを示し、図14には、「01112」を「世代制限付き移動可」と追加定義したE−EMIを示している。
Sourceデバイスは、世代制限付きで移動が許可されたコンテンツを移動する際には、その伝送に用いられるPCPパケットのヘッダー内のE−EMIフィールドに「01112」を書き込む。Sinkデバイス側では、HTTPレスポンスの例えば先頭のPCPパケットのヘッダー内のE−EMIの値をチェックすることで、コンテンツが「世代制限付き移動可」であるかどうかを判別することができる(勿論、従来通り、コピー制御情報並びに対応する暗号モードを識別することもできる)。
次いで、移動可能な世代数を通知する方法について説明する。
DTCPで運用する制御情報の中に、移動可能な世代数に関する情報を運ぶための新たなフィールドを設ける方法が挙げられる。ここで言う制御情報として、DTCP_descriptor、PCP−UR、CMIなどを挙げることができる。
DTCP_descriptorは、MPEG−TS形式でコンテンツを伝送する際の、DTCP制御情報を送る手段として用意されたもので、MPEG−TSパケットの中(PCPペイロード内)に埋め込まれ、コンテンツとともに暗号化伝送される。図15には、DTCP_descriptorの未使用領域をMove_countフィールドとして定義して、移動可能な世代数を記載した例を示している。同図では、参照番号1501で示すように、移動可能な世代数として1(回)が記入されている。
PCP−UR(Protected Content Packet−Usage Rule)は、MPEG−TS以外の形式でコンテンツを伝送する際の、DTCP制御情報を送る手段として用意されたもので、図16に示すように、PCPヘッダー中のノンスNcのフィールドの中に格納される。また、図17には、ノンスNcのフィールドのうちPCP−UR部分のフォーマットをより詳細に示している。図示の例では、PCP−URの未使用領域1701をMove_countフィールドとして定義した例を示している。
例えば、コンテンツ伝送フェーズSEQ704で、MPEG−TS形式でコンテンツを伝送する場合には、図15に示したようにDTCP_descriptor内で移動可能な世代数の情報を運び、MPEG−TS以外の形式でコンテンツを伝送する場合は、図17に示したようにPCP−UR内で移動可能な世代数の情報を運ぶように、上記の方法を使い分けることも考えられる。
CMI(Content Management Information)は、コンテンツの伝送形式によらず共通の方法でDTCP制御情報を送る手段として用意されたものである。DTCP−IPの場合、コンテンツ伝送フェーズSEQ704では、コンテンツはPCP2パケット、制御情報はCMIパケットにそれぞれ格納され、PCP2とCMIのパケットが混在したデータとして送られる。図18には、CMIのパケット・フォーマットを示している。CMIパケットのペイロード部分であるCMIフィールドには、1又はそれ以上のCMI Descriptorが格納される。CMI descriptorの未使用領域をMove_countフィールドとして定義して、移動可能な世代数を記載する方法が考えられる。この方法によれば、コンテンツの伝送形式によらず共通に移動可能な世代数を伝えることができる。図19には、CMI descriptor1フォーマットの未使用領域1901をMove_countフィールドとして定義した例を示している。また、図20には、CMI descriptor2フォーマットの未使用領域2001をMove_countフィールドとして定義した例を示している。
上記では、DTCP−IP仕様において、コンテンツの移動に関する制御情報の伝送に、E−EMI、DTCP_descriptor、PCP−UR、CMIを利用可能であることを例示した。ここで、DTCP−IP仕様上、E−EMIの送信は必須であるのに対し、PCP−UR、CMIを送信することは必須ではない。言い換えれば、移動の可否を示す制御情報は必ず伝えることができるが、移動可能な世代数がSinkデバイスに伝わらないこともあり得る。
Sinkデバイスは、受信したPCPパケットのヘッダー内のE−EMIの値を参照して、世代制限付き移動可であることが分かると、少なくともその移動可能な世代数が1以上であると言える。そこで、PCP−UR、CMIが届かないなどの理由により、コンテンツの移動可能な世代数が不明な場合には、Sinkデバイスは、移動可能な世代数が1で受信したものとして処理するようにする。2以上の余分な世代数を与えないことにより、以降のコンテンツの流通範囲を制限する。
図21には、Sinkデバイスが、コンテンツ伝送フェーズSEQ704において、受信したコンテンツの移動世代数を制御するための処理手順をフローチャートの形式で示している。この処理手順では、移動可能な世代数Move_countが0になったことを以って、更なる移動が禁止されたコンテンツと判断するものとする。
通信・制御部401でHTTPレスポンスの例えば先頭のPCPパケットを受信すると、コンテンツ取得部403は、そのPCPヘッダー内のE−EMIの値を参照して、コンテンツが「世代制限付き移動可」であるかどうかをチェックする(ステップS2101)。
次いで、コンテンツ取得部403は、DTCP_descriptor、PCP−UR、CMIなどに定義されているMove_countフィールドの検出を試みる(ステップS2102)。
ここで、PCP−UR、CMIが届かないなどの理由により、Move_countフィールドを検出できないときには(ステップS2102のNo)、コンテンツ取得部403は、Move_count=1、すなわち受信したコンテンツは1世代のみ移動可能とみなして、このコンテンツを「更なる移動不可」と設定して(ステップS2105)、本処理ルーチンを終了する。
一方、Move_countフィールドを検出できたときには(ステップS2102のYes)、コンテンツ取得部403は、Move_countフィールドの値、すなわち移動可能な世代数を1だけデクリメントする(ステップS2103)。
次いで、コンテンツ取得部403は、Move_countフィールドの値が0より大きいか、すなわちまだ移動可能であるかどうかをチェックする(ステップS2104)。
ここで、Move_countフィールドの値が0以下、すなわち移動可能な世代数が消滅したときには(ステップS2104のNo)、コンテンツ取得部403は、このコンテンツを「更なる移動不可」と設定して(ステップS2105)、本処理ルーチンを終了する。
また、Move_countフィールドの値が0より大きいときには(ステップS2104のYes)、コンテンツ取得部403は、デクリメントしたMove_countフィールドの値で、このコンテンツを世代制限付きで移動可能としたまま、本処理ルーチンを終了する。
そして、コンテンツ取得部403は、上記の処理ルーチンを終了した後、移動可能な世代数の情報や世代制限付き移動可否の情報と対応付けて(図5又は図6を参照のこと)、受信したコンテンツをコンテンツ記録部408に記録する。
上述したように、Sinkデバイスは、E−EMIが「世代制限付き移動可」で、移動可能な世代数Move_count=1又はMove_countが不明として受信したコンテンツの更なる移動を防止する。具体的には、Sinkデバイスは、(Sourceデバイスとして)次にDTCP−IPで送信する場合、このようなコンテンツのE−EMIには、記録の禁止を意味する値(例えば、01002や11002)を用いる。そして、このように記録禁止を意味するE−EMIが使われているコンテンツを受信した次のSinkデバイスは、DTCP_descriptor、PCP−UR、CMIなどから判明した移動可能な世代数Move_countの値によらず、コンテンツを移動できないものとして扱う(E−EMIの内容を優先する)。
2013年6月時点では、DTCP(http://www.dtcp.com)は、コンテンツの移動に関しては、移動可能な世代数などを制限していない(前述)。DTCP仕様では、E−EMIの値は、コピー制御情報に対応した、コンテンツの暗号鍵(Kc)を計算するためのJ−AES関数の1つのパラメーターである。本実施形態のように未定義のE−EMIの値を世代制御に使用した場合(図14を参照のこと)、世代制限付きのコンテンツ移動に対応していない旧来のSinkデバイスは、E−EMIの値として「世代制限付き移動可」を意味する「01112」を受け取っても、正しい暗号鍵を計算できず、したがって、受信したコンテンツを復号できない。よって、世代制限付きのコンテンツ移動に対応しているSinkデバイスだけに世代制限付きのコンテンツを渡すことができることになる。
続いて、世代制限付きでコンテンツを移動する際に消失を防止する方法について説明する。
既に述べたように、コンテンツの移動は、SourceデバイスはSinkに送信済みのコンテンツを消去する伝送方法である。移動処理が不意の中断した場合などにコンテンツが消失するおそれがある。コンテンツの移動時に消失を防止する技術について、既に幾つか提案がなされている(例えば、特許文献1を参照のこと)。
世代制限付きのコンテンツ移動も、コンテンツの消失が起きないように、この機能に対応した装置間でのみ行なわれるべきである。このため、Sourceデバイスは、コンテンツ伝送フェーズ(SEQ704)でコンテンツの移動を開始する際に、Sinkデバイスが世代制限付きのコンテンツ移動に対応しているかどうかを確認する必要がある。
Sinkデバイスが世代制限付きのコンテンツ移動対応を確認する第1の方法として、Sinkデバイスがコンテンツの移動要求(図11中のSEQ1101)の際に、自分が世代制限付きのコンテンツ移動に対応していることをSourceデバイスに通知する方法が挙げられる。
具体的には、Sinkデバイスは、コンテンツ移動用プロトコルのために用意されているBLKMove.dtcp.comヘッダー・フィールドの拡張版として、BLKMove2.dtcp.comヘッダー・フィールドを用意して、このヘッダー内で世代制限付きのコンテンツ移動に対応していることをSourceデバイスに伝えることが考えられる。
これに対し、Sourceデバイスは、HTTP GETリクエストでBLKMove2.dtcp.comヘッダー・フィールドが使われていれば世代制限付きのコンテンツ移動を行なうが、BLKMove2.dtcp.comヘッダー・フィールドが使われていなければ世代制限付きのコンテンツ移動を行なわない。
図22には、Sourceデバイスが上記の第1の方法を用いて世代制限付きで移動可能なコンテンツを移動するための処理手順をフローチャートの形式で示している。
コンテンツ伝送フェーズ(SEQ704)で、SinkデバイスからのHTTP GETリクエストのヘッダーを通信・制御部301で受信すると(ステップS2201のYes)、コンテンツ提供部304は、そのヘッダーにBLKMove2.dtcp.comヘッダー・フィールドが含まれているかどうかをチェックする(ステップS2202)。
HTTP GETリクエストのヘッダーにBLKMove2.dtcp.comヘッダー・フィールドが含まれない場合には(ステップSS2202のNo)、世代制限付きのコンテンツ移動以外のHTTPリクエストを受けたと判断されるので、コンテンツ提供部304は、その他のHTTP処理を実行する(ステップS2206)。
一方、HTTP GETリクエストのヘッダーにBLKMove2.dtcp.comヘッダー・フィールドが含まれている場合には(ステップSS2202のYes)、コンテンツ提供部304は、このBLKMove2.dtcp.comヘッダー・フィールドで指定されている移動用の共有鍵ラベルKXM_labelを持つ移動用共有鍵KXMが認証・鍵共有部306内に存在するかどうかをさらにチェックする(ステップS2203)。
共有鍵ラベルKXM_labelを持つ共有鍵KXMが存在しないときには(ステップS2203のNo)、世代制限付きのコンテンツを移動のために暗号化できないので、コンテンツ提供部304は、このHTTPセッションをエラー終了する(ステップS2207)。
一方、共有鍵ラベルKXM_labelを持つ共有鍵KXMが存在するときには(ステップS2203のYes)、コンテンツ提供部304は、HTTP伝送の対象すなわち移動要求されているコンテンツが世代制限付きで移動可能かどうかをさらにチェックする(ステップS2204)。
コンテンツ提供部304は、例えば、コンテンツ記録部302内の要求されているコンテンツに対応付けられている世代制限付き移動の可否の情報や移動可能な世代数の情報を参照して、ステップS2204のチェックを行なう。コンテンツに対し、世代制限付き移動が不可で、移動可能な世代数が1以上といった情報の食い違いが生じた場合には、世代制限付き移動不可という情報を優先し、不用意なコンテンツの流通を抑制する。
移動要求されているコンテンツが世代制限付きで移動可能な場合には(ステップS2204のYes)、コンテンツ提供部304は、「世代制限付き移動可能」を意味するE−EMIの値(01112)(図14を参照のこと)を設定するとともに、DTCP_descriptor、PCP−UR、CMIなどに設けられたMove_countフィールドに移動可能な世代数を設定して、このコンテンツの移動を行なう(ステップS2205)。
また、移動要求されているコンテンツが世代制限付きで移動できるものでない場合には(ステップS2204のNo)、コンテンツ提供部304は、コンテンツを通常の移動は可能かどうかをさらにチェックする(ステップS2208)。
通常の移動が可能な場合には(ステップS2208のYes)、コンテンツ提供部304は、「Move」に相当するE−EMIの値(図14を参照のこと)を設定して、このコンテンツの移動を行なう(ステップS2209)。また、通常の移動もできないときには(ステップS2208のNo)、コンテンツ提供部304は、このHTTPセッションをエラー終了する(ステップS2207)。
また、Sinkデバイスが世代制限付きのコンテンツ移動対応を確認する第2の方法として、SinkデバイスがMOVE−AKE手続きの際に、自分が世代制限付きのコンテンツ移動に対応していることをSourceデバイスに通知する方法が挙げられる。
具体的には、Sinkデバイスは、MOVE−AKE手続きの開始コマンドであるMV_INITIATEに代えて、世代制限付きで移動できることを示すMV_INITIATE2を用意する方法が考えられる。
SinkデバイスがMV_INITIATE2コマンドを用いて当該プロトコルを開始するとき、SourceデバイスはSinkデバイスが世代制限付きのコンテンツ移動に対応していることを認識することができ、後続のコンテンツ伝送フェーズ(SEQ704)では世代制限付きのコンテンツの移動を行なう。一方、SinkデバイスがMV_INITIATEコマンドを用いて当該プロトコルを開始するとき、Sourceデバイスは世代制限付きのコンテンツの移動を行なわない。そのため、Sourceデバイスは当該プロトコルで共有鍵ラベルKXM_labelを生成し、記憶する際に、当該プロトコルがMV_INITIATE2とMV_INITIATEのどちらで開始したかを合わせて記憶するか、どちらで開始したかを共有鍵ラベルKXM_labelの値で判別できるようにする。例えば、MV_INITIATE2で開始した場合は値を偶数とし、その他の場合は奇数にするなどの方法が考えられる。
図23には、Sourceデバイスが上記の第2の方法を用いて世代制限付きで移動可能なコンテンツを移動するための処理手順をフローチャートの形式で示している。
コンテンツ伝送フェーズ(SEQ704)で、SinkデバイスからのHTTP GETリクエストのヘッダーを通信・制御部301で受信すると(ステップS2301のYes)、コンテンツ提供部304は、そのヘッダーにBLKMove.dtcp.comヘッダー・フィールドが含まれているかどうかをチェックする(ステップS2302)。
HTTP GETリクエストのヘッダーにBLKMove.dtcp.comヘッダー・フィールドが含まれない場合には(ステップSS2302のNo)、コンテンツ移動以外のHTTPリクエストを受けたと判断されるので、コンテンツ提供部304は、その他のHTTP処理を実行する(ステップS2307)。
一方、HTTP GETリクエストのヘッダーにBLKMove.dtcp.comヘッダー・フィールドが含まれている場合には(ステップSS2302のYes)、コンテンツ提供部304は、このBLKMove.dtcp.comヘッダー・フィールドで指定されている移動用の共有鍵ラベルKXM_labelを持つ移動用共有鍵KXMが認証・鍵共有部306内に存在するかどうかをさらにチェックする(ステップS2303)。
共有鍵ラベルKXM_labelを持つ共有鍵KXMが存在しないときには(ステップS2303のNo)、世代制限付きのコンテンツを移動のために暗号化できないので、コンテンツ提供部304は、このHTTPセッションをエラー終了する(ステップS2308)。
一方、共有鍵ラベルKXM_labelを持つ共有鍵KXMが存在するときには(ステップS2303のYes)、コンテンツ提供部304は、この共有鍵ラベルKXM_labelがMV_INITIATE2による処理で得られたものかどうかをさらにチェックする(ステップS2304)。そして、共有鍵ラベルKXM_labelがMV_INITIATE2による処理のものであれば(ステップS2304のYes)、コンテンツ提供部304は、HTTP伝送の対象すなわち移動要求されているコンテンツが世代制限付きで移動可能かどうかをチェックする(ステップS2305)。
移動要求されているコンテンツが世代制限付きで移動可能な場合には(ステップS2305のYes)、コンテンツ提供部304は、「世代制限付き移動可能」を意味するE−EMIの値(01112)(図14を参照のこと)を設定するとともに、DTCP_descriptor、PCP−UR、CMIなどに設けられたMove_countフィールドに移動可能な世代数を設定して、このコンテンツの移動を行なう(ステップS2306)。
また、共有鍵ラベルKXM_labelがMV_INITIATE2による処理のものでない場合(ステップS2304のNo)、又は、移動要求されているコンテンツが世代制限付きで移動できるものでない場合には(ステップS2305のNo)、コンテンツ提供部304は、コンテンツを通常の移動は可能かどうかをさらにチェックする(ステップS2309)。
通常の移動が可能な場合には(ステップS2309のYes)、コンテンツ提供部304は、「Move」に相当するE−EMIの値(図14を参照のこと)を設定して、このコンテンツの移動を行なう(ステップS2310)。また、通常の移動もできないときには(ステップS2208のNo)、コンテンツ提供部304は、このHTTPセッションをエラー終了する(ステップS2308)。
移動可能な世代数が制限されたコンテンツの場合、私的利用の範囲を超えた利用を防ぐ効果を高めるために、移動した後のコンテンツの伝送可能範囲を制限する運用も考えられる。
例えば、DTCP−IP仕様には、Remote Accessという、屋外の装置(Sinkデバイス)から家庭内の装置(Sourceデバイス)にあるコンテンツを利用する機能が規定されている。移動可能な世代数が制限されたコンテンツについては、移動した後のコンテンツへのRemote Accessを禁止するといった運用が、伝送可能範囲を制限する1つの具体例として挙げられる。
ここで、Remote Accessでの送信禁止ということを実現する方法としては、例えば以下の2つが考えられる。
(1)Sinkデバイスが世代制限付きで受信したコンテンツの移動可能な世代数Move_countを1だけデクリメントした結果、その値がゼロになったらRemote Accessでの送信を不可にする。なお、SinkデバイスがMove_countを検出できない場合もRemote Accessでの送信を不可にする。
(2)Sinkデバイスがコンテンツの移動可能な世代数Move_countを1だけデクリメントする際に、そのコンテンツが移動済みであることをコンテンツと対応付けて記憶しておく。そして、以後の送信において、移動済みコンテンツはRemote Accessでの送信を不可にする。
また、Remote Accessにおけるコンテンツの移動は常に1世代のみ可として、コンテンツ移動による伝送可能範囲を制限することによっても、私的利用範囲を超えた利用を防ぐ効果を高めることができる。このような移動可能な世代数の制限は、よりシンプルに実現することができる。例えば、Remote Accessによるコンテンツ移動時には、Sourceデバイスは、移動用の共有鍵KXMから計算した暗号鍵ではなく、Remote Accessによるコンテンツ移動の処理専用の計算方法で得た暗号鍵を用いて暗号化伝送し、Sinkデバイス側でも同様にこの処理専用の計算方法で得た暗号鍵を用いて受信コンテンツを復号する。そして、Sinkデバイスは、Remote Accessで受け取ったコンテンツのさらなる移動は自主的に禁止とする。
Remote Accessによるコンテンツ移動時に専用の暗号鍵の計算方法として、MOVE−AKE手続きで得た移動用の共有鍵KXMの代わりに、Remote Access用のRTT−AKE手続きで得た共有鍵KRを暗号鍵KCの計算に用いる方法が挙げられる。さらには、移動用の共有鍵KXMをハッシュ関数で処理して暗号鍵の計算に用いる方法や、移動用の共有鍵KXMとRemote Access用の共有鍵KRのXOR(排他的論理和)などの権利演算結果を暗号鍵の計算に用いる方法なども考えられる。
上記の方法は、E−EMIフィールドの未定義の値に「世代制限付き移動可」を意味する値を追加定義したり、DTCP_descriptor、PCP−UR、CMIなどを使って移動可能な世代数を伝えたりする必要はなく、シンプルである。E−EMIには、現状のMode C1(図13を参照のこと)をそのまま使用すればよい。
特開2010−231787号公報
以上、特定の実施形態を参照しながら、本明細書で開示する技術について詳細に説明してきた。しかしながら、本明細書で開示する技術の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
本明細書では、本明細書で開示する技術をDTCP並びにDTCP−IP仕様のネットワークに適用した実施形態を中心に説明してきたが、本明細書で開示する技術の要旨はこれに限定されるものではない。DTCP若しくはDTCP−IP以外の技術仕様に基づくネットワーク上の機器間でコンテンツの移動を行なうコンテンツ伝送システムにも、同様に本明細書で開示する技術で開示する技術を適用して、移動可能な世代数制御によってコンテンツの流通範囲を制限することができる。
また、本明細書では、それぞれ独立した装置として構成されるSourceデバイスとSinkデバイス間でDTCP若しくはDTCP−IP規格に従ってコンテンツを移動する実施形態を中心に説明してきたが、その変形例として、1つの装置内で2つの記録部(例えば、パーソナル・コンピューターなどの情報機器内に内蔵されるハード・ディスク・ドライブ並びにメモリーカード)の間でコンテンツの移動を行なう場合にも、同様に本明細書で開示する技術を適用することができる。
要するに、例示という形態により本明細書で開示する技術について説明してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本明細書で開示する技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
なお、本明細書の開示の技術は、以下のような構成をとることも可能である。
(1)移動に関する制御情報付きのコンテンツをコンテンツ送信装置から取得するコンテンツ取得部と、
前記コンテンツ送信装置から取得したコンテンツを記録するコンテンツ記録部と、
前記コンテンツ記録部に記録されているコンテンツの移動を前記移動に関する制御情報に従って制御するコンテンツ移動制御部と、
を具備するコンテンツ受信装置。
(2)前記移動に関する制御情報は、コンテンツの移動の世代制限に関する情報を含む、
上記(1)に記載のコンテンツ受信装置。
(3)前記移動に関する制御情報は、コンテンツの世代制限付き移動の可否を含む、
上記(1)に記載のコンテンツ受信装置。
(4)前記移動に関する制御情報は、移動可能な世代数に関する情報をさらに含む、
上記(3)に記載のコンテンツ受信装置。
(5)所定の伝送規格に従って、前記コンテンツ送信装置と相互認証及び共有鍵の交換を行なう認証・鍵共有部と、
前記コンテンツ送信装置から取得した暗号化コンテンツを、前記共有鍵から計算される暗号鍵を用いて復号するコンテンツ復号部をさらに備える、
上記(1)に記載のコンテンツ受信装置。
(6)前記所定の伝送規格は、DTCP(Digital Transmission Content Protection)若しくはDTCP−IP(DTCP mapping to IP)である、
上記(5)に記載のコンテンツ受信装置。
(7)前記コンテンツ移動制御部は、DTCP−IP規格に従ってHTTP(Hyper Text Transfer Protocol)メッセージにより前記コンテンツ送信装置からコンテンツを受信する際に、E−EMI(Extended Encription Mode Indicator)に「世代制限付き移動可」を意味する値が記載されているか否かに基づいて、当該コンテンツが世代制限付き移動可か否かをチェックする、
上記(2)に記載のコンテンツ受信装置。
(8)前記コンテンツ移動制御部は、前記コンテンツ移動制御部は、DTCP_descriptorに定義された移動可能な世代数を記載するMove_countフィールドを参照して、移動可能な世代数に関する情報を取得する、
上記(7)に記載のコンテンツ受信装置。
(9)前記コンテンツ移動制御部は、PCP−UR(Protected Content Packet−Usage Rule)に定義された移動可能な世代数を記載するMove_countフィールドを参照して、移動可能な世代数に関する情報を取得する、
上記(7)に記載のコンテンツ受信装置。
(10)前記コンテンツ移動制御部は、CMI descriptorに定義された移動可能な世代数を記載するMove_countフィールドを参照して、移動可能な世代数に関する情報を取得する、
上記(7)に記載のコンテンツ受信装置。
(11)前記コンテンツ移動制御部は、前記コンテンツ送信装置から世代制限付き移動により取得したコンテンツの移動可能な世代数を1だけ減算する、
上記(4、8乃至10のいずれか)に記載のコンテンツ受信装置。
(12)前記コンテンツ移動制御部は、前記コンテンツ送信装置から世代制限付き移動により取得したコンテンツについての移動可能な世代数に関する情報を検出できないときは、当該コンテンツの更なる移動を不可にする、
上記(4)、(8)乃至(10)のいずれかに記載のコンテンツ受信装置。
(13)前記コンテンツ移動制御部は、更なる移動が不可のコンテンツを次にDTCP−IPで送信する際には、そのE−EMIに記録の禁止を意味する値を用いる、
上記(7)に記載のコンテンツ受信装置。
(14)前記コンテンツ移動制御部は、記録禁止で且つ1以上の移動可能な世代数が付与されたコンテンツについては、移動可能な世代数に拘らず、記録を不可にする、
上記(4)に記載のコンテンツ受信装置。
(15)前記コンテンツ取得部は、DTCP−IP規格に従ってHTTPリクエストによりコンテンツの移動を要求する際に、BLKMove2.dtcp.comヘッダー・フィールドを用いて、世代制限付きのコンテンツ移動に対応していることを前記コンテンツ送信装置に伝える、
上記(1)に記載のコンテンツ受信装置。
(16)前記コンテンツ取得部は、DTCP−IP規格に従ってMOVE−AKE手続きを開始するコマンドMV_INITIATEを、世代制限付きで移動できることを示すMV_INITIATE2に代えることにより、世代制限付きのコンテンツ移動に対応していることを前記コンテンツ送信装置に伝える、
上記(1)に記載のコンテンツ受信装置。
(17)前記コンテンツ移動制御部は、移動可能な世代数を1だけ減算した結果世代数が0になったコンテンツのリモート・アクセスによる送信を不可にする、
上記(11)に記載のコンテンツ受信装置。
(18)前記コンテンツ移動制御部は、移動可能な世代数が不明なコンテンツのリモート・アクセスによる送信を不可にする、
上記(11)に記載のコンテンツ受信装置。
(19)前記コンテンツ移動制御部は、移動可能な世代数を1だけ減算する際にそのコンテンツが移動済みであることを対応付けて記憶し、移動済みのコンテンツのリモート・アクセスによる送信を不可にする、
上記(11)に記載のコンテンツ受信装置。
(20)前記コンテンツ移動制御部は、リモート・アクセスによりコンテンツの移動を行なうときには、移動用の共有鍵から計算した暗号鍵に代えて、リモート・アクセスによるコンテンツ移動の処理専用の計算方法で得た暗号鍵を用いて、前記コンテンツ送信装置から受信した暗号化コンテンツを復号する、
上記(6)に記載のコンテンツ受信装置。
(21)ユーザーによる操作情報を入力する入力部をさらに備える、
上記(1)に記載のコンテンツ受信装置。
(22)前記コンテンツ取得部で取得し又は前記コンテンツ記録部に記録されたコンテンツを再生出力するコンテンツ再生出力部をさらに備える、
上記(1)に記載のコンテンツ受信装置。
(23)移動に関する制御情報付きのコンテンツをコンテンツ送信装置から取得するコンテンツ取得ステップと、
前記コンテンツ送信装置から取得したコンテンツをコンテンツ記録部に記録するコンテンツ記録ステップと、
前記コンテンツ記録部に記録されているコンテンツの移動を前記移動に関する制御情報に従って制御するコンテンツ移動制御ステップと、
を有するコンテンツ受信方法。
(24)移動に関する制御情報付きのコンテンツをコンテンツ送信装置から取得するコンテンツ取得部、
前記コンテンツ送信装置から取得したコンテンツを記録するコンテンツ記録部、
前記コンテンツ記録部に記録されているコンテンツの移動を前記移動に関する制御情報に従って制御するコンテンツ移動制御部、
としてコンピューターを機能させるようにコンピューター可読形式で記述されたコンピューター・プログラム。
100…コンテンツ伝送システム
101…サーバー、102、103…端末、110…ホーム・ネットワーク
200…コンテンツ伝送システム
201…サーバー、202、203…端末
210…ホーム・ネットワーク、220…外部ネットワーク
230…ルーター
300…コンテンツ送信装置(Sourceデバイス)
301…通信・制御部、302…コンテンツ記録部
303…コンテンツ取得部、304…コンテンツ提供部
305…コンテンツ・リスト提供部、306…認証・鍵共有部
307…端末管理部、308…コンテンツ再生出力部
400…コンテンツ受信装置
401…通信・制御部
402…コンテンツ・リスト閲覧部、403…コンテンツ取得部
404…コンテンツ復号部、405…コンテンツ再生出力部
406…認証・鍵共有部、407…入力部、408…コンテンツ記録部
2400…コンピューター・プログラム配信システム
2410…サーバー、2411…記憶装置
2412…通信装置、2413…情報通知装置

Claims (21)

  1. 移動に関する制御情報付きのコンテンツをコンテンツ送信装置から取得するコンテンツ取得部と、
    前記コンテンツ送信装置から取得したコンテンツを記録するコンテンツ記録部と、
    前記コンテンツ記録部に記録されているコンテンツの移動を制御するコンテンツ移動制御部と、
    を具備し、
    前記移動制御部は、ホーム・ネットワーク内でのコンテンツの移動を制限しないが、リモート・アクセスによるコンテンツの移動をコンテンツに付けられた前記移動に関する制御情報に従って制御する、
    コンテンツ受信装置。
  2. 前記移動に関する制御情報は、コンテンツの世代制限付き移動の可否を含む、
    請求項1に記載のコンテンツ受信装置。
  3. 前記移動に関する制御情報は、移動可能な世代数に関する情報をさらに含む、
    請求項2に記載のコンテンツ受信装置。
  4. DTCP(Digital Transmission Content Protection)若しくはDTCP−IP(DTCP mapping to IP)規格に従って、前記コンテンツ送信装置と相互認証及び共有鍵の交換を行なう認証・鍵共有部と、
    前記コンテンツ送信装置から取得した暗号化コンテンツを、前記共有鍵から計算される暗号鍵を用いて復号するコンテンツ復号部をさらに備える、
    請求項1に記載のコンテンツ受信装置。
  5. 前記コンテンツ移動制御部は、DTCP−IP規格に従ってHTTP(Hyper Text Transfer Protocol)メッセージにより前記コンテンツ送信装置からコンテンツを受信する際に、E−EMI(Extended Encription Mode Indicator)に「世代制限付き移動可」を意味する値が記載されているか否かに基づいて、当該コンテンツが世代制限付き移動可か否かをチェックする、
    請求項2に記載のコンテンツ受信装置。
  6. 前記コンテンツ移動制御部は、DTCP_descriptorに定義された移動可能な世代数を記載するMove_countフィールドを参照して、移動可能な世代数に関する情報を取得する、
    請求項5に記載のコンテンツ受信装置。
  7. 前記コンテンツ移動制御部は、PCP−UR(Protected Content Packet−Usage Rule)に定義された移動可能な世代数を記載するMove_countフィールドを参照して、移動可能な世代数に関する情報を取得する、
    請求項5に記載のコンテンツ受信装置。
  8. 前記コンテンツ移動制御部は、CMI descriptorに定義された移動可能な世代数を記載するMove_countフィールドを参照して、移動可能な世代数に関する情報を取得する、
    請求項5に記載のコンテンツ受信装置。
  9. 前記コンテンツ移動制御部は、前記コンテンツ送信装置から世代制限付き移動により取得したコンテンツの移動可能な世代数を1だけ減算する、
    請求項3、6乃至8のいずれかに記載のコンテンツ受信装置。
  10. 前記コンテンツ移動制御部は、前記コンテンツ送信装置から世代制限付き移動により取得したコンテンツについての移動可能な世代数に関する情報を検出できないときは、当該コンテンツの更なる移動を不可にする、
    請求項3、6乃至8のいずれかに記載のコンテンツ受信装置。
  11. 前記コンテンツ移動制御部は、更なる移動が不可のコンテンツを次にDTCP−IPで送信する際には、そのE−EMIに記録の禁止を意味する値を用いる、
    請求項5に記載のコンテンツ受信装置。
  12. 前記コンテンツ移動制御部は、記録禁止で且つ1以上の移動可能な世代数が付与されたコンテンツについては、移動可能な世代数に拘らず、記録を不可にする、
    請求項3に記載のコンテンツ受信装置。
  13. 前記コンテンツ取得部は、DTCP−IP規格に従ってHTTPリクエストによりコンテンツの移動を要求する際に、BLKMove2.dtcp.comヘッダー・フィールドを用いて、世代制限付きのコンテンツ移動に対応していることを前記コンテンツ送信装置に伝える、
    請求項1に記載のコンテンツ受信装置。
  14. 前記コンテンツ取得部は、DTCP−IP規格に従ってMOVE−AKE手続きを開始するコマンドMV_INITIATEを、世代制限付きで移動できることを示すMV_INITIATE2に代えることにより、世代制限付きのコンテンツ移動に対応していることを前記コンテンツ送信装置に伝える、
    請求項1に記載のコンテンツ受信装置。
  15. 前記コンテンツ移動制御部は、移動可能な世代数を1だけ減算した結果世代数が0になったコンテンツのリモート・アクセスによる送信を不可にする、
    請求項9に記載のコンテンツ受信装置。
  16. 前記コンテンツ移動制御部は、移動可能な世代数が不明なコンテンツのリモート・アクセスによる送信を不可にする、
    請求項9に記載のコンテンツ受信装置。
  17. 前記コンテンツ移動制御部は、移動可能な世代数を1だけ減算する際にそのコンテンツが移動済みであることを対応付けて記憶し、移動済みのコンテンツのリモート・アクセスによる送信を不可にする、
    請求項9に記載のコンテンツ受信装置。
  18. 前記コンテンツ移動制御部は、リモート・アクセスによりコンテンツの移動を行なうときには、移動用の共有鍵から計算した暗号鍵に代えて、リモート・アクセスによるコンテンツ移動の処理専用の計算方法で得た暗号鍵を用いて、前記コンテンツ送信装置から受信した暗号化コンテンツを復号する、
    請求項4に記載のコンテンツ受信装置。
  19. ユーザーによる操作情報を入力する入力部と、
    前記コンテンツ取得部で取得し又は前記コンテンツ記録部に記録されたコンテンツを再生出力するコンテンツ再生出力部と、
    をさらに備える、請求項1に記載のコンテンツ受信装置。
  20. コンテンツ受信装置が備えるコンテンツ取得部が、移動に関する制御情報付きのコンテンツをコンテンツ送信装置から取得するコンテンツ取得ステップと、
    前記コンテンツ受信装置が備えるコンテンツ記録部が、前記コンテンツ送信装置から取得したコンテンツを前記コンテンツ記録部に記録するコンテンツ記録ステップと、
    前記コンテンツ受信装置が備えるコンテンツ移動制御部が、前記コンテンツ記録部に記録されているコンテンツの移動を制御するコンテンツ移動制御ステップと、
    を有し、
    前記移動制御ステップでは、ホーム・ネットワーク内でのコンテンツの移動を制限しないが、リモート・アクセスによるコンテンツの移動をコンテンツに付けられた前記移動に関する制御情報に従って制御する、
    コンテンツ受信方法。
  21. 移動に関する制御情報付きのコンテンツをコンテンツ送信装置から取得するコンテンツ取得部、
    前記コンテンツ送信装置から取得したコンテンツを記録するコンテンツ記録部、
    前記コンテンツ記録部に記録されているコンテンツの移動を制御するコンテンツ移動制御部、
    としてコンピューターを機能させるようにコンピューター可読形式で記述され
    前記移動制御部は、ホーム・ネットワーク内でのコンテンツの移動を制限しないが、リモート・アクセスによるコンテンツの移動をコンテンツに付けられた前記移動に関する制御情報に従って制御する、
    コンピューター・プログラム。
JP2013142371A 2013-07-08 2013-07-08 コンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラム Expired - Fee Related JP6221428B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013142371A JP6221428B2 (ja) 2013-07-08 2013-07-08 コンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013142371A JP6221428B2 (ja) 2013-07-08 2013-07-08 コンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラム

Publications (2)

Publication Number Publication Date
JP2015014978A JP2015014978A (ja) 2015-01-22
JP6221428B2 true JP6221428B2 (ja) 2017-11-01

Family

ID=52436659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013142371A Expired - Fee Related JP6221428B2 (ja) 2013-07-08 2013-07-08 コンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラム

Country Status (1)

Country Link
JP (1) JP6221428B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7316402B2 (ja) * 2018-11-30 2023-07-27 株式会社東芝 映像コンテンツ処理装置、および映像コンテンツ処理装置におけるコンテンツ処理方法
JP7027298B2 (ja) * 2018-11-30 2022-03-01 株式会社東芝 映像コンテンツ処理装置、および映像コンテンツ処理装置におけるコンテンツ処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000052581A (ja) * 1998-08-04 2000-02-22 Alps Electric Co Ltd 熱転写プリンタ
JP4747160B2 (ja) * 2000-12-13 2011-08-17 日立コンシューマエレクトロニクス株式会社 ディジタル情報再生装置、ディジタル情報再生方法、ディジタル情報生成方法
CA2546670C (en) * 2003-12-01 2012-03-13 Samsung Electronics Co., Ltd. Home network system and method therefor
CN101164072B (zh) * 2005-04-21 2010-04-07 松下电器产业株式会社 内容管理系统、方法、内容管理用的存储装置及集成电路
KR100654463B1 (ko) * 2005-08-24 2006-12-06 삼성전자주식회사 저작 컨텐츠의 외부 네트워크로의 전송을 방지하는 접속장치 및 방법
JP2010061252A (ja) * 2008-09-02 2010-03-18 Panasonic Corp サーバ、クライアント、ライセンス管理システムおよびライセンス管理方法
JP2010176427A (ja) * 2009-01-29 2010-08-12 Toshiba Corp データ通信装置及びデータ通信方法
JP5266396B2 (ja) * 2009-10-30 2013-08-21 パナソニック株式会社 Avデータ受信装置、avデータ受信方法及びavデータ送受信システム

Also Published As

Publication number Publication date
JP2015014978A (ja) 2015-01-22

Similar Documents

Publication Publication Date Title
US9648022B2 (en) Digital rights domain management for secure content distribution in a local network
EP2625622B1 (en) Apparatus and methods for enforcing content protection rules during data transfer between devices
JP5129886B2 (ja) 少なくとも1つのコンテンツ・プレキーを用いるコンテンツ暗号化
US8225411B2 (en) Contents management system, and contents management device
JP2008312190A (ja) A/vプロファイルを管理する方法、装置およびシステム
KR20100133490A (ko) 미디어 콘텐츠의 dvr로부터 포터블 디바이스로의 통신
JP2015103890A (ja) コンテンツ受信装置及びコンテンツ受信方法、並びにコンテンツ送信装置及びコンテンツ送信方法
US20100217976A1 (en) Method and apparatus for importing content
JP6604395B2 (ja) 通信方法
JP5059031B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2008130090A (ja) Drmが適用されたコンテンツの共有方法
JP6221428B2 (ja) コンテンツ受信装置及びコンテンツ受信方法、並びにコンピューター・プログラム
JP2009157848A (ja) データ送信装置、データ受信装置及びデータ送受信システム
JP2008262640A (ja) 記録再生装置、及びavデータコピー方法
JP6221429B2 (ja) コンテンツ伝送システム
WO2015004978A1 (ja) コンテンツ送信装置及びコンテンツ送信方法、並びにコンピューター・プログラム
JP2007323617A (ja) 通信システム、通信機器、通信方法、及びプログラム
JP6471820B2 (ja) コンテンツ・リモート・アクセスシステム
JP6332280B2 (ja) コンテンツ送信装置及びコンテンツ送信方法、並びにコンピューター・プログラム
JP6269755B2 (ja) コンピューター・プログラム配信システム並びにコンテンツ・リモート・アクセス利用装置
JP2008016095A (ja) 通信システム、復号再生装置、記録装置、通信プログラム及び記録媒体
KR101676017B1 (ko) 컨텐트를 임포트하는 방법 및 장치
JP6269754B2 (ja) コンピューター・プログラム配信システム並びにコンテンツ・リモート・アクセス制御装置
JP6187139B2 (ja) コンテンツ伝送システム
JP5962549B2 (ja) 通信装置及び通信方法、コンピューター・プログラム、並びに通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170324

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170918

R151 Written notification of patent or utility model registration

Ref document number: 6221428

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees