KR20070055439A - 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치 - Google Patents

폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치 Download PDF

Info

Publication number
KR20070055439A
KR20070055439A KR1020070025636A KR20070025636A KR20070055439A KR 20070055439 A KR20070055439 A KR 20070055439A KR 1020070025636 A KR1020070025636 A KR 1020070025636A KR 20070025636 A KR20070025636 A KR 20070025636A KR 20070055439 A KR20070055439 A KR 20070055439A
Authority
KR
South Korea
Prior art keywords
decryption
key
sac
client
host
Prior art date
Application number
KR1020070025636A
Other languages
English (en)
Other versions
KR101086431B1 (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 KR20070055439A publication Critical patent/KR20070055439A/ko
Application granted granted Critical
Publication of KR101086431B1 publication Critical patent/KR101086431B1/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • 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/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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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/601Broadcast encryption

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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 디지털 컨텐트를 보호하는 분야에 관한 것으로, 폐기 메커니즘(revocation mechanism)에 사용되는 트리의 리프 노드들 중 어떤 리프 노드가 폐기되었는지 여부에 따라 이 리프 노드에 대응하는 암호화된 컨텐트의 복호화를 수행하는 일련의 과정 중 일부를 처리해 줄 것을 외부에 요청하고, 이 요청에 대한 응답에 기초하여 암호화된 컨텐트를 복호화함으로서 디바이스의 데이터 저장 용량이 작거나, 데이터 처리 능력이 떨어지는 경우에도 브로드캐스트 암호화 방식에 따라 암호화된 컨텐트의 복호화를 원활하게 수행할 수 있다.

Description

폐기 메커니즘 상에서 외부 디바이스 또는 서비스를 이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원 방법 및 장치 {Method and apparatus for decryption using external device or service on revocation mechanism, method and apparatus for supporting decryption therefor}
도 1은 일반적인 브로드캐스트 암호화 방식을 도시한 도면이다.
도 2는 도 1에 도시된 브로드캐스트 암호화 방식에서 사용되는 트리의 일례를 도시한 도면이다.
도 3은 도 2에 도시된 트리의 리프 노드들 중 어느 하나가 폐기된 경우를 도시한 도면이다.
도 4는 일반적인 HBES 키 트리를 도시한 도면이다.
도 5는 일반적인 HBES 노드 키 세트의 일례를 도시한 도면이다.
도 6은 도 5에 도시된 HBES 리프 노드들 중 일부가 폐기된 경우를 도시한 도면이다.
도 7은 일반적인 HBES 키 트리의 일례를 도시한 도면이다.
도 8은 본 발명의 바람직한 일 실시예에 따른 복호화 방법 및 복호화 지원 방법의 개략적인 흐름도이다.
도 9는 본 발명의 바람직한 일 실시예에 따른 클라이언트 및 호스트의 구성 도이다.
도 10은 본 발명의 바람직한 일 실시예에 따른 복호화 방법의 흐름도이다.
도 11은 본 발명의 바람직한 일 실시예에 따른 복호화 지원 방법의 흐름도이다.
본 발명은 디지털 컨텐트를 보호하는 분야에 관한 것으로, 특히 폐기 메커니즘(revocation mechanism) 상에서 컨텐트를 복호화하는 방법 및 장치, 이를 위한 복호화 지원 방법에 관한 것이다.
최근 들어, 인터넷, 지상파, 케이블, 위성 등의 다양한 통신 매체들을 이용한 디지털 컨텐트의 전송이 급증하고 있고, CD(Compact Disk), DVD(Digital Versatile Disk) 등의 대용량 기록 매체들을 이용한 디지털 컨텐트의 판매 및 대여가 급증하고 있다. 이에 따라, 디지털 컨텐트의 저작권을 보호하기 위한 솔루션인 DRM(Digital Rights Management)이 중요한 이슈로 떠오르고 있다. DRM에 관련된 기술들 중, 특히 CD, DVD 등의 기록 매체, 인터넷 등을 이용하여 브로드캐스트되는 디지털 컨텐트를 암호화함으로써 광범위하게 배포되는 디지털 컨텐트를 보호하는 브로드캐스트 암호화 방식(broadcast encryption scheme)에 대한 연구가 활발히 진행되고 있다.
일반적으로, 브로드캐스트 암호화 방식은 컨텐트 키(content key)를 사용하 여 컨텐트를 암호화하고, 디바이스, 응용 프로그램 등의 폐기를 관리하기 위한 폐기 키(revocation key)를 사용하여 컨텐트 암호화에 사용된 컨텐트 키를 암호화하거나, 컨텐트 키를 암호화하는데 사용된 브로드캐스트 키를 암호화하는 폐기 메커니즘을 채택하고 있다. 따라서, 종래 브로드캐스트 암호화 방식에 따라 암호화된 컨텐트를 복호화하기 위해서는 디바이스 또는 응용 프로그램은 자신과 대응하는 노드의 아이디 및 폐기 키 세트를 보유하고 있어야 한다. 또한, 디바이스 또는 응용 프로그램은 브로드캐스트 암호화 방식에 따라 암호화된 컨텐트를 복호화하기 위해서 브로드캐스트 키 블록을 수신하고, 이것에 기초하여 자신이 폐기되었는지 여부를 검사하고, 그 결과에 따라 암호화된 컨텐트 키를 복호화하는 등 컨텐트 복호화에 필요한 일련의 과정을 수행해야 한다. 디바이스의 데이터 저장 용량이 작거나, 데이터 처리 능력이 떨어지는 경우에 이것은 상당한 부담으로 작용한다는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 디바이스의 데이터 저장 용량이 작거나, 데이터 처리 능력이 떨어지는 경우에도 브로드캐스트 암호화 방식에 따라 암호화된 컨텐트의 복호화를 원활하게 수행할 수 있게 하는 장치 및 방법을 제공하는데 있다. 또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 복호화 방법은 다수의 노 드들 중 소정 노드가 폐기되었는지 여부에 따라 상기 소정 노드에 대응하는 암호화된 컨텐트의 복호화를 수행하는 일련의 과정 중 일부를 처리해 줄 것을 외부에 요청하는 단계; 및 상기 요청에 대한 응답에 기초하여 상기 소정 노드에 대응하는 암호화된 컨텐트를 복호화하는 단계를 포함한다.
상기 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 복호화 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 복호화 장치는 다수의 노드들 중 소정 노드가 폐기되었는지 여부를 검사하여 줄 것을 외부에 요청하는 요청부; 및 상기 요청에 대한 응답에 기초하여 상기 소정 노드에 대응하는 암호화된 컨텐트를 복호화하는 복호화부를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 복호화 지원 방법은 다수의 노드들 중 소정 노드가 폐기되었는지 여부에 따라 상기 소정 노드에 대응하는 암호화된 컨텐트의 복호화를 수행하는 일련의 과정 중 일부를 처리해 달라는 요청을 외부로부터 수신하는 단계; 상기 수신된 요청에 따라 상기 일부를 처리하는 단계; 및 상기 처리 결과를 포함하는 응답을 전송하는 단계를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 복호화 지원 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 복호화 지원 장 치는 다수의 노드들 중 소정 노드가 폐기되었는지 여부를 검사해 달라는 요청을 외부로부터 수신하는 폐기 검사 요청 수신부; 상기 폐기 검사 요청 수신부에 수신된 요청에 따라 상기 소정 노드가 폐기되었는지 여부를 검사하는 폐기 검사부; 및 상기 폐기 검사부에서의 검사 결과를 포함하는 응답을 전송하는 폐기 검사 응답부를 포함한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 1은 일반적인 브로드캐스트 암호화 방식을 도시한 도면이다.
도 1을 참조하면, 컨텐트 제공자(11)는 컨텐트를 컨텐트 키 CK로 암호화하여 컨텐트를 재생하고자 하는 디바이스들(131-134)로 브로드캐스트한다. 일반적으로, 컨텐트 키로 암호화된 컨텐트를 E(CK, Content)(121)로 표기한다.
또한, 컨텐트 제공자(11)는 컨텐트 키 CK를 디바이스들(131-134)이 보유하고 있는 키들로 암호화하여 디바이스들(131-134)로 브로드캐스트한다. 도 1에서는 디바이스들(131-134)의 키들 K1, K2, K3, ... , Kn로 암호화된 컨텐트 키 CK를 E(K1, CK), E(K2, CK), E(K3, CK), ... , E(Kn, CK)로 표기하고, 이와 같이 암호화된 컨텐트 키를 {E(Ki, CK)}(122)라고 표기한다.
디바이스들(131-134)은 자신이 보유하고 있는 키 세트를 이용하여 컨텐트 제공자(11)로부터 수신한 {E(Ki, CK)}(122)에 대한 복호화를 시도한다. 만약, {E(Ki, CK)}(122)의 암호화에 사용된 키들과 일치하는 적어도 하나 이상의 키들을 보유한 디바이스들(131-134)은 {E(Ki, CK)}(122)를 복호화할 수 있으나, {E(Ki, CK)}(122) 의 암호화에 사용된 키들과 일치하는 적어도 하나 이상의 키들을 단 하나도 보유하고 있지 않은 디바이스들(131-134)은 {E(Ki, CK)}(122)를 복호화할 수 없다. {E(Ki, CK)}(122)를 복호화한 디바이스들은 {E(Ki, CK)}(122) 복호화의 결과물인 컨텐트 키 CK를 이용하여 E(CK, Content)(121)를 복호화한다.
따라서, 컨텐트 제공자(11)는 키 세트 노출 등으로 인해 폐기(revoke)된 디바이스들이 보유하고 있지 않은 키들만으로 컨텐트 키를 암호화하여 디바이스들(131-134)로 브로드캐스트함으로서 이들 디바이스들이 {E(Ki, CK)}(122)를 복호화할 수 없도록 할 수 있다. 결과적으로, 키 세트 노출 등으로 인해 폐기된 디바이스들은 E(CK, Content)(121)를 복호화할 수 없게 된다.
도 2는 도 1에 도시된 브로드캐스트 암호화 방식에서 사용되는 트리의 일례를 도시한 도면이다.
도 2를 참조하면, 도 2에 도시된 브로드캐스트 암호화 방식에서 사용되는 트리는 하나의 선조 노드(ancestor node)가 두 개의 후손 노드(descendent node)들을 갖고 있고, 네 개의 계층들로 이루어진 2진 4계층 형태의 트리이다. 또한, 트리의 노드들 각각에는 하나의 키가 할당되어 있다.
도 2에 도시된 트리의 노드들 중, 가장 상단의 노드를 루트 노드(root node)라고 하고, 가장 하단의 노드를 리프 노드(leaf node)라고 한다. 일반적인 브로드캐스트 암호화 방식에 따르면, 리프 노드들 각각에 디바이스들 각각을 일 대 일로 대응시키고, 디바이스들 각각에 이들 각각에 대응하는 리프 노드로부터 루트 노드까지의 최단 경로에 위치한 노드들의 키들을 할당한다. 또한, 리프 노드들 각각에 응용 프로그램들 각각을 일 대 일로 대응시킬 수도 있다. 예를 들어, 디바이스 1의 키 세트 할당을 살펴보면, 디바이스 1에 대응하는 리프 노드로부터 루트 노드까지의 최단 경로에 위치한 노드들의 키들은 K1, K2, K4, 및 K8이 되고, 이 키들로 구성된 키 세트가 디바이스 1에 할당되게 된다.
도 2에 도시된 트리의 모든 리프 노드들의 키들이 폐기되지 않은 상태라면, 모든 디바이스들은 루트 노드의 키 K1을 사용하여 브로드캐스트 암호화 방식에 따라 암호화된 모든 컨텐트를 복호화할 수 있다. 따라서, 디바이스들이 브로드캐스트 암호화 방식에 따라 암호화된 컨텐트 E(CK, Content)를 복호화하는데 요구되는 최소한의 키 세트는 K1이 된다.
도 3은 도 2에 도시된 트리의 리프 노드들 중 어느 하나가 폐기된 경우를 도시한 도면이다.
도 3을 참조하면, 도 2에 도시된 트리의 리프 노드들 중 디바이스 1에 대응하는 리프 노드의 키들 K1, K2, K4, 및 K8이 폐기된 상태이다. 이 경우, 디바이스 1을 제외한 모든 디바이스들은 K3, K5, 및 K9를 사용하여 브로드캐스트 암호화 방식에 따라 암호화된 모든 컨텐트를 복호화할 수 있다. 따라서, 디바이스 1을 제외한 모든 디바이스들이 브로드캐스트 암호화 방식에 따라 암호화된 컨텐트 E(CK, Content)를 복호화하는데 요구되는 최소한의 키 세트, 즉 디바이스 1을 제외한 모든 디바이스들이 공유하는 최소한의 키 세트는 K3, K5, 및 K9가 된다.
다만, 상기된 브로드캐스트 암호화 방식은 브로드캐스트 암호화 방식이 적용되는 디바이스의 개수가 증가하면, 이들 각각에 할당되어야 하는 폐기 키들의 개수 가 기하급수적으로 증가한다는 문제점이 있었다. HBES(Hierarchical Hash-Chain Broadcast Encryption Scheme)는 이러한 문제점을 해결하기 위한 변형된 브로드캐스트 암호화 방식이다.
도 4는 일반적인 HBES 키 트리를 도시한 도면이다.
도 4를 참조하면, 일반적인 HBES 키 트리는 L 계층 N 진 트리(L-Layers N-ary tree)이며, 폐기 키의 일종인 HBES 노드 키 세트들이 할당된 노드들의 그룹들이 계층적으로 배열된 구조로 되어 있다. 또한, HBES 키 트리 내의 그룹들에 속하는 리프 노드들 각각이 디바이스에 대응하며, HBES 리프 노드 키 세트가 할당된다.
특히, HBES 노드 키 세트는 하나의 시드 값 및 이 시드 값과 다른 시드 값들 각각이 서로 다른 횟수로 해시된 값들로 구성된다. 보다 상세하게 설명하면, HBES 키 트리 내의 그룹들 중 어느 하나의 그룹에 속하는 노드들 각각에 첫 번째 시드 값과 이 시드 값이 연쇄적으로 해시된 값들이 할당되고, 다음으로 두 번째 시드 값과 이 시드 값이 연쇄적으로 해시된 값들이 한 노드만큼 천이되어 할당되며, 이 과정은 마지막 시드 값과 이 시드 값이 연쇄적으로 해시된 값들이 할당될 때까지 반복된다.
도 5는 일반적인 HBES 노드 키 세트의 일례를 도시한 도면이다.
도 5는 8 개의 노드들을 가진 그룹에 대한 HBES 노드 키 세트를 나타낸다. 여기에서, 함수 h는 해시 함수를 의미하며, hj(Si)는 Si가 j번 해시된 값임을 의미한다. 예를 들어, 첫 번째 노드 0x0에는 S0, S1이 7번 해시된 값, S2가 6번 해시된 값, ... , S7이 1번 해시된 값이 할당된다.
일반적인 브로드캐스트 암호화 방식과 마찬가지로, HBES 키 트리의 리프 노드들 각각에 디바이스들 각각을 일 대 일로 대응시키고, 디바이스들 각각에 이들 각각에 대응하는 리프 노드로부터 루트 노드까지의 최단 경로에 위치한 노드들의 키들을 할당한다. 또한, 리프 노드들 각각에 응용 프로그램들 각각을 일 대 일로 대응시킬 수도 있다. 이와 같이, HBES에 따르면 폐기 키의 개수는 감소하였지만 HBES 리프 노드 키 세트의 데이터량은 증가하였다.
도 6은 도 5에 도시된 HBES 리프 노드들 중 일부가 폐기된 경우를 도시한 도면이다.
도 6은 도 5에 도시된 HBES 리프 노드들 중 두 번째 노드 0x1, 일곱 번째 노드 0x6이 폐기된 경우를 나타낸다. HBES에 따르면, HBES 리프 노드들 중 어떤 리프 노드가 폐기되었는지를 나타내는 폐기 노드 정보를 포함하는 브로드캐스트 키 블록은 HBES 리프 노드들 각각에 대응하는 디바이스들로 수시로 브로드캐스트된다. 이를 통하여, 디바이스들은 HBES 리프 노드들 중 어떤 노드가 폐기되었는지를 알 수 있다.
일반적으로, 브로드캐스트 키 블록은 브로드캐스트 키 블록 길이, 구조(structure) 버전, 폐기(revocation) 버전, 키 체크 데이터(key check data), 보류(reserved), 폐기 리프 노드들의 개수 및 폐기 노드 정보로 구성된다. 특히, 도 6에 도시된 경우에 대한 폐기 노드 정보는 {0000012, 0001102, 서명, E(H3(S2), BK), E(H(S7), BK)}로 구성된다. 여기에서, BK(Broadcast Key)는 컨텐트 암호화에 사용된 컨텐트 키 CK일 수도 있고, 컨텐트 키 암호화에 사용된 키 암호화 키 KEK일 수도 있다.
도 7은 일반적인 HBES 키 트리의 일례를 도시한 도면이다.
도 7을 참조하면, 도 7에 도시된 HBES 키 트리는 3 계층 4 진 트리이다. 특히, HBES 키 트리 내의 그룹들에 속하는 노드들 중 X 표시가 된 부분이 폐기된 HBES 리프 노드 키 세트임을 나타낸다. 도 2에 도시된 HBES 키 트리에 대해 상기된 바와 같은 폐기 노드 정보를 표현하기 위해서는 매우 많은 비트 수가 소요된다.
상기된 바와 같이, 디바이스 또는 응용 프로그램은 자신과 대응하는 노드의 아이디 및 HBES 리프 노드 키 세트를 보유하고 있어야 한다. 또한, 디바이스 또는 응용 프로그램은 HBES에 따라 암호화된 컨텐트를 복호화하기 위해서 브로드캐스트 키 블록을 수신하고, 이것에 기초하여 자신이 폐기되었는지 여부를 검사하고, 그 결과에 따라 암호화된 컨텐트 키를 복호화하는 등 컨텐트 복호화에 필요한 일련의 과정을 수행해야 한다. 디바이스의 데이터 저장 용량이 작거나, 데이터 처리 능력이 떨어지는 경우에 이것은 상당한 부담으로 작용한다.
도 8은 본 발명의 바람직한 일 실시예에 따른 복호화 방법 및 복호화 지원 방법의 개략적인 흐름도이다.
도 8을 참조하면, 본 실시예에 따른 복호화 방법 및 복호화 지원 방법은 다음과 같은 단계들로 구성된다. 특히, 본 실시예에 따른 복호화 방법은 클라이언 트(81) 내부에서 수행되며, 본 실시예에 따른 복호화 지원 방법은 호스트(82) 내부에서 수행된다. 호스트(82)는 반드시 물리적인 디바이스일 필요는 없으며, 디바이스가 제공하는 서비스일 수도 있다.
클라이언트(81)의 데이터 저장 용량이 작거나, 데이터 처리 능력이 떨어지는 경우에 클라이언트(81)의 부담을 덜기 위하여, 801 단계에서 클라이언트(81)는 HBES 리프 노드들 중 클라이언트(81)에 대응하는 리프 노드가 폐기되었는지 여부에 따라 클라이언트(81)가 보유하고 있는 암호화된 컨텐트의 복호화를 수행하는 일련의 과정 중 일부를 처리해 줄 것을 외부의 호스트(82)에 요청한다. 이에 따라, 801 단계에서 호스트(81)는 상기된 요청을 수신한다.
예를 들어, 클라이언트(81)는 HBES 리프 노드들 중 클라이언트(81)에 대응하는 리프 노드가 폐기되었는지 여부를 검사하여 줄 것을 요청할 수도 있고, 암호화된 컨텐트 키를 복호화하여 줄 것을 요청할 수도 있다.
클라이언트(81)의 데이터 저장 용량이 작은 경우, 클라이언트(81)는 암호화된 컨텐트의 복호화를 수행하는 일련의 과정을 처리하는데 필요한 정보 중 일부만을 보유할 수 있다. 이 경우, 클라이언트(81)는 이 일부의 정보를 제외한 나머지를 보유하고 있는 외부의 호스트(82)에 이 일부의 정보를 포함하는 요청 메시지를 전송함으로서 요청한다.
클라이언트(81)의 데이터 저장 용량은 충분하나, 클라이언트(81)의 처리 능력이 떨어지는 경우, 클라이언트(81)는 암호화된 컨텐트의 복호화를 수행하는 일련의 과정을 처리하는데 필요한 정보 전부를 보유할 수 있다. 이 경우, 클라이언 트(81)는 외부의 호스트(82)에 상기 정보의 일부 또는 전부를 포함하는 요청 메시지를 전송함으로서 요청한다.
802 단계에서 호스트(82)는 801 단계에서 수신된 요청에 따라 클라이언트(81)가 보유하고 있는 암호화된 컨텐트의 복호화를 수행하는 일련의 과정 중 일부를 처리한다. 예를 들어, 호스트(82)는 클라이언트(81)를 대신하여 HBES 리프 노드들 중 클라이언트(81)에 대응하는 리프 노드가 폐기되었는지 여부를 검사할 수도 있고, 암호화된 컨텐트 키를 복호화할 수도 있다.
803 단계에서 호스트(82)는 802 단계에서의 처리 결과를 포함하는 응답을 전송한다. 이에 따라, 클라이언트(81)는 801 단계에서의 요청에 대한 응답을 수신한다.
804 단계에서 호스트(82)는 803 단계에서 수신된 응답에 기초하여 클라이언트(81)에 대응하는 암호화된 컨텐트를 복호화한다. 예를 들어, 호스트(82)는 803 단계에서 수신된 응답에 포함된 컨텐트 키를 이용하여 암호화된 컨텐트를 복호화한다.
도 9는 본 발명의 바람직한 일 실시예에 따른 클라이언트 및 호스트의 구성도이다.
도 9를 참조하면, 본 실시예에 따른 클라이언트(81)의 복호화 장치는 제 1 스토리지(811), 제 2 스토리지(812), SAC(Secured Authenticated Channel) 개설부(813), 폐기 검사 요청부(814), 폐기 검사 응답 수신부(815), 복호화 요청부(816), 복호화 응답 수신부(817), DRM 엔진(818), 암/복호화 엔진(819), 컨텐트 재생부(8110) 및 SAC 종료부(8111)로 구성된다.
본 실시예에서는 HBES에 적용되는 것으로 기술하고 있지만, 본 실시예가 도 2에 도시된 일반적인 브로드캐스트 암호화 방식에도 적용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 또한, 본 실시예에서는 HBES 리프 노드들 각각에 디바이스들 각각을 대응시키는 것으로 기술하고 있지만, HBES 리프 노드들 각각에 응용 프로그램들 각각을 대응시킬 수도 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
또한, 본 실시예에서는 컨텐트를 컨텐트 키 CK로 암호화하고, 컨텐트 키 CK를 브로드캐스트 키 BK로 암호화하고, 브로드캐스트 키 BK를 폐기 노드를 제외한 모든 노드들이 공유하는 최소한의 키 세트로 암호화하는 방식을 채택하고 있지만, 컨텐트를 컨텐트 키 CK로 암호화하고, 컨텐트 키 CK를 폐기 노드를 제외한 모든 노드들이 공유하는 최소한의 키 세트로 암호화하는 방식을 채택할 수도 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
제 1 스토리지(811)에는 본 실시예에 적용되는 DRM 규격에 따른 라이센스 및 암호화된 컨텐트 E(CK, content)가 저장된다. 일반적으로, 라이센스는 컨텐트 보호 수단을 해제할 수 있는 정보, 컨텐트의 사용 범위에 대한 정보 등으로 구성된다. 특히, 본 실시예에서의 라이센스는 컨텐트 보호 수단을 해제할 수 있는 정보로서 암호화된 컨텐트 키 E(BK, CK)를 포함한다. 다만, 본 실시예를 구현하는 여러 가지 방식들에 따라, 제 1 스토리지(811)에는 라이센스 및 암호화된 컨텐트 E(CK, content) 이외에 브로캐스트 키 블록의 일부 또는 전부가 저장될 수도 있다. 브로 드캐스트 키 블록은 HBES 리프 노드들 중 어떤 리프 노드가 폐기되었는지를 나타내는 폐기 리프 노드 정보 및 암호화된 브로드캐스트 키 {E(hj(Si), BK)}로 구성된다.
제 2 스토리지(812)에는 클라이언트(81)의 고유 키 및 도 5에 도시된 HBES 키 트리의 리프 노드들 중 클라이언트(81)에 대응하는 리프 노드의 아이디가 저장된다. 다만, 본 실시예를 구현하는 여러 가지 방식들에 따라, 제 2 스토리지(812)에는 클라이언트(81)의 고유 키 및 리프 노드 아이디 이외에 HBES 리프 노드 키 세트가 저장될 수도 있다. 제 2 스토리지(812)에 저장되는 이와 같은 정보들은 외부에 노출되어서는 안 되는 정보이기 때문에 제 2 스토리지(812)는 외부로부터의 접근이 불가능한 스토리지로 구현되어야 한다.
SAC 개설부(813)는 호스트(82)와의 SAC를 개설(establish)한다. 보다 상세하게 설명하면, SAC 개설부(813)는 호스트(82)와의 상호 인증을 수행한다. 클라이언트(81)와 호스트(82) 각각이 브로드캐스트 키 블록 일부 또는 전부를 보유하고 있다면, 이것을 이용하여 상호 인증을 수행할 수도 있다. 이어서, SAC 개설부(813)는 호스트(82)와의 상호 인증에 성공하면, 난수를 생성하고, 호스트(82)와 난수를 교환한다. 이어서, SAC 개설부(813)는 클라이언트(81)의 난수와 호스트(82)의 난수에 기초하여 세션 키를 생성하고, 이 세션 키를 이용하여 어느 하나의 세션 동안의 SAC를 개설한다. 클라이언트(81)와 호스트(82)는 SAC 개설부(813)에 의해 개설된 SAC를 통하여 안전하게 메시지를 주고받을 수 있다. 즉, 클라이언트(81)는 호스트(82)로 세션 키를 이용하여 메시지를 암호화하여 전송하면, 호스트(82)는 클라이 언트(82)로부터 이 메시지를 수신하여 복호화한다. 다만, 본 실시예를 구현하는 여러 가지 방식들에 따라, SAC 개설부(813)는 사용되지 않을 수도 있다.
폐기 검사 요청부(814)는 HBES 리프 노드들 중 클라이언트(81)에 대응하는 리프 노드가 폐기되었는지 여부를 검사하여 줄 것을 호스트(82)에 요청한다. 보다 상세하게 설명하면, 폐기 검사 요청부(814)는 클라이언트(81)에 대응하는 노드가 폐기되었는지 여부를 검사하기 위하여 필요한 정보 중 일부인 클라이언트(81)에 대응하는 리프 노드의 아이디를 포함하는 폐기 검사 요청 메시지를 브로드캐스트 키 블록 및 HBES 리프 노드 키 세트를 보유하고 있는 호스트(82)로 전송한다.
클라이언트(81)가 HBES 리프 노드 키 세트를 보유하고 있으나 암호화된 컨텐트 키 E(BK, CK)를 복호화할 수 없는 경우가 있을 수 있다. 이 경우, 폐기 검사 요청부(814)는 클라이언트(81)에 대응하는 리프 노드의 아이디 이외에 HBES 리프 노드 키 세트를 포함하는 폐기 검사 요청 메시지를 브로드캐스트 키 블록을 보유하고 있는 호스트(82)로 전송할 수도 있다. 또한, 클라이언트(81)가 브로드캐스트 키 블록 중 일부를 보유하고 있는 경우가 있을 수 있다. 이 경우, 폐기 검사 요청부(814)는 클라이언트(81)에 대응하는 리프 노드의 아이디 이외에 브로드캐스트 키 블록 중 일부를 포함하는 폐기 검사 요청 메시지를 브로드캐스트 키 블록 중 상기 일부를 제외한 나머지 및 HBES 리프 노드 키 세트를 보유하고 있는 보유하고 있는 호스트(82)로 전송한다. 또한, 클라이언트(81)가 브로드캐스트 키 블록 전부를 보유하고 있는 경우가 있을 수 있다. 이 경우, 폐기 검사 요청부(814)는 클라이언트(81)에 대응하는 리프 노드의 아이디 이외에 브로드캐스트 키 블록 전부를 포함 하는 폐기 검사 요청 메시지를 HBES 리프 노드 키 세트를 보유하고 있는 보유하고 있는 호스트(82)로 전송한다.
특히, 폐기 검사 요청 메시지를 안전하게 전송하기 위하여, 폐기 검사 요청부(814)는 SAC 개설부(813)에 의해 개설된 SAC를 통하여 폐기 검사 요청 메시지를 전송한다. 또한, 폐기 검사 요청부(814)는 SAC 개설부(813)에 의해 생성된 세션 키를 이용하지 않고, 클라이언트(81)의 고유 키를 이용하여 폐기 검사 요청 메시지를 암호화할 수도 있다. 클라이언트(81)와 호스트(81) 간의 암호화 방식이 비밀 키 방식이라면, 클라이언트(81)의 고유 키는 비밀 키가 되고, 공개 키 방식이라면, 클라이언트(81)의 고유 키는 공개 키가 된다.
폐기 검사 응답 수신부(815)는 폐기 검사 요청부(815)에서의 폐기 검사 요청에 대한 응답을 수신한다. 보다 상세하게 설명하면, 폐기 검사 응답 수신부(815)는 폐기 검사 요청부(815)에 의해 전송된 폐기 검사 요청 메시지에 대한 응답에 해당하는 폐기 검사 응답 메시지를 수신한다. 폐기 검사 응답 수신부(815)에 폐기 검사 응답 메시지가 수신되었다는 것은 호스트(82)에서의 폐기 검사 결과가 클라이언트(81)에 대응하는 리프 노드가 폐기되지 않았음을 나타낸다는 것을 의미한다. 특히, 폐기 검사 응답 수신부(815)는 SAC 개설부(813)에 의해 개설된 SAC를 통하여 폐기 검사 응답 메시지를 수신한다. 또한, 폐기 검사 응답 수신부(815)는 SAC 개설부(813)에 의해 생성된 세션 키를 이용하지 않고, 클라이언트(81)의 고유 키를 이용하여 호스트(82)에 의해 암호화된 폐기 검사 응답 메시지를 복호화할 수도 있다.
복호화 요청부(816)는 폐기 검사 요청부(814)에서의 요청에 대한 응답이 수 신되면, 호스트(82)에 암호화된 컨텐트 키 E(BK, CK)를 복호화하여 줄 것을 요청한다. 보다 상세하게 설명하면, 복호화 요청부(816)는 폐기 검사 응답 수신부(815)에 폐기 검사 응답 메시지가 수신되면, 제 1 스토리지(811)에 저장된 라이센스를 포함하는 복호화 요청 메시지를 전송한다. 상기된 바와 같이, 제 1 스토리지(811)에 저장된 라이센스는 암호화된 컨텐트 키 E(BK, CK)를 포함한다. 복호화 요청 메시지는 제 2 스토리지(812)에 저장된 HBES 리프 노드 키 세트를 포함할 수도 있다.
특히, 복호화 요청 메시지를 안전하게 전송하기 위하여, 복호화 요청부(816)는 SAC 개설부(813)에 의해 개설된 SAC를 통하여 복호화 요청 메시지를 전송한다. 또한, 복호화 요청부(816)는 SAC 개설부(813)에 의해 생성된 세션 키를 이용하지 않고, 클라이언트(81)의 고유 키를 이용하여 복호화 요청 메시지를 암호화할 수도 있다.
복호화 응답 수신부(817)는 복호화 요청부(816)에서의 복호화 요청에 대한 응답을 수신한다. 보다 상세하게 설명하면, 복호화 응답 수신부(817)는 복호화 요청부(816)에 의해 전송된 복호화 요청 메시지에 대한 응답에 해당하는 복호화 응답 메시지를 수신한다. 특히, 복호화 응답 수신부(817)는 SAC 개설부(813)에 의해 개설된 SAC를 통하여 폐기 검사 응답 메시지를 수신한다. 또한, 복호화 응답 수신부(817)는 SAC 개설부(813)에 의해 생성된 세션 키를 이용하지 않고, 클라이언트(81)의 고유 키를 이용하여 호스트(82)에 의해 암호화된 복호화 응답 메시지를 복호화할 수도 있다.
DRM 엔진(818)은 제 1 스토리지(811)에 저장된 라이센스를 해석한다. DRM 엔 진(818)에서의 라이센스 해석 결과에 따라 암/복호화 엔진(819)에서의 복호화가 통제된다. 예를 들어, DRM 엔진(818)에서의 라이센스 해석 결과가 나타내는 컨텐트 사용 범위 내에서만 암/복호화 엔진(819)에서의 복호화가 이루어지게 된다. 다만, 본 실시예를 구현하는 여러 가지 방식들에 따라, DRM 엔진(818)은 사용되지 않을 수도 있다.
암/복호화 엔진(819)은 폐기 검사 요청부(814)에서의 요청에 대한 응답에 기초하여 제 1 스토리지(811)에 저장된 암호화된 컨텐트 E(CK, Content)를 복호화한다. 즉, 암/복호화 엔진(819)은 복호화 요청부(816)에서의 복호화 요청에 대한 응답에 포함된 컨텐트 키 CK를 이용하여 제 1 스토리지(811)에 저장된 암호화된 컨텐트 E(CK, Content)를 복호화한다. 보다 상세하게 설명하면, 암/복호화 엔진(819)은 DRM 엔진(818)에서의 라이센스 해석 결과에 따라 복호화 응답 수신부(817)에 수신된 복호화 응답 메시지에 포함된 컨텐트 키 CK를 이용하여 제 1 스토리지(811)에 저장된 암호화된 컨텐트 E(CK, Content)를 복호화한다. 또한, 암/복호화 엔진(819)은 DRM 엔진(818)에서의 라이센스 해석 결과가 아닌, 복호화 응답 수신부(817)에 수신된 복호화 응답 메시지에 포함된 라이센스 해석 결과에 따라 복호화 응답 수신부(817)에 수신된 복호화 응답 메시지에 포함된 컨텐트 키 CK를 이용하여 제 1 스토리지(811)에 저장된 암호화된 컨텐트 E(CK, content)를 복호화한다.
컨텐트 재생부(8110)는 암/복호화 엔진(819)에서의 복호화에 의해 복원된 컨텐트를 재생한다.
SAC 종료부(8111)는 복호화 응답 수신부(817)에 복호화 응답 메시지가 수신되면, SAC 개설부(813)에 의해 개설된 SAC를 종료한다.
도 9를 참조하면, 본 실시예에 따른 호스트(82)의 복호화 지원 장치는 제 1 스토리지(821), 제 2 스토리지(822), SAC 개설부(823), 폐기 검사 요청 수신부(824), 폐기 검사부(825), 폐기 검사 응답부(826), 복호화 요청 수신부(827), DRM 엔진(828), 암/복호화 엔진(829), 복호화 응답부(8210) 및 SAC 종료부(8211)로 구성된다.
제 1 스토리지(821)에는 브로드캐스트 키 블록이 저장된다. 다만, 본 실시예를 구현하는 여러 가지 방식들에 따라, 제 1 스토리지(821)에는 브로드캐스트 키 블록 일부만 저장될 수도 있고, 브로드캐스트 키 블록 전부가 저장되지 않을 수도 있다.
제 2 스토리지(822)에는 호스트(82)의 고유 키 및 HBES 리프 노드 키 세트가 저장된다. 제 2 스토리지(812)에 저장되는 이와 같은 정보들은 외부에 노출되어서는 안 되는 정보이기 때문에 제 2 스토리지(812)는 외부로부터의 접근이 불가능한 스토리지로 구현되어야 한다.
SAC 개설부(823)는 클라이언트(81)와의 SAC를 개설한다. 보다 상세하게 설명하면, SAC 개설부(823)는 클라이언트(81)와의 상호 인증을 수행한다. 클라이언트(81)와 호스트(82) 각각이 브로드캐스트 키 블록 일부 또는 전부를 보유하고 있다면, 이것을 이용하여 상호 인증을 수행할 수도 있다. 이어서, SAC 개설부(823)는 클라이언트(81)와의 상호 인증에 성공하면, 난수를 생성하고, 클라이언트(81)와 난 수를 교환한다. 이어서, SAC 개설부(823)는 클라이언트(81)의 난수와 호스트(82)의 난수에 기초하여 세션 키를 생성하고, 이 세션 키를 이용하여 어느 하나의 세션 동안의 SAC를 개설한다. 다만, 본 실시예를 구현하는 여러 가지 방식들에 따라, SAC 개설부(823)는 사용되지 않을 수도 있다.
폐기 검사 요청 수신부(824)는 HBES 리프 노드들 중 클라이언트(81)에 대응하는 리프 노드가 폐기되었는지 여부를 검사해 달라는 요청을 클라이언트(81)로부터 수신한다. 보다 상세하게 설명하면, 폐기 검사 요청 수신부(824)는 클라이언트(81)에 대응하는 리프 노드가 폐기되었는지 여부를 검사하기 위하여 필요한 정보 중 일부인 클라이언트(81)에 대응하는 리프 노드의 아이디를 포함하는 폐기 검사 요청 메시지를 클라이언트(81)로부터 수신한다. 특히, 폐기 검사 요청 수신부(824)는 SAC 개설부(823)에 의해 개설된 SAC를 통하여 폐기 검사 요청 메시지를 수신한다. 또한, 폐기 검사 요청 수신부(824)는 SAC 개설부(823)에 의해 생성된 세션 키를 이용하지 않고, 호스트(82)의 고유 키를 이용하여 클라이언트(81)에 의해 암호화된 폐기 검사 요청 메시지를 복호화할 수도 있다.
폐기 검사부(825)는 폐기 검사 요청 수신부(824)에 수신된 요청에 따라 클라이언트(81)에 대응하는 리프 노드가 폐기되었는지 여부를 검사한다. 보다 상세하게 설명하면, 폐기 검사부(825)는 제 1 스토리지(821)에 저장된 브로드캐스트 키 블록 중 HBES 리프 노드들 중 어떤 리프 노드가 폐기되었는지를 나타내는 폐기 리프 노드 정보를 참조하여 폐기 검사 요청 수신부(824)에 수신된 폐기 검사 요청 메시지에 포함된 아이디를 갖는 노드가 폐기되었는지 여부를 검사한다.
폐기 검사 응답부(826)는 폐기 검사부(825)에서의 검사 결과를 포함하는 응답을 전송한다. 보다 상세하게 설명하면, 폐기 검사 응답부(826)는 폐기 검사부(825)에서의 검사 결과가 클라이언트(81)에 대응하는 리프 노드가 폐기되지 않았음을 나타내는 경우에 폐기 검사 요청 수신부(824)에 수신된 폐기 검사 요청 메시지에 대한 응답에 해당하는 폐기 검사 응답 메시지를 전송한다.
특히, 폐기 검사 응답 메시지를 안전하게 전송하기 위하여, 폐기 검사 응답부(826)는 SAC 개설부(823)에 의해 개설된 SAC를 통하여 폐기 검사 요청 메시지를 전송한다. 또한, 폐기 검사 응답부(826)는 SAC 개설부(823)에 의해 생성된 세션 키를 이용하지 않고, 호스트(82)의 고유 키를 이용하여 폐기 검사 요청 메시지를 암호화할 수도 있다. 클라이언트(81)와 호스트(82) 간의 암호화 방식이 비밀 키 방식이라면, 호스트(82)의 고유 키는 비밀 키가 되고, 공개 키 방식이라면, 호스트(82)의 고유 키는 공개 키가 된다.
복호화 요청 수신부(827)는 폐기 검사 응답부(826)에 의해 전송된 응답에 대하여 암호화된 컨텐트 키 E(BK, CK)를 복호화해 달라는 요청을 클라이언트(81)로부터 수신한다. 보다 상세하게 설명하면, 복호화 요청 수신부(827)는 클라이언트(81)의 라이센스를 포함하는 복호화 요청 메시지를 클라이언트(81)로부터 수신한다. 복호화 요청 메시지에 포함된 라이센스는 암호화된 컨텐트 키 E(BK, CK)를 포함한다. 특히, 복호화 요청 수신부(827)는 SAC 개설부(823)에 의해 개설된 SAC를 통하여 복호화 요청 메시지를 수신한다. 또한, 복호화 요청 수신부(827)는 SAC 개설부(823)에 의해 생성된 세션 키를 이용하지 않고, 호스트(82)의 고유 키를 이용하여 클라 이언트(81)에 의해 암호화된 복호화 요청 메시지를 복호화할 수도 있다.
DRM 엔진(828)은 라이센스를 해석한다. 다만, DRM 엔진(828)은 클라이언트(81)의 DRM 엔진(818)이 사용되지 않는 경우에 클라이언트(81)를 대신하여 라이센스를 해석하여 호스트(81)에게 전달한다.
암/복호화 엔진(829)은 복호화 요청 수신부(827)에 수신된 요청에 따라 제 2 스토리지(822)에 저장된 HBES 리프 노드 키 세트를 이용하여 암호화된 컨텐트 키 E(BK, CK)를 복호화한다. 또한, 암/복호화 엔진(828)은 제 2 스토리지(822)에 저장된 HBES 리프 노드 키 세트 대신에 복호화 요청 메시지에 포함된 HBES 리프 노드 키 세트를 이용하여 암호화된 컨텐트 키 E(BK, CK)를 복호화할 수도 있다.
보다 상세하게 설명하면, 암/복호화 엔진(829)은 제 2 스토리지(822)에 저장된 HBES 리프 노드 키 세트를 이용하여 브로드캐스트 키 블록에 포함된 암호화된 브로드캐스트 키 {E(hj(Si), BK)}를 복호화한다. 이어서, 암/복호화 엔진(829)은 브로드캐스트 키 BK를 이용하여 복호화 요청 메시지의 라이센스에 포함된 암호화된 컨텐트 키 E(BK, CK)를 복호화한다. 만약, 브로캐스트 키 BK가 컨텐트 키 CK인 경우라면, 암/복호화 엔진(829)은 제 2 스토리지(822)에 저장된 HBES 리프 노드 키 세트를 이용하여 바로 암호화된 컨텐트 키를 복호화할 수 있다.
복호화 응답부(8210)는 암/복호화 엔진(829)에서의 복호화에 의해 복원된 컨텐트 키를 포함하는 복호화 응답 메시지를 전송한다. 복호화 응답 메시지는 DRM 엔진(828)에서의 라이센스 해석 결과를 포함할 수도 있다. 특히, 복호화 응답 메시지 를 안전하게 전송하기 위하여, 복호화 응답부(8210)는 SAC 개설부(823)에 의해 개설된 SAC를 통하여 복호화 응답 메시지를 전송한다. 또한, 복호화 응답부(8210)는 SAC 개설부(823)에 의해 생성된 세션 키를 이용하지 않고, 호스트(82)의 고유 키를 이용하여 복호화 응답 메시지를 암호화할 수도 있다. 클라이언트(81)와 호스트(82) 간의 암호화 방식이 비밀 키 방식이라면, 호스트(82)의 고유 키는 비밀 키가 되고, 공개 키 방식이라면, 호스트(82)의 고유 키는 공개 키가 된다.
SAC 종료부(8211)는 복호화 응답부(8210)에 의해 복호화 응답 메시지가 전송되면, SAC 개설부(813)에 의해 개설된 SAC를 종료한다.
도 10은 본 발명의 바람직한 일 실시예에 따른 복호화 방법의 흐름도이다.
도 10을 참조하면, 본 실시예에 따른 복호화 방법은 도 9에 도시된 호스트(81)의 복호화 장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 9에 도시된 호스트(81)의 복호화 장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 복호화 방법에도 적용된다.
101 단계에서 호스트(81)는 호스트(82)와의 SAC를 개설한다.
102 단계에서 호스트(81)는 SAC를 통하여 HBES 리프 노드들 중 클라이언트(81)에 대응하는 리프 노드가 폐기되었는지 여부를 검사하여 줄 것을 호스트(82)에 요청한다. 보다 상세하게 설명하면, 102 단계에서 호스트(81)는 클라이언트(81)에 대응하는 노드가 폐기되었는지 여부를 검사하기 위하여 필요한 정보 중 일부인 클라이언트(81)에 대응하는 리프 노드의 아이디를 포함하는 폐기 검사 요청 메시지를 호스트(82)로 전송한다.
103 단계에서 호스트(81)는 SAC를 통하여 102 단계에서의 폐기 검사 요청에 대한 응답을 수신한 경우에는 104 단계로 진행하고, 수신하지 못한 경우에는 108 단계로 진행한다. 보다 상세하게 설명하면, 103 단계에서 호스트(81)는 102 단계에서 전송된 폐기 검사 요청 메시지에 대한 응답에 해당하는 폐기 검사 응답 메시지를 수신한 경우에는 104 단계로 진행하고, 수신하지 못한 경우에는 108 단계로 진행한다
104 단계에서 호스트(81)는 103 단계에서 102 단계에서의 요청에 대한 응답이 수신되면, SAC를 통하여 호스트(82)에 암호화된 컨텐트 키 E(BK, CK)를 복호화하여 줄 것을 요청한다.
105 단계에서 호스트(81)는 SAC를 통하여 104 단계에서의 복호화 요청에 대한 응답을 수신한다. 보다 상세하게 설명하면, 105 단계에서 호스트(81)는 104 단계에서 전송된 복호화 요청 메시지에 대한 응답에 해당하는 복호화 응답 메시지를 수신한다.
106 단계에서 호스트(81)는 105 단계에서 수신된 복호화 응답 메시지에 포함된 라이센스 해석 결과에 따라 복호화 응답 메시지에 포함된 컨텐트 키 CK를 이용하여 제 1 스토리지(811)에 저장된 암호화된 컨텐트 E(CK, content)를 복호화한다.
107 단계에서 호스트(81)는 106 단계에서의 복호화에 의해 복원된 컨텐트를 재생한다.
108 단계에서 호스트(81)는 호스트(82)와의 SAC를 종료한다.
도 11은 본 발명의 바람직한 일 실시예에 따른 복호화 지원 방법의 흐름도이 다.
도 11을 참조하면, 본 실시예에 따른 복호화 지원 방법은 도 9에 도시된 호스트(82)의 복호화 지원 장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 9에 도시된 호스트(82)의 복호화 지원 장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 복호화 지원 방법에도 적용된다.
111 단계에서 호스트(82)는 클라이언트(81)와의 SAC를 개설한다.
112 단계에서 호스트(82)는 SAC를 통하여 HBES 리프 노드들 중 클라이언트(81)에 대응하는 리프 노드가 폐기되었는지 여부를 검사해 달라는 요청을 클라이언트(81)로부터 수신한다. 보다 상세하게 설명하면, 112 단계에서 호스트(82)는 클라이언트(81)에 대응하는 리프 노드가 폐기되었는지 여부를 검사하기 위하여 필요한 정보 중 일부인 클라이언트(81)에 대응하는 리프 노드의 아이디를 포함하는 폐기 검사 요청 메시지를 클라이언트(81)로부터 수신한다.
113 단계에서 호스트(82)는 112 단계에서 수신된 요청에 따라 클라이언트(81)에 대응하는 리프 노드가 폐기되었는지 여부를 검사한다. 보다 상세하게 설명하면, 113 단계에서 호스트(82)는 제 1 스토리지(821)에 저장된 브로드캐스트 키 블록 중 HBES 리프 노드들 중 어떤 리프 노드가 폐기되었는지를 나타내는 폐기 리프 노드 정보를 참조하여 폐기 검사 요청 수신부(824)에 수신된 폐기 검사 요청 메시지에 포함된 아이디를 갖는 노드가 폐기되었는지 여부를 검사한다.
114 단계에서 호스트(82)는 113 단계에서의 검사 결과가 클라이언트(81)에 대응하는 리프 노드가 폐기되지 않았음을 나타내는 경우에는 115 단계로 진행하고, 폐기되었음을 나타내는 경우에는 1110 단계로 진행한다.
115 단계에서 호스트(82)는 SAC를 통하여 112 단계에서 수신된 요청에 대한 응답을 전송한다. 보다 상세하게 설명하면, 115 단계에서 호스트(82)는 113 단계에서의 검사 결과를 포함하는 폐기 검사 응답 메시지를 전송한다.
116 단계에서 호스트(82)는 115 단계에서 전송된 응답에 대하여 암호화된 컨텐트 키 E(BK, CK)를 복호화해 달라는 요청을 SAC를 통하여 클라이언트(81)로부터 수신한다. 보다 상세하게 설명하면, 116 단계에서 호스트(82)는 클라이언트(81)의 라이센스를 포함하는 복호화 요청 메시지를 클라이언트(81)로부터 수신한다.
117 단계에서 호스트(82)는 라이센스를 해석한다.
118 단계에서 호스트(82)는 116 단계에서 수신된 요청에 따라 제 2 스토리지(822)에 저장된 HBES 리프 노드 키 세트를 이용하여 암호화된 컨텐트 키 E(BK, CK)를 복호화한다.
119 단계에서 호스트(82)는 SAC를 통하여 116 단계에서 수신된 요청에 대한 응답을 전송한다. 보다 상세하게 설명하면, 119 단계에서 호스트(82)는 118 단계에서의 복호화에 의해 복원된 컨텐트 키를 포함하는 복호화 응답 메시지를 전송한다. 복호화 응답 메시지는 117 단계에서의 라이센스 해석 결과를 포함한다.
1110 단계에서 호스트(82)는 클라이언트(81)와의 SAC를 종료한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동 작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, HBES 리프 노드들 중 어떤 리프 노드가 폐기되었는지 여부에 따라 이 리프 노드에 대응하는 암호화된 컨텐트의 복호화를 수행하는 일련의 과정 중 일부를 외부의 디바이스 또는 서비스가 처리함으로서 디바이스의 데이터 저장 용량이 작거나, 데이터 처리 능력이 떨어지는 경우에도 브로드캐스트 암호화 방식에 따라 암호화된 컨텐트의 복호화를 원활하게 수행할 수 있다는 효과가 있다.

Claims (10)

  1. 폐기 노드의 정보를 저장하는 단계;
    디바이스로부터 디바이스의 아이디와 상기 디바이스에 대응하는 리프노드의 아이디를 포함하는 폐기 검사 요청 메시지를 수신하는 단계;
    상기 폐기 노드의 정보로부터 상기 리프노드의 아이디에 대응하는 디바이스의 폐기 여부를 검사하는 단계; 및
    상기 폐기 검사 요청 메시지의 응답 메시지를 송신하는 단계를 포함하는 것을 특징으로 하는 디바이스의 폐기 검사 방법.
  2. 제 1 항에 있어서,
    상기 폐기 노드의 정보는 안전하게 보호되는 것을 특징으로 하는 디바이스의 폐기 검사 방법.
  3. 제 1 항에 있어서,
    상기 디바이스로부터 난수를 수신하는 단계; 및
    상기 난수에 기초하여 상기 디바이스와 SAC(Secure Authenticated Channel)을 개설하는 단계를 더 포함하는 것을 특징으로 하는 디바이스의 폐기 검사 방법.
  4. 제 3 항에 있어서,
    상기 SAC을 개설하는 단계는 상기 난수에 기초하여 상기 디바이스와 서버간의 세션 키를 생성하고, 상기 생성된 세션 키를 이용하여 상기 SAC를 개설하는 것을 특징으로 하는 디바이스의 폐기 검사 방법.
  5. 제 1 항에 있어서,
    상기 디바이스로 암호화된 컨텐츠를 전송하는 단계를 더 포함하는 것을 특징으로 하는 디바이스 폐기 검사 방법.
  6. 폐기 노드의 정보를 저장하는 스토리지;
    디바이스로부터 디바이스의 아이디와 상기 디바이스에 대응하는 리프노드의 아이디를 포함하는 폐기 검사 요청 메시지를 수신하는 폐기 검사 요청 수신부;
    상기 폐기 노드의 정보로부터 상기 리프노드의 아이디에 대응하는 디바이스의 폐기 여부를 검사하는 폐기 검사부; 및
    상기 폐기 검사 요청 메시지의 응답 메시지를 송신하는 폐기 검사 응답부를 포함하는 것을 특징으로 하는 디바이스의 폐기 검사 장치.
  7. 제 6 항에 있어서,
    상기 폐기 노드의 정보는 안전하게 보호되는 것을 특징으로 하는 디바이스의 폐기 검사 장치.
  8. 제 6 항에 있어서,
    상기 디바이스로부터 난수를 수신하고, 상기 난수에 기초하여 상기 디바이스와 SAC(Secure Authenticated Channel)을 개설하는 SAC 개설부를 더 포함하는 것을 특징으로 하는 디바이스의 폐기 검사 장치.
  9. 제 8 항에 있어서,
    상기 SAC 개설부는 상기 난수에 기초하여 상기 디바이스와 서버간의 세션 키를 생성하고, 상기 생성된 세션 키를 이용하여 상기 SAC를 개설하는 것을 특징으로 하는 디바이스의 폐기 검사 장치.
  10. 제 6 항에 있어서,
    상기 디바이스로 암호화된 컨텐츠를 전송하는 응답부를 더 포함하는 것을 특징으로 하는 디바이스 폐기 검사 장치.
KR1020070025636A 2005-11-25 2007-03-15 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치 KR101086431B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US73943805P 2005-11-25 2005-11-25
US60/739,438 2005-11-25

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020050118842A Division KR100803596B1 (ko) 2005-11-25 2005-12-07 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치

Publications (2)

Publication Number Publication Date
KR20070055439A true KR20070055439A (ko) 2007-05-30
KR101086431B1 KR101086431B1 (ko) 2011-11-25

Family

ID=38276866

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020050118842A KR100803596B1 (ko) 2005-11-25 2005-12-07 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치
KR1020070025636A KR101086431B1 (ko) 2005-11-25 2007-03-15 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020050118842A KR100803596B1 (ko) 2005-11-25 2005-12-07 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치

Country Status (6)

Country Link
US (2) US8335315B2 (ko)
EP (1) EP1952576A4 (ko)
JP (2) JP2007149098A (ko)
KR (2) KR100803596B1 (ko)
CN (1) CN101300776A (ko)
WO (1) WO2007061217A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090167557A1 (en) * 2007-12-26 2009-07-02 Bubb John H Advanced meter security system
KR101485460B1 (ko) * 2008-06-09 2015-01-23 삼성전자주식회사 브로드캐스트 암호화에서 디바이스 키를 추적하는 방법
US8589519B2 (en) * 2008-06-18 2013-11-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for uniform resource identifier handling of user device
US9083685B2 (en) * 2009-06-04 2015-07-14 Sandisk Technologies Inc. Method and system for content replication control
FR2955189B1 (fr) 2009-11-12 2012-03-09 St Microelectronics Rousset Procede securise de traitement d'un contenu memorise au sein d'un composant, et composant correspondant
US9306743B2 (en) 2012-08-30 2016-04-05 Texas Instruments Incorporated One-way key fob and vehicle pairing verification, retention, and revocation
KR101508859B1 (ko) * 2013-12-30 2015-04-07 삼성에스디에스 주식회사 클라이언트와 서버 간 보안 세션을 수립하기 위한 방법 및 장치

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL130963A (en) * 1999-07-15 2006-04-10 Nds Ltd Key management for content protection
JP4622087B2 (ja) 2000-11-09 2011-02-02 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム記憶媒体
US7010125B2 (en) 2001-01-26 2006-03-07 Interntional Business Machines Corporation Method for tracing traitor receivers in a broadcast encryption system
US7039803B2 (en) 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
JP4199472B2 (ja) * 2001-03-29 2008-12-17 パナソニック株式会社 暗号化を施すことによりデータを保護するデータ保護システム
US7395425B2 (en) * 2001-03-29 2008-07-01 Matsushita Electric Industrial Co., Ltd. Data protection system that protects data by encrypting the data
AU2002334425A1 (en) * 2001-10-26 2003-05-06 Matsushita Electric Industrial Co., Ltd. Digital work protection system, key management apparatus, and user apparatus
JP4220213B2 (ja) 2001-10-26 2009-02-04 パナソニック株式会社 著作物保護システム、鍵管理装置及び利用者装置
US7415723B2 (en) * 2002-06-11 2008-08-19 Pandya Ashish A Distributed network security system and a hardware processor therefor
US7200868B2 (en) * 2002-09-12 2007-04-03 Scientific-Atlanta, Inc. Apparatus for encryption key management
US20050144468A1 (en) * 2003-01-13 2005-06-30 Northcutt J. D. Method and apparatus for content protection in a personal digital network environment
US20050141706A1 (en) 2003-12-31 2005-06-30 Regli William C. System and method for secure ad hoc mobile communications and applications
JP4434969B2 (ja) * 2004-01-21 2010-03-17 株式会社東芝 コンテンツ提供側システム、ユーザ側システム、追跡システム、装置、方法及びプログラム
JP3963391B2 (ja) * 2004-02-12 2007-08-22 三星電子株式会社 ジグビーネットワークにおけるマルチキャスト方法
JP4583069B2 (ja) * 2004-05-18 2010-11-17 パイオニア株式会社 鍵管理システム、及び再生装置
KR101092543B1 (ko) 2004-11-12 2011-12-14 삼성전자주식회사 브로드캐스트 암호화를 위한 사용자 키 관리 방법
KR100640058B1 (ko) * 2004-11-23 2006-11-01 삼성전자주식회사 브로드캐스트 암호화를 위한 사용자 키 관리 방법

Also Published As

Publication number Publication date
KR101086431B1 (ko) 2011-11-25
KR20070055300A (ko) 2007-05-30
JP4819776B2 (ja) 2011-11-24
US8341403B2 (en) 2012-12-25
US8335315B2 (en) 2012-12-18
KR100803596B1 (ko) 2008-02-19
US20070206790A1 (en) 2007-09-06
US20070121938A1 (en) 2007-05-31
CN101300776A (zh) 2008-11-05
JP2007149098A (ja) 2007-06-14
WO2007061217A8 (en) 2007-07-26
EP1952576A4 (en) 2011-09-07
WO2007061217A1 (en) 2007-05-31
JP2008033968A (ja) 2008-02-14
EP1952576A1 (en) 2008-08-06

Similar Documents

Publication Publication Date Title
JP4494215B2 (ja) 公開鍵メディア鍵束
RU2295202C2 (ru) Устройство, сконфигурированное для обмена данными, и способ аутентификации
US6266420B1 (en) Method and apparatus for secure group communications
JP2021520714A5 (ko)
US20060075234A1 (en) Method of authenticating device using broadcast cryptography
US8694783B2 (en) Lightweight secure authentication channel
KR101086431B1 (ko) 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치
KR101200572B1 (ko) 공개 브로드캐스트 암호화를 이용한 인증 방법 및 컨텐츠재생 방법과 그 장치
KR20060020688A (ko) 개선된 안전 인증 채널
BRPI0617419B1 (pt) Método e sistema para impedir a reutilização de chaves comprometidas em um sistema de criptografia de transmissão
JP6072806B2 (ja) グループメンバによるグループ秘密の管理
JP2003529253A (ja) マルチレベル・コンテンツ配信システムにおいて信任を承認及び失効にする方法及び装置
US20100161972A1 (en) Device and method for key block based authentication
KR101022465B1 (ko) 암호화된 디지털 데이터의 복사 및 복호화 방법 및 장치
KR20060097514A (ko) 로컬 서버에서 브로드캐스트 암호화 방식에 따라 암호화된컨텐트를 제공하는 방법 및 장치
US8515074B2 (en) User key allocation method for broadcast encryption
JP5296195B2 (ja) コンテンツデータ再生システム、及び記録装置
KR20210117733A (ko) 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치
Jin et al. Renewable Traitor Tracing: A Broadcast, Tracing and Revoke System for Anonymous Attack
JP2008181342A (ja) デジタルデータ記録装置及びデジタルデータ再生装置並びに記録媒体

Legal Events

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

Payment date: 20141030

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171030

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee