KR100501211B1 - Apparatus for drm client software based on plug-in architecture - Google Patents
Apparatus for drm client software based on plug-in architecture Download PDFInfo
- Publication number
- KR100501211B1 KR100501211B1 KR10-2002-0083159A KR20020083159A KR100501211B1 KR 100501211 B1 KR100501211 B1 KR 100501211B1 KR 20020083159 A KR20020083159 A KR 20020083159A KR 100501211 B1 KR100501211 B1 KR 100501211B1
- Authority
- KR
- South Korea
- Prior art keywords
- plug
- drm
- client
- library
- license
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/603—Digital right managament [DRM]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 발명은 사용자에게 전달된 컨텐츠를 이용하기 위한 클라이언트 소프트웨어 기술에 관한 것으로, DRM(Digital Rights Management)을 기반으로 한 디지털 컨텐츠의 유통과정에서 컨텐츠를 구매하여 이용하는 사용자 컴퓨터에 설치되어 동작하는 플러그인 구조 기반의 DRM 클라이언트 장치에 관한 것이다.The present invention relates to a client software technology for using content delivered to a user, and based on a plug-in structure installed and operated in a user computer that purchases and uses content in a distribution process of digital content based on digital rights management (DRM). Relates to a DRM client device.
본 발명은 사용자에게 전달된 컨텐츠를 이용하기 위한 클라이언트 장치에 있어서, 표준 플러그인 API를 제공하며, 라이센스를 이용하여 컨테이너를 언패키징 하고, 메타데이터를 해석하여 DRM 정책에 따라 플러그인을 제어하여 저작권 보호 기능을 수행하는 클라이언트 메인부; 여러 모듈에서 공용으로 이용되는 기능들로 구성된 라이브러리부; 외부 뷰어와 DRM 클라이언트 메인 부분 사이에서 DRM 정책을 전달하고 외부 뷰어를 제어하며 표준화된 API를 이용하는 플러그인부; 및 DRM 클라이언트로부터 독립된 외부 뷰어 소프트웨어부;를 포함하는 것을 특징으로 한다.The present invention provides a standard plug-in API in a client device for using contents delivered to a user, unpacks a container using a license, interprets metadata, and controls a plug-in according to a DRM policy to protect a copyright. Client main unit performing the; Library unit consisting of functions commonly used in several modules; A plug-in unit which transfers a DRM policy between the external viewer and the main DRM client, controls the external viewer, and uses a standardized API; And an external viewer software unit independent from the DRM client.
Description
본 발명은 사용자에게 전달된 컨텐츠를 이용하기 위한 클라이언트 소프트웨어 기술에 관한 것으로, 상세하게는 DRM(Digital Rights Management)을 기반으로 한 디지털 컨텐츠의 유통과정에서 컨텐츠를 구매하여 이용하는 사용자 컴퓨터에 설치되어 동작하는 플러그인 구조 기반의 DRM 클라이언트 장치에 관한 것이다.The present invention relates to a client software technology for using content delivered to a user, and more particularly, is installed and operated in a user computer that purchases and uses content in a distribution process of digital content based on digital rights management (DRM). A plug-in structure-based DRM client device.
최근 들어 인터넷 사용자는 기하급수적으로 늘고 있는 추세이며, 이에 따라 디지털 컨텐츠의 수요와 공급도 급증하고 있는 실정이다.Recently, the number of Internet users is increasing exponentially, and the demand and supply of digital contents are also increasing rapidly.
기존의 DRM(Digital Rights Management) 기반 컨텐츠 유통 솔루션들에 포함된 클라이언트 소프트웨어는 해당 솔루션의 제작사에 의해 개발된 전용 뷰어 프로그램이나 기존 뷰어 프로그램에 대한 제어 소프트웨어의 형태로 제공되었다. Client software included in existing digital rights management (DRM) based content distribution solutions was provided in the form of a dedicated viewer program developed by the solution's manufacturer or control software for the existing viewer program.
일반적으로, DRM 클라이언트 기술에서 외부 뷰어 소프트웨어를 지원하는 방안은 다음과 같이 크게 세가지로 나눌 수 있다.In general, there are three ways to support external viewer software in DRM client technology.
첫 번째는 자사의 DRM 클라이언트 모듈과 밀착되어 동작하는 전용 뷰어 소프트웨어를 이용하는 방법으로, 컨텐츠의 보호 기능은 잘 동작되나 컨텐츠의 종류에 따라 솔루션 개발사가 모든 전용 뷰어를 직접 제작해야 한다는 문제가 있다. 특히 포맷이 공개되지 않은 컨텐츠에 대해서는 전용 뷰어의 제작이 어렵다는 약점이 있다.The first is to use dedicated viewer software that works closely with the company's DRM client module. The content protection function works well, but there is a problem that the solution developer must produce all the dedicated viewers according to the type of content. In particular, it is difficult to produce a dedicated viewer for content whose format is not disclosed.
두 번째는 유명한 소프트웨어 제작업체가 자사의 컨텐츠 포맷에 대한 자사의 전용 소프트웨어에 컨텐츠 보호기술을 포함시키는 방법으로, 컨텐츠의 보호 기능은 잘 동작되나 자사의 컨텐츠 포맷만을 지원한다는 단점이 있다.The second is how well-known software vendors include content protection technology in their proprietary software for their content formats, which works well but only supports their content format.
세 번째는 기존의 뷰어 프로그램을 그대로 이용하되 클라이언트에서 DRM 정책에 따라 뷰어를 제어하는 방법으로, 솔루션 개발사가 컨텐츠 타입별로 모든 뷰어를 제작할 필요는 없으나 외부 뷰어를 제어하는 모듈은 개발사가 직접 개발해야 하는 단점이 있다.The third method is to use the existing viewer program as it is, but control the viewer according to the DRM policy from the client. The solution developer does not need to produce all viewers for each content type, but the module that controls the external viewer must be developed by the developer himself. There are disadvantages.
이러한 제어 소프트웨어나 전용 뷰어는 해당 솔루션 제작사에 의해서만 개발될 수 있기 때문에 새로운 타입의 컨텐츠나 뷰어 프로그램 기술에의 대응이 늦어질 수밖에 없고 사용자의 다양한 요구를 수용하기도 어렵다.Since such control software or a dedicated viewer can be developed only by the corresponding solution maker, the response to new types of contents or viewer program technology will be delayed, and it will be difficult to accommodate various needs of users.
독자적인 전용 뷰어를 제작하는 것은 DRM 정책과 유통 시스템 구조를 잘 반영할 수 있기 때문에 저작권 보호 기능을 가장 잘 수행할 수 있다는 장점이 있는 반면, 워드 프로세서나 동영상 재생기, MP3 플레이어 등과 같은 복잡한 프로그램을 모두 직접 개발해야 한다는 어려움이 있다. Creating your own dedicated viewer has the advantage of being able to best perform copyright protection as it can better reflect the DRM policy and distribution system structure, while directing all complex programs such as word processors, video players and MP3 players directly. There is a difficulty in developing.
또한 사용자는 손에 익은 기존의 전문 소프트웨어를 이용하려고 하기 때문에 기존의 전문 소프트웨어에 비해 기능과 성능이 많이 떨어지는 전용 뷰어에 대한 만족도가 떨어지게 된다.In addition, since the user tries to use the existing professional software familiar to the hand, the satisfaction of the dedicated viewer which is much lower in function and performance than the conventional professional software is lowered.
따라서 기존의 뷰어 프로그램을 그대로 이용하고 DRM 정책에 따라 이를 제어할 수 있는 기능을 클라이언트 프로그램에 넣는 방법이 시도되고 있는데, 새로운 뷰어를 추가로 지원하기 위해서는 DRM 클라이언트 제작업체가 직접 새로운 제어 프로그램을 개발하여 제공해야 한다는 문제가 있다. Therefore, the method of using the existing viewer program as it is and putting the function to control it according to the DRM policy in the client program is being attempted. To support the new viewer, the DRM client manufacturer has developed a new control program. There is a problem that must be provided.
DRM 기술은 다양한 컨텐츠에 대해 적용되며 그 응용범위가 자꾸만 넓어지고 있는데, 이 모든 지원을 해당 업체에서 담당해야 하는 어려움이 생기는 것이다.DRM technology is applied to various contents and its scope of application keeps expanding, and it is difficult for the company to handle all this support.
현재는 워드 프로세서나 멀티미디어 재생기와 같은 유명 소프트웨어를 보유한 업체를 중심으로 자사의 소프트웨어에 DRM 기술을 접목시키려는 시도가 행해지고 있다. 이는 DRM 기술이 표준화되지 못하고 각각의 소프트웨어 제작 업체에 종속되어 버리는 문제를 야기시킬 뿐만 아니라 업체마다 서로 다른 기술과 방식을 통해 DRM 기술을 구현하기 때문에 사용자와 컨텐츠 유통 업자들은 컨텐츠의 종류별로 서로 다른 DRM 기술로 구현된 소프트웨어를 이용해야 하며 상호간의 호환성이나 상호운영성은 보장할 수 없는 문제가 있다.At present, attempts are being made at incorporating DRM technology into the company's software, especially in companies with popular software such as word processors and multimedia players. This not only causes the DRM technology to be standardized and becomes dependent on each software maker, but also because each company implements the DRM technology through different technologies and methods, users and content distributors have different DRMs for each type of content. It is necessary to use software implemented with technology, and there is a problem that can not guarantee mutual compatibility or interoperability.
본 발명은 상기한 문제를 해결하기 위한 것으로, 특히 DRM 기능을 수행하는 메인 부분과 복호화된 컨텐츠를 재생하는 외부 뷰어를 분리하여 플러그인으로 제어하도록 함으로써 확장성을 높이고 다양한 외부 뷰어 및 프로그램에 대한 추가 지원이 용이하도록 하는 플러그인 구조 기반의 DRM 클라이언트 장치를 제공하는데 그 목적이 있다.The present invention is to solve the above problems, in particular, the main part performing the DRM function and the external viewer to play the decrypted content to separate the plug-in to increase the scalability and additional support for various external viewers and programs The purpose is to provide a plug-in structure-based DRM client device to facilitate this.
상기와 같은 목적을 달성하기 위한 본 발명의 플러그인 구조 기반의 DRM 클라이언트 장치는, 사용자에게 전달된 컨텐츠를 이용하기 위한 클라이언트 장치에 있어서, 표준 플러그인 API를 제공하며, 라이센스를 이용하여 컨테이너를 언패키징 하고, 메타데이터를 해석하여 DRM 정책에 따라 플러그인을 제어하여 저작권 보호 기능을 수행하는 클라이언트 메인부; 여러 모듈에서 공용으로 이용되는 기능들로 구성된 라이브러리부; 외부 뷰어와 DRM 클라이언트 메인 부분 사이에서 DRM 정책을 전달하고 외부 뷰어를 제어하며 표준화된 API를 이용하는 플러그인부; 및 DRM 클라이언트로부터 독립된 외부 뷰어 소프트웨어부;를 포함하는 것을 특징으로 한다.DRM client device based on the plug-in structure of the present invention for achieving the above object, in the client device for using the content delivered to the user, provides a standard plug-in API, unpacking the container using a license A client main unit configured to interpret metadata and control a plug-in according to a DRM policy to perform a copyright protection function; Library unit consisting of functions commonly used in several modules; A plug-in unit which transfers a DRM policy between the external viewer and the main DRM client, controls the external viewer, and uses a standardized API; And an external viewer software unit independent from the DRM client.
상기한 구성에 의하면, 본 발명은 DRM 클라이언트에서 DRM 정책을 결정하고 복호화를 수행하는 클라이언트 메인부와 복호화된 컨텐츠를 실제로 재생해주는 외부 뷰어 소프트웨어 계층을 분리하고, 이 사이에서 DRM 정책을 뷰어 소프트웨어에 전달하고 동작을 제어하는 플러그인 계층을 정의하였다. According to the above configuration, the present invention separates the client main unit that determines and decrypts the DRM policy in the DRM client and the external viewer software layer that actually plays the decrypted content, and transfers the DRM policy to the viewer software therebetween. And a plug-in layer that controls the behavior.
여기서 정의된 플러그인은 표준화된 플러그인 API를 통해 클라이언트 메인부와 통신하여 동작하게 되고, 이 API를 통해 클라이언트 메인부로부터 전달된 DRM 정책을 수행하기 위해 뷰어 소프트웨어를 직접 제어하는 역할을 한다. The plug-in defined here operates by communicating with the client main unit through a standardized plug-in API, and directly controls viewer software to execute the DRM policy delivered from the client main unit through this API.
따라서 기존의 전문 소프트웨어를 그대로 외부 뷰어로 이용하면서 이를 제어한다는 장점을 유지하는 동시에, 서드파티 업체에 표준 플러그인 API를 공개하여 DRM 유통 솔루션 제작사 이외의 서드파티 업체에서 제작한 플러그인을 이용하여 동작시킬 수 있기 때문에 확장성이 뛰어나다는 장점을 가지게 된다. Therefore, while maintaining the advantages of using existing professional software as an external viewer and controlling it, the standard plug-in API can be opened to third-party companies and operated using plug-ins produced by third party companies other than the DRM distribution solution manufacturer. It has the advantage of excellent scalability.
본 발명의 실시예를 설명하기에 앞서 본 발명의 장치에 대한 이해를 돕고자 다음과 같이 용어들을 정의한다.Prior to describing an embodiment of the present invention, the following terms are defined to help understand the device of the present invention.
컨텐츠(contents)는 MP3, 동영상, 워드 문서 등과 같이 사용자가 실제로 이용하고자 하는 디지털화된 자료를 의미한다.Contents refer to digitized data that a user actually wants to use, such as an MP3, a video, a word document, and the like.
컨테이너(container)는 컨텐츠를 보호하고, 상품으로 유통시킬 목적으로, 컨텐츠 공급자(content provider) 혹은 유통업자에 의해서 컨텐츠에 관련 메타데이터(metadata)를 작성하여 컨텐츠와 함께 암호화한 것을 의미한다.A container is a content provider or a distributor that creates metadata and encrypts the content with the content for the purpose of protecting the content and distributing it as a product.
유통업자(distributor)는 상품으로 판매하기 위해 컨테이너(container)를 일정한 사용조건으로 소비자 혹은 다른 유통업자에게 판매하는 자를 의미한다.Distributor means a person who sells a container to a consumer or another distributor under certain conditions of use for sale as a product.
라이센스(license)는 컨테이너(container)를 사용할 수 있는 사용규칙과 복호화 키를 포함한 인가정보를 의미한다.License refers to authorization information including a usage rule and a decryption key for using a container.
시큐어 데이터베이스(secure database)는 라이센스(license)나 모듈 인증을 위한 해쉬(hash)값, 인증서(certificate)와 같이 유출되지 않아야 할 중요한 정보를 저장하기 위한 안전한 저장소를 의미한다.A secure database is a secure repository for storing sensitive information that should not be leaked, such as licenses, hash values for module authentication, and certificates.
DRM 클라이언트(DRM client)는 사용자의 PC에 설치되어 동작하는 소프트웨어로 컨테이너(container)에 담긴 컨텐츠를 라이센스(license)를 이용하여 분리해내고 메타데이터(metadata)에 담긴 사용권한에 따라 뷰어 소프트웨어를 제어하여 이용할 수 있도록 하는 역할을 한다.DRM client is software installed and operated on user's PC to separate contents contained in container using license and to control viewer software according to usage rights contained in metadata. It serves to make it available.
언패키저(unpackager)는 라이센스(license)에 담긴 복호화 키를 이용하여 컨테이너(container)로부터 컨텐츠 및 메타데이터를 분리해 내는 장치를 의미한다.An unpackager refers to a device that separates content and metadata from a container by using a decryption key contained in a license.
뷰어 소프트웨어(viewer software)는 컨텐츠를 실제로 재생하기 위한 프로그램으로 MP3 컨텐츠의 경우는 윈앰프나 미디어플레이어 등이 해당되고, HWP 문서에 대해서는 한글 워드프로세서가 해당되며, 동영상 파일에 대해서는 미디어플레이어와 같은 소프트웨어가 해당된다.Viewer software is a program for actually playing contents. For MP3 contents, it is a Winamp or Media Player. For HWP documents, Korean word processor is applied. For video files, software such as Media Player is used. Yes.
플러그인(plug-in)은 DRM 클라이언트내에서 클라이언트 메인부와 통신하여 DRM(digital rights management) 정책에 따라 뷰어 소프트웨어를 제어하며 클라이언트 메인부에서 언패키저(unpackager)를 통해 복호화된 컨텐츠 데이터를 뷰어 소프트웨어에 전달해주는 부분을 의미한다.The plug-in communicates with the client main unit in the DRM client to control the viewer software according to the digital rights management (DRM) policy. The plug-in transmits the content data decrypted through the unpackager to the viewer software in the client main unit. It means the part to convey.
이하, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described in detail.
도 1은 본 발명에 따른 플러그인 구조 기반의 DRM 클라이언트 장치를 도시한 구성도이다.1 is a block diagram illustrating a DRM client device based on a plug-in structure according to the present invention.
도면을 참조하면, 본 발명에 따른 플러그인 구조 기반의 DRM 클라이언트 장치는 DRM에 관련된 전반적인 역할을 수행하는 클라이언트 메인부(100)와; 여러 소프트웨어 모듈에서 이용되는 범용 함수를 제공하는 라이브러리부(200); 클라이언트 메인부에서 결정된 DRM 관련 정책을 기반으로 외부 뷰어를 제어하기 위한 플러그인부(300); 및 복호화된 컨텐츠를 재생하기 위한 외부 뷰어 소프트웨어부(400)를 포함한다.Referring to the drawings, the DRM client device based on the plug-in structure according to the present invention includes a client main unit 100 that performs an overall role related to DRM; A library unit 200 for providing general-purpose functions used in various software modules; A plug-in unit 300 for controlling an external viewer based on the DRM-related policy determined by the client main unit; And an external viewer software unit 400 for playing the decrypted content.
이와 같이 구성된 본 발명은 상기 클라이언트 메인부(100)에서 라이브러리부(200)에서 제공하는 라이브러리 함수들을 이용하여 동작하며, 컨텐츠를 재생하기 위한 외부 뷰어 소프트웨어부(400)는 플러그인부(300)을 통해 클라이언트 메인부(100)와 통신하고, 플러그인부(300)는 클라이언트 메인부(100)에서 제공하는 플러그인 표준 API(150)를 이용하며, 쇼핑몰이나 결제 서버, 라이센스 서버와 같은 외부 시스템(160)들은 외부 시스템 인터페이스(150)를 통해 클라이언트 메인부(100)와 통신한다.The present invention configured as described above operates by using the library functions provided by the library unit 200 in the client main unit 100, and the external viewer software unit 400 for playing the content is provided through the plug-in unit 300. Communication with the client main unit 100, the plug-in unit 300 uses the plug-in standard API 150 provided by the client main unit 100, the external system 160 such as a shopping mall, payment server, license server Communicate with the client main unit 100 via an external system interface 150.
도 2는 상기 클라이언트 메인부를 구체적으로 보인 블록도이다. 도면을 참조하면, 상기 클라이언트 메인부(100)는 사용자와 DRM 클라이언트 소프트웨어를 연결시켜주는 사용자 인터페이스(110), 라이센스 서버로부터 전송된 라이센스 관리, 컨텐츠를 이용한 기록 조회, 그리고 컨테이너에서 추출된 컨텐츠로부터 메타데이터를 해석하여 관리하는 DRM제어부(120) 및 플러그인 표준 API를 통해 플러그인을 관리하고 제어하며 플러그인으로부터의 요청을 받아 처리하기 위한 플러그인 제어부(130), 플러그인이 클라이언트 메인부와 통신할 수 있도록 해 주는 플러그인 표준 API(140), 및 쇼핑몰, 라이센스 서버, 결제서버 등과 같은 외부 시스템과 통신하기 위한 외부 시스템 인터페이스(150)로 구성된다.2 is a block diagram illustrating the client main unit in detail. Referring to the drawings, the client main unit 100 includes a user interface 110 connecting a user and a DRM client software, license management transmitted from a license server, record inquiry using contents, and meta from contents extracted from a container. The plug-in control unit 130 for managing and controlling the plug-in through the DRM control unit 120 and plug-in standard APIs that interpret and manage data, and allow the plug-in to communicate with the client main unit. Plug-in standard API 140 and an external system interface 150 for communicating with external systems such as shopping malls, license servers, payment servers, and the like.
상기한 구성에 의하면, 사용자는 사용자 인터페이스(110)에서 제공하는 클라이언트 관리 인터페이스(111)와 웹 인터페이스(112)를 통해 DRM 클라이언트를 이용한다.According to the above configuration, the user uses the DRM client through the client management interface 111 and the web interface 112 provided by the user interface 110.
상기 클라이언트 관리 인터페이스(111)는 라이센스 관리모듈(121)에 보유한 라이센스를 조회, 관리할 수 있는 기능을 제공하고, 사용내역 관리모듈(123)에 라이센스에 따라 컨텐츠를 이용한 기록을 조회할 수 있는 기능을 제공한다.The client management interface 111 provides a function for querying and managing licenses held in the license management module 121 and a function for inquiring a record using contents according to a license to the usage management module 123. To provide.
상기 웹 인터페이스(112)는 쇼핑몰, 결제서버, 라이센스 서버와 같이 웹 기반의 서비스를 제공하는 외부 시스템에 대한 웹 브라우저 인터페이스를 제공하며 외부 시스템 인터페이스(150)를 통해 통신한다.The web interface 112 provides a web browser interface to an external system that provides a web-based service, such as a shopping mall, a payment server, and a license server, and communicates through the external system interface 150.
외부시스템 인터페이스(150)는 통신할 외부 시스템에 따라 적절한 통신 프로토콜을 결정하며 필요한 경우 라이브러리부(200)에서 제공하는 암호통신 라이브러리(250)를 이용한다.The external system interface 150 determines an appropriate communication protocol according to an external system to communicate with and uses the cryptographic communication library 250 provided by the library unit 200 when necessary.
라이센스 서버로부터 전송받은 라이센스는 라이센스 관리모듈(121)에서 시큐어 DB(280)에 저장하고 관리하며, 상기 라이센스에 포함된 복호화 키를 이용하여 언패키저(122)에서 컨테이너로부터 컨텐츠를 추출한 후에 복호화 스트림 인터페이스(132)를 통해 플러그인부(300)에 전달된다.The license received from the license server is stored and managed in the secure DB 280 in the license management module 121, and after extracting content from the container in the unpackager 122 using the decryption key included in the license, the decryption stream interface. It is transmitted to the plug-in unit 300 through (132).
언패키저 모듈(122)은 컨테이너로부터 컨텐츠와 메타데이터를 분리해 내며, 복호화된 컨텐츠의 관리는 복호화 스트림 인터페이스(132)로 넘기고, 메타데이터의 관리는 메타데이터 관리모듈(124)에 넘긴다.The unpacker module 122 separates content and metadata from the container, transfers the decrypted content to the decryption stream interface 132, and passes the management of the metadata to the metadata management module 124.
복호화 스트림 인터페이스(132)는 플러그인 표준 API(140)를 통해 들어온 컨텐츠 데이터 요청에 따라 복호화된 데이터에 대한 포인터를 플러그인부(300)에 넘겨준다.The decryption stream interface 132 passes a pointer to the decrypted data to the plug-in unit 300 according to a content data request received through the plug-in standard API 140.
언패키지 모듈(122)은 컨테이너로부터 메타데이터를 추출하고, 추출된 메타데이터는 라이브러리부(200)의 메타데이터 해석기(220)에서 해석되어 메타데이터 관리모듈(124)에 의해 관리된다.The unpackage module 122 extracts metadata from the container, and the extracted metadata is interpreted by the metadata interpreter 220 of the library unit 200 and managed by the metadata management module 124.
메타데이터 관리모듈(124)은 컨테이너로부터 추출된 메타데이터뿐만 아니라 라이센스에 포함된 사용규칙 정보도 관리하다가 플러그인이 사용권한에 대한 요청이 있을 때 이를 사용규칙 처리기(133)를 통해 플러그인에 제공하는 역할을 한다.The metadata management module 124 manages not only the metadata extracted from the container but also usage rule information included in the license, and provides the plug-in to the plug-in through the usage rule handler 133 when the plug-in requests a permission. Do it.
외부 뷰어 소프트웨어가 어떤 동작을 행하려 하면 플러그인은 플러그인 표준 API(140)를 통해 이 동작이 라이센스와 사용권한에 위배되지 않는지 문의하게 된다. 이때 사용규칙 처리기(133)는 메타데이터 관리모듈(124)이 제공하는 정보를 기반으로 권한 소유 여부를 판단하여 해당 동작을 허용할 것인지 허용하지 않을 것인지를 결정하여 플러그인에게 알려준다.When an external viewer software attempts to perform an action, the plug-in inquires through the plug-in standard API 140 whether the action does not violate licenses and usage rights. In this case, the usage rule processor 133 determines whether to possess the authority based on the information provided by the metadata management module 124 and determines whether to allow or disallow the corresponding operation to inform the plug-in.
플러그인 관리모듈(131)은 새로운 플러그인이 설치될 때 이를 DRM 클라이언트에 등록시키고, 컨텐츠가 재생되려할 때 적합한 플러그인을 찾아주는 역할을 한다. 또한 플러그인이 수행되는 시점부터 종료하는 시점까지의 세션을 관리하고, 모듈 인증 라이브러리(260)를 이용하여 플러그인에 대한 인증을 수행한다.The plug-in management module 131 registers the new plug-in with the DRM client when the new plug-in is installed, and finds a suitable plug-in when the content is to be played. In addition, the session is managed from the time point at which the plug-in is executed to the time point at which the plug-in is terminated, and the plug-in is authenticated using the module authentication library 260.
도 3은 본 발명에 따른 범용 함수들의 집합인 라이브러리부를 구체적으로 도식화한 블록 구성도이다.3 is a block diagram schematically illustrating a library unit that is a set of general-purpose functions according to the present invention.
도면을 참조하면, 라이브러리에 대한 접근은 라이브러리 API(210)를 통해 이루어지며, 메타데이터 해석기(220)와 예외처리 라이브러리(270)를 제외한 시큐어 DB 라이브러리(240), 암호 통신 라이브러리(250), 모듈 인증 라이브러리(260)는 암호화 라이브러리(230)를 이용하여 구현되어 있다.Referring to the drawings, access to the library is made through the library API 210, except for the metadata interpreter 220 and exception handling library 270, secure DB library 240, cryptographic communication library 250, module The authentication library 260 is implemented using the encryption library 230.
메타데이터 해석기(220)는 XML 기반으로 되어 있는 메타데이터를 파싱하고 해석하는 역할을 한다.The metadata interpreter 220 parses and interprets metadata based on XML.
예외처리 라이브러리(270)는 프로그램의 동작중에 발생하는 다양한 예외상황에 대처하기 위해 로그를 생성하고 오류 상황을 처리해 주는 역할을 한다.The exception handling library 270 generates a log and handles an error situation in order to cope with various exceptions occurring during the operation of the program.
암호화 라이브러리(230)는 암호화, 복호화, 전자서명, 해쉬 등에 필요한 프로그램 코드를 제공한다.The encryption library 230 provides program code necessary for encryption, decryption, digital signature, hash, and the like.
시큐어 DB 라이브러리(240)는 라이센스나 인증서와 같이 중요한 정보를 시큐어 DB(280)에 저장하고 추출하는 역할을 하며 이 과정에서 암호화 라이브러리(230)를 이용하여 사용자나 타 프로그램이 함부로 데이터에 접근하지 못하도록 한다.The secure DB library 240 stores and extracts important information such as licenses and certificates in the secure DB 280, and prevents users or other programs from accessing data by using the encryption library 230 in this process. do.
암호 통신 라이브러리(250)는 라이센스 서버나 쇼핑몰, 결제 서버와 같은 외부 시스템과 통신할 때 SSL을 이용한 암호화 채널을 생성하는 역할을 한다.The cryptographic communication library 250 serves to create an encryption channel using SSL when communicating with an external system such as a license server, a shopping mall, or a payment server.
모듈 인증 라이브러리(260)는 DRM 클라이언트 및 플러그인에 해당하는 각각의 프로그램이 악의적 사용자에 의해 수정되거나 위조되지 않았는지 검증을 하여 악의적인 코드의 수행을 막는다.The module authentication library 260 verifies that each program corresponding to the DRM client and the plug-in has not been modified or tampered with by a malicious user to prevent execution of malicious code.
도 4는 클라이언트 메인부(100)와 외부 뷰어 소프트웨어부(400) 사이에서 DRM 관련된 정책을 전달하고, 외부 뷰어를 제어하여 라이센스에 명시된 사용규칙과 권한이 지켜지도록 제어하는 플러그인부(300)를 구체적으로 도식화한 구성도이다.4 illustrates a plug-in unit 300 which transmits a DRM-related policy between the client main unit 100 and the external viewer software unit 400, and controls the external viewer to maintain the usage rules and rights specified in the license. It is a block diagram schematically shown.
도면을 참조하면, 외부 뷰어에서 DRM 클라이언트에 대해 요청해야 하는 모든 일은 플러그인부(300)를 통해 클라이언트 메인부(100)의 플러그인 표준 API(140)로 전달되며, 반대로 클라이언트 메인부(100)에서 제어해야 하는 DRM 관련된 정책은 모두 플러그인부(300)를 통해 외부 뷰어에 전달되며 제어된다.Referring to the drawings, everything that needs to be requested for the DRM client from the external viewer is transmitted to the plug-in standard API 140 of the client main unit 100 through the plug-in unit 300, and vice versa. All DRM-related policies that should be delivered to and controlled by the external viewer through the plug-in unit 300.
컨텐츠와 라이센스가 확인되면 이 컨텐츠에 지정된 플러그인이 플러그인 관리(131) 모듈에 의해 수행되고, 수행된 플러그인은 자신이 제어할 외부 뷰어를 외부 뷰어 로더(310)를 통해 수행한다. 이때 외부 뷰어의 수정 및 위조를 막기 위해 모듈 인증 라이브러리(260)를 통해 인증 과정을 거친다.When the content and the license are confirmed, the plug-in designated to the content is performed by the plug-in management 131 module, and the performed plug-in performs an external viewer to be controlled through the external viewer loader 310. In this case, the authentication process is performed through the module authentication library 260 to prevent modification and forgery of the external viewer.
로딩된 외부 뷰어는 컨텐츠 재생을 위해 복호화 스트림 처리기(305)에 데이터를 요청하게 되고, 복호화 스트림 처리기(350)는 플러그인 표준 API(140)를 통해 복호화 스트림 인터페이스(132)에 데이터 복호화를 요청한다. 요청된 데이터 부분은 복호화 과정을 거쳐서 다시 복호화 스트림 인터페이스(132)와 복호화 스트림 처리기(350)를 거쳐 외부 뷰어에 전달된다.The loaded external viewer requests data from the decryption stream processor 305 for content reproduction, and the decryption stream processor 350 requests data decryption from the decryption stream interface 132 through the plug-in standard API 140. The requested data portion is passed to the external viewer through the decoding stream interface 132 and the decoding stream processor 350 through the decoding process.
외부 뷰어에서 발생하는 '저장하기' 라던가 '인쇄'와 같은 이벤트들은 외부 뷰어 동작 감시기(320)에 의해 계속 모니터링 되다가 DRM 정책에 연관된 중요한 이벤트가 발생하면 이벤트 처리기(330)가 클라이언트 메인부(100)의 사용규칙 처리기(133)에 문의하여 해당 이벤트를 허용할 것인지 확인한다. 확인된 이벤트는 외부 뷰어 제어기(340)에 의해 외부 뷰어에 전달되고, 제어된다.Events such as 'save' or 'print' occurring in the external viewer are continuously monitored by the external viewer motion monitor 320, and when an important event related to the DRM policy occurs, the event handler 330 is the client main part 100. Contact the usage rule processor 133 to determine whether to allow the event. The confirmed event is delivered to and controlled by the external viewer controller 340.
외부 뷰어 제어기(340)는 현재의 라이센스 보유 상황에 따라 허용되지 않을 동작에 대해서 외부 뷰어의 해당 메뉴를 사용불능 상태로 만들거나 특정 키보드 조작을 허용하지 않도록 외부 뷰어를 제어한다.The external viewer controller 340 controls the external viewer so as not to disable the corresponding menu of the external viewer or to allow a specific keyboard operation for an operation that will not be allowed according to the current license possession situation.
도 5는 사용자가 컨테이너 파일을 이용하기 위해 파일을 여는 시점부터 외부 뷰어 소프트웨어가 실행되어 파일을 읽어들이는 시점까지의 과정을 설명하기 위한 순서도이다.5 is a flowchart illustrating a process from a time when a user opens a file to use a container file to a time when an external viewer software is executed to read a file.
도면을 참조하면, 본 발명의 실시예에서는 더블클릭이나 DRM 클라이언트 프로그램에서의 파일 열기등의 과정을 통해 컨테이너 파일이 호출되면 DRM 클라이언트는 해당 컨테이너에 대한 라이센스가 존재하는지 확인하고, 그 라이센스의 유효성을 검사하게 된다.(S501-S502))Referring to the drawings, in the embodiment of the present invention, when a container file is called through a process such as double-clicking or opening a file in a DRM client program, the DRM client checks whether a license for the container exists and validates the license. (S501-S502))
유효성이 확인되면 라이센스로부터 컨테이너를 복호화 하기 위한 복호화 키를 추출해 내고, 이를 이용하여 컨테이너에 담긴 메타데이터와 컨텐츠를 분리한다.(S503-S504)If the validity is confirmed, the decryption key for decrypting the container is extracted from the license, and the metadata and the content contained in the container are separated using the extracted key (S503-S504).
메타데이터를 참조하여 해당 컨텐츠를 재생하기 위한 플러그인이 존재하는지 확인하고, 해당 플러그인이 임의로 수정이나 위조되지 않았는지 인증과정을 거친다.(S505-S506)It checks whether a plug-in for playing the corresponding content exists by referring to the metadata, and authenticates whether the plug-in is not arbitrarily modified or forged. (S505-S506)
플러그인이 인증되면 복호화 키를 이용하여 컨텐츠의 첫 번째 데이터 블록을 복호화 한다.(S507)If the plug-in is authenticated, the first data block of the content is decrypted using the decryption key (S507).
플러그인을 로딩하여 수행하고, 복호화된 첫 데이터 블록의 주소를 플러그인에게 전달한다.(S508)Loading and executing the plug-in, and delivers the address of the first decoded data block to the plug-in (S508).
플러그인은 자신이 제어할 외부 뷰어가 있는지 확인하고, 해당 뷰어의 수정 및 위조 여부를 인증한다.(S509-S510))The plug-in checks whether there is an external viewer to control, and authenticates whether the viewer is modified or forged (S509-S510).)
이상이 없으면 플러그인은 외부 뷰어 프로그램을 수행하고 첫 번째 복호화 데이터 블록의 주소를 외부 뷰어에 전달한다.(S511)If there is no error, the plug-in executes the external viewer program and delivers the address of the first decoded data block to the external viewer (S511).
도 6은 도 5까지의 과정을 통해 수행된 외부 뷰어 프로그램이 동작중 일때의 DRM 클라이언트 동작을 설명하기 위한 순서도이다.FIG. 6 is a flowchart illustrating a DRM client operation when an external viewer program performed through the process of FIG. 5 is in operation.
도면을 참조하면, 외부 뷰어에서 발생하는 이벤트에 대한 처리 부분(상단부 그림)과 외부 뷰어에서 컨텐츠에 접근하는 과정을 나타낸 부분(하단부 그림)으로 구분된다.Referring to the drawings, a processing part (upper figure) for an event occurring in an external viewer is divided into a part (lower figure) showing a process of accessing content from an external viewer.
본 발명은 첫 번째 복호화 데이터 블록을 넘겨받아 수행된 외부 뷰어는 사용자의 행동에 따라 윈도우 크기 조절, 마우스 포인터 이동, 메뉴 선택, 인쇄 등과 같은 이벤트를 발생시키게 된다.(S601-S602)According to the present invention, an external viewer performed by taking over the first decoded data block generates events such as window resizing, mouse pointer movement, menu selection, printing, etc. according to the user's action (S601-S602).
외부 뷰어에서 발생한 이벤트는 플러그인에 의해 감시(S603)되는데, 인쇄, 저장 등과 같이 사용권한이나 제어가 필요한 이벤트가 발생하면 클라이언트 메인부(100)에 요청하여 해당 이벤트의 허용 여부를 확인(S605)한다. 이 이외의 이벤트는 외부 뷰어 프로그램의 이벤트 처리루틴으로 돌려 보내 기능을 수행하도록 한다.(S606)The event generated in the external viewer is monitored by the plug-in (S603). When an event requiring permission or control such as printing or saving occurs, the client main unit 100 is requested to confirm whether the corresponding event is allowed (S605). . Other events are sent back to the event processing routine of the external viewer program to perform the function (S606).
클라이언트 메인부(100)는 플러그인부(300)에서 문의한 권한을 검사하여 이벤트 허가 여부를 통보해 준다.(S607)The client main unit 100 checks the permission inquired by the plug-in unit 300 and notifies whether or not the event is allowed. (S607)
플러그인부(200)는 클라이언트 메인부(100)에서 통보해준 결과에 따라 허가된 이벤트에 대해 외부 뷰어 프로그램의 이벤트 처리루틴을 수행하고, 허가되지 않은 이벤트는 처리루틴으로 보내지 않고 무시해버리거나 오류창을 띄우게 된다.(S608-S609)The plug-in 200 performs an event processing routine of an external viewer program for the permitted event according to the result of the notification from the client main unit 100, and ignores the unauthorized event without sending it to the processing routine or displays an error window. (S608-S609)
외부 뷰어 소프트웨어부(400)에서는 컨텐츠 데이터에 대한 접근 요청이 발생하면(S610-S611), 플러그인부(300)는 현재 복호화되어 있는 데이터로 처리가 가능한지를 확인한다.(S612)If the external viewer software unit 400 requests access to the content data (S610-S611), the plug-in unit 300 checks whether the data can be processed with the currently decoded data (S612).
현재 복호화되어 있는 데이터로 외부 뷰어의 접근 요청이 처리될 수 있으면 해당 데이터를 넘겨주고 계속 수행시키고, 아직 복호화되어 있지 않은 데이터 영역에 대한 접근 요청일 경우는 클라이언트 메인부(100)에 의뢰하여 해당 데이터 블록을 복호화하도록 한다.(S613)If the external viewer's access request can be processed with the data that is currently decoded, the corresponding data is handed over and continues to be executed. In case of an access request for a data area that has not been decrypted yet, the client main unit 100 requests the corresponding data. To decode the block (S613).
클라이언트 메인부(100)에서는 요청받은 데이터 블록을 복호화하여 이 메모리 공간에 대한 포인터를 플러그인에 넘겨주고, 플러그인부(300)는 새롭게 넘겨받은 포인터를 이용하여 복호화 데이터 스트림을 갱신한 후 외부 뷰어에 요청된 데이터를 넘겨준다.(S614)The client main unit 100 decrypts the requested data block and passes a pointer to this memory space to the plug-in, and the plug-in unit 300 updates the decrypted data stream using the newly passed pointer and then requests the external viewer. Pass the generated data. (S614)
이상에서 설명한 바와 같이 본 발명에 따른 플러그인 구조 기반의 DRM 클라이언트 장치는 외부 뷰어의 지원과 확장이 용이하도록 표준 플러그인 API를 지원하며, 악의적 프로그램의 동작을 막기 위해 인증된 소프트웨어 모듈만이 동작되도록 인증과정을 지원한다. 외부 뷰어는 플러그인을 통해서만 DRM 클라이언트의 메인 부분과 통신할 수 있도록 분리되어 있기 때문에 DRM 클라이언트 프로그램 코드의 변경없이 새로운 외부 뷰어의 지원이 가능하고, 표준화된 API를 제공하기 때문에 서드파티 업체에 의한 확장이 용이하다는 장점이 있다.As described above, the DRM client device based on the plug-in structure according to the present invention supports a standard plug-in API to easily support and expand an external viewer, and authenticates only the authorized software module to prevent malicious program operation. Support. Since external viewers are separated so that they can communicate with the main part of the DRM client only through plug-ins, new external viewers can be supported without changing the DRM client program code. It has the advantage of being easy.
실제로, 본 발명에 따른 플러그인 구조 기반의 DRM 클라이언트 장치에 의해 컨텐츠의 소비가 이루어지게 되면, 첫째, 새로운 형식의 컨텐츠의 지원이 필요할 때 DRM 클라이언트 소프트웨어에 변경이 가해질 필요가 없이 해당 컨텐츠를 재생할 수 있는 외부 뷰어와 이를 DRM 클라이언트 메인부에 연결해서 제어할 플러그인만 추가하면 된다. 이는 다양한 컨텐츠의 유형에 손쉽게 적응 가능하도록 하여 새로운 사업 형태나 컨텐츠로의 확장을 용이하게 한다.In fact, when the content is consumed by the DRM client device based on the plug-in structure according to the present invention, first, when the support of the new type of content is required, the DRM client software can play the content without having to change it. All you need to do is add an external viewer and plug-in to connect it to the main DRM client. This makes it easy to adapt to a variety of content types to facilitate expansion into new business forms or content.
둘째, 하나의 컨텐츠 타입에 대해서 여러개의 외부 뷰어가 대응 가능할 때 사용자의 선택에 따라 원하는 뷰어를 이용하여 컨텐츠의 소비가 가능하다. 기존의 기술에서는 DRM 클라이언트의 제작사가 지원하지 않는 뷰어의 경우 이용할 수 없었으나 본 발명에서는 표준 플러그인 API를 이용하여 제작한 서드파티의 플러그인만 있으면 얼마든지 새로운 뷰어의 추가가 가능하고 이는 사용자의 편의성을 증대시킨다.Second, when multiple external viewers can correspond to one content type, the content can be consumed by using a desired viewer according to the user's selection. In the existing technology, a viewer not supported by the manufacturer of the DRM client was not available. However, in the present invention, a new viewer can be added as long as there is only a third-party plug-in produced using the standard plug-in API. Increase
이상에서 설명한 것은 본 발명에 따른 플러그인 구조 기반의 DRM 클라이언트 장치를 실시하기 위한 하나의 실시 예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.What has been described above is just one embodiment for implementing the plug-in structure-based DRM client device according to the present invention, the present invention is not limited to the above-described embodiment, the present invention claimed in the following claims Without departing from the gist of the present invention, those skilled in the art to which the present invention pertains to the technical spirit of the present invention to the extent that various modifications can be made.
도 1은 본 발명에 따른 플러그인 구조 기반의 DRM 클라이언트 장치를 도시한 구성도,1 is a block diagram illustrating a DRM client device based on a plug-in structure according to the present invention;
도 2는 본 발명의 클라이언트 메인부를 도시한 구성도,2 is a block diagram showing a client main unit of the present invention;
도 3은 본 발명의 라이브러리부를 도시한 구성도,3 is a block diagram showing a library unit of the present invention;
도 4는 본 발명의 플러그인부를 도시한 구성도,4 is a block diagram showing a plug-in of the present invention;
도 5는 사용자가 컨테이너 파일을 이용하기 위해 파일을 여는 시점부터 외부 뷰어 소프트웨어가 실행되어 파일을 읽어들이는 시점까지의 과정을 설명하기 위한 순서도,FIG. 5 is a flowchart illustrating a process from a time when a user opens a file to use a container file to a time when an external viewer software is executed to read a file.
도 6은 도 5까지의 과정을 통해 수행된 외부 뷰어 프로그램이 동작중일때의 DRM 클라이언트 동작을 설명하기 위한 순서도이다.FIG. 6 is a flowchart illustrating a DRM client operation when an external viewer program executed through the process of FIG. 5 is in operation.
*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
100;클라이언트 메인부 110;사용자 인터페이스100; main client 110; user interface
120;DRM제어부 130;플러그인 제어부120; DRM controller 130; Plug-in controller
200;라이브러리부 210;라이브러리 API200; library unit 210; library API
220;메타데이터 해석기 230;암호화 라이브러리220; metadata interpreter 230; encryption library
240;시큐어 DB 라이브러리 250;암호통신 라이브러리240; Secure DB Library 250; Password Communication Library
260;모듈인증 라이브러리 270;예외처리 라이브러리260; module authentication library 270; exception handling library
300;플러그인부 310;외부 뷰어 로더300; plug-in 310; external viewer loader
320;외부 뷰어 동작감시기 330;이벤트 처리기320; external viewer motion monitor 330; event handler
340;외부 뷰어 제어기 350;복호화 스트림 처리기340; external viewer controller 350; decoded stream processor
400: 외부 뷰어 소프트웨어부400: external viewer software
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0083159A KR100501211B1 (en) | 2002-12-24 | 2002-12-24 | Apparatus for drm client software based on plug-in architecture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0083159A KR100501211B1 (en) | 2002-12-24 | 2002-12-24 | Apparatus for drm client software based on plug-in architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040056638A KR20040056638A (en) | 2004-07-01 |
KR100501211B1 true KR100501211B1 (en) | 2005-07-18 |
Family
ID=37349304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0083159A Expired - Fee Related KR100501211B1 (en) | 2002-12-24 | 2002-12-24 | Apparatus for drm client software based on plug-in architecture |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100501211B1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100614309B1 (en) * | 2003-12-30 | 2006-08-18 | 엘지엔시스(주) | Access control and service control method and system |
WO2006107168A1 (en) | 2005-04-08 | 2006-10-12 | Electronics And Telecommunications Research Intitute | Tool pack structure and contents execution device |
KR100809432B1 (en) | 2006-11-29 | 2008-03-07 | 한국전자통신연구원 | Apparatus for applying DDRM in content execution terminal for interoperable DDR application and its operation method |
US20080134348A1 (en) * | 2006-12-05 | 2008-06-05 | Microsoft Corporation | Conditional policies in software licenses |
EP2786293B1 (en) * | 2011-11-29 | 2021-08-18 | Spotify AB | Content provider with multi-device secure application integration |
KR101628330B1 (en) * | 2015-03-18 | 2016-06-08 | 김상진 | Apparatus for playing play sound synchronization |
-
2002
- 2002-12-24 KR KR10-2002-0083159A patent/KR100501211B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20040056638A (en) | 2004-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4680564B2 (en) | Content encryption and data protection on portable media | |
US7080043B2 (en) | Content revocation and license modification in a digital rights management (DRM) system on a computing device | |
JP4304220B2 (en) | Computer-readable recording medium having recorded self-protecting document and method of using self-protecting document | |
US7272858B2 (en) | Digital rights management (DRM) encryption and data-protection for content on a relatively simple device | |
US7383205B1 (en) | Structure of a digital content package | |
US7103574B1 (en) | Enforcement architecture and method for digital rights management | |
US6973444B1 (en) | Method for interdependently validating a digital content package and a corresponding digital license | |
JP4406190B2 (en) | Secure video card for a computing device having a digital rights management (DRM) system | |
US9906509B2 (en) | Method for offline DRM authentication and a system thereof | |
KR100359885B1 (en) | Computer system and contents protect method | |
US7080410B2 (en) | Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client | |
KR100200443B1 (en) | Method of distribution software object | |
WO2000058859A2 (en) | Digital license and method for obtaining/providing a digital license | |
Schneck | Persistent access control to prevent piracy of digital information | |
KR20070055934A (en) | How to remove trusted licenses, such as in content protection systems | |
JP3917125B2 (en) | Document security system | |
US20050060544A1 (en) | System and method for digital content management and controlling copyright protection | |
KR100501211B1 (en) | Apparatus for drm client software based on plug-in architecture | |
KR100973333B1 (en) | Time-based copyright prevention system and method | |
KR100695442B1 (en) | Operation method of local content providing system for providing encrypted content to local system and local content providing system employing the above method | |
Arnab et al. | Experiences in implementing a kernel-level DRM controller | |
KR20130093718A (en) | Apparatus for playing drm contents and drm server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
FPAY | Annual fee payment |
Payment date: 20080701 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20090706 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20090706 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |