KR102151284B1 - 미디어 보안 제어기를 이용한 미디어 아이템들의 보호 - Google Patents

미디어 보안 제어기를 이용한 미디어 아이템들의 보호 Download PDF

Info

Publication number
KR102151284B1
KR102151284B1 KR1020157001235A KR20157001235A KR102151284B1 KR 102151284 B1 KR102151284 B1 KR 102151284B1 KR 1020157001235 A KR1020157001235 A KR 1020157001235A KR 20157001235 A KR20157001235 A KR 20157001235A KR 102151284 B1 KR102151284 B1 KR 102151284B1
Authority
KR
South Korea
Prior art keywords
data
media
security controller
rendering device
rendering
Prior art date
Application number
KR1020157001235A
Other languages
English (en)
Other versions
KR20150037840A (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 KR20150037840A publication Critical patent/KR20150037840A/ko
Application granted granted Critical
Publication of KR102151284B1 publication Critical patent/KR102151284B1/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]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1062Editing
    • 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]

Abstract

미디어 저장 디바이스는 미디어 보안 제어기 및 렌더링 디바이스에 의해 렌더링될 미디어 아이템에 관련되는 데이터를 저장하기 위한 메모리를 포함한다. 미디어 보안 제어기는 렌더링 디바이스가 인가 파일을 판독하는 것에 응답하여 메시지를 전송한다. 메시지는 렌더링 디바이스가 메모리로부터 데이터의 부분을 판독하게 하고 데이터의 부분을 미디어 보안 제어기에 제공하게 하는 것이다. 미디어 보안 제어기는 렌더링 디바이스로부터 데이터의 부분을 수신하고, 데이터의 부분을 변환하며, 데이터의 변환된 부분을 렌더링 디바이스로 전송한다.

Description

미디어 보안 제어기를 이용한 미디어 아이템들의 보호{PROTECTING MEDIA ITEMS USING A MEDIA SECURITY CONTROLLER}
관련 출원들
본 출원은 2012년 7월 18일자로 출원된 미국 가출원 제61/673,023호 및 2012년 8월 15일자로 출원된 미국 가출원 제61/683,679호의 이익을 주장하며, 이들은 참조에 의해 통합된다.
기술분야
본 개시물은 미디어 아이템들을 보호하는 것에 관한 것으로, 보다 구체적으로는, 미디어 보안 제어기 (media security controller; MSC) 를 이용하여 미디어 아이템들을 보호하는 기법에 관한 것이다.
디지털 포맷의 콘텐츠 (예를 들어, 영화들, 음악, 책들, 이미지들, 문서들 등) 의 다운로딩이 컨텐츠 배포의 방법으로서 점점 더 흔해짐에 따라, 저작권 침해 (piracy) 를 방지 및/또는 식별하기 위해 콘텐츠를 보안하는 문제가 콘텐츠 제작자들 (예를 들어, 영화 스튜디오들, 음반 회사들, 출판사들 등) 에게 큰 관심사가 되었다. 종래의 미디어 저장 디바이스들은, 호스트 디바이스 (예를 들어, 미디어 플레이어) 가 그 미디어 저장 디바이스 상의 공중 파티션 (public partition) 내의 미디어 파일에 액세스할 수 있다는 것을 보장하기 위해 미디어 보안 제어기를 포함할 수도 있다. 일반적으로, 미디어 보안 제어기들은 미디어 아이템의 렌더링을 제한하기 위한 보안 특징들을 구현하는 능력이 부족하다. 종래, 인가 키 (authorization key) 들 및 보안은 호스트 디바이스에 의해 관리된다. 호스트 디바이스는 통상 미디어 파일(들)의 복호화 및 플레이백을 가능하게 하기 위해 인가 키들을 저장한다. 종래의 솔루션들은, 호스트 디바이스가 손상 (예를 들어, 해킹) 된다면, 인가 키들이 다른 디바이스들에 의해 이용될 수도 있고, 이러한 공격들이 미디어에 의해 제한 또는 차단되지 않는다는 점에서 제한된 보안을 제공한다.
본 개시물은 이하 주어진 상세한 설명으로부터, 그리고 본 개시물의 다양한 구현들의 첨부 도면들로부터 보다 완전히 이해될 것이다.
도 1 은 하나 이상의 구현들에 따른, 예시적인 시스템 아키텍처를 예시한다.
도 2 는 하나 이상의 구현들에 따른, 일 예의 미디어 저장 디바이스를 예시한다.
도 3 은 다양한 구현들에 따른, 미디어 보안 제어기를 이용하여 미디어 아이템들을 보호하기 위한 인가 파일 내의 예시적인 명령들을 예시한다.
도 4 는 다양한 구현들에 따른, 미디어 아이템을 보호하기 위한 미디어 저장 디바이스와 렌더링 디바이스 간의 통신의 일 예의 다이어그램이다.
도 5 는 다양한 구현들에 따른, 미디어 아이템을 보호하기 위한 미디어 저장 디바이스와 렌더링 디바이스 간의 통신의 일 예의 다이어그램이다.
도 6 은 다양한 구현들에 따른, 미디어 보안 제어기를 이용하여 미디어 아이템을 보호하기 위한 예시적인 키 관리 명령들을 예시한다.
도 7 은 다양한 구현들에 따른, 본 명세서에 설명된 미디어 보안 제어기의 동작들 중 하나 이상을 수행할 수도 있는 일 예의 컴퓨터 시스템의 블록 다이어그램이다.
도 8 은 다양한 구현들에 따른, 본 명세서에 설명된 보안 모듈의 동작들 중 하나 이상을 수행할 수도 있는 일 예의 컴퓨터 시스템의 블록 다이어그램이다.
다양한 구현들에 따라, 미디어 보안 제어기 (media security controller; MSC) 를 수반하는 미디어 아이템들을 보호하기 위한 시스템 및 방법이 설명된다. 렌더링 디바이스는 미디어 저장 디바이스로부터 미디어 데이터를 획득할 수도 있지만, 미디어 데이터를 독립적으로 해석가능하지 않을 수도 있다. 미디어 데이터를 이해하기 위하여, 렌더링 디바이스는 미디어 데이터를 MSC 로 포워딩할 수 있고, MSC 는 렌더링 디바이스가 미디어 데이터를 해석하는 것을 허용하기 위해 미디어 데이터를 변환 (예를 들어, 복호화, 암호화, 압축 등) 할 수 있다. 이렇게 하여, 미디어 파일을 렌더링하는 렌더링 디바이스의 능력은 그 렌더링 디바이스의 MSC 와의 상호작용들에 의존한다. 종래의 미디어 제어기들과 달리, MSC 구현들은 미디어 디바이스들에 보안 지능 (security intelligence) 을 부가하고, MSC 는 렌더링 디바이스와 렌더링될 미디어 파일 간의 중재자 (intermediary) 로서의 역할을 한다. 또한, 종래의 미디어 제어기들과 달리, MSC 구현들은 미디어 그 자체 상에 저장된 것들을 포함한 미디어 아이템들에 대한 인가 키들을 내부적으로 저장 및 관리할 수 있다. 예를 들어, MSC 는 렌더링 디바이스가 미디어 파일을 렌더링하기 위해 이용해야 하는 정보 (예를 들어, 보안 동작에서 인가 키를 이용함으로써 획득됨) 를 렌더링 디바이스에 제공할 수 있다. 다른 예에서, MSC 는 렌더링 디바이스를 위해 미디어 파일의 부분을 복호화할 수 있고, 복호화된 부분을 (예를 들어, 직접 플레이되도록, 다른 데이터와 조합되도록, 추가 복호화되도록 등등) 렌더링 디바이스에 제공할 수 있다. MSC들을 이용한 시스템들은 콘텐츠 제공자들 (예를 들어, 미디어 발행자들, 배포자들) 이, MSC 가 렌더링 프로세스에 관련된다는 것을 보장하는 것을 허용한다. 예를 들어, 발행자는, 미디어 아이템의 부분 또는 미디어 데이터 복호화 키들 중 하나가 MSC 에 의해 복호화되도록 미디어 아이템의 라이센싱을 구성할 수도 있다.
미디어 아이템의 예들은, 디지털 영화들, 디지털 비디오, 디지털 사진들, 디지털 음악, 웹사이트 콘텐츠, 소셜 미디어 업데이트들, 전자 책들 (ebook들), 전자 매거진들, 디지털 신문들, 디지털 오디오 책들, 전자 저널들, 웹 블로그들, RSS (real simple syndication) 피드들, 전자 만화책들, 소프트웨어 애플리케이션들 등을 포함할 수 있으며, 이들에 제한되지는 않는다.
미디어 아이템은 인터넷 또는 다른 네트워크들을 통해 (이를 테면 미디어 아이템을 미디어 디바이스로부터 원격 디바이스로 스트리밍함으로써) 소비될 수 있고 및/또는 보다 직접적으로는 애플리케이션 또는 로컬 접속된 디바이스를 통해 소비될 수 있다. 간략화 및 단순화를 위해, 디지털 영화 (이하 영화로도 지칭됨) 는 이 문서 전반에 걸쳐 미디어 아이템의 일 예로서 사용된다. 본 명세서에 사용한 바와 같이, "디지털 콘텐츠", "미디어", "미디어 아이템", "온라인 미디어 아이템", "디지털 미디어", 및 "디지털 미디어 아이템" 은 미디어 아이템을 사용자에게 제시하도록 구성된 소프트웨어, 펌웨어, 및/또는 하드웨어를 이용하여 플레이, 실행 또는 로딩될 수 있는 전자 파일을 포함할 수 있다.
도 1 은 다양한 구현들에 따른, 예시적인 시스템 아키텍처 (100) 를 예시한다. 시스템 아키텍처 (100) 는 하나 이상의 네트워크들 (150) 을 통해 커플링되는, 하나 이상의 콘텐츠 제공자들 (103, 105) (예를 들어, 미디어 아이템 발행자들) 과 연관된 하나 이상의 서버들 (110, 115), 하나 이상의 키 발행 (issuance) 서버들 (120), 하나 이상의 미디어 저장 디바이스들 (130, 131), 및 하나 이상의 렌더링 디바이스들 (160) 을 포함할 수 있다.
하나 이상의 네트워크들 (150) 은 하나 이상의 공중 네트워크들 (예를 들어, 인터넷), 하나 이상의 사설 네트워크들 (예를 들어, 로컬 영역 네트워크 (LAN) 또는 하나 이상의 광역 네트워크들 (WAN)), 하나 이상의 유선 네트워크들 (예를 들어, 이더넷 네트워크), 하나 이상의 무선 네트워크들 (예를 들어, 802.11 네트워크 또는 Wi-Fi 네트워크), 하나 이상의 셀룰러 네트워크들 (예를 들어, 롱 텀 에볼루션 (LTE) 네트워크), 라우터들, 허브들, 스위치들, 서버 컴퓨터들, 및/또는 이들의 조합을 포함할 수 있다.
렌더링 디바이스들 (160) 은 미디어 아이템들을 렌더링하기 위한 디바이스들을 포함할 수 있고, 휴대용 미디어 플레이어들, 넷북들, 랩톱 컴퓨터들, 전자 책 리더들, 태블릿 컴퓨터들, 데스크톱 컴퓨터들, 셋톱 박스들, 게이밍 콘솔들, 텔레비전들, 셀룰러 전화기들, 개인 휴대 정보 단말기들 (PDA들) 등일 수도 있다 (그러나 이들에 제한되지는 않는다). 렌더링 디바이스 (160) 기능성은 하드웨어 또는 소프트웨어, 또는 이들의 조합에서 구현될 수도 있다. 렌더링 디바이스 (160) 는 또한 컴포넌트, 이를 테면 그래픽 카드/가속기, 미디어 인터페이스, 또는 조건부 (conditional) 액세스 디바이스에서 구현될 수 있다. 렌더링 디바이스 (160) 는 원격 제어, 터치 스크린, 키보드, 마우스, 제스처 입력, 또는 임의의 다른 입력 디바이스에 의해 제어될 수도 있다. 렌더링 디바이스 (160) 는 인터넷 (또는 다른 네트워크) 접속성을 가질 수도 있고, 그 접속성은 산발적일 수도 있다. (예를 들어, 네트워크 접속성은 콘텐츠를 다운로딩하거나 또는 디바이스들 간의 콘텐츠의 전송을 인가하기 위해 요구될 수도 있지만, 오프라인 또는 저대역폭 환경에서 플레이백을 허용하기 위해서 플레이백 동안 요구되지 않을 수도 있다). 렌더링 디바이스 (160) 는 미디어와 인터페이스하고 사용자에게 비디오를 출력하는 능력은 물론, 암호 키 (cryptographic key) 들 및 보안 로직을 내부적으로 포함할 수 있다. 렌더링 디바이스 (160) 는 사용자가 다양한 비디오 스트림들을 선택 및 관리하게 하는 능력 (예를 들어, DVD 포맷에서 채용된 시스템과 같이 가장 기본적일 수 있는 메뉴잉 시스템 또는 블루레이 (Blu-ray) 상에서 채용된 BD-J 와 같이 보다 정교하고 및/또는 프로그램가능한 능력들) 은 물론, 비디오 압축해제 지원 (예를 들어, MPEG2, H.264 및/또는 HEVC 코덱) 을 포함할 수 있다.
개개의 렌더링 디바이스들 (160) 은 미디어 뷰어 (163) 를 포함할 수 있다. 하나의 구현에서, 미디어 뷰어들 (163) 은 영화들 등과 같은 미디어 아이템들을 사용자들이 뷰잉하는 것을 허용하는 애플리케이션들이다. 예를 들어, 미디어 뷰어 (163) 는 비디오 디코딩 능력들 (예를 들어, MPEG-2, MPEG-4/H.264, VC-1, 또는 다른 압축 표준들용 코덱들), 및 오디오 디코딩 능력들을 포함할 수도 있다. 미디어 뷰어 (163) 는, 일부 구현들에서, 사용자가 플레이할 콘텐츠를 선택하거나 그 콘텐츠와 상호작용할 수 있도록 하는 사용자 인터페이스 엘리먼트들을 포함할 수도 있고, 미디어 저장 디바이스 (131) 상에 포함되거나 또는 다른 소스들 (예를 들어, 웹 서버들) 로부터 온 콘텐츠 (예를 들어, 하이퍼 텍스트 마크업 언어 (HTML) 페이지들과 같은 웹 페이지들, 디지털 미디어 아이템들 등) 를 액세스, 취출, 제시, 및/또는 내비게이션할 수 있는 웹 브라우저를 포함할 수도 있다.
미디어 뷰어 (163) 는 사용자에게 콘텐츠 (예를 들어, 웹 페이지, 미디어 뷰어) 를 렌더링, 디스플레이, 및/또는 제시할 수 있다. 미디어 뷰어 (163) 는 문서 (예를 들어, 웹 페이지) 에 임베딩되는 임베디드 미디어 플레이어 (예를 들어, 어도비 플래시 플레이어 또는 HTML5 플레이어) 일 수도 있다. 미디어 뷰어 (163) 는 또한 예를 들어, 더 큰 SoC (System on Chip) 의 일부로서 및/또는 스탠드얼론 칩(들)으로서, 실리콘으로 구현된 전용 디코더들과 같은 전용 하드웨어 엘리먼트들을 포함할 수도 있다. 다른 예에서, 미디어 뷰어 (163) 는 사용자들이 디지털 미디어 아이템들 (예를 들어, 영화들) 을 뷰잉하는 것을 허용하는 스탠드얼론 애플리케이션 (예를 들어, 모바일 애플리케이션, 데스크톱 애플리케이션, 게이밍 콘솔 애플리케이션, 텔레비전 애플리케이션 등) 의 능력 또는 스탠드얼론 애플리케이션일 수도 있다. 미디어 뷰어 (163) 는 서버 및/또는 콘텐츠 배포 플랫폼에 의해 렌더링 디바이스들 (160) 에 제공될 수 있다. 예를 들어, 일부 실시형태들에서, 미디어 뷰어 (163) 는 콘텐츠 배포 플랫폼에 의해 제공된 영화 파일 또는 문서 (예를 들어, 웹 페이지들) 에 임베딩되는 임베디드 미디어 플레이어일 수도 있다. 다른 예에서, 미디어 뷰어들 (163) 은 서버로부터 다운로딩되는 별개의 애플리케이션들일 수도 있다. 다른 예에서, 미디어 뷰어들 (163) 은 렌더링 디바이스들 (160) 상에 사전-설치되는 스탠드얼론 애플리케이션들일 수도 있다. 미디어 뷰어는 미디어 저장 디바이스들 (130, 131) 상에 저장될 수도 있고, 또는 다른 곳에 저장될 수도 있다.
서버들 (110, 115, 120) 은 사용자에게 미디어 아이템들에 대한 액세스를 제공하고 및/또는 사용자에게 미디어 아이템들을 제공하는데 이용될 수도 있는 하나 이상의 컴퓨팅 디바이스들 (이를 테면, 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터 등), 데이터 스토어들 (예를 들어, 하드 디스크들, SSD들, 네트워크 연결형 저장 디바이스들, 메모리들, 데이터베이스들), 네트워크들, 소프트웨어 컴포넌트들 (운영 시스템들, 미들웨어, 애플리케이션 소프트웨어, 데이터베이스들 등), 하드웨어 보안 모듈들 (예를 들어, PC 카드들, 스마트 카드들, USB 보안 주변장치들), 및/또는 다른 컴포넌트들을 포함할 수 있다.
미디어 저장 디바이스 (130) 는 적어도 하나의 MSC (135) (이를 테면, 내부 ROM, 키들, 키 스토리지 등을 가진 보안 CPU (central processing unit)) 는 물론 스토리지 (140) (이를 테면, 플래시 메모리 또는 하드 드라이브들) 를 포함할 수 있다. CPU 는 프로세싱 디바이스의 일 예이다. MSC (135) 는 별개의 칩일 수 있고, 또는 다른 기능성 (이를 테면, USB, 플래시 또는 하드 디스크 제어기) 과 통합될 수 있다. 벌크 스토리지 (140) 는 미디어 내에 MSC (135) 와는 별개의 하드웨어 상에 구현될 수 있고, 또는 그들은 (예를 들어, 단일 칩으로서) 통합될 수 있다. 미디어 저장 디바이스 (130) 에 대한 물리적 폼 팩터들의 예들은 제한 없이 플래시 메모리 카드들, USB 스틱들, 하드 디스크들, SSD들, 네트워크 연결형 저장 디바이스들 등을 포함한다. 그 실시형태에 의존하여, MSC 는, 데이터가 스토리지 (140) 상에 조직화되는 방법을 알 수도 있고 또는 모를 수도 있다는 것에 주목해야 한다. (미디어 저장 디바이스 (130) 가 MSC (135) 에게 알려지지 않은 파일 시스템을 이용하는 블록 저장 디바이스인 경우일 수도 있는 것처럼) MSC (135) 가 이러한 인식이 없다면, MSC (135) 가 스토리지 (140) 상에 포함된 데이터를 획득하게 하기 위해 수반된 프로세스는, MSC (135) 가 벌크 스토리지로부터 데이터를 판독하기 위해 플레이어 (또는 호스트 또는 렌더링 디바이스) 에 메시지를 제공하게 하는 것, 가능하게는 데이터를 복호화하게 하는 것, 및 데이터를 다시 미디어 디바이스로 전송하게 하는 것을 포함할 수도 있다. 스토리지 (140) 는 미디어 아이템들 및 그 미디어 아이템들과 관련되는 데이터를 저장할 수 있다. 스토리지 (140) 는 메모리 (예를 들어, 랜덤 액세스 메모리), 캐시 (cache), 드라이브들 (예를 들어, 하드 드라이브), 플래시 드라이브들, 1 회 프로그램가능 스토리지, 또는 데이터를 저장가능한 다른 타입의 컴포넌트 또는 디바이스일 수 있는 하나 이상의 데이터 스토어들을 포함할 수 있다. 스토리지 (140) 상에 저장된 데이터는 MSC (135) 의 보안 능력들을 활용하는 미디어 파일들에 제한되지는 않는다 (예를 들어, 스토리지 (140) 는 표준 파일 시스템들과 함께, 보통의 하드 드라이브 또는 플래시 드라이브로서 동작할 수 있고, 레거시 파일들과 플레이백을 위해 MSC (135) 를 이용하는 파일들 양자를 포함하는 임의의 종류의 데이터를 보유할 수 있다).
MSC (135) 는 렌더링 디바이스 (160) 의 일부이거나 또는 렌더링 디바이스 (160) 에 커플링 (또는 다르게는 직접 또는 간접적으로 접속) 될 수 있다. MSC (135) 는 스토리지 (140) 내에 저장되는 미디어 아이템들을 보호하기 위해 보안 특징들을 부가할 수 있다. MSC (135) 는 렌더링 디바이스 (160) 와 렌더링될 스토리지 (140) 내의 영화 간의 중재자 컴포넌트로서의 역할을 할 수 있고, 이러한 렌더링을 보안하거나 또는 가능하게 하는 것을 돕는 기능성을 포함할 수 있다. 예를 들어, 렌더링 디바이스 (160) 는, MSC (135) 가 미디어 뷰어 (163) 에서 액션-영화-XYZ 를 렌더링하는데 필요한 데이터의 일부를 프로세싱하지 않고는 미디어 뷰어 (163) 에서 액션-영화-XYZ 를 렌더링할 수 없다. 예를 들어, MSC (135) 는 미디어 아이템을 렌더링하기 위해 이용되어야 하는 하나 이상의 키들을 복호화하고 그 키들을 렌더링 디바이스 (160) 에 제공하며, 및/또는 실제 복호화 키들에 대한 프리커서 (precursor) 들을 복호화하며, 및/또는 미디어 아이템의 부분을 복호화하고 그 복호화된 부분을 렌더링 디바이스 (160) 에 제공할 수 있다. MSC (135) 와 렌더링 디바이스 (160) 간의 상호작용은 반복적일 수 있다. 상호작용들의 수는 미디어 아이템에 관련되는 (그리고 이것과 함께 저장될 수도 있는) 명령들에 기초할 수 있다.
렌더링 디바이스 (160) 는 스토리지 (140) 내의 데이터 (예를 들어, 미디어 아이템들, 그 미디어 아이템들과 관련되는 데이터) 에 액세스할 수 있다. 스토리지 내의 데이터는 렌더링 디바이스 (160) 가 요구된 보안 절차들의 이용 없이 (미디어 뷰어 (163) 내의 저장된 데이터에 의해서든 또는 미인가된 디바이스들에 의한 렌더링에 의해서든) 렌더링하는 것을 막기 위해 보안 (예를 들어, 암호화) 될 수 있다. 이전에 언급한 바와 같이, 렌더링 디바이스 (160) 는 미디어 뷰어 (163) 에서 렌더링을 허용하기 위해 데이터의 프로세싱 및 교환을 가능하게 하도록 MSC (135) 와 데이터를 직접 또는 간접적으로 교환할 수 있는 보안 모듈 (165) 을 포함할 수 있다.
하나의 구현에서, MSC (135) 는 스토리지 (140) 상에 포함된 파일들로부터 직접 판독하는 능력을 갖지 않는다. 예를 들어, MSC (135) 는 렌더링 디바이스 (160) 에 의해 활용된 파일 시스템을 이해하지 못할 수도 있다. MSC (135) 가 스토리지 (140) 로부터 데이터를 요구한다면, MSC (135) 는 원하는 데이터를 특정하는 메시지를 렌더링 디바이스 (160) 로 전송할 수 있고, 그 후 렌더링 디바이스 (160) 는 스토리지 (140) 로부터 데이터를 획득하고 그 데이터를 다시 MSC (135) 에 제공할 수 있다. 그 후, MSC (135) 는 예를 들어, 그 데이터를 (예를 들어, 그 자신의 동작의 일부로서) 활용할 수 있고, 또는 그 데이터를 프로세싱할 수도 있고 프로세싱된 데이터를 보안 모듈 (165) 로 (예를 들어, 직접 또는 렌더링 디바이스 (160) 에 의해) 전송할 수 있다. 보안 모듈 (165) 은 MSC (135) 로부터의 데이터를 이용하여 미디어 뷰어 (163) 에서 미디어 아이템 (예를 들어, 영화) 을 렌더링할 수 있다.
렌더링 디바이스 (160) 는 미디어 뷰어 (163) 에서 미디어 아이템을 렌더링하기 위해 스토리지 (140) 내의 미디어 아이템 (예를 들어, 영화) 에 액세스하도록 미디어 저장 디바이스 (130) 에 커플링될 수 있다. 렌더링 디바이스 (160) 는 보안 모듈 (165) 을 포함할 수 있고, 그 보안 모듈 (165) 은 MSC (135) 와 (직접 또는 간접적으로) 통신할 수 있다. 보안 모듈 (165) 은 예를 들어 펌웨어, 애플리케이션, SoC 상의 보안 코어, 별개의 칩, 및/또는 렌더링 디바이스 (160) 내의 다른 하드웨어일 수 있으며, 이들에 제한되지는 않는다. 사용자 (102) 가 미디어 뷰어 (163) 에서 렌더링할 영화를 선택할 때, 보안 모듈 (165) 은 스토리지 (140) 로부터 그 영화에 대한 인가 파일을 로딩할 수 있다. 인가 파일은 미디어 뷰어 (163) 상에서 영화를 렌더링하기 위하여 보안 모듈 (165) 이 그리고 MSC (135) 가 실행할 명령들의 하나 이상의 세트들을 포함할 수 있다. 보안 모듈 (165) 은 MSC (135) 로부터의 및/또는 인가 파일로부터의 명령들을 수신 및 해석할 수 있다. 마찬가지로, MSC (135) 는 보안 모듈 (165) 로부터의 및/또는 인가 파일로부터의 명령들을 수신 및 해석할 수 있다.
키 발행 서버 (120) 는 렌더링 디바이스들 (160) 및 미디어 저장 디바이스들 (130, 131) 에 대한 키들을 배포 및 관리할 수 있다. 키 발행 서버 (120) 는 미디어 저장 디바이스들 (130, 131) 에 대한 하나 이상의 기본 미디어 저장 디바이스 키들을 발행할 수 있다. 예를 들어, 미디어 저장 디바이스들 (130, 131) 이 제조될 때, 키 발행 서버 (120) 는 미디어 저장 디바이스 (130, 131) 의 MSC (135) 의 보안 메모리 부분에 (예를 들어, 온-칩 1 회 프로그램가능 메모리에) 하나 이상의 기본 미디어 저장 디바이스 키들을 공급할 수 있다 (143). 기본 미디어 저장 디바이스 키들은 각각의 미디어 저장 디바이스 (130, 131) 에 대해 고유할 수 있다. 기본 미디어 디바이스 키의 예들은 비대칭 키 쌍 (예를 들어, RSA/ECC), 대칭 키 (AES 키들) 등을 포함할 수 있으며, 이들에 제한되지는 않는다. 기본 미디어 저장 디바이스 키들은 인가 서버 (110), 렌더링 디바이스 (160) 등과 보안 세션을 확립하는데 이용될 수 있다. 키를 공급하는 프로세스는, 예를 들어, 키 발행 서버 (120) 가 보안 시설에서 키를 직접 송신하게 하는 것을 포함할 수 있고, 또는 키들은 후에 키를 개개의 디바이스들에 제공하는 보안 시설에서 키 프로그래밍 디바이스에 전달될 수 있으며, 및/또는 키는 인터넷과 같은 비신뢰된 채널을 통해 보안된 (예를 들어, 암호화된) 형태로 전송될 수 있다.
키 발행 서버 (120) 는 렌더링 디바이스들 (160) 에 대해 하나 이상의 렌더링 디바이스 키들을 발행할 수 있다. 예를 들어, 렌더링 디바이스 (160) 가 제조될 때, 키 발행 서버 (120) 는 렌더링 디바이스 (160) 에 하나 이상의 렌더링 디바이스 키들을 공급할 수 있다 (149). 키를 공급하는 프로세스는, 예를 들어, 키 발행 서버 (120) 가 보안 시설에서 키를 직접 송신하게 하는 것을 포함할 수 있고, 또는 키들은 후에 키를 개개의 디바이스들에 제공하는 보안 시설에서 키 프로그래밍 디바이스에 전달될 수 있으며, 및/또는 키는 인터넷과 같은 비신뢰된 채널을 통해 보안된 (예를 들어, 암호화된) 형태로 전송될 수 있다.
콘텐츠 제공자 (105) 는 예를 들어, 렌더링 디바이스 (160) 가 사용자 (102) 를 위해 렌더링할 미디어 아이템들을 제공하기 위해 하나 이상의 미디어 서버들 (115) 을 포함할 수 있다, 콘텐츠 제공자 (105) 는 미디어 아이템들이 렌더링되는 것을 허용하기 위한 미디어 아이템들에 대한 인가 파일들을 제공하기 위해 하나 이상의 인가 서버들 (110) 을 포함할 수 있다.
인가 서버들 (110) 은 인가 키들을 MSC들 (135) 로 프로비져닝할 수 있다. 예를 들어, 영화가 (예를 들어, 사용자 (102) 에 의해) 구매될 때, 미디어 서버 (115) 는 미디어 저장 디바이스 (예를 들어, 미디어-저장-디바이스-n (131)) 상에 저장될 구매된 영화에 대한 데이터 파일을 공급할 수 있으며 (145), 인가 서버 (110) 는 미디어 저장 디바이스 상에의 저장을 위해 영화에 대한 인가 파일 및 인가 키를 전송할 수 있다 (147). 예를 들어, 영화가 구매될 때, 그 영화에 대한 데이터 파일, 인가 파일, 및 인가 키가 인가 서버 (110) 로부터, 그리고 미디어 서버 (115) 로부터 미디어-저장-디바이스-n (131) 상의 스토리지 (140) 로 다운로딩될 수 있다. 인가 키는 MSC (135) 내에 저장 (또는 MSC (135) 내에 저장된 키로 암호화 및 스토리지 (140) 상의 다른 곳에 저장) 될 수 있고, 데이터 파일 및 인가 파일은 스토리지 (140) 내에 저장될 수 있다. MSC (135) 내에 인가 키들을 저장하는 하나의 구현은 도 2 와 함께 이하 더 상세히 설명된다.
키 발행 서버 (120) 는 인가 키들을 준비 및/또는 암호화는데 있어서 이용하기 위한 데이터를 인가 서버 (110) 에 제공할 수 있다. 하나의 구현에서, 키 발행 서버 (120) 는 인가 서버 (110) 에, 그 키 발행 서버가 미디어 저장 디바이스들 (131) 에 공급 (143) 하는 기본 미디어 저장 디바이스 키들에 기초하는 유도 키 (derived key) 들의 리스트를 제공한다 (141). 유도 키들은 MSC들 (135) 에 의한 이용을 위한 정보 (이를 테면 인가 키들) 를 안전하게 전송하기 위해 인가 서버 (110) 에 의해 이용될 수 있다. 하나의 구현은 유도 키들을 생성하기 위해 키 트리를 이용하며, 이는 도 6 과 함께 이하 더 상세히 설명된다.
인가 파일은 렌더링 디바이스 (160) 상의 보안 모듈 (165) 및 미디어 저장 디바이스 상의 MSC (135) 에 의한 실행을 위한 명령들 및 데이터의 세트들을 포함할 수 있다. 예를 들어, 일 예시적인 인가 파일의 명령들은 보안 모듈 (165) 에, 영화에 대해 스토리지 (140) 로부터 암호화되는 데이터를 취출하고 암호화된 데이터를 MSC (135) 에 제공할 것을 명령할 수 있다. 예시적인 인가 파일은 또한 MSC (135) 가 그 MSC (135) 에 의해 저장되는 인가 키를 이용하여 암호화된 데이터를 복호화하게 하고, 그 데이터를 MSC (135) 와 보안 모듈 (165) 간에 공유되는 세션 키를 이용하여 재암호화하게 하며, 암호화된 데이터를 렌더링 디바이스 (160) 상의 보안 모듈 (165) 로 전송하게 하는 명령들을 포함할 수 있다. 예시적인 인가 파일의 명령들은 데이터를 복호화하고 데이터를 암호화하기 위해 MSC (135) 가 어느 키들을 이용해야 하는지를 특정할 수 있다.
도 2 는 하나 이상의 구현들에 따른, 일 예의 미디어 저장 디바이스 (200) 를 예시한다. 미디어 저장 디바이스 (200) 는 도 1 의 미디어 저장 디바이스 (131) 와 동일할 수 있다. 미디어 저장 디바이스 (200) 는 보안 사설 섹션 (201) 및 공중 섹션 (203) 을 포함할 수 있다.
공중 섹션 (203) 은 하나 이상의 미디어 아이템들에 대한 미디어 데이터 (267) 를 저장하기 위해 사용가능한 스토리지 (260) 를 포함할 수 있다. 예를 들어, 미디어 데이터 (267) 는 미디어-타이틀-1 내지 미디어-타이틀-n 에 대한 데이터를 포함할 수 있다. 각각의 미디어 아이템에 대해, 미디어 데이터 (267) 는 미디어 식별자 (예를 들어, 미디어-타이틀-1 (261)), 인가 파일 (265), 및 렌더링될 메인 데이터 (예를 들어, 암호화된 비디오 및 오디오) 를 포함하는 데이터 파일 (263) 을 포함할 수 있다. 인가 파일의 하나의 구현은 도 3 과 함께 이하 더 상세히 설명된다. 미디어 데이터 (267) 는 콘텐츠 제공자 (예를 들어, 도 1 의 콘텐츠 제공자 (103, 105)) 의 하나 이상의 서버들 (예를 들어, 도 1 의 인가 서버 (110), 도 1 의 미디어 서버 (115)) 로부터 수신될 수 있다. 공중 섹션 (203) 이 파일 시스템에서 조직화된다면, 그것에 대한 전술한 데이터는 미관련된 파일들과 함께 파일(들) 내에 저장될 수 있다.
공중 섹션 (203) 은 인증서 개정 데이터 (certificate revision data) (269) 를 저장할 수 있다. 인증서 개정 데이터 (269) 는 키 발행 서버 (예를 들어, 도 1 의 키 발행 서버 (160)) 및/또는 인가 서버 (예를 들어, 도 1 의 인가 서버 (110)) 로부터 수신될 수 있다. 인증서 개정 데이터 (269) (예를 들어, 인증서 개정 리스트 (certificate revision list) 들) 는 대응하는 인증서들에서 설명한 바와 같이 MSC들 및/또는 렌더링 디바이스들과 연관된 권한 (right) 들에 대한 임의의 개정들을 설명하는 정보를 포함할 수 있다. 렌더링 디바이스들의 인증서들은 예를 들어, 렌더링 디바이스가 렌더링할 수 있는 미디어 아이템들의 품질 레벨 (이들에 제한되지는 않음) 을 설명하는 정보를 포함한다. 예를 들어, 렌더링-디바이스-B 는 렌더링-디바이스-B 가 고정밀도로 미디어 아이템들을 렌더링하는 것을 허용하는 인증서를 가질 수도 있다. 렌더링-디바이스-B 가 손상 (예를 들어, 해킹, 공격 등) 된다면, 인증서 개정 리스트는 렌더링-디바이스-B 가 고정밀도가 아닌 저정밀도로 미디어 아이템들을 렌더링하도록 인가되도록 렌더링-디바이스-B 의 인증서가 개정되는 것을 표시하는 정보를 포함할 수도 있다.
인증서 개정 데이터 (269) 는 더 새로운 유효한 버전이 이용가능할 때마다 업데이트될 수 있다. 예를 들어, 인증서 개정 데이터 (269) 는 미디어 아이템들이 미디어 저장 디바이스 (200) 로 다운로딩될 때 업데이트될 수 있다. 다른 예에서, 인증서 개정 데이터 (269) 는 인증서 개정 데이터 (269) 가 구식이라는 것을 MSC (205) 가 결정할 때 업데이트될 수 있다. 예를 들어, MSC (205) 가 렌더링 디바이스와 보안 세션을 확립할 때, MSC (205) 및 렌더링 디바이스는 인증서 개정 리스트가 현행의 것인지 또는 구식인지 여부를 결정하기 위해 서로의 인증서 개정 리스트들의 버전들을 비교할 수 있다. 인증서 개정 리스트들 상의 디지털 서명들은 근본적인 데이터의 유효성 (validity) 및 신선도 (freshness) 양자를 인증할 수 있다 (예를 들어, 인증서 개정 리스트에 포함된 발행 날짜 또는 카운터는, 새로운 버전이 유효하고 현재 저장된 버전보다 더 새로운지를 디바이스들이 식별할 수 있게 할 수 있다).
사설 섹션 (201) 은 기본 미디어 저장 디바이스 키들 (252) 을 저장할 수 있다. 기본 미디어 저장 디바이스 키들 (252) 은 키 발행 서버 (예를 들어, 도 1 의 키 발행 서버 (160)) 로부터 수신되고 예를 들어, 미디어 저장 디바이스 (200) 가 제조될 때 MSC (205) 의 사설 데이터 영역 (250) 내에 저장될 수 있다. 기본 미디어 저장 디바이스 키들 (252) 은 예를 들어, 비대칭 키 쌍 (예를 들어, RSA/ECC) 및 하나 이상의 AES 키들을 포함할 수 있으며, 이들에 제한되지는 않는다. 기본 미디어 저장 디바이스 키들은 렌더링 디바이스와 및/또는 인가 서버들과 보안 세션을 확립하는데 있어서 이용될 수 있다.
사설 섹션 (201) 은 보안 섹션일 수 있고 MSC (205) 를 포함할 수 있다. MSC (205) 는 미디어 데이터 (261) 및 그 미디어 데이터 (261) 와 관련된 미디어 아이템들 (예를 들어, 영화들) 을 보호하기 위한 데이터 (250) 를 저장할 수 있다. 데이터 (250) 는 스토리지 (260) 내의 대응하는 미디어 아이템들을 렌더링하는 프로세스의 일부로서 이용되는 인가 데이터 (251) 를 포함할 수 있다. 인가 데이터 (251) 는 예를 들어, 인가 키들을 저장하기 위한 인가 키 슬롯들의 리스트, 인가 키 슬롯 넘버들, 및 각각의 슬롯에 대한 정보 (예를 들어, 발행자 식별자, 인가 식별자, 인가 키 등) 를 포함할 수 있으며, 이들에 제한되지는 않는다. 미디어 저장 디바이스 (200) 는 예를 들어, 데이터 파일들 (263) 또는 데이터 파일들 (263) 의 부분들을 복호화하기 위한 인가 데이터 (251) 내의 인가 키들 또는 미디어 데이터 (267) 내의 데이터 파일들 (263) 의 부분들을 암호화하는데 이용된 키들을 이용할 수 있다. 사설 스토리지 내의 데이터 (250) 는 또한, 예를 들어, 서명들, 인증서들, (예를 들어, 온-칩 플래시/퓨즈들/OTP 내의) 내부 키, 최근에 검증된 인증서 개정 리스트의 타임스탬프 또는 시리얼 넘버 등을 포함할 수 있다.
사설 섹션 (201) 내의 데이터 (250) 는 특정 보안 통신 세션을 위해 MSC (205) 와 렌더링 디바이스 (예를 들어, 도 1 의 렌더링 디바이스 (160)) 내의 보안 모듈 (예를 들어, 도 1 의 보안 모듈 (165)) 사이에 확립되는 세션 키 (253) 를 포함할 수 있다. MSC (205) 는 렌더링 디바이스 내의 보안 모듈 (예를 들어, 도 1 의 보안 모듈 (165)) 과의 통신을 보안하기 위해 세션 키 (253) 를 이용할 수 있다. 예를 들어, MSC (205) 는 보안 모듈에 의해 암호화 및/또는 인증되는 데이터를 수신할 수 있고, 그 데이터를 복호화 및/또는 검증하기 위해 세션 키 (253) 를 이용할 수 있다. 다른 예에서, MSC (205) 는 세션 키 (253) 를 이용하여 데이터를 암호화 및/또는 인증할 수 있고, 암호화된 데이터를 복호화 및/또는 검증을 위해 보안 모듈로 전송할 수 있다.
이전에 언급한 바와 같이, 일부 실시형태들에서, MSC (205) 는 미디어 저장 디바이스 (200) 상의 공중 섹션 (203) 내의 미디어 데이터 (267) 를 직접 액세스 또는 해석가능하지 않을 수도 있다. 예를 들어, MSC (205) 는 스토리지 (260) 상의 데이터를 조직화하는데 이용된 파일 시스템을 이해하지 못할 수도 있다. 요구된 데이터 (이를 테면 미디어 데이터 (267) 의 부분들) 를 획득하기 위해, MSC (205) 는 스토리지 (260) 로부터 요구된 미디어 데이터 (267) 를 취출하고 미디어 데이터 (267) 를 MSC (205) 에 제공하기 위해 렌더링 디바이스로 메시지들을 전송할 수 있다. 정정 데이터가 요구된다는 것을 보장하기 위해, MSC (205) 는 반환된 데이터를 디지털로 해싱하고, 결과의 해시가 디지털 서명 및/또는 메시지 인증 코드에 매칭한다는 것을 확인할 수 있다.
예를 들어, 하나의 실시형태에서, 영화 (예를 들어, 미디어-타이틀-1 (261)) 가 렌더링되도록 선택될 때, 렌더링 디바이스는 미디어 저장 디바이스 (200) 상의 공중 섹션 (203) 으로부터 영화 (예를 들어, 미디어-타이틀-1 (261)) 에 대한 인가 파일 (265) 을 취출하고, 그 인가 파일 (265) (또는 그 부분들) 을 MSC (205) 로 전송할 수 있다. 인가 파일 부분들은 MSC (205) 가 실행할 디지털 서명된 명령들의 하나 이상의 세트들을 포함할 수 있다. 예를 들어, 미디어-타이틀-1 (261) 에 대한 일 예시적인 인가 파일 (265) 은, MSC (205) 가, 기본 미디어 저장 디바이스 키 (271) 로부터 임시 키를 유도하게 하고, 그 임시 키를 이용하여, 명령들 내의 특정된 키를 이용하여 (인가 파일 (265) 로부터 또한 나올 수도 있는) 암호화된 키를 복호화하게 한 후, 명령들에서 지정된 ID 에 매칭하는 인가 키를 이용하여 결과를 추가 복호화하게 하는 명령들의 세트를 포함할 수도 있다. 예시적인 명령들은 그 후, MSC (205) 가 세션 키 (253) 를 이용하여 결과를 재암호화하고 재암호화된 결과를 렌더링 디바이스 상의 보안 모듈로 전송해야 한다는 것을 특정할 수도 있다. 예시적인 인가 파일 (265) 은 세션 키를 이용하여 재암호화된 결과를 복호화하고 결과를 미디어-타이틀-1 (261) 미디어 아이템에 대한 데이터 파일 (263) 의 부분들을 렌더링하기 위한 키로서 이용할 것을 지시하는 렌더링 디바이스 상의 보안 모듈에 대한 명령들을 포함한다.
도 3 은 하나의 예시적인 구현에 따른, 미디어 보안 제어기를 이용하여 미디어 아이템을 보호하기 위한 일 예의 인가 파일 (301) 내의 예시적인 명령들을 예시한다. 인가 파일 (301) 은 도 2 의 인가 파일 (265) 과 동일할 수 있다.
인가 파일 (301) 은 미디어 아이템을 렌더링하는 것과 관련하여 보안 모듈이 그리고 MSC 가 실행할 명령들의 하나 이상의 세트들을 포함할 수 있다. 예를 들어, MSC 는 데이터-XYZ 를 복호화하고, 데이터-XYZ 를 재암호화하며, 재암호화된 데이터-XYZ 를 렌더링 디바이스로 전송하기 위한 명령들을 수신할 수도 있다. 다른 예에서, 렌더링 디바이스는 MSC 로부터 일부 데이터 (즉, 암호화된 데이터-XYZ) 를 수신하고, 암호화된 데이터-XYZ 를, 암호화된 데이터-XYZ 가 수신될 때 복호화할 것을 대기하기 위한 명령들을 수신할 수도 있다.
렌더링 디바이스는 명령들을 해석 및 실행하기 위한 펌웨어를 포함할 수 있다. 예를 들어, 미디어 아이템이 렌더링을 위해 선택될 때, 렌더링 디바이스 내의 펌웨어는 렌더링 디바이스에, 선택된 미디어 아이템에 대한 인가 파일 (301) 을 자동으로 취출하고 인가 파일 (301) 또는 그 부분들을 MSC 로 포워딩할 것을 명령할 수도 있다. MSC 는 렌더링 디바이스로부터 인가 파일 (301) 또는 그 부분들을 수신할 수 있고 인가 파일 (301) 또는 그 부분들을 인증 및 해석할 수 있다.
각각의 미디어 아이템 또는 미디어 아이템들의 세트에 대한 인가 파일 (301) 이 존재할 수 있다. 인가 파일 (301) 은 미디어 식별자들 (예를 들어, 타이틀 식별자들), 인가 식별자들, 및 대응하는 미디어 아이템을 렌더링하기 위한 동작들의 하나 이상의 세트들 (305) 을 포함하기 위해 사전-인코딩될 수 있다. 명령들은 예를 들어, 대응하는 미디어 아이템(들)에 대해 구성가능할 수 있다. 예를 들어, 콘텐츠 제공자 (예를 들어, 발행자) 는 명령들 및 연관된 암호화된 데이터 값들을 정의할 수 있다. 콘텐츠 제공자는 새로운 인가 파일이 발행될 때마다 (예를 들어, 사용자가 일부 콘텐츠를 다운로딩하고 컨슈머의 미디어 저장 디바이스에 제공된 라이센스를 갖기 위해 지불할 때) 상이한 명령들을 제공할 수 있다. 동작들의 세트 (305) 는 조건들 또는 다른 브랜칭/로직 능력들을 포함할 수 있다. 예를 들어, 동작들의 세트 (305) 는 비트 17 = 1 이라면, 일부 데이터를 복호화하기 위해 특정된 인가 키 슬롯 내의 키를 이용하는 조건부 스테이트먼트를 포함할 수도 있다.
하나의 구현에서, 동작들의 개개의 세트들 (305) 은 수행되기 전에 디바이스들에 의해 해싱된다. 동작들의 세트의 해시 (해시들 (307)) 그것들 자체는 동작들의 다양한 개개의 세트들 (305) 을 (다양한 스테이지들의 해싱을 통하여) 그 동작들 모두를 반영하는 해시로 연결하는 방식으로 해싱된다. 하나의 실시형태에서, 이것은 해시 트리로 행해진다. 다른 실시형태에서, 동작 세트들은 후속 동작 세트들의 해시들을 포함한다. 예를 들어, OperationSet-1 (해시-값-1 을 가짐) 은 OperationSet-2 에서의 동작들을 참조하고, OperationSet-1 에서의 참조는 OperationSet-2 의 해시를 포함한다. OperationSet-2 는 OperationSet-3 및 OperationSet-4 양자를 참조할 수도 있고, 그 참조들은 또한 각각 OperationSet-3 및 OperationSet-4 의 해시들을 포함할 것이다. 이렇게 하여, 해시-값-1 상의 디지털 서명은 OperationSet-1 의 콘텐츠들을 직접 인증하고, 이는 결국 다른 OperationSet들을 인증한다. 다음의 명령 세트는 실행할 다음의 명령 세트 등의 무결성을 확인하고 그 다음의 명령 세트 등에 체인되는 해시-값-2 를 포함할 수도 있다. 전술한 실시형태들 양자에서, 인가 파일 (301) 에서 운반된 명령들의 총 사이즈는, MSC 및 (렌더링 디바이스 내의) 보안 모듈 각각이 명령 세트의 그들 자신의 부분들을 수신하고 그들의 부분들에서 커맨드들을 수행하기 때문에, MSC 및/또는 보안 모듈에서 이용가능한 RAM 보다 실질적으로 더 클 수 있다.
명령 세트 내에 포함될 수도 있는 커맨드들의 예들이 이하 도시된다 :
샘플 명령 타입들의 예들:
- Encrypt(who, 키 선택, 오프셋)
- Compress(who, 키 선택, 오프셋)
- Copy(who, src, dest, len)
- Decrypt(who, 키 선택, 오프셋)
- Compare(who, src, dest, len, 점프 로케이션, 점프 로케이션에서의 명령 세트의 해시)
- Fill(who, dest, len, 데이터)
- Finish(who, 스테이터스)
- Indirect Step(who, ptr, 해시)
- Transfer(who, src, dest, len)
- AES(키 선택, 오프셋[소스], 오프셋[목적지])
- AddToPlaybackMap(who[보안 모듈이어야 한다], 키 선택, 오프셋[첨부할 플레이백 맵 데이터를 가짐])
o 스토리지 상의 메인 암호화된 콘텐츠 파일에서의 오프셋
o 키들은 오디오 및 비디오가 적용할 별개의 키들을 포함한다
o 암호화된 콘텐츠 파일 내의 데이터의 길이
o 가상 콘텐츠 파일 내의 목적지
- ReceiveData(ptr, 길이)
- DeriveKey(키 선택[입력 (in)], 유도 파라미터들, 키 선택[출력 (out)])
주석: 입력 파라미터들에서, "who" 는 어느 엔티티가 명령을 수행해야 하는지를 지정하고 (예를 들어, MSC 또는 보안 모듈), 각각에 대한 동작들이 별개의 세트들로 구분된다면 생략될 수도 있다. "키 선택" 은 프로세싱에서 이용되어야 하는 엔티티 내의 키를 식별한다. "오프셋" 은 작업 영역에서의 오프셋 (예를 들어, 슬롯 로케이션 또는 바이트 오프셋) 을 특정한다.
도 4 는 다양한 구현들에 따른, 미디어 아이템의 렌더링을 가능하게 하기 위해 미디어 보안 제어기 (403) 가 렌더링 디바이스 (405) 와 상호작용하는 일 예의 다이어그램이다. 예를 들어, 미디어 보안 제어기 (403) 및 렌더링 디바이스 (405) 는 보안 세션을 확립하고, 세션 키를 생성하며, 그 세션 키 및 다른 키들을 이용하여 미디어 아이템을 렌더링하기 위해 렌더링 디바이스 (405) 가 이용할 수도 있는 플레이백 맵 (playback map) (465) 을 생성할 수 있다. 미디어 저장 디바이스 (401) 는 도 1 의 미디어 저장 디바이스 (130) 및 도 2 의 미디어 저장 디바이스 (200) 와 동일할 수 있다. 렌더링 디바이스 (405) 는 도 1 의 렌더링 디바이스 (160) 와 동일할 수 있다.
렌더링 디바이스 (405) 는 미디어 저장 디바이스 (401) 상의 스토리지 (450) 내의 데이터 (451) 내에 저장되는 미디어 아이템을 렌더링하기 위한 요청을 수신할 수도 있다 (420). 그 요청은 그래픽 사용자 인터페이스를 통해 미디어 아이템의 사용자 선택의 입력으로서 수신될 수 있다. 예를 들어, 그 요청은 코미디-영화-ABC 에 대한 것일 수도 있다. 그 요청에 응답하거나, 또는 그 요청 전 중 어느 하나에서, 렌더링 디바이스는 렌더링 디바이스 (405) 와 미디어 저장 디바이스 (401) 간에 보안 세션을 개시한다.
일부 실시형태들에서, 최신의 이용가능한 인증서 개정 리스트 (CRL) 는 미디어 저장 디바이스 (401) 상의 미디어 보안 제어기 (403) 와 렌더링 디바이스 (405) 상의 보안 모듈 (407) 양자에 의해 채용되는 것이 바람직하다. CRL 버전들의 동기화를 가능하게 하기 위해, MSC (403) 및 보안 모듈 (407) 은 각각 CRL 헤더를 수신하고, 그 후 헤더가 : (i) 신뢰된 엔티티 (예를 들어, 키 발행 센터) 에 의해 서명된 유효한 디지털 서명을 갖고, (ii) CRL 이 이전에 보여진 최신의 CRL 보다 더 새롭다는 것을 표시하는 발행 카운터 (또는 타임스탬프) 를 갖는 등 양자를 행하는지를 체크하도록 구성될 수 있다. 양자가 참이라면, 더 새로운 CRL 헤더가 보안 영역 내에 보유되고, 전체 CRL 은 목적지 디바이스 상에 저장된다. 더 새로운 CRL 이 미디어에 공급되고 있다면, 그것은 공중 파일 시스템 내의 파일로서 렌더링 디바이스에 의해 기입될 수 있다. 더 새로운 CRL 이 렌더링 디바이스에 공급되고 있다면, 그것은 미디어의 파일 시스템으로부터 판독되고 소형 플래시, 하드 디스크, 또는 렌더링 디바이스 내의 비휘발성 메모리 영역 내에 저장될 수 있다. 따라서, 인증서 개정 리스트들 및 헤더들을 동기화 (421) 하는 프로세스는 먼저 디바이스들에 의해 보여진 최신의 CRL 버전들이 동일한지 여부를 체크하는 것, 및 동일하지 않다면, 더 새로운 CRL 을 가진 디바이스로부터 더 새로운 CRL 을 더 오래된 CRL 을 가진 디바이스로 전송하는 것을 포함할 수 있다. 또한, 원한다면, 더 새로운 CRL들은 또한 인터넷을 통해, 스토리지 (451) 상의 데이터로부터, 또는 다른 곳에서 구해질 수 있다 (그리고, CRL 이 어느 하나의 디바이스에 의해 보여진 최근 것보다 더 새롭다는 것이 확인된다면, 새로운 CRL 은 상기 설명한 바와 같이, 양자의 디바이스들에 공급되어야 한다). CRL 동기화 (421) 의 완료 시에, 양자의 디바이스들은 그 후 동일한 CRL 버전을 가질 것이다.
단계 422 에서, 미디어 보안 제어기 (403) 및 보안 모듈 (407) 은 렌더링 디바이스/미디어 저장 디바이스 아이덴티티, 타입/제조자, 속성들, 및 공중 키를 각각 특정하는 인증서들을 교환한다. 디바이스들은 인증서들이 예를 들어, 키 발행 센터로 개시하는 일련의 인증서들을 검증함으로써 적절히 서명되는 것을 검증한다.
각각의 디바이스는 다른 엔티티에 대응하는 인증서 개정 리스트 부분을 검증 및 프로세싱한다 (423). 수신된 CRL 부분은 이전에 동기화 (421) 된 CRL 버전들에 대하여 비교될 수 있다. CRL들이 부분들에 있는 것을 허용하는 것은, MSC (403) 와 같이 제약된 환경들 상에서 이용가능한 RAM 의 양을 초과하여 CRL 사이즈들을 지원하는 것을 단순하게 한다. 하나의 실시형태에서, 렌더링 디바이스 (405) 는 미디어 보안 제어기 (403) 가 보안 모듈 (407) 아이덴티티를 검증하게 하는데 필요한 부분들을 인증서 개정 파일로부터 미디어 보안 제어기 (403) 에 제공한다. MSC (403) 는 수신된 부분이 키 발행 센터에 의해 발행된 서명에 의해 적절히 인증되지 않는다면, 버전이 이전에 수신된 버전에 매칭하지 않는다면, 부분이 보안 모듈의 인증서들에 대응하지 않는다면, 또는 부분이 보안 모듈 (407) 을 리보크한다면 (또는 다르게는 보안 모듈 (407) 을 콘텐츠의 요건들에 순응하지 않게 한다면) 프로토콜을 종료할 수 있다.
MSC (403) 는 렌더링 디바이스 (405) 의 인증서로부터의 정보를 저장한다 (424). 예를 들어, 미디어 저장 디바이스 (401) 는 버퍼 (453) 로서 고정된 양의 메모리 (예를 들어, 16Kbit) 를 할당할 수도 있고, 렌더링 디바이스 및/또는 대응하는 CRL 부분(들)의 인증서로부터의 렌더링 디바이스 정보 (예를 들어, 제조자, 모델, 시리얼 넘버, 청구된 클래스, 인증서 개정 리스트 (CRL) 로부터의 리보케이션 스테이터스 (revocation status), CRL 로부터의 개정 스테이터스 등) 로 고정된 사이즈의 버퍼를 팝퓰레이팅할 수도 있다. 도면에는 도시하고 있지는 않지만, 보안 모듈 (407) 은 마찬가지로 미디어 저장 디바이스의 인증서들 및/또는 대응하는 CRL 부분(들)으로부터의 정보로 버퍼를 형성할 수 있다.
MSC (403) 및 보안 모듈 (407) 은 공중 키들의 세트를 가진 핸드셰이크 (handshake) 및 대칭 키들의 세트를 가진 핸드셰이크를 이용하여 공유된 세션 키를 확립한다 (425). 이 세션 키는 도 2 의 세션 키 (253) 에 대응할 수 있다. MSC (403) 및 보안 모듈 (407) 은 각각 세션 키를 로컬로 유도 및 저장할 수 있다. 예를 들어, 각각은 다른 인증서로부터의 공중 키로 랜덤 값을 암호화할 수 있다. MSC (403) 및 보안 모듈 (407) 은 그 후 이들 암호화된 값들을 교환할 수 있고, 그 후 각각 다른 값을 복호화한다. 세션 키는 그 후 복호화된 결과들을 해싱함으로써 생성될 수 있다 (예를 들어, hash(미디어에 의해 암호화된 값∥미디어 인증서들∥렌더링 디바이스에 의해 암호화된 값∥렌더링 디바이스 인증서들), 여기서 "∥" 는 연속 (concatenation) 을 나타낸다). "hash" 는 암호 해시 함수, 이를 테면 SHA-256 일 수 있다.
렌더링 디바이스 (405) 는 그 후 인가 파일을 로딩하고 (427), 관련 인가 파일 부분들을 MSC (403) 로 전송한다 (429).
MSC (403) 는 인가 파일 내의 그 제 1 명령 세트를 식별하고 명령들을 프로세싱 (예를 들어, 판독, 실행 등) (430) 하기 시작한다. 명령들의 세트에 의존하여, MSC (403) 는 렌더링 디바이스 (405) 상의 보안 모듈 (407) 과 데이터를 교환 및 프로세싱하는 여러 반복들을 가질 수도 있다. 예를 들어, MSC (403) 는 MSC (403) 에, 명령 세트에 포함되는 데이터를 복호화할 것을 명령하는 명령들의 제 1 세트를 실행할 수도 있다. 예를 들어, 명령 세트는 암호화된 키를 포함할 수도 있고, 암호화된 키를 복호화하는데 이용되어야 하는 인가 키를 MSC (403) 에서 특정할 수도 있다.
도 4 의 MSC 에 대한 예시적인 명령 세트는 MSC (403) 가 렌더링 디바이스 (405) 로부터 부가적인 데이터를 수신하게 하는 명령을 포함한다. 이 명령을 프로세싱하기 위해, MSC (403) 는 보안 모듈 (407) 이 보안 모듈 (407) 로부터 부가적인 데이터를 획득하게 하는 메시지를 보안 모듈 (407) 로 전송한다 (431). 보안 모듈 (407) 은 (예를 들어, 도시한 바와 같이 스토리지 (450) 로부터, 또는 렌더링 디바이스의 내부 메모리와 같은 다른 소스들로부터, 인터넷으로부터 등등) 데이터를 취출하고 (433), 그 데이터를 MSC (403) 로 전송한다 (435) (또는 에러로 응답한다). MSC (403) 는 데이터를 프로세싱 (437) 하고 (예를 들어, 단계 430 동안과 같이, 이전에 생성된 키들을 이용하여 복호화 및/또는 암호화하고), 프로세싱된 데이터를 (예를 들어, 데이터를, 그것을 보안 모듈을 따라 전달하는 렌더링 디바이스에 제공함으로써) 보안 모듈 (407) 로 전송한다 (439). 보안 모듈 (407) 은 수신된 데이터를 프로세싱한다 (441). 예를 들어, 보안 모듈 (407) 은 또한 보안 모듈 (407) 이 데이터를 프로세싱해야 하는 방법을 설명하는 명령들의 추가 세트들을 인가 파일로부터 수신할 수도 있다. 예를 들어, 보안 모듈 (407) 은 세션 키 (460) 를 이용하여 수신된 데이터를 복호화한 후, 키 발행 센터 (도 1 의 키 분배 (149) 를 참조) 로부터의 키로부터 유도된 키를 이용하여 추가 복호화 단계를 적용할 수 있으며, 그 결과를 데이터 (467) 의 일부로서 저장할 수 있다.
다른 예에서, 보안 모듈 (407) 은 세션 키 (460) 를 이용하여 데이터를 복호화할 수 있고, 복호화된 데이터를 플레이백 맵 (465) 의 일부로서 저장할 수 있다. 예를 들어, 인가 파일은 보안 모듈 (407) 이 데이터 (예를 들어, 복호화된 키, 오프셋 값, 길이 등) 를 플레이백 맵 (465) 을 저장하는 버퍼에 기입하게 하는 명령들을 포함할 수 있다. 플레이백 맵 (465) 에 배치된 데이터는 제한 없이 MSC (403) 로부터 수신된 데이터, 스토리지 (450) 로부터의 데이터, 미디어 디바이스 인증서들로부터의 데이터, 렌더링 디바이스 인증서들로부터의 데이터, CRL들로부터의 데이터, 명령들로부터의 데이터, 네트워크들 (이를 테면 인터넷) 로부터 취출된 데이터, 및 이용가능할 수도 있는 임의의 다른 데이터를 이용하여 유도될 수 있다. 예를 들어, 이들 소스들 중 임의의 것으로부터의 정보는 콘텐츠의 상이한 대안의 부분들 중에서 선택하는 플레이백 맵 엔트리들을 선택하기 위해 (예를 들어, 포렌식 마킹 (forensic marking) 을 달성하기 위해) 이용될 수 있다. 타이틀과 연관된 명령들의 세트들은 주어진 타이들이 디코딩될 방법에 있어서 유연성을 허용하고, 이 프로세스를 통하여, 보안 모듈 (407) 은 다수의 소스들로부터의 데이터를 이용할 수 있으며, 그것은 MSC (403) 로부터 데이터를 증분적으로 및/또는 반복적으로 수신하여 플레이백 맵 (465) 을 구성할 수도 있다.
예를 들어, 인가 파일은 보안 모듈 (407) 이 플레이백 맵 (465) 에 동작을 부가하게 하는 명령들을 포함할 수도 있다. 그 동작은 보안 모듈 (407) 에 의해 실행될 수 있다. 플레이백 맵 엔트리는 또한 부가적인 프로세싱을 필요로 할 수도 있다. 예를 들어, 그 엔트리는 렌더링 디바이스 (405) 및/또는 그 보안 모듈 (407) 에, MSC (403) 로부터 지원을 받기 위한, 예를 들어, 후에 미디어 아이템의 부분을 렌더링하는데 있어서 이용될 수 있는 키로 프리커서 값을 컨버팅하기 위한 미디어 아이템의 렌더링 동안의 한 순간에 MSC (403) 와 인터페이스할 것을 명령할 수도 있다.
예를 들어, 통신 (439) 에서, 인가 파일은 보안 모듈 (407) 에, 미디어 아이템에서 오프셋 범위 X 내지 Y 까지 미디어 아이템을 렌더링할 때 MSC (403) 와의 통신을 요구하는 플레이백 맵 (465) 에 동작을 부가할 것을 명령할 수 있다. 그 동작은 MSC (403) 와의 보안 모듈 (407) 에 의한 통신을 트리거링하기 위한 표시자, 오프셋, 길이 등 (이들에 제한되지는 않음) 과 같은 파라미터들을 포함할 수 있다. 지원은 예를 들어, MSC (403) 가 오프셋들 X 내지 Y 에서 미디어 파일 데이터를 복호화해야 한다는 것일 수도 있다.
플레이백 맵 (465) 은 MSC (465) 로부터의 다중 통신을 이용하여 구성될 수 있다. 예를 들어, 통신 (431, 433) 은 보안 모듈 (407) 이 플레이백 맵 (465) 에 기입하게 하는 명령들을 포함할 수도 있다. 예를 들어, 그 명령들은 보안 모듈 (407) 에, 길이, 스토리지에서의 오프셋, 및 키 값을 포함하는 엔트리를 플레이백 맵 (465) 에 기입할 것을 지시할 수도 있다. 예를 들어, 그 명령들은 보안 모듈 (407) 이 "미디어의 다음의 [길이] 바이트들이 스토리지 상의 미디어 파일에서의 오프셋[오프셋] 에서 시작하여 판독되어야 하고 키[키 값] 으로 복호화되어야 한다" 를 플레이백 맵 (465) 에 기입하게 하는 것일 수도 있다. 대안의 실시형태들에서, 미디어 아이템을 가로질러 상이한 키들 중에서 특정 및 선택하기 위한 다른 방법들 또는 인코딩들이 활용될 수도 있고, 또는 전체 미디어 아이템에 대해 단일 키가 존재할 수도 있다.
렌더링 디바이스 (405) 는 플레이백 맵 (465) 을 이용하여 미디어 아이템들을 렌더링할 수 있다. 플레이백 맵 (465) 은 아이템을 구성하는 암호문을 로케이팅 및 복호화하는 방법에 관한 정보를 포함할 수 있고, 미디어 아이템을 형성, 복호화, 및 렌더링하기 위해 보안 모듈 (407) 에 의해 이용된다. 플레이백 맵 (465) 은 렌더링 디바이스 (405) 가 미디어 아이템을 복호화하기 위해 이용해야 하는 하나 이상의 키들을 포함할 수 있다 (그러나 이들에 제한되지는 않는다). 렌더링 디바이스 (405) 가 스토리지 (450) 로부터 미디어 아이템에 대한 데이터 파일을 판독하고 복호화될 데이터 파일의 부분에 도달할 때, 렌더링 디바이스 (405) 는 데이터의 부분을 복호화하기 위해 플레이백 맵 (465) 내의 대응하는 키를 이용할 수 있다. 다른 예에서, 렌더링 디바이스 (405) 가 복호화될 데이터 파일의 부분에 도달할 때, 렌더링 디바이스 (405) 는 플레이백 맵 (465) 내의 명령을 판독하여 데이터의 부분의 복호화를 돕기 위해 MSC (403) 에 연락할 수도 있다. 데이터의 복호화는 카운터 모드에서의 AES 와 같이, 종래의 암호 방법들을 이용할 수 있다.
하나의 구현에서, 보안 모듈 (407) 은 부분적으로 구성된 플레이백 맵 (465) 을 이용하여 미디어 아이템을 렌더링하기 시작할 수 있고, MSC (403) 로부터의 추가 통신에 기초하여 플레이백 맵 (465) 을 계속 구성할 수 있다. 예를 들어, MSC (403) 및 보안 모듈 (407) 은 보안 세션을 확립할 수 있고 플레이백 맵 (465) 을 부분적으로 구성할 수 있다. 렌더링 디바이스 (405) 는 부분적으로 구성된 플레이백 맵 (465) 에 기초하여 미디어 아이템 (예를 들어, 영화) 을 렌더링하기 시작할 수도 있다. 렌더링 디바이스 (405) 가 영화를 플레이하고 있는 다양한 포인트들에서, 렌더링 디바이스 (405) 는 렌더링 디바이스 (405) 가 복호화할 수 없는 데이터의 부분을 검출할 수도 있고 미디어 보안 모듈 (403) 과 상호작용하여 그 데이터의 부분을 복호화할 수 있다. 렌더링은 또한, 요구된 데이터가 존재한다고 하면, 미디어 아이템이 완전히 다운로딩되기 전에 시작할 수 있다.
콘텐츠 제공자들 (예를 들어, 발행자들) 은 어느 MSC 및/또는 렌더링 디바이스가 미디어 아이템을 렌더링했는지를 식별하길 희망할 수도 있다. 예를 들어, 발행자들은 미인가된 카피들의 미디어 아이템들 및/또는 디바이스들 (예를 들어, 미디어 저장 디바이스들, 렌더링 디바이스들) 을 알게 될 수도 있고, 어느 MSC들 및/또는 렌더링 디바이스들이 미인가된 카피들과 연관되는지를 추적하길 희망할 수도 있다. 콘텐츠 제공자들은, 인가 파일들 내의 명령들 및 포렌식 분석 (forensic analysis) 이 어느 MSC들 및/또는 렌더링 디바이스들이 특정 미디어 아이템들을 렌더링했는지를 식별하게 하는 MSC들 및/또는 렌더링 디바이스들에 의한 명령들의 실행을 이용할 수 있다.
예를 들어, 콘텐츠 제공자들은 특정 미디어 보안 제어기들 및/또는 렌더링 디바이스들에 대한 복호화를 위한 키들을 선택할 수 있다. 렌더링 디바이스 및/또는 미디어 보안 제어기가 미디어 아이템을 복호화할 때, 그 결과는 인가된 키가 이용되었는지 여부에 의존하여 가변할 수 있다. 예를 들어, 콘텐츠 제공자들은 영화의 부분이 플레이될 때, 상이한 렌더링 디바이스들이 상이한 플레이백 맵 엔트리들 (예를 들어, 하나의 플레이어는 플레이백 맵에서 키 K1 을 생성하고 그것을 이용하여 부분의 변형 (variant) A 를 복호화할 수도 있는 한편, 다른 플레이어는 플레이백 맵에서 키 K2 를 생성하고 그것을 이용하여 부분의 변형 B 를 복호화할 수도 있다) 을 가지도록 하는 명령들로 인가 파일들을 정의 및 사전-인코딩할 수 있다. 불법 복제된 카피가 복원된다면, 그 파일 내의 변형은 저작권 침해자에 관한 정보를 전달한다 (예를 들어, 변형 A 가 존재한다면, 저작권 침해자는 변형 A 를 복호화가능하였으며, 변형 B 가 존재한다면, 저작권 침해자는 변형 B 를 복호화가능하였다). 충분한 변형들을 고려해 볼 때, 그것은 임의의 정보를 전달하는 것이 가능하다. 변형의 사이즈는 압축된 비디오 내의 몇 바이트들일 정도로 작을 수 있으며, 또는 변형들은 (비디오 또는 오디오 데이터의 상당한 부분들과 같이) 훨씬 더 길 수 있다.
도 5 는 다양한 구현들에 따른, 미디어 아이템을 렌더링하기 위해 렌더링 디바이스 (505) 가 플레이백 맵 (565) 및 미디어 보안 제어기 (MSC) (503) 를 이용하는 일 예의 다이어그램이다. 예를 들어, 플레이백 맵 (565) 내의 엔트리는 렌더링 디바이스 (505) 에, 미디어 아이템 (예를 들어, 영화) 의 대응하는 부분을 렌더링하기 위해 MSC (503) 로부터 지원을 요청할 것을 명령할 수도 있다. 이렇게 하여, MSC (503) 는 미디어 아이템의 부분을 복호화함으로써 또는 적어도 미디어 아이템의 부분을 복호화하는데 이용될 수 있는 키를 렌더링 디바이스에 제공함으로써 미디어 아이템의 렌더링 동안 능동적으로 참여할 수도 있다. 미디어 저장 디바이스 (501) 는 도 1 의 미디어 저장 디바이스 (130) 및 도 2 의 미디어 저장 디바이스 (200) 와 동일할 수 있다. 렌더링 디바이스 (505) 는 도 1 의 렌더링 디바이스 (160) 와 동일할 수 있다.
렌더링 디바이스 (505) 상의 보안 모듈 (507) 은 렌더링 디바이스 (505) 내에 저장되는 플레이백 맵 (565) 내의 엔트리를 판독한다 (520). 도 5 에 도시된 예에서, 엔트리는 MSC (503) 에 의한 프로세싱이 데이터를 위해 요구된다는 것을 특정한다. 렌더링 디바이스 (505) 는 요청 (예를 들어, 파일 판독) 을 발행 (521) 함으로써 공중 저장 영역으로부터 데이터를 판독한 후 요구된 데이터를 수신한다 (522). 데이터의 일부 또는 전부는 그 후 요구된 프로세싱 (예를 들어, MSC (503) 가 데이터를 복호화해야 하는 방법) 을 지정하는 요청과 함께 MSC (503) 로 전송된다 (523). MSC (503) 는 요청된 프로세싱을 수행 (524) 하고 그 결과를 렌더링 디바이스 (505) 에 다시 반환한다 (525). 렌더링 디바이스 (505) 는 MSC (503) 를 이용하여 데이터에 대해 부가적인 복호화 패스를 적용하는 것과 같이, 그 자신의 추가 프로세싱 (526) 을 수행할 수 있다. 마지막으로, 데이터는 렌더링될 준비가 되어 있다. 렌더링 디바이스는 예를 들어, 데이터의 부분(들)을 압축해제 및 출력을 위해 오디오 또는 비디오 코덱들로 전송함으로써 비디오/오디오를 디코딩한다 (527).
도 6 은 다양한 구현들에 따른, 미디어 보안 제어기에서 인가 키들을 보호하기 위한 예시적인 키 관리 커맨드들 (600) 을 예시한다. 이러한 키들은 예를 들어, 인가가 하나의 미디어 디바이스로부터 다른 미디어 디바이스로 전송될 예정이라면, 인가들의 제거 및 전송을 보안하는데 이용될 수 있고, 프로세스는 : (1) 소스 디바이스 상의 인가 키를 디스에이블하는 것, (2) 그 키가 디스에이블되었음을 인가 서버에 확인시키는 것, (3) 인가 서버가 목적지 미디어 디바이스에 대한 새로운 인가 파일 및 새로운 인가 키를 발행하는 것으로 이루어질 수 있다. 인가 키들은 또한, 예를 들어, (인가된 미디어 디바이스만이 정확한 인가 키를 가져야 하기 때문에) 인가들의 중복의 방지를 돕기 위해, 콘텐츠가 적절히 인가된다는 것을 검증하는 것을 도울 수 있다. 키 관리 커맨드들 (600) 은, 예를 들어, 서버, 렌더링 디바이스 등에 의해 이용될 수 있다. 예를 들어, 인가 서버 (예를 들어, 도 1 의 인가 서버 (110)) 는 키 관리 커맨드들 중 하나 이상을 이용하여 MSC들에 인가 키들을 프로비져닝하고 MSC들에 의해 저장되는 인가 키들을 관리할 수 있다.
예를 들어, 미디어 아이템이 구매될 때, 인가 서버는 미디어 아이템에 대한 인가 파일, 미디어 아이템에 대한 데이터 파일, 및 미디어 아이템에 대응하는 인가 키를 미디어 저장 디바이스로 전송할 수 있다. 인가 서버는 또한 "KAuthorization 을 관리" 커맨드 (603) 를 미디어 저장 디바이스 상의 MSC 로 전송할 수 있다. 이 커맨드 (603) 는 MSC 에, 특정된 인가 키를 수신, 검증, 및 저장할 것을 지시할 수 있다. 예를 들어, 관리 커맨드 (603) 는 저장할 인가 키, 저장할 인가 식별자, 및 인가 키를 저장하는데 이용할 슬롯 넘버, 및 다른 인가 관련 정보를 MSC 에 특정할 수도 있다.
이 예에서, 렌더링 디바이스는 플레이백 프로세스의 일부로서 키 관리 커맨드들 (600) 중 하나 이상을 이용할 수도 있다. 예를 들어, 렌더링 디바이스 (예를 들어, 도 1 의 렌더링 디바이스 (160)) 는 "슬롯을 판독" 커맨드 (602) 를 이용하여 이미 특정 미디어 아이템에 대한 MSC 내의 인가 키가 존재한다는 것을 검증할 수도 있다. 플레이백 프로세스 동안, MSC 에 의해 수행된 명령들 (예를 들어, 도 4 의 430 의 일부에서의 것들, 또는 도 5 의 524 와 같은 플레이백 엔트리들과 관련되는 프로세싱) 은 예를 들어, 플레이백이 미인가된 미디어 또는 인가가 제거된 미디어에 대해 수행될 수 없다는 것을 보장하기 위해 인가 키를 활용할 수 있다.
인가 서버들은 MSC들과 보안 통신을 확립할 수 있다. 키 발행 서버는 기본 미디어 저장 디바이스 키들을 MSC들에 발행할 수 있다. 하나의 구현에서, 키 발행 서버는 MSC들에 발행되는 기본 미디어 저장 디바이스 키들로부터 유도되는 유도 키들의 리스트를 생성하기 위해 키 트리를 이용한다. 키 발행 서버는 유도 키들의 리스트를 인가 서버에 제공할 수 있다. 인가 서버는 유도 키들의 리스트를 이용하여 MSC들과 보안 통신을 행할 수 있다. 유도 키들의 이용은 (예를 들어, 하나의 인가 서버의 손상이 미디어 및 다른 인가 서버들에 의해 수행된 동작들을 손상시키는 것을 막기 위해) MSC들에 할당되는 기본 미디어 저장 디바이스 키들의 지식을 실제로 가지지 않고도 인가 서버가 MSC들과 안전하게 통신하는 것을 허용한다.
하나의 구현에서, 키 발행 서버는 입력들로서 MSC들에 할당되는 기본 미디어 저장 디바이스 키들 및 인가 서버들과 연관된 발행자 식별자들을 갖는 키 트리 함수를 이용하여 유도 키들을 생성한다. 예를 들어, 유도 키들은 (기본 미디어 저장 디바이스 키, publisherID) 의 입력 파라미터들로 컴퓨팅될 수도 있다. 유도 키들은 대응하는 MSC 와 인가 서버 간에 공유될 수 있다. 개개의 콘텐츠 제공자들 (예를 들어, 발행자들) 은 콘텐츠 제공자들의 인가 서버들과 MSC들 간의 통신을 허용하는 유도 키들의 리스트를 수신할 수 있다.
도 7 (이하 더 상세히 설명됨) 은 다양한 구현들에 따른, 본 명세서에 설명된 미디어 보안 제어기의 동작들 중 하나 이상을 수행하도록 구성되는 일 예의 컴퓨터 시스템의 블록 다이어그램이다. 도 8 (이하 더 상세히 설명됨) 은 다양한 구현들에 따른, 본 명세서에 설명된 보안 모듈의 동작들 중 하나 이상을 수행하도록 구성되는 일 예의 컴퓨터 시스템의 블록 다이어그램이다. 일부 실시형태들에서, 도 7 및 도 8 의 컴퓨터 시스템들은 미디어 보안 제어기 및 보안 모듈의 동작들 양자를 수행하도록 구성된 단일 시스템으로 구현된다.
도 7 은 머신으로 하여금, 본 명세서에서 논의된 미디어 보안 제어기의 방법론들 중 임의의 하나 이상을 수행하게 하기 위한 명령들의 세트가 실행될 수도 있는 컴퓨터 시스템 (700) 의 일 예의 형태의 머신의 다이어그램을 예시한다. 대안의 구현들에서, 머신은 LAN, 인트라넷, 엑스트라넷, 또는 인터넷으로 다른 머신들에 접속 (예를 들어, 네트워킹) 될 수도 있다. 머신은 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 머신의 자격으로, 또는 피어-투-피어 (또는 분산형) 네트워크 환경에서 피어 머신으로서 동작할 수도 있다. 머신은 개인용 컴퓨터 (PC), 태블릿 PC, 셋톱 박스 (STB), 개인 휴대 정보 단말기 (PDA), 셀룰러 전화기, 웹 어플라이언스, 서버, 네트워크 라우터, 스위치 또는 브릿지, 또는 그 머신에 의해 취해질 액션들을 특정하는 (순차적 또는 다르게는) 명령들의 세트를 실행가능한 임의의 머신일 수도 있다. 게다가, 단일 머신만이 예시되고 있지만, 용어 "머신" 은 본 명세서에서 논의된 방법론들 중 임의의 하나 이상을 수행하기 위해 명령들의 세트 (또는 다중 세트들) 를 개별적으로 또는 공동으로 실행하는 머신들, 칩들, 및/또는 마이크로프로세서들의 임의의 콜렉션을 포함하는 것으로 이해되어야 한다.
예의 컴퓨터 시스템 (700) 은 버스 (730) 를 통해 서로 통신하는, 프로세싱 디바이스 (프로세서) (702), 메인 메모리 (704) (예를 들어, 판독 전용 메모리 (ROM), 플래시 메모리, 동적 랜덤 액세스 메모리 (DRAM), 이를 테면, 동기식 DRAM (SDRAM), 더블 데이터 레이트 (DDR SDRAM), 또는 DRAM (RDRAM) 등), 정적 메모리 (706) (예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리 (SRAM) 등), 및 데이터 저장 디바이스 (614) 를 포함한다.
프로세서 (702) 는 마이크로프로세서, 중앙 프로세싱 유닛 등과 같은 하나 이상의 범용 프로세싱 디바이스들을 나타낸다. 보다 구체적으로, 프로세서 (702) 는 복잡 명령 세트 컴퓨팅 (CISC) 마이크로프로세서, 축소 명령 세트 컴퓨팅 (RISC) 마이크로프로세서 (ARM 또는 MIPS 명령 세트를 실행하는 임베디드 CPU 코어를 제한 없이 포함함), 훨씬 긴 명령어 (VLIW) 마이크로프로세서, 또는 다른 명령 세트들을 구현하는 프로세서 또는 명령 세트들의 조합을 구현하는 프로세서들일 수도 있다. 프로세서 (702) 는 또한 주문형 집적 회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA), 디지털 신호 프로세서 (DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 프로세싱 디바이스들일 수도 있다. 프로세서 (702) 는 본 명세서에서 논의된 동작들 및 단계들을 수행하기 위한 명령들 (722) 을 실행하도록 구성된다. 명령들 (722) 은 또한 컴퓨터 시스템 (700) 에 의한 그 명령들의 실행 동안 메인 메모리 (704) 내에 및/또는 프로세서 (702) 내에 완전히 또는 적어도 부분적으로 상주할 수도 있고, 메인 메모리 (704) 및 프로세서 (702) 는 또한 컴퓨터 판독가능 저장 매체들을 구성한다. 명령들 (722) 은 또한, 네트워크 인터페이스 디바이스 (708) 를 경유하여 네트워크 (720) 를 통해 송신 또는 수신될 수도 있다. 명령들 (722) (또는 본 발명과 연관된 다른 명령들) 은 디지털 서명 (또는 다르게는 암호화로 인증) 되고 (예를 들어, 프로세서 (702) 에 의해) 실행 전에 검증될 수도 있다.
컴퓨터 시스템 (700) 은 네트워크 인터페이스 디바이스 (708) 를 더 포함할 수도 있다. 컴퓨터 시스템 (700) 은 또한, 비디오 디스플레이 유닛 (710) (예를 들어, 액정 디스플레이 (LCD) 또는 음극선관 (CRT)), 입력 디바이스 (712) (예를 들어, 키패드, 터치스크린, 알파뉴메릭 키보드, 모션 감지 입력 디바이스 등), 커서 제어 디바이스 (714) (예를 들어, 마우스), 및/또는 신호 생성 디바이스 (716) (예를 들어, 스피커) 를 포함할 수도 있다.
데이터 저장 디바이스 (718) 는 본 명세서에 설명된 미디어 보안 제어기의 방법론들 또는 기능들 중 임의의 하나 이상을 구현하는 명령들 (723) 의 하나 이상의 세트들 (예를 들어, 소프트웨어) 이 저장되어 있는 컴퓨터 판독가능 저장 매체 (728) 를 포함할 수도 있다. 하나의 구현에서, 데이터 저장 디바이스 (718) 는 본 명세서에 설명된 미디어 보안 제어기 모듈의 방법론들 또는 기능들 중 임의의 하나 이상을 구현하는 명령들 (723) 의 하나 이상의 세트들이 저장되어 있는 컴퓨터 판독가능 저장 매체 (728) 를 포함할 수도 있다. 컴퓨터 판독가능 저장 매체 (728) (머신 판독가능 저장 매체) 가 일 예시적인 구현에서 단일 매체인 것으로 도시되어 있지만, 용어 "컴퓨터 판독가능 저장 매체" 는, 명령들의 하나 이상의 세트들을 저장하는 단일 매체 또는 다중 매체들 (예를 들어, RAID 어레이, 네트워크 연결형 저장 디바이스, 플래시 메모리들, 중앙집중형 또는 분산형 데이터베이스, 및/또는 연관된 캐시들 및 서버들 등) 을 포함하는 것으로 이해되어야 한다. 용어 "컴퓨터 판독가능 저장 매체" 는 또한 머신에 의한 실행을 위한 명령들의 세트를 저장, 인코딩 또는 운반가능하고 머신으로 하여금 본 개시물의 방법론들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 이해되어야 한다. 용어 "컴퓨터 판독가능 저장 매체" 는 그에 따라 솔리드 스테이트 메모리들, 광학 매체들, 및 자기 매체들을 포함하지만 이에 제한되지는 않는 것으로 이해되어야 한다.
도 8 은 머신으로 하여금, 본 명세서에서 논의된 보안 모듈의 방법론들 중 임의의 하나 이상을 수행하게 하기 위한 명령들의 세트가 실행될 수도 있는 컴퓨터 시스템 (800) 의 일 예의 형태의 머신의 다이어그램을 예시한다. 대안의 구현들에서, 머신은 LAN, 인트라넷, 엑스트라넷, 또는 인터넷으로 다른 머신들에 접속 (예를 들어, 네트워킹) 될 수도 있다. 머신은 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 머신의 자격으로, 또는 피어-투-피어 (또는 분산형) 네트워크 환경에서 피어 머신으로서 동작할 수도 있다. 머신은 개인용 컴퓨터 (PC), 태블릿 PC, 셋톱 박스 (STB), 개인 휴대 정보 단말기 (PDA), 셀룰러 전화기, 웹 어플라이언스, 서버, 네트워크 라우터, 스위치 또는 브릿지, 또는 그 머신에 의해 취해질 액션들을 특정하는 (순차적 또는 다르게는) 명령들의 세트를 실행가능한 임의의 머신일 수도 있다. 게다가, 단일 머신만이 예시되고 있지만, 용어 "머신" 은 또한, 본 명세서에서 논의된 방법론들 중 임의의 하나 이상을 수행하기 위해 명령들의 세트 (또는 다중 세트들) 를 개별적으로 또는 공동으로 실행하는 머신들, 칩들, 및/또는 마이크로프로세서들의 임의의 콜렉션을 포함하는 것으로 이해되어야 한다.
예의 컴퓨터 시스템 (800) 은 버스 (830) 를 통해 서로 통신하는, 프로세싱 디바이스 (프로세서) (802), 메인 메모리 (804) (예를 들어, 판독 전용 메모리 (ROM), 플래시 메모리, 동적 랜덤 액세스 메모리 (DRAM), 이를 테면 동기식 DRAM (SDRAM), 더블 데이터 레이트 (DDR SDRAM), 또는 DRAM (RDRAM) 등), 정적 메모리 (806) (예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리 (SRAM) 등), 및 데이터 저장 디바이스 (818) 를 포함한다.
프로세서 (802) 는 마이크로프로세서, 중앙 프로세싱 유닛 등과 같은 하나 이상의 범용 프로세싱 디바이스들을 나타낸다. 보다 구체적으로, 프로세서 (802) 는 복잡 명령 세트 컴퓨팅 (CISC) 마이크로프로세서, 축소 명령 세트 컴퓨팅 (RISC) 마이크로프로세서 (ARM 또는 MIPS 명령 세트를 실행하는 임베디드 CPU 코어를 제한 없이 포함함), 훨씬 긴 명령어 (VLIW) 마이크로프로세서, 또는 다른 명령 세트들을 구현하는 프로세서 또는 명령 세트들의 조합을 구현하는 프로세서들일 수도 있다. 프로세서 (802) 는 또한 주문형 집적 회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA), 디지털 신호 프로세서 (DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 프로세싱 디바이스들일 수도 있다. 프로세서 (802) 는 본 명세서에서 논의된 동작들 및 단계들을 수행하기 위한 명령들 (822) 을 실행하도록 구성된다. 프로세서 (802), 또는 시스템 내의 다른 하드웨어 및/또는 소프트웨어는, 보안 모듈 (165) 의 능력들을 구현한다.
컴퓨터 시스템 (800) 은 네트워크 인터페이스 디바이스 (808) 를 더 포함할 수도 있다. 컴퓨터 시스템 (800) 은 또한 비디오 디스플레이 유닛 (810) (예를 들어, 액정 디스플레이 (LCD) 또는 음극선관 (CRT)), 입력 디바이스 (812) (예를 들어, 키패드, 터치스크린, 알파뉴메릭 키보드, 모션 감지 입력 디바이스 등), 커서 제어 디바이스 (814) (예를 들어, 마우스), 및/또는 신호 생성 디바이스 (816) (예를 들어, 스피커) 를 포함할 수도 있다.
하나의 구현에서, 데이터 저장 디바이스 (818) 는 본 명세서에 설명된 보안 모듈의 방법론들 또는 기능들 중 임의의 하나 이상을 구현하는 명령들 (822) 의 하나 이상의 세트들 (예를 들어, 소프트웨어) 이 저장되어 있는 컴퓨터 판독가능 저장 매체 (828) 를 포함할 수도 있다. 명령들 (822) 은 또한, 컴퓨터 시스템 (800) 의 그 명령의 실행 동안 메인 메모리 (804) 내에 및/또는 프로세서 (802) 내에 완전히 또는 적어도 부분적으로 상주할 수도 있으며, 메인 메모리 (804) 및 프로세서 (802) 는 또한 컴퓨터 판독가능 저장 매체들을 구성한다. 명령들 (822) 은 또한, 네트워크 인터페이스 디바이스 (808) 를 경유하여 네트워크 (820) 를 통해 송신 또는 수신될 수도 있다.
하나의 구현에서, 명령들 (822) 은 보안 모듈 (예를 들어, 도 1 의 보안 모듈 (165)) 에 대한 명령들, 및/또는 보안 모듈을 호출하는 방법들을 포함하는 소프트웨어 라이브러리를 포함한다. 컴퓨터 판독가능 저장 매체 (828) (머신 판독가능 저장 매체) 가 일 예시적인 구현에서 단일 매체인 것으로 도시되지만, 용어 "컴퓨터 판독가능 저장 매체" 는 명령들의 하나 이상의 세트들을 저장하는 단일 매체 또는 다중 매체 (예를 들어, RAID 어레이, 네트워크 연결형 저장 디바이스, 플래시 메모리들, 중앙집중형 또는 분산형 데이터베이스, 및/또는 연관된 캐시들 및 서버들) 를 포함하는 것으로 이해되어야 한다. 용어 "컴퓨터 판독가능 저장 매체" 는 또한, 머신에 의한 실행을 위한 명령들의 세트를 저장, 인코딩 또는 운반가능하고 머신으로 하여금 본 개시물의 방법론들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 이해되어야 한다. 용어 "컴퓨터 판독가능 저장 매체" 는 그에 따라 솔리드 스테이트 메모리들, 광학 매체들, 및 자기 매체들을 포함하지만 이에 제한되지는 않는 것으로 이해되어야 한다.
다양한 실시형태들에서, 미디어는 예를 들어, USB, SD/SDHC/SDXC/등, SCSI, STAT, 및 이더넷 프로토콜들 (이들에 제한되지는 않음) 을 통해 렌더링 디바이스에 접속한다. 접속은 유선 또는 무선일 수도 있다. 임의의 파일 시스템은 FAT32, NFS, NTFS, RiserFS 등을 포함하여, 저장 디바이스 상에서 이용될 수 있다. "특수" 보안 거래들을 수반하는 통신은 대역외 (out-of-band) 제어 동작들을 통해 핸들링되거나, 또는 레거시 파일 시스템 동작의 일부인 벌크 데이터 전송 동작들과 통합될 수 있다. 이 시스템을 구현하는 미디어 디바이스들은 완전히 이전 기종과 호환이 되는, 예를 들어, 보통의 컨슈머 하드 드라이브들, 플래시 카드들, USB 드라이브들일 수 있다. 마찬가지로, 이것을 구현하는 렌더링 디바이스들은 인터넷 스트리밍, 광학 드라이브들로부터의 플레이백 등과 같이, 다른 플레이백 방법들도 물론 지원할 수 있다.
전술한 설명에서, 다수의 상세들이 기술된다. 그러나, 본 개시물이 이들 특정 상세들 없이 실시될 수도 있다는 것이 본 개시물의 이익을 갖는 당업자에게 명백할 것이다. 일부 경우들에서, 널리 공지된 구조들 및 디바이스들은 본 개시물을 불명료하게 하는 것을 회피하기 위하여, 상세히 도시되기 보다는 블록 다이어그램 형태로 도시된다.
상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들 상에서 동작들의 알고리즘들 및 심볼 표현들의 관점에서 제시되었다. 이들 알고리즘 설명들 및 표현들은 당해 기술 분야에 숙련된 자들에게 그들의 작업의 본질을 가장 효과적으로 전달하기 위해 데이터 프로세싱 기술에 숙련된 자들에 의해 이용되는 수단이다. 알고리즘은 여기서, 그리고 일반적으로 원하는 결과를 야기하는 단계들의 일관성 있는 시퀀스인 것으로 여겨진다. 그 단계들은 물리적 양들의 물리적 조작들을 요구하는 것들이다. 반드시는 아니지만, 보통은, 이들 양들은 저장, 전송, 조합, 비교, 및 다르게는 조작되는 것이 가능한 전기 또는 자기 신호들의 형태를 취한다. 공통 사용을 이유로, 이들 신호들을 비트들, 값들, 엘리먼트들, 심볼들, 캐릭터들, 용어들, 넘버들 등으로 지칭하는 것이 때때로 편리하다는 것이 입증되었다.
그러나, 이들 및 유사한 용어들 모두가 적절한 물리적 양들과 연관될 것이며 이들 양들에 적용된 단순히 편리한 레이블들이라는 것을 명심해야 한다. 다음의 논의로부터 명백한 바와 같이, 구체적으로 다르게 언급하지 않는다면, 설명 전반에 걸쳐, "전송하는 것", "수신하는 것", "변환하는 것", "복호화하는 것", "암호화하는 것", "압축하는 것", "수행하는 것", "확립하는 것", "생성하는 것", "렌더링하는 것", "프로세싱하는 것" 등과 같은 용어를 활용한 논의들은 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적 (예를 들어, 전자) 양들로서 표현된 데이터를 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장, 송신 또는 디스플레이 디바이스들 내의 물리적 양들로서 유사하게 표현된 다른 데이터로 조작 및 변환하는, 컴퓨터 시스템, 또는 유사한 전자 컴퓨텅 디바이스의 액션들 및 프로세스들을 지칭한다는 것을 알게 된다.
설명의 단순화를 위해, 방법들은 일련의 행동들로서 본 명세서에 묘사 및 설명된다. 그러나, 본 개시물에 따른 행동들은 다양한 순서들로 및/또는 동시발생적으로, 그리고 본 명세서에 제시 및 설명되지 않은 다른 행동들과 함께 일어날 수 있다. 더욱이, 전혀 예시되지 않은 행동들이 개시된 요지에 따른 방법들을 구현하기 위해 요구될 수도 있다. 또한, 당업자는 그 방법들이 대안으로는 스테이트 다이어그램 또는 이벤트들을 통해 일련의 상관된 스테이트들로서 표현될 수 있다는 것을 이해하고 알 것이다. 부가적으로, 본 명세서에서 논의된 방법들은 이러한 방법들을 컴퓨팅 디바이스들에 전달 및 전송하는 것을 용이하게 하기 위해 제조 물품 상에 저장될 수 있다는 것을 알게 되어야 한다. 용어 제조 물품은 본 명세서에 사용한 바와 같이, 임의의 컴퓨터 판독가능 디바이스 또는 저장 매체들로부터 액세스가능한 컴퓨터 프로그램을 포괄하는 것으로 의도된다.
본 개시물의 소정의 구현들은 또한 본 명세서의 동작들을 수행하기 위한 장치에 관한 것이다. 이 장치는, 의도된 목적들을 위해 구성될 수도 있으며, 또는 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성된 범용 컴퓨터를 포함할 수도 있다. 이러한 컴퓨터 프로그램은 플로피 디스크들, 광학 디스크들, CD-ROM들, 및 자기-광학 디스크들을 포함하는 임의의 타입의 디스크, 판독 전용 메모리들 (ROM들), 랜덤 액세스 메모리들 (RAM들), EPROM들, EEPROM들, 자기 또는 광학 카드들, 또는 전자 명령들을 저장하기에 적합한 임의의 타입의 매체들 (그러나 이들에 제한되지는 않음) 과 같은 컴퓨터 판독가능 저장 매체 내에 저장될 수도 있다.
본 명세서 전반에 걸쳐 "하나의 구현" 또는 "일 구현" 에 대한 참조는, 그 구현과 관련하여 설명된 특정 특징, 구조, 또는 특성이 적어도 하나의 구현에서 포함된다는 것을 의미한다. 따라서, 본 명세서 전반에 걸쳐 다양한 장소들에서의 어구 "하나의 구현에서" 또는 "일 구현에서" 의 출현은 반드시 모두가 동일한 구현을 지칭하는 것은 아니다. 또한, 용어 "또는" 은 배타적 "또는" 보다는 포괄적 "또는" 을 의미하는 것으로 의도된다. 더욱이, 단어 "예" 또는 "예시적인" 은 본 명세서에서 일 예, 경우, 또는 예시로서 기능하는 것을 의미하는데 사용된다. 본 명세서에서 "예시적인" 으로서 설명된 임의의 양태 또는 설계는 반드시 다른 양태들 또는 설계들에 비해 바람직하거나 이로운 것으로서 해석될 필요는 없다. 오히려, 단어 "예" 또는 "예시적인" 의 사용은 개념들을 구체적인 방식으로 제시하는 것으로 의도된다.
상기 설명은 제한적이 아닌 예시적인 것으로 의도된다는 것이 이해될 것이다. 다수의 다른 구현들은 상기 설명을 판독하여 이해할 때 당업자에게 명백할 것이다. 따라서, 본 개시물의 범위는 첨부된 청구항들을 참조하여, 이러한 청구항들이 자격을 부여받은 완전 범위의 등가물들과 함께, 결정되어야 한다.
다음의 예들은 추가 실시형태들과 관련된다.
실시예 1 은 미디어 보안 제어기를 이용하여 미디어 아이템을 보호하기 위한 장치로서, 1) 미디어 아이템 및 미디어 아이템을 렌더링 디바이스에 의해 렌더링하는 것에 관한 데이터를 저장하기 위한 메모리; 및 2) 렌더링 디바이스가 인가 파일을 판독하는 것에 응답하여, 렌더링 디바이스로, 렌더링 디바이스가 메모리로부터 데이터의 부분을 판독하게 하고 데이터의 부분을 미디어 보안 제어기에 제공하게 하는 메시지를 전송하고, 렌더링 디바이스로부터 데이터의 부분을 수신하고, 데이터의 부분을 변환하며, 데이터의 변환된 부분을 렌더링 디바이스로 전송하기 위해 메모리에 커플링된 프로세싱 디바이스를 포함하는 미디어 보안 제어기를 포함한다.
실시예 2 에서, 실시예 1 의 요지에서의 데이터의 변환된 부분은 옵션으로, 렌더링 디바이스가 미디어 아이템을 렌더링하기 위한 데이터를 포함할 수 있다.
실시예 3 에서, 실시예 1 의 요지에서의 미디어 보안 제어기는 옵션으로, 데이터의 부분을 복호화하는 것, 데이터의 부분을 암호화하는 것, 또는 데이터의 부분을 압축하는 것 중 적어도 하나에 의해 데이터의 부분을 변환할 수 있다.
실시예 4 에서, 실시예 1 의 요지에서의 미디어 보안 제어기는 옵션으로, 데이터의 변환된 부분에 대응하는 인가 키를 저장하기 위한 제 2 메모리를 더 포함할 수 있다.
실시예 5 에서, 실시예 4 의 요지에서의 프로세싱 디바이스는 옵션으로, 인가 키를 이용하여 데이터의 부분을 추가 복호화할 수 있다.
실시예 6 에서, 실시예 1 의 요지에서의 미디어 보안 제어기는 옵션으로, 공중 키 인프라스트럭처 암호 (public key infrastructure cryptography) 에 기초하여 렌더링 디바이스와 제 1 핸드셰이크를 수행하고, 대칭 키 암호 (symmetric key cryptography) 에 기초하여 렌더링 디바이스와 제 2 핸드셰이크를 수행하며, 제 1 핸드셰이크 및 제 2 핸드셰이크에 기초하여 렌더링 디바이스와 보안 세션을 확립할 수 있다.
실시예 7 에서, 실시예 1 의 요지에서의 미디어 보안 제어기는 옵션으로, 데이터의 부분을 변환하기 위한 인가 키를 특정하는 명령들의 세트를 수신함으로써 데이터의 부분을 변환하는 것으로서, 명령들의 세트는, 포렌식 분석으로 하여금, 미디어 보안 제어기를 제 3 자에게 식별할 수 있게 하는, 상기 데이터의 부분을 변환하고, 인가 키를 이용하여 데이터의 변환된 부분을 생성하는 것으로서, 데이터의 변환된 부분은 미디어 보안 제어기를 제 3 자에게 식별하는, 상기 데이터의 변환된 부분을 생성할 수 있다.
실시예 8 에서, 실시예 1 의 요지에서의 미디어 보안 제어기는 옵션으로, 미디어 보안 제어기의 제 1 인증서 개정 리스트를 렌더링 디바이스의 제 2 인증서 개정 리스트와 동기화할 수 있으며, 제 1 인증서 개정 리스트 및 제 2 인증서 개정 리스트는 권한들의 세트에 대한 하나 이상의 변경들을 설명한다.
다양한 실시형태들은 상기 설명된 동작적 특징들의 상이한 조합들을 가질 수도 있다. 예를 들어, 상기 설명된 장치의 모든 옵션의 특징들은 또한, 본 명세서에 설명된 방법 또는 프로세스에 대하여 구현될 수도 있으며, 이 실시예들에서의 세부 사항 (specific) 들은 하나 이상의 실시형태들 어디에나 이용될 수도 있다.
실시예 9 는 미디어 보안 제어기를 이용하여 미디어 아이템을 보호하기 위한 방법으로서, 1) 렌더링 디바이스가 인가 파일을 판독하는 것에 응답하여 미디어 보안 제어기에 의해, 렌더링 디바이스로, 렌더링 디바이스가 미디어 저장 디바이스의 메모리로부터 데이터의 부분을 판독하게 하고 데이터의 부분을 미디어 보안 제어기에 제공하게 하는 메시지를 전송하는 단계로서, 미디어 저장 디바이스의 메모리 내의 데이터는 렌더링 디바이스에 의해 렌더링될 미디어 아이템에 관련되는, 상기 메시지를 전송하는 단계; 2) 미디어 보안 제어기에 의해, 렌더링 디바이스로부터 데이터의 부분을 수신하는 단계; 3) 미디어 보안 제어기에 의해, 데이터의 부분을 변환하는 단계; 및 4) 미디어 보안 제어기에 의해, 데이터의 변환된 부분을 렌더링 디바이스로 전송하는 단계를 포함한다.
실시예 10 에서, 실시예 9 의 요지에서의 데이터의 변환된 부분은 옵션으로, 렌더링 디바이스가 미디어 아이템을 렌더링하기 위한 데이터를 포함할 수 있다.
실시예 11 에서, 실시예 9 의 요지에서의 데이터의 부분을 변환하는 단계는 옵션으로, 데이터의 부분을 복호화하는 단계, 데이터의 부분을 암호화하는 단계, 또는 데이터의 부분을 압축하는 단계 중 적어도 하나의 단계를 포함할 수 있다.
실시예 12 에서, 실시예 9 의 요지에서의 미디어 보안 제어기는 옵션으로, 데이터의 변환된 부분에 대응하는 인가 키를 저장하기 위한 제 2 메모리를 포함할 수 있다.
실시예 13 에서, 실시예 12 의 요지에서의 데이터의 부분을 변환하는 단계는 옵션으로, 미디어 보안 제어기에 의해, 인가 키를 이용하여 데이터의 부분을 복호화하는 단계를 포함할 수 있다.
실시예 14 에서, 실시예 9 의 요지는 옵션으로, 공중 키 인프라스트럭처 암호에 기초하여 미디어 보안 제어기와 렌더링 디바이스 간에 제 1 핸드셰이크를 수행하는 단계, 대칭 키 암호에 기초하여 미디어 보안 제어기와 렌더링 디바이스 간에 제 2 핸드셰이크를 수행하는 단계, 및 제 1 핸드셰이크 및 제 2 핸드셰이크에 기초하여 렌더링 디바이스와 보안 세션을 확립하는 단계를 더 포함할 수 있다.
실시예 15 에서, 실시예 9 의 요지에서의 데이터의 부분을 변환하는 단계는 옵션으로, 미디어 보안 제어기에 의해, 데이터의 부분을 변환하기 위한 인가 키를 특정하는 명령들의 세트를 수신하는 단계로서, 명령들의 세트는 포렌식 분석으로 하여금, 미디어 보안 제어기를 제 3 자에게 식별할 수 있게 하는, 상기 명령들의 세트를 수신하는 단계, 및 미디어 보안 제어기에 의해, 인가 키를 이용하여 데이터의 변환된 부분을 생성하는 단계로서, 데이터의 변환된 부분은 미디어 보안 제어기를 제 3 자에게 식별하는, 상기 데이터의 변환된 부분을 생성하는 단계를 포함할 수 있다.
실시예 16 에서, 실시예 9 의 요지는 옵션으로, 미디어 보안 제어기의 제 1 인증서 개정 리스트를 렌더링 디바이스의 제 2 인증서 개정 리스트와 동기화하는 단계를 더 포함할 수 있으며, 제 1 인증서 개정 리스트 및 제 2 인증서 개정 리스트는 권한들의 세트에 대한 하나 이상의 변경들을 설명한다.
다양한 실시형태들은 상기 설명된 동작적 특징들의 상이한 조합들을 가질 수도 있다. 예를 들어, 상기 설명된 방법의 모든 옵션의 특징들은 또한 비일시적 컴퓨터 판독가능 저장 매체에 대하여 구현될 수도 있다. 이 실시예들에서의 세부 사항들은 하나 이상의 실시형태들 어디에나 이용될 수도 있다.
실시예 17 내지 실시예 24 는, 컴퓨팅 시스템에 의해 실행될 때, 컴퓨팅 시스템으로 하여금, 실시예 9 내지 실시예 16 의 동작들을 수행하게 하는 명령들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체이다.
다양한 실시형태들은 상기 설명된 동작적 특징들의 상이한 조합들을 가질 수도 있다. 예를 들어, 상기 설명된 방법의 모든 옵션의 특징들은 또한, 장치에 대하여 구현될 수도 있다. 이 실시예들에서의 세부 사항들은 하나 이상의 실시형태들 어디에나 이용될 수도 있다.
실시예 25 내지 실시예 32 는 미디어 보안 제어기를 이용하여 미디어 아이템을 보호하기 위한 시스템으로서, 실시예 9 내지 실시예 16 의 동작들을 수행하는 수단을 포함한다.
실시예 33 은 미디어 보안 제어기를 이용하여 미디어 아이템을 보호하기 위한 장치로서, 1) 미디어 아이템을 렌더링하기 위한 데이터를 저장하기 위한 메모리; 및 2) 메모리로부터 데이터의 부분을 판독하며 데이터의 부분을 미디어 보안 제어기에 제공하기 위해, 프로세싱 디바이스가 인가 파일을 판독하는 것에 응답하여 미디어 보안 제어기로부터 메시지를 수신하고, 데이터의 부분을 미디어 보안 제어기로 전송하며, 미디어 보안 제어기로부터 데이터의 변환된 부분을 수신하기 위해 메모리에 커플링된 프로세싱 디바이스를 포함한다.
실시예 34 에서, 실시예 33 의 요지에서의 프로세싱 디바이스는 옵션으로, 미디어 보안 제어기로부터 수신된 데이터의 변환된 부분에 기초하여 플레이백 맵을 추가 생성할 수 있으며, 플레이백 맵은 미디어 아이템을 렌더링하기 위한 데이터를 포함한다.
실시예 35 에서, 실시예 33 의 요지에서의 프로세싱 디바이스는 옵션으로, 미디어 보안 제어기로부터 수신된 데이터의 변환된 부분에 기초하여 미디어 아이템을 추가 렌더링할 수 있다.
실시예 36 에서, 실시예 33 의 요지에서의 프로세싱 디바이스는 옵션으로, 미디어 저장 디바이스와 공유되는 세션 키를 이용하여 데이터의 변환된 부분을 추가 프로세싱할 수 있다.
실시예 37 에서, 실시예 36 의 요지에서의 프로세싱 디바이스는 옵션으로, 데이터의 변환된 부분을 복호화하는 것, 데이터의 변환된 부분을 암호화하는 것, 또는 데이터의 변환된 부분을 압축하는 것 중 적어도 하나에 의해 데이터의 변환된 부분을 프로세싱할 수 있다. 실시예 38 에서, 실시예 33 의 요지에서의 프로세싱 디바이스는 옵션으로 또한, 공중 키 인프라스트럭처 암호에 기초하여 미디어 보안 제어기와 제 1 핸드셰이크를 수행하고; 대칭 키 암호에 기초하여 미디어 보안 제어기와 제 2 핸드셰이크를 수행하며; 제 1 핸드셰이크 및 제 2 핸드셰이크에 기초하여 미디어 보안 제어기와 보안 세션을 확립할 수 있다.
실시예 39 에서, 실시예 33 의 요지에서의 프로세싱 디바이스는 옵션으로, 제 1 인증서 개정 리스트를 미디어 보안 제어기의 제 2 인증서 개정 리스트와 추가 동기화할 수 있으며, 제 1 인증서 개정 리스트 및 제 2 인증서 개정 리스트는 권한들의 세트에 대한 하나 이상의 변경들을 설명한다.
다양한 실시형태들은 상기 설명된 동작적 특징들의 상이한 조합들을 가질 수도 있다. 예를 들어, 상기 설명된 장치의 모든 옵션의 특징들은 또한 본 명세서에 설명된 방법 또는 프로세스에 대하여 구현될 수도 있으며, 이 실시예들에서의 세부 사항들은 하나 이상의 실시형태들 어디에나 이용될 수도 있다.
실시예 40 은 미디어 보안 제어기를 이용하여 미디어 아이템을 보호하기 위한 방법으로서, 1) 렌더링 디바이스에 의해, 렌더링 디바이스가 인가 파일을 판독하는 것에 응답하여 미디어 보안 제어기로부터 메시지를 수신하는 단계로서, 메시지는 렌더링 디바이스에, 미디어 저장 디바이스의 메모리로부터 데이터의 부분을 판독하고 데이터의 부분을 미디어 보안 제어기에 제공할 것을 명령하며, 미디어 저장 디바이스의 메모리 내의 데이터는 렌더링 디바이스에 의해 렌더링될 미디어 아이템에 관련되는, 상기 메시지를 수신하는 단계; 2) 렌더링 디바이스에 의해, 데이터의 부분을 미디어 보안 제어기로 전송하는 단계; 및 3) 렌더링 디바이스에 의해, 미디어 보안 제어기로부터 데이터의 변환된 부분을 수신하는 단계를 포함한다.
실시예 41 에서, 실시예 40 의 요지는 옵션으로, 미디어 보안 제어기로부터 수신된 데이터의 변환된 부분에 기초하여 플레이백 맵을 생성하는 단계를 더 포함할 수 있으며, 플레이백 맵은 미디어 아이템을 렌더링하기 위한 데이터를 포함한다.
실시예 42 에서, 실시예 40 의 요지는 옵션으로, 미디어 보안 제어기로부터 수신된 데이터의 변환된 부분에 기초하여 미디어 아이템을 렌더링하는 단계를 더 포함할 수 있다.
실시예 43 에서, 실시예 40 의 요지는 미디어 저장 디바이스와 공유되는 세션 키를 이용하여 데이터의 변환된 부분을 프로세싱하는 단계를 더 포함할 수 있다.
실시예 44 에서, 실시예 43 의 요지에서의 데이터의 변환된 부분을 프로세싱하는 단계는 옵션으로, 데이터의 변환된 부분을 복호화하는 단계, 데이터의 변환된 부분을 암호화하는 단계, 또는 데이터의 변환된 부분을 압축하는 단계 중 적어도 하나의 단계를 포함할 수 있다.
실시예 45 에서, 실시예 40 의 요지는 옵션으로, 공중 키 인프라스트럭처 암호에 기초하여 미디어 보안 제어기와 제 1 핸드셰이크를 수행하는 단계, 대칭 키 암호에 기초하여 미디어 보안 제어기와 제 2 핸드셰이크를 수행하는 단계, 및 제 1 핸드셰이크 및 제 2 핸드셰이크에 기초하여 미디어 보안 제어기와 보안 세션을 확립하는 단계를 더 포함할 수 있다.
실시예 46 에서, 실시예 40 의 요지는 옵션으로, 렌더링 디바이스의 제 1 인증서 개정 리스트를 미디어 보안 제어기의 제 2 인증서 개정 리스트와 동기화하는 단계를 더 포함할 수 있으며, 제 1 인증서 개정 리스트 및 제 2 인증서 개정 리스트는 권한들의 세트에 대한 하나 이상의 변경들을 설명한다.
다양한 실시형태들은 상기 설명된 동작적 특징들의 상이한 조합들을 가질 수도 있다. 예를 들어, 상기 설명된 방법의 모든 옵션의 특징들은 또한, 비일시적 컴퓨터 판독가능 저장 매체에 대하여 구현될 수도 있다. 이 실시예들에서의 세부 사항들은 하나 이상의 실시형태들 어디에나 이용될 수도 있다.
실시예 47 내지 실시예 53 은, 컴퓨팅 시스템에 의해 실행될 때, 컴퓨팅 시스템으로 하여금, 실시예 40 내지 실시예 46 의 동작들을 수행하게 하는 명령들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체이다.
다양한 실시형태들은 상기 설명된 동작적 특징들의 상이한 조합들을 가질 수도 있다. 예를 들어, 상기 설명된 방법의 모든 옵션의 특징들은 또한 장치에 대하여 구현될 수도 있다. 이 실시예들에서의 세부 사항들은 하나 이상의 실시형태들 어디에나 이용될 수도 있다.
실시예 54 내지 실시예 60 은 미디어 보안 제어기를 이용하여 미디어 아이템을 보호하기 위한 시스템으로서, 실시예 40 내지 실시예 46 의 동작들을 실행하는 수단을 포함한다.
실시예 61 은 인증서에서 정의된 권한들을 개정하기 위한 장치로서, 1) 인증서를 저장하기 위한 메모리; 및 2) 인증서에서의 권한들의 세트를 식별하고, 권한들의 세트에 대한 변경을 식별하고, 권한들의 세트에 대한 변경을 설명하는 인증서 개정 리스트를 생성하며, 인증서 개정 리스트를 배포하기 위해 메모리에 커플링된 프로세싱 디바이스를 포함한다.
실시예 62 에서, 실시예 61 의 요지에서의 변경은 옵션으로, 미디어 아이템을 렌더링하기 위한 품질 레벨과 관련될 수 있다.
실시예 63 에서, 실시예 61 의 요지에서의 권한들의 세트는 옵션으로, 미디어 보안 제어기 또는 렌더링 디바이스 중 적어도 하나에 할당된 하나 이상의 권한들을 설명할 수 있다.
실시예 64 에서, 실시예 61 의 요지에서의 인증서 개정 리스트는 옵션으로, 버전 식별자를 포함할 수 있다.
다양한 실시형태들은 상기 설명된 동작적 특징들의 상이한 조합들을 가질 수도 있다. 예를 들어, 상기 설명된 장치의 모든 옵션의 특징들은 또한 본 명세서에 설명된 방법 또는 프로세스에 대하여 구현될 수도 있으며, 이 실시예들에서의 세부 사항들은 하나 이상의 실시형태들 어디에나 이용될 수도 있다.
실시예 65 는 인증서에서 정의된 권한들을 개정하기 위한 방법으로서, 1) 인증서에서의 권한들의 세트를 식별하는 단계; 2) 권한들의 세트에 대한 변경을 식별하는 단계; 3) 컴퓨터 시스템에 의해, 권한들의 세트에 대한 변경을 설명하는 인증서 개정 리스트를 생성하는 단계; 및 4) 인증서 개정 리스트를 배포하는 단계를 포함한다.
실시예 66 에서, 실시예 65 의 요지에서의 변경은 옵션으로, 미디어 아이템을 렌더링하기 위한 품질 레벨과 관련될 수 있다.
실시예 67 에서, 실시예 65 의 요지에서의 권한들의 세트는 옵션으로, 미디어 보안 제어기 또는 렌더링 디바이스 중 적어도 하나에 할당된 하나 이상의 권한들을 설명할 수 있다.
실시예 68 에서, 실시예 65 의 요지에서의 인증서 개정 리스트는 옵션으로, 버전 식별자를 포함할 수 있다.
다양한 실시형태들은 상기 설명된 동작적 특징들의 상이한 조합들을 가질 수도 있다. 예를 들어, 상기 설명된 방법의 모든 옵션의 특징들은 또한 비일시적 컴퓨터 판독가능 저장 매체에 대하여 구현될 수도 있다. 이 실시예들에서의 세부 사항들은 하나 이상의 실시형태들 어디에나 이용될 수도 있다.
실시예 69 내지 실시예 72 는, 컴퓨팅 시스템에 의해 실행될 때, 컴퓨팅 시스템으로 하여금, 실시예 65 내지 실시예 68 의 동작들을 수행하게 하는 명령들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체이다.
다양한 실시형태들은 상기 설명된 동작적 특징들의 상이한 조합들을 가질 수도 있다. 예를 들어, 상기 설명된 방법의 모든 옵션의 특징들은 또한 장치에 대하여 구현될 수도 있다. 이 실시예들에서의 세부 사항들은 하나 이상의 실시형태들 어디에나 이용될 수도 있다.
실시예 73 내지 실시예 76 은 인증서에서 정의된 권한들을 개정하기 위한 시스템으로서, 실시예 65 내지 실시예 68 의 동작들을 실행하는 수단을 포함한다.
실시예 77 은 인증서 개정 리스트를 이용하여 디바이스의 권한들을 개정하기 위한 장치로서, 1) 인증서를 저장하기 위한 메모리; 및 2) 미디어 아이템을 렌더링하는 것과 관련된 액션을 수행하기 위한 디바이스를 식별하고, 디바이스에 할당되는 권한들의 세트를 설명하는 인증서를 식별하고, 인증서 개정 리스트에서의 권한들의 세트에 대한 변경을 식별하며, 디바이스가 인증서 개정 리스트에서의 변경에 기초하여 미디어 아이템을 렌더링하기 위한 액션을 수행하는 것을 허용하기 위해 메모리에 커플링된 프로세싱 디바이스를 포함한다.
실시예 78 에서, 실시예 77 의 요지에서의 프로세싱 디바이스는 옵션으로 또한, 인증서 개정 리스트가 구식인지 여부를 결정하고 인증서 개정 리스트가 구식이라는 결정에 기초하여 현행의 인증서 개정 리스트를 수신할 수 있다.
실시예 79 에서, 실시예 77 의 요지에서의 변경은 옵션으로, 미디어 아이템을 렌더링하기 위한 품질 레벨과 관련될 수 있다.
실시예 80 에서, 실시예 77 의 요지에서의 권한들의 세트는 옵션으로, 미디어 보안 제어기 또는 렌더링 디바이스 중 적어도 하나에 할당된 하나 이상의 권한들을 설명할 수 있다.
실시예 81 에서, 실시예 77 의 요지에서의 인증서 개정 리스트는 옵션으로, 버전 식별자를 포함할 수 있다.
다양한 실시형태들은 상기 설명된 동작적 특징들의 상이한 조합들을 가질 수도 있다. 예를 들어, 상기 설명된 장치의 모든 옵션의 특징들은 또한 본 명세서에 설명된 방법 또는 프로세스에 대하여 구현될 수도 있으며, 이 실시예들에서의 세부 사항들은 하나 이상의 실시형태들 어디에나 이용될 수도 있다.
실시예 82 는 인증서 개정 리스트를 이용하여 디바이스의 권한들을 개정하기 위한 방법으로서, 1) 미디어 아이템을 렌더링하는 것과 관련된 액션을 수행하기 위한 디바이스를 식별하는 단계; 2) 디바이스에 할당되는 권한들의 세트를 설명하는 인증서를 식별하는 단계; 3) 인증서 개정 리스트에서의 권한들의 세트에 대한 변경을 식별하는 단계; 및 4) 디바이스가 인증서 개정 리스트에서의 변경에 기초하여 미디어 아이템을 렌더링하기 위한 액션을 수행하는 것을 허용하는 단계를 포함한다.
실시예 83 에서, 실시예 82 의 요지는 옵션으로, 인증서 개정 리스트가 구식인지 여부를 결정하는 단계 및 인증서 개정 리스트가 구식이라는 결정에 기초하여 현행의 인증서 개정 리스트를 수신하는 단계를 더 포함할 수 있다.
실시예 84 에서, 실시예 82 의 요지에서의 변경은 옵션으로, 미디어 아이템을 렌더링하기 위한 품질 레벨과 관련될 수 있다.
실시예 85 에서, 실시예 82 의 요지에서의 권한들의 세트는 옵션으로, 미디어 보안 제어기 또는 렌더링 디바이스 중 적어도 하나에 할당된 하나 이상의 권한들을 설명할 수 있다.
실시예 86 에서, 실시예 82 의 요지에서의 인증서 개정 리스트는 옵션으로, 버전 식별자를 포함할 수 있다.
다양한 실시형태들은 상기 설명된 동작적 특징들의 상이한 조합들을 가질 수도 있다. 예를 들어, 상기 설명된 방법의 모든 옵션의 특징들은 또한 비일시적 컴퓨터 판독가능 저장 매체에 대하여 구현될 수도 있다. 이 실시예들에서의 세부 사항들은 하나 이상의 실시형태들 어디에나 이용될 수도 있다.
실시예 87 내지 실시예 91 은 컴퓨팅 시스템에 의해 실행될 때, 컴퓨팅 시스템으로 하여금, 실시예 82 내지 실시예 86 의 동작들을 수행하게 하는 명령들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체이다.
다양한 실시형태들은 상기 설명된 동작적 특징들의 상이한 조합들을 가질 수도 있다. 예를 들어, 상기 설명된 방법의 모든 옵션의 특징들은 또한 장치에 대하여 구현될 수도 있다. 이 실시예들에서의 세부 사항들은 하나 이상의 실시형태들 어디에나 이용될 수도 있다.
실시예 92 내지 실시예 96 은 인증서 개정 리스트를 이용하여 디바이스의 권한들을 개정하기 위한 시스템으로서, 실시예 82 내지 실시예 86 의 동작들을 실행하는 수단을 포함한다.
상기 설명에서, 다수의 상세들이 기술된다. 그러나, 실시형태들은 이들 특정 상세들 없이도 실시될 수도 있다는 것이 본 개시물의 이익을 갖는 당업자에게 명백할 것이다. 일부 경우들에서, 널리 공지된 구조들 및 디바이스들은 설명을 불명료하게 하는 것을 회피하기 위하여, 상세히 도시되기 보다는 블록 다이어그램 형태로 도시된다.

Claims (35)

  1. 렌더링 디바이스가 인가 파일을 판독하는 것에 응답하여 미디어 보안 제어기에 의해, 상기 렌더링 디바이스로, 상기 렌더링 디바이스가 미디어 저장 디바이스의 메모리로부터 데이터의 부분을 판독하게 하고 상기 데이터의 상기 부분을 상기 미디어 보안 제어기에 제공하게 하는 메시지를 전송하는 단계로서, 상기 미디어 저장 디바이스의 상기 메모리 내의 상기 데이터는 상기 렌더링 디바이스에 의해 렌더링될 미디어 아이템에 관련되는, 상기 메시지를 전송하는 단계;
    상기 미디어 보안 제어기에 의해, 상기 렌더링 디바이스로부터 상기 데이터의 상기 부분을 수신하는 단계;
    상기 미디어 보안 제어기에 의해, 상기 데이터의 상기 부분을 변환하는 단계; 및
    상기 미디어 보안 제어기에 의해, 상기 데이터의 변환된 상기 부분을 상기 렌더링 디바이스로 전송하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 데이터의 변환된 상기 부분은 상기 렌더링 디바이스가 상기 미디어 아이템을 렌더링하기 위한 데이터를 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 데이터의 상기 부분을 변환하는 단계는, 상기 데이터의 상기 부분을 복호화하는 단계, 상기 데이터의 상기 부분을 암호화하는 단계, 또는 상기 데이터의 상기 부분을 압축하는 단계 중 적어도 하나의 단계를 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 미디어 보안 제어기는 상기 데이터의 변환된 상기 부분에 대응하는 인가 키를 저장하기 위한 제 2 메모리를 포함하는, 방법.
  5. 제 4 항에 있어서,
    상기 데이터의 상기 부분을 변환하는 단계는, 상기 미디어 보안 제어기에 의해, 상기 인가 키를 이용하여 상기 데이터의 상기 부분을 복호화하는 단계를 포함하는, 방법.
  6. 제 1 항에 있어서,
    공중 키 인프라스트럭처 암호 (public key infrastructure cryptography) 에 기초하여 상기 미디어 보안 제어기와 상기 렌더링 디바이스 간에 제 1 핸드셰이크 (handshake) 를 수행하는 단계;
    대칭 키 암호 (symmetric key cryptography) 에 기초하여 상기 미디어 저장 디바이스와 상기 렌더링 디바이스 간에 제 2 핸드셰이크를 수행하는 단계; 및
    상기 제 1 핸드셰이크 및 상기 제 2 핸드셰이크에 기초하여 상기 렌더링 디바이스와 보안 세션을 확립하는 단계를 더 포함하는, 방법.
  7. 제 1 항에 있어서,
    상기 데이터의 상기 부분을 변환하는 단계는 :
    상기 미디어 보안 제어기에 의해, 상기 데이터의 상기 부분을 변환하기 위한 인가 키를 특정하는 명령들의 세트를 수신하는 단계로서, 상기 명령들의 세트는 포렌식 분석 (forensic analysis) 으로 하여금, 상기 미디어 보안 제어기를 제 3 자에게 식별할 수 있게 하는, 상기 명령들의 세트를 수신하는 단계; 및
    상기 미디어 보안 제어기에 의해, 상기 인가 키를 이용하여 상기 데이터의 변환된 상기 부분을 생성하는 단계로서, 상기 데이터의 변환된 상기 부분은 상기 미디어 보안 제어기를 상기 제 3 자에게 식별하는, 상기 데이터의 변환된 상기 부분을 생성하는 단계를 포함하는, 방법.
  8. 제 1 항에 있어서,
    상기 미디어 보안 제어기의 제 1 인증서 개정 리스트 (certificate revision list) 를 상기 렌더링 디바이스의 제 2 인증서 개정 리스트와 동기화하는 단계를 더 포함하며,
    상기 제 1 인증서 개정 리스트 및 상기 제 2 인증서 개정 리스트는 권한들의 세트에 대한 하나 이상의 변경들을 설명하는, 방법.
  9. 렌더링 디바이스에 의해, 상기 렌더링 디바이스가 인가 파일을 판독하는 것에 응답하여 미디어 보안 제어기로부터 메시지를 수신하는 단계로서, 상기 메시지는 상기 렌더링 디바이스에, 미디어 저장 디바이스의 메모리로부터 데이터의 부분을 판독하고 상기 데이터의 상기 부분을 상기 미디어 보안 제어기에 제공할 것을 명령하며, 상기 미디어 저장 디바이스의 상기 메모리 내의 상기 데이터는 상기 렌더링 디바이스에 의해 렌더링될 미디어 아이템에 관련되는, 상기 메시지를 수신하는 단계;
    상기 렌더링 디바이스에 의해, 상기 데이터의 상기 부분을 상기 미디어 보안 제어기로 전송하는 단계; 및
    상기 렌더링 디바이스에 의해, 상기 미디어 보안 제어기로부터 상기 데이터의 변환된 부분을 수신하는 단계를 포함하는, 방법.
  10. 제 9 항에 있어서,
    상기 미디어 보안 제어기로부터 수신된 상기 데이터의 상기 변환된 부분에 기초하여 플레이백 맵 (playback map) 을 생성하는 단계를 더 포함하며,
    상기 플레이백 맵은 상기 미디어 아이템을 렌더링하기 위한 데이터를 포함하는, 방법.
  11. 제 9 항에 있어서,
    상기 미디어 보안 제어기로부터 수신된 상기 데이터의 상기 변환된 부분에 기초하여 상기 미디어 아이템을 렌더링하는 단계를 더 포함하는, 방법.
  12. 제 9 항에 있어서,
    상기 미디어 저장 디바이스와 공유되는 세션 키를 이용하여 상기 데이터의 상기 변환된 부분을 프로세싱하는 단계를 더 포함하는, 방법.
  13. 제 12 항에 있어서,
    상기 프로세싱하는 단계는, 상기 데이터의 상기 변환된 부분을 복호화하는 단계, 상기 데이터의 상기 변환된 부분을 암호화하는 단계, 또는 상기 데이터의 상기 변환된 부분을 압축하는 단계 중 적어도 하나의 단계를 포함하는, 방법.
  14. 제 9 항에 있어서,
    공중 키 인프라스트럭처 암호 (public key infrastructure cryptography) 에 기초하여 상기 미디어 저장 디바이스와 상기 렌더링 디바이스 간에 제 1 핸드셰이크 (handshake) 를 수행하는 단계;
    대칭 키 암호 (symmetric key cryptography) 에 기초하여 상기 미디어 저장 디바이스와 상기 렌더링 디바이스 간에 제 2 핸드셰이크를 수행하는 단계; 및
    상기 제 1 핸드셰이크 및 상기 제 2 핸드셰이크에 기초하여 상기 미디어 보안 제어기와 보안 세션을 확립하는 단계를 더 포함하는, 방법.
  15. 제 9 항에 있어서,
    상기 렌더링 디바이스의 제 1 인증서 개정 리스트 (certificate revision list) 를 상기 미디어 보안 제어기의 제 2 인증서 개정 리스트와 동기화하는 단계를 더 포함하며,
    상기 제 1 인증서 개정 리스트 및 상기 제 2 인증서 개정 리스트는 권한들의 세트에 대한 하나 이상의 변경들을 설명하는, 방법.
  16. 미디어 아이템을 저장하기 위한 메모리; 및
    상기 메모리에 커플링된 미디어 보안 제어기를 포함하며,
    상기 미디어 보안 제어기는 :
    렌더링 디바이스가 인가 파일을 판독하는 것에 응답하여, 상기 렌더링 디바이스로, 상기 렌더링 디바이스가 미디어 저장 디바이스의 메모리로부터 데이터의 부분을 판독하게 하고 상기 데이터의 상기 부분을 상기 미디어 보안 제어기에 제공하게 하는 메시지를 전송하는 것으로서, 상기 미디어 저장 디바이스의 상기 메모리 내의 상기 데이터는 상기 렌더링 디바이스에 의해 렌더링될 미디어 아이템에 관련되는, 상기 메시지를 전송하고;
    상기 렌더링 디바이스로부터 상기 데이터의 상기 부분을 수신하고;
    상기 데이터의 상기 부분을 변환하며;
    상기 데이터의 변환된 상기 부분을 상기 렌더링 디바이스로 전송하는
    프로세싱 디바이스를 포함하는, 장치.
  17. 제 16 항에 있어서,
    상기 데이터의 변환된 상기 부분은 상기 렌더링 디바이스가 상기 미디어 아이템을 렌더링하기 위한 데이터를 포함하는, 장치.
  18. 제 16 항에 있어서,
    상기 미디어 보안 제어기는 상기 데이터의 상기 부분을 복호화하는 것, 상기 데이터의 상기 부분을 암호화하는 것, 또는 상기 데이터의 상기 부분을 압축하는 것 중 적어도 하나에 의해 상기 데이터의 상기 부분을 변환하는 것인, 장치.
  19. 제 16 항에 있어서,
    상기 미디어 보안 제어기는 상기 데이터의 변환된 상기 부분에 대응하는 인가 키를 저장하기 위한 제 2 메모리를 더 포함하는, 장치.
  20. 제 19 항에 있어서,
    상기 미디어 보안 제어기는 또한 :
    상기 인가 키를 이용하여 상기 데이터의 상기 부분을 복호화하는 것인, 장치.
  21. 제 16 항에 있어서,
    상기 미디어 보안 제어기는 또한 :
    공중 키 인프라스트럭처 암호 (public key infrastructure cryptography) 에 기초하여 상기 미디어 보안 제어기와 상기 렌더링 디바이스 간에 제 1 핸드셰이크 (handshake) 를 수행하고;
    대칭 키 암호 (symmetric key cryptography) 에 기초하여 상기 미디어 보안 제어기와 상기 렌더링 디바이스 간에 제 2 핸드셰이크를 수행하며;
    상기 제 1 핸드셰이크 및 상기 제 2 핸드셰이크에 기초하여 상기 렌더링 디바이스와 보안 세션을 확립하는 것인, 장치.
  22. 제 16 항에 있어서,
    상기 미디어 보안 제어기는 :
    상기 데이터의 상기 부분을 변환하기 위한 인가 키를 특정하는 명령들의 세트를 수신하는 것으로서, 상기 명령들의 세트는 포렌식 분석 (forensic analysis) 으로 하여금, 상기 미디어 보안 제어기를 제 3 자에게 식별할 수 있게 하는, 상기 명령들의 세트를 수신하고;
    상기 인가 키를 이용하여 상기 데이터의 변환된 상기 부분을 생성하는 것으로서, 상기 데이터의 변환된 상기 부분은 상기 미디어 보안 제어기를 상기 제 3 자에게 식별하는, 상기 데이터의 변환된 상기 부분을 생성함으로써
    상기 데이터의 상기 부분을 변환하는 것인, 장치.
  23. 제 16 항에 있어서,
    상기 미디어 보안 제어기는 또한 :
    상기 미디어 보안 제어기의 제 1 인증서 개정 리스트 (certificate revision list) 를 상기 렌더링 디바이스의 제 2 인증서 개정 리스트와 동기화하는 것이며,
    상기 제 1 인증서 개정 리스트 및 상기 제 2 인증서 개정 리스트는 권한들의 세트에 대한 하나 이상의 변경들을 설명하는, 장치.
  24. 미디어 아이템을 렌더링하기 위한 데이터를 저장하기 위한 메모리; 및
    상기 메모리에 커플링된 프로세싱 디바이스를 포함하며,
    상기 프로세싱 디바이스는 :
    미디어 저장 디바이스의 메모리로부터 데이터의 부분을 판독하고 상기 데이터의 상기 부분을 미디어 보안 제어기에 제공하기 위해, 상기 프로세싱 디바이스가 인가 파일을 판독하는 것에 응답하여 상기 미디어 보안 제어기로부터 메시지를 수신하는 것으로서, 상기 미디어 저장 디바이스의 상기 메모리 내의 상기 데이터는 상기 프로세싱 디바이스에 의해 렌더링될 상기 미디어 아이템에 관련되는, 상기 메시지를 수신하고;
    상기 데이터의 상기 부분을 상기 미디어 보안 제어기로 전송하며;
    상기 미디어 보안 제어기로부터 상기 데이터의 변환된 부분을 수신하는, 장치.
  25. 제 24 항에 있어서,
    상기 프로세싱 디바이스는 또한 :
    상기 미디어 보안 제어기로부터 수신된 상기 데이터의 상기 변환된 부분에 기초하여 플레이백 맵 (playback map) 을 생성하는 것이며,
    상기 플레이백 맵은 상기 미디어 아이템을 렌더링하기 위한 데이터를 포함하는, 장치.
  26. 제 24 항에 있어서,
    상기 프로세싱 디바이스는 또한 :
    상기 미디어 보안 제어기로부터 수신된 상기 데이터의 상기 변환된 부분에 기초하여 상기 미디어 아이템을 렌더링하는 것인, 장치.
  27. 제 24 항에 있어서,
    상기 프로세싱 디바이스는 또한 :
    상기 미디어 저장 디바이스와 공유되는 세션 키를 이용하여 상기 데이터의 상기 변환된 부분을 프로세싱하는 것인, 장치.
  28. 제 27 항에 있어서,
    상기 데이터의 상기 변환된 부분을 프로세싱하는 것은, 상기 데이터의 상기 변환된 부분을 복호화하거나, 상기 데이터의 상기 변환된 부분을 암호화하거나, 또는 상기 데이터의 상기 변환된 부분을 압축하는 것 중 적어도 하나를 행하기 위해 상기 프로세싱 디바이스를 포함하는, 장치.
  29. 제 24 항에 있어서,
    상기 프로세싱 디바이스는 또한 :
    공중 키 인프라스트럭처 암호 (public key infrastructure cryptography) 에 기초하여 상기 미디어 보안 제어기와 제 1 핸드셰이크 (handshake) 를 수행하고;
    대칭 키 암호 (symmetric key cryptography) 에 기초하여 상기 미디어 보안 제어기와 제 2 핸드셰이크를 수행하며;
    상기 제 1 핸드셰이크 및 상기 제 2 핸드셰이크에 기초하여 상기 미디어 보안 제어기와 보안 세션을 확립하는 것인, 장치.
  30. 제 24 항에 있어서,
    상기 프로세싱 디바이스는 또한 :
    제 1 인증서 개정 리스트 (certificate revision list) 를 상기 미디어 보안 제어기의 제 2 인증서 개정 리스트와 동기화하는 것이며,
    상기 제 1 인증서 개정 리스트 및 상기 제 2 인증서 개정 리스트는 권한들의 세트에 대한 하나 이상의 변경들을 설명하는, 장치.
  31. 명령들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 미디어 저장 디바이스 내의 프로세싱 디바이스에 의해 실행될 때, 상기 프로세싱 디바이스로 하여금 :
    렌더링 디바이스가 인가 파일을 판독하는 것에 응답하여 상기 프로세싱 디바이스에 의해, 상기 렌더링 디바이스로, 상기 렌더링 디바이스가 상기 미디어 저장 디바이스의 메모리로부터 데이터의 부분을 판독하게 하고 상기 데이터의 상기 부분을 상기 프로세싱 디바이스에 제공하게 하는 메시지를 전송하는 것으로서, 상기 미디어 저장 디바이스의 상기 메모리 내의 상기 데이터는 상기 렌더링 디바이스에 의해 렌더링될 미디어 아이템에 관련되는, 상기 메시지를 전송하는 것;
    상기 프로세싱 디바이스에 의해, 상기 렌더링 디바이스로부터 상기 데이터의 상기 부분을 수신하는 것;
    상기 프로세싱 디바이스에 의해, 상기 데이터의 상기 부분을 변환하는 것; 및
    상기 프로세싱 디바이스에 의해, 상기 데이터의 변환된 상기 부분을 상기 렌더링 디바이스로 전송하는 것
    을 포함하는 동작들을 수행하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  32. 제 31 항에 있어서,
    상기 데이터의 상기 부분을 변환하는 것은, 미디어 보안 제어기에서 메모리 내에 저장되는 인가 키를 이용하여 상기 데이터의 상기 부분을 복호화하는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  33. 제 31 항에 있어서,
    상기 동작들은 :
    상기 미디어 저장 디바이스의 제 1 인증서 개정 리스트 (certificate revision list) 를 상기 렌더링 디바이스의 제 2 인증서 개정 리스트와 동기화하는 것을 더 포함하며,
    상기 제 1 인증서 개정 리스트 및 상기 제 2 인증서 개정 리스트는 권한들의 세트에 대한 하나 이상의 변경들을 설명하는, 비일시적 컴퓨터 판독가능 저장 매체.
  34. 명령들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 렌더링 디바이스 내의 프로세싱 디바이스에 의해 실행될 때, 상기 프로세싱 디바이스로 하여금 :
    상기 프로세싱 디바이스에 의해, 상기 프로세싱 디바이스가 인가 파일을 판독하는 것에 응답하여 미디어 보안 제어기로부터 메시지를 수신하는 것으로서, 상기 메시지는 상기 프로세싱 디바이스에, 미디어 저장 디바이스의 메모리로부터 데이터의 부분을 판독하고 상기 데이터의 상기 부분을 상기 미디어 보안 제어기에 제공할 것을 명령하고, 상기 미디어 저장 디바이스의 상기 메모리 내의 상기 데이터는 상기 프로세싱 디바이스에 의해 렌더링될 미디어 아이템에 관련되는, 상기 메시지를 수신하는 것;
    상기 프로세싱 디바이스에 의해, 상기 데이터의 상기 부분을 상기 미디어 보안 제어기로 전송하는 것; 및
    상기 프로세싱 디바이스에 의해, 상기 미디어 보안 제어기로부터 상기 데이터의 변환된 부분을 수신하는 것
    을 포함하는 동작들을 수행하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  35. 제 34 항에 있어서,
    상기 동작들은 :
    상기 미디어 보안 제어기로부터 수신된 상기 데이터의 상기 변환된 부분에 기초하여 플레이백 맵 (playback map) 을 생성하는 것을 더 포함하며,
    상기 플레이백 맵은 상기 미디어 아이템을 렌더링하기 위한 데이터를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020157001235A 2012-07-18 2013-07-17 미디어 보안 제어기를 이용한 미디어 아이템들의 보호 KR102151284B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261673023P 2012-07-18 2012-07-18
US61/673,023 2012-07-18
US201261683679P 2012-08-15 2012-08-15
US61/683,679 2012-08-15
PCT/US2013/050947 WO2014015073A1 (en) 2012-07-18 2013-07-17 Protecting media items using a media security controller

Publications (2)

Publication Number Publication Date
KR20150037840A KR20150037840A (ko) 2015-04-08
KR102151284B1 true KR102151284B1 (ko) 2020-09-02

Family

ID=49949235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157001235A KR102151284B1 (ko) 2012-07-18 2013-07-17 미디어 보안 제어기를 이용한 미디어 아이템들의 보호

Country Status (6)

Country Link
US (3) US10120985B2 (ko)
EP (1) EP2875462A4 (ko)
JP (1) JP6189438B2 (ko)
KR (1) KR102151284B1 (ko)
CN (1) CN104471581B (ko)
WO (1) WO2014015073A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9342695B2 (en) 2012-10-02 2016-05-17 Mordecai Barkan Secured automated or semi-automated systems
US11188652B2 (en) * 2012-10-02 2021-11-30 Mordecai Barkan Access management and credential protection
KR20140129683A (ko) * 2013-04-30 2014-11-07 (주)잉카엔트웍스 Drm 방식으로 암호화된 멀티미디어 컨텐츠를 재생하는 단말 장치 및 방법
US9887837B2 (en) * 2013-10-31 2018-02-06 Verimatrix, Inc. System and method for synchronized key derivation across multiple conditional access servers
WO2016043962A1 (en) * 2014-09-17 2016-03-24 Cryptography Research, Inc. Managing privileges of different entities for an integrated circuit
US10735816B2 (en) 2014-10-02 2020-08-04 Lg Electronics Inc. Content reproduction method and device
US10642962B2 (en) 2015-07-28 2020-05-05 Western Digital Technologies, Inc. Licensable function for securing stored data
US10395011B2 (en) 2015-11-04 2019-08-27 Screening Room Media, Inc. Monitoring location of a client-side digital content delivery device to prevent digital content misuse
AU2016357751B2 (en) * 2015-11-19 2021-04-01 Robert Bosch Gmbh Secure access control to an embedded device through a networked computer
CN105491409B (zh) * 2015-12-24 2019-01-08 北京腾锐视讯科技有限公司 一种数字电视系统中增强ca系统
US10452819B2 (en) 2017-03-20 2019-10-22 Screening Room Media, Inc. Digital credential system
CN107563171B (zh) * 2017-09-11 2020-08-28 英业达科技有限公司 具有生物特征辨识模块的储存装置
US20200205155A1 (en) * 2018-12-20 2020-06-25 Arris Enterprises Llc Downloading and storing video content offline to manage video playback
JP2020119298A (ja) * 2019-01-24 2020-08-06 キオクシア株式会社 メモリシステム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100718086B1 (ko) * 1999-03-15 2007-05-16 톰슨 라이센싱 디지털 홈 네트워크를 위한 범용 복사 방지 시스템에서 액세스 관리 방법 및 디바이스
US20070276760A1 (en) * 2004-04-30 2007-11-29 Matsushita Electric Industrial Co., Ltd. Digital Copyright Management Using Secure Device
US20100333209A1 (en) 2009-06-30 2010-12-30 Nokia Corporation Method, apparatus and computer program product for providing protected content to one or more devices by reacquiring the content from a service
US20120087639A1 (en) 2003-10-27 2012-04-12 Panasonic Corporation Content distribution server and content playback control terminal

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504892A (en) * 1994-09-08 1996-04-02 Taligent, Inc. Extensible object-oriented file system
US6185666B1 (en) * 1999-09-11 2001-02-06 Powerquest Corporation Merging computer partitions
JP2001358708A (ja) * 1999-10-29 2001-12-26 Matsushita Electric Ind Co Ltd コンテンツ情報変換装置、コンテンツ情報変換方法、及びプログラム記憶媒体
US6772340B1 (en) * 2000-01-14 2004-08-03 Microsoft Corporation Digital rights management system operating on computing device and having black box tied to computing device
US6615365B1 (en) * 2000-03-11 2003-09-02 Powerquest Corporation Storing a computer disk image within an imaged partition
US8055899B2 (en) * 2000-12-18 2011-11-08 Digimarc Corporation Systems and methods using digital watermarking and identifier extraction to provide promotional opportunities
JP2002290945A (ja) * 2001-03-23 2002-10-04 Matsushita Electric Ind Co Ltd ディジタル放送受信装置及びメモリカード接続アダプター
JP4039489B2 (ja) * 2002-01-12 2008-01-30 コアトラスト インコーポレーテッド マルチメディアコンテンツの情報保護方法及びシステム
JP2004151195A (ja) * 2002-10-29 2004-05-27 Sony Corp 通信装置、通信方法、プログラム、記憶媒体、端末装置
EP1627319A4 (en) * 2003-05-01 2009-11-11 Samsung Electronics Co Ltd AUTHENTICATION PROCESS AND DEVICE
US8291236B2 (en) * 2004-12-07 2012-10-16 Digital Keystone, Inc. Methods and apparatuses for secondary conditional access server
JP2006195586A (ja) * 2005-01-11 2006-07-27 Ntt Docomo Inc コンテンツ配信ノード、ネットワーク機器および販売システム
EP1894078A1 (en) * 2005-06-23 2008-03-05 Thomson Licensing Digital rights management (drm) enabled portable playback device, method and system
KR100656402B1 (ko) * 2005-11-26 2006-12-11 한국전자통신연구원 디지털 콘텐츠를 안전하게 배포하는 방법 및 그 장치
US20100310076A1 (en) * 2009-06-04 2010-12-09 Ron Barzilai Method for Performing Double Domain Encryption in a Memory Device
EP2273409A3 (en) * 2009-07-10 2013-01-16 Disney Enterprises, Inc. Interoperable keychest
US8755526B2 (en) * 2009-07-10 2014-06-17 Disney Enterprises, Inc. Universal file packager for use with an interoperable keychest

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100718086B1 (ko) * 1999-03-15 2007-05-16 톰슨 라이센싱 디지털 홈 네트워크를 위한 범용 복사 방지 시스템에서 액세스 관리 방법 및 디바이스
US20120087639A1 (en) 2003-10-27 2012-04-12 Panasonic Corporation Content distribution server and content playback control terminal
US20070276760A1 (en) * 2004-04-30 2007-11-29 Matsushita Electric Industrial Co., Ltd. Digital Copyright Management Using Secure Device
US20100333209A1 (en) 2009-06-30 2010-12-30 Nokia Corporation Method, apparatus and computer program product for providing protected content to one or more devices by reacquiring the content from a service

Also Published As

Publication number Publication date
US10120985B2 (en) 2018-11-06
WO2014015073A1 (en) 2014-01-23
JP6189438B2 (ja) 2017-08-30
KR20150037840A (ko) 2015-04-08
US20190018934A1 (en) 2019-01-17
EP2875462A4 (en) 2016-03-16
CN104471581A (zh) 2015-03-25
US10902096B2 (en) 2021-01-26
US20150178478A1 (en) 2015-06-25
CN104471581B (zh) 2018-04-20
US10460084B2 (en) 2019-10-29
US20200125697A1 (en) 2020-04-23
EP2875462A1 (en) 2015-05-27
JP2015529892A (ja) 2015-10-08

Similar Documents

Publication Publication Date Title
US10902096B2 (en) Protecting media items using a media security controller
US9853957B2 (en) DRM protected video streaming on game console with secret-less application
US9325505B2 (en) Apparatus and method for content encryption and decryption based on storage device ID
KR101255395B1 (ko) 콘텐츠 보호 시스템들 간의 디지털 콘텐츠 전사
JP5615716B2 (ja) デジタル権利管理に対する装置及び方法
KR101050594B1 (ko) 데이터 객체 전송 방법 및 디바이스
US9489520B2 (en) Decryption and encryption of application data
US20100310076A1 (en) Method for Performing Double Domain Encryption in a Memory Device
US8347098B2 (en) Media storage structures for storing content, devices for using such structures, systems for distributing such structures
TW201707468A (zh) 基於可信執行環境的業務處理方法和用戶端
WO2016146013A1 (zh) 在数字内容设备中在线写入应用密钥的方法、装置及系统
US9047445B2 (en) Memory device and method for updating a security module
KR20140000352A (ko) 권리 객체 백업 방법 및 장치
CN107222759B (zh) 媒体文件加解密的方法、系统、设备和介质
US10574458B2 (en) Media storage structures for storing content, devices for using such structures, systems for distributing such structures
US9083685B2 (en) Method and system for content replication control
KR101701625B1 (ko) 암호화된 컨텐츠의 복호화 키를 안전하게 획득하여 컨텐츠를 재생하기 위한 방법 및 시스템
JP5319754B2 (ja) コンテンツ管理サーバおよび携帯端末機
JP2016162371A (ja) コンテンツ送受信システム及びコンテンツ認証方法
JP2013243732A (ja) コンテンツ管理サーバ、端末機、コンテンツ管理システムおよびコンテンツ管理方法
KR20140129683A (ko) Drm 방식으로 암호화된 멀티미디어 컨텐츠를 재생하는 단말 장치 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant