Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4674502B2 - 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム - Google Patents
[go: Go Back, main page]

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

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

Info

Publication number
JP4674502B2
JP4674502B2 JP2005212631A JP2005212631A JP4674502B2 JP 4674502 B2 JP4674502 B2 JP 4674502B2 JP 2005212631 A JP2005212631 A JP 2005212631A JP 2005212631 A JP2005212631 A JP 2005212631A JP 4674502 B2 JP4674502 B2 JP 4674502B2
Authority
JP
Japan
Prior art keywords
field value
ttl field
ake
maximum
value
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
JP2005212631A
Other languages
English (en)
Other versions
JP2007036351A (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 JP2005212631A priority Critical patent/JP4674502B2/ja
Priority to US11/456,004 priority patent/US7987359B2/en
Priority to KR20060068572A priority patent/KR20070012266A/ko
Priority to CNB2006101080140A priority patent/CN100539550C/zh
Publication of JP2007036351A publication Critical patent/JP2007036351A/ja
Application granted granted Critical
Publication of JP4674502B2 publication Critical patent/JP4674502B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/286Time to live
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、IPネットワーク上で著作権保護が必要となる情報コンテンツを伝送する情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラムに係り、特に、IPネットワーク上でルータのホップ数を制限しながらIPパケットの伝送を行なう情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラムに関する。
さらに詳しくは、本発明は、IPネットワーク上で別の情報機器との間でDTCP−IPに準拠した相互認証及び鍵交換(AKE)の手続きを実行する情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラムに係り、特に、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規格に含まれるものであるが、伝送路にIPネットワークを使用すること、暗号化されたコンテンツの伝送にHTTPやRTPプロトコルを使用するという点で、IEEE1394ベースで規定された本来のDTCPとは相違する。
IP(Internet Protocol)自体は、TCP(Transmission Control Protocol)などの上位トランスポート層から来るデータ・ストリームを所定の単位となるパケットの大きさに分割し、さらにヘッダ部を付加したIPパケットにし、指定されたIPアドレス宛てに届けるネットワーク層であり、ルーティング機能を持つ(例えば、非特許文献2を参照のこと)。
IPネットワーク上にはPCを主としたさまざまな機器が接続され、データの盗聴、改竄が簡単に行なわれてしまう危険が高い。このため、DTCP−IPは、基本的にはDTCP技術をIPネットワークに移植した同様の技術であるものの、コンテンツを保護しながらネットワーク伝送するためのさらなる方法を規定している(例えば、非特許文献3を参照のこと)。
ここで、DTCP−IPに従ったコンテンツの伝送手順について説明する。但し、DTCPに準拠した機器は2つの種類に分類される。1つはDTCP_Sourceと言い、コンテンツの要求を受理し、コンテンツを送信するサーバ機器である。もう1つはDTCP_Sinkと言い、コンテンツを要求し、コンテンツを受信し、再生若しくは記録するクライアント機器である。
DTCP_SourceとDTCP_Sinkはまず1つのTCP/IPコネクションを確立し、機器同士の認証を行なう。この認証をDTCP認証、若しくはAKE(Authenticationand Key Exchange)と言う。DTCP準拠機器には、DTLA(Digital Transmission LicensingAdministrator)と呼ばれる認可組織によりユニークな機器IDや鍵が埋め込まれている。DTCP認証手続きでは、このような情報を用いて互いが正規のDTCP準拠機器であることを確かめた後、コンテンツを暗号化若しくは復号するためのDTCP_Sourceが管理している鍵をDTCP_Sink機器と共有することができる。
そして、DTCP準拠の機器間でAKEによる認証手続きが済んだ後、DTCP_SinkはDTCP_Source上のコンテンツを要求する。DTCP_Sourceは、CDS(ContentsDirectory Service)などを通じてDTCP_SinkにDTCP_Source上のコンテンツへのアクセス先を示すコンテンツ場所をあらかじめ伝えることができる。DTCP_Sinkがコンテンツを要求するとき、HTTP(Hyper Text Transfer Protocol)やRTP(Real Time Protocol)などのプロトコルを利用することができる。HTTPの手続きに従ってコンテンツを要求する場合、DTCP_SourceがHTTPサーバとなり、DTCP_SinkがHTTPクライアントとなって、コンテンツの伝送を開始する。また、RTPによる伝送を要求するとき、DTCP_SourceがRTPSenderとなり、DTCP_SinkがRTP Receiverとなってコンテンツの伝送を開始する。なお、これらの通信手続き以外にもRSTP(Real Time Streaming Protocol)などの伝送プロトコルも適用が可能である。
HTTPでコンテンツ伝送を行なう際、DTCP認証のためのTCP/IPコネクションとは別に、HTTPのためのTCP/IPコネクションがHTTPクライアントより作成される。そして、HTTPクライアントは、通常のHTTPと全く同様の動作手順によりHTTPサーバ上のコンテンツを要求する。これに対し、HTTPサーバは、要求通りのコンテンツをHTTPレスポンスとして返す。但し、HTTPレスポンスとして伝送されるデータは、HTTPサーバすなわちDTCP_Source機器がAKE認証をした後に共有した鍵を用いてコンテンツを暗号化したデータとなっている。暗号化されたデータを受信したクライアント(DTCP_Sink)は同様に、先の認証をした後に共有した鍵によりデータを復号し、再生若しくは記録を行なうことができる。
このように、DTCP−IPは、DTCPに準拠した機器同士で認証を行ない、DTCP認証が完了した機器同士で鍵を共有し、コンテンツを伝送際に暗号化及び復号をすることにより、伝送路途中におけるコンテンツの盗聴、改竄を防ぐという、IPネットワーク上においても安全なコンテンツ伝送手法を提供することができる。
DTCPでは、暗号化によりコンテンツ伝送路の安全性を確保するだけでなく、コンテンツの利用可能な範囲を著作権法で言うところの個人的又は家庭の範囲内に制限することを求めている。原初的なDTCPでは、IEEE1394などのホーム・ネットワークを前提としていることから、事実上コンテンツの使用範囲は個人的又は家庭の範囲内となる。これに対し、DTCP−IPでは、DTCP技術をIPネットワークに移植した同様の技術であるが、ルータを経由してインターネットなどの広域のIPネットワークに接続できることから、コンテンツの伝送範囲を制限する対策が必要である。
例えば、IPネットワークでは、IPパケットの寿命を制限するなどの目的で、IPパケットのヘッダ部にはTTL(Time To Live)と呼ばれるパラメータが用意されている(例えば、非特許文献2を参照のこと)。IPルータは、IPパケットを通過させる度にそのヘッダ部のTTLフィールド値をデクリメントすることによって(例えば、非特許文献4を参照のこと)、TTLフィールド値でIPパケットの生存期間や有効期限を表現することができる(例えば、特許文献1を参照のこと)。
DTCP−IPでは、例えば、TTLフィールド値に3を設定し、IPパケット毎にTTLフィールド値が3を超えていないかどうかをチェックする、すなわちAKEコマンドの送受信すなわち鍵交換を行なう相手のルータ・ホップ数を3以内に制限することで(例えば、非特許文献3を参照のこと)、コンテンツの利用可能範囲を個人的又は家庭の範囲に制限することができる。
しかしながら、DTCPアプリケーションがIPパケットにおけるTTLなどのヘッダ情報を取得してチェックするといった処理を実現するには、幾つかの技術的課題がある。以下ではこの点について説明する。
当業界において周知のように、通信プロトコルはTCPやIPといった複数のプロトコルのスタック構造をなし、これらの最上位層としてアプリケーションが位置付けられる。
従来のIPプロトコル層では、ルータを通過する度にTTLフィールド値を1ずつ減算する機能しか実装されていない。言い換えれば、IPプロトコル層は、IPパケットを受け取る度にそのヘッダ部からTTLフィールド値を取り出して上位層アプリケーションに通知するようには構成されていないことから、DTCPアプリケーションはAKEコマンドを受信する毎に、そのIPパケットのTTLフィールド値が3以下であるかどうかをチェックすることはできない。
また、既存のIPプロトコルは、ルータのホップの繰り返しによりTTLフィールド値が消滅したIPパケットを破棄する機能を備えているものの、TTLフィールド値が所定値を超えるIPパケットを破棄するようには構成されていない。AKEコマンドの送信先でそのIPパケットのヘッダ内をチェックして、TTLフィールド値が3を超えるIPパケットを破棄するようにした場合、AKEコマンドの送信元では、TCP/IPにおいて標準的に装備されている再送制御機能により、AKEコマンドを再送と続けるという無駄な操作が発生する。
DTCP−IPの規定に適合するように、ルータでホップする度に減算するTTLフィールド値を用いてAKEコマンドが届く範囲を制限する動作を実現する1つの方法として、IPプロトコル層を改変することが考えられる。しかしながら、TTLフィールド値を取得し、且つチェックするといった処理を組み込んで、TCP/IPプロトコル層の処理モジュールをすべて独自に開発することは相当な負担がある。
また、Linuxや米マイクロソフト社のWindows(登録商標)といった最近主流となっているほとんどのオペレーティング・システム(OS)においては、TCPやIPなどの通信用のプロトコル・スタックがOS内に組み込まれている。このため、IPプロトコルを改変することは、OSに深く関係するソースコードを改変することに相当し、過大なデメリットが発生する。
例えば、Windows(登録商標)のようにソースコードが公開されていないOSの場合には、改変そのものが不可能に等しい。
また、Linuxを始めとした所謂オープンソースのOSの場合、ソースコードが公開されていることから、各自において上記のIPプロトコル層の機能を追加することは可能である。しかしながら、その代償として関係するすべてのコードがGPL(General Public License)扱いとなり、自らもソースコードを公開しなければならなくなる。すなわち、オープンソースを変更することにより、開発元にとって今後の運用が面倒になってくる。また、OSの内部機構に深く関わるカーネル(Kernel)・ソースコードに変更を加える必要があることから、評価作業が増し、コスト増大を招来する。
また、OSにはTCP/IPプロトコル層の処理モジュールの一機能として、ネットワーク・フィルタが組み込まれている。Linuxにおける“iptable”(例えば、非特許文献5を参照のこと)がネットワーク・フィルタの一例である。この標準的なネットワーク・フィルタを設定することにより、既存のTCP/IP処理モジュールを利用してTTLフィールド値を取得し且つそのチェックを行なうといった処理を実行することができる。
しかしながら、ネットワーク・フィルタを利用する場合には、(1)設定したネットワーク・フィルタが他の通信(若しくはサービスなど)の副作用を引き起こす可能性がある、(2)標準的なフィルタを使っていることから、設定したネットワーク・フィルタが他のユーザやプロセスによって容易に解除される、といった問題がある。
また、ネットワーク・フィルタに相当する処理モジュールを独自に開発し、TTLフィールド値を取得してチェックする処理を行なわせるという方法も当業者には想到される。しかしながら、開発に相当の負担がかかる上、設定したネットワーク・フィルタが他の通信(若しくはサービスなど)の副作用を引き起こす可能性がある。
特表2003−521138号公報 DTCP Specification Volume 1 Version 1.3 (Informational Version)http://www.dtcp.com/data/info_20040107_dtcp_Vol_1_1p3.pdf RFC(Request For Comment) 791 INTERNET PROTOCOL 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 1812 − Requirements for IP Version 4 Routers June 1995 http://www.jp.redhat.com/manual/Doc73/RH−DOCS/rhl−rg−ja/ch−iptables.html
本発明の目的は、IPネットワーク上において、著作権保護が必要となる情報コンテンツを好適に伝送することができる、優れた情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することにある。
本発明のさらなる目的は、IPネットワーク上でルータのホップ数を制限しながらIPパケットの伝送を好適に行なうことができる、優れた情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することにある。
本発明のさらなる目的は、IPネットワーク上で別の機器との間で、ルータのホップ数を制限しながら、DTCP−IPに準拠した相互認証及び鍵交換(AKE)のためのAKEコマンドを好適に送受信することができる、優れた情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することにある。
本発明のさらなる目的は、相互認証及び鍵交換用のAKEコマンドを運ぶIPパケットのヘッダ内に含まれるTTLフィールド値を監視しながら、相互認証及び鍵交換を行なう相手機器の範囲を所定のルータ・ホップ数以内に制限することができる、優れた情報通信システム、情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することにある。
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、
IPネットワーク上で情報通信機器同士がIPパケットの交換を行なう情報通信システムであって、
前記情報通信機器は、
Sinkとなる他の情報通信機器に対してSourceとしてDTCP−IPに準拠したコンテンツ配信する際に、
AKEコマンドを送受信するためのTCPコネクションを確立した後に、受信した前記AKEコマンドを運ぶIPパケットを監視して、該IPパケットのヘッダ部からTTLフィールド値を取得し、
該取得したTTLフィールド値を保持されている最大TTLフィールド値と比較し、前記取得したTTLフィールド値が前記保持されている最大TTLフィールド値より大きかった場合には、前記保持されている最大TTLフィールド値を前記取得したTTLフィールド値で更新し、
EXCHANG_KEY subfunction commandを送信する状態が到来するとき、前記保持されている最大TTLフィールド値が制限値以下であるかどうかをチェックし、
前記保持されている最大TTLフィールド値が前記制限値以下の場合にはEXCHANG_KEY subfunction commandを送信する処理に移行し、前記保持されている最大TTLフィールド値が前記制限値を超える場合にはAKE手続きを中止する、
ことを特徴とする情報通信システム、あるいは、
IPネットワーク上で情報通信機器同士がIPパケットの交換を行なう情報通信システムであって、
前記情報通信機器は、
Sourceとなる他の情報通信機器からSinkとしてDTCP−IPに準拠したコンテンツ取得を行なう際に、
AKEコマンドを送受信するためのTCPコネクションを確立した後に、受信した前記AKEコマンドを運ぶIPパケットを監視して、該IPパケットのヘッダ部からTTLフィールド値を取得し、
該取得したTTLフィールド値を保持されている最大TTLフィールド値と比較し、前記取得したTTLフィールド値が前記保持されている最大TTLフィールド値より大きかった場合には、前記保持されている最大TTLフィールド値を前記取得したTTLフィールド値で更新し、
EXCHANG_KEY subfunction commandを受信したとき、前記保持されている最大TTLフィールド値が制限値以下であるかどうかをチェックし、
前記保持されている最大TTLフィールド値が前記制限値以下のときにはEXCHANG_KEY subfunction commandのACCEPTEDresponseを送信する処理に移行し、前記保持されている最大TTLフィールド値が前記制限値を超える場合にはAKE手続きを中止する、
ことを特徴とする情報通信システムである。
但し、ここで言う「システム」とは、複数の装置(又は特定の機能を実現する機能モジュール)が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない(以下、同様)。
本発明は、IPネットワーク上で著作権保護が必要となる情報コンテンツを伝送する情報通信システムに係り、特に、IPパケットのヘッダ部に記載されるTTLフィールド値を用いてルータのホップ数を規定して、コンテンツを配信可能な範囲を個人的又は家庭内に相当する範囲に制限する情報通信システムである。具体的には、DTCP−IPに準拠した情報通信機器の間で相互認証及び鍵交換(AKE)のためのAKEコマンドを送受信する際に、AKEコマンドを運ぶIPパケットのヘッダ内に含まれるTTLフィールド値を監視しながら、相互認証及び鍵交換を行なう相手機器の範囲を所定のルータ・ホップ数以内に制限するものである。
DTCP−IPでは、例えば、TTLフィールド値に3を設定し、IPパケット毎にTTLフィールド値が消滅したかどうかをチェックすることで、DTCP機器にまでAKEコマンドの送受信すなわち鍵交換を行なう相手をルータのホップ数が3以内とし、コンテンツの利用可能範囲をほぼ個人的又は家庭の範囲に制限することができる。
ここで、従来のIPプロトコル層では、ルータを通過する度にTTLフィールド値を1ずつ減算する機能しか実装されていない。このため、受信したIPパケット毎にTTLフィールド値が制限値以下であるかをチェックし、制限値を超えたIPパケットを逐次破棄するためには、AKEコマンドを運ぶIPパケットを受信する度に上位層のDTCPアプリケーションがTTLフィールド値を取得しなければならず、IPプロトコル層の改変が必要となる。
しかしながら、多くのOSがTCP/IPプロトコル層を組み込んでいることから、問題が複雑化する。ソースコードが公開されていないOSにおいてはそもそもIPプロトコル層の改変が不可能である。また、ソースコードが公開されているOSにおいては改変可能だが、自らのソースコードも公開しなければならず、以後の運用が面倒になる。
TCP/IPプロトコル層を独自に開発することも考えられるが、負担が過大である。また、OSに組み込まれたTCP/IPプロトコル層処理モジュールの一機能であるネットワーク・フィルタを設定して、TTLフィールド値を取得することも考えられるが、他の通信への副作用が懸念されるとともに、他のユーザ又はプロセスにより設定が解除されるおそれがある。
これに対し、本発明に係る情報通信システムでは、各情報通信機器は、前記所定のパケット交換手続きを開始してから終了する直前までの期間において、受信したIPパケットのヘッダ部に記載されているTTLフィールド値を監視し、該TTLフィールド値の最大値を更新し続け、前記所定のパケット交換手続きが終了する直前にTTLフィールド値の最大値が前記制限値を超えていないかどうかをチェックするようになっている。
最上位層のアプリケーションは、後述するように、既存のライブラリを活用することによって、パケットのTTLフィールド値を取り出す処理を実現することができる。したがって、本発明に係る情報通信システムにおいて、パケット交換を行なう所定の期間のTTLフィールド値を監視し続けるという動作を実装する上で、IPプロトコル層の改変や、TCP/IPプロトコル層の独自開発、OSの改変といった作業を行なう必要はない。
そして、前記所定のパケット交換手続きを行なう情報通信機器は、前記所定のパケット交換手続きを開始してから終了する直前までの期間に監視したパケットから取り出したTTLフィールド値の最大値が前記制限値以下であれば以後のパケット送受信処理を行なって前記所定のパケット交換手続きを完了させる一方、前記制限値を超えると以後のパケット送受信処理を行なわず前記所定のパケット交換手続きを中止するようにすれば、このパケット交換手続きを行なう通信相手を所定のTTLフィールド値の範囲内に制限することができる。
本発明をDTCP−IP認証に適用した場合、認証を行なう双方の情報通信装置は、DTCP−IP認証を開始してから終了する直前までに受信した、認証用の制御コマンドすなわちAKEコマンドを監視し続け、受信するAKEコマンドのTTLフィールド値の最大値を更新し続け、認証手続きが終了する直前にTTLフィールド値の最大値をチェックし、この最大値が所定の制限値(例えば3)以下であれば鍵交換を行なって認証手続きを完了するが、所定値を超えると鍵交換を行なわず認証手続きを中止する。
例えば、Sinkとなる情報通信機器に対してSourceとしてDTCP−IPに準拠したコンテンツ配信を行なう情報通信機器は、AKEコマンドを送受信するためのTCPコネクションを確立した後、すなわちSinkからのconnect()要求を受信してaccept()を返信した直後から、該TCPコネクション上で受信されるIPパケットを監視してIPパケット毎にTTLフィールド値を取得して、該TTLフィールド値の最大値を更新し続ける。そして、EXCHANG_KEY subfunction commandを送信する状態が到来するとき、最大のTTLフィールド値が制限値以下であるかどうかをチェックする。ここで、最大のTTLフィールド値が制限値以内のときにはEXCHANG_KEY subfunction commandを送信する処理に移行するが、最大のTTLフィールド値が制限値を超える場合にはAKE手続きを中止させるようにする。
また、Sourceとなる情報通信機器からSinkとしてコンテンツを配信する情報通信機器は、AKEコマンドを送受信するためのTCPコネクションを確立した後、該TCPコネクション上で受信されるIPパケットを監視してIPパケット毎にTTLフィールド値を取得して、該TTLフィールド値の最大値を更新し続け、EXCHANG_KEY subfunction commandを受信したとき、最大のTTLフィールド値が制限値以下であるかどうかをチェックし、最大のTTLフィールド値が制限値以内のときにはEXCHANG_KEY subfunction commandのACCEPTED responseを送信する処理に移行するが、最大のTTLフィールド値が制限値を超える場合にはAKE手続きを中止させるようにする。
DTCPアプリケーションが、AKEコマンドを運ぶIPパケット毎にTTLフィールド値を取り出し制限値を超えていないかをチェックし、制限値を超えたIPパケットを逐次破棄するという処理を実現するには、TCP/IPプロトコル層の独自開発、又はこれらのプロトコル・スタックを組み込んだOSの改変といった困難な作業を伴う(前述)。これに対し、IPパケット毎のTTLフィールド値を取り出して監視し続けるだけであれば、“pcap”と呼ばれるMACフレームを監視することができるパケット・キャプチャ機能を持つ既存のライブラリ、すなわちlibpcapを利用して容易に実現することができる。
したがって、DTCPアプリケーションは、libpcapを用いてDTCP−IP認証を開始してから終了する直前までの間、受信した各AKEコマンドを監視し続け、TTLフィールド値の最大値を更新し続けることができる。そして、認証手続きが終了する直前にTTLフィールド値の最大値をチェックし、この最大値が所定の制限値(例えば3)以下であれば鍵交換を行なって認証手続きを完了する一方、制限値を超えると、最終段階の処理を行なわずに認証手続きを終わらせる。これによって、IPプロトコル層の改変を一切改変することなく、DTCPアプリケーションは、認証及び鍵交換を行なう通信相手を所定のTTLフィールド値の範囲内に制限することができる。
pcapは、パケット・キャプチャ機能によりMACフレームを監視することができる。Windows(登録商標)のlibpcapとして“WinPcap”を挙げることができる(例えば、http://www.winpcap.org/を参照されたい)。
また、本発明の第2の側面は、
Sinkとなる他の情報通信機器に対してSourceとしてDTCP−IPに準拠したコンテンツ配信を行なうための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
AKEコマンドを送受信するためのTCPコネクションを確立した後に、受信した前記AKEコマンドを運ぶIPパケットを監視し、該IPパケットのヘッダ部からTTLフィールド値を取得するTTLフィールド値取得手順と、
前記TTLフィールド値取得手順で取得したTTLフィールド値を、保持されている最大TTLフィールド値と比較するTTLフィールド値比較手順と、
前記TTLフィールド値比較手順の比較結果に基づき、前記取得したTTLフィールド値が前記保持されている最大TTLフィールド値より大きかった場合には、前記保持されている最大TTLフィールド値を、前記取得したTTLフィールド値で更新する最大TTLフィールド値更新手順と、
EXCHANG_KEY subfunction commandを送信する状態が到来するとき、前記保持されている最大TTLフィールド値が制限値以下であるかどうかをチェックして、前記保持されている最大TTLフィールド値が前記制限値以下のときにはEXCHANG_KEY subfunction commandを送信する処理に移行し、前記保持されている最大TTLフィールド値が前記制限値を超える場合にはAKE手続きを中止する制御手順と、
を実行させることを特徴とするコンピュータ・プログラム、あるいは、
Sourceとなる他の情報通信機器からSinkとしてDTCP−IPに準拠したコンテンツ取得を行なうための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
AKEコマンドを送受信するためのTCPコネクションを確立した後に、受信した前記AKEコマンドを運ぶIPパケットを監視し、該IPパケットのヘッダ部からTTLフィールド値を取得するTTLフィールド値取得手順と、
前記TTLフィールド値取得手順で取得したTTLフィールド値を、保持されている最大TTLフィールド値と比較するTTLフィールド値比較手順と、
前記TTLフィールド値比較手順の比較結果に基づき、前記取得したTTLフィールド値が前記保持されている最大TTLフィールド値より大きかった場合には、前記保持されている最大TTLフィールド値を、前記取得したTTLフィールド値で更新する最大TTLフィールド値更新手順と、
EXCHANG_KEY subfunction commandを受信したとき、前記保持されている最大TTLフィールド値が制限値以下であるかどうかをチェックして、前記保持されている最大TTLフィールド値が前記制限値以下のときにはEXCHANG_KEYsubfunction commandのACCEPTED responseを送信する処理に移行し、前記保持されている最大TTLフィールド値が前記制限値を超える場合にはAKE手続きを中止する制御手順と、
を実行させることを特徴とするコンピュータ・プログラムである。
本発明の第2の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第2の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによってコンピュータ・システム上では協働的作用が発揮され、本発明の第1の側面に係る情報通信システムにおける1つの情報通信機器として動作する。このような情報通信装置を複数起動し、それぞれSource機器及びSink機器として動作させてIPパケットを交換し合うシステムを構築することによって、本発明の第1の側面に係る情報通信システムと同様の作用効果を得ることができる。
本発明によれば、IPネットワーク上でルータのホップ数を制限しながらIPパケットの伝送を好適に行なうことができる、優れた情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することができる。
また、本発明によれば、IPネットワーク上で別の機器との間で、ルータのホップ数を制限しながら、DTCP−IPに準拠した相互認証及び鍵交換(AKE)のためのAKEコマンドを好適に送受信することができる、優れた情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することができる。
また、本発明によれば、相互認証及び鍵交換用のAKEコマンドを運ぶIPパケットのヘッダ内に含まれるTTLフィールド値を監視しながら、相互認証及び鍵交換を行なう相手機器の範囲を所定のルータ・ホップ数以内に制限することができる、優れた情報通信システム、情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラムを提供することができる。
本発明をDTCP−IP認証に適用した場合、認証を行なう双方の情報通信装置は、AKEコマンド毎にヘッダからTTLフィールド値を取り出して所定の制限値を超えているかどうかをチェックして、制限値を越えたAKEコマンドを逐次破棄するのではなく、DTCP−IP認証を開始してから終了する直前までの監視期間において受信したAKEコマンドを監視し続け、受信するAKEコマンドのTTLフィールド値の最大値を更新し続ける。そして、認証手続きが終了する直前にTTLフィールド値の最大値をチェックし、この最大値が所定値を超えると鍵交換を行なわず認証手続きを中止することによって、鍵交換を行なう相手を所定のルータ・ホップ数の範囲内に制限することができる。
DTCPアプリケーションがTTLフィールド値を取得するために、パケット・キャプチャ機能を提供するlibpcapを用いればよく、GPLを避けた開発が可能である。実際、libpcapはBSD(Berkeley Software Distribution)ラインセスなので、このライブラリを利用したバイナリを配布するに際して著作権表示を行なうだけで十分である。
すなわち、本発明によれば、DTCP−IPにDTCP−IPに準拠した相互認証及び鍵交換(AKE)の手続きにおいて実施するTTLフィールド値のチェック処理機能を、外部ライブラリを利用することで実現することができる。したがって、OSに深く関わるカーネルなどのコードを改変する必要がない。勿論、OSのコードを改変する場合に比べ開発工数ははるかに少なくて済む。また、他のユーザやプロセスと共有しないでTTLフィールド値のチェック処理に関わる制御を実現することができるので、他のユーザなどの介在により勝手に制御されるおそれはない。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
以下、図面を参照しながら本発明の実施形態について詳解する。
本発明は、IPネットワーク上で著作権保護が必要となる情報コンテンツを伝送する情報通信システムに関するものであり、具体的には、DTCP−IPに準拠した情報通信機器の間で相互認証及び鍵交換(AKE)のためのAKEコマンドを送受信し、相互認証及び鍵交換を経て共有した鍵を用いて暗号化コンテンツ伝送を安全に行なう情報通信システムに関する。DTCP−IPに準拠する情報通信機器間で相互認証及び鍵交換を行なう際、AKEコマンドを運ぶIPパケットのヘッダ内に含まれるTTLフィールド値が3を超えないように規定され、相互認証及び鍵交換を行なう相手機器の範囲は所定のルータ・ホップ数以内に制限されている。
A.システム構成
図1には、本発明の一実施形態に係る情報通信システムの構成例を模式的に示している。
DTCP−IPに従ったコンテンツ伝送は、コンテンツの要求を受理してコンテンツを送信するサーバとしてのSource機器と、コンテンツを要求し、コンテンツを受信し、再生若しくは記録するクライアントとしてのSink機器で構成される。図示の例では、DTCP−IPに準拠した認証サーバであるSource機器AとDTCP−IPに準拠した認証クライアントであるSink機器Aが中継機器Aと中継機器Bを経由してネットワークで接続されている。
また、中継機器A、中継機器B、中継機器Cを経由して、DTCP−IPに準拠した認証サーバであるSource機器BやDTCP−IPに準拠した認証クライアントであるSink機器BがIPネットワークで接続されている。
既存のIPプロトコルでは、IPルータはIPパケットを通過させるときにIPヘッダに埋め込まれているTTLフィールド値を1ずつ減算することと、TTLフィールド値が消滅したIPパケットを破棄することを規定している。すなわち、中継機器は、IPパケットをルーティングするときにはそのTTLフィールド値を1ずつ減算するとともに、TTLフィールド値が0になったIPパケットが中継機器で受信されたときに、そのIPパケットを破棄しなければならない決まりとなっている。
図1に示した例で言えば、Source機器AからSink機器AへIPパケットが送信された場合、中継機器A並びに中継機器Bを通過することにより、TTLフィールド値が2だけ減った状態でIPパケットがSink機器Aで受信されることになる。
例えば、Source機器AにてTTLフィールド値を3としてIPパケットを生成し、Sink機器Cに送信することを考えると、中継機器A、中継機器Bを経由して中継機器CまでそのIPパケットは到着するものの、中継機器CではTTLフィールド値が1から0になることでこのパケットを破棄することになる。この結果、Sink機器CにはIPパケットが到着しない。
また、Sink機器AからSource機器BへTTLフィールドの値を3としてIPパケットを送信した場合には、TTLフィールド値が1の状態のIPパケットがSource機器Bへ到着する。TTLフィールド値が0の状態のIPパケットはネットワーク上に伝播されない。
本実施形態に係る情報通信システムでは、Source機器A〜B、Sink機器A〜B及び中継機器A〜Cの各エンティティにより、DTCP−IP AKEシステムが構築されている。DTCP−IPによれば、暗号化コンテンツの伝送に用いられる鍵の交換すなわちAKEを実施する範囲を、TTLフィールド値が3を超えない範囲、すなわちルータのホップ数が3を超えない範囲に制限している。したがって、Source機器は、Sink機器A及びBのいずれともAKEを実施することができ、また、Source機器Bは、Sink機器A及びBのいずれともAKEを実施することができる。
他方、中継機器Dを経由して同ネットワークに接続されるSink機器Cは、Source機器とパケット交換を行なう際のルータのホップ数が3を超えるため、AKEを実施することはできない。言い換えれば、図1に示したDTCP−IP AKEシステムの外にある。
図2及び図3には、図1に示した情報通信システムにおいて、クライアント(すなわち、Sink機器)及びサーバ(すなわち、Source機器)として動作する情報通信装置の機能構成をそれぞれ模式的に示している。Sink機器とSource機器は、インターネットなどの図示しないTCP/IPネットワーク上でコネクションを確立することができ、このコネクションを利用して、認証手続きやコンテンツ伝送手続きを実行することができる。
これらSink機器及びSource機器として動作する情報通信装置は、専用のハードウェア装置として設計・製作することもできるが、例えばパーソナル・コンピュータなどの一般的なコンピュータ・システム上に所定のクライアント・アプリケーション及びサーバ・アプリケーションをインストールし起動するという形態でも実現することができる。
図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を実施した後にコンテンツ伝送手続きを実行する処理モジュールであり、HTTPクライアント・ブロックを持ち、HTTPクライアントとしてHTTPサーバへコンテンツを要求し、応答されたコンテンツをHTTPサーバから受信する。
HTTPクライアント・ブロックは、HTTPリクエスト管理ブロックとHTTPレスポンス管理ブロックに分かれる。さらに、HTTPリクエスト管理ブロックは、HTTPリクエスト送信ブロックとHTTPリクエスト生成ブロックへ分かれる。
HTTPリクエスト生成ブロックは、送信するコンテンツ伝送要求(HTTPリクエスト)を生成する。ここで生成されたHTTPリクエストは、HTTPリクエスト送信ブロックによりサーバへ送信される。
HTTPレスポンス管理ブロックは、HTTPレスポンス受信ブロックとHTTPレスポンス解釈ブロックに分かれる。サーバから返信されるHTTPレスポンスと暗号化されたコンテンツは、HTTP受信ブロックで受信される。ここで受信したHTTPレスポンスは、HTTPレスポンス解釈ブロックでチェックされる。ここでのチェックがOKの場合は受信した暗号化コンテンツをコンテンツ復号ブロックへ送る。また、このチェックが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コンテンツ送信ブロックは、Sink機器との間で個別のTCP/IPコネクションを確立して、それぞれ認証手続き及びコンテンツ伝送手続きを互いに独立して実行する。
なお、DTCP−Sink機器及びDTCP−Source機器のいずれもがDTCP−IP認証ブロック内に持つメッセージ・ダイジェスト生成ブロックはDTCP−IP自体で規定される機能モジュールではなく、また本発明の要旨には直接関連しない。例えば、本出願人に既に譲渡されている特願2004−113459号公報にはメッセージ・ダイジェスト生成ブロックについて記述されている。
B.DTCP−IPに従ったコンテンツの伝送
Source機器とSink機器間でDTCP−IPに従ったコンテンツの伝送を行なう場合には、Source機器とSink機器はまず1つのTCP/IPコネクションを確立してから、AKEコマンドの送受信を通して機器同士の認証を行なう。AKE手続きにより、コンテンツを暗号化若しくは復号するためのSource機器が管理している鍵をSink機器と共有することができる。
AKEコマンドは、基本的にIEEE1394の上位プロトコルであるAV/C General Specificationのサブセットという位置付けである。図4には、AKEコマンドのパケット・フォーマットを示している。同図に示すように、AKEコマンドは、1バイトのTypeフィールドと、2バイトのByte Length of Control(BLC)フィールドと、BLCフィールドに記載されたバイト長を持つフィールドと、AKE_Infoフィールドからなる。
Type、BLC、Control各フィールドの0バイト目は、DTCPをIPにマッピングするために使用される。Typeフィールドにより、当該パケットがバージョン1のAKE制御パケットであることが示される。
ctype/responseは、当該AKEコマンドのコマンド・タイプ又はレスポンス・コードを記載するフィールドであり、DTCP仕様第8章及びAV/Cデジタル・インターフェース・コマンドによる規定と同じ値を持つ。
Controlフィールドの1〜7バイトは、IPプロトコルで使用されない場合にはControlフィールドの7バイト目のMSBを除いては、セクション8.3.1に規定されている0〜6バイトのオペランドと同一である。
AKEコマンドは、サブファンクションという種類に分けることができる。サブファンクションは、AKEコマンドの6バイト目のsubfunctionフィールドに記載されている。
AKE_Infoフィールドは、セクション8.3.1に規定されているデータ・フィールドと同様である。
AKE_labelと各制御コマンドのソース・ソケットは適当なコントローラから由来することを確認しなければならない。
また、図5には、AKEコマンドを用いた相互認証及び鍵交換の動作シーケンスを示している。同シーケンスにおいて、requestはターゲットとなる機器を制御するときに用いられ、responseはrequestを受けた機器の応答を示すときに用いられる。コマンド・タイプを持つAKEコマンドは、AKEコマンド・リクエストであり、レスポンス・コードを持つAKEコマンドはAKEコマンド・レスポンスである。また、DTCP−IPでは、EXCHANGE_KEYsubfunction Commandは、Source機器からSink機器に対してのみ送信されるAKEコマンドであり、逆方向には送信されない、という点を理解されたい。
Source機器(又はSink機器)からSink機器(又はSource機器)へ、AKE status commandが送信され、これに対し、Sink機器(又はSource機器)からAKE Status responseが返され、その後、Source機器(又はSink機器)からSink機器(又はSource機器)へCHALLENGE subfunctionが送信され、これに対し、Sink機器(又はSource機器)からresponseが返される。
続いて、Source機器(又はSink機器)からSink機器(又はSource機器)へ、RESPONSE subfunctionが送信され、これに対し、Sink機器(又はSource機器)からAKE Status responseが返される。
その後、Source機器からSink機器へ、EXCHANGE_KEY subfunctionが送信され、これに対し、Sink機器からresponseが返される。
続いて、Source機器からSink機器へ、SRM subfunctionが送信され、これに対し、Sink機器からresponseが返される。
続いて、Source機器からSink機器へ、CONTENT_KEY_REQ subfunctionが送信され、これに対し、Sink機器からresponseが返される。
なお、DTCP−IPでは、AKEのトリガ方法そのものについては定義していないが、AKEをトリガするための情報(以下では、「AKEトリガ情報」とも呼ぶ)については規定している。AKEトリガ情報は、Source機器においてAKEを受け付けるためのIP アドレスとポート番号の組み合わせを含んだ形で定義されている。よって、AKEトリガ情報がSource機器からSink機器へ渡された後、その情報を基にSink機器からSource機器に対してTCPコネクションを確立することで、AKEはトリガ可能となる。AKEトリガ情報の性質から自明であるが、通常、Source機器の方からSink機器に対してTCPコネクションの確立を試みる。
以下の説明では、Source機器がSink機器へネットワーク経由でAKEのトリガを渡すものとして扱う(実際には、UPnPのCDSを利用して渡される)。また、Source機器からSink機器へAKEトリガ情報が渡されるより前に、Source機器はSink機器からのAKEを受け付けられる状態になっているものとする。
そして、DTCP準拠の機器間でAKE手続きが済んだ後、Sink機器はSource機器に対しコンテンツを要求する。Source機器は、CDS(ContentsDirectory Service)などを通じてSink機器にSource機器上のコンテンツへのアクセス先を示すコンテンツ場所をあらかじめ伝えることができる。Sink機器がコンテンツを要求するとき、HTTPやRTPなどのプロトコルを利用することができる。
例えば、Source機器がHTTPサーバとなり、Sink機器がHTTPクライアントとなって、コンテンツの伝送を開始する。この場合、DTCP認証のためのTCP/IPコネクションとは別に、HTTPのためのTCP/IPコネクションがHTTPクライアントより作成される。そして、HTTPクライアントは、通常のHTTPと全く同様の動作手順によりHTTPサーバ上のコンテンツを要求する。これに対し、HTTPサーバは、要求通りのコンテンツをHTTPレスポンスとして返す。但し、HTTPレスポンスとして伝送されるデータは、HTTPサーバすなわちSource機器がAKE認証をした後に共有した鍵を用いてコンテンツを暗号化したデータとなっている。暗号化されたデータを受信したクライアントすなわちSink機器は同様に、先の認証をした後に共有した鍵によりデータを復号し、再生若しくは記録を行なうことができる。
このように、DTCP−IPによれば、認証が完了した機器同士で鍵を共有し、コンテンツを伝送する際に暗号化及び復号をすることにより、伝送路途中におけるコンテンツの盗聴、改竄を防ぐという、IPネットワーク上においても安全なコンテンツ伝送手法を提供することができる。
C.TTLチェックによるコンテンツ伝送可能範囲の制限
IPプロトコルでは、IPルータはIPパケットを通過させるときにIPヘッダに埋め込まれているTTLフィールドの値を1ずつ減算することと、TTLフィールド値が消滅したIPパケットをネットワークに伝播しない(破棄する)ことを規定している。
DTCP−IPではさらに、AKEコマンドとしてIPパケットを送信するに際して、TTLフィールドの値を3以下に設定することを定めている。また、AKEコマンドとしてIPパケットを受信するに際して、3を超えたTTLフィールドの値だった場合にはそのIPパケットを破棄することを定めている。これは、AKEコマンドの送受信すなわち鍵交換を行なう相手をルータのホップ数が3以内とし、コンテンツの利用可能範囲をほぼ個人的又は家庭の範囲に制限するためである。
既存のIPプロトコルは、ルータのホップの繰り返しによりTTLフィールド値が消滅したIPパケットを破棄する機能を備えているものの、TTLフィールド値が所定値を超えるIPパケットを破棄するようには構成されていない。このため、AKEコマンドを運ぶIPパケットを受信する度に、DTCPアプリケーションがそのTTLフィールド値をチェックして、TTLフィールド値が所定値を超えたIPパケットを破棄するためには、TCP/IPプロトコルを独自開発するか、又はTCP/IPを組み込んだOSのカーネルに相当するコードを改変する必要があり、手間がかかる。
これに対し、本実施形態では、DTCP−IPに準拠した情報通信機器は、AKEコマンドを受信する度にそのTTLフィールド値をチェックしてパケットを破棄すべきかどうかを逐次的に決定するのではなく、AKE手続きを開始してから終了する直前までの期間において、受信したIPパケットのヘッダ部に記載されているTTLフィールド値を監視し、該TTLフィールド値の最大値を更新し続けるようにする。そして、鍵交換を行なう直前に、TTLフィールド値の最大値が3を超えていないかどうかをチェックし、3を超える場合には、DTCP−IPアプリケーションは以降の鍵交換を行なう処理を中止する。
例えば、DTCP−IPアプリケーションがAKEコマンドを監視してそのIPヘッダのTTLフィールド値を取得するには、libpcapなどのライブラリを活用すればよく、TCP/IPプロトコル層の独自開発、OSの改変といった作業を行なう必要はない。なお、libpcapはLinux用のライブラリであり、例えばhttp://www.tcpdump.org/を参照されたい。
図6には、Source機器AとSink機器Bの間でDTCP−IPに準拠した相互認証及び鍵交換(AKE)手続きを行なうための動作シーケンス例を示している。同図に示す例では、Source機器AとSink機器Bの間はルータのホップ数が3以下であることから、互いの機器はTTLフィールド値を3に設定してAKEコマンドを送信すれば、途中で破棄されることなく相手に届くので、手続きは正常に行なわれる。なお、Source機器AがSink機器Bへネットワーク経由でAKEのトリガを渡すものとし、また、Source機器AからSink機器BへAKEトリガ情報が渡されるより前に、Source機器AはSink機器BからのAKEを受け付けられる状態になっているものとする。
Source機器Aは、AKEトリガ情報に含まれるポート番号でTCPコネクション確立要求を受けられる状態に遷移する。具体的には、Source機器Aは、socketオブジェクトを作成して、bind()メソッドとlisten()メソッドを実行し、Sink機器Bからのconnect()要求受信待機状態に遷移する。
次いで、Source機器Aは、AKEトリガ情報をSink機器Aに渡す。
一方、Sink機器Bは、AKEトリガ情報を受け取ると、TCPコネクション確立のための準備を行ない、IPパケットのTTLフィールド値をチェックするための処理を起動する。具体的には、socketオブジェクトを作成し、そのsocketに結び付いた状態でTTLフィールド値のチェック処理を起動する。
Sink機器Bは、続いて、AKEトリガ情報に含まれるIPアドレスとポート番号を用いて、Source機器Aに対して、TCPコネクション確立要求を実施する。具体的には、Sink機器Bは、connect()メソッドを実施する。
これに対し、Source機器Aは、Sink機器BよりTCPコネクション確立要求を受けると、TCPコネクションを確立させ、IPパケットのTTLフィールド値のチェック処理を起動して、Sink機器BとTCP/IP通信ができる状態に遷移する。具体的には、Source機器Aは、accept()メソッドを実施してsocketオブジェクトを取得し、そのsocketに結び付いた状態でTTLフィールド値をチェックするための処理を起動し、recv()/send()メソッドによりバイト・データをSink機器Bと送受信することが可能な状態に遷移する。
これによりSink機器Bは、Source機器AとTCP/IP通信ができる状態に遷移する。具体的には、Source機器AがTCPコネクション確立要求を受け付ける状態に遷移する際に作成したsocketオブジェクトに対し、recv()/send()メソッドによりバイト・データをSource機器Aと送受信することが可能な状態に遷移する。
これ以後、AKEによる認証及び鍵交換手続きが終了する直前までの期間において、Source機器AとSink機器Bはともに、DTCP−IP AKEで取り決められたAKEコマンドの送受信手順を実行する。AKEが終了する直前とは、Source機器Aにとっては、EXCHANGE_KEY subfunction commandを送信する状態になるまでの期間に相当し、Sink機器Bにとっては、EXCHANGE_KEY subfunction commandを受信するまでの期間に相当する。
すなわち、Source機器A及びSink機器Bはともに、受信したAKE コマンドに対して適時処理を行なった後、そのAKEコマンドを載せたIPパケットのヘッダ部からTTLフィールドの値を取得して、それまでに保持していた最大のTTLフィールド値(以下、「最大TTLフィールド保存値」と呼ぶ)と比較する。ここで、新たに受信したAKEコマンドに対するTTLフィールドの値がより大きかった場合には、最大TTLフィールド保存値をその値で更新し、最大TTLフィールド値がより大きかった場合は何もしない。Source機器A及びSink機器Bは、これら処理を、AKEコマンドを受信する度に繰り返す。
Source機器Aでは、EXCHANGE_KEY subfunction commandを送信する直前に、最大TTLフィールド保存値が3を超えてないかどうかを確認する。
最大TTLフィールド保存値が3を超えていた場合、コネクションした相手であるSink機器から受け取った少なくとも一部のAKEコマンドに対するTTLフィールド値が3を超えていること、すなわち当該Sink機器がルータのホップ数が3を越える位置に存在することを意味する。したがって、TTLフィールド値を3以下に設定し、3を超えたTTLフィールドの値であるIPパケットを破棄するというDTCP−IPの規定を遵守する必要がある。本実施形態では、Source機器Aは、EXCHANGE_KEYsubfunction command を送信せずに認証失敗として、AKEの手続きを中止させる。これによって、Sink機器Bとの間で認証が完了せず、且つコンテンツ伝送の際に暗号化及び復号するための鍵を共有することはなく、受信したいずれのAKEコマンドも破棄したことと同様の効果を得ることができる。
なお、認証失敗をSink機器Bへ伝える方法として、「確立していたTCPコネクションを切断する」という方法や「AKE_CANCEL subfunctioncommand をSink機器Bに送信する」という方法がある。通知を受けたSink機器はAKEコマンドを載せたIPパケットの再送手順を起動することはない。
一方、最大TTLフィールド保存値が3を超えていなかった場合には、コネクションした相手であるSink機器Bから受け取ったいずれのAKEコマンドに対するTTLフィールド値が3を超えていないこと、すなわち当該Sink機器がルータのホップ数が3以内の位置に存在することを意味する。この場合、TTLフィールド値を3以下に設定するというDTCP−IPの規定に抵触しないので、Source機器Aは、EXCHANGE_KEYsubfunction command を送信し、その後の処理を継続する。
同様に、Sink機器Bでは、EXCHANGE_KEY subfunction command を受信した直後に、最大TTLフィールド保存値が3を超えてないかどうかを確認する。
最大TTLフィールド保存値が3を超えていた場合、コネクションした相手であるSource機器から受け取った少なくとも一部のAKEコマンドに対するTTLフィールド値が3を超えており、DTCP−IPの規定に抵触していることを意味するから、3を超えたTTLフィールドの値であるIPパケットを破棄する必要がある。本実施形態では、Sink機器Bは、REJECTEDresponseを送信し、AKEの手続きを中止させる。あるいは、REJECTED response を送信せずに、いきなり TCPコネクションを切断するなどの処理をとってもよい。これによって、Source機器Aとの間で認証が完了せず、且つコンテンツ伝送の際に暗号化及び復号するための鍵を共有することはなく、受信したいずれのAKEコマンドも破棄したことと同様の効果を得ることができる。
一方、最大TTLフィールド保存値が3を超えていなかった場合には、コネクションした相手であるSource機器Aから受け取ったいずれのAKEコマンドに対するTTLフィールド値が3を超えていないこと、すなわち当該Source機器がルータのホップ数が3以内の位置に存在することを意味する。この場合、TTLフィールド値を3以下に設定するというDTCP−IPの規定に抵触しないので、Sink機器Bは、EXCHANGE_KEYsubfunction commandに対応するACCEPTED responseを送信し、その後の処理を継続する。
なお、AKEコマンドを送受信する期間にTTLフィールドの値をモニタすルータの方法として、IPパケットをモニタしてTTLフィールドの値を次々取得して最大のTTLフィールド値のみを保持するのではなく、該当期間中に受信したすべてのIPパケットのTTLフィールド値を保存してチェックするという方法も挙げられる。
図7には、Source機器が、AKEコマンドを運ぶIPパケットのTTLフィールド値が3を超えないようにチェックしながら相互認証及び鍵交換(AKE)手続きを行なうための処理手順をフローチャートの形式で示している。但し、Source機器からSink機器へAKEトリガ情報が渡されるより前に、Source機器はSink機器からのAKEを受け付けられる状態になっているものとする。
Source機器は、AKEトリガ情報に含まれるポート番号でTCPコネクション確立要求を受けられる状態に遷移する(ステップS1)。具体的には、Source機器は、socketオブジェクトを作成して、bind()メソッドとlisten()メソッドを実行し、Sink機器からのconnect()要求受信待機状態に遷移する。
次いで、Source機器は、AKEトリガ情報をSink機器に渡す(ステップS2)。
ここで、Sink機器よりTCPコネクション確立要求を受けると(ステップS3)、TCPコネクションを確立させる(ステップS4)。そして、IPパケットのTTLフィールド値のチェック処理を起動して(ステップS5)、Sink機器とTCP/IP通信ができる状態に遷移する。具体的には、accept()メソッドを実施してsocketオブジェクトを取得し、そのsocketに結び付いた状態でTTLフィールド値をチェックするための処理を起動し、recv()/send()メソッドによりバイト・データをSink機器と送受信することが可能な状態に遷移する。このとき、最大TTLフィールドの保存値に初期値0に代入しておく(ステップS6)。
これによりSink機器は、Source機器とTCP/IP通信ができる状態に遷移する。具体的には、Source機器がTCPコネクション確立要求を受け付ける状態に遷移する際に作成したsocketオブジェクトに対し、recv()/send()メソッドによりバイト・データをSource機器と送受信することが可能な状態に遷移する。
これ以後、AKEによる認証及び鍵交換手続きが終了する直前までの期間、すなわちEXCHANGE_KEY subfunction commandを送信する状態になるまでの期間において、DTCP−IP AKEで取り決められたAKEコマンドの送受信手順を実施するべく、ステップS7〜S11を繰り返し実行する。
すなわち、AKEコマンドを受信すると(ステップS8)、AKEコマンドに対する適時処理を行なうとともに(ステップS7)、そのAKEコマンドを載せたIPパケットのヘッダ部からTTLフィールドの値を取得して(ステップS9)、それまでに保持していた最大のTTLフィールド値(以下、「最大TTLフィールド保存値」と呼ぶ)と比較する(ステップS10)。ここで、新たに受信したAKEコマンドに対するTTLフィールドの値がより大きかった場合には、最大TTLフィールド保存値をその値で更新する(ステップS11)。Source機器では、これらの処理を、AKEコマンドを受信する度に繰り返す。
EXCHANGE_KEY subfunction commandを送信する状態に到来すると、Source機器は、最大TTLフィールド保存値が3を超えてないかどうかを確認する(ステップS12)。
ここで、最大TTLフィールド保存値が3を超えていなかった場合には、コネクションした相手となるSink機器から受け取ったいずれのAKEコマンドに対するTTLフィールドの値が3を超えていないこと、すなわち当該Sink機器がルータのホップ数が3以内の位置に存在することを意味する。この場合、TTLフィールドの値を3以下に設定するというDTCP−IPの規定に抵触しないので、Source機器は、EXCHANGE_KEYsubfunction command を送信し(ステップS13)、DTCP−IP AKEとしての以降の処理を継続して実行した後(ステップS14)、本処理ルーチンを終了する。
一方、EXCHANGE_KEY subfunction commandを送信する状態に至るまでの処理手続きで、最大TTLフィールド保存値が3を超えていた場合には(ステップS12)、コネクションした相手となるSink機器から受け取った少なくとも一部のAKEコマンドに対するTTLフィールド値が3を超えており、DTCP−IPの規定に抵触していることを意味するから、3を超えたTTLフィールドの値であるIPパケットを破棄する必要がある。
そこで、Source機器は、EXCHANGE_KEY subfunction command を送信せずに認証失敗として、AKEの手続きを中止させる(ステップS15)。具体的には、Source機器は、確立していたTCPコネクションを切断する、あるいはAKE_CANCELsubfunction command をSink機器に送信するという処理を実行した後、本処理ルーチンを終了する。これによって、Sink機器との間で認証が完了せず、且つコンテンツ伝送の際に暗号化及び復号するための鍵を共有することはなく、受信したいずれのAKEコマンドも破棄したことと同様の効果を得ることができる。
図8には、Sink機器が、AKEコマンドを運ぶIPパケットのTTLフィールド値が3を超えないようにチェックしながら相互認証及び鍵交換(AKE)手続きを行なうための処理手順をフローチャートの形式で示している。但し、Source機器からSink機器へAKEトリガ情報が渡されるより前に、Source機器はSink機器からのAKEを受け付けられる状態になっているものとする。
まず、UPnP CDSなどを利用して、Source機器よりAKEトリガ情報を受信すると(ステップS21)、TCPコネクション確立のための準備を行なう(ステップS22)。そして、IPパケットのTTLフィールド値をチェックするための処理を起動する(ステップS23)。具体的には、socketオブジェクトを作成し、そのsocketに結び付いた状態でTTLフィールド値のチェック処理を起動する。このとき、最大TTLフィールドの保存値に初期値0に代入しておく(ステップS24)。
続いて、AKEトリガ情報に含まれるIPアドレスとポート番号を用いて、Source機器に対して、TCPコネクション確立要求を実施する(ステップS25)。具体的には、connect()メソッドを実施する。
これによりSink機器は、Source機器とTCP/IP通信ができる状態に遷移する。具体的には、Source機器がTCPコネクション確立要求を受け付ける状態に遷移する際に作成したsocketオブジェクトに対し、recv()/send()メソッドによりバイト・データをSource機器と送受信することが可能な状態に遷移する。
これ以後、AKEによる認証及び鍵交換手続きが終了する直前までの期間、すなわちEXCHANGE_KEY subfunction commandを受信するまでの期間において、DTCP−IP AKEで取り決められたAKEコマンドの送受信手順を実施するべく、ステップS27〜S31を繰り返し実行する。
すなわち、AKEコマンドを受信すると(ステップS28)、AKEコマンドに対する適時処理を行なうとともに(ステップS27)、そのAKEコマンドを載せたIPパケットのヘッダ部からTTLフィールドの値を取得して(ステップS29)、それまでに保持していた最大のTTLフィールド値(以下、「最大TTLフィールド保存値」と呼ぶ)と比較する(ステップS30)。ここで、新たに受信したAKEコマンドに対するTTLフィールド値がより大きかった場合には、最大TTLフィールド保存値をその値で更新する(ステップS31)。Sink機器では、これらの処理を、AKEコマンドを受信する度に繰り返す。
そして、EXCHANGE_KEY subfunction command を受信した直後に、最大TTLフィールド保存値が3を超えてないかどうかを確認する(ステップS32)。
ここで、最大TTLフィールド保存値が3を超えていなかった場合には、コネクションした相手となるSource機器から受け取ったいずれのAKEコマンドに対するTTLフィールド値が3を超えていないこと、すなわち当該Sink機器がルータのホップ数が3以内の位置に存在することを意味する。この場合、TTLフィールドの値を3以下に設定するというDTCP−IPの規定に抵触しないので、Sink機器は、EXCHANGE_KEYsubfunction commandに対応するACCEPTED responseを送信し(ステップS33)、DTCP−IP AKEとしての以降の処理を継続して実行した後(ステップS34)、本処理ルーチンを終了する。
一方、EXCHANGE_KEY subfunction command を受信するまでの処理手続きで、最大TTLフィールド保存値が3を超えていた場合には(ステップS32)、コネクションした相手となるSource機器から受け取った少なくとも一部のAKEコマンドに対するTTLフィールドの値が3を超えており、DTCP−IPの規定に抵触していることを意味するから、3を超えたTTLフィールド値であるIPパケットを破棄する必要がある。
そこで、Sink機器は、AKEの手続きを中止させる(ステップS35)。具体的には、REJECTED responseを送信する、あるいは、REJECTEDresponse を送信せずに、いきなり TCPコネクションを切断するなどの処理をとる。これによって、Source機器との間で認証が完了せず、且つコンテンツ伝送の際に暗号化及び復号するための鍵を共有することはなく、受信したいずれのAKEコマンドも破棄したことと同様の効果を得ることができる。
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
本明細書では、DTCP−IPに準拠した情報通信機器の間で相互認証及び鍵交換(AKE)のためのAKEコマンドを送受信するという実施形態を例にとって説明してきたが、本発明の要旨はこれに限定されるものではない。IPネットワーク上で著作権保護が必要となる情報コンテンツを伝送するその他の情報通信システムや、IPパケットのヘッダ部に記載されるTTLフィールド値を用いてルータのホップ数を規定して情報通信可能な相手を所定の範囲に制限するその他の情報通信システムにも、同様に本発明を適用することができる。
また、本明細書では、ルータのホップ数を規定するために、IPv4で規定される、IPヘッダ内のTTLフィールドを用いているが、本発明の要旨はこれに限定されるものではなく、パケット内でルータのホップ数を記述したその他の制御情報を利用することも可能である。
TTLフィールド以外の例として、IPv6で規定されるIPヘッダ内のHop Limitフィールド値を利用することができる(例えば、RFC 2460 InternetProtocol,Version 6(IPv6) Specificationを参照のこと)。参考のため、図9にIPv6で規定されるヘッダ構造を図解する。Hop Limitフィールドは8ビットの符号なし整数で構成され、IPパケットがノードで転送される度に1ずつ減算される。そして、Hop Limit値が消滅したIPパケットはそのノードで破棄される。(IPv6のHopLimitHop Limit Field(中継限界数フィールド)は、IPv4におけるTTLフィールドとほぼ同じ機能を有する。但し、IPv6の中継限界数フィールドではノード間を転送されていくパケットが通過できる中継点の最大数を指定するだけで、時間による制限はできないのに対し、IPv4のTTLフィールドでは中継点数だけでなく秒数でも指定することができる。)
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
図1は、本発明の一実施形態に係る情報通信システムの構成例を模式的に示した図である。 図2は、図1に示した情報通信システムにおいて、クライアント(すなわち、Sink機器)として動作する情報通信装置の機能構成を模式的に示した図である。 図3は、図1に示した情報通信システムにおいて、サーバ(すなわち、Source機器)として動作する情報通信装置の機能構成を模式的に示した図である。 図4は、AKEコマンドのパケット・フォーマットを示した図である。 図5は、AKEコマンドを用いた相互認証及び鍵交換の動作シーケンスを示した図である。 図6は、Source機器AとSink機器Bの間でDTCP−IPに準拠した相互認証及び鍵交換(AKE)手続きを行なうための動作シーケンス例を示した図である。 図7は、Source機器がAKEコマンドを運ぶIPパケットのTTLフィールド値が3を超えないようにチェックしながら相互認証及び鍵交換(AKE)手続きを行なうための処理手順を示したフローチャートである。 図8は、Sink機器がAKEコマンドを運ぶIPパケットのTTLフィールド値が3を超えないようにチェックしながら相互認証及び鍵交換(AKE)手続きを行なうための処理手順を示したフローチャートである。 図9は、IPv6で規定されるヘッダ構造を示した図である。

Claims (8)

  1. IPネットワーク上で情報通信機器同士がIPパケットの交換を行なう情報通信システムであって、
    前記情報通信機器は、
    Sinkとなる他の情報通信機器に対してSourceとしてDTCP−IPに準拠したコンテンツ配信する際に、
    AKEコマンドを送受信するためのTCPコネクションを確立した後に、受信した前記AKEコマンドを運ぶIPパケットを監視して、該IPパケットのヘッダ部からTTLフィールド値を取得し、
    該取得したTTLフィールド値を保持されている最大TTLフィールド値と比較し、前記取得したTTLフィールド値が前記保持されている最大TTLフィールド値より大きかった場合には、前記保持されている最大TTLフィールド値を前記取得したTTLフィールド値で更新し、
    EXCHANG_KEY subfunction commandを送信する状態が到来するとき、前記保持されている最大TTLフィールド値が制限値以下であるかどうかをチェックし、
    前記保持されている最大TTLフィールド値が前記制限値以下の場合にはEXCHANG_KEY subfunction commandを送信する処理に移行し、前記保持されている最大TTLフィールド値が前記制限値を超える場合にはAKE手続きを中止する、
    ことを特徴とする情報通信システム。
  2. IPネットワーク上で情報通信機器同士がIPパケットの交換を行なう情報通信システムであって、
    前記情報通信機器は、
    Sourceとなる他の情報通信機器からSinkとしてDTCP−IPに準拠したコンテンツ取得を行なう際に、
    AKEコマンドを送受信するためのTCPコネクションを確立した後に、受信した前記AKEコマンドを運ぶIPパケットを監視して、該IPパケットのヘッダ部からTTLフィールド値を取得し、
    該取得したTTLフィールド値を保持されている最大TTLフィールド値と比較し、前記取得したTTLフィールド値が前記保持されている最大TTLフィールド値より大きかった場合には、前記保持されている最大TTLフィールド値を前記取得したTTLフィールド値で更新し、
    EXCHANG_KEY subfunction commandを受信したとき、前記保持されている最大TTLフィールド値が制限値以下であるかどうかをチェックし、
    前記保持されている最大TTLフィールド値が前記制限値以下のときにはEXCHANG_KEY subfunction commandのACCEPTEDresponseを送信する処理に移行し、前記保持されている最大TTLフィールド値が前記制限値を超える場合にはAKE手続きを中止する、
    ことを特徴とする情報通信システム。
  3. Sinkとなる他の情報通信機器に対してSourceとしてDTCP−IPに準拠したコンテンツ配信を行なう情報通信装置であって、
    AKEコマンドを送受信するためのTCPコネクションを確立した後に、受信した前記AKEコマンドを運ぶIPパケットを監視し、該IPパケットのヘッダ部からTTLフィールド値を取得するTTLフィールド値取得手段と、
    最大TTLフィールド値を保持する最大TTLフィールド値保持手段と、
    前記TTLフィールド値取得手段で取得したTTLフィールド値を、前記最大TTLフィールド値保持手段に保持されている最大TTLフィールド値と比較するTTLフィールド値比較手段と、
    前記TTLフィールド値比較手段の比較結果に基づき、前記取得したTTLフィールド値が前記保持されている最大TTLフィールド値より大きかった場合には、前記最大TTLフィールド値保持手段に保持されている最大TTLフィールド値を、前記取得したTTLフィールド値で更新する最大TTLフィールド値更新手段と、
    EXCHANG_KEY subfunction commandを送信する状態が到来するとき、前記保持されている最大TTLフィールド値が制限値以下であるかどうかをチェックして、前記保持されている最大TTLフィールド値が前記制限値以下のときにはEXCHANG_KEY subfunction commandを送信する処理に移行し、前記保持されている最大TTLフィールド値が前記制限値を超える場合にはAKE手続きを中止する制御手段と、
    を具備することを特徴とする情報通信装置。
  4. Sourceとなる他の情報通信機器からSinkとしてDTCP−IPに準拠したコンテンツ取得を行なう情報通信装置であって、
    AKEコマンドを送受信するためのTCPコネクションを確立した後に、受信した前記AKEコマンドを運ぶIPパケットを監視し、該IPパケットのヘッダ部からTTLフィールド値を取得するTTLフィールド値取得手段と、
    最大TTLフィールド値を保持する最大TTLフィールド値保持手段と、
    前記TTLフィールド値取得手段で取得したTTLフィールド値を、前記最大TTLフィールド値保持手段に保持されている最大TTLフィールド値と比較するTTLフィールド値比較手段と、
    前記TTLフィールド値比較手段の比較結果に基づき、前記取得したTTLフィールド値が前記保持されている最大TTLフィールド値より大きかった場合には、前記最大TTLフィールド値保持手段に保持されている最大TTLフィールド値を、前記取得したTTLフィールド値で更新する最大TTLフィールド値更新手段と、
    EXCHANG_KEY subfunction commandを受信したとき、前記保持されている最大TTLフィールド値が制限値以下であるかどうかをチェックして、前記保持されている最大TTLフィールド値が前記制限値以下のときにはEXCHANG_KEYsubfunction commandのACCEPTED responseを送信する処理に移行し、前記保持されている最大TTLフィールド値が前記制限値を超える場合にはAKE手続きを中止する制御手段と、
    を具備することを特徴とする情報通信装置。
  5. Sinkとなる他の情報通信機器に対してSourceとしてDTCP−IPに準拠したコンテンツ配信を行なう情報通信方法であって、
    AKEコマンドを送受信するためのTCPコネクションを確立した後に、受信した前記AKEコマンドを運ぶIPパケットを監視し、該IPパケットのヘッダ部からTTLフィールド値を取得するTTLフィールド値取得ステップと、
    前記TTLフィールド値取得ステップで取得したTTLフィールド値を、保持されている最大TTLフィールド値と比較するTTLフィールド値比較ステップと、
    前記TTLフィールド値比較ステップの比較結果に基づき、前記取得したTTLフィールド値が前記保持されている最大TTLフィールド値より大きかった場合には、前記保持されている最大TTLフィールド値を、前記取得したTTLフィールド値で更新する最大TTLフィールド値更新ステップと、
    EXCHANG_KEY subfunction commandを送信する状態が到来するとき、前記保持されている最大TTLフィールド値が制限値以下であるかどうかをチェックして、前記保持されている最大TTLフィールド値が前記制限値以下のときにはEXCHANG_KEY subfunction commandを送信する処理に移行し、前記保持されている最大TTLフィールド値が前記制限値を超える場合にはAKE手続きを中止する制御ステップと、
    を具備することを特徴とする情報通信方法。
  6. Sourceとなる他の情報通信機器からSinkとしてDTCP−IPに準拠したコンテンツ取得を行なう情報通信方法であって、
    AKEコマンドを送受信するためのTCPコネクションを確立した後に、受信した前記AKEコマンドを運ぶIPパケットを監視し、該IPパケットのヘッダ部からTTLフィールド値を取得するTTLフィールド値取得ステップと、
    前記TTLフィールド値取得ステップで取得したTTLフィールド値を、保持されている最大TTLフィールド値と比較するTTLフィールド値比較ステップと、
    前記TTLフィールド値比較ステップの比較結果に基づき、前記取得したTTLフィールド値が前記保持されている最大TTLフィールド値より大きかった場合には、前記保持されている最大TTLフィールド値を、前記取得したTTLフィールド値で更新する最大TTLフィールド値更新ステップと、
    EXCHANG_KEY subfunction commandを受信したとき、前記保持されている最大TTLフィールド値が制限値以下であるかどうかをチェックして、前記保持されている最大TTLフィールド値が前記制限値以下のときにはEXCHANG_KEYsubfunction commandのACCEPTED responseを送信する処理に移行し、前記保持されている最大TTLフィールド値が前記制限値を超える場合にはAKE手続きを中止する制御ステップと、
    を具備することを特徴とする情報通信方法。
  7. Sinkとなる他の情報通信機器に対してSourceとしてDTCP−IPに準拠したコンテンツ配信を行なうための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
    AKEコマンドを送受信するためのTCPコネクションを確立した後に、受信した前記AKEコマンドを運ぶIPパケットを監視し、該IPパケットのヘッダ部からTTLフィールド値を取得するTTLフィールド値取得手順と、
    前記TTLフィールド値取得手順で取得したTTLフィールド値を、保持されている最大TTLフィールド値と比較するTTLフィールド値比較手順と、
    前記TTLフィールド値比較手順の比較結果に基づき、前記取得したTTLフィールド値が前記保持されている最大TTLフィールド値より大きかった場合には、前記保持されている最大TTLフィールド値を、前記取得したTTLフィールド値で更新する最大TTLフィールド値更新手順と、
    EXCHANG_KEY subfunction commandを送信する状態が到来するとき、前記保持されている最大TTLフィールド値が制限値以下であるかどうかをチェックして、前記保持されている最大TTLフィールド値が前記制限値以下のときにはEXCHANG_KEY subfunction commandを送信する処理に移行し、前記保持されている最大TTLフィールド値が前記制限値を超える場合にはAKE手続きを中止する制御手順と、
    を実行させることを特徴とするコンピュータ・プログラム。
  8. Sourceとなる他の情報通信機器からSinkとしてDTCP−IPに準拠したコンテンツ取得を行なうための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
    AKEコマンドを送受信するためのTCPコネクションを確立した後に、受信した前記AKEコマンドを運ぶIPパケットを監視し、該IPパケットのヘッダ部からTTLフィールド値を取得するTTLフィールド値取得手順と、
    前記TTLフィールド値取得手順で取得したTTLフィールド値を、保持されている最大TTLフィールド値と比較するTTLフィールド値比較手順と、
    前記TTLフィールド値比較手順の比較結果に基づき、前記取得したTTLフィールド値が前記保持されている最大TTLフィールド値より大きかった場合には、前記保持されている最大TTLフィールド値を、前記取得したTTLフィールド値で更新する最大TTLフィールド値更新手順と、
    EXCHANG_KEY subfunction commandを受信したとき、前記保持されている最大TTLフィールド値が制限値以下であるかどうかをチェックして、前記保持されている最大TTLフィールド値が前記制限値以下のときにはEXCHANG_KEYsubfunction commandのACCEPTED responseを送信する処理に移行し、前記保持されている最大TTLフィールド値が前記制限値を超える場合にはAKE手続きを中止する制御手順と、
    を実行させることを特徴とするコンピュータ・プログラム。
JP2005212631A 2005-07-22 2005-07-22 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム Expired - Fee Related JP4674502B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005212631A JP4674502B2 (ja) 2005-07-22 2005-07-22 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
US11/456,004 US7987359B2 (en) 2005-07-22 2006-07-06 Information communication system, information communication apparatus and method, and computer program
KR20060068572A KR20070012266A (ko) 2005-07-22 2006-07-21 정보 통신 시스템, 정보 통신 장치 및 방법, 및 컴퓨터프로그램
CNB2006101080140A CN100539550C (zh) 2005-07-22 2006-07-24 信息通信系统、设备和方法

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2007036351A JP2007036351A (ja) 2007-02-08
JP4674502B2 true JP4674502B2 (ja) 2011-04-20

Family

ID=37657257

Family Applications (1)

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

Country Status (4)

Country Link
US (1) US7987359B2 (ja)
JP (1) JP4674502B2 (ja)
KR (1) KR20070012266A (ja)
CN (1) CN100539550C (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9198084B2 (en) * 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
JP4737035B2 (ja) * 2006-10-30 2011-07-27 日本電気株式会社 QoSルーティング方法およびQoSルーティング装置
EP1928144A1 (en) * 2006-11-29 2008-06-04 Thomson Licensing Methods and a device for secure distance calculation in communication networks
JP4764810B2 (ja) * 2006-12-14 2011-09-07 富士通株式会社 異常トラヒック監視装置、エントリ管理装置およびネットワークシステム
FR2913152A1 (fr) * 2007-02-22 2008-08-29 Canon Kk Procede de surveillance d'execution d'un protocole de communication, produit programme d'ordinateur, moyen de stockage et dipositifs correspondants
US9569330B2 (en) 2007-06-22 2017-02-14 Red Hat, Inc. Performing dependency analysis on nodes of a business application service group
US8191141B2 (en) 2007-06-22 2012-05-29 Red Hat, Inc. Method and system for cloaked observation and remediation of software attacks
US9354960B2 (en) 2010-12-27 2016-05-31 Red Hat, Inc. Assigning virtual machines to business application service groups based on ranking of the virtual machines
US8984504B2 (en) 2007-06-22 2015-03-17 Red Hat, Inc. Method and system for determining a host machine by a virtual machine
US8429748B2 (en) * 2007-06-22 2013-04-23 Red Hat, Inc. Network traffic analysis using a dynamically updating ontological network description
US9477572B2 (en) 2007-06-22 2016-10-25 Red Hat, Inc. Performing predictive modeling of virtual machine relationships
US9727440B2 (en) 2007-06-22 2017-08-08 Red Hat, Inc. Automatic simulation of virtual machine performance
US8539570B2 (en) * 2007-06-22 2013-09-17 Red Hat, Inc. Method for managing a virtual machine
US9678803B2 (en) 2007-06-22 2017-06-13 Red Hat, Inc. Migration of network entities to a cloud infrastructure
US8667144B2 (en) * 2007-07-25 2014-03-04 Qualcomm Incorporated Wireless architecture for traditional wire based protocol
US8645524B2 (en) 2007-09-10 2014-02-04 Microsoft Corporation Techniques to allocate virtual network addresses
US8074279B1 (en) * 2007-12-28 2011-12-06 Trend Micro, Inc. Detecting rogue access points in a computer network
US20090207753A1 (en) * 2008-02-15 2009-08-20 Paul Bieganski Systems and methods for power consumption data networks
US20090210178A1 (en) * 2008-02-15 2009-08-20 Paul Bieganski Systems and methods for producing power consumption data
US8307417B2 (en) * 2008-03-06 2012-11-06 Hewlett-Packard Development Company, L.P. Port enablement
US8811294B2 (en) * 2008-04-04 2014-08-19 Qualcomm Incorporated Apparatus and methods for establishing client-host associations within a wireless network
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
US20100205321A1 (en) * 2009-02-12 2010-08-12 Qualcomm Incorporated Negotiable and adaptable periodic link status monitoring
EP2252030B1 (en) 2009-05-14 2017-07-19 Hitachi Maxell, Ltd. Content transmitter and receiver apparatus and content transmitting and receiving method
US9264248B2 (en) * 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
JP5614016B2 (ja) 2009-09-09 2014-10-29 ソニー株式会社 通信システム、通信装置及び通信方法、コンピューター・プログラム、並びに、コンテンツ提供装置及びコンテンツ提供方法
JP2011082952A (ja) 2009-09-09 2011-04-21 Sony Corp 通信システム、通信装置及び通信方法、並びにコンピューター・プログラム
US8605900B2 (en) 2009-10-30 2013-12-10 Panasonic Corporation AV data receiving device, AV data receiving method, and AV data transmission and receiving system
US9582238B2 (en) * 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
JP5652036B2 (ja) 2010-07-29 2015-01-14 ソニー株式会社 通信システム、通信装置及び通信方法、並びにコンピューター・プログラム
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US8964783B2 (en) * 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US20130013318A1 (en) 2011-01-21 2013-01-10 Qualcomm Incorporated User input back channel for wireless displays
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US8674957B2 (en) 2011-02-04 2014-03-18 Qualcomm Incorporated User input device for wireless back channel
JP5857451B2 (ja) * 2011-06-03 2016-02-10 富士通株式会社 配信方法及び配信システム
JP5931362B2 (ja) 2011-07-01 2016-06-08 日立マクセル株式会社 コンテンツ送信装置及びコンテンツ送信方法
JP5899687B2 (ja) 2011-07-15 2016-04-06 ソニー株式会社 通信装置及び通信方法、通信システム、並びにコンピューター・プログラム
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
JP2014013972A (ja) * 2012-07-03 2014-01-23 Sony Corp 通信装置及び通信方法、通信システム、並びにコンピューター・プログラム
US10187315B2 (en) * 2012-09-06 2019-01-22 Apple Inc. Apparatus and method for optimizing communications at an intermittent communication link
SG11201505401QA (en) * 2013-03-15 2015-08-28 Boeing Co Secure routing based on the physical locations of routers
US9077652B2 (en) * 2013-09-30 2015-07-07 Silicon Laboratories Inc. Methods for limiting number of routers in a mesh network
JP5865939B2 (ja) * 2014-04-09 2016-02-17 日立マクセル株式会社 コンテンツ送信装置及びコンテンツ送信方法
EP3139555A4 (en) 2014-05-01 2017-12-27 Nec Corporation Communication device, control device, communication system, method for processing received packet, method for controlling communication device, and program
JP6064026B2 (ja) * 2015-12-24 2017-01-18 日立マクセル株式会社 コンテンツ送受信装置及びそれに適用されるコンテンツ送信方法
US10229856B2 (en) * 2017-05-16 2019-03-12 International Business Machines Corporation Dual channel CMOS having common gate stacks

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3638742B2 (ja) * 1996-11-29 2005-04-13 アンリツ株式会社 ルータ
US6067569A (en) * 1997-07-10 2000-05-23 Microsoft Corporation Fast-forwarding and filtering of network packets in a computer system
US6452915B1 (en) 1998-07-10 2002-09-17 Malibu Networks, Inc. IP-flow classification in a wireless point to multi-point (PTMP) transmission system
US6826616B2 (en) * 1998-10-30 2004-11-30 Science Applications International Corp. Method for establishing secure communication link between computers of virtual private network
US6381649B1 (en) * 1999-02-05 2002-04-30 Pluris, Inc. Data flow monitoring at a network node using periodically incremented counters for comparison to predetermined data flow thresholds
US7184441B1 (en) * 1999-03-17 2007-02-27 Broadcom Corporation Network switch stacking configuration
AU5920000A (en) 1999-07-09 2001-02-13 Malibu Networks, Inc. Method for transmission control protocol (tcp) rate control with link-layer acknowledgements in a wireless point to multi-point (ptmp) transmission system
US20020194251A1 (en) * 2000-03-03 2002-12-19 Richter Roger K. Systems and methods for resource usage accounting in information management environments
US7194766B2 (en) * 2001-06-12 2007-03-20 Corrent Corporation Method and system for high-speed processing IPSec security protocol packets
US6665611B1 (en) * 2001-06-19 2003-12-16 Cisco Technology, Inc. System for discovering and maintaining geographic location information in a computer network to enable emergency services
JP3844686B2 (ja) * 2001-12-13 2006-11-15 株式会社エヌ・ティ・ティ・ドコモ ルータ装置、端末装置、通信システム及びルーティング方法
JP2003256310A (ja) * 2002-03-05 2003-09-12 Nec Corp サーバ負荷分散システム、サーバ負荷分散装置、コンテンツ管理装置、及びサーバ負荷分散プログラム
JP3826100B2 (ja) * 2002-11-27 2006-09-27 株式会社東芝 通信中継装置、通信システム及び通信制御プログラム
US7188245B2 (en) * 2002-12-09 2007-03-06 Kabushiki Kaisha Toshiba Contents transmission/reception scheme with function for limiting recipients
GB0303192D0 (en) * 2003-02-12 2003-03-19 Saviso Group Ltd Methods and apparatus for traffic management in peer-to-peer networks
JP3808839B2 (ja) * 2003-03-17 2006-08-16 株式会社東芝 コンテンツ送信装置、コンテンツ受信装置、コンテンツ送信方法及びコンテンツ受信方法
JP4069818B2 (ja) * 2003-07-17 2008-04-02 株式会社日立製作所 帯域監視方法及び帯域監視機能を備えたパケット転送装置
WO2005020234A1 (ja) * 2003-08-26 2005-03-03 Matsushita Electric Industrial Co., Ltd. 情報処理装置システム、情報処理方法及び情報処理システムにおいて実行されるコンピュータープログラム
US7421737B1 (en) * 2004-05-04 2008-09-02 Symantec Corporation Evasion detection

Also Published As

Publication number Publication date
US7987359B2 (en) 2011-07-26
CN100539550C (zh) 2009-09-09
CN1901512A (zh) 2007-01-24
US20070022195A1 (en) 2007-01-25
KR20070012266A (ko) 2007-01-25
JP2007036351A (ja) 2007-02-08

Similar Documents

Publication Publication Date Title
JP4674502B2 (ja) 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
EP1635502B1 (en) Session control server and communication system
JP4081724B1 (ja) クライアント端末、中継サーバ、通信システム、及び通信方法
JP3769580B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
KR101038612B1 (ko) 정보 처리 장치, 및 정보 처리 방법
CN1833403B (zh) 通信系统、通信装置、通信方法
JP5634427B2 (ja) 鍵生成装置、鍵生成方法およびプログラム
US20070022475A1 (en) Transmission of packet data over a network with a security protocol
JP5899687B2 (ja) 通信装置及び通信方法、通信システム、並びにコンピューター・プログラム
JP4770227B2 (ja) Sipメッセージの暗号化方法,および暗号化sip通信システム
CN104967514A (zh) 信源设备及其产生解密已加密内容的信号的方法
JP4264650B2 (ja) コンテンツ伝送システム及びコンテンツ伝送方法、コンテンツ送信装置及びコンテンツ送信方法、コンテンツ受信装置及びコンテンツ受信方法、並びにコンピュータ・プログラム
JP4910324B2 (ja) 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
CN100583732C (zh) 信息处理设备,信息处理方法和信息处理程序
JP4707325B2 (ja) 情報処理装置
JP4736603B2 (ja) 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
JP4866150B2 (ja) Ftp通信システム、ftp通信プログラム、ftpクライアント装置及びftpサーバ装置
JP4757088B2 (ja) 中継装置
JP4783665B2 (ja) メールサーバ装置
JP2007036350A (ja) 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
Vasic et al. Security Agility Solution Independent of the Underlaying Protocol Architecture.
TW200841672A (en) Relaying apparatus
JP2007036952A (ja) 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
Reiter Enabling Secure Communication over Existing Peer-to-Peer Frameworks
JP2007324726A (ja) ファイル共有サーバ装置、クライアント装置、印刷装置、ファイル共有システム、ファイル共有プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101210

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101228

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110110

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

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees