KR20090091750A - Methods and apparatuses for accessing content based on a session ticket - Google Patents

Methods and apparatuses for accessing content based on a session ticket Download PDF

Info

Publication number
KR20090091750A
KR20090091750A KR1020097012043A KR20097012043A KR20090091750A KR 20090091750 A KR20090091750 A KR 20090091750A KR 1020097012043 A KR1020097012043 A KR 1020097012043A KR 20097012043 A KR20097012043 A KR 20097012043A KR 20090091750 A KR20090091750 A KR 20090091750A
Authority
KR
South Korea
Prior art keywords
content
session
memory device
parameter
encryption key
Prior art date
Application number
KR1020097012043A
Other languages
Korean (ko)
Other versions
KR101450131B1 (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,263 external-priority patent/US8079071B2/en
Priority claimed from US11/600,273 external-priority patent/US20080112566A1/en
Application filed by 쌘디스크 코포레이션 filed Critical 쌘디스크 코포레이션
Publication of KR20090091750A publication Critical patent/KR20090091750A/en
Application granted granted Critical
Publication of KR101450131B1 publication Critical patent/KR101450131B1/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • 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
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00492Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
    • G11B20/00521Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted wherein each session of a multisession recording medium is encrypted with a separate encryption key
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/0055Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein license data is encrypted
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • G11B20/00789Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of functional copies, which can be accessed at a time, e.g. electronic bookshelf concept, virtual library, video rentals or check-in/check out
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • G11B20/00797Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of times a content can be reproduced, e.g. using playback counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/0084Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific time or date
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/61Solid state media wherein solid state memory is used for storing A/V content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Library & Information Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)

Abstract

A method for accessing content stored on a memory device is provided. In this method, a request to access the content is transmitted and a session ticket is received. The session ticket includes a parameter used to decrypt the content and the session ticket is generated based on a variable that is configured to change at a session. The content may be accessed based on the session ticket. An apparatus is also provided comprising a memory and a processor in communication with the memory. The processor is configured to: transmit a request to a memory device to access content stored in the memory device; receive a session ticket; and access the content based on the session ticket. The session ticket includes a parameter used to decrypt the content and the session ticket is generated based on a number that is configured to change at a session. ® KIPO & WIPO 2009

Description

세션 티켓을 바탕으로 콘텐트에 액세스하기 위한 방법과 장치{METHODS AND APPARATUSES FOR ACCESSING CONTENT BASED ON A SESSION TICKET}METHODS AND APPARATUSES FOR ACCESSING CONTENT BASED ON A SESSION TICKET}

본 발명의 실시예는, 일반적으로 콘텐트 액세스에 관한 것이고, 보다 구체적으로는 콘텐트를 라이센스와 연결하고 세션 티켓을 바탕으로 콘텐트에 액세스하는 것에 관한 것이다.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 apparatuses for associating content with a license and for accessing content based on session tickets. It should be appreciated that the above embodiments may be implemented in a number of ways, including as a method, circuit, system, or device. Some embodiments of the invention are described below.

일 실시예에서, 메모리 디바이스 상에 저장된 콘텐트에 액세스하기 위한 방법은 제공된다. 이 방법에서, 콘텐트에 액세스하라는 요청이 전송되고 세션 티켓이 수신된다. 세션 티켓은 콘텐트를 디크립트하기 위하여 사용된 파라미터를 포함하고 세션 티켓은 세션에서 변화하도록 구성된 변수를 바탕으로 생성된다. 콘텐트는 세션 티켓을 바탕으로 액세스될 수 있다.In one embodiment, a method for accessing content stored on a memory device is provided. In this method, a request is sent to access content and a session ticket is received. The session ticket includes a parameter used to decrypt the content and the session ticket is generated based on a variable configured to change in the session. Content can be accessed based on session tickets.

다른 실시예에서, 장치는 제공된다. 상기 장치는 메모리 및 상기 메모리와 통신하는 처리기를 포함한다. 처리기는 메모리 디바이스에 저장된 콘텐트에 액세스하기 위한 요청을 메모리 디바이스에 전송하고; 세션 티켓을 수신하고; 및 세션 티켓을 바탕으로 콘텐트에 액세스한다. 세션 티켓은 콘텐트를 디크립트하기 위하여 사용된 파라미터이고 세션 티켓은 세션에서 변화하도록 구성된 변수를 바탕으로 생성된다.In another embodiment, an apparatus is provided. The apparatus includes a memory and a processor in communication with the memory. The processor sends a request to the memory device to access content stored on the memory device; Receive a session ticket; And access content based on the session ticket. The session ticket is a parameter used to decrypt the content and the session ticket is generated based on a variable configured to change in the session.

본 발명의 다른 실시예들 및 장점들은 본 발명의 원리들을 예시적으로 도시하는 첨부 도면들과 관련하여 얻어진 다음 상세한 설명으로부터 명백할 것이다.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 associating content with a license and providing access to 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 that can access 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 several 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. Content 118 may include several 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. 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.

콘텐트와 라이센스 연결Associate content with license

도 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 can 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 may 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 several 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 comprise 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 several 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.

세션 티켓을 바탕으로 콘텐트에 액세스Access content based on session ticket

도 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 the parameter includes 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 several 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. 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 may 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 several 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 a 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 transmit and receive messages, data, and instructions that include a program, that is, an 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/599,655의 "Methods for Linking Content with License"; 미국특허 출원 11/600,270의 "Apparatuses for Linking Content with License"; 미국 특허 출원 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: "Methods for Linking Content with License" of US patent application 11 / 599,655; "Apparatuses for Linking Content with License" of US patent application Ser. No. 11 / 600,270; "Apparatuses for Accessing Content Based on a Session Ticket" in US patent application Ser. No. 11 / 600,273; "Methods for Binding Content to a Separate Memory Device" in US patent application Ser. No. 11 / 600,262; "Apparatuses for Binding Content to a Separate Memory Device" of US patent application Ser. No. 11 / 600,245; "Method for Allowing Multiple Users to Access Preview Content" of US patent application 11 / 599,994; "System for Allowing Multiple Users to Access Preview Content" of US Patent Application 11 / 599,995; "Method for Allowing content Protected by a First DRM System to Be Accessed by a Second DRM System" of US patent application Ser. No. 11 / 600,005; "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; "Method for Connecting to a Network Location Associated with Content" of US patent application Ser. No. 11 / 600,300; And "System for Connectiong to a Network Location Associated with Content" in US patent application Ser. No. 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 (37)

메모리 디바이스 상에 저장된 콘텐트에 액세스하기 위한 방법으로서,A method for accessing content stored on a memory device, the method comprising: 콘텐트에 액세스하기 위한 요청을 전송하는 단계와,Sending a request to access the content, 세션 티켓을 수신하는 단계로서, 상기 세션 티켓은 콘텐트를 디크립트하기 위하여 사용된 파라미터를 포함하고, 상기 세션 티켓은 세션에서 변화하도록 구성된 변수를 바탕으로 생성되는, 단계와,Receiving a session ticket, the session ticket including a parameter used to decrypt content, the session ticket being generated based on a variable configured to change in a session; 세션 티켓을 바탕으로 콘텐트에 액세스하는 단계를To access content based on session tickets 포함하는, 콘텐트에 액세스하기 위한 방법.And a method for accessing content. 제 1항에 있어서, 상기 콘텐트에 액세스하는 방법은,The method of claim 1, wherein the method of accessing the content comprises: 메모리 디바이스에 세션 티켓을 전송하는 단계와,Sending a session ticket to a memory device, 메모리 디바이스로부터 콘텐트를 수신하는 단계를Receiving content from the memory device 포함하는, 콘텐트에 액세스하기 위한 방법.And a method for accessing content. 제 1항에 있어서, 상기 파라미터는 암호화 키에 대한 레퍼런스이고, 상기 콘텐트는 암호화 키로 인크립트되는, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the parameter is a reference to an encryption key and the content is encrypted with an encryption key. 제 1항에 있어서, 상기 파라미터는 암호화 논스(cryptographic nonce)이고, 상기 암호화 논스는 암호화 키를 생성하기 위하여 사용되는, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the parameter is a cryptographic nonce, wherein the cryptographic nonce is used to generate an encryption key. 제 1항에 있어서, 상기 변수는 하나의 수인, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the variable is one number. 제 5항에 있어서, 상기 수는 임의로 변화하도록 구성되는, 콘텐트에 액세스하기 위한 방법.6. The method of claim 5, wherein the number is configured to vary randomly. 제 1항에 있어서, 상기 세션은 임의의 시간에 걸쳐 있는, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the session spans any time. 제 1항에 있어서, 상기 세션은 메모리 디바이스에 결합된 컴퓨팅 디바이스가 재시작될 때 만료하는, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the session expires when a computing device coupled to a memory device is restarted. 제 1항에 있어서, 상기 세션은 메모리 디바이스가 컴퓨팅 디바이스로부터 분리될 때 만료하는, 콘텐트에 액세스하기 위한 방법.The method of claim 1, wherein the session expires when the memory device is detached from the computing device. 컴퓨터 판독 가능 매체로 구현된 컴퓨터 프로그램 제품으로서,A computer program product embodied in a computer readable medium, 콘텐트를 디크립트하기 위하여 사용된 파라미터를 제공하고,Provide the parameters used to decrypt the content, 세션 티켓을 정의하기 위하여 제 1 수를 바탕으로 파라미터를 인크립트하고 (상기 제 1 수는 세션에서 변화하도록 구성),Encrypt the parameter based on the first number to define a session ticket (the first number configured to change in the session), 상기 세션 티켓을 바탕으로 콘텐트에 액세스하기 위한To access content based on the session ticket. 컴퓨터 명령을 포함하는, 컴퓨터 프로그램 제품.A computer program product comprising computer instructions. 제 10항에 있어서, 파라미터를 추출하기 위하여 제 2 수를 바탕으로 세션 티켓을 디크립트하기 위한 컴퓨터 명령들을 더 포함하는, 컴퓨터 프로그램 제품.11. The computer program product of claim 10, further comprising computer instructions for decrypting a session ticket based on the second number to extract a parameter. 제 11항에 있어서, 상기 제 1 수는 만약 제 2 수가 세션에서 생성되면 제 2 수와 동일한, 컴퓨터 프로그램 제품.12. The computer program product of claim 11, wherein the first number is equal to the second number if the second number is generated in the session. 제 11항에 있어서, 상기 제 1 수는 만약 제 2 수가 다른 세션에서 생성되면 제 2 수와 다른, 컴퓨터 프로그램 제품.12. The computer program product of claim 11, wherein the first number is different from the second number if the second number is generated in another session. 제 10항에 있어서, 상기 제 1 수는 임의로 변화하도록 구성되는, 컴퓨터 프로그램 제품.The computer program product of claim 10, wherein the first number is configured to vary arbitrarily. 메모리 디바이스에 저장된 콘텐트에 액세스하기 위한 방법으로서,A method for accessing content stored on a memory device, the method comprising: 암호화 키에 레퍼런스를 제공하는 단계로서, 상기 콘텐트는 암호화 키를 사용하여 인크립트되는, 단계와,Providing a reference to an encryption key, wherein the content is encrypted using the encryption key; 세션 티켓을 정의하기 위한 수를 바탕으로 암호화 키에 대한 레퍼런스를 인 크립트하는 단계로서, 상기 수는 세션에서 임의로 변화하도록 구성되는, 단계와,Encrypting a reference to an encryption key based on a number for defining a session ticket, the number being configured to vary randomly in the session; 상기 세션 티켓을 바탕으로 콘텐트에 액세스하는 단계를Accessing content based on the session ticket 포함하는, 콘텐트에 액세스하기 위한 방법.And a method for accessing content. 제 15항에 있어서, 상기 세션은 임의의 시간 기간에 걸쳐있는, 콘텐트에 액세스하기 위한 방법.The method of claim 15, wherein the session spans any time period. 제 15항에 있어서, 상기 세션은 메모리 디바이스에 결합된 컴퓨팅 디바이스가 재시작될 때 만료하는, 콘텐트에 액세스하기 위한 방법.16. The method of claim 15, wherein the session expires when a computing device coupled to a memory device is restarted. 제 15항에 있어서, 상기 세션은 메모리 디바이스가 컴퓨팅 디바이스로부터 분리될 때 만료하는, 콘텐트에 액세스하기 위한 방법.The method of claim 15, wherein the session expires when the memory device is detached from the computing device. 메모리 디바이스로서,As a memory device, 메모리와,With memory, 상기 메모리와 통신하는 메모리 제어기를A memory controller in communication with the memory 포함하고,Including, 상기 메모리 제어기는,The memory controller, 콘텐트를 디크립트하기 위하여 사용된 파라미터를 검색하고,Retrieve the parameters used to decrypt the content, 상기 파라미터 및 수를 바탕으로 세션 티켓을 생성하고 (상기 수는 세션에서 변화되도록 구성),Generate a session ticket based on the parameter and number (the number is configured to change in a session), 컴퓨팅 디바이스에 세션 티켓을 전송하고 (상기 컴퓨팅 디바이스는 메모리 디바이스에 결합되도록 구성),Send a session ticket to a computing device (the computing device is configured to be coupled to a memory device), 컴퓨팅 디바이스로부터 세션 티켓을 수신하고,Receive a session ticket from the computing device, 세션 티켓을 바탕으로 콘텐트에 액세스하도록To access content based on session tickets. 구성되는, 메모리 디바이스.Configured memory device. 제 19항에 있어서, 상기 메모리 제어기는,20. The method of claim 19, wherein the memory controller, 파라미터를 추출하기 위한 수를 바탕으로 세션 티켓을 디크립트하고,Decrypt the session ticket based on the number to extract the parameter, 상기 파라미터를 바탕으로 콘텐트에 액세스하도록To access content based on these parameters. 추가 구성되는, 메모리 디바이스.Further configured, memory device. 제 19항에 있어서, 상기 파라미터는 암호화 키에 대한 레퍼런스이고, 상기 콘텐트는 암호화 키로 인크립트되는, 메모리 디바이스.20. The memory device of claim 19 wherein the parameter is a reference to an encryption key and the content is encrypted with the encryption key. 제 19항에 있어서, 상기 파라미터는 암호화 논스이고, 상기 암호화 논스는 암호화 키를 생성하기 위해 사용되는, 메모리 디바이스.20. The memory device of claim 19 wherein the parameter is an encryption nonce and the encryption nonce is used to generate an encryption key. 제 19항에 있어서, 상기 세션은 임의의 시간 기간에 걸쳐있는, 메모리 디바이스.20. The memory device of claim 19 wherein the session spans any time period. 제 19항에 있어서, 상기 세션은 컴퓨팅 디바이스가 재시작될 때 만료하는, 메모리 디바이스.20. The memory device of claim 19 wherein the session expires when the computing device is restarted. 제 19항에 있어서, 상기 세션은 메모리 디바이스가 컴퓨팅 디바이스로부터 분리될 때 만료하는, 메모리 디바이스.20. The memory device of claim 19 wherein the session expires when the memory device is detached from the computing device. 메모리 디바이스로서,As a memory device, 비휘발성 메모리와,Non-volatile memory, 비휘발성 메모리와 통신하는 메모리 제어기를A memory controller that communicates with nonvolatile memory 포함하고,Including, 상기 메모리 제어기는,The memory controller, 콘텐트를 디크립트하기 위하여 사용된 암호화 키에 대한 레퍼런스를 검색하고,Retrieve a reference to the encryption key used to decrypt the content, 세션 티켓을 정의하기 위한 수를 바탕으로 암호화 키에 대한 레퍼런스를 인크립트하고 (상기 수는 세션에서 변화하도록 구성),Encrypt a reference to the encryption key based on the number for defining the session ticket (the number is configured to change in the session), 컴퓨팅 디바이스에 세션 티켓을 전송하고 (상기 컴퓨팅 디바이스는 메모리 디바이스에 결합되도록 구성),Send a session ticket to a computing device (the computing device is configured to be coupled to a memory device), 컴퓨팅 디바이스로부터 세션 티켓을 수신하고,Receive a session ticket from the computing device, 세션 티켓을 바탕으로 콘텐트에 액세스하도록To access content based on session tickets. 구성되는, 메모리 디바이스.Configured memory device. 제 26항에 있어서, 상기 메모리 제어기는,The method of claim 26, wherein the memory controller, 암호화 키에 대한 레퍼런스를 추출하기 위한 수를 바탕으로 세션 티켓을 디크립트하고,Decrypt the session ticket based on the number to extract the reference to the encryption key, 암호화 키에 대한 레퍼런스를 바탕으로 암호화 키를 검색하며,Retrieve the encryption key based on a reference to the encryption key, 암호화 키를 사용하여 콘텐트를 디크립트하고,Decrypt the content using the encryption key, 컴퓨팅 디바이스에 콘텐트를 전송하도록To transmit content to the computing device. 추가 구성되는, 메모리 디바이스.Further configured, memory device. 제 26항에 있어서, 상기 수는 임의로 생성되는, 메모리 디바이스.27. The memory device of claim 26 wherein the number is randomly generated. 제 26항에 있어서, 상기 세션은 임의의 시간 기간에 걸쳐있는, 메모리 디바이스.27. The memory device of claim 26 wherein the session spans any time period. 제 26항에 있어서, 상기 세션은 컴퓨팅 디바이스가 재시작될 때 만료하는, 메모리 디바이스.27. The memory device of claim 26 wherein the session expires when the computing device is restarted. 제 26항에 있어서, 상기 세션은 메모리 디바이스가 컴퓨팅 디바이스로부터 분리될 때 만료하는, 메모리 디바이스.27. The memory device of claim 26 wherein the session expires when the memory device is detached from the computing device. 장치로서,As a device, 메모리와,With memory, 상기 메모리와 통신하는 처리기를A processor in communication with the memory 포함하고,Including, 상기 처리기는,The processor, 메모리 디바이스에 저장된 제 1 콘텐트에 액세스하기 위하여 메모리 디바이스에 제 1 요청을 전송하고,Send a first request to the memory device to access the first content stored on the memory device, 제 1 세션 티켓을 수신하고 (상기 제 1 세션 티켓은 제 1 콘텐트를 디크립트하기 위하여 사용된 제 1 파라미터를 포함하고, 상기 제 1 세션 티켓은 세션에서 변화하도록 구성된 수를 바탕으로 생성),Receive a first session ticket (the first session ticket includes a first parameter used to decrypt the first content, the first session ticket generated based on a number configured to change in the session), 제 1 세션 티켓을 바탕으로 제 1 콘텐트에 액세스하도록To access first content based on the first session ticket. 구성되는, 장치.Configured device. 제 32항에 있어서, 상기 처리기는,The method of claim 32, wherein the processor, 메모리 디바이스에 저장된 제 2 콘텐트에 액세스하기 위하여 메모리 디바이스에 제 2 요청을 전송하고,Send a second request to the memory device to access the second content stored on the memory device, 제 2 콘텐트를 디크립트하기 위하여 사용된 제 2 파라미터를 포함하는 제 2 세션 티켓을 수신하며,Receive a second session ticket including a second parameter used to decrypt the second content, 제 2 세션 티켓을 바탕으로 제 2 콘텐트에 액세스하도록To access second content based on a second session ticket. 추가 구성되는, 장치.Further configured, the device. 제 32항에 있어서, 상기 처리기는,The method of claim 32, wherein the processor, 메모리 디바이스에 세션 티켓을 전송하고,Send session tickets to the memory device, 메모리 디바이스로부터 콘텐트를 수신하도록To receive content from a memory device 추가 구성되는, 장치.Further configured, the device. 제 32항에 있어서, 상기 처리기는, The method of claim 32, wherein the processor, 파라미터를 추출하기 위한 수를 바탕으로 세션 티켓을 디크립트하고,Decrypt the session ticket based on the number to extract the parameter, 상기 파라미터를 바탕으로 콘텐트에 액세스하도록To access content based on these parameters. 추가 구성되는, 장치.Further configured, the device. 제 32항에 있어서, 상기 파라미터는 암호화 키에 대한 레퍼런스이고, 상기 콘텐트는 암호화 키로 인크립트되는, 장치.33. The apparatus of claim 32, wherein the parameter is a reference to an encryption key and the content is encrypted with an encryption key. 제 32항에 있어서, 상기 파라미터는 암호화 논스이고, 상기 암호화 논스는 암호화 키를 생성하기 위하여 사용되는, 장치.33. The apparatus of claim 32, wherein the parameter is an encryption nonce and the encryption nonce is used to generate an encryption key.
KR1020097012043A 2006-11-14 2007-11-09 Methods and apparatuses for accessing content based on a session ticket KR101450131B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/600,273 2006-11-14
US11/600,263 US8079071B2 (en) 2006-11-14 2006-11-14 Methods for accessing content based on a session ticket
US11/600,273 US20080112566A1 (en) 2006-11-14 2006-11-14 Apparatuses for accessing content based on a session ticket
US11/600,263 2006-11-14
PCT/US2007/023617 WO2008069888A2 (en) 2006-11-14 2007-11-09 Methods and apparatuses for accessing content based on a session ticket

Publications (2)

Publication Number Publication Date
KR20090091750A true KR20090091750A (en) 2009-08-28
KR101450131B1 KR101450131B1 (en) 2014-10-13

Family

ID=39313149

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097012043A KR101450131B1 (en) 2006-11-14 2007-11-09 Methods and apparatuses for accessing content based on a session ticket

Country Status (5)

Country Link
EP (1) EP2082348A2 (en)
JP (1) JP2010509887A (en)
KR (1) KR101450131B1 (en)
TW (1) TWI441037B (en)
WO (1) WO2008069888A2 (en)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3216607B2 (en) * 1998-07-29 2001-10-09 日本電気株式会社 Digital work distribution system and method, digital work reproduction apparatus and method, and recording medium
AU2001244604A1 (en) * 2000-03-30 2001-10-15 Fujitsu Limited Content data storage
US20040019801A1 (en) * 2002-05-17 2004-01-29 Fredrik Lindholm Secure content sharing in digital rights management
JP3869761B2 (en) * 2002-06-05 2007-01-17 三洋電機株式会社 Content playback device
JP2004133654A (en) * 2002-10-10 2004-04-30 Sanyo Electric Co Ltd Storage device, terminal device, and server system
KR20050096040A (en) * 2004-03-29 2005-10-05 삼성전자주식회사 Method for playbacking content using portable storage by digital rights management, and portable storage for the same
US7664966B2 (en) * 2004-05-17 2010-02-16 Microsoft Corporation Secure storage on recordable medium in a content protection system
WO2006013924A1 (en) * 2004-08-06 2006-02-09 Pioneer Corporation Recording/reproducing device, recording medium processing device, reproducing device, recording medium, contents recording/reproducing system, and contents recording/reproducing method
US8504849B2 (en) * 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control

Also Published As

Publication number Publication date
WO2008069888B1 (en) 2008-09-18
KR101450131B1 (en) 2014-10-13
WO2008069888A3 (en) 2008-07-31
WO2008069888A2 (en) 2008-06-12
JP2010509887A (en) 2010-03-25
TWI441037B (en) 2014-06-11
EP2082348A2 (en) 2009-07-29
TW200839564A (en) 2008-10-01

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
US20080115211A1 (en) Methods for binding content to a separate memory device
US20070083939A1 (en) Secure universal serial bus (USB) storage device and method
US20100023777A1 (en) System and method for secure firmware update of a secure token having a flash memory controller and a smart card
US20090276829A1 (en) System 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
US20090276474A1 (en) Method for copying protected data from one secured storage device to another via a third party
KR20030071460A (en) Memory card
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
EP1836851A1 (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: 20170919

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 5