KR20200089683A - 컨텐츠 소비 장치의 능력 철회 - Google Patents

컨텐츠 소비 장치의 능력 철회 Download PDF

Info

Publication number
KR20200089683A
KR20200089683A KR1020207015325A KR20207015325A KR20200089683A KR 20200089683 A KR20200089683 A KR 20200089683A KR 1020207015325 A KR1020207015325 A KR 1020207015325A KR 20207015325 A KR20207015325 A KR 20207015325A KR 20200089683 A KR20200089683 A KR 20200089683A
Authority
KR
South Korea
Prior art keywords
content
information
version
capability
key
Prior art date
Application number
KR1020207015325A
Other languages
English (en)
Other versions
KR102707709B1 (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 KR20200089683A publication Critical patent/KR20200089683A/ko
Application granted granted Critical
Publication of KR102707709B1 publication Critical patent/KR102707709B1/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/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
    • H04L9/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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]
    • 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
    • H04L9/3247Cryptographic 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 involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

예를 들어, 버전 제어를 시행하고 개별 능력의 세분화된 제어를 제공하는 것과 관련하여 철회 리스트가 안전하게 시행되고 관리될 수있게하는 방법 및 컨텐츠 소비 장치가 개시된다. 양태는 또한 예를 들어 활성화 메시지의 버전 제어를 시행하고 및/또는 개별 능력의 세분화된 관리를 실시함으로써 컨텐츠 소비 제어 정보의 강화된 시행 제어와 관련된다.

Description

컨텐츠 소비 장치의 능력 철회
본 발명은 컨텐츠를 처리 및/또는 표시하기 위한 컨텐츠 소비 장치에서의 보안 철회 능력에 관한 것이다.
특정 설정에서, 장치가 이미 현장(field)에 있으면 원격으로 컨텐츠를 표시하거나 처리하기 위해 장치의 능력을 관리하는 것이 바람직하. 예를 들어, 안전한 것으로 간주되는 특정 장치 또는 장치 유형이 손상되었다는 것이 밝혀지면 미래에 장치가 컨텐츠를 표시할 수 없게 하는 것이 바람직하다. 이에 대한 한 가지 방법은 철회할 장치를 식별하는 철회 리스트를 배포하는 것이다. 실제로 이러한 철회 리스트는 유지 관리가 어려운 것으로 판명되었다.
본 발명은 전술한 문제점을 해결하는 것을 목적으로 한다.
전술한 과제를 해결하기 위해 본 발며의 실시예가 제공된다.
본 발명에 따르면 전술한 문제점을 해결할 수 있다.
일부 특정 실시예는 예시적으로 그리고 첨부 도면을 참조하여 본 발명의 양태 및 원리를 구현하도록 설명되며,
도 1은 컨텐츠 소비 장치에서 키 사용을 허가 또는 방지하기 위해 능력 검증 정보(capability verification information)를 사용하는 방법을 나타내는 도면;
도 2는 컨텐츠 소비 장치의 격리된 실행 환경에서 능력 검증 정보의 사용을 도시한 도면;
도 3a 및 도 3b는 능력 검증 정보를 사용하여 컨텐츠 소비 장치에서 컨텐츠에 대한 액세스를 제어하는 방법을 도시한 도면;
도 4는 컨텐츠 소비 장치의 구현예를 도시한 도면;
도 5는 활성화 메시지의 버전을 검증하는 방법을 도시한 도면;
도 6은 능력의 세부적인 철회를 위한 방법을 도시한 도면;
도 7은 컴퓨팅 플랫폼을 나타내는 도면이다.
개요에서, 본 발명의 양태는, 예를 들어, 버전 제어를 시행하고 개별 능력의 세분화된 제어(granular control)를 제공하는 것과 관련하여 철회 리스트가 안전하게 시행되고 관리될 수 있게 하는 방법 및 컨텐츠 소비 장치를 제공한다. 양태는 또한, 일반적으로 활성화 메시지의 버전 제어를 일반적으로 시행하고 및/또는 개별 장치 능력의 세분화된 관리를 통해 보다 일반적으로 컨텐츠 소비 제어 정보의 강화 된 시행에 관한 것이다.
일부 양태들에서, 컨텐츠 소비 장치에서 철회 리스트를 시행하는 방법은 장치 인증서를 수신하고 인증하는 단계를 포함한다. 장치 인증서는 컨텐츠 소비 장치를 식별하는 장치 정보를 포함한다. 장치 인증서는 장치의 능력을 식별하는 정보를 더 포함할 수 있거나, 이 정보는 저장되거나 그렇지 않으면 제공될 수 있다. 이 방법은 또한 철회 리스트를 수신하고 인증하는 단계를 포함한다. 철회 리스트는 그 자체로 또는 컨텐츠 소비 능력, 예를 들어 컨텐츠 디스크램블링 능력을 활성화하기 위한 활성화 메시지의 일부로서 수신될 수 있다. 철회 리스트는 하나 이상의 각각의 장치 능력, 예를 들어 하나 이상의 장치에서 철회된, 4K 컨텐츠의 디스플레이 또는 모든 능력(모든 종류의 컨텐츠를 표시하는 능력)와 같은 특정 능력을 식별한다. 철회된 장치는 제조업체, 유형(Type) 및 일련 번호(예를 들면 MAC 또는 기타 어드레스 또는 식별자) 또는 유형 또는 그룹(예를 들면 제조업체, 유형 및/또는 버전) 또는 어드레스 범위 별로 개별적으로 식별될 수 있다.
이 방법에 따르면, 스크램블된 컨텐츠의 디스크램블링을 가능하게 하는 능력 검증 정보 및 암호화될 수 있는 해독 키를 포함하는 메시지가 수신된다. 스크램블링된 컨텐츠의 디스크램블링을 가능하게 하기 위해 필요한 해독 키는 주기적으로 변경될 수 있고, 결과적으로 메시지는 컨텐츠 소비 장치에 최신 해독 키를 제공하기 위해 주기적으로 전송 및 수신될 수 있다. 결과적으로, 철회 리스트는 계속 시행되어 오래된 해독 키가 쓸모없게 되고 컨텐츠 처리 장치에서 컨텐츠 처리를 계속할 수 있도록 새로운 해독 키가 만들어진다.
검증 정보 및 암호화 된 해독 키는 예를 들어, 능력 검증 정보 및(암호화 또는 비암호화(clear)) 해독 키는 예를 들어 검증 정보와 해독키의 연결(concatenation)과 같은 디지털 서명 조합에 의해 디지털방식으로 함께 서명될 수 있다. 대안적으로 또는 추가로, 검증 정보 및(암호화 또는 비암호화) 해독 키는 함께 암호화될 수 있다. 메시지 및/또는 검증 정보는 개별적으로 인증될 수 있지만, 특히 이들이 암호적으로(cryptographically) 함께 결합될 때 필수적이지는 않다. 따라서, 능력 검증 정보와(암호화 또는 비암호화) 해독 키의 조합은 경우에 따라 능력 검증 정보를 획득하기 위해 디지털 서명을 사용하여 인증되거나 및/또는 해독될 수 있다.
컨텐츠 소비 장치에 대한 철회된 능력을 식별하는 철회 정보는 장치 정보 및 철회 리스트를 사용하여 결정되는데, 예를 들어 철회 리스트에서 장치 정보를 탐색하여 철회 정보를 찾는다. 수신된 능력 정보는 컨텐츠를 처리하는데 필요한 능력을 식별하는 필요 능력 정보를 포함한다. 방법은 컨텐츠 소비 장치가 컨텐츠의 디스크램블링을 위해 해독 키를 사용할 수 있는지를 결정하기 위해 능력 검증 정보 및 철회 정보에 오퍼레이션을 적용하는 단계를 포함한다. 바람직하게는, 능력별로 능력의 철회를 가능하게 함으로써, 능력 제어에 대한 보다 유연하고 세분화된 접근이 가능하다. 또한, 철회 리스트의 점검을 요구된 해독 키의 수신 및 사용에 연결함으로써, 철회 리스트의 더 나은 시행이 촉진되고 철회를 회피하기가 더 어렵게 될 수 있다.
일부 실시예들에서, 오퍼레이션을 적용하는 단계는 컨텐츠 소비 장치가 능력 검증 정보 및 철회 정보, 및 적용 가능한 경우 철회 리스트의 버전을 나타내는 버전 정보를 사용하여 해독 키를 해독할 수 없는지의 여부를 결정하는 단계를 포함한다. 결정이 긍정적이면, 예를 들어, 해독 키가 암호화되는 실시예에서 해독 키의 해독을 방지함으로써, 컨텐츠에 액세스하기위한 해독 키의 사용이 방지된다. 이들 실시예에서, 능력 검증 정보, 장치 정보 및 철회 리스트는 컨텐츠 소비 장치가 해독 키를 해독하는 것이 허용되지 않아야 하는지를 결정하는데 사용되고, 결정이 긍정적이면, 해독 키의 사용이 방지된다. 예를 들어, 컨텐츠 소비 장치가 컨텐츠를 디스크램블링하는 것을 허용되지 않을 것인지 여부를 결정하는 것은 요구된 능력이 컨텐츠 소비 장치에서 철회되었는지를 결정하기 위해 철회 리스트, 장치 정보 및 필요한 능력 정보를 사용하는 것을 포함할 수 있다.
예를 들어, 이 결정은 철회 리스트에서 장치를 찾기 위해 장치 정보를 사용하여 장치(또는 장치가 속하는 장치 그룹)가 발견되면, 특정 컨텐츠를 표시하기 위해 필요한 특정 능력이 철회된 경우 긍정적인 결정을 행하는 것으로 이루어질 수 있다. 특정 컨텐츠는 예를 들어 컨텐츠가 디스크램블링하기 위해 해독 키가 필요하거나 컨텐츠에 대한 암호화된 디스크램블링 키를 해독하기 위해 해독 키가 필요하기 때문에 해독 키가 디스플레이되도록 요구하는 컨텐츠일 수 있다.
해독 키의 사용을 방지하는 것은 판정이 긍정적인 경우 해독 키의 사용을 가능하게하지 않고, 반대로 판정이 부정적인 경우 키의 사용을 가능하게 하는 것을 포함할 수 있다. 해독 키의 사용을 방지하는 것은 키를 해독화하지 않거나, 또는 이미 해독된 경우, 해독된 해독 키를 삭제하거나 및/또는 컨텐츠 소비 장치가 추후 사용을 기대하는 메모리 위치에 이를 기록하지 않는 것을 포함할 수 있다. 예를 들어, 일부 조건부 액세스 시스템 실시예에서, 메시지가 ECM(Entitlement Control Message)과 같은 컨텐츠와 함께 수신된 제어 메시지이고, 해독키가 제어 워드(CW)와 같은 디스크램블링 키인 경우, 사용을 방지하는 것은 디스크램블링 키를 메모리의 테이블에 기록하지 않는 것, 예를 들어 CW를 CW 테이블에 기록하지 않는 것, 일반적으로 컨텐츠 소비 장치의 메모리에 유지되는 것을 포함할 수 있다. 일부 CAS 실시예에서, 메시지는 EMM이며 CW를 해독하는데 필요한 암호 해독 키를 포함 할 수 있다.
일부 실시예들에서, 오퍼레이션을 적용하는 단계는, 적용가능한 경우, 해독 키, 능력 검증 정보 및 철회 정보뿐만 아니라 철회 리스트의 버전을 나타내는 버전 정보를 조합하는 조합 키를 형성하는 단계를 포함한다. 이 방법은 컨텐츠를 디스크램블링하려고 시도하거나 컨텐츠를 디스크램블링하기 위해 디스크램블링 키를 해독하려고 시도하기 위해 조합 키를 사용하는 단계를 포함한다. 컨텐츠의 디스크램블링은 능력 검증 정보가 철회 정보와 일치하는, 즉 필요한 능력이 철회되지 않은 조합의 결과에 대응하는 특정 조합 키를 요구할 수 있다. 따라서 필요한 능력이 철회 된 경우 조합 키가 달라지고 결과적으로 컨텐츠를 디스크램블링하지 못하거나 컨텐츠를 디스크램블링하는 데 필요한 키를 해독하지 못하게 된다.
오퍼레이션이 전술한 바와 같이 조건의 결정 또는 평가를 포함하는지 또는 조합 키를 형성하는 것과 관계없이, 철회 리스트의 각각의 엔트리는 대응하는 요구데이터를 가질 수 있고, 예를 들어 대응하는 요구 마스크를 가질 수 있고, 장치 정보는 장치 능력, 즉 장치가 가진 능력을 식별하는 데이터를 포함할 수 있다. 장치 또는 장치 그룹에 대한 철회 리스트에 엔트리가 있는 경우, 대응하는 철회 데이터 또는 마스크가 장치 능력 데이터에 적용되어 조합 키를 형성하거나 조건을 평가할 수 있다. 결과가 컨텐츠를 표시하는데 필요한 기능과 일치하는 경우 암호 해독 키를 사용할 수 있으며 그렇지 않으면 명시적 또는 암시적으로 방지된다. 명시적 방지는 조건의 긍정적 평가에 의해 유발되며 전술한 바와 같이 해독 키를 해독하지 않는 것을 포함할 수 있다. 암시적 방지는, 능력이 철회되지 않은 경우의 결과와 다른 결과를 생성하는 오퍼레이션 산물로 인해 결합 키가 올바르지 않은 경우 발생된다. 일부 실시예들에서, 철회 리스트 엔트리가 장치가 모든 능력에 대해 철회되었음을 나타내면, 키의 사용은 추가적인 비교 없이 방지된다. 이것은 예를 들어 장치의 부팅 또는 장치의 디스크램블링 기능의 활성화와 같이 메시지를 수신하기 전에 장치 정보와 철회 리스트만을 사용하는 별개의 검사의 일부일 수 있다.
일부 실시예들에서, 오퍼레이션은 오퍼레이션을 장치 능력 정보에 적용하는 것을 포함하여, 따라서 필요한 능력이 철회되지 않을 뿐만 아니라 장치에 존재 하는지도 검증한다. 다른 정보에 대해 전술한 바와 같이, 경우에 따라 장치 능력 정보는 명시적 비교에 사용될 수 있거나 조합 키의 계산에 사용될 수 있다. 장치 능력을 고려함으로써, 컨텐츠의 처리 오류를 방지할 수 있다. 다른 실시예들에서, 요구된 능력이 존재하지 않으면 장치 능력은 고려되지 않고 컨텐츠 프로세싱은 단순히 실패된다.
일부 실시예들에서, 능력 검증 정보는 버전 검증 정보를 포함하고 철회 리스트는 철회 리스트의 버전을 나타내는 버전 정보와 연관된다. 이들 실시예에서, 컨텐츠 소비 장치가 컨텐츠를 디스크램블링 할 수 없는지 여부를 결정하는 단계는 버전 정보가 버전 검증 정보와 일치하지 않는지를 결정하는 것을 포함한다. 예를 들어, 버전 확인 및 버전 정보가 다른 버전을 나타내거나 버전 정보가 버전 확인 정보보다 이전 버전을 나타내면 오래된 철회 리스트를 나타내는 경우 불일치가 감지될 수 있다. 능력 검증 정보의 필요한 능력 및 버전 검증 정보 모두에 의해 조합 키가 계산되는 실시예에서, 컨텐츠를 디스크램블링하거나 컨텐츠를 디스크램블링하는데 필요한 키를 해독하는데 필요한 키는 철회 리스트의 버전이 기대되지 않는 한 요구된 키에 대응하지 않도록 대응하지 않는다. 유리하게, 해독 키를 운반하는 메시지의 수신과 함께 버전 제어를 연결함으로써, 오래된 철회 리스트가 사용되는 것을 방지함으로써(또는 철회 리스트 업데이트에서의 허점을 이용하기 위해 조작된 버전 정보를 갖는 해적된 철회 리스트의 사용을 방지함으로써) 보안이 향상 될 수 있다.
일부 실시예들에서, 능력 검증 정보 및 철회 정보에 대한 오퍼페이션은 능력 검증 정보 및 철회 정보를 결합하는 단계를 포함한다. 능력 검증 정보 및 철회 정보는 필요한 철회된 능력을 나타내는 각각의 비트맵에 의해 인코딩될 수 있고 부울린 연산(Boolean operation)과 결합될 수 있다. 두 비트 맵이 동일한 위치에서 설정 비트(1로 설정)를 가지면, 즉 전자(비트 1로 설정)에서 필요한 능력이 후자(비트 1로 설정)에서 철회되지 않으면, 부우린 AND 연산으로 비트맵을 결합하여 이전 미트맵을 생성한다. 이 연산의 결과는 그 후 해독 키와 결합되어 키 유도 함수를 사용하여 새로운 암호 해독 키를 형성 할 수 있으며, 그 예는 당업자에게 공지되어 있고 간단한 연결을 포함할 수 있다. 이어서 새로운 암호 해독 키를 사용하여 컨텐츠에 액세스할 수 있다(스크램블링 / 디스크램블링 키 해독화). 이는 새로운 해독 키가 컨텐츠를 보호하는 데 사용되는 보호 키(스크램블링 / 디스크램블링 키 암호화)와 일치하지 않으면 실패된다. 액세스될 컨텐츠는 소스(예를 들면, 헤드 엔드 또는 오버 더 탑 컨텐츠 제공자)에서, 해독 키를 키 유도 함수에서 필요한 능력을 인코딩하는 비트맵과 결합함으로써 해독키로부터 유도된 보호키를 사용하여, 보호될 수 있다. 결과적으로 필요한 능력 중 어느 하나가 철회된 경우(철회 정보를 인코딩하는 비트 맵에서 해당 비트가 0으로 설정됨) 컨텐츠에 대한 액세스(컨텐츠의 디스크램블링 또는 디스크램블링 키의 해독)가 실패한다.
유사하게, 일부 실시예들에서, 버전 검증 정보는 필요한 능력을 인코딩한 비트 맵의 비트로 비트로 인코딩 될 수 있고, 철회 리스트와 관련된 버전 정보는 철회 정보를 인코딩한 비트맵 내에 인코딩될 수 있으며, 따라서 예를 들어 철회 리스트의 버전과 일치하지 않은 경우 컨텐츠에 대한 액세스가 실패한다.
부가적으로, 장치 능력이 또한 고려되는 실시예에서, 각각의 비트 맵 인코딩 능력 검증 정보 및 철회 정보는 실시예에 따라 버전 정보를 인코딩 할 수 있는 비트 맵 인코딩 장치 능력과 결합 될 수 있다. 3 개의 비트 맵은 부울린 논리 연산, 예를 들어 AND 연산에 의해 유사한 방식으로 결합될 수 있다. 물론 연산은 임의의 순서로 수행될 수 있음을 이해할 것이다.
일부 실시예들에서, 철회 리스트는 컨텐츠 소비 장치의 컨텐츠 소비 능력을 활성화하기 위한 활성화 메시지, 예를 들어 장치가 컨텐츠를 소비하는데 필요한 디스크램블링 또는 다른 기능 및/또는 장치에 필요한 특정 명령(들) 또는 기능을 활성화하기 위해 활성화 메시지와 함께 수신되고, 활성화 메시지를 인증을 포함하는 철회 리스트를 인증한다. 예를 들어, 이 방법은 철회 리스트의 추가 인증없이 활성화 메시지만을 인증할 수 있다. 이 방법은 활성화 메시지 및 장치 인증의 인증에 응답하여 컨텐츠 소비 장치의 컨텐츠 디스크램블링 기능을 활성화하는 단계를 포함 할 수 있다. 일부 실시예들에서, 이는 장치가 모든 능력이 철회된 리스트에 없는지 결정하고 컨텐츠 소비 능력의 활성화를 방지하고, 그렇지 않으면 컨텐츠 소비 능력을 활성화시키는 것을 포함할 수 있다.
본 발명의 일부 양태들은 능력 검증을 생략하고 결과적으로 능력 검증 정보 또는 대응하는 세부 철회 정보를 사용하지 않는다. 대신, 이 방법은 철회 리스트에있는 장치에 기초하여, 적용가능하다면, 전술한 명시적 검증 또는 조합 키 대신 디스크램블링을 가능하게하는 데 필요한 고정 키를 단순히 트리거할 수 있다. 결과적으로, 이러한 양태들에서, 장치가 능력 철회 정보에 의해 능력을 지정하지 않고 철회 리스트에 있으면 컨텐츠 소비가 실패한다. 물론, 이러한 양태들의 실시예들은 또한 예를 들어 이를 비트 맵으로 포함하거나 버전 검증 정보를 전술한 바와 같이 조합 키의 생성에 추가하는 전술한 바와 같은 버전 검증을 이용할 수 있다.
알뷰 양태들은 상기 양태들을 일반적으로 활성화 메시지의 버전 제어로 더 확장한다. 이러한 양태들은 다음과 같은 방법 및 프로세서, 예를 들어 하드웨어 상태 머신 또는 다른 보안 환경을 포함하여 그러한 방법을 구현하도록 구성된 컨텐츠 소비 장치로 확장된다. 활성화 메시지는 컨텐츠 소비 장치의 컨텐츠 소비 능력, 예를 들어 디스크램블링 또는 다른 기능 및/또는 장치가 컨텐츠를 소비하기 위해 작동하는 데 필요한 특정 명령 또는 기능을 활성화하는 데 사용된다. 암호될 수 있는 해독 키는 버전 검증 정보와 함께, 예를 들어 전술한 바와 같이 암호로 함께 결합된 메시지로 수신된다. 버전 검증 정보는 활성화 메시지의 버전을 검증하기 위해 사용될 수 있고, 예를 들어 전술한 바와 같이 불일치가 검출되면, 예를 들어 전술한 바와 같이 해독 키의 사용이 방지된다. 다른 실시예들에서, 철회 리스트의 버전 검증 정보 및 버전 정보는 전술한 바와 같이 조합 키를 형성하는 연산으로 결합된다. 따라서, 이들 실시예 모두에 공통으로, 버전 검증 및 버전 정보가 작동되고 연산 결과는 컨텐츠 소비 장치가 컨텐츠의 디스크램블링을 가능하게 하기 위해 해독 키를 사용할 수 있는지 여부를 결정한다.
이러한 양태들은 컨텐츠 소비 장치에서 활성화 메시지의 버전을 시행하는 방법으로 확장되며, 상기 방법은 :
컨텐츠 소비 장치의 컨텐츠 소비 능력을 활성화하기 위해 활성화 메시지를 수신 및 인증하는 단계 - 예를 들어 컨텐츠 소비 장치에서 컨텐츠 소비를 가능하게하는데 필요한 디스크램블링 또는 다른 기능 및/또는 특정 명령(들)을 활성화하고, 활성화 메시지는 활성화 메시지의 버전을 나타내는 버전 정보를 포함함 -;
스크램블링 된 컨텐츠의 디스크램블링을 가능하게 하는 데 필요한 버전 검증 정보 및 해독 키를 포함하는 메시지를 수신하는 단계;
컨텐츠 소비 장치가 해독 키를 사용하여 컨텐츠의 디스크램블링을 가능하게하는지 결정하기 위해 버전 정보 및 버전 검증 정보에 오퍼레이션을 적용하는 단계를 포함한다. 버전 검증 정보 및 버전 정보가 일치하면 컨텐츠 소비 장치는 해독 키를 사용할 수 있다.
또한, 이러한 양태들은 다음을 포함하는 컨텐츠 소비 장치로 확장되고, 장치는,
스크램블링된 컨텐츠 및 스크램블링된 컨텐츠의 디스크램블링을 가능하게 하는데 필요한 버전 검증 정보 및 암호화된 해독 키를 포함하는 메시지를 수신하도록 구성된 하나 이상의 수신기 모듈;
컨텐츠 소비 장치의 컨텐츠 소비 능력을 활성화하기 위한 활성화 메시지를 저장하도록 구성된 메모리 - 예를 들어 활성화 메시지는 디스크램블링 또는 다른 기능 및/또는 콘텐츠 소비에 대한 콘텐츠 소비를 가능하게하는 데 필요한 특정 명령 또는 기능을 활성화하고, 상기 활성화 메시지는 상기 활성화 메시지의 버전을 나타내는 버전 정보를 포함함 - ;
활성화 메시지의 버전을 시행하도록 구성된 처리 모듈 - 예를 들어 하드웨어 상태 머신 또는 기타 보안 환경을 포함하고, 상기 처리 모듈은, 장치 인증서를 수신 및 인증하고, 메시지를 수신하고; 컨텐츠 소비 장치가 해독 키를 사용하여 컨텐츠의 디스크램블링을 가능하게하는지 결정하기 위해 버전 정보 및 버전 검증 정보에 오퍼레이션을 적용하도록 구성됨 - ;를 포함한다.
전술한 바와 같이 철회 리스트와 관련하여 일반적이거나 특정한 버전 검증 측면의 모든 특징은 대응하는 실시예에서 용이하게 결합될 수 있으며, 이는 개시된 것으로 이해된다.
다른 양태는 일반적으로 세분화된 능력 철회로 확장된다. 철회 리스트는 각각 하나 이상의 철회된 장치를 식별하는 엔트리와, 각 장치에 대해, 장치의 어떤 기능이 철회되는지에 대한 철회 능력 정보, 예를 들어 전술한 철회 마스크를 갖는다. 이러한 양태들은 컴퓨터 판독 가능 포맷으로 저장된 그러한 철회 리스트으로 확장된다. 이들 양태들은 다음과 같은 방법뿐만 아니라 그러한 방법을 구현하도록 구성된 프로세서, 예를 들어 하드웨어 상태 머신 또는 다른 보안 환경을 갖는 컨텐츠 소비 장치로 확장된다. 컨텐츠 소비 장치는 전술한 바와 같이 수신된 컨텐츠를 암시적으로 또는 명시적으로 처리 또는 디스크램블링 할 수 있는지를 결정하는 동작에서 철회 리스트를 사용한다. 예를 들어, 컨텐츠는 컨텐츠를 디스크램블링하는데 필요한 디스크램블링 키와 필요한 능력 정보를 연관시킴으로써 필요한 능력 정보와 연관될 수 있다. 컨텐츠는 컨텐츠를 디스플레이하는데 필요한 능력을 나타내는 필요한 능력 정보와 관련된다. 컨텐츠 소비 장치는 예를 들어 장치 인증서에서 식별된 하나 이상의 능력을 가지며, 요구된 능력 정보와, 철회된 능력 정보에 의해 철회되지 않은 장치 능력 사이에 일치가 있는 경우, 컨텐츠 소비 장치는 컨텐츠를 처리 또는 디스크램블링하고, 그렇지 않으면 컨텐츠를 디스크램블링하지 않는다. 대안적으로, 키의 사용을 방지 또는 가능하게 하는 것은 전술한 바와 같이 조합 키를 형성함으로써 암시될 수 있다. 예를 들어, 세부적인 능력 철회를 제공하는 임의의 양태들 및 실시예들에서, 철회되지 않은 장치 능력들과 일치하지 않는 제1 필요 능력 정보과 관련된 제1 컨텐츠는 컨텐츠 소비 장치에 의해 처리되거나 디스크램블링되지 않을 수 있지만, 철회되지 않은 장치 능력과 일치하는 제2 필요 능력 컨텐츠와 연관된 제2 컨텐츠는 컨텐츠 소비 장치에 의해 처리되거나 디스크램블링 될 수 있다.
이러한 양태들은 컨텐츠 소비 장치에서 능력을 철회하는 방법으로 확장되며, 상기 방법은,
장치 인증서를 수신하는 단계 - 장치 인증서는 컨텐츠 소비 장치를 식별하는 장치 정보를 포함함 - ;
하나 이상의 장치로부터 철회된 하나 이상의 개별 장치 능력을 식별하는 칠요 철회 리스트를 수신하는 단계;
컨텐츠를 처리하는데 필요한 능력을 식별하는 필요한 능력 정보를 포함하는 메시지를 수신하는 단계;
컨텐츠 소비 장치가 컨텐츠를 처리할 수 있는지를 결정하기 위해 필요한 능력, 장치 정보 및 철회 리스트에 오퍼레이션을 적용하는 단계를 포함한다. 결정은 명시적일 수 있고, 이 방법은 컨텐츠의 처리를 능동적으로 방지할 수 있거나, 오퍼레이션의 결과가 컨텐츠를 처리하는데 사용되거나 컨텐츠를 처리하는 데 필요한 키를 유도하며, 필요한 능력이 철회되지 않은 경우에 그 결과가 기대와 다르면 리가 실패한다.
이러한 양태들은 다음을 포함하는 컨텐츠 소비 장치로 확장되며, 장치는,
컨텐츠 및 컨텐츠를 처리하는데 필요한 장치 능력을 식별하는 필요 능력 정보를 포함하는 메시지를 수신하도록 구성된 하나 이상의 수신기 모듈;
컨텐츠 소비 장치를 식별하는 장치 정보를 포함하는 장치 인증서 및 하나 이상의 장치로부터 철회되어진 하나 이상의 개별 장치 능력을 식별하는 철회 리스트를 저장하도록 구성되는 메모리;
처리 모듈 - 예를 들어 철회 리스트를 시행하도록 구성된 하드웨어 상태 머신 또는 다른 보안 환경을 포함함 - ;를 포함하고, 처리 모듈은 :
장치 인증서를 수신하고;
철회 리스트를 수신하고;
메시지를 수신하고;
컨텐츠 소비 장치가 컨텐츠를 처리할 수 있는지를 결정하기 위해 필요 능력, 장치 정보 및 철회 리스트에 오퍼레이션을 적용하도록 구성된다.
두개의 양태에서, 오퍼레이션은 철회 리스트 및 장치 정보를 사용하여 장치에 대한 철회 능력을 나타내는 철회 정보를 결정하는 것을 포함할 수 있다. 그 후, 철회 정보 및 필요 능력 정보가 처리되어, 명시적으로 결정을 하거나 컨텐츠의 처리를 암시적으로 방지하거나, 처리에서의 연산 결과를 사용하여, 필요 능력이 철회되지 않은 경우 그 결과가 기대와 다르면 처리는 실패한다. 일부 실시예에서, 전술한 바와 같이, 장치 능력 또한 이 프로세스에서 사용된다.
일반적으로 또는 보다 구체적으로 전술한 바와 같이, 모든 세부적인 능력 철회 양태의 특징은 쉽게 결합 가능하고 모든 이러한 조합이 개시되는 것을 이해할 것이다.
임의의 상기 양태 및 방법의 일부 실시예에서, 방법은 격리된 실행 환경, 예를 들어 TEE(Trusted Execution Environment) 또는 SE(Secure Element) 또는 소프트웨어 또는 하드웨어에서 격리된 임의의 다른 실행 환경에서, 예를 들면 하드웨어 상태 머신에서 구현된다. 격리된 실행 환경은 격리된 실행 환경 외부에서 격리된 실행 환경 내부의 메모리 및 처리 용량과 같은 리소스로의 액세스를 방지 및/또는 제어한다. 일부 실시예에서, 해독의 사용을 방지하는 것은, 예를 들어 격리된 실행 환경 외부에서 해독 키의 저장을 방지하는 것과 같이, 격리된 실행 환경 외부에서 해독 키에 대한 액세스를 방지하는 것을 포함한다.
다른 양태들은 전술한 양태들 및 실시예들에 따른 방법(들)을 구현하는 컨텐츠 소비 장치로 확장된다. 예를 들어, 각각의 컨텐츠 소비 장치는 실행시 방법을 구현하기 위한 코딩된 명령을 저장하는 하드웨어 및/또는 프로세서, 예를 들면 상기 방법을 구현하도록 예를 들면 메모리에 저장된 명령을 실행하도록 구성된 하드웨어 상태 머신 또는 다른 보안 환경을 포함할 수 있다.
이러한 양태들에서, 장치 인증서는 일반적으로 장치에 저장되고 장치에서 내부적으로 수신되고, 철회 리스트는(활성 메시지의 일부로서 또는 다른 방식으로) 일반적으로 장치에 내부적으로 저장되거나 또는 외부 소스로부터 수신되고, 메시지는 일반적으로 외부 소스로부터 수신된다. 철회 리스트, 메시지 및 활성화 메시지는 방송, 예를 들어 무선(over-the-air), 위성 또는 케이블을 통한 데이터 캐러셀 방송에서 외부 소스로부터 수신될 수 있거나, 또는 연결된 장치의 경우에 인터넷, 또는 기타 데이터 연결을 통해 수신될 수 있다. 격리된 실행 환경을 포함하는 실시예에서, 장치 인증서, 철회 리스트/활성화 메시지 및 메시지는 격리된 실행 환경 외부의 나머지 장치, 예를 들어 메모리 또는 컨텐츠 소비 장치의 데이터 및/또는 컨텐츠 수신 모듈로부터 수신될 수 있다.
또 다른 양태는 컴퓨팅 장치에서 실행될 때 전술한 바와 같은 하나 이상의 방법을 구현하는 컴퓨터 명령을 포함하는 컴퓨터 프로그램 제품 또는 유형의 컴퓨터 판독 가능 매체 인코딩으로 확장될 수 있다.
도 1을 참조하여, 컨텐츠 소비 장치에서 철회 리스트를 시행(reforcing)하는 방법이 설명된다. 예를 들어, 이 방법은 컨텐츠 소비 장치의 격리된 실행 환경, 예를 들어 보안 요소에서 구현될 수 있다. 단계 102에서, 장치 인증서가 수신 및 인증된다(예를 들어, 인증서와 관련된 디지털 서명을 검증함). 장치 인증서는 컨텐츠 소비 장치 및 컨텐츠 액세스 능력, 예를 들어 SD(Standard Definition), HD(High-Definition) 및/또는 4K 컨텐츠를 처리하는 능력을 식별한다. 단계 104에서, 철회 리스트가 수신되고 인증된다. 예를 들어, 철회 리스트는 컨텐츠 소비 장치의 컨텐츠 디스크램블링 기능을 활성화하는 활성화 메시지의 일부로서 수신될 수 있다. 단계 106에서, CAS와 관련한 메시지, 예를 들어 ECM 또는 EMM이 수신된다. 메시지는 암호화 된 해독 키 및 능력 검증 정보를 포함한다. 능력 검증 정보는 장치가 메시지와 관련된 컨텐츠를 처리하는데 필요한 능력을 가지고 있고 이 능력이 철회되지 않았는지를 검증하는데 사용된다. 예를 들어, 능력 검증 정보는 4K 컨텐츠를 처리하는 능력이 필요한지를 나타낼 수 있다. 능력 검증 정보는 아래에 보다 상세하게 설명될 것이다. 컨텐츠를 디스크램블링하는데 직접 사용되거나 컨텐츠를 디스크램블링하는데 사용되는 키를 해독하여, 메시지와 연관된 컨텐츠를 디스크램블링하기 위해서는 해독 키가 필요하다. 예를 들어, 이러한 메시지의 일반적인 사용에서 메시지가 ECM 인 경우 해독 키는 일반적으로 컨텐츠를 디스크램블링하는 데 사용되는 CW이지만, 메시지가 덜 자주 전송되는 EMM이면 해독 키는 일반적으로 해독된 CW가 사용될 수 있도록 암호화된 CW를 해독하는데 사용되는 키일 것이다.
단계 108에서, 능력 검증 정보, 철회 리스트 및 장치 인증서는 해독 키의 사용이 허가되는지를 결정하기 위해 사용된다. 예를 들어, 장치가 철회 리스트에 의해 장치에 대해 철회되지 않은 능력 검증 정보에 의해 지시된 필요 능력을 갖는지의 여부가 결정된다. 일부 실시예들에서, 어떤 능력이 철회되는지(어떤 경우 필요 능력 정보가 능력 검증 정보에 존재하지 않을 수 있음)에 관계없이, 장치가 철회 리스트에 존재하면 키의 사용이 승인되지 않을 수 있다. 어느 경우든, 일부 실시예들에서, 능력 검증 정보는 버전 검증 정보를 포함할 수 있고, 철회 리스트의 버전이 버전 검증 정보와 일치하지 않으면 키 사용이 승인되지 않을 수 있다.
예를 들어 장치의 사용자가 갖는 가입에 기초하여 장치 내의 컨텐츠를 처리하기 위한 자격의 존재와 같은 다른 기준이 적용될 수 있음을 이해해야 한다. 기준(criteria)들 중 어느 하나의 결정이 키의 사용이 승인되어서는 안된다는 것을 나타내면, 키 사용이 방지 될 수 있다는 것을 또한 이해해야 한다. 결과적으로, 모든 기준이 충족되면, 해독 키의 사용은 단계 110에서 가능해 진다. 예를 들어, 해독 키가 CW 인 경우, CW는 디스크램블러가 액세스할 수있는 CW 테이블에 저장된다. 암호화된 CW를 해독하기위한 해독 키의 경우, 해독 키는 나중 사용을 위해 보안 메모리에 저장될 수 있다. 키의 사용이 승인되지 않았다고 판단되면, 단계 112에서 키의 사용은, CW 테이블과 같은 메모리 위치에 키를 기록하지 않음으로써, 해독 키를 해독하지 않고 및/또는 이미 해독된경우 해독키를 삭제함으로써 키의 사용이 방지된다. 단계 108 내지 112는 수신된 키가 컨텐츠에 액세스하기 위해, 특히 컨텐츠를 디스크램블링하거나 컨텐츠를 디스크램블하는데 필요한 키를 아래에 보다 상세히 설명하는 바와 같이 해독하는데 사용될 수 있는지를 결정하기 위해(적어도) 필요한 능력 및 철회 정보에 대해 동작하는 단계 114의 실시예를 집합적으로 제공한다. 단계 114의 대안적인 실시예들이 아래에서 설명된다. 이들 실시예는 액세스를 방지할지 여부에 대한 명시적인 결정을 대체하거나, 그 결과가 컨텐츠에 액세스하는데 사용되는 연산으로 대체되지 않는다. 결과적으로, 예를 들어 능력 검증 정보와 철회 정보 사이의 불일치로 인해 결과가 올바르지 않으면 액세스가 실패하다.
바람직하게는, 능력 검증 정보를 해독 키와 연관시킴으로써, 컨텐츠를 처리하는 핵심 능력과 밀접하게 연관되어 있기 때문에 철회 리스트의 시행은 향상되는데, 이는 해독 키를 필요로 한다. 일반적으로 암호화된 키는 예를 들어 ECM의 경우 몇 초마다 또는 EMM의 경우 수 십 분마다 주기적으로 변경되므로 최신의 해독키가 장치에서 이용가능하게 유지되면 철회 리스크가 계속하여 시행된다. 암호 해독 키와 능력 검증 정보를 암호로 바인딩함으로써, 예를 들어 해독 키(암호화 또는 클리어)와 능력 검증 정보의 조합, 예를 들어 둘의 연결을 디지털 서명함으로써 시행이 추가로 강화될 수 있다. 그런 다음 디지털 서명을 확인하여 능력 검증 정보 및 키에 대한 링크의 신뢰성을 인증할 수 있다. 대안적으로 또는 부가적으로, 능력 검증 정보와(암호화 또는 클리어) 키의 조합(연결)이 메시지에서 이 형태로 암호화되고 분배되어, 능력 검증 정보 및 키에 대한 링크의 변조가 실제 어렵거나 불가능하다.
보다 상세하게, 도 2를 참조하여 설명된 특정 구현예에서, 철회 리스트를 시행하기 위해, 특정 장치(이 예에서 "장치 2")의 격리된 실행 환경(202)은 활성화 메시지(204) 및 장치 인증서(206)를 수신한다. 격리된 실행 환경(202)은 컨텐츠 소비 장치에서 격리된 실행 환경(202) 내부 또는 외부에 위치할 수있는 영구 메모리로부터 이 데이터를 수신한다. 격리된 실행 환경(202)은 활성화 메시지(204) 및 장치 인증서(206)를 사용하여 컨텐츠 처리 기능, 예를 들어 활성화 메시지(204) 및 장치 인증서(206)가 인증되면 컨텐츠 소비 장치의 컨텐츠 디스크램블링 기능을 활성화한다.
활성화 메시지는 철회 리스트를 포함하며, 이는 즉 철회 장치의 버전 정보와 리스트를 포함한다. 철회된 장치의 리스트는 능력이 철회된 장치를 식별하는 장치 식별자의 쌍과 각각의 장치 식별자에 대해 각각의 장치의 어느 능력이 철회되었는지 나타내는 개별 능력 마스크를 포함한다. 능력은 SD, HD 및/또는 4K 컨텐츠를 처리하는 능력을 포함할 수 있으며, 예를 들어, 능력 마스크는 각 비트가 대응하는 능력을 나타내는 비트 맵일 수 있으며, 예를 들어 0은 능력이 철회되었음을 나타내고, 1은 능력이 철회되지 않았음을 나타낸다. 기본(default) 마스크는 모든 비트를 0으로 설정하여 모든 능력이 철회됨을 나타낸다. 컨텐츠 디스크램블링 기능을 활성화하기 전에, 격리된 실행 환경은 일부 구현에서 철회 리스트를 스캔하여 장치가 철회 리스트에 있는지 여부와 그런 경우 모든 장치 능력이 철회되었는지 확인하다. 그러한 경우, 격리된 실행 환경(202)은 디스크램블링 기능을 활성화하지 않을 수 있고, 예를 들어 사용자에게 에러 메시지의 표시와 같은 예외를 트리거할 수 있는 에러 메시지를 생성할 수 있다.
디스크램블링 기능이 활성화되면 디스크램블링될 컨텐츠가 수신될 수 있다. 컨텐츠는 제어 메시지(208), 예를 들어 CAS 내의 ECM와 함께 컨텐츠 소비 장치에 의해 수신되는데, 제어 메시지는 디스크램블링 키, 필요 능력 정보, 예를 들어 각각의 필요한 능력에 대해 1로 설정되고, 그렇지 않으면 0으로 설정된 비트 맵, 및 철회 리스트(또는 활성화 메시지(204))에 대한 최소 버전 요건을 포함한다. 키, 필요한 능력 및 버전 검증 정보는 전술한 바와 같이 암호로 결합될 수 있다. 일반적으로, 컨텐츠를 변경을 디스크램블링하는데 필요한 디스크램블링 키는 주기적으로 변경되고, 따라서 제어 메시지는 일반적으로 CW로 언급되는 디스크램블링 키와 함께 주기적으로 컨텐츠 소비 장치에 전송되며 최신으로 유지되어 컨텐츠의 디스클램블이 가능하다.
제어 메시지(208)가 수신됨에 따라, 격리된 실행 환경은, 장치가 철회 리스트 내에 존재하지 않은 경우 필요한 능력과 장치의 능력이 일치하는지를 체크하고, 장치가 철회 리스트 상에 있는 경우 필요한 능력이 철회되지 않았음을 체크함으로써 필요한 능력이 존재하고 필요한 능력이 컨텐츠 소비 장치 내에서 철회되지 않았음을 결정한다.
후자의 경우, 하나의 특정예에서, 장치 능력, 철회 마스크 및 필요한 능력이 모두 각각의 비트 맵으로 표현된다면, 격리된 실행 환경은 장치 능력, 철회 마스크 및 필요한 능력을 각각의 AND 연산과 결합하고, 그 결과가 다른 AND 연산을 사용한 필요 능력 비트 맵과 동일한지를 체크한다.
적절한 버전의 철회 리스트를 시행하고 오래된 철회 리스트가 철회를 피하기 위해 사용될 수 있는 허점을 막기 위해, 격리된 실행 환경(202)에 의해 추가 검사가 수행되는데, 철회 리스트의 버전(또는 활성화 메시지(204))이 제어 메시지와 함께 수신된 버전 검증 정보와 일치하는지 체크한다. 예를 들어, 버전 검증 정보는 철회 리스트 또는 활성화 메시지(204)에 요구되는 최소 버전일 수 있고, 일관성 검사는 철회 리스트 또는 활성화 메시지(204)의 버전이 최소 버전보다 높은지를 확인할 수 있다.
격리된 실행 환경은 장치 철회에 연결되지 않은 추가 검사를 수행할 수 있고, 예를 들면 적합한 권한(entitlements), 구독(subscriptions) 등의 존재를 체크하고, 모든 조건이 충족되는 경우에 암호화된 해독 키 사용을 가능하게, 예들 들면, 해독 키를 해독하고, 일반적으로는 CW 테이블이라 언급되는 메모리(210)에 이를 기록하고, 여기서 디스크램블러가 이용가능하다. 반대로, 조건들 중 어느 하나라도 충족되지 않으면, 선택된 실행 환경(202)은 키의 사용이 승인되지 않아야 한다고 결정하고, 키를 해독하지 않고 및/또는 메모리(210)에 기록하지 않음으로써 키의 사용을 방지한다.
도 3a 및 도 3b를 참조하여, 조건의 명시적인 평가에 의존하지 않고, 암호화 프로세스에서 다양한 정보 아이템을 포함함으로써 정확한 정보가 존재할 때에만 결과적으로, 컨텐츠에 대한 액세스가 가능한지를 결정하여, 암호화 프로세스를 성공적으로 완료하는 특정 구현이 기술된다. 헤드 엔드(300) 또는 기타 컨텐츠 소스 또는 프로바이더, 예를 들어 Over The Top 소스는 컨텐츠 보호에 사용되는 보호 키(키 2)를 생성하고, 예를 들면 이는 디스크램블링 키 또는 디스크램블링 키를 해독하는 키로 사용된다. 헤드 엔드(300)는 보호 키를 사용하여 컨텐츠를 보호하고, 이를 사용하여 컨텐츠를 스크램블링하거나, 스크램블된 컨텐츠를 디스크램블링하는데 이용되는 디스크램블링 키를 암호화한다. 컨텐츠 및 (암호화 된) 디스크램블링 키는 셋톱 박스(310) 또는 다른 컨텐츠 소비 장치로 전송된다. 셋톱 박스(310)는 철회된 장치를 열거한 철회 리스트를 저장한다. 철회 리스트는 도 2를 참조하여 전술한 바와 같이 활성화 메시지(204)와 연관될 수 있다. 당업자는 일반적으로 컨텐츠를 보호하기 위해 이러한 보호 키를 사용하는 것에 익숙하지만, 헤드 엔드에서 보호 키를 생성하고 셋톱 박스(310)에서 그를 회복하는 것에 대해 이하에서 상세히 설명한다.
단계 320에서, 헤드엔드는 보호 키를 생성하기 위해 키 유도 함수(324)를 사용하여 비트 맵(322)과 함께 전송 키(키 1)를 처리한다. 비트 맵(322)은 비트가 컨텐츠(예를 들어, 4K, HD, SD, 암호화 능력)를 처리하는데 필요한 능력을 나타내는 제1 부분 및 비트 맵(322)과 함께 철회 리스트의 필요한 버전을 나타내는 제2 부분을 포함한다. 일부 실시예들에서, 이 부분의 각각의 비트는 철회 리스트의 버전을 나타내고 특정 버전은 특정 비트를 설정하는 것으로 요구될 수 있다. 최소 버전 및 상위 버전에 대응하는 모든 비트를 설정함으로써 최소 버전이 필요할 수 있다. 다른 부분 집합도 물론 가능하다. 버전 비트 맵은 철회 리스트의 버전(또는 버전들)을 강요하지 않는 일부 실시예들에서 존재하지 않는다.
단계 340에서, 셋톱 박스(310)는 비트 맵(322)의 제1 부분의 포맷으로 장치 능력을 나타내는 부분 및 비트맵(322)의 제2 부분의 포맷으로 셋톱 박스에 저장된 철회 리스트의 버전을 나타내는 부분을 포함하는 비트 맵(342)을 저장한다. 셋톱 박스(310)는 또한 비트 맵(322)의 제 1 부분과 비트맵(342)의 제2 부분과 동일한 제2 부분의 포맷으로 철회된 장치 능력을 나타내는 부분을 포함하는 비트맵(344)를 저장한다. 비트 맵(342, 344)은 실행시, 부팅시 생성 및/또는 저장 될 수 있거나 셋톱 박스(310)의 비 휘발성 메모리에 저장 및 유지될 수 있다. 비트 맵(344)은 철회 리스트에 저장될 수 있고 장치 정보에 기초하여 액세스될 수 있거나 철회 리스트 내의 장치에 대응하는 정보로부터 생성 될 수 있다. 비트 맵(344)은 또한 철회 리스트에 전체적으로 저장될 수 있거나 제1 및 제2 부분을 함께 추가함으로써 생성될 수 있다.
단계 360에서, 헤드 엔드(300)는 전송 키 및 비트 맵(322)(필요한 능력 및 버전 검증 정보를 나타냄)을 포함하는 메시지(362)를 셋톱 박스(310)에 전송한다. 메시지는 도 2를 참조하여 설명된 제어 메시지(208)에 대응한다.
단계 380에서, 셋톱 박스(310)는 메시지(362)를 수신하고 비트 맵(342, 344)을 입력으로서 취하는 키 유도 함수(382)를 사용하여 전송 키 및 비트 맵(322)을 처리한다. 구체적으로, 도 3b를 참조하면, 키 유도 함수(382)는 비트 맵(322)을 입력으로서 취하고 각각의 부우린(Boolean) AND 연산을 사용하여 이를 비트 맵(342 및 344)과 결합한다. 연산의 결과는 전송 키와 함께 키 유도 함수(324)와 동일한 키 파생 함수에 대한 입력으로서 공급된다. 따라서, 전술한 바와 같이, 버전 비트 맵이 철회 리스트의 버전과 일치하고, 필요한 능력, 장치 능력 및 철회된 능력 비트 맵(322, 342 및 344)이 일치하면, 연산의 결과는 키 생성을 위한 단계 320에서 사용된 필요한 능력 비트맵(322)와 동일하게 될 것이다. 결과적으로, 키 유도 함수(384)의 출력은 컨텐츠를 보호하기 위해 사용되는 정확한 보호 키로 된다. 불일치가 발생하는 경우 정확한 보호 키가 생성되지 않으므로 정확한 보호 키가 복구되지 않아 컨텐츠를 디스크램블링/처리할 수 없다. 컨텐츠를 디스크램블링하기 위해 또는 디스크램블링 키를 해독화하기 위해 부정확한 복구 키를 사용하려는 시도는 실패하여 컨텐츠의 소비가 방지된다.
셋톱 박스(310)는 도 2를 참조하여 설명된 바와 같이 격리된 실행 환경(202)을 구현할 수도 있고, 제어 메시지(208)의 컨텐츠와 격리된 실행 환경(202) 내에서 도 3a 및 도 3b에 도시된 바와 같이 변화되는 차이를 갖고 전술한 바와 같이 장치 인증서(206)와 철회 리스트를 전술한 바와 같이 처리한다.
TEE 또는 SE와 같은 격리된 실행 환경은 보안 이점을 제공하지만, 다른 실시예에서, 기술된 기능은 임의의 유형의 실행 환경, 예를 들어 풍부한 실행환경(REE:rich execution environment)에서 구현될 수 있다는 것을 이해해야 한다. 철회 리스트는 디스크램블링 메커니즘을 위한 활성화 메시지의 일부로서 자연적으로 제공될 수 있지만, 다른 실시예들에서 철회 리스트는 개별적으로 제공될 수 있거나 활성화 메시지가 사용될 수 없다는 것을 이해해야 한다. 도 2를 참조하여 설명된 예는 컨텐츠와 함께 수신된 ECM과 같은 제어 메시지를 사용하여 필요한 능력 및 버전 검증 정보를 전달하지만, 다른 메시지, 예를 들어 덜 빈번하게 전송되는 관리 메시지, 예를 들면 EMM과 같은 메시지가 사용될 수 있음을 이해해야 한다. 이 경우 및 다른 경우에서, 필요한 능력과 버전 확인 정보를 디스크램블링 키와 함께 제공하지 않고 디스크램블링 키를 해독하는 데 필요한 다른 해독 키 또는 컨텐츠를 디스크램블링하기 위해 더 자주 수신되는 CW와 함께 제공될 수 있다.
도 4를 참조하면, 도 1 내지 도 3을 참조하여 전술한 바와 같은 방법 및 격리된 실행 환경을 구현할 수있는 컨텐츠 소비 장치(400)는 하나 이상의 수신기 인터페이스(402)를 포함한다. 하나 이상의 수신기 인터페이스(402)는 디스크램블링 및 처리될 컨텐츠 및 (제어 및/또는 관리) 메시지를 수신하도록 구성된다. 메시지는 컨텐츠와 동일한 매체 또는 채널을 통해 수신될 수 있고 컨텐츠에 내장될 수 있으며, 이 경우 단일 수신기 인터페이스 만이 요구된다. 대안적으로, 메시지는 별도의 매체 또는 채널을 통해 수신될 수 있으며, 이 경우 전형적으로 별도의 개별 수신기 인터페이스로 구현된다. 수신기 인터페이스 또는 인터페이스들은 경우에 따라 무선 소스, 위성 소스 또는 케이블 소스로부터, 또는 인터넷을 통한 서버로부터 컨텐츠 및/또는 메시지를 수신하도록 구성될 수 있다. 컨텐츠는 비디오 스트림, 예를 들어 메시지가 내장되거나 개별적으로 전송될 수있는 MPEG-2 호환 비디오 스트림으로서 분배될 수 있다.
하나 이상의 수신기 인터페이스(402)에 의해 수신된 컨텐츠는 디멀티플렉서(404)에 의해 디멀티플렉싱(역다중화)되고, 디스크램블러(406)에 의해 디스크램블링되고 결과적인 비디오 프레임은 비디오 디코더(408)에 의해 처리되어 출력 인터페이스(410)를 통해 출력될 수 있다. 컨텐츠 소비 장치(400)가 예를 들어 셋톱 박스 또는 디스플레이 스크린이 없는 다른 장치인 경우 출력 인터페이스(410)는 HDMI 인터페이스와 같은 접속 인터페이스일 수 있다. 대안적으로 또는 부가적으로, 출력 인터페이스(410)는 통합 스마트 텔레비전에서와 같이 컨텐츠를 디스플레이하기 위한 디스플레이 스크린일 수 있다.
컨텐츠 소비 장치(400)의 메모리(412)는 휘발성 및 비휘발성 메모리, 예를 들어 RAM 및 ROM 또는 플래시 메모리 모두를 포함 할 수 있고, 활성화 메시지(204) 및 장치 인증서(206)를 저장하도록 구성된다. 특히, 장치 인증서(206)는 ROM에 제공될 수 있고 활성화 메시지(204)는 플래시 메모리에 제공될 수 있으며 하나 이상의 수신기 인터페이스(402)로부터 수신된 데이터에 의해 주기적으로 업데이트될 수 있다. 메모리(412)는 CW 테이블 또는 유사 메모리(210), 전형적으로 플래시 메모리 또는 기타 영구적인 쓰기가능 메모리, 또는 RAM에 저장한다.
격리된 실행 환경(202)은 보안 요소(414)로 구현되고 격리된 실행 환경(202)에 대해 전술한 기능을 구현하고 디스크램블링 키를 CW 테이블 또는 메모리(412) 내의 유사 메모리(210)에 기록하기 위해, 수신기 인터페이스(402)(또는 컨텐츠에 내장 된 메시지의 경우 디코더(404))로부터 메시지를 수신하도록 구성된다.
보안 요소는 소프트웨어 또는 하드웨어로 구현될 수 있고 일부 실시예에서 신뢰할 수있는 실행 환경으로 대체될 수 있는 것으로 이해되어야 한다. 일부 실시예에서, 보안 요소는 하드웨어로 구현되고, 컨텐츠 소비 장치(400)로부터 제거가능할 수 있으며, 예를 들어 보안 요소(414)는 예를 들어 직렬 포트에 의해 컨텐츠 소비 장치(400)의 나머지에 연결되는 스마트 카드 또는 기타 제거가능 장치로서 구현될 수 있다. 컨텐츠 처리 파이프 라인(디코더(404), 디스크램블러(406) 및 비디오 코더(408) 및 출력 인터페이스(410))의 세부 사항은 철회 리스트의 시행, 세분화 능력 철회 및/또는 버전 시행에 관한 본 발명의 핵심적인 요소가 아님을 이해해야 한다.
도 1 및 도 2를 참조하여 전술한 실시예는 철회되지 않은 능력 및 버전 일치성을 모두 검사하지만, 일부 실시예에서는 이들 검사 중 하나만이 수행될 수 있다. 예를 들어, 능력 철회에 의한 기능은 버전 검사 없이 구현되거나 능력 세분화 없이 전체 장치를 철회하지만 버전 요건을 강제하는 철회 메커니즘이 일부 실시예에서 사용될 수 있다. 일부 실시예들에서, 활성화 메시지의 버전 시행은 철회 리스트의 맥락을 넘어 애플리케이션을 발견하고, 철회 리스트를 포함하거나 포함하지 않을 수 있는 활성화 메시지에서 버전 요건을 강제하는데 사용될 수 있다.
일부 이러한 실시예는 대응하는 방법을 도시하는 도 5 및 도 6을 참조하여 설명된다. 이들 방법은 도 4를 참조하여 전술한 바와 같은 컨텐츠 소비 장치(400)에서, 도 2를 참조하여 전술한 바와 같은 관련 정보 흐름으로 구현될 수 있다는 것은 자명하다.
도 5를 참조하여, 컨텐츠 소비 장치의 디스크램블링 기능을 활성화하기 위한 활성화 메시지의 버전을 검증하는 방법이 설명된다. 단계 402에서, 활성화 메시지가 수신 및 인증되고, 성공적인 인증시, 예를 들어 전술한 바와 같이 단계 404에서 디스크램블링 기능이 활성화된다. 단계 406에서, 전술한 바와 같은 메시지, 예를 들어 EMM 또는 ECM, 또는 다른 메시지는 버전 검증 정보와 함께, 전술한 바와 같이 컨텐츠를 직접 또는 간접적으로 디스크램블링하는데 필요한 암호화된 해독 키와 함께 수신된다. 버전 검증 정보는 전술한 바와 같이 키와 함께 암호적으로 결합될 수 있다. 단계 408에서, 수신된 버전 검증 정보는 예를 들어 전술한 바와 같이, 매칭이 있는지 또는 활성화 메시지가 오래된 것인지 여부를 결정하기 위해 활성화 메시지의 버전을 검증하는데 사용된다. 판정이 긍정적이면, 단계 510에서 키의 사용이 가능하고, 그렇지 않으면 단계 512에서 키의 사용이 방지된다.
단계 508 내지 512는 버전 검증 및 버전 정보(적어도)에서 동작하는 단계 514의 실시예를 집합적으로 제공하여, 수신된 키가 컨텐츠에 액세스하기 위해 사용될 수 있는지, 특히 컨텐츠를 디스크램블링하거나 또는 예를 들어 아래에 더 상세히 설명되는 바와 같이 컨텐츠를 디스크램블링하기 위해 필요한 키를 해독하는데 사용될 수 있는지를 결정한다. 단계 514의 대안적인 실시예는 액세스를 금지할지 말지의 여부에 대한 명시적인 결정을 그 결과가 컨텐츠에 액세스하는 데 사용되는 오퍼레이션으로 대체한다. 결과적으로, 전술한 바와 같이, 능력 검증 정보와 철회 정보 간의 불일치로 인해 결과가 부정확한 경우 액세스는 실패된다.
키의 사용을 가능하게하고 방지하는 것은 도 1 내지 도 4와 관련하여 위에서 설명되었으며, 본 개시는 여기서 동일하게 적용가능하다. 당연하게, 활성화 메시지(204)는 철회 리스트를 포함할 필요가 없고 디스크램블링 기능을 활성화하는데 필요한 구성 정보 또는 키와 같은 정보를 대신하여 또는 추가적으로 포함할 수 있다는 것은 자명하다. 도 5를 참조하여 여기에 설명된 버전 제어는 철회 리스트에만 한정되지 않으므로 버전 정보는 활성화 메시지 자체와 연관된다. 부가적으로, 장치 인증서(206)는 이러한 실시예들에서 사용될 수 있거나 사용되지 않을 수 있으며, 이에 따라 제어 메시지(208)는 필요한 능력들을 특정할 필요가 없다.
일부 실시예에서, 철회된 능력의 세분화된 제어는 철회의 시행을 보장하고 및/또는 버전 정보를 확인하기 위해 특정 메커니즘과 무관하게 구현된다. 도 6을 참조하면, 이러한 실시예에서, 필요한 능력 정보는 단계 602에서 수신되고, 예를 들어 도 1 내지 도 4를 참조하여, 특히 단계 106를 참조하여 전술한 바와 같이, 제어 메시지(208)에 필요한 능력 정보가 포함된다. 그러나, 일부 이러한 실시예에서, 또는 다른 보안 수단이 없거나 사용되지 않는다. 단계 604에서, 컨텐츠와 함께 제어 메시지 또는 다른 방식으로, 또는 컨텐츠 제공자로부터의 임의의 다른 방식으로 수신되어진 필요한 능력은, 장치 능력, 철회 마스크 및 격리된 실행 환경(202)에서의 필요한 능력의 각각에 대한 비프 맵의 처리를 참조하여 예를 들어 위에서 언급한 바와 같이 철회되지 않은 장치 능력에 대해 검사된다. 단계 606에서, 단계 604에서의 검사 결과가 필요한 능력이 이용가능하다는 것을 나타내는지 여부가 결정되고, 그런 경우 단계 608에서 컨텐츠 소비(컨텐츠 처리)가 가능하다. 그렇지 않으면 단계 610에서 컨텐츠 소비가 방지된다. 단계 606 내지 608은 수신 된 키가 콘텐츠에 액세스하기 위해, 특히 콘텐츠를 디스크램블링하기 위해 또는 이하에 상세히 설명되는 바와 같이 콘텐츠를 디스크램블링하는데 필요한 키를 해독하기 위해 사용될 수 있는지 여부를 결정하기 위해 필요한 능력 및 철회 정보(적어도)에서 동작하는 단계 614의 실시예를 집합적으로 제공한다. 단계 614의 대안적인 실시예는 액세스를 금지할지 여부에 대한 명시적인 결정을 그 결과가 컨텐츠에 액세스하는 데 사용되는 동작으로 대체한다. 결과적으로, 예를 들어 전술한 바와 같이 능력 검증 정보와 철회 정보 사이의 불일치로 인해 결과가 부정확한 경우 액세스는 실패된다. 컨텐츠 소비의 활성화 또는 방지는 디스크램블링의 활성화 또는 방지, 예를 들어, 도 1 내지 도 4를 참조하여 전술한 바와 같이 특정 키 또는 키의 사용의 활성화 또는 방지에 기반할 수 있다.
도 7은 컴퓨팅 장치(700)로 하여금 본 발명에서 논의된 방법 중 임의의 하나 이상을 수행하도록 하는 명령어 세트가 실행될 수있는 컴퓨팅 장치(700)의 구현예의 블록도를 도시한다. 대안적인 구현예에서, 컴퓨팅 장치는 근거리 통신망(LAN), 인트라넷, 엑스트라넷 또는 인터넷의 다른 머신에 연결(예를 들어, 네트워크로 연결)될 수 있다. 컴퓨팅 장치는 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 머신의 용량으로 또는 피어 투 피어(또는 분산) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 컴퓨팅 장치는 개인용 컴퓨터(PC), 태블릿 컴퓨터, 셋톱 박스(STB), 개인 휴대 정보 단말기(PDA), 셀룰러 전화기, 웹 어플라이언스, 서버, 네트워크 라우터, 스위치 또는 브리지 또는 해당 머신이 수행할 행위를 지정하는 명령 세트(순차적 또는 다른 방식)를 실행할 수있는 임의의 머신일 수 있다. 또한, 하나의 컴퓨팅 장치만이 도시되어 있지만, "컴퓨팅 장치"라는 용어는 또한 본 발명에서 논의된 하나 이상의 방법을 수행하기 위한 명령어의 세트(또는 여러 세트)를 개별적으로 또는 공동으로 실행하는 머신의 임의의 집합으로 간주될 수 있다. 컴퓨팅 장치는 보안 요소가 내장되거나 포함하여 보안 요소가 내장되어진 컴퓨팅 장치의 다른 부분으로부터 격리된 보안 계산을 제공한다. 컴퓨팅 장치는 온칩 시스템일 수도 있다.
예시적인 컴퓨팅 장치(700)는 처리 장치(702), 메인 메모리(704)(예를 들어, ROM(read-only memory), 플래시 메모리, SDRAM(Synchronous DRAM) 또는 RRAMRAM(Rambus DRAM)와 같은 DRAM) 등), 정적 메모리(706)(예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등), 및 버스(640)를 통해 서로 통신하는 2 차 메모리(예를 들어, 데이터 저장 장치(718))를 포함한다.
처리 장치(702)는 마이크로 프로세서, 중앙 처리 장치 등과 같은 하나 이상의 범용 프로세서를 나타낸다. 보다 구체적으로, 처리 장치(702)는 복잡한 명령어 세트 컴퓨팅(CISC) 마이크로 프로세서, 축소 명령어 세트 컴퓨팅(RISC) 마이크로 프로세서, 매우 긴 명령어 워드(VLIW) 마이크로 프로세서, 다른 명령어 세트를 구현하는 프로세서, 또는 명령어 세트의 조합을 구현하는 프로세서일 수 있다. 처리 장치(702)는 또한 ASIC(application specific integrated circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 처리 장치일 수 있다. 처리 장치(702)는 본 명세서에서 논의된 동작 및 단계를 수행하기 위한 처리 로직(명령(722))을 실행하도록 구성된다.
컴퓨팅 장치(700)는 네트워크 인터페이스 장치(708)를 더 포함할 수 있다. 컴퓨팅 장치(700)는 또한 비디오 디스플레이 유닛(710)(예를 들어, 액정 디스플레이(LCD) 또는 음극선관(CRT)), 영숫자 입력 장치(712)(예를 들어, 키보드 또는 터치스크린), 커서 제어 장치(714)(예를 들어, 마우스 또는 터치스크린) 및 오디오 장치(716)(예를 들어, 스피커)를 포함 할 수 있다.
데이터 저장 장치(718)는 하나 이상의 머신 판독가능 저장 매체(또는 보다 구체적으로 하나 이상의 비일시적 컴퓨터 판독 가능 저장 매체)(728)를 포함 할 수 있으며, 본 발명에서 기술된 방법 또는 기능의 하나 이상을 채용한 명령어(722)의 하나 이상의 세트가 여기에 저장된다. 명령들(722)은 또한 컴퓨터 시스템(700)에 의한 실행동안 메인 메모리(704) 및/또는 처리 장치(702) 내에 완전히 또는 적어도 부분적으로 존재하고, 메인 메모리(704) 및 처리 장치(702)는 또한 컴퓨터 판독 가능 저장 매체를 구성한다.
예시적인 컴퓨팅 장치(700)는 전술한 방법을 구현하는 컨텐츠 소비 장치를 포함하거나 구현할 수 있다. 예를 들어, 컴퓨팅 장치(700)는 도 4를 참조하여 전술한 바와 같은 컨텐츠 소비 장치(400)를 포함하거나 구현할 수 있다.
전술한 다양한 방법들은 컴퓨터 프로그램에 의해 구현될 수 있다. 컴퓨터 프로그램은 컴퓨터로 하여금 전술한 다양한 방법들 중 하나 이상의 기능을 수행하도록 지시하도록 구성된 컴퓨터 코드를 포함할 수 있다. 컴퓨터 프로그램 및/또는 이러한 방법을 수행하기 위한 코드는 컴퓨터와 같은 장치, 하나 이상의 컴퓨터 판독 가능 매체, 또는 더 일반적으로는 컴퓨터 프로그램 제품에 제공될 수 있다. 컴퓨터 판독 가능 매체는 일시적이거나 비일시적일 수 있다. 하나 이상의 컴퓨터 판독가능 매체는 예를 들어 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 또는 데이터 전송을 위한, 예를 들어 인터넷을 통해 코드를 다운로드하기 위한 전파 매체일 수 있다. 대안적으로, 하나 이상의 컴퓨터 판독가능 매체는 반도체 또는 솔리드 스테이트 메모리, 자기 테이프, 이동식 컴퓨터 디스켓, 랜덤 액세스 메모리(RAM), 판독전용 메모리(ROM), 강성 자기 디스크 및 CD-ROM, CD-R/W 또는 DVD와 같은 광 디스크와 같dl 하나 이상의 물리적 컴퓨터 판독가능 매체의 형태를 취할 수 있다.
구현예에서, 본 발명에서 설명된 모듈, 컴포넌트 및 다른 특징은 이산 컴포넌트로서 구현되거나 ASICS, FPGA, DSP 또는 유사한 장치와 같은 하드웨어 컴포넌트의 기능에 통합될 수 있다.
"하드웨어 구성 요소"는 특정 동작을 수행 할 수 있는 유형의(예를 들어, 비 일시적인) 물리적 구성 요소(예를 들어, 하나 이상의 프로세서 세트)이며, 특정 물리적 방식으로 구성 또는 배열될 수 있다. 하드웨어 구성 요소는 특정 동작을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 구성 요소는 FPGA(Field Programmable Gate Array) 또는 ASIC과 같은 특수 목적 프로세서이거나 이를 포함할 수 있다. 하드웨어 구성 요소는 또한 특정 동작을 수행하기 위해 소프트웨어에 의해 일시적으로 구성되는 프로그램 가능 로직 또는 회로를 포함할 수 있다.
따라서, "하드웨어 구성 요소"라는 문구는 특정 방식으로 동작하거나 설명 된 특정 동작을 수행하기 위해 물리적으로 구성, 영구적으로 구성(예를 들어, 하드 와이어) 또는 일시적으로 구성(예를 들어, 프로그래밍)될 수있는 유형의 실체를 포함하는 것으로 이해되어야 한다.
또한, 모듈 및 구성 요소는 하드웨어 장치 내에서 펌웨어 또는 기능 회로로서 구현될 수 있다. 또한, 모듈 및 구성 요소는 하드웨어 장치 및 소프트웨어 구성 요소의 임의의 조합으로, 또는 소프트웨어(예를 들어, 기계 판독 가능 매체 또는 전송 매체에 저장되거나 다르게 구현된 코드)로만 구현 될 수 있다.
별도로 구체적으로 언급되지 않는 한, 다음의 논의로부터 명백한 바와 같이, 설명 전반에 걸쳐 "수신", "결정", "비교", "활성화", "유지", "식별", "컴퓨팅 ", "생성 ", "획득"과 같은 용어를 이용하는 논의는 컴퓨터 시스템의 레지스터 및 메모리 내에서 물리적(전자) 수량으로 표현된 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 정보 저장, 전송 또는 디스플레이 장치 내의 물리적 수량으로 유사하게 표현되는 다른 데이터로 조작 및 변환하는 컴퓨터 시스템 또는 유사 전자 계산 장치의 액션 및 처리로 언급된다.
상기 설명은 예시적인 것이며 본 발명이 이에 제한되지 않은 것으로 이해되어야한다. 전술한 설명을 읽고 이해하면 많은 다른 구현들이 가능하다는 것은 당업자에게 명백할 것이다. 본 발명은 특정 예시적인 구현을 참조하여 설명되었지만, 본 발명은 설명된 구현에 제한되지 않고 첨부된 청구 범위의 사상 및 범위 내에서 수정 및 변경으로 실시될 수 있음을 이해해야 한다. 따라서, 명세서 및 도면은 제한적인 의미보다는 예시적인 의미로 간주되어야한다. 그러므로, 본 발명의 범위는 그러한 청구 범위가 부여되는 등가물의 전체 범위와 함께 첨부된 청구 범위를 참조하여 결정되어야 한다.

Claims (15)

  1. 컨텐츠 소비 장치에서 철회 리스트를 시행(reforcing)하는 방법에 있어서,
    장치 인증서를 수신하고 인증하는 단계 - 상기 장치 인증서는 컨텐츠 소비 장치를 식별하는 장치 정보를 포함함 - ;
    하나 이상의 장치로부터 철회된 하나 이상의 개별 장치 능력을 식별하는 철회 리스트를 수신하고 인증하는 단계;
    장치 정보 및 철회 리스트를 사용하여 컨텐츠 소비 장치에 대한 철회된 능력을 식별하는 철회 정보를 결정하는 단계;
    능력 검증 정보 및 스크램블링된 컨텐츠의 디스크램블링을 가능하게 하는 데 필요한 해독 키를 포함하는 메시지를 수신하는 단계; 및
    컨텐츠 소비 장치가 컨텐츠가 컨텐츠의 디스크램블링을 가능하게 하기 위해 해독 키를 사용할 수 있는지를 결정하기 위해 능력 검증 정보 및 철회 정보에 오퍼레이션을 적용하는 단계를 포함하는 것을 특징으로 하는
    방법.
  2. 제1항에 있어서,
    상기 능력 검증 정보는 철회 리스트의 요구 버전을 나타내는 버전 검증 정보를 포함하고, 오퍼레이션을 적용하는 단계는 컨텐츠 소비 장치가 해독 키를 사용하여 컨텐츠에 액세스 할 수 있는지를 결정하기 위해, 상기 능력 검증 정보, 철회 정보 및 철회 리스트의 버전을 나타내는 버전 정보에 오퍼레이션을 적용하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 오퍼레이션을 적용하는 단계는 컨텐츠 소비 장치가 능력 검증 정보, 철회 정보를 사용하여 해독 키를 해독하는 것이 허용되지 않았는지를 결정하는 단계를 포함하고, 능력 검증 정보가 버전 검증 정보, 버전 정보를 포함하고, 상기 결정이 긍정인 경우, 해독 키의 사용을 방지하는 것을 특징으로 하는 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 오퍼레이션을 적용하는 단계는 해독 키, 능력 검증 정보, 철회 정보, 및 능력 검증 정보가 버전 검증 정보를 포함하는 경우 버전 정보를 조합함으로써 조합 키를 형성하는 단계;를 포함하고
    상기 방법은 컨텐츠를 디스크램블링하기 위해 또는 컨텐츠 디스크램블링을 위한 디스크램블링 키를 해독하기 위해 조합 키를 사용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 검증 정보와 상기 암호화 된 해독 키는 암호적으로 함께 결합되는 것을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 방법은 격리된 실행 환경에서 구현되고, 사용 방지 단계는 격리된 실행 환경 외부의 해독 키의 저장을 방지하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 철회 리스트는 상기 컨텐츠 소비 장치의 디스크램블링 기능을 활성화하기 위한 활성화 메시지와 함께 수신되고, 상기 철회 리스트를 인증하는 단계는 상기 활성화 메시지를 인증하는 단계를 포함하며, 상기 방법은 활성화 메시지 및 장치 인증서의 인증에 응답하여 컨텐츠 소비 장치의 컨텐츠 디스크램블링 기능을 활성화하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 메시지는 자격 관리 메시지이고, 상기 해독 키는 상기 스크램블링된 컨텐츠와 함께 수신된 암호화된 디스크램블링 키를 해독하기 위해 필요하고; 또는 상기 메시지는 자격 제어 메시지이고, 상기 해독 키는 디스크램블링 키인 것을 특징으로하는 방법.
  9. 컨텐츠 소비 장치에있어서,
    스크램블링된 컨텐츠 및 스크램블링된 컨텐츠의 디스크램블링을 가능하게 하는데 필요한 해독 키 및 능력 검증 정보를 포함하는 메시지를 수신하도록 구성된 하나 이상의 수신기 모듈;
    컨텐츠 소비 장치를 식별하는 장치 정보를 포함하는 장치 인증서 및 하나 이상의 장치로부터 철회되어진 하나 이상의 개별 장치 능력을 식별하는 철회 리스트를 저장하도록 구성된 메모리;
    철회 리스트를 시행하도록 구성된 처리 모듈을 포함하고,
    처리 모듈은,
    장치 인증서를 수신 및 인증하고;
    철회 리스트를 수신 및 인증하고;
    메시지를 수신하고;
    장치 정보 및 철회 리스트를 이용하여 컨텐츠 소비 장치에 대한 철회된 능력을 식별하는 철회 정보를 결정하고,
    컨텐츠 소비 장치가 컨텐츠를 디스크램블링하는 것을 가능하게 해독 키를 사용할 수 있는지를 결정하기 위해 능력 검증 정보 및 철회 정보에 오퍼레이션을 적용하도록 구성된 것을 특징으로 하는 컨텐츠 소비 장치.
  10. 제9항에 있어서,
    상기 능력 검증 정보는 상기 철회 리스트의 요구 버전을 나타내는 버전 검증 정보를 포함하고, 오퍼레이션을 적용하는 것은 컨텐츠 소비 장치가 해독 키를 사용하여 컨텐츠에 액세스 할 수 있는지를 결정하기 위해, 상기 능력 검증 정보, 철회 정보 및 철회 리스트의 버전을 나타내는 버전 정보에 오퍼레이션을 적용하는 것을 포함하는 것을 특징으로 하는 컨텐츠 소비 장치.
  11. 제9항 또는 제10항에 있어서,
    상기 오퍼레이션을 적용하는 것은 컨텐츠 소비 장치가 능력 검증 정보, 철회 정보를 사용하여 해독 키를 해독하는 것이 허용되지 않았는지를 결정하는 것을 포함하고, 능력 검증 정보가 버전 검증 정보, 버전 정보를 포함하고, 상기 결정이 긍정인 경우, 해독 키의 사용을 방지하는 것을 특징으로 하는 컨텐츠 소비 장치.
  12. 제9항 또는 제10항에 있어서,
    상기 오퍼레이션을 적용하는 것은 해독 키, 능력 검증 정보, 철회 정보, 및 능력 검증 정보가 버전 검증 정보를 포함하는 경우 버전 정보를 조합함으로써 조합 키를 형성하는 것을 포함하고
    상기 프로세서 모듈은 컨텐츠를 디스크램블링하기 위해 또는 컨텐츠 디스크램블링을 위한 디스크램블링 키를 해독하기 위해 조합 키를 사용하도록 구성된 것을 특징으로 하는 컨텐츠 소비 장치.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 검증 정보와 상기 암호화 된 해독 키는 암호적으로 함께 결합되는 것을 특징으로 하는 컨텐츠 소비 장치.
  14. 제9항 내지 제13항 중 어느 한 항에 있어서,
    격리된 실행 환경을 포함하고, 상기 프로세서 모듈은 격리된 실행 환경에서 구현되고, 사용 방지는 격리된 실행 환경 외부의 해독 키의 저장을 방지하는 것을 포함하는 컨텐츠 소비 장치.
  15. 제9항 내지 제14항 중 어느 한 항에 있어서,
    상기 철회 리스트는 상기 컨텐츠 소비 장치의 디스크램블링 기능을 활성화하기 위한 활성화 메시지의 일부로서 저장되고, 철회 메시지의 수신 및 인증은 활성 메시지의 인증을 수신하는 것을 포함하고, 프로세서 모듈은 활성화 메시지 및 옵션적으로 장치 인증서의 인증에 응답하여 컨텐츠 소비 장치의 컨텐츠 디스크램블링 기능을 활성화하도록 구성된 것을 특징으로 하는 컨텐츠 소비 장치.
KR1020207015325A 2017-12-01 2018-11-28 컨텐츠 소비 장치의 능력 철회 KR102707709B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17205022.1 2017-12-01
EP17205022.1A EP3493461A1 (en) 2017-12-01 2017-12-01 Capability revocation
PCT/EP2018/082781 WO2019105973A1 (en) 2017-12-01 2018-11-28 Capability revocation in a content consumption device

Publications (2)

Publication Number Publication Date
KR20200089683A true KR20200089683A (ko) 2020-07-27
KR102707709B1 KR102707709B1 (ko) 2024-09-19

Family

ID=

Also Published As

Publication number Publication date
US20210176078A1 (en) 2021-06-10
CN111566991B (zh) 2023-05-23
WO2019105973A1 (en) 2019-06-06
EP3718251A1 (en) 2020-10-07
CN111566991A (zh) 2020-08-21
EP3493461A1 (en) 2019-06-05
US11310061B2 (en) 2022-04-19

Similar Documents

Publication Publication Date Title
US8984302B2 (en) Information processing apparatus
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
US20140123320A1 (en) Processor, processor control method, and information processing device
US11451846B2 (en) Pre-entitlement enforcement
US20110197069A9 (en) Method and system for preventing revocation denial of service attacks
EP2161671A2 (en) Device with privileged memory and applications thereof
US11671637B2 (en) Content protection
US11436350B2 (en) Protecting media content
CN104303511A (zh) 具有多个解密模式的tv接收机
US11310061B2 (en) Capability revocation in a content consumption device
US9026800B2 (en) Method and system for allowing customer or third party testing of secure programmable code
KR102707709B1 (ko) 컨텐츠 소비 장치의 능력 철회
US8374338B2 (en) Transport packet decryption testing in a client device
WO2016088273A1 (ja) セキュリティ装置および制御方法
US9740834B2 (en) Usage rights information for protected content having two parts
US20080301472A1 (en) Method of encrypting and storing digital content using firmware regional code and apparatus therefor

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right