KR101687215B1 - 송신기로부터 수신기로의 비밀 데이터 보안 제공 - Google Patents

송신기로부터 수신기로의 비밀 데이터 보안 제공 Download PDF

Info

Publication number
KR101687215B1
KR101687215B1 KR1020100018728A KR20100018728A KR101687215B1 KR 101687215 B1 KR101687215 B1 KR 101687215B1 KR 1020100018728 A KR1020100018728 A KR 1020100018728A KR 20100018728 A KR20100018728 A KR 20100018728A KR 101687215 B1 KR101687215 B1 KR 101687215B1
Authority
KR
South Korea
Prior art keywords
receivers
receiver
secret data
space
sequence
Prior art date
Application number
KR1020100018728A
Other languages
English (en)
Other versions
KR20100099074A (ko
Inventor
필립 앨런 아이젠
에토레 베네데티
아누드 에버트 반 포레스트
앤드류 아우구스틴 와이즈
Original Assignee
이르데토 비.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이르데토 비.브이. filed Critical 이르데토 비.브이.
Publication of KR20100099074A publication Critical patent/KR20100099074A/ko
Application granted granted Critical
Publication of KR101687215B1 publication Critical patent/KR101687215B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • 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/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/26613Channel 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 keys in general
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4408Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 비밀 데이터를 송신기로부터 하나 이상의 수신기들로 보안하여 제공하기 위한 시스템 및 방법을 제공한다. 수신기는, 하나 이상의 시드들의 제어 하에 수학 변환을 사용하여 비밀 데이터를 입력 변환 공간으로부터 출력 변환 공간으로 이전하기 위해 함수들의 계층으로부터 발생한 함수들의 시퀀스를 사용한다. 시드들은 송신기에 의해 수신기에 제공된다. 송신기는 조건부로 수신기가 시드들을 제어함으로써 비밀 데이터를 획득하도록 한다.

Description

송신기로부터 수신기로의 비밀 데이터 보안 제공{SECURELY PROVIDING SECRET DATA FROM A SENDER TO A RECEIVER}
본 발명은 비밀 데이터를 송신기로부터 하나 이상의 수신기들에게 제공하기 위한 시스템, 비밀 데이터를 하나 이상의 수신기들로 보안하여 제공하기 위한 송신기, 비밀 데이터를 송신기로부터 보안하여 수신하기 위한 수신기, 비밀 데이터를 송신기로부터 하나 이상의 수신기들로 보안하여 제공하기 위한 방법, 송신기에서 비밀 데이터를 송신기로부터 하나 이상의 수신기들로 보안하여 제공하기 위한 방법, 및 비밀 데이터를 송신기로부터 보안하여 수신기에서 수신하기 위한 방법에 관한 것이다.
송신기로부터 수신기로 데이터를 보호하여 제공하기 위한 다양한 암호화 기술들이 공지되어 있고, 여기서 데이터는 암호화 키를 사용하여 송신기 측에서 암호화되고, 암호화된 데이터는 수신기로 송신되고 암호화된 데이터는 암호 해제 키를 사용하여 수신기 측에서 암호 해제된다. 암호 해제 키는 또한 송신기로부터 수신기로 제공될 수 있으며, 이 경우 암호 해제 키는 보안하여 제공될 필요가 있는 비밀 데이터이다. 송신기는 어떤 수신기가 비밀 데이터를 획득할 수 있는지를 관리하고 있는 경우, 비밀 데이터는 조건부로 제공된다.
예를 들어, 페이 TV(pay TV)용 조건부 액세스 시스템에서, 유료 콘텐츠(premium contents)는 통상적으로 제어 워드(CW; control word)를 암호화 키로 사용함으로써 헤드엔드 시스템(head-end system)에서 스크램블링(scrambling: 비화)된다. 스크램블링된 콘텐츠는 조건부 액세스 수신기들로 방송(broadcast)된다. 수신기가 스크램블링된 콘텐츠를 스크램블링 해제하도록 하기 위해서는, 수신기에 스마트카드(smart card)가 삽입되어야만 한다. 스마트카드는, 수신기의 키 CSUK 하에 암호화된 칩셋 세션 키(CSSK; chipset session key)를 포함하는 암호화된 자격 관리 메시지(entitlement management message: EMM)를 헤드-엔드 시스템으로부터 수신기를 통해서 수신한다. 수신기를 통해서, 스마트카드는 또한 CSSK 하에 암호화된 CW를 포함하는 자격 제어 메시지(entitlement control message: ECM)를 헤드-엔드 시스템으로부터 수신하다. 통상적으로 CW는 CSSK보다 더 짧은 수명을 갖는다. 그러므로 CSSK는 시간을 통해 다수의 ECM들에서 수신된 다수의 CW들을 암호 해제하는데 사용될 수 있다. 스마트카드는 암호 해제된 CSSK를 사용하여 CW를 암호 해제하고, 암호 해제된 CW는 후속해서 수신기에 의해 사용되어 스크램블링된 콘텐츠를 스크램블링 해제할 수 있다. CW를 암호 해제하기 위해서 추가 키 층(layer)들이 사용될 수 있음이 공지되어 있다.
공격자들이 시간에 걸쳐 새로운 기술들을 개발하여 컴퓨팅 환경들(computing environments)을 위반하기 때문에 수신기를 더욱 보안을 할수록 제작 비용이 증가하고, 더 정교한 대응책들이 통합될 필요가 있다.
특히 페이-TV 분야에서, 스마트카드들은 수신기들의 신뢰된 환경을 제공하는 선택의 플랫폼(platform)이다. 그러나, 스마트카드가 비록 안전할지라도, 로지스틱스(logistics) 측면 - 이들은 분배되고 추적될 필요가 있으므로 - 그리고 컴포넌트 비용 측면 이 둘 모두에서 비용이 고가이다. 더욱이, 어떤 결점들이 발견되었던 경우에 이전에 사용된 스마트카드들을 철회하고 교환하는 것이 어렵고 비용이 많이 든다. 이것은 스마트카드의 애플리케이션(application)의 설계 및 개발이 매우 신중하고, 테스트가 매우 철저해야 할 필요가 있음을 의미하다. 더욱이, 스마트카드는 방송 콘텐츠의 대량 암호 해제를 실행하는데 충분한 CPU 전력을 제공하지 않는다. 그러므로 스마트카드의 역할은, 대부분 획득된 CW를 전용 또는 범용 목적인 수신기 내의 디스크램블러(descrambler)와 같은 더욱 강력한 하드웨어로 중계하는 것으로 제한된다. 이와 같은 수신기는 - 그 결과로서 - 불편하게도 스마트카드와의 통신 시에 최소한도의 기밀성(confidentiality)을 보장해야 하고, 이는 스마트카드 및 수신기 사이에서 공유되는 키와 같은 어떤 고유 비밀을 수반한다.
비밀 데이터를 송신기로부터 수신기에 안전하고 조건부로 제공하기 위한 개선된 해법이 필요하다.
본 발명의 목적은 예를 들어 제어 워드 또는 암호 해제 키와 같은 비밀 데이터를, 송신기로부터 수신기로 보안하여 제공하기 위한 개선된 방법을 제공하는 것이다.
본 발명의 양태에 따라, 비밀 데이터를 송신기로부터 하나 이상의 수신기들로 보안하여 제공하기 위한 시스템이 제안된다. 상기 수신기는 함수들의 계층으로부터 발생하는 함수들의 시퀀스를 저장하기 위해 구성되는 제 1 메모리를 포함한다. 각각의 함수는 시드의 제어 하에 수학 변환을 사용하여 상기 비밀 데이터를 입력 변환 공간으로부터 출력 변환 공간으로 이전하도록 구성된다. 상기 송신기는 상기 시드를 상기 수신기에 제공하도록 구성된다. 상기 수신기는 상기 시드의 제어 하에 함수들의 시퀀스를 사용하여 상기 비밀 데이터를 상기 입력 변환 공간으로부터 최종 출력 변환 공간으로 이전하도록 구성된다.
본 발명의 양태에 따라, 비밀 데이터를 송신기로부터 하나 이상의 수신기들로 보안하여 제공하기 위한 방법이 제안된다. 상기 수신기는 함수들의 계층으로부터 발생하는 함수들의 시퀀스를 저장하기 위해 구성되는 제 1 메모리를 포함하고, 각각의 함수는 시드의 제어 하에 수학 변환을 사용하여 상기 비밀 데이터를 입력 변환 공간으로부터 출력 변환 공간으로 이전하도록 구성된다. 상기 방법은 하나 이상의 시드들을 상기 송신기에서 상기 수신기로 제공하는 단계를 포함한다. 상기 방법은 부가적으로, 상기 수신기에서, 상기 시드들의 제어 하에 상기 함수들의 시퀀스를 사용하여 상기 비밀 데이터를 상기 입력 변환 공간으로부터 최종 출력 변환 공간으로 이전하는 단계를 더 포함한다.
본 발명의 양태에 따라, 비밀 데이터를 하나 이상의 수신기들로 보안하여 제공하기 위한 송신기가 제안된다. 상기 송신기는 상기에 규정된 바와 같은 특징들 중 하나 이상을 갖는 시스템에서 사용하기 위한 것이다. 상기 송신기는 함수들의 계층을 규정하도록 구성된다. 각각의 함수는 시드의 제어 하에 수학 변환을 사용하여 상기 비밀 데이터를 입력 변환 공간으로부터 출력 변환 공간으로 이전하도록 구성된다. 상기 송신기는 상기 시드를 상기 수신기로 제공하도록 구성된다.
본 발명의 양태에 따라, 송신기에서 비밀 데이터를 송신기로부터 하나 이상의 수신기들로 보안하여 제공하기 위한 방법이 제안된다. 상기 방법은 각각의 함수가 시드의 제어 하에 수학 변환을 사용하여 상기 비밀 데이터를 입력 변환 공간으로부터 출력 변환 공간으로 이전하도록 구성되는, 함수들의 계층을 규정하는 단계를 포함한다. 상기 방법은 하나 이상의 시드들을 상기 수신기들에 제공하는 단계를 부가하여 포함한다.
본 발명의 양태에 따라, 비밀 데이터를 송신기로부터 보안하여 수신하기 위한 수신기가 제안된다. 상기 수신기는 상기에 규정된 특징들 중 하나 이상을 갖는 시스템에서 사용하기 위한 것이다. 상기 수신기는 함수들의 계층에서 발생하는 함수들의 시퀀스를 저장하도록 구성되는 제 1 메모리를 포함한다. 각각의 함수는 시드의 제어 하에 수학 변환을 사용하여 상기 비밀 데이터를 입력 변환 공간으로부터 출력 변환 공간으로 이전하도록 구성된다. 상기 수신기는 상기 송신기로부터 하나 이상의 시드들을 수신하도록 구성된다. 상기 수신기는 상기 시드들의 제어 하에 상기 함수들의 시퀀스를 사용하여 상기 비밀 데이터를 상기 입력 변환 공간으로부터 최종 출력 변환 공간으로 이전하도록 구성된다.
본 발명의 양태에 따라, 송신기로부터 비밀 데이터를 보안하여 수신하기 위한 수신기에서의 방법이 제안된다. 상기 수신기는 함수들의 계층에서 발생하는 함수들의 시퀀스를 저장하도록 구성되는 제 1 메모리를 포함하고, 각각의 함수는 시드의 제어 하에 수학 변환을 사용하여 상기 비밀 데이터를 입력 변환 공간으로부터 출력 변환 공간으로 이전하도록 구성된다. 상기 방법은 상기 송신기로부터 하나 이상의 시드들을 수신하는 단계를 포함한다. 상기 방법은 상기 시드들의 제어 하에 함수들의 시퀀스를 사용하여 상기 비밀 데이터를 상기 입력 변환 공간으로부터 최종 출력 변환 공간으로 이전하는 단계를 추가로 포함한다.
그러므로, 상기 비밀 데이터는 상기 수신기에서 스마트카드와 같은 특정한 하드웨어의 필요없이 상기 송신기에서 상기 수신기로 유용하게 조건부로 제공될 수 있다.
변환(또는 변환화)은 손실이 없고 원 표현으로 용이하게 가역될 수 없는 특수한 데이터 인코딩(encoding)이다. 인코딩들의 여러 등급들은, 전형적으로 특정 대수들의 속성들에 기초하여, 공지되어 있다. 변환 공간은, 모든 가능한 클리어 데이터(clear data)에 대한 인코딩들을 포함하고, 상기 인코딩된 데이터에 연산들과 동등하게 상기 클리어 데이터에 대한 연산들이 매핑(mapping)에 의해 수행되는 특수한 변환에 의해 규정되는 도메인(domain)이다.
"상기 시드의 제어 하에"는 -상기 수신기가 상기 비밀 데이터를 수신하는 것이 가능한 경우에- 상기 함수에 의해 수행되는 수학 변환이 상기 비밀 데이터의 출력 변환 공간을 발생시키는 그와 같은 방식으로, 상기 비밀 데이터의 상기 입력 변환 공간과 매칭하는 값, 값들의 세트, 또는 함수와 같은 특정 데이터를 상기 시드가 포함한다는 것을 의미한다. 즉, 변환 이후의 상기 출력 변환 공간은, 대응하는 시드의 제어 하에 후속 함수에 의해 수행되는 후속 변환에서의 입력 변환 공간으로써 사용될 수 있어서, 후속해서 클리어 텍스트 변환 공간으로 이전될 때 상기 비밀 데이터가 달성가능할 것이다. 상기 수신기가 상기 비밀 데이터를 수신하는 것이 가능하지 않은 경우에, 상기 송신기는 상기 변환을 수행할 수 없는 함수를 발생시키는 시드를 송신하지 않거나, 또는 무의미한 출력을 갖는 수학 변환을 수행하는 함수를 발생시키는 부정확한 시드를 송신할 수 있다. 후자의 경우 상기 비밀 데이터는 상기 클리어 텍스트 변환 공간으로의 이전에 의해서 달성될 수 없다.
함수는 통상적으로 소프트웨어 코드 부분 또는 상기 메모리에 저장되는 소프트웨어 모듈(module)이다. 프로세서는, 상기 비밀 데이터를 상기 입력 변환 공간에서 상기 최종 출력 변환 공간으로 이전하도록 상기 함수들의 시퀀스 내의 상기 함수들을 실행한다.
청구항들 제 2 항 및 제 10 항의 실시예들은 유용하게도, 상기 비밀 데이터를 획득하기 위해 상기 송신기가 수신기들의 그룹을 불능화하는 것을 가능하게 한다.
청구항들 제 3 항 및 제 11 항의 실시예들은 유용하게도, 상기 비밀 데이터를 획득하기 위해서 상기 송신기가 특정한 수신기를 불능화하는 것을 가능하게 한다.
청구항들 제 4 항 및 제 12 항의 실시예들은 유용하게도, 상기 비밀 데이터가 특정한 수신기에 의해서만, 즉, 상기 수신기에 전형적으로 고유한 정확한 개인화 시드를 갖는 상기 수신기에 의해서만 획득 가능하게 한다.
청구항들 제 5 항 및 제 13 항의 실시예들은 유용하게도, 가역 엔지니어링(engineering) 및/또는 상기 함수의 가역 실행에 대한 보호를 가능하게 함으로써 상기 함수들 간의 인터페이스(interface)들이 보호될 필요가 없다.
청구항 제 6 항 및 제 14 항의 실시예들은 유용하게도 상기 함수들의 가역 엔지니어링에 대한 추가 보호를 제공한다.
도 1은 종래 기술의 수학 변환을 수행하는 함수를 도시하는 도면.
도 2는 본 발명의 예시적인 실시예의 시드의 제어 하에 수학 변환을 수행하는 기능을 도시하는 도면.
도 3은 본 발명의 예시적인 실시예의 함수들의 시퀀스를 도시하는 도면.
도 4는 본 발명의 예시적인 실시예의 함수들의 시퀀스를 도시하는 도면.
도 5는 본 발명의 예시적인 실시예의 변환 계층을 도시하는 도면.
도 6은 본 발명의 예시적인 실시예의 변환 계층을 도시하는 도면.
도 7은 본 발명의 예시적인 실시예의 조건부 액세스 수신기들 도시하는 도면.
도 8은 본 발명의 예시적인 실시예의 시스템에서의 방법의 단계들을 도시하는 도면.
도 9는 본 발명의 예시적인 실시예의 송신기에서의 방법의 단계들을 도시하는 도면.
도 10은 본 발명의 예시적인 실시예의 수신기에서의 방법의 단계들을 도시하는 도면.
도 11은 변환 함수들 및 일반적인 용어들에서의 암호화를 명확하게 하는 도면을 도시하는 도면.
이후에, 본 발명의 실시예들은 부가적인 세부사항에서 기술될 것이다. 그러나, 그러한 실시예들은 본 발명에 대한 보호 범위를 제한하는 것으로 해석되지 않아야 하는 것이 이해되어야 한다.
본 발명의 양태들은 도면들에 도시된 예시적인 실시예들을 참조하여 더욱 상세하게 설명될 것이다.
도 1에 도시된 함수(F)는 IN 및 OUT에 의해 식별되는 두 상이한 변환 공간들 - 예를 들어 암호화 공간들-에 걸쳐 데이터(Z)를 이전하는 수학 연산이다. 출력 변환 공간(OUT)의 차원의 크기는 적어도 입력 변환 공간(IN)과 동일하고, 어떤 데이터(Z)는 입력 및 출력 변환 공간들 모두에서 X 및 Y로 각각 표현된다(가능하면 고유하지 않도록). 변환 공간들(IN 및 OUT)은 데이터(Z) 및 변환 공간들 중 하나에서의 자체의 표현 사이의 명확한 매핑이 존재하지 않는, 즉, 즉, X 및 Y만을 알고 있을 때 대응하는 Z를 획득하는 것이 어렵거나 심지어 불가능한 그러한 방식으로 규정된다. 함수(F)는 역방향으로 실행되는 것이 어렵게 설계된다. 입력 및 출력 변환 공간들 사이의 명확한 매핑이 존재하지 않고 변환 공간들(IN 및 OUT)의 차원이 현저하게 큰 것이 바람직하기 때문에, 함수(F)의 재생성이 방지된다. 더욱이, 함수(F)는, 예를 들어 데이터(Z)가 공지된 화이트 박스(white box) 기술들 및/또는 공지된 코드 모호화 기술(code obfuscation technique)들을 사용하여 상기 함수를 통과하므로, 데이터(Z)를 추출하기 어려운 방식으로 구현된다.
도 1을 참조하면, 함수(F)는 예를 들어 F(X)=3*X+2로 규정된다. 입력 변환 공간(IN)이 클리어 텍스트 변환 공간인 경우, X=(Z)IN=Z이다. 이전한 이후에 다음 결과가 획득된다: Y=(Z)OUT=3*X+2이다. Z를 다시 출력 변환 공간으로부터 클리어 텍스트 변환 공간으로 이전하기 위해서, 역함수 F-1(Y)=(Y-2)/3는 수신기에서 이용가능해야만 다음과 같은 X를 획득한다: F-1(Y)=(3*X+2-2)/3=X. 상기 예에서 Z, X 및 Y는 단순한 가법 및 감법 수학을 사용하여 변환되는데 사용될 수 있는 수들이다. Z, X 및 Y는 이진값들, 수들, 문자들, 워드들 등을 포함하는, 임의의 데이터 형식인 데이터일 수 있다. 함수(F)는 더 복잡한 함수이고, 예를 들어 이진값들, 수들, 문자들 또는 워드들에 대한 연산에 적합할 수 있다. 함수(F)는 예를 들어 암호화 함수일 수 있다.
함수(F)는, 도 2에서 도시된 바와 같이, 추가 파라미터(또한 "시드"로서 칭해지는) S에 의해 시딩(seeding)될 수 있는 수학적 연산으로 규정될 수 있다. 함수(F)가 수행되기 전에는 전형적으로 시드(S)에 의해서만 규정되고, 입력 공간(IN) 및 출력 공간(OUT)에 대한 정보는 F에 삽입되지 않는다. 함수(F)는 입력 데이터(X) 또는 시드(S)의 조작이 출력 변환 공간에서 예측 불가능한 결과의 데이터(Y)를 산출하는 그와 같은 방식으로 선택된다. 시드(S)는 변환 공간(IN 또는 OUT)에 대한 정보가 추출될 수 없는 그러한 방식으로 엔지니어링되므로, 시드(S)는 보안 환경에 저장될 필요가 없다.
도 2를 참조하면, 함수(F)는 예를 들어, F(X, S)=X-7+S로 규정된다. 입력 변환 공간(IN)이 클리어 텍스트 변환 공간인 경우, X=(Z)IN=Z이다. 그러므로 이전한 후에 다음의 결과가 획득된다: Y=(Z)OUT=X-7+S=Z-7+S. 예를 들어, 시드(S)가 5의 값을 포함하는 데이터로서 제공되는 경우, F(X, 5)=X-7+5 및 Y=(Z)OUT=X-7+5=Z-2이다. Z를 다시 출력 변환 공간으로부터 클리어 텍스트 변환 공간으로 이전하기 위해서, 수신기가 다음과 같은 Z를 획득할 수 있도록, 역함수 F-1=(Y, S)=Y+7-S는 수신기에서 이용 가능해야만 한다: F-1(Y, S)=(X-7+5)+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이다. 먼저 F1 -1(X, S1)을 수행하고 다음에 F2(X, S2)를 수행하도록, 시드들(S1 및 S2)은 두 개의 개별 시드들로, 또는 F2(F1 -1(X, S1), S2)로의 입력으로 사용될 수 있는 컴파운드(compound) <S1, S2>을 포함하는 단일 시드로 제공될 수 있다. 예를 들어, S1=5 및 S2=7인 경우, 상기 컴파운드는 Z를 출력 변환 공간(OUT)으로 성공적으로 이전하도록 <S1, S2>=5-7=-2와 같아야만 한다. 이 예들에서, Z, X, Y 및 S는 단순한 가법 및 감법 수학을 사용하여 변화하는데 사용될 수 있는 수들이다. Z, X, Y 및 S는 이진값들, 수들, 문자들, 워드들 등을 포함하는, 임의의 데이터 포맷인 데이터일 수 있다. 함수(F)는 더 복잡한 함수이고, 예를 들어 이진값들, 수들, 문자들 또는 워드들에 대한 연산에 적합할 수 있다. 함수(F)는 예를 들어 암호화 함수일 수 있다.
도 3에 도시된 바와 같이, 함수(F)는 시퀀스 내에서 다수 회 반복될 수 있고, 데이터(Z)가 다수의 변환 공간들에 걸쳐 이전되는 것을 가능하게 하기 위해 각각의 회차에서는 상이한 시드(또는 컴파운드들의)(Si)를 갖는다. 도 3의 예에서 데이터(Z)는 함수(F) 및 시드(S1)를 사용하여 우선 입력 변환 공간(IN)(즉, X=(Z)IN)으로부터 출력 변환 공간(OUT1)(도시되지 않음)으로 이전된다. 그리고나서 중간 결과((Z)OUT1)(도시되지 않음)는 데이터(Z)를 변환 공간(OUT1)으로부터 변환 공간(OUT2)(도시되지 않음)으로 이전하도록 시드(S2)를 갖는 함수(F)로 입력된다. 최종으로, 중간 결과((Z)OUT2)(도시되지 않음)는 변환 공간(OUT2)으로부터 변환 공간(OUT3)으로 데이터(Z)를 이전하기 위해 시드(S3)를 갖는 함수(F)로 입력되어, Y=(Z)OUT3가 발생된다. IN에서 OUT3로의 총 변환은 보정 순서에서 값들을 보정했던 모든 세 시드들에 완전하게 좌우된다. 시드들은 독립하여 사용되는 경우 의미를 갖지 않는다.
함수(F)의 역 엔지니어링을 방지하기 위해, 단계 내 변환 공간들(도 3에서의 OUT1 및 OUT2)은 관련 함수들에 부분적으로 삽입될 수 있으므로, 도 3에 대해서 설명된 것과 동일한 원리들을 기반으로 교환 불가능 함수들의 새로운 시퀀스를 생성한다. 이는 도 4에 도시된다. 도 4에서, 함수들(F1, F2 및 F3)의 각각 및 이의 대응하는 시드(S2, S2 및 S3)는 자체의 입력 변환 공간이 시퀀스 내의 이전의 함수의 출력 변환 공간과 정합하는 경우에만 의미 있는 출력을 산출한다. 도 4의 예에서 함수(F1)와 공동 동작하는 시드(S1)는 데이터(Z)를 입력 변환 공간(IN)으로부터 출력 변환 공간(OUT1)으로 이전시킴으로써, 함수(F2)와 공동 동작하는 후속하는 시드(S2)에는 데이터(Z)를 OUT1와 동일한 입력 변환 공간으로부터 이전시킬 능력이 필요하다. F1과 공동 동작하는 S1과 유사하게, F2와 공동 동작하는 S2 및 F3와 공동 동작하는 S3은 데이터 Z를 변환 공간(OUT1)으로부터 변환 공간(OUT2)으로, 그리고 변환 공간(OUT2)으로부터 변환 공간(OUT3)으로 각각 이전시킬 수 있다.
시드들(Si)은 데이터 Y=(Z)OUT3이 단지 특정 수신기에만 의미가 있도록 선택되는 것이 바람직하고, 여기서 Y는 고유하게 개인화됨으로써 Y=(Z)OUT3에서 Z를 획득할 수 있는 일개의 하드웨어에 의해 처리될 수 있다.
도 5에 도시된 바와 같이, 변환 계층 - 즉, n레벨들의 함수들(F1,...,Fn)의 트리(tree) 또는 계층-은 각각의 함수에 대한 개별 시드들(Si)에 의해 규정될 수 있다. 일반적으로 변환 계층은 적어도 두 레벨들의 함수들을 갖는다(예를 들어 도 5의 함수들(F1 및 F2)). 이론상, 레벨들의 최대수는 정해져 있지 않으나, 실제로 레벨들의 최고수는 변환 계층 및 변환 계층의 관련 부분을 저장하기 위한 메모리 한계로 제한된다. 변환 계층은 포괄적 변환 비밀 X=(Z)IN을 다수의 독립 변환 공간으로 변환하는데 사용된다. 전형적으로 제 1 변환은 비밀 데이터(Z)를 클리어 텍스트 입력 변환 공간(IN)으로부터 출력 변환 공간(OUT)으로 이전하기 위해 송신기에서 수행된다. 도 5의 예에서, 레벨들의 수는 3이며, 변환 계층에서 사용되고 있는 세 상이한 함수들(F1, F2 및 F3)을 발생시킨다. 변환 계층은, 비밀 데이터(Z)를 유의미한 방식으로 노출시키지 않고, 포괄적 변환 비밀(X)을 최종 및 가능한 고유의 변환 공간들(OUT1,...,OUT4)로 조건부로 이전하는데 사용된다.
도 2를 참조하면, 함수(F)가 선택될 수 있어서, 제공된 시드 S 대신 S*에 대해서, 함수는 데이터(X)의 특성 서브세트만을 입력 변환 공간(IN)으로부터 출력 변환 공간(OUT)으로 정확하게 변환한다. 상기 서브세트의 특성들은 F가 수행되는 수학 연산에 의해 결정되고, 이로 인해 변환의 결과는 데이터(X) 및 시드(S*)의 데이터 사이의 상관성에 좌우된다. 이 경우에, 그 결과에 따라 출력 공간(OUT)의 차원은 입력 공간(IN)보다 더 작을 수 있다. 조건부로 Z를 변환 공간(IN)으로부터 변환 공간(OUT)으로 이전하는데 사용되는 시드(S*)는, Z를 변환 공간(IN)으로부터 변환 공간(OUT)으로 무조건 이전하는데 사용되는 명백한 시드(S)에 대한 증가 버전으로 인지될 수 있다. 제공된 데이터(X) 및 시드(S*)로부터 결과적인 서브세트를 추론하는 것이 어렵고, 출력 변환 공간에서 상기 결과적인 데이터(Y)에 영향을 미치지 않고 X의 특정 데이터를 포함하도록 X 및/또는 S*를 조작함으로써 상기 서브세트를 조작하기 어려운 그와 같은 방식으로 함수(F)가 선택된다. 정확한 시드(S*)는 입력 변환 공간(IN)에 상관하여, F에 의해 수행된 수학 연산이 정확한 출력 변환 공간(OUT)을 산출하도록 한다. 이 기술은, 예를 들어 화이트 박스 기술 또는 코드 모호화를 사용해서 구현될 수 있는 불분명한 조건부 변화들을 수행하는데 사용된다. 상기 기술은 임의의 비밀 데이터(Z)에 적용될 수 있다.
증가 변화 함수(F)의 조건부 특성으로 인해서, 개별 수신기, 또는 수신기들의 그룹은 변환 계층의 가장 낮은(즉, 함수들의 레벨(F3)인 도 6의 Y1,...,Y4에 근접한) 레벨에서 새 시드들(Si*)을 선택함으로써 변환된 제어 워드(Y)를 획득하여 철회되게 된다. 증가 변환 함수들(F)을 갖는 변환 계층의 예는 도 6에 도시된다. 밸런스(valence)가 종래의 키 계층 방식들과 달리, 2인 하부 노드들(bottom nodes)의 밸런스는 2보다 훨씬 더 크게 할 수 있다. 결과적으로, 수신기 철회가 더 효과적으로 발생할 수 있다. 간소화를 위해, 도 6의 변환 계층에서 밸런스는 2와 같다.
도 6의 예에서, 특정 수신기의 Y2=(Z)OUT2- Y1 및 Y3 중간 사이에서 "X"에 의해 표시되는 -로의 액세스를 철회하기 위해서, 새 시드(S2B1)는 F2B의 결과적인 출력 공간이 시드(S31*)에 의해 시딩되는 경우에만 F3의 입력 공간과 정합하는 방식으로 제공될 수 있다. 여기서 특히 F2 출력 공간에 의해 상관되도록 S31*이 선택된다. F2B의 출력 공간은 S32*에 의해 시딩되었을 때 현재 무용하게 되었다. 철회된 수신기가 다른 시드 갱신을 차단하지 못하므로, 시드들(S, S2A1, 및 S2A2) 또한 갱신된다.
F1,...,Fn의 함수들은 자체의 입력 데이터(X) 및 시드(S) 사이의 상이한 상관들에 의존함으로써 서로 상이해질 수 있다.
본 발명은 유용하게도, 포괄적 변환 비밀들(X)이 조건부로 전달되고, 이들 데이터를 각각의 수신기에 개별적으로 전달할 필요없이 바람직하게 고유하게 변형된 형태(Y1...Y4)의 수신기가 이용가능하게 할 수 있다. 상기 비밀들의 최종 변환 공간(OUT1,...,OUT4)으로의 이전은 다수의 단계들 - 각각은 자기 자신의 시드(Si 또는 Si*를 갖는)로 행해지며, 그러나 각각의 단계들에서, 시드들 및 중간 데이터는 고립에 의미가 있지 않다. 변환된 데이터(Y1,...,Y4)가 특정 수신기의 맥락 의외에서 의미가 있지 않은 한, 예를 들어, 그것은 Z를 획득하기 위해 고유하게 개인화된 보안 칩셋의 입력 변환 공간과 정합해야 하고, 이로 인해 보안 칩셋은, 다른 수신기들이 Y1,...,Y4로부터 Z를 획득할 수 없을 때 다른 수신기들에 상기 데이터(Y1,...,Y4)를 분배하는 것은 의미가 없다. 이는 보안 데이터(Z)를 공유하고 복제하는 것에 대한 보호를 제공하는 반면에, 수신기 내에서 화이트-박스 암호문 또는 코드 모호화와 관련된 자원 요건들을 최소로 유지한다. 수신기에서 조건부의 변환 계층의 출력 변환 공간(OUT1,...,OUT4)을 해석해서 Z를 획득할 수 있는 단지 최소의 하드웨어 지원만이 필요하다.
시드들(Si 및 Si*)은 전형적으로 동적 데이터로서 제공되고 때에 맞는 주기일 수 있다. 단지 특정 시드들(Si 또는 Si*)만이 갱신되고 비밀 데이터(Z)로의 조건부 액세스를 조작하기 위해 절절한 수신기들에 전달될 필요가 있다. 이는 대역폭 이점들을 제공한다.
도 6에 도시된 바와 같은 변환 계층은 전형적으로 송신기에서 규정되거나 공지되어 있다. 송신기는 시드들(S 또는 S*)을 발생시키고 상기 시드들을 관련 수신기들로 송신한다. 이로 인해 시드들이 적용되는 함수들의 레벨에 따라, 특정 수신기 또는 수신기들의 그룹을 가능하게 하거나 불능화하는 시드들이 발생되어 X를 Y로 변형한다. 더욱이, 송신기는 시드(S1)의 제어 하에 함수(F1)를 사용하여 비밀 데이터(Z)를 클리어 텍스트 입력 변환 공간(IN)으로부터 출력 변환 공간(PUT)으로 이전시킨다. 각각의 수신기는 전형적으로, 변형 계층의 선규정된 경로를 따라 X를 Y로 변형하고 후속하여 Y로부터 Z를 도출하도록 구성된다. 이에 전형적으로 함수들의 단일 경로가 수신기의 제 1 메모리에 저장된다. 수신된 시드들에 좌우되는 상이한 경로들을 따라 Z를 획득할 수 있도록 수신기에 저장된 다수의 경로들을 갖는 것이, 예를 들어 송신기가 상이한 비밀 데이터(Z)로의 액세스를 제어하도록 하는 것이 가능하다. 여러 수신기들은 함수들(Fi)의 동일한 경로가 구현되도록 할 수 있고 각각의 수신기는 함수들(Fi)의 고유 경로가 구현되도록 할 수 있다. 도 6을 참조하면, Y1,...,Y4는 예를 들어, 데이터가 네 상이한 수신기들을 목표로 한다. 제 1 수신기는 경로 F2A(S2A1)-F2B(S2B1)-F3(S31*)를 따라 X를 Y1으로 변형하도록 구성되고, 제 2 수신기는 경로 F2A(S2A1)-F2B(S2B1)-F3(S32*)를 따라 X를 Y2로 변형하도록 구성되고, 제 3 수신기는 경로 F2A(S2A2)-F2B(S2B2)-F3(S32*)를 따라 X를 Y3로 변환하도록 구성되고, 제 4 수신기는 경로 F2A(S2A2)-F2B(S2B2)-F3(S33*)를 따라 X를 Y4로 변형하도록 구성된다. 비밀 데이터(Z)는, 수신기에서의 제 2 메모리에 저장된 개인화된 시드의 제어 하에 데이터(Z)를 최종 출력 변환 공간(OUT1, OUT2, OUT3 또는 OUT4)로부터 클리어 텍스트 변환 공간으로 이전시킴으로써 수신기에 의해 최종적으로 획득된다. 함수들의 시퀀스가 저장되는 제 1 메모리 및 개인화된 시드를 저장하기 위한 제 2 메모리는 단일 메모리 모듈의 일부들 또는 개별 메모리 모듈들일 수 있다. 클리어 텍스트 변환 공간에서 데이터(Z)는 더 이상 변환되지 않으므로 수신기에 의해 사용가능하지 않다.
변환 계층 내의 변환 함수들(F1) 중 하나 이상은 수신기 내의 변환 함수들의 역 엔지니어링을 방해하기 위해 새 함수(F)를 송신기에서 수신기들 중 하나 이상으로 업로딩(uploading)함으로서 변경되거나 대체될 수 있다.
수신기에서 본 발명은 전형적으로 적어도 부분적으로 소프트웨어로서 또는 프로그래머블 어레이(programmable array)에서의 필드-프로그래머블 게이트 어레이(field-programmable gate array : FPGA)로서 구현된다. 상기 구현체는 보호되지 않은, 또는 부분적으로 보호된, 또는 안전한 프로세서의 메모리에 상주될 수 있다. 프로세서는 비밀 데이터(Z)를 입력 변환 공간(IN)으로부터 출력 변환 공간(OUT)으로 이전하는 메모리 내에 저장된 함수들을 실생한다. 수신기에서는 최소의 하드웨어 지원이 필요하다. 송신기 및 수신기들 사이에서는 제한된 대역폭이 필요하고 수신기들에서 송신기로 회귀 경로는 필요치 않다. 비밀 데이터(Z)는 추출되거나 인터셉트(intercept)되지 않으므로 다른 수신기들에 불법적으로 분배될 수 없다.
상술한 바와 같이, 본 발명은 임의의 유형의 비밀 데이터(Z)를 임의의 유형의 데이터 송신기에서 임의의 유형의 데이터 수신기들로 제공하는데 사용될 수 있다. 본 발명의 예시적인 애플리케이션은 키들 또는 제어 워드들을 방송 네트워크에서 헤드엔드 시스템에서 조건부 액세스 수신기들로 조건부로 제공하는 것이다. 방송 네트워크에서의 페이TV 애플리케이션들은 콘텐츠 데이터 스트림들의 암호화에 의존한다. 조건부 액세스 수신기들은 디코딩 이전에 스트림을 암호해제 하기 위해서 고나련 제어 워드들을 필요로 한다.
도 7은 조건부 액세스 수신기에 구현된 변환 계층의 일부의 예를 도시한다. 수신기는 자격 관리 메시지(ECM)에서 제어 워드(CW)를 포괄적으로 변환된 제어 워드(CWDT P)로서 수신한다. 수신기는 CWD를 입력 변환 공간(P)에서 수신기의 최종 출력 변환 공간(CSSK)으로 세 단계들로 이전시킨다. 최종 이전 단계는 변환된 제어 워드({CW}CSSK)를 생성하는데, 상기 제어 워드는 수신기에 고유한 클러스터(cluster) 공유 비밀 키(CSSK)의 출력 변환 공간에서의 제어 워드(CW)이다. 도 7의 조건부 액세스 수신기는 일반 계산 환경 및 보안 계산 환경을 포함한다.
일반 계산 환경은 헤드엔드 시스템으로부터 ECM을 수신하기 위한 ECM 전달 경로를 포함한다. 일반 계산 환경은 부가적으로 헤드엔드 시스템에서 자격 관리 메시지(EMM)를 수신하기 위한 EMM 전달 경로를 포함한다. EMM은 CW를 변환 계층의 경로를 따라 변환 공간들을 통하여 이전하는 것이 필요한 시드들을 포함한다. EMM에서 수신된 시드들은 일반 계산 환경의 NVRAM 메모리에 저장된다. 제 1 시드는 컴파운드 <P, G1>과 동일하다. 제 2 시드는 컴파운드 <G1, U1>과 동일하다. 제 3 시드는 컴파운드 <CSSK, U1>과 동일하다.
보안 계산 환경은 함수들의 시퀀스를 포함한다. 제 1 함수(RPAG1)는 CWDT P를 z컴파운드 <P, G1>을 시드 입력으로 사용하여 입력 변환 공간(P)에서 출력 변환 공간(G1)으로 변환한다. 후속하여 제 2 함수(RG1AU1)는 CWDT G1, 즉, 변환 공간(G1)에서의 CW를 컴파운드<G1, U1>를 사용하여 입력 변환 공간(G1)에서 출력 변환 공간(U1)으로 변환한다. 후속하여 본 예에서 TDES 화이트박스 암호화 함수인 제 3 함수는, CWDT U1, 즉, 변환 공간(U1)에서의 CW를 입력 변환 공간(U1)에서 출력 변환 공간(CSSK)으로 변환한다. 그 결과의 {CW}CSSL는 CSSK 키 하에서 암호화된 CW이고, 이는 보안된 메모리 내에 미리 저장되거나 또는 수신기에 의해 보안하여 도출될 수 있는 CSSK를 사용하여 조건부 액세스 수신기에 의해 암호 해제될 수 있다.
도 8은 상술한 바와 같은 시스템에 의해 수행될 수 있는, 비밀 데이터(Z)를 송신기로부터 하나 이상의 수신기들로 보안하여 제공하기 위한 방법의 단계들을 도시한다. 선택적인 단계들은 점선들로 표시된다. 선택적인 단계 5에서, 새 함수(F)는 송신기에서 수신기로 송신된다. 선택적인 단계 6에서 새 함수(F)는 수신기의 메모리에서 하나 이상의 함수들을 대체한다. 단계 1에서 하나 이상의 시드들(S 및 S*)은 송신기에서 수신기로 제공된다. 단계 2에서 수신기는 제공되는 시드들의 제어 하에 함수들의 시퀀스를 사용하여, 비밀 데이터(Z)를 입력 변환 공간, 예를 들어 입력 변환 공간(IN)에서 최종 변환 공간, 예를 들어 출력 변환 공간(OUT1, OUT2, OUT3 또는 OUT4)로 이전시킨다. 선택적인 단계 3에서 개인화된 시드는 수신기에서의 제 2 메모리로부터 판독된다. 선택적인 단계 4에서 수신기는 최종 개인화된 시드의 제어 하에 비밀 데이터(Z)를 출력 변환 공간으로부터 클리어 텍스트 변환 공간으로 이전시킴으로써 상기 비밀 데이터를 획득한다.
도 9는 상술한 바와 같은 송신기에 의해 수행될 수 있는, 비밀 데이터(Z)를 송신기로부터 하나 이상의 수신기들로 보안하여 제공하기 위한 방법의 단계들을 도시한다. 단계 10에서, 각각의 함수(F)는 시드(S 또는 S*)의 제어 하에 수학 변환을 사용하여, 비밀 데이터(Z)를 입력 변환 공간, 예를 들어 입력 변환 공간(IN)으로부터 출력 변환 공간, 예를 들어 출력 변환 공간(OUT)으로 이전하도록 구성된다. 단계 11에서 상기 수신기들에 하나 이상의 시드들(S 및/또는 S*)이 제공된다.
도 10은 상술한 바와 같은 수신기에 의해 수행될 수 있는, 비밀 데이터(Z)를 송신기로부터 하나 이상의 수신기들로 보안하여 제공하기 위한 방법의 단계들을 도시한다. 단계 20에서 송신기로부터 하나 이상의 시드들(S 및/또는 S*)이 수신된다. 단계 21에서 비밀 데이터(Z)는 시드들(S 및/또는 S*)의 제어 하에 함수들의 시퀀스를 사용하여, 입력 변환 공간, 예를 들어 입력 변환 공간(IN)으로부터, 최종 출력 변환 공간, 예를 들어 출력 변환 공간(OUT1, OUT2, OUT3 또는 OUT4)으로 이전된다.
변환 함수들 및 암호화의 개념은 일반적으로 도 11을 참조하여 명확해진다.
변환되지 않은 데이터 공간에 복수의 데이터 요소들을 갖는 입력 도메인(input domain : ID)이 존재한다고 가정하자. 어떤 키를 사용하는 암호화 함수(E)는, 출력 도메인(output domain : OD)에서의 대응하는 암호화된 데이터 요소를 전달하기 위해서 입력 도메인(ID)의 데이터 요소들을 입력으로 수용하도록 구성되는 것으로 규정된다. 암호 해제 함수(D)를 적용함으로써, 입력 도메인(ID)의 원 데이터 요소들은 암호 해제 함수(D)를 출력 도메인(OD)의 데이터 요소들로 적용함으로써 획득될 수 있다.
보안되지 않은 환경에서, 상대방은 구현체 내에 삽입된 기밀 정보(예를 들어 키들)를 발견하기 위해, 입력 및 출력 데이터 요소들 및 암호화 함수(E)의 구현체의 동작을 제어할 수 있다고 가정하자.
그와 같은 보안되지 않은 환경에서 입력 도메인(ID) 및 출력 도메인(OD)에 변환 함수들을 적용함으로써 추가 보안성이 획득될 수 있는, 즉, 변환 함수들은 입력- 및 출력 연산들이다. 변환 함수(T1)는 데이터 요소들을 입력 도메인(ID)에서 변환된 데이터 공간의 변환된 입력 도메인(ID')의 변환된 데이터 요소들로 매핑한다. 유사하게, 변환 함수(T2)는 데이터 요소들을 출력 도메인(OD)에서 변환된 출력 도메인(OD')으로 매핑한다. 변환된 암호화 및 암호 해제 함수들(E' 및 D')은 이제 변환된 키들을 사용하여 ID' 및 OD' 사이에서 규정될 수 있다. T1 및 T2는 전단사들(bijections)이다.
변환 함수들(T1, T2)을 암호화 기술과 함께 사용한다는 것은, 출력 도메인(OD)의 암호화된 데이터 요소들을 획득하기 위해 입력 도메인(ID)의 데이터 요소들을 암호화 함수(E)로 입력하는 대신, 변환 함수(T1)을 적용함으로써 도메인(ID')의 변환된 데이터 요소들이 변환된 암호화 함수(E')로 입력되는 것을 의미한다. 변환된 암호화 함수(E')는 키와 같은 기밀 정보를 보호하기 위해 역변환 함수들(T1-1 및/또는 T2-1)을 결합한다. 그리고나서 도메인(OD')의 변환된 암호화된 데이터 요소들이 획득된다. 보안된 부분에서 T1 및/또는 T2를 수행함으로써, 보안 함수들(E) 또는 암호 해제 함수(D)에 대한 키들이 변환된 데이터 공간에서 입력 데이터 및 출력 데이터를 분석할 때 검출되지 않거나 또는 E' 및/또는 D'의 화이트박스 구현을 분석할 때 검출되지 않을 수 있다.
변환 함수들(T1, T2) 중 하나는 자명하지 않은(non-trivial) 함수이다. 만일 T1이 자명한 함수라면, 입력 도메인들(ID 및 ID')은 동일한 도메인이다. T2가 자명한 함수라면, 출력 도메인들은 동일한 도메인이다.

Claims (16)

  1. 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 송신기로서,
    각각의 수신기는 최초 입력 변환 공간으로부터 각각의 최종 출력 변환 공간으로 상기 비밀 데이터를 이전하기 위하여 각각의 함수들의 시퀀스를 사용하도록 배열되고, 상기 복수의 수신기들에서의 수신기 각각에 대해, 각각의 상기 최종 출력 변환 공간은 상기 복수의 수신기들에서의 다른 수신기 각각의 상기 최종 출력 변환 공간 각각과는 상이한, 상기 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 송신기에 있어서,
    상기 송신기는,
    상기 최초 입력 변환 공간내의 상기 비밀 데이터를 상기 복수의 수신기들에 제공하고, 상기 복수의 수신기들의 수신기 각각에 대해 상기 수신기에 각각의 시드들(seeds)의 시퀀스를 제공하도록 배열되고,
    상기 각각의 시드들의 시퀀스의 시드 각각은 상기 각각의 함수들의 시퀀스에 대응하는 함수를 시딩(seeding)하기 위한 것이고,
    시드된 상기 함수는 각각의 입력 변환 공간으로부터 각각의 출력 변환 공간으로 상기 비밀 데이터를 이전하도록 배열되고,
    상기 각각의 시드들의 시퀀스는 상기 최초 입력 변환 공간(IN)으로부터 각각의 상기 최종 출력 변환 공간(OUT1, OUT2, OUT3, OUT4)으로 상기 비밀 데이터를 이전하기 위하여 상기 각각의 시드들의 시퀀스의 제어 하에 상기 수신기가 상기 각각의 함수들의 시퀀스를 이용하는 것이 가능하도록 선택되는, 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 송신기.
  2. 제 1 항에 있어서,
    상기 함수들의 시퀀스에서의 각각의 함수는 고유한 시드(S, S*)에 의해 제어되는, 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 송신기.
  3. 제 2 항에 있어서,
    상기 함수들의 시퀀스는 (a) 상기 수신기에 고유하거나 (b) 상기 복수의 수신기들에서의 수신기 각각에 대해 동일한, 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 송신기.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 복수의 수신기들의 수신기 각각은 상기 수신기에 개인화된 시드 각각의 제어 하에 상기 비밀 데이터(Z)를 각각의 상기 최종 출력 변환 공간(OUT1, OUT2, OUT3, OUT4)으로부터 클리어 텍스트 변환 공간으로 이전시킴으로써 상기 비밀 데이터(Z)를 획득하도록 구성되는, 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 송신기.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    각각의 함수는 코드 모호화(code obfuscation)에 의해 보호되는, 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 송신기.
  6. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 송신기는 새로운 함수를 상기 복수의 수신기들 중 하나 이상의 수신기들에 송신하도록 구성되고, 상기 수신기는 상기 함수들의 각 시퀀스 내의 함수들 중 하나 이상을 상기 새로운 함수로 대체하도록 구성되는, 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 송신기.
  7. 비밀 데이터(Z)를 복수의 수신기들에 보안하여 제공하기 위한 시스템에 있어서,
    제 1 항 내지 제 3 항 중 어느 한 항에 따른 송신기, 및
    상기 복수의 수신기들을 포함하고,
    각각의 수신기는 최초 입력 변환 공간으로부터 각각의 최종 출력 변환 공간으로 상기 비밀 데이터를 이전하기 위하여 각각의 함수들의 시퀀스를 사용하도록 배열되고,
    상기 복수의 수신기들에서의 수신기 각각에 대해, 각각의 상기 최종 출력 변환 공간은 상기 복수의 수신기들에서의 다른 수신기 각각의 상기 최종 출력 변환 공간 각각과는 상이한, 비밀 데이터(Z)를 복수의 수신기들에 보안하여 제공하기 위한 시스템.
  8. 제 7 항에 따른 시스템에서 사용하기 위한 수신기.
  9. 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 방법으로서, 각각의 수신기는 최초 입력 변환 공간으로부터 각각의 최종 출력 변환 공간으로 상기 비밀 데이터를 이전하기 위하여 각각의 함수들의 시퀀스를 사용하도록 배열되고, 상기 복수의 수신기들에서의 수신기 각각에 대해, 각각의 상기 최종 출력 변환 공간은 상기 복수의 수신기들에서의 다른 수신기 각각의 상기 최종 출력 변환 공간 각각과는 상이한, 상기 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 방법에 있어서,
    상기 최초 입력 변환 공간내의 상기 비밀 데이터를 상기 복수의 수신기들에 제공하는 단계; 및
    상기 복수의 수신기들의 수신기 각각에 대해, 각각의 시드들의 시퀀스를 상기 수신기에 제공하는 단계를 포함하고,
    각각의 시드들의 시퀀스의 시드 각각은 상기 각각의 함수들의 시퀀스에 대응하는 함수를 시딩하기 위한 것이고,
    시드된 상기 함수는 각각의 입력 변환 공간으로부터 각각의 출력 변환 공간으로 상기 비밀 데이터를 이전하도록 배열되고,
    상기 각각의 시드들의 시퀀스는 상기 최초 입력 변환 공간(IN)으로부터 각각의 상기 최종 출력 변환 공간(OUT1, OUT2, OUT3, OUT4)으로 상기 비밀 데이터를 이전하기 위하여 상기 각각의 시드들의 시퀀스의 제어 하에 상기 수신기가 상기 각각의 함수들의 시퀀스를 이용하는 것이 가능하도록 선택되는, 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 방법.
  10. 제 9 항에 있어서,
    상기 함수들의 시퀀스에서의 각각의 함수는 고유한 시드(S, S*)에 의해 제어되는, 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 방법.
  11. 제 10 항에 있어서,
    상기 함수들의 시퀀스는 (a) 상기 수신기에 고유하거나 (b) 상기 복수의 수신기들에서의 수신기 각각에 대해 동일한, 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 방법.
  12. 제 9 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 복수의 수신기들에서의 수신기에 대해, 상기 수신기가 상기 수신기에서 각각 개인화된 시드의 제어 하에 상기 비밀 데이터(Z)를 각각의 상기 최종 출력 변환 공간(OUT1, OUT2, OUT3, OUT4)으로부터 클리어 텍스트 변환 공간으로 이전시킴으로써 상기 비밀 데이터(Z)를 획득하는 단계(4)를 추가로 포함하는, 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 방법.
  13. 제 9 항 내지 제 11 항 중 어느 한 항에 있어서,
    각각의 함수는 코드 모호화에 의해 보호되는, 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 방법.
  14. 제 9 항 내지 제 11 항 중 어느 한 항에 있어서,
    새로운 함수를 상기 복수의 수신기들 중 하나 이상의 수신기들로 송신하는 단계(5) 및 상기 하나 이상의 수신기들의 수신기 각각에 대해, 상기 각각의 함수들의 시퀀스에서의 상기 함수들 중 하나 이상을 상기 새로운 함수로 대체하는 단계(6)를 추가로 포함하는, 비밀 데이터(Z)를 복수의 수신기들에 제공하기 위한 방법.
  15. 삭제
  16. 삭제
KR1020100018728A 2009-03-02 2010-03-02 송신기로부터 수신기로의 비밀 데이터 보안 제공 KR101687215B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP09154129.2 2009-03-02
EP09154129 2009-03-02
EP10154150.6 2010-02-19
EP10154150.6A EP2227014B1 (en) 2009-03-02 2010-02-19 Securely providing secret data from a sender to a receiver

Publications (2)

Publication Number Publication Date
KR20100099074A KR20100099074A (ko) 2010-09-10
KR101687215B1 true KR101687215B1 (ko) 2016-12-16

Family

ID=40521725

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100018728A KR101687215B1 (ko) 2009-03-02 2010-03-02 송신기로부터 수신기로의 비밀 데이터 보안 제공

Country Status (6)

Country Link
US (2) US8737620B2 (ko)
EP (1) EP2227014B1 (ko)
JP (1) JP2010206796A (ko)
KR (1) KR101687215B1 (ko)
CN (3) CN101848361B (ko)
CA (1) CA2695095C (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2348725A1 (en) 2010-01-26 2011-07-27 Irdeto Access B.V. Computational efficiently obtaining a control word in a receiver using transformations
WO2015149826A1 (en) 2014-03-31 2015-10-08 Irdeto B.V. Protecting an item of software
GB201418815D0 (en) 2014-10-22 2014-12-03 Irdeto Bv Providing access to content
GB201505438D0 (en) 2015-03-30 2015-05-13 Irdeto Bv Accessing content at a device
EP4044554B1 (en) 2021-02-16 2023-10-18 Irdeto B.V. Providing and managing mobile network operator profiles

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3654367B2 (ja) * 1994-07-06 2005-06-02 ソニー株式会社 データ送信装置およびデータ受信装置、並びにデータ放送システム
US5787171A (en) * 1994-06-28 1998-07-28 Sony Corporation Data transmitter and receiver
JPH08163118A (ja) 1994-12-05 1996-06-21 Mitsubishi Electric Corp キー配送システム
JPH10232606A (ja) * 1996-12-20 1998-09-02 Toshiba Corp 暗号化方法及び復号化方法並びに暗号化装置及び復号化装置
HUP0100232A3 (en) * 1997-10-02 2001-10-29 Canal Plus Sa Method and apparatus for encrypted data stream transmission
JP2000049770A (ja) 1998-07-31 2000-02-18 Hitachi Ltd 暗号化通信方法、暗号アルゴリズム共有管理方法、暗号アルゴリズム変換方法、ネットワーク通信システム
JP3776619B2 (ja) 1999-03-05 2006-05-17 株式会社東芝 暗号通信端末、暗号通信センター装置、暗号通信システム及び記憶媒体
EP1111923A1 (en) 1999-12-22 2001-06-27 Irdeto Access B.V. Method for operating a conditional access system for broadcast applications
US7333610B2 (en) * 2000-08-11 2008-02-19 Nds Ltd System and method for pre-encryption of transmitted content
EP1182874A1 (en) * 2000-08-24 2002-02-27 Canal+ Technologies Société Anonyme Digital content protection system
US6928063B2 (en) * 2001-03-16 2005-08-09 Motorola, Inc. Method and apparatus for providing a dispatch patch service in a CDMA communication system
DE10137152A1 (de) * 2001-07-30 2003-02-27 Scm Microsystems Gmbh Verfahren zur Übertragung vertraulicher Daten
US7400729B2 (en) * 2001-12-28 2008-07-15 Intel Corporation Secure delivery of encrypted digital content
US7305555B2 (en) * 2002-03-27 2007-12-04 General Instrument Corporation Smart card mating protocol
US20040017918A1 (en) * 2002-07-24 2004-01-29 Christophe Nicolas Process for point-to-point secured transmission of data and electronic module for implementing the process
FR2856539A1 (fr) * 2003-06-17 2004-12-24 France Telecom Procede et systeme tracables de chiffrement et/ou de dechiffrement d'informations, et supports d'enregistrement pour la mise en oeuvre du procede
JP2005049925A (ja) * 2003-07-29 2005-02-24 Nara Institute Of Science & Technology プログラム難読化装置、プログラム難読化プログラム及びプログラム難読化方法
JP4638213B2 (ja) * 2003-12-17 2011-02-23 パナソニック株式会社 コンテンツ配信サーバ、鍵割当方法、コンテンツ出力装置、及び鍵発行センタ
US7433473B2 (en) * 2004-09-10 2008-10-07 Nagracard S.A. Data transmission method between a broadcasting center and a multimedia unit
CA2580380C (en) * 2004-09-16 2013-10-15 General Instrument Corporation System and method for providing authorized access to digital content
EP1813049A1 (en) * 2004-11-16 2007-08-01 Telefonaktiebolaget LM Ericsson (publ) Improved key distribution in systems for selective access to information
US7933410B2 (en) * 2005-02-16 2011-04-26 Comcast Cable Holdings, Llc System and method for a variable key ladder
US7770219B2 (en) * 2005-05-11 2010-08-03 Broadcom Corporation Method and system for using shared secrets to protect access to testing keys for set-top box
WO2007026287A1 (en) * 2005-08-30 2007-03-08 Koninklijke Philips Electronics N.V. Method and device for generating random number generator seeds
EP1890493A1 (fr) 2006-08-17 2008-02-20 Nagracard S.A. Méthode de révocation de modules de sécurité utilisés pour sécuriser des messages diffusés
CN1925398B (zh) * 2006-09-25 2011-02-16 上海林果科技有限公司 一种基于预运算的密码卡动态认证方法及系统
EP1968316A1 (en) 2007-03-06 2008-09-10 Nagravision S.A. Method to control the access to conditional access audio/video content
EP2369778B1 (en) * 2010-03-26 2018-08-15 Irdeto B.V. Personalized whitebox descramblers

Also Published As

Publication number Publication date
EP2227014A2 (en) 2010-09-08
US20140362987A1 (en) 2014-12-11
CN101848361B (zh) 2016-05-11
US9455834B2 (en) 2016-09-27
US20100246822A1 (en) 2010-09-30
CA2695095C (en) 2017-12-19
CN105872597A (zh) 2016-08-17
EP2227014A3 (en) 2012-06-13
CN104868992B (zh) 2019-08-30
JP2010206796A (ja) 2010-09-16
CN101848361A (zh) 2010-09-29
EP2227014B1 (en) 2019-10-02
CN104868992A (zh) 2015-08-26
KR20100099074A (ko) 2010-09-10
US8737620B2 (en) 2014-05-27
CA2695095A1 (en) 2010-09-02

Similar Documents

Publication Publication Date Title
CN101827248B (zh) 用于获得控制字的有条件权利处理
CN100592683C (zh) 来自数字权利管理加密解密器的受保护的返回路径
US20120042170A1 (en) Device and method for establishing secure trust key
KR20080031830A (ko) 코드 암호화 시스템에서 가변적이고 변경하는 키들을 위한방법 및 시스템
JP5901884B2 (ja) 個人向けホワイトボックス・デスクランバー
US9455834B2 (en) Securely providing secret data from a sender to a receiver
US9660965B2 (en) Obtaining a control word to reveal a client device identity
US20110268271A1 (en) Computational efficiently obtaining a control word in a receiver using transformations
JP2010104035A (ja) 受信装置及び受信方法
JP2005079864A (ja) 放送装置、受信装置、放送方法及び受信方法
JP2006311625A (ja) 放送装置、受信装置、放送方法及び受信方法
JP2010119138A (ja) 受信装置及び受信方法

Legal Events

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