KR102305691B1 - 실시간 주문형 디지털 컨텐츠의 drm 패키징 방법과 이를 실행하기 위한 컴퓨팅 장치 - Google Patents

실시간 주문형 디지털 컨텐츠의 drm 패키징 방법과 이를 실행하기 위한 컴퓨팅 장치 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
English (en)
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/ko
Application granted granted Critical
Publication of KR102305691B1 publication Critical patent/KR102305691B1/ko

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 or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법과 이를 실행하기 위한 컴퓨팅 장치가 개시된다. 일 실시예에 따라 DRM 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법은, 라이선스 서버로부터 사용자 단말에 대한 라이선스 유효성 검증 결과를 수신하는 단계; 상기 사용자 단말에 대한 라이선스가 유효한 것으로 판단되는 경우, 상기 DRM 서버의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화하는 단계; 및 암호화된 컨텐츠 복호화 키를 상기 라이선스 서버로 송신하는 단계를 포함한다.

Description

실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법과 이를 실행하기 위한 컴퓨팅 장치{METHOD FOR DRM PACKAGING FOR REAL-TIME ON-DEMAND DIGITAL CONTENT AND COMPUTING DEVICE FOR EXECUTING THE METHOD}
개시되는 실시예들은 적법한 권한을 갖는 사용자 단말 외에는 실시간 주문형 디지털 컨텐츠의 복호화를 할 수 없도록 하는 디지털 컨텐츠에 대한 DRM(Digital Rights Management) 패키징 기술과 관련된다.
실시간 주문형 디지털 컨텐츠는 시청자가 미처 제 시간에 보지 못한 TV 프로그램이나 영화 등을 원하는 때에 볼 수 있도록, 서버에 저장되었다가 시청자의 주문에 따라 실시간으로 사용자 단말로 제공되는 컨텐츠를 의미한다. 실시간 주문형 디지털 컨텐츠가 보편적인 시청각 컨텐츠의 일 형태로 자리잡음에 따라, 시청자는 컨텐츠를 일방적으로 받아들이는 수용자(受容者)에서 보다 능동성을 갖춘 소비자가 되어, 시청각 컨텐츠 분야에서 일대 패러다임의 전환이 일어났다.
이러한 실시간 주문형 디지털 컨텐츠는 각 컨텐츠 당 비용을 지불하거나, 소정 기간 동안의 이용료를 지불하는 방식으로 향유할 수 있는데, 이때 컨텐츠 생산자와 유통사에게 정당한 대가가 돌아가도록 하기 위해서 이용 기간에 제한을 두고, 다운로드 및 불법복제를 방지하는 DRM 패키징 기술이 적용되는 것이 일반적이다.
그런데, 기존에 적용되는 DRM 패키징 기술은 디지털 컨텐츠에 대한 메타데이터를 암호화하지 않거나, 단순한 암호화 방식을 취하고 있어, 웹에서 곧바로 다운로드가 가능하거나, 브라우저 확장 프로그램을 사용하여 손쉽게 다운로드 가능한 문제점이 있다.
대한민국 공개특허공보 제10-2007-0076108호 (2007.07.24. 공개)
개시되는 실시예들은 유효한 라이선스를 갖는 적법한 사용자 단말 외에는 디지털 컨텐츠를 복호화 할 수 없도록 하기 위한 것이다.
일 실시예에 따라 라이선스 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법은, 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 단말로 서명용 인증서와 서명용 키를 송신하는 단계; 상기 사용자 단말로부터 상기 서명용 인증서와 상기 서명용 키에 기초하여 생성된 라이선스 요청 서명을 수신하는 단계; 상기 라이선스 요청 서명에 기초하여 상기 사용자 단말에 대한 라이선스의 유효성을 검증하는 단계; DRM(Digital Rights Management) 서버로 상기 사용자 단말에 대한 라이선스 유효성 검증 결과를 송신하는 단계; 상기 DRM 서버로부터 상기 DRM 서버의 비밀키에 기초하여 암호화된 컨텐츠 복호화 키를 수신하는 단계; 및 컨텐츠 서버로 상기 암호화된 컨텐츠 복호화 키를 송신하는 단계를 포함한다.
상기 라이선스 요청 서명은, 서명 당시의 날짜 및 시간 정보, 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보, 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 및 상기 서명용 인증서가 상기 서명용 키로 서명되어 생성될 수 있다.
상기 라이선스 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법은, 상기 라이선스 요청 서명을 수신하는 단계에 앞서, 상기 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 계정의 유효성을 검증하는 단계; 및 상기 사용자 계정의 유효성이 검증된 경우, 상기 라이선스 서버의 주소 정보 및 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)의 경로 정보를 암호화하여 상기 사용자 단말로 송신하는 단계를 더 포함할 수 있다.
상기 컨텐츠 복호화 키는, 시분할(time-sharing) 된 컨텐츠 파일 각각에 대응되는 복호화 키일 수 있다.
일 실시예에 따라 DRM 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법은, 라이선스 서버로부터 사용자 단말에 대한 라이선스 유효성 검증 결과를 수신하는 단계; 상기 사용자 단말에 대한 라이선스가 유효한 것으로 판단되는 경우, 상기 DRM 서버의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화하는 단계; 및 암호화된 컨텐츠 복호화 키를 상기 라이선스 서버로 송신하는 단계를 포함한다.
상기 수신하는 단계는, 상기 라이선스 서버로부터 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나를 추가로 수신할 수 있고, 상기 암호화하는 단계는, 상기 컨텐츠 복호화 키를 암호화하되, 상기 사용자 단말의 기기 정보, 상기 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나에 기초하여 상기 컨텐츠 복호화 키의 복호화에 대한 접근 제약을 설정할 수 있다.
상기 DRM 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법은, HLS 포맷 또는 DASH 포맷에 기초하여 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)를 생성하는 단계를 더 포함할 수 있다.
상기 컨텐츠 복호화 키는, 시분할(time-sharing) 된 컨텐츠 파일 각각에 대응되는 복호화 키일 수 있다.
일 실시예에 따른 라이선스 서버는, 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 컴퓨팅 장치로서, 상기 프로그램은, 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 단말로 서명용 인증서와 서명용 키를 송신하는 단계; 상기 사용자 단말로부터 상기 서명용 인증서와 상기 서명용 키에 기초하여 생성된 라이선스 요청 서명을 수신하는 단계; 상기 라이선스 요청 서명에 기초하여 상기 사용자 단말에 대한 라이선스의 유효성을 검증하는 단계; DRM(Digital Rights Management) 서버로 상기 사용자 단말에 대한 라이선스 유효성 검증 결과를 송신하는 단계; 상기 DRM 서버로부터 상기 DRM 서버의 비밀키에 기초하여 암호화된 컨텐츠 복호화 키를 수신하는 단계; 및 컨텐츠 서버로 상기 암호화된 컨텐츠 복호화 키를 송신하는 단계를 실행하기 위한 명령어들을 포함한다.
상기 라이선스 요청 서명은, 서명 당시의 날짜 및 시간 정보, 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보, 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 및 상기 서명용 인증서가 상기 서명용 키로 서명되어 생성될 수 있다.
상기 프로그램은, 상기 라이선스 요청 서명을 수신하는 단계에 앞서, 상기 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 계정의 유효성을 검증하는 단계; 및 상기 사용자 계정의 유효성이 검증된 경우, 상기 라이선스 서버의 주소 정보 및 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)의 경로 정보를 암호화하여 상기 사용자 단말로 송신하는 단계를 실행하기 위한 명령어들을 더 포함할 수 있다.
상기 컨텐츠 복호화 키는, 시분할(time-sharing) 된 컨텐츠 파일 각각에 대응되는 복호화 키일 수 있다.
일 실시예에 따른 DRM 서버는, 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 컴퓨팅 장치로서, 상기 프로그램은, 라이선스 서버로부터 사용자 단말에 대한 라이선스 유효성 검증 결과를 수신하는 단계; 상기 사용자 단말에 대한 라이선스가 유효한 것으로 판단되는 경우, DRM 서버의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화하는 단계; 및 암호화된 컨텐츠 복호화 키를 상기 라이선스 서버로 송신하는 단계를 실행하기 위한 명령어들을 포함한다.
상기 수신하는 단계는, 상기 라이선스 서버로부터 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나를 추가로 수신할 수 있고, 상기 암호화하는 단계는, 상기 컨텐츠 복호화 키를 암호화하되, 상기 사용자 단말의 기기 정보, 상기 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나에 기초하여 상기 컨텐츠 복호화 키의 복호화에 대한 접근 제약을 설정할 수 있다.
상기 프로그램은, HLS 포맷 또는 DASH 포맷에 기초하여 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)를 생성하는 단계를 실행하기 위한 명령어들을 더 포함할 수 있다.
상기 컨텐츠 복호화 키는, 시분할(time-sharing) 된 컨텐츠 파일 각각에 대응되는 복호화 키일 수 있다.
개시되는 실시예들에 따르면, 사용자 단말에서 직접 라이선스를 요청하기 위한 서명을 생성함으로써, 단순히 디지털 컨텐츠를 암호화하는 종래의 디지털 컨텐츠 보안 방식에 비해 디지털 컨텐츠의 무분별한 다운로드를 방지할 수 있다.
또한 개시되는 실시예들에 따르면, 암호화된 디지털 컨텐츠의 재생에 필요한 복호화 키를 DRM 서버의 비밀키로 한번 더 암호화함으로써, 종래의 암호화 키를 이용한 디지털 컨텐츠 보안 방식보다 효과적으로 디지털 컨텐츠의 불법 추출을 방지할 수 있다.
도 1은 일 실시예에 따른 DRM 패키징 시스템을 설명하기 위한 블록도
도 2는 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 3은 일 실시예에 따라 라이선스 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도
도 4는 추가적인 실시예에 따라 라이선스 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도
도 5는 일 실시예에 따라 DRM 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도
도 6은 추가적인 실시예에 따라 DRM 서버에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도
도 7은 일 실시예에 따른 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 개괄적으로 설명하기 위한 순서도
이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 개시되는 실시예들은 이에 제한되지 않는다.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 개시되는 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 개시되는 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다.
특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다.
도 1은 일 실시예에 따른 DRM 패키징 시스템을 설명하기 위한 블록도이다.
도시된 바와 같이, 일 실시예에 따른 DRM 패키징 시스템은 컨텐츠 서버(120), 라이선스 서버(130) 및 DRM 서버(140)를 포함한다.
도시된 실시예에서, 각 구성들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 구성을 포함할 수 있다.
또한, 일 실시예에서, 컨텐츠 서버(120), 라이선스 서버(130) 및 DRM 서버(140)는 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.
사용자 단말(110)은 실시간 주문형 디지털 컨텐츠를 주문하되, 입력장치를 통한 사용자의 입력에 따라 연산을 수행하며, 출력장치를 통해 결과를 출력하는 하드웨어를 의미한다. 예를 들어, 사용자 단말(110)은 개인용 컴퓨터(Personal Computer), 랩탑(Laptop Computer), 스마트폰(Smart Phone), 태블릿(Tablet) PC, 스마트 밴드(Smart Band)나 스마트 워치(Smart Watch) 등의 웨어러블 디바이스(Wearable Device)의 형태일 수 있다. 이외에도 상기 정의를 만족하는 하드웨어라면 사용자 단말(110)에 속하는 것으로 해석된다.
컨텐츠 서버(120)는 사용자 단말(110)이 주문한 디지털 컨텐츠와 해당 디지털 컨텐츠에 적용된 암호화를 해제(복호화)하기 위해 필요한 키(key)를 패키징(packaging)하는 하드웨어를 의미한다.
일 실시예에 따르면, 컨텐츠 서버(120)는 컨텐츠 제공 서비스 플랫폼에서 제공되는 디지털 컨텐츠들을 컨텐츠 서버(120) 내의 저장 공간에 저장하거나, 컨텐츠 서버(120)와 연동된 별도의 데이터베이스(미도시) 상에 저장할 수 있다.
일 실시예에 따르면, 컨텐츠 서버(120)는 컨텐츠 제공 서비스 플랫폼에서 제공되는 디지털 컨텐츠들을 기 설정된 시간 간격으로 시분할(time-sharing) 할 수 있다. 다만, 컨텐츠 서버(120)는 사용자의 디지털 컨텐츠 주문과는 무관하게 사전에 디지털 컨텐츠들에 대한 시분할을 수행할 수도 있고, 사용자로부터 디지털 컨텐츠 주문이 요청된 이후에 비로소 이에 해당하는 디지털 컨텐츠에 대하여 시분할을 수행할 수도 있다.
라이선스 서버(130)는 사용자 단말(110)이 디지털 컨텐츠를 주문하는 경우, 해당 사용자 단말(110)에 대한 라이선스의 유효성을 검증하는 하드웨어를 의미한다.
일 실시예에 따르면, 사용자 단말(110)은 디지털 컨텐츠의 주문과 함께 라이선스 서버(130)로 라이선스 요청 서명을 송신하고, 라이선스 서버(130)는 수신한 라이선스 요청 서명에 기초하여 사용자 단말(110)에 대한 라이선스의 유효성을 검증할 수 있다.
이하의 실시예들에서, '라이선스의 유효성을 검증'함은 디지털 컨텐츠를 주문한 사용자 단말(110)로 로그인한 사용자 계정이 해당 디지털 컨텐츠에 대해 기 설정된 유형의 작업 권한이 있는지 판단하는 일련의 절차를 의미할 수 있다.
DRM 서버(140)는 사전에 설정된 DRM(Digital Rights Management) 조건에 따라 사용자 단말(110)이 주문한 디지털 컨텐츠에 대해 사용자 단말(110)의 기종에 따른 제한, 디지털 컨텐츠의 유효 기간에 따른 제한 등을 부여하는 하드웨어를 의미한다.
이때, DRM 조건의 종류나 조건마다의 상세는 실시예에 따라 다양하게 설정될 수 있음에 유의해야 한다.
이하의 실시예들에서, 상술한 컨텐츠 서버(120), 라이선스 서버(130) 및 DRM 서버(140)는 통신 네트워크(150)를 통해 디지털 컨텐츠의 DRM 패키징을 위한 정보를 주고받는다. 이때, 통신 네트워크(150)는 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wire area networks), 셀룰러 네트워크, 모바일 네트워크, 그 밖에 다른 종류의 네트워크들, 또는 이러한 네트워크들의 조합을 포함할 수 있다.
도 2는 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 사용자 단말(110)일 수 있다. 또한, 컴퓨팅 장치(12)는 컨텐츠 서버(120)일 수 있다. 또한, 컴퓨팅 장치(12)는 라이선스 서버(130)일 수도 있으며, DRM 서버(140)일 수도 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
도 3은 일 실시예에 따라 라이선스 서버(130)에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도이다.
우선, 라이선스 서버(130)는 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 단말(110)로 서명용 인증서와 서명용 키를 송신한다(310).
일 실시예에 따르면, 라이선스 서버(130)가 송신하는 서명용 인증서는 사설인증서(예를 들어, 공동인증서)일 수 있고, 서명용 키는 1024비트의 키일 수 있다.
이후, 라이선스 서버(130)는 사용자 단말(110)로부터 서명용 인증서와 서명용 키에 기초하여 생성된 라이선스 요청 서명을 수신한다(320).
일 실시예에 따르면, 라이선스 서버(130)는 사용자 단말(110)로부터 수신한 컨텐츠의 식별 정보(또는 컨텐츠의 식별 정보의 해시 값)와, 320 단계에서 수신한 라이선스 요청 서명을 복호화하여 획득한 컨텐츠의 식별 정보(또는 컨텐츠의 식별 정보의 해시 값)를 비교하여 사용자가 주문한 디지털 컨텐츠를 특정할 수 있다.
일 실시예에 따르면, 라이선스 요청 서명은 서명 당시의 날짜 및 시간 정보, 사용자 단말(110)의 기기 정보, 사용자 계정의 식별 정보, 사용자 단말(110)이 요청하는 컨텐츠의 식별 정보 및 서명용 인증서가 서명용 키로 서명되어 생성될 수 있다.
구체적으로, 라이선스 요청 서명의 생성에 사용되는 '사용자 단말(110)의 기기 정보'는 사용자 단말(110)의 고유 값에 대해 해시 함수를 적용한 해시 값일 수 있다. 이때, '사용자 단말(110)의 고유 값'은 안드로이드(Android) 운영체제 기반의 기기인 경우에는 SSAID(Settings. Secure. Android ID), iOS 기반의 기기인 경우에는 UUID(Universally Unique Identifier), 윈도우(Windows) 또는 리눅스(Linux) 기반의 기기인 경우에는 해당 기기의 하드디스크 고유번호, 맥(Mac) 운영체제 기반의 기기인 경우에는 해당 기기의 일련번호일 수 있다. 다만, 사용자 단말(110)의 고유 값의 종류는 이에 한정되는 것은 아니며, 사용자 단말(110)을 식별할 수 있는 값이라면 형식의 제약을 받지 않고 사용자 단말(110)의 고유 값으로써 사용될 수 있음에 유의해야 한다.
한편, '사용자 계정의 식별 정보'는 각 컨텐츠 제공 서비스 플랫폼에서 가입된 사용자 계정 각각에 부여한 고유 값을 의미한다.
일 실시예에 따르면, 라이선스 요청 서명은 HMAC(Hash-based Message Authentication Code) 방식에 따라 생성될 수 있다.
이후, 라이선스 서버(130)는 수신한 라이선스 요청 서명에 기초하여 사용자 단말(110)에 대한 라이선스의 유효성을 검증한다(330).
일 실시예에 따르면, 라이선스 서버(130)는 라이선스의 유효성을 검증하기에 앞서, HTTP 프로토콜 기반의 인증 방식(예를 들어, Basic 인증 방식, Digest 인증 방식, SSL 클라이언트 인증 방식, 폼 베이스 인증 방식 등)을 이용하여 사용자 계정의 유효성을 검증할 수 있다.
이후, 라이선스 서버(130)는 DRM 서버(140)로 사용자 단말(110)에 대한 라이선스 유효성 검증 결과를 송신한다(340).
이후, 라이선스 서버(130)는 DRM 서버(140)로부터 DRM 서버(140)의 비밀키에 기초하여 암호화된 컨텐츠 복호화 키를 수신한다(350).
일 실시예에 따르면, 사용자 단말(110)이 요청하는 컨텐츠는 컨텐츠 서버(120)에 의해 시분할 될 수 있고, 이 경우 컨텐츠 복호화 키는 시분할 된 컨텐츠 파일 각각에 대응되는 복호화 키일 수 있다.
이후, 라이선스 서버(130)는 컨텐츠 서버(120)로 암호화된 컨텐츠 복호화 키를 송신한다(360).
도 4는 추가적인 실시예에 따라 라이선스 서버(130)에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도이다.
우선, 라이선스 서버(130)는 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 단말(110)로 서명용 인증서와 서명용 키를 송신한다(410).
이후, 라이선스 서버(130)는 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 계정의 유효성을 검증한다(420).
이후, 라이선스 서버(130)는 사용자 계정의 유효성이 검증된 경우, 라이선스 서버(130)의 주소 정보 및 사용자 단말(110)이 요청하는 컨텐츠에 대한 메타데이터(metadata)의 경로 정보를 암호화하여 사용자 단말(110)로 송신한다(430).
일 실시예에 따르면, 라이선스 서버(130)의 주소 정보 및 메타데이터의 경로 정보는 AES-256 방식에 기초하여 암호화될 수 있다.
일 실시예에 따르면, 암호화된 라이선스 서버(130)의 주소 정보 및 암호화된 메타데이터의 경로 정보는 json 형식의 인코딩 파일로 사용자 단말(110)에 제공될 수 있다.
이후, 라이선스 서버(130)는 사용자 단말(110)로부터 서명용 인증서와 서명용 키에 기초하여 생성된 라이선스 요청 서명을 수신한다(440).
이후, 라이선스 서버(130)는 수신한 라이선스 요청 서명에 기초하여 사용자 단말(110)에 대한 라이선스의 유효성을 검증한다(450).
이후, 라이선스 서버(130)는 DRM 서버(140)로 사용자 단말(110)에 대한 라이선스 유효성 검증 결과를 송신한다(460).
이후, 라이선스 서버(130)는 DRM 서버(140)로부터 DRM 서버(140)의 비밀키에 기초하여 암호화된 컨텐츠 복호화 키를 수신한다(470).
이후, 라이선스 서버(130)는 컨텐츠 서버(120)로 암호화된 컨텐츠 복호화 키를 송신한다(480).
일 실시예에 따르면, 라이선스 서버(130)는 암호화된 컨텐츠 복호화 키와 함께, 해당 암호화된 컨텐츠 복호화 키를 복호화하기 위한 DRM 서버(140)의 공개키의 유효기간에 대한 정보를 송신할 수 있다. 이 경우, 컨텐츠 서버(120)는 암호화된 컨텐츠 복호화 키 및 DRM 서버(140)의 공개키의 유효기간에 대한 정보를 사용자 단말(110)로 전달(전송)할 수 있다.
도 5는 일 실시예에 따라 DRM 서버(140)에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도이다.
우선, DRM 서버(140)는 라이선스 서버(130)로부터 사용자 단말(110)에 대한 라이선스 유효성 검증 결과를 수신한다(510).
일 실시예에 따르면, DRM 서버(140)는 라이선스 서버(130)로부터 라이선스 유효성 검증 결과 뿐만 아니라, 사용자 단말(110)의 기기 정보, 사용자 계정의 식별 정보 및 사용자 단말(110)이 요청하는 컨텐츠의 식별 정보 중 적어도 하나를 추가로 수신할 수 있다.
이후, 사용자 단말(110)에 대한 라이선스가 유효한 것으로 판단되는 경우, DRM 서버(140)는 DRM 서버(140)의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화한다(520, 530).
일 실시예에 따르면, DRM 서버(140)는 510 단계에 앞서서 사전에, 컨텐츠 복호화 키의 암호화 및 복호화를 위한 공개키 및 비밀키 쌍을 생성할 수 있다.
다른 실시예에 따르면, DRM 서버(140)는 520 단계에서 라이선스가 유효한 것으로 판단되는 경우, 비로소 컨텐츠 복호화 키의 암호화 및 복호화를 위한 공개키 및 비밀키 쌍을 생성할 수 있다.
일 실시예에 따르면, DRM 서버(140)는 컨텐츠 복호화 키의 복호화를 위한 공개키를 컨텐츠 서버(120) 및 라이선스 서버(130)에 바이너리 데이터(binary data) 형식으로 제공할 수 있다. 이를 통해, 공개키가 공유되는 과정에서 DRM 패키징 시스템 외부로 유출되는 것을 방지할 수 있다.
일 실시예에 따르면, DRM 서버(140)는 컨텐츠 복호화 키를 암호화하되, 사용자 단말(110)의 기기 정보, 사용자 계정의 식별 정보 및 사용자 단말(110)이 요청하는 컨텐츠의 식별 정보 중 적어도 하나에 기초하여 컨텐츠 복호화 키의 복호화에 대한 접근 제약을 설정할 수 있다.
예를 들어, DRM 서버(140)는 컨텐츠의 식별 정보에 기초하여 주문된 컨텐츠를 식별하며, 사용자 단말(110)의 기기 정보에 기초하여 사용자 단말(110)의 기종을 파악할 수 있다. 이후, DRM 서버(140)는 해당 주문된 컨텐츠에 있어서, 해당 사용자 단말(110)의 기종과 상이한 기종의 단말을 통해 컨텐츠 복호화 키의 복호화를 할 수 없도록 설정할 수 있다.
다른 예로써, DRM 서버(140)는 사용자 계정의 식별 정보를 이용하여 사용자 계정을 식별하고, 컨텐츠의 식별 정보에 기초하여 주문된 컨텐츠를 식별할 수 있다. 이후, DRM 서버(140)는 해당 주문된 컨텐츠에 있어서, 해당 사용자 계정을 통해 컨텐츠 복호화 키의 복호화가 가능한 기간의 제약을 설정할 수 있다.
이후, DRM 서버(140)는 암호화된 컨텐츠 복호화 키를 라이선스 서버(130)로 송신한다(540).
도 6은 추가적인 실시예에 따라 DRM 서버(140)에서 수행되는 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 설명하기 위한 순서도이다.
우선, DRM 서버(140)는 HLS 포맷 또는 DASH 포맷에 기초하여 사용자 단말(110)이 요청하는 컨텐츠에 대한 메타데이터를 생성한다(610).
이후, DRM 서버(140)는 라이선스 서버(130)로부터 사용자 단말(110)이 요청한 컨텐츠의 복호화를 위한 컨텐츠 복호화 키를 수신한다(620).
이후, 사용자 단말(110)에 대한 라이선스가 유효한 것으로 판단되는 경우, DRM 서버(140)는 DRM 서버(140)의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화한다(630, 640).
이후, DRM 서버(140)는 암호화된 컨텐츠 복호화 키를 라이선스 서버(130)로 송신한다(650).
도 7은 일 실시예에 따른 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법을 개괄적으로 설명하기 위한 순서도이다.
우선, 컨텐츠 서버(120)는 컨텐츠 서버(120) 내 저장 공간 또는 컨텐츠 서버(120)와 연동된 별도의 데이터베이스(미도시)에 저장된 디지털 컨텐츠들을 기 설정된 시간 간격으로 시분할하고(701), 시분할 된 디지털 컨텐츠들에 대한 컨텐츠 암호화 키 및 컨텐츠 복호화 키를 생성하고(702), 생성된 컨텐츠 암호화 키에 기초하여 시분할 된 디지털 컨텐츠들을 암호화한다(703).
이어서, 컨텐츠 제공 서비스를 이용하고자 하는 사용자(700)는 사용자 단말(120)을 통해 자신의 사용자 계정으로 컨텐츠 제공 서비스 플랫폼에 로그인한다(704).
이어서, 사용자 계정에 대한 로그인이 수행되면, 라이선스 서버(130)는 사용자 계정이 로그인 된 사용자 단말(110)로 서명용 인증서 및 서명용 키를 전송한다(705).
이어서, 사용자(700)는 디지털 컨텐츠를 주문하고(706), 이에 따라 사용자 단말(110)은 수신한 서명용 인증서 및 서명용 키에 기초하여 라이선스 요청 서명을 생성하고(707), 생성된 라이선스 요청 서명을 라이선스 서버(130)로 전송한다(708).
이어서, 라이선스 서버(130)는 수신한 라이선스 요청 서명에 기초하여 사용자 단말(110)에 대한 라이선스의 유효성을 검증한다(709).
이어서, 라이선스 서버(130)는 DRM 서버(140)로 사용자 단말(110)에 대한 라이선스 유효성 검증 결과를 전송한다(710).
이어서, DRM 서버(140)는 사용자 단말(110)에 대한 라이선스가 유효한 것으로 판단되는 경우, 주문된 디지털 컨텐츠의 컨텐츠 복호화 키에 대한 DRM 서버(140)의 공개키 및 비밀키를 생성한다(711). 비록 도 7에서는 DRM 서버(140)의 공개키 및 비밀키가 710 단계 이후에 생성되는 것으로 도시되었으나 이는 설명의 편의를 위한 것으로, 컨텐츠 복호화 키의 암호화 및 복호화에 사용되는 DRM 서버(140)의 공개키 및 비밀키는 706 단계 이전에 미리 생성될 수도 있다.
이어서, DRM 서버(140)는 711 단계에서 생성된 비밀키에 기초하여 컨텐츠 복호화 키를 암호화한다(712).
이어서, DRM 서버(140)는 암호화된 컨텐츠 복호화 키를 라이선스 서버(130)로 전송하고(713), 라이선스 서버(130)는 이를 수신하여 컨텐츠 서버(120)로 전송한다(714).
이어서, 컨텐츠 서버(120)는 시분할 된 디지털 컨텐츠 중 사용자(700)가 주문한 디지털 컨텐츠와, 711 단계에서 생성된 공개키 및 암호화된 컨텐츠 복호화 키를 패키징하고(715), 패키징 된 컨텐츠를 사용자 단말(110)로 전송한다(716).
이어서, 사용자 단말(110)은 711 단계에서 생성된 공개키로 암호화된 컨텐츠 복호화 키를 복호화하고, 이를 통해 획득한 컨텐츠 복호화 키를 이용하여 암호화된 디지털 컨텐츠를 복호화한 이후, 이를 재생한다(717).
일 실시예에 따르면, 사용자 단말(110)은 디지털 컨텐츠에 적용된 암호화를 해제(복호화)하는 데 실패한 경우, DRM 조건을 만족하지 못하여 디지털 컨텐츠로의 접근이 만료된 것으로 판단할 수 있다. 이 경우, 사용자 단말(110)은 사용자(700)에게 다시 컨텐츠를 주문해 줄 것을 요청하는 알림 또는 메시지를 제공할 수도 있고, 사용자(700)의 주문을 별도로 요청함이 없이 자동으로 707 단계부터 반복할 수 있다.
상기 도시된 순서도 도 3 내지 도 7에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 청구범위 뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
110: 사용자 단말
120: 컨텐츠 서버
130: 라이선스 서버
140: DRM 서버
150: 통신 네트워크

Claims (16)

  1. 하나 이상의 프로세서들, 및
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 라이선스 서버에서 수행되는 방법으로서,
    컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 단말로 서명용 인증서와 서명용 키를 송신하는 단계;
    상기 사용자 단말로부터 상기 서명용 인증서와 상기 서명용 키에 기초하여 생성된 라이선스 요청 서명을 수신하는 단계;
    상기 라이선스 요청 서명에 기초하여 상기 사용자 단말에 대한 라이선스의 유효성을 검증하는 단계;
    DRM(Digital Rights Management) 서버로 상기 사용자 단말에 대한 라이선스 유효성 검증 결과를 송신하는 단계;
    상기 DRM 서버로부터 상기 DRM 서버의 비밀키에 기초하여 암호화된 컨텐츠 복호화 키를 수신하는 단계; 및
    컨텐츠 서버로 상기 암호화된 컨텐츠 복호화 키를 송신하는 단계를 포함하는, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
  2. 청구항 1항에 있어서,
    상기 라이선스 요청 서명은,
    서명 당시의 날짜 및 시간 정보, 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보, 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 및 상기 서명용 인증서가 상기 서명용 키로 서명되어 생성되는, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
  3. 청구항 1항에 있어서,
    상기 라이선스 요청 서명을 수신하는 단계에 앞서,
    상기 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 계정의 유효성을 검증하는 단계; 및
    상기 사용자 계정의 유효성이 검증된 경우, 상기 라이선스 서버의 주소 정보 및 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)의 경로 정보를 암호화하여 상기 사용자 단말로 송신하는 단계를 더 포함하는, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
  4. 청구항 1항에 있어서,
    상기 컨텐츠 복호화 키는,
    시분할(time-sharing)된 컨텐츠 파일 각각에 대응되는 복호화 키인, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
  5. 하나 이상의 프로세서들, 및
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 DRM 서버에서 수행되는 방법으로서,
    라이선스 서버로부터 사용자 단말에 대한 라이선스 유효성 검증 결과를 수신하는 단계;
    상기 사용자 단말에 대한 라이선스가 유효한 것으로 판단되는 경우, 상기 DRM 서버의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화하는 단계; 및
    암호화된 컨텐츠 복호화 키를 상기 라이선스 서버로 송신하는 단계를 포함하는, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
  6. 청구항 5항에 있어서,
    상기 수신하는 단계는,
    상기 라이선스 서버로부터 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나를 추가로 수신하고,
    상기 암호화하는 단계는,
    상기 컨텐츠 복호화 키를 암호화하되, 상기 사용자 단말의 기기 정보, 상기 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나에 기초하여 상기 컨텐츠 복호화 키의 복호화에 대한 접근 제약을 설정하는, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
  7. 청구항 5항에 있어서,
    HLS 포맷 또는 DASH 포맷에 기초하여 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)를 생성하는 단계를 더 포함하는, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
  8. 청구항 5항에 있어서,
    상기 컨텐츠 복호화 키는,
    시분할(time-sharing)된 컨텐츠 파일 각각에 대응되는 복호화 키인, 실시간 주문형 디지털 컨텐츠의 DRM 패키징 방법.
  9. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 컴퓨팅 장치로서,
    상기 프로그램은,
    컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 단말로 서명용 인증서와 서명용 키를 송신하는 단계;
    상기 사용자 단말로부터 상기 서명용 인증서와 상기 서명용 키에 기초하여 생성된 라이선스 요청 서명을 수신하는 단계;
    상기 라이선스 요청 서명에 기초하여 상기 사용자 단말에 대한 라이선스의 유효성을 검증하는 단계;
    DRM(Digital Rights Management) 서버로 상기 사용자 단말에 대한 라이선스 유효성 검증 결과를 송신하는 단계;
    상기 DRM 서버로부터 상기 DRM 서버의 비밀키에 기초하여 암호화된 컨텐츠 복호화 키를 수신하는 단계; 및
    컨텐츠 서버로 상기 암호화된 컨텐츠 복호화 키를 송신하는 단계를 실행하기 위한 명령어들을 포함하는, 라이선스 서버.
  10. 청구항 9항에 있어서,
    상기 라이선스 요청 서명은,
    서명 당시의 날짜 및 시간 정보, 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보, 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 및 상기 서명용 인증서가 상기 서명용 키로 서명되어 생성되는, 라이선스 서버.
  11. 청구항 9항에 있어서,
    상기 프로그램은,
    상기 라이선스 요청 서명을 수신하는 단계에 앞서,
    상기 컨텐츠 제공 서비스 플랫폼에 로그인한 사용자 계정의 유효성을 검증하는 단계; 및
    상기 사용자 계정의 유효성이 검증된 경우, 상기 라이선스 서버의 주소 정보 및 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)의 경로 정보를 암호화하여 상기 사용자 단말로 송신하는 단계를 실행하기 위한 명령어들을 더 포함하는, 라이선스 서버.
  12. 청구항 9항에 있어서,
    상기 컨텐츠 복호화 키는,
    시분할(time-sharing)된 컨텐츠 파일 각각에 대응되는 복호화 키인, 라이선스 서버.
  13. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 컴퓨팅 장치로서,
    상기 프로그램은,
    라이선스 서버로부터 사용자 단말에 대한 라이선스 유효성 검증 결과를 수신하는 단계;
    상기 사용자 단말에 대한 라이선스가 유효한 것으로 판단되는 경우, DRM 서버의 비밀키에 기초하여 컨텐츠 복호화 키를 암호화하는 단계; 및
    암호화된 컨텐츠 복호화 키를 상기 라이선스 서버로 송신하는 단계를 실행하기 위한 명령어들을 포함하는, DRM 서버.
  14. 청구항 13항에 있어서,
    상기 수신하는 단계는,
    상기 라이선스 서버로부터 상기 사용자 단말의 기기 정보, 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나를 추가로 수신하고,
    상기 암호화하는 단계는,
    상기 컨텐츠 복호화 키를 암호화하되, 상기 사용자 단말의 기기 정보, 상기 사용자 계정의 식별 정보 및 상기 사용자 단말이 요청하는 컨텐츠의 식별 정보 중 적어도 하나에 기초하여 상기 컨텐츠 복호화 키의 복호화에 대한 접근 제약을 설정하는, DRM 서버.
  15. 청구항 13항에 있어서,
    상기 프로그램은,
    HLS 포맷 또는 DASH 포맷에 기초하여 상기 사용자 단말이 요청하는 컨텐츠에 대한 메타데이터(metadata)를 생성하는 단계를 실행하기 위한 명령어들을 더 포함하는, DRM 서버.
  16. 청구항 13항에 있어서,
    상기 컨텐츠 복호화 키는,
    시분할(time-sharing)된 컨텐츠 파일 각각에 대응되는 복호화 키인, DRM 서버.
KR1020210052648A 2021-04-22 2021-04-22 실시간 주문형 디지털 컨텐츠의 drm 패키징 방법과 이를 실행하기 위한 컴퓨팅 장치 KR102305691B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210052648A KR102305691B1 (ko) 2021-04-22 2021-04-22 실시간 주문형 디지털 컨텐츠의 drm 패키징 방법과 이를 실행하기 위한 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210052648A KR102305691B1 (ko) 2021-04-22 2021-04-22 실시간 주문형 디지털 컨텐츠의 drm 패키징 방법과 이를 실행하기 위한 컴퓨팅 장치

Publications (1)

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

Family

ID=77923057

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210052648A KR102305691B1 (ko) 2021-04-22 2021-04-22 실시간 주문형 디지털 컨텐츠의 drm 패키징 방법과 이를 실행하기 위한 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR102305691B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060064469A (ko) * 2004-12-08 2006-06-13 한국전자통신연구원 멀티캐스트 방식으로 스트리밍 서비스되는 동영상 파일의보호 장치 및 그 방법
KR20070076108A (ko) 2006-01-17 2007-07-24 신용태 스트리밍 콘텐츠 패키저
KR100984440B1 (ko) * 2003-02-11 2010-09-29 마이크로소프트 코포레이션 디지탈 라이센스 발행 방법 및 컴퓨터 판독 가능 기록 매체
KR101952139B1 (ko) * 2016-10-20 2019-02-26 주식회사 파수닷컴 사용자 단말과 연동된 게이트웨이 서버에서 drm 기능을 제공하는 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100984440B1 (ko) * 2003-02-11 2010-09-29 마이크로소프트 코포레이션 디지탈 라이센스 발행 방법 및 컴퓨터 판독 가능 기록 매체
KR20060064469A (ko) * 2004-12-08 2006-06-13 한국전자통신연구원 멀티캐스트 방식으로 스트리밍 서비스되는 동영상 파일의보호 장치 및 그 방법
KR20070076108A (ko) 2006-01-17 2007-07-24 신용태 스트리밍 콘텐츠 패키저
KR101952139B1 (ko) * 2016-10-20 2019-02-26 주식회사 파수닷컴 사용자 단말과 연동된 게이트웨이 서버에서 drm 기능을 제공하는 방법

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
CN108604262B (zh) 保护网页、网络应用程序和应用程序
US9853957B2 (en) DRM protected video streaming on game console with secret-less application
US20220286440A1 (en) Secure Media Delivery
US9177112B2 (en) Method and device for communicating digital content
KR20190108580A (ko) 서명키를 사용한 신뢰 실행 환경의 어드레싱 기법
EP1805638A1 (en) Contents encryption method, system and method for providing contents through network using the encryption method
EP1277300A1 (en) System and method for controlling and enforcing access rights to encrypted media
CN110611657A (zh) 一种基于区块链的文件流处理的方法、装置及***
EP2289013B1 (en) A method and a device for protecting private content
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 (zh) 使用洁净室供应来寻址可信执行环境
CN107920060B (zh) 基于账号的数据访问方法和装置
CN111901287B (zh) 一种为轻应用提供加密信息的方法、装置和智能设备
CN114547648A (zh) 一种数据匿踪查询方法及***
KR102305691B1 (ko) 실시간 주문형 디지털 컨텐츠의 drm 패키징 방법과 이를 실행하기 위한 컴퓨팅 장치
CN110602075A (zh) 一种加密访问控制的文件流处理的方法、装置及***
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
KR101701625B1 (ko) 암호화된 컨텐츠의 복호화 키를 안전하게 획득하여 컨텐츠를 재생하기 위한 방법 및 시스템
US12047496B1 (en) Noncustodial techniques for granular encryption and decryption
US20240250807A1 (en) Noncustodial techniques for granular encryption and decryption
US20210135853A1 (en) Apparatus and method for data security
CN116226792A (zh) 基于tee的软件授权的方法及***

Legal Events

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