KR20110088375A - 변환들을 사용한 수신기에서의 제어 워드의 계산적으로 효율적인 획득 - Google Patents

변환들을 사용한 수신기에서의 제어 워드의 계산적으로 효율적인 획득 Download PDF

Info

Publication number
KR20110088375A
KR20110088375A KR1020100138770A KR20100138770A KR20110088375A KR 20110088375 A KR20110088375 A KR 20110088375A KR 1020100138770 A KR1020100138770 A KR 1020100138770A KR 20100138770 A KR20100138770 A KR 20100138770A KR 20110088375 A KR20110088375 A KR 20110088375A
Authority
KR
South Korea
Prior art keywords
control word
transform
function
cache
seed
Prior art date
Application number
KR1020100138770A
Other languages
English (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 이르데토 비.브이.
Publication of KR20110088375A publication Critical patent/KR20110088375A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26606Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4181External card to be used in combination with the client device, e.g. for conditional access for conditional access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Landscapes

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

Abstract

발명은 자격 변환 트리를 사용하여 제어 워드를 보안적으로 얻기 위핸, 수신기, 스마트카드 및 조건부 액세스 시스템을 제공하며, 계산 효율을 개선하기 위해서 중간 결과들이 캐시된다.

Description

변환들을 사용한 수신기에서의 제어 워드의 계산적으로 효율적인 획득{COMPUTATIONAL EFFICIENTLY OBTAINING A CONTROL WORD IN A RECEIVER USING TRANSFORMATIONS}
본 발명은 변환 함수들을 사용하여 제어 워드를 계산 효율적으로 얻기 위한 수신기, 스마트카드, 조건부 액세스 시스템 및 방법에 관한 것이다.
디지털 TV 수신기에서 키 보관(storage) 및 자격(entitlement) 처리 단계들을 보호하기 위해 소프트웨어 위변조 방지(software tamper resistance)를 사용하는 유료-TV(Pay-TV) 시스템들과 같은 조건부 액세스 시스템들이 공지되어 있다.
소프트웨어 위변조 방지 기술은 소프트웨어 코드 변환들을 불명료하게 하기 위해 기본 프리미티브들(primitive)을 사용한다. 기본 프리미티브들의 예들은 "적용(Apply)", "제거(Remove)" 및 "조건(Condition)"이다. 도 1a, 도 1b 및 도 1c는 각각 적용 프리미티브(A), 제거 프리미티브(R), 및 조건 프리미티브(C)의 블록도들이다. 적용 프리미티브는 전형적으로 파라미터 시드(seed)(S)에 따라 데이터 요소(D)를 변환하기 위해서 함수 A(D,S) = AS(D) = DTS를 사용한다. 제거 프리미티브는 전형적으로 시드(S)에 기초하여 데이터 요소(D)의 변환을 역행하기 위해서 함수 R(DTS, S) = RS(DTS) = D를 사용한다. 조건 프리미티브는 전형적으로 함수 C(D1, D2) = CD1(D2) = DCS를 사용하며, 출력은 2개의 입력들에 상관성을 갖는다.
시드(S)는 복수의 데이터 요소들의 혼합으로부터 구성될 수 있다. 이것은 시드로부터 개개의 데이터 요소들을 추출하는 것을 어렵게 한다. 파라미터 혼합 함수들은 전형적으로 f(A, B) = <A, B>로 표기된다. 함수 결과 <A, B>를 A와 B의 합성(compound)이라고 한다. 이하, 시드들 및 합성들 둘 다를 "시드들"이라 한다.
프리미티브들은 전형적으로 조건부 액세스 시스템에서 키 관리 함수들을 구현할 때 조합된다. 프리미티브들의 조합은 개개의 프리미티브들이 더 이상 확인될 수 없는 새로운 함수가 되게 한다. 프리미티브들의 조합들의 알려진 예들은 제거 프리미티브와 적용 프리미티브의 조합 및 합성들의 보안적 상관이다.
도 1d는 제거 프리미티브와 적용 프리미티브의 조합의 예를 도시한 것이다. 변환은 조합된 제거 및 적용 동작에서 합성 <P,S>를 사용한다. 함수 RPAS는 시드(P)를 사용한 변환을 시드(S)를 사용한 변환으로 대체함으로써 입력 데이터를 수정한다. 즉, DataTP는 DataTS로 변환된다.
도 1e는 합성들의 보안 상관의 예를 도시한 것이다. 이것은 전형적으로 조건부 자격 처리를 위해 사용되며 기본 프리미티브들인 적용, 제거 및 조건의 조합을 포함한다. 조건부 함수는 합성들의 보안 상관을 수행하기 위해서 도 1d의 제거 및 적용 블록들(RPAS)과 조합될 수 있다.
조건부 자격 처리를 위한, 그리고 제어 워드(CW)를 얻기 위한 방법 및 수신기는 이 출원에 참조로 포함시키는 관계된 유럽특허출원번호 09155007.9에 기술되어 있다.
도 2는 EP09155007.9에 기술된 분할 키 전달의 예를 도시한 것이다. 도 2에서, CW는 3개의 서브키들(subkey)(CW1, CW2, CW3)로부터 발생된다. 서브키들(CW1, CW2, CW3)은 각각 시드들(P, G, U)의 보호 하에 분배된다. 이에 CW1은 변환 공간(P)에서 수학적으로 변환된 형태로 분배되고, CW2는 변환 공간(G)에서 수학적으로 변환된 형태로 분배되고, CW3은 변환 공간(U)에서 수학적으로 변환된 형태로 분배된다.
도 3은 EP09155007.9에 기술된 수신기에서 CW 처리의 예를 도시한 것이다. 도 3에서, CW는 서브키들로부터 발생되고 멤버쉽 체크가 수행된다. 처리는 2가지 기본 부분들로서, 보안 계산 환경과 일반 처리 환경으로 나뉘어진다. 일반 처리 환경 및 보안 계산 환경에서 함수 모듈들은 입력 변환된 CW, 예를 들면, CWDTP를 수신기 특정의 키, 예를 들면 {CW}CSSK를 사용하여 암호화된 CW로 변환하기 위해 자격 변환 트리를 형성한다. 일반 처리 환경은 저장, 데이터 통신 및 사용자 상호작용과 같은 외부 인터페이스들을 처리한다. 보안 계산 환경은 키들 및/또는 시드들의 처리를 처리한다.
ECM 전달 경로는 헤드-엔드 시스템으로부터 자격 제어 메시지들(ECM)의 수신을 위해 사용된다. ECM은 암호화된 또는 변환된 CW를 포함한다. EMM 전달 경로는 헤드-엔드 시스템으로부터 자격 관리 메시지들(EMM)의 수신을 위해 사용된다. EMM은 암호화된 또는 변환된 CW를 해독 또는 변환하기 위한 키들 또는 시드들을 포함한다.
보안 계산 환경에서 소프트웨어 위변조 방지 프리미티브들은 인터셉트될지라도 공격자에게 유용하지 않은 입력들 및 출력들을 갖는다. 변환된 제어 워드(CWDTP)에 대한 제거 동작은 합성 <P, G1>로 수신되는 값(P)을 필요로 하며, 이에 따라 G1과 결부된다. G1은 합성 <G1, U1>으로 분배되며, 이에 따라 U1과 결부된다. 2개의 제거/적용 동작들(RPAG1, RG1AU1) 후에, 얻어진 변환된 제어 워드(CWDTU1)는 수신기에 의해 처리될 수 있는 암호화된 CW의 발생을 위한 TDES 암호화 화이트박스 모듈에 입력된다. 결과적인 CW는 칩 셋 세션 키(CSSK)와 같은 수신기 특정의 키를 사용하여 암호화된다. CSSK는 전형적으로 자격 메시지들 중 한 메시지로 제공된다. CSSK, U1 및 U2 값들은 전형적으로 합성 <CSSK, U1, U2>로서 TDES 암호화 화이트박스에 제공된다.
도 3의 조건부 자격 처리는 그룹 멤버쉽 체크를 구현하기 위해 보안 상관 함수(RG2CVECTORAU2)를 사용한다. 상관 계산의 결과는 변환 공간(U2) 내 제어 워드 차이 키(CWDK), 즉 CWDKCTU2이다. CWDKCTU2 및 CWDTU1는 TDES 암호화 화이트박스에서 CW의 계산에서 사용되는 서브키들이다.
도 2의 CW1, CW2 및 CW3와 같은 서브키들 및 도 3의 CWDKCTU2 및 CWDTU1는 서로 다른 수명들을 가질 수 있다. 예로서, CW1은 매 10초와 같이 정기적으로 변할 수도 있고, CW2는 며칠씩으로 이따금식 변할 수 있고 CW3은 몇달씩으로 매우 드물게 변할 수 있다.
변환된 서브키들로부터 CW들을 얻기 위한 공지된 소프트웨어 위변조 방지 조건부 자격 처리 기술들은 서브키들의 서로 다른 수명들을 고려하지 않는다. 결국 조건부 자격 처리에서 모든 중간 동작들은 항시 CW를 얻기 위해서 수행된다. 각각의 중간 동작의 실행은 프로세서 사이클들 면에서 비용이 든다.
위변조 방지 이행에 악영향을 미치지 않으면서, 특히 처리 능력들이 한정된 디바이스들에서, 소프트웨어 위변조 방지 조건부 자격 처리 기술들에서 계산들의 수를 감소시킬 필요성이 있다.
발명의 목적은 계산 효율이 증가된, CW들을 얻기 위한 개선된 소프트웨어 위변조 방지 조건부 자격 처리 기술들을 제공하는 것이다.
발명의 일면에 따라서, 제어 워드를 보안적으로 얻기 위한 수신기가 제안된다. 수신기는 변환 함수를 저장하게 구성된 제 1 메모리를 포함한다. 변환 함수는 변환된 제어 워드 및 시드를 수신하고 변환된 제어 워드를 입력 변환 공간에서 출력 변환 공간으로 이동하게 구성된다. 이에 의해서, 변환 함수는 시드의 제어 하에 수학적 변환을 사용하여 제어 워드를 얻는다. 수신기는 캐시 메모리 및 캐시 제어 모듈을 더 포함한다. 또한 캐시 제어 모듈은 변환된 제어 워드 및 시드를 인터셉트하게 구성된다. 캐시 제어 모듈은 변환 함수, 변환된 제어 워드(x) 및 시드(y)에 일치하는 제어 워드를 캐시 메모리에서 찾게 구성된다. 또한 캐시 제어 모듈은 제어 워드가 캐시 메모리에서 발견된다면, 제어 워드를 변환 함수의 출력에 제공하고 그럼으로써 변환 함수를 우회하게 구성된다. 또한 캐시 제어 모듈은 제어 워드가 캐시 메모리에서 발견되지 않는다면, 제어 워드 및 시드를 변환 함수에 제공하고, 변환 함수로부터 제어 워드를 얻고, 변환 함수, 변환된 제어 워드(x) 및 시드(y)에 연관하여 제어 워드를 캐시 메모리에 저장하게 구성된다.
발명의 일면에 따라서, 수신기에서 제어 워드를 보안적으로 얻기 위한 방법이 제안된다. 수신기는 변환 함수를 저장하게 구성된 제 1 메모리를 포함한다. 방법은 변환된 제어 워드 및 시드를 수신하는 단계를 포함한다. 방법은 변환된 제어 워드 및 시드를 캐시 제어 모듈에서 인터셉트하는 단계를 더 포함한다. 방법은 변환 함수, 변환된 제어 워드 및 시드에 일치하는 제어 워드를 캐시 메모리에서 찾는 단계를 더 포함한다. 방법은 제어 워드가 캐시 메모리에서 발견된다면, 제어 워드를 변환 함수의 출력에 제공하고 그럼으로써 변환 함수를 우회(bypass)하는 단계를 더 포함한다. 방법은 제어 워드가 캐시 메모리에서 발견되지 않는다면, 제어 워드 및 시드를 변환 함수에 제공하는 단계, 시드의 제어 하에 수학적 변환을 사용하여 제어 워드를 얻기 위해서 변환된 제어 워드를 입력 변환 공간에서 출력 변환 공간으로 변환 함수에서 이동하는 단계, 및 변환 함수, 변환된 제어 워드 및 시드에 연관하여 제어 워드를 캐시 메모리에 저장하는 단계를 더 포함한다.
이에 따라, 출력 변환 공간에 제어 워드는 예상 결과가 변환 함수에의 입력에 기초하여 캐시 메모리에서 가용하다면 변환 함수에 의해 계산되지 않는다. 이에 의해서 제어 워드를 얻는데 있어 계산 효율이 증가된다.
출력 변환 공간은 평문(cleartext) 변환 공간일 수 있어, 평문으로 된 제어 워드가 될 수 있다. 결과적인 평문 제어 워드가 얻어진 후에 암호화될 수 있다. 출력 변환 공간은 평문 변환 공간에서 제어 워드를 얻기 위해 제어 워드의 그 이상의 변환을 요구하는 그외 어떤 다른 변환 공간일 수 있다.
청구항 2 및 청구항 10의 실시예들은 일련의 변환 함수들에서 후속되는 변환들을 할 수 있게 하며 및/또는 변환 함수들의 트리에 변환된 서브키들을 조합할 수 있게 하는 이점이 있으며, 계산 효율을 위해 중간 결과들이 캐시된다.
청구항 3의 실시예는 계산들의 최종 결과, 즉 평문 제어 워드 또는 암호화된 제어 워드가 콘텐트를 디스크램블하기 위해 수신기에서 사용될 수 있게 하는 이점이 있다.
청구항 4의 실시예는 컴퓨터 코드 및 변환 함수들의 함수적 작용(behaviour)을 불명료하게 할 수 있게 하여, 수학적 변환들 동안 제어 워드에 관한 정보를 얻는 것을 더 어렵게 하는 이점이 있다. 바람직하게, 캐시된 중간 결과들은 통상의 모호하지 않은 메모리에 저장될 수 있어, 캐시 메모리를 구현하기에 더 쉽고 더 저렴하게 한다.
청구항 5의 실시예는 일반 계산 환경에서 단일 캐시 제어 모듈만으로 캐싱 기능을 할 수 있게 하는 이점이 있다.
청구항 6의 실시예는 캐시 제어 기능이 보안 계산 환경에서 구현될 수 있게 하여, 일반 계산 환경에서 캐싱의 캐시 메모리 부분만을 남겨 두게 하는 이점이 있다. 이것은 캐싱 기능을 구현하기 위한 일반 계산 환경의 수정들을 덜하게 한다.
청구항 7의 실시예는 제어 워드들을 얻기 위해 스마트카드를 사용하여 조건부 액세스 시스템들에서 캐싱 기능을 할 수 있게 하는 이점이 있다.
청구항 8의 실시예는 네트워크에서 스마트카드를 공유할 수 있게 하며, 중간 결과들이 각각의 수신기에 캐시될 수 있게 하는 이점이 있다.
발명의 일면에 따라서, 위에 기술된 특징들 중 하나 이상을 갖고 수신기에서 사용하기 위한 스마트카드가 제안된다. 스마트카드는 보안 계산 환경에 제 1 메모리를 포함한다. 제 1 메모리는 변환 함수를 저장하게 구성된다. 변환 함수는 변환된 제어 워드 및 시드를 수신하고, 변환된 제어 워드를 입력 변환 공간에서 출력 변환 공간으로 이동하게 구성된다. 이에 의해서 변환 함수는 시드의 제어 하에 수학적 변환을 사용하여 제어 워드를 얻는다. 변환 함수는 캐시 제어 모듈을 포함한다. 캐시 제어 모듈은 변환된 제어 워드 및 시드를 인터셉트하게 구성된다. 캐시 제어 모듈은 또한 변환 함수, 변환된 제어 워드(x) 및 시드에 일치하는 제어 워드를 수신기의 캐시 메모리에서 찾게 구성된다. 캐시 제어 모듈은 또한 제어 워드가 캐시 메모리에서 발견된다면, 제어 워드를 변환 함수의 출력에 제공하고 그럼으로써 변환 함수를 우회하게 구성된다. 캐시 제어 모듈은 또한 제어 워드가 캐시 메모리에서 발견되지 않는다면, 제어 워드 및 시드를 변환 함수에 제공하고, 변환 함수로부터 제어 워드를 얻고, 변환 함수, 변환된 제어 워드 및 시드에 연관하여 제어 워드를 캐시 메모리에 저장하게 구성된다.
이에 따라, 제어 워드들을 얻기 위해 스마트카드들을 사용하여 조건부 액세스 시스템들에서 캐싱 기능을 할 수 있게 된다. 출력 변환 공간에 제어 워드는 예상 결과가 변환 함수에의 입력에 기초하여 캐시 메모리에서 가용하다면 변환 함수에 의해 계산되지 않는다. 이에 의해서 스마트카드에서 제어 워드를 얻는데 있어 계산 효율이 증가된다.
스마트카드는 전형적으로 통상적인 폼 팩터를 갖게 구현된다. 이 대신에, 이를테면 PC에서 실행되는 스마트카드 에뮬레이션 소프트웨어와 같은, 스마트카드 기술을 구현하는 그외 어떤 다른 계산 디바이스가 스마트카드로서 사용될 수 있다.
발명의 일면에 따라서, 조건부 액세스 시스템이 제안된다. 조건부 액세스 시스템은 헤드-엔드 시스템 및 위에 기술된 특징들 중 하나 이상을 갖는 하나 이상의 수신기들을 포함한다. 헤드-엔드 시스템은 자격 제어 메시지 및 자격 관리 메시지를 수신기에 전송하게 구성된다. 자격 제어 메시지는 변환된 제어 워드를 포함한다. 자격 관리 메시지는 하나 이상의 시드들을 포함한다.
이에 따라, 조건부 액세스 시스템들에서 캐싱 기능이 가능해질 수 있고, 입력 변환 공간에서 출력 변환 공간으로 변환된 제에 워드를 변환하기 위한 수신기에 변환된 제어 워드가 헤드-엔드 시스템에 의해 제공된다. 출력 변환 공간에 제어 워드는 예상 결과가 변환 함수에의 입력에 기초하여 캐시 메모리에서 가용하다면 변환 함수에 의해 계산되지 않는다. 이에 의해서 제어 워드를 얻는데 있어 계산 효율이 증가된다.
이하, 발명의 실시예들이 더 상세히 기술될 것이다. 그러나, 실시예들은 본 발명의 보호 범위를 제한시키는 것으로서 해석되지 않음을 알 것이다.
발명의 면들이 도면들에 도시된 실시예들을 참조로 더 상세히 설명될 것이다.
도 1a는 소프트웨어 위변조 방지 기술에서 사용되는 적용 프리미티브의 종래 기술의 블록도.
도 1b는 소프트웨어 위변조 방지 기술에서 사용되는 제거 프리미티브의 종래 기술의 블록도.
도 1c는 소프트웨어 위변조 방지 기술에서 사용되는 조건 프리미티브의 종래 기술의 블록도.
도 1d는 소프트웨어 위변조 방지 기술에서 사용되는 합성들의 보안 상관의 종래 기술의 블록도.
도 1e는 소프트웨어 위변조 방지 기술에서 사용되는 합성들의 보안 상관의 종래 기술의 블록도.
도 2는 종래 기술의 간이화한 분할 키 전달 프로세스를 도시한 도면.
도 3은 수신기에서 종래 기술의 간이화한 분할 키 전달 프로세스를 도시한 도면.
도 4는 발명의 실시예의 변환 함수를 도시한 도면.
도 5는 발명의 실시예의 캐싱을 사용한 변환 함수를 도시한 도면.
도 6은 발명의 실시예의 캐싱을 사용한 변환 함수를 도시한 도면.
도 7은 발명의 실시예의 일련의 2개의 변환 함수들을 도시한 도면.
도 8은 발명의 실시예의 캐싱을 사용한 일련의 2개의 변환 함수들을 도시한 도면.
도 9는 발명의 실시예의 수신기에서 캐싱을 사용한 분할 키 전달 프로세스를 도시한 도면.
도 10은 발명의 실시예의 수신기 및 스마트카드를 도시한 도면.
도 11은 발명의 실시예의 스마트카드를 공유하는 2개의 수신기들을 도시한 도면.
도 12는 발명의 실시예의 네트워크를 통해 스마트카드를 공유하는 2개의 수신기들을 도시한 도면.
도 13은 발명의 실시예의 조건부 액세스 시스템을 도시한 도면.
도 14는 발명의 실시예의 수신기에서 제어 워드를 얻기 위한 방법의 단계들을 도시한 도면.
도 15는 일반적인 용어로 변환 함수들 및 암호화를 분명하게 하는 도면.
도 16a는 수학적 변환을 수행하는 함수의 블록도.
도 16b는 시드의 제어 하에 수학적 변환을 수행하는 함수의 블록도.
도 17a는 적용 프리미티브의 블록도.
도 17b는 제거 프리미티브의 블록도.
도 17c는 조건 프리미티브의 블록도.
도 17d는 제거 및 적용 프리미티브의 조합의 블록도.
도 17e는 합성의 보안 상관의 블록도.
도 18은 제어 워드를 얻기 위해 변환 동작들을 적용하는 수신기의 예를 도시한 도면.
캐싱(caching)은, 어떤 형태이든 이전에 사용된 데이터가 재계산되는 대신 저장되어 재사용될 수 있게 하는 컴퓨터 과학에서 공지된 최적화 기술이다. 캐시들은 크기가 무한일 수 없기 때문에, 캐시된 데이터는 전형적으로 이를테면 예를 들어 최소로 최근에 사용된(LRU) 알고리즘, 가장 최근에 사용된(MRU) 알고리즘 또는 최소로 빈번하게 사용된(LFU) 알고리즘과 같은 사용 패턴 알고리즘에 기초하여 유지되거나 폐기된다.
자격 변환 트리 구현의 종래 기술의 예가 도 3에 도시되었다. 발명은 자격 변환 트리에서 중간 결과들을 캐시해 둘 수 있게 하며, 그럼으로써 계산 효율을 증가시킨다. 캐싱 기능은 조건부 자격 처리의 위변조 방지에 영향을 미침이 없이 일반 계산 환경에서 구현될 수 있게 생성된다.
자격 변환 트리에서 중간값, 예를 들면 도 3에 도시된 CWDKCTu2은 자격 변환 트리에서 일련의 함수들 및 시드들의 맥락에서만 유용하기 때문에 기밀이 아닌 데이터인 것으로 간주될 수 있다. 결국, 중간값들은 보안을 저하시키지 않고, 캐싱할 목적으로 일반 계산 환경에서 저장될 수 있다.
전형적으로, 빈번하게 변하는 서브키의 두 연속한 발생들 사이에 일정한 채로 있는 중간 데이터 값들은 캐시된다. 캐싱은 빈번하게 변하는 서브키들에 대한 중간값들로 제한되지 않으며 덜 빈번하게 변하는 서브키들에 대한 중간값들도 캐시될 수 있음을 알 것이다. CW 자체의 두 연속한 발생들 사이에 모든 중간값들이 변경되지 않는 경우에, 결과적인 CW를 캐시되게 하는 것이 가능하다. 후자의 경우, 전형적으로 CW는 이를테면 {CW}CSSK와 같이, 암호화된 형태로 캐시된다.
캐싱 기능은 중간값들 중 하나 이상 및/또는 최종-결과 값을 연관된 캐싱 참조와 함께 저장함으로써 구현된다. 전형적으로, 캐싱 참조는 이를테면 변환된 CW, 시드 및/또는 합성과 같은 입력값들, 및 중간 또는 최종-결과 값의 계산을 위해 입력값들이 입력되는 함수의 표시 또는 함수에의 참조를 포함한다.
자격 변환 트리에서 CW의 계산은 일련의 변환 함수들로 구성된다. 캐싱이 없는 공지된 예가 도 3에 도시되었다. 도 1a 내지 도 1e에 도시된 바와 같은 변환 함수들은 상태 기반적이지 않으며 전형적으로 입력들이 정확할 때만 의미론적으로 정확한 출력값이 생성될 수 있는 점에서 조건적이다.
개략적으로 각각의 변환 함수는 도 4에 도시된 바와 같이 나타낼 수 있다. 도 4는 2개의 입력들(a, b)을 갖고 있고 하나의 출력(c)을 발생하는 변환 함수(F)를 도시한 것이다. 입력들(a 및/또는 b) 및 출력(c)은 수학적인 변환에 의해 보호되어, 데이터 값들(x, y, z)이 수신기의 일반 계산 환경과 같은 신뢰할 수 없는 도메인에서 처리되고 저장될 수 있게 한다.
도 5는 발명의 실시예의 추가된 캐싱 기능을 구비한 변환 함수(F)를 도시한 것이다. 도 5의 실시예에서, 변환 함수(F)에 캐시 제어가 추가된다. 캐시는 입력 데이터 값들(x, y)을 변환 함수(F)의 입력들(a, b)에 각각 전송한다. 함수(F)는 값(z)을 포함하는 출력을 발생한다. 함수는 상태 기반적이지 않기 때문에, 동일한 한 세트의 입력값들(x, y)은 항시 변환 함수(F)에 의해 동일 출력값(z)으로 처리된다. 출력(z)은 나중에 동일 동작의 계산들을 최적화하기 위해서 캐시에 저장된다. 변환 기능을 구현하는 모듈은 입력들(x, y)의 주어진 조합에 대한 결과적인 출력값(z)이 캐시에서 얻어질 수 없을 때만 함수(F)를 활성화하는 캐시 제어 기능을 갖는다. 주어진 조합(x, y)에 대한 출력값(z)이 캐시된다면, 캐시는 출력값(z)을 출력(c)에 직접 제공한다.
도 6은 발명의 실시예의 추가된 캐싱 기능을 갖춘 변환 함수(F)를 도시한 것이다. 도 6의 실시예에서, 캐시 제어가 캐시에 추가된다. 캐시 제어는 입력 데이터 값들(x, y)을 변환 함수(F)의 입력들(a, b)에 각각 전송한다. 함수(F)는 값(z)을 포함하는 출력을 발생한다. 함수는 상태 기반적이지 않기 때문에, 동일한 한 세트의 입력값들(x, y)은 항시 변환 함수(F)에 의해 동일 출력값(z)으로 처리된다. 출력(z)은 나중에 동일 동작의 계산들을 최적화하기 위해서 캐시에 저장된다. 캐시는 입력들(x, y)의 주어진 조합에 대한 결과적인 출력값(z)이 캐시에서 얻어질 수 없을 때만 함수(F)를 활성화하는 캐시 제어 기능을 갖는다. 주어진 조합(x, y)에 대한 출력값(z)이 캐시된다면, 캐시는 출력값(z)을 출력(c)에 직접 제공한다.
도 5 및 도 6의 예들에서, 캐시는 함수 출력값들(z)을 한 세트의 함수 입력 파라미터 값들(x, y)에 링크한다. 이에 캐싱 참조로서 단순 URL-스타일의 스트링이 사용될 수 있다. 대안적으로 캐싱 참조를 구현하기 위해 그외 어떤 다른 공지된 데이터 구조가 사용될 수도 있다. 캐싱 참조 스트링의 예는 "Fc?Fa = x&Fb = y"이며, 이것은 입력 'Fa'에 대한 값 'x'와 입력 'Fb'에 대한 값 'y'를 사용하여 변환 함수 'F'로부터 결과 'Fc'의 계산을 기술한다. 캐싱 참조 "Fc?Fa = x&Fb = y"는 관련된 함수 결과 'z'와 함께 캐시에 저장된다.
예로서, 다음 테이블은 "F(x,y) = z" 및 "F(u, v) = w"의 계산 후에 캐시 메모리에 저장되는 캐시 엔트리들을 보인 것이다.
Figure pat00001
함수(F)가 활성화되는 다음번에, 캐시는 먼저 계산 결과가 전에 수행된 적이 있는지를 판정한다. 캐시 히트(hit)가 있다면, 계산은 수행되지 않고 대신에 캐시된 결과가 사용된다.
도 7은 일련의 2개의 변환 함수들이 출력(y)을 생성하는 발명의 실시예를 도시한 것이다. 변환 함수(F) 및 변환 함수(G) 각각은 도 4에 기술된 함수(F)와 유사하게 동작하며 도 5 또는 도 6에 기술된 바와 같은 캐싱 기능을 구비한다.
출력("Gc")을 생성하기 위해서, 변환 함수(G)는 이의 입력 파라미터 "Gb"에 대한 값 'x'에 의해 활성화된다. 입력 파라미터 "Ga"는 변환 함수 "F(u,v)"의 출력에 연결된다. 캐시는 이 함수 호출의 이전의 계산을 찾기 위해서 결과 파라미터 스트링 "Fc?Fa = u&Fb = v"를 사용한다. 캐시가 이 캐싱 참조에 대한 결과를 발견한다면, 함수 'F'는 활성화될 필요가 없으며 캐시된 값(w)이 대신에 사용된다. 캐시는 "G(w,x)"의 계산 결과가 캐시에 보유되어 있는지 판정하기 위해 사용된다. 이제 캐시는 결과를 찾기 위해서 캐싱 참조 "Gc?Ga = w&Gb = x"를 사용한다. 발견된다면, 함수 'G'는 활성화될 필요가 없으며 캐시된 결과 'y'가 변환 함수 'G'의 출력에 보내진다. 캐시가 일치를 발견하지 못한다면, "G(w,x)"의 계산을 활성화한다. 계산 후에, 결과 'y'는 캐시에 그리고 출력 "Gc"에 돌려보내진다. 이들 동작들 후에, 다음 캐시 엔트리들이 캐시 메모리에 저장된다.
Figure pat00002
캐싱 동작은 변환 트리의 구조를 고려함으로써 최적화되고 일련의 변환 함수들의 조합된 결과를 단일 스트링으로서 캐시할 수 있다. 이것은 캐시 메모리에의 액세스를 감소시킨다. 예를 들어, 이 최적화를 사용하는 도 7의 예에서 단일 캐시 히트는 2개의 캐시 히드들 대신 출력값(y)을 생성할 수도 있을 것이다. 이에 도 7의 예의 캐시 콘텐트는 캐시 테이블 내 다음 엔트리로 확장된다.
Figure pat00003
도 5 및 도 6에 도시된 바와 같이, 캐시 제어는 변환 함수를 혹은 캐시 메모리 주위에 래퍼(wrapper)로서 구현된다. 두 구현들에서 캐시 제어는 조건부로 변환 함수 모듈을 활성화하고 관계된 입력들을 변환 함수에 제공하게 구성된다.
도 8은 버스 구조를 사용하여 캐시 제어기에 연결된 2개의 변환 함수들(F, G)의 예를 도시한 것이다. 캐시 제어기는 버스를 통해 모든 변환 함수 모듈들에 연결된다. 이것은 데이터(u, v, w, x, y)가 변환 함수들(F, G)의 입력들(Fa, Fb, Ga, Gb) 및 출력들(Fc, Gc)에 각각 제공될 수 있게 한다. 캐시 제어 인터페이스는 출력값이 캐시 메모리에 저장되지 않는 경우에 변환 함수 모듈들을 활성화하기 위해 사용된다.
도 8의 캐시 제어기는 도 6에 도시된 캐시 제어와 유사하게 동작한다. 도 8에 도시된 바와 같은 버스 구조는 도 5에 도시된 캐시 제어의 동작과 유사하게, 각각의 변환 함수(F, G)에서 캐시 제어 기능에도 사용될 수 있음이 이해될 것이다.
캐시 엔트리들을 찾고 조건적으로 변환 함수들을 활성화하는 것에 더하여, 캐시 제어기는 선택적으로, 캐시의 메모리 크기를 관리하기 위해서 미사용 캐시 엔트리들을 제거하게 구성된다. 이에 캐시 제어기는 가장 관계된 정보만이 캐시에 유지되게 하기 위해서 임의의 공지된 캐시 관리 기술을 사용할 수 있다.
도 9는 캐싱 최적화로 확장된 자격 변환 트리 구현의 예를 도시한 것이다. 도 9의 자격 변환 트리에서 변환 함수들은 도 3에 도시된 자격 변환 트리의 변환 함수들과 유사하며 동일 변환 함수 시퀀스가 사용된다. 도 9의 예에서, 변환 트리 내 모든 데이터는 캐시 제어기 및 "Data"로 표시된 데이터 인터페이스를 통과한다. 캐시 제어기는 캐시 제어 인터페이스를 통해 변환 함수 모듈들의 활성화를 제어한다.
도 9는 수신기의 두 부분들로서, 보안 계산 환경 및 일반 처리 환경을 도시한다. 일반 처리 환경은 저장, 데이터 통신 및 사용자 상호작용과 같은 외부 인터페이스들을 처리한다. 보안 계산 환경은 키들 및/또는 시드들의 처리를 처리한다. 처리는 전형적으로 하나 이상의 프로세서들(도시되지 않음)에 의해 수행된다.
ECM 전달 경로는 헤드-엔드 시스템으로부터 자격 제어 메시지들(ECM)의 수신을 위해 사용된다. ECM은 암호화된 혹은 변환된 CW를 포함한다. EMM 전달 경로는 헤드-엔드 시스템으로부터 자격 관리 메시지들(EMM)의 수신을 위해 사용된다. EMM은 암호화된 혹은 변환된 CW을 해독 또는 변환하기 위한 키들 또는 시드들을 포함한다. ECM 전달 경로 및 EMM 전달 경로는 전형적으로 ECM들 및 EMM들을 수신하기 위한 입력 모듈에 구현된다.
도 9의 예에서, 일반 계산 환경은 캐싱 기능을 내장하는데, 이것은 캐시 제어기 및 캐시 메모리로서 구현된다. 캐시 제어기를 통해 데이터는 ECM 전달 경로 및 EMM 전달 경로에서 캐시 메모리로, 그리고 캐시 메모리와 변환 함수들(RPAG1, RG1AU1 및 RG2CVECTORAU2)과 TDES 암호화 화이트박스 간에 흐른다.
이 예에서 변환 함수들에 대해 다음 에일리어스들이 사용된다: F = RPAG1, G = RG1AU1 및 H = RG2CVECTORAU2. F는 입력들(Fa, Fb) 및 출력(Fc)을 가지며, G는 2개의 입력들(Ga, Gb) 및 출력(Gc)을 가지며, H는 2개의 입력들(Ha, Hb) 및 출력(Hc)을 갖는다. F, G 및 H의 모든 입력들 및 출력들은 데이터 버스를 통해 캐시 제어기에 연결된다.
ECM 전달 경로를 통해, 변환 공간(P) 내 변환된 제어 워드, 즉 CWDTP가 수신된다. EMM 전달 경로를 통해, 시드들 <P, G1>, <G1, U1>, <G2, U2, n> 및 <CSSK, U1, U2>가 수신된다. EMM 전달 경로를 통해, 변환 공간(G2) 내 제어 워드 차 키(CWDK)와 벡터의 합성, 즉 <CWDKTG2, vector>가 그룹 멤버쉽 체크를 위해 수신된다.
캐시 제어기는 Fa에 대해 CWDTP이고 Fb에 대해 <P, G1>인 입력값들과 일치하는 변환 함수(F)의 캐시된 출력값을 캐시 메모리에서 찾는다. 캐시된 출력값이 발견된다면, 캐시된 값은 함수(F)를 호출함이 없이 Fc에 제공된다. 어떠한 출력값도 발견되지 않는다면, CWDTP가 Fa에 제공되며 <P, G1>이 데이터 버스를 통해 Fb에 제공된다. Fa 및 Fb 상에 입력 데이터를 사용하여 출력값을 발생하고 결과를 Fc 및 데이터 버스를 통해 캐시 제어기에 돌려보내기 위해서 캐시 제어기에서 변환 함수(F)로 캐시 제어 인터페이스를 통해 명령이 주어진다. 결과는 캐시 메모리에 저장되고, 이는 이제 다음의 엔트리를 포함한다.
Figure pat00004
다음에, 캐시 제어기는 Ga에 대해 F의 출력값이고 Gb에 대해 <G1, U1>인 입력값들과 일치하는 변환 함수(G)의 캐시된 출력값을 캐시 메모리에서 찾는다. 캐시된 출력값이 발견된다면, 캐시된 값이 함수(G)를 호출함이 없이 Gc에 제공된다. 어떠한 출력값도 발견되지 않는다면, F의 출력값, 이 예에서는 CWDTG1이 Ga에 제공되고 <G1, U1>이 데이터 버스를 통해 Gb에 제공된다. Ga 및 Gb 상에 입력 데이터를 사용하여 출력값을 발생하고 결과를 Gc 및 데이터 버스를 통해 캐시 제어기에 돌려보내기 위해서 캐시 제어기에서 변환 함수(G)로 캐시 제어 인터페이스를 통해 명령이 주어진다. 결과는 캐시 메모리에 저장되고, 이는 이제 다음의 엔트리를 포함한다.
Figure pat00005
대안적으로 혹은 선택적으로 변환 함수들(F, G)에 의해 입력들을 처리한 후에 결과는 캐시 메모리에 단일 엔트리로서 저장되어, 변환 함수(G)의 결과가 캐시 메모리에서 입력값들 Fa = CWDTP, Fb = <P, G1> 및 Gb = <G1, U1>을 사용하여 단일 단계로 발견될 수 있게 한다. 그러면 캐시 메모리는 예를 들어 다음 엔트리들을 포함한다.
Figure pat00006
그룹 멤버쉽 체크를 위해서 캐시 제어기는 Ha에 대해 <G2, U2, n>이고 Hb에 대해 <CWDKTG2, vector>인 입력값들과 일치하는 보안 상관 함수(H)의 캐시된 출력값을 캐시 메모리에서 찾는다. 캐시된 출력값이 발견된다면, 캐시된 값이 함수(H)를 호출함이 없이 Hc에 제공된다. 어떠한 출력값도 발견되지 않는다면, <G2, U2, n>이 Ha에 제공되고 <CWDKTG2, vector>가 데이터 버스를 통해 Hb에 제공된다. Ha 및 Hb 상에 입력 데이터를 사용하여 출력값을 발생하고 결과를 Hc 및 데이터 버스를 통해 캐시 제어기에 돌려보내기 위해서 캐시 제어기에서 보안 상관 함수(H)로 캐시 제어 인터페이스를 통해 명령이 주어진다. 결과는 캐시 메모리에 저장되고, 이는 이제 다음의 엔트리를 포함한다.
Figure pat00007
마지막 단계에서, Gc 및 Hc의 출력 데이터, 즉, CWDTU1 및 CWDKCTU2는 {CW}CSSK의 발생을 위해 데이터 버스를 통해 TDES 암호화 화이트박스에 각각 시드 <CSSK, U1, U2>와 함께 제공된다. 결과적인 {CW}CSSK는 전형적으로, 이 데이터가 일반 계산 환경에서 얻어지지 못하게 하기 위해서 캐시 메모리에 캐시되지 않는다.
보안 계산 환경에서 변환 트리의 구현은 도 9의 예로 제한되지 않는다. 전형적으로 일련의 변환 함수들에는 2 이상의 변환 함수들이 있다. 변환 함수들은 하나 이상의 브랜치들을 가진 자격 변환 트리를 형성할 수 있다. 각각의 변환 함수는 임의의 알려진 변환 함수일 수 있다. TDES 암호화 화이트박스 대신에, 변환된 제어 워드로부터 암호화된 제어 워드의 발생을 위해서 그외 어떤 다른 암호화 함수가 사용될 수 있다. 대안적으로, TDES 암호화 화이트박스 대신에, 변환된 제어 워드로부터 평문 제어 워드를 발생하기 위해서 제거 프리미티브가 사용될 수 있다.
캐싱은 변환 시퀀스에 모든 단계들에 효율적이지 않을 수 있다. 예를 들어, 특정 변환 함수에 대해서 캐시 히트 비가 낮을 것으로 예상될 때, 캐싱 기능은 실제로는 변환 함수를 수행하기에 앞서 캐시 메모리 액세스에 기인하여 전체 처리 성능을 감소시킬 수 있다. 전체 처리 성능의 이러한 감소를 피하기 위해서, 캐싱 기능 없이 하나 이상의 변환 함수 모듈들이 구현될 수 있어, 이의 입력 값들은 캐시 히트를 찾지 않고 출력값의 발생을 위해 변환 함수 모듈에 의해 처리하게 된다.
도 9의 예에서, 일반 계산 환경 및 보안 계산 환경은 수신기의 부분들이다. 대안적으로, 보안 계산 환경은 스마트카드에서 구현되고 일반 계산 환경은 수신기에서 구현된다.
통상적인 폼 팩터를 갖는 스마트카드 대신에, 예를 들면 PC에서 실행되는 스마트카드 에뮬레이션 소프트웨어와 같은, 스마트카드 기술을 구현하는 그외 어떤 다른 계산 디바이스가 스마트카드로서 사용될 수 있다.
도 10은 디지털 TV 수신기로서 셋- 탑 박스(STB), 및 예를 들어 STB 내 스마트카드의 삽입을 통해, STB에 통신이 되게 연결되는 스마트카드를 포함하는 간이화한 아키텍처를 도시한 것이다. STB에 의해 수신되는 EMM들 및 ECM들은 스마트카드에 의해 처리하기 전에 EMM/ECM 보관부에 저장될 수 있다. 스마트카드는 자체 공지된 임의의 방법으로 ECM들 및 EMM들로부터 데이터를 얻는데, 이 데이터는 스마트카드의 보안 계산 환경에서 자격 변환 트리를 위한 입력 데이터를 포함한다. 변환 함수들 및/또는 보안 상관 함수들에 입력들 및 이들로부터 출력들은 STB 내 캐시에 저장된다.
네트워크로 연결된 2 이상의 디바이스들이 한 공통의 스마트카드를 공유하게 하는 것이 가능하다. 도 11의 예에서, 2개의 STB들 각각은 헤드엔드 시스템으로부터 수신된 ECM들 및 EMM들을 EMM/ECM 보관부로 나타낸 비휘발성 메모리에 암호화된 형태로 저장한다. 삽입된 스마트카드가 없는 STB들은 스마트카드에의 보안 연결을 네트워크를 통해서 그리고 스마트카드가 삽입된 STB를 매개로 수립한다. 스마트카드는 하나 이상의 ECM들 및 관계된 EMM들을 수신기로부터 수신하고 ECM들 및 EMM들을 해독하여 스마트카드의 보안 계산 환경에서 변환 함수 모듈을 위한 입력 데이터를 얻는다. 변환 함수들의 출력값들은 STB의 로컬 캐시에 저장을 위해서 STB에의 보안 연결을 통해 전송된다.
도 11의 예에 대한 대안이 도 12에 도시되었는데, 여기에서 스마트카드는 STB들 중 한 STB에 삽입되는 대신 네트워크에 통신이 되게 연결되며, 각각의 STB는 네트워크를 통해 스마트카드에 액세스한다.
STB는 전형적으로 스마트카드보다 더 많은 저장 공간을 갖는다. 그러므로, 도 10 내지 도 12의 예들에서 캐시 메모리는 STB에 구현된다. 대안적으로 스마트카드에 캐시 메모리를 구현하는 것이 가능하다.
도 13은 발명의 실시예의 조건부 액세스 시스템을 도시한 것이다. 헤드-엔드 시스템은 ECM들 및 EMM들을 분배 네트워크를 통해 하나 이상의 수신기들에 전송한다. ECM은 전형적으로 도 9의 변환된 제어 워드, 예를 들면 CDWTP를 내포하는데, 이것은 수신기의 보안 계산 환경에서 자격 변환 트리에 의해 처리될 것이다. 보안 계산 환경은 수신기에 통신되게 연결된 스마트카드에서 구현될 수도 있다. EMM은 전형적으로, 변환된 제어 워드의 변환에서 사용되는 하나 이상의 시드들, 예를 들면 도 9의 <P, G1> 및 <G1, U1>을 포함한다. 이를테면 그룹 멤버쉽 체크 데이터와 같은, 그외의 데이터도 EMM으로 전송될 수 있다. 복수의 EMM들이 데이터의 전송을 위해 사용될 수도 있다.
도 14에서 발명의 실시예의 수신기에 의해 수행되는 단계들이 개략적으로 도시되었다. 단계(101)에서, 변환된 제어 워드 및 시드가 수신된다. 단계(102)에서, 변환된 제어 워드 및 시드가 캐시 제어 모듈에 인터셉트된다. 단계(103)에서, 변환 함수, 변환된 제어 워드 및 시드와 일치하는 제어 워드가 캐시 메모리에서 탐색된다. 단계(104)에서, 탐색 결과가 분석된다. 제어 워드가 발견되었다면, 단계(105)에서 변환 함수의 출력에 제공되고 그럼으로써 변환 함수를 우회한다. 제어 워드가 발견되지 않았다면, 단계(106)에서 시드와 함께 변환 함수에 제공된다. 단계(107)에서, 변환된 제어 워드는 시드의 제어 하에 수학적 변환을 사용하여 제어 워드를 얻기 위해서 입력 변환 공간에서 출력 변환 공간으로 이동된다. 단계(108)에서 제어 워드는 변환 함수, 변환된 제어 워드 및 시드에 연관하여 캐시 메모리에 저장된다. 단계(108)는 다음번에 동일한 입력값들을 갖고 동일 변환 함수가 호출될 때 단계(103)에서 캐시 히트가 되게 한다.
위에 논한 바와 같이, 데이터 및 소프트웨어 불명료화 기술들은 중간 결과들을 불명료하게 하기 위해서 변환 함수들을 이용할 수 있다. 본 개시된 바에서 사용되는 바와 같은, 변환 함수들의 개념은 암호화와는 다르다. 도 15 및 다음의 논의를 참조로 차이들이 일반적으로 더 분명해진다.
비-변환 데이터 공간에 복수의 데이터 요소들을 가진 입력 도메인(ID)가 존재하는 것으로 가정한다. 입력 도메인(ID)의 데이터 요소들을 입력으로부터 받아들여 대응하는 암호화된 데이터 요소를 출력 도메인(OD)에 전달하게 구성되는, 어떤 키를 사용하는 암호화 함수(E)가 정의된다. 해독 함수(D)를 적용함으로써, 입력 도메인(ID)의 원 데이터 요소들이, 해독 함수(D)를 출력 도메인(OD)의 데이터 요소들에 적용하여 얻어질 수 있다. 비-보안 환경(전형적으로 "화이트-박스"라 함)에서, 공격자는 입력 및 출력 데이터 요소들을 알고 있고 실행 동안 암호화 함수(E)의 내부에 액세스할 수 있는 것으로 가정된다. 이 환경에서 각별한 주의가 취해지지 않는다면, 비밀들(예를 들면, 암호화/해독 함수들에서 사용되는 키)이 공격자에 의해 쉽게 도출될 수 있다.
추가의 보안은 변환 함수들을 입력 도메인(ID) 및 출력 도메인(OD)에 적용함으로써 비-보안 환경에서 얻어질 수 있다. 즉, 변환 함수들이 입력 동작 및 출력 동작이다. 변환 함수(T1)는 입력 도메인(ID)으로부터의 데이터 요소들을 변환된 데이터 공간의 변환된 입력 도메인(ID)'의 변환된 데이터 요소들에 매핑한다. 유사하게, 변환 함수(T2)는 출력 도메인(OD)로부터의 데이터 요소들을 변환된 출력 도메인(OD)'에 매핑한다. 변환된 암호화 및 해독 함수들(E', D')이 이제 변환된 키들을 사용하여 ID'와 OD' 간에 정의될 수 있다. 역변환들이 수행되어야 하는 경우에, 예를 들어, 결과들이 비-변환 공간에 통보되어야 할 때, T1 및 T2는 전단사들이다.
암호화 기술들과 함께 변환 함수들 T1 및 T2를 사용한다는 것은 출력 도메인 (OD)의 암호화된 데이터 요소들을 얻기 위해 입력 도메인(ID)의 데이터 요소들을 암호화 함수(E)에 입력하는 대신에, 변환 함수(T1)를 적용함으로써 도메인(ID')의 변환된 데이터 요소들이 변환된 암호화 함수(E')에 입력됨을 의미한다. 변환된 암호화 함수(E')는 키와 같은 신뢰 정보를 보호하기 위해서 암호화 동작에서 역 변환함수(T1 -1) 및 변환 함수(T2)를 조합한다. 이어서, 도메인((OD')의 변환된 암호화된 데이터 요소들이 얻어진다. 암호화 함수(E) 혹은 해독 함수(D)를 위한 키들은 변환된 데이터 공간에서 입력 데이터 및 출력 데이터를 분석할 때 인출될 수 없다. 이것은, 비-보안 환경에서 동작할 때라도, 키들이 공격자들에 대해 보호될 수 있게 한다. 특히, 변환들은 시스템이, 인접 메모리에 평문으로, 키의 어떤 부분도, 혹은 이로부터 도출된 어떠한 값도 결코 드러날 수 없게 한다. 즉, 변환은 변환들을 적용하고 변환된 공간에서 데이터에 동작함으로써 데이터를 불명료하게 한다. 일부 실시예들에서, 이들 변환 함수들은 랜덤하게 발생된다.
데이터를 불명하게 하기 위해 변환들을 사용하는 이점은 이들 변환들의 입력 및 출력값들이, 이들 입력 및 출력값들이 공격자에게 쓸모없다는 특징에 기인하여, 일반(비-보안) 계산 환경에 저장 또는 캐시될 수 있게 하는 것이다. 반대로, 비-변환된 암호화 함수들의 입력 및 출력값들은 일반 계산 환경에 저장 또는 캐시될 수 없다. 암호화된 및 해독된/평문 키 쌍들과 같은, 이들 값들은 이들이 공격자에게 유용할 수도 있기 때문에, 비-보안 메모리에 캐시 및 저장되지 않아야 한다.
변환 함수들(T1, T2) 중 하나는 비자명(non-trivial) 함수이어야 한다. T1이 자명한(trivial) 함수인 경우에, 입력 도메인들(ID, ID')은 동일 도메인이다. T2이 자명한 함수인 경우에, 출력 도메인들은 동일 도메인이다.
도 16a에 도시된 함수(F)는 IN 및 OUT로 나타낸 2개의 서로 다른 변환 공간들을 거쳐 데이터(Z)를 이동하는 수학적 동작이다. 출력 변환 공간(OUT)의 차원은 최소한 입력 변환 공간(IN)만큼 크며, 어떠한 데이터(Z)이든 입력 및 출력 변환 공간들 둘 다에서 각각 X 및 Y로서 나타낸다(아마도 유일무이하지는 않게). 함수(F)는 역방향으로 작동하기가 어렵게 되게 설계된다. 입력 변환 공간과 출력 변환 공간 간에 어떠한 명백한 매핑도 존재하지 않고 변환 공간들(IN, OUT)의 차원이 바람직하게는 현저하게 크기 때문에, 함수(F)의 재생성이 방지된다. 또한, 함수(F)는 데이터(Z)가 예를 들어 화이트-박스 기술들 및/또는 그외 코드 불명료화 기술들을 사용하는 함수를 통과할 때 데이터(Z)를 추출하기가 어렵게 되도록 구현된다.
도 16a를 참조하면, 함수(F)는 예를 들어, Y = F(X) = 3*X + 2로서 정의된다. 입력 변환 공간(IN)이 평문 변환 공간이라면, X = (Z)IN = Z이다. 이동 후에, Y = (Z)OUT = 3*X + 2의 결과가 얻어진다. Z를 다시 출력 변환 공간에서 평문 변환 공간으로 이동하기 위해서, F-1(Y) = (3*X + 2 - 2)/3=X와 같이 X를 얻기 위해 역변환 F-1(Y) = (Y - 2)/3이 될 수 있어야 한다. 이 예에서, Z, X 및 Y는 단순 가산 및 감산 수학을 사용하여 변환하는데 사용될 수 있다. Z, X, Y는 바이너리 값들, 숫자들, 문자들, 워드들, 등을 포함한, 임의의 데이터 형식의 데이터일 수 있음을 알아야 한다. 함수(F)는 더 복잡한 함수일 수 있고 예를 들면 바이너리 값들, 숫자들, 문자들 또는 워드들로 연산하기에 적합할 수 있다. 일부 실시예들에서, 함수(F)는 바이너리 값들로 구현하기에 계산적으로 효율적이 되도록 선택된다.
함수(F)는 도 16b에 도시된 바와 같이, 추가의 파라미터(S)를 시드로 할 수 있는 수학적 연산으로서 정의될 수 있다. 함수(F)가 수행하는 이동은 전형적으로 시드(S)에 의해 정의된다. 이러한 유형의 시드 사용 변환 함수들은 전형적으로, 입력 공간(IN) 및 출력 공간(OUT)에 관한 어떠한 정보도 F에 삽입되지 않는다는 것과 관련하여 사용된다. 함수(F)는 입력 데이터(X) 또는 시드(S)의 조작으로 출력 변환 공간에서 예기치않은 결과적인 데이터(Y)가 생성되게 선택된다. 시드(S)는 변환 공간(IN 또는 OUT)에 관한 어떠한 정보도 추출될 수 없게 시드(S)가 조작되기 때문에 보안되거나 보안 환경에 저장될 필요가 없다.
도 16b를 참조하면, 함수(F)는 예를 들면 F(X, S) = X - 7 + S로서 정의된다. 입력 변환 공간(IN)이 평문 변환 공간이라면, X = (Z)IN = Z이다. 이동 후에 이와 같이 하여, Y = (Z)OUT = X - 7 + S = Z - 7 + S 결과가 얻어진다. 예를 들어, 5의 값을 포함하는 데이터로서 시드(S)가 제공된다면, F(X, 5) = X - 7 + 5 및 Y = {Z}OUT = X - 7 + 5 = Z - 2이다. 출력 변환 공간에서 평문 변환 공간으로 Z를 이동하기 위해서는, F-1(Y,S) = (X - 7 + 5 ) + 7 -S와 같이 X를 얻기 위해 역함수 F-1(Y,S) = Y + 7 -S가 가능해야 한다. 시드 S = 5이 알려진다면, Z은 F-1(Y, 5) = (X - 7 + 5) + 7 - 5 = X = Z로서 정확하게 얻어질 수 있다.
입력 변환 공간(IN)이 평문 변환 공간이 아니라면, 함수(F)는 전형적으로 먼저, 입력 변환 공간(IN)에서 역변환을 수행하고 다음에 출력 변환 공간(OUT)에서 변환을 수행한다. 이러한 함수(F)는 예를 들어 F(X, S1, S2) = F2(F1 -1(X, S1), S2)로서 정의되며, F1 -1(X, S1) = X - 2 -S1이고 F2(X, S2) = X - 7 + S2이다. 이동 후에 이와 같이 하여 Y = (Z)OUT = (X - 2 - S1) - 7 + S2 = X - 9 - S1 + S2이 얻어지며, X = (Z)IN이다.
시드들(S1, S2)은 먼저 F1 -1(X, S1)을 수행하고 다음에 F2(X, S2)을 수행하기 위해서 2개의 개별적 시드들로서, 혹은 더 바람직하게는 시드들의 합성 <S1, S2>로서 제공될 수 있다. 일반적으로, 시드들의 합성은 복수의 시드들의 혼합이다. 복수의 시드들의 혼합으로부터 개개의 시드들은 도출될 수 없다. 시드들(S1, S2)을 혼합하기 위한 파라미터 혼합 함수를 f(S1, S2) = <S1, S2>로서 표기한다. 함수 결과 <S1, S2>를 시드들(S1, S2)의 합성이라고 한다. 위의 예에서, S1 = 5 및 S2 = 7이라면, 한 합성은 <S1, S2> = 5 - 7 = -2이다.
위에 예들에서, Z, X, Y 및 S는 단순 가산 및 감산 수학을 사용하여 변환하기 위해 사용될 수 있는 숫자들이다. Z, X, Y 및 S는 바이너리 값들, 숫자들, 문자들, 워드들, 등을 포함한, 임의의 데이터 형식의 데이터일 수 있음을 알아야 한다. 함수(F)는 더 복잡한 함수일 수 있고 예를 들면 바이너리 값들, 숫자들, 문자들 또는 워드들로 연산하기에 적합할 수 있다. 도 1a 내지 도 1e과 유사하게, 도 17a는 기본 프리미티브들를 더 상세히 기술한다.
도 17a에서, 함수 A(Data, S) = AS(Data) = DataTS는 입력 시드(S)를 사용하여 입력 Data를 변환된 DataTS로 변환하는 적용 프리미티브들을 정의한다. 도 17b에서 함수 R(DataTS, S) = RS(DataTS) = Data는 출력 데이터를 얻기 위해 시드(S)를 사용하여 입력 DataTS의 변환을 역행하는 제거 프리미티브를 정의한다. 시드(S)는 서로의 역이 되게 두 개의 함수들 A() 및 R()에 대해 동일할 필요가 있다.
원 Data 및 이의 변환된 변형 DataTS는 전형적으로 동일 크기, 즉 동일한 비트 수로 표현되어, 이의 크기에 기초하여, Data가 특정 변환된 공간에 있는지를 판정하는 것을 불가능하게 한다.
도 17c에서 함수 C(Data1, Data2) = CData1(Data2) = DataC는 출력 DataC가 2개의 입력들(Data1, Data2)의 상관인 조건부 변환을 정의한다. 조건 프리미티브는 전형적으로 입력 데이터 및 출력 데이터의 크기를 보존하여, Data가 상관의 결과인지를 판정하는 것을 불가능하게 한다.
적용 프리미티브, 제거 프리미티브 및 조건 프리미티브와 같은 프리미티브들은 조합될 수 있다. 조합은 개개의 프리미티브들을 분간할 수 없는 새로운 동작을 생성한다.
도 17d는 제거 및 적용 프리미티브의 조합의 예를 도시한 것이다. 변환 동작은 입력 DataTP에 적용되는 조합된 제거 및 적용 동작에의 입력으로서 합성 <P, S>을 사용한다. RPAS 함수는 변환 도메인(P)로부터의 입력 DataTP를 출력 변환 도메인(S)에 매핑하여 출력 DataTS를 얻는다. 조합된 제거 및 적용 동작의 모든 입력들 및 출력들은 변환되거나 합성 형태이다. 동작은 변환된 데이터에 적용되어 변환된 데이터를 생성한다. 이에 따라 변환 동작은 변환된 도메인 공간들에서 행해지며 인터페이스들 어느 것에도 개개의 파라미터들 또는 비변환된 데이터를 전혀 드러내지 않는다. 합성 <P, S>을 생성하기 위해 사용되는 함수는 유일무이한 것이 바람직하며 조합된 적용 및 제거 동작의 구현에 링크된다.
도 17e는 2개의 입력 합성들 <P, S, Q1> 및 <DataTP, Q2>에 관한 보안된 상관 동작의 예를 도시한 것이다. RPCQAS 함수는 제거, 조건 및 적용 프리미티브를 조합하고 그럼으로써 출력 DataCTs를 생성한다.
도 18은 조건부 액세스 수신기의 수신기에서 구현되는 변환 경로의 예를 도시한 것이다. 수신기는 전형적으로 적어도 부분적으로 소프트웨어로서 또는 프로그래머블 어레이에 필드-프로그래머블 게이트 어레이(FPGA) 프로그램으로서 구현된다. 수신기는 프로세서의 비보호된, 부분적으로 보호된 및/또는 보안 메모리를 포함한다. 프로세서는 입력 변환 공간(IN)으로부터 비밀 데이터(Z)를 출력 변환 공간(OUT)에 이동하기 위해 메모리에 저장된 함수들을 실행하게 구성된다. 비밀 데이터(Z)는 추출 또는 인터셉트될 수 없고 이에 따라 예를 들어, 다른 수신기들에 불법으로 분배될 수 없다.
수신기는 제어 워드(CW)를 자격 제어 메시지(ECM)에 전역적으로 변환된 제어 워드(CWDT P)로서 수신한다. 수신기는 입력 변환 공간(P)으로부터 CWD를 3 단계로 수신기의 최종 출력 변환 공간(CSSK)에 이동한다. 마지막 이동 단계는 변환된 제어 워드 {CW}CSSK를 생성하는데, 이것은 수신기에 고유한 클러스터로 공유되는 비밀 키(CSSK)의 출력 변환 공간 내 제어 워드(CW)이다.
수신기는 일반 계산 환경 및 보안 계산 환경을 포함한다.
일반 계산 환경은 헤드-엔드 시스템으로부터 ECM을 수신하기 위한 ECM 전달 경로를 포함한다. 일반 계산 환경은 헤드-엔드 시스템으로부터 자격 관리 메시지들(EMM)을 수신하기 위한 EMM 전달 경로를 더 포함한다. EMM은 변환 경로의 경로를 따른 여러 변환 공간들을 통해 CWDT P를 이동하기 위해 사용되는 시드들을 포함한다. EMM으로 수신된 시드들은 일반 계산 환경의 NVRAM 메모리에 저장된다. 제 1 시드는 합성 <P, G1>과 동일하다. 제 2 시드는 합성 <G1, U1>과 동일하다. 제 3 시드는 합성 <CSSK, U1>과 동일하다.
보안 계산 환경은 일련의 변환 함수들을 포함한다. 제 1 함수(RPAG1)은 입력 변환 공간(P)로부터 CWDT P를 입력 시드로서 합성 <P, G1>을 사용하여 출력 변환 공간(G1)으로 변환한다. 이어서, 제 2 함수(RG1AU1)은 입력 변환 공간(G1)으로부터의 CWDT G1, 즉 변환 공간(G1) 내 CW를 합성 <G1, U1>을 사용하여 출력 변환 공간(U1)으로 변환한다. 이어서, 제 3 함수, 이 예에서는 TDES 화이트박스 암호화 함수는 입력 변환 공간(U1)으로부터의 CWDT U1, 즉 변환 공간(U1) 내 CW를 출력 변환 공간(CSSK)로 변환한다. 결과적인 {CW}CSSK는 CSSK 키 하에 암호화된 CW이며, 이것은 수신기의 보안된 메모리에 사전에 저장된 혹은 수신기에 의해 보안적으로 도출될 수 있는 CSSK를 사용하여 조건부 액세스 수신기에 의해 해독될 수 있다.
수신기 내 변환 경로는 도 18에 도시된 예로 한정되지 않으며 임의의 수 및 임의의 종류의 변환 동작들을 포함할 수 있음을 알아야 한다.
본 개시의 일 실시예는 컴퓨터 시스템에 사용하기 위한 프로그램물로서 구현될 수도 있다. 프로그램물의 프로그램(들)은 실시예들의 함수들(여기에 기술된 방법들을 포함해서)을 정의하며 다양한 컴퓨터 판독가능 비-일시적 저장 매체들 상에 포함될 수 있다. 컴퓨터-판독가능 저장 매체들은 비-일시적 저장 매체일 수 있다. 예시된 컴퓨터-판독가능 및/또는 비-일시적 저장 매체들은, 다음으로 제한되는 것은 아니지만, (i) 정보가 영구적으로 저장되는 비-기입가능 저장 매체들(예를 들면, CD-ROM 드라이브에 의해 읽혀질 수 있는 CD-ROM 디스크들과 같은 컴퓨터 내에 판독전용 메모리 디바이스들, 플래시 메모리, ROM 칩들 혹은 임의의 유형의 고체상태 비휘발성 반도체 메모리); 및 (ii) 변경가능 정보가 저장되는 기입가능 저장 매체들(예를 들면, 디스켓 드라이브 내에 플로피 디스크들 혹은 하드-디스크 드라이브 또는 임의의 유형의 고체상태 랜덤-액세스 반도체 메모리)를 포함한다. 또한, 개시된 바는 위에 기술된 실시예들로 제한되지 않으며, 본 개시의 범위에서 벗어남이 없이 동반된 청구항들의 범위 내에서 다양할 수 있다.
임의의 일실시예에 관련하여 기술된 임의의 특징은 단독으로, 혹은 기술된 다은 특징들과 조합하게 사용될 수 있고, 실시예들의 어떤 다른 실시예의 하나 이상의 특징들과 조합하여 사용될 수도 있고, 혹은 실시예의 어떤 다른 실시예의 임의의 조합과 조합하여 사용될 수 있음을 알아야 한다. 또한, 위에 기술되지 않은 등가물들 및 수정예들은 동반된 청구항들에 정의된 발명의 범위 내에서 채용될 수도 있다.

Claims (12)

  1. 제어 워드를 보안적으로 얻기 위한 수신기로서, 상기 수신기는 변환된 제어 워드(x) 및 시드(seed)(y)를 수신하고 상기 변환된 제어 워드(x)를 입력 변환 공간에서 출력 변환 공간으로 이동하여 상기 시드(y)의 제어 하에 수학적 변환을 사용하여 제어 워드(z)를 얻게 구성된 변환 함수(F)를 저장하게 구성된 제 1 메모리를 포함하며, 상기 수신기는 캐시 메모리 및 캐시 제어 모듈을 더 포함하며, 상기 캐시 제어 모듈은,
    상기 변환된 제어 워드(x) 및 상기 시드(y)를 인터셉트하고;
    상기 변환 함수(F), 상기 변환된 제어 워드(x) 및 상기 시드(y)에 일치하는 상기 제어 워드(z)를 상기 캐시 메모리에서 찾고;
    상기 제어 워드(z)가 상기 캐시 메모리에서 발견된다면, 상기 제어 워드(z)를 상기 변환 함수(F)의 출력에 제공하고 그럼으로써 상기 변환 함수(F)를 우회(bypass)하며;
    상기 제어 워드(z)가 상기 캐시 메모리에서 발견되지 않는다면, 상기 제어 워드(x) 및 상기 시드(y)를 상기 변환 함수(F)에 제공하고, 상기 변환 함수(F)로부터 상기 제어 워드(z)를 얻고 상기 변환 함수(F), 상기 변환된 제어 워드(x) 및 상기 시드(y)에 연관하여 상기 제어 워드(z)를 상기 캐시 메모리에 저장하게 구성된, 수신기.
  2. 제1항에 있어서, 상기 제 1 메모리는 일련의 변환 함수들을 형성하는 2 이상의 변환 함수들(F, G) 및/또는 변환 함수들의 트리를 저장하게 구성되며, 상기 캐시 제어 모듈은 상기 캐시 메모리를 하나 이상의 상기 변환 함수들(F, G)에 통신이 되게 연결하는 데이터 버스에 링크되는, 수신기.
  3. 제2항에 있어서, 상기 일련의 변환 함수들 및/또는 변환 함수들의 트리에서 마지막 변환 함수는 상기 제어 워드를 평문 제어 워드 또는 암호화된 제어 워드로서 발생하게 구성된, 수신기.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제 1 메모리를 포함하는 보안 계산 환경을 포함하며, 상기 수신기는 상기 캐시 메모리를 포함하는 일반 계산 환경을 더 포함하는, 수신기.
  5. 제4항에 있어서, 상기 일반 계산 환경은 상기 캐시 제어 모듈을 포함하며, 상기 데이터 버스는 상기 캐시 제어 모듈을 상기 하나 이상의 변환 함수들(F, G)의 입력들 및 상기 출력에 통신이 되게 연결하는, 수신기.
  6. 제4항에 있어서, 상기 하나 이상의 변환 함수들 각각은 캐시 제어 모듈을 포함하며, 상기 데이터 버스는 각각의 캐시 제어 모듈을 상기 캐시 메모리에 통신이 되게 연결하는, 수신기.
  7. 제4항 내지 제6항 중 어느 한 항에 있어서, 스마트카드를 더 포함하며, 상기 스마트카드는 상기 수신기에 착탈가능하게 연결될 수도 있으며, 상기 스마트카드는 상기 보안 계산 환경을 포함하는, 수신기.
  8. 제7항에 있어서, 상기 수신기는 네트워크를 통해 상기 스마트카드에 통신이 되게 링크되는, 수신기.
  9. 제7항 또는 제8항에 따른 수신기에 사용하기 위한 스마트카드로서, 상기 스마트카드는 보안 계산 환경에 제 1 메모리를 포함하며, 상기 제 1 메모리는 변환된 제어 워드(x) 및 시드(y)를 수신하고, 상기 시드(y)의 제어 하에 수학적 변환을 사용하여 제어 워드(z)를 얻기 위해서 상기 변환된 제어 워드(x)를 입력 변환 공간에서 출력 변환 공간으로 이동하게 구성된 변환 함수(F)를 저장하게 구성되며, 상기 변환 함수(F)는,
    상기 변환된 제어 워드(x) 및 상기 시드(y)를 인터셉트하고;.
    상기 변환 함수(F), 상기 변환된 제어 워드(x) 및 상기 시드(y)에 일치하는 상기 제어 워드(z)를 상기 수신기의 캐시 메모리에서 찾고;
    상기 제어 워드(z)가 상기 캐시 메모리에서 발견된다면, 상기 제어 워드(z)를 상기 변환 함수(F)의 출력에 제공하고 그럼으로써 상기 변환 함수(F)를 우회하며;
    상기 제어 워드(z)가 상기 캐시 메모리에서 발견되지 않는다면, 상기 제어 워드(x) 및 상기 시드(y)를 상기 변환 함수(F)에 제공하고, 상기 변환 함수(F)로부터 상기 제어 워드(z)를 얻고, 상기 변환 함수(F), 상기 변환된 제어 워드(x) 및 상기 시드(y)에 연관하여 상기 제어 워드(z)를 상기 캐시 메모리에 저장하게 구성된 캐시 제어 모듈을 포함하는, 스마트카드.
  10. 제9항에 있어서, 상기 제 1 메모리는 일련의 변환 함수들을 형성하는 2 이상의 변환 함수들(F, G) 및/또는 변환 함수들의 트리를 저장하게 구성되며, 상기 캐시 제어 모듈은 상기 캐시 메모리를 하나 이상의 상기 변환 함수들(F, G)에 통신이 되게 연결하는 데이터 버스에 링크되는, 스마트카드.
  11. 헤드-엔드 시스템 및 제1항 내지 제8항 중 어느 한 항에 따른 수신기들 중 하나 이상을 포함하는 조건부 액세스 시스템으로서, 상기 헤드-엔드 시스템은 상기 변환된 제어 워드(x)를 포함하는 자격 제어 메시지 및 하나 이상의 시드들(y)을 포함하는 자격 관리 메시지를 상기 수신기에 전송하게 구성된, 조건부 액세스 시스템.
  12. 변환 함수(F)를 저장하게 구성된 제 1 메모리를 포함하는 수신기에서 제어 워드를 보안적으로 얻기 위한 방법에 있어서,
    변환된 제어 워드(x) 및 시드(y)를 수신하는 단계(101);
    상기 변환된 제어 워드(x) 및 상기 시드(y)를 캐시 제어 모듈에 인터셉트 하는 단계(102);
    상기 변환 함수(F), 상기 변환된 제어 워드(x) 및 상기 시드(y)에 일치하는 상기 제어 워드(z)를 캐시 메모리에서 찾는 단계(103);
    상기 제어 워드(z)가 상기 캐시 메모리에서 발견된다면(104), 상기 변환 함수(F)를 우회하도록 상기 제어 워드(z)를 상기 변환 함수(F)의 출력에 제공하는 단계(105); 및
    상기 제어 워드(z)가 상기 캐시 메모리에서 발견되지 않는다면(104), 상기 제어 워드(x) 및 상기 시드(y)를 상기 변환 함수(F)에 제공하고(106), 상기 시드(y)의 제어 하에 수학적 변환을 사용하여 제어 워드(z)를 얻기 위해서 상기 변환된 제어 워드(x)를 입력 변환 공간에서 출력 변환 공간으로 상기 변환 함수(F)에서 이동하고(107), 상기 변환 함수(F), 상기 변환된 제어 워드(x) 및 상기 시드(y)에 연관하여 상기 제어 워드(z)를 상기 캐시 메모리에 저장하는 단계(108)를 포함하는, 방법.
KR1020100138770A 2010-01-26 2010-12-30 변환들을 사용한 수신기에서의 제어 워드의 계산적으로 효율적인 획득 KR20110088375A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP10151677.1 2010-01-26
EP10151677A EP2348725A1 (en) 2010-01-26 2010-01-26 Computational efficiently obtaining a control word in a receiver using transformations
EP10196221.5A EP2360918B1 (en) 2010-01-26 2010-12-21 Computational efficiently obtaining a control word in a receiver using transformations
EP10196221.5 2010-12-21

Publications (1)

Publication Number Publication Date
KR20110088375A true KR20110088375A (ko) 2011-08-03

Family

ID=42270550

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100138770A KR20110088375A (ko) 2010-01-26 2010-12-30 변환들을 사용한 수신기에서의 제어 워드의 계산적으로 효율적인 획득

Country Status (6)

Country Link
US (1) US9106795B2 (ko)
EP (2) EP2348725A1 (ko)
JP (1) JP2011155642A (ko)
KR (1) KR20110088375A (ko)
CN (1) CN102137289B (ko)
CA (1) CA2726501C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160088513A (ko) * 2015-01-15 2016-07-26 한국전자통신연구원 암호화 장치 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201418815D0 (en) 2014-10-22 2014-12-03 Irdeto Bv Providing access to content
EP3373505A1 (en) * 2017-03-06 2018-09-12 Koninklijke Philips N.V. Device and method for sharing a matrix for use in a cryptographic protocol
EP4044554B1 (en) 2021-02-16 2023-10-18 Irdeto B.V. Providing and managing mobile network operator profiles
AR126203A1 (es) * 2021-06-23 2023-09-27 Arris Entpr Llc Sistema y método para entregar claves y encriptar contenido de forma segura en entornos informáticos en la nube

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6034411A (en) 1997-10-29 2000-03-07 Intersil Corporation Inverted thin film resistor
JP2002261747A (ja) * 2000-12-28 2002-09-13 Sony Corp 配信方法及び配信システム
US7409562B2 (en) * 2001-09-21 2008-08-05 The Directv Group, Inc. Method and apparatus for encrypting media programs for later purchase and viewing
JP3965126B2 (ja) 2002-03-20 2007-08-29 松下電器産業株式会社 コンテンツを再生する再生装置
JP4326186B2 (ja) * 2002-04-15 2009-09-02 ソニー株式会社 情報処理装置および方法
US7724907B2 (en) * 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
JP2004192038A (ja) * 2002-12-06 2004-07-08 Sharp Corp 情報処理装置、情報処理システム、情報処理プログラム、および該プログラムを記録した記録媒体
JP4422437B2 (ja) * 2003-06-25 2010-02-24 日本放送協会 ライセンス情報送信装置およびライセンス情報受信装置
JP2005053009A (ja) * 2003-08-07 2005-03-03 Canon Inc 印刷装置
US7577253B2 (en) * 2003-11-13 2009-08-18 Irdeto Eindhoven B.V. Conditional access method and devices
KR20070074562A (ko) * 2004-09-10 2007-07-12 코닌클리케 필립스 일렉트로닉스 엔.브이. 조건적 액세스를 제공하는 방법
US7933410B2 (en) * 2005-02-16 2011-04-26 Comcast Cable Holdings, Llc System and method for a variable key ladder
US20060200412A1 (en) * 2005-02-23 2006-09-07 Comcast Cable Holdings, Llc System and method for DRM regional and timezone key management
EP1722564A1 (fr) * 2005-05-13 2006-11-15 Nagra France Sarl Méthode d'accès conditionnel local pour équipements mobiles
EP2227014B1 (en) 2009-03-02 2019-10-02 Irdeto B.V. Securely providing secret data from a sender to a receiver
EP2227015B1 (en) * 2009-03-02 2018-01-10 Irdeto B.V. Conditional entitlement processing for obtaining a control word

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160088513A (ko) * 2015-01-15 2016-07-26 한국전자통신연구원 암호화 장치 및 방법

Also Published As

Publication number Publication date
US9106795B2 (en) 2015-08-11
JP2011155642A (ja) 2011-08-11
CN102137289B (zh) 2016-05-18
US20110268271A1 (en) 2011-11-03
CA2726501A1 (en) 2011-07-26
EP2360918A1 (en) 2011-08-24
CN102137289A (zh) 2011-07-27
EP2360918B1 (en) 2017-05-17
CA2726501C (en) 2018-10-16
EP2348725A1 (en) 2011-07-27

Similar Documents

Publication Publication Date Title
KR101370223B1 (ko) 로우 레이턴시 블록 암호
CN102164034A (zh) 用于建立安全信任密钥的设备和方法
JP5901884B2 (ja) 個人向けホワイトボックス・デスクランバー
CN110650010A (zh) 一种非对称密钥中的私钥生成和使用方法、装置和设备
JP2010213268A (ja) コントロールワードを取得するための条件付エンタイトルメント処理
US9619658B2 (en) Homomorphically encrypted one instruction computation systems and methods
KR20110088375A (ko) 변환들을 사용한 수신기에서의 제어 워드의 계산적으로 효율적인 획득
CN110245498A (zh) 解密方法和电路以及对应的设备
US9219606B2 (en) Method and device for digital data blocks encryption and decryption
US10411880B2 (en) Apparatus and method for encryption
US8737620B2 (en) Securely providing secret data from a sender to a receiver
US11436346B2 (en) Device for protecting encrypted data and associated method
KR101281275B1 (ko) 부울 함수 표현을 이용한 블록암호 암/복호화 과정의 난독화 방법 및 이를 위한 장치

Legal Events

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