KR20180007286A - 조건부 액세스 시스템의 컨트롤 워드 보호 - Google Patents

조건부 액세스 시스템의 컨트롤 워드 보호 Download PDF

Info

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

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)를 안전하게 획득하기 위한 방법을 제공한다.

Description

조건부 액세스 시스템의 컨트롤 워드 보호{Protection of Control Words in Conditional Access System}
본 발명은 조건부 액세스 시스템(Conditional Access System)에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
조건부 액세스 시스템은 콘텐트 전달 서비스의 다양한 형태들과 관련하여 널리 사용된다. 이러한 시스템은, 예를 들면, 콘텐트 전송 서비스를 지원하는 셋톱 박스 또는 모바일 단말기에 포함된 디지털 수신 장치에 콘텐트 스트림의 보안 전송을 제공한다. 권한없는 시청으로부터 콘텐트를 보호하기 위해, 상기 스트림의 데이터 패킷은 통상적으로 제어 워드(Control word)라고 불리는 무작위로 생성된 암호화 키로 스크램블링(암호화)된다. 스트림의 보안을 강화하기 위해, 제어 워드는 주기적으로 변경된다.
전송 스트림에서 스크램블링된 데이터 패킷을 디-스크램블링하기 위해, 수신기는 제어 워드의 현재 값에 대해 통보받아야 한다. 제어 워드들의 보안 전송을 위해, 제어 워드들은 소위, 자격 제어 메시지(Entitlement Control Messages; ECMs)을 사용하여 암호화된 형태로 수신기에 전송된다. ECM들을 처리하기 위해, 자격 관리 메시지(Entitlement Management Messages; EMMs)는 ECM들의 복호화에 필요한 키들을 전송하고 관리한다. ECM과 EMM 정보 스트림들은 수신기에 전송되어, 수신기는, EMM과 ECM을 복호화하고, 자격있는 가입자에게 콘텐트를 디 스크램블링한다.
컨텐트 공급자는 자신의 디지털 컨텐트를 암호화하고, 권한없는 접근으로부터 컨텐트를 보호하기 위해 컨텐트 보호 시스템을 사용한다. 이를 위해, 컨텐트 수신기는 하나 이상의 컨텐트 복호화 연산들을 구현한 칩셋을 포함한다. 암호화 키 수립 프로토콜(Cryptographic key establishment protocol)은 컨텐트 복호화 키들을 컨텐트 보호 시스템으로부터 컨텐트 수신기에 포함된 칩셋으로 보안전송하는 데 사용된다. 컨텐트 수신기의 칩셋 내에서 구현되는 암호화 키 수립 프로토콜의 일부 단계들은 보통 "Key ladder"라고 불린다. 이와 관련하여, ETSI(European Telecommunications Standards Institute)에서는 그룹 표준으로서 "Embedded Common Interface for exchangeable CA/DRM solutions (ECI)"에 관한 표준화를 논의하고 있다.
본 실시예는, 조건부 액세스 시스템에서 컨트롤 워드 보호하는 프로토콜 또는 방법을 제공하는 데 주된 목적이 있다.
본 실시예의 일 측면에 의하면, 수신기의 칩셋에서, 콘텐트 전달 네트워크로부터 송신된 스크램블된(scrambled) 콘텐트를 디스크램블하기(descrambling) 위한 제어 워드(CW)를 안전하게 획득하기 위한 방법을 제공한다.
상기 방법은 상기 칩셋에 통신 가능하게 연결된 상기 수신기의 프로세서(210)로부터 링크 키(Link key; LK)의 보안 버전(Secured version)을 수신하는 과정을 포함한다. 상기 링크 키의 보안 버전은 상기 링크 키의 기밀성(Confidentiality)이 보호되도록 상기 칩셋과 관련된 공개 키(CPK)로 암호화된 것이며, 상기 링크 키의 진위성(Authenticity)이 보호되도록 송신자와 관련된 서명 키를 사용하여 서명된 것이다.
상기 방법은 상기 링크 키의 보안 버전으로부터 상기 링크 키(LK)를 획득하기 위해, 상기 칩셋과 관련된 비밀 키(CSK)와 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)를 사용하는 과정과, 상기 프로세서(210)로부터 프로비저닝 데이터(Provisioning data)의 보안 버전을 수신하는 과정을 더 포함한다. 상기 프로비저닝 데이터는 상기 제어 워드(CW)에 대한 사용 규칙 정보(Usage Rules Information; URI)를 정의하는 비트열(CW-URI)을 포함한다. 상기 프로비저닝 데이터의 보안 버전은 상기 프로비저닝 데이터의 진위성이 보호되도록, 상기 링크 키(LK) 또는 상기 링크 키로부터 파생된 키를 이용한 메시지 인증 코드(Message Authentication Code; MAC)가 부가된 것 혹은 상기 송신자와 관련된 서명 키(SSK)를 사용하여 서명된 것이다.
상기 방법은 상기 링크 키(LK) 혹은 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)를 사용하는 과정과, 상기 프로세서(210)로부터 가상의 제어 워드(r)의 보안 버전을 수신하는 과정과, 상기 가상의 제어 워드(r)의 보안 버전으로부터 가상의 제어 워드(r)을 획득하기 위해 상기 획득한 링크 키(LK)를 사용하는 과정을 더 포함한다. 상기 방법은, 입력으로부터, 상기 제어 워드(CW)를 생성하기 위해 암호화 함수(cryptographic function; h)를 사용하는 과정을 더 포함한다. 여기서 상기 입력은 상기 가상의 제어 워드(r), 상기 서명 검증 키(SPK), 및 상기 프로비저닝 데이터를 포함한다.
상기 방법의 실시예들은 다음의 특징들을 하나 이상 더 포함할 수 있다.
일부 실시예에서, 상기 프로비저닝 데이터는 관련 데이터(Associated data)의 존부를 나타내는 비트열(τb)과 응용 데이터(Application Data)를 나타내는 비트열(AD)을 더 포함한다.
일부 실시예에서, 상기 프로비저닝 데이터는, ⅰ) 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI), 및 ⅱ) 응용 데이터를 나타내는 비트열(AD) 중에서 적어도 하나를 "선택적으로" 포함하도록 구성되며, 상기 프로비저닝 데이터는 각 비트열들의 포함 여부를 나타내는 정의하는 비트열(flagb)을 더 포함한다.
일부 실시예에서, 상기 링크 키(LK)의 보안 버전은, ⅰ) 상기 칩셋과 관련된 고유의 칩셋 아이디(chipset-ID)와, ⅱ) 상기 칩셋과 관련된 공개 키(CPK)를 사용하여 암호화된 링크 키(LK)와, ⅲ) 상기 송신자와 관련된 서명 키를 사용하여 상기 칩셋 아이디 및 상기 암호화된 링크 키(LK)로부터 생성된 서명을 포함한다.
일부 실시예에서, 상기 링크 키(LK)의 획득하는 과정은, ⅰ) 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)를 사용하여 상기 서명을 검증하는 과정과, ⅱ) 상기 칩셋과 관련된 비밀 키(CSK)를 이용하여 상기 암호화된 링크 키(LK)를 복호화하는 과정을 포함한다.
일부 실시예에서, 상기 방법은 상기 프로세서(210)로부터 복수의 서명 검증 키를 수신하는 과정과, 수신된 서명 검증 키들 중 하나를 이용하여, 상기 링크 키(LK)의 보안 버전에 포함된 서명을 검증하는 과정을 더 포함한다. 여기서, 각 서명 검증 키는 대응되는 조건부 접근/디지털 권리 관리 시스템에 관련된다.
일부 실시예에서, 상기 방법은 상기 칩셋에 의해 수신된 가상의 제어 워드(r)의 보안 버전을 복호화하는 데 사용하기 위해 그리고 상기 프로비저닝 데이터의 보안 버전의 진위성을 검증하기 위해, 상기 칩셋이 상기 암호화된 링크 키(LK)로부터 획득한 링크 키(LK)를 저장하는 과정을 더 포함한다.
일부 실시예에서, 상기 방법은 상기 저장된 링크 키(LK)를 이용하여 메시지 인증 코드가 상기 프로비저닝 데이터의 보안 버전에 부가된 메시지 인증 코드와 일치하는지 여부를 판단하는 과정을 더 포함한다. 만약 상기 저장된 링크 키(LK)를 이용하여 메시지 인증 코드가 상기 프로비저닝 데이터의 보안 버전에 부가된 메시지 인증 코드와 일치하지 않는다고 판단된 경우에, 상기 칩셋은 상기 가상의 제어 워드(r)의 보안 버전으로부터 가상의 제어 워드(r)을 획득하기 위해 상기 링크 키(LK)를 사용하지 않는다.
일부 실시예에서, 상기 프로비저닝 데이터는, ⅰ) 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI), 및 ⅱ) 응용 데이터를 나타내는 비트열(AD)를 포함한다. 상기 프로비저닝 데이터의 보안 버전은, 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI)에 상기 메시지 인증 코드가 부가된 제1 메시지와, 상기 응용 데이터를 나타내는 비트열(AD)에 상기 메시지 인증 코드가 부가된 제2 메시지를 포함한다. 대안적으로, 상기 프로비저닝 데이터의 보안 버전은, 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI)에 상기 송신자와 관련된 서명 키(SSK)를 이용한 서명이 부가된 제1메시지, 상기 응용 데이터를 나타내는 비트열(AD)에 상기 송신자와 관련된 서명 키(SSK)를 이용한 서명이 부가된 제2 메시지를 포함한다.
일부 실시예에서, 상기 방법은 상기 프로세서(210)로부터 복수의 서명 검증 키를 수신하는 과정과, 수신된 서명 검증 키들 중에서, 상기 링크 키(LK)의 보안 버전의 진위성을 검증하는 데 사용된 서명 검증 키를 상기 암호화 함수(h)의 입력으로 제공하는 과정을 포함한다. 여기서, 각 서명 검증 키는 대응되는 조건부 접근/디지털 권리 관리 시스템에 관련된다.
상기 방법은 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 조건부 액세스 시스템의 수신기의 칩셋이 콘텐트 전달 네트워크 내의 헤드엔드 시스템으로부터 제어 워드들을 안전하게 수신하는 것을 가능케 한다.
도 1은 본 발명의 일 실시예에 따른 예시적인 시스템을 도식적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 컨텐트 수신기의 칩셋 내에서 수행되는 복호화 키 수립 방법을 도식적으로 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 Key ladder block에 구현되는 MAC 알고리즘을 도식적으로 나타낸 도면이다.
도 4a 내지 도 4d는 본 발명에 따른 컨텐트 수신기의 칩셋 내에서 수행되는 복호화 키 수립 방법의 다른 실시예들을 도식적으로 나타낸 도면들이다.
도 5는 본 발명의 일 실시예에 따른 컨텐트 수신기의 칩셋 내에서 수행되는 복호화 키 수립 방법을 도시한 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른 예시적인 시스템을 도식적으로 도시한 도면이다. 시스템(7)은 분배 네트워크(6)를 통해 하나 이상의 컨텐트 수신기(2)와 통신하도록 배치된 헤드-엔드 시스템(4)을 포함한다.
컨텐트 공급자는 자신의 디지털 컨텐트를 암호화하고, 권한없는 접근으로부터 컨텐트를 보호하기 위해 헤드-엔드 시스템(4)을 사용한다. 헤드-엔드 시스템(4)은 하나 이상의 제어 워드(Control Word; CW)를 사용하여 스크램블링된 콘텐트 스트림(즉, {컨텐트}CW)을 분배 네트워트(6)을 통해 컨텐트 수신기(2)에 전송한다. 헤드-엔드 시스템(4)은 분배 네트워트(6)을 통해 암호화된 형태의 제어 워드들과 제어 워드의 복호화에 필요한 키들(이하 '디스크램블링 정보'라 칭함)을 전송하고 관리한다. 분배 네트워크(6)는 컨텐트 수신기(2)에 디스크램블링 정보와 스크램블링된 콘텐트 스트림을 전달하거나 방송하는 임의의 네트워크일 수 있다. 예를 들어, 분배 네트워크(6)은 케이블 네크워크, 위성 통신망, 지상파 방송 네트워크, 인터넷 등을 포함할 수 있다.
스크램블링된 콘텐츠 스트림은 영상 데이터, 음성 데이터, 이미지 데이터, 텍스트 데이터, 어플리케이션/소프트웨어 데이터, 프로그램 가이드 데이터 등의 임의의 종류를 포함할 수 있다.
컨텐트 수신기(2)는 디스크램블링 정보와 스크램블링한 콘텐트 스트림을 수신하는 임의의 클라이언트 장치일 수 있다. 예컨대, 컨텐트 수신기(2)는 셋톱 박스, 컨텐트 출력 장치(예컨대, TV, 라디오) 안에 통합된 수신기, 방송 서비스를 지원하는 모바일 단말기, 개인용 컴퓨터 등일 수 있다. 컨텐트 수신기(2)는 사용자에게 디스크램블링되고 디코딩된 컨텐트를 출력하거나 재생하는 장치(예컨대, 스크린, 스피커 등)를 포함하거나 이러한 장치에 통신적으로 연결될 수 있다.
컨텐트 수신기(2)는 하나 이상의 컨텐트 복호화 연산들을 구현한 칩셋(chip set; 1)을 포함한다. 암호화 키 수립 프로토콜(Cryptographic key establishment protocol)은 컨텐트 복호화 키들을 헤드-엔드 시스템(4)으로부터 컨텐트 수신기(2)에 포함된 칩셋(1)으로 보안전송하는 데 사용된다. 컨텐트 수신기(2)는 도 2 및 도 3과 관련하여 기술된 방법을 사용한다.
도 2는 본 발명의 일 실시예에 따른 컨텐트 수신기의 칩셋 내에서 수행되는 복호화 키 수립 방법을 도식적으로 나타낸 도면이다. 도 2에 도시된 방법은 컨텐트 수신기의 칩셋 내에서 구현되는 암호화 키 수립 프로토콜의 일부 단계들이며, 보통 "Key ladder"라고 불린다.
칩셋에서 Key ladder를 구현하는 블록은 'Key ladder block'(210)으로 지칭된다. 칩셋은 고유 칩셋-아이디(chipset-ID; 221) 및 칩셋 비밀/개인 키(Chipset Secret/private Key; CSK; 223)로 개인화된다. chipset-ID와 CSK는 칩셋 내의 메모리 소자에 저장될 수 있다.
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를 사용하도록 구현된다.
Key ladder block(220)은 컨텐트 수신기의 프로세서(210)와 인터페이스한다. 예를 들어, 프로세서(210)는 보안 프로세서 또는 콘텐트 수신 장치의 CPU일 수 있다. 도 2에 도시된 바와 같이, 상기 프로세서(210)는 칩셋-아이디(221)에 읽기-접근을 가진다. 이는 컨텐트 공급자로 하여금, 칩셋을 식별하고, 인증 기관으로부터 칩셋 공개 키(Chipset Public Key; CPK)를 포함하는 공개 키 인증서를 획득할 수 있게 한다. 후술하는 바와 같이, CPK의 값은 입력 메시지들 중 하나를 계산하기 위해 Key ladder에게 공지되어야 한다.
키 쌍(CSK, CPK)는 공개 키 암호화 방식과 관련된다. 대응하는 암호화 및 복호화 연산은 각각 E 및 D(224)로 표기된다. E 및 D는 각각 두 개의 입력 즉, 키 입력 및 메시지 입력을 가진다. 본 명세서에서는 이들 연산의 제1입력이 키라고 가정한다. 예를 들어, 칩셋 공개 키(CPK)를 이용한 메시지 M의 암호화는 E(CPK, M)로 표기된다.
Key ladder는 또한 전자 서명 방식을 사용한다. S 및 V(222)는 각각 서명 생성 연산 및 서명 검증 연산을 나타낸다. 전자 서명 방식의 키 쌍은 송신자와 관련되어 있으며, 송신자의 비밀/개인 키(SSK) 및 송신자의 공개 키(SPK)로 구성된다. 본 명세서에서 송신자는 콘텐트 보호 시스템이라고 가정한다. 도 2에 도시된 바와 같이, SPK1, SPK2, ..., SPKM(m ≥ 1)로 표기된 복수의 다른 SPK들이 Key ladder block(220)에 입력된다. 각 키 쌍(SSKi, SPKi)는 전형적으로 하나의 콘텐트 보호 시스템과 연관될 것이나, 하나의 키 쌍이 복수의 시스템 간에 공유될 수도 있다.
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와 사용 규칙이 허용한다'고 가정하고 있다.
Key ladder는 또한 대칭 암호화 방식을 구현한다. 이 방식의 암호화 및 복호화 연산은 각각 e 및 d(225)로 표시된다. Key ladder는 이 방식의 키로서 링크 키(link key; LK)를 사용하고, 메시지로서 난수 r을 사용한다. 난수 r은 비트열로 표현되며, 그 길이가 사전에 정의된 크기(예컨대, 128 비트)이다. 본 명세서에서는 난수 r을 '가상의 제어 워드'라고 지칭하기로 한다.
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)'라고 지칭하기로 한다.
응용 데이터(Application Data; AD)는 그 길이가 사전에 정의되어 있다(예컨대, 256 비트). AD의 상세한 규격은 본 명세서의 범위 밖이며, 본 명세서에서는 key ladder block가 AD를 h의 입력으로 제공하는 것 외에는 AD를 처리하지 않는다고 가정한다. key ladder block은 콘텐트 디스크램블러에, CW-URI와 CW와 함께, AD 또는 AD의 일부를 전달할 수 있다.
키 래더 블록은 다른 입력 τb는 그 길이가 사전에 정의되어 있다(예컨대, 8 비트). 비트열 τb의 값은 관련 데이터(Associated Data)의 존부를 나타낸다. 송신자는, 선택적으로, e(LKt, r)와 더불어 관련 데이터를 key ladder에 송신할 수 있다. τb의 정수 표현인 τ가 0인 경우, 관련 데이터는 존재하지 않는다.
마지막으로, 키 래더 블록은 함수 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)시킨다.
M = r || CW-URI || τb || AD || SPK-URI || I2BSP(SPK1) || I2BSP(SPK2) || ... || I2BSP(SPKm)
상기 입력들 각각은 그 길이가 사전에 정의되어 있다. 함수 h(227)는 사전에 정의된 해시 연산(예컨대, SHA-256(M))을 수행하고, 줄어든(truncated) 메시지 다이제스트(예컨대, 256 비트)를 컨텐트 디스크램블러에 전달한다. 만약 CW의 길이가 N 비트라면, 컨텐트 디스크램블러는 h(227)의 출력을 N 비트로 줄인다.
도 3은 본 발명의 일 실시예에 따른 Key ladder block에 구현되는 MAC 알고리즘을 도식적으로 나타낸 도면이다.
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"에 기재되어 있다.
이하에서는 key ladder 연산들은 설명하기로 한다.
어느 키 쌍과 관련된 송신자는, 다음과 같은 단계들을 거쳐, 서명된 제1입력 메시지, 즉 (chipset-ID || E(CPK, LK) || S(SSKi, chipset-ID || E(CPK, LK)))를 생성할 수 있다.
송신자 측 계산
1. 링크 키 LK를 생성
2. 암호문 E(CPK, LK)을 계산
3. chipset-ID와 E(CPK, LK)를 연접시킴; 연접된 비트 문자열은 (chipset-ID || E (CPK, LK))로 표기된다.
4. SSKi를 이용하여 비트열 (chipset-ID || E(CPK, LK))를 서명한다. 서명은 S(SSKi, chipset-ID || E(CPK, LK)))로 표기된다.
5. 비트열 (chipset-ID || E(CPK, LK))에 상기 서명을 덧붙임
서명된 제1입력 메시지와 송신자의 공개 키 SPKi를 수신한 후, key ladder block은 LK를 생성하기 위해 다음과 같은 과정을 수행한다. 계산된 링크 키(LK)는 칩셋 내의 메모리 소자에 저장될 수 있다.
key ladder block 측 계산
1. 수신된 chipset-ID가 저장된 chipset-ID와 동일한 지를 검증. 이 두 값이 동일하지 않은 경우, key ladder block은 연산을 중단한다.
2. SPK-URI 및 사용 규칙이 'V가 서명을 검증하기 위해 SPKi를 사용하는 것을 허용'하는 지를 확인한다. 만약 허용되지 않으면, key ladder block은 연산을 중단한다.
3. 서명을 검증하기 위해, 수신된 '서명된 제1입력 메시지'와 SPKi를 사용. 서명이 유효하지 않은 경우, key ladder block은 연산을 중단한다.
4. LK = D(CSK, E (CPK, LK))를 계산
다음으로, key ladder block은 입력 메시지 e(LK, r)를 처리하기 위해 LK를 사용한다. 송신자는 다음과 같은 단계들을 이용하여 메시지 e(LK, r)를 생성한다.
송신자 측 계산
1. 난수 비트열 r을 생성
2. e(LK, r) 계산
e(LK, r)을 수신한 후 그리고 LK를 계산한 후, key ladder block은 다음의 단계들을 이용하여 r을 계산한다.
key ladder block 측 계산
1. r = D(LK, e(LK, r))
다음으로, key ladder block은 MAC-태그 T'가 연접된 프로비저닝 데이터의 무결성을 검증하기 위해 상기 링크 키(LK) 또는 링크 키로부터 파생된 키를 MAC 키(MK')로서 사용한다. 이하의 예시된 연산은 링크 키(LK)로부터 파생된 키를 사용하는 것을 가정한다. 송신자는 다음의 단계들을 이용하여 태그 T'가 연접된 입력 메시지, 즉, CW-URI || AD || T'를 생성한다.
송신자 측 계산
1. MK' = e(LK, 0000...1) 계산
2. T'= mac(MK', CW-URI || AD) 계산
3. 계산된 태그 T'를 비트열 CW-URI || AD에 연접
메시지 "CW-URI || AD || T'"를 수신한 후, key ladder block은 다음 단계들을 이용하여 CW-URI || AD의 진위성을 검증한다.
key ladder block 측 계산
1. MK' = e(LK, 0000...1) 계산
2. T' = mac(MK', CW-URI || AD) 계산
3. 수신된 T'와 계산된 T'가 동일한 지를 검증. 만약 이들 두 값이 동일하지 않으면, key ladder block은 계산을 중단한다.
4. 검증 통과하면 수신된 메시지로부터 CW-URI 및 AD를 검색하여 h로 전달
다음으로, key ladder block은 제어 워드 CW를 계산하기 위해 함수 h를 사용한다. 도 2에 도시된 바와 같이, h의 입력은 CW-URI, τb, AD, SPK-URI, SPK1, SPK2, ..., SPKm, 및 r이다. key ladder의 구현은 서명된 입력 메시지의 진위성을 검증하는 데 사용된 공개 키가, CW가 r로부터 파생될 때, SPK들 중 하나로서 h에 제공되는 것을 보증하여야 한다.
다음으로, key ladder block은 CW-URI와 CW를 컨텐트 디스크램블러에 전달한다.
전술한 바와 같이, 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에 어떠한 인증 기법도 부가되지 않을 수 있다.
도 4a 내지 도 4d는 본 발명에 따른 컨텐트 수신기의 칩셋 내에서 수행되는 복호화 키 수립 방법의 다른 실시예들을 도식적으로 나타낸 도면들이다.
도 2를 참조하여 설명한 Key ladder에서는, 프로비저닝 데이터가 CW-URI 및 AD를 포함하는 것을 전제하여 설명하였다. 이와 달리, CW-URI 및 AD 중 적어도 하나는 프로비저닝 데이터에의 포함 여부가 선택적일 수 있다. 또한, 도 2의 실시예에서는, CW-URI 및 AD의 진위성이 MAC 태그에 의해 보장되었다. 이와 달리, CW-URI와 AD는 링크 키(LK)와 유사한 방식(즉, SSK를 이용한 전자서명)으로 그 진위성이 보호될 수 있다. 이들 변형예들을 도 4a 내지 도 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")로 구성된다.
다른 실시예에서, 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')가 검증된다.
또 다른 실시예에서, 프로비저닝 데이터에는 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))의 서명을 검증된다.
또 다른 실시예에서, 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에 입력될 것이다.
도 5는 본 발명의 일 실시예에 따른 컨텐트 수신기의 칩셋 내에서 수행되는 복호화 키 수립 방법을 도시한 흐름도이다.
수신기의 칩셋은 칩셋에 통신 가능하게 연결된 수신기의 프로세서(210)로부터 링크 키(Link key; LK)의 보안 버전(Secured version)을 수신한다(S510). 링크 키의 보안 버전은 링크 키의 기밀성(Confidentiality)이 보호되도록 칩셋과 관련된 공개 키(CPK)로 암호화된 것이며, 상기 링크 키의 진위성(Authenticity)이 보호되도록 송신자와 관련된 서명 키를 사용하여 서명된 것이다. 칩셋은 링크 키의 보안 버전으로부터 링크 키(LK)를 획득하기 위해, 저장된 칩셋 아이디(chipset-ID), 서명 키(SSK)에 대응되는 서명 검증 키(SPK), 및 칩셋과 관련된 비밀 키(CSK)를 사용한다(S520). 서명 검증이 실패하면 프로세스는 중단된다.
칩셋은 프로세서(210)로부터 프로비저닝 데이터의 보안 버전을 수신한다(S530). 프로비저닝 데이터는 상기 제어 워드(CW)에 대한 사용 규칙 정보(Usage Rules Information; URI)를 정의하는 비트열(CW-URI)을 포함한다. 또한, 프로비저닝 데이터는 응용 데이터(Application Data)를 나타내는 비트열 AD를 (선택적으로) 더 포함할 수 있다. 프로비저닝 데이터의 보안 버전은 프로비저닝 데이터의 진위성(Authenticity)이 보호되도록 링크 키(LK) 자체 또는 링크 키로부터 파생된 키를 이용한 메시지 인증 코드(Message Authentication Code; MAC)가 부가된 것일 수 있다. 칩셋은 프로비저닝 데이터의 보안 버전의 진위성을 검증하기 위해, S520 과정에서 얻은 링크 키(LK)를 이용한다(S540). 검증이 실패하면 프로세스는 중단된다.
칩셋은 프로세서로부터 가상의 제어 워드(r)의 보안 버전을 수신하고(S550), 가상의 제어 워드(r)의 보안 버전으로부터 가상의 제어 워드(r)을 획득하기 위해 S520 과정에서 얻은 링크 키(LK)를 사용한다(S560). 가상의 제어 워드(r)의 보안 버전은 가상의 제어 워드(r)가 링크 키(LK)로 암호화된 것이다.
칩셋은 입력으로부터 상기 제어 워드(CW)를 생성하기 위해 암호화 함수(cryptographic function; h)를 사용한다(S570). 여기서, 입력은 상기 가상의 제어 워드(r), 상기 서명 검증 키(SPK), 및 상기 프로비저닝 데이터를 포함한다. 입력은 관련 데이터(Associated data)의 존부를 나타내는 비트열 τb과 응용 데이터(Application Data)를 나타내는 비트열 AD을 더 포함할 수 있다. 만약 위 입력들이 Key ladder block에 수신되지 않거나, 입력의 길이가 사전에 정의된 크기와 같지 않으면, Key ladder block은 연산을 중단한다.
도 5에서는 과정 S510 내지 과정 S570을 순차적으로 실행하는 것으로 기재하고 있으나, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 5에 기재된 순서를 변경하여 실행하거나 과정 S510 내지 과정 S570 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.
한편, 도 5에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (11)

  1. 수신기의 칩셋에서, 콘텐트 전달 네트워크로부터 송신된 스크램블된(scrambled) 콘텐트를 디스크램블하기(descrambling) 위한 제어 워드(CW)를 안전하게 획득하기 위한 방법에 있어서,
    상기 칩셋에 통신 가능하게 연결된 상기 수신기의 프로세서로부터 링크 키(Link key; LK)의 보안 버전(Secured version)을 수신하는 과정, 상기 링크 키의 보안 버전은 상기 링크 키의 기밀성(Confidentiality)이 보호되도록 상기 칩셋과 관련된 공개 키(CPK)로 암호화된 것이며, 상기 링크 키의 진위성(Authenticity)이 보호되도록 송신자와 관련된 서명 키(SSK)를 사용하여 서명된 것임;
    상기 링크 키의 보안 버전으로부터 상기 링크 키(LK)를 획득하기 위해, 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)와 상기 칩셋과 관련된 비밀 키(CSK)를 사용하는 과정;
    상기 프로세서로부터 프로비저닝 데이터(Provisioning data)의 보안 버전을 수신하는 과정, 상기 프로비저닝 데이터는 상기 제어 워드(CW)에 대한 사용 규칙 정보(Usage Rules Information; URI)를 정의하는 비트열(CW-URI)를 포함하고, 상기 프로비저닝 데이터의 보안 버전은 상기 프로비저닝 데이터의 진위성이 보호되도록, 상기 링크 키(LK) 또는 상기 링크 키로부터 파생된 키를 이용한 메시지 인증 코드(Message Authentication Code; MAC)가 부가된 것 혹은 상기 송신자와 관련된 서명 키(SSK)를 사용하여 서명된 것임;
    상기 프로비저닝 데이터의 보안 버전의 진위성을 검증하기 위해, 상기 링크 키(LK) 혹은 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)를 사용하는 과정;
    상기 프로세서로부터 가상의 제어 워드(r)의 보안 버전을 수신하는 과정;
    상기 가상의 제어 워드(r)의 보안 버전으로부터 가상의 제어 워드(r)을 획득하기 위해 상기 획득한 링크 키(LK)를 사용하는 과정; 및
    입력으로부터, 상기 제어 워드(CW)를 생성하기 위해 암호화 함수(cryptographic function; h)를 사용하는 과정, 여기서 상기 입력은 상기 가상의 제어 워드(r), 상기 서명 검증 키(SPK), 및 상기 프로비저닝 데이터를 포함함;
    을 포함하는, 제어 워드를 안전하게 획득하기 위한 방법.
  2. 제1항에 있어서,
    상기 링크 키(LK)의 보안 버전은,
    ⅰ) 상기 칩셋과 관련된 고유의 칩셋 아이디(chipset-ID)와, ⅱ) 상기 칩셋과 관련된 공개 키(CPK)를 사용하여 암호화된 링크 키(LK)와, ⅲ) 상기 송신자와 관련된 서명 키를 사용하여 상기 칩셋 아이디 및 상기 암호화된 링크 키(LK)로부터 생성된 서명을 포함하고,
    상기 링크 키(LK)의 획득하는 과정은,
    ⅰ) 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)를 사용하여 상기 서명을 검증하는 과정과, ⅱ) 상기 칩셋과 관련된 비밀 키(CSK)를 이용하여 상기 암호화된 링크 키(LK)를 복호화하는 과정을 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
  3. 제2항에 있어서,
    상기 프로세서로부터 복수의 서명 검증 키를 수신하는 과정, 각 서명 검증 키는 대응되는 조건부 접근/디지털 권리 관리 시스템에 관련됨; 및
    수신된 서명 검증 키들 중 하나를 이용하여, 상기 링크 키(LK)의 보안 버전에 포함된 서명을 검증하는 과정을 더 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
  4. 제2항에 있어서,
    상기 칩셋에 의해 수신된 가상의 제어 워드(r)의 보안 버전을 복호화하는 데 사용하기 위해 그리고 상기 프로비저닝 데이터의 보안 버전의 진위성을 검증하기 위해, 상기 칩셋이 상기 암호화된 링크 키(LK)로부터 획득한 링크 키(LK)를 저장하는 과정을 더 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
  5. 제3항에 있어서,
    상기 저장된 링크 키(LK)를 이용하여 메시지 인증 코드가 상기 프로비저닝 데이터의 보안 버전에 부가된 메시지 인증 코드와 일치하는지 여부를 판단하는 과정을 더 포함하고,
    상기 저장된 링크 키(LK)를 이용하여 메시지 인증 코드가 상기 프로비저닝 데이터의 보안 버전에 부가된 메시지 인증 코드와 일치하지 않는다고 판단된 경우에, 상기 가상의 제어 워드(r)의 보안 버전으로부터 가상의 제어 워드(r)을 획득하기 위해 상기 링크 키(LK)를 사용하지 않는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
  6. 제1항에 있어서,
    상기 프로세서로부터 복수의 서명 검증 키를 수신하는 과정, 각 서명 검증 키는 대응되는 조건부 접근/디지털 권리 관리 시스템에 관련됨; 및
    수신된 서명 검증 키들 중에서, 상기 링크 키(LK)의 보안 버전의 진위성을 검증하는 데 사용된 서명 검증 키를 상기 암호화 함수(h)의 입력으로 제공하는 과정을 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
  7. 제1항에 있어서,
    상기 프로비저닝 데이터는,
    응용 데이터(Application Data)를 나타내는 비트열(AD)을 더 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
  8. 제7항에 있어서,
    상기 프로비저닝 데이터의 보안 버전은, 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI)에 상기 메시지 인증 코드가 부가된 제1 메시지와, 상기 응용 데이터를 나타내는 비트열(AD)에 상기 메시지 인증 코드가 부가된 제2 메시지를 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
  9. 제7항에 있어서,
    상기 프로비저닝 데이터의 보안 버전은, 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI)에 상기 송신자와 관련된 서명 키(SSK)를 이용한 서명이 부가된 제1메시지, 상기 응용 데이터를 나타내는 비트열(AD)에 상기 송신자와 관련된 서명 키(SSK)를 이용한 서명이 부가된 제2 메시지를 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
  10. 제1항에 있어서,
    상기 프로비저닝 데이터는, ⅰ) 상기 제어 워드(CW)에 대한 사용 규칙 정보를 정의하는 비트열(CW-URI), 및 ⅱ) 응용 데이터를 나타내는 비트열(AD) 중에서 적어도 하나를 선택적으로 포함하도록 구성되며,
    상기 프로비저닝 데이터는 각 비트열들의 포함여부를 나타내는 정의하는 비트열(flagb)을 더 포함하는 것을 특징으로 하는, 제어 워드를 안전하게 획득하기 위한 방법.
  11. 컴퓨터 프로그램 명령어들을 포함하는 컴퓨터 판독 가능한 기록매체로서, 수신기의 칩셋에 의해 실행되는 경우에 상기 칩셋으로 하여금 콘텐트 전달 네트워크로부터 송신된 스크램블된 콘텐트를 디스크램블하기 위한 제어 워드(CW)를 안전하게 획득하기 위한 방법을 수행하게 하는 명령어를 포함하고, 상기 방법은,
    상기 칩셋에 통신 가능하게 연결된 상기 수신기의 프로세서로부터 링크 키(Link key; LK)의 보안 버전(Secured version)을 수신하는 과정, 상기 링크 키의 보안 버전은 상기 링크 키의 기밀성(Confidentiality)이 보호되도록 상기 칩셋과 관련된 공개 키(CPK)로 암호화된 것이며, 상기 링크 키의 진위성(Authenticity)이 보호되도록 송신자와 관련된 서명 키(SSK)를 사용하여 서명된 것임;
    상기 링크 키의 보안 버전으로부터 상기 링크 키(LK)를 획득하기 위해, 상기 서명 키(SSK)에 대응되는 서명 검증 키(SPK)와 상기 칩셋과 관련된 비밀 키(CSK)를 사용하는 과정;
    상기 프로세서로부터 프로비저닝 데이터(Provisioning data)의 보안 버전을 수신하는 과정, 상기 프로비저닝 데이터는 상기 제어 워드(CW)에 대한 사용 규칙 정보(Usage Rules Information; URI)를 정의하는 비트열(CW-URI)를 포함하고, 상기 프로비저닝 데이터의 보안 버전은 상기 프로비저닝 데이터의 진위성이 보호되도록, 상기 링크 키(LK) 또는 상기 링크 키로부터 파생된 키를 이용한 메시지 인증 코드(Message Authentication Code; MAC)가 부가된 것 혹은 상기 송신자와 관련된 서명 키(SSK)를 사용하여 서명된 것임;
    상기 프로비저닝 데이터의 보안 버전의 진위성을 검증하기 위해, 상기 링크 키(LK)를 이용하는 과정;
    상기 프로세서로부터 가상의 제어 워드(r)의 보안 버전을 수신하는 과정;
    상기 가상의 제어 워드(r)의 보안 버전으로부터 가상의 제어 워드(r)을 획득하기 위해 상기 획득한 링크 키(LK)를 사용하는 과정; 및
    입력으로부터, 상기 제어 워드(CW)를 생성하기 위해 암호화 함수(cryptographic function; h)를 사용하는 과정, 여기서 상기 입력은 상기 가상의 제어 워드(r), 상기 서명 검증 키(SPK), 및 상기 프로비저닝 데이터를 포함함;
    포함하는 것을 특징으로 하는, 컴퓨터 판독 가능한 기록매체.
KR1020160090722A 2016-07-12 2016-07-18 조건부 액세스 시스템의 컨트롤 워드 보호 KR102190886B1 (ko)

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 true KR20180007286A (ko) 2018-01-22
KR102190886B1 KR102190886B1 (ko) 2020-12-14

Family

ID=61094678

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160090722A KR102190886B1 (ko) 2016-07-12 2016-07-18 조건부 액세스 시스템의 컨트롤 워드 보호

Country Status (1)

Country Link
KR (1) KR102190886B1 (ko)

Citations (4)

* 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
KR20110066871A (ko) * 2009-12-11 2011-06-17 이르데토 비.브이. 수신기로의 제어 워드들의 제공
KR20120092068A (ko) * 2011-02-10 2012-08-20 톰슨 라이센싱 제어 워드들을 생성하는 방법 및 장치
KR20140034725A (ko) * 2010-12-01 2014-03-20 이르데토 비.브이. 제어 워드 보호

Patent Citations (4)

* 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
KR20110066871A (ko) * 2009-12-11 2011-06-17 이르데토 비.브이. 수신기로의 제어 워드들의 제공
KR20140034725A (ko) * 2010-12-01 2014-03-20 이르데토 비.브이. 제어 워드 보호
KR20120092068A (ko) * 2011-02-10 2012-08-20 톰슨 라이센싱 제어 워드들을 생성하는 방법 및 장치

Also Published As

Publication number Publication date
KR102190886B1 (ko) 2020-12-14

Similar Documents

Publication Publication Date Title
US6550008B1 (en) Protection of information transmitted over communications channels
JP4714402B2 (ja) 情報源から受信機へのデジタルデータの安全な送信方法
KR101192007B1 (ko) 로컬 네트워크의 디지털 데이터 전송 방법
EP2461539B1 (en) Control word protection
EP1155527B1 (en) Protecting information in a system
US8364964B2 (en) Registering client devices with a registration server
US8213604B2 (en) Signcryption scheme based on elliptic curve cryptography
CN109218825B (zh) 一种视频加密系统
CN109151508B (zh) 一种视频加密方法
JP2008514123A (ja) デジタルコンテンツへの認可されたアクセスを提供するためのシステム及び方法
US7937587B2 (en) Communication terminal apparatus and information communication method
WO2011120901A1 (en) Secure descrambling of an audio / video data stream
US6516414B1 (en) Secure communication over a link
Noore A secure conditional access system using digital signature and encryption
KR100936458B1 (ko) 제1 도메인용으로 암호화한 데이터를 제2 도메인에 속한네트워크에서 처리하기 위한 디바이스 및 그 데이터를전송하는 방법
US20220171832A1 (en) Scalable key management for encrypting digital rights management authorization tokens
US10411900B2 (en) Control word protection method for conditional access system
CN102917252A (zh) Iptv节目流内容保护系统及方法
JP2008118653A (ja) メタデータの管理方法
KR102190886B1 (ko) 조건부 액세스 시스템의 컨트롤 워드 보호
KR101980928B1 (ko) 디지털 전송 스트림의 디스크램블링 콘텐츠 패킷용 보안 모듈 및 암호 시스템 및 방법
KR100950422B1 (ko) 아이피 티브이 시스템을 위한 소스 인증 방법
JP5132651B2 (ja) ライセンス情報送信装置およびライセンス情報送信プログラム
JP2022114882A (ja) 特典取得用データ発行装置、特典取得装置、特典発行装置およびそれらのプログラム
Roelse A new key establishment protocol and its application in pay-TV systems

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