KR101555241B1 - Portable storage device and method for managing resource of the portable storage device - Google Patents
Portable storage device and method for managing resource of the portable storage device Download PDFInfo
- Publication number
- KR101555241B1 KR101555241B1 KR1020080055397A KR20080055397A KR101555241B1 KR 101555241 B1 KR101555241 B1 KR 101555241B1 KR 1020080055397 A KR1020080055397 A KR 1020080055397A KR 20080055397 A KR20080055397 A KR 20080055397A KR 101555241 B1 KR101555241 B1 KR 101555241B1
- Authority
- KR
- South Korea
- Prior art keywords
- drm application
- drm
- portable storage
- storage device
- application
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 휴대용 저장장치 및 휴대용 저장장치의 자원 관리 방법에 관한 것이다. The present invention relates to a portable storage device and a method for managing resources of the portable storage device.
본 발명의 실시예에 따른 휴대용 저장장치의 자원 관리 방법은 휴지 상태의 제1 DRM 어플리케이션의 작업 처리가 필요한 경우, 상기 제1 DRM 어플리케이션을 준비 상태로 전환하는 단계; 및 휴지 상태의 제2 DRM 어플리케이션의 작업 처리가 필요한 경우, 상기 제1 DRM 어플리케이션을 대기 상태로 전환하고, 상기 제2 DRM 어플리케이션을 준비 상태로 전환하는 단계를 포함한다. A method of managing a resource of a portable storage device according to an exemplary embodiment of the present invention includes switching a first DRM application to a ready state when a first DRM application in a dormant state needs to process a job; And switching the first DRM application to a standby state and switching the second DRM application to a ready state when a work process of the second DRM application in the idle state is required.
휴대용 저장장치, DRM, 동작 상태 Portable storage device, DRM, operating status
Description
본 발명은 휴대용 저장장치에 관한 것으로서, 더욱 상세하게는 휴대용 저장장치의 제한된 자원을 효율적으로 관리하는 방법 및 이를 이용한 휴대용 저장장치에 관한 것이다.The present invention relates to a portable storage device, and more particularly, to a method for efficiently managing limited resources of a portable storage device and a portable storage device using the same.
최근에 디지털 저작권 관리(Digital Rights Management; 이하, "DRM"이라 함)에 관한 연구가 활발하며, DRM을 적용한 상용 서비스들이 도입되었거나 도입 중에 있다. DRM은 무단 복제 및 배포가 용이한 디지털 컨텐츠를 보호하기 위한 기술 개념이다. Recently, studies on digital rights management (DRM) have been actively conducted, and DRM-based commercial services have been introduced or being introduced. DRM is a technology concept for protecting digital content that is easy to copy and distribute.
디지털 컨텐츠를 보호하고자 하는 노력은 종래에도 있었으나, 이는 디지털 컨텐츠에 대한 무단 접근 방지에 중점을 두고 있었다. 예컨데 디지털 컨텐츠에 대한 접근(access)은 대가를 지불한 사용자에게만 허용되었으며, 대가를 지불하지 않은 사용자는 디지털 컨텐츠에 접근할 수 없었다. 그러나 디지털 데이터의 특성상 디지털 컨텐츠는 재사용, 가공, 복제 및 배포가 용이하다. 따라서 대가를 지불하고 디지털 컨텐츠에 접근한 사용자가 이를 무단으로 복제 또는 배포할 경우에는 대 가를 지불하지 않은 사용자도 디지털 컨텐츠를 사용할 수 있게 된다. Efforts to protect digital contents have been made in the past, but this has focused on preventing unauthorized access to digital contents. For example, access to digital content was allowed only to the user who paid the price, and users who did not pay the digital content could not access the digital content. However, due to the nature of digital data, digital contents are easy to reuse, process, copy and distribute. Therefore, if a user who accesses digital content by paying a price is copying or distributing it without permission, a user who has not paid a fee can use the digital content.
이러한 문제점을 보완하기 위해 DRM은 디지털 컨텐츠를 암호화하여 배포하도록 하고, 암호화된 디지털 컨텐츠를 사용하기 위해서는 권리객체(Right Object; RO)라는 특정 라이센스가 필요하도록 한다.To solve this problem, DRM encrypts and distributes digital contents, and a specific license called a right object (RO) is required to use encrypted digital contents.
사용자는 휴대폰이나 PDA와 같이 디지털 컨텐츠를 재생시키려는 디바이스에 암호화된 디지털 컨텐츠 및 권리객체를 저장할 수 있다. 그러나 최근에는 암호화된 디지털 컨텐츠나 권리객체의 보관 및 배포를 간편히 하기 위해 메모리 스틱이나 멀티미디어카드(Multi-Media Card; MMC)와 같은 휴대용 저장장치를 통해 권리객체를 관리하도록 하는 기술이 개발되고 있다. 본 발명은 휴대용 저장장치의 자원을 효율적으로 사용하는데 그 목적이 있다.A user can store encrypted digital content and rights objects in a device such as a cellular phone or a PDA that is intended to play digital content. However, in recent years, techniques for managing rights objects through a portable storage device such as a memory stick or a Multi-Media Card (MMC) have been developed to facilitate the storage and distribution of encrypted digital contents or rights objects. An object of the present invention is to efficiently use resources of a portable storage device.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 휴대용 저장장치의 자원 관리 방법은 휴지 상태의 제1 DRM 어플리케이션의 작업 처리가 필요한 경우, 상기 제1 DRM 어플리케이션을 준비 상태로 전환하는 단계; 및 휴지 상태의 제2 DRM 어플리케이션의 작업 처리가 필요한 경우, 상기 제1 DRM 어플리케이션을 대기 상태로 전환하고, 상기 제2 DRM 어플리케이션을 준비 상태로 전환하는 단계를 포함한다. According to another aspect of the present invention, there is provided a method for managing a resource of a portable storage device, the method comprising: switching a first DRM application to a ready state when a first DRM application in a dormant state needs to be processed; And switching the first DRM application to a standby state and switching the second DRM application to a ready state when a work process of the second DRM application in the idle state is required.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 휴대용 저장장치는 적어도 하나의 DRM 어플리케이션을 실행시키는 어플리케이션 구동부, 및 상기 실행 되는 DRM 어플리케이션의 동작 상태에 따라서, 상기 DRM 어플리케이션의 작업 처리를 위한 메모리 공간을 할당하거나 상기 DRM 어플리케이션의 세션 컨텍스트 정보를 보안 저장 영역에 저장시키는 제어부를 포함한다. In order to achieve the above object, a portable storage device according to an embodiment of the present invention includes an application driver for executing at least one DRM application, and a memory for processing a job of the DRM application, And a controller for allocating space or storing session context information of the DRM application in the secure storage area.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and drawings.
먼저 본 발명에서 사용되는 용어에 대한 개략적인 설명을 한다. 용어의 설명은 본 발명의 이해를 돕기 위한 것이다. 따라서 본 발명의 상세한 설명에 있어서 명시적으로 한정하지 않는 한, 이하 설명되는 용어들이 본 발명의 기술적 사상을 한정하는 의미로 사용되는 것이 아님을 주의해야 한다.First, a brief description will be given of terms used in the present invention. The description of the terms is intended to assist in understanding the present invention. Therefore, it should be noted that the terms described below are not used to limit the technical spirit of the present invention unless explicitly defined in the detailed description of the present invention.
- 컨텐츠 객체- content object
컨텐츠 객체는 디지털 저작권 관리(Digital Rights Management; DRM)으로 보호되는 디지털 컨텐츠이다. 즉, 컨텐츠 객체는 컨텐츠 암호화 키에 의해 암호화된 상태의 디지털 컨텐츠이다. 여기서 디지털 컨텐츠는 동영상, 정지영상, 오디오, 게임, 텍스트 등 그 종류에 제한되지 않는다. The content object is digital content protected by digital rights management (DRM). That is, the content object is digital content encrypted by the content encryption key. Here, the digital contents are not limited to the types of moving pictures, still images, audio, games, text, and the like.
- 권리객체 (Rights Object; RO)- Rights Object (RO)
권리객체는 컨텐츠 객체에 대한 사용 권한을 갖는 일종의 라이센스이다. 권리객체는 컨텐츠 암호화 키, 권리객체를 이용하여 컨텐츠 객체를 재생(play back)시킬 수 있는 횟수나 기간, 또는 기한등을 나타내는 제한 정보, 및 컨텐츠 암호화 키로 재생(play back)시킬 수 있는 컨텐츠 객체를 식별할 수 있는 컨텐츠 객체 식 별자를 포함할 수 있다.A rights object is a kind of license having usage rights to a content object. The rights object includes a content encryption key, restriction information indicating the number of times or periods during which the content object can be played back using the rights object, time limit or the like, and a content object that can be played back with the content encryption key And may include an identifiable content object identifier.
- 호스트 디바이스- host device
호스트 디바이스는 휴대용 저장장치와 연결 가능하며, 권리객체(Rights Object)를 소비하여 컨텐츠 객체를 재생(play back)시킬 수 있는 디지털 장치를 의미한다. 호스트 디바이스는 휴대폰, PDA, MP3 플레이어 등의 휴대용 컨텐츠 재생 장치이거나, 데스크탑 컴퓨터, 디지털 TV와 같은 고정형 컨텐츠 재생 장치일 수 있다. A host device is a digital device that can be connected to a portable storage device and can play back a content object by consuming a rights object. The host device may be a mobile content playback device such as a mobile phone, a PDA, or an MP3 player, or a fixed content playback device such as a desktop computer or a digital TV.
- 휴대용 저장장치- Portable storage
휴대용 저장장치는 플래시 메모리와 같이 데이터를 읽고 쓰고 지울 수 있는 성질을 갖는 비휘발성 메모리를 포함하고, 데이터에 대한 소정의 연산 능력을 가지며, 호스트 디바이스와의 연결 및 분리가 용이한 저장장치를 의미한다. 휴대용 저장장치의 예로써 스마트 미디어, 메모리 스틱, CF카드, XD카드, SD카드, 멀티미디어카드 등을 들 수 있다. The portable storage device refers to a storage device including a nonvolatile memory having a property of reading, writing and erasing data, such as a flash memory, having a predetermined computing capability for data, and being easily connected to and detached from a host device . Examples of portable storage devices include smart media, memory sticks, CF cards, XD cards, SD cards, multimedia cards, and the like.
- 공개키 암호화(Public-key Cryptography) - Public-key Cryptography
공개키 암호화는 비대칭키 암호화라고도 하는데, 데이터를 암호화하는데 사용되는 키와 데이터를 복호화하는데 사용되는 키가 서로 다른 키로 구성되는 암호화 방식이다. 공개키 암호화 방식에서 사용되는 키는 공개키(public key)와 개인키(private key)의 쌍으로 이루어진다. 공개키는 비밀로 보관될 필요가 없으며 다른 장치에게 손쉽게 알려질 수 있고, 개인키는 특정 장치 자신만이 알고 있어야 한다. 공개키 암호화 알고리즘의 예로는 Diffie-Hellman 방식, RSA 방식, ElGamal 방식, 및 타원곡선(Elliptic Curve) 방식 등이 있다. Public key cryptography, also called asymmetric key cryptography, is an encryption scheme in which keys used to encrypt data and keys used to decrypt data are composed of different keys. The key used in the public key cryptosystem consists of a pair of a public key and a private key. The public key does not need to be kept secret and can be easily known to other devices, and the private key must be known only to the particular device itself. Examples of the public key encryption algorithm include a Diffie-Hellman method, an RSA method, an ElGamal method, and an elliptic curve method.
- 대칭키 암호화(Symetric-key Criptography)- Symmetric-key Cryptography
대칭키 암호화는 비밀키 암호화라고도 하며, 데이터를 암호화하는데 사용되는 키와 데이터를 복호화하는데 사용되는 키가 동일한 키로 구성되는 암호화 방식이다. 대칭키 암호화의 예로는 DES 방식과 AES 방식을 들 수 있다.Symmetric key encryption is also referred to as secret key encryption, and is an encryption method in which a key used for encrypting data and a key used for decrypting data are the same. Examples of symmetric key encryption include the DES scheme and the AES scheme.
- 난수- random number
임의성을 갖는 숫자열, 문자열, 또는 이들의 조합을 의미한다.Quot; means a string of numbers, strings, or combinations thereof having randomness.
이상에서 설명되지 않은 용어는 이하 필요한 부분에서 별도로 설명할 것이다. 이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.The terms not described above will be described separately below in the necessary parts. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 DRM 개념을 나타낸 도면이다. FIG. 1 is a diagram illustrating a DRM concept according to an embodiment of the present invention. Referring to FIG.
사용자는 호스트 디바이스(110)를 통해 컨텐츠 공급자(130)로부터 컨텐츠 객체를 획득할 수 있다. 컨텐츠 공급자(130)가 공급하는 컨텐츠 객체를 사용하기 위해서는 권리객체가 필요하다. 따라서, 사용자는 일정한 대가를 지불하고 권리객체 발행기관(140)으로부터 컨텐츠 객체를 실행시킬 수 있는 권리객체를 구입할 수 있다. 이때 권리객체 발행기관(140)은 컨텐츠 공급자(130)에게 권리객체 발행 내역을 보고할 수 있다. 경우에 따라서는 권리객체 발행기관(140)과 컨텐츠 공급자(130)가 동일 주체일 수도 있다.A user may obtain the content object from the
한편, 사용자는 구입한 권리객체를 호스트 디바이스(110)에 저장시켜 둘 수도 있지만, 본 발명의 일 실시예에 따라서 휴대용 저장장치(120)에 저장시킬 수도 있다. 물론, 휴대용 저장장치(120)는 그 생산시부터 하나 이상의 권리객체를 저장하고 있을 수도 있다. Meanwhile, the user may store the purchased rights object in the
사용자는 권리객체를 저장하고 있는 휴대용 저장장치(120)를 호스트 디바이스(110)와 연결시킬 수 있으며, 호스트 디바이스(110)는 컨텐츠 객체를 재생시키기 위해 휴대용 저장장치(120)에 저장된 권리객체를 사용할 수 있다. The user may connect the
도 2는 본 발명의 일 실시예에 따른 호스트 디바이스(110)와 휴대용 저장 장치(120)의 개략적인 스택 구조를 나타낸 도면이다. FIG. 2 is a diagram illustrating a schematic stack structure of a
호스트 디바이스(110)는 휴대용 저장 장치(120)와의 물리적 연결을 담당하는 인터페이스 계층(211), 휴대용 저장 장치(120)에 대해 메시지나 데이터의 송수신을 담당하는 전송 계층(transport layer, 212), 및 어플리케이션 계층(213)을 포함할 수 있다. 본 발명에서 어플리케이션 계층(213)은 복수의 디지털 저작권 관리(Digital Rights Management: DRM) 어플리케이션(213-1, 213-2, 213-n)을 지원할 수 있다. 어플리케이션 계층(213)이 지원 가능한 DRM 어플리케이션의 예로써, OMA DRM 어플리케이션, MS DRM 어플리케이션, open DRM 어플리케이션을 들 수 있다. 물론, 어플리케이션 계층(213)이 지원 가능한 DRM 어플리케이션의 종류가 이에 한정되는 것은 아니다.The
휴대용 저장 장치(120) 역시 호스트 디바이스(110)와 유사한 스택 구조를 포함할 수 있다. 구체적으로, 휴대용 저장 장치(120)는 호스트 디바이스(110)와의 물리적 연결을 담당하는 인터페이스 계층(221), 호스트 디바이스(110)에 대한 메시지나 데이터의 송수신을 담당하는 전송 계층(transport layer, 222), 및 어플리케 이션 계층(223)을 포함할 수 있다. 휴대용 저장 장치(120)의 어플리케이션 계층(223) 역시 복수의 DRM 어플리케이션(223-1, 223-2, 223-n)을 지원할 수 있다. The
호스트 디바이스(110)가 휴대용 저장장치(120)와 연결되어 휴대용 저장 장치(120)에 저장된 권리객체를 소비하기 전에, 호스트 디바이스(110)와 휴대용 저장 장치(120) 간에 상호인증(mutual authentication)이 수행될 수 있다. 상호인증은 호스트 디바이스(110)와 휴대용 저장장치(120) 간에 교환되는 데이터의 보안을 유지하기 위한 기초 과정이다. Mutual authentication between the
바람직하게는 호스트 디바이스(110)와 휴대용 저장 장치(120)의 DRM 어플리케이션 별로 상호인증이 수행될 수 있다. 예를 들어, 호스트 디바이스(110)가 OMA DRM 어플리케이션을 이용할 경우, 휴대용 저장 장치(120) 역시 OMA DRM 어플리케이션을 구동시키게 된다. 이때, 호스트 디바이스(110)와 휴대용 저장 장치(120)는 상호인증 작업을 통하여 OMA DRM 어플리케이션의 보안 세션(session)을 형성시킬 수 있다. 만약, OMA DRM 어플리케이션의 보안 세션이 형성되어 있는 상태에서, 호스트 디바이스(110)와 휴대용 저장 장치(120)가 MS DRM 어플리케이션을 이용하고자 할 경우, 호스트 디바이스(110)와 휴대용 저장 장치(120)는 MS DRM 어플리케이션의 보안 세션을 형성하기 위해 다시 상호인증 작업을 수행할 수 있다. 즉, DRM 어플리케이션을 구동시킬 때 마다 해당 DRM 어플리케이션을 위한 보안 세션이 형성될 수 있는 것이다. Preferably, mutual authentication can be performed for each DRM application of the
도 3은 본 발명의 일 실시예에 따른 상호인증 과정을 나타낸 흐름도이다. 3 is a flowchart illustrating a mutual authentication process according to an exemplary embodiment of the present invention.
본 실시예에서 호스트 디바이스(110)와 휴대용 저장장치(120) 간에 전송되는 데이터 중에서, 아래 첨자 'H'는 호스트 디바이스(110) 소유이거나 호스트 디바이스(110)가 생성한 데이터를 의미하고, 아래 첨자 'P'는 휴대용 저장장치(120) 소유이거나 휴대용 저장장치(120)가 생성한 데이터를 의미한다.Among the data transmitted between the
먼저 호스트 디바이스(110)와 휴대용 저장장치(120)가 연결되면, 호스트 디바이스(110)는 휴대용 저장장치(120)에게 상호인증 요청 메시지를 전송할 수 있다(S310). 상호인증 요청 메시지는 인증기관(Certification Authority)이 호스트 디바이스(110)에 대하여 발행한 인증서(Certificate)H를 포함할 수 있다. 인증서H는 호스트 디바이스(110)를 식별할 수 있는 IDH와 호스트 디바이스(110)의 공개키H를 포함할 수 있다. 또한, 인증서H는 인증기관의 개인키를 이용하여 전자서명 되어 있을 수 있다. First, when the
호스트 디바이스(110)로부터 상호인증 요청 메시지를 수신한 휴대용 저장장치(120)는 상호인증 요청 메시지에 포함된 인증서H가 유효한 것인지의 여부를 확인할 수 있다(S315). 인증서H의 유효성은 인증서 폐기 목록(Certificate Revocation List; CRL)을 이용하여 확인 가능하다. CRL은 휴대용 저장장치(120)가 생상될 때부터 휴대용 저장장치(120)에 저장되어 있던 것일 수도 있고, 휴대용 저장장치(120)가 사전에 호스트 디바이스(110)나 다른 장치와 연결되었을 때에, 호스트 디바이스(110)나 다른 장치를 통하여 획득해둔 것일 수도 있다. Upon receiving the mutual authentication request message from the
만약, 호스트 디바이스(110)의 인증서H가 CRL에 등록된 인증서라면, 휴대용 저장장치(120)는 인증서H가 유효하지 않은 것으로 판단하고, 호스트 디바이스(110)와의 상호인증을 거부할 수 있다. 그러나 호스트 디바이스(110)의 인증서H가 CRL에 등록되지 않은 인증서라면, 휴대용 저장장치(120)는 인증서H가 유효한 것으로 판단하고, 인증서H로부터 호스트 디바이스(110)의 공개키H를 획득할 수 있다(S320).If the certificate H of the
또한, 휴대용 저장장치(120)는 난수P를 생성하고(S325), 생성된 난수P를 호스트 디바이스(110)의 공개키H로 암호화할 수 있다(S330). Further, the
그 후, 휴대용 저장장치(120)은 상호인증 응답 메시지를 호스트 디바이스(110)에게 전송할 수 있다(S335). 상호인증 응답 메시지는 인증기관이 휴대용 저장장치(120)에 대하여 발행한 인증서P 및 과정 S330에서 암호화된 난수P를 포함할 수 있다. 여기서 인증서P는 휴대용 저장장치(120)를 식별할 수 있는 IDP와 휴대용 저장장치(120)의 공개키P를 포함할 수 있다. 또한, 인증서P는 인증기관의 개인키를 이용하여 전자서명 되어 있을 수 있다.The
휴대용 저장장치(120)로부터 상호인증 응답 메시지를 수신한 호스트 디바이스(110)는 상호인증 응답 메시지에 포함된 인증서P가 유효한지의 여부를 확인할 수 있다(S340). 인증서P의 유효성은 CRL을 이용하여 확인 가능하다. CRL은 호스트 디바이스(110)가 생상될 때부터 호스트 디바이스(110)에 저장되어 있던 것일 수도 있고, 호스트 디바이스(110)가 사전에 웹이나 이동통신망을 통하여 CRL 발급 기관(인 증서 발행 기관과 동일 주체일 수도 있다)에 접속하여 CRL 발급 기관으로부터 획득해둔 것일 수도 있다. 물론, CRL은 호스트 디바이스(110)가 사전에 다른 장치와 연결되어, 해당 장치로부터 획득해둔 것일수도 있다.Upon receiving the mutual authentication response message from the
만약, 휴대용 저장장치(120)의 인증서P가 CRL에 등록된 인증서라면, 호스트 디바이스(110)는 인증서P가 유효하지 않은 것으로 판단하고, 휴대용 저장장치(120)와의 상호인증을 중단할 수 있다. 그러나 휴대용 저장장치(120)의 인증서P가 CRL에 등록되지 않은 인증서라면, 호스트 디바이스(110)는 인증서P가 유효한 것으로 판단하고, 인증서P로부터 휴대용 저장장치(120)의 공개키P를 획득할 수 있다(S345). 또한, 호스트 디바이스(110)는 상호인증 응답 메시지에 포함된 암호화된 난수P를 자신의 개인키로 복호화하여, 난수P를 획득할 수 있다(S350).If the certificate P of the
호스트 디바이스(110)는 난수H를 생성하고(S355), 생성된 난수H를 과정 S345에서 획득한 휴대용 저장장치(120)의 공개키P로 암호화할 수 있다(S360).
그 후, 호스트 디바이스(200)는 휴대용 저장장치(300)에게 세션키 생성 메시지를 전송할 수 있다(S365). 세션키 생성 요청 메시지는 과정 S360에서 암호화된 난수H를 포함할 수 있다.Thereafter, the host device 200 may transmit a session key generation message to the portable storage device 300 (S365). The session key generation request message may include the encrypted random number H in step S360.
호스트 디바이스(110)로부터 세션키 생성 메시지를 수신한 휴대용 저장장치(120)는 세션키 생성 메시지에 포함된 암호화된 난수H를 자신의 개인키P로 복호화 하여 난수H를 획득할 수 있다(S370).Upon receiving the session key generation message from the
이에 따라서 호스트 디바이스(200)와 휴대용 저장장치(300)는 두개의 난수(난수H 및 난수P)를 공유하게 된다. 두개의 난수(난수H 및 난수P)를 공유한 호스트 디바이스(110)와 휴대용 저장장치(120)는 두개의 난수(난수H 및 난수S)를 사용하여 세션키를 생성할 수 있다(S375, S380). 이 때 호스트 디바이스(110)와 휴대용 저장장치(120)가 세션키를 생성하기 위해서 사용하는 키생성 알고리즘은 상호 동일하다. 따라서 호스트 디바이스(110)와 휴대용 저장장치(120)는 상호 동일한 세션키를 공유하게 된다. Accordingly, the host device 200 and the portable storage device 300 share two random numbers (a random number H and a random number P ). The
호스트 디바이스(110)와 휴대용 저장장치(120)는 상호인증 이후 상대방에게 전송할 데이터를 세션키로 암호화하고, 상대방으로부터 수신된 암호화된 데이터를 세션키로 복호화할 수 있다. 이에 따라서 호스트 디바이스(110)와 휴대용 저장장치(120) 간의 데이터 전송에 보안이 유지될 수 있다. The
이러한 상호인증 과정은 본 발명의 일 실시예일뿐이므로, 본 발명이 이에 한정되는 것은 아니다. 따라서, 도 3의 실시예에서 일부 과정이 생략되거나 새로운 과정이 추가될 수도 있으며, 상호인증 과정에서 교환되는 각종 정보나 파라미터 역시 실시예에 따라서 변경될 수 있다. Since the mutual authentication process is an embodiment of the present invention, the present invention is not limited thereto. Therefore, in the embodiment of FIG. 3, some processes may be omitted or new processes may be added, and various information and parameters exchanged in the mutual authentication process may be changed according to the embodiment.
앞서 설명한 바와 같이, 새로운 DRM 어플리케이션을 구동시킬 때 마다 도 3의 실시예와 같은 상호인증 작업이 수행될 수 있다. 따라서, 복수의 DRM 어플리케이션을 구동시킨다면, 상호인증 작업 역시 여러 번 수행될 수 있으며, 구동되는 DRM 어플리케이션 별로 보안 세션이 형성될 수 있다. As described above, the mutual authentication operation as in the embodiment of FIG. 3 can be performed each time a new DRM application is started. Therefore, if a plurality of DRM applications are driven, the mutual authentication operation can be performed many times, and a secure session can be formed for each DRM application to be driven.
휴대용 저장 장치(120)의 경우 호스트 디바이스(110)에 비해 데이터 처리 능력이 제한된다. 따라서, 휴대용 저장 장치(120)가 복수의 DRM 어플리케이션을 구동시킬 수 있다 하더라도, 복수의 DRM 어플리케이션이 동시에 작업을 처리하기에는 휴대용 저장 장치(120)의 메인 메모리나 연산 능력이 부족한 경우가 발생할 수도 있다. 본 발명의 일 실시예에 따른 휴대용 저장 장치(120)는 DRM 어플리케이션의 동작 상태를 설정함으로써, 한정된 자원을 이용하여 복수의 DRM 어플리케이션을 효과적으로 구동시킬 수 있다. In the case of the
도 4는 본 발명의 일 실시예에 따른 DRM 어플리케이션의 동작 상태를 나타낸 도면이다. 도시된 DRM 어플리케이션의 동작 상태는 휴지 상태(idle status, 401), 준비 상태(ready status, 402), 및 대기 상태(pending status, 403)로 구분될 수 있다. 휴지 상태(401)는 DRM 어플리케이션이 실행되고 있지 않는 상태를 나타낸다. 준비 상태(402)는 DRM 어플리케이션이 실행되고 있는 상태로서, 호스트 디바이스(110)의 요청에 따라서 작업을 수행하고 있거나 언제라도 작업을 수행할 수 있는 상태를 나타낸다. 대기 상태(403)는 DRM 어플리케이션이 실행되었으나 아직은 특정한 작업 수행이 필요치 않은 상태를 나타낸다. 4 is a diagram illustrating an operation state of a DRM application according to an embodiment of the present invention. The DRM application may be classified into an idle status 401, a
모든 DRM 어플리케이션의 초기 상태는 휴지 상태(401)인 것이 바람직하다. 만약, 제1 DRM 어플리케이션을 이용한 작업 처리가 필요하다면 휴대용 저장장치(120)는 제1 DRM 어플리케이션을 휴지 상태(401)에서 준비 상태(402)로 전환시킬 수 있다. 이 때, 휴대용 저장 장치(120)는 DRM 어플리케이션을 실행하거나 소정의 작업을 처리할 때 사용되는 코드, 데이터, 메시지, 기타 다양한 유형의 정보를 로딩해둘 수 있는 메인 메모리(예를 들어, RAM(Random Access Memory))에서 사전에 설정된 크기의 메모리 공간을 제1 DRM 어플리케이션의 작업 처리를 위해 할당할 수 있다. 할당될 메모리 공간의 크기는 제1 DRM 어플리케이션의 종류나 휴대용 저장 장치(120)의 성능 등에 따라서 달라질 수 있다. Preferably, the initial state of all DRM applications is a dormant state 401. If a work process using the first DRM application is needed, the
제1 DRM 어플리케이션이 준비 상태(402)에 있는 상황에서, 휴지 상태(401) 또는 대기 상태(403)에 있던 제2 DRM 어플리케이션을 이용한 작업 처리가 필요하다면, 휴대용 저장장치(120)는 제1 DRM 어플리케이션의 동작 상태를 대기 상태(403)로 전환시키고, 제2 DRM 어플리케이션의 동작 상태를 준비 상태(402)로 전환시킬 수 있다. 이 때, 휴대용 저장 장치(120)는 제1 DRM 어플리케이션을 위한 메모리 공간의 할당을 해제하고, 제1 DRM 어플리케이션이 처리하던 작업 데이터와 제1 DRM 어플리케이션의 보안 세션을 유지하기 위해 필요한 보안 정보(예를 들어 세션키)를 포함하는 세션 컨텍스트 정보를 보안 저장 영역에 저장시킬 수 있다. 그 후, 휴대용 저장장치(120)는 제2 DRM 어플리케이션의 작업 처리를 위해 필요한 메모리 공간을 할당할 수 있다. 이 때 할당되는 메모리 공간의 크기는 제2 DRM 어플리케이션의 종류나 휴대용 저장 장치(120)의 성능 등에 따라서 달라질 수 있다. If the first DRM application is in the
추후에, 제1 DRM 어플리케이션의 작업 처리가 필요하다면, 휴대용 저장 장치(120)는 제1 DRM 어플리케이션을 준비 상태(402)로 전환시키고 제1 DRM 어플리케이션의 작업 처리를 위한 메모리 공간을 할당할 수 있다. 이 때, 보안 저장 영역에 저장시켜두었던 제1 DRM 어플리케이션의 세션 컨텍스트 정보는 제1 DRM 어플리 케이션에게 할당한 메모리 공간으로 이동될 수 있다. 또한, 제2 DRM 어플리케이션은 대기 상태(403)로 전환되고, 제2 DRM 어플리케이션을 위한 메모리 공간의 할당은 해제될 수 있다. 물론, 이 경우에도 제2 DRM 어플리케이션의 세션 컨텍스트 정보는 보안 저장 영역에 저장될 수 있다. If the operation of the first DRM application is needed later, the
여기서, 보안 저장 영역은 다른 장치나 어플리케이션으로부터의 접근이 논리적 또는 물리적으로 차단된 저장 영역이며, 휴대용 저장장치(120)에 복수로 존재할 수도 있다. 보안 저장 영역에는 권리객체와 같이 보안이 필요한 다른 유형의 데이터나 정보가 저장될 수도 있는데, 세션 컨텍스트 정보는 다른 데이터가 저장되는 보안 저장 영역과는 분리된 보안 저장 영역에 저장되는 것이 바람직하다.Here, the secure storage area is a storage area in which access from other devices or applications is logically or physically blocked, and may exist in the
휴대용 저장장치(120)는 자신이 지원하는 각 DRM 어플리케이션의 동작 상태를 호스트 디바이스(110)의 요청에 따라서 변경할 수 있다. 표1은 호스트 디바이스(110)가 DRM 어플리케이션의 동작을 위해 휴대용 저장장치(120)에게 전송하는 메시지의 일 예를 나타낸 것이다. 물론 본 발명이 '메시지'이라는 용어에 의해 한정되는 것은 아니며, 인스트럭션, 커멘드, 요청(request), 이밖에도 정보나 데이터의 전달이나 작업의 수행을 위해 장치간에 전송되는 신호를 나타내는 다른 유형의 용어가 사용되어도 무방하다. The
표1에서 어플리케이션 개시 메시지는 휴지 상태의 DRM 어플리케이션을 준비 상태로 전환시킬 때 사용될 수 있으며, 어플리케이션 종료 메시지는 준비 상태나 대기 상태의 DRM 어플리케이션을 휴지 상태로 전환시킬 때 사용될 수 있다. In Table 1, the application start message can be used to switch the dormant DRM application into the ready state, and the application termination message can be used to switch the ready or standby DRM application to the dormant state.
또한, 어플리케이션 일시정지 메시지는 준비 상태의 DRM 어플리케이션을 대기 상태로 전환시킬 때 사용될 수 있으며, 어플리케이션 재개 메시지는 대기 상태의 DRM 어플리케이션을 준비 상태로 전환시킬 때 사용될 수 있다. In addition, the application suspension message can be used to switch the DRM application in the ready state to the standby state, and the application resume message can be used to switch the DRM application in the standby state to the ready state.
보안 전달 메시지는 DRM 어플리케이션의 동작 상태에는 영향을 미치지 않으며, 휴대용 저장장치(120)에게 정보를 전달할 때 사용될 수 있다. 보안 수신 메시지 역시 DRM 어플리케이션의 동작 상태에는 영향을 미치지 않으며, 휴대용 저장장치(120)에게 정보를 요청할 때 사용될 수 있다. 준비 상태(402)나 대기 상태(403)에 있던 중 오류가 발생한 경우 DRM 어플리케이션의 동작 상태는 휴지 상태(401)로 전환될 수 있다.The secure delivery message does not affect the operational state of the DRM application and can be used to convey information to the
호스트 디바이스(110)로부터 휴대용 저장장치(120)에게 전송되는 메시지에는 메시지에 따라서 동작할 DRM 어플리케이션을 식별할 수 있는 어플리케이션 식별자가 포함될 수 있다. 따라서, 휴대용 저장장치(120)는 호스트 디바이스(110)로부터 전송된 메시지를 적절한 DRM 어플리케이션에게 전달할 수 있다. The message transmitted from the
도 4에 도시된 바와 같이 DRM 어플리케이션이 준비 상태(402)나 대기 상태(403)에 있는 경우에도 어플리케이션 개시 메시지가 사용될 수 있는데, 이 때 DRM 어플리케이션의 세션 컨텍스트 데이터 중에서 보안 정보는 그대로 유지될 수 있으며, DRM 어플리케이션이 처리하던 작업 데이터는 삭제되거나 리셋(reset)될 수 있다. 즉, 준비 상태(402)나 대기 상태(403)에 있던 DRM 어플리케이션이 휴지 상태(401)를 거쳐서 준비 상태(402)로 전환될 경우에는 도 2에 도시된 바와 같은 상호인증 작업이 수행되어야 하지만, 준비 상태(402)나 대기 상태(403)에 있던 DRM 어플리케이션을 다시 준비 상태(402)로 전환시키는 경우 상호인증 작업이 생략될 수 있다. 4, an application start message may be used even when the DRM application is in the
도 5는 본 발명의 일 실시예에 따른 DRM 어플리케이션 구동 과정을 나타낸 흐름도이다. 본 실시예는 호스트 디바이스(110)와 휴대용 저장장치(120)는 각각 제1 DRM 어플리케이션과 제2 DRM 어플리케이션을 보유한 것으로 가정한 것이지만, 본 발명이 이에 한정되는 것은 아니다. 5 is a flowchart illustrating a DRM application process according to an embodiment of the present invention. The present embodiment assumes that the
휴대용 저장장치(120)의 제1 DRM 어플리케이션과 제2 DRM 어플리케이션의 초기 상태는 휴지 상태이다. 제1 DRM 어플리케이션을 이용하여 DRM 작업을 수행하고자 하는 호스트 디바이스(110)는 어플리케이션 개시 메시지를 휴대용 저장 장치(120)에게 전송할 수 있다(S510). 여기서, 어플리케이션 개시 메시지는 제1 DRM 어플리케이션의 어플리케이션 식별자를 포함할 수 있으며, 휴대용 저장장치(120)는 어플리케이션 식별자를 통해서 어플리케이션 개시 인스터럭션이 제1 DRM 어플리케이션을 위한 것임을 알 수 있다. 이하에서, 별도의 설명이 없더라도 휴대용 저장장치(120)는 호스트 디바이스(110)로부터 전송된 메시지에 포함되는 어플리케이션 식별자를 통해서, 해당 메시지가 어떠한 DRM 어플리케이션을 위한 것인지 알 수 있다. The initial states of the first DRM application and the second DRM application of the
호스트 디바이스(110)로부터 어플리케이션 개시 메시지가 수신되면, 휴대용 저장장치는(120)는 제1 DRM 어플리케이션의 동작 상태를 준비 상태로 전환시킬 수 있다(S512). 즉, 과정 S512에서 제1 DRM 어플리케이션이 실행될 수 있다. 이 때, 휴대용 저장 장치(120)는 준비 상태로 전환되는 제1 DRM 어플리케이션의 작업 처리를 위한 메모리 공간을 할당하고(S514), 호스트 디바이스(110)에게 개시 응답 메시지를 전송할 수 있다(S516).When the application start message is received from the
이 때, 호스트 디바이스(110)와 휴대용 저장장치(120) 간에 제1 DRM 어플리케이션의 보안 세션을 형성하는 상호인증 작업이 수행될 수 있다. 상호인증에 대해서는 도 2를 참조하여 설명한 바 있다. 상호인증 작업이 중단될 경우, 제1 DRM 어플리케이션의 동작 상태는 휴지 상태로 전환될 수 있으며, 이러한 실시예는 다른 DRM 어플리케이션에 대해서도 동일하게 적용될 수 있다. At this time, a mutual authentication operation for establishing a secure session of the first DRM application between the
상호인증 결과 보안 세션이 형성되면, 호스트 디바이스(110)와 휴대용 저장장치(120)는 각각 제1 DRM 어플리케이션을 이용한 DRM 작업을 수행할 수 있다. DRM 작업의 일 예로, 호스트 디바이스(110)가 휴대용 저장장치(120)에 저장된 권리객체를 이용하여 컨텐츠 객체를 재생시키는 작업을 들 수 있다. DRM 작업 시 각종 데이터나 정보의 전송을 위해서 보안 전달 메시지나 보안 수신 메시지가 이용될 수 있다.When the security session is established as a result of the mutual authentication, the
제1 DRM 어플리케이션이 준비 상태(402)에 있는 상황에서, 제2 DRM 어플리케이션을 이용한 작업 처리가 필요할 수 있다. 이 때, 호스트 디바이스(110)는 제1 DRM 어플리케이션의 어플리케이션 식별자를 포함하는 어플리케이션 일시정지 메시지를 휴대용 저장장치(120)에게 전송할 수 있다(S518). In a situation where the first DRM application is in the
휴대용 저장장치(120)는 제1 DRM 어플리케이션의 동작 상태를 대기 상태로 전환시킬 수 있다(S520). 이 때, 휴대용 저장장치(120)는 제1 DRM 어플리케이션의 세션 컨텍스트 정보를 보안 저장 영역에 저장시킬 수 있다(S522). 따라서 제1 DRM 어플리케이션의 보안 정보는 삭제되지 않고 보호될 수 있으며, 제1 DRM 어플리케이션의 보안 세션은 유지될 수 있다. The
그 후, 휴대용 저장장치(120)는 제1 DRM 어플리케이션을 위한 메모리 공간의 할당을 해제하고(S524), 호스트 디바이스(110)에게 일시정지 응답 메시지를 전송할 수 있다(S526).Thereafter, the
그 후, 호스트 디바이스(110)는 제2 DRM 어플리케이션의 어플리케이션 식별자를 포함하는 어플리케이션 개시 메시지를 휴대용 저장장치(120)에게 전송할 수 있다(S528). The
휴대용 저장장치(120)는 제2 DRM 어플리케이션의 동작 상태를 준비 상태로 전환시킬 수 있으며(S530), 제2 DRM 어플리케이션의 작업 처리를 위한 메모리 공간을 할당할 수 있다(S532). 그 후, 휴대용 저장장치(120)는 호스트 디바이스(110)에게 개시 응답 메시지를 전송할 수 있다(S534).The
이 때, 호스트 디바이스(110)와 휴대용 저장장치(120) 간에 제2 DRM 어플리케이션의 보안 세션을 형성하는 상호인증 작업이 수행될 수 있으며, 제2 어플리케이션의 보안 세션이 형성되면 호스트 디바이스(110)와 휴대용 저장장치(120)는 각각 제2 DRM 어플리케이션을 이용한 DRM 작업을 수행할 수 있다.At this time, a mutual authentication operation for forming a secure session of the second DRM application can be performed between the
만약, 제2 DRM 어플리케이션의 작업 처리가 더 이상 필요하지 않아, 제2 DRM 어플리케이션을 종료시켜야 한다면, 호스트 디바이스(110)는 제2 DRM 어플리케이션의 어플리케이션 식별자를 포함하는 어플리케이션 종료 메시지를 휴대용 저장장치(120)에게 전송할 수 있다(S536).If the operation of the second DRM application is no longer required and the second DRM application should be terminated, the
어플리케이션 종료 메시지를 수신한 휴대용 저장장치(120)는 제2 DRM 어플리케이션의 동작 상태를 휴지 상태로 전환시키고(S538), 제2 DRM 어플리케이션을 위한 메모리 공간의 할당을 해제할 수 있다(S540). 이 때, 제2 DRM 어플리케이션의 세션 컨텍스트 정보 중 보안 정보는 삭제될 수 있으며, 처리가 완료되지 않은 작업 데이터가 있다면 이 또한 삭제될 수 있다. 그 후, 휴대용 저장장치(120)는 종료 응답 메시지를 호스트 디바이스(110)에게 전송할 수 있다(S542).Upon receiving the application termination message, the
한편, 대기 상태에 있는 제1 DRM 어플리케이션의 작업 처리가 필요한 경우 호스트 디바이스(110)는 제1 DRM 어플리케이션의 어플리케이션 식별자를 포함하는 어플리케이션 재개 메시지를 휴대용 저장장치(120)에게 전송할 수 있다(S544). On the other hand, when the first DRM application in the standby state is required to process work, the
휴대용 저장장치(120)는 제1 DRM 어플리케이션의 동작 상태를 준비 상태로 전환시키고(S546), 제1 DRM 어플리케이션의 작업 처리를 위한 메모리 공간을 할당할 수 있다(S548). 이 때, 휴대용 저장장치(120)는 보안 저장 영역에 저장시켜두었던 제1 DRM 어플리케이션의 세션 컨텍스트 정보의 일부 또는 전부를 과정 S548에서 할당한 메모리 공간으로 이동시킬 수 있다. The
그 후, 휴대용 저장장치(120)는 호스트 디바이스(110)에게 재개 응답 메시지를 전송할 수 있다(S560). 그 후, 호스트 디바이스(110)와 휴대용 저장장치(120) 간에 제1 DRM 어플리케이션을 이용한 DRM 작업이 수행될 수 있다. 제1 DRM 어플리케이션의 보안 세션은 유지되고 있는 상태이므로, 호스트 디바이스(110)와 휴대용 저장장치(120) 간에 제1 DRM 어플리케이션의 보안 세션을 형성하기 위한 상호인증 작업은 수행되지 않아도 무방하다. 이와 같은 과정을 통해서 휴대용 저장장치(120)는 한정된 자원을 이용하여 복수의 DRM 어플리케이션을 효과적으로 구동시킬 수 있다. 물론, 복수의 DRM 어플리케이션이 동시에 준비 상태로 동작하는 실시예도 가능할 것이다. 다만, 휴대용 저장장치(120)의 자원은 극히 제한적인 경우가 많다는 것을 감안하면, 복수의 DRM 어플리케이션이 실행된 상태에서 작업 처리가 필요한 하나의 DRM 어플리케이션을 준비 상태로 두고, 나머지 DRM 어플리케이션들은 대기 상태로 두는 것이 바람직하다. Thereafter, the
한편, 휴대용 저장장치(120)가 지원하는 복수의 DRM 어플리케이션 각각의 실행을 위해 필요한 메모리 공간의 크기는 DRM 어플리케이션의 종류에 따라서 달라질 수 있다. 따라서, 휴대용 저장장치(120)의 메인 메모리에서 데이터 버퍼용으로 사용될 수 있는 메모리 공간의 크기 역시 휴대용 저장장치(120)가 어떠한 DRM 어플리케이션을 실행시키느냐에 따라서 달라질 수 있다. 따라서, 휴대용 저장장치(120)와 호스트 디바이스(110)간에 DRM 작업이 수행될 때, 휴대용 저장장치(120)는 사용 가능한 데이터 버퍼의 크기를 호스트 디바이스(110)에게 알려줄 수 있으며, 호스트 디바이스(110)는 휴대용 저장장치(120)의 가용한 데이터 버퍼의 크기에 따라서 휴대용 저장장치(120)에게 전송할 DRM 작업용 메시지의 크기를 조절할 수 있다. Meanwhile, the size of the memory space required for executing each of the plurality of DRM applications supported by the
도 6은 본 발명의 일 실시예에 따른 호스트 디바이스(110)가 휴대용 저장장치(120)의 정보를 획득하는 과정을 나타낸 흐름도이다. 6 is a flowchart illustrating a process of the
먼저, 호스트 디바이스(110)가 휴대용 저장장치(120)와 연결된 후, 호스트 디바이스(110)의 요청에 따라서 특정 DRM 어플리케이션이 준비 상태에 있는 경우를 가정한다. 이는 준비 상태에 있는 DRM 어플리케이션을 통한 DRM 작업이 수행되지 않은 경우(예를 들어, 도 5의 과정 S518이 수행되기 전)를 의미할 수 있다. 따라서, 도 6의 과정은 준비 상태에 있는 DRM 어플리케이션을 위해서 호스트 디바이스(110)와 휴대용 저장장치(120) 간에 상호인증 작업이 수행되기 전일수도 있고, 상호인증 작업이 수행된 이후일 수도 있다. First, it is assumed that a specific DRM application is in a ready state according to a request of the
호스트 디바이스(110)는 휴대용 저장장치(120)에게 능력 정보 요청 메시지를 전송할 수 있다(S610).The
호스트 디바이스(110)의 능력 정보 요청 메시지에 따라서 휴대용 저장장치(120)는 자신의 능력 정보를 포함하는 능력 정보 메시지를 호스트 디바이스(110)에게 전송할 수 있다(S620). 휴대용 저장장치(120)가 호스트 디바이스(110)에게 전송하는 능력 정보 메시지의 일 예를 표2에 나타내었다.In accordance with the capability information request message of the
표2에 나타낸 능력 정보 메시지에서 필드1은 휴대용 저장장치(120)의 종류나 펌웨어 버전을 나타내는 정보이고, 필드2와 필드13은 추후 사용을 위해 예비된 필드를 나타낸다. 필드3은 휴대용 저장장치(120)가 지원하는 DRM 어플리케이션들의 리스트를 나타내며, 필드4는 휴대용 저장장치(120)의 전송계층에서 사용될 수 있는 프로토콜들(예를 들어, APDU, HTTP 등)의 리스트를 나타낸다. 또한, 필드5는 휴대용 저장장치(120)가 현재 사용중인 프로토콜을 나타내는데, 이는 필드4에 나타낸 프로토콜 리스트에 있는 프로토콜 중 하나이다. In the capability information message shown in Table 2, field 1 is information indicating the type or firmware version of the
필드6은 휴대용 저장장치(110)가 권리객체, 세션 컨텍스트 정보 등과 같이 보안이 필요한 각종 데이터나 정보를 저장하는데 사용할 수 있는 보안 저장 영역의 최대 크기를 나타내고, 필드7은 현재 사용 가능한 보안 저장 영역의 크기를 나타낸다. 따라서 필드7에 설정되는 값은 필드6에 설정되는 값을 초과할 수 없다. Field 6 represents the maximum size of the secure storage area that the
필드8은 휴대용 저장장치(120)가 사용할 수 있는 최대 버퍼 크기를 나타내는데, 이는 휴대용 저장장치(120)의 메인 메모리의 전체 크기에서 준비 상태에 있는 DRM 어플리케이션을 위해 할당한 메모리 공간의 크기를 제외한 값을 나타낼 수 있다. 필드9는 휴대용 저장장치(120)가 호스트 디바이스(110)로부터 전송되는 메시지를 처리하기 위한 버퍼 크기를 나타내는데, 필드8에 설정되는 최대 버퍼 크기를 초과할 수 없다. 필드9에 설정되는 버퍼 크기는 준비 상태에 있는 DRM 어플리케이션의 종류나 휴대용 저장장치(120)의 연산 능력 등 다양한 조건을 감안하여 실시예에 따라서 달라질 수 있다. Field 8 represents the maximum buffer size that the
휴대용 저장장치(120)의 능력 정보 중에서 '현재 사용중인 프로토콜'과 '사용할 버퍼 크기'는 호스트 디바이스(110)에 의해 재설정될 수 있다. Among the capability information of the
다시 도 6을 참조하면, 휴대용 저장장치(120)로부터 능력 정보 메시지가 수신되면, 호스트 디바이스(110)는 능력 정보 메시지에서 휴대용 저장장치(120)의 능력 정보를 확인할 수 있다(S630). 과정 S630에서 호스트 디바이스(110)는 휴대용 저장장치(120)의 최대 버퍼 크기를 알 수 있으며, 최대 버퍼 크기에 따라서 DRM 작업을 수행하기 위해 휴대용 저장장치(120)에게 전송할 메시지의 크기를 결정할 수 있다(S640). 과정 S640에서 결정되는 메이지의 크기는 휴대용 저장장치(120)로부터 수신된 능력 정보 메시지의 필드8에 설정되는 최대 버퍼 크기를 초과하지 않으며, 필드9에 설정된 사용할 버퍼 크기와 동일할 수도 있고 이와 다를 수도 있다. 호스트 디바이스(110)는 휴대용 저장장치(120)에서 현재 가용한 버퍼의 크기를 최대한 활용할 수 있도록 최대 버퍼 크기와 동일한 값으로 메시지의 크기를 결정할 수도 있다.Referring again to FIG. 6, when the capability information message is received from the
그 후, 호스트 디바이스(110)는 능력 정보 설정 메시지를 휴대용 저장장치(120)에게 전송할 수 있다(S650). 여기서 전송되는 능력 정보 설정 메시지는 과정 S640에서 결정한 메시지의 크기와 동일한 크기의 '사용할 버퍼 크기'에 대한 정보를 포함할 수 있다. Then, the
휴대용 저장장치(120)는 설정 정보 설정 메시지에 포함된 '사용할 버퍼 크기'를 사용하여 자신의 능력 정보를 갱신할 수 있다(S660). 이에 따라서, 휴대용 저장장치(120)는 앞으로 호스트 디바이스(110)로부터 전송될 메시지의 크기가 자신의 능력 정보 중 '사용할 버퍼 크기'와 동일할 것으로 예상할 수 있으며, 그에 대한 처리를 준비할 수 있다. The
그 후, 호스트 디바이스(110)와 휴대용 저장장치(120) 간에 DRM 작업이 수행될 수 있는데, 이 때 호스트 디바이스(110)가 휴대용 저장장치(120)에게 전송하는 메시지의 크기는 과정 S640에서 결정된 것과 동일하다. Thereafter, a DRM operation may be performed between the
본 발명의 일 실시예에 따르면, 과정 S640에서 결정되는 메시지의 크기가 휴대용 저장장치(120)로부터 수신된 능력 정보에 포함된 '사용할 버퍼 크기'와 동일한 경우, 과정 S650 및 S660은 생략될 수도 있다. According to an embodiment of the present invention, when the size of the message determined in step S640 is equal to the 'buffer size to be used' included in the capability information received from the
또한, 본 발명의 일 실시예에 따르면, 호스트 디바이스(110)는 휴대용 저장장치(120)로부터 수신된 능력 정보 중 프로토콜 리스트에 포함된 프로토콜 중 어느 하나를 전송 계층에서 사용할 프로토콜로 결정할 수도 있다. 이 경우, 호스트 디바이스(110)는 도 6의 과정 S650에서 휴대용 저장장치(120)에게 전송하는 능력 정보 설정 메시지에 새로이 사용할 프로토콜을 나타내는 정보를 포함시킬 수 있다. 따라서, 휴대용 저장장치(120)는 전송 계층을 위해 호스트 디바이스(110)가 결정한 프로토콜을 사용할 수 있다. 물론, 호스트 디바이스(110)가 휴대용 저장장치(120)로부터 수신한 능력 정보 중 현재 사용중인 프로토콜을 그대로 사용하려는 경우에는, 별도의 추가 작업이 필요치 않을 수 있다. Also, according to an embodiment of the present invention, the
도 7은 본 발명의 일 실시예에 따른 휴대용 저장장치(110)를 나타낸 블록도이다. 휴대용 저장장치(120)는 인터페이스부(710), 암/복호화부(720), 저장부(730), 메인 메모리부(740), 어플리케이션 구동부(750), 및 제어부(760)를 포함할 수 있다. 7 is a block diagram illustrating a
인터페이스부(710)는 휴대용 저장장치(120)가 호스트 디바이스(110)와 연결될 수 있도록 한다. 휴대용 저장장치(120)가 호스트 디바이스(110)와 연결된다는 것은 전기적 또는 자기적으로 통신할 수 있는 상태에 있다는 것을 의미한다. 따라서, '연결'은 휴대용 저장장치(120)와 호스트 디바이스(110)가 통신을 위해 접촉되어 있는 상태를 의미할 수도 있고, 비접촉 상태에서 무선매체를 통해 서로 통신할 수 있는 상태에 있음을 의미할 수도 있다. 인터페이스부(710)를 통해 휴대용 저장장치(120)는 각종 데이터, 인스트럭션, 신호, 메시지 등을 호스트 디바이스(110)에게 송신하거나, 이들을 호스트 디바이스(110)로부터 수신할 수 있다. The
암/복호화부(720)는 암호화 및 복호화 작업을 수행할 수 있다. 따라서, 암/복호화부(720)는 호스트 디바이스(110)로 전송될 데이터를 암호화하거나, 호스트 디바이스(110)로부터 암호화되어 수신된 데이터를 복호화 할 수 있다. 암/복호화부(720)는 공개키 암호화 방식뿐만 아니라 비밀키 암호화 방식 또한 수행할 수 있으며 두가지 방식을 모두 수행하기 위해 복수의 암/복호화부가 휴대용 저장장치(120)에 구비되는 것도 가능하다. 또한 암/복호화부(720)는 상호인증 과정시 필요한 난수를 생성할 수도 있다.The encryption /
저장부(730)는 컨텐츠 객체, 권리객체, 세션 컨텍스트 정보, 휴대용 저장장치(120)의 인증서, CRL, 및 DRM 작업을 수행하는데 필요한 데이터를 저장할 수 있다. 저장부(730)는 특정 DRM 어플리케이션 이외의 다른 어플리케이션이나 다른 장치의 접근으로부터 논리적 또는 물리적으로 보호되는 적어도 하나의 보안 저장 영역을 포함할 수 있다. 물론, 저장부(730)는 자유로운 접근이 허용되는 일반 저장 영역을 더 포함할 수도 있다. 저장부(730)는 플래쉬 메모리와 같은 비휘발성 메모리로 구현될 수 있다. The
메인 메모리부(740)는 휴대용 저장장치(120)의 동작시 필요한 코드, 데이터, 정보들을 기록하거나 삭제할 수 있는 메모리로서, RAM을 일 예로 들 수 있다. 휴대용 저장장치(120)의 동작은 DRM 어플리케이션의 실행, 상호인증의 수행, DRM 작업이나 기타 다른 작업을 포함하는 개념이다. 메인 메모리부(740)는 RAM을 통해 구현될 수도 있다. The
어플리케이션 구동부(750)는 DRM 어플리케이션을 구동시킬 수 있다. DRM 어플리케이션의 구동을 위한 소프트웨어 코드들은 저장부(730)에 저장되어 있을 수 있으며, DRM 어플리케이션이 구동될 때 필요한 코드들은 메인 메모리부(740)로 로딩될 수 있다. 어플리케이션 구동부(750)에 의해 구동되는 DRM 어플리케이션은 호스트 디바이스(110)가 구동한 DRM 어플리케이션과 함께 권리객체의 소비를 통해 컨텐츠 객체가 재생될 수 있도록 하는 DRM 작업을 수행할 수 있다. The
제어부(760)는 앞서 설명한 본 발명의 실시예에 따라서 휴대용 저장장치(120)가 동작하도록 필요한 작업을 수행하고, 휴대용 저장장치(120)를 구성하는 각 구성요소들을 제어할 수 있다. 예를 들어, 제어부(760)는 준비 상태의 DRM 어플리케이션을 위해 메모리 공간을 할당하고, 대기 상태로 전환되는 DRM 어플리케이션의 세션 컨텍스트 정보를 보안 저장 영역에 저장시킬 수 있다. 또한, 제어부(760)는 인터페이스부(710)를 통해서 호스트 디바이스(110)에게 휴대용 저장장치(120)의 성능 정보를 제공할 수 있다. 이밖에도 제어부(760)는 호스트 디바이스(110)에게 전송할 메시지를 생성하고, 호스트 디바이스(110)로부터 전송되는 메시지를 해석할 수 있다. The
휴대용 저장장치(120)를 구성하는 각 구성요소들의 보다 구체적인 기능 및 동작은 앞선 실시예들을 참조하면 보다 명확히 이해될 수 있을 것이다. More specific functions and operations of the components constituting the
도 8은 본 발명의 일 실시예에 따른 호스트 디바이스(110)를 나타낸 블록도이다. 호스트 디바이스(110)는 인터페이스부(810), 암/복호화부(820), 저장부(830), 메인 메모리부(840), 어플리케이션 구동부(850), 제어부(860), 및 디스플레이부(870)를 포함할 수 있다. 8 is a block diagram illustrating a
인터페이스부(810)는 호스트 디바이스(110)가 휴대용 저장장치(120)와 연결될 수 있도록 한다. 호스트 디바이스(110)가 휴대용 저장장치(120)와 연결된다는 것은 전기적 또는 자기적으로 통신할 수 있는 상태에 있다는 것을 의미한다. 따라서, '연결'은 호스트 디바이스(110)와 휴대용 저장장치(120)가 통신을 위해 접촉되어 있는 상태를 의미할 수도 있고, 비접촉 상태에서 무선매체를 통해 서로 통신할 수 있는 상태에 있음을 의미할 수도 있다. 인터페이스부(810)를 통해 호스트 디바이스(110)는 각종 데이터, 인스트럭션, 신호, 메시지 등을 휴대용 저장장치(120)에게 송신하거나, 이들을 휴대용 저장장치(120)로부터 수신할 수 있다. The
암/복호화부(820)는 암호화 및 복호화 작업을 수행할 수 있다. 따라서, 암/복호화부(820)는 휴대용 저장장치(120)로 전송될 데이터를 암호화하거나, 휴대용 저장장치(120)로부터 암호화되어 수신된 데이터를 복호화 할 수 있다. 암/복호화부(820)는 공개키 암호화 방식뿐만 아니라 비밀키 암호화 방식 또한 수행할 수 있으며 두가지 방식을 모두 수행하기 위해 복수의 암/복호화부가 호스트 디바이스(110)에 구비되는 것도 가능하다. 또한 암/복호화부(820)는 상호인증 과정시 필요한 난수를 생성할 수도 있다. 또한, 암/복호화부(820)는 어플리케이션 구동부(850)가 실행시킨 DRM 어플리케이션의 요청에 따라서 휴대용 저장장치(120)에 저장된 권리객체를 이용하여 컨텐츠 객체를 복호화할 수 있다. 물론, 컨텐츠 객체의 복호화는 DRM 어플리케이션에 의해 수행될 수도 있다.The encryption /
저장부(830)는 컨텐츠 객체, 권리객체, 세션 컨텍스트 정보, 호스트 디바이스(110)의 인증서, CRL, 및 DRM 작업을 수행하는데 필요한 데이터를 저장할 수 있다. 저장부(830)는 특정 DRM 어플리케이션 이외의 다른 어플리케이션이나 다른 장치의 접근으로부터 논리적 또는 물리적으로 보호되는 적어도 하나의 보안 저장 영역을 포함할 수 있다. 물론, 저장부(830)는 자유로운 접근이 허용되는 일반 저장 영역을 더 포함할 수도 있다. 저장부(830)는 플래쉬 메모리와 같은 비휘발성 메모리로 구현될 수 있다. The
메인 메모리부(840)는 호스트 디바이스(110)의 동작시 필요한 코드, 데이터, 정보들을 기록하거나 삭제할 수 있는 메모리로서, RAM을 일 예로 들 수 있다. 호스트 디바이스(110)의 동작은 DRM 어플리케이션의 실행, 상호인증의 수행, DRM 작업이나 기타 다른 작업을 포함하는 개념이다. 메인 메모리부(840)는 RAM을 통해 구현될 수도 있다. The
어플리케이션 구동부(850)는 DRM 어플리케이션을 구동시킬 수 있다. DRM 어플리케이션의 구동을 위한 소프트웨어 코드들은 저장부(830)에 저장되어 있을 수 있으며, DRM 어플리케이션이 구동될 때 필요한 코드들은 메인 메모리부(840)로 로딩될 수 있다. 어플리케이션 구동부(850)에 의해 구동되는 DRM 어플리케이션은 휴대용 저장장치(120)가 구동한 DRM 어플리케이션과 함께 권리객체의 소비를 통해 컨텐츠 객체가 재생될 수 있도록 하는 DRM 작업을 수행할 수 있다. 컨텐츠 객체의 재생은 DRM 어플리케이션에 의해 수행될 수도 있지만, 컨텐츠 객체의 재생을 위해서 별도의 컨텐츠 재생부가 호스트 디바이스(110)에 구비될 수도 있다. The
제어부(860)는 앞서 설명한 본 발명의 실시예에 따라서 호스트 디바이스(110)가 동작하도록 필요한 작업을 수행하고, 호스트 디바이스(110)를 구성하는 각 구성요소들을 제어할 수 있다. 호스트 디바이스(110)의 제어부(860)의 기능은 앞서 설명한 휴대용 저장장치(110)의 제어부(760)의 기능과 유사하게 이해될 수 있다. 다만, DRM 어플리케이션의 동작 상태 전환시 자원의 효율적 활용을 위해 수행되는 기능은 호스트 디바이스(110)의 제어부(860)가 갖추지 않아도 무방하다. The
디스플레이부(870)는 컨텐츠 객체의 재생 상태를 디스플레이할 수 있다. 디스플레이부(870)는 LCD나 유기EL과 같은 평판 디스플레이 장치를 이용하여 구현될 수 있다.The
호스트 디바이스(110)를 구성하는 각 구성요소들의 보다 구체적인 기능 및 동작은 앞선 실시예들을 참조하면 보다 명확히 이해될 수 있을 것이다. More specific functions and operations of each component constituting the
도 7의 휴대용 저장장치(120)와 도 8의 호스트 디바이스(110)를 구성하는 구성요소들은 모듈로 구현될 수 있다. 모듈은 소프트웨어 또는 Field Programmable Gate Array(FPGA)나 주문형 반도체(Application Specific Integrated Circuit, ASIC)와 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.The components constituting the
이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It will be understood. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.
도 1은 본 발명의 일 실시예에 따른 DRM 개념을 나타낸 도면이다.FIG. 1 is a diagram illustrating a DRM concept according to an embodiment of the present invention. Referring to FIG.
도 2는 본 발명의 일 실시예에 따른 호스트 디바이스(110)와 휴대용 저장 장치(120)의 개략적인 스택 구조를 나타낸 도면이다.FIG. 2 is a diagram illustrating a schematic stack structure of a
도 3은 본 발명의 일 실시예에 따른 상호인증 과정을 나타낸 흐름도이다.3 is a flowchart illustrating a mutual authentication process according to an exemplary embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 DRM 어플리케이션의 동작 상태를 나타낸 도면이다.4 is a diagram illustrating an operation state of a DRM application according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 DRM 어플리케이션 구동 과정을 나타낸 흐름도이다.5 is a flowchart illustrating a DRM application process according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 호스트 디바이스가 휴대용 저장장치의 정보를 획득하는 과정을 나타낸 흐름도이다.6 is a flowchart illustrating a process in which a host device acquires information of a portable storage device according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 휴대용 저장장치를 나타낸 블록도이다.7 is a block diagram illustrating a portable storage device according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 호스트 디바이스를 나타낸 블록도이다.8 is a block diagram illustrating a host device according to one embodiment of the present invention.
<도면의 주요 부분에 관한 부호의 설명>DESCRIPTION OF THE REFERENCE NUMERALS
710 : 인터페이스부 720 : 암/복호화부710: interface unit 720: arm /
730 : 저장부 740 : 메인 메모리부730: storage unit 740: main memory unit
750 : 어플리케이션 구동부 760 : 제어부750: Application driver 760:
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/192,543 US8578503B2 (en) | 2007-08-17 | 2008-08-15 | Portable storage device and method of managing resource of the portable storage device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US95645607P | 2007-08-17 | 2007-08-17 | |
US60/956,456 | 2007-08-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090018566A KR20090018566A (en) | 2009-02-20 |
KR101555241B1 true KR101555241B1 (en) | 2015-10-07 |
Family
ID=40686819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080055397A KR101555241B1 (en) | 2007-08-17 | 2008-06-12 | Portable storage device and method for managing resource of the portable storage device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101555241B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100664924B1 (en) * | 2004-10-04 | 2007-01-04 | 삼성전자주식회사 | Portable storage, host device and method for communication between them |
-
2008
- 2008-06-12 KR KR1020080055397A patent/KR101555241B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100664924B1 (en) * | 2004-10-04 | 2007-01-04 | 삼성전자주식회사 | Portable storage, host device and method for communication between them |
Also Published As
Publication number | Publication date |
---|---|
KR20090018566A (en) | 2009-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8181266B2 (en) | Method for moving a rights object between devices and a method and device for using a content object based on the moving method and device | |
EP1754167B1 (en) | Method and apparatus for transmitting rights object information between device and portable storage | |
AU2005223193B2 (en) | Digital rights management structure, portable storage device, and contents management method using the portable storage device | |
JP4690389B2 (en) | Digital copyright management method and apparatus using certificate disposal list | |
KR100608605B1 (en) | Method and apparatus for digital rights management | |
AU2005248693B2 (en) | Apparatus and method for operating plural applications between portable storage device and digital device | |
KR100755707B1 (en) | Host device, portable storage, and method for updating meta information of rights object stored in the portable storage | |
AU2005225950B2 (en) | Portable storage device and method of managing files in the portable storage device | |
US20060156413A1 (en) | Host device, portable storage device, and method for updating meta information regarding right objects stored in portable storage device | |
US8578503B2 (en) | Portable storage device and method of managing resource of the portable storage device | |
KR101555241B1 (en) | Portable storage device and method for managing resource of the portable storage device | |
KR100664924B1 (en) | Portable storage, host device and method for communication between them |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180831 Year of fee payment: 4 |