KR102305691B1 - Method for drm packaging for real-time on-demand digital content and computing device for executing the method - Google Patents

Method for drm packaging for real-time on-demand digital content and computing device for executing the method Download PDF

Info

Publication number
KR102305691B1
KR102305691B1 KR1020210052648A KR20210052648A KR102305691B1 KR 102305691 B1 KR102305691 B1 KR 102305691B1 KR 1020210052648 A KR1020210052648 A KR 1020210052648A KR 20210052648 A KR20210052648 A KR 20210052648A KR 102305691 B1 KR102305691 B1 KR 102305691B1
Authority
KR
South Korea
Prior art keywords
content
user terminal
server
license
drm
Prior art date
Application number
KR1020210052648A
Other languages
Korean (ko)
Inventor
이상민
신용혁
Original Assignee
주식회사 뮤즐리
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 주식회사 뮤즐리 filed Critical 주식회사 뮤즐리
Priority to KR1020210052648A priority Critical patent/KR102305691B1/en
Application granted granted Critical
Publication of KR102305691B1 publication Critical patent/KR102305691B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44236Monitoring of piracy processes or activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys

Abstract

DRM PACKAGING METHOD FOR REAL-TIME ON-DEMAND DIGITAL CONTENT AND COMPUTING DEVICE FOR EXECUTING METHOD Disclosed are a DRM packaging method for real-time on-demand digital content and a computing device for executing the same. According to an embodiment, a DRM packaging method for real-time on-demand digital content performed in a DRM server includes the steps of: receiving a license validation result for a user terminal from a license server; encrypting a content decryption key based on the secret key of the DRM server when it is determined that the license for the user terminal is valid; and transmitting the encrypted content decryption key to the license server.

Description

실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법과 이를 실행하기 위한 컴퓨팅 장치{METHOD FOR DRM PACKAGING FOR REAL-TIME ON-DEMAND DIGITAL CONTENT AND COMPUTING DEVICE FOR EXECUTING THE METHOD}DRM packaging method of real-time on-demand digital content and computing device for executing the same

개시되는 실시예들은 적법한 권한을 갖는 사용자 단말 외에는 실시간 주문형 디지털 컨텐츠의 복호화를 할 수 없도록 하는 디지털 컨텐츠에 대한 DRM(Digital Rights Management) 패키징 기술과 관련된다.The disclosed embodiments relate to a DRM (Digital Rights Management) packaging technology for digital content that makes it impossible to decrypt real-time on-demand digital content other than a user terminal having a legal right.

실시간 주문형 디지털 컨텐츠는 시청자가 미처 제 시간에 보지 못한 TV 프로그램이나 영화 등을 원하는 때에 볼 수 있도록, 서버에 저장되었다가 시청자의 주문에 따라 실시간으로 사용자 단말로 제공되는 컨텐츠를 의미한다. 실시간 주문형 디지털 컨텐츠가 보편적인 시청각 컨텐츠의 일 형태로 자리잡음에 따라, 시청자는 컨텐츠를 일방적으로 받아들이는 수용자(受容者)에서 보다 능동성을 갖춘 소비자가 되어, 시청각 컨텐츠 분야에서 일대 패러다임의 전환이 일어났다.Real-time on-demand digital content refers to content that is stored in a server and provided to a user terminal in real time according to a viewer's order so that viewers can watch TV programs or movies that they have not seen in time. As real-time on-demand digital content is established as a form of universal audiovisual content, viewers have become more active consumers from receivers who unilaterally accept content, resulting in a paradigm shift in the field of audiovisual content. .

이러한 실시간 주문형 디지털 컨텐츠는 각 컨텐츠 당 비용을 지불하거나, 소정 기간 동안의 이용료를 지불하는 방식으로 향유할 수 있는데, 이때 컨텐츠 생산자와 유통사에게 정당한 대가가 돌아가도록 하기 위해서 이용 기간에 제한을 두고, 다운로드 및 불법복제를 방지하는 DRM 패키징 기술이 적용되는 것이 일반적이다.These real-time on-demand digital content can be enjoyed by paying a fee for each content or by paying a usage fee for a predetermined period. and DRM packaging technology that prevents illegal copying is generally applied.

그런데, 기존에 적용되는 DRM 패키징 기술은 디지털 컨텐츠에 대한 메타데이터를 암호화하지 않거나, 단순한 암호화 방식을 취하고 있어, 웹에서 곧바로 다운로드가 가능하거나, 브라우저 확장 프로그램을 사용하여 손쉽게 다운로드 가능한 문제점이 있다.However, the existing DRM packaging technology does not encrypt the metadata for digital content or takes a simple encryption method, so there is a problem in that it can be downloaded directly from the web or can be easily downloaded using a browser extension program.

대한민국 공개특허공보 제10-2007-0076108호 (2007.07.24. 공개)Republic of Korea Patent Publication No. 10-2007-0076108 (published on July 24, 2007)

개시되는 실시예들은 유효한 라이선스를 갖는 적법한 사용자 단말 외에는 디지털 컨텐츠를 복호화 할 수 없도록 하기 위한 것이다.The disclosed embodiments are for making it impossible to decrypt digital content except for a legitimate user terminal having a valid license.

일 실시예에 따라 라이선스 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법은, 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 단말로 서명용 인증서와 서명용 키를 송신하는 단계; 상기 사용자 단말로부터 상기 서명용 인증서와 상기 서명용 키에 기초하여 생성된 라이선스 요청 서명을 수신하는 단계; 상기 라이선스 요청 서명에 기초하여 상기 사용자 단말에 대한 라이선스의 유효성을 검증하는 단계; DRM(Digital Rights Management) 서버로 상기 사용자 단말에 대한 라이선스 유효성 검증 결과를 송신하는 단계; 상기 DRM 서버로부터 상기 DRM 서버의 비밀키에 기초하여 암호화된 컨텐츠 복호화 키를 수신하는 단계; 및 컨텐츠 서버로 상기 암호화된 컨텐츠 복호화 키를 송신하는 단계를 포함한다.According to an embodiment, a DRM packaging method of real-time on-demand digital content performed in a license server includes: transmitting a signing certificate and a signing key to a user terminal logged into a content providing service platform; receiving a license request signature generated based on the signing certificate and the signing key from the user terminal; verifying the validity of the license for the user terminal based on the license request signature; transmitting a license validation result for the user terminal to a DRM (Digital Rights Management) server; receiving an encrypted content decryption key from the DRM server based on the secret key of the DRM server; and transmitting the encrypted content decryption key to a content server.

상기 라이선스 요청 서명은, 서명 당시의 날짜 및 시간 정보, 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보, 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 및 상기 서명용 인증서가 상기 서명용 키로 서명되어 생성될 수 있다.The license request signature may be generated by signing date and time information at the time of signing, device information of the user terminal, identification information of a user account, identification information of content requested by the user terminal, and the certificate for signing with the signing key have.

상기 라이선스 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법은, 상기 라이선스 요청 서명을 수신하는 단계에 앞서, 상기 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 계정의 유효성을 검증하는 단계; 및 상기 사용자 계정의 유효성이 검증된 경우, 상기 라이선스 서버의 주소 정보 및 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)의 경로 정보를 암호화하여 상기 사용자 단말로 송신하는 단계를 더 포함할 수 있다.The DRM packaging method of real-time on-demand digital content performed by the license server includes, prior to receiving the license request signature, validating a user account logged into the content providing service platform; and when the validity of the user account is verified, encrypting the address information of the license server and path information of metadata for the content requested by the user terminal and transmitting the encrypted information to the user terminal have.

상기 컨텐츠 복호화 키는, 시분할(time-sharing) 된 컨텐츠 파일 각각에 대응되는 복호화 키일 수 있다.The content decryption key may be a decryption key corresponding to each time-sharing content file.

일 실시예에 따라 DRM 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법은, 라이선스 서버로부터 사용자 단말에 대한 라이선스 유효성 검증 결과를 수신하는 단계; 상기 사용자 단말에 대한 라이선스가 유효한 것으로 판단되는 경우, 상기 DRM 서버의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화하는 단계; 및 암호화된 컨텐츠 복호화 키를 상기 라이선스 서버로 송신하는 단계를 포함한다.According to an embodiment, a DRM packaging method of real-time on-demand digital content performed in a DRM server includes: receiving a license validation result for a user terminal from a license server; encrypting a content decryption key based on the secret key of the DRM server when it is determined that the license for the user terminal is valid; and transmitting the encrypted content decryption key to the license server.

상기 수신하는 단계는, 상기 라이선스 서버로부터 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나를 추가로 수신할 수 있고, 상기 암호화하는 단계는, 상기 컨텐츠 복호화 키를 암호화하되, 상기 사용자 단말의 기기 정보, 상기 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나에 기초하여 상기 컨텐츠 복호화 키의 복호화에 대한 접근 제약을 설정할 수 있다.The receiving may further receive at least one of device information of the user terminal, identification information of a user account, and identification information of content requested by the user terminal from the license server, wherein the encrypting includes: Encrypt the content decryption key, but set access restrictions on decryption of the content decryption key based on at least one of device information of the user terminal, identification information of the user account, and identification information of content requested by the user terminal can

상기 DRM 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법은, HLS 포맷 또는 DASH 포맷에 기초하여 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)를 생성하는 단계를 더 포함할 수 있다.The DRM packaging method of real-time on-demand digital content performed by the DRM server may further include generating metadata for the content requested by the user terminal based on the HLS format or the DASH format.

상기 컨텐츠 복호화 키는, 시분할(time-sharing) 된 컨텐츠 파일 각각에 대응되는 복호화 키일 수 있다.The content decryption key may be a decryption key corresponding to each time-sharing content file.

일 실시예에 따른 라이선스 서버는, 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 컴퓨팅 장치로서, 상기 프로그램은, 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 단말로 서명용 인증서와 서명용 키를 송신하는 단계; 상기 사용자 단말로부터 상기 서명용 인증서와 상기 서명용 키에 기초하여 생성된 라이선스 요청 서명을 수신하는 단계; 상기 라이선스 요청 서명에 기초하여 상기 사용자 단말에 대한 라이선스의 유효성을 검증하는 단계; DRM(Digital Rights Management) 서버로 상기 사용자 단말에 대한 라이선스 유효성 검증 결과를 송신하는 단계; 상기 DRM 서버로부터 상기 DRM 서버의 비밀키에 기초하여 암호화된 컨텐츠 복호화 키를 수신하는 단계; 및 컨텐츠 서버로 상기 암호화된 컨텐츠 복호화 키를 송신하는 단계를 실행하기 위한 명령어들을 포함한다.A license server according to an embodiment includes one or more processors; and a memory for storing one or more programs configured to be executed by the one or more processors, the programs comprising: transmitting a signing certificate and a signing key to a user terminal logged into a content providing service platform; receiving a license request signature generated based on the signing certificate and the signing key from the user terminal; verifying the validity of the license for the user terminal based on the license request signature; transmitting a license validation result for the user terminal to a DRM (Digital Rights Management) server; receiving an encrypted content decryption key from the DRM server based on the secret key of the DRM server; and transmitting the encrypted content decryption key to a content server.

상기 라이선스 요청 서명은, 서명 당시의 날짜 및 시간 정보, 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보, 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 및 상기 서명용 인증서가 상기 서명용 키로 서명되어 생성될 수 있다.The license request signature may be generated by signing date and time information at the time of signing, device information of the user terminal, identification information of a user account, identification information of content requested by the user terminal, and the certificate for signing with the signing key have.

상기 프로그램은, 상기 라이선스 요청 서명을 수신하는 단계에 앞서, 상기 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 계정의 유효성을 검증하는 단계; 및 상기 사용자 계정의 유효성이 검증된 경우, 상기 라이선스 서버의 주소 정보 및 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)의 경로 정보를 암호화하여 상기 사용자 단말로 송신하는 단계를 실행하기 위한 명령어들을 더 포함할 수 있다.The program may include, prior to receiving the license request signature, verifying the validity of a user account logged into the content providing service platform; and when the validity of the user account is verified, the command for executing the step of encrypting the address information of the license server and path information of metadata for the content requested by the user terminal and transmitting the encrypted information to the user terminal may include more.

상기 컨텐츠 복호화 키는, 시분할(time-sharing) 된 컨텐츠 파일 각각에 대응되는 복호화 키일 수 있다.The content decryption key may be a decryption key corresponding to each time-sharing content file.

일 실시예에 따른 DRM 서버는, 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 컴퓨팅 장치로서, 상기 프로그램은, 라이선스 서버로부터 사용자 단말에 대한 라이선스 유효성 검증 결과를 수신하는 단계; 상기 사용자 단말에 대한 라이선스가 유효한 것으로 판단되는 경우, DRM 서버의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화하는 단계; 및 암호화된 컨텐츠 복호화 키를 상기 라이선스 서버로 송신하는 단계를 실행하기 위한 명령어들을 포함한다.DRM server according to an embodiment, one or more processors; and a memory for storing one or more programs configured to be executed by the one or more processors, the program comprising: receiving a license validation result for a user terminal from a license server; encrypting the content decryption key based on the private key of the DRM server when it is determined that the license for the user terminal is valid; and transmitting the encrypted content decryption key to the license server.

상기 수신하는 단계는, 상기 라이선스 서버로부터 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나를 추가로 수신할 수 있고, 상기 암호화하는 단계는, 상기 컨텐츠 복호화 키를 암호화하되, 상기 사용자 단말의 기기 정보, 상기 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나에 기초하여 상기 컨텐츠 복호화 키의 복호화에 대한 접근 제약을 설정할 수 있다.The receiving may further receive at least one of device information of the user terminal, identification information of a user account, and identification information of content requested by the user terminal from the license server, wherein the encrypting includes: Encrypt the content decryption key, but set access restrictions on decryption of the content decryption key based on at least one of device information of the user terminal, identification information of the user account, and identification information of content requested by the user terminal can

상기 프로그램은, HLS 포맷 또는 DASH 포맷에 기초하여 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)를 생성하는 단계를 실행하기 위한 명령어들을 더 포함할 수 있다.The program may further include instructions for executing the step of generating metadata for the content requested by the user terminal based on the HLS format or the DASH format.

상기 컨텐츠 복호화 키는, 시분할(time-sharing) 된 컨텐츠 파일 각각에 대응되는 복호화 키일 수 있다.The content decryption key may be a decryption key corresponding to each time-sharing content file.

개시되는 실시예들에 따르면, 사용자 단말에서 직접 라이선스를 요청하기 위한 서명을 생성함으로써, 단순히 디지털 컨텐츠를 암호화하는 종래의 디지털 컨텐츠 보안 방식에 비해 디지털 컨텐츠의 무분별한 다운로드를 방지할 수 있다.According to the disclosed embodiments, by generating a signature for directly requesting a license from a user terminal, it is possible to prevent indiscriminate download of digital content compared to a conventional digital content security method of simply encrypting digital content.

또한 개시되는 실시예들에 따르면, 암호화된 디지털 컨텐츠의 재생에 필요한 복호화 키를 DRM 서버의 비밀키로 한번 더 암호화함으로써, 종래의 암호화 키를 이용한 디지털 컨텐츠 보안 방식보다 효과적으로 디지털 컨텐츠의 불법 추출을 방지할 수 있다.In addition, according to the disclosed embodiments, by encrypting the decryption key required for the reproduction of the encrypted digital content with the secret key of the DRM server once more, it is possible to prevent illegal extraction of digital content more effectively than the digital content security method using the conventional encryption key. can

도 1은 일 실시예에 따른 DRM 패키징 시스템을 설명하기 위한 블록도
도 2는 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 3은 일 실시예에 따라 라이선스 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도
도 4는 추가적인 실시예에 따라 라이선스 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도
도 5는 일 실시예에 따라 DRM 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도
도 6은 추가적인 실시예에 따라 DRM 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도
도 7은 일 실시예에 따른 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 개괄적으로 설명하기 위한 순서도
1 is a block diagram illustrating a DRM packaging system according to an embodiment;
2 is a block diagram illustrating and explaining a computing environment including a computing device according to an embodiment;
3 is a flowchart illustrating a DRM packaging method of real-time on-demand digital content performed in a license server according to an embodiment;
4 is a flowchart illustrating a DRM packaging method of real-time on-demand digital content performed in a license server according to an additional embodiment;
5 is a flowchart illustrating a DRM packaging method of real-time on-demand digital content performed in a DRM server according to an embodiment;
6 is a flowchart illustrating a DRM packaging method of real-time on-demand digital content performed in a DRM server according to an additional embodiment;
7 is a flowchart schematically illustrating a DRM packaging method of real-time on-demand digital content according to an embodiment.

이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 개시되는 실시예들은 이에 제한되지 않는다.Hereinafter, specific embodiments will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, apparatus, and/or systems described herein. However, this is merely an example and the disclosed embodiments are not limited thereto.

실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 개시되는 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 개시되는 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the disclosed embodiments, the detailed description thereof will be omitted. And, the terms to be described later are terms defined in consideration of functions in the disclosed embodiments, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification. The terminology used in the detailed description is for the purpose of describing the embodiments only, and should in no way be limiting. Unless explicitly used otherwise, expressions in the singular include the meaning of the plural. In this description, expressions such as “comprising” or “comprising” are intended to indicate certain features, numbers, steps, acts, elements, some or a combination thereof, one or more other than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, acts, elements, or any part or combination thereof.

이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다.In the following description, the terms "transmission", "communication", "transmission", "reception" and other similar meanings of signals or information are not only directly transmitted from one component to another component, but also signal or information This includes passing through other components.

특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다.In particular, "transmitting" or "transmitting" a signal or information to a component indicates the final destination of the signal or information and does not imply a direct destination. The same is true for "reception" of signals or information. In addition, in this specification, when two or more data or information are "related", it means that when one data (or information) is acquired, at least a part of other data (or information) can be acquired based thereon.

도 1은 일 실시예에 따른 DRM 패키징 시스템을 설명하기 위한 블록도이다.1 is a block diagram illustrating a DRM packaging system according to an embodiment.

도시된 바와 같이, 일 실시예에 따른 DRM 패키징 시스템은 컨텐츠 서버(120), 라이선스 서버(130) 및 DRM 서버(140)를 포함한다.As shown, the DRM packaging system according to an embodiment includes a content server 120 , a license server 130 , and a DRM server 140 .

도시된 실시예에서, 각 구성들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 구성을 포함할 수 있다. In the illustrated embodiment, each of the components may have different functions and capabilities other than those described below, and may include additional components in addition to those described below.

또한, 일 실시예에서, 컨텐츠 서버(120), 라이선스 서버(130) 및 DRM 서버(140)는 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.In addition, in one embodiment, the content server 120 , the license server 130 and the DRM server 140 are implemented using one or more physically separated devices, or one or more processors or one or more processors and software in combination. may be implemented, and unlike the illustrated example, specific operations may not be clearly distinguished.

사용자 단말(110)은 실시간 주문형 디지털 컨텐츠를 주문하되, 입력장치를 통한 사용자의 입력에 따라 연산을 수행하며, 출력장치를 통해 결과를 출력하는 하드웨어를 의미한다. 예를 들어, 사용자 단말(110)은 개인용 컴퓨터(Personal Computer), 랩탑(Laptop Computer), 스마트폰(Smart Phone), 태블릿(Tablet) PC, 스마트 밴드(Smart Band)나 스마트 워치(Smart Watch) 등의 웨어러블 디바이스(Wearable Device)의 형태일 수 있다. 이외에도 상기 정의를 만족하는 하드웨어라면 사용자 단말(110)에 속하는 것으로 해석된다.The user terminal 110 refers to hardware that orders real-time on-demand digital content, performs an operation according to a user's input through an input device, and outputs a result through an output device. For example, the user terminal 110 may include a personal computer, a laptop computer, a smart phone, a tablet PC, a smart band, or a smart watch. It may be in the form of a wearable device of In addition, hardware that satisfies the above definition is interpreted as belonging to the user terminal 110 .

컨텐츠 서버(120)는 사용자 단말(110)이 주문한 디지털 컨텐츠와 해당 디지털 컨텐츠에 적용된 암호화를 해제(복호화)하기 위해 필요한 키(key)를 패키징(packaging)하는 하드웨어를 의미한다.The content server 120 refers to hardware for packaging the digital content ordered by the user terminal 110 and a key required to release (decrypt) encryption applied to the digital content.

일 실시예에 따르면, 컨텐츠 서버(120)는 컨텐츠 제공 서비스 플랫폼에서 제공되는 디지털 컨텐츠들을 컨텐츠 서버(120) 내의 저장 공간에 저장하거나, 컨텐츠 서버(120)와 연동된 별도의 데이터베이스(미도시) 상에 저장할 수 있다.According to an embodiment, the content server 120 stores digital content provided by the content providing service platform in a storage space within the content server 120 or on a separate database (not shown) linked to the content server 120 . can be stored in

일 실시예에 따르면, 컨텐츠 서버(120)는 컨텐츠 제공 서비스 플랫폼에서 제공되는 디지털 컨텐츠들을 기 설정된 시간 간격으로 시분할(time-sharing) 할 수 있다. 다만, 컨텐츠 서버(120)는 사용자의 디지털 컨텐츠 주문과는 무관하게 사전에 디지털 컨텐츠들에 대한 시분할을 수행할 수도 있고, 사용자로부터 디지털 컨텐츠 주문이 요청된 이후에 비로소 이에 해당하는 디지털 컨텐츠에 대하여 시분할을 수행할 수도 있다.According to an embodiment, the content server 120 may time-sharing digital content provided by the content providing service platform at preset time intervals. However, the content server 120 may perform time division of digital contents in advance regardless of the user's digital contents order, and time division of the corresponding digital contents only after a digital contents order is requested from the user can also be performed.

라이선스 서버(130)는 사용자 단말(110)이 디지털 컨텐츠를 주문하는 경우, 해당 사용자 단말(110)에 대한 라이선스의 유효성을 검증하는 하드웨어를 의미한다.The license server 130 refers to hardware that verifies the validity of a license for the user terminal 110 when the user terminal 110 orders digital content.

일 실시예에 따르면, 사용자 단말(110)은 디지털 컨텐츠의 주문과 함께 라이선스 서버(130)로 라이선스 요청 서명을 송신하고, 라이선스 서버(130)는 수신한 라이선스 요청 서명에 기초하여 사용자 단말(110)에 대한 라이선스의 유효성을 검증할 수 있다.According to an embodiment, the user terminal 110 transmits a license request signature to the license server 130 together with an order for digital content, and the license server 130 receives the license request signature to the user terminal 110 based on the received signature. You can verify the validity of the license for

이하의 실시예들에서, '라이선스의 유효성을 검증'함은 디지털 컨텐츠를 주문한 사용자 단말(110)로 로그인한 사용자 계정이 해당 디지털 컨텐츠에 대해 기 설정된 유형의 작업 권한이 있는지 판단하는 일련의 절차를 의미할 수 있다.In the following embodiments, 'verifying the validity of the license' refers to a series of procedures for determining whether a user account logged in to the user terminal 110 that has ordered digital content has a preset type of work right for the corresponding digital content. can mean

DRM 서버(140)는 사전에 설정된 DRM(Digital Rights Management) 조건에 따라 사용자 단말(110)이 주문한 디지털 컨텐츠에 대해 사용자 단말(110)의 기종에 따른 제한, 디지털 컨텐츠의 유효 기간에 따른 제한 등을 부여하는 하드웨어를 의미한다.The DRM server 140 controls the digital content ordered by the user terminal 110 according to a preset DRM (Digital Rights Management) condition according to the model of the user terminal 110, restrictions according to the validity period of the digital content, etc. hardware that is provided.

이때, DRM 조건의 종류나 조건마다의 상세는 실시예에 따라 다양하게 설정될 수 있음에 유의해야 한다.In this case, it should be noted that the type of DRM condition or the details of each condition may be variously set according to the embodiment.

이하의 실시예들에서, 상술한 컨텐츠 서버(120), 라이선스 서버(130) 및 DRM 서버(140)는 통신 네트워크(150)를 통해 디지털 컨텐츠의 DRM 패키징을 위한 정보를 주고받는다. 이때, 통신 네트워크(150)는 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wire area networks), 셀룰러 네트워크, 모바일 네트워크, 그 밖에 다른 종류의 네트워크들, 또는 이러한 네트워크들의 조합을 포함할 수 있다.In the following embodiments, the above-described content server 120 , license server 130 , and DRM server 140 exchange information for DRM packaging of digital content through the communication network 150 . Here, the communication network 150 includes the Internet, one or more local area networks, wire area networks, cellular networks, mobile networks, other types of networks, or a combination of these networks. can do.

도 2는 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.2 is a block diagram illustrating and describing a computing environment 10 including a computing device according to an embodiment. In the illustrated embodiment, each component may have different functions and capabilities other than those described below, and may include additional components in addition to those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 사용자 단말(110)일 수 있다. 또한, 컴퓨팅 장치(12)는 컨텐츠 서버(120)일 수 있다. 또한, 컴퓨팅 장치(12)는 라이선스 서버(130)일 수도 있으며, DRM 서버(140)일 수도 있다.The illustrated computing environment 10 includes a computing device 12 . In one embodiment, computing device 12 may be user terminal 110 . Also, the computing device 12 may be the content server 120 . Also, the computing device 12 may be the license server 130 or the DRM server 140 .

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.Computing device 12 includes at least one processor 14 , computer readable storage medium 16 , and communication bus 18 . The processor 14 may cause the computing device 12 to operate in accordance with the exemplary embodiments discussed above. For example, the processor 14 may execute one or more programs stored in the computer-readable storage medium 16 . The one or more programs may include one or more computer-executable instructions that, when executed by the processor 14, configure the computing device 12 to perform operations in accordance with the exemplary embodiment. can be

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. The program 20 stored in the computer readable storage medium 16 includes a set of instructions executable by the processor 14 . In one embodiment, computer-readable storage medium 16 includes memory (volatile memory, such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash It may be memory devices, other forms of storage medium accessed by computing device 12 and capable of storing desired information, or a suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communication bus 18 interconnects various other components of computing device 12 , including processor 14 and computer readable storage medium 16 .

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24 . The input/output interface 22 and the network communication interface 26 are coupled to the communication bus 18 . Input/output device 24 may be coupled to other components of computing device 12 via input/output interface 22 . Exemplary input/output device 24 may include a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touchscreen), a voice or sound input device, various types of sensor devices, and/or imaging devices. input devices, and/or output devices such as display devices, printers, speakers and/or network cards. The exemplary input/output device 24 may be included in the computing device 12 as a component constituting the computing device 12 , and may be connected to the computing device 12 as a separate device distinct from the computing device 12 . may be

도 3은 일 실시예에 따라 라이선스 서버(130)에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating a DRM packaging method of real-time on-demand digital content performed by the license server 130 according to an embodiment.

우선, 라이선스 서버(130)는 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 단말(110)로 서명용 인증서와 서명용 키를 송신한다(310).First, the license server 130 transmits a signing certificate and a signing key to the user terminal 110 that has logged into the content providing service platform ( 310 ).

일 실시예에 따르면, 라이선스 서버(130)가 송신하는 서명용 인증서는 사설인증서(예를 들어, 공동인증서)일 수 있고, 서명용 키는 1024비트의 키일 수 있다.According to an embodiment, the signing certificate transmitted by the license server 130 may be a private certificate (eg, a common certificate), and the signing key may be a 1024-bit key.

이후, 라이선스 서버(130)는 사용자 단말(110)로부터 서명용 인증서와 서명용 키에 기초하여 생성된 라이선스 요청 서명을 수신한다(320).Thereafter, the license server 130 receives a license request signature generated based on the signing certificate and the signing key from the user terminal 110 ( 320 ).

일 실시예에 따르면, 라이선스 서버(130)는 사용자 단말(110)로부터 수신한 컨텐츠의 식별 정보(또는 컨텐츠의 식별 정보의 해시 값)와, 320 단계에서 수신한 라이선스 요청 서명을 복호화하여 획득한 컨텐츠의 식별 정보(또는 컨텐츠의 식별 정보의 해시 값)를 비교하여 사용자가 주문한 디지털 컨텐츠를 특정할 수 있다.According to an embodiment, the license server 130 decrypts the identification information of the content (or a hash value of the identification information of the content) received from the user terminal 110 and the license request signature received in step 320, and the content obtained The digital content ordered by the user may be specified by comparing the identification information (or the hash value of the identification information of the content).

일 실시예에 따르면, 라이선스 요청 서명은 서명 당시의 날짜 및 시간 정보, 사용자 단말(110)의 기기 정보, 사용자 계정의 식별 정보, 사용자 단말(110)이 요청하는 컨텐츠의 식별 정보 및 서명용 인증서가 서명용 키로 서명되어 생성될 수 있다.According to an embodiment, the license request signature includes date and time information at the time of signing, device information of the user terminal 110, identification information of a user account, identification information of content requested by the user terminal 110, and a certificate for signing. It can be signed with a key and generated.

구체적으로, 라이선스 요청 서명의 생성에 사용되는 '사용자 단말(110)의 기기 정보'는 사용자 단말(110)의 고유 값에 대해 해시 함수를 적용한 해시 값일 수 있다. 이때, '사용자 단말(110)의 고유 값'은 안드로이드(Android) 운영체제 기반의 기기인 경우에는 SSAID(Settings. Secure. Android ID), iOS 기반의 기기인 경우에는 UUID(Universally Unique Identifier), 윈도우(Windows) 또는 리눅스(Linux) 기반의 기기인 경우에는 해당 기기의 하드디스크 고유번호, 맥(Mac) 운영체제 기반의 기기인 경우에는 해당 기기의 일련번호일 수 있다. 다만, 사용자 단말(110)의 고유 값의 종류는 이에 한정되는 것은 아니며, 사용자 단말(110)을 식별할 수 있는 값이라면 형식의 제약을 받지 않고 사용자 단말(110)의 고유 값으로써 사용될 수 있음에 유의해야 한다.Specifically, 'device information of the user terminal 110' used to generate the license request signature may be a hash value obtained by applying a hash function to a unique value of the user terminal 110 . At this time, the 'unique value of the user terminal 110' is SSAID (Settings. Secure. Android ID) for an Android operating system-based device, UUID (Universally Unique Identifier) for an iOS-based device, and Windows ( In the case of a device based on Windows) or Linux, it may be a hard disk unique number of the device, and in the case of a device based on a Mac operating system, it may be a serial number of the device. However, the type of the unique value of the user terminal 110 is not limited thereto, and if it is a value that can identify the user terminal 110, it can be used as a unique value of the user terminal 110 without being restricted in the format. Be careful.

한편, '사용자 계정의 식별 정보'는 각 컨텐츠 제공 서비스 플랫폼에서 가입된 사용자 계정 각각에 부여한 고유 값을 의미한다.Meanwhile, 'identification information of a user account' means a unique value assigned to each user account subscribed by each content providing service platform.

일 실시예에 따르면, 라이선스 요청 서명은 HMAC(Hash-based Message Authentication Code) 방식에 따라 생성될 수 있다.According to an embodiment, the license request signature may be generated according to a Hash-based Message Authentication Code (HMAC) method.

이후, 라이선스 서버(130)는 수신한 라이선스 요청 서명에 기초하여 사용자 단말(110)에 대한 라이선스의 유효성을 검증한다(330).Thereafter, the license server 130 verifies the validity of the license for the user terminal 110 based on the received license request signature ( 330 ).

일 실시예에 따르면, 라이선스 서버(130)는 라이선스의 유효성을 검증하기에 앞서, HTTP 프로토콜 기반의 인증 방식(예를 들어, Basic 인증 방식, Digest 인증 방식, SSL 클라이언트 인증 방식, 폼 베이스 인증 방식 등)을 이용하여 사용자 계정의 유효성을 검증할 수 있다.According to one embodiment, the license server 130, before verifying the validity of the license, HTTP protocol-based authentication method (eg, Basic authentication method, Digest authentication method, SSL client authentication method, form-based authentication method, etc.) ) to verify the validity of the user account.

이후, 라이선스 서버(130)는 DRM 서버(140)로 사용자 단말(110)에 대한 라이선스 유효성 검증 결과를 송신한다(340).Thereafter, the license server 130 transmits a license validation result for the user terminal 110 to the DRM server 140 ( 340 ).

이후, 라이선스 서버(130)는 DRM 서버(140)로부터 DRM 서버(140)의 비밀키에 기초하여 암호화된 컨텐츠 복호화 키를 수신한다(350).Then, the license server 130 receives the encrypted content decryption key based on the private key of the DRM server 140 from the DRM server 140 (350).

일 실시예에 따르면, 사용자 단말(110)이 요청하는 컨텐츠는 컨텐츠 서버(120)에 의해 시분할 될 수 있고, 이 경우 컨텐츠 복호화 키는 시분할 된 컨텐츠 파일 각각에 대응되는 복호화 키일 수 있다.According to an embodiment, the content requested by the user terminal 110 may be time-divided by the content server 120, and in this case, the content decryption key may be a decryption key corresponding to each time-divided content file.

이후, 라이선스 서버(130)는 컨텐츠 서버(120)로 암호화된 컨텐츠 복호화 키를 송신한다(360).Then, the license server 130 transmits the encrypted content decryption key to the content server 120 (360).

도 4는 추가적인 실시예에 따라 라이선스 서버(130)에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도이다.4 is a flowchart illustrating a DRM packaging method of real-time on-demand digital content performed by the license server 130 according to an additional embodiment.

우선, 라이선스 서버(130)는 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 단말(110)로 서명용 인증서와 서명용 키를 송신한다(410).First, the license server 130 transmits a signing certificate and a signing key to the user terminal 110 logged in to the content providing service platform ( 410 ).

이후, 라이선스 서버(130)는 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 계정의 유효성을 검증한다(420).Thereafter, the license server 130 verifies the validity of the user account logged into the content providing service platform ( 420 ).

이후, 라이선스 서버(130)는 사용자 계정의 유효성이 검증된 경우, 라이선스 서버(130)의 주소 정보 및 사용자 단말(110)이 요청하는 컨텐츠에 대한 메타데이터(metadata)의 경로 정보를 암호화하여 사용자 단말(110)로 송신한다(430).Then, when the validity of the user account is verified, the license server 130 encrypts the address information of the license server 130 and path information of metadata for the content requested by the user terminal 110 to the user terminal. Transmits to 110 (430).

일 실시예에 따르면, 라이선스 서버(130)의 주소 정보 및 메타데이터의 경로 정보는 AES-256 방식에 기초하여 암호화될 수 있다.According to an embodiment, address information of the license server 130 and path information of metadata may be encrypted based on the AES-256 scheme.

일 실시예에 따르면, 암호화된 라이선스 서버(130)의 주소 정보 및 암호화된 메타데이터의 경로 정보는 json 형식의 인코딩 파일로 사용자 단말(110)에 제공될 수 있다.According to an embodiment, address information of the encrypted license server 130 and path information of the encrypted metadata may be provided to the user terminal 110 as an encoding file in a json format.

이후, 라이선스 서버(130)는 사용자 단말(110)로부터 서명용 인증서와 서명용 키에 기초하여 생성된 라이선스 요청 서명을 수신한다(440).Thereafter, the license server 130 receives a license request signature generated based on the signing certificate and the signing key from the user terminal 110 ( 440 ).

이후, 라이선스 서버(130)는 수신한 라이선스 요청 서명에 기초하여 사용자 단말(110)에 대한 라이선스의 유효성을 검증한다(450).Thereafter, the license server 130 verifies the validity of the license for the user terminal 110 based on the received license request signature ( 450 ).

이후, 라이선스 서버(130)는 DRM 서버(140)로 사용자 단말(110)에 대한 라이선스 유효성 검증 결과를 송신한다(460).Then, the license server 130 transmits the license validation result for the user terminal 110 to the DRM server 140 (460).

이후, 라이선스 서버(130)는 DRM 서버(140)로부터 DRM 서버(140)의 비밀키에 기초하여 암호화된 컨텐츠 복호화 키를 수신한다(470).Thereafter, the license server 130 receives a content decryption key encrypted based on the private key of the DRM server 140 from the DRM server 140 ( 470 ).

이후, 라이선스 서버(130)는 컨텐츠 서버(120)로 암호화된 컨텐츠 복호화 키를 송신한다(480).Thereafter, the license server 130 transmits the encrypted content decryption key to the content server 120 ( 480 ).

일 실시예에 따르면, 라이선스 서버(130)는 암호화된 컨텐츠 복호화 키와 함께, 해당 암호화된 컨텐츠 복호화 키를 복호화하기 위한 DRM 서버(140)의 공개키의 유효기간에 대한 정보를 송신할 수 있다. 이 경우, 컨텐츠 서버(120)는 암호화된 컨텐츠 복호화 키 및 DRM 서버(140)의 공개키의 유효기간에 대한 정보를 사용자 단말(110)로 전달(전송)할 수 있다.According to an embodiment, the license server 130 may transmit information on the validity period of the public key of the DRM server 140 for decrypting the encrypted content decryption key together with the encrypted content decryption key. In this case, the content server 120 may transmit (transmit) information about the validity period of the encrypted content decryption key and the public key of the DRM server 140 to the user terminal 110 .

도 5는 일 실시예에 따라 DRM 서버(140)에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating a DRM packaging method of real-time on-demand digital content performed by the DRM server 140 according to an embodiment.

우선, DRM 서버(140)는 라이선스 서버(130)로부터 사용자 단말(110)에 대한 라이선스 유효성 검증 결과를 수신한다(510).First, the DRM server 140 receives a license validation result for the user terminal 110 from the license server 130 (510).

일 실시예에 따르면, DRM 서버(140)는 라이선스 서버(130)로부터 라이선스 유효성 검증 결과 뿐만 아니라, 사용자 단말(110)의 기기 정보, 사용자 계정의 식별 정보 및 사용자 단말(110)이 요청하는 컨텐츠의 식별 정보 중 적어도 하나를 추가로 수신할 수 있다.According to an embodiment, the DRM server 140 provides not only the license validation result from the license server 130 , but also device information of the user terminal 110 , identification information of the user account, and content requested by the user terminal 110 . At least one of identification information may be additionally received.

이후, 사용자 단말(110)에 대한 라이선스가 유효한 것으로 판단되는 경우, DRM 서버(140)는 DRM 서버(140)의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화한다(520, 530).Thereafter, when it is determined that the license for the user terminal 110 is valid, the DRM server 140 encrypts the content decryption key based on the private key of the DRM server 140 ( 520 , 530 ).

일 실시예에 따르면, DRM 서버(140)는 510 단계에 앞서서 사전에, 컨텐츠 복호화 키의 암호화 및 복호화를 위한 공개키 및 비밀키 쌍을 생성할 수 있다.According to an embodiment, the DRM server 140 may generate a public key and a private key pair for encryption and decryption of the content decryption key in advance prior to step 510 .

다른 실시예에 따르면, DRM 서버(140)는 520 단계에서 라이선스가 유효한 것으로 판단되는 경우, 비로소 컨텐츠 복호화 키의 암호화 및 복호화를 위한 공개키 및 비밀키 쌍을 생성할 수 있다.According to another embodiment, when it is determined that the license is valid in step 520 , the DRM server 140 may generate a public key and a private key pair for encryption and decryption of the content decryption key.

일 실시예에 따르면, DRM 서버(140)는 컨텐츠 복호화 키의 복호화를 위한 공개키를 컨텐츠 서버(120) 및 라이선스 서버(130)에 바이너리 데이터(binary data) 형식으로 제공할 수 있다. 이를 통해, 공개키가 공유되는 과정에서 DRM 패키징 시스템 외부로 유출되는 것을 방지할 수 있다.According to an embodiment, the DRM server 140 may provide the public key for decrypting the content decryption key to the content server 120 and the license server 130 in the form of binary data. Through this, it is possible to prevent leakage of the public key to the outside of the DRM packaging system in the process of sharing it.

일 실시예에 따르면, DRM 서버(140)는 컨텐츠 복호화 키를 암호화하되, 사용자 단말(110)의 기기 정보, 사용자 계정의 식별 정보 및 사용자 단말(110)이 요청하는 컨텐츠의 식별 정보 중 적어도 하나에 기초하여 컨텐츠 복호화 키의 복호화에 대한 접근 제약을 설정할 수 있다.According to an embodiment, the DRM server 140 encrypts the content decryption key, but at least one of the device information of the user terminal 110, the identification information of the user account, and the identification information of the content requested by the user terminal 110 Based on the content decryption key, access restrictions for decryption may be set.

예를 들어, DRM 서버(140)는 컨텐츠의 식별 정보에 기초하여 주문된 컨텐츠를 식별하며, 사용자 단말(110)의 기기 정보에 기초하여 사용자 단말(110)의 기종을 파악할 수 있다. 이후, DRM 서버(140)는 해당 주문된 컨텐츠에 있어서, 해당 사용자 단말(110)의 기종과 상이한 기종의 단말을 통해 컨텐츠 복호화 키의 복호화를 할 수 없도록 설정할 수 있다.For example, the DRM server 140 may identify the ordered content based on the identification information of the content, and may determine the type of the user terminal 110 based on the device information of the user terminal 110 . Thereafter, the DRM server 140 may set such that, in the ordered content, the content decryption key cannot be decrypted through a terminal having a different model than that of the corresponding user terminal 110 .

다른 예로써, DRM 서버(140)는 사용자 계정의 식별 정보를 이용하여 사용자 계정을 식별하고, 컨텐츠의 식별 정보에 기초하여 주문된 컨텐츠를 식별할 수 있다. 이후, DRM 서버(140)는 해당 주문된 컨텐츠에 있어서, 해당 사용자 계정을 통해 컨텐츠 복호화 키의 복호화가 가능한 기간의 제약을 설정할 수 있다.As another example, the DRM server 140 may identify the user account using the identification information of the user account, and identify the ordered content based on the identification information of the content. Thereafter, the DRM server 140 may set a restriction on a period during which the content decryption key can be decrypted through the corresponding user account in the ordered content.

이후, DRM 서버(140)는 암호화된 컨텐츠 복호화 키를 라이선스 서버(130)로 송신한다(540).Then, the DRM server 140 transmits the encrypted content decryption key to the license server 130 (540).

도 6은 추가적인 실시예에 따라 DRM 서버(140)에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a DRM packaging method of real-time on-demand digital content performed by the DRM server 140 according to an additional embodiment.

우선, DRM 서버(140)는 HLS 포맷 또는 DASH 포맷에 기초하여 사용자 단말(110)이 요청하는 컨텐츠에 대한 메타데이터를 생성한다(610).First, the DRM server 140 generates metadata for the content requested by the user terminal 110 based on the HLS format or the DASH format ( 610 ).

이후, DRM 서버(140)는 라이선스 서버(130)로부터 사용자 단말(110)이 요청한 컨텐츠의 복호화를 위한 컨텐츠 복호화 키를 수신한다(620).Thereafter, the DRM server 140 receives a content decryption key for decrypting the content requested by the user terminal 110 from the license server 130 ( 620 ).

이후, 사용자 단말(110)에 대한 라이선스가 유효한 것으로 판단되는 경우, DRM 서버(140)는 DRM 서버(140)의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화한다(630, 640).Then, when it is determined that the license for the user terminal 110 is valid, the DRM server 140 encrypts the content decryption key based on the private key of the DRM server 140 (630, 640).

이후, DRM 서버(140)는 암호화된 컨텐츠 복호화 키를 라이선스 서버(130)로 송신한다(650).Thereafter, the DRM server 140 transmits the encrypted content decryption key to the license server 130 ( 650 ).

도 7은 일 실시예에 따른 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 개괄적으로 설명하기 위한 순서도이다.7 is a flowchart schematically illustrating a DRM packaging method of real-time on-demand digital content according to an embodiment.

우선, 컨텐츠 서버(120)는 컨텐츠 서버(120) 내 저장 공간 또는 컨텐츠 서버(120)와 연동된 별도의 데이터베이스(미도시)에 저장된 디지털 컨텐츠들을 기 설정된 시간 간격으로 시분할하고(701), 시분할 된 디지털 컨텐츠들에 대한 컨텐츠 암호화 키 및 컨텐츠 복호화 키를 생성하고(702), 생성된 컨텐츠 암호화 키에 기초하여 시분할 된 디지털 컨텐츠들을 암호화한다(703).First, the content server 120 time-divisions digital contents stored in a storage space within the content server 120 or a separate database (not shown) linked to the content server 120 at preset time intervals (701), and time-divided A content encryption key and a content decryption key for digital contents are generated ( 702 ), and time-divided digital contents are encrypted based on the generated content encryption key ( 703 ).

이어서, 컨텐츠 제공 서비스를 이용하고자 하는 사용자(700)는 사용자 단말(120)을 통해 자신의 사용자 계정으로 컨텐츠 제공 서비스 플랫폼에 로그인한다(704).Next, the user 700 who wants to use the content providing service logs in to the content providing service platform with his or her user account through the user terminal 120 ( 704 ).

이어서, 사용자 계정에 대한 로그인이 수행되면, 라이선스 서버(130)는 사용자 계정이 로그인 된 사용자 단말(110)로 서명용 인증서 및 서명용 키를 전송한다(705).Next, when the login for the user account is performed, the license server 130 transmits the signing certificate and the signing key to the user terminal 110 to which the user account is logged ( 705 ).

이어서, 사용자(700)는 디지털 컨텐츠를 주문하고(706), 이에 따라 사용자 단말(110)은 수신한 서명용 인증서 및 서명용 키에 기초하여 라이선스 요청 서명을 생성하고(707), 생성된 라이선스 요청 서명을 라이선스 서버(130)로 전송한다(708).Then, the user 700 orders digital content (706), and accordingly, the user terminal 110 generates a license request signature based on the received signing certificate and signature key (707), and uses the generated license request signature. Transmits to the license server 130 (708).

이어서, 라이선스 서버(130)는 수신한 라이선스 요청 서명에 기초하여 사용자 단말(110)에 대한 라이선스의 유효성을 검증한다(709).Next, the license server 130 verifies the validity of the license for the user terminal 110 based on the received license request signature ( 709 ).

이어서, 라이선스 서버(130)는 DRM 서버(140)로 사용자 단말(110)에 대한 라이선스 유효성 검증 결과를 전송한다(710).Then, the license server 130 transmits the license validation result for the user terminal 110 to the DRM server 140 (710).

이어서, DRM 서버(140)는 사용자 단말(110)에 대한 라이선스가 유효한 것으로 판단되는 경우, 주문된 디지털 컨텐츠의 컨텐츠 복호화 키에 대한 DRM 서버(140)의 공개키 및 비밀키를 생성한다(711). 비록 도 7에서는 DRM 서버(140)의 공개키 및 비밀키가 710 단계 이후에 생성되는 것으로 도시되었으나 이는 설명의 편의를 위한 것으로, 컨텐츠 복호화 키의 암호화 및 복호화에 사용되는 DRM 서버(140)의 공개키 및 비밀키는 706 단계 이전에 미리 생성될 수도 있다.Next, when it is determined that the license for the user terminal 110 is valid, the DRM server 140 generates a public key and a private key of the DRM server 140 for the content decryption key of the ordered digital content (711). . Although it is shown in FIG. 7 that the public key and the private key of the DRM server 140 are generated after step 710, this is for convenience of explanation. The key and the secret key may be generated in advance before step 706 .

이어서, DRM 서버(140)는 711 단계에서 생성된 비밀키에 기초하여 컨텐츠 복호화 키를 암호화한다(712). Next, the DRM server 140 encrypts the content decryption key based on the secret key generated in step 711 (712).

이어서, DRM 서버(140)는 암호화된 컨텐츠 복호화 키를 라이선스 서버(130)로 전송하고(713), 라이선스 서버(130)는 이를 수신하여 컨텐츠 서버(120)로 전송한다(714).Subsequently, the DRM server 140 transmits the encrypted content decryption key to the license server 130 ( 713 ), and the license server 130 receives it and transmits it to the content server 120 ( 714 ).

이어서, 컨텐츠 서버(120)는 시분할 된 디지털 컨텐츠 중 사용자(700)가 주문한 디지털 컨텐츠와, 711 단계에서 생성된 공개키 및 암호화된 컨텐츠 복호화 키를 패키징하고(715), 패키징 된 컨텐츠를 사용자 단말(110)로 전송한다(716).Next, the content server 120 packages the digital content ordered by the user 700 among the time-divided digital content, the public key and the encrypted content decryption key generated in step 711 ( 715 ), and delivers the packaged content to the user terminal ( 110) (716).

이어서, 사용자 단말(110)은 711 단계에서 생성된 공개키로 암호화된 컨텐츠 복호화 키를 복호화하고, 이를 통해 획득한 컨텐츠 복호화 키를 이용하여 암호화된 디지털 컨텐츠를 복호화한 이후, 이를 재생한다(717).Next, the user terminal 110 decrypts the encrypted content decryption key with the public key generated in step 711, decrypts the encrypted digital content using the obtained content decryption key, and then plays it back (717).

일 실시예에 따르면, 사용자 단말(110)은 디지털 컨텐츠에 적용된 암호화를 해제(복호화)하는 데 실패한 경우, DRM 조건을 만족하지 못하여 디지털 컨텐츠로의 접근이 만료된 것으로 판단할 수 있다. 이 경우, 사용자 단말(110)은 사용자(700)에게 다시 컨텐츠를 주문해 줄 것을 요청하는 알림 또는 메시지를 제공할 수도 있고, 사용자(700)의 주문을 별도로 요청함이 없이 자동으로 707 단계부터 반복할 수 있다.According to an embodiment, when the user terminal 110 fails to release (decrypt) the encryption applied to the digital content, it may determine that the access to the digital content has expired because the DRM condition is not satisfied. In this case, the user terminal 110 may provide a notification or message requesting the user 700 to order content again, and automatically repeats from step 707 without separately requesting the user 700 order. can do.

상기 도시된 순서도 도 3 내지 도 7에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.3 to 7, the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed in a different order, performed together in combination with other steps, omitted, or divided into detailed steps. Alternatively, one or more steps not shown may be added and performed.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented by a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the apparatus, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), 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 convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 청구범위 뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.Although representative embodiments of the present invention have been described in detail above, those of ordinary skill in the art will understand that various modifications are possible without departing from the scope of the present invention with respect to the above-described embodiments. . Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims described below as well as the claims and equivalents.

10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
110: 사용자 단말
120: 컨텐츠 서버
130: 라이선스 서버
140: DRM 서버
150: 통신 네트워크
10: Computing Environment
12: computing device
14: Processor
16: computer readable storage medium
18: communication bus
20: Program
22: input/output interface
24: input/output device
26: network communication interface
110: user terminal
120: content server
130: license server
140: DRM server
150: communication network

Claims (16)

하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 라이선스 서버에서 수행되는 방법으로서,
컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 단말로 서명용 인증서와 서명용 키를 송신하는 단계;
상기 사용자 단말로부터 상기 서명용 인증서와 상기 서명용 키에 기초하여 생성된 라이선스 요청 서명을 수신하는 단계;
상기 라이선스 요청 서명에 기초하여 상기 사용자 단말에 대한 라이선스의 유효성을 검증하는 단계;
DRM(Digital Rights Management) 서버로 상기 사용자 단말에 대한 라이선스 유효성 검증 결과를 송신하는 단계;
상기 DRM 서버로부터 상기 DRM 서버의 비밀키에 기초하여 암호화된 컨텐츠 복호화 키를 수신하는 단계; 및
컨텐츠 서버로 상기 암호화된 컨텐츠 복호화 키를 송신하는 단계를 포함하는, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
one or more processors, and
A method performed in a license server having a memory for storing one or more programs executed by the one or more processors,
transmitting a signing certificate and a signing key to a user terminal logged into the content providing service platform;
receiving a license request signature generated based on the signing certificate and the signing key from the user terminal;
verifying the validity of the license for the user terminal based on the license request signature;
transmitting a license validation result for the user terminal to a DRM (Digital Rights Management) server;
receiving an encrypted content decryption key from the DRM server based on the secret key of the DRM server; and
DRM packaging method of real-time on-demand digital content comprising the step of transmitting the encrypted content decryption key to a content server.
청구항 1항에 있어서,
상기 라이선스 요청 서명은,
서명 당시의 날짜 및 시간 정보, 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보, 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 및 상기 서명용 인증서가 상기 서명용 키로 서명되어 생성되는, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
The method according to claim 1,
The license request signature is
DRM of real-time on-demand digital content generated by signing date and time information at the time of signing, device information of the user terminal, identification information of a user account, identification information of content requested by the user terminal, and the certificate for signing with the key for signing packaging method.
청구항 1항에 있어서,
상기 라이선스 요청 서명을 수신하는 단계에 앞서,
상기 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 계정의 유효성을 검증하는 단계; 및
상기 사용자 계정의 유효성이 검증된 경우, 상기 라이선스 서버의 주소 정보 및 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)의 경로 정보를 암호화하여 상기 사용자 단말로 송신하는 단계를 더 포함하는, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
The method according to claim 1,
Prior to receiving the license request signature,
verifying the validity of a user account logged into the content providing service platform; and
When the validity of the user account is verified, further comprising the step of encrypting the address information of the license server and path information of metadata for the content requested by the user terminal and transmitting the encrypted information to the user terminal, real-time DRM packaging method for on-demand digital content.
청구항 1항에 있어서,
상기 컨텐츠 복호화 키는,
시분할(time-sharing)된 컨텐츠 파일 각각에 대응되는 복호화 키인, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
The method according to claim 1,
The content decryption key is
A method for DRM packaging of real-time on-demand digital content, which is a decryption key corresponding to each time-sharing content file.
하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 DRM 서버에서 수행되는 방법으로서,
라이선스 서버로부터 사용자 단말에 대한 라이선스 유효성 검증 결과를 수신하는 단계;
상기 사용자 단말에 대한 라이선스가 유효한 것으로 판단되는 경우, 상기 DRM 서버의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화하는 단계; 및
암호화된 컨텐츠 복호화 키를 상기 라이선스 서버로 송신하는 단계를 포함하는, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
one or more processors, and
A method performed in a DRM server having a memory for storing one or more programs executed by the one or more processors,
Receiving a license validation result for the user terminal from the license server;
encrypting a content decryption key based on the secret key of the DRM server when it is determined that the license for the user terminal is valid; and
DRM packaging method of real-time on-demand digital content comprising the step of transmitting the encrypted content decryption key to the license server.
청구항 5항에 있어서,
상기 수신하는 단계는,
상기 라이선스 서버로부터 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나를 추가로 수신하고,
상기 암호화하는 단계는,
상기 컨텐츠 복호화 키를 암호화하되, 상기 사용자 단말의 기기 정보, 상기 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나에 기초하여 상기 컨텐츠 복호화 키의 복호화에 대한 접근 제약을 설정하는, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
6. The method of claim 5,
The receiving step is
Further receiving at least one of device information of the user terminal, identification information of a user account, and identification information of content requested by the user terminal from the license server,
The encryption step is
Encrypt the content decryption key, but set access restrictions on decryption of the content decryption key based on at least one of device information of the user terminal, identification information of the user account, and identification information of content requested by the user terminal DRM packaging method of real-time on-demand digital content.
청구항 5항에 있어서,
HLS 포맷 또는 DASH 포맷에 기초하여 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)를 생성하는 단계를 더 포함하는, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
6. The method of claim 5,
DRM packaging method of real-time on-demand digital content, further comprising the step of generating metadata (metadata) for the content requested by the user terminal based on the HLS format or the DASH format.
청구항 5항에 있어서,
상기 컨텐츠 복호화 키는,
시분할(time-sharing)된 컨텐츠 파일 각각에 대응되는 복호화 키인, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
6. The method of claim 5,
The content decryption key is
A method for DRM packaging of real-time on-demand digital content, which is a decryption key corresponding to each time-sharing content file.
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 컴퓨팅 장치로서,
상기 프로그램은,
컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 단말로 서명용 인증서와 서명용 키를 송신하는 단계;
상기 사용자 단말로부터 상기 서명용 인증서와 상기 서명용 키에 기초하여 생성된 라이선스 요청 서명을 수신하는 단계;
상기 라이선스 요청 서명에 기초하여 상기 사용자 단말에 대한 라이선스의 유효성을 검증하는 단계;
DRM(Digital Rights Management) 서버로 상기 사용자 단말에 대한 라이선스 유효성 검증 결과를 송신하는 단계;
상기 DRM 서버로부터 상기 DRM 서버의 비밀키에 기초하여 암호화된 컨텐츠 복호화 키를 수신하는 단계; 및
컨텐츠 서버로 상기 암호화된 컨텐츠 복호화 키를 송신하는 단계를 실행하기 위한 명령어들을 포함하는, 라이선스 서버.
one or more processors; and
A computing device comprising a memory storing one or more programs configured to be executed by the one or more processors,
The program is
transmitting a signing certificate and a signing key to a user terminal logged into the content providing service platform;
receiving a license request signature generated based on the signing certificate and the signing key from the user terminal;
verifying the validity of the license for the user terminal based on the license request signature;
transmitting a license validation result for the user terminal to a DRM (Digital Rights Management) server;
receiving an encrypted content decryption key from the DRM server based on the secret key of the DRM server; and
and instructions for executing the step of sending the encrypted content decryption key to a content server.
청구항 9항에 있어서,
상기 라이선스 요청 서명은,
서명 당시의 날짜 및 시간 정보, 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보, 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 및 상기 서명용 인증서가 상기 서명용 키로 서명되어 생성되는, 라이선스 서버.
10. The method of claim 9,
The license request signature is
Date and time information at the time of signing, device information of the user terminal, identification information of a user account, identification information of contents requested by the user terminal, and the certificate for signing are signed and generated with the key for signing, a license server.
청구항 9항에 있어서,
상기 프로그램은,
상기 라이선스 요청 서명을 수신하는 단계에 앞서,
상기 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 계정의 유효성을 검증하는 단계; 및
상기 사용자 계정의 유효성이 검증된 경우, 상기 라이선스 서버의 주소 정보 및 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)의 경로 정보를 암호화하여 상기 사용자 단말로 송신하는 단계를 실행하기 위한 명령어들을 더 포함하는, 라이선스 서버.
10. The method of claim 9,
The program is
Prior to receiving the license request signature,
verifying the validity of a user account logged into the content providing service platform; and
When the validity of the user account is verified, instructions for executing the step of encrypting the address information of the license server and path information of metadata for the content requested by the user terminal and transmitting the encrypted information to the user terminal Further comprising, a license server.
청구항 9항에 있어서,
상기 컨텐츠 복호화 키는,
시분할(time-sharing)된 컨텐츠 파일 각각에 대응되는 복호화 키인, 라이선스 서버.
10. The method of claim 9,
The content decryption key is
A license server, which is a decryption key corresponding to each time-sharing content file.
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 컴퓨팅 장치로서,
상기 프로그램은,
라이선스 서버로부터 사용자 단말에 대한 라이선스 유효성 검증 결과를 수신하는 단계;
상기 사용자 단말에 대한 라이선스가 유효한 것으로 판단되는 경우, DRM 서버의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화하는 단계; 및
암호화된 컨텐츠 복호화 키를 상기 라이선스 서버로 송신하는 단계를 실행하기 위한 명령어들을 포함하는, DRM 서버.
one or more processors; and
A computing device comprising a memory storing one or more programs configured to be executed by the one or more processors,
The program is
Receiving a license validation result for the user terminal from the license server;
encrypting the content decryption key based on the private key of the DRM server when it is determined that the license for the user terminal is valid; and
A DRM server comprising instructions for executing the step of sending an encrypted content decryption key to the license server.
청구항 13항에 있어서,
상기 수신하는 단계는,
상기 라이선스 서버로부터 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나를 추가로 수신하고,
상기 암호화하는 단계는,
상기 컨텐츠 복호화 키를 암호화하되, 상기 사용자 단말의 기기 정보, 상기 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나에 기초하여 상기 컨텐츠 복호화 키의 복호화에 대한 접근 제약을 설정하는, DRM 서버.
14. The method of claim 13,
The receiving step is
Further receiving at least one of device information of the user terminal, identification information of a user account, and identification information of content requested by the user terminal from the license server,
The encryption step is
Encrypt the content decryption key, but set access restrictions on decryption of the content decryption key based on at least one of device information of the user terminal, identification information of the user account, and identification information of content requested by the user terminal which, DRM server.
청구항 13항에 있어서,
상기 프로그램은,
HLS 포맷 또는 DASH 포맷에 기초하여 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)를 생성하는 단계를 실행하기 위한 명령어들을 더 포함하는, DRM 서버.
14. The method of claim 13,
The program is
Based on the HLS format or the DASH format, the DRM server further comprising instructions for executing the step of generating metadata (metadata) for the content requested by the user terminal.
청구항 13항에 있어서,
상기 컨텐츠 복호화 키는,
시분할(time-sharing)된 컨텐츠 파일 각각에 대응되는 복호화 키인, DRM 서버.
14. The method of claim 13,
The content decryption key is
A DRM server, which is a decryption key corresponding to each time-sharing content file.
KR1020210052648A 2021-04-22 2021-04-22 Method for drm packaging for real-time on-demand digital content and computing device for executing the method KR102305691B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210052648A KR102305691B1 (en) 2021-04-22 2021-04-22 Method for drm packaging for real-time on-demand digital content and computing device for executing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210052648A KR102305691B1 (en) 2021-04-22 2021-04-22 Method for drm packaging for real-time on-demand digital content and computing device for executing the method

Publications (1)

Publication Number Publication Date
KR102305691B1 true KR102305691B1 (en) 2021-09-28

Family

ID=77923057

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210052648A KR102305691B1 (en) 2021-04-22 2021-04-22 Method for drm packaging for real-time on-demand digital content and computing device for executing the method

Country Status (1)

Country Link
KR (1) KR102305691B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060064469A (en) * 2004-12-08 2006-06-13 한국전자통신연구원 Apparatus and method for protecting multicast streamed motion picture files
KR20070076108A (en) 2006-01-17 2007-07-24 신용태 Streaming contents packager
KR100984440B1 (en) * 2003-02-11 2010-09-29 마이크로소프트 코포레이션 Publishing digital content within a defined universe such as an organization in accordance with a digital rights management(drm) system
KR101952139B1 (en) * 2016-10-20 2019-02-26 주식회사 파수닷컴 A method for providing digital right management function in gateway server communicated with user terminal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100984440B1 (en) * 2003-02-11 2010-09-29 마이크로소프트 코포레이션 Publishing digital content within a defined universe such as an organization in accordance with a digital rights management(drm) system
KR20060064469A (en) * 2004-12-08 2006-06-13 한국전자통신연구원 Apparatus and method for protecting multicast streamed motion picture files
KR20070076108A (en) 2006-01-17 2007-07-24 신용태 Streaming contents packager
KR101952139B1 (en) * 2016-10-20 2019-02-26 주식회사 파수닷컴 A method for providing digital right management function in gateway server communicated with user terminal

Similar Documents

Publication Publication Date Title
US10826708B2 (en) Authenticating nonces prior to encrypting and decrypting cryptographic keys
EP3574434B1 (en) Addressing a trusted execution environment using encryption key
US9853957B2 (en) DRM protected video streaming on game console with secret-less application
CN108604262B (en) Protecting web pages, web applications, and applications
US9177112B2 (en) Method and device for communicating digital content
US20220286440A1 (en) Secure Media Delivery
WO2006080754A1 (en) Contents encryption method, system and method for providing contents through network using the encryption method
WO2001078285A1 (en) System and method for controlling and enforcing access rights to encrypted media
KR20190108580A (en) Addressing Techniques for Trusted Execution Environments Using Signature Keys
EP2289013B1 (en) A method and a device for protecting private content
CN110611657A (en) File stream processing method, device and system based on block chain
EP2958039B1 (en) Device for decrypting and providing content of a provider and method for operating the device
US20130174282A1 (en) Digital right management method, apparatus, and system
CN110235134B (en) Addressing trusted execution environments using clean room provisioning
CN107920060B (en) Data access method and device based on account
CN114547648A (en) Data hiding trace query method and system
CN111901287B (en) Method and device for providing encryption information for light application and intelligent equipment
KR102305691B1 (en) Method for drm packaging for real-time on-demand digital content and computing device for executing the method
CN110602075A (en) File stream processing method, device and system for encryption access control
KR101711024B1 (en) Method for accessing temper-proof device and apparatus enabling of the method
KR101701625B1 (en) Method and system for reproducing contents by secure acquiring decryption key for encrypted contents
US20230376574A1 (en) Information processing device and method, and information processing system
US20210135853A1 (en) Apparatus and method for data security
CN116226792A (en) Software authorization method and system based on TEE
US9740834B2 (en) Usage rights information for protected content having two parts

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant