JP2007036952A - 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム - Google Patents
情報通信装置及び情報通信方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP2007036952A JP2007036952A JP2005220473A JP2005220473A JP2007036952A JP 2007036952 A JP2007036952 A JP 2007036952A JP 2005220473 A JP2005220473 A JP 2005220473A JP 2005220473 A JP2005220473 A JP 2005220473A JP 2007036952 A JP2007036952 A JP 2007036952A
- Authority
- JP
- Japan
- Prior art keywords
- content
- content key
- key
- nonce
- transmission
- 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.)
- Pending
Links
Images
Abstract
【課題】 コンテンツ鍵を生成するコンテンツ伝送手続きが終了した後もコンテンツ鍵の確認を適正に実施する。
【解決手段】 Source機器は、コンテンツ伝送用のTCPコネクションが終了した後もノンスNcを即座に削除しない。コンテンツ伝送用のTCPコネクションが終了した後に、Sink機器側からコンテンツ鍵の確認要求を受けても、コンテンツ鍵の判定を適正に行なうことができる。Sink機器は、受信した暗号化コンテンツの復号処理を行なう際、コンテンツ鍵確認要求に対して正しい判定結果を得ることができるので、受信コンテンツの復号処理を停止しなくて済む。
【選択図】 図5
【解決手段】 Source機器は、コンテンツ伝送用のTCPコネクションが終了した後もノンスNcを即座に削除しない。コンテンツ伝送用のTCPコネクションが終了した後に、Sink機器側からコンテンツ鍵の確認要求を受けても、コンテンツ鍵の判定を適正に行なうことができる。Sink機器は、受信した暗号化コンテンツの復号処理を行なう際、コンテンツ鍵確認要求に対して正しい判定結果を得ることができるので、受信コンテンツの復号処理を停止しなくて済む。
【選択図】 図5
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(Protected Content Packet)というパケット形式でコンテンツ伝送が行なわれる。1つのPCPが同じ復号鍵で復号することができる復号化単位に相当する。Sink機器は、コンテンツ・ストリーム毎に、最も新しく受信したPCPのノンスNcの値を確認し、さらに動的に変更される後続のノンスについても2分間隔で再確認しなければならない。但し、Sink機器がノンスを初期確認した後に後続のノンスNcの値が単調に増大する連続的な数値であることを監視し確認する場合には、周期的なコンテンツ鍵確認の手続きを省略することができる。
各コンテンツ・ストリームにおいて、Sink機器は、未確認の初期ノンスを取得すると、当該コンテンツ・ストリームに関して暗号化コンテンツの復号を終了しなければならなくなる前に、コンテンツ鍵の確認を再試行する猶予期間が1分間だけ与えられる。そして、Sink機器は、この猶予期間を利用してノンスNcの確認に成功すると、暗号化コンテンツの復号動作を回復することができる。
図7には、コンテンツ鍵確認のためのSink機器とSource機器間の手続きを示している。但し、Rは64ビット値で、初期は乱数であるが、後続の試行では1 mod 264でインクリメントするとともに、以下の通りとする。
MX=SHA−1(Kx||Kx)
MAC3A=MAC3B=[SHA−1(MX+NcT+R)]msb80
MAC4A=MAC4B=[SHA−1(MX+NcT+R)]lsb80
(上式で、“+”はmod264の加算を意味するために使用される。)
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)、コンテンツ鍵を確認する(ステップS14)。このとき、コンテンツ鍵が正しい場合にはconfirmed(ステップS15)、コンテンツ鍵が不正である場合には non−confirmationである(ステップS17)。また、Sink機器がSource機器からREJECTEDレスポンスを受信したときには(ステップS16)、non−confirmationである(ステップS17)。
ここで、confirmedはCONT_KEY_CONFによりコンテンツ鍵が正しいことが確認された状態、non−confirmedはCONT_KEY_CONFによりコンテンツ鍵が不正であることが確認された状態であり、いずれもDTCP Volume 1 Supplement E SectionV1SE8.6に規定されている。
confirmedでは、Sink機器は受信コンテンツの復号処理を継続して行なうことができる。他方、non−confirmedでは、Sink機器は復号処理を継続できない。
但し、Sink機器は、最初のnon−confirmationとなってから1分間はコンテンツ鍵確認手続きを繰り返すことができるので(ステップS18)、ステップS11に戻り(ステップS20)、CONT_KEY_CONFコマンドを再発行する。
コンテンツ鍵確認手続きを再試行して、1分以内にconfirmedとなれば(ステップS15)、受信コンテンツの復号処理を継続することができる。しかし、1分間non−confirmationが継続した場合には(ステップS18)、受信コンテンツの復号処理を直ちに停止しなければならない(ステップS19)。
DTCP−IPによりSource機器からSink機器へHTTPプロトコルを利用してコンテンツ伝送を行なう場合、以下の事柄を理解されたい。
(1)Source機器とSink機器間では、認証及び鍵交換(AKE)、コンテンツ伝送、コンテンツ鍵確認の手続き毎に、別々のTCPコネクションを確立する。
(2)認証及び鍵交換(AKE)、コンテンツ伝送、コンテンツ鍵確認それぞれの手続きが終了すると、他の手続きが係属しているかどうかに拘らず、該当するTCPコネクションを切断することができる。
(3)HTTPプロトコルを利用したコンテンツ伝送用のTCPコネクションを初期化する際に、Source機器はノンスNcを生成する。また、Source機器は、ノンスNcを動的に変更する。
(2)認証及び鍵交換(AKE)、コンテンツ伝送、コンテンツ鍵確認それぞれの手続きが終了すると、他の手続きが係属しているかどうかに拘らず、該当するTCPコネクションを切断することができる。
(3)HTTPプロトコルを利用したコンテンツ伝送用のTCPコネクションを初期化する際に、Source機器はノンスNcを生成する。また、Source機器は、ノンスNcを動的に変更する。
ここで、DTCP−IPの規格では、ノンスNcの起点について最初のTCPコネクションが確立される時と明記されているが、Ncの終点についての記述はない。したがって、Source機器は、コンテンツ伝送用のTCPコネクションが終了したときにNcを削除しても規格上は問題がない。むしろ、Ncの漏洩を防止するためには、Source機器はコンテンツ伝送用のTCPコネクションを終了すると同時に削除することが道理とも言える。
ところが、例えばコンテンツ受信後にもSink機器側ではコンテンツ再生処理をしばらく継続している場合など、コンテンツ伝送用のTCPコネクションを終了した後にもコンテンツ鍵確認手続きを行なわなければならないことがある。Sink機器がコンテンツ鍵の確認を行なうにはSource機器側で生成又は更新したノンスNcが必要である。すなわち、Source機器がノンスNcを保持していないと、CONT_KEY_CONFに対してコンテンツ鍵の判定を正しく行なうことができない。
図10には、Source機器がコンテンツ伝送手続きに伴うノンスNcの生成及び削除とコンテンツ鍵確認手続きを行なうための処理手順をフローチャートの形式で示している。
Source機器は、コンテンツ伝送用のTCPコネクションを初期化する際にノンスNcを生成し(ステップS31)、当該TCPコネクションを確立してから(ステップS32)、HTTPプロトコルを利用したコンテンツ伝送を行なう。そして、コンテンツ伝送を終了すると、TCPコネクションを終了し(ステップS33)、伝送コンテンツの暗号化に使用したノンスNcを削除する(ステップS34)。
Source機器がノンスNcを削除した後、コンテンツ伝送先となるSink機器からコンテンツ確認を要求するCONT_KEY_CONFコマンドを受信する(ステップS35)。
コンテンツ鍵を確認処理するには、Source機器がノンスNcを保持している必要がある。ここでは、ノンスNcを既に削除してしまっているので、Source機器がコンテンツ鍵の確認手続きを実施することはもはや不能であることから、コンテンツ鍵が不正であると判定し(ステップS36)、要求元のSink機器に対しREJECTEDレスポンスを返す他ない(ステップS37)。
これに対し、Sink機器側では、Source機器からREJECTEDレスポンスを受信してnon−confirmationとなる。そして、最初のnon−confirmationとなってから1分間はコンテンツ鍵確認手続きを繰り返すことができるものの、Source機器側ではもはやコンテンツ鍵の確認を行なえないのでREJECTEDレスポンスを返し続ける。この結果、non−confirmedが1分間継続し、Sink機器側では受信コンテンツの復号処理を直ちに停止しなければならない。
このような場合、Sink機器は、コンテンツを正当に利用する権限があり、相互認証及び鍵交換(AKE)及びコンテンツ伝送の各手続きを成功裏に終了し、正しいコンテンツ鍵を持っていながらも、コンテンツ伝送用のTCPコネクション終了後にSource機器がノンスNcを削除したという理由により、コンテンツの利用が不可能になるという不条理が生ずる。
ちなみに、DTCP−IPによるコンテンツ伝送にHTTPではなくRTPプロトコルを利用する場合には、TCPコネクション初期化時にノンスを生成するのではなく、Source機器毎に保持するノンスを使用するので、セッションが断たれてもノンスが消失することはなく、上記のような問題はない。但し、RTPプロトコルを用いたコンテンツ伝送は本発明の要旨とは直接関連しないので、これ以上説明しない。
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手続きを介して共有されるコンテンツ鍵を使用して暗号化コンテンツの復号処理その他のコンテンツ処理を実施する際にコンテンツ鍵の確認手続きを好適に行なうことができる、優れた情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することにある。
本発明のさらなる目的は、相互認証及び鍵交換(AKE)、コンテンツ伝送、並びにコンテンツ鍵確認の手続き毎にTCPコネクションが確立され、コンテンツ鍵を生成するコンテンツ伝送手続きが終了した後もコンテンツ鍵の確認を適正に実施することができる、優れた情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することにある。
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、コンテンツを暗号化伝送する情報通信装置であって、
コンテンツ鍵を生成するコンテンツ鍵生成手段と、
コンテンツ鍵を用いてコンテンツを暗号化するコンテンツ暗号化手段と、
暗号化コンテンツを伝送するコンテンツ伝送手段と、
コンテンツ伝送先となる機器からのコンテンツ鍵確認要求に応じて、前記コンテンツ鍵生成手段により生成したコンテンツ鍵を正誤判定するコンテンツ鍵確認手段と、
コンテンツ鍵の正誤判定が不要となるタイミングでコンテンツ鍵を削除するコンテンツ鍵削除手段と、
を具備することを特徴とする情報通信装置である。
コンテンツ鍵を生成するコンテンツ鍵生成手段と、
コンテンツ鍵を用いてコンテンツを暗号化するコンテンツ暗号化手段と、
暗号化コンテンツを伝送するコンテンツ伝送手段と、
コンテンツ伝送先となる機器からのコンテンツ鍵確認要求に応じて、前記コンテンツ鍵生成手段により生成したコンテンツ鍵を正誤判定するコンテンツ鍵確認手段と、
コンテンツ鍵の正誤判定が不要となるタイミングでコンテンツ鍵を削除するコンテンツ鍵削除手段と、
を具備することを特徴とする情報通信装置である。
本発明は、IPネットワーク上で著作権保護が必要となる情報コンテンツを伝送する情報通信システムに関するものであり、特に、具体的には、DTCP−IPに準拠した情報通信機器の間で相互認証及び鍵交換(AKE)のためのAKEコマンドを送受信し、相互認証及び鍵交換を経て共有した鍵を用いて暗号化コンテンツ伝送を安全に行なう情報通信システムに関する。
この種の情報通信システムでは、TCPストリームのような長大なバイト・ストリームを途中でコンテンツ鍵を変更しながら暗号化通信が行なわれ、且つ、暗号化コンテンツの復号処理を実施する際にコンテンツ鍵の確認手続きが行なわれる。また、相互認証及び鍵交換(AKE)、コンテンツ伝送、並びにコンテンツ鍵確認の手続き毎にTCPコネクションが確立される。
DTCP−IPの規格では、ノンスNcの起点について最初のTCPコネクションが確立される時と明記されているが、Ncの終点についての記述はなく、Source機器はコンテンツ伝送用のTCPコネクションが終了したときにNcを削除しても規格上は問題がない。
ところが、例えばコンテンツ伝送を終了した後にもSink機器側ではコンテンツ再生処理をしばらく継続している場合など、コンテンツ伝送用のTCPコネクションを終了した後にもコンテンツ鍵確認手続きを行なわなければならないことがある。このため、Source機器がコンテンツ伝送用のTCPコネクションが終了したときにNcを削除すると、それ以後はコンテンツ鍵の判定を正しく行なうことができなくなる、という問題がある。
これに対し、本発明に係る情報通信装置によれば、コンテンツ鍵削除手段はコンテンツ鍵の正誤判定が不要となるタイミングでコンテンツ鍵を削除するようにしている。言い換えれば、DTCP−IPにおけるSource機器としてHTTPプロトコルを用いてSink機器にコンテンツ伝送を行なう場合に、コンテンツ伝送用のTCPコネクションが終了した後もノンスNcを即座に削除しないようにしている。
したがって、コンテンツ伝送用のTCPコネクションが既に終了している状態でSink機器側からコンテンツ鍵の確認要求を受けても、Source機器はコンテンツ鍵の判定を適正に行なうことができる。
この結果、Sink機器側では、コンテンツ伝送用のTCPコネクションが既に終了している状態であっても、受信した暗号化コンテンツの復号処理を行なう際などにおいてコンテンツ鍵を確認する必要が生じたときには、Source機器に対してコンテンツ鍵確認要求を発行し、正しい判定結果を得ることができるので、受信コンテンツの復号処理を停止しなくて済む。
本発明に係る情報通信装置がDTCP−IPにおけるSource機器として動作して、HTTPプロトコルを用いてSink機器にコンテンツ伝送を行なう場合には、Sink機器との間で、相互認証、コンテンツ伝送、及びコンテンツ鍵確認の各手続きを行なうためのTCPコネクションの確立及び終了を行なうTCPコネクション管理手段をさらに備えるものとする。
情報通信装置がDTCP−IPにおけるSource機器として動作する場合、Sink機器との相互認証手続きの際に認証鍵を共有し、前記コンテンツ鍵生成手段はノンスを生成し、前記コンテンツ暗号化手段は、認証鍵及びノンスを用いて得られる暗号鍵を用いてコンテンツを暗号化し、前記コンテンツ伝送手段は、暗号化コンテンツにノンスを付加してコンテンツ伝送を行なうことになる。そして、前記コンテンツ鍵確認手段は、検査用ノンスを含んだコンテンツ鍵確認要求コマンドを受信して、該検査用ノンスと前記コンテンツ鍵生成手段により生成したノンスと正誤判定し、結果をSink機器に通知する。また、前記コンテンツ鍵生成手段は、前記コンテンツ伝送手段がコンテンツ伝送を行なう期間において、コンテンツ鍵を動的に変更する。
このような場合、前記コンテンツ鍵生成手段は、Sink機器との間でコンテンツ伝送用のTCPコネクションを初期化する際にコンテンツ鍵を生成する。そして、前記コンテンツ鍵削除手段は、Sink機器とのコンテンツ伝送用のTCPコネクションを終了してから所定期間が経過した後にコンテンツ鍵を削除するようにすることで、コンテンツ伝送用のTCPコネクションが既に終了している状態でSink機器側からコンテンツ鍵の確認要求を受けても、コンテンツ鍵の判定を適正に行なうことができる。
また、本発明の第2の側面は、コンテンツを暗号化伝送するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
コンテンツ鍵を生成するコンテンツ鍵生成手順と、
コンテンツ鍵を用いてコンテンツを暗号化するコンテンツ暗号化手順と、
暗号化コンテンツを伝送するコンテンツ伝送手順と、
コンテンツ伝送先となる機器からのコンテンツ鍵確認要求に応じて、前記コンテンツ鍵生成手段により生成したコンテンツ鍵を正誤判定するコンテンツ鍵確認手順と、
コンテンツ鍵の正誤判定が不要となるタイミングでコンテンツ鍵を削除するコンテンツ鍵削除手順と、
を実行させることを特徴とするコンピュータ・プログラムである。
コンテンツ鍵を生成するコンテンツ鍵生成手順と、
コンテンツ鍵を用いてコンテンツを暗号化するコンテンツ暗号化手順と、
暗号化コンテンツを伝送するコンテンツ伝送手順と、
コンテンツ伝送先となる機器からのコンテンツ鍵確認要求に応じて、前記コンテンツ鍵生成手段により生成したコンテンツ鍵を正誤判定するコンテンツ鍵確認手順と、
コンテンツ鍵の正誤判定が不要となるタイミングでコンテンツ鍵を削除するコンテンツ鍵削除手順と、
を実行させることを特徴とするコンピュータ・プログラムである。
本発明の第2の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第2の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第1の側面に係る情報通信装置と同様の作用効果を得ることができる。
本発明によれば、IPネットワーク上で別の情報機器との間でDTCP−IPに準拠した相互認証及び鍵交換(AKE)手続き、並びにHTTPプロトコルを利用した暗号化コンテンツ伝送、並びに伝送コンテンツの復号化や再生その他のコンテンツ処理を好適に実行することができる、優れた情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することができる。
また、本発明によれば、DTCP−IPに準拠したAKE手続きを介して共有されるコンテンツ鍵を使用して暗号化コンテンツの復号処理を実施する際にコンテンツ鍵の確認手続きを好適に行なうことができる、優れた情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することができる。
また、本発明によれば、相互認証及び鍵交換(AKE)、コンテンツ伝送、並びにコンテンツ鍵確認の手続き毎にTCPコネクションが確立され、コンテンツ鍵を生成するコンテンツ伝送手続きが終了した後もコンテンツ鍵の確認を適正に実施することができる、優れた情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することができる。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
以下、図面を参照しながら本発明の実施形態について詳解する。
本発明は、TCP/IPなどのネットワーク上やファイル・システムからバイト・ストリームとして暗号データを受理して復号する情報通信システムに関する。本発明に係る情報通信システムでは、Source機器とSink機器間でTCPストリームのような長大なバイト・ストリームでコンテンツ伝送する途中でコンテンツ鍵を動的に変更し、且つ、Sink機器はSource機器に対してコンテンツ鍵の確認手続きを適宜行なう。また、この情報通信システムでは、相互認証及び鍵交換(AKE)、コンテンツ伝送、並びにコンテンツ鍵確認の手続き毎にTCPコネクションが確立される。かかるシステムの具体例は、DTCP_Source機器とDTCP_Sink機器の間で行なわれるHTTPプロトコルを利用したコンテンツ伝送である。
A.システム構成
DTCP−IPに従ったコンテンツ伝送は、コンテンツの要求を受理してコンテンツを送信するサーバとしてのSource機器と、コンテンツを要求し、コンテンツを受信し、再生若しくは記録するクライアントとしてのSink機器で構成される。図1には、本発明の一実施形態に係る情報通信システムの構成例を模式的に示している。
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に準拠したコンテンツ伝送については既に説明したが、図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が有効であることを確認する。
コンテンツ鍵確認手続きでは、Sink機器は、検査用のノンスNcTを付加したCONT_KEY_CONFコマンドをSource機器に送る。Source機器側では、CONT_KEY_CONFコマンドを受信すると、検査用のノンスNcTを取り出して、現在のノンスNcと比較する。そして、現在のノンスNcがNcTとNcT+5の範囲にあるときには検査用のノンスNcTが有効であることを確認する。
ところが、DTCP−IPの規格では、ノンスNcの起点について最初のTCPコネクションが確立される時と明記されているが、Ncの終点についての記述はないため、Source機器側でCONT_KEY_CONFコマンドに対して適正なコンテンツ鍵確認処理を行なえなくなるという問題がある。
例えば、コンテンツ受信後にもSink機器側ではコンテンツ再生処理をしばらく継続している場合など、コンテンツ伝送用のTCPコネクションを終了した後にもコンテンツ鍵確認手続きを行なわなければならないことがある。Sink機器がコンテンツ鍵の確認を行なうには、Source機器側で生成又は更新したノンスNcが必要である。しかしながら、コンテンツ伝送用のTCPコネクションが終了した際にSource機器がノンスNcを既に削除してしまっていると、CONT_KEY_CONFに対してコンテンツ鍵の判定を正しく行なうことができない。
そこで、本実施形態では、Source機器となる情報通信装置は、コンテンツ伝送用のTCPコネクションが終了した後もノンスNcを即座に削除せず、TCPコネクションが終了してから所定期間が経過した後に、ノンスNcを削除するようにしている。ここでいう所定期間とは、例えばSink機器側でコンテンツを受信完了してから暗号コンテンツの復号処理を終えるまでに要する数分程度の時間である。具体的には、コンテンツ鍵の正誤判定が不要となるタイミングでコンテンツ鍵を削除するようにすることで、コンテンツ伝送用のTCPコネクションが既に終了している状態でSink機器側からコンテンツ鍵の確認要求を受けても、Source機器はコンテンツ鍵の判定を適正に行なうことができる。
図4には、Source機器において、コンテンツ伝送手続き適応してコンテンツ鍵の生成と削除、並びにコンテンツ鍵確認手続きを行なうための機能的構成を模式的に示している。
TCPコネクション確立部11は、Sink機器からのHTTPリクエストなどのコンテンツ伝送要求などに応じて、Sink機器との間でコンテンツ伝送用のTCPコネクションを確立する。
TCPコネクション終了部12は、Sink機器へのコンテンツ伝送が終了したときや、何らかの理由によりコンテンツ伝送を停止するときに、TCPコネクション確立部11により確立されたTCPコネクションを終了する。
ノンス生成部13は、TCPコネクション確立部11によりコンテンツ伝送用のTCPコネクションを初期化する際に、ノンスNcを生成する。ノンスNcから伝送コンテンツを暗号化/復号するためのコンテンツ鍵Kcを作成することができるが、その仕組みは図6を参照しながら説明した通りである。また、ノンス生成部13は、128MBのバイト・データ毎にノンスNcを動的に変更する。
ノンス削除部14は、TCPコネクション終了部12によりコンテンツ伝送用のTCPコネクションが終了し、伝送コンテンツ暗号用のノンスNcが不要となったときに、ノンス生成部13により生成され当該システム内に保持されているノンスをシステムから削除する。本実施形態では、ノンス削除部14は内部にタイマ機能(図示しない)を備え、TCPコネクション終了部12によりTCPコネクションが終了してからの経過時間を計時し、コンテンツ鍵の正誤判定が不要となるタイミングでコンテンツ鍵を削除するようになっている。
コマンド受信部15は、コンテンツ伝送先となるSink機器からのコンテンツ確認要求を受信する。Sink機器は、CONT_KEY_CONF subfunctionを用いて、現在のノンスNcに関連付けられたコンテンツ鍵の確認を行なう。CONT_KEY_CONFコマンドには検査用のノンスNcTが含まれており、コマンド受信部15は受信したCONT_KEY_CONFコマンドから検査用のノンスNcTを取り出して、コンテンツ鍵確認判定部16に渡す。
コンテンツ鍵確認判定部16は、検査用のノンスNcTと現在のノンスNcと比較して、その確認判定を行なう。具体的には、現在のノンスNcがNcTとNcT+5の範囲にあるときには検査用のノンスNcTが有効であることを確認する。
レスポンス返信部17は、コンテンツ鍵確認判定部16におけるコンテンツ鍵の確認判定結果のレスポンスを要求元のSink機器に送信する。コンテンツ鍵が正しいことを確認した場合にはACCEPTEDレスポンスを、コンテンツ鍵が不正であることを確認した場合にはその旨を示すREJECTEDレスポンスを返信する。
図5には、図4に示した機能的構成を備えたSource機器において、コンテンツ伝送手続きに伴うノンスNcの生成及び削除とコンテンツ鍵確認手続きを行なうための処理手順をフローチャートの形式で示している。
ノンス生成部13は、TCPコネクション確立部11においてコンテンツ伝送用のTCPコネクションを初期化する際にノンスNcを生成する(ステップS41)。そして、当該TCPコネクションを確立してから(ステップS42)、HTTPプロトコルを利用したコンテンツ伝送を行なう。
その後、コンテンツ伝送を終了すると、TCPコネクション終了部12はTCPコネクションを終了する(ステップS43)。そして、ノンス削除部14は、TCPコネクション終了に応答して、ノンスNcを削除するタイミングを決定するためにタイマを起動する(ステップS44)。
一方、Sink機器側では、受信した暗号コンテンツを復号処理する際、必要に応じてコンテンツ鍵の確認を要求するCONT_KEY_CONFコマンドを送信する。
コマンド受信部15は、CONT_KEY_CONFコマンドを受信すると(ステップS45)、当該コマンドから検査用のノンスNcTを取り出して、コンテンツ鍵確認判定部16に渡す。
コンテンツ鍵確認判定部16は、検査用のノンスNcTと現在のノンスNcと比較して、その確認判定を行なう(ステップS46)。すなわち、現在のノンスNcがNcTとNcT+5の範囲にあるときには検査用のノンスNcTが有効であることを確認する。コンテンツ鍵を確認処理するには、Source機器がノンスNcを保持している必要がある。ここでは、ノンスNc削除用のタイマがタイムアウトしていないので、Source機器は適正にコンテンツ鍵の確認処理を実施することができる。
レスポンス返信部17は、コンテンツ鍵確認判定部16におけるコンテンツ鍵の確認判定結果のレスポンスを要求元のSink機器に送信する。コンテンツ鍵が正しいことを確認した場合にはACCEPTEDレスポンスを返信し(ステップS47)、コンテンツ鍵が不正であることを確認した場合にはその旨を示すREJECTEDレスポンスを返信する(ステップS48)。
そして、ノンス削除部14は、TCPコネクション終了に応答して起動したタイマがタイムアウトすると(ステップS49)、ノンス生成部13により生成され当該システム内に保持されているノンスNcをシステムから削除する。これは、コンテンツ鍵の正誤判定が不要となるタイミングでコンテンツ鍵を削除することに相当する。
一方、Sink機器は図9に示した処理手順に従ってコンテンツ鍵確認手続きを実施すればよい。上述したように、Source機器は、コンテンツ伝送用のTCPコネクションが終了した後もノンスNcを即座に削除しない。したがって、Sink機器は、コンテンツ伝送用のTCPコネクションが既に終了している状態であっても、受信した暗号化コンテンツの復号処理を行なう際などにおいてコンテンツ鍵を確認する必要が生じたときには、Source機器に対してコンテンツ鍵確認要求を発行し、正しい判定結果を得ることができるので、受信コンテンツの復号処理を停止しなくて済む。
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
本明細書では、DTCP−IPに準拠した情報通信機器の間で相互認証及び鍵交換(AKE)、コンテンツ伝送、並びにコンテンツ鍵確認の手続き毎にTCPコネクションが確立されるという実施形態を例にとって説明してきたが、本発明の要旨はこれに限定されるものではない。IPプロトコルを利用したコンテンツ伝送手続きにおいて、暗号化コンテンツ伝送と、暗号化コンテンツの復号鍵の確認手続き用にそれぞれ別のTCPコネクションを確立するような他のタイプの情報通信システムに対しても、同様に本発明を適用することができる。
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
11…TCPコネクション確立部
12…TCPコネクション終了部
13…ノンス生成部
14…ノンス削除部
15…コマンド受信部
16…コンテンツ鍵確認判定部
17…レスポンス返信部
12…TCPコネクション終了部
13…ノンス生成部
14…ノンス削除部
15…コマンド受信部
16…コンテンツ鍵確認判定部
17…レスポンス返信部
Claims (11)
- コンテンツを暗号化伝送する情報通信装置であって、
コンテンツ鍵を生成するコンテンツ鍵生成手段と、
コンテンツ鍵を用いてコンテンツを暗号化するコンテンツ暗号化手段と、
暗号化コンテンツを伝送するコンテンツ伝送手段と、
コンテンツ伝送先となる機器からのコンテンツ鍵確認要求に応じて、前記コンテンツ鍵生成手段により生成したコンテンツ鍵を正誤判定するコンテンツ鍵確認手段と、
コンテンツ鍵の正誤判定が不要となるタイミングでコンテンツ鍵を削除するコンテンツ鍵削除手段と、
を具備することを特徴とする情報通信装置。 - DTCP−IPにおけるSource機器として動作し、HTTPプロトコルを用いてSink機器にコンテンツ伝送を行ない、
Sink機器との間で、相互認証、コンテンツ伝送、及びコンテンツ鍵確認の各手続きを行なうためのTCPコネクションの確立及び終了を行なうTCPコネクション管理手段をさらに備える、
ことを特徴とする請求項1に記載の情報通信装置。 - Sink機器との相互認証手続きの際に認証鍵を共有し、
前記コンテンツ鍵生成手段はノンスを生成し、
前記コンテンツ暗号化手段は、認証鍵及びノンスを用いて得られる暗号鍵を用いてコンテンツを暗号化し、
前記コンテンツ伝送手段は、暗号化コンテンツにノンスを付加してコンテンツ伝送を行ない、
前記コンテンツ鍵確認手段は、検査用ノンスを含んだコンテンツ鍵確認要求コマンドを受信して、該検査用ノンスと前記コンテンツ鍵生成手段により生成したノンスと正誤判定し、結果をSink機器に通知する、
ことを特徴とする請求項2に記載の情報通信装置。 - 前記コンテンツ鍵生成手段は、前記コンテンツ伝送手段がコンテンツ伝送を行なう期間において、ノンスを動的に変更する、
ことを特徴とする請求項3に記載の情報通信装置。 - 前記コンテンツ鍵生成手段は、Sink機器との間でコンテンツ伝送用のTCPコネクションを初期化する際にノンスを生成し、
前記コンテンツ鍵削除手段は、Sink機器とのコンテンツ伝送用のTCPコネクションを終了してから所定期間が経過した後にコンテンツ鍵を削除する、
ことを特徴とする請求項3に記載の情報通信装置。 - コンテンツを暗号化伝送する情報通信方法であって、
コンテンツ鍵を生成するコンテンツ鍵生成ステップと、
コンテンツ鍵を用いてコンテンツを暗号化するコンテンツ暗号化ステップと、
暗号化コンテンツを伝送するコンテンツ伝送ステップと、
コンテンツ伝送先となる機器からのコンテンツ鍵確認要求に応じて、前記コンテンツ鍵生成手段により生成したコンテンツ鍵を正誤判定するコンテンツ鍵確認ステップと、
コンテンツ鍵の正誤判定が不要となるタイミングでコンテンツ鍵を削除するコンテンツ鍵削除ステップと、
を具備することを特徴とする情報通信方法。 - DTCP−IPにおけるSource機器として動作し、HTTPプロトコルを用いてSink機器にコンテンツ伝送を行なう際に、
Sink機器との間で、相互認証、コンテンツ伝送、及びコンテンツ鍵確認の各手続きを行なうためのTCPコネクションの確立及び終了を行なうTCPコネクション管理ステップをさらに備える、
ことを特徴とする請求項6に記載の情報通信方法。 - Sink機器との相互認証手続きの際に認証鍵を共有し、
前記コンテンツ鍵生成ステップではノンスを生成し、
前記コンテンツ暗号化ステップでは、認証鍵及びノンスを用いて得られる暗号鍵を用いてコンテンツを暗号化し、
前記コンテンツ伝送ステップでは、暗号化コンテンツにノンスを付加してコンテンツ伝送を行ない、
前記コンテンツ鍵確認ステップでは、検査用ノンスを含んだコンテンツ鍵確認要求コマンドを受信して、該検査用ノンスと前記コンテンツ鍵生成手段により生成したノンスと正誤判定し、結果をSink機器に通知する、
ことを特徴とする請求項7に記載の情報通信方法。 - 前記コンテンツ鍵生成ステップでは、前記コンテンツ伝送手段がコンテンツ伝送を行なう期間において、ノンスを動的に変更する、
ことを特徴とする請求項8に記載の情報通信方法。 - 前記コンテンツ鍵生成ステップでは、Sink機器との間でコンテンツ伝送用のTCPコネクションを初期化する際にコンテンツ鍵を生成し、
前記コンテンツ鍵削除ステップでは、Sink機器とのコンテンツ伝送用のTCPコネクションを終了してから所定期間が経過した後にコンテンツ鍵を削除する、
ことを特徴とする請求項8に記載の情報通信方法。 - 1
コンテンツを暗号化伝送するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
コンテンツ鍵を生成するコンテンツ鍵生成手順と、
コンテンツ鍵を用いてコンテンツを暗号化するコンテンツ暗号化手順と、
暗号化コンテンツを伝送するコンテンツ伝送手順と、
コンテンツ伝送先となる機器からのコンテンツ鍵確認要求に応じて、前記コンテンツ鍵生成手段により生成したコンテンツ鍵を正誤判定するコンテンツ鍵確認手順と、
コンテンツ鍵の正誤判定が不要となるタイミングでコンテンツ鍵を削除するコンテンツ鍵削除手順と、
を実行させることを特徴とするコンピュータ・プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005220473A JP2007036952A (ja) | 2005-07-29 | 2005-07-29 | 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005220473A JP2007036952A (ja) | 2005-07-29 | 2005-07-29 | 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007036952A true JP2007036952A (ja) | 2007-02-08 |
Family
ID=37795611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005220473A Pending JP2007036952A (ja) | 2005-07-29 | 2005-07-29 | 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007036952A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107340733A (zh) * | 2016-04-30 | 2017-11-10 | 克洛纳测量技术有限公司 | 具有功能装置的电气设备 |
-
2005
- 2005-07-29 JP JP2005220473A patent/JP2007036952A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107340733A (zh) * | 2016-04-30 | 2017-11-10 | 克洛纳测量技术有限公司 | 具有功能装置的电气设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4518058B2 (ja) | コンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム | |
JP4674502B2 (ja) | 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム | |
JP4581955B2 (ja) | コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム | |
US8468350B2 (en) | Content transmission apparatus, content reception apparatus and content transmission method | |
JP5634427B2 (ja) | 鍵生成装置、鍵生成方法およびプログラム | |
JP3814620B2 (ja) | 情報処理装置および情報処理方法 | |
JP4350714B2 (ja) | 送信装置、受信装置及び送信方法 | |
US20100100736A1 (en) | Method and system for secure communication | |
US8510844B2 (en) | Authorized content verification method, content transmission/reception system, transmitter, and receiver | |
JP2004533194A (ja) | データを交換するように構成されたデバイスおよび認証の方法 | |
KR20090121628A (ko) | Srm 장치간의 안전 정보 교환 시스템 및 방법 | |
JP2006276093A (ja) | Sipメッセージの暗号化方法,および暗号化sip通信システム | |
KR20070078065A (ko) | 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송방법, 및 컴퓨터 프로그램 | |
WO2007028406A1 (en) | Method and apparatus for establishing a communication key between a first communication partner and a second communication partner using a third party | |
JP4264650B2 (ja) | コンテンツ伝送システム及びコンテンツ伝送方法、コンテンツ送信装置及びコンテンツ送信方法、コンテンツ受信装置及びコンテンツ受信方法、並びにコンピュータ・プログラム | |
JP4910324B2 (ja) | 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム | |
JP4883199B2 (ja) | コンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム | |
JP4439558B2 (ja) | コンテンツ鍵生成装置、コンテンツ受信装置およびコンテンツ伝送方法 | |
JP2007036952A (ja) | 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム | |
JP4736603B2 (ja) | 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム | |
JP4458764B2 (ja) | データ伝送装置、データ伝送装置の識別情報管理装置、データ伝送装置の管理システム、及びデータ伝送装置の管理方法 | |
JP2007036350A (ja) | 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム | |
JP2007043475A (ja) | 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム | |
JP2009147952A (ja) | 送信装置、受信装置及び送信方法 |