(54)【発明の名称】コンテンツ送信装置及びコンテンツ送信方法、コンテンツ受信装置及びコンテンツ受信方法、コンピューター・プログラム、並びにコンテンツ伝送システム
【文献】
Hitachi, Ltd., et al.,Digital Transmission Content Protection Specification Volume 1 [Informational Version],Dihital Transmission Licensing Administrator [オンライン],2013年 6月 5日,Recision 1.7 ED2,p.30,[検索日 平成30年 5月24日]、インターネット,URL,<http://www.dtcp.com/documents/dtcp/info-20130605-dtcp-v1-rev-1-7-ed2.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
前記認証・鍵共有部は、前記所定のセキュリティー強度を有したコンテンツ受信装置には第1のコンテンツを扱うことができる第1の共有鍵を引き渡し、前記所定のセキュリティー強度を有していないコンテンツ受信装置には第1のコンテンツを扱うことができない第2の共有鍵を引き渡し、
前記コンテンツ提供部は、前記第1の共有鍵から生成した暗号鍵で第1のコンテンツを暗号化伝送するが、前記第2の共有鍵から生成した暗号鍵では第1のコンテンツを暗号化伝送しない、
請求項1に記載のコンテンツ送信装置。
【発明を実施するための形態】
【0034】
高価値コンテンツの伝送時などにおいて、セキュリティー強化の目的で、利用する暗号方式を新しくしたいという要求がある。例えば、楕円暗号技術ECC(Elliptic Curve Cryptography)の鍵長を長くすることが挙げられる。
【0035】
しかしながら、コンテンツを扱う装置が暗号アルゴリズムの新しい方式に対応する際には、さまざまな問題が発生する。例えば、新たな方式の処理を行なうハードウェアやソフトウェアを実装し、その動作検証をするには、少なからず時間とコストがかかる。
【0036】
また、新しい暗号方式として鍵長を変える場合には、既存の装置に新しい鍵を埋め込むなどシステムの改修も必要になる可能性が高い。また、よりセキュアな暗号方式に変更する場合、一般的に、より高い処理能力が必要になるため、装置にはその負担も発生する。また、装置の一部だけが新しい暗号方式に対応してセキュリティーを強化しても、その他の部分が脆弱であれば、装置全体としてセキュリティーを確保できない。すなわち、各部が同レベルのセキュリティー強度を持つようにしなければならない。
【0037】
さらに、システムを新たな暗号アルゴリズムに切り替えると、従来のシステムとは互換性が失われることも考えられる。
【0038】
これに対し、本明細書で開示する技術では、より安全なシステムへの移行を段階的に行なえるようにして、負担の軽減を図るものである。具体的には、所定のセキュリティー強化策を施した移行段階の装置に対して、一定のシステム移行期間だけは高価値コンテンツを扱えるようにすることで、移行に要する時間的な問題を回避し、より安全なシステムへの移行を円滑に行なえるようにしている。ここで言う所定のセキュリティー強化策を施した装置とは、例えば、従来の暗号アルゴリズムにしか対応していないが、暗号方式以外のより脆弱な部分の安全性については確保できている装置である。
【0039】
本明細書で開示する技術は、例えば、ディジタル・コンテンツの伝送保護に関する業界標準的な技術であるDTCP(Digital Transmission Content Protection)を適用したコンテンツ伝送に適用することができる。
【0040】
ここで、DTCPは、コンテンツ伝送時における機器間の認証プロトコルと、暗号化コンテンツの伝送プロトコルについて取り決めている。その規定は、DTCP準拠機器は取り扱いが容易な圧縮コンテンツを非暗号の状態で機器外に送出しないことと、暗号化コンテンツを復号するために必要となる鍵交換を所定の相互認証及び鍵交換(Authentication and Key Exchange:AKE)アルゴリズムに従って行なうこと、並びにAKEコマンドにより鍵交換を行なう機器の範囲を制限すること、などを含む。DTCPは、原初的には、IEEE1394などを伝送路に用いたホーム・ネットワーク上におけるコンテンツ伝送について規定したものであるが、最近では、DTCP技術をIPネットワークに移植したDTCP−IP(DTCP mapping to IP)によるリモート・アクセス機能を盛り込んだDTCP+の開発も進められている。
【0041】
以下では、主にDTCP並びにDTCP−IPを採用するコンテンツ伝送システムに本明細書で開示する技術を適用した実施形態について、図面を参照しながら詳細に説明する。なお、DTCP仕様は、DTCP Specification Volume1 Revision1.7に従い、DTCP−IP仕様は、DTCP−IP Volume 1 Supplement E Revision 1.4に従うものとする。
【0042】
A.システム構成
図1には、本明細書で開示する技術を適用したコンテンツ伝送システム100の構成例を模式的に示している。図示のコンテンツ伝送システム100は、家庭内に敷設されたホーム・ネットワーク110上に接続されたサーバー101と、端末102、端末103で構成される。同図では、簡素化のため、1台のサーバーと2台の端末しか描いていないが、2台以上のサーバー、並びに3台以上の端末がホーム・ネットワーク上に設置されることも想定される。
【0043】
サーバー101は、端末102、103にコンテンツを提供する装置である。サーバー101は、例えば、セットトップボックスやレコーダー、テレビジョン受信機、パーソナル・コンピューター、ネットワーク・アクセス・サーバー(NAS)などである。サーバー101は、例えば、地上ディジタル放送で受信又は録画した放送コンテンツや、ブルーレイ・ディスクなどの記録媒体(図示しない)から読み込んだ映画などの商用コンテンツ、さらにはインターネット上のコンテンツ・サーバー(図示しない)からダウンロードしたコンテンツを端末102、103に提供する。端末102、103は、ホーム・ネットワーク110越しに、サーバー101にコンテンツを要求する装置であり、携帯電話やスマートフォン、タブレットなどの多機能携帯端末などに相当する。また、端末102は、サーバー101からダウンロードしたコンテンツを蓄積し、さらに端末103に提供することもある。コンテンツを提供する形態として、ストリーミングやコンテンツの移動(MOVE)が挙げられる。
【0044】
本実施形態では、サーバー101と端末102など、異種の機器は、例えばDLNA(Digital Living Network Alliance)に規定されるプロトコルに従って、ホーム・ネットワーク110を介して相互接続される。また、サーバー101と端末102間の相互接続時の通信手順は、例えばUPnP(Universal Plug andPlay)に従うものとし、例えば機器発見(discovery)などの処理が行なわれる。また、本実施形態では、相互接続されたサーバー101と端末102又は103間で、圧縮コンテンツを伝送する際には、例えばDTCPに従った暗号化処理を利用して、不正利用できないようにする。すなわち、コンテンツを利用したい端末102は、所定の相互認証及び鍵交換(Authentication and Key Exchange:AKE)アルゴリズムに従って、サーバー101と相互認証するとともに共有鍵(後述)を共有した後に、サーバー101内に蓄積されたコンテンツのダウンロードを要求することができる。サーバー101は、要求されたコンテンツを、共有鍵から生成した暗号鍵を用いて暗号化伝送する。コンテンツを提供するサーバー101はDTCPのSourceデバイスに相当し、コンテンツを利用する端末102はDTCPのSinkデバイスに相当する。端末102から端末103へコンテンツをダウンロードする場合も同様に、AKEアルゴリズムに従って相互認証及び共有鍵の共有を行なった後、コンテンツを暗号化伝送する。この場合は、端末102がDTCPのSourceデバイス、端末103がDTCPのSinkデバイスとなる。なお、端末102、103が外出先などホーム・ネットワーク110の外からサーバー101にアクセス(リモート・アクセス)したいときには、ホーム・ネットワーク110内で端末102、103をサーバー101に事前に登録しておく必要がある(後述)。
【0045】
また、
図2には、本明細書で開示する技術を適用したコンテンツ伝送システム200の他の構成例を模式的に示している。図示のコンテンツ伝送システム200は、家庭内に敷設されたホーム・ネットワーク210上に接続されたサーバー201並びに端末202と、インターネットなどの外部ネットワーク220上に接続された端末203で構成される。ホーム・ネットワーク210と外部ネットワーク220は、IP(Internet Protocol)プロトコルに従い、ルーター230経由で相互接続されている。同図では、簡素化のため、ホーム・ネットワーク210上にサーバーと端末をそれぞれ1台ずつしか描いていないが、2台以上のサーバーが設置されることや、ホーム・ネットワーク210上にも端末が接続され、さらに外部ネットワーク220上に2台以上の端末が接続されることも想定される。
【0046】
サーバー201は、セットトップボックスやレコーダー、テレビジョン受信機、パーソナル・コンピューター、ネットワーク・アクセス・サーバー(NAS)などである。サーバー201は、放送コンテンツや商用コンテンツなど、外部ネットワーク220からリモート・アクセスする端末202に提供する。コンテンツを提供する形態として、ストリーミングやコンテンツの移動(MOVE)が挙げられる。端末202は、携帯電話やスマートフォン、タブレットなどの多機能携帯端末などであり、ホーム・ネットワーク210及び外部ネットワーク220からなるIPネットワーク越しに、サーバー201にコンテンツを要求する。
【0047】
本実施形態では、サーバー201と端末202、203など、異種の機器は、例えばDLNAに規定されるプロトコルに従って、ホーム・ネットワーク210及び外部ネットワーク220を介して相互接続される。また、サーバー201と端末202間の相互接続時の通信手順は、例えばUPnPに従うものとし、例えば機器発見(discovery)などの処理が行なわれる。また、本実施形態では、ホーム・ネットワーク210及び外部ネットワーク220を介して相互接続されたサーバー201と端末203間、並びに、端末202と端末203間で、圧縮コンテンツを伝送する際には、例えばDTCP−IPに従った暗号化処理を利用して、不正利用できないようにする。すなわち、端末203は、ホーム・ネットワーク210及び外部ネットワーク220からなるIPネットワーク越しに、サーバー201又は端末202と相互認証するとともにリモート・アクセス用の共有鍵(後述)を共有した後に、サーバー201又は端末202内に蓄積されたコンテンツを要求する。サーバー201又は端末202は、端末203から要求されたコンテンツを、リモート・アクセス用の共有鍵から生成した暗号鍵を用いて暗号化伝送する。また、端末203は、ホーム・ネットワーク210内でサーバー201又は端末202に事前に登録しておく必要がある(後述)。コンテンツを提供するサーバー201又は端末202はDTCPのSourceデバイスに相当し、コンテンツを利用する端末203はDTCPのSinkデバイスに相当する。
【0048】
図3には、DTCPのSourceデバイスとして動作するコンテンツ送信装置300の機能的構成を模式的に示している。例えば、
図1に示したコンテンツ伝送システム100において、端末102にコンテンツをダウンロードするサーバー101や、端末103にコンテンツをダウンロードする端末102、
図2に示したコンテンツ伝送システムにおいて、端末102、103にコンテンツをダウンロードするサーバー201や、端末103にコンテンツをダウンロードする端末102などが図示のSourceデバイスに相当する。
【0049】
通信・制御部301は、ホーム・ネットワーク並びに外部ネットワークを介した通信動作を制御するとともに、当該コンテンツ送信装置300全体の動作を統括的に制御する。本実施形態では、通信・制御部301は、DLNAに規定されるプロトコルに従って、端末などの異種の機器とホーム・ネットワーク並びに外部ネットワークを介して相互接続する。また、相互接続時の通信手順は例えばUPnPに従うものとし、通信・制御部301は、例えばデバイスに対する機器発見(discovery)などの処理を実行する。また、通信・制御部301は、HDMI(登録商標)(High Definition Multimedia Interface)やMHL(登録商標)(Mobile High‐Definition Link)、USB(Universal Serial Bus)などの外部機器接続用(若しくは、コンテンツのディジタル出力用)のインターフェースを備えており、ハード・ディスク装置やブルーレイ・ディスク装置などの録画再生機器を外付け接続することができる。
【0050】
コンテンツ記録部302は、ホーム・ネットワーク並びに外部ネットワーク越しで端末に提供するコンテンツを記録している。コンテンツ記録部302は、例えばハード・ディスクやブルーレイ・ディスク、DVD(Digital Versatile Disc)のような、コンテンツを記録する記録媒体を備え、例えばFAT(File Allocation Table)のような一般的なファイル・システムの管理下で記録した各コンテンツを管理している。
【0051】
コンテンツ取得部303は、端末に提供するコンテンツを取得する。コンテンツ取得部303は、例えば地上ディジタル放送用チューナーなどからなり、放送コンテンツを取得する。この場合のコンテンツ取得部303は、例えばARIB(Association of Radio Industries andBusinesses:電波産業会)で規定される仕様に基づく。コンテンツ取得部303は、例えば、放送チャンネルの全セグメント又は一部のセグメントの受信機能、EPG(Electronic Program Guide)の機能(番組検索、番組情報の表示、番組予約)、HDCP(High−bandwidth Digital Content Protection)仕様などに基づくコピー制御機能、放送コンテンツを限定受信したり受信した放送コンテンツを外部出力する際に暗号化したりするコンテンツ保護機能などを備えている。
【0052】
また、コンテンツ取得部303は、通信・制御部301に接続されたブルーレイ・ディスクなどのメディア再生装置(図示しない)から映画などの商用コンテンツをメディアから読み取る。また、コンテンツ取得部303は、ブラウザーなどからなり、インターネット上のコンテンツ・サーバー(図示しない)から有償又は無償のコンテンツをダウンロードする。
【0053】
コンテンツ取得部303は、取得したコンテンツを、必要に応じて上記のコンテンツ記録部302内に記録してもよい。また、コンテンツ取得部303は、Sinkデバイスに提供するコンテンツをコンテンツ記録部302から取得することもある。
【0054】
コンテンツ取得部303が取得したコンテンツ(放送コンテンツや商用コンテンツ)の中には、高品質なディジタル・データからなる高価値コンテンツもある。高価値コンテンツの提供業者などは、よりセキュリティー・レベルの高い取り扱いを要求する場合もある。
【0055】
コンテンツ提供部304は、Sinkデバイスとして動作するコンテンツ受信装置(後述)からの要求に応答して、コンテンツ取得部303が取得したコンテンツを提供する。コンテンツ提供部304は、例えばHTTP(Hypet Text Transfer Protocol)プロトコルやRTP(real Time Protocol)を利用して、通信・制御部301を通じてSinkデバイスへコンテンツを伝送する。コンテンツ提供部304は圧縮機能を備えるか、又は、
図3には図示しないコンテンツ圧縮処理部を備えるものとする。また、本実施形態では、伝送コンテンツの安全すなわち不正利用を防ぐために、DTCP規格が適用される。すなわち、コンテンツ提供部304は、圧縮コンテンツを、認証・鍵共有部306によりSinkデバイスと共有した共有鍵から生成した暗号鍵を用いて、コンテンツを暗号化伝送する(後述)。但し、Sinkデバイスが外部ネットワーク上からのリモート・アクセスによりコンテンツを要求する場合、そのSinkデバイスは端末管理部307に事前登録されたものでなければならない(後述)。
【0056】
コンテンツ・リスト提供部305は、Sinkデバイスとして動作するコンテンツ受信装置(後述)からの要求に応答して、提供可能なコンテンツのリストと詳細情報を提供する。上述からも分かるように、サーバー101、201が端末に提供可能なコンテンツは、コンテンツ取得部303が受信する放送コンテンツやメディアから読み出す商用コンテンツ、コンテンツ記録部302に既に記録されているコンテンツが挙げられる。コンテンツ・リストの提供には、例えば、DLNAのベースとなるUPnP(Universal Plug andPlay)で策定されている、コンテンツのリストとコンテンツの詳細情報を階層化して配信するCDS(Content Directory Service)機能が適用され、例えばSinkデバイスからのCDS:Browseアクションに対してCDS情報を生成してCDS Resultとして返す。
【0057】
認証・鍵共有部306は、コンテンツの要求元となるSinkデバイスとの間で、DTCP−IPが規定する認証及び鍵交換(AKE)アルゴリズムに従って、相互認証を行なうとともに、コンテンツの暗号鍵K
cを生成するための共有鍵K
Xの引き渡しを行なう。また、認証・鍵共有部306は、外部ネットワークからリモート・アクセスによりコンテンツを要求してくるSinkデバイスに対しては、リモート・アクセス用の共有鍵K
Rを共有し、コンテンツの移動を要求してくるSinkデバイスに対しては移動(Move)用の共有鍵K
XMを共有する。
【0058】
上述したように、コンテンツ(放送コンテンツや商用コンテンツ)の中には、高品質なディジタル・データからなる高価値コンテンツもある。高価値コンテンツの提供業者などは、よりセキュリティー・レベルの高い取り扱いを要求する場合もある。本実施形態では、認証・鍵共有部306は、セキュリティー強化策を施していない従来のSinkデバイスに渡す共有鍵K
X2と、所定のセキュリティー強化策を施したSinkデバイスに渡す共用鍵K
X1とを違うものとしている。後者の共有鍵K
X1は、所定のセキュリティー強化策を施したデバイス間でしか共有されないので、これを用いて高価値コンテンツを扱えるようになる(何故なら、従来のデバイスは共有鍵K
X2しか持たないので、共用鍵K
X1を基に暗号化された高価値コンテンツを復号できないからである)。付言すれば、認証・鍵共有部306は、新しい(鍵長を長くした)暗号方式に対応した(すなわち、完全移行した)Sinkデバイスに対しては、従来の鍵長の暗号鍵を生成する共有鍵K
xに代えて、鍵長の長い暗号鍵を生成するための共有鍵K
X_NEWを引き渡すようにしてもよい。但し、共有鍵の引き渡し処理の詳細については後述に譲る。
【0059】
ここで、所定のセキュリティー強化策を施したデバイスとは、例えば、従来の暗号アルゴリズムにしか対応していないが、暗号方式以外のより脆弱な部分の安全性については確保できているデバイスであり、システムが新しい暗号方式に置き換わる際の移行段階のデバイスとして位置付けられる。移行段階のデバイス間では、従来の暗号方式がそのまま適用されるが、専用の共有鍵K
X1とすることで、高価値コンテンツを扱えるようにした。なお、高価値コンテンツを扱うための共有鍵を別途用いるという処理は、前記リモート・アクセス、及び、コンテンツの移動(Move)の際にも、専用の共用鍵K
R1、およびK
XM1を用いて同様に行なうことができる。
【0060】
端末管理部307は、コンテンツを要求するSinkデバイスの情報を管理する。現在のDTCP−IP仕様では、第三者によるコンテンツの利用を制限することを意図して、家庭内のサーバーへのリモート・アクセスを、そのサーバーに登録したSinkデバイスだけに限定している。端末管理部307に事前登録されたSinkデバイスのみ、リモート・アクセスによるコンテンツの要求が許可されるものとする。端末管理部307は、外部ネットワークからリモート・アクセスによりコンテンツを利用するSinkデバイスに対して事前登録の処理を行なうとともに、そのSinkデバイスの情報を「remote sink registry」や「RAC(Remote Access Connection) registry」として管理する。但し、事前登録は本明細書で開示する技術とは直接関連しないので、詳細な説明は省略する。
【0061】
コンテンツ再生出力部308は、コンテンツ記録部302に記録されているコンテンツを復号して、再生出力する。
【0062】
なお、上記の機能ブロック303〜307は、通信・制御部301において、オペレーティング・システムやTCP/IPプロトコルの上位で実行するアプリケーション・プログラムとして実現することもできる。また、この種のアプリケーション・プログラムは、インターネットなどの広域ネットワーク上で所定のダウンロード・サイトで配信することができ、ディジタル放送チューナーやTV受像機などのCE(Consumer Electronics)機器、スマートフォンなどの多機能端末にダウンロードして利用に供される。
【0063】
このようなダウンロード・サイトは、例えば、コンピューター・プログラムを記憶する記憶装置2211と、コンピューター・プログラムのダウンロード要求を受信したことに応じてそのダウンロードを認める通信装置2212とを備えたサーバー2210からなり(
図22を参照のこと)、ダウンロードしたコンピューター・プログラムをインストールするクライアント装置(DTCPのSourceデバイス又はDTCPのSinkデバイス)と併せてコンピューター・プログラム配信システム2200を構成する。この種のサーバーは、クライアントからのコンピューター・プログラムのダウンロード要求に対して、コンピューター・プログラムの名称を示す情報を通知する情報通知装置2213をさらに備えている。情報通知装置2213は、コンピューター・プログラムの名称とともに、例えば、家庭内に記録した商用コンテンツを遠隔地の端末に提供するアプリケーションであることを示す情報を通知する。
【0064】
図4には、DTCPのSinkデバイスとして動作するコンテンツ受信装置400の機能的構成を模式的に示している。例えば、
図1に示したコンテンツ伝送システム100において、サーバー101にコンテンツを要求する端末102や、サーバー101若しくは端末102にコンテンツを要求する端末103、並びに、
図2に示したコンテンツ伝送システム200において、サーバー201にコンテンツを要求する端末202や、サーバー201若しくは端末202にコンテンツを要求する端末203などが図示のSinkデバイスに相当する。
【0065】
通信・制御部401は、ホーム・ネットワーク並びに外部ネットワークを介した通信動作を制御するとともに、当該コンテンツ受信装置400全体の動作を統括的に制御する。本実施形態では、通信・制御部401は、DLNAに規定されるプロトコルに従って、端末などの異種の機器とホーム・ネットワーク並びに外部ネットワークを介して相互接続する。また、相互接続時の通信手順は例えばUPnPに従うものとし、通信・制御部401は、例えばコントロール・ポイントからの機器発見(discovery)に対する応答処理を実行する。
【0066】
コンテンツ・リスト閲覧部402は、Sourceデバイスとして動作するコンテンツ送信装置300(前述)に対して、コンテンツ・リストの取得要求を行ない、取得したコンテンツ・リストの閲覧画面を表示する。コンテンツ・リストの閲覧には、例えば、DLNAのベースとなるUPnPで策定されているCDS機能が適用され(前述)、例えばSourceデバイスに対してCDS:Browseアクションを発行する。また、Sourceデバイスが提供可能なコンテンツのリストを記述したCDS情報を例えばCDS Resultとして受け取ると、コンテンツ・リスト閲覧部402は、コンテンツ一覧画面を表示する。ユーザーは、この一覧画面上で再生出力したいコンテンツを、ユーザーが入力部407などを介して選択することができる。入力部407は、パーソナル・コンピューターにおけるキーボード並びにマウス、スマートフォンなどの多機能端末におけるタッチパネル、リモコンにおける十字キー並び決定ボタンなどに相当する。
【0067】
コンテンツ取得部403は、コンテンツの取得要求をSourceデバイスに送信して、Sourceデバイス内のコンテンツを取得する。コンテンツ取得部403は、例えば、コンテンツ・リスト閲覧部402が表示するコンテンツ一覧画面の中で、上記のようにユーザーが選択したコンテンツの取得を要求する。コンテンツ取得部403は、Sourceデバイスに対するコンテンツの取得要求並びにコンテンツの取得には、例えばHTTPやRTPなどのプロトコルを利用する(同上)。
【0068】
コンテンツ取得部403がSourceデバイスから取得したコンテンツは、後述する認証・鍵共有部406によりSourceデバイスとの間で共有した共有鍵から生成した暗号鍵を用いて暗号化されている(後述)。コンテンツ復号部404は、Sourceデバイスから取得した暗号化コンテンツを、共有鍵から生成した暗号鍵を用いて復号化することができる。そして、コンテンツ再生出力部405は、復号したコンテンツを再生出力する。
【0069】
コンテンツ記録部408は、コンテンツ取得部403がダウンロード(コピー又は移動)の形式で取得したコンテンツを記録する。記録するコンテンツには記録用の暗号化処理が別途施されることもある。コンテンツ記録部302は、例えばハード・ディスクやブルーレイ、DVDのような、コンテンツを記録する記録媒体を備え、例えばFATのような一般的なファイル・システムの管理下で記録した各コンテンツを管理している。
【0070】
認証・鍵共有部406は、コンテンツの要求先となるSourceデバイスとの間で、DTCP−IPが規定する認証及び鍵交換(AKE)アルゴリズムに従って、相互認証を行なうとともに、コンテンツの暗号鍵K
cを生成するための共有鍵K
Xを受け取る。認証・鍵共有部406は、外部ネットワークからリモート・アクセスによりコンテンツを要求するSourceデバイスとの間では、リモート・アクセス用共有鍵K
Rを共有する。また、コンテンツの移動を要求する際には、認証・鍵共有部406は、Sourceデバイスとの間でさらに移動(Move)用の共有鍵K
XMを共有する。また、認証・鍵共有部406は、ホーム・ネットワーク210接続時において、Sourceデバイスに対してリモート・アクセスのための事前登録を行なうものとする(前述)。
【0071】
上述したように、コンテンツ(放送コンテンツや商用コンテンツ)の中には、高品質なディジタル・データからなる高価値コンテンツもある。高価値コンテンツの提供業者などは、よりセキュリティー・レベルの高い取り扱いを要求する場合もある。本実施形態では、認証・鍵共有部406は、共有鍵の受け取りに際して、当該コンテンツ受信装置400にセキュリティー強化策が施されているか否かを、Sourceデバイスに通知する。そして、認証・鍵共有部406は、セキュリティー強化策が施されていない場合には共有鍵K
X2を、セキュリティー強化策が施されている場合には共有鍵共有鍵K
X1を受け取ることになる。後者の共有鍵K
X1は、所定のセキュリティー強化策を施した移行段階のデバイス間でしか共有されないので、これを用いてSourceデバイスから高価値コンテンツを受信し復号することができる(前述)。付言すれば、当該コンテンツ受信装置400が新しい(鍵長を長くした)暗号方式に対応している(すなわち、完全移行した)Sinkデバイスである場合には、従来の鍵長の暗号鍵を生成する共有鍵に代えて、鍵長の長い暗号鍵を生成するための共有鍵K
X_NEWを受け取ることもある。但し、共有鍵の引き渡し処理の詳細については後述に譲る。
【0072】
上記の機能ブロック402〜406は、通信・制御部401において、オペレーティング・システムやTCP/IPプロトコルの上位で実行するアプリケーション・プログラムとして実現することもできる。この種のアプリケーション・プログラムは、インターネットなどの広域ネットワーク上で所定のダウンロード・サイトで配信することができ、スマートフォンなど、ホーム・サーバー内のコンテンツを再生する多機能端末にダウンロードして利用に供される。
【0073】
このようなダウンロード・サイトは、例えば、コンピューター・プログラムを記憶する記憶装置2211と、コンピューター・プログラムのダウンロード要求を受信したことに応じてそのダウンロードを認める通信装置2212とを備えたサーバー2210からなり(
図22を参照のこと)、ダウンロードしたコンピューター・プログラムをインストールするクライアント装置(DTCPのSourceデバイス又はDTCPのSinkデバイス)と併せてコンピューター・プログラム配信システム2200を構成する。この種のサーバーは、クライアントからのコンピューター・プログラムのダウンロード要求に対して、コンピューター・プログラムの名称を示す情報を通知する情報通知装置2213をさらに備えている。情報通知装置2213は、コンピューター・プログラムの名称とともに、例えば、家庭内に記録した商用コンテンツを遠隔地で閲覧することが認められるアプリケーションであることを示す情報を通知する。
【0074】
B.システムにおける通信動作
続いて、DTCP仕様並びにDTCP−IP仕様に従ってSourceデバイスとSinkデバイスとの間で行なわれる通信動作について説明する。
【0075】
ここで言う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である。
【0076】
図5には、SourceデバイスとSinkデバイス間でコンテンツ伝送を行なう際の全体的な手順を模式的に示している。図示のコンテンツ移動手順は、Sinkデバイスが移動を要求するコンテンツを指定するコンテンツ・リスト閲覧フェーズ(SEQ501)と、SourceデバイスとSinkデバイス間で相互認証及び鍵交換手順を実施して共有鍵K
Xを共有するAKE手続きフェーズ(SEQ502)と、コンテンツ・リスト閲覧フェーズで指定されたコンテンツを、共有鍵K
Xをから生成した暗号鍵K
C用いて暗号化伝送するコンテンツ伝送フェーズ(SEQ503)からなる。
【0077】
図6には、コンテンツ・リスト閲覧フェーズ(SEQ501)の中身を模式的に示している。この処理手順は、主にSourceデバイス側のコンテンツ・リスト提供部305とSinkデバイス側のコンテンツ・リスト閲覧部402の間で実施される。
【0078】
Sinkデバイスからは、コンテンツ・リスト閲覧部402から、コンテンツ・リストの閲覧要求が発行される(SEQ601)。コンテンツ・リストの閲覧には、DLNAのベースとなるUPnPで策定されている、コンテンツのリストとコンテンツの詳細情報を階層化して配信するCDS機能が適用される(前述)。したがって、SEQ601では、SinkデバイスからCDS:Browseアクションが発行される。
【0079】
Sourceデバイス側では、CDS:Browseアクションに対して、コンテンツ・リスト提供部305は、コンテンツ提供部304で提供可能なるコンテンツに関する取得可能なすべてのコンテンツ情報を取得して(SEQ602)、十分な情報量のCDS情報を生成する(SEQ603)。そして、Sourceデバイスは、Sinkデバイスに対してCDS Resultとして返す(SEQ604)。
【0080】
Sinkデバイス側では、コンテンツ・リスト閲覧部402が、受信したCDS Resultを解析して、コンテンツのタイトル並びにより詳細情報を含むコンテンツ情報を表示する(SEQ605)。そして、Sinkデバイスのユーザーは、表示されているコンテンツ・リストの中から、再生したいコンテンツを選択することができる。コンテンツが選択されると、SourceデバイスからSinkデバイスへのコンテンツの伝送が開始されるが、コンテンツ伝送に先駆けて、SinkデバイスとSourceデバイス間で、相互認証及び鍵交換すなわちAKE処理(SEQ502)が実施される。
【0081】
DTCP仕様では、AKE処理方式として、公開鍵暗号方式を利用した完全認証(Full Authentication)と、秘密鍵方式を利用した限定認証(Restricted Authentication)の2種類の方式が定められている。限定認証では、No More CopyとCopy one generationという2種類のコンテンツしか扱えないが、完全認証では、上記2種類のデータに加えてCopy Neverのコンテンツまで扱うことができる。
【0082】
図7には、DTCP仕様で規定されている、完全認証によるAKE手続きフェーズ(SEQ502)の中身を示している。但し、実線で描いた矢印は常時実施されるが、点線で描いた矢印は条件付きで実施される。この処理手順は、主にSourceデバイス側の認証・鍵共有部306とSinkデバイス側の認証・鍵共有部406の間で実施される。
【0083】
まず、Sinkデバイスは、AKEステータス・コマンドを送信して(SEQ701)、Sourceデバイスが完全認証に対応しているかなど、Sourceデバイスの状態の確認を試みる。これに対し、SourceデバイスはAKEステータスの返信する(SEQ702)。
【0084】
次いで、Sinkデバイスは、CHALLENGE subfunctionメッセージによりSourceデバイスに乱数を送信して(SEQ703)、SourceデバイスのAKE処理を初期化させる。CHALLENGE subfunctionメッセージには、Device Certificate(機器証明書)が含まれる。Device Certificateは、DTLAから各DTCP準拠デバイスに与えられる証明書である。Device Certificateのフォーマットを
図15に示す。Sourceデバイスは、SinkデバイスのDevice Certificateの整合性を検証して、レスポンスを返信する(SEQ704)。
【0085】
また、Sourceデバイスは、AKEステータス・コマンドを送信して(SEQ705)、Sinkデバイスの状態の確認を試み、SinkデバイスはAKEステータスの返信する(SEQ706)。そして、Sourceデバイスは、CHALLENGE subfunctionメッセージによりSinkデバイスに乱数を送信して(SEQ707)、SinkデバイスのAKE処理を初期化させる。これに対し、Sinkデバイスは、レスポンスを返信する(SEQ708)。
【0086】
次いで、Sourceデバイスは、直前に送られてきた乱数を相手デバイスに内蔵する算式によって演算して、その結果をRESPONSE subfunctionメッセージによりSinkデバイスへ送信する(SEQ709)。これに対し、Sinkデバイスはレスポンスを返す(SEQ710)。同様に、Sinkデバイスは、直前に送られてきた乱数を相手デバイスに内蔵する算式によって演算して、その結果をRESPONSE subfunctionメッセージによりSourceデバイスへ送信する(SEQ711)。これに対し、Sourceデバイスはレスポンスを返す(SEQ712)。そして、SinkデバイスとSourceデバイスはお互いに、受け取った値と自身に内蔵された算式に基づいて演算した結果と比較し、一致することで相手が互いに同一のプロトコルを有するデバイスであると認識することができる。
【0087】
次いで、Sourceデバイスは、コンテンツの暗号鍵の生成に用いる共有鍵K
Xを生成して、これをEXCHANGE_KEY subfunctionメッセージでSinkデバイスに送信する(SEQ713)。これに対し、Sinkデバイスはレスポンスを返す(SEQ714)。
【0088】
次いで、SinkデバイスとSourceデバイスの間で、SRM(System Renewability Message) subfunctionメッセージの送信とレスポンスの返信を交わして(SEQ715、716)、双方のシステムがより新しいバージョンであるかを確認する(SEQ715)。
【0089】
次いで、Sinkデバイスは、CONTENT_KEY_REQ subfunctionメッセージをSourceデバイスに送信して、暗号鍵を要求する(SEQ717)。これに対し、Sourceデバイスはレスポンスにより暗号鍵を返信する(SEQ718)。
【0090】
また、
図8には、DTCP−IP仕様で規定されている、リモート・アクセス時に行なうAKE(RA−AKE)手続きフェーズ(SEQ502)の中身を示している。DTCP−IP仕様では、第三者によるコンテンツの利用を制限することを意図して、リモート・アクセスをSourceデバイスに事前登録したSinkデバイスに限定している(前述)。図示のAKE処理は、Sinkデバイスが事前登録しているか否かをチェックする手続きを含んでいる。この処理手順は、主にSourceデバイス側の認証・鍵共有部306とSinkデバイス側の認証・鍵共有部406の間で実施される。
【0091】
Sinkデバイスは、リモート・アクセス用の共有鍵K
R(Remote Exchange Key)用のビットが設定された共有鍵フィールドを含んだCHALLENGEコマンドを送信して、Sourceデバイスに対してAKE処理を要求する(SEQ801)。そして、SourceデバイスとSinkデバイス間で、認証手続きのうちチャレンジ・レスポンス部分が実行される(SEQ802〜804)。但し、CHALLENGEコマンドの共有鍵K
R用のビットが設定されていないときには、SourceデバイスはRA−AKE手続きを中止し、RA−AKE以外のAKE手続きを引き続き行なうことができる。
【0092】
Sourceデバイスは、SinkデバイスからDevice ID又はIDuをSink−IDとして受け取ると(SEQ805)、そのSink−IDが自身の端末管理部307内で管理しているremote sink registry(前述)に登録されているかどうかをチェックする(SEQ806)。
【0093】
Sink−IDがremote sink registryにリストされていない場合には(SEQ806のNo)、Sourceデバイスは、SinkデバイスにAKE_CANCELコマンドを送信して(SEQ814)、RA−AKE手続きを中止する(SEQ815)。
【0094】
一方、Sink−IDがremote sink registryに既に登録されている場合には(SEQ806のYes)、Sourceデバイスは、このSink−IDに該当するRAC recordが既に存在するかどうかを判別するために、RAC registry(後述)内をチェックする(SEQ807)。
【0095】
Sink−IDに該当するRAC recordが存在する場合には(SEQ807のYes)、Sourceデバイスは、そのRAC recordに格納されているリモート・アクセス用共有鍵K
R及びその共有鍵ラベルK
R_labelを使うことに決定する。あるいは、Sourceデバイスは、リモート・アクセス用共有鍵K
Rを用いてコンテンツの伝送を行なっていないのであれば、RAC record内を参照し、格納されているK
R及びK
R_labelの値を更新するようにしてもよい(SEQ813)。
【0096】
Sink−IDはremote sink registryに登録済みであるが、該当するRAC recordが存在しない場合には(SEQ807のNo)、Sourceデバイスは、RAC recordをカウントするカウント値RACCがRACC
max未満であるかどうかをチェックする(SEQ808)。ここで、RACC
maxは、リモート・アクセス・コネクションをカウントするカウンターであり、リモート・アクセス・コネクションが存在しないときにゼロに初期化される。
【0097】
RACCがそのRACC
max未満でないときには(SEQ808のNo)、Sourceデバイスは、SinkデバイスにAKE_CANCELコマンドを送信して(SEQ814)、RA−AKE手続きを中止する(SEQ815)。
【0098】
RACCがRACC
max未満であれば(SEQ808のYes)、Sourceデバイスは、RACCの値を1だけインクリメントした後(SEQ809)、所定の演算規則に従って、リモート・アクセス用共有鍵K
R及びその共有鍵ラベルK
R_labelを生成して(SEQ810)、これらをSinkデバイスのSink−IDと対応付けて、RAC registry内のRAC recordに格納する(SEQ811)。Sourceデバイスは、例えば端末管理部307内でRAC recordを管理する。
【0099】
そして、Sourceデバイスは、既存のRAC recordから取り出したリモート・アクセス用共有鍵K
R及びその共有鍵ラベルK
R_label(更新した場合を含む)、又は、新たに生成したリモート・アクセス用共有鍵K
R及びその共有鍵ラベルK
R_labelを、Sinkデバイスに送信する(SEQ816)。
【0100】
SourceデバイスがRA_MANAGEMENT機能をサポートしている場合には、リモート・アクセス用の共有鍵K
Rを維持するためのK
R用生存タイマーを開始させ、少なくとも1分間K
Rを保持する(SEQ812)。
【0101】
また、
図9には、DTCP−IP仕様で規定されている、コンテンツの移動を行なうためのAKE(MOVE RTT−AKE)手続きフェーズ(SEQ502)の中身を示している。この処理手順は、主にSourceデバイス側の認証・鍵共有部306とSinkデバイス側の認証・鍵共有部406の間で実施される。
【0102】
Sinkデバイスは、SourceデバイスにMV_INITIATEコマンドを送信することによって、移動用のAKE(MOVE RTT−AKE)手続きを開始する(SEQ901)。これに対し、Sourceデバイスは、DTCP−IPのMoveプロトコルを実行できるときには、その受領確認として、MV_INITIATEレスポンスを返信する(SEQ902)。
【0103】
また、Sinkデバイスは、能力情報の交換が必要な場合には、この時点で、SourceデバイスにCAPABILITY_EXCHANGEコマンドを送信する(SEQ903)。これに対し、Sourceデバイスは、CAPABILITY_EXCHANGEレスポンスを返信する(SEQ904)。
【0104】
続いて、SinkデバイスとSourceデバイスは、Challenge−Response portion of AKE手続き(SEQ905)を実施する。このChallenge−Response portion of AKE手続きは、SinkデバイスからのCHALLENGEのコマンド送信と、SourceデバイスからのRESPONSE又はRESPONSE2の送信に対するSinkデバイスからの応答送信までのシーケンス(図示しない)を含んでいる。このChallenge−Response portion of AKE手続きを経て、SourceデバイスとSinkデバイスは移動用の認証鍵(HK
AUTH)を共有する。
【0105】
続いて、Protected RTT Protocol手続きを実施する(SEQ906)。DTCP−IP仕様では、リモート・アクセスを制限するために、AKEコマンドに対する往復遅延時間(RTT:Round Trip Time)に制限を課している。Protected RTT Protocol手続きは、このRTTの制限を確認する手続きである(後述)。但し、Sinkデバイスが既にRTT registryに存在し、又は、SinkデバイスのDevice IDがリモート・アクセス用のRAC registry(前述)に既に存在する場合などは、Protected RTT Protocol手続きをスキップすることができる。
【0106】
その後、Sourceデバイスは、上述した移動用の認証鍵(HK
AUTH)から移動用の共有鍵K
XMを生成して、これをMV_EXCHANGE_KEYコマンドでSinkデバイスに送信する(SEQ907)。これに対し、Sinkデバイスは、MV_EXCHANGE_KEYレスポンスを返信する(SEQ908)。
【0107】
図10には、Protected RTT Protocol手続き(SEQ906)の中身を示している。
【0108】
Challenge−Response portion of AKE(SEQ1000)では、Sinkデバイスから、Rx乱数とRx証明書(Device Certificate)を含んだRxチャレンジが送信される。これに対し、Sourceデバイスからは、Tx乱数及びTx証明書(Device Certificate)を含んだTxチャレンジが返信される。以降、Sourceデバイスから、Rx乱数、Txメッセージ、Tx署名を含んだRxレスポンスが送信されるとともに、SinkデバイスからはTx乱数、Rxメッセージ、Rx署名を含んだTxレスポンスが送信され、通常のチャレンジ・レスポンス認証手続きが続く(図示を省略)。
【0109】
Challenge−Response portion of AKE(SEQ1000)が完了した後、SourceデバイスからコマンドRTT_READY.CMDが送信され(SEQ1001)、SinkデバイスからレスポンスRTT_READY.RSPが返信される(SEQ1002)。そして、SinkデバイスからコマンドRTT_READY.CMDが送信され(SEQ1003)、SourceデバイスからレスポンスRTT_READY.RSPが返信されると(SEQ1004)、Protected RTT Protocol手続きが開始する。その際、Sourceデバイス側では2種類のメッセージ認証コード(Message Authentication Code)MAC1A、MAC2Aを計算するとともに(SEQ1010)、Sinkデバイス側でも同様の計算方法により2種類のメッセージ認証コードMAC1B、MAC2Bを計算しておく(SEQ1030)。Sourceデバイスは、コマンドRTT_SETUP(N).CMDにより変数Nを送信する(SEQ1005)。これに対し、Sinkデバイスは、レスポンスとACCEPTED(N).RSPを返信する(SEQ1006)。Source、Sinkの各デバイスともに、ここで伝送される変数Nに対するメッセージ認証コードを用意する。
【0110】
そして、Sourceデバイスは、RTT測定用のコマンドであるRTT_TEST(MAC1A).CMDを送信し(SEQ1007)、Sinkデバイスは、これに対するレスポンスであるACCEPTED(MAC2B).RSPを返信する(SEQ1008)。
【0111】
Sourceデバイスは、RTT測定用のコマンドを送信してからレスポンスを受信するまでの往復遅延時間RTTが規定の閾値(7ミリ秒)以下であるか否か、すなわちRTTチェックを行なう(SEQ1011)。RTTが閾値を超えるときには(SEQ1011のNo)、Sourceデバイスは、試行回数が1023回を超えていないかどうかをさらにチェックする(SEQ1012)。試行回数が1023回を超えていないときには(SEQ1012のYes)、Sourceデバイスは、Nを1だけ増分してから、新たなNに対応するメッセージ認証コードを用意してRTT_SETUP(N)コマンドを送信し(SEQ1005)、Sinkデバイスも新たなNに対応するメッセージ認証コードを用意してACCEPTED(N)レスポンスを送信し、SourceデバイスとSinkデバイス間でRTT測定用コマンドの送信とレスポンスの返信を繰り返す。また、試行回数が1023回を超えたときには(SEQ1012のNo)、Sourceデバイスは、この認証手順を中止(Abort)する。
【0112】
一方、RTTが閾値以下であるときには(SEQ1011のYes)、Sourceデバイスは、ACCEPTED(MAC2B).RSPで受け取ったメッセージ認証コードMAC2Bが、自分で生成したMAC2Aと一致するかどうかをさらにチェックする(SEQ1013)。一致しなければ(SEQ1013のNo)、Sourceデバイスは、この認証手順を中止(Abort)する。
【0113】
互いのメッセージ認証コードMAC2AとMAC2Bが一致したときには(SEQ1013のYes)、Sourceデバイスは、RTT検証コマンドRTT_VERIFY.CMDを送信する(SEQ1009)。Sinkデバイスは、このコマンドに応答して(SEQ1031のNo)、RTT_TEST(MAC1A).CMDで受け取ったメッセージ認証コードMAC1Aが、自分で生成したMAC1Bと一致するかどうかをチェックする(SEQ1032)。一致しなければ(SEQ1032のNo)、Sinkデバイスは、この認証手順を中止(Abort)し、一致すれば(SEQ1032のYes)、ACCEPTED(OKMSG).RSPを返信する(SEQ1010)。
【0114】
Sourceデバイスは、SinkデバイスからACCEPTED(OKMSG).RSPを受け取ると、これに含まれているメッセージOKMSGを検証する(SEQ1014)。メッセージOKMSGの検証に成功すれば(SEQ1014のYes)、Sourceデバイスは、SinkデバイスをRTT resistryに追加するとともに、コンテンツ伝送カウンターを40時間に設定する(SEQ1015)。また、メッセージOKMSGの検証に失敗したときには(SEQ1014のNo)、Sourceデバイスは、この認証手順を中止(Abort)する。
【0115】
図7〜
図9のうちいずれのAKE処理における相互認証が成功すると、SourceデバイスとSinkデバイスの間で同一の共有鍵K
Xを共有することができる。但し、リモート・アクセス時の共有鍵はK
R、リモート・アクセスによるコンテンツ移動時の共有鍵はK
XMであるが、以下では便宜上これらの共有鍵をまとめて単にK
Xとする。
【0116】
コンテンツ伝送フェーズ(SEQ503)では、上記のようにして得られた共有鍵K
Xを用いて、コンテンツの暗号化伝送が行なわれる。
図11には、コンテンツ伝送フェーズ(SEQ503)の中身を模式的に示している。この処理手順は、主にSourceデバイス側のコンテンツ提供部304とSinkデバイス側のコンテンツ取得部403の間で実施される。
【0117】
Sinkデバイスは、HTTP GETメソッドを用いたHTTPリクエスト(HTTP GET request)により、Sourceデバイスに対して、コンテンツを要求する(SEQ1101)。このHTTP GETリクエストには、コンテンツのURL(Uniform Resource Locator)とともに、AKE手続きフェーズ(SEQ502)により取得した共有鍵ラベルK
X_labelを含める。
【0118】
Sourceデバイスは、Sinkデバイスからのコンテンツ要求を許可する場合には、共有鍵ラベルK
X_labelで指定された共有鍵K
Xから暗号鍵K
Cを生成すると、この暗号鍵K
Cを用いてコンテンツを暗号化して、HTTPレスポンス(HTTP GET response)としてSinkデバイスに伝送する(SEQ1102)。
【0119】
DTCP仕様並びにDTCP−IP仕様に基づくコンテンツの暗号化、伝送、並びに復号化の流れを
図12に模式的に示した。
【0120】
SourceデバイスとSinkデバイスは、まず1つのTCP/IPコネクションを確立して、AKE手続きを行なう。そして、互いのDevice Certificateに基づいて正規のDTCP準拠デバイスであることを確かめ合った後に、認証鍵K
authを共有する。そして、Sourceデバイスは共有鍵K
xを生成すると、これを認証鍵K
authで暗号化してSinkデバイスに送る。
【0121】
AKE手続きが済んだ後、HTTPなどのプロトコルを利用してコンテンツ伝送が実施される(
図11を参照のこと)。その際、AKE手続きのためのTCP/IPコネクションとは別に、コンテンツ伝送のためのTCP/IPコネクションが作成される。
【0122】
Sourceデバイスは、伝送するコンテンツを暗号化する。具体的には、Sourceデバイスは、乱数を用いてノンスN
cを生成して、共有鍵K
xとノンスN
cを引数にして、暗号モード(後述)に対応した演算処理により暗号鍵K
cを生成する。そして、この暗号鍵K
cを用いてコンテンツを暗号化する。
【0123】
Sourceデバイスから暗号化コンテンツを伝送するHTTPレスポンスは、1つ以上のPCPからなる。具体的には、Sourceデバイスは、乱数を用いてノンスN
cを生成すると、共有鍵K
XとノンスN
cと暗号モードを表すE−EMI(Extended Encription Mode Indicator)に基づいて暗号鍵K
cを計算し、暗号鍵K
cを用いて暗号化する(E−EMIは、暗号モードを記述する4ビット長のフィールドで構成され、その値はコピー制御情報の7種類に対応する)。そして、ヘッダーにノンスN
cとE−EMIを含むとともにペイロードに暗号化コンテンツを含んだPCP(Protected Content Packet)パケットをTCPストリーム上に乗せる。IPプロトコルは、暗号化コンテンツを含んだTCPストリームを所定の単位となるパケットの大きさに分割し、さらにヘッダー部を付加したIPパケットにし、指定されたIPアドレス宛てに届ける。
【0124】
Sinkデバイスは、Sourceデバイスからの各IPパケットを受信すると、これをTCPストリームに組み立てる。そして、このストリームからノンスN
cとE−EMIを取り出すと、これらと共有鍵K
xを用いて暗号鍵K
cを算出し、受信した暗号化コンテンツを復号することができる。そして、復号化した後の平文のコンテンツに対し再生やコピー、移動などの処理を実施することができる。
【0125】
C.セキュリティー・レベルに応じた共有鍵の交換
図7〜
図12に示したように、DTCP仕様並びにDTCP−IP仕様は、ディジタル・データとしてのコンテンツをセキュアに伝送する技術を提供することができる。最近では、4K解像度を持つコンテンツなどの高品質で高価値のコンテンツが伝送対象となることから、これまで以上にセキュリティーの強化が求められてくる。
【0126】
コンテンツ保護システムのセキュリティーを強化するために、鍵長を長くすることなど、利用する暗号方式を変えることが考えられる(例えば、特許文献1を参照のこと)。ところが、新たな暗号方式に切り替えるには、少なからず時間とコストがかかる。新しい暗号方式に対応したデバイスに完全に置き換わるまでに相応のシステム移行期間を要するであろう。その間は、従来の暗号方式にのみ対応したデバイスとは互換性が失われることが考えられる。DTCP仕様並びにDTCP−IP仕様に準拠するコンテンツ伝送システムにおいても、暗号方式を新しくするには同様の問題がある。
【0127】
そこで、本明細書で開示する技術では、より安全なシステムへの移行を段階的に行なう仕組みを導入して、時間やコストの負担の軽減を図っている。具体的には、所定のセキュリティー強化策を施した移行段階の装置に対して、一定のシステム移行期間だけは高価値コンテンツを扱えるようにすることで、移行に要する時間的な問題を回避し、より安全なシステムへの移行を円滑に行なえるようにしている。
【0128】
Sourceデバイスすなわちコンテンツ送信装置300側の認証・鍵共有部306は、セキュリティー強化策を施していない従来のSinkデバイスに渡す共有鍵K
X2と、所定のセキュリティー強化策を施したSinkデバイスに渡す共用鍵K
X1とを違うものとしている。
【0129】
ここで、所定のセキュリティー強化策を施したデバイスとは、例えば、従来の暗号アルゴリズムにしか対応していないが、暗号方式以外のより脆弱な部分の安全性については確保できているデバイスであり、システムが新しい暗号方式に置き換わる際の移行段階のデバイスとして位置付けられる。
【0130】
移行段階のデバイス間のコンテンツ伝送では、従来のままの暗号アルゴリズムが適用されるが、専用の共有鍵K
X1とすることで、高価値コンテンツを扱えるようになる。何故なら、従来のデバイスは共有鍵K
X2しか持たないので、共用鍵K
X1を基に暗号化された高価値コンテンツを復号できないからである。
【0131】
なお、所定のセキュリティー強化策を施したデバイスと施していないデバイスは、ともに新しい暗号アルゴリズム方式には対応しておらず、ともに従来の暗号アルゴリズムを適用する。所定のセキュリティー強化策を施したか否かの違いは、例えば実装のロバスト性に関するものである。より具体的に言えば、ソフトウェアだけでセキュリティーの実装が可能なデバイスはセキュリティー強化策を施したとは言えないが、デバイス鍵などの高機密情報をハードウェアで保護したデバイスはセキュリティー強化策を施したということができる。
【0132】
また、ともに新しい暗号方式に対応したSourceデバイスとSinkデバイスの間では、従来の鍵長の暗号鍵を生成する共有鍵K
xに代えて、鍵長の長い暗号鍵を生成するための共有鍵K
X_NEWが共有される。これによって、新しい暗号方式に対応したデバイス間では、共有鍵K
X_NEWから生成される鍵長の長い暗号鍵を用いて、高価値コンテンツをよりセキュアに伝送することが可能になる。
【0133】
図13には、コンテンツ伝送システムが従来の暗号方式から新しい暗号方式へ切り替わるタイムチャート1300を模式的に示している。
【0134】
システム移行期限1301より以前の期間1302では、新しい暗号方式には対応していないが、所定のセキュリティー強化策を施した(移行段階の)デバイスにも、高価値コンテンツを扱うことを許容する。
【0135】
一方、システム移行期限1301を経過した期間1303では、高価値コンテンツを扱うにはデバイスは新しい暗号方式に対応することが必須になる。よって、従来の暗号方式にしか対応しないデバイスは、所定のセキュリティー強化策を施しているか否かに拘わらず、高価値コンテンツを扱うことができなくなる。なお、システム移行期限1301以前に製造された、高価値コンテンツを扱えるデバイスは、システム移行期限1301以後も従来の暗号方式で高価値コンテンツを扱えるが、システム移行期限1301以後は高価値コンテンツを扱うデバイスはすべて新しい暗号方式に対応し、さらに新しい暗号方式に対応したデバイス同士は常に新しい暗号方式を用いるので、高価値コンテンツが従来の暗号方式で用いられることは長期的にはなくなっていくことになる。
【0136】
例えば、コンテンツ伝送システムの運用者は、高価値コンテンツの制作・提供業者のセキュリティーを強化したいという要求と、装置ベンダーなどの暗号方式の切り換えに時間とコストの負担を軽減したいという要求のバランスを考慮して、適当なシステム移行期限1301を設定すればよい。
【0137】
また、
図14には、Source及びSinkデバイスの暗号方式と伝送可能なコンテンツの対応関係を示している。但し、同図中、新しい暗号方式に対応したSource及びSinkデバイスは、従来の暗号方式にも対応して互換性を確保しているものとする。
【0138】
従来の暗号方式に対応し、且つ、所定のセキュリティー強化策を施していないSourceデバイスは、そもそも自ら高価値コンテンツを扱うことができない。したがって、所定のセキュリティー強化策を施していないSinkデバイス、所定のセキュリティー強化策を施したSinkデバイス、及び、新しい暗号方式に対応したSinkデバイスのいずれにも、高価値コンテンツを伝送することはできず、高価値コンテンツ以外のコンテンツを従来の暗号方式で伝送するしかない(C1401、C1402、C1403)。
【0139】
また、所定のセキュリティー強化策を施したSourceデバイスは、所定のセキュリティー強化策を施したSinkデバイス及び新しい暗号方式に対応したSinkデバイスに対しては、共有鍵をK
X2からK
X1に切り替えて、高価値コンテンツを従来の暗号方式で伝送することができる(C1412、C1413)。しかしながら、所定のセキュリティー強化策を施していないSinkデバイスに対しては、高価値コンテンツ以外のコンテンツを従来の暗号方式で伝送するしかない(C1411)。
【0140】
また、新しい暗号方式に対応したSourceデバイスは、所定のセキュリティー強化策を施したSinkデバイスに対しては、共有鍵をK
X2からK
X1に切り替えて、高価値コンテンツを従来の暗号方式で伝送することができるとともに(C1422)、新しい暗号方式に対応したSinkデバイスに対しては、高価値コンテンツを新しい暗号方式で伝送することができる(C1423)。しかしながら、所定のセキュリティー強化策を施していないSinkデバイスに対しては、高価値コンテンツ以外のコンテンツを従来の暗号方式で伝送するしかない(C1421)。
【0141】
Sourceデバイスは、高価値コンテンツを伝送する際に、伝送先のSinkデバイスが所定のセキュリティー強化策を施しているか(暗号方式以外のより脆弱な部分の安全性については確保できているか)、あるいは新しい暗号方式に対応しているかどうかを知る必要がある。また、新しい暗号方式に対応したSinkデバイスは、高価値コンテンツの要求先であるSourceデバイスが新しい暗号方式を対応しているか否かを知らなければ、暗号方式を指示することはできない。
【0142】
本実施形態では、デバイスが所定のセキュリティー強化策を施しているか(暗号方式以外のより脆弱な部分の安全性については確保できているか)否かを示すESフラグを定義している。所定のセキュリティー強化策を施したデバイスは、自身から送信するメッセージ中のESフラグ=1を書き込んで、所定のセキュリティー強化策を施していることを相手に通知するようにしている。他方、所定のセキュリティー強化策を施していない(脆弱な部分の安全性を確保していない)場合には、ESフラグ=0を書き込む。
【0143】
例えば、Device Certificate内にESフラグを定義することができる。
図16には、Device Certificate内で、参照番号1601で示す、現仕様では予約(Reserved)されている位置に、ESフラグを定義した様子を示している。
【0144】
Device Certificateは、DTLAから各DTCP準拠デバイスに与えられる証明書である。Sinkデバイスは、例えば
図7に示した完全認証(Full Authentication)において、CHALLENGE subfunctionメッセージ(SEQ703)で送るDevice CertificateにESフラグを格納することにより、所定のセキュリティー強化策を施していること(暗号方式以外のより脆弱な部分の安全性については確保できていること)をSourceデバイスに通知することができる。また、
図8に示したRA−AKE手続きにおいても、Sinkデバイスは、同様の方法で、所定のセキュリティー強化策を施していること(暗号方式以外のより脆弱な部分の安全性については確保できていること)をSourceデバイスに通知することができる。
【0145】
また、
図9に示したMOVE RTT−AKE手続きや、
図10に示したProtected RTT Protocol手続きでは、「Challenge−Response portion」と書かれた処理フェーズ(SEQ905、SEQ1000)の中で、SinkデバイスからのCHALLENGEコマンド送信からSourceデバイスからのRESPONSE又はRESPONSE2の送信に対するSinkデバイスからの応答送信までのシーケンスを含んでいるが、ここで送られるDevice CertificateにESフラグを格納することにより、所定のセキュリティー強化策を施していること(暗号方式以外のより脆弱な部分の安全性については確保できていること)をSourceデバイスに通知することができる。
【0146】
また、ESフラグを、
図16に示したようにDevice Certificateに含める以外に、DTCPのAKE処理中に送られるコマンドに含めて送る方法も考えられる。
図17には、このコマンドで送られるペイロードの具体的な構成例を示している。ペイロード1700のSINK−CAPABILITYフィールド1701には、ESフラグ1702が格納されている。さらに、Sinkデバイス自身のDevice Private Key(秘密鍵)を使って、上記のSINK−CAPABILITYフィールド1701のデータについて計算された電子署名を含むSINK−SIGNATUREフィールド1703を伴うことで、伝送中の改ざんを防止する。
【0147】
ここで、SINK−CAPABILITYフィールド1701は、ESフラグ1702の他に、NSフラグ1704も含んでいる。NSフラグは、デバイスが新しい暗号方式(New System)に対応しているか否かを示すために定義されたフラグである。新しい暗号方式に対応したSinkデバイスは、NSフラグ=1を書き込んで、相手に通知するようにしている。高価値コンテンツを扱えるSinkデバイスは、新しい暗号方式に対応する場合もしない場合も、NSフラグを含むコマンドをAKE処理の中で必ず送るものとする。そしてSourceデバイスはAKE処理の中で、SinkのESフラグが1である場合、NSフラグを含むコマンドが同AKE処理の中で受信されることを確認し、それができない場合は異常なAKE処理と判断する。例えばSinkデバイスがESフラグをDevice Certificateに格納して送信する場合(
図16を参照のこと)、Sourceデバイスは、NSフラグを含むコマンドを万一AKE処理の中で受信できなければ、そのAKE処理をエラーとして中断する。
【0148】
Sinkデバイスは、
図17に示したデータ1700を、例えば
図9に示したMOVE RTT−AKE手続き中のCAPABILITY_EXCHANGE.CMDメッセージ(SEQ903)のペイロードに含めて送ることができる。
【0149】
また、詳細な説明を省略するが、RTT−AKE処理や、リモート・アクセス時の事前登録処理の中でも、Sinkデバイスは、
図17に示したデータ1700を送ることができる。その他のAKE処理(例えば、RA−AKE)でも、Sinkデバイスは、
図17に示したデータ1700を送ることができる。
【0150】
一方、Sourceデバイスは、
図17に示したようなコマンドへの応答で送られるペイロードにNSフラグを格納して、新しい暗号方式に対応しているかどうかを示すことができる。
図18には、このようなペイロードの具体的な構成例を示している。
【0151】
ペイロード1800のSOURCE−CAPABILITYフィールド1801には、NSフラグ1802が格納されている。新しい暗号方式に対応したSourceデバイスは、NSフラグ=1を書き込んで、相手に通知するようにしている。さらに、Sourceデバイス自身のDevice Private Key(秘密鍵)を使って、上記のSOURCE−CAPABILITYフィールド1801のデータについて計算された電子署名を含むSOURCE−SIGNATUREフィールド1803を伴うことで、伝送中の改ざんを防止する。
【0152】
所定のセキュリティー強化策を施したSourceデバイスは、
図16又は
図17に示したような形式でSinkデバイスから受け取ったESフラグを参照して、高価値コンテンツを扱える共通鍵K
X1、又は、高価値コンテンツを扱えない共通鍵K
X2のいずれをSinkデバイスに渡すかを決定する。
【0153】
図19には、Sourceデバイスが共通鍵を決定するための処理手順を、フローチャートの形式で示している。この処理は、主にSourceデバイス内の認証・鍵共有部306で行なわれる。
【0154】
まず、認証・鍵共有部306は、Sinkデバイスから送られてきたESフラグが1かどうかをチェックする(ステップS1901)。
【0155】
ここで、ESフラグが1でない場合には(ステップS1901のNo)、認証・鍵共有部306は、高価値コンテンツを扱えない共通鍵K
X2を生成して、通信・制御部301からSinkデバイスに送付する(ステップS1904)。この場合、Sourceデバイスは、高価値コンテンツ以外しかSinkデバイスに伝送することはできない。
【0156】
一方、ESフラグが1の場合には(ステップS1901のYes)、認証・鍵共有部306は、NSフラグを含むコマンドをAKE処理の中で受信したかどうかをさらにチェックする(ステップS1902)。
【0157】
NSフラグを含むコマンドを万一AKE処理の中で受信できなければ(ステップS1902のNo)、認証・鍵共有部306は、そのAKE処理をエラーとして中断する。
【0158】
また、NSフラグを含むコマンドをAKE処理の中で受信できたときには(ステップS1902のYes)、認証・鍵共有部306は、高価値コンテンツを扱うことができる共通鍵K
X1を生成して、通信・制御部301からSinkデバイスに送付する(ステップS1903)。
【0159】
よりセキュリティー・レベルの高いコンテンツ伝送を実現するには、Sourceデバイス及びSinkデバイスの双方で、新しい暗号方式を優先的に実行するようにすることが好ましい。新しい暗号方式への完全移行を早期化することにもつながる。
【0160】
図20には、Sinkデバイス側で新しい暗号方式を優先的に実行するための処理手順をフローチャートの形式で示している。この処理は、新しい暗号方式に対応したSinkデバイス内の認証・鍵共有部406でAKE処理中に行なわれる。
【0161】
認証・鍵共有部406は、AKE処理中に、NSフラグ=1を格納したコマンドを通信・制御部401を介してSourceデバイスに送信し、自分が新しい暗号方式に対応していることを示す(ステップS2001)。
【0162】
次いで、認証・鍵共有部406は、新しい暗号方式の有無を示す(すなわち、NSフラグを格納した)コマンドの応答受信がタイムアウトするまでの間(ステップS2002のNo)、通信・制御部401を通じてSourceデバイスから新しい暗号方式の有無を示すコマンドの応答受信を待機する(ステップS2003のNo)。
【0163】
ここで、新しい暗号方式の有無を示すコマンドの応答受信がタイムアウトすると(ステップS2002のYes)、認証・鍵共有部406は、Sourceデバイスが新しい暗号方式に対応していないと判断して、通信・制御部401を通じてSourceデバイスに従来の暗号方式でのコンテンツ伝送を要求する(ステップS2006)。
【0164】
また、Sourceデバイスから新しい暗号方式の有無を示すコマンドの応答を受信することができたときには(ステップS2003のYes)、認証・鍵共有部406は、そのコマンド応答に格納されているNSフラグを参照して、Sourceデバイスが新しい暗号方式に対応しているかどうかをチェックする(ステップS2004)。
【0165】
NSフラグ=1で、Sourceデバイスが新しい暗号方式に対応していることが分かった場合には(ステップS2004のYes)、認証・鍵共有部406は、通信・制御部401を通じてSourceデバイスに新しい暗号方式でのコンテンツ伝送を要求する(ステップS2005)。
【0166】
また、NSフラグ=0で、Sourceデバイスが新しい暗号方式に対応していないことが分かった場合には(ステップS2004のNo)、認証・鍵共有部406は、Sourceデバイスが新しい暗号方式に対応していないと判断して、通信・制御部401を通じてSourceデバイスに従来の暗号方式でのコンテンツ伝送を要求する(ステップS2006)。
【0167】
また、
図21には、Sourceデバイス側で新しい暗号方式を優先的に実行するための処理手順をフローチャートの形式で示している。この処理は、新しい暗号方式に対応したSourceデバイス内の認証・鍵共有部306でAKE処理中に行なわれる。
【0168】
まず、認証・鍵共有部306は、Sinkデバイスが従来の暗号方式でのコンテンツ伝送を要求しているかどうかをチェックする(ステップS2101)。
【0169】
ここで、Sinkデバイスが従来の暗号方式でのコンテンツ伝送を要求した場合には(ステップS2101のYes)、認証・鍵共有部306は、Sinkデバイスへのコンテンツ伝送に、従来の暗号方式を使用することを決定する(ステップS2106)。
【0170】
また、Sinkデバイスが従来の暗号方式でのコンテンツ伝送を要求しない場合には(ステップS2101のNo)、認証・鍵共有部306は、新しい暗号方式の有無を示す(すなわち、NSフラグを格納した)コマンドを、通信・制御部301を通じて受信するまで待機する(ステップS2102のNo)。
【0171】
新しい暗号方式の有無を示すコマンドを受信すると(ステップS2102のYes)、認証・鍵共有部306は、そのコマンドに格納されているNSフラグを参照して、Sinkデバイスが新しい暗号方式に対応しているかどうかをチェックする(ステップS2103)。
【0172】
Sinkデバイスが新しい暗号方式に対応している場合には(ステップS2103のYes)、認証・鍵共有部306は、Sinkデバイスが従来の暗号方式でのコンテンツ伝送を要求しているかどうかをさらにチェックする(ステップS2104)。そして、Sinkデバイスが従来の暗号方式でのコンテンツ伝送を要求している場合には(ステップS2104のYes)、認証・鍵共有部306は、Sinkデバイスへのコンテンツ伝送に、新しい暗号方式を使用することを決定する(ステップS2105)。
【0173】
また、Sinkデバイスが新しい暗号方式に対応していない場合や(ステップS2103のNo)、Sinkデバイスが従来の暗号方式でのコンテンツ伝送を要求していない場合には(ステップS2104のNo)、認証・鍵共有部306は、Sinkデバイスへのコンテンツ伝送に、従来の暗号方式を使用することを決定する(ステップS2106)。
【0174】
上述したように、本明細書で開示する技術を適用したコンテンツ伝送システムは、暗号方式を新しくしたより安全なシステムへの移行を段階的に行なえるようにすることで、時間やコストの負担の軽減を図るものである。すなわち、所定のセキュリティー強化策を施した移行段階の装置(例えば、従来の暗号アルゴリズムにしか対応していないが、暗号方式以外のより脆弱な部分の安全性については確保できている装置)に対しては、一定のシステム移行期間だけは高価値コンテンツを扱えるようにしている。この結果、移行に要する時間的な問題を回避し、安全なシステムへの移行を円滑にすることができる。また、装置が備えるコスト当たりの処理能力は一般的に年々増加する傾向にあり、より計算量が必要な暗号アルゴリズムの負担も、上記のような長期的な対応によって軽減できる可能性が高い。
【0175】
したがって、本明細書で開示する技術によれば、すべてのコンテンツ送信装置及びコンテンツ受信装置が新しい暗号方式に完全移行するまでの一定の期間においても、さしあたって必要不可欠な保護でコンテンツの安全性を維持しつつ、長期的にはより安全な新システムへの完全移行を、装置に大きな負担をかけずに実施することが可能となる。
【0176】
なお、
図2に示したコンテンツ伝送システム200において、サーバー201若しくはDTCPのSourceデバイスとして動作するコンテンツ送信装置の具体例として、セットトップボックスやレコーダー、テレビジョン受信機、パーソナル・コンピューター、ネットワーク・アクセス・サーバー(NAS)などを挙げることができる。
【0177】
図23には、サーバー201若しくはDTCPのSourceデバイスとして動作することが可能なパーソナル・コンピューター2300の構成例を示している。パーソナル・コンピューター2300はリモート・アクセス機能(前述)にも対応しているものとする。図示のパーソナル・コンピューター2300は、CPU(Central Processing Unit)2301、RAM(Random Access Memory)2302、EEPROM(Electrically Erasable and Programmable ROM)2303、ディスプレイ2304、スピーカー2305、例えばHDD(Hard Disc Drive)やSDD(Super Density Disc)などの大容量情報記憶装置2306、I/Oインターフェース2307などの回路コンポーネントを備え、これらの回路コンポーネントがバス2308を介して相互接続されている。
【0178】
CPU2301は、メイン・メモリーとしてのRAM2302にロードされたプログラムを読み出して実行する。
【0179】
RAM2302には、コンテンツの暗号及び復号に関する機能がロードされる。例えば、DTCP+機能を実行するためのプログラム、及び、RA−AKE処理を実行するためのプログラムがRAM2302にロードされる。
【0180】
EEPROM2303は、書き換えが可能な不揮発性記憶装置であり、設定情報などが記憶される。パーソナル・コンピューター2300がSourceデバイスすなわちコンテンツ送信装置として動作する場合、SinkデバイスのSink−IDを含むRAC recordがEEPROM2503に記憶される。
【0181】
パーソナル・コンピューター2300上では、Sinkデバイスから、リモート・アクセスが可能な端末として登録するよう要求を受けると、CPU2501が、RAM2302からDTCP+のAKE処理が記述されたプログラムを読み出し、Sinkデバイスとの間でAKE手続きを実行する。この手続きに成功すると、CPU2301は、RAM2302に記憶されたプログラムに従って交換鍵K
R及びそのラベルK
R_labelを生成し、Sink IDと対応付けたRAC recordとしてEEPROM2303に記憶する。
【0182】
その後、パーソナル・コンピューター2300上では、CPU2301が、RA−AKE処理の要求を受けた場合に、この要求を行なっているSinkデバイスのSink−IDと、EEPROM2303に記憶されたSink−IDと比較し、RA−AKE処理を完了させるか否かを決定する処理を実行する。
【0183】
そして、RA−AKE処理が完了すると、パーソナル・コンピューター2300と、RA−AKE処理の要求を行なったSinkデバイスとの間で共通する交換鍵が生成される。パーソナル・コンピューター2300側では、交換鍵を基に生成したコンテンツ鍵を一時的に記憶し、大容量情報記憶装置2306からコンテンツを読み出したときに、このコンテンツを一時的に記憶されたコンテンツ鍵で暗号化する。暗号化されたコンテンツは、I/Oインターフェース2308を経て、外部に出力される。I/Oインターフェース2308が無線LAN機能を有している場合、無線LANを介して、RA−AKE処理の要求を行なったSinkデバイスに対し、暗号化コンテンツが送信される。
【0184】
図24には、サーバー201若しくはDTCPのSourceデバイスとして動作することが可能なレコーダー2400の構成例を示している。レコーダー2400はリモート・アクセス機能(前述)にも対応しているものとする。図示のレコーダー2400は、システム・チップ2401、大容量記憶装置2402、RAM2403、EEPROM2404、無線LANチップ2405又はLANポート2409のうち少なくとも一方、チューナー2406、ディスプレイ2407、スピーカー2408を備えている。
【0185】
システム・チップ2401は、CPU2401a、コプロセッサー2401b、インターフェース機能部2401cなどの回路モジュールを備え、これらの回路モジュールは、当該チップ内のバス2401dで相互接続されている。
【0186】
CPU2401aは、インターフェース機能部2401cを介して接続された記憶装置に記憶されたプログラムを実行することが可能である。
【0187】
コプロセッサー2401bは、補助演算装置であり、主に動画像の圧縮又は復号処理を実行する。例えば、H264、VC1、MPEG2、JPEGなどのアルゴリズムを実行する。また、コプロセッサー2401bは、(大容量記憶装置2402に記憶された)動画像コンテンツをSinkデバイスなどのコンテンツ受信装置に伝送する際には、通信速度などの通信環境に応じて画像のサイズを変換して、通信環境に最適なサイズで送信できるようにする処理、すなわちコーデックのトランスコーディングを行なう。コーデックのトランスコードにより、Sinkデバイスなどのコンテンツ伝送先での再生の遅れを軽減することができる。但し、コーデックのトランスコーディングは、コプロセッサー2401bのような専用ハードウェアではなく、CPU2401aで行なうようにすることもできる。また、コンテンツのトランスコーディングを行なう圧縮率は、ユーザーがコンテンツ毎に指定することも可能である。
【0188】
大容量記憶装置2402は、例えばHDDやSDDなどであるが、Sinkデバイス若しくはコンテンツ受信装置に提供するコンテンツを記憶する。
【0189】
チューナー2406は、地上ディジタル放送などの放送信号を選局受信する。本実施形態では、例えばEPG(Electronic Program Guide)などの機能に従って、番組を録画又は録画予約して、放送コンテンツを大容量記憶装置2402に記憶する。
【0190】
チューナー2406で受信する放送番組や、大容量記憶装置2402に記憶したコンテンツは、ディスプレイ2407並びに2408を使って視聴することも可能である。
【0191】
無線LANチップ2405は、例えばWi−Fi(Wireless Fidelity)若しくはIEEE802.11などの無線LAN規格における物理層並びにMAC(Media Access Control)層の処理を行ない、所定のアクセスポイント経由で、あるいはSinkデバイスとしてのコンテンツ受信装置と直接無線接続する。また、LANポート2409は、差し込まれたLANケーブル2409Aを介してEthernet(登録商標)などの有線LAN(図示しない)に接続されるとともに、例えばIEEE802.3などの有線LAN規格における物理層並びにMAC層の処理を行ない、Sinkデバイスとしてのコンテンツ受信装置と通信する。
【0192】
メイン・メモリーとしてのRAM2403には、CPU2401aで実行されるプログラムがロードされる。RAM2403にロードされる主なプログラムは、コンテンツの暗号及び復号に関する機能を実現するプログラムであり、例えば、DTCP+機能を実行するためのプログラム、及び、RA−AKE処理を実行するためのプログラムがRAM2403にロードされる。
【0193】
EEPROM2404は、書き換えが可能な不揮発性記憶装置であり、設定情報などが記憶される。レコーダー2400がSourceデバイスすなわちコンテンツ送信装置として動作する場合、SinkデバイスのSink−IDを含んだRAC recordがEEPROM2404に記憶される。
【0194】
レコーダー2400上では、Sinkデバイスから、リモート・アクセスが可能な端末として登録するよう要求を受けると、CPU2401aが、RAM2403からDTCP−IPのAKE処理が記述されたプログラムを読み出し、Sinkデバイスとの間でAKE手続きを実行する。この手続きに成功すると、CPU2401aは、RAM2403に記憶されたプログラムに従って交換鍵K
R及びそのラベルK
R_labelを生成し、Sink−IDと対応付けたRAC recordとしてEEPROM2404に記憶する。
【0195】
その後、レコーダー2400上では、CPU2401aが、RA−AKE処理の要求を受けた場合に、この要求を行なっているSinkデバイスのSink−IDと、EEPROM2404に記憶されたSinkデバイスのSinkIDを比較し、RA−AKE処理を完了させるか否かを決定する処理を実行する。
【0196】
そして、RA−AKE処理が完了すると、レコーダー2400と、RA−AKE処理の要求を行なったSinkデバイスとの間で共通するコンテンツ鍵が生成される。レコーダー2400側では、生成されたコンテンツ鍵を一時的に記憶し、大容量情報記憶装置2402からコンテンツを読み出したときに、このコンテンツを一時的に記憶されたコンテンツ鍵で暗号化する。暗号化されたコンテンツは、インターフェース機能部2401c及び無線LANチップ2405を経て、RA−AKE処理の要求を行なった端末に対し、暗号化コンテンツが送信される。
【0197】
図25には、サーバー201若しくはDTCPのSourceデバイスとして動作することが可能なネットワーク・アクセス・サーバー(NAS)2500の構成例を示している。
【0198】
ネットワーク・アクセス・サーバー2500は、大容量記憶装置を備え、ホーム・ネットワーク110、210内に設置されて、大容量記憶装置内の情報をIPプロトコルに従って伝送する。例えば、レコーダー2500で録画した放送コンテンツをネットワーク・アクセス・サーバー2500にダビングしたり、ネットワーク・アクセス・サーバー2500内に記憶したコンテンツをパーソナル・コンピューター2300やスマートフォンなどのSinkデバイスに伝送して視聴したりすることができる。また、ネットワーク・アクセス・サーバー2500は、リモート・アクセス機能にも対応しているものとする。
【0199】
図示のネットワーク・アクセス・サーバー2500は、システム・チップ2501、大容量記憶装置2502、RAM2503、EEPROM2504、無線LANチップ2505又はLANポート2506のうち少なくとも一方を備えている。
【0200】
システム・チップ2501は、CPU2501a、コプロセッサー2501b、インターフェース機能部2501cなどの回路モジュールを備え、これらの回路モジュールは、当該チップ内のバス2501dで相互接続されている。
【0201】
CPU2501aは、インターフェース機能部2501cを介して接続された記憶装置に記憶されたプログラムを実行することが可能である。
【0202】
コプロセッサー2501bは、補助演算装置であり、主に動画像の圧縮又は復号処理を実行する。例えば、H264、VC1、MPEG2、JPEGなどのアルゴリズムを実行する。また、コプロセッサー2501bは、(大容量記憶装置2502に記憶された)動画像コンテンツをSinkデバイスなどのコンテンツ受信装置に伝送する際には、通信速度などの通信環境に応じて画像のサイズを変換して、通信環境に最適なサイズで送信できるようにする処理、すなわちコーデックのトランスコーディングを行なう。コーデックのトランスコードにより、Sinkデバイスなどのコンテンツ伝送先での再生の遅れを軽減することができる。但し、コーデックのトランスコーディングは、コプロセッサー2501bのような専用ハードウェアではなく、CPU2501aで行なうようにすることもできる。また、コンテンツのトランスコーディングを行なう圧縮率は、ユーザーがコンテンツ毎に指定することも可能である。
【0203】
大容量記憶装置2502は、例えばHDDやSDDなどであるが、Sinkデバイス若しくはコンテンツ受信装置に提供するコンテンツを記憶する。例えば、ネットワーク・アクセス・サーバー2500で録画した放送コンテンツを、(無線LANチップ2705経由で受信して)大容量記憶装置2502にダビングすることもできる。
【0204】
無線LANチップ2505は、例えばWi−Fi(Wireless Fidelity)若しくはIEEE802.11などの無線LAN規格における物理層並びにMAC(Media Access Control)層の処理を行ない、所定のアクセスポイント経由で、あるいはSinkデバイスとしてのコンテンツ受信装置と直接無線接続する。また、LANポート2506は、差し込まれたLANケーブル2506Aを介してEthernet(登録商標)などの有線LAN(図示しない)に接続されるとともに、例えばIEEE802.3などの有線LAN規格における物理層並びにMAC層の処理を行ない、Sinkデバイスとしてのコンテンツ受信装置と通信する。
【0205】
メイン・メモリーとしてのRAM2503には、CPU2501aで実行されるプログラムがロードされる。RAM2503にロードされる主なプログラムは、コンテンツの暗号及び復号に関する機能を実現するプログラムであり、例えば、DTCP−IP機能を実行するためのプログラム、及び、RA−AKE処理を実行するためのプログラムがRAM2503にロードされる。
【0206】
EEPROM2504は、書き換えが可能な不揮発性記憶装置であり、設定情報などが記憶される。ネットワーク・アクセス・サーバー2500がSourceデバイスすなわちコンテンツ送信装置として動作する場合、SinkデバイスのSink−IDを含むRAC recordがEEPROM2504に記憶される。
【0207】
ネットワーク・アクセス・サーバー2500上では、Sinkデバイスから、リモート・アクセスが可能な端末として登録するよう要求を受けると、CPU2501aが、RAM2503からDTCP+のAKE処理が記述されたプログラムを読み出し、Sinkデバイスとの間でAKE手続きを実行する。この手続きに成功すると、CPU2501aは、RAM2503に記憶されたプログラムに従って交換鍵K
R及びそのラベルK
R_labelを付与し、Sink−IDとペアにしてEEPROM2504に記憶する。
【0208】
その後、ネットワーク・アクセス・サーバー2500上では、CPU2501aが、RA−AKE処理の要求を受けた場合に、この要求を行なっているSinkデバイスのSink−IDと、EEPROM2504に記憶されたSinkデバイスのSinkIDを比較し、RA−AKE処理を完了させるか否かを決定する処理を実行する。
【0209】
そして、RA−AKE処理が終了すると、ネットワーク・アクセス・サーバー2500と、RA−AKE処理の要求を行なったSinkデバイスとの間で共通するコンテンツ鍵が生成される。ネットワーク・アクセス・サーバー2500側では、生成されたコンテンツ鍵を一時的に記憶し、大容量情報記憶装置2502からコンテンツを読み出したときに、このコンテンツを一時的に記憶されたコンテンツ鍵で暗号化する。暗号化されたコンテンツは、インターフェース機能部2501c及び無線LANチップ2505を経て、RA−AKE処理の要求を行なった端末に対し、暗号化コンテンツが送信される。
【産業上の利用可能性】
【0211】
以上、特定の実施形態を参照しながら、本明細書で開示する技術について詳細に説明してきた。しかしながら、本明細書で開示する技術の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0212】
本明細書では、本明細書で開示する技術をDTCP並びにDTCP−IP仕様のネットワークに適用した実施形態を中心に説明してきたが、本明細書で開示する技術の要旨はこれに限定されるものではない。DTCP若しくはDTCP−IP以外の技術仕様に基づくネットワーク上の機器間でコンテンツの移動を行なうコンテンツ伝送システムにも、同様に本明細書で開示する技術で開示する技術を適用することができる。
【0213】
すなわち、本明細書で開示する技術をさまざまな伝送規格のシステムに適用して、すべての装置が新しい暗号方式に対応できない一定の期間においても、さしあたって必要不可欠な保護でコンテンツの安全性を維持しつつ、長期的にはより安全な新システムへの完全移行を、装置に大きな負担をかけずに実施することが可能となる。
【0214】
要するに、例示という形態により本明細書で開示する技術について説明してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本明細書で開示する技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【0215】
なお、本明細書の開示の技術は、以下のような構成をとることも可能である。
(1)所定の伝送規格に従って、コンテンツ受信装置と相互認証及び共有鍵の引き渡しを行なう認証・鍵共有部と、
前記共有鍵から生成した暗号鍵を用いてコンテンツを前記コンテンツ受信装置へ暗号化伝送するコンテンツ提供部と、
を具備し、
前記認証・鍵共有部は、前記コンテンツ受信装置が所定のセキュリティー強度を有しているか否かに応じて、引き渡す共有鍵を切り替える、
コンテンツ送信装置。
(2)前記所定の伝送規格は、DTCP(Digital Transmission Content Protection)若しくはDTCP−IP(DTCP mapping to IP)である、
上記(1)に記載のコンテンツ送信装置。
(3)前記認証・鍵共有部は、前記所定のセキュリティー強度を有したコンテンツ受信装置には第1のコンテンツを扱うことができる第1の共有鍵を引き渡し、前記所定のセキュリティー強度を有していないコンテンツ受信装置には第1のコンテンツを扱うことができない第2の共有鍵を引き渡す、
上記(1)に記載のコンテンツ送信装置。
(4)前記所定のセキュリティー強化策は、暗号方式以外のより脆弱な部分の安全性が確保されていることである、
上記(3)に記載のコンテンツ送信装置。
(5)前記コンテンツ提供部は、前記第1の共有鍵から生成した暗号鍵で第1のコンテンツを暗号化伝送するが、前記第2の共有鍵から生成した暗号鍵では第1のコンテンツを暗号化伝送しない、
上記(3)に記載のコンテンツ送信装置。
(6)前記第1の共有鍵及び前記第2の共有鍵は第1の暗号方式に従う暗号鍵を生成するための共有鍵であり、
前記認証・鍵共有部は、前記第1の暗号方式にしか対応しないコンテンツ受信装置には前記第1の共有鍵又は前記第2の共有鍵を引き渡すが、第2の暗号方式に対応するコンテンツ受信装置には前記第2の暗号方式に従う暗号鍵を生成するための共有鍵を引き渡す、
上記(3)に記載のコンテンツ送信装置。
(7)前記認証・鍵共有部は、相互認証時に前記コンテンツ受信装置から送られてくる機器証明書に格納されたESフラグに基づいて、前記コンテンツ受信装置が前記所定のセキュリティー強度を有する機器か否かを判別する、
上記(3)に記載のコンテンツ送信装置。
(8)前記認証・鍵共有部は、相互認証時に前記コンテンツ受信装置から送られてくるコマンドのペイロードのCAPABILITYフィールドに格納されたESフラグに基づいて、前記コンテンツ受信装置が前記所定のセキュリティー強度を有する機器か否かを判別する、
上記(3)に記載のコンテンツ送信装置。
(9)前記認証・鍵共有部は、相互認証時に前記コンテンツ受信装置から送られてくるコマンドのペイロードのCAPABILITYフィールドに格納されたNSフラグに基づいて、前記コンテンツ受信装置が前記第2の暗号方式に対応しているか否かを判別する、
上記(8)に記載のコンテンツ送信装置。
(10)前記CAPABILITYフィールドは、前記コンテンツ受信装置の秘密鍵を使って当該フィールドのデータから計算された電子署名を伴う、
上記(8)又は(9)のいずれかに記載のコンテンツ送信装置。
(11)前記認証・鍵共有部は、前記コンテンツ受信装置から送られてきた機器証明書にESフラグが格納されていることを確認したが、相互認証時のコマンド内でNSフラグを確認できないときには、その相互認証処理をエラーとして中断する、
上記(9)に記載のコンテンツ送信装置。
(12)前記認証・鍵共有部は、相互認証時に前記コンテンツ受信装置に送るコマンドのペイロードのCAPABILITYフィールドに、第2の暗号方式への対応の有無を示すNSフラグを格納する、
上記(3)に記載のコンテンツ送信装置。
(13)前記認証・鍵共有部は、前記CAPABILITYフィールドに、自分の秘密鍵を使って当該フィールドのデータから計算された電子署名を伴わせる、
上記(12)に記載のコンテンツ送信装置。
(14)所定の伝送規格に従って、コンテンツ受信装置と相互認証及び共有鍵の引き渡しを行なう認証・鍵共有ステップと、
前記共有鍵から生成した暗号鍵を用いてコンテンツを前記コンテンツ受信装置へ暗号化伝送するコンテンツ提供ステップと、
を有し、
前記認証・鍵共有ステップでは、前記コンテンツ受信装置が所定のセキュリティー強度を有しているか否かに応じて、引き渡す共有鍵を切り替える、
コンテンツ送信方法。
(15)所定の伝送規格に従って、コンテンツ送信装置と相互認証及び共有鍵の受け取りを行なう認証・鍵共有部と、
前記の受け取った共有鍵から生成した暗号鍵を用いて暗号化伝送されたコンテンツを取得するコンテンツ取得部と、
を具備し、
前記認証・鍵共有部は、自分が所定のセキュリティー強度を有していることに応じた共有鍵を受け取る、
コンテンツ受信装置。
(16)前記所定の伝送規格は、DTCP(Digital Transmission Content Protection)若しくはDTCP−IP(DTCP mapping to IP)である、
上記(15)に記載のコンテンツ受信装置。
(17)前記認証・鍵共有部は、自分が所定のセキュリティー強度を有していることに応じて、第1のコンテンツを扱うことができる第1の共有鍵を受け取り、
前記コンテンツ取得部は、前記第1の共有鍵から生成した暗号鍵で暗号化伝送された第1のコンテンツを取得する、
上記(15)に記載のコンテンツ受信装置。
(18)前記所定のセキュリティー強化策は、暗号方式以外のより脆弱な部分の安全性を確保することである、
上記(15)に記載のコンテンツ受信装置。
(19)前記認証・鍵共有部は、相互認証時に前記コンテンツ送信装置に送る機器証明書に、自分が前記所定のセキュリティー強度を有しているか否かを示すESフラグを格納する、
上記(15)に記載のコンテンツ受信装置。
(20)前記認証・鍵共有部は、相互認証時に前記コンテンツ送信装置に送るコマンドのペイロードのCAPABILITYフィールドに、自分が前記所定のセキュリティー強度を有しているか否かを示すESフラグを格納する、
上記(15)に記載のコンテンツ受信装置。
(21)前記認証・鍵共有部は、相互認証時に前記コンテンツ送信装置に送るコマンドのペイロードのCAPABILITYフィールドに、自分が暗号方式に対応しているか否かを示すNSフラグを格納する、
上記(15)に記載のコンテンツ受信装置。
(22)前記認証・鍵共有部は、前記CAPABILITYフィールドに、自分の秘密鍵を使って当該フィールドのデータから計算された電子署名を伴わせる、
上記(20)又は(21)のいずれかに記載のコンテンツ送信装置。
(23)所定の伝送規格に従って、コンテンツ送信装置と相互認証及び共有鍵の受け取りを行なう認証・鍵共有ステップと、
前記の受け取った共有鍵から生成した暗号鍵を用いて暗号化伝送されたコンテンツを取得するコンテンツ取得ステップと、
を有し、
前記認証・鍵共有ステップでは、自分が所定のセキュリティー強度を有していることに応じた共有鍵を受け取る、
コンテンツ受信方法。
(24)所定の伝送規格に従って、コンテンツ受信装置と相互認証及び共有鍵の引き渡しを行なう認証・鍵共有部、
前記共有鍵から生成した暗号鍵を用いてコンテンツを前記コンテンツ受信装置へ暗号化伝送するコンテンツ提供部、
としてコンピューターを機能させるようにコンピューター可読形式で記述され、
前記認証・鍵共有部は、前記コンテンツ受信装置が所定のセキュリティー強度を有しているか否かに応じて、引き渡す共有鍵を切り替える、
コンピューター・プログラム。
(25)所定の伝送規格に従って、コンテンツ送信装置と相互認証及び共有鍵の受け取りを行なう認証・鍵共有部、
前記の受け取った共有鍵から生成した暗号鍵を用いて暗号化伝送されたコンテンツを取得するコンテンツ取得部、
としてコンピューターを機能させるようにコンピューター可読形式で記述され、
前記認証・鍵共有部は、自分が所定のセキュリティー強度を有していることに応じた共有鍵を受け取る、
コンピューター・プログラム。
(26)相互認証と共有鍵の交換を行ない、前記共有鍵から生成した暗号鍵を用いてコンテンツを暗号化伝送するコンテンツ送信装置とコンテンツ受信装置で構成され、
前記コンテンツ送信装置は、前記コンテンツ受信装置が所定のセキュリティー強度を有しているか否かに応じて、引き渡す共有鍵を切り替える、
コンテンツ伝送システム。