KR102190886B1 - Protection of Control Words in Conditional Access System - Google Patents

Protection of Control Words in Conditional Access System Download PDF

Info

Publication number
KR102190886B1
KR102190886B1 KR1020160090722A KR20160090722A KR102190886B1 KR 102190886 B1 KR102190886 B1 KR 102190886B1 KR 1020160090722 A KR1020160090722 A KR 1020160090722A KR 20160090722 A KR20160090722 A KR 20160090722A KR 102190886 B1 KR102190886 B1 KR 102190886B1
Authority
KR
South Korea
Prior art keywords
key
control word
link key
secure version
chipset
Prior art date
Application number
KR1020160090722A
Other languages
Korean (ko)
Other versions
KR20180007286A (en
Inventor
구한승
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US15/629,956 priority Critical patent/US10411900B2/en
Publication of KR20180007286A publication Critical patent/KR20180007286A/en
Application granted granted Critical
Publication of KR102190886B1 publication Critical patent/KR102190886B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/0861Generation of secret information including derivation or calculation 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 조건부 액세스 시스템의 컨트롤 워드 보호에 관한 것이다. 본 실시예의 일 측면에 의하면, 수신기의 칩셋에서, 콘텐트 전달 네트워크로부터 송신된 스크램블된(scrambled) 콘텐트를 디스크램블하기(descrambling) 위한 제어 워드(Control Word)를 안전하게 획득하기 위한 방법을 제공한다.The present invention relates to control word protection in conditional access systems. According to an aspect of the present embodiment, a method for safely obtaining a control word for descrambled content transmitted from a content delivery network in a chipset of a receiver is provided.

Figure R1020160090722
Figure R1020160090722

Description

조건부 액세스 시스템의 컨트롤 워드 보호{Protection of Control Words in Conditional Access System}Protection of Control Words in Conditional Access System

본 발명은 조건부 액세스 시스템(Conditional Access System)에 관한 것이다.The present invention relates to a conditional access system.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information on the present embodiment and does not constitute the prior art.

조건부 액세스 시스템은 콘텐트 전달 서비스의 다양한 형태들과 관련하여 널리 사용된다. 이러한 시스템은, 예를 들면, 콘텐트 전송 서비스를 지원하는 셋톱 박스 또는 모바일 단말기에 포함된 디지털 수신 장치에 콘텐트 스트림의 보안 전송을 제공한다. 권한없는 시청으로부터 콘텐트를 보호하기 위해, 상기 스트림의 데이터 패킷은 통상적으로 제어 워드(Control word)라고 불리는 무작위로 생성된 암호화 키로 스크램블링(암호화)된다. 스트림의 보안을 강화하기 위해, 제어 워드는 주기적으로 변경된다.Conditional access systems are widely used in connection with various types of content delivery services. Such a system provides secure transmission of a content stream to, for example, a digital receiving device included in a mobile terminal or a set-top box supporting a content delivery service. In order to protect the content from unauthorized viewing, the data packets of the stream are scrambled (encrypted) with randomly generated encryption keys, typically referred to as control words. To enhance the security of the stream, the control word is periodically changed.

전송 스트림에서 스크램블링된 데이터 패킷을 디-스크램블링하기 위해, 수신기는 제어 워드의 현재 값에 대해 통보받아야 한다. 제어 워드들의 보안 전송을 위해, 제어 워드들은 소위, 자격 제어 메시지(Entitlement Control Messages; ECMs)을 사용하여 암호화된 형태로 수신기에 전송된다. ECM들을 처리하기 위해, 자격 관리 메시지(Entitlement Management Messages; EMMs)는 ECM들의 복호화에 필요한 키들을 전송하고 관리한다. ECM과 EMM 정보 스트림들은 수신기에 전송되어, 수신기는, EMM과 ECM을 복호화하고, 자격있는 가입자에게 콘텐트를 디 스크램블링한다.In order to de-scramble the scrambled data packet in the transport stream, the receiver must be informed of the current value of the control word. For the secure transmission of control words, the control words are transmitted to the receiver in encrypted form using so-called entitlement control messages (ECMs). To process ECMs, Entitlement Management Messages (EMMs) transmit and manage keys required for decryption of ECMs. The ECM and EMM information streams are transmitted to the receiver, and the receiver decodes the EMM and ECM, and descrambles the content to a qualified subscriber.

컨텐트 공급자는 자신의 디지털 컨텐트를 암호화하고, 권한없는 접근으로부터 컨텐트를 보호하기 위해 컨텐트 보호 시스템을 사용한다. 이를 위해, 컨텐트 수신기는 하나 이상의 컨텐트 복호화 연산들을 구현한 칩셋을 포함한다. 암호화 키 수립 프로토콜(Cryptographic key establishment protocol)은 컨텐트 복호화 키들을 컨텐트 보호 시스템으로부터 컨텐트 수신기에 포함된 칩셋으로 보안전송하는 데 사용된다. 컨텐트 수신기의 칩셋 내에서 구현되는 암호화 키 수립 프로토콜의 일부 단계들은 보통 "Key ladder"라고 불린다. 이와 관련하여, ETSI(European Telecommunications Standards Institute)에서는 그룹 표준으로서 "Embedded Common Interface for exchangeable CA/DRM solutions (ECI)"에 관한 표준화를 논의하고 있다.Content providers encrypt their digital content and use a content protection system to protect the content from unauthorized access. To this end, the content receiver includes a chipset that implements one or more content decoding operations. Cryptographic key establishment protocol is used to securely transmit content decryption keys from a content protection system to a chipset included in a content receiver. Some of the steps of the encryption key establishment protocol implemented within the content receiver's chipset are commonly referred to as "key ladder". In this regard, ETSI (European Telecommunications Standards Institute) is discussing the standardization of "Embedded Common Interface for exchangeable CA/DRM solutions (ECI)" as a group standard.

본 실시예는, 조건부 액세스 시스템에서 컨트롤 워드 보호하는 프로토콜 또는 방법을 제공하는 데 주된 목적이 있다.The main object of the present embodiment is to provide a protocol or method for protecting a control word in a conditional access system.

본 실시예의 일 측면에 의하면, 수신기의 칩셋에서, 콘텐트 전달 네트워크로부터 송신된 스크램블된(scrambled) 콘텐트를 디스크램블하기(descrambling) 위한 제어 워드(CW)를 안전하게 획득하기 위한 방법을 제공한다. According to an aspect of the present embodiment, a method for safely acquiring a control word (CW) for descrambled content transmitted from a content delivery network in a chipset of a receiver is provided.

상기 방법은 상기 칩셋에 통신 가능하게 연결된 상기 수신기의 프로세서(210)로부터 링크 키(Link key; LK)의 보안 버전(Secured version)을 수신하는 과정을 포함한다. 상기 링크 키의 보안 버전은 상기 링크 키의 기밀성(Confidentiality)이 보호되도록 상기 칩셋과 관련된 공개 키(CPK)로 암호화된 것이며, 상기 링크 키의 진위성(Authenticity)이 보호되도록 송신자와 관련된 서명 키를 사용하여 서명된 것이다. The method includes receiving a secure version of a link key (LK) from the processor 210 of the receiver communicatively connected to the chipset. The secure version of the link key is encrypted with a public key (CPK) associated with the chipset to protect the confidentiality of the link key, and a signature key associated with the sender is used to protect the authenticity of the link key. And signed.

상기 방법은 상기 링크 키의 보안 버전으로부터 상기 링크 키(LK)를 획득하기 위해, 상기 칩셋과 관련된 비밀 키(CSK)와 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)를 사용하는 과정과, 상기 프로세서(210)로부터 프로비저닝 데이터(Provisioning data)의 보안 버전을 수신하는 과정을 더 포함한다. 상기 프로비저닝 데이터는 상기 제어 워드(CW)에 대한 사용 규칙 정보(Usage Rules Information; URI)를 정의하는 비트열(CW-URI)을 포함한다. 상기 프로비저닝 데이터의 보안 버전은 상기 프로비저닝 데이터의 진위성이 보호되도록, 상기 링크 키(LK) 또는 상기 링크 키로부터 파생된 키를 이용한 메시지 인증 코드(Message Authentication Code; MAC)가 부가된 것 혹은 상기 송신자와 관련된 서명 키(SSK)를 사용하여 서명된 것이다. The method is a process of using a secret key (CSK) associated with the chipset and a signature verification key (SPK) corresponding to the signing key (SSK) to obtain the link key (LK) from the secure version of the link key. And, receiving a secure version of provisioning data from the processor 210. The provisioning data includes a bit string (CW-URI) defining usage rule information (URI) for the control word CW. The security version of the provisioning data is a message authentication code (MAC) added using the link key (LK) or a key derived from the link key to protect the authenticity of the provisioning data, or the sender and It is signed using the associated signing key (SSK).

상기 방법은 상기 링크 키(LK) 혹은 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)를 사용하는 과정과, 상기 프로세서(210)로부터 가상의 제어 워드(r)의 보안 버전을 수신하는 과정과, 상기 가상의 제어 워드(r)의 보안 버전으로부터 가상의 제어 워드(r)을 획득하기 위해 상기 획득한 링크 키(LK)를 사용하는 과정을 더 포함한다. 상기 방법은, 입력으로부터, 상기 제어 워드(CW)를 생성하기 위해 암호화 함수(cryptographic function; h)를 사용하는 과정을 더 포함한다. 여기서 상기 입력은 상기 가상의 제어 워드(r), 상기 서명 검증 키(SPK), 및 상기 프로비저닝 데이터를 포함한다. The method includes a process of using a signature verification key (SPK) corresponding to the link key (LK) or the signing key (SSK), and receiving a secure version of a virtual control word (r) from the processor 210. The process further includes a process of using the obtained link key LK to obtain a virtual control word r from the secure version of the virtual control word r. The method further includes using, from an input, a cryptographic function (h) to generate the control word (CW). Here, the input includes the virtual control word (r), the signature verification key (SPK), and the provisioning data.

상기 방법의 실시예들은 다음의 특징들을 하나 이상 더 포함할 수 있다.Embodiments of the method may further include one or more of the following features.

일부 실시예에서, 상기 프로비저닝 데이터는 관련 데이터(Associated data)의 존부를 나타내는 비트열(τb)과 응용 데이터(Application Data)를 나타내는 비트열(AD)을 더 포함한다.In some embodiments, the provisioning data further includes a bit string τ b representing the presence or absence of associated data and a bit string AD representing application data.

일부 실시예에서, 상기 프로비저닝 데이터는, ⅰ) 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI), 및 ⅱ) 응용 데이터를 나타내는 비트열(AD) 중에서 적어도 하나를 "선택적으로" 포함하도록 구성되며, 상기 프로비저닝 데이터는 각 비트열들의 포함 여부를 나타내는 정의하는 비트열(flagb)을 더 포함한다.In some embodiments, the provisioning data includes at least one of i) a bit string (CW-URI) defining usage rule information for the control word (CW), and ii) a bit string (AD) representing application data. It is configured to include "optionally", and the provisioning data further includes a bit string (flag b ) defining whether each bit string is included.

일부 실시예에서, 상기 링크 키(LK)의 보안 버전은, ⅰ) 상기 칩셋과 관련된 고유의 칩셋 아이디(chipset-ID)와, ⅱ) 상기 칩셋과 관련된 공개 키(CPK)를 사용하여 암호화된 링크 키(LK)와, ⅲ) 상기 송신자와 관련된 서명 키를 사용하여 상기 칩셋 아이디 및 상기 암호화된 링크 키(LK)로부터 생성된 서명을 포함한다. In some embodiments, the secure version of the link key LK includes: i) a unique chipset-ID associated with the chipset, and ii) a link encrypted using a public key (CPK) associated with the chipset. A key LK and iii) a signature generated from the chipset ID and the encrypted link key LK using the signature key associated with the sender.

일부 실시예에서, 상기 링크 키(LK)의 획득하는 과정은, ⅰ) 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)를 사용하여 상기 서명을 검증하는 과정과, ⅱ) 상기 칩셋과 관련된 비밀 키(CSK)를 이용하여 상기 암호화된 링크 키(LK)를 복호화하는 과정을 포함한다.In some embodiments, the process of obtaining the link key LK includes: i) verifying the signature using a signature verification key (SPK) corresponding to the signature key (SSK), and ii) the chipset and It includes a process of decrypting the encrypted link key LK by using the related secret key CSK.

일부 실시예에서, 상기 방법은 상기 프로세서(210)로부터 복수의 서명 검증 키를 수신하는 과정과, 수신된 서명 검증 키들 중 하나를 이용하여, 상기 링크 키(LK)의 보안 버전에 포함된 서명을 검증하는 과정을 더 포함한다. 여기서, 각 서명 검증 키는 대응되는 조건부 접근/디지털 권리 관리 시스템에 관련된다. In some embodiments, the method includes a process of receiving a plurality of signature verification keys from the processor 210 and a signature included in the secure version of the link key LK by using one of the received signature verification keys. It further includes a verification process. Here, each signature verification key is associated with a corresponding conditional access/digital rights management system.

일부 실시예에서, 상기 방법은 상기 칩셋에 의해 수신된 가상의 제어 워드(r)의 보안 버전을 복호화하는 데 사용하기 위해 그리고 상기 프로비저닝 데이터의 보안 버전의 진위성을 검증하기 위해, 상기 칩셋이 상기 암호화된 링크 키(LK)로부터 획득한 링크 키(LK)를 저장하는 과정을 더 포함한다.In some embodiments, the method comprises the chipset for use in decrypting the secure version of the virtual control word r received by the chipset and to verify the authenticity of the secure version of the provisioning data. The process of storing the link key LK obtained from the obtained link key LK is further included.

일부 실시예에서, 상기 방법은 상기 저장된 링크 키(LK)를 이용하여 메시지 인증 코드가 상기 프로비저닝 데이터의 보안 버전에 부가된 메시지 인증 코드와 일치하는지 여부를 판단하는 과정을 더 포함한다. 만약 상기 저장된 링크 키(LK)를 이용하여 메시지 인증 코드가 상기 프로비저닝 데이터의 보안 버전에 부가된 메시지 인증 코드와 일치하지 않는다고 판단된 경우에, 상기 칩셋은 상기 가상의 제어 워드(r)의 보안 버전으로부터 가상의 제어 워드(r)을 획득하기 위해 상기 링크 키(LK)를 사용하지 않는다. In some embodiments, the method further includes determining whether a message authentication code matches a message authentication code added to the secure version of the provisioning data using the stored link key LK. If it is determined that the message authentication code does not match the message authentication code added to the secure version of the provisioning data using the stored link key LK, the chipset is the secure version of the virtual control word r. The link key LK is not used to obtain the virtual control word r from.

일부 실시예에서, 상기 프로비저닝 데이터는, ⅰ) 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI), 및 ⅱ) 응용 데이터를 나타내는 비트열(AD)를 포함한다. 상기 프로비저닝 데이터의 보안 버전은, 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI)에 상기 메시지 인증 코드가 부가된 제1 메시지와, 상기 응용 데이터를 나타내는 비트열(AD)에 상기 메시지 인증 코드가 부가된 제2 메시지를 포함한다. 대안적으로, 상기 프로비저닝 데이터의 보안 버전은, 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI)에 상기 송신자와 관련된 서명 키(SSK)를 이용한 서명이 부가된 제1메시지, 상기 응용 데이터를 나타내는 비트열(AD)에 상기 송신자와 관련된 서명 키(SSK)를 이용한 서명이 부가된 제2 메시지를 포함한다.In some embodiments, the provisioning data includes: i) a bit string (CW-URI) defining usage rule information for the control word (CW), and ii) a bit string (AD) representing application data. The secure version of the provisioning data includes a first message to which the message authentication code is added to a bit string (CW-URI) defining usage rule information for the control word CW, and a bit string representing the application data ( AD) includes a second message to which the message authentication code is added. Alternatively, in the secure version of the provisioning data, a signature using a signature key (SSK) associated with the sender is added to a bit string (CW-URI) defining usage rule information for the control word (CW). One message includes a second message to which a signature using a signature key (SSK) associated with the sender is added to the bit string AD indicating the application data.

일부 실시예에서, 상기 방법은 상기 프로세서(210)로부터 복수의 서명 검증 키를 수신하는 과정과, 수신된 서명 검증 키들 중에서, 상기 링크 키(LK)의 보안 버전의 진위성을 검증하는 데 사용된 서명 검증 키를 상기 암호화 함수(h)의 입력으로 제공하는 과정을 포함한다. 여기서, 각 서명 검증 키는 대응되는 조건부 접근/디지털 권리 관리 시스템에 관련된다.In some embodiments, the method includes a process of receiving a plurality of signature verification keys from the processor 210, and among the received signature verification keys, a signature used to verify the authenticity of the secure version of the link key LK. And providing a verification key as an input of the encryption function h. Here, each signature verification key is associated with a corresponding conditional access/digital rights management system.

상기 방법은 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.The method can be implemented as a computer-readable code stored in a computer-readable recording medium.

이상에서 설명한 바와 같이 본 실시예에 의하면, 조건부 액세스 시스템의 수신기의 칩셋이 콘텐트 전달 네트워크 내의 헤드엔드 시스템으로부터 제어 워드들을 안전하게 수신하는 것을 가능케 한다.As described above, according to this embodiment, it is possible for the chipset of the receiver of the conditional access system to safely receive control words from the headend system in the content delivery network.

도 1은 본 발명의 일 실시예에 따른 예시적인 시스템을 도식적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 컨텐트 수신기의 칩셋 내에서 수행되는 복호화 키 수립 방법을 도식적으로 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 Key ladder block에 구현되는 MAC 알고리즘을 도식적으로 나타낸 도면이다.
도 4a 내지 도 4d는 본 발명에 따른 컨텐트 수신기의 칩셋 내에서 수행되는 복호화 키 수립 방법의 다른 실시예들을 도식적으로 나타낸 도면들이다.
도 5는 본 발명의 일 실시예에 따른 컨텐트 수신기의 칩셋 내에서 수행되는 복호화 키 수립 방법을 도시한 흐름도이다.
1 is a schematic diagram of an exemplary system according to an embodiment of the present invention.
2 is a diagram schematically showing a method of establishing a decryption key performed in a chipset of a content receiver according to an embodiment of the present invention.
3 is a diagram schematically showing a MAC algorithm implemented in a key ladder block according to an embodiment of the present invention.
4A to 4D are diagrams schematically showing other embodiments of a method for establishing a decryption key performed in a chipset of a content receiver according to the present invention.
5 is a flowchart illustrating a method of establishing a decryption key performed in a chipset of a content receiver according to an embodiment of the present invention.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding reference numerals to elements of each drawing, it should be noted that the same elements are assigned the same numerals as possible even if they are indicated on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the subject matter of the present invention, a detailed description thereof will be omitted.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, in describing the constituent elements of the present invention, terms such as first, second, A, B, (a), (b) may be used. These terms are only used to distinguish the component from other components, and the nature, order, or order of the component is not limited by the term. Throughout the specification, when a part'includes' or'includes' a certain element, it means that other elements may be further included rather than excluding other elements unless otherwise stated. . In addition, the'... Terms such as'sub' and'module' mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software.

도 1은 본 발명의 일 실시예에 따른 예시적인 시스템을 도식적으로 도시한 도면이다. 시스템(7)은 분배 네트워크(6)를 통해 하나 이상의 컨텐트 수신기(2)와 통신하도록 배치된 헤드-엔드 시스템(4)을 포함한다. 1 is a schematic diagram of an exemplary system according to an embodiment of the present invention. The system 7 comprises a head-end system 4 arranged to communicate with one or more content receivers 2 via a distribution network 6.

컨텐트 공급자는 자신의 디지털 컨텐트를 암호화하고, 권한없는 접근으로부터 컨텐트를 보호하기 위해 헤드-엔드 시스템(4)을 사용한다. 헤드-엔드 시스템(4)은 하나 이상의 제어 워드(Control Word; CW)를 사용하여 스크램블링된 콘텐트 스트림(즉, {컨텐트}CW)을 분배 네트워트(6)을 통해 컨텐트 수신기(2)에 전송한다. 헤드-엔드 시스템(4)은 분배 네트워트(6)을 통해 암호화된 형태의 제어 워드들과 제어 워드의 복호화에 필요한 키들(이하 '디스크램블링 정보'라 칭함)을 전송하고 관리한다. 분배 네트워크(6)는 컨텐트 수신기(2)에 디스크램블링 정보와 스크램블링된 콘텐트 스트림을 전달하거나 방송하는 임의의 네트워크일 수 있다. 예를 들어, 분배 네트워크(6)은 케이블 네크워크, 위성 통신망, 지상파 방송 네트워크, 인터넷 등을 포함할 수 있다.Content providers encrypt their digital content and use the head-end system 4 to protect the content from unauthorized access. The head-end system 4 transmits the scrambled content stream (ie, {content} CW ) to the content receiver 2 through the distribution network 6 using one or more control words ( CW ). The head-end system 4 transmits and manages encrypted control words through the distribution network 6 and keys required for decryption of the control word (hereinafter referred to as'descrambling information'). The distribution network 6 may be any network that delivers or broadcasts the descrambling information and the scrambled content stream to the content receiver 2. For example, the distribution network 6 may include a cable network, a satellite communication network, a terrestrial broadcasting network, and the Internet.

스크램블링된 콘텐츠 스트림은 영상 데이터, 음성 데이터, 이미지 데이터, 텍스트 데이터, 어플리케이션/소프트웨어 데이터, 프로그램 가이드 데이터 등의 임의의 종류를 포함할 수 있다.The scrambled content stream may include any kind of video data, audio data, image data, text data, application/software data, program guide data, and the like.

컨텐트 수신기(2)는 디스크램블링 정보와 스크램블링한 콘텐트 스트림을 수신하는 임의의 클라이언트 장치일 수 있다. 예컨대, 컨텐트 수신기(2)는 셋톱 박스, 컨텐트 출력 장치(예컨대, TV, 라디오) 안에 통합된 수신기, 방송 서비스를 지원하는 모바일 단말기, 개인용 컴퓨터 등일 수 있다. 컨텐트 수신기(2)는 사용자에게 디스크램블링되고 디코딩된 컨텐트를 출력하거나 재생하는 장치(예컨대, 스크린, 스피커 등)를 포함하거나 이러한 장치에 통신적으로 연결될 수 있다.The content receiver 2 may be any client device that receives descrambling information and a scrambled content stream. For example, the content receiver 2 may be a set-top box, a receiver integrated in a content output device (eg, TV, radio), a mobile terminal supporting a broadcast service, a personal computer, or the like. The content receiver 2 may include or be communicatively connected to a device (eg, a screen, a speaker, etc.) for outputting or playing descrambled and decoded content to a user.

컨텐트 수신기(2)는 하나 이상의 컨텐트 복호화 연산들을 구현한 칩셋(chip set; 1)을 포함한다. 암호화 키 수립 프로토콜(Cryptographic key establishment protocol)은 컨텐트 복호화 키들을 헤드-엔드 시스템(4)으로부터 컨텐트 수신기(2)에 포함된 칩셋(1)으로 보안전송하는 데 사용된다. 컨텐트 수신기(2)는 도 2 및 도 3과 관련하여 기술된 방법을 사용한다. The content receiver 2 includes a chip set 1 that implements one or more content decoding operations. Cryptographic key establishment protocol is used to securely transmit content decryption keys from the head-end system 4 to the chipset 1 included in the content receiver 2. The content receiver 2 uses the method described in connection with FIGS. 2 and 3.

도 2는 본 발명의 일 실시예에 따른 컨텐트 수신기의 칩셋 내에서 수행되는 복호화 키 수립 방법을 도식적으로 나타낸 도면이다. 도 2에 도시된 방법은 컨텐트 수신기의 칩셋 내에서 구현되는 암호화 키 수립 프로토콜의 일부 단계들이며, 보통 "Key ladder"라고 불린다. 2 is a diagram schematically showing a method of establishing a decryption key performed in a chipset of a content receiver according to an embodiment of the present invention. The method shown in FIG. 2 is some steps of an encryption key establishment protocol implemented in a chipset of a content receiver, and is commonly referred to as a "key ladder".

칩셋에서 Key ladder를 구현하는 블록은 'Key ladder block'(210)으로 지칭된다. 칩셋은 고유 칩셋-아이디(chipset-ID; 221) 및 칩셋 비밀/개인 키(Chipset Secret/private Key; CSK; 223)로 개인화된다. chipset-ID와 CSK는 칩셋 내의 메모리 소자에 저장될 수 있다.A block implementing a key ladder in a chipset is referred to as a'key ladder block' 210. The chipset is personalized with a unique Chipset-ID (221) and a Chipset Secret/private Key (CSK) 223). The chipset-ID and CSK can be stored in memory devices within the chipset.

Key ladder block(220)의 출력들 중 하나는 CW로 표기된 제어 워드(Control Word)이다. 제어 워드는 컨텐트 복호화 및 컨텐트 암호화 중 하나에 사용된다. Key ladder block(220)의 제2 출력은 CW-URI로 표기된 비트열이다. CW-URI는 CW에 대한 사용 규칙 정보(Usage Rules Information; URI)를 정의한다. CW와 CW-URI는 컨텐트 디스크램블러(미도시)에 입력된다. CW-URI는 사전에 정의된 길이(예컨대, 64 비트)를 가지며, 각 비트는 왼쪽부터 오른쪽으로 번호(0부터 63까지)가 부여되어 있다. CW-URI의 값은, 도 6의 테이블과 같이, CW에 대한 허용된 용법(usage)을 정의한다. 비트의 값이 1이면 정의된 용도가 허용되고, 0이면 허용되지 않는다. 컨텐츠 디스크램블러는 수신된 CW-URI이 정의하는 용법에 따라 CW를 사용하도록 구현된다.One of the outputs of the key ladder block 220 is a control word marked CW. The control word is used for one of content decryption and content encryption. The second output of the key ladder block 220 is a bit string marked CW-URI. CW-URI defines Usage Rules Information (URI) for CW. CW and CW-URI are input to a content descrambler (not shown). The CW-URI has a predefined length (eg, 64 bits), and each bit is numbered from left to right (from 0 to 63). The value of CW-URI defines the allowed usage for CW, as in the table of FIG. 6. If the value of the bit is 1, the defined use is allowed, and if it is 0, it is not. The content descrambler is implemented to use the CW according to the usage defined by the received CW-URI.

Key ladder block(220)은 컨텐트 수신기의 프로세서(210)와 인터페이스한다. 예를 들어, 프로세서(210)는 보안 프로세서 또는 콘텐트 수신 장치의 CPU일 수 있다. 도 2에 도시된 바와 같이, 상기 프로세서(210)는 칩셋-아이디(221)에 읽기-접근을 가진다. 이는 컨텐트 공급자로 하여금, 칩셋을 식별하고, 인증 기관으로부터 칩셋 공개 키(Chipset Public Key; CPK)를 포함하는 공개 키 인증서를 획득할 수 있게 한다. 후술하는 바와 같이, CPK의 값은 입력 메시지들 중 하나를 계산하기 위해 Key ladder에게 공지되어야 한다.The key ladder block 220 interfaces with the processor 210 of the content receiver. For example, the processor 210 may be a security processor or a CPU of a content receiving device. As shown in FIG. 2, the processor 210 has read-access to the chipset-ID 221. This enables a content provider to identify a chipset and obtain a public key certificate including a Chipset Public Key (CPK) from an authentication authority. As described below, the value of CPK must be known to the key ladder in order to calculate one of the input messages.

키 쌍(CSK, CPK)는 공개 키 암호화 방식과 관련된다. 대응하는 암호화 및 복호화 연산은 각각 E 및 D(224)로 표기된다. E 및 D는 각각 두 개의 입력 즉, 키 입력 및 메시지 입력을 가진다. 본 명세서에서는 이들 연산의 제1입력이 키라고 가정한다. 예를 들어, 칩셋 공개 키(CPK)를 이용한 메시지 M의 암호화는 E(CPK, M)로 표기된다. The key pair (CSK, CPK) is associated with a public key encryption scheme. The corresponding encryption and decryption operations are denoted by E and D 224, respectively. E and D each have two inputs, a key input and a message input. In this specification, it is assumed that the first input of these operations is a key. For example, encryption of the message M using the chipset public key (CPK) is denoted as E(CPK, M).

Key ladder는 또한 전자 서명 방식을 사용한다. S 및 V(222)는 각각 서명 생성 연산 및 서명 검증 연산을 나타낸다. 전자 서명 방식의 키 쌍은 송신자와 관련되어 있으며, 송신자의 비밀/개인 키(SSK) 및 송신자의 공개 키(SPK)로 구성된다. 본 명세서에서 송신자는 콘텐트 보호 시스템이라고 가정한다. 도 2에 도시된 바와 같이, SPK1, SPK2, ..., SPKM(m ≥ 1)로 표기된 복수의 다른 SPK들이 Key ladder block(220)에 입력된다. 각 키 쌍(SSKi, SPKi)는 전형적으로 하나의 콘텐트 보호 시스템과 연관될 것이나, 하나의 키 쌍이 복수의 시스템 간에 공유될 수도 있다.The key ladder also uses an electronic signature method. S and V 222 represent a signature generation operation and a signature verification operation, respectively. The key pair of the electronic signature scheme is associated with the sender and consists of the sender's secret/private key (SSK) and the sender's public key (SPK). In this specification, it is assumed that the sender is a content protection system. As shown in FIG. 2, a plurality of different SPKs denoted as SPK 1 , SPK 2 , ..., SPK M (m ≥ 1) are input to the key ladder block 220. Each key pair (SSK i , SPK i ) will typically be associated with one content protection system, but one key pair may be shared among multiple systems.

SPK-URI는 SPK1, SPK2, ..., SPKM과 연관된다. Key ladder block(220)에 입력되는 SPK-URI는 SPK1, SPK2, ..., SPKM에 대한 사용 규칙 정보(Usage Rules Information; URI)를 정의한다. 도 2에 도시된 바와 같이, SPK들 중 하나와 검증 연산 V는 입력 메시지(chipset-ID || E(CPK, LK) || S(SSKi, chipset-ID || E(CPK, LK)))의 서명을 검증하는 데 사용된다. 도 2에는 'i = 2이고, 'SPK2가 서명의 검증을 위해 사용되는 것을 SPK-URI와 사용 규칙이 허용한다'고 가정하고 있다.SPK-URI is associated with SPK 1 , SPK 2 , ..., SPK M. The SPK-URI input to the key ladder block 220 defines usage rules information (URI) for SPK 1 , SPK 2 , ..., SPK M. As shown in Fig. 2, one of the SPKs and the verification operation V are input messages (chipset-ID || E(CPK, LK) || S(SSK i , chipset-ID || E(CPK, LK))). ) Is used to verify the signature. In FIG. 2, it is assumed that'i = 2, and SPK-URI and usage rules allow that SPK 2 is used for signature verification'.

Key ladder는 또한 대칭 암호화 방식을 구현한다. 이 방식의 암호화 및 복호화 연산은 각각 e 및 d(225)로 표시된다. Key ladder는 이 방식의 키로서 링크 키(link key; LK)를 사용하고, 메시지로서 난수 r을 사용한다. 난수 r은 비트열로 표현되며, 그 길이가 사전에 정의된 크기(예컨대, 128 비트)이다. 본 명세서에서는 난수 r을 '가상의 제어 워드'라고 지칭하기로 한다.The key ladder also implements a symmetric encryption scheme. Encryption and decryption operations of this method are denoted by e and d (225), respectively. The key ladder uses a link key (LK) as the key in this method, and a random number r as a message. The random number r is expressed as a bit string, and its length is a predefined size (eg, 128 bits). In this specification, the random number r will be referred to as a'virtual control word'.

Key ladder는 메시지 인증 코드(Message Authentication Code; MAC) 알고리즘을 구현한다. Key ladder는 이 방식의 키로서 상기 링크 키(LK) 또는 상기 링크 키로부터 파생된 키를 사용하고, 입력 메시지로서 CW-URI, 및 AD를 사용한다. mac의 출력은 기 설정된 길이의 태그 T이다. key ladder는 MAC알고리즘을 이용하여 key ladder block에 대한 입력의 일부(CW-URI, 및 AD)의 무결성 및 진위성을 보장한다. 도 2에서 'MAC'(226)으로 표기된 MAC 연산은 key ladder block에 입력되는 메시지(CW-URI || AD || T)의 태그(T)을 검증하는 데 사용된다. Key ladder block에 구현되는 MAC 연산(226)에 관한 상세한 설명은 도 3을 참조하여 후술한다. 본 명세서에서는, key ladder block에 대한 입력의 일부(CW-URI, 및 AD)를 '프로비저닝 데이터(Provisioning data)'라고 지칭하기로 한다. Key ladder implements the Message Authentication Code (MAC) algorithm. The key ladder uses the link key (LK) or a key derived from the link key as a key in this manner, and uses CW-URI, and AD as input messages. The output of mac is a tag T of a preset length. The key ladder guarantees the integrity and authenticity of some of the inputs (CW-URI, and AD) for the key ladder block by using the MAC algorithm. In FIG. 2, the MAC operation marked as'MAC' 226 is used to verify the tag (T) of the message (CW-URI || AD || T) input to the key ladder block. A detailed description of the MAC operation 226 implemented in the key ladder block will be described later with reference to FIG. 3. In this specification, some of the inputs to the key ladder block (CW-URI, and AD) will be referred to as'provisioning data'.

응용 데이터(Application Data; AD)는 그 길이가 사전에 정의되어 있다(예컨대, 256 비트). AD의 상세한 규격은 본 명세서의 범위 밖이며, 본 명세서에서는 key ladder block가 AD를 h의 입력으로 제공하는 것 외에는 AD를 처리하지 않는다고 가정한다. key ladder block은 콘텐트 디스크램블러에, CW-URI와 CW와 함께, AD 또는 AD의 일부를 전달할 수 있다.The length of the application data (AD) is defined in advance (eg, 256 bits). Detailed specifications of AD are outside the scope of this specification, and in this specification, it is assumed that the key ladder block does not process AD except for providing AD as an input of h. The key ladder block can deliver AD or part of AD, along with CW-URI and CW, to the content descrambler.

키 래더 블록은 다른 입력 τb는 그 길이가 사전에 정의되어 있다(예컨대, 8 비트). 비트열 τb의 값은 관련 데이터(Associated Data)의 존부를 나타낸다. 송신자는, 선택적으로, e(LKt, r)와 더불어 관련 데이터를 key ladder에 송신할 수 있다. τb의 정수 표현인 τ가 0인 경우, 관련 데이터는 존재하지 않는다. Key ladder blocks have different inputs τ b whose length is predefined (eg, 8 bits). The value of the bit string τ b indicates the presence or absence of associated data. The sender can, optionally, send e(LK t , r) as well as related data to the key ladder. When τ, which is an integer expression of τ b , is 0, related data does not exist.

마지막으로, 키 래더 블록은 함수 h(227)를 구현한다. 이 함수는 암호학적 해시 함수에 근거한다. Key ladder에서 h(227)의 입력은 CW-URI, τb, AD, SPK-URI, SPK1, SPK2, ..., SPKm 및 r이다. 만약 위 입력들이 Key ladder block(220)에 수신되지 않거나, 입력의 길이가 사전에 정의된 크기와 같지 않으면, Key ladder block(220)은 연산을 중단한다. 그렇지 않으면, 함수 h(227)는 먼저 SPK 입력들의 각각에 I2BSP 데이터 변환 프리미티브(Data conversion primitive)를 적용한다. 여기서, I2BSP 데이터 변환 프리미티브는 정수를 비트열로 변환하는 프리미티브이다. 예컨대, 함수 I2BSP(x)는 2048 비트의 정수인 x를 입력으로 하며, 길이 2048의 비트열을 출력한다. 다음으로, 함수 h는 메시지 M을 얻기 위해 다음과 같이 그 입력들을 나타내는 비트열들을 연접(concatenate)시킨다. Finally, the key ladder block implements the function h(227). This function is based on a cryptographic hash function. The input of h(227) in the key ladder is CW-URI, τb, AD, SPK-URI, SPK 1 , SPK 2 , ..., SPK m and r. If the above inputs are not received by the key ladder block 220, or the length of the input is not equal to a predefined size, the key ladder block 220 stops the operation. Otherwise, the function h 227 first applies an I2BSP data conversion primitive to each of the SPK inputs. Here, the I2BSP data conversion primitive is a primitive that converts an integer into a bit string. For example, the function I2BSP(x) inputs x, which is an integer of 2048 bits, and outputs a bit string having a length of 2048. Next, the function h concatenates the bit strings representing its inputs as follows to obtain the message M.

M = r || CW-URI || τb || AD || SPK-URI || I2BSP(SPK1) || I2BSP(SPK2) || ... || I2BSP(SPKm)M = r || CW-URI || τ b || AD || SPK-URI || I2BSP(SPK 1 ) || I2BSP(SPK 2 ) || ... || I2BSP(SPK m )

상기 입력들 각각은 그 길이가 사전에 정의되어 있다. 함수 h(227)는 사전에 정의된 해시 연산(예컨대, SHA-256(M))을 수행하고, 줄어든(truncated) 메시지 다이제스트(예컨대, 256 비트)를 컨텐트 디스크램블러에 전달한다. 만약 CW의 길이가 N 비트라면, 컨텐트 디스크램블러는 h(227)의 출력을 N 비트로 줄인다.Each of the above inputs has a predefined length. The function h 227 performs a predefined hash operation (eg, SHA-256(M)) and delivers a truncated message digest (eg, 256 bits) to the content descrambler. If the length of the CW is N bits, the content descrambler reduces the output of h (227) to N bits.

도 3은 본 발명의 일 실시예에 따른 Key ladder block에 구현되는 MAC 알고리즘을 도식적으로 나타낸 도면이다.3 is a diagram schematically showing a MAC algorithm implemented in a key ladder block according to an embodiment of the present invention.

MAC 알고리즘을 구현한 블록(266)은 링크 키(LK), 및 "CW-URI || AD || T'"를 입력받고, CW-URI 및 AD를 출력한다. MAC 키(MK')는 링크 키(LK)를 이용하여 128 비트의 비트열을 암호화함으로써 생성된다. 이 암호화 연산은 도 3에서 e(311)로 표기되어 있다. 도 3에 예시된 128 비트의 비트열은 127개의 '0' 비트와 1개의 '1'비트(가장 우측 비트)로 구성된다. 도 3에서 v(312)로 표기된 MAC 연산은 MAC 키로서 링크 키로부터 파생된 키(MK')를 사용하고, 입력 메시지로서 "CW-URI || AD || T'"를 사용한다. 태그 T'의 검증이 성공하면, v(312)는 CW-URI 및 AD를 출력한다. MAC 알고리즘에 관한 보다 구체적인 사항은 예컨대, ISO/IEC 9797-1: 2011: "Information technology - Security techniques - Message Authentication Codes (MACs) - Part 1: Mechanisms using a block cipher"에 기재되어 있다. The block 266 implementing the MAC algorithm receives the link key LK, and "CW-URI || AD || T'", and outputs CW-URI and AD. The MAC key MK' is generated by encrypting a 128-bit bit string using the link key LK. This encryption operation is denoted by e (311) in FIG. 3. The 128-bit bit string illustrated in FIG. 3 is composed of 127 '0' bits and one '1' bit (rightmost bit). In FIG. 3, a MAC operation denoted by v 312 uses a key (MK') derived from a link key as a MAC key, and uses "CW-URI || AD || T'" as an input message. If the verification of the tag T'is successful, v 312 outputs CW-URI and AD. More specific details about the MAC algorithm are described in, for example, ISO/IEC 9797-1: 2011: "Information technology-Security techniques-Message Authentication Codes (MACs)-Part 1: Mechanisms using a block cipher".

이하에서는 key ladder 연산들은 설명하기로 한다.In the following, key ladder operations will be described.

어느 키 쌍과 관련된 송신자는, 다음과 같은 단계들을 거쳐, 서명된 제1입력 메시지, 즉 (chipset-ID || E(CPK, LK) || S(SSKi, chipset-ID || E(CPK, LK)))를 생성할 수 있다. The sender associated with a key pair goes through the following steps, a signed first input message, i.e. (chipset-ID || E(CPK, LK) || S(SSK i , chipset-ID || E(CPK , LK))) can be created.

송신자 측 계산 Sender side calculation

1. 링크 키 LK를 생성1. Generate link key LK

2. 암호문 E(CPK, LK)을 계산2. Calculate the ciphertext E (CPK, LK)

3. chipset-ID와 E(CPK, LK)를 연접시킴; 연접된 비트 문자열은 (chipset-ID || E (CPK, LK))로 표기된다.3. Connect chipset-ID and E(CPK, LK); The concatenated bit string is denoted as (chipset-ID || E (CPK, LK)).

4. SSKi를 이용하여 비트열 (chipset-ID || E(CPK, LK))를 서명한다. 서명은 S(SSKi, chipset-ID || E(CPK, LK)))로 표기된다.4. Sign the bit string (chipset-ID || E(CPK, LK)) using SSKi. The signature is denoted as S(SSK i , chipset-ID || E(CPK, LK))).

5. 비트열 (chipset-ID || E(CPK, LK))에 상기 서명을 덧붙임5. Add the above signature to the bit string (chipset-ID || E(CPK, LK))

서명된 제1입력 메시지와 송신자의 공개 키 SPKi를 수신한 후, key ladder block은 LK를 생성하기 위해 다음과 같은 과정을 수행한다. 계산된 링크 키(LK)는 칩셋 내의 메모리 소자에 저장될 수 있다. After receiving the signed first input message and the sender's public key SPK i , the key ladder block performs the following process to generate LK. The calculated link key LK may be stored in a memory device in the chipset.

key ladder block 측 계산 Key ladder block side calculation

1. 수신된 chipset-ID가 저장된 chipset-ID와 동일한 지를 검증. 이 두 값이 동일하지 않은 경우, key ladder block은 연산을 중단한다. 1. Verify that the received chipset-ID is the same as the stored chipset-ID. If these two values are not the same, the key ladder block stops the operation.

2. SPK-URI 및 사용 규칙이 'V가 서명을 검증하기 위해 SPKi를 사용하는 것을 허용'하는 지를 확인한다. 만약 허용되지 않으면, key ladder block은 연산을 중단한다.2. Confirm that the SPK-URI and usage rules'allow V to use SPK i to verify signature'. If not allowed, the key ladder block stops the operation.

3. 서명을 검증하기 위해, 수신된 '서명된 제1입력 메시지'와 SPKi를 사용. 서명이 유효하지 않은 경우, key ladder block은 연산을 중단한다.3. Use the received'Signed First Input Message' and SPK i to verify the signature. If the signature is invalid, the key ladder block stops the operation.

4. LK = D(CSK, E (CPK, LK))를 계산4. Calculate LK = D(CSK, E (CPK, LK))

다음으로, key ladder block은 입력 메시지 e(LK, r)를 처리하기 위해 LK를 사용한다. 송신자는 다음과 같은 단계들을 이용하여 메시지 e(LK, r)를 생성한다.Next, the key ladder block uses LK to process the input message e(LK, r). The sender generates the message e(LK, r) using the following steps.

송신자 측 계산 Sender side calculation

1. 난수 비트열 r을 생성1. Generate random bit string r

2. e(LK, r) 계산2. Calculate e(LK, r)

e(LK, r)을 수신한 후 그리고 LK를 계산한 후, key ladder block은 다음의 단계들을 이용하여 r을 계산한다.After receiving e(LK, r) and calculating LK, the key ladder block calculates r using the following steps.

key ladder block 측 계산 Key ladder block side calculation

1. r = D(LK, e(LK, r))1.r = D(LK, e(LK, r))

다음으로, key ladder block은 MAC-태그 T'가 연접된 프로비저닝 데이터의 무결성을 검증하기 위해 상기 링크 키(LK) 또는 링크 키로부터 파생된 키를 MAC 키(MK')로서 사용한다. 이하의 예시된 연산은 링크 키(LK)로부터 파생된 키를 사용하는 것을 가정한다. 송신자는 다음의 단계들을 이용하여 태그 T'가 연접된 입력 메시지, 즉, CW-URI || AD || T'를 생성한다.Next, the key ladder block uses the link key (LK) or a key derived from the link key as the MAC key (MK') to verify the integrity of provisioning data to which the MAC-tag T'is connected. The following illustrated operation assumes that a key derived from the link key LK is used. The sender uses the following steps to create an input message concatenated with tag T', that is, CW-URI || AD || Create T'.

송신자 측 계산 Sender side calculation

1. MK' = e(LK, 0000...1) 계산1.Calculate MK' = e(LK, 0000...1)

2. T'= mac(MK', CW-URI || AD) 계산2. Calculate T'= mac(MK', CW-URI || AD)

3. 계산된 태그 T'를 비트열 CW-URI || AD에 연접3. The calculated tag T'is a bit string CW-URI || Connected to AD

메시지 "CW-URI || AD || T'"를 수신한 후, key ladder block은 다음 단계들을 이용하여 CW-URI || AD의 진위성을 검증한다.After receiving the message "CW-URI || AD || T'", the key ladder block is CW-URI || Verifies the authenticity of AD.

key ladder block 측 계산 Key ladder block side calculation

1. MK' = e(LK, 0000...1) 계산1.Calculate MK' = e(LK, 0000...1)

2. T' = mac(MK', CW-URI || AD) 계산2. Calculate T'= mac(MK', CW-URI || AD)

3. 수신된 T'와 계산된 T'가 동일한 지를 검증. 만약 이들 두 값이 동일하지 않으면, key ladder block은 계산을 중단한다.3. Verify that the received T'and the calculated T'are the same. If these two values are not the same, the key ladder block stops calculating.

4. 검증 통과하면 수신된 메시지로부터 CW-URI 및 AD를 검색하여 h로 전달4. If verification passes, CW-URI and AD are retrieved from the received message and delivered to h.

다음으로, key ladder block은 제어 워드 CW를 계산하기 위해 함수 h를 사용한다. 도 2에 도시된 바와 같이, h의 입력은 CW-URI, τb, AD, SPK-URI, SPK1, SPK2, ..., SPKm, 및 r이다. key ladder의 구현은 서명된 입력 메시지의 진위성을 검증하는 데 사용된 공개 키가, CW가 r로부터 파생될 때, SPK들 중 하나로서 h에 제공되는 것을 보증하여야 한다.Next, the key ladder block uses the function h to calculate the control word CW. As shown in FIG. 2, the inputs of h are CW-URI, τ b , AD, SPK-URI, SPK 1 , SPK 2 , ..., SPK m , and r. The implementation of the key ladder must ensure that the public key used to verify the authenticity of the signed input message is provided to h as one of the SPKs when CW is derived from r.

다음으로, key ladder block은 CW-URI와 CW를 컨텐트 디스크램블러에 전달한다.Next, the key ladder block delivers CW-URI and CW to the content descrambler.

전술한 바와 같이, key ladder block은 CW-URI, AD, τb, SPK-URL, SPKs, LK, Chipset-ID 등과 같이 다양한 종류의 입력들을 가진다. 여기서, LK, Chipset-ID와 같은 일부 입력은 암호화 및 전자서명 기법이 적용된 채로 송신자로부터 key ladder block에 전달된다. 또한, key ladder block에 대한 다른 일부 입력들(CW-URI, 및 AD)은 MAC 태그가 부가된 채로 송신자로부터 key ladder block에 전달된다. 반면, SPKs 및 SPK-URL는 그들의 본질적인 특성을 고려할 때, 어떠한 암호화 기법(cryptographic schemes)을 수반하지 않은 채 송신자로부터 key ladder block에 전달될 수 있다. 보호되지 않은 SPKs 혹은 SPK-URL에 부당조작(Tampering)이 발생하면 제어 워드(CW)가 생성되지 않으므로, SPKs 및 SPK-URL의 사용 자체만으로도 권한없는 시청으로부터 콘텐트를 보호하고자 하는 컨텐트 보호 시스템의 궁극적인 목적이 달성될 수 있음에 주목할 필요가 있다. 유사하게, τb도 관련 데이터(Associated Data)의 검증 루틴을 이용하여 검증될 수 있으므로, τb에 어떠한 인증 기법도 부가되지 않을 수 있다.As described above, the key ladder block has various types of inputs such as CW-URI, AD, τ b , SPK-URL, SPKs, LK, Chipset-ID, and the like. Here, some inputs such as LK and Chipset-ID are transmitted from the sender to the key ladder block with encryption and electronic signature techniques applied. Also, some other inputs to the key ladder block (CW-URI, and AD) are transmitted from the sender to the key ladder block with the MAC tag attached. On the other hand, SPKs and SPK-URLs can be transferred from the sender to the key ladder block without involving any cryptographic schemes, considering their intrinsic characteristics. If tampering occurs in unprotected SPKs or SPK-URL, the control word (CW) is not generated. Therefore, the ultimate content protection system to protect the content from unauthorized viewing by the use of SPKs and SPK-URL itself. It is worth noting that the phosphorus purpose can be achieved. Similarly, since τ b can also be verified using a verification routine of associated data, no authentication technique may be added to τ b .

도 4a 내지 도 4d는 본 발명에 따른 컨텐트 수신기의 칩셋 내에서 수행되는 복호화 키 수립 방법의 다른 실시예들을 도식적으로 나타낸 도면들이다. 4A to 4D are diagrams schematically showing other embodiments of a method for establishing a decryption key performed in a chipset of a content receiver according to the present invention.

도 2를 참조하여 설명한 Key ladder에서는, 프로비저닝 데이터가 CW-URI 및 AD를 포함하는 것을 전제하여 설명하였다. 이와 달리, CW-URI 및 AD 중 적어도 하나는 프로비저닝 데이터에의 포함 여부가 선택적일 수 있다. 또한, 도 2의 실시예에서는, CW-URI 및 AD의 진위성이 MAC 태그에 의해 보장되었다. 이와 달리, CW-URI와 AD는 링크 키(LK)와 유사한 방식(즉, SSK를 이용한 전자서명)으로 그 진위성이 보호될 수 있다. 이들 변형예들을 도 4a 내지 도 4d를 참조하여 설명하기로 한다.In the key ladder described with reference to FIG. 2, it has been described on the premise that provisioning data includes CW-URI and AD. Alternatively, at least one of the CW-URI and AD may be selectively included in provisioning data. In addition, in the embodiment of Fig. 2, the authenticity of the CW-URI and AD is guaranteed by the MAC tag. In contrast, the authenticity of the CW-URI and AD can be protected in a manner similar to the link key LK (ie, digital signature using SSK). These modified examples will be described with reference to FIGS. 4A to 4D.

도 4a를 참조하면, 예시적인 일부 실시예에서, 프로비저닝 데이터는 상기 2개의 인자들(CW-URI, 및 AD)을 선택적으로 포함하며, 이들 인자들의 포함 여부를 나타내는 플래그 flagb를 더 포함한다. 이 경우, 도 2의 'MAC'(226)으로 표기된 MAC 연산은 "flagb || CW-URI(선택적) || AD(선택적) || T'" 형태의 메시지에 포함된 태그(T')을 검증하는 데 사용된다. flagb은 그 길이가 사전에 정의되어 있는 비트열(예컨대, 8비트)이다. 예컨대, flagb의 가장 오른쪽 두 비트 값이 각각 CW-URI, 및 AD의 존재 유무를 의미하도록 지정될 수 있다. flagb 값이 '0000 011'이라면, 프로비저닝 데이터는 flagb, CW-URI, 및 AD가 연접된 비트열(예컨대, "flagb || CW-URI || AD")로 구성된다. flagb 값이 '0000 010'이라면, 프로비저닝 데이터는 flagb 및 CW-URI가 연접된 비트열(예컨대, "flagb || CW-URI")로 구성된다. Referring to FIG. 4A, in some exemplary embodiments, provisioning data selectively includes the two factors (CW-URI, and AD), and further includes a flag flag b indicating whether these factors are included. In this case, the MAC operation marked as'MAC' 226 in FIG. 2 is a tag (T') included in a message in the form of "flag b || CW-URI (optional) || AD (optional) || T'" Is used to verify. flag b is a bit string (eg, 8 bits) whose length is defined in advance. For example, the rightmost two bit values of flag b may be designated to indicate the presence or absence of CW-URI and AD, respectively. If the flag b value is '0000 011', the provisioning data consists of a flag b , a CW-URI, and a bit string to which AD is concatenated (eg, "flag b || CW-URI || AD"). If the flag b value is '0000 010', the provisioning data is composed of a bit string (eg, "flag b || CW-URI") to which the flag b and CW-URI are concatenated.

다른 실시예에서, CW-URI 및 AD는 각각 별개의 보안된 메시지로 전달될 수 있다. 도 4b를 참조하면, CW-URI의 보안 버전과 AD의 보안 버전이 Key ladder block에 입력된다. CW-URI의 보안 버전은 비트열 CW-URI에 기 설정된 길이의 MAC 태그(T')가 부가된 형태이다. AD의 보안 버전은 비트열 AD에 기 설정된 길이의 MAC 태그(T')가 부가된 형태이다. CW-URI의 보안 버전과 AD의 보안 버전은 각각 도 3에 예시된 MAC 연산에 의해 태그(T')가 검증된다.In another embodiment, the CW-URI and AD may each be delivered in separate secured messages. Referring to FIG. 4B, the security version of CW-URI and the security version of AD are input to the key ladder block. The security version of CW-URI is a form in which a MAC tag (T') of a preset length is added to the bit string CW-URI. The security version of AD is a form in which a MAC tag (T') of a preset length is added to the bit string AD. The security version of the CW-URI and the security version of the AD are each verified with a tag T'by the MAC operation illustrated in FIG. 3.

또 다른 실시예에서, 프로비저닝 데이터에는 SSKi를 이용한 서명이 부가된 형태로, 송신자로부터 key ladder block에 전달된다. 도 4c를 참조하면, 프로비저닝 데이터는, "flagb || CW-URI(선택적) || AD(선택적)" 형태로 구성된다(이는 도 4a와 동일함). 이러한 프로비저닝 데이터에는 SSKi를 이용한 서명 즉, S(SSki, flagb || CW-URI || AD)이 부가된 형태로, 송신자로부터 key ladder block에 전달된다. Key ladder block(220)에서는, SPK들 중 하나와 검증 연산 V을 이용하여, 입력 메시지(flagb || CW-URI || AD || S(SSki, flagb || CW-URI || AD))의 서명을 검증된다.In another embodiment, the provisioning data is transferred from the sender to the key ladder block in the form of appending a signature using SSK i . Referring to FIG. 4C, provisioning data is configured in the form of "flag b || CW-URI (optional) || AD (optional)" (this is the same as in FIG. 4A). This provisioning data is delivered to the key ladder block from the sender in the form of S(SSk i , flag b || CW-URI || AD) appended to the signature using SSK i . In the key ladder block 220, an input message (flag b || CW-URI || AD || S(SSk i , flag b || CW-URI || AD) is performed using one of the SPKs and the verification operation V. ))'S signature is verified.

또 다른 실시예에서, CW-URI 및 AD는 각각 별개의 보안된 메시지로 전달될 수 있다. 도 4d를 참조하면, CW-URI의 보안 버전과 AD의 보안 버전이 Key ladder block에 입력된다. CW-URI의 보안 버전은 비트열 CW-URI에 SSKi를 이용한 서명이 부가된 형태이다. AD의 보안 버전도 비트열 AD에 SSKi를 이용한 서명이 부가된 형태이다. Key ladder block(220)에서는, SPK들 중 하나와 검증 연산 V을 이용하여, 이들 보안 버전들에 포함된 서명을 검증된다. 검증이 성공하면, CW-URI 및 AD는 제어 워드 CW를 계산하기 위해 함수 h에 입력될 것이다.In another embodiment, the CW-URI and AD may each be delivered in separate secured messages. Referring to FIG. 4D, the security version of CW-URI and the security version of AD are input into the key ladder block. The security version of CW-URI is a form in which a signature using SSK i is added to the bit string CW-URI. The security version of AD is also in the form of adding a signature using SSK i to the bit string AD. In the key ladder block 220, the signature contained in these secure versions is verified using one of the SPKs and the verification operation V. If the verification is successful, CW-URI and AD will be entered into function h to calculate the control word CW.

도 5는 본 발명의 일 실시예에 따른 컨텐트 수신기의 칩셋 내에서 수행되는 복호화 키 수립 방법을 도시한 흐름도이다.5 is a flowchart illustrating a method of establishing a decryption key performed in a chipset of a content receiver according to an embodiment of the present invention.

수신기의 칩셋은 칩셋에 통신 가능하게 연결된 수신기의 프로세서(210)로부터 링크 키(Link key; LK)의 보안 버전(Secured version)을 수신한다(S510). 링크 키의 보안 버전은 링크 키의 기밀성(Confidentiality)이 보호되도록 칩셋과 관련된 공개 키(CPK)로 암호화된 것이며, 상기 링크 키의 진위성(Authenticity)이 보호되도록 송신자와 관련된 서명 키를 사용하여 서명된 것이다. 칩셋은 링크 키의 보안 버전으로부터 링크 키(LK)를 획득하기 위해, 저장된 칩셋 아이디(chipset-ID), 서명 키(SSK)에 대응되는 서명 검증 키(SPK), 및 칩셋과 관련된 비밀 키(CSK)를 사용한다(S520). 서명 검증이 실패하면 프로세스는 중단된다.The chipset of the receiver receives a secured version of a link key (LK) from the processor 210 of the receiver communicatively connected to the chipset (S510). The secure version of the link key is encrypted with a public key (CPK) associated with the chipset to protect the confidentiality of the link key, and is signed using a signing key associated with the sender to protect the authenticity of the link key. will be. In order to obtain the link key (LK) from the secure version of the link key, the chipset includes a stored chipset ID (chipset-ID), a signature verification key (SPK) corresponding to the signing key (SSK), and a secret key (CSK) associated with the chipset. ) Is used (S520). If signature verification fails, the process stops.

칩셋은 프로세서(210)로부터 프로비저닝 데이터의 보안 버전을 수신한다(S530). 프로비저닝 데이터는 상기 제어 워드(CW)에 대한 사용 규칙 정보(Usage Rules Information; URI)를 정의하는 비트열(CW-URI)을 포함한다. 또한, 프로비저닝 데이터는 응용 데이터(Application Data)를 나타내는 비트열 AD를 (선택적으로) 더 포함할 수 있다. 프로비저닝 데이터의 보안 버전은 프로비저닝 데이터의 진위성(Authenticity)이 보호되도록 링크 키(LK) 자체 또는 링크 키로부터 파생된 키를 이용한 메시지 인증 코드(Message Authentication Code; MAC)가 부가된 것일 수 있다. 칩셋은 프로비저닝 데이터의 보안 버전의 진위성을 검증하기 위해, S520 과정에서 얻은 링크 키(LK)를 이용한다(S540). 검증이 실패하면 프로세스는 중단된다.The chipset receives the secure version of the provisioning data from the processor 210 (S530). The provisioning data includes a bit string (CW-URI) defining usage rules information (URI) for the control word (CW). In addition, the provisioning data may (optionally) further include a bit string AD indicating application data. The secure version of the provisioning data may include a link key LK itself or a message authentication code (MAC) using a key derived from the link key to protect the authenticity of the provisioning data. The chipset uses the link key LK obtained in step S520 to verify the authenticity of the secure version of the provisioning data (S540). If verification fails, the process is aborted.

칩셋은 프로세서로부터 가상의 제어 워드(r)의 보안 버전을 수신하고(S550), 가상의 제어 워드(r)의 보안 버전으로부터 가상의 제어 워드(r)을 획득하기 위해 S520 과정에서 얻은 링크 키(LK)를 사용한다(S560). 가상의 제어 워드(r)의 보안 버전은 가상의 제어 워드(r)가 링크 키(LK)로 암호화된 것이다.The chipset receives the secure version of the virtual control word r from the processor (S550), and the link key obtained in the process S520 to obtain the virtual control word r from the secure version of the virtual control word r LK) is used (S560). The secure version of the virtual control word r is that the virtual control word r is encrypted with the link key LK.

칩셋은 입력으로부터 상기 제어 워드(CW)를 생성하기 위해 암호화 함수(cryptographic function; h)를 사용한다(S570). 여기서, 입력은 상기 가상의 제어 워드(r), 상기 서명 검증 키(SPK), 및 상기 프로비저닝 데이터를 포함한다. 입력은 관련 데이터(Associated data)의 존부를 나타내는 비트열 τb과 응용 데이터(Application Data)를 나타내는 비트열 AD을 더 포함할 수 있다. 만약 위 입력들이 Key ladder block에 수신되지 않거나, 입력의 길이가 사전에 정의된 크기와 같지 않으면, Key ladder block은 연산을 중단한다. The chipset uses a cryptographic function h to generate the control word CW from an input (S570). Here, the input includes the virtual control word (r), the signature verification key (SPK), and the provisioning data. The input may further include a bit string τ b representing the presence or absence of associated data and a bit string AD representing the application data. If the above inputs are not received by the key ladder block, or the length of the input is not the same as the predefined size, the key ladder block stops the operation.

도 5에서는 과정 S510 내지 과정 S570을 순차적으로 실행하는 것으로 기재하고 있으나, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 5에 기재된 순서를 변경하여 실행하거나 과정 S510 내지 과정 S570 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.In FIG. 5, it is described that processes S510 to S570 are sequentially executed, but those of ordinary skill in the art to which an embodiment of the present invention pertains to FIG. 5 without departing from the essential characteristics of an embodiment of the present invention. 3 is not limited to a time-series order because it may be applied by changing the order described in or executing one or more of the processes S510 to S570 in parallel.

한편, 도 5에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. Meanwhile, the processes shown in FIG. 5 can be implemented as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices that store data that can be read by a computer system. That is, the computer-readable recording medium is a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD-ROM, DVD, etc.), and carrier wave (e.g., Internet And storage media such as transmission through

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present embodiment, and those of ordinary skill in the technical field to which the present embodiment belongs will be able to make various modifications and variations without departing from the essential characteristics of the present embodiment. Accordingly, the present exemplary embodiments are not intended to limit the technical idea of the present exemplary embodiment, but are illustrative, and the scope of the technical idea of the present exemplary embodiment is not limited by these exemplary embodiments. The scope of protection of this embodiment should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present embodiment.

Claims (11)

제어 워드(CW)를 안전하게 획득하기 위한 방법에 있어서,
수신기의 프로세서로부터 링크 키(Link key; LK)의 보안 버전(Secured version)을 수신하는 과정;
상기 링크 키의 보안 버전으로부터 상기 링크 키(LK)를 획득하기 위해, 서명 키(SSK)에 대응되는 서명 검증 키(SPK)와, 비밀 키(CSK)를 사용하는 과정;
상기 프로세서로부터 프로비저닝 데이터(Provisioning data)의 보안 버전을 수신하는 과정;
상기 프로비저닝 데이터의 보안 버전의 진위성을 검증하기 위해, 획득된 상기 링크 키(LK) 또는 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)를 사용하는 과정;
상기 프로세서로부터 가상의 제어 워드(r)의 보안 버전을 수신하는 과정;
상기 가상의 제어 워드(r)의 보안 버전으로부터 가상의 제어 워드(r)을 획득하기 위해 상기 획득한 링크 키(LK)를 사용하는 과정; 및
입력으로부터, 상기 제어 워드(CW)를 생성하기 위해 암호화 함수(cryptographic function; h)를 사용하는 과정, 여기서 상기 입력은 상기 가상의 제어 워드(r), 상기 서명 검증 키(SPK), 및 상기 프로비저닝 데이터를 포함함;
을 포함하는, 제어 워드를 안전하게 획득하기 위한 방법.
In a method for safely obtaining a control word (CW),
Receiving a secure version of a link key (LK) from a processor of the receiver;
Using a signature verification key (SPK) and a secret key (CSK) corresponding to the signing key (SSK) to obtain the link key (LK) from the secure version of the link key;
Receiving a secure version of provisioning data from the processor;
Using the obtained link key (LK) or a signature verification key (SPK) corresponding to the signing key (SSK) to verify the authenticity of the secure version of the provisioning data;
Receiving a secure version of a virtual control word (r) from the processor;
Using the obtained link key LK to obtain a virtual control word r from the secure version of the virtual control word r; And
From an input, the process of using a cryptographic function (h) to generate the control word (CW), wherein the input is the virtual control word (r), the signature verification key (SPK), and the provisioning Contains data;
A method for safely obtaining a control word comprising a.
제1항에 있어서,
상기 링크 키(LK)의 보안 버전은,
상기 링크 키의 기밀성(Confidentiality)이 보호되도록 공개 키(CPK)로 암호화된 것이고, 상기 링크 키의 진위성(Authenticity)이 보호되도록 송신자와 관련된 상기 서명 키(SSK)를 사용하여 서명되어 획득된 것이고,
상기 링크 키(LK)의 보안 버전은,
ⅰ) 상기 수신기의 칩셋과 관련된 고유의 칩셋 아이디(chipset-ID)와, ⅱ) 상기 칩셋과 관련된 공개 키(CPK)를 사용하여 암호화된 링크 키(LK)와, ⅲ) 상기 송신자와 관련된 서명 키를 사용하여 상기 칩셋 아이디 및 상기 암호화된 링크 키(LK)로부터 생성된 서명을 포함하고,
상기 링크 키(LK)의 획득하는 과정은,
ⅰ) 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)를 사용하여 상기 서명을 검증하는 과정과, ⅱ) 상기 칩셋과 관련된 비밀 키(CSK)를 이용하여 상기 암호화된 링크 키(LK)를 복호화하는 과정을 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
The method of claim 1,
The secure version of the link key LK,
It is encrypted with a public key (CPK) to protect the confidentiality of the link key, and is obtained by being signed using the signing key (SSK) associated with the sender to protect the authenticity of the link key,
The secure version of the link key LK,
Ⅰ) a unique chipset ID (chipset-ID) related to the chipset of the receiver, ii) a link key (LK) encrypted using a public key (CPK) related to the chipset, and iii) a signature key related to the sender Including the signature generated from the chipset ID and the encrypted link key (LK) using,
The process of obtaining the link key LK,
I) the process of verifying the signature using a signature verification key (SPK) corresponding to the signature key (SSK), and ii) the encrypted link key (LK) using a secret key (CSK) associated with the chipset A method for safely acquiring a control word, characterized in that it comprises a process of decrypting a.
제2항에 있어서,
상기 프로세서로부터 복수의 서명 검증 키를 수신하는 과정, 각 서명 검증 키는 대응되는 조건부 접근/디지털 권리 관리 시스템에 관련됨; 및
수신된 서명 검증 키들 중 하나를 이용하여, 상기 링크 키(LK)의 보안 버전에 포함된 서명을 검증하는 과정을 더 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
The method of claim 2,
Receiving a plurality of signature verification keys from the processor, each signature verification key related to a corresponding conditional access/digital rights management system; And
And verifying a signature included in the secure version of the link key (LK) by using one of the received signature verification keys.
제2항에 있어서,
상기 칩셋에 의해 수신된 가상의 제어 워드(r)의 보안 버전을 복호화하는 데 사용하기 위해 그리고 상기 프로비저닝 데이터의 보안 버전의 진위성을 검증하기 위해, 상기 칩셋이 상기 암호화된 링크 키(LK)로부터 획득한 링크 키(LK)를 저장하는 과정을 더 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
The method of claim 2,
For use in decrypting the secure version of the virtual control word r received by the chipset and to verify the authenticity of the secure version of the provisioning data, the chipset is obtained from the encrypted link key LK A method for securely obtaining a control word, characterized in that it further comprises the process of storing one link key (LK).
제4항에 있어서,
상기 저장된 링크 키(LK)를 이용하여 메시지 인증 코드가 상기 프로비저닝 데이터의 보안 버전에 부가된 메시지 인증 코드와 일치하는지 여부를 판단하는 과정을 더 포함하고,
상기 저장된 링크 키(LK)를 이용하여 메시지 인증 코드가 상기 프로비저닝 데이터의 보안 버전에 부가된 메시지 인증 코드와 일치하지 않는다고 판단된 경우에, 상기 가상의 제어 워드(r)의 보안 버전으로부터 가상의 제어 워드(r)을 획득하기 위해 상기 링크 키(LK)를 사용하지 않는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
The method of claim 4,
Further comprising a process of determining whether a message authentication code matches a message authentication code added to the secure version of the provisioning data using the stored link key LK,
When it is determined that the message authentication code does not match the message authentication code added to the secure version of the provisioning data using the stored link key LK, virtual control from the secure version of the virtual control word r Method for securely obtaining a control word, characterized in that the link key (LK) is not used to obtain the word (r).
제1항에 있어서,
상기 프로세서로부터 복수의 서명 검증 키를 수신하는 과정, 각 서명 검증 키는 대응되는 조건부 접근/디지털 권리 관리 시스템에 관련됨; 및
수신된 서명 검증 키들 중에서, 상기 링크 키(LK)의 보안 버전의 진위성을 검증하는 데 사용된 서명 검증 키를 상기 암호화 함수(h)의 입력으로 제공하는 과정을 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
The method of claim 1,
Receiving a plurality of signature verification keys from the processor, each signature verification key related to a corresponding conditional access/digital rights management system; And
A control word comprising the process of providing a signature verification key used to verify authenticity of the secure version of the link key LK from among the received signature verification keys as an input of the encryption function h How to securely acquire
제1항에 있어서,
상기 프로비저닝 데이터의 보안 버전은,
상기 프로비저닝 데이터의 진위성이 보호되도록, 상기 링크 키(LK) 또는 상기 링크 키로부터 파생된 키를 이용한 메시지 인증 코드(Message Authentication Code; MAC)가 부가되거나, 상기 서명 키(SSK)를 사용하여 서명되어 획득되는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
The method of claim 1,
The secure version of the provisioning data,
In order to protect the authenticity of the provisioning data, a message authentication code (MAC) using the link key (LK) or a key derived from the link key is added or signed using the signing key (SSK). A method for safely obtaining a control word, characterized in that it is obtained.
제7항에 있어서,
상기 프로비저닝 데이터의 보안 버전은, 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI)에 상기 메시지 인증 코드가 부가된 제1 메시지와, 응용 데이터를 나타내는 비트열(AD)에 상기 메시지 인증 코드가 부가된 제2 메시지를 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
The method of claim 7,
The security version of the provisioning data includes a first message to which the message authentication code is added to a bit string (CW-URI) defining usage rule information for the control word (CW), and a bit string indicating application data (AD ), the second message to which the message authentication code is added.
제7항에 있어서,
상기 프로비저닝 데이터의 보안 버전은, 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI)에 상기 송신자와 관련된 서명 키(SSK)를 이용한 서명이 부가된 제1메시지, 응용 데이터를 나타내는 비트열(AD)에 상기 송신자와 관련된 서명 키(SSK)를 이용한 서명이 부가된 제2 메시지를 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
The method of claim 7,
The security version of the provisioning data is a first message in which a signature using a signature key (SSK) associated with the sender is added to a bit string (CW-URI) defining usage rule information for the control word (CW), A method for securely obtaining a control word, comprising a second message to which a signature using a signature key (SSK) associated with the sender is added to a bit string (AD) representing data.
제1항에 있어서,
상기 프로비저닝 데이터는, ⅰ) 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI), 및 ⅱ) 응용 데이터를 나타내는 비트열(AD) 중에서 적어도 하나를 선택적으로 포함하도록 구성되며,
상기 프로비저닝 데이터는 각 비트열들의 포함여부를 나타내는 정의하는 비트열(flagb)을 더 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
The method of claim 1,
The provisioning data is configured to selectively include at least one of i) a bit string (CW-URI) defining usage rule information for the control word (CW), and ii) a bit string (AD) representing application data. And
The provisioning data further comprises a bit string (flag b ) defining whether each bit string is included or not.
수신기의 칩셋에서 실행되기 위한 컴퓨터 프로그램 명령어들을 포함하는 컴퓨터 판독 가능한 기록매체로서,
상기 컴퓨터 프로그램 명령어들은
콘텐트 전달 네트워크로부터 송신된 스크램블된 콘텐트를 디스크램블하기 위한 제어 워드(CW)를 안전하게 획득하기 위한 방법을 수행하게 하는 명령어를 포함하고,
상기 제어 워드(CW)를 안전하게 획득하기 위한 방법은,
상기 수신기의 프로세서로부터 링크 키(Link key; LK)의 보안 버전(Secured version)을 수신하는 과정;
상기 링크 키의 보안 버전으로부터 상기 링크 키(LK)를 획득하기 위해, 서명 키(SSK)에 대응되는 서명 검증 키(SPK)와, 비밀 키(CSK)를 사용하는 과정;
상기 프로세서로부터 프로비저닝 데이터(Provisioning data)의 보안 버전을 수신하는 과정;
상기 프로비저닝 데이터의 보안 버전의 진위성을 검증하기 위해, 획득된 상기 링크 키(LK) 또는 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)를 사용하는 과정;
상기 프로세서로부터 가상의 제어 워드(r)의 보안 버전을 수신하는 과정;
상기 가상의 제어 워드(r)의 보안 버전으로부터 가상의 제어 워드(r)을 획득하기 위해 상기 획득한 링크 키(LK)를 사용하는 과정; 및
입력으로부터, 상기 제어 워드(CW)를 생성하기 위해 암호화 함수(cryptographic function; h)를 사용하는 과정, 여기서 상기 입력은 상기 가상의 제어 워드(r), 상기 서명 검증 키(SPK), 및 상기 프로비저닝 데이터를 포함함;
을 포함하는, 컴퓨터 판독 가능한 기록매체.
A computer-readable recording medium containing computer program instructions for execution on a chipset of a receiver,
The computer program instructions are
Including an instruction to perform a method for safely obtaining a control word (CW) for descrambled scrambled content transmitted from the content delivery network,
A method for safely obtaining the control word (CW),
Receiving a secure version of a link key (LK) from a processor of the receiver;
Using a signature verification key (SPK) and a secret key (CSK) corresponding to the signing key (SSK) to obtain the link key (LK) from the secure version of the link key;
Receiving a secure version of provisioning data from the processor;
Using the obtained link key (LK) or a signature verification key (SPK) corresponding to the signing key (SSK) to verify the authenticity of the secure version of the provisioning data;
Receiving a secure version of a virtual control word (r) from the processor;
Using the obtained link key LK to obtain a virtual control word r from the secure version of the virtual control word r; And
From an input, the process of using a cryptographic function (h) to generate the control word (CW), wherein the input is the virtual control word (r), the signature verification key (SPK), and the provisioning Contains data;
Containing, a computer-readable recording medium.
KR1020160090722A 2016-07-12 2016-07-18 Protection of Control Words in Conditional Access System KR102190886B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/629,956 US10411900B2 (en) 2016-07-12 2017-06-22 Control word protection method for conditional access system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160088202 2016-07-12
KR1020160088202 2016-07-12

Publications (2)

Publication Number Publication Date
KR20180007286A KR20180007286A (en) 2018-01-22
KR102190886B1 true KR102190886B1 (en) 2020-12-14

Family

ID=61094678

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160090722A KR102190886B1 (en) 2016-07-12 2016-07-18 Protection of Control Words in Conditional Access System

Country Status (1)

Country Link
KR (1) KR102190886B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100215171A1 (en) 2009-02-20 2010-08-26 General Instrument Corporation Transport packet decryption testing in a client device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2334069A1 (en) * 2009-12-11 2011-06-15 Irdeto Access B.V. Providing control words to a receiver
EP2461534A1 (en) * 2010-12-01 2012-06-06 Irdeto B.V. Control word protection
EP2487828A1 (en) * 2011-02-10 2012-08-15 Thomson Licensing Method and device for generating control words

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100215171A1 (en) 2009-02-20 2010-08-26 General Instrument Corporation Transport packet decryption testing in a client device

Also Published As

Publication number Publication date
KR20180007286A (en) 2018-01-22

Similar Documents

Publication Publication Date Title
EP2461539B1 (en) Control word protection
KR100966970B1 (en) Method of updating a revocation list of noncompliant keys, appliances or modules in a secure system for broadcasting content
US9479825B2 (en) Terminal based on conditional access technology
US8218772B2 (en) Secure multicast content delivery
US9402108B2 (en) Receiver software protection
CN102075812B (en) Data receiving method and system of digital television
KR20060087459A (en) Method for managing consumption of digital contents within a client domain and devices implementing this method
WO2011120901A1 (en) Secure descrambling of an audio / video data stream
JP2010157927A (en) Information communication method, communication terminal apparatus, and information communication system
KR100936458B1 (en) Device for processing and method for transmitting data encrypted for a first domain in a network belonging to a second domain
US10411900B2 (en) Control word protection method for conditional access system
KR101005844B1 (en) Conditional access system for ts packet processing based on memory card
KR102190886B1 (en) Protection of Control Words in Conditional Access System
KR101980928B1 (en) Method, cryptographic system and security module for descrambling content packets of a digital transport stream
KR100950422B1 (en) A source authentification method for ip tv system
JP2005020218A (en) License information transmission apparatus, license information transmission program, license information transmission method and license information receiver, license information reception program, and license information reception method
JP5132651B2 (en) License information transmitting apparatus and license information transmitting program
JP2008118708A (en) Terminal device, server device, and content distribution system
JP2007036625A (en) Content distribution method, content receiver, content transmitter and restricted receiving module
KR20110028784A (en) A method for processing digital contents and system thereof
KR20110101784A (en) An apparatus and method for content security in iptv service environment
JP2022114882A (en) Data issue device for privilege acquisition, privilege acquisition device, privilege issue device, and program for them
KR20080054751A (en) Apparatus and method for conditional access
JP2007036380A (en) Receiver, cas module and distribution method
JP5391315B2 (en) License information receiving apparatus, license information receiving program, and license information receiving method

Legal Events

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