KR20070078065A - 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송방법, 및 컴퓨터 프로그램 - Google Patents

컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송방법, 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20070078065A
KR20070078065A KR1020070006838A KR20070006838A KR20070078065A KR 20070078065 A KR20070078065 A KR 20070078065A KR 1020070006838 A KR1020070006838 A KR 1020070006838A KR 20070006838 A KR20070006838 A KR 20070006838A KR 20070078065 A KR20070078065 A KR 20070078065A
Authority
KR
South Korea
Prior art keywords
data
content
sink
source
procedure
Prior art date
Application number
KR1020070006838A
Other languages
English (en)
Inventor
타케히코 나카노
히사토 시마
카즈히코 타카바야시
타츠야 이가라시
모리히코 하야시
Original Assignee
소니 가부시끼 가이샤
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 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20070078065A publication Critical patent/KR20070078065A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Abstract

과제
장해에 의해 MOVE 동작이 도중 절단된 경우라도, 이미 SINK측에서 수취한 데이터에 관한 권리를 공평하게 되도록 취급한다.
해결 수단
SINK는 컨텐츠를 구성하는 각 데이터를 수신한 시점에서, 컨텐츠 전체의 전송 처리의 완료를 기다리지 않고, 그 수신 데이터에 관한 권리가 SOURCE로부터 위양되고, SINK측에서 수신 데이터가 순차적으로 이용 가능하게 됨과 함께, SOURCE측에서는 컨텐츠의 해당 데이터 부분이 무효화된다. MOVE한 데이터를 SINK측에서 수신한 직후에 이용 가능하게 한다. 또는, 수신 데이터에 관해 SOURCE와의 사이에서 확약을 경유한 후에 SINK측에서 이용 가능하게 한다.
컨텐츠 전송 장치

Description

컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터 프로그램{CONTENT TRANSMITTING SYSTEM, CONTENT TRANSMITTING APPARATUS, CONTENT TRANSMITTING METHOD, AND COMPUTER PROGRAM}
도 1은 본 발명의 한 실시 형태에 관한 정보 통신 시스템의 구성예를 모식적으로 도시한 도면.
도 2는 도 1에 도시한 정보 통신 시스템에 있어서, SINK로서 동작하는 정보 통신 장치의 기능 구성을 도시한 도면.
도 3은 도 1에 도시한 정보 통신 시스템에 있어서, SOURCE로서 동작하는 정보 통신 장치의 기능 구성을 도시한 도면.
도 4는 SOURCE와 SINK의 사이에서 AKE에 의거한 키 교환 절차, 및 키 교환에 의해 공유한 키를 이용한 암호화 컨텐츠 전송을 행하는 구조를 설명하기 위한 도면.
도 5는 PCP의 데이터 구조를 모식적으로 도시한 도면.
도 6은 PCP 페이로드에 패딩하는 양상을 도시한 도면.
도 7은 MOVE한 데이터를 SINK측에서 수신한 직후에 이용 가능하게 하는 경우의 컨텐츠 전송 시퀀스를 모식적으로 도시한 도면.
도 8은 MOVE한 데이터를 SINK측에서 수신한 직후에 이용 가능하게 하는 경우 의 컨텐츠 전송 시퀀스(도중에 장해가 생긴 경우)를 모식적으로 도시한 도면.
도 9는 수신 데이터가 어느 시점(x) 이후의 MOVE를 취소하기 위한 컨텐츠 전송 시퀀스를 모식적으로 도시한 도면.
도 10은 MOVE한 데이터를 SINK측에서 수신한 직후에 이용 가능하게 하는 경우의 컨텐츠 전송 시퀀스를 모식적으로 도시한 도면.
도 11은 즉시적인 INCREMENTAL MOVE 동작에 의해 SINK가 SOURCE로부터 컨텐츠를 MOVE에 의해 다운로드하는 경우에, SOURCE가 실행하는 동작 순서를 도시한 플로우 차트.
도 12는 즉시적인 INCREMENTAL MOVE 동작에 의해 SINK가 SOURCE로부터 컨텐츠를 다운로드하는 경우에, SINK가 실행하는 동작 순서를 도시한 플로우 차트.
도 13은 즉시적인 INCREMENTAL MOVE 동작에 의해 SOURCE가 SINK에 컨텐츠를 업로드하는 경우에, SOURCE가 실행하는, 동작 순서를 도시한 플로우 차트.
도 14는 즉시적인 INCREMENTAL MOVE 동작에 의해 SOURCE가 SINK에 컨텐츠를 업로드하는 경우에, SINK가 실행하는 동작 순서를 도시한 플로우 차트.
도 15는 수신 데이터에 관해 SOURCE와의 사이에서 확약을 경유한 후에, SINK측에서 이용 가능하게 하는 경우의 컨텐츠 전송 시퀀스를 모식적으로 도시한 도면.
도 16은 수신 데이터에 관해 SOURCE와의 사이에서 확약을 경유한 후에, SINK측에서 이용 가능하게 하는 경우의 컨텐츠 전송 시퀀스(도중에 장해가 발생한 경우)를 모식적으로 도시한 도면.
도 17은 수신 데이터에 관해 SOURCE와의 사이에서 확약을 경유한 후에, SINK 측에서 이용 가능하게 하는 경우의 컨텐츠 전송 시퀀스(MOVE를 UNDO하는 경우)를 모식적으로 도시한 도면.
도 18은 확약이 붙은 INCREMENTAL MOVE 동작에 의해 SINK가 SOURCE로부터 컨텐츠를 다운로드하는 경우에, SOURCE가 실행하는 동작 순서를 도시한 플로우 차트.
도 19는 확약이 붙은 INCREMENTAL MOVE를 행할 때에 SOURCE가 병행하여 행하는 데이터 무효화 처리의 순서를 도시한 플로우 차트.
도 20은 확약이 붙은 INCREMENTAL MOVE 동작에 의해 SINK가 SOURCE로부터 컨텐츠를 다운로드하는 경우에, SINK가 실행하는 동작 순서를 도시한 플로우 차트.
도 21은 확약이 붙은 INCREMENTAL MOVE를 행할 때에 SIINK가 병행하여 행하는 데이터 무효화 처리의 순서를 도시한 플로우 차트.
도 22는 확약이 붙은 INCREMENTAL MOVE 동작에 의해 SOURCE가 SINK에 컨텐츠를 업로드하는 경우에, SOURCE가 실행하는 동작 순서를 도시한 플로우 차트.
도 23은 확약이 붙은 INCREMENTAL MOVE 동작에 의해 SOURCE가 SINK에 컨텐츠를 업로드하는 경우에, SINK가 실행하는 동작 순서를 도시한 플로우 차트.
도 24는 일단 유효화한 컨텐츠·데이터를 무효화 즉 이용 불능으로 하기 위한 DTCP-IP 인증 블록의 구성예를 도시한 도면.
도 25는 컨텐츠·버퍼·블록의 구성예를 도시한 도면.
도 26은 OK 및 CANCEL 커맨드의 프레임·포맷의 한 예를 도시한 도면.
기술 분야
본 발명은, 디지털화된 AV 데이터 등의 컨텐츠를 기기 사이에서 전송하는 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터 프로그램에 관한 것으로, 특히, 저작권 보호나 그 밖의 목적으로 카피가 제한된 컨텐츠를 기기 사이에서 암호화 전송하는 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터 프로그램에 관한 것이다.
종래의 기술
디지털화된 컨텐츠는 카피나 개찬(改竄) 등의 부정한 조작이 비교적 용이하기 때문에, 개인적 또는 가정적인 컨텐츠의 사용을 허용하면서 부정 사용에 대한 방어가 필요하다. 특히, 국내에서는 2011년의 지상 아날로그 방송 정파(停波)용으로 아날로그 방송 수신기로부터 디지털 방송 수신기로의 치환이 급속하게 나행되고 있어서, 가정 내의 AV 컨텐츠의 디지털화에 대해 컨텐츠의 보호를 기술적으로 실현하는 것이 필수라고 고려되고 있다.
일본 국내에서는, ARIB(Association of Radio Industries and Businesses : 전파산업회)가 중심이 되어 디지털 방송에 관한 표준화가 진행되어, 디지털 위성 방송, 디지털 지상파 방송, 및 디지털 CATV에 있어서 MPEG2 시스템(예를 들면, 비특허 문헌 1을 참조할 것)을 채용함과 함께, 「1세대만 카피 가능」(COPY ONCE)라는 카피 제어 기능의 도입을 의무지워서, 엄격한 컨텐츠 보호 규정을 마련하고 있다(예를 들면, 비특허 문헌 2, 비특허 문헌 3을 참조할 것).
또한, 디지털 전송 컨텐츠의 보호에 관한 업계 표준적인 기술로서, DTLA(Digital Transmission Licensing Administrator)가 개발한 DTCP(Digital Transmission Content Protection)를 들 수 있고, 카피 제어를 위시하여 저작권이 보호된 형태로 컨텐츠를 전송시키기 위한 구조에 관해 규정되어 있다(예를 들면, 비특허 문헌 4를 참조할 것).
DTCP에서는, 컨텐츠 전송시에 있어서의 기기 사이의 인증 프로토콜과, 암호화 컨텐츠의 전송 프로토콜에 관해 결정되어 있다. 그 규정에 의하면, 컨텐츠 제공원인 SOURCE와 컨텐츠 제공처인 SINK는, AKE 커맨드의 송수신에 의해, 인증 절차를 경유하여 키를 공유화하고, 그 키를 이용하여 전송로를 암호화하여 컨텐츠의 전송을 행한다. 부정한 SINK는, SOURCE와의 인증에 성공하지 못하면 암호 키를 취득할 수 없기 때문에, 컨텐츠를 취득할 수 없다.
DTCP는, 원초적으로는, IEEE1394를 전송로에 이용한 홈 네트워크상에서의 디지털·컨텐츠의 전송에 관해 규정하고 있다. 최근에는, DLNA(Digital Living Network Alliance)로 대표되는 바와 같이, 디지털화된 AV 컨텐츠를 IP 네트워크 경유로 유통시키려는 움직임이 본격적으로 되어 있기 때문에, IP 네트워크에 대응한 DTCP 기술, 즉 DTCP-IP(DTCP mapping to IP)의 개발이 진행되고 있다.
DTCP-IP에 의하면, HTTP(Hyper Text Transfer Protocol)나 RTP(Real Time Protocol)라는 컨텐츠 전송용 프로토콜을 사용할 수 있다. 예를 들면, HTTP의 절차에 따라 컨텐츠를 전송하는 경우, SOURCE가 HTTP 서버로 되고, SINK가 HTTP 클라이언트로 되어, HTTP를 위한 TCP/IP 커넥션이 작성되고, 암호화 컨텐츠의 전송이 행 하여진다. 또한, 홈 네트워크가 루터 경유로 외부의 IP 네트워크에 접속되면, 도청이나 개찬, 컨텐츠의 부정 카피라는 위구심이 있기 때문에, DTCP-IP에서는, 컨텐츠를 보호하면서 네트워크 전송하기 위한 새로운 방법을 규정하고 있다(예를 들면, 비특허 문헌 5를 참조할 것).
저작권 보호에 대응한 컨텐츠 전송을 행할 때, 카피 제어나 암호화 방식 등 컨텐츠 보호에 관한 컨텐츠 속성을 지정할 필요가 있다. DTCP-IP에서는, 컨텐츠 전송용의 패킷(PCP)의 헤더부에 기술하는 E-EMI(Extended-Encryption Mode Indicator)와, 임베디드 CCI(Copy Control Information)라는 2개의 메커니즘에 의해, 컨텐츠에 부수된 카피 제어 정보의 전송을 실현하고 있다.
임베디드 CCI는, 패킷의 페이로드부에 매입하여 전송된다. 컨텐츠·스트림을 탬퍼링하면 잘못된 암호 해독을 행하는 것으로 되기 때문에, 임베디드 CCI의 완전성을 보증할 수 있다. 한쪽의 E-EMI는, 평문(平文) 상태의 헤더부에 기재되는, 암호 모드를 기술하는 4비트의 필드이고, 그 값은 카피 제어 정보의 종류에 대응한다. 비트값 정의를 아래 표에 표시하여 둔다. 단, 동 표에서 미사용으로 되어 있는 9개의 E-EMI 값은 장래의 확장용으로 예비로 되어 있다.
[표 1]
Figure 112007006673654-PAT00001
SOURCE로서 동작하는 기기는, 컨텐츠·스트림의 특성에 따라 올바른 암호 모드를 선택하고, 이에 의거하여 E-EMI를 설정한다. 이에 대해, SINK로서 동작하는 기기는, 컨텐츠를 전송하는 패킷의 헤더중 E-EMI에서 지정되는 올바른 암호 해독 모드를 선택한다. 또한, SINK로서 동작하는 기기는, E-EMI나 임베디드 CCI에서 지정되어 있는 바와 같이, 수신 컨텐츠를 부호화하여 일단 축적하고, 계속해서 SOURCE로서 동작할 때는 카피 제어 정보에 따라 2차적인 컨텐츠 전송 동작을 제어한다. 카피 제어의 종류로서, 이하를 들 수 있다.
Copy Free : 저작권 자체는 유보하지만, DTCP를 이용한 카피 제어는 행하지 않는다. Copy Never : 결코 컨텐츠를 복제하면 않된다. COPY ONE GENERATION : 1회(One Generation)만 카피가 허용된다. NO MORE COPIES : 이미 카피가 허용되지 않는다.
상기중 NO MORE COPIES는, 원래는 COPY ONE GENERATION으로 설정된 컨텐츠를 1회(first generation)만 카피함에 의해 카피가 허가되지 않게 된 상태이다. DTCP- IP에서는, NO MORE COPIES로서 부호화된 컨텐츠를 전송하는 수단으로서, MOVE 기능이 준비되어 있고, SINK는 수신한 컨텐츠를 NO MORE COPIES로서 부호화하여 취급하는 것, 및, SOURCE측에서는 전송한 후의 컨텐츠를 소거 또는 이용 불능으로 한다는 조건하에서, SOURCE로부터 SINK에 컨텐츠를 MOVE하는 것이 허용된다(예를 들면, 비특허 문헌 5, 비특허 문헌 6을 참조할 것). 구체적으로는, 원래는 COPY ONE GENERATION이였던 컨텐츠가 개인의 비디오 녹화 기기(PVR) 등의 SOURCE에 NO MORE COPIES로서 부호화·기록되어 있는 경우, 상기한 조건을 충족시킴으로써, COPY ONE GENERATION의 상태에서 부호화하여, 단일한 SINK에만 MOVE하는 것이 허용된다.
현상태의 규정에 의하면, E-EMI로 C0 모드, 또는 B1 모드의 어느 한쪽을 사용하여 MOVE 전송을 행할 수 있다. SINK측에서는, 이들의 모드로 수취한 컨텐츠를, AKE 절차로 취득한 키를 이용하여 복호하고, 기록할 수 있다. 또한, SOURCE측에서는, 송신한 순간에 데이터를 무효화할 필요가 있다.
SOURCE로부터 SINK에의 컨텐츠의 MOVE 처리가 복수의 데이터 전송 시퀀스로 구성되는 경우, 상술한 바와 같은, SOURCE측에서 컨텐츠를 소거 또는 이용 불능으로 한다는 조건을 일관하여 준수하여야 한다. 예를 들면, 컨텐츠를 복수의 영역으로 분할하여 각각을 다른 타이틀 키로 암호화하고, 컨텐츠 복호화할 때에 사용되는 시변(時變) 키를 추출하고, 타이틀 키 영역의 원래의 타이틀 키를, 추출한 해당 시변 키로 순차로 재기록하여 전(前)의 컨텐츠의 복호화를 불가능하게 함에 의해, MOVE 처리한 원래의 컨텐츠를 안전하며 효율적으로 삭제하는 컨텐츠 관리 장치에 관해 제안이 되어 있다(예를 들면, 특허 문헌 1을 참조할 것).
여기서, SOURCE와 SINK 사이에서 행하여지고 있는 MOVE 시퀀스가 장해 등에 의해 중단된 때에, SOURCE 및 SINK의 각각에 컨텐츠가 분단된다는 문제가 있다. 컨텐츠 전체의 전송이 성공리에 끝나면 SOURCE와 SINK 사이에서 컨텐츠의 권리를 무사하게 위양할 수 있지만, 전송의 도중에 장해가 발생하면, 전송 후의 데이터 부분은 SINK측에, 전송 전의 데이터 부분은 SOURCE에 남아서, 컨텐츠가 분단된다. MOVE 동작중에 생기는 장해로서, 커넥션·에러가 발생하는, 한쪽 기기의 전원이 차단되는, 컨텐츠 격납용의 미디어가 뽑혀지는(또는 스토리지가 고장나는), SINK측에서 컨텐츠를 격납하는 스토리지가 꽉차게 된다는 원인을 들 수 있다.
예를 들면, 범용 버스 경유로 컨텐츠 전송을 행하는 SOURCE와 SINK의 사이에 컨텐츠 이동 컨트롤러를 마련하고, MOVE 동작에 있어서 SOURCE와 SINK의 양쪽에 중복되어 존재하는 재생 가능한 컨텐츠의 량이 통상의 재생 시간으로 1분을 초과하면 안되다는 DTCP 규격에 의거하여, 컨텐츠 이동 컨트롤러가 SOURCE 및 SINK의 어느 하나에서 이상을 검출한다면 1분 이내에 MOVE를 중단하고, SOURCE에 재생 가능한 상태로 남아 있는 부분에서 이동 동작을 재개함에 의해 컨텐츠의 소실을 피하는 컨텐츠 이동 시스템에 관해 제안이 되어 있다(예를 들면, 특허 문헌 2를 참조할 것). 단, 이 경우는, 컨텐츠 이동 컨트롤러가 개재하여야 하여서, 장치 비용이 증대한다. 또한, 무선 LAN상에서 임의의 SOURCE와 SINK 사이에서 MOVE 동작이 애드혹으로 기동하는 경우에는, 컨텐츠 이동 컨트롤러의 배치가 곤란하게 되고, 또는 컨텐츠 이동 컨트롤러의 개재가 전송 시퀀스의 보틀네크로 된다.
또한, 컨텐츠를 수신 완료한 SINK로부터 회신되는 컨텐츠의 기록 상태 정보 를 기초로 SOURCE가 송신이 끝난 컨텐츠를 소거함으로써, SINK가 컨텐츠를 정상 기록할 수 없을 때의 SOURCE측에서의 컨텐츠의 분실을 막는 컨텐츠 기록 시스템에 관해 제안이 되어 있다(예를 들면, 특허 문헌 3을 참조할 것). 그러나, 동 시스템에서는, 컨텐츠 전송이 도중절단됨에 의해 컨텐츠가 SOURCE와 SINK로 분단되어 버린 사태의 해소 방법에 관해서는 전혀 고려되어 있지 않다.
또한, 저작권 보호된 데이터를 다른 기록 장치에 이동할 때에, 독자적인 복사 암호 키로 복사 데이터를 암호화하여 보존하여 두고, 만일 이동시의 장해 등에 의해 이동 후의 데이터가 불량인 경우는, 이동 후의 데이터를 무효로 하고, 복사 데이터로부터 원래의 데이터를 복원함에 의해, 저작권 보호를 행하면서 원래의 데이터의 소실을 방지하는, 컨텐츠·데이터를 취급하는 장치에 관해 제안이 되어 있다(예를 들면, 특허 문헌 4를 참조할 것). 그러나, 동 장치에서는, 이동처에 데이터가 기록되고 나서 원래의 데이터를 소거하던지, 또는 이동처에서의 데이터의 기록과 병행하여 원래의 데이터를 소거하기 때문에, 컨텐츠 전송이 도중절단됨에 의해 컨텐츠가 SOURCE와 SINK로 분단되어 버린 사태의 해소 방법에 관해 충분히는 고려되어 있지 않다.
컨텐츠 전송이 도중절단됨에 의해 컨텐츠가 SOURCE와 SINK로 분단되어 버린 경우, 아직 컨텐츠가 MOVE하고 있지 않다고 취급하면, SINK측에서는 일부라도 사용이 가능하기 때문에, 컨텐츠의 권리자는 불이익을 입는다. 또한, 컨텐츠가 MOVE되었다고 취급하면, SINK측에서는 컨텐츠 전체를 이용할 수 있는 것은 아니기 때문에, 유저에게 불리하다.
MOVE 동작이 완전하게 종료하지 않은 경우, UNDO(즉 MOVE하지 않은 상태로 되돌린다)나, RESUME(즉 나머지 MOVE 동작을 재개한다)이라는 해결 방법도 고려된다.
그러나, SINK가 이용 가능한 상태밖에 데이터를 수취할 수 없는(즉, UNUSABLE이라는 상태로 기록할 수 없는) 기기인 경우에는, 수취한 데이터를 UNUSABLE한 상태로 할 수 없는 한, UNDO를 행할 수 없다. 또한, SINK측에서 수취한 데이터를 1회 한의 순서대로 기록하여 전용의 스토리지에 기록하고 있는 경우에는, 스토리지에 데이터를 기록하지 않은 상태로 되돌릴 수는 없다. 또한, MOVE 동작이나 도중절단된 원인이 기기의 고장 등인 경우는, RESUME할 수 없다.
특허 문헌 1 : 일본 특개2003-101529호 공보
특허 문헌 2 : 일본 특개2005-158056호 공보
특허 문헌 3 : 일본 특개2005-293731호 공보
특허 문헌 4 : 일본 특개2005-250567호 공보
비특허 문헌 1 : ISO/IEC 13818-1GENERICCODING OF MOVING PICTURES AND ASSOCIATED AUDIO : SYSTEMS Recommendation H. 222.0
비특허 문헌 2 : ARIB TR-B14 지상 디지털 텔레비전 방송 전용 규정
비특허 문헌 3 : ARIB TR-B15 BS/광대역 CS디지털 방송 전용 규정
비특허 문헌 4 : DTCP Specification Volume 1(Informational Version) Revision 1.4 (http://www.dtcp.com/)
비특허 문헌 5 : DTCP Volume 1 Supplement E(VISE) Mapping DTCP to IP (Informational Version) Revision 1.1 (http://www.dtcp.com/)
비특허 문헌 6 : DIGITAL TRANSMISSION PROTECTION LICENSE AGREEMENT, Adopter Agreement May 2005
본 발명의 목적은, DTCP에 준거한 정보 기기끼리에서 암호화 컨텐츠의 전송 절차를 알맞게 실행할 수 있는, 우수한 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터 프로그램을 제공하는 데 있다.
본 발명의 다른 목적은, MOVE 기능을 이용하여 SOURCE로부터 SINK에 컨텐츠를 알맞게 이동할 수 있는, 우수한 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터 프로그램을 제공하는 데 있다.
본 발명의 다른 목적은, 어떠한 장해에 의해 MOVE 동작이 도중절단된 경우라도, 이미 SINK측에서 수취한 데이터에 관해 컨텐츠 권리자 및 유저에게 공평하게 되도록 취급할 수 있는, 우수한 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터 프로그램을 제공하는 데 있다.
본 발명은, 상기 과제를 참작하여 이루어진 것이고, 그 제 1의 측면은, 컨텐츠를 송신하는 SOURCE와 컨텐츠를 수신하는 SINK 사이에서 컨텐츠를 전송하는 컨텐츠 전송 시스템으로서, 상기 SINK는, 상기 SOURCE로부터 수신한 부분의 데이터를 순서대로 유효화하고, 상기 SOURCE는, 상기 SINK에 송신한 부분의 데이터를 순서대로 무효화하면서, 컨텐츠의 이동을 행하는 것을 특징으로 하는 컨텐츠 전송 시스템이다.
단, 여기서 말하는 「시스템」이란, 복수의 장치(또는 특정한 기능을 실현하는 기능 모듈)가 논리적으로 집합한 물건에 관한 것을 말하고, 각 장치나 기능 모듈이 단일한 박스 내에 있는지의 여부는 특히 묻지 않는다(이하, 마찬가지).
본 발명은, 저작권 보호가 필요하게 되는 정보 컨텐츠를 예를 들면 IP 네트워크상에서 전송하는 컨텐츠 전송 시스템에 관한 것이고, 특히, 구체적으로는, DTCP-IP에 준거한 정보 통신 기기의 사이에서, 상호인증 및 키 교환을 경유하여 공유한 키를 이용하여 암호화 컨텐츠 전송을 안전하게 행하는 컨텐츠 전송 시스템에 관한 것이다. DTCP에서는, 카피 제어를 위시하여 저작권이 보호된 형태로 컨텐츠를 전송하는 구조가 규정되어 있다.
컨텐츠 전송의 형태는, SOURCE상의 컨텐츠를 SINK에 카피하는 방법과, SOURCE로부터 SINK에 컨텐츠를 이동하여 SOURCE에 컨텐츠를 남기지 않는 방법이 있다. DTCP에서는, SINK는 수신한 컨텐츠를 NO MORE COPIES로서 부호화하여 취급할 것, 및, SOURCE측에서는 전송한 후의 컨텐츠를 소거 또는 이용 불능으로 할 것을 조건으로 하여, NO MORE COPY로서 부호화된 컨텐츠를 전송하는 MOVE 기능이 준비되어 있다.
그러나, SOURCE와 SINK 사이에서 MOVE 기능에 의한 컨텐츠 전송 처리가 장해 등에 기인하여 중단된 때에, SOURCE 및 SINK의 각각에 컨텐츠가 분단된다는 문제가 있다. MOVE 동작이 완전하게 종료하지 않은 경우, UNDO(즉 MOVE하지 않은 상태로 되돌린다)나, RESUME(즉 나머지 MOVE 동작을 재개한다)이라는 해결 방법도 고려되지만, 이들의 처리를 행할 수 없는 케이스도 있다.
그래서, 본 발명에 관한 컨텐츠 전송 시스템에서는, SINK는, SOURCE로부터 수신한 부분의 데이터를 순서대로 유효화함과 함께, SOURCE는, SINK에 송신한 부분의 데이터를 순서대로 무효화하는 것을 가능하게 하고, SINK측에서는 컨텐츠를 구성하는 각 데이터를 수신할 때마다 그 데이터에 관한 권리를 SINK에 위양한다는 구조를 도입하였다.
이와 같이 컨텐츠를 구성하는 데이터를 부분적 또는 단계적으로 이동한다는 구조를 도입함에 의해, 어떠한 장해에 의해 컨텐츠의 MOVE 동작이 도중절단된 경우라도, 이미 SINK측에서 수취한 데이터에 관해 컨텐츠 권리자 및 유저에게 공평하게 되도록 취급할 수 있다.
여기서, SINK는, SOURCE로부터 수신하여 유효화한 컨텐츠·데이터의 적어도 일부를 무효화할 수 있는 경우에는, 수신 데이터를 무효화하고 나서 이동의 취소를 SOURCE에 요구할 수 있다. SOURCE는, 해당 취소 요구에 응하여, 일단 무효화한 해당 송신 데이터를 유효화함으로써, 컨텐츠 이동 전의 상태를 복원할 수 있다.
또한, SOURCE는, 데이터를 SINK 앞으로 송신한 직후에 무효화하면, 데이터 전송 트랜잭션중의 커넥션·에러나 전원 차단에 기인하여, SINK측에서는 데이터의 누락이 생길 가능성이 있다. 그래서, SOURCE는, SINK로부터 데이터를 수신한 것의 확약 절차에 따라 송신 데이터의 무효화 처리를 행하도록 하여도 좋다.
구체적으로는, SINK는 SOURCE로부터 수신하여 유효화한 데이터의 범위를 지정한 수령 확인 커맨드를 송신하고, 이에 대해, SOURCE는, 해당 수령 확인 커맨드를 수신한 것에 응하여, 지정된 범위의 데이터를 무효화하도록 한다.
이와 같이, 단계적인 컨텐츠의 이동을 확약 절차를 붙여서 행함에 의해, 확약을 경유하여서가 아니면 SOURCE는 데이터의 무효화를 행하지 않기 때문에, 커넥션·에러 때문에 데이터의 누락이 생기는 일은 없다. 또한, 전송 트랜잭션중에 기기의 전원이 오프된 경우라도, 확약 전의 데이터를 불휘발 기억 영역에 격납하여 둠으로써, 데이터의 누락을 회피할 수 있다.
또한, 본 발명의 제 2의 측면은, DTCP SOURCE로서 컨텐츠를 송신하기 위한 처리를 컴퓨터 시스템상에서 실행하도록 컴퓨터 가독 형식으로 기술된 컴퓨터 프로그램으로서, 상기 컴퓨터 시스템에 대해, AKE 절차에 의해 SINK와의 사이에서 상호인증 및 키 교환을 행하는 인증 순서와, 송신 대상이 되는 컨텐츠의 데이터를, 상기 인증 순서에서 교환한 키를 이용하여 상기 SINK에 암호화 전송하는 데이터 전송 순서와, 상기 데이터 전송 순서에서 송신된 부분의 데이터를 순차로 무효화하는 데이터 무효화 순서를 실행시키고, SINK에 컨텐츠를 이동하는 것을 특징으로 하는 컴퓨터 프로그램이다.
또한, 본 발명의 제 3의 측면은, DTCP SINK로서 컨텐츠를 수신하기 위한 처리를 컴퓨터 시스템상에서 실행하도록 컴퓨터 가독 형식으로 기술된 컴퓨터 프로그램으로서, 상기 컴퓨터 시스템에 대해, AKE 절차에 의해 SOURCE와의 사이에서 상호인증 및 키 교환을 행하는 인증 순서와, 상기 SOURCE로부터 송신되는 컨텐츠·데이터를, 상기 인증 순서에서 교환한 키를 이용하여 수신 처리하는 데이터 수신 순서와, 상기 데이터 수신 순서에서 수신된 부분의 데이터를 순차로 유효화하는 데이터 유효화 순서를 실행시켜서, SOURCE로부터 컨텐츠를 이동하는 것을 특징으로 하는 컴퓨터 프로그램이다.
본 발명의 제 2 내지 제 3의 각 측면에 관한 컴퓨터 프로그램은, 컴퓨터 시스템상에서 소정의 처리를 실현하도록 컴퓨터 가독 형식으로 기술된 컴퓨터 프로그램을 정의한 것이다. 환언하면, 본 발명의 제 2 내지 제 3의 각 측면에 관한 컴퓨터 프로그램을 컴퓨터 시스템에 인스톨함에 의해 컴퓨터 시스템상에서는 협동적 작용이 발휘되고, 본 발명의 제 1의 측면에 관한 시스템에서 SOURCE 및 SINK로서 각각 동작하고, 본 발명의 제 1의 측면에 관한 컨텐츠 전송 시스템과 같은 작용 효과를 얻을 수 있다.
본 발명에 의하면, DTCP에 준거한 정보 기기끼리에서 암호화 컨텐츠의 전송 절차를 알맞게 실행할 수 있는, 우수한 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터 프로그램을 제공할 수 있다.
또한, 본 발명에 의하면, MOVE 기능을 이용하여 SOURCE로부터 SINK에 컨텐츠를 알맞게 이동할 수 있는, 우수한 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터 프로그램을 제공할 수 있다.
본 발명에 관한 컨텐츠 전송 시스템에 의하면, 컨텐츠의 MOVE를 행할 때에, SINK측에서는 수신한 데이터를 순차적으로 이용 가능하게 한다(즉, 컨텐츠를 구성하는 각 데이터를 수신할 때마다 그 데이터에 관한 권리를 SINK에 위양한다)는 구조를 도입함에 의해, 어떠한 장해에 의해 MOVE 동작이 도중절단된 경우라도, 이미 SINK측에서 수취한 데이터에 관해 컨텐츠 권리자 및 유저에게 공평하게 되도록 취급할 수 있다.
본 발명의 또다른 목적, 특징이나 이점은, 후술하는 본 발명의 실시 형태나 첨부한 도면에 의거하여 보다 상세한 설명에 의해 밝혀질 것이다.
본 발명은, 저작권이나 그 밖의 목적으로 보호가 필요하게 되는 정보 컨텐츠를 소정의 카피 제어 정보에 따라 암호화 전송하는 컨텐츠 전송 시스템에 관한 것이다. 이러한 시스템의 구체예는, DTCP 기기의 사이에서 행하여지는 컨텐츠 전송이다. 이하, 도면을 참조하면서 본 발명의 실시 형태에 관해 상세히 해석한다.
A. 시스템 구성
DTCP-IP에 따른 컨텐츠 전송은, 컨텐츠의 요구를 수리하여 컨텐츠를 송신하는 서버로서의 SOURCE와, 컨텐츠를 요구하고, 컨텐츠를 수신하고, 재생 또는 기록하는 클라이언트로서의 SINK로 구성된다. 도 1에는, 본 발명의 한 실시 형태에 관한 정보 통신 시스템의 구성예를 모식적으로 도시하고 있다.
도시한 예에서는, DTCP-IP에 준거한 인증 서버인 SOURCE와 DTCP-IP에 준거한 인증 클라이언트인 SINK는 네트워크를 경유하여 접속되어, AKE 시스템이 구축되어 있다. 여기서 말하는 네트워크로는, ETHERNET(등록상표)나, 인터넷, 그 밖의 IP 네트워크가 포함된다. SINK와 SOURCE는, TCP/IP 네트워크상에서 커넥션을 확립할 수 있고, 이 커넥션을 이용하여, 인증 절차나 컨텐츠 전송 절차를 실행할 수 있다.
도 2 및 도 3에는, 도 1에 도시한 컨텐츠 전송 시스템에서, SINK 및 SOURCE로서 동작하는 컨텐츠 전송 장치의, 특히 인증 및 컨텐츠 전송에 주목한 기능 구성을 각각 모식적으로 도시하고 있다.
도 2에 도시하는 SINK는, DTCP-IP 인증 블록과, DTCP-IP 컨텐츠 수신 블록과, 컨텐츠 재생/기록 블록을 구비하고 있다.
DTCP-IP 인증 블록은, AKE 블록과, 메시지·다이제스트 생성 블록과, 컨텐츠 복호 블록으로 구성된다. DTCP-IP 인증 블록은, 보다 바람직하게는 내(耐)탬퍼성을 구비하고 있다.
AKE 블록은, DTCP-IP에서의 AKE 기구(SINK측)를 실현하는 블록이다. 이 AKE 블록은 후술하는 메시지·다이제스트 생성 블록으로부터 요구된 파라미터를 건네주는 기능도 구비하고 있다.
메시지·다이제스트 생성 블록은, 예를 들면 MD5나 SHA-1이라는 지정된 알고리즘에 따라, 파라미터의 메시지·다이제스트를 생성하는 블록이고, DTCP-IP 인증 블록 이외에 공개하면 안되는 AKE 블록이 보존하는 파라미터의 메시지·다이제스트를 생성할 수 있도록 AKE 블록과 조밀하게 배치된다.
컨텐츠 복호 블록은, AKE로 교환한 키(Kx)를 이용하여 컨텐츠의 복호 키(Kc)를 산출하고, DTCP-IP 컨텐츠 수신 블록이 SOURCE로부터 수신한 암호화 컨텐츠를 이 복호 키(Kc)로 복호한다. 여기서 복호된 컨텐츠는, 컨텐츠 재생/기록 블록에 건네진다.
컨텐츠 재생/기록 블록은, 컨텐츠 복호 블록으로부터 건네진 컨텐츠를, 재생 모드인 경우는 재생을 행하고, 기록 모드인 경우는 하드 디스크 또는 그 밖의 기록 매체(도시 생략)에 보존한다. 단, 컨텐츠의 기록 동작은, 컨텐츠 전송용의 패킷 PCP 내에 삽입되어 있는 카피 제어 정보의 규정에 따른다.
DTCP-IP 컨텐츠 수신 블록은, AKE를 실시한 후에 SOURCE와의 컨텐츠 전송 절차를 실행하는 처리 모듈이다. 도시한 예에서는, DTCP-IP 컨텐츠 수신 블록은 HTTP 클라이언트 블록을 가지며, HTTP 서버(즉 SOURCE)에 컨텐츠를 요구하고, 응답된 컨텐츠를 HTTP 서버로부터 수신한다. HTTP 클라이언트 블록은, HTTP 리퀘스트 관리 블록과 HTTP 리스폰스 관리 블록으로 나누어진다.
HTTP 리퀘스트 관리 블록은, HTTP 리퀘스트 송신 블록과 HTTP 리퀘스트 생성 블록으로 나누어진다. HTTP 리퀘스트 생성 블록은, 송신하는 컨텐츠 전송 요구(HTTP 리퀘스트)를 생성한다. 여기서 생성된 HTTP 리퀘스트는, HTTP 리퀘스트 송신 블록에 의해 HTTP 서버로서의 SOURCE에 송신된다.
HTTP 리스폰스 관리 블록은, HTTP 리스폰스 수신 블록과 HTTP 리스폰스 해석 블록으로 나누어진다. 서버로부터 회신된 HTTP 리스폰스와 암호화된 컨텐츠는, HTTP 수신 블록에서 수신된다. 여기서 수신한 HTTP 리스폰스는, HTTP 리스폰스 해석 블록에서 체크된다. 여기서의 체크 결과가 긍정적이면 수신한 암호화 컨텐츠를 DTCP 인증 블록 내의 컨텐츠 복호 블록에 보낸다. 또한, 이 체크 결과가 부정적으로 된 경우는, 에러·리스폰스로서의 처리를 행한다. SOURCE로부터의 HTTP 리스폰스는 하나 이상의 PCP로 이루어진다.
DTCP-IP 인증 블록과 DTCP-IP 컨텐츠 수신 블록은, 서버 기기와의 사이에서 개별의 TCP/IP 커넥션을 확립하여, 각각 인증 절차 및 컨텐츠 전송 절차를 서로 독립하여 실행한다.
또한, 도 3에 도시하는 SOURCE는, DTCP-IP 인증 블록과, DTCP-IP 컨텐츠 송신 블록과, 컨텐츠 관리 블록을 구비하고 있다.
DTCP-IP 인증 블록은, AKE 블록과, 메시지·다이제스트 생성 블록과, 컨텐츠 암호화 블록으로 구성된다. DTCP-IP 인증 블록은, 보다 바람직하게는 내탬퍼성을 구비하고 있다.
AKE 블록은, DTCP-IP에서의 AKE 기구(SOURCE측)를 실현하는 블록이다. 이 블록은, 후술하는 메시지·다이제스트 생성 블록으로부터 요구된 파라미터를 건네주는 기능도 구비하고 있다. AKE 블록은 인증한 SINK에 관한 정보를 인증한 기기의 수만큼 보존하고, 그것을 SINK로부터 컨텐츠가 요구된 때에 인증이 끝난 SINK인지의 여부를 판별하는데 사용한다.
메시지·다이제스트 생성 블록은, MD5나 SHA-1이라는 지정된 알고리즘에 따라, 파라미터의 메시지·다이제스트를 생성하는 블록이고, DTCP-IP 인증 블록 이외에 공개하면 안되는 AKE 블록이 보존하는 파라미터의 메시지·다이제스트를 생성할 수 있도록 AKE 블록과 조밀하게 배치된다.
컨텐츠 암호화 블록은, DTCP-IP 컨텐츠 송신 블록의 요구에 응하여 컨텐츠 관리 블록으로부터 판독한 컨텐츠·데이터를, AKE로 교환한 키(Kx)로부터 생성한 컨텐츠 키(Kc)를 이용하여 암호화한다. 여기서 암호화된 컨텐츠는, SINK에 송신하기 위해, DTCP-IP 컨텐츠 송신 블록에 건네진다.
컨텐츠 관리 블록은, DTCP-IP의 기구를 이용하여 보호되어야 할 컨텐츠를 관 리하는 블록이다. 컨텐츠 암호화 블록의 판독에 응하여, 컨텐츠의 데이터를 건네준다.
DTCP-IP 컨텐츠 송신 블록은, HTTP 서버·블록을 가지며, SINK로부터의 리퀘스트에 응한 처리를 실행한다. HTTP 서버 블록은, HTTP 리퀘스트 관리 블록과 HTTP 리스폰스 관리 블록으로 나누어진다.
HTTP 리퀘스트 관리 블록은, HTTP 리퀘스트 수신 블록과, HTTP 리퀘스트 해석 블록으로 나누어진다. HTTP 리퀘스트 수신 블록은, 클라이언트로서의 SINK로부터의 HTTP 리퀘스트를 수신한다. 수신한 HTTP 리퀘스트는 HTTP 리퀘스트 해석 블록에 보내지고, 체크된다. HTTP 리퀘스트 해석 블록에서의 체크 결과가 긍정적이면, HTTP 리퀘스트의 정보를 DTCP-IP 인증 블록에 통지한다.
HTTP 리스폰스 관리 블록은, HTTP 리스폰스 생성 블록과 HTTP 리스폰스 송신 블록으로 나누어진다. HTTP 리스폰스 생성 블록은, HTTP 리퀘스트 해석 블록에서의 체크 결과가 긍정적이면, 암호화된 컨텐츠를 되돌려주기 위한 HTTP 리스폰스를 작성한다. HTTP 리스폰스는 하나 이상의 PCP로 이루어진다. 한편, HTTP 리퀘스트 해석 블록에서의 체크 결과가 부정적으로 된 경우, 에러를 되돌려주기 위한 HTTP 리스폰스를 작성한다. HTTP 리스폰스 송신 블록은, 작성된 HTTP 리스폰스를, 요구원인 클라이언트에게 송신한다. 또한, HTTP 리퀘스트 해석 블록에서의 체크 결과가 긍정적으로 된 경우에는, HTTP 리스폰스·헤더에 계속해서, DTCP-IP 인증 블록 내의 컨텐츠 암호화 블록에서 암호화한 컨텐츠를 송신한다.
DTCP-IP 인증 블록과 DTCP-IP 컨텐츠 송신 블록은, HTTP 클라이언트로서의 SINK와의 사이에서 개별의 TCP/IP 커넥션을 확립하고, 각각 인증 절차 및 컨텐츠 전송 절차를 서로 독립하여 실행한다.
또한, SINK 및 SOURCE의 모두가 DTCP-IP 인증 블록 내에 갖는 메시지·다이제스트 생성 블록은, DTCP-IP 자체로 규정되는 기능 모듈이 아니고, 또한 본 발명의 요지에는 직접 관련되지 않는다.
B. HTTP 를 이용한 컨텐츠 전송
계속해서, DTCP-IP에 따른 컨텐츠의 전송 순서에 관해 설명한다. 도 4에는, SOURCE와 SINK 사이에서 AKE에 의거한 키 교환 절차, 및 키 교환에 의해 공유한 키를 이용한 암호화 컨텐츠 전송을 행하는 구조를 도해하고 있다. DTCP-IP에서는 HTTP나 RTP 등의 컨텐츠 전송용 프로토콜을 이용할 수 있지만, 도시한 예에서는 HTTP의 절차에 따른 것으로 한다. 또한, 컨텐츠 전송의 형태는, 컨텐츠의 복제와 컨텐츠의 이동이 있으나, 여기서는 전자를 전제로 하여 설명한다. 후자의 컨텐츠 전송 방법은, DTCP에서 규정되는 MOVE 기능에 의해 실현되지만, 그 상세에 관해서는 후술로 양도한다.
SOURCE와 SINK는, 우선 하나의 TCP/IP 커넥션을 확립하고, 기기끼리의 인증 및 키 교환을 위한 AKE 절차를 행한다. DTCP 준거 기기에는, DTLA(전술)에 의해 발행된 기기 증명서가 매입되어 있다. DTCP 인증 절차에서는, 서로가 정규의 DTCP 준거 기기인 것을 확인한 후, 인증 키(Kauth)를 SOURCE와 SINK에서 공유한다. AKE 절차가 성공하면, SOURCE는 컨텐츠 암호 키(Kc)의 종(種)으로 된 종(種) 키(Kx)를 생성 하고, 인증 키(Kauth)로 암호화하여 SINK에 보낸다.
그리고, AKE에 의한 인증 및 키 교환수 절차가 끝난 후, SINK는 SOURCE상의 컨텐츠를 요구할 수 있다. 또한, SOURCE는, UPnP로 규정되어 있는 CDS(Content Directory Service) 등을 통하여 SINK에 SOURCE상의 컨텐츠에의 액세스처를 나타내는 컨텐츠 장소를 미리 전할 수 있다.
도 2 및 도 3에 도시한 구성예에서는, SOURCE가 HTTP 서버로 되고, SINK가 HTTP 클라이언트로 되어, 컨텐츠의 전송을 시작한다(RTP를 사용할 때는, SOURCE가 RTP 센더(Sender)로 되고, SINK가 RTP 리시버(Receiver)로 된다). HTTP를 위한 TCP/IP 커넥션이, AKE를 위한 TCP/IP 커넥션과는 별도로, HTTP 클라이언트로부터 작성된다(즉, AKE 절차용과 컨텐츠 전송용에 개별의 소켓 정보(IP 어드레스와 포트 번호의 조합)를 갖는다). 그리고, HTTP 클라이언트로서 동작하는 SINK는, 통상의 HTTP와 완전히 같은 동작 순서에 의해 HTTP 서버로서 동작하는 SOURCE상의 컨텐츠를 요구한다. 이에 대해, HTTP 서버는, 요구하는 바의 컨텐츠를 HTTP 리스폰스로서 되돌려준다.
SOURCE는, 난수를 이용하여 논스(Nc)를 생성하고, 종 키(Kx)와 논스(Nc)와 암호 모드를 나타내는 E-EMI를 기초로 컨텐츠 키(Kc)를 생성한다. 그리고, SINK로부터 요구되어 있는 컨텐츠를, 컨텐츠 키(Kc)를 이용하여 암호화하고, 암호화 컨텐츠로 이루어지는 페이로드와 논스(Nc)와 E-EMI를 포함한 헤더로 이루어지는 패킷인 PCP(Protected Content Packet)를 TCP 스트림상에 실어서 송신한다. 그리고, IP 프로토콜은, TCP 스트림을 소정의 단위가 되는 패킷의 크기로 분할하고, 또한 헤더부를 부가한 IP 패킷으로 하여, 지정된 IP 어드레스 앞으로 보낸다.
SINK측에서는, SOURCE로부터의 각 IP 패킷을 수신하면, 이것을 TCP 스트림에 조립하여, 송신된 PCP를 취출한다. 그리고, 스트림으로부터 논스(Nc)와 E-EMI를 취출하면, 이들과 종 키(Kx)를 이용하여 마찬가지로 컨텐츠 키(Kc)를 산출하고, 암호화 컨텐츠를 복호하여, 재생 또는 기록 등의 처리를 실시한다. HTTP 프로토콜을 이용한 컨텐츠 전송이 종료되면, 예를 들면 SINK측에서, 사용한 TCP 커넥션을 적절히 절단한다.
또한, 장대한 TCP 스트림 전체에 걸쳐서 같은 암호 키를 계속 사용하면, 키가 해독될 위험이 높아진다. 이 때문에, DTCP-IP에서는, SOURCE는 128MB마다 논스(Nc) 즉 컨텐츠 키(Kc)를 갱신하도록(하나씩 잉크리먼트한다) 결정되어 있다. SINK는, 컨텐츠 키의 확인이 필요하게 되면, 컨텐츠 전송용의 TCP 커넥션과는 별도로, 컨텐츠 키의 확인용의 TCP 커넥션을 또한 확립하고, SOURCE에 대해 컨텐츠 키 확인을 위한 절차를 행한다. 예를 들면, DTCP-IP Volume 1 Supplement E.8.6에는, 컨텐츠 키의 확인 절차로서 "CONTENT KEY CONFIRMATION"을 규정하고 있다.
DTCP-IP에서는, 논스(Nc)를 포함한 헤더와, 암호화 컨텐츠로 이루어지는 페이로드로 구성되는, PCP라는 패킷 형식으로 컨텐츠 전송이 행하여진다. 도 5에는, PCP의 데이터 구조를 모식적으로 도시하고 있다. PCP 헤더는 평문이고, 논스(Nc)가 포함되어 있다. 또한, PCP 페이로드는 논스(Nc)로 정해지는 컨텐츠 키(Kc)로 암호화된 컨텐츠(단, 카피 제어 정보로서 "COPY-FREE"가 지정되어 있는 컨텐츠는 암호화 불필요)로 구성된다. PCP 페이로드는, 항상 16바이트의 배수가 되도록, 필요에 따라 암호화 전에 패딩(padding)이 행하여진다. 또한, 컨텐츠의 안전을 위해 정기적으로 논스(Nc) 즉 컨텐츠 키(Kc)를 갱신하는데(전술), 그 시점에서도 PCP는 패딩된다(컨텐츠 키(Kc)를 갱신하지 않아도 복수의 PCP에 패딩하는 것은 가능). 또한, protected_content_length의 값이 16의 정수배가 아닌 때는, 컨텐츠에 1 내지 15바이트의 패딩이 붙는다. 논스(Nc)의 갱신에 수반하여, 컨텐츠 키 확인 절차를 기동하는 것은 상술한 바와 같다. 덧붙여서, HTTP 리스폰스는 하나 이상의 PCP로 이루어지고, RTP 페이로드는 하나의 PCP로 이루어진다. 도 6에는, PCP를 패딩하는 양상을 도시하고 있다.
C. 컨텐츠의 MOVE 동작
DTCP-IP에서는, SOURCE측에서 NO MORE COPIES로서 부호화되어 있는 컨텐츠를 SINK에서 이용할 수 있도록 하는 수단으로서, MOVE 기능이 준비되어 있다. 즉, SINK는 수신한 컨텐츠를 NO MORE COPIES로서 부호화하여 취급할 것, 및, SOURCE측에서는 전송한 후의 컨텐츠를 소거 또는 이용 불능으로 한다는 조건하에서, SOURCE로부터 SINK에 컨텐츠를 MOVE하는 것이 허용된다. MOVE 기능에 의하면, SOURCE와 SINK 사이에서 전송한 컨텐츠의 엔티티 수가 증가하는 것은 아니기 때문에, 컨텐츠 보호상의 문제는 없다.
그러나, SOURCE와 SINK 사이에서 MOVE 기능에 의한 컨텐츠 전송 처리가 장해 등에 기인하여 중단된 때에, SOURCE 및 SINK의 각각에 컨텐츠가 분단된다는 문제가 있다. MOVE 동작이 완전하게 종료하지 않은 경우, UNDO(즉 MOVE하지 않은 상태로 되돌린다)나, RESUME(즉 나머지 MOVE 동작을 재개한다)라는 해결 방법도 고려되지만, 이들의 처리를 행할 수 없는 케이스도 있다.
그래서, 본 실시 형태에서는, SOURCE로부터 SINK에 컨텐츠의 MOVE를 행할 때에, SINK측에서는 수신한 데이터를 순차적으로 이용 가능하게 한다는 구조를 도입하는 것으로 하였다. 이 경우, SINK는 컨텐츠를 구성하는 각 데이터를 수신한 시점에서, 컨텐츠 전체의 전송 처리의 완료를 기다리지 않고, 그 수신 데이터에 관한 권리가 SOURCE로부터 위양되어, SINK측에서 수신 데이터가 이용 가능하게 됨과 함께, SOURCE측에서는 컨텐츠의 해당 데이터 부분이 무효화된다. 즉, 데이터 전송할 때마다 MOVE한 컨텐츠가 증분한다는, 단계적인 컨텐츠의 이동이 행하여진다.
컨텐츠를 MOVE할 때에, SINK측에서 수신 데이터를 순차적으로 이용 가능하게 하여 간다는 이와 같은 구조를, 본 명세서에서는 "INCREMENTAL MOVE"라고 부르기로 한다. INCREMENTAL MOVE에 의하면, 어떠한 장해에 의해 MOVE 동작이 도중절단된 경우라도, 이미 SINK측에서 수취된 데이터의 증분에 관해 컨텐츠 권리자 및 유저에게 공평하게 되도록 취급할 수 있다고 본 발명자들은 생각한다.
INCREMENTAL MOVE에서는, MOVE한 데이터를 SINK측에서 수신한 직후에 이용 가능하게 하여도 좋다. SOURCE측에서는, 데이터가 수신되는 것의 교환으로, 해당 데이터 부분을 이용 불능(즉 무효화)으로 한다. 단, 데이터 수신 직후에 권리를 위양하면, SOURCE측에서는, 스스로 전송한 데이터가 SINK에서 올바르게 수신 및 격납되었는지의 여부를 알 수 없다. 그래서, 수신 데이터에 관해 SOURCE와의 사이에서 확약(commitment)을 경유한 후에, SINK측에서 이용 가능(즉 유효화)하게 하도록 하여도 좋다. 이 경우, SOURCE는, 확약 절차의 일환으로서 SINK측으로부터 수신이 통지된 데이터 부분을 이용 불능으로 한다. 이하에서는, 각각의 방법으로 나누어서, INCREMENTAL MOVE의 실시 형태에 관해 설명한다.
C-1. 즉시적(卽時的)인 INCREMENTAL MOVE
도 7 내지 도 10에는, MOVE한 데이터를 SINK측에서 수신한 직후에 이용 가능하게 하는 경우의 컨텐츠 전송 시퀀스를 모식적으로 도시하고 있다.
도 7에 도시하는 바와 같이, 컨텐츠 전체의 전송이 성공리에 끝나면, SOURCE와 SINK 사이에서 컨텐츠의 권리를 무사하게 위양할 수 있다. 이것에 대해, 도 8에 도시하는 바와 같이 전송의 도중에 장해가 발생하면, 전송 후의 데이터 부분은 SINK측에, 전송 전의 데이터 부분은 SOURCE에 남아서, 컨텐츠가 분단된다. MOVE가 중단되고, 또한, 이후에 MOVE 처리를 재개(RESUME)할 수 없을 때에, 이와 같은 상태에 빠진다. SINK는, 무사하게 수신한 데이터 증분(增分)에 관해서는 권리가 위양되고, 그 이용이 가능해진다. 또한, SOURCE는, 이미 송신한 데이터의 부분을 무효화하지만, 미송신으로 된 나머지 데이터에 관해서는 권리를 유보하고, 그 이용이 가능하다.
또한, SINK가 이미 수신한 데이터중 임의의 시점부터 이용 불능으로 할 수 있는 경우에는, 그 시점 이후의 MOVE를 취소할 수 있다. 데이터의 MOVE를 취소하기 위해, 본 실시 형태에서는 "CANCEL"라는 커맨드를 정의하고 있다.
도 9에는, 수신 데이터가 어느 시점(x) 이후의 MOVE를 취소하기 위한 컨텐츠 전송 시퀀스를 모식적으로 도시하고 있다. x 이전의 수신 데이터는, 예를 들면, SINK측에서 이미 이용 가능한 상태로 데이터를 기록하여 버리고, 또한 무효화할 수 없는(즉 UNDO할 수 없는) 데이터 부분, 또는 SINK측에서 이용하는데 사정이 좋은 데이터 단위(예를 들면, 수신 버퍼의 사이즈) 등이다. SINK는, SOURCE에 대해, MOVE를 취소하고 싶은 시점(x)을 인수(引數)에 포함한 CANCEL 커맨드를 송신한다.
또한, SINK가 수신 데이터를 전부 이용 불가능한 상태로 하는 것이 가능하고, 또한 SINK가 MOVE 자체를 취소하고 싶은 경우에는, 도 10에 도시하는 바와 같이, 취소하고 싶은 시점을 초기치(0)로 설정한 CANCEL 커맨드를 SOURCE에 송신함으로써, 금회의 MOVE 동작 전체를 UNDO할 수 있다.
CANCEL 커맨드의 전송은, 안전한 트랜잭션으로 행할 필요가 있다. 예를 들면, 커맨드 전송용 또는 AKE용의 TCP 커넥션을 이용하여, CANCEL 커맨드 및 그것에 관련되는 트랜잭션을 행할 수 있다. CANCEL 커맨드의 프레임·포맷에 관해서는 후에 설명한다.
SOURCE로부터 SINK에 컨텐츠를 MOVE하는 것은, 클라이언트로서 동작하는 SINK가 컨텐츠·서버로서 동작하는 SOURCE로부터 컨텐츠를 다운로드하는 케이스와, 클라이언트로서 동작하는 SOURCE가 컨텐츠·서버로서 동작하는 SINK에 컨텐츠를 업 로드하는 케이스가 상정된다. 이하에서는, 각각의 케이스에 관해, SOURCE 및 SINK가 즉시적인 INCREMENTAL MOVE를 행하기 위한 동작 순서에 관해 설명한다.
도 11에는, 즉시적인 INCREMENTAL MOVE 동작에 의해 SINK가 SOURCE로부터 컨텐츠를 MOVE에 의해 다운로드하는 경우에, SOURCE가 실행하는 동작 순서를 플로우 차트의 형식으로 도시하고 있다.
우선, 컨텐츠 송신처 기기가 되는 SINK와의 사이에서 인증 및 키 교환(AKE) 절차용의 TCP 커넥션을 확립하여, AKE 처리를 행한다(스텝 S1). SOURCE가 최초에 키를 건네주는 상대는 1대(臺)의 SINK로 한정한다.
AKE에 성공하면, SINK와의 사이에서 컨텐츠 전송용의 TCP 커넥션을 확립한다. 그리고, SINK로부터 컨텐츠의 송신 요구를 수신하면(스텝 S2의 YES), 지정된 부분의 데이터를 송신한다(스텝 S3). 그리고, 송신한 부분의 데이터를 무효 끝냄이 아니면(스텝 S4의 NO), 해당 부분의 컨텐츠를 무효화한다(스텝 S5).
여기서 말하는 「무효화」란, 실제로 데이터를 지우거나 바꾸거나 하는 것이 아니라, 재전송 이외의 목적으로의 이용을 억제하는 처리이다. SINK에 의해 MOVE가 CANCEL된 때는 무효화한 데이터를 이용 가능한 상태로 되돌린다. CANCEL 커맨드는, 예를 들면, 무효화하여야 할 컨텐츠의 범위를 지정하는 포인터 정보를 가지며, SOURCE측에서는, 포인터의 위치 이전의 범위의 데이터의 이용을 제한하는 등의 관리를 행한다.
SOURCE는, SINK로부터 CANCEL 커맨드를 수신하면(스텝 S6의 YES), CANCEL 커맨드에서 지정된 위치(예를 들면, 도 9중의 시점(x)) 이후에 무효화되어 있는 부분 을 유효화하고(스텝 S7), 본 처리 루틴을 종료한다.
한편, SINK로부터 CANCEL 커맨드를 수신하지 않은 때는(스텝 S6의 NO), MOVE 동작을 중단할 필요가 있는지의 여부를 체크한다(스텝 S7). MOVE 동작의 중단이 필요하게 되는 것은, 유저나 다른 어플리케이션으로부터 중단의 요구가 있는 경우, 타임 아웃한 경우 등이다.
MOVE 동작을 중단할 필요가 있는 때는(스텝 S7의 YES), 본 처리 루틴을 종료한다. 또한, MOVE 동작을 중단할 필요가 없는 때는(스텝 S7의 NO), SINK로부터 OK 커맨드를 수신함에 의해(스텝 S8의 YES), 본 처리 루틴을 종료한다.
또한, OK 커맨드를 수신하지 않은 때는(스텝 S9의 NO), 스텝 S2로 되돌아와, SINK로부터 다음 컨텐츠의 송신 요구를 대기한다.
또한, SOURCE가 무효화한 데이터 부분의 재전송을 행할 때는, SINK가 해당 재전송 부분을 별도로 복제에 이용하지 않는 것이 전제이다. SOURCE는, 인증시에 SINK가 이 전제를 준수할 수 있는지의 여부를 확인하고, 확인할 수 없는 때는 재전송을 거부하도록 하여도 좋다.
도 12에는, 즉시적인 INCREMENTAL MOVE 동작에 의해 SINK가 SOURCE로부터 컨텐츠를 다운로드하는 경우에, SINK가 실행하는 동작 순서를 플로우 차트의 형식으로 도시하고 있다.
우선, 컨텐츠 송신원 기기가 되는 SOURCE와의 사이에서 인증 및 키 교환(AKE) 절차용의 TCP 커넥션을 확립하여, AKE 처리를 행한다(스텝 S11).
AKE에 성공하면, SOURCE와의 사이에서 컨텐츠 전송용의 TCP 커넥션을 확립한 다. 그리고, SINK는, 컨텐츠의 미송신 부분의 데이터의 송신 요구를 송신한다(스텝 S12).
여기서, 송신 요구한 부분의 데이터를 정상적으로 수신할 수 없을 때는(스텝 S13의 NO), 데이터의 재전송을 행할 필요가 있는지의 여부를 체크한다(스텝 S14). 데이터의 재전송이 필요하게 되는 것은, 타임 아웃이 발생한 경우나, 수신 데이터에 이상이 있는 경우, 수신 데이터가 불완전한 경우 등이다.
데이터 재전송이 필요하지 않으면(스텝 S14의 NO), 스텝 S13으로 되돌아와, 정상적인 데이터를 수신할 때까지 대기한다. 데이터 재전송이 필요한 때는(스텝 S14의 YES), 이미 송신된 데이터의 재전송 요구를 SOURCE에 송신한 후(스텝 S15), 스텝 S13으로 되돌아와, 정상적인 데이터를 수신할 때까지 대기한다. 또한, SOURCE로부터 무효화한 데이터 부분의 재전송을 행할 때는, SINK가 해당 재전송 부분을 별도로 복제에 이용하지 않는 것이 전제이다.
또한, 송신 요구한 부분의 데이터를 정상적으로 수신할 수 있는 때는(스텝 S13의 YES), 컨텐츠의 모든 데이터를 수신하였는지의 여부를 체크한다(스텝 S16). 미송신의 데이터가 남아 있는 때는, 컨텐츠의 MOVE 동작을 중단할 필요가 있는지의 여부를 체크한다(스텝 S17). MOVE 동작의 중단이 필요하게 되는 것은, 유저나 다른 어플리케이션으로부터 중단의 요구가 발생한 경우, 타임 아웃한 경우 등이다.
MOVE 동작을 계속하는 경우에는(스텝 S17의 NO), 스텝 S12로 되돌아와, 미송신의 데이터의 수신 처리를 반복하여 행한다.
한편, MOVE 동작을 중단하여야 할 경우에는(스텝 S17의 YES), 중단 후에 유 효하게 되지 않는 범위의 선두 위치(x)를 결정하고, CANCEL 커맨드로 x를 SOURCE에 통지함과 함께(스텝 S18), SINK측에서는 수신한 컨텐츠의 x 이후의 부분의 데이터를 무효화하고(스텝 S19), 본 처리 루틴을 종료한다. 여기서 말하는 무효화의 처리는 상술한 바와 마찬가지이다.
또한, 컨텐츠를 구성하는 모든 데이터를 수신한 때는(스텝 S16의 YES), SINK는, SOURCE에 대해 OK 커맨드를 송신하고(스텝 S20), 본 처리 루틴 전체를 종료한다.
도 13에는, 즉시적인 INCREMENTAL MOVE 동작에 의해 SOURCE가 SINK에 컨텐츠를 업로드하는 경우에, SOURCE가 실행하는 동작 순서를 플로우 차트의 형식으로 도시하고 있다.
우선, 컨텐츠 송신처 기기가 되는 SINK와의 사이에서 인증 및 키 교환(AKE) 절차용의 TCP 커넥션을 확립하여, AKE 처리를 행한다(스텝 S21). SOURCE가 최초에 키를 건네주는 상대는 1대의 SINK로 한정한다. AKE에 성공하면, SINK와의 사이에서 컨텐츠 전송용의 TCP 커넥션을 확립한다.
그리고, 업로드하여야 할 모든 컨텐츠를 송신하였는지의 여부를 체크한다(스텝 S22).
미송신의 컨텐츠·데이터가 있는 때는(스텝 S22의 NO), 그 데이터의 송신을 행한다(스텝 S23). 그리고, 송신한 부분의 데이터를 무효화한다(스텝 S24).
송신한 데이터의 컨텐츠를 무효화한 후, 및 송신하여야 할 모든 컨텐츠를 송신한 후(스텝 S22의 YES), 무효화한 데이터의 재전송 요구를 SINK로부터 수신하였 는지의 여부를 체크한다(스텝 S25).
데이터의 재전송 요구를 수신한 때는(스텝 S25의 YES), 지정된 부분의 데이터를 송신한다(스텝 S26). 단, 데이터 재전송을 행할 때는, SINK가 해당 재전송 부분을 별도로 복제에 이용하지 않는 것이 전제이다. SOURCE는, 인증시에 SINK가 이 전제를 준수할 수 있는지의 여부를 확인하고, 확인할 수 없는 때는 재전송을 거부하도록 하여도 좋다.
데이터의 재전송 요구를 수신하지 않은 때(스텝 S25의 NO), 및, 재전송 요구에 응하여 데이터 재전송을 행한 후, SOURCE는, SINK로부터 CANCEL 커맨드를 수신하였는지의 여부를 체크한다(스텝 S27).
CANCEL 커맨드를 수신한 때는(스텝 S27의 YES), CANCEL 커맨드에서 지정된 위치(예를 들면, 도 9중의 시점(x)) 이후에 무효화되어 있는 부분을 유효화하고(스텝 S28), 본 처리 루틴을 종료한다.
한편, SINK로부터 CANCEL 커맨드를 수신하지 않은 때는(스텝 S27의 NO), MOVE 동작을 중단할 필요가 있는지의 여부를 체크한다(스텝 S29). 본 처리 루틴을 종료한다. MOVE 동작의 중단이 필요하게 되는 것은, 유저나 다른 어플리케이션으로부터 중단의 요구가 있는 경우, 타임 아웃한 경우 등이다. MOVE 동작을 중단할 필요가 있는 때는, 본 처리 루틴을 종료한다. 또한, MOVE 동작을 중단할 필요가 없는 때는, SINK로부터 OK 커맨드를 수신하고(스텝 S30의 YES), 확약을 경유한 후에 본 처리 루틴을 종료한다.
또한, OK 커맨드를 수신하지 않은 때는(스텝 S30의 NO), 스텝 S2로 되돌아 와, SINK로부터 다음 컨텐츠의 송신 요구를 대기한다.
도 14에는, 즉시적인 INCREMENTAL MOVE 동작에 의해 SOURCE가 SINK에 컨텐츠를 업로드하는 경우에, SINK가 실행하는 동작 순서를 플로우 차트의 형식으로 도시하고 있다.
우선, 컨텐츠 송신원 기기가 되는 SOURCE와의 사이에서 인증 및 키 교환(AKE) 절차용의 TCP 커넥션을 확립하여, AKE 처리를 행한다(스텝 S31). AKE에 성공하면, SOURCE와의 사이에서 컨텐츠 전송용의 TCP 커넥션을 확립한다.
그리고, SINK는, SOURCE로부터 데이터를 정상적으로 수신할 수 있었는지의 여부를 체크한다(스텝 S32).
여기서, 데이터를 정상적으로 수신할 수 없을 때는(스텝 S32의 NO), 데이터의 재전송을 행할 필요가 있는지의 여부를 체크한다(스텝 S33). 데이터의 재전송이 필요하게 되는 것은, 타임 아웃이 발생한 경우나, 수신 데이터에 이상이 있는 경우, 수신 데이터가 불완전한 경우 등이다.
데이터 재전송이 필요하지 않으면(스텝 S33의 NO), 스텝 S32로 되돌아와, 정상적인 데이터를 수신할 때까지 대기한다. 데이터 재전송이 필요한 때는(스텝 S33의 YES), 이미 송신된 데이터의 송신 요구를 SOURCE에 송신한 후(스텝 S34), 스텝 S32로 되돌아와, 정상적인 데이터를 수신할 때까지 대기한다. 또한, SOURCE로부터 무효화한 데이터 부분의 재전송을 행할 때는, SINK는 정상적으로 수신할 수 없는 부분의 보완 이외의 목적으로는 사용하지 않는다.
또한, SINK가 SOURCE로부터 데이터를 정상적으로 수신할 수 있는 때는(스텝 S32의 YES), 컨텐츠의 모든 데이터를 수신하였는지의 여부를 체크한다(스텝 S35). 미송신의 데이터가 남아 있는 때는, 컨텐츠의 MOVE 동작을 중단할 필요가 있는지의 여부를 체크한다(스텝 S36). MOVE 동작의 중단이 필요하게 되는 것은, 유저나 다른 어플리케이션으로부터 중단의 요구가 발생한 경우, 타임 아웃한 경우 등이다.
MOVE 동작을 계속하는 경우에는(스텝 S36의 NO), 스텝 S32로 되돌아와, 미송신의 데이터의 수신 처리를 반복하여 행한다.
한편, MOVE 동작을 중단하여야 할 경우에는(스텝 S36의 YES), 중단 후에 유효하게 되지 않는 범위의 선두 위치(x)를 결정하고, CANCEL 커맨드로 x를 SOURCE에 통지함과 함께(스텝 S37), SINK측에서는 수신한 컨텐츠의 x 이후의 부분의 데이터를 무효화하고(스텝 S38), 본 처리 루틴을 종료한다. 여기서 말하는 무효화의 처리는 상술한 바와 마찬가지이다.
또한, 컨텐츠를 구성하는 모든 데이터를 수신한 때는(스텝 S35의 YES), SINK는, SOURCE에 대해 OK 커맨드를 송신하고(스텝 S39), 본 처리 루틴 전체를 종료한다.
C-2. 확약이 붙은 INCREMENTAL MOVE
도 15 내지 17에는, 수신 데이터에 관해 SOURCE와의 사이에서 확약(commitment)을 경유한 후에 SINK측에서 이용 가능하게 하는 경우의 컨텐츠 전송 시퀀스를 모식적으로 도시하고 있다.
SINK에 MOVE된 데이터는, 해당 데이터에 관해 SOURCE와의 사이에서 확약 절차를 행할 때까지는 이용 불가능한 상태를 유지한다. SOURCE는, 확약 절차로 SINK 로부터 지정된 데이터 부분을 이용 불가능하게 한다. 본 실시 형태에서는, 확약 절차를 행하기 위해, "OK"라는 커맨드를 정의하고 있다. SINK는, 수신 데이터중 이용 가능하게 하고 싶은(즉 확약의 대상이 되는) 데이터 부분을 OK 커맨드에 기록하여, SOURCE에 송신한다.
도 15에는, 컨텐츠 전체의 전송이 성공리에 종료한 경우의 시퀀스 예를 도시하고 있다. SINK는, p까지 데이터를 수신한 시점에서 그 데이터를 이용 가능하게 하고 싶은 경우에는, 시점(p)을 인수에 포함한 OK 커맨드를 SOURCE에 송신하여, 확약 절차를 행한다. 그리고, SOURCE측에서 시점(p)까지의 데이터를 이용 불가능하게 하는(즉 무효화하는) 것과의 교환으로, SINK측에서는 해당 시점까지의 데이터의 이용을 가능하게 할(즉 유효화할) 수 있다.
또한, SINK는, q까지 데이터를 수신한 시점, 및, r까지 데이터를 수신한 시점에서도, OK 커맨드를 SOURCE에 송신하여, 확약 절차를 행하고, 각각의 시점에서 각각 데이터를 이용 가능한 상태로 하고 있다.
SINK가 확약 절차를 행하는 시점은, 예를 들면, SINK측에서 이용하는데 사정이 좋은 데이터 단위(수신 버퍼 사이즈 등)이다. 도 15에 도시한 예에서는, 이와 같은 수회의 확약 절차를 경유하여, 컨텐츠 전체의 MOVE가 완료된다.
컨텐츠 전송의 도중에 새롭게 MOVE한 데이터 증분에 관해 확약 절차를 행함으로써, 각 시점에서의 수신 데이터를 순차로 이용 가능하게 할 수 있다. 이와 같이 추가분의 데이터에 관한 확약 절차를 순차적으로 행하는 MOVE 동작인 것을 중간적인 확약 절차(INTERMEDIATE COMMITMENT)라고 부를 수도 있다. 물론, 중간적인 확 약 절차를 행하지 않고, 컨텐츠 전체의 전송이 완료된 시점에서 SINK가 컨텐츠 전체에 관한 OK 커맨드를 송신하고, 일괄하여 확약 절차를 행하도록 하여도 좋지만, 이것은 "BLOCK MOVE"에 상당한다. BLOCK MOVE에 관해서는, 예를 들면 본 출원인에게 이미 양도되어 있는 특원2006-4129호 명세서를 참조하길 바란다.
도 16에는, 중간적인 확약 절차를 행하는 컨텐츠 전송의 도중에 장해가 발생한 경우의 전송 시퀀스 예를 도시하고 있다. SINK는, p까지 데이터를 수신한 시점에서 그 데이터를 이용 가능하게 하고 싶은 경우에는, 시점(p)을 인수에 포함한 OK 커맨드를 SOURCE에 송신하여, 확약 절차를 행한다. 그리고, SOURCE측에서 시점(p)까지의 데이터를 이용 불가능하게 하는 것과의 교환으로, SINK측에서는 해당 시점까지의 데이터의 이용을 가능하게 한다. 마찬가지로, q까지 데이터를 수신한 시점에서 확약 절차를 행함으로써, SINK측에서는 해당 시점까지의 데이터의 이용을 가능하게 한다.
여기서, 컨텐츠 전송에 장해가 발생하고, 또한, 이후에 MOVE 처리를 재개(RESUME)할 수 없을 때는, 전송 후의 데이터 부분은 SINK측에, 전송 전의 데이터 부분은 SOURCE에 남아서, 컨텐츠가 분단된다. 즉시적인 INCREMENTAL MOVE에서는, MOVE가 중단되어 RESUME할 수 없는 경우는 반드시 컨텐츠가 분단되지만(도 8 내지 도 9를 참조할 것), 확약이 붙은 INCREMENTAL MOVE에서는, 중간적인 확약 절차를 행한 후에 MOVE가 중단되고, 또한 MOVE 처리를 RESUME할 수 없는 때만 컨텐츠의 분단이 생긴다.
도 15에 도시한 예에서는, 복수회의 중간적인 확약 절차를 행하고 있지만, SINK측에서 일단 이용 가능하게 한 수신 데이터를 이용 불가능하게 할 수 있는 경우에는, 확약을 행한 후라도 MOVE를 취소할 수 있다. 도 17에 도시하는 예에서는, SINK는, p, q, 및 r의 각 시점에서 중간적인 확약 절차를 행한 후, 모든 수신 데이터를 이용 불가능하게 하는 것을 기록한 CANCEL 커맨드를 SOURCE에 송신하고 있다. 이 경우, SOURCE측에서는 송신한 컨텐츠가 재차 이용 가능한 상태로 되고, MOVE를 UNDO할 수 있다.
OK 커맨드의 전송은, 안전한 트랜잭션으로 행할 필요가 있다. 예를 들면, 커맨드 전송용 또는 AKE용의 TCP 커넥션을 이용하여, OK 커맨드 및 그것에 관련되는 트랜잭션을 행할 수 있다. OK 커맨드의 프레임·포맷에 관해서는 후에 설명한다.
즉시적인 INCREMENTAL MOVE에서는, 데이터 전송 트랜잭션의 도중에, 커넥션·에러에 기인하는 데이터의 누락이 생길 수 있다. 또한, 전송 트랜잭션중에 기기의 전원이 오프된 것에 수반하여, 버퍼링된 데이터의 누락이 생길 수 있다. 이에 대해, 확약이 붙은 INCREMENTAL MOVE에 의하면, 확약 절차를 경유하고 나서가 아니면 SOURCE는 데이터의 무효화를 행하지 않기 때문에, 커넥션·에러 때문에 데이터의 누락이 생기는 일은 없다. 또한, 전송 트랜잭션중에 기기의 전원이 오프된 경우라도, 확약 전의 데이터를 불휘발 기억 영역에 격납하여 둠으로써, 데이터의 누락을 회피할 수 있다.
또한, 즉시적인 INCREMENTAL MOVE에서는, MOVE를 UNDO하는 절차를 안전한 트랜잭션으로 행할 필요가 있음에 대해, 확약이 붙은 INCRENEMTAL MOVE에서 UNDO를 행하는 데는, 중간적인 확약 절차를 경유한 경우만 안전한 트랜잭션이 필요하게 된 다.
SOURCE로부터 SINK에 컨텐츠를 MOVE하는 것은, 클라이언트로서 동작하는 SINK가 컨텐츠·서버로서 동작하는 SOURCE로부터 컨텐츠를 다운로드하는 케이스와, 클라이언트로서 동작하는 SOURCE가 컨텐츠·서버로서 동작하는 SINK에 컨텐츠를 업로드하는 케이스가 상정된다. 이하에서는, 각각의 케이스에 관해, SOURCE 및 SINK가 확약이 붙은 INCREMENTAL MOVE를 행하기 위한 동작 순서에 관해 설명한다.
도 18에는, 확약이 붙은 INCREMENTAL MOVE 동작에 의해 SINK가 SOURCE로부터 컨텐츠를 다운로드하는 경우에, SOURCE가 실행하는 동작 순서를 플로우 차트의 형식으로 도시하고 있다.
우선, 컨텐츠 송신처 기기가 되는 SINK와의 사이에서 인증 및 키 교환(AKE) 절차용의 TCP 커넥션을 확립하여, AKE 처리를 행한다(스텝 S51). SOURCE가 최초에 키를 건네주는 상대는 1대의 SINK로 한정한다.
AKE에 성공하면, SINK와의 사이에서 컨텐츠 전송용의 TCP 커넥션을 확립한다. 그리고, SINK로부터 컨텐츠의 송신 요구를 수신하면(스텝 S52의 YES), 지정된 부분의 데이터를 송신한다(스텝 S53). 또한, 데이터 송신 처리와 병행하여, SOURCE에서는 송신한 데이터의 무효화 처리를 행하는데, 그 무효화 처리 동작의 상세에 관해서는 후술로 양도한다.
또한, SOURCE는, SINK로부터 CANCEL 커맨드를 수신하면(스텝 S54의 YES), CANCEL 커맨드에서 지정된 위치 이후에 무효화되어 있는 데이터 부분을 유효화하고(스텝 S55), 본 처리 루틴을 종료한다.
한편, SINK로부터 CANCEL 커맨드를 수신하지 않은 때는(스텝 S54의 NO), MOVE 동작을 중단할 필요가 있는지의 여부를 체크한다(스텝 S56). MOVE 동작의 중단이 필요하게 되는 것은, 유저나 다른 어플리케이션으로부터 중단의 요구가 있는 경우, 타임 아웃한 경우 등이다.
MOVE 동작을 중단할 필요가 있는 때는(스텝 S56의 YES), 본 처리 루틴을 종료한다. 또한, MOVE 동작을 중단할 필요가 없는 때는(스텝 S56의 NO), 이미 SINK에 송신한 데이터가 도 19에 도시하는 처리 순서(후술)에 따라 최후까지 무효화되어 있는지의 여부를 체크한다(스텝 S57). 최후까지 무효화되어 있는 때는, 본 처리 루틴을 종료한다. 또한, 최후까지 무효화되어 있지 않은 때는, 스텝 S52로 되돌아와, SINK로부터의 다음 송신의 요구를 대기한다.
SOURCE는, 도 18에 도시한 처리 순서에 따라 SINK에 컨텐츠를 다운로드할 때, 이들의 처리와 병행하여, SINK로부터의 통지(즉 OK 커맨드를 이용한 확약 절차)에 의거하여, 송신이 끝난 데이터의 무효화 처리를 행한다. 여기서 말하는 「무효화」란, 실제로 데이터를 지우거나 바꾸거나 하는 것이 아니라, 재전송 이외의 목적으로의 이용을 억제하는 처리이다(상동). SOURCE가 무효화한 데이터 부분의 재전송을 행할 때는, SINK가 해당 재전송 부분을 별도로 복제에 이용하지 않는 것이 전제이다. SOURCE는, 인증시에 SINK가 이 전제를 준수할 수 있는지의 여부를 확인하고, 확인할 수 없는 때는 재전송을 거부하도록 하여도 좋다.
도 19에는, 확약이 붙은 INCREMENTAL MOVE를 행할 때에 SOURCE가 병행하여 행하는 데이터 무효화 처리의 순서를 플로우 차트의 형식으로 도시하고 있다.
SOURCE는, SINK에 대해 컨텐츠의 송신을 시작하고 나서(스텝 S61의 YES), 중단하기 까지의 사이에(스텝 S62의 NO), OK 커맨드를 수신하면(스텝 S63의 YES), 송신한 데이터의 유효 범위의 선두로부터 OK 커맨드에서 지정된 위치(x)까지 무효화를 행한다(스텝 S64).
송신한 컨텐츠의 최후의 데이터까지 무효화하면(스텝 S65의 YES), 본 처리 루틴을 종료한다. 또한, 송신한 컨텐츠의 최후의 데이터까지 무효화하지 않은 때는(스텝 S65의 NO), 스텝 S62로 되돌아와, 중단의 발생 또는 다음 OK 커맨드의 수신을 대기한다.
또한, MOVE 동작이 중단된 때는(스텝 S62의 YES), 본 처리 루틴을 종료한다.
도 20에는, 확약이 붙은 INCREMENTAL MOVE 동작에 의해 SINK가 SOURCE로부터 컨텐츠를 다운로드하는 경우에, SINK가 실행하는 동작 순서를 플로우 차트의 형식으로 도시하고 있다.
우선, 컨텐츠 송신원 기기가 되는 SOURCE와의 사이에서 인증 및 키 교환(AKE) 절차용의 TCP 커넥션을 확립하여, AKE 처리를 행한다(스텝 S71).
AKE에 성공하면, SOURCE와의 사이에서 컨텐츠 전송용의 TCP 커넥션을 확립한다. 그리고, SINK는, 컨텐츠의 미송신 부분의 데이터의 송신 요구를 송신하고(스텝 S72), 요구한 데이터 부분을 SOURCE로부터 올바르게 수신할 수 있었는지의 여부를 체크한다(스텝 S73). 또한, SOURCE로부터의 데이터 수신 처리와 병행하여, SINK에서는 수신한 데이터의 유효화 처리를 행하는데, 그 유효화 처리 동작의 상세에 관해서는 후술로 양도한다.
여기서, 송신 요구한 부분의 데이터를 정상적으로 수신할 수 없을 때는(스텝 S73의 NO), 데이터의 재전송을 행할 필요가 있는지의 여부를 체크한다(스텝 S74). 데이터의 재전송이 필요하게 되는 것은, 타임 아웃이 발생한 경우나, 수신 데이터에 이상이 있는 경우, 수신 데이터가 불완전한 경우 등이다.
데이터 재전송이 필요하지 않으면(스텝 S74의 NO), 스텝 S73으로 되돌아와, 정상적인 데이터를 수신할 때까지 대기한다. 데이터 재전송이 필요한 때는(스텝 S74의 YES), 이미 송신된 데이터의 재전송 요구를 SOURCE에 송신한 후(스텝 S75), 스텝 S73으로 되돌아와, 정상적인 데이터를 수신할 때까지 대기한다. 또한, SOURCE로부터 무효화한 데이터 부분의 재전송을 행할 때는, SINK가 해당 재전송 부분을 별도로 복제에 이용하지 않는 것이 전제이다.
또한, 송신 요구한 부분의 데이터를 정상적으로 수신할 수 있는 때는(스텝 S73의 YES), 수신한 데이터를 도 21에 도시하는 처리 순서(후술)에 따라 최후까지 유효화하였는지의 여부를 체크한다(스텝 S76). 최후까지 유효화하였으면, 본 처리 루틴을 종료한다.
유효화하지 않은 수신 데이터가 남아 있는 때는(스텝 S76의 NO), 컨텐츠의 MOVE 동작을 중단할 필요가 있는지의 여부를 체크한다(스텝 S77). MOVE 동작의 중단이 필요하게 되는 것은, 유저나 다른 어플리케이션으로부터 중단의 요구가 발생한 경우, 타임 아웃한 경우 등이다.
MOVE 동작을 계속하는 경우에는(스텝 S77의 NO), 스텝 S72에서 송신을 요구한 컨텐츠를 최후까지 수신하였는지의 여부를 체크한다(스텝 S80). 그리고, 최후까 지 수신하지 않았으면, 스텝 S12로 되돌아와, 미송신의 데이터의 수신 처리를 반복하여 행한다. 또한, 최후까지 수신하였으면, 스텝 S76으로 되돌아와, 수신 데이터를 최후까지 유효화하였는지의 여부를 체크한다.
한편, MOVE 동작을 중단하여야 할 경우에는(스텝 S77의 YES), 중단 후에 유효하게 되지 않는 범위의 선두 위치(x)를 결정하고, CANCEL 커맨드로 x를 SOURCE에 통지함과 함께(스텝 S78), SINK측에서는 수신한 컨텐츠의 x 이후의 부분의 데이터를 무효화하고(스텝 S79), 본 처리 루틴을 종료한다.
SINK는, 도 20에 도시한 처리 순서에 따라 SOURCE로부터 컨텐츠를 다운로드할 때, 이들의 처리와 병행하여, SOURCE에의 통지(즉 OK 커맨드를 이용한 확약 절차)에 의거하여, 수신 데이터의 유효화 처리를 행한다. 여기서 말하는 「유효화」는, 이용 불능 상태의 데이터를 재생 이용이 가능한 상태로 하는 처리이다.
도 21에는, 확약이 붙은 INCREMENTAL MOVE를 행할 때에 SIINK가 병행하여 행하는 데이터 유효화 처리의 순서를 플로우 차트의 형식으로 도시하고 있다.
우선, 유효화하기 전의 컨텐츠·데이터가 소정의 유효화 단위만큼 수신하였는지(즉 수신 데이터·버퍼에 축적되었는지)의 여부를 체크한다(스텝 S81). 유효화 전의 컨텐츠·데이터를 아직도 소정의 유효화 단위만큼 수신하지 않은 때는(스텝 S81의 NO), 유효화 전의 컨텐츠를 최후까지 수신할 때까지(스텝 S82), SOURCE로부터의 데이터 수신을 대기한다.
그리고, 유효화하기 전의 컨텐츠·데이터를 소정의 유효화 단위만큼 수신하면(스텝 S81의 YES), MOVE 동작이 중단되었는지의 여부를 체크한다(스텝 S83). MOVE 동작이 중단된 때는, 본 처리 루틴을 종료한다.
한편, MOVE 동작이 중단되지 않은 때는(스텝 S83의 NO), 유효화한 부분의 말미(末尾) 위치(x)를 OK 커맨드로 SOURCE에 통지하고(스텝 S84), 또한 무효 범위의 선두로부터 말미 위치(x)를 유효화한다(스텝 S85).
그리고, 컨텐츠를 최후까지 유효화한 때는(스텝 S86의 YES), 본 처리 루틴을 종료하고, 최후까지 유효화하지 않은 때는(스텝 S86의 NO), 스텝 S81로 되돌아온다.
도 22에는, 확약이 붙은 INCREMENTAL MOVE 동작에 의해 SOURCE가 SINK에 컨텐츠를 업로드하는 경우에, SOURCE가 실행하는 동작 순서를 플로우 차트의 형식으로 도시하고 있다.
우선, 컨텐츠 송신처 기기가 되는 SINK와의 사이에서 인증 및 키 교환(AKE) 절차용의 TCP 커넥션을 확립하여, AKE 처리를 행한다(스텝 S91). SOURCE가 최초에 키를 건네주는 상대는 1대의 SINK로 한정한다. AKE에 성공하면, SINK와의 사이에서 컨텐츠 전송용의 TCP 커넥션을 확립한다.
그리고, 업로드하여야 할 모든 컨텐츠를 송신하였는지의 여부를 체크하고(스텝 S92), 미송신의 컨텐츠·데이터가 있는 때는 그 데이터의 송신을 행한다(스텝 S93). 또한, 데이터 송신 처리와 병행하여, SOURCE에서는, SINK로부터의 OK 커맨드의 수신에 의거하여 송신한 데이터의 무효화 처리를 행하는데, 그 동작 순서는 도 19에 도시한 플로우 차트에 따른다.
뒤이어, 무효화한 데이터의 재전송 요구를 SINK로부터 수신하였는지의 여부 를 체크한다(스텝 S94). 데이터의 재전송 요구를 수신한 때는, 지정된 부분의 데이터를 송신한다(스텝 S95). 단, 데이터 재전송을 행할 때는, SINK가 해당 재전송 부분을 별도로 복제에 이용하지 않는 것이 전제이다. SOURCE는, 인증시에 SINK가 이 전제를 준수할 수 있는지의 여부를 확인하고, 확인할 수 없는 때는 재전송을 거부하도록 하여도 좋다.
데이터의 재전송 요구를 수신하지 않은 때(스텝 S94의 NO), 및, 재전송 요구에 응하여 데이터 재전송을 행한 후, SOURCE는, SINK로부터 CANCEL 커맨드를 수신하였는지의 여부를 체크한다(스텝 S96).
CANCEL 커맨드를 수신한 때는(스텝 S96의 YES), CANCEL 커맨드에서 지정된 위치 이후에 무효화되어 있는 데이터 부분을 유효화하고(스텝 S97), 본 처리 루틴을 종료한다.
한편, SINK로부터 CANCEL 커맨드를 수신하지 않은 때는(스텝 S96의 NO), MOVE 동작을 중단할 필요가 있는지의 여부를 체크한다(스텝 S98). 본 처리 루틴을 종료한다. MOVE 동작의 중단이 필요하게 되는 것은, 유저나 다른 어플리케이션으로부터 중단의 요구가 있는 경우, 타임 아웃한 경우 등이다. MOVE 동작을 중단할 필요가 있는 때는, 본 처리 루틴을 종료한다.
또한, MOVE 동작을 중단할 필요가 없는 때는(스텝 S98의 NO), SINK에 이미 송신한 데이터가 도 19에 도시한 처리 순서에 따라 최후까지 무효화되었는지의 여부를 체크하다(스텝 S99), 최후까지 무효화되어 있는 때는 본 처리 루틴을 종료한다. 최후까지 무효화되어 있지 않은 때는, 스텝 S92로 되돌아온다.
도 23에는, 확약이 붙은 INCREMENTAL MOVE 동작에 의해 SOURCE가 SINK에 컨텐츠를 업로드하는 경우에, SINK가 실행하는 동작 순서를 플로우 차트의 형식으로 도시하고 있다.
우선, 컨텐츠 송신원 기기가 되는 SOURCE와의 사이에서 인증 및 키 교환(AKE) 절차용의 TCP 커넥션을 확립하여, AKE 처리를 행한다(스텝 S101). AKE에 성공하면, SOURCE와의 사이에서 컨텐츠 전송용의 TCP 커넥션을 확립한다.
그리고, SINK는, SOURCE로부터 데이터를 정상적으로 수신할 수 있었는지의 여부를 체크한다(스텝 S102). 또한, SOURCE로부터의 데이터 수신 처리와 병행하여, SINK에서는 수신한 데이터의 유효화 처리를 행하는데, 도 21에 도시한 동작 순서에 따라 그 처리가 행하여진다.
여기서, 송신 요구한 부분의 데이터를 정상적으로 수신할 수 없을 때는(스텝 S102의 NO), 데이터의 재전송을 행할 필요가 있는지의 여부를 체크한다(스텝 S103). 데이터의 재전송이 필요하게 되는 것은, 타임 아웃이 발생한 경우나, 수신 데이터에 이상이 있는 경우, 수신 데이터가 불완전한 경우 등이다.
데이터 재전송이 필요하지 않으면(스텝 S103의 NO), 스텝 S102로 되돌아와, 정상적인 데이터를 수신할 때까지 대기한다. 데이터 재전송이 필요한 때는(스텝 S103의 YES), 이미 송신된 데이터의 송신 요구를 SOURCE에 송신한 후(스텝 S104), 스텝 S102로 되돌아와, 정상적인 데이터를 수신할 때까지 대기한다. 또한, SOURCE로부터 무효화한 데이터 부분의 재전송을 행할 때는, SINK는 정상적으로 수신할 수 없는 부분의 보완 이외의 목적으로는 사용하지 않는다.
또한, 송신 요구한 부분의 데이터를 정상적으로 수신할 수 있는 때는(스텝 S102의 YES), 수신한 데이터가 도 21에 도시한 처리 순서에 따라 최후까지 유효화되었는지의 여부를 체크한다(스텝 S105). 최후까지 유효화되어 있으면, 본 처리 루틴을 종료한다.
유효화되어 있지 않은 수신 데이터가 남아 있는 때는(스텝 S105의 NO), 컨텐츠의 MOVE 동작을 중단할 필요가 있는지의 여부를 체크한다(스텝 S106). MOVE 동작의 중단이 필요하게 되는 것은, 유저나 다른 어플리케이션으로부터 중단의 요구가 발생한 경우, 타임 아웃한 경우 등이다.
MOVE 동작을 계속하는 경우에는(스텝 S106의 NO), 스텝 S72에서 송신을 요구한 컨텐츠를 최후까지 수신하였는지의 여부를 체크한다(스텝 S109). 그리고, 최후까지 수신하지 않았으면, 스텝 S102로 되돌아와, 미송신의 데이터의 수신 처리를 반복하여 행한다. 또한, 최후까지 수신하였으면, 스텝 S105로 되돌아와, 수신 데이터를 최후까지 유효화하였는지의 여부를 체크한다.
한편, MOVE 동작을 중단하여야 할 경우에는(스텝 S106의 YES), 중단 후에 유효하게 되지 않는 범위의 선두 위치(x)를 결정하고, CANCEL 커맨드로 x를 SOURCE에 통지함과 함께(스텝 S107), SINK측에서는 수신한 컨텐츠의 x 이후의 부분의 데이터를 무효화하고(스텝 S108), 본 처리 루틴을 종료한다.
C-3. INCREMENTAL MOVE 를 실현하는 SINK 의 구성
본 실시 형태에 관한 컨텐츠 전송 시스템에서는, CANCEL 커맨드를 이용함으로써, SOURCE로부터 SINK에 일단 MOVE한 컨텐츠를 임의의 범위에서 취소할 수 있 다.
CANCEL을 실현하는데는, SINK가 이미 수신한 데이터중, 특정한 시점 또는 임의의 시점부터 이용 불능으로 할 수 있는 구조를 갖는 것이 전제로 된다.
SINK의 대략적인 기능 구성은, 도 2를 참조하면서 이미 설명한 길이다. 즉, DTCP-IP 인증 블록 내에서는, AKE 블록에 의해 SOURCE와의 사이에서 키(Kx)가 교환된다. 그리고, 컨텐츠 복호 블록은, 키(Kx)로부터 컨텐츠 복호 키(Kc)를 산출하고, DTCP-IP 컨텐츠 수신 블록에서 SOURCE로부터 수신한 암호화 컨텐츠를 이 복호 키(Kc)로 복호한다.
도 24에는, 일단 유효화한 컨텐츠·데이터를 무효화 즉 이용 불능으로 하기 위한 DTCP-IP 인증 블록의 기능 구성예를 도시하고 있다. 도시한 DTCP-IP 인증 블록은, 컨텐츠 복호 블록에서 복호한 컨텐츠·데이터를 일시적으로 격납하는 컨텐츠·버퍼·블록과, 버퍼링된 컨텐츠·데이터를 기록하는 컨텐츠 기록 블록을 구비하고 있다. 컨텐츠 관리 블록에서는, CANCEL이나 OK 등 SOURCE에 발행하는 커맨드에 의거하여, 컨텐츠·버퍼·블록 및 컨텐츠 기록 블록에 격납되어 있는 컨텐츠·데이터의 관리를 행한다.
컨텐츠의 보존 방법으로서, 하드·디스크 등의 재기록 가능한 기록 매체에 기록되어 있는 경우와, 1회만 기록 가능한 기록 매체에 기록되어 재기록 불가능한 경우가 있다. 컨텐츠 기록 블록에 보존된 컨텐츠가 재기록 가능한 경우는, 유효화 전의 컨텐츠를 보존하고, 나중에 유효화할 수도 있다. 한편, 컨텐츠 기록 블록에 보존된 컨텐츠가 재기록 불가인 경우는, 컨텐츠·데이터는 유효화 후의 상태에서 보존할 필요가 있다. 또한, 컨텐츠 기록 블록을, 컨텐츠 복호 블록과 마찬가지로, 내탬퍼성이 있는 DTCP-IP 인증 블록 내에 배치함으로써, 컨텐츠 복호 블록과 컨텐츠 기록 블록 사이에서의 복호 컨텐츠의 누설의 문제는 없어진다.
또한, 컨텐츠 재생 블록에서는, 전송 컨텐츠의 리얼타임·모니터링으로서의 사용 방법이라면, 유효화 전의 데이터를 컨텐츠 기록 블록으로부터 판독하여, 그대로 비디오 및 오디오 신호로 변환(rendering)하여, 디스플레이 등의 AV 출력부에서 영상 및 음향 출력할 수는 있다. 이와 같은 복호 컨텐츠의 재생 방법은, 출력과 함께 데이터를 잃어버리기 때문에 컨텐츠의 카피에는 상당하지 않고, SOURCE와 SINK의 양쪽에 재생 가능한 컨텐츠가 중복하여 존재하면 안되다는 DTCP 규격에 저촉되지 않기 때문이다.
여기서, INCREMANTAL MOVE된 컨텐츠·데이터를 SINK측에서 전부 CANCEL하는데는, 컨텐츠·버퍼·블록 내의 데이터에 더하여, 컨텐츠 기록 블록 내에 기록된 데이터도 전부 무효화할 수 있는 것이 전제로 된다. 또한, 컨텐츠 기록 블록 내에 기록한 데이터를 무효화할 수 없는 경우라도, 컨텐츠·버퍼·블록 내의 데이터를 파기할 수가 있다면, 그 부분만은 CANCEL하는 것이 허용된다.
데이터 재전송이 필요하게 되는 케이스를 들어서 구체적으로 설명한다. 컨텐츠 복호 블록에 의해 복호된 컨텐츠가 복수의 데이터·블록으로 이루어지고, 각각이 시퀀스·카운터를 갖는다고 한다. 컨텐츠·버퍼·블록에서는, 수신한 데이터·블록의 시퀀스·카운터가 불연속이라면, 그 개소의 데이터가 누락되어 있는 것을 확인할 수 있다. 이 경우, 최후에 정상이라고 확인된 데이터·블록 이후를 컨텐츠 기록 블록에 전송하기 전에, 재전송 처리를 기동하여 누락된 데이터·블록을 SOURCE에 재전송 요구하여 다시 취득함으로써, 불연속한 데이터를 컨텐츠 기록 블록에 건네주는 것을 방지할 수 있다.
또한, SINK가, 도 20 및 도 23에 도시한 바와 같이, 확약이 붙은 INCREMENTAL MOVE를 실장하는 경우에는, 컨텐츠 복호 블록에서 복호한 데이터를, SOURCE와의 사이에서 확약을 나눌 때까지는 무효 상태로 버퍼링할 필요가 있다.
도 25에는, 이와 같은 구조를 구비한 컨텐츠·버퍼·블록의 구성예를 도시하고 있다. 도시한 컨텐츠·버퍼·블록은, 어느 데이터 단위를 무효 상태로 보존할 수 있는 버퍼 메모리를 1 이상 구비하고 있다. OK 커맨드를 사용한 처리에 필요로 하는 시간도, SOURCE로부터의 컨텐츠 수신이나 기록 동작을 계속하는 경우는, 복수의 버퍼 메모리를 순차로 전환하여 사용한다.
컨텐츠 복호 블록으로부터 복호 후의 데이터가 입력되면, 우선, SW1에 의해 해당 단위마다 각 버퍼 메모리에 분배되고, 무효 상태인 채로 버퍼된다. 그리고, OK 커맨드를 SOURCE에 송신하여 수신 통지 처리를 완료한 데이터 단위는, SW2를 경유하여 컨텐츠 기록 블록에 공급되고, 유효 상태로서 격납된다.
MOVE 동작을 완전히 CANCEL할 수 있는 것은, 컨텐츠·버퍼·블록 내의 모든 데이터에 더하여, 컨텐츠 기록 블록 내에 기록된 데이터도 전부 무효화할 수 있는 경우로 한정된다. 또한, 컨텐츠 기록 블록 내에 기록한 데이터를 무효화할 수 없는 경우라도, 컨텐츠·버퍼·블록 내의 데이터를 파기할 수가 있다면, 그 부분만은 CANCEL 하는 것이 허용된다.
재전송이 필요하게 되는 경우의 처리는 도 24의 경우와 마찬가지이므로, 여기서는 설명을 생략한다.
C-4. OK 커맨드 , CANCEL 커맨드
본 실시 형태에 관한 컨텐츠 전송 시스템에서는, INCREMENTAL MOVE를 알맞게 실현하기 위해, OK 및 CANCEL이라는 커맨드를 정의하였다. 이들 커맨드의 프레임·포맷의 한 예를 도 26에 도시한다.
명령 코드로 커맨드의 종류별을 나타내고, 메시지로 각 커맨드의 파라미터를 보낸다. 또한, 개찬 방지용으로, 최후의 서명(signature)으로 명령 코드와 메시지에 대한 전자 서명을 보낸다. 단, 즉시적인 INCREMENTAL MOVE에서 SINK로부터 보내는 OK 커맨드는, 공격에 이로움이 없기 때문에, 서명을 사용하지 않는다는 운용 형태도 생각된다.
구체적인 메시지로서, 확약이 붙은 INCREMENTAL MOVE 처리에 있어서 SINK로부터 송신하는 OK 커맨드에 관해서는, 수신을 종료한 데이터의 말미 위치를 선두로부터의 바이트 수로 나타내는 것이 생각된다. 한편, 즉시적 및 확약이 붙은 INCREMENTAL MOVE 처리에 있어서 SINK로부터 송신하는 CANCEL 커맨드에 관해서는, 컨텐츠의 선두로부터의 바이트 수로 위치를 나타내고, 그 이후를 CANCEL하는 범위로 하는 것이 생각된다.
또한, 서명에는, 예를 들면 키 부착 해시값을 이용하는 것이 고려되는 최초에 행하는 인증 및 키 교환(AKE)을 통하여 SOURCE와 SINK만이 공유하는 비밀키에 소정의 연산을 시행하고, 그것을 키로 하여 상기한 메시지 및 소정의 정보에 대한 키 부착 해시값을 구한다. 또한, 소정의 정보는 모든 SOURCE와 SINK가 미리 알고 있는 특정한 값을 초기치로 하여 사용하는 것으로 한다.
OK 커맨드나 CANCEL 커맨드는, SOURCE에 도착한 것을 SINK측에서 확실하게 확인할 수 없으면, 컨텐츠의 중복이나 누락이 생겨 버린다. 이 때문에, 실제로는 2상(相) 커미트먼트 등의 절차를 이용하여, 복수의 교환을 경유하여 하나의 커맨드 처리를 행하는 것이 생각된다. 이 경우, 복수의 교환을 행할 때는 상기한 해시 대상의 하나인 소정의 정보를 SOURCE와 SINK가 동기하여 값을 늘리는 등의 방법으로 순차로 전환함으로써, 제 3자에게 예측 불능이며 또한 SOURCE와 SINK가 서로 상대의 정당성을 확인하는 해시 값을 생성할 수 있어서, 트랜잭션은 보다 안전한 것으로 된다.
산업상의 이용 가능성
이상, 특정한 실시 형태를 참조하면서, 본 발명에 관해 상세히 해석하여 왔다. 그러나, 본 발명의 요지를 일탈하지 않는 범위에서 당업자가 그 실시 형태의 수정이나 대용을 해낼 수 있음은 자명하다.
본 발명의 적용예로서, SOURCE와 SINK 사이에서 행하여지는 HTTP 프로토콜을 이용한 컨텐츠 전송을 들 수가 있지만, 본 발명의 요지는 이것으로 한정되지 않는다. 저작권이나 그 밖의 목적으로 보호가 필요하게 되는 정보 컨텐츠를 소정의 카피 제어 정보에 따라 암호화 전송하는 다른 모든 컨텐츠 전송 시스템, 또는 카피 제어나 컨텐츠의 암호화를 행하지 않는 시스템이라도, 이동원에 데이터를 남기지 않고 기기 사이에서 데이터를 이동시킬 때에, 마찬가지로 본 발명을 적용할 수 있다.
요컨대, 예시라는 형태로 본 발명을 개시하여 온 것이여서, 본 명세서의 기재 내용을 한정적으로 해석하면 않될 것이다. 본 발명의 요지를 판단하기 위해서는, 특허청구의 범위를 참작하여야 할 것이다.
본 발명에 의하면, DTCP에 준거한 정보 기기끼리에서 암호화 컨텐츠의 전송 절차를 알맞게 실행할 수 있는, 우수한 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터 프로그램을 제공할 수 있다.
또한, 본 발명에 의하면, MOVE 기능을 이용하여 SOURCE로부터 SINK에 컨텐츠를 알맞게 이동할 수 있는, 우수한 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터 프로그램을 제공할 수 있다.
본 발명에 관한 컨텐츠 전송 시스템에 의하면, 컨텐츠의 MOVE를 행할 때에, SINK측에서는 수신한 데이터를 순차적으로 이용 가능하게 한다(즉, 컨텐츠를 구성하는 각 데이터를 수신할 때마다 그 데이터에 관한 권리를 SINK에 위양한다)는 구조를 도입함에 의해, 어떠한 장해에 의해 MOVE 동작이 도중절단된 경우라도, 이미 SINK측에서 수취한 데이터에 관해 컨텐츠 권리자 및 유저에게 공평하게 되도록 취급할 수 있다.

Claims (19)

  1. 컨텐츠를 송신하는 SOURCE와 컨텐츠를 수신하는 SINK 사이에서 컨텐츠를 전송하는 컨텐츠 전송 시스템으로서,
    상기 SINK는, 상기 SOURCE로부터 수신한 부분의 데이터를 순서대로 유효화함과 함께, 상기 SOURCE는, 상기 SINK에 송신한 부분의 데이터를 순서대로 무효화하여, 컨텐츠를 상기 SOURCE로부터 상기 SINK에 이동하는 것을 특징으로 하는 컨텐츠 전송 시스템.
  2. 제 1항에 있어서,
    상기 SINK는, 상기 SOURCE로부터 수신하여 유효화한 컨텐츠·데이터의 적어도 일부를 무효화하여, 해당 데이터의 이동의 취소를 요구하고,
    상기 SOURCE는, 해당 취소 요구에 응하여, 일단 무효화한 해당 송신 데이터를 유효화하는 것을 특징으로 하는 컨텐츠 전송 시스템.
  3. 제 1항에 있어서,
    상기 SOURCE는, 상기 SINK로부터의 데이터를 수신한 것을 나타내는 소정의 확약 절차에 따라 송신 데이터의 무효화 처리를 행하는 것을 특징으로 하는 컨텐츠 전송 시스템.
  4. 제 3항에 있어서,
    상기 SINK는, 상기 SOURCE로부터 수신하여 유효화한 데이터의 범위를 지정한 수령 확인 커맨드를 송신하고,
    상기 SOURCE는, 해당 수령 확인 커맨드를 수신한 것에 응하여, 지정된 범위의 데이터를 무효화하는 것을 특징으로 하는 컨텐츠 전송 시스템.
  5. 제 3항에 있어서,
    상기 SINK는, 상기 SOURCE에 대해 확약 절차를 행하여 유효화한 수신 데이터의 적어도 일부를 무효화하여, 해당 데이터의 이동의 취소를 요구하고,
    상기 SOURCE는, 해당 취소 요구에 응하여, 확약 절차를 경유하여 일단 무효화한 해당 송신 데이터를 유효화하는 것을 특징으로 하는 컨텐츠 전송 시스템.
  6. DTCP에 따라 컨텐츠를 송신하는 SOURCE로서 동작하는 컨텐츠 전송 장치로서,
    AKE 절차에 의해 SINK와의 사이에서 상호인증 및 키 교환을 행하는 인증 수단과,
    송신 대상이 되는 컨텐츠의 데이터를, 상기 인증 수단에 의해 교환한 키를 이용하여 상기 SINK에 암호화 전송하는 데이터 전송 수단과,
    상기 데이터 전송 수단에 의해 송신된 부분의 데이터를 순차로 무효화하는 데이터 무효화 수단을 구비하고, SINK에 컨텐츠를 이동하는 것을 특징으로 하는 컨텐츠 전송 장치.
  7. 제 6항에 있어서,
    상기 SINK로부터의 이동 취소 요구에 응하여, 일단 무효화한 데이터를 유효화하는 데이터 유효화 수단을 또한 구비하는 것을 특징으로 하는 컨텐츠 전송 장치.
  8. 제 6항에 있어서,
    상기 데이터 무효화 수단은, 상기 SINK가 데이터를 수신한 것을 나타내는 소정의 확약 절차에 따라, 상기 데이터 전송 수단에 의해 송신한 데이터의 무효화 처리를 행하는 것을 특징으로 하는 컨텐츠 전송 장치.
  9. 제 8항에 있어서,
    상기 데이터 무효화 수단은, 유효화한 데이터의 범위를 지정한 수령 확인 커맨드를 상기 SINK로부터 데이터를 수신한 것에 따라, 상기 데이터 전송 수단에 의해 송신한 데이터의 무효화 처리를 행하는 것을 특징으로 하는 컨텐츠 전송 장치.
  10. 제 8항에 있어서,
    상기 SINK로부터의 이동 취소 요구에 응하여, 확약 절차를 경유하여 일단 무효화한 데이터를 유효화하는 데이터 유효화 수단을 또한 구비하는 것을 특징으로 하는 컨텐츠 전송 장치.
  11. DTCP에 따라 컨텐츠를 수신하는 SINK로서 동작하는 컨텐츠 전송 장치로서,
    AKE 절차에 의해 SOURCE와의 사이에서 상호인증 및 키 교환을 행하는 인증 수단과,
    상기 SOURCE로부터 송신되는 컨텐츠·데이터를, 상기 인증 수단에 의해 교환한 키를 이용하여 수신 처리하는 데이터 수신 수단과,
    상기 데이터 수신 수단에 의해 수신된 부분의 데이터를 순차로 유효화하는 데이터 유효화 수단을 구비하고, SOURCE로부터 컨텐츠를 이동하는 것을 특징으로 하는 컨텐츠 전송 장치.
  12. 제 11항에 있어서,
    상기 데이터 유효화 수단에 의해 유효화된 데이터의 적어도 일부를 무효화하는 데이터 무효화 수단과,
    상기 데이터 무효화 수단에 의해 무효화한 데이터의 이동의 취소를 상기 SOURCE에 요구하는 이동 취소 요구 수단을 또한 구비하는 것을 특징으로 하는 컨텐츠 전송 장치.
  13. 제 11항에 있어서,
    데이터를 수신한 것을 상기 SOURCE에 도시하는 소정의 확약 절차를 행하는 확약 절차 수단을 또한 구비하고,
    상기 데이터 유효화 수단은, 상기 확약 절차 수단에 의한 확약 절차를 경유하여, 해당하는 데이터를 유효화하는 것을 특징으로 하는 컨텐츠 전송 장치.
  14. 제 13항에 있어서,
    상기 확약 절차 수단은, 유효화한 데이터의 범위를 지정한 수령 확인 커맨드를 상기 SOURCE에 송신하는 것을 특징으로 하는 컨텐츠 전송 장치.
  15. 제 13항에 있어서,
    상기 확약 절차 수단에 의한 확약 절차를 행하여 유효화한 수신 데이터의 적어도 일부를 무효화하는 데이터 무효화 수단과,
    상기 데이터 무효화 수단에 의해 무효화한 데이터의 이동의 취소를 상기 SOURCE에 요구하는 이동 취소 요구 수단을 또한 구비하는 것을 특징으로 하는 컨텐츠 전송 장치.
  16. DTCP SOURCE로서 컨텐츠를 송신하는 컨텐츠 전송 방법으로서,
    AKE 절차에 의해 SINK와의 사이에서 상호인증 및 키 교환을 행하는 인증 스텝과,
    송신 대상이 되는 컨텐츠의 데이터를, 상기 인증 스텝에서 교환한 키를 이용하여 상기 SINK에 암호화 전송하는 데이터 전송 스텝과,
    상기 데이터 전송 스텝에서 송신된 부분의 데이터를 순차로 무효화하는 데이 터 무효화 스텝을 구비하고, SINK에 컨텐츠를 이동하는 것을 특징으로 하는 컨텐츠 전송 방법.
  17. DTCP SINK로서 컨텐츠를 수신한 컨텐츠 전송 장치로서,
    AKE 절차에 의해 SOURCE와의 사이에서 상호인증 및 키 교환을 행하는 인증 스텝과,
    상기 SOURCE로부터 송신되는 컨텐츠·데이터를, 상기 인증 스텝에서 교환한 키를 이용하여 수신 처리하는 데이터 수신 스텝과,
    상기 데이터 수신 스텝에서 수신된 부분의 데이터를 순차로 유효화하는 데이터 유효화 스텝을 구비하고, SOURCE로부터 컨텐츠를 이동하는 것을 특징으로 하는 컨텐츠 전송 장치.
  18. DTCP SOURCE로서 컨텐츠를 송신하기 위한 처리를 컴퓨터 시스템상에서 실행하도록 컴퓨터 가독 형식으로 기술된 컴퓨터 프로그램으로서, 상기 컴퓨터 시스템에 대해,
    AKE 절차에 의해 SINK와의 사이에서 상호인증 및 키 교환을 행하는 인증 순서와,
    송신 대상이 되는 컨텐츠의 데이터를, 상기 인증 순서에서 교환한 키를 이용하여 상기 SINK에 암호화 전송하는 데이터 전송 순서와,
    상기 데이터 전송 순서에서 송신된 부분의 데이터를 순차로 무효화하는 데이 터 무효화 순서를 실행시키고, SINK에 컨텐츠를 이동하는 것을 특징으로 하는 컴퓨터 프로그램.
  19. DTCP SINK로서 컨텐츠를 수신하기 위한 처리를 컴퓨터 시스템상에서 실행하도록 컴퓨터 가독 형식으로 기술된 컴퓨터 프로그램으로서, 상기 컴퓨터 시스템에 대해,
    AKE 절차에 의해 SOURCE와의 사이에서 상호인증 및 키 교환을 행하는 인증 순서와,
    상기 SOURCE로부터 송신되는 컨텐츠·데이터를, 상기 인증 순서에서 교환한 키를 이용하여 수신 처리하는 데이터 수신 순서와,
    상기 데이터 수신 순서에서 수신된 부분의 데이터를 순차로 유효화하는 데이터 유효화 순서를 실행시켜서, SOURCE로부터 컨텐츠를 이동하는 것을 특징으로 하는 컴퓨터 프로그램.
KR1020070006838A 2006-01-25 2007-01-23 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송방법, 및 컴퓨터 프로그램 KR20070078065A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2006-00015886 2006-01-25
JP2006015886A JP2007199890A (ja) 2006-01-25 2006-01-25 コンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
KR20070078065A true KR20070078065A (ko) 2007-07-30

Family

ID=38323513

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070006838A KR20070078065A (ko) 2006-01-25 2007-01-23 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송방법, 및 컴퓨터 프로그램

Country Status (5)

Country Link
US (1) US20070180224A1 (ko)
EP (1) EP1840781A1 (ko)
JP (1) JP2007199890A (ko)
KR (1) KR20070078065A (ko)
CN (1) CN101009808A (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4548393B2 (ja) * 2006-07-19 2010-09-22 株式会社日立製作所 コンテンツ記録再生装置
JP4468425B2 (ja) * 2007-08-31 2010-05-26 株式会社東芝 送信装置、受信装置、コンテンツ送受信システム、コンテンツ送信方法、コンテンツ受信方法及びプログラム
JP2009194860A (ja) * 2008-02-18 2009-08-27 Toshiba Corp 送信装置、受信装置、コンテンツ送受信システム、コンテンツ送信方法、コンテンツ受信方法及びプログラム
JP4720847B2 (ja) * 2008-04-21 2011-07-13 ソニー株式会社 記録システム、伝送装置、記録装置、及び記録制御方法、並びにプログラム
WO2012012579A1 (en) * 2010-07-20 2012-01-26 Verimatrix, Inc. Digital rights domain management for secure content distribution in a local network
JP5652036B2 (ja) * 2010-07-29 2015-01-14 ソニー株式会社 通信システム、通信装置及び通信方法、並びにコンピューター・プログラム
US8559626B2 (en) * 2011-02-24 2013-10-15 Vixs Systems, Inc Cryptographic sanction server and methods for use therewith
JP5319753B2 (ja) * 2011-10-31 2013-10-16 株式会社東芝 コンテンツ送信装置及びコンテンツ受信装置
CN105828174B (zh) * 2015-01-05 2019-11-05 中兴通讯股份有限公司 一种分享媒体内容的方法和装置
US10402251B2 (en) * 2015-07-24 2019-09-03 Nxp Usa, Inc. DMA controller for a data processing system, a data processing system and a method of operating a DMA controller
CN110352586B (zh) * 2017-03-08 2021-12-07 日立能源瑞士股份公司 用于保留网络中的数据分组的相对定时和排序的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004056776A (ja) * 2002-05-29 2004-02-19 Matsushita Electric Ind Co Ltd データ送信装置、データ受信装置、データ伝送システム及びデータ伝送方法
JP2005202935A (ja) * 2003-12-15 2005-07-28 Ricoh Co Ltd 情報処理装置、画像形成装置、電子データの移動の取り消し方法
JP2005293731A (ja) * 2004-03-31 2005-10-20 Toshiba Corp コンテンツ記録方法、コンテンツ記録システム、及び記録再生装置
JP2005301449A (ja) * 2004-04-07 2005-10-27 Sony Corp コンテンツ伝送システム及びコンテンツ伝送方法、コンテンツ送信装置及びコンテンツ送信方法、コンテンツ受信装置及びコンテンツ受信方法、並びにコンピュータ・プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0795844A1 (en) * 1996-03-11 1997-09-17 Koninklijke KPN N.V. Method of securely modifying data on a smart card
JP2002261748A (ja) * 2000-12-28 2002-09-13 Sony Corp データ送信装置及び方法並びにデータ記録装置及び方法
US6372974B1 (en) * 2001-01-16 2002-04-16 Intel Corporation Method and apparatus for sharing music content between devices
JP4139114B2 (ja) * 2002-02-04 2008-08-27 松下電器産業株式会社 デジタルコンテンツ管理装置およびデジタルコンテンツ管理プログラム
US20050204110A1 (en) * 2003-11-04 2005-09-15 Matsushita Electric Industrial Co., Ltd. Content move system
JP4061548B2 (ja) * 2004-02-20 2008-03-19 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP3814620B2 (ja) * 2004-10-15 2006-08-30 株式会社東芝 情報処理装置および情報処理方法
JP4518058B2 (ja) * 2006-01-11 2010-08-04 ソニー株式会社 コンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004056776A (ja) * 2002-05-29 2004-02-19 Matsushita Electric Ind Co Ltd データ送信装置、データ受信装置、データ伝送システム及びデータ伝送方法
JP2005202935A (ja) * 2003-12-15 2005-07-28 Ricoh Co Ltd 情報処理装置、画像形成装置、電子データの移動の取り消し方法
JP2005293731A (ja) * 2004-03-31 2005-10-20 Toshiba Corp コンテンツ記録方法、コンテンツ記録システム、及び記録再生装置
JP2005301449A (ja) * 2004-04-07 2005-10-27 Sony Corp コンテンツ伝送システム及びコンテンツ伝送方法、コンテンツ送信装置及びコンテンツ送信方法、コンテンツ受信装置及びコンテンツ受信方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
US20070180224A1 (en) 2007-08-02
JP2007199890A (ja) 2007-08-09
EP1840781A1 (en) 2007-10-03
CN101009808A (zh) 2007-08-01

Similar Documents

Publication Publication Date Title
JP4518058B2 (ja) コンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム
KR20070078065A (ko) 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송방법, 및 컴퓨터 프로그램
KR101321860B1 (ko) 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및컴퓨터·프로그램
US7676042B2 (en) Terminal apparatus, server apparatus, and digital content distribution system
JP3814620B2 (ja) 情報処理装置および情報処理方法
US8930696B2 (en) System and method for exchanging secure information between secure removable media (SRM) devices
US8468350B2 (en) Content transmission apparatus, content reception apparatus and content transmission method
WO2011001630A1 (ja) データ交換処理装置およびデータ交換処理方法
JP2011082952A (ja) 通信システム、通信装置及び通信方法、並びにコンピューター・プログラム
CN100581239C (zh) 内容传输系统、装置及方法
WO2007046376A1 (ja) 送信側の記録再生装置、受信側の記録再生装置
JP4468425B2 (ja) 送信装置、受信装置、コンテンツ送受信システム、コンテンツ送信方法、コンテンツ受信方法及びプログラム
JP4910324B2 (ja) 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
US7688860B2 (en) Data transmission apparatus, data reception apparatus, data transmission method, and data reception method
JP4883199B2 (ja) コンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム
JP6443516B2 (ja) 通信システム及び通信方法
JP4736603B2 (ja) 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
JP2007036952A (ja) 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application