KR20010007044A - 해시 함수 및 프로그램 식별자를 이용하여 전송 프로그램내용으로의 액세스를 제한하는 암호화 방법 및 장치 - Google Patents
해시 함수 및 프로그램 식별자를 이용하여 전송 프로그램내용으로의 액세스를 제한하는 암호화 방법 및 장치 Download PDFInfo
- Publication number
- KR20010007044A KR20010007044A KR1020000023887A KR20000023887A KR20010007044A KR 20010007044 A KR20010007044 A KR 20010007044A KR 1020000023887 A KR1020000023887 A KR 1020000023887A KR 20000023887 A KR20000023887 A KR 20000023887A KR 20010007044 A KR20010007044 A KR 20010007044A
- Authority
- KR
- South Korea
- Prior art keywords
- program
- key
- identifier
- encrypted
- end user
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/09—Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
- H04H60/14—Arrangements for conditional access to broadcast information or to broadcast-related services
- H04H60/23—Arrangements for conditional access to broadcast information or to broadcast-related services using cryptography, e.g. encryption, authentication, key distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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/0833—Key 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/0836—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2362—Generation or processing of Service Information [SI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/26606—Channel 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/462—Content 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/4623—Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
- H04N7/163—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/167—Systems rendering the television signal unintelligible and subsequently intelligible
- H04N7/1675—Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Storage Device Security (AREA)
- Television Systems (AREA)
Abstract
전송 프로그램 내용으로의 액세스를 제한하는 시스템이 개시된다. 이 시스템은 암호화된 프로그램 내용과 함께 프로그램 식별자를 전송한다. 셋탑 단말기 또는 유사한 메커니즘이 저장된 암호 키를 이용하여 전송된 멀티미디어 정보로의 액세스를 제한한다. 셋탑 단말기는 소정 주기동안 고객이 이용할 권한이 있는 하나 이상의 프로그램 패키지에 대응하는 권한부여 정보를 헤드 엔드로 부터 주기적으로 수신한다. 각 프로그램은 전송에 앞서 프로그램이 고유한 프로그램 키(Kp)를 이용하여 헤드 엔드 서버에 의해 암호화된다. 셋탑 단말기는 저장된 권한부여 정보와 함께 수신된 프로그램 식별자(p)를 이용하여 프로그램을 암호 해독하는데 필요한 암호해독 키를 유도한다. 전송된 프로그램을 암호화하는데 이용되는 k-비트의 프로그램 키들(Kp) 각각은 길이를 두배로 하는 해시 함수(H)와 같은 그러한 하나 이상의 의사 랜덤 해시 함수를 마스터 키(m)에 적용함으로써 얻어진다. 예시적인 해시 함수(H)는 k-비트 2진 값을 취하며 2k의 길이를 갖는 2진 값을 생성한다. H0은 해시 함수의 출력의 좌측 절반이며, H1은 해시 함수의 출력의 우측 절반이다. 프로그램 키(Kp)는 프로그램 식별자(p)의 각 비트 위치의 대응 2진 값에 따라 해시 함수 H0또는 H1을 마스터 키(m)에 반복적으로 적용함으로써 얻어진다. 해시 동작은 키 트리로 일컬어지는 n-레벨 2진 트리(T)로 표현되며, 마스터 키(m)가 트리의 루트에 놓인다. 이 트리는 원하는 수의 트리 레벨(n)이 생성될 때까지 해시 함수(H0및 H1)을 적용함으로써 발생된다. 프로그램 키(Kp)는 트리의 하부 레벨에 있는 리프 노드에 대응한다. 각 프로그램 키(kp)와 관련된 프로그램 식별자(p)는 키 트리르 통해 루트로부터 원하는 리프 노드에 이르는 경로에 대응한다.
Description
본 발명은 일반적으로 전송 프로그램 내용으로의 액세스를 제한하는 시스템에 관한 것으로, 보다 특별하게는 암호화된 프로그램을 암호 해독하는데 필요한 암호해독 키를 유도할 수 있도록, 저장된 권한부여 정보와 함께 셋탑 단말기에 의해 이용되는 프로그램 식별자와 더불어 그 암호화된 프로그램을 전송하는 시스템에 관한 것이다.
텔레비젼 시청자들이 이용할 수 있는 채널의 수가 증가되고 아울러 그러한 채널에서 이용할 수 있는 프로그램 내용이 다양화됨에 따라, 케이블 텔레비젼 운영자 및 디지털 서비스 운영자와 같은 그러한 서비스 제공자들에게 있어 텔레비젼 시청자들 대다수를 만족시켜주는 채널 및 프로그램의 패키지를 제공하는 일은 더욱 해결해야할 도전 과제가 되고 있다. 고객들에게 제공될 패키지의 개발은 일반적으로 마케팅차원에서 상관관계를 가지고 있다. 일반적으로, 서비스 제공자는 단일 프로그램으로부터 모든 프로그램에 이르는 다양한 크기의 패키지들 및 이들의 다양한 결합을 제공할 수 있기를 갈망한다.
서비스 제공자들은 전형적으로 흔히 "헤드 엔드(head-end)"라 불리는 전송기로부터의 텔레비젼 프로그램을 대다수의 고객들에게 방송한다. 각 고객은 전형적으로 그가 구매한 패키지와 관련된 수신 프로그램의 서브 세트만을 이용할 자격을 갖는다. 예컨대, 무선방송 환경에서, 전송 프로그램은 안테나 또는 위성접시 안테나와 같은 그러한 적절한 수신기를 가지고 있으면 누구나 수신할 수 있다. 따라서, 필요한 패키지를 구매한, 이용 자격을 가진 고객에게만 상기 전송 프로그램으로의 액세스를 제한하기 위해, 서비스 제공자는 전형적으로 상기 전송 프로그램을 암호화하고, 그 고객에게 프로그램을 암호해독 하는데 이용되는 하나 이상의 암호해독 키를 포함하고 있는 셋탑 단말기(STT)를 제공한다. 이러한 방식으로, 셋탑 단말기는 암호화된 전송을 수신하여 이용 자격이 있는 고객을 위해 그 프로그램을 암호해독 해준다.
저장된 암호 해독 키를 비롯한 셋탑 단말기에 저장된 고도로 민감한 정보의 해적행위를 최소화하기 위해, 셋탑 단말기들은 전형적으로 암호 해독키를 저장하기 위한 수 킬로비트 정도의 용량을 갖는 보안 프로세서 및 보안 메모리를 포함하고 있다. 이 보안 메모리는 일반적으로 비휘발성이며 저장된 내용을 변경할 수 없도록 되어있다. 또한 보안 메모리는 기록이 가능하여, 예컨대 매 빌링 주기에 대해 원하는 데로 재프로그램될 수 있다. 통상적인 셋탑 단말기의 한정된 보안 메모리 용량은 저장할 수 있는 키의 수를 제한하며, 그럼으로써 서비스 제공자가 제공하는 패키지의 수를 제한한다. 월간 빌링 주기 동안 서비스 제공자에 의해 전형적으로 방송되는 프로그램의 수는 200.000정도로 될 수 있다.
한 변형에서, 통상적인 셋탑 단말기들은 서비스 제공자에 의해 제공되는 프로그램의 각 패키지에 대응하는 비트 엔트리를 갖는 비트 벡터를 포함한다. 만일 어떤 고객이 패키지를 이용할 자격이 있으면, 셋탑 단말기에 저장된 비트 벡터에서의 대응 비트 엔트리는 "l"로 설정된다. 그 후 서비스 제공자에 의해 전송된 모든 프로그램은 단일키로 암호화된다. 소정 프로그램의 수신 하에서, 셋탑 단말기는 대응 비트 엔트리가 설정되었는지 여부를 결정하기 위해 비트 벡터에 액세스한다. 만일 비트 엔트리가 설정되었으면, 셋탑 단말기는 저장된 단일 암호 해독키를 이용하여 그 프로그램을 암호 해독한다. 이론적으로는 각 패키지(팩키지는 일반적으로 1개의 프로그램으로 구성된다)에 대해 비트 엔트리를 제공함으로써 비트 벡터방식에서 유연성(flexibility)을 얻을 수 있지만은 비트 벡터의 길이는 단일 빌링 주기에 많은 프로그램을 전송하는 시스템에서는 실용적이지 못하다. 또한, 그러한 시스템에서의 액세스 제어는 비트 벡터에 있는 엔트리들에 의해서만 배타적으로 제공되며, 암호화되지 못한다. 따라서, 만일 고객이 비트 벡터를 오버라이트(overwrite)할 수 있고 그리고 모든 비트를 "l"로 설정할 수 있다면, 그 고객은 모든 프로그램들에 액세스를 행할 수 있게 된다.
다른 변형에서, 프로그램들은 패키지로 분할되며 소정 패키지에 있는 모든 프로그램들은 동일키를 이용하여 암호화된다. 다시, 각 패키지는 전형적으로 하나의 텔레비젼 채널에 대응한다. 셋탑 채널은 이용 권한이 있는 고객을 위한 각 패키지에 대한 암호 해독키를 저장한다. 따라서, 만일 프로그램이 복수의 패키지에 포함되면, 이 프로그램은 각각의 관련 패키지에 대해 재전송 되어야 하며, 각 전송은 특정 패키지에 대응하는 암호키로 암호화된다. 비록 그 액세스 키는 암호화 될 수 있지만은 소정 프로그램을 다수번 재전송하는 데 관련되는 오버헤드는 서비스 제공자들이 동일 프로그램들을 복수의 패키지에 적용하는 것을 억제함으로써 프로그램의 패키지를 설계하는데 있어 유연성을 제한하게 된다.
프로그램 내용을 암호화하여 전송하는 그러한 종래의 시스템은 이용 권한이 있는 고객들에만 액세스를 제한시키는데 있어 비교적 성공적인 것으로 판단 되지만은 그러나 이는 셋탑 단말기의 제한된 보안 메모리 용량을 확장하거나 또는 그 오버헤드를 상당히 증대시키지 않고서는 텔레비젼 네트워크와 같은 그러한 서비스 제공자들이 고객으로의 다양한 수의 프로그램을 포함하는 많은 서로 다른 패키지들을 제공하지 못하게 한다. 1997년 8월 15일자로 출원되었으며 본 출원인에게 양도된 미국 특허 출원번호 제 081912,186호 (이하 “V스페이스 시스템”으로 칭하기로 한다)는 전송된 프로그램 내용에만 액세스를 제한시키는 암호화 방법 및 장치를 개시하고 있다.
V스페이스 시스템에 있는 각 프로그램은 전송에 앞서 프로그램 키(kp)를 이용하여 헤드 엔드 서버에 의해 암호화된다. 각 프로그램 키는 정의된 세트의 마스터 키(m)의 선형 결합이다. 프로그램을 식별하는 프로그램 식별자에는 암호화 된 프로그램 내용이 전송된다. 고객의 셋탑 단말기는 그 수신된 프로그램 식별자(p) 및 이전에 저장된 권한부여 정보만으로 부터 암호 해독키를 유도할 수 있다. V스페이스 시스템은 암호 액세스 제어 메커니즘을 제공하며,(이는 프로그램이 각각의 관련 패키지에 대해 재전송 될 필요가 없기 때문이다)프로그램 헤더를 크게 확장시키지 않고도(단지 프로그램 식별자에만 프로그램이 전송됨)유연한 패키지를 얻을 수 있다.
일반적으로, 암호화 된 프로그램 내용은 전송기, 즉 헤드 엔드 서버를 이용하여 서비스 제공자에 의해 한명 이상의 고객에 전송된다. 본 발명의 한 양상에 따르면, 프로그램을 식별하는데 이용되는 프로그램 식별자(p)는 프로그램 내용과 함께 고객에 전송된다. 각 고객은 암호 해독키를 이용하여 상기 전송된 멀티미디어 정보로의 액세스를 제한시키기 위한 셋탑 단말기 또는 다른 메커니즘을 갖는다. 이 셋탑 단말기는 헤드 엔드로부터 소정 기간동안 이용 권한을 가진 고객을 위한 하나이상의 프로그램 패키지에 대응하는 권한부여 정보를 수신한다.
각 프로그램은 이 프로그램에 고유한 프로그램키(kp)를 이용하여 전송에 앞서 헤드 엔드 서버에 의해 암호화된다. 암호화된 프로그램을 전송하는 것에 추가로 헤드 엔드 서버는 프로그램 식별자(p)를 셋탑 단말기에 전송한다. 이 셋탑 단말기는 저장된 권한부여 정보와 함께 상기 수신된 프로그램 식별자(p)를 이용하여 그 프로그램을 암호해독 하는데 필요한 암호 해독키를 유도한다. 이러한 방식으로, 만일 고객이 특정 프로그램을 이용할 권한이 있으면, 셋탑 박스는 저장 및 수신된 정보를 이용하여 그 암호화된 프로그램키(kp)를 암호해독 할 수 있게 될 것이다. 다양한 실시예에서, 프로그램 식별자(p)는 프로그램 부와 인터리브 되거나 또는 개별적인 전용제어 채널을 통해 전송된다.
본 발명의 한 양상에 따르면, 전송된 프로그램들을 암호화하는데 이용되는 각각의 k 비트 프로그램 키(kp)는 하나 이상의 의사 랜덤 해시 함수를 마스터 키(m)에 적용함으로써 얻어진다. 한 실시예에서, 길이를 두배로 하는 해시함수(H)가 이용된다. 따라서, 해시함수(H)는 k-비트를 2진 값을 취하며 길이 2k를 갖는 2진 값을 생성한다. 해시함수(H)의 값은 한 쌍의 k-비트 2진 값(H0,H1)으로 표시할 수 있는데, 여기서 H0,는 해시 함수의 출력을 좌측 절반으로서 표시되며, H1은 해시함수의 출력의 우측 절반으로 표시된다.
예시적인 실시예에서, 프로그램 키(kp)는 프로그램 식별자(p)의 각각의 비트 위치의 대응 2진 값에 따라 H0또는 H1을 마스터 키(m)에 반복적으로 적용함으로써 얻어진다.
따라서 만일 프로그램 식별자(p)가 n비트로 구성되는 경우, 해시 함수중 하나(H0또는 H1)는 프로그램 식별자(p)의 n비트 위치 각각에 대해 적용된다. 초기에 해시 함수중 하나(H0또는 H1)가 프로그램 식별자(p)의 최상위 비트의 2진 값에 따라 마스터 키(m)에 적용된다. 그 후, 나머지(n-1)비트의 위치들 각각에 대해 해시 함수중 하나 (H0또는H1)가 대응 비트의 2진 값에 따라 이전 해시 동작의 결과에 적용된다. 프로그램 키(kp)의 계산은 다음과 같이 나타내질 수 있다.
kp=Hpn(...Hp2(Hp1(m))...)
해시 동작은 트리의 루트에 놓여지는 마스터 키(m)를 갖는 키 트리로서 언급되는 n-레벨 2진 트리(T)로 표현될 수 있다. 트리는 원하는 수의 트리 레벨(n)이 생성될 때까지 해시 함수 (H0또는 H1)를 각 노드에 적용하므로 써 발생된다. 프로그램 키(kp)는 트리의 하부 레벨이 있는 리프 노드에 대응한다. 각각의 프로그램 키(kp)와 관련되는 2진 인덱스(및 마찬가지로 프로그램 식별자(p))는 키 트리를 통해 루트로부터 원하는 리프 노드에 이르는 경로에 대응한다. 따라서, 소정 노드(u) 인덱스 또는 라벨은 루트로부터 노드(u)에 이르는 경로상의 에지들에서의 라벨들의 연속이다. T(u)는 노드(u)에서 루트 되는 서브 트리, 즉 노드(u)의 서브 트리에서 리프들에 대응하는 프로그램 식별자(p)의 세트를 표시한다. 내부 노드(u)에 관하여 키 트리에서의 깊이(r)에서 부분적인 프로그램 식별자(p),(u1...,ur)와 함께, 서브트리 T(u)에서의 어떤 프로그램의 키는 해시 함수를 n-r번 작동시킴으로써 계산될 수 있다.
도 1은 본 발명의 한 실시예에 따른 암호화 된 프로그램 내용을 전송하는 시스템을 예시하는 개략 블록선도.
도 2는 본 발명에 따른 예시적인 키 트리의 개념도.
도 3은 도 1의 예시적인 헤드 엔드 서버의 개략 블록선도.
도 4는 도 1의 예시적인 셋탑 단말기의 개략 블록선도.
도 5는 도 3의 프로그램 데이터 베이스로부터의 샘플표.
도 6은 도 4의 권한부여 데이터 베이스로부터의 샘플표.
도 7은 도 3의 헤드 엔드 서버에 의해 실행되는 예시적인 권한부여 정보 분산 처리를 설명하는 흐름도.
도 8은 도 3의 헤드 엔드 서버에 의해 실행되는 예시적인 프로그램 분산 처리를 설명하는 흐름도.
도 9는 도 4의 셋탑 단말기에 의해 실행되는 예시적인 디코드 처리를 설명하는 흐름도.
도면의 주요 부분에 대한 부호의 설명
110 : 분산 네트워크 300 : 헤드 엔드 서버
310 : 프로세서 330 : 통신 포트
400 : 셋탑 단말기(STT) 1 401 : 셋탑 단말기(STT) N
본 발명의 보다 완전한 이해 및 본 발명의 추가적인 특징 및 장점들이 다음의 상세한 설명 및 도면을 참조하므로써 명확해질 것이다.
도 1은 비디오, 오디오 및 데이터와 같은 그러한 암호화 된 멀티미디어 정보 헤드 엔드 서버(300)와 같은 그러한 전송기(도 3과 관련하여 하기에 추가로 설명함)를 이용하여 하나 이상의 분산 네트워크(110)를 통해 셋탑 단말기(400)와 같은 그러한 셋탑 단말기(400-401)(도4와 관련하여 하기에 추가로 설명함)를 갖는 한명 이상의 고객에게 전송하는 예시적인 네트워크 환경을 보인 것이다. 여기서 이용되는 바와 같이, 셋탑 단말기는 예컨대 컴퓨터 구성 또는 통신장치를 비롯한 암호 해독키를 이용하는 전송된 멀티미디어 정보에만 액세스를 제한시키기 위한 어떤 메커니즘을 포함한다. 셋탑 단말기에 의해 실행되는 소프트웨어를 서비스 제공자가 다운로드 하도록 할 수 있다. 분산 네트워크(10)는 디지털 위상 서비스("DSSTM")와 같은 그러한 프로그램 내용 분산을 위한 무선 방송 네트워크 또는 케이블 텔레비젼 네트워크("CATV")와 같은 통상적인 유선 네트워크, 공중 교환 전화 네트워크("PSTN"), 광 네트워크, 광대역 통합 서비스 디지털 네트워크("ISDN") 또는 인터넷으로 될 수 있다.
본 발명의 특징에 따르면, 셋탑 단말기(400)는 빌링 주기와 같은 주어진 시간동안 고객이 권한을 부여받은 프로그램으로 액세스하는 것을 허용하는 헤드 엔드 서버(300)로부터 권한부여 정보를 간헐적으로 수신한다. 본 출원에서 이용되는 패키지는 미리 설정된 프로그램들의 세트이며, 소정 프로그램은 하나 이상의 패키지에 속할 수 있다. 프로그램은 텔레비젼 에피소드 혹은 영화와 같은 임의의 특정 길이를 갖는 연속적인 멀티미디어의 전송이다. 권한부여 정보는 어떠한 안전한 단 방향 혹은 양방향 프로토콜을 이용하여 헤드 엔드 서버(300)로부터 셋탑 단말기(400)로 다운로드 받을 수 있다는 것은 당업자에게 있어 자명하다.
프로그램 키 및 프로그램 식별자
하기에서 설명되는 바와 같이, 각각의 전송된 프로그램은 프로그램에 고유한 프로그램 키(Kp)를 이용하여 헤드 엔드 서버(300)에 의해 암호화된다. 적절한 암호화 및 보호 기술들은 비. 슈네어(B. Schneier)의 암호 기법의 적용(Applied Cryptography)(2판, 1997)에서 보다 상세하게 설명된다. 암호화된 프로그램 전송에 부가적으로, 헤드 엔드 서버(300)는 셋탑 단말기(400)로 n-비트 프로그램 식별자(p)를 또한 전송하며, 이는 암호화된 프로그램에 필요한 암호해독 키를 유도하기 위하여 셋탑 단말기(400)에 의해 저장된 권한부여 정보를 함께 이용한다. 이러한 방법은 이후에 설명된다. 프로그램에 프로그램 식별자의 할당(Assigning Program Identifier to Programs)이라는 제목의 섹션에서 하기에 설명되는 바와 같이, 프로그램 식별자들(p)은 임의로 정해지는 것이 아니다. 바람직한 일 실시예에서, 프로그램 식별자(p)는 예를 들어 MPEG-2 표준으로 정의된 ECM 필드에서 전송될 수 있는 32비트 값으로 구성된다. 이러한 방식에 있어서, 만일 이용자가 특정 프로그램에 대한 권한을 가지고 있다면, 셋탑 단말기(400)는 저장되어 수신된 정보로부터 프로그램 키(Kp)를 유도한 다음, 프로그램 키(Kp)를 이용하여 암호화된 프로그램을 암호해독 한다.
본 발명의 다른 특징에 따르면, 전송된 프로그램을 암호화하기 위해 사용되는 각각의 k-비트 프로그램 키(Kp)는 하나 이상의 의사 랜덤 해시 함수들을 마스터 키(m)에 적용함으로써 얻어진다. 적당한 의사 랜덤 해시 함수들에 대한 상세한 설명을 위해서는 본 출원의 참조로서 인용된, J, ACM33, 792-807(1986)에 개시된 오. 골드라이크(Goldreich) 등의 "랜덤 함수들을 구성하는 방법(How to Construct Random Functions)"을 참조하길 바란다.
일 실시예에서, 암호화되어 안전하며 두 배의 길이를 갖는 해시 함수는 다음과 같이 이용된다.
H : {0,1}k→ {0,1}2k
여기서, k는 프로그램 키(Kp)의 길이이다. 따라서, 해시 함수(H)는 k-비트의 2진 값을 취하여 2k의 길이를 갖는 2진 값을 생성한다. 해시 함수(H)의 출력은 한 쌍의 k-비트 2진 값들(H0과 H1)로 표현된다. 여기서 H0은 해시 함수(H)(최상위 비트) 출력의 좌측 절반을 표시하고, H1은 해시 함수(H)(최상위 비트) 출력의 우측 절반을 표시한다. H0과 H1은 분리된 해시 함수로도 일컬어질 수 있다. 예시적인 일 실시예에서, k가 160인 경우, H는 본 출원의 참조로써 인용되는 미국 상무국, 미국립 표준 기술 연구소, NIST FIPS PUB 180-1에서 안전 해시 표준으로 정의된 것으로서, 숨겨진 해시 표준(SHA-1)을 이용하여 정의될 수 있다. 다시 말해, H0는 SHA-1(x∥0)과 동일하고, 그리고 H1은 SHA-1(x∥1)과 동일하며, 여기서 0과 1은 각각 모두 0이거나 1인 비트 스트링들이다.
본 발명의 다른 특징에 따르면, 프로그램 키(Kp)는 프로그램 식별자(p)의 2진 값에 따라 하나 이상의 해시 함수들을 마스터 키(m)에 반복적으로 적용함으로써 얻어진다. 일 실시예에서, 프로그램 키(Kp)는 프로그램 식별자(p)의 각 비트 위치의 2진 값에 따라 해시 함수 중 하나 (H0또는 H1)를 마스터 키(m)에 반복적으로 적용함으로써 얻어진다. 일반적으로, 만일 프로그램 식별자(p)가 n 비트로 이루어진다면, 해시 함수중 하나(H0또는 H1)는 프로그램 식별자(p)의 해당 비트 값에 따라 프로그램 식별자(p)의 각 n 비트 위치들에 (최상위 비트에서부터) 적용된다. 먼저, 해시 함수중 하나(H0또는 H1)는 최상위 비트의 값에 따라서 마스터 키(m)에 적용된다. 그런 다음, 나머지 (n-1) 비트 위치들 각각에 대해서, 해시 함수 중 하나 (H0또는 H1)는 해당 비트의 2진 값에 따라 해시 연산의 결과에 적용된다. 하기에서 키 트리라는 명칭으로 하기 표시되는 섹션에서 설명되는 바와 같이, 해시 연산은 다음과 같이 나타낼 수도 있다.
Kp = Hpn(...Hp2(Hp1(m))...)
상기 설명한 바와 같이, 헤드 엔드 서버(300)는 프로그램 식별자(p)를 암호화된 프로그램과 함께 전송한다. 따라서, 주어진 프로그램 식별자(p), 셋탑 단말기(400)는 수신된 프로그램을 암호 해독하는 데에 이용되는 프로그램 키(Kp)를 얻어야만 한다. 상기 설명한 바와 같이, 프로그램 키(Kp)는 프로그램 식별자(p)의 2진 값에 따라 하나 이상의 해시 함수들을 마스터 키(m)로 반복적으로 적용함으로써 얻어진다. 프로그램 키(Kp)는 하기에서 설명되는 저장된 권한부여 정보 및 전송받은 프로그램 식별자(p)를 이용하여 간접적으로 이용자의 셋탑 단말기(400)에 의해 얻어져야만 한다.
키 트리
상기 설명한 바와 같이, 프로그램 키(Kp)는 프로그램 식별자(p)의 2진 값에 따라 하나 이상의 해시 함수들을 마스터 키(m)로 반복적으로 적용함으로써 얻어진다. 단일 k-비트 마스터 키(m)가 이용된다. 프로그램 식별자(p)의 비트들은 p=(p1,...,pn)으로 나타내는데, 여기서 p1은 최상위 비트이고, pn은 최하위 비트이다. 본 발명의 특징에 따르면, 프로그램 식별자(P)를 갖는 프로그램에 대하여 암호화 키(Kp)는 다음과 같이 정의된다.
Kp = Hpn(...Hp2(Hp1(m))...)
해시 연산은 또한 도 2에서 키 트리(200)로 나타낸 바와 같이, 전체 n-레벨 2진 트리(T)로 나타낼 수 있다. 도 2에 나타낸 바와 같이, 예시적인 키 트리(200)는 3비트로 구성된 프로그램 식별자들(p)을 갖는 실시예에 해당한다. 도 2에 나타낸 바와 같이, 마스터 키(m)는 트리(200)의 루트(200)에 위치한다. 프로그램 키(Kp)는 리프 노드들(240-247)과 같은 리프 노드들에 해당한다. 도 2에 나타낸 바와 같이, 예컨대 리프 노드(243)의 프로그램 키(KP)와 관련된 인덱스(011)와 같이, 도 2에 나타낸 각 프로그램 키(KP)에 관련된 인덱스는 루트(210)로부터 키 트리(200)를 통해 리프 노드(243)로의 경로를 나타낸다. 예를 들어, 리프 노드(243)의 프로그램 키(Kp)는 루트(210)에 좌측 에지(H0)가, 노드(220)에 우측 에지(H1)가 그리고 노드(232)에 우측 에지(H1)가 따르도록 함으로써 얻어진다. 다시 말해, H0가 먼저 마스터 키(m)에 적용된 다음, H1이 제 1 해시 결과에 적용되며, H1이 제 2 해시 결과에 다시 적용된다. 그 결과 값이 프로그램 키(Kp)이다.
따라서, 노드(243)와 같은 주어진 노드(u)의 라벨은 루트(210)에서 노드(u)까지의 경로 위의 에지들 상에서의 라벨들의 연속이다. 각 노드의 라벨은 프로그램 식별자(p)에 의해 식별될 수 있다. T(u)는 노드(u)를 루트로 하는 서브 트리를 나타내는 데에 이용되거나, 또는 노드(u) 서브 트리의 리프들에 해당하는 프로그램 식별자(p)의 세트를 나타내는 데에 이용된다. 키 트리(200)내의 깊이(r)에서의 내부 노드(u)에 있어서, 서브 트리 T(u) 내의 모든 프로그램 키들은 부분 프로그램 식별자(p)(u1,...,u0)에 의해 계산될 수 있다. 노드(u) 서브 트리의 임의의 프로그램 키는 해시 함수를 n-r번 실행시킴으로써 계산된다. 좀 더 명확하게 설명하면, 적절한 해시 함수(H0또는 H1)는 프로그램 식별자(p)의 각 n-r 하위 비트들의 값에 의해 명령되어 이용된다. 따라서, 노드(u)에 해당하는 프로그램 키(KP)는 노드(u)의 서브 트리 내의 모든 프로그램에 대한 권한부여로서 작용할 수 있다.
만일 함수(H)가 의사 랜덤 발생기라면, 마스터 키(m)에 의해 파라미터가 정해지는 프로그램 키들의 맵핑 Kp {0,1}n→{0,1}k은 의사 랜덤 함수이다. 예를 들어, 상기에서 본 출원의 참조로서 인용된 J, ACM33, 792-807(1986)에 개시된 오. 골드라이크(O. Goldreich) 등의 "랜덤 함수들을 구성하는 방법(How to Construct Random Functions)"을 참조하길 바란다.
시스템 구성
도 3은 예시적인 헤드 엔드 서버(300)의 구성을 보여주는 블록도이다. 헤드 엔드는 텔레비전 네트워크, 케이블 운영자, 디지털 위성 서비스 운영자, 또는 어떠한 암호화된 프로그램 내용을 전송하는 서비스 제공자와 관련된다. 헤드 엔드 서버(300)는 예를 들어 IBM사에 의해 제조된 RS 6000 서버로서 구현될 수도 있는데, 이는 본 출원에서 본 발명의 기능들 및 동작들을 실행시키도록 변경된다. 헤드 엔드 서버(300)는 프로세서(310)와, 예컨대 데이터 저장 장치(320)와 같은 관련 메모리를 포함한다. 프로세서(310)는 단일 프로세서로서, 또는 병렬로 작동하는 다수의 프로세서들로서 구현될 수도 있다. 데이터 저장 장치(320) 및/또는 판독 전용 메모리(ROM)는, 프로세서(310)로 하여금 검색, 해석, 및 실행을 수행하게 하는 하나 또는 그 이상의 명령들을 저장하도록 동작한다.
상기 설명한 바와 같이, 데이터 저장 장치(320)는 마스터 키(m)를 저장하는 마스터 키 데이터베이스(350)를 포함한다. 마스터 키(m)는, 예를 들어 빌링 주기마다 한 번씩 갱신될 수도 있다. 또한, 도 5와 관련하여 하기에서 설명되는 바와 같이, 데이터 저장 장치(320)는 프로그램 데이터베이스(500)를 포함한다. 프로그램 데이터베이스(500)는 프로그램 식별자(p) 및 각 프로그램에 해당하는 관련 패키지들을 나타낸다. 또한, 도 7 및 도 8과 관련하여 하기에서 설명되는 바와 같이, 데이터 저장 장치(320)는 권한부여 정보 분산 처리(700) 및 프로그램 분산 처리(800)를 포함한다. 일반적으로, 권한부여 정보 분산 처리(700)는 각 고객이 권한을 부여받은 프로그램들을 액세스하는 데에 필요한 권한부여 정보를 발생 및 분산시킨다. 또한, 프로그램 분산 처리(800)는 프로그램 식별자(p)에 의해 프로그램을 암호화 및 전송시키기 위하여, 프로그램에 할당된 프로그램 식별자(p)를 근거로 하여 프로그램 키(Kp)를 유도한다.
통신 포트(330)는 헤드 엔드 서버(300)를 분산 네트워크(110)에 접속시키며, 이로써 헤드 엔드 서버(300)와, 예컨대 도 1에 나타낸 셋탑 단말기(400)와 같은 개별 접속 수신기와의 접속이 이루어진다.
도 4는 예시적인 셋탑 단말기(400)의 구조를 보여주는 블록도이다. 예컨대 본 출원에서 본 발명의 기능들 및 동작들을 실행시키도록 변경된 제너럴 인스트루먼트사에 의해 제조된 텔레비젼에 결합된 셋탑 단말기(STT)로서 구현될 수도 있다. 셋탑 단말기(400)는 프로세서(410) 및 예컨대 데이터 저장 장치(420)와 같은 관련 메모리 뿐 아니라, 도 3에 관련하여 상기에서 설명된 하드웨어와 유사한 방식으로 작동하는 통신 포트(430)를 포함한다.
도 6과 관련하여 하기에서 설명되는 바와 같이, 데이터 저장 장치(420)는 데이터 저장 장치(420)의 보안 부분에 저장될 수도 있는 권한부여 데이터베이스(600)를 포함한다. 권한부여 데이터베이스(600)는 고객이 권한을 부여받은 프로그램들에 대한 프로그램 키들(Kp)을 유도하는 데에 필요한 키 트리(200) 부분들을 포함한다. 또한, 데이터 저장 장치(420)는 해시 함수들(H0및 H1)(440)을 포함한다. 또한, 도 9와 관련하여 하기에서 설명되는 바와 같이, 데이터 저장 장치(420)는 암호해독 처리(900)를 포함한다. 일반적으로, 암호해독 처리(900)는 수신된 프로그램 식별자(p)와 저장된 권한부여 정보(600)를 이용하여, 고객이 권한을 부여받은 프로그램을 암호해독하여 프로그램 키(Kp)를 유도한 다음, 이 프로그램 키(Kp)를 이용하여 프로그램을 암호해독한다.
도 5는 주어진 빌링 주기 동안 예를 들어 프로그램이 속해있는 패키지들 및 해당하는 프로그램 식별자(P)를 포함하는 헤드 엔드 서버(300)에 의해 전송될 각 프로그램(P)에 정보를 저장하는 예시적인 프로그램 데이터베이스(500)를 나타낸다. 프로그램 데이터베이스(500)는 각각 다른 프로그램과 관련된 레코드들(505-520)과 같은 다수의 레코드들을 보유한다. 필드(525) 내에서 프로그램 이름으로 확인되는 각 프로그램에 대하여, 프로그램 데이터베이스(500)는 필드(530)내에는 프로그램이 속하는 해당 패키지의 표시를, 필드(535) 내에는 해당하는 프로그램 식별자(p)를 포함한다.
도 6은 고객이 권한을 부여받은 프로그램들에 대하여 프로그램 키들(Kp)을 유도하는 데에 필요한 키 트리(200) 부분들을 포함한다. 상기 설명한 바와 같이, T(u)는 노드(u)에 루트된 서브트리를 나타내거나, 또는 노드(u)의 서브트리 내의 리프 노드들(240-247)에 해당하는 프로그램 식별자들(p)의 세트를 나타내는 데에 이용된다. 예를 들어, 만일 고객이 리프 노드들(240-243)에 해당하는 네 개의 프로그램들을 수신할 수 있는 권한을 부여받는 다면, 권한부여 정보는 노드(220)에 관련된 중간 키(intermediate key)로 구성될 것이다. 이러한 방식에 있어서, 필요할 경우 노드(220)의 서브트리 내의 각 노드(230, 232, 240-243)에 대한 프로그램 키들(Kp)을 유도하는 데에 적절한 해시 함수들(H0및 H1)(440)이 이용될 수 있다.
도 6에 나타낸 예시적인 권한부여 데이터베이스(600)는 리프 노드들(240-243)에 해당하는 네 개의 프로그램들 뿐 아니라 리프 노드들(246-247)에 해당하는 두 개의 프로그램들을 수신하도록 권한을 부여받은 고객에 해당한다. 따라서, 권한부여 데이터베이스(600) 내에 기록된 권한부여 정보는 노드(220) 및 노드(236)와 관련된 중간 키들로 구성된다. 각 노드(220 및 236)에 대하여, 권한부여 데이터베이스(600) 내에 기록된 권한부여 정보는 각각의 중간 키의 값(K10및 K11) 및 해당하는 부분 프로그램 식별자(p)의 표시를 포함한다. 권한부여 정보(600)가 고객에 의해 선택된 프로그램들의 패키지를 근거로 하여 권한부여 정보 분산 처리(700)에 의해 발생되는 방법은 도 7에 관련하여 하기에서 설명된다.
프로그램 패키징
본 발명의 트리 구성을 이용하여 가변 크기를 갖는 많은 프로그램들의 세트에 대한 작은 권한부여가 설정될 수 있다. 목표 세트(S)는 패키지된 프로그램들의 세트을 이용하여 설정된다. 서브트리들이 목표 세트(S)를 하기와 같이 정확하게 포함하는 트리 노드들의 최소 세트가 얻어진다:
패키지(S)에 대한 권한부여 정보는 T(S)의 노드들에서 보유되는 중간 키(K1)의 세트이다. 상기에서 나타낸 바와 같이, 이러한 키들의 세트는 셋탑 단말기(400)가 S 내의 프로그램들을 정확하게 암호해독하고 다른 것들은 암호해독하지 않을 수 있게 한다. 본 발명의 트리 구성은 원칙적으로 모든 임의 목표 세트(S)에 대하여 권한부여 정보를 생성할 수 있다. 그러나, 만일 프로그램 식별자들(p)이 임의로 할당된다면, 권한부여 정보는 셋탑 단말기(400)의 한정된 보안 메모리에 대하여 상당히 커질 수도 있다.
처리
상기 설명한 바와 같이, 헤드 엔드 서버(300)는 도 7에 나타낸 권한부여 정보 분산 처리(700)를 실행하여, 각 고객이 권한을 부여받은 프로그램들을 액세스하는 데에 요구되는 권한부여 정보(600)를 발생 및 분산시킨다. 상기 설명한 바와 같이, 권한부여 정보(600)는 중간 키의 값(K1), 및 고객이 권한을 부여받은 프로그램들에 대하여 프로그램 키들(Kp)을 유도하는 데에 필요한 키 트리(200)의 각 노드에 대한 해당하는 부분 프로그램 식별자(p)의 표시로 구성된다.
따라서, 권한부여 정보 분산 처리(700)는 먼저 단계(710)에서 고객에 의해 선택된 프로그램을 확인한다. 이후, 권한부여 정보 분산 처리(700)는 서브트리들이 목표 세트(S)를 정확하게 포함하는 트리 노드들 T(S)의 최소 세트를 구한다. 목표 세트(S)는 단계(720) 동안 연속적인 프로그램 식별자들(p)의 최대 분리 간격들로 분해된다. 2진 표현에 해당하는 정수들이 연속적일 경우 두 개의 프로그램 식별자들(p)은 연속적인 것으로 간주된다. 이렇게 되면, 단계(730) 동안 각 간격에 대한 커버 T(S)가 발견된다. 중간 키들(K)의 세트, 및 각 간격에 대한 커버 T(S)의 노드들에서 보유되는 해당하는 부분 프로그램 식별자들(p)이 단계(740)에서 발생된다. 마지막으로, 발생된 권한부여 정보는, 단계(760) 동안 프로그램 제어가 종료되기 전에, 단계(750) 동안 헤드 엔드 서버(300)에 의해 셋탑 단말기(400)로 다운로드 된다.
목표 세트(S) 내의 간격들의 수는 I(S)로서 언급된다. 프로그램 식별자들(p)의 단일 간격에 대하여 커버 T(S)를 계산하기 위해서는, n개의 트리 노드들이 순서대로 깊이(n)의 키 트리(200) 내에서 조사되어야 한다. 따라서, 권한부여 정보 분산 처리(700)의 시간 복잡성(time complexity)은 I(S)n의 정도이다. 마찬가지로, 최소 커버 T(S)의 크기는 I(S)n 정도이다. 관련된 내용을 갖는 프로그램들에는 이들이 효율적으로 패키지될 수 있도록 하는 프로그램 식별자들(p)이 할당되어야 한다. 어떠한 실행에 있어서, 기본적인 패키지들은 비트 접두사(μ)를 갖는 모든 프로그램 식별자들(p)로 구성된다. 이러한 단일 주제 패키지에 대한 권한부여는 키 트리(200) 내의 단일키이다. 또한, 다중 주제 패키지들은 어떠한 부작용 없이 조립된다. 권한부여 정보는 다중 주제 패키지를 구성하는 개별적인 주제들에 대한 키들의 세트를 단순화한다. 본 발명에 따르면, 접두사(μ)에 의해 규정되는 패키지는 셋탑 단말기(400)가 동일한 길이를 갖는 접두사 0을 갖는 프로그램들을 암호해독할 수 없게 한다.
상기 설명한 바와 같이, 헤드 엔드 서버(300)는 도 8에 나타낸 프로그램 분산 처리(800)을 실행시켜, 프로그램에 할당된 프로그램 식별자(p)에 근거 하여 프로그램 키(Kp)와, 그리고 프로그램 식별자(p)에 의해 그 프로그램을 암호화하여 전송하기 위하여 마스터 키(m)를 유도한다. 실질적인 전송 단계 이외의 프로그램 분산 처리(800)는 오프라인으로 또는 실시간으로 실행될 수 있다. 도 8에 예시한 바와 같이, 프로그램 분산 처리(800)는 전송된 프로그램을 확인함으로써 단계(810) 동안 본 발명의 원리를 구현하는 처리로 시작된다.
이후, 프로그램 분산 처리(800)는 단계(820) 동안 프로그램 데이터베이스(500)로부터 그 프로그램에 해당하는 프로그램 식별자(p)를 검색한 다음, 단계(830) 동안 그 프로그램에 해당하는 프로그램 키(Kp)를 계산한다. 이후, 이전 단계 동안 계산된 프로그램 키(Kp)를 이용하여 단계(840) 동안 프로그램이 암호화될 것이다. 마지막으로, 프로그램 분산 처리(800)는 단계(860) 동안 프로그램 제어가 종료되기 전에, 프로그램 식별자(p)와 함께 암호화된 프로그램을 전송할 것이다. 프로그램 식별자(p)는 프로그램 정보의 전송 내내 주기적으로 전송되어 인터리브될 수 있으며, 이에 따라 고객은 그 프로그램 동안에 채널들을 변경할 수 있고 프로그램을 암호해독하는 데에 필요한 프로그램 키(Kp)를 유도할 수 있음을 주목하자. 변형 실시예에서, 프로그램 식별자(p)는 예컨대 바커(Barker) 채널과 같은 개별적인 제어 채널에 연속적으로 전송될 수 있다.
상기 설명한 바와 같이, 셋탑 단말기(400)는 도 9에 나타낸 바와 같이 암호해독 처리(900)을 실행하는데, 수신된 프로그램 식별자(p) 및 저장된 권한부여 정보(600)를 이용하여 고객이 권한을 부여받은 프로그램을 암호해독하기 위하여 프로그램 키(Kp)를 유도한 다음, 이 프로그램 키(Kp)를 이용하여 프로그램을 암호해독한다. 도 9에 예시한 바와 같이, 암호해독 처리(900)는 특정한 채널에 동조시키는 고객의 명령을 수신하게 되면, 단계(910) 동안 본 발명의 원리를 구현하는 처리가 시작된다.
이후, 셋탑 단말기(400)는 단계(920) 동안, 암호화된 프로그램 및 전송된 프로그램 식별자(p)를 포함하는 적절한 신호를 수신할 것이다. 이후, 암호해독 처리(900)는 단계(930) 동안 권한부여 데이터베이스(600)로부터 저장된 권한부여 정보를 검색한다. 단계(940) 동안에는 전송된 프로그램에 관련된 결정을 하는 테스트가 수행된다. 만일 단계(940) 동안, 수신된 프로그램 식별자(p)의 최상위 비트들과 일치하는 부분 프로그램 식별자(p)를 갖는 엔트리가 권한부여 데이터베이스(600) 내에 존재하지 않는 것으로 결정된다면, 고객은 선택된 프로그램에 대하여 권한을 부여받지 못하게 되며 단계(980) 동안 프로그램 제어는 종료된다.
그러나, 만일 수신된 프로그램 식별자(p)의 최상위 비트들과 일치하는 부분 프로그램 식별자(p)를 갖는 엔트리가 권한부여 데이터베이스(600) 내에 존재한다면, 고객은 선택된 프로그램에 대하여 권한을 부여받게 된다. 따라서, 권한부여 데이터베이스(600)의 엔트리로부터 검색된 중간 키(K1)를 이용하여 단계(960) 동안 프로그램 키(Kp)가 계산된다. 좀 더 상세하게 설명하면, 프로그램 키(Kp)는 다음과 같은 프로그램 식별자(p)의 n-r 하위 비트들 각각의 값에 의해 명령되는 적절한 해시 함수(H0및 H1)를 작동시킴으로써 계산된다.
Kp=Hpn(...Hpr+1(Hpr(KI))...)
마지막으로, 단계(980) 동안 프로그램 제어가 종료되기 전에, 단계(970) 동안 유도된 프로그램 키(Kp)를 이용하여 프로그램이 암호해독된다. 만일 검색된 프로그램이 고객의 권한이 부여된 부분이 아니라면, 권한부여 데이터베이스(600) 내에는 전송된 프로그램에 의해 수신된 프로그램 식별자(p)의 하위 비트들과 일치하는 부분 프로그램 식별자(p)를 갖는 어떠한 권한부여 정보도 없다는 것을 주목하자.
또한, 암호해독 처리(900)은 고객이 암호해독 키들을 유도하고자 시도하기 전에 특정한 채널을 요구하는 것을 기다린 다음, 상기 설명한 바 대로 요구된 채널에 대하여 그 고객이 권을 부여받았는 지를 결정할 수 있거나, 또는 암호해독 처리(900)은 모든 채널들을 주기적으로 스캔하여 전송된 프로그램 식별자(p)를 얻게 되며, 이에 따라 데이터 저장 장치(420) 내에 저장하기 위한 암호해독 키들을 유도하고 고객의 권한부여를 미리결정한다는 것을 주목하자.
적당한 해시 함수
상기 설명한 바와 같이, 만일 해시 함수(H)가 의사 랜덤 비트 발생기라면, p→Kp 맵핑은 증명가능한 의사 랜덤의 함수이다. 따라서, 만일 실제 해시 함수(H)가 암호기법적으로 강력하다면, 암호화 키들은 예측이 불가능해질 것이다. 이에 따라, 만일 침해자가 단지 암호화된 프로그램 방송을 액세스하였다면, 본 발명의 트리 구성을 이용하여 키들이 발생된 정보는 암호를 푸는데에 도움이 되지 못할 것 같다. 따라서, 본질적으로 유일한 관심사는 비디오 암호화 알고리즘이 알려진 평문 공격을 견딜 수 있음을 보장하는 것이다.
해시 함수(H)는 두 가지의 특성을 가져야 한다. 첫 번째로, 해시 함수(H)에 대한 이미지 H0(x) 또는 H1(x)의 절반인 주어진 입력(x)을 계산하기가 어려워야 한다. 이는 이미지의 두 개의 절반들이 알려져있을 때 조차도 반전시키기가 어려운 모든 해시 함수(H)에 대하여 확실하게 유지된다. 또한, H1(x)가 알려져있을 때 조차도 H0(x)을 계산하기가 어려워야 하며, H0(x)가 알려져있을 때 조차도 H1(x)을 계산하기가 어려워야 한다. 원칙적으로, 해시 함수(H)가 반전되기 어려울지라도, 나머지 절반이 알려져있을 때 잃어버린 절반 키를 계산하는 것은 더 쉬울 수도 있다. 만일 그렇다면, 노드(u)에 대한 프로그램 키(Kp)를 알고있는 침입자는 형제 노드(v)에 대한 키를 계산한 다음, 노드(v)의 서브트리 내의 모든 프로그램들에 대한 키를 계산할 수도 있다.
본 발명에 따른 트리 구성의 한 장점은 합쳐져 침입된 권한부여들을 비효율적으로 한다는 것이다. 한 쌍의 형제 프로그램들(p1 및 p2) 및 그들의 부모 노드(u)를 고려하자. 침입자가 H(KP(u))의 두 개의 절반인 프로그램들(p1 및 p2)에 해당하는 프로그램 키(Kp)를 알고있다고 가정하자. 침입자는 여전히 H를 반전시키지 못하고 Kp(u)를 계산하지 못하는데, 이는 H가 암호화된 해시 함수이기 때문이다. 따라서, 합쳐져 침입된 권한부여들은 좀 더 치밀한 Kp(u) 보다는 Kp(p1) 및 Kp(p2)를 포함해야 할 것이다. 따라서, 값싼 (하지만 다른) 권한부여를 이용하여 다중의 셋탑 단말기들(400)로 분해시키는 것은 침입자를 위한 좋은 방법이 될 수 없는데, 이는 결합된 권한부여가 매우 커질 것이기 때문이다.
상기 설명한 바와 같이, 적절한 의사 랜덤 해시 함수들은 예를 들어 J, ACM33, 792-807(1986)에 개시된 오. 골드라이크(O. Goldreich) 등의 "랜덤 함수들을 구성하는 방법(How to Construct Random Functions)"에서 설명되며, 이는 상기에서 참조로서 인용되었다.
본 원에서 설명된 실시예들 및 변형들은 단지 본 발명의 원리를 설명하기 위한 것들이며, 당업자에게 있어 본 발명의 범위 및 원리를 벗어나지 않으면서 다양한 변경들이 이루어질 수 있음은 자명하다.
본 발명에 따르면, 정보의 보안성을 증진시킬 수 있다.
Claims (29)
- 엔드 유저로의 액세스를 제한하는 프로그램 전송 방법으로서,상기 프로그램에 2진 값을 갖는 프로그램 식별자를 할당하는 단계와;적어도 하나의 마스터 키를 정의하는 단계와;프로그램 키를 이용하여 상기 프로그램을 암호화하는 단계와, 여기서 상기 프로그램 키는 상기 프로그램 식별자의 2진 값에 근거하여 적어도 하나의 해시 함수를 상기 마스터 키에 적용함으로써 얻어지며; 그리고상기 암호화된 프로그램을 상기 프로그램 식별자와 함께 상기 엔드 유저에 전송하는 단계로 구성되는 것을 특징으로 하는 프로그램 전송 방법.
- 제 1 항에 있어서,상기 프로그램 식별자는 n 비트로 구성되고, 상기 해시 함수들중 하나는 상기 프로그램 식별자의 대응 비트 값에 따라 상기 프로그램 식별자의 n 비트 위치들 각각에 대해 적용되는 것을 특징으로 하는 프로그램 전송 방법.
- 제 1 항에 있어서,상기 엔드 유저가 수신한 상기 프로그램 세트에 근거하여, 권한 부여 정보를 상기 엔드 유저에 제공하는 단계를 더 포함하는 것을 특징으로 하는 프로그램 전송 방법.
- 제 3 항에 있어서,상기 권한부여 정보는 상기 엔드 유저가 수신한 상기 프로그램 세트에 근거하여 키 트리의 부분을 포함하는 것을 특징으로 하는 프로그램 전송 방법.
- 제 3 항에 있어서,상기 엔드 유저는 상기 수신된 프로그램 식별자를 이용하여, 상기 저장된 권한부여 정보로부터 상기 프로그램 키를 유도하는 것을 특징으로 하는 프로그램 전송 방법.
- 제 1 항에 있어서,상기 프로그램 식별자는 상기 암호화된 프로그램의 전송과 인터리브되는 것을 특징으로 하는 프로그램 전송 방법.
- 제 1 항에 있어서,상기 프로그램 식별자가 제어 채널을 통해 전송되는 것을 특징으로 하는 프로그램 전송 방법.
- 복수의 엔드 유저에 프로그램을 전송하는 방법으로서,프로그램 키를 이용하여 상기 프로그램을 암호화하는 단계와, 여기서 상기 프로그램은 프로그램 식별자를 갖고 그리고 상기 프로그램 키는 상기 프로그램 식별자의 각 비트 위치의 2진 값에 근거하여 마스터 키에 해시 함수를 반복적으로 적용함으로써 얻어지며; 그리고상기 암호화된 프로그램 및 상기 프로그램 식별자를 상기 엔드 유저에 전송하는 단계로 구성되는 것을 특징으로 하는 프로그램 전송 방법.
- 제 8 항에 있어서,상기 프로그램 식별자는 n 비트로 구성되고, 해시 함수가 상기 프로그램 식별자의 대응 비트 값에 따라 상기 프로그램 식별자의 n 비트 위치들 각각에 대해 적용되는 것을 특징으로 하는 프로그램 전송 방법.
- 제 8 항에 있어서,상기 엔드 유저가 수신한 프로그램 세트에 근거하여, 권한부여 정보를 상기 엔드 유저에 제공하는 단계를 더 포함하는 것을 특징으로 하는 프로그램 전송 방법.
- 제 10 항에 있어서,상기 권한부여 정보는 상기 엔드 유저가 수신한 프로그램 세트에 근거하여 키 트리의 부분을 포함하는 것을 특징으로 하는 프로그램 전송 방법.
- 제 10 항에 있어서,상기 엔드 유저는 상기 수신된 프로그램 식별자를 이용하여, 상기 저장된 권한부여 정보로부터 상기 프로그램 키를 유도하는 것을 특징으로 하는 프로그램 전송 방법.
- 제 8 항에 있어서,상기 프로그램 식별자가 상기 암호화된 프로그램의 전송과 인터리브되는 것을 특징으로 하는 프로그램 전송 방법.
- 제 8 항에 있어서,상기 프로그램 식별자는 제어 채널을 통해 전송되는 것을 특징으로 하는 프로그램 전송 방법.
- 적어도 하나의 프로그램 패키지와 관련된 프로그램을 복수의 엔드 유저에 전송하는 방법으로서,상기 엔드 유저가 수신한 프로그램 세트에 근거하여, 권한부여 정보를 상기 엔드 유저에 전송하는 단계와;프로그램 키를 이용하여 상기 프로그램을 암호화하는 단계와, 여기서 상기 프로그램은 프로그램 식별자를 갖고 그리고 상기 프로그램 키는 상기 프로그램 식별자의 각 비트 위치의 2진 값에 근거하여 마스터 키에 해시 함수를 반복적으로 적용함으로써 얻어지며; 그리고상기 암호화된 프로그램과 함께 상기 프로그램 식별자를 상기 엔드 유저에 전송하는 단계로 구성되며, 상기 엔드 유저는 만일 상기 엔드 유저가 상기 프로그램을 사용할 권한이 있으면 상기 저장된 권한부여 정보로 부터 상기 프로그램 키를 유도하는 것을 특징으로 하는 프로그램 전송 방법.
- 제 15 항에 있어서,상기 프로그램 식별자는 n 비트로 구성되고, 상기 해시 함수들중 하나가 상기 프로그램 식별자의 대응 비트 값에 따라 상기 프로그램 식별자의 n 비트 위치들 각각에 대해 적용되는 것을 특징으로 하는 프로그램 전송 방법.
- 제 15 항에 있어서,상기 권한부여 정보는 상기 엔드 유저가 수신한 프로그램 세트에 근거하여 키 트리의 부분을 포함하는 것을 특징으로 하는 프로그램 전송 방법.
- 제 15 항에 있어서,상기 엔드 유저는 상기 수신된 프로그램 식별자를 이용하여, 상기 저장된 권한부여 정보로부터 상기 프로그램 키를 유도하는 것을 특징으로 하는 프로그램 전송 방법.
- 제 15 항에 있어서,상기 프로그램 식별자가 상기 암호화된 프로그램의 전송과 인터리브되는 것을 특징으로 하는 프로그램 전송 방법.
- 제 15 항에 있어서,상기 프로그램 식별자는 제어 채널을 통해 전송되는 것을 특징으로 하는 프로그램 전송 방법.
- 암호화된 프로그램을 디코딩하는 방법으로서,상기 프로그램의 제공자로부터 권한부여 정보를 수신하는 단계와, 여기서 상기 권한부여 정보는 고객에 의해 수신된 프로그램 세트에 근거하여 키 트리의 부분을 포함하며;상기 암호화된 프로그램 및 프로그램 식별자를 수신하는 단계와, 여기서 상기 암호화된 프로그램은 프로그램 키로 암호화된 것이며;상기 프로그램 식별자 및 상기 키 트리의 상기 저장된 부분으로 부터 상기 프로그램 키를 유도하는 단계와;상기 프로그램 키를 이용하여 상기 암호화된 프로그램을 암호해독 하는 단계로 구성되는 것을 특징으로 하는 암호화된 프로그램의 디코딩 방법.
- 제 21 항에 있어서,상기 프로그램 식별자는 n 비트로 구성되고, 상기 마스터 키는 상기 키 트리의 루트에 놓이며, 상기 키 트리는 n개의 트리 레벨이 생성될 때까지 해시 함수를 각 노드에 적용함으로써 발생되는 것을 특징으로 하는 암호화된 프로그램의 디코딩 방법.
- 암호화된 프로그램을 디코딩하는 방법으로서상기 프로그램의 제공자로부터 권한부여 정보를 수신하는 단계와, 여기서 상기 권한부여 정보는 고객에 의해 수신된 프로그램 세트에 근거하여 키 트리의 부분으로 부터 적어도 하나의 중간 키를 포함하며;상기 암호화된 프로그램 및 프로그램 식별자를 수신하는 단계와, 여기서 상기 암호화된 프로그램은 프로그램 키로 암호화된 것이며;상기 프로그램 식별자의 2진 값에 근거하여 해시 함수를 상기 중간 키에 반복적으로 적용함으로써 상기 프로그램 식별자 및 상기 저장된 중간 키로 부터 상기 프로그램 키를 유도하는 단계와; 그리고상기 프로그램 키를 이용하여 상기 암호화된 프로그램을 암호해독하는 단계로 구성되는 것을 특징으로 하는 암호화된 프로그램의 디코딩 방법.
- 제 23 항에 있어서,상기 프로그램 식별자는 n 비트로 구성되고, 상기 중간 키는 상기 키 트리의 레벨 r 에 있는 중간 노드에 대응하며, 상기 해시 함수가 상기 중간 키에 n-r 번 적용되는 되는 것을 특징으로 하는 암호화된 프로그램의 디코딩 방법.
- 엔드 유저로의 액세스를 제한하는 프로그램을 전송하는 시스템으로서,마스터 키와 컴퓨터 판독가능 코드를 저장하는 메모리와; 그리고 동작시 상기 메모리에 연결되는 프로세서로 구성되며,상기 프로세서는상기 프로그램에 2진 값을 갖는 프로그램 식별자를 할당하고;적어도 하나의 마스터 키를 정의하고;프로그램 키를 이용하여 상기 프로그램을 암호화하고, 여기서 상기 프로그램 키는 상기 프로그램 식별자의 2진 값에 근거하여 적어도 하나의 해시 함수를 상기 마스터 키에 적용함으로써 얻어지며; 그리고상기 암호화된 프로그램을 상기 프로그램 식별자와 함께 상기 엔드 유저에 전송하도록 된 것을 특징으로 하는 프로그램 전송 시스템.
- 엔드 유저로의 액세스를 제한하는 프로그램을 전송하는 시스템으로서,마스터 키와 컴퓨터 판독가능 코드를 저장하는 메모리와; 그리고 동작시 상기 메모리에 연결되는 프로세서로 구성되며,상기 프로세서는,상기 프로그램에 2진 값을 갖는 프로그램 식별자를 할당하고;적어도 하나의 마스터 키를 정의하고;프로그램 키를 이용하여 상기 프로그램을 암호화하고, 여기서 상기 프로그램은 프로그램 식별자를 갖고, 상기 프로그램 키는 상기 프로그램 식별자의 각 비트 위치의 2진 값에 근거하여 해시 함수를 마스터 키에 반복적으로 적용함으로써 얻어지며; 그리고상기 암호화된 프로그램 및 상기 프로그램 식별자를 상기 엔드 유저에 전송하도록 된 것을 특징으로 하는 프로그램 전송 시스템.
- 암호화된 프로그램을 디코딩하는 시스템으로서,마스터 키와 컴퓨터 판독가능 코드를 저장하는 메모리와; 그리고 동작시 상기 메모리에 연결되는 프로세서로 구성되며,상기 프로세서는상기 프로그램의 제공자로부터 권한부여 정보를 수신하고, 여기서 상기 권한부여 정보는 고객에 의해 수신된 프로그램 세트에 근거하여 키 트리의 부분을 포함하며;상기 암호화된 프로그램 및 프로그램 식별자를 수신하고, 여기서 상기 암호화된 프로그램은 프로그램 키로 암호화된 것이며;상기 프로그램 식별자 및 상기 키 트리의 상기 저장된 부분으로 부터 상기 프로그램 키를 유도하고; 그리고상기 프로그램 키를 이용하여 상기 암호화된 프로그램을 암호해독 하도록 된 것을 특징으로 하는 암호화된 프로그램의 디코딩 시스템.
- 컴퓨터 판독가능 코드 수단이 수록된 컴퓨터 판독가능 매체를 포함하며,상기 컴퓨터 판독가능 프로그램 코드 수단이프로그램에 2진 값을 갖는 프로그램 식별자를 할당하는 단계와;적어도 하나의 마스터 키를 정의하는 단계와;프로그램 키를 이용하여 상기 프로그램을 암호화하는 단계와, 여기서 상기 프로그램 키는 상기 프로그램 식별자의 2진 값에 근거하여 적어도 하나의 해시 함수를 상기 마스터 키에 적용함으로써 얻어지며; 그리고상기 암호화된 프로그램을 상기 프로그램 식별자와 함께 상기 엔드 유저에 전송하는 단계로 구성되는 것을 특징으로 하는 제조물.
- 컴퓨터 판독가능 코드 수단이 수록된 컴퓨터 판독가능 매체를 포함하며,상기 컴퓨터 판독가능 프로그램 코드 수단이프로그램의 제공자로부터 권한부여 정보를 수신하는 단계와, 여기서 상기 권한부여 정보는 고객에 의해 수신된 프로그램 세트에 근거하여 키 트리의 부분을 포함하며;상기 암호화된 프로그램 및 프로그램 식별자를 수신하는 단계와, 여기서 상기 암호화된 프로그램은 프로그램 키로 암호화된 것이며;상기 프로그램 식별자 및 상기 키 트리의 상기 저장된 부분으로 부터 상기 프로그램 키를 유도하는 단계와;상기 프로그램 키를 이용하여 상기 암호화된 프로그램을 암호해독 하는 단계로 구성되는 것을 특징으로 하는 제조물.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/307,643 US6735313B1 (en) | 1999-05-07 | 1999-05-07 | Cryptographic method and apparatus for restricting access to transmitted programming content using hash functions and program identifiers |
US09/307,643 | 1999-05-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010007044A true KR20010007044A (ko) | 2001-01-26 |
KR100651336B1 KR100651336B1 (ko) | 2006-11-28 |
Family
ID=23190607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000023887A KR100651336B1 (ko) | 1999-05-07 | 2000-05-04 | 프로그램 전송 시스템 및 방법, 암호화된 프로그램의 디코딩 시스템 및 방법, 제조물 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6735313B1 (ko) |
EP (1) | EP1051036B1 (ko) |
JP (1) | JP2001036517A (ko) |
KR (1) | KR100651336B1 (ko) |
CN (1) | CN1273490A (ko) |
AU (1) | AU3024400A (ko) |
BR (1) | BR0007333A (ko) |
CA (1) | CA2307157A1 (ko) |
DE (1) | DE60045060D1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100430147B1 (ko) * | 2000-03-15 | 2004-05-03 | 인터내셔널 비지네스 머신즈 코포레이션 | 컴퓨터 액세스 제어 |
KR100465950B1 (ko) * | 2001-02-09 | 2005-01-13 | 캐논 가부시끼가이샤 | 정보 처리 장치 및 그 제어 방법, 컴퓨터 프로그램을 저장한 저장 매체 |
KR100924773B1 (ko) * | 2002-09-16 | 2009-11-03 | 삼성전자주식회사 | 메타데이터 암호화 및 복호화 방법과 암호화된 메타데이터관리 방법 및 그 시스템 |
KR101133988B1 (ko) * | 2010-04-23 | 2012-04-05 | 한국과학기술원 | 해쉬 트리 기반의 스트림 암호화 및 복호화 방법과 암호 파일 시스템 |
KR101313869B1 (ko) * | 2004-08-12 | 2013-10-01 | 씨엠엘에이 엘엘씨 | 보안성을 향상시키는 순열 데이터 변환 |
US8737608B2 (en) | 2004-08-12 | 2014-05-27 | Cmla, Llc | Exponential data transform to enhance security |
Families Citing this family (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3659791B2 (ja) * | 1998-03-23 | 2005-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 小時間鍵生成の方法及びシステム |
DE69935913T2 (de) * | 1998-07-02 | 2008-01-10 | Cryptography Research Inc., San Francisco | Leckresistente aktualisierung eines indexierten kryptographischen schlüssels |
US6760441B1 (en) * | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use in an isolated execution environment |
JP2001352321A (ja) | 2000-04-06 | 2001-12-21 | Sony Corp | 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体 |
US20020025045A1 (en) * | 2000-07-26 | 2002-02-28 | Raike William Michael | Encryption processing for streaming media |
US20020071565A1 (en) * | 2000-12-11 | 2002-06-13 | Kurn David Michael | Software process pre-authorization scheme for applications on a computer system |
AU1547402A (en) | 2001-02-09 | 2002-08-15 | Sony Corporation | Information processing method/apparatus and program |
JP3957978B2 (ja) * | 2001-02-09 | 2007-08-15 | 株式会社東芝 | 暗号化システム、データ利用デバイス、及び、暗号化システムのデータ再生制御方法 |
US7395425B2 (en) * | 2001-03-29 | 2008-07-01 | Matsushita Electric Industrial Co., Ltd. | Data protection system that protects data by encrypting the data |
JP2002319932A (ja) * | 2001-04-19 | 2002-10-31 | Sony Corp | 情報記録装置、情報再生装置、および情報記録方法、情報再生方法、並びにプログラム |
FR2825877B1 (fr) | 2001-06-12 | 2003-09-19 | Canal Plus Technologies | Procede de controle d'acces a un programme crypte |
US20030002668A1 (en) * | 2001-06-30 | 2003-01-02 | Gary Graunke | Multi-level, multi-dimensional content protections |
JP4934923B2 (ja) * | 2001-08-09 | 2012-05-23 | ソニー株式会社 | 情報記録装置、情報再生装置、および情報記録方法、情報再生方法、並びにコンピュータ・プログラム |
US6889210B1 (en) * | 2001-12-12 | 2005-05-03 | Pss Systems, Inc. | Method and system for managing security tiers |
US8065713B1 (en) | 2001-12-12 | 2011-11-22 | Klimenty Vainstein | System and method for providing multi-location access management to secured items |
US7921284B1 (en) | 2001-12-12 | 2011-04-05 | Gary Mark Kinghorn | Method and system for protecting electronic data in enterprise environment |
US7921450B1 (en) | 2001-12-12 | 2011-04-05 | Klimenty Vainstein | Security system using indirect key generation from access rules and methods therefor |
US10033700B2 (en) | 2001-12-12 | 2018-07-24 | Intellectual Ventures I Llc | Dynamic evaluation of access rights |
US7260555B2 (en) | 2001-12-12 | 2007-08-21 | Guardian Data Storage, Llc | Method and architecture for providing pervasive security to digital assets |
US7783765B2 (en) | 2001-12-12 | 2010-08-24 | Hildebrand Hal S | System and method for providing distributed access control to secured documents |
US7921288B1 (en) | 2001-12-12 | 2011-04-05 | Hildebrand Hal S | System and method for providing different levels of key security for controlling access to secured items |
US10360545B2 (en) | 2001-12-12 | 2019-07-23 | Guardian Data Storage, Llc | Method and apparatus for accessing secured electronic data off-line |
US7565683B1 (en) | 2001-12-12 | 2009-07-21 | Weiqing Huang | Method and system for implementing changes to security policies in a distributed security system |
USRE41546E1 (en) | 2001-12-12 | 2010-08-17 | Klimenty Vainstein | Method and system for managing security tiers |
US7178033B1 (en) | 2001-12-12 | 2007-02-13 | Pss Systems, Inc. | Method and apparatus for securing digital assets |
US8006280B1 (en) | 2001-12-12 | 2011-08-23 | Hildebrand Hal S | Security system for generating keys from access rules in a decentralized manner and methods therefor |
US7930756B1 (en) | 2001-12-12 | 2011-04-19 | Crocker Steven Toye | Multi-level cryptographic transformations for securing digital assets |
US7380120B1 (en) | 2001-12-12 | 2008-05-27 | Guardian Data Storage, Llc | Secured data format for access control |
US7681034B1 (en) | 2001-12-12 | 2010-03-16 | Chang-Ping Lee | Method and apparatus for securing electronic data |
US7950066B1 (en) | 2001-12-21 | 2011-05-24 | Guardian Data Storage, Llc | Method and system for restricting use of a clipboard application |
US7340603B2 (en) | 2002-01-30 | 2008-03-04 | Sony Corporation | Efficient revocation of receivers |
US8176334B2 (en) | 2002-09-30 | 2012-05-08 | Guardian Data Storage, Llc | Document security system that permits external users to gain access to secured files |
US7353395B2 (en) | 2002-03-21 | 2008-04-01 | Ntt Docomo Inc. | Authenticated ID-based cryptosystem with no key escrow |
US7349538B2 (en) * | 2002-03-21 | 2008-03-25 | Ntt Docomo Inc. | Hierarchical identity-based encryption and signature schemes |
CN1633776A (zh) | 2002-04-15 | 2005-06-29 | 美国多科摩通讯研究所股份有限公司 | 利用双线性映射的签名方案 |
US8613102B2 (en) | 2004-03-30 | 2013-12-17 | Intellectual Ventures I Llc | Method and system for providing document retention using cryptography |
WO2004021638A1 (en) | 2002-08-28 | 2004-03-11 | Docomo Communications Laboratories Usa, Inc. | Certificate-based encryption and public key infrastructure |
US7512810B1 (en) | 2002-09-11 | 2009-03-31 | Guardian Data Storage Llc | Method and system for protecting encrypted files transmitted over a network |
US20040073954A1 (en) * | 2002-10-09 | 2004-04-15 | General Instrument Corporation | Method of protecting recorded multimedia content against unauthorized duplication |
US7836310B1 (en) | 2002-11-01 | 2010-11-16 | Yevgeniy Gutnik | Security system that uses indirect password-based encryption |
US7890990B1 (en) | 2002-12-20 | 2011-02-15 | Klimenty Vainstein | Security system with staging capabilities |
JP2004265194A (ja) * | 2003-03-03 | 2004-09-24 | Matsushita Electric Ind Co Ltd | 情報処理装置、および情報処理方法 |
CN100442839C (zh) * | 2003-05-09 | 2008-12-10 | 华为技术有限公司 | 一种交互数字广播电视系统的信息传输方法及装置 |
KR100487208B1 (ko) * | 2003-05-20 | 2005-05-04 | 삼성전자주식회사 | 방송통신 융합 시스템에서 스크램블화된 다수의 디지털방송 스트림에 대한 복합 스크램블 해제 장치 및 상기장치가 적용된 광가입자망 |
US8707034B1 (en) | 2003-05-30 | 2014-04-22 | Intellectual Ventures I Llc | Method and system for using remote headers to secure electronic files |
CN100378749C (zh) * | 2003-06-23 | 2008-04-02 | 索尼电影娱乐公司 | 为数据加指纹的方法及装置 |
US7703140B2 (en) | 2003-09-30 | 2010-04-20 | Guardian Data Storage, Llc | Method and system for securing digital assets using process-driven security policies |
US8127366B2 (en) | 2003-09-30 | 2012-02-28 | Guardian Data Storage, Llc | Method and apparatus for transitioning between states of security policies used to secure electronic documents |
US8103004B2 (en) * | 2003-10-03 | 2012-01-24 | Sony Corporation | Method, apparatus and system for use in distributed and parallel decryption |
US7694335B1 (en) * | 2004-03-09 | 2010-04-06 | Cisco Technology, Inc. | Server preventing attacks by generating a challenge having a computational request and a secure cookie for processing by a client |
US7707427B1 (en) | 2004-07-19 | 2010-04-27 | Michael Frederick Kenrich | Multi-level file digests |
KR101092543B1 (ko) * | 2004-11-12 | 2011-12-14 | 삼성전자주식회사 | 브로드캐스트 암호화를 위한 사용자 키 관리 방법 |
US8316416B2 (en) * | 2005-04-04 | 2012-11-20 | Research In Motion Limited | Securely using a display to exchange information |
US9143323B2 (en) | 2005-04-04 | 2015-09-22 | Blackberry Limited | Securing a link between two devices |
EP1875655B1 (en) * | 2005-04-25 | 2017-08-16 | Nokia Technologies Oy | Improved broadcast key-derivation |
WO2007073766A1 (en) * | 2005-12-29 | 2007-07-05 | Telecom Italia S.P.A. | A method for communicating entitlement data from a server, related server, client systems and computer program product |
CN1859086B (zh) * | 2005-12-31 | 2010-06-09 | 华为技术有限公司 | 一种内容分级访问控制系统和方法 |
WO2007087363A2 (en) * | 2006-01-24 | 2007-08-02 | Brown University | Efficient content authentication in peer-to-peer networks |
US7706534B2 (en) * | 2006-02-28 | 2010-04-27 | Nokia Corporation | Pay per minute for DVB-H services |
US7970138B2 (en) * | 2006-05-26 | 2011-06-28 | Syphermedia International | Method and apparatus for supporting broadcast efficiency and security enhancements |
KR20080010906A (ko) * | 2006-07-28 | 2008-01-31 | 삼성전자주식회사 | 라이센스 관리 방법 및 그 장치 |
US7900252B2 (en) * | 2006-08-28 | 2011-03-01 | Lenovo (Singapore) Pte. Ltd. | Method and apparatus for managing shared passwords on a multi-user computer |
CN101150708B (zh) * | 2007-10-23 | 2011-09-14 | 华为终端有限公司 | 实现节目隐藏的方法、系统以及装置 |
GB0915596D0 (en) * | 2009-09-07 | 2009-10-07 | St Microelectronics Res & Dev | Encryption keys |
CN101662659B (zh) * | 2009-09-08 | 2011-07-13 | 中兴通讯股份有限公司 | 交互式网络电视童锁控制方法及电子节目菜单服务器 |
JP5552541B2 (ja) * | 2009-12-04 | 2014-07-16 | クリプトグラフィ リサーチ, インコーポレイテッド | 検証可能な耐漏洩性暗号化および復号化 |
EP2373018B1 (en) * | 2010-03-05 | 2012-05-09 | Nagravision S.A. | A method for controlling access to a plurality of channels by a receiver/decoder |
US8788842B2 (en) * | 2010-04-07 | 2014-07-22 | Apple Inc. | System and method for content protection based on a combination of a user PIN and a device specific identifier |
US8510552B2 (en) | 2010-04-07 | 2013-08-13 | Apple Inc. | System and method for file-level data protection |
CN102971738A (zh) * | 2010-05-06 | 2013-03-13 | 水宙责任有限公司 | 用于配置文件利用系统中的安全性的系统、方法和计算机可读介质 |
JP5670272B2 (ja) * | 2011-07-19 | 2015-02-18 | 株式会社東芝 | 情報処理装置、サーバ装置およびプログラム |
JP5992295B2 (ja) * | 2012-11-02 | 2016-09-14 | 株式会社東芝 | 通信制御装置、通信装置およびプログラム |
EP2775656A1 (en) | 2013-03-04 | 2014-09-10 | Thomson Licensing | Device for generating an encrypted key and method for providing an encrypted key to a receiver |
US9425967B2 (en) * | 2013-03-20 | 2016-08-23 | Industrial Technology Research Institute | Method for certificate generation and revocation with privacy preservation |
WO2015097834A1 (ja) * | 2013-12-26 | 2015-07-02 | 株式会社東芝 | 通信制御装置、通信制御方法およびプログラム |
WO2016112338A1 (en) * | 2015-01-08 | 2016-07-14 | Intertrust Technologies Corporation | Cryptographic systems and methods |
US20160316247A1 (en) * | 2015-04-27 | 2016-10-27 | Ericsson Ab | Program and device class entitlements in a media platform |
EP3304405A4 (en) * | 2015-06-02 | 2019-01-09 | K2View Ltd. | SYSTEM AND METHOD FOR MANAGING A CLASSIFIED DATABASE |
CN106846232B (zh) * | 2017-01-05 | 2020-01-10 | 天津大学 | 基于完全三叉树结构的多幅彩色图像加密方法 |
EP3656081A1 (en) * | 2017-07-18 | 2020-05-27 | Legic Identsystems Ag | Method and devices for communicating securely between devices |
US20220006791A1 (en) * | 2021-07-15 | 2022-01-06 | Mohammed Mujib Alshahrani | Secured Node Authentication and Access Control Model for IoT Smart City |
CN113541948B (zh) * | 2021-09-17 | 2021-12-21 | 深圳佳力拓科技有限公司 | 一种基于缺位密钥的数字电视节目播放方法和装置 |
WO2023067952A1 (ja) * | 2021-10-22 | 2023-04-27 | ソニーセミコンダクタソリューションズ株式会社 | 情報処理装置、情報処理方法、記録媒体 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4309569A (en) * | 1979-09-05 | 1982-01-05 | The Board Of Trustees Of The Leland Stanford Junior University | Method of providing digital signatures |
US4388643A (en) | 1981-04-06 | 1983-06-14 | Northern Telecom Limited | Method of controlling scrambling and unscrambling in a pay TV system |
US4887296A (en) | 1984-10-26 | 1989-12-12 | Ricoh Co., Ltd. | Cryptographic system for direct broadcast satellite system |
NL8700930A (nl) * | 1987-04-17 | 1988-11-16 | Hollandse Signaalapparaten Bv | Systeem van orthogonaal werkende codegeneratoren, radio's voorzien van een codegenerator en codegeneratoren van zo'n systeem. |
US4864615A (en) | 1988-05-27 | 1989-09-05 | General Instrument Corporation | Reproduction of secure keys by using distributed key generation data |
EP0383985A1 (de) | 1989-02-24 | 1990-08-29 | Claus Peter Prof. Dr. Schnorr | Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem |
US4932056A (en) | 1989-03-16 | 1990-06-05 | Yeda Research And Development Company Limited | Method and apparatus for user identification based on permuted kernels |
US5282249A (en) | 1989-11-14 | 1994-01-25 | Michael Cohen | System for controlling access to broadcast transmissions |
EP0450841B1 (en) | 1990-03-29 | 1996-08-21 | Gte Laboratories Incorporated | Video control system |
US5418947A (en) * | 1992-12-23 | 1995-05-23 | At&T Corp. | Locating information in an unsorted database utilizing a B-tree |
US5381481A (en) * | 1993-08-04 | 1995-01-10 | Scientific-Atlanta, Inc. | Method and apparatus for uniquely encrypting a plurality of services at a transmission site |
US5432852A (en) | 1993-09-29 | 1995-07-11 | Leighton; Frank T. | Large provably fast and secure digital signature schemes based on secure hash functions |
US5434919A (en) * | 1994-01-11 | 1995-07-18 | Chaum; David | Compact endorsement signature systems |
FR2715256B1 (fr) | 1994-01-19 | 1996-02-16 | France Telecom | Procédés d'émission et de réception de programmes à accès conditionnel gérés par un même opérateur. |
US5502767A (en) * | 1994-05-27 | 1996-03-26 | Sasuta; Michael | Method for maintaining secure information synchronization on a control channel |
US5485577A (en) * | 1994-12-16 | 1996-01-16 | General Instrument Corporation Of Delaware | Method and apparatus for incremental delivery of access rights |
US5761669A (en) | 1995-06-06 | 1998-06-02 | Microsoft Corporation | Controlling access to objects on multiple operating systems |
US6097811A (en) * | 1995-11-02 | 2000-08-01 | Micali; Silvio | Tree-based certificate revocation system |
DE19538385A1 (de) * | 1995-10-14 | 1997-04-17 | Deutsche Telekom Ag | Verfahren zur Etablierung eines gemeinsamen Schlüssels für autorisierte Personen durch eine Zentrale |
US5608801A (en) | 1995-11-16 | 1997-03-04 | Bell Communications Research, Inc. | Efficient cryptographic hash functions and methods for amplifying the security of hash functions and pseudo-random functions |
DE19649292A1 (de) * | 1996-11-28 | 1998-06-04 | Deutsche Telekom Ag | Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems |
JP3988172B2 (ja) * | 1997-04-23 | 2007-10-10 | ソニー株式会社 | 情報処理装置および方法、並びに記録媒体 |
US6373948B1 (en) * | 1997-08-15 | 2002-04-16 | Lucent Technologies Inc. | Cryptographic method and apparatus for restricting access to transmitted programming content using program identifiers |
US6073122A (en) * | 1997-08-15 | 2000-06-06 | Lucent Technologies Inc. | Cryptographic method and apparatus for restricting access to transmitted programming content using extended headers |
JP3465813B2 (ja) * | 1997-10-29 | 2003-11-10 | 日本ビクター株式会社 | ディジタル放送受信装置及びディジタル情報記録再生装置 |
-
1999
- 1999-05-07 US US09/307,643 patent/US6735313B1/en not_active Expired - Fee Related
-
2000
- 2000-04-28 CA CA002307157A patent/CA2307157A1/en not_active Abandoned
- 2000-04-30 CN CN00108224A patent/CN1273490A/zh active Pending
- 2000-05-02 AU AU30244/00A patent/AU3024400A/en not_active Abandoned
- 2000-05-03 EP EP00303684A patent/EP1051036B1/en not_active Expired - Lifetime
- 2000-05-03 DE DE60045060T patent/DE60045060D1/de not_active Expired - Lifetime
- 2000-05-04 KR KR1020000023887A patent/KR100651336B1/ko not_active IP Right Cessation
- 2000-05-05 BR BR0007333-4A patent/BR0007333A/pt not_active Application Discontinuation
- 2000-05-08 JP JP2000135069A patent/JP2001036517A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100430147B1 (ko) * | 2000-03-15 | 2004-05-03 | 인터내셔널 비지네스 머신즈 코포레이션 | 컴퓨터 액세스 제어 |
KR100465950B1 (ko) * | 2001-02-09 | 2005-01-13 | 캐논 가부시끼가이샤 | 정보 처리 장치 및 그 제어 방법, 컴퓨터 프로그램을 저장한 저장 매체 |
KR100924773B1 (ko) * | 2002-09-16 | 2009-11-03 | 삼성전자주식회사 | 메타데이터 암호화 및 복호화 방법과 암호화된 메타데이터관리 방법 및 그 시스템 |
US7668316B2 (en) | 2002-09-16 | 2010-02-23 | Samsung Electronics Co., Ltd. | Method for encrypting and decrypting metadata |
KR101313869B1 (ko) * | 2004-08-12 | 2013-10-01 | 씨엠엘에이 엘엘씨 | 보안성을 향상시키는 순열 데이터 변환 |
KR101328618B1 (ko) * | 2004-08-12 | 2013-11-13 | 씨엠엘에이 엘엘씨 | 보안성을 향상시키는 순열 데이터 변환 |
US8737608B2 (en) | 2004-08-12 | 2014-05-27 | Cmla, Llc | Exponential data transform to enhance security |
KR101133988B1 (ko) * | 2010-04-23 | 2012-04-05 | 한국과학기술원 | 해쉬 트리 기반의 스트림 암호화 및 복호화 방법과 암호 파일 시스템 |
Also Published As
Publication number | Publication date |
---|---|
CA2307157A1 (en) | 2000-11-07 |
KR100651336B1 (ko) | 2006-11-28 |
AU3024400A (en) | 2000-11-09 |
CN1273490A (zh) | 2000-11-15 |
EP1051036B1 (en) | 2010-10-06 |
JP2001036517A (ja) | 2001-02-09 |
DE60045060D1 (de) | 2010-11-18 |
EP1051036A3 (en) | 2002-08-21 |
BR0007333A (pt) | 2001-08-07 |
US6735313B1 (en) | 2004-05-11 |
EP1051036A2 (en) | 2000-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100651336B1 (ko) | 프로그램 전송 시스템 및 방법, 암호화된 프로그램의 디코딩 시스템 및 방법, 제조물 | |
JP3631617B2 (ja) | アクセスが制限された番組を送信する方法 | |
KR100317394B1 (ko) | 암호화된프로그램송신및수신방법,복호화방법및제조물품 | |
KR100424786B1 (ko) | 해쉬키를이용한암호화서명의생성방법과재생방법및장치 | |
Chor et al. | Tracing traitors | |
US7480385B2 (en) | Hierarchical encryption key system for securing digital media | |
US7260215B2 (en) | Method for encryption in an un-trusted environment | |
US6507907B1 (en) | Protecting information in a system | |
US20040190721A1 (en) | Renewable conditional access system | |
US11785315B2 (en) | Secure provisioning, by a client device, cryptographic keys for exploiting services provided by an operator | |
JP2003502719A (ja) | 懐柔されたセキュリティ・デバイスを発見するシステムおよび方法 | |
US20190268145A1 (en) | Systems and Methods for Authenticating Communications Using a Single Message Exchange and Symmetric Key | |
Wool | Key management for encrypted broadcast | |
KR100977969B1 (ko) | 네트워크에서의 데이터 전송 및 수신 방법 | |
Champagne et al. | Forward-secure content distribution to reconfigurable hardware |
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 | ||
FPAY | Annual fee payment |
Payment date: 20121109 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131115 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20141118 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |