KR101355697B1 - 디지털 컨텐츠 보호 방식의 보안 프로비전 - Google Patents

디지털 컨텐츠 보호 방식의 보안 프로비전 Download PDF

Info

Publication number
KR101355697B1
KR101355697B1 KR1020127030566A KR20127030566A KR101355697B1 KR 101355697 B1 KR101355697 B1 KR 101355697B1 KR 1020127030566 A KR1020127030566 A KR 1020127030566A KR 20127030566 A KR20127030566 A KR 20127030566A KR 101355697 B1 KR101355697 B1 KR 101355697B1
Authority
KR
South Korea
Prior art keywords
digital content
security controller
execution environment
content protection
application execution
Prior art date
Application number
KR1020127030566A
Other languages
English (en)
Inventor
창리앙 왕
페리야카루판 쿠마란 칼라이야판
시아오유 루안
라드하크리쉬난 벤카타라만
스코트 야누스
쯔 센 펑
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Application granted granted Critical
Publication of KR101355697B1 publication Critical patent/KR101355697B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

디지털 컨텐츠 보호 방식을 안전하게 프로비저닝하는 것과 관련된 방법, 장치 및 저장 매체가 개시된다. 다양한 실시예들에서, 방법은 디바이스의 애플리케이션 실행 환경 내의 미디어 애플리케이션과 상기 디바이스의 보안 제어기 사이에서 신뢰 관계를 형성하는 것을 포함할 수 있다. 상기 애플리케이션 실행 환경은 운영체제를 포함할 수 있고, 상기 운영체제는 상기 애플리케이션 실행 환경 내의 자원들을 제어할 수 있다. 또한, 상기 보안 제어기는 상기 애플리케이션 실행 환경의 외부에 존재하여서, 상기 보안 제어기의 컴포넌트들이 상기 운영체제의 컴포넌트들로부터 보안이 되는 것을 가능하게 할 수 있다. 또한, 상기 방법은 디지털 컨텐츠 보호 가능 수신기로의 프로비전을 위해서, 상기 애플리케이션 실행 환경 내의 디지털 컨텐츠 보호 가능 송신기로 디지털 컨텐츠를 제공하도록 상기 미디어 애플리케이션의 디지털 컨텐츠 보호 방식을 인에이블하는 보안 제어기를 포함할 수 있다. 그 밖의 실시예들이 개시 또는 청구될 수 있다.

Description

디지털 컨텐츠 보호 방식의 보안 프로비전{SECURE PROVISION OF A DIGITAL CONTENT PROTECTION SCHEME}
본 발명은 데이터 처리의 기술 분야에 관한 것이고, 보다 구체적으로는 디지털 컨텐츠 보호 방식의 보안 프로비전과 관련된 방법 및 장치에 관한 것이다.
본 명세서에서 제공되는 배경 기술은 일반적으로 본 발명의 컨텍스트를 제공할 목적을 위한 것이다. 본 명세서에서 달리 표시되지 않는다면, 이 섹션에 기술된 내용들은 본 발명의 청구범위들에 대한 종래 기술이 아니며, 이 섹션에 포함되는 것에 의해 종래 기술로 인정되는 것이 아니다.
디지털 컨텐츠의 안전한 재생은 그래픽 유닛에서 디스플레이 유닛으로 전송시에 디지털 컨텐츠의 보호를 종종 요구한다. 전송 동안의 불법 복제로부터 디지털 컨텐츠를 보호하기 위한 다양한 방식들, 예를 들어, 오레곤 비버톤의 LLC, 디지털 컨텐츠 보호(Digital Content Protection)로부터 사용가능한 HDCP(high-bandwidth digital content protection)가 개발되어 왔다. 추가 정보에 관해서는, 2009년 7월 8일에 공개된 HDCP 명세 v1.4를 참조한다. 보호 방식들, 예컨대 HDCP는 오픈 소스 운영체제들과 같이 운영체제가 타협에 취약할 경우, 취약할 수 있다. 점점 더 많은 컴퓨팅 디바이스들, 예컨대 PDA(personal digital assistant), 스마트폰, 태블릿 컴퓨터, 등과 같은 모바일 컴퓨팅 디바이스(이하, 단순히 모바일 디바이스)가 오픈 소스 운영체제를 사용함에 따라, 노출은 증가할 것이다.
첨부 도면들에 도시된, 한정이 아닌 예시적 실시예들의 방법에 의해 본 발명의 실시예들을 설명하도록 하며, 여기서 유사한 참조부호들은 유사한 엘리먼트들을 나타낸다.
도 1은 디지털 컨텐츠 보호 방식의 보안 프로비전을 제공하도록 구성된 예시적 컴퓨팅 디바이스를 도시하고;
도 2 및 도 3은 디지털 컨텐츠 보호 방식의 보안 프로비저닝을 위한 방법을 도시하며;
도 4는 도 2 내지 도 3의 방법의 모든 또는 선택된 양태들을 실행하도록 구성된 명령어를 가진 예시적인 비일시적 컴퓨터 판독가능 저장 매체를 도시하며; 모든 도면들은 본 발명의 실시예들에 따라 배치되어 있다.
디지털 컨텐츠 보호 방식의 안전한 프로비저닝과 관련된 방법, 장치 및 저장 매체가 개시된다. 다양한 실시예들에서, 방법은 디바이스의 애플리케이션 실행 환경 내의 미디어 애플리케이션과 상기 디바이스의 보안 제어기 사이에서 신뢰 관계를 형성하는 것을 포함할 수 있다. 상기 애플리케이션 실행 환경은 운영체제를 포함할 수 있고, 상기 운영체제는 상기 애플리케이션 실행 환경 내의 자원들을 제어할 수 있다. 또한, 상기 보안 제어기는 상기 애플리케이션 실행 환경의 외부에 존재하여서, 상기 보안 제어기의 컴포넌트들이 상기 운영체제의 컴포넌트들로부터 보안이 되는 것을 가능하게 할 수 있다. 또한, 상기 방법은 (직접 또는 하나 이상의 중간의 디지털 컨텐츠 보호 가능 리피터를 통한) 디지털 컨텐츠 보호 가능 수신기로의 프로비전을 위해서, 상기 애플리케이션 실행 환경 내의 디지털 컨텐츠 보호 가능 송신기로 디지털 컨텐츠를 제공하도록 상기 미디어 애플리케이션의 디지털 컨텐츠 보호 방식을 프로비저닝(예컨대, 인에이블링 및/또는 구성)하는 보안 제어기를 포함할 수 있다.
다양한 예시적 실시예들의 양태들이 당업자가 다른 당업자에게 그들의 작업의 내용을 전달하는데 일반적으로 사용되는 용어들을 사용하여 기술될 것이다. 그러나, 여기에 기술된 양태들 중의 일부만을 가지고 다른 실시예들이 실시될 수 있다는 것은 당업자에게 자명할 것이다. 본 예시적 실시예들의 완전한 이해를 제공하기 위해, 설명의 목적으로, 특정 번호, 내용, 및 구성이 기술되어 있다. 그러나, 특정 상세들이 없이도 다른 실시예들이 실시될 수 있다는 것은 당업자에게 자명할 것이다. 다른 예들에서는, 본 예시적 실시예들을 모호화하지 않도록 하기 위해 공지의 특징들을 생략 또는 단순화하였다.
본 예시적 실시예들을 이해하는데 가장 도움이 되는 방식으로, 다양한 동작들이 복수의 개별 동작들로서 기술될 것이다; 그러나, 설명의 순서는 이들 동작들이 필수적으로 의존하는 순서를 나타내는 것으로 해석되어서는 안된다. 특히, 이들 동작들은 나타나 있는 순서로 수행될 것을 필요로 하지 않는다. 또한, 개별 동작들로서의 동작들의 설명은 그 동작들이 반드시 그에 따라 및/또는 개별 엔티티들로서 수행될 필요가 있는 것으로 해석되어서는 안된다. 마찬가지로, 개별 모듈들로서 엔티티들 및/또는 모듈들을 설명한 것이 그 모듈들이 개별적이고/이거나 개별 동작들을 수행할 것을 요구하는 것으로 해석되어서는 안된다. 다양한 실시예들에서, 도시 및/또는 기술된 동작들, 엔티티들, 데이터, 및/또는 모듈들은 통합되거나, 다른 하위-부품들로 분해될 수 있으며/있거나 생략될 수도 있다.
용어 "일 실시예에서" 또는 "실시예에서" 가 반복 사용된다. 이 용어는 일반적으로 동일한 실시예를 지칭하지 않는다; 그러나, 그럴 수도 있다. 용어 "구비하는", "가지는" 및 "포함하는"은 컨텍스트가 달리 나타내지 않는다면 동의어이다. 용어 "A/B"는 "A 또는 B"를 의미한다. 용어 "A 및/또는 B"는 "(A), (B), 또는 (A 및 B)"를 의미한다. 용어 "A, B 및 C 중의 적어도 하나"는 "(A), (B), (C), (A 및 B), (A 및 C), (B 및 C) 또는 (A, B 및 C)"를 의미한다.
도 1은 본 발명의 다양한 실시예들에 따라, 안전한 디지털 컨텐츠 보호를 제공하도록 구성된 예시적 컴퓨팅 디바이스를 도시하고 있다. 도시된 바와 같이, 예시적 실시예들에 있어서, 컴퓨팅 디바이스(100)는 서로 연결되어 있는 애플리케이션 실행 환경(AEE; application execution environment)(102) 및 보안 제어기(132)를 포함할 수 있다. AEE(102)는 그 내부에서 작동하는 미디어 애플리케이션(112) 및 운영체제(OS)(114)를 구비하도록 구성된 프로세서 및 메모리 장치(104), 그래픽 유닛(106), 및 디스플레이 유닛(108)을 포함할 수 있다. 보안 제어기(132)는 프로세서 및 메모리 장치(133), 인증 서비스(136) 및 HDCP 드라이버(134)를 포함할 수 있다. 아래에서 더 상세하게 기술되는 바와 같이, OS(114)와 보안 제어기(132)는 본 발명의 교시와 통합됨으로써, 그래픽 유닛(106)으로부터 디스플레이 유닛(108)으로 전송시의 불법 복제로부터 디지털 컨텐츠를 보다 양호하게 보호할 수 있다. 특히, 다양한 실시예들에서, 그래픽 유닛(106)은 HDCP 레지스터(128) 및 HDCP 송신기(124)를 포함할 수 있고, 디스플레이 유닛(108)은 HDCP 수신기(126)와 통합될 수 있으며, 모든 것은 HDCP에 따라 디지털 컨텐츠를 안전하게 재생하도록 구성된다. 이 실시예들에 있어서, OS(114)와 보안 제어기(132)(특히, 인증 서비스(136) 및 HDCP 드라이버(134))는 또한 본 발명의 교시와 통합됨으로써 HDCP 방식하의 불법 복제로부터 디지털 컨텐츠를 보다 양호하게 보호할 수 있다. 다양한 실시예들에서, 인증 서비스(136)와 HDCP 드라이버(134)는 보안 제어기(132)의 펌웨어로서 구현될 수 있다. 다양한 실시예들에서, 하나 이상의 중간의 HDCP 리피터들(미도시)이 HDCP 송신기(124)와 HDCP 수신기(126) 사이에 배치될 수 있다. 또한, 디스플레이 유닛(108)은 단지 HDCP 수신기가 아닌 HDCP 리피터와 통합될 수도 있다. 따라서, 본 상세한 설명의 "HDCP 수신기"에 대한 모든 후속 참조부호들은, 컨텍스트가 명확히 달리 표시하지 않는다면, "HDCP 수신기" 또는 "HDCP 리피터"로 이해되어야 한다. 이해의 용이함을 위해, HDCP 방식 하에서 불법 복제로부터 디지털 컨텐츠의 보호를 인에이블링/구성하는 더욱 양호한(예컨대, 최적의) 보안성을 제공하는 것의 컨텍스트로 나머지 설명부분이 실질적으로 제공될 것이다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 다른 디지털 컨텐츠 보호 방식들 하에서의 불법 복제로부터도 디지털 컨텐츠의 보호를 인에이블링/구성하는 더욱 양호한/최적의 보안성을 제공하기 위해 실행될 수도 있다. 이 교시들을 더 설명하기 이전에, 다양한 실시예들에서, HDCP 수신기(126)를 가진 디스플레이 유닛(108)은 AEE(102)의 외부에 위치될 수 있다는 것에 유의해야 한다. 또한, AEE(102)는 다른 컴포넌트들, 예컨대 영구 저장소, 네트워킹 인터페이스, 카메라, 가속도계, 글로벌 포지셔닝 등을 포함할 수 있다.
다양한 실시예들에서, 앞서 기술한 바와 같이, 프로세서 및 메모리 장치(104)는 OS(114)와 하나 이상의 미디어 애플리케이션들(112)이 그 내부에서 동작되는 것이 가능하도록 구성될 수 있으며, 프로세서 및 메모리 장치(133)는 인증 서비스(136)와 HDCP 드라이버(134)가 그 내부에서 동작되는 것이 가능하도록 구성될 수 있다. 프로세서 및 메모리 장치(104/133)는 다양한 실행속도 및 전력소모의 싱글 또는 멀티코어 프로세서들 및 하나 이상의 레벨의 캐시들을 가진 각종 아키텍처들, 그리고 각종 타입들, 다이내믹 랜덤 액세스, FLASH 등의 메모리를 구비한 장치들을 포함하며 이에 한정되지 않는 광범위한 프로세서 및 메모리 장치를 나타내는 것으로 의도된다. 유사하게, 미디어 애플리케이션들(112)은 그 동작들 중의 일부가 디스플레이 유닛(108) 상에서의 디지털 미디어 컨텐츠의 재생을 포함하는 임의의 애플리케이션일 수 있다.
다양한 실시예들에서, 그래픽 유닛(106)은 미디어 애플리케이션들(112)과 OS(114)로 그래픽 기능들을 제공하도록 구성될 수 있고, 디스플레이 유닛(108)은 미디어 애플리케이션들(112)과 OS(114)의 출력들을 디스플레이하도록 구성될 수 있다. 또한, 앞서 기술한 바와 같이, 그래픽 유닛(106)은 HDCP 레지스터(128)와 HDCP 송신기(124)를 포함할 수 있는 반면, 디스플레이 유닛(108)은 그래픽 유닛(106)을 통해 디스플레이 유닛(108) 상의 미디어 애플리케이션들(112)에 의해 재생되고 있는 디지털 컨텐츠에 HDCP를 제공하도록 구성된, HDCP 수신기(126)를 포함할 수 있다.
다양한 실시예들에서, OS(114)는 그래픽 유닛(106)에 의해 제공되는 그래픽 기능들을 사용시에 미디어 애플리케이션들(112)과 OS(114)를 용이하게 하도록 구성된 사용자 모드 그래픽 드라이버(116), 및 커널 모드 그래픽 드라이버(118)를 포함하는 다양한 종래 컴포넌트들을 포함할 수도 있다. 또한, 그래픽 드라이버들(116 및 118)의 잠재적 보안 취약점을 더욱 양호하게 처리하기 위해, OS(114)는 보안 제어기(132)를 통해 디스플레이 유닛(108) 상에서 디지털 컨텐츠를 재생시에 미디어 애플리케이션들(112)을 용이하게 하도록 구성된 사용자 모드 HDCP 모듈(120) 및 커널 모드 HDCP 모듈(122)을 더 포함할 수 있으며, 이에 의해 그래픽 유닛(106)에서 디스플레이 유닛(108)으로의 전송시에, 특히, 그래픽 유닛(106)의 HDCP 송신기(124)로부터 디스플레이 유닛(108)의 HDCP 수신기(126)로의 전송시에 디지털 컨텐츠에 대한 더욱 양호한 보호를 제공하게 된다. 사용자 모드 HDCP 모듈(120)과 커널 모드 HDCP 모듈(122)의 사용을 용이하게 하기 위해, 대신에 사용자 모드 그래픽 드라이버(116)는 모든 HDCP 관련 동작들을 사용자 모드 HDCP 모듈(120)로 라우팅하도록 수정될 수 있다. 다양한 실시예들에서, 보안 제어기(132)는 인증 서비스(136)와 HDCP 드라이버(134)에 관한 보안이 된 운영 환경을 제공하여, OS(114)의 컴포넌트들로부터 인증 서비스(136)와 HDCP 드라이버(134)를 격리(sequestering) 또는 쉘터링(sheltering)할 수 있다. 즉, 그것의 컴포넌트들을 포함하는 OS(114)는 보안 제어기(132)의 실행 리소스들에 액세스하지 않으며, 이에 따라 인증 서비스(136)와 HDCP 드라이버(134)에 액세스하지 않는다. 다양한 실시예들에서, 인증 서비스(136)는 미디어 애플리케이션(112)과의 신뢰 관계를 형성하도록 구성되어, 미디어 애플리케이션(112)에 있어서, 보안 제어기(132)가 미디어 애플리케이션(112)의 디지털 컨텐츠를 HDCP 송신기(124)로, 궁극적으로는 HDCP 수신기(126)로 라우팅하는 것을 가능하게 할 수 있다. HDCP 드라이버(134)는 HDCP 송신기(124)를 구동하여, 그것의 HDCP 수신기(126)와의 인터랙션들을 제어하도록 구성될 수 있으며, 이것은 HDCP 방식하의 각종 인증들을 수행함에 있어서 HDCP 송신기(124)를 제어하는 것을 포함한다. 다양한 실시예들에서, 사용자 모드 HDCP 모듈(120) 및 커널 모드 HDCP 모듈(122)은 HDCP 드라이버(134)로의 액세스를 통한 패스(pass)를 제공하도록 구성될 수 있다. 이에 따라, 보안이 된 운영 환경의 장점에 의해서, 보안 제어기(132)는 인증 서비스(136) 및 HDCP 드라이버(134)를 제공하며, 다양한 실시예들에서, OS(114)는 오픈 소스 운영체제일 수 있다.
다양한 실시예들에서, 사용자 모드 HDCP 모듈(120)은 사용자 모드 그래픽 드라이버(116)에 대한 다수의 애플리케이션 프로그래밍 인터페이스(API)를 지원하여 HDCP 관련 동작들을 사용자 모드 HDCP 모듈(120)로 라우팅하도록 구성될 수 있다. 다양한 실시예들에서, API 호출들은 HDCP를 인에블하기 위한 호출, HDCP를 디스에이블하기 위한 호출, HDCP 상태를 요청하기 위한 호출, 및 리포트 백 HDCP 상태(report back HDCP status)를 획득하기 위한 호출을 포함할 수 있다. 다양한 실시예들에서, 이 API 호출들은 프로세서 및 메모리 장치(104)의 프로세서들에 의해 지원되는 C 또는 어셈블리 언어와 같은 임의의 고급 언어들로 구현될 수 있다.
다양한 실시예들에서, 사용자 모드 HDCP 모듈(120) 및 커널 모드 HDCP 모듈(122)은 모듈들 사이에서 데이터를 통과시키는 다수의 버퍼들을 사용한다. 다양한 실시예들에서, 커널 모드 HDCP 모듈(122)은 보안 제어기(132)로부터 데이터를 검색하고 그에 대해 데이터를 기입하기 위한 파일 판독 함수 및 파일 기입 함수를 포함한다.
도 2 및 도 3은 다양한 실시예들에 따르는, 디지털 컨텐츠 보호 방식의 보안 프로비저닝을 위한 운영 방법을 도시하고 있다. 도시된 바와 같이, 방법(200)은 도 2에 도시된 파트(200a)와 도 3에 도시된 파트(200b)의, 두 파트로 이루어진다. 도시된 실시예들에 있어서, 방법(200)은 HDCP 드라이버(134)가 사용자 모드 HDCP 모듈(120), 커널 모드 HDCP 모듈(122), 및 인증 서비스(136)를 통해, 미디어 애플리케이션(112)으로부터 HDCP 인에이블 요청을 수신하는 블록(202)에서 시작될 수 있다. 블록(202)으로부터, 프로세스는 인증 서비스(136)가 미디어 애플리케이션(112)에 대한 보안 제어기(132)를 인증할 수 있는 블록(204)으로 진행할 수 있다. 인증시에, HDCP 드라이버(134)는 HDCP 인에이블 요청에 대한 응답으로, 미디어 애플리케이션들(112)과의 통신의 보안 채널을 설정함으로써 미디어 애플리케이션(112)이 보안 제어기(132) 내에서 동작하는 컴포넌트들(특히, HDCP 드라이버(134)를 포함)을 신뢰하는 것을 가능하게 하여 HDCP 동작들을 진행하게 할 수 있다. 다양한 실시예들에서, 보안 채널은 보안 제어기(132)의 프라이버시를 보호하는 암호 인식 프로토콜, 예를 들어, 인텔사에 의해 개발된 EPID(enhanced privacy identification) 프로토콜에 따라 설정될 수 있다.
블록(204)으로부터, 방법(200)은 디스플레이 유닛(108)이 부착되어 있는지의 여부를 HDCP 드라이버(134)가 검출할 수 있는 블록(206)으로 진행할 수 있다. 디스플레이 유닛(108)의 존재가 검출되지 않은 경우, 방법(200)은 블록(206)에서 블록(232)으로, 그 다음에 블록(220)으로 진행할 수 있으며, 여기에서 인증 서비스(136)는 보안 채널의 설정을 해제하여 방법(200)을 종료할 수 있다. 반면에, 디스플레이 유닛(108)의 존재가 검출된 경우, 방법(200)은 블록(206)에서 블록(208)으로 진행할 수 있으며, 블록(208)에서는 HDCP 키가 로딩되었는지의 여부를 HDCP 드라이버(134)가 검출할 수 있다. 로딩된 HDCP 키의 검출시에, 방법(200)은 블록(212)으로 진행할 수 있다. 그러나, 어떠한 HDCP 키도 검출되지 않은 경우, 방법(200)은 블록(212)으로 진행하기 이전에, HDCP 드라이버(134)가 HDCP 키를 로딩할 수 있는 블록(210)으로 진행할 수 있다. 블록(212)에서, HDCP 드라이버(134)는 HDCP 동작에 대해, 시스템 갱신가능성 메시지(SRM:system renewability message) 데이터를 위해 HDCP 인에이블 요청(또는 미디어 애플리케이션(112)으로부터의 다른 통신들)을 파싱(parsing)할 수 있다.
블록(212)으로부터, 방법(200)은 HDCP 수신기(126)의 크리덴셜(credential)이 취소되었는지의 여부를 HDCP 드라이버(134)가 판정할 수 있는 블록(214)으로 진행할 수 있다. HDCP 수신기(126)의 크리덴셜이 취소된 경우(HDCP의 크리덴셜 권한에 의해), 방법(200)은 블록(214)에서 블록들(232 및 220)로 진행하여, 앞서 설명한 바와 같이 종료될 수 있다. 반면에, HDCP 수신기(126)의 크리덴셜이 취소되지 않은 경우, 방법(200)은 블록(216)으로 진행할 수 있으며, 블록(216)에서는 HDCP 드라이버(134)가 HDCP 송신기(124)를 구동하여 HDCP 수신기(126)와의 HDCP 인증(파트-1)을 수행할 수 있다.
블록(216)으로부터, HDCP 수신기(126)를 인증하는 것에 대한 실패시에, 방법(200)은 블록들(232 및 220)로 진행하여, 앞서 설명한 바와 같이 종료될 수 있다. 그러나, HDCP 수신기(126)의 인증 성공시에는, 방법(200)이 블록(222)으로 진행할 수 있으며, 블록(222)에서는 HDCP 수신기가 리피터인지의 여부를 HDCP 드라이버(134)가 판정할 수 있다. HDCP 수신기가 리피터인 것으로 판정시에, 방법(200)은 블록(224)으로 진행할 수 있으며, 블록(224)에서는 HDCP 드라이버(134)가 HDCP 송신기(124)를 구동하여 리피터들에 관한 HDCP 인증(파트-2)을 수행할 수 있다.
HDCP 수신기가 리피터가 아닌 것으로 판정시에, 또는 HDCP 리피터의 성공적인 인증시에, 방법(200)은 추가 디스플레이 유닛들이 존재하는지의 여부를 HDCP 드라이버(134)가 판정할 수 있는 블록(226)으로 진행할 수 있다. 적어도 다른 추가 디스플레이 유닛이 존재하는 것으로 판정시에, 앞서 설명한 바와 같이, 그 추가 디스플레이 유닛의 HDCP 수신기(또는 추가 디스플레이의 HDCP 수신기에 대한 중간의 리피터)를 인증하는 블록(214)으로 진행할 수 있다.
디스플레이 유닛들의 모든 HDCP 수신기들(임의의 중간 리피터들을 포함)이 인증된 것으로 결정시에, 방법(200)은 블록(228)으로 진행할 수 있으며, 블록(228)에서는 (인증된 HDCP 송신기 및/또는 리피터를 통해) 검출된 디스플레이 유닛들의 인증된 HDCP 수신기들로 디지털 컨텐츠를 라우팅할 수 있다. HDCP 송신기로부터 HDCP 수신기로의 디지털 컨텐츠의 라우팅은 암호화될 수 있다. 블록(228)에서는, 비디오 디지털 컨텐츠에 관해, HDCP 드라이버(134)가 HDCP 송신기(124) 및 HDCP 수신기(126)를 구동하여 비디오 디지털 컨텐츠의 수직 귀선 소거 기간(vertical blanking intervals) 동안, 비디오 디지털 컨텐츠의 암호화 및 복호화를 위한 HDCP 인증(파트-3)을 수행할 수도 있다.
블록(228)으로부터, 방법(200)은 블록(230)으로 진행할 수 있으며, 블록(230)에서는 HDCP 드라이버(134)가 임의의 HDCP 파트-3 인증 실패를 검출할 수 있으며, 또는 미디어 애플리케이션(112)에 의한 디지털 컨텐츠의 재생을 종료할 수 있다. 어떤 상태도 검출되지 않은 경우, 방법(200)은 블록(228)으로 복귀하여, 앞서 설명한 바와 같은 동작들을 계속할 수 있다. 반면에, HDCP 파트-3 인증 실패 또는 재생 종료가 검출된 경우, 방법(200)은 블록(232)으로 진행할 수 있으며, 블록(232)에서는 인증 서비스(136)가 보안 제어기(132)와 미디어 애플리케이션(112) 간의 보안 채널 설정을 해제할 수 있다. 그 후에, 방법(200)은 블록(220)으로 진행할 수 있으며, 여기에서 방법(200)이 종료될 수 있다.
HDCP에 대한 추가 정보에 관해서는, 앞서 확인된 HDCP 명세 v1.4를 참조한다.
도 4는 본 발명의 다양한 실시예들에 따르는, 도 2 내지 도 3의 방법의 모든 양태 또는 선택된 양태를 실행하도록 구성된 명령어를 가진 예시적인 비일시적 컴퓨터 판독가능 저장 매체를 도시하고 있다. 도시된 바와 같이, 비일시적 컴퓨터 판독가능 저장 매체(402)는 다수의 프로그래밍 명령어(404)를 포함할 수 있다. 프로그래밍 명령어(404)는 프로그래밍 명령어의 실행에 대한 응답으로 컴퓨팅 디바이스(100)가 도 2 내지 도 3을 참조하여 앞서 설명한 방법(200)의 인증 서비스 및/또는 HDCP 드라이버 동작들을 수행하는 것을 가능하게 하도록 구성될 수 있다. 다른 실시예들에서, 프로그래밍 명령어(404)는 대신에 복수의 비일시적 컴퓨터 판독가능 저장 매체(402) 상에 배치될 수도 있다. 앞서 기술한 바와 같이, 다양한 실시예들에서, 프로그래밍 명령어는 보안 제어기(132)의 펌웨어로서 HDCP 드라이버(134) 및 인증 서비스(136)를 구현하도록 구성될 수 있다.
다시 도 1을 참조하면, 일 실시예에 있어서, 프로세서 및 메모리 장치(133)의 프로세서(들) 중의 적어도 하나가 도 2 내지 도 3의 방법을 실행하도록 구성된 계산 로직과 함께 패키징될 수 있다. 일 실시예에서, 프로세서 및 메모리 장치(133)의 프로세서(들) 중의 적어도 하나는 도 2 내지 도 3의 방법을 실행하도록 구성된 계산 로직과 함께 패키징되어 SiP(System in Package)를 형성할 수 있다. 일 실시예에서, 프로세서 및 메모리 장치(133)의 프로세서(들) 중의 적어도 하나는 도 2 내지 도 3의 방법을 실행하도록 구성된 계산 로직과 동일한 다이(die) 상에서 집적될 수 있다. 일 실시예에서, 프로세서 및 메모리 장치(133)의 프로세서(들) 중의 적어도 하나는 도 2 내지 도 3의 방법을 실행하도록 구성된 계산 로직과 동일한 다이 상에 집적되어 SoC(System on Chip)를 형성할 수 있다. 적어도 하나의 실시예에서, SoC 는 스마트폰, 셀폰, 태블릿, 또는 그 밖의 모바일 디바이스에서 사용될 수 있다.
본 명세서에서는 특정 실시예들을 도시 및 기술하였지만, 본 발명의 실시예들의 범위를 일탈함 없이도 그 도시 및 기술된 특정 실시예들이 각종 다른 구현 및/또는 균등 구현으로 대체될 수 있다는 것을 당업자는 인식할 것이다. 본 발명은 본 명세서에서 설명된 실시예들의 임의의 적응들 또는 변형들을 포괄하는 것으로 의도된다. 따라서, 본 발명의 실시예들은 청구범위 및 그것의 균등물에 의해서만 한정되는 것으로 명백히 의도된다.

Claims (31)

  1. 디바이스의 보안 제어기(132)에 의한 명령어의 실행에 응답하여, 상기 디바이스의 보안 제어기가 상기 디바이스로 격리된(sequestered) 디지털 컨텐츠 보호 프로비전(provision) 서비스(134+136)를 제공하는 것을 가능하게 하도록 구성된 복수의 명령어를 가진 적어도 하나의 비일시적(non-transitiory) 컴퓨터 판독가능 저장 매체로서,
    상기 디바이스의 애플리케이션 실행 환경(102) 내의 미디어 애플리케이션(112)과 상기 보안 제어기(132) 사이의 신뢰 관계를 형성하도록 구성된 인증 서비스(136) -상기 애플리케이션 실행 환경은 운영체제(114)를 포함하고, 상기 운영체제는 상기 애플리케이션 실행 환경 내의 자원들을 제어하며, 상기 보안 제어기는 상기 애플리케이션 실행 환경의 외부에 존재하여 상기 보안 제어기의 컴포넌트들이 상기 운영체제의 컴포넌트들(116, 118, 120, 122)로부터 보안이 되는 것을 가능하게 함- 와,
    상기 애플리케이션 실행 환경의 디스플레이 내의 디지털 컨텐츠 보호 가능 수신기(126)로의 프로비전을 위해 상기 애플리케이션 실행 환경 내의 디지털 컨텐츠 보호 가능 송신기(124)에 디지털 컨텐츠를 제공하도록, 상기 미디어 애플리케이션의 디지털 컨텐츠 보호 방식을 프로비저닝(provisioning)하도록 구성된 디지털 컨텐츠 보호 드라이버(134)를 포함하는
    컴퓨터 판독가능 저장 매체.

  2. 제 1 항에 있어서,
    상기 인증 서비스는 상기 미디어 애플리케이션에 대해 상기 보안 제어기를 암호 인증하여 상기 보안 제어기의 프라이버시를 보호하도록 구성되는
    컴퓨터 판독가능 저장 매체.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 디지털 컨텐츠 보호 드라이버는,
    상기 미디어 애플리케이션과 통신의 보안 채널을 설정하거나,
    상기 애플리케이션 실행 환경 내의 커널 모드 디지털 컨텐츠 보호 모듈을 통해 상기 미디어 애플리케이션과 통신하거나,
    디지털 컨텐츠 보호 키가 로딩되었는지의 여부를 판정하고, 상기 디지털 컨텐츠 보호 키가 로딩되지 않았다는 판정에 응답하여, 상기 디지털 컨텐츠 보호 키를 로딩하거나,
    디지털 컨텐츠 보호 키가 로딩되었다는 판정 이후에, 시스템 갱신가능성 데이터를 위해 상기 미디어 애플리케이션으로부터의 통신을 파싱(parsing)하거나,
    상기 디지털 컨텐츠 보호 가능 송신기를 구동하여 상기 디지털 컨텐츠 보호 가능 수신기를 인증하거나,
    미디어 컨텐츠를 재생하기 위한 인증이 취소되었는지의 여부를 판정하고, 미디어 컨텐츠를 재생하기 위한 상기 인증이 취소되었다는 판정에 응답하여, 미디어 컨텐츠 재생을 차단하거나,
    상기 디지털 컨텐츠 보호 가능 수신기가 리피터(repeater)인지의 여부를 판정하도록 구성되는
    컴퓨터 판독가능 저장 매체.
  4. 제 3 항에 있어서,
    상기 커널 모드 디지털 컨텐츠 보호 모듈은 사용자 모드 디지털 컨텐츠 보호 모듈을 통해 상기 미디어 애플리케이션과 통신하도록 구성되고, 상기 사용자 모드 디지털 컨텐츠 보호 모듈은 사용자 모드 그래픽 드라이버를 통해 상기 미디어 애플리케이션과 통신하도록 구성되며, 상기 사용자 모드 디지털 컨텐츠 보호 모듈과 상기 사용자 모드 그래픽 드라이버는 모두 상기 애플리케이션 실행 환경 내에 존재하는
    컴퓨터 판독가능 저장 매체.
  5. 제 3 항에 있어서,
    상기 디지털 컨텐츠 보호 드라이버는 상기 디지털 컨텐츠 보호 가능 수신기가 리피터인 것으로 판정하면, 상기 디지털 컨텐츠 보호 가능 송신기를 구동하여 상기 리피터를 인증하도록 구성되는
    컴퓨터 판독가능 저장 매체.
  6. 디지털 컨텐츠의 보안 프로비전 방법에 있어서,
    디바이스의 애플리케이션 실행 환경 내의 미디어 애플리케이션과 상기 디바이스의 보안 제어기 사이의 신뢰 관계를 형성하는 단계 -상기 애플리케이션 실행 환경은 운영체제를 포함하고, 상기 운영체제는 상기 애플리케이션 실행 환경 내의 자원들을 제어하며, 상기 보안 제어기는 상기 애플리케이션 실행 환경의 외부에 존재하여 상기 보안 제어기의 컴포넌트들이 상기 운영체제의 컴포넌트들로부터 보안이 되는 것을 가능하게 함- 와,
    상기 보안 제어기에 의해, 상기 애플리케이션 실행 환경의 디지털 컨텐츠 보호 가능 수신기로의 프로비전을 위해 상기 미디어 애플리케이션의 디지털 컨텐츠 보호 방식이 상기 애플리케이션 실행 환경 내의 디지털 컨텐츠 보호 가능 송신기로 디지털 컨텐츠를 제공하는 것을 가능하게 하는 단계를 포함하는
    방법.
  7. 제 6 항에 있어서,
    상기 신뢰 관계를 형성하는 단계는,
    상기 미디어 애플리케이션에 대해 상기 보안 제어기를 암호 인증하여 상기 보안 제어기의 프라이버시를 보호하는 단계를 포함하는
    방법.
  8. 제 6 항에 있어서,
    상기 애플리케이션 실행 환경 내의 디지털 컨텐츠 보호 가능 송신기로 디지털 컨텐츠를 제공하는 것을 가능하게 하는 단계는,
    상기 보안 제어기에 의해, 상기 미디어 애플리케이션과 통신의 보안 채널을 설정하는 단계 또는
    상기 보안 제어기에 의해, 상기 애플리케이션 실행 환경 내의 커널 모드 디지털 컨텐츠 보호 모듈로부터, 상기 미디어 애플리케이션의 디지털 컨텐츠 보호 인에이블먼트 요청을 수신하는 단계를 포함하는
    방법.
  9. 제 6 항에 있어서,
    커널 모드 디지털 컨텐츠 보호 모듈에 의해 사용자 모드 디지털 컨텐츠 보호 모듈로부터 요청을 수신하는 단계와,
    상기 사용자 모드 디지털 컨텐츠 보호 모듈에 의해 사용자 모드 그래픽 드라이버로부터 요청을 수신하는 단계와,
    상기 사용자 모드 그래픽 드라이버에 의해 상기 미디어 애플리케이션로부터 요청을 수신하는 단계를 더 포함하되,
    상기 사용자 모드 디지털 컨텐츠 보호 모듈 및 상기 사용자 모드 그래픽 드라이버 모두는 상기 애플리케이션 실행 환경 내에 존재하는
    방법.
  10. 제 6 항에 있어서,
    상기 보안 제어기에 의해, 디지털 컨텐츠 보호 키가 로딩되었는지의 여부를 판정하는 단계와, 상기 디지털 컨텐츠 보호 키가 로딩되지 않았다는 판정에 응답하여, 상기 보안 제어기에 의해, 상기 디지털 컨텐츠 보호 키를 로딩하는 단계를 더 포함하는
    방법.
  11. 제 6 항에 있어서,
    디지털 컨텐츠 보호 키가 로딩된 것으로 판정한 이후, 상기 보안 제어기에 의해, 시스템 갱신가능성 데이터를 위해 상기 미디어 애플리케이션으로부터의 통신을 파싱하는 단계를 더 포함하는
    방법.
  12. 제 6 항에 있어서,
    상기 보안 제어기에 의해, 상기 디지털 컨텐츠 보호 가능 송신기를 구동하여 상기 디지털 컨텐츠 보호 가능 수신기를 인증하는 단계를 더 포함하는
    방법.
  13. 제 6 항에 있어서,
    상기 보안 제어기에 의해, 미디어 컨텐츠를 재생하기 위한 인증이 취소되었는지의 여부를 판정하는 단계와, 미디어 컨텐츠를 재생하기 위한 상기 인증이 취소되었다는 판정에 응답하여, 상기 보안 제어기에 의해, 미디어 컨텐츠 재생을 차단하는 단계를 더 포함하는
    방법.
  14. 제 6 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 보안 제어기에 의해, 상기 디지털 컨텐츠 보호 가능 수신기가 리피터인지의 여부를 판정하는 단계를 더 포함하는
    방법.
  15. 디지털 컨텐츠의 보안 프로비전 장치로서,
    운영체제, 미디어 애플리케이션 및 디지털 컨텐츠 보호 가능 송신기의 실행을 호스팅하도록 구성된 애플리케이션 실행 환경 -상기 운영체제는 상기 애플리케이션 실행 환경 내의 자원들을 제어하고, 상기 애플리케이션 실행 환경은 디지털 콘텐츠 보호 가능 수신기를 가진 디스플레이를 더 포함함- 과,
    제 6 항 내지 제 13 항 중 어느 한 항에 기재된 방법을 실행하는 보안 제어기 수단을 포함하는
    장치.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
KR1020127030566A 2011-12-01 2011-12-01 디지털 컨텐츠 보호 방식의 보안 프로비전 KR101355697B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/062938 WO2013081623A1 (en) 2011-12-01 2011-12-01 Secure provision of a digital content protection scheme

Publications (1)

Publication Number Publication Date
KR101355697B1 true KR101355697B1 (ko) 2014-01-27

Family

ID=48535915

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127030566A KR101355697B1 (ko) 2011-12-01 2011-12-01 디지털 컨텐츠 보호 방식의 보안 프로비전

Country Status (5)

Country Link
US (1) US8726346B2 (ko)
EP (1) EP2786299A4 (ko)
KR (1) KR101355697B1 (ko)
CN (1) CN103250159B (ko)
WO (1) WO2013081623A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR102100456B1 (ko) * 2013-05-09 2020-04-13 삼성전자주식회사 전자장치에서 디지털 저작권 관리 서비스를 제공하기 위한 장치 및 방법
US10104342B2 (en) 2013-12-18 2018-10-16 Intel Corporation Techniques for secure provisioning of a digital content protection scheme
WO2016042361A1 (en) * 2014-09-18 2016-03-24 Elliptic Technologies Inc. Generic encryption system for nonsecure datapaths
WO2016055823A1 (en) 2014-10-07 2016-04-14 Elliptic Technologies Inc. Side channel communication hardware driver
US10367639B2 (en) 2016-12-29 2019-07-30 Intel Corporation Graphics processor with encrypted kernels
US10853472B2 (en) 2018-06-28 2020-12-01 Intel Corporation System, apparatus and method for independently recovering a credential
US11265172B2 (en) 2018-12-21 2022-03-01 Intel Corporation Methods and apparatus for offloading signature revocation checking on acceleration circuitry

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070009944A (ko) * 2004-05-03 2007-01-19 마이크로소프트 코포레이션 데이터를 보호하기 위한 방법 및 시스템 및 정책 엔진

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043456B2 (en) * 2000-06-05 2006-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Mobile electronic transaction personal proxy
US6961858B2 (en) * 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US7308717B2 (en) * 2001-02-23 2007-12-11 International Business Machines Corporation System and method for supporting digital rights management in an enhanced Java™ 2 runtime environment
FR2826811B1 (fr) * 2001-06-27 2003-11-07 France Telecom Procede d'authentification cryptographique
SE0202451D0 (sv) * 2002-08-15 2002-08-15 Ericsson Telefon Ab L M Flexible Sim-Based DRM agent and architecture
US7703128B2 (en) * 2003-02-13 2010-04-20 Microsoft Corporation Digital identity management
US20040205345A1 (en) * 2003-04-11 2004-10-14 Ripley Michael S. System for identification and revocation of audiovisual titles and replicators
US8166499B2 (en) * 2003-09-18 2012-04-24 General Instrument Corporation Method, apparatus and set-top device for transmitting content to a receiver
US7545932B2 (en) * 2004-10-29 2009-06-09 Thomson Licensing Secure authenticated channel
EP1739957A1 (de) 2005-06-28 2007-01-03 Dynaslice AG System und Verfahren zur Aufnahme und Wiedergabe von Bildern
US7565685B2 (en) * 2005-11-12 2009-07-21 Intel Corporation Operating system independent data management
US8131997B2 (en) * 2007-08-23 2012-03-06 Samsung Electronics Co., Ltd. Method of mutually authenticating between software mobility device and local host and a method of forming input/output (I/O) channel
US8387152B2 (en) * 2008-06-27 2013-02-26 Microsoft Corporation Attested content protection
US8213618B2 (en) 2008-12-30 2012-07-03 Intel Corporation Protecting content on client platforms
US20110013772A1 (en) * 2009-07-20 2011-01-20 Transwitch Corporation Method and Apparatus for Fast Switching Between Source Multimedia Devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070009944A (ko) * 2004-05-03 2007-01-19 마이크로소프트 코포레이션 데이터를 보호하기 위한 방법 및 시스템 및 정책 엔진

Also Published As

Publication number Publication date
EP2786299A1 (en) 2014-10-08
WO2013081623A1 (en) 2013-06-06
CN103250159B (zh) 2016-06-01
US8726346B2 (en) 2014-05-13
EP2786299A4 (en) 2015-08-05
US20130145424A1 (en) 2013-06-06
CN103250159A (zh) 2013-08-14

Similar Documents

Publication Publication Date Title
KR101355697B1 (ko) 디지털 컨텐츠 보호 방식의 보안 프로비전
US11848753B2 (en) Securing audio communications
EP2877955B1 (en) Providing access to encrypted data
US8356361B2 (en) Secure co-processing memory controller integrated into an embedded memory subsystem
EP3198782B1 (en) Securing sensor data
US9866539B2 (en) System and method for protecting transmission of audio data from microphone to application processes
US20160275018A1 (en) Cache and data organization for memory protection
US9563747B2 (en) Method for providing DRM service and electronic device thereof
US9792438B2 (en) Protecting user input against focus change
US11520859B2 (en) Display of protected content using trusted execution environment
KR20180052695A (ko) 제어된 암호화 키 관리에 의해 보호되는 소프트웨어 모듈들에 대한 보안 진입 및 탈출
CN105956420B (zh) 数字内容保护方案的安全提供
US11588641B2 (en) Electronic apparatus and controlling method thereof
EP3239887B1 (en) System and method for protecting transmission of audio data from microphone to application processes
KR101776845B1 (ko) 키 조작에 대한 보호

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180103

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190103

Year of fee payment: 6