KR102286303B1 - Key Rotation for DRM Systems in DASH base Media Service - Google Patents
Key Rotation for DRM Systems in DASH base Media Service Download PDFInfo
- Publication number
- KR102286303B1 KR102286303B1 KR1020170087966A KR20170087966A KR102286303B1 KR 102286303 B1 KR102286303 B1 KR 102286303B1 KR 1020170087966 A KR1020170087966 A KR 1020170087966A KR 20170087966 A KR20170087966 A KR 20170087966A KR 102286303 B1 KR102286303 B1 KR 102286303B1
- Authority
- KR
- South Korea
- Prior art keywords
- key
- dash
- media
- list
- ecl
- 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
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000007726 management method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000001378 electrochemiluminescence detection Methods 0.000 abstract description 14
- 230000006870 function Effects 0.000 description 7
- 238000013475 authorization Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- 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/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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2389—Multiplex stream processing, e.g. multiplex stream encrypting
- H04N21/23895—Multiplex stream processing, e.g. multiplex stream encrypting involving multiplex stream encryption
-
- 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)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 발명은 DASH 기반 미디어 콘텐츠 서비스에서 DRM 시스템을 위한 키 회전 방식에 관한 것이다.
본 실시예의 일 측면에 의하면, DASH 인코더는 복수의 미디어 복호화 키를 생성하고, 생성된 미디어 복호화 키들을 포함하는 키 리스트를 컨텐츠 보호 매니저에게 제공한다. 상기 키 리스트에서 각 미디어 복호화 키는 키 식별자(Key Identifier: KID)에 의해 식별된다. 상기 컨텐츠 보호 매니저는 상기 DASH 인코더로부터 수신한 키 리스트를 라이센스 서버로 전달한다. 상기 라이센스 서버는 상기 키 리스트를 기초로 복수의 ECL을 생성하고, 생성된 ECL들을 포함하는 ECL 리스트를 컨텐츠 보호 매니저로 전달한다. 상기 ECL 리스트에서 각 ECL은 키 식별자에 의해 식별되며 암호화된 미디어 복호화 키 및 키 식별자를 포함한다. 상기 컨텐츠 보호 매니저는 데이터 필드에 상기 ECL리스트가 삽입된 pssh 박스를 생성하고, 생성된 pssh 박스를 상기 DASH 인코더에 전달한다. 상기 DASH 인코더는 상기 pssh 박스를 DASH MPD 또는 미디어 세그먼트에 포함시켜 클라이언트 단말로 전달한다.The present invention relates to a key rotation method for a DRM system in a DASH-based media content service.
According to an aspect of this embodiment, the DASH encoder generates a plurality of media decryption keys and provides a key list including the generated media decryption keys to the content protection manager. In the key list, each media decryption key is identified by a key identifier (KID). The content protection manager transmits the key list received from the DASH encoder to the license server. The license server generates a plurality of ECLs based on the key list, and transmits the ECL list including the generated ECLs to the content protection manager. In the ECL list, each ECL is identified by a key identifier and includes an encrypted media decryption key and a key identifier. The content protection manager creates a pssh box in which the ECL list is inserted in a data field, and delivers the generated pssh box to the DASH encoder. The DASH encoder includes the pssh box in the DASH MPD or media segment and delivers it to the client terminal.
Description
본 발명은 DASH(Dynamic adaptive streaming over HTTP) 기반 미디어 서비스에서 DRM(Digital Rights Management) 시스템을 위한 키 회전(Key rotation)에 관한 것이다.The present invention relates to a key rotation for a DRM (Digital Rights Management) system in a DASH (Dynamic adaptive streaming over HTTP) based media service.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information for the present embodiment and does not constitute the prior art.
ECL(Entitlement Control License)은 DASH 기반 미디어 서비스 제공 시 콘텐츠 보호를 위한 방법 중 하나이다. DASH(Dynamic adaptive streaming over HTTP)는 MPEG CENC 표준을 기반으로 미디어 콘텐츠에 대한 보호를 수행할 수 있으며, 이때 미디어 콘텐츠는 가장 기본적으로 암호화 키에 의한 암호화에 의해 이루어진다. 콘텐츠 보호의 강도를 구분하는 요소에는 여러 개가 존재하며, 그 중 하나는 암호화 키를 주기적으로 변경하는 것이다. 암호화 키를 주기적으로 변경하는 것을 "키 회전(key rotation)"이라고 부른다. ECL은 키 회전을 위해 암호화 키를 변경하는 방법 중 하나인 key hierarchy 방법에 사용되는 라이선스이다.ECL (Entitlement Control License) is one of the methods for content protection when providing DASH-based media services. DASH (Dynamic adaptive streaming over HTTP) can protect media content based on the MPEG CENC standard, and in this case, media content is basically encrypted with an encryption key. There are several factors that differentiate the strength of content protection, and one of them is to periodically change the encryption key. Periodically changing the encryption key is called "key rotation." ECL is a license used in the key hierarchy method, which is one of the methods of changing the encryption key for key rotation.
현재까지 나와 있는 규격은 "DASH 기반 미디어를 key rotation 방식으로 암호화할 때 key hierarchy 방식을 사용하고자 한다면 ECL 및 EML(Entitlement Management License)를 이용할 수 있으며, ECL은 암호화된 미디어 복호화 키를 포함하고 있고, EML은 암호화된 미디어 복호화 키를 복호화하는데 필요한 복호화 키를 포함해야 한다"는 정도로만 기술되어 있을 뿐 상세한 ECL 및 EML에 대한 운영에 대해서는 명시하고 있지 않다. EML의 경우 콘텐츠 보안 사업자 나름 대로의 방법을 사용해 운영해도 문제가 없지만, ECL의 경우 미디어에 포함되어 미디어와 전송 채널을 통해 전송되는 데이터이므로, 좀더 명확한 표준화된 성격의 규약이 요구된다.The standards presented so far are "ECL and EML (Entitlement Management License) can be used if you want to use the key hierarchy method when encrypting DASH-based media with the key rotation method, and the ECL includes an encrypted media decryption key, EML is only described to the extent of "must include a decryption key necessary to decrypt the encrypted media decryption key", but does not specify the detailed operation of ECL and EML. In the case of EML, there is no problem even if it is operated using the content security provider's own method, but in the case of ECL, since it is data that is included in the media and transmitted through the media and transmission channel, a clearer standardized protocol is required.
본 발명은 이러한 요구사항을 만족하는 ECL 운영 방법을 제공하는 데 주된 목적이 있다.The main object of the present invention is to provide an ECL operation method that satisfies these requirements.
본 발명의 일 측면에 의하면, DASH 기반 미디어 서비스를 위한 시스템에서 미디어 콘텐츠의 안전한 분배를 관리하는 방법을 제공한다. 상기 방법은 DASH 인코더가 복수의 미디어 복호화 키를 생성하고, 생성된 미디어 복호화 키들을 포함하는 키 리스트를 컨텐츠 보호 매니저에게 제공하는 과정을 포함한다. 상기 키 리스트에서 각 미디어 복호화 키는 키 식별자(Key Identifier: KID)에 의해 식별된다. 상기 방법은 상기 컨텐츠 보호 매니저가 상기 DASH 인코더로부터 수신한 키 리스트를 라이센스 서버로 전달하는 과정; 및 상기 라이센스 서버가 상기 키 리스트를 기초로 복수의 ECL을 생성하고, 생성된 ECL들을 포함하는 ECL 리스트를 컨텐츠 보호 매니저로 전달하는 과정을 더 포함한다. 상기 ECL 리스트에서 각 ECL은 키 식별자에 의해 식별되며 암호화된 미디어 복호화 키 및 키 식별자를 포함한다. 상기 방법은 상기 컨텐츠 보호 매니저가 데이터 필드에 상기 ECL리스트가 삽입된 pssh 박스를 생성하고, 생성된 pssh 박스를 상기 DASH 인코더에 전달하는 과정; 및 상기 DASH 인코더가 상기 pssh 박스를 DASH MPD(Media Presentation Description) 또는 미디어 세그먼트에 포함시켜 클라이언트 단말로 전달하는 과정을 더 포함한다.According to one aspect of the present invention, there is provided a method for managing secure distribution of media content in a system for a DASH-based media service. The method includes, by the DASH encoder, generating a plurality of media decryption keys, and providing a key list including the generated media decryption keys to the content protection manager. In the key list, each media decryption key is identified by a key identifier (KID). The method may include transmitting, by the content protection manager, a key list received from the DASH encoder to a license server; and generating, by the license server, a plurality of ECLs based on the key list, and transmitting the ECL list including the generated ECLs to the content protection manager. In the ECL list, each ECL is identified by a key identifier and includes an encrypted media decryption key and a key identifier. The method includes: the content protection manager generating a pssh box in which the ECL list is inserted in a data field, and transmitting the generated pssh box to the DASH encoder; and transmitting, by the DASH encoder, the pssh box to a DASH Media Presentation Description (MPD) or media segment to be transmitted to the client terminal.
상기 방법의 실시예들은 다음의 특징들을 하나 이상 더 포함할 수 있다.Embodiments of the method may further include one or more of the following features.
일부 실시예에서, 상기 방법은, DASH 디코더가 DASH 스트림을 파싱하여, 상기 pssh 박스를 DRM 클라이언트에게 전달하는 과정; 및 상기 DRM 클라이언트가 상기 pssh 박스에 포함된 복수의 ECL들로부터, 사전에 획득한 EML에 포함된 복호화 키를 이용하여, 키 리스트를 복호화하는 과정을 더 포함한다. 여기서, 상기 DASH 디코더 및 상기 DRM 클라이언트는 상기 클라이언트 단말 내에 포함된다. In some embodiments, the method includes: parsing, by a DASH decoder, a DASH stream, and delivering the pssh box to a DRM client; and decrypting, by the DRM client, a key list from a plurality of ECLs included in the pssh box, using a decryption key included in the EML obtained in advance. Here, the DASH decoder and the DRM client are included in the client terminal.
일부 실시예에서, 상기 방법은, 상기 DRM 클라이언트가 복호화된 키 리스트를 상기 클라이언트 단말 내의 저장소에 저장하는 과정; 상기 DASH 디코더가 현재의 키 변경 구간에 사용할 미디어 복호화 키의 키 식별자를 상기 DRM 클라이언트에게 전송하는 과정; 상기 DRM 클라이언트가 상기 저장소에서 상기 DASH 디코더로부터 수신된 키 식별자에 대응되는 미디어 복호화 키를 검색하여, 검색된 미디어 복호화 키를 상기 DASH 디코더에 전달하는 과정; 및 상기 DASH 디코더가 상기 DRM 클라이언트로부터 수신된 미디어 복호화 키를 이용하여, 현재의 키 변경 구간에 수신되는 미디어 세그먼트들을 복호화하는 과정을 더 포함한다.In some embodiments, the method comprises: storing, by the DRM client, a decrypted key list in a storage in the client terminal; transmitting, by the DASH decoder, a key identifier of a media decryption key to be used in a current key change period to the DRM client; a process in which the DRM client searches for a media decryption key corresponding to the key identifier received from the DASH decoder in the storage, and transmits the retrieved media decryption key to the DASH decoder; and decoding, by the DASH decoder, the media segments received in the current key change period using the media decryption key received from the DRM client.
본 발명의 다른 측면에 의하면, DASH 기반 미디어 콘텐츠 서비스를 위한 시스템에서 미디어의 안전한 분배를 관리하는 컨텐츠 보호 매니저로서 동작하는 컴퓨터화된 장치로서, 컴퓨터 프로그램 명령어를 저장하는 메모리; 하나 이상의 프로세서; 입력/출력 인터페이스 회로; 및 상기 메모리, 상기 프로세서, 상기 입력/출력 인터페이스 회로를 상호 연결하는 하나 이상의 데이터버스를 포함하고, 상기 프로세서는 상기 컴퓨터 프로그램 명령어를 수행하여 상기 컴퓨터화된 장치로 하여금 다음과 같은 과정을 수행하게 한다: DASH 인코더로부터 미디어 복호화 키들을 포함하는 키 리스트를 라이센스 서버에 전달하는 과정, 상기 키 리스트에서 각 미디어 복호화 키는 키 식별자(Key Identifier: KID)에 의해 식별됨; 상기 라이센스 서버로부터, 상기 키 리스트를 기초로 생성된 ECL 리스트를 수신하는 과정, 상기 ECL 리스트에서 각 ECL은 키 식별자에 의해 식별되며 암호화된 미디어 복호화 키 및 키 식별자를 포함함; 데이터 필드에 상기 ECL 리스트가 삽입된 pssh 박스를 생성하고, 생성된 pssh 박스를 상기 DASH 인코더에 전달하는 과정. 여기서 상기 pssh 박스는 상기 DASH 인코더에 의해 DASH MPD 또는 미디어 세그먼트에 포함되어 클라이언트 단말로 전달된다.According to another aspect of the present invention, there is provided a computerized device operating as a content protection manager managing secure distribution of media in a system for a DASH-based media content service, comprising: a memory for storing computer program instructions; one or more processors; input/output interface circuit; and one or more data buses interconnecting the memory, the processor, and the input/output interface circuit, wherein the processor executes the computer program instructions to cause the computerized device to perform the following process. : A process of delivering a key list including media decryption keys from a DASH encoder to a license server, wherein each media decryption key in the key list is identified by a Key Identifier (KID); receiving, from the license server, an ECL list generated based on the key list, wherein each ECL in the ECL list is identified by a key identifier and includes an encrypted media decryption key and a key identifier; A process of generating a pssh box in which the ECL list is inserted in a data field, and transmitting the generated pssh box to the DASH encoder. Here, the pssh box is included in the DASH MPD or media segment by the DASH encoder and delivered to the client terminal.
본 발명의 또 다른 측면에 의하면, DASH 기반 미디어 콘텐츠 서비스를 위한 시스템으로서, 컨텐츠 전달 네트워크를 통해 클라이언트 단말에 연결되고, DASH 인코더와 컨텐츠 보호 매니저와 라이센스 서버를 포함하는 하나 이상의 서버 컴퓨터를 포함한다. 상기 DASH 인코더는 키 식별자(Key Identifier: KID)로 식별되는 복수의 미디어 복호화 키를 포함한 키 리스트를 생성하고, 상기 라이센스 서버로부터 수신되는 pssh 박스를 DASH MPD(Media Presentation Description) 또는 미디어 세그먼트에 포함시켜 클라이언트 단말로 전달하도록 구성된다. 상기 키 리스트에서 각 미디어 복호화 키는 키 식별자(Key Identifier: KID)에 의해 식별된다. 상기 라이센스 서버는 상기 키 리스트를 기초로, 상기 키 리스트를 기초로 복수의 ECL을 생성하고, 생성된 ECL들을 포함하는 ECL 리스트를 컨텐츠 보호 매니저로 전달하도록 동작한다. 각 ECL은 대응되는 암호화된 미디어 복호화 키 및 키 식별자를 포함한다. 상기 컨텐츠 보호 매니저는 상기 DASH 인코더로부터 상기 키 리스트를 수신하여 상기 라이센스 서버로 전달하고, 상기 라이센스 서버로부터 수신되는 ECL 리스트가 삽입된 pssh 박스를 생성하여, 생성된 pssh 박스를 상기 DASH 인코더에 전달하도록 동작한다. 여기서 pssh의 Data필드에 ECL 리스트가 포함된다.According to another aspect of the present invention, a system for a DASH-based media content service includes one or more server computers connected to a client terminal through a content delivery network and including a DASH encoder, a content protection manager, and a license server. The DASH encoder generates a key list including a plurality of media decryption keys identified by a key identifier (KID), and includes a pssh box received from the license server in a DASH MPD (Media Presentation Description) or media segment. configured to deliver to the client terminal. In the key list, each media decryption key is identified by a key identifier (KID). The license server operates to generate a plurality of ECLs based on the key list and to transmit the ECL list including the generated ECLs to the content protection manager. Each ECL contains a corresponding encrypted media decryption key and key identifier. The content protection manager receives the key list from the DASH encoder and delivers it to the license server, generates a pssh box in which the ECL list received from the license server is inserted, and delivers the generated pssh box to the DASH encoder. It works. Here, the ECL list is included in the Data field of pssh.
이상에서 설명한 바와 같이 본 발명에 따르면, DASH기반 미디어 서비스에서 key rotation 기능을 ECL기반의 key hierarchy 방식으로 제공할 때의 ECL 운영 규약을 제공한다. As described above, according to the present invention, an ECL operation protocol is provided when providing a key rotation function in an ECL-based key hierarchy method in a DASH-based media service.
또한, 본 발명에 따르면, 지속적으로 변경되는 미디어 키들이 in-band로 전달됨으로써, 실시간 라이센스 획득이 가능해지며, 클라이언트 인증이나 권한부여 등을 반복하여 수행하는 것이 요구되지 않는다. 따라서, 인터럽트 없이 지속적인 콘텐츠 재생이 가능해 진다.In addition, according to the present invention, since continuously changing media keys are transmitted in-band, real-time license acquisition is possible, and repeated client authentication or authorization is not required. Accordingly, continuous content reproduction is possible without interruption.
도 1은 DRM 시스템을 구성하는 구성요소 및 통신 흐름을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 ECL 기반의 현재 및 미래의 키들에 대한 정보를 pssh box로 제공하는 방식을 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 키 변경을 사용한 컨텐츠 전송 및 복호화 방법을 도시한 흐름도이다.1 is a diagram illustrating components constituting a DRM system and a communication flow.
2 is a diagram illustrating a method of providing information on ECL-based current and future keys to a pssh box according to an embodiment of the present invention.
3 is a flowchart illustrating a content transmission and decryption method using a key change according to an embodiment of the present invention.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '서버'는 일반적인 범용 목적 혹은 특정 목적의 컴퓨터 시스템을 지칭하는 것으로, 이러한 컴퓨터 시스템은 보통 메모리, 입력/출력 회로, 이들 구성요소들을 연결하는 하나 이상의 데이터 버스와 같은 상호연결을 가진 명령어 프로세싱 로직을 포함한다. 따라서, 명세서에 개시된 기술들은 하나 이상의 컴퓨터 시스템에 의해 실행되는 소프트웨어로 구현될 수 있다. 유사하게 클라이언트 단말은 이상의 구성요소들과 실행되는 소프트웨어를 포함하는 컴퓨터화된 디바이스로서, 네트워크로부터 컨텐츠를 수신하고, 수신된 켄텐츠를 디코딩하고 디스플레이 혹은 유사한 출력 장치들에 렌더링할 수 있는 컴퓨터화된 디바이스이다.Throughout the specification, when a part 'includes' or 'includes' a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. . Also, as used herein, the term 'server' refers to a general general purpose or special purpose computer system, which usually includes an interconnection such as memory, input/output circuitry, and one or more data buses connecting these components. Contains instruction processing logic with Accordingly, the techniques disclosed herein may be implemented in software executed by one or more computer systems. Similarly, a client terminal is a computerized device including the above components and software executing, which is a computerized device capable of receiving content from a network, decoding the received content, and rendering it on a display or similar output devices. am.
도 1은 본 발명의 일 실시예에 따른 컨텐츠 전달 시스템을 도시한 도면이다.1 is a diagram illustrating a content delivery system according to an embodiment of the present invention.
컨텐츠 전달 시스템(100)은 DASH 인코더(DASH encoder; 10), 컨텐츠 보호 매니저(Content protection manager: CP managerl 12), 라이센스 서버(License server; 14), 및 클라이언트 단말(20)을 포함한다. DASH 인코더(10), 컨텐츠 보호 매니저(12), 및 라이센스 서버(14)는 미디어 콘텐츠 서비스(예컨대, OTT(Over The Top) 서비스)를 제공하는 서비스 플랫폼의 구성요소 중의 일부인 DRM 시스템을 기능적으로 구분한 논리적 객체들이다. 따라서, 하나 이상의 물리적 객체(즉, 서버 컴퓨터 시스템)가 복수의 논리적 객체가 수행하는 역할을 수행할 수도 있다. 예컨대, 일부 실시예에서, 컨텐츠 보호 매니저(12)와 라이센스 서버(14)는 동일한 물리적 서버에 포함될 수 있다.The
DASH 인코더(10)는 클라이언트 단말(20)에 전달될 미디어 스트림을 생성한다. DASH 인코더(10)는 ISO 기반 미디어 파일 포맷[ISO/EC 14496-12]과 같은 컨텐츠 포맷에 맞추어 표준화된 암호화 기법을 이용하여 컨텐츠를 암호화한다. DASH 인코더(10)는 지속시간을 가진 키 회전(key rotation) 기능을 구현한다. 즉, DASH 인코더(10)는 각 키 변경 구간마다 상이한 암호화 키를 사용하여 미디어 세그먼트들을 암호화한다.The DASH
컨텐츠 보호 매니저(12)는 DASH 인코더(10) 및 라이센스 서버(14)와 협업하여, 미디어 스트림의 보호에 사용되는 컨텐츠 복호화 키의 분배를 관리한다.The
라이센스 서버(Licence server; 14)는 컨텐츠 보호 매니저(12)와 협력하여 허가된 클라이언트 단말(20)에 전달될 라이센스들을 생성한다. 라이센스들은 EML(Entitlement Management License)과 ECL(Entitlement Control License)을 포함한다. ECL에는 암호화된 컨텐츠를 클라이언트 단말(20)이 복호화하는 데 사용하는 미디어 복호화 키들에 대한 정보가 포함되어 있으며, EML에는 ECL로부터 미디어 복호화 키를 추출하는 데 사용되는 키 정보가 포함되어 있다. 라이센스들의 전달에 관한 설명은 도 2 내지 도 3을 참조하여 후술한다.A license server (Licence server) 14 cooperates with the
컨텐츠 전달 시스템(100)은 인증/권한부여 기능을 구현하기 위해 인증 서버(Authentication server; 미도시)를 더 포함할 수 있다. 인증 서버는 서비스 보호 매니저(12)와 협업하여 사용자 인증 및 가입자 정보의 확인을 수행한다. 사용자에 의해 서비스가 엑세스 되는 경우에, 인증 서버는 서비스 운영자의 가입자 관리 시스템(미도시)에 저장된 사용자 ID 및 패스워드를 검증함으로써 인증 및 권한부여를 수행할 수 있다. 인증 서버는 이 결과를 서비스 보호 매니저(12)에 전달하고, 라이센스 프로세싱을 포함한 DASH 스트림 생성이 시작된다. The
클라이언트 단말(Client device; 20)은 사용자의 재생 요청에 기초하여, 라이센스와 DASH 스트림을 수신하며, 라이센스에 포함된 미디어 복호화 키를 이용하여 DASH 스트림을 복호화하고 재생한다. 클라이언트 단말(20)은 DASH 디코더(DASH decoder; 21)와 DRM 클라이언트(22)를 포함한다. 일부 실시예에서, DRM 클라이언트(22)는 컨텐츠의 복호화 및 디스플레이를 위해 클라이언트 단말(20)에 임베디드된 재생 기능(즉, decoder 기능)을 가질 수 있다. 클라이언트 단말(20)은 셋톱박스(Set-top box) 혹은 비-셋톱박스(예컨대, 스마트폰, 테블릿 PC, 노트북 등)를 포함한다.The
컨텐츠 전달 시스템(100)은 시간 경과에 따른 키 갱신하는 "키 회전(key rotation)" 기능을 지원한다. 미디어 복호화 키는 컨텐츠 보호의 보안을 위해, 설정된 시간 간격으로 변경된다. 키 변경은 컨텐츠를 스트리밍하는 동안에 자격의 변경을 위해 주로 사용된다. 본 발명은 DASH 기반 미디어를 키 회전 방식으로 암호화할 때, ECL 및 EML를 이용한 소위 'Key hierarchy' 방식을 사용한다. The
도 2는 본 발명의 일 실시예에 따른 ECL 기반의 현재 및 미래의 키들에 대한 정보를 pssh box로 제공하는 방식을 예시한 도면이다.2 is a diagram illustrating a method of providing information on ECL-based current and future keys to a pssh box according to an embodiment of the present invention.
MPEG CENC (Common Encryption; ISO/IEC 23001-7) 표준은 ISOBMFF(ISO base media file format)에 대한 암호화 방식(Encryption Method), 암호화 키 맵핑(Key Mapping) 방법, 암호화 메타데이터(Encryption Metadata) 표시 방법을 포함하는 공통 암호화 표준이다. 이 표준은 서로 다른 컨텐츠 보호 시스템들이 자신만의 암호화 방법이 아닌 공통의 방법으로 ISOBMFF의 암호화/복호화가 가능하도록 하고 각 컨텐츠 보호 시스템은 암호화 방법보다는 키 관리(복호화 키 획득 방법, 저장 방법 등)와 접근 권한(Rights, License 등) 관리에 초점을 맞출 수 있도록 한다.MPEG CENC (Common Encryption; ISO/IEC 23001-7) standard is an encryption method (Encryption Method) for ISO base media file format (ISOBMFF), an encryption key mapping method, a method for displaying encryption metadata (Encryption Metadata) It is a common encryption standard that includes This standard enables different content protection systems to encrypt/decrypt ISOBMFF with a common method rather than their own encryption method. Allows you to focus on managing access rights (Rights, Licenses, etc.).
MPEG/3GP DASH 프로토콜 하에서 미디어 세그먼트들 혹은 초기화 세그먼트들은 한 트랙 내에서 변경되는 새로운 미디어 키들을 전달하는 데 사용될 수 있다. 초기화 시그먼트들은 MPEG CENC 표준에 의해 규정된 Movie 박스(moov box) 하위에 하나 이상의 Protection System Specific Header 박스(pssh box)들을 포함한다. 미디어 세그먼트들은 Movie Fragment 박스(moof box)들의 하위에 pssh 박스들을 포함할 수 있다. 또한, pssh 박스는 MPD(Media Presentation Description)에 포함될 수도 있다.Under the MPEG/3GP DASH protocol media segments or initialization segments can be used to convey new media keys that change within a track. The initialization segments include one or more Protection System Specific Header boxes (pssh boxes) under the Movie box (moov box) defined by the MPEG CENC standard. Media segments may include pssh boxes under Movie Fragment boxes (moof boxes). Also, the pssh box may be included in a Media Presentation Description (MPD).
pssh 박스들은 새로운 키들, 혹은 라이센스들에 관한 정보를 전달하고, 클라이언트 단말은 미디어 복호화 키들을 획득하기 위해 초기화 세그먼트 혹은 미디어 세그먼트 내의 pssh 박스들로부터 정보를 획득한다. The pssh boxes transmit information about new keys or licenses, and the client terminal obtains information from pssh boxes in the initialization segment or media segment to obtain media decryption keys.
도 2에 도시된 바와 같이, pssh 박스는 현재 및 미래의 컨텐츠 키들에 관한 최소 2개 이상의 KID/ECL쌍을 포함하며, 키 변경 주기마다 동일한 KID/ECL 쌍 값을 포함한다. 최소 2개가 필요한 이유는 다음 key rotation이 발생하기 이전에 필요한 KID/ECL을 확보하여 서비스가 끊기거나 지연되는 현상이 발생하지 않도록 하기 위함이다. 일반적으로 2개보다는 충분히 많이 포함해야 클라이언트 단말들이 키 변경 경계에서 한꺼번에 라이선스 서버로 새로운 키를 요구하는 소위 "client storm" 현상이 발생하지 않게 된다.As shown in FIG. 2 , the pssh box includes at least two KID/ECL pairs for current and future content keys, and includes the same KID/ECL pair value for each key change period. The reason that at least two are needed is to secure the necessary KID/ECL before the next key rotation occurs so that the service is not interrupted or delayed. In general, it is necessary to include more than two so that the so-called "client storm" phenomenon in which client terminals request a new key from the license server at once at the boundary of key change does not occur.
도 3은 본 발명의 일 실시예에 따른 키 변경을 사용한 컨텐츠 전송 및 복호화 방법을 도시한 흐름도이다.3 is a flowchart illustrating a content transmission and decryption method using a key change according to an embodiment of the present invention.
도 3에 표기된 'DRM 시스템 X'는 전용 DRM 시스템들 중 하나를 나타내는 예시적인 것이며, 라이센스 서버와 DRM 클라이언트는 DRM 시스템 X에 전속적이다.The 'DRM system X' shown in FIG. 3 is an example of one of the dedicated DRM systems, and the license server and the DRM client are exclusive to the DRM system X.
DASH 인코더는 KID와 미디어 복호화 키인 KEY가 쌍으로 구성된 KID/KEY 쌍 리스트를 생성한다(S310). 여기서, KID는 KEY에 할당한 키 식별자(Key Identifier를 의미한다. KID/KEY 쌍은 최소한 2개 이상이어야 한다. KID/KEY의 쌍 구성은 각 DRM 솔루션마다 다르게 구성될 수 있다. 생성된 쌍들은 컨텐츠 보호 매니저에게 전달된다(S311). 상기 미디어 복호화 키는 DASH 디코더가 미디어 세그먼트를 복호화하는데 사용된다.The DASH encoder generates a KID/KEY pair list in which the KID and KEY, which is the media decryption key, are paired (S310). Here, KID means a key identifier assigned to KEY. There should be at least two KID/KEY pairs. The KID/KEY pair configuration can be configured differently for each DRM solution. The generated pairs are It is transmitted to the content protection manager (S311) The media decryption key is used by the DASH decoder to decrypt the media segment.
컨텐츠 보호 매니저는 DASH 인코더로부터 수신한 KID/KEY 쌍 리스트를 라이센스 서버로 전달한다(S312).The content protection manager delivers the KID/KEY pair list received from the DASH encoder to the license server (S312).
라이센스 서버는 KID/KEY 쌍 리스트를 기초로 ECL들을 생성한다(S313). 각 ECL은 암호화된 KID/KEY 쌍을 포함한다. 이후 라이센스 서버는 생성된 ECL들을 포함하는 ECL 리스트를 컨텐츠 보호 매니저로 전달한다(S314). ECL 리스트에서 각 ECL들은 KID에 의해 식별된다. 이때 KID/KEY 암호화 방식 및 ECL 구성은 DRM 시스템마다 서로 다를 수 있다.The license server generates ECLs based on the KID/KEY pair list (S313). Each ECL contains an encrypted KID/KEY pair. Thereafter, the license server transmits the ECL list including the generated ECLs to the content protection manager (S314). In the ECL list, each ECL is identified by a KID. In this case, the KID/KEY encryption method and the ECL configuration may be different for each DRM system.
컨텐츠 보호 매니저는 KID/ECL 쌍들을 기초로 pssh 박스를 생성한다(S315). 이때 KID/ECL쌍들은 반드시 pssh 자체가 아니라 pssh의 Data 필드에 포함되어야 한다. 생성된 pssh박스는 DASH 인코더로 전달된다(S317).The content protection manager creates a pssh box based on the KID/ECL pairs (S315). At this time, KID/ECL pairs must be included in the Data field of pssh, not pssh itself. The generated pssh box is delivered to the DASH encoder (S317).
DASH 인코더는 생성한 KID/KEY 리스트에서 현재의 키 변경 구간에 사용되는 KEY를 이용하여 암호화된 컨텐츠를 MPEG DASH 규격에 따라 DASH 디코더로 스트리밍 한다. 이때, DASH 인코더는 컨텐츠 보호 매니저로부터 전달받은 pssh박스를 MPD 또는 미디어 세그먼트에 포함시켜 클라이언트 단말로 전달한다(S317).The DASH encoder streams encrypted content to the DASH decoder according to the MPEG DASH standard by using the KEY used in the current key change section from the generated KID/KEY list. At this time, the DASH encoder includes the pssh box received from the content protection manager in the MPD or media segment and delivers it to the client terminal (S317).
DASH 디코더는 수신한 DASH 스트림을 파싱하고 pssh 박스를 추출한다. 이후 DASH 디코더는 pssh박스를 DRM 클라이언트로 전달한다(S318).The DASH decoder parses the received DASH stream and extracts the pssh box. Thereafter, the DASH decoder delivers the pssh box to the DRM client (S318).
DRM 클라이언트는 전달받은 ECL들로부터 KID/KEY 쌍들을 복호화한 후 안전한 저장장소(database)에 저장한다(S319~S320). KID/KEY쌍의 복호화에 사용되는 복호화 키는 EML로부터 얻는다. EML 구성 및 처리 방법은 DRM 솔루션마다 적절한 방식이 채용될 수 있으며, 이는 본 발명의 요지를 벗어난다.The DRM client decrypts the KID/KEY pairs from the received ECLs and stores them in a secure database (S319 to S320). The decryption key used to decrypt the KID/KEY pair is obtained from EML. An EML configuration and processing method may be adopted in an appropriate manner for each DRM solution, which is outside the scope of the present invention.
DRM 클라이언트는 KID값을 DASH 디코더로부터 수신하면, 저장장소에 저장된 KID/KEY 쌍으로부터 KID에 해당되는 KEY를 검색하고, 검색된 KEY를 DASH 디코더로 전달한다(S321~S323).When the DRM client receives the KID value from the DASH decoder, the DRM client retrieves the KEY corresponding to the KID from the KID/KEY pair stored in the storage and delivers the retrieved KEY to the DASH decoder (S321 to S323).
DASH 디코더는 수신한 KEY를 사용해 DASH 미디어 스트림을 복호화한다(S324).The DASH decoder decodes the DASH media stream using the received KEY (S324).
이상의 설명과 같이, 지속적으로 변경되는 미디어 키들이 MPD 또는 미디어 세그먼트와 함께 전달됨으로써, 실시간 라이센스 획득이 가능해지며, 클라이언트 인증(authentication)이나 권한부여(authorization) 등을 반복하여 수행하는 것이 요구되지 않는다. 따라서, 인터럽트 없이 지속적인 콘텐츠 재생이 가능해 진다.As described above, since continuously changing media keys are delivered together with the MPD or media segment, real-time license acquisition is possible, and repeated client authentication or authorization is not required. Accordingly, continuous content reproduction is possible without interruption.
도 3에 도시된 실시예에서는 DASH 인코더에 의해 생성된 KID/KEY 리스트가 컨텐츠 보호 매니저 및 라이센스 서버에게 전달하는 것으로 설명하였지만, 다른 실시예에서, 컨텐츠 보호 매니저 혹은 라이센스 서버가 KID/KEY 리스트를 생성하도록 구성될 수 있다. 예컨대, 컨텐츠 보호 매니저는 KID/KEY 리스트를 생성하여 DASH 인코더 및 라이센스 서버에 전달할 수 있다. 3, the KID/KEY list generated by the DASH encoder has been described as being delivered to the content protection manager and the license server, but in another embodiment, the content protection manager or the license server generates the KID/KEY list can be configured to do so. For example, the content protection manager may generate a KID/KEY list and deliver it to the DASH encoder and the license server.
이상의 실시예에서는 세그먼트 기반의 컨텐츠 분배 프로토콜로써 MPEG/3GP Dynamic Adaptive Streaming over HTTP (DASH)를 예시적으로 설명하였으나, 다른 세그먼트 기반의 프로토콜들(예컨대, HTTP live Streaming, Silverlight Smooth Streaming 등)에도 본 발명이 제안하는 키 교환 방식이 적용될 수 있음은 자명하다. In the above embodiment, MPEG/3GP Dynamic Adaptive Streaming over HTTP (DASH) has been exemplarily described as a segment-based content distribution protocol, but the present invention also includes other segment-based protocols (eg, HTTP live Streaming, Silverlight Smooth Streaming, etc.). It is obvious that the proposed key exchange method can be applied.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 전술한 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical spirit of the present invention, and various modifications and variations will be possible without departing from the essential characteristics of the present invention by those skilled in the art to which the present invention pertains. Accordingly, the above-described embodiments are for explanation rather than limiting the technical spirit of the present invention, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed by the claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.
Claims (5)
DASH 인코더가 복수의 미디어 복호화 키를 생성하고, 생성된 미디어 복호화 키들을 포함하는 키 리스트를 컨텐츠 보호 매니저에게 제공하는 과정, 상기 키 리스트에서 각 미디어 복호화 키는 키 식별자(Key Identifier: KID)에 의해 식별됨;
상기 컨텐츠 보호 매니저가 상기 DASH 인코더로부터 수신한 키 리스트를 라이센스 서버로 전달하는 과정;
상기 라이센스 서버가 상기 키 리스트를 기초로 복수의 ECL(Entitlement Control License)을 생성하고, 생성된 ECL들을 포함하는 ECL 리스트를 컨텐츠 보호 매니저로 전달하는 과정, 상기 ECL 리스트에서 각 ECL은 키 식별자에 의해 식별되며 암호화된 미디어 복호화 키 및 키 식별자를 포함함;
상기 컨텐츠 보호 매니저가 데이터 필드에 상기 ECL 리스트가 삽입된 pssh 박스를 생성하고, 생성된 pssh 박스를 상기 DASH 인코더에 전달하는 과정;
상기 DASH 인코더가 상기 pssh 박스를 DASH MPD(Media Presentation Description) 또는 미디어 세그먼트에 포함시켜 클라이언트 단말로 전달하는 과정;
DASH 디코더가 DASH 스트림을 파싱하여, 상기 pssh 박스를 DRM 클라이언트에게 전달하는 과정, 상기 DASH 디코더 및 상기 DRM 클라이언트는 상기 클라이언트 단말 내에 포함됨; 및
상기 DRM 클라이언트가 상기 pssh 박스에 포함된 복수의 ECL들로부터, 미리 획득한 EML(Entitlement Management License)에 포함된 복호화 키를 이용하여, 상기 키 리스트를 복호화하는 과정
을 포함하는, 미디어 콘텐츠의 안전한 분배를 관리하는 방법.A method for managing secure distribution of media content in a system for a DASH-based media service, the method comprising:
A process in which the DASH encoder generates a plurality of media decryption keys and provides a key list including the generated media decryption keys to the content protection manager, wherein each media decryption key in the key list is identified by a Key Identifier (KID) identified;
transmitting, by the content protection manager, the key list received from the DASH encoder to a license server;
A process in which the license server generates a plurality of Entitlement Control Licenses (ECLs) based on the key list and transmits the ECL list including the generated ECLs to the content protection manager. In the ECL list, each ECL is identified by a key identifier. identified and containing an encrypted media decryption key and a key identifier;
generating, by the content protection manager, a pssh box in which the ECL list is inserted in a data field, and transmitting the generated pssh box to the DASH encoder;
a process in which the DASH encoder includes the pssh box in a DASH MPD (Media Presentation Description) or a media segment and transmits it to the client terminal;
a process in which the DASH decoder parses the DASH stream and delivers the pssh box to the DRM client, wherein the DASH decoder and the DRM client are included in the client terminal; and
A process in which the DRM client decrypts the key list by using a decryption key included in an EML (Entitlement Management License) obtained in advance from a plurality of ECLs included in the pssh box
A method for managing secure distribution of media content, comprising:
상기 DRM 클라이언트가 복호화된 키 리스트를 상기 클라이언트 단말 내의 저장소에 저장하는 과정;
상기 DASH 디코더가 현재의 키 변경 구간에 사용할 미디어 복호화 키의 키 식별자를 상기 DRM 클라이언트에게 전송하는 과정;
상기 DRM 클라이언트가 상기 저장소에서 상기 DASH 디코더로부터 수신된 키 식별자에 대응되는 미디어 복호화 키를 검색하여, 검색된 미디어 복호화 키를 상기 DASH 디코더에 전달하는 과정; 및
상기 DASH 디코더가 상기 DRM 클라이언트로부터 수신된 미디어 복호화 키를 이용하여, 현재의 키 변경 구간에 수신되는 미디어 세그먼트들을 복호화하는 과정
을 더 포함하는, 미디어 콘텐츠의 안전한 분배를 관리하는 방법.According to claim 1,
storing, by the DRM client, a decrypted key list in a storage in the client terminal;
transmitting, by the DASH decoder, a key identifier of a media decryption key to be used in a current key change period to the DRM client;
a process in which the DRM client searches for a media decryption key corresponding to the key identifier received from the DASH decoder in the storage, and transmits the retrieved media decryption key to the DASH decoder; and
A process in which the DASH decoder uses the media decryption key received from the DRM client to decrypt the media segments received in the current key change period
A method for managing secure distribution of media content, further comprising:
DASH 인코더가 복수의 미디어 복호화 키를 생성하고, 생성된 미디어 복호화 키들을 포함하는 키 리스트를 컨텐츠 보호 매니저에게 제공하는 과정, 상기 키 리스트에서 각 미디어 복호화 키는 키 식별자(Key Identifier: KID)에 의해 식별됨;
상기 컨텐츠 보호 매니저가 상기 DASH 인코더로부터 수신한 키 리스트를 라이센스 서버로 전달하는 과정;
상기 라이센스 서버가 상기 키 리스트를 기초로 복수의 ECL(Entitlement Control License)을 생성하고, 생성된 ECL들을 포함하는 ECL 리스트를 컨텐츠 보호 매니저로 전달하는 과정, 상기 ECL 리스트에서 각 ECL은 키 식별자에 의해 식별되며 암호화된 미디어 복호화 키 및 키 식별자를 포함함;
상기 컨텐츠 보호 매니저가 데이터 필드에 상기 ECL 리스트가 삽입된 pssh 박스를 생성하고, 생성된 pssh 박스를 상기 DASH 인코더에 전달하는 과정; 및
상기 DASH 인코더가 상기 pssh 박스를 DASH MPD(Media Presentation Description) 또는 미디어 세그먼트에 포함시켜 클라이언트 단말로 전달하는 과정
을 포함하는 미디어 콘텐츠의 안전한 분배를 관리하는 방법.A method for managing secure distribution of media content in a system for a DASH-based media service, the method comprising:
A process in which the DASH encoder generates a plurality of media decryption keys and provides a key list including the generated media decryption keys to the content protection manager, wherein each media decryption key in the key list is identified by a Key Identifier (KID) identified;
transmitting, by the content protection manager, the key list received from the DASH encoder to a license server;
A process in which the license server generates a plurality of Entitlement Control Licenses (ECLs) based on the key list and transmits the ECL list including the generated ECLs to the content protection manager. In the ECL list, each ECL is identified by a key identifier. identified and containing an encrypted media decryption key and a key identifier;
generating, by the content protection manager, a pssh box in which the ECL list is inserted in a data field, and transmitting the generated pssh box to the DASH encoder; and
A process in which the DASH encoder includes the pssh box in a DASH MPD (Media Presentation Description) or media segment and delivers it to the client terminal
A method for managing the secure distribution of media content, including
컴퓨터 프로그램 명령어를 저장하는 메모리;
하나 이상의 프로세서;
입력/출력 인터페이스 회로; 및
상기 메모리, 상기 프로세서, 상기 입력/출력 인터페이스 회로를 상호 연결하는 하나 이상의 데이터버스를 포함하고,
상기 프로세서는 상기 컴퓨터 프로그램 명령어를 수행하여 상기 컴퓨터화된 장치로 하여금,
DASH 인코더로부터 미디어 복호화 키들을 포함하는 키 리스트를 라이센스 서버에 전달하는 과정, 상기 키 리스트에서 각 미디어 복호화 키는 키 식별자(Key Identifier: KID)에 의해 식별됨;
상기 라이센스 서버로부터, 상기 키 리스트를 기초로 생성된 ECL 리스트를 수신하는 과정, 상기 ECL 리스트에서 각 ECL은 키 식별자에 의해 식별되며 암호화된 미디어 복호화 키 및 키 식별자를 포함함;
데이터 필드에 상기 ECL리스트가 삽입된 pssh 박스를 생성하고, 생성된 pssh 박스를 상기 DASH 인코더에 전달하는 과정, 여기서 상기 pssh 박스는 상기 DASH 인코더에 의해 DASH MPD 또는 미디어 세그먼트에 포함되어 클라이언트 단말로 전달됨;
을 수행하도록 하는 컴퓨터화된 장치.A computerized device operating as a content protection manager that manages the secure distribution of media content in a system for a DASH-based media service, comprising:
a memory storing computer program instructions;
one or more processors;
input/output interface circuit; and
one or more databuses interconnecting the memory, the processor, and the input/output interface circuitry;
The processor executes the computer program instructions to cause the computerized device,
transmitting a key list including media decryption keys from a DASH encoder to a license server, wherein each media decryption key in the key list is identified by a Key Identifier (KID);
receiving, from the license server, an ECL list generated based on the key list, wherein each ECL in the ECL list is identified by a key identifier and includes an encrypted media decryption key and a key identifier;
A process of creating a pssh box in which the ECL list is inserted in a data field, and transmitting the generated pssh box to the DASH encoder, where the pssh box is included in the DASH MPD or media segment by the DASH encoder and delivered to the client terminal ;
A computerized device that allows you to do
컨텐츠 전달 네트워크를 통해 클라이언트 단말에 연결되고, DASH 인코더와 컨텐츠 보호 매니저와 라이센스 서버를 포함하는 하나 이상의 서버 컴퓨터를 포함하고,
상기 DASH 인코더는 키 식별자(Key Identifier: KID)로 식별되는 복수의 미디어 복호화 키를 포함한 키 리스트를 생성하고, 상기 라이센스 서버로부터 수신되는 pssh 박스를 DASH MPD(Media Presentation Description) 또는 미디어 세그먼트에 포함시켜 클라이언트 단말로 전달하도록 구성되며, 상기 키 리스트에서 각 미디어 복호화 키는 키 식별자(Key Identifier: KID)에 의해 식별됨;
상기 라이센스 서버는 상기 키 리스트를 기초로, 상기 키 리스트를 기초로 복수의 ECL을 생성하고, 생성된 ECL들을 포함하는 ECL 리스트를 컨텐츠 보호 매니저로 전달하도록 동작하되, 각 ECL은 대응되는 암호화된 미디어 복호화 키 및 키 식별자를 포함함;
상기 컨텐츠 보호 매니저는 상기 DASH 인코더로부터 상기 키 리스트를 수신하여 상기 라이센스 서버로 전달하고, 상기 라이센스 서버로부터 수신한 ECL 리스트가 삽입된 pssh 박스를 생성하여, 생성된 pssh 박스를 상기 DASH 인코더에 전달하도록 동작하되, 여기서 pssh의 Data필드에 KID/ECL쌍들이 포함됨;
을 특징으로 하는, DASH 기반 미디어 서비스를 위한 시스템.A system for a DASH-based media service, comprising:
Connected to the client terminal through a content delivery network, comprising at least one server computer including a DASH encoder, a content protection manager, and a license server;
The DASH encoder generates a key list including a plurality of media decryption keys identified by a key identifier (KID), and includes a pssh box received from the license server in a DASH MPD (Media Presentation Description) or media segment. configured to deliver to the client terminal, wherein each media decryption key in the key list is identified by a Key Identifier (KID);
The license server is operable to generate a plurality of ECLs based on the key list, based on the key list, and deliver the ECL list including the generated ECLs to the content protection manager, wherein each ECL is a corresponding encrypted media contains a decryption key and a key identifier;
The content protection manager receives the key list from the DASH encoder and delivers it to the license server, generates a pssh box in which the ECL list received from the license server is inserted, and delivers the generated pssh box to the DASH encoder. Works, but here KID/ECL pairs are included in the Data field of pssh;
A system for a DASH-based media service, characterized in that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/682,743 US10515194B2 (en) | 2016-08-29 | 2017-08-22 | Key rotation scheme for DRM system in dash-based media service |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20160109729 | 2016-08-29 | ||
KR1020160109729 | 2016-08-29 | ||
KR20160159213 | 2016-11-28 | ||
KR1020160159213 | 2016-11-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180025165A KR20180025165A (en) | 2018-03-08 |
KR102286303B1 true KR102286303B1 (en) | 2021-08-06 |
Family
ID=61725940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170087966A Active KR102286303B1 (en) | 2016-08-29 | 2017-07-11 | Key Rotation for DRM Systems in DASH base Media Service |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102286303B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100115507A1 (en) | 2001-01-31 | 2010-05-06 | Masayuki Chatani | Methods for Securely Distributing Computer Software Products |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2892222A1 (en) * | 2005-10-17 | 2007-04-20 | Thomson Licensing Sa | METHOD FOR ETCHING, PROVIDING AND SECURE DISTRIBUTION OF DIGITAL DATA, ACCESS DEVICE AND RECORDER. |
JP6466951B2 (en) * | 2014-01-13 | 2019-02-06 | エルジー エレクトロニクス インコーポレイティド | Apparatus and method for transmitting and receiving broadcast content via one or more networks |
-
2017
- 2017-07-11 KR KR1020170087966A patent/KR102286303B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100115507A1 (en) | 2001-01-31 | 2010-05-06 | Masayuki Chatani | Methods for Securely Distributing Computer Software Products |
Also Published As
Publication number | Publication date |
---|---|
KR20180025165A (en) | 2018-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10754930B2 (en) | Remotely managed trusted execution environment for digital rights management in a distributed network with thin clients | |
JP6949972B2 (en) | Digital rights management based on blockchain | |
EP2859707B1 (en) | Signaling and handling content encryption and rights management in content transport and delivery | |
CA2822185C (en) | Method and system for unified mobile content protection | |
CN101938468B (en) | Digital content protecting system | |
CA2939396A1 (en) | System and method for securing content keys delivered in manifest files | |
CN101835148B (en) | Method, system and equipment for distributing and acquiring digital content | |
US20160182466A1 (en) | TransDRM for Streaming Media | |
CN101207794B (en) | Method for enciphering and deciphering number copyright management of IPTV system | |
CN104540016A (en) | Video playing method and device | |
WO2017096887A1 (en) | Anti-leeching method and device | |
US12095910B2 (en) | System for thin client devices in hybrid edge cloud systems | |
US12047498B2 (en) | Translating protected content in a video processing server | |
WO2018157724A1 (en) | Method for protecting encrypted control word, hardware security module, main chip and terminal | |
CN101202883B (en) | System for numeral copyright management of IPTV system | |
US10387628B2 (en) | Accessing content at a device | |
CN102196304A (en) | Method, system and equipment for generating secrete key in video monitoring | |
CN110581766A (en) | System and method for synchronized key derivation across multiple conditional access servers | |
CN112203118B (en) | Multimedia resource distribution method, device, electronic device and storage medium | |
US10515194B2 (en) | Key rotation scheme for DRM system in dash-based media service | |
KR102286303B1 (en) | Key Rotation for DRM Systems in DASH base Media Service | |
KR20170092749A (en) | Cloud media service system supporting multi-DRM and its operation method | |
KR101662489B1 (en) | Cloud based protection proxy server supporting common encryption and its operation method | |
CN115225934A (en) | Video playing method, system, electronic equipment and storage medium | |
CN110691267B (en) | TLS-based video stream address authentication method, storage medium, equipment and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20170711 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20200413 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20170711 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20210513 Patent event code: PE09021S01D |
|
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: 20210721 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20210730 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20210802 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20240625 Start annual number: 4 End annual number: 4 |