KR101977478B1 - Method and apparatus for outputting a content - Google Patents
Method and apparatus for outputting a content Download PDFInfo
- Publication number
- KR101977478B1 KR101977478B1 KR1020170107253A KR20170107253A KR101977478B1 KR 101977478 B1 KR101977478 B1 KR 101977478B1 KR 1020170107253 A KR1020170107253 A KR 1020170107253A KR 20170107253 A KR20170107253 A KR 20170107253A KR 101977478 B1 KR101977478 B1 KR 101977478B1
- Authority
- KR
- South Korea
- Prior art keywords
- content
- data
- secure
- decrypting
- encrypted
- 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.)
- Active
Links
Images
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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (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)
Abstract
사용자가 시청할 수 있는 컨텐츠를 출력하기 위한 방법 및 장치가 제공된다. 컨텐츠를 출력하기 위해 컨텐츠 서버로부터 암호화된(encrypted) 컨텐츠의 데이터 및 컨텐츠의 보안 파라미터를 수신하고, 보안 파라미터에 기초하여 암호화된 컨텐츠의 데이터를 복호화하기 위한 모드를 결정하며, 결정된 모드가 보안 모드인 경우 보안 모드로 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된(cleared) 컨텐츠의 데이터를 생성하고, 허가된 컨텐츠의 데이터에 기초하여 컨텐츠를 출력한다.A method and apparatus for outputting content that a user can view is provided. The method comprising the steps of: receiving data and content security parameters of encrypted content from a content server to output content; determining a mode for decrypting data of the encrypted content based on security parameters; Generates data of cleared content by decrypting the data of the content encrypted in the security mode, and outputs the content based on the data of the permitted content.
Description
기술 분야는 컨텐츠를 제공하는 기술에 관한 것으로, 특히 암호화된 컨텐츠를 복호화하여 컨텐츠를 출력하는 방법에 관한 것이다.The technical field relates to a technology for providing contents, and more particularly, to a method for decrypting encrypted contents to output contents.
디지털 저작권 관리(Digital Rights Management: DRM) 기술은 암호화 기술을 이용하여 디지털 컨텐츠의 지적 자산에 대한 권리를 지속적으로 관리 및 보호하기 위한 기술이다. DRM 기술은 다양한 컨텐츠를 컨텐츠 제공자(Content Provider: CP)로부터 사용자에게 안전하게 전달하고, 이를 전달받은 사용자가 불법적으로 컨텐츠를 사용 및 유통하는 것을 방지하기 위한 기술이다. DRM 기술은 디지털 컨텐츠의 생성, 배포, 사용 및 폐기에 이르는 전 과정에 걸쳐 정보 보호가 가능하며, 온라인뿐만 아니라 오프라인 상에서 사용자의 권한에 따른 사용과 권리를 보호할 수 있다.Digital Rights Management (DRM) technology is a technology for continuously managing and protecting the rights of intellectual property of digital contents using encryption technology. DRM technology is a technique for safely delivering various contents to a user from a content provider (CP) and preventing a user who receives the contents from illegally using and distributing the content. DRM technology can protect information throughout the entire process from creation, distribution, use and disposal of digital contents, and it protects the rights and uses of rights according to the user's authority in offline as well as online.
한국등록특허 제10-1601976호(공개일 2016년 03월 03일)에는 DRM 컨텐츠 관리 시스템이 공개되어 있다. 공개 발명은 DRM 컨텐츠 및 DRM 컨텐츠의 저작권을 등록할 수 있는 환경을 제공하는 컨텐츠 제공 서버와, 컨텐츠 제공 서버로부터 제공된 각 DRM 컨텐츠 파일에 대한 사용권리 권한인 라이센스를 발급하고, 발급된 라이센스의 특정 필드에 라이센스의 폐기 수행 값을 생성하고, 이를 암호화하여 사용자 단말로 전송하는 서비스 제공 서버와, 서비스 제공 서버로부터 전송된 DRM 컨텐츠 파일의 라이센스를 검사하여 라이센스 폐기 수행 값을 추출하여 저장한 후 라이센스에 따라 해당 DRM 컨텐츠를 사용하고, 해당 라이센스 폐기 수행 결과를 서비스 제공 서버로 전송하는 사용자 단말이 개시되어 있다.Korean Patent No. 10-1601976 (published March 03, 2016) discloses a DRM content management system. The present invention relates to a content providing server that provides an environment for registering DRM content and copyright of DRM content, a license management server that issues a license that is a right of use right to each DRM content file provided from a content providing server, A service providing server for generating a discarding performance value of a license and transmitting the license discarding performance value to the user terminal; a license server for extracting a license discard value from the license of the DRM content file transmitted from the service providing server, A user terminal that uses the DRM contents and transmits a result of performing the license revocation to the service providing server is disclosed.
일 실시예는 컨텐츠 출력 장치 및 방법을 제공할 수 있다.One embodiment can provide a content output apparatus and method.
일 실시예는 암호화된 컨텐츠를 복호화하는 장치 및 방법을 제공할 수 있다.One embodiment may provide an apparatus and method for decrypting encrypted content.
일 측면에 따른, 컨텐츠 출력 방법은, 컨텐츠 서버로부터 암호화된(encrypted) 컨텐츠의 데이터 및 컨텐츠의 보안 파라미터를 수신하는 단계, 상기 보안 파라미터에 기초하여 상기 암호화된 컨텐츠의 데이터를 복호화하기 위한 모드를 결정하는 단계, 결정된 모드가 보안 모드인 경우, 상기 보안 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된(cleared) 컨텐츠의 데이터를 생성하는 단계, 및 상기 허가된 컨텐츠의 데이터에 기초하여 상기 컨텐츠를 출력하는 단계를 포함한다.According to an aspect, a content output method includes: receiving data and content security parameters of encrypted content from a content server; determining a mode for decrypting data of the encrypted content based on the security parameter; Generating secreted content data by decrypting the encrypted content data in the secure mode if the determined mode is the secure mode, And outputting.
상기 보안 파라미터는, 상기 암호화된 컨텐츠의 데이터가 일반 모드로 복호화되어야 하는지 또는 보안 모드로 복호화되어야 하는지를 나타낼 수 있다.The security parameter may indicate whether the data of the encrypted content should be decrypted into a normal mode or a secure mode.
상기 보안 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계는, 보안 DRM 모듈(Digital Right Management Module)을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계를 포함할 수 있다.The step of generating the data of the authorized content by decrypting the data of the encrypted content in the secure mode comprises the steps of: decrypting the encrypted content data using a secure DRM module (Digital Right Management Module) And generating the data.
상기 컨텐츠 출력 방법은, 결정된 모드가 일반 모드인 경우, 상기 일반 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계를 더 포함하고, 상기 일반 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계는, 일반 DRM 모듈을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계를 포함할 수 있다.Wherein the content output method further includes generating data of permitted content by decrypting the encrypted content data in the normal mode when the determined mode is the normal mode, The step of generating the data of the authorized content by decrypting the data may include the step of generating the data of the permitted content by decrypting the data of the encrypted content using the general DRM module.
상기 보안 DRM 모듈은 보안 펌웨어(firmware)를 통해 구현되고, 상기 일반 DRM 모듈은 일반 펌웨어를 통해 구현되며, 상기 보안 펌웨어 및 상기 일반 펌웨어는 서로 독립적이고, 상기 보안 펌웨어 및 상기 일반 펌웨어는 동일한 프로세서에 의해 실행될 수 있다.Wherein the security DRM module is implemented through security firmware, the general DRM module is implemented through general firmware, the security firmware and the general firmware are independent from each other, and the security firmware and the general firmware are stored in the same processor Lt; / RTI >
상기 보안 DRM 모듈을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계는, 상기 일반 DRM 모듈이 상기 일반 DRM 모듈 및 상기 보안 DRM 모듈의 공유 메모리(shared memory)에 상기 암호화된 컨텐츠의 데이터를 저장하는 단계, 상기 보안 DRM 모듈이 상기 공유 메모리로부터 상기 암호화된 컨텐츠의 데이터를 로드하는 단계, 상기 보안 DRM 모듈이 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계, 및 상기 보안 DRM 모듈이 상기 허가된 컨텐츠의 데이터를 보안 메모리에 저장하는 단계를 포함하고, 상기 보안 메모리에 저장된 상기 허가된 컨텐츠의 데이터는 상기 컨텐츠를 출력하기 위해 이용될 수 있다.The step of generating data of the authorized content by decrypting the data of the encrypted content using the secure DRM module may include the step of transmitting the data of the authorized content to the general DRM module and the shared memory of the secure DRM module Storing the data of the encrypted content, loading the encrypted content data from the shared memory by the secure DRM module, decrypting the encrypted content data by the secure DRM module, And the secure DRM module storing data of the authorized content in a secure memory, wherein the data of the authorized content stored in the secure memory can be used to output the content have.
상기 허가된 컨텐츠의 데이터에 기초하여 상기 컨텐츠를 출력하는 단계는, 상기 보안 메모리에 저장된 상기 허가된 컨텐츠의 데이터를 로드하는 단계, 상기 허가된 컨텐츠의 데이터를 출력 형식에 대응하도록 디코딩 및 렌더링함으로써 최종 컨텐츠의 데이터를 생성하는 단계, 및 상기 최종 컨텐츠의 데이터를 출력함으로써 상기 컨텐츠를 출력하는 단계를 포함할 수 있다.The step of outputting the content based on the data of the permitted content may include loading data of the permitted content stored in the secure memory, decoding and rendering the data of the permitted content to correspond to the output format, Generating content data, and outputting the content by outputting data of the final content.
상기 컨텐츠는 초고화질(Ultra high resolution) 컨텐츠일 수 있다.The content may be Ultra high resolution content.
다른 일 측면에 따른, 컨텐츠 출력 장치는, 컨텐츠를 출력하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 컨텐츠 서버로부터 암호화된(encrypted) 컨텐츠의 데이터 및 컨텐츠의 보안 파라미터를 수신하는 단계, 상기 보안 파라미터에 기초하여 상기 암호화된 컨텐츠의 데이터를 복호화하기 위한 모드를 결정하는 단계, 결정된 모드가 보안 모드인 경우, 상기 보안 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된(cleared) 컨텐츠의 데이터를 생성하는 단계, 및 상기 허가된 컨텐츠의 데이터에 기초하여 상기 컨텐츠를 출력하는 단계를 수행한다.According to another aspect, a content output apparatus includes a memory in which a program for outputting a content is recorded, and a processor for executing the program, the program comprising: Receiving a security parameter, determining a mode for decrypting the encrypted content data based on the security parameter, decrypting the encrypted content data in the secure mode when the determined mode is a secure mode, Generating data of cleared content, and outputting the content based on the data of the permitted content.
상기 보안 파라미터는, 상기 암호화된 컨텐츠의 데이터가 일반 모드로 복호화되어야 하는지 또는 보안 모드로 복호화되어야 하는지를 나타낼 수 있다.The security parameter may indicate whether the data of the encrypted content should be decrypted into a normal mode or a secure mode.
상기 보안 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계는, 보안 DRM 모듈(Digital Right Management Module)을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계를 포함할 수 있다.The step of generating the data of the authorized content by decrypting the data of the encrypted content in the secure mode comprises the steps of: decrypting the encrypted content data using a secure DRM module (Digital Right Management Module) And generating the data.
상기 프로그램은, 결정된 모드가 일반 모드인 경우, 상기 일반 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계를 더 수행하고, 상기 일반 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계는, 일반 DRM 모듈을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계를 포함할 수 있다.Wherein the program further includes the step of generating data of the permitted content by decrypting the encrypted content data in the normal mode when the determined mode is the normal mode, The step of generating the data of the permitted content by decrypting may include the step of generating the data of the permitted content by decrypting the data of the encrypted content using the general DRM module.
상기 보안 DRM 모듈은 보안 펌웨어(firmware)를 통해 구현되고, 상기 일반 DRM 모듈은 일반 펌웨어를 통해 구현되며, 상기 보안 펌웨어 및 상기 일반 펌웨어는 서로 독립적이고, 상기 보안 펌웨어 및 상기 일반 펌웨어는 상기 프로세서에 의해 실행될 수 있다.Wherein the security DRM module is implemented through security firmware, the general DRM module is implemented through general firmware, the security firmware and the general firmware are independent from each other, and the secure firmware and the general firmware are stored in the processor Lt; / RTI >
상기 보안 DRM 모듈을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계는, 상기 일반 DRM 모듈이 상기 일반 DRM 모듈 및 상기 보안 DRM 모듈의 공유 메모리(shared memory)에 상기 암호화된 컨텐츠의 데이터를 저장하는 단계, 상기 보안 DRM 모듈이 상기 공유 메모리로부터 상기 암호화된 컨텐츠의 데이터를 로드하는 단계, 상기 보안 DRM 모듈이 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계, 및 상기 보안 DRM 모듈이 상기 허가된 컨텐츠의 데이터를 보안 메모리에 저장하는 단계를 포함하고, 상기 보안 메모리에 저장된 상기 허가된 컨텐츠의 데이터는 상기 컨텐츠를 출력하기 위해 이용되고, 상기 메모리는 상기 공유 메모리 및 상기 보안 메모리를 포함할 수 있다.The step of generating data of the authorized content by decrypting the data of the encrypted content using the secure DRM module may include the step of transmitting the data of the authorized content to the general DRM module and the shared memory of the secure DRM module Storing the data of the encrypted content, loading the encrypted content data from the shared memory by the secure DRM module, decrypting the encrypted content by decrypting the encrypted content, Wherein the secure DRM module is operable to store data of the authorized content in a secure memory, wherein the data of the authorized content stored in the secure memory is used to output the content, Wherein the memory includes the shared memory and the secure memory Can.
상기 허가된 컨텐츠의 데이터에 기초하여 상기 컨텐츠를 출력하는 단계는, 상기 보안 메모리에 저장된 상기 허가된 컨텐츠의 데이터를 로드하는 단계, 상기 허가된 컨텐츠의 데이터를 출력 형식에 대응하도록 디코딩 및 렌더링함으로써 최종 컨텐츠의 데이터를 생성하는 단계, 및 상기 최종 컨텐츠의 데이터를 출력함으로써 상기 컨텐츠를 출력하는 단계를 포함할 수 있다.The step of outputting the content based on the data of the permitted content may include loading data of the permitted content stored in the secure memory, decoding and rendering the data of the permitted content to correspond to the output format, Generating content data, and outputting the content by outputting data of the final content.
상기 컨텐츠는 초고화질(Ultra high resolution) 컨텐츠일 수 있다.The content may be Ultra high resolution content.
컨텐츠 출력 장치 및 방법이 제공될 수 있다.A content output apparatus and method can be provided.
암호화된 컨텐츠를 복호화하는 장치 및 방법이 제공될 수 있다.An apparatus and method for decrypting encrypted content can be provided.
도 1은 일 예에 컨텐츠 제공 시스템의 구성도이다.
도 2는 일 실시예에 따른 컨텐츠 출력 장치의 구성도이다.
도 3은 일 실시예에 따른 컨텐츠 출력 방법의 흐름도이다.
도 4는 일 예에 따른 보안 모드로 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 방법의 흐름도이다.
도 5는 일 예에 따른 컨텐츠를 출력하는 방법의 흐름도이다.
도 6은 일 예에 따른 일반 펌웨어 및 보안 펌웨어의 구성을 도시한다.1 is a configuration diagram of a contents providing system in an example.
2 is a configuration diagram of a content output apparatus according to an embodiment.
3 is a flowchart of a content output method according to an embodiment.
4 is a flowchart illustrating a method of generating authorized content data by decrypting encrypted content data in a secure mode according to an exemplary embodiment.
5 is a flowchart of a method of outputting contents according to an example.
6 illustrates a configuration of general firmware and security firmware according to an example.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.In the following, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Various modifications may be made to the embodiments described below. It is to be understood that the embodiments described below are not intended to limit the embodiments, but include all modifications, equivalents, and alternatives to them.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used only to illustrate specific embodiments and are not intended to limit the embodiments. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.
도 1은 일 예에 컨텐츠 제공 시스템의 구성도이다.1 is a configuration diagram of a contents providing system in an example.
컨텐츠 제공 시스템(100)은 컨텐츠 출력 장치(120) 및 컨텐츠 서버(130)를 포함한다. 예를 들어, 컨텐츠 출력 장치(120)는 셋탑 박스(Set Top Box: STB)일 수 있다. 컨텐츠 출력 장치(120)는 사용자가 제어하는 사용자 단말(110)을 통해 컨텐츠 출력 요청을 수신하고, 컨텐츠 서버(130)로 상기의 컨텐츠를 요청할 수 있다. 예를 들어, 사용자 단말(110)은 컨텐츠 출력 장치(120)를 제어하는 리모컨일 수 있다. 컨텐츠 출력 장치(120)는 컨텐츠 서버(130)로부터 컨텐츠를 수신하고, 디스플레이(140)를 통해 컨텐츠를 출력할 수 있다.The
일 측면에 따르면, 컨텐츠 출력 장치(120)는 신뢰 실행 환경(Trusted Execution Environment; TEE) 또는 비신뢰 실행 환경(Non Trusted Execution Environment; NTEE)으로 동작할 수 있다. NTEE는 일반적인 시스템 제어 및 관리에 이용되는 하드웨어 또는 소프트웨어를 의미할 수 있다. TEE는 사용자 인증과 같은 보안이 필요한 프로세스를 수행하기 위해 이용되는 하드웨어 또는 소프트웨어를 의미할 수 있다. TEE는 안정적이고 외부로부터의 해킹이 방지될 수 있다.According to an aspect, the
예를 들어, 하드웨어적으로 하나의 프로세서 또는 하나의 메모리가 NTEE와 TEE로 구분되어 사용될 수 있다. 예를 들어, 프로세서의 보안영역은 하드웨어의 TEE일 수 있다. TEE의 하드웨어 구조는 On-SoC(on-system on chip) 및/또는 외부 메모리를 포함할 수 있다. 예를 들어, On-SoC는, RAM(random access memory), 암호화 가속기(crypto accelerator), 마이크로 프로세싱 코어(micro Processing core(s)), ROM(read only memory), 주변기기(peripheral), 및 OTP(one time programmable) 필드를 포함할 수 있다. 컨텐츠 출력 장치(120)는 NTEE 및 TEE의 실행 환경들을 운용하기 위해 프로세서를 시간적으로 분리하여 사용할 수 있다. 컨텐츠 출력 장치(120)는 프로세서 및 메모리를 NTEE에서 접근 가능한 영역 및 TEE에서 접근 가능한 영역으로 구분하여 사용할 수 있다.For example, one processor or one memory can be used in hardware, divided into NTEE and TEE. For example, the secure area of the processor may be the TEE of the hardware. The hardware structure of the TEE may include on-system on-chip (SoC) and / or external memory. For example, an On-SoC may be a random access memory (RAM), a crypto accelerator, a micro processing core (s), a read only memory (ROM), a peripheral, one time programmable) field. The
일 측면에 따르면, 컨텐츠 출력 장치(120)는 강화된 보안이 요구되는 컨텐츠를 TEE에서 처리하고, 일반적인 보안이 요구되는 컨텐츠를 NTEE에서 처리할 수 있다. 예를 들어, 저화질의 컨텐츠에 비해 고화질의 컨텐츠에 대한 보안이 더 요구될 수 있다. 암호화된 컨텐츠는 컨텐츠 출력 장치(120)의 보안 영역을 이용하여 복호화될 수 있다. 예를 들어, 컨텐츠 출력 장치(120)는 컨텐츠의 보안 파라미터에 기초하여 컨텐츠를 처리하는 모드를 결정하고, 결정된 모드에 기초하여 처리된 컨텐츠를 출력할 수 있다.According to an aspect of the present invention, the
일 측면에 따르면, 컨텐츠 출력 장치(120)의 종류에 따라 TEE를 지원하지 않는 컨텐츠 출력 장치(120)와 TEE를 지원하는 컨텐츠 출력 장치(120)가 있을 수 있고, 컨텐츠 출력 장치(120)의 TEE의 지원 여부에 따라 보안 파라미터를 설정할 수 있다.According to an aspect of the present invention, there may be a
아래에서 도 2 내지 도 6을 참조하여 컨텐츠를 출력하는 방법이 상세하게 설명된다.Hereinafter, a method of outputting contents will be described in detail with reference to FIG. 2 to FIG.
도 2는 일 실시예에 따른 컨텐츠 출력 장치의 구성도이다.2 is a configuration diagram of a content output apparatus according to an embodiment.
컨텐츠 출력 장치(200)는 통신부(210), 프로세서(220) 및 메모리(230)를 포함한다. 예를 들어, 컨텐츠 출력 장치(200)는 도 1을 참조하여 전술된 컨텐츠 출력 장치(120)에 대응할 수 있다.The
통신부(210)는 프로세서(220) 및 메모리(230)와 연결되어 데이터를 송수신한다. 통신부(210)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.The
통신부(210)는 컨텐츠 출력 장치(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(210)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부(210)는 컨텐츠 출력 장치(200)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(210)는 인터페이스(interface)일 수 있다. 통신부(210)는 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 메모리(230)에 데이터를 전송할 수 있다.The
프로세서(220)는 통신부(210)가 수신한 데이터 및 메모리(230)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.The
프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.The
메모리(230)는 통신부(210)가 수신한 데이터 및 프로세서(220)가 처리한 데이터를 저장한다. 예를 들어, 메모리(230)는 프로그램을 저장할 수 있다. 저장되는 프로그램은 컨텐츠를 출력할 수 있도록 코딩되어 프로세서(220)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.The
일 측면에 따르면, 메모리(230)는 하나 이상의 휘발성 메모리, 비휘발성 메모리, RAM, ROM, 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.According to an aspect, the
메모리(230)는 컨텐츠 출력 장치(200)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 컨텐츠 출력 장치(200)를 동작 시키는 명령어 세트는 프로세서(220)에 의해 실행된다.The
일 측면에 따르면, 메모리(230)는 복수의 영역들로 구분될 수 있고, 각각의 영역이 별도로 관리될 수 있다. 예를 들어, 복수의 영역들 중 일부는 보안 영역이고, 프로세서(220)가 보안 영역에 접근하기 위해서는 보안 인증이 요구될 수 있다.According to one aspect, the
프로세서(220) 및 메모리(230)에 저장된 프로그램을 통해 펌웨어(firmware)가 구현될 수 있다. 펌웨어를 구현하기 위해 이용되는 메모리(230)는 ROM일 수 있다. 컨텐츠 출력 장치(200)에 의해 구현되는 펌웨어에 대해 아래에서 도 4 내지 도 6을 참조하여 상세히 설명된다.Firmware may be implemented through the programs stored in the
통신부(210), 프로세서(220) 및 메모리(230)에 대해, 아래에서 도 3 내지 도 6을 참조하여 상세히 설명된다.The
도 3은 일 실시예에 따른 컨텐츠 출력 방법의 흐름도이다.3 is a flowchart of a content output method according to an embodiment.
아래의 단계들(310 내지 350)은 도 2를 참조하여 전술된 컨텐츠 출력 장치(200)에 의해 수행된다. 컨텐츠 출력 장치(200)는 프로세서(220) 및 메모리(230)에 기초하여 보안 펌웨어(secure firmware) 및 일반 펌웨어(normal firmware)를 구현할 수 있다. 보안 펌웨어(secure firmware) 및 일반 펌웨어(normal firmware)는 독립적으로 구현되고, 실행될 수 있다. 단계들(310, 320, 340 및 350)은 일반 펌웨어에 의해 수행될 수 있고, 단계(330)는 보안 펌웨어에 의해 수행될 수 있다. 보안 펌웨어는 TEE을 실행시키기 위해 이용되고, 일반 펌웨어는 NTEE를 실행시키기 위해 이용될 수 있다.The following
단계(310)가 수행되기 전에, 통신부(210)는 사용자 단말(110)로부터 컨텐츠 제공 요청을 수신하고, 컨텐츠 제공 요청에 대응하는 컨텐츠를 컨텐츠 서버(130)로 요청할 수 있다.Before the
단계(310)에서, 통신부(210)는 컨텐츠 서버(130)로부터 암호화된(encrypted) 컨텐츠의 데이터 및 컨텐츠의 보안 파라미터를 수신한다. 수신된 암호화된 컨텐츠의 데이터는 메모리(230)에 저장된다. 일 측면에 따르면, 메모리(230)는 일반 메모리, 공유 메모리(shared memory) 및 보안 메모리(secure memory)를 포함할 수 있다. 암호화된 컨텐츠의 데이터는 일반 메모리에 저장될 수 있다.In
암호화된 컨텐츠의 데이터는 암호화된 컨텐츠의 동영상 데이터 및 암호화된 음향 데이터를 포함할 수 있다. 예를 들어, 암호화된 컨텐츠의 데이터는 실시간 스트리밍 채널(real time streaming channel)을 통해 제공될 수 있다. 다른 예로, 컨텐츠는 VOD(Video on Demand) 채널을 통해 제공될 수 있다.The data of the encrypted content may include the moving picture data of the encrypted content and the encrypted sound data. For example, data of encrypted content may be provided via a real time streaming channel. As another example, the content may be provided via a VOD (Video on Demand) channel.
동일한 컨텐츠인 경우에도, 컨텐츠를 제공하는 채널에 따라 컨텐츠를 제공하는 동영상의 화질이 상이할 수 있다. 예를 들어, 동일한 컨텐츠를 제공하는 복수의 채널들이 있는 경우, 각각의 채널 별로 제공하는 동영상의 화질이 상이할 수 있다.Even in the case of the same contents, the quality of the moving picture providing the contents may be different according to the channel providing the contents. For example, when there are a plurality of channels providing the same contents, the quality of the moving picture provided for each channel may be different.
컨텐츠의 보안 파라미터가 동영상의 화질에 따라 다르게 설정될 수 있다. 예를 들어, 저화질의 동영상에는 일반 암호화가 적용되고, 고화질의 동영상에는 보안 암호화가 적용될 수 있다. 보안 암호화가 적용되는 컨텐츠는 초고화질(Ultra High Definition) 컨텐츠일 수 있다. 예를 들어, 암호화는 컨텐츠의 무단 이용을 방지하기 위한 DRM의 암호화일 수 있다. 컨텐츠의 보안 파라미터는 암호화된 컨텐츠의 데이터가 일반 모드로 복호화되어야 하는지 또는 보안 모드로 복호화되어야 하는지를 나타낸다. 예를 들어, 보안 파라미터는 보안 필드일 수 있고, 보안 파라미터의 값이 0인 경우에는 일반 모드(normal mode)를 나타내고, 1인 경우에는 보안 모드(secure mode)를 나타낼 수 있다. 보안 모드는 보안 펌웨어에 의해 수행되는 동작들을 나타내고, 일반 모드는 일반 펌웨어에 의해 수행되는 동작들을 나타낼 수 있다.The security parameters of the content may be set differently according to the picture quality of the moving picture. For example, normal encryption may be applied to low-quality video, and secure encryption may be applied to high-quality video. The content to which the security encryption is applied may be Ultra High Definition content. For example, encryption may be DRM encryption to prevent unauthorized use of the content. The security parameter of the content indicates whether the data of the encrypted content should be decrypted into the normal mode or the secure mode. For example, the security parameter may be a security field, and if the value of the security parameter is 0, it indicates a normal mode, and if it is 1, a secure mode. The security mode represents operations performed by the security firmware, and the general mode may represent operations performed by general firmware.
단계(320)에서, 프로세서(220)는 보안 파라미터에 기초하여 암호화된 컨텐츠를 복호화하기 위한 모드를 결정한다. 보안 파라미터의 값이 0인 경우에는 일반 모드로 결정되고, 1인 경우에는 보안 모드로 결정될 수 있다. 동작 모드가 일반 모드로 결정된 경우 단계(330)가 수행되고, 보안 모드로 결정된 경우 단계(340)가 수행된다.At
단계(330)에서, 프로세서(220)는 보안 모드로 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된(cleared) 컨텐츠의 데이터를 생성한다. 허가된 컨텐츠의 데이터는 재생기(player)가 동영상을 출력할 수 있는 데이터일 수 있다. 보안 모드로 허가된 컨텐츠의 데이터를 생성하는 방법에 대해, 아래에서 도 4를 참조하여 상세히 설명된다.At
단계(340)에서, 프로세서(220)는 일반 모드로 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성한다.At
단계(350)에서, 프로세서(220)는 허가된 컨텐츠를 출력한다. 예를 들어, 프로세서(220)는 컨텐츠 출력 장치(200)와 연결된 디스플레이를 통해 컨텐츠를 출력할 수 있다.At
도 4는 일 예에 따른 보안 모드로 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 방법의 흐름도이다.4 is a flowchart illustrating a method of generating authorized content data by decrypting encrypted content data in a secure mode according to an exemplary embodiment.
도 3을 참조하여 전술된 단계(330)는 아래의 단계들(410 내지 440)을 포함할 수 있다. 일반 펌웨어는 일반 DRM(digital rights management) 모듈을 구현할 수 있다. 일반 DRM 모듈은 일반 펌웨어 내에서 데이터를 처리하기 위해 구현될 수 있다. 보안 펌웨어는 보안 DRM 모듈을 구현할 수 있다. 보안 DRM 모듈은 보안 펌웨어 내에서 데이터를 처리하기 위해 구현될 수 있다. 일반 DRM 모듈 및 보안 DRM 모듈이 수행하는 기능은 프로세서(220)에 의해 수행되는 것으로 이해될 수 있다Step 330 described above with reference to FIG. 3 may include the following steps 410-440. Generic firmware can implement generic digital rights management (DRM) modules. A generic DRM module may be implemented to process data within generic firmware. The security firmware may implement a secure DRM module. The secure DRM module may be implemented to process data within the security firmware. It is to be understood that the functions performed by the generic DRM module and the secure DRM module are performed by the
단계(410)에서, 일반 DRM 모듈은 공유 메모리에 암호화된 컨텐츠의 데이터를 저장한다. 공유 메모리는 일반 DRM 모듈 및 보안 DRM 모듈이 접근할 수 있는 메모리이다. 예를 들어, 일반 DRM 모듈은 일반 메모리에 저장된 암호화된 컨텐츠의 데이터를 공유 메모리로 이동시킬 수 있다. 다른 예로, 일반 DRM 모듈은 일반 메모리를 공유 메모리로 등록함으로써 공유 메모리에 암호화된 컨텐츠의 데이터를 저장할 수 있다. 일반 DRM 모듈은 암호화된 컨텐츠의 데이터가 저장된 영역의 메모리(230) 내의 주소를 공유 메모리의 영역으로 등록할 수 있다.In
단계(420)에서, 보안 DRM 모듈은 공유 메모리로부터 암호화된 컨텐츠의 데이터를 로드한다. 예를 들어, 프로세서(220)에 보안 DRM 모듈 또는 보안 펌웨어를 위해 할당된 캐시 메모리에 암호화된 컨텐츠의 데이터를 로드할 수 있다.In
단계(430)에서, 보안 DRM 모듈은 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성한다.In
단계(440)에서, 보안 DRM 모듈은 허가된 컨텐츠의 데이터를 보안 메모리에 저장한다. 보안 메모리는 보안 DRM 모듈 또는 보안 펌웨어 만이 접근할 수 있는 메모리(230) 내의 영역일 수 있다.In
도시되지는 않았으나, 일반 모드에서는 일반 DRM 모듈에 의해 허가된 컨텐츠의 데이터가 생성될 수 있다. 일반 DRM 모듈이 일반 메모리에 저장된 암호화된 컨텐츠의 데이터를 로드하고, 일반 DRM 모듈이 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하며, 일반 DRM 모듈이 허가된 컨텐츠의 데이터를 일반 메모리에 저장할 수 있다.Although not shown, in the normal mode, data of the content permitted by the general DRM module can be generated. The general DRM module loads the data of the encrypted content stored in the general memory and the general DRM module decrypts the data of the encrypted content to generate the data of the permitted content, Lt; / RTI >
도 5는 일 예에 따른 컨텐츠를 출력하는 방법의 흐름도이다.5 is a flowchart of a method of outputting contents according to an example.
도 3을 참조하여 전술된 단계(340)는 아래의 단계들(510 내지 530)을 포함할 수 있다. 단계들(510 내지 530)은 도 3 및 4를 참조하여 전술된 단계(330) 또는 단계(440)가 수행된 후에, 수행되는 것으로 도시되었으나, 단계들(510 내지 530)은 도 3을 참조하여 전술된 단계(340)가 수행된 후에도 유사하게 수행될 수 있다.The above-described
단계(510)에서, 프로세서(220)는 보안 메모리에 저장된 허가된 컨텐츠의 데이터를 로드한다. 예를 들어, 보안 펌웨어는 디코더(decoder)/렌더러(renderer)를 구현할 수 있고, 디코더/렌더러는 보안 메모리에 저장된 허가된 컨텐츠의 데이터를 로드할 수 있다.At
단계(520)에서, 프로세서(220)는 허가된 컨텐츠의 데이터를 출력 형식에 대응하도록 디코딩 및 렌더링함으로써 최종 컨텐츠의 데이터를 생성한다. 디코더는 허가된 컨텐츠의 데이터를 이용하여 동영상 및 음향을 동기화할 수 있다. 렌더러는 컨텐츠가 출력될 디스플레이의 출력 형식에 대응하도록 허가된 컨텐츠의 데이터를 렌더링할 수 있다.At
단계(530)에서, 프로세서(220)는 최종 컨텐츠의 데이터를 출력함으로써 컨텐츠를 출력한다. 예를 들어, 일반 펌웨어는 재생기를 구현하고, 재생기를 통해 컨텐츠를 출력할 수 있다.At
도 6은 일 예에 따른 일반 펌웨어 및 보안 펌웨어의 구성을 도시한다.6 illustrates a configuration of general firmware and security firmware according to an example.
컨텐츠 출력 장치(200)는 프로세서(220)를 이용하여 일반 펌웨어(610) 및 보안 펌웨어(620)를 구현할 수 있다. 메모리(600)는 도 2 내지 5를 참조하여 전술된 메모리(230)에 대응할 수 있다. 메모리(600)는 일반 메모리(601), 공유 메모리(602) 및 보안 메모리(603)를 포함한다. 일반 메모리(601), 공유 메모리(602) 및 보안 메모리(603)는 메모리(600) 내의 구분된 영역일 수 있다. 일반 펌웨어(610)는 일반 메모리(601) 및 공유 메모리(602)에 접근할 수 있다. 보안 펌웨어(620)는 공유 메모리(602) 및 보안 메모리(603)에 접근할 수 있다.The
일반 펌웨어(610)는 재생기(611) 및 일반 DRM 모듈(612)를 구현할 수 있다. 보안 펌웨어(620)는 보안 DRM 모듈(621)을 구현할 수 있다.The
단계(635)에서, 재생기(611)는 통신부(210)가 수신한 암호화된 컨텐츠의 데이터를 일반 메모리(601)에 저장할 수 있다.In
단계(640)에서, 재생기(611)는 일반 DRM 모듈(612)로 수신한 보안 파라미터를 전송한다.In
단계(645)에서, 일반 DRM 모듈(612)은 보안 파라미터에 기초하여 암호화된 컨텐츠의 데이터를 처리할 DRM 모듈을 결정한다.At
단계(650)에서, 일반 DRM 모듈(612)은 암호화된 컨텐츠의 데이터가 보안 DRM 모듈에 의해 처리되는 경우, 일반 DRM 모듈(612)은 일반 메모리(601)에 저장된 암호화된 컨텐츠의 데이터를 공유 메모리(602)에 저장한다.In
단계(655)에서, 일반 DRM 모듈(612)은 공유 DRM 모듈(621)로 공유 DRM 모듈(621)이 암호화된 컨텐츠의 데이터를 처리할 것을 지시한다.In
단계(660)에서, 공유 DRM 모듈(621)은 공유 메모리(602)로부터 암호화된 컨텐츠의 데이터를 로드한다. 공유 DRM 모듈(621)은 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성한다.At
단계(665)에서, 공유 DRM 모듈(621)은 허가된 컨텐츠의 데이터가 생성되었음을 나타내는 정보를 일반 DRM 모듈(612)로 전송한다.In
단계(668)에서, 공유 DRM 모듈(621)은 허가된 컨텐츠의 데이터를 보안 메모리에 저장한다.At
단계(670)에서, 일반 DRM 모듈(612)은 재생기(611)로 허가된 컨텐츠의 데이터가 생성되었음을 나타내는 정보를 재생기(611)로 전송한다.In
단계(675)에서, 재생기(611)는 디코더/렌더러로 허가된 컨텐츠의 데이터에 기초하여 최종 컨텐츠의 데이터를 처리할 것을 요청한다.At
단계(680)에서, 디코더/렌더러(622)는 보안 메모리(603)로부터 허가된 컨텐츠의 데이터를 로드한다. 디코더/렌더러(622)는 허가된 컨텐츠의 데이터를 디코딩 및 렌더링함으로써 최종 컨텐츠의 데이터를 생성한다.In
재생기(611)는 최종 컨텐츠의 데이터에 기초하여 컨텐츠를 출력한다.The
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
100: 컨텐츠 제공 시스템
200: 컨텐츠 출력 장치
210: 통신부
220: 프로세서
230: 메모리100: Content providing system
200: Content output device
210:
220: Processor
230: Memory
Claims (18)
컨텐츠 서버로부터 암호화된(encrypted) 컨텐츠의 데이터 및 컨텐츠의 보안 파라미터를 수신하는 단계;
상기 보안 파라미터에 기초하여 상기 암호화된 컨텐츠의 데이터를 복호화하기 위한 모드를 결정하는 단계;
결정된 모드가 보안 모드인 경우, 상기 보안 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된(cleared) 컨텐츠의 데이터를 생성하는 단계; 및
상기 허가된 컨텐츠의 데이터에 기초하여 상기 컨텐츠를 출력하는 단계
를 포함하고,
상기 보안 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계는,
보안 DRM 모듈(Digital Right Management Module)을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계
를 포함하는,
컨텐츠 출력 방법.
A content output method performed by a content output apparatus,
Receiving data and content security parameters of encrypted content from a content server;
Determining a mode for decrypting data of the encrypted content based on the security parameter;
If the determined mode is the secure mode, generating data of the cleared content by decrypting the encrypted content data in the secure mode; And
Outputting the content based on the data of the permitted content
Lt; / RTI >
Wherein the step of generating the data of the authorized content by decrypting the encrypted content data in the secure mode comprises:
Generating encrypted content data by decrypting the encrypted content data using a secure DRM module (Digital Right Management Module)
/ RTI >
A content output method.
상기 보안 파라미터는, 상기 암호화된 컨텐츠의 데이터가 일반 모드로 복호화되어야 하는지 또는 보안 모드로 복호화되어야 하는지를 나타내는,
컨텐츠 출력 방법.
The method according to claim 1,
Wherein the security parameter indicates whether data of the encrypted content should be decrypted into a general mode or a secure mode,
A content output method.
결정된 모드가 일반 모드인 경우, 상기 일반 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계
를 더 포함하고,
상기 일반 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계는,
일반 DRM 모듈을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계
를 포함하는,
컨텐츠 출력 방법.
The method according to claim 1,
Generating encrypted content data by decrypting the encrypted content data in the normal mode when the determined mode is the normal mode,
Further comprising:
Wherein the step of generating the data of the authorized content by decrypting the encrypted content data in the normal mode comprises:
Generating the data of the authorized content by decrypting the data of the encrypted content using the general DRM module
/ RTI >
A content output method.
상기 보안 DRM 모듈은 보안 펌웨어(firmware)를 통해 구현되고,
상기 일반 DRM 모듈은 일반 펌웨어를 통해 구현되며,
상기 보안 펌웨어 및 상기 일반 펌웨어는 서로 독립적이고,
상기 보안 펌웨어 및 상기 일반 펌웨어는 동일한 프로세서에 의해 실행되는,
컨텐츠 출력 방법.
5. The method of claim 4,
The secure DRM module is implemented through security firmware,
The general DRM module is implemented through general firmware,
Wherein the security firmware and the general firmware are independent of each other,
Wherein the security firmware and the generic firmware are executed by the same processor,
A content output method.
상기 보안 DRM 모듈을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계는,
상기 일반 DRM 모듈이 상기 일반 DRM 모듈 및 상기 보안 DRM 모듈의 공유 메모리(shared memory)에 상기 암호화된 컨텐츠의 데이터를 저장하는 단계;
상기 보안 DRM 모듈이 상기 공유 메모리로부터 상기 암호화된 컨텐츠의 데이터를 로드하는 단계;
상기 보안 DRM 모듈이 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계; 및
상기 보안 DRM 모듈이 상기 허가된 컨텐츠의 데이터를 보안 메모리에 저장하는 단계
를 포함하고,
상기 보안 메모리에 저장된 상기 허가된 컨텐츠의 데이터는 상기 컨텐츠를 출력하기 위해 이용되는,
컨텐츠 출력 방법.
6. The method of claim 5,
Wherein the step of generating data of the authorized content by decrypting the encrypted content data using the secure DRM module comprises:
The general DRM module storing data of the encrypted content in a shared memory of the general DRM module and the secure DRM module;
The secure DRM module loading data of the encrypted content from the shared memory;
The secure DRM module generating data of the authorized content by decrypting the encrypted content data; And
Wherein the secure DRM module stores data of the authorized content in a secure memory
Lt; / RTI >
Wherein the data of the authorized content stored in the secure memory is used for outputting the content,
A content output method.
상기 허가된 컨텐츠의 데이터에 기초하여 상기 컨텐츠를 출력하는 단계는,
상기 보안 메모리에 저장된 상기 허가된 컨텐츠의 데이터를 로드하는 단계;
상기 허가된 컨텐츠의 데이터를 출력 형식에 대응하도록 디코딩 및 렌더링함으로써 최종 컨텐츠의 데이터를 생성하는 단계; 및
상기 최종 컨텐츠의 데이터를 출력함으로써 상기 컨텐츠를 출력하는 단계
를 포함하는,
컨텐츠 출력 방법.
The method according to claim 6,
Wherein the outputting of the content based on the data of the authorized content comprises:
Loading data of the authorized content stored in the secure memory;
Generating data of the final content by decoding and rendering the data of the permitted content to correspond to the output format; And
Outputting the content by outputting data of the final content
/ RTI >
A content output method.
상기 컨텐츠는 초고화질(Ultra high resolution) 컨텐츠인,
컨텐츠 출력 방법.
The method according to claim 1,
The content may be ultra high resolution content,
A content output method.
A computer-readable recording medium containing a program for carrying out the method according to any one of claims 1, 2 and 4 to 8.
상기 컨텐츠 출력 어플리케이션은 상기 컨텐츠 출력 장치가,
컨텐츠 서버로부터 암호화된(encrypted) 컨텐츠의 데이터 및 컨텐츠의 보안 파라미터를 수신하는 단계;
상기 보안 파라미터에 기초하여 상기 암호화된 컨텐츠의 데이터를 복호화하기 위한 모드를 결정하는 단계;
결정된 모드가 보안 모드인 경우, 상기 보안 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된(cleared) 컨텐츠의 데이터를 생성하는 단계; 및
상기 허가된 컨텐츠의 데이터에 기초하여 상기 컨텐츠를 출력하는 단계
를 실행하도록 상기 컨텐츠 출력 장치를 제어하고,
상기 보안 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계는,
보안 DRM 모듈(Digital Right Management Module)을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계
를 포함하는,
컨텐츠 출력 어플리케이션.
A content output application stored in a memory of a content output apparatus,
Wherein the content output application is a content output apparatus,
Receiving data and content security parameters of encrypted content from a content server;
Determining a mode for decrypting data of the encrypted content based on the security parameter;
If the determined mode is the secure mode, generating data of the cleared content by decrypting the encrypted content data in the secure mode; And
Outputting the content based on the data of the permitted content
Controls the content output apparatus to execute the content output apparatus,
Wherein the step of generating the data of the authorized content by decrypting the encrypted content data in the secure mode comprises:
Generating encrypted content data by decrypting the encrypted content data using a secure DRM module (Digital Right Management Module)
/ RTI >
Content output application.
컨텐츠를 출력하는 프로그램이 기록된 메모리; 및
상기 프로그램을 수행하는 프로세서
를 포함하고,
상기 프로그램은,
컨텐츠 서버로부터 암호화된(encrypted) 컨텐츠의 데이터 및 컨텐츠의 보안 파라미터를 수신하는 단계;
상기 보안 파라미터에 기초하여 상기 암호화된 컨텐츠의 데이터를 복호화하기 위한 모드를 결정하는 단계;
결정된 모드가 보안 모드인 경우, 상기 보안 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된(cleared) 컨텐츠의 데이터를 생성하는 단계; 및
상기 허가된 컨텐츠의 데이터에 기초하여 상기 컨텐츠를 출력하는 단계
를 수행하고,
상기 보안 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계는,
보안 DRM 모듈(Digital Right Management Module)을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계
를 포함하는,
컨텐츠 출력 장치.
By the content output apparatus,
A memory in which a program for outputting contents is recorded; And
The processor
Lt; / RTI >
The program includes:
Receiving data and content security parameters of encrypted content from a content server;
Determining a mode for decrypting data of the encrypted content based on the security parameter;
If the determined mode is the secure mode, generating data of the cleared content by decrypting the encrypted content data in the secure mode; And
Outputting the content based on the data of the permitted content
Lt; / RTI >
Wherein the step of generating the data of the authorized content by decrypting the encrypted content data in the secure mode comprises:
Generating encrypted content data by decrypting the encrypted content data using a secure DRM module (Digital Right Management Module)
/ RTI >
Content output device.
상기 보안 파라미터는, 상기 암호화된 컨텐츠의 데이터가 일반 모드로 복호화되어야 하는지 또는 보안 모드로 복호화되어야 하는지를 나타내는,
컨텐츠 출력 장치.
12. The method of claim 11,
Wherein the security parameter indicates whether data of the encrypted content should be decrypted into a general mode or a secure mode,
Content output device.
상기 프로그램은,
결정된 모드가 일반 모드인 경우, 상기 일반 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계
를 더 수행하고,
상기 일반 모드로 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 허가된 컨텐츠의 데이터를 생성하는 단계는,
일반 DRM 모듈을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계
를 포함하는,
컨텐츠 출력 장치.
12. The method of claim 11,
The program includes:
Generating encrypted content data by decrypting the encrypted content data in the normal mode when the determined mode is the normal mode,
Lt; / RTI >
Wherein the step of generating the data of the authorized content by decrypting the encrypted content data in the normal mode comprises:
Generating the data of the authorized content by decrypting the data of the encrypted content using the general DRM module
/ RTI >
Content output device.
상기 보안 DRM 모듈은 보안 펌웨어(firmware)를 통해 구현되고,
상기 일반 DRM 모듈은 일반 펌웨어를 통해 구현되며,
상기 보안 펌웨어 및 상기 일반 펌웨어는 서로 독립적이고,
상기 보안 펌웨어 및 상기 일반 펌웨어는 상기 프로세서에 의해 실행되는,
컨텐츠 출력 장치.
15. The method of claim 14,
The secure DRM module is implemented through security firmware,
The general DRM module is implemented through general firmware,
Wherein the security firmware and the general firmware are independent of each other,
Wherein the security firmware and the generic firmware are executed by the processor,
Content output device.
상기 보안 DRM 모듈을 이용하여 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계는,
상기 일반 DRM 모듈이 상기 일반 DRM 모듈 및 상기 보안 DRM 모듈의 공유 메모리(shared memory)에 상기 암호화된 컨텐츠의 데이터를 저장하는 단계;
상기 보안 DRM 모듈이 상기 공유 메모리로부터 상기 암호화된 컨텐츠의 데이터를 로드하는 단계;
상기 보안 DRM 모듈이 상기 암호화된 컨텐츠의 데이터를 복호화함으로써 상기 허가된 컨텐츠의 데이터를 생성하는 단계; 및
상기 보안 DRM 모듈이 상기 허가된 컨텐츠의 데이터를 보안 메모리에 저장하는 단계
를 포함하고,
상기 보안 메모리에 저장된 상기 허가된 컨텐츠의 데이터는 상기 컨텐츠를 출력하기 위해 이용되고,
상기 메모리는 상기 공유 메모리 및 상기 보안 메모리를 포함하는,
컨텐츠 출력 장치.
16. The method of claim 15,
Wherein the step of generating data of the authorized content by decrypting the encrypted content data using the secure DRM module comprises:
The general DRM module storing data of the encrypted content in a shared memory of the general DRM module and the secure DRM module;
The secure DRM module loading data of the encrypted content from the shared memory;
The secure DRM module generating data of the authorized content by decrypting the encrypted content data; And
Wherein the secure DRM module stores data of the authorized content in a secure memory
Lt; / RTI >
Wherein the data of the authorized content stored in the secure memory is used for outputting the content,
Wherein the memory comprises the shared memory and the secure memory.
Content output device.
상기 허가된 컨텐츠의 데이터에 기초하여 상기 컨텐츠를 출력하는 단계는,
상기 보안 메모리에 저장된 상기 허가된 컨텐츠의 데이터를 로드하는 단계;
상기 허가된 컨텐츠의 데이터를 출력 형식에 대응하도록 디코딩 및 렌더링함으로써 최종 컨텐츠의 데이터를 생성하는 단계; 및
상기 최종 컨텐츠의 데이터를 출력함으로써 상기 컨텐츠를 출력하는 단계
를 포함하는,
컨텐츠 출력 장치.
17. The method of claim 16,
Wherein the outputting of the content based on the data of the authorized content comprises:
Loading data of the authorized content stored in the secure memory;
Generating data of the final content by decoding and rendering the data of the permitted content to correspond to the output format; And
Outputting the content by outputting data of the final content
/ RTI >
Content output device.
상기 컨텐츠는 초고화질(Ultra high resolution) 컨텐츠인,
컨텐츠 출력 장치.12. The method of claim 11,
The content may be ultra high resolution content,
Content output device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170107253A KR101977478B1 (en) | 2017-08-24 | 2017-08-24 | Method and apparatus for outputting a content |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170107253A KR101977478B1 (en) | 2017-08-24 | 2017-08-24 | Method and apparatus for outputting a content |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190021879A KR20190021879A (en) | 2019-03-06 |
KR101977478B1 true KR101977478B1 (en) | 2019-05-10 |
Family
ID=65761143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170107253A Active KR101977478B1 (en) | 2017-08-24 | 2017-08-24 | Method and apparatus for outputting a content |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101977478B1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223285B1 (en) * | 1997-10-24 | 2001-04-24 | Sony Corporation Of Japan | Method and system for transferring information using an encryption mode indicator |
KR101964229B1 (en) * | 2013-07-26 | 2019-04-01 | 한화테크윈 주식회사 | Surveillance server, method of data processing thereof, and surveillance system |
KR102295661B1 (en) * | 2013-12-15 | 2021-08-30 | 삼성전자주식회사 | Method and apparatus for secured communication and multimedia device adopting the same |
-
2017
- 2017-08-24 KR KR1020170107253A patent/KR101977478B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20190021879A (en) | 2019-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12341762B2 (en) | Remotely managed trusted execution environment for digital-rights management in a distributed network with thin clients | |
US10685094B2 (en) | Digital rights management (DRM) method and system for intelligent operating system | |
EP3191994B1 (en) | Media decoding control with hardware-protected digital rights management | |
US8131995B2 (en) | Processing feature revocation and reinvocation | |
US20140122902A1 (en) | Information processing apparatus | |
US9767317B1 (en) | System to provide cryptographic functions to a markup language application | |
US20140123320A1 (en) | Processor, processor control method, and information processing device | |
TWI487375B (en) | Methods and apparatuses for securing playback content | |
US9152577B2 (en) | Security central processing unit management of a transcoder pipeline | |
US9436807B2 (en) | Method and apparatus for providing digital rights management service in the cloud | |
US9800561B2 (en) | Secure sharing of user annotated subscription media with trusted devices | |
US10944572B2 (en) | Decryption and variant processing | |
CN104951706B (en) | Method and apparatus for storing content | |
KR20120030419A (en) | Memory device and method for embedding host-identification information into content | |
KR20090051235A (en) | Computer-implemented methods, apparatus, information processing systems, and computer readable recording media | |
US20080250251A1 (en) | Systems and Methods for Hardware Driven Program Execution | |
US20110219242A1 (en) | Method and system for managing secure code loading in pc-slave devices | |
EP3605371B1 (en) | Remotely managed trusted execution environment for digital-rights management in a distributed network with thin clients | |
KR101977478B1 (en) | Method and apparatus for outputting a content | |
EP2699017B1 (en) | Security processing unit with secure connection to head end | |
Mohanty et al. | Media data protection during execution on mobile platforms–A review | |
US8020214B2 (en) | Transmitter, receiver, and content transmitting and receiving method | |
CA3067087C (en) | Method and device for secure video processing | |
US10419434B2 (en) | Method and device for improving the protection of a multimedia signal against a malicious attack | |
US20160112379A1 (en) | Apparatus for and method of playing back content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20170824 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20181004 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20190326 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20190503 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20190503 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20220314 Start annual number: 4 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20250408 Start annual number: 7 End annual number: 9 |