KR100664924B1 - Portable storage, host device and method for communication between them - Google Patents
Portable storage, host device and method for communication between them Download PDFInfo
- Publication number
- KR100664924B1 KR100664924B1 KR1020040078736A KR20040078736A KR100664924B1 KR 100664924 B1 KR100664924 B1 KR 100664924B1 KR 1020040078736 A KR1020040078736 A KR 1020040078736A KR 20040078736 A KR20040078736 A KR 20040078736A KR 100664924 B1 KR100664924 B1 KR 100664924B1
- Authority
- KR
- South Korea
- Prior art keywords
- host device
- portable storage
- application
- storage device
- write command
- Prior art date
Links
- 238000003860 storage Methods 0.000 title claims abstract description 161
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000006854 communication Effects 0.000 title claims abstract description 30
- 238000004891 communication Methods 0.000 title claims abstract description 28
- 230000005540 biological transmission Effects 0.000 claims abstract description 47
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 7
- 102000036364 Cullin Ring E3 Ligases Human genes 0.000 description 5
- 108091007045 Cullin Ring E3 Ligases Proteins 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 호스트 디바이스, 휴대용 저장장치 및 이들 간의 통신 방법에 관한 것이다. 본 발명의 실시예에 따른 휴대용 저장장치는 호스트 디바이스와 연결되어 컨트롤 신호의 수신 및 데이터 송수신을 수행하는 인터페이스 모듈, 상기 호스트 디바이스로부터 수신된 데이터를 저장하는 저장모듈, 및 상기 수신되는 컨트롤 신호에 따라 상기 호스트 디바이스와의 통신 유지 여부를 제어하는 제어모듈을 포함한다.The present invention relates to a host device, a portable storage device and a method of communication therebetween. A portable storage device according to an embodiment of the present invention is connected to a host device to receive a control signal and perform data transmission and reception, a storage module for storing data received from the host device, and the received control signal according to And a control module for controlling whether to maintain communication with the host device.
본 발명에 따르면 호스트 디바이스와 휴대용 저장장치 간의 통신에 보안을 강화할 수 있다.According to the present invention, security can be enhanced for communication between the host device and the portable storage device.
쓰기명령, 읽기명령, 통신 보안, 휴대용 저장장치Write command, read command, communication security, portable storage device
Description
도 1은 종래의 DRM 개념을 나타낸 도면이다.1 is a diagram illustrating a conventional DRM concept.
도 2는 본 발명의 일 실시예에 따른 DRM 개념을 나타낸 도면이다.2 is a diagram illustrating a DRM concept according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 호스트 디바이스와 휴대용 저장장치간 상호인증 과정을 나타낸 흐름도이다.3 is a flowchart illustrating a mutual authentication process between a host device and a portable storage device according to an exemplary embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 호스트 디바이스와 휴대용 저장장치 간의 데이터를 전송 구조를 나타낸 도면이다.4 is a diagram illustrating a structure of transmitting data between a host device and a portable storage device according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 데이터 전송 구조를 보다 구체적으로 나타낸 도면이다.5 is a diagram illustrating a data transmission structure in more detail in an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 호스트 디바이스와 휴대용 저장장치 간의 통신 과정을 나타낸 도면이다.6 is a diagram illustrating a communication process between a host device and a portable storage device according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 호스트 디바이스를 나타낸 도면이다.7 illustrates a host device according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 휴대용 저장장치를 나타낸 블록도이다. 8 is a block diagram illustrating a portable storage device according to an embodiment of the present invention.
도 9는 본 발명의 일 실시예에 따른 호스트 디바이스의 동작 과정을 나타낸 흐름도이다.9 is a flowchart illustrating an operation process of a host device according to an embodiment of the present invention.
도 10은 본 발명의 일 실시예에 따른 휴대용 저장장치의 동작 과정을 나타낸 흐름도이다.10 is a flowchart illustrating an operation process of a portable storage device according to an embodiment of the present invention.
<도면의 주요 부분에 관한 부호의 설명><Explanation of symbols on main parts of the drawings>
211, 221 : 인터페이스 모듈 212, 222 : 제어모듈211, 221:
213, 223 : 암호화 모듈 214, 224 : 저장모듈213, 223:
215, 225 : 어플리케이션 구동모듈 216 : 디스플레이 모듈215, 225: application drive module 216: display module
217 : 송수신 모듈217: transceiver module
본 발명은 호스트 디바이스, 휴대용 저장장치 및 이들 간의 통신 방법에 관한 것으로, 보다 상세하게는 데이터 전송을 제어하는 컨트롤 신호인 쓰기 명령과 읽기 명령이 쌍으로 운용되도록 하여 통신의 보안을 강화하는 방법에 관한 것이다. The present invention relates to a host device, a portable storage device, and a communication method therebetween, and more particularly, to a method of enhancing communication security by allowing a write command and a read command, which are control signals for controlling data transmission, to be operated in pairs. will be.
최근에 디지털 저작권 관리(Digital Rights Management; 이하, "DRM"이라 함)에 관한 연구가 활발하며, DRM을 적용한 상용 서비스들이 도입되었거나 도입 중에 있다. DRM은 무단 복제 및 배포가 용이한 디지털 콘텐츠를 보호하기 위한 기술 개념이다. Recently, researches on digital rights management (hereinafter referred to as "DRM") have been actively conducted, and commercial services using DRM have been introduced or are being introduced. DRM is a technology concept for protecting digital content that is easy to copy and distribute.
디지털 콘텐츠를 보호하고자 하는 노력은 종래에도 있었으나, 이는 디지털 콘텐츠에 대한 무단 접근 방지에 중점을 두고 있었다. 예컨데 디지털 콘텐츠에 대한 접근(access)은 대가를 지불한 사용자에게만 허용되었으며, 대가를 지불하지 않은 사용자는 디지털 콘텐츠에 접근할 수 없었다. 그러나 디지털 데이터의 특성상 디지털 콘텐츠는 재사용, 가공, 복제 및 배포가 용이하다. 따라서 대가를 지불하고 디지털 콘텐츠에 접근한 사용자가 이를 무단으로 복제 또는 배포할 경우에는 대가를 지불하지 않은 사용자도 디지털 콘텐츠를 사용할 수 있게 된다. Efforts have been made to protect digital content in the past, but this has focused on preventing unauthorized access to digital content. For example, access to digital content was allowed only to users who paid for it, and users who did not pay for it could not access digital content. However, due to the nature of digital data, digital content can be easily reused, processed, copied, and distributed. Therefore, if a user who pays for and accesses the digital content is copied or distributed without permission, the digital content can be used by the user who has not paid.
이러한 문제점을 보완하기 위해 DRM은 디지털 콘텐츠를 암호화하여 배포하도록 하고, 암호화된 디지털 콘텐츠를 사용하기 위해서는 권리객체(Right Object; RO)라는 특정 라이센스가 필요하도록 한다. To solve this problem, DRM encrypts and distributes digital content and requires a specific license called a right object (RO) to use the encrypted digital content.
도 1을 참조하여 설명하면, 디지털 콘텐츠를 사용하려는 사용자(110)는 원하는 디지털 콘텐츠를 콘텐츠 공급자(120)로부터 얻을 수 있다. 이때 콘텐츠 공급자(120)가 공급하는 디지털 콘텐츠는 암호화된 상태이며, 암호화된 디지털 콘텐츠(이하 콘텐츠 객체라 한다)를 사용하기 위해서는 권리객체가 필요하다. Referring to FIG. 1, a
사용자(110)는 일정 대가를 지불하고 권리객체 발행기관(130)으로부터 콘텐츠 객체를 실행시킬 수 있는 권한이 포함된 권리객체를 얻을 수 있다. 권리객체에 포함된 권한은 콘텐츠 객체를 복호화시킬 수 있는 콘텐츠 암호화키일 수 있다. 이때 권리객체 발행기관(130)은 콘텐츠 공급자(120)에게 권리객체 발행 내역을 보고하게 되며, 경우에 따라서는 권리객체 발행기관(130)과 콘텐츠 공급자(120)가 동일 주체일 수 있다. The
권리객체를 획득한 사용자(110)는 권리객체를 소비하여 콘텐츠 객체를 사용할 수 있게 된다. The
한편 콘텐츠 객체는 다른 사용자에게도 자유롭게 복제 및 배포될 수 있다. 그러나 권리객체는 권리객체를 통해 콘텐츠 객체를 실행시킬 수 있는 횟수나 기간 등의 제한 정보 또는 권리객체의 복제를 허용하는 횟수 등에 관한 제한 정보를 포함하고 있다. 따라서 콘텐츠 객체와 달리 권리객체는 그 재사용이나 복제에 일정 제한이 가해지게 되며, 이러한 DRM 기술에 의하면 디지털 콘텐츠를 효과적으로 보호할 수 있게 된다. Meanwhile, content objects can be freely copied and distributed to other users. However, the rights object contains restriction information such as the number of times and duration of execution of the content object through the rights object or the number of times the rights object is allowed to be duplicated. Therefore, unlike a content object, a rights object is subject to certain restrictions on reuse or duplication, and according to such DRM technology, digital content can be effectively protected.
사용자는 휴대폰이나 PDA와 같이 멀티미디어 데이터를 실행시키려는 호스트 디바이스에 콘텐츠 객체 및 권리객체를 저장할 수 있다. 그러나 최근에는 콘텐츠 객체 또는 권리객체의 보관 및 배포를 간편히 하기 위해 메모리 스틱이나 멀티미디어카드(Multi-Media Card; MMC)와 같은 휴대용 저장장치를 통해 권리객체를 관리하도록 하는 기술이 개발되고 있다. The user can store the content object and the rights object on a host device that wants to execute multimedia data, such as a mobile phone or a PDA. Recently, however, in order to simplify the storage and distribution of content objects or rights objects, a technology for managing rights objects through a portable storage device such as a memory stick or a multi-media card (MMC) has been developed.
휴대용 저장장치를 사용할 경우 호스트 디바이스와 휴대용 저장장치 간의 데이터 전송은 빈번히 발생하게 되며, 이에 따라 호스트 디바이스와 휴대용 저장장치 간의 통신 보안을 강화하기 위한 기술이 요구되었다. In the case of using a portable storage device, data transmission between the host device and the portable storage device frequently occurs, and thus, a technology for enhancing communication security between the host device and the portable storage device has been required.
본 발명은 호스트 디바이스와 휴대용 저장장치 간의 통신에 보안을 강화하는데 그 목적이 있다.It is an object of the present invention to enhance security in communication between a host device and a portable storage device.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 호스트 디바이스는 하나 이상의 어플리케이션을 구동시키는 어플리케이션 구동모듈, 상기 어플리케이션 구동모듈에 의해 구동되는 어플리케이션의 데이터 송수신 요청에 따라 데이터 송수신을 제어하는 쓰기 명령 및 읽기 명령의 쌍으로 구성된 컨트롤 신호를 출력하는 제어모듈, 및 휴대용 저장장치와 연결되어 상기 제어모듈로부터 출력되는 컨트롤 신호의 송신 및 상기 데이터 송수신을 수행하는 인터페이스 모듈을 포함한다. In order to achieve the above object, according to an embodiment of the present invention, a host device includes an application driving module for driving one or more applications, a write command for controlling data transmission and reception according to a data transmission / reception request of an application driven by the application driving module; And a control module for outputting a control signal composed of a pair of read commands, and an interface module connected to a portable storage device to transmit and transmit and transmit the control signal output from the control module.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 휴대용 저장장치는 호스트 디바이스와 연결되어 컨트롤 신호의 수신 및 데이터 송수신을 수행하는 인터페이스 모듈, 상기 호스트 디바이스로부터 수신된 데이터를 저장하는 저장모듈, 및 상기 수신되는 컨트롤 신호에 따라 상기 호스트 디바이스와의 통신 유지 여부를 제어하는 제어모듈을 포함한다.In order to achieve the above object, a portable storage device according to an embodiment of the present invention is connected to a host device interface module for receiving control signals and data transmission and reception, a storage module for storing data received from the host device, and And a control module for controlling whether to maintain communication with the host device according to the received control signal.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 호스트 디바이스와 휴대용 저장장치 간의 통신 방법은 하나 이상의 어플리케이션을 구동시키는 단계, 상기 구동되는 어플리케이션이 휴대형 저장장치와의 데이터 송수신을 요청하는 단계, 및 상기 요청에 따라 쓰기 명령 및 읽기 명령의 쌍으로 구성된 컨트롤 신호를 출력하여 상기 데이터 송수신을 제어하는 단계를 포함한다.In order to achieve the above object, a communication method between a host device and a portable storage device according to an embodiment of the present invention comprises the steps of driving at least one application, the driven application requesting data transmission and reception with the portable storage device, and And controlling the data transmission and reception by outputting a control signal composed of a pair of a write command and a read command according to the request.
상기 목적을 달성하기 위하여, 본 발명의 다른 실시예에 따른 호스트 디바이스와 휴대용 저장장치 간의 통신 방법은 호스트 디바이스로부터 데이터의 수신을 지시하는 쓰기명령 및 데이터의 송신을 지시하는 읽기명령으로 구성되는 컨트롤 신호를 수신하는 단계, 상기 수신되는 컨트롤 신호에 따라 통신 유지 여부를 판단하는 단계, 및 상기 판단 결과에 따라 상기 호스트 디바이스와의 통신을 진행하는 단 계를 포함한다. In order to achieve the above object, a communication method between a host device and a portable storage device according to another embodiment of the present invention is a control signal consisting of a write command instructing reception of data from the host device and a read command instructing transmission of data. Receiving the; and determining whether to maintain the communication in accordance with the received control signal, and the step of communicating with the host device according to the determination result.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. Specific details of other embodiments are included in the detailed description and the drawings.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명의 상세한 설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그러나 용어의 설명은 본 명세서의 이해를 돕기 위한 것이다. 따라서 본 발명의 상세한 설명에 있어서 본 발명을 명시적으로 한정하지 않은 경우에는 이하의 용어들이 본 발명의 기술적 사상을 한정하는 의미로 사용되는 것이 아님을 주의해야 한다.Prior to the detailed description of the present invention, the meaning of the terms used herein will be briefly described. However, the description of the term is to aid the understanding of the present specification. Therefore, it should be noted that the following terms are not used to limit the technical spirit of the present invention unless the present invention is explicitly limited in the detailed description of the present invention.
-공개키 암호화(Public-key Cryptography) Public-key Cryptography
비대칭 암호화라고도 하며, 이는 데이터를 복호화하는데 사용되는 암호키와 데이터를 암호화하는데 사용되는 암호키가 서로 다른 암호키로 구성되는 암호화 방 식을 의미한다. 공개키 암호화 방식에서 암호키는 공개키와 개인키의 쌍으로 이루어진다. 공개키는 비밀로 보관될 필요가 없으며 다른 디바이스에게 손쉽게 알려질 수 있고, 개인키는 특정 디바이스 자신만이 알고 있어야 한다. 이러한 공개키 암호화 알고리즘의 예로는 Diffie-Hellman 방식, RSA 방식, ElGamal 방식, 및 타원곡선(Elliptic Curve) 방식 등이 있다. Also known as asymmetric encryption, this refers to an encryption method in which an encryption key used to decrypt data and an encryption key used to encrypt data are composed of different encryption keys. In public key cryptography, an encryption key consists of a pair of public and private keys. 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 specific device itself. Examples of such public key encryption algorithms include a Diffie-Hellman method, an RSA method, an ElGamal method, and an elliptic curve method.
-대칭키 암호화(Symetric-key Criptography)Symmetric-key Criptography
비밀키 암호화라고도 하며, 이는 데이터를 암호화하는데 사용되는 암호키와 데이터를 복호화하는데 사용되는 암호키가 동일한 암호키로 구성되는 암호화 방식을 의미한다. 이러한 대칭키 암호화의 예로는 DES 방식이 가장 일반적으로 사용되고 있으며, 최근에는 AES 방식을 채용한 어플리케이션이 증가하고 있다.Also known as secret key encryption, this refers to an encryption method in which an encryption key used to encrypt data and an encryption key used to decrypt data are configured with the same encryption key. As an example of such a symmetric key encryption, the DES scheme is most commonly used, and recently, an application using the AES scheme is increasing.
-전자서명(Digital Signature)Digital Signature
서명자에 의해 문서가 작성되었음을 나타내기 위하여 사용된다. 이러한 전자서명의 예로는 RSA 전자서명, ElGamal 전자서명, DSA 전자서명, Schnorr 전자서명 등이 있다. Used by the signer to indicate that a document has been created. Examples of such digital signatures include RSA digital signatures, ElGamal digital signatures, DSA digital signatures, and Schnorr digital signatures.
-휴대용 저장장치Portable storage device
본 발명에서 사용하는 휴대용 저장장치는 플래시 메모리와 같이 데이터를 읽고 쓰고 지울 수 있는 성질을 갖는 비휘발성 메모리를 포함하고 데이터에 대한 소정의 연산 능력을 갖으며, 호스트 디바이스와의 연결/분리가 용이한 저장장치를 의미한다. 이러한 저장장치의 예로는 스마트 미디어, 메모리 스틱, CF카드, XD카드, 멀티미디어카드 등이 있다. The portable storage device used in the present invention includes a nonvolatile memory having a property of reading, writing, and erasing data, such as a flash memory, having a predetermined computing power, and easily connecting / disconnecting a host device. Means storage. Examples of such storage devices include smart media, memory sticks, CF cards, XD cards, and multimedia cards.
-호스트 디바이스Host device
본 발명에서 사용하는 호스트 디바이스는 휴대용 저장장치와 연결 가능하며, 휴대용 저장장치에 저장된 권리객체를 통해 디지털 컨텐츠를 직접 사용할 수 있는 멀티미디어 장치를 의미한다. 호스트 디바이스의 예로는 휴대폰, PDA, 노트북, 데스크 탑 컴퓨터, 디지털 TV 등이 있다. The host device used in the present invention refers to a multimedia device that can be connected to a portable storage device and can directly use digital contents through a rights object stored in the portable storage device. Examples of host devices include mobile phones, PDAs, notebooks, desktop computers, digital TVs, and the like.
-권리객체Right object
콘텐츠 객체를 사용할 수 있는 권한, 그 콘텐츠에 대한 사용 제한 정보, 권리객체의 복제 제한 정보, 권리객체 ID 및 콘텐츠 ID 등을 포함하는 일종의 라이센스이다. It is a kind of license that includes the right to use a content object, usage restriction information on the content, information on the duplication of the rights object, rights object ID, and content ID.
콘텐츠 객체를 사용할 수 있는 권한은 콘텐츠 객체를 복호화할 수 있는 콘텐츠 암호화 키(Content Encryption Key; 이하 CEK라 함)일 수 있다. CEK는 디바이스가 이용하고자 하는 콘텐츠 객체를 복호화하는 키 값이며, 호스트 디바이스는 권리객체가 저장된 휴대용 저장장치로부터 이 CEK를 전송 받음으로써 콘텐츠 객체를 사용할 수 있다.The right to use the content object may be a content encryption key (hereinafter referred to as CEK) capable of decrypting the content object. The CEK is a key value for decrypting the content object that the device intends to use, and the host device can use the content object by receiving the CEK from the portable storage device in which the rights object is stored.
사용 제한 정보는 콘텐츠 객체를 실행시키기 위해 권리객체를 소비할 수 있는 한도를 나타내는 정보이다. 사용 제한의 종류에는 사용 날짜 제한, 사용 횟수 제한, 사용 기간 제한, 사용 기한 제한 등이 있다. The usage restriction information is information indicating a limit in which a rights object can be consumed to execute a content object. The types of usage restrictions include the use date limit, the number of use limit, the usage period limit, and the usage limit.
사용 날짜 제한은 콘텐츠 객체를 사용할 수 있는 날짜를 제한 한다. 따라서 권리객체에 사용 날짜 제한이 설정된 경우 호스트 디바이스는 권리객체에 설정된 날짜 이후부터 또는 권리객체에 설정된 날짜 이전까지 해당 권리객체를 소비하여 콘텐츠 객체를 사용할 수 있게 된다.The usage date limit restricts the date on which the content object is available. Therefore, when the usage date limit is set in the rights object, the host device can use the content object by consuming the rights object after the date set in the rights object or before the date set in the rights object.
사용 횟수 제한은 콘텐츠 객체를 사용할 수 있는 횟수를 제한한다. 예컨데 권리객체에 사용 횟수 제한이N회로 설정되어 있다면, 호스트 디바이스는 해당 권리객체를 소비하여 콘텐츠 객체를 N번 사용할 수 있게 된다. The usage limit limits the number of times a content object can be used. For example, if the number of times of usage of the rights object is set to N times, the host device can consume the rights object and use the content object N times.
사용 기간 제한은 권리객체를 통해 콘텐츠 객체를 처음 사용한 때부터 권리객체에 설정된 기간 동안 해당 권리객체를 소비하여 콘텐츠 객체를 사용할 수 있도록 제한한다. 예컨데 권리객체에 사용 기간 제한이 1주일로 설정된 경우, 호스트 디바이스는 콘텐츠 객체를 사용하기 위해 해당 권리객체를 최초 소비한 때부터 1주일 동안 권리객체의 소비를 통해 콘텐츠 객체를 사용할 수 있게 된다. The usage period restriction restricts the use of the content object by consuming the rights object for the period set in the rights object from the first use of the content object through the rights object. For example, if the usage period limit is set to one week for the rights object, the host device can use the content object through the consumption of the rights object for one week from the first consumption of the rights object to use the content object.
사용 기한 제한은 콘텐츠 객체를 사용할 수 있는 시간의 총 합을 제한한다. 예컨데 권리객체에 사용 기한 제한이 10시간으로 설정되어 있다면, 호스트 디바이스는 해당 권리객체를 소비하여 10시간 동안 콘텐츠 객체를 사용할 수 있게 된다. 이때 호스트 디바이스는 콘텐츠 객체를 사용한 횟수나 날짜에 대한 제한은 받지 않는다. The usage limit restricts the total amount of time that a content object can be used. For example, if the expiration limit is set to 10 hours for the rights object, the host device can consume the rights object and use the content object for 10 hours. In this case, the host device is not limited to the number of times the content object is used or the date.
복제 제한 정보는 권리객체를 복사하거나 이동시킬 수 있는 횟수나 한도를 제한하는 정보이다. 복제 제한 정보는 복사 제한 정보 및 이동 제한 정보를 포함할 수 있다. The copy restriction information is information that limits the number or limit of the rights object that can be copied or moved. The copy restriction information may include copy restriction information and movement restriction information.
권리객체의 복사는 기존의 디바이스에 권리객체가 남아있는 상태에서 동일한 권리객체를 다른 디바이스에 전송시키는 개념이다. Copying a rights object is a concept of transmitting the same rights object to another device while the rights object remains in the existing device.
권리객체의 이동은 기존의 디바이스에 있던 권리객체를 다른 디바이스로 전 송시키면서 기존의 디바이스에서는 해당 권리객체를 삭제하는 개념이다. The movement of a rights object is a concept of deleting a rights object from an existing device while transferring the rights object existing in the existing device to another device.
따라서 사용자는 호스트 디바이스나 휴대용 저장장치에 저장된 권리객체를 해당 권리객체에 설정된 복사 제한 횟수 또는 이동 제한 횟수만큼 다른 호스트 디바이스나 휴대용 저장장치로 복사 또는 이동시킬 수 있다. Therefore, the user may copy or move the rights object stored in the host device or the portable storage device to another host device or the portable storage device by the copy limit number or the movement limit number set in the rights object.
권리객체 ID는 다른 권리객체로부터 자신을 식별하도록 하는 식별자이다. The rights object ID is an identifier that identifies itself from another rights object.
콘텐츠 ID는 권리객체를 소비함으로써 실행시킬 수 있는 콘텐츠 객체를 식별하기 위한 콘텐츠 객체의 식별자이다. The content ID is an identifier of the content object for identifying the content object that can be executed by consuming the rights object.
기타 권리객체에 대한 설명은 OMA DRM Enabler v1.0, 2002, Open Mobile Alliance 또는 OMA DRM v2.0 draft, 2004, Open Mobile Alliance에 상세히 나타나 있다. Descriptions of other rights objects are detailed in the OMA DRM Enabler v1.0, 2002, Open Mobile Alliance or OMA DRM v2.0 draft, 2004, Open Mobile Alliance.
-권리객체 상태정보Right object status information
본 발명에서 사용하는 권리객체 상태정보는 권리객체의 소비 정도를 나타내는 정보이다. 예컨데 권리객체에 사용 기한 정보가 10시간으로 설정되어 있고 호스트 디바이스가 콘텐츠 객체를 사용하기 위해 권리객체를 소비한 시간이 4시간인 경우, 권리객체 상태정보는 호스트 디바이스가 지금까지 권리객체를 소비한 시간(4시간) 또는 앞으로 호스트 디바이스가 권리객체를 소비하여 콘텐츠 객체를 사용할 수 있는 시간(6시간)에 대한 정보를 나타낸다. The rights object state information used in the present invention is information indicating the degree of consumption of the rights object. For example, if the expiration date information is set to 10 hours in the rights object and the host device spends 4 hours in order to use the content object, the rights object status information indicates that the host device has consumed the rights object so far. Information about the time (4 hours) or the time (6 hours) when the host device consumes the rights object and can use the content object in the future.
이러한 권리객체 상태정보는 권리객체 내에 포함될 수도 있고, 권리객체를 저장하고 있는 호스트 디바이스나 휴대용 저장장치에 의해 권리객체와 별도의 정보로써 관리될 수도 있다. The rights object state information may be included in the rights object or may be managed as information separate from the rights object by the host device or the portable storage device storing the rights object.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명의 일 실시예에 따른 DRM 개념을 나타낸 도면이다. 2 is a diagram illustrating a DRM concept according to an embodiment of the present invention.
사용자는 호스트 디바이스(210)를 통해 종래와 같이 콘텐츠 공급자(240)로부터 콘텐츠 객체를 획득할 수 있다. 또한 일정한 대가를 지불하고 권리객체 발행기관(230)으로부터 콘텐츠 객체를 실행시킬 수 있는 권리객체를 구입할 수 있다. The user may obtain a content object from the
한편 구입한 권리객체는 호스트 디바이스(210)에 저장시켜 둘 수도 있지만, 본 발명의 실시예에 따라 휴대용 저장장치(220)에 저장시킬 수도 있다. 이밖에도 휴대용 저장장치(220)는 그 생산시부터 하나 이상의 권리객체를 저장하고 있을 수 있다. Meanwhile, although the purchased rights object may be stored in the
이 경우 호스트 디바이스(210)는 콘텐츠 객체를 사용하기 위해 휴대용 저장장치(220)에 저장된 권리객체를 소비할 수 있다. 권리객체를 소비한 호스트 디바이스(210)는 권리객체의 소비 정도에 따라 해당 권리객체에 대한 상태갱신 정보를 생성하고 이를 휴대용 저장장치(220)에게 전송한다. 휴대용 저장장치(220)는 수신된 상태갱신 정보를 통해 해당 권리객체의 상태정보를 갱신하게 된다. In this case, the
또한 다른 호스트 디바이스(250)도 휴대용 저장장치(220)에 저장된 권리객체를 소비하여 콘텐츠 객체를 사용할 수 있다. 경우에 따라서는 휴대용 저장장치(220)에 저장된 권리객체를 다른 호스트 디바이스(250)에게 이동 또는 복사시킬 수도 있다. 따라서 휴대용 저장장치(220)를 사용하면 권리객체에 설정된 사용 제한 정보 또는 복제 제한 정보의 제한 범위 내에서 호스트 디바이스들(210, 250)이 간 편하게 권리객체를 공유할 수 있게 된다. 또한 권리객체들을 휴대용 저장장치(220)에 저장시킴으로써 호스트 디바이스(210)의 데이터 저장 능력을 향상시키고 권리객체의 관리를 간편히 할 수 있다. In addition, the
한편 호스트 디바이스(210)가 휴대용 저장장치(220)와 결합하여 데이터를 교환하기 전에 상호인증을 거치는 것이 일반적이다. 상호인증은 호스트 디바이스(210)와 휴대용 저장장치(220) 간에 교환되는 데이터의 보안을 유지하기 위한 기초 과정이며 이를 도 3을 통해 설명한다.In general, the
도 3은 본 발명의 일 실시예에 따른 호스트 디바이스와 휴대용 저장장치간 상호인증 과정을 나타낸 흐름도이다. 3 is a flowchart illustrating a mutual authentication process between a host device and a portable storage device according to an exemplary embodiment of the present invention.
도 3의 설명에 있어서 아래 첨자 H는 호스트 디바이스(210) 소유이거나 호스트 디바이스(210)가 생성한 데이터를 의미하고 아래 첨자 S는 휴대용 저장장치(220) 소유이거나 휴대용 저장장치(220)가 생성한 데이터를 의미한다.In the description of FIG. 3, the subscript H means data owned by or generated by the
호스트 디바이스(210)와 휴대용 저장장치(220)는 각각 자신만의 암호화키 쌍을 포함할 수 있으며, 암호화키 쌍은 공개키 암호화를 위해 사용된다. The
최초 호스트 디바이스(210)가 휴대용 저장장치(220)에게 상호인증을 요청한다(S10). 이때 호스트 디바이스(210)는 자신의 공개키를 휴대용 저장장치(220)에게 전송한다. 공개키는 인증기관(Certification Authority)이 호스트 디바이스(210)에 대하여 발행한 인증서H에 포함되어 전송될 수도 있다. The
휴대용 저장장치(220)는 호스트 디바이스(210)의 인증서H를 통해 호스트 디 바이스(210)가 정당한 디바이스인지를 확인할 수 있고, 호스트 디바이스(210)의 공개키를 얻을 수 있다.The
휴대용 저장장치(220)는 호스트 디바이스(210)의 인증서H를 확인한다(S12). 이때 휴대용 저장장치(220)는 인증서H의 유효기간 만료 여부 및, 인증서 폐기 목록(Certificate Revocation List; 이하, "CRL"이라 함)을 사용하여 인증서H가 유효한 것인지를 확인할 수 있다. 만일 인증서H의 유효기간이 지났거나, 인증서H가 CRL에 등록된 인증서일 경우라면 휴대용 저장장치(220)는 호스트 디바이스(210)와의 상호인증을 거부할 수 있다. 반면 인증서H가 유효한 것으로 확인된 경우 휴대용 저장장치(220)는 인증서H를 통해 호스트 디바이스(210)의 공개키를 얻을 수 있다. The
한편 호스트 디바이스(210)의 인증서가 유효한 것으로 확인된 경우 휴대용 저장장치(220)는 상호인증 요청에 응답하기 위해 난수S을 생성하고(S14), 이를 호스트 디바이스(210)의 공개키로 암호화한다(S16). On the other hand, if it is confirmed that the certificate of the
상호인증 응답으로써 암호화된 난수S는 휴대용 저장장치(220)의 공개키와 함께 호스트 디바이스(210)로 전송된다(S20). 이때 휴대용 저장장치(220)의 공개키 역시 휴대용 저장장치(220)의 인증서S에 포함되어 전송될 수도 있다. The random number S encrypted as the mutual authentication response is transmitted to the
호스트 디바이스(210)는 자신이 보유한 CRL을 통해 휴대용 저장장치(220)의 인증서S의 유효성을 확인하여 휴대용 저장장치(220)가 정당한 디바이스라는 것을 확 인할 수 있다(S22). 한편 호스트 디바이스(210)는 휴대용 저장장치(220)의 인증서를 통해 휴대용 저장장치(220)의 공개키를 얻고 암호화된 난수S을 자신의 개인키로 복호화하여 난수S을 얻을 수 있다(S24). The
휴대용 저장장치(220)가 정당한 디바이스라는 것을 확인한 호스트 디바이스(210) 또한 난수H를 생성하고(S26), 생성된 난수H를 휴대용 저장장치(220)의 공개키로 암호화한다(S28).Encrypts the portable storage device, the
그 후 호스트 디바이스(210)는 세션키 생성 요청과 함께 암호화된 난수H를 전송한다(S30). Thereafter, the
휴대용 저장장치(220)는 암호화된 난수H를 수신하여 자신의 개인키로 복호화한다(S32). 이에 따라 호스트 디바이스(210)와 휴대용 저장장치(220)는 자신이 생성한 난수와 상대가 생성한 난수를 공유할 수 있으며, 두개의 난수를 이용하여 세션키를 생성한다(S40, S42). 본 실시예에서 디바이스(210)와 휴대용 저장장치(220) 양자 모두에서 난수를 생성하여 사용함으로써 임의성을 크게 높일 수 있게 되고 안전한 상호인증이 가능하게 된다. The
한편 세션키를 생성한 호스트 디바이스(210)와 휴대용 저장장치(220)는 자신이 생성한 세션키가 상대방이 생성한 세션키와 동일한 지의 여부를 확인하는 작업을 수행할 수도 있다. Meanwhile, the
세션키를 공유한 호스트 디바이스(210)와 휴대용 저장장치(220)는 상호간에 전송되는 데이터를 세션키로 암호화하고 수신된 데이터를 세션키로 복호화 할 수 있다. 이로써 데이터 전송시 보안성을 강화할 수 있다. The
전술한 상호인증 과정은 호스트 디바이스(210)와 휴대용 저장장치(220)가 상호 공인된 디바이스라는 것을 확인하고 세션키를 공유하기 위한 과정의 일 예일 뿐이다. 따라서 호스트 디바이스(210)와 휴대용 저장장치(220)간 공통된 세션키를 생성하기 위해 이와 유사한 상호인증 과정이 수행될 수 있다. The above-described mutual authentication process is only an example of a process for confirming that the
한편 세션키를 통한 암호화는 대칭키 암호화 방식에 속할 수 있다. 그러나 본 발명은 이에 한정되지 않으며, 호스트 디바이스(210)와 휴대용 저장장치(220)는 전송할 데이터를 상대방의 공개키로 암호화하고 수신된 데이터를 자신의 개인키로 암호화하는 공개키 암호화 방식을 사용할 수 도 있다. Meanwhile, encryption using a session key may belong to symmetric key encryption. However, the present invention is not limited thereto, and the
이하 각 실시예에 있어서 특별한 언급이 없더라도 호스트 디바이스(210)와 휴대용 저장장치(220)는 상호 전송되는 데이터를 세션키 또는 상대방의 공개키로 암호화할 수 있으며, 수신된 데이터를 세션키 또는 자신의 개인키로 복호화할 수 있다.In the following embodiments, although not specifically mentioned, the
전술한 상호인증 과정 중에서나 상호인증 후에 호스트 디바이스와 휴대용 저장장치 간의 데이터 전송은 호스트 디바이스로부터 발생되는 컨트롤 신호에 의해 제어되며 이를 도 4를 통해 설명한다. Data transmission between the host device and the portable storage device during or after the mutual authentication process described above is controlled by a control signal generated from the host device, which will be described with reference to FIG. 4.
도 4는 본 발명의 일 실시예에 따른 호스트 디바이스와 휴대용 저장장치 간의 데이터를 전송 구조를 나타낸 도면이다. 4 is a diagram illustrating a structure of transmitting data between a host device and a portable storage device according to an embodiment of the present invention.
호스트 디바이스(210)와 휴대용 저장장치(220)가 연결되면 호스트 디바이스 (210)와 휴대용 저장장치(220)는 자신이 구동 중인 어플리케이션의 동작에 따라 필요한 데이터를 상호간 전송하게 된다. 예컨데 콘텐츠 객체를 실행시키기 위해 호스트 디바이스(210)는 휴대용 저장장치(220)에 저장된 권리객체를 전송 받을 수 있다. 또는 권리객체를 소비함에 따라 권리객체의 상태정보를 갱신해야 할 경우, 호스트 디바이스(210)는 권리객체를 소비하여 콘텐츠 객체를 사용한 시간이나 횟수 등 소비된 권리객체의 상태정보를 갱신하는데 필요한 데이터를 휴대용 저장장치(220)에게 전송할 수도 있다. When the
이러한 데이터 전송을 제어하기 위해 호스트 디바이스(210)는 휴대용 저장장치(220)에게 컨트롤 신호(310)를 전송한다. 컨트롤 신호(310)는 쓰기명령과 읽기명령로 구성될 수 있다. 쓰기명령은 휴대용 저장장치(220)가 데이터 수신을 준비하도록 하는 컨트롤 신호이고, 읽기명령은 휴대용 저장장치(220)가 데이터 송신을 준비하도록 하는 컨트롤 신호이다. In order to control such data transmission, the
따라서 휴대용 저장장치(220)는 호스트 디바이스(210)로부터 전송되는 컨트롤 신호를 통해 데이터의 송신 또는 수신을 준비하게 된다. 또한 호스트 디바이스(210)는 쓰기명령을 통해 휴대용 저장장치(220)에게 데이터를 전송하거나 읽기명령을 통해 휴대용 저장장치(220)에 저장된 데이터에 억세스하게 된다. Accordingly, the
이처럼 호스트 디바이스와 휴대용 저장장치 간에 필요한 데이터를 송수신하기 위해서는 호스트 디바이스로부터의 컨트롤 신호가 필요하다.As such, a control signal from the host device is required to transmit and receive necessary data between the host device and the portable storage device.
도 5는 본 발명의 일 실시예에 데이터 전송 구조를 보다 구체적으로 나타낸 도면이다. 5 is a diagram illustrating a data transmission structure in more detail in an embodiment of the present invention.
도시된 도면은 호스트 디바이스(210)에서 구동 중인 어플리케이션A와 휴대용 저장장치(220)에서 구동 중인 어플리케이션B가 상호 필요한 데이터를 전송하는 모습을 나타내고 있다.The illustrated figure shows how Application A running on the
휴대용 저장장치(220)에게 데이터를 전송하기 위해 호스트 디바이스(210)는 쓰기명령(312)과 읽기명령(314)의 쌍으로 구성되는 컨트롤 신호(310)를 사용한다. To transmit data to the
예컨데 호스트 디바이스(210)가 소비한 권리객체의 상태 정보를 갱신하기 위해 필요한 데이터를 휴대용 저장장치(220)에게 전송시키려는 경우, 호스트 디바이스(210)는 쓰기 명령(312)을 통해 권리객체를 갱신하는데 필요한 데이터(322)를 전송할 수 있다. 이때 호스트 디바이스(210)는 읽기 명령(314)을 통해 휴대용 저장장치(220)로부터 권리객체의 성공적인 전송 여부에 관한 응답 데이터(324)를 수신 받게 된다. For example, when the
한편 휴대용 저장장치(220)에 저장된 데이터에 억세스 하려는 경우에도 호스트 디바이스(210)는 쓰기명령(312)과 읽기명령(314)의 쌍으로 구성된 컨트롤 신호(310)를 사용한다. Meanwhile, even when accessing data stored in the
예컨데 호스트 디바이스(210)가 휴대용 저장장치(220)에 저장된 권리객체에 억세스하려는 경우, 쓰기 명령(312)을 통해 전송되는 데이터(322)는 널(null) 값으로 채워진 빈 데이터일 수 있다. 그 후 호스트 디바이스(210)는 읽기명령(314)을 전송하고 휴대용 저장장치(220)에 저장된 권리객체 데이터(324)를 전송 받게 된다. For example, when the
이처럼 호스트 디바이스(210)는 데이터를 송신하거나 수신 받기 위해 쓰기 명령(312)/데이터(322) 송신 및 읽기명령(314)/데이터(324) 수신의 과정을 거치게 된다. As such, the
따라서 본 발명의 실시예에 따른 호스트 디바이스(210)는 쓰기명령(312)을 전송한 후 읽기명령(314)의 전송을 준비하며, 쓰기명령(312) 또는 읽기명령(314)이 연속하여 전송되는 것을 방지한다. Therefore, the
또한 본 발명의 실시예에 따른 휴대용 저장장치(220)는 호스트 디바이스(210)로부터 쓰기명령(312)이 전송되면 그 후 읽기명령(314)이 전송될 것으로 예상하게 된다. 만약 쓰기명령(312) 또는 읽기명령(314)이 연속하여 수신되는 경우, 휴대용 저장장치(220)는 자신과 연결된 호스트 디바이스(210)에 오류가 발생한 것으로 판단할 수 있다. In addition, the
도 6은 본 발명의 일 실시예에 따른 호스트 디바이스와 휴대용 저장장치 간의 통신 과정을 나타낸 도면이다.6 is a diagram illustrating a communication process between a host device and a portable storage device according to an embodiment of the present invention.
도시된 도면은 호스트 디바이스(210)에서 구동 중인 어플리케이션A 및 어플리케이션B가 휴대용 저장장치(220)에서 구동 중인 어플리케이션K와 상호 필요한 데이터를 전송하려는 모습을 나타내고 있다.The illustrated figure shows that Application A and Application B, which are running on the
어플리케이션A는 도 5를 통해 설명한 바와 마찬가지로 쓰기명령(312) 및 읽기명령(314)의 쌍으로 구성되는 컨트롤 신호를 통해 어플리케이션K와 데이터 교환을 할 수 있다. 이때 호스트 디바이스(210)는 쓰기명령(312) 전송 후 이와 쌍을 이루는 읽기명령(314)이 출력되기 전까지 어플리케이션A의 다른 데이터 송수신 요구나, 다른 어플리케이션인 어플리케이션B의 데이터 송수신 요구에 따른 쓰기명령이 출력되는 것을 금지시킨다. 어플리케이션A의 다른 데이터 송수신 요구나, 어플 리케이션B의 데이터 송수신 요구에 따른 쓰기명령은 최초 출력된 쓰기명령(312)과 쌍을 이루는 읽기명령(314)이 출력된 후에 출력될 수 있다. As described with reference to FIG. 5, the application A may exchange data with the application K through a control signal composed of a pair of a write command 312 and a read command 314. At this time, the
한편 호스트 디바이스로(210)부터 쓰기명령(312)을 수신한 휴대용 저장장치(220)는 호스트 디바이스(210)로부터 읽기명령(314)이 수신되기 전에 다른 쓰기명령이 수신되는 경우 호스트 디바이스(210)에게 에러 메시지를 전송하거나 호스트 디바이스(210)와의 통신을 중단시킬 수 있다. On the other hand, the
이에 따라서 호스트 디바이스(210)로부터 전송된 데이터(322)에 대해 휴대용 저장장치(220)가 잘못된 응답 데이터를 발생시키도록 하기 위한 또 다른 데이터가 휴대용 저장장치(220)로 입력되는 것을 방지할 수 있다. 즉, 도시된 도면에서 휴대용 저장장치(220)의 어플리케이션K에 의해 호스트 디바이스(210)로 출력되는 데이터(324)는 호스트 디바이스(210)로부터 전송된 데이터(322)에 대한 적합한 응답 데이터가 된다. Accordingly, another data for causing the
도 7은 본 발명의 일 실시예에 따른 호스트 디바이스를 나타낸 도면이다. 7 illustrates a host device according to an embodiment of the present invention.
본 실시예 및 이하의 실시예에서 사용되는 모듈이란 특정 기능을 수행하는 소프트웨어 또는 FPGA나 ASIC과 같은 하드웨어 구성요소를 의미한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. Modules used in this embodiment and the following embodiments refer to software that performs specific functions or hardware components such as FPGAs or ASICs. However, modules are not meant to be limited to software or hardware. The module may be configured to be in an addressable storage medium and may be configured to play one or more processors.
따라서, 일 예로서 모듈은 소프트웨어 구성요소, 객체지향 소프트웨어 구성요소, 클래스 구성요소들 및 태스크 구성요소과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들 일 수 있다. 구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 또한, 구성요소들 및 모듈들은 호스트 디바이스 또는 휴대용 저장장치 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.Thus, as an example, a module may include components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, subroutines, program code. May be segments, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided within the components and modules may be combined into a smaller number of components and modules or further separated into additional components and modules. In addition, the components and modules may be implemented to reproduce one or more CPUs in a host device or portable storage device.
호스트 디바이스(210)는 휴대용 저장장치(220)와 데이터 교환이 가능하도록 하는 인터페이스 모듈(211), DRM을 수행하기 위하여 각 구성모듈을 제어하는 제어모듈(212), 보안기능을 갖는 암호화 모듈(213) 및 저장 기능을 갖는 저장모듈(214)을 포함한다. 또한 호스트 디바이스(210)는 DRM 기능을 수행하는데 필요한 각종 어플리케이션을 구동시키는 어플리케이션 구동모듈(215), 콘텐츠 객체의 실행 내용을 디스플레이하기 위한 디스플레이 모듈(216) 및 외부 디바이스 또는 시스템과 데이터를 송수신할 수 있는 송수신 모듈(217)을 포함한다.The
인터페이스 모듈(211)은 호스트 디바이스(210)가 휴대용 저장장치(220)와 연결될 수 있도록 한다. 기본적으로 호스트 디바이스(210)가 휴대용 저장장치(220)와 연결된다는 것은 휴대용 저장장치(220)와 호스트 디바이스(210)의 인터페이스 모듈들(211, 221)이 서로 전기적으로 연결된 것을 의미하지만, 이는 예시적인 것으로서 '연결'이라는 의미는 비접촉 상태에서 무선매체를 통해 서로 통신할 수 있는 상태에 있다는 의미도 포함되는 것으로 해석해야 한다. 이러한 인터페이스 모듈(211)을 통해 휴대용 저장장치(220)로 컨트롤 신호가 전송되거나 데이터가 송수 신될 수 있다.The
제어 모듈(212)은 어플리케이션 구동모듈(215)에 의해 구동되는 어플리케이션의 요청에 따라 휴대용 저장장치(220)와의 데이터 송수신 과정을 제어하고, 데이터 송수신을 위한 컨트롤 신호를 인터페이스 모듈(211)로 출력한다. 컨트롤 신호는 전술한 바와 같이 쓰기명령과 읽기명령의 쌍으로 구성될 수 있으며, 제어모듈(212)은 쓰기명령이나 읽기명령이 연속적으로 출력되는 것을 방지한다. 제어모듈(212)에 의한 컨트롤 신호 출력은 도 6을 통해 설명한 바와 같다. The
따라서 어플리케이션의 데이터 송신/수신 요청에 따라 쓰기 명령이 출력된 후 동일 어플리케이션의 다른 데이터 송수신 요청이 입력되는 경우, 제어모듈(212)은 출력된 쓰기명령과 쌍을 이루는 읽기명령이 출력되기 전까지 다른 데이터 송수신 요청에 따른 쓰기명령의 출력을 제한한다.Therefore, when another data transmission / reception request of the same application is input after a write command is output according to the data transmission / reception request of the application, the
또한 특정 어플리케이션의 데이터 송신/수신 요청에 따라 쓰기 명령이 출력된 후 어플리케이션 구동모듈(215)에 의해 구동되는 다른 어플리케이션으로부터 데이터 송수신 요청이 입력되는 경우에도, 제어모듈(212)은 출력된 쓰기명령과 쌍을 이루는 읽기명령이 출력되기 전까지 다른 어플리케이션의 요청에 따른 쓰기명령의 출력을 제한한다. In addition, even when a data transmission / reception request is input from another application driven by the
암호화 모듈(213)은 암호화를 수행하는 모듈로서 제어모듈(212)의 요청에 따라 휴대용 저장장치(220)로 전송하는 데이터를 암호화하거나, 휴대용 저장장치(220)부터 암호화되어 수신된 데이터를 복호화 한다. 암호화 모듈(213)은 공개키 암호화 방식뿐만 아니라 비밀키 암호화 방식 또한 수행할 수 있으며 두가지 방식을 모두 수행하기 위해 하나 이상의 암호화 모듈이 존재할 수도 있다.The
특히 권리객체들은 암호화 상태로 저장될 수 있는데, 호스트 디바이스(210)는 암호화 모듈(213)을 통해 다른 디바이스들 혹은 휴대용 저장장치(220)에서 읽을 수 없는 고유한 암호키를 이용하여 권리객체들을 암호화 할 수 있다. 또한 다른 디바이스나 휴대용 저장장치(220)에 권리객체를 이동 또는 복사하려고 할 때 고유한 암호키를 이용하여 복호화할 수 있다. 이러한 권리객체의 암호화에는 고유한 암호키를 사용한 대칭키 암호화 방식을 이용할 수 있으며, 이밖에 호스트 디바이스(210)의 공개키로 암호화하고 필요시에 호스트 디바이스(210)의 개인키로 복호화하는 것도 가능하다. 또한 암호화 모듈(213)은 상호인증 과정시 필요한 소정의 난수를 생성할 수도 있다.In particular, the rights objects may be stored in an encrypted state. The
저장 모듈(214)은 암호화된 콘텐츠들과 권리객체들 및 호스트 디바이스(210)의 인증서와 CRL등 DRM 기술을 적용시키는데 필요한 데이터를 저장한다. 또한 저장모듈(214)는 어플리케이션 구동모듈(215)이 어플리케이션을 구동시키는데 필요한 데이터를 저장할 수도 있다.The
어플리케이션 구동모듈(215)은 DRM을 수행하기 위해 필요한 어플리케이션을 구동시킨다. 예컨데 어플리케이션 구동모듈(215)에 의해 구동되는 어플리케이션은 콘텐츠 객체를 실행시키기거나, 콘텐츠 객체를 실행시키기 위해 소비된 권리객체의 상태정보를 갱신하기 위한 데이터를 생성하는 등의 기능을 수행하게 된다. The
이러한 어플리케이션 구동모듈(215)은 하나 이상의 어플리케이션을 동시에 구동시킴으로써 호스트 디바이스(210)가 다양한 기능을 수행하도록 할 수 있다. 또한 호스트 디바이스(210)는 하나 이상의 어플리케이션 구동모듈(215)을 포함할 수도 있다. The
어플리케이션 구동모듈(215)에 의해 구동되는 어플리케이션은 제어모듈(212)에게 휴대용 저장장치(220)로의 데이터 전송 또는 휴대용 저장장치(220)로부터의 데이터 수신을 요청할 수 있다. An application driven by the
예컨데 호스트 디바이스(210)가 소비한 권리객체의 상태 정보를 갱신하기 위해 필요한 갱신 정보를 생성하는 어플리케이션은 생성된 갱신 정보를 휴대용 저장장치로 전송하도록 제어모듈(212)에게 요청할 수 있다. 또한 특정 콘텐츠 객체를 실행시키기 위한 어플리케이션은 콘텐츠 객체를 실행시키기 위해 필요한 권리객체를 휴대용 저장장치로부터 수신하도록 제어모듈(212)에게 요청할 수도 있다.For example, an application that generates update information necessary for updating status information of the rights object consumed by the
디스플레이 모듈(216)은 권리객체를 통해 사용이 허가된 콘텐츠 객체가 실행되는 모습(예컨데, 콘텐츠 객체의 재생)을 사용자가 시각적으로 볼 수 있도록 디스플레이 한다. 디스플레이 모듈(216)은 TFT LCD와 같은 액정표시장치나 유기EL등으로 구현될 수 있다.The
송수신 모듈(217)은 호스트 디바이스(210)가 콘텐츠 발행자나 권리객체 발행기관과 유무선으로 통신할 수 있도록 한다. 호스트 디바이스(210)는 송수신 모듈(217)을 통해 권리객체나 콘텐츠 객체를 외부로부터 얻을 수 있다. The transmission /
도 8은 본 발명의 일 실시예에 따른 휴대용 저장장치를 나타낸 블록도이다. 8 is a block diagram illustrating a portable storage device according to an embodiment of the present invention.
휴대용 저장장치(220)는 호스트 디바이스(210)와의 데이터 교환이 가능하도록 하는 인터페이스 모듈(221), DRM 과정을 수행하기 위하여 각 구성모듈을 제어하 는 제어모듈(222), 보안기능을 갖는 암호화 모듈(223), 저장 기능을 갖는 저장 모듈(224) 및 DRM 기능을 수행하는데 필요한 각종 어플리케이션을 구동시키는 어플리케이션 구동모듈(225)을 포함한다.The
인터페이스 모듈(211)은 호스트 디바이스(210)가 휴대용 저장장치(220)와 연결될 수 있도록 한다. 기본적으로 호스트 디바이스(210)가 휴대용 저장장치(220)와 연결된다는 것은 휴대용 저장장치(220)와 호스트 디바이스(210)의 인터페이스 모듈들(211, 221)이 서로 전기적으로 연결된 것을 의미하지만, 이는 예시적인 것으로서 '연결'이라는 의미는 비접촉 상태에서 무선매체를 통해 서로 통신할 수 있는 상태에 있다는 의미도 포함되는 것으로 해석해야 한다. 이러한 인터페이스 모듈(211)을 통해 휴대용 저장장치(220)로 컨트롤 신호가 전송되거나 데이터가 송수신될 수 있다.The
제어모듈(222)은 인터페이스 모듈(221)을 통해 호스트 디바이스(210)로부터 수신된 컨트롤 신호에 따라 데이터의 수신 또는 데이터의 송신을 준비한다. 예컨데 쓰기명령이 수신된 경우 제어모듈(222)은 데이터 수신을 대기하며 수신된 데이터를 저장모듈(222)에 저장시키거나, 어플리케이션 구동모듈(225)에 의해 구동되는 어플리케이션이 처리할 수 있도록 한다. 또한 읽기명령이 수신된 경우 제어모듈(222)은 저장모듈(224)에 저장된 데이터 또는 어플리케이션 구동모듈(225)에 의해 구동되는 어플리케이션이 처리한 데이터를 인터페이스모듈(221)을 통해 호스트 디바이스로 전송시키도록 한다. The
한편 제어모듈(222)은 쓰기명령이 수신되면 그후 읽기명령이 수신될 것을 기 대하게 되며, 읽기명령이 수신되기 전에 또 다른 쓰기명령이 수신되는 경우 호스트 디바이스(210)와의 통신을 중단시킬 수도 있다. 즉 제어모듈(222)은 연속적으로 입력된 쓰기명령에 따른 데이터 수신을 제한하며, 경우에 따라서는 읽기명령이 연속적으로 입력되는 경우에도 호스트 디바이스(210)와의 통신을 중단시킬 수 있다. On the other hand, if the write command is received, the
암호화 모듈(223)은 암호화를 수행하는 모듈로서 제어 모듈(222)의 요청에 따라 호스트 디바이스(210)로 전송하는 데이터를 암호화하거나, 호스트 디바이스(210)로부터 암호화되어 수신된 데이터를 복호화 한다. 암호화 모듈(223)은 공개키 암호화 방식 뿐만 아니라 비밀키 암호화 방식 또한 수행할 수 있으며 두가지 방식을 모두 수행하기 위해 하나 이상의 암호화 모듈이 존재할 수도 있다.The
특히 권리객체들은 암호화 상태로 저장될 수 있는데, 휴대용 저장장치(220)는 암호화 모듈(223)을 통해 다른 디바이스들에서 읽을 수 없는 고유한 암호키를 이용하여 권리객체들을 암호화할 수 있다. 또한 다른 디바이스에 권리객체를 이동 또는 복사하려고 할 때 또는 다른 디바이스가 특정 콘텐츠의 사용 권한을 요구하는 경우 고유한 암호키를 이용하여 암호화된 권리객체를 복호화할 수 있다. 이러한 권리객체의 암호화에는 고유한 암호키를 사용한 대칭키 암호화 방식을 이용할 수 있으며, 이밖에 휴대용 저장장치(220)의 공개키로 암호화하고 필요시에 휴대용 저장장치(220)의 개인키로 복호화하는 것도 가능하다. 또한 암호화 모듈(223)은 상호인증 과정 시 필요한 소정의 난수를 생성할 수도 있다. In particular, the rights objects may be stored in an encrypted state, and the
저장 모듈(224)은 콘텐츠 객체들과 권리객체들, 각 권리객체의 상태정보 및 휴대용 저장장치(220)의 인증서와 CRL등 DRM 기능을 수행하는데 필요한 데이터를 저장한다. 저장 모듈(224)에 저장된 권리객체는 다른 디바이스(예컨데 호스트 디바이스(210))로부터 획득한 것일 수 있으며, 휴대용 저장장치(220)의 생산시부터 저장된 것일 수도 있다. 또한 저장모듈(224)는 어플리케이션 구동모듈(225)이 어플리케이션을 구동시키는데 필요한 데이터를 저장할 수도 있다.The
어플리케이션 구동모듈(225)은 DRM을 수행하기 위해 필요한 어플리케이션을 구동시킨다. 예컨데 어플리케이션 구동모듈(225)에 의해 구동되는 어플리케이션은 콘텐츠 객체를 실행시키기 위해 소비된 권리객체의 상태정보를 갱신하거나, 특정 권리객체가 갖는 상태정보를 추출하는 등의 기능을 수행할 수 있다. The
이러한 어플리케이션 구동모듈(225)은 하나 이상의 어플리케이션을 동시에 구동시킴으로써 휴대용 저장장치(220)가 다양한 기능을 수행하도록 할 수 있다. 또한 휴대용 저장장치(220)는 하나 이상의 어플리케이션 구동모듈(225)을 포함할 수도 있다. The
도 9는 본 발명의 일 실시예에 따른 호스트 디바이스의 동작 과정을 나타낸 흐름도이다. 9 is a flowchart illustrating an operation process of a host device according to an embodiment of the present invention.
최초 휴대용 저장장치(220)와 연결된 호스트 디바이스(210)의 어플리케이션 구동모듈(215)은 DRM 기능을 수행하기 위한 소정의 어플리케이션을 구동시킨다(S110). The
구동된 어플리케이션이 휴대용 저장장치(220)와의 데이터 송수신을 요청하면(S120), 제어모듈(212)은 쓰기명령을 인터페이스 모듈(211)을 통해 쓰기명령 및 그에 따른 데이터를 전송시킨다(S130).When the driven application requests data transmission / reception with the portable storage device 220 (S120), the
어플리케이션의 요청이 데이터 송신 요청인 경우 쓰기명령을 통해 송신되는 데이터는 어플리케이션이 요청한 데이터이며, 어플리케이션의 요청이 데이터 수신 요청인 경우 쓰기명령을 통해 송신되는 데이터는 널 값으로 채워진 데이터일 수 있다.When the request of the application is a data transmission request, the data transmitted through the write command is data requested by the application. When the request of the application is a data reception request, the data transmitted through the write command may be data filled with a null value.
쓰기명령 출력 후 동일 어플리케이션의 다른 데이터 송수신 요청이 있거나, 어플리케이션 구동모듈(215)에 의해 구동되는 다른 어플리케이션의 데이터 송수신 요청이 있는 경우, 제어모듈(212)은 해당 요청에 따른 쓰기명령의 출력을 대기시킨다(S150). 이러한 요청이 없는 경우 제어모듈(212)은 읽기명령 출력 단계(S160)의 과정을 수행한다. When there is another data transmission / reception request of the same application after outputting the write command, or when there is a data transmission / reception request of another application driven by the
쓰기명령 출력 후 제어모듈(212)은 출력된 쓰기명령과 쌍을 이루는 읽기명령을 출력하고 휴대용 저장장치(220)로부터 데이터를 수신하게 된다(S160). After outputting the write command, the
어플리케이션의 요청(S120)이 데이터 송신 요청이었던 경우 읽기명령을 통해 수신되는 데이터는 쓰기명령을 통해 전송한 데이터가 정상적으로 전송되었는지의 여부에 관한 데이터일 수 있다. 또한 어플리케이션의 요청(S120)이 데이터 수신 요청이었던 경우 읽기명령을 통해 수신되는 데이터는 수신 요청된 데이터일 수 있다.When the request S120 of the application is a data transmission request, the data received through the read command may be data regarding whether the data transmitted through the write command is normally transmitted. In addition, when the request (S120) of the application was a data reception request, the data received through the read command may be data requested to be received.
그 후 컨트롤 신호의 출력을 대기시켜 두었던 경우에는 단계 S130 이하의 과정을 다시 수행할 수 있다. After that, if the output of the control signal is made standby, the process of step S130 or less can be performed again.
도 10은 본 발명의 일 실시예에 따른 휴대용 저장장치의 동작 과정을 나타낸 흐름도이다. 10 is a flowchart illustrating an operation process of a portable storage device according to an embodiment of the present invention.
최초 호스트 디바이스(210)와 연결된 휴대용 저장장치(220)의 어플리케이션 구동모듈(225)은 DRM 기능을 수행하기 위한 소정의 어플리케이션을 구동시킨다(S210).The
호스트 디바이스(210)와의 동작에 따라 휴대용 저장장치(220)는 호스트 디바이스(210)로부터 쓰기명령 및 데이터를 수신하게 된다(S220, S230). 제어모듈(222)은 수신된 데이터를 저장모듈(224)에 저장시키거나, 어플리케이션 구동모듈(225)에 의해 구동되는 어플리케이션이 처리할 수 있도록 한다. According to an operation with the
한편 제어모듈(222)은 쓰기명령이 수신되면 그 후 읽기명령이 수신될 것을 기대하게 된다. 따라서 컨트롤 신호가 수신되면(S240) 제어모듈(222)은 수신된 컨트롤 신호가 읽기명령인지의 여부를 판단하게 된다(S250). Meanwhile, the
만약 수신된 컨트롤 신호가 쓰기명령인 경우 제어모듈(222)은 호스트 디바이스(210)와의 통신을 중단시킬 수 있다(S270). 즉 제어모듈(222)은 연속적으로 입력된 쓰기명령에 따른 데이터 수신을 제한하며, 경우에 따라서는 읽기명령이 연속적으로 입력되는 경우에도 호스트 디바이스(210)와의 통신을 중단시킬 수 있다.If the received control signal is a write command, the
한편 읽기명령이 수신된 경우 제어모듈(222)은 저장모듈(224)에 저장된 데이터 또는 어플리케이션 구동모듈(225)에 의해 구동되는 어플리케이션이 처리한 데이터를 인터페이스모듈(221)을 통해 호스트 디바이스로 전송시키도록 한다(S260). Meanwhile, when a read command is received, the
이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이 해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention belongs may be embodied in other specific forms without changing the technical spirit or essential features of the present invention. You can understand that there is. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.
상기한 바와 같은 본 발명의 호스트 디바이스, 휴대용 저장장치 및 이들 간의 통신 방법에 따르면 호스트 디바이스와 휴대용 저장장치 간의 통신에 보안을 강화할 수 있다. According to the host device, the portable storage device and the communication method of the present invention as described above, it is possible to enhance security in the communication between the host device and the portable storage device.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040078736A KR100664924B1 (en) | 2004-10-04 | 2004-10-04 | Portable storage, host device and method for communication between them |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040078736A KR100664924B1 (en) | 2004-10-04 | 2004-10-04 | Portable storage, host device and method for communication between them |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060029879A KR20060029879A (en) | 2006-04-07 |
KR100664924B1 true KR100664924B1 (en) | 2007-01-04 |
Family
ID=37140064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040078736A KR100664924B1 (en) | 2004-10-04 | 2004-10-04 | Portable storage, host device and method for communication between them |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100664924B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101555241B1 (en) * | 2007-08-17 | 2015-10-07 | 삼성전자 주식회사 | Portable storage device and method for managing resource of the portable storage device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101346734B1 (en) * | 2006-05-12 | 2014-01-03 | 삼성전자주식회사 | Multi certificate revocation list support method and apparatus for digital rights management |
-
2004
- 2004-10-04 KR KR1020040078736A patent/KR100664924B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101555241B1 (en) * | 2007-08-17 | 2015-10-07 | 삼성전자 주식회사 | Portable storage device and method for managing resource of the portable storage device |
Also Published As
Publication number | Publication date |
---|---|
KR20060029879A (en) | 2006-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100608605B1 (en) | Method and apparatus for digital rights management | |
KR101100385B1 (en) | Method and apparatus for digital rights management by using certificate revocation list | |
CA2560570C (en) | Authentication between device and portable storage | |
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 | |
KR101169021B1 (en) | Method and Apparatus for sending right object information between device and portable storage | |
AU2005255327B2 (en) | Method and apparatus for digital rights management using certificate revocation list | |
KR101100391B1 (en) | Method for playbacking content using portable storage by digital rights management, and portable storage for the same | |
KR20050096040A (en) | Method for playbacking content using portable storage by digital rights management, and portable storage for the same | |
US20060155651A1 (en) | Device and method for digital rights management | |
TW201009637A (en) | Backing up digital content that is stored in a secured storage device | |
US8438112B2 (en) | Host device, portable storage device, and method for updating meta information regarding right objects stored in portable storage device | |
KR101152388B1 (en) | Apparatus and method for operating many applications between portable storage device and digital device | |
KR100664924B1 (en) | Portable storage, host device and method for communication between them | |
KR20110084144A (en) | Method and apparatus for sending right object information between device and portable storage | |
KR20090018566A (en) | Portable storage device and method for managing resource of the portable storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 20091001 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |