KR20140072188A - 콘텐츠의 보안 배포 - Google Patents

콘텐츠의 보안 배포 Download PDF

Info

Publication number
KR20140072188A
KR20140072188A KR1020147012157A KR20147012157A KR20140072188A KR 20140072188 A KR20140072188 A KR 20140072188A KR 1020147012157 A KR1020147012157 A KR 1020147012157A KR 20147012157 A KR20147012157 A KR 20147012157A KR 20140072188 A KR20140072188 A KR 20140072188A
Authority
KR
South Korea
Prior art keywords
key
decryption
content
partitioning
keys
Prior art date
Application number
KR1020147012157A
Other languages
English (en)
Other versions
KR101620246B1 (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 코닌클리즈케 케이피엔 엔.브이.
Publication of KR20140072188A publication Critical patent/KR20140072188A/ko
Application granted granted Critical
Publication of KR101620246B1 publication Critical patent/KR101620246B1/ko

Links

Images

Classifications

    • 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
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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
    • 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/0825Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

콘텐츠 소스로부터 콘텐츠 수신 장치로의 콘텐츠 아이템의 보안 전송을 가능하게 하기 위한 방법들 및 시스템들이 설명되는데, 콘텐츠 수신 장치는 복호화 모듈과 연관이 있고, 상기 복호화 모듈은 분할 키 암호체계를 가지고 이용하도록 구성되고, 분할 키 암호체계는, Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X, 여기서, i,k≥1이고 i+k>2가 되도록 하기 위하여, 암호화 및 복호화 알고리즘들(E 및 D), 시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및 e 및/또는 i개의 상이한 분할 암호키들 e1,e2,...,ei 및/또는 k개의 상이한 분할 복호키들 d1,d2,...,dk로 각각 분할하기 위한 분할 키 알고리즘을 포함하고; 상기 방법은: 적어도 하나의 제1 분할 키를 포함하는 제1 분할 키 정보를 상기 복호화 모듈에 공급하는 단계; 제1 분할 키 정보, 복호키 d, 및 선택적으로 시크릿 정보(S)를 기초로 하여 적어도 하나의 제2 분할 키를 포함하는 제2 분할 키 정보를 생성하는 단계; 및 상기 복호화 모듈에서, 제1 분할 키 정보 및 제2 분할 키 정보와 복호화 알고리즘 D를 기초로 하여, 암호화된 콘텐츠 아이템 Xe를 복호화하기 위해서 적어도 제2 분할 키 정보를 상기 복호화 모듈에 공급하는 단계;를 포함한다.

Description

콘텐츠의 보안 배포{SECURE DISTRIBUTION OF CONTENT}
본 발명은 콘텐츠의 보안 배포(secure distribution)에 관한 것으로서, 특히, 콘텐츠의 보안 배포를 위한 방법들 및 시스템들, 이러한 시스템에서 이용하기 위한 키 생성기(key generator), 복호화 모듈(decryption module), 및 기록 매체(recording medium), 및 이러한 방법을 이용하기 위한 컴퓨터 프로그램 제품에 관한 것이다.
파일 기반(file-based) 및 스트리밍(streaming) 콘텐츠(예컨대, 영화 및 TV 프로그램들)는 그 창작과 판매와 관련하여 높은 비용 및 가치를 가진다. 이런 이유로, 콘텐츠 제공자는 무허가(unauthorized) 배포에 대해 콘텐츠를 보호하기 위하여 DRM(Digital Rights Management) 및 CA(Conditional Access) 시스템들과 같은 콘텐츠 보호 시스템들을 이용할 수 있고, 이것은 허가된(authorized) 사용자들 및 시스템들만이 콘텐츠에 액세스하는 것을 가능하게 한다.
종래의 DRM 시스템에 있어서, 콘텐츠 배포는 콘텐츠 제공자가 암호화된 콘텐츠를 전형적으로 전자 파일의 형태로 구매자에게 배포함으로써 이루어진다. 구매자에게 제공되는 복호키는 콘텐츠에 대한 액세스를 가능하게 하는데, 콘텐츠의 이용은 전자 라이센스(electronic licence)에 의해서 제한될 수 있다. 그래서, 이러한 방식(scheme)에 있어서, 모든 트랜젝션(transaction)은 암호키 및 관련 복호키의 생성을 요하고, 이로써 모든 구매자는 콘텐츠의 그 자신의 개인적인 암호화된 사본(copy)을 획득한다. 다른 사본들이 상이하게 암호화되기 때문에, 복호키만의 무허가 공개(unauthorized publication)는 제한적인 손상을 초래한다. 하지만, 이러한 DRM 시스템들은 브로드캐스트(broadcast) 또는 멀티캐스트(multicast) 스트리밍 시스템들 또는 콘텐츠 배포 네트워크(CDN) 시스템들과 같이 진정한 대량-배포(mass-distribution) 시스템들을 위해서는 덜 적절할 수 있다. CDN과 같이 이러한 대량-배포 시스템에서 사용하기 위해 이러한 알려져 있는(known) DRM 시스템 또는 방법을 구현하는 것은 CDN의 에지 노드(edge node)들 상에서 집중적인 콘텐츠 암호화 능력을 지원하기 위한 추가적인 프로세싱 파워(processing power)를 필요로 하거나 및/또는 (암호화가 일부 중앙 노드(central node)에서 수행되는 경우에) 배포 네트워크를 통해서 동일한 콘텐츠 아이템(content item)의 복수의 상이하게 암호화된 사본들의 전송을 가능하게 하기 위한 충분한 전송 능력(transport capacity)을 필요로 한다. 그래서, 이러한 종래의 DRM 솔루션(solution)은 특히 에지 노드들 상에서 기존 CDN 장비의 복잡한 변형들을 요하거나, CDN에 광범위한 대역폭 요구사항들을 도입한다.
이에 반해, 종래의 브로드캐스트 CA(Conditional Access) 시스템들, 예컨대, DVB CA 시스템은 콘텐츠의 대량-배포를 위해 구성된다. 이러한 CA 시스템에서, 콘텐츠는 대칭 암호키(제어 워드)를 이용해서 암호화되고(스크램블링되고(scrambled)), 대규모(large group)의 구독자들에게 전송된다. 구독자가 콘텐츠에 액세스하는 것을 가능하게 하기 위해서, 제어 워드(control word)들이 암호화되고, 구독자의 조건부 액세스 수신기(conditional access receiver)에 소위 ECM(entitlement control messages)으로서 전송된다. 수신기는, ECM을 복호화하기 위하여 그리고 스크램블링된 콘텐츠(scrambled content)를 평문(clear text) 콘텐츠로 디스크램블링(descramble)하기 위하여 비밀키(secret key)를 포함하는 보안 모듈(secure module), 예컨대, 스마트 카드(smart card) 등을 포함한다. 이러한 방식들에 있어서, 위협받는(compromised) 보안 모듈로부터 유래하는(originating) 비밀키의 무허가 공개가 피해를 주는데, 그것이 타인들로 하여금 브로드캐스팅되는 암호화된 콘텐츠에 액세스하는 것을 가능하게 하기 때문이다.
게다가, 이러한 보안 모듈들의 제조 또는 배포 동안 보안 모듈들이 보안키(secure key)를 가지고 미리 설정될 것을 요한다면, 키 정보는 써드파티(third-party), 예컨대, 보안 하드웨어 모듈(secure hardware module)의 제조자에게 제공될 필요가 있으며, 키 정보는 이러한 보안 하드웨어 모듈에 내장된다. 그래서, 키 정보를 써드파티에 맡기기 위해서는 콘텐츠 제공자와 써드파티들 간에 신뢰 관계(trusted relation)가 요구된다. 이러한 대량의 키 정보를 써드파티들에게 제공하는 것은 바람직하지 않은데, 이 과정에서 키 정보가 가로채어지거나(intercepted) 오류가 생기면(corrupted), 대량의 하드웨어 모듈들이 쓸모없게 되기 때문이다.
콘텐츠 배포가 콘텐츠 제공자에 의해 중간 당사자(intermediate party)인 콘텐츠 배포자에게 위탁되는(outsourced) 경우에 추가적인 문제점들이 일어날 수 있다. 이런 경우에 있어서, 콘텐츠 제공자로부터 유래된 암호화된 콘텐츠는 소비자로의 전송 전에 콘텐츠 배포자에 의해 복호화되거나 재암호화될(re-encrypted) 필요가 있을 수 있다. 그래서, 콘텐츠의 전송을 위탁하는 경우에, 콘텐츠 제공자가 콘텐츠 배포자를 믿을 수 있도록 하기 위하여, 소정의 미리 결정된 조건, 예컨대, 보안 전송(secure delivery)에 따라서 콘텐츠가 전송되도록 하기 위하여, 그리고 소비자가 콘텐츠 배포자로부터 특정 콘텐츠 아이템을 요청할 때마다 콘텐츠 제공자가 올바르게 지불받도록 하기 위하여, 콘텐츠 전송 네트워크(content delivery network: CDN)와 같이 콘텐츠 제공자(provider)와 콘텐츠 배포자(distributor) 간의 모종의 신뢰 관계가 필요하다.
만일 콘텐츠 배포자가 하나 이상의 추가적인 콘텐츠 배포자들을 통해서, 예컨대, 상호연결된 CDN들의 네트워크를 통해서 소비자로의 콘텐츠 아이템의 전송을 위탁한다면, 혹은 특정 상황에서 위탁해야 한다면, 콘텐츠 제공자와 콘텐츠 배포자 간의 신뢰 관계의 중요성은 더욱 부각된다. 이러한 상황들에서, 대규모의 소비자들로의 콘텐츠 아이템들의 전송(delivery) 및 과금(billing)의 프로세스는 쉽사리 매우 복잡하고 불투명한(non-transparent) 프로세스가 될 수 있다. 게다가, 콘텐츠 제공자와 소비자들 사이에서 배포자들이 많으면 많을수록, 허가받지 않은 자들(unauthorized parties)에 의해서 보안이 위협받을 가능성이 더 커진다. 콘텐츠 배포자는 무허가 액세스(unauthorized access)에 대하여 콘텐츠를 보호하기 위한 콘텐츠 보호 시스템을 이용할 수 있다. 하지만, 만일 콘텐츠 배포자의 보안 시스템이 위협받는다면, 모든 저장 및 처리되는 콘텐츠가 잠재적으로 위협받을 수 있다.
그러므로, 암호화된 콘텐츠의 단순한 대량-배포를 가능하게 하면서 동시에 개인 사용자 또는 사용자들의 그룹마다 고유한 것일 수 있는 키 정보를 기초로 하여 콘텐츠의 복호화를 가능하게 하는 콘텐츠의 보안 전송을 위한 방법들 및 시스템들이 요구된다. 게다가, 써드파티들(콘텐츠 배포자들)이 콘텐츠에 대해 액세스하는 것을 가능하게 하지 않으면서 하나 이상의 써드파티들을 통해서 콘텐츠의 보안 전송을 가능하게 하는 방법들 및 시스템들이 요구된다. 게다가, 콘텐츠 배포자가 콘텐츠 제공자로부터 유래된 콘텐츠를 콘텐츠 배포자 또는 콘텐츠 배포자들의 네트워클 거쳐 대규모의 소비자에게 보안 전송하는 것을 제어 또는 적어도 모니터링하는 것을 가능하게 하고, 콘텐츠의 상기 소비자들로의 상기 보안 전송 동안 보안 위반(security breach)을 검출하는 것을 가능하게 하는 방법들 및 시스템들이 요구된다.
본 발명은 콘텐츠의 보안 배포를 위한 방법들 및 시스템들, 이러한 시스템에서 이용하기 위한 키 생성기, 복호화 모듈, 및 기록 매체, 및 이러한 방법을 이용하기 위한 컴퓨터 프로그램 제품을 제공하는 것을 목적으로 한다.
본 발명의 목적은 선행기술에서 알려진 문제점들 중의 적어도 하나를 감소시키거나 제거하고, 본 발명의 제1 태양에 있어서, 콘텐츠 소스(content source)로부터 콘텐츠 수신 장치(content receiving device)로의 콘텐츠 아이템의 보안 전송을 가능하게 하기 위한 방법을 제공하는 것이다. 콘텐츠 수신 장치는 분할 키 암호체계분할 키 암호체계(split-key cryptosystem)를 가지고 이용하도록 구성된 복호화 모듈과 연관이 있다. 분할 키 암호체계는, 암호화 및 복호화 알고리즘들(encryption and decryption algorithms)(E 및 D), 시크릿(secret) 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및 e를 i개의 상이한 분할 암호키(split-encryption key)들 e1,e2,...,ei로, 및/또는 d를 k개의 상이한 분할 복호키(split-decryption key)들 d1,d2,...,dk로 각각 분할하기 위한 분할 키 알고리즘을 포함한다. 분할 키 암호체계는, 콘텐츠 아이템 X에 대한 다수의 연속적인(consecutive) 암호화 및 복호화 연산들의 수행, E 및 분할 암호키들 e1,e2,...,ei의 적용, 및 D 및 분할 복호키들 d1,d2,...,dk의 적용이 각각 Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X ― 여기서, i,k≥1이고 i+k>2임 ― 를 만족시키는 것으로 더 정의된다. 이렇게 설명되는 상술한 조건은 본 발명의 태양에 따른 분할 키 암호체계의 본질적 속성(intrinsic property)을 정의한다. 명세서 전반에 걸쳐서, 사용된 분할 키 암호체계들 및 알고리즘들의 상이한 예들이 공개된다. 본 발명의 태양에 따른 방법은 이러한 분할 키 암호체계의 특정적인 속성을 유익하게 이용한다.
본 발명의 태양에 따른 방법은: 적어도 하나의 제1 분할 키를 포함하는 제1 분할 키 정보를 상기 복호화 모듈에 공급하는 단계; 상기 제1 분할 키 정보, 상기 복호키 d, 및 선택적으로 상기 시크릿 정보(S)를 기초로 하여 적어도 하나의 제2 분할 키를 포함하는 제2 분할 키 정보를 생성하는 단계; 및 상기 복호화 모듈에서, 제1 및 제2 분할 키 정보와 복호화 알고리즘 D를 기초로 하여, 암호화된 콘텐츠 아이템 Xe를 복호화하기 위해서 적어도 제2 분할 키 정보를 상기 복호화 모듈에 공급하는 단계;를 포함한다.
보안 콘텐츠 배포에 있어서 분할 키 암호체계의 이용은 다수의 기술적 이점들을 제공한다. 콘텐츠 소스(Content Source)(콘텐츠 제공자(Content Provider)로도 지칭됨; CP 또는 CS)가 콘텐츠 배포의 완전한 제어 하에 있는 것을 가능하게 한다. 본 발명의 태양에 있어서, 분할 키 암호체계는, 예컨대 암호화 알고리즘 E 및 암호키 e를 이용해서, 콘텐츠 아이템의 암호화를 한 번만 필요로 한다. 모든 보안 (복호화) 모듈에는 상이한 제1 분할 키(예컨대, 상이한 제1 분할 복호키 d1)가 미리 제공될 수 있고, 보안 (복호화) 모듈 또는 보안 모듈들의 그룹과 연관된 모든 트랜젝션은 콘텐츠 및 보안 모듈을 위해서 고유한 적어도 하나의 제2 분할 키(예컨대, 상이한 제2 분할 복호키 d2)의 생성(및 이후에 보안 (복호화) 모듈로의 제공)을 포함할 수 있다. 보안 (복호화) 모듈은 이후에 복호화 알고리즘 D와 분할 복호키들 d1 및 d2를 이용해서 두 개의 연속적인 복호화 연산들을 각각 실행할 수 있다. 이러한 방식으로, 콘텐츠 아이템들은 상이한 사용자들을 위해서 복호화 및/또는 별도로 (재)암호화될 필요가 없어서, 다수의 보안 모듈들로의 진정한 대량-전송(mass-delivery), 예컨대, 브로드캐스트를 가능하게 한다. 게다가, 분할 키가 공급되는 보안 모듈이 위협을 받는다면, 다른 보안 모듈과 연관된(또는 다른 보안 모듈을 포함하거나 다른 보안 모듈에 통신가능하게 연결된) 다른 콘텐츠 소비 유닛(Content Consumption Unit)(CCU로도 지칭됨)들로의 콘텐츠 아이템의 전송의 보안(security)에 영향을 주지 않는다. 분할 키 암호체계 전체의 보안에도 영향을 주지 않는다. 유사하게, 트랜젝션 시에 생성되는 하나의 분할 키의 가로채기(interception)는 다른 CCU들 또는 시스템 전체의 보안에 영향을 주지 않는데, 이 키는 특정 CCU 및 콘텐츠 아이템에 의해서만 이용될 수 있기 때문이다.
하나의 실시 예에 있어서, 상기 콘텐츠 소스는 적어도 하나의 암호화 알고리즘 E를 포함하는 암호화 모듈; 및 비밀키 생성기와 연관이 있을 수 있고, 상기 비밀키 생성기는 콘텐츠 아이템을 복호화하기 위한 암호키 정보와 적어도 제1 분할 키 정보 및 제2 분할 키 정보를 각각 생성하기 위해 상기 암호 알고리즘 및 분할 키 알고리즘을 포함한다.
다시 말해, 암호화 모듈은 콘텐츠 소스의 일부이거나, 또는 네트워크 연결(유선 또는 무선)을 통해서 콘텐츠 소스와 통신할 수 있다.
실시 예에 있어서, 분할 키는 분할 복호키 d1- dk를 지칭할 수 있다.
추가적인 실시 예에 있어서, 분할 키는 분할 암호키 e1- ei를 지칭할 수 있다.
실시 예에 있어서, 상기 방법은: 상기 암호화 모듈이 상기 비밀키 생성기로부터 암호화 정보를 수신하는 단계; 상기 암호화 모듈이 상기 암호키 정보를 기초로 하여 적어도 하나의 암호화된 콘텐츠 아이템 Xe를 생성하는 단계;를 포함할 수 있다.
실시 예에 있어서, 상기 복호화 모듈에는 상이한 분할 키 정보 공급 방법들을 이용해서 상기 제1 및 제2 분할 키 정보가 공급될 수 있거나, 또는 상기 복호화 모듈에는 제1 시점(point in time) 및 제2 시점에서 제1 및 제2 분할 키 정보가 각각 공급되고, 바람직하게는 제1 시점은 상기 복호화 모듈이 제조되거나, 사용자에게 판매 또는 배포되거나, 또는 등록되는 시기이고, 바람직하게는 제2 시점은 상기 콘텐츠 수신 장치가 콘텐츠 요청을 상기 콘텐츠 소스에 전송하는 시기이다.
실시 예에 있어서, 상기 제1 분할 키 정보를 공급하는 것은 상기 복호화 모듈의 제조, 배포, 활성화, 또는 등록 동안 상기 복호화 모듈에, 바람직하게는, 상기 (보안) 복호화 모듈의 보안 하드웨어 모듈에 상기 제1 분할 키 정보를 제공하는 것을 포함한다.
실시 예에 있어서, 상기 제1 분할 키 정보를 공급하는 것은: 상기 콘텐츠 소스와 상기 복호화 모듈 사이에서 보안 채널(secure channel)을 수립하는 단계; 및 바람직하게는 상기 콘텐츠 수신 장치의 상기 콘텐츠 소스에 대한 인증(authentication) 또는 등록(registration) 프로세스 동안 상기 보안 채널이 수립되고, 상기 보안 채널을 통해서 적어도 제1 분할 키 정보를 상기 복호화 모듈에 보내는 단계;를 포함할 수 있다.
실시 예에 있어서, 상기 제1 분할 키 정보를 공급하는 것은: 적어도 제1 분할 키 정보를 보안 하드웨어 모듈(secure hardware module)에, 바람직하게는 상기 복호화 모듈을 포함하는 스마트 카드(smart card)에 내장하는 단계;를 포함할 수 있다.
실시 예에 있어서, 상기 제1 분할 키 정보를 공급하는 것은: 제1 분할 키 정보를 생성하라고 상기 복호화 모듈 내의 제1 분할 키 생성기에게 지시하는 단계;를 포함하되, 바람직하게는 상기 제1 분할 키 생성기는 상기 콘텐츠 소스로부터 유래되는 시그널링 메시지(signaling message)에 의해 지시를 받거나 상기 콘텐츠 소스와 상기 복호화 모듈에 공통된 공통 시그널링 메시지(common signaling message)에 의해 지시를 받고, 바람직하게는 상기 공통 시그널링 메시지는 상기 콘텐츠 소스와 상기 복호화 모듈 사이에서 공유되는 클록(clock)과 연관된 시간을 포함할 수 있다.
실시 예에 있어서, 상기 제2 분할 키 정보를 공급하는 것은: 제2 분할 키 정보를, 바람직하게는 보안 채널을 통해서, 상기 복호화 모듈에 전송하는 단계 또는 적어도 제2 분할 키 정보를 기록 매체에 기록하는 단계를 포함한다.
실시 예에 있어서, 상기 콘텐츠 소스는 콘텐츠 전송 시스템이거나, 또는 암호화된 콘텐츠를 기록 매체에 기록하기 위한 콘텐츠 기록 장치일 수 있다.
실시 예에 있어서, 상기 방법은: 상기 복호화 모듈이, 암호화된 콘텐츠 아이템 Xe를 수신하는 단계; 및 상기 암호화된 콘텐츠 아이템의 적어도 일부를, 적어도 제1 분할 키 정보를 기초로 하여, 부분적으로 복호화된 콘텐츠 아이템으로 복호화하는 단계; 및 상기 부분적으로 복호화된 콘텐츠 아이템을, 적어도 제2 분할 키 정보를 기초로 하여, 평문(plaintext) 콘텐츠 아이템으로 복호화하는 단계;를 포함할 수 있다. 실시 예에 있어서, 상기 암호화된 콘텐츠 아이템은 콘텐츠 요청에 대한 응답으로 수신될 수 있다.
실시 예에 있어서, 상기 방법은: 적어도 하나의 콘텐츠 전송 네트워크(content delivery network: CDN) 또는 CDN들의 네트워크에 적어도 하나의 암호화된 콘텐츠 아이템을 제공하는 단계; 상기 제1 및 제2 분할 키 정보, 상기 복호키 d, 및 선택적으로 상기 시크릿 정보(S)를 기초로 하여 제3 분할 키 정보를 생성하는 단계; CDN 또는 CDN들의 네트워크와 연관된 적어도 하나의 복호화 모듈에 제3 분할 키 정보를 공급하는 단계; 암호화된 콘텐츠 아이템, 상기 CDN에서의 복호화 알고리즘 D, 및 상기 제3 분할 키 정보를 기초로 하여, 부분적으로 복호화된 콘텐츠 아이템을 생성하는 단계; 및 상기 부분적으로 복호화된 콘텐츠 아이템을 상기 콘텐츠 수신 장치에 전송하는 단계;를 포함할 수 있다. 그래서, 이 실시 예에서, 각각의 콘텐츠 아이템이 CDN들의 네트워크에서의 각각의 CDN에 대해 고유하게 암호화되기 때문에 보안이 향상된다.
실시 예에서, 적어도 제1 분할 키 정보는 복수의 제1 분할 키들(예컨대, 제1 분할 복호키들) 및 제1 분할 키 식별자(identifier)들을 포함할 수 있고, 바람직하게는 상기 복수의 제1 분할 키들은 특정한 지리적 영역에 대해 유효한 하나 이상의 지리-특정(geography-specific) 분할 키들, 특정한 하드웨어 장치 또는 하드웨어 장치의 그룹에 대해 유효한 하드웨어-특정(hardware-specific) 분할 키들, 미리 결정된 콘텐츠 아이템 또는 콘텐츠 아이템들의 그룹에 대해 유효한 콘텐츠-특정(content-specific) 분할 키들 및/또는 특정한 자용자 또는 사용자들의 그룹에 대해 유효한 사용자-특정(user-specific) 분할 키들을 포함할 수 있다.
실시 예에서, 상기 방법은: 바람직하게는 하나 이상의 제1 키 식별자들을 포함하는 정보로서, 하나 이상의 분할 키들을 선택하기 위한 정보를 상기 복호화 모듈에 제공하는 단계; 바람직하게는 상기 하나 이상의 제1 키 식별자들을 기초로 하여, 상기 복수의 제1 분할 키들로부터 하나 이상의 제1 분할 키들을 선택하는 단계;를 포함할 수 있다.
실시 예에서, 상기 방법은: 상기 제1 분할 키들 중의 둘 이상을 제1 결합된 분할 키(combined split-key)로 결합하는 단계; 및 상기 제1 결합된 분할 키를 제1 분할 키 정보로서 이용하는 단계;를 포함할 수 있다.
실시 예에서, 상기 분할 키 알고리즘은 제1 분할 키 정보를 생성하기 위한 랜덤 분할 키 생성 알고리즘 및 상기 제1 분할 키 정보를 기초로 하여 제2 분할 키 정보를 생성하기 위한 추가적 분할 키 생성 알고리즘을 포함할 수 있다.
실시 예에서, 상기 콘텐츠 수신 장치에서의 상기 제1 분할 키 생성기는 의사 랜덤 생성기(pseudo random generator)를 포함할 수 있고, 상기 방법은: 상기 분할 키 생성기가, 상기 의사 랜덤 생성기를 위한 시드(seed)를 생성하기 위한 정보를 수신하는 단계; 의사 랜덤값(pseudo random value)을 생성하는 단계; 상기 분할 키 암호체계에 의해 부과되는 하나 이상의 조건들을 상기 의사 랜덤값이 따르는지 여부를 체크(check)하는 단계;를 포함한다.
실시 예에서, 상기 콘텐츠 소스는 상기 복호화 모듈에서의 상기 제1 분할 키 생성기와 실질적으로 동일한 제2 분할 키 생성기를 포함하는 비밀키 생성기와 연관이 있을 수 있고, 본 방법은: 시드를 생성하기 위한 정보를 상기 제1 및 제2 분할 키 생성기들에 제공하는 단계; 상기 제1 및 제2 분할 키 생성기들이 제2 분할 키 정보를 생성하는 단계; 상기 비밀키 생성기가 상기 시크릿 정보(S) 및 상기 제2 분할 키 정보를 기초로 하여 제1 분할 키 정보를 결정하는 단계; 및 상기 콘텐츠 수신 장치와 연관이 있는 상기 복호화 모듈에 상기 제1 분할 키 정보를 제공하는 단계를 포함할 수 있다.
실시 예에서, 일반적으로 키 생성 알고리즘이라고도 지칭되는 상기 암호 알고리즘은 원타임 패쓰, LFSR 스트림 암호, RSA, EIGamal 및/또는 Damgard-Jurik 암호체계들(암호 방식들이라고도 지칭됨) 중의 적어도 하나를 기초로 한다.
암호 알고리즘(키 생성 알고리즘)은 사용된 (분할 키) 암호체계에 대해서 특정적(specific)이다. 그 뿐만 아니라, 분할 키 알고리즘 또한 사용된 암호체계에 대해서 특정적이고, 이 암호체계와 함께 분할 키 암호체계를 형성한다. 용어 '특정적(specific)'은 이러한 알고리즘들이 임의의 암호체계, 또는 암호화-복호화 알고리즘 페어(encryption-decryption algorithm pair)와 조합하여 랜덤하게 이용될 수 없다는 것을 나타낸다. 몇몇 조합들만이 본 출원에서 정의된 바와 같은 속성들을 가진 분할 키 암호체계를 형성할 것이다. 몇몇 분할 키 암호체계들은 다른 것들에 비하여 추가적인 속성들(이점들)을 가질 수 있다.
예를 들어, 분할 키 RSA 암호체계는 RSA 키들이 시크릿 정보
Figure pct00001
(n) 없이는 분할될 수 없다는 추가적인 이점을 가진다. 이러한 방식으로, 허가받지 않은 자가 SKG에 의해 제공된 키들을 분할할 수 없다는 것이 보장된다. 이것은, 중간자(man-in-the-middle)가 SKG에 의해 제공된 키를 가로채고 이를 그 자신의 비밀키와 결합하는, 소위 중간자 공격을 방지할 것이다. 게다가, 이것은 또한 보안 채널을 이용하지 않고 제2 분할 키 정보를 CCU에 공급하는 것을 가능하게 한다.
그래서, 하나의 실시 예에 있어서, 본 발명에 따른 분할 키 RSA 암호체계를 이용하는 경우에, 제2 분할 키 정보는 비보안 채널, 예컨대, 브로드캐스트 또는 멀티캐스트를 통해서 CCU에 공급될 수 있다. 이와 달리, 제2 분할 키 정보는 암호화된 콘텐츠와 함께 광학적 또는 자기적 저장 매체에 저장될 수 있고, 분할 키는 DVD의 비보호 저장 영역(unprotected storage area)에 저장된다.
실시 예에서, 상기 콘텐츠 수신 장치는: 미디어 플레이어, 셋톱 박스, 콘텐츠 레코더(content recorder), 저장 매체, 바람직하게는 광학적(optical), 자기적(magnetic), 및/또는 반도체(semiconductor) 저장 매체를 판독하기 위한 장치의 일부이다.
추가적인 태양에 있어서, 본 발명은 콘텐츠 소스 장치와 연관된 적어도 제1 보안 모듈로부터, 분할 키 암호체계를 이용하는 콘텐츠 수신 장치의 적어도 제2 보안 모듈로의, 키 정보의 보안 전송을 가능하게 하기 위한 방법과 관련이 있을 수 있는데, 콘텐츠 소스 장치는 바람직하게는 콘텐츠 전송 장치 또는 암호화된 콘텐츠를 기록 매체에 기록하기 위한 콘텐츠 기록 장치이고, 분할 키 암호체계는, 암호화 및 복호화 알고리즘들(E 및 D), 시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및 e를 i개의 상이한 분할 암호키들 e1,e2,...,ei로, 및/또는 d를 k개의 상이한 분할 복호키들 d1,d2,...,dk로 각각 분할하기 위해 시크릿 정보(S)를 이용하는 분할 키 알고리즘을 포함한다. 분할 키 암호체계는 콘텐츠 아이템 X에 대한 다수의 연속적인 암호화 및 복호화 연산들의 수행, E 및 분할 암호키들 e1,e2,...,ei의 적용, 및 D 및 분할 복호키들 d1,d2,...,dk의 적용이 각각 Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X ― 여기서, i,k≥1이고 i+k>2임 ― 를 만족시키는 것으로 더 정의되고, 본 방법은: 적어도 제1 분할 키 정보를 상기 제2 보안 모듈에 공급하는 단계; 상기 제1 보안 모듈이 암호화 알고리즘 E 및 적어도 하나의 암호키 e를 기초로 하여 암호화된 키 Ee(K)를 생성하는 단계, 여기서 K는 상기 콘텐츠 전송 장치에 의해 전송될 콘텐츠를 암호화하기 위한 키임; 상기 암호 알고리즘 및 분할 키 알고리즘을 포함하는 키 생성기가 상기 제1 분할 키 정보, 상기 복호키 d, 및 상기 시크릿 정보(S)를 기초로 하여 제2 분할 키 정보를 생성하고, 상기 제2 분할 키 정보를 상기 제2 보안 모듈로 전송하는 단계; 상기 제2 보안 모듈이 상기 제2 분할 키 정보 및 상기 복호화 알고리즘을 기초로 하여 복호화 연산을 상기 암호화된 키 Dd1(Ee(k))에 적용하는 단계;를 포함할 수 있다.
본 실시 예는 분할 키 암호체계를 이용하여 콘텐츠 아이템 X의 효율적인(efficient) 대칭 암호화와 대칭 암호키 kx의 안전한(secure) 비대칭 암호화를 결합하는 하이브리드 암호화를 가능하게 한다. 스트리밍 미디어의 경우에, 대칭 암호키(또는 시크릿 시드) kx는 정기적으로 시간에 따라 바뀔 수 있을 것이다(키 롤오버(key roll-over)).
추가적인 태양에 있어서, 본 발명은 적어도 제1 및 제2 콘텐츠 배포 네트워크들(CDN1, CDN2)을 통해서 콘텐츠 소스로부터, 분할 키 암호체계를 이용하는 복호화 모듈과 연관된 적어도 하나의 콘텐츠 수신 장치로의, 콘텐츠 아이템의 보안 전송을 위한 방법에 관한 것일 수 있고, 분할 키 암호체계는 암호화 및 복호화 알고리즘들(E 및 D), 시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및 e를 i개의 상이한 분할 암호키들 e1,e2,...,ei로, 및/또는 d를 k개의 상이한 분할 복호키들 d1,d2,...,dk로 각각 분할하기 위해 시크릿 정보(S)를 이용하는 분할 키 알고리즘을 포함한다. 분할 키 암호체계는 콘텐츠 아이템 X에 대한 다수의 연속적인 암호화 및 복호화 연산들의 수행, E 및 분할 암호키들 e1,e2,...,ei의 적용, 및 D 및 분할 복호키들 d1,d2,...,dk의 적용이 각각 Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X ― 여기서, i,k≥1이고 i+k>2임 ― 를 만족시키는 것으로 더 정의되고, 본 방법은: 상기 복호화 모듈에 적어도 제1 분할 키 정보를 공급하는 단계; 적어도 하나의 암호화된 콘텐츠 아이템 Xe 또는 부분적으로 복호화된 콘텐츠 아이템을 상기 제1 CDN1에 제공하는 단계; 상기 제1 CDN1이 상기 적어도 하나의 암호화된 콘텐츠 아이템 또는 부분적으로 복호화된 콘텐츠 아이템을 상기 제2 CDN2로 전송하는 단계; 상기 암호 및 분할 키 알고리즘을 포함하는 키 생성기가 상기 제1 분할 키 정보, 상기 암호키 d, 및 선택적으로 상기 시크릿 정보(S)를 기초로 하여 상기 적어도 하나의 암호화된 콘텐츠 아이템 Xe 또는 부분적으로 복호화된 콘텐츠와 연관된 제2 및 제3 분할 키 정보를 생성하는 단계; 상기 제2 분할 키 정보를 포함하는 제1 분할-복호화 제어 메시지를 상기 제1 CDN1로 전송하고, 제3 분할 키 정보를 포함하는 제2 분할-복호화 제어 메시지를 상기 암호화 모듈로 전송하는 단계; 상기 제1 CDN1이 상기 제1 분할-복호화 제어 메시지를 상기 제2 CDN2로 전달하는 단계; 상기 복호화 알고리즘 D 및 상기 제2 분할 키 정보를 이용하여, 상기 암호화된 콘텐츠 아이템 또는 상기 부분적으로 복호화된 콘텐츠 아이템에 복호화 연산을 적용함으로써 부분적으로 복호화된 콘텐츠 아이템 또는 추가로 부분적으로 복호화된 콘텐츠 아이템을 생성하는 단계; 및 상기 제1 및 제3 분할 키 정보와 상기 복호화 모듈에서의 복호화 알고리즘 D를 기초로 하여, 상기 부분적으로 복호화된 콘텐츠 아이템 또는 추가로 부분적으로 복호화된 콘텐츠 아이템을 평문 콘텐츠 아이템으로 복호화하기 위해서 상기 부분적으로 복호화된 콘텐츠 아이템 또는 추가로 부분적으로 복호화된 콘텐츠 아이템을 상기 복호화 모듈로 전송하는 단계;를 포함할 수 있다.
그래서, 이 실시 예에서, CDN1은 콘텐츠 소스로부터의 모든 다운스트림 CDN들(CDN2)을 차단한다. 이러한 방식으로, CPS 및 특히 CPS와 연관이 있는 비밀키 생성기는 단지 CDN1 및 CCU들과의 인터페이스(interface)를 가질 필요가 있다. CS는 단지 CDN1과 상호작용하고, CDN1은 분할 키 정보를 포함하는 리퀘스트 라우팅 메시지 및 암호화된 콘텐츠를 CDN2로 투명하게 포워딩함으로써 콘텐츠 아이템의 전송을 위탁한다. 게다가, 시스템은 CDN 네트워크를 통해서 콘텐츠 아이템의 투명한(transparent) 전송을 가능하게 한다. 전송 프로세스의 다양한 단계에서, CS는 특정 액션, 예컨대, 특정 (분할)키들의 생성 및/또는 전송을 취하도록 통지받고 요청받는다.
다른 태양에 있어서, 본 발명은 콘텐츠 소스로부터 콘텐츠 수신 장치로의 콘텐츠 아이템 X의 보안 전송을 가능하게 하기 위한 시스템과 관련이 있을 수 있고, 상기 시스템은 분할 키 암호체계를 가지고 이용하도록 구성되고, 분할 키 암호체계는 암호화 및 복호화 알고리즘들(E 및 D), 시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및 e를 i개의 상이한 분할 암호키들 e1,e2,...,ei로, 및/또는 d를 k개의 상이한 분할 복호키들 d1,d2,...,dk로 각각 분할하기 위한 분할 키 알고리즘을 포함한다. 분할 키 암호체계는 콘텐츠 아이템 X에 대한 다수의 연속적인 암호화 및 복호화 연산들의 수행, E 및 분할 암호키들 e1,e2,...,ei의 적용, 및 D 및 분할 복호키들 d1,d2,...,dk의 적용이 각각 Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X ― 여기서, i,k≥1이고 i+k>2임 ― 를 만족시키는 것으로 더 정의되고, 상기 시스템은: 콘텐츠 소스와 연관된 암호화 모듈로서, 암호화된 콘텐츠 아이템 Xe를 생성하기 위한 암호화 알고리즘 E를 포함하는 암호화 모듈; 상기 암호 알고리즘 및 상기 분할 키 알고리즘을 포함하는 상기 암호화 모듈과 연관된 키 생성기; 및 적어도 제1 및 제2 분할 키 정보와 복호화 알고리즘 D를 기초로 하여, 암호화된 콘텐츠 아이템을 복호화하도록 구성된 상기 콘텐츠 수신 장치와 연관된 복호화 모듈;을 포함할 수 있다.
또 다른 태양에 있어서, 본 발명은 상술한 바와 같은 시스템에서 사용하기 위한 키 생성기와 관련이 있을 수 있다. 키 생성 시스템은: 시크릿 정보(S)를 기초로 하여 복호키 d 및 암호키 e를 생성하기 위한 암호 생성기; 상기 시크릿 정보(S) 및 추가적 분할 암호키 ei 또는 추가적 분할 복호키 dk를 결정하기 위한 추가적 분할 키 알고리즘을 기초로 하여, 적어도 i-1개의 상이한 랜덤 분할 암호키들 e1,e2,...,ei-1 및/또는 적어도 k-1개의 상이한 분할 복호키들 d1,d2,...,dk를 각각 생성하기 위한 랜덤 생성기를 포함하는 분할 키 생성기;를 포함할 수 있고, 분할 키들은 암호화 및 복호화 알고리즘들(E 및 D)을 포함하는 분할 키 암호체계에서 사용된다. 분할 키 암호체계는 콘텐츠 아이템 X에 대한 다수의 연속적인 암호화 및 복호화 연산들의 수행, E 및 분할 암호키들 e1,e2,...,ei의 적용, 및 D 및 분할 복호키들 d1,d2,...,dk의 적용이 각각 Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X ― 여기서, i,k≥1이고 i+k>2임 ― 를 만족시키는 것으로 더 정의된다.
실시 예에서, 암호화 및 복호화 알고리즘들(E,D) 및 상기 암호 알고리즘은 EIGamal 알고리즘(방식)을 기초로 하고, k개의 분할 키들을 생성하기 위한 상기 분할 키 알고리즘은:
- 상기 랜덤 생성기가, p보다 작은 k-1개의 랜덤 정수(random integer)들 d1 ... dk-1을 선택하도록 구성되고,
- 마지막 정수(final integer)를 dk = d - (d1 + ... + dk-1)(mod p)로서 계산하도록 구성되는 것
으로 정의되거나,
또는, 암호화 및 복호화 알고리즘들(E,D)은
Figure pct00002
방식을 기초로 하고, k개의 분할 키들을 생성하기 위한 분할 키 알고리즘은:
- n보다 작은 n-1개의 랜덤 정수들 d1,...,dn-1 을 결정하고,
- dk = d -(d1+ ... + dn-1)(mod n)을 계산하는 것
으로 정의되거나,
또는, 암호화 및 복호화 알고리즘들(E,D)은 원타임 패드(one-time pad) 방식을 기초로 하고, k개의 분할 키들을 생성하기 위한 분할 키 알고리즘은:
- k-1개의 랜덤 이진 스트림들 d1 ... dk-1을 결정하고,
- dk = d1
Figure pct00003
...
Figure pct00004
dk-1
Figure pct00005
e를 계산하는 것
으로 정의되거나,
또는, 암호화 및 복호화 알고리즘들(E,D)은 RSA 방식을 기초로 하고, k개의 분할 키들을 생성하기 위한 분할 키 알고리즘은:
-
Figure pct00006
(n)과 서로소인 k-1개의 랜덤 정수들 d1,...,dk-1을 결정하고,
- dk = (d1 * ... * dk-1)-1 * d(mod
Figure pct00007
(n))을 계산하는 것
으로 정의된다.
다른 추가적인 태양에 있어서, 본 발명은 콘텐츠 수신 장치(바람직하게는, 콘텐츠 소비 유닛)에서 사용하기 위한 복호화 모듈에 관한 것일 수 있고, 상기 복호화 모듈은 분할 키 암호체계에서 사용하도록 구성되고, 분할 키 암호체계는 암호화 및 복호화 알고리즘들(E 및 D), 시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및 e를 i개의 상이한 분할 암호키들 e1,e2,...,ei로, 및/또는 d를 k개의 상이한 분할 복호키들 d1,d2,...,dk로 각각 분할하기 위한 분할 키 알고리즘을 포함한다. 분할 키 암호체계는 콘텐츠 아이템 X에 대한 다수의 연속적인 암호화 및 복호화 연산들의 수행, E 및 분할 암호키들 e1,e2,...,ei의 적용, 및 D 및 분할 복호키들 d1,d2,...,dk의 적용이 각각 Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X ― 여기서, i,k≥1이고 i+k>2임 ― 를 만족시키는 것으로 더 정의되고, 상기 복호화 모듈은: 적어도 하나의 암호키 및 암호화 알고리즘 E를 이용하여 암호화된 콘텐츠를 수신하기 위한 입력부(input); 공급된 제1 분할 키 정보를 저장하기 위한 보안 스토리지(secure storage); 제2 분할 키 정보를 공급받기 위한 입력부; 및 제2 분할 키 정보 및 복호화 알고리즘 D를 이용해서 적어도 하나의 제1 복호화 연산을 수행하고, 공급된 제1 분할 키 정보 및 복호화 알고리즘 D를 이용해서 적어도 하나의 제2 복호화 연산을 수행하기 위한 적어도 하나의 프로세서;를 포함할 수 있다.
하나의 태양에 있어서, 본 발명은 암호화 알고리즘 E와 적어도 하나의 암호키 또는 분할 암호키를 이용해서 암호화된 콘텐츠 아이템과 연관된 데이터를 포함하는 기록 영역(recording area)을 포함하는 기록 매체에 관한 것일 수 있고, 기록 영역은 복호화 알고리즘 D를 이용하여, 상기 암호화된 콘텐츠 아이템을 부분적으로 복호화하기 위한 적어도 하나의 분할 복호키와 연관된 데이터를 포함하고, 상기 암호화 및 복호화 알고리즘 E,D와 상기 적어도 하나의 분할 키는 분할 키 암호체계의 일부이고, 분할 키 암호체계는 암호화 및 복호화 알고리즘들(E 및 D), 시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및 e를 i개의 상이한 분할 암호키들 e1,e2,...,ei로, 및/또는 d를 k개의 상이한 분할 복호키들 d1,d2,...,dk로 각각 분할하기 위한 분할 키 알고리즘을 포함한다. 분할 키 암호체계는 콘텐츠 아이템 X에 대한 다수의 연속적인 암호화 및 복호화 연산들의 수행, E 및 분할 암호키들 e1,e2,...,ei의 적용, 및 D 및 분할 복호키들 d1,d2,...,dk의 적용이 각각 Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X ― 여기서, i,k≥1이고 i+k>2임 ― 를 만족시키는 것으로 더 정의된다. 이용되는 분할 키 알고리즘에 따라서, 적어도 하나의 분할 복호키와 연관된 데이터를 포함하는 기록 영역은 보안 기록 영역(secure recording area) 또는 비보안 기록 영역(unsecure recording area)일 수 있다.
다른 태양에 있어서, 본 발명은 상술한 바와 같은 복호화 모듈을 포함하는 콘텐츠 재생성 장치(content reproduction device)에 관한 것일 수 있고, 상기 콘텐츠 재생성 장치는 상술한 바와 같은 기록 매체에 기록된 분할 키 및 콘텐츠 아이템의 적어도 일부를 재생성하도록(reproduce) 구성될 수 있다. 본 발명은 또한 컴퓨터의 메모리에서 실행될 때 상술한 바와 같은 방법의 단계들 중의 적어도 하나를 실행하도록 구성된 소프트웨어 코드 부분들을 포함하는 컴퓨터 프로그램 제품에 관한 것일 수 있다.
본 발명은 본 발명에 따른 실시 예들을 개략적으로 도시할 첨부도면들을 참조하여 더 설명될 것이다. 본 발명은 이러한 구체적인 실시 예들에 의해서 어떤 식으로든 제한되지 않는다는 점이 이해될 것이다.
도 1의 (A) 및 (B)는 본 발명의 실시 예에 따른 콘텐츠의 보안 배포를 위한 분할 키 암호체계(split-key cryptosystem)를 도시한다.
도 2는 본 발명의 하나의 실시 예에 따른 비밀키 생성기(secret key generator)의 개략도를 도시한다.
도 3의 (A) 및 (B)는 본 발명의 다양한 실시 예들에 따른 분할 키 암호체계에서 사용하기 위한 스트림 암호(stream cipher)들을 도시한다.
도 4는 본 발명의 다양한 실시 예들에 따른 암호화/복호화 쌍 e,d 및 관련 분할 키들의 생성을 도시하는 흐름도들을 도시한다.
도 5의 (A) 및 (B)는 본 발명의 다른 실시 예에 따른 콘텐츠의 보안 배포를 위한 분할 키 암호체계를 도시한다.
도 6의 (A) 및 (B)는 본 발명의 또 다른 다른 실시 예에 따른 콘텐츠의 보안 배포를 위한 분할 키 암호체계를 도시한다.
도 7은 본 발명의 실시 예에 따라서 콘텐츠를 콘텐츠 소비 유닛에 전송하기 위한 보안 콘텐츠 전송 시스템의 개략도를 도시한다.
도 8은 본 발명의 하나의 실시 예에 따라서 분할 키 암호체계를 이용하는 콘텐츠 전송 시스템의 프로토콜 흐름(protocol flow)의 개략도를 도시한다.
도 9는 본 발명의 다른 실시 예에 따라서 분할 키 암호체계를 이용하는 콘텐츠 전송 시스템의 프로토콜 흐름의 개략도를 도시한다.
도 10은 종래의 멀티-레이어(multi-layered) 암호화 방식을 도시한다.
도 11의 (A)-(C)는 멀티-레이어 암호화 방식에 있어서 분할 키 암호체계의 다양한 구현들을 도시한다.
도 12는 본 발명의 실시 예에 따른 하이브리드 분할 키 암호체계를 도시한다.
도 13은 본 발명의 추가적인 실시 예에 따라서 콘텐츠의 보안 배포를 위한 분할 키 암호체계를 도시한다.
도 14는 본 발명의 또 다른 실시 예에 따라서 분할 키 암호체계를 이용하는 콘텐츠 전송 시스템의 프로토콜 흐름의 개략도를 도시한다.
도 15는 본 발명의 또 다른 실시 예에 따라서 콘텐츠의 보안 배포를 위한 분할 키 암호체계를 도시한다.
도 16은 본 발명의 실시 예에 따라서 콘텐츠의 보안 배포를 위한 분할 키 암호체계를 도시한다.
도 17은 본 발명의 다른 실시 예에 따라서 콘텐츠의 보안 배포를 위한 분할 키 암호체계를 도시한다.
도 18은 본 발명의 실시 예에 따른 보안 콘텐츠 배포 시스템과 관련된 프로토콜 흐름을 도시한다.
도 19는 본 발명의 실시 예에 따른 보안 콘텐츠 배포 시스템과 관련된 프로토콜 흐름을 도시한다.
도 20의 (A) 및 (B)는 본 발명의 다른 실시 예에 따른 보안 콘텐츠 배포 시스템의 개략도를 도시한다.
도 21은 본 발명의 실시 예에 따른 분할 키 암호체계를 이용하는 콘텐츠 전송 시스템의 프로토콜 흐름의 개략도를 도시한다.
도 1의 (A)는 콘텐츠 배포 시스템의 하이-레벨(high-level) 개략도를 도시한다. 이 시스템은 일반적으로 콘텐츠 소스(content source: CS)(102), 예컨대, 콘텐츠 제공자 시스템(content provider system: CPS), 또는 콘텐츠 제공자 시스템으로부터 하나 이상의 콘텐츠 소비 유닛(content consumption unit: CCU)(104)들로의 (평문) 콘텐츠를 수신하도록 구성된 콘텐츠 처리 시스템(content processing system)을 포함할 수 있다.
콘텐츠 제공자 시스템은 콘텐츠 소스로부터 콘텐츠 소비 유닛들로 콘텐츠를 배포하도록 구성된 콘텐츠 배포자(content distributor) 또는 상이한 콘텐츠 배포자(103)들의 체인(chain)을 이용할 수 있다. 콘텐츠 배포 플랫폼(content distribution platform)은 콘텐츠를 전송하기 위한 전자적 수단(electronic means)을 이용할 수 있다. 예를 들어, 하나의 실시 예에서, 하나 이상의 콘텐츠 전송 네트워크(CDN)들을 이용할 수 있다. 이와 달리, 기록 매체, 예를 들어, 자기 기록 매체(magnetic recoding medium), 예컨대, DVD 및 Blu-Ray 기술을 이용하는 광학적 기록 매체(optical recoding medium), 광자기 기록 매체(opto-magnetic recording medium) 및/또는 솔리드-스테이트 기록 매체(solid-state recording media) 상에서 콘텐츠를 전송하기 위한 물리적 수단(physical means)을 이용할 수 있다.
CS는 분할된(segmented) 파일들 및/또는 스트림들(예컨대, HAS-타입 파일들 및/또는 스트림들)을 포함하는 파일들 및/또는 스트림들 형태의 콘텐츠 아이템들, 예컨대, 비디오, 픽쳐(picture)들, 소프트웨어, 데이터 및/또는 텍스트(text)를 고객들 또는 다른 콘텐츠 배포자에게 제공 및/또는 전송하도록 구성될 수 있다. 소비자는 CDN 및 CPS와 인터페이싱(interfacing)하기 위한 소프트웨어 클라이언트를 포함하는 콘텐츠 소비 유닛(CCU)을 이용해서 콘텐츠 아이템들을 구매하고 수신할 수 있다.
CUU는 일반적으로 파일 기반 및/또는 (라이브) 스트리밍 콘텐츠를 처리하도록 구성된 장치와 관련되어 있을 수 있다. 이러한 장치들은 전자 태블릿(electronic tablet)과 같은 (모바일) 콘텐츠 플레이아웃(play-out) 장치, 스마트폰(smart-phone), 노트북(notebook), 미디어 플레이어(media player), 블루레이 플레이어(Blu-Ray player)의 DVD와 같은 기록 매체의 플레이아웃을 위한 플레이어를 포함할 수 있다. 몇몇 실시 예들에서, CCU는 추가적 콘텐츠 소비 유닛에 의한 장래의 소비를 위해 콘텐츠를 처리하고 일시적으로(temporarily) 저장하도록 구성된 셋톱 박스(set-top box) 또는 콘텐츠 기록 및 저장 장치일 수 있다.
도 1의 (A)를 참조하여 설명된 콘텐츠 전송 시스템에서, 콘텐츠가 다수의 CCU들에게 안전하게 전송되고 과금 및 지불이 효율적으로 처리되는 것이 바람직하다.
그러므로, 콘텐츠는 콘텐츠 보호 시스템에 의한 보호를 필요로 하고, 이것은 예컨대, 콘텐츠 아이템을 구매하는 소비자에 의해서 콘텐츠 전송이 개시되는 경우에 암호화된 콘텐츠가 소비자의 CCU에 전송되도록 구현될 수 있다. 암호화된 콘텐츠에 대한 액세스는, CCU에서의 암호화된 콘텐츠의 복호화를 가능하게 하는 정보에 의해서 승인된다.
이하에서 더욱 상세하게 설명될 바와 같이, 본 발명에 따른 콘텐츠 보호 시스템은 콘텐츠의 실제 전송이 하나 이상의 콘텐츠 배포자들에게 위탁되더라도 콘텐츠 소스(때때로 콘텐츠 생성자(content originator)라고도 지칭됨)가 콘텐츠의 보안 전송의 완전한 통제를 유지한다. 이를 달성하기 위하여, 콘텐츠 보호 시스템은 소위 분할 키 암호체계(split-key cryptosystem)를 이용한다. 이 암호체계의 세부사항들 및 이점들은 첨부도면들을 참조하여 이하에서 더욱 상세하게 설명된다.
도 1의 (B)는 본 발명의 실시 예에 따라서 CS(102)로부터 유래하는 콘텐츠를 하나 이상의 콘텐츠 소비 유닛들 CCU(104)에 배포하기 위한 분할 키 암호체계를 도시한다. CS는 암호화 알고리즘 E를 포함하는 암호화 모듈(112) 및 시크릿 정보(S)를 기초로 하여 키들을 생성하기 위한 비밀키 생성기(114)와 연계되어 있을 수 있다. CCU는 복호화 모듈 DM(105), 즉, 복호화 알고리즘 D를 실행하기 위한 프로세서를 포함할 수 있다. 하나의 실시 예에 있어서, 복호화 모듈은 적어도 하나의 제1 분할 (복호)키(split-(decryption) key) d2를 포함하는 제1 분할 키 정보 및 복호화 알고리즘 D를 이용하는 적어도 하나의 제1 분할 복호화 연산(split-decryption operation)(108)과, 적어도 하나의 제2 분할 (복호)키 d1를 포함하는 제2 분할 키 정보 및 복호화 알고리즘 D를 이용하는 적어도 하나의 제2 분할 키 연산(110)을 수행하도록 구성될 수 있다. 바람직하게는, 복호화 모듈은 보안 모듈, 예컨대, 스마트 카드, (U)SIM, 또는 다른 적절한 하드웨어 보안(hardware-secured) 프로세서로서 구현된다. CPS의 일부로서 또는 별도의 키 서버(key server)로서 구현될 수 있는 비밀키 생성기(Secret key generator: SKG)(114)는 암호키들 및 소위 분할 키들을 생성할 수 있다.
분할 키 암호체계는 비밀키 생성기에 의해 생성된 키 정보와 암호화 및 복호화 알고리즘들 E 및 D를 기초로 하여 콘텐츠 아이템 X의 보안 전송을 CCU에 제공하도록 구성될 수 있다. 이러한 목적을 위하여, 암호화 알고리즘 E는 콘텐츠 아이템 X를 암호화된 콘텐츠 아이템 Xe = Ee(X)으로 암호화하기 위하여 암호키 e를 이용할 수 있고, 암호키 e는 비밀키 생성기(114)에 의해서 생성된다(여기서, Xe는 Ee(X)의 간략 표기, 즉, 암호키 e를 이용해서 암호화 알고리즘 E를 콘텐츠 아이템 X로 적용하는 것의 간략 표기이다).
암호화된 콘텐츠는 암호화된 파일 또는 스트림으로서 전자적으로 CCU에 보내질 수 있다. 전자적 전송(electronic transmission)을 위한 적절한 프로토콜들은 IP-멀티캐스트를 통해 스트리밍 프로토콜(streaming protocol)들, 예컨대, DVB-T, DVB-H, RTP, HTTP (HAS), 또는 UDP/RTP를 포함한다. 실시 예에서, HTTP 적응형 스트리밍 (HAS), DVB 적응형 스트리밍, DTG 적응형 스트리밍, MPEG DASH, ATIS 적응형 스트리밍, IETF HTTP 라이브 스트리밍(Live streaming), 및 관련 프로토콜들과 같은 적응형 스트리밍 프로토콜(adaptive streaming protocol)이 이용될 수 있다. 콘텐츠는 AVI 또는 MPEG과 같은 특정 포맷의 적절한 전송 컨테이너(transport container)로 전송될 수 있다.
이와 달리, 암호화된 콘텐츠는 CCU의 사용자에게 전송될 수 있는 저장 매체, 예컨대, 블루레이 디스크(Blu-Ray disc)와 같은 광학적 저장 매체, 솔리드-스테이트 저장 매체, 또는 자기 저장 매체에 기록될 수 있다.
도 1의 (B)로부터 알 수 있는 바와 같이, 비밀키 생성기는 분할 복호키들 d1 및 d2를 포함하는 분할 키 정보 1181 및 1182를 생성할 수 있다. 하나의 실시 예에 있어서, 상이한 분할 키들은 상이한 공급 프로세스들을 이용해서 복호화 모듈에 공급될 수 있다. 게다가, 다른 실시 예에 있어서, 상이한 분할 키들의 공급은 상이한 시점들(points in time)에서 개시될 수 있다.
예를 들어, 제1 실시 예에서, 제1 분할 키 d2는 복호화 모듈에서 미리 구성될 수 있다. 여기서, 미리 구성하는 것(pre-configuration)은 복호화 모듈의 일부일 수 있는 보안 하드웨어 유닛(106)에 분할 키 d2를 저장하거나 내장시키는 것을 포함할 수 있다. 보안 하드웨어 유닛은 리버스 엔지니어링(reverse engineer)이 안 되거나 적어도 매우 어려운 탬퍼-프리(tamper-free) 하드웨어 모듈로서 설계될 수 있다. 보안 하드웨어 유닛은 물리적으로 보안이 되는 키 저장 모듈(key storage module)이 되도록 하기 위하여 OTP(one-time programmable) 메모리 기술들을 포함하는 플래시(flash) 메모리를 포함할 수 있다.
하나의 실시 예에 있어서, 보안 하드웨어 유닛은 트러스티드 컴퓨팅 그룹(Trusted Computing Group)에서 명시된 바와 같이 TPM(Trusted Platform Module)의 일부일 수 있다. 국제 표준 ISO/IEC 11889에서 정해진 바와 같은 TPM 설명서(specification)에 대한 참조가 이루어진다. 이 경우에, 보안 하드웨어 유닛에는 CCU의 시동(start-up) 또는 개시(initialization)시에 적어도 하나의 분할 키가 공급될 수 있다. 시동 동안, TPM은 분할 키 정보를 복호화 모듈에 보내도록 구성된 비밀키 생성기와 보안 연결(secure connection)을 수립할 수 있다.
다른 실시 예에 있어서, 복호화 모듈에는 오프라인(off-line) 프로세스로 분할 키들이 공급될 수 있다. 예를 들어, 복호화 모듈을 포함하는 (U)SIM 또는 스마트 카드의 일부는 보안 하드웨어 모듈들의 제작 동안, 배포 동안, 또는 활성화(activation)나 등록 동안 하나 이상의 분할 키들을 가지고 미리 설정될 수 있다. 예를 들어, 보안 하드웨어 모듈의 구매 동안, 모듈은 하나 이상의 분할 키들을 가지고 구성될 수 있다.
또 다른 실시 예에 있어서, 복호화 모듈에는 네트워크와의 등록 및/또는 인증 절차와 연관된 보안 채널을 이용하여 하나 이상의 분할 키들이 공급될 수 있다. 예를 들어, 분할 키들은 CCU와 연관된 인증 및/또는 등록 프로세스들 동안 검색될 수 있고, 이후에 복호화 모듈의 보안 메모리(secure memory)에 저장될 수 있다. 예를 들어, 모바일 CCU를 이용하는 경우에, 분할 키들은 모바일 표준과 관련된 인증 및 키 합의(authentication and key agreement: AKA)의 수행 동안 공급될 수 있다.
보안 하드웨어 모듈에는 제2 추가적(further) 분할 키 정보가 더 공급될 수 있다. 바람직하게는, 제2 분할 키 정보와 연관된 공급 프로세스는 제1 분할 키 정보와 연관된 공급 프로세스와는 다르다. 이와 달리, 보안 하드웨어 모듈에는 동일 또는 유사한 공급 방법을 이용하여 상이한 순간들에서 제1 및 제2 분할 키 정보가 공급된다.
예를 들어, 하나의 실시 예에 있어서, 제2 분할 키 정보는 콘텐츠 아이템의 구매시에 보안 채널, 예컨대, SSL 또는 S-HTTP 연결을 통해서 CCU에서의 복호화 모듈에 전송될 수 있다. 더욱 상세하게는, CCU는 보안 채널을 통해서 전자적으로 적어도 하나의 암호화된 콘텐츠 아이템과 상기 적어도 하나의 제2 분할 키 정보를 수신하도록 구성된 클라이언트를 포함할 수 있다. 다른 실시 예에 있어서, CPS는 기록 매체 상의 암호화된 콘텐츠 및 적어도 하나의 분할 키를 CCU로 배포할 수 있다. 예를 들어, 암호화된 콘텐츠는 광학적 또는 자기 저장 매체에 기록될 수 있고, 분할 키는 DVD의 비밀 저장 영역에 저장된다.
CCU에서의 복호화 모듈은 또한 분할 키 함수, 예컨대, 분할 키들이 선택될 수 있는 분할 키 정보를 포함하는 (색인(indexed)) 표(table) 또는 미리 결정된 분할 키 생성기(split-key generator)를 포함할 수 있다는 점이 주목된다. 이 경우에 있어서, 분할 키 대신에 CCU가 CPS에게도 알려져 있는 하나 이상의 분할 키들을 선택하거나 - 의사-랜덤 생성기(pseudo-random generator) 경우에는 - 생성하도록 하기 위하여, CPS는 분할 키 식별 정보, 예컨대, 테이블 인덱스(table index), 시드(seed), 및/또는 몇몇 다른 식별자(들)를 분할 키 함수에 보낼 수 있다. 이러한 분할 키 암호체계의 예들은 도 13-15 및 도 20-21을 참조하여 더욱 상세하게 설명된다.
분할 키들은 암호화된 콘텐츠 아이템 Xe를 완전히 복호화할 필요가 있다. 그래서, 상술한 바와 같이, 분할 복호키 d2(1182)는 키 생성기에 의해 생성될 수 있고, CCU에 공급될 수 있다. 이후, CCU의 사용자가 콘텐츠 아이템 X의 전송을 요청한다면, CPS는 CCU에서의 보안 모듈에 추가적 분할 복호키 d1(1181)을 공급할 수 있다. (전자적으로 또는 물리적 저장 매체를 이용하여) 암호화된 콘텐츠 아이템을 사용자에게 전송하는 경우에, 제1 복호화 모듈(110)은 암호화된 콘텐츠 아이템을 Xe,d1(116)으로 "부분적으로(partially)" 복호화하기 위하여 분할 복호키 d1 및 복호화 알고리즘 D를 이용할 수 있다.
그래서, "부분적으로(partially)" 복호화된 콘텐츠 아이템 Xe,d1은 Dd2(Dd1(Ee(X))=Dd2(Dd1(Xe))=Dd2(Xe,d1)=X가 되도록 하기 위하여 분할 복호키 d2 및 복호화 알고리즘 D를 기초로 하여 제2 복호화 모듈에 의해 콘텐츠 아이템 X를 완전히 복호화할 수 있다. 여기서, Xe,d1은 복호화 알고리즘 D 및 분할 복호키 d1를 이용한 암호화된 콘텐츠 아이템 Xe에 대한 복호화 연산의 간략 표기이다. 본 명세서에서, "부분적으로(partially)"(또는 "partly")라는 단어는 암호화/복호화의 프로세스를 지칭하는 것이지 콘텐츠를 지칭하는 것이 아니라는 점에 유의해야 한다. 게다가, 부분적으로 복호화된 콘텐츠 Xe,d1은 암호문(cipher text)이고, 완전히 암호화된 콘텐츠 Xe만큼 무허가 액세스에 대해 안전하다.
본 명세서에서 설명된 바와 같은 분할 키 암호체계는 Ee(X)와 d1의 결합된 지식(combined knowledge)이 X에 대한 정보를 누출시키지 않을 것을 요한다. 게다가, 몇몇 실시 예들에서, Ee(X)와 d2의 결합된 지식이 X에 대한 정보를 누출시키지 않을 것을 또한 요할 수 있다. 게다가, - 특히, CDN들의 맥락에서 - 분할 키 암호체계는, (각각의 콘텐츠 소비자가 암호화된 콘텐츠를 완전히 복호화하기 위하여 키들의 상이한 (개인화된(personalized)) 세트를 획득할 수 있도록 하기 위해) 하나의 암호키 e를 기초로 하여 다수의 상이한 분할 키 쌍들(d1,d2)의 생성을 가능하게 하도록 구성될 것이고, Ee(X)와 다수의 상이한 분할 복호키 d1과의 결합된 지식이 X에 대한 정보를 누출시키지 않고, (몇몇 실시 예들에서) Ee(X)와 다수의 상이한 분할 복호키 d2와의 결합된 지식이 X에 대한 정보를 누출시키지 않도록 구성될 것이다.
그래서, 도 1의 (B)을 참조하여 설명된 바와 같은 분할 키 암호체계를 이용하는 보안 콘텐츠 배포 시스템은 CS가 콘텐츠 배포의 완전한 통제를 유지한다는 기술적 이점을 제공한다. 콘텐츠 아이템이 미리 구성된 분할 키 d2를 포함하는 CCU에서만 플레이될(played) 수 있고, 무허가 장치들에서는 플레이될 수 없어서, 복호화된 콘텐츠의 다른 CCU로의 추가적 확산을 막기 위한 보호(protection)를 제공할 수 있다는 점을, CS는 알고 있다. 게다가, 콘텐츠 아이템은 분할 키 d1가 공급된 CCU를 가진 소비자에 의해서만 플레이될 수 있다. 이것은 지불한 것보다 더 많은 콘텐츠 아이템들을 보길 원하는 소비자들을 막기 위한 보호를 가능하게 한다.
분할 키 암호체계는 암호키를 이용해서 콘텐츠 아이템의 암호화를 한 번만 요한다. 모든 보안 모듈에는 상이한 제1 분할 키가 공급될 수 있고, 보안 모듈 또는 보안 모듈의 그룹과 연계된 모든 트랜젝션은 콘텐츠 및 보안 모듈을 위해서 고유한 적어도 하나의 제2 분할 키의 생성을 포함할 수 있다. 이러한 방식으로, 콘텐츠 아이템들은 상이한 사용자들을 위해서 별도로 (재)암호화될 필요가 없어서 다수의 보안 모듈들로의 진정한 대량-전송, 예컨대, 브로드캐스트를 가능하게 한다. 게다가, 분할 키가 제공된 보안 모듈이 위협에 놓이게 되는 경우에, 그것은 다른 CCU들 또는 암호체계 전체의 다른 보안에 영향을 주지 않는다. 유사하게, 트랜젝션시 생성된 단일 분할 키의 가로채기(interception)는 다른 CCU들 또는 시스템 전체의 보안에 영향을 주지 않는데, 이 키는 단지 특정 CCU 및 콘텐츠 아이템에 의해서만 이용될 수 있기 때문이다.
이하에서 더욱 상세하게 설명되는 바와 같이, 분할 키 암호체계는, 암호키 e 및 추가적 분할 키 d1의 실제 생성이 나중 단계(later stage), 예컨대, 소비자가 실제로 콘텐츠 아이템을 요청할 때로 지연될 수 있도록 하는 생성을 가능하게 한다.
도 1의 (B)에 도시된 분할 암호(split-crypto) 시스템은 분할 키 암호체계들의 여러 그룹들 중의 단지 하나의 비제한적인(non-limiting) 예인데, 각각의 분할 키 암호체계는 적어도 한 쌍의 암호화 및 복호화 알고리즘들(E,D), 시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및 e 및/또는 d를 복수의 분할 암호화키 및/또는 분할 복호키들로 각각 분할하기 위한 분할 키 알고리즘(split-key algorithm)에 의해 정의된다.
분할 키 암호체계들 중의 하나의 그룹은 암복호화 알고리즘(crypto-algorithm)들(E 및 D), 시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및 Ddk(Ddk-1(...(Dd2(Dd1(Ee(X))...))=Ddk(Ddk-1(...(Dd2(Xe,d1)...))=X가 되도록 하기 위하여 복호키 d를 임의의 k개의 분할 복호키들 d1,d2,...,dk (k≥2)로 복수로 분할하기 위한 분할 키 알고리즘에 의해 정의될 수 있다. 여기서, Xe,d1,d2,...,dk는 암호화된 콘텐츠 아이템 Xe에 대해 복호화 알고리즘 D 및 분할 복호키들 d1,d2,...,dk를 각각 이용하는 복호화 연산들의 미리 결정된 시퀀스(sequence)의 간략 표기이다.
분할 키 암호체계들 중의 다른 그룹은 암복호화 알고리즘들(E 및 D), 시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및 Dd(Eei(Eei-1...(Ee2(Ee1(X))...))=Dd(Xe1,e2,...,ei))=X가 되도록 하기 위하여 e를 임의의 i개의 분할 암호키들 e1,e2,...,ei (i≥2)로 복수로 분할하기 위한 분할 키 알고리즘에 의해 정의될 수 있다. 여기서, Xe1,e2,...,ei는 암호화 알고리즘 E 및 분할 암호키들 e1,e2,...,ei를 각각 이용해서 (평문) 콘텐츠 아이템 X에 수행되는 암호화 연산들의 미리 결정된 시퀀스의 간략 표기이다. 분할 키 암호체계들의 또 다른 그룹은 암복호화 알고리즘들(E 및 D), 시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및 Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Eel(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X가 되도록 하기 위하여 e 및 d 양쪽 모두를 임의의 i개의 분할 암호키들 e1,e2,...,ei 및 k개의 분할 복호키들 d1,d2,...,dk (i,k≥1 및 i+k>2)로 복수로 분할하기 위한 분할 키 알고리즘에 의해 정의될 수 있다.
몇몇 실시 예들에서, E 및 D는 상이한 알고리즘들일 수 있다. 다른 실시 예들에서, 암호화 및 복호화 알고리즘들(E 및 D)은 동일할 수 있는데, 즉, E=D일 수 있고, 이것은 Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-l(...(Ee2(Eel(X))...))=Edk(Edk-1(...(Ed2(Ed1(Eei(Eei-1(...(Ee2(Eel(X))...))= Xe1,e2,...,ei,d1,d2,...dk=X가 되도록 하기 위하여 e 및 d 양쪽 모두를 임의의 i개의 분할 암호키들 e1,e2,...,ei 및 k개의 분할 복호키들 dk,dk-1,...,d1로 복수로 분할하는 것을 가능하게 한다.
이러한 분할 키 암호체계에서, 암호키들 e와 복호키들 d 간에 아무런 기능적인 차이점이 존재하지 않는다. 몇몇 실시 예들에서, 암호화 및/또는 복호화 알고리즘들은 교환적(communicative)일 수 있는데, 즉, 이들은 임의의 순서로 적용되어 동일한 결과를 제공할 수 있다. 분할 키들이 생성시 서로 다른 순서로 이용되는 경우 또는 이들이 분할 키들의 생성시에는 알려져 있지 않은 순서로 이용되는 경우에 이러한 교환적 속성이 유용할 수 있다. 분할 키 암호체계들의 (그룹의) 앞서 상술한 실시 예들에서 용어 "~이(또는 ~가) 되도록(such that)"이 이용되는 경우에, 이 용어는 이러한 분할 키 암호체계(들)의 (그룹의) 속성(거동(behavior) 또는 특성(characteristic))을 정의하는 효과를 낳는다고 이해되어야 한다.
상술한 분할 키 암호체계들의 예들이 이하에서 더욱 상세하게 설명될 것이다.
도 2는 본 발명의 하나의 실시 예에 따른 비밀키 생성기(200)의 개략도를 도시한다. 비밀키 생성기는 암호 알고리즘들과 연관된 암호화/복호키 쌍 e,d을 생성하기 위한 암호 생성기(cipher generator)(202)를 포함할 수 있다. 하나의 실시 예에 있어서, 이러한 암호 알고리즘들은 미리 결정된 (의사(pseudo)) 랜덤 암호 알고리즘(215), 미리 결정된 암호 알고리즘(216), 및 암호화 또는 복호키들 e,d 중의 적어도 하나를 기초로 하여 분할 키들을 생성하기 위한 분할 키 생성기(204), 및 미리 결정된 랜덤 분할 키 알고리즘(220), 및 추가적 분할 키 알고리즘(220)을 포함할 수 있다. 하나의 실시 예에 있어서, 추가적 분할 키 알고리즘은 결정적(deterministic) 분할 키 알고리즘일 수 있다. 다른 실시 예들에서, 추가적 분할 키 알고리즘은 의사 랜덤 요소를 포함할 수 있다. 암호 생성기 및 분할 키 생성기는 미리 결정된 분할 키 암호체계를 위해 요구되는 키들을 생성하도록 구성될 수 있고, 이것은 이하에서 더욱 상세하게 설명될 것이다.
도 2의 예에서, 암호 생성기는 몇몇 설정 파라미터(configuration parameter)들(212), 예컨대, 암호키(들)의 길이, 복호키들의 길이, 생성될 난수(random number)들의 길이를 기초로 하여 시크릿 정보(S)(210)를 생성하도록 구성된 의사 랜덤 생성기(208)를 포함할 수 있다. 시크릿 정보(S)는 의사 랜덤 키 생성기(215)를 기초로 하여 (랜덤) 암호키 e(214)를 생성하는 데 이용될 수 있다. 암호 알고리즘(216)은 복호키 d(218)를 생성하기 위하여 랜덤 암호키 e를 이용할 수 있다.
시크릿 정보(S)는 이용되는 특정 암호 알고리즘에 의존할 수 있다. 하나의 실시 예에 있어서, 시크릿 정보(S)는 암호 알고리즘을 기초로 하여 d 또는 e를 계산하기 위해 필요한 정보 및/또는 분할 키들을 계산하기 위해 필요한 정보일 수 있다. 예를 들어, 이하에서 더욱 상세하게 설명되는 바와 같이, RSA 방식 복호키 및 분할 복호키들을 이용하는 것이 오일러 토션트 함수(Eurler's totient function)
Figure pct00008
(n)를 결정하기 위해 소수(prime)들 p 및 q의 지식을 요하는 경우가 존재한다.
다른 실시 예들에서, d, e 및 분할 키 시크릿을 생성하기 위해 필요한 특정 정보를 유지하도록 선택할 수 있다. 예를 들어, 이하에서 더욱 상세하게 설명되는 바와 같이, 이하에서 설명되는 RSA 방식, EIGamal 방식, 및/또는
Figure pct00009
(DJ) 방식에서, 파라미터들 n 및 p를 퍼블릭(public) 정보는 아니되 프라이빗(private)(시크릿) 정보로서 취급하도록 결정할 수 있다. 예를 들어, n 또는 p를 암호화된 정보로서 CCU로 전송하도록 결정할 수 있다.
또 다른 실시 예들에서, 비밀키 정보(S)는 "비어 있을(empty)" 수 있는데, 예컨대, RSA 방식, EIGamal 방식 및/또는
Figure pct00010
(DJ) 방식에서 파라미터들 n 및 p가 퍼블릭 정보로서 이용되는 경우가 존재한다. 이 경우에 있어서, e를 결정하기 위하여 d 외에 아무런 추가적인 시크릿 정보를 요하지 않는다(또는 그 반대의 경우도 마찬가지이다).
시크릿 정보(S) 및 복호키 d는 분할 키들, 예컨대, 분할 암호키들 및/또는 분할 복호키들을 생성하기 위하여 분할 키 생성기(202)에 의해 이용될 수 있다. 이러한 목적을 위해서, 시크릿 정보(S)는 랜덤 분할 복호키 d2(222)를 생성하기 위하여 의사 랜덤 분할 키 생성기(220)에 입력될 수 있다. 추가적 분할 키 암호 알고리즘(224)은 d 및 d2를 기초로 하여 추가적 분할 복호키 d1(226)를 생성할 수 있다.
다른 실시 예에 있어서, 분할 키 생성기는 시크릿 정보(S) 및 d를 기초로 하여, k개의 분할 복호키들 d1,d2,...,dk(k≥2)를 생성하도록 구성될 수 있다. 추가적인 실시 예에 있어서, 분할 키 생성기는 i개의 분할 암호키들 e1,e2,...,ei(i≥2)을 생성하기 위하여 시크릿 정보(S) 및 암호키 e를 수신하도록 구성될 수 있다. 또 다른 추가적인 실시 예에서, 분할 키 생성기는 시크릿 정보(S) 및 암호키/복호키 쌍 e,d를 기초로 하여 i개의 분할 암호키들 e1,e2,...,ei 및 k개의 분할 복호키들 d1,d2,...,dk (i,k≥1 및 i+k>2)를 생성하도록 구성될 수 있다.
상술한 바와 같이, 암호화/복호화 알고리즘 쌍들 E,D은 분할 암호키들 및/또는 분할 복호키들을 생성하기 위하여 분할 키 알고리즘과 연관되어 있을 수 있다. 이하에서는, 다수의 이러한 분할 키 암호체계들이 설명된다.
제1 실시 예에 있어서, 분할 키 암호체계는 "원타임 패드(one-time pad)"로 알려진 대칭 암호화 알고리즘을 기초로 할 수 있다. 이러한 실시 예에 있어서, 암호키 e는 랜덤 생성기를 이용하여 긴 랜덤 이진수(random binary number)의 형태로 생성될 수 있다. 암호화 알고리즘 E는 e를 이용해서 익스클루시브-오어(exclusive-or)(XOR,
Figure pct00011
) 연산을 X에 적용함으로써 콘텐츠 아이템 X를 암호화된 콘텐츠 아이템 Xe로 암호화하기 위한 이진 함수일 수 있다:
e = RAN_1
Xe = EPT(X)= X
Figure pct00012
e
제1 분할 복호키 d1 및 제2 분할 복호키 d2는 e를 기초로 하여 형성될 수 있다. 예를 들어, 제2 분할 복호키 d2는 e와 동일한 길이를 갖는 랜덤 이진수일 수 있고, 제1 분할 복호키 d1는 d2와 e 간의 비트와이즈(bitwise) 익스클루시브-오어 연산을 수행함으로써 생성될 수 있다:
d2 = RAN 2
d1 = d2
Figure pct00013
e
제1 복호화 연산은 Xe 및 d1에 대해 비트와이즈 익스클루시브-오어 연산을 수행함으로써 암호화된 콘텐츠 아이템 Xe를 Xe,d1로 "부분적으로" 복호화할 수 있다. 제2 복호화 연산은 Xe,d1 및 d2를 기초로 하여 익스클루시브-오어 연산을 수행함으로써 부분적으로 복호화된 콘텐츠 아이템 Xe,d1을 콘텐츠 아이템 X으로 완전히 복호화할 수 있다:
Xe,d1 = Dd1(Xe) = Ee(X)
Figure pct00014
d1
Xe,d1,d2 = Dd2(Xe,dl)= Ddl(Xe)
Figure pct00015
d2 = X
만일 이진값(binary value)들 e, d1, 및 d2가 콘텐츠 아이템 X보다 짧다면, 이들 각각은 그 자체로 여러 번 이어질(concatenated) 수 있고, 이후 콘텐츠 아이템 X의 길이로 잘라질(truncated) 수 있다. 하지만, 이러한 이어짐(concatenation)은 시스템의 보안을 감소시킬 것이다.
상술한 이중(double) 분할 키 "원타임 패드" 암호체계는 k개의 분할 복호키들 및/또는 i개의 분할 암호키들을 가진 분할 키 암호체계로 용이하게 일반화될 수 있다. 예를 들어, 하나의 실시 예에 있어서, d1
Figure pct00016
d2 = e가 되도록 긴 이진 스트림(binary stream)들 d1 및 d2를 선택하는 대신, k-1개의 랜덤 이진 스트림들 d1 ... dk-1이 생성될 수 있고, 최종 랜덤 이진 스트림은 결정적 관계(deterministic relation) dk = d1
Figure pct00017
...
Figure pct00018
dk-1
Figure pct00019
e를 이용해서 결정될 수 있다.
유사한 방식으로, i개의 분할 암호키들 및 k개의 분할 복호키들을 가진 할 키 암호체계가 생성될 수 있다. 이 실시 예에 있어서, 암호화 및 복호화 알고리즘들 D,E는 동일한데, 즉, 양쪽 모두 익스클루시브-오어 연산으로 수행된다. 게다가, 암호화 및 복호화 알고리즘들은 가환적(commutative)이어서, 분할 키들은 임의의 원하는 순서로 생성될 수 있고, 암호화 및 복호화 연산들은 임의의 원하는 순서로 수행될 수 있다.
제2 실시 예에 있어서, 분할 키 암호체계는 대칭 스트림 암호를 기초로 할 수 있다. 도 3의 (A) 및 (B)는 본 발명의 다양한 실시 예들에 따른 분할 키 암호체계에서 사용하기 위한 스트림 암호(stream cipher)들을 도시한다.
특히, 도 3의 (A)는 암호키 e를 기초로 하여 콘텐츠 아이템 X의 Xe로의 비트와이즈 암호화를 제공하는 암호화 알고리즘 E로서 선형 스트림 암호(linear stream cipher)를 도시한다. 선형 스트림 암호는 하나 이상의 복수의 LFSR(linear feedback shift register)들 3021-3023을 이용할 수 있는데, 이것은 하나 이상의 XOR 함수들 3041,3042에 의해 결합될 수 있다. LFSR은 하나 이상의 미리 설정된 탭(tap)들 3061,3062을 포함할 수 있다. 키 k는 (이 예에서 세 개의) LFSR들 {k1, k2, k3,...,km}의 시작 상태(start state)를 형성할 수 있고, 선형 스트림 암호는 이용되는 키들 k에 대해 선형이다(linear).
이 분할 키 암호체계에서, 암호키 e 및 제1 분할 복호키는 각각 랜덤 비트(random bit)들 {e1,e2,e3, ... ,em} 및 {d11,d12,d13,... ,d1m}의 세트로서 생성될 수 있고, 분할 복호키 d2는 e와 d1의 비트와이즈 XOR, 즉, d2 = e
Figure pct00020
d1로서 계산될 수 있다.
도 3의 (B)는 하나 이상의 복수의 LFSR(linear feedback shift register)들 3081,3082(하나 이상의 미리 설정된 탭들 3101,3102를 선택적으로 포함함)를 이용하는 비선형 스트림 암호(non-linear stream cipher)를 도시하고, 이것은 부분적 비선형(partial non-linear) "결합 생성기(combination generator)"를 이용해서 결합될 수 있다. 둘 이상의 LFSR들 3081,3082이 의사-랜덤 비트 스트림(bit stream)들을 생성하도록 구성될 수 있고, 여기서 키 k는 LFSR들 {k1,k2,k3, ... ,km}의 시작 상태를 형성할 수 있다. 하나 이상의 추가적인 LFSR들(312)은 비선형 "결합 생성기"(314)(선택기(selector))로서 구성될 수 있다.
이러한 구체적인 실시 예에 있어서, 추가적인 LFSR의 출력은 다른 두 개의 LFSR들 중의 어느 비트가 선택기의 출력(316)으로 취해지는지를 선택하는 데 이용된다. 추가적인 LFSR의 시작 상태를 정의하는 비트들 p {p1,p2,p3,...,pn}이 미리 설정될 수 있다. 스트림 암호는 k에서 선형이기 때문에, 복호키는 e와 d1의 비트와이즈 XOR, 즉, d2 = e
Figure pct00021
d1로서 계산될 수 있다. 또한, 다른 부분적 비선형 함수(partial non-linear function)들이 결합 생성기로서 이용될 수 있다.
스트림 암호들은 원타임 패쓰(one-time path) 알고리즘과 비교할 때 더 짧은 길이의 키들을 요하는 용이하게 구현가능한 대칭 암호들을 형성한다. 부분적 비선형 결합 생성기의 비선형 부분은 모종의 공격에 대해 더욱 안전한 암호를 만든다.
제3 실시 예에 있어서, 분할 키 암호체계는 RSA 암호화 방식으로 알려진 비대칭 암호화 알고리즘을 기초로 할 수 있다. 이 경우에 있어서, 암호화/복호키 쌍 e,d는 이하의 암호 알고리즘들을 이용해서 얻어진다:
- 유사한 비트 길이(bit-length)의 두 개의 구별되는 소수(prime number)들 p 및 q를 랜덤하게(randomly) 선택함;
- n = p*q을 계산함;
-
Figure pct00022
(n) = (p-1)*(q-1)를 계산함, 여기서,
Figure pct00023
는 소위 오일러 토션트 함수임;
- 1 < e <
Figure pct00024
(n), 및 gcd(e,
Figure pct00025
(n)) = 1(즉, e 및
Figure pct00026
(n)은 서로소(coprime))이 되도록 하는 정수 e를 랜덤하게 선택함;
- e(mod
Figure pct00027
(n))의 역수(multiplicative inverse)를 계산함으로써, 즉, d = e-1(mod
Figure pct00028
(n))에 의해서 d를 결정함.
파라미터들 p, q,
Figure pct00029
(n), e, d, 및 n은 추가 사용(further use)을 위해 시크릿 정보로서 저장될 수 있다. 특히, n 값은 콘텐츠 배포자(분할 키 정보를 기초로 한 복호화가 CDN에서 수행되는 경우) 및 CCU와 공유될 필요가 있는데, 이 개체들(entities)은 암호화 및 복호화 연산들을 수행하기 위하여 n을 필요로 하기 때문이다. n 값은 콘텐츠 트랜젝션과 연관이 있는 프로토콜 메시지들 내에서 콘텐츠 배포자 및 CCU로 전송될 수 있다. 하나의 실시 예에 있어서, 복수의 트랜젝션들이 동일한 시크릿 정보를 이용하는 경우에, n은 한 번만 전달될 필요가 있다.
콘텐츠 아이템 X는 패딩 스킴(padding scheme)이라고 알려진 합의된 가역 프로토콜(agreed-upon reversible protocol)을 기초로 하여 처리될 수 있는데, 이것은 X를 0 < x < n인 정수 x로 되게 한다. 만일 X가 너무 길다고 프로세스가 결정하면, X를 길이 요구사항을 각각 만족시키는 블록들로 나눌 수 있다. 그 이후에, 각각의 블록은 패딩 스킴에 따라서 개별적으로 처리된다.
X를 Xe로 암호화하기 위한 RSA 암호화 알고리즘 E은 다음과 같이 계산될 수 있다:
Xe = Ee(X) = Xe(mod n).
분할 복호키들 d1 ,d2의 쌍을 결정하기 위한 분할 키 알고리즘은 다음의 단계들을 포함할 수 있다:
- 1 < d1 <
Figure pct00030
(n)이고, d1
Figure pct00031
(n)은 서로소가 되도록 랜덤하게 정수 d1을 선택함;
- d2 = d1 -1 * d(mod
Figure pct00032
(n))을 결정함.
복호화 알고리즘 D 및 분할 암호키 d1을 기초로 하는 제1 복호화 연산은 Xe,d1 = Dd1(Xe)=(Xe d1)(mod n)(읽기: Xe의 d1승에 이어지는 모듈로(modulo) n 연산)을 계산함으로써 "부분적으로" 복호화된 콘텐츠 아이템을 생성할 수 있다. 복호화 알고리즘 D 및 분할 암호키 d2를 기초로 하는 제2 복호화 연산은 Xe,d1,d2 = Dd2(Xe,d1)=(Xe,d1 d2)(mod n)을 생성할 수 있다. 원래의(original) 평문 콘텐츠 아이템 X는 패딩 스킴을 역으로(in reverse) 적용함으로써 Xe,d1 d2로부터 유도될 수 있다.
RSA 암호화 및 복호화 알고리즘들(E 및 D)은 동일하기 때문에, 분할 암호키들의 쌍 e1, e2을 결정하기 위한 분할 키 알고리즘은 분할 복호키들을 결정하기 위한 동일한 알고리즘을 기초로 하여 결정될 수 있다.
상술한 이중 분할 키 RSA 암호체계는 k개의 키들을 가진 복수의 분할 키 암호체계로 일반화될 수 있다. 이러한 목적을 위해서, d1 * d2 = d(mod
Figure pct00033
(n))가 되도록 하는 d1 및 d2을 선택하는 대신에,
Figure pct00034
(n)과 서로소인 k-1개의 랜덤 (바림직하게는 서로 상이한) 정수들 d1 , ... , dk-1이 결정되고, 마지막 정수 분할 키 dk는 결정적 관계: dk = (d1 * ... * dk-1)-1 * d(mod
Figure pct00035
(n))에 따라서 계산된다. RSA 암호화 및 복호화 알고리즘들 E,D는 가환적(commutative)이어서, 이 키들은 임의의 원하는 순서로 생성될 수 있고, 암호화 및 복호화 연산들은 임의의 원하는 순서로 수행될 수 있다.
분할 키 RSA 암호체계는 RSA 키들이 시크릿 정보
Figure pct00036
(n) 없이는 분할될 수 없다는 추가적인 이점을 가진다. 이러한 방식으로, 허가받지 않은 자(unauthorized party)가 SKG에 제공되는 키들을 분할할 수 없다는 것이 보장된다. 이것은, 중간자가 SKG에 의해서 제공되는 키를 가로채서 그것을 그 자신의 비밀키와 결합시키는, 소위 중간자 공격(man-in-the-middle attack)들을 방지할 것이다. 게다가, 이것은 또한 (도 1을 참조하여 설명된 바와 같은) 보안 채널을 이용하지 않고서도 제2 분할 키 정보를 CCU에 공급하는 것을 가능하게 한다.
그래서, 하나의 실시 예에 있어서, 본 발명에 따라 분할 키 RSA 암호체계를 이용할 때, 제2 분할 키 정보는 비보안 채널(non-secured channel) 예컨대, 브로드캐스트 또는 멀티캐스트를 통해서 CCU에 공급될 수 있다. 이와 달리, 제2 분할 키 정보는 암호화된 콘텐츠와 함께 광학적 또는 자기 저장 매체에 저장될 수 있는데, 분할 키는 DVD의 비보호 저장 영역(unprotected storage area)에 저장된다.
제4 실시 예에 있어서, 분할 키 암호체계는 EIGamal(EG) 암호화 방식으로 알려진 비대칭 암호화 알고리즘을 기초로 하여 형성될 수 있다. EG 방식은 RSA의 인수분해 문제(factoring problem)가 아니라 이산 대수 문제(discrete logarithm problem)를 기초로 한다. 이 경우에 있어서, 암호화/복호키 쌍 e,d는 이하의 암호 알고리즘들을 기초로 하여 결정될 수 있다:
- 곱셈군(multiplicative group) {0, 1 ,..., p-1 } mod p를 생성하는 생성기(generator) g 및 큰 소수(large prime number) p를 선택함;
- 난수를 선택함으로써 d를 결정함: d ∈ {1, ...,p-2};
- h = (gd)(mod p)를 계산함;
- 공개키 e =(p,g,h)를 계산함.
e는 시크릿 정보를 누출하지 않으면서 공개될(published) 수 있기 때문에 "공개(public)"라고 불린다는 점에 유의해야 한다. 하나의 실시 예에 있어서, e는 써드파티들(예컨대, 사용자-생성 콘텐츠(user-generated content)를 생성하거나 업로드하는 사용자들)이 시스템을 위해 콘텐츠를 암호화할 수 있도록 공개될 수 있지만, 콘텐츠 소스 또는 콘텐츠 제공자(CS, CPS)는 (부분적인(partial)) 복호화 단계들에 대해서 완전한 통제를 유지한다. 하지만, e를 공개할 필요가 없는 경우에 이것은 프라이빗(private)으로 유지된다.
복호키 d 및 (공개) 암호키 e = (p, g, h)는 ― 여기서, p,g,h는 정수 ― 장래의 이용을 위해서 시크릿 정보로서 저장될 수 있다. 특히, p 값은 콘텐츠 배포자(분할 키 정보를 기초로 한 복호화가 CDN에서 수행되는 경우) 및 CCU와 공유될 필요가 있는데, 이 개체들은 암호화 및 복호화 연산들을 수행하기 위하여 p를 필요로 하기 때문이다. p 값은 콘텐츠 제공자와 CCU 간의 콘텐츠 트랜젝션 동안 교환되는 프로토콜 메시지에 포함될 수 있다. 하나의 실시 예에 있어서, 복수의 트랜젝션들이 동일한 시크릿 정보를 이용할 수 있다. 이 경우에, p는 콘텐츠 배포자 및 CCU에게 한 번만 전달될 필요가 있을 것이다.
콘텐츠 아이템 X는 패딩 스킴이라고 알려진 합의된 가역 프로토콜을 기초로 하여 처리될 수 있는데, 이것은 X를 0 < x < p인 정수 x로 되게 한다. 만일 X가 너무 길다고 프로세스가 결정하면, X를 길이 요구사항을 각각 만족시키는 블록들로 나눌 수 있다. 그 이후에, 각각의 블록은 패딩 스킴에 따라서 개별적으로 처리된다.
콘텐츠 아이템 X를 Xe로 암호화하기 위한 암호화 알고리즘 Ee(X)는 다음의 단계들을 포함할 수 있다:
- 난수 s ∈ {1, ... , p-2}를 선택함;
- Xe = Ee(X,s) =(Y1,Y2)=((gs)(mod p),(X * hs)(mod p))를 결정함.
유사하게, 암호화된 콘텐츠 아이템 Xe를 복호화하기 위한 복호화 연산 Dd(Y1,Y2)는 다음과 같이 계산될 수 있다:
- Dd(Y1,Y2) = (Y1 -d*Y2)(mod p)(이것은 실제로 (g-ds*hs*X)(mod p) = X와 동일).
분할 복호키의 쌍 d1,d2를 결정하기 위한 분할 키 EG 알고리즘은 다음의 단계들을 포함할 수 있다:
- 난수 d1 ∈ {1 ,...,p-2}가 되도록 d1을 결정함;
- d2 = (d-d1) mod p를 계산함.
상술한 이중 분할 키 EG 암호체계는 k개의 분할 암호키들을 가진 복수의 분할 키 암호체계로 일반화될 수 있다. 이러한 목적을 위해서, d1 + d2 = d mod p가 되도록 하기 위한 d1 및 d2를 선택하는 대신에, p보다 작은 k-1개의 랜덤 정수들 d1... dk-1이 선택될 수 있고, 마지막 정수는 dk = d -(d1 + ... + dk-1)(mod p) 관계에 따라서 계산될 수 있다.
랜덤 암호화 파라미터 s를 l개의 파트(part)들로 분할하기 위한 분할 키 EG 알고리즘은 다음과 같이 정의될 수 있다:
- 최초 파티(first party)가 난수 s ∈ {1, ..., p-2}를 선택함;
- 최초 파티는 s = (s1 + s2 + ... + s l ) mod p가 되도록 하기 위하여 l개의 난수들 si ∈ {1, ..., p-2}, 1 < i < l을 선택하고, si를 파티(party) i에게 보냄;
-
Figure pct00037
로 함.
- 1부터 l-1까지의 i에 대해서 이하를 수행함,
파티 i는 (gs mod p, Yi)를 파티 i+1에게 보냄;
파티 i+1는 그 암호화 단계를 수행함:
Figure pct00038
.
s = (s1 + s2 + ... + s l ) mod p이기 때문에, (gs mod p, Y l ) = Ee(X, s)라는 것이 용이하게 확인될 수 있다. 상이한 암호화 단계들은 가환적이다.
복호화 알고리즘 D 및 d1을 기초로 하는 제1 복호화 연산은 Dd1(Xe) = Dd1(Y1,Y2) =(Y1, Y1-d1 *Y2(mod p))를 계산함으로써 암호화된 콘텐츠 Xe를 Xe,d1로 "부분적으로" 복호화하는 데 이용될 수 있다. 부분적으로 복호화된 콘텐츠 Xe,d1은 동일한 제1 요소 Y1과 함께 쌍으로 표현된다. Y1은 암호화(encryption)의 일부이기 때문에, 이것은 프로토콜 메시지들에 포함될 수 있다.
복호화 알고리즘 D 및 d2를 기초로 하는 제2 복호화 연산은 Xe,d1,d2 = Dd2(Xe,d1)를 계산함으로써 완전히 복호화된 콘텐츠를 결정하는 데 이용될 있는데, 여기서, Xe,d1,d2의 제2 요소는 x와 같을 것이다: Xe,d1,d2 = Dd2(Xe,d1) = Dd2(Dd1(Y1,Y2)) = Y1, Y1 -d2 * Y1 -d1 * Y2)(mod p)) = (Y1,(Y1 -d * Y2)(mod p)) = (Y1, X). 원래의 콘텐츠 아이템 X는 패딩 스킴을 역으로(in reverse) 적용함으로써, 계산된 Xe,d1 d2로부터 결정될 수 있다.
EG 복호화 알고리즘 D는 가환적이어서, 복호키들은 임의의 원하는 순서로 생성될 수 있고, 복호화 연산들은 임의의 원하는 순서로 수행될 수 있다. 유사하게, 암호화 알고리즘 또한 가환적이어서, 암호키들은 임의의 원하는 순서로 생성될 수 있고, 암호화 연산들은 임의의 특정 순서로 수행될 수 있다.
상술한 RSA 및 EG 분할 키 암호체계들은 곱셈 준동형(multiplicative homomorphic)인데, D(E(Z1)
Figure pct00039
E(Z2))=(Z1
Figure pct00040
Z2)(mod p) 속성을 나타낸다는 점에 주목해야 한다. 신호 처리의 맥락에서, 덧셈 준동형(additive homomorphic) 방식은 유익한 속성을 가질 수 있는데, 예컨대, 암호화된 신호에 워터마크(watermark)의 추가를 가능하게 한다. 덧셈 준동형 암호체계는 D(E(Z1)
Figure pct00041
E(Z2))=(Z1+Z2)(mod p) 속성을 나타낸다.
제5 실시 예에 있어서, 분할 키 암호체계는
Figure pct00042
(DJ) 암호체계로 알져진 덧셈 준동형 암호체계를 기초로 할 수 있다. DJ 암호체계를 위한 암호화/복호화 쌍 e,d는 다음의 암호 알고리즘들을 이용해서 생성될 수 있다:
- p = 2p'+1 및 q = 2q'+1 또한 소수가 되도록 하기 위한 두 개의 큰 소수(prime number)들을 선택하고, 여기서, n = p*q는 시스템(system)의 모듈러스(modulus)로서 정의됨;
- 곱셈군 {1, ..., n-1} mod n의 모든 제곱(square)들을 생성하는 생성기 g를 선택함. 모든 제곱들의 그룹은 사이즈 T = p'*q'를 가질 것임;
- 난수 d ∈ {1,..., T-1}로서 d를 선택하고, h = gd mod n을 계산함;
- (공개) 암호키 e =(n,g,h)를 결정함.
e는 시크릿 정보를 누출하지 않으면서 공개될 수 있기 때문에 "공개"라고 불린다는 점에 유의해야 한다. 하나의 실시 예에 있어서, e는 써드파티들(예컨대, 사용자-생성 콘텐츠를 생성하거나 업로드하는 사용자들)이 시스템을 위해 콘텐츠를 암호화할 수 있도록 공개될 수 있지만, 콘텐츠 제공자(CS, CPS)는 (부분적인(partial)) 복호화 단계들에 대해서 완전한 통제를 유지한다. 하지만, e를 공개할 필요가 없는 경우에 이것은 프라이빗(즉, 시크릿(secret))으로 유지된다.
p,g, 및 d는 e =(n,g,h)와 함께 시크릿 정보(S)로서 저장될 수 있다. n 값은 콘텐츠 배포자 및 CCU와 공유될 필요가 있는데, 이 개체들은 암호화 및 복호화 연산들을 수행하기 위하여 n을 필요로 하기 때문이다. n 값은 콘텐츠 제공자와 CCU 간의 콘텐츠 트랜젝션 동안 교환되는 프로토콜 메시지에 포함될 수 있다. 하나의 실시 예에 있어서, 복수의 트랜젝션들이 동일한 시크릿 정보를 이용할 수 있다. 이 경우에, n은 콘텐츠 배포자 및 CCU에게 한 번만 전달될 필요가 있을 것이다.
콘텐츠 아이템 X는 패딩 스킴이라고 알려진 합의된 가역 프로토콜을 기초로 하여 처리될 수 있는데, 이것은 X를 0 < x < n인 정수 x로 되게 한다. 만일 X가 너무 길다고 프로세스가 결정하면, X를 길이 요구사항을 각각 만족시키는 블록들로 나눌 수 있다. 그 이후에, 각각의 블록은 패딩 스킴에 따라서 개별적으로 처리된다.
콘텐츠 X를 Xe로 암호화하기 위한 암호화 알고리즘 Ee(X)는 다음의 단게들을 포함할 수 있다:
- 난수 r ∈ {0,..., n-1}을 선택함;
- Xe = Ee(X, r) = (Y1,Y2) = (g', h'n *(n+1)x mod n2)이 되도록 하기 위한 g'=gr mod n 및 h'=hr mod n을 계산함.
암호화된 콘텐츠 아이템 Xe를 복호화하기 위한 복호화 알고리즘 Dd(Y1,Y2)은 다음의 단계들을 포함할 수 있다:
- H' = (Y2 * g'(-d*n))(mod n2)를 계산함
- X = Xe,d = (H'-1 ) * n-1 mod n2를 결정함.
방정식에서 H' = ((n+1)x)(mod n2) = (n*X+1)(mod n2)이기 때문에, 이것은 실제로 원하는 결과 Xe,d = Dd(Y1,Y2) = X를 낳는다. 분할 복호키들 d1 및 d2의 쌍을 결정하기 위한 분할 키 알고리즘은 다음의 단계들을 포함한다:
- 난수 d2 ∈ {0,...,n -1}가 되도록 d2를 결정함;
- d1 = (d - d2) mod n을 계산함.
랜덤 암호화 파라미터 r을 l개의 파트(part)들로 분할하기 위한 분할 키 EG 알고리즘은 다음과 같이 정의될 수 있다:
- 최초 파티(first party)가 난수 r ∈ {1, ..., p-1}을 선택함;
- 최초 파티는 r = (r1 + r2 + ... + r l ) mod n이 되도록 하기 위하여 l개의 난수들 ri ∈ {1, ..., p-1}, 1 ≤ i ≤ l을 선택하고, ri를 파티(party) i에게 보냄;
-
Figure pct00043
- 1부터 l-1까지의 i에 대해서 이하를 수행함,
파티 i는 (gr mod n, Yi)를 파티 i+1에게 보냄;
파티 i+1는 그 암호화 단계를 수행함:
Figure pct00044
.
r = (r1 + r2 + ... + r l ) mod n이기 때문에, (gr mod n, Y l ) = Ee(X, r)이라는 것이 용이하게 확인될 수 있다. 상이한 암호화 단계들은 가환적이다.
복호화 알고리즘 D 및 d1를 기초로 하는 제1 복호화 연산은 Dd1(Xe)= Dd1(Y1,Y2)=(Y1,Y'2) = (Y1,(Y1 (-d1*n)*Y2)(mod n2))를 계산함으로써 암호화된 콘텐츠 Xe를 Xe,d1로 "부분적으로" 복호화하는 데 이용될 수 있다. 그래서, "부분적으로" 복호화된 콘텐츠 Xe,d1은 쌍(Y1, Y'2)으로 표현되는데, Y1은 전형적으로 프로토콜 메시지들에 포함될 수 있다. 하나의 실시 예에 있어서, 만일 복수의 트랜젝션들이 동일한 시크릿 정보 및 동일한 난수 r을 기초로 하면, Y1은 변하지 않고, 콘텐츠 배포자 및 CCU에게 한 번만 전달될 필요가 있을 수 있다.
알고리즘 D 및 d2를 기초로 하는 제2 복호화 연산은 H'=(Y1 (-d2*n) * Y'2)(mod n2) 및 x=((H'-1 )*n-1) mod n2을 계산함으로써 완전히 복호화된 콘텐츠를 결정하는 데 이용될 수 있다. 실제로, H'=(Y1 -(d2+d1)n*Y2) mod n2 = (Y2 * g'(-d*n))(mod n2)이므로, 분할 키 암호가 올바르다는 것을 보인다.
상술한 분할 키 DJ 암호체계는 k개의 분할 복호키들을 가진 복수의 분할 키 암호체계로 용이하게 일반화될 수 있다. 이러한 목적을 위해서, d1 + d2 = d mod n가 되도록 하기 위한 d1 및 d2를 선택하는 대신에, n보다 작은 k-1개의 랜덤 정수들 d1 ... dk-1이 선택될 수 있고, 마지막 정수는 dk = d - (d1 + ... + dk-1)(mod n)로서 계산될 수 있다.
DJ 복호화 알고리즘 D는 가환적이어서, 복호키들은 임의의 원하는 순서로 생성될 수 있고, 복호화 연산들은 임의의 원하는 순서로 수행될 수 있다. 암호화 알고리즘에 대해서 동일한 내용이 적용된다.
도 4는 본 발명의 다양한 실시 예들에 따른 암호화/복호화 쌍 e,d 및 관련 분할 키들의 생성을 도시하는 흐름도들을 도시한다. 특히, 흐름도들은 도 2를 참조하여 설명된 바와 같은 비밀키 생성기에서 수행되는 프로세스들에 상응한다. 도 4의 (A)는 시크릿 정보(S)의 생성을 도시한다. 제1 단계(402)에서, 생성될 키들의 길이 또는 소수(prime number)의 길이와 같은 파라미터들이 결정된다. 이 파라미터들은 랜덤 프로세스 함수(random process function)(404)를 위한 입력으로서 이용된다. 랜덤 프로세스 함수는 시크릿 정보(S)를 생성하기 위한 물리적 프로세스, 예컨대, 열잡음(thermal noise)을 기초로 하는 물리적 랜덤 생성기 또는 의사-랜덤 생성기일 수 있다. 시드(seed) 및 특정 암호체계를 기초로 하여 랜덤 생성기는 시크릿 정보(S)를 생성할 수 있다(406).
도 4의 (B)는 암호키 e 및 복호키 d의 생성을 도시한다. 시크릿 정보(S)(408)는 랜덤 암호키 e(412)를 생성하기 위해 특정 암호체계와 연관된 특정 랜덤 프로세스(410)에서 이용될 수 있다. 예를 들어, (상술한 바와 같은) RSA 암호체계를 이용하는 경우에, 암호키 e는 두 개의 구별되는 소수들 p 및 q의 랜덤 선택(random selection) 및 1 < e <
Figure pct00045
(n), 그리고 gcd(e,
Figure pct00046
(n))=1, 여기서 n=p*q이 되도록 하기 위한 정수 e의 후속 랜덤 선택(subsequent random selection)을 포함하는 프로세스를 기초로 하여 결정될 수 있다.
유사하게, (상술한 바와 같은) EG 암호체계를 이용하는 경우에, 암호키 e는 큰 소수 p와 곱셈군 {0, 1 ,..., p-1} mod p를 생성하는 생성기 g의 선택 및 이 그룹 d ∈ {1, ... , p-2}로부터의 랜덤 선택에 의한 d의 후속 결정을 포함하는 프로세스를 기초로 하여 결정될 수 있다.
이후, 이 암호체계와 연관된 랜덤 암호키 e 및 미리 결정된 결정적 암호 알고리즘(deterministic cipher algorithm)(414)을 기초로 하여, 관련 복호키 d(416)가 결정될 수 있다. 예를 들어, RSA 암호체계를 이용하는 경우에, 복호키는 d = e-1(mod
Figure pct00047
(n))로서 계산된다. 몇몇 실시 예들에서, 시크릿 정보(S)는 또한 d의 계산에서 이용될 수 있다. 예를 들어, 앞서 언급된 RSA 경우에서, 복호키는
Figure pct00048
(n)을 이용해서 계산되고, 이것은 시크릿 정보(S)의 일부이다.
다른 실시 예들에서, 복호키 d는 특정한 랜덤 프로세스를 기초로 하여 결정될 수 있고, 암호키 e는 (EG 또는 DJ 암호체계와 같은) 미리 결정된 암호 알고리즘을 이용해서 계산될 수 있다.
도 4의 (C)는 시크릿 정보(S)를 기초로 하는 분할 키들 d1의 생성을 도시한다. 시크릿 정보(S)(418)는 특정 암호체계와 연관된 특정 랜덤 분할 키 생성 프로세스(random split-key generating process)(420)에 의해서 이용될 수 있고, 이로써 제1 분할 키 d2(422)를 생성할 수 있다. 예를 들어, (상술한 바와 같이) RSA 암호체계를 이용하는 경우에, 분할 키 d2는 1 < d1 <
Figure pct00049
(n), 그리고 gcd(d1,
Figure pct00050
(n))=1(즉, e의 결정과 유사함)이 되도록 하는 정수 d1의 랜덤 선택을 기초로 하여 결정될 수 있다.
그 이후에, d2(422) 및 d(426)를 기초로 하여(그리고, 몇몇 실시 예들에서는, 시크릿 정보(S)를 기초로 하여), 관련 분할 키 d1(428)가 결정적 분할 키 알고리즘(deterministic split-key algorithm)(424)을 이용해서 결정될 수 있다. 예를 들어, RSA 경우에 있어서, 관련 분할 키는 d1 = (d2 ~1 * d)(mod
Figure pct00051
(n))로서 계산될 수 있다.
그래서, 상술한 내용으로부터, 다양한 대칭(symmetric) 및 비대칭(asymmetric) 암호체계는, 복호화 및/또는 암호키들 d 및 e를 각각 복수로 분할하는 것을 가능하게 하는 분할 키 알고리즘과 연관이 있을 수 있다는 결론이 나온다. 이러한 분할 키 암호체계들은 도 1을 참조하여 설명된 바와 같은 것을 포함하는 콘텐츠 전송 시스템에서 구현될 수 있다. 표 1은 키 정보 및 그 정보의 일부에 대한 포괄적인 오버뷰(comprehensive overview)를 제공하는데, 이것은 상이한 암호체계들을 위해서 CS, CD, 및 CCU에 배포될 필요가 있다. 이 표로부터, 분할 키 RSA, EG, 및 DJ 암호체계들을 위해서, 분할 키들 d1 및 d2뿐만 아니라 n (RSA와 DJ) 및 p (EG) 또한 CD 및 CCU에게 각각 보내진다.
이러한 정보는 적절한 "암호화 컨테이너(encryption container)"로 콘텐츠 배포 시스템에서의 개체들에게 보내질 수 있다. 특히, 콘텐츠 아이템을 (부분적으로) 암호화하도록 구성된 특정 개체(예컨대, CS와 연관된 암호화 모듈)에 암호화 정보를 보내기 위하여 소위 SECM(split-encryption control message)을 이용할 수 있고, 콘텐츠 아이템을 (부분적으로) 복호화하도록 구성된 특정 개체(예컨대, CCU 복호화 모듈의 CDN)에 복호화 정보를 보내기 위하여 SDCM(split-decryption control message)을 이용할 수 있다.
비밀키 생성기(secrete key generator: SKG)에 의해 생성되어 콘텐츠 소스(CS)에서의 암호화 모듈 및 CCU에서의 복호화 모듈로 보내지는 정보의 오버뷰.
암호체계 ↓ SKG → CS SKG → CCU SKG → CCU
원타임 패드
(One-time pad)
e = 랜덤 비트들의 긴 시퀀스
d1 = 랜덤 비트들의 긴 시퀀스 d2 = 랜덤 비트들의 긴 시퀀스
LFSR-based e = LFSR 디스크립션
(최초 상태, 탭들, ASG(Alternating Step Generator)와 같은 결합 함수들)
d1 = LFSR 디스크립션 d2 = LFSR 디스크립션
RSA p, q
{n = p*q}
e, d
n, d1 n, d2
EIGamal p, g, d
{h = gd mod p}, s =
사이즈 p의 랜덤 정수
p, d1 p, d2
Figure pct00052
p, q, g, d
{n = p*d;
h = gd mod n}, r =
사이즈 n의 랜덤 정수
n, d1 n, d2
도 5의 (A)는 콘텐츠 배포 시스템의 하이-레벨 개략도를 도시한다. 시스템은 일반적으로 하나 이상의 콘텐츠 소비 유닛들(CCU)(506)에 콘텐츠를 배포하기 위한 콘텐츠 소스(CS)(502) 및 콘텐츠 배포자(CD)(504)를 포함할 수 있다. 여기서, CD는 써드파티 콘텐츠 배포자, 즉, CPS의 일부가 아닌 하나 이상의 콘텐츠 배포 시스템들과 관련이 있다. 그래서, 도 5의 (A)의 콘텐츠 배포 시스템에서, 콘텐츠 제공자는 중간 당사자(intermediate party)인 콘텐츠 배포자에게 소비자에게로의 콘텐츠의 콘텐츠 전송을 위탁한다.
콘텐츠의 전송을 위탁하는 경우에, 콘텐츠 전송 네트워크(CDN)와 같은 콘텐츠 제공자와 콘텐츠 배포자 간의 모종의 신뢰 관계는, 콘텐츠가 임의의 미리 결정된 조건들에 따라서 예컨대 보안 전송에 따라서 전송되는 것 및 소비자가 콘텐츠 배포자에게 특정 콘텐츠 아이템을 요청할 때마다 콘텐츠 제공자가 정확하게 지불받는 것에 대해 콘텐츠 제공자가 콘텐츠 배포자를 신뢰할 수 있도록 하기 위하여 필요하다. 그래서, CS가 콘텐츠의 전송을 하나 이상의 콘텐츠 배포자들에게 위임하는 경우에, 무허가 액세스의 위험이 증가한다. 그러므로, 콘텐츠는 콘텐츠 보호 시스템에 의한 보호를 필요로 한다.
이하에서 더욱 상세하게 설명되는 바와 같이, 본 명세서에서 설명되는 바와 같은 분할 키 암호체계는 콘텐츠의 실제 전송이 하나 이상의 콘텐츠 배포자들에게 위탁되더라도 콘텐츠 생성기가 콘텐츠의 보안 전송의 완전한 제어(full control)를 유지하는 것을 가능하게 한다. 여기서, 콘텐츠 배포자는, 콘텐츠 소스로부터 콘텐츠 소비 유닛들에 콘텐츠를 배포하도록 구성된 콘텐츠 배포 플랫폼 또는 상이한 콘텐츠 배포 플랫폼들의 체인과 관련이 있을 수 있다. 콘텐츠 배포 플랫폼은 콘텐츠를 전송하기 위한 전자적 수단, 예컨대, 하나 이상의 콘텐츠 전송 네트워크(CDN)들을 이용하거나, 콘텐츠를 전송하기 위한 물리적 수단, 예컨대, 자기 기록 매체와 같은 기록 매체, 예컨대 DVD 및 블루레이(Blu-Ray) 기술을 이용하는 광학적 기록 매체, 또는 광자기 기록 매체를 이용할 수 있다.
도 5의 (B)는 본 발명의 하나의 실시 예에 따른 도 5의 (A)의 콘텐츠 전송 시스템에서의 분할 키 암호체계의 이용을 도시한다. 특히, 도 5의 (B)는 도 1의 (B)를 참조하여 설명된 바와 같은 콘텐츠 배포 시스템과 유사한 복호화 알고리즘 D을 기초로 하여, 암호화된 콘텐츠 아이템들을 복호화하도록 구성된 보안(복호화) 모듈(508)을 포함하는 CCU(506)와 키 생성기 S(520) 및 암호화 모듈 E(518)을 포함하는 CPS(502)를 도시한다. 도 5의 (B)의 시스템은 복호화 알고리즘 D를 포함하는 복호화 모듈(516)을 포함하는 CDN을 더 포함한다. 복호화 모듈은 분할 키 d1을 포함하는 분할 키 정보를 수신하도록 구성된다. 그래서, 이 실시 예에서, 비밀키 생성기 SKG(520)는 분할 키 d3(5221)를 포함하는 분할 키 정보를 생성할 수 있고, 도 1의 (B)를 참조하여 설명된 것과 유사한 방식으로 분할 키 정보를 CCU의 복호화 모듈에 (미리) 공급할 수 있다. 또한, 이 경우에 있어서, (미리) 구성하는 것은 복호화 모듈의 일부일 수 있는 분할 키 d2를 포함하는 분할 키 정보를 보안 하드웨어 유닛(510)에 저장하거나 내장시키는 것을 포함할 수 있다.
게다가, 암호화 모듈은 암호화된 콘텐츠 아이템을 생성하기 위하여 암호키 e를 포함할 수 있는 암호화 정보를 수신하도록 구성될 수 있는데, 이것은 나중에 입수되어(ingested) CDN(504)에 저장된다. CCU의 사용자가 콘텐츠 아이템 X를 요청하는 경우에, CCU는 콘텐츠 요청을 CPS에 보낼 수 있고, 이것은 이후에 분할 키 정보, 예컨대, 분할 키들 d1(5222) 및 d2(5223)를 생성하도록 키 생성기를 작동시킬 수 있다. 분할 키 d1은 CDN에 보내지고, CDN은 CCU의 복호화 모듈에 보내지는 부분적으로 복호화된 콘텐츠 아이템 Xe,d1을 생성하기 위하여 d1을 이용할 수 있다. 부분적으로 복호화된 콘텐츠 아이템 Xe,d1은 추가적인 부분적으로 복호화된 콘텐츠 아이템 Xe,d1,d2로 추가로 복호화될 수 있고, 이것은 이후에 d3를 기초로 하여 완전히 복호화된다. 그래서, 이 실시 예는, 각각의 콘텐츠 아이템이 각각의 CCU를 위해 고유하게 암호화되도록 하는 추가 보안(added security)과 도 1에 도시된 보안 콘텐츠 전송 시스템의 이점들을 결합한다.
도 6은 본 발명의 실시 예에 따라서 네트워크 CDN들을 포함하는 콘텐츠 전송 시스템에서의 분할 키 암호체계의 이용을 도시한다. 특히, 도 6의 (A)는 CDN 네트워크 CDN1-8에 연결된 CS(602)를 도시하는데, 특정 CDN들, 예컨대, "업스트림(upstream)" CDN2는 콘텐츠 아이템 X의 전송을 "다운스트림(downstream)" CDN5에 위탁할 수 있다. 이하에서 보이는 바와 같이, 본 발명에 따른 분할 키 암호체계들은 CS로부터 CDN 네트워크를 통해서 CUU에 보안 콘텐츠 배포를 제공하기 위하여 특히 적합하다.
이 비제한적인 예에서, 분할 키 암호체계는, 예컨대, 콘텐츠를 암호화하기 위하여 세 개의 분할 암호키들 e1,e2,e3을 이용할 수 있다. 이러한 방식으로, CS는 예컨대, 콘텐츠 아이템 X의 세 개의 암호화된 버전을 CDN1, CDN2, 및 CDN3에 각각 보낼 수 있는데, 여기서, 이러한 세 개 버전들 각각은 CDN1이 Xe1을 수신하고, CDN2가 Xe2를 수신하고, CDN3이 Xe3을 수신하도록 그 자신의 암호키를 가지고 암호화되었다. 이후, 관련 복호키 d를 기초로 하여, 비밀키 생성기는 복수의 분할 복호키들을 생성할 수 있는데, 이 예에서는 다섯 개의 (랜덤) 분할 복호키들 d4, ... ,d8을 생성할 수 있고, 이것은 콘텐츠 아이템 X의 전송을 CDN4-CDN8에 위탁할 때 이용될 수 있다. 게다가, 도 1을 참조하여 설명된 바와 같이 분할 키 dCL2를 가지고 CCU의 보안 하드웨어 모듈에서 복호화 모듈(620)을 (미리) 구성하기 위하여 추가적인 (랜덤) 분할 키가 이용될 수 있다.
특히, CDN4에 의한 콘텐츠 아이템 Xe1의 입수(ingestion)시에, CDN1은 CDN4에 보내기 전에 콘텐츠 아이템 Xe1을 Xe1,d4로 "부분적으로" 복호화할 수 있고, CDN4는 이후에 CCU로의 장래의 전송을 위해 Xe1,d4를 저장한다. 유사한 방식으로, CDN5는 (CDN2로부터 수신된) "부분적으로" 복호화된 아이템 Xe2,d5를 수신할 수 있고, CDN6는 (CDN2로부터 수신된) "부분적으로" 복호화된 아이템 Xe2,d6을 수신하고 저장할 수 있고, CDN7은 (CDN3으로부터 수신된) "부분적으로" 복호화된 아이템 Xe2,d7을 수신하고 저장할 수 있고, CDN8은 (CDN3으로부터 수신된) "부분적으로" 복호화된 아이템 Xe3,d8을 수신하고 저장할 수 있다.
콘텐츠 아이템이 CCU에 의해 요청되는 경우에, 선택된 CDN(예컨대, CDN4-CDN8 중의 하나)은 CS에 의해 보내진 분할 키를 기초로 하여 추가적인 부분적 복호화(partial decryption) 단계를 부분적으로 복호화된 콘텐츠에 적용할 것이다. 이 프로세스는 도 6의 (B)에서 도시되는데, CPS로부터 CDN2(604) 및 CDN5(606)을 거쳐서 요청 CCU(608)까지의 콘텐츠 아이템 X의 보안 전송을 보장하기 위하여 분할 키 암호체계를 위한 분할 키들을 생성하는 CPS(602)와 연관된 비밀키 생성기(610)를 도시한다. 이 경우에 있어서, CCU는 제1 (분할 키) 복호화 모듈(618)과 제2 (분할 키) 복호화 모듈(620)을 가진 보안 모듈(622)을 포함할 수 있는데, 제2 복호화 모듈은 분할 키를 가지고 (미리) 구성될 수 있는데, 이 예에서는 dCL2를 가지고 (미리) 구성될 수 있다. 하나의 실시 예에 있어서, 제2 복호화 모듈(610)은 분할 키 dCL2를 포함하는 보안 하드웨어 모듈(624)로서 구현될 수 있다. 상술한 바와 같이, 콘텐츠 아이템 X의 전송은 CDN2에 의해서 CDN5에 위탁되어서, 암호화된 콘텐츠 Xe2는 CDN5로 보내지기 전에 분할 복호키 d5를 기초로 하여 우선 Xe2,d5로 "부분적으로" 복호화되었다.
이후, 소비자가 콘텐츠 아이템 X를 구매하길 결정한다면, 콘텐츠 전송 시스템은 소비자의 콘텐츠를 CDN5로 리다이렉트(redirect)할 수 있고, 이것은 ― 요청 수신시에 ― 분할 키 알고리즘 예컨대, EG 분할 키 알고리즘: dCDN5 + dCL1 = (d2 - d5 - dCL2)(mod p)을 이용해서 두 개의 추가적 분할 복호키 dCDN5 및 dCL1을 생성하도록 비밀키 생성기에 신호를 보낼(signal) 수 있다. 여기서, d2는, CDN2에 배포된, 예컨대 RSA d2 = e2 -1(mod
Figure pct00053
(n))를 위해 Xe2를 생성하기 위하여 암호화 모듈(612)에 의해 이용되었던 분할 암호키 e2와 연관된 분할 복호키이다. 게다가, d5는, CDN2의 복호화 모듈(614)이 Xe2,d5를 생성하기 위하여 이용한 복호키이며, CDN2가 CDN5에 배포했으며, dCL2는 CCU에 공급된 분할 키이다. CS는 CDN5의 복호화 모듈(616)에 분할 키 dCDN5를 보낼 수 있다. 게다가, 분할 키 dCL1은 CCU의 보안 하드웨어 모듈 내의 복호화 모듈(622)에 보내질 수 있다. 여기서, 복호화 모듈은 적어도 하나의 제1 분할 키 dCL1을 포함하는 제1 분할 키 정보 및 복호화 알고리즘 D를 이용해서 적어도 하나의 제1 분할 복호화 연산(618)을 수행하도록 구성될 수 있고, 적어도 하나의 제2 분할 키 dCL2를 포함하는 제2 분할 키 정보 및 복호화 알고리즘 D를 이용해서 적어도 하나의 제2 분할 키 연산(620)을 수행하도록 구성될 수 있다. 복호화 모듈은 보안 모듈, 예컨대, 스마트 카드, (U)SIM 또는 다른 적절한 하드웨어 보안 프로세서로서 구현된다. CDN5는 dCDN5를 가지고 Xe2,d5를 Xe2,d5,dCDN5로 부분적으로 복호화하고 이것을 CCU에 보낼 수 있고, CCU는 Xe2,d5,dCDN5,CL1 및 Xe2,d5,dCDN5,CL1,CL2를 계산함으로써 최종 복호화 단계들을 수행하기 위하여 복호화 연산들(618,620)을 작동시킬(invoke) 수 있다. 그래서, 완전히 복호화된 콘텐츠 X=Xe2,d5,dCDN5,dCL1,dCL2는 CCU와 연관이 있는 디스플레이 모듈을 통해서 소비자에게 디스플레이될 수 있다.
이 실시 예는 CDN 네트워크를 통하여 다수의 CCU들로의 안전한 콘텐츠 전송을 위해 분할 키 암호체계가 특히 적절하다는 것을 보인다. CDN이 콘텐츠 아이템을 위탁할 때마다 또는 CUU가 콘텐츠 아이템을 요청할 때마다, CS는 분할 키를 생성하도록 연락된다(contacted). 이러한 방식으로, CDN 네트워크를 통한 콘텐츠 아이템의 전송은 완전히 투명하다. 게다가, 임의의 순간에 있어서, 어떠한 CDN도 콘텐츠를 완전히 복호화하기 위해 필요한 모든 키들을 가지지 않으므로, 콘텐츠 아이템의 보안 전송 및 배달이 가능하다. 그래서, 이 실시 예는 각각의 콘텐츠 아이템이 CDN들의 네트워크에서의 각각의 CDN을 위해 고유하게 암호화되도록 하는 추가 보안과 도 1에 도시된 보안 콘텐츠 전송 시스템의 이점들을 결합한다.
도 7은 본 발명의 실시 예에 따라서 콘텐츠를 콘텐츠 소비 유닛에 전송하기 위한 보안 콘텐츠 전송 시스템의 개략도를 도시한다. 이러한 구체적인 실시 예에 있어서, 콘텐츠 배포자(702)는 콘텐츠 전송 네트워크(CDN) 또는 CDN들의 네트워크로서 구현되는데, 예컨대, 제1 복호화 모듈(708)과 연관된 제1 CDN(704) 및 제2 복호화 모듈(710)과 연관된 제2 CDN(706)으로서 구현된다.
콘텐츠 소스(712)는 웹 포털(web portal)(716)에 연결된 콘텐츠 제공자 시스템(CPS)(714)을 포함할 수 있다. CPS는 암호화 모듈(718) 및 비밀키 생성기(1120)와 연관이 있을 수 있다. 복호화 모듈(1126)을 포함하는 하나 이상의 CCU(724)들은 전송 네트워크(transport network)(1122)를 통하여 콘텐츠 소스 및 콘텐츠 배포자와 통신할 수 있다.
CPS는 파일들 및/또는 스트림들의 형태로 콘텐츠 아이템들, 예컨대, 비디오, 픽쳐들, 소프트웨어, 데이터 및/또는 텍스트를 고객들에게 제공하도록 구성될 수 있다. 고객은 자신의 CCU 상에서 웹 포털(716)에 액세스함으로서 이 콘텐츠 아이템들을 구매할 수 있다. CCU는 클라이언트를 이용해서 CDN 및 CPS와 통신할 수 있다.
CDN은 콘텐츠 아이템들을 CCU로 효율적으로 전송하도록 구성된다. 콘텐츠 아이템의 전송은 라이브 스트림(live stream), 지연된 스트림(delayed stream), 또는 콘텐츠 파일(content file)의 형태일 수 있다. 여기서, 콘텐츠 파일은 일반적으로 서로에게 속한 콘텐츠 데이터를 처리하기 위해 이용되는 데이터 구조(data structure)와 관련이 있을 수 있다. 파일은 파일 구조(file structure)의 일부일 수 있고, 콘텐츠 파일들을 포함하는 파일들은 디렉토리(directory)에 저장되고 정렬되며(ordered), 각각의 파일은 파일명(file name) 및 파일 확장자명(file name extension)에 의해 식별된다.
삽도(730)는 CDN을 더욱 상세하게 도시한다. CDN은 전송 노드(delivery node)들(732,734) 및 적어도 하나의 중앙 CDN 노드(central CDN node)(736)를 포함할 수 있다. 전송 노드들은 CDN 전체에 걸쳐서 지리적으로 분산되어 있을 수 있다. 각각의 전송 노드는 제어기(controller)(738,740) 및 콘텐츠를 저장하고 버퍼링하기 위한 캐시(cache)(742,744)를 포함할(또는 연계되어 있을) 수 있다. 제어기는 하나 이상의 CCU들과 통신 세션(communication session)(756,758)을 수립하도록 구성될 수 있다.
중앙 CDN 노드는 외부 소스(754)(예컨대, 콘텐츠 제공자 또는 다른 CDN)로부터의 콘텐츠의 입수를 제어하기 위한 입수 노드(ingestion node)(또는 COF(content origin function))(748)를 포함할(또는 연계되어 있을) 수 있다. 게다가, 중앙 CDN은 콘텐츠 아이템이 CDN 내에서 저장되어 있는 위치에 대한 정보를 저장하기 위한 콘텐츠 위치 데이터베이스(750) 및 콘텐츠 아이템의 하나 이상의 사본들의 전송 노드들로의 배포를 제어하고 클라이언트들을 적절한 전송 노드들로 리다이렉팅하기 위한 CDNCF(CDN control function)(746)과 연계되어 있을 수 있다(후자의 프로세스는 리퀘스트 라우팅(request routing)으로 알려져 있음). CDNCF는 CPS, 다른 CDN, 및/또는 콘텐츠 소비 유닛(752)로부터 시그널링 메시지들을 수신하도록 추가로 구성될 수 있고, CPS, 다른 CDN, 및/또는 콘텐츠 소비 유닛(752)에 시그널링 메시지들을 송신하도록 추가로 구성될 수 있다. 콘텐츠의 사본들의 전송 노드들로의 배포는 CDN 전체에 걸쳐서 콘텐츠 소비 유닛으로의 콘텐츠 전송을 위한 충분한 대역폭이 보장되도록 제어될 수 있다. 하나의 실시 예에 있어서, CDN은 ETSI TS 182 019에서 설명된 바와 같이 CDN과 관련이 있을 수 있다.
소비자는 웹 포털(WP)에 콘텐츠 요청을 보냄으로써 CPS로부터 콘텐츠, 예컨대, 비디오 타이틀(video title)을 구매하기 위하여 클라이언트, 즉 콘텐츠 소비 유닛 상의 소프트웨어 프로그램을 이용할 수 있고, 웹 포털(WP)은 구매가능한 콘텐츠를 식별시키기 위한 타이틀 레퍼런스(title reference)들을 제공하도록 구성된다. 콘텐츠 요청에 응답하여, 클라이언트는 CDN의 CDNCF의 위치 정보(예컨대, URL) 및 WP로부터 타이틀 레퍼런스들의 적어도 일부를 수신할 수 있고, 이것은 선택된 콘텐츠를 콘텐츠 소비 유닛에 전송할 수 있다.
CDNCF는 선택된 콘텐츠를 클라이언트에 전송하도록 구성된 하나 이상의 전송 노드들과 연관된 클라이언트 위치 정보를 보낼 수 있다. 전형적으로, CDNCF는 선택된 콘텐츠를 클라이언트에 전송하기 위하여 가장 적합한 하나 이상의 전송 노드들을 CDN에서 선택할 수 있다. 전송 노드를 선택하기 위한 기준은 클라이언트의 지리적 위치 및 전송 노드들의 처리 부하(processing load)를 포함할 수 있다.
클라이언트는 HTTP 및/또는 DNS 시스템을 포함하는 다양한 알려진 기법들을 이용해서 CDN에서의 전송 노드와 연락을 주고받을 수 있다. 게다가, 콘텐츠를 클라이언트에 전송하기 위하여 다양한 스트리밍 프로토콜들이 이용될 수 있다. 이러한 프로토콜들은 HTTP 및 RTP 타입 스트리밍 프로토콜들을 포함할 수 있다. 하나의 실시 예에 있어서, HTTP 적응형 스트리밍(HAS), DVB 적응형 스트리밍, DTG 적응형 스트리밍, MPEG DASH, ATIS 적응형 스트리밍, IETF HTTP 라이브 스트리밍(Live streaming), 및 관련 프로토콜들과 같은 적응형 스트리밍 프로토콜이 이용될 수 있다.
도 7을 참조하여 설명된 콘텐츠 전송 시스템에서, 콘텐츠 소비 유닛의 클라이언트와 CPS 간의 트랜젝션이 수립될 수 있고, 콘텐츠의 전송은 하나 이상의 CDN들에 위임될 수 있다. 콘텐츠 전송의 써드파티로의 위임은 무허가 액세스의 위험을 증가시킨다. 그러므로, 콘텐츠는 분할 키 암호체계를 기반으로 하는 콘텐츠 보호 시스템에 의해 보호된다.
도 8은 본 발명의 실시 예에 따른 분할 키 암호체계를 이용하는 콘텐츠 전송 시스템의 프로토콜 흐름(protocol flow)의 개략도를 도시한다. 특히, 도 8은 도 1에 도시된 바와 같은 보안 콘텐츠 배포 시스템에서 사용하기 위한 프로토콜 흐름을 도시한다.
프로세스는 CS가 시크릿 정보(S)를 생성하기 위하여 암호화 모듈(EM)을 트리거링(triggering)하면서 시작될 수 있는데, 특히 EM과 연관이 있는 비밀키 생성기 SKG를 트리거링하면서 시작될 수 있다(단계 801). 시크릿 정보(S)는 특정한 콘텐츠 아이템 X, 예컨대, 특정한 콘텐츠 식별자 IDX와 관련이 있는 특정한 비디오 타이틀 또는 스트림과 연관이 있을 수 있고, 암호화 모듈의 보안키 데이터베이스에 저장될 수 있다(단계 802).
이후에, SKG는 시크릿 정보(S)를 기초로 하여 적어도 하나의 (의사) 랜덤 분할 키 d2를 생성할 수 있다(단계 804). DM에는 도 1을 참조하여 설명된 바와 같은 온라인, 오프라인, 또는 오버-더-에어(over-the-air) 공급 프로세스들을 이용하여 d2가 공급될 수 있다(단계 806). 예를 들어, 도 8에서, 분할 복호키 d2는 보안 채널을 통하여 SDCM(split-decryption control message)으로 CCU에 보내질 수 있다. 분할 복호키 d2는 이후에 CCU에서의 DM의 보안 메모리에 저장된다(단계 807).
이후, SKG는 시크릿 정보(S)를 기초로 하여 암호키 및 복호키 쌍 e 및 d를 생성할 수 있고, e 및 d는 CS와 연관된 보안키 데이터베이스에 S와 함께 저장된다(단계 808). 암호키 e를 이용해서, 평문 콘텐츠 아이템 X는 암호화된 콘텐츠 아이템 Xe로 암호화될 수 있다(단계 809).
소비자가 콘텐츠 아이템 IDX를 구매한 후에, 소비자의 CCU에서의 클라이언트는 콘텐츠 요청을 CS에 보낼 수 있다(단계 810). 콘텐츠 요청은 비디오 타이틀과 연관된 콘텐츠 식별자 IDX 및 클라이언트와 관련이 있는 위치 정보, 예컨대, IP 주소를 포함할 수 있다. CS는 콘텐츠 요청을 암호화 모듈에 전달할 수 있는데, 이것은 콘텐츠 IDX를 기초로 하여 보안키 데이터베이스에서의 복호키 d 및 시크릿 정보(S)를 식별할 수 있다.
이후, 시크릿 정보(S), d, 및 d2를 기초로 하여, SKG는 분할 복호키 d1을 생성할 수 있다(단계 812). CS는 분할 복호키 d1 및 콘텐츠 식별자 IDX를 포함하는 제1 응답 메시지, 예컨대, SDCM(split-decryption control message)을 보안 채널을 통해서(예컨대, 엔드-포인트 인증(end-point authentication) 및 메시지 암호화를 제공하는 키 배포 네트워크를 통해서) CCU에서의 DM에 보낼 수 있고(단계 814), 여기서 보안 메모리에 일시적으로 저장될 수 있다(단계 816).
암호화된 콘텐츠 아이템 Xe은 CCU의 DM에 보내질 수 있다(단계 820). CCU에서의 복호화 모듈은 분할 복호키 d1을 이용해서 Xe를 Xe,d1로 부분적으로 복호화하고, 이후, 분할 복호키 d2를 이용해서 Xe,d1를 완전히(fully) 복호화된 콘텐츠 아이템 X로 부분적으로 복호화한다(단계 822, 824).
도 9는 본 발명의 다른 실시 예에 따른 분할 키 암호체계를 이용하는 콘텐츠 전송 시스템의 프로토콜 흐름의 개략도를 도시한다. 특히, 도 9는 도 5에서 도시된 바와 같은 보안 콘텐츠 배포 시스템에서 사용하기 위한 프로토콜 흐름을 도시한다.
프로세스는 시크릿 정보(S)를 기초로 하여 암호키 e 및 복호키 d를 생성하기 위하여 암호화 모듈(EM)을 트리거링하면서 시작될 수 있는데(단계 901), 특히 EM과 연관된 SKG를 트리거링하면서 시작될 수 있다. 시크릿 정보(S), e, 및 d는 특정한 콘텐츠 아이템 X, 예컨대, 특정한 콘텐츠 식별자 IDX와 관련이 있는 특정한 비디오 타이틀 또는 스트림과 연관이 있을 수 있고, 암호화 모듈의 보안키 데이터베이스에 저장되어 있을 수 있다(단계 902).
SKG는 시크릿 정보(S)를 기초로 하여 적어도 하나의 분할 키 d3를 포함하는 분할 키 정보를 생성할 수 있다(단계 904). 그 이후에, DM에는 도 1을 참조하여 설명된 바와 같은 온라인, 오프라인, 또는 오버-더-에어(over-the-air) 공급 프로세스들을 이용하여 분할 키 정보 d3이 공급될 수 있다(단계 906). 예를 들어, 도 9에서, 분할 복호키 d3은 보안 채널을 통하여 SDCM(split-decryption control message)으로 CCU에 보내질 수 있다. 분할 복호키 d3은 이후에 CCU에서의 DM의 보안 메모리에 저장된다(단계 908).
이후, 암호키 e를 이용해서, 평문 콘텐츠 아이템 X를 암호화된 콘텐츠 아이템 Xe로 암호화하기 위하여 EM의 암호화 알고리즘 E가 이용될 수 있다(단계 910). 암호화된 콘텐츠 아이템은 CDN에 의해 입수될 수 있고(단계 912), 이것은 입수된 암호화된 콘텐츠를 특정한 스토리지(storage)에 저장할 수 있다(단계 914). 입수(ingestion) 프로세스는 실제로 여러 서브-단계(sub-step)들로 이루어질 수 있다는 점에 주목해야 하는데, 예컨대, CPS로부터 CDN으로의 트리거(trigger), CDN으로부터 CPS로의 콘텐츠-입수 요청(content-ingestion request), 및 다시 CPS로부터 CDN으로의 실제 콘텐츠 입수 단계로 이루어질 수 있다.
하나의 실시 예에 있어서, CDNCF(CDN control function)는 암호화된 콘텐츠 아이템의 하나 이상의 사본들을 하나 이상의 지리적으로 분산된 전송 노드들에 배포할 수 있다. 이러한 방식으로, CDN 전체에 걸쳐서, CCU들로의 콘텐츠 전송을 위한 충분한 대역폭이 보장된다. 암호화된 콘텐츠를 저장하는 전송 노드들의 위치들은 위치 데이터베이스에 저장될 수 있다.
이후, 소비자가 콘텐츠 아이템 IDX을 구매한 후에, 소비자의 CCU에서의 클라이언트는 CPS에 콘텐츠 요청을 보낼 수 있다(단계 916). 콘텐츠 요청은 비디오 타이틀과 연관된 콘텐츠 식별자 IDX 및 클라이언트와 관련이 있는 위치 정보, 예컨대, IP 주소를 포함할 수 있다. CS는 콘텐츠 요청을 암호화 모듈에 전달할 수 있는데, 이것은 콘텐츠 IDX를 기초로 하여 보안키 데이터베이스에서의 복호키 d 및 시크릿 정보(S)를 식별할 수 있다.
이후, 시크릿 정보(S) 및 d3를 기초로 하여, SKG는 분할 복호키들 쌍 d1 및 d2를 포함하는 추가적 분할 키 정보를 생성할 수 있다(단계 918). 하나의 실시 예에 있어서, 분할 키 쌍의 생성은 시크릿 정보(S)를 기초로 한 랜덤 분할 복호키 d2의 생성 및 시크릿 정보(S), d2, 및 d3을 기초로 한 분할 복호키 d1의 생성을 포함할 수 있다.
여기서, 분할 키들은 세션 토큰(session token), 즉, CCU와 관련이 있는 콘텐츠 요청 세션(content request session)을 식별하기 위한 고유 식별자를 이용해서 콘텐츠 요청과 고유하게 연관될 수 있다. 토큰은 소비자 식별자, 콘텐츠 소비 유닛의 IP 주소, 전용 토큰(dedicated token), 또는 이들의 조합과 관련이 있을 수 있다.
CS는 분할 복호키 d1을 포함하는 제1 분할 키 정보, 콘텐츠 식별자 IDX, 및 콘텐츠 세션 토큰으로 구성된 제1 응답을 보안 채널을 통해서(예컨대, 엔드-포인트 인증 및 메시지 암호화를 제공하는 키 배포 네트워크를 통해서) CDN에 보낼 수 있다(단계 920).
CDN은 식별된 암호화된 콘텐츠 Xe를 분할 복호키 d1을 이용하여 부분적으로 복호화된 콘텐츠 아이템 Xe,d1로 부분적으로 복호화하기 위해서 보안 인터페이스(secure interface)를 통해 그 복호화 모듈 DM을 작동시킬 수 있다(단계 922). Xe,d1는 CDN 콘텐츠 스토리지에 일시적으로 저장되거나, 이와 달리, 스트리밍 콘텐츠의 경우에 CDN 콘텐츠 스트리밍 기능을 통한 전달을 위해 이용가능하게 만들어질 수 있다.
암호화 모듈은 제2 분할 복호키 d2를 포함하는 제2 분할 키 정보, 콘텐츠 식별자 IDX, 및 세션 토큰으로 구성된 제2 응답을 보안 채널을 통해서 CCU에서의 클라이언트에 보낼 수 있다(단계 924). 응답은 또한 클라이언트 요청이 리다이렉트되는 CDN의 아이디(identification)(DNS 네임(name), IP 주소 등)를 포함할 수 있다. 클라이언트는 분할 복호키 d2를 가지고 CCU의 복호화 모듈(DM)을 구성할 수 있고, 콘텐츠 식별자 IDX 및 콘텐츠 세션 토큰을 일시적으로 저장할 수 있다(단계 926).
클라이언트는 세션 토큰 및 콘텐츠 식별자를 포함하는 콘텐츠 요청을 식별된 CDN에 보낼 수 있다(단계 928). CDN은 ― 응답으로 ― 토큰을 Xe,d1과 관련시킬(correlate) 수 있고(단계 930), 이것을 전송 노드로 하여금 클라이언트에 보내게 한다(단계 932). 하나의 실시 예에 있어서, CDN은 클라이언트를 선택된 전송 노드로 리다이렉트할 수 있다. 이후, CCU에서의 복호화 모듈은 분할 복호키 d2를 이용해서 Xe,d1을 Xe,d1,d2로 부분적으로 복호화하고, 이후에 분할 복호키 d3을 이용해서 Xe,d1,d2를 완전히 복호화된 콘텐츠 아이템 X로 부분적으로 복호화한다(단계 928). 선택적으로, 복호화된 콘텐츠는 소비자에게 디스플레이될 수 있다.
그래서, 이러한 특정 실시 예에서 분할 키들 양쪽 모두는, 콘텐츠 요청이 추가로 처리되는 동안, 전송 노드에서 저장된 암호화된 콘텐츠 Xe의 부분적인 복호화(partial decryption)가 이미 시작되어 있을 수 있다는 점에서 병렬로 처리될 수 있다. 게다가, 특히, 스트리밍 콘텐츠의 경우에, 암호화가 여전히 진행 중인 동안, 부분적인 복호화가 통상적으로 시작될 수 있다. 복수의 액티브 콘텐츠 전송 세션(active content session)들을 허용하는 확장가능한(scalable) 보안 콘텐츠 전송 시스템이 가능하도록 하기 위해서, 특정한 매체 구매와 연관된 토큰이 이 프로세스에서 이용된다.
도 10은 멀티-레이어(multi-layered) 암호화 방식의 개략도를 도시한다. 도 10은 CA(Conditional Access) 시스템들에서 전형적으로 이용되는 바와 같은 종래의 멀티-레이어(이 경우에는 네 개의 레이어) 암호화 시스템을 도시한다.
제1 레이어는 CA 송신기(transmitter)(1002)와 관련이 있을 수 있고, 이것은 콘텐츠 스트림 X(1003)를 여러 부분들로 나누고, 이들 각각은 제어 워드라고도 지칭되는 대칭형 숏-텀 키(short-term key: STK)(1004)를 이용해서 스크램블링된 콘텐츠 스트림(scrambled content stream)(1005)으로 암호화된다(스크램블링된다). 그래서, 스크램블링된 스트림은 CA 수신기(1006)로 전송되고, 이것은 스크램블링된 스트림을 디스크램블링(descramble)하도록 구성된다.
제2 레이어는 암호화된 제어 워드(ECM(entitlement control message)으로도 지칭됨)들의 전송과 관련이 있을 수 있고, 이것은 ECM 스트림(1008)(이것은 암호화된 콘텐츠 스트림과 동기가 맞을(in sync) 수 있음)에서의 CA 송신기에 의해서 CA 수신기에 보내질 수 있다. ECM들은 롱-텀 키(long-term key: LTK)(1010)를 이용하여 CA 수신기에서 복호화되고, 복호화된 ECM들에서의 제어 워드들은 암호화된 콘텐츠 스트림을 복호화하는(디스크램블링하는) 데 이용된다. 롱-텀 키는 한 달에 한 번쯤 변할 수 있다.
제3 레이어는 암호화된 LTK(1012)들에 의해 형성될 수 있고, 이것은 별도의 채널을 통해서 CA 수신기에 보내질 수 있다. 암호화된 LTK들은 전형적으로 EMM(Entitlement Management Message)들이라고 지칭된다.
제4 레이어는 PKI(public key infrastructure) 키들에 의해서 형성될 수 있고, 이들은 EMM들을 암호화 및 복호화하는 데 이용되고, CCU에서 삽입되는 보안 모듈, 예컨대, 스마트 카드 또는 SIM 카드를 통해서 배포된다. 본 발명에 따른 분할 키 암호체계들은 이 레이어들 중의 임의의 것에 적용될 수 있다.
도 11의 (A)-(C)는 멀티-레이어 암호화 방식의 분할 키 암호체계의 다양한 구현들을 도시하는데, CCU는 적어도 두 개의 분할 키들이 공급되는(provisioned) 복호화 모듈들을 포함하는 보안 모듈을 포함한다. 하나의 실시 예에 있어서, 상기 보안 모듈은 보안 하드웨어 모듈에서 적어도 하나의 분할 키를 내장함으로써 미리 구성될 수 있다. 암호화된 콘텐츠 아이템을 평문으로 복호화하기 위하여 복호화 모듈들에 의해 분할 키들이 이용된다. 분할 키들은 도 1을 참조하여 설명된 것과 같은 방식으로 공급될 수 있다.
예를 들어, 도 11의 (A)는 하나의 예를 도시하는데, 이 예에서, CA 시스템의 송신기측에서의 비밀키 생성기 SKG가 콘텐츠 스트림을 스크램블링하기 위한 숏 텀 암호키들(제어 워드들)을 생성할 수 있고, 이들은 CCU에서의 제1 디스크램블링 유닛(descrambling unit) D1에 보내지고, 이것은 비밀키 생성기에 의해 생성된 제1 숏 텀 분할 암호키들 {d1}을 기초로 하여 부분적으로 디스크램블링된 콘텐츠 스트림을 생성한다. 이렇게 하여 부분적으로 디스크램블링된 콘텐츠 스트림은 제2 미리 설정된 분할 암호키 d2를 기초로 하여 부분적으로 디스크램블링된 콘텐츠 스트림을 완전히 디스크램블링하기 위하여 이후에 제2 디스크램블링 유닛 D2로 포워딩된다(forwarded).
유사하게, 도 11의 (B)는 제어 워드들의 암호화 레벨에서의 분할 키 암호체계의 적용을 도시한다. 이러한 특정 실시 예에서, 비밀키 생성기 SKG는 제어 워드들(이들은 콘텐츠를 스크램블링하기 위해 이용됨)을 ECM들로 암호화하기 위하여 암호키를 생성할 수 있다. 이러한 ECM들은 제1 복호화 유닛 D1에 보내지고, 이것은 SKG에 의해 제1 복호화 유닛 D1에 전송된 제1 분할 복호키들 {d1}을 기초로 하여 ECM들의 스트림을 부분적으로 복호화한다. 그래서, 생성된 부분적으로 복호화된 ECM 스트림은 이후에 제2 복호화 유닛 D2으로 포워딩되고, 이것은 제2 미리 설정된 분할 복호키 d2를 기초로 하여 부분적으로 복호화된 ECM들을 완전히 복호화한다. 복호화된 ECM들로부터 추출된 제어 워드들은 스크램블링된 콘텐츠 스트림을 디스크램블링하기 위하여 이후에 이용된다.
마지막으로, 도 11의 (C)는 LTK의 EMM들로의 암호화 레벨에서의 분할 키 암호체계의 적용을 도시한다. 송신기측에서 LTK들은 EMM들로 암호화될 수 있고, CCU에서의 제1 복호화 유닛 D1에 보내질 수 있다. 제1 복호화 유닛은 부분적-복호키(partial-decryption key) d1을 기초로 하여 EMM들을 부분적으로 복호화된 EMM들(partially decrypted EMMs)로 부분적으로 복호화해서, 부분적으로 암호화된 EMM들을 제2 복호화 유닛 D2로 포워딩하고, 이것은 미리-설정된 제2 분할 복호키 d2를 기초로 하여 EMM들을 완전히 복호화한다.
도 12는 본 발명의 실시 예에 따라서 CS로부터 CCU에 콘텐츠를 전송하기 위한 하이브리드 분할 키 암호체계(hybrid split-key cryptosystem)(1200)를 도시한다. 특히, 도 12는 대칭 암호화 알고리즘 Es와 연관된 대칭 암호화 모듈(1212), 비대칭 암호화 알고리즘 Ea와 연관된 비대칭 암호화 모듈(1214), 대칭 키를 생성하기 위한 키 생성기 KG(1216), 및 비밀키 생성기 SKG(1218)를 포함하는 암호화 모듈 EM(1208)을 포함하는 콘텐츠 소스 CS(1202)를 도시한다.
유사하게, CCU는 비대칭 복호화 알고리즘 Da와 연관된 비대칭 복호화 모듈들(1220,1222) 및 대칭 복호화 알고리즘 Ds와 연관된 대칭 복호화 모듈(1224)을 포함하는 복호화 모듈 DM(1210)을 포함할 수 있다. 여기서, 비대칭 암호화 및 복호화 모듈들 Ea,Da와 비밀키 생성기 SKG는 비대칭 분할 키 암호체계의 일부이다. 복호화 모듈에는 도 1을 참조하여 설명된 것과 유사한 방식으로 분할 키들 d1 및 d2이 공급될 수 있다. 특히, 복호화 모듈은 분할 키 d2를 가지고 미리 구성될 수 있다. 적절한 비대칭 분할 키 암호체계들은 상술한 바와 같은 RSA, EG, 또는 DJ 분할-복호화 시스템들을 포함한다.
비대칭 암호화 암호(asymmetric encryption cipher)들은 대칭 암호화 암호(symmetric encryption cipher)들보다 콘텐츠의 신속한 암호화를 위해서 덜 적합하므로, 이 실시 예에서, 콘텐츠 스트림 X는 AES와 같은 대칭 암호화 알고리즘 Es 및 RC4와 같은 스트림 암호를 이용해서 암호화된다. 대칭 암호키 kx는 키 생성기(1216)에 의해서 생성될 수 있고, 이것은 Es(1212)를 기초로 하여 콘텐츠 X를 암호화하는 데 이용된다. 암호키 kx는 비밀키 생성기 SKG에 의해서 생성된 암호키 e와 비대칭 암호화 알고리즘 Ea(1214)를 이용해서 암호화될 수 있다.
암호화된 콘텐츠 Es kx(X) = Es(X,kx) 및 암호화된 대칭 암호키 Ee(kx)는 이후에 CCU에서의 복호화 모듈(1210)에 전송될 수 있다. 암호화된 대칭 암호키는 CCU에서의 제1 비대칭 암호화 모듈 Da(1220)에 보내질 수 있고, 제1 비대칭 암호화 모듈 Da(1220)은 제2 비대칭 암호화 모듈(1222)에 포워딩하기 전에 제1 분할 키 d1을 기초로 하여 암호화된 암호키를 부분적으로 복호화하고, 제2 비대칭 암호화 모듈(1222)은 미리 설정된 분할 키 d2를 기초로 하여 부분적으로 복호화된 암호키 kx를 완전히 복호화하도록 구성된다. 이렇게 하여 복호화된 대칭 키 kx는 스크램블링된 콘텐츠 스트림을 디스크램블링하기 위하여 대칭 암호화 모듈(1224)에 의해 이용될 수 있다.
그래서, 하이브리드 암호화는 분할 키 암호체계를 이용하여 대칭 암호키 kx의 안전한(secure) 비대칭 암호화 및 콘텐츠 아이템 X의 효율적인 대칭 암호화의 조합을 가능하게 한다. 스트리밍 미디어(streaming media)의 경우에, 대칭 암호키(또는 시크릿 시드(secret seed)) kx는 정기적으로 시간에 따라 바뀔 수 있을 것이다(키 롤오버(key roll-over)).
도 13a 및 13b는 본 발명의 다양한 실시 예들에 따라서 콘텐츠를 콘텐츠 소비 유닛(CCU)(1306)에 배포하기 위한 분할 키 암호체계들을 도시한다. 특히, 이러한 실시 예들에 있어서, CCU에는 복수의 분할 키들이 제공될 수 있다. 도 13a는 암호화 알고리즘 E와 연관된 적어도 하나의 암호화 모듈(1308) 및 시크릿 정보(S)를 기초로 하여 키들을 생성하기 위한 비밀키 생성기 SKG(1310)를 포함하는 콘텐츠 소스 CS(1302)를 포함하는 분할 키 암호체계를 도시한다. 하나의 실시 예에서, SKG는 도 2를 참조하여 설명된 바와 같이 SKG에 따라서 구현될 수 있다. 비밀키 생성기에 의해 생성된 키 정보는 적어도 하나의 암호키 e를 포함하는 키 정보 및 복수의 분할 복호키들을 포함하는 분할 키 정보를 포함할 수 있다.
CCU(1306)는 복호화 모듈(1311)을 포함할 수 있고, 이것은 보안 모듈, 예컨대, 스마트 카드, (U)SIM 또는 다른 적절한 하드웨어 보안 프로세서로서 구현될 수 있다. 복호화 모듈은 비밀키 생성기(1310)에 의해서 복호화 모듈에 보내지는 적어도 하나의 제1 분할 키 d1을 포함하는 제1 분할 키 정보 및 복호화 알고리즘 D를 이용하는 적어도 하나의 제1 분할-복호화 연산(1312)을 수행하도록 구성될 수 있다.
복호화 모듈은 복수의 분할 키들, 이 예에서는 예컨대, 분할 키들 d2-geo 및 d2-person을 포함하는 분할 키 정보 및 복호화 알고리즘 D를 이용하여 복수의 분할 키 연산들(1322, 1324)을 수행하도록 구성된 분할 키 프로세서(1314)를 더 포함할 수 있다. 분할 키 프로세서는 키 식별자 메시지(1318)의 수신시에 분할 키들을 선택할 수 있다.
하나의 실시 예에 있어서, 분할 키 프로세서는 복수의 분할 키들을 포함하는 분할 키 테이블(split-key table)을 포함하는 보안 메모리(1316)를 포함할 수 있다. 보안 메모리에는 도 1을 참조하여 설명된 바와 같은 오프라인, 온라인, 또는 오버-더-에어 공급 프로세스를 이용하여 분할 키 테이블이 공급될 수 있다(이 공급은 파선 1315에 의해 개략적으로 도시됨). 분할 키 테이블에서의 분할 키들은 비밀키 생성기로도 알려져 있다. 하나의 실시 예에 있어서, 분할 키들의 테이블은 미리 구성된 하드웨어 모듈, 예컨대, (U)SIM 또는 스마트카드를 기초로 하여 오프라인으로 공급될 수 있다.
보안 메모리에서의 분할 키 정보는 상이한 카테고리들과 연관이 있을 수 있다. 하나의 실시 예에 있어서, 예를 들어, 분할 키들의 하나의 특정 세트는 지리-특정(geo-specific) 분할 키들과 관련이 있을 수 있다. 하나의 특정한 지리적 영역 내의 CCU들에는 이러한 지리-특정 분할 키 d2-geo가 공급될 수 있다. 다른 실시 예에 있어서, 분할 키들의 특정 세트는 콘텐츠-특정(content-specific) 분할 키들과 관련이 있을 수 있다. 콘텐츠의 특정한 타입, 예컨대, HDTV 또는 3D를 수신할 자격이 주어진 CCU들에는 이러한 콘텐츠-특정 분할 키 d2-cont가 공급된다. 추가적인 실시 예에서, 분할 키들의 특정 세트는 사용자-특정(user-specific) 분할 키들과 관련이 있을 수 있다. 예를 들어, 한 명의 사용자와 연관이 있는 모든 CCU들에는 개인-특정(person-specific) 분할 키 d2-person이 제공될 수 있다. 다른 실시 예에 있어서, 분할 키들의 특정 세트는 하드웨어-특정(hardware-specific) 분할 키들 d2-device와 관련이 있을 수 있다. 또 다른 실시 예에 있어서, 분할 키 d2-categ는 콘텐츠의 특정 카테고리, 예컨대, 스포츠, VoD 등과 관련이 있을 수 있다. 이러한 하드웨어-특정 키는 장치들의 특정 세트에 공급될 수 있다.
그래서, 도 13a에서 도시된 바와 같은 실시 예에서, 분할 키 프로세서에서의 보안 메모리에는, CS와 연관된 비밀키 생성기로도 알려져 있는 복수의 분할 키들을 포함하는 분할 키 테이블이 공급될 수 있다. 키 식별자 메시지(1318)를 기초로 하여, CS는 삽도(1320)에 의해 개략적으로 도시된 바와 같은 가능한(possible) 분할 키 복호화 연산들의 대규모 집합(large set)으로부터 선택된 분할 키 복호화 연산들의 특정 시퀀스(specific sequence)를 이용하도록 분할 키 프로세서를 구성할 수 있다. 분할 키 복호화 연산들의 수는 특정한 원하는 구현에 의존할 수 있다.
비밀키 생성기(1310)는 CCU에 신호를 보내기 위한 키 식별자 메시지를 생성할 수 있고, 분할 키들은 암호화된 콘텐츠 아이템 X를 복호화하기 위하여 DM에 의해 선택될 수 있다. 예를 들어, 도 13a에서의 비제한적인 예는 비밀키 생성기를 도시하는데, 비밀키 생성기는 지리-특정 분할 키 d2-geo 및 사용자-특정 분할 키 d2-person를 기초로 하여 분할 키 연산들의 미리 결정된 시퀀스를 수행하기 위하여 분할 키 프로세서를 구성하는 비밀키 서버로부터 유래된 키 식별자 메시지를 보낼 수 있다. 분할 키들, d, 및 S를 기초로 하여, 비밀키 생성기는 d1을 결정할 수 있고, 이것은 이후에 복호화 모듈이 제1 분할 키 연산(1312)을 구성하도록 CCU에 보내진다.
이러한 방식으로, 암호화 모듈(1308)로부터 유래된 암호화된 콘텐츠 아이템 Xe는 우선 제1 분할 키 d1을 이용해서 제1 분할 키 연산을 기초로 하여 부분적으로 복호화될 수 있다. 그 이후에, 부분적으로 암호화된 콘텐츠 아이템 Xe,d1은 지리-특정 분할 키 d2-geo 및 사용자-특정 분할 키 d2-person을 각각 이용해서 제2 분할 키 연산 및 제3 분할 키 연산을 기초로 하여 추가로 복호화된다. 다른 실시 예들에서, 둘 이상의 분할 키 연산들의 시퀀스가 구성될 수 있다.
도 13b는 도 13a에 도시된 바와 같은 분할 키 암호체계의 변형례를 도시한다. 이 변형례에서 시스템은, 비밀키 생성기에 의해 CDN에 보내질 수 있는, 분할 키 d1을 기초로 하여 CS에 의해 생성된 암호화된 콘텐츠를 부분적으로 복호화하기 위한 복호화 알고리즘 D을 포함하는 복호화 모듈(1313)과 연관된 CDN(1304)을 더 포함한다. 그래서, 도 13a에 도시된 실시 예와 대조적으로, 암호화된 콘텐츠 Xe는 CCN에 보내지기 전에 CDN에 의해 우선 부분적으로 복호화되고, 이것은 이후에 분할 키 프로세서(1314)에서 구성된 바와 같은 적어도 두 개의 분할 키 복호화 연산들(1322,1324)을 이용해서 부분적으로 복호화된 콘텐츠 Xe,d1을 복호화한다.
도 14는 도 13b를 참조하여 설명된 바와 같은 분할 키 암호체계와 연관된 흐름도(1400)를 도시한다. 프로세스는 복수의 분할 키들을 포함하는 분할 키 정보를 클라이언트-식별자 IDCL에 의해서 식별된 CCU에 공급하는 것으로 시작될 수 있다(단계 1402). 분할 키들은 식별자(예컨대, d2-person, ID(d2-person); d2-geo, ID(d2-geo); d2-device, ID(d2-device); d2-content, ID(d2-content) 등)와 연관된 시크릿 정보(S)를 기초로 하여 SKG에 의해 생성될 수 있고, CCU에서의 복호화 모듈에 공급될 수 있다. CS는 보안키 데이터베이스(도시되지 않음)에서의 특정 CCU 또는 CCU들의 특정 세트(즉, 시크릿 정보 S, 분할 키들과 키 식별자들, 및 클라이언트-식별자)와 연관된 공급 정보를 저장할 수 있다.
하나의 실시 예에 있어서, CCU에는 오프라인 프로세스로 복수의 분할 키들이 공급될 수 있다. 예를 들어, 보안 하드웨어 모듈은 보안 하드웨어 모듈들의 제작 동안, 배포 동안, 또는 활성화나 등록 동안 분할 키들 및 관련 식별자들을 가지고 미리 설정될 수 있다. 예를 들어, 보안 하드웨어 모듈의 구매 동안, 모듈은 바이어(buyer)에게 특정적인(specific) 다수의 분할 키들을 가지고 설정될 수 있다. 도 1을 참조하여 예시를 위해 설명된 바와 같은 온라인 및 오버-더-에어 공급 프로세스들을 포함하는 다른 분할 키 공급 프로세스들 또한 예상된다.
CS는 암호화된 콘텐츠 Xe를 CDN으로 입수할 수 있다(단계 1404). 이후, 사용자는 CPS로의 제1 콘텐츠 요청의 전송을 개시할 수 있다(단계 1406). 제1 콘텐츠 요청은 요청된 콘텐츠 아이템 X 및 IDCL을 식별시키기 위한 콘텐츠 식별자 IDX를 포함할 수 있다.
콘텐츠 요청을 기초로 하여, 복호화를 위한 분할 키들의 특정 세트, 예컨대, 미리 결정된 개인적인(personal) 분할 키 및 지리적인(geographical) 분할 키 양쪽 모두를 갖는 장치들만이 특정 콘텐츠 아이템 X에 액세스할 수 있다는 것을 나타내는 d2-person 및 d2-geo를 CCU에서의 복호화 모듈이 이용해야 한다는 것을 CS가 결정할 수 있다(단계 1408). 그 이후에, 응답으로, CS는 특정 분할 키들과 연관된 식별자들(이 경우에, ID(d2-person 및 d2-geo) 및 CDN에 대한 레퍼런스(reference)를 포함하는 응답 메시지를 보낼 수 있다(단계 1410).
CCU는 분할 키 식별자들을 포함하여 제2 콘텐츠 요청을 CDN에 보내기 위해서 응답 메시지에서의 정보를 이용할 수 있다(단계 1412). 응답으로, CDN은 IDX 및 분할 키 식별자들을 포함하는 키 요청을 CS에 보낼 수 있다(단계 1414). CS는 요청에서의 이 정보 및 보안키 데이터베이스에서의 사전 공급 정보(previously provisioning information)를 기초로 하여 키 요청을 허가할(authorize) 수 있고, 비밀키 정보 S 및 CCU에서의 미리 설정된 분할 키들, 이 경우에는 d2-person 및 d2-geo를 기초로 하여 분할 키 d1을 계산한다(단계 1416).
이후, 분할 키 d1은 CDN에 제공되고(단계 1118), CDN은 암호화된 콘텐츠 아이템 Xe를 Xe,d1로 부분적으로 복호화하기 위하여 이 분할 키를 이용한다(단계 1420). 이렇게 하여 부분적으로 복호화된 콘텐츠 Xe,d1은 CCU의 복호화 모듈로 보내지고(단계 1422), 이것은 두 개의 잇따른 분할 키 복호화 연산들, 즉, Xe,d1을 Xe,d1,d2-person으로 부분적으로 복호화하기 위한 제1 연산 및 Xe,d1,d2-person을 콘텐츠 아이템 X의 평문 버전과 동일한 Xe,d1,d2-person,d2-geo로 부분적으로 복호화하기 위한 제2 연산을 적용할 수 있다(단계 1424).
그래서, 이 실시 예에서, CS는 단지 테이블에서 어느 분할 키들이 복호화동안 이용되어야 하는지에 대한 신호를 보낼 필요가 있다. 어떠한 민감한(sensitive) 키 정보도 CCU에 보내질 필요가 없어서, 보안을 향상시킨다. 게다가, 분할 키들의 대규모 집합들을 이용할 때, CCU는 보안을 추가로 향상시키기 위하여 정기적으로 재구성될 필요가 있다.
도 15는 본 발명의 다른 실시 예에 따라서 적어도 하나의 CDN(1504)을 통해 콘텐츠 소비 유닛(1506)에 콘텐츠를 배포하기 위한 분할 키 암호체계(1500)를 도시한다. 특히, 이 변형례에서, CCU에는 도 13 및 14를 참조하여 설명된 것과 유사한 방식으로 복수의 분할 키들이 공급될 수 있다. 하지만, 이 특정 실시 예에서, CCU에서의 분할 키 프로세서(1514)는 결합기(combiner)(1526)를 더 포함한다. 결합기는 비밀키 생성기(1510)로부터 유래된 키 식별자 메시지(1518)에 대한 응답으로 분할 키 프로세서에 의해 선택된 분할 키들을 결합 분할 키(combination split-key)로 결합시키기 위한 결합 알고리즘(combination algorithm) C를 포함하는 프로세서를 포함할 수 있다. 예를 들어, 도 15의 예에서, 비밀키 생성기는 분할 키 프로세서의 보안 메모리에 저장된 분할 키들의 미리 구성된 세트로부터의 분할 키들의 특정 세트를 이용하도록 분할 키 프로세서에 지시했을 수 있다. 이러한 결합기의 이용은 더 적은 복호화 단계들이 CCU의 복호화 모듈에서 수행될 필요가 있다는 이점들을 제공한다.
결합기에서의 결합 알고리즘은 분할 키 암호체계에서 구현되는 암호 알고리즘의 타입에 의존할 수 있다. 예를 들어, 원타임 패쓰 및 스트림 암호를 위하여, 조합 함수는 d2-combi=d2-geo
Figure pct00054
D2-person(XOR)로서 정의될 수 있다. EG 및 DJ 암호화 방식을 위하여, 조합 함수는 단순한 덧셈으로 정의될 수 있다: EG에 대해서는 d2-combine=(d2-combi+d2-person)(mod p) 그리고 DJ에 대해서는 d2-combi=(d2-geo + d2-person)(mod n). RSA 암호화 방식을 위해서는 이러한 결합이 가능하지 않은데, RSA 키들의 분할 또는 결합이 시크릿 정보
Figure pct00055
(n)를 필요로 하기 때문이다.
도 13-15에서의 실시 예들은 비제한적이고(non-limiting) 추가적인 실시 예들이 예상된다는 점이 제안된다. 예를 들어, 도 13-15를 참조하여 설명된 바와 같은 분할 키들의 미리 구성된 세트의 이용은 도 1에서 도시된 바와 같이 아무런 CDN을 가지지 않는 상황에서도 이용될 수 있다.
그래서, 하나의 실시 예에 있어서, 도 1에서의 CCU에는 도 13 및 14를 참조하여 설명된 바와 같은 복수의 분할 키들을 포함하는 미리 구성된 보안 하드웨어 모듈이 제공될 수 있다. CCU로부터의 콘텐츠 요청시, CPS는 어떠한 미리 설정된 분할 키를 이용할지에 대해 복호화 모듈에 신호를 보낼 수 있다. 이후, 이 분할 키들을 기초로 하여, d1이 계산되고 CCU에 즉시 보내진다. 암호화된 콘텐츠 아이템은 이후에 d1 및 미리 구성된 키들 d2-person 및 d2-geo를 기초로 하여 복호화될 수 있다. 추가적인 실시 예에서, 이 분할 키들 중의 하나 이상은 도 15를 참조하여 설명된 바와 같은 d2-combi 분할 키로 결합될 수 있다.
도 16은 본 발명의 다른 실시 예에 따른 보안 콘텐츠 배포 시스템(1600)을 도시한다. 콘텐츠 배포 시스템은 CS(1802), 하나 이상의 콘텐츠 배포자들(1604), 예컨대, CDN, (예컨대, 도 2를 참조하여 도시된 바와 같은) 비밀키 생성기를 포함하는 비밀키 서버(1608), 및 CCU(1610)를 포함할 수 있다.
이러한 특정한 경우에 있어서, 키 서버의 네트워크 어드레스는, 콘텐츠를 CDN1로 입수하기 위해 이용되는, CS의 네트워크 어드레스와는 다르다. 써드파티 키 서버일 수 있는 별도의 키 서버의 이용은 입수 프로세스들이 키 배포 프로세스들을 방해하지 못하는 방식이기 때문에 이점이 있다. 게다가, 별도의 키 서버는 또한 키 생성 및 배포 프로세스들이 입수 프로세스들보다 훨씬 더 자주 일어날 때 확장가능한 솔루션(scalable solution)을 제공한다. 그래서, 필요한 경우에, 둘 이상의 키 서버들이 키 생성 및 배포 프로세스들을 처리하기 위하여 하나의 CS에 할당될 수 있으며, 또는 역으로 하나의 키 서버가 복수의 CS를 위해 기능할 수 있다.
도 17은 본 발명의 실시 예에 따른 네트워크 CDN들을 포함하는 콘텐츠 전송 시스템에서의 분할 키 암호체계의 이용을 도시한다. 특히, 이러한 실시 예에서, CS(1702)로부터 유래된 콘텐츠는 복수의 콘텐츠 배포자들을 통해서, 즉, 적어도 제1 CDN1(1704) 및 제2 CDN2(1706)를 통해서 CUU(1708)에 안전하게 전송될 수 있다. 이 실시 예에서, CS는 분할 키 d1을 포함하는 분할 키 정보 및 암호화된 콘텐츠 Xe를 CDN1에 전송할 수 있고, 이것은 콘텐츠의 전송을 CDN2에 위탁할 것을 결정할 수 있다. 게다가, CCU는 적어도 하나의 분할 키 d3(1710)을 포함하는 분할 키 정보를 가지고 미리 구성될 수 있다. CCU는 CS와 연관된 키 생성기(1714)로부터 적어도 하나의 추가적 분할 키 d2(1712)를 포함하는 추가적 분할 키 정보를 수신하도록 더 구성될 수 있다. 분할 키들 d2 및 d3은 CDN2로부터 유래된 콘텐츠를 부분적으로 복호화하기 위하여 복호화 모듈(1715)에 의해 이용될 수 있다.
도 6을 참조하여 설명된 시스템과는 대조적으로, CDN1은 부분적으로 복호화된 콘텐츠 Xe,d1을 CDN2에 전송하지 않는다. 대신, CDN1의 콘텐츠 배포 함수(도시되지 않음)는 Xe를 CDN2로 "투명하게(transparently)" 전달할 수 있다. 유사하게, 이것은 암호화된 콘텐츠 아이템 X를 더 복호화하기 위하여 적절한 암호화 컨테이너로, 이 경우에는, SDCM(split-decryption control message)(1720)으로 모든 분할 키 정보를 CDN2에 전달할 수 있다. 예를 들어, EG 분할 키 암호체계를 이용하는 경우에, SDCM은 d1=(Y1,Y2) 및 p를 포함할 수 있다(상이한 분할 키 암호체계들을 오버뷰하기 위한 표 1 참조).
소비자가 CPS로부터 콘텐츠 아이템을 요청할 때, 분할 키 d2를 포함하는 분할 키 정보가 CCU에 보내질 수 있고, 암호화된 콘텐츠 Xe를 부분적으로 암호화된 콘텐츠 Xe,d1로 부분적으로 암호화하기 위하여 분할 키 d1을 포함하는 분할 키 정보가 CDN2의 복호화 모듈(1722)에 보내질 수 있다. 복호화 모듈은 복호화 알고리즘 D 및 분할 키 d2를 기초로 하여 적어도 하나의 제2 복호화 연산(1716)을 수행하고 복호화 알고리즘 D 및 분할 키 d1을 기초로 하여 적어도 하나의 제3 복호화 연산(1718)을 수행하도록 구성된 프로세서를 포함할 수 있다.
부분적으로 복호화된 콘텐츠 Xe,d1은 CCU의 복호화 모듈에 보내질 수 있고, 이것은 CDN 네트워크로부터 유래된 부분적으로 복호화된 콘텐츠 Xe,d1을 완전히 복호화하기 위하여 분할 키들 d2 및 d3을 이용한다. 그래서, 이 실시 예에서, CDN1은 CPS로부터의 모든 다운스트림 CDN들을 차단한다. 이러한 방식으로, CPS 및 특히 CPS와 연관이 있는 비밀키 생성기는 CDN1 및 CCU들과의 인터페이스(interface)만을 가질 필요가 있다.
다양한 추가적인 실시 예들은 CCU가 도 13-15를 참조하여 설명된 바와 같은 실시 예들을 기초로 구현될 수 있는 시스템들을 포함한다.
도 18은 본 발명의 하나의 실시 예에 따라서 도 17을 참조하여 설명된 바와 같은 보안 콘텐츠 전송 시스템에서의 이용을 위한 프로토콜 흐름의 개략도를 도시한다. 이러한 프로토콜 흐름에서, 콘텐츠는 우선 CDN1로 보내지고, CDN1이 이후에 콘텐츠를 CDN2로 포워딩하고, 여기서 추가적 전송을 위해 저장된다.
프로세스는 CS가 EM에 트리거를 보내면서, 특히, EM과 연관된 비밀키 생성기를 보내면서 시작될 수 있는데, EM은 응답으로 시크릿 정보(S)를 기초로 하여 암호화/복호화 쌍 e,d를 생성할 수 있다(단계 1804). SKG는 시크릿 정보(S)를 기초로 하여 랜덤 분할 키 d3을 포함하는 분할 키 정보를 생성할 수 있다(단계 1806). 그 이후에, CCU에서의 복호화 모듈에는 도 1을 참조하여 설명된 바와 같은 온라인, 오프라인, 또는 오버-더-에어 공급 프로세스를 이용하여 적어도 분할 키 d3을 포함하는 분할 키 정보가 공급될 수 있다(단계 1808). 도 18의 예에서, 분할 키 d3은 적절한 암호화 컨테이너로, 예컨대 d3(SDCM(d3)) 및 구체적으로 구현된 분할 키 암호체계를 위해 요구되는 모든 다른 (시크릿) 정보(세부사항들에 대해서는 표 1 참조)를 포함하는 분할 키 복호화 메시지(Split-Key Decryption Message)로, 보안 채널을 통해서 CCU에 보내질 수 있다. 공급 프로세스 이후에, 분할 키 d3은 CCU에서의 DM의 보안 메모리에 저장될 수 있다(단계 1810).
이후, 일정 시점에서, CS는 콘텐츠 식별자 IDX에 의해 식별되는 콘텐츠 아이템 X를 암호키 e를 이용해서 암호화된 콘텐츠 아이템 Xe로 암호화하도록 암호화 모듈 EM을 트리거(trigger)할 수 있다(단계 1812). 이후, CPS는 콘텐츠 식별자 IDX에 의해 식별되는 콘텐츠 아이템 X의 CPS로부터 CDN1로의 입수 프로세스를 시작하기 위하여 입수 트리거(ingest trigger)를 CDN1에 보낼 수 있다(단계 1814). 콘텐츠 입수 프로세스는 콘텐츠 식별자 IDX를 포함하는 콘텐츠 요청 메시지를 CPS에 보내는 것(단계 1816) 및 암호화된 콘텐츠 아이템 Xe를 포함하는 응답 메시지를 CDN1에 보내는 것(단계 1818)를 포함할 수 있고, 이것은 이후에 스토리지에 저장된다(단계 1820).
이후, 일정 순간에, CDN1의 CDNCF는 암호화된 콘텐츠 Xe의 배포를 제2 콘텐츠 전송 네트워크, CDN2(다운스트림 CDN)에 위탁하는 것을 결정할 수 있다(단계 1822). 이러한 목적을 위해서, CDN1은 암호화된 콘텐츠 Xe를 CDN2로 입수하는 프로세스를 시작하기 위하여 CDN2에 입수 트리거를 보낼 수 있다(단계 1824). 입수 프로세스는 콘텐츠 식별자 IDX를 포함하는 콘텐츠 요청 메시지를 포함할 수 있다(단계 1826). 요청의 수신시에, 암호화된 콘텐츠는 CDN1의 스토리지로부터 검색되고(retrieved), 응답 메시지로 CDN2에 보내지며, 여기서 스토리지에 저장된다(단계 1830).
도 19는 본 발명의 실시 예에 따라서 도 17을 참조하여 설명된 바와 같은 콘텐츠 전송 시스템을 위한 추가적 프로토콜 흐름의 개략도를 도시한다.
프로세스는 소비자가 콘텐츠 아이템 IDX를 검색하는 것을 결정하면서 시작될 수 있다. 이러한 목적을 위해서, CCU는 IDX 및 IDCCU를 식별하기 위한 식별자를 포함하는 제1 콘텐츠 요청을 CS에 보낼 수 있고(단계 1901), CS는 이 요청을 CS와 연관된 암호화 모듈에 포워딩할 수 있다.
SKG는 시크릿 정보(S) 및 d3을 기초로 하여 분할 키들 d1 및 d2를 포함하는 분할 키 정보를 생성할 수 있다. 게다가, SKG는 토큰(token)을 생성할 수 있고, d1 및 d2를 토큰과 함께 보안키 데이터베이스에 저장할 수 있다(단계 1902). 분할 키 d2를 포함하는 분할 키 정보는 보안 채널을 통해서 분할-복호화 제어 메시지(split-decryption control message) SDCM(d3)으로 CCU에 보내질 수 있고, 여기서 복호화 모듈의 보안 메모리에 저장된다(단계 1904).
요청에 대한 응답으로, CS는 CDN을 식별시키는 식별자 IDCDN1 및 토큰을 포함하는 응답 메시지를 추가로 보낼 수 있고, 콘텐츠 아이템은 CCU에 다시 저장될 수 있다(단계 1906). CCU는 이후에 토큰 및 IDX를 포함하는 제2 콘텐츠 요청을 CDN1에 보낼 수 있고(단계 1908), CDN1은 응답으로 토큰 및 IDX를 포함하는 키 요청 메시지를 CPS를 통해 암호화 모듈에 보낼 수 있다(단계 1910). 토큰은 분할 키 d1을 검색하는 데 이용될 수 있다(단계 1912).
이 분할 키는 분할-복호화 제어 메시지 SDCM(d1)으로 CDN1에 다시 보내지고(단계 1914), CDN1은 요청된 콘텐츠 아이템이 CDN2를 통해 전송되어야 하는지 여부를 결정할 수 있다(단계 1916). 이러한 목적을 위해서, CDN2의 라우팅 요청 함수(routing request function)는 IDX, 토큰, 및 CDN2로 보내진 SDCM(d1)를 포함하는 리퀘스트 라우팅 메시지(request routing message)를 생성할 수 있다(단계 1918). CDN2는 이후에 CCU에 전송하기 위한 콘텐츠를 준비하기 위해 CDN2(CDN2 DM)의 복호화 모듈을 선택한다(단계 1920). 응답으로, CDN2 DM은 식별자 IDCON2-DM을 CDN1에 보낼 수 있고(단계 1922), 이것은 이후에 IDCON2-DM 및 토큰을 CCU로 포워딩하고(단계 2224), 그래서, CCU은 IDX 및 토큰을 포함하는 제3 식별자를 CDN2 DM에 보낼 수 있고(단계 1926), 암호화된 콘텐츠 Xe를 Xe,d1로 부분적으로 복호화하도록 CDN2 DM을 트리거하고(단계 1928), Xe,d1을 CCU로 보낸다(단계 1930). 그 이후에, CCU의 DM은 d2 및 d3을 기초로 하여 Xe,d1을 X로 완전히 복호화할 수 있다(단계 1932).
그래서, 도 17-19를 참조하여 설명된 실시 예에서, CPS는 단지 CDN1과 상호작용하고(interact), CDN1은 분할 키 정보를 포함하는 리퀘스트 라우팅 메시지 및 암호화된 콘텐츠를 CDN2에 투명하게 포워딩함으로써 콘텐츠 아이템의 전송을 위탁한다. 게다가, 시스템은 CDN 네트워크를 통한 콘텐츠 아이템의 투명한 전송을 가능하게 한다. 전송 프로세스의 다양한 단계들에서, CS는 특정 액션(action)을 취하도록, 예컨대, 특정 (분할) 키들을 생성 및/또는 전송하도록 통지받고 요청받는다.
도 20의 (A) 및 (B)는 본 발명의 다른 실시 예에 따른 보안 콘텐츠 배포 시스템의 개략도들을 도시한다. 특히, 도 20의 (A)는 암호화 알고리즘 E와 연관이 있는 암호화 모듈(2012) 및 키 정보를 생성하기 위한 비밀키 생성기(2014)를 포함하는 CS(2002)를 도시한다. 비밀키 생성기(2014)는 분할 키 생성기(2026)를 포함할 수 있다. 이러한 분할 키 생성기(2026)는 CCU에서의 복호화 모듈(2014) 내에서 또는 CCU에서의 복호화 모듈(2014)과 연계하여 구현될 수 있다. 복호화 모듈은 복호화 알고리즘 D과 적어도 제1 및 제2 분할 키 정보(2020 및 2022)를 기초로 하여 둘 이상의 복호화 연산들(2016 및 2018)을 각각 수행하도록 구성될 수 있다. 이러한 특정 실시 예에서, 제1 복호화 연산은 비밀키 생성기(2014)에 의해 CCU에 보내진 적어도 하나의 제1 분할 키 d1(2020)을 기초로 할 수 있다. 제2 복호화 연산은 복호화 모듈에서의 분할 키 생성기 G(2024)에 의해 생성된 적어도 하나의 제2 분할 키 d2(2022)를 기초로 할 수 있다.
CCU에서의 분할 키 생성기 G는 CPS에서의 비밀키 생성기에 의해 생성된 분할 키 시그널링 메시지(2028)를 통해 외부 파라미터들을 수신하도록 구성될 수 있다. 하나의 실시 예에 있어서, 분할 키 시그널링 메시지는 테이블-룩업(table-lookup)을 위한 인덱스(index), 키 식별자 및/또는 생성된 랜덤 시드(generated random seed)를 포함할 수 있다. 대안적으로 및/또는 추가적으로, CCU에서의 분할 키 생성기 G는 시간(CPS와 CCU에서의 동기 클록(synchronous clock)을 가정함) 및/또는 적어도 하나의 비밀키와 같은 하나 이상의 내부 파라미터들(2030)을 수신하도록 구성될 수 있다.
그래서, 이러한 특정 실시 예에서, 분할 키 정보의 적어도 일부는 CPS와 연관된 키 생성기 및 CCU 각각에서의 두 개의 분할 키 생성기들을 기초로 하여 생성된다. 하나의 실시 예에 있어서, 키 생성기들은 (의사) 랜덤 키들의 테이블을 포함할 수 있고, 이들 각각은 인덱스에 의해 식별된다. 비밀키 생성기로부터 유래되는 하나 이상의 인덱스들을 포함하는 분할 키 시그널링 메시지(split-key signaling massage)는 분할 키 d2를 생성하는 데 이용될 수 있다.
도 20의 (B)는 본 발명의 하나의 실시 예에 따른 분할 키 생성기 G를 도시한다. 특히, 도 20의 (B)는 비밀키 생성기 및 CCU에서 이용되는 분할 키 생성기가 의사 랜덤 생성기를 기초로 하는 실시 예를 도시한다. 분할 키 생성기 G는 시드 N(2034)을 생성하기 위한 시드 생성기(seed generator)(2030)를 포함할 수 있고, 이것은 특정 포맷의 난수 N'(2036)를 생성하기 위한 의사 랜덤 생성기(pseudo random generator)(2032)를 위해 입력된다. 분할 키 생성기는 생성된 난수 N'이 분할 키 암호체계에서 이용되는 특정 암호 알고리즘에 의해 부과되는 조건들을 준수하는지 여부를 체크(check)하는 알고리즘(2038)을 더 포함할 수 있다. 예를 들어, RSA 분할 키 암호체계를 이용하는 경우에, 분할 키 생성기에 의해 생성된 분할 키 d2는, d2
Figure pct00056
(n)가 서로소이면서 1 < d2 <
Figure pct00057
(n)가 되도록 하는 랜덤 정수와 관련이 있어야 한다.
그래서, 시드 생성기는, CS에 의해 생성된 난수, 시퀀스 넘버(sequence number), CS와 CCU에 공통인 타임 베이스(time base), 및/또는 CCU에 저장된 (그리고 CS에 알려진) 하나 이상의 비밀키들과 같은 프로토콜 파라미터들을 포함하는 하나 이상의 파라미터들을 기초로 하여 시드 N을 생성할 수 있다. 시드 N을 기초로 하여, 난수 N'이 생성될 수 있고, 이것은 알고리즘(2038)에 의해 체크된다. 만일 생성된 난수 N'(2040)이 암호 알고리즘 조건들을 준수하지 않는다면, 새로운 난수 N'을 생성하기 위하여 새로운 "시드(seed)"로서 이용될 수 있다. 이러한 프로세스는 암호 알고리즘을 만족시키는 난수가 생성될 때까지 계속될 수 있다. 이후에, 이 값은 분할 키 d2(2042)로서 할당된다.
도 21은 본 발명의 실시 예에 따른 분할 키 암호체계를 이용하는 콘텐츠 전송 시스템의 프로토콜 흐름의 개략도를 도시한다. 특히, 도 21은 도 20에서 도시된 바와 같은 보안 콘텐츠 배포 시스템에서 사용하기 위한 프로토콜 흐름을 도시한다. 이러한 특정 실시 예에서, 프로세스는 SKG와 함께 보안키 데이터베이스에 저장되어 있는 비밀키 sk 및 관련 식별자 IDsk를 생성하기 위하여 CS가 트리거를 SKG에 보내면서 시작될 수 있다(단계 2101). 게다가, 이후, CCU의 복호화 모듈에는 비밀키 및 식별자가 공급될수 있고(단계 2104), 복호화 모듈의 보안 메모리에 저장될 수 있다(단계 2105). 적절한 공급 프로세스들은 도 1을 참조하여 설명된 것들을 포함한다.
이후, 소비자가 콘텐츠 아이템 IDX를 구매한 경우에, 소비자의 CCU에서의 클라이언트는 콘텐츠 요청을 CPS에 보낼 수 있고(단계 2112), CCU는 콘텐츠 아이템 식별자 IDX를 포함하는 콘텐츠 요청을 CS에 보낼 수 있다(단계 2106). 콘텐츠 요청은 비디오 타이틀과 연관이 있는 콘텐츠 식별자 IDX 및 클라이언트와 연관이 있는 위치 정보, 예컨대, IP 주소를 포함할 수 있다. 응답으로, CS는 식별자 IDX에 의해 식별되는 요청된 콘텐츠 아이템 X와 연관이 있는 암호키 및 복호키(e,d)와 비밀키 정보(S)를 생성하고 저장하도록 SKG를 작동시킬 수 있다(단계 2108).
게다가, SKG는 이후 IDsk를 기초로 하여 비밀키 sk를 선택할 수 있고, 분할 키 생성기를 위한 입력으로서 sk 및 선택적으로 도 20을 참조하여 설명된 바와 같은 다른 파라미터들을 이용할 수 있으며, 분할 키 생성기는 이후에 분할 키 d2를 포함하는 분할 키 정보를 생성하고, 이것은 이후에 다른 정보와 함께 보안키 데이터베이스에 저장된다(단계 2110). 시크릿 정보(S), 분할 키 d2 및 d를 기초로 하여, 분할 키 d1을 포함하는 추가적 분할 키 정보가 생성되고(단계 2112), 보안 채널을 통해서(예컨대, 엔드-포인트 인증 및 메시지 암호화를 제공하는 키 배포 네트워크를 통해서) 분할-복호화 제어 메시지로 CCU의 복호화 모듈에 보내지고, 메시지는 비밀키 식별자 IDsk를 더 포함한다(단계 2114). 복호화 모듈은 식별자 IDsk를 기초로 하여 비밀키 sk를 검색할 수 있고, d2를 포함하는 분할 키 정보를 생성하기 위하여 분할 키 생성기를 위한 시드로서 비밀키 및 선택적으로 다른 파라미터들을 이용할 수 있고(단계 2116), d2는 d1과 함께 복호화 모듈의 보안 메모리에 저장된다(단계 2118).
2110-2118 단계들 중의 하나 이후에 또는 병렬적으로 평문 콘텐츠 아이템 X는 암호키 e를 이용해서 암호화된 콘텐츠 아이템 Xe로 암호화될 수 있다(단계 2120). 이후, 이렇게 하여 암호화된 콘텐츠 아이템은 CCU의 DM에 보내지고(단계 2122), 이것은 분할 복호키 d1을 이용하여 Xe를 Xe,d1로 부분적으로 복호화하고, 이후에 분할 복호키 d2를 이용하여 Xe,d1를 완전히 복호화된 콘텐츠 아이템 X로 부분적으로 복호화한다(단계 2124, 2126).
임의의 하나의 실시 예와 관련하여 설명된 임의의 특징은 단독으로 이용되거나 설명된 다른 특징들과 조합하여 이용될 수 있으며, 또한 실시 예들 중의 임의의 다른 하나 이상의 특징들 또는 실시 예들 중의 임의의 다른 특징들의 임의의 조합과 함께 이용될 수 있다. 본 발명의 하나의 실시 예는 컴퓨터 시스템과 함께 이용하기 위한 프로그램 제품으로서 구현될 수 있다. 프로그램 제품의 프로그램(들)은 (본 명세서에서 설명된 방법들을 포함하는) 실시 예들의 기능들을 정의하고, 다양한 컴퓨터 판독가능한 저장 매체상에 저장될 수 있다. 예시적인 컴퓨터 판독가능한 저장 매체는: (ⅰ) 정보가 영구적으로 저장되어 있는 기록 불가능한 저장 매체(non-writable storage media)(예컨대, CD-ROM 드라이브에 의해 판독될 수 있는 CD-ROM 디스크들과 같은 컴퓨터 내의 읽기 전용(read-only) 메모리 장치들, 플래시 메모리, ROM 칩(chip)들, 또는 임의의 타입의 솔리드-스테이트 비휘발성 반도체 메모리(solid-state non-volatile semiconductor memory)); 및 (ⅱ) 변경가능한 정보가 저장되어 있는 기록 가능한 저장 매체(writable storage media)(예컨대, 디스켓 드라이브(diskette drive) 내의 플로피 디스크(floppy disk)들, 또는 하드-디스크 드라이브(hard-disk drive), 또는 임의의 타입의 솔리드 스테이트 랜덤 액세스 반도체 메모리(solid-state random-access semiconductor memory));를 포함하되 이에 한정되지 않는다. 본 발명은 상술한 실시 예들로 제한되지 않으며, 이들은 첨부된 청구항의 범위 내에서 변경될 수 있다.

Claims (17)

  1. 콘텐츠 소스(content source)로부터 콘텐츠 수신 장치(content receiving device)로의 콘텐츠 아이템(content item)의 보안 전송(secure delivery)을 가능하게 하기 위한 방법으로서,
    상기 콘텐츠 수신 장치는 복호화 모듈과 연관이 있고,
    상기 복호화 모듈은 분할 키 암호체계(split-key cryptosystem)를 가지고 이용하도록 구성되고,
    상기 분할 키 암호체계는,
    암호화 및 복호화 알고리즘들(encryption and decryption algorithms)(E 및 D),
    시크릿(secret) 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘(cipher algorithm), 및
    e를 i개의 상이한 분할 암호키(split-encryption key)들 e1,e2,...,ei로, 및/또는 d를 k개의 상이한 분할 복호키(split-decryption key)들 d1,d2,...,dk로 각각 분할하기 위한 분할 키 알고리즘(split-key algorithm)
    을 포함하고;
    상기 분할 키 암호체계는,
    콘텐츠 아이템 X에 대한 다수의 연속적인(consecutive) 암호화 및 복호화 연산들의 수행, E 및 분할 암호키들 e1,e2,...,ei의 적용, 및 D 및 분할 복호키들 d1,d2,...,dk의 적용이 각각
    Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X, 여기서, i,k≥1이고 i+k>2임,
    을 만족시키는 것
    으로 더 정의되고;
    상기 방법은:
    적어도 하나의 제1 분할 키를 포함하는 제1 분할 키 정보를 상기 복호화 모듈에 공급하는 단계;
    제1 분할 키 정보, 상기 복호키 d, 및 선택적으로 상기 시크릿 정보(S)를 기초로 하여 적어도 하나의 제2 분할 키를 포함하는 제2 분할 키 정보를 생성하는 단계; 및
    상기 복호화 모듈에서, 상기 제1 분할 키 정보 및 상기 제2 분할 키 정보와 복호화 알고리즘 D를 기초로 하여, 암호화된 콘텐츠 아이템 Xe를 복호화하기 위해서 적어도 제2 분할 키 정보를 상기 복호화 모듈에 공급하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  2. 청구항 1에 있어서,
    상기 콘텐츠 소스는 적어도 하나의 암호화 알고리즘 E를 포함하는 암호화 모듈; 및 비밀키 생성기;와 연관이 있고, 상기 비밀키 생성기는 콘텐츠 아이템을 복호화하기 위한 암호키 정보와 적어도 제1 분할 키 정보 및 제2 분할 키 정보를 각각 생성하기 위해 상기 암호 알고리즘 및 분할 키 알고리즘을 포함하는 것을 특징으로 하는 방법.
  3. 청구항 2에 있어서,
    상기 암호화 모듈이 상기 비밀키 생성기로부터 암호화 정보를 수신하는 단계;
    상기 암호화 모듈이, 상기 암호키 정보를 기초로 하여, 적어도 하나의 암호화된 콘텐츠 아이템 Xe를 생성하는 단계;를 포함하는 것을 특징으로 하는 방법.
  4. 청구항 1 내지 3 중 어느 하나의 항에 있어서,
    상기 복호화 모듈에는 상이한 분할 키 정보 공급 방법들을 이용하여 상기 제1 분할 키 정보 및 상기 제2 분할 키 정보가 공급되거나,
    상기 복호화 모듈에는 제1 시점(point in time) 및 제2 시점에서 제1 분할 키 정보 및 제2 분할 키 정보가 각각 공급되고,
    바람직하게는 제1 시점은 상기 복호화 모듈이 제조되거나, 사용자에게 판매 또는 배포되거나, 또는 등록되는 시기이고,
    바람직하게는 제2 시점은 상기 콘텐츠 수신 장치가 콘텐츠 요청을 상기 콘텐츠 소스에 전송하는 시기인 것을 특징으로 하는 방법.
  5. 청구항 1 내지 4 중 어느 하나의 항에 있어서,
    제1 분할 키 정보를 공급하는 것은:
    상기 복호화 모듈의 제조 또는 배포 동안 상기 복호화 모듈에 상기 제1 분할 키 정보를 공급하는 단계;를 포함하거나,
    또는, 제1 분할 키 정보를 공급하는 것은:
    상기 콘텐츠 소스와, 바람직하게는 콘텐츠 소스와 연관된 비밀키 생성기와, 상기 복호화 모듈 사이에 보안 채널(secure channel)을 수립하는 단계; 및
    바람직하게는 상기 콘텐츠 수신 장치의 상기 콘텐츠 소스에 대한 인증(authentication) 또는 등록(registration) 프로세스 동안 상기 보안 채널이 수립되고, 상기 보안 채널을 통해서 적어도 제1 분할 키 정보를 상기 복호화 모듈에 보내는 단계;를 포함하거나,
    또는, 제1 분할 키 정보를 공급하는 것은:
    적어도 제1 분할 키 정보를 보안 하드웨어 모듈(secure hardware module)에, 바람직하게는 상기 복호화 모듈을 포함하는 스마트 카드(smart card)에 내장하는 단계;를 포함하거나,
    또는, 제1 분할 키 정보를 공급하는 것은:
    제1 분할 키 정보를 생성하라고 상기 복호화 모듈 내의 제1 분할 키 생성기에게 지시하는 단계;를 포함하되, 바람직하게는 상기 제1 분할 키 생성기는 상기 콘텐츠 소스로부터 유래되는 시그널링 메시지(signaling message)에 의해 지시를 받거나 상기 콘텐츠 소스와 상기 복호화 모듈에 공통된 공통 시그널링 메시지(common signaling message)에 의해 지시를 받고, 바람직하게는 상기 공통 시그널링 메시지는 상기 콘텐츠 소스와 상기 복호화 모듈 사이에서 공유되는 클록(clock)과 연관된 시간을 포함하는 것을 특징으로 하는 방법.
  6. 청구항 1 내지 5 중 어느 하나의 항에 있어서,
    제2 분할 키 정보를 공급하는 것은 상기 제2 분할 키 정보를, 바람직하게는 보안 채널을 통해서, 상기 복호화 모듈에 전송하는 단계 또는 적어도 제2 분할 키 정보를 기록 매체에 기록하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 청구항 3 내지 6 중 어느 하나의 항에 있어서,
    상기 복호화 모듈이, 암호화된 콘텐츠 아이템 Xe를 수신하는 단계; 및
    상기 암호화된 콘텐츠 아이템의 적어도 일부를, 상기 제1 분할 키 정보를 기초로 하여, 부분적으로 복호화된 콘텐츠 아이템으로 복호화하는 단계; 및
    상기 부분적으로 복호화된 콘텐츠 아이템을, 적어도 제2 분할 키 정보를 기초로 하여, 평문(plaintext) 콘텐츠 아이템으로 복호화하는 단계;를 포함하는 것을 특징으로 하는 방법.
  8. 청구항 1 내지 7 중 어느 하나의 항에 있어서,
    적어도 하나의 콘텐츠 전송 네트워크(content delivery network: CDN) 또는 CDN들의 네트워크에 적어도 하나의 암호화된 콘텐츠 아이템을 제공하는 단계;
    상기 제1 분할 키 정보 및 상기 제2 분할 키 정보, 상기 복호키 d, 및 선택적으로 상기 시크릿 정보(S)를 기초로 하여 제3 분할 키 정보를 생성하는 단계;
    CDN 또는 CDN들의 네트워크와 연관된 적어도 하나의 복호화 모듈에 상기 제3 분할 키 정보를 공급하는 단계;
    상기 암호화된 콘텐츠 아이템, 상기 CDN에서의 복호화 알고리즘 D, 및 상기 제3 분할 키 정보를 기초로 하여, 부분적으로 복호화된 콘텐츠 아이템을 생성하는 단계; 및
    상기 부분적으로 복호화된 콘텐츠 아이템을 상기 콘텐츠 수신 장치에 전송하는 단계;를 포함하는 것을 특징으로 하는 방법.
  9. 청구항 1 내지 8 중 어느 하나의 항에 있어서,
    적어도 제1 분할 키 정보는 복수의 제1 분할 키들 및 관련 제1 분할 키 식별자들을 포함하고, 바람직하게는 상기 복수의 제1 분할 키들은 특정한 지리적 영역에 대해 유효한 하나 이상의 지리-특정(geography-specific) 분할 키들, 특정한 하드웨어 장치 또는 하드웨어 장치의 그룹에 대해 유효한 하드웨어-특정(hardware-specific) 분할 키들, 미리 결정된 콘텐츠 아이템 또는 콘텐츠 아이템들의 그룹에 대해 유효한 콘텐츠-특정(content-specific) 분할 키들, 및/또는 특정한 자용자 또는 사용자들의 그룹에 대해 유효한 사용자-특정(user-specific) 분할 키들을 포함하는 것을 특징으로 하는 방법.
  10. 청구항 9에 있어서,
    바람직하게는 하나 이상의 제1 키 식별자들을 포함하는 정보로서, 하나 이상의 분할 키들을 선택하기 위한 정보를 상기 복호화 모듈에 제공하는 단계;
    바람직하게는 하나 이상의 제1 키 식별자들을 기초로 하여, 복수의 제1 분할 키들로부터 하나 이상의 제1 분할 키들을 선택하는 단계;를 포함하는 것을 특징으로 하는 방법.
  11. 청구항 5에 있어서,
    상기 복호화 모듈 내의 제1 분할 키 생성기에게 지시하는 경우에, 상기 콘텐츠 수신 장치에서의 상기 제1 분할 키 생성기는 의사 랜덤 생성기(pseudo random generator)를 포함하고,
    상기 방법은:
    상기 분할 키 생성기가, 상기 의사 랜덤 생성기를 위한 시드(seed)를 생성하기 위한 정보를 수신하는 단계;
    의사 랜덤값(pseudo random value)을 생성하는 단계;
    분할 키 정보를 위해 이용하기 위한 상기 분할 키 암호체계에 의해 부과되는 하나 이상의 조건들을 상기 의사 랜덤값이 따르는지 여부를 체크(check)하는 단계;를 포함하는 것을 특징으로 하는 방법.
  12. 콘텐츠 소스로부터 콘텐츠 수신 장치로의 콘텐츠 아이템 X의 보안 전송을 가능하게 하기 위한 시스템으로서,
    상기 시스템은 분할 키 암호체계를 가지고 이용하도록 구성되고,
    상기 분할 키 암호체계는,
    암호화 및 복호화 알고리즘들(E 및 D),
    시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및
    e를 i개의 상이한 분할 암호키들 e1,e2,...,ei로, 및/또는 d를 k개의 상이한 분할 복호키들 d1,d2,...,dk로 각각 분할하기 위한 분할 키 알고리즘
    을 포함하고;
    상기 분할 키 암호체계는
    콘텐츠 아이템 X에 대한 다수의 연속적인 암호화 및 복호화 연산들의 수행, E 및 분할 암호키들 e1,e2,...,ei의 적용, 및 D 및 분할 복호키들 d1,d2,...,dk의 적용이 각각
    Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X, 여기서, i,k≥1이고 i+k>2임,
    을 만족시키는 것
    으로 더 정의되고;
    상기 시스템은:
    콘텐츠 소스와 연관된 암호화 모듈로서, 암호화된 콘텐츠 아이템 Xe를 생성하기 위해 상기 암호화 알고리즘 E를 포함하는 암호화 모듈;
    상기 암호 알고리즘 및 상기 분할 키 알고리즘을 포함하는 상기 암호화 모듈과 연관된 키 생성기; 및
    상기 복호화 알고리즘 D를 포함하는 복호화 모듈로서, 상기 콘텐츠 수신 장치와 연관이 있고, 적어도 제1 분할 키 정보 및 제2 분할 키 정보와 복호화 알고리즘 D를 기초로 하여, 암호화된 콘텐츠 아이템을 복호화하도록 구성된 복호화 모듈;
    을 포함하는 것을 특징으로 하는 시스템.
  13. 청구항 12에 따른 시스템에서 이용하기 위한 키 생성기(key generator)로서,
    시크릿 정보(S)를 기초로 하여 복호키 d 및/또는 암호키 e를 생성하기 위한 암호 생성기(cipher generator);
    하나 이상의 랜덤 분할 암호키들 및/또는 하나 이상의 랜덤 분할 복호키들을 각각 생성하기 위한 의사 랜덤 생성기, 및 상기 랜덤 분할 암호키들과 상기 암호키 e를 기초로 하여 추가적 분할 암호키를 결정하거나 상기 랜덤 분할 복호키들과 상기 복호키 d를 기초로 하여 추가적 분할 복호키를 결정하기 위한 추가적 분할 키 알고리즘을 포함하는 분할 키 생성기(split-key generator);
    를 포함하는 키 생성기.
  14. 청구항 13에 있어서,
    상기 암호화 및 복호화 알고리즘들(E,D) 및 상기 암호 알고리즘은 EIGamal 알고리즘을 기초로 하고, k개의 분할 키들을 생성하기 위한 분할 키 알고리즘은:
    - 상기 랜덤 생성기가, p보다 작은 k-1개의 랜덤 정수(random integer)들 d1 ... dk-1을 선택하도록 구성되고,
    - 마지막 정수(final integer)를 dk = d - (d1 + ... + dk-1)(mod p)로서 계산하도록 구성되는 것
    으로 정의되거나,
    또는, 상기 암호화 및 복호화 알고리즘들(E,D)은
    Figure pct00058
    방식을 기초로 하고, k개의 분할 키들을 생성하기 위한 분할 키 알고리즘은:
    - n보다 작은 n-1개의 랜덤 정수들 d1,...,dn-1을 결정하고,
    - dk = d - (d1 + ... + dn-1)(mod n)을 계산하는 것
    으로 정의되거나,
    또는, 상기 암호화 및 복호화 알고리즘들(E,D)은 원타임 패드(one-time pad) 방식을 기초로 하고, k개의 분할 키들을 생성하기 위한 분할 키 알고리즘은:
    - k-1개의 랜덤 이진 스트림들 d1 ... dk-1을 결정하고,
    - dk = d1
    Figure pct00059
    ...
    Figure pct00060
    dk-1
    Figure pct00061
    e를 계산하는 것
    으로 정의되거나,
    또는, 상기 암호화 및 복호화 알고리즘들(E,D)은 RSA 방식을 기초로 하고, k개의 분할 키들을 생성하기 위한 분할 키 알고리즘은:
    -
    Figure pct00062
    (n)과 서로소인 k-1개의 랜덤 정수들 d1,...,dk-1을 결정하고,
    - dk = (d1 * ... * dk-1)-1 * d(mod
    Figure pct00063
    (n))을 계산하는 것
    으로 정의되는 것을 특징으로 하는 키 생성기.
  15. 콘텐츠 수신 장치와 연관되거나 콘텐츠 수신 장치에서 이용하기 위한 복호화 모듈(decryption module)로서,
    상기 복호화 모듈은 분할 키 암호체계를 가지고 이용하도록 구성되고,
    상기 분할 키 암호체계는,
    암호화 알고리즘(E) 및 복호화 알고리즘(D),
    시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및
    e를 i개의 상이한 분할 암호키들 e1,e2,...,ei로, 및/또는 d를 k개의 상이한 분할 복호키들 d1,d2,...,dk로 각각 분할하기 위한 분할 키 알고리즘
    을 포함하고;
    상기 분할 키 암호체계는,
    콘텐츠 아이템 X에 대한 다수의 연속적인 암호화 및 복호화 연산들의 수행, E 및 분할 암호키들 e1,e2,...,ei의 적용, 및 D 및 분할 복호키들 d1,d2,...,dk의 적용이 각각
    Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X, 여기서, i,k≥1이고 i+k>2임,
    을 만족시키는 것
    으로 더 정의되고;
    상기 복호화 모듈은:
    적어도 하나의 암호키 및 암호화 알고리즘 E를 이용하여 암호화된 콘텐츠를 수신하기 위한 입력부(input);
    공급된 제1 분할 키 정보를 저장하기 위한 보안 스토리지(secure storage);
    제2 분할 키 정보를 공급받기 위한 입력부;
    제2 분할 키 정보 및 복호화 알고리즘 D를 이용해서 적어도 하나의 제1 복호화 연산을 수행하고, 공급된 제1 분할 키 정보 및 복호화 알고리즘 D를 이용해서 적어도 하나의 제2 복호화 연산을 수행하기 위한 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 복호화 모듈.
  16. 암호화 알고리즘 E와 적어도 하나의 암호키 또는 분할 암호키를 이용해서 암호화된 콘텐츠 아이템과 연관된 데이터를 포함하는 기록 영역(recording area)을 포함하는 기록 매체(recording medium)로서,
    기록 영역은, 복호화 알고리즘 D를 이용하여, 상기 암호화된 콘텐츠 아이템을 부분적으로 복호화하기 위한 적어도 하나의 분할 복호키와 연관된 데이터를 포함하고,
    암호화 및 복호화 알고리즘(E,D)은 분할 키 암호체계의 일부이고,
    상기 분할 키 암호체계는,
    암호화 및 복호화 알고리즘들(E 및 D),
    시크릿 정보(S)를 기초로 하여 암호키 및 복호키(e,d)를 생성하기 위한 암호 알고리즘, 및
    e를 i개의 상이한 분할 암호키들 e1,e2,...,ei로, 및/또는 d를 k개의 상이한 분할 복호키들 d1,d2,...,dk로 각각 분할하기 위한 분할 키 알고리즘
    을 포함하고,
    상기 분할 키 암호체계는,
    콘텐츠 아이템 X에 대한 다수의 연속적인 암호화 및 복호화 연산들의 수행, E 및 분할 암호키들 e1,e2,...,ei의 적용, 및 D 및 분할 복호키들 d1,d2,...,dk의 적용이 각각
    Ddk(Ddk-1(...(Dd2(Dd1(Eei(Eei-1(...(Ee2(Ee1(X))...))=Ddk(Ddk-1(...(Dd2(Dd1(Xe1,e2,...,ei))=X, 여기서, i,k≥1이고 i+k>2임,
    을 만족시키는 것
    으로 더 정의되는 것을 특징으로 하는 기록 매체.
  17. 컴퓨터의 메모리에서 실행될 때, 청구항 1 내지 11 중 어느 하나의 항에 따른 방법의 단계들을 수행하도록 구성된 소프트웨어 코드 부분들을 포함하는 컴퓨터 프로그램 제품.
KR1020147012157A 2011-10-24 2012-10-24 콘텐츠의 보안 배포 KR101620246B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11186388.2 2011-10-24
EP11186388 2011-10-24
PCT/EP2012/070995 WO2013060695A1 (en) 2011-10-24 2012-10-24 Secure distribution of content

Publications (2)

Publication Number Publication Date
KR20140072188A true KR20140072188A (ko) 2014-06-12
KR101620246B1 KR101620246B1 (ko) 2016-05-23

Family

ID=47049180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147012157A KR101620246B1 (ko) 2011-10-24 2012-10-24 콘텐츠의 보안 배포

Country Status (7)

Country Link
US (1) US20140310527A1 (ko)
EP (1) EP2772004A1 (ko)
JP (1) JP2014535199A (ko)
KR (1) KR101620246B1 (ko)
CN (1) CN104040939A (ko)
HK (1) HK1201658A1 (ko)
WO (1) WO2013060695A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020076722A1 (en) * 2018-10-12 2020-04-16 Medici Ventures, Inc. Encrypted asset encryption key parts allowing for assembly of an asset encryption key using a subset of the encrypted asset encryption key parts
KR20200115408A (ko) * 2019-02-15 2020-10-07 주식회사 크립토랩 비밀 키에 대한 정족수 설계를 수행하는 장치 및 방법
KR20200118710A (ko) * 2019-04-08 2020-10-16 주식회사 포멀웍스 디지털 제품 유통 방법 및 디지털 제품 유통 시스템
US20210110010A1 (en) * 2019-10-10 2021-04-15 Baidu Usa Llc Method and system for signing an artificial intelligence watermark using a query
KR20220027408A (ko) * 2020-08-27 2022-03-08 에스케이 주식회사 블록체인 플랫폼 기반의 콘텐츠 암호키를 이용한 디지털 콘텐츠 거래 방법

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2759088A1 (en) * 2011-09-23 2014-07-30 Koninklijke KPN N.V. Secure distribution of content
WO2014064890A1 (ja) 2012-10-24 2014-05-01 パナソニック株式会社 通信システム、受信端末、送信端末、および流量制御方法
CN104854835B (zh) * 2013-01-17 2018-07-06 英特尔Ip公司 用于dash感知网络应用功能(d-naf)的装置和方法
US9197422B2 (en) * 2013-01-24 2015-11-24 Raytheon Company System and method for differential encryption
US11282139B1 (en) 2013-06-28 2022-03-22 Gemini Ip, Llc Systems, methods, and program products for verifying digital assets held in a custodial digital asset wallet
US9892460B1 (en) 2013-06-28 2018-02-13 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
US10269009B1 (en) 2013-06-28 2019-04-23 Winklevoss Ip, Llc Systems, methods, and program products for a digital math-based asset exchange
US10354325B1 (en) 2013-06-28 2019-07-16 Winklevoss Ip, Llc Computer-generated graphical user interface
US10068228B1 (en) 2013-06-28 2018-09-04 Winklevoss Ip, Llc Systems and methods for storing digital math-based assets using a secure portal
US9773117B2 (en) * 2014-06-04 2017-09-26 Microsoft Technology Licensing, Llc Dissolvable protection of candidate sensitive data items
WO2016061411A1 (en) * 2014-10-15 2016-04-21 Verimatrix, Inc. Securing communication in a playback device with a control module using a key contribution
US9853977B1 (en) 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
US10013363B2 (en) * 2015-02-09 2018-07-03 Honeywell International Inc. Encryption using entropy-based key derivation
CA2976701A1 (en) * 2015-02-17 2016-08-25 Visa International Service Association Cloud encryption key broker apparatuses, methods and systems
US10915891B1 (en) 2015-03-16 2021-02-09 Winklevoss Ip, Llc Autonomous devices
US10158480B1 (en) 2015-03-16 2018-12-18 Winklevoss Ip, Llc Autonomous devices
US10341381B2 (en) * 2015-04-29 2019-07-02 Entit Software Llc Inhibiting electromagnetic field-based eavesdropping
US9906505B2 (en) * 2015-05-08 2018-02-27 Nxp B.V. RSA decryption using multiplicative secret sharing
US10558996B2 (en) * 2015-06-09 2020-02-11 Fidelity National Information Services, Llc Methods and systems for regulating operation of units using encryption techniques associated with a blockchain
US9660803B2 (en) 2015-09-15 2017-05-23 Global Risk Advisors Device and method for resonant cryptography
CN106603243B (zh) * 2016-04-08 2020-06-16 数安时代科技股份有限公司 数字签名的私钥处理方法和装置
US10411900B2 (en) * 2016-07-12 2019-09-10 Electronics And Telecommunications Research Institute Control word protection method for conditional access system
JP2018029268A (ja) * 2016-08-18 2018-02-22 三菱電機株式会社 暗号システム、暗号装置、暗号プログラム及び暗号方法
US10078493B2 (en) * 2016-10-10 2018-09-18 International Business Machines Corporation Secured pseudo-random number generator
US10708073B2 (en) 2016-11-08 2020-07-07 Honeywell International Inc. Configuration based cryptographic key generation
CN108092761B (zh) * 2016-11-22 2021-06-11 广东亿迅科技有限公司 一种基于rsa和3des的密钥管理方法及系统
CN107707514B (zh) 2017-02-08 2018-08-21 贵州白山云科技有限公司 一种用于cdn节点间加密的方法及系统及装置
EP3379769A1 (en) * 2017-03-21 2018-09-26 Gemalto Sa Method of rsa signature or decryption protected using multiplicative splitting of an asymmetric exponent
WO2019099456A1 (en) * 2017-11-14 2019-05-23 Icrypto, Inc. System and method for securely activating a mobile device and storing an encryption key
FR3074989B1 (fr) * 2017-12-11 2021-03-05 Airbus Defence & Space Sas Procede de communication securise
US11200569B1 (en) 2018-02-12 2021-12-14 Winklevoss Ip, Llc System, method and program product for making payments using fiat-backed digital assets
US11522700B1 (en) 2018-02-12 2022-12-06 Gemini Ip, Llc Systems, methods, and program products for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US10438290B1 (en) 2018-03-05 2019-10-08 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10929842B1 (en) 2018-03-05 2021-02-23 Winklevoss Ip, Llc System, method and program product for depositing and withdrawing stable value digital assets in exchange for fiat
US11139955B1 (en) 2018-02-12 2021-10-05 Winklevoss Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US10540654B1 (en) 2018-02-12 2020-01-21 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US11308487B1 (en) 2018-02-12 2022-04-19 Gemini Ip, Llc System, method and program product for obtaining digital assets
US11475442B1 (en) 2018-02-12 2022-10-18 Gemini Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
US11909860B1 (en) 2018-02-12 2024-02-20 Gemini Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US10373129B1 (en) 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10373158B1 (en) 2018-02-12 2019-08-06 Winklevoss Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
US11334883B1 (en) 2018-03-05 2022-05-17 Gemini Ip, Llc Systems, methods, and program products for modifying the supply, depositing, holding and/or distributing collateral as a stable value token in the form of digital assets
US20190318118A1 (en) * 2018-04-16 2019-10-17 International Business Machines Corporation Secure encrypted document retrieval
US10826694B2 (en) * 2018-04-23 2020-11-03 International Business Machines Corporation Method for leakage-resilient distributed function evaluation with CPU-enclaves
CN108600276B (zh) * 2018-05-30 2020-08-25 常熟理工学院 一种安全高效的物联网实现方法
US11509459B2 (en) * 2019-05-10 2022-11-22 Conduent Business Services, Llc Secure and robust decentralized ledger based data management
US11501370B1 (en) 2019-06-17 2022-11-15 Gemini Ip, Llc Systems, methods, and program products for non-custodial trading of digital assets on a digital asset exchange
CN110365490B (zh) * 2019-07-25 2022-06-21 中国工程物理研究院电子工程研究所 一种基于令牌加密认证的信息系统集成安全策略方法
US11151229B1 (en) 2020-04-10 2021-10-19 Avila Technology, LLC Secure messaging service with digital rights management using blockchain technology
US10873852B1 (en) 2020-04-10 2020-12-22 Avila Technology, LLC POOFster: a secure mobile text message and object sharing application, system, and method for same
US11314876B2 (en) 2020-05-28 2022-04-26 Bank Of America Corporation System and method for managing built-in security for content distribution
US11875039B2 (en) * 2021-11-30 2024-01-16 Micron Technology, Inc. Temperature-based scrambling for error control in memory systems
CN114785778B (zh) * 2022-03-10 2023-09-01 聚好看科技股份有限公司 网关设备和内容分发方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69836455T2 (de) * 1997-08-20 2007-03-29 Canon K.K. System für elektronische Wasserzeichen, elektronisches Informationsverteilungssystem und Gerät zur Abspeicherung von Bildern
US7079653B2 (en) * 1998-02-13 2006-07-18 Tecsec, Inc. Cryptographic key split binding process and apparatus
WO2002046861A2 (en) * 2000-11-27 2002-06-13 Certia, Inc. Systems and methods for communicating in a business environment
US7257844B2 (en) * 2001-07-31 2007-08-14 Marvell International Ltd. System and method for enhanced piracy protection in a wireless personal communication device
AU2003289173A1 (en) * 2002-12-06 2004-06-30 Sony Corporation Recording/reproduction device, data processing device, and recording/reproduction system
JP2004363955A (ja) * 2003-06-04 2004-12-24 Nippon Hoso Kyokai <Nhk> コンテンツ配信方法、コンテンツ配信システム及びそのプログラム並びにコンテンツ復号方法、コンテンツ復号装置及びそのプログラム
US7690026B2 (en) * 2005-08-22 2010-03-30 Microsoft Corporation Distributed single sign-on service
CN101300775B (zh) * 2005-10-31 2012-12-19 松下电器产业株式会社 安全处理装置、安全处理方法、加密信息嵌入方法、程序、存储介质和集成电路
US8050407B2 (en) * 2006-04-12 2011-11-01 Oracle America, Inc. Method and system for protecting keys
US7734045B2 (en) * 2006-05-05 2010-06-08 Tricipher, Inc. Multifactor split asymmetric crypto-key with persistent key security
US20090204656A1 (en) * 2008-02-13 2009-08-13 Infineon Technologies Ag Pseudo random number generator and method for generating a pseudo random number bit sequence
EP2227015B1 (en) * 2009-03-02 2018-01-10 Irdeto B.V. Conditional entitlement processing for obtaining a control word
CA2754268C (en) * 2009-03-03 2018-04-03 Kenneth J. Giuliani Split key secure access system
WO2011020088A1 (en) * 2009-08-14 2011-02-17 Azuki Systems, Inc. Method and system for unified mobile content protection

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020076722A1 (en) * 2018-10-12 2020-04-16 Medici Ventures, Inc. Encrypted asset encryption key parts allowing for assembly of an asset encryption key using a subset of the encrypted asset encryption key parts
US11444755B2 (en) 2018-10-12 2022-09-13 Tzero Ip, Llc Doubly-encrypted secret parts allowing for assembly of a secret using a subset of the doubly-encrypted secret parts
US11601264B2 (en) 2018-10-12 2023-03-07 Tzero Ip, Llc Encrypted asset encryption key parts allowing for assembly of an asset encryption key using a subset of the encrypted asset encryption key parts
US11764951B2 (en) 2018-10-12 2023-09-19 Tzero Ip, Llc Doubly-encrypted secret parts allowing for assembly of a secret using a subset of the doubly-encrypted secret parts
KR20200115408A (ko) * 2019-02-15 2020-10-07 주식회사 크립토랩 비밀 키에 대한 정족수 설계를 수행하는 장치 및 방법
US11201735B2 (en) 2019-02-15 2021-12-14 Seoul National University R&Db Foundation Apparatus for performing threshold design on secret key and method thereof
KR20200118710A (ko) * 2019-04-08 2020-10-16 주식회사 포멀웍스 디지털 제품 유통 방법 및 디지털 제품 유통 시스템
WO2020209463A3 (ko) * 2019-04-08 2020-11-26 주식회사 포멀웍스 디지털 제품 유통 방법 및 디지털 제품 유통 시스템
US20210110010A1 (en) * 2019-10-10 2021-04-15 Baidu Usa Llc Method and system for signing an artificial intelligence watermark using a query
US11704390B2 (en) * 2019-10-10 2023-07-18 Baidu Usa Llc Method and system for signing an artificial intelligence watermark using a query
KR20220027408A (ko) * 2020-08-27 2022-03-08 에스케이 주식회사 블록체인 플랫폼 기반의 콘텐츠 암호키를 이용한 디지털 콘텐츠 거래 방법

Also Published As

Publication number Publication date
EP2772004A1 (en) 2014-09-03
CN104040939A (zh) 2014-09-10
HK1201658A1 (en) 2015-09-04
WO2013060695A1 (en) 2013-05-02
US20140310527A1 (en) 2014-10-16
KR101620246B1 (ko) 2016-05-23
JP2014535199A (ja) 2014-12-25

Similar Documents

Publication Publication Date Title
KR101620246B1 (ko) 콘텐츠의 보안 배포
US9350539B2 (en) Secure distribution of content
US7349886B2 (en) Securely relaying content using key chains
US7933410B2 (en) System and method for a variable key ladder
AU2010276315B2 (en) Off-line content delivery system with layered encryption
US20130262869A1 (en) Control word protection
US20150356281A1 (en) Secure Watermarking of Content
EP2119091A2 (en) Content encryption schema for integrating digital rights management with encrypted multicast
EP2929695A1 (en) Digital rights management for segmented content
JP2009219141A (ja) 公開鍵メディア鍵束
EP2647213B1 (en) System and method to record encrypted content with access conditions
CN109151507B (zh) 视频播放系统及方法
CN106797309A (zh) 使用密钥贡献保护回放设备中与控制模块的通信
CN101160965B (zh) 实现网络电视节目预览的方法、加密装置、版权中心系统和用户终端设备
WO2007116390A2 (en) Fingerprinting descrambling keys
JP2011508544A (ja) データ送信システム及び方法
Thatmann et al. A secure DHT-based key distribution system for attribute-based encryption and decryption
JP2005020623A (ja) コンテンツ配信サーバ及びそのプログラム、ライセンス発行サーバ及びそのプログラム、コンテンツ復号端末及びそのプログラム、並びに、コンテンツ配信方法及びコンテンツ復号方法
JP2005260650A (ja) 復号情報生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
Veugen et al. Secure Distribution of Content
CN103235904A (zh) 应用软件数字版权保护方法、装置及系统
JP2008152105A (ja) 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
JP2009171016A (ja) 暗号化情報生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
JP2009171384A (ja) 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
Ichibane et al. Private video streaming service using leveled somewhat homomorphic encryption

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190425

Year of fee payment: 4