KR20090108690A - Methods and apparatuses for linking content with license - Google Patents
Methods and apparatuses for linking content with license Download PDFInfo
- Publication number
- KR20090108690A KR20090108690A KR1020097012051A KR20097012051A KR20090108690A KR 20090108690 A KR20090108690 A KR 20090108690A KR 1020097012051 A KR1020097012051 A KR 1020097012051A KR 20097012051 A KR20097012051 A KR 20097012051A KR 20090108690 A KR20090108690 A KR 20090108690A
- Authority
- KR
- South Korea
- Prior art keywords
- content
- parameter
- license
- encryption key
- memory device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000015654 memory Effects 0.000 claims abstract description 41
- 238000004891 communication Methods 0.000 claims abstract description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- LZIAMMQBHJIZAG-UHFFFAOYSA-N 2-[di(propan-2-yl)amino]ethyl carbamimidothioate Chemical compound CC(C)N(C(C)C)CCSC(N)=N LZIAMMQBHJIZAG-UHFFFAOYSA-N 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004557 technical material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Human Computer Interaction (AREA)
- Storage Device Security (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
본 발명의 실시예는, 일반적으로 콘텐트 액세스에 관한 것이고, 보다 구체적으로는 콘텐트를 라이센스와 연결하고 세션 티켓을 바탕으로 콘텐트에 액세스하는 것에 관한 것이다.Embodiments of the present invention generally relate to content access and, more particularly, to associating content with a license and accessing content based on session tickets.
디지털 권리 관리(DRM)는 음악 파일들, 비디오 파일들, 및 다른 콘텐트 같은 콘텐트의 분배를 보호 및 제어하기 위하여 사용된 기술이다. DRM에서, 콘텐트는 암호화 키로 인크립트되어, 암호화 키는 콘텐트를 디크립트하기 위하여 사용될 수 있다. 사용자가 콘텐트를 디크립트하고 액세스하기 위하여, 사용자는 콘텐트와 연관된 라이센스에 액세스하여야 한다. 일반적으로, 라이센스는 라이센스 제공자에 의해 정의된 허가를 바탕으로 콘텐트에 액세스하기 위한 다른 액세스 권리들을 승인할 수 있다. 예를 들어, 라이센스는 제한된 수의 횟수 동안 콘텐트(예를 들어, 음악 파일)가 플레이 되게 제한할 수 있다. Digital rights management (DRM) is a technique used to protect and control the distribution of content such as music files, video files, and other content. In DRM, content is encrypted with an encryption key so that the encryption key can be used to decrypt the content. In order for a user to decrypt and access the content, the user must access a license associated with the content. In general, the license may grant other access rights to access the content based on the permissions defined by the licensor. For example, a license may restrict the content (eg, music files) to be played for a limited number of times.
종래 DRM 기술들에서, 콘텐트를 디크립트하기 위하여 사용된 암호화 키는 라이센스에만 저장된다. 라이센스는 해킹될 수 있고 암호화 키는 라이센스로부터 쉽게 추출될 수 있다. 만약 암호화 키가 손상되면, 인증되지 않은 사용자는 라이센스 없이 콘텐트를 디크립트하고 이에 따라 제한 없이 콘텐트에 액세스할 수 있다. 결과적으로, 콘텐트의 보호를 추가로 개선하는 것이 필요하다.In conventional DRM techniques, the encryption key used to decrypt the content is stored only in the license. The license can be hacked and the encryption key can be easily extracted from the license. If the encryption key is compromised, unauthorized users can decrypt the content without a license and thus access the content without restriction. As a result, there is a need to further improve the protection of the content.
본 발명의 다양한 실시예들은 콘텐트와 라이센스를 링킹하고 세션 티켓을 바탕으로 콘텐트에 액세스하기 위한 방법들, 시스템들 및/또는 장치들을 제공한다. 상기 실시예들이 방법, 회로, 시스템, 또는 디바이스를 포함하는 다양한 방식으로 실행될 수 있다는 것이 인식되어야 한다. 본 발명의 몇몇 실시예들은 하기에 기술된다.Various embodiments of the present invention provide methods, systems and / or devices for linking content and licenses and for accessing content based on session tickets. It should be appreciated that the above embodiments may be implemented in a variety of ways, including methods, circuits, systems, or devices. Some embodiments of the invention are described below.
일 실시예에서, 콘텐트에 액세스하기 위한 방법은 제공된다. 이 방법에서, 라이센스와 연관된 제 1 파라미터는 검색된다. 라이센스는 콘텐트와 연관된다. 콘텐트와 연관된 제 2 파라미터는 검색된다. 제 1 및 제 2 파라미터들로 인해, 제 1 및 제 2 파라미터들을 바탕으로 하는 제 3 파라미터는 생성된다. 제 3 파라미터는 콘텐트를 디크립트하는데 사용하기 위해 구성되고 상기 콘텐트는 제 3 파라미터를 바탕으로 액세스될 수 있다.In one embodiment, a method for accessing content is provided. In this method, the first parameter associated with the license is retrieved. Licenses are associated with content. The second parameter associated with the content is retrieved. Due to the first and second parameters, a third parameter is generated based on the first and second parameters. The third parameter is configured for use in decrypting the content and the content can be accessed based on the third parameter.
다른 실시예에서, 장치가 제공된다. 상기 장치는 메모리 및 상기 메모리와 통신하는 처리기를 포함한다. 처리기는 라이센스와 연관된 제 1 파라미터를 검색하고; 콘텐트와 연관된 제 2 파라미터를 검색하고; 제 1 및 제 2 파라미터들을 바탕으로 제 3 파라미터를 생성하고; 및 제 3 파라미터를 바탕으로 콘텐트에 액세스하도록 구성된다.In another embodiment, an apparatus is provided. The apparatus includes a memory and a processor in communication with the memory. The processor retrieves a first parameter associated with the license; Retrieve a second parameter associated with the content; Generate a third parameter based on the first and second parameters; And access content based on the third parameter.
본 발명의 다른 실시예들 및 장점들은 본 발명의 원리들을 예시적으로 도시하는 첨부 도면들과 관련하여 얻어진 다음 상세한 설명으로부터 명백할 것이다.Other embodiments and advantages of the invention will be apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate by way of example the principles of the invention.
본 발명은 첨부 도면들과 관련하여 다음 상세한 설명에 의해 쉽게 이해될 것이고, 유사한 참조 번호들은 유사한 구조 엘리먼트들을 나타낸다.BRIEF DESCRIPTION OF THE DRAWINGS The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals indicate similar structural elements.
도 1은 본 발명의 실시예에 따른 장치들의 시스템의 간략화된 블록도이다.1 is a simplified block diagram of a system of devices in accordance with an embodiment of the present invention.
도 2는 본 발명의 실시예에 따른 콘텐트를 디크립트하기 위하여 사용된 파라미터의 생성을 도시하는 블록도이다.2 is a block diagram illustrating generation of a parameter used to decrypt content in accordance with an embodiment of the present invention.
도 3은 본 발명의 실시예에 따른 메모리 디바이스에 액세스하기 위한 시스템의 간략화된 블록도이다.3 is a simplified block diagram of a system for accessing a memory device according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 메모리 디바이스로부터 콘텐트의 액세스를 도시하는 흐름도이다.4 is a flow chart illustrating access of content from a memory device in accordance with an embodiment of the invention.
도 5는 본 발명의 실시예에 따른 세션 티켓의 생성을 도시하는 블록도이다.5 is a block diagram illustrating the creation of a session ticket according to an embodiment of the invention.
도 6은 본 발명의 실시예에 따른 세션 티켓을 사용하여 메모리 디바이스에 액세스하기 위한 시스템의 간략화된 블록도이다.6 is a simplified block diagram of a system for accessing a memory device using a session ticket in accordance with an embodiment of the present invention.
도 7은 본 발명의 실시예에 따른 세션 티켓을 바탕으로 메모리 디바이스로부터 콘텐트의 액세스를 도시하는 흐름도이다.7 is a flow diagram illustrating access of content from a memory device based on a session ticket in accordance with an embodiment of the present invention.
도 8은 본 발명의 실시예에 따른 콘텐트에 액세스하기 위한 호스트 컴퓨팅 디바이스 상에 호스트될 수 있는 프로그램 애플리케이션들의 간략화된 블록도이다.8 is a simplified block diagram of program applications that may be hosted on a host computing device for accessing content in accordance with an embodiment of the present invention.
도 9는 본 발명의 실시예에 따른 메모리 디바이스에 포함될 수 있는 프로그램 애플리케이션들의 간략화된 블록도이다.9 is a simplified block diagram of program applications that may be included in a memory device according to an embodiment of the present invention.
도 10은 본 발명의 실시예에 따른 콘텐트 보호 플랫폼 및 다른 프로그램 애플리케이션들을 호스팅하기에 적당한 호스트 컴퓨팅 디바이스의 일반적인 개요의 간략화된 블록도이다.10 is a simplified block diagram of a general overview of a host computing device suitable for hosting a content protection platform and other program applications in accordance with an embodiment of the present invention.
도 11은 본 발명의 실시예에 따른 메모리 디바이스의 간략화된 블록도이다.11 is a simplified block diagram of a memory device according to an embodiment of the present invention.
하나 또는 그 이상의 실시예들의 상세한 설명은 첨부 도면들과 함께 하기에 제공된다. 상세한 설명은 상기 실시예들과 관련하여 제공되지만, 임의의 특정 실시예로 제한되지 않는다. 상기 범위는 청구항들 및 다수의 대안들, 변형들에 의해서만 제한되고, 등가물들은 포함된다. 다수의 특정 항목들은 완전한 이해를 제공하기 위하여 다음 상세한 설명에 나타난다. 이들 항목들은 예시적으로 제공되고 기술된 실시예들은 이들 특정 항목들 몇몇 또는 모두 없이도 청구항들에 따라 실행될 수 있다. 간략화를 위하여, 실시예들과 관련된 기술 분야들에서 공지된 기술 자료는 상세한 설명을 불필요하게 모호하게 하는 것을 방지하기 위하여 상세히 기술되지 않는다.A detailed description of one or more embodiments is provided below in conjunction with the accompanying drawings. Detailed descriptions are provided in connection with the above embodiments, but are not limited to any particular embodiment. The scope is limited only by the claims and the numerous alternatives, modifications and equivalents included. Many specific items appear in the following detailed description to provide a thorough understanding. These items are provided by way of example and the described embodiments may be practiced according to the claims without some or all of these specific items. For the sake of simplicity, technical material known in the technical fields related to the embodiments is not described in detail in order to avoid unnecessarily obscuring the detailed description.
여기에 기술된 실시예들은 콘텐트와 라이센스를 링킹하고 세션 티켓을 바탕으로 콘텐트에 액세스하는 것을 제공한다. 암호화 키는 인크립트된 콘텐트를 디크립트하고 액세스하기 위하여 사용된다. 이하에 보다 상세히 설명될 바와 같이, 양쪽 라이센스 및 콘텐트와 연관된 파라미터들은 암호화 키를 유도하기 위하여 사용된다. 몇몇 실시예들에서, 암호화 키를 유도하기 위하여 사용된 파라미터는 변수로 추가로 인크립되어 콘텐트에 대한 액세스는 세션으로 제한된다.Embodiments described herein provide for linking content and licenses and accessing content based on session tickets. The encryption key is used to decrypt and access the encrypted content. As will be described in more detail below, parameters associated with both licenses and content are used to derive the encryption key. In some embodiments, the parameter used to derive the encryption key is further encrypted with a variable so that access to the content is restricted to the session.
도 1은 본 발명의 실시예에 따른 장치 시스템의 간략화된 블록도이다. 도 1에 도시된 바와 같이, 시스템(102)은 호스트 컴퓨팅 디바이스(114) 및 메모리 디바이스(116)를 포함한다. 호스트 컴퓨팅 디바이스(114)는 메모리 디바이스에 저장된 콘텐트(118)를 저장 또는 검색하기 위하여 메모리 디바이스(116)에 액세스할 수 있는 다양한 전자 디바이스들을 포함할 수 있다. 메모리 디바이스(116)는 핀 및/또는 소켓 접속기들 같은 기계적 인터페이스(108)에 의해 호스트 컴퓨팅 디바이스(114)에 제거 가능하게 결합될 수 있다. 메모리 디바이스(116)는 메모리 저장 디바이스이다. 이하에 설명될 바와 같이, 메모리 디바이스(116)의 예는 비휘발성 메모리를 사용하는 메모리 카드이다.1 is a simplified block diagram of an apparatus system according to an embodiment of the present invention. As shown in FIG. 1,
호스트 컴퓨팅 디바이스(114)는 애플리케이션(104)을 호스트한다. 애플리케이션(104)은 다양한 프로그램 애플리케이션들을 포함한다. 예를 들어, 애플리케이션(104)은 호스트 컴퓨팅 디바이스(114) 상 하드웨어 및 소프트웨어 리소스들을 관리하는 오퍼레이팅 시스템일 수 있다. 다른 실시예에서, 애플리케이션(104)은 오디오 및 비디오 파일들을 플레이하도록 구성된 멀티미디어 플레이어일 수 있다. 부가적으로, 예를 들어, 애플리케이션(104)은 비디오 게임일 수 있다. 애플리케이션(104)은 메모리 디바이스(116)에 저장된 콘텐트(118)에 액세스할 수 있다. 콘텐트(118)는 다양한 데이터를 포함할 수 있다. 콘텐트(118)의 예들은 WAVE, MPEG-1 오디오 층 3(MP3), Advanced Audio Coding(AAC), 및 다른 오디오 파일 포맷들 같은 오디오 파일 포맷들로 인코딩된 오디오 파일들을 포함한다. 콘텐트(118)는 Audio Video Interleave(AVI), Moving Picture Experts Group(MPEG), 및 다른 비디오 파 일 포맷들 같은 비디오 파일 포맷들로 인코딩된 비디오 파일들을 포함할 수 있다. 콘텐트(118)의 다른 예들은 도큐먼트 파일들, 이미지 파일들, 애플리케이션 파일들, 및 다른 데이터를 포함한다.
콘텐트와Content and 라이센스license 링킹Linking
도 2는 본 발명의 실시예에 따른 콘텐트를 디크립트하기 위하여 사용된 파라미터의 생성을 도시하는 블록도이다. 도 2는 콘텐트(118) 및 연관된 라이센스(204)를 도시한다. 콘텐트(118)는 콘텐트가 난해하도록 인크립트된다. 일반적으로, 라이센스(204)는 콘텐트(118)가 액세스되는 데이터(예를 들어, 문자열, 파일, 및 다른 데이터)이다. 라이센스(204)는 액세스의 지속 기간, 특정 컴퓨팅 디바이스에 콘텐트의 액세스 제한, 날짜들, 시간들, 콘텐트가 액세스될 수 있는 횟수, 및 다른 허가들 같은 콘텐트(118)에 액세스하기 위한 허가들 또는 룰들을 포함할 수 있다. 라이센스(204)는 콘텐트(118)에 액세스하기 위한 허가들을 정의하도록 구성될 수 있다. 그러므로 사용자는 라이센스(204)에 포함된 허가들을 바탕으로 콘텐트(118)에 액세스하게 된다. 예를 들어, 라이센스(204)는 특정 컴퓨팅 디바이스에서 음악 파일 형태의 콘텐트(118)가 3회 플레이되게 할 수 있다. 다른 실시예에서, 라이센스(204)는 콘텐트(118)가 액세스되게 하지만 다른 컴퓨팅 디바이스에 카피되게 하지 않는다.2 is a block diagram illustrating generation of a parameter used to decrypt content in accordance with an embodiment of the present invention. 2 shows content 118 and associated license 204. Content 118 is encrypted so that the content is difficult. Generally, license 204 is data (eg, strings, files, and other data) to which content 118 is accessed. The license 204 may be licenses or rules for accessing the content 118, such as the duration of the access, the access restriction of the content to a particular computing device, dates, times, the number of times the content can be accessed, and other permissions. Can include them. License 204 may be configured to define permissions for accessing content 118. Thus, the user has access to the content 118 based on the permissions contained in the license 204. For example, license 204 can cause content 118 in the form of a music file to be played three times on a particular computing device. In another embodiment, license 204 allows content 118 to be accessed but not to be copied to another computing device.
콘텐트(118)는 인크립트되고 제 3 파라미터(210)는 콘텐트를 디크립트할 때 사용하기 위해 구성된다. 제 3 파라미터(210)는 콘텐트(118)의 디크립션과 연관될 수 있는 다양한 데이터를 포함한다. 예를 들어, 제 3 파라미터(210)는 콘텐트(118) 의 인크립션 및 디크립션에 사용된 암호화 키일 수 있다. 암호화 키 대신, 제 3 파라미터(210)는 암호화 키에 대한 레퍼런스를 포함할 수 있다. 예를 들어 레퍼런스는 암호화 키를 식별하는 수 또는 문자열일 수 있다. 제 3 파라미터(210)는 인증 키를 포함할 수 있다. 인증 키는 호스트 컴퓨팅 디바이스 및 메모리 디바이스 사이의 세션들을 인증하기 위하여 사용된 암호화 키이다. 다른 예에서, 제 3 파라미터(210)는 암호화 논스(nonce)일 수 있다. 암호화 논스는 암호화 키를 생성하기 위하여 사용될 수 있는 수이다.The content 118 is encrypted and the
제 3 파라미터(210)는 제 1 파라미터(202) 및 제 2 파라미터(206)를 바탕으로 생성된다. 다른 말로, 제 3 파라미터(210)는 다음과 같이 표현될 수 있다:The
제 3 파라미터 = F(제 1 파라미터, 제 2 파라미터) (1.0)Third parameter = F (first parameter, second parameter) (1.0)
여기서 제 3 파라미터는 제 1 및 제 2 파라미터들(202 및 206)의 함수이다. 상기 함수는 해시 함수 같은 다양한 함수를 포함할 수 있어서, 제 3 파라미터(210)는 해시 함수의 해시 값일 수 있다. 제 1 파라미터(202)는 라이센스(204)와 연관되고 제 2 파라미터(206)는 콘텐트(118)와 연관된다. 제 1 및 제 2 파라미터들(202 및 206)은 다양한 데이터를 포함할 수 있다. 예를 들어, 제 1 파라미터(202)는 수일 수 있다. 실시예에서, 상기 수는 임의로 생성될 수 있다. 다른 실시예에서, 상기 수는 미리 정의된다. 제 2 파라미터(206)는 제 1 파라미터(202)에 따르거나 그 반대일 수 있다. 예를 들어, 제 2 파라미터(206)는 암호화 키에 대한 레퍼런스 및 제 1 파라미터(202) 모두로부터 유도된 수 또는 문자열일 수 있다. 상기 수 또는 문자열은 다음과 같이 표현될 수 있다:The third parameter here is a function of the first and
제 2 파라미터 = F(키 레퍼런스, 제 1 파라미터) (1.2)2nd parameter = F (key reference, 1st parameter) (1.2)
여기서 제 2 파라미터(206)는 암호화 키에 대한 레퍼런스 및 제 1 파라미터(202) 모두의 함수이다. 제 2 파라미터(206)가 인증 키 및 제 1 파라미터(202) 모두로부터 유도될 수 있다는 것은 인식되어야 한다. 다른 실시예에서, 제 2 파라미터(206)는 암호화 논스 및 제 1 파라미터(202)로부터 유도될 수 있다. 반대로, 제 1 파라미터(202)는 제 2 파라미터(206) 및 인증 키로, 암호화 키에 대한 레퍼런스, 암호화 논스 또는 다른 파라미터들로부터 유도될 수 있다.The
제 1 및 제 2 파라미터들(202 및 206)은 각각 라이센스(204) 및 콘텐트(118)와 연관된다. 라이센스(204) 또는 콘텐트(118)와 연관되도록, 제 1 및 제 2 파라미터들(202 및 206)은 각각 라이센스 및 콘텐트 내에 배치되거나 포함될 수 있다. 예를 들어, 제 2 파라미터(206)는 콘텐트(118)의 헤더 또는 풋터(footer)에 배치될 수 있다. 선택적으로, 제 1 파라미터(202) 및/또는 제 2 파라미터(206)는 라이센스(204) 및/또는 콘텐트(118)와 무관하게 배치될 수 있다. 만약 무관하게 배치되면, 라이센스(204)는 제 1 파라미터에 대한 포인터를 포함하는 제 1 파라미터(202)와 연관될 수 있다. 콘텐트(118)는 만약 제 2 파라미터가 콘텐트와 무관하게 배치되면 제 2 파라미터(206)에 대한 포인터를 포함할 수 있다.The first and
도 3은 본 발명의 실시예에 따른 메모리 디바이스에 액세스하기 위한 시스템의 간략화된 블록도이다. 도시된 바와 같이, 시스템(302)은 메모리 디바이스(116)에 결합된 호스트 컴퓨팅 디바이스(114)를 포함한다. 호스트 컴퓨팅 디바이스(114)는 애플리케이션(104) 및 제 1 콘텐트 보호 플랫폼(304)을 포함할 수 있다. 메모리 디바이스(116)는 제 2 콘텐트 보호 플랫폼(306), 콘텐트(118), 및 라이센스(204)를 포함한다. 실시예에서, 라이센스(204)는 메모리 디바이스(116)의 숨겨진 구획부에 저장될 수 있고 여기서 라이센스는 많은 애플리케이션들에 의해 보여지거나 액세스할 수 없다. 메모리 디바이스(116)에 저장된 것 외에, 라이센스(204)는 호스트 컴퓨팅 디바이스(114)에 저장될 수 있다. 제 1 및 제 2 콘텐트 보호 플랫폼들(304 및 306)은 메모리 디바이스(116)에 대한 콘텐트(118)를 보호하기 위한 기술적인 플랫폼들이다. 제 1 콘텐트 보호 플랫폼(304) 및/또는 제 2 콘텐트 보호 플랫폼(306)으로 인해, 사용자는 콘텐트 보호를 타협하지 않고 메모리 디바이스(116) 및 상기 메모리 디바이스의 콘텐트(118)를 전달할 수 있다. 데이터를 보호하기 위하여 사용될 수 있는 다양한 콘텐트 보호 플랫폼들이 있고, 그 예들은 상표명 TrustedFlashTM 및 GruviTM(SanDisk, Inc.에 의해 제조됨)으로 팔린다.3 is a simplified block diagram of a system for accessing a memory device according to an embodiment of the present invention. As shown, the
도 3에 도시된 바와 같이, 제 1 콘텐트 보호 플랫폼(304)에 의한 애플리케이션(104)은 메모리 디바이스(116)에 저장된 콘텐트(118)에 대한 요청을 전송한다. 여기서, 콘텐트(118)는 인크립트된다. 콘텐트(118)를 디크립트하기 위하여, 라이센스(204)와 연관된 제 1 파라미터(202) 및 콘텐트(118)와 연관된 제 2 파라미터(206)는 검색된다. 제 1 파라미터(202) 및 제 2 파라미터(206)는 라이센스(204) 및 콘텐트(118)에 각각 포함될 수 있거나, 라이센스 및 콘텐트와 무관하게 배치된 파일들 수 있다. 방정식 1.0에 의해 정의된 바와 같이, 제 3 파라미터는 제 1 파라미터(202) 및 제 2 파라미터(206)를 바탕으로 생성된다. 다른 말로, 제 3 파라미터 는 제 1 및 제 2 파라미터들(202 및 206)로부터 유도될 수 있다. 제 3 파라미터는 콘텐트(118)를 디크립트하기 위하여 사용된 암호화 키, 암호화 키에 대한 레퍼런스, 인증 키, 논스, 또는 다른 파라미터들일 수 있다. 제 3 파라미터로 인해, 애플리케이션(104)은 콘텐트(118)를 디크립트하고 액세스할 수 있다. 콘텐트(118)에 액세스하기 위하여, 제 1 콘텐트 보호 플랫폼(304)은 제 3 파라미터 및 콘텐트(118)에 대한 요청을 메모리 디바이스(116)에 전송할 수 있다. 제 2 콘텐트 보호 플랫폼(306)은 제 3 파라미터를 바탕으로 콘텐트(118)를 디크립트하고 디크립트될 콘텐트를 제 1 콘텐트 보호 플랫폼(304)에 의해 애플리케이션(104)에 전송할 수 있다.As shown in FIG. 3, the
도 3의 실시예에서, 호스트 컴퓨팅 디바이스(114) 상에 호스트된 제 1 콘텐트 보호 플랫폼(304)은 제 1 및 제 2 파라미터들(202 및 206)을 검색하고 제 1 및 제 2 파라미터들을 바탕으로 제 3 파라미터를 생성한다. 다른 실시예에서, 메모리 디바이스(116)에 포함된 제 2 콘텐트 보호 플랫폼(306)은 제 1 및 제 2 파라미터들(202 및 206)을 검색하고 제 1 및 제 2 파라미터들을 바탕으로 제 3 파라미터를 생성한다.In the embodiment of FIG. 3, the first
도 4는 본 발명의 실시예에 따른 메모리 디바이스로부터 콘텐트의 액세스를 도시하는 흐름도이다. 402에서 시작하여, 콘텐트는 콘텐트가 보호되는지(즉, 인크립트)를 결정하기 위하여 분석된다. 콘텐트와 연관된 다양한 정보는 콘텐트가 인크립트 되는지를 가리킬 수 있다. 콘텐트의 헤더는 예를 들어 콘텐트가 인크립트되는 것을 가리킬 수 있다. 선택적으로, 콘텐트의 파일이름 확장은 콘텐트가 인크립트되는 것을 가리킨다. 만약 콘텐트가 보호되지 않으면, 콘텐트는 410에 직접적으로 액 세스될 수 있다. 만약 콘텐트가 보호되지 않으면, 제 1 파라미터는 404에서 라이센스로부터 검색된다. 이 실시예에서, 제 1 파라미터는 수이다. 상기 수는 임의로 생성 또는 미리 정의될 수 있다. 406에서, 제 2 파라미터는 콘텐트로부터 검색된다. 실시예에서, 방정식 1.2에서 표현된 바와 같이, 제 2 파라미터는 암호화 키에 대한 레퍼런스 및 제 1 파라미터로부터 유도될 수 있다. 암호화 키는 콘텐트를 인크립트 또는 디크립트하기 위하여 사용된다. 결과적으로, 제 2 파라미터는 콘텐트 및 라이센스 모두와 연관되는데, 그 이유는 제 2 파라미터가 콘텐트를 디크립트하기 위하여 사용된 암호화 키에 대한 레퍼런스 및 라이센스와 함께 포함된 수로부터 유도 또는 계산되기 때문이다. 다른 실시예에서, 제 1 파라미터(예를 들어, 수)는 콘텐트와 연관되고 제 2 파라미터는 라이센스와 연관될 수 있다.4 is a flow chart illustrating access of content from a memory device in accordance with an embodiment of the invention. Starting at 402, the content is analyzed to determine if the content is protected (ie, encrypted). Various information associated with the content may indicate whether the content is encrypted. The header of the content may, for example, indicate that the content is encrypted. Optionally, the filename extension of the content indicates that the content is encrypted. If the content is not protected, the content can be accessed directly at 410. If the content is not protected, the first parameter is retrieved from the license at 404. In this embodiment, the first parameter is a number. The number can be arbitrarily generated or predefined. At 406, the second parameter is retrieved from the content. In an embodiment, as represented in equation 1.2, the second parameter may be derived from a reference to the encryption key and the first parameter. The encryption key is used to encrypt or decrypt the content. As a result, the second parameter is associated with both content and license since the second parameter is derived or calculated from the number included with the license and the reference to the encryption key used to decrypt the content. In another embodiment, the first parameter (eg, number) may be associated with the content and the second parameter may be associated with the license.
제 1 파라미터 및 제 2 파라미터로 인해, 암호화 키에 대한 레퍼런스는 408에서 생성 또는 계산될 수 있다. 방정식 1.0에서 상기된 바와 같이, 암호화 키에 대한 레퍼런스는 제 1 파라미터 및 제 2 파라미터를 바탕으로 생성될 수 있다. 그 후, 410에서, 콘텐트는 제 3 파라미터를 바탕으로 디크립트 및 액세스될 수 있다. 예를 들어, 일 실시예에서, 암호화 키에 대한 레퍼런스 형태의 제 3 파라미터는 메모리 디바이스에 전송될 수 있다. 메모리 디바이스는 암호화 키를 저장하는 안전한 저장소를 포함할 수 있다. 메모리 디바이스는 암호화 키에 대한 레퍼런스를 사용하여 안전 저장소로부터 암호화 키를 검색할 수 있다. 암호화 키로 인해, 메모리 디바이스는 콘텐트를 디크립트하고 호스트 컴퓨팅 디바이스에 디크립트된 콘텐트를 전송할 수 있다.Due to the first parameter and the second parameter, a reference to the encryption key can be generated or calculated at 408. As described above in Equation 1.0, a reference to the encryption key may be generated based on the first parameter and the second parameter. The content can then be decrypted and accessed based on the third parameter, at 410. For example, in one embodiment, the third parameter in the form of a reference to an encryption key can be sent to the memory device. The memory device may include a secure storage that stores the encryption key. The memory device can retrieve the encryption key from the secure store using the reference to the encryption key. The encryption key allows the memory device to decrypt the content and send the decrypted content to the host computing device.
세션 티켓을 바탕으로 Based on session ticket 콘텐트에On content 액세스 access
도 5는 본 발명의 실시예에 따른 세션 키의 생성을 도시하는 블록도이다. 파라미터(502)는 처음에 제공되고 상기 파라미터는 콘텐트의 디크립션과 연관될 수 있는 다양한 데이터를 포함한다. 파라미터(502)는 상기된 라이센스 및 콘텐트와 연관된 파라미터들을 바탕으로 생성될 수 있다. 파라미터(502)의 예들은 콘텐트의 디크립션을 위해 사용된 암호화 키에 대한 레퍼런스, 암호화 논스 또는 다른 파라미터들 포함한다.5 is a block diagram illustrating generation of a session key in accordance with an embodiment of the present invention. The
세션 티켓(506)의 생성은 변수(504)의 사용을 수반한다. 변수(504)는 다양한 데이터를 포함한다. 예를 들어, 데이터는 수일 수 있다. 상기 수는 미리 정의되거나 임의로 생성될 수 있다. 다른 실시예에서, 데이터는 캐릭터 문자일 수 있다. 상기된 파라미터들과 달리, 변수(504)는 라이센스 및 콘텐트와 연관되지 않을 수 있다. 다른 말로, 변수(504)는 라이센스 및 콘텐트와 무관할 수 있다. 변수(504)는 세션에서 변화하도록 구성된다. 세션은 임의의 시간 기간 동안에 걸칠 수 있다. 예를 들어, 세션은 시간, 날, 주, 또는 다른 시간 단위들 동안 지속할 수 있다. 게다가, 세션은 메모리 디바이스에 결합된 호스트 컴퓨팅 디바이스가 시작 또는 재시작될 때 만료할 수 있다. 세션은 또한 메모리 디바이스가 호스트 컴퓨팅 디바이스로부터 분리될 때 만료할 수 있다. 게다가, 예를 들어, 세션은 콘텐트에 대한 액세스의 제한된 횟수(예를 들어, 콘텐트가 액세스될 수 있는 제한된 횟수)에 걸칠 수 있다.Creation of
세션 티켓(506)은 파라미터(502) 및 변수(504)를 바탕으로 생성되어, 파라미 터는 세션 티켓(506)을 정의하기 위하여 변수를 바탕으로 인크립트된다. 세션 티켓(506)은 그러므로 다음과 같이 표현된다:The
세션 티켓 = F(파라미터, 변수) (2.0)Session Ticket = F (Parameters, Variable) (2.0)
여기서 세션 티켓은 파라미터(502) 및 변수(504)의 함수이다. 세션 티켓(506)으로 인해, 콘텐트는 세션 티켓을 바탕으로 액세스될 수 있다. 예를 들어, 호스트 컴퓨팅 디바이스는 세션 티켓(506)을 메모리 디바이스에 전송할 수 있다. 메모리 디바이스는 세션 티켓(506)을 바탕으로 콘텐트를 디크립트하기 위하여 사용된 파라미터를 유도할 수 있다. 파라미터(502)는 다음과 같이 유도된다:The session ticket here is a function of
파라미터 = F-1(세션 티켓, 변수) (2.2)Parameter = F -1 (session ticket, variable) (2.2)
여기서 파라미터는 세션 티켓(506) 및 변수(504)의 인버스 함수이다.The parameter here is the inverse function of the
세션 티켓(506)이 특정 콘텐트와 연관되는데 그 이유는 세션 티켓이 콘텐트를 디크립트하기 위하여 사용하기 때문이라는 것이 인식되어야 한다. 결과적으로, 메모리 디바이스에 저장된 다른 콘텐트는 만약 세션 티켓이 다른 콘텐트를 디크립트하기 위하여 파라미터(502) 같은 파라미터를 포함하지 않으면 세션 티켓(506)에 사용되거나 액세스될 수 없다. 예로서, 만약 메모리 디바이스에 저장된 두 개의 독립된 콘텐트들이 다른 암호화 키들로 인크립트되면, 호스트 컴퓨팅 디바이스 또는 메모리 디바이스는 두 개의 독립된 콘텐트들에 액세스하기 위하여 두 개의 다른 세션 티켓들을 생성한다. 여기서, 하나의 세션 티켓은 다른 암호화 키들로 인크립트된 두 개의 독립된 콘텐트들에 액세스하기 위하여 사용될 수 없다.It should be appreciated that
도 6은 본 발명의 실시예에 따른 세션 티켓을 사용하여 메모리 디바이스에 액세스하기 위한 시스템의 간략화된 블록도이다. 시스템(602)은 메모리 디바이스(116)에 결합된 호스트 컴퓨팅 디바이스(114)를 포함한다. 호스트 컴퓨팅 디바이스(114)는 애플리케이션(104) 및 제 1 콘텐트 보호 플랫폼(304)을 포함할 수 있다. 메모리 디바이스(116)는 제 2 콘텐트 보호 플랫폼(306), 콘텐트(118), 및 라이센스(204)를 포함한다. 상기된 바와 같이, 제 1 및 제 2 콘텐트 보호 플랫폼들(304 및 306)은 메모리 디바이스(116)에 저장된 콘텐트(118)의 디지털 권리들을 관리하도록 구성될 수 있다. 6 is a simplified block diagram of a system for accessing a memory device using a session ticket in accordance with an embodiment of the present invention.
도 6에 도시된 바와 같이, 애플리케이션(104)은 제 1 콘텐트 보호 플랫폼(304)에 의해 메모리 디바이스(116)에 저장된 콘텐트(118)에 대한 요청을 전송한다. 콘텐트(118)는 암호화 키로 인크립트된다. 암호화 키(예를 들어, 암호화 키에 대한 레퍼런스; 논스, 또는 다른 파라미터들)와 연관된 파라미터는 제 2 콘텐트 보호 플랫폼(306)에 제공된다. 콘텐트(118)에 대한 요청에 응답하여, 제 2 콘텐트 보호 플랫폼(306)은 방정식 2.0으로 표현된 세션 티켓을 정의하기 위하여 변수(604)를 바탕으로 파라미터를 인크립트한다. 제 2 콘텐트 보호 플랫폼(306)은 변수(604)(예를 들어, 수, 문자열, 또는 다른 파라미터)를 생성할 수 있다. 변수(604)는 세션에서 변화하도록 구성된다. 예를 들어, 제 2 콘텐트 보호 플랫폼(306)은 모든 세션에 대해 다른 변수(604)를 생성할 수 있다. 변수(604)는 임의로 생성 또는 미리 정의될 수 있다.As shown in FIG. 6, the
세션 티켓이 생성된 후, 제 2 콘텐트 보호 플랫폼(306)은 컴퓨팅 디바이 스(114)를 호스트하기 위하여 세션 티켓을 전송한다. 세션 티켓으로 인해, 호스트 컴퓨팅 디바이스(114)는 세션 티켓을 바탕으로 콘텐트(118)에 액세스할 수 있다. 콘텐트(118)에 액세스하기 위하여, 호스트 컴퓨팅 디바이스(114)는 추후 세션 티켓을 다시 메모리 디바이스(116)에 전송한다. 세션 티켓의 수신으로, 제 2 콘텐트 보호 플랫폼(306)은 방정식 2.2에서 표현된 콘텐트(118)를 디크립트하기 위하여 사용된 파라미터를 추출하기 위하여 세션 티켓을 디크립트한다. 만약 변수(604)가 변화되지 않으면, 파라미터는 디크립션이 파라미터를 인크립트하기 위하여 사용된 변수와 동일한 변수를 바탕으로 하기 때문에 추출될 수 있다. 변수(604)는 다른 세션들에서 변화할 수 있다. 결과적으로, 변수(604)는 만약 변수들이 동일한 세션 내에서 생성되면 파라미터를 인크립트하기 위하여 사용된 변수와 동일하다. 그러나, 만약 변수(604)가 변화되면, 파라미터는 디크립션이 파라미터를 인크립트하기 위하여 사용된 변수와 다른 변수를 바탕으로 하기 때문에 추출될 수 없다. 변수(604)는 만약 변수들이 다른 세션들 내에서 생성되면 파라미터를 인크립트하기 위하여 사용된 변수와 다르다. 세션에서 변수(604)를 변화함으로써, 세션 티켓은 하나의 세션 동안 지속하거나 유효하다. 만약 파라미터가 추출되면, 제 2 콘텐트 보호 플랫폼(306)은 파라미터를 바탕으로 콘텐트(118)를 디크립트하고 호스트 컴퓨팅 디바이스(114)에 디크립트된 콘텐트를 전송할 수 있다.After the session ticket is generated, the second
다른 실시예에서, 제 1 콘텐트 보호 플랫폼(304)은 콘텐트(118)를 디크립트하기 위하여 사용된 파라미터를 인크립트함으로써 세션 티켓을 생성할 수 있다. 여기서, 콘텐트(118)에 액세스하기 위하여 애플리케이션(104)에 의한 요청에 응답하 여, 제 1 콘텐트 보호 플랫폼(304)은 세션 티켓을 생성할 수 있고 상기 세션 티켓을 애플리케이션(104)에 전송할 수 있다. 애플리케이션(104)은 콘텐트(118)에 액세스하기 위하여 제 1 콘텐트 보호 플랫폼(304)에 다시 세션 티켓을 전송할 수 있다.In another embodiment, first
도 7은 본 발명의 실시예에 따른 세션 티켓을 바탕으로 메모리 디바이스로부터 콘텐트의 액세스를 도시하는 흐름도이다. 702에서 시작하여, 암호화 키에 대한 레퍼런스는 검색된다. 레퍼런스는 호스트 컴퓨팅 디바이스 또는 메모리 디바이스로부터 검색될 수 있다. 메모리 디바이스에 저장된 콘텐트는 인크립트되고 암호화 키를 사용하여 디크립트될 수 있다. 암호화 키에 대한 레퍼런스로 인해, 암호화 키에 대한 레퍼런스는 세션 티켓을 정의하기 위하여 704에서 수를 바탕으로 인크립트된다. 상기 수는 세션에서 변화하도록 구성되고 임의로 생성될 수 있다. 그 다음 세션 티켓은 예를 들어 706에서 호스트 컴퓨팅 디바이스로 전송될 수 있다.7 is a flow diagram illustrating access of content from a memory device based on a session ticket in accordance with an embodiment of the present invention. Starting at 702, a reference to the encryption key is retrieved. The reference can be retrieved from a host computing device or a memory device. Content stored on the memory device can be encrypted and decrypted using the encryption key. Due to the reference to the encryption key, the reference to the encryption key is encrypted based on the number at 704 to define the session ticket. The number can be configured to vary in the session and can be arbitrarily generated. The session ticket can then be sent to the host computing device, for example, at 706.
호스트 컴퓨팅 디바이스가 메모리 디바이스 상에 저장된 콘텐트에 액세스할 때, 호스트 컴퓨팅 디바이스는 706에서 메모리 디바이스에 수신된 세션 티켓을 전송할 수 있다. 메모리 디바이스는 708에서 세션 티켓을 수신하고 710에서 수를 바탕으로 세션 티켓을 디크립트한다. 만약 상기 수가 세션 티켓을 생성하기 위하여 사용된 수와 매칭하면, 암호화 키에 대한 레퍼런스는 디크립션 동작으로부터 추출될 수 있다. 그러나, 만약 세션이 변화되고 다른 수가 메모리 디바이스에 의해 유지되면, 암호화 키에 대한 레퍼런스는 수들이 매칭하지 않기 때문에 디크립션 동작으로부터 추출될 수 없다. 만약 암호화 키에 대한 레퍼런스가 세션 티켓으로부터 추출될 수 있으면, 암호화 키는 712에서 레퍼런스를 바탕으로 검색된다. 암호화 키 는 예를 들어 안전한 저장소로부터 검색될 수 있다. 콘텐트는 암호화 키를 사용하여 714에서 디크립트되고 예를 들어 716에서 호스트 컴퓨팅 디바이스로 전송된다.When the host computing device accesses content stored on the memory device, the host computing device may transmit the received session ticket to the memory device at 706. The memory device receives the session ticket at 708 and decrypts the session ticket based on the number at 710. If the number matches the number used to generate the session ticket, a reference to the encryption key can be extracted from the decryption operation. However, if the session is changed and another number is maintained by the memory device, then the reference to the encryption key cannot be extracted from the decryption operation because the numbers do not match. If a reference to the encryption key can be extracted from the session ticket, then the encryption key is retrieved based on the reference at 712. The encryption key can be retrieved from a secure storage, for example. The content is decrypted at 714 using the encryption key and sent to the host computing device at 716, for example.
도 8은 본 발명의 실시예에 따른 콘텐트에 액세스하기 위한 호스트 컴퓨팅 디바이스 상에 호스트될 수 있는 프로그램 애플리케이션들의 간략화된 블록도이다. 호스트 컴퓨팅 디바이스(114)는 애플리케이션(104), 디지털 권리 관리(DRM) 모듈(806), 콘텐트 보호 플랫폼(304), 파일 시스템 관리기(808), 및 디바이스 드라이버(810)를 호스트할 수 있다. 상기된 바와 같이, 애플리케이션(104)은 멀티미디어 플레이어들, 비디오 게임들, 및 다른 애플리케이션들 같은 다양한 프로그램 애플리케이션들을 포함할 수 있다. 애플리케이션(104)은 DRM 모듈(806) 및 콘텐트 보호 플랫폼(304)과 통신한다. DRM 모듈(806)은 호스트 컴퓨팅 디바이스(114)가 메모리 디바이스 또는 다른 위치들에 저장된 콘텐트의 디지털 권리들을 관리하게 한다. 예를 들어, DRM 모듈(806)은 콘텐트를 보호할 수 있고 상기 콘텐트의 분배를 제어한다. 상기된 바와 같이, 콘텐트 보호 플랫폼(304)은 메모리 디바이스 상 콘텐트를 보호하기 위한 기술적 플랫폼이다. 콘텐트 보호 플랫폼(304)은 보안 관리기(802) 및 호스트 암호화 엔진(804)을 포함할 수 있다. 일반적으로, 보안 관리기(802)는 메모리 디바이스에 저장된 콘텐트의 액세스를 관리한다. 관리는 예를 들어 콘텐트가 보호되는지를 검사하고, 라이센스 및 콘텐트와 연관된 파라미터들을 바탕으로 암호화 키에 대한 레퍼런스를 생성하고, 파라미터 및 변수를 바탕으로 세션 티켓을 생성하고, 변수를 생성하고, 및 다른 동작들을 포함한다. 호스트 암호화 엔진(804)은 암호화 동작들을 처리하기 위하여 암호화 라이브러리들을 포함한다. 콘텐트 보 호 플랫폼(304) 및 DRM 모듈(806)은 함께 보안 저장 및 콘텐트 관리 능력들을 호스트 컴퓨팅 디바이스(114)(및 메모리 디바이스)에 제공한다. 예를 들어, 콘텐트 보호 플랫폼(304) 및 DRM 모듈(806)은 메모리 디바이스에 저장된 콘텐트(예를 들어, 음악 파일들, 영화 파일들, 소프트웨어, 및 다른 데이터)의 보안 저장 및 콘텐트에 대한 액세스를 제어하기 위하여 사전 정의된 정책들의 실행을 허용한다.8 is a simplified block diagram of program applications that may be hosted on a host computing device for accessing content in accordance with an embodiment of the present invention. The
콘텐트 보호 플랫폼(304)은 파일 시스템 관리기(808)와 통신한다. 일반적으로, 파일 시스템 관리기(808)는 메모리 디바이스에 저장된 콘텐트의 액세스(예를 들어, 판독, 기입 및 다른 액세스 동작들)을 관리 및 처리하도록 구성된다. 예를 들어, 파일 시스템 관리기(808)는 메모리 디바이스로부터 콘텐트를 판독하고 처리를 위하여 콘텐트 보호 플랫폼(304)에 상기 콘텐트를 전송할 수 있다. 호스트 컴퓨팅 디바이스(114)는 메모리 디바이스와 인터페이스 할 수 있다. 호스트 컴퓨팅 디바이스(114)는 그러므로 메모리 디바이스와 인터페이스하기 위하여 시스템 관리기(808)와 통신하는 디바이스 드라이버(810)를 포함할 수 있다. 디바이스 드라이버(810)는 예를 들어 메모리 디바이스와 통신하기 위하여 낮은 레벨 인터페이스 함수들을 포함할 수 있다. 보다 낮은 레벨의 인터페이스 함수의 예는 메모리 디바이스에 및 상기 메모리 디바이스로부터 입력 및 출력과 연관된 입력/출력 함수들을 포함한다.The
도 9는 본 발명의 실시예에 따라 메모리 디바이스에 포함될 수 있는 프로그램 애플리케이션들의 간략화된 블록도이다. 메모리 디바이스(116)는 DRM 모듈(902), 콘텐트 보호 플랫폼(306), 암호화 엔진(904), 및 보안 저장소(906)를 포 함할 수 있다. 메모리 디바이스(116)에서, DRM 모듈(902)은 메모리 디바이스(116)가 메모리 디바이스에 저장된 콘텐트의 디지털 권리들을 관리하게 한다. 예를 들어, DRM 모듈(902)은 콘텐트 권리들을 실행하기 위하여 구성될 수 있다. 상기된 바와 같이 콘텐트 보호 플랫폼(306)은 메모리 디바이스(116)에 저장된 콘텐트를 보호하기 위한 기술 플랫폼이다. 콘텐트 보호 플랫폼(306)은 파라미터 및 변수를 바탕으로 세션 티켓을 생성하기 위하여 라이센스 및 콘텐트와 연관된 파라미터들을 바탕으로 암호화 키에 대한 레퍼런스를 생성하도록 구성될 수 있고, 다른 동작들을 위해 구성될 수 있다. 암호화 엔진(904)은 암호화 동작들을 처리하고 보안 저장소(906)는 암호화 키들을 저장한다.9 is a simplified block diagram of program applications that may be included in a memory device in accordance with an embodiment of the invention. Memory device 116 may include DRM module 902,
다른 실시예에서, 도 8의 호스트 컴퓨팅 디바이스(114) 및 도 9의 메모리 디바이스(116)가 도 8 및 9에 도시된 것과 달리 보다 적거나 많은 프로그램 애플리케이션들을 포함할 수 있다는 것이 인식되어야 한다. 예를 들어, 도 8에 도시된 바와 같이, 파일 시스템 관리기(808) 및 디바이스 드라이버(810)는 콘텐트 보호 플랫폼(304)에 통합될 수 있다. 도 8의 호스트 컴퓨팅 디바이스(114)는 그러므로 DRM 모듈(806) 및 콘텐트 보호 플랫폼(304)을 포함할 수 있다.In other embodiments, it should be appreciated that the
도 10은 본 발명의 실시예에 따라 콘텐트 보호 플랫폼 및 다른 프로그램 애플리케이션들을 호스팅하기에 적당한 호스트 컴퓨팅 디바이스의 일반적인 개요의 간략화된 블록도이다. 몇몇 실시예들에서, 호스트 컴퓨팅 디바이스(114)는 컴퓨터 프로그램들(예를 들어, 콘텐트 보호 플랫폼), 논리, 애플리케이션들, 방법들, 처리들, 또는 콘텐트에 액세스하기 위한 다른 소프트웨어를 실행하기 위하여 사용될 수 있다. 호스트 컴퓨팅 디바이스(114)의 예들은 데스크탑 컴퓨터, 서버, 휴대용 컴퓨팅 디바이스, 퍼스널 디지털 어시스탄트, 모바일 전화, 기구 내의 계산 엔진, 및 다른 컴퓨터 시스템들을 포함한다. 도 10에 도시된 바와 같이, 호스트 컴퓨팅 디바이스(114)는 처리기(1004), 시스템 메모리(1006)(예를 들어, 랜덤 액세스 메모리(RAM)), 저장 디바이스(1008)(예를 들어, 판독 전용 메모리(ROM), 자기 디스크 드라이브들, 광학 디스크 드라이브들, 및 다른 저장 디바이스들), 통신 인터페이스(1012)(예를 들어, 모뎀 또는 이더넷 카드), 디스플레이(1014)(예를 들어, 음극선관(CRT) 또는 액정디스플레이(LCD)), 입력/출력 디바이스(1016)(예를 들어, 키보드), 및 커서 제어부(1018)(예를 들어, 마우스 또는 트랙볼) 같은 디바이스들 및 서브시스템들과 상호작용하는 정보를 통신하기 위한 버스(1002) 또는 다른 통신 메카니즘을 포함한다.10 is a simplified block diagram of a general overview of a host computing device suitable for hosting a content protection platform and other program applications in accordance with an embodiment of the invention. In some embodiments,
몇몇 실시예들에서, 호스트 컴퓨팅 디바이스(114)는 시스템 메모리(1006)에 저장된 하나 또는 그 이상의 프로그램 명령들의 하나 또는 그 이상의 시퀀스들을 실행할 때 처리기(1004)에 의해 특정 동작들을 수행한다. 상기 프로그램 명령들은 저장 디바이스(1008) 같은 다른 컴퓨터 판독 가능 매체로부터 시스템 메모리(1006)에 판독될 수 있다. 몇몇 실시예들에서, 배선 회로는 본 발명의 실시예들을 실행하기 위하여 소프트웨어 프로그램 명령들 대시 또는 상기 소프트웨어 프로그램 명령과 결합하여 사용될 수 있다.In some embodiments,
용어 "컴퓨터 판독 가능 매체"가 실행을 위한 처리기(1004)에 프로그램 명령들을 제공하는데 참여하는 적당한 매체를 말하는 것이라 인식되어야 한다. 상기 매 체는 비휘발성 매체, 휘발성 매체, 및 전송 매체를 포함하지만 제한되지 않는 형태들을 취할 수 있다. 비휘발성 매체는 예를 들어 저장 디바이스(1008) 같은 광학 또는 자기 디스크들을 포함할 수 있다. 휘발성 매체는 시스템 메모리(1006) 같은 동적 메모리를 포함할 수 있다. 전송 매체는 버스(1002)를 포함하는 와이어들을 구비한 동축 케이블들, 구리 와이어, 및 광섬유들을 포함한다. 전송 매체는 무선파 및 적외선 데이터 통신들 동안 생성된 바와 같은 음향 또는 광 파들 형태를 취할 수 있다. 컴퓨터 판독 가능 매체의 공통 형태들은 예를 들어 자기 매체들(예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프, 및 다른 자기 매체들), 광학 매체들(예를 들어, 컴팩트 디스크 판독 전용 메모리(CD-ROM) 및 다른 광학 매체들), 패턴들을 가진 물리적 매체(예를 들어, 펀치 카드들, 페이퍼 테이프, 임의의 다른 물리적 매체들), 메모리 칩들 또는 카트리지들, 반송파들(예를 들어, RAM, 프로그램 판독 전용 메모리(PROM), 소거 가능 프로그램 가능 판독 전용 메모리(EPROM), 플래시 메모리, 및 다른 메모리 칩들 또는 카트리지들), 및 컴퓨터가 판독할 수 있는 임의의 다른 매체를 포함한다.It should be appreciated that the term "computer readable medium" refers to a suitable medium that participates in providing program instructions to
몇몇 실시예들에서, 실시예들을 실행하기 위한 프로그램 명령들의 시퀀스 실행은 단일 컴퓨팅 디바이스(114)에 의해 수행될 수 있다. 다른 실시예들에서, 통신 링크(1020)(예를 들어, 로컬 영역 네트워크(LAN), 공용 스위칭 전화 네트워크들(PSTN), 무선 네트워크, 및 다른 통신 링크들)에 의해 결합된 호스트 컴퓨팅 디바이스(114) 같은 둘 또는 그 이상의 컴퓨터 시스템들은 서로 협조하여 실시예들을 실행하기 위한 프로그램 명령들의 시퀀스를 수행할 수 있다. 게다가, 컴퓨팅 디바 이스(114)는 통신 링크(1020) 및 통신 인터페이스(1012)를 통하여 프로그램, 즉 애플리케이션 코드를 포함하는 메시지들, 데이터, 및 명령들을 전송 및 수신할 수 있다. 수신된 프로그램 명령들은 프로그램 명령들이 저장 디바이스(1008), 또는 추후 실행을 위해 다른 비휘발성 저장소에 수신 및/또는 저장될 때 처리기(1004)에 의해 실행될 수 있다.In some embodiments, the execution of a sequence of program instructions to execute the embodiments may be performed by a
도 11은 본 발명의 실시예에 따라 메모리 디바이스의 간략화된 블록도이다. 도 11에 도시된 바와 같이, 메모리 디바이스(116)는 메모리(1104)와 통신하는 메모리 제어기(1102)를 포함한다. 일반적으로, 메모리 제어기(1102)는 메모리(1106)의 동작을 제어한다. 동작 예들은 데이터 기입(또는 프로그래밍), 데이터 판독, 데이터 소거, 데이터 검증, 및 다른 동작들을 포함한다. 또한, 메모리 제어기(1102)는, 라이센스 및 콘텐트와 관련된 파라미터를 기초로 파라미터를 생성하고, 파라미터 및 수를 기초로 세션 티켓을 생성하도록 구성되고, 상술된 다른 동작을 위해 구성될 수 있다.11 is a simplified block diagram of a memory device in accordance with an embodiment of the present invention. As shown in FIG. 11, memory device 116 includes a memory controller 1102 in communication with memory 1104. In general, memory controller 1102 controls the operation of memory 1106. Operational examples include data writing (or programming), data reading, data erasing, data verification, and other operations. The memory controller 1102 may also be configured to generate parameters based on parameters associated with licenses and content, generate session tickets based on parameters and numbers, and may be configured for other operations described above.
메모리 디바이스(116)는 다양한 비휘발성 메모리 구조들 및 기술들을 포함할 수 있다. 메모리 기술들의 예들은 플래시 메모리들(예를 들어, NAND, NOR, 단일-레벨 셀(SLC/BIN), 다중-레벨 셀(MLC), 분할된 비트-라인 NOR(DINOR), AND, 고용량 결합 비율(HiCR), 비대칭 비접촉 트랜지스터(ACT), 및 다른 플래시 메모리들), 소거 가능한 판독 전용 메모리(EPROM), 전기-소거 가능 프로그램 가능 판독 전용 메모리(EEPROM), 판독 전용 메모리(ROM), 일회 프로그램 가능 메모리(OTP), 및 다른 메모리 기술들을 포함한다. 일 실시예에서, 메모리 디바이스(116)는 플래시 메모리 를 사용하는 플래시 메모리 카드일 수 있다. 플래시 메모리 카드들의 예들은 보안 디지털TM(San Ramon, California의 SD Card Association에 의해 유지되는 사양들과 순응함), MultiMediaCardTM(Palo Alto, California의 MultiMediaCard Association("MMCA")에 의해 유지된 사양들에 순응함), MiniSDTM(SanDisk, Inc.에 의해 제조됨), MicroSDTM(SanDisk, Inc.에 의해 제조됨), CompactFlashTM(Palo Alto, California의 CompactFlash Association("CFA")에 의해 유지된 사양들에 순응함), SmartMediaTM(Yokohama, Japan의 Solid State Floppy Disk Card("SSFDC")에 의해 유지된 사양들에 순응함), xD-Picture CardTM(Tokyo, Japan의 xD-Picture Card Licensing Office에 의해 유지된 사양들에 순응함), Memory StickTM(Yokohama, Japan의 Solid State Floppy Disk Card("SSFDC") Forum에 의해 유지된 사양들에 순응함), TransFlashTM(SanDisk, Inc.에 의해 제조됨), 및 다른 플래시 메모리 카드들 같은 다양한 상표 제품들을 포함한다. 다른 실시예에서, 메모리 디바이스(116)는 제거할 수 없는 메모리 디바이스로서 실행될 수 있다. Memory device 116 may include various nonvolatile memory structures and technologies. Examples of memory technologies include flash memories (eg, NAND, NOR, single-level cell (SLC / BIN), multi-level cell (MLC), partitioned bit-line NOR (DINOR), AND, high capacity coupling ratio). (HiCR), asymmetric contactless transistor (ACT), and other flash memories), erasable read only memory (EPROM), electrically-erasable programmable read only memory (EEPROM), read only memory (ROM), one time programmable Memory (OTP), and other memory technologies. In one embodiment, the memory device 116 may be a flash memory card that uses flash memory. Examples of flash memory cards are Secure Digital TM (compliant with specifications maintained by the SD Card Association of San Ramon, California), MultiMediaCard TM (specifications maintained by the MultiMediaCard Association ("MMCA") of Palo Alto, California). Compliant), MiniSD TM (manufactured by SanDisk, Inc.), MicroSD TM (manufactured by SanDisk, Inc.), CompactFlash TM (manufactured by the CompactFlash Association ("CFA") of Palo Alto, California) Compliant with specifications), SmartMedia TM (complies with specifications maintained by Solid State Floppy Disk Card ("SSFDC") in Yokohama, Japan), xD-Picture Card TM (xD-Picture Card Licensing from Tokyo, Japan) Compliant with specifications maintained by the Office), Memory Stick TM (compliant with specifications maintained by the Solid State Floppy Disk Card ("SSFDC") Forum in Yokohama, Japan), TransFlash TM (with SanDisk, Inc.) Manufactured by USC), and other flash memory cards. In other embodiments, memory device 116 may be implemented as a non-removable memory device.
다음 특허 서류들은 여기에 기술된 실시예들에 사용될 수 있는 실시예들을 포함한다. 각각의 이들 특허 서류들은 본 출원과 동일한 데이터 분야이고, 본 발명의 양수인에게 양도되고 여기에 참조로써 통합된다: 미국특허 출원 11/600,270의 "Apparatuses for Linking Content with License"; 미국 특허 출원 11/600,263의 "Methods for Accessing Content Based on a Session Ticket"; 미국 특허 11/600,273의 Apparatuses for Accessing Content Based on a Session Ticket"; 미국 특허 출원 11/600,262의 "Methods for Binding Content to a Separate Memory Device"; 미국특허 출원 11/600,245의 "Apparatuses for Binding Content to a Separate Memory Device"; 미국특허 출원 11/599,994의 "Method for Allowing Multiple Users to Access Preview Content"; 미국특허 출원 11/599,995의 "System for Allowing Multiple Users to Access Preview Content"; 미국특허 출원 11/600,005의 "Method for Allowing content Protected by a First DRM System to Be Accessed by a Second DRM System"; 미국특허 출원 11/599,991의 "System for Allowing Content Protected by a First DRM System to Be Accessed by a Second DRM System"; 미국특허 출원 11/600,300의 "Method for Connecting to a Network Location Associated with Content"; 및 미국특허 출원 11/600,006의 "System for Connectiong to a Network Location Associated with Content".The following patent documents contain embodiments that may be used in the embodiments described herein. Each of these patent documents is in the same data field as the present application and is assigned to the assignee of the present invention and incorporated herein by reference: "Apparatuses for Linking Content with License" of US Patent Application 11 / 600,270; "Methods for Accessing Content Based on a Session Ticket" in US patent application Ser. No. 11 / 600,263; Apparatuses for Accessing Content Based on a Session Ticket in US Patent 11 / 600,273; "Methods for Binding Content to a Separate Memory Device" in US Patent Application 11 / 600,262; "Apparatuses for Binding Content to a in US Patent Application 11 / 600,245. Separate Memory Device ";" Method for Allowing Multiple Users to Access Preview Content "of U.S. Patent Application 11 / 599,994;" System for Allowing Multiple Users to Access Preview Content "of U.S. Patent Application 11 / 599,995; U.S. Patent Application 11 / 600,005 "Method for Allowing content Protected by a First DRM System to Be Accessed by a Second DRM System"; "System for Allowing Content Protected by a First DRM System to Be Accessed by a Second DRM System" of US Patent Application 11 / 599,991; United States "Method for Connecting to a Network Location Associated with Content" in patent application 11 / 600,300; and "System for Connectiong to a Network Location Associated with Content" in US patent application 11 / 600,006.
비록 상기 실시예들이 이해의 명확화를 위해 몇몇 항목에서 기술되었지만, 실시예들은 제공된 항목들로 제한되지 않는다. 실시예들을 실행하는 많은 다른 방식들이 있다. 따라서, 개시된 실시예들은 도시되는 것이고 제한되지 않는 것이 고려되며, 실시예들은 여기에 제공된 항목들로 제한되지 않고, 첨부된 청구항들의 범위 및 등가물들 내에서 변형될 수 있다. 청구항들에서, 엘리먼트들 및/또는 동작들은 만약 청구항들에 명확하게 언급되지 않으면 임의의 특정 동작 순서를 의미하지 않는다.Although the above embodiments have been described in some items for clarity of understanding, the embodiments are not limited to the items provided. There are many other ways of implementing the embodiments. Accordingly, the disclosed embodiments are to be considered as illustrative and not restrictive, and the embodiments are not to be limited to the items provided herein, but may be modified within the scope and equivalents of the appended claims. In the claims, the elements and / or actions do not imply any particular order of action unless explicitly stated in the claims.
상술한 바와 같이, 본 발명은, 일반적으로는 콘텐트 액세스, 보다 구체적으로는 콘텐트를 라이센스와 연결하고 세션 티켓을 바탕으로 콘텐트에 액세스하는 방법을 제공하는데 사용된다.As mentioned above, the present invention is generally used to provide a method of content access, more specifically associating content with a license and accessing content based on session tickets.
Claims (47)
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/600,270 US20080114686A1 (en) | 2006-11-14 | 2006-11-14 | Apparatuses for linking content with license |
US11/599,655 | 2006-11-14 | ||
US11/600,270 | 2006-11-14 | ||
US11/599,655 US20080112562A1 (en) | 2006-11-14 | 2006-11-14 | Methods for linking content with license |
PCT/US2007/023618 WO2008066690A2 (en) | 2006-11-14 | 2007-11-09 | Methods and apparatuses for linking content with license |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090108690A true KR20090108690A (en) | 2009-10-16 |
KR101464960B1 KR101464960B1 (en) | 2014-11-25 |
Family
ID=39313153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097012051A KR101464960B1 (en) | 2006-11-14 | 2007-11-09 | Methods and apparatuses for linking content with license |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2082349A2 (en) |
JP (1) | JP2010510575A (en) |
KR (1) | KR101464960B1 (en) |
TW (1) | TWI461949B (en) |
WO (1) | WO2008066690A2 (en) |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
JP3758231B2 (en) * | 1995-07-25 | 2006-03-22 | ソニー株式会社 | Signal recording apparatus and method, and signal reproducing apparatus and method |
US7010808B1 (en) * | 2000-08-25 | 2006-03-07 | Microsoft Corporation | Binding digital content to a portable storage device or the like in a digital rights management (DRM) system |
US7224805B2 (en) * | 2001-07-06 | 2007-05-29 | Nokia Corporation | Consumption of content |
JP4326186B2 (en) * | 2002-04-15 | 2009-09-02 | ソニー株式会社 | Information processing apparatus and method |
US20040019801A1 (en) * | 2002-05-17 | 2004-01-29 | Fredrik Lindholm | Secure content sharing in digital rights management |
JP2004326210A (en) * | 2003-04-22 | 2004-11-18 | Hitachi Ltd | Memory card and server |
JP2004347636A (en) * | 2003-05-20 | 2004-12-09 | Hitachi Ltd | Ticket processing system and method therefor |
US7676846B2 (en) * | 2004-02-13 | 2010-03-09 | Microsoft Corporation | Binding content to an entity |
BRPI0418778A (en) * | 2004-04-26 | 2007-10-09 | Trek 2000 Int Ltd | portable data storage device with encryption system |
US20060059372A1 (en) * | 2004-09-10 | 2006-03-16 | International Business Machines Corporation | Integrated circuit chip for encryption and decryption having a secure mechanism for programming on-chip hardware |
US7711965B2 (en) * | 2004-10-20 | 2010-05-04 | Intel Corporation | Data security |
JP2006164378A (en) * | 2004-12-06 | 2006-06-22 | Toshiba Corp | Information recording medium, information recording method, information reproducing method, information recording device, information reproducing device |
TW201017514A (en) * | 2004-12-21 | 2010-05-01 | Sandisk Corp | Memory system with versatile content control |
JP2006303771A (en) * | 2005-04-19 | 2006-11-02 | Sanyo Electric Co Ltd | Apparatus and program for using digital content |
-
2007
- 2007-11-09 KR KR1020097012051A patent/KR101464960B1/en active IP Right Grant
- 2007-11-09 WO PCT/US2007/023618 patent/WO2008066690A2/en active Application Filing
- 2007-11-09 EP EP07870861A patent/EP2082349A2/en not_active Withdrawn
- 2007-11-09 JP JP2009537161A patent/JP2010510575A/en active Pending
- 2007-11-14 TW TW096143092A patent/TWI461949B/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR101464960B1 (en) | 2014-11-25 |
EP2082349A2 (en) | 2009-07-29 |
WO2008066690A3 (en) | 2008-07-10 |
WO2008066690A2 (en) | 2008-06-05 |
TW200837600A (en) | 2008-09-16 |
WO2008066690B1 (en) | 2008-09-04 |
JP2010510575A (en) | 2010-04-02 |
TWI461949B (en) | 2014-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8533807B2 (en) | Methods for accessing content based on a session ticket | |
US8763110B2 (en) | Apparatuses for binding content to a separate memory device | |
US6606707B1 (en) | Semiconductor memory card | |
US9075957B2 (en) | Backing up digital content that is stored in a secured storage device | |
US8898477B2 (en) | System and method for secure firmware update of a secure token having a flash memory controller and a smart card | |
US20080115211A1 (en) | Methods for binding content to a separate memory device | |
US20090276829A1 (en) | System for copying protected data from one secured storage device to another via a third party | |
US20070083939A1 (en) | Secure universal serial bus (USB) storage device and method | |
US20090276474A1 (en) | Method for copying protected data from one secured storage device to another via a third party | |
EP2410456A1 (en) | Methods and apparatuses for binding content to a separate memory device | |
KR20100031497A (en) | Method of storing and accessing header data from memory | |
US20080112566A1 (en) | Apparatuses for accessing content based on a session ticket | |
KR20100014767A (en) | Method and system for controlling access to digital content | |
US20080114686A1 (en) | Apparatuses for linking content with license | |
WO2006075896A1 (en) | Host device, portable storage device, and method for updating meta information regarding right objects stored in portable storage device | |
US20080112562A1 (en) | Methods for linking content with license | |
KR101450131B1 (en) | Methods and apparatuses for accessing content based on a session ticket | |
KR101464960B1 (en) | Methods and apparatuses for linking content with license | |
Dolgunov | Enabling optimal security for removable storage devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
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: 20171018 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20181018 Year of fee payment: 5 |