JP4736603B2 - 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム - Google Patents

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

Info

Publication number
JP4736603B2
JP4736603B2 JP2005220474A JP2005220474A JP4736603B2 JP 4736603 B2 JP4736603 B2 JP 4736603B2 JP 2005220474 A JP2005220474 A JP 2005220474A JP 2005220474 A JP2005220474 A JP 2005220474A JP 4736603 B2 JP4736603 B2 JP 4736603B2
Authority
JP
Japan
Prior art keywords
content
content key
response
source device
key confirmation
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
JP2005220474A
Other languages
English (en)
Other versions
JP2007036953A (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 JP2005220474A priority Critical patent/JP4736603B2/ja
Publication of JP2007036953A publication Critical patent/JP2007036953A/ja
Application granted granted Critical
Publication of JP4736603B2 publication Critical patent/JP4736603B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、著作権保護若しくはその他の目的で暗号化された伝送コンテンツを受信処理する情報通信装置及び情報通信方法、並びにコンピュータ・プログラムに係り、特に、DTCPに準拠した別の情報機器との間で相互認証及び鍵交換(AKE)の手続きを実行する情報通信装置及び情報通信方法、並びにコンピュータ・プログラムに関する。
さらに詳しくは、本発明は、IPネットワーク上で別の情報機器との間でDTCP−IPに準拠した相互認証及び鍵交換(AKE)手続き、HTTPプロトコルを利用した暗号化コンテンツ伝送、並びに伝送コンテンツの復号化や再生その他のコンテンツ処理を実行する情報通信装置及び情報通信方法、並びにコンピュータ・プログラムに係り、特に、DTCP−IPに準拠したAKE手続きを介して共有されるコンテンツ鍵を使用して暗号化コンテンツの復号処理を実施する際にコンテンツ鍵の確認手続きを行なう情報通信装置及び情報通信方法、並びにコンピュータ・プログラムに関する。
最近、ネットワークを経由した映像や音楽などのコンテンツの流通・配信サービスが盛んに行なわれる。この種のサービスでは、CDやDVDなどのメディアの移動を必要とせず、ネットワークを経由して遠隔端末間でコンテンツ配信を行なうことができる。一方、ネットワーク経由で取り扱われるコンテンツは、著作物の1つとして、著作権法の下で無断の複製や改竄などの不正使用から保護を受ける。著作権法では、同法第30条において、個人的に又は家庭内などを使用目的とした場合の使用者本人の複製を許容する一方、同法第49条第1項においては、私的使用以外での複製物の使用を禁止している。また、デジタル・コンテンツはコピーや改竄などの不正な操作が比較的容易であることから、法的な整備だけでなく技術的な側面からも、個人的又は家庭的なコンテンツの使用を許容しながら不正使用に対する防御が必要である。
例えば、デジタル伝送コンテンツの保護に関する業界標準であるDTCP(Digital Transmission Content Protection)では、著作権が保護された形でコンテンツを伝送させるための仕組みについて規定している(例えば、非特許文献1を参照のこと)。DTCPでは、コンテンツ伝送時における機器間の認証プロトコルと、暗号化コンテンツの伝送プロトコルについて取り決められている。その規定は、要約すれば、DTCP準拠機器はMPEG(Moving Picture Experts Group)など取り扱いが容易な圧縮コンテンツを非暗号の状態で機器外に送出しないことと、暗号化コンテンツを復号するために必要となる鍵交換を所定の相互認証及び鍵交換(Authentication and Key Exchange:AKE)アルゴリズムに従って行なうこと、並びにAKEコマンドにより鍵交換を行なう機器の範囲を制限することなどを取り決めている。
コンテンツ提供元であるサーバ(DTCP Source)とコンテンツ提供先であるクライアント(DTCP Sink)は、AKEコマンドの送受信により、認証手続きを経て鍵を共有化し、その鍵を用いて伝送路を暗号化してコンテンツの伝送を行なう。したがって、不正なクライアントは、サーバとの認証に成功しないと暗号鍵を取得できないから、コンテンツを享受することはできない。また、AKEコマンドを送受信する機器の台数や範囲を制限することによって、コンテンツが使用される範囲を著作権法で言うところの個人的又は家庭の範囲内に抑えることができる。
DTCPは、原初的には、IEEE1394などを伝送路に用いたホーム・ネットワーク上におけるデジタル・コンテンツの伝送について規定したものである。最近では、IEEE1394ベースで規定されたDTCP技術をIPネットワークに移植した技術の開発が進められている(以降、この技術をDTCP−IPと呼ぶ)。ホーム・ネットワークの多くはルータなどを経由してインターネットなどの外部の広域ネットワークに接続されているので、DTCP−IP技術の確立により、デジタル・コンテンツを保護しながらIPネットワークを利用した柔軟で効率的なコンテンツの利用が図られる。
DTCP−IPは、基本的にはDTCP規格に含まれ、DTCP技術をIPネットワークに移植した同様の技術であるが、伝送路にIPネットワークを使用すること、暗号化されたコンテンツの伝送にHTTPやRTPプロトコルを使用するという点で、IEEE1394ベースで規定された本来のDTCPとは相違する。また、IPネットワーク上にはPCを主としたさまざまな機器が接続され、データの盗聴、改竄が簡単に行なわれてしまう危険が高いことから、DTCP−IPは、コンテンツを保護しながらネットワーク伝送するためのさらなる方法を規定している(例えば、非特許文献2を参照のこと)。
ここで、DTCP−IPに従ったコンテンツの伝送手順について説明する。但し、DTCPに準拠した機器は2つの種類に分類される。1つはDTCP_Sourceと言い、コンテンツの要求を受理し、コンテンツを送信するサーバ機器である。もう1つはDTCP_Sinkと言い、コンテンツを要求し、コンテンツを受信し、再生若しくは記録するクライアント機器である。
図6には、DTCP_Source機器とDTCP_Sink機器の間でAKEに基づく鍵交換手続き、及び鍵交換により共有した鍵を利用した暗号化コンテンツ伝送を行なう仕組みを図解している。同図に示す例では、コンテンツ伝送にはHTTPプロトコルが利用される。
DTCP_SourceとDTCP_Sinkはまず1つのTCP/IPコネクションを確立し、機器同士の認証を行なう。この認証をDTCP認証、若しくはAKE(Authentication and Key Exchange)と言う。DTCP準拠機器には、DTLA(Digital Transmission Licensing Administrator)と呼ばれる認可組織によりユニークな機器IDや認証鍵Kauthが埋め込まれている。DTCP認証手続きでは、このような情報を用いて互いが正規のDTCP準拠機器であることを確かめた後、コンテンツを暗号化若しくは復号するためのDTCP_Sourceが管理している認証鍵KauthをDTCP_Sink機器と共有することができる。
AKE手続きが成功すると、DTCP_Source機器とDTCP_Sink機器は、それぞれ内部で同様の処理を行なってKauthからコンテンツ鍵の種となる種鍵Kxを生成する。種鍵Kxは、コンテンツ伝送時にコンテンツ鍵Kcを生成するために使用される(後述)。
そして、DTCP準拠の機器間でAKEによる認証及び鍵交換手続きが済んだ後、DTCP_SinkはDTCP_Source上のコンテンツを要求する。DTCP_Sourceは、CDS(Contents Directory Service)などを通じてDTCP_SinkにDTCP_Source上のコンテンツへのアクセス先を示すコンテンツ場所をあらかじめ伝えることができる。DTCP_Sinkがコンテンツを要求するとき、HTTP(Hyper Text Transfer Protocol)やRTP(Real Time Protocol)などのプロトコルを利用することができる。あるいは、RSTP(Real Time Streaming Protocol)などの伝送プロトコルも適用が可能である。
図6に示すようにHTTPの手続きに従ってコンテンツを要求する場合、DTCP_SourceがHTTPサーバとなり、DTCP_SinkがHTTPクライアントとなって、コンテンツの伝送を開始する。ちなみに、RTPによる伝送を要求するとき、DTCP_SourceがRTP Senderとなり、DTCP_SinkがRTP Receiverとなってコンテンツの伝送を開始する。
HTTPでコンテンツ伝送を行なう際、DTCP認証のためのTCP/IPコネクションとは別に、HTTPのためのTCP/IPコネクションがHTTPクライアントより作成される(すなわち、DTCP_Source機器とDTCP_Sink機器はそれぞれ、AKE手続き用とコンテンツ伝送用に個別のソケット(IPアドレスとポート番号の組み合わせ)を持つ)。そして、HTTPクライアントは、通常のHTTPと全く同様の動作手順によりHTTPサーバ上のコンテンツを要求する。これに対し、HTTPサーバは、要求通りのコンテンツをHTTPレスポンスとして返す。
ここで、HTTPレスポンスとして伝送されるデータは、HTTPサーバすなわちDTCP_Source機器がAKE認証をした後に共有した鍵を用いてコンテンツを暗号化したデータとなっている。
具体的には、DTCP_Source機器は、乱数を用いてノンスNcを生成して、KxとNcを基にコンテンツ鍵Kcを生成する。そして、DTCP_Sink機器から要求されているコンテンツを、コンテンツ鍵Kcを用いて暗号化し、暗号化コンテンツとノンスNcからなるPCP(Protected Content Packet)をTCPストリーム上に乗せてDTCP_Sink機器に送信する。そして、IPプロトコルは、TCPストリームを所定の単位となるパケットの大きさに分割し、さらにヘッダ部を付加したIPパケットにし、指定されたIPアドレス宛てに届ける(例えば、非特許文献3を参照のこと)。
DTCP_Sink機器側では、DTCP_Source機器からの各IPパケットを受信すると、これをTCPストリームに組み立てる。そして、ストリームからノンスNcを取り出すと、これと認証鍵Kauthから求めた鍵Kxを用いて同様にコンテンツ鍵Kcを算出し、暗号化コンテンツを復号することができる。そして、復号化した後の平文のコンテンツに対し再生若しくは記録などの処理を実施することができる。
そして、HTTPプロトコルを利用したコンテンツ伝送が終了すると、使用したTCPコネクションを適宜切断することができる。
ここで、長大なTCPストリーム全体に渡り同じ暗号鍵を使用し続けると、鍵が解読される危険は高くなる。このため、DTCP−IPでは、Source機器は128MBのコンテンツ毎にノンスNcすなわちコンテンツ鍵Kcを更新するよう取り決められている。バイト・ストリーム中で、同じノンスNcから生成されたコンテンツ鍵Kcを用いて暗号化されたデータの範囲は、同じ鍵を用いて復号することができる復号化単位となる。
また、このようにバイト・ストリームの途中で復号鍵が動的に変更されることから、コンテンツ鍵の確認手続きが必要となる。そこで、DTCP_Sink機器は、コンテンツ伝送用のTCPコネクションとは別に、コンテンツ鍵の確認用のTCPコネクションをさらに確立し、DTCP_Source機器に対しコンテンツ鍵確認のための手続きを行なう。DTCP_Sink機器は、コンテンツ鍵の確認が必要になると、適宜このTCPコネクションを確立する。
例えば、DTCP−IP Volume 1 Supplement SectionV1SE.8.6には、Content Key Confirmationについて規定している。これによれば、Sink機器は、CONT_KEY_CONF subfunctionを用いて、現在のノンスNcに関連付けられたコンテンツ鍵の確認を行なう。
DTCP−IPでは、暗号化コンテンツとノンスNcを含んだPCPというパケット形式でコンテンツ伝送が行なわれる。1つのPCPが同じ復号鍵で復号することができる復号化単位に相当する。Sink機器は、コンテンツ・ストリーム毎に、最も新しく受信したPCPのノンスNcの値を確認し、さらに動的に変更される後続のノンスについても2分間隔で再確認しなければならない。但し、Sink機器がノンスを初期確認した後に後続のノンスNcの値が単調に増大する連続的な数値であることを監視し確認する場合には、周期的なコンテンツ鍵確認の手続きを省略することができる。
Sink機器は、未確認の初期ノンスを取得すると、当該コンテンツ・ストリームに関して暗号化コンテンツの復号を終了しなければならなくなる前に、1分間だけコンテンツ鍵の確認を再試行する猶予期間が与えられる。そして、Sink機器は、この猶予期間中にノンスNcの確認に成功すると、暗号化コンテンツの復号動作を回復することができる。
図7には、コンテンツ鍵確認のためのSink機器とSource機器間の手続きを示している。但し、Rは64ビット値で、初期は乱数であるが、後続の試行では1 mod 264でインクリメントするとともに、以下の通りとする。
MX=SHA−1(Kx||Ky
MAC3A=MAC3B=[SHA−1(MX+NcT+R)]msb80
MAC4A=MAC4B=[SHA−1(MX+NcT+R)]lsb80
(上式で、“+”はmod264の加算を意味するために使用される。)
図示のコンテンツ確認手続きでは、Sink機器は、CONT_KEY_CONFコマンドにおいて、検査用のノンスNcTをSource機器に送る。
Source機器側では、CONT_KEY_CONFコマンドを受信すると、検査用のノンスNcTを取り出して、現在のノンスNcと比較する。そして、現在のノンスNcがNcTとNcT+5の範囲にあるときには検査用のノンスNcTが有効であることを確認する。検査用のノンスNcTが有効であることを確認できたときには、さらにMAC4AとMAC4Bが等しいかどうかに基づいてコンテンツ鍵の確認を行なう。そして、コンテンツ鍵が正しかったことを示すACCEPTEDレスポンス、又は正しくなかったことを示すREJECTEDレスポンスのいずれかをSink機器に返す。
Sink機器側では、Source機器からACCEPTEDレスポンスが返されたときには、さらにMAC4AとMAC4Bが等しいかどうかに基づいてコンテンツ鍵の確認を行なう。そして、Sink機器自身でコンテンツ鍵が正しいことを確認できた場合にはSink機器はconfirmed状態になる。
一方、Source機器からACCEPTEDレスポンスが返されたがSink機器自身でのコンテンツ鍵確認に失敗した場合や、Source機器からREJECTEDレスポンスが返されたときには、Sink機器はnon−confirmation状態になる。
ここで、confirmedはCONT_KEY_CONFによりコンテンツ鍵が正しいことが確認された状態、non−confirmationはCONT_KEY_CONFによりコンテンツ鍵が不正であることが確認された状態であり、いずれもDTCP Volume 1 Supplement E SectionV1SE8.6に規定されている。
confirmed状態では、Sink機器は受信コンテンツの復号処理を継続して行なうことができる。他方、non−confirmation状態では、Sink機器は復号処理を継続できない。
図8には、Source機器がSink機器との間でコンテンツ鍵確認手続きを行なうための処理手順をフローチャートの形式で示している。
Source機器は、コンテンツ伝送先となるSink機器からコンテンツ確認を要求するCONT_KEY_CONFコマンドを受信すると(ステップS1)、コンテンツ鍵の確認を行なう(ステップS2)。具体的には、当該コマンドから検査用のノンスNcTを取り出して、現在のノンスNcと比較する。そして、現在のノンスNcがNcTとNcT+5の範囲にあるときには検査用のノンスNcTが有効であることを確認する。
そして、Source機器は、コンテンツ鍵が正しいことを確認した場合には その旨を示すACCEPTEDレスポンスをSink機器に返信するが(ステップS3)、コンテンツ鍵が不正であることを確認した場合にはその旨を示すREJECTEDレスポンスを返信する(ステップS4)。
なお、ACCEPTED並びにREJECTEDはともにDTCP Volume 1 Supplement E SectionV1SE8.6に規定されている、コマンドに対するレスポンスである。
また、図9には、Sink機器がSource機器との間でコンテンツ鍵確認手続きを行なうための処理手順をフローチャートの形式で示している。
Sink機器は、コンテンツ要求先となるSource機器に対しCONT_KEY_CONFコマンドを送信した後(ステップS11)、当該Source機器からのレスポンス受信を待機する(ステップS12)。
ここで、Source機器からACCEPTEDレスポンスを受信したときには(ステップS13)、さらにMAC4AとMAC4Bが等しいかどうかに基づいて、自らコンテンツ鍵を確認する(ステップS14)。このとき、コンテンツ鍵が正しい場合にはconfirmed(ステップS15)、コンテンツ鍵が不正である場合には non−confirmationである(ステップS17)。また、Sink機器がSource機器からREJECTEDレスポンスを受信したときには(ステップS16)、non−confirmationである(ステップS17)。
confirmedでは、Sink機器は受信コンテンツの復号処理を継続して行なうことができる。他方、non−confirmationでは、Sink機器は復号処理を継続できない(前述)。但し、Sink機器は、最初のnon−confirmationとなってから1分間はコンテンツ鍵確認手続きを繰り返すことができるので(ステップS18)、ステップS11に戻り(ステップS19)、CONT_KEY_CONFコマンドを再発行する。
コンテンツ鍵確認手続きを再試行して、1分以内にconfirmedとなれば(ステップS15)、受信コンテンツの復号処理を継続することができる。しかし、1分間non−confirmationが継続した場合には(ステップS18)、受信コンテンツの復号処理を直ちに停止しなければならない(ステップS20)。
上述したように、DTCP−IPの規格では、コンテンツ鍵確認の手続きにおいて、Sink機器がCONT_KEY_CONFコマンドを送信して、Source機器からACCEPTED又はREJECTEDといった正常なレスポンスを受信してコンテンツ鍵の確認に失敗した結果としてnon−confirmationの状態に陥ること、並びに、non−confirmation状態となったときにSink機器にはコンテンツの復号処理を停止するまでに1分間の猶予が与えられることが明記されている。したがって、Sink機器はnon−confirmationの状態になってから1分間はCONT_KEY_CONFコマンドを繰り返し送信し、この猶予期間にコマンド鍵の確認に成功すると、Sink機器はコンテンツの復号処理を停止せずに済む。
しかしながら、DTCP−IPの規格では、コンテンツ鍵確認の手続きにおいて、Sink機器がSource機器からACCEPTEDやREJECTEDなどCONT_KEY_CONFコマンドに対する正常なレスポンスを受け取ることができなかったためにコンテンツ鍵確認が成功しなかったときの処理については特に明記していない。具体的には、Sink機器がCONT_KEY_CONFコマンドを送信したのに対して、Source機器からはNOT_IMPLEMENTED(非実装)レスポンスが返された場合や、レスポンス受信待機に対してタイムアウトした場合に、Sink機器がnon−confirmation状態になることは明記されていない。
non−confirmation状態にならないことは、言い換えれば、コンテンツ鍵確認に失敗したときにSink機器に猶予期間が与えられないことになる。すなわち、Sink機器は、Source機器からNOT_IMPLEMENTEDレスポンスを受信したときやレスポンス受信待機期間がタイムアウトすると、即座にコンテンツの復号処理を停止しなければならない。そして、復号処理が停止されたコンテンツを利用したいときには、コンテンツ伝送手続きを改めて最初から実施しなければならず、1分間の猶予期間を利用してコンテンツ復号処理を再開する場合に比べると、処理が非効率的となる。
Source機器のビジー状態やネットワークの輻輳によってCONT_KEY_CONFのレスポンスが遅れることがある。しかしながら、Sink機器が通常ありえないNOT_IMPLEMENTEDを受信したときや、レスポンスに対するタイムアウトが発生したときに受信コンテンツの復号処理を直ちに停止してしまうと、Sink機器の動作として問題がある。何故ならば、Sink機器は、正しいコンテンツ鍵を持っているにも関わらず、受信コンテンツの復号処理を行うことができなくなるからである。
DTCP Specification Volume 1 Version 1.3 (Informational Version)http://www.dtcp.com/data/info_20040107_dtcp_Vol_1_1p3.pdf DTCP Volume 1 Supplement E Mapping DTCP to IP, Version 1.0 (Informational Version)http://www.dtcp.com/data/info_20031124_dtcp_VISE_1p0.pdf/ RFC(Request For Comment) 791 INTERNET PROTOCOL
本発明の目的は、IPネットワーク上で別の情報機器との間でDTCP−IPに準拠した相互認証及び鍵交換(AKE)手続き、HTTPプロトコルを利用した暗号化コンテンツ伝送、並びに伝送コンテンツの復号化や再生その他のコンテンツ処理を好適に実行することができる、優れた情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することにある。
本発明のさらなる目的は、DTCP−IPに準拠したAKE手続きを介して共有されるコンテンツ鍵を使用して暗号化コンテンツの復号処理を実施する際にコンテンツ鍵の確認手続きを好適に行なうことができる、優れた情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することにある。
本発明のさらなる目的は、DTCP−IPに準拠してコンテンツ伝送を行なう際に、Sink機器としてSource機器に対してコンテンツ鍵確認を要求し、これに対し正常なレスポンスを得ることができずにコンテンツ鍵確認に失敗した場合であっても、円滑に動作状態を回復することができる、優れた情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することにある。
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、Source機器から伝送される暗号化コンテンツを受信処理する情報通信装置であって、
暗号化コンテンツを受信するコンテンツ受信手段と、
コンテンツ鍵を用いて暗号化コンテンツを復号処理するコンテンツ復号手段と、
Source機器に対してコンテンツ鍵の確認を要求するコンテンツ鍵確認要求手段と、
コンテンツ鍵確認要求に対するSource機器からのレスポンスに応じて、コンテンツ鍵確認手段と、
前記コンテンツ鍵確認手段による確認結果に応じて前記コンテンツ復号手段による暗号化コンテンツの復号処理動作の継続又は停止を制御するコンテンツ復号処理制御手段を備え、
前記コンテンツ復号処理制御手段は、コンテンツ鍵確認要求に対してSource機器から所望のレスポンスが得られなかったとき、又はレスポンス受信待機期間がタイムアウトしたときに、前記コンテンツ鍵確認要求手段によるコンテンツ鍵の確認要求の再試行を所定期間だけ許容する、
ことを特徴とする情報通信装置である。
本発明は、IPネットワーク上で著作権保護が必要となる情報コンテンツを伝送する情報通信システムに関するものであり、特に、具体的には、DTCP−IPに準拠した情報通信機器の間で相互認証及び鍵交換(AKE)のためのAKEコマンドを送受信し、相互認証及び鍵交換を経て共有した鍵を用いて暗号化コンテンツ伝送を安全に行なう情報通信システムに関する。
この種の情報通信システムでは、TCPストリームのような長大なバイト・ストリームを途中でコンテンツ鍵を変更しながら暗号化通信が行なわれ、且つ、暗号化コンテンツの復号処理その他のコンテンツ処理を実施する際にコンテンツ鍵の確認手続きが行なわれる。
本発明に係る情報通信装置は、DTCP−IPにおけるSink機器として動作する。そして、HTTPプロトコルを用いてSource機器との間でコンテンツ伝送を行なう際に、前記コンテンツ復号手段は、Source機器との相互認証手続きを経て共有する認証鍵と暗号化コンテンツに付加されるノンスからコンテンツ鍵を生成して、暗号化コンテンツを復号処理する。また、コンテンツ鍵確認要求手段は、検査用ノンスを含んだコンテンツ鍵確認要求コマンドをSource機器に送信する。また、前記コンテンツ鍵確認手段は、Source機器からACCEPTEDレスポンスを受信し且つ自らコンテンツ鍵の確認を行なって正しい鍵と判定するとconfirmed状態を出力し、Source機器からACCEPTEDレスポンスを受信したが自らコンテンツ鍵の確認を行なって正しい鍵と判定できない場合又はSource機器からREJECTEDレスポンスを受信したときにnon−confirmation状態を出力するようになっている。
ここで、DTCP−IPの規格では、コンテンツ鍵確認の手続きにおいて、Source機器からACCEPTED又はREJECTEDといった正常なレスポンスを受信してコンテンツ鍵の確認に失敗した結果としてnon−confirmationの状態に陥ること、並びに、non−confirmation状態となったときにSink機器にはコンテンツの復号処理を停止するまでに1分間の猶予が与えられることが明記されている。したがって、Sink機器はnon−confirmationの状態になってから猶予期間にコマンド鍵の確認に成功すると、Sink機器はコンテンツの復号処理を停止せずに済む。
他方、Source機器のビジー状態やネットワークの輻輳によってCONT_KEY_CONFのレスポンスが遅れることがある。ところが、このような場合に、Sink機器がnon−confirmation状態になることは明記されていない。non−confirmation状態でないと、コンテンツ鍵確認に失敗したときに猶予期間が与えられないので、Sink機器は即座にコンテンツの復号処理を停止しなければならない。
Sink機器は、正しいコンテンツ鍵を持っているにも関わらず受信コンテンツの復号処理を行なうことができなくなるから、NOT_IMPLEMENTEDを受信したときや、レスポンスに対するタイムアウトが発生したときに受信コンテンツの復号処理を直ちに停止してしまうと、Sink機器の動作として問題がある。また、復号処理が停止されたコンテンツを利用したいときには、コンテンツ伝送手続きを改めて最初から実施しなければならず、猶予期間を利用してコンテンツ復号処理を再開する場合に比べると、処理が非効率的となる。
これに対し、本発明に係る情報通信装置によれば、前記コンテンツ復号処理制御手段は、コンテンツ鍵確認要求に対してSource機器から所望のレスポンスが得られなかったとき、又はレスポンス受信待機期間がタイムアウトしたときに、前記コンテンツ鍵確認要求手段によるコンテンツ鍵の確認要求の再試行を所定期間だけ許容するようにしている。したがって、Sink機器は、Source機器のビジー状態やネットワークの輻輳によってCONT_KEY_CONFのレスポンスの受信に遅れが生じる状況下であっても、その後にコンテンツ鍵が正しいことを確認できたときには、受信コンテンツの復号処理を継続して行なうことができる。
ここで、前記コンテンツ鍵確認手段は、コンテンツ鍵確認要求に対してSource機器から所望のレスポンスが得られなかったとき、又はレスポンス受信待機期間がタイムアウトしたときに、non−confirmation状態を出力するようにしてもよい。
このような場合、Source機器のビジー状態やネットワークの輻輳によってコンテンツ鍵確認要求に対するレスポンスの受信に遅れが生じた際におけるSink機器の動作を、DTCP−IPで規定されているnon−confirmation状態における処理として扱うことができるので、低コストで実現することができる。
また、本発明の第2の側面は、Source機器から伝送される暗号化コンテンツの受信処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
暗号化コンテンツを受信するコンテンツ受信手順と、
コンテンツ鍵を用いて暗号化コンテンツを復号処理するコンテンツ復号手順と、
Source機器に対してコンテンツ鍵の確認を要求するコンテンツ鍵確認要求手順と、
コンテンツ鍵確認要求に対するSource機器からのレスポンスに応じて、コンテンツ鍵確認手順と、
前記コンテンツ鍵確認手順における確認結果に応じて前記コンテンツ復号手順による暗号化コンテンツの復号処理動作の継続又は停止を制御するコンテンツ復号処理制御手順を実行させ、
前記コンテンツ復号処理制御手順では、コンテンツ鍵確認要求に対してSource機器から所望のレスポンスが得られなかったとき、又はレスポンス受信待機期間がタイムアウトしたときに、前記コンテンツ鍵確認要求手順によるコンテンツ鍵の確認要求の再試行を所定期間だけ許容する、
ことを特徴とするコンピュータ・プログラムである。
本発明の第2の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第2の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第1の側面に係る情報通信装置と同様の作用効果を得ることができる。
本発明によれば、IPネットワーク上で別の情報機器との間でDTCP−IPに準拠した相互認証及び鍵交換(AKE)手続き、HTTPプロトコルを利用した暗号化コンテンツ伝送、並びに伝送コンテンツの処理を好適に実行することができる、優れた情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することができる。
また、本発明によれば、DTCP−IPに準拠したAKE手続きを介して共有されるコンテンツ鍵を使用して暗号化コンテンツの復号処理を実施する際にコンテンツ鍵の確認手続きを好適に行なうことができる、優れた情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することができる。
また、本発明によれば、DTCP−IPに準拠してコンテンツ伝送を行なう際に、Sink機器としてSource機器に対してコンテンツ鍵確認を要求し、これに対し正常なレスポンスを得ることができずにコンテンツ鍵確認に失敗した場合であっても、円滑に動作状態を回復することができる、優れた情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することができる。
DTCP−IPに準拠したコンテンツ伝送において、Sink機器がCONT_KEY_CONFコマンドを送った際に、Source機器のビジー状態やネットワークの輻輳によってCONT_KEY_CONFのレスポンスが遅れることがあるが、これ自体はコンテンツ鍵確認判定に影響を及ぼすべきでない。本発明によれば、Sink機器は、Source機器からNOT_IMPLEMENTEDを受信したときや、レスポンスに対するタイムアウトが発生したときに、即時に受信コンテンツの復号処理を停止するのではなく、(擬似的に)non−confirmationと判定することにより、Source機器に対してコンテンツ鍵の確認手続きを繰り返し行なうことができる。したがって、Sink機器は、Source機器のビジー状態やネットワークの輻輳によってCONT_KEY_CONFのレスポンスの受信に遅れが生じる状況下であっても、その後にコンテンツ鍵が正しいことを確認できたときには、受信コンテンツの復号処理を継続して行なうことができる。
また、本発明によれば、Source機器のビジー状態やネットワークの輻輳によってCONT_KEY_CONFのレスポンスの受信に遅れが生じた際におけるSink機器の動作を、DTCP−IPで規定されているnon−confirmation状態における処理として扱うことができるので、低コストにより実現することができる。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
以下、図面を参照しながら本発明の実施形態について詳解する。
本発明は、TCP/IPなどのネットワーク上やファイル・システムからバイト・ストリームとして暗号データを受理して復号する情報通信システムに関する。本発明に係る情報通信システムでは、Source機器とSink機器間でTCPストリームのような長大なバイト・ストリームでコンテンツ伝送する途中でコンテンツ鍵を動的に変更し、且つ、Sink機器はSource機器に対してコンテンツ鍵の確認手続きを適宜行なう。また、この情報通信システムでは、相互認証及び鍵交換(AKE)、コンテンツ伝送、並びにコンテンツ鍵確認の手続き毎にTCPコネクションが確立される。かかるシステムの具体例は、DTCP_Source機器とDTCP_Sink機器の間で行なわれるHTTPプロトコルを利用したコンテンツ伝送である。
A.システム構成
DTCP−IPに従ったコンテンツ伝送は、コンテンツの要求を受理してコンテンツを送信するサーバとしてのSource機器と、コンテンツを要求し、コンテンツを受信し、再生若しくは記録するクライアントとしてのSink機器で構成される。図1には、本発明の一実施形態に係る情報通信システムの構成例を模式的に示している。
図示の例では、Source機器A〜B、Sink機器A〜B及び中継機器A〜Cの各エンティティにより、DTCP−IP AKEシステムが構築されている。
DTCP−IP に準拠した認証サーバであるSource機器AとDTCP−IPに準拠した認証クライアントであるSink機器Aが中継機器Aと中継機器Bを経由してネットワークで接続されている。
また、中継機器A、中継機器B、中継機器C を経由して、DTCP−IPに準拠した認証サーバであるSource機器BやDTCP−IPに準拠した認証クライアントであるSink機器BがIPネットワークで接続されている。
図2及び図3には、図1に示した情報通信システムにおいて、クライアント(すなわち、Sink機器)及びサーバ(すなわち、Source機器)として動作する情報通信装置の機能構成をそれぞれ模式的に示している。Sink機器とSource機器は、インターネットなどの図示しないTCP/IPネットワーク上でコネクションを確立することができ、このコネクションを利用して、認証手続きやコンテンツ伝送手続きを実行することができる。
図2に示すSink機器は、DTCP−IP規格に準拠しており、DTCP_Sinkとして動作する。図示のクライアント機器は、機能ブロックとして、DTCP−IP認証ブロックと、DTCP−IPコンテンツ受信ブロックと、コンテンツ再生/記録ブロックを備えている。
DTCP−IP認証ブロックは、AKEブロックと、メッセージ・ダイジェスト生成ブロックと、コンテンツ復号ブロックを備えている。
AKEブロックは、DTCP−IPにおけるAKE機構(DTCP_Sink側)を実現するブロックでる。このAKEブロックは後述のメッセージ・ダイジェスト生成ブロックから要求されたパラメータを渡す機能も備えている。
メッセージ・ダイジェスト生成ブロックは、指定されたアルゴリズムに従い、パラメータのメッセージ・ダイジェストを生成するブロックである。メッセージ・ダイジェストを生成するアルゴリズムはあらかじめ用意されたアルゴリズムを指定することができる。あらかじめ用意されたアルゴリズムとして、例えばMD5やSHA−1といった一方向性ハッシュ関数に関するアルゴリズムが挙げることができる(SHA−1は、MD5と同様、MD4を改良したものに相当するが、160ビットのハッシュ値を生成するので、強度はMDシリーズを上回る)。
メッセージ・ダイジェスト生成ブロックは、DTCP−IP認証ブロックの外に公開してはならないAKEブロックが保持するパラメータのメッセージ・ダイジェストを生成できるようにAKEブロックと密に配置され、AKEブロックへパラメータを要求して取得することが可能であり、そのパラメータ若しくは外部から与えられたパラメータのメッセージ・ダイジェストを作成することができる。
コンテンツ復号ブロックは、サーバから受信した暗号化されたコンテンツ・データをAKEで交換した鍵を用いてコンテンツの復号鍵を算出し、暗号コンテンツを復号するブロックである。ここで復号されたコンテンツは、コンテンツ再生/記録ブロックへ渡される。
コンテンツ再生/記録ブロックは、渡されたコンテンツを、再生モードの場合は再生を行ない、記録モードの場合は保存する。
DTCP−IPコンテンツ受信ブロックは、AKEを実施した後にコンテンツ伝送手続きを実行する処理モジュールである。図示の例では、DTCP−IPコンテンツ受信ブロックはHTTPクライアント・ブロックを持ち、HTTPクライアントとしてHTTPサーバへコンテンツを要求し、応答されたコンテンツをHTTPサーバから受信する。
HTTPクライアント・ブロックは、HTTPリクエスト管理ブロックとHTTPレスポンス管理ブロックに分かれる。さらに、HTTPリクエスト管理ブロックは、HTTPリクエスト送信ブロックとHTTPリクエスト生成ブロックへ分かれる。
HTTPリクエスト生成ブロックは、送信するコンテンツ伝送要求(HTTPリクエスト)を生成する。ここで生成されたHTTPリクエストは、HTTPリクエスト送信ブロックによりサーバへ送信される。
HTTPレスポンス管理ブロックは、HTTPレスポンス受信ブロックとHTTPレスポンス解釈ブロックに分かれる。サーバから返信されるHTTPレスポンスと暗号化されたコンテンツは、HTTP受信ブロックで受信される。ここで受信したHTTPレスポンスは、HTTPレスポンス解釈ブロックでチェックされる。ここでのチェックがOKの場合は受信した暗号化コンテンツをDTCP認証ブロック内のコンテンツ復号ブロックへ送る。また、このチェックがNGの場合は、エラー・レスポンスとしての処理を行なう。
DTCP−IP認証ブロックとDTCP−IPコンテンツ受信ブロックは、サーバ機器との間で個別のTCP/IPコネクションを確立して、それぞれ認証手続き及びコンテンツ伝送手続きを互いに独立して実行する。
また、図3に示すSource機器は、DTCP−IP規格に準拠しており、DTCP_Sourceとして動作する。サーバ機器は、機能ブロックとして、DTCP−IP認証ブロックと、DTCP−IPコンテンツ送信ブロックと、コンテンツ管理ブロックを備えている。
DTCP−IP認証ブロックは、AKEブロックと、メッセージ・ダイジェスト生成ブロックと、コンテンツ暗号化ブロックを備えている。
AKEブロックは、DTCP−IPにおけるAKE機構(DTCP_Source側)を実現するブロックである。このブロックは、後述のメッセージ・ダイジェスト生成ブロックから要求されたパラメータを渡す機能も備えている。AKEブロックは認証したDTCP_Sink機器に関する情報を認証した機器の数だけ保持し、それをクライアントからコンテンツが要求された際に認証済みのクライアントかどうかを判別するのに使用する。
メッセージ・ダイジェスト生成ブロックは、指定されたアルゴリズムに従い、パラメータのメッセージ・ダイジェストを生成するブロックである。メッセージ・ダイジェストを生成するアルゴリズムはあらかじめ用意されたアルゴリズムを指定できる。あらかじめ用意されたアルゴリズムとは、例えばMD5やSHA−1といった一方向性ハッシュ関数に関するアルゴリズムが挙げられる(同上)。
メッセージ・ダイジェスト生成ブロックは、DTCP−IP認証ブロックの外に公開してはならないAKEブロックが保持するパラメータのメッセージ・ダイジェストを生成できるようにAKEブロックと密に配置され、AKEブロックへパラメータを要求して取得することが可能で、そのパラメータ若しくは外部から与えられたパラメータのメッセージ・ダイジェストを作成することができる。
コンテンツ暗号化ブロックは、DTCP−IPコンテンツ送信ブロックの要求に応じて、コンテンツ管理ブロックより読み出したコンテンツ・データをAKEで交換した鍵から生成したコンテンツ鍵を用いて暗号化するブロックである。ここで復号されたコンテンツは、クライアントへ送信するために、DTCP−IPコンテンツ送信ブロックへ渡される。
コンテンツ管理ブロックは、DTCP−IPの機構を用いて保護されるべきコンテンツを管理するブロックである。コンテンツ暗号化ブロックの読み出しに応じて、コンテンツのデータを渡す。
DTCP−IPコンテンツ送信ブロックは、HTTPサーバ・ブロックを持ち、HTTPサーバとしてクライアントからのリクエストを受理し要求に応じた処理を実行する。
HTTPサーバ・ブロックは、HTTPリクエスト管理ブロックとHTTPレスポンス管理ブロックに分かれる。さらに、HTTPリクエスト管理ブロックは、HTTPリクエスト受信ブロックと、HTTPリクエスト解釈ブロックに分かれる。
HTTPリクエスト受信ブロックは、クライアントからのHTTPリクエストを受信する。受信したHTTPリクエストはHTTPリクエスト解釈ブロックに送られ、チェックされる。HTTPリクエスト解釈ブロックにおけるチェックがOKの場合、HTTPリクエストの情報をDTCP−IP認証ブロックへ通知する。
HTTPレスポンス管理ブロックは、HTTPレスポンス生成ブロックとHTTPレスポンス送信ブロックに分かれる。
HTTPレスポンス生成ブロックは、HTTPリクエスト解釈ブロックでのチェックがOKの場合、暗号化されたコンテンツを返すためのHTTPレスポンスを作成する。一方、HTTPリクエスト解釈ブロックでのチェックがNGの場合、エラーを返すためのHTTPレスポンスを作成する。
HTTPレスポンス送信ブロックは、作成されたHTTPレスポンスを、要求元のクライアントへHTTPレスポンスを送信する。また、HTTPリクエスト解釈ブロックでのチェックがOKの場合には、HTTPレスポンス・ヘッダに続けて、DTCP−IP認証ブロック内のコンテンツ暗号化ブロックで暗号化したコンテンツを送信する。
DTCP−IP認証ブロックとDTCP−IPコンテンツ送信ブロックは、Sink機器との間で個別のTCP/IPコネクションを確立して、それぞれ認証手続き及びコンテンツ伝送手続きを互いに独立して実行する。
なお、DTCP−Sink機器及びDTCP−Source機器がそれぞれDTCP−IP認証ブロック内に持つメッセージ・ダイジェスト生成ブロックは、DTCP−IP自体で規定される機能モジュールではなく、また本発明の要旨には直接関連しない。例えば、本出願人に既に譲渡されている特願2004−113459号公報には、この種のメッセージ・ダイジェスト生成ブロックについて記述されている。
B.HTTPを利用したコンテンツ伝送
DTCP−IPに準拠したコンテンツ伝送については既に説明したが、図6を参照しながらおさらいをしておく。
DTCP−IPに準拠したSource機器及びSink機器間でHTTPプロトコルを利用したコンテンツ伝送を実施する場合、TCPストリームのような長大なバイト・ストリームを途中でコンテンツ鍵を変更しながら暗号化通信が行なわれ、且つ、暗号化コンテンツの復号処理その他のコンテンツ処理を実施する際にコンテンツ鍵の確認手続きが行なわれる。また、相互認証及び鍵交換(AKE)、コンテンツ伝送、並びにコンテンツ鍵確認の手続き毎にTCPコネクションが確立される。
具体的には、AKE手続きが成功すると、DTCP_Source機器とDTCP_Sink機器は、認証鍵Kauthを共有することができ、それぞれ内部で同様の処理を行なってKauthからコンテンツ鍵の種となる種鍵Kxを生成する。Source機器は、乱数を用いてノンスNcを生成して、KxとNcを基にコンテンツ鍵Kcを生成し、Sink機器から要求されているコンテンツを、コンテンツ鍵Kcを用いて暗号化し、暗号化コンテンツとノンスNcからなるPCPをTCPストリーム上に乗せてSink機器に送信する。一方、Sink機器側では、TCPストリームからノンスNcを取り出すと、これと認証鍵Kauthから求めた鍵Kxを用いて同様にコンテンツ鍵Kcを算出し、暗号化コンテンツを復号することができる。
このように、DTCP−IPは、DTCPに準拠した機器同士で認証を行ない、DTCP認証が完了した機器同士で鍵を共有し、コンテンツを伝送する際に暗号化及び復号をすることにより、伝送路途中におけるコンテンツの盗聴、改竄を防ぐという、IPネットワーク上においても安全なコンテンツ伝送手法を提供することができる。
また、長大なTCPストリーム全体に渡り同じ暗号鍵を使用し続けると、鍵が解読される危険は高くなる。このため、Source機器は128MBのコンテンツ毎にノンスNcすなわちコンテンツ鍵Kcを更新する。そして、バイト・ストリームの途中で復号鍵が動的に変更されることから、コンテンツ鍵の確認手続きが必要となり、Sink機器は、Source機器に対しコンテンツ鍵確認のための手続きを行なう。
C.コンテンツ鍵確認手続き
コンテンツ鍵確認手続きでは、Sink機器は、検査用のノンスNcTを付加したCONT_KEY_CONFコマンドをSource機器に送る。Source機器側では、CONT_KEY_CONFコマンドを受信すると、検査用のノンスNcTを取り出して、現在のノンスNcと比較する。そして、現在のノンスNcがNcTとNcT+5の範囲にあるときには検査用のノンスNcTが有効であることを確認する。
そして、Source機器は、コンテンツ鍵が正しいことを確認した場合には その旨を示すACCEPTEDレスポンスをSink機器に返信するが、コンテンツ鍵が不正であることを確認した場合にはその旨を示すREJECTEDレスポンスを返信する(図8を参照のこと)。
一方、Sink機器は、コンテンツ要求先となるSource機器に対しCONT_KEY_CONFコマンドを送信した後、当該Source機器からのレスポンス受信を待機する。そして、Source機器からACCEPTEDレスポンスを受信したときには、さらにSink機器自身でコンテンツ鍵を確認し、コンテンツ鍵が正しい場合にはconfirmed状態となるが、コンテンツ鍵が不正である場合には non−confirmation状態となる。また、Sink機器がSource機器からREJECTEDレスポンスを受信したときにもnon−confirmation状態となる(図9を参照のこと)。
Sink機器は、non−confirmedでは、Sink機器は復号処理を継続できないが、最初のnon−confirmationとなってから1分間はコンテンツ鍵確認手続きを繰り返すことができる。そして、1分以内にconfirmedとなれば、受信コンテンツの復号処理を継続することができる。
Sink機器からのコンテンツ鍵確認要求に対するSource機器側の動作として、Source機器のビジー状態やネットワークの輻輳によってCONT_KEY_CONFコマンドのレスポンスが遅れることや、NOT_IMPLEMENTEDレスポンスが返されることも想定される。ところが、DTCP−IPでは、ACCEPTED/REJECTEDレスポンス以外の場合におけるSink機器の対処方法については明記されていない。
Sink機器が正しいコンテンツ鍵を持っている場合、レスポンスの遅延やSource機器からの通常あり得ないレスポンスによって、Sink機器側でのコンテンツ鍵確認判定が影響を受け、受信コンテンツの復号処理を行なうことができなくなると、Sink機器の動作として問題がある。
そこで、本実施形態では、Sink機器は、Source機器からNOT_IMPLEMENTEDを受信したときや、レスポンスに対するタイムアウトが発生したときに、即時に受信コンテンツの復号処理を停止するのではなく、(擬似的に)non−confirmationと判定することにより、Source機器に対してコンテンツ鍵の確認手続きを繰り返し行なうようにしている。したがって、Sink機器は、Source機器のビジー状態やネットワークの輻輳によってCONT_KEY_CONFのレスポンスの受信に遅れが生じる状況下であっても、その後にコンテンツ鍵が正しいことを確認できたときには、受信コンテンツの復号処理を継続して行なうことができる。
図4には、Sink機器において、コンテンツ鍵確認手続きを行なうための機能的構成を模式的に示している。
コマンド送信部11は、Source機器に対するコマンド送信を行なう。Source機器に対してコンテンツ鍵の確認を要求するときには、コンテンツ鍵確認用のTCPコネクションを確立して、検査用のノンスNcTを含んだCONT_KEY_CONFコマンドを送信する。
また、最初のnon−confirmationとなってから1分間はコンテンツ鍵確認手続きを繰り返すことが許容されているので、コマンド送信部11は、この猶予期間内にCONT_KEY_CONFコマンドをSource機器宛てに再度送信する。
レスポンス待機部12は、Source機器に対してコマンドを送信した後、TCPコネクション上で受信動作を行ない、Source機器からのレスポンスが届くのを待機する。
レスポンス受信部13は、送信したコマンドに対するSource機器からのレスポンスを受信処理する。送信コマンドがCONT_KEY_CONFコマンドであった場合には、Source機器からのレスポンスとして、コンテンツ鍵が正しかったことを示すACCEPTEDレスポンスと、正しくなかったことを示すREJECTEDレスポンスと、通常はあり得ないNOT_IMPLEMENTEDレスポンスが想定される。レスポンス受信部13は、受信したレスポンスがいずれであるかを解釈し、ACCEPTEDレスポンスであればコンテンツ鍵確認判定部15に通知する。また、Source機器からREJECTEDレスポンスが返されたときにはnon−confirmation状態になる。
また、DTCP−IPではACCEPTED/REJECTEDレスポンス以外の場合におけるSink機器の対処方法については明記されていないが、本実施形態では、レスポンス受信部13は、Source機器からNOT_IMPLEMENTEDレスポンスを受信したときにはnon−confirmation状態となるようにしている。
レスポンスに対するタイムアウト検出部14は、コマンド送信部からSource機器宛てにコマンドを送信してからSource機器からレスポンスが返されるまでのタイムアウトを検出する。例えば、Source機器のビジー状態やネットワークの輻輳によってレスポンスが遅れると、タイムアウトが検出される。
DTCP−IPでは、CONT_KEY_CONFコマンドのレスポンスが遅れたときのSink機器側での対処方法について特に明記していない。これに対し、本実施形態では、レスポンスに対するタイムアウト検出部14は、CONT_KEY_CONFコマンドのレスポンスが遅れたときにはnon−confirmation状態となるようにしている。
コンテンツ鍵確認判定部15は、Source機器からACCEPTEDレスポンスが返されたことをレスポンス受信部13から通知されると、MAC4AとMAC4Bが等しいかどうかに基づいてコンテンツ鍵の確認を行なう。そして、Sink機器自身でコンテンツ鍵が正しいことを確認できた場合にはSink機器はconfirmed状態になるが、Sink機器自身でのコンテンツ鍵確認に失敗した場合には、non−confirmation状態になる。
復号処理停止部16は、最初のnon−confirmationとなってから1分間にconfirmed状態とならなかった場合に、DTCP−IP認証ブロック内のコンテンツ復号ブロック(図2を参照のこと)における受信コンテンツの復号処理を停止する。
図5には、図4に示した機能的構成を備えたSink機器においてコンテンツ鍵確認手続きを行なうための処理手順をフローチャートの形式で示している。
コマンド送信部11がコンテンツ要求先となるSource機器に対しCONT_KEY_CONFコマンドを送信した後(ステップS31)、レスポンス待機部12は当該Source機器からのレスポンス受信を待機する(ステップS32)。そして、レスポンスに対するタイムアウト検出部14がタイムアウトを検出するまでは(ステップS43)、レスポンス待機部12はレスポンスの待機動作を継続する。
ここで、Source機器からレスポンスを受信したときには、レスポンス受信部13がレスポンスの種別を判定する(ステップS33)。そして、ACCEPTEDレスポンスを受信したときには(ステップS34)、コンテンツ鍵確認判定部15に通知して、コンテンツ鍵確認判定処理を起動する(ステップS35)。コンテンツ鍵確認判定部15は、MAC4AとMAC4Bが等しいかどうかに基づいてコンテンツ鍵の確認を行なう。そして、コンテンツ鍵が正しい場合にはconfirmed(ステップS36)、コンテンツ鍵が不正である場合には non−confirmationである(ステップS38)。
また、レスポンス受信部13がSource機器からREJECTEDレスポンスを受信したときには(ステップS37)、non−confirmationとなる(ステップS38)。本実施形態では、レスポンス受信部13がSource機器からNOT_IMPLEMENTEDレスポンスを受信したときにも(ステップS37)、non−confirmationとなる(ステップS38)。
また、本実施形態では、Source機器に対しCONT_KEY_CONFコマンドを送信した後、レスポンスに対するタイムアウト検出部14がタイムアウトを検出した場合にも(ステップS43)、non−confirmationとなる(ステップS38)。
confirmed状態では(ステップS36)、DTCP−IP認証ブロック内のコンテンツ復号ブロックは受信コンテンツの復号処理を継続して行なうことができる。他方、non−confirmation状態では(ステップS38)、Sink機器は復号処理を継続できない(前述)。但し、Sink機器は、最初のnon−confirmationとなってから1分間はコンテンツ鍵確認手続きを繰り返すことができるので(ステップS39)、ステップS31に戻り(ステップS40)、CONT_KEY_CONFコマンドを再発行する。
コンテンツ鍵確認手続きを再試行して、1分以内にconfirmedとなれば(ステップS36)、受信コンテンツの復号処理を継続することができる。しかし、1分間non−confirmationが継続した場合には(ステップS39)、受信コンテンツの復号処理を直ちに停止しなければならない(ステップS41)。
このように、図5に示した処理手順によれば、Sink機器は、Source機器からREJECTEDレスポンスを受信したときだけでなく、NOT_IMPLEMENTEDを受信したときや、レスポンスに対するタイムアウトが発生したときに、即時に受信コンテンツの復号処理を停止するのではなく、(擬似的に)non−confirmationと判定することにより、Source機器に対してコンテンツ鍵の確認手続きを繰り返し行なうことができる。したがって、Sink機器は、Source機器のビジー状態やネットワークの輻輳によってCONT_KEY_CONFのレスポンスの受信に遅れが生じる状況下であっても、その後にコンテンツ鍵が正しいことを確認できたときには、受信コンテンツの復号処理を継続して行なうことができる。
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
本明細書では、DTCP−IPに準拠した情報通信機器の間で相互認証及び鍵交換(AKE)、コンテンツ伝送、並びにコンテンツ鍵確認の手続き毎にTCPコネクションが確立されるという実施形態を例にとって説明してきたが、本発明の要旨はこれに限定されるものではない。IPプロトコルを利用したコンテンツ伝送手続きにおいて、暗号化コンテンツ伝送と、暗号化コンテンツの復号鍵の確認手続き用にそれぞれ別のTCPコネクションを確立するような他のタイプの情報通信システムに対しても、同様に本発明を適用することができる。
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
図1は、本発明の一実施形態に係る情報通信システムの構成例を模式的に示した図である。 図2は、図1に示した情報通信システムにおいて、クライアント(すなわち、Sink機器)として動作する情報通信装置の機能構成を模式的に示した図である。 図3は、図1に示した情報通信システムにおいて、サーバ(すなわち、Source機器)として動作する情報通信装置の機能構成を模式的に示した図である。 図4は、Sink機器においてコンテンツ鍵確認手続きを行なうための機能的構成を模式的に示した図である。 図5は、図4に示した機能的構成を備えたSink機器においてコンテンツ鍵確認手続きを行なうための処理手順を示したフローチャートである。 図6は、DTCP_Source機器とDTCP_Sink機器の間でAKEに基づく鍵交換手続き、及び鍵交換により共有した鍵を利用した暗号化コンテンツ伝送を行なう仕組みを説明するための図である。 図7は、コンテンツ鍵確認のためのSink機器とSource機器間の手続きを示した図である。 図8は、Source機器がSink機器との間でコンテンツ鍵確認手続きを行なうための処理手順を示したフローチャートである。 図9は、Sink機器がSource機器との間でコンテンツ鍵確認手続きを行なうための処理手順を示したフローチャートである。
符号の説明
11…コマンド送信部
12…レスポンス待機部
13…レスポンス受信部
14…レスポンスに対するタイムアウト検出部
15…コンテンツ鍵確認部
16…復号処理停止部

Claims (7)

  1. Source機器から伝送される暗号化コンテンツを受信処理する情報通信装置であって、
    暗号化コンテンツを受信するコンテンツ受信手段と、
    コンテンツ鍵を用いて暗号化コンテンツを復号処理するコンテンツ復号手段と、
    Source機器に対してコンテンツ鍵の確認を要求するコンテンツ鍵確認要求手段と、
    コンテンツ鍵確認要求に対するSource機器からのレスポンスに応じて、コンテンツ鍵確認手段と、
    前記コンテンツ鍵確認手段による確認結果に応じて前記コンテンツ復号手段による暗号化コンテンツの復号処理動作の継続又は停止を制御するコンテンツ復号処理制御手段を備え、
    前記コンテンツ復号処理制御手段は、コンテンツ鍵確認要求に対してSource機器から所望のレスポンスが得られなかったとき、又はレスポンス受信待機期間がタイムアウトしたときに、前記コンテンツ鍵確認要求手段によるコンテンツ鍵の確認要求の再試行を所定期間だけ許容する、
    ことを特徴とする情報通信装置。
  2. DTCP−IPにおけるSink機器として動作し、HTTPプロトコルを用いてSource機器との間でコンテンツ伝送を行なう際に、
    前記コンテンツ復号手段は、Source機器との相互認証手続きを経て共有する認証鍵と暗号化コンテンツに付加されるノンスからコンテンツ鍵を生成して、暗号化コンテンツを復号処理し、
    コンテンツ鍵確認要求手段は、検査用ノンスを含んだコンテンツ鍵確認要求コマンドをSource機器に送信し、
    前記コンテンツ鍵確認手段は、Source機器からACCEPTEDレスポンスを受信し且つ自らコンテンツ鍵の確認を行なって正しい鍵と判定するとconfirmed状態を出力し、Source機器からACCEPTEDレスポンスを受信したが自らコンテンツ鍵の確認を行なって正しい鍵と判定できない場合又はSource機器からREJECTEDレスポンスを受信したときにnon−confirmation状態を出力する、
    ことを特徴とする請求項1に記載の情報通信装置。
  3. DTCP−IPにおいてconfirmed状態では前記コンテンツ復号手段による暗号化コンテンツの復号処理動作の継続が許容され、non−confirmation状態では所定期間だけ前記コンテンツ鍵確認要求手段によるコンテンツ鍵の確認要求の再試行が許容され、
    前記コンテンツ鍵確認手段は、コンテンツ鍵確認要求に対してSource機器から所望のレスポンスが得られなかったとき、又はレスポンス受信待機期間がタイムアウトしたときに、non−confirmation状態を出力する、
    ことを特徴とする請求項2に記載の情報通信装置。
  4. Source機器から伝送される暗号化コンテンツを受信処理する情報通信方法であって、
    暗号化コンテンツを受信するコンテンツ受信ステップと、
    コンテンツ鍵を用いて暗号化コンテンツを復号処理するコンテンツ復号ステップと、
    Source機器に対してコンテンツ鍵の確認を要求するコンテンツ鍵確認要求ステップと、
    コンテンツ鍵確認要求に対するSource機器からのレスポンスに応じて、コンテンツ鍵確認ステップと、
    前記コンテンツ鍵確認ステップにおける確認結果に応じて前記コンテンツ復号手段による暗号化コンテンツの復号処理動作の継続又は停止を制御するコンテンツ復号処理制御ステップを備え、
    前記コンテンツ復号処理制御ステップでは、コンテンツ鍵確認要求に対してSource機器から所望のレスポンスが得られなかったとき、又はレスポンス受信待機期間がタイムアウトしたときに、前記コンテンツ鍵確認要求手段によるコンテンツ鍵の確認要求の再試行を所定期間だけ許容する、
    ことを特徴とする情報通信方法。
  5. DTCP−IPにおけるSink機器として動作し、HTTPプロトコルを用いてSource機器との間でコンテンツ伝送を行なう際に、
    前記コンテンツ復号ステップでは、Source機器との相互認証手続きを経て共有する認証鍵と暗号化コンテンツに付加されるノンスからコンテンツ鍵を生成して、暗号化コンテンツを復号処理し、
    コンテンツ鍵確認要求ステップでは、検査用ノンスを含んだコンテンツ鍵確認要求コマンドをSource機器に送信し、
    前記コンテンツ鍵確認ステップでは、Source機器からACCEPTEDレスポンスを受信し且つ自らコンテンツ鍵の確認を行なって正しい鍵と判定するとconfirmed状態を出力し、Source機器からACCEPTEDレスポンスを受信したが自らコンテンツ鍵の確認を行なって正しい鍵と判定できない場合又はSource機器からREJECTEDレスポンスを受信したときにnon−confirmation状態を出力する、
    ことを特徴とする請求項4に記載の情報通信方法。

  6. DTCP−IPにおいてconfirmed状態では前記コンテンツ復号ステップによる暗号化コンテンツの復号処理動作の継続が許容され、non−confirmation状態では所定期間だけ前記コンテンツ鍵確認要求ステップによるコンテンツ鍵の確認要求の再試行が許容され、
    前記コンテンツ鍵確認ステップでは、コンテンツ鍵確認要求に対してSource機器から所望のレスポンスが得られなかったとき、又はレスポンス受信待機期間がタイムアウトしたときに、non−confirmation状態を出力する、
    ことを特徴とする請求項5に記載の情報通信方法。
  7. Source機器から伝送される暗号化コンテンツの受信処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
    暗号化コンテンツを受信するコンテンツ受信手順と、
    コンテンツ鍵を用いて暗号化コンテンツを復号処理するコンテンツ復号手順と、
    Source機器に対してコンテンツ鍵の確認を要求するコンテンツ鍵確認要求手順と、
    コンテンツ鍵確認要求に対するSource機器からのレスポンスに応じて、コンテンツ鍵確認手順と、
    前記コンテンツ鍵確認手順における確認結果に応じて前記コンテンツ復号手順による暗号化コンテンツの復号処理動作の継続又は停止を制御するコンテンツ復号処理制御手順を実行させ、
    前記コンテンツ復号処理制御手順では、コンテンツ鍵確認要求に対してSource機器から所望のレスポンスが得られなかったとき、又はレスポンス受信待機期間がタイムアウトしたときに、前記コンテンツ鍵確認要求手順によるコンテンツ鍵の確認要求の再試行を所定期間だけ許容する、
    ことを特徴とするコンピュータ・プログラム。
JP2005220474A 2005-07-29 2005-07-29 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム Expired - Fee Related JP4736603B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005220474A JP4736603B2 (ja) 2005-07-29 2005-07-29 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005220474A JP4736603B2 (ja) 2005-07-29 2005-07-29 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2007036953A JP2007036953A (ja) 2007-02-08
JP4736603B2 true JP4736603B2 (ja) 2011-07-27

Family

ID=37795612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005220474A Expired - Fee Related JP4736603B2 (ja) 2005-07-29 2005-07-29 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP4736603B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3487425B2 (ja) * 2000-05-08 2004-01-19 日本電気株式会社 輻輳制御方法及び方式
JP4502487B2 (ja) * 2000-09-21 2010-07-14 三洋電機株式会社 携帯端末装置
JP2003044398A (ja) * 2001-08-02 2003-02-14 Nippon Telegr & Teleph Corp <Ntt> コンテンツ再生方法及び装置と、コンテンツ再生指示方法及び装置と、コンテンツ再生プログラム及びそのプログラムの記録媒体と、コンテンツ再生指示プログラム及びそのプログラムの記録媒体
JP2003324712A (ja) * 2002-05-07 2003-11-14 Sony Corp ストリーミングデータ配信方法、データ配信サーバ及びデータ受信装置
JP4136771B2 (ja) * 2003-04-23 2008-08-20 キヤノン株式会社 通信システム、通信装置、及びその制御方法、並びにコンピュータプログラム
JP4171346B2 (ja) * 2003-05-13 2008-10-22 学校法人 大阪学院大学 コンテンツ配信システム及びコンテンツ配信方法
JP4580871B2 (ja) * 2003-12-11 2010-11-17 パナソニック株式会社 パケット送信装置

Also Published As

Publication number Publication date
JP2007036953A (ja) 2007-02-08

Similar Documents

Publication Publication Date Title
JP4518058B2 (ja) コンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム
JP4674502B2 (ja) 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
JP4581955B2 (ja) コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム
JP5457451B2 (ja) データ交換処理装置およびデータ交換処理方法
US8468350B2 (en) Content transmission apparatus, content reception apparatus and content transmission method
US6542610B2 (en) Content protection for digital transmission systems
JP3814620B2 (ja) 情報処理装置および情報処理方法
JP4350714B2 (ja) 送信装置、受信装置及び送信方法
US7627905B2 (en) Content transfer system, content transfer method, content transmitting apparatus, content transmission method, content receiving apparatus, content reception method, and computer program
EP1902540B1 (en) Method and apparatus for establishing a communication key between a first communication partner and a second communication partner using a third party
JP2004533194A (ja) データを交換するように構成されたデバイスおよび認証の方法
KR20070078065A (ko) 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송방법, 및 컴퓨터 프로그램
US20090041424A1 (en) Transmitting-side recording and reproducing apparatus, and receiving-side recording and reproducing apparatus
JP4910324B2 (ja) 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
JP2006339900A (ja) データ送信装置、データ受信装置、データ送信方法およびデータ受信方法
JP4883199B2 (ja) コンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム
JP4439558B2 (ja) コンテンツ鍵生成装置、コンテンツ受信装置およびコンテンツ伝送方法
JP4736603B2 (ja) 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
JP2007036952A (ja) 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
JP2007036350A (ja) 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
JP2007043475A (ja) 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110323

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110418

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees