[go: up one dir, main page]

KR101321860B1 - 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및컴퓨터·프로그램 - Google Patents

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

Info

Publication number
KR101321860B1
KR101321860B1 KR1020060091741A KR20060091741A KR101321860B1 KR 101321860 B1 KR101321860 B1 KR 101321860B1 KR 1020060091741 A KR1020060091741 A KR 1020060091741A KR 20060091741 A KR20060091741 A KR 20060091741A KR 101321860 B1 KR101321860 B1 KR 101321860B1
Authority
KR
South Korea
Prior art keywords
content
copy control
control information
nonce
header
Prior art date
Application number
KR1020060091741A
Other languages
English (en)
Other versions
KR20070037994A (ko
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 KR20070037994A publication Critical patent/KR20070037994A/ko
Application granted granted Critical
Publication of KR101321860B1 publication Critical patent/KR101321860B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00253Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier
    • G11B20/00333Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier the key being stored in header data, e.g. in sector headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4367Establishing a secure communication between the client and a peripheral device or smart card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)

Abstract

컨텐츠의 포맷에 의존하지 않는 공통의 형식으로 카피 제어 정보를 패킷 내에 삽입하고, 또한 이들 정보를 시큐어하게 사용한다.
종래의 PCP 헤더 내의 논스(nonce) 정보 필드의 상위 8비트를 사용하여 PCP-CCI를 기술(記述)하고, 나머지의 하위 56비트에 논스 Nc를 기록한다. PCP-CCI는 아날로그 출력 제어에 관한 APS, 출력 시의 그림 사이즈에 관한 ICT라고 하는 출력 제어 정보나, 필드의 유효성을 기술한 모드 정보나, 헤더부에 기록되는 통상의 카피 제어 정보와 본래는 페이로드(payload)부에 매립되는 카피 제어 정보와의 대용 가능성에 관한 SE 정보로 구성된다.
PCP 헤더, 모드 정보, 논스 정보 필드, 출력, 사이즈.

Description

컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터·프로그램 {CONTENT TRANSMISSION DEVICE, CONTENT TRANSMISSION METHOD, AND COMPUTER PROGRAM USED THEREWITH}
도 1은 본 발명의 일 실시예에 관한 정보 통신 시스템의 구성예를 모식적으로 나타낸 도면이다.
도 2는 도 1에 나타낸 정보 통신 시스템에 있어서, 클라이언트(즉, Sink 기기)로서 동작하는 정보 통신 장치의 기능 구성을 나타낸 도면이다.
도 3은 도 1에 나타낸 정보 통신 시스템에 있어서, 서버(즉, Source 기기)로서 동작하는 정보 통신 장치의 기능 구성을 나타낸 도면이다.
도 4는 DTCP_Source 기기와 DTCP_Sink 기기 사이에서 AKE에 따른 키 교환 수속, 및 키 교환에 의해 공유한 키를 이용한 암호화 컨텐츠 전송을 행하는 구조를 설명하기 위한 도면이다
도 5는 PCP의 데이터 구조를 모식적으로 나타낸 도면이다.
도 6은 PCP 페이로드에 패딩하는 상태를 나타낸 도면이다.
도 7은 본 발명의 실시예에 관한 PCP 헤더의 데이터 구조를 나타낸 도면이다.
도 8은 PCP-CCI 필드의 포맷 구성예를 나타낸 도면이다.
도 9는 Mode 비트·필드에 따라 PCP-CCI 필드의 의미를 식별하기 위한 처리 순서를 나타낸 플로차트이다.
도 10은 Mode 비트·필드와 SE 비트·플래그 값의 조합에 따라 PCP-CCI 필드의 의미를 식별하기 위한 처리 순서를 나타낸 플로차트이다.
도 11은 Mode 비트·필드 및 SE 비트·플래그 값의 조합에 따라 E-EMI로 Embedded CCI(임베디드 CCI)를 대용하는 것이 가능한지 여부를 판별하기 위한 처리 순서를 나타낸 플로차트이다.
도 12는 Legacy의 Source 기기와 Sink 기기 사이에서 PCP를 전송하는 구조를 설명하기 위한 도면이다.
도 13은 PCP-CCI를 PCP 헤더에 매립하는 전송 방식을 적용한 Source 기기와 Sink 기기 사이에서 PCP를 전송하는 구조를 설명하기 위한 도면이다.
도 14는 도 12에 나타낸 Legacy의 Source 및 Sink 기기와, 도 13에 나타낸 새 방식의 Source 및 Sink 기기가 혼재하는 컨텐츠 전송 환경 하에서 Legacy 문제가 발생하는 상태를 나타낸 도면이다.
도 15는 컨텐츠 키 확인을 위한 Sink 기기와 Source 기기 사이의 수속을 나타낸 도면이다.
도 16은 PCP-CCI에 대응한 Source 기기가 Legacy의 Sink 기기 사이에서 컨텐츠 키 확인 수속을 행하기 위한 처리 순서를 나타낸 플로차트이다.
도 17은 Legacy의 Sink 기기가 PCP-CCI에 대응한 Source 기기 사이에서 컨텐츠 키 확인 수속을 행하기 위한 처리 순서를 나타낸 플로차트이다.
도 18은 PCP-CCI에 대응한 Source 기기(New Source)와 Legacy Sink 사이에서 행해지는 컨텐츠 키 확인 수속의 동작 시퀀스를 나타낸 도면이다.
도 19는 Sink 기기가 Source 기기의 CCI 플래그를 체크하여 PCP 헤더부의 PCP-CCI 정보를 처리하기 위한 순서를 나타낸 플로차트이다.
도 20은 기기 증명서 내에 CCI 플래그를 매립함으로써, Source 기기가 PCP-CCI 대응인 것을 Sink 기기에 나타내는 송수신 시퀀스 예를 나타낸 도면이다.
도 21은 Sink 기기가 Source 기기로부터 수신한 Tx 챌린지에 포함되는 기기 증명서로부터 CCI 플래그를 검증하기 위한 처리 순서를 나타낸 플로차트이다.
도 22는 기기가 자체의 서명을 부가하여 보내는 리스폰스 중에 CCI 플래그를 매립함으로써, Source 기기가 PCP-CCI 대응인 것을 Sink 기기에 나타내는 송수신 시퀀스 예를 나타낸 도면이다.
도 23은 Sink 기기가 Source 기기로부터 수신한 Rx 리스폰스에 포함되는 Tx 메시지로부터 CCI 플래그를 검증하기 위한 처리 순서를 나타낸 플로차트이다.
도 24는 Sink 기기로부터 Source 기기에 대하여 신규의 Rx 챌린지를 송신하고, 이에 대하여 Source 기기가 CCI 플래그를 매립한 신규의 Rx 리스폰스를 돌려주어, Source 기기가 PCP-CCI 대응인 것을 Sink 기기에 나타내는 송수신 시퀀스 예를 나타낸 도면이다.
도 25는 Source 기기가 도 24에 나타낸 동작에 대응한 챌린지·앤드·리스폰스 동작을 행하기 위한 처리 순서를 나타낸 플로차트이다.
도 26은 Sink 기기가 Source 기기로부터 수신한 신규의 Rx 리스폰스에 포함 되는 Tx 메시지로부터 CCI 플래그를 검증하기 위한 처리 순서를 나타낸 플로차트이다.
도 27은 Sink 기기로부터 Source 기기에 대하여 능력 확인 커맨드를 송신하고, 이에 대하여 Source 기기가 CCI 플래그를 매립한 능력 확인 리스폰스를 돌려주어, Source 기기가 PCP-CCI 대응인 것을 Sink 기기에 나타내는 송수신 시퀀스 예를 나타낸 도면이다.
도 28은 Sink 기기가 도 27에 나타낸 동작에 대응한 챌린지·앤드·리스폰스 동작을 행하기 위한 처리 순서를 나타낸 플로차트이다.
도 29는 Sink 기기로부터 Source 기기에 대하여 능력 확인 커맨드를 송신하고, 이에 대하여 Source 기기가 CCI 플래그를 매립한 서명 첨부의 능력 확인 리스폰스를 돌려주어, Source 기기가 PCP-CCI 대응인 것을 Sink 기기에 나타내는 송수신 시퀀스 예를 나타낸 도면이다.
도 30은 Sink 기기가 도 29에 나타낸 동작에 대응한 챌린지·앤드·리스폰스 동작을 행하기 위한 처리 순서를 나타낸 플로차트이다.
도 31은 PCP 헤더의 내부 구조를 나타낸 도면이다.
[1] Digital Transmission Content Protection Specification Volume 1 (Informa tional Version), Revision 1.4 (http://www.dtcp.com)
[2] DTCP Volume 1 Supplement E Mapping DTCP to IP(Informational Version), Revision 1.1 (http://www.dtcp.com)
[3] DTCP Volume 1 Supplement E Mapping DTCP to IP(Informational Version), Revision 1.1, V1SE.4.22 Modification to 6.3.3 Content Encryption Formats
[4] DTCP Volume 1 Supplement E Mapping DTCP to IP(Informational Version), Revision 1.1, V1SE.4.7 Modifications to 6.4.2 Encryption Mode Indicator (EMI)
[5] Digital Transmission Content Protection Specification Volume 1 (Informational Version), Revision 1.4, Appendix B DTCP_Descriptor for MPEG Transport Streams
본 발명은 저작권 보호 또는 그 밖의 목적으로 암호화된 전송 컨텐츠를 전송 처리하는 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터·프로그램에 관한 것이며, 특히, DTCP에 따른 정보 기기끼리 암호화 컨텐츠의 전송 수속을 실행하는 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터·프로그램에 관한 것이다.
보다 상세하게는, 본 발명은 전송하는 컨텐츠에 관한 속성 정보 및 카피(copy) 제어 정보를 패킷(packet) 내에 삽입하여 전송하는 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터·프로그램에 관한 것이며, 특히, 컨텐츠의 포맷에 의존하지 않는 형식으로 속성 정보 및 카피 제어 정보를 패킷 내에 삽입하여 전송하는 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터·프로그램에 관한 것이다.
정보 기술의 보급에 따라 AV 컨텐츠의 대부분이 디지털화되어 있고, CD나 DVD 등의 디지털·컨텐츠를 기록 재생하는 미디어가 널리 이용되고 있다. 또, 최근에는, HDD 레코더나 HDD 탑재 DVD 레코더 등 컨텐츠를 디지털 기록하는 기기가 가정 내에도 침투해 오고 있다. 또한, 네트워크를 경유한 영상이나 음악 등의 컨텐츠 유통·분배 서비스가 활발해 지고, CD나 DVD 등의 미디어 이동 없이, 네트워크를 경유하여 원격 단말기 사이에서 컨텐츠 분배가 행해지고 있다.
물론, 이들 AV 컨텐츠는 저작물의 하나로서 저작권법 아래에서 무단의 복제나 변조 등의 부정 사용으로부터 보호를 받을 수 있다. 저작권법에서는, 동 법 제30 조에서, 개인적으로 또는 가정 내 등을 사용 목적으로 한 경우의 사용자 본인의 복제를 허용하는 한편, 동 법 제49조 제1항에서는, 사적 사용 이외의 복제물 사용 을 금지하고 있다.
그러나, 디지털화된 컨텐츠는 카피나 변조 등의 부정한 조작이 비교적 용이하기 때문에, 법적인 정비뿐만 아니라 기술적인 측면에서도, 개인적 또는 가정적인 컨텐츠의 사용을 허용하면서 부정 사용에 대한 방어가 필요하다. 특히, 일본 국내에서는, 2011년의 지상 아날로그 방송 정지를 향해 아날로그 방송 수신기로부터 디지털 방송 수신기로의 치환(置換)이 급속히 진행되고 있어, 가정 내의 AV 컨텐츠의 디지털화에 대하여 컨텐츠의 보호를 기술적으로 실현하는 것이 필수라고 생각되고 있다.
디지털·컨텐츠의 저작권 보호를 목적으로 한 많은 기술이 개발되어 있다. 예를 들면, 디지털 전송 컨텐츠의 보호에 관한 업계표준으로서, DTLA(Digital Transmission Licensing Administrator)가 개발한 DTCP(Digital Transmission Content Protection)를 들 수 있으며, 저작권이 보호된 형태로 컨텐츠를 전송시키기 위한 구조에 대하여 규정되어 있다(예를 들면, DTCP Specification Volume 1 Version 1.4 (Informational Version) http://www.dtcp.com/을 참조).
DTCP에서는, 컨텐츠 전송 시에 있어서의 기기 사이의 인증 프로토콜과, 암호화 컨텐츠의 전송 프로토콜에 대하여 정해져 있다. 그 규정은 요약하면, DTCP 준거(準據) 기기는 MPEG(Moving Picture Experts Group) 등 취급이 용이한 압축 컨텐츠를 비암호의 상태로 기기 밖으로 송출하지 말 것과, 암호화 컨텐츠를 복호하기 위해 필요한 키 교환을 소정의 상호 인증 및 키 교환(Authentication and KeyExchange: AKE) 알고리즘에 따라 행할 것, 및 AKE 커맨드에 의해 키 교환을 행 하는 기기의 범위를 제한할 것 등을 정하고 있다.
컨텐츠 제공원(提供元)인 서버(DTCP_Source)와 컨텐츠 제공처(提供處)인 클라이언트(DTCP_Sink)는 AKE 커맨드의 송수신에 의해, 인증 수속을 거쳐 키를 공유화하고, 그 키를 사용하여 전송로를 암호화해서 컨텐츠의 전송을 행한다. 따라서, 부정한 클라이언트는 서버와의 인증에 성공하지 않으면 암호 키를 취득할 수 없기 때문에, 컨텐츠를 향수(享受)할 수 없다. 또, AKE 커맨드를 송수신하는 기기의 대수나 범위를 제한함으로써, 컨텐츠가 사용되는 범위를 저작권법에서 말하는 바의 개인적 또는 가정의 범위 내로 억제할 수 있다.
DTCP는 원초적으로는 IEEE1394 등을 전송로로 사용한 홈·네트워크 상에서의 디지털·컨텐츠 전송에 대하여 규정한 것이다. 그러나, 최근에는 DLNA(Digital Living Network Alliance)로 대표되는 바와 같이, 디지털화된 AV 컨텐츠를 IP 네트워크를 사용하여 가정 내에서 유통시키려고 하는 움직임이 본격적으로 이루어지고 있기 때문에, IP 네트워크에 대응한 DTCP 기술, 즉 DTCP-IP(DTCP mapping to IP)의 개발이 진행되고 있다. 홈·네트워크의 대부분은 라우터 등을 경유하여 인터넷 등 외부의 IP 네트워크에 접속되면, 컨텐츠의 부정 카피나 변조의 위구심(危懼心)이 지적되고 있다. DTCP-IP 기술의 확립에 의해, 디지털·컨텐츠를 보호하면서 IP 네트워크를 이용한 유연하고 효율적인 컨텐츠의 이용이 도모되는 것이 급선무이다.
DTCP-IP는, 기본적으로는 DTCP 규격에 포함되고, DTCP 기술을 IP 네트워크에 이식한 동일한 기술이지만, 전송로에 IP 네트워크를 사용하는 것, 암호화된 컨 텐츠의 전송에 HTTP(Hyper Text Transfer Protocol)나 RTP(Real Time Protocol) 등의 프로토콜을 사용한다고 하는 점에서, IEEE1394 베이스로 규정된 본래의 DTCP와는 상위하다. 또, IP 네트워크 상에는 PC를 주로 한 다양한 기기가 접속되어, 데이터의 도청, 변조가 간단하게 행해져 버릴 위험이 높기 때문에, DTCP-IP는 컨텐츠를 보호하면서 네트워크 전송하기 위한 새로운 방법을 규정하고 있다(예를 들면, DTCP Volume 1 Supplement E Mapping DTCP to IP, Version 1.1 (Informational Version) http://www.dtcp.com/을 참조).
여기에서, DTCP-IP에 따른 컨텐츠 전송에 대하여 설명한다. DTCP-IP에 따른 Source 기기 및 Sink 기기 사이에서 HTTP 프로토콜을 이용한 컨텐츠 전송을 실시하는 경우, TCP 스트림과 같이 장대(長大)한 바이트·스트림을 전송 도중에 컨텐츠 키를 변경하면서 암호화 통신이 행해지고, 또한 암호화 컨텐츠의 복호 처리 그 밖의 컨텐츠 처리를 실시할 때 컨텐츠 키의 확인 수속이 행해진다. 또, 상호 인증 및 키 교환(AKE), 컨텐츠 전송, 및 컨텐츠 키 확인의 수속마다 TCP 커넥션이 확립된다.
구체적으로는, AKE 수속이 성공하면, DTCP_Source 기기와 DTCP_Sink 기기는 인증 키 Kauth를 공유할 수 있다. DTCP_Source 기기는 컨텐츠 키의 시드(seed)가 되는 시드 키 Kx를 생성하고, 인증 키 Kauth로 암호화하여 DTCP_Sink 기기에 보낸다. DTCP_Source 기기는 난수를 사용하여 논스(Nonce) Nc를 생성하여, Kx와 Nc와 암호 모드를 나타내는 E-EMI를 기초로 컨텐츠 키 Kc를 생성한다. 그리고, DTCP _Sink 기기로부터 요구되고 있는 컨텐츠를, 컨텐츠 키 Kc를 사용하여 암호화하고, 암호화 컨텐츠와 논스 Nc와 E-EMI를 헤더(header)에 포함한 패킷을 TCP 스트림 상에 실어 Sink 기기에 송신한다. 한편, DTCP_Sink 기기 측에서는, TCP 스트림으로부터 논스 Nc와 E-EMI를 인출하면, 이들과 키 Kx를 사용하여 동일하게 컨텐츠 키 Kc를 산출해서, 암호화 컨텐츠를 복호할 수 있다.
이와 같이, DTCP-IP는 DTCP에 따른 기기끼리 인증을 행하고, DTCP 인증이 완료된 기기끼리 키를 공유하여, 컨텐츠를 전송할 때 암호화 및 복호를 함으로써, 전송로의 도중에서의 컨텐츠의 도청, 변조를 방지한다고 하는, IP 네트워크 상에서도 안전한 컨텐츠 전송 방법을 제공할 수 있다.
예를 들면, HTTP의 수속에 따라 컨텐츠를 요구하는 경우, DTCP_Source가 HTTP 서버로 되고, DTCP_Sink가 HTTP 클라이언트로 되어, HTTP를 위한 TCP/IP 커넥션이 작성되고, 컨텐츠의 전송을 개시한다. HTTP 클라이언트는 통상의 HTTP와 아주 동일한 동작 순서에 의해 HTTP 서버 상의 컨텐츠를 요구한다. 이에 대하여, HTTP 서버는 요구대로의 컨텐츠를 HTTP 리스폰스로서 돌려준다. DTCP_Source는 DTCP_Sink로부터 요구되고 있는 컨텐츠를, 컨텐츠 키 Kc를 사용하여 암호화하고, 암호화 컨텐츠로 이루어지는 페이로드와 논스 Nc와 E-EMI를 포함한 헤더로 이루어지는 패킷(PCP: Protected Content Packet)을 TCP 스트림 상에 실어 송신한다.
또, 장대한 TCP 스트림 전체에 걸쳐 동일한 암호 키를 계속 사용하면, 키가 해독될 위험은 높아진다. 이때문에, DTCP_Source 기기는 128MB의 컨텐츠마다 논스 Nc를 하나씩 증가시켜 컨텐츠 키 Kc를 갱신한다. 그리고, 바이트·스트림 도중에 논스 Nc가 대폭 변경되기 때문에, 컨텐츠 키의 확인 수속이 필요하게 되어, DTCP_Sink 기기는 DTCP_Source 기기에 대하여 논스 Nc의 확인을 위한 수속을 행한다.
또, 저작권 보호에 대응한 컨텐츠 전송 시스템에서는, 컨텐츠 보호에 관한 컨텐츠 속성을 지정할 필요가 있다. DTCP-IP에서는, PCP 헤더부에 기술하는 E-EMI(Encryption Mode Indicator)와, Embeded CCI(Copy Control Information)라고 하는 2개의 메카니즘에 의해, 컨텐츠에 부수된 카피 제어 정보의 전송을 실현하고 있다.
Embedded CCI는 암호화할 컨텐츠·스트림의 일부로서(즉 PCP 페이로드에 매립하여) 전송되는 카피 제어 정보이다. 많은 컨텐츠·포맷은 스트림에 부수되어 CCI를 전송하기 위해 할당된 필드를 구비하고 있지만, CCI의 정의나 포맷은 컨텐츠·포맷마다 특수하다. Embedded CCI는 “Copy Never”, “Copy One Generation”, “No More Copies”, “Copy Free” 등으로서 해석된다. 컨텐츠·스트림을 탬퍼링(tampering)하면 잘못된 암호 해독을 행하는 것이 되므로, Embedded CCI의 완전성을 보증할 수 있다.
한쪽의 E-EMI는 PCP 헤더에서 컨텐츠·스트림에 관한 카피 제어 정보를 나타냄으로써, 용이하게 액세스할 수 있는 것과 동시에 시큐리티를 실현한다. 평문(平文) 상태의 PCP 헤더의 특정한 비트 위치라고 하는 액세스 용이한 장소에 E- EMI를 배치함으로써, 기기는 컨텐츠·스트림의 CCI를 즉시 판단할 수 있어, 컨텐츠 전송 포맷을 복호하여 Embedded CCI를 추출할 필요가 없다. E-EMI는 디지털 VCR과 같이 특수한 컨텐츠·포맷을 인식하거나 디코드하거나 할 수 없는 비트·스트림 기억 기기를 실현할 때 중요하다.
DTCP-IP에 따른 적정한 Source 기기는 컨텐츠·스트림의 특성에 따라 정확한 암호 모드를 선택하고, 이에 따라서, E-EMI를 설정한다. 또, 적정한 Sink 기기는 PCP 헤더 중의 E-EMI로 지정되는 정확한 암호 해독 모드를 선택한다. E-EMI를 컨텐츠 키 Kc의 생성에 사용하고 있으므로, E-EMI가 탬퍼링되면, 암호화 시와 복호 시의 컨텐츠 키 Kc가 일치하지 않기 때문에, 컨텐츠의 암호 해독을 잘못하므로, 시큐리티가 유지된다.
도 31에는, PCP 헤더의 내부 구조를 도해(圖解)하고 있다(예를 들면, DTCP Volume 1 Supplement E Mapping DTCP to IP Version 1.1 (Informational Version) 4.22 Modification to 6.6.3 Content Encryption Formats를 참조). 이 중, E-EMI(Extended EMI)는 암호 모드를 기술하는 4비트의 필드이다. E-EMI의 값은 카피 제어 정보의 종류에 대응한다. 비트 값 정의를 아래 표에 나타내 둔다(예를 들면, DTCP Volume 1 Supplement E Mapping DTCP to IP Version 1.1 (Informational Version) 4.7 Modification to 6.4.2 Encryption Mode Indicator(EMI)를 참조). 단, 이 표에서 미사용으로 되어 있는 9개의 E-EMI 값은 장래의 확장용으로 예비로 되어 있다.
[표 1]
Figure 112006068318668-pat00001
전술한 바와 같이, PCP 헤더에 컨텐츠의 암호 모드 및 카피 제어 정보를 지정하는 E-EMI가 기술되지만, 컨텐츠의 보호를 목적으로 한 카피 제어 정보로서는, 이들 파라미터로는 충분하지 않은(즉 4비트 길이의 E-EMI 필드에 필요한 카피 제어 정보를 기록할 수 없는) 경우가 있다. 예를 들면, 컨텐츠의 아날로그 출력 제어에 관한 파라미터(APS: Analog Protection System)나, 출력 시의 그림 사이즈에 관한 파라미터(ICT: Image Consstraint Token) 등의 출력 제어 정보는, DTCP에서는 카피 제어 정보의 구성 요소(부가적 또는 확장적인 카피 제어 정보이며, 본 명세서에서는, 「초확장 카피 제어 정보」라고도 함)로서 취급된다. 이들은 E-EMI에 기록할 수 없기 때문에, Embedded CCI의 일부로서 PCP 페이로드 중에 매립하는 수밖에 없다.
또, DTCP에 있어서의 카피 제어 기능의 하나로서, 단순하게 E-EMI에 따라 카피 여부를 제어하는 것이 아니고, 기기가 컨텐츠의 포맷과 Embedded CCI를 정확하게 인식할 수 있는 경우(즉 “cognizant”인 경우), Embedded CCI에 따라 컨텐츠의 처리 방법을 제어한다고 하는 “Cognizant Function”(인식 기능)을 제공하고 있다. PCP 헤더부로부터 인출한 E-EMI와, 이 인식 기능을 사용하여 PCP 페이로드로부터 인출한 Embedded CCI를 대조할 필요가 있다. Embedded CCI와 EMI의 관계를 아래 표에 나타내 둔다.
[표 2]
Figure 112006068318668-pat00002
그러나, DTCP-IP에서는, 컨텐츠·스트림의 일부로서 Embedded CCI를 전송하는 것만 규정하고 있다. 현재의 DTCP-IP에서는, MPEG 트랜스포트·스트림에 관해 Embedded CCI에 상당하는 DTCP 디스크립터를 삽입한다고 하는 규정(예를 들면, DTCP Specification Volume 1 Version 1.4 (Informational Version) Appendix B DTCP_Descriptor for MPEG Transport Streams를 참조) 외에는, Embedded CCI의 구성 방법에 관한 규정은 존재하지 않는다. MPEG를 포함하는 많은 컨텐츠·포맷에 있어서, 스트림에 부수하여 CCI를 전송하기 위한 필드가 할당되어 있지만, CCI의 정의나 포맷은 컨텐츠·포맷마다 특수, 즉 가지각색으로 되어 있는 것이 현상(現 狀)이다.
PCP 페이로드에 카피 제어 정보를 매립하는 것은 컨텐츠 내에 카피 제어 정보를 삽입하는 것이기 때문에, 필연적으로 그 기술 방법은 컨텐츠·포맷에 의존하여, 포맷마다 가지각색으로 된다. 따라서, DTCP-IP에 따라 AV 컨텐츠를 암호화 전송할 때는, DTCP_Source 기기 측에서는, 포맷마다 카피 제어 정보의 기술 방법을 바꾸어 전송하고, DTCP_Sink 기기 측에서는, 포맷마다 카피 제어 정보를 해석하기 위한 소프트웨어 또는 하드웨어를 준비할 필요가 있어, 기기 비용의 증대를 초래한다. 또, 암호화한 PCP 페이로드에 카피 제어 정보를 매립하면, 수신 측에서는, 복호 후가 아니면, 이것을 인출할 수 없다고 하는 문제도 있다.
본 발명의 목적은 DTCP에 따른 정보 기기끼리 암호화 컨텐츠의 전송 수속을 바람직하게 실행할 수 있는 우수한 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터·프로그램을 제공하는 것에 있다.
본 발명의 다른 목적은 전송하는 컨텐츠에 관한 속성 정보 및 카피 제어 정보를 패킷 내에 삽입하여 바람직하게 전송할 수 있는 우수한 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터·프로그램을 제공하는 것에 있다.
본 발명의 다른 목적은 컨텐츠의 포맷에 의존하지 않는 공통의 형식으로 속성 정보 및 카피 제어 정보를 패킷 내에 삽입하고, 또한 이들 정보를 시큐어하게 사용할 수 있는 우수한 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터·프로그램을 제공하는 것에 있다.
본 발명은 상기 과제를 참작하여 이루어진 것이며, 그 제1 측면은 카피 제어가 행해진 컨텐츠를 전송하는 컨텐츠 전송 장치로서,
컨텐츠 전송처의 기기와의 사이에서 인증 수속을 행하는 인증 수단과,
컨텐츠에 관한 카피 제어 정보를 기술한 제1 카피 제어 정보를 처리하는 제1 카피 제어 정보 처리 수단과,
컨텐츠에 관한 제1 카피 제어 정보 이외의 정보를 포함하는 제2 카피 제어 정보를 처리하는 제2 카피 제어 정보 처리 수단과,
제1 카피 제어 정보 및 제2 카피 제어 정보를 포함하는 헤더부와, 컨텐츠를 소정의 컨텐츠 키로 암호화한 페이로드로 이루어지는 패킷을 생성하여, 컨텐츠 전송처의 기기에 전송하는 컨텐츠 전송 수단
을 구비하는 것을 특징으로 하는 컨텐츠 전송 장치이다.
본 발명은 IP 네트워크 상에서 저작권 보호가 필요하게 되는 정보 컨텐츠를 전송하는 정보 통신 시스템에 관한 것이며, 특히, 구체적으로는, DTCP-IP에 따른 정보 통신 기기 사이에서, 상호 인증 및 키 교환을 거쳐 공유한 키를 사용하여 암호화 컨텐츠 전송을 안전하게 행하는 컨텐츠 전송 장치에 관한 것이다.
저작권의 보호에 대응한 컨텐츠 전송 시스템에 있어서는, 컨텐츠를 암호화 전송할 때, 컨텐츠 보호에 관한 컨텐츠 속성을 지정할 필요가 있다. 예를 들면, DTCP-IP에서는, PCP 헤더부에 기술하는 E-EMI(Encryption Mode Indicator)와, PCP 페이로드부, 즉 컨텐츠·스트림 내에 매립하는 Embeded CCI(Copy Control Information)라고 하는 2개의 메카니즘에 의해, 컨텐츠에 부수된 카피 제어 정보의 전송을 실현하고 있다.
그런데, 일부의 카피 제어 정보를 페이로드부, 즉 컨텐츠·스트림에 기재한다고 하는 암호화 전송 방식에서는, 기재 방법이 컨텐츠의 포맷에 의존하기 때문에, 카피 제어 정보를 작성 및 해독하는 소프트웨어 또는 하드웨어의 모듈을 포맷마다 준비해야 해, 기기 비용이 증대한다고 하는 문제가 있다.
그래서, 본 발명에서는, 일부의 카피 제어 정보를 패킷의 헤더부에 기재하고, 그 이외의 카피 제어 정보를 페이로드부에 기재하여 컨텐츠를 암호화 전송한다고 하는 종래의 시스템 환경 하에서, 종래대로의 Source 기기 및 Sink 기기와의 호환성을 유지하면서, (DTCP-IP에서) 요구되는 카피 제어를 실현하기 위해 필요한 카피 제어 정보를 모두 헤더부에 기재하는 컨텐츠 전송 방식을 제안한다.
그리고, 컨텐츠에 관한 카피 제어 정보로서 제1 카피 제어 정보와 제2 카피 제어 정보를 정의한다. 그리고, 제1 카피 제어 정보 및 제2 카피 제어 정보를 포함하는 헤더부와 컨텐츠를 소정의 컨텐츠 키로 암호화한 페이로드로 이루어지는 패킷을 생성하여, 컨텐츠 전송처의 기기에 전송하도록 한다.
페이로드부에 (일부의) 카피 제어 정보를 매립하는 경우와는 상위하여, 헤더부에 카피 제어 정보를 매립하는 경우에는, 컨텐츠의 포맷에 의존하지 않고, 모든 포맷에 공통의 형식으로 카피 제어 정보를 삽입할 수 있다. 따라서, Source 기기 측에서 카피 제어 정보를 작성하고, Sink 기기 측에서 카피 제어 정보를 해석하기 위한 소프트웨어 또는 하드웨어의 모듈을 모든 포맷에서 공통화할 수 있어, 기기 비용을 삭감할 수 있다.
제1 카피 제어 정보는, 예를 들면, 컨텐츠의 카피 여부를 규정하는 카피 제어 정보에 대응한 암호 모드를 포함하고 있다. 또, 제2 카피 제어 정보는, 예를 들면, 컨텐츠의 출력 제어에 관한 정보를 포함하고 있다.
예를 들면, DTCP에서는, 아날로그 출력 제어에 관한 파라미터(APS)나, 출력 시의 그림 사이즈에 관한 파라미터(ICT)라고 하는 출력 제어 정보가 카피 제어 정보의 구성 요소로 되어 있다. 본 발명에 관한 컨텐츠 전송 방식에서는, 이들 비트 길이가 짧은 E-EMI에는 기록할 수 없는 정보를 제2 카피 제어 정보, 즉 초확장 카피 제어 정보로서 헤더부에 기술하는 방법을 규정한다.
또, 헤더에 제1 카피 제어 정보를 기록하는 필드를 형성한 헤더와, 컨텐츠 매립형 카피 제어 정보를 매립한 컨텐츠로 이루어지는 페이로드로 구성된 형식의 패킷을 사용하여 컨텐츠 전송이 행해지는 컨텐츠 전송 시스템에 적용하는 경우에는, 제2 카피 제어 정보에, 헤더부에 매립된 제2 제어 정보의 유효성을 나타내는 모드 정보와, 컨텐츠 매립형 카피 제어 정보 대신에 제1 카피 제어 정보를 대용 가능한 것을 나타내는 대용성 정보를 포함시키도록 해도 된다.
또, 컨텐츠 포맷의 인식 가능성에 따라 컨텐츠의 카피 제어를 실시하는 인식 기능이 제공되고 있는 전송 시스템에 적용한 경우, 상기 제2 카피 제어 정보 처리 수단은 헤더에 제2 카피 제어 정보로서 포함되는 모드 정보와, 페이로드 중에 있어서의 컨텐츠 매립형 카피 제어 정보 존재 유무의 조합에 따라 인식 기능을 실현할 수 있다.
즉, 헤더부 내의 소정 위치에 삽입된 제2 카피 제어 정보 필드의 유효성에 관해 기술한 모드 정보나, 본래는 페이로드부에 매립되는 카피 제어 정보 대신에 헤더부에 기록되는 카피 제어 정보로 대용할 수 있는 것을 나타내는 SE(Substitute for Embedded CCI) 정보도, 초확장 카피 제어 정보로서 헤더부에 기술한다. 이와 같은 제2 카피 제어 정보를 헤더부의 일부로서 구성함으로써, 컨텐츠의 포맷에 의존하지 않고 모든 포맷에 공통의 형식으로 카피 제어 정보를 전송하는 것이 가능하게 된다. 즉, 암호화 페이로드로부터 Embedded CCI를 인출하여 E-EMI와 대조하지 않고, 종래는 Embedded CCI와 E-EMI의 조합에 의해 지정하고 있던 카피 제어 기능이나, 인식 기능을 실현하는 것이 가능하다.
또, 전송 시스템의 규격에 의해, 논스를 사용하여 생성된 컨텐츠 키로 전송 컨텐츠의 암호화가 행해지고, 또한 헤더에는 소정 비트 길이의 논스를 전송하기 위한 필드가 형성되어 있는 경우, 논스를 전송하기 위한 필드 내에 제2 카피 제어 정보를 매립하여, 패킷을 전송할 수 있다.
구체적으로는, 상기 소정 비트 길이보다 제2 카피 제어 정보의 비트수만큼 짧은 의사 논스를 생성하고, 제2 카피 제어 정보와 이 의사 논스를 비트 연결하여 이루어지는 논스를 사용하여 생성되는 컨텐츠 키로 전송 컨텐츠를 암호화할 수 있다.
도 31에 나타낸 바와 같이, PCP 헤더에는, E-EMI와 함께 논스 정보 필드가 형성되어 있다. E-EMI는 4비트밖에 없으므로, 이미 제2 카피 제어 정보를 기재할 여유는 없다. 다른 한편, 논스 Nc는 컨텐츠를 암호화하는 컨텐츠 키 Kc를 생성하는 기초가 되는 정보이며 64비트가 할당되어 있다. 본 발명의 하나의 실장(實裝) 형태로서, 종래의 PCP 헤더 내의 논스 정보 필드의 상위 8비트를 사용하여 초확장 카피 제어 정보를 기술하고, 나머지의 하위 56비트에 통상대로 생성되는 논스 Nc'의 값을 기록하도록 할 수 있다. 컨텐츠 중에서 E-EMI가 바뀔 때마다, 또 정기적으로 논스 Nc는 갱신한다. 통상, 갱신할 기회마다 의사적 논스 Nc'의 값을 단조롭게 증대시키지만 (하나씩 인크리먼트해 간다), 56비트밖에 사용하지 않아도, 자리 오버플로는 실용상은 한번밖에 일어나지 않으므로, 자리 오버플로 비트를 1비트 준비함으로써 대응할 수 있다.
이와 같은 경우, 본 발명에 관한 컨텐츠 전송 방식에 대응한 Source 기기 및 Sink 기기는 종래의 64비트의 논스 정보 필드 중의 상위 8비트를 제2 카피 제어 정보 필드로서 이용하는 동시에, 제2 카피 제어 정보가 기록된 상위 8비트와 56비트 길이의 의사적인 논스 Nc'의 비트 연결로 이루어지는 64비트 전체를 논스 Nc로서 사용하여 컨텐츠 키 Kc의 생성을 행한다. 부정 카피 목적으로 제2 카피 제어 정보를 변조 해도, 논스 Nc를 변조하는 것으로 되어, 결국은 컨텐츠를 복호할 수 없게 되므로, 시큐리티도 유지된다.
한편, 종래대로의 Sink 기기도, 종래의 64비트의 논스 정보 필드 전체에 기록된 값을 논스 Nc로서 해석한다. 이 경우, 상위 8비트에 PCP-CCI가 기록되기 때 문에, 논스 Nc의 값을 변경했을 때 본래 만족되어야 할 규칙성이 잃어버려지기 때문에, 본 발명에 관한 전송 방식으로 대응하지 않는 Sink 기기가 논스 Nc의 규칙성을 기대하고 있는 경우, 이른바 Legacy 문제가 발생한다.
Source 기기 측에서 종래의 64비트의 논스 정보 필드를 8비트의 제2 카피 제어 정보 필드와 56비트의 의사적인 논스 정보 필드가 비트 연결로서 사용된 경우, 제2 카피 제어 정보가 변화될 때마다 Legacy의 Sink 기기에서는 논스 Nc의 연속성이 잃어버려진다. 이것에 응답하여, Legacy의 Sink 기기는 컨텐츠 키 확인 수속을 기동하게 된다. 이와 같은 경우, Source 기기 측에서는, 컨텐츠 키 확인 요구에 대하여, 56비트의 의사적인 논스로 검증하는 것이 아니라, 상기 확인 요구되고 있는 논스를 제2 카피 제어 정보를 매립하여 구성되는 64비트의 논스와 비교하여 검증하도록 한다. 그리고, 논스 Nc에 이상(異常)이 없는 것을 나타내는 리스폰스(ACCEPTED)를 돌려줌으로써, Legacy의 Sink 기기는 이후에도 장해 없이 컨텐츠 수신 처리를 계속할 수 있다.
또, 본 발명에 관한 전송 방식에 대응한 Sink 기기에 있어서도, 컨텐츠 전송원(傳送元)인 Source 기기가 본 방식을 적용하고 있는지 여부, 즉 상위 8비트에 제2 카피 제어 정보가 기재되어 있는지 여부를 특정하지 않으면 안되어, Legacy Source 기기에 대한 Legacy 문제가 발생한다.
그래서, 본 발명에서는, 상기 컨텐츠 전송 수단이 제1 카피 제어 정보 및 제2 카피 제어 정보를 포함하는 헤더와 함께 패킷을 전송할 때, 상기 인증 수단은 컨 텐츠 전송처의 기기에 송신하는 커맨드 내에 그 취지를 나타내는 정보를 기재하여, 전송 처의 기기에 통지하도록 하고 있다. 즉, 컨텐츠 송신원이 되는 Source 기기가 본 발명에 관한 컨텐츠 전송 방식으로 대응하고 있는 경우, PCP 헤더부에 초확장 카피 제어 정보를 매립하는 것을 나타내는 플래그(flag)를 상호 인증 수속(AKE)에서 교환하는 기기 증명서 중에 포함시킴으로써, Sink 기기는 Source 기기가 Legacy 기기가 아닌 것을 인식할 수 있다. 또는 능력 확인용의 커맨드를 사용하도록 해도 된다.
또, 본 발명의 제2 측면은 카피 제어가 행해진 컨텐츠를 전송하기 위한 처리를 컴퓨터·시스템 상에서 실행하도록 컴퓨터 가독(可讀) 형식으로 기술된 컴퓨터·프로그램으로서, 상기 컴퓨터·시스템에 대하여,
컨텐츠 전송처의 기기와의 사이에서 인증 수속을 행하는 인증 순서와,
컨텐츠에 관한 카피 제어 정보를 기술한 제1 카피 제어 정보를 설정하는 제1 카피 제어 정보 설정 순서와,
컨텐츠에 관한 제1 카피 제어 정보 이외의 정보를 포함하는 제2 카피 제어 정보를 설정하는 제2 카피 제어 정보 설정 순서와,
제1 카피 제어 정보 및 제2 카피 제어 정보를 포함하는 헤더와, 컨텐츠를 소정의 컨텐츠 키로 암호화한 페이로드로 이루어지는 패킷을 생성하여, 컨텐츠 전송처의 기기에 전송하는 컨텐츠 전송 순서
를 실행시키는 것을 특징으로 하는 컴퓨터·프로그램이다.
본 발명의 제2 측면에 관한 컴퓨터·프로그램은 컴퓨터·시스템 상에서 소정 의 처리를 실현하도록 컴퓨터 가독 형식으로 기술된 컴퓨터·프로그램을 정의한 것이다. 환언하면, 본 발명의 제2 측면에 관한 컴퓨터·프로그램을 컴퓨터·시스템에 인스톨함으로써, 컴퓨터·시스템 상에서는 협동적 작용이 발휘되어, 본 발명의 제1 측면에 관한 컨텐츠 전송 장치와 동일한 작용 효과를 얻을 수 있다.
본 발명은 TCP/IP 등의 네트워크 상이나 파일·시스템으로부터 바이트·스트림으로서 암호 데이터를 수리(受理)하여 복호하는 정보 통신 시스템에 관한 것이며, 특히, TCP 스트림과 같이 장대한 바이트·스트림을 도중에 복호 키를 변경하면서 암호화 통신을 행하는 정보 통신 시스템에 관한 것이다. 이러한 시스템의 구체예는 DTCP 기기의 사이에 행해지는 HTTP 프로토콜을 이용한 컨텐츠 전송이다. 이하, 도면을 참조하면서 본 발명의 실시예에 대하여 상세히 설명한다.
A. 시스템 구성
DTCP-IP에 따른 컨텐츠 전송은 컨텐츠의 요구를 수리하여 컨텐츠를 송신하는 서버로서의 Source 기기와, 컨텐츠를 요구하여 컨텐츠를 수신하고, 재생 또는 기록하는 클라이언트로서의 Sink 기기로 구성된다. 도 1에는 본 발명의 일 실시예에 관한 정보 통신 시스템의 구성예를 모식적으로 나타내고 있다.
도시한 예에서는, Source 기기와 Sink 기기의 각 엔티티에 의해, DTCP-IP AKE 시스템이 구축되어 있다.
DTCP-IP에 따른 인증 서버인 Source 기기와 DTCP-IP에 따른 인증 클라이언트인 Sink 기기는 네트워크를 경유하여 접속되어 있다.
여기에서 말하는 네트워크에는, Ethernet(등록 상표)이나, 인터넷, 그 밖의 IP 네트워크가 포함된다.
도 2 및 도 3에는, 도 1에 나타낸 정보 통신 시스템에 있어서, 클라이언트(즉, Sink 기기) 및 서버(즉, Source 기기)로서 동작하는 컨텐츠 전송 장치의, 특히 인증 및 컨텐츠 전송에 주목한 기능 구성을 각각 모식적으로 나타내고 있다. Sink 기기와 Source 기기는 인터넷 등의 TCP/IP 네트워크 상에서 커넥션을 확립할 수 있고, 이 커넥션을 이용하여, 인증 수속이나 컨텐츠 전송 수속을 실행할 수 있다.
도 2에 나타내는 Sink 기기는 DTCP-IP 규격에 따르고 있으며, DTCP_Sink로서 동작한다. 도시한 클라이언트 기기는 기능 블록으로서, DTCP-IP 인증 블록과, DTCP-IP 컨텐츠 수신 블록과, 컨텐츠 재생/기록 블록을 구비하고 있다.
DTCP-IP 인증 블록은 AKE 블록과, 메시지·다이제스트 생성 블록과, 컨텐츠 복호 블록을 구비하고 있다.
AKE 블록은 DTCP-IP에 있어서의 AKE 기구(DTCP_Sink 측)를 실현하는 블록이다. 이 AKE 블록은 후술하는 메시지·다이제스트 생성 블록으로부터 요구된 파라미터를 건네 주는 기능도 구비하고 있다.
메시지·다이제스트 생성 블록은 지정된 알고리즘에 따라 파라미터의 메시지·다이제스트를 생성하는 블록이다. 메시지·다이제스트를 생성하는 알고리즘은 미리 준비된 알고리즘을 지정할 수 있다. 미리 준비된 알고리즘으로서, 예를 들면, MD5나 SHA-1이라고 하는 일 방향성 해시 함수에 관한 알고리즘을 들 수 있다(SHA-1은 MD5와 동일하게, MD4를 개량한 것에 상당하지만, 160비트의 해시값을 생성하므로, 강도는 MD 시리즈를 상회한다).
메시지·다이제스트 생성 블록은 DTCP-IP 인증 블록 외에 공개하지 않으면 안되는 AKE 블록이 유지되는 파라미터의 메시지·다이제스트를 생성할 수 있도록 AKE 블록과 조밀하게 배치되고, AKE 블록에 파라미터를 요구하여 취득하는 것이 가능하며, 그 파라미터 또는 외부로부터 주어진 파라미터의 메시지·다이제스트를 작성할 수 있다.
컨텐츠 복호 블록은 서버로부터 수신한 암호화된 컨텐츠·데이터를 AKE로 교환한 키 Kx를 사용하여 컨텐츠의 복호 키 Kc를 산출하여, 암호 컨텐츠를 복호하는 블록이다. 여기에서 복호된 컨텐츠는 컨텐츠 재생/기록 블록에 건네 주어진다.
컨텐츠 재생/기록 블록은 건네 주어진 컨텐츠를, 재생 모드의 경우에는 재생을 행하고, 기록 모드의 경우에는 보존한다. 단, 컨텐츠의 기록 동작은 컨텐츠 전송용의 패킷 PCP 내에 삽입되어 있는 카피 제어 정보의 규정에 따른다.
DTCP-IP 컨텐츠 수신 블록은 AKE를 실시한 후에 Source 기기와의 컨텐츠 전송 수속을 실행하는 처리 모듈이다. 도시한 예에서는, DTCP-IP 컨텐츠 수신 블록은 HTTP 클라이언트·블록을 가지며, HTTP 클라이언트로서 HTTP 서버에 컨텐츠를 요구하고, 응답된 컨텐츠를 HTTP 서버로부터 수신한다.
HTTP 클라이언트·블록은 HTTP 리퀘스트 관리 블록과 HTTP 리스폰스 관리 블록으로 나누어진다. 또한, HTTP 리퀘스트 관리 블록은 HTTP 리퀘스트 송신 블록과 HTTP 리퀘스트 생성 블록으로 나누어진다.
HTTP 리퀘스트 생성 블록은 송신하는 컨텐츠 전송 요구(HTTP 리퀘스트)를 생성한다. 여기에서 생성된 HTTP 리퀘스트는 HTTP 리퀘스트 송신 블록에 의해 서버에 송신된다.
HTTP 리스폰스 관리 블록은 HTTP 리스폰스 수신 블록과 HTTP 리스폰스 해석 블록으로 나누어진다. 서버로부터 회신되는 HTTP 리스폰스와 암호화된 컨텐츠는 HTTP 수신 블록에서 수신된다. 여기에서 수신한 HTTP 리스폰스는 HTTP 리스폰스 해석 블록에서 체크된다. 여기에서의 체크가 OK인 경우에는, 수신한 암호화 컨텐츠를 DTCP 인증 블록 내의 컨텐츠 복호 블록으로 보낸다. 또, 이 체크가 NG인 경우에는, 에러·리스폰스로서의 처리를 행한다. Source 기기로부터의 HTTP 리스폰스는 1개 이상의 PCP로 이루어진다.
DTCP-IP 인증 블록과 DTCP-IP 컨텐츠 수신 블록은 서버 기기 사이에서 개별의 TCP/IP 커넥션을 확립하고, 각각 인증 수속 및 컨텐츠 전송 수속을 서로 독립적으로 실행한다.
또, 도 3에 나타낸 Source 기기는 DTCP-IP 규격에 따르고 있으며, DTCP_Source로서 동작한다. 서버 기기는 기능 블록으로서, DTCP-IP 인증 블록과, DTCP-IP 컨텐츠 송신 블록과, 컨텐츠 관리 블록을 구비하고 있다.
DTCP-IP 인증 블록은 인증 수속 실행 수단에 상당하며, AKE 블록과, 메시지·다이제스트 생성 블록과, 컨텐츠 암호화 블록을 구비하고 있다.
AKE 블록은 DTCP-IP에서의 AKE 기구(DTCP_Source 측)를 실현하는 블록이다. 이 블록은 후술하는 메시지·다이제스트 생성 블록으로부터 요구된 파라미터 를 건네 주는 기능도 구비하고 있다. AKE 블록은 인증한 DTCP_Sink 기기에 관한 정보를 인증한 기기의 수만큼 유지하고, 그것을 클라이언트로부터 컨텐츠가 요구되었을 때 인증이 끝난 클라이언트인지 여부를 판별하는 데 사용한다.
메시지·다이제스트 생성 블록은 지정된 알고리즘에 따라, 파라미터의 메시지·다이제스트를 생성하는 블록이다. 메시지·다이제스트를 생성하는 알고리즘은 미리 준비된 알고리즘을 지정할 수 있다. 미리 준비된 알고리즘이란, 예를 들면, MD5나 SHA-1이라고 하는 일 방향성 해시 함수에 관한 알고리즘을 들 수 있다(상과 동일).
메시지·다이제스트 생성 블록은 DTCP-IP 인증 블록 외에 공개하지 않으면 안되는 AKE 블록이 유지되는 파라미터의 메시지·다이제스트를 생성 가능하도록 AKE 블록과 조밀하게 배치되고, AKE 블록에 파라미터를 요구하여 취득하는 것이 가능하며, 그 파라미터 또는 외부로부터 주어진 파라미터의 메시지·다이제스트를 작성할 수 있다.
컨텐츠 암호화 블록은 DTCP-IP 컨텐츠 송신 블록의 요구에 따라 컨텐츠 관리 블록로으부터 판독한 컨텐츠·데이터를, AKE에서 교환한 키 Kx로부터 생성한 컨텐츠 키 Kc를 사용하여 암호화하는 블록이다. 여기에서 복호된 컨텐츠는 클라이언트에게 송신하기 위해, DTCP-IP 컨텐츠 송신 블록에 건네 주어진다.
컨텐츠 관리 블록은 DTCP-IP의 기구를 사용하여 보호되어야할 컨텐츠를 관리하는 블록이다. 컨텐츠 암호화 블록의 판독에 따라 컨텐츠의 데이터를 건네 준 다.
DTCP-IP 컨텐츠 송신 블록은 HTTP 서버·블록을 가지며, HTTP 서버로서 클라이언트로부터의 리퀘스트를 수리하고, 요구에 따른 처리를 실행한다.
HTTP 서버·블록은 HTTP 리퀘스트 관리 블록과 HTTP 리스폰스 관리 블록으로 나누어진다. 또한, HTTP 리퀘스트 관리 블록은 HTTP 리퀘스트 수신 블록과, HTTP 리퀘스트 해석 블록으로 나누어진다.
HTTP 리퀘스트 수신 블록은 클라이언트로부터의 HTTP 리퀘스트를 수신한다. 수신한 HTTP 리퀘스트는 HTTP 리퀘스트 해석 블록에 보내져, 체크된다. HTTP 리퀘스트 해석 블록에서의 체크가 OK인 경우, HTTP 리퀘스트의 정보를 DTCP-IP 인증 블록에 통지한다.
HTTP 리스폰스 관리 블록은 HTTP 리스폰스 생성 블록과 HTTP 리스폰스 송신 블록으로 나누어진다.
HTTP 리스폰스 생성 블록은 HTTP 리퀘스트 해석 블록에서의 체크가 OK인 경우, 암호화된 컨텐츠를 돌려주기 위한 HTTP 리스폰스를 작성한다. HTTP 리스폰스는 1개 이상의 PCP로 이루어진다. 한편, HTTP 리퀘스트 해석 블록에서의 체크가 NG인 경우, 에러를 돌려주기 위한 HTTP 리스폰스를 작성한다.
HTTP 리스폰스 송신 블록은 작성된 HTTP 리스폰스를, 요구처인 클라이언트에게 HTTP 리스폰스를 송신한다. 또, HTTP 리퀘스트 해석 블록에서의 체크가 OK인 경우에는, HTTP 리스폰스·헤더에 계속해서, DTCP-IP 인증 블록 내의 컨텐츠 암호화 블록에서 암호화한 컨텐츠를 송신한다.
DTCP-IP 인증 블록과 DTCP-IP 컨텐츠 송신 블록은 Sink 기기 사이에서 개별의 TCP/IP 커넥션을 확립하고, 각각 인증 수속 및 컨텐츠 전송 수속을 서로 독립적으로 실행한다.
그리고, DTCP-Sink 기기 및 DTCP-Source 기기의 모두가 DTCP-IP 인증 블록 내에 가지는 메시지·다이제스트 생성 블록은 DTCP-IP 자체에서 규정되는 기능 모듈이 아니고, 또 본 발명의 요지에는 직접 관련하지 않는다.
B. HTTP를 이용한 컨텐츠 전송
이 항에서는, DTCP-IP에 따른 컨텐츠의 전송 순서에 대하여 설명한다. 도 4에는, DTCP_Source 기기와 DTCP_Sink 기기 사이에서 AKE에 따른 키 교환 수속, 및 키 교환에 의해 공유한 키를 이용한 암호화 컨텐츠 전송을 행하는 구조를 도해하고 있다.
DTCP_Source와 DTCP_Sink는 먼저 1개의 TCP/IP 커넥션을 확립하고, 기기끼리의 인증을 행한다. 이 인증을 DTCP 인증 또는 AKE(Authentication and Key Exchange)라고 한다. DTCP 준거 기기에는, DTLA(전술함)에 의해 발행된 기기 증명서가 매립되어 있다. DTCP 인증 수속에서는, 서로가 정규의 DTCP 준거 기기인 것을 확인한 후, 인증 키 Kauth를 DTCP_Source 기기와 DTCP_Source 기기로 공유할 수 있다.
AKE 수속이 성공하면, DTCP_Source 기기는 컨텐츠 키 Kc의 시드가 되는 시드 키 Kx를 생성하고, 인증 키 Kauth로 암호화하여 DTCP_Sink 기기에 보낸다. 시드 키 Kx는 컨텐츠 전송 시에 컨텐츠를 암호화하기 위한 컨텐츠 키 Kc를 생성하기 위해 사용된다. 그리고, DTCP 준거 기기 사이에서 AKE에 의한 인증 및 키 교환 수속이 끝난 후, DTCP_Sink 기기는 DTCP_Source 기기 상의 컨텐츠를 요구한다. DTCP_Source 기기는 CDS(Content Directory Service) 등을 통해 DTCP_Sink 기기에 DTCP_Source 기기 상의 컨텐츠로의 액세스처를 나타내는 컨텐츠 장소를 미리 전할 수 있다. DTCP_Sink가 컨텐츠를 요구할 때, HTTP나 RTP 등의 프로토콜을 이용할 수 있다.
도 4에 나타낸 바와 같이, HTTP의 수속에 따라 컨텐츠를 요구하는 경우, DTCP_Source가 HTTP 서버로 되고, DTCP_Sink가 HTTP 클라이언트로 되어, 컨텐츠의 전송을 개시한다. 또한, RTP에 의한 전송을 요구할 때, DTCP_Source가 RTP Sender로 되고, DTCP_Sink가 RTP Receiver로 되어 컨텐츠의 전송을 개시한다. HTTP로 컨텐츠 전송을 행할 때, DTCP 인증을 위한 TCP/IP 커넥션과는 별도로, HTTP를 위한 TCP/IP 커넥션이 HTTP 클라이언트로부터 작성된다(즉, DTCP_Source 기기와 DTCP_Sink 기기는 각각 AKE 수속용과 컨텐츠 전송용으로 개별의 소켓(IP 어드레스와 포트 번호의 조합)을 가진다). 그리고, HTTP 클라이언트는 통상의 HTTP와 아주 동일한 동작 순서에 의해 HTTP 서버 상의 컨텐츠를 요구한다. 이에 대하여, HTTP 서버는 요구대로의 컨텐츠를 HTTP 리스폰스로서 돌려준다.
HTTP 리스폰스로서 전송되는 데이터는 HTTP 서버, 즉 DTCP_Source 기기가 AKE 인증을 한 후에 공유한 키를 사용하여 컨텐츠를 암호화한 데이터로 되어 있다. 구체적으로는, DTCP_Source 기기는 난수를 사용하여 논스 Nc를 생성하고, 시드 키 Kx와 논스 Nc와 암호 모드를 나타내는 E-EMI를 기초로 컨텐츠 키 Kc를 생성한다. 그리고, DTCP_Sink 기기로부터 요구되고 있는 컨텐츠를, 컨텐츠 키 Kc를 사용하여 암호화하고, 암호화 컨텐츠로 이루어지는 페이로드와 논스 Nc와 E-EMI를 포함한 헤더로 이루어지는 패킷인 PCP(Protected Content Packet)를 TCP 스트림 상에 실어 송신한다. 그리고, IP 프로토콜은 TCP 스트림을 소정의 단위가 되는 패킷의 크기로 분할하고, 또한 헤더부를 부가한 IP 패킷으로 하여, 지정된 IP 어드레스 앞으로 보낸다.
DTCP_Sink 기기 측에서는, DTCP_Source 기기로부터의 각 IP 패킷을 수신하면, 이것을 TCP 스트림으로 조립하여, 송신된 PCP를 인출한다. 그리고, 스트림으로부터 논스 Nc와 E-EMI를 인출하면, 이들과 시드 키 Kx를 사용하여 동일하게 컨텐츠 키 Kc를 산출하고, 암호화 컨텐츠를 복호할 수 있다. 그리고, 복호화한 후의 평문의 컨텐츠에 대하여 재생 또는 기록 등의 처리를 실시할 수 있다. 그리고, HTTP 프로토콜을 이용한 컨텐츠 전송이 종료되면, 예를 들면, DTCP-Sink 기기 측으로부터, 사용한 TCP 커넥션을 적당히 절단한다.
또, 장대한 TCP 스트림 전체에 걸쳐 동일한 암호 키를 계속 사용하면, 키가 해독될 위험은 높아진다. 이때문에, DTCP-IP에서는, Source 기기는 128MB마다 논스 Nc, 즉 컨텐츠 키 Kc를 갱신하도록(하나씩 인크리먼트하도록) 정해져 있다. 바 이트·스트림 중에서, 동일 논스 Nc로부터 생성된 컨텐츠 키 Kc를 사용하여 암호화된 데이터의 범위는 동일 키를 사용하여 복호할 수 있는 복호화 단위로 된다.
DTCP-IP에서는, 또한, 컨텐츠 키의 확인 수속이 필요하게 된다. 즉, DTCP_Sink 기기는 컨텐츠 전송용의 TCP 커넥션과는 별도로, 컨텐츠 키의 확인용인 TCP 커넥션을 또한 확립하고, DTCP_Source 기기에 대하여 컨텐츠 키 확인을 위한 수속을 행한다. DTCP_Sink 기기는 컨텐츠 키의 확인이 필요하게 되면, 적당히 이 TCP 커넥션을 확립한다. 예를 들면, DTCP-IP Volume 1 Supplement E. 8. 6에는, 컨텐츠 키의 확인 수속으로서 “Content Key Confirmation”을 규정하고 있다. 이에 의하면, Sink 기기는 CONT_KEY_CONF subfunction을 사용하여, 현재의 논스 Nc에 관련된 컨텐츠 키의 확인을 행한다.
이미 설명한 바와 같이, 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 리스폰스는 1개 이상의 PCP로 이루어지고, RTP 페이로드는 1개의 PCP로 이루어진다. 도 6에는 PCP를 패딩하는 상태를 나타내고 있다.
C. 카피 제어 정보의 전송
DTCP-IP와 같이 저작권의 보호를 목적으로 한 컨텐츠 전송 시스템에 있어서는, 컨텐츠를 암호화 전송할 때, 컨텐츠 보호에 관한 컨텐츠 속성을 지정할 필요가 있다.
DTCP-IP에서는, PCP 헤더에 PCP 페이로드의 암호 모드 및 카피 정보를 지정하는 4비트의 E-EMI 필드를 형성하는 것과, PCP 페이로드, 즉 컨텐츠·스트림의 일부로서 카피 제어 정보 Embedded CCI를 전송하는 것이 규정되어 있다. 그러나, Embedded CCI에 관해서는, MPEG 트랜스포트·스트림에 대해서만 DTCP 디스크립터로서 기술하는 것이 규정되어 있을 뿐이며, Embedded CCI의 정의나 포맷은 컨텐츠·포맷마다 가지각색으로 되어 있는 것이 현상이다. 이때문에, Embedded CCI의 기술 방법이 컨텐츠·포맷에 의존하게 되어, 카피 제어 정보를 작성 및 해독하는 소프트웨어 또는 하드웨어의 모듈을 포맷마다 준비해야만 해, 기기 비용이 증대한다고 하 는 문제가 있다.
그래서, 본 실시예에서는, E-EMI를 PCP 헤더에 기재하는 동시에, 헤더에는 기록할 수 없는 카피 제어 정보를 Embedded CCI로서 PCP 페이로드 매립하여 컨텐츠를 암호화 전송한다고 하는 종래의 DTCP-IP 시스템에 있어서, 종래대로(즉, Legacy)의 Source 기기 및 Sink 기기와의 호환성을 유지하면서, 필요하게 되는 카피 제어 정보를 모두 PCP 헤더에 기재하는 컨텐츠 전송 방식을 채용하고 있다.
PCP 헤더부에 카피 제어 정보를 매립하는 경우, 컨텐츠의 포맷에 의존하지 않기 때문에, 모든 컨텐츠·포맷에 공통의 형식으로 카피 제어 정보를 전송하는 것이 가능하게 된다. 이 결과, Source 기기 측에서 카피 제어 정보를 작성하고, Sink 기기 측에서 카피 제어 정보를 해석하기 위한 소프트웨어 또는 하드웨어의 모듈을 모든 포맷에서 공통화함으로써, 기기 비용을 삭감할 수 있다.
도 31을 참조하면서 이미 설명한 바와 같이, PCP 헤더에는, E-EMI와 함께 논스 정보 필드가 형성되어 있다. E-EMI는 4비트 밖에 없으므로, 이미 그 이외의 카피 제어 정보(즉, 초확장 카피 제어 정보)를 기재할 여유는 없다. 다른 한편, 논스 Nc는 컨텐츠를 암호화하는 컨텐츠 키 Kc를 생성하는 기초가 되는 정보이며 64비트 길이의 필드가 헤더 내에서 할당되어 있다. 컨텐츠 중에서 E-EMI가 바뀔 때마다, 또 정기적으로 논스 Nc는 갱신한다. 통상, 갱신할 기회마다 논스 Nc의 값을 단조롭게 증대시키기(하나씩 인크리먼트하여 가기) 때문에, 64비트를 필요로 하지 않는다. 그래서, 본 실장 형태에서는, 종래의 PCP 헤더 내의 논스 정보 필드의 일 부 영역을 사용하여 초확장 카피 제어 정보를 전송하도록 하고 있다.
본 명세서에서는, E-EMI 이외에 PCP 헤더에 삽입되는 초확장 카피 제어 정보의 것을 “PCP-CCI”로 부르기로 한다. 도 7에는, 본 실시예에서 채용하는 PCP 헤더의 데이터 구조를 나타내고 있다. 동 도면의 예에서는, 종래의 PCP 헤더 내의 논스 정보 필드의 상위 8비트를 사용하여 PCP-CCI를 기술하고, 나머지인 하위 56비트에 통상대로 생성하는 논스 Nc'의 값을 기록하도록 하고 있다. 64비트의 논스 정보 Nc 필드의 상위 8비트에 PCP-CCI를 매립해도, 컨텐츠 키 Kc의 안전성은 나머지인 56비트로 실용에 견딜 수 있다.
도 7로부터도 알 수 있는 바와 같이, PCP 헤더부의 기본적인 구조나 사이즈는 종래의 것과 변경되지 않는다. 이 경우, 본 실시예에 관한 컨텐츠 전송 방식에 대응한 Source 기기 및 Sink 기기는 종래의 64비트의 논스 정보 필드 중의 상위 8비트를 PCP-CCI 필드로서 이용하는 동시에, PCP-CCI 정보가 기록된 상위 8비트와 의사적인 논스 Nc'의 값이 기록된 56비트의 비트 연결로 이루어지는 64비트 전체를 논스 Nc로서 사용하여 컨텐츠 키 Kc의 생성을 행한다. 이 경우, 부정 카피 목적으로 PCP-CCI를 변조해도, 논스 Nc를 변조하게 되어, 결국은 컨텐츠를 복호할 수 없게 되므로, 시큐리티도 유지된다.
한편, 종래대로의 기기도, 종래의 64비트의 논스 정보 필드 전체에 기록된 값을 논스 Nc로서 해석한다. 이 경우, 상위 8비트에 PCP-CCI가 기록되기 때문에, PCP-CCI가 스트림 도중에 변화된 경우에는, 논스 Nc 값의 연속성이 잃어버려져, 본 발명에 관한 전송 방식으로 대응하고 있지 않는 Sink 기기에 있어서, 이른바 Legacy 문제가 발생한다. 또, 본 발명에 관한 전송 방식에 대응한 Sink 기기에 있어서도, PCP, 즉 컨텐츠 전송원인 Source 기기가 본 방식을 적용하고 있는지 여부, 즉 상위 8비트에 PCP-CCI가 기재되어 있는 여부를 특정하지 않으면 안돼, 동일하게 Legacy 문제가 발생한다. 단, 이 문제의 해결 방법에 대해서는 후술한다.
도 8에는, PCP-CCI 필드의 포맷 구성예를 나타내고 있다.
DTCP에서는, 아날로그 출력 제어에 관한 2비트의 파라미터(APS)나, 출력 시의 그림 사이즈에 관한 1비트의 정보 플래그(ICT)라고 하는 출력 제어 정보가 카피 제어 정보의 구성 요소로 되어 있다. 이들 E-EMI에는 기록할 수 없는 정보가 PCP-CCI 내에 할당되어 있다. 또, Ignore 비트는 하위 56비트의 의사적인 Nc'가 카운트 업된 결과, 값이 올라가도 PCP-CCI의 다른 필드에 영향이 나타나지 않도록 하기 위한 필드이다. Source 기기는 Ignore 비트의 초기값으로서 “0”을 설정하고, 의사적인 논스 Nc'가 카운트 업된 결과, 값이 올라간 경우에 “1”로 된다.
또, PCP-CCI 필드의 유효성을 기술한 2비트의 정보 필드 “Mode”나, E-EMI와 본래의 Embedded CCI의 대용 가능성에 관한 1비트의 정보 플래그 “SE(Substitute for Embedded CCI)”도, PCP-CCI 내에 할당되어 있다. 이와 같은 PCP-CCI를 헤더부의 일부로서 구성함으로써, 컨텐츠의 포맷에 의존하지 않고 모든 포맷에 공통의 형식으로 카피 제어 정보를 전송하는 것이 가능하게 된다. 그리고, 암호화 페이로드에 Embedded CCI가 포함되어 있지 않은 경우라도, 종래는 Embedded CCI와 EMI의 조합에 의해 지정하고 있던 카피 제어 기능, 즉 인식 기능을 실현하는 것이 가능하다.
Mode 비트·필드는 PCP-CCI 필드의 의미 또는 유효성을 나타낸다. Mode=00b일 때는 PCP-CCI 필드가 정보를 가지지 않은 것을 나타낸다. 또, Mode=01b일 때는 페이로드가 Audio/Visual 컨텐츠인 것을 나타내고, Mode=10b일 때는 페이로드가 Type 1 Audio 컨텐츠인 것을 나타낸다(예를 들면, DTCP Specification Volume 1 Version 1.4(InformationalVersion) Appendix A Additional Rules for Audio Applications를 참조). Mode=11b는 Reserved로 한다. 또, Mode=01b 또는 Mode=10b일 때는 APS, ICT 비트의 의미를 가지며, 그 비트의 의미는 DTCP의 규정(DTCP Specification Volume 1 Version 1.4 (Informational Version) Appendix B DTCP_Descriptor for MPEG Transport Streams를 참조)에 준한다.
도 9에는, Sink 기기가 Mode 비트·필드에 따라 PCP-CCI 필드의 의미를 식별하기 위한 처리 순서를 플로차트의 형식으로 나타내고 있다.
Mode=00b, 즉 PCP-CCI 필드가 정보를 갖지 않은 경우에는(스텝 S1의 Yes), 또한 복호한 컨텐츠를 검사한다. 그래서, Sink 기기가 식별 가능한 Embedded CCI를 검출할 수 없으면(스텝 S4의 No), Non Cognizant로서 처리한다(스텝 S11). 한편, Embedded CCI를 검출할 수 있는 경우에는(스텝 S4의 Yes), 검출된 Embedded CCI가 Audio/Visual용의 CCI인지 여부를 판별한다(스텝 S5). 그리고, Audio/Visual용이면, Audio/Visual Cognizant로서 처리하고(스텝 S10), 그 이외이면 Audio Cognizant로서 처리한다(스텝 S9).
또, Mode=01b, 즉 PCP-CCI 필드가 Audio/Visual의 정보이면(스텝 S2의 Yes), 또한 복호한 컨텐츠를 검사한다. 그래서, Sink 기기가 식별 가능한 Embedded CCI를 검출할 수 없으면(스텝 S6의 No), Non Cognizant로서 처리한다(스텝 S11). 한편, Embedded CCI를 검출할 수 있는 경우에는, Audio/Visual Cognizant로서 처리한다(스텝 S10).
또, Mode=10b, 즉 PCP-CCI 필드가 Audio Type 1의 정보이면(스텝 S3의 Yes), 또한 복호한 컨텐츠를 검사한다. Sink 기기가 식별 가능한 Embedded CCI를 검출할 수 없으면(스텝 S7의 No), Non Cognizant로서 처리한다(스텝 S11). 한편, Embedded CCI를 검출할 수 있는 경우에는, Audio Cognizant로서 처리한다(스텝 S9).
또, Mode가 상기 이외의 값, 즉 11b일 때는, Reserved로 한다(스텝 S8).
도 9에는, Mode 비트·필드에 따라 PCP-CCI 필드의 의미를 식별하기 위한 처리 순서를 나타냈지만, 그 변형예로서 Mode 비트·필드와 SE 비트·플래그의 조합에 따라 PCP-CCI 필드의 의미를 식별할 수 있다. 도 10에는, 이 경우의 처리 순서를 플로차트의 형식으로 나타내고 있다.
Mode=00b, 즉 PCP-CCI 필드가 정보를 갖지 않은 경우에는(스텝 S21의 Yes), 또한 복호한 컨텐츠를 검사한다. 그래서, Sink 기기가 식별 가능한 Embedded CCI를 검출할 수 없으면(스텝 S24의 No), Non Cognizant로서 처리한다(스텝 S31)). 한편, Embedded CCI를 검출할 수 있는 경우에는,(스텝 S24의 Yes), 검출된 Embedded CCI가 Audio/Visual용의 CCI인지 여부를 판별한다(스텝 S25). 그리고, Audio/Visual용이면, Audio/Visual Cognizant로서 처리하고(스텝 S30), 그 이외이면 Audio Cognizant로서 처리한다(스텝 S29).
또, Mode=01b, 즉 PCP-CCI 필드가 Audio/Visual의 정보이면(스텝 S22의 Yes), 또한 SE 비트·플래그를 체크한다. 여기에서, SE=1b이면(스텝 S32의 Yes), Audio/Visual Cognizant로 처리하고, E-EMI로 Embedded CCI를 대용한다(스텝 S34).
또, Mode=01b이며(스텝 S22의 Yes), 또한 SE=1b가 아니면(스텝 S32의 No), 또한 복호한 컨텐츠를 검사한다. 그래서, Sink 기기가 식별 가능한 Embedded CCI를 검출할 수 없으면(스텝 S26의 No), Non Cognizant로서 처리한다(스텝 S31)). 한편, Embedded CCI를 검출할 수 있는 경우에는, Audio/Visual Cognizant로서 처리한다(스텝 S30).
또, Mode=10b, 즉 PCP-CCI 필드가 Audio Type 1의 정보이면(스텝 S23의 Yes), 또한 SE 비트·플래그를 체크한다. 여기에서, SE=1b이면(스텝 S33의 Yes), Audio Cognizant로 처리하는 동시에, E-EMI로 Embedded CCI를 대용한다(스텝 S35).
또, Mode=10b이며(스텝 S23의 Yes), 또한 SE=1b가 아니면(스텝 S33의 No), 또한 복호한 컨텐츠를 검사한다. 그리고, Sink 기기가 식별 가능한 Embedded CCI를 검출할 수 없으면(스텝 S27의 No), Non Cognizant로서 처리한다(스텝 S31)). 한편, Embedded CCI를 검출할 수 있는 경우에는, Audio Cognizant로서 처리한다(스텝 S29).
또, Mode=10b이며(스텝 S23의 Yes), 또한 SE=1b가 아니면(스텝 S33의 No), 또한 복호한 컨텐츠를 검사한다. 그리고, Sink 기기가 식별 가능한 Embedded CCI를 검출할 수 없으면(스텝 S27의 No), Non Cognizant로서 처리한다(스텝 S31). 한편, Embedded CCI를 검출할 수 있는 경우에는, Audio Cognizant로서 처리한다(스텝 S29).
또, Mode가 상기 이외의 값, 즉 11b일 때는 Reserved로 한다(스텝 S28).
또, SE=1b일 때는 컨텐츠에 Embedded CCI가 포함되어 있지 않고, E-EMI 필드에서 Embedded CCI를 대용하는 것을 나타낸다. 도 11에는, Mode 비트·필드 및 SE 비트·플래그 값의 조합에 따라 E-EMI를 Embedded CCI로서 대용하는 것이 가능한지 여부를 판별하기 위한 처리 순서를 플로차트의 형식으로 나타내고 있다.
Mode=00b이면, PCP-CCI 필드가 정보를 갖지 않아(스텝 S41의 Yes), E-EMI를 Embedded CCI로서 대용할 수 없다(스텝 S46).
Mode=01b, 즉 PCP-CCI 필드가 Audio/Visual 정보인 경우(스텝 S42), 및 Mode=10b, 즉 PCP-CCI 필드가 Audio 정보인 경우에는(스텝 S43), 또한 SE 비트의 플래그 값을 확인한다(스텝 S44).
여기에서, SE 플래그가 세트되어 있으면, E-EMI를 Embedded CCI로서 대용할 수 있다고 판단한다(스텝 S45). 또, SE 플래그가 세트되어 있지 않으면, E-EMI를 Embedded CCI로서 대용할 수 없다고 판단한다(스텝 S46).
또, Mode가 상기 이외의 값, 즉 11b일 때는 Reserved로 한다(스텝 S46).
D. Legacy 문제의 해결
전술한 실시예에서는, 카피 제어 정보를 패킷의 헤더부와 페이로드부(즉 컨텐츠·스트림)로 나누어 기재하는 방법이 채용되고 있는 암호화 전송 방식에 있어서, PCP 헤더 내의 논스 정보 필드의 상위 8비트를 사용하여 PCP-CCI를 기술하고, 나머지의 하위 56비트에 의사적인 논스 Nc'를 기록하도록 함으로써, (DTCP-IP에서) 요구되는 카피 제어를 실현하기 위해 필요한 카피 제어 정보를 모두 헤더부에 기재하도록 했다. 이 경우, 헤더부에는 컨텐츠의 포맷에 의존하지 않고, 모든 포맷에 공통의 형식으로 카피 제어 정보를 삽입할 수 있으므로, 카피 제어 정보를 작성하고 해석하기 위한 소프트웨어 또는 하드웨어의 모듈을 모든 포맷에서 공통화할 수 있어, 기기 비용을 삭감할 수 있다.
그런데, Legacy의 Sink 기기의 경우, 64비트의 논스 정보 필드 전체에 기록된 값을 논스 Nc로서 해석하기 때문에, 상위 8비트에 PCP-CCI가 기록되면, PCP-CCI가 변경되었을 때 논스 Nc 값의 연속성이 잃어버려지게 되어, 컨텐츠 키 확인 수속을 기동한다고 하는 Legacy 문제가 발생한다. 또, 본 발명에 관한 전송 방식에 대응한 Sink 기기에 있어서도, 컨텐츠 전송원인 Source 기기가 본 방식을 적용하고 있는지 여부, 즉 PCP 헤더 중에 PCP-CCI가 기재되어 있는지 여부를 특정하지 않으면 안돼, 동일하게 Legacy 문제가 발생한다. 이 항에서는, 이들 Legacy 문제의 해결 방법에 대하여 설명한다.
도 12에는, Legacy의 Source 기기와 Sink 기기 사이에서 PCP를 전송하는 구조를 도해하고 있다.
Source 기기 측에서는, 시드 키 Kx를 생성하면, AKE 수속을 거쳐 Sink 기기 사이에서 시드 키 Kx를 공유한다.
또, Source 기기는 상위층 애플리케이션으로부터 전송용의 컨텐츠가 공급되면, E-EMI 설정부는 컨텐츠·스트림에 관련된 카피 제어 정보에 따라 정확한 암호 모드를 선택하고, 이것에 따라서, E-EMI를 설정한다. 또, 항상 16바이트의 배수가 되도록 패딩을 행하고, PCP 데이터·버퍼에 일시 저장한다.
컨텐츠 키 생성부는 시드 키 Kx와 E-EMI와, 논스 생성부가 난수 생성 등에 의해 생성한 64비트 길이의 논스 Nc에 소정의 연산 처리를 실시하여 컨텐츠 키 Kc를 생성한다. 논스 생성부는 정기적으로 논스 Nc를 하나씩 인크리먼트하므로, 이에 따라 컨텐츠 키 Kc도 정기적으로 갱신되게 된다.
AES-CBC(Advances Encryption Standard-Cipher Block Chaining) 암호화부는 PCP 데이터·버퍼로부터 패딩된 PCP 페이로드를 순차적으로 인출하여, 현재의 컨텐츠 키 Kc로 암호화 처리를 실시한다.
PCP 헤더 부가부는 E-EMI 설정부에서 설정된 E-EMI를 포함한 PCP 헤더를 생성하고, 이것을 암호화된 PCP 페이로드의 선두에 장착하여 PCP를 완성한다. 이때의 PCP 헤더의 데이터·포맷은 도 31에 나타낸 대로이다. 그리고, 컨텐츠 요구 원(要求元)으로서의 Sink 기기로부터 요구되는 HTTP 또는 RTP 등의 프로토콜에 따라 PCP를 송출한다.
한편, Sink 기기 측에서는, Source 기기와의 AKE 수속을 거쳐 시드 키 Kx를 공유한다.
또, HTTP 또는 RTP 등의 프로토콜에 따라 Source 기기로부터 PCP를 수신하면, 먼저 PCP 헤더 추출부가 PCP 헤더와 PCP 페이로드로 분리한다. 그리고, PCP 헤더로부터는 논스 Nc나 E-EMI가 인출된다.
컨텐츠 키 생성부는 시드 키 Kx와 PCP 헤더로부터 인출된 E-EMI와 논스 Nc에 소정의 연산 처리를 실시하여 컨텐츠 키 Kc를 생성한다. 컨텐츠 키 확인부는 논스 Nc의 연속성을 검사하고, 불연속을 검출한 경우에는 컨텐츠 키 확인 수속을 기동한다.
AES-CBC 암호 해독부는 PCP 페이로드에 대하여, 현재의 컨텐츠 키 Kc로 암호 해독 처리를 실시한다. 해독 후의 PCP 페이로드는 PCP 데이터·버퍼에 일시 저장되고, 패딩된 데이터를 제거하여, 원래의 컨텐츠가 재현된다. Embedded CCI 검출부는 재현된 컨텐츠를 검사하여, Embedded CCI를 검출한다.
또, 도 13에는, PCP-CCI를 PCP 헤더에 매립하는 전송 방식을 적용한 Source 기기와 Sink 기기 사이에서 PCP를 전송하는 구조를 도해하고 있다.
Source 기기 측에서는, 시드 키 Kx를 생성하면, AKE 수속을 거쳐 Sink 기기 사이에서 시드 키 Kx를 공유한다.
또, Source 기기는 상위층 애플리케이션으로부터 전송용의 컨텐츠가 공급되면, E-EMI/PCP-CCI 설정부는 컨텐츠·스트림에 관련된 카피 제어 정보에 따라 정확한 암호 모드를 선택하고, 이것에 따라서, E-EMI를 설정하고, 또한 PCP-CCI를 설정한다(PCP-CCI 중의 Mode 비트·필드 및 SE 비트·플래그의 설정 방법에 대해서는 DTCP Specification Volume 1 Version 1.4 (Informational Version) Appendix B DTCP_Descriptor for MPEG Transport Streams를 참조하고 싶다). PCP-CCI는 8비트 길이이며, 그 데이터·포맷은 도 8에 나타낸 대로이다. 또, 항상 16바이트의 배수가 되도록 패딩을 행하고, PCP 데이터·버퍼에 일시 저장한다.
의사 논스 Nc'생성부는 난수 생성 등에 의해 56비트 길이의 의사적인 논스 Nc'를 생성한다. 논스 Nc 생성부는 의사 논스 Nc'의 상위(上位)에 PCP-CCI를 비트 연결하여, 64비트 길이의 논스 Nc를 작성한다.
컨텐츠 키 생성부는 시드 키 Kx와 E-EMI와, 논스 생성부가 작성한 64비트 길이의 논스 Nc에 소정의 연산 처리를 실시하여 컨텐츠 키 Kc를 생성한다. 논스 Nc 생성부는 정기적으로 논스 Nc를 하나씩 인크리먼트하므로, 이에 따라 컨텐츠 키 Kc도 정기적으로 갱신되게 된다. 단, PCP-CCI 정보가 변화하면, 의사적인 논스 Nc'부분은 연속적이라도, 64비트 전체에서 취급되는 논스 Nc의 연속성은 잃어버려진다.
AES-CBC 암호화부는 PCP 데이터·버퍼로부터 패딩된 PCP 페이로드를 순차적으로 인출하고, 현재의 컨텐츠 키 Kc로 암호화 처리를 실시한다.
PCP 헤더 부가부는 E-EMI 설정부에서 설정된 E-EMI를 포함한 PCP 헤더를 생성하고, 이것을 암호화된 PCP 페이로드의 선두에 장착하여 PCP를 완성한다. 이때의 PCP 헤더의 데이터·포맷은 도 7에 나타낸 대로이다. 그리고, 컨텐츠 요구원으로서의 Sink 기기로부터 요구되는 HTTP 또는 RTP 등의 프로토콜에 따라 PCP를 송출한다.
한편, Sink 기기 측에서는, Source 기기와의 AKE 수속을 거쳐 시드 키 Kx를 공유한다.
또, HTTP 또는 RTP 등의 프로토콜에 따라 Source 기기로부터 PCP를 수신하면, 먼저 PCP 헤더 추출부가 PCP 헤더와 PCP 페이로드로 분리한다. 그리고, PCP 헤더로부터는 논스 Nc나 E-EMI 및 PCP-CCI가 인출된다.
논스 Nc 취득부는 PCP 헤더 중 64비트 길이의 논스 정보를 취득한다. 컨텐츠 키 확인부는 논스 Nc의 하위 56비트의 연속성을 검사하여, 불연속을 검출한 경우에는 컨텐츠 키 확인 수속을 기동한다.
컨텐츠 키 생성부는 시드 키 Kx와 PCP 헤더로부터 꺼내진 64비트 길이의 논스 Nc에 소정의 연산 처리를 실시하여 컨텐츠 키 Kc를 생성한다.
또, PCP-CCI 취득부는 논스 Nc 취득부로부터 64비트 길이의 논스 정보 필드 중 상위 8비트를 PCP-CCI로서 취득한다. 그리고, PCP-CCI 중 Mode 비트·필드 및 SE 비트·플래그의 비트 값 및 Embedded CCI 검출부의 검출 결과에 따라 도 10에 나타낸 순서에 따라, 컨텐츠·포맷의 인식(Cognizant) 및 E-EMI의 Embedded CCI 대용성을 결정한다.
AES-CBC 암호 해독부는 PCP 페이로드에 대하여, 현재의 컨텐츠 키 Kc로 암호 해독 처리를 실시한다. 해독 후의 PCP 페이로드는 PCP 데이터·버퍼에 일시 저장되고, 패딩된 데이터를 제거하여 원래의 컨텐츠가 재현된다. Embedded CCI 검출부는 재현된 컨텐츠를 검사하여, Embedded CCI를 검출한다.
여기에서, PCP-CCI는 평문의 상태에서 PCP 헤더에 기술되기 때문에, PCP 페이로드에 매립하여 암호화하는 경우와 비교하면 변조가 용이하게 된다. 그러나, PCP-CCI는 논스 Nc의 상위 8비트를 구성하기 때문에, 이것을 변조하는 것은 논스 Nc, 즉 컨텐츠 키 Kc도 변조하게 되어, 결국은 컨텐츠를 복호할 수 없게 되므로, 시큐리티도 유지된다.
도 14에는, 도 12에 나타낸 Legacy의 Source 및 Sink 기기와, 도 13에 나타낸 새 방식의 Source 및 Sink 기기가 혼재하는 컨텐츠 전송 환경 하에서 Legacy 문제가 발생하는 상태를 모식적으로 나타내고 있다.
도 12에 나타낸 Source 및 Sink 기기 사이에서의 PCP의 전송, 및 도 13에 나타낸 Source 및 Sink 기기 사이에서의 PCP의 전송이 문제없이 처리되는 것은 전술한 대로이다.
이에 대하여, 새 방식의 Source 기기가 송출하는 PCP 헤더에 PCP-CCI를 매립한 PCP(New PCP with PCP-CCI)를 Legacy의 Sink 기기가 수신했을 때, 상위 8비트에 PCP-CCI가 기록됨으로써 논스 Nc 값의 연속성이 잃어버려지므로(예를 들면, PCP-CCI 정보가 변화되었을 때), 컨텐츠 키 확인 수속을 기동한다고 하는 제1 Legacy 문제가 발생한다.
또, PCP 헤더에 PCP-CCI를 매립한 PCP(New PCP with PCP-CCI)에 대응한 Sink 기기의 경우, 컨텐츠의 요구처인 Source 기기가 Legacy 또는 새 방식의 어느 쪽인지를 정확하게 식별하고 있지 않으면 않된다고 하는 제2 Legacy 문제가 발생한다. 식별을 잘못하면, PCP 헤더에 매립되어 있는 PCP-CCI를 판독할 수 없는, 또는 64비트의 논스 정보 필드의 상위 8비트를 잘못하여 PCP-CCI라고 인식하여 버리게 된다.
제1 Legacy 문제에 관해서는, 컨텐츠 키 확인 수속은 기동 되지만, Source 기기 측에서는, 컨텐츠 키 확인 요구에 대하여, 논스 Nc에 이상이 없는 것을 나타내는 리스폰스(ACCEPTED 커맨드)를 돌려주므로, Legacy의 Sink 기기는 이후에도 장해 없이 컨텐츠 수신 처리를 계속할 수 있어, 실용상의 문제는 발생하지 않는다.
DTCP-IP Volume 1 Supplement Section V1SE. 8. 6에는, Content Key Confirmation에 대하여 규정하고 있다. 이에 따르면, Sink 기기는 컨텐츠·스트림마다, 가장 새롭게 수신한 PCP의 논스 Nc의 값을 확인하고, 또한 동적으로 변경되는 후속의 논스에 대해서도 2분 간격으로 재확인해야 한다(단, Sink 기기가 논스를 초 기 확인한 후에 후속의 논스 Nc의 값이 단조롭게 증대하는 연속적인 수치인 것을 감시하고 확인하는 경우에는, 주기적인 컨텐츠 키 확인의 수속을 생략할 수 있다). Sink 기기는 CONT_KEY_CONF subfunction을 사용하여, 현재의 논스 Nc에 관련된 컨텐츠 키의 확인을 행할 수 있다.
각 컨텐츠·스트림에 있어서, Sink 기기는 미확인의 초기 논스를 취득하면, 상기 컨텐츠·스트림에 관해 암호화 컨텐츠의 복호를 종료하지 않으면 안되게 되기 전에, 컨텐츠 키의 확인을 재시행하는 유예 기간이 1분간만 주어진다. 그리고, Sink 기기는 이 유예 기간을 이용하여 논스 Nc의 확인에 성공하면, 암호화 컨텐츠의 복호 동작을 종료하지 않고 계속할 수 있다.
도 15에는, 컨텐츠 키 확인을 위한 Sink 기기와 Source 기기 사이의 수속을 나타내고 있다. 단, R은 64비트 값으로, 초기는 난수이지만, 후속의 시행에서는, 1 mod 264로 인크리먼트하는 동시에 이하와 같이 한다.
MX=SHA1(Kx||Kx)
MAC3A=MAC3B=[SHA1(MX+NcT+R)]msb80
MAC4A=MAC4B=SHA1(MX+NcT+R)]lsb80
(상기 식에서, “+”은 mod 264의 가산을 의미하기 위해 사용된다.)
도시한 컨텐츠 확인 수속에서는, Sink 기기는 CONT_KEY_CONF 커맨드에 있 어서, 검사용의 논스 NcT를 Source 기기에 보낸다.
Source 기기 측에서는, CONT_KEY_CONF 커맨드를 수신하면, 검사용의 논스 NcT를 인출하여, 현재의 논스 Nc와 비교한다. 그리고, 현재의 논스 Nc가 NcT와 NcT+5의 범위에 있을 때는 검사용의 논스 NcT가 유효한 것을 확인한다. 검사용의 논스 NcT가 유효한 것을 확인할 수 있을 때는, 또한 MAC3A와 MAC3B가 동일한지 여부에 따라 컨텐츠 키의 확인을 행한다. 그리고, 컨텐츠 키가 정확한 것을 나타내는 ACCEPTED 리스폰스, 또는 정확하지 않은 것을 나타내는 REJECTED 리스폰스 중 어느 하나를 Sink 기기에 돌려준다.
Sink 기기 측에서는, Source 기기로부터 ACCEPTED 리스폰스가 돌려주어졌을 때는, 또한 MAC4A와 MAC4B가 동등한지 여부에 따라 컨텐츠 키의 확인을 행한다. 그리고, Sink 기기 자체로 컨텐츠 키가 정확한 것을 확인할 수 있는 경우에는, Sink 기기는 confirmed 상태로 된다.
한편, Source 기기로부터 ACCEPTED 리스폰스가 돌려주어졌지만, Sink 기기 자체에서의 컨텐츠 키 확인에 실패한 경우나, Source 기기로부터 REJECTED 리스폰스가 돌려주어졌을 때는, Sink 기기는 non-confirmation 상태로 된다.
여기에서, confirmed는 CONT_KEY_CONF에 의해 컨텐츠 키가 정확한 것이 확인된 상태, non-confirmation은 CONT_KEY_CONF에 의해 컨텐츠 키가 부정한 것이 확인된 상태이며, 모두 DTCP Volume 1 Supplement ES ection V1SE 8. 6에 규정되어 있다.
confirmed 상태에서는, Sink 기기는 수신 컨텐츠의 복호 처리를 계속해서 행할 수 있다. 다른 한편, non-confirmation 상태에서는, Sink 기기는 복호 처리를 계속할 수 없다.
도 16에는, PCP-CCI에 대응한 Source 기기가 Legacy의 Sink 기기 사이에서 컨텐츠 키 확인 수속을 행하기 위한 처리 순서를 플로차트의 형식으로 나타내고 있다.
Source 기기는 컨텐츠 전송처가 되는 Sink 기기로부터 컨텐츠 확인을 요구하는 CONT_KEY_CONF 커맨드를 수신하면(스텝 S51), 컨텐츠 키의 확인을 행한다(스텝 S52). 구체적으로는, 상기 커맨드로부터 검사용의 논스 NcT를 인출하여, 현재의 논스 Nc, 즉 8비트 길이의 PCP-CCI와 56비트 길이의 의사적인 논스 Nc'를 비트 연결한 값과 비교한다. 그리고, 현재의 논스 Nc가 NcT와 NcT+5의 범위에 있을 때는 검사용의 논스 NcT가 유효한 것을 확인한다.
그리고, Source 기기는 컨텐츠 키가 정확한 것을 확인한 경우에는, 그 취지를 나타내는 ACCEPTED 리스폰스를 Sink 기기에 회신 하지만(스텝 S53), 컨텐츠 키가 부정한 것을 확인한 경우에는, 그 취지를 나타내는 REJECTED 리스폰스를 회신한다(스텝 S54).
그리고, ACCEPTED 및 REJECTED는 모두 DTCP Volume 1 Supplement E Section V1SE 8. 6에 규정되어 있는, 커맨드에 대한 리스폰스이다.
또, 도 17에는, Legacy의 Sink 기기가 PCP-CCI에 대응한 Source 기기 사이 에서 컨텐츠 키 확인 수속을 행하기 위한 처리 순서를 플로차트의 형식으로 나타내고 있다.
Sink 기기는 컨텐츠 요구처로 되는 Source 기기에 대하여 CONT_KEY_CONF 커맨드를 송신한 후(스텝 S61), 상기 Source 기기로부터의 리스폰스 수신을 대기한다(스텝 S62).
여기에서, Source 기기로부터 ACCEPTED 리스폰스를 수신했을 때는(스텝 S63), 컨텐츠 키를 확인한다(스텝 S64). 이때, 컨텐츠 키가 정확한 경우에는 confirmed(스텝 S65), 컨텐츠 키가 부정한 경우에는 non-confirmation이다(스텝 S67). 또, Sink 기기가 Source 기기로부터 REJECTED 리스폰스를 수신했을 때는(스텝 S66), non-confirmation이다(스텝 S67).
여기에서, confirmed는 CONT_KEY_CONF에 의해 컨텐츠 키가 정확한 것이 확인된 상태, non-confirmation은 CONT_KEY_CONF에 의해 컨텐츠 키가 부정한 것이 확인된 상태이며, 모두 DTCP Volume 1 Supplement E Section V1SE 8. 6에 규정되어 있다.
confirmed에서는, Sink 기기는 수신 컨텐츠의 복호 처리를 계속해서 행할 수 있다. 본 실시예에서는, Source 기기는 검사용의 논스 NcT를 8비트 길이의 PCP-CCI와 56비트 길이의 의사적인 논스 Nc'를 비트 연결한 현재의 논스 Nc와 비교하므로, Sink 기기로부터 보면 논스의 변화가 부자연스러워도, confirmed인 한, 컨텐츠의 수신 및 그 암호 해독을 계속할 수 있다. 다른 한편, non-confirmation에서 는, Sink 기기는 복호 처리를 계속할 수 없다.
또, Sink 기기는 최초의 non-confirmation으로 되고 나서 1분간은 복합 처리를 계속하면서 컨텐츠 키 확인 수속을 반복할 수 있으므로(스텝 S68), 스텝 S41로 복귀하여(스텝 S70), CONT_KEY_CONF 커맨드를 재발행한다.
컨텐츠 키 확인 수속을 재시행하여, 1분 이내에 confirmed로 되면(스텝 S65), 수신 컨텐츠의 복호 처리를 계속할 수 있다. 그러나, 1분간 non-confirmation이 계속된 경우에는(스텝 S68), 수신 컨텐츠의 복호 처리를 정지해야만 한다(스텝 S69).
도 18에는, PCP-CCI에 대응한 Source 기기(New Source)와 Legacy Sink 사이에서 행해지는 컨텐츠 키 확인 수속의 동작 시퀀스를 정리하고 있다.
New Source 측에서, 컨텐츠의 전송 중에 PCP-CCI를 변경하면, 이에 따라 PCP 헤더에 기록되는 논스 Nc의 연속성이 잃어버려진다. Legacy Sink는 이와 같은 논스 Nc의 Jump를 인식하면, 컨텐츠 키 확인용의 TCP 커넥션을 확립하고, New Source에 대하여 CONT_KEY_CONF 커맨드를 발행한다.
New Source 측에서는, CONT_KEY_CONF 커맨드로부터 논스 NcT를 인출하면, 갱신 후의 PCP-CCI와 현재의 의사적인 논스 Nc'를 비트 연결한 논스 Nc와 비교한다. 그리고, 논스 Nc의 변조가 아닌 것을 확인하면, Legacy Sink에 대하여 ACCEPTED 리스폰스를 돌려주는 것과 동시에, 계속해서 컨텐츠를 전송한다. 이에 따라, Legacy Sink는 컨텐츠를 계속해서 수신하여 해독 처리를 행할 수 있다.
또, 제2 Legacy 문제에 관해서는, 상호 인증 수속(AKE)에서 교환하는 기기 증명서 중에 PCP 헤더부에 초확장 카피 제어 정보를 매립하는 것을 나타내는 CCI 플래그를 포함시킴으로써, Sink 기기는 Source 기기가 Legacy 기기가 아닌 것을 인식할 수 있다. 또는, 이와 같은 CCI 플래그를 응답하는 능력 확인용의 커맨드를 사용하도록 해도 된다.
PCP-CCI에 대응한 신규의 DTCP 기기는, 예를 들면, CCI 플래그를(1)에 설정된 기기 증명서를 사용한다. 이 CCI 플래그는 기기 증명서 내의 예비(reserved) 영역을 사용할 수 있다. Sink 기기는 AKE 수속 등에 있어서, Source 기기의 기기 증명서를 체크하여, PCP-CCI 필드가 PCP 헤더에 존재하는지 여부를 안전하게 확인할 수 있다.
이 경우, PCP-CCI에 대응한 Source 기기는 PCP 헤더에 PCP-CCI 필드를 매립한 새로운 포맷으로, PCP 패킷을 항상 보낼 수 있다. 한편, PCP-CCI에 대응한 Sink 기기는 신규의 Source 기기로부터 컨텐츠·스트림이 도래했을 때는, 그 PCP 헤더에 포함되는 PCP-CCI 필드를 사용할 수 있다.
도 19에는, Sink 기기가 Source 기기의 CCI 플래그를 체크하여 PCP 헤더부의 카피 제어 정보를 처리하기 위한 순서를 플로차트의 형식으로 나타내고 있다.
Sink 기기는 Source 기기 사이에서 컨텐츠 전송 수속의 개시 전에 컨텐츠 키 교환 및 인증 수속(AKE)을 행할 때, 상기 Source 기기는 PCP-CCI를 헤더부에 매립하여 보내는지 여부를 나타내는 CCI 플래그의 확인 처리를 실행한다(S71). 동 확 인 처리를 실시하는 방법으로서 몇 가지가 고려되지만, 자세한 것은 후술한다.
그리고, CCI 플래그를 확인할 수 있는지 여부를 체크한다(스텝 S72). 확인할 수 있는 경우에는, 컨텐츠 전송 수속을 개시하고, Source 기기로부터 컨텐츠·스트림을 PCP로서 수취했을 때, PCP 헤더 중의 64비트 길이의 논스 정보 필드 중 상위 8비트를 PCP-CCI로서 참조한다(스텝 S73). 또, 확인할 수 없는 경우에는, 논스 정보 필드의 상위 8비트를 PCP-CCI로서 참조하지 않는다(스텝 S74).
스텝 S71에서 확인 처리를 행하는 방법, 즉 Source 기기가 PCP 헤더에 PCP-CCI를 매립하고 있는 것을 식별하는 구체적인 하나의 방법으로서, 기기 증명서 중에 CCI 플래그를 포함시키는 것을 들 수 있다.
이 기기 증명서는, 예를 들면, DTLA와 같이 신뢰할 수 있는 라이센스·권한에 의한 전자 서명이 부가되어 있는 것으로 한다. 또, 증명서 중에는 그 송신 장치의 공개 키가 포함됨으로써, 챌린지·앤드·리스폰스형의 인증 수속에 있어서, 송신 측이 자체의 서명을 부가한 리스폰스(수신 측으로부터의 챌린지·데이터를 포함함)를 수신 측에 보내, 수신 측에 대하여 자체의 증명서가 정당한 것임을 나타내는 것이 가능하다.
도 20에는, 기기 증명서 내에 CCI 플래그를 매립함으로써, Source 기기가 PCP-CCI 대응인 것을 Sink 기기에 나타내는 송수신 시퀀스 예를 나타내고 있다.
먼저, 컨텐츠 요구원인 Sink 기기로부터, Rx 난수와 Rx 증명서를 포함한 Rx 챌린지가 송신된다. 이에 대하여, Source 기기로부터는 Tx 난수 및 Tx 증명서를 포함한 Tx 챌린지가 회신된다. 이 Tx 증명서에는, 예를 들면, 예비 영역의 1비트 를 사용하여, CCI 플래그가 세트되어 있다. Sink 기기는 이 CCI 플래그를 체크하여, Source 기기가 PCP-CCI에 대응하고 있는 것을 확인한다.
이후, Source 기기로부터, Rx 난수, Tx 메시지, Tx 서명을 포함한 Rx 리스폰스가 송신되는 동시에, Sink 기기로부터는 Tx 난수, Rx 메시지, Rx 서명을 포함한 Tx 리스폰스가 송신되어, 통상의 챌린지·앤드·리스폰스 인증 수속이 계속된다.
도 21에는, Sink 기기가 Source 기기로부터 수신한 Tx 챌린지에 포함되는 기기 증명서로부터 CCI 플래그를 검증하기 위한 처리 순서를 플로차트의 형식으로 나타내고 있다.
Sink 기기는 Source 기기로부터 Tx 챌린지를 수신하면(스텝 S81), 이것에 포함되어 있는 기기 증명서의 서명을 검증한다(스텝 S82). 그리고, 검증에 성공했을 때는(스텝 S83), 상기 증명서 중의 CCI 플래그의 값을 참조한다(스텝 S84). 또, 검증에 실패했을 때는, 플래그 값의 체크를 행하지 않고, 인증 에러를 돌려준다(스텝 S85).
또, 스텝 S71에서, Source 기기가 PCP 헤더에 PCP-CCI를 매립하고 있는 것을 식별하는 다른 방법으로서, Source 기기가 자체의 서명을 부가하여 보내는 리스폰스 중에 CCI 플래그를 매립하는 것을 들 수 있다.
도 22에는, 기기가 자체의 서명을 부가하여 보내는 리스폰스 중에 CCI 플래그를 매립함으로써, Source 기기가 PCP-CCI 대응인 것을 Sink 기기에 나타내는 송수신 시퀀스 예를 나타내고 있다.
먼저, 컨텐츠 요구원인 Sink 기기로부터, Rx 난수와 Rx 증명서를 포함한 Rx 챌린지가 송신된다. 이에 대하여, Source 기기로부터는 Tx 난수 및 Tx 증명서를 포함한 Tx 챌린지가 회신된다.
계속해서, Source 기기로부터, Rx 난수, Tx 메시지, Tx 서명을 포함한 Rx 리스폰스가 송신된다. 여기에서, Tx 메시지에는 CCI 플래그가 포함되어 있다. Sink 기기는 이 CCI 플래그를 체크하여, Source 기기가 PCP-CCI에 대응하고 있는 것을 확인한다. 그리고, Sink 기기로부터는 Tx 난수, Rx 메시지, Rx 서명을 포함한 Tx 리스폰스가 송신되어, 통상의 챌린지·앤드·리스폰스 인증 수속이 계속된다.
도 23에는, Sink 기기가 Source 기기로부터 수신한 Rx 리스폰스에 포함되는 Tx 메시지로부터 CCI 플래그를 검증하기 위한 처리 순서를 플로차트의 형식으로 나타내고 있다.
Sink 기기는 Source 기기로부터 Rx 리스폰스를 수신하면(스텝 S91), Rx 난수와 Tx 메시지 대하는 Tx 서명을 검증한다(스텝 S92). 그리고, 검증에 성공했을 때는(스텝 S93), 상기 Tx 메시지 중의 CCI 플래그의 값을 참조한다(스텝 S94). 또, 검증에 실패했을 때는, 플래그 값의 체크를 행하지 않고, 인증 에러를 돌려준다(스텝 S95).
예를 들면, Tx 메시지 중 예비 영역의 1비트를 사용하여, CCI 플래그를 매립할 수 있다. 단, Rx 리스폰스 중에 CCI 플래그를 삽입하는 장소가 이미 남아 있지 않은 경우에는, 신규의 Rx 리스폰스용의 커맨드를 정의하면 된다.
또, Legacy의 Sink 기기는 신규의 Rx 리스폰스용의 커맨드에 대응할 수 없다고 하는 문제가 있다. 이 때문에, Sink 기기로부터 Source 기기에 대하여 신규의 Rx 리스폰스를 구하기 위한, 신규의 Rx 챌린지용 커맨드를 또한 정의하도록 해도 된다.
도 24에는, Sink 기기로부터 Source 기기에 대하여 신규의 Rx 챌린지를 송신하고, 이에 대하여 Source 기기가 CCI 플래그를 매립한 신규의 Rx 리스폰스를 돌려주고, Source 기기가 PCP-CCI 대응인 것을 Sink 기기에 나타내는 송수신 시퀀스 예를 나타내고 있다.
먼저, 컨텐츠 요구원인 Sink 기기로부터, Source 기기에 대하여 신규의 Rx 리스폰스를 구하기 위한, 신규의 Rx 챌린지용 커맨드가 송신된다. 이 Rx 챌린지용의 커맨드에는, Rx 난수와 Rx 증명서가 포함되어 있다(상과 동일). 이에 대하여, Source 기기로부터는, Tx 난수 및 Tx 증명서를 포함한 Tx 챌린지가 회신된다.
계속해서, Source 기기로부터, Rx 난수, Tx 메시지, Tx 서명을 포함한 신규의 Rx 리스폰스용 커맨드가 송신된다. 여기에서, Tx 메시지에는, CCI 플래그가 포함되어 있다. Sink 기기는 이 CCI 플래그를 체크하여, Source 기기가 PCP-CCI에 대응하고 있는 것을 확인한다. 그리고, Sink 기기로부터는 Tx 난수, Rx 메시지, Rx 서명을 포함한 Tx 리스폰스가 송신되어, 통상의 챌린지·앤드·리스폰스 인증 수속이 계속된다.
도 25는 Source 기기가 도 24에 나타낸 동작에 대응한 챌린지·앤드·리스폰스 동작을 행하기 위한 처리 순서를 플로차트의 형식으로 나타내고 있다.
Source 기기는 Sink 기기로부터 Rx 챌린지를 수신하면(스텝 S101), 이것이 종래대로의 Rx 챌린지, 또는 CCI 플래그를 매립한 신규의 Rx 리스폰스를 구하는 신 규의 Rx 챌린지 중 어느 하나인지를 판별한다(스텝 S102).
그리고, 종래대로의 Rx 챌린지를 수신했을 때는, 이후는 종래대로의 인증 순서를 실시하지만(스텝 S103), 신규의 Rx 챌린지를 수신했을 때는, 도 24에 나타낸 인증 순서를 실시하여(스텝 S104), Sink 기기에 대하여 자기가 PCP-CCI에 대응하고 있는 것을 나타낸다.
또, 도 26에는, Sink 기기가 Source 기기로부터 수신한 신규의 Rx 리스폰스에 포함되는 Tx 메시지로부터 CCI 플래그를 검증하기 위한 처리 순서를 플로차트의 형식으로 나타내고 있다.
Sink 기기는 Source 기기로부터 신규의 Rx 리스폰스를 수신하면(스텝 S111), Rx 난수와 Tx 메시지 대하는 Tx 서명을 검증한다(스텝 S112). 그리고, 검증에 성공했을 때는(스텝 S113), 상기 Tx 메시지 중의 CCI 플래그의 값을 참조한다(스텝 S114). 또, 검증에 실패했을 때는, 플래그 값의 체크를 행하지 않고, 인증 에러를 돌려준다(스텝 S115).
또, Sink 기기로부터 Source 기기에 대하여 신규의 Rx 리스폰스를 구하는 다른 방법으로서, 능력 확인용의 커맨드를 새로 정의한 것을 들 수 있다.
도 27에는, Sink 기기로부터 Source 기기에 대하여 능력 확인 커맨드를 송신하고, 이에 대하여 Source 기기가 CCI 플래그를 매립한 능력 확인 리스폰스를 돌려주어, Source 기기가 PCP-CCI 대응인 것을 Sink 기기에 나타내는 송수신 시퀀스 예를 나타내고 있다.
먼저, 컨텐츠 요구원인 Sink 기기로부터, Source 기기에 대하여 능력 확인 커맨드가 송신된다. 이에 대하여, Source 기기로부터는 능력 확인 리스폰스가 회신된다. 이 리스폰스에는, CCI 플래그가 세트되어 있다.
계속해서, 컨텐츠 요구원인 Sink 기기로부터, Source 기기에 대하여 신규의 Rx 리스폰스를 구하기 위한, 신규의 Rx 챌린지용 커맨드가 송신된다. 이 Rx 챌린지용의 커맨드에는, Rx 난수와 Rx 증명서가 포함되어 있다(상과 동일). 이에 대하여, Source 기기로부터는, Tx 난수 및 Tx 증명서를 포함한 Tx 챌린지가 회신된다.
계속해서, Source 기기로부터, Rx 난수, Tx 메시지, Tx 서명을 포함한 신규의 Rx 리스폰스용 커맨드가 송신된다. 여기에서, Tx 메시지에는, CCI 플래그가 세트되어 있다. Sink 기기는 이 CCI 플래그를 체크하여, Source 기기가 PCP-CCI에 대응하고 있는 것을 확인한다. 그리고, Sink 기기로부터는 Tx 난수, Rx 메시지, Rx 서명을 포함한 Tx 리스폰스가 송신되어, 통상의 챌린지·앤드·리스폰스 인증 수속이 계속된다.
도 28은 Sink 기기가 도 27에 나타낸 동작에 대응한 챌린지·앤드·리스폰스 동작을 행하기 위한 처리 순서를 플로차트의 형식으로 나타내고 있다.
Sink 기기는 Source 기기에 대하여 CCI 플래그를 매립한 신규의 Rx 리스폰스를 요구할 때는, 먼저 능력 확인 커맨드를 송신한다(스텝 S121).
그리고, Source 기기로부터 능력 확인 리스폰스가 돌려주어지면, 그 중에 CCI 플래그가 세트되어 있는지 여부를 체크한다(스텝 S122).
그리고, CCI 플래그가 설정되어 있지 않은 때는, 이후는 종래대로의 인증 순서를 실시하지만(스텝 S123), CCI 플래그가 설정되어 있을 때는, 도 27에 나타낸 인증 순서를 실시하여(스텝 S124), Source 기기가 PCP-CCI에 대응하고 있는 것을 확인한다. 신규의 인증 수속은 도 26에 나타낸 처리 순서에 따르므로, 여기에서는 설명을 생략한다.
그리고, Sink 기기로부터 능력 확인 커맨드를 송신한 데 대하여, Source 기기가 상기 커맨드에 대응하지 않는 경우에는, “not implemented” 커맨드가 돌려주어지므로, Sink 기기는 Source 기기가 Legacy인 것을 식별할 수 있다.
또, 능력 확인용의 커맨드를 새로 정의하여 신규의 Rx 리스폰스를 구하는 경우의 변형예로서, 최초의 능력 확인 커맨드와 그 응답에 챌린지·앤드·리스폰스 처리를 내장하고, 그 동작 시퀀스 중에 CCI 플래그를 시큐어하게 보내는 경우도 고려된다. 이 경우, Sink 기기로부터 Source 기기에 대하여 능력 확인 커맨드를 송신하고, 이에 대하여 Source 기기가 CCI 플래그를 매립한 서명 첨부의 능력 확인 리스폰스를 돌려주어, Source 기기가 PCP-CCI 대응인 것을 Sink 기기에 나타낼 수 있다. 그리고, 계속되는 인증 처리는 항상 종래대로의 순서로 된다.
도 29에는, 최초의 능력 확인 커맨드와 그 응답에 챌린지·앤드·리스폰스 처리를 내장한 경우에, Source 기기가 PCP-CCI 대응인 것을 Sink 기기에 나타내는 송수신 시퀀스 예를 나타내고 있다.
먼저, 컨텐츠 요구원인 Sink 기기로부터, Source 기기에 대하여 능력 확인 커맨드가 송신된다. 이 능력 확인 커맨드에는, 챌린지·앤드·리스폰스용의 Rx 난수(2)가 포함되어 있다. 이에 대하여, Source 기기로부터는 능력 확인 리스폰스가 회신된다. 이 능력 확인 리스폰스에는, Rx 난수(2)와, Tx 메시지(2)와, Tx 서 명(2)이 포함되어 있다. 그리고, Tx 메시지(2)에는 CCI 플래그가 세트되어 있다. Sink 기기는 이 CCI 플래그를 체크하여, Source 기기가 PCP-CCI에 대응하고 있는 것을 확인한다.
계속해서, Sink 기기로부터, Rx 난수와 Rx 증명서를 포함한 Rx 챌린지가 송신된다. 이에 대하여, Source 기기로부터는, Tx 난수 및 Tx 증명서를 포함한 Tx 챌린지가 회신된다.
계속해서, Source 기기로부터, Rx 난수, Tx 메시지, Tx 서명을 포함한 Rx 리스폰스가 송신된다. 그리고, Sink 기기로부터는 Tx 난수, Rx 메시지, Rx 서명을 포함한 Tx 리스폰스가 송신되고, 통상의 챌린지·앤드·리스폰스 인증 수속이 계속된다.
도 30은 Sink 기기가 도 29에 나타낸 동작에 대응한 챌린지·앤드·리스폰스 동작을 행하기 위한 처리 순서를 플로차트의 형식으로 나타내고 있다. 여기에서는, Tx 서명(2)의 검증을 행하는 데는 Tx 증명서에 포함되는 Source 기기의 공개 키가 필요하기 때문에, 이 검증 처리는 Tx 챌린지의 수신 이후에 행하게 된다.
Sink 기기는 챌린지·앤드·리스폰스용의 Rx 난수(2)를 포함한 능력 확인 커맨드를 송신한다(스텝 S131).
여기에서, Source 기기로부터 응답을 수신하고(스텝 S132), 또한 이 응답이 ACCEPTED인 경우에는(스텝 S133의 Yes), 계속해서, Rx 챌린지의 송신과 Tx 챌린지의 수신을 행한다(스텝 S134). 그리고, Rx 난수(2)와 Tx 메시지에 대한 Tx 서명(2)을 검증한다(스텝 S135).
Sink 기기는 Tx 서명(2)의 검증에 성공한 경우에는(스텝 S136의 Yes), Tx 메시지(2)에 포함되는 CCI 플래그를 참조하여, 세트되어 있는지 여부를 확인한다(스텝 S137). 그리고, CCI 플래그가 세트되어 있는 것을 확인하면, PCP-CCI를 참조 가능으로 한다. 계속해서, Rx 난수와 Rx 증명서를 포함한 Rx 챌린지가 송신되는 동시에, Source 기기로부터 Tx 난수 및 Tx 증명서를 포함한 Tx 챌린지를 수신한다(스텝 S138).
또, 스텝 S133에서 능력 확인 커맨드에 대한 ACCEPTED 응답을 수신할 수 없을 때는, Sink 기기는 Rx 난수와 Rx 증명서를 포함한 Rx 챌린지가 송신되는 동시에, Source 기기로부터 Tx 난수 및 Tx 증명서를 포함한 Tx 챌린지를 수신하지만(스텝 S140), CCI 플래그를 확인할 수 없으므로(스텝 S141), PCP-CCI는 참조 부가로 한다.
또, 스텝 S137에서 Tx 서명(2)의 검증에 실패했을 때도, CCI 플래그를 확인할 수 없으므로(스텝 S141), PCP-CCI는 참조 부가로 한다.
이상, 특정한 실시예를 참조하면서, 본 발명에 대하여 상세하게 풀이해 왔다. 그러나, 본 발명의 요지를 벗어나지 않는 범위에서 당업자가 상기 실시예의 수정이나 대용을 해낼 수 있는 것은 자명하다.
본 발명의 적용예로서, DTCP_Source 기기와 DTCP_Sink 기기의 사이에 행해지는 HTTP 프로토콜을 이용한 컨텐츠 전송을 들 수가 있지만, 본 발명의 요지는 이것에 한정되지 않는다. 카피 제어 정보와 함께 암호화 컨텐츠를 전송하는 그 밖의 여러 가지 타입의 정보 통신 시스템에 대해서도, 동일하게 본 발명을 적용할 수 있 다.
요컨대, 예시라고 하는 형태로 본 발명을 개시한 것이며, 본 명세서의 기재 내용을 한정적으로 해석해서는 안된다. 본 발명의 요지를 판단하기 위해서는, 특허 청구의 범위를 참작해야한다.
본 발명에 의하면, DTCP에 따른 정보 기기끼리 암호화 컨텐츠의 전송 수속을 바람직하게 실행할 수 있는 우수한 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터·프로그램을 제공할 수 있다.
또, 본 발명에 의하면, 전송하는 컨텐츠에 관한 속성 정보 및 카피 제어 정보를 패킷 내에 삽입하여 바람직하게 전송할 수 있는 우수한 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터·프로그램을 제공할 수 있다.
또, 본 발명에 의하면, 컨텐츠의 포맷에 의존하지 않는 공통의 형식으로 속성 정보 및 카피 제어 정보를 패킷 내에 삽입하고, 또한 이들 정보를 시큐어하게 사용할 수 있는 우수한 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및 컴퓨터·프로그램을 제공할 수 있다.
본 발명에 의하면, DTCP-IP에 따른 암호화 컨텐츠의 전송을 행할 때, Sink 기기 측에서 필요하게 되는 모든 카피 제어 정보를 PCP 헤더 중에 기재할 수 있다. 바꾸어 말하면, 컨텐츠의 포맷에 의존하지 않고(즉 모든 포맷에 공통의 형식으로), 카피 제어 정보를 컨텐츠에 붙여 전송할 수 있다. 그리고, Source 기기 측에서 카피 제어 정보를 작성하고, Sink 기기 측에서 카피 제어 정보를 해석하기 위한 소프 트웨어 또는 하드웨어의 모듈을 모든 포맷에서 공통화함으로써, 기기 비용을 삭감할 수 있다.
또, 필요하게 되는 모든 카피 제어 정보를 PCP 헤더 중에 기재함으로써, 컨텐츠의 포맷에 의존하지 않고 카피 제어 정보를 전송할 수 있으므로, DTCP-IP에서 이미 규정되어 있는 MPEG 트랜스포트·스트림에서도 동일하게 적용할 수 있다.
본 발명의 또 다른 목적, 특징이나 이점은 전술한 본 발명의 실시예나 첨부하는 도면에 따른 보다 상세한 설명에 의해 명백해 질 것이다.

Claims (47)

  1. 카피(copy) 제어가 행해진 컨텐츠를 전송하는 컨텐츠 전송 장치로서,
    상기 컨텐츠 전송 장치와 컨텐츠 수신 장치 사이에서 인증 수속을 행하고;
    적어도 4비트(bit)를 포함하여, 적어도 상기 컨텐츠의 카피가 허용되는지의 여부를 나타내는 제1 카피 제어 정보를 생성하며;
    적어도 8비트를 포함하여, 적어도 상기 컨텐츠의 멀티미디어(multimedia) 타입(type), 상기 컨텐츠의 아날로그(analog) 카피 보호 정보, 및 출력 모드에서의 상기 컨텐츠의 그림 사이즈를 판별하기 위한 영역을 포함하는 제2 카피 제어 정보를 생성하고;
    상기 컨텐츠 전송 장치로부터 상기 컨텐츠 수신 장치에 상기 컨텐츠를 전송하기에 앞서 상기 컨텐츠를 암호화하는 컨텐츠 키를 생성하기 위해 이용되는 난수 또는 의사 난수(논스; nonce)를 생성하며;
    상기 제1 카피 제어 정보, 상기 제2 카피 제어 정보, 상기 생성된 논스, 및 상기 컨텐츠를 소정의 컨텐츠 키로 암호화함으로써 획득되는 페이로드(payload)를 포함하는 헤더(header)를 포함하는 패킷을 생성하여 상기 컨텐츠 수신 장치에 전송하도록 구성된, 프로세서
    를 포함하고,
    상기 헤더는, 상기 논스를 전송하기 위한 64비트 중 소정의 비트 길이를 가지는 필드를 포함하며,
    상기 패킷은, 상기 제2 카피 제어 정보가 상기 논스를 전송하기 위한 상기 필드 내에 매립된 형태로 전송되는, 컨텐츠 전송 장치.
  2. 제1항에 있어서,
    상기 컨텐츠 전송 장치가, 상기 제1 카피 제어 정보를 기록하는 필드를 포함하는 상기 헤더와, 컨텐츠 매립형 카피 제어 정보를 매립한 컨텐츠를 포함하는 페이로드로 구성된 형식의 상기 패킷을 사용함으로써 컨텐츠 전송이 행해지는 전송 시스템 환경 하에서 동작하고,
    상기 제2 카피 제어 정보가, 상기 헤더에 포함된 상기 제2 카피 제어 정보의 유효성을 나타내는 모드 정보를 포함하는, 컨텐츠 전송 장치.
  3. 제2항에 있어서,
    상기 전송 시스템 환경 하에서는, 상기 컨텐츠의 포맷의 인식 가능성에 따라 상기 컨텐츠의 카피 제어를 실시하는 인식 기능이 제공되고,
    상기 프로세서가, 상기 헤더 내의 상기 제2 카피 제어 정보에 포함되는 상기 모드 정보와, 상기 페이로드 내의 상기 컨텐츠 매립형 카피 제어 정보의 조합에 따라 상기 인식 기능을 실현하도록 더 구성된, 컨텐츠 전송 장치.
  4. 제1항에 있어서,
    상기 프로세서가, 상기 제2 카피 제어 정보의 상기 적어도 8비트에 의해 미리 정해진 비트 길이보다 짧은 의사(擬似) 논스를 생성하고; 상기 제2 카피 제어 정보의 상기 비트와 상기 의사 논스를 결합함으로써 형성되는 논스에 따라 생성되는 컨텐츠 키를 사용하여 상기 컨텐츠를 암호화하도록 더 구성된, 컨텐츠 전송 장치.
  5. 제1항에 있어서,
    상기 프로세서가, 상기 컨텐츠 수신 장치로부터의 요구에 따라 상기 패킷의 상기 헤더에 포함된 상기 논스의 검증을 행하고; 상기 논스의 검증을 위한 상기 컨텐츠 수신 장치로부터의 요구에 따라, 상기 검증이 요구된 논스와 상기 제2 카피 제어 정보가 매립된 상기 논스를 비교함으로써 상기 검증이 요구된 논스를 검증하도록 더 구성된, 컨텐츠 전송 장치.
  6. 제1항에 있어서,
    상기 프로세서가, 상기 컨텐츠 수신 장치에 전송되는 인증용 커맨드 내에 상기 전송을 나타내는 정보를 기재하는, 컨텐츠 전송 장치.
  7. 제6항에 있어서,
    상기 프로세서가, 챌린지·앤드·리스폰스 인증 수속에서의 챌린지용 커맨드에 포함되는 기기 증명서 내에, 상기 제1 카피 제어 정보 및 상기 제2 카피 제어 정보가 상기 헤더 내에 포함되어 있음을 나타내는 플래그(flag)를 셋팅하는, 컨텐츠 전송 장치.
  8. 제6항에 있어서,
    상기 프로세서가, 챌린지·앤드·리스폰스 인증 수속에서의 리스폰스용 커맨드에 포함되는 메시지 내에, 상기 제1 카피 제어 정보 및 상기 제2 카피 제어 정보가 상기 헤더 내에 포함되어 있음을 나타내는 플래그를 셋팅하는, 컨텐츠 전송 장치.
  9. 제6항에 있어서,
    상기 프로세서가, 상기 컨텐츠 수신 장치로부터의 요구 커맨드에 응하여 상기 정보를 기재하는, 컨텐츠 전송 장치.
  10. 제1항에 있어서,
    상기 제2 카피 제어 정보가 임베디드 CCI(Embedded Copy Control Information)의 대용(substitute)인지 여부를 판별하는 영역을 포함하는, 컨텐츠 전송 장치.
  11. 제1항에 있어서,
    상기 제2 카피 제어 정보가, 상기 의사 난수(논스)가 증가하는 경우에도 상기 제2 카피 제어 정보는 영향을 받지 않는다는 것을 나타내는 영역을 포함하는, 컨텐츠 전송 장치.
  12. 컨텐츠 전송 장치로부터 카피(copy) 제어가 행해진 컨텐츠를 전송하기 위한 컨텐츠 전송 방법으로서,
    상기 컨텐츠 전송 장치와 컨텐츠 수신 장치 사이에서 인증 수속을 행하는 단계;
    상기 컨텐츠 전송 장치가, 적어도 4비트(bit)를 포함하여 적어도 상기 컨텐츠의 카피가 허용되는지의 여부를 나타내는 제1 카피 제어 정보를 생성하는 단계;
    상기 컨텐츠 전송 장치가, 적어도 8비트를 포함하여 적어도 상기 컨텐츠의 멀티미디어(multimedia) 타입(type), 상기 컨텐츠의 아날로그(analog) 카피 보호 정보, 및 출력 모드에서의 상기 컨텐츠의 그림 사이즈를 판별하기 위한 영역을 포함하는 제2 카피 제어 정보를 생성하는 단계;
    상기 컨텐츠 전송 장치가, 상기 컨텐츠 전송 장치로부터 상기 컨텐츠 수신 장치에 상기 컨텐츠를 전송하기에 앞서 상기 컨텐츠를 암호화하는 컨텐츠 키를 생성하기 위해 이용되는 난수 또는 의사 난수(논스; nonce)를 생성하는 단계; 및
    상기 컨텐츠 전송 장치가, 상기 제1 카피 제어 정보, 상기 제2 카피 제어 정보, 상기 생성된 논스, 및 상기 컨텐츠를 소정의 컨텐츠 키로 암호화함으로써 획득되는 페이로드(payload)를 포함하는 헤더(header)를 포함하는 패킷을 생성하여 상기 컨텐츠 수신 장치에 전송하는 단계;
    를 포함하고,
    상기 헤더는, 상기 논스를 전송하기 위한 64비트 중 소정의 비트 길이를 가지는 필드를 포함하며,
    상기 패킷은, 상기 제2 카피 제어 정보가 상기 논스를 전송하기 위한 상기 필드 내에 매립된 형태로 전송되는, 컨텐츠 전송 방법.
  13. 제12항에 있어서,
    상기 제1 카피 제어 정보를 기록하는 필드를 포함하는 상기 헤더와, 컨텐츠 매립형 카피 제어 정보를 매립한 컨텐츠를 포함하는 페이로드로 구성된 형식의 상기 패킷을 사용함으로써 컨텐츠 전송이 행해지는 전송 시스템 환경 하에서, 상기 생성된 제2 카피 제어 정보가, 상기 헤더에 포함된 상기 제2 카피 제어 정보의 유효성을 나타내는 모드 정보를 포함하는, 컨텐츠 전송 방법.
  14. 제13항에 있어서,
    상기 전송 시스템 환경 하에서는, 상기 컨텐츠의 포맷의 인식 가능성에 따라 상기 컨텐츠의 카피 제어를 실시하는 인식 기능이 제공되고,
    상기 헤더 내의 상기 제2 카피 제어 정보에 포함되는 상기 모드 정보와, 상기 페이로드 내의 상기 컨텐츠 매립형 카피 제어 정보의 조합에 따라 상기 인식 기능이 실현되는, 컨텐츠 전송 방법.
  15. 제12항에 있어서,
    상기 제2 카피 제어 정보의 상기 적어도 8비트에 의해 미리 정해진 비트 길이보다 짧은 의사(擬似) 논스를 생성하는 단계를 더 포함하고,
    상기 패킷을 생성하여 상기 컨텐츠 수신 장치에 전송하는 단계가, 상기 제2 카피 제어 정보의 상기 비트와 상기 의사 논스를 결합함으로써 형성되는 논스에 따라 생성되는 컨텐츠 키를 사용하여 상기 컨텐츠를 암호화하는 단계를 포함하는, 컨텐츠 전송 방법.
  16. 제12항에 있어서,
    상기 컨텐츠 수신 장치로부터의 요구에 따라 상기 패킷의 상기 헤더에 포함된 상기 논스를 검증함으로써 상기 컨텐츠 키를 확인하는 단계를 더 포함하고,
    상기 논스의 검증을 위한 상기 컨텐츠 수신 장치로부터의 요구에 따라, 상기 검증이 요구된 논스와 상기 제2 카피 제어 정보가 매립된 상기 논스를 비교함으로써 상기 검증이 요구된 논스가 검증되는, 컨텐츠 전송 방법.
  17. 제12항에 있어서,
    상기 인증 수속을 행하는 단계가, 상기 컨텐츠 수신 장치에 전송되는 인증용 커맨드 내에 상기 전송을 나타내는 정보를 기재하는 단계를 포함하는, 컨텐츠 전송 방법.
  18. 제17항에 있어서,
    상기 인증 수속을 행하는 단계가, 챌린지·앤드·리스폰스 인증 수속에서의 챌린지용 커맨드에 포함되는 기기 증명서 내에, 상기 제1 카피 제어 정보 및 상기 제2 카피 제어 정보가 상기 헤더 내에 포함되어 있음을 나타내는 플래그를 셋팅하는 단계를 포함하는, 컨텐츠 전송 방법.
  19. 제17항에 있어서,
    상기 인증 수속을 행하는 단계가, 챌린지·앤드·리스폰스 인증 수속에서의 리스폰스용 커맨드에 포함되는 메시지 내에, 상기 제1 카피 제어 정보 및 상기 제2 카피 제어 정보가 상기 헤더 내에 포함되어 있음을 나타내는 플래그를 셋팅하는 단계를 포함하는, 컨텐츠 전송 방법.
  20. 제17항에 있어서,
    상기 인증 수속을 행하는 단계가, 상기 컨텐츠 수신 장치로부터의 요구 커맨드에 응하여 상기 정보를 기재하는 단계를 포함하는, 컨텐츠 전송 방법.
  21. 컨텐츠 전송 장치에 의해 실행되는 프로그램을 포함하는, 컴퓨터가 판독 가능한 기록매체로서,
    상기 컨텐츠 전송 장치와 컨텐츠 수신 장치 사이에서 인증 수속을 행하는 단계;
    적어도 4비트(bit)를 포함하여 적어도 상기 컨텐츠의 카피가 허용되는지의 여부를 나타내는 제1 카피 제어 정보를 생성하는 단계;
    적어도 8비트를 포함하여 적어도 상기 컨텐츠의 멀티미디어(multimedia) 타입(type), 상기 컨텐츠의 아날로그(analog) 카피 보호 정보, 및 출력 모드에서의 상기 컨텐츠의 그림 사이즈를 판별하기 위한 영역을 포함하는 제2 카피 제어 정보를 생성하는 단계;
    상기 컨텐츠 전송 장치로부터 상기 컨텐츠 수신 장치에 상기 컨텐츠를 전송하기에 앞서 상기 컨텐츠를 암호화하는 컨텐츠 키를 생성하기 위해 이용되는 난수 또는 의사 난수(논스;nonce)를 생성하는 단계; 및
    상기 제1 카피 제어 정보, 상기 제2 카피 제어 정보, 상기 생성된 논스, 및 상기 컨텐츠를 소정의 컨텐츠 키로 암호화함으로써 획득되는 페이로드(payload)를 포함하는 헤더(header)를 포함하는 패킷을 생성하여 상기 컨텐츠 수신 장치에 전송하는 단계 - 상기 헤더는 상기 논스를 전송하기 위한 64비트 중 소정의 비트 길이를 가지는 필드를 포함하며, 상기 패킷은 상기 제2 카피 제어 정보가 상기 논스를 전송하기 위한 상기 필드 내에 매립된 형태로 전송됨 -;
    를 상기 컨텐츠 전송 장치로 하여금 행하도록 하는 프로그램을 포함하는, 컴퓨터가 판독 가능한 기록매체.
  22. 컨텐츠를 전송하는 컨텐츠 전송 장치로서,
    상기 컨텐츠를 저장하도록 구성된 메모리;
    상기 컨텐츠 전송 장치와 컨텐츠 수신 장치 사이에서 인증 수속을 행하고; 상기 컨텐츠에 관한 카피 제어 정보를 기술(記述;describing)하는 제1 카피 제어 정보를 처리하며; 상기 제1 카피 제어 정보 이외의 컨텐츠 정보를 포함하는 제2 카피 제어 정보를 처리하도록 구성된 프로세서; 및
    상기 컨텐츠 수신 장치에, 상기 제1 카피 제어 정보 및 상기 제2 카피 제어 정보를 포함하는 헤더(header)와, 상기 컨텐츠를 소정의 컨텐츠 키로 암호화함으로써 획득되는 페이로드(payload)를 포함하는 패킷을 전송하도록 구성된 통신 인터페이스
    를 포함하고,
    상기 제1 카피 제어 정보를 기록하는 필드를 포함하는 헤더와, 컨텐츠 매립형 카피 제어 정보를 매립한 컨텐츠를 포함하는 페이로드로 구성된 형식의 패킷을 사용함으로써 컨텐츠 전송이 행해지는 전송 시스템 환경 하에서 동작하는, 컨텐츠 전송 장치.
  23. 제22항에 있어서,
    상기 프로세서에 의해 처리된 상기 제2 카피 제어 정보가, 상기 헤더에 포함된 상기 제2 카피 제어 정보의 유효성을 나타내는 모드 정보를 포함하는, 컨텐츠 전송 장치.
  24. 제22항 또는 제23항에 있어서,
    상기 전송 시스템 환경 하에서는, 상기 컨텐츠의 포맷의 인식 가능성에 따라 상기 컨텐츠의 카피 제어를 실시하는 인식 기능이 제공되고,
    상기 프로세서가, 상기 헤더 내의 상기 제2 카피 제어 정보에 포함되는 상기 모드 정보와, 상기 페이로드 내의 상기 컨텐츠 매립형 카피 제어 정보의 조합에 따라 상기 인식 기능을 실현하도록 더 구성된, 컨텐츠 전송 장치.
  25. 제22항에 있어서,
    상기 프로세서가, 적어도 8비트를 포함하는 상기 제2 카피 제어 정보의 상기 적어도 8비트에 의해 미리 정해진 비트 길이보다 짧은 의사(擬似) 논스를 생성하고; 상기 제2 카피 제어 정보의 상기 비트와 상기 의사 논스를 결합함으로써 형성되는 논스에 따라 생성되는 컨텐츠 키를 사용하여 상기 컨텐츠를 암호화하도록 더 구성된, 컨텐츠 전송 장치.
  26. 제25항에 있어서,
    상기 프로세서가, 상기 컨텐츠 수신 장치로부터의 요구에 따라 상기 패킷의 상기 헤더에 포함된 상기 논스의 검증을 행하고; 상기 논스의 검증을 위한 상기 컨텐츠 수신 장치로부터의 요구에 따라, 상기 검증이 요구된 논스와 상기 제2 카피 제어 정보가 매립된 상기 논스를 비교함으로써 상기 검증이 요구된 논스를 검증하도록 더 구성된, 컨텐츠 전송 장치.
  27. 제22항에 있어서,
    상기 프로세서가, 상기 컨텐츠 수신 장치에 전송되는 인증용 커맨드 내에 상기 전송을 나타내는 정보를 기재하는, 컨텐츠 전송 장치.
  28. 제27항에 있어서,
    상기 프로세서가, 챌린지·앤드·리스폰스 인증 수속에서의 챌린지용 커맨드에 포함되는 기기 증명서 내에, 상기 제1 카피 제어 정보 및 상기 제2 카피 제어 정보가 상기 헤더 내에 포함되어 있음을 나타내는 플래그(flag)를 셋팅하는, 컨텐츠 전송 장치.
  29. 제27항에 있어서,
    상기 프로세서가, 챌린지·앤드·리스폰스 인증 수속에서의 리스폰스용 커맨드에 포함되는 메시지 내에, 상기 제1 카피 제어 정보 및 상기 제2 카피 제어 정보가 상기 헤더 내에 포함되어 있음을 나타내는 플래그를 셋팅하는, 컨텐츠 전송 장치.
  30. 제27항에 있어서,
    상기 프로세서가, 상기 컨텐츠 수신 장치로부터의 요구 커맨드에 응하여 상기 정보를 기재하는, 컨텐츠 전송 장치.
  31. 제22항에 있어서,
    상기 제2 카피 제어 정보가 임베디드 CCI(Embedded Copy Control Information)의 대용(substitute)인지 여부를 판별하는 영역을 포함하는, 컨텐츠 전송 장치.
  32. 제25항에 있어서,
    상기 제2 카피 제어 정보가, 상기 의사 논스가 증가하는 경우에도 상기 제2 카피 제어 정보는 영향을 받지 않는다는 것을 나타내는 영역을 포함하는, 컨텐츠 전송 장치.
  33. 컨텐츠를 전송하는 컨텐츠 전송 장치에 의해 행해지는 컨텐츠 전송 방법으로서,
    상기 컨텐츠 전송 장치와 컨텐츠 수신 장치 사이에서 인증 수속을 행하는 단계;
    상기 컨텐츠 전송 장치의 프로세서가, 상기 컨텐츠에 관한 카피 제어 정보를 기술(記述;describing)하는 제1 카피 제어 정보를 처리하는 단계;
    상기 컨텐츠 전송 장치의 프로세서가, 상기 제1 카피 제어 정보 이외의 컨텐츠 정보를 포함하는 제2 카피 제어 정보를 처리하는 단계; 및
    상기 컨텐츠 전송 장치의 통신 인터페이스가, 상기 컨텐츠 수신 장치에, 상기 제1 카피 제어 정보 및 상기 제2 카피 제어 정보를 포함하는 헤더(header)와, 상기 컨텐츠를 소정의 컨텐츠 키로 암호화함으로써 획득되는 페이로드(payload)를 포함하는 패킷을 전송하는 단계;
    를 포함하고,
    상기 컨텐츠 전송 방법이, 상기 제1 카피 제어 정보를 기록하는 필드를 포함하는 헤더와, 컨텐츠 매립형 카피 제어 정보를 매립한 컨텐츠를 포함하는 페이로드로 구성된 형식의 패킷을 사용함으로써 컨텐츠 전송이 행해지는 전송 시스템 환경 하에서 행해지는, 컨텐츠 전송 방법.
  34. 제33항에 있어서,
    상기 프로세서에 의해 처리된 상기 제2 카피 제어 정보가, 상기 헤더에 포함된 상기 제2 카피 제어 정보의 유효성을 나타내는 모드 정보를 포함하는, 컨텐츠 전송 방법.
  35. 제33항 또는 제34항에 있어서,
    상기 전송 시스템 환경 하에서는, 상기 컨텐츠의 포맷의 인식 가능성에 따라 상기 컨텐츠의 카피 제어를 실시하는 인식 기능이 제공되고,
    상기 헤더 내의 상기 제2 카피 제어 정보에 포함되는 상기 모드 정보와, 상기 페이로드 내의 상기 컨텐츠 매립형 카피 제어 정보의 조합에 따라 상기 인식 기능이 실현되는, 컨텐츠 전송 방법.
  36. 제33항에 있어서,
    적어도 8비트를 포함하는 상기 제2 카피 제어 정보의 상기 적어도 8비트에 의해 미리 정해진 비트 길이보다 짧은 의사(擬似) 논스를 생성하고, 상기 제2 카피 제어 정보의 상기 비트와 상기 의사 논스를 결합함으로써 형성되는 논스에 따라 생성되는 컨텐츠 키를 사용하여 상기 컨텐츠를 암호화하는 단계를 더 포함하는, 컨텐츠 전송 방법.
  37. 제36항에 있어서,
    상기 컨텐츠 수신 장치로부터의 요구에 따라 상기 패킷의 상기 헤더에 포함된 상기 논스를 검증함으로써 상기 컨텐츠 키를 확인하는 단계를 더 포함하고,
    상기 논스의 검증을 위한 상기 컨텐츠 수신 장치로부터의 요구에 따라, 상기 검증이 요구된 논스와 상기 제2 카피 제어 정보가 매립된 상기 논스를 비교함으로써 상기 검증이 요구된 논스가 검증되는, 컨텐츠 전송 방법.
  38. 제33항에 있어서,
    상기 인증 수속을 행하는 단계가, 상기 컨텐츠 수신 장치에 전송되는 인증용 커맨드 내에 상기 전송을 나타내는 정보를 기재하는 단계를 포함하는, 컨텐츠 전송 방법.
  39. 제38항에 있어서,
    상기 인증 수속을 행하는 단계가, 챌린지·앤드·리스폰스 인증 수속에서의 챌린지용 커맨드에 포함되는 기기 증명서 내에, 상기 제1 카피 제어 정보 및 상기 제2 카피 제어 정보가 상기 헤더 내에 포함되어 있음을 나타내는 플래그를 셋팅하는 단계를 포함하는, 컨텐츠 전송 방법.
  40. 제38항에 있어서,
    상기 인증 수속을 행하는 단계가, 챌린지·앤드·리스폰스 인증 수속에서의 리스폰스용 커맨드에 포함되는 메시지 내에, 상기 제1 카피 제어 정보 및 상기 제2 카피 제어 정보가 상기 헤더 내에 포함되어 있음을 나타내는 플래그를 셋팅하는 단계를 포함하는, 컨텐츠 전송 방법.
  41. 제38항에 있어서,
    상기 인증 수속을 행하는 단계가, 상기 컨텐츠 수신 장치로부터의 요구 커맨드에 응하여 상기 정보를 기재하는 단계를 포함하는, 컨텐츠 전송 방법.
  42. 컨텐츠를 수신하는 컨텐츠 수신 장치로서,
    상기 컨텐츠 수신 장치와 컨텐츠 전송 장치 사이에서 인증 수속을 행하도록 구성된 프로세서;
    제1 카피 제어 정보 및 제2 카피 제어 정보를 포함하는 헤더와, 컨텐츠 키에 의해 암호화된 컨텐츠를 포함하는 페이로드를 포함하는 패킷을 수신하도록 구성된 통신 유닛; 및
    상기 컨텐츠 전송 장치로부터 전송된 상기 컨텐츠를 재생하도록 구성된 재생 유닛
    을 포함하고,
    상기 패킷은, 상기 제2 카피 제어 정보가 논스를 전송하기 위한 필드 내에 매립된 형태로 전송되는, 컨텐츠 수신 장치.
  43. 제42항에 있어서,
    상기 제1 카피 제어 정보와 상기 제2 카피 제어 정보에 따라 상기 컨텐츠를 기록하도록 구성된 기록 유닛을 더 포함하는, 컨텐츠 수신 장치.
  44. 제42항에 있어서,
    사용자의 동작을 수신하도록 동작하는 동작 유닛; 및
    상기 동작에 따라 상기 컨텐츠 전송 장치에 상기 컨텐츠를 요구하도록 구성된 컨텐츠 요구 유닛
    을 더 포함하고,
    상기 통신 유닛이, 상기 컨텐츠 전송 장치로부터 전송된 상기 요구에 대응하는 상기 패킷을 수신하는, 컨텐츠 수신 장치.
  45. 컨텐츠를 수신하는 컨텐츠 수신 장치에 의해 행해지는 컨텐츠 수신 방법으로서,
    상기 컨텐츠 수신 장치의 프로세서가, 상기 컨텐츠 수신 장치와 컨텐츠 전송 장치 사이에서 인증 수속을 행하는 단계;
    상기 컨텐츠 수신 장치의 통신 유닛이, 제1 카피 제어 정보 및 제2 카피 제어 정보를 포함하는 헤더와, 컨텐츠 키에 의해 암호화된 컨텐츠를 포함하는 페이로드를 포함하는 패킷을 수신하는 단계; 및
    상기 컨텐츠 수신 장치의 재생 유닛이, 상기 컨텐츠 전송 장치로부터 전송된 상기 컨텐츠를 재생하는 단계
    를 포함하고,
    상기 패킷은, 상기 제2 카피 제어 정보가 논스를 전송하기 위한 필드 내에 매립된 형태로 전송되는, 컨텐츠 수신 방법.
  46. 제45항에 있어서,
    상기 컨텐츠 수신 장치의 기록 유닛이, 상기 제1 카피 제어 정보와 상기 제2 카피 제어 정보에 따라 상기 컨텐츠를 기록하는 단계를 더 포함하는, 컨텐츠 수신 방법.
  47. 제45항에 있어서,
    상기 컨텐츠 수신 장치의 동작 유닛이 사용자의 동작을 수신하는 단계;
    상기 컨텐츠 수신 장치의 컨텐츠 요구 유닛이, 상기 동작에 따라 상기 컨텐츠 전송 장치에 상기 컨텐츠를 요구하는 단계; 및
    상기 통신 유닛이, 상기 컨텐츠 전송 장치로부터 전송된 상기 요구에 대응하는 상기 패킷을 수신하는 단계
    를 더 포함하는, 컨텐츠 수신 방법.
KR1020060091741A 2005-10-04 2006-09-21 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및컴퓨터·프로그램 KR101321860B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00290753 2005-10-04
JP2005290753A JP4581955B2 (ja) 2005-10-04 2005-10-04 コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
KR20070037994A KR20070037994A (ko) 2007-04-09
KR101321860B1 true KR101321860B1 (ko) 2013-10-25

Family

ID=37496790

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060091741A KR101321860B1 (ko) 2005-10-04 2006-09-21 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및컴퓨터·프로그램

Country Status (5)

Country Link
US (4) US8098388B2 (ko)
EP (2) EP2728863A1 (ko)
JP (1) JP4581955B2 (ko)
KR (1) KR101321860B1 (ko)
CN (1) CN1946080B (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4581955B2 (ja) * 2005-10-04 2010-11-17 ソニー株式会社 コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム
JP4693803B2 (ja) * 2007-03-12 2011-06-01 コニカミノルタビジネステクノロジーズ株式会社 Httpサーバ及びプログラム
US8116454B2 (en) 2007-07-23 2012-02-14 Savi Technology, Inc. Method and apparatus for providing security in a radio frequency identification system
US8234718B2 (en) * 2007-07-31 2012-07-31 Samsung Electronics Co., Ltd. Method and apparatus for forbidding use of digital content against copy control information
CN101436930A (zh) 2007-11-16 2009-05-20 华为技术有限公司 一种密钥分发的方法、系统和设备
JP4439558B2 (ja) * 2007-12-27 2010-03-24 株式会社東芝 コンテンツ鍵生成装置、コンテンツ受信装置およびコンテンツ伝送方法
US8509439B2 (en) * 2007-12-31 2013-08-13 Intel Corporation Assigning nonces for security keys
JP5118543B2 (ja) * 2008-04-11 2013-01-16 パナソニック株式会社 Avデータ送信装置、avデータ受信装置及びavデータ送受信システム
US7793001B2 (en) * 2008-05-09 2010-09-07 Microsoft Corporation Packet compression for network packet traffic analysis
US20100014671A1 (en) * 2008-06-19 2010-01-21 General Instrument Corporation Secure interchip transport interface
US7961656B2 (en) * 2008-09-29 2011-06-14 Intel Corporation Protocol extensions in a display port compatible interface
JP5315542B2 (ja) * 2008-10-03 2013-10-16 日立コンシューマエレクトロニクス株式会社 コンテンツ送信方法及びコンテンツ送信装置、コンテンツ受信方法及びコンテンツ受信装置
US8274501B2 (en) 2008-11-18 2012-09-25 Intel Corporation Techniques to control self refresh display functionality
US9865233B2 (en) * 2008-12-30 2018-01-09 Intel Corporation Hybrid graphics display power management
JP5330512B2 (ja) * 2009-06-12 2013-10-30 株式会社東芝 情報処理装置
US8823721B2 (en) * 2009-12-30 2014-09-02 Intel Corporation Techniques for aligning frame data
US8643658B2 (en) * 2009-12-30 2014-02-04 Intel Corporation Techniques for aligning frame data
JP5571998B2 (ja) 2010-04-02 2014-08-13 日立コンシューマエレクトロニクス株式会社 コンテンツ送信方法、コンテンツ送信装置、およびコンテンツ受信装置
US8751795B2 (en) 2010-09-14 2014-06-10 Mo-Dv, Inc. Secure transfer and tracking of data using removable non-volatile memory devices
US8941592B2 (en) 2010-09-24 2015-01-27 Intel Corporation Techniques to control display activity
US9052902B2 (en) 2010-09-24 2015-06-09 Intel Corporation Techniques to transmit commands to a target device to reduce power consumption
KR20130040090A (ko) * 2011-10-13 2013-04-23 삼성전자주식회사 복합 네트워크에서 멀티미디어 데이터를 전송하기 위한 장치 및 그 방법
US9026789B2 (en) 2011-12-23 2015-05-05 Blackberry Limited Trusted certificate authority to create certificates based on capabilities of processes
CN103369356A (zh) * 2012-02-29 2013-10-23 三星电子株式会社 数据发送器、数据接收器、数据收发系统及其方法
WO2013129785A1 (en) * 2012-02-29 2013-09-06 Samsung Electronics Co., Ltd. Data transmitter, data receiver, data transceiving system, data transmitting method, data receiving method, and data transceiving method
US9124911B2 (en) 2013-02-15 2015-09-01 Cox Communications, Inc. Storage optimization in a cloud-enabled network-based digital video recorder
US9450934B2 (en) 2013-03-15 2016-09-20 Cox Communications, Inc. Managed access to content and services
US9698991B2 (en) 2013-03-15 2017-07-04 Ologn Technologies Ag Systems, methods and apparatuses for device attestation based on speed of computation
US10177915B2 (en) 2013-03-15 2019-01-08 Ologn Technologies Ag Systems, methods and apparatuses for device attestation based on speed of computation
JP2014211767A (ja) * 2013-04-18 2014-11-13 富士通株式会社 情報処理システム、制御装置及び情報処理システムの制御方法
KR101759039B1 (ko) * 2013-06-21 2017-07-17 제너럴 인스트루먼트 코포레이션 Hls를 위한 dtcp 컨버터
JP6390618B2 (ja) * 2013-07-19 2018-09-19 ソニー株式会社 コンテンツ送信装置及びコンテンツ送信方法、コンテンツ受信装置及びコンテンツ受信方法、コンピューター・プログラム、並びにコンテンツ伝送システム
JP2015103890A (ja) * 2013-11-22 2015-06-04 ソニー株式会社 コンテンツ受信装置及びコンテンツ受信方法、並びにコンテンツ送信装置及びコンテンツ送信方法
JP6398241B2 (ja) * 2014-03-20 2018-10-03 富士ゼロックス株式会社 パケット生成装置及びプログラム
TWI736542B (zh) * 2015-08-06 2021-08-21 日商新力股份有限公司 資訊處理裝置、資料配訊伺服器及資訊處理方法、以及非暫時性電腦可讀取之記錄媒體
CN105578466A (zh) * 2015-12-23 2016-05-11 成都云晖航空科技股份有限公司 一种空中娱乐文件传输方法
CN105554511A (zh) * 2015-12-24 2016-05-04 成都云晖航空科技股份有限公司 一种机上影音文件加密传输方法
CN105635127A (zh) * 2015-12-24 2016-06-01 成都云晖航空科技股份有限公司 一种机上影音文件传输系统
EP3361737A1 (en) * 2017-02-09 2018-08-15 Nagravision SA Protecting media content
US12132699B2 (en) * 2018-07-26 2024-10-29 Secturion Systems, Inc. In-line transmission control protocol processing engine using a systolic array
KR101983045B1 (ko) * 2019-02-25 2019-09-03 삼성전자주식회사 복합 네트워크에서 멀티미디어 데이터를 전송하기 위한 장치 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005190350A (ja) * 2003-12-26 2005-07-14 Toshiba Corp コンテンツ送信装置及びコンテンツ送信方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10302391A (ja) * 1997-04-22 1998-11-13 Matsushita Electric Ind Co Ltd データ転送方法
JP3880701B2 (ja) * 1997-09-09 2007-02-14 株式会社東芝 コピープロテクト方法及び記録再生装置
JP2000040294A (ja) * 1998-05-20 2000-02-08 Sony Corp 情報処理装置および方法、並びに記録媒体
JP3547641B2 (ja) * 1999-04-06 2004-07-28 松下電器産業株式会社 送信装置、受信装置及びプログラム記録媒体
JP3020953B2 (ja) * 1999-06-23 2000-03-15 株式会社東芝 ディジタルインタ―フェ―スを有する装置
JP4269501B2 (ja) * 2000-09-07 2009-05-27 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
JP2002261748A (ja) * 2000-12-28 2002-09-13 Sony Corp データ送信装置及び方法並びにデータ記録装置及び方法
JP4934923B2 (ja) * 2001-08-09 2012-05-23 ソニー株式会社 情報記録装置、情報再生装置、および情報記録方法、情報再生方法、並びにコンピュータ・プログラム
EP1304844B1 (en) 2001-10-19 2007-04-04 Sony Deutschland GmbH Content protection and copy management system for a network
KR20050061395A (ko) * 2002-09-30 2005-06-22 마쯔시다덴기산교 가부시키가이샤 컨텐츠 이용 장치
GB0226661D0 (en) * 2002-11-15 2002-12-24 Koninkl Philips Electronics Nv Asynchronous communication system
JP2004328706A (ja) * 2003-03-05 2004-11-18 Toshiba Corp 送信装置、受信装置、送信制御プログラム及び受信制御プログラム
EP1693999A4 (en) * 2003-12-11 2011-09-14 Panasonic Corp PACKET TRANSMITTER APPARATUS
JP4626221B2 (ja) * 2004-06-24 2011-02-02 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP4581955B2 (ja) * 2005-10-04 2010-11-17 ソニー株式会社 コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005190350A (ja) * 2003-12-26 2005-07-14 Toshiba Corp コンテンツ送信装置及びコンテンツ送信方法
US20050193194A1 (en) 2003-12-26 2005-09-01 Takashi Kokubo Contents transmitting apparatus and method of transmitting contents

Also Published As

Publication number Publication date
EP1773060B1 (en) 2019-09-18
US8363258B2 (en) 2013-01-29
US9055353B2 (en) 2015-06-09
US20150154999A1 (en) 2015-06-04
JP2007104236A (ja) 2007-04-19
EP1773060A2 (en) 2007-04-11
KR20070037994A (ko) 2007-04-09
US20120096260A1 (en) 2012-04-19
US20070091359A1 (en) 2007-04-26
EP2728863A1 (en) 2014-05-07
US20130067223A1 (en) 2013-03-14
CN1946080A (zh) 2007-04-11
EP1773060A3 (en) 2013-01-09
US8098388B2 (en) 2012-01-17
JP4581955B2 (ja) 2010-11-17
CN1946080B (zh) 2010-11-03

Similar Documents

Publication Publication Date Title
KR101321860B1 (ko) 컨텐츠 전송 장치 및 컨텐츠 전송 방법, 및컴퓨터·프로그램
JP4518058B2 (ja) コンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム
US8527764B2 (en) Method and system for secure communication
JP4350714B2 (ja) 送信装置、受信装置及び送信方法
JP3814620B2 (ja) 情報処理装置および情報処理方法
JP5001164B2 (ja) 送信側の記録再生装置、avデータ送信方法、及びプログラム
KR20070078065A (ko) 컨텐츠 전송 시스템, 컨텐츠 전송 장치 및 컨텐츠 전송방법, 및 컴퓨터 프로그램
US8892902B2 (en) Information processing apparatus and information processing method
JP4883199B2 (ja) コンテンツ伝送システム、コンテンツ伝送装置及びコンテンツ伝送方法、並びにコンピュータ・プログラム
JP5334989B2 (ja) クラスタ基盤のコンテンツ使用制御及びコンテンツ使用方法、コンテンツ接近権限認証方法、装置及び記録媒体
JP4956845B2 (ja) 情報処理装置、秘密情報保護システムおよび秘密情報保護方法
US8707033B2 (en) Information processing apparatus and information processing method
JP4736603B2 (ja) 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
JP2004312216A (ja) データ伝送装置、データ伝送装置の識別情報管理装置、データ伝送装置の管理システム、及びデータ伝送装置の管理方法
JP2007036952A (ja) 情報通信装置及び情報通信方法、並びにコンピュータ・プログラム
JP2009147952A (ja) 送信装置、受信装置及び送信方法

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20060921

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20110825

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20060921

Comment text: Patent Application

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20121030

Patent event code: PE09021S01D

PE0902 Notice of grounds for rejection

Comment text: Final Notice of Reason for Refusal

Patent event date: 20130429

Patent event code: PE09021S02D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20130719

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20131018

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20131018

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20161007

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20161007

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20171011

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20181005

Start annual number: 6

End annual number: 6