KR20090108690A - Methods and apparatuses for linking content with license - Google Patents

Methods and apparatuses for linking content with license Download PDF

Info

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
Application number
KR1020097012051A
Other languages
Korean (ko)
Other versions
KR101464960B1 (en
Inventor
패브리스 조강-쿨롬
할룩 켄트 타닉
옥타이 라시자데
Original Assignee
쌘디스크 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/600,270 external-priority patent/US20080114686A1/en
Priority claimed from US11/599,655 external-priority patent/US20080112562A1/en
Application filed by 쌘디스크 코포레이션 filed Critical 쌘디스크 코포레이션
Publication of KR20090108690A publication Critical patent/KR20090108690A/en
Application granted granted Critical
Publication of KR101464960B1 publication Critical patent/KR101464960B1/en

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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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

A method for accessing content is provided. In this method, a first parameter associated with a license is retrieved. The license is associated with the content. A second parameter associated with the content also is retrieved. With the first and second parameters, a third parameter based on the first and second parameters is generated. The third parameter is configured for use in decrypting the content and the content can be accessed based on the third parameter. An apparatus is also provided comprising a memory and a processor in communication with the memory. The processor is configured to retrieve a first parameter associated with a license; retrieve a second parameter associated with the encrypted content; generate a third parameter based on the first and second parameters; and access the encrypted content based on the third parameter.

Description

라이센스와 콘텐트를 연결하기 위한 방법과 장치{METHODS AND APPARATUSES FOR LINKING CONTENT WITH LICENSE}METHODS AND APPARATUSES FOR LINKING CONTENT WITH LICENSE}

본 발명의 실시예는, 일반적으로 콘텐트 액세스에 관한 것이고, 보다 구체적으로는 콘텐트를 라이센스와 연결하고 세션 티켓을 바탕으로 콘텐트에 액세스하는 것에 관한 것이다.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, system 102 includes a host computing device 114 and a memory device 116. The host computing device 114 may include various electronic devices capable of accessing the memory device 116 to store or retrieve content 118 stored in the memory device. Memory device 116 may be removably coupled to host computing device 114 by a mechanical interface 108, such as pin and / or socket connectors. Memory device 116 is a memory storage device. As will be described below, an example of the memory device 116 is a memory card that uses nonvolatile memory.

호스트 컴퓨팅 디바이스(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)의 다른 예들은 도큐먼트 파일들, 이미지 파일들, 애플리케이션 파일들, 및 다른 데이터를 포함한다.Host computing device 114 hosts application 104. Application 104 includes various program applications. For example, the application 104 may be an operating system that manages hardware and software resources on the host computing device 114. In another embodiment, the application 104 may be a multimedia player configured to play audio and video files. Additionally, for example, application 104 may be a video game. The application 104 can access the content 118 stored in the memory device 116. The content 118 may include various data. Examples of content 118 include audio files encoded in audio file formats, such as WAVE, MPEG-1 Audio Layer 3 (MP3), Advanced Audio Coding (AAC), and other audio file formats. The content 118 may include video files encoded in video file formats such as Audio Video Interleave (AVI), Moving Picture Experts Group (MPEG), and other video file formats. Other examples of content 118 include document files, image files, application files, and other data.

콘텐트와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 third parameter 210 is configured for use when decrypting the content. The third parameter 210 includes various data that may be associated with the decryption of the content 118. For example, the third parameter 210 may be an encryption key used for encryption and decryption of the content 118. Instead of the encryption key, the third parameter 210 can include a reference to the encryption key. For example, the reference can be a number or a string identifying the encryption key. The third parameter 210 can include an authentication key. The authentication key is an encryption key used to authenticate sessions between the host computing device and the memory device. In another example, the third parameter 210 can be an encryption nonnce. Encryption nonce is a number that can be used to generate an encryption key.

제 3 파라미터(210)는 제 1 파라미터(202) 및 제 2 파라미터(206)를 바탕으로 생성된다. 다른 말로, 제 3 파라미터(210)는 다음과 같이 표현될 수 있다:The third parameter 210 is generated based on the first parameter 202 and the second parameter 206. In other words, the third parameter 210 can be expressed as follows:

제 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 second parameters 202 and 206. The function may include various functions, such as a hash function, such that the third parameter 210 may be a hash value of a hash function. The first parameter 202 is associated with the license 204 and the second parameter 206 is associated with the content 118. The first and second parameters 202 and 206 may include various data. For example, the first parameter 202 may be a number. In an embodiment, the number can be generated arbitrarily. In another embodiment, the number is predefined. The second parameter 206 may be in accordance with the first parameter 202 or vice versa. For example, the second parameter 206 can be a number or string derived from both the reference to the encryption key and the first parameter 202. The number or string may be expressed as follows:

제 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 second parameter 206 is here a function of both the reference to the encryption key and the first parameter 202. It should be appreciated that the second parameter 206 can be derived from both the authentication key and the first parameter 202. In another embodiment, the second parameter 206 may be derived from the cryptographic nonce and the first parameter 202. Conversely, the first parameter 202 can be derived from a reference to the encryption key, encryption nonce, or other parameters with the second parameter 206 and the authentication key.

제 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 second parameters 202 and 206 are associated with the license 204 and the content 118, respectively. To be associated with the license 204 or the content 118, the first and second parameters 202 and 206 may be disposed or included in the license and the content, respectively. For example, the second parameter 206 can be placed in the header or footer of the content 118. Optionally, the first parameter 202 and / or the second parameter 206 can be placed independent of the license 204 and / or the content 118. If deployed irrespective, license 204 may be associated with a first parameter 202 that includes a pointer to the first parameter. The content 118 may include a pointer to the second parameter 206 if the second parameter is placed independent of the content.

도 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 system 302 includes a host computing device 114 coupled to a memory device 116. Host computing device 114 may include an application 104 and a first content protection platform 304. Memory device 116 includes a second content protection platform 306, content 118, and a license 204. In an embodiment, license 204 may be stored in a hidden compartment of memory device 116 where the license is not visible or accessible by many applications. In addition to being stored in the memory device 116, the license 204 may be stored in the host computing device 114. The first and second content protection platforms 304 and 306 are technical platforms for protecting content 118 for the memory device 116. The first content protection platform 304 and / or the second content protection platform 306 allows the user to deliver the memory device 116 and the content 118 of the memory device without compromising content protection. There are various content protection platforms that can be used to protect data, examples of which are sold under the trade names TrustedFlash and Gruvi (manufactured by SanDisk, Inc.).

도 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 application 104 by the first content protection platform 304 sends a request for content 118 stored in the memory device 116. Here, the content 118 is encrypted. To decrypt the content 118, the first parameter 202 associated with the license 204 and the second parameter 206 associated with the content 118 are retrieved. The first parameter 202 and the second parameter 206 may be included in the license 204 and the content 118, respectively, or may be files placed independently of the license and the content. As defined by equation 1.0, the third parameter is generated based on the first parameter 202 and the second parameter 206. In other words, the third parameter can be derived from the first and second parameters 202 and 206. The third parameter can be the encryption key used to decrypt the content 118, a reference to the encryption key, an authentication key, a nonce, or other parameters. Due to the third parameter, the application 104 can decrypt and access the content 118. To access the content 118, the first content protection platform 304 can send a request for the third parameter and the content 118 to the memory device 116. The second content protection platform 306 can decrypt the content 118 based on the third parameter and send the content to be decrypted to the application 104 by the first content protection platform 304.

도 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 content protection platform 304 hosted on the host computing device 114 retrieves the first and second parameters 202 and 206 and based on the first and second parameters. Create a third parameter. In another embodiment, the second content protection platform 306 included in the memory device 116 retrieves the first and second parameters 202 and 206 and sets the third parameter based on the first and second parameters. Create

도 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 parameter 502 is initially provided and includes the various data that can be associated with the decryption of the content. The parameter 502 may be generated based on parameters associated with the license and content described above. Examples of parameter 502 include a reference, encryption nonce, or other parameters to the encryption key used for decryption of the content.

세션 티켓(506)의 생성은 변수(504)의 사용을 수반한다. 변수(504)는 다양한 데이터를 포함한다. 예를 들어, 데이터는 수일 수 있다. 상기 수는 미리 정의되거나 임의로 생성될 수 있다. 다른 실시예에서, 데이터는 캐릭터 문자일 수 있다. 상기된 파라미터들과 달리, 변수(504)는 라이센스 및 콘텐트와 연관되지 않을 수 있다. 다른 말로, 변수(504)는 라이센스 및 콘텐트와 무관할 수 있다. 변수(504)는 세션에서 변화하도록 구성된다. 세션은 임의의 시간 기간 동안에 걸칠 수 있다. 예를 들어, 세션은 시간, 날, 주, 또는 다른 시간 단위들 동안 지속할 수 있다. 게다가, 세션은 메모리 디바이스에 결합된 호스트 컴퓨팅 디바이스가 시작 또는 재시작될 때 만료할 수 있다. 세션은 또한 메모리 디바이스가 호스트 컴퓨팅 디바이스로부터 분리될 때 만료할 수 있다. 게다가, 예를 들어, 세션은 콘텐트에 대한 액세스의 제한된 횟수(예를 들어, 콘텐트가 액세스될 수 있는 제한된 횟수)에 걸칠 수 있다.Creation of session ticket 506 involves the use of variable 504. Variable 504 contains various data. For example, the data may be a number. The number can be predefined or arbitrarily generated. In other embodiments, the data may be character characters. Unlike the parameters described above, the variable 504 may not be associated with a license and content. In other words, variable 504 may be independent of license and content. Variable 504 is configured to change in the session. The session can span any time period. For example, a session can last for hours, days, weeks, or other time units. In addition, the session may expire when the host computing device coupled to the memory device is started or restarted. The session can also expire when the memory device is detached from the host computing device. In addition, for example, a session can span a limited number of times of access to the content (eg, a limited number of times the content can be accessed).

세션 티켓(506)은 파라미터(502) 및 변수(504)를 바탕으로 생성되어, 파라미 터는 세션 티켓(506)을 정의하기 위하여 변수를 바탕으로 인크립트된다. 세션 티켓(506)은 그러므로 다음과 같이 표현된다:The session ticket 506 is generated based on the parameter 502 and the variable 504 so that the parameter is encrypted based on the variable to define the session ticket 506. The session ticket 506 is therefore represented as follows:

세션 티켓 = F(파라미터, 변수) (2.0)Session Ticket = F (Parameters, Variable) (2.0)

여기서 세션 티켓은 파라미터(502) 및 변수(504)의 함수이다. 세션 티켓(506)으로 인해, 콘텐트는 세션 티켓을 바탕으로 액세스될 수 있다. 예를 들어, 호스트 컴퓨팅 디바이스는 세션 티켓(506)을 메모리 디바이스에 전송할 수 있다. 메모리 디바이스는 세션 티켓(506)을 바탕으로 콘텐트를 디크립트하기 위하여 사용된 파라미터를 유도할 수 있다. 파라미터(502)는 다음과 같이 유도된다:The session ticket here is a function of parameter 502 and variable 504. The session ticket 506 allows the content to be accessed based on the session ticket. For example, the host computing device can send a session ticket 506 to the memory device. The memory device may derive the parameters used to decrypt the content based on the session ticket 506. The parameter 502 is derived as follows:

파라미터 = F-1(세션 티켓, 변수) (2.2)Parameter = F -1 (session ticket, variable) (2.2)

여기서 파라미터는 세션 티켓(506) 및 변수(504)의 인버스 함수이다.The parameter here is the inverse function of the session ticket 506 and the variable 504.

세션 티켓(506)이 특정 콘텐트와 연관되는데 그 이유는 세션 티켓이 콘텐트를 디크립트하기 위하여 사용하기 때문이라는 것이 인식되어야 한다. 결과적으로, 메모리 디바이스에 저장된 다른 콘텐트는 만약 세션 티켓이 다른 콘텐트를 디크립트하기 위하여 파라미터(502) 같은 파라미터를 포함하지 않으면 세션 티켓(506)에 사용되거나 액세스될 수 없다. 예로서, 만약 메모리 디바이스에 저장된 두 개의 독립된 콘텐트들이 다른 암호화 키들로 인크립트되면, 호스트 컴퓨팅 디바이스 또는 메모리 디바이스는 두 개의 독립된 콘텐트들에 액세스하기 위하여 두 개의 다른 세션 티켓들을 생성한다. 여기서, 하나의 세션 티켓은 다른 암호화 키들로 인크립트된 두 개의 독립된 콘텐트들에 액세스하기 위하여 사용될 수 없다.It should be appreciated that session ticket 506 is associated with specific content because the session ticket uses to decrypt the content. As a result, other content stored in the memory device cannot be used or accessed in the session ticket 506 if the session ticket does not include a parameter such as parameter 502 to decrypt the other content. By way of example, if two separate contents stored in a memory device are encrypted with different encryption keys, the host computing device or memory device generates two different session tickets to access the two separate contents. Here, one session ticket cannot be used to access two separate contents encrypted with different encryption keys.

도 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. System 602 includes a host computing device 114 coupled to a memory device 116. Host computing device 114 may include an application 104 and a first content protection platform 304. Memory device 116 includes a second content protection platform 306, content 118, and a license 204. As described above, the first and second content protection platforms 304 and 306 may be configured to manage the digital rights of the content 118 stored in the memory device 116.

도 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 application 104 sends a request for content 118 stored in the memory device 116 by the first content protection platform 304. Content 118 is encrypted with an encryption key. Parameters associated with an encryption key (eg, a reference to the encryption key; nonce, or other parameters) are provided to the second content protection platform 306. In response to the request for content 118, the second content protection platform 306 encrypts the parameter based on the variable 604 to define a session ticket represented by equation 2.0. The second content protection platform 306 can generate a variable 604 (eg, a number, string, or other parameter). The variable 604 is configured to change in the session. For example, the second content protection platform 306 can generate another variable 604 for every session. Variable 604 can be arbitrarily created or predefined.

세션 티켓이 생성된 후, 제 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 content protection platform 306 sends a session ticket to host the computing device 114. The session ticket allows the host computing device 114 to access the content 118 based on the session ticket. To access the content 118, the host computing device 114 later sends a session ticket back to the memory device 116. Upon receipt of the session ticket, the second content protection platform 306 decrypts the session ticket to extract the parameters used to decrypt the content 118 represented in equation 2.2. If the variable 604 is not changed, the parameter can be extracted because decryption is based on the same variable as the variable used to encrypt the parameter. The variable 604 may change in other sessions. As a result, the variable 604 is the same variable used to encrypt the parameter if the variables are created within the same session. However, if variable 604 is changed, the parameter cannot be extracted because decryption is based on a variable different from the variable used to encrypt the parameter. Variable 604 is different from the variable used to encrypt the parameter if the variables were created in other sessions. By changing the variable 604 in the session, the session ticket lasts or is valid for one session. If the parameter is extracted, the second content protection platform 306 can decrypt the content 118 based on the parameter and send the decrypted content to the host computing device 114.

다른 실시예에서, 제 1 콘텐트 보호 플랫폼(304)은 콘텐트(118)를 디크립트하기 위하여 사용된 파라미터를 인크립트함으로써 세션 티켓을 생성할 수 있다. 여기서, 콘텐트(118)에 액세스하기 위하여 애플리케이션(104)에 의한 요청에 응답하 여, 제 1 콘텐트 보호 플랫폼(304)은 세션 티켓을 생성할 수 있고 상기 세션 티켓을 애플리케이션(104)에 전송할 수 있다. 애플리케이션(104)은 콘텐트(118)에 액세스하기 위하여 제 1 콘텐트 보호 플랫폼(304)에 다시 세션 티켓을 전송할 수 있다.In another embodiment, first content protection platform 304 may generate a session ticket by encrypting a parameter used to decrypt content 118. Here, in response to a request by the application 104 to access the content 118, the first content protection platform 304 can generate a session ticket and send the session ticket to the application 104. . The application 104 may send a session ticket back to the first content protection platform 304 to access the content 118.

도 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 host computing device 114 can host the application 104, the digital rights management (DRM) module 806, the content protection platform 304, the file system manager 808, and the device driver 810. As noted above, the application 104 may include various program applications such as multimedia players, video games, and other applications. The application 104 communicates with the DRM module 806 and the content protection platform 304. DRM module 806 allows host computing device 114 to manage digital rights of content stored in a memory device or other locations. For example, the DRM module 806 may protect content and control the distribution of the content. As noted above, content protection platform 304 is a technical platform for protecting content on a memory device. The content protection platform 304 can include a security manager 802 and a host encryption engine 804. In general, security manager 802 manages access to content stored in a memory device. Management checks, for example, whether content is protected, creates a reference to an encryption key based on parameters associated with the license and content, creates a session ticket based on parameters and variables, creates a variable, and other Includes actions. Host cryptographic engine 804 includes cryptographic libraries to process cryptographic operations. The content protection platform 304 and the DRM module 806 together provide secure storage and content management capabilities to the host computing device 114 (and memory device). For example, the content protection platform 304 and the DRM module 806 provide for secure storage and access to content of content stored on a memory device (eg, music files, movie files, software, and other data). Allows the execution of predefined policies to control.

콘텐트 보호 플랫폼(304)은 파일 시스템 관리기(808)와 통신한다. 일반적으로, 파일 시스템 관리기(808)는 메모리 디바이스에 저장된 콘텐트의 액세스(예를 들어, 판독, 기입 및 다른 액세스 동작들)을 관리 및 처리하도록 구성된다. 예를 들어, 파일 시스템 관리기(808)는 메모리 디바이스로부터 콘텐트를 판독하고 처리를 위하여 콘텐트 보호 플랫폼(304)에 상기 콘텐트를 전송할 수 있다. 호스트 컴퓨팅 디바이스(114)는 메모리 디바이스와 인터페이스 할 수 있다. 호스트 컴퓨팅 디바이스(114)는 그러므로 메모리 디바이스와 인터페이스하기 위하여 시스템 관리기(808)와 통신하는 디바이스 드라이버(810)를 포함할 수 있다. 디바이스 드라이버(810)는 예를 들어 메모리 디바이스와 통신하기 위하여 낮은 레벨 인터페이스 함수들을 포함할 수 있다. 보다 낮은 레벨의 인터페이스 함수의 예는 메모리 디바이스에 및 상기 메모리 디바이스로부터 입력 및 출력과 연관된 입력/출력 함수들을 포함한다.The content protection platform 304 communicates with the file system manager 808. In general, file system manager 808 is configured to manage and process access (eg, read, write, and other access operations) of content stored on a memory device. For example, file system manager 808 may read content from the memory device and send the content to content protection platform 304 for processing. The host computing device 114 may interface with a memory device. The host computing device 114 may therefore include a device driver 810 in communication with the system manager 808 to interface with the memory device. The device driver 810 may include low level interface functions, for example, to communicate with a memory device. Examples of lower level interface functions include input / output functions associated with inputs and outputs to and from a memory device.

도 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, content protection platform 306, encryption engine 904, and secure storage 906. In the memory device 116, the DRM module 902 allows the memory device 116 to manage the digital rights of the content stored in the memory device. For example, the DRM module 902 can be configured to execute content rights. As described above, the content protection platform 306 is a technology platform for protecting content stored in the memory device 116. The content protection platform 306 may be configured to generate a reference to the encryption key based on the parameters associated with the license and the content to generate a session ticket based on the parameters and variables, and may be configured for other operations. Encryption engine 904 processes the encryption operations and secure storage 906 stores the encryption keys.

다른 실시예에서, 도 8의 호스트 컴퓨팅 디바이스(114) 및 도 9의 메모리 디바이스(116)가 도 8 및 9에 도시된 것과 달리 보다 적거나 많은 프로그램 애플리케이션들을 포함할 수 있다는 것이 인식되어야 한다. 예를 들어, 도 8에 도시된 바와 같이, 파일 시스템 관리기(808) 및 디바이스 드라이버(810)는 콘텐트 보호 플랫폼(304)에 통합될 수 있다. 도 8의 호스트 컴퓨팅 디바이스(114)는 그러므로 DRM 모듈(806) 및 콘텐트 보호 플랫폼(304)을 포함할 수 있다.In other embodiments, it should be appreciated that the host computing device 114 of FIG. 8 and the memory device 116 of FIG. 9 may include fewer or more program applications than those shown in FIGS. 8 and 9. For example, as shown in FIG. 8, file system manager 808 and device driver 810 may be integrated into content protection platform 304. The host computing device 114 of FIG. 8 may therefore include a DRM module 806 and a content protection platform 304.

도 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, host computing device 114 may be used to execute computer programs (eg, a content protection platform), logic, applications, methods, processes, or other software for accessing content. Can be. Examples of host computing device 114 include desktop computers, servers, portable computing devices, personal digital assistants, mobile phones, computing engines within appliances, and other computer systems. As shown in FIG. 10, host computing device 114 may include processor 1004, system memory 1006 (eg, random access memory (RAM)), and storage device 1008 (eg, read-only). Memory (ROM), magnetic disk drives, optical disk drives, and other storage devices), communication interface 1012 (eg, modem or Ethernet card), display 1014 (eg, cathode ray tube ( Interact with devices and subsystems such as a CRT or liquid crystal display (LCD), an input / output device 1016 (eg, a keyboard), and a cursor control 1010 (eg, a mouse or trackball) A bus 1002 or other communication mechanism for communicating information.

몇몇 실시예들에서, 호스트 컴퓨팅 디바이스(114)는 시스템 메모리(1006)에 저장된 하나 또는 그 이상의 프로그램 명령들의 하나 또는 그 이상의 시퀀스들을 실행할 때 처리기(1004)에 의해 특정 동작들을 수행한다. 상기 프로그램 명령들은 저장 디바이스(1008) 같은 다른 컴퓨터 판독 가능 매체로부터 시스템 메모리(1006)에 판독될 수 있다. 몇몇 실시예들에서, 배선 회로는 본 발명의 실시예들을 실행하기 위하여 소프트웨어 프로그램 명령들 대시 또는 상기 소프트웨어 프로그램 명령과 결합하여 사용될 수 있다.In some embodiments, host computing device 114 performs certain operations by processor 1004 when executing one or more sequences of one or more program instructions stored in system memory 1006. The program instructions may be read into system memory 1006 from another computer readable medium, such as storage device 1008. In some embodiments, wiring circuitry may be used in combination with software program instructions dash or the software program instruction to implement embodiments of the present invention.

용어 "컴퓨터 판독 가능 매체"가 실행을 위한 처리기(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 processor 1004 for execution. The medium may take forms, including but not limited to, nonvolatile media, volatile media, and transmission media. Non-volatile media may include, for example, optical or magnetic disks, such as storage device 1008. Volatile media can include dynamic memory, such as system memory 1006. The transmission medium includes coaxial cables, copper wire, and optical fibers with wires that include bus 1002. The transmission medium may take the form of acoustic or light waves as generated during radio wave and infrared data communications. Common forms of computer readable media include, for example, magnetic media (eg, floppy disks, flexible disks, hard disks, magnetic tape, and other magnetic media), optical media (eg, compact disk read only). Memory (CD-ROM) and other optical media), physical media with patterns (eg punch cards, paper tape, any other physical media), memory chips or cartridges, carriers (eg , RAM, program read only memory (PROM), erasable programmable read only memory (EPROM), flash memory, and other memory chips or cartridges), and any other medium that a computer can read.

몇몇 실시예들에서, 실시예들을 실행하기 위한 프로그램 명령들의 시퀀스 실행은 단일 컴퓨팅 디바이스(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 single computing device 114. In other embodiments, the host computing device 114 coupled by the communication link 1020 (eg, local area network (LAN), public switching telephone networks (PSTN), wireless network, and other communication links). The same two or more computer systems may cooperate with one another to perform a sequence of program instructions for executing embodiments. In addition, computing device 114 may send and receive messages, data, and instructions that include a program, that is, application code, through communication link 1020 and communication interface 1012. Received program instructions may be executed by processor 1004 when the program instructions are received and / or stored in storage device 1008, or other non-volatile storage for later execution.

도 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)

콘텐트에 액세스하기 위한 방법으로서,As a method for accessing content, 라이센스와 연관된 제 1 파라미터를 검색하는 단계로서, 상기 라이센스는 콘텐트와 연관된, 단계와,Retrieving a first parameter associated with a license, wherein the license is associated with content; 콘텐트와 연관된 제 2 파라미터를 검색하는 단계와,Retrieving a second parameter associated with the content; 제 1 및 제 2 파라미터를 바탕으로 제 3 파라미터를 생성하는 단계와,Generating a third parameter based on the first and second parameters, 제 3 파라미터를 바탕으로 콘텐트에 액세스하는 단계로서, 상기 제 3 파라미터는 콘텐트를 디크립트하는데 사용하도록 구성된, 단계를Accessing content based on a third parameter, wherein the third parameter is configured to use to decrypt the content. 포함하는, 콘텐트에 액세스하기 위한 방법.And a method for accessing content. 제 1항에 있어서, 상기 콘텐트에 액세스하는 단계는,The method of claim 1 wherein accessing the content comprises: 제 3 파라미터 및 콘텐트에 대한 요청을 전송하는 단계와, 콘텐트를 수신하는 단계를 포함하는, 콘텐트에 액세스하기 위한 방법.Sending a request for the third parameter and the content, and receiving the content. 제 1항에 있어서,The method of claim 1, 세션 티켓을 정의하기 위하여 변수를 바탕으로 제 3 파라미터를 인크립트하는 단계로서, 상기 변수는 세션에서 변화하도록 구성된, 단계와,Encrypting the third parameter based on the variable to define a session ticket, the variable configured to change in the session; 세션 티켓을 바탕으로 콘텐트에 액세스하는 단계를To access content based on session tickets 더 포함하는, 콘텐트에 액세스하기 위한 방법.Further comprising: a method for accessing content. 제 3항에 있어서, 상기 변수는 세션에서 임의로 변화하도록 구성되는, 콘텐트에 액세스하기 위한 방법.4. The method of claim 3, wherein the variable is configured to change randomly in a session. 제 1항에 있어서, 상기 라이센스 및 콘텐트는 메모리 디바이스에 저장되는, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the license and content are stored on a memory device. 제 1항에 있어서, 상기 제 1 파라미터는 수인, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the first parameter is a number. 제 6항에 있어서, 상기 수는 임의로 생성되는, 콘텐트에 액세스하기 위한 방법.7. The method of claim 6, wherein the number is randomly generated. 제 1항에 있어서, 상기 제 2 파라미터는 암호화 키에 대한 레퍼런스 및 제 1 파라미터로부터 유도되는, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the second parameter is derived from a reference to the encryption key and the first parameter. 제 1항에 있어서, 상기 제 2 파라미터는 인증 키 및 제 1 파라미터로부터 유도되는, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the second parameter is derived from an authentication key and the first parameter. 제 1항에 있어서, 상기 제 2 파라미터는 암호화 논스(cryptographic nonce) 및 제 1 파라미터로부터 유도되는, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the second parameter is derived from cryptographic nonce and the first parameter. 제 1항에 있어서, 상기 제 3 파라미터는 암호화 키에 대한 레퍼런스인, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the third parameter is a reference to an encryption key. 제 1항에 있어서, 상기 제 3 파라미터는 인증 키인, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the third parameter is an authentication key. 제 1항에 있어서, 상기 제 3 파라미터는 암호화 논스이고, 상기 암호화 논스는 암호화 키를 생성하기 위하여 사용되는, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the third parameter is a cryptographic nonce and the cryptographic nonce is used to generate an encryption key. 컴퓨터 판독 가능 매체에서 구현되는 컴퓨터 프로그램 제품으로서,A computer program product embodied in a computer readable medium, 라이센스로부터 제 1 파라미터를 검색하고 (상기 라이센스는 콘텐트와 연관),Retrieve the first parameter from the license (the license is associated with the content), 콘텐트로부터 제 2 파라미터를 검색하고,Retrieve a second parameter from the content, 제 1 및 제 2 파라미터를 바탕으로 암호화 키에 대한 레퍼런스를 생성하고,Generate a reference to the encryption key based on the first and second parameters, 암호화 키에 대한 레퍼런스를 바탕으로 콘텐트에 액세스하기 위한To access content based on a reference to an encryption key. 컴퓨터 명령를 포함하는, 컴퓨터 프로그램 제품.A computer program product comprising computer instructions. 제 14항에 있어서, 상기 콘텐트에 액세스하기 위한 컴퓨터 명령은,15. The computer program product of claim 14, wherein the computer instructions for accessing the content are: 암호화 키에 대한 레퍼런스 및 콘텐트에 대한 요청을 메모리 디바이스에 전송하고,Send a reference to the encryption key and a request for content to the memory device, 메모리 디바이스로부터 콘텐트를 수신하는 것(상기 콘텐트는 암호화 키를 사용하여 디크립트)을Receiving content from a memory device (the content is decrypted using an encryption key) 포함하는, 컴퓨터 프로그램 제품.Included, computer program products. 제 14항에 있어서, 상기 라이센스 및 콘텐트는 메모리 디바이스에 저장되는, 컴퓨터 프로그램 제품.15. The computer program product of claim 14, wherein the license and content are stored on a memory device. 제 14항에 있어서, 상기 제 1 파라미터는 암호화 키에 대한 레퍼런스 및 제 2 파라미터로부터 유도되는, 컴퓨터 프로그램 제품.The computer program product of claim 14, wherein the first parameter is derived from a reference to a cryptographic key and a second parameter. 제 14항에 있어서, 상기 제 2 파라미터는 임의로 생성된 수인, 컴퓨터 프로그램 제품.15. The computer program product of claim 14, wherein the second parameter is a randomly generated number. 메모리 디바이스에 저장된 콘텐트에 액세스하기 위한 방법으로서,A method for accessing content stored on a memory device, the method comprising: 라이센스로부터 제 1 수를 검색하는 단계로서, 상기 라이센스는 콘텐트와 연관되고, 제 1 수는 임의로 생성되는, 단계와,Retrieving a first number from a license, wherein the license is associated with the content and the first number is randomly generated; 콘텐트로부터 파라미터를 검색하는 단계로서, 상기 파라미터는 암호화 키에 대한 레퍼런스 및 제 1 수로부터 유도되는, 단계와,Retrieving a parameter from the content, wherein the parameter is derived from a reference to the encryption key and a first number; 제 1 수 및 파라미터를 바탕으로 암호화 키에 대한 레퍼런스를 생성하는 단계와,Generating a reference to the encryption key based on the first number and the parameter; 암호화 키에 대한 레퍼런스를 바탕으로 콘텐트에 액세스하는 단계를Accessing the content based on the reference to the encryption key 포함하는, 콘텐트에 액세스하기 위한 방법.And a method for accessing content. 제 19항에 있어서,The method of claim 19, 레퍼런스 및 제 2 수를 바탕으로 세션 티켓을 생성하는 단계로서, 상기 제 2 수는 세션에서 변화하도록 구성된, 단계와,Generating a session ticket based on a reference and a second number, the second number configured to change in a session; 세션 티켓을 바탕으로 콘텐트에 액세스하는 단계를To access content based on session tickets 더 포함하는, 콘텐트에 액세스하기 위한 방법.Further comprising: a method for accessing content. 제 19항에 있어서, 상기 콘텐트는 암호화 키를 사용하여 인크립트되는, 콘텐트에 액세스하기 위한 방법.20. The method of claim 19, wherein the content is encrypted using an encryption key. 제 19항에 있어서, 상기 파라미터는 콘텐트의 헤더에 배치되는, 콘텐트에 액세스하기 위한 방법.20. The method of claim 19, wherein the parameter is placed in a header of the content. 제 19항에 있어서, 상기 라이센스는 메모리 디바이스에 저장되는, 콘텐트에 액세스하기 위한 방법.20. The method of claim 19, wherein the license is stored on a memory device. 제 23항에 있어서, 상기 라이센스는 메모리 디바이스의 숨겨진 구획부에 배치되는, 콘텐트에 액세스하기 위한 방법.The method of claim 23, wherein the license is located in a hidden compartment of a memory device. 장치로서,As a device, 메모리와,With memory, 상기 메모리와 통신하는 처리기를A processor in communication with the memory 포함하고,Including, 상기 처리기는,The processor, 라이센스와 연관된 제 1 파라미터를 검색하고 (상기 라이센스는 인크립트된 콘텐트와 연관),Retrieve a first parameter associated with the license (the license is associated with the encrypted content), 인크립트된 콘텐트와 연관된 제 2 파라미터를 검색하며,Retrieve a second parameter associated with the encrypted content, 상기 제 1 및 제 2 파라미터들을 바탕으로 제 3 파라미터를 생성하고,Generate a third parameter based on the first and second parameters, 제 3 파라미터를 바탕으로 인크립트된 콘텐트에 액세스하도록 (상기 제 3 파라미터는 인크립트된 콘텐트를 디크립트하는데 사용하기 위하여 구성)To access the encrypted content based on the third parameter (the third parameter is configured for use in decrypting the encrypted content). 구성된, 장치.Configured, device. 제 25항에 있어서, 상기 처리기는,The method of claim 25, wherein the processor, 세션 티켓을 정의하기 위한 수를 바탕으로 제 3 파라미터를 인크립트하고 (상기 수는 세션에서 변화하도록 구성),Encrypt the third parameter based on the number for defining the session ticket (the number is configured to change in the session), 세션 티켓을 바탕으로 인크립트된 콘텐트에 액세스하도록To access encrypted content based on session tickets. 추가 구성된, 장치.Further configured, the device. 제 26항에 있어서, 상기 수는 세션에서 임의로 변화하도록 구성되는, 장치.27. The apparatus of claim 26, wherein the number is configured to vary randomly in a session. 제 25항에 있어서, 상기 라이센스 및 인크립트된 콘텐트는 메모리 디바이스에 저장되고, 상기 메모리 디바이스는 상기 장치와 결합되도록 구성되는, 장치.27. The apparatus of claim 25, wherein the licensed and encrypted content is stored in a memory device, the memory device configured to be coupled with the apparatus. 제 25항에 있어서, 상기 제 1 파라미터는 수인, 장치.The apparatus of claim 25, wherein the first parameter is a number. 제 29항에 있어서, 상기 수는 임의로 생성되는, 장치.30. The apparatus of claim 29, wherein the number is randomly generated. 제 25항에 있어서, 상기 제 2 파라미터는 암호화 키에 대한 레퍼런스 및 제 1 파라미터로부터 유도되는, 장치.27. The apparatus of claim 25, wherein the second parameter is derived from a reference to the encryption key and the first parameter. 제 25항에 있어서, 상기 제 2 파라미터는 인증 키 및 제 1 파라미터로부터 유도되는, 장치.27. The apparatus of claim 25, wherein the second parameter is derived from an authentication key and a first parameter. 제 25항에 있어서, 상기 제 2 파라미터는 암호화 논스 및 제 1 파라미터로부터 유도되는, 장치.27. The apparatus of claim 25, wherein the second parameter is derived from cryptographic nonce and the first parameter. 제 25항에 있어서, 상기 제 3 파라미터는 암호화 키에 대한 레퍼런스인, 장치.27. The apparatus of claim 25, wherein the third parameter is a reference to an encryption key. 제 25항에 있어서, 제 3 파라미터는 인증 키인, 장치.The apparatus of claim 25, wherein the third parameter is an authentication key. 제 25항에 있어서, 상기 제 2 파라미터는 암호화 논스이고, 상기 암호화 논스는 암호화 키를 생성하기 위하여 사용되는, 장치.27. The apparatus of claim 25, wherein the second parameter is a cryptographic nonce and the cryptographic nonce is used to generate an encryption key. 컴퓨팅 장치로서,As a computing device, 메모리와,With memory, 상기 메모리와 통신하는 처리기를A processor in communication with the memory 포함하고,Including, 상기 처리기는,The processor, 라이센스로부터 제 1 파라미터를 검색하고 (상기 라이센스는 콘텐트에 액세스하기 위한 허가를 정의하도록 구성),Retrieve the first parameter from the license (the license is configured to define a permission to access the content), 콘텐트로부터 제 2 파라미터를 검색하며,Retrieve a second parameter from the content, 상기 제 1 및 제 2 파라미터들을 바탕으로 암호화 키에 대한 레퍼런스를 생성하고,Generate a reference to an encryption key based on the first and second parameters, 상기 암호화 키에 대한 레퍼런스를 바탕으로 콘텐트에 액세스하도록To access content based on a reference to the encryption key. 구성되는, 컴퓨팅 장치.Configured, computing device. 제 37항에 있어서, 상기 처리기는,The method of claim 37, wherein the processor, 암호화 키에 대한 레퍼런스 및 콘텐트에 대한 요청을 메모리 디바이스에 전송하고 (상기 메모리 디바이스는 컴퓨팅 장치와 결합되도록 구성),Send a reference to an encryption key and a request for content to a memory device (the memory device is configured to be coupled with a computing device), 메모리 장치로부터 콘텐트를 수신하도록 (상기 콘텐트는 암호화 키를 사용하여 디크립트됨),Receive content from a memory device (the content is decrypted using an encryption key), 구성되는, 컴퓨팅 장치.Configured, computing device. 제 37항에 있어서, 상기 라이센스 및 콘텐트는 메모리 디바이스에 저장되고, 상기 메모리 디바이스는 컴퓨팅 장치와 결합되도록 구성되는, 컴퓨팅 장치.38. The computing device of claim 37, wherein the license and content are stored in a memory device, the memory device configured to be coupled with a computing device. 제 37항에 있어서, 상기 제 1 파라미터는 암호화 키에 대한 레퍼런스 및 제 2 파라미터로부터 유도되는, 컴퓨팅 장치.38. The computing device of claim 37, wherein the first parameter is derived from a reference to a cryptographic key and a second parameter. 제 37항에 있어서, 상기 제 2 파라미터는 임의로 생성되는 수인, 컴퓨팅 장치.38. The computing device of claim 37, wherein the second parameter is a randomly generated number. 컴퓨팅 장치로서,As a computing device, 메모리와,With memory, 상기 메모리와 통신하는 처리기를A processor in communication with the memory 포함하고,Including, 상기 처리기는,The processor, 콘텐트와 연관된 라이센스로부터 제 1 수를 검색하고 (상기 제 1 수는 임의로 생성),Retrieve a first number from a license associated with the content (the first number is randomly generated), 암호화 키에 대한 레퍼런스 및 제 1 수로부터 유도된 파라미터를 콘텐트로부터 검색하며,Retrieve from the content a parameter derived from a reference to the encryption key and a first number, 제 1 수 및 파라미터를 바탕으로 암호화 키에 대한 레퍼런스를 생성하고,Generate a reference to the encryption key based on the first number and the parameter, 암호화 키에 대한 레퍼런스를 바탕으로 콘텐트에 액세스하도록To access content based on references to encryption keys. 구성되는, 컴퓨팅 장치.Configured, computing device. 제 42항에 있어서, 상기 처리기는,The method of claim 42, wherein the processor, 상기 레퍼런스 및 제 2 수를 바탕으로 세션 티켓을 생성하고,Generate a session ticket based on the reference and the second number, 상기 세션 티켓을 바탕으로 콘텐트에 액세스하도록To access content based on the session ticket. 추가 구성되는, 컴퓨팅 장치.Further configured, computing device. 제 42항에 있어서, 상기 콘텐트는 암호화 키를 사용하여 인크립트되는, 컴퓨팅 장치.43. The computing device of claim 42, wherein the content is encrypted using an encryption key. 제 42항에 있어서, 상기 파라미터는 콘텐트에 대한 풋터(footer)에 배치되는, 컴퓨팅 장치.43. The computing device of claim 42, wherein the parameter is disposed in a footer for content. 제 42항에 있어서, 상기 콘텐트 및 라이센스는 메모리 디바이스에 저장되고, 상기 메모리 디바이스는 컴퓨팅 디바이스에 결합되도록 구성되는, 컴퓨팅 장치.43. The computing device of claim 42, wherein the content and license are stored in a memory device, the memory device configured to be coupled to a computing device. 제 46항에 있어서, 상기 라이센스는 메모리 디바이스의 숨겨진 구획부에 배치되는, 컴퓨팅 장치.47. The computing device of claim 46, wherein the license is located in a hidden compartment of a memory device.
KR1020097012051A 2006-11-14 2007-11-09 Methods and apparatuses for linking content with license KR101464960B1 (en)

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 US20080112562A1 (en) 2006-11-14 2006-11-14 Methods for linking content with license
US11/600,270 2006-11-14
US11/599,655 2006-11-14
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)

* Cited by examiner, † Cited by third party
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
CN101908106B (en) * 2004-12-21 2013-06-05 桑迪士克股份有限公司 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

Also Published As

Publication number Publication date
WO2008066690A2 (en) 2008-06-05
JP2010510575A (en) 2010-04-02
WO2008066690A3 (en) 2008-07-10
TWI461949B (en) 2014-11-21
WO2008066690B1 (en) 2008-09-04
KR101464960B1 (en) 2014-11-25
EP2082349A2 (en) 2009-07-29
TW200837600A (en) 2008-09-16

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
US20070083939A1 (en) Secure universal serial bus (USB) storage device and method
US20090276829A1 (en) System for copying protected data from one secured storage device to another via a third party
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
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
KR20100014767A (en) Method and system for controlling access to digital content
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