KR20170047853A - Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법 - Google Patents

Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법 Download PDF

Info

Publication number
KR20170047853A
KR20170047853A KR1020150148447A KR20150148447A KR20170047853A KR 20170047853 A KR20170047853 A KR 20170047853A KR 1020150148447 A KR1020150148447 A KR 1020150148447A KR 20150148447 A KR20150148447 A KR 20150148447A KR 20170047853 A KR20170047853 A KR 20170047853A
Authority
KR
South Korea
Prior art keywords
content
encryption
key
wbc
encrypted
Prior art date
Application number
KR1020150148447A
Other languages
English (en)
Other versions
KR101790948B1 (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 KR1020150148447A priority Critical patent/KR101790948B1/ko
Priority to CN201510917452.0A priority patent/CN106612170A/zh
Priority to US14/980,521 priority patent/US20170116393A1/en
Publication of KR20170047853A publication Critical patent/KR20170047853A/ko
Application granted granted Critical
Publication of KR101790948B1 publication Critical patent/KR101790948B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1066Hiding content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Finance (AREA)
  • Storage Device Security (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

DRM 서비스 제공 장치 및 방법, 콘텐츠 재생 장치 및 방법이 개시된다. 본 발명의 일 실시예에 따른 DRM 서비스 제공 장치는, 제 1 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 암호화 및 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 콘텐츠를 암호화하는 제 1 암호화부, 제 2 비밀키가 내재된 제 2 WBC 기반 암호화를 이용하여 상기 콘텐츠 암호키를 암호화하는 제 2 암호화부 및 상기 암호화된 콘텐츠 및 상기 암호화된 콘텐츠 암호키를 등록된 사용자의 콘텐츠 재생 장치로 전송하는 전송부를 포함한다.

Description

DRM 서비스 제공 장치 및 방법, DRM 서비스를 이용한 콘텐츠 재생 장치 및 방법{APPARATUS AND METHOD FOR PROVIDING DRM SERVICE, APPARATUS AND METHOD FOR PLAYING CONTENTS USING DRM SERVICE}
개시되는 실시예들은 DRM 서비스 제공을 위한 기술과 관련된다.
기존 DRM(Digital Rights Management) 서비스는 콘텐츠를 암호화하여 안전하게 전송하기 위해 공개키 암호와 대칭키 암호를 병행하여 사용했으며, 암호키를 보호하기 위해 WBC(White-Box Cryptography) 암호 알고리즘을 추가로 사용하기도 했다.
기존의 이러한 방식은 모든 종류의 암호 알고리즘을 사용하여 구조가 복잡하고 해커들의 메모리 공격에 주요 키가 노출되어 많은 콘텐츠가 불법 유통되는 문제점이 발생한다.
미국등록특허 제8259934호
개시되는 실시예들은 DRM 서비스 제공 장치 및 방법과 콘텐츠 재생 장치 및 방법을 제공한다.
본 발명의 일 실시예에 따른 DRM 서비스 제공 장치는, 제 1 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 암호화 및 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 콘텐츠를 암호화하는 제 1 암호화부, 제 2 비밀키가 내재된 제 2 WBC 기반 암호화를 이용하여 상기 콘텐츠 암호키를 암호화하는 제 2 암호화부 및 상기 암호화된 콘텐츠 및 상기 암호화된 콘텐츠 암호키를 등록된 사용자의 콘텐츠 재생 장치로 전송하는 전송부를 포함한다.
상기 암호화된 콘텐츠는, 상기 제 1 WBC 기반 암호화에 의해 암호화된 제 1 암호문 및 상기 대칭키 기반 암호화에 의해 암호화된 제 2 암호문을 포함할 수 있다.
상기 제 1 암호화부는, 상기 콘텐츠의 일부 또는 시드 값에 상기 제 1 WBC 기반 암호화를 적용하여 상기 제 1 암호문을 생성하고, 상기 콘텐츠 중 상기 제 1 WBC 암호화가 적용되지 않은 부분에 상기 대칭키 기반 암호화를 적용하여 상기 제 2 암호문을 생성할 수 있다.
상기 제 1 암호화부는, 상기 콘텐츠의 일부 또는 시드 값을 상기 제 2 암호문 생성을 위해 이용할 수 있다.
상기 시드 값은, 초기화 벡터 또는 카운터 값일 수 있다.
상기 제 1 비밀키는, 서버 비밀키일 수 있다.
상기 제 2 비밀키는, 사용자 비밀키일 수 있다.
본 발명의 일 실시예에 따른 DRM 서비스 제공 방법은, 제 1 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 암호화 및 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 콘텐츠를 암호화하는 단계, 상기 암호화된 콘텐츠를 등록된 사용자의 콘텐츠 재생 장치로 전송하는 단계, 제 2 비밀키가 내재된 제 2 WBC 기반 암호화를 이용하여 상기 콘텐츠 암호키를 암호화하는 단계 및 암호화된 콘텐츠 암호키를 등록된 사용자의 콘텐츠 재생 장치로 전송하는 단계를 포함한다.
상기 암호화된 콘텐츠는, 상기 제 1 WBC 기반 암호화에 의해 암호화된 제 1 암호문 및 상기 대칭키 기반 암호화에 의해 암호화된 제 2 암호문을 포함할 수 있다.
상기 콘텐츠를 암호화하는 단계는, 상기 콘텐츠의 일부 또는 시드 값에 상기 제 1 WBC 기반 암호화를 적용하여 상기 제 1 암호문을 생성하는 단계 및 상기 콘텐츠 중 상기 제 1 WBC 암호화가 적용되지 않은 부분에 상기 대칭키 기반 암호화를 적용하여 상기 제 2 암호문을 생성하는 단계를 포함할 수 있다.
상기 제 2 암호문을 생성하는 단계는, 상기 콘텐츠의 일부 또는 시드 값을 상기 제 2 암호문 생성을 위해 이용할 수 있다.
상기 시드 값은, 초기화 벡터 또는 카운터 값일 수 있다.
상기 제 1 비밀키는, 서버 비밀키일 수 있다.
상기 제 2 비밀키는, 사용자 비밀키일 수 있다.
본 발명의 일 실시예에 따른 콘텐츠 재생 장치는, DRM 서비스 제공 장치로부터 암호화된 콘텐츠 및 상기 암호화된 콘텐츠 암호화를 위해 사용된 콘텐츠 암호키에 대한 암호문을 수신하는 수신부, 제 2 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 복호화를 이용하여 상기 콘텐츠 암호키에 대한 암호문을 복호화하는 제 1 복호화부 및 제 1 비밀키가 내재된 제 2 WBC 기반 복호화 및 상기 콘텐츠 암호키를 이용한 대칭키 기반 복호화를 이용하여 상기 암호화된 콘텐츠를 복호화하는 제 2 복호화부를 포함한다.
상기 암호화된 콘텐츠는, 상기 제 1 비밀키가 내재된 WBC 기반 암호화를 이용하여 암호화된 제 1 암호문 및 상기 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 암호화된 제 2 암호문을 포함하며, 상기 제 2 복호화부는, 상기 제 1 암호문에 상기 제 2 WBC 기반 복호화를 적용하고, 상기 제 2 암호문에 상기 대칭키 기반 복호화를 적용하여 상기 암호화된 콘텐츠를 복호화할 수 있다.
상기 제 2 복호화부는, 상기 제 2 WBC 기반 복호화에 의해 복호화된 정보를 상기 제 2 암호문의 복호화를 위해 이용할 수 있다.
상기 복호화된 정보는, 콘텐츠의 일부 또는 시드 값일 수 있다.
상기 시드 값은, 초기화 벡터 또는 카운터 값일 수 있다.
상기 제 1 비밀키는, 서버 비밀키일 수 있다.
상기 제 2 비밀키는, 사용자 비밀키일 수 있다.
본 발명의 일 실시예에 따른 콘텐츠 재생 방법은, DRM 서비스 제공 장치로부터 암호화된 콘텐츠를 수신하는 단계, 상기 암호화된 콘텐츠 암호화를 위해 사용된 콘텐츠 암호키에 대한 암호문을 수신하는 단계, 제 2 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 복호화를 이용하여 상기 콘텐츠 암호키에 대한 암호문을 복호화하는 단계 및 제 1 비밀키가 내재된 제 2 WBC 기반 복호화 및 상기 콘텐츠 암호키를 이용한 대칭키 기반 복호화를 이용하여 상기 암호화된 콘텐츠를 복호화하는 단계를 포함한다.
상기 암호화된 콘텐츠는, 상기 제 1 비밀키가 내재된 WBC 기반 암호화를 이용하여 암호화된 제 1 암호문 및 상기 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 암호화된 제 2 암호문을 포함하며, 상기 암호화된 콘텐츠를 복호화하는 단계는, 상기 제 1 암호문에 상기 제 2 WBC 기반 복호화를 적용하고, 상기 제 2 암호문에 상기 대칭키 기반 복호화를 적용하여 상기 암호화된 콘텐츠를 복호화할 수 있다.
상기 암호화된 콘텐츠를 복호화하는 단계는, 상기 제 2 WBC 기반 복호화에 의해 복호화된 정보를 상기 제 2 암호문의 복호화를 위해 이용할 수 있다.
상기 복호화된 정보는, 콘텐츠의 일부 또는 시드 값일 수 있다.
상기 시드 값은, 초기화 벡터 또는 카운터 값일 수 있다.
상기 제 1 비밀키는, 서버 비밀키일 수 있다.
상기 제 2 비밀키는, 사용자 비밀키일 수 있다.
본 발명의 일 실시예에 따른 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램은, 하드웨어와 결합되어, 제 1 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 암호화 및 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 콘텐츠를 암호화하는 단계, 상기 암호화된 콘텐츠를 등록된 사용자의 콘텐츠 재생 장치로 전송하는 단계, 제 2 비밀키가 내재된 제 2 WBC 기반 암호화를 이용하여 상기 콘텐츠 암호키를 암호화하는 단계 및 암호화된 콘텐츠 암호키를 등록된 사용자의 콘텐츠 재생 장치로 전송하는 단계를 실행시킨다.
본 발명의 일 실시예에 따른 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램은, 하드웨어와 결합되어, DRM 서비스 제공 장치로부터 암호화된 콘텐츠를 수신하는 단계, 상기 암호화된 콘텐츠 암호화를 위해 사용된 콘텐츠 암호키에 대한 암호문을 수신하는 단계, 제 2 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 복호화를 이용하여 상기 콘텐츠 암호키에 대한 암호문을 복호화하는 단계 및 제 1 비밀키가 내재된 제 2 WBC 기반 복호화 및 상기 콘텐츠 암호키를 이용한 대칭키 기반 복호화를 이용하여 상기 암호화된 콘텐츠를 복호화하는 단계를 실행시킨다.
본 발명의 실시예들에 따르면, 기존 DRM에서 사용되는 공개키 암호 알고리즘을 사용하지 않아 콘텐츠 암호화를 위한 구조가 간단하며, 화이트 박스 암호 알고리즘을 이용하여 콘텐츠 암호화에 이용되는 비밀키를 보호함으로써, 메모리 공격에도 해당 비밀키가 노출되지 않으므로, DRM 서비스의 안전성과 속도를 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 DRM 서비스 제공 시스템의 구성도
도 2는 본 발명의 일 실시예에 따른 DRM 서비스 제공 장치의 구성도
도 3은 본 발명의 일 실시예에 따른 콘텐츠 재생 장치의 구성도
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 PCBC(Propagating Cipher Block Chaining) 모드를 설명하기 위한 도면
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 OFB(Output Feedback) 모드를 설명하기 위한 도면
도 6a 및 도 6b는 본 발명의 일 실시예에 따른 PCBC 모드를 설명하기 위한 도면
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 OFB 모드를 설명하기 위한 도면,
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 카운터(counter) 모드를 설명하기 위한 도면,
도 9은 본 발명의 일 실시예에 따른 DRM 서비스 제공 방법의 순서도
도 10은 본 발명의 일 실시예에 따른 콘텐츠 재생 방법의 순서도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 DRM 서비스 제공 시스템의 구성도이다.
도 1을 참조하면, DRM 서비스 제공 시스템(10)는 DRM 서비스 제공 장치(100) 및 콘텐츠 재생 장치(200)를 포함한다.
DRM 서비스 제공 장치(100)는 콘텐츠를 암호화하여 콘텐츠 재생 장치(300)로 암호화된 콘텐츠를 제공하고, 콘텐츠 암호화에 사용된 콘텐츠 암호키를 암호화하여 콘텐츠 재생 장치(300)로 제공하기 위한 것으로, DRM 서비스를 제공하기 위한 서버 내지는 해당 서버에 포함된 일 구성으로 구현될 수 있다.
콘텐츠 재생 장치(300)는 유/무선 네트워크를 통해 DRM 서비스 제공 장치(100)로부터 암호화된 콘텐츠와 암호화된 콘텐츠를 복호화하기 위한 콘텐츠 암호키에 대한 암호문을 수신하여 암호화된 콘텐츠 복호화한 후 재생하기 위한 것으로, 예를 들어, 셋톱 박스, 랩톱 PC, 데스크톱 PC, 스마트 폰, PDA, 스마트 TV 등 다양한 형태의 장치에 포함된 일 구성으로 구현될 수 있다.
한편, 본 발명의 일 실시예에 따르면, 암호화된 콘텐츠와 콘텐츠 암호키에 대한 암호문 전송 이전에 DRM 서비스 제공을 위한 셋업(setup) 단계로서, DRM 서비스 제공 장치(100)와 콘텐츠 재생 장치(300)는 사용자 등록, DRM 서비스를 위한 애플리케이션 배포, 암호 알고리즘의 배포 등을 수행할 수 있다.
예를 들어, 콘텐츠 재생 장치(300)는 DRM 서비스 제공 장치(100)로 DRM 서비스를 제공받기 위한 사용자 등록을 요청하고, DRM 서비스 제공 장치(100)는 사용자 등록 요청에 따라 해당 사용자를 등록할 수 있다.
이후, DRM 서비스 제공 장치(100)는 콘텐츠 암/복호화를 위한 암호 알고리즘과 콘텐츠 암호키를 암/복호화하기 위한 암호 알고리즘을 생성하여 등록된 사용자의 콘텐츠 재생 장치(300)로 배포할 수 있다.
이때, 콘텐츠 암/복호화를 위한 암호 알고리즘은 제 1 비밀키가 내재된 화이트 박스 암호(White-Box Cryptograph, 이하 WBC) 기반 암호화와 콘텐츠에 대한 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 콘텐츠를 암호화하도록 설계된 암호 알고리즘일 수 있다.
이때, 제 1 비밀키는 예를 들어, 임의의 비트열로 구성될 수 있으며, 암호화할 콘텐츠 내지는 암호화된 콘텐츠를 전송받을 콘텐츠 재생 장치(300)의 사용자와 무관하게 동일한 값이 이용될 수 있다. 구체적인 예로, 제 1 비밀키는 DRM 서비스 제공 장치(100)에 의해 생성된 서버 비밀키일 수 있다.
한편, 콘텐츠 암호키를 암/복호화하기 위한 암호 알고리즘은 제 2 비밀키가 내재된 WBC 기반 암호화를 이용하여 콘텐츠 암호키를 암호화하도록 설계된 암호 알고리즘일 수 있다.
이때, 제 2 비밀키는 예를 들어, 임의의 비트열로 구성될 수 있으며, 등록된 사용자마다 상이한 값이 이용될 수 있다. 구체적인 예로, 제 2 비밀키는 예를 들어, 사용자 등록 시 각 사용자에 대하여 DRM 서비스 제공 장치(100)에 의해 생성된 사용자 비밀키일 수 있다.
한편, 본 발명의 일 실시예에 따르면, 상술한 셋업 단계 이후, DRM 서비스 제공 장치(100)는 콘텐츠 암호키를 생성하여, 생성된 콘텐츠 암호키와 콘텐츠 암/복호화를 위한 암호 알고리즘을 이용하여 콘텐츠를 암호화하고, 암호화된 콘텐츠를 등록된 사용자의 콘텐츠 재생 장치(300)로 제공할 수 있다. 이때, 콘텐츠 암호키는 암호화될 콘텐츠별로 상이한 값으로 생성될 수 있다.
암호화된 콘텐츠를 제공받은 콘텐츠 재생 장치(300)의 사용자는 암호화된 콘텐츠 실행을 위해 DRM 서비스 제공 장치(100)로 사용자 인증을 수행하고, 인증이 성공된 경우, DRM 서비스 제공 장치(100)는 콘텐츠 암호키 암/복호화를 위한 암호 알고리즘을 이용하여 콘텐츠 암호키를 암호화하여 인증된 사용자의 콘텐츠 재생 장치(300)로 제공할 수 있다.
암호화된 콘텐츠 암호키를 제공받은 콘텐츠 재생 장치(300)는 DRM 서비스 제공 장치(100)에 의해 배포된 콘텐츠 암호키 암/복호화를 위한 암호 알고리즘을 이용하여 암호화된 콘텐츠 암호키를 복호화할 수 있다.
이후, 콘텐츠 재생 장치(300)는 복호화된 콘텐츠 암호키와 DRM 서비스 제공 장치(100)에 의해 배포된 콘텐츠 암/복호화를 위한 암호 알고리즘을 이용하여 암호화된 콘텐츠를 복호화한 후 실행할 수 있다.
도 2는 본 발명의 일 실시예에 따른 DRM 서비스 제공 장치(100)의 구성도이다.
도 2를 참조하면, DRM 서비스 제공 장치(100)는 제 1 암호화부(110), 제 2 암호화부(130) 및 전송부(150)를 포함한다.
제 1 암호화부(110)는 제 1 비밀키가 내재된 WBC 기반 암호화와 콘텐츠에 대한 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 콘텐츠 재생 장치(300)로 제공될 콘텐츠를 암호화한다.
이때, 제 1 비밀키가 내재된 화이트 박스 암호 기반 암호화는 예를 들어, 제 1 비밀키가 암호화 알고리즘 내에 룩업 테이블의 형태로 숨겨진 화이트 박스 암호 알고리즘을 이용한 암호화를 의미할 수 있다.
또한, 대칭키 기반 암호화는 예를 들어, AES(Advanced Encryption Standard), DES(Data Encryption Standard), 3DES, Blowfish 등 다양한 방식의 종래 대칭키 기반 블록 암호 알고리즘을 이용한 암호화를 의미할 수 있다.
본 발명의 일 실시예에 따르면, 제 1 암호화부(110)는 콘텐츠의 일부 또는 시드 값에 제 1 비밀키가 내재된 WBC 기반 암호화를 적용하여 암호화하고, 콘텐츠의 나머지 부분(즉, 암호화되지 않은 부분)에 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 적용하여 암호화할 수 있다. 이에 따라, 제 1 암호화부(110)에 의해 암호화된 콘텐츠는 제 1 비밀키가 내재된 WBC 기반 암호화에 의해 암호화된 암호문과 대칭키 기반 암호화에 의해 암호화된 암호문을 포함하게 된다.
한편, 시드 값은 비트열로 표현 가능한 초기 입력 값을 의미하며, 예를 들어, 카운터 값 또는 임의의 비트열로 구성된 초기화 벡터 등을 포함할 수 있다.
한편, 본 발명의 일 실시예에 따르면, 제 1 암호화부(110)는 제 1 비밀키가 내재된 WBC 기반 암호화에 의해 암호화되는 콘텐츠의 일부 또는 시드 값을 대칭키 기반 암호화를 이용한 암호문 생성에 이용함으로써, 암호화된 콘텐츠의 복호화 시 서비키가 내재된 WBC 기반 암호화에 의해 암호화된 정보가 대칭키 기반 암호문의 복호화에 이용되도록 할 수 있다.
구체적으로, 제 1 암호화부(110)는 제 1 비밀키가 내재된 WBC 기반 암호화와 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용한 운영모드를 이용하여 콘텐츠를 블록 단위로 암호화할 수 있으며, 이때, 운영모드는 제 1 비밀키가 내재된 WBC 기반 암호화에 의해 암호화된 암호문의 복호화가 대칭키 기반 암호화에 의해 암호화된 암호문의 복호화에 필수적이도록 정의될 수 있다(이에 대한 상세한 설명은 후술하기로 한다). 따라서, 콘텐츠의 암호화 내지는 암호화된 콘텐츠의 복호화 시 메모리 공격에 의해 콘텐츠 암호키가 노출되더라도 메모리 상에 제 1 비밀키는 노출되지 않으며, WBC 기반 암호화에 의해 암호화된 암호문에 대한 복호화 없이는 암호화된 콘텐츠의 복호화가 불가능하게 된다.
제 2 암호화부(130)는 등록된 사용자에 대한 제 2 비밀키가 내재된 WBC 기반 암호화를 이용하여 제 1 암호화부(110)에서 콘텐츠 암호화를 위해 이용된 콘텐츠 암호키를 암호화할 수 있다.
이때, 제 2 비밀키가 내재된 WBC 기반 암호화는 예를 들어, 제 2 비밀키가 암호화 알고리즘 내에 룩업 테이블의 형태로 숨겨진 암호 알고리즘을 이용한 암호화를 의미할 수 있다.
전송부(150)는 제 1 암호화부(110)에서 생성된 암호화된 콘텐츠와 제 2 암호화부(130)에서 생성된 암호화된 콘텐츠 암호키를 등록된 사용자의 콘텐츠 재생 장치(300)로 전송한다.
도 3은 본 발명의 일 실시예에 따른 콘텐츠 재생 장치의 구성도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 콘텐츠 재생 장치(300)는 수신부(310), 제 1 복호화부(330) 및 제 2 복호화부(350)를 포함한다.
수신부(310)는 DRM 서비스 제공 장치(100)로부터 암호화된 콘텐츠 및 해당 암호화된 콘텐츠의 암호화를 위해 사용된 콘텐츠 암호키에 대한 암호문을 수신한다.
이때, 수신부(310)로 수신되는 암호화된 콘텐츠는 제 1 비밀키가 내재된 WBC 기반 암호화를 이용하여 암호화된 암호문과 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 암호화된 암호문을 포함할 수 있다.
제 1 복호화부(330)는 제 2 비밀키가 내재된 WBC 기반 복호화를 이용하여 콘텐츠 암호키에 대한 암호문을 복호화한다. 이때, 사용자의 비밀키가 내재된 WBC 기반 복호화는 예를 들어, 제 2 비밀키가 알고리즘 내에 룩업 테이블의 형태로 숨겨진 화이트 박스 암호 알고리즘을 이용한 복호화를 의미할 수 있다.
제 2 복호화부(350)는 암호화된 콘텐츠의 일부에 제 1 비밀키가 내재된 WBC 기반 복호화를 적용하고, 암호화된 콘텐츠의 나머지 부분(즉, WBC 기반 복호화에 의해 복호화되지 않은 부분)에 제 1 복호화부(330)에서 복호화된 콘텐츠 암호키를 이용한 대칭키 기반 복호화를 적용하여 암호화된 콘텐츠를 복호화한다. 이때, 제 1 비밀키가 내재된 WBC 기반 복호화는 예를 들어, 제 1 비밀키가 알고리즘 내에 룩업 테이블의 형태로 숨겨진 화이트 박스 암호 알고리즘을 이용한 복호화를 의미할 수 있다.
구체적으로, 제 2 복호화부(350)는 암호화된 콘텐츠 중 제 1 비밀키가 내재된 WBC 기반 암호화에 의해 암호화된 암호문에 제 1 비밀키가 내재된 WBC 기반 복호화를 적용하여 복호화하고, 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 암호화된 암호문에 제 1 복호화부(330)에서 복호화된 콘텐츠 암호키를 이용한 대칭키 기반 복호화를 적용하여 복호화함으로써, 암호화된 콘텐츠를 복호화할 수 있다.
이때, 본 발명의 일 실시예에 따르면, 제 2 복호화부(350)는 제 1 비밀키가 내재된 WBC 기반 복호화에 의해 복호화된 정보를 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 암호화된 암호문의 복호화를 위해 이용할 수 있다. 즉, 상술한 바와 같이, DRM 서비스 제공 장치(100)는 콘텐츠 암호화 시 제 1 비밀키가 내재된 WBC 기반 암호화에 의해 암호화되는 콘텐츠의 일부 또는 시드 값을 대칭키 기반 암호화를 이용한 암호문 생성에 이용하게 되므로, 암호화된 콘텐츠의 복호화를 위해서는 제 1 비밀키가 내재된 WBC 기반 암호화에 의해 암호화된 부분의 복호화가 선행되어야 한다.
구체적으로, 제 2 복호화부(350)는 제 1 비밀키가 내재된 WBC 기반 복호화와 콘텐츠 암호키를 이용한 대칭키 기반 복호화를 이용한 운영모드를 이용하여 암호화된 콘텐츠를 블록 단위로 복호화할 수 있으며, 이때, 운영모드는 제 1 비밀키가 내재된 WBC 기반 암호화에 의해 암호화된 암호문의 복호화가 대칭키 기반 암호화에 의해 암호화된 암호문의 복호화에 필수적이도록 정의될 수 있다(이에 대한 상세한 설명은 후술하기로 한다). 따라서, 암호화된 콘텐츠의 복호화 시 메모리 공격에 의해 콘텐츠 암호키가 노출되더라도 콘텐츠 재생 장치(300)의 메모리 상에 제 1 비밀키는 노출되지 않으며, WBC 기반 암호화에 의해 암호화된 암호문에 대한 복호화 없이는 암호화된 콘텐츠의 복호화가 불가능하게 된다.
한편, 일 실시예에서, 도 2 및 도 3에 도시된 제 1 암호화부(110), 제 2암호화부(130), 전송부(150), 수신부(310), 제 1 복호화부(330) 및 제 2 복호화부(350)는 하나 이상의 프로세서 및 그 프로세서와 연결된 컴퓨터 판독 가능 기록 매체를 포함하는 하나 이상의 컴퓨팅 장치 상에서 구현될 수 있다. 컴퓨터 판독 가능 기록 매체는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 컴퓨팅 장치 내의 프로세서는 각 컴퓨팅 장치로 하여금 본 명세서에서 기술되는 예시적인 실시예에 따라 동작하도록 할 수 있다. 예를 들어, 프로세서는 컴퓨터 판독 가능 기록 매체에 저장된 명령어를 실행할 수 있고, 컴퓨터 판독 가능 기록 매체에 저장된 명령어는 프로세서에 의해 실행되는 경우 컴퓨팅 장치로 하여금 본 명세서에 기술되는 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
이하에서는 도 4내지 8을 참조하여, DRM 서비스 제공 장치(100)의 제 1 암호화부(110)에서 수행되는 콘텐츠 암호화 및 콘텐츠 재생 장치(300)의 제 2 복호화부(330)에서 수행되는 암호화된 콘텐츠의 복호화의 예시적인 동작들을 더욱 상세히 설명한다.
한편, 도 4내지 8에 도시된 예에서, WBC 기반 암호화는 제 1 비밀키가 내재된 WBC 기반 암호화를 의미하며, WBC 기반 복호화는 제 1 비밀키가 내재된 WBC 기반 복호화를 의미한다.
또한, 데이터 블록은 콘텐츠를 블록 단위로 분할 한 것을 의미하며, 암호문 블록은 암호화된 콘텐츠를 블록 단위로 분할한 것을 의미한다.
암호화될 콘텐츠의 일부분에 대해 WBC 기반 암호화를 적용하는 구현
본 발명의 일 실시예에 따르면, DRM 서비스 제공 장치(100)의 제 1 암호화부(110)는 다음과 같이 동작하도록 구성될 수 있다.
제 1 암호화부(110)는 제 1 비밀키가 내재된 WBC 기반 암호화를 콘텐츠의 일부분에 대해 적용하여 WBC 기반 암호문을 생성할 수 있다.
이후, 제 1 암호화부(110)는 콘텐츠 암호키(CEK)를 이용한 대칭키 기반 암호화를 콘텐츠의 나머지 부분에 대해 적용하여 대칭키 기반 암호문을 생성할 수 있다.
전술한 바와 같이, 콘텐츠의 암호화를 위한 운영 모드는 대칭키 기반 암호문의 복호화를 위해 WBC 기반 암호문의 복호화가 필요하도록 정의될 수 있다. 이러한 운영 모드에서, WBC 기반 암호문이 복호화되지 않는다면, 콘텐츠 재생 장치(300)는 대칭키 기반 암호문을 복호화하지 못할 것이다.
일 예로서, 제 1 암호화부(110)는 도 4a에 도시된 바와 같이 PCBC(Propagating Cipher Block Chaining) 모드에서 암호화 동작을 수행할 수 있다. 도 4a에서 볼 수 있듯이, 제 1 암호화부(110)는 콘텐츠의 첫 번째 블록(데이터 블록 1)을 초기화 벡터(IV)와 배타적 논리합(XOR)을 하고 이에 대해 제 1 비밀키가 내재된 WBC 기반 암호화 알고리즘을 적용하여 첫 번째 암호문 블록(암호문 블록 1)을 생성한다. 이후, 제 1 암호화부(110)는 대칭키 기반 암호문의 블록들(암호문 블록 2 내지 암호문 블록 4)을 생성하기 위해 콘텐츠의 나머지 블록들(데이터 블록 2 내지 데이터 블록 4) 각각을 직전의 데이터 블록 및 직전의 암호문 블록과 XOR한 후 이에 대해 콘텐츠 암호키(CEK)를 이용한 대칭키 기반 암호화를 적용한다. 첫 번째 데이터 블록의 인덱스가 "1"이고 그 이후의 데이터 블록의 인덱스들은 1씩 증가한다고 할 때, 이 암호화 동작은 다음의 수학식과 같이 표현될 수 있다.
[수학식 1]
C1 = EWBC(P1 XOR IV)
Ci = ESYM(Pi XOR Pi-1 XOR Ci-1) (i≥2)
여기서, Ci는 i 번째 암호문 블록, Pi는 i 번째 데이터 블록, IV는 초기화 벡터, EWBC는 WBC 기반 암호화 알고리즘, ESYM는 대칭키 기반 암호화 알고리즘 및 XOR는 블록간 XOR 연산(예컨대, 각 블록이 비트 시퀀스인 경우 비트별 XOR 연산)을 나타낸다.
이 운영 모드 하에서, 제 2 복호화부(350)는 도 4b에 도시된 바와 같이 복호화 동작을 수행할 수 있다. 도 4b에서 볼 수 있듯이, 제 2 복호화부(350)는 암호화된 콘텐츠의 첫 번째 블록(암호문 블록 1)을 제 1 비밀키가 내재된 WBC 기반 복호화를 이용하여 복호화한 후 초기화 벡터(IV)와 XOR하여 첫 번째 데이터 블록(데이터 블록 1)을 획득한다. 이후, 제 2 복호화부(350)는 암호화된 콘텐츠의 나머지 데이터 블록들(데이터 블록 2 내지 데이터 블록 4)을 획득하기 위해 암호화된 콘텐츠의 나머지 블록들(암호문 블록 2 내지 암호문 블록 4) 각각을 콘텐츠 암호키(CEK)를 이용한 대칭키 기반 복호화를 이용하여 복호화한 후 직전의 데이터 블록 및 직전의 암호문 블록과 XOR한다. 이러한 복호화 동작은 다음의 수학식과 같이 표현될 수 있다.
[수학식 2]
P1 = DWBC(C1) XOR IV
Pi = DSYM(Ci) XOR Pi-1 XOR Ci-1 (i≥2)
여기서, Ci는 i 번째 암호문 블록, Pi는 i 번째 데이터 블록, IV는 초기화 벡터, DWBC는 WBC 기반 복호화 알고리즘, DSYM는 대칭키 기반 복호화 알고리즘 및 XOR는 블록간 XOR 연산(예컨대, 각 블록이 비트 시퀀스인 경우 비트별 XOR 연산)을 나타낸다.
다른 예로서, 제 1 암호화부(110)는 도 5a에 도시된 바와 같이 OFB(Output Feedback) 모드에서 암호화 동작을 수행할 수 있다. 도 5a에서 볼 수 있듯이, 제 1 암호화부(110)는 초기화 벡터(IV)를 제 1 비밀키가 내재된 WBC 기반 암호화를 이용하여 암호화하여 첫 번째 출력 블록을 생성한 후, 그 출력 블록을 콘텐츠의 첫 번째 블록(데이터 블록 1)과 XOR하여 첫 번째 암호문 블록(암호문 블록 1)을 생성한다. 이후, 제 1 암호화부(110)는 콘텐츠 암호키(CEK)를 이용한 대칭키 암호화를 이용하여 콘텐츠의 나머지 블록들(데이터 블록 2 내지 데이터 블록 4)을 암호화하여 대칭키 기반 암호문의 블록들(암호문 블록 2 내지 암호문 블록 4)을 생성한다. 구체적으로, 제 1 암호화부(110)는 i-1 번째의 출력 블록을 대칭키 기반 암호화를 이용하여 암호화하여 i 번째 출력 블록을 생성한 후, i 번째 출력 블록을 콘텐츠의 i 번째 블록과 XOR하여 i 번째 암호문 블록을 생성한다. 이러한 암호화 동작은 다음의 수학식과 같이 표현될 수 있다.
[수학식 3]
O1 = EWBC(IV)
Oi = ESYM(Oi-1) (i≥2)
Ci = Pi XOR Oi (i≥1)
여기서, Ci는 i번째 암호문 블록, Pi는 i번째 데이터 블록, Oi는 i번째 출력 블록, IV는 초기화 벡터, EWBC는 WBC 기반 암호화 알고리즘, ESYM는 대칭키 기반 암호화 알고리즘 및 XOR는 블록간 XOR 연산(예컨대, 각 블록이 비트 시퀀스인 경우 비트별 XOR 연산)을 나타낸다.
이 운영 모드 하에서, 제 2 복호화부(350)는 도 5b에 도시된 바와 같이 복호화 동작을 수행할 수 있다. 도 5b를 참조하면, XOR 연산의 대칭성에 비추어 볼 때, 이 복호화 동작은 도 5a에 도시된 암호화 동작과 동일하게 수행된다는 점(즉, 복호화 동작을 위한 WBC 기반 복호화 및 대칭키 기반 복호화는 암호화에 사용된 WBC 기반 암호화 및 대칭키 기반 암호화와 각각 동일함)을 알 수 있다. 이러한 복호화 동작은 다음의 수학식과 같이 표현될 수 있다.
[수학식 4]
O1 = EWBC(IV)
Oi = ESYM(Oi-1) (i≥2)
Pi = Ci XOR Oi (i≥1)
여기서, Ci는 i번째 암호문 블록, Pi는 i번째 데이터 블록, Oi는 i번째 출력 블록, IV는 초기화 벡터, EWBC는 WBC 기반 암호화 알고리즘, ESYM는 대칭키 기반 암호화 알고리즘 및 XOR는 블록간 XOR 연산(예컨대, 각 블록이 비트 시퀀스인 경우 비트별 XOR 연산)을 나타낸다.
초기화 벡터에 대해 WBC 기반 암호화를 적용하는 구현
본 발명의 일 실시예에 따르면, DRM 서비스 제공 장치(100)의 제 1 암호화부(110)는 다음과 같이 동작하도록 구성될 수 있다.
제 1 암호화부(110)는 제 1 비밀키가 내재된 WBC 기반 암호화를 초기화 벡터(IV)에 대해 적용하여 WBC 기반 암호문을 생성할 수 있다.
이후. 제 1 암호화부(110) 는 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 콘텐츠에 대해 적용하여 대칭키 기반 암호문을 생성할 수 있다.
이러한 예시적인 구현에서도 콘텐츠의 암호화를 위한 운영 모드는 WBC 기반 암호문의 복호화가 대칭키 기반 암호문의 복호화에 필요하도록 정의될 수 있다. 전술한 바와 같이, 이러한 운영모드에서 콘텐츠 재생 장치(300) 가 암호화된 콘텐츠에 포함된 대칭키 기반 암호문을 복호화하기 위해서는 WBC 기반 암호문이 복호화되어야 할 것이다.
일 예로서, 제 1 암호화부(110)는 도 6a에 도시된 바와 같이 PCBC 모드에서 암호화 동작을 수행할 수 있다. 도 6a에서 볼 수 있듯이, 제 1 암호화부(110)는 초기화 벡터(IV)를 제 1 비밀키가 내재된 WBC 기반 암호화를 이용하여 암호화하여 WBC 기반 암호문 블록(암호문 블록 0)을 생성한다.
이후, 제 1 암호화부(110)는 콘텐츠의 각 블록(데이터 블록 1 내지 데이터 블록 4)을 콘텐츠 암호키(CEK)를 이용한 대칭키 암호화를 이용하여 암호화하여 대칭키 기반 암호문의 블록들(암호문 블록 1 내지 암호문 블록 4)을 생성한다. 구체적으로, 제 1 암호화부(110)는 콘텐츠의 첫 번째 블록(데이터 블록 1)을 초기화 벡터와 XOR하고 이에 대해 WBC 기반 암호화를 적용하여 암호문 블록 1을 생성한다. 이어서, 제 1 암호화부(110)는 콘텐츠의 나머지 블록들(데이터 블록 2 내지 데이터 블록 4) 각각을 직전의 데이터 블록 및 직전의 암호문 블록과 XOR한 후 이에 대해 대칭키 기반 암호화를 적용한다. 첫 번째 데이터 블록의 인덱스가 "1"이고 그 이후의 데이터 블록의 인덱스들은 1씩 증가한다고 할 때, 이러한 암호화 동작은 다음의 수학식과 같이 표현될 수 있다.
[수학식 5]
C0 = EWBC(IV)
C1 = ESYM(P1 XOR IV)
Ci = ESYM(Pi XOR Pi-1 XOR Ci-1) (i≥2)
여기서, Ci는 i 번째 암호문 블록, Pi는 i 번째 데이터 블록, IV는 초기화 벡터, EWBC는 WBC 기반 암호화 알고리즘, ESYM는 대칭키 기반 암호화 알고리즘 및 XOR는 블록간 XOR 연산(예컨대, 각 블록이 비트 시퀀스인 경우 비트별 XOR 연산)을 나타낸다.
이 운영 모드 하에서, 제 2 복호화부(350)는 도 6b에 도시된 바와 같이 복호화 동작을 수행할 수 있다. 도 5b에서 볼 수 있듯이, 제 2 복호화부(350)는 암호화된 콘텐츠의 "0 번째" 블록(암호문 블록 0)을 제 1 비밀키가 내재된 WBC 기반 복호화를 이용하여 복호화하여 초기화 벡터(IV)를 획득한다.
이후, 제 2 복호화부(350)는 암호화된 콘텐츠의 첫 번째 블록(암호문 블록 1)을 콘텐츠 암호키(CEK)를 이용한 대칭키 기반 복호화를 이용하여 복호화한 후 초기화 벡터와 XOR하여 첫 번째 데이터 블록(데이터 블록 1)을 획득한다. 이어서, 제 2 복호화부(350)는 암호화된 콘텐츠의 나머지 블록들(암호문 블록 2 내지 암호문 블록 4) 각각을 콘텐츠 암호키(CEK)를 이용한 대칭키 기반 복호화를 이용하여 복호화한 후 직전의 데이터 블록 및 직전의 암호문 블록과 XOR한다. 이러한 복호화 동작은 다음의 수학식과 같이 표현될 수 있다.
[수학식 6]
IV = DWBC(C0)
P1 = DSYM(C1) XOR IV
Pi = DSYM(Ci) XOR Pi-1 XOR Ci-1 (i≥2)
여기서, Ci는 i 번째 암호문 블록, Pi는 i 번째 데이터 블록, IV는 초기화 벡터, DWBC는 WBC 기반 복호화 알고리즘, DSYM는 대칭키 기반 복호화 알고리즘 및 XOR는 블록간 XOR 연산(예컨대, 각 블록이 비트 시퀀스인 경우 비트별 XOR 연산)을 나타낸다.
다른 예로서, 제 1 암호화부(110)는 도 7a에 도시된 바와 같이 OFB 모드에서 암호화 동작을 수행할 수 있다. 도 7a에서 볼 수 있듯이, 제 1 암호화부(110)는 초기화 벡터(IV)를 제 1 비밀키가 내재된 WBC 기반 암호화를 이용하여 암호화하여 WBC 기반 암호문 블록(암호문 블록 0)을 생성한다.
이후, 제 1 암호화부(110)는 콘텐츠의 각 블록(데이터 블록 1 내지 데이터 블록 4)을 콘텐츠 암호키(CEK)를 이용한 대칭키 기반 암호화를 이용하여 암호화하여 대칭키 기반 암호문의 블록들(암호문 블록 1 내지 암호문 블록 4)을 생성한다. 구체적으로, 제 1 암호화부(110)는 초기화 벡터(IV)를 대칭키 기반 암호화를 이용하여 암호화하여 첫 번째 출력 블록을 생성한 후, 그 출력 블록을 콘텐츠의 첫 번째 블록(데이터 블록 1)과 XOR하여 첫 번째 암호문 블록(암호문 블록 1)을 생성한다. 이어서, 제 1 암호화부(110)는 i-1 번째의 출력 블록을 콘텐츠 암호키(CEK)를 이용한 대칭키 기반 암호화를 이용하여 암호화하여 i 번째 출력 블록을 생성한 후, i 번째 출력 블록을 콘텐츠의 i 번째 블록과 XOR하여 i 번째 암호문 블록을 생성한다. 이러한 암호화 동작은 다음의 수학식과 같이 표현될 수 있다.
[수학식 7]
C0 = EWBC(IV)
O1 = ESYM(IV)
Oi = ESYM(Oi-1) (i≥2)
Ci = Pi XOR Oi (i≥1)
여기서, Ci는 i번째 암호문 블록, Pi는 i번째 데이터 블록, Oi는 i번째 출력 블록, IV는 초기화 벡터, EWBC는 WBC 기반 암호화 알고리즘, ESYM는 대칭키 기반 암호화 알고리즘 및 XOR는 블록간 XOR 연산(예컨대, 각 블록이 비트 시퀀스인 경우 비트별 XOR 연산)을 나타낸다.
이 운영 모드 하에서, 제 2 복호화부(350)는 도 7b에 도시된 바와 같이 복호화 동작을 수행할 수 있다. 도 7b를 참조하면, 이 복호화 동작은 제 1 비밀키가 내재된 WBC 기반 복호화를 이용하여 초기화 벡터(IV)를 획득하는 것이 필요하나, 나머지 부분(즉, 복호화 동작을 위한 대칭키 기반 복호화)은 앞서 언급된 암호화 동작과 동일하게 수행된다는 점을 알 수 있다. 이러한 복호화 동작은 다음의 수학식과 같이 표현될 수 있다.
[수학식 8]
IV = DWBC(C0)
O1 = ESYM(IV)
Oi = ESYM(Oi-1) (i≥2)
Pi = Ci XOR Oi (i≥1)
여기서, Ci는 i번째 암호문 블록, Pi는 i번째 데이터 블록, Oi는 i번째 출력 블록, IV는 초기화 벡터, DWBC는 WBC 기반 복호화 알고리즘, ESYM는 대칭키 기반 암호화 알고리즘 및 XOR는 블록간 XOR 연산(예컨대, 각 블록이 비트 시퀀스인 경우 비트별 XOR 연산)을 나타낸다.
카운터 모드에서 암호화를 적용하는 구현
본 발명의 일 실시예에 따르면, DRM 서비스 제공 장치(100)의 제 1 암호화부(110)는 도 8a에 도시된 바와 같이 카운터 모드에서 암호화 동작을 수행할 수 있다. 이러한 암호화 동작을 위해 제 1 암호화부(110)는 오랜 시간 동안 반복되는 값들을 산출하지 않는 카운터 함수(예컨대, 초기 카운터 값에서 시작하여 1씩 증가한 카운터 값을 출력하는 함수)를 이용하여 카운터 값들을 생성할 수 있다. 도 8a에서 볼 수 있듯이, 제 1 암호화부(110)는 제 1 비밀키가 내재된 WBC 기반 암호화를 이용하여 초기 카운터 값(CTR)을 암호화하여 WBC 기반 암호문 블록(암호문 블록 0)을 생성한다.
이후, 제 1 암호화부(110)는 콘텐츠 암호키(CEK)를 이용한 대칭키 암호화를 이용하여 콘텐츠의 각 블록을 암호화하여 대칭키 기반 암호문의 블록들(암호문 블록 1 내지 암호문 블록 4)을 생성한다. 구체적으로, 제 1 암호화부(110)는 콘텐츠 암호키(CEK)를 이용한 대칭키 기반 암호화를 이용하여 초기 카운터 값(CTR)을 암호화한 후, 이를 콘텐츠의 첫 번째 블록(데이터 블록 1)과 XOR하여 첫 번째 암호문 블록(암호문 블록 1)을 생성한다. 마찬가지로, 제 1 암호화부(110)는 콘텐츠 암호키(CEK)를 이용한 대칭키 기반 암호화를 이용하여 i 번째 카운터 값(예컨대, 도 7a에 도시된 바와 같이, CTR + i - 1)을 암호화한 후, 이를 콘텐츠의 i 번째 블록과 XOR하여 i 번째 암호문 블록을 생성한다. 이때, 각 암호문 블록은 병렬적으로 생성될 수 있다.
이 운영 모드 하에서, 제 2 복호화부(350)는 도 8b에 도시된 바와 같이 복호화 동작을 수행할 수 있다. 도 8b를 참조하면, 이 복호화 동작은 제 1 비밀키가 내재된 WBC 기반 복호화를 이용하여 초기 카운터 값(CTR)을 획득하는 것이 필요하나, 나머지 부분(즉, 복호화 동작을 위한 대칭키 기반 복호화)은 앞서 언급된 암호화 동작과 동일하게 수행된다는 점을 알 수 있다.
도 9는 본 발명의 일 실시예에 따른 DRM 서비스 제공 방법의 순서도이다.
도 9에 도시된 방법은 예를 들어, 도 2에 도시된 DRM 서비스 제공 장치(100)에 의해 수행될 수 있다.
도 9를 참조하면, DRM 서비스 제공 장치(100)는 제 1 비밀키가 내재된 WBC 기반 암호화 및 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 콘텐츠를 암호화한다(910).
이후, DRM 서비스 제공 장치(100)는 암호화된 콘텐츠를 등록된 사용자의 콘텐츠 재생 장치로 전송한다(920).
이후, DRM 서비스 제공 장치(100)는 등록된 사용자의 제 2 비밀키가 내재된 제 2 WBC 기반 암호화를 이용하여 콘텐츠 암호화 시 이용된 콘텐츠 암호키를 암호화한다(930).
이후, DRM 서비스 제공 장치(100)는 암호화된 콘텐츠 암호키를 등록된 사용자의 콘텐츠 재생 장치로 전송한다.
도 10은 본 발명의 일 실시예에 따른 콘텐츠 재생 방법의 순서도이다.
도 10에 도시된 방법은 예를 들어, 도 3에 도시된 콘텐츠 재생 장치(300)에 의해 수행될 수 있다.
도 10을 참조하면, 콘텐츠 재생 장치(300)는 DRM 서비스 제공 장치(100)로부터 암호화된 콘텐츠를 수신한다(1010).
이후, 콘텐츠 재생 장치(300)는 암호화된 콘텐츠 암호화를 위해 사용된 콘텐츠 암호키에 대한 암호문을 수신한다(1020).
이후, 콘텐츠 재생 장치(300)는 제 2 비밀키가 내재된 WBC 기반 복호화를 이용하여 수신된 콘텐츠 암호키에 대한 암호문을 복호화한다(1030).
이후, 콘텐츠 재생 장치(300)는 제 1 비밀키가 내재된 WBC 기반 복호화 및 복호화된 콘텐츠 암호키를 이용한 대칭키 기반 복호화를 이용하여 암호화된 콘텐츠를 복호화한다(1040).
한편, 도 9 및 도 10에 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: DRM 서비스 제공 시스템
100: DRM 서비스 제공 장치
110: 제 1 암호화부
130: 제 2 암호화부
150: 전송부
300: 콘텐츠 재생 장치
310: 수신부
330: 제 1 복호화부
350: 제 2 복호화부

Claims (30)

  1. 제 1 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 암호화 및 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 콘텐츠를 암호화하는 제 1 암호화부;
    제 2 비밀키가 내재된 제 2 WBC 기반 암호화를 이용하여 상기 콘텐츠 암호키를 암호화하는 제 2 암호화부; 및
    상기 암호화된 콘텐츠 및 상기 암호화된 콘텐츠 암호키를 등록된 사용자의 콘텐츠 재생 장치로 전송하는 전송부를 포함하는 DRM 서비스 제공 장치.
  2. 청구항 1에 있어서,
    상기 암호화된 콘텐츠는, 상기 제 1 WBC 기반 암호화에 의해 암호화된 제 1 암호문 및 상기 대칭키 기반 암호화에 의해 암호화된 제 2 암호문을 포함하는 DRM 서비스 제공 장치.
  3. 청구항 2에 있어서,
    상기 제 1 암호화부는, 상기 콘텐츠의 일부 또는 시드 값에 상기 제 1 WBC 기반 암호화를 적용하여 상기 제 1 암호문을 생성하고, 상기 콘텐츠 중 상기 제 1 WBC 암호화가 적용되지 않은 부분에 상기 대칭키 기반 암호화를 적용하여 상기 제 2 암호문을 생성하는 DRM 서비스 제공 장치.
  4. 청구항 3에 있어서,
    상기 제 1 암호화부는, 상기 콘텐츠의 일부 또는 시드 값을 상기 제 2 암호문 생성을 위해 이용하는 DRM 서비스 제공 장치.
  5. 청구항 3에 있어서,
    상기 시드 값은, 초기화 벡터 또는 카운터 값인 DRM 서비스 제공 장치.
  6. 청구항 1에 있어서,
    상기 제 1 비밀키는, 서버 비밀키인 DRM 서비스 제공 장치.
  7. 청구항 1에 있어서,
    상기 제 2 비밀키는, 사용자 비밀키인 DRM 서비스 제공 장치.
  8. 제 1 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 암호화 및 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 콘텐츠를 암호화하는 단계;
    상기 암호화된 콘텐츠를 등록된 사용자의 콘텐츠 재생 장치로 전송하는 단계;
    제 2 비밀키가 내재된 제 2 WBC 기반 암호화를 이용하여 상기 콘텐츠 암호키를 암호화하는 단계; 및
    암호화된 콘텐츠 암호키를 상기 등록된 사용자의 콘텐츠 재생 장치로 전송하는 단계를 포함하는 DRM 서비스 제공 방법.
  9. 청구항 8에 있어서,
    상기 암호화된 콘텐츠는, 상기 제 1 WBC 기반 암호화에 의해 암호화된 제 1 암호문 및 상기 대칭키 기반 암호화에 의해 암호화된 제 2 암호문을 포함하는 DRM 서비스 제공 방법.
  10. 청구항 9에 있어서,
    상기 콘텐츠를 암호화하는 단계는, 상기 콘텐츠의 일부 또는 시드 값에 상기 제 1 WBC 기반 암호화를 적용하여 상기 제 1 암호문을 생성하는 단계; 및
    상기 콘텐츠 중 상기 제 1 WBC 암호화가 적용되지 않은 부분에 상기 대칭키 기반 암호화를 적용하여 상기 제 2 암호문을 생성하는 단계를 포함하는 DRM 서비스 제공 방법.
  11. 청구항 10에 있어서,
    상기 제 2 암호문을 생성하는 단계는, 상기 콘텐츠의 일부 또는 시드 값을 상기 제 2 암호문 생성을 위해 이용하는 DRM 서비스 제공 방법.
  12. 청구항 10에 있어서,
    상기 시드 값은, 초기화 벡터 또는 카운터 값인 DRM 서비스 제공 방법.
  13. 청구항 8에 있어서,
    상기 제 1 비밀키는, 서버 비밀키인 DRM 서비스 제공 방법.
  14. 청구항 8에 있어서,
    상기 제 2 비밀키는, 사용자 비밀키인 DRM 서비스 제공 방법.
  15. DRM 서비스 제공 장치로부터 암호화된 콘텐츠 및 상기 암호화된 콘텐츠 암호화를 위해 사용된 콘텐츠 암호키에 대한 암호문을 수신하는 수신부;
    제 2 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 복호화를 이용하여 상기 콘텐츠 암호키에 대한 암호문을 복호화하는 제 1 복호화부; 및
    제 1 비밀키가 내재된 제 2 WBC 기반 복호화 및 상기 콘텐츠 암호키를 이용한 대칭키 기반 복호화를 이용하여 상기 암호화된 콘텐츠를 복호화하는 제 2 복호화부를 포함하는 콘텐츠 재생 장치.
  16. 청구항 15에 있어서,
    상기 암호화된 콘텐츠는, 상기 제 1 비밀키가 내재된 WBC 기반 암호화를 이용하여 암호화된 제 1 암호문 및 상기 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 암호화된 제 2 암호문을 포함하며,
    상기 제 2 복호화부는, 상기 제 1 암호문에 상기 제 2 WBC 기반 복호화를 적용하고, 상기 제 2 암호문에 상기 대칭키 기반 복호화를 적용하여 상기 암호화된 콘텐츠를 복호화하는 콘텐츠 재생 장치.
  17. 청구항 16에 있어서,
    상기 제 2 복호화부는, 상기 제 2 WBC 기반 복호화에 의해 복호화된 정보를 상기 제 2 암호문의 복호화를 위해 이용하는 콘텐츠 재생 장치.
  18. 청구항 17에 있어서,
    상기 복호화된 정보는, 콘텐츠의 일부 또는 시드 값인 콘텐츠 재생 장치.
  19. 청구항 18에 있어서,
    상기 시드 값은, 초기화 벡터 또는 카운터 값인 콘텐츠 재생 장치.
  20. 청구항 15에 있어서,
    상기 제 1 비밀키는, 서버 비밀키인 콘텐츠 재생 장치.
  21. 청구항 15에 있어서,
    상기 제 2 비밀키는, 사용자 비밀키인 콘텐츠 재생 장치.
  22. DRM 서비스 제공 장치로부터 암호화된 콘텐츠를 수신하는 단계;
    상기 암호화된 콘텐츠 암호화를 위해 사용된 콘텐츠 암호키에 대한 암호문을 수신하는 단계;
    제 2 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 복호화를 이용하여 상기 콘텐츠 암호키에 대한 암호문을 복호화하는 단계; 및
    제 1 비밀키가 내재된 제 2 WBC 기반 복호화 및 상기 콘텐츠 암호키를 이용한 대칭키 기반 복호화를 이용하여 상기 암호화된 콘텐츠를 복호화하는 단계를 포함하는 콘텐츠 재생 방법.
  23. 청구항 22에 있어서,
    상기 암호화된 콘텐츠는, 상기 제 1 비밀키가 내재된 WBC 기반 암호화를 이용하여 암호화된 제 1 암호문 및 상기 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 암호화된 제 2 암호문을 포함하며,
    상기 암호화된 콘텐츠를 복호화하는 단계는, 상기 제 1 암호문에 상기 제 2 WBC 기반 복호화를 적용하고, 상기 제 2 암호문에 상기 대칭키 기반 복호화를 적용하여 상기 암호화된 콘텐츠를 복호화하는 콘텐츠 재생 방법.
  24. 청구항 23에 있어서,
    상기 암호화된 콘텐츠를 복호화하는 단계는, 상기 제 2 WBC 기반 복호화에 의해 복호화된 정보를 상기 제 2 암호문의 복호화를 위해 이용하는 콘텐츠 재생 방법.
  25. 청구항 24에 있어서,
    상기 복호화된 정보는, 콘텐츠의 일부 또는 시드 값인 콘텐츠 재생 방법.
  26. 청구항 25에 있어서,
    상기 시드 값은, 초기화 벡터 또는 카운터 값인 콘텐츠 재생 방법.
  27. 청구항 23에 있어서,
    상기 제 1 비밀키는, 서버 비밀키인 콘텐츠 재생 방법.
  28. 청구항 23에 있어서,
    상기 제 2 비밀키는, 사용자 비밀키인 콘텐츠 재생 방법.
  29. 하드웨어와 결합되어,
    제 1 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 암호화 및 콘텐츠 암호키를 이용한 대칭키 기반 암호화를 이용하여 콘텐츠를 암호화하는 단계;
    상기 암호화된 콘텐츠를 등록된 사용자의 콘텐츠 재생 장치로 전송하는 단계;
    제 2 비밀키가 내재된 제 2 WBC 기반 암호화를 이용하여 상기 콘텐츠 암호키를 암호화하는 단계; 및
    암호화된 콘텐츠 암호키를 등록된 사용자의 콘텐츠 재생 장치로 전송하는 단계를 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  30. 하드웨어와 결합되어,
    DRM 서비스 제공 장치로부터 암호화된 콘텐츠를 수신하는 단계;
    상기 암호화된 콘텐츠 암호화를 위해 사용된 콘텐츠 암호키에 대한 암호문을 수신하는 단계;
    제 2 비밀키가 내재된 제 1 화이트 박스 암호(White-Box Cryptograph: WBC) 기반 복호화를 이용하여 상기 콘텐츠 암호키에 대한 암호문을 복호화하는 단계; 및
    제 1 비밀키가 내재된 제 2 WBC 기반 복호화 및 상기 콘텐츠 암호키를 이용한 대칭키 기반 복호화를 이용하여 상기 암호화된 콘텐츠를 복호화하는 단계를 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
KR1020150148447A 2015-10-26 2015-10-26 Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법 KR101790948B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150148447A KR101790948B1 (ko) 2015-10-26 2015-10-26 Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법
CN201510917452.0A CN106612170A (zh) 2015-10-26 2015-12-10 Drm服务提供装置及方法、内容再现装置及方法
US14/980,521 US20170116393A1 (en) 2015-10-26 2015-12-28 Drm service provision apparatus and method, and content playback apparatus and method using drm service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150148447A KR101790948B1 (ko) 2015-10-26 2015-10-26 Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170047853A true KR20170047853A (ko) 2017-05-08
KR101790948B1 KR101790948B1 (ko) 2017-10-27

Family

ID=58561734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150148447A KR101790948B1 (ko) 2015-10-26 2015-10-26 Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법

Country Status (3)

Country Link
US (1) US20170116393A1 (ko)
KR (1) KR101790948B1 (ko)
CN (1) CN106612170A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015225651A1 (de) * 2015-12-17 2017-06-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Übertragen einer Software
US10778654B2 (en) * 2016-09-16 2020-09-15 Arris Enterprises Llc Method and apparatus for protecting confidential data in an open software stack
US10616287B2 (en) * 2017-06-29 2020-04-07 Sling Media Pvt Ltd Multi-platform digital rights management for placeshifting of multimedia content

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127619B2 (en) * 2001-06-06 2006-10-24 Sony Corporation Decoding and decryption of partially encrypted information
DE60330576D1 (de) * 2002-08-19 2010-01-28 Nagravision Sa Schlüsselgültigkeitsprüfungsmethode für ein digitales heimnetzwerk
KR20060081337A (ko) * 2005-01-07 2006-07-12 엘지전자 주식회사 비밀키를 이용한 암호화 및 복호화 방법
US8458753B2 (en) * 2006-02-27 2013-06-04 Time Warner Cable Enterprises Llc Methods and apparatus for device capabilities discovery and utilization within a content-based network
CA2699042C (en) * 2007-09-13 2017-01-03 Irdeto B.V. Cryptographic processing of content
EP2304552B1 (en) * 2008-05-23 2019-11-06 Irdeto B.V. System and method for generating white-box implementations of software applications
EP2469476A3 (en) * 2008-10-31 2014-08-20 Accenture Global Services Limited System for controlling user access to a service
JP5808019B2 (ja) * 2009-05-06 2015-11-10 イルデト ビー ヴイIrdeto B.V. ホワイトボックス暗号化技術を用いるインターロックされたバイナリ保護
KR20120072011A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 무결성 검증이 가능한 데이터 암호장치, 복호장치 및 방법
KR101744748B1 (ko) * 2011-01-05 2017-06-09 한국전자통신연구원 화이트박스 암호 테이블을 이용한 콘텐츠 보호 장치, 콘텐츠 암호화 및 복호화 장치
CA2835503A1 (en) * 2011-05-09 2012-11-15 Vincent Martinez Sancho Shannon security double symmetrical cryptogram method by coding information for telematic and electronic transmission
US11138605B2 (en) * 2013-07-02 2021-10-05 Visa International Service Association Online authentication in access transactions
US20150014980A1 (en) * 2013-07-05 2015-01-15 Crimson Logic Pte Ltd Method and system for authenticating printed documents
US9306744B2 (en) * 2014-03-10 2016-04-05 Gazoo, Inc. Video cryptography system and method
US9584310B2 (en) * 2014-03-19 2017-02-28 Nxp B.V. Protecting a white-box implementation against attacks
WO2016010604A2 (en) * 2014-04-28 2016-01-21 Topia Technology, Inc. Systems and methods for security hardening of data in transit and at rest via segmentation, shuffling and multi-key encryption
KR101527329B1 (ko) * 2014-09-12 2015-06-09 삼성에스디에스 주식회사 데이터 암호화 장치 및 방법

Also Published As

Publication number Publication date
US20170116393A1 (en) 2017-04-27
KR101790948B1 (ko) 2017-10-27
CN106612170A (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
CN110214440B (zh) 计算系统,传送受保护数据的方法和可读存储介质
KR101527329B1 (ko) 데이터 암호화 장치 및 방법
CN110650010B (zh) 一种非对称密钥中的私钥生成和使用方法、装置和设备
US8155311B2 (en) Method and apparatus for encrypting message for maintaining message integrity, and method and apparatus for decrypting message for maintaining message integrity
JP6017501B2 (ja) 暗号システム
EP2060056B1 (en) Method and apparatus for transmitting data using authentication
US7260215B2 (en) Method for encryption in an un-trusted environment
US20080209231A1 (en) Contents Encryption Method, System and Method for Providing Contents Through Network Using the Encryption Method
KR101815175B1 (ko) 데이터 암호화 장치 및 방법, 데이터 복호화 장치 및 방법
US20130091353A1 (en) Apparatus and method for secure communication
US8681975B2 (en) Encryption method and apparatus using composition of ciphers
KR20070014133A (ko) 전자 콘텐츠의 디지털 저작권 관리 시스템 및 방법
JP2020506611A (ja) 署名鍵を使用した信頼実行環境へのアドレシング
US20100027790A1 (en) Methods for authenticating a hardware device and providing a secure channel to deliver data
KR20180108008A (ko) 키 생성 장치 및 방법, 암호화 장치 및 방법
KR101790948B1 (ko) Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법
KR20130097814A (ko) 내장 기기에서의 정보 처리 장치, 및 정보 처리 방법
WO2022244079A1 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
Whelihan et al. Shamrock: a synthesizable high assurance cryptography and key management coprocessor
KR20090024482A (ko) 컨텐츠를 이용하기 위한 키 관리 시스템 및 그 방법
KR20140112815A (ko) 조건부 프록시 재암호화 기법을 이용한 데이터 전송 방법 및 시스템
Wu et al. A flexible and lightweight user‐demand DRM system for multimedia contents over multiple portable device platforms
KR20110042419A (ko) 멀티미디어 환경에 적용 가능한 블록암호 운용방법
KR101851719B1 (ko) 암호화키 분배 시스템 및 방법
KR101944741B1 (ko) 암호화 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant