KR101873230B1 - 세컨더리 채널 상의 부분 인증을 통한 콘텐트의 내부 프로세싱을 위한 메커니즘 - Google Patents

세컨더리 채널 상의 부분 인증을 통한 콘텐트의 내부 프로세싱을 위한 메커니즘 Download PDF

Info

Publication number
KR101873230B1
KR101873230B1 KR1020137004563A KR20137004563A KR101873230B1 KR 101873230 B1 KR101873230 B1 KR 101873230B1 KR 1020137004563 A KR1020137004563 A KR 1020137004563A KR 20137004563 A KR20137004563 A KR 20137004563A KR 101873230 B1 KR101873230 B1 KR 101873230B1
Authority
KR
South Korea
Prior art keywords
content
values
authentication
bridge
data stream
Prior art date
Application number
KR1020137004563A
Other languages
English (en)
Other versions
KR20130132759A (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 KR20130132759A publication Critical patent/KR20130132759A/ko
Application granted granted Critical
Publication of KR101873230B1 publication Critical patent/KR101873230B1/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43632Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • H04N21/43635HDMI
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • 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/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명의 실시형태들은 일반적으로, 세컨더리 채널의 부분 인증을 통해 콘텐트의 프로세싱을 수행하는 것에 관한 것이다. 방법의 실시형태는 데이터 스트림들의 통신을 위해 소스 송신 디바이스와 싱크 수신 디바이스 간의 제 1 인증을 수행하는 단계, 및 제 2 인증이 제 1 인증에 독립적이고 싱크 수신 디바이스가 제 2 인증에 의해 영향을 받지 않은 채로 유지되도록 소스 송신 디바이스와 브리지 디바이스 간의 제 2 인증을 수행하는 단계를 포함한다. 브리지 디바이스는 소스 송신 디바이스 및 싱크 수신 디바이스에 커플링된 중간 캐리어 디바이스를 포함한다. 방법은, 암호화된 콘텐트를 갖는 데이터 스트림을 소스 송신 디바이스로부터 브리지 디바이스로 송신하는 단계를 더 포함한다.

Description

세컨더리 채널 상의 부분 인증을 통한 콘텐트의 내부 프로세싱을 위한 메커니즘{MECHANISM FOR INTERNAL PROCESSING OF CONTENT THROUGH PARTIAL AUTHENTICATION ON SECONDARY CHANNEL}
본 발명의 실시형태들은 일반적으로 데이터 통신들의 분야에 관한 것으로, 보다 구체적으로는 세컨더리 채널의 부분 인증 (partial authentication) 을 통해 콘텐트의 프로세싱을 수행하는 것에 관한 것이다.
고화질 멀티미디어 인터페이스 (High-Definition Multimedia Interface; HDMI™) 또는 모바일 고화질 링크 (High-Definition Link; MHL™) 를 포함하는, 디지털 인터페이스들을 통해 송신된 콘텐트 또는 데이터의 암호화를 위해 제공하는, 디지털 콘텐트 보호를 위한 고대역폭 디지털 콘텐트 보호 (High-bandwidth Digital Content Protection; HDCP™) 가 이용된다. 오늘날의 HDCP-보호 데이터 스트림에서, 중간 캐리어 (또한, "브리지" 디바이스로도 지칭됨) 는 완전한 암호화 엔진 뿐만 아니라 (또한, "소스" 디바이스로도 지칭된 업스트림 송신 디바이스에서 암호화되는) 전체 데이터 스트림을 해독하기 위한 해독 엔진을 이용하여, 데이터 스트림의 콘텐트를 측정 및 프로세싱하고, 추가로 전체 데이터 스트림이 다음 다운스트림 수신 디바이스 (또한, "싱크" 디바이스로도 지칭됨) 로 전송되기 전에 그것을 재-암호화해야 한다. HDCP 사양에서, 이 프로세스는 "중계기 (repeater)" 로서 지칭된다. 브리지 디바이스에서 완전한 암호화 및 해독 엔진들을 갖는 것은, 추가의 테스트 등을 요구하는 2 개의 완전한 키 세트들을 갖기 위한 추가의 비용들을 취하기 때문에, 예컨대 전력 및 다이 공간을 소비하는 관점에서 비경제적이다.
암호화된 데이터 스트림들을 제공 및 검출, 예컨대, 데이터 스트림의 암호화가 인에이블 또는 디스에이블되는지 여부를 알기 위해 소스들과 싱크들 간에 각종 시그널링 프로토콜들 (예를 들어, OESS (Original Encryption Status Signaling), EESS (Enhanced Encryption Status Signaling)) 이 사용될 수도 있다. 예를 들어, EESS 프로토콜은 HDMI 프로토콜과 사용되는 한편 (그리고 DVI™ (Digital Visual Interface) 프로토콜에서 선택적 피처임), OESS 는 DVI 프로토콜과 사용된다.
본 발명의 실시형태들은 세컨더리 채널의 부분 인증을 통해 콘텐트의 프로세싱을 수행하는 것에 관한 것이다.
본 발명의 제 1 양태에서, 방법의 실시형태는 데이터 스트림들의 통신을 위해 소스 송신 디바이스와 싱크 수신 디바이스 간의 제 1 인증을 수행하는 단계를 포함한다. 방법은, 제 2 인증이 제 1 인증에 독립적이고 싱크 수신 디바이스가 제 2 인증에 의해 영향을 받지 않은 채로 유지되도록 소스 송신 디바이스와 브리지 디바이스 간의 제 2 인증을 수행하는 단계를 더 포함한다. 브리지 디바이스는 소스 송신 디바이스 및 싱크 수신 디바이스에 커플링된 중간 캐리어 디바이스를 포함한다. 방법은 암호화된 콘텐트를 갖는 데이터 스트림을 소스 송신 디바이스로부터 브리지 디바이스로 송신하는 단계를 더 포함한다.
본 발명의 제 2 양태에서, 시스템의 실시형태는 저장 매체 및 저장 매체와 커플링된 프로세서를 갖는 데이터 프로세싱 디바이스를 포함한다. 이 데이터 프로세싱 디바이스는 싱크 수신 디바이스 및 브리지 디바이스에 커플링되는 소스 송신 디바이스를 포함한다. 이 소스 송신 디바이스는 부분 인증 메커니즘을 포함한다. 소스 송신 디바이스는 데이터 스트림들의 통신을 위해 소스 송신 디바이스와 싱크 수신 디바이스 간의 제 1 인증을 수행하고, 제 2 인증이 제 1 인증에 독립적이고 싱크 수신 디바이스가 제 2 인증에 의해 영향을 받지 않은 채로 유지되도록 소스 송신 디바이스와 브리지 디바이스 간의 제 2 인증을 수행한다. 브리지 디바이스는 소스 송신 디바이스 및 싱크 수신 디바이스에 커플링된 중간 캐리어 디바이스를 포함한다. 또한, 소스 부분 인증 메커니즘은 암호화된 콘텐트를 갖는 데이터 스트림을 소스 송신 디바이스로부터 브리지 디바이스로 송신한다.
본 발명의 제 2 양태에서, 장치의 실시형태는 인증 메커니즘을 포함하는 소스 송신 디바이스를 포함한다. 소스 송신 디바이스는 데이터 스트림들의 통신을 위해 소스 송신 디바이스와 싱크 수신 디바이스 간의 제 1 인증을 수행하고, 제 2 인증이 제 1 인증에 독립적이고 싱크 수신 디바이스가 제 2 인증에 의해 영향을 받지 않은 채로 유지되도록 소스 송신 디바이스와 브리지 디바이스 간의 제 2 인증을 수행한다. 브리지 디바이스는 소스 송신 디바이스 및 싱크 수신 디바이스에 커플링된 중간 캐리어 디바이스를 포함한다. 또한, 소스 부분 인증 메커니즘은 암호화된 콘텐트를 갖는 데이터 스트림을 소스 송신 디바이스로부터 브리지 디바이스로 송신한다.
본 발명의 실시형태들은 제한의 방식이 아닌 예의 방식으로 도시되고, 첨부 도면들에서 유사한 참조 부호들은 유사한 엘리먼트들을 지칭한다.
도 1 은 본 발명의 일 실시형태에 따른 부분 인증을 위한 시스템을 예시한다.
도 2 는 본 발명의 일 실시형태에 따른 소스 송신 디바이스를 예시한다.
도 3a 는 본 발명의 일 실시형태에 따른 브리지 디바이스를 예시한다.
도 3b 는 본 발명의 일 실시형태에 따른 싱크 수신 디바이스를 예시한다.
도 4 는 본 발명의 일 실시형태에 따른 부분 인증을 예시한다.
도 5 는 본 발명의 일 실시형태에 따른 소스 송신 디바이스를 포함하는 부분 인증을 수행하는 방법을 예시한다.
도 6 은 본 발명의 일 실시형태에 따른 브리지 디바이스를 포함하는 부분 인증을 수행하는 방법을 예시한다.
도 7 은 본 발명의 일 실시형태에 따른 싱크 수신 디바이스를 포함하는 부분 인증을 수행하는 방법을 예시한다.
도 8 은 본 발명의 실시형태들을 활용할 수 있는 시스템의 엘리먼트들을 예시한다.
본 발명의 실시형태들은 부분 인증을 수행하는 것에 관한 것이다.
본 발명의 실시형태들은 세컨더리 채널의 부분 인증을 통해 콘텐트의 프로세싱을 수행하는 것에 관한 것이다. 일 실시형태에서, 보호 데이터 스트림의 중간 캐리어 (예를 들어, 브리지 디바이스) 는 데이터 스트림의 완전한 해독을 요구함 없이, 그리고 중간 캐리어의 집적된 칩 또는 회로 (칩) 외부의 보호 콘텐트 중 어느 하나를 드러낼 위험 없이 보호 데이터 스트림의 콘텐트를 액세스, 연구, 및 변경하도록 허용된다.
수신기, 브리지 및 송신기 칩들, 예컨대 록킹 회로, 위상 동기 루프 (Phase Lock Loop; PLL), 지연 동기 루프 (Delay Lock Loop; DLL), 암호화 로직, 해독 로직, 인증 엔진, 하나 이상의 (백그라운드/포어그라운드) 프로세싱 엔진 등에서 다수의 로직/회로들이 이용될 수도 있는 것으로 고려된다. 또한, 각종 프로토콜들 (예를 들어, 암호화/해독 프로토콜, 암호화된 데이터/암호화되지 않은 데이터 검출 프로토콜 등) 은 HDCP 를 포함할 수도 있고, 데이터 신호들은 HDMI 또는 모바일 고화질 링크 (MHL) 신호들을 포함할 수도 있다. 본 발명의 실시형태들은 HDMI 및 MHL 에 한정되지 않고 임의의 다른 유형의 데이터 스트림들에 사용될 수도 있는 것으로 고려된다. 유사하게, 본 발명의 실시형태들은 HDCP 에 한정되지 않고, 다른 암호화 프로토콜들 또는 메커니즘들에 적용되고 이들과 사용될 수 있다. 그러나, HDCP, HDMI, 및 MHL 및 기술들에 대한 다른 유사한 특정 참조들이 설명의 간결성, 명료성 및 용이성을 위해 여기서 이루어진다.
도 1 은 본 발명의 일 실시형태에 따른 부분 인증을 위한 시스템을 예시한다. 부분 인증을 위한 시스템 (100) 의 예시된 실시형태는 소스 데이터 송신 디바이스 (또한, "소스 디바이스", "송신 디바이스" 또는 "강화형 송신기" 로도 지칭됨) 인 제 1 디바이스 (110), 중간 데이터 캐리어 (또한, "브리지 디바이스" 또는 "강화형 브리지" 로도 지칭됨) 인 제 2 디바이스 (120), 및 싱크 데이터 수신 디바이스 (또한, "싱크 디바이스", "수신 디바이스" 및 "강화형 수신기" 로도 지칭됨) 를 포함한다. 소스 디바이스 (110) 는 데이터 스트림들의 콘텐트의 암호화를 수행하는 암호화 엔진 (112), 및 소스 디바이스 (110) 와 싱크 디바이스 (130) 뿐만 아니라 브리지 디바이스 (120) 간의 인증을 수행하기 위한 소스 인증 엔진 (114) 을 포함한다. 소스 인증 엔진 (114) 은 소스 마스크 생성기 (172) 및 소스 동기화 메커니즘 (174) 을 포함한다.
브리지 디바이스 (120) 는 브리지 디바이스 (120) 와 소스 디바이스 (110) 간의 인증을 수행 (또는 확인) 하기 위해 브리지 인증 엔진 (126) 을 포함한다. 소스 인증 엔진 (114) 과 마찬가지로, 브리지 인증 엔진 (126) 은 브리지 마스크 생성기 (182) 및 브리지 동기화 메커니즘 (184) 을 포함한다. 브리지 디바이스 (120) 는 암호화/해독 엔진 (122) 을 더 포함한다. 일 실시형태에서, 암호화/해독 엔진 (122) 은 암호화 엔진 또는 해독 엔진으로서 기능하는 것으로 구성될 수 있는 단일 엔진을 포함하지만, 일 실시형태에 따른 브리지 디바이스 (120) 가 완전한 암호화 엔진 및 완전한 해독 엔진 양자를 이용하도록 결코 요구되지는 않는다. 싱크 디바이스 (130) 는 소스 디바이스 (110) 와의 인증을 수행하기 위한 싱크 인증 엔진 (134) 및 소스 디바이스 (110) 에서 암호화되거나 브리지 디바이스 (120) 에서 재-암호화되는 데이터 스트림의 콘텐트의 해독을 수행하기 위한 해독 엔진 (132) 을 포함한다. 일 실시형태에서, 인증 엔진들 (114, 126, 134) 각각은 소프트웨어 모듈들, 하드웨어 컴포넌트들, 및 그들의 임의의 조합, 예컨대 소프트웨어 모듈들과 하드웨어 컴포넌트들의 조합을 갖는 펌웨어를 포함하여, 본 발명의 실시형태에 따른 마스크 생성, "비밀 값들" 의 계산 및 통신, 디바이스들 (예컨대, 소스 디바이스 (110) 및 브리지 디바이스 (120)) 간의 유지 인증 동기화, 및 다른 이러한 태스크들을 포함하는 각종 인증 프로세스들을 수행한다.
통상의 데이터 스트림은 3 가지 유형의 콘텐트: 비디오 콘텐트, 오디오 콘텐트, 및 제어 콘텐트를 포함한다. 비디오 콘텐트는 비디오 데이터 주기로 운반될 수도 있고, 여기서 각 픽셀 값은 소스 디바이스 (110) 의 마스크 생성기 (172) 에 의해 생성된 마스크에 의해 암호화된다. 오디오 콘텐트는 데이터 섬 (data island) 주기 내에 패킷의 유형으로 운반되고, 여기서 각 데이터 페이로드 바이트는 소스 디바이스 (110) 의 마스크 생성기 (172) 에 의해 생성된 마스크에 의해 암호화된다. 제어 데이터는 데이터 섬 주기들 내에 상이한 유형의 패킷들로 운반되고, 여기서 각 페이로드 바이트는 소스 디바이스 생성된 마스크의 동일한 유형에 의해 암호화된다. 마스크 생성은, 비디오 데이터 주기 또는 데이터 섬 주기의 각 클록 주기 동안 어드밴싱하는, 클록 사이클에서 클록 사이클로 진행할 수도 있다. 마스크 생성기는 HDCP 사양에서 프로토콜에 따라 주기적으로 "재-키잉 (re-keyed)" 될 수도 있다.
소스 디바이스 (110) 는 암호화된 콘텐트 (142) 를 포함하는 데이터 스트림의 콘텐트를 데이터 링크 (140) 를 통해 브리지 디바이스 (120) 로 송신하고, 브리지 디바이스 (120) 는 암호화된 콘텐트 (142) 를 싱크 디바이스 (130) 로 추가로 송신한다. 커맨드 버스 (150) 는 소스 디바이스 (110) 와 브리지 디바이스 (120) 간에 커맨드들 (152) 을 송신하도록 사용될 수도 있다; 예를 들어, 커맨드는 소스 디바이스 (110) 로부터 브리지 디바이스 (120) 로 전송되고, 데이터 스트림의 콘텐트를 암호화하기 위한 소스 디바이스 (110) 의 의도를 브리지 디바이스 (120) 가 지원할 수 있다는 정보를 브리지 디바이스 (120) 로부터 다시 판독한다.
일 실시형태에서, 의사 랜덤 마스크 값을 갖고 수학적 배타적 논리합 (exclusive-OR; XOR) 함으로써 암호화된 값이 그 후 동일한 XOR 마스크 값을 사용하여 해독된다는 수학적 진리가 사용된다. 예를 들어, HDCP 에서 제 1 XOR 프로세스는 소스 디바이스 (110) 에서 수행되고, 그 후 제 2 의 그러한 프로세스가 싱크 디바이스 (130) 에서 수행된다. 종래의 브리지 디바이스에서의 "중계기" 프로세스에서는, 양자의 단계들이 수행되었으나 그럼에도 불구하고 비보호 콘텐트 스트림은 최종 디바이스의 칩의 출력 포트와 다음 디바이스의 칩의 입력 포트 사이에서와 같이, 브리지 칩 밖에서 노출된다. 종래의 "중계기" 와 달리, 여기서, 전술된 수학적 진리를 사용하는 일 실시형태에서, XOR 마스킹 기법이 브리지 디바이스 (120) 에서 이용되므로, 브리지 디바이스 (120) 에서 XOR 마스크 값을 사용함으로써 데이터 스트림의 암호화된 콘텐트 (142) 가 분석, 측정 또는 프로세싱을 위해 브리지 디바이스 (120) 에서 해독되고, 그 후 하나의 칩 내의 모든, 동일한 XOR 마스크 값을 사용하고 (완전한 암호화 엔진 및 완전한 해독 엔진을 동시에 이용할 필요가 없이) 하나의 엔진 (122) 을 사용하여 재-암호화된다. 브리지 디바이스 (120) 에서 사용되는 이 XOR 마스크 값은 오리지널 소스 디바이스 (110) 의 마스크 생성기 (172) 에 의해 생성되는 동일한 XOR 마스크 값이다. 또한, 일 실시형태에서, 동기화 메커니즘들 (174, 184) 이 이용되어 소스 디바이스 (110) 와 브리지 디바이스 (120) 간의 보호 링크 (예를 들어, 데이터 링크 (140)) 를 통해 송신되는 XOR 마스크 값들 자신들을 갖지 않고, 소스 디바이스 (110) 에서의 XOR 마스크 값들을 브리지 디바이스 (120) 에서의 XOR 마스크 값들과 동기화한다.
일 실시형태에서, HDCP 는 소스 디바이스 (110) 에서와 같이 송신 링크 (140) 의 시작에서 데이터 스트림 (예를 들어, HDMI 데이터 스트림, MHL 데이터 스트림) 의 콘텐트의 암호화를 셋업하고, 그 후 소스 마스크 생성기 (172) 를 통해 필요에 따라 그 암호화 XOR 마스크 값들을 클록 단위로 (clock-by-clock) 생성한다. 일 실시형태에서, 브리지 디바이스 (120) 에서 브리지 마스크 생성기 (182) 는, 그것이 데이터 스트림 안에서 보고 소스 디바이스 (110) 와 동기화되어 머무르는것 없이 송신 링크 (140) 를 통해 HDCP 에 관련된 규칙들을 고려하여 그 자체를 언제 어드밴싱할 지를 이해한다. 예를 들어, HDCP 의 경우, 이것은 수평적 재-키잉을 야기하기 위한 수평 동기화 (horizontal synchronization; HSYNC) 펄스, 프레임 (수직적) 재-키잉을 야기하기 위한 수직 동기화 (vertical synchronization; VSYNC) 펄스, 및 OESS 또는 EESS "CTL" 펄스를 포함하여, 다음 수신 디바이스 (예컨대, 브리지 디바이스 (120), 싱크 디바이스 (130)) 에 다음 프레임이 암호화되는지 또는 암호화되지 않는지 여부를 알린다. 일단 소스 디바이스 (110) 및 싱크 디바이스 (130) 가 초기 인증 프로세스를 완료하였으면, 소스 디바이스 (110) 는 제 1 OESS 또는 EESS 펄스를 전송하고, 소스 디바이스 (110) 및 싱크 디바이스 (130) 는 단계에서 클록 단위 및 프레임 단위 (frame-by-frame) 로 무기한으로 머무른다.
데이터 스트림의 암호화를 위해 소스 디바이스 (110) 에서 생성된 XOR 마스크 값이 해독을 위해 싱크 디바이스 (130) 에 의해 사용된 XOR 마스크 값과 동일하기 때문에, 브리지 디바이스에서 브리지 칩은 소스 디바이스 (110) 에 의해 할당된 XOR 마스크 값만을 사용하여 콘텐트 바이트들을 해독 (및 재-암호화) 하기 위한 것을 이용한다. 일 실시형태에서, 브리지 디바이스 (120) 의 단일 엔진 (126) 이 해독 엔진인 경우, 이 엔진 (126) 은 암호화 엔진으로서 그리고 소스 디바이스 (110) 의 암호화 "비밀 값들" 과 사용되도록 구성될 수 있고 또는 해독 역할에서 암호화 역할로 재구성될 수 있다. 그러나, 결코 해독 엔진 및 암호화 엔진 양자가 브리지 디바이스 (120) 에서 동시에 필요하지는 않다. 소스 디바이스 (110) 는 그것의 XOR 마스크 생성기 (172) 를 초기화하기 위해 사용하는 비밀 값들로서 알려진 값들의 세트를 포함한다. 일 실시형태에서, 소스 디바이스 (110) 는 이들 비밀 값들을 브리지 디바이스 (120) 로 트랜스퍼하고 (동등한 암호화 XOR 마스크 생성기 (182) 를 포함하는) 브리지 디바이스 (120) 로 트랜스퍼된 이들 비밀 값들을 가짐으로써, 소스 디바이스 (110) 및 브리지 디바이스 (120) 는 보호된 콘텐트 또는 비밀 정보 (비밀 값들을 포함) 중 어느 하나를 드러내지 않고 동기화되어 머무르며, 비밀 정보는 그 후 싱크 디바이스 (130) 와 같은 다운스트림 수신기로 안전하게 송신된다. 소스 디바이스 (110) 에서 비밀 값들은 싱크 디바이스 (130) 와 연관된 공중 값들로부터 부분적으로 도출될 수도 있는 것으로 고려된다.
일 실시형태에서, 먼저, 브리지 디바이스 (120) 는, 임의의 디스플레이 데이터 채널 (DDC) 트래픽이 데이터 링크 (140) 을 통해 간섭 또는 방해 없이 소스 디바이스 (110) 로부터 다운스트림 싱크 디바이스 (130) 로 패스되도록 허용함으로써 패시브 역할을 한다. 전술된 바와 같이, 소스 디바이스 (110) 및 싱크 디바이스 (130) 는 그들의 인증의 일부 (즉, 초기 인증) 을 수행하고, 초기 인증의 완료 시에 소스 디바이스 (110) 는, 소스 디바이스 (110) 로부터 HDCP 트래픽에 대한 DDC 버스를 삭제함으로써 액티브 역할을 하도록 브리지 디바이스 (120) 에 지시한다. 소스 디바이스 (110) 와 브리지 디바이스 (120) 간의 이 커맨드는 그들 각각의 인증 메커니즘들 (114, 126) 을 통해 통신될 수도 있다. 이 기법은, HDMI 에서, 브리지 디바이스 (120) 에 대한 DDC 버스 상에 새로운 디바이스 어드레스를 할당함으로써, 또는 DDC 상의 HDCP 수신기 디바이스 어드레스들에서 새로운 레지스터 오프셋들을 할당함으로써 수행되고; 유사하게, MHL 에서 이것은 소스 디바이스 (110) 와 브리지 디바이스 (120) 간의 CBUS 상에서 수행된다. 브리지 디바이스 (120) 의 암호화/해독 엔진 (122) 은 해독 엔진으로서 기능하도록 사용 (또는 구성) 되는 한편, 소스 디바이스 (110) 는 브리지 디바이스 (120) 와의 HDCP 인증을 수행하고 2 개의 디바이스들 (110, 120) 간의 이 인터페이스를 통해 신뢰된 링크를 확립한다. 소스 디바이스 (110) 는 그 후, 초기 소스-투-싱크 인증 동안 계산 및 통신된 비밀 값들을 새롭게 확립되고 신뢰된 소스-투-브리지 링크 상에서 보호 패킷의 일부로서 브리지 디바이스 (120) 로 전송한다.
보호 패킷의 수신 시에, 브리지 디바이스 (120) 는, 그것이 브리지 디바이스 (120) 의 출력 포트 상에 노출되지 않도록 그리고 다운스트림 싱크 디바이스 (130) 가 HDCP ENC_EN 에 관련된 어느 것도 검출하지 않도록 보호 패킷의 TMDS (Transition Minimized Differential Signal) 기반 시그널링을 억제할 수도 있다. 또한, 브리지 디바이스 (120) 가 일단 이 보호 패킷을 수신하면, 보통의 암호화 및 해독 관점에서과 같이, 그리고 브리지 디바이스 (120) 가 프로세스에 전혀 참여하지 않는 것처럼, 소스 디바이스 (110) 및 싱크 디바이스 (130) 가 여전히 동기화되도록, 소스 디바이스 (110) 의 ENC_EN OESS 또는 EESS 펄스들이 싱크 디바이스 (130) 를 정상적으로 패스하는 것을 허용하기 위해 브리지 디바이스 (120) 는 브리지 인증 엔진 (126) 을 통해 다시 재구성된다. DDC 버스 및 CBUS 에 관하여, HDMI 는 강화형 DDC (E-DDC) 에 대한 지원을 구체적으로 요구할 수도 있고, E-DDC 는 소스 디바이스 (110) 에 의해 사용되어 싱크 디바이스 (130) 가 지원하는 오디오/비디오 포맷들을 결정할 수도 있다. CBUS 는 소스 디바이스 또는 싱크 디바이스가 그것의 대응하는 MHL-순응 싱크 디바이스 및 소스 디바이스 각각에 대한 접속성을 발견하는 메커니즘을 지칭하고, 단일 와이어 (1-비트), 양 방향 제어 버스를 포함할 수도 있다.
브리지 디바이스 (120) 가 예컨대 소스 디바이스 (110) 에 의해 제공된 암호화된 콘텐트 외에, 그 사용을 위해 의도된 임의의 추가의 암호화된 콘텐트를 수신할 수도 없는 경우, 브리지 디바이스 (120) 는 링크 무결정 체크를 수행할 필요가 없다. 또한, 브리지 디바이스 (120) 는 소스 디바이스 (110) 의 자체 암호화에 독립적인 임의의 콘텐트를 암호화하지 않고, 임의의 해독 및 재-암호화가 브리지 디바이스 (120)(예를 들어, "중계기" 기능이 없는 칩 제품을 포함) 내부에 있는 경우, 브리지 디바이스가 V 또는 V' 값들의 SHA-1 핸들링, 또는 KSVLIST (Key Selection Vector list) 핸들링 등등에 참여할 필요성이 여전히 없다. 또한, 브리지 디바이스 (120) 의 HDCP KSV (BKSV) 가 소스 디바이스 (110) 와 통신되기 때문에, 소스 디바이스가 중계기를 지원하기 위해 갖는 브리지 디바이스 (120) 없이 브리지 디바이스 (120) 의 BKSV 를 검증할 수 있는 것과 같이 브리지 디바이스 (120) 는 중계기가 아니다. 소스 디바이스 (110) 의 비밀 값들을 사용하면, 소스 디바이스 (110) 와의 그것의 HDCP 엔진의 동기화를 유지하도록 OESS, EESS, HSYNC 및 VSYNC 펄스들, 및 비디오 데이터 주기들의 폴링 (falling) 에지를 바라보는 동안, 브리지 디바이스 (120) 는 소스 디바이스 (110) 로부터 암호화된 콘텐트 (142) 를 수신할 준비를 할 수도 있다.
일 실시형태에서, 브리지 디바이스 (120) 가 다운스트림 싱크 디바이스 (130) 에 대해 인증된 데이터 스트림에서 제 1 OESS 또는 EESS 펄스를 (예컨대, 브리지 디바이스 (120) 의 입력 포트에 도달함으로써) 검출하는 경우, 그것은 그 자체의 마스크 생성기 (182) 를 트리거링한다. 예를 들어, A XOR B XOR B = A 를 사용하면, 브리지 디바이스 (120) 는 소스 디바이스 (110) 에서 B 마스크와 동일한 'B' 마스크를 사용하여 오리지널 'A' 값을 재 생성한다. 이 시점에서, 브리지 디바이스 (120) 는 (1) 데이터 섬 주기들의 콘텐트를 보고하는 것과 같은 임의의 수의 기능들을 수행할 수 있다. 이는, 예를 들어 AVI InfoFrame 에서 또는 전체 (gamut) 메타데이터 패킷에서의 정보일 수 있다. 이 정보에 대한 액세스는 브리지 디바이스 (120) 가 소스 디바이스 (110) 와의 링크 (140) 의 모드를 추적하는 것; (2) 모드 변화 또는 모드 중단의 인라인 인디케이터와 같은 임의의 변화에 대한 HSYNC 및 VSYNC 의 타이밍들을 모니터링하는 것을 허용한다. VSYNC 및 HSYNC 는 데이터 섬 주기 안에 있을 수도 있고, 따라서 암호화되어, 관련 데이터 섬 주기들이 해독되지 않는 경우 브리지 디바이스 (120) 에 보이지 않는 상태로 있다; (3) 인커밍 MHL PackedPixel 스트림을 HDCP-순응 HDMI 출력 스트림으로 변환한다; (4) 비디오 데이터 상의 컬러-공간 변환, 예컨대 RGB-투-YCbCr, YCbCr444-투-YCbCr422, 또는 심지어 8-bit YCbCr422-투-10-bit 또는 12-bit YCbCr422 를 수행한다; (5) 오디오 데이터 패킷들의 수 및 타이밍이 영향을 받지 않게 두면서 오디오를 약화시킨다; (6) 포함된 오리지널 콘텐트 없이 고정된 데이터 또는 데이터로 콘텐트 픽셀 값들을 오버라이팅함으로써 비디오 콘텐트를 블랭크한다; 그리고 (7) 적합한 라인 버퍼로 프론트-포치 (front-porch) 또는 백-포치 (back-porch) 수평 타이밍들을 고정한다.
일 실시형태에서, 브리지 디바이스 (120) 가 콘텐트 바이트 또는 데이터 섬 바이트를 변경하지 않으면, 그것은 콘텐트를 재-암호화할 필요가 없고, 브리지 디바이스 (120) 가 암호화된 데이터 스트림 (142) 의 콘텐트를 샘플링하는 순간 (소스 디바이스 (110) 로부터 수신된) 원래 암호화된 데이터 스트림 (142) 은 브리지 디바이스 (120) 를 통해 싱크 디바이스 (130) 상으로 유동할 수 있다. 이 기법은, 예를 들어 브리지 디바이스 (120) 의 브리지 칩 밖의 데이터 스트림의 보호된 콘텐트에 대한 액세스를 허용하지 않고, HDCP 링크 상에서 콘텐트 또는 데이터 섬 주기들을 시험하기 위한 "버스 모니터" 또는 프로토콜 분석기와 같은 테스트 장비에 유용하다. 그러나, 일 실시형태에서, 브리지 디바이스 (120) 는, 데이터 스트림으로부터 바이트들을 감산 또는 가산함 없이 (그리고 라인당 그리고 변화되지 않은 필드당 암호화된 바이트 카운트를 유지함), 소스 디바이스 (110) 로부터 수신된 암호화된 데이터 스트림 (142) 의 콘텐트 (예컨대, 데이터 섬 주기들 또는 콘텐트 바이트들) 중 어느 하나를 변경하고, 그 후 브리지 디바이스 (120) 는 소스 디바이스 (110) 에 의해 결정된 바와 동일한 XOR 마스크 값을 사용하여 데이터 스트림의 변경된 콘텐트를 재 암호화한다.
도 2 는 본 발명의 일 실시형태에 따른 소스 송신 디바이스를 예시한다. 일부 실시형태에서, 소스 디바이스 (110) 는 데이터 스트림들의 송신을 위한 송신기 (214), 데이터 송신을 제어하기 위한 제어기 (216), 및 다른 디바이스 (예를 들어, 수신 디바이스, 예컨대 브리지 디바이스 또는 싱크 디바이스) 로의 송신 전에 (도 1 에 도시된 바와 같은) 데이터 스트림의 콘텐트를 암호화하기 위한 암호화 엔진 (218) 을 포함한다. 소스 디바이스 (110) 는 송신 전에 데이터의 저장을 위한 데이터 스토리지 (212) 및 송신 전에 외부 데이터 소스 (240) 로부터 소정 데이터를 수신하기 위한 수신기 (230) 를 더 포함할 수도 있다.
일 실시형태에서, 소스 송신 디바이스 (110) 는 싱크 디바이스과 같은 다운스트림 수신 디바이스와의 인증, 또는 브리지 디바이스와 같은 중간 캐리어와의 부분 인증을 수행하기 위한 소스 인증 엔진 (114) 을 포함한다. 소스 인증 엔진 (114) 은 인증 또는 부분 인증 프로세스들을 수행하기 위해 다른 인증 엔진들, 예컨대 브리지 및 싱크 디바이스들과 함께 작업할 수도 있다. 소스 인증 엔진 (114) 은 XOR 마스크 값들을 생성 또는 발생시키기 위한 소스 마스크 생성기 (172), 및 소스 디바이스 (110) 와 브리지 및 싱크 디바이스들 간의 인증 동기화를 유지하기 위한 소스 동기화 메커니즘 (174) 을 더 포함한다.
도 3a 는 본 발명의 일 실시형태에 따른 브리지 디바이스를 예시한다. 브리지 디바이스 (120) 는 소스 디바이스로부터 데이터 스트림이 수신되는 중간 캐리어로서 기능하고, 일부 실시형태들에서 데이터 스트림의 콘텐트들은 데이터 스트림이 싱크 디바이스로 송신되기 전에 브리지 디바이스에서 액세스, 분석 및 심지어 변경된다. 브리지 디바이스에서 콘텐트의 변경의 경우, 변경된 콘텐트는 그것이 싱크 디바이스로 송신되기 전에 브리지 디바이스에서 재-암호화된다.
일 실시형태에서, 브리지 디바이스 (120) 는 소스 마스크 생성기 (182) 및 싱크 동기화 엔진 (184) 을 더 포함하는 브리지 인증 엔진 (134) 을 포함하여 소스 디바이스와 인증 프로세스를 통신하므로, 다운스트림 싱크 디바이스의 개입을 갖거나 영향을 받지 않고 2 개의 디바이스들 간에 소스-브리지 링크가 확립된다. 소스-브리지 링크는 소스 디바이스와 브리지 디바이스 (120) 간의 (부분 인증과 같은) 별개의 인증 프로세스를 위해 사용된다. 브리지 디바이스 (120) 는 단일 엔진 (122) 을 더 포함하고, 이 엔진은 일 실시형태에서 필요에 따라 암호화 엔진 또는 해독 엔진으로서 기능하도록 구성될 수 있다.
도 3b 는 본 발명의 일 실시형태에 따른 싱크 수신 디바이스를 예시한다. 싱크 디바이스 (130) 는 소스 디바이스로부터, 그리고 일부 경우에서는 브리지 디바이스를 통해 데이터 스트림을 수신하도록 다운스트림 수신 디바이스를 포함한다. 싱크 디바이스 (130) 는 소스 디바이스에서의 소스 인증 엔진과 통신하기 위한 싱크 인증 엔진 (134) 을 포함하여 소스 디바이스 및 싱크 디바이스의 초기 인증을 수행하므로, 싱크 디바이스 (130) 는 소스 디바이스로부터 데이터 스트림을 수신할 수 있다. 이 초기 인증은 소스 디바이스와 브리지 디바이스 간의 (부분) 인증 전에 수행된다. 싱크 디바이스 (130) 는 소스 디바이스로부터 (그리고 브리지 디바이스를 통해) 수신된 데이터 스트림들의 암호화된 콘텐트를 해독하기 위한 해독 엔진 (132) 을 더 포함한다.
도 4 는 본 발명의 일 실시형태에 따른 부분 인증을 예시한다. 암호화되지 않은 데이터 스트림이 소스 디바이스 (110) 에서 수신된다. 소스 인증 엔진 (114) 및 싱크 인증 엔진 (134) 을 사용하여, 소스-싱크 링크 (402) 를 통해 소스 디바이스 (110) 와 싱크 디바이스 (130) 간의 인증이 수행된다. 소스 디바이스 (110) 와 싱크 디바이스 (130) 간의 이 초기 인증 및 싱크 디바이스 (130) 와 연관된 공중 값들을 사용하여, 소스 인증 엔진 (114) 을 사용하는 소스 디바이스 (110) 에 의해 비밀 값들이 계산 및 저장된다. 소스-싱크 링크 (402) 는 그 후, 소스 디바이스 (110) 가 (HDMI 의 경우) DDC 를 통해 브리지 디바이스 (120) 의 브리지 칩에 레지스터를 쓰거나 (MHL 의 경우) CBUS 상에서 커맨드를 전송함으로써 소스-브리지 링크 (412) 로 스위칭되고, 따라서 소스-브리지 인증이 수행된다. 브리지 측에서는, 소스-브리지 인증을 수행하기 위해 변화를 요청하는 (HDMI 의 경우) DDC 데이터 또는 (MHL 의 경우) CBUS 커맨드가 인식되고, 그 후 소스 디바이스 (110) 와의 인증이 수행된다. 소스-브리지 인증 전에, 브리지 디바이스 (120) 는 소스 디바이스 (110) 로부터 싱크 디바이스 (130) 로 모든 DDC (HDMI) 에 대한 모드에서 초기화된다.
소스 디바이스 (110) 와 브리지 디바이스 (120) 간의 인증의 확립시, 암호화 엔진 (112) 을 사용하여 데이터 스트림 (432) 의 암호화가 시작되고, 예를 들어 보통의 OESS 또는 EESS 수단에 의해 표시된다. 저장된 비밀 값들은 그 후, 암호화된 스트림으로, 예컨대 데이터 스트림 (432) 으로 또는 데이터 스트림 (432) 으로부터 분리된 보호 패키지 (422) 에서 소스 디바이스 (110) 로부터 브리지 디바이스 (120) 로 전송된다. 비밀 값들은 브리지 디바이스 (120) 에서 수신 및 해독되며, 브리지 디바이스 (120) 에서 비밀 값들의 이 수신은 (HDMI 의 경우) DDC 어드레스를 판독하거나 브리지 디바이스 (120) 가 (MHL 의 경우) CBUS 커맨드를 전송함으로써 소스 디바이스 (110) 에 의해 확인된다. 소스-브리지 링크 (412) 는 그 후, 소스 디바이스 (110) 가 (HDMI 의 경우) DCC 를 통해 브리지 칩에 레지스터를 쓰거나 (MHL 의 경우) CBUS 커맨드를 전송함으로써 소스-싱크 링크 (402) 로 백 스위칭된다. 데이터 스트림의 암호화는 보통의 OESS 및 ESS 수단에 의해 나타난 바와 같이 싱크 디바이스 (130) 와 통신되도록 소스 암호화 엔진 (112) 을 사용하여 수행된다. 필요한 경우 소스 디바이스로부터 전송되는 데이터 스트림을 모니터링하고 데이터 스트림의 콘텐트를 해독하는 동안 소스 디바이스 (110) 와 싱크 디바이스 (130) 간의 HDCP 링크 (402) 가 유지된다. 데이터 스트림 (432) 은 결국 싱크 디바이스 (130) 로 송신된다. 이 데이터 스트림 (432) 은 소스 디바이스에서 원래 암호화되고 소스 디바이스로부터 송신된 것과 동일한 데이터 스트림일 수도 있고, 또는 브리지 디바이스 (120) 에서 이루어진 (그리고 암호화/해독 엔진 (122) 을 사용하여 재 암호화된) 일부 변경을 포함할 수도 있다.
도 5 는 본 발명의 일 실시형태에 따른 부분 인증을 수행하는 방법을 예시한다. 방법 (500) 은 하드웨어 (예를 들어, 회로, 전용 로직, 프로그래머블 로직, 마이크로코드 등), 소프트웨어 (예컨대, 프로세싱 디바이스 상에서 실행되는 명령들), 또는 도 1 을 참조하여 설명된 하드웨어 디바이스들 내의 펌웨어 또는 기능성 회로와 같은 이들의 조합들을 포함할 수도 있는 프로세싱 로직에 의해 수행될 수도 있다.
블록 505 에서, 암호화되지 않은 데이터 스트림이 소스 디바이스에서 수신된다. 소스 및 싱크 인증 엔진들을 사용하여, 블록 510 에서 싱크 디바이스가 소스 디바이스로부터 인증된다. 이 초기 소스-싱크 인증 및 싱크 디바이스와 연관된 공중 값 (public value) 들을 사용하여, 프로세싱 블록 515 에서 소스 인증 엔진을 사용하여 소스 디바이스에 의해 비밀 값들이 계산 및 저장된다. 소스-싱크 링크는 그 후, 프로세싱 블록 520 에서 소스 디바이스가 (HDMI 의 경우) DDC 를 통해 브리지 디바이스의 브리지 칩에 레지스터 (register) 를 쓰거나 (MHL 의 경우) CBUS 상에 커맨드를 전송함으로써 소스-브리지 링크로 스위칭되고, 따라서 프로세싱 블록 525 에서 소스-브리지 인증이 수행된다.
프로세싱 블록 530 에서, 소스 디바이스와 브리지 디바이스 간의 인증의 확립 시, 예를 들어 보통의 OESS 또는 EESS 수단에 의해 나타난 바와 같이 데이터 스트림의 암호화가 시작된다. 프로세싱 블록 535 에서, 저장된 비밀 값들은 그 후, 암호화된 데이터 스트림에서 또는 이 데이터 스트림에서 분리된 보호 패키지 내에서 소스 디바이스로부터 브리지 디바이스로 전송된다. 비밀 값들은 브리지 디바이스에서 수신 및 해독되고, 이 브리지 디바이스에서의 비밀 값들의 수신은, 프로세싱 블록 540 에서 (HDMI 의 경우) DDC 어드레스를 판독하거나 브리지 디바이스가 (MHL 의 경우) CBUS 커맨드를 전송함으로써 소스 디바이스에 의해 확인된다. 소스-브리지 링크는 그 후, 블록 545 에서 소스 디바이스가 (HDMI 의 경우) DDC 를 통해 브리지 칩에 레지스터를 쓰거나 (MHL 의 경우) CBUS 커맨드를 전송함으로써 소스-싱크 링크로 백 스위칭된다. 전술된 바와 같이, 블록 550 에서 보통의 OESS 및 ESS 수단에 의해 나타난 바와 같이, 소스 디바이스로부터 싱크 디바이스로의 데이터 스트림의 암호화를 시작한다.
도 6 은 본 발명의 일 실시형태에 따른 부분 인증을 수행하는 방법을 예시한다. 방법 (600) 은 하드웨어 (예를 들어, 회로, 전용 로직, 프로그래머블 로직, 마이크로코드 등), 소프트웨어 (예컨대, 프로세싱 디바이스 상에서 실행하는 명령들), 또는 도 1 을 참조하여 설명된 바와 같은 하드웨어 디바이스들 내의 펌웨어 또는 기능성 회로와 같은 이들의 조합을 포함할 수도 있는 프로세싱 로직에 의해 수행될 수도 있다.
프로세싱 블록 605 에서, 브리지 디바이스는 소스 디바이스로부터 다운스트림 싱크 디바이스로 (HDMI 의 경우) 모든 DDC 버스에 대한 모드에서 초기화된다. 프로세싱 블록 610 에서, 소스-투-브리지를 인증하기 위해 변화를 요청하는 (HDMI 에 대해) DDC 데이터 또는 (MHL 에 대해) CBUS 커맨드가 인식된다. 프로세싱 블록 615 에서, 소스 디바이스와의 브리지 디바이스의 인증이 수행된다. 프로세싱 블록 620 에서, 비밀 값들은 소스 디바이스로부터 수신되고 브리지 디바이스에서 해독된다. 브리지 디바이스에서 비밀 값들의 수신은 소스 디바이스로 다시 전송되는 (HDMI 에 대한) DDC 스테이터스 및 (MHL 에 대한) CBUS 커맨드를 통해 응답되어, 소스 디바이스는 프로세싱 블록 625 에서 비밀 값들이 브리지 디바이스에서 수신된다는 것을 알게 된다. 프로세싱 블록 630 에서, 소스 디바이스는 싱크 디바이스와 HDCP 링크를 유지하면서, 소스 디바이스로부터의 데이터 스트림을 모니터링하고 필요에 따라 암호화된 콘텐트를 해독하도록 허용된다.
도 7 은 본 발명의 일 실시형태에 따른 싱크 수신 디바이스를 포함하여 부분 인증을 수행하는 방법을 예시한다. 방법 (700) 은 하드웨어 (예를 들어, 회로, 전용 로직, 프로그래머블 로직, 마이크로코드 등), 소프트웨어 (예컨대, 프로세싱 디바이스 상에서 실행하는 명령들), 또는 도 1 을 참조하여 설명된 바와 같은 하드웨어 디바이스들 내의 펌웨어 또는 기능성 회로와 같은 이들의 조합을 포함할 수도 있는 프로세싱 로직에 의해 수행될 수도 있다.
블록 705 에서, 강화형 소스 송신 디바이스와 다운스트림 강화형 싱크 수신 디바이스 간의 초기 인증 프로세스가 개시된다. 블록 710 에서, 소스 및 싱크 인증 엔진들을 사용하여, 소스 디바이스와 싱크 디바이스 간의 초기 인증이 수행된다. 이 초기 소스-싱크 인증 및 싱크 디바이스와 연관된 공중 값들을 사용하여, 블록 715 에서 소스 인증 엔진을 사용하여 소스 디바이스에 의해 비밀 값들이 계산 및 저장된다. 일 실시형태에서, 블록 720 에서, 이 소스-싱크 링크는 그 후 도 5 및 도 6 을 참조하여 설명된 바와 같이 소스-브리지 인증을 위해 소스-브리지 링크로 스위칭될 수도 있다.
프로세싱 블록 725 에서, 소스-브리지 링크는 그 후, 소스 디바이스가 (HDMI 의 경우) DDC 를 통해 브리지 칩에 레지스터를 쓰거나 (MHL 의 경우) CBUS 커맨드를 전송함으로써 소스-싱크 링크로 백 스위칭된다. 전술된 바와 같이, 프로세싱 블록 730 에서 소스 디바이스로부터 싱크 디바이스로의 데이터 스트림의 암호화는 보통의 OESS 및 ESS 수단에 의해 나타난 바와 같이 시작한다. 블록 735 에서, 소스 송신 디바이스로부터 수신된 암호화된 스트림이 싱크 수신 디바이스에서 해독된다.
도 8 은 본 발명의 일 실시형태에 따른 도 1 의 인증 메커니즘들을 갖는 송신기들 및 수신기들을 이용하는 시스템을 예시한다. 본 예에서, 본 설명에 밀접한 관련이 없는 소정 표준 및 잘 알려진 컴포넌트들은 도시되지 않는다. 일부 실시형태들 하에서, 디바이스 (800) 는 송신 디바이스, 수신 디바이스, 또는 양자일 수도 있다.
일부 실시형태들 하에서, 디바이스 (800) 는 인터커넥트 또는 크로스바 (805) 또는 데이터 송신을 위한 다른 통신 수단을 포함한다. 데이터는 시청각 데이터 및 관련 제어 데이터를 포함할 수도 있다. 디바이스 (800) 는 정보를 프로세싱하기 위해 인터커텍트 (805) 와 커플링된 하나 이상의 프로세서들 (810) 과 같은 프로세싱 수단을 포함할 수도 있다. 프로세서들 (810) 은 하나 이상의 물리적 프로세서들 및 하나 이상의 논리적 프로세서들을 포함할 수도 있다. 추가로, 프로세서들 (810) 각각은 다수의 프로세서 코어들을 포함할 수도 있다. 인터커넥트 (805) 는 단순함을 위해 단일의 인터커넥트로서 예시되었으나, 다수의 상이한 인터커넥트들 또는 버스들을 대표할 수도 있고 이러한 인터커넥트들로의 컴포넌트 접속들이 변할 수도 있다. 여기에 도시된 인터커텍트 (805) 는 임의의 하나 이상의 별개의 물리적 버스들, 포인트-투-포인트 접속들, 또는 적합한 브리지, 어댑터, 또는 제어기에 의해 접속된 양자를 나타내는 추상적인 개념이다. 인터커넥트 (805) 는, 예를 들어 시스템 버스, PCI 또는 PCIe 버스, 하이퍼트랜스포트 (HyperTransport) 또는 ISA (industry standard architecture) 버스, SCSI (small computer system interface) 버스, IIC (I2C) 버스, 또는 가끔 "파이어와이어 (Firewire)" 로도 지칭되는 IEEE (Institute of Electrical and Electronics Engineers) 표준 1394 버스 (1996년 8월 30일자로 출판된, "Standard for a High Performance Serial Bus" 1394-1995, IEEE, 및 부록들) 을 포함할 수도 있다. 디바이스 (800) 는 유니버셜 시리얼 버스 (USB)(870) 와 같은 시리얼 버스를 더 포함할 수도 있으며, 이 버스들에는 하나 이상의 USB 호환가능 커넥션들이 부착될 수도 있다.
일부 실시형태들에서, 디바이스 (800) 는 프로세서 (810) 에 의해 실행될 정보 및 명령들을 저장하기 위한 메인 메모리 (820) 로서 랜덤 액세스 메모리 (RAM) 또는 다른 동적 저장 디바이스를 더 포함한다. 메인 메모리 (820) 는 또한, 프로세서들 (810) 에 의한 명령들의 실행 동안 일시적 변수 또는 다른 중간 정보를 저장하는데 사용될 수도 있다. RAM 메모리는 메모리 콘텐츠들의 리프레시를 필요로 하는 동적 랜덤 액세스 메모리 (DRAM) 및 콘텐츠들의 리프레시를 필요로하지 않지만 증가된 비용인 정적 랜덤 액세스 메모리 (SRAM) 을 포함한다. DRAM 메모리는 신호들을 제어하기 위한 클록 신호를 포함하는 동기식 동적 랜덤 액세스 메모리 (SDRAM), 및 확장형 데이터 아웃 동적 랜덤 액세스 메모리 (extended data-out dynamic random access memory; EDO DRAM) 를 포함할 수도 있다. 일부 실시형태들에서, 시스템의 메모리는 소정의 레지스터들 또는 다른 특수 목적의 메모리일 수도 있다. 디바이스 (800) 는 또한, 프로세서들 (810) 에 대한 정적 정보 및 명령들을 저장하기 위한 판독 전용 메모리 (ROM; 825) 또는 다른 정적 저장 디바이스를 포함할 수도 있다. 디바이스 (800) 는 소정 엘리먼트들의 저장을 위해 하나 이상의 비-휘발성 메모리 엘리먼트들 (830) 을 포함할 수도 있다.
데이터 스토리지 (835) 는 또한, 정보 및 명령들을 저장하기 위해 디바이스 (800) 의 인터커넥트 (805) 에 커플링될 수도 있다. 데이터 스토리지 (835) 는 자기 디스크, 광 디스크 및 그 대응하는 드라이브, 또는 다른 메모리 디바이스를 포함할 수도 있다. 이러한 엘리먼트들은 함께 결합되거나 별개의 컴포넌트들일 수도 있고, 디바이스 (800) 의 다른 엘리먼트들의 파트들을 이용할 수도 있다.
디바이스 (800) 는 또한, 디스플레이 또는 표시 디바이스 (840) 에 인터커넥트 (805) 를 통해 커플링될 수도 있다. 일부 실시형태들에서, 디스플레이는 정보 또는 콘텐트를 엔드 사용자에게 디스플레이하기 위해 액정 디스플레이 (LCD), 플라즈마 디스플레이, 음극선관 (CRT) 디스플레이, 또는 임의의 다른 디스플레이 기술을 포함할 수도 있다. 일부 실시형태들에서, 디스플레이 (840) 는 텔레비전 프로그래밍을 디스플레이하는데 이용될 수도 있다. 일부 환경들에서, 디스플레이 (840) 는 입력 디바이스의 적어도 일부로서 또한 이용되는 터치-스크린을 포함할 수도 있다. 일부 환경들에서, 디스플레이 (840) 는 텔레비전 프로그램의 오디오부를 포함하는, 오디오 정보를 제공하기 위한 스피커와 같은 오디오 디바이스를 포함하거나 오디오 디바이스일 수도 있다. 입력 디바이스 (845) 는 정보 및/또는 커맨드 선택들을 프로세서들 (810) 에 통신하기 위해 인터커넥트 (805) 에 커플링될 수도 있다. 각종 구현들에서, 입력 디바이스 (845) 는 키보드, 키패드, 터치 스크린 및 스타일러스, 음성 활성화 시스템, 또는 다른 입력 디바이스, 또는 이러한 디바이스들의 조합들일 수도 있다. 포함될 수도 있는 사용자 입력 디바이스의 다른 유형은 커서 제어 디바이스 (850), 예컨대 마우스, 트랙볼, 또는 방향 정보 및 커맨드 선택들을 하나 이상의 프로세서들 (810) 로 통신하고 디스플레이 (840) 상의 커서 움직임을 제어하기 위한 커서 방향 키들이다.
하나 이상의 송신기들 또는 수신기들 (855) 은 또한, 인터커넥트 (805) 에 커플링될 수도 있다. 일 실시형태에서, 강화형 송신기 (855) 는 소스 인증 엔진을 갖는 부분 인증 메커니즘을 이용하는 소스 디바이스를 포함하는 반면에, 강화형 수신기 (855) 는 브리지 인증 메커니즘을 갖는 부분 암호화 메커니즘을 이용하는 브리지 디바이스, 및 도 1 을 참조하여 설명된 바와 같은 싱크 인증 메커니즘을 갖는 부분 암호화 메커니즘을 이용하는 싱크 디바이스를 포함한다. 일부 실시형태들에서, 디바이스 (800) 는 데이터의 수신 또는 송신을 위한 하나 이상의 포트들 (880) 을 포함할 수도 있다. 수신 또는 송신될 수도 있는 데이터는 HDMI 데이터와 같은 비디오 데이터 또는 오디오-비디오 데이터를 포함할 수도 있고, HDCP 암호화된 데이터와 같이 암호화될 수도 있다. 일부 실시형태들에서, 디바이스 (800) 는 수신 디바이스이고, 포어그라운드 프로세싱을 위해 선택되지 않은 포트들에서 수신된 데이터가 암호화되는지 여부를 결정하도록 하나 이상의 다른 포트들로부터 데이터를 샘플링하면서, 데이터의 수신을 위한 포트를 선택하도록 동작한다. 디바이스 (800) 는 무선 신호들을 통한 데이터의 수신을 위해 하나 이상의 안테나들 (858) 를 더 포함할 수도 있다. 디바이스 (800) 는 또한, 전력 공급기, 배터리, 태양 전지, 연료 전지, 또는 전력을 제공 또는 생성하기 위한 다른 시스템이나 디바이스를 포함할 수도 있는, 전력 디바이스 또는 시스템 (860) 을 포함할 수도 있다. 전력 디바이스 또는 시스템 (860) 에 의해 제공된 전력은 디바이스 (800) 의 엘리먼트들로 필요에 따라 배포될 수도 있다.
상기 설명에서, 설명을 목적으로, 다수의 특정 상세들이 본 발명의 완전한 이해를 제공하기 위하여 기술된다. 그러나, 본 발명은 이들 특정 상세들의 일부 없이도 실시될 수도 있다는 것이 당업자에게 명백할 것이다. 다른 경우에, 널리 알려져 있는 구조물들 및 디바이스들은 블록도 형태로 도시된다. 예시된 컴포넌트들 간에는 중간 구조물이 있을 수도 있다. 여기에 설명되거나 또는 예시된 컴포넌트들은 예시되거나 또는 설명되지 않은 추가적인 입력들 또는 출력들을 가질 수도 있다. 예시된 엘리먼트들 또는 컴포너트들은 또한, 임의의 필드들의 재순서화 또는 필드 사이즈들의 변형을 포함하는, 상이한 배열들 또는 순서들로 배열될 수도 있다.
본 발명은 다양한 프로세스들을 포함할 수도 있다. 본 발명의 프로세스들은 하드웨어 컴포넌트들에 의해 수행될 수도 있고 또는 컴퓨터 판독가능 명령들로 구현될 수도 있으며, 컴퓨터 판독가능 명령들은, 그 명령들로 프로그램된 범용 또는 특수 목적의 프로세서 또는 로직 회로들로 하여금 그 프로세스들을 수행하도록 하는데 사용될 수도 있다. 대안으로, 프로세스들은 하드웨어와 소프트웨어의 조합에 의해 수행될 수도 있다.
본 발명의 일부분들은 컴퓨터 프로그램 제품으로서 제공될 수도 있고, 이 컴퓨터 프로그램 제품은 컴퓨터 프로그램 명령들이 저장되는 컴퓨터 판독가능 매체를 포함할 수도 있으며, 이 컴퓨터 프로그램 명령들은 컴퓨터 (또는 다른 전자 디바이스들) 을 본 발명에 따른 프로세스를 수행하도록 프로그래밍하는데 사용될 수도 있다. 컴퓨터 판독가능 매체는 플로피 디스켓, 광 디스크, 콤팩트 디스크 ROM (CD-ROM), 자기-광 디스크, ROM, RAM, 소거가능 프로그래머블 ROM (EPROM), 전기적으로 소거가능 프로그래머블 ROM (EEPROM), 자기 또는 광 카드들, 플래시 메모리, 또는 전자 명령들을 저장하기에 적합한 다른 유형의 매체/컴퓨터 판독가능 매체를 포함할 수도 있으나, 이에 한정되지는 않는다. 더욱이, 본 발명은 또한, 컴퓨터 프로그램 제품으로서 다운로드될 수도 있고, 여기서 프로그램은 원격 컴퓨터로부터 요청 컴퓨터로 전송될 수도 있다.
대부분의 방법들은 그들의 가장 기본적인 형태로 설명되지만, 프로세스들은 임의의 방법들에 부가되거나 또는 그 방법들로부터 삭제될 수도 있고 정보가 본 발명의 기본적인 범위로부터 벗어남 없이 설명된 메시지들 중 임의의 메시지에 부가되거나 또는 그 메시지로부터 제거될 수 있다. 많은 추가 변경들 및 적응들이 행해질 수 있다는 것이 당업자에게 명백할 것이다. 특정 실시형태들은 본 발명을 제한하기 위해 제공되지 않고 본 발명을 예시하기 위해 제공된다.
엘리먼트 "A" 가 엘리먼트 "B" 에 또는 엘리먼트 "B" 와 커플링된다고 하면, 엘리먼트 A 는 엘리먼트 B 에 직접적으로 커플링될 수도 있고 또는 예를 들어 엘리먼트 C 를 통하여 간접적으로 커플링될 수도 있다. 컴포넌트, 피처, 구조물, 프로세스, 또는 특성 A 가 컴포넌트, 피처, 구조물, 프로세스, 또는 특성 B 의 "원인이 된다" 는 것을 명세서들이 서술하는 경우, 그것은 "A" 가 적어도 "B" 의 부분적인 원인이지만 "B" 의 원인이 되는 것을 돕는 적어도 하나의 다른 컴포넌트, 피처, 구조물, 프로세스, 또는 특성이 또한 존재할 수도 있다는 것을 의미한다. 컴포넌트, 피처, 구조물, 프로세스, 또는 특성이 포함 "될 수도 있고", 될지도 모르며", 또는 "될 수 있다" 는 것을 명세서가 나타낸다면, 그 특정 컴포넌트, 피처, 구조물, 프로세스, 또는 특성이 포함되는 것으로 요구되지 않는다. 명세서는 "a" 또는 "an" 엘리먼트를 언급하지만, 이것은 상기 설명된 엘리먼트들 중 하나만이 있다는 것을 의미하는 것이 아니다.
실시형태는 본 발명의 구현 또는 예이다. 본 명세서에서의 "실시형태", "하나의 실시형태", "일부 실시형태들", 또는 "다른 실시형태들" 에 대한 참조는, 실시형태들과 관련하여 설명된 특정 피처, 구조물, 또는 특성이 반드시 모든 실시형태들이 아닌 적어도 일부 실시형태들에 포함된다는 것을 의미한다. "실시형태", "하나의 실시형태", 또는 "일부 실시형태들" 의 다양한 출현들은 반드시 모두 동일한 실시형태들을 지칭할 필요가 없다. 본 발명의 예시적인 실시형태들의 전술한 설명에서, 본 발명의 다양한 피처들은 때때로 본 개시물을 간소화하고 다양한 본 발명의 양태들 중 하나 이상의 이해를 도울 목적으로 단일 실시형태, 도형, 또는 이들에 대한 설명에서 함께 그룹화된다는 것이 인식되어야 한다.

Claims (19)

  1. 데이터 스트림들의 통신을 위해 소스 송신 디바이스와 싱크 수신 디바이스 간의 제 1 인증을 수행하는 단계로서, 상기 제 1 인증은 상기 싱크 수신 디바이스와 연관된 공중 (public) 값을 사용하여 상기 소스 송신 디바이스에서 비밀 (secret) 값들을 생성하며, 상기 비밀 값들은 상기 소스 송신 디바이스에서 마스크 생성기를 초기화하기 위하여 사용되는 단계를 포함하는, 상기 제 1 인증을 수행하는 단계;
    상기 소스 송신 디바이스와 상기 싱크 수신 디바이스 사이의 브리지 디바이스와 상기 소스 송신 디바이스간의 제 2 인증을 수행하는 단계로서, 상기 제 2 인증은,
    상기 소스 송신 디바이스로부터 상기 비밀 값들을 상기 브리지 디바이스로 전송하는 단계,
    상기 브리지 디바이스로부터, 상기 비밀 값들이 상기 브리지 디바이스에 수신되었다는 확인 (confirmation) 을 상기 소스 송신 디바이스에서 수신하는 단계, 및
    상기 확인을 수신하는 단계 이후 상기 브리지 디바이스로의 상기 데이터 스트림의 송신을 트리거링하는 단계를 포함하는, 상기 제 2 인증을 수행하는 단계;
    상기 브리지 디바이스에서, 상기 소스 송신 디바이스로부터 암호화된 콘텐트를 갖는 데이터 스트림을 수신하는 단계로서, 상기 암호화된 콘텐트는 상기 소스 송신 디바이스에서 데이터 스트림의 대응하는 콘텐트 값들과 상기 마스크 생성기에 의해 생성된 의사 랜덤 마스크의 값들을 XOR함으로써 생성되는, 상기 데이터 스트림을 수신하는 단계;
    상기 브리지 디바이스에서 상기 암호화된 콘텐트를 적어도 부분적으로 해독하는 단계;
    상기 브리지 디바이스에서 상기 적어도 부분적으로 해독된 콘텐트를 프로세싱하는 단계로서, 상기 프로세싱하는 단계는 상기 데이터 스트림으로부터 바이트들을 감산하거나 또는 가산하지 않고 상기 데이터 스트림의 콘텐트 값들을 수정하는 단계를 포함하는, 상기 적어도 부분적으로 해독된 콘텐트를 프로세싱하는 단계;
    상기 적어도 부분적으로 해독된 콘텐트를 프로세싱하는 것에 응답하여, 상기 수정된 콘텐트 값들만을 상기 소스 송신 디바이스에 의해 상기 데이터 스트림의 상기 수정된 콘텐트 값들에 대응하는 원래 콘텐트 값들을 암호화하기 위하여 사용되었던 동일한 의사 랜덤 마스크 값들을 사용하여 재-암호화하는 단계; 및
    상기 싱크 수신 디바이스에서의 상기 비밀 값들을 사용하여 생성된 의사 랜덤 마스크 값들을 사용하는 해독을 위하여, 상기 암호화된 데이터 스트림을 상기 싱크 수신 디바이스로 송신하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 방법은, 상기 브리지 디바이스에서 상기 비밀 값들을 해독하는 단계를 더 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 제 1 인증은 상기 소스 송신 디바이스와 상기 싱크 수신 디바이스 사이의 제 1 링크 상에서 수행되고,
    상기 제 2 인증은 상기 소스 송신 디바이스와 상기 브리지 디바이스 사이의 제 2 링크 상에서 수행되는, 방법.
  4. 제 1 항에 있어서,
    상기 콘텐트는 고화질 멀티미디어 인터페이스 (High-Definition Multimedia Interface; HDMI) 기반 콘텐트 또는 모바일 고화질 링크 (Mobile High-Definition Link; MHL) 기반 콘텐트를 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 콘텐트의 암호화는 고대역폭 디지털 콘텐트 보호 (High-bandwidth Digital Content Protection; HDCP) 프로토콜에 기초하는, 방법.
  6. 소스 송신 디바이스로서,
    프로세서; 및
    인증 메커니즘을 포함하며,
    상기 인증 메커니즘은,
    적어도 싱크 수신 디바이스와 연관된 공중 값을 사용하여 비밀 값들을 생성함으로써 데이터 스트림들의 통신을 위한 상기 싱크 수신 디바이스와의 제 1 인증을 수행하되, 상기 비밀 값들은 상기 소스 송신 디바이스에서 마스크 생성기를 초기화하기 위하여 사용되는, 상기 싱크 수신 디바이스와의 제 1 인증을 수행하고;
    상기 비밀 값들을 브리지 디바이스로 전송하는 것,
    상기 브리지 디바이스로부터, 상기 비밀 값들이 상기 브리지 디바이스에 수신되었다는 확인을 상기 소스 송신 디바이스에서 수신하는 것, 및
    상기 확인의 수신시 상기 브리지 디바이스로의 상기 데이터 스트림의 송신을 트리거링하는 것에 의해,
    상기 브리지 디바이스와의 제 2 인증을 수행하며; 및
    상기 브리지 디바이스로 암호화된 콘텐트를 갖는 데이터 스트림을 송신하도록 구성되고,
    상기 암호화된 콘텐트는 상기 브리지 디바이스에서 상기 비밀 값들을 사용하여 적어도 부분적으로 해독되고, 프로세싱되며, 재-암호화되고,
    상기 브리지 디바이스는,
    상기 소스 송신 디바이스로부터 암호화된 콘텐트를 갖는 데이터 스트림을 수신하되, 상기 암호화된 콘텐트는 상기 소스 송신 디바이스에서 데이터 스트림의 대응하는 콘텐트 값들과 상기 마스크 생성기에 의해 생성된 의사 랜덤 마스크의 값들을 XOR함으로써 생성되는, 상기 데이터 스트림을 수신하고;
    상기 암호화된 콘텐트를 적어도 부분적으로 해독하며;
    상기 적어도 부분적으로 해독된 콘텐트를 프로세싱하되, 상기 프로세싱하는 것은 상기 데이터 스트림으로부터 바이트들을 감산하거나 또는 가산하지 않고 상기 데이터 스트림의 콘텐트 값들을 수정하는 것을 포함하는, 상기 적어도 부분적으로 해독된 콘텐트를 프로세싱하고;
    상기 적어도 부분적으로 해독된 콘텐트를 프로세싱하는 것에 응답하여, 상기 수정된 콘텐트 값들만을 상기 소스 송신 디바이스에 의해 상기 데이터 스트림의 상기 수정된 콘텐트 값들에 대응하는 원래 콘텐트 값들을 암호화하기 위하여 사용되었던 동일한 의사 랜덤 마스크 값들을 사용하여 재-암호화하며; 및
    상기 싱크 수신 디바이스에서의 상기 비밀 값들을 사용하여 생성된 의사 랜덤 마스크 값들을 사용하는 해독을 위하여, 상기 암호화된 데이터 스트림을 상기 싱크 수신 디바이스로 송신하도록 구성되는, 소스 송신 디바이스.
  7. 제 6 항에 있어서,
    상기 브리지 디바이스는 상기 비밀 값들을 수신하고 해독하도록 구성되는, 소스 송신 디바이스.
  8. 제 1 항에 있어서,
    상기 암호화된 콘텐트를 적어도 부분적으로 해독하는 단계는, 상기 암호화된 콘텐트를 상기 비밀 값들과 XOR 프로세싱하는 단계를 포함하는, 방법.
  9. 제 3 항에 있어서,
    상기 비밀 값들은 상기 제 2 링크를 통해 송신되지만 상기 제 1 링크를 통해서는 송신되지는 않는, 방법.
  10. 제 1 항에 있어서,
    상기 제 2 인증은, 상기 브리지 디바이스에 대한 디바이스 어드레스 또는 레지스터 오프셋을 할당하는 단계를 더 포함하는, 방법.
  11. 제 6 항에 있어서,
    상기 적어도 부분적인 해독 및 상기 재-암호화는 상기 브리지 디바이스에서 XOR 프로세싱에 의해 수행되는, 소스 송신 디바이스.
  12. 제 6 항에 있어서,
    상기 제 1 인증은 상기 소스 송신 디바이스와 상기 싱크 수신 디바이스 사이의 제 1 링크 상에서 수행되고,
    상기 제 2 인증은 상기 소스 송신 디바이스와 상기 브리지 디바이스 사이의 제 2 링크 상에서 수행되는, 소스 송신 디바이스.
  13. 제 12 항에 있어서,
    상기 비밀 값들은 상기 제 2 링크를 통해 송신되지만 상기 제 1 링크를 통해서는 송신되지는 않는, 소스 송신 디바이스.
  14. 제 6 항에 있어서,
    상기 제 2 인증은 상기 브리지 디바이스에 대한 디바이스 어드레스 또는 레지스터 오프셋을 할당하는 것에 의해 더 수행되는, 소스 송신 디바이스.
  15. 명령어들을 저장하고 있는 비-일시적인 컴퓨터-판독가능 저장 매체로서, 상기 명령어들은 소스 송신 디바이스 내의 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    적어도 싱크 수신 디바이스와 연관된 공중 값을 사용하여 비밀 값들을 생성함으로써 데이터 스트림들의 통신을 위한 상기 싱크 수신 디바이스와의 제 1 인증을 수행하되, 상기 비밀 값들은 상기 소스 송신 디바이스에서 마스크 생성기를 초기화하기 위하여 사용되는, 상기 싱크 수신 디바이스와의 제 1 인증을 수행하고;
    상기 비밀 값들을 브리지 디바이스로 전송하는 것,
    상기 브리지 디바이스로부터, 상기 비밀 값들이 상기 브리지 디바이스에 수신되었다는 확인을 상기 소스 송신 디바이스에서 수신하는 것, 및
    상기 확인의 수신시 상기 브리지 디바이스로의 상기 데이터 스트림의 송신을 트리거링하는 것에 의해,
    상기 브리지 디바이스와의 제 2 인증을 수행하며; 및
    상기 브리지 디바이스로 암호화된 콘텐트를 갖는 데이터 스트림을 송신하게끔 하며,
    상기 암호화된 콘텐트는 상기 브리지 디바이스에서 상기 비밀 값들을 사용하여 적어도 부분적으로 해독되고, 프로세싱되며, 재-암호화되고,
    상기 브리지 디바이스는,
    상기 소스 송신 디바이스로부터 암호화된 콘텐트를 갖는 데이터 스트림을 수신하되, 상기 암호화된 콘텐트는 상기 소스 송신 디바이스에서 데이터 스트림의 대응하는 콘텐트 값들과 상기 마스크 생성기에 의해 생성된 의사 랜덤 마스크의 값들을 XOR함으로써 생성되는, 상기 데이터 스트림을 수신하고;
    상기 암호화된 콘텐트를 적어도 부분적으로 해독하며;
    상기 적어도 부분적으로 해독된 콘텐트를 프로세싱하되, 상기 프로세싱하는 것은 상기 데이터 스트림으로부터 바이트들을 감산하거나 또는 가산하지 않고 상기 데이터 스트림의 콘텐트 값들을 수정하는 것을 포함하는, 상기 적어도 부분적으로 해독된 콘텐트를 프로세싱하고;
    상기 적어도 부분적으로 해독된 콘텐트를 프로세싱하는 것에 응답하여, 상기 수정된 콘텐트 값들만을 상기 소스 송신 디바이스에 의해 상기 데이터 스트림의 상기 수정된 콘텐트 값들에 대응하는 원래 콘텐트 값들을 암호화하기 위하여 사용되었던 동일한 의사 랜덤 마스크 값들을 사용하여 재-암호화하며; 및
    상기 싱크 수신 디바이스에서의 상기 비밀 값들을 사용하여 생성된 의사 랜덤 마스크 값들을 사용하는 해독을 위하여, 상기 암호화된 데이터 스트림을 상기 싱크 수신 디바이스로 송신하도록 구성되는, 컴퓨터-판독가능 저장 매체.
  16. 제 15 항에 있어서,
    상기 제 1 인증은 상기 소스 송신 디바이스와 상기 싱크 수신 디바이스 사이의 제 1 링크 상에서 수행되고,
    상기 제 2 인증은 상기 소스 송신 디바이스와 상기 브리지 디바이스 사이의 제 2 링크 상에서 수행되는, 컴퓨터-판독가능 저장 매체.
  17. 제 16 항에 있어서,
    상기 비밀 값들은 상기 제 2 링크를 통해 송신되지만 상기 제 1 링크를 통해서는 송신되지는 않는, 컴퓨터-판독가능 저장 매체.
  18. 삭제
  19. 삭제
KR1020137004563A 2010-07-23 2011-07-19 세컨더리 채널 상의 부분 인증을 통한 콘텐트의 내부 프로세싱을 위한 메커니즘 KR101873230B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/842,165 US8930692B2 (en) 2010-07-23 2010-07-23 Mechanism for internal processing of content through partial authentication on secondary channel
US12/842,165 2010-07-23
PCT/US2011/044520 WO2012012415A2 (en) 2010-07-23 2011-07-19 Mechanism for internal processing of content through partial authentication on secondary channel

Publications (2)

Publication Number Publication Date
KR20130132759A KR20130132759A (ko) 2013-12-05
KR101873230B1 true KR101873230B1 (ko) 2018-07-02

Family

ID=45494519

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137004563A KR101873230B1 (ko) 2010-07-23 2011-07-19 세컨더리 채널 상의 부분 인증을 통한 콘텐트의 내부 프로세싱을 위한 메커니즘

Country Status (7)

Country Link
US (1) US8930692B2 (ko)
EP (1) EP2596598A4 (ko)
JP (1) JP5784118B2 (ko)
KR (1) KR101873230B1 (ko)
CN (1) CN103026728B (ko)
TW (1) TWI583190B (ko)
WO (1) WO2012012415A2 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8761402B2 (en) * 2007-09-28 2014-06-24 Sandisk Technologies Inc. System and methods for digital content distribution
US9083685B2 (en) * 2009-06-04 2015-07-14 Sandisk Technologies Inc. Method and system for content replication control
US8755431B2 (en) * 2010-01-14 2014-06-17 Silicon Image, Inc. Transmission and detection of multi-channel signals in reduced channel format
US20120124386A1 (en) * 2010-11-16 2012-05-17 Lin Jason T Method and System for Refreshing Content in a Storage Device
US8713316B2 (en) * 2011-12-13 2014-04-29 Crestron Electronics Inc. System, apparatus and method for enabling/disabling display data channel access to enable/disable high-bandwidth digital content protection
FR2992124B1 (fr) * 2012-06-18 2014-07-25 Morpho Procede de traitement de donnees securise
TWI529537B (zh) * 2013-06-04 2016-04-11 晨星半導體股份有限公司 具有移動高畫質連接埠之顯示器及其信號處理方法
KR20150026391A (ko) * 2013-09-02 2015-03-11 삼성전자주식회사 컨텐츠를 제공하기 위한 전자장치 및 그에 따른 방법
US9071581B2 (en) 2013-09-23 2015-06-30 Nvidia Corporation Secure storage with SCSI storage devices
WO2015055259A1 (en) * 2013-10-18 2015-04-23 Telefonaktiebolaget L M Ericsson (Publ) Classification of detected network anomalies using additional data
US20150256842A1 (en) * 2014-03-07 2015-09-10 Silicon Image, Inc. Compressed Video Transfer over a Multimedia Link
US9794623B2 (en) * 2014-04-14 2017-10-17 Synopsys, Inc. Dynamic color depth for HDCP over HDMI
US9852312B2 (en) * 2014-09-18 2017-12-26 Synopsys, Inc. Generic encryption system for nonsecure datapaths
CN105578278B (zh) * 2014-10-13 2019-05-10 深圳Tcl新技术有限公司 显示设备及对mhl信源实现来电通功能的方法
KR102095911B1 (ko) * 2014-12-09 2020-04-02 래티스세미컨덕터코퍼레이션 오디오 리턴 데이터 링크를 통한 디지털 컨텐트 보호
WO2022154871A1 (en) * 2021-01-12 2022-07-21 Microsoft Technology Licensing, Llc Smart av receiver for content protection
US11689774B2 (en) 2021-01-12 2023-06-27 Microsoft Technology Licensing, Llc Smart AV receiver for content protection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040187001A1 (en) * 2001-06-21 2004-09-23 Bousis Laurent Pierre Francois Device arranged for exchanging data, and method of authenticating
US20080247541A1 (en) * 2006-03-16 2008-10-09 Chris Cholas Methods and apparatus for connecting a cable network to other network and/or devices
US20100008504A1 (en) * 2008-07-11 2010-01-14 Sony Corporation Data transmitting apparatus, data receiving apparatus, data transmitting method, and data receiving method

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716484B1 (en) 2000-03-10 2010-05-11 Rsa Security Inc. System and method for increasing the security of encrypted secrets and authentication
JP3916217B2 (ja) * 2002-03-14 2007-05-16 株式会社東芝 ブリッジ装置および伝送方法
US7188365B2 (en) 2002-04-04 2007-03-06 At&T Corp. Method and system for securely scanning network traffic
KR101011831B1 (ko) * 2002-05-29 2011-01-31 파나소닉 주식회사 데이터 송신 장치, 데이터 수신 장치, 데이터 전송 시스템및 데이터 전송 방법
US20050144468A1 (en) 2003-01-13 2005-06-30 Northcutt J. D. Method and apparatus for content protection in a personal digital network environment
US7412053B1 (en) * 2002-10-10 2008-08-12 Silicon Image, Inc. Cryptographic device with stored key data and method for using stored key data to perform an authentication exchange or self test
CN1585330A (zh) * 2003-08-18 2005-02-23 久津实业股份有限公司 网路身份认证方法及装置
JP4102290B2 (ja) * 2003-11-11 2008-06-18 株式会社東芝 情報処理装置
US20060235804A1 (en) 2005-04-18 2006-10-19 Sharp Kabushiki Kaisha Service providing system, service using device, service proving device, service relaying device, method for performing authentication, authentication program, and recording medium thereof
JP4869234B2 (ja) * 2005-08-26 2012-02-08 パナソニック株式会社 信号ソース装置
JP2008258697A (ja) * 2007-04-02 2008-10-23 Sony Corp 送信処理装置および送信処理方法
WO2009026247A1 (en) 2007-08-16 2009-02-26 Shellshadow, Llc Terminal client collaboration and relay systems and methods
US8019999B2 (en) 2007-10-18 2011-09-13 Sony Corporation Wireless receiver device revocation management
US20090164785A1 (en) * 2007-12-20 2009-06-25 Motorola, Inc. Method for authentication in a communication network
JP5361031B2 (ja) * 2008-01-07 2013-12-04 アルパイン株式会社 暗号認証処理方法及び装置
JP5172591B2 (ja) * 2008-10-14 2013-03-27 シャープ株式会社 無線伝送システム
US8176214B2 (en) * 2008-10-31 2012-05-08 Silicon Image, Inc. Transmission of alternative content over standard device connectors
CN102090072A (zh) * 2009-05-11 2011-06-08 松下电器产业株式会社 内容发送装置及内容发送方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040187001A1 (en) * 2001-06-21 2004-09-23 Bousis Laurent Pierre Francois Device arranged for exchanging data, and method of authenticating
US20080247541A1 (en) * 2006-03-16 2008-10-09 Chris Cholas Methods and apparatus for connecting a cable network to other network and/or devices
US20100008504A1 (en) * 2008-07-11 2010-01-14 Sony Corporation Data transmitting apparatus, data receiving apparatus, data transmitting method, and data receiving method

Also Published As

Publication number Publication date
TWI583190B (zh) 2017-05-11
KR20130132759A (ko) 2013-12-05
US8930692B2 (en) 2015-01-06
EP2596598A2 (en) 2013-05-29
TW201212638A (en) 2012-03-16
EP2596598A4 (en) 2014-01-01
WO2012012415A3 (en) 2012-04-12
JP2013536622A (ja) 2013-09-19
WO2012012415A2 (en) 2012-01-26
US20120023331A1 (en) 2012-01-26
CN103026728B (zh) 2019-01-18
JP5784118B2 (ja) 2015-09-24
CN103026728A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
KR101873230B1 (ko) 세컨더리 채널 상의 부분 인증을 통한 콘텐트의 내부 프로세싱을 위한 메커니즘
KR101735682B1 (ko) 데이터 스트림의 부분 암호화를 위한 메커니즘
EP2272251B1 (en) Method, apparatus and system for pre-authentication and processing of data streams
US7412053B1 (en) Cryptographic device with stored key data and method for using stored key data to perform an authentication exchange or self test
KR101483536B1 (ko) 콘텐츠 보호 포트의 사전 인증 및 인증 유지를 위한 방법, 장치 및 시스템
EP2443826B1 (en) Detection of encryption utilizing error detection for received data
US20120027203A1 (en) Interface circuit
US7035290B1 (en) Method and system for temporary interruption of video data transmission
US8185739B2 (en) Method and system for detecting successful authentication of multiple ports in a time-based roving architecture
Zhi et al. Design and verification of High-Bandwidth Digital Content Protection transmitter authentication

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant