JP4883199B2 - Content transmission system, content transmission device, content transmission method, and computer program - Google Patents

Content transmission system, content transmission device, content transmission method, and computer program Download PDF

Info

Publication number
JP4883199B2
JP4883199B2 JP2010076280A JP2010076280A JP4883199B2 JP 4883199 B2 JP4883199 B2 JP 4883199B2 JP 2010076280 A JP2010076280 A JP 2010076280A JP 2010076280 A JP2010076280 A JP 2010076280A JP 4883199 B2 JP4883199 B2 JP 4883199B2
Authority
JP
Japan
Prior art keywords
content
content transmission
sink
source
authentication
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.)
Active
Application number
JP2010076280A
Other languages
Japanese (ja)
Other versions
JP2010231787A (en
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 JP2010076280A priority Critical patent/JP4883199B2/en
Publication of JP2010231787A publication Critical patent/JP2010231787A/en
Application granted granted Critical
Publication of JP4883199B2 publication Critical patent/JP4883199B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)

Description

本発明は、デジタル化されたAVデータなどのコンテンツを機器間で伝送するコンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラムに係り、特に、著作権保護やその他の目的でコピーが制限されたコンテンツを機器間で暗号化伝送するコンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラムに関する。   The present invention relates to a content transmission system, a content transmission apparatus, a content transmission method, and a computer program for transmitting content such as digitized AV data between devices, and in particular, copying for copyright protection and other purposes. The present invention relates to a content transmission system, a content transmission apparatus, a content transmission method, and a computer program for encrypting and transmitting restricted content between devices.

さらに詳しくは、本発明は、DTCPに準拠した情報機器同士で暗号化コンテンツの伝送手続きを実行するコンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラムに係り、特に、DTCP MOVE機能を用いてSourceからSinkへコンテンツを移動するコンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラムに関する。   More particularly, the present invention relates to a content transmission system, a content transmission apparatus and a content transmission method, and a computer program that execute a transmission procedure of encrypted content between information devices compliant with DTCP, and in particular, a DTCP MOVE function. The present invention relates to a content transmission system, a content transmission apparatus, a content transmission method, and a computer program, which are used to move content from a source to a sink.

情報技術の普及に伴い、AVコンテンツのほとんどがデジタル化されており、CDやDVDなどのデジタル・コンテンツを記録再生するメディアが広く利用されている。また、最近では、HDDレコーダやHDD搭載DVDレコーダなど、コンテンツをデジタル記録する機器が家庭内にも浸透してきている。さらには、ネットワークを経由した映像や音楽などのコンテンツの流通・配信サービスが盛んとなり、CDやDVDなどのメディアの移動なしに、ネットワークを経由して遠隔端末間でコンテンツ配信が行なわれている。   With the spread of information technology, most of AV contents are digitized, and media for recording / reproducing digital contents such as CDs and DVDs are widely used. In recent years, devices that digitally record content such as HDD recorders and HDD-equipped DVD recorders have become popular in the home. Furthermore, content distribution / distribution services such as video and music via the network have become popular, and content distribution is performed between remote terminals via the network without moving media such as CDs and DVDs.

しかしながら、デジタル化されたコンテンツはコピーや改竄などの不正な操作が比較的容易であることから、個人的又は家庭的なコンテンツの使用を許容しながら不正使用に対する防御が必要である。とりわけ、国内では2011年の地上アナログ放送停波に向けてアナログ放送受信機からデジタル放送受信機への置き換えが急速に進んでおり、家庭内のAVコンテンツのデジタル化に対してコンテンツの保護を技術的に実現することが必須と考えられている。   However, since digitized content is relatively easy to perform illegal operations such as copying and falsification, it is necessary to protect against unauthorized use while allowing the use of personal or household content. In particular, the replacement of analog broadcast receivers with digital broadcast receivers is rapidly progressing toward the terrestrial analog broadcast stoppage in 2011, and technology to protect content against the digitization of AV content in the home. Realization is considered essential.

日本国内では、ARIB(Association of Radio Industries and Businesses:電波産業会)が中心となってデジタル放送に関する標準化が進められ、デジタル衛星放送、デジタル地上波放送、並びにデジタルCATVにおいてMPEG2システム(例えば、非特許文献1を参照のこと)を採用するとともに、「1世代のみコピー可」(コピーワンス)といったコピー制御機能の導入を義務付け、厳しいコンテンツ保護規定を設けている(例えば、非特許文献2、非特許文献3を参照のこと)。   In Japan, ARIB (Association of Radio Industries and Businesses) is standardizing digital broadcasting, and MPEG2 systems (for example, non-patented) are used in digital satellite broadcasting, digital terrestrial broadcasting, and digital CATV. (See Document 1) and requires the introduction of a copy control function such as “Copying only one generation” (copy once), and provides strict content protection regulations (for example, Non-Patent Document 2, Non-Patent Document) 3).

また、デジタル伝送コンテンツの保護に関する業界標準的な技術として、DTLA(Digital Transmission Licensing Administrator)が開発したDTCP(Digital Transmission Content Protection)が挙げられ、コピー制御を始め著作権が保護された形でコンテンツを伝送させるための仕組みについて規定されている(例えば、非特許文献4を参照のこと)。   In addition, DTCP (Digital Transmission Content Protection) developed by DTLA (Digital Transmission Licensing Administrator) is an industry standard technology for protecting digital transmission content, and content is protected in the form of copyright protection including copy control. A mechanism for transmission is defined (for example, see Non-Patent Document 4).

DTCPでは、コンテンツ伝送時における機器間の認証プロトコルと、暗号化コンテンツの伝送プロトコルについて取り決められている。その規定は、要約すれば、DTCP準拠機器はMPEG(Moving Picture Experts Group)など取り扱いが容易な圧縮コンテンツを非暗号の状態で機器外に送出しないことと、暗号化コンテンツを復号するために必要となる鍵交換を所定の相互認証及び鍵交換(Authentication and Key Exchange:AKE)アルゴリズムに従って行なうこと、並びにAKEコマンドにより鍵交換を行なう機器の範囲を制限することなどを取り決めている。   In DTCP, an authentication protocol between devices at the time of content transmission and a transmission protocol for encrypted content are decided. To summarize, the DTCP-compliant device is required to decrypt compressed content that is easy to handle, such as MPEG (Moving Picture Experts Group), in an unencrypted state and to decrypt encrypted content. To perform key exchange according to a predetermined mutual authentication and key exchange (AKE) algorithm, and to limit the range of devices that perform key exchange using the AKE command.

コンテンツ提供元であるサーバ(Source)とコンテンツ提供先であるクライアント(Sink)は、AKEコマンドの送受信により、認証手続きを経て鍵を共有化し、その鍵を用いて伝送路を暗号化してコンテンツの伝送を行なう。したがって、不正なクライアントは、サーバとの認証に成功しないと暗号鍵を取得できないから、コンテンツを享受することはできない。   The server (Source) that is the content provider and the client (Sink) that is the content provider share the key through the authentication procedure by transmitting and receiving the AKE command, encrypt the transmission path using the key, and transmit the content To do. Therefore, an unauthorized client cannot obtain the content because the encryption key cannot be acquired unless the authentication with the server is successful.

DTCPは、原初的には、IEEE1394などを伝送路に用いたホーム・ネットワーク上におけるデジタル・コンテンツの伝送について規定している。最近では、DLNA(Digital Living Network Alliance)に代表されるように、家庭内においても、デジタル化されたAVコンテンツをIPネットワーク経由で流通させようという動きが本格的になっていることから、IPネットワークに対応したDTCP技術、すなわちDTCP−IP(DTCP mapping to IP)の開発が進められている。   DTCP originally specified transmission of digital contents on a home network using IEEE 1394 or the like as a transmission path. Recently, as represented by DLNA (Digital Living Network Alliance), the movement to distribute digitized AV content via the IP network has become serious in the home. Development of DTCP technology corresponding to the above, ie, DTCP-IP (DTCP mapping to IP) is underway.

DTCP−IPは、DTCP技術をIPネットワークに移植した同様の技術であるが、伝送路にIPネットワークを使用すること、暗号化されたコンテンツの伝送にHTTP(Hyper Text Transfer Protocol)やRTP(Real−Time Transfer Protocol)といった、IPネットワーク上で実装されたコンテンツ伝送用プロトコルを使用するという点で、IEEE1394ベースで規定された本来のDTCPとは相違する。例えば、HTTPの手続きに従ってコンテンツを伝送する場合、SourceがHTTPサーバとなり、SinkがHTTPクライアントとなって、HTTPのためのTCP/IPコネクションが作成され、暗号化コンテンツのダウンロード伝送が行なわれる(アップロード伝送を行なうときには、SourceがHTTPクライアントとなりSinkがHTTPサーバとなる)。   DTCP-IP is a similar technology in which the DTCP technology is transplanted to an IP network. However, the IP network is used as a transmission path, and HTTP (Hyper Text Transfer Protocol) or RTP (Real--) is used for transmission of encrypted content. It differs from the original DTCP defined on the basis of IEEE 1394 in that it uses a content transmission protocol implemented on an IP network, such as Time Transfer Protocol. For example, when content is transmitted according to the HTTP procedure, Source is an HTTP server, Sink is an HTTP client, a TCP / IP connection for HTTP is created, and encrypted content is downloaded and transmitted (upload transmission). When performing the process, the source becomes an HTTP client and the sink becomes an HTTP server).

ホーム・ネットワークがルータ経由でインターネットなどの外部のIPネットワークに接続されると、データの盗聴、改竄、コンテンツの不正コピーなどの危惧がある。また、SourceとSink間の伝送路上にパーソナル・コンピュータなどで構成される不正なプロキシを設置することで、コンテンツの不正利用が容易に行なわれてしまう。このため、DTCP−IPでは、AKEコマンドのTTL(Time To Live)すなわちIPルータのホップ回数に上限を設けることで、コンテンツの利用範囲を個人的又は家庭の範囲内に制限するなど、コンテンツを保護しながらネットワーク伝送するためのさらなる方法を規定している(例えば、非特許文献5を参照のこと)。   If the home network is connected to an external IP network such as the Internet via a router, there is a risk of data eavesdropping, falsification, and unauthorized copying of content. In addition, unauthorized use of content can be easily performed by installing an unauthorized proxy composed of a personal computer or the like on the transmission path between the source and sink. For this reason, in DTCP-IP, by setting an upper limit on the TTL (Time To Live) of the AKE command, that is, the number of hops of the IP router, the content usage range is limited to a personal range or a home range. However, a further method for network transmission is defined (for example, see Non-Patent Document 5).

著作権保護に対応したコンテンツ伝送を行なう際、コンテンツ保護に関するコンテンツ属性を指定する必要がある。DTCP−IPでは、コンテンツ伝送用のパケット(PCP)のヘッダ部に記述するE−EMI(Extended Encryption Mode Indicator)と、Embedded CCI(Copy Control Information)という2つのメカニズムにより、コンテンツに付随したコピー制御情報の伝送を実現している。   When performing content transmission corresponding to copyright protection, it is necessary to specify content attributes relating to content protection. In DTCP-IP, copy control information associated with content is provided by two mechanisms: E-EMI (Extended Encryption Mode Indicator) and Embedded CCI (Copy Control Information) described in the header of a packet (PCP) for content transmission. Has been realized.

Embedded CCIは、暗号化するコンテンツ・ストリームの一部として(すなわちパケットのペイロードに埋め込んで)伝送されるコピー制御情報である。コンテンツ・ストリームをタンパリングすると誤った暗号解読を行なうことになるので、Embedded CCIの完全性を保証することができる。一方のE−EMIは、平文状態のヘッダ部に記載され、パケットのヘッダでコンテンツ・ストリームに関するコピー制御情報を示すことにより、容易にアクセスできると同時にセキュリティを実現する。E−EMIは、暗号モードを記述する4ビットのフィールドで構成され、その値はコピー制御情報の7種類に対応する。ビット値定義を下表に示しておく。但し、同表では未使用となっている9つのE−EMI値は将来の拡張用に予備となっている。   The Embedded CCI is copy control information that is transmitted as a part of a content stream to be encrypted (that is, embedded in a packet payload). When the content stream is tampered, erroneous decryption is performed, so that the integrity of the Embedded CCI can be guaranteed. One E-EMI is described in the plaintext header, and indicates copy control information related to the content stream in the packet header, thereby enabling easy access and security. The E-EMI is composed of a 4-bit field describing the encryption mode, and its value corresponds to seven types of copy control information. The bit value definition is shown in the table below. However, the nine unused E-EMI values in the table are reserved for future expansion.

Sourceとして動作する機器は、コンテンツ・ストリームの特性に従って正しい暗号モードを選択し、これに基づいてE−EMIを設定する。これに対し、Sinkとして動作する機器は、コンテンツを伝送するパケットのヘッダ中のE−EMIで指定される正しい暗号解読モードを選択する。また、Sinkとして動作する機器は、E−EMIやEmbedded CCIで指定されている通りに、受信コンテンツを符号化して一旦蓄積し、続いてSourceとして動作するときにはコピー制御情報に従って2次的なコンテンツ伝送動作を制御する。コピー制御の種類として、以下が挙げられる。   The device operating as the source selects the correct encryption mode according to the characteristics of the content stream, and sets E-EMI based on this. On the other hand, a device operating as a sink selects a correct decryption mode specified by E-EMI in a header of a packet transmitting content. Also, a device operating as a sink encodes received content and temporarily stores it, as specified by E-EMI or Embedded CCI, and subsequently performs secondary content transmission according to copy control information when operating as a source. Control the behavior. The types of copy control include the following.

Copy Free:著作権自体は留保するが、DTCPを用いたコピー制御は行なわない。
Copy Never:決してコンテンツを複製してはならない。
Copy One Generation:1回だけ(One Generation)だけコピーが許容される。
No More Copies:もはやコピーが許されない。
Copy Free: The copyright itself is reserved, but copy control using DTCP is not performed.
Copy Never: Never copy content.
Copy One Generation: Copying is allowed only once (One Generation).
No More Copies: No longer allowed to copy.

上記のうちNo More Copiesは、元はCopy One Generationに設定されたコンテンツを1回(first generation)だけコピーしたことによりコピーが許可されなくなった状態である。DTCP−IPでは、No More Copiesとして符号化されたコンテンツを伝送する手段として、MOVE機能が用意されている(例えば、非特許文献5、非特許文献6を参照のこと)。ネットワーク通信におけるMOVEは、機器間でデータを移動させることに相当し、基本的に移動元にデータを残さない。DTCP−IPで言うMOVE機能は、Sinkは受信したコンテンツをNo More Copiesとして符号化して扱うこと、及び、Source側では伝送した後のコンテンツを消去又は利用不能にするという条件の下で、暗号化コンテンツをSourceからSinkへ伝送することを意味する。例えば、Copy One Generationのコンテンツが個人のビデオ録画機器(PVR)などのSourceにNo More Copiesとして符号化・記録されている場合、MOVE機能を用いることで、上記の条件を満たしながら、Copy One Generationの状態で符号化して単一のSinkに伝送することができる。また、単一のSourceと単一のSink間でのみ、MOVEが許容される。   Among the above, No More Copies is a state in which copying is no longer permitted because the content originally set in Copy One Generation is copied only once (first generation). In DTCP-IP, a MOVE function is prepared as means for transmitting content encoded as No More Copies (see, for example, Non-Patent Document 5 and Non-Patent Document 6). MOVE in network communication corresponds to moving data between devices, and basically does not leave data at the source. The MOVE function in DTCP-IP is encrypted under the condition that the Sink encodes the received content as No More Copies, and the source side erases or disables the content after transmission. This means that the content is transmitted from the source to the sink. For example, when the content of Copy One Generation is encoded and recorded as No More Copies in a source such as a personal video recording device (PVR), Copy One Generation is satisfied while satisfying the above conditions by using the MOVE function. Can be encoded and transmitted to a single sink. Also, MOVE is allowed only between a single source and a single sink.

現状の規定によれば、E−EMIでC1モード、又はB1モードのいずれかを使用してMOVE伝送を行なうことができる。Sink側では、これらのモードで受け取ったコンテンツを、AKE手続きで取得した鍵を用いて復号し、記録することができる。また、Source側では、送信した瞬間にデータを無効化する必要がある。   According to the current regulations, MOVE transmission can be performed using either the C1 mode or the B1 mode by E-EMI. On the sink side, the content received in these modes can be decrypted and recorded using the key acquired in the AKE procedure. On the source side, it is necessary to invalidate data at the moment of transmission.

MOVE機能によれば、有体物をある場所から別の場所へ移動するのと同様に、MOVEしたコンテンツのエンティティ数が増えることはない。逆に言えば、伝送対象となるコンテンツが、SourceとSinkに同時に存在しない(若しくは利用可能とならない)ことを保証する必要がある。したがって、SourceからSinkへのコンテンツが複数のメッセージ転送手続きで構成される場合、上述したような、Source側でコンテンツを消去又は利用不能にするという条件をすべてのメッセージ転送手続にわたって一貫して遵守しなければならない。このため、コンテンツ伝送方法としては、Source側で送信後のデータを逐次的に利用不能にするとともに、Sink側で受信データを逐次的に利用可能にしていくという“INCREMENTAL MOVE”を行なう必要がある。   According to the MOVE function, the number of moved content entities does not increase as in the case of moving a tangible object from one place to another. In other words, it is necessary to ensure that the content to be transmitted does not exist (or cannot be used) at the same time in the source and the sink. Therefore, when the content from the source to the sink is composed of a plurality of message transfer procedures, the condition that the content is erased or made unavailable on the source side as described above is consistently observed throughout all the message transfer procedures. There must be. For this reason, as a content transmission method, it is necessary to perform “INCREMENTAL MOVE” in which data after transmission is sequentially disabled on the source side and reception data is sequentially enabled on the sink side. .

例えば、コンテンツを複数の領域に分割してそれぞれを別のタイトル鍵で暗号化し、コンテンツ復号化の際に使用される時変鍵を抽出し、タイトル鍵領域の元のタイトル鍵を、抽出した当該時変鍵で順次上書きして前のコンテンツの復号化を不可能にすることによって、MOVE処理した元のコンテンツを安全且つ効率的に削除するコンテンツ管理装置について提案がなされている(例えば、特許文献1を参照のこと)。   For example, the content is divided into a plurality of areas, each is encrypted with a different title key, a time-varying key used for content decryption is extracted, and the original title key in the title key area is extracted There has been proposed a content management apparatus that deletes the original content that has been subjected to the move process by overwriting sequentially with a time-varying key to make it impossible to decrypt the previous content (for example, Patent Documents). 1).

ここで、SourceとSink間で行なわれているINCREMENTAL MOVEシーケンスがコンテンツ伝送中に障害の発生などにより中断したときに、Source及びSinkのそれぞれにコンテンツが分断されるという問題がある。コンテンツ全体の伝送が成功裏に終わればSourceとSink間でコンテンツの権利を無事に委譲することができるが、伝送処理の途中で障害が発生すると、伝送が済んだデータ部分はSink側に存在するが、伝送する前のデータ部分はSourceに残ってしまうため、コンテンツが分断される。INCREMENTAL MOVEを処理中に生じ得る障害として、例えば、コネクション・エラーが発生する、一方の機器の電源が遮断される、コンテンツ格納用のメディアが抜き取られる(あるいはストレージが故障する)、Sink側でコンテンツを格納するストレージが満杯になるといった原因が挙げられ、コンテンツが分断される事態は決して希ではない。   Here, when the INCREMENTAL MOVE sequence performed between the source and the sink is interrupted due to a failure or the like during content transmission, there is a problem that the content is divided into the source and the sink. If the entire content is successfully transmitted, the content right can be safely transferred between the source and the sink. However, if a failure occurs during the transmission process, the data portion that has been transmitted exists on the sink side. However, since the data part before transmission remains in the source, the content is divided. As a failure that may occur during processing of INCREMENTAL MOVE, for example, a connection error occurs, the power of one device is shut off, the content storage medium is removed (or the storage fails), the content on the Sink side For example, it is not rare that the content is divided.

1つのコンテンツの移動が複数のメッセージ転送手続きで行なわれる場合、Sourceがメッセージ転送を行なう毎にSink側へ移動が終わったデータ部分を逐次的に消去すると、コンテンツ伝送が中断したときに、SourceとSinkのいずれでもコンテンツを回復することができなくなってしまう。SourceからSinkへのコンテンツ伝送が完了した後にSource側のコンテンツを一括して消去又は利用不能にするようにすれば、ユーザはコンテンツを消失する心配はない。しかしながら、DTCP−IPで規定されている、MOVE実行時の前提条件(前述)を一貫して遵守したことにならず、コンテンツの著作権保護を危険に晒しかねない。   When movement of one content is performed by a plurality of message transfer procedures, each time the source performs message transfer, if the data portion that has moved to the sink side is sequentially deleted, when content transmission is interrupted, The content cannot be recovered by any of the sinks. If content on the source side is erased or made unavailable after the content transmission from the source to the sink is completed, the user does not have to worry about losing the content. However, it does not consistently comply with the preconditions (mentioned above) for executing MOVE defined in DTCP-IP, which may endanger the copyright protection of the content.

例えば、汎用バス経由でコンテンツ伝送を行なうSourceとSinkの間にコンテンツ移動コントローラを設け、MOVE伝送に際してSourceとSinkの両方に重複して存在する再生可能なコンテンツの量が通常の再生時間にして1分を超えてはならないというDTCP規格に基づいて、コンテンツ移動コントローラがSource及びSinkいずれかで不具合を検出すると1分以内にMOVEを中断し、Sourceに再生可能な状態で残っている部分で移動動作を再開することによってコンテンツの消失を避けるコンテンツ移動システムについて提案がなされている(例えば、特許文献を参照2のこと)。但し、この場合は、コンテンツ移動コントローラが介在しなければならないことから、装置コストが増大する。また、無線LAN上で任意のDTCP−IP機器がSource並びにSinkとしてそれぞれ動作し、これらSource及びSink間でコンテンツのMOVE処理をアドホックに起動する場合には、コンテンツ移動コントローラの配置が困難となり、あるいはコンテンツ移動コントローラの介在が伝送シーケンスのボトルネックとなる。   For example, a content movement controller is provided between a source and a sink that perform content transmission via a general-purpose bus, and the amount of reproducible content existing in both the source and the sink during the move transmission is 1 as the normal playback time. Based on the DTCP standard that must not exceed minutes, if the content movement controller detects a failure in either the source or the sink, the move is interrupted within one minute, and the movement operation is performed in the portion that remains in the source reproducible state. A content moving system that avoids loss of content by resuming is proposed (for example, see Patent Document 2). However, in this case, since the content movement controller must be interposed, the apparatus cost increases. In addition, when any DTCP-IP device operates as a source and a sink on a wireless LAN, and a content move process is activated ad hoc between these sources and sinks, it becomes difficult to arrange the content movement controller, or The intervention of the content movement controller becomes a bottleneck of the transmission sequence.

また、コンテンツを受信完了したSinkから返信されるコンテンツの記録状態情報を基にSourceが送信済みのコンテンツを消去することで、Sinkがコンテンツを正常記録できない際のSource側でのコンテンツの紛失を防ぐコンテンツ記録システムについて提案がなされている(例えば、特許文献3を参照のこと)。しかしながら、同システムでは、コンテンツ伝送が途切れたことによりコンテンツがSourceとSinkで分断してしまった事態については何ら考慮されていない。   In addition, by erasing the content that has already been sent based on the recording status information of the content returned from the sink that has received the content, the loss on the source side when the sink cannot record the content normally is prevented. Proposals have been made on content recording systems (see, for example, Patent Document 3). However, in this system, no consideration is given to the situation where the content is divided between the source and the sink due to the interruption of content transmission.

また、著作権保護されたデータを他の記録装置に移動する際に、独自の複写暗号鍵で複写データを暗号化して保持しておき、万一移動時の障害などにより移動後のデータが不良の場合は、移動後のデータを無効とし同装置では、複写データから元のデータを復元することにより、著作権保護を行ないながら元のデータの消失を防止する、コンテンツ・データを取り扱う装置について提案がなされている(例えば、特許文献4を参照のこと)。しかしながら、同装置では、移動先にデータが記録されてから元のデータを消去するか、又は移動先でのデータの記録と並行して元のデータを消去するので、コンテンツ伝送が途切れたことによりコンテンツがSourceとSinkで分断してしまった事態について十分には考慮されていない。   In addition, when moving copyright-protected data to another recording device, the copy data is encrypted and held with a unique copy encryption key. In this case, the data after moving is invalidated, and the device proposes a device that handles content data that protects the copyright while protecting the copyright by restoring the original data from the copied data. (For example, refer to Patent Document 4). However, in the same device, the original data is erased after the data is recorded at the destination, or the original data is erased in parallel with the recording of the data at the destination. The situation where the content is divided between the source and the sink is not fully considered.

特開2003−101529号公報JP 2003-101529 A 特開2005−158056号公報Japanese Patent Laid-Open No. 2005-158056 特開2005−293731号公報JP 2005-293731 A 特開2005−250567号公報JP 2005-250567 A

ISO/IEC 13818−1GENERIC CODING OF MOVING PICTURESAND ASSOCIATED AUDIO:SYSTEMS Recommendation H.222.0ISO / IEC 13818-1 GENERIC CODING OF MOVING PICTURESAND ASSOCIATED AUDIO: SYSTEMS RECOMMENDATION H. 222.0 ARIB TR−B14 地上デジタルテレビジョン放送運用規定ARIB TR-B14 Digital Terrestrial Television Broadcasting Operation Regulations ARIB TR−B15 BS/広帯域CSデジタル放送運用規定ARIB TR-B15 BS / broadband CS digital broadcasting operation rules DTCP Specification Volume 1 (Informational Version) Revision 1.4 (http://www.dtcp.com/)DTCP Specification Volume 1 (Informational Version) Revision 1.4 (http://www.dcp.com/) DTCP Volume 1 Supplement E(V1SE) Mapping DTCP to IP (Informational Version) Revision 1.1 (http://www.dtcp.com/)DTCP Volume 1 Supplement E (V1SE) Mapping DTCP to IP (Information Version) Revision 1.1 (http://www.dcp.com/) DIGITAL TRANSMISSION PROTECTION LICENSE AGREEMENT, Adopter Agreement ――May 2005DIGITAL TRANSMISSION PROTECTION LICENSE AGREEMENT, Adapter Agreement-May 2005

本発明の目的は、DTCPに準拠した情報機器同士で暗号化コンテンツの伝送手続きを好適に実行することができる、優れたコンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラムを提供することにある。   An object of the present invention is to provide an excellent content transmission system, content transmission apparatus and content transmission method, and computer program capable of suitably executing an encrypted content transmission procedure between information devices compliant with DTCP. There is.

本発明のさらなる目的は、MOVE機能を用いてSourceからSinkへコンテンツを好適に移動することができる、優れたコンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラムを提供することにある。   A further object of the present invention is to provide an excellent content transmission system, content transmission device and content transmission method, and computer program capable of suitably moving content from a source to a sink using the MOVE function. .

本発明のさらなる目的は、コンテンツ伝送中に伝送路に障害が発生したりしても、コンテンツが分断されたり欠落が発生するのを防いで、コンテンツのMOVE処理を確実に行なうことができる、優れたコンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラムを提供することにある。   A further object of the present invention is to prevent the content from being divided or missing even if a failure occurs in the transmission path during content transmission, so that the MOVE processing of the content can be performed reliably. Another object of the present invention is to provide a content transmission system, a content transmission apparatus, a content transmission method, and a computer program.

本発明は、上記課題を参酌してなされたものであり、その第1の側面は、コンテンツを送信するSourceとコンテンツを受信するSink間でコンテンツを伝送するコンテンツ伝送システムであって、
SourceとSink間で伝送対象となるコンテンツを指定するコンテンツ指定手段と、
SourceとSink間で相互認証及び鍵交換を行なう認証手段と、
前記認証手段により交換した鍵を用いてSourceからSinkへ、前記コンテンツ指定手段により指定されたコンテンツを暗号化伝送するコンテンツ伝送手段と、
前記コンテンツ伝送手段により伝送処理が終了したことに応じて、Sink側のコンテンツを有効化するとともに、Source側の元のコンテンツを無効化するコンテンツ伝送終了処理手段を備え、
SourceからSinkへコンテンツを移動することを特徴とするコンテンツ伝送システムである。
The present invention has been made in consideration of the above problems, and a first aspect thereof is a content transmission system for transmitting content between a source that transmits content and a sink that receives content,
Content specifying means for specifying content to be transmitted between the source and the sink;
An authentication means for performing mutual authentication and key exchange between the source and the sink;
Content transmission means for encrypting and transmitting the content designated by the content designation means from the source to the sink using the key exchanged by the authentication means;
In response to the completion of the transmission processing by the content transmission means, the content transmission end processing means for validating the content on the sink side and invalidating the original content on the source side,
A content transmission system that moves content from a source to a sink.

但し、ここで言う「システム」とは、複数の装置(又は特定の機能を実現する機能モジュール)が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない(以下、同様)。   However, “system” here refers to a logical collection of a plurality of devices (or functional modules that realize specific functions), and each device or functional module is in a single housing. It does not matter whether or not (hereinafter the same).

本発明は、IPネットワーク上で著作権保護が必要となる情報コンテンツを伝送するコンテンツ伝送システムに関するものであり、具体的には、DTCP−IPに準拠した情報通信機器の間で、相互認証及び鍵交換を経て共有した鍵を用いて暗号化コンテンツ伝送を安全に行なうコンテンツ伝送システムに関する。   The present invention relates to a content transmission system for transmitting information content that requires copyright protection on an IP network. Specifically, mutual authentication and a key are performed between information communication devices compliant with DTCP-IP. The present invention relates to a content transmission system that securely transmits encrypted content using a key shared through exchange.

DTCPでは、コピー制御を始め著作権が保護された形でコンテンツを伝送する仕組みが規定されている。コンテンツ伝送の形態は、Source上のコンテンツをSinkにコピーする方法と、SourceからSinkへコンテンツを移動してSourceにコンテンツを残さない方法すなわちMOVEがある。DTCPにおいては、Sinkは受信したコンテンツをNo More Copiesとして符号化して扱うこと、及び、Source側では伝送した後のコンテンツを消去又は利用不能にすることを条件にして、No More Copyとして符号化されたコンテンツを伝送するMOVE機能が用意されている。   In DTCP, a mechanism for transmitting content in a form in which copyright is protected including copy control is defined. As a form of content transmission, there are a method of copying the content on the source to the sink, and a method of moving the content from the source to the sink and leaving no content on the source, that is, move. In DTCP, Sink is encoded as No More Copy on the condition that the received content is encoded and handled as No More Copies, and the transmitted content is erased or made unusable on the Source side. A move function for transmitting the contents is provided.

MOVE機能によれば、ユーザはコピーできないコンテンツを他の機器に移動して楽しむことができる。また、有体物をある場所から別の場所へ移動するのと同様に、MOVEしたコンテンツのエンティティ数が増えることはないので、コンテンツ保護上の問題はない。   According to the MOVE function, the user can enjoy contents that cannot be copied by moving them to another device. Similarly to moving a tangible object from one place to another, there is no problem in content protection because the number of moved content entities does not increase.

MOVE伝送シーケンス上ではSource側でコンテンツを消去又は利用不能にするという条件を一貫して遵守しなければならない。このため、Source側で送信後のデータを逐次的に利用不能にするとともに、Sink側で受信データを逐次的に利用可能にしていくという“INCREMENTAL MOVE”を行なう必要がある。ところが、伝送路での障害が発生したことやその他の原因によりMOVEシーケンスが中断すると、コンテンツがSourceとSink間で分断されたり欠落が発生したりして、ユーザは本来適正に取得したコンテンツを消失してしまうことになる。   On the MOVE transmission sequence, the condition that the content is erased or made unavailable on the source side must be consistently observed. For this reason, it is necessary to perform “INCREMENTAL MOVE” in which data after transmission is sequentially disabled on the source side and reception data is sequentially enabled on the sink side. However, if the MOVE sequence is interrupted due to a failure in the transmission path or other causes, the content is divided between the source and sink or missing, and the user loses the originally acquired content. Will end up.

これに対し、本発明に係るコンテンツ伝送システムでは、SinkはMOVE伝送中のコンテンツを順次記録媒体に記録するが、この記録コンテンツはMOVE伝送の終了処理が成功するまでは利用できない状態にしておく。その後、コンテンツ伝送の終了処理の確認すなわちCommitmentが行なわれると、Sink側の記録コンテンツを有効化して利用できる状態にすると同時に、Source側で元のコンテンツを消去若しくは利用不能にする処理を行なう。これによって、MOVE伝送中にSourceとSinkでNo More Copiesコンテンツが二重に存在することはなく、且つ、伝送路で障害が発生するなどによりMOVE伝送が途切れても、コンテンツが分断することはなく、Sourceから改めてコンテンツ伝送を再開することができる。   On the other hand, in the content transmission system according to the present invention, the Sink sequentially records the contents being moved in the recording medium on the recording medium, but the recorded contents are not usable until the completion of the move transmission. Thereafter, when confirmation of content transmission end processing, that is, commitment, is performed, the recorded content on the sink side is made available and usable, and at the same time, the original content is erased or made unavailable on the source side. As a result, No More Copies content does not exist in the source and sink during the MOVE transmission, and even if the MOVE transmission is interrupted due to a failure in the transmission path, the content is not divided. , Content transmission can be restarted from the source.

このようなコンテンツ伝送方法によるMOVE伝送は、コンテンツ全体を一括してSourceとSink間で移動することと等価である。Source側で送信後のデータを逐次的に利用不能にするとともにSink側で受信データを逐次的に利用可能にしていくINCREMENTEL MOVEとは異なり、“BLOCK MOVE”と呼ぶこともできる。BLOCK MOVEも、その伝送シーケンス上でSourceとSinkで同じコンテンツが二重に存在することはないから、DTCPで規定されている条件を満たしたコンテンツのMOVE処理であると言える。   MOVE transmission by such a content transmission method is equivalent to moving the entire content between the source and sink in a batch. Unlike INCREMENTEL MOVE, in which data after transmission is sequentially disabled on the source side and received data is sequentially enabled on the sink side, it can also be referred to as “BLOCK MOVE”. BLOCK MOVE is also a MOVE process for content that satisfies the conditions defined by DTCP, because the same content does not exist twice in Source and Sink on the transmission sequence.

また、Sinkは、MOVEの終了処理が成功するまでは、記録したコンテンツを再生することはできないが、受信コンテンツを無効化した状態で記録する動作と並行して、受信コンテンツを再生出力(レンダリング)するように構成することも可能である。何故ならば、BLOCK MOVEがDTCPで既定する条件を満足するMOVE処理であるとするならば、BLOCK MOVEに並行してコンテンツを復号して出力することは、コンテンツのストリーミングと等価でだからある。すなわち、復号コンテンツの出力とともにデータが失われるのでコンテンツのコピーには相当せず、SourceとSinkの両方に重複して存在する再生可能なコンテンツがあってはならないというDTCP規格に抵触しない。   In addition, the sink cannot reproduce the recorded content until the move finish process is successful, but the received content is reproduced and output (rendered) in parallel with the operation of recording with the received content invalidated. It is also possible to configure so as to. This is because, if BLOCK MOVE is a MOVE process that satisfies the conditions defined by DTCP, decoding and outputting content in parallel with BLOCK MOVE is equivalent to streaming content. That is, since data is lost with the output of the decrypted content, it does not correspond to a copy of the content, and it does not conflict with the DTCP standard that there should be no reproducible content existing in both the source and sink.

この場合、Sink側では、受信したコンテンツを一旦復号化すると、No More Copiesとして規定の符号化処理を施して、ハード・ディスク又はその他の記録媒体に保存するのに並行して、この復号コンテンツをそのままビデオ及びオーディオ信号に変換(レンダリング)して、ディスプレイなどのAV出力部から映像並びに音響出力する。ユーザは、MOVE伝送中にそのコンテンツの内容を確認するとともに、リアルタイムでコンテンツ視聴を享受することができる。   In this case, on the sink side, once the received content is decoded, the specified encoding processing is performed as No More Copies, and this decoded content is stored in parallel with being stored on a hard disk or other recording medium. The video and audio signals are converted (rendered) as they are, and video and audio are output from an AV output unit such as a display. The user can check the content during the MOVE transmission and enjoy viewing the content in real time.

また、MOVE処理手続の期間中、Sourceは、MOVE対象となるコンテンツを他のSinkからMOVE要求できないようにロックするようにする。何故ならば、複数のSinkに対して同じコンテンツを多重してMOVEすると、コンテンツのエンティティ数が増える、すなわち事実上コピーすることになり、No More Copiesというコピー制御情報を破ることになるからである。   Also, during the MOVE processing procedure, the source locks the content to be moved so that it cannot make a MOVE request from another sink. This is because, if the same content is multiplexed and moved to a plurality of sinks, the number of content entities increases, that is, the copy is effectively made, and the copy control information of No More Copies is broken. .

INCREMENTAL MOVEはDTCP−IPで取り決められたMOVE伝送により実装することが可能である。これに対し、BLOCK MOVEは本願の基礎出願である特願2006−4129の出願当時(平成18年1月11日)のDTCP仕様に含まれている訳ではない。そこで、BLOCK MOVEを行なう際には、前記認証手段は、SourceとSink間で認証処理を行なう際に併せて、互いの機器がBLOCK MOVEに対応しているかどうか、若しくはMOVE伝送の詐称を防止することが好ましい。また、いずれか一方の機器がBLOCK MOVEに対応していない場合には、従来のINCREMENTAL MOVEにモードを切り替えてコンテンツのMOVE処理を行なうようにしてもよい。   INCREMENTAL MOVE can be implemented by MOVE transmission negotiated by DTCP-IP. On the other hand, BLOCK MOVE is not included in the DTCP specification at the time of application (January 11, 2006) of Japanese Patent Application No. 2006-4129, which is the basic application of the present application. Therefore, when performing the BLOCK MOVE, the authentication means also prevents the spoofing of the MOVE transmission, whether or not each device is compatible with the BLOCK MOVE, together with performing the authentication process between the Source and the Sink. It is preferable. Further, if either one of the devices does not support BLOCK MOVE, the mode may be switched to the conventional INCREMENT MOVE to perform the content move process.

本発明に係るコンテンツ伝送システムでは、移動したいコンテンツを指定するために、UPnP(登録商標)で規定されているCDS(Content Directory Service)を利用して行なうことができる。また、それ以降に行なうSourceとSink間の認証手続き、コンテンツ伝送手続き、及びコンテンツ伝送終了処理手続きは、DTCP−IPに則って各処理を行なうことができる。   In the content transmission system according to the present invention, it is possible to use a CDS (Content Directory Service) defined by UPnP (registered trademark) in order to designate content to be moved. Further, the authentication procedure between the source and sink, the content transmission procedure, and the content transmission end processing procedure performed thereafter can be performed in accordance with DTCP-IP.

例えば、ユーザがSinkを操作して、コンテンツを提供するサーバとして動作するSourceからコンテンツをダウンロードする形式でコンテンツの移動を行なうことができる。   For example, the user can operate the sink and move the content in a format in which the content is downloaded from a source that operates as a server that provides the content.

この場合、Sinkにおいて、CDS::Browse requestに対するSourceからのCDS::Browse responseに含まれる情報に基づいて、移動したいコンテンツの認証及び鍵交換用のソケット情報を取得するとともに当該コンテンツがSourceから移動可能か否かを確認することができる。   In this case, in the sink, based on the information included in the CDS :: Browse response from the Source for the CDS :: Browse request, the socket information for authentication and key exchange of the content to be moved is acquired and the content is moved from the Source. It can be confirmed whether or not it is possible.

そして、Sinkは、ヘッダ内にコンテンツの移動であることを示すヘッダ情報を含めて、HTTP GETメソッドを用いてSourceから暗号化コンテンツを取得することができる。   Then, the sink can acquire the encrypted content from the source using the HTTP GET method including the header information indicating that the content is moved in the header.

あるいは、ユーザがSourceを操作して、コンテンツを提供するサーバとして動作するSinkに対してコンテンツをアップロードする形式でコンテンツの移動を行なうこともできる。   Alternatively, the user can operate the source and move the content in a form of uploading the content to the sink that operates as a server that provides the content.

この場合、Sourceは、CDS::CreateObject requestを用いてSinkに対して、当該コンテンツの移動場所の作成を要求することができる。   In this case, the Source can request the sink to create a moving location of the content using CDS :: CreateObject request.

このとき、認証処理がSinkから開始される都合上、Sink側から認証及び鍵交換用のTCPコネクションを確立させるために、SourceはSinkに対してソケット情報を通知する必要がある。例えば、CDS::CreateObject requestにソケット情報を伴うプロパティを含めることで、Sinkに対し認証及び鍵交換用のソケット情報を通知するようにしてもよい。あるいは、Sourceは、(コンテンツを含まない)HTTP POSTメソッドに含まれるヘッダ情報を用いてSinkに対し認証及び鍵交換用のソケット情報を通知するようにしてもよい。   At this time, because the authentication process is started from the sink, the source needs to notify the sink of socket information in order to establish a TCP connection for authentication and key exchange from the sink side. For example, by including a property with socket information in the CDS :: CreateObject request, the socket information for authentication and key exchange may be notified to the sink. Alternatively, the source may notify socket information for authentication and key exchange to the sink using header information included in the HTTP POST method (not including content).

そして、Sourceは、ヘッダ内にコンテンツの移動であることを示すヘッダ情報を含めて、HTTP POSTメソッドを用いてSinkへ暗号化コンテンツをアップロード伝送することができる。   Then, the source can include the header information indicating that the content is moved in the header, and upload and transmit the encrypted content to the sink using the HTTP POST method.

また、SourceとSink間では、移動するコンテンツ毎にAKE手続きによりコンテンツ移動専用の鍵の交換を行なうものとする。Sourceは、移動対象コンテンツを複数回伝送することになるようなGETリクエストをSinkから受けたときには、これを拒否し、MOVE伝送処理を完結にすると同時にMOVE伝送し終えたコンテンツを速やかに無効化することで、同じコンテンツを複数回移動する(すなわち、実質的にコピーする)ことのないようにする。   In addition, between the source and the sink, it is assumed that a key dedicated to content movement is exchanged for each content to be moved by an AKE procedure. When the source receives a GET request from the sink that will transmit the content to be moved multiple times, the source rejects the request and completes the move transmission process and at the same time promptly invalidates the content that has been transferred. This prevents the same content from being moved (ie, substantially copied) multiple times.

また、Sourceは、あるSinkに対してコンテンツを移動中、他のSinkからの当該コンテンツの移動要求を拒否することにより、複数のSinkに同じコンテンツを移動する(すなわち、実質的にコピーする)ことのないようにする。   In addition, while moving a content to a certain sink, the source moves (that is, substantially copies) the same content to a plurality of sinks by refusing a request to move the content from another sink. So that there is no.

また、コンテンツのMOVE伝送が終了し、さらにコンテンツ伝送終了処理が完了したことに応答して、Source及びSinkにおけるコンテンツ移動専用の交換鍵を消滅させる。逆に言えば、コンテンツの伝送終了処理が終了するまでは、AKE手続きのために確立したTCPコネクションを維持するようにする。   Also, in response to the completion of the content move transmission and the completion of the content transmission end processing, the exchange key dedicated to content movement in the source and sink is extinguished. In other words, the TCP connection established for the AKE procedure is maintained until the content transmission end processing ends.

このような場合、コンテンツ伝送処理が終了するまでの間、AKE手続きのために確立したTCPコネクションを用いてコンテンツ伝送処理を取り消すことができる。コンテンツ伝送の取り消し処理は、Sink又はSourceの少なくとも一方からの要求により起動する。コンテンツ伝送処理を取り消す際には、Sinkに伝送されたコンテンツを無効化するようにする。   In such a case, the content transmission process can be canceled using the TCP connection established for the AKE procedure until the content transmission process is completed. The content transmission cancellation process is activated in response to a request from at least one of Sink and Source. When canceling the content transmission process, the content transmitted to the sink is invalidated.

また、コンテンツ伝送処理が終了するまでの間、SinkとSource間の通信が途切れたときに、Sink又はSourceの少なくとも一方からの要求によりコンテンツ伝送処理を中止することができる。中止する際のSource並びにSinkの振る舞いは、コンテンツ伝送を取り消す場合と同様である。   In addition, when the communication between the sink and the source is interrupted until the content transmission process ends, the content transmission process can be stopped by a request from at least one of the sink and the source. The behavior of Source and Sink when canceling is the same as when canceling content transmission.

本発明に係るコンテンツ伝送システムでは、SinkとSource間でコンテンツ伝送が無事に終了したことを確認すなわちCommitmentをとるためのコンテンツ伝送終了処理を実施して、Sink側のコンテンツを有効化するとともに、Source側の元のコンテンツを無効化することにより、コンテンツの移動が完了する。このコンテンツ伝送の終了処理では、まず、Sinkからコンテンツ受信終了を示す第1のコマンドが送信され、Sourceはこのコマンドに応答して、Source側の元のコンテンツを中間的な無効状態にする。続いて、Sourceから第1のコマンドに対する第1のレスポンスが返信されると、Sinkはこのレスポンスに応答してSink側に伝送されたコンテンツを有効化するとともに、Sink側で保持するコンテンツ移動専用の鍵を消滅させる。そして、Sinkからコンテンツ有効化を示す第2のコマンドが送信されると、Sourceはこのコマンドに応答して、Source側の元のコンテンツを無効状態にするとともに、Source側で保持するコンテンツ移動専用の鍵を消滅させる。   In the content transmission system according to the present invention, the content transmission end process for confirming that the content transmission has been successfully completed between the sink and the source, that is, taking the commitment, is performed, the content on the sink side is validated, and the source The content movement is completed by invalidating the original content on the side. In the content transmission end process, first, a first command indicating the end of content reception is transmitted from the sink, and in response to this command, the source sets the original content on the source side to an intermediate invalid state. Subsequently, when a first response to the first command is returned from the source, the sink validates the content transmitted to the sink side in response to this response and is dedicated to the content movement held on the sink side. Make the key disappear. When the second command indicating content validation is sent from the sink, the source responds to this command by invalidating the original content on the source side and dedicated to content movement held on the source side. Make the key disappear.

また、コンテンツ伝送手段によるSourceからSinkへのコンテンツ伝送が成功裏に終了したにも拘らず、一方の機器の電源遮断などによりコンテンツ伝送終了処理手段による処理が途切れてしまった場合のために、コンテンツ伝送システムは、途切れたコンテンツ伝送終了処理を再開するためのコンテンツ伝送終了処理再開手段をさらに備えていてもよい。この再開手段によって、コンテンツ伝送手続きが無駄にならずに済むとともに、SinkとSourceの双方でコンテンツが無効になることを避けることができる。   In addition, the content transmission end processing means is interrupted due to the power-off of one of the devices despite the successful content transmission from the source to the sink by the content transmission means. The transmission system may further include a content transmission end process restarting unit for restarting the interrupted content transmission end process. By this restarting means, the content transmission procedure is not wasted, and it is possible to avoid invalidating the content in both the sink and the source.

このコンテンツ伝送終了処理再開手段は、SourceがSinkからコンテンツ受信終了を示す第1のコマンドを受信したときに、Sourceがコンテンツ移動専用の交換鍵乃至第1のレスポンスで送る情報をまだ保持している場合には、Source側の元のコンテンツを中間的な無効状態にし、SourceからSinkに第1のコマンドに対する第1のレスポンスを返信させることで、コンテンツ伝送終了手続きを再開させることができる。   This content transmission end process resuming means still holds the information sent by the source using the exchange key dedicated to content movement or the first response when the source receives the first command indicating the end of content reception from the sink. In this case, the content transmission end procedure can be restarted by setting the original content on the source side to an intermediate invalid state and causing the sink to return a first response to the first command from the source.

あるいは、コンテンツ伝送終了処理再開手段は、SourceがSinkからコンテンツ受信終了を示す第2のコマンドを受信したときに、Sourceがコンテンツ移動専用の交換鍵乃至第1のレスポンスで送る情報をまだ保持している場合には、Source側の元のコンテンツを無効状態にし、Source側で保持するコンテンツ移動専用の鍵乃至第1のレスポンスで送る情報を消滅させるとともに、SourceからSinkに第2のコマンドに対する第2のレスポンスを返信させることで、コンテンツ伝送終了手続きを再開させることができる。   Alternatively, the content transmission end process resumption means still holds information sent by the source using the exchange key dedicated to content movement or the first response when the source receives the second command indicating the end of content reception from the sink. If there is, the original content on the source side is invalidated, the content transfer key held on the source side or the information sent in the first response disappears, and the second command for the second command is sent from the source to the sink. The content transmission end procedure can be resumed by returning the response of.

あるいは、コンテンツ伝送終了処理再開手段は、Sinkがコンテンツ移動専用の交換鍵乃至第1のコマンドで送る情報をまだ保持している場合には、コンテンツ移動元となるSourceとの接続を確立し、該当するコンテンツがSink側で無効状態であればSourceに対して第1のコマンドを送信させ、該当するコンテンツがSink側で既に有効化されていれば第2のコマンドを送信させることで、コンテンツ伝送終了処理を再開させることができる。   Alternatively, the content transmission end process resuming means establishes a connection with the source that is the content transfer source if the sink still holds the information to be sent by the exchange key dedicated to the content transfer or the first command. If the content to be processed is invalid on the sink side, the first command is sent to the source, and if the corresponding content has already been validated on the sink side, the second command is sent to end content transmission. Processing can be resumed.

このとき、Sink側から認証及び鍵交換用のTCPコネクションを確立させるために、SourceはSinkに対してソケット情報を通知する必要がある。コンテンツ伝送がダウンロード形式で行なわれた場合には、Sinkは、Sourceに対してCDS::Browse requestを送信し、SourceからのCDS::Browse responseに含まれる情報に基づいてソケット情報を取得して、コンテンツ伝送終了処理を再開させるためのTCPコネクションを確立することができる。また、コンテンツ伝送がアップロード形式で行なわれた場合には、Sourceにおいて、(コンテンツを含まない)HTTP POSTメソッドのヘッダ情報を用いてSinkにソケット情報を通知し、Sinkはこのソケット情報に基づいてコンテンツ伝送終了処理を再開させるためのTCPコネクションを確立することができる。   At this time, in order to establish a TCP connection for authentication and key exchange from the sink side, the source needs to notify the sink of socket information. When the content transmission is performed in the download format, the sink sends a CDS :: Browse request to the source, acquires socket information based on the information included in the CDS :: Browse response from the source. A TCP connection for resuming the content transmission end process can be established. When the content transmission is performed in the upload format, the socket information is notified to the sink using the header information of the HTTP POST method (not including the content) in the source, and the sink is based on the socket information. A TCP connection for resuming the transmission end process can be established.

また、DTCP−IPでは、SourceとSink間の伝送路上にパーソナル・コンピュータなどで構成される不正なプロキシを設置することで、通信内容の改ざんが容易に行なわれてしまう。とりわけ、認証手段によるSourceとSink間でMOVE方法に関するケイパビリティの確認を行なってからBLOCK MOVEを開始するようなシステムにおいては、SourceがBLOCK MOVEに対応しているにも拘らず、プロキシはSourceがBLOCK MOVEに非対応であるとSinkに偽り、SinkにINCREMENTAL MOVEを行なわせることができる。この場合、Sink側では、Sourceからデータを受け取る度に逐次的に有効化していくとともに、コンテンツ伝送処理が終了した時点でプロキシがSourceに対してコンテンツ伝送処理の取り消しを行なうことで、SourceとSinkの双方で有効なコンテンツが存在するというDTCP−IPの規定に抵触する事態が生じる。   In addition, in DTCP-IP, tampering of communication contents is easily performed by installing an unauthorized proxy composed of a personal computer or the like on a transmission path between a source and a sink. In particular, in a system in which BLOCK MOVE is started after confirming the capability related to the MOVE method between the source and the sink by the authentication means, even though the source corresponds to the BLOCK MOVE, the proxy is the BLOCK MOVE. If it is not compatible with MOVE, Sink can be false and Sink can perform INCREMENTAL MOVE. In this case, the sink side sequentially activates the data every time it receives data from the source, and the proxy cancels the content transmission process for the source when the content transmission process is completed, so that the source and sink There is a situation that conflicts with the DTCP-IP regulations that valid contents exist in both.

そこで、本発明に係るコンテンツ伝送システムは、SourceとSink間で確認されたケイパビリティが詐称される、あるいはその他の手段によってSink側のMOVEモードが偽装されることを防止する詐称防止手段をさらに備えておくことが好ましい。   Therefore, the content transmission system according to the present invention further includes a spoofing prevention unit that prevents the capability confirmed between the source and the sink from being misrepresented, or preventing the sink-side move mode from being spoofed by other means. It is preferable to keep it.

この詐称防止手段は、例えば、前記認証手段で交換した鍵からコンテンツ暗号鍵を生成する方法をコンテンツ伝送方法毎に、すなわちINCREMENAL MOVEとBLOCK MOVEとで変えるようにする。このような場合、詐称によりINCREMENTAL MOVEを行なうSinkは、BLOCK MOVEを行なうSourceとコンテンツ暗号鍵を共有できず、コンテンツが有効化されない。したがって、SourceとSinkでコンテンツが二重に存在することはなくなる。   For example, the spoofing prevention means changes the method for generating the content encryption key from the key exchanged by the authentication means for each content transmission method, that is, between INCREMENTAL MOVE and BLOCK MOVE. In such a case, the sink that performs INCREMENTAL MOVE by misrepresentation cannot share the content encryption key with the source that performs BLOCK MOVE, and the content is not validated. Therefore, there is no double content between the source and the sink.

あるいは、詐称防止手段は、前記認証手段で交換した鍵をスクランブルする方法をコンテンツ伝送方法毎に、すなわちINCREMENtal MOVEとBLOCK MOVEとで変えるようにしてもよい。このような場合、詐称によりINCREMENTAL MOVEを行なうSinkは、認証手段で交換した鍵をデスクランブルすることができず、正しいコンテンツ暗号鍵を得ることができない。したがって、SourceとSinkでコンテンツが二重に存在することはなくなる。   Alternatively, the spoofing prevention means may change the method of scrambling the key exchanged by the authentication means for each content transmission method, that is, between INCREMENTAL MOVE and BLOCK MOVE. In such a case, the sink that performs INCREMENTAL MOVE by misrepresentation cannot descramble the key exchanged by the authentication means and cannot obtain the correct content encryption key. Therefore, there is no double content between the source and the sink.

あるいは、詐称防止手段は、相互認証及び鍵交換のためのチャレンジ・レスポンス手続きにおいて、SinkからSourceへの電子署名で保護される通信メッセージの中にコンテンツ伝送方法に関する情報を含めるようにしてもよい。詐称によりSinkがINCREMENTAL MOVEを行なうようになった場合、Source側ではケイパビリティの確認に従ってBLOCK MOVEを行なおうとしても、チャレンジ・レスポンスの手続きで詐称されていることを検出することができる。Sourceは、MOVE伝送そのものを停止する、あるいはSink側に合わせてINCREMENTAL MOVEに切り替えるといった対策を採ることかできる。   Alternatively, the spoofing prevention means may include information on the content transmission method in a communication message protected by an electronic signature from Sink to Source in a challenge / response procedure for mutual authentication and key exchange. When Sink starts to perform INCREMENTAL MOVE due to misrepresentation, even if the source tries to perform BLOCK MOVE according to the capability confirmation, it is possible to detect that it has been misrepresented in the challenge-response procedure. The Source can take measures such as stopping the MOVE transmission itself or switching to INCREMENTAL MOVE according to the sink side.

また、本発明の第2の側面は、DTCP Sourceとしてコンテンツを送信するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
Sinkとの間で伝送対象となるコンテンツを指定するコンテンツ指定手順と、
AKE手続きによりSinkとの間で相互認証及び鍵交換を行なう認証手順と、
前記認証手順において交換した鍵を用いて、前記コンテンツ指定手順において指定されたコンテンツを、Sinkへ暗号化伝送するコンテンツ伝送手順と、
前記コンテンツ伝送手順においてコンテンツ伝送処理が終了したことに応じて、元のコンテンツを無効化するコンテンツ伝送終了処理手順を実行させ、
Sinkへコンテンツを移動することを特徴とするコンピュータ・プログラムである。
According to a second aspect of the present invention, there is provided a computer program written in a computer-readable format so that a process for transmitting content as a DTCP Source is executed on a computer system. In contrast,
A content specification procedure for specifying content to be transmitted to and from the sink;
An authentication procedure for mutual authentication and key exchange with Sink by the AKE procedure;
A content transmission procedure for encrypting and transmitting the content designated in the content designation procedure to the sink using the key exchanged in the authentication procedure;
In response to the end of the content transmission process in the content transmission procedure, the content transmission end processing procedure for invalidating the original content is executed,
A computer program characterized by moving content to a sink.

また、本発明の第3の側面は、DTCP Sinkとしてコンテンツを受信するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
Sourceとの間で伝送対象となるコンテンツを指定するコンテンツ指定手順と、
AKE手続きによりSourceとの間で相互認証及び鍵交換を行なう認証手順と、
前記認証手順において交換した鍵を用いて、前記コンテンツ指定手順において指定されたコンテンツを、Sourceから暗号化伝送するコンテンツ伝送手順と、
前記コンテンツ伝送手順においてコンテンツ伝送処理が終了したことに応じて、受信したコンテンツを有効化するコンテンツ伝送終了処理ステップを実行させ、
Sourceからコンテンツを移動することを特徴とするコンピュータ・プログラムである。
According to a third aspect of the present invention, there is provided a computer program written in a computer-readable format so as to execute a process for receiving content as a DTCP Sink on the computer system. In contrast,
A content specifying procedure for specifying content to be transmitted to and from the source;
An authentication procedure for mutual authentication and key exchange with the Source by the AKE procedure;
A content transmission procedure for encrypting and transmitting the content designated in the content designation procedure from the source using the key exchanged in the authentication procedure;
In response to the end of the content transmission process in the content transmission procedure, a content transmission end processing step for validating the received content is executed.
A computer program characterized in that content is moved from a source.

本発明の第2乃至第3の各側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第2乃至第3の各側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによってコンピュータ・システム上では協働的作用が発揮され、それぞれ本発明の第1の側面に係るコンテンツ伝送システムにおけるSource及びSinkとして動作する。このようなコンテンツ伝送装置を起動してDTCPに基づくネットワークを構築することによって、本発明の第1の側面に係るコンテンツ伝送システムと同様の作用効果を得ることができる。   The computer program according to each of the second to third aspects of the present invention defines a computer program written in a computer-readable format so as to realize predetermined processing on a computer system. In other words, by installing the computer program according to each of the second to third aspects of the present invention in the computer system, a cooperative action is exhibited on the computer system, and each of the first aspects of the present invention. It operates as Source and Sink in the content transmission system according to the above. By activating such a content transmission apparatus and constructing a network based on DTCP, it is possible to obtain the same operational effects as those of the content transmission system according to the first aspect of the present invention.

本発明によれば、DTCPに準拠した情報機器同士で暗号化コンテンツの伝送手続きを好適に実行することができる、優れたコンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラムを提供することができる。   According to the present invention, there are provided an excellent content transmission system, content transmission apparatus and content transmission method, and computer program capable of suitably executing a transmission procedure of encrypted content between information devices compliant with DTCP. be able to.

また、本発明によれば、MOVE機能を用いてSourceからSinkへコンテンツを好適に移動することができる、優れたコンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラムを提供することができる。   Furthermore, according to the present invention, it is possible to provide an excellent content transmission system, content transmission apparatus and content transmission method, and computer program capable of suitably moving content from a source to a sink using the MOVE function. it can.

また、本発明によれば、コンテンツ伝送中に伝送路に障害が発生したりしても、コンテンツが分断されたり欠落が発生するのを防いで、コンテンツのMOVE処理を確実に行なうことができる、優れたコンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラムを提供することができる。   Further, according to the present invention, even if a failure occurs in the transmission path during content transmission, the content is prevented from being divided or lost, and the content MOVE processing can be performed reliably. An excellent content transmission system, content transmission device, content transmission method, and computer program can be provided.

本発明に係るコンテンツ伝送システムは、DTCPで規定されている条件に則って、コンテンツ全体を一括してSourceとSink間で移動することと等価となるBLOCK MOVEが可能である。   The content transmission system according to the present invention is capable of BLOCK MOVE, which is equivalent to moving the entire content between the source and the sink collectively in accordance with the conditions defined by DTCP.

BLOCK MOVEは、コンテンツ伝送処理が終了したことに応じて、Sink側のコンテンツを有効化するとともに、Source側の元のコンテンツを無効化するコンテンツ伝送終了処理によって実現する。いずれか一方の機器の電源が遮断するなどの原因で、コンテンツ伝送終了処理が中断する危険があるが、本発明に係るコンテンツ伝送システムによれば、コンテンツ伝送終了処理を再開して、MOVE処理を正しく終了させることができる。   BLOCK MOVE is realized by a content transmission end process that validates the content on the sink side and invalidates the original content on the source side in response to the end of the content transmission process. Although there is a risk that the content transmission end process is interrupted due to the power of one of the devices being cut off or the like, according to the content transmission system of the present invention, the content transmission end process is resumed and the MOVE process is performed. It can be terminated correctly.

また、BLOCK MOVEを行なう場合には、SourceとSink間で不正なプロキシが介在して、例えばSink側のケイパビリティを詐称することやその他の方法によりMOVE伝送を偽装してコピー伝送が行なわれ、コンテンツが二重に存在する危険がある。これに対し、本発明に係るコンテンツ伝送システムによれば、詐称防止手段が、SourceとSink間で確認されたケイパビリティを詐称してSink側のMOVEモードが偽装されることを防止することができる。   Also, when BLOCK MOVE is performed, an illegal proxy is interposed between the source and the sink, and for example, the transmission on the side of the sink is spoofed or the MOVE transmission is impersonated by other methods, and the copy transmission is performed. There is a risk that there is a double. On the other hand, according to the content transmission system of the present invention, the spoofing prevention means can prevent the Sink-side MOVE mode from being spoofed by spoofing the capabilities confirmed between the source and the sink.

本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。   Other objects, features, and advantages of the present invention will become apparent from more detailed description based on embodiments of the present invention described later and the accompanying drawings.

図1は、本発明の一実施形態に係る情報通信システムの構成例を模式的に示した図である。FIG. 1 is a diagram schematically showing a configuration example of an information communication system according to an embodiment of the present invention. 図2は、図1に示した情報通信システムにおいて、クライアント(すなわち、Sink)として動作する情報通信装置の機能構成を示した図である。FIG. 2 is a diagram illustrating a functional configuration of an information communication apparatus that operates as a client (that is, a sink) in the information communication system illustrated in FIG. 図3は、図1に示した情報通信システムにおいて、サーバ(すなわち、Source)として動作する情報通信装置の機能構成を示した図である。FIG. 3 is a diagram illustrating a functional configuration of an information communication apparatus that operates as a server (that is, a source) in the information communication system illustrated in FIG. 1. 図4は、SourceとSinkの間でAKEに基づく鍵交換手続き、及び鍵交換により共有した鍵を利用した暗号化コンテンツ伝送を行なう仕組みを説明するための図であるFIG. 4 is a diagram for explaining a mechanism for performing an AKE-based key exchange procedure between a source and a sink and an encrypted content transmission using a key shared by the key exchange. 図5は、PCPのデータ構造を模式的に示した図である。FIG. 5 is a diagram schematically showing the data structure of PCP. 図6は、PCPペイロードにパディングする様子を示した図である。FIG. 6 is a diagram illustrating a state where padding is performed on the PCP payload. 図7は、コンテンツのMOVE処理と受信コンテンツの再生処理を並行して行なうためのSinkの構成例を示した図である。FIG. 7 is a diagram showing a configuration example of a sink for performing a content move process and a received content reproduction process in parallel. 図8は、ダウンロード形式でSourceとSink間のMOVE伝送を行なう場合の動作シーケンスを示した図である。FIG. 8 is a diagram showing an operation sequence in the case of performing MOVE transmission between Source and Sink in a download format. 図9は、ダウンロード形式でSourceとSink間のMOVE伝送を行なう場合に、UPnP(登録商標)ベースでCDSを用いてSinkとSource間でMOVE対象となるコンテンツを選択するための動作シーケンスを示した図である。FIG. 9 shows an operation sequence for selecting a content to be moved between Sink and Source using CDS based on UPnP (registered trademark) when performing MOVE transmission between Source and Sink in a download format. FIG. 図10は、MOVE用AKE手続きの動作シーケンスを示した図である。FIG. 10 is a diagram showing an operation sequence of the move AKE procedure. 図11は、Source及びSink間でMOVE終了処理手続きを実行する動作シーケンスを示した図である。FIG. 11 is a diagram illustrating an operation sequence for executing the move end processing procedure between the source and the sink. 図12は、アップロード形式でSourceとSink間のMOVE伝送を行なう場合の動作シーケンスを示した図である。FIG. 12 is a diagram showing an operation sequence when performing a MOVE transmission between the source and the sink in the upload format. 図13は、アップロード形式でSourceとSink間のMOVE伝送を行なう場合に、UPnP(登録商標)ベースでCDSを用いてSourceからSinkに対してコンテンツのアップロードを通知するための動作シーケンスを示した図である。FIG. 13 is a diagram showing an operation sequence for notifying the upload of content from the source to the sink using CDS on the basis of UPnP (registered trademark) when performing the MOVE transmission between the source and the sink in the upload format. It is. 図14Aは、ダウンロード形式でSourceからSinkへコンテンツをMOVEする場合のSource及びSinkがそれぞれ実行する処理動作を示したフローチャートである。FIG. 14A is a flowchart showing processing operations executed by the source and sink when moving content from the source to the sink in the download format. 図14Bは、HTTPサーバとしてのSourceからHTTPクライアントとしてのSinkへコンテンツをダウンロードMOVE伝送する場合のSource及びSinkがそれぞれ実行する処理動作を示したフローチャートである。FIG. 14B is a flowchart illustrating processing operations executed by the source and sink when the content is downloaded and transferred from the source serving as the HTTP server to the sink serving as the HTTP client. 図15Aは、アップロード形式でSourceからSinkへコンテンツをMOVEする場合のSource及びSinkがそれぞれ実行する処理動作を示したフローチャートである。FIG. 15A is a flowchart showing processing operations executed by the source and sink when moving content from the source to the sink in the upload format. 図15Bは、アップロード形式でSourceからSinkへコンテンツをMOVEする場合のSource及びSinkがそれぞれ実行する処理動作を示したフローチャートである。FIG. 15B is a flowchart illustrating processing operations executed by the source and sink when moving content from the source to the sink in the upload format. 図16は、ケイパビリティの確認シーケンスを含んだMOVE用AKE手続きの動作シーケンス例を示した図である。FIG. 16 is a diagram illustrating an example of an operation sequence of the move AKE procedure including a capability confirmation sequence. 図17は、図16中のケイパビリティ交換手続きの部分を詳細に示した図である。FIG. 17 is a diagram showing in detail the part of the capability exchange procedure in FIG. 図18は、図11に示したダウンロードMOVE伝送終了シーケンス上でSink及びSourceがそれぞれ実施する処理内容を具体的に示した図である。FIG. 18 is a diagram specifically showing the contents of processing performed by Sink and Source on the download move transmission end sequence shown in FIG. 図19は、HTTPサーバとして動作するSourceにおいて、中断したダウンロードMOVE伝送終了処理を再開するための処理手順を示したフローチャートである。FIG. 19 is a flowchart showing a processing procedure for resuming the interrupted download move transmission end process in the source operating as the HTTP server. 図20は、HTTPサーバとして動作するSourceにおいて、中断したダウンロードMOVE伝送終了処理を再開するための処理手順を示したフローチャートである。FIG. 20 is a flowchart showing a processing procedure for resuming the interrupted download move transmission end process in the source operating as the HTTP server. 図21は、HTTPクライアントとして動作するSinkにおいて、中断したダウンロードMOVE伝送処理を再開するための処理手順を示したフローチャートである。FIG. 21 is a flowchart showing a processing procedure for resuming an interrupted download MOVE transmission process in a sink operating as an HTTP client. 図22は、Sinkに対しMOVEモード詐称攻撃が掛けられた動作シーケンス例を示した図である。FIG. 22 is a diagram illustrating an example of an operation sequence in which a move mode spoofing attack is applied to a sink. 図23は、MOVEモード詐称攻撃に対策を採った動作シーケンス例を示した図である。FIG. 23 is a diagram illustrating an example of an operation sequence in which a countermeasure is taken against the move mode spoofing attack. 図24は、MOVEモード詐称攻撃に対策を採った動作シーケンス例を示した図である。FIG. 24 is a diagram showing an example of an operation sequence in which a countermeasure is taken against the move mode spoofing attack. 図25は、MOVEモード詐称攻撃に対策を採った動作シーケンス例を示した図である。FIG. 25 is a diagram showing an example of an operation sequence in which a countermeasure is taken against the move mode spoofing attack. 図26は、MOVEモード詐称攻撃に対策を採った動作シーケンス例を示した図である。FIG. 26 is a diagram illustrating an example of an operation sequence in which a countermeasure is taken against the move mode spoofing attack. 図27は、MOVE用AKE手続の他の動作シーケンス例を示した図である。FIG. 27 is a diagram illustrating another example of an operation sequence of the move AKE procedure. 図28は、SinkがHTTP GETリクエストを用いてコンテンツを要求し、SourceがHTTP GETレスポンスを用いてコンテンツ伝送を行なう動作シーケンス例を示した図である。FIG. 28 is a diagram illustrating an example of an operation sequence in which Sink requests content using an HTTP GET request, and Source performs content transmission using an HTTP GET response. 図29は、ダウンロード形式のMOVEシーケンスにおいて、中断したMOVE伝送終了処理を再開する際に、Sink及びSource間でTCPコネクションを確立するための処理手順を示したフローチャートである。FIG. 29 is a flowchart showing a processing procedure for establishing a TCP connection between a sink and a source when resuming an interrupted move transmission end process in a download-type move sequence. 図30は、SourceとSink間でアップロードMOVE伝送を行なうための動作シーケンスを示した図(但し、SourceがPOSTリクエストを用いてソケット情報を通知する方法を用いる場合)である。FIG. 30 is a diagram showing an operation sequence for performing upload move transmission between the source and the sink (however, when the source uses the POST request to notify the socket information). 図31は、SourceとSink間でアップロードMOVE伝送を行なうための動作シーケンスを示した図(但し、Sourceから送信されたソケット情報を伴うPOSTリクエストに対し、AKE手続が終了した後にSinkがPOSTレスポンスを返し、その後にコンテンツをPOSTリクエストに対するメッセージ・ボディとして伝送する場合)である。FIG. 31 is a diagram showing an operation sequence for performing an upload move transmission between a source and a sink (however, in response to a POST request with socket information transmitted from the source, the sink sends a POST response after the AKE procedure is completed. And then the content is transmitted as a message body for the POST request). 図32Aは、SourceからSinkへコンテンツをアップロードMOVE伝送する場合のSource及びSinkがそれぞれ実行する処理動作を示したフローチャートである。FIG. 32A is a flowchart illustrating processing operations executed by the source and sink when uploading and moving content from the source to the sink, respectively. 図32Bは、SourceからSinkへコンテンツをアップロードMOVE伝送する場合のSource及びSinkがそれぞれ実行する処理動作を示したフローチャートである。FIG. 32B is a flowchart illustrating processing operations executed by the source and sink when uploading and moving content from the source to the sink, respectively. 図33は、アップロード形式のMOVEシーケンスにおいて、中断したMOVE伝送終了処理を再開する際に、Sink及びSource間でTCPコネクションを確立するための処理手順を示したフローチャートである。FIG. 33 is a flowchart showing a processing procedure for establishing a TCP connection between a sink and a source when resuming an interrupted move transmission end process in the upload-type move sequence.

本発明は、著作権やその他の目的で保護が必要となる情報コンテンツを所定のコピー制御情報に従って暗号化伝送するコンテンツ伝送システムに関するものである。かかるシステムの具体例は、DTCP−IP機器の間で行なわれるHTTPプロトコルを利用したコンテンツ伝送である。以下、図面を参照しながら本発明の実施形態について詳解する。   The present invention relates to a content transmission system that encrypts and transmits information content that needs to be protected for copyright and other purposes in accordance with predetermined copy control information. A specific example of such a system is content transmission using an HTTP protocol performed between DTCP-IP devices. Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

A.システム構成
DTCP−IPに従ったコンテンツ伝送は、コンテンツを送信するSourceと、コンテンツを受信して再生若しくは記録するSinkで構成される。コンテンツの伝送方法としては、サーバとして動作するSourceがクライアントとして動作するSinkからの要求に応じてコンテンツを送信するダウンロード転送と、クライアントとして動作するSinkからの要求によりサーバとして動作するSinkへコンテンツを送信するアップロード転送が考えられる。
A. System configuration Content transmission according to DTCP-IP is composed of a source for transmitting content and a sink for receiving and reproducing or recording the content. As a content transmission method, a source that operates as a server transmits content in response to a request from a sink that operates as a client, and transmits content to a sink that operates as a server in response to a request from a sink that operates as a client. Upload transfer to be considered.

図1には、本発明の一実施形態に係る情報通信システムの構成例を模式的に示している。図示の例では、SourceとSinkの各装置により、DTCP−IP AKEシステムが構築されている。DTCP−IPに準拠した認証サーバであるSourceとDTCP−IPに準拠した認証クライアントであるSinkはネットワークを経由して接続されている。ここで言うネットワークには、Ethernet(登録商標)や、インターネット、その他のIPネットワークが含まれる。   FIG. 1 schematically shows a configuration example of an information communication system according to an embodiment of the present invention. In the example shown in the figure, a DTCP-IP AKE system is constructed by each device of Source and Sink. A source, which is an authentication server compliant with DTCP-IP, and a sink, an authentication client compliant with DTCP-IP, are connected via a network. The network referred to here includes Ethernet (registered trademark), the Internet, and other IP networks.

図2及び図3には、図1に示したコンテンツ伝送システムにおいて、Sink及びSourceとして動作するコンテンツ伝送装置の、特に認証及びコンテンツ伝送に着目した機能構成をそれぞれ模式的に示している。但し、図2及び図3では、サーバとして動作するSourceがクライアントとして動作するSinkからの要求に応じてコンテンツをダウンロード転送する場合の機能構成を示したものであり、アップロード転送時の機能構成については説明を省略する。SinkとSourceは、インターネットなどのTCP/IPネットワーク上でコネクションを確立することができ、このコネクションを利用して、認証手続きやコンテンツ伝送手続きを実行することができる。   2 and 3 schematically show functional configurations of the content transmission system operating as a sink and a source in the content transmission system shown in FIG. 1, particularly focusing on authentication and content transmission. However, FIGS. 2 and 3 show a functional configuration when a source operating as a server downloads and transfers content in response to a request from a sink operating as a client. Description is omitted. Sink and Source can establish a connection on a TCP / IP network such as the Internet, and can use this connection to execute an authentication procedure and a content transmission procedure.

図2に示すSinkは、DTCP−IP認証ブロック10と、DTCP−IPコンテンツ受信ブロック20と、コンテンツ再生/記録ブロック30を備え、HTTPクライアントとして動作し、HTTPサーバとして動作するSourceからダウンロード転送されるコンテンツを受信するようになっている。   The sink shown in FIG. 2 includes a DTCP-IP authentication block 10, a DTCP-IP content reception block 20, and a content playback / recording block 30, which operates as an HTTP client and is downloaded and transferred from a source operating as an HTTP server. Receive content.

DTCP−IP認証ブロック10は、AKEブロック11と、メッセージ・ダイジェスト生成ブロック12と、コンテンツ復号ブロック13で構成される。DTCP−IP認証ブロック10は、より好ましくは耐タンパ性を備えている。   The DTCP-IP authentication block 10 includes an AKE block 11, a message digest generation block 12, and a content decryption block 13. The DTCP-IP authentication block 10 more preferably has tamper resistance.

AKEブロック11は、DTCP−IPにおけるAKE機構(Sink側)を実現するブロックである。このAKEブロック11は後述のメッセージ・ダイジェスト生成ブロックから要求されたパラメータを渡す機能も備えている。AKEブロック11は、コピーなど通常のコンテンツ伝送手続を行なう際のAKEとは別に、MOVE専用のAKE手続を規定し、スクランブル方法などを異ならせることによってMOVEモードの詐称を防止するようにしてもよい。   The AKE block 11 is a block that realizes an AKE mechanism (Sink side) in DTCP-IP. The AKE block 11 also has a function of passing parameters requested from a message digest generation block described later. The AKE block 11 may define a move-specific AKE procedure separately from the AKE when performing a normal content transmission procedure such as copying, and may prevent the spoofing of the move mode by changing the scramble method or the like. .

メッセージ・ダイジェスト生成ブロック12は、指定されたアルゴリズムに従い、パラメータのメッセージ・ダイジェストを生成するブロックである。メッセージ・ダイジェストを生成するアルゴリズムはあらかじめ用意されたアルゴリズムを指定することができる。あらかじめ用意されたアルゴリズムとして、例えばMD5やSHA−1といった一方向性ハッシュ関数に関するアルゴリズムが挙げることができる(SHA−1は、MD5と同様、MD4を改良したものに相当するが、160ビットのハッシュ値を生成するので、強度はMDシリーズを上回る)。   The message digest generation block 12 is a block for generating a parameter message digest according to a specified algorithm. An algorithm prepared in advance can be designated as the algorithm for generating the message digest. As an algorithm prepared in advance, for example, an algorithm related to a one-way hash function such as MD5 or SHA-1 can be cited (SHA-1 is equivalent to an improvement of MD4, like MD5, but a 160-bit hash) Since the value is generated, the strength exceeds the MD series).

メッセージ・ダイジェスト生成ブロック12は、DTCP−IP認証ブロック10の外に公開してはならないAKEブロック11が保持するパラメータのメッセージ・ダイジェストを生成できるようにAKEブロック11と密に配置され、AKEブロック11へパラメータを要求して取得することが可能であり、そのパラメータ若しくは外部から与えられたパラメータのメッセージ・ダイジェストを作成することができる。   The message digest generation block 12 is closely arranged with the AKE block 11 so as to generate a message digest of parameters held by the AKE block 11 that should not be disclosed outside the DTCP-IP authentication block 10. It is possible to request and obtain parameters, and a message digest of the parameters or parameters given from the outside can be created.

コンテンツ復号ブロック13は、AKEで交換した鍵Kxを用いてコンテンツの復号鍵Kcを算出し、Sourceから受信した暗号コンテンツをこの復号鍵Kcで復号するブロックである。ここで復号されたコンテンツは、コンテンツ再生/記録ブロックへ渡される。MOVE専用のAKE手続を規定した場合も同様である。 Content decrypting block 13 calculates a decryption key K c of content using the key K x was replaced with AKE, a block to be decoded by the decryption key K c the encrypted content received from the Source. The decrypted content is passed to the content playback / recording block. The same applies when the AKE procedure dedicated to MOVE is defined.

コンテンツ再生/記録ブロック30は、コンテンツ復号ブロック13から渡されたコンテンツを、再生モードの場合は再生を行ない、記録モードの場合はハード・ディスク又はその他の記録媒体(図示しない)に保存する。但し、コンテンツの記録動作は、コンテンツ伝送用のパケットPCP内に挿入されているコピー制御情報の規定に従う。   The content playback / recording block 30 plays back the content passed from the content decryption block 13 in the playback mode, and stores it in a hard disk or other recording medium (not shown) in the recording mode. However, the content recording operation conforms to the rules of the copy control information inserted in the content transmission packet PCP.

DTCP−IPコンテンツ受信ブロック20は、AKEを実施した後にSourceとのコンテンツ伝送手続きを実行する処理モジュールである。図示の例では、DTCP−IPコンテンツ受信ブロック20はHTTPクライアント・ブロック21を持ち、HTTPクライアントとしてHTTPサーバ(すなわちSource)へコンテンツを要求し、応答されたコンテンツをHTTPサーバから受信する。   The DTCP-IP content reception block 20 is a processing module that executes a content transmission procedure with the Source after performing AKE. In the illustrated example, the DTCP-IP content reception block 20 has an HTTP client block 21, requests content from an HTTP server (ie, Source) as an HTTP client, and receives the responded content from the HTTP server.

HTTPクライアント・ブロック21は、HTTPリクエスト管理ブロック22とHTTPレスポンス管理ブロック23に分かれる。さらに、HTTPリクエスト管理ブロックは、HTTPリクエスト送信ブロック22AとHTTPリクエスト生成ブロック22Bに分かれる。   The HTTP client block 21 is divided into an HTTP request management block 22 and an HTTP response management block 23. Further, the HTTP request management block is divided into an HTTP request transmission block 22A and an HTTP request generation block 22B.

HTTPリクエスト生成ブロック22Bは、送信するコンテンツ伝送要求(HTTPリクエスト)を生成する。ここで生成されたHTTPリクエスト(例えば、HTTP GETリクエスト)は、HTTPリクエスト送信ブロック22AによりHTTPサーバ(すなわちSource)へ送信される。   The HTTP request generation block 22B generates a content transmission request (HTTP request) to be transmitted. The HTTP request generated here (for example, HTTP GET request) is transmitted to the HTTP server (that is, Source) by the HTTP request transmission block 22A.

HTTPレスポンス管理ブロック23は、HTTPレスポンス受信ブロック23AとHTTPレスポンス解釈ブロック23Bに分かれる。サーバから返信されるHTTPレスポンスと暗号化されたコンテンツは、HTTPレスポンス受信ブロック23Aで受信される。ここで受信したHTTPレスポンスは、HTTPレスポンス解釈ブロック23Bでチェックされる。ここでのチェックがOKの場合は受信した暗号化コンテンツをDTCP−IP認証ブロック10内のコンテンツ復号ブロック13へ送る。また、このチェックがNGの場合は、エラー・レスポンスとしての処理を行なう。SourceからのHTTPレスポンスは1つ以上のPCPからなる。   The HTTP response management block 23 is divided into an HTTP response reception block 23A and an HTTP response interpretation block 23B. The HTTP response returned from the server and the encrypted content are received by the HTTP response reception block 23A. The HTTP response received here is checked by the HTTP response interpretation block 23B. If the check here is OK, the received encrypted content is sent to the content decryption block 13 in the DTCP-IP authentication block 10. If this check is NG, processing as an error response is performed. The HTTP response from the source consists of one or more PCPs.

DTCP−IP認証ブロック10とDTCP−IPコンテンツ受信ブロック20は、サーバ機器との間で個別のTCP/IPコネクションを確立して、それぞれ認証手続き及びコンテンツ伝送手続きを互いに独立して実行する。   The DTCP-IP authentication block 10 and the DTCP-IP content reception block 20 establish an individual TCP / IP connection with the server device, and execute an authentication procedure and a content transmission procedure independently of each other.

また、図3に示すSourceは、DTCP−IP認証ブロック40と、DTCP−IPコンテンツ送信ブロック50と、コンテンツ管理ブロック60を備え、HTTPサーバとして動作し、HTTPクライアントとして動作するSinkに対してコンテンツをダウンロード転送するようになっている。   3 includes a DTCP-IP authentication block 40, a DTCP-IP content transmission block 50, and a content management block 60. The source operates as an HTTP server and sends content to a sink operating as an HTTP client. Download transfer.

DTCP−IP認証ブロック40は、AKEブロック41と、メッセージ・ダイジェスト生成ブロック42と、コンテンツ暗号化ブロック43で構成される。DTCP−IP認証ブロック40は、より好ましくは耐タンパ性を備えている。   The DTCP-IP authentication block 40 includes an AKE block 41, a message digest generation block 42, and a content encryption block 43. The DTCP-IP authentication block 40 preferably has tamper resistance.

AKEブロック41は、DTCP−IPにおけるAKE機構(Source側)を実現するブロックである。このブロックは、メッセージ・ダイジェスト生成ブロック42から要求されたパラメータ(後述)を渡す機能も備えている。AKEブロック41は認証したSinkに関する情報をAKE認証した機器の数だけ保持し、それをクライアントからコンテンツが要求された際に認証済みのクライアントかどうかを判別するのに使用する。AKEブロック41は、コピーなど通常のコンテンツ伝送手続を行なう際のAKEとは別に、MOVE専用のAKE手続を規定し、スクランブル方法などを異ならせることによってMOVEモードの詐称を防止するようにしてもよい。   The AKE block 41 is a block that realizes an AKE mechanism (source side) in DTCP-IP. This block also has a function of passing parameters (described later) requested from the message digest generation block 42. The AKE block 41 holds information about the authenticated sink by the number of devices that have been AKE-authenticated, and uses it to determine whether the client is an authenticated client when content is requested from the client. The AKE block 41 may define an AKE procedure dedicated to the MOVE separately from the AKE when performing a normal content transmission procedure such as copying, and may prevent the masquerade of the MOVE mode by changing the scramble method or the like. .

メッセージ・ダイジェスト生成ブロック42は指定されたアルゴリズムに従い、パラメータのメッセージ・ダイジェストを生成するブロックである。メッセージ・ダイジェストを生成するアルゴリズムはあらかじめ用意されたアルゴリズムを指定できる。あらかじめ用意されたアルゴリズムとは、例えばMD5やSHA−1といった一方向性ハッシュ関数に関するアルゴリズムが挙げられる(同上)。   The message digest generation block 42 generates a parameter message digest according to a specified algorithm. As an algorithm for generating a message digest, an algorithm prepared in advance can be designated. An algorithm prepared in advance includes, for example, an algorithm related to a one-way hash function such as MD5 and SHA-1.

メッセージ・ダイジェスト生成ブロック42は、DTCP−IP認証ブロック40の外に公開してはならないAKEブロック41が保持するパラメータのメッセージ・ダイジェストを生成できるようにAKEブロック41と密に配置され、AKEブロック41へパラメータを要求して取得することが可能で、そのパラメータ若しくは外部から与えられたパラメータのメッセージ・ダイジェストを作成することができる。   The message digest generation block 42 is closely arranged with the AKE block 41 so as to generate a message digest of parameters held by the AKE block 41 that should not be disclosed outside the DTCP-IP authentication block 40. It is possible to request and obtain a parameter, and a message digest of the parameter or a parameter given from the outside can be created.

コンテンツ暗号化ブロック43は、DTCP−IPコンテンツ送信ブロック50の要求に応じてコンテンツ管理ブロック60より読み出したコンテンツ・データを、AKEで交換した鍵Kxから生成したコンテンツ鍵Kcを用いて暗号化するブロックである。ここで暗号化されたコンテンツは、クライアントへ送信するために、DTCP−IPコンテンツ送信ブロック50へ渡される。 Content encryption block 43, encrypted using the DTCP-IP content data read out from the content management block 60 in response to a request of the content transmission block 50, the content key K c generated from the key K x was replaced with AKE It is a block to do. The content encrypted here is passed to the DTCP-IP content transmission block 50 for transmission to the client.

コンテンツ管理ブロック60は、DTCP−IPの機構を用いて保護されるべきコンテンツを管理するブロックである。コンテンツ暗号化ブロックの読み出しに応じて、コンテンツのデータを渡す。   The content management block 60 is a block for managing content to be protected using a DTCP-IP mechanism. In response to the reading of the content encryption block, the content data is passed.

DTCP−IPコンテンツ送信ブロック50は、HTTPサーバ・ブロック51を持ち、HTTPサーバとしてクライアント(すなわちSink)からのリクエスト(例えば、HTTP GETリクエスト)を受理し、要求に応じた処理を実行する。   The DTCP-IP content transmission block 50 has an HTTP server block 51, receives a request (for example, an HTTP GET request) from a client (that is, a sink) as an HTTP server, and executes processing according to the request.

HTTPサーバ・ブロック51は、HTTPリクエスト管理ブロック52とHTTPレスポンス管理ブロック53に分かれる。   The HTTP server block 51 is divided into an HTTP request management block 52 and an HTTP response management block 53.

HTTPリクエスト管理ブロック52は、さらに、HTTPリクエスト受信ブロック52Aと、HTTPリクエスト解釈ブロック52Bに分かれる。HTTPリクエスト受信ブロック52Aは、クライアントからのHTTPリクエストを受信する。受信したHTTPリクエストはHTTPリクエスト解釈ブロック52Bに送られ、チェックされる。HTTPリクエスト解釈ブロック52BにおけるチェックがOKの場合、HTTPリクエストの情報をDTCP−IP認証ブロック40へ通知する。   The HTTP request management block 52 is further divided into an HTTP request reception block 52A and an HTTP request interpretation block 52B. The HTTP request reception block 52A receives an HTTP request from a client. The received HTTP request is sent to the HTTP request interpretation block 52B and checked. When the check in the HTTP request interpretation block 52B is OK, the HTTP request information is notified to the DTCP-IP authentication block 40.

HTTPレスポンス管理ブロック53は、さらに、HTTPレスポンス生成ブロック53BとHTTPレスポンス送信ブロック53Aに分かれる。   The HTTP response management block 53 is further divided into an HTTP response generation block 53B and an HTTP response transmission block 53A.

HTTPレスポンス生成ブロック53Bは、HTTPリクエスト解釈ブロック52BでのチェックがOKの場合、暗号化されたコンテンツを返すためのHTTPレスポンスを作成する。HTTPレスポンスは1つ以上のPCPからなる。一方、HTTPリクエスト解釈ブロック52BでのチェックがNGの場合、エラーを返すためのHTTPレスポンスを作成する。   When the check in the HTTP request interpretation block 52B is OK, the HTTP response generation block 53B creates an HTTP response for returning the encrypted content. The HTTP response consists of one or more PCPs. On the other hand, when the check in the HTTP request interpretation block 52B is NG, an HTTP response for returning an error is created.

HTTPレスポンス送信ブロック53Aは、作成されたHTTPレスポンスを、要求元のクライアントへ送信する。また、HTTPリクエスト解釈ブロック52BでのチェックがOKの場合には、HTTPレスポンス・ヘッダに続けて、DTCP−IP認証ブロック40内のコンテンツ暗号化ブロック43で暗号化したコンテンツを送信する。   The HTTP response transmission block 53A transmits the created HTTP response to the requesting client. If the check in the HTTP request interpretation block 52B is OK, the content encrypted by the content encryption block 43 in the DTCP-IP authentication block 40 is transmitted following the HTTP response header.

DTCP−IP認証ブロック40とDTCP−IPコンテンツ送信ブロック50は、Sinkとの間で個別のTCP/IPコネクションを確立して、それぞれ認証手続き及びコンテンツ伝送手続きを互いに独立して実行する。   The DTCP-IP authentication block 40 and the DTCP-IP content transmission block 50 establish individual TCP / IP connections with the sink, and execute the authentication procedure and the content transmission procedure independently of each other.

なお、DTCP−Sink及びDTCP−SourceのいずれもがDTCP−IP認証ブロック内に持つメッセージ・ダイジェスト生成ブロックは、DTCP−IP自体で規定される機能モジュールではなく、また本発明の要旨には直接関連しない。   Note that the message digest generation block that both DTCP-Sink and DTCP-Source have in the DTCP-IP authentication block is not a functional module defined by DTCP-IP itself, and is directly related to the gist of the present invention. do not do.

B.HTTPを利用したコンテンツ伝送
続いて、DTCP−IPに従ったコンテンツの伝送手順について説明する。図4には、SourceとSinkの間でAKEに基づく鍵交換手続き、及び鍵交換により共有した鍵を利用した暗号化コンテンツ伝送を行なう仕組みを図解している。コンテンツ伝送の形態は、Source上のコンテンツをSinkにコピーする方法と、SourceからSinkへコンテンツを移動してSourceにコンテンツを残さない方法がある。この項では、前者のコピーによるコンテンツ伝送方法を前提にして説明する。後者のコンテンツ伝送方法はMOVE機能によって実現されるが、MOVE伝送を行なう際のAKE手続の詳細については後述に譲る。
B. Content Transmission Using HTTP Next, a content transmission procedure according to DTCP-IP will be described. FIG. 4 illustrates a key exchange procedure based on AKE between Source and Sink, and a mechanism for performing encrypted content transmission using a key shared by key exchange. There are two types of content transmission: a method of copying content on the source to the sink, and a method of moving the content from the source to the sink and leaving no content on the source. In this section, description will be made on the assumption that the former content transmission method is based on copying. The latter content transmission method is realized by the MOVE function, but details of the AKE procedure when performing the MOVE transmission will be described later.

SourceとSinkは、まず1つのTCP/IPコネクションを確立し、機器同士の認証を行なう。この認証を、DTCP認証若しくはAKE(Authentication and Key Exchange)と言う。DTCP準拠機器には、DTLA(前述)により発行された機器証明書が埋め込まれている。DTCP認証手続きでは、互いが正規のDTCP準拠機器であることを確かめた後、認証鍵KauthをSourceとSinkで共有することができる。 The source and sink first establish one TCP / IP connection and authenticate each other. This authentication is called DTCP authentication or AKE (Authentication and Key Exchange). A device certificate issued by DTLA (described above) is embedded in the DTCP-compliant device. In the DTCP authentication procedure, it is possible to share the authentication key K auth between the Source and the Sink after confirming that they are regular DTCP compliant devices.

AKE手続きが成功すると、Sourceはコンテンツ鍵Kcの種となる交換鍵Kxを生成し、認証鍵Kauthで暗号化してSinkに送る。Source及びSinkそれぞれにおいて、交換鍵Kxに対して所定の演算処理を適用することによって、コンテンツ伝送時にコンテンツを暗号化するために使用されるコンテンツ鍵Kcが生成される。コンテンツ伝送方法に応じて交換鍵Kxからコンテンツ鍵Kcを生成するための計算式を変えるようにしてもよいが(例えば、コンテンツのコピー伝送とMOVE伝送で計算式を切り替えるようにしてもよい)、この点の詳細については後述に譲る。 When the AKE procedure is successful, Source generates an exchange key K x as a seed of the content key K c, and sends it to the Sink encrypted authentication key K auth. In each Source and Sink, by applying a predetermined arithmetic processing on the exchange key K x, the content key K c which is used to encrypt content when the content transmission is generated. It may be changed calculation formula for generating the content key K c from the exchange key K x in accordance with the content transmission ways (e.g., may be switched formula copy transmission and MOVE content transmission The details of this point will be described later.

そして、DTCP準拠の機器間でAKEによる認証及び鍵交換手続きが済んだ後、SinkはSource上のコンテンツを要求する。Sourceは、UPnP(登録商標)で規定されているCDS(Content Directory Service)などを通じてSinkにSource上のコンテンツへのアクセス先を示すコンテンツ場所をあらかじめ伝えることができる。Sinkがコンテンツを要求するとき、HTTPやRTPなどのプロトコルを利用することができる。   Then, after the AKE authentication and key exchange procedure is completed between DTCP-compliant devices, Sink requests content on the source. The Source can in advance tell the sink the content location indicating the access destination of the content on the Source through CDS (Content Directory Service) defined by UPnP (registered trademark). When Sink requests content, protocols such as HTTP and RTP can be used.

図4に示す例では、HTTPの手続きに従ってHTTPクライアントとしてのSinkがHTTPサーバとしてのSourceに対してコンテンツを要求するダウンロード形式となるコンテンツ伝送の場合、例えばHTTP GETメソッドを用いてコンテンツの伝送を開始する。また、図示しないが、HTTPの手続きに従ってHTTPクライアントとしてのSourceがHTTPサーバとしてのSinkに対してコンテンツをプッシュするアップロード形式となるコンテンツ伝送の場合、例えばHTTP POSTメソッドを用いてコンテンツの伝送を開始する。あるいは、RTPによる伝送を要求するとき、SourceがRTP Senderとなり、SinkがRTP Receiverとなってコンテンツの伝送を開始する。   In the example shown in FIG. 4, in the case of content transmission in which the sink as an HTTP client requests a content from the source as an HTTP server in accordance with the HTTP procedure, the content transmission is started using, for example, the HTTP GET method. To do. Although not shown, in the case of content transmission in which the source as an HTTP client pushes content to the sink as an HTTP server according to the HTTP procedure, the content transmission is started using, for example, the HTTP POST method. . Alternatively, when transmission by RTP is requested, the source becomes the RTP sender and the sink becomes the RTP receiver to start content transmission.

HTTPでコンテンツ伝送を行なう際、AKE手続すなわちDTCP認証のためのTCP/IPコネクションとは別に、HTTPのためのTCP/IPコネクションがHTTPクライアントより作成される(すなわち、SourceとSinkはそれぞれ、AKE手続き用とコンテンツ伝送用に個別のソケット情報(IPアドレスとポート番号の組み合わせ)を持つ)。そして、HTTPクライアントとしてのSinkは、通常のHTTPと全く同様の動作手順により、GETメソッドを用いたHTTPリクエストによりHTTPサーバ上のコンテンツを要求する。これに対し、HTTPサーバは、要求通りのコンテンツをHTTPレスポンスとして返す。   When performing content transmission by HTTP, a TCP / IP connection for HTTP is created from an HTTP client separately from an AKE procedure, that is, a TCP / IP connection for DTCP authentication (that is, Source and Sink are respectively AKE procedures). Separate socket information (combination of IP address and port number) for communication and content transmission). Then, the sink as the HTTP client requests the content on the HTTP server by the HTTP request using the GET method in the same operation procedure as the normal HTTP. In contrast, the HTTP server returns the requested content as an HTTP response.

HTTPレスポンスとして伝送されるデータは、HTTPサーバすなわちSourceがAKE認証をした後に共有した鍵を用いてコンテンツを暗号化したデータとなっている。具体的には、Sourceは、乱数を用いてノンスNcを生成して、交換鍵KxとノンスNcと暗号モードを表すE−EMIを基にコンテンツ鍵Kcを生成する。そして、Sinkから要求されているコンテンツを、コンテンツ鍵Kcを用いて暗号化し、暗号化コンテンツからなるペイロードとノンスNcとE−EMIを含んだヘッダからなるパケットであるPCP(Protected Content Packet)をTCPストリーム上に乗せて送信する。そして、IPプロトコルは、TCPストリームを所定の単位となるパケットの大きさに分割し、さらにヘッダ部を付加したIPパケットにし、指定されたIPアドレス宛てに届ける。 The data transmitted as the HTTP response is data obtained by encrypting the content using the key shared after the AKE authentication by the HTTP server, that is, the source. Specifically, the source generates a nonce N c using a random number, and generates a content key K c based on the exchange key K x , the nonce N c, and E-EMI indicating the encryption mode. Then, the content requested from the sink is encrypted using the content key K c , and a PCP (Protected Content Packet) which is a packet including a payload including the encrypted content, a header including the nonce N c and E-EMI. Is transmitted on the TCP stream. The IP protocol then divides the TCP stream into packet sizes as a predetermined unit, further converts the TCP stream into an IP packet with a header added, and delivers it to a specified IP address.

Sink側では、Sourceからの各IPパケットを受信すると、これをTCPストリームに組み立てて、送信されたPCPを取り出す。そして、ストリームからノンスNcとE−EMIを取り出すと、これらと交換鍵Kxを用いてコンテンツ鍵Kcを算出し、暗号化コンテンツを復号することができる。そして、復号化した後の平文のコンテンツに対し再生若しくは記録などの処理を実施することができる。このようにしてHTTPプロトコルを利用したコンテンツ伝送が終了すると、例えばSink側から、コンテンツ伝送に使用したTCPコネクションを適宜切断する。 On the sink side, when each IP packet is received from the source, it is assembled into a TCP stream and the transmitted PCP is taken out. When the nonce N c and E-EMI are extracted from the stream, the content key K c is calculated using these and the exchange key K x , and the encrypted content can be decrypted. Then, processing such as reproduction or recording can be performed on the plaintext content after decryption. When content transmission using the HTTP protocol is completed in this way, the TCP connection used for content transmission is appropriately disconnected from the sink side, for example.

図5には、DTCP−IPにおいてコンテンツ伝送に用いられるパケットPCPのデータ構造を模式的に示している。図示のように、PCPは、ノンスNcを含んだヘッダと、暗号化コンテンツからなるペイロードで構成されるパケットである。ちなみに、HTTPレスポンスは1つ以上のPCPからなり、RTPペイロードは1つのPCPからなる。 FIG. 5 schematically shows the data structure of a packet PCP used for content transmission in DTCP-IP. As shown in the figure, the PCP is a packet composed of a header including a nonce Nc and a payload made up of encrypted content. Incidentally, the HTTP response is composed of one or more PCPs, and the RTP payload is composed of one PCP.

PCPヘッダは平文であり、ノンスNcが含まれている。また、PCPペイロードはノンスNcで決まるコンテンツ鍵Kcで暗号化されたコンテンツ(但し、コピー制御情報として“copy−free”が指定されているコンテンツは暗号化不要)で構成される。 The PCP header is plain text and includes a nonce Nc . The PCP payload is composed of content encrypted with a content key K c determined by nonce N c (however, content for which “copy-free” is specified as copy control information is not required for encryption).

PCPペイロードは、データ長すなわちprotected_content_lengthの値が常に16バイトの倍数になるように規定されている。protected_content_lengthの値が16の整数倍でないときは、必要に応じて暗号化前にパディング(padding)が行なわれ、コンテンツに1〜15バイトのパディングが付く。図6には、PCPをパディングする様子を示している。   The PCP payload is defined such that the data length, that is, the value of protected_content_length is always a multiple of 16 bytes. When the value of protected_content_length is not an integer multiple of 16, padding is performed before encryption as necessary, and 1 to 15 bytes of padding is added to the content. FIG. 6 shows how PCP is padded.

ここで、長大なTCPストリーム全体に亘り同じ暗号鍵を使用し続けると、鍵が解読される危険は高くなる。このため、DTCP−IPでは、Sourceは128MB毎にノンスNcすなわちコンテンツ鍵Kcを更新する(1ずつインクリメントする)よう取り決められ、コンテンツの安全化が図られている。定期的にノンスNcを更新する時点でも、PCPはパディングされる(コンテンツ鍵Kcを更新しなくても複数のPCPにpaddingすることは可能)。 Here, if the same encryption key is continuously used throughout the long TCP stream, the risk of the key being decrypted increases. Therefore, in DTCP-IP, Source is negotiated nonce N c ie updates the content key K c (incremented by 1) as per 128MB, safety of the contents is achieved. Even when the nonce N c is periodically updated, the PCP is padded (it is possible to pad to a plurality of PCPs without updating the content key K c ).

また、DTCP−IPでは、ノンスNcの更新に伴い、コンテンツ鍵確認手続を起動するようになっている。コンテンツ鍵確認手続では、Sinkは、コンテンツ伝送用のTCPコネクションとは別に、コンテンツ鍵の確認用のTCPコネクションをさらに確立し、Sourceに対しコンテンツ鍵確認のための手続きを行なう。Sinkは、コンテンツ鍵の確認が必要になると、適宜このTCPコネクションを確立する。例えば、DTCP−IP Volume 1 Supplement E.8.6には、コンテンツ鍵の確認手続きとして“Content Key Confirmation”を規定している。これによれば、Sinkは、CONT_KEY_CONF subfunctionを用いて、現在のノンスNcに関連付けられたコンテンツ鍵の確認を行なう。 Also, in DTCP-IP, a content key confirmation procedure is started with the update of nonce Nc . In the content key confirmation procedure, the sink further establishes a TCP connection for content key confirmation separately from the TCP connection for content transmission, and performs a procedure for content key confirmation for the source. When the Sink needs to confirm the content key, it establishes this TCP connection as appropriate. For example, DTCP-IP Volume 1 Supplement E.I. In 8.6, “Content Key Configuration” is defined as a content key confirmation procedure. According to this, Sink confirms the content key associated with the current nonce Nc using CONT_KEY_CONF subfunction.

C.コンテンツのMOVE伝送
DTCP−IPでは、Source側でNo More Copiesとして符号化されているコンテンツをSinkで利用できるようにする手段として、MOVE機能が用意されている。
C. MOVE transmission of content In DTCP-IP, a MOVE function is prepared as a means for enabling content encoded as No More Copies on the Source side to be used in Sink.

ネットワーク通信におけるMOVEは、機器間でデータを移動させることに相当し、移動先の機器にデータが移動した後は基本的に移動元の機器にはデータを残さない。DTCP−IPで言うMOVE機能は、Sinkは受信したコンテンツをNo More Copiesとして符号化して扱うこと、及び、Source側では伝送した後のコンテンツを消去又は利用不能にするという条件の下で、暗号化コンテンツをSourceからSinkへ伝送することを意味し、単一のSourceと単一のSink間でのみMOVEが許容される。   MOVE in network communication is equivalent to moving data between devices, and basically after the data is moved to the destination device, no data is left in the source device. The MOVE function in DTCP-IP is encrypted under the condition that the Sink encodes the received content as No More Copies, and the source side erases or disables the content after transmission. This means that the content is transmitted from the source to the sink, and the move is allowed only between the single source and the single sink.

以下では、DTCP−IPに準拠する機器同士の相互運用を実現するためのMOVEシーケンスについて説明する。最低限の相互運用を確保するには、単一のHTTP GETメソッド又はPOSTメソッドを用いたMOVE伝送が推奨されるが、勿論、他のシーケンスを用いた実装が禁止されている訳ではない。   Below, the MOVE sequence for implement | achieving the interoperation of the apparatuses based on DTCP-IP is demonstrated. To ensure minimum interoperability, MOVE transmission using a single HTTP GET method or POST method is recommended, but of course, implementation using other sequences is not prohibited.

DTCP−IPにおけるMOVEシーケンスでは、Source側でコンテンツを消去又は利用不能にするという条件を一貫して遵守することが課されている。このため、Source側で送信後のデータを逐次的に利用不能にするとともに、Sink側で受信データを逐次的に利用可能にしていくという“INCREMENTAL MOVE”を行なう必要がある。ところが、伝送路での障害が発生したことやその他の原因によりMOVEシーケンスが中断すると、コンテンツがSourceとSink間で分断されたり欠落が発生したりしてしまう。そして、MOVEシーケンスが途切れた結果として、ユーザは、そもそも適正に取得したコンテンツを消失してしまうことになる。   In the MOVE sequence in DTCP-IP, it is required to consistently observe the condition that the content is erased or made unavailable on the source side. For this reason, it is necessary to perform “INCREMENTAL MOVE” in which data after transmission is sequentially disabled on the source side and reception data is sequentially enabled on the sink side. However, if the MOVE sequence is interrupted due to the occurrence of a failure in the transmission path or other reasons, the content is divided between the source and the sink or missing. Then, as a result of the interruption of the MOVE sequence, the user will lose the appropriately acquired content in the first place.

そこで、本実施形態に係るコンテンツ伝送システムでは、Sinkは、MOVE伝送中のコンテンツを順次記録媒体に記録するが、MOVEの終了処理が成功するまでは順次記録したコンテンツを利用できない状態に保つようにした。そして、MOVE伝送の終了処理の確認すなわちCommitmentが行なわれると、Sink側の記録コンテンツを有効化して利用できる状態にすると同時に、Source側で元のコンテンツを消去若しくは利用不能にする処理を行なう。このような伝送手順によれば、MOVE伝送中にSourceとSinkでNo More Copyコンテンツが二重に存在することはない。且つ、伝送路で障害が発生するなどによりMOVE伝送処理が途切れても、コンテンツが分断することはなく、Sink側から改めてコンテンツ伝送を再開(resume)することができる。   Therefore, in the content transmission system according to the present embodiment, the sink sequentially records the content being transferred in the move medium on the recording medium, but keeps the sequentially recorded content in an unusable state until the move finish process is successful. did. When confirmation of MOVE transmission end processing, that is, commitment, is performed, the recorded content on the sink side is made valid and usable, and at the same time, the original content is erased or made unusable on the source side. According to such a transmission procedure, No More Copy content does not exist twice in Source and Sink during MOVE transmission. In addition, even if the MOVE transmission process is interrupted due to a failure in the transmission path, the content is not divided and the content transmission can be resumed from the sink side.

このようなコンテンツのMOVE伝送は、コンテンツ全体を一括してSourceとSink間で移動することと等価である。Source側で送信後のデータを逐次的に利用不能にするとともにSink側で受信データを逐次的に利用可能にしていくINCREMENTEL MOVEとは異なり、“BLOCK MOVE”と呼ぶこともできる。BLOCK MOVEも、SourceとSinkで同じコンテンツが二重に存在することはないから、DTCPで規定されている条件を満たしたコンテンツのMOVE処理であると言える。   Such MOVE transmission of content is equivalent to moving the entire content between the source and sink at once. Unlike INCREMENTEL MOVE, in which data after transmission is sequentially disabled on the source side and received data is sequentially enabled on the sink side, it can also be referred to as “BLOCK MOVE”. BLOCK MOVE is also a MOVE process for content that satisfies the conditions defined by DTCP, because the same content does not exist twice in Source and Sink.

なお、Sinkは、MOVE伝送の終了処理が成功するまでは、記録したコンテンツを再生することはできないが、受信コンテンツを無効化した状態で記録する動作と並行して、受信コンテンツを再生出力(レンダリング)するように構成することも可能である。何故ならば、BLOCK MOVEがDTCPで既定する条件を満足するMOVE処理であるとするならば、これに並行したレンダリング処理は、MOVE伝送用のTCPコネクションと並行してコンテンツ・ストリーミング伝送用のTCPコネクションを確立して、ストリーミング・データを再生出力することと等価であるからである。BLOCK MOVEに並行してレンダリング処理を行なう場合、TCPコネクションは1本で済むから通信路を節約することができる。また、SourceやSinkの機器にとってはMOVE伝送とレンダリングの双方の処理を単一のコンテンツ伝送処理で済ますことができるから負荷を軽減することになる。   Sink cannot play back the recorded content until the end of the MOVE transmission process, but it plays back and outputs the received content in parallel with the operation of recording with the received content invalidated (rendering). ). This is because if the BLOCK MOVE is a MOVE process that satisfies the conditions specified by DTCP, the rendering process in parallel with this is a TCP connection for content streaming transmission in parallel with the TCP connection for MOVE transmission. This is equivalent to establishing and reproducing and outputting streaming data. When rendering processing is performed in parallel with BLOCK MOVE, the communication path can be saved because only one TCP connection is required. In addition, for a source device such as a source or sink, both the move transmission process and the rendering process can be performed by a single content transmission process, thereby reducing the load.

コンテンツのMOVE処理と受信コンテンツの再生処理を並行して行なうためには、図2に示したSink内のコンテンツ再生/記録ブロック30を、コンテンツ再生ブロック31とコンテンツ記録ブロック32という2つの独立したモジュールとして構成すればよい。図7には、この場合の機能ブロック図を示している。   In order to perform the content move process and the received content playback process in parallel, the content playback / recording block 30 in the sink shown in FIG. 2 is divided into two independent modules, a content playback block 31 and a content recording block 32. What is necessary is just to comprise. FIG. 7 shows a functional block diagram in this case.

コンテンツ復号ブロック13では、AKEで交換した交換鍵Kxから算出されるコンテンツの復号鍵Kcを用いて、Sourceから受信した暗号化コンテンツを復号すると、これをコンテンツ再生ブロック31とコンテンツ記録ブロック32の各々に供給する。 In the content decryption block 13, using the decryption key K c of content calculated from the exchange key K x was replaced with AKE, when decrypting the encrypted content received from the Source, which the content reproducing block 31 and the content recording block 32 Supply to each of the.

コンテンツ記録ブロック32では、コンテンツをNo More Copiesとして規定の符号化処理を施して、まず無効化された状態でハード・ディスク又はその他の記録媒体(図示しない)に保存する。コンテンツ記録ブロック32により保存された符号化コンテンツは、MOVE伝送全体が完了するまでは有効化されないので、記録媒体から読み出して復号して利用(例えばコンテンツ再生ブロックで再生)することはできない。また、コンテンツ記録ブロック32を、コンテンツ復号ブロック13と同様に、耐タンパ性のあるDTCP−IP認証ブロック10内に配置することで、コンテンツ復号ブロック13とコンテンツ記録ブロック32間での復号コンテンツの漏洩の問題はなくなる。   In the content recording block 32, the content is subjected to a specified encoding process as No More Copies, and is first stored in a disabled state on a hard disk or other recording medium (not shown). Since the encoded content stored by the content recording block 32 is not validated until the entire MOVE transmission is completed, it cannot be read from the recording medium, decoded, and used (for example, reproduced in the content reproduction block). Similarly to the content decryption block 13, the content recording block 32 is arranged in the tamper-resistant DTCP-IP authentication block 10, so that decrypted content leaks between the content decryption block 13 and the content recording block 32. The problem disappears.

一方、コンテンツ再生ブロック31では、コンテンツ復号ブロック13から供給されるコンテンツを、そのままビデオ及びオーディオ信号に変換(レンダリング)して、ディスプレイなどのAV出力部から映像並びに音響出力する。このような復号コンテンツの出力は、出力とともにデータが失われるのでコンテンツのコピーには相当せず、SourceとSinkの両方に重複して存在する再生可能なコンテンツがあってはならないというDTCP規格に抵触しない。   On the other hand, the content playback block 31 converts (renders) the content supplied from the content decoding block 13 into video and audio signals as they are, and outputs video and audio from an AV output unit such as a display. The output of such decrypted content does not correspond to a copy of the content because data is lost along with the output, and conflicts with the DTCP standard that there should be no reproducible content existing in both the source and sink. do not do.

このようにMOVE処理と並行して受信コンテンツの再生処理を実行することにより、ユーザは、MOVE伝送中にそのコンテンツの内容を確認するとともに、リアルタイムでコンテンツ視聴を享受することができる。   Thus, by executing the reproduction process of the received content in parallel with the MOVE process, the user can confirm the content of the content during the MOVE transmission and enjoy the content viewing in real time.

ここで、SourceとSink間のコンテンツ伝送が、コンテンツ再生ブロックにおける再生の実時間より高速に行なわれる場合には、コンテンツ再生ブロック31はAV出力用バッファ33をローカルに備えていてもよい。上述したような並列処理を行なう際、コンテンツ復号ブロック13から直接供給されるコンテンツをこのAV出力用バッファ33に蓄積し、FIFO形式で再生出力するようにすれば、コンテンツ再生ブロック31を通じたコンテンツの実時間再生を行なうことができる。AV出力用バッファ33の実装方法としては、コンテンツ再生ブロック31専用のバッファ・メモリを設ける以外に、コンテンツ記録ブロック32が持つハード・ディスクなどの記録媒体(図示しない)とAV出力用バッファ33とを統合し、AV出力用のコンテンツと記録用のコンテンツを一元化することも考えられる。   Here, when the content transmission between the source and the sink is performed at a speed higher than the actual playback time in the content playback block, the content playback block 31 may include the AV output buffer 33 locally. When the parallel processing as described above is performed, if the content directly supplied from the content decoding block 13 is stored in the AV output buffer 33 and reproduced and output in the FIFO format, the content of the content through the content reproduction block 31 is stored. Real-time playback can be performed. As a mounting method of the AV output buffer 33, in addition to providing a buffer memory dedicated to the content reproduction block 31, a recording medium (not shown) such as a hard disk possessed by the content recording block 32 and the AV output buffer 33 are provided. It is conceivable to integrate the AV output content and the recording content.

本発明者らは、SourceとSink間のMOVE伝送を、ダウンロードとアップロードに大別して扱うことにしている。ここで言うダウンロードとは、Sinkを操作するユーザがSourceからコンテンツをプル配信することを意味し、例えばSourceがHTTPサーバとして動作するとともにSinkがHTTPクライアントとして動作し、HTTP GETメソッドを用いてMOVEシーケンスを実装することができる。また、アップロードとは、Sourceを操作するユーザがSinkに対してコンテンツをプッシュ配信することを意味し、例えばSourceがHTTPクライアントとして動作するとともにSinkがHTTPサーバとして動作し、HTTP POSTメソッドを用いてMOVEシーケンスを実装することができる。最低限の相互運用を確保するには、単一のHTTP GETメソッド又はPOSTメソッドを用いたMOVE伝送が推奨されるが、勿論、他のシーケンスを用いた実装が禁止されている訳ではない。   The inventors of the present invention broadly divide MOVE transmission between Source and Sink into download and upload. Downloading here means that the user operating the sink pulls content from the source. For example, the source operates as an HTTP server and the sink operates as an HTTP client, and a move sequence using the HTTP GET method. Can be implemented. Upload means that the user operating the source pushes the content to the sink. For example, the source operates as an HTTP client and the sink operates as an HTTP server, and the move is performed using the HTTP POST method. A sequence can be implemented. To ensure minimum interoperability, MOVE transmission using a single HTTP GET method or POST method is recommended, but of course, implementation using other sequences is not prohibited.

従来のDTCP−IPではSinkからコンテンツ伝送のトリガが発生するダウンロード形式でコピー伝送が行なわれるのが一般的であるが(例えば、図4を参照のこと)、以下ではダウンロード伝送とアップロード伝送それぞれの場合についてのBLOCK MOVE伝送シーケンスについて説明する。   In conventional DTCP-IP, copy transmission is generally performed in a download format in which a trigger of content transmission is generated from a sink (see, for example, FIG. 4). The BLOCK MOVE transmission sequence for the case will be described.

C−1.ダウンロード形式のBLOCK MOVE
図8には、ダウンロード形式でSourceとSink間のBLOCK MOVE伝送を行なう場合の動作シーケンスを示している。図示の通り、この場合のMOVE伝送は、Source及びコンテンツ選択、MOVE用AKE手続き、コンテンツ移動(MOVE)手続き、MOVE終了処理手続きという4段階のフェーズで構成される。このうち、MOVE用AKE手続き、コンテンツ移動(MOVE)手続き、MOVE終了処理手続きは、DTCP上で規定される手順に従って実行される。
C-1. Download format BLOCK MOVE
FIG. 8 shows an operation sequence when BLOCK MOVE transmission is performed between the source and the sink in the download format. As shown in the figure, the MOVE transmission in this case is composed of four phases: Source and content selection, MAKE AKE procedure, content move (MOVE) procedure, and MOVE end processing procedure. Among these, the AKE procedure for MOVE, the content transfer (MOVE) procedure, and the MOVE end processing procedure are executed in accordance with procedures defined on DTCP.

Source及びコンテンツ選択のフェーズは、例えばUPnP(登録商標)ベースで行なうことができ、この場合、SinkはCDS(ContentDirectory Service)を利用してコンテンツ情報を取得することができる。CDSは、UPnP(登録商標)メディア・サーバの主要なサービスの1つである。通常、SinkはCDSを用いてコンテンツの閲覧や検索、コンテンツのメタデータの編集などを行なう。図9には、この場合のSourceとSink間の動作シーケンスを示している。   The source and content selection phases can be performed, for example, on the basis of UPnP (registered trademark). In this case, the sink can acquire content information by using CDS (Content Directory Service). CDS is one of the main services of UPnP® media server. Usually, the sink uses the CDS to browse and search content, edit content metadata, and the like. FIG. 9 shows an operation sequence between the source and the sink in this case.

まず、Sinkは、CDS::Browse requestを発行し、SourceからのCDS::Browse responseによってコンテンツ一覧情報(content list information)を引き取ることができる。同図に示すように、このレスポンス内では、コンテンツはitem IDとparentIDで識別され、コンテンツ毎に、コンテンツのタイトル、コンテンツのUPnP(登録商標)クラス、CDS::Browse requestに対するレスポンス情報が記載されている。そして、レスポンス属性情報(res protocolInfo property)の第3フィールドにコンテンツ毎のソケット情報(DTCP Socket Info)が記載されるとともに、別のレスポンス属性情報(res@allwedUse)でコンテンツがMOVE伝送可能かどうかを示すMovable情報が記載され、これらに続いてコンテンツの保管場所を示すURLが含まれている。なお、Movable情報の記載手段はこれに限定されることはなく、例えばDTCPでレスポンス属性情報を定義してこれを用いることも考えられる。可能なMOVE方法としてBLOCK MOVEとINCREMENTAL MOVEを個別に表現することも考えられる。   First, Sink issues CDS :: Browse request, and can retrieve content list information by CDS :: Browse response from Source. As shown in the figure, in this response, the content is identified by an item ID and a parent ID, and for each content, the content title, the UPnP (registered trademark) class of the content, and response information for CDS :: Browse request are described. ing. Then, the socket information (DTCP Socket Info) for each content is described in the third field of the response attribute information (res protocolInfo property), and whether or not the content can be transferred with another response attribute information (res @ allusedUse). Mobile information to be indicated is described, and subsequently, a URL indicating a storage location of the content is included. In addition, the description means of Mobile information is not limited to this, For example, defining response attribute information by DTCP and using this is also considered. It is also conceivable to separately express BLOCK MOVE and INCREMENTAL MOVE as possible move methods.

図9に示す例では、Sourceは、resのprotocolInfoアトリビュートの3番目のフィールドにソケット情報としての文字列“DTCP1HOST=(host);DTCP1PORT=(port)”を記載するとともに、allowedUseアトリビュートには当該コンテンツがDTCP−IPによりMOVE可能であることを示す文字列“MOVE:1”を記載している。したがって、Sinkは、図示のレスポンス中から、ユーザが選択したコンテンツに関するresタグ内のprotocolInfo並びにallowedUseの各アトリビュートの値を読み出すことで、コンテンツ毎のソケット情報と、コンテンツがMOVE伝送可能かどうかを取得することができる。   In the example illustrated in FIG. 9, the source describes the character string “DTCP1HOST = (host); DTCP1PORT = (port)” as socket information in the third field of the protocolInfo attribute of res, and the allowedUse attribute includes the content. Describes a character string “MOVE: 1” indicating that MOVE is possible by DTCP-IP. Therefore, Sink reads out the value of each attribute of protocolInfo and allowedUse in the res tag related to the content selected by the user from the response shown in the figure, and obtains the socket information for each content and whether the content can be transferred by MOVE. can do.

なお、res@allowedUseはDTCP規格で規定されているものではなく、“MOVE:1”の運用方法も詳細に定義されていないため、将来の定義内容にとっては不適切なものになるおそれがある。そこで、res@allowedUseに代えて、「DTCP.COM_FLAGS param」というパラメータをres@protocolInfoの第4フィールドに設けて、コンテンツのMOVE伝送の可否を示すことが考えられる。DTCP.COM_FLAGS paramは32ビット長のフィールドであり、ビット定義は以下の通りとする。ビット30に1が記載されているときには、ビット31にも1が記載される。Sinkは予備のビット・フィールドを無視する。   Note that res @ allowedUse is not defined in the DTCP standard, and the operation method of “MOVE: 1” is not defined in detail, which may be inappropriate for future definition contents. Therefore, instead of res @ allowedUse, a parameter “DTCP.COM_FLAGS param” may be provided in the fourth field of res @ protocolInfo to indicate whether the content can be transferred. DTCP. COM_FLAGS param is a 32-bit length field, and the bit definition is as follows. When 1 is written in bit 30, 1 is also written in bit 31. Sink ignores the spare bit field.

ビット31:DTCPに基づくMOVE伝送可。
ビット30:DTCP仕様書で規定されている条件を満足するBLOCK MOVEプロトコルをサポートしている。
ビット29〜0:予備
Bit 31: MOVE transmission based on DTCP is possible.
Bit 30: Supports the BLOCK MOVE protocol that satisfies the conditions specified in the DTCP specification.
Bits 29-0: Reserved

DTCP.COM_FLAGS paramはres@protocolInfoの第4フィールドに設けられ、32ビット値が16進数表記される。また、DTCP.COM_FLAGS paramを用いた場合のres@protocolInfoアトリビュートの記述例は以下の通りとなる。   DTCP. COM_FLAGS param is provided in the fourth field of res @ protocolInfo, and a 32-bit value is expressed in hexadecimal. Also, DTCP. A description example of the res @ protocolInfo attribute when COM_FLAGS param is used is as follows.

Sinkは、1以上のSourceからCDS::Browseレスポンスを引き取ると、Sourceの選択(Select Source)、選択したSourceからMOVEすべきコンテンツの選択(Select Content)、並びに移動先の選択(Select Destination)を行なう。そして、Sink側でのコンテンツの選択に引き続いて、選択したコンテンツのMOVE伝送処理が開始される。   When the Sink takes a CDS :: Browse response from one or more sources, it selects the source (Select Source), selects the content to be moved from the selected Source (Select Content), and selects the destination (Select Destination). Do. Then, following the selection of content on the sink side, the MOVE transmission process of the selected content is started.

MOVE伝送に先駆けて、まずSourceとSink間の相互認証及びMOVE用の鍵共有を行なうために、MOVE用AKE手続きを実施する。ここでは、SinkからSourceへAKEトリガ情報が渡されるより前に、SourceはSinkからのAKEを受け付けられる状態になっているものとする。本実施形態では、通常のDTCP−IPにおけるAKE手続(前述並びに図4を参照のこと)と同様の手順に従ってSourceとSink間の相互認証と、コンテンツ復号鍵の元となる種鍵を共有するための処理を実行する。但し、MOVE実行時には、通常のコンテンツ伝送時とは異なる交換鍵KxMを生成し、且つ、1回のMOVE伝送毎に交換鍵を消滅させるようにしている。これによって、MOVE伝送をコピー伝送と偽装してコンテンツのコピー動作を行なうことをより困難にすることができる。 Prior to the move transmission, the move AKE procedure is first executed in order to perform mutual authentication between the source and the sink and the key sharing for the move. Here, before the AKE trigger information is passed from the sink to the source, it is assumed that the source is ready to accept the AKE from the sink. In the present embodiment, in order to share the mutual authentication between the source and sink and the seed key that is the source of the content decryption key according to the same procedure as the AKE procedure in the normal DTCP-IP (see FIG. 4 and FIG. 4). Execute the process. However, when MOVE is executed, an exchange key K xM that is different from that during normal content transmission is generated, and the exchange key is deleted for each MOVE transmission. This makes it more difficult to perform a content copy operation by impersonating MOVE transmission as copy transmission.

図10には、MOVE用AKE手続きの動作シーケンスを示している。図示のように、チャレンジ・レスポンス認証手続を用いて手続きが行なわれる。Sourceは、SinkからMOVE用のチャレンジ要求(MV−CHALLENGE)に応答して、1回のMOVE用AKE手続毎に、MOVE用の交換鍵KXMを生成し、後続のレスポンスを経て、SourceとSink間で鍵KXM及びKXM_labelの共有が実現する。但し、EXCHANGE KEYコマンドでは、通常のAKE手続の場合とは異なるスクランブル方法が適用され、MOVE伝送をコピー伝送と偽られるのを防止する。 FIG. 10 shows an operation sequence of the move AKE procedure. As shown, the procedure is performed using a challenge / response authentication procedure. In response to a challenge request (MV-CHALLENGE) for move from Sink, the source generates an exchange key K XM for move for each move AKE procedure, and passes through the subsequent response to source and sink. shared key K XM and K XM _label is realized between. However, in the EXCHANGE KEY command, a scramble method different from that in the normal AKE procedure is applied to prevent the MOVE transmission from being fake as a copy transmission.

鍵KXM及びKXM_labelの生成方法は、通常のコンテンツ伝送時(前述並びに図4を参照のこと)と同様なので、ここでは詳細な説明を省略する。また、鍵KXM及びKXM_labelを消滅させる規則も鍵KX及びKX_labelの場合と同様なので、説明を省略する。 Since the generation method of the keys K XM and K XM _label is the same as that during normal content transmission (see FIG. 4 and FIG. 4), detailed description is omitted here. Further, since the rules to eliminate the key K XM and K XM _label also similar to the case of the key K X and K X _label, omitted.

SourceとSinkはともに、1回のMOVE手続が終了する度に、当該MOVE手続き用の鍵KXM及びKXM_labelを消滅させる。 Source and Sink are both, each time one of the MOVE procedure is completed, to extinguish the key K XM and K XM _label for the MOVE procedure.

図27には、MOVE用AKE手続きの他の動作シーケンス例を示している。図示の例では、Sinkは、MV−INITIATEコマンドを送信するというMOVEプロトコルを用いて、MOVE伝送を初期化して、MOVE RTT−AKEプロセスを起動する。RTT−AKEプロセスでは、通常のAKEと同じ手順を追って、チャレンジ−レスポンス手続きによる相互認証が行なわれる。RTTによればSink及びSourceのLocalizationチェックが行なわれるが、本発明の要旨には直接関連しない。そして、MV_EXCHANGE_KEYコマンドによって交換鍵の共有が行なわれる。   FIG. 27 shows another operation sequence example of the move AKE procedure. In the illustrated example, Sink uses the MOVE protocol to send an MV-INITIATE command, initializes the MOVE transmission, and activates the MOVE RTT-AKE process. In the RTT-AKE process, mutual authentication is performed by a challenge-response procedure following the same procedure as that of normal AKE. RTT performs Sink and Source Localization checks, but is not directly related to the gist of the present invention. Then, the exchange key is shared by the MV_EXCHANGE_KEY command.

既に述べたように、本実施形態に係るコンテンツ伝送システムでは、コンテンツのMOVEモードとして、INCREMENTAL MOVEとBLOCK MOVEの2種類を備えている。INCREMENTAL MOVEはDTCP−IPで取り決められたMOVE伝送により実装することが可能である。これに対し、BLOCK MOVEは現在の仕様に含まれている訳ではない。そこで、例えばMOVE用AKE手続きを行なう際に、互いの機器がBLOCK MOVEに対応しているかどうか、すなわちケイパビリティを確認することが好ましい。   As described above, the content transmission system according to the present embodiment includes two types of content move modes, INCREMENTAL MOVE and BLOCK MOVE. INCREMENTAL MOVE can be implemented by MOVE transmission negotiated by DTCP-IP. In contrast, BLOCK MOVE is not included in the current specification. Therefore, for example, when performing the AKE procedure for MOVE, it is preferable to confirm whether each other device is compatible with BLOCK MOVE, that is, the capability.

図16には、ケイパビリティの確認シーケンスを含んだMOVE用AKE手続きの動作シーケンス例を示している。図示の例では、MOVE用のチャレンジ・レスポンス認証手続きを行なう前に、SinkとSource間で互いのケイパビリティを交換する手続き(CAPABILITY_EXCHANGE)が実行される。   FIG. 16 shows an example of an operation sequence of the move AKE procedure including a capability confirmation sequence. In the example shown in the figure, a procedure (CAPABILITY_EXCHANGE) for exchanging capabilities between Sink and Source is executed before the challenge / response authentication procedure for MOVE is performed.

図17には、図16中のケイパビリティ交換手続きの部分をさらに詳細に示している。このコマンド/レスポンスに使用されるメッセージは、それぞれの機器が持つケイパビリティを記述したCAPABILITYフィールドと、CAPABILITYフィールドに対する電子署名で構成される。   FIG. 17 shows the capability exchange procedure in FIG. 16 in more detail. The message used for this command / response is composed of a CAPABILITY field describing the capabilities of each device and an electronic signature for the CAPABILITY field.

メッセージの先頭1ビットはSink又はSourceを識別するために使用される。機器がSinkとしてのケイパビリティを送る場合には1を記載し、Sourceとしてのケイパビリティを送る場合には0を記載する。これによって、SourceとしてのケイパビリティのようにSinkとしてのケイパビリティを送り(あるいはその逆の振る舞いをし)、ケイパビリティの詐称をすることを防止する。CAPABILITYフィールドの末尾のフィールドを使って、機器がMOVE(若しくはBLOCK MOVE)に対応しているかどうかを記載する。   The first 1 bit of the message is used to identify Sink or Source. When the device sends a capability as a sink, 1 is described, and when the device sends a capability as a source, 0 is described. As a result, the capability as a sink is sent like the capability as a source (or the reverse behavior is performed) to prevent the capability from being spoofed. The field at the end of the CAPABILITY field is used to describe whether the device supports MOVE (or BLOCK MOVE).

電子署名は、メッセージ先頭のSink/SourcビットとCAPABILITYフィールドに対して各機器の秘密鍵で求めた電子署名で構成される。CAPABILITY_EXCHANGEコマンドを受け取ったSourceは、Sinkの公開鍵を使って署名を検証し、CAPABILITY_EXCHANGEレスポンスを受け取ったSinkはSourceの公開鍵を使って署名を検証することができる。   The electronic signature is composed of an electronic signature obtained with the secret key of each device for the Sink / Source bit and the CAPABILITY field at the beginning of the message. The Source that has received the CAPABILITY_EXCHANGE command can verify the signature by using the public key of the sink, and the sink that has received the CAPABILITY_EXCHANGE response can verify the signature by using the public key of the source.

例えば、SinkがBLOCK MOVEモードでのコンテンツのMOVEを要求するときに、まず、Sink側からCAPABILITY_EXCHANGEコマンドが発行され、これに対し、SourceからはCAPABILITY_EXCHANGEレスポンスが返される。いずれか一方の機器がBLOCK MOVEに対応していない場合には、従来のINCREMENTAL MOVEにモードを切り替えてコンテンツのMOVE処理を行なうようにしてもよい。   For example, when a sink requests a move of content in the BLOCK MOVE mode, a CAPABILITY_EXCHANGE command is first issued from the sink side, and a CAPABILITY_EXCHANGE response is returned from the source. If either one of the devices does not support BLOCK MOVE, the mode may be switched to the conventional INCREMENT MOVE and the content move process may be performed.

CAPABILITY_EXCHANGEシーケンスは、MOVE伝送モード詐称攻撃に対する対策として十分である。但し、この種の詐称攻撃に対する他の対策がとられている場合には、CAPABILITY_EXCHANGEシーケンスを通じたセキュアな情報交換手続は不要となる。   The CAPABILITY_EXCHANGE sequence is sufficient as a countermeasure against the move transmission mode spoofing attack. However, when other measures against this type of fraud attack are taken, a secure information exchange procedure through the CAPABILITY_EXCHANGE sequence is not required.

MOVE伝送用のAKE手続きが無事に完了すると、続いてコンテンツ移動(MOVE伝送)手続きが開始される。Sink側のユーザ操作によりSourceからコンテンツをMOVE伝送する場合、SourceがHTTPサーバとして動作するとともにSinkがHTTPクライアントとして動作し、HTTPプロトコルを用いてダウンロードMOVE伝送を行なうようにすれば良い。コンテンツのデータ・エンティティの伝送自体には、INCREMENTAL MOVEもBLOCK MOVEも同様に行なうことができるが、いずれの場合もHTTPプロトコルを使用することができる。すなわち、HTTPクライアントとしてのSinkはHTTP GETリクエストを用いてコンテンツを要求し、これに対し、HTTPサーバとしてのSourceはHTTP GETレスポンスを用い、コンテンツ選択フェーズで選択されたコンテンツのMOVE伝送を行なうことができる。GETは、特定のURIから情報を取得する際に、リクエストとして送信するHTTPメソッドである(周知)。   When the AKE procedure for MOVE transmission is successfully completed, a content transfer (MOVE transmission) procedure is subsequently started. When the content is moved from the source by the user operation on the sink side, the source operates as an HTTP server and the sink operates as an HTTP client, and download MOVE transmission may be performed using the HTTP protocol. For the transmission of the content data entity itself, INCREMENTAL MOVE and BLOCK MOVE can be performed in the same manner, but in either case, the HTTP protocol can be used. That is, a sink as an HTTP client requests content using an HTTP GET request, whereas a source as an HTTP server can perform a MOVE transmission of content selected in the content selection phase using an HTTP GET response. it can. GET is an HTTP method that is transmitted as a request when information is acquired from a specific URI (well-known).

図28には、HTTPプロトコルを用いてコンテンツをダウンロードMOVE伝送する場合の動作シーケンスを例示している。例えば図27に示したMOVE RTT−AKE手続が無事に完了すると、HTTPクライアントとして動作するSinkは、HTTP GETリクエストを送信することによって、MOVE伝送プロセスを初期化する。   FIG. 28 exemplifies an operation sequence in the case of download MOVE transmission of contents using the HTTP protocol. For example, when the MOVE RTT-AKE procedure shown in FIG. 27 is successfully completed, the Sink operating as an HTTP client initializes the MOVE transmission process by transmitting an HTTP GET request.

HTTPプロトコルを用いてコンテンツをダウンロードMOVE伝送するとき、Sourceは、E−EMIのモードをC1(すなわちMOVEモード(表1を参照のこと))に設定する。Sinkは、C1以外のE−EMIモードを受け取ったときには、受信したコンテンツをMOVE対象として扱わない。   When the content is downloaded and transferred using the HTTP protocol, the Source sets the E-EMI mode to C1 (that is, the MOVE mode (see Table 1)). When the sink receives an E-EMI mode other than C1, the sink does not handle the received content as a move target.

Sinkは、HTTPのGETリクエストのヘッダに“MOVE.dtcp.com:<KxM_label>”(若しくは、“MOVE.dtcp.com”ではなく“BLKMOVE.dtcp.com”)というヘッダ情報を設定したHTTP GETリクエストを送信して、ダウンロードMOVE伝送を開始する。Sourceは、このヘッダ情報を検知したら、リクエストされたコンテンツを鍵IDであるKxM_labelに対応するMOVE用の鍵KXMから得た暗号鍵Kcで暗号化し、E−EMIをC1に設定してGETレスポンスとして伝送する。 Sink is an HTTP GET request in which the header information of “MOVE.dtcp.com: <KxM_label>” (or “BLKMOVE.dtcp.com” instead of “MOVE.dtcp.com”) is set in the header of the HTTP GET request. To start download MOVE transmission. Source, this Upon detecting the header information, encrypted with the encryption key K c obtained from the key K XM for MOVE corresponding to K xM _label the key ID of the requested content, set the E-EMI to C1 And transmitted as a GET response.

図14A及び図14Bには、HTTPサーバとしてのSourceからHTTPクライアントとしてのSinkへコンテンツをダウンロードMOVE伝送する場合のSource及びSinkがそれぞれ実行する処理動作をフローチャートの形式でまとめている。   In FIG. 14A and FIG. 14B, processing operations executed by the source and sink when the content is downloaded and transferred from the source as the HTTP server to the sink as the HTTP client are summarized in the form of a flowchart.

Sinkは、HTTPサーバとして動作するSourceを発見して、そこからコンテンツをMOVEすることを選択すると(ステップS21)、当該Source宛てにCDS::Browse requestを送信し(ステップS22)、Sourceからのレスポンスを待機する(ステップS23)。   When the sink finds a source that operates as an HTTP server and chooses to move the content from the source (step S21), it sends a CDS :: Browse request to the source (step S22), and a response from the source. (Step S23).

Source側では、SinkからのCDS::Browse request又はその他のリクエストの受信を待機しており(ステップS1)、当該リクエストを受信すると、Sinkに対してCDS::Browse responseを返信し(ステップS2)、MOVE用のAKE要求を受信するまで待機する(ステップS3)。   The source side waits for reception of CDS :: Browse request or other request from the sink (step S1), and when receiving the request, returns CDS :: Browse response to the sink (step S2). And waits until an AKE request for MOVE is received (step S3).

Sinkは、SourceからのCDS::Browse responseによってコンテンツ一覧を引き取ると、MOVEしようとするコンテンツを決定するとともに(ステップS24)、Sourceに対してMOVE用のAKE処理を要求する(ステップS25)。   When the sink retrieves the content list by CDS :: Browse response from the source, the sink determines the content to be moved (step S24), and requests the AKE processing for the move from the source (step S25).

そして、SinkとSource間では、MOVE用のAKE手続きが開始され、互いにMOVE用のAKE処理を実行する(ステップS4、S26)。MOVE用のAKEの認証に成功すると(ステップS5、S27)、SourceはMOVE用の鍵と鍵IDを生成してSinkに送信し(ステップS6)、SinkはSourceからMOVE用の鍵と鍵IDを受信する(ステップS28)。但し、SourceとSink間でMOVE用のAKEの認証に失敗すると、SourceとSinkはともに、後続の処理をすべてスキップして、本処理ルーチン全体を終了する。   Then, the AKE procedure for MOVE is started between the sink and the source, and the AKE process for the move is mutually executed (steps S4 and S26). When the AKE authentication for the move is successful (steps S5 and S27), the source generates a move key and key ID and sends it to the sink (step S6), and the sink receives the move key and key ID from the source. Receive (step S28). However, when the AKE authentication for the move fails between the source and the sink, both the source and the sink skip all subsequent processes and end the entire processing routine.

Sinkは、MOVE用AKE手続きを成功裏に終えると、 “MOVE.dtcp.com:<KxM_label>”(若しくは、“MOVE.dtcp.com”ではなく“BLKMOVE.dtcp.com”)というヘッダ情報を伴った、HTTP GETリクエストを送信する(ステップS29)。   When Sink has successfully completed the AKE procedure for MOVE, Sink is accompanied by header information “MOVE.dcp.com: <KxM_label>” (or “BLKMOVE.dcp.com” instead of “MOVE.dcp.com”). In addition, an HTTP GET request is transmitted (step S29).

Sourceは、SinkからMOVE用ヘッダを伴うHTTP GETリクエストを受信すると(ステップS7)、当該リクエストで要求されているコンテンツが他のSinkに対してMOVEしている最中かどうかをチェックする(ステップS8)。そして、MOVE伝送中であれば、エラー応答をSinkに返す(ステップS15)。   When the source receives an HTTP GET request with a move header from the sink (step S7), the source checks whether the content requested by the request is being moved to another sink (step S8). ). If MOVE transmission is in progress, an error response is returned to the sink (step S15).

Sink側では、SourceからのHTTP GETレスポンスの受信を待機する(ステップS30)。この受信待機中に、要求したコンテンツをMOVEできない旨のエラー応答をSourceから受信すると(ステップS31)、ここで本処理ルーチン全体を終了する。   The sink side waits for reception of an HTTP GET response from the source (step S30). If an error response indicating that the requested content cannot be moved is received from the source during the reception standby (step S31), the entire processing routine is terminated here.

また、Sourceは、SinkからMOVE要求されているコンテンツが他のSinkに対してMOVE伝送中ではなく、当該Sinkに対してMOVE伝送することができるときには、当該コンテンツに対して「MOVE伝送中」フラグをセットしてから(ステップS9)、当該コンテンツをMOVE用の鍵を用いて暗号化して、要求元Sink宛てに送信する(ステップS10)。「MOVE伝送中」フラグをセットすると、当該コンテンツはロック状態となる。そして、暗号化コンテンツの伝送処理を終了すると、SinkからのMOVE終了処理の要求の受信を待機する(ステップS11)。   In addition, when the content requested to be moved from the sink is not being moved to another sink, and the source can be moved to the sink, the “move transmission” flag is set for the content. Is set (step S9), the content is encrypted using the key for MOVE, and transmitted to the request source Sink (step S10). When the “MOVE transmission in progress” flag is set, the content is locked. When the encrypted content transmission process is completed, the mobile terminal waits to receive a move completion process request from the sink (step S11).

Sinkは、Sourceから暗号化コンテンツを成功裏にダウンロードすることができたならば(ステップS32)、Sourceに対してMOVE終了処理の要求を送信する(ステップS33)。そして、SourceとSinkは、それぞれMOVE終了処理手続きを実行して(ステップS12、S34)、Sink側でコンテンツを有効化するとともに、Source側の元のコンテンツを削除する。Source及びSink間におけるMOVE伝送終了処理手続きの動作シーケンスの詳細については後述に譲る。   If the sink is able to successfully download the encrypted content from the source (step S32), the sink sends a move end processing request to the source (step S33). Then, the source and the sink respectively execute the move end processing procedure (steps S12 and S34), validate the content on the sink side, and delete the original content on the source side. Details of the operation sequence of the MOVE transmission end processing procedure between the source and sink will be described later.

そして、SourceとSinkは、MOVE終了処理手続きを完了すると(ステップS13、S35)、いずれもMOVE用の鍵と鍵IDを破棄して(ステップS14、S36)、本処理ルーチン全体を終了する。   Then, when the source and sink complete the move end processing procedure (steps S13 and S35), both discard the move key and key ID (steps S14 and S36) and end the entire processing routine.

図14A及び図14Bに示したダウンロードMOVE処理手続きの期間中、MOVE対象となるコンテンツを他のSinkからMOVE要求できないようにロックして、多重MOVEの発生を防止する。ダウンロードによりMOVEを行なう場合、Sourceはサーバに相当するが、保持する個々のコンテンツについてMOVE伝送中であるかどうかを、例えば下記の表2に示すようなテーブルを使って管理する。同表では、コンテンツを特定するURIと、それがMOVE伝送中かどうかを示すフラグを関係付けて、コンテンツの状態を確認することができるようになっている。また、Sourceは、ダウンロードによりコンテンツのMOVEを要求する他のSinkに対して、CDS::Browse responseでMOVE伝送中のコンテンツについては存在を示さないことで、混乱を防止することができる(視聴途中でのMOVE完了による伝送中断など)。   During the download MOVE processing procedure shown in FIGS. 14A and 14B, the content to be moved is locked so that a move cannot be requested from another sink, thereby preventing the occurrence of multiple moves. When MOVE is performed by downloading, Source corresponds to a server, but manages whether or not each content to be held is being subjected to MOVE transmission using, for example, a table as shown in Table 2 below. In the table, the URI of the content can be associated with the flag indicating whether the move is being transmitted, and the state of the content can be confirmed. In addition, the source can prevent confusion by not indicating the existence of the content that is being moved in the CDS :: Browse response to other sinks that request the move of the content by downloading. Transmission interruption due to MOVE completion at the time).

また、Sinkは、BLOCK MOVEモードでダウンロードMOVE伝送処理が行なわれている期間中は、コンテンツはまだ有効化されていないので、リアルタイムでレンダリングする以外の目的で受信したコンテンツを利用することはできない。リアルタイム・レンダリングの仕組みについては、図7を参照しながら既に説明したので、ここでは説明を省略する。   In addition, since the content is not yet valid during the period in which the download MOVE transmission process is performed in the BLOCK MOVE mode, the sink cannot use the content received for the purpose other than rendering in real time. Since the real-time rendering mechanism has already been described with reference to FIG. 7, the description thereof is omitted here.

なお、MOVE用AKE手続き並びにコンテンツ移動(MOVE)手続きの期間中には、MOVE伝送を途中で取り止めるCancelやAbortといった中断処理が起動することがあるが、この点の詳細については後述に譲る。   Note that during the period of the AKE procedure for MOVE and the content transfer (MOVE) procedure, an interruption process such as Cancel or Abort that cancels the MOVE transmission may be activated. Details of this point will be described later.

SinkがHTTPプロトコルのGETリクエストにより、選択したSourceから所望のコンテンツを成功裏にダウンロードすることができたならば、SinkとSource間でコンテンツ伝送が無事に終了したことの確認すなわちCommitmentを行なうためのMOVE終了処理手続きを実施する。この終了処理では、Sink側ではこのダウンロードしたコンテンツを有効化すると同時に、Source側では元のコンテンツの削除を行なう。また、SinkとSourceはそれぞれ、コンテンツ伝送に使用した交換鍵の削除を行なう。BLOCK MOVEモードでは、このようなCommitmentを実施することで、コンテンツ全体を一括してSourceとSink間で移動することと等価なMOVE処理を実現することができる。BLOCK MOVEも、SourceとSinkで同じコンテンツが二重に存在することはないから、DTCPで規定されている条件を満たしたコンテンツのMOVE処理であると言える。   If Sink can successfully download the desired content from the selected source using the HTTP protocol GET request, it confirms that the content transmission between Sink and Source has been completed successfully, that is, to execute a commitment. The MOVE end processing procedure is executed. In this termination process, the downloaded content is validated on the sink side and the original content is deleted on the source side. In addition, each of the sink and source deletes the exchange key used for content transmission. In the BLOCK MOVE mode, by executing such a commitment, a move process equivalent to moving the entire contents between the source and the sink can be realized. BLOCK MOVE is also a MOVE process for content that satisfies the conditions defined by DTCP, because the same content does not exist twice in Source and Sink.

図11には、Source及びSink間でMOVE終了処理手続きを実行する動作シーケンスを示している。図示の動作シーケンスは、図14Bに示したフローチャートのステップS12並びにS34において実施される。   FIG. 11 shows an operation sequence for executing the move end processing procedure between the source and the sink. The illustrated operation sequence is performed in steps S12 and S34 of the flowchart shown in FIG. 14B.

Sinkは、MOVE対象となるコンテンツを無事に受信し終えると、Sourceからレスポンスを受け取るまで、MOVE終了処理用コマンドCMD1(若しくはMV_FINALIZEコマンド)を送信し続ける。   When the sink has successfully received the content to be moved, it continues to transmit the move end processing command CMD1 (or MV_FINALIZE command) until a response is received from the source.

一方、Sourceは、MOVE終了処理用コマンドCMD1を受信すると、MOVE終了処理用レスポンスRSP1を返信する。また、Sourceは、有効状態(Valid)であった元のコンテンツを、中間的(interim)な無効状態(Invalid)に遷移させる。   On the other hand, when the source receives the move end processing command CMD1, the source returns a move end processing response RSP1. In addition, the Source transitions the original content that has been in the valid state (Valid) to an intermediate invalid state (Invalid).

Sinkは、受信したRSP1において、Sourceが既にMOVE処理手続を終了していると記載されていれば、同様にMOVE処理手続を終了する。これに伴って、SourceからMOVEしたコンテンツを無効状態から有効状態に遷移させる。   If the sink is described in the received RSP1 that the source has already finished the move processing procedure, the sink similarly ends the move processing procedure. Along with this, the content moved from the source is transitioned from the invalid state to the valid state.

続いて、Sinkは、Sourceからレスポンスを受け取るまで、次のMOVE終了処理用コマンドCMD2(若しくは、MV_COMPLETEコマンド)を送信し続ける。これに対し、Sourceは、元のコンテンツを中間的な無効状態から完全な無効状態に遷移させてから、MOVE終了処理用レスポンスRSP2を返信する。   Subsequently, the sink continues to transmit the next move end processing command CMD2 (or MV_COMPLETE command) until a response is received from the source. On the other hand, the source changes the original content from the intermediate invalid state to the complete invalid state, and then returns a response RSP2 for move end processing.

図18には、図11に示したダウンロードMOVE伝送終了シーケンス上でSink及びSourceがそれぞれ実施する処理内容をフローチャートの形式で具体的に示している。   FIG. 18 specifically shows, in the form of a flowchart, the contents of processing performed by Sink and Source on the download move transmission end sequence shown in FIG.

Sink側では、まず乱数Rを生成し(ステップS81)、この乱数Rに対し所定の演算処理を適用して、メッセージ・ダイジェストMAC5A及びMAC6Aを計算する。MAC5AはSourceに渡す値、MAC6AはSourceから返されることが期待される値である。MAC5A及びMAC6Aの計算式は、例えば以下の通りである。この計算には、KxM_labelに対応するKxMが使用される。 On the sink side, first, a random number R is generated (step S81), and predetermined arithmetic processing is applied to the random number R to calculate the message digests MAC5A and MAC6A. MAC5A is a value passed to the source, and MAC6A is a value expected to be returned from the source. The calculation formulas of MAC5A and MAC6A are, for example, as follows. For this calculation, K xM corresponding to K xM _label is used.

続いて、Sinkは、鍵IDであるKxM_labelと乱数R、MAC5A、MAC6A、MOVEしたコンテンツのID、SourceのIDを不揮発的に格納する(ステップS82)。これらのデータを不揮発的に格納しておくことにより、電源遮断などによりコンテンツ伝送終了処理が途切れても、再開処理が可能となり、SinkとSourceの双方でコンテンツが無効になることを避けることができる。 Subsequently, Sink is a key ID K xM _label and the random number R, MAC5A, MAC6A, MOVE the ID of the content, a nonvolatile manner stores an ID Source (step S82). By storing these data in a non-volatile manner, even if the content transmission end processing is interrupted due to power interruption or the like, the restart processing can be performed, and it can be avoided that the content becomes invalid in both the sink and the source. .

そして、Sinkは、KxM_labelと乱数R、MAC5Aを含んだMOVE終了用コマンドCMD1(若しくは、MV_FINALIZEコマンド)をSourceに送信する。Sinkは、Sourceからレスポンスを受け取るまでは、受信タイムアウトが発生する度にCMD1を送信し続ける(ステップS83)。 Then, Sink transmits K xM _label and the random number R, MOVE termination command CMD1 containing MAC5A (or, MV_FINALIZE command) to the Source. Sink continues to send CMD1 every time a reception timeout occurs until a response is received from the Source (step S83).

一方、Sourceは、MOVE用コマンドCMD1を受け取ると、これに含まれる乱数Rに対し所定の演算処理(同上)を適用して、メッセージ・ダイジェストMAC5B及びMAC6Bを計算する。MAC6BはSinkに渡す値、MAC5BはSinkから得られることが期待される値である。そして、Sourceは、CMD1に含まれるMAC5Aと、自ら求めたMAC5Bを照合して、コマンドの真正性をチェックする(ステップS91)。このチェックに失敗したときには、コンテンツ伝送終了処理を中止(Abort)する。但し、Sourceは自身のソケット情報が途中で変化したことが原因でSinkがCMD1の送信先を誤った可能性がある場合は、処理を中止せずにCMD1を待ち続けても良い。   On the other hand, when the source receives the move command CMD1, the source applies a predetermined arithmetic process (same as above) to the random number R included therein to calculate the message digests MAC5B and MAC6B. MAC6B is a value passed to the sink, and MAC5B is a value expected to be obtained from the sink. Then, the source checks the authenticity of the command by collating the MAC 5A included in the CMD1 with the MAC 5B obtained by itself (step S91). If this check fails, the content transmission end process is aborted (Abort). However, the source may continue to wait for CMD1 without stopping the process if there is a possibility that the sink has misdirected the destination of CMD1 due to the change of its socket information in the middle.

また、Sourceは、真正性のチェックに成功したときには、鍵IDであるKxM_labelとMAC6B、MOVEしたコンテンツのIDを不揮発的に格納する(ステップS92)。これらのデータを不揮発的に格納しておくことにより、電源遮断などによりコンテンツ伝送終了処理が途切れても、再開処理が可能となり、SinkとSourceの双方でコンテンツが無効になることを避けることができる(同上)。 Further, when the authenticity check is successful, the source stores the key ID KxM_label, the MAC 6B, and the ID of the moved content in a nonvolatile manner (step S92). By storing these data in a non-volatile manner, even if the content transmission end processing is interrupted due to power interruption or the like, the restart processing can be performed, and it can be avoided that the content becomes invalid in both the sink and the source. (Id.)

そして、Sourceは、有効状態であった元のコンテンツを、中間的な無効状態に遷移させてから(ステップS93)、CMD1を受理したこと(Accepted)を示すMOVE終了処理用レスポンスRSP1を返信する。   Then, after transitioning the original content that was in the valid state to an intermediate invalid state (step S93), the Source returns a MOVE end process response RSP1 indicating that CMD1 has been accepted (Accepted).

Sinkは、SourceからMOVE終了処理用レスポンスRSP1を受信すると、CMD1が拒絶(Rejected)されていないかどうかをチェックする(ステップS84)。RSP1がAcceptedを示している場合には、さらにRSP1に含まれるMAC6Bが自ら保持しているMAC6Aと一致するかどうかをチェックする(ステップS85)。そして、これらのチェックに成功すると、SourceからMOVEしたコンテンツを無効状態から有効状態に遷移させる(ステップS86)。   When the sink receives the move completion processing response RSP1 from the source, the sink checks whether the CMD1 has been rejected (step S84). When RSP1 indicates Accepted, it is further checked whether or not the MAC 6B included in the RSP 1 matches the MAC 6A held by itself (step S85). If these checks are successful, the content moved from the source is transitioned from the invalid state to the valid state (step S86).

続いて、Sinkは、鍵IDであるKxM_labelを含んだMOVE終了用コマンドCMD2(若しくは、MV_COMPLETEコマンド)をSourceに送信する。Sinkは、Sourceからレスポンスを受け取るまでは、受信タイムアウトが発生する度にCMD2を送信し続ける(ステップS87)。 Subsequently, Sink transmits containing K xM _label the key ID MOVE termination command CMD2 (or, MV_COMPLETE command) to the Source. Sink continues to send CMD2 every time a reception timeout occurs until a response is received from the Source (step S87).

Sourceは、MOVE終了処理用コマンドCMD2を受信すると、これに含まれるKxM_labelに対応するデータを削除する(ステップS94)。ここで言うデータとは、ステップS92で不揮発的に格納しておいたKxM_labelとMAC6B、MOVEしたコンテンツのIDのことである。そして、Sourceは、MOVE終了処理用レスポンスRSP2を返信する。 Source receives the MOVE finalizing command CMD2, deletes the data corresponding to the K xM _label contained therein (step S94). Here, the term data refers to a non-volatile manner store and keep the K xM _label and MAC6B, ID of content that MOVE in step S92. Then, the Source returns a MOVE end process response RSP2.

Sinkは、MOVE終了処理用レスポンスRSP2を受信すると、これに含まれるKxM_labelに対応するデータを削除する(ステップS88)。ここで言うデータとは、ステップS82で不揮発的に格納しておいたKxM_labelと乱数R、MAC5A、MAC6A、コンテンツのID、SourceのIDのことである。 Sink receives the MOVE finalizing response RSP2, deletes the data corresponding to the K xM _label contained therein (step S88). The data here is that of a non-volatile manner store and keep the K xM _label and the random number R, MAC5A, MAC6A, ID of the content, Source of ID at step S82.

ダウンロードMOVE伝送が終了した後にSink側でコンテンツを有効化する方法は特に限定されない。有効化すると、Sink内のコンテンツ記録ブロックでNo More Copiesとして符号化して記録されたコンテンツの利用が可能となる(例えば、記録時に適用した暗号の解除が可能となる)。この結果、コンテンツ再生ブロック31に符号化コンテンツを供給して、ビデオ及びオーディオ信号に変換(rendering)して、ディスプレイなどのAV出力部から映像並びに音響出力することができる。また、Sinkは、今度はSourceとしてさらに別のSinkに対して、No more Copiesコンテンツを上述と同様にダウンロード形式でMOVEしたり、あるいは後述するアップロード形式でMOVEしたりすることもできる。   The method for validating the content on the sink side after the download move transmission is completed is not particularly limited. When enabled, it is possible to use the content recorded by encoding as No More Copies in the content recording block in the sink (for example, the encryption applied at the time of recording can be released). As a result, the encoded content can be supplied to the content reproduction block 31 and rendered into video and audio signals, and video and audio can be output from an AV output unit such as a display. In addition, the sink can move the No More Copies content in the download format as described above or the upload format described later to another sink as a source.

また、ダウンロードMOVE伝送が終了した後にSource側で元のコンテンツを削除する方法も特に限定されない。コンテンツを格納したハード・ディスクなどの記録媒体からコンテンツ・データのエンティティ自体を削除する以外に、符号化(暗号化)して記録されているコンテンツのエンティティは残すが復号鍵を再び使用できないようにするのであってもよい。   Also, there is no particular limitation on the method of deleting the original content on the source side after the download move transmission is completed. In addition to deleting the content data entity itself from the recording medium such as a hard disk storing the content, the content entity recorded by encoding (encrypting) remains but the decryption key cannot be used again. You may do.

ここで、SourceからSinkへコンテンツのエンティティが成功裏にダウンロードMOVE伝送されたにも拘らず、一方の機器の電源遮断などにより図11に示したダウンロードMOVE伝送の終了処理シーケンスが途切れてしまう可能性がある。このような場合、ダウンロードMOVE伝送の終了処理の中断(interrupted)によって、Source及びSinkの双方において移動したコンテンツを利用できなくなるおそれがある。そこで、本実施形態に係るコンテンツ伝送システムでは、このような事態に備えて、コンテンツ伝送終了処理を再開するための処理手続きを設けて、Comminmentを無事に終了させるようにしている。この再開手続きによって、コンテンツ伝送手続きが無駄にならずに済むとともに、SinkとSourceの双方でコンテンツが無効になることを避けることができる。   Here, there is a possibility that the end processing sequence of the download move transmission shown in FIG. 11 may be interrupted due to the power-off of one device even though the content entity is successfully downloaded move transmitted from the source to the sink. There is. In such a case, there is a possibility that the content moved in both the Source and the Sink cannot be used due to the interruption of the termination process of the download MOVE transmission (interrupted). Therefore, in the content transmission system according to the present embodiment, in preparation for such a situation, a processing procedure for resuming the content transmission end process is provided so that the commitment can be ended safely. By this restart procedure, the content transmission procedure is not wasted, and it is possible to prevent the content from becoming invalid in both the sink and the source.

ダウンロードMOVE伝送の終了処理の再開を可能にするために、Sink及びSourceの各々では、ダウンロードMOVE伝送の終了処理を開始する際に、NVRAMなどの不揮発性メモリを用いて、再開処理に必要となるデータを保存するようにしている。Sink側では、CMD1すなわちMV_FINALIZEコマンドを発行する際に、そのコマンドで送信するKXM_lable、乱数R、MAC5A、さらにMAC6A、ダウンロードMOVEしたコンテンツのID(CDSのオブジェクトIDに相当)、SourceのID(UPnP(登録商標)のUUIDに相当)を不揮発的に格納する(図18中のステップS82を参照)。一方、Source側では、鍵IDであるKxM_labelとMAC5B、MAC6Bを不揮発的に格納する(図18中のステップS92を参照)。再開処理は、基本的にはSink側が起動する。 In order to enable resumption of the end process of download MOVE transmission, each of Sink and Source is required for the resumption process using a nonvolatile memory such as NVRAM when starting the end process of download MOVE transmission. The data is saved. In Sink side, when issuing CMD1 That MV_FINALIZE command, K XM _lable to be transmitted in the command, the random number R, MAC5A, further MAC6A, (corresponding to CDS object ID) downloaded MOVE the ID of the content, Source of ID ( UPnP (registered trademark) UUID) is stored in a nonvolatile manner (see step S82 in FIG. 18). Meanwhile, the Source side stores K xM _label and MAC5B the key ID, and MAC6B in a nonvolatile manner (see step S92 in FIG. 18). The resumption process is basically started on the sink side.

Sinkは、UPnP Device Architectureで規定されているUUIDを記憶しておくことにより、CDS処理のクエスト先であるSourceを発見することが可能であり、また、UPnP AV CDS2で規定されているObject IDを記憶しておくことにより、MOVE対象コンテンツを指定することが可能である。そして、中断したMOVE処理を再開する際、Sinkは、最初にコンテンツを選択するときと同様にUPnP(登録商標)のCDSの処理をすることで、MOVE対象となるコンテンツに対するソケット情報を得ることができる。例えばSourceが電源遮断して、再開時にそのIPアドレスが変更してしまっても問題はない。   By storing the UUID specified in UPnP Device Architecture, Sink can discover the source that is the quest destination of the CDS process, and the Object ID specified in UPnP AV CDS2 By storing the contents, it is possible to specify the contents to be moved. Then, when resuming the interrupted MOVE processing, the sink can obtain socket information for the content to be moved by performing UPnP (registered trademark) CDS processing in the same manner as when content is first selected. it can. For example, there is no problem even if the source is shut down and the IP address is changed at the time of restart.

Sinkは、MOVE対象コンテンツのソケット情報を得ると、続いて、該当するSourceとのTCPコネクションを確立する。図29には、MOVE伝送終了処理を再開する際に、Sink及びSource間でTCPコネクションを確立するための処理手順をフローチャートの形式で示している。   When the sink obtains the socket information of the content to be moved, it subsequently establishes a TCP connection with the corresponding source. FIG. 29 shows, in the form of a flowchart, a processing procedure for establishing a TCP connection between a sink and a source when resuming the move transmission end process.

Sinkは、不揮発に記憶しているSourceID(UUID)を1つ選択すると(ステップS131)、UPnPのデバイス発見のプロトコル(SSDP)により、同じUUIDを持つ機器が存在するかどうかをチェックする(ステップS132)。ここで、同じUUIDを持つ機器が存在しなければ、後続の処理をすべてスキップして、本処理ルーチン全体を終了する。   When the sink selects one source ID (UUID) stored in a nonvolatile manner (step S131), the sink checks whether there is a device having the same UUID using the UPnP device discovery protocol (SSDP) (step S132). ). Here, if there is no device having the same UUID, all subsequent processing is skipped, and the entire processing routine is terminated.

一方、同じUUIDを持つ機器が存在する場合には(ステップS132のYes)、その機器に対してCDS::BrowseリクエストをObject ID指定付きで送信する(ステップS133)。   On the other hand, if a device having the same UUID exists (Yes in step S132), a CDS :: Browse request is transmitted to the device with an Object ID specified (step S133).

Sourceは、SinkからCDS::Browseリクエストを受信すると(ステップS141)、該当するコンテンツについてコンテンツ伝送終了処理が完了していない旨の情報を含んだCDS::Browseレスポンスを返信する(ステップS142)。   When the source receives the CDS :: Browse request from the sink (step S141), the source returns a CDS :: Browse response including information indicating that the content transmission end processing has not been completed for the corresponding content (step S142).

なお、コンテンツ伝送終了処理が完了していないということは、例えばコンテンツがMovableであることを示す属性情報を含めない、あるいはHTTP GETリクエストを送るべきURLを含めない、MOVE処理を実行中という属性情報を含める、といった方法で示すことができる。   Note that content transmission end processing is not completed means that, for example, attribute information indicating that the content is movable is not included, or URL information to which an HTTP GET request is not included is included, and attribute information indicating that the move processing is being executed It can be shown by the method of including.

そして、Sinkは、CDS::Browseレスポンスを受信すると(ステップS134)、当該メッセージに含まれるソケット情報を参照して、CMD1、CMD2などのAKEコマンド用のTCPコネクションを確立する(ステップS135)。   When the sink receives the CDS :: Browse response (step S134), it refers to the socket information included in the message and establishes a TCP connection for AKE commands such as CMD1 and CMD2 (step S135).

Sinkは、このようにしてAKEコマンド用のTCPコネクションを確立すると、不揮発的に格納しておいた鍵IDであるKxM_labelと乱数R、MAC5Aを参照して、CMD1(MV_FINALIZEコマンド)又はCMD2(MV_COMPLETEコマンド)をSourceに送信する。これに対し、Sourceは、同様に不揮発的に格納しておいたKxM_labelとMAC6Bを用いてCMD1に対するレスポンスRSP1又はCMD2に対するレスポンスRSP2を返す。これによって、SinkとSource間のダウンロードMOVE伝送の終了処理を完結することができる。 Sink, when establishing a TCP connection for this way AKE command, a key ID that has been stored in a nonvolatile manner K xM _label and the random number R, with reference to MAC5A, CMD1 (MV_FINALIZE command) or CMD2 ( MV_COMPLETE command) is sent to the source. In contrast, Source returns a response RSP2 for response RSP1 or CMD2 for CMD1 similarly using K xM _label and MAC6B that has been stored in a nonvolatile manner. As a result, the end processing of the download move transmission between the sink and the source can be completed.

図19には、図11並びに図18に示したダウンロードMOVE伝送の終了処理シーケンスが何らかの原因により中断(interrupted)した後、SourceがSinkからMOVE終了処理用コマンドCMD1を受け取ったときの処理手順をフローチャートの形式で示している。   FIG. 19 is a flowchart showing a processing procedure when the source receives the move end processing command CMD1 from the sink after the download move transmission end processing sequence shown in FIG. 11 and FIG. 18 is interrupted for some reason. It is shown in the form of

Sourceは、MOVE終了処理用コマンドCMD1に含まれるKxM_labelを自分が不揮発的に格納しているかどうかをチェックする(ステップS101)。 The source checks whether or not it stores K xM_label included in the move end processing command CMD1 in a nonvolatile manner (step S101).

ここで、KxM_labelを保持していないときには、Sourceは既に該当するコンテンツ伝送終了処理を完了しているか、又はCMD1が自分とは無関係であることが想定されるので、当該コマンドを拒絶すること(Rejected)を示すMOVE終了処理用レスポンスRSP1を返す(ステップS104)。 Here, when K xM _label is not held, it is assumed that the Source has already completed the corresponding content transmission end processing, or CMD1 is irrelevant to itself, and therefore rejects the command. A MOVE end process response RSP1 indicating (Rejected) is returned (step S104).

一方、KxM_labelを保持しているときには、該当するコンテンツ伝送終了処理が中断していたことになるので、Sourceは、CMD1内のコンテンツIDで示される元のコンテンツを中間的な無効状態に遷移させてから(ステップS102)、CMD1を受理したこと(Accepted)を示すMOVE終了処理用レスポンスRSP1を返信する(ステップS103)。このようにして、中断したMOVE終了処理をHTTPサーバとして動作するSourceにおいて再開することができる。 On the other hand, when K xM _label is held, the corresponding content transmission end process has been interrupted, so the Source transitions the original content indicated by the content ID in CMD1 to an intermediate invalid state. Then (step S102), a response RSP1 for MOVE end processing indicating that CMD1 has been accepted (Accepted) is returned (step S103). In this way, the interrupted MOVE end process can be resumed at the source operating as the HTTP server.

また、図20には、図11並びに図18に示したダウンロードMOVE伝送の終了処理シーケンスが何らかの原因により中断(interrupted)した後、SourceがSinkからMOVE終了処理用コマンドCMD2を受け取ったときの処理手順をフローチャートの形式で示している。   Also, FIG. 20 shows a processing procedure when the Source receives the MOVE end processing command CMD2 from the Sink after the download MOVE transmission end processing sequence shown in FIGS. 11 and 18 is interrupted for some reason. Is shown in the form of a flowchart.

Sourceは、MOVE終了処理用コマンドCMD2に含まれる鍵IDであるKxM_labelを自分が不揮発的に格納しているかどうかをチェックする(ステップS111)。 The source checks whether or not it stores K xM _label, which is a key ID included in the move end processing command CMD2, in a nonvolatile manner (step S111).

ここで、KxM_labelを保持しているときには、該当するコンテンツ伝送終了処理が中断していたことになるので、Sourceは、KxM_labelに対応付けて格納されているデータ(すなわち、MAC6B、MOVEしたコンテンツのID)を削除し(ステップS112)、CMD2を受理したこと(Accepted)を示すMOVE終了処理用レスポンスRSP2を返信する(ステップS113)。 Here, when K xM _label is held, the corresponding content transmission end processing has been interrupted, so that the Source is stored in association with K xM _label (ie, MAC 6B, MOVE). (Step S112), and returns a MOVE end process response RSP2 indicating that CMD2 has been accepted (Accepted) (Step S113).

一方、KxM_labelを保持していないときには、Sourceは既に該当するコンテンツ伝送終了処理を完了しているか、又はCMD2が自分とは無関係であることが想定されるので、ステップS112をスキップし、CMD2を受理したこと(Accepted)を示すMOVE終了処理用レスポンスRSP2を返信する(ステップS113)。このようにして、中断したMOVE終了処理をHTTPサーバとして動作するSourceにおいて再開することができる。 On the other hand, when K xM _label is not held, it is assumed that the source has already completed the corresponding content transmission end processing or CMD2 is irrelevant to itself, so step S112 is skipped, and CMD2 A response RSP2 for MOVE end processing indicating that it has been accepted (Accepted) is returned (step S113). In this way, the interrupted MOVE end process can be resumed at the source operating as the HTTP server.

また、図21には、図11並びに図18に示したダウンロードMOVE伝送の終了処理シーケンスが何らかの原因により中断(interrupted)した後、SinkがMOVE終了処理を再開させるための処理手順をフローチャートの形式で示している。   Further, FIG. 21 shows, in the form of a flowchart, a processing procedure for allowing Sink to resume the MOVE end process after the download MOVE transmission end process sequence shown in FIGS. 11 and 18 is interrupted for some reason. Show.

Sinkは、ステップS82において不揮発的に格納したデータ、すなわち鍵IDであるKxM_labelと乱数R、MAC5A、MAC6A、コンテンツID、SourceIDが存在していることを検出すると(ステップS121)、これはコンテンツ伝送終了処理が中断して、SourceとのCommitmentが完了せずに、これらのデータが消去されずに残っていることが分かる。 Sink is nonvolatile manner the data stored in the step S82, the i.e. the key ID K xM _label and the random number R, MAC5A, MAC6A, a content ID, when it is detected that the SourceID is present (step S121), this content It can be seen that the transmission end process is interrupted, the commitment with the source is not completed, and these data remain without being erased.

この場合、コンテンツ伝送終了処理を再開するために、該当するSourceとのTCPコネクションを確立する(ステップS122)。   In this case, in order to resume the content transmission end process, a TCP connection with the corresponding source is established (step S122).

そして、コンテンツIDで示されるコンテンツが無効状態かどうかをチェックする(ステップS123)。   Then, it is checked whether or not the content indicated by the content ID is in an invalid state (step S123).

コンテンツが無効状態のままであれば(ステップS123のYes)、SourceからMOVE終了処理用レスポンスRSP1を受け取る前にコンテンツ伝送終了処理が中断したことになるので、図18に示したフローチャートの#1にジャンプして(ステップS124)、SourceとのCommitmentを開始する。   If the content remains in an invalid state (Yes in step S123), the content transmission end processing is interrupted before receiving the MOVE end processing response RSP1 from the source. Therefore, the process proceeds to # 1 of the flowchart shown in FIG. Jump (step S124) and start a commitment with the source.

コンテンツが既に有効状態となっていれば(ステップS123のNo)、SourceからCommitmentを得た後でMOVE終了処理用レスポンスRSP2を受け取る前にコンテンツ伝送終了処理が中断したことになるので、図18に示したフローチャートの#2にジャンプして(ステップS125)、Sourceに対するMOVE終了処理用コマンドCMD2の送信を行なう。このようにして、中断したMOVE終了処理をHTTPクライアントとして動作するSinkにおいて再開することができる。   If the content is already in a valid state (No in step S123), the content transmission end processing is interrupted before the MOVE end processing response RSP2 is received after obtaining the commitment from the source. The process jumps to # 2 of the flowchart shown (step S125), and the move end processing command CMD2 is transmitted to the source. In this way, the interrupted MOVE end process can be resumed in the sink operating as an HTTP client.

図19〜図21に示したようなMOVE伝送シーケンスの再開処理によって、コンテンツ伝送手続きが無駄にならずに済むとともに、SinkとSourceの双方でコンテンツが無効になることを避けることができる。   By restarting the MOVE transmission sequence as shown in FIGS. 19 to 21, the content transmission procedure is not wasted, and it is possible to avoid invalidating the content in both the sink and the source.

Sourceは、MOVE終了処理用レスポンスRSP2を返信するか、又は無効化すべきというユーザの指示入力に応答して、元のコンテンツを中間的な無効状態から完全な無効状態に遷移させる。   In response to the user's instruction input that the Source should return the MOVE end process response RSP2, the source transitions the original content from the intermediate invalid state to the completely invalid state.

C−2.アップロード形式のBLOCK MOVE
図12には、アップロード形式でSourceとSink間のBLOCK MOVE伝送を行なう場合の動作シーケンスを示している。この場合のMOVE伝送もダウンロードと同様に、Sink及びコンテンツ選択、MOVE用AKE手続き、コンテンツ移動(MOVE)手続き、MOVE終了処理手続きという4段階のフェーズで構成される。このうち、MOVE用AKE手続き、コンテンツ移動(MOVE)手続き、MOVE終了処理手続きは、DTCP上で規定される手順に従って実行される。
C-2. Upload form of BLOCK MOVE
FIG. 12 shows an operation sequence when BLOCK MOVE transmission is performed between the source and the sink in the upload format. In this case, the MOVE transmission is composed of four phases such as a sink and content selection, a move AKE procedure, a content transfer (MOVE) procedure, and a move end processing procedure in the same manner as download. Among these, the AKE procedure for MOVE, the content transfer (MOVE) procedure, and the MOVE end processing procedure are executed in accordance with procedures defined on DTCP.

Sink及びコンテンツ選択のフェーズでは、ユーザは、Source側で、MOVEしたいコンテンツの選択(Select Content)と、コンテンツの伝送先となるSinkの選択(Select Sink & Destination)を行なってから、該当するSinkに対して、DTCP MOVEとして伝送するコンテンツに関する認証及び鍵交換用のソケット情報を通知する。そして、これに引き続いて、選択したコンテンツのMOVE処理が開始する。   In the Sink and content selection phase, the user performs selection of the content to be moved (Select Content) and selection of the Sink as the transmission destination of the content (Select Sink & Destination) on the Source side, and then the corresponding Sink. On the other hand, the socket information for authentication and key exchange related to the content transmitted as DTCP MOVE is notified. Subsequently, the MOVE process for the selected content starts.

SourceからSinkに対する通知は、UPnP(登録商標)ベースでCDSを用いて行なうことができる。図13には、この場合のSourceとSink間の動作シーケンスを示している。   Notification from the source to the sink can be performed using CDS on a UPnP (registered trademark) basis. FIG. 13 shows an operation sequence between the source and sink in this case.

まず、Sourceは、Sinkに対してアップロードMOVE伝送を要求するときには、伝送しようとするコンテンツの保管場所を作成するよう、CDS::CreateObjectリクエストを発行する。Sourceは、このCDS::CreateObjectリクエスト内で、MOVEしようとするコンテンツ毎に、コンテンツのタイトル、コンテンツのUPnP(登録商標)クラス、認証及び鍵交換用のソケット情報並びにDTCP−IPのMOVE手続きによってコンテンツ伝送を行なうことを記載する。なお、コンテンツ特定用のitem ID、parentID、コンテンツのURIはリクエストで不定となり、HTTPサーバであるSinkが決定し、CDS::CreateObjectレスポンスによってHTTPクライアントであるSourceに通知する。図13に示す例では、Sourceは、resのprotocolInfoアトリビュートの第3フィールドにソケット情報としての文字列“DTCP1HOST=(host);DTCP1PORT=(port)”を記載するとともに、当該コンテンツをDTCP−IPのMOVE伝送シーケンスによって伝送することを示す文字列“DTCPOP=MOVE”を記載している。   First, when the source requests upload move transmission to the sink, the source issues a CDS :: CreateObject request so as to create a storage location for the content to be transmitted. For each content to be moved in the CDS :: CreateObject request, the source is the content by the content title, the UPnP (registered trademark) class of the content, the socket information for authentication and key exchange, and the DTCP-IP MOVE procedure. The transmission is described. It should be noted that the item ID, parentID, and content URI for content identification are undefined in the request, and the HTTP server Sink is determined and notified to the HTTP client Source by the CDS :: CreateObject response. In the example shown in FIG. 13, the source describes the character string “DTCP1HOST = (host); DTCP1PORT = (port)” as socket information in the third field of the protocolInfo attribute of res, and the content is described in DTCP-IP. A character string “DTCPOP = MOVE” indicating transmission by a MOVE transmission sequence is described.

なお、res@protocolInfoの中にDTCPOPなど、アップロード時に一時的に使用する属性情報を含めると、Sinkは自身がHTTPサーバとしてCDS::Browseリクエストへの応答でres@protocolInfoを送る際にはその属性情報を取り除く必要があり、処理が煩雑になる。そこで、属性情報をprotocolInfoとは独立して新たなアトリビュートで送る方法も考えられる。具体的には、res@dtcp:uploadInfoアトリビュートというものを設けて、コンテンツのMOVE伝送の可否を示すことが考えられる。res@dtcp:uploadInfoアトリビュートは32ビット長のフィールドであり、ビット定義は以下の通りとなっている。ビット30に1が記載されているときには、ビット31にも1が記載される。Sinkは予備のビット・フィールドを無視する。   In addition, if attribute information that is temporarily used at the time of upload such as DTCPOP is included in res @ protoInfo, Sink will send the attribute when sending res @ protoInfo in response to a CDS :: Browse request as an HTTP server. It is necessary to remove information, and the processing becomes complicated. Therefore, a method of sending attribute information with a new attribute independently of protocolInfo is also conceivable. Specifically, it is conceivable that a res @ dcp: uploadInfo attribute is provided to indicate whether the content can be transferred. The res @ dtcp: uploadInfo attribute is a 32-bit length field, and the bit definition is as follows. When 1 is written in bit 30, 1 is also written in bit 31. Sink ignores the spare bit field.

ビット31:DTCPに基づき、MOVEとして伝送する。
ビット30:DTCP仕様書に規定されている条件を満足するBLOCK MOVEプロトコルを使用する。
ビット29〜0:予備
Bit 31: Transmit as MOVE based on DTCP.
Bit 30: Use the BLOCK MOVE protocol that satisfies the conditions specified in the DTCP specification.
Bits 29-0: Reserved

res@dtcp:uploadInfoアトリビュートの32ビットは16進数表記される。CDS::CreateObjectリクエスト中のres@dtcp:uploadInfoアトリビュートの記述例は以下の通りとなる。   res @ dtcp: 32 bits of the uploadInfo attribute are expressed in hexadecimal. A description example of the res @ dcp: uploadInfo attribute in the CDS :: CreateObject request is as follows.

Sinkは、CDS::CreateObjectリクエストを受け取ると、コンテンツの伝送元となるSource側の認証及び鍵交換用のソケット情報と、コンテンツがMOVEとして伝送されるのかどうかを識別することができる。そして、Sinkは、SourceからのアップロードMOVE伝送要求を受け容れるときには、コンテンツの保管場所(すなわちインポート先)をローカルの記憶領域に作成するとともに、この保管場所の情報を含んだCDS::CreateObjectレスポンスを要求元のSourceに返す。図13に示す例では、Sinkはres@protocolInfoアトリビュート内のimportUriアトリビュートにMOVE対象となるコンテンツのインポート先を示す文字列“http://1.2.3.4:50000/import?id=6”を記載している。あるいは、res@dtcp:uploadInfoアトリビュートを用いてMOVE伝送の可否を示す場合には、CDS::CreateObjectレスポンスの記述例は以下の通りとなる。   When the sink receives the CDS :: CreateObject request, the sink can identify the socket information for authentication and key exchange on the source side that is the content transmission source, and whether the content is transmitted as a move. When the sink accepts the upload move transmission request from the source, the sink creates a storage location (that is, an import destination) of the content in the local storage area, and sends a CDS :: CreateObject response including the storage location information. Return to the requesting source. In the example shown in FIG. 13, Sink is a character string “http://1.2.3.4:50000/import?id=6 indicating the import destination of the content to be moved in the importUri attribute in the res @ protoInfo attribute. "Is described. Alternatively, when the res @ dtcp: uploadInfo attribute is used to indicate whether or not the move transmission is possible, a description example of the CDS :: CreateObject response is as follows.

このようにして、Sourceは、SinkからエラーでないCDS::CreateObjectレスポンスを受け取って、Sink宛てにコンテンツのMOVEが可能であると確認し、コンテンツの保管場所を確保すると、これに引き続いて、選択したコンテンツのアップロードMOVE伝送処理が開始される。   In this way, the source receives a non-error CDS :: CreateObject response from the sink, confirms that the content can be moved to the sink, secures a storage location for the content, and subsequently selects the content. The content upload MOVE transmission process is started.

MOVE伝送に先駆けて、まずSourceとSink間の相互認証及びMOVE用の鍵共有を行なうために、MOVE用AKE手続きを実施する。MOVE用AKE手続きの動作シーケンスは、図10、並びに図16〜17を参照しながら既に説明した通りなので、ここでは説明を省略する。但し、MV−CHALLENGEコマンドでは、通常のAKE手続の場合とは異なるスクランブル方法が適用され、MOVE伝送をコピー伝送と偽られるのを防止する(同上)。   Prior to the move transmission, the move AKE procedure is first executed in order to perform mutual authentication between the source and the sink and the key sharing for the move. The operation sequence of the move AKE procedure is as already described with reference to FIG. 10 and FIGS. However, in the MV-CHALLENGE command, a scramble method different from that in the normal AKE procedure is applied to prevent the MOVE transmission from being fake as the copy transmission (same as above).

あるいは、MOVE用AKE手続きには、図27に示したような動作シーケンスを使用することができる。この場合、Sinkは、MV−INITIATEコマンドを送信するというMOVEプロトコルを用いて、ダウンロードMOVE伝送を初期化して、MOVE RTT−AKEプロセスを起動する。RTT−AKEプロセスでは、通常のAKEと同じ手順を追って、チャレンジ−レスポンス手続きによる相互認証が行なわれる。そして、MV_EXCHANGE_KEYコマンドによって共有鍵の交換が行なわれる(同上)。   Alternatively, an operation sequence as shown in FIG. 27 can be used for the move AKE procedure. In this case, Sink uses the MOVE protocol to send an MV-INITIATE command, initializes the download MOVE transmission, and activates the MOVE RTT-AKE process. In the RTT-AKE process, mutual authentication is performed by a challenge-response procedure following the same procedure as that of normal AKE. The shared key is exchanged by the MV_EXCHANGE_KEY command (same as above).

そして、MOVE伝送用のAKE手続きが無事に完了すると、続いてコンテンツ移動(MOVE)手続きが開始される。Source側のユーザ操作によりSinkへコンテンツをMOVE伝送する場合、SourceがHTTPクライアントとして動作するとともにSinkがHTTPサーバとして動作し、HTTPプロトコルを用いてアップロードMOVE伝送を行なうようにすれば良い。すなわち、HTTPクライアントとしてのSourceはHTTP POSTリクエストを送信し、これに対し、HTTPサーバとしてのSinkはHTTP POSTレスポンスを返信することにより、コンテンツ選択フェーズで選択されたコンテンツをSourceからSinkへアップロードMOVE伝送する。POSTは、特定のURIに対して情報を送信するための、リクエストとして送信するHTTPメソッドである(周知)。   When the AKE procedure for MOVE transmission is successfully completed, a content transfer (MOVE) procedure is subsequently started. When the content is moved to the sink by a user operation on the source side, the source operates as an HTTP client, the sink operates as an HTTP server, and upload MOVE transmission may be performed using the HTTP protocol. That is, a source as an HTTP client sends an HTTP POST request, and a sink as an HTTP server returns an HTTP POST response to upload the content selected in the content selection phase from the source to the sink. To do. POST is an HTTP method that is transmitted as a request for transmitting information to a specific URI (known).

HTTPプロトコルを用いてコンテンツをアップロードMOVE伝送するとき、Sourceは、E−EMIのモードをC1(すなわちMOVEモード(表1を参照のこと))に設定する。Sinkは、C1以外のE−EMIモードを受け取ったときには、受信したコンテンツをMOVE対象として扱わない(同上)。   When uploading and moving content using the HTTP protocol, the Source sets the E-EMI mode to C1 (that is, the MOVE mode (see Table 1)). When the sink receives an E-EMI mode other than C1, the sink does not treat the received content as a move target (same as above).

Sourceは、HTTPのPOSTリクエストのヘッダに“MOVE.dtcp.com:<KxM_label>”(若しくは、“MOVE.dtcp.com”ではなく“BLKMOVE.dtcp.com”)というヘッダ情報を設定したHTTP POSTリクエストを送信して、アップロードMOVE伝送を開始する。そして、Sourceは、リクエストしたコンテンツをKxM_labelに対応するMOVE用の鍵KXMから得た暗号鍵Kcで暗号化し、E−EMIをC1に設定して後続のPOSTリクエストとして伝送する。 Source is an HTTP POST request in which the header information of “MOVE.dtcp.com: <KxM_label>” (or “BLKMOVE.dtcp.com” instead of “MOVE.dtcp.com”) is set in the header of the HTTP POST request. To start upload MOVE transmission. Then, Source encrypts the content requested by the K xM _label encryption key obtained from the key K XM for MOVE corresponding to K c, transmitted as subsequent POST request by setting the E-EMI to C1.

図15A及び図15Bには、HTTPクライアントとしてのSourceからHTTPサーバとしてのSinkへコンテンツをアップロードMOVE伝送する場合のSource及びSinkがそれぞれ実行する処理動作をフローチャートの形式でまとめている。   FIG. 15A and FIG. 15B summarize the processing operations executed by the source and sink in the form of a flowchart when the content is uploaded and transferred from the source as the HTTP client to the sink as the HTTP server.

Sourceは、コンテンツのアップロード先のサーバとして動作するSinkを発見すると(ステップS41)、Sinkに対してコンテンツの保管場所の作成を要求するべく、CDS::CreateObject requestを送信して(ステップS42)、そのレスポンスの受信を待機する(ステップS43)。   When the source finds a sink that operates as a content upload destination server (step S41), the source sends a CDS :: CreateObject request to request the sink to create a content storage location (step S42). Waiting for reception of the response (step S43).

Sinkは、SourceからCDS::CreateObject requestを受信すると(ステップS61)、これに対するレスポンスを返信する(ステップS62)。   When the sink receives the CDS :: CreateObject request from the source (step S61), it returns a response to this (step S62).

Sourceは、SinkからCDS::CreateObject responseを受信すると、続いてMOVEするコンテンツを決定し(ステップS44)、MOVE用のAKE要求を受信するまで待機する(ステップS45)。   When the source receives the CDS :: CreateObject response from the sink, the source subsequently determines the content to be moved (step S44), and waits until it receives the AKE request for the move (step S45).

Sinkは、CDS::CreateObject responseを送信した後、Sourceに対してMOVE用のAKE処理を要求する(ステップS63)。   After sending CDS :: CreateObject response, the Sink requests the AKE process for MOVE from the Source (step S63).

そして、SinkとSource間では、MOVE用のAKE手続きが開始され、互いにMOVE用のAKE処理を実行する(ステップS46、S64)。MOVE用のAKEの認証に成功すると(ステップS47、S65)、SourceはMOVE用の鍵と鍵IDを生成してSinkに送信し(ステップS48)、SinkはSourceからMOVE用の鍵と鍵IDを受信する(ステップS66)。但し、SourceとSink間でMOVE用のAKEの認証に失敗すると、SourceとSinkはともに、後続の処理をすべてスキップして、本処理ルーチン全体を終了する。   Then, the AKE procedure for MOVE is started between the sink and the source, and the AKE process for the move is mutually executed (steps S46 and S64). When the AKE authentication for the move is successful (steps S47 and S65), the source generates a move key and key ID and sends it to the sink (step S48), and the sink receives the move key and key ID from the source. Receive (step S66). However, when the AKE authentication for the move fails between the source and the sink, both the source and the sink skip all subsequent processes and end the entire processing routine.

続いて、Sourceは、Sinkに対してMOVEによりアップロードしようとするコンテンツに対して「MOVE伝送中」フラグをセットしてから(ステップS49)、当該コンテンツをMOVE用の鍵を用いて暗号化し、“MOVE.dtcp.com:<KxM_label>”というヘッダ情報を伴ったHTTP POSTリクエストにより、暗号化コンテンツを送信する(ステップS50)。「MOVE伝送中」フラグをセットすると、当該コンテンツはロック状態となる。そして、SinkからのHTTP POSTレスポンスの受信を待機する(ステップS51)。   Subsequently, the source sets a “move transmission” flag for the content to be uploaded to the sink by the move (step S49), and then encrypts the content using the move key. The encrypted content is transmitted by the HTTP POST request with the header information of “MOVE.dcp.com: <KxM_label>” (step S50). When the “MOVE transmission in progress” flag is set, the content is locked. And it waits for reception of the HTTP POST response from Sink (step S51).

Sink側では、MOVE用のAKE手続きを終えると、SourceからのHTTP POSTリクエストを受信待機している(ステップS67)。そして、当該リクエストを受信して、暗号化コンテンツをすべて受け取ると、HTTP POSTレスポンスを返信する(ステップS68)。   On the sink side, after completing the AKE procedure for the move, the sink side waits to receive an HTTP POST request from the source (step S67). When the request is received and all the encrypted contents are received, an HTTP POST response is returned (step S68).

このようにして、SourceからSinkへ暗号化コンテンツを成功裏にアップロードすることができたならば、SourceはMOVE終了処理の受信を待機する(ステップS52)。また、Sinkは、Sourceに対してMOVE終了処理の要求を送信する(ステップS69)。そして、SourceとSinkは、それぞれMOVE終了処理手続きを実行して(ステップS53、S70)、Sink側でコンテンツを有効化するとともに、Source側の元のコンテンツを削除する。Source及びSink間におけるMOVE終了処理手続きの動作シーケンスは図11並びに図18を参照して既に説明した通りなので、ここでは説明を省略する。   If the encrypted content can be successfully uploaded from the source to the sink in this way, the source waits for reception of the move end process (step S52). Also, the sink sends a move end processing request to the source (step S69). Then, the source and the sink respectively execute a move end processing procedure (steps S53 and S70), validate the contents on the sink side, and delete the original contents on the source side. Since the operation sequence of the MOVE end processing procedure between the source and sink has already been described with reference to FIGS. 11 and 18, the description thereof is omitted here.

そして、SourceとSinkは、MOVE終了処理手続きを完了すると(ステップS54、S71)、いずれもMOVE用の鍵と鍵IDを破棄して(ステップS55、S72)、本処理ルーチン全体を終了する。   Then, when the source and sink complete the move end processing procedure (steps S54 and S71), both discard the move key and key ID (steps S55 and S72), and end the entire processing routine.

図15A及び図15Bに示したアップロードMOVE処理手続の期間中、MOVE対象となるコンテンツを他のSinkからMOVE要求できないようにロックして、多重MOVEの発生を防止する。アップロード形式でコンテンツのMOVEを行なう場合、Sinkは、サーバに相当するが、保持する個々のコンテンツについてMOVE伝送中であるかどうかを、例えば表2(前述)に示したようなテーブルを使って管理することができる(同上)。   During the upload MOVE processing procedure shown in FIG. 15A and FIG. 15B, the content to be moved is locked so that a move cannot be requested from another sink, thereby preventing the occurrence of multiple MOVEs. When performing content move in the upload format, Sink is equivalent to a server, but manages whether or not each content to be held is being transferred using, for example, a table as shown in Table 2 (described above). (Same as above)

また、Sinkは、BLOCK MOVEモードでアップロードMOVE伝送処理が行なわれている期間中は、コンテンツはまだ有効化されていないので、リアルタイムでレンダリングする以外の目的で受信したコンテンツを利用することはできない。リアルタイム・レンダリングの仕組みについては、図7を参照しながら既に説明したので、ここでは説明を省略する。   In addition, since the content is not yet valid during the upload MOVE transmission process in the BLOCK MOVE mode, the sink cannot use the content received for the purpose other than rendering in real time. Since the real-time rendering mechanism has already been described with reference to FIG. 7, the description thereof is omitted here.

なお、MOVE用AKE手続き並びにコンテンツ移動(MOVE)手続きの期間中には、MOVE伝送をユーザ操作で取り止める取り消し(Cancel)や中止(Abort)といった中断処理が起動することがあるが、この点の詳細については後述に譲る。   It should be noted that during the period of the AKE procedure for MOVE and the content transfer (MOVE) procedure, an interruption process such as cancel or cancel that aborts the MOVE transmission may be activated. Will be described later.

そして、SourceがHTTPプロトコルのPOSTリクエストにより、HTTPサーバとして動作する所定のSinkに対して所望のコンテンツを成功裏にアップロードすることができたならば、アップロードMOVE伝送の終了処理手続きを実施して、Sink側ではこのアップロードしたコンテンツを有効化すると同時に、Source側では元のコンテンツの削除を行なう。MOVE終了処理手続きは、図11並びに図18に示したものと同様の動作シーケンスに従って実行される(同上)。   If the source can successfully upload the desired content to the predetermined sink operating as the HTTP server by the POST request of the HTTP protocol, the upload MOVE transmission end processing procedure is executed, On the sink side, the uploaded content is validated, and at the same time, the original content is deleted on the source side. The MOVE end processing procedure is executed according to an operation sequence similar to that shown in FIGS. 11 and 18 (same as above).

アップロードMOVE伝送が終了した後にSink側でコンテンツを有効化する方法は特に限定されない。有効化すると、Sink内のコンテンツ記録ブロックでNo More Copiesとして符号化して記録されたコンテンツの利用が可能となる(例えば、記録時に適用した暗号の解除が可能となり)。この結果、コンテンツ再生ブロックに符号化コンテンツを供給して、ビデオ及びオーディオ信号に変換(rendering)して、ディスプレイなどのAV出力部から映像並びに音響出力することができる。あるいは、今度はSourceとして、さらに別のSinkに対して、上述と同様にダウンロード又はアップロード形式でMOVEすることもできる。   The method for validating the content on the sink side after the upload move transmission is completed is not particularly limited. When enabled, the content recorded as No More Copies in the content recording block in the sink can be used (for example, the encryption applied at the time of recording can be released). As a result, the encoded content can be supplied to the content reproduction block, rendered into a video and audio signal, and output from the AV output unit such as a display. Alternatively, this time, as a source, it is possible to move to another sink in the same manner as described above in the download or upload format.

また、アップロードMOVE伝送が終了した後にSource側で元のコンテンツを削除する方法も特に限定されない。コンテンツを格納したハード・ディスクなどの記録媒体からコンテンツ・データのエンティティ自体を削除する以外に、符号化(暗号化)して記録されているコンテンツのエンティティは残すが復号鍵を再び使用できないようにするのであってもよい。   Also, there is no particular limitation on the method for deleting the original content on the source side after the upload move transmission is completed. In addition to deleting the content data entity itself from the recording medium such as a hard disk storing the content, the content entity recorded by encoding (encrypting) remains but the decryption key cannot be used again. You may do.

なお、Sinkは、コンテンツをSourceからアップロードMOVE伝送した後に、今度は自らSourceとしてコンテンツを提供しようとする場合は、resタグ内のDTCPOP=MOVEを削除する(若しくはres@dtcp:uploadInfoアトリビュートを削除する)とともに、ソケット情報のホスト名とポートを自らのものに変更する必要がある。また、他のSinkにコンテンツを持ち出す(MOVE out)ことを許容する場合には、resタグ内にMOVE可能であることを示す文字列“MOVE:1”を記載したallowedUseアトリビュートを追加する(若しくは、上記のDTCP.COM_FLAGS paramをres@protocolInfoアトリビュートの第4フィールドに追加する)。   In addition, Sink deletes DTCPOP = MOVE in the res tag (or deletes res @ dcp: uploadInfo attribute) if it intends to provide the content as a source after uploading the content from the source. ) And the host name and port of the socket information need to be changed to their own. Also, when allowing the content to be taken out (MOVE out) to another Sink, an allowedUse attribute describing the character string “MOVE: 1” indicating that the MOVE is possible is added in the res tag (or Add the above DTCP.COM_FLAGS param to the fourth field of the res @ protocolInfo attribute).

図13に示した動作シーケンスでは、Sink側でMOVE用AKE手続きのためのTCPコネクションを確立するために必要となるソケット情報(DTCP socket Info)を、SourceはCDS::CreateObjectリクエストによって通知している。ところが、この通知方法では、中断したMOVE伝送終了手続きを再開する際には、ソケット情報の通知のために、同じコンテンツのアップロードMOVE伝送を要求するCDS::CreateObjectリクエストを再び発行しなければならず、1回のみMOVE伝送を許可するというDTCP規格に抵触するおそれがある。   In the operation sequence shown in FIG. 13, the source notifies the socket information (DTCP socket Info) necessary for establishing the TCP connection for the move AKE procedure on the sink side by the CDS :: CreateObject request. . However, in this notification method, when resuming the interrupted MOVE transmission end procedure, a CDS :: CreateObject request that requests upload MOVE transmission of the same content must be issued again in order to notify the socket information. There is a risk of violating the DTCP standard of allowing MOVE transmission only once.

そこで、本発明者らは、図13に示した動作シーケンスによる通知方法以外に、CDS::CreateObjectの処理後に、MOVE用AKE手続きを行なうのに先立ち、HTTP POSTリクエストのヘッダにソケット情報(DTCP socket Info)を記載して、SourceからSinkへソケット情報を通知する方法について提案する。例えば、Content−Typeヘッダを使って、以下のように記載する。   Therefore, in addition to the notification method based on the operation sequence shown in FIG. 13, the present inventors perform socket information (DTCP socket) in the header of the HTTP POST request before performing the AKE procedure for MOVE after processing CDS :: CreateObject. (Info) and a method for notifying socket information from the source to the sink is proposed. For example, it is described as follows using a Content-Type header.

SinkはAKE手続きが完了するまでコンテンツの暗号を解けないので、SourceはこのPOSTリクエストではまだコンテンツを伝送せず、AKE手続きの完了後に伝送するという手順が考えられる。すなわち、ソケット情報を通知するHTTP POSTリクエストは、コンテンツを伴わなくても良く、また、図13とは相違し、CDS::CreateObjectではソケット情報を送る必要はない。   Since Sink cannot decrypt the content until the AKE procedure is completed, it can be considered that the source does not transmit the content yet with this POST request but transmits it after the AKE procedure is completed. That is, the HTTP POST request for notifying socket information may not be accompanied by content, and unlike FIG. 13, it is not necessary to send socket information with CDS :: CreateObject.

図30には、SourceがPOSTリクエストを用いてソケット情報を通知する方法を用いる場合において、SourceとSink間でアップロードMOVE伝送を行なうための動作シーケンスを示している。   FIG. 30 shows an operation sequence for performing upload MOVE transmission between the source and the sink when the source uses a method of notifying socket information using a POST request.

まず、Sourceは、CDS::CreateObjectリクエストを用いて、Sinkに対して、コンテンツの移動先となるオブジェクトの作成を要求する。このとき、Sourceは、res@uploadInfoアトリビュートにおいてMOVE伝送をベースにしたトランザクションを要求する。これに対し、Sinkは、CDS::CreateObjectレスポンスのres@importUriアトリビュートにおいて、HTTP POST用のURIを返す。   First, the Source uses a CDS :: CreateObject request to request the sink to create an object that is a content transfer destination. At this time, the Source requests a transaction based on the MOVE transmission in the res @ uploadInfo attribute. On the other hand, Sink returns a URI for HTTP POST in the res @ importUri attribute of the CDS :: CreateObject response.

続いて、Sourceは、CDS::CreateObjectレスポンスの記載内容から取得したURIに対するHTTP POSTリクエストを送信して、Sinkに対して認証及び鍵交換用のソケット情報を通知する。ソケット情報は、上述したように、ContentTypeとして送られてくる。但し、ソケット情報の通知に使用されるHTTP POSTリクエストは、コンテンツを含まない。   Subsequently, the Source transmits an HTTP POST request for the URI acquired from the description content of the CDS :: CreateObject response, and notifies the sink of socket information for authentication and key exchange. As described above, the socket information is sent as ContentType. However, the HTTP POST request used for notification of socket information does not include content.

Sinkは、ソケット情報を取得すると、認証及び鍵交換用のTCPコネクションを確立する。そして、Sinkは、MV−INITIATEコマンドを送信してMOVE RTT−AKEプロセスを起動することによって、アップロードMOVE伝送を初期化する。   When the sink acquires socket information, the sink establishes a TCP connection for authentication and key exchange. Sink then initializes the upload MOVE transmission by sending a MV-INITIATE command to start the MOVE RTT-AKE process.

MOVE RTT−AKEプロセスが終了すると、BLKMOVE.dtcp.comヘッダ情報を含んだHTTP POSTリクエストを送信することで、Sourceは、暗号化コンテンツの伝送を行なう。   When the MOVE RTT-AKE process is completed, BLKMOVE. dtcp. The source transmits the encrypted content by transmitting an HTTP POST request including the com header information.

Sinkは、MOVE対象コンテンツをすべて受け取った後、MV_FINALIZEコマンドを送信することによって、MOVE伝送終了処理を起動する。MOVE終了処理手続きは、図11に示した動作シーケンスに従って実施される。   After receiving all the contents to be moved, the sink starts a move transmission end process by transmitting an MV_FINALIZE command. The move end processing procedure is performed according to the operation sequence shown in FIG.

なお、図31に示すように、Sourceから、コンテンツを伴わないPOSTリクエストのヘッダでソケット情報を送り、Sinkが認証および鍵交換用のTCPコネクションを確立して、AKE手続を終了した後に、POSTレスポンスを返すようにしても良い。このような動作シーケンスの場合、AKE手続きで共有したKXM_labelをMOVE.dtcp.com(若しくは、BLKMOVE.dtcp.com)ヘッダを使い、“MOVE.dtcp.com:<KXM_label>”のようにしてSinkからのPOSTレスポンスで送ることで、Sourceは同時に複数のMOVE伝送処理を行なう場合でも、コンテンツの暗号化に適用すべき交換鍵KXMを確実に把握することができる。 As shown in FIG. 31, the socket information is sent from the source in the header of the POST request not accompanied by the content, and after the sink establishes the TCP connection for authentication and key exchange and finishes the AKE procedure, the POST response is sent. May be returned. For such an operation sequence, MOVE the K XM _label covalently with AKE procedure. dtcp. com (or BLKMOVE.dtcp.com) header and send it as a POST response from Sink as “MOVE.dcp.com:<K XM _label>”. Even when it is performed, the exchange key K XM to be applied to the content encryption can be reliably grasped.

また、図31に示した動作シーケンスと同じ効果を得る別の方法として、複数のMOVE処理を行なう場合にSinkに通知するソケット情報をユニークにすることで、SinkとKXMの関係付けを確実に行なうことができる。この場合、SinkはAKE手続きの完了前にMOVE.dtcp.com(若しくは、BLKMOVE.com)ヘッダを伴わないPOSTレスポンスを送ることもできる。なお、この後のコンテンツ伝送は新たなPOSTリクエストとしてではなく、AKE手続き前のPOSTリクエストの手続きとして送る方法も考えられる。 Further, as another method for obtaining the same effect as the operation sequence shown in FIG. 31, by making the socket information notified to the Sink unique when performing a plurality of MOVE processes, the association between the Sink and K XM is ensured. Can be done. In this case, Sink will receive a MOVE. dtcp. com (or BLKMOVE.com) header response without a header can also be sent. Note that the subsequent content transmission is not sent as a new POST request, but as a POST request procedure before the AKE procedure.

また、ここで説明したソケット情報の通知方法は、アップロードMOVE伝送だけでなく、アップロード形式のCOPY伝送においても同様に適用することができる。   The socket information notification method described here can be applied not only to upload move transmission but also to upload-type COPY transmission.

図32A及び図32Bには、図31に示した動作シーケンスによってHTTPクライアントとしてのSourceからHTTPサーバとしてのSinkへコンテンツをアップロードMOVE伝送する場合のSource及びSinkがそれぞれ実行する処理動作をフローチャートの形式でまとめている。   32A and 32B are flowcharts showing processing operations executed by the Source and the Sink when uploading and moving the content from the Source as the HTTP client to the Sink as the HTTP server according to the operation sequence shown in FIG. It is summarized.

Sourceは、コンテンツのアップロード先のサーバとして動作するSinkを発見すると(ステップS151)、Sinkに対してコンテンツの保管場所の作成を要求するべく、CDS::CreateObject requestを送信して(ステップS152)、そのレスポンスの受信を待機する(ステップS153)。   When the source finds a sink that operates as a server to which the content is uploaded (step S151), it sends CDS :: CreateObject request to request the sink to create a content storage location (step S152). Waiting for reception of the response (step S153).

Sinkは、SourceからCDS::CreateObject requestを受信すると(ステップS171)、これに対するレスポンスを返信する(ステップS172)。   When the sink receives the CDS :: CreateObject request from the source (step S171), it returns a response to this (step S172).

Sourceは、SinkからCDS::CreateObject responseを受信すると、続いてMOVE対象となるコンテンツを決定する(ステップS154)。そして、Content−Typeヘッダを伴うHTTP POSTリクエストでSinkにソケット情報を送信した後(ステップS155)、MOVE用のAKE要求を受信するまで待機する(ステップS156)。   When the source receives the CDS :: CreateObject response from the sink, the source subsequently determines the content to be moved (step S154). Then, after transmitting socket information to the sink using an HTTP POST request accompanied by a Content-Type header (step S155), the process waits until an AKE request for MOVE is received (step S156).

Sinkは、ソケット情報を伴うHTTP POSTリクエストをSourceから受信すると(ステップS173)、当該リクエストから得たソケットに対するTCPコネクションを確立して(ステップA174)、Sourceに対してMOVE用のAKE処理を要求する(ステップS175)。   When the sink receives an HTTP POST request with socket information from the source (step S173), the sink establishes a TCP connection to the socket obtained from the request (step A174), and requests the AKE processing for the move from the source. (Step S175).

そして、SinkとSource間では、MOVE用のAKE手続きが開始され、互いにMOVE用のAKE処理を実行する(ステップS157、S176)。ここで、MOVE用のAKEの認証に成功すると(ステップS158、S177)、Sourceは、MOVE用の鍵と鍵IDを生成してSinkに送信する(ステップS159)。但し、SourceとSink間でMOVE用のAKEの認証に失敗すると、SourceとSinkはともに、後続の処理をすべてスキップして、本処理ルーチン全体を終了する。   Then, the AKE procedure for MOVE is started between Sink and Source, and the AKE process for MOVE is mutually executed (steps S157 and S176). Here, when the AKE authentication for the move is successful (steps S158 and S177), the source generates a move key and a key ID and transmits them to the sink (step S159). However, when the AKE authentication for the move fails between the source and the sink, both the source and the sink skip all subsequent processes and end the entire processing routine.

Sinkは、SourceからMOVE用の鍵と鍵IDを受信すると(ステップS178のYes)、BLKMOVE.dtcp.comヘッダを伴うHTTP POSTレスポンスで鍵IDを送信する(ステップS179)。   When the sink receives the move key and key ID from the source (Yes in step S178), the sink receives BLKMOVE. dtcp. The key ID is transmitted by an HTTP POST response with a com header (step S179).

そして、Sourceは、Sinkから鍵IDを伴うHTTP POSTレスポンスを受信すると(ステップS160のYes)、この鍵IDに対応するMOVE伝送用の鍵を以後の処理用に選択する(ステップS161)。   When the source receives an HTTP POST response with a key ID from the sink (Yes in step S160), the source selects a move transmission key corresponding to the key ID for subsequent processing (step S161).

続いて、Sourceは、Sinkに対してアップロードMOVE伝送しようとするコンテンツに対して「MOVE伝送中」フラグをセットしてから(ステップS162)、当該コンテンツをMOVE伝送用の鍵を用いて暗号化し、ソケット情報を伴うHTTP POSTリクエストのメッセージ・ボディとして送信する(ステップS163)。「MOVE伝送中」フラグをセットすると、当該コンテンツはロック状態となる。そして、SinkからのHTTP POSTレスポンスの受信を待機する(ステップS164)。   Subsequently, the source sets a “move transmission” flag for the content to be uploaded to the sink (step S162), and then encrypts the content using the move transmission key. The message body of the HTTP POST request with socket information is transmitted (step S163). When the “MOVE transmission in progress” flag is set, the content is locked. And it waits for reception of the HTTP POST response from Sink (step S164).

Sink側では、MOVE用のAKE手続きを終えると、SourceからのHTTP POSTリクエストのメッセージ・ボディとしての暗号化コンテンツを受信待機している(ステップS181)。そして、当該リクエストを受信して、暗号化コンテンツを受け取ると、HTTP POSTレスポンスを返信する(ステップS182)。   When the sink side finishes the move AKE procedure, the sink side waits to receive encrypted content as the message body of the HTTP POST request from the source (step S181). When the request is received and the encrypted content is received, an HTTP POST response is returned (step S182).

このようにして、SourceからSinkへ暗号化コンテンツを成功裏にアップロードすることができたならば、SourceはMOVE終了処理の受信を待機する(ステップS165)。また、Sinkは、Sourceに対してMOVE終了処理の要求を送信する(ステップS183)。そして、SourceとSinkは、それぞれMOVE終了処理手続きを実行して(ステップS166、S184)、Sink側でコンテンツを有効化するとともに、Source側の元のコンテンツを削除又は無効化する。Source及びSink間におけるMOVE終了処理手続きの動作シーケンスは図11並びに図18を参照して既に説明した通りなので、ここでは説明を省略する。   In this way, if the encrypted content can be successfully uploaded from the source to the sink, the source waits for reception of the move end process (step S165). Also, the sink sends a move end processing request to the source (step S183). Then, the source and the sink respectively execute the move end processing procedure (steps S166 and S184), and the contents are validated on the sink side and the original contents on the source side are deleted or invalidated. Since the operation sequence of the MOVE end processing procedure between the source and sink has already been described with reference to FIGS. 11 and 18, the description thereof is omitted here.

そして、SourceとSinkは、MOVE終了処理手続きを完了すると(ステップS167、S185)、いずれもMOVE伝送用の鍵と鍵IDを破棄して(ステップS168、S186)、本処理ルーチン全体を終了する。   Then, when the source and sink complete the move end processing procedure (steps S167 and S185), both discard the move transmission key and key ID (steps S168 and S186) and end the entire processing routine.

ここで、SourceからSinkへコンテンツのエンティティが成功裏にアップロードMOVE伝送されたにも拘らず、一方の機器の電源遮断などによりMOVE伝送の終了処理シーケンスが途切れてしまう可能性がある。MOVE伝送の終了処理の中断(interrupted)によって、Source及びSinkの双方において移動したコンテンツを利用できなくなるおそれがある。このようにMOVE終了処理手続きが中断したときには、図19〜21に示した処理手順に従って再開して、SinkとSourceの双方でコンテンツが無効になることを避けることができる。   Here, although the content entity has been successfully uploaded and moved from the source to the sink, there is a possibility that the end processing sequence of the move transmission may be interrupted due to power-off of one device. There is a possibility that the content moved in both the Source and the Sink cannot be used due to the interruption of the end process of the MOVE transmission (interrupted). In this way, when the MOVE end processing procedure is interrupted, it can be resumed according to the processing procedure shown in FIGS. 19 to 21 to prevent the contents from becoming invalid in both the sink and the source.

アップロードMOVE伝送の終了処理の再開を可能にするために、Sink及びSourceの各々では、アップロードMOVE伝送の終了処理を開始する際に、NVRAMなどの不揮発性メモリを用いて、再開処理に必要となるデータを保存するようにしている。Sink側では、CMD1すなわちMV_FINALIZEコマンドで用いるパラメータ(KxM_label)と、MAC6Aを不揮発的に格納する。 In order to enable the upload MOVE transmission end process to be restarted, each of the sink and source is required for the restart process using a nonvolatile memory such as NVRAM when starting the upload MOVE transmission end process. The data is saved. In Sink side, a parameter (K xM _label) used in the CMD1 That MV_FINALIZE command, stores MAC6A nonvolatile manner.

また、Sourceは中断したCommitment情報を持つ場合、対応するSinkに対してソケット情報を通知し、処理の再開を促す必要がある。このためには、Sourceは、Commitment処理の過程において、Sink発見に必要となるUUID、及びPOSTの宛て先URIを発見するのに必要となるObject ID、さらには鍵IDであるKxM_labelとMAC5B、MAC6Bを不揮発的に格納する。再開処理は、基本的にはSink側が起動する。 Further, when the source has the interrupted commitment information, it is necessary to notify the corresponding sink to the socket information and prompt the processing to be resumed. For this purpose, in the commit process, the source is required to discover the UUID necessary for sink discovery, the object ID necessary to discover the destination URI of the POST, and the key IDs K xM _label and MAC5B. , MAC6B is stored in a nonvolatile manner. The resumption process is basically started on the sink side.

HTTP POSTリクエストのヘッダにソケット情報(DTCP socket Info)を記載して、SourceからSinkへソケット情報を通知するという上記の方法によれば、CDS::CreateObjectを使ってソケット情報を通知する方法とは異なり、中断したMOVE処理を再開する際であっても、Sinkは問題なくMOVE対象となるコンテンツに関するソケット情報を得ることができる。   According to the above method in which socket information (DTCP socket Info) is described in the header of the HTTP POST request and the socket information is notified from the source to the sink, the method of notifying the socket information using CDS :: CreateObject is In contrast, even when the interrupted move process is resumed, the sink can obtain socket information related to the contents to be moved without any problem.

図33には、MOVE伝送終了処理を再開する際に、Sink及びSource間でTCPコネクションを確立するための処理手順をフローチャートの形式で示している。   FIG. 33 shows, in the form of a flowchart, a processing procedure for establishing a TCP connection between a sink and a source when resuming the move transmission end process.

Sourceは、不揮発的に記憶しておいたUUIDを1つ選択し(ステップS191)、UPnPのデバイス発見のプロトコルにより、不揮発的に記憶しておいたUUIDと一致する機器(Sink)が発見されたかどうかをチェックする(ステップS192)。そして、Sourceは、不揮発的に記憶しておいたものと同じUUIDを持つSinkを発見すると、その機器に対してCDS::BrowseリクエストをObjectID指定付きで送信する(ステップS193)。   The source selects one UUID stored in a nonvolatile manner (step S191), and a device (sink) that matches the UUID stored in a nonvolatile manner is found by the UPnP device discovery protocol. It is checked whether or not (step S192). When the source finds a sink having the same UUID as that stored in a nonvolatile manner, the source transmits a CDS :: Browse request to the device with the object ID specified (step S193).

一方、Sinkは、SourceからCDS::Browseリクエストを受信すると(ステップS201)、CDS::Browseレスポンスを返信する(ステップS202)。   On the other hand, when the sink receives a CDS :: Browse request from the source (step S201), it returns a CDS :: Browse response (step S202).

Sourceは、SinkからCDS::Browseレスポンスを受け取ると(ステップS194のYes)、当該レスポンスの記述内容からソケット情報の送信先となるres@importUriを取得する(ステップS195)。そして、ソケット情報をContent−Typeヘッダに含むHTTP POSTリクエストをSinkに送信する(ステップS196)。   When the source receives the CDS :: Browse response from the sink (Yes in step S194), the source obtains res @ importUri that is the transmission destination of the socket information from the description content of the response (step S195). Then, an HTTP POST request including the socket information in the Content-Type header is transmitted to the sink (step S196).

Sinkは、Sourceからソケット情報を伴うHTTP POSTリクエストを受信すると(ステップS203)、当該リクエストに含まれるソケット情報を参照して、Sourceとの間でAKEコマンドの通信用のTCPコネクションを確立する(ステップS204)。そして、このTCPコネクションを利用して、図19〜21に示した処理手順に従って、中断されたMOVE伝送終了処理を再開することができる。   When the sink receives an HTTP POST request with socket information from the source (step S203), the sink refers to the socket information included in the request and establishes a TCP connection for AKE command communication with the source (step S203). S204). Then, using this TCP connection, the suspended MOVE transmission end process can be resumed according to the processing procedure shown in FIGS.

C−3.BLOCK MOVEのCANCEL並びにAbort
上述したようなダウンロード及びアップロードのうちいずれの形式でコンテンツをMOVEする場合であっても、Sinkは、Sourceに対しMOVE終了処理用コマンドCMD1を送信する前であれば、MOVE処理を取り消し(cancel)又は中止(abort)することができる。
C-3. BLOCK MOVE CANCEL and Abort
Even if the content is moved in any of the download and upload formats as described above, the sink cancels the move process before sending the move end processing command CMD1 to the source. Or it can be aborted.

Source並びにSinkはともに、相手に対してMV−CANCELサブファンクションを送信することによって、MOVE処理手続を取り消す(CANCELする)ことができる。   Both the Source and the Sink can cancel the MOVE processing procedure (CANCEL) by transmitting the MV-CANCEL subfunction to the other party.

本実施形態では、MOVE処理手続きのCANCELは、AKE手続きの一部として実装する。AKE手続きのためのTCPコネクションは、通常、Sinkからのトリガによって確立される。コンテンツのストリーミングやコピーを行なう通常のコンテンツ伝送手続きでは、AKEにより鍵を共有するとAKE用のTCPコネクションを切断する。しかしながら、ここでは、MOVE処理手続き中にSource側からもMV−CANCELサブファンクションを送信できるようにするために、AKE用のTCPコネクションを保持しておく必要がある。   In the present embodiment, the CANCEL of the MOVE processing procedure is implemented as a part of the AKE procedure. The TCP connection for the AKE procedure is usually established by a trigger from Sink. In a normal content transmission procedure for streaming or copying content, the AKE TCP connection is disconnected when a key is shared by AKE. However, in this case, it is necessary to hold the TCP connection for AKE so that the MV-CANCEL subfunction can be transmitted from the Source side during the MOVE processing procedure.

Sourceは、MOVE終了処理手続きを開始する前にMV−CANCELサブファンクションを送信し又は受信すると、MOVE処理手続きを終了させるとともに、MOVE対象となっていたコンテンツのロック状態を解除し(具体的には、表2中で該当コンテンツの状態をMOVE可能に戻す)、当該コンテンツに対する他のMOVE要求のために解放する。また、MOVE処理手続の終了に併せて、Sourceは交換鍵KXMを消滅させる。これ以降は、Sinkからの当該終了したMOVE処理手続きに関するリクエストを拒絶するようになる。 When the Source sends or receives the MV-CANCEL subfunction before starting the MOVE end processing procedure, the Source ends the MOVE processing procedure and releases the locked state of the content that is the target of the move (specifically, In Table 2, the state of the corresponding content is returned to MOVE enabled), and released for another MOVE request for the content. In addition, at the end of the MOVE processing procedure, the Source deletes the exchange key K XM . Thereafter, a request regarding the completed move processing procedure from the sink is rejected.

また、Sinkは、MOVE終了処理手続きを開始する前にMV−CANCELサブファンクションを送信し又は受信すると、MOVE処理手続きを終了させるとともに、自分にMOVEされたコンテンツを削除する。このMOVE処理手続の終了に併せて、Sinkは交換鍵KXMを消滅させる。 Further, when the sink sends or receives the MV-CANCEL subfunction before starting the move end processing procedure, the sink ends the move processing procedure and deletes the content moved to itself. At the end of the move processing procedure, Sink deletes the exchange key K XM .

また、SourceとSinkはともに、MOVE終了処理が開始する前にSourceとSink間の通信が途切れると、MOVE処理手続きを中止(abort)することができる。この場合のSourceとSinkは、MV−CANCELを送信又は受信したときと同様の振る舞いを行なう。   Also, both the source and sink can abort the move processing procedure if communication between the source and sink is interrupted before the move end processing starts. Source and sink in this case perform the same behavior as when MV-CANCEL is transmitted or received.

D.MOVEモード詐称攻撃の対策
DTCP−IPでは、SourceとSink間の伝送路上にパーソナル・コンピュータなどで構成される不正なプロキシを設置することで、通信内容の改ざんが容易に行なわれてしまう。とりわけ、SourceとSink間でケイパビリティの確認手続き(図16〜17を参照のこと)を経てBLOCK MOVEを開始するようなシステムにおいては、その確認手続きの実装が必須でない場合、SourceがBLOCK MOVEに対応しているにも拘らず、プロキシはSourceがBLOCK MOVEに非対応であるとSinkに偽り、SinkにINCREMENTAL MOVEを行なわせることができる。図22に示す動作シーケンス例では、プロキシは、SinkからのBLOCK MOVE対応であることを記載したCAPABILITY_EXCHANGEメッセージをSourceにそのまま伝達するが、SourceからのBLOCK MOVE対応であることを記載したCAPABILITY_EXCHANGEメッセージを改竄して、BLOCK MOVEの要求を拒否し(Rejected)、SourceがBLOCK MOVE非対応であると偽る。この場合、Source側はSinkからの要求に従ってBLOCK MOVEモードでコンテンツ送信処理を行なうが、SinkはINCREMENTAL MOVEモードに切り替わってコンテンツ受信処理を行なうことになる。
D. Countermeasures for MOVE mode spoofing attack In DTCP-IP, communication contents can be easily tampered with by installing an unauthorized proxy composed of a personal computer or the like on the transmission path between the source and sink. In particular, in a system in which BLOCK MOVE is started through a capability confirmation procedure (see FIGS. 16 to 17) between the source and the sink, if the implementation of the confirmation procedure is not essential, the source corresponds to the BLOCK MOVE. In spite of this, the proxy can pretend to Sink that the Source is not compatible with BLOCK MOVE, and can cause Sink to perform INCREMENTAL MOVE. In the example of the operation sequence shown in FIG. 22, the proxy directly transmits a CAPABILITY_EXCHANGE message describing that it is compatible with BLOCK MOVE from the sink to the source, but has altered the CAPABILITY_EXCHANGE message describing that it is compatible with the BLOCK move from the source. Then, the request for BLOCK MOVE is rejected (Rejected), and it is false that the Source is not compatible with BLOCK MOVE. In this case, the source side performs content transmission processing in the BLOCK MOVE mode in accordance with a request from the sink, but the sink switches to the INCREMENTAL MOVE mode and performs content reception processing.

このようなMOVEモード詐称攻撃が仕掛けられると、Sink側では、Sourceからデータを受け取る度に逐次的に有効化していくとともに、コンテンツ伝送処理が終了した時点でプロキシがSourceに対してコンテンツ伝送処理の取り消しを行なうことで、SourceとSinkの双方で有効なコンテンツが存在するというDTCP−IPの規定に抵触する事態が生じる。   When such a move mode spoofing attack is launched, the sink side sequentially activates each time data is received from the source, and when the content transmission processing is completed, the proxy performs the content transmission processing on the source. By performing the cancellation, a situation that conflicts with the DTCP-IP rule that valid content exists in both the source and the sink occurs.

そこで、本実施形態に係るコンテンツ伝送システムは、SourceとSink間で確認されたケイパビリティを詐称してSink側のMOVEモードが偽装されることや、何らかの手段によりMOVE伝送であることを装ってコンテンツのコピー伝送を行なうことを防止するための幾つかの方法を適用するようにしている。   Therefore, the content transmission system according to the present embodiment spoofs the capability confirmed between the source and the sink and the MOVE mode on the sink side is impersonated, or the content transmission system pretends to be a MOVE transmission by some means. Several methods for preventing copy transmission are applied.

例えば、プロキシがSource機器からのCAPABILITY_EXCHANGEメッセージを改ざんしてBLOCK MOVEの要求を拒否し(Rejected)、SourceがBLOCK MOVE非対応であると偽った場合であっても、その後AKE手続きにおいて、SinkがSourceに対して設定したMOVEモードを通知し、Sourceはケイパビリティの確認手続きを経て決定した自分のMOVEモードと照合することによって、詐称が行なわれているかどうかをチェックすることができる。あるいは図8中のSource及びコンテンツの選択手続きや図12中のSink及びコンテンツの選択手続きにおいて、sinkに対してMOVEによるコンテンツ伝送を行なうことを正しく理解させ、過ってCOPY伝送を行なわせないようにする。   For example, even if the proxy tampers with the CAPABILITY_EXCHANGE message from the source device and rejects the request for BLOCK MOVE (Rejected), and the source is falsely incompatible with the BLOCK MOVE, then the sink is the source in the AKE procedure. The source MOVE mode is notified to the source, and the source can check whether or not the misrepresentation is being performed by checking with the own MOVE mode determined through the capability confirmation procedure. Alternatively, in the source and content selection procedure in FIG. 8 and the sink and content selection procedure in FIG. 12, the sink correctly understands that content transmission by MOVE is performed, so that COPY transmission is not performed excessively. To.

図23に示す動作シーケンス例では、Sinkは、AKE認証手続き内で行なわれるチャレンジ・レスポンスを利用して、Sourceに送るレスポンスの中に自分の動作モードに関する情報を含める。この際、署名で保護される情報にMOVEモードの情報を含めることが望ましい。このレスポンスを受信したSourceは、自分が設定しているBLOCK MOVEモードとは相違することから、MOVEモードの詐称が行なわれ、SourceとSink間の伝送路が危険に晒されていることを気づくことができる。そして、Sourceは、交換鍵KxをSinkに送らず、このような危険な伝送路でコンテンツ伝送を開始することなく、MOVE処理を終了する。 In the example of the operation sequence shown in FIG. 23, the sink uses the challenge / response performed in the AKE authentication procedure to include information on its own operation mode in the response sent to the source. At this time, it is desirable to include MOVE mode information in the information protected by the signature. The source that received this response is different from the BLOCK MOVE mode that it has set, so that the MOVE mode is misrepresented and the transmission path between the source and sink is exposed to danger. Can do. Then, Source may not send the exchange key K x to Sink, without initiating the content transmission in such a dangerous transmission path, and ends the MOVE process.

また、図24には、図23に示した動作シーケンスの変形例を示している。図示のシーケンス例では、Sinkは、AKE認証手続き内でSourceに送るレスポンス中で、署名で保護される情報にMOVEモードの情報を含める。このレスポンスを受信したSourceは、自分が設定しているBLOCK MOVEモードとは相違することから、MOVEモードの詐称が行なわれていることを気づくと、BLOCK MOVEモードからINCREMENTAL MOVEモードに切り替わり、交換鍵KxをSinkに送る。そして、SourceとSinkはそれぞれ、交換鍵Kxに所定の演算を施してコンテンツ暗号鍵Kcを作成し、MOVE対象となるコンテンツの暗号化伝送を開始する。 FIG. 24 shows a modification of the operation sequence shown in FIG. In the illustrated sequence example, the sink includes the information of the move mode in the information protected by the signature in the response sent to the source in the AKE authentication procedure. The source receiving this response is different from the BLOCK MOVE mode that it has set, so if it notices that the MOVE mode has been misrepresented, it switches from the BLOCK MOVE mode to the INCREMENTAL MOVE mode, and the exchange key Send K x to Sink. Then, each of the Source and Sink, create a content encryption key K c by applying a predetermined arithmetic operation to exchange key K x, to start encrypting transmission of the content to be MOVE target.

MOVEモードの詐称を防止する他の方法として、交換鍵Kxをスクランブルする方法をMOVEモード毎に切り替える方法が挙げられる。図25には、この場合の動作シーケンス例を示している。Source側では、BLOCK MOVEを行なう際には、交換鍵Kxでスクランブルに使うワンタイム鍵をハッシュ関数で処理して使う。すると、INCREMENTAL MOVEモード下にあるSinkは、交換鍵Kx用のデスクランブル方法ではBLOCK MOVE用の交換鍵KxMを共用することができなくなる。すなわち、Sinkは、BLOCK MOVEモード以外では交換鍵Kx用のデスクランブルが禁止され、正しいコンテンツ暗号鍵Kcを作成できないので、MOVEされたコンテンツを復号できない。 As another method of preventing spoofing MOVE mode, and a method of switching a method of scrambling the exchange key K x per MOVE mode. FIG. 25 shows an operation sequence example in this case. In the Source side, when performing BLOCK MOVE, use a one-time key used to scramble in the exchange key K x is treated with a hash function. Then, the sink under the INCREMENTAL MOVE mode cannot share the exchange key K xM for BLOCK MOVE by the descrambling method for the exchange key K x . That, Sink, the outside BLOCK MOVE mode is prohibited descrambling for exchange key K x, can not create the correct content encryption key K c, it can not decode the MOVE content.

また、MOVEモードの詐称を防止するさらに他の方法として、交換鍵Kxからコンテンツ暗号鍵Kcを生成する計算式をMOVEモード毎に切り替える方法が挙げられる。図26には、この場合の動作シーケンス例を示している。Source側では、BLOCK MOVEを行なう際には、交換鍵KxMからコンテンツ暗号鍵Kcを生成するための計算式に含まれる定数を特別な値に変更する。すると、INCREMENTAL MOVEモード下にあるSink側では、通常の計算式に従って交換鍵Kxから計算しても、正しいコンテンツ暗号鍵Kcを作成できないので(言い換えれば、交換鍵KxMからコンテンツ暗号鍵Kcを計算することが禁止されているので)、MOVEされたコンテンツを復号できない。 As still another method of preventing spoofing MOVE mode, the method of switching every MOVE mode calculation formula for generating a content encryption key K c from the exchange key K x and the like. FIG. 26 shows an operation sequence example in this case. On the Source side, when BLOCK MOVE is performed, the constant included in the calculation formula for generating the content encryption key K c from the exchange key K xM is changed to a special value. Then, INCREMENTAL the Sink side under MOVE mode, be calculated from the exchange key K x according to the normal formula, in other words can not create the correct content encryption key K c (, exchange key K xM content encryption key from K Since it is forbidden to calculate c ), the moved content cannot be decrypted.

よって、上述したいずれかの対策を講じることで、不正なプロキシが伝送路に介在する場合であっても、SourceとSinkの双方で有効なコンテンツが存在するというDTCP−IPの規定に抵触する事態を回避することができる。   Therefore, by taking any of the measures described above, even if an illegal proxy is present in the transmission path, a situation that violates the DTCP-IP regulations that valid content exists in both the source and the sink Can be avoided.

図16には、MOVE伝送モード詐称攻撃の対策としてCAPABILITY_EXCHANGEシーケンスについて説明したが、図23〜図26に示したような対策によってMOVE伝送モード詐称攻撃を十分に防ぐことができ、これらの場合はCAPABILITY_EXCHANGEシーケンスを通じたセキュアな情報交換手続は不要となる。   FIG. 16 describes the CAPABILITY_EXCHANGE sequence as a countermeasure against the MOVE transmission mode spoofing attack. However, the countermeasures shown in FIGS. 23 to 26 can sufficiently prevent the MOVE transmission mode spoofing attack. In these cases, the CAPABILITY_EXCHANGE A secure information exchange procedure through a sequence becomes unnecessary.

以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。   The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiment without departing from the gist of the present invention.

本発明の適用例として、SourceとSink間で行なわれるHTTPプロトコルを利用したコンテンツ伝送を挙げることができるが、本発明の要旨はこれに限定されない。著作権やその他の目的で保護が必要となる情報コンテンツを所定のコピー制御情報に従って暗号化伝送する他のあらゆるコンテンツ伝送システム、あるいはコピー制御やコンテンツの暗号化を行なわないシステムであっても、移動元にデータを残さずに機器間でデータを移動させる際に、同様に本発明を適用することができる。   As an application example of the present invention, content transmission using an HTTP protocol performed between a source and a sink can be cited, but the gist of the present invention is not limited to this. Even in any other content transmission system that encrypts and transmits information content that needs to be protected for copyright or other purposes in accordance with the specified copy control information, or a system that does not perform copy control or content encryption The present invention can be similarly applied when moving data between devices without leaving the original data.

要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。   In short, the present invention has been disclosed in the form of exemplification, and the description of the present specification should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims should be taken into consideration.

10…DTCP−IP認証ブロック
11…AKEブロック
12…メッセージ・ダイジェスト生成ブロック
13…コンテンツ復号ブロック
20…DTCP−IPコンテンツ受信ブロック
21…HTTPクライアント・ブロック
22…HTTPリクエスト管理ブロック
23…HTTPレスポンス管理ブロック
30…コンテンツ再生/記録ブロック
40…DTCP−IP認証ブロック
41…AKEブロック
42…メッセージ・ダイジェスト生成ブロック
43…コンテンツ暗号化部ロック
50…DTCP−IPコンテンツ送信ブロック
51…HTTPサーバ・ブロック
52…HTTPリクエスト管理ブロック
53…HTTPレスポンス管理ブロック
60…コンテンツ管理ブロック
DESCRIPTION OF SYMBOLS 10 ... DTCP-IP authentication block 11 ... AKE block 12 ... Message digest production | generation block 13 ... Content decoding block 20 ... DTCP-IP content reception block 21 ... HTTP client block 22 ... HTTP request management block 23 ... HTTP response management block 30 ... content reproduction / recording block 40 ... DTCP-IP authentication block 41 ... AKE block 42 ... message digest generation block 43 ... content encryption unit lock 50 ... DTCP-IP content transmission block 51 ... HTTP server block 52 ... HTTP request management Block 53 ... HTTP response management block 60 ... Content management block

Claims (72)

コンテンツを送信するSourceとコンテンツを受信するSink間でコンテンツを伝送するコンテンツ伝送システムであって、
SourceとSink間で伝送対象となるコンテンツを指定するコンテンツ指定手段と、
SourceとSink間で相互認証及び鍵交換を行なう認証手段と、
前記認証手段により交換した鍵を用いてSourceからSinkへ、前記コンテンツ指定手段により指定されたコンテンツを暗号化伝送するコンテンツ伝送手段と、
コンテンツ伝送処理が終了するまではSink側のコンテンツを無効化した状態に保ち、前記コンテンツ伝送手段によりコンテンツ伝送処理が終了したことに応じて、Sink側のコンテンツを有効化するとともに、Source側の元のコンテンツを無効化するコンテンツ伝送終了処理手段と、
前記コンテンツ伝送手段によるコンテンツ伝送処理が終了するまでの間、Sink又はSourceの少なくとも一方からの要求により、コンテンツ伝送処理を取り消すコンテンツ伝送処理取り消し手段と、
を備え、
前記認証手段は、コンテンツ伝送終了処理手段によるコンテンツ伝送終了処理が終了するまでの間、認証及び鍵交換用のTCPコネクションを保持し、
前記コンテンツ伝送処理取り消し手段は、前記認証及び鍵交換用のTCPコネクションを用いてコンテンツ伝送処理を取り消す、
コンテンツ伝送システム。
A content transmission system for transmitting content between a source for transmitting content and a sink for receiving content,
Content specifying means for specifying content to be transmitted between the source and the sink;
An authentication means for performing mutual authentication and key exchange between the source and the sink;
Content transmission means for encrypting and transmitting the content designated by the content designation means from the source to the sink using the key exchanged by the authentication means;
The content on the sink side is kept in an invalidated state until the content transmission processing is completed, and the content on the sink side is validated in response to the completion of the content transmission processing by the content transmission means. Content transmission end processing means for invalidating the content,
Content transmission processing canceling means for canceling the content transmission processing in response to a request from at least one of Sink and Source until the content transmission processing by the content transmission means is completed;
With
The authentication unit holds a TCP connection for authentication and key exchange until the content transmission end processing by the content transmission end processing unit ends.
The content transmission processing cancellation means cancels the content transmission processing using the TCP connection for authentication and key exchange.
Content transmission system.
前記コンテンツ伝送処理取り消し手段は、コンテンツ伝送処理を取り消す際に、Sinkに伝送されたコンテンツを削除する、
請求項1に記載のコンテンツ伝送システム。
The content transmission processing cancellation means deletes the content transmitted to the sink when canceling the content transmission processing.
The content transmission system according to claim 1.
前記認証手段は、相互認証及び鍵交換に併せて、SourceとSinkがともにコンテンツ伝送終了処理手段による処理に対応しているかどうかケイパビリティを確認する、
請求項1に記載のコンテンツ伝送システム。
The authentication means confirms the capability to determine whether both the source and sink are compatible with the processing by the content transmission end processing means in addition to mutual authentication and key exchange.
The content transmission system according to claim 1.
前記コンテンツ指定手段は、UPnPで規定されているCDS(Content Directory Service)を利用して行ない、
前記認証手段、前記コンテンツ伝送手段、及びコンテンツ伝送終了処理手段は、DTCP−IP(Digital Transmission Content Protection − Internet Protocol)上で各処理を行なう、
請求項1に記載のコンテンツ伝送システム。
The content specifying means is performed using a CDS (Content Directory Service) defined by UPnP,
The authentication unit, the content transmission unit, and the content transmission end processing unit perform each process on a DTCP-IP (Digital Transmission Content Protection-Internet Protocol).
The content transmission system according to claim 1.
ユーザが操作するSinkが、コンテンツを提供するサーバとして動作するSourceからコンテンツをダウンロードする形式でコンテンツの移動を行なう、
請求項4に記載のコンテンツ伝送システム。
The sink operated by the user moves the content in the form of downloading the content from the source that operates as a server that provides the content.
The content transmission system according to claim 4.
前記コンテンツ指定手段は、Sinkにおいて、CDS::Browse requestに対するSourceからのCDS::Browse responseに含まれる情報に基づいて、移動したいコンテンツの認証及び鍵交換用のソケット情報を取得するとともに当該コンテンツがSourceから移動可能か否かを確認する、
請求項5に記載のコンテンツ伝送システム。
The content designating unit acquires socket information for authentication and key exchange of the content to be moved based on information included in the CDS :: Browse response from the Source for the CDS :: Browse request in the sink and Check if it is possible to move from the source,
The content transmission system according to claim 5.
前記コンテンツ伝送手段は、Sinkにおいて、ヘッダ内にコンテンツの移動であることを示すヘッダ情報を含めて、HTTP(Hyper Text Transfer Protocol) GETメソッドを用いてSourceから暗号化コンテンツを取得する、
請求項5に記載のコンテンツ伝送システム。
In the sink, the content transmission means includes header information indicating that the content is moved in the header, and acquires encrypted content from the source using an HTTP (Hyper Text Transfer Protocol) GET method.
The content transmission system according to claim 5.
ユーザが操作するSourceが、コンテンツを提供するサーバとして動作するSinkに対してコンテンツをアップロードする形式でコンテンツの移動を行なう、
請求項1に記載のコンテンツ伝送システム。
The source operated by the user moves the content in the form of uploading the content to the sink operating as the server that provides the content.
The content transmission system according to claim 1.
前記コンテンツ指定手段は、Sourceにおいて、CDS::CreateObject requestを用いて当該コンテンツの移動場所の作成を要求するとともに、該要求に対するSinkからの応答によりコンテンツの移動場所のURI(Uniform Resource Idendentifier)を受け取り、
前記コンテンツ伝送手段は、該受け取ったコンテンツの移動場所のURIに対してHTTP POSTメソッドを用いてSourceから暗号化コンテンツを伝送する、
請求項8に記載のコンテンツ伝送システム。
The content designating unit requests creation of a moving location of the content by using CDS :: CreateObject request in the Source, and receives a URI (Uniform Resource Identifier) of the moving location of the content in response to the request. ,
The content transmission means transmits the encrypted content from the source using an HTTP POST method to the URI of the moving location of the received content.
The content transmission system according to claim 8.
前記コンテンツ指定手段は、Sourceにおいて、CDS::CreateObject requestを用いてSinkに対し認証及び鍵交換用のソケット情報を通知し、
前記認証手段は、該ソケット情報に基づいて認証及び鍵交換用のTCPコネクションをSink側から確立する、
請求項9に記載のコンテンツ伝送システム。
The content designation means notifies the socket information for authentication and key exchange to the sink using CDS :: CreateObject request in the source,
The authentication means establishes a TCP connection for authentication and key exchange from the sink side based on the socket information.
The content transmission system according to claim 9.
前記コンテンツ指定手段は、Sourceにおいて、CDS::Create Object requestの応答で受け取ったコンテンツ移動先のURIに対して(コンテンツを含まない)HTTP POSTメソッドのヘッダ情報を用いてSinkに対し認証及び鍵交換用のソケット情報を通知し、
前記認証手段は、該ソケット情報に基づいて認証及び鍵交換用のTCPコネクションをSink側から確立する、
請求項9に記載のコンテンツ伝送システム。
The content specifying means performs authentication and key exchange for the sink using the header information of the HTTP POST method (not including the content) for the content destination URI received in response to the CDS :: Create Object request in the source. For socket information for
The authentication means establishes a TCP connection for authentication and key exchange from the sink side based on the socket information.
The content transmission system according to claim 9.
前記コンテンツ伝送手段は、Sourceにおいて、ヘッダ内にコンテンツの移動であることを示すヘッダ情報を含めて、HTTP POSTメソッドを用いてSinkへ暗号化コンテンツを送信する、
請求項8に記載のコンテンツ伝送システム。
In the source, the content transmission means includes the header information indicating that the content is moved in the header, and transmits the encrypted content to the sink using the HTTP POST method.
The content transmission system according to claim 8.
前記認証手段は、移動するコンテンツ毎にAKE手続きによりコンテンツ移動専用の鍵の交換を行なう、
請求項3に記載のコンテンツ伝送システム。
The authentication means exchanges a key dedicated to content movement by an AKE procedure for each content to be moved.
The content transmission system according to claim 3.
前記認証手段は、前記コンテンツ伝送終了処理手段によるコンテンツ伝送終了処理が終了したことに応答して、Source及びSinkにおけるコンテンツ移動専用の交換鍵を消滅させる、
請求項13に記載のコンテンツ伝送システム。
In response to the completion of the content transmission end processing by the content transmission end processing unit, the authentication unit extinguishes the exchange key dedicated to content transfer in the source and sink.
The content transmission system according to claim 13.
Sourceは、Sinkに対してコンテンツを移動中、他のSinkからの当該コンテンツの移動要求を拒否する、
請求項1に記載のコンテンツ伝送システム。
While the source is moving the content to the sink, the source rejects the transfer request for the content from another sink.
The content transmission system according to claim 1.
Sinkは、Sourceから移動中でまだ有効化されていないコンテンツを再生する手段を備える、
請求項1に記載のコンテンツ伝送システム。
Sink comprises means for playing content that has been moved from Source and has not yet been activated,
The content transmission system according to claim 1.
前記コンテンツ伝送手段によるコンテンツ伝送処理が終了するまでの間、SinkとSource間の通信が途切れたときに、Sink又はSourceの少なくとも一方からの要求によりコンテンツ伝送処理を中止するコンテンツ伝送処理中止手段をさらに備える、
請求項1に記載のコンテンツ伝送システム。
Content transmission processing stop means for stopping the content transmission processing in response to a request from at least one of the sink and the source when communication between the sink and the source is interrupted until the content transmission processing by the content transmission means ends. Prepare
The content transmission system according to claim 1.
前記コンテンツ伝送終了処理手段は、
SinkからSourceに対してコンテンツ受信終了を示す第1のコマンドが送信されたことに応答して、Source側の元のコンテンツを中間的な無効状態にし、
SourceからSinkに第1のコマンドに対する第1のレスポンスが返信されたことに応答してSink側に伝送されたコンテンツを有効化するとともに、Sink側で保持するコンテンツ移動専用の鍵乃至第1のコマンドで送る情報を消滅させ、
SinkからSourceに対してコンテンツ有効化を示す第2のコマンドが送信されたことに応答して、Source側の元のコンテンツを無効状態にするとともに、Source側で保持するコンテンツ移動専用の鍵乃至第1のレスポンスで送る情報を消滅させる、
請求項1に記載のコンテンツ伝送システム。
The content transmission end processing means is
In response to the transmission of the first command indicating the end of content reception from the sink to the source, the original content on the source side is set to an intermediate invalid state,
The content transmission-only key or first command held on the Sink side is validated while the content transmitted to the Sink side is validated in response to the first response to the first command being returned from the Source to the Sink Erasing the information sent by
In response to the transmission of the second command indicating content validation from the sink to the source, the original content on the source side is invalidated, and the content move-only key held on the source side to the first Erasing the information sent in response 1
The content transmission system according to claim 1.
前記コンテンツ伝送手段によるSourceからSinkへのコンテンツ伝送が成功裏に終了したにも拘らず、前記コンテンツ伝送終了処理手段による処理が途切れてしまった場合に、コンテンツ伝送終了処理を再開するためのコンテンツ伝送終了処理再開手段をさらに備える、
請求項18に記載のコンテンツ伝送システム。
Content transmission for resuming content transmission end processing when processing by the content transmission end processing means is interrupted despite successful completion of content transmission from the source to the sink by the content transmission means An end process restarting unit;
The content transmission system according to claim 18.
前記コンテンツ伝送終了処理再開手段は、SourceがSinkからコンテンツ受信終了を示す第1のコマンドを受信したときに、Sourceがコンテンツ移動専用の交換鍵乃至第1のレスポンスで送る情報をまだ保持している場合には、Source側の元のコンテンツを中間的な無効状態にし、SourceからSinkに第1のコマンドに対する第1のレスポンスを返信させる、
請求項19に記載のコンテンツ伝送システム。
The content transmission end processing resumption means still holds information sent by the source using the exchange key dedicated to content movement or the first response when the source receives the first command indicating the end of content reception from the sink. In such a case, the original content on the source side is set to an intermediate invalid state, and the first response to the first command is returned from the source to the sink.
The content transmission system according to claim 19.
前記コンテンツ伝送終了処理再開手段は、SourceがSinkからコンテンツ受信終了を示す第2のコマンドを受信したときに、Sourceがコンテンツ移動専用の交換鍵乃至第1のレスポンスで送る情報をまだ保持している場合には、Source側の元のコンテンツを無効状態にし、Source側で保持するコンテンツ移動専用の鍵乃至第1のレスポンスで送る情報を消滅させるとともに、SourceからSinkに第2のコマンドに対する第2のレスポンスを返信させる、
請求項19に記載のコンテンツ伝送システム。
The content transmission end processing resumption means still holds information sent by the source using the exchange key dedicated to content movement or the first response when the source receives the second command indicating the end of content reception from the sink. In this case, the original content on the Source side is invalidated, the content transfer key held on the Source side or the information sent in the first response disappears, and the second command for the second command is sent from the Source to the Sink. Make a response return,
The content transmission system according to claim 19.
前記コンテンツ伝送終了処理再開手段は、Sinkがコンテンツ移動専用の交換鍵乃至第1のコマンドで送る情報をまだ保持している場合には、コンテンツ移動元となるSourceとの接続を確立し、該当するコンテンツがSink側で無効状態であればSourceに第1のコマンドを送信させ、該当するコンテンツがSink側で既に有効化されていれば第2のコマンドを送信させる、
請求項19に記載のコンテンツ伝送システム。
The content transmission end process resuming means establishes a connection with the source of the content transfer, if the sink still holds the exchange key dedicated to the content transfer or the information sent by the first command, and applies If the content is in an invalid state on the sink side, the source sends the first command, and if the corresponding content is already enabled on the sink side, the second command is sent.
The content transmission system according to claim 19.
前記コンテンツ伝送終了処理再開手段は、再開処理を行なうためのSink及びSource間のコネクションを確立する手段を備える、
請求項19に記載のコンテンツ伝送システム。
The content transmission end process restarting means includes means for establishing a connection between a sink and a source for performing the restart process.
The content transmission system according to claim 19.
前記コンテンツ伝送終了処理再開手段は、ダウンロード形式で行なわれたコンテンツ伝送の終了処理を再開する際に、Sinkにおいて、CDS::Browse requestに対するSourceからのCDS::Browse responseに含まれる情報に基づいて認証及び鍵交換用のソケット情報を取得して、Sourceとのコネクションを確立する、
請求項23に記載のコンテンツ伝送システム。
The content transmission end process resuming unit, when resuming the content transmission end process performed in the download format, is based on information included in the CDS :: Browse response from the Source for the CDS :: Browse request in the sink. Obtain socket information for authentication and key exchange, and establish a connection with Source.
The content transmission system according to claim 23.
前記コンテンツ伝送終了処理再開手段は、アップロード形式で行なわれたコンテンツ伝送の終了処理を再開する際に、Sourceにおいて、(コンテンツを含まない)HTTP POSTメソッドを用いてSinkに認証及び鍵交換用のソケット情報を通知し、Sinkが該ソケット情報に基づいてSourceとのコネクションを確立する、
請求項23に記載のコンテンツ伝送システム。
The content transmission end process resuming means uses an HTTP POST method (not including contents) in the source to authenticate and exchange a key exchange socket when resuming the content transmission end process performed in the upload format. Information, and Sink establishes a connection with the Source based on the socket information.
The content transmission system according to claim 23.
前記認証手段によりSourceとSink間で確認されたMOVE伝送の詐称を防止する詐称防止手段をさらに備える、
請求項1に記載のコンテンツ伝送システム。
A spoofing prevention unit for preventing the spoofing of the MOVE transmission confirmed between the source and the sink by the authentication unit;
The content transmission system according to claim 1.
前記詐称防止手段は、コンテンツ伝送方法毎に前記認証手段で交換した鍵からコンテンツ暗号鍵を生成する方法を変える、
請求項26に記載のコンテンツ伝送システム。
The spoofing prevention means changes a method for generating a content encryption key from a key exchanged by the authentication means for each content transmission method.
The content transmission system according to claim 26.
前記詐称防止手段は、コンテンツ伝送方法毎に前記認証手段で交換した鍵をスクランブルする方法を変える、
請求項26に記載のコンテンツ伝送システム。
The spoofing prevention means changes a method of scrambling the key exchanged by the authentication means for each content transmission method.
The content transmission system according to claim 26.
前記詐称防止手段は、相互認証及び鍵交換のためのチャレンジ・レスポンス手続きにおいて、SinkからSourceへの通信メッセージの中にコンテンツ伝送方法に関する情報を含める、
請求項26に記載のコンテンツ伝送システム。
The spoofing prevention means includes information on a content transmission method in a communication message from a sink to a source in a challenge / response procedure for mutual authentication and key exchange.
The content transmission system according to claim 26.
DTCPに従ってコンテンツを送信するSourceとして動作するコンテンツ伝送装置であって、
Sinkとの間で伝送対象となるコンテンツを指定するコンテンツ指定手段と、
AKE手続きによりSinkとの間で相互認証及び鍵交換を行なう認証手段と、
前記認証手段により交換した鍵を用いて、前記コンテンツ指定手段により指定されたコンテンツを、Sinkへ暗号化伝送するコンテンツ伝送手段と、
コンテンツ伝送処理が終了するまではSink側のコンテンツを無効化した状態に保ち、前記コンテンツ伝送手段によりコンテンツ伝送処理が終了したことに応じて、元のコンテンツを無効化するコンテンツ伝送終了処理手段と、
前記コンテンツ伝送手段によるコンテンツ伝送処理が終了するまでの間、コンテンツ伝送処理を取り消すコンテンツ伝送処理取り消し手段と、
を備え、
前記認証手段は、コンテンツ伝送終了処理手段によるコンテンツ伝送終了処理が終了するまでの間、認証及び鍵交換用のTCPコネクションを保持し、
前記コンテンツ伝送処理取り消し手段は、前記認証及び鍵交換用のTCPコネクションを用いてコンテンツ伝送処理を取り消す、
コンテンツ伝送装置。
A content transmission device that operates as a source that transmits content according to DTCP,
Content specifying means for specifying content to be transmitted to and from the sink;
An authentication means for performing mutual authentication and key exchange with Sink by an AKE procedure;
Content transmission means for encrypting and transmitting the content designated by the content designation means to the sink using the key exchanged by the authentication means;
Content transmission end processing means for invalidating the original content in response to completion of the content transmission processing by the content transmission means, keeping the content on the sink side invalid until the content transmission processing is completed;
Content transmission processing canceling means for canceling the content transmission processing until the content transmission processing by the content transmission means ends;
With
The authentication unit holds a TCP connection for authentication and key exchange until the content transmission end processing by the content transmission end processing unit ends.
The content transmission processing cancellation means cancels the content transmission processing using the TCP connection for authentication and key exchange.
Content transmission device.
前記コンテンツ伝送処理取り消し手段は、コンテンツ伝送処理を取り消す際に、Sinkに伝送されたコンテンツを削除する、
請求項30に記載のコンテンツ伝送装置。
The content transmission processing cancellation means deletes the content transmitted to the sink when canceling the content transmission processing.
The content transmission apparatus according to claim 30.
前記認証手段は、相互認証及び鍵交換に併せて、Sinkがコンテンツ伝送終了処理手段に対応しているかどうかケイパビリティを確認する、
請求項30に記載のコンテンツ伝送装置。
The authentication means confirms the capability whether or not the sink is compatible with the content transmission end processing means in conjunction with mutual authentication and key exchange.
The content transmission apparatus according to claim 30.
コンテンツを提供するサーバとして動作し、Sink側からのユーザ操作に応じてコンテンツをSinkへダウンロードする際に、
前記コンテンツ指定手段は、SinkからのCDS::Browse requestに応答して、各コンテンツの認証及び鍵交換用のソケット情報と当該コンテンツがSourceから移動可能か否かを記載したCDS::Browse responseを返信し、
前記コンテンツ伝送手段は、Sinkからの、ヘッダ内にコンテンツの移動であることを示すヘッダ情報を含んだHTTP GETメソッドに応じて暗号化コンテンツを伝送する、
請求項30に記載のコンテンツ伝送装置。
When operating as a server that provides content and downloading content to a sink in response to a user operation from the sink side,
In response to the CDS :: Browse request from the sink, the content designating means sets a socket information for authentication and key exchange of each content and a CDS :: Browse response describing whether the content can be moved from the source. Reply,
The content transmission means transmits encrypted content in accordance with an HTTP GET method including header information indicating that the content is moved in the header from the sink.
The content transmission apparatus according to claim 30.
コンテンツを提供するサーバとして動作するSinkに対して、ユーザの操作に応じてコンテンツをアップロードする際に、
前記コンテンツ指定手段は、Sinkに対して、CDS::CreateObject requestを用いて当該コンテンツの移動場所の作成を要求するとともに、該要求に対するSinkからの応答によりコンテンツの移動場所のURIを受け取り、
前記コンテンツ伝送手段は、ヘッダ内にコンテンツの移動であることを示すヘッダ情報を含めて、該受け取ったコンテンツの移動場所のURIに対してHTTP POSTメソッドを用いてSinkへ暗号化コンテンツを送信する、
請求項30に記載のコンテンツ伝送装置。
When uploading content in response to a user's operation for a sink that operates as a server that provides content,
The content specifying means requests the sink to create the moving location of the content using CDS :: CreateObject request, and receives the URI of the moving location of the content in response to the request from the sink.
The content transmission means includes header information indicating that the content is moved in the header, and transmits the encrypted content to the sink using the HTTP POST method with respect to the URI of the movement location of the received content.
The content transmission apparatus according to claim 30.
前記コンテンツ指定手段は、Sinkに対し、CDS::CreateObject requestを用いて認証及び鍵交換用のソケット情報を通知し、
前記認証手段は、該ソケット情報に基づいてSink側から認証及び鍵交換用のTCPコネクションを確立する、
請求項34に記載のコンテンツ伝送装置。
The content specifying means notifies the socket information for authentication and key exchange to the sink using CDS :: CreateObject request.
The authentication means establishes a TCP connection for authentication and key exchange from the sink side based on the socket information.
The content transmission device according to claim 34.
前記コンテンツ指定手段は、Sinkに対し、CDS::Create Object requestの応答で受け取ったコンテンツ移動先のURIに対して(コンテンツを含まない)HTTP POSTメソッドのヘッダ情報を用いて認証及び鍵交換用のソケット情報を通知し、
前記認証手段は、該ソケット情報に基づいてSink側から認証及び鍵交換用のTCPコネクションをSink側から確立させる、
請求項34に記載のコンテンツ伝送装置。
The content designating means uses the header information of the HTTP POST method (not including the content) for the content transfer destination URI received in response to CDS :: Create Object request to the sink for authentication and key exchange. Notify socket information
The authentication means establishes a TCP connection for authentication and key exchange from the sink side from the sink side based on the socket information.
The content transmission device according to claim 34.
前記認証手段は、Sinkへ移動するコンテンツ毎にAKE手続きによりコンテンツ移動専用の鍵の交換を行なう、
請求項30に記載のコンテンツ伝送装置。
The authentication means exchanges a key dedicated to moving content by AKE procedure for each content moving to the sink.
The content transmission apparatus according to claim 30.
前記認証手段は、前記コンテンツ伝送手段によるコンテンツの伝送が終了したことに応答して、コンテンツ移動専用の鍵を消滅させる、
請求項30に記載のコンテンツ伝送装置。
In response to the completion of content transmission by the content transmission means, the authentication means extinguishes a key dedicated to content movement.
The content transmission apparatus according to claim 30.
前記コンテンツ伝送手段は、Sinkに対してコンテンツを移動中、他のSinkからの当該コンテンツの移動要求を拒否する、
請求項30に記載のコンテンツ伝送装置。
The content transmission means rejects a request to move the content from another sink while moving the content to the sink.
The content transmission apparatus according to claim 30.
前記認証手段は、コンテンツ伝送手段によるコンテンツ伝送処理が終了するまでの間、認証及び鍵交換用のTCPコネクションを保持し、
前記コンテンツ伝送手段によるコンテンツ伝送処理が終了するまでの間、認証及び鍵交換用のTCPコネクションを用いてコンテンツ伝送処理を取り消すコンテンツ伝送処理取り消し手段をさらに備える、
請求項30に記載のコンテンツ伝送装置。
The authentication unit holds a TCP connection for authentication and key exchange until the content transmission process by the content transmission unit is completed,
A content transmission process canceling unit that cancels the content transmission process using a TCP connection for authentication and key exchange until the content transmission process by the content transmission unit ends;
The content transmission apparatus according to claim 30.
前記コンテンツ伝送手段によるコンテンツ伝送処理が終了するまでの間、Sinkとの通信が途切れたときに、コンテンツ伝送処理を中止するコンテンツ伝送処理中止手段をさらに備える、
請求項30に記載のコンテンツ伝送装置。
A content transmission process stopping unit that stops the content transmission process when communication with the sink is interrupted until the content transmission process by the content transmission unit is terminated;
The content transmission apparatus according to claim 30.
前記コンテンツ伝送終了処理手段は、
Sinkからコンテンツ受信終了を示す第1のコマンドが受信したことに応答して元のコンテンツを中間的な無効状態にするとともに第1のコマンドに対する第1のレスポンスを返信し、
Sinkからコンテンツ有効化を示す第2のコマンドが受信したことに応答して、Source側の元のコンテンツを無効状態にする、
請求項30に記載のコンテンツ伝送装置。
The content transmission end processing means is
In response to the reception of the first command indicating the end of content reception from the sink, the original content is set to an intermediate invalid state and a first response to the first command is returned.
In response to receiving the second command indicating content validation from the sink, the original content on the source side is disabled.
The content transmission apparatus according to claim 30.
前記コンテンツ伝送手段によるSinkへのコンテンツ伝送が成功裏に終了したにも拘らず、前記コンテンツ伝送終了処理手段による処理が途切れてしまった場合に、コンテンツ伝送終了処理を再開するためのコンテンツ伝送終了処理再開手段をさらに備える、
請求項42に記載のコンテンツ伝送装置。
Content transmission end processing for resuming content transmission end processing when processing by the content transmission end processing means is interrupted despite successful completion of content transmission to the sink by the content transmission means Further comprising resumption means,
The content transmission device according to claim 42.
前記コンテンツ伝送終了処理再開手段は、Sinkからコンテンツ受信終了を示す第1のコマンドを受信したときに、前記認証手段がコンテンツ移動専用の交換鍵乃至第1のレスポンスで送る情報をまだ保持している場合には、元のコンテンツを中間的な無効状態にするとともに、Sinkに第1のコマンドに対する第1のレスポンスが返信する、
請求項43に記載のコンテンツ伝送装置。
The content transmission end process resuming means still holds the information sent by the authentication means using the exchange key dedicated to content movement or the first response when receiving the first command indicating the end of content reception from the sink. In this case, the original content is set to an intermediate invalid state, and a first response to the first command is returned to the sink.
44. The content transmission device according to claim 43.
前記コンテンツ伝送終了処理再開手段は、Sinkからコンテンツ受信終了を示す第2のコマンドを受信したときに、前記認証手段がコンテンツ移動専用の交換鍵乃至第1のレスポンスで送る情報をまだ保持している場合には、元のコンテンツを無効状態にし、前記認証手段が保持するコンテンツ移動専用の鍵を消滅させるとともに、Sinkに第2のコマンドに対する第2のレスポンスが返信する、
請求項43に記載のコンテンツ伝送装置。
The content transmission end process resuming means still holds the information sent by the authentication means using the exchange key dedicated to content movement or the first response when receiving the second command indicating the end of content reception from the sink. In this case, the original content is invalidated, the content transfer-dedicated key held by the authentication unit is extinguished, and a second response to the second command is returned to the sink.
44. The content transmission device according to claim 43.
前記コンテンツ伝送終了処理再開手段は、再開処理を行なうためのSinkとのコネクションを確立する手段を備える、
請求項43に記載のコンテンツ伝送装置。
The content transmission end process restarting means includes means for establishing a connection with the sink for performing the restart process.
44. The content transmission device according to claim 43.
前記コンテンツ伝送終了処理再開手段は、ダウンロード形式で行なわれたコンテンツ伝送の終了処理を再開する際に、SinkからのCDS::Browse requestに対して認証及び鍵交換用のソケット情報を含んだCDS::Browse responseを返信して、Sinkとのコネクションを確立する、
請求項46に記載のコンテンツ伝送装置。
When the content transmission end process resuming means restarts the content transmission end process performed in the download format, the CDS: including socket information for authentication and key exchange with respect to the CDS :: Browse request from the sink. : Return a Browse response to establish a connection with the sink.
The content transmission device according to claim 46.
前記コンテンツ伝送終了処理再開手段は、アップロード形式で行なわれたコンテンツ伝送の終了処理を再開する際に、HTTP POSTメソッドを用いてSinkに認証及び鍵交換用のソケット情報を通知して、Sinkとのコネクションを確立する、
請求項46に記載のコンテンツ伝送装置。
The content transmission end process restarting means notifies the sink of authentication and key exchange socket information using the HTTP POST method when restarting the content transmission end process performed in the upload format. Establish a connection,
The content transmission device according to claim 46.
前記認証手段によりSinkとの間で確認されたMOVE伝送の詐称を防止する詐称防止手段をさらに備える、
請求項30に記載のコンテンツ伝送装置。
Further comprising a spoofing prevention means for preventing a spoofing of MOVE transmission confirmed with the sink by the authentication means;
The content transmission apparatus according to claim 30.
前記詐称防止手段は、ケイパビリティに対応したコンテンツ伝送方法毎に前記認証手段で交換した鍵からコンテンツ暗号鍵を生成する方法を変える、
請求項49に記載のコンテンツ伝送装置。
The spoofing prevention means changes a method for generating a content encryption key from a key exchanged by the authentication means for each content transmission method corresponding to capability.
50. The content transmission device according to claim 49.
前記詐称防止手段は、コンテンツ伝送方法毎に前記認証手段で交換した鍵をスクランブルする方法を変える、
請求項49に記載のコンテンツ伝送装置。
The spoofing prevention means changes a method of scrambling the key exchanged by the authentication means for each content transmission method.
50. The content transmission device according to claim 49.
DTCPに従ってコンテンツを受信するSinkとして動作するコンテンツ伝送装置であって、
Sourceとの間で伝送対象となるコンテンツを指定するコンテンツ指定手段と、
AKE手続きによりSourceとの間で相互認証及び鍵交換を行なう認証手段と、
前記認証手段により交換した鍵を用いて、前記コンテンツ指定手段により指定されたコンテンツを、Sourceから暗号化伝送するコンテンツ伝送手段と、
コンテンツ伝送処理が終了するまではコンテンツを無効化した状態に保ち、前記コンテンツ伝送手段によりコンテンツ伝送処理が終了したことに応じて、受信したコンテンツを有効化するコンテンツ伝送終了処理手段と、
前記コンテンツ伝送手段によるコンテンツ伝送処理が終了するまでの間、認コンテンツ伝送処理を取り消すコンテンツ伝送処理取り消し手段と、
を備え、
前記認証手段は、コンテンツ伝送終了処理手段によるコンテンツ伝送終了処理が終了するまでの間、認証及び鍵交換用のTCPコネクションを保持し、
前記コンテンツ伝送処理取り消し手段は、前記認証及び鍵交換用のTCPコネクションを用いてコンテンツ伝送処理を取り消す、
コンテンツ伝送装置。
A content transmission device that operates as a sink that receives content according to DTCP,
Content specifying means for specifying content to be transmitted to and from the source;
An authentication means for performing mutual authentication and key exchange with the Source by the AKE procedure;
Content transmission means for encrypting and transmitting the content designated by the content designation means from the source using the key exchanged by the authentication means;
Content transmission end processing means that keeps the content invalid until the content transmission processing is finished, and validates the received content in response to the content transmission processing being finished by the content transmission means;
A content transmission process canceling unit for canceling the approved content transmission process until the content transmission process by the content transmission unit is completed;
With
The authentication unit holds a TCP connection for authentication and key exchange until the content transmission end processing by the content transmission end processing unit ends.
The content transmission processing cancellation means cancels the content transmission processing using the TCP connection for authentication and key exchange.
Content transmission device.
前記認証手段は、相互認証及び鍵交換に併せて、Sinkがコンテンツ伝送終了処理手段に対応しているかどうかケイパビリティを確認する、
請求項52に記載のコンテンツ伝送装置。
The authentication means confirms the capability whether or not the sink is compatible with the content transmission end processing means in conjunction with mutual authentication and key exchange.
53. The content transmission device according to claim 52.
コンテンツを提供するサーバとして動作するSourceから、ユーザ操作に応じてコンテンツをダウンロードする際に、
前記コンテンツ指定手段は、CDS::Browse requestを送信し、SourceからのCDS::Browse responseに含まれる情報に基づいて、移動したいコンテンツの認証及び鍵交換用のソケット情報を取得するとともに当該コンテンツがSourceから移動可能か否かを確認し、
前記コンテンツ伝送手段は、ヘッダ内にコンテンツの移動であることを示すヘッダ情報を含めて、HTTP GETメソッドを用いてSourceから暗号化コンテンツを取得する、
請求項52に記載のコンテンツ伝送装置。
When downloading content in response to a user operation from a source that operates as a server that provides content,
The content specifying means transmits CDS :: Browse request, acquires socket information for authentication and key exchange of the content to be moved based on information included in the CDS :: Browse response from the Source, and the content is Check if you can move from the source,
The content transmission means includes the header information indicating that the content is moved in the header, and acquires the encrypted content from the source using the HTTP GET method.
53. The content transmission device according to claim 52.
コンテンツを提供するサーバとして動作し、Source側からのユーザの操作に応じてコンテンツをアップロードする際に、
前記コンテンツ指定手段は、Sourceから受信したCDS::CreateObject requestに基づいて当該コンテンツの移動場所を作成し、
前記コンテンツ伝送手段は、Sourceからの、ヘッダ内にコンテンツの移動であることを示すヘッダ情報を含んだHTTP POSTメソッドにより暗号化コンテンツを受信する、
請求項52に記載のコンテンツ伝送装置。
When operating as a server that provides content and uploading content in response to user operations from the Source side,
The content specifying means creates a moving location of the content based on the CDS :: CreateObject request received from the source,
The content transmission means receives encrypted content from an Source by an HTTP POST method including header information indicating that the content is moved in the header.
53. The content transmission device according to claim 52.
前記認証手段は、前記コンテンツ伝送手段によるコンテンツの伝送が終了したことに応答して、コンテンツ移動専用の鍵の交換を消滅させる、
請求項52に記載のコンテンツ伝送装置。
In response to completion of content transmission by the content transmission unit, the authentication unit extinguishes the exchange of keys dedicated to content movement.
53. The content transmission device according to claim 52.
Sourceから移動中でまだ有効化されていないコンテンツを再生する手段をさらに備える、
請求項52に記載のコンテンツ伝送装置。
Further comprising means for playing content that has been moved from the source and has not yet been activated;
53. The content transmission device according to claim 52.
前記コンテンツ伝送手段によるコンテンツ伝送処理が終了するまでの間、認証及び鍵交換用のTCPコネクションを用いてコンテンツ伝送処理を取り消すコンテンツ伝送処理取り消し手段をさらに備える、
請求項52に記載のコンテンツ伝送装置。
A content transmission process canceling unit that cancels the content transmission process using a TCP connection for authentication and key exchange until the content transmission process by the content transmission unit ends;
53. The content transmission device according to claim 52.
前記コンテンツ伝送処理取り消し手段は、コンテンツ伝送処理を取り消す際に、Sourceから伝送されたコンテンツを無効化する、
請求項58に記載のコンテンツ伝送装置。
The content transmission processing cancellation means invalidates the content transmitted from the source when canceling the content transmission processing.
59. The content transmission device according to claim 58.
前記コンテンツ伝送手段によるコンテンツ伝送処理が終了するまでの間、Sourceとの通信が途切れたときに、コンテンツ伝送処理を中止するコンテンツ伝送処理中止手段をさらに備える、
請求項52に記載のコンテンツ伝送装置。
A content transmission process stopping unit that stops the content transmission process when communication with the source is interrupted until the content transmission process by the content transmission unit ends;
53. The content transmission device according to claim 52.
前記コンテンツ伝送終了処理手段は、Sourceに対してコンテンツ受信終了を示す第1のコマンドを送信し、SourceからSinkに第1のコマンドに対する第1のレスポンスが返信されたことに応答して伝送されたコンテンツを有効化するとともに、前記認証手段が保持するコンテンツ移動専用の鍵乃至第1のコマンドで送る情報を消滅させる、
請求項52に記載のコンテンツ伝送装置。
The content transmission end processing means transmits a first command indicating the end of content reception to the source, and is transmitted in response to the first response to the first command being returned from the source to the sink. Validating the content, and extinguishing the information sent by the authentication command with the content movement key or the first command,
53. The content transmission device according to claim 52.
前記コンテンツ伝送手段によるSourceとのコンテンツ伝送が成功裏に終了したにも拘らず、前記コンテンツ伝送終了処理手段による処理が途切れてしまった場合に、コンテンツ伝送終了処理を再開するためのコンテンツ伝送終了処理再開手段をさらに備える、
請求項61に記載のコンテンツ伝送装置。
Content transmission end processing for resuming content transmission end processing when processing by the content transmission end processing means is interrupted despite successful completion of content transmission with the source by the content transmission means Further comprising resumption means,
The content transmission apparatus according to claim 61.
前記コンテンツ伝送終了処理再開手段は、前記認証手段がコンテンツ移動専用の交換鍵乃至第1のコマンドで送る情報をまだ保持している場合には、Sourceとの接続を確立し、該当するコンテンツが無効状態であればSourceに第1のコマンドを送信し、該当するコンテンツがSink側で既に有効化されていれば第2のコマンドを送信する、
請求項62に記載のコンテンツ伝送装置。
The content transmission end process resuming means establishes a connection with the source if the authentication means still holds the exchange key dedicated to content movement or the information sent by the first command, and the corresponding content is invalidated. If it is in a state, the first command is sent to the source, and if the corresponding content is already activated on the sink side, the second command is sent.
The content transmission device according to claim 62.
前記コンテンツ伝送終了処理再開手段は、再開処理を行なうためのSourceとのコネクションを確立する手段を備える、
請求項62に記載のコンテンツ伝送装置。
The content transmission end process resuming means includes means for establishing a connection with a source for performing resumption processing.
The content transmission device according to claim 62.
前記コンテンツ伝送終了処理再開手段は、ダウンロード形式で行なわれたコンテンツ伝送の終了処理を再開する際に、CDS::Browse requestに対するSourceからのCDS::Browse responseに含まれる情報に基づいて認証及び鍵交換用のソケット情報を取得して、Sourceとのコネクションを確立する、
請求項64に記載のコンテンツ伝送装置。
The content transmission end process resuming means, when resuming the content transmission end process performed in the download format, authenticates and keys based on information included in the CDS :: Browse response from the Source for the CDS :: Browse request. Get socket information for exchange and establish connection with Source.
The content transmission apparatus according to claim 64.
前記コンテンツ伝送終了処理再開手段は、アップロード形式で行なわれたコンテンツ伝送の終了処理を再開する際に、Sourceからの(コンテンツを含まない)HTTP POSTメソッドを用いて通知された認証及び鍵交換用のソケット情報に基づいてSourceとのコネクションを確立する、
請求項64に記載のコンテンツ伝送装置。
The content transmission end process resuming means is used for authentication and key exchange notified by using the HTTP POST method (not including the content) from the Source when resuming the end process of the content transmission performed in the upload format. Establish a connection with the Source based on the socket information.
The content transmission apparatus according to claim 64.
前記認証手段によりSourceとの間で確認されたMOVE伝送の詐称を防止する詐称防止手段をさらに備える、
請求項52に記載のコンテンツ伝送装置。
Further comprising a spoofing prevention unit for preventing the spoofing of the MOVE transmission confirmed with the source by the authentication unit;
53. The content transmission device according to claim 52.
前記詐称防止手段は、相互認証及び鍵交換のためのチャレンジ・レスポンス手続きにおいて、Sourceへの通信メッセージの中にコンテンツ伝送方法に関する情報を含める、
請求項67に記載のコンテンツ伝送装置。
The spoofing prevention means includes information on a content transmission method in a communication message to a source in a challenge / response procedure for mutual authentication and key exchange.
68. The content transmission device according to claim 67.
DTCP Sourceとしてコンテンツを送信するコンテンツ伝送方法であって、
Sinkとの間で伝送対象となるコンテンツを指定するコンテンツ指定ステップと、
AKE手続きによりSinkとの間で相互認証及び鍵交換を行なう認証ステップと、
前記認証ステップにおいて交換した鍵を用いて、前記コンテンツ指定ステップにおいて指定されたコンテンツを、Sinkへ暗号化伝送するコンテンツ伝送ステップと、
コンテンツ伝送処理が終了するまではSink側のコンテンツを無効化した状態に保ち、前記コンテンツ伝送ステップにおいてコンテンツ伝送処理が終了したことに応じて、元のコンテンツを無効化するコンテンツ伝送終了処理ステップと、
前記コンテンツ伝送ステップにおけるコンテンツ伝送処理が終了するまでの間、コンテンツ伝送処理を取り消すコンテンツ伝送処理取り消しステップと、
を有し、
前記認証ステップでは、コンテンツ伝送終了処理ステップにおけるコンテンツ伝送終了処理が終了するまでの間、認証及び鍵交換用のTCPコネクションを保持し、
前記コンテンツ伝送処理取り消しステップでは、前記認証及び鍵交換用のTCPコネクションを用いてコンテンツ伝送処理を取り消す、
コンテンツ伝送方法。
A content transmission method for transmitting content as a DTCP Source,
A content designating step for designating content to be transmitted to and from the sink;
An authentication step of performing mutual authentication and key exchange with Sink by an AKE procedure;
A content transmission step of encrypting and transmitting the content designated in the content designation step to the sink using the key exchanged in the authentication step;
A content transmission end processing step for keeping the content on the sink side invalidated until the content transmission processing is completed, and invalidating the original content in response to the completion of the content transmission processing in the content transmission step;
A content transmission process canceling step for canceling the content transmission process until the content transmission process in the content transmission step ends;
Have
In the authentication step, the TCP connection for authentication and key exchange is held until the content transmission end processing in the content transmission end processing step ends.
In the content transmission processing cancellation step, the content transmission processing is canceled using the TCP connection for authentication and key exchange.
Content transmission method.
DTCP Sinkとしてコンテンツを受信するコンテンツ伝送方法であって、
Sourceとの間で伝送対象となるコンテンツを指定するコンテンツ指定ステップと、
AKE手続きによりSourceとの間で相互認証及び鍵交換を行なう認証ステップと、
前記認証ステップにおいて交換した鍵を用いて、前記コンテンツ指定ステップにおいて指定されたコンテンツを、Sourceから暗号化伝送するコンテンツ伝送ステップと、
コンテンツ伝送処理が終了するまではコンテンツを無効化した状態に保ち、前記コンテンツ伝送ステップにおいてコンテンツ伝送処理が終了したことに応じて、受信したコンテンツを有効化するコンテンツ伝送終了処理ステップと、
前記コンテンツ伝送ステップにおけるコンテンツ伝送処理が終了するまでの間、コンテンツ伝送処理を取り消すコンテンツ伝送処理取り消しステップと、
を有し、
前記認証ステップでは、コンテンツ伝送終了処理ステップにおけるコンテンツ伝送終了処理が終了するまでの間、認証及び鍵交換用のTCPコネクションを保持し、
前記コンテンツ伝送処理取り消しステップでは、前記認証及び鍵交換用のTCPコネクションを用いてコンテンツ伝送処理を取り消す、
コンテンツ伝送方法。
A content transmission method for receiving content as a DTCP Sink,
A content designating step for designating content to be transmitted to and from the source;
An authentication step for performing mutual authentication and key exchange with the source by an AKE procedure;
A content transmission step of encrypting and transmitting the content designated in the content designation step from the source using the key exchanged in the authentication step;
A content transmission end processing step for maintaining the content in a disabled state until the content transmission processing is ended, and enabling the received content in response to completion of the content transmission processing in the content transmission step;
A content transmission process canceling step for canceling the content transmission process until the content transmission process in the content transmission step ends;
Have
In the authentication step, the TCP connection for authentication and key exchange is held until the content transmission end processing in the content transmission end processing step ends.
In the content transmission processing cancellation step, the content transmission processing is canceled using the TCP connection for authentication and key exchange.
Content transmission method.
DTCP Sourceとしてコンテンツを送信するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータを、
Sinkとの間で伝送対象となるコンテンツを指定するコンテンツ指定手段、
AKE手続きによりSinkとの間で相互認証及び鍵交換を行なう認証手段、
前記認証手段により交換した鍵を用いて、前記コンテンツ指定手段により指定されたコンテンツを、Sinkへ暗号化伝送するコンテンツ伝送手段、
コンテンツ伝送処理が終了するまでははSink側のコンテンツを無効化した状態に保ち、前記コンテンツ伝送手段によりコンテンツ伝送処理が終了したことに応じて、元のコンテンツを無効化するコンテンツ伝送終了処理手段、
前記コンテンツ伝送手段によるコンテンツ伝送処理が終了するまでの間、コンテンツ伝送処理を取り消すコンテンツ伝送処理取り消し手段、
として機能させ、
前記認証手段は、コンテンツ伝送終了処理手段によるコンテンツ伝送終了処理が終了するまでの間、認証及び鍵交換用のTCPコネクションを保持し、
前記コンテンツ伝送処理取り消し手段は、前記認証及び鍵交換用のTCPコネクションを用いてコンテンツ伝送処理を取り消す、
コンピュータ・プログラム。
A computer program written in a computer-readable format so as to execute a process for transmitting content as a DTCP Source on a computer, the computer comprising:
Content designating means for designating content to be transmitted to and from the sink;
Authentication means for mutual authentication and key exchange with Sink by AKE procedure,
Content transmission means for encrypting and transmitting the content designated by the content designation means to the sink using the key exchanged by the authentication means;
Until the content transmission process is finished, the content on the sink side is kept invalidated, and content transmission end processing means for invalidating the original content in response to the completion of the content transmission process by the content transmission means,
Content transmission processing canceling means for canceling the content transmission processing until the content transmission processing by the content transmission means ends;
Function as
The authentication unit holds a TCP connection for authentication and key exchange until the content transmission end processing by the content transmission end processing unit ends.
The content transmission processing cancellation means cancels the content transmission processing using the TCP connection for authentication and key exchange.
Computer program.
DTCP Sinkとしてコンテンツを受信するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータを、
Sourceとの間で伝送対象となるコンテンツを指定するコンテンツ指定手段、
AKE手続きによりSourceとの間で相互認証及び鍵交換を行なう認証手段、
前記認証手段により交換した鍵を用いて、前記コンテンツ指定手段により指定されたコンテンツを、Sourceから暗号化伝送するコンテンツ伝送手段、
コンテンツ伝送処理が終了するまではコンテンツを無効化した状態に保ち、前記コンテンツ伝送手段によりコンテンツ伝送処理が終了したことに応じて、受信したコンテンツを有効化するコンテンツ伝送終了処理手段、
前記コンテンツ伝送手段によるコンテンツ伝送処理が終了するまでの間、てコンテンツ伝送処理を取り消すコンテンツ伝送処理取り消し手段、
として機能させ、
前記認証手段は、コンテンツ伝送終了処理手段によるコンテンツ伝送終了処理が終了するまでの間、認証及び鍵交換用のTCPコネクションを保持し、
前記コンテンツ伝送処理取り消し手段は、前記認証及び鍵交換用のTCPコネクションを用いてコンテンツ伝送処理を取り消す、
コンピュータ・プログラム。
A computer program written in a computer-readable format so as to execute processing for receiving content as a DTCP Sink on a computer, the computer comprising:
Content designating means for designating content to be transmitted to and from the source;
Authentication means for performing mutual authentication and key exchange with the Source by the AKE procedure,
Content transmission means for encrypting and transmitting the content designated by the content designation means from the source using the key exchanged by the authentication means;
Content transmission end processing means that keeps the content invalid until the content transmission processing ends and validates the received content in response to the content transmission processing being completed by the content transmission means,
Content transmission processing canceling means for canceling the content transmission processing until the content transmission processing by the content transmission means ends;
Function as
The authentication unit holds a TCP connection for authentication and key exchange until the content transmission end processing by the content transmission end processing unit ends.
The content transmission processing cancellation means cancels the content transmission processing using the TCP connection for authentication and key exchange.
Computer program.
JP2010076280A 2006-01-11 2010-03-29 Content transmission system, content transmission device, content transmission method, and computer program Active JP4883199B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010076280A JP4883199B2 (en) 2006-01-11 2010-03-29 Content transmission system, content transmission device, content transmission method, and computer program

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2006004129 2006-01-11
JP2006004129 2006-01-11
JP2006060268 2006-03-06
JP2006060268 2006-03-06
JP2010076280A JP4883199B2 (en) 2006-01-11 2010-03-29 Content transmission system, content transmission device, content transmission method, and computer program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006271240A Division JP4518058B2 (en) 2006-01-11 2006-10-02 Content transmission system, content transmission device, content transmission method, and computer program

Publications (2)

Publication Number Publication Date
JP2010231787A JP2010231787A (en) 2010-10-14
JP4883199B2 true JP4883199B2 (en) 2012-02-22

Family

ID=43047473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010076280A Active JP4883199B2 (en) 2006-01-11 2010-03-29 Content transmission system, content transmission device, content transmission method, and computer program

Country Status (1)

Country Link
JP (1) JP4883199B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5168366B2 (en) * 2011-01-21 2013-03-21 パナソニック株式会社 Server apparatus, client apparatus, and content transmission system including server apparatus and client apparatus
JP5319753B2 (en) 2011-10-31 2013-10-16 株式会社東芝 Content transmitting apparatus and content receiving apparatus
JP2014150395A (en) * 2013-01-31 2014-08-21 Toshiba Corp Transmitter, receiver, transmission method, control program of transmitter, receiving method, control program of receiver

Also Published As

Publication number Publication date
JP2010231787A (en) 2010-10-14

Similar Documents

Publication Publication Date Title
JP4518058B2 (en) Content transmission system, content transmission device, content transmission method, and computer program
KR101321860B1 (en) Content transmission device, content transmission method, and computer program used therewith
JP4350714B2 (en) Transmission device, reception device, and transmission method
JP5457451B2 (en) Data exchange processing device and data exchange processing method
CN100581239C (en) Content transmission system, device and method
JP2009194860A (en) Transmitter, receiver, content transmitting and receiving system, content transmitting method, content receiving method, and program
KR20070078065A (en) Content transmitting system, content transmitting apparatus, content transmitting method, and computer program
JP2009060451A (en) Transmission apparatus, reception apparatus, content transmission/reception system, content transmission method, content reception method and program
US8892902B2 (en) Information processing apparatus and information processing method
JP4883199B2 (en) Content transmission system, content transmission device, content transmission method, and computer program
JP2009157848A (en) Data transmitter, data receiver, and data transmitting/receiving system
JP4956845B2 (en) Information processing apparatus, secret information protection system, and secret information protection method
JP4843686B2 (en) Transmission device, reception device, and transmission method
JP4736603B2 (en) Information communication apparatus, information communication method, and computer program
JP2007036952A (en) Information communication apparatus, information communication method and computer program

Legal Events

Date Code Title Description
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: 20111108

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: 20111121

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20261216

Year of fee payment: 15