KR101450131B1 - 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
KR101450131B1
KR101450131B1 KR1020097012043A KR20097012043A KR101450131B1 KR 101450131 B1 KR101450131 B1 KR 101450131B1 KR 1020097012043 A KR1020097012043 A KR 1020097012043A KR 20097012043 A KR20097012043 A KR 20097012043A KR 101450131 B1 KR101450131 B1 KR 101450131B1
Authority
KR
South Korea
Prior art keywords
content
session
encryption key
memory device
parameter
Prior art date
Application number
KR1020097012043A
Other languages
Korean (ko)
Other versions
KR20090091750A (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,273 external-priority patent/US20080112566A1/en
Priority claimed from US11/600,263 external-priority patent/US8079071B2/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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Library & Information Science (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)

Abstract

메모리 디바이스 상에 저장된 콘텐트에 액세스하기 위한 방법이 제공된다. 이 방법에서, 콘텐트에 액세스하기 위한 요청은 전송되고 세션 티켓은 수신된다. 세션 티켓은 콘텐트를 디크립트하기 위하여 사용된 파라미터를 포함하고 세션 티켓은 세션을 변화시키도록 구성된 변수를 바탕으로 생성된다. 콘텐트는 세션 티켓을 바탕으로 액세스될 수 있다. 메모리 및 상기 메모리와 통신하는 처리기를 포함하는 장치가 제공된다. 상기 처리기는 메모리 디바이스에 저장된 콘텐트에 액세스하기 위한 요청을 메모리 디바이스에 전송하고; 세션 티켓을 수신하고; 및 상기 세션 티켓을 바탕으로 콘텐트에 액세스하도록 구성된다. 세션 티켓은 콘텐트를 디크립트하기 위하여 사용된 파라미터를 포함하고 세션 티켓은 세션에서 변화하도록 구성된 수를 바탕으로 생성된다.A method is provided for accessing content stored on a memory device. In this method, the request to access the content is sent and the session ticket is received. The session ticket contains the parameters used to decrypt the content and the session ticket is generated based on the variables configured to change the session. The content can be accessed based on the session ticket. An apparatus is provided that includes a memory and a processor in communication with the memory. The processor sending a request to the memory device to access content stored in the memory device; Receiving a session ticket; And access the content based on the session ticket. The session ticket contains the parameters used to decrypt the content and the session ticket is generated based on the number configured to change in the session.

Description

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

본 발명의 실시예는, 일반적으로 콘텐트 액세스에 관한 것이고, 보다 구체적으로는 콘텐트를 라이센스와 연결하고 세션 티켓을 바탕으로 콘텐트에 액세스하는 것에 관한 것이다.Embodiments of the present invention relate generally to content access, and more specifically to associating content with a license and accessing content based on a session ticket.

디지털 권리 관리(DRM)는 음악 파일들, 비디오 파일들, 및 다른 콘텐트 같은 콘텐트의 분배를 보호 및 제어하기 위하여 사용된 기술이다. DRM에서, 콘텐트는 암호화 키로 암호화되어, 암호화 키는 콘텐트를 디크립트하기 위하여 사용될 수 있다. 사용자가 콘텐트를 디크립트하고 액세스하기 위하여, 사용자는 콘텐트와 연관된 라이센스에 액세스하여야 한다. 일반적으로, 라이센스는 라이센스 제공자에 의해 정의된 허가를 바탕으로 콘텐트에 액세스하기 위한 다른 액세스 권리들을 승인할 수 있다. 예를 들어, 라이센스는 제한된 수의 횟수 동안 콘텐트(예를 들어, 음악 파일)가 플레이 되게 제한할 수 있다. Digital rights management (DRM) is a technology used to protect and control the distribution of content such as music files, video files, and other content. In DRM, the content is encrypted with an encryption key, and the encryption key can be used to decrypt the content. In order for the user to decrypt and access the content, the user must access the license associated with the content. In general, a license may authorize other access rights to access the content based on the permissions defined by the license provider. For example, a license may limit content (e.g., a music file) to play 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, an unauthorized user can decrypt the content without a license and thus access the content without restriction. As a result, it is necessary to further improve the protection of the content.

본 발명의 여러 실시예들은 콘텐트와 라이센스를 연결하고 세션 티켓을 바탕으로 콘텐트에 액세스하기 위한 방법들, 시스템들 및/또는 장치들을 제공한다. 상기 실시예들이 방법, 회로, 시스템, 또는 디바이스를 포함하는 여러 방식으로 실행될 수 있다는 것이 인식되어야 한다. 본 발명의 몇몇 실시예들은 하기에 기술된다.Various embodiments of the present invention provide methods, systems and / or devices for connecting content and licenses and for accessing content based on session tickets. It should be appreciated that the embodiments may be practiced in a variety of ways including methods, circuits, systems, or devices. Some embodiments of the invention are described below.

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

다른 실시예에서, 장치는 제공된다. 상기 장치는 메모리 및 상기 메모리와 통신하는 처리기를 포함한다. 처리기는 메모리 디바이스에 저장된 콘텐트에 액세스하기 위한 요청을 메모리 디바이스에 전송하고; 세션 티켓을 수신하고; 및 세션 티켓을 바탕으로 콘텐트에 액세스한다. 세션 티켓은 콘텐트를 디크립트하기 위하여 사용된 파라미터이고 세션 티켓은 세션에서 변화하도록 구성된 변수를 바탕으로 생성된다.
본 발명의 일 실시예에 따른 콘텐트에 액세스하기 위한 방법은 암호화 키에 의해 암호화된 콘텐트를 메모리 디바이스에 저장하는 단계; 세션 티켓 및 상기 콘텐트를 액세스하기 위한 요청을 호스트 컴퓨팅 디바이스로부터 수신하고, 상기 세션 티켓은 이미 상기 호스트 컴퓨팅 디바이스로 제공되었으며 세션과 연관된 값을 갖고 다른 세션들에서 값을 변화시키는 변수를 갖는 상기 암호화 키와 연관된 파라미터를 암호화함으로써 상기 메모리 디바이스에 의해 생성된 단계; 상기 변수를 갖는 상기 세션 티켓을 해독함으로써 상기 세션 티켓으로부터 상기 암호화 키와 연관된 상기 파라미터를 추출하도록 시도하며, 만일 상기 세션이 변하지 않았다면, 상기 변수의 값은 변하지 않았고, 상기 암호화 키와 연관된 상기 파라미터는 상기 세션 티켓으로부터 추출되는 단계; 만일 상기 암호화 키와 연관된 상기 파라미터가 상기 세션 티켓으로부터 추출되면 : 상기 파라미터에 근거하여 상기 암호화 키를 획득하는 단계; 상기 암호화 키를 사용하여 상기 콘텐트를 해독하는 단계; 상기 콘텐트를 상기 호스트 컴퓨팅 디바이스로 전송하는 단계를 포함한다.
본 발명의 다른 실시예에 따른 메모리 디바이스는 암호화 키에 의해 암호화된 콘텐트를 저장하도록 동작하는 메모리와; 상기 메모리와 통신하는 제어기를 포함하고, 상기 제어기는 : 세션 티켓 및 상기 콘텐트를 액세스하기 위한 요청을 호스트 컴퓨팅 디바이스로부터 수신하고, 상기 세션 티켓은 이미 상기 호스트 컴퓨팅 디바이스로 제공되었으며 세션과 연관된 값을 갖고 다른 세션들에서 값을 변화시키는 변수를 갖는 상기 암호화 키와 연관된 파라미터를 암호화함으로써 상기 메모리 디바이스에 의해 생성되었고; 상기 변수를 갖는 상기 세션 티켓을 해독함으로써 상기 세션 티켓으로부터 상기 암호화 키와 연관된 상기 파라미터를 추출하도록 시도하며, 만일 상기 세션이 변하지 않았다면, 상기 변수의 값은 변하지 않았고, 상기 암호화 키와 연관된 상기 파라미터는 상기 세션 티켓으로부터 추출되며; 만일 상기 암호화 키와 연관된 상기 파라미터가 상기 세션 티켓으로부터 추출되면 : 상기 파라미터에 근거하여 상기 암호화 키를 획득하고, 상기 암호화 키를 사용하여 상기 콘텐트를 해독하며, 상기 콘텐트를 상기 호스트 컴퓨팅 디바이스로 전송하도록 동작한다.
본 발명의 또 다른 실시예에 따른 메모리 디바이스는 메모리와; 상기 메모리와 통신하는 제어기를 포함하고, 상기 제어기는 세션과 연관된 값을 갖고 다른 세션들에서 값을 변화시키는 변수를 갖는 상기 암호화 키와 연관된 파라미터를 암호화함으로써 세션 티켓을 생성하고; 상기 세션 티켓을 호스트 컴퓨팅 디바이스로 제공하며; 상기 세션 티켓 및 콘텐트를 액세스하기 위한 요청을 호스트 컴퓨팅 디바이스로부터 수신하고; 상기 변수를 갖는 상기 세션 티켓을 해독함으로써 상기 세션 티켓으로부터 상기 암호화 키와 연관된 상기 파라미터를 추출하도록 시도하며, 만일 상기 세션이 변하지 않았다면, 상기 변수의 값은 변하지 않았고, 상기 암호화 키와 연관된 상기 파라미터는 상기 세션 티켓으로부터 추출되며; 만일 상기 암호화 키와 연관된 상기 파라미터가 상기 세션 티켓으로부터 추출되면 : 상기 파라미터에 근거하여 상기 암호화 키를 획득하고, 상기 암호화 키를 사용하여 상기 콘텐트를 해독하며, 상기 콘텐트를 상기 호스트 컴퓨팅 디바이스로 전송하도록 구성된다.
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 the content stored in the memory device; Receiving a session ticket; And access the content based on the session ticket. A session ticket is a parameter used to decrypt content, and a session ticket is generated based on a variable configured to change in a session.
A method for accessing content in accordance with an embodiment of the present invention includes: storing content encrypted by an encryption key in a memory device; Receiving a session ticket and a request for accessing the content from a host computing device, the session ticket having a value that is already provided to the host computing device and has a value associated with the session, A step generated by the memory device by encrypting a parameter associated with the memory device; Attempting to extract the parameter associated with the encryption key from the session ticket by decrypting the session ticket with the variable; if the session has not changed, the value of the variable has not changed; and the parameter associated with the encryption key is Extracting from the session ticket; If the parameter associated with the encryption key is extracted from the session ticket: obtaining the encryption key based on the parameter; Decrypting the content using the encryption key; And sending the content to the host computing device.
A memory device according to another embodiment of the present invention includes: a memory operative to store content encrypted by an encryption key; Wherein the controller receives a session ticket and a request to access the content from a host computing device, the session ticket already provided to the host computing device and having a value associated with the session Generated by the memory device by encrypting a parameter associated with the encryption key with a variable that changes the value in other sessions; Attempting to extract the parameter associated with the encryption key from the session ticket by decrypting the session ticket with the variable; if the session has not changed, the value of the variable has not changed; and the parameter associated with the encryption key is Extracted from the session ticket; If the parameter associated with the encryption key is extracted from the session ticket: obtain the encryption key based on the parameter, decrypt the content using the encryption key, and send the content to the host computing device .
A memory device according to another embodiment of the present invention includes: a memory; The controller communicating with the memory, the controller generating a session ticket by encrypting a parameter associated with the encryption key having a value associated with the session and varying values in other sessions; Providing the session ticket to a host computing device; Receive a request for accessing the session ticket and content from a host computing device; Attempting to extract the parameter associated with the encryption key from the session ticket by decrypting the session ticket with the variable; if the session has not changed, the value of the variable has not changed; and the parameter associated with the encryption key is Extracted from the session ticket; If the parameter associated with the encryption key is extracted from the session ticket: obtain the encryption key based on the parameter, decrypt the content using the encryption key, and send the content to the host computing device .

본 발명의 다른 실시예들 및 장점들은 본 발명의 원리들을 예시적으로 도시하는 첨부 도면들과 관련하여 얻어진 다음 상세한 설명으로부터 명백할 것이다.Other embodiments and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate, by way of example, the principles of the invention.

본 발명은 첨부 도면들과 관련하여 다음 상세한 설명에 의해 쉽게 이해될 것이고, 유사한 참조 번호들은 유사한 구조 엘리먼트들을 나타낸다.The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, in which like reference numerals designate like structural elements.

도 1은 본 발명의 실시예에 따른 장치들의 시스템의 간략화된 블록도이다.1 is a simplified block diagram of a system of devices according to an embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 콘텐트를 디크립트하기 위하여 사용된 파라미터의 생성을 도시하는 블록도이다.2 is a block diagram illustrating generation of parameters used to decrypt content according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 메모리 디바이스에 액세스하기 위한 시스템의 간략화된 블록도이다.3 is a simplified block diagram of a system for accessing a memory device in accordance with an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 메모리 디바이스로부터 콘텐트의 액세스를 도시하는 흐름도이다.4 is a flow diagram illustrating accessing content from a memory device in accordance with an embodiment of the present invention.

도 5는 본 발명의 실시예에 따른 세션 티켓의 생성을 도시하는 블록도이다.5 is a block diagram illustrating generation of a session ticket according to an embodiment of the present 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 accessing content from a memory device based on a session ticket in accordance with an embodiment of the present invention.

도 8은 본 발명의 실시예에 따른 콘텐트에 액세스하기 위한 호스트 컴퓨팅 디바이스 상에 호스트될 수 있는 프로그램 애플리케이션들의 간략화된 블록도이다.Figure 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 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 in accordance with an embodiment of the present invention.

하나 또는 그 이상의 실시예들의 상세한 설명은 첨부 도면들과 함께 하기에 제공된다. 상세한 설명은 상기 실시예들과 관련하여 제공되지만, 임의의 특정 실시예로 제한되지 않는다. 상기 범위는 청구항들 및 다수의 대안들, 변형들에 의해서만 제한되고, 등가물들은 포함된다. 다수의 특정 항목들은 완전한 이해를 제공하기 위하여 다음 상세한 설명에 나타난다. 이들 항목들은 예시적으로 제공되고 기술된 실시예들은 이들 특정 항목들 몇몇 또는 모두 없이도 청구항들에 따라 실행될 수 있다. 간략화를 위하여, 실시예들과 관련된 기술 분야들에서 공지된 기술 자료는 상세한 설명을 불필요하게 모호하게 하는 것을 방지하기 위하여 상세히 기술되지 않는다.The detailed description of one or more embodiments is provided below in conjunction with the accompanying drawings. The detailed description is provided in connection with the above embodiments, but is not limited to any specific embodiment. The scope is limited only by the claims and many alternatives and modifications, and equivalents are included. Many specific items are set forth in the following description to provide a thorough understanding. These items are provided illustratively and the described embodiments may be practiced in accordance with the claims without some or all of these specific items. For simplicity, technical data known in the art relating to the embodiments are not described in detail in order to avoid unnecessarily obscuring the detailed description.

여기에 기술된 실시예들은 콘텐트와 라이센스를 연결하고 세션 티켓을 바탕으로 콘텐트에 액세스하는 것을 제공한다. 암호화 키는 암호화된 콘텐트를 디크립트하고 액세스하기 위하여 사용된다. 이하에 보다 상세히 설명될 바와 같이, 양쪽 라이센스 및 콘텐트와 연관된 파라미터들은 암호화 키를 유도하기 위하여 사용된다. 몇몇 실시예들에서, 암호화 키를 유도하기 위하여 사용된 파라미터는 변수로 추가로 인크립되어 콘텐트에 대한 액세스는 세션으로 제한된다.The embodiments described herein provide for connecting 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 parameters used to derive the encryption key are further encapsulated into a variable such 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 a device system in accordance with an embodiment of the present invention. As shown in FIG. 1, system 102 includes host computing device 114 and memory device 116. The host computing device 114 may include various electronic devices capable of accessing the memory device 116 to store or retrieve the content 118 stored in the memory device. The memory device 116 may be removably coupled to the host computing device 114 by a mechanical interface 108, such as pins and / or socket connectors. The 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 non-volatile 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. The application 104 includes a number of 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, 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 may access the content 118 stored in the memory device 116. The content 118 may include a variety of 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 Interleaved (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.

콘텐트와 라이센스 연결Linking content and licenses

도 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 parameters used to decrypt content according to an embodiment of the present invention. FIG. 2 shows content 118 and associated license 204. FIG. The content 118 is encrypted so that the content is difficult to understand. Generally, license 204 is data (e.g., strings, files, and other data) to which content 118 is to be accessed. The license 204 may include permissions or rules for accessing the content 118, such as the duration of the access, the access restrictions of the content to a particular computing device, the dates, times, the number of times the content can be accessed, Lt; / RTI > The license 204 may be configured to define permissions for accessing the content 118. The user therefore accesses the content 118 based on the permissions contained in the license 204. [ For example, the license 204 may cause the content 118 in the form of a music file to be played three times in a particular computing device. In another embodiment, the license 204 allows the content 118 to be accessed but not 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 a number of data that may be associated with a decryption of the content 118. For example, the third parameter 210 may be the encryption key used in the 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 may be a number or a string identifying the encryption key. The third parameter 210 may 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 may be an encryption nonce. The encryption key is a number that can be used to generate the 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:

제 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) 모두로부터 유도된 수 또는 문자열일 수 있다. 상기 수 또는 문자열은 다음과 같이 표현될 수 있다:Where the third parameter is a function of the first and second parameters 202 and 206. The function may include various functions such as a hash function, and the third parameter 210 may be a hash value of the 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 may be randomly generated. 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 may be a number or string derived from both the reference to the encryption key and the first parameter 202. The number or string can be expressed as:

제 2 파라미터 = F(키 레퍼런스, 제 1 파라미터) (1.2)Second parameter = F (key reference, first parameter) (1.2)

여기서 제 2 파라미터(206)는 암호화 키에 대한 레퍼런스 및 제 1 파라미터(202) 모두의 함수이다. 제 2 파라미터(206)가 인증 키 및 제 1 파라미터(202) 모두로부터 유도될 수 있다는 것은 인식되어야 한다. 다른 실시예에서, 제 2 파라미터(206)는 암호화 논스 및 제 1 파라미터(202)로부터 유도될 수 있다. 반대로, 제 1 파라미터(202)는 제 2 파라미터(206) 및 인증 키로, 암호화 키에 대한 레퍼런스, 암호화 논스 또는 다른 파라미터들로부터 유도될 수 있다.Where the second parameter 206 is a function of both the reference to the encryption key and the first parameter 202. It should be appreciated that the second parameter 206 may be derived from both the authentication key and the first parameter 202. In another embodiment, the second parameter 206 may be derived from the encryption nonce and the first parameter 202. Conversely, the first parameter 202 may be derived from a reference to an encryption key, an encryption nonce, or other parameters with a second parameter 206 and an 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. The first and second parameters 202 and 206 may be placed or included in the license and content, respectively, so as to be associated with the license 204 or the content 118. For example, the second parameter 206 may be placed in the header or footer of the content 118. Alternatively, the first parameter 202 and / or the second parameter 206 may be placed independently of the license 204 and / or the content 118. [ If placed irrelevant, the 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 a 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 in accordance with an embodiment of the present invention. As shown, the system 302 includes a host computing device 114 coupled to a memory device 116. The host computing device 114 may include an application 104 and a first content protection platform 304. The memory device 116 includes a second content protection platform 306, content 118, and a license 204. In an embodiment, the license 204 may be stored in a hidden partition of the 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 the content 118 for the memory device 116. The first content protection platform 304 and / or the second content protection platform 306 allow 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 TM and Gruvi TM (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, application 104 by first content protection platform 304 sends a request for content 118 stored in 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 arranged independently of the license and the content. As defined by Equation 1.0, a third parameter is generated based on the first parameter 202 and the second parameter 206. [ In other words, the third parameter may be derived from the first and second parameters 202 and 206. The third parameter may be an encryption key used to decrypt the content 118, a reference to an encryption key, an authentication key, a nonce, or other parameters. With the third parameter, the application 104 can decrypt and access the content 118. To access the content 118, the first content protection platform 304 may send a request for the third parameter and the content 118 to the memory device 116. The second content protection platform 306 may 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, And generates 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 retrieves a third parameter based on the first and second parameters .

도 4는 본 발명의 실시예에 따른 메모리 디바이스로부터 콘텐트의 액세스를 도시하는 흐름도이다. 402에서 시작하여, 콘텐트는 콘텐트가 보호되는지(즉, 암호화)를 결정하기 위하여 분석된다. 콘텐트와 연관된 여러 정보는 콘텐트가 암호화 되는지를 가리킬 수 있다. 콘텐트의 헤더는 예를 들어 콘텐트가 암호화되는 것을 가리킬 수 있다. 선택적으로, 콘텐트의 파일이름 확장은 콘텐트가 암호화되는 것을 가리킨다. 만약 콘텐트가 보호되지 않으면, 콘텐트는 410에 직접적으로 액세스될 수 있다. 만약 콘텐트가 보호되지 않으면, 제 1 파라미터는 404에서 라이센스로부터 검색된다. 이 실시예에서, 제 1 파라미터는 수이다. 상기 수는 임의로 생성 또는 미리 정의될 수 있다. 406에서, 제 2 파라미터는 콘텐트로부터 검색된다. 실시예에서, 방정식 1.2에서 표현된 바와 같이, 제 2 파라미터는 암호화 키에 대한 레퍼런스 및 제 1 파라미터로부터 유도될 수 있다. 암호화 키는 콘텐트를 암호화 또는 디크립트하기 위하여 사용된다. 결과적으로, 제 2 파라미터는 콘텐트 및 라이센스 모두와 연관되는데, 그 이유는 제 2 파라미터가 콘텐트를 디크립트하기 위하여 사용된 암호화 키에 대한 레퍼런스 및 라이센스와 함께 포함된 수로부터 유도 또는 계산되기 때문이다. 다른 실시예에서, 제 1 파라미터(예를 들어, 수)는 콘텐트와 연관되고 제 2 파라미터는 라이센스와 연관될 수 있다.4 is a flow diagram illustrating accessing content from a memory device in accordance with an embodiment of the present invention. Beginning at 402, the content is analyzed to determine if the content is protected (i.e., encrypted). The various information associated with the content may indicate whether the content is encrypted. The header of the content may indicate, for example, that the content is encrypted. Optionally, the file name extension of the content indicates that the content is encrypted. If the content is not protected, the content can be directly accessed 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 may be randomly 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 the 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 the content and the license, because the second parameter is derived or calculated from the number included with the reference and license for the encryption key used to decrypt the content. In another embodiment, the first parameter (e.g., 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 may 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. Then, at 410, the content can be decrypted and accessed based on the third parameter. For example, in one embodiment, a third parameter in the form of a reference to an encryption key may be sent to the memory device. The memory device may include a secure store for storing the encryption key. The memory device may retrieve the encryption key from the secure store using a reference to the encryption key. Due to the encryption key, the memory device can decrypt the content and send the decrypted content to the host computing device.

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

도 5는 본 발명의 실시예에 따른 세션 키의 생성을 도시하는 블록도이다. 파라미터(502)는 처음에 제공되고 상기 파라미터는 콘텐트의 디크립션과 연관될 수 있는 여러 데이터를 포함한다. 파라미터(502)는 상기된 라이센스 및 콘텐트와 연관된 파라미터들을 바탕으로 생성될 수 있다. 파라미터(502)의 예들은 콘텐트의 디크립션을 위해 사용된 암호화 키에 대한 레퍼런스, 암호화 논스 또는 다른 파라미터들 포함한다.5 is a block diagram illustrating generation of a session key according to an embodiment of the present invention. The parameters 502 are initially provided and the parameters include various data that may 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 the parameter 502 include a reference to the encryption key used for decrypting the content, encryption non-cues or other parameters.

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

세션 티켓(506)은 파라미터(502) 및 변수(504)를 바탕으로 생성되어, 파라미터는 세션 티켓(506)을 정의하기 위하여 변수를 바탕으로 암호화된다. 세션 티켓(506)은 그러므로 다음과 같이 표현된다:A session ticket 506 is generated based on the parameters 502 and 504 and the parameters are encrypted based on the variables to define the session ticket 506. [ The session ticket 506 is therefore expressed as:

세션 티켓 = F(파라미터, 변수) (2.0)Session ticket = F (parameter, variable) (2.0)

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

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

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

세션 티켓(506)이 특정 콘텐트와 연관되는데 그 이유는 세션 티켓이 콘텐트를 디크립트하기 위하여 사용하기 때문이라는 것이 인식되어야 한다. 결과적으로, 메모리 디바이스에 저장된 다른 콘텐트는 만약 세션 티켓이 다른 콘텐트를 디크립트하기 위하여 파라미터(502) 같은 파라미터를 포함하지 않으면 세션 티켓(506)에 사용되거나 액세스될 수 없다. 예로서, 만약 메모리 디바이스에 저장된 두 개의 독립된 콘텐트들이 다른 암호화 키들로 암호화되면, 호스트 컴퓨팅 디바이스 또는 메모리 디바이스는 두 개의 독립된 콘텐트들에 액세스하기 위하여 두 개의 다른 세션 티켓들을 생성한다. 여기서, 하나의 세션 티켓은 다른 암호화 키들로 암호화된 두 개의 독립된 콘텐트들에 액세스하기 위하여 사용될 수 없다.It should be appreciated that the session ticket 506 is associated with a particular content because the session ticket is used to decrypt the content. As a result, other content stored in the memory device can not be used or accessed in the session ticket 506 unless the session ticket contains parameters, such as parameters 502, to decrypt the other content. As an example, if two independent content stored in a memory device are encrypted with different encryption keys, the host computing device or memory device creates two different session tickets to access the two independent content. Here, one session ticket can not be used to access two independent content items 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. The system 602 includes a host computing device 114 coupled to the memory device 116. The host computing device 114 may include an application 104 and a first content protection platform 304. The 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 the content 118 stored in the memory device 116 by the first content protection platform 304. The content 118 is encrypted with an encryption key. Parameters associated with an encryption key (e.g., a reference to an encryption key, a nonce, or other parameters) are provided to the second content protection platform 306. In response to the request for the content 118, the second content protection platform 306 encrypts the parameter based on the variable 604 to define the session ticket represented by Equation 2.0. The second content protection platform 306 may generate a variable 604 (e.g., a number, string, or other parameter). Variable 604 is configured to change in the session. For example, the second content protection platform 306 may generate another variable 604 for every session. Variable 604 may optionally be 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. Due to the session ticket, the host computing device 114 can access the content 118 based on the session ticket. To access the content 118, the host computing device 114 sends back the 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 may be extracted because the decryption is based on the same variable used to encrypt the parameter. Variable 604 may change in other sessions. As a result, the variable 604 is the same as the variable used to encrypt the parameter if the variables are generated in the same session. However, if the variable 604 is changed, the parameter can not be extracted because the decryption is based on a variable other than the one used to encrypt the parameter. Variable 604 differs from the variable used to encrypt the parameters if they are generated in different sessions. By changing the variable 604 in the session, the session ticket lasts or is valid for one session. If the parameters are extracted, the second content protection platform 306 may decrypt the content 118 based on the parameters 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, the first content protection platform 304 may generate a session ticket by encrypting the parameters used to decrypt the 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 may transmit the session ticket to the application 104. The application 104 may send the 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 accessing content from a memory device based on a session ticket in accordance with an embodiment of the present invention. Beginning at 702, a reference to the encryption key is retrieved. The reference may be retrieved from a host computing device or a memory device. The content stored in the memory device may 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 may be configured and optionally generated to vary in a session. The next session ticket may be sent, for example, at 706 to the host computing device.

호스트 컴퓨팅 디바이스가 메모리 디바이스 상에 저장된 콘텐트에 액세스할 때, 호스트 컴퓨팅 디바이스는 706에서 메모리 디바이스에 수신된 세션 티켓을 전송할 수 있다. 메모리 디바이스는 708에서 세션 티켓을 수신하고 710에서 수를 바탕으로 세션 티켓을 디크립트한다. 만약 상기 수가 세션 티켓을 생성하기 위하여 사용된 수와 매칭하면, 암호화 키에 대한 레퍼런스는 디크립션 동작으로부터 추출될 수 있다. 그러나, 만약 세션이 변화되고 다른 수가 메모리 디바이스에 의해 유지되면, 암호화 키에 대한 레퍼런스는 수들이 매칭하지 않기 때문에 디크립션 동작으로부터 추출될 수 없다. 만약 암호화 키에 대한 레퍼런스가 세션 티켓으로부터 추출될 수 있으면, 암호화 키는 712에서 레퍼런스를 바탕으로 검색된다. 암호화 키는 예를 들어 안전한 저장소로부터 검색될 수 있다. 콘텐트는 암호화 키를 사용하 여 714에서 디크립트되고 예를 들어 716에서 호스트 컴퓨팅 디바이스로 전송된다.When the host computing device accesses the content stored on the memory device, the host computing device may send 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 may be extracted from the decryption operation. However, if the session is changed and another number is maintained by the memory device, the reference to the encryption key can not 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, the encryption key is retrieved based on the reference at 712. The encryption key may be retrieved from, for example, a secure repository. The content is decrypted at 714 using the encryption key and sent to the host computing device at, for example, 716.

도 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)은 메모리 디바이스에 저장된 콘텐트(예를 들어, 음악 파일들, 영화 파일들, 소프트웨어, 및 다른 데이터)의 보안 저장 및 콘텐트에 대한 액세스를 제어하기 위하여 사전 정의된 정책들의 실행을 허용한다.Figure 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 may 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. The DRM module 806 allows the host computing device 114 to manage the digital rights of content stored in memory devices or other locations. For example, the DRM module 806 can protect the content and control the distribution of the content. As described above, the content protection platform 304 is a technical platform for protecting content on a memory device. The content protection platform 304 may include a security manager 802 and a host encryption engine 804. Generally, security manager 802 manages access of content stored in a memory device. Management may include, for example, checking that the content is protected, creating a reference to the encryption key based on the parameters associated with the license and content, generating a session ticket based on the parameters and variables, ≪ / RTI > The host encryption engine 804 includes cryptographic libraries for handling 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 DRM module 806 may provide secure storage of content (e.g., music files, movie files, software, and other data) stored in the memory device and access to the content 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, the file system manager 808 is configured to manage and process access (e.g., read, write, and other access operations) of content stored in a memory device. For example, the file system manager 808 may read the content from the memory device and send the content to the content protection platform 304 for processing. The host computing device 114 may interface with the memory device. The host computing device 114 may thus include a device driver 810 that communicates with the system manager 808 to interface with the memory device. The device driver 810 may include low level interface functions to communicate with, for example, a memory device. Examples of lower-level interface functions include memory device and input / output functions associated with input and output from the 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. The memory device 116 may include a DRM module 902, a content protection platform 306, an encryption engine 904, and a secure repository 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 may 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 an encryption key based on parameters associated with the license and content to generate a session ticket based on parameters and variables, and may be configured for other operations. The encryption engine 904 processes the encryption operations and the secure store 906 stores the encryption keys.

다른 실시예에서, 도 8의 호스트 컴퓨팅 디바이스(114) 및 도 9의 메모리 디바이스(116)가 도 8 및 9에 도시된 것과 달리 보다 적거나 많은 프로그램 애플리케이션들을 포함할 수 있다는 것이 인식되어야 한다. 예를 들어, 도 8에 도시된 바와 같이, 파일 시스템 관리기(808) 및 디바이스 드라이버(810)는 콘텐트 보호 플랫폼(304)에 통합될 수 있다. 도 8의 호스트 컴퓨팅 디바이스(114)는 그러므로 DRM 모듈(806) 및 콘텐트 보호 플랫폼(304)을 포함할 수 있다.It should be appreciated that in other embodiments, 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, the file system manager 808 and the device driver 810 may be integrated into the 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 present invention. In some embodiments, the host computing device 114 may be used to execute computer programs (e.g., a content protection platform), logic, applications, methods, processes, or other software for accessing content . Examples of host computing devices 114 include desktop computers, servers, handheld computing devices, personal digital assistants, mobile telephones, computing engines within a machine, and other computer systems. 10, host computing device 114 may include a processor 1004, a system memory 1006 (e.g., random access memory (RAM)), a storage device 1008 (e.g., (E.g., a memory (ROM), magnetic disk drives, optical disk drives, and other storage devices), a communication interface 1012 (e.g., a modem or Ethernet card), a display 1014 (E.g., CRT) or liquid crystal display (LCD)), input / output device 1016 (e.g., keyboard), and cursor control 1018 (e.g., a mouse or trackball) Or other communication mechanism for communicating information to the user.

몇몇 실시예들에서, 호스트 컴퓨팅 디바이스(114)는 시스템 메모리(1006)에 저장된 하나 또는 그 이상의 프로그램 명령들의 하나 또는 그 이상의 시퀀스들을 실행할 때 처리기(1004)에 의해 특정 동작들을 수행한다. 상기 프로그램 명령들은 저장 디바이스(1008) 같은 다른 컴퓨터 판독 가능 매체로부터 시스템 메모리(1006)에 판독될 수 있다. 몇몇 실시예들에서, 배선 회로는 본 발명의 실시예들을 실행하기 위하여 소프트웨어 프로그램 명령들 대시 또는 상기 소프트웨어 프로그램 명령과 결합하여 사용될 수 있다.In some embodiments, the host computing device 114 performs certain operations by the processor 1004 when executing one or more sequences of one or more program instructions stored in the system memory 1006. The program instructions may be read into the system memory 1006 from another computer readable medium, such as the storage device 1008. In some embodiments, a wiring circuit may be used in combination with the software program instructions dash or the software program instructions to carry out 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 any suitable medium that participates in providing program instructions to the processor 1004 for execution. The medium may take forms including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media may include, for example, optical or magnetic disks, such as storage device 1008. The volatile media may include dynamic memory, such as system memory 1006. The transmission medium includes coaxial cables, copper wires, and optical fibers with wires comprising a 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 (e.g., floppy disks, flexible disks, hard disks, magnetic tape, and other magnetic media), optical media (E.g., CD-ROMs and other optical media), physical media (e.g., punch cards, paper tape, any other physical media) with patterns, memory chips or cartridges, , Read only memory (EPROM), flash memory, and other memory chips or cartridges), and any other computer readable medium.

몇몇 실시예들에서, 실시예들을 실행하기 위한 프로그램 명령들의 시퀀스 실행은 단일 컴퓨팅 디바이스(114)에 의해 수행될 수 있다. 다른 실시예들에서, 통신 링크(1020)(예를 들어, 로컬 영역 네트워크(LAN), 공용 스위칭 전화 네트워크들(PSTN), 무선 네트워크, 및 다른 통신 링크들)에 의해 결합된 호스트 컴퓨팅 디바이스(114) 같은 둘 또는 그 이상의 컴퓨터 시스템들은 서로 협조하여 실시예들을 실행하기 위한 프로그램 명령들의 시퀀스를 수행할 수 있다. 게다가, 컴퓨팅 디바이스(114)는 통신 링크(1020) 및 통신 인터페이스(1012)를 통하여 프로그램, 즉 애 플리케이션 코드를 포함하는 메시지들, 데이터, 및 명령들을 전송 및 수신할 수 있다. 수신된 프로그램 명령들은 프로그램 명령들이 저장 디바이스(1008), 또는 추후 실행을 위해 다른 비휘발성 저장소에 수신 및/또는 저장될 때 처리기(1004)에 의해 실행될 수 있다.In some embodiments, the sequential execution of program instructions to perform embodiments may be performed by a single computing device 114. In other embodiments, a host computing device 114 (e.g., a local area network (LAN), a public switched telephone network (PSTN), a wireless network, and other communication links) coupled by a communication link 1020 ) May cooperate with one another to perform a sequence of program instructions for executing the embodiments. In addition, the computing device 114 may transmit and receive messages, data, and instructions, including applications, i.e., application code, via the communications link 1020 and the communications interface 1012. The received program instructions may be executed by the processor 1004 when the program instructions are received and / or stored in the 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 controller 1102 in communication with memory 1104. In general, controller 1102 controls the operation of memory 1106. Examples of operations include data writing (or programming), data reading, data erasing, data verification, and other operations. Controller 1102 may also be configured to generate parameters based on parameters associated with licenses and content, and to generate session tickets based on parameters and numbers, and configured for other operations as 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)는 제거할 수 없는 메모리 디바이스로서 실행될 수 있다. The memory device 116 may include various non-volatile memory structures and techniques. Examples of memory technologies include flash memories (e.g., NAND, NOR, SLC / BIN, MLC, segmented bit-line NOR (DINOR) (HiCR), asymmetric contactless transistors (ACT), and other flash memories), erasable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM) Memory (OTP), and other memory technologies. In one embodiment, the memory device 116 may be a flash memory card using flash memory. Examples of flash memory cards include Secure Digital TM (compliant with specifications maintained by the SD Card Association of San Ramon, California), specifications maintained by MultiMediaCard TM (Palo Alto, California, MultiMediaCard Association ("MMCA &Quot;), MiniSD TM (manufactured by SanDisk, Inc.), MicroSD TM (manufactured by SanDisk, Inc.), CompactFlash TM (Palo Alto, California, CompactFlash Association XD-Picture Card (xD-Picture Card Licensing, Tokyo, Japan), SmartMedia (conforming to the specifications maintained by Yokohama, Japan's Solid State Floppy Disk Card ("SSFDC" Conform to the specifications maintained by Office), Memory Stick (conforms to the specifications maintained by Yokohama, Japan's Solid State Floppy Disk Card ("SSFDC") Forum), TransFlash TM (SanDisk, Inc. , ≪ / RTI > and other flash memory cards. In another embodiment, the 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 include embodiments that may be used in the embodiments described herein. Each of these patent documents is 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 U.S. Patent Application 11 / 599,655; U.S. Patent Application 11 / 600,270 entitled " Apparatuses for Linking Content with License "; U.S. Patent Application 11 / 600,273 entitled " Apparatuses for Accessing Content Based on a Session Ticket "; U.S. Patent Application 11 / 600,262, entitled " Methods for Binding Content to a Separate Memory Device "; U.S. Patent Application 11 / 600,245 entitled " Apparatuses for Binding Content to a Separate Memory Device "; U.S. Patent Application 11 / 599,994, entitled " Method for Allowing Multiple Users to Access Preview Content "; U.S. Patent Application 11 / 599,995 entitled " System for Allowing Multiple Users to Access Preview Content "; "Method for Allowing content Protected by a First DRM System to Be Accessed by a Second DRM System" of U.S. Patent Application 11 / 600,005; U.S. Patent Application 11 / 599,991 entitled " System for Allowing Content Protected by a First DRM System to Be Accessed by a Second DRM System "; U.S. Patent Application 11 / 600,300 entitled " Method for Connecting to a Network Location Associated with Content "; And United States Patent Application 11 / 600,006 entitled " System for Connection to a Network Location Associated with Content ".

비록 상기 실시예들이 이해의 명확화를 위해 몇몇 항목에서 기술되었지만, 실시예들은 제공된 항목들로 제한되지 않는다. 실시예들을 실행하는 많은 다른 방식들이 있다. 따라서, 개시된 실시예들은 도시되는 것이고 제한되지 않는 것이 고려되며, 실시예들은 여기에 제공된 항목들로 제한되지 않고, 첨부된 청구항들의 범위 및 등가물들 내에서 변형될 수 있다. 청구항들에서, 엘리먼트들 및/또는 동작들은 만약 청구항들에 명확하게 언급되지 않으면 임의의 특정 동작 순서를 의미하지 않는다.Although the above embodiments have been described in several items for clarity of understanding, the embodiments are not limited to the items provided. There are many different ways of implementing the embodiments. Accordingly, the disclosed embodiments are to be considered as illustrative and not restrictive, and the embodiments are not intended to be limited to the items provided herein, but may be modified within the scope and equivalents of the appended claims. In the claims, elements and / or actions are not meant to imply any particular order of operation unless explicitly stated in the claims.

상술한 바와 같이, 본 발명은, 일반적으로는 콘텐트 액세스, 보다 구체적으로는 콘텐트를 라이센스와 연결하고 세션 티켓을 바탕으로 콘텐트에 액세스하는 방법을 제공하는데 사용된다.As described above, the present invention is generally used to provide content access, and more particularly, to provide a method for connecting content with a license and accessing content based on a session ticket.

Claims (37)

메모리 디바이스 상에 저장된 콘텐트에 액세스하기 위한 방법으로서, 상기 방법은 :A method for accessing content stored on a memory device, the method comprising: 암호화 키에 의해 암호화된 콘텐트를 메모리 디바이스에 저장하는 단계;Storing the content encrypted by the encryption key in a memory device; 세션 티켓 및 상기 콘텐트를 액세스하기 위한 요청을 호스트 컴퓨팅 디바이스로부터 수신하고, 상기 세션 티켓은 이미 상기 호스트 컴퓨팅 디바이스로 제공되었으며 세션과 연관된 값을 갖고 다른 세션들에서 값을 변화시키는 변수를 갖는 상기 암호화 키와 연관된 파라미터를 암호화함으로써 상기 메모리 디바이스에 의해 생성된 단계;Receiving a session ticket and a request for accessing the content from a host computing device, the session ticket having a value that is already provided to the host computing device and has a value associated with the session, A step generated by the memory device by encrypting a parameter associated with the memory device; 상기 변수를 갖는 상기 세션 티켓을 해독함으로써 상기 세션 티켓으로부터 상기 암호화 키와 연관된 상기 파라미터를 추출하도록 시도하며, 만일 상기 세션이 변하지 않았다면, 상기 변수의 값은 변하지 않았고, 상기 암호화 키와 연관된 상기 파라미터는 상기 세션 티켓으로부터 추출되는 단계;Attempting to extract the parameter associated with the encryption key from the session ticket by decrypting the session ticket with the variable; if the session has not changed, the value of the variable has not changed; and the parameter associated with the encryption key is Extracting from the session ticket; 만일 상기 암호화 키와 연관된 상기 파라미터가 상기 세션 티켓으로부터 추출되면 :If the parameter associated with the encryption key is extracted from the session ticket: 상기 파라미터에 근거하여 상기 암호화 키를 획득하는 단계;Obtaining the encryption key based on the parameter; 상기 암호화 키를 사용하여 상기 콘텐트를 해독하는 단계;Decrypting the content using the encryption key; 상기 콘텐트를 상기 호스트 컴퓨팅 디바이스로 전송하는 단계;Sending the content to the host computing device; 를 포함하는 콘텐트에 액세스하기 위한 방법./ RTI > of the content. 삭제delete 제 1항에 있어서, 상기 파라미터는 상기 암호화 키에 대한 레퍼런스(referen -ce)인, 콘텐트에 액세스하기 위한 방법.2. The method of claim 1, wherein the parameter is a reference to the encryption key. 제 1항에 있어서, 상기 파라미터는 암호화 논스(cryptographic nonce)이고, 상기 암호화 논스는 상기 암호화 키를 생성하기 위하여 사용되는, 콘텐트에 액세스하기 위한 방법.2. The method of claim 1, wherein the parameter is a cryptographic nonce and the encryption policy is used to generate the encryption key. 제 1항에 있어서, 상기 변수는 수(數)인, 콘텐트에 액세스하기 위한 방법.2. The method of claim 1, wherein the variable is a number. 제 5항에 있어서, 상기 수는 다른 세션들에서 임의로 변화하도록 구성되는, 콘텐트에 액세스하기 위한 방법.6. The method of claim 5, wherein the number is configured to change randomly in other sessions. 제 1항에 있어서, 상기 세션은 임의의 시간에 걸쳐 있는, 콘텐트에 액세스하기 위한 방법.2. The method of claim 1, wherein the session spans any time. 제 1항에 있어서, 상기 세션은 상기 호스트 컴퓨팅 디바이스가 재시작될 때 만료하는, 콘텐트에 액세스하기 위한 방법.2. The method of claim 1, wherein the session expires when the host computing device is restarted. 제 1항에 있어서, 상기 세션은 상기 메모리 디바이스가 상기 호스트 컴퓨팅 디바이스로부터 분리될 때 만료하는, 콘텐트에 액세스하기 위한 방법.2. The method of claim 1, wherein the session expires when the memory device is disconnected from the host computing device. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 메모리 디바이스로서,13. A memory device comprising: 암호화 키에 의해 암호화된 콘텐트를 저장하도록 동작하는 메모리와;A memory operative to store content encrypted by an encryption key; 상기 메모리와 통신하는 제어기;A controller in communication with the memory; 를 포함하고,Lt; / RTI > 상기 제어기는 :The controller comprising: 세션 티켓 및 상기 콘텐트를 액세스하기 위한 요청을 호스트 컴퓨팅 디바이스로부터 수신하고, 상기 세션 티켓은 이미 상기 호스트 컴퓨팅 디바이스로 제공되었으며 세션과 연관된 값을 갖고 다른 세션들에서 값을 변화시키는 변수를 갖는 상기 암호화 키와 연관된 파라미터를 암호화함으로써 상기 메모리 디바이스에 의해 생성되었고;Receiving a session ticket and a request for accessing the content from a host computing device, the session ticket having a value that is already provided to the host computing device and has a value associated with the session, By the memory device by encrypting a parameter associated with the memory device; 상기 변수를 갖는 상기 세션 티켓을 해독함으로써 상기 세션 티켓으로부터 상기 암호화 키와 연관된 상기 파라미터를 추출하도록 시도하며, 만일 상기 세션이 변하지 않았다면, 상기 변수의 값은 변하지 않았고, 상기 암호화 키와 연관된 상기 파라미터는 상기 세션 티켓으로부터 추출되며;Attempting to extract the parameter associated with the encryption key from the session ticket by decrypting the session ticket with the variable; if the session has not changed, the value of the variable has not changed; and the parameter associated with the encryption key is Extracted from the session ticket; 만일 상기 암호화 키와 연관된 상기 파라미터가 상기 세션 티켓으로부터 추출되면 :If the parameter associated with the encryption key is extracted from the session ticket: 상기 파라미터에 근거하여 상기 암호화 키를 획득하고,Acquiring the encryption key based on the parameter, 상기 암호화 키를 사용하여 상기 콘텐트를 해독하며,Decrypt the content using the encryption key, 상기 콘텐트를 상기 호스트 컴퓨팅 디바이스로 전송하도록,To transmit the content to the host computing device, 동작하는 메모리 디바이스.Operating memory device. 삭제delete 제 19항에 있어서, 상기 파라미터는 상기 암호화 키에 대한 레퍼런스인, 메모리 디바이스.20. The memory device of claim 19, wherein the parameter is a reference to the encryption key. 제 19항에 있어서, 상기 파라미터는 암호화 논스이고, 상기 암호화 논스는 상기 암호화 키를 생성하기 위해 사용되는, 메모리 디바이스.20. The memory device of claim 19, wherein the parameter is an encryption nonce and the encryption key is used to generate the encryption key. 제 19항에 있어서, 상기 세션은 임의의 시간 기간에 걸쳐 있는, 메모리 디바이스.20. The memory device of claim 19, wherein the session spans an arbitrary time period. 제 19항에 있어서, 상기 세션은 상기 호스트 컴퓨팅 디바이스가 재시작될 때 만료하는, 메모리 디바이스.20. The memory device of claim 19, wherein the session expires when the host computing device is restarted. 제 19항에 있어서, 상기 세션은 상기 메모리 디바이스가 상기 호스트 컴퓨팅 디바이스로부터 분리될 때 만료하는, 메모리 디바이스.20. The memory device of claim 19, wherein the session expires when the memory device is disconnected from the host computing device. 메모리 디바이스로서,13. A memory device comprising: 메모리와;A memory; 상기 메모리와 통신하는 제어기;A controller in communication with the memory; 를 포함하고,Lt; / RTI > 상기 제어기는,The controller comprising: 세션과 연관된 값을 갖고 다른 세션들에서 값을 변화시키는 변수를 갖는 상기 암호화 키와 연관된 파라미터를 암호화함으로써 세션 티켓을 생성하고;Generating a session ticket by encrypting a parameter associated with the encryption key having a value associated with the session and changing a value in the other sessions; 상기 세션 티켓을 호스트 컴퓨팅 디바이스로 제공하며;Providing the session ticket to a host computing device; 상기 세션 티켓 및 콘텐트를 액세스하기 위한 요청을 호스트 컴퓨팅 디바이스로부터 수신하고;Receive a request for accessing the session ticket and content from a host computing device; 상기 변수를 갖는 상기 세션 티켓을 해독함으로써 상기 세션 티켓으로부터 상기 암호화 키와 연관된 상기 파라미터를 추출하도록 시도하며, 만일 상기 세션이 변하지 않았다면, 상기 변수의 값은 변하지 않았고, 상기 암호화 키와 연관된 상기 파라미터는 상기 세션 티켓으로부터 추출되며;Attempting to extract the parameter associated with the encryption key from the session ticket by decrypting the session ticket with the variable; if the session has not changed, the value of the variable has not changed; and the parameter associated with the encryption key is Extracted from the session ticket; 만일 상기 암호화 키와 연관된 상기 파라미터가 상기 세션 티켓으로부터 추출되면 :If the parameter associated with the encryption key is extracted from the session ticket: 상기 파라미터에 근거하여 상기 암호화 키를 획득하고,Acquiring the encryption key based on the parameter, 상기 암호화 키를 사용하여 상기 콘텐트를 해독하며,Decrypt the content using the encryption key, 상기 콘텐트를 상기 호스트 컴퓨팅 디바이스로 전송하도록,To transmit the content to the host computing device, 구성되는, 메모리 디바이스.≪ / RTI > 삭제delete 제 26항에 있어서, 상기 변수는 임의로 변하도록 구성된 수(數)인, 메모리 디바이스.27. The memory device of claim 26, wherein the variable is a number configured to vary arbitrarily. 제 26항에 있어서, 상기 세션은 임의의 시간 기간에 걸쳐 있는, 메모리 디바이스.27. The memory device of claim 26, wherein the session spans an arbitrary time period. 제 26항에 있어서, 상기 세션은 상기 호스트 컴퓨팅 디바이스가 재시작될 때 만료하는, 메모리 디바이스.27. The memory device of claim 26, wherein the session expires when the host computing device is restarted. 제 26항에 있어서, 상기 세션은 상기 메모리 디바이스가 상기 호스트 컴퓨팅 디바이스로부터 분리될 때 만료하는, 메모리 디바이스.27. The memory device of claim 26, wherein the session expires when the memory device is disconnected from the host computing device. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
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 US20080112566A1 (en) 2006-11-14 2006-11-14 Apparatuses for accessing content based on a session ticket
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,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 KR20090091750A (en) 2009-08-28
KR101450131B1 true 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)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015257A (en) * 2002-06-05 2004-01-15 Sanyo Electric Co Ltd Content reproducing apparatus

Family Cites Families (8)

* 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
EP1278331A4 (en) * 2000-03-30 2006-06-07 Sanyo Electric Co Content data storage
US20040019801A1 (en) * 2002-05-17 2004-01-29 Fredrik Lindholm Secure content sharing in digital rights management
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015257A (en) * 2002-06-05 2004-01-15 Sanyo Electric Co Ltd Content reproducing apparatus

Also Published As

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

Similar Documents

Publication Publication Date Title
US6606707B1 (en) Semiconductor memory card
US8763110B2 (en) Apparatuses for binding content to a separate memory device
US9075957B2 (en) Backing up digital content that is stored in a secured storage device
US8533807B2 (en) Methods for accessing content based on a session ticket
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
US20070083939A1 (en) Secure universal serial bus (USB) storage device and method
US20080115211A1 (en) Methods 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
KR20090101900A (en) Methods and apparatuses for binding content to a seperate memory device
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
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

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