KR20060123063A - 반복적인 암호화 블록을 위한 장치 및 방법 - Google Patents

반복적인 암호화 블록을 위한 장치 및 방법 Download PDF

Info

Publication number
KR20060123063A
KR20060123063A KR1020067003631A KR20067003631A KR20060123063A KR 20060123063 A KR20060123063 A KR 20060123063A KR 1020067003631 A KR1020067003631 A KR 1020067003631A KR 20067003631 A KR20067003631 A KR 20067003631A KR 20060123063 A KR20060123063 A KR 20060123063A
Authority
KR
South Korea
Prior art keywords
key
data
encryption
logic circuit
internal
Prior art date
Application number
KR1020067003631A
Other languages
English (en)
Other versions
KR100978224B1 (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 KR20060123063A publication Critical patent/KR20060123063A/ko
Application granted granted Critical
Publication of KR100978224B1 publication Critical patent/KR100978224B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4367Establishing a secure communication between the client and a peripheral device or smart card
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • H04N21/43853Multiplex stream processing, e.g. multiplex stream decrypting involving multiplex stream decryption
    • 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/4405Processing 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 decryption
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91357Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
    • H04N2005/91364Television signal processing therefor for scrambling ; for copy protection by modifying the video signal the video signal being scrambled

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

CPU의 제어하에 있고, 고정된 개수의 단이 없는 반복적인 암호화 블록에 관한 방법 및 장치가 제공된다. 일 실시예에서, 제 1 암호화 블록은 내부 키 또는 미리 프로그래밍된 키를 사용하여 수신된 정보를 디스크램블링하여 디스크램블링된 키 또는 디스크램블링된 데이터를 형성한다. 데이터 피드백 경로는 내부 데이터로서 디스크램블링된 데이터를 저장하고, 내부 데이터 또는 외부 데이터를 데이터 입력으로서, 제 1 암호화 블록에 제공한다. 키 피드백 경로는 내부 키로서 디스크램블링된 키를 저장하고, 내부 키 또는 미리 프로그래밍된 키를 제 1 암호화 블록의 키 입력에 제공한다. 제 2 암호화 블록은 최종 디스크램블링 키를 사용하여 수신된 콘텐츠를 디스크램블링한다. 다른 실시예가 설명되고 주장된다.

Description

반복적인 암호화 블록을 위한 장치 및 방법{AN APPARATUS AND METHOD FOR AN ITERATIVE CRYPTOGRAPHIC BLOCK}
본 출원은 현재 계류중이고, 2003년 8월 25일자로 출원된 미국 가출원 60/497,690호에 관한 우선권의 이득을 주장하는 정규(non-provisional patent) 출원이다.
본 발명의 하나 이상의 실시예는 일반적으로 디지털 컨텐츠 보안 분야에 관한 것이다. 좀더 구체적으로는, 본 발명의 하나 이상의 실시예는 반복 암호화 블록을 위한 방법 및 장치에 관한 것이다.
아날로그 통신 시스템은 급속히 그들에 대응하는 디지털 통신 시스템에 그 자리를 내주고 있다. 디지털 텔레비전은 현재 전국적으로 이용 가능하도록 되어가고 있다. 고해상도 텔레비전(HDTV) 방송은 이미 제한된 기초 위에서 대부분의 주요 도시에서 이미 시작되었다. 유사하게, 인터넷과 월드 와이드 웹의 폭발적인 성장은 MP3-포맷된 오디오 파일뿐만 아니라 다른 컨텐츠와 같은 다운로드 가능한 시청각(A/V) 파일의 증가에 있어 상관적인 성장을 초래하였다.
디지털 통신 시스템으로의 이러한 급속한 이동과 동시에 그리고 부분적으로이러한 급속한 이동으로 인해, 디지털 리코딩 디바이스에 있어서 상당한 진전이 이 루어졌다. 디지털 다용도 디스크(DVD) 리코더, 디지털 VHS 비디오 카세트 리코더(D-VHS VCR), CD-ROM 리코더(예를 들어, CD-R과 CD-RW), MP3 리코딩 디바이스, 및 하드 디스크 기반의 리코딩 유닛은, 단지 대응하는 아날로그 장치들에서 알려진 일반적인 성능 저하(즉, 연속하는 복사본 사이에서의 증가된 성능 저하) 없이, 높은 품질의 리코딩과 복사본을 제작할 수 있는 디지털 리코딩 디바이스를 나타내는 것이다. 디지털 통신 시스템과 디지털 리코딩 디바이스 쪽으로의 이동의 결합은, 영화나 음악 업계와 같은 컨텐츠 제공자의 관심을 불러 일으키고, 이들은 그러한 디지털 컨텐츠의 허가되지 않고 통제되지 않은 복사의 두려움으로 인해 다운로드 가능한 디지털 컨텐츠를 제공하기를 꺼려한다.
이에 반응하여, 지상파 방송, 케이블 및 직접 방송 위성(DBS) 회사, 및 다운로드 가능한 컨텐츠를 제공하는 인터넷 사이트를 가지는 회사와 같은 서비스 제공자가 복사 방지 계획을 도입할 것을 요구하는 움직임이 생긴다. 이러한 복사 방지 계획은 조건부 액세스(CA)의 역할을 넘어, 단순한 디스크램블링 컨텐츠를 실시간 보기 및/또는 듣기를 위한 CA-클리어(clear) 포맷으로 확장할 수 있고, 이제는 리코딩 및 재생에 대한 강제 사항과 조건을 포함한다. 예를 들어, 현재 후속 디스크램블링에 관한 스크램블링된 콘텐츠를 복사하는 것과 보기 또는 듣기는, 디지털 디바이스에 제공된 적절한 서비스/콘텐츠 제공자 인가 또는 키로 허용될 수 있다.
유료 TV용의 종래의 CA 시스템은 백(back) 채널이 이용 가능하지 않은 단방향 방송 시스템으로부터 온 것이다. 조건부 액세스 유닛(예를 들어, 셋톱 박스)에서의 스마트 카드와 같은 암호화 처리기는, 일반적으로 프로그램에의 액세스를 자동으로 승인하기 위해, 정보 및 기능이 주입된다. 예를 들어 유료 TV 액세스 제어 응용을 구비한 스마트 카드는 일정한 서비스 사용 자격을 승인하는 메시지를 수신하도록 적응된다. 셋톱 박스가 IPPV 프로그램을 보는 것이 허용된다면, 신용 및 비용 제한 정보가 또한 전송되었다. 마찬가지로, 프로그램에 동조할 때 스마트 카드는 프로그램으로의 액세스를 승인하기 위해 어떤 자격을 필요한 스마트 카드가 필요로 하는지를 설명하는 메시지를 수신하였다.
현재에는, 해커들이 필요한 가입비를 지불하지 않고 프로그램을 보기 위해, 2가지 유형의 메시지를 모두 조작하였다. 이들 메시지만이 조작되는 것이 아니라, 하드웨어 또한 공격받을 수 있다. 예를 들어, 스크램블된 콘텐츠를 디스크램블하기 위해 사용되는 클리어(clear) 상태에서의 디스크램블링 키는 복사될 수 있고, 인터넷을 통해 다른 셋톱 박스로 보내진다. 그러한 해킹은 서비스 제공자뿐만 아니라, 콘텐츠 소유자에게도 비용이 많이 든다.
도 1은 일 실시예에 따른 디지털 디바이스를 포함하는 컨텐츠 전달 시스템의 블록도.
도 2는 일 실시예에 따른, 반복적인 암호화 블록을 포함하는 셋톱 박스를 도시하는 블록도.
도 3은 일 실시예에 따른, 도 2의 반복적인 암호화 블록을 추가적으로 도시하는 블록도.
도 4는 일 실시예에 따른 도 3의 반복적인 암호화 블록의 키 피드백(keg feedback) 경로를 도시하는 블록도.
도 5는 일 실시예에 따른 도 3의 반복적인 암호화 블록을 사용하는 키 네스팅(key nesting)을 도시하는 블록도.
도 6은 일 실시예에 따른 도 3의 반복적인 암호화 블록의 데이터 피드백 경로를 도시하는 블록도.
도 7은 일 실시예에 따른 도 3의 반복적인 암호화 블록을 사용하는 데이터 네스팅을 도시하는 블록도.
도 8은 일 실시예에 따른 도 3의 반복적인 암호화 블록의 키 피드백 경로와 데이터 피드백 경로의 결합을 도시하는 블록도.
도 9는 일 실시예에 따른 도 3의 반복적인 암호화 블록을 사용하는 키 및 데이터 네스팅을 도시하는 블록도.
도 10은 일 실시예에 따른 도 3의 반복적인 암호화 블록을 사용하는 키의 피드 포워드 해시(feed forward hash)를 도시하는 블록도.
도 11은 일 실시예에 따른 도 3의 반복적인 암호화 블록을 사용하는 데이터의 피드 포워드 해시를 도시하는 블록도.
도 12는 일 실시예에 따른 도 3의 반복적인 암호를 사용하는 암호문 블록 체이닝(chaining)을 도시하는 블록도.
도 13은 일 실시예에 따른 도 3의 반복적인 암호화 블록의 해킹 방지 회로 실시예를 도시하는 블록도.
도 14는 일 실시예에 따른, 콘텐츠 키 처리를 위한 해킹 방지 회로 실시예를 추가적으로 도시하는 블록도.
도 15는 일 실시예에 따른, 도 3의 반복적인 암호화 블록으로부터 형성된 암호화 키의 키 축소 논리 회로를 도시하는 블록도.
도 16은 일 실시예에 따른, 도 3의 반복적인 암호화 블록으로부터 형성된 키 축소 논리 회로 암호화 키를 도시하는 블록도.
도 17은 일 실시예에 따른, 도 3의 반복적인 암호화 블록으로부터 형성된 키 축소 논리 회로 암호화 키를 도시하는 블록도.
이제 본 발명의 다양한 실시예가 제한적이지 않은 예와 첨부 도면을 통해, 예시된다.
반복적인 암호화 블록에 관한 방법 및 장치가 설명된다. 다양한 실시예는 데이터 전송을 보호하기 위한 장치, 시스템, 및 방법과 관련된다. 일 실시예에서, 그러한 보호는 디지털 디바이스 자체 내의 하나 이상의 서비스 제공자로부터 디지털 콘텐츠를 디스크램블링 및/또는 암호 해독하는 것을 수반한다. "서비스 제공자"의 예에는 제한적이지 않은 지상파 방송국, 케이블 운영자, 직접 방송 위성(DBS) 회사, 인터넷이나 임의의 유사한 콘텐츠 소스를 통해 다운로드하기 위한 콘텐츠를 제공하는 회사가 포함된다.
후속 설명에서, 본 발명의 특징을 설명하기 위해 특정 용어가 사용된다. 예를 들어, "구성요소(component)" 또는 "논리 회로(logic)"라는 용어는 각각 하나 이상의 기능을 수행하도록 구성된 하드웨어 및/또는 소프트웨어를 나타낸다. "하드웨어"의 예에는, 제한되거나 구속적이지 않은 집적 회로를 포함하는데, 이러한 집적 회로는 프로세서(예를 들어, 마이크로프로세서, 애플리케이션 특정 집적 회로, 디지털 신호 처리기, 마이크로-제어기 등), 유한 상태 기계, 조합 논리 회로 등이 포함된다. "처리 블록(process block)"이란 용어는, 예를 들어 유한 상태 기계와 같은 전용 기능을 가지는 하드웨어 및/또는 소프트웨어를 나타낸다.
"소프트웨어"의 예에는 애플리케이션, 애플릿(applet), 또는 심지어 루틴(routine)의 형태로 된 일련의 실행 가능한 지령이 포함된다. 소프트웨어는 프로그래밍 가능한 전자 회로, 휘발성 메모리(예를 들어, 랜덤 액세스 메모리 등)와 같은 반도체 메모리 디바이스 및/또는 비휘발성 메모리(예를 들어, 임의의 유형의 판독 전용 메모리(ROM), 플래시 메모리), 플로피 디스켓, 광 디스크{예를 들어, 콤팩트 디스크나 디지털 비디오 디스크(DVD)}, 하드 드라이브 디스크, 테이프 등과 같은 임의의 유형의 기계 판독 가능 매체에 저장될 수 있다.
도 1을 참조하면, 콘텐츠 전달 시스템(100)의 일 실시예가 도시되어 있다. 콘텐츠 전달 시스템(100)은 하나 이상의 서비스 제공자로부터의 프로그램 데이터를 포함하는 정보를 수신하는 디지털 디바이스(110)를 포함한다. 프로그램 데이터는 예를 들어 디지털 비트 스트림으로서 전파될 수 있다. 디지털 디바이스(110)는 셋톱 박스, 또는 텔레비전, 컴퓨터, 오디오-재생 디바이스(예를 들어, 디지털 라디오), 오디오 리코딩 디바이스(예를 들어, MP3 플레이어), 비디오-리코딩 디바이스(예를 들어, 디지털 리코더) 등으로 통합된 하나 이상의 구성요소와 같은 임의의 개 수의 제품으로서 동작할 수 있다.
예를 들어, 디지털 디바이스(110)는 내장된 아키텍처, 분할된 보안 아키텍처, 또는 다른 유사한 아키텍처에 따라 구성될 수 있다. 내장된 아키텍처로서, 일 실시예에서, 디지털 디바이스(110)는 권리 부여 관리와 디스크램블링 동작 모두를 지원하는 고정된 내부 회로를 포함하는 셋톱 박스로서 구현된다. 대안적으로, 분할 보안 아키텍처 실시예에 따르면, 디지털 콘텐츠의 디스크램블링이 내부 회로에 의해 제어되면서, 디지털 디바이스(110)는 권리 부여 관리를 다루는 제거 가능한 스마트 카드를 수신하도록 적응될 수 있다.
디지털 디바이스(110)는 들어오는 정보를 처리하고, 그것으로부터 디지털 콘텐츠를 포함하는 프로그램 데이터를 추출하며, 그러한 디지털 콘텐츠를 인지할 수 있는 포맷으로(예를 들어, 볼 수 있는 및/또는 들을 수 있는) 디지털 콘텐츠를 제공하는 수신기(112)를 포함한다. "프로그램 데이터"는 다음, 즉 시스템 정보, 권리 부여 제어 메시지(들), 권리 부여 관리 메시지(들), 또는 디지털 콘텐츠 중 일부 또는 전부를 포함한다. 프로그램 데이터 스트림에서의 "디지털 콘텐츠"는 이미지, 오디오, 비디오 또는 이들이 결합된 것을 포함할 수 있다. 콘텐츠는 스크램블된 또는 뚜렷한 포맷으로 되어 있을 수 있다.
전술한 바와 같이, "스크램블링된(scrambled)"이란 용어는, "키(key)", 콘텐츠(content)", 포맷(format)", 또는 "모양(form)"이라는 용어를 수정하기 위해 사용될 때, 콘텐츠를 포함하거나, 암호화가 제한적이지 않지만 데이터 암호화 표준(DES), 3중 DES(3DES), 개선된 암호화 표준(AES), Rivest, Shamir, 및 Adelman(RSA) 암호화 또는 다른 유사한 암호화 표준뿐만 아니라, 조건부 액세스(CA) 공통 스크램블링 알고리즘(CSA)(CA CSA)을 포함하는 스크램블링 알고리즘 또는 다른 유사한 스크램블링 알고리즘을 포함하는 임의의 알려진 암호화 알고리즘을 사용하는 포맷을 설명한다. 마찬가지로, "스크램블링(scrambling)" 또는 "스크램블링된(scrambled)"이란 용어는 전술한 바와 같이, 임의의 알려진 종래의 암호화 또는 스크램블링 알고리즘을 사용하여 암호화되거나 스크램블링된 데이터 또는 정보를 가리킨다. "키(key)", 콘텐츠(content)", 포맷(format)", 또는 "모양(form)"이라는 용어를 수정할 때 "디스크램블링된(descrambled)" 또는 "디스크램블링(descrambling)"이란 용어는 데이터 또는 콘텐츠가 뚜렷한 포맷으로 재생을 위해 명료하고 이용 가능하도록, 암호 해독 또는 디스크램블링되는 포맷으로 된 데이터나 콘텐츠를 가리킨다.
본 명세서에서, "시스템 정보"는 프로그램 이름, 방송 시간, 소스 및 검색과 디코딩 방법뿐만 아니라, 디지털 수신기와 다른 디바이스에 디지털 콘텐츠가 재생, 재전송 및/또는 기록될 수 있는 방법 및 시기를 제어할 정보를 제공하는 복사 관리 명령에 대한 정보를 포함할 수 있다. 이들 복사 관리 명령은 또한 권리 부여 제어 메시지(ECM)와 함께 전송될 수 있고, 이러한 메시지를 일반적으로 특별한 채널이나 서비스로의 액세스를 조절하는데 사용된다. "권리 부여 관리 메시지(EMM)"는 권리 부여{때때로 "프리빌리지(privileges)"라고도 함}를 디지털 수신기(111)에 전달하는데 사용될 수 있다. 일정한 권리 부여의 예는 제한적이지는 않지만 액세스 권리 또는 디스크램블링 키를 포함할 수 있다. 디스크램블링 키는 일반적으로, 부여된 권리 부여에 기초하여 스크램블링된 포맷으로부터 뚜렷한 상태로 데이터를 복구하기 위해, 디스크램블러(암호 해제) 논리 회로(예를 들어 암호화 블록)에 의해 요구되는 코드이다.
도시된 바와 같이, 셋톱 박스로서 구현될 때, 디지털 디바이스(110)는 전송 매체(120)를 통해 콘텐츠 전달 시스템(100)에서 다른 구성요소와 결합될 수 있다. 전송 매체(120)는 콘텐츠 전달 시스템(100)에서 디지털 디바이스(110)와 다른 구성요소 사이의 프로그램 데이터를 전송하도록 동작한다. 전송 매체(120)는 제한적이지는 않지만 전선(electrical wire), 광 섬유, 케이블, 무선 시그널링 회로에 의해 설정된 무선 링크 등을 포함할 수 있다.
일 실시예에서, 콘텐츠 전달 시스템(100)은 전송 매체(120)에 결합된 오디오 시스템(130)을 포함한다. D-VHS VCR과 같은 디지털 VCR(140)이 또한, 전송 매체(120)를 통해 콘텐츠 전달 시스템(100)의 디지털 디바이스(110)와 다른 구성요소에 결합될 수 있다. 하드 디스크 기록 유닛(150)이 또한 전송 매체(120)를 통해 디지털 디바이스(110)와 다른 구성요소에 결합될 수 있다. 디스플레이(160)는 고해상도의 텔레비전 디스플레이, 모니터, 또는 디지털 비디오 신호를 처리할 수 있는 또 다른 디바이스를 포함할 수 있다. 마지막으로, 제어 유닛(170)은 전송 매체(120)에 결합될 수 있다. 제어 유닛(170)은 콘텐츠 전달 시스템(100) 상의 일부 구성요소 또는 각각의 구성요소의 동작을 조정하고 제어하기 위해 사용될 수 있다.
프로그램 데이터의 디지털 콘텐츠는 스크램블링된 모양으로 전송될 수 있다. 일 실시예에서, 프로그램 데이터의 일부로서, 스크램블링된 콘텐츠와 함께 액세스 요구가 수신기(112)로 구현되어 조건부 액세스 유닛으로 기능하는 디지털 디바이스(110)(예를 들어, 셋톱 박스)에 전송될 수 있다. "액세스 요구(access requirement)"란, 조건부 액세스 기능으로 구현되고 이후 본 명세서에서 "조건부 액세스 유닛(110)"으로서 언급되는 디지털 디바이스(110)가, 보거나 들을 목적으로 스크램블링된 콘텐츠를 디스크램블링하도록 허가되는지를 결정하는데 사용된 제한(restrictive) 파라미터이다. 예를 들어, 액세스 요구는 콘텐츠, 주어진 서비스 제공자와 연관된 서비스 태그(tag), 또는 심지어 특별한 디스크램블링 소프트웨어 코드를 인식(보는 것 및/또는 듣는 것)하는데 필요한 키 일 수 있다.
스크램블링된 프로그램이 조건부 액세스 유닛(110)에 의해 수신될 때, 프로그램을 위한 액세스 요구는 조건부 액세스 유닛(110)에 할당된 실제 권리 부여와 비교된다. 조건부 액세스 유닛(110)이 일 실시예에서 뚜렷한 형태로 스크램블링된 콘텐츠를 디스플레이하기 위해, 디지털 콘텐츠와 연관된 액세스 요구는 조건부 액세스 유닛(110)의 권리 부여와 비교된다. 그러한 권리 부여는, 조건부 액세스 유닛(110)이 예를 들어 홈 박스 오피스(HBO)와 같은 주어진 콘텐츠 제공자로부터의 콘텐츠를 보고/재생하는 권리를 부여받음을 표시할 수 있다. 또한 권리 부여는 디지털 콘텐츠를 디스크램블링 하는데 필요한 하나 이상의 키를 포함할 수 있다. 권리 부여는 또한 조건부 액세스 유닛(110)이 디지털 콘텐츠를 디스크램블링할 수 있는 시간 기간을 한정할 수 있다.
그러므로, 일 실시예에서 액세스 요구와 권리 부여는 조건부 액세스 유닛이나 심지어 디코더가 특별한 프로그램을 보는 것이 허가되는지를 결정하기 위해, 액 세스 제어 시스템의 일부를 형성한다. 아래의 설명은 텔레비전 방송, 구입된 영화 등와 같은 시청각(A/V) 콘텐츠를 복구하기 위한 메커니즘에 초점을 맞추고 있음이 관찰된다. 하지만, 본 발명은 또한 들을 수 있는 콘텐츠(예를 들어, 디지털화된 음악 파일)의 디스크램블링에만 적용 가능하다는 점이 관찰된다.
액세스 요구와 권리 부여는 소비자에게 콘텐츠와 스크램블링된 콘텐츠에의 액세스를 얻는데 비용을 지불하는 것에 관한 다양한 선택을 제공할 수 있다. 이들 선택은, PPP(pay per play), PPV(pay per view), IPPV(impulse pay per view), 시간 기반의 이력(historical) PPT(pay per time)를 포함할 수 있다. "IPPV"는 이전에 셋톱 박스로 다운로드되었던 크레딧(credit)을 통해, PPV 영화의 구매를 허용하는 특징이다. 구매 기록은 저장되어 청구서 작성 센터에 전화로 발송될 수 있다. "시간 기반의 이력(time based historical)"은, 예를 들어 2003년 3월부터 12월까지와 같은 지나간 시간 기간 동안 전달된 콘텐츠로의 액세스를 허용한다. 이러한 액세스 요구 및 권리 부여는 또한 소비자에게 스크램블링된 콘텐츠를 저장하기 위한 상이한 선택권을 제공할 수 있다.
액세스 요구는 디지털 디바이스(110) 내에 위치하거나 패킷 식별기(PID)를 사용하여 전송 매체(120)를 통해 결합된 조건부 액세스 유닛에 전달될 수 있다. 각각의 PID는 주어진 서비스와 연관된 액세스 요구를 포함할 수 있다. 조건부 액세스 유닛에 전달되는 콘텐츠는 또한 다수의 PID를 포함할 수 있어, 특별한 소득 특징, 기술 특징 또는 국부적으로 수행될 다른 특별한 특징을 가능하게 한다.
콘텐츠를 수신하기 전에, 고객은 매체에 저장될 디지털 콘텐츠로의 액세스를 얻기 위한 다수의 선택권이 주어지게 된다. 고객은 콘텐츠로 액세스하고 콘텐츠를 보기 위한 권리를 구매할 것을 요구받는다. 그러므로, 고객이 나중에 검색하고 보기 위해 콘텐츠를 기록하기를 원한다면, 고객이 구매한 액세스 요구가 또한 디지털 콘텐츠와 함께 저장될 필요가 있다.
게다가, 도 2에 도시된 바와 같은 디스크램블링된 디지털 콘텐츠(예를 들어, 운반 스트림)에 적용된 복사 방지가 존재할 수 있다. 복사 방지된 디지털 콘텐츠는 대상(destination) 인터페이스와 소스를 상호연결하는 인터페이스에 걸쳐 다시 스크램블링된다. 소스와 대상 인터페이스는 이러한 콘텐츠를 다시 암호화하는데 사용된 키를 동의할 필요가 있다. 이러한 복사 방지 키는 디지털 디바이스와 연관된 고유 키로 암호화될 수 있다. 고유 키는, EMM이나 팩토리 로드 절차(factory load procedure)와 같은 다른 방법을 통해 수신될 수 있다.
도 2는 일 실시예에 따라 반복적인 암호화 블록(ICB)(400)으로 동작하도록 적응된 셋톱 박스(200)로서의 조건부 액세스 유닛을 포함하는 보안 콘텐츠 전달 시스템을 도시하는 블록도이다. 도시된 바와 같이, 디코더 집적 회로(IC)(300)는 암호화 블록(310)을 통해 디스크램블링되는 튜너(220)로부터 스크램블링된 콘텐츠(222)를 수신한다. 일 실시예에서, 스크램블링된 콘텐츠의 인코딩에 따라, 일단 디스크램블링되면 콘텐츠는, 예를 들어 비디오 출력 신호(260)와 같은 뚜렷한 콘텐츠 신호를 형성하기 위해 디코딩 블록(390)을 사용하여 디코딩된다.
하지만, 본 명세서에 설명된 실시예는 디코더 IC(300) 내에 ICB(400)를 통합시키는 것에 제한되지 않고, 이러한 디코더 IC(300)는 뚜렷한 콘텐츠를 형성하기 위해 디스크램블링된 콘텐츠를 디코딩한다. 일 실시예에서, ICB(400)는 본 명세서에서 설명한 바와 같은 키 및 데이터 네스팅(nesting)과 같은 키 래더(ladder) 응용을 수행하기 위해 요구된 추가 블록을 제거함으로써, 암호화 IC의 비용을 줄이기 위해 암호화 IC 내에서 사용될 수 있다. 대안적인 실시예에서, ICB(400)는 프로그래밍된 암호화 프로세서 또는 암호화 IC 내에 있거나 프로그래밍된 암호화 프로세서 또는 암호화 IC에 의해 수행될 수 있거나 상태 기계의 제어 하에 동작할 수 있다.
일 실시예에서, 내장된 암호화 CPU는 ICB(400)의 기능을 수행하도록 프로그래밍된다. 따라서, 일 실시예에서 ICB(400)는 디지털 콘텐츠의 다수 스크램블링을 수행하고 디지털 콘텐츠를 깨끗이 하기 위해 사용될 수 있는 최종 디스크램블링 키를 형성하기 위해 사용된 키 및 데이터 네스팅 디스크램블링의 래더 응용을 구현하도록 구성된 내장된 암호화 CPU이다. 또한, 일 실시예에서 서비스 키를 암호화하는 1회성(one-time) 프로그래밍 가능한 키와, 콘텐츠를 암호 해독하기 위한 파생(derivative) 키로 수신기에서의 키 처리 블록으로 알려진 벡터를 생성하기 위해 매칭 키 서버 내에서 ICB(400)가 사용될 수 있다.
예시된 실시예에서, 디지털 콘텐츠의 뚜렷한 허가되지 않은 노출을 금지하기 위해 하드 디스크(240) 내에 뚜렷한 디지털 출력(250)이 스크램블링되고 저장될 수 있다. 일 실시예에서, 디코더 IC(300)의 ICB(400)는 저비용의 컨버터 셋톱 박스를 가능하게 하기 위해, 키 래더 암호 해독 기구의 수행을 가능하게 하는 적어도 하나의 1회성 프로그래밍 가능한(OTP) 비밀 키를 저장하고, 이러한 셋톱 박스는 케이블 운영자가 기계 장치를 모두 디지털 구성으로 바꿀 때 요구된다. 일 실시예에서, 선택적인 스마트 카드(230)는 권리 부여 관리를 다루는 한편, 디지털 콘텐츠의 디스크램블링은 ICB(400)에 의해 제어된다.
전형적으로, 스마트 카드(230)는 들어오는 디지털 콘텐츠를 디스크램블링하기 위해 하나 이상의 암호화된 디스크램블링 키를 저장한다. 스마트 카드(230)는 암호화된 모양으로 디스크램블링 키(들)를 ICB(400)에 전송한다. 일반적으로 "DK"라고 부르는 디스크램블링 키(들)가 스마트 카드(230)와 ICB(400) 사이의 통신을 감시하는 침입자에 의해 부적절하게 추출되는 것을 방지하기 위해, 스마트 카드(230)는 DK를 암호화하기 위해, 디코더 IC에 고유한 암호화 키를 사용할 수 있다. 이는 디코더 IC가 안전한 방식으로 DK를 암호 해독하고 디지털 콘텐츠(22)를 디스크램블링하기 위해 뚜렷한 포맷으로 DK를 사용하는 것을 허용한다.
일 실시예에서, ICB(400)의 각 단계는 주 중앙 처리 유닛(CPU)(210)에 의해 제어된다. 일 실시예에서, CPU(210)는 내부(비밀) 키, 데이터(내부 또는 외부) 입력 및 ICB(400)에 의해 제공된 동작 모드를 선택한다. 아래에 좀더 상세히 설명된 바와 같이, ICB(400)에 의해 제공된 각 처리 단계는, 도 3을 참조하여 좀더 상세히 예시된 바와 같이, 키, 데이터 피드백 경로, 해싱(hashing) 및 연쇄(chaining) 모드 및 해킹 방지(anti-hack) 회로로 설계된 유일한 암호화 블록을 통한 안전한 동작을 허용한다.
일 실시예에서, 디스크램블러 IC(300)는 디스크램블링 키의 안전한 처리를 다룬다. 이러한 디스크램블러 IC(300)는, 어떠한 CPU, 펌웨어 및 소프트웨어도 없 다. 하지만 키 피드백 경로를 사용함으로써, 복잡한 키 체계가 ICB(400)에 의해 지원된다. 어떠한 지령, 코드 및 소프트웨어도 ICB(400)에는 로딩되지 않는다. 암호 해독 스크램블링된 키는 단일 키 기능만을 사용하는 하드웨어 회로 또는 상태 기계인 ICB(400)에 의해 전적으로 수행된다.
일반적으로 본 명세서에서 "1회성(one-time) 프로그래밍 가능한{OTP 키(들)}로 부르는 하나 이상의 고유한 키는 제조시 하나 이상의 키 레지스터(250)와 같은 저장 소자 내로 프로그래밍될 수 있다. 예를 들어, 일 실시예에서 디코더 IC(300)는 플래시(flash)와 같은 프로그래밍 가능한 비휘발성 저장 소자(미도시)로 구현된다. 또 다른 실시예에서, 디코더 IC(300)는 보안을 강화하기 위해 오직 한번만 기입될 수 있는 프로그래밍 가능하지 않은 비휘발성 메모리로 구현된다. 그 결과, 본래 저장 소자로 로딩되는 OTP를 부적절하게 판독 또는 중복 기입하는 것은 있을 수 없다. 셋톱 박스(200)와, 셋톱 박스(200)의 디코더 IC(300) 내로 로딩되는 OTP 사이의 연관성이 기록될 수 있다.
셋톱 박스(200)가 제조되고 스마트 카드(230)가 설치되면, 스마트 카드(230)는 쌍을 이룰 때 셋톱 박스(200)와 연관된 OTP를 수신할 수 있다. 그 때부터, 스마트 카드(230)는 특정 호스트{예를 들어, 셋톱 박스(200)}와 "쌍을 이루게 된다(paired)". 나중에 스마트 카드(230)가 심지어 교체되거나 새로운 호스트로 이동하게 되면, 스마트 카드(230)는 권리 부여 관리 메시지(EMM)를 거쳐 새로운 호스트와 연관된 고유한 키를 수신하도록 적응될 수 있고, 물론 이에 대한 대안으로서, 새롭게 프로그래밍된 고유한 키를 가진 새로운 스마트 키가 또한 사용자에게 전달될 수 있다.
도 3에 도시된 바와 같이, ICB(400)는 키 피드백 경로(402)와, 데이터 피드백 경로(404)를 포함하고, 이러한 데이터 피드백 경로(404)는 사실상 임의의 유형의 키 체계의 구현을 가능하게 한다. 아래에 좀더 상세히 설명된 바와 같이, 키와 데이터에 대한 반복적인 루핑(looping)은 비교적 복잡한 네스팅된(nested) 키와 데이터 체계(내부적으로 저장된 값은 후속 값을 지겹도록 처리하는데 사용된다)의 구현을 허용한다. 따라서, 일 실시예에서 ICB(400)을 사용하는 디코더 IC(300)는, 전달 시스템에서의 재생기가 루트(root) 키 또는 유도된 콘텐츠 키 내로 인증될 수 있는 조건부 액세스(CA)와 디지털 권리 관리(DRM) 방법에 관한 지원을 제공한다. 아래에 좀더 상세히 예시되는 바와 같이, ICB(400)는 데이터 블록 암호 해독만을 지원하는 것이 아니라, 스트림의 암호화/암호 해독도 제공한다. 일 실시예에서, ICB(400)의 본질적으로 유연한 설계에 의해 구현예의 키 체계의 조작을 방지하도록, 해킹 방지 회로가 추가되었다.
일 실시예에서, 예를 들어 스마트 카드(230)로부터의 스크램블링된 (암호화된) 디스크램블링(암호 해독) 키가 ICB(400)의 외부 데이터 입력(422)에 제공될 수 있다. 일 실시예에서, 스크램블링된 키는 OTP 키 레지스터(472)로부터 OTP 키를 사용하여 암호화 블록(410)에 의해 디스크램블링된다. 일 실시예에서, 디스크램블링된 키는 콘텐츠 키 처리(320)에 바로 제공되고 바로 스크램블링된 콘텐츠(222)를 디스크램블링하는데 사용된다. 또 다른 실시예에서, 디스크램블링된 키는 하나 이상의 디스크램블링 키를 디스크램블링하는데 사용되고, 이러한 디스크램블링 키는 스크램블링된 콘텐츠(222)로 밴드 내에서(inband) 수신되며 디스크램블링 목적을 위해 계속해서 사용된다.
전형적으로, 디스크램블링된 키(468)는 내부 키 레지스터(470)에 저장되고, 계속해서 외부 데이터 입력(422)을 거쳐 밴드 내에서 수신된 스크램블링된 키를 디스크램블링하기 위해 사용된다. 각각의 수신된 디스크램블링된 키는 상이한 공공 및 개별 암호화, 스크램블링 또는 다른 유사한 알고리즘을 사용하여 스크램블링될 수 있다. 이들 상이한 개별 알고리즘은 복제 하드웨어를 무효화하기 위한 해적판 방지(anti-piracy) 수단으로서 간주될 수 있다. 또한 일 실시예에서, 예를 들어 특별한 채널 서비스에의 액세스를 조절하기 위한 권리 부여 제어 메시지(ECM)뿐만 아니라, 권리 부여 또는 프리빌리지를 전달하기 위해 사용될 수 있는 권리 부여 관리 메시지(EMM)와 함께 전송된 복사 관리 명령과 같은 스크램블링된 시스템 정보는 암호화 블록(410)을 거쳐 디스크램블링되거나 암호 해독되고, 외부 데이터 출력(270)에서 뚜렷한 포맷으로 저장된다.
도 4는 일 실시예에 따른, ICB(400)의 키 피드백 경로(402)를 추가로 도시하는 블록도이다. 일 실시예에서, 키 피드백 경로(402)는 예를 들어 CPU(210)와 같은 오프-칩(off-chip) 보안이 되지 않는 CPU의 제어 하에 동작한다. 도시된 바와 같이, 외부 데이터 입력(422)은 암호화 블록(410)에 제공되는 스크램블링된 외부 정보(426)를 수신한다. 일 실시예에서, 블록(410)은 개선된 암호화 표준(AES), 3중 데이터 암호화 표준(3DES), 디지털 비디오 방송(DVB) 공통 스크램블링 알고리즘(CSA)(DVB CSA), 데이터 암호화 표준(DES) 등을 사용하여 구현될 수 있다.
전형적으로, 외부 정보(426)는 스크램블링된 콘텐츠(222)로 밴드 내에서 제공되는 스크램블링된 키를 포함할 수 있다. 도시된 실시예에서, 예를 들어 OTP 키와 같은 적어도 하나의 미리 프로그래밍된 키가 키 레지스터(472)에 저장된다. 전형적으로, 밴드 내의 스크램블링된 키(426)가 블록(410)에 의해 수신되면, 키 선택 게이트(474)가 디스크램블링 키(476)를 블록(410)의 키 입력에 제공한다. 디스크램블링 키(476)를 사용함으로써, 수신된 밴드 내 스크램블링된 키는 내부 키(464)를 형성하기 위해 디스크램블링된다.
종래의 기술에 따르면, 스크램블링된 콘텐츠(222)를 암호 해독하기 위해, 암호화 블록(310)에 내부 키(464)가 제공될 수 있다. 하지만, 일 실시예에서 ICB(400)는 키 피드백 경로(402)를 포함하고, 이는 내부 키 레지스터(470) 내의 디스크램블링된 내부 키(466)의 저장을 가능하게 한다. 그러므로, 도시된 실시예에서 밴드 내 수신된 암호화된 키를 디스크램블링하기 위해, 내부 키 레지스터(470) 내에 내부 키를 저장함으로써, 반복적인 키 루핑이 수행될 수 있다.
따라서, 도 5에 도시된 바와 같이 밴드 내 스크램블링된 키가 내부 키(466)를 형성하기 위해 디스크램블링될 때 키 래더(또한 본 명세서에서 키 네스팅이라고도 부름)가 수행될 수 있고, 이후 최종 디스크램블링 키(412-N)를 형성하기 위해 추가 밴드 내 키(466)(466-1,..., 466-N)를 디스크램블링하기 위해 사용되며, 이러한 최종 디스크램블링 키(412-N)는 콘텐츠 키 처리(320)로 보내진다. 그러한 키 래더를 구현하기 위해, 다수의 암호화 블록을 요구하는 종래의 키 네스팅 또는 키 래더와는 대조적으로, 키 피드백 경로(402)를 사용하는 ICB(400)는 단일 암호화 블록 을 사용하면서 최종 디스크램블링 키를 제공하기 위해, 무한 키 래더를 제공할 수 있다.
따라서, 도 4를 참조하여 도시된 바와 같이, ICB(400)는 내부 키 피드백 레지스터(470, 472)를 허용하고, 이는 예를 들어 암호 해독 블록(410)을 위해 AES 코어 부호(cipher)를 사용하는 키 값에 대한 무한 반복 또는 루핑을 허용한다. 전형적으로, 피드백 레지스터(470)는 무수히 많은 양의 암호화 블록을 사용하지 않고, 무한한 양의 키 깊이를 허용한다. 비록 일부 CA 유닛이 디스크램블링 코어 부근의 반복을 허용하지만, 반복 회수는 고정된다. 고정된 개수의 반복은 상이한 키 관리 접근 및 키 체계를 수용하기 어렵게 한다. 일 실시예에서, AES의 키 크기가 데이터 암호화 블록의 키 크기와 매칭되므로, AES가 사용된다.
그러므로, AES는 스파싱(sparsing)이라고 부르는 과정에서 8비트의 데이터가 손실되는 다음 처리 단의 56비트의 키에 관해 64-비트의 출력이 사용될 때, DES에 관해 그러했던 것처럼 어떠한 정보 손실도 겪지 않게 된다. 전형적으로, 각 처리 단에서, 외부 정보(426)(426-1,...,426-N)는 임의의 내부 키(OTP 또는 내부적으로 저장된 키)에 의해 암호 해독될 수 있다. 일 실시예에서, 또한 더 많은 신속한 채널 튜닝과 스트림의 디스크램블링을 허용하도록, 패키지용 암호 해독된 키, 채널 또는 프로그램을 일시적으로 저장하기 위해, 내부 키 레지스터(470)가 사용될 수 있다.
이제 도 6을 참조하면, 일 실시예에 따른 ICB(400)의 데이터 피드백 경로(404)가 추가로 도시된다. 일 실시예에서, 데이터 피드백 경로는 오프-칩 보안이 되지 않는 CPU의 제어 하에 동작한다. 도시된 바와 같이, 내부 데이터 레지스터(420)가 이전 단으로부터의 디스크램블링된 데이터(466)를 저장하기 위해 사용된다. 따라서, 도 7을 참조하여 도시된 바와 같이, 내부 데이터 레지스터(420)를 가지고 이전 단으로부터의 암호 해독된 데이터(466)를 저장함으로써, 미리 프로그래밍된 키(476)를 사용하여 데이터 네스팅이 수행될 수 있다. 따라서 내부 데이터 피드백 레지스터(420)는 암호 해독된 데이터 값(412)(412-1,...,412-N)의 데이터 값에 대한 무한 반복 루핑을 허용한다. 따라서, 밴드 내 수신된 디스크램블링 키는 디코더 IC(300)에 의해 제공된 보안 특징을 강화하기 위해, 여러 번 암호화될 수 있다.
또한, 도 8을 참조하여 도시된 바와 같이, 도 8은 키 피드백 경로(402)와 데이터 피드백 경로(404)를 추가로 도시하고, 이는 ICB(400)로 하여금 반복적인 키 및 데이터 루핑의 결합을 제공한다. 전형적으로, ICB(400)는 내부 키(470)와 데이터 피드백 레지스터(420)를 모두 사용하고, 이는 기본 AES 블록 부호(410)에 대한 루핑을 허용한다. 일 실시예에서, 키 및 데이터 루핑은 강력한 키 트리 래더(key tree ladder)의 안전한 처리를 허용한다. 당업자에게 알려진 바와 같이, 키 트리 래더는 콘텐츠를 디스크램블링하는데 사용되는 콘텐츠 키를 유도하기 위해 요구되는 키/데이터 처리를 나타낸다.
본 명세서에 설명된 바와 같이, 키 래더는 하나 이상의 콘텐츠 재생기 또는 재생기 그룹에 관한 액세스 기준을 나타내는 데이터의 해시(hash)일 수 있다. 트리 래더는 재생기가 트리의 모든 브랜치(branch)로부터의 모든 데이터를 반드시 수신 할 필요가 없기 때문에, 재생기가 키를 처리하기 위한 효율적인 방식일 수 있다. 트리의 특정 브랜치로부터의 데이터의 그 결과 키 또는 해시는 재생기에 전달될 수 있다. 그 결과 루트 키는 모든 브랜치로부터의 모든 데이터의 함수일 수 있고, 이로 인해 모든 데이터의 인증 타입을 제공한다. 일 실시예에서, 키와 데이터 네스팅을 결합함으로써, 대부분의 CA와 DRM 시스템을 ICB(400)에 의해 제공된 결합키와 데이터 기능에 매핑(mapping)하는 것을 가능하게 한다.
이제 도 10과 도 11을 참조하면, ICB(400)의 해싱 및 연쇄의 실시예가 도시된다. 도 10을 참조하여 도시된 바와 같이, 논리 회로 게이트 인에이블(460)이 블록(410)과 논리 회로 게이트(462)의 키 입력에 결합된다. 일 실시예에서, 논리 회로 게이트(462)는 해시 키 값(464)을 형성하기 위해, 암호 해독 블록(410)의 키 입력으로부터의 디스크램블링 키와 디스크램블링된 키(412)로부터 배타적 논리합 연산(XOR)을 수행한다. 그러므로, 일 실시예에서 해시 키 값(464)을 제공함으로써, 해커가 액세스하게 되면, ICB(400)에 의해 만들어진 최종 디스크램블링 키가 해싱된 구조에서 제공되어, 해커에게는 쓸모가 없게 만든다.
도 11을 참조하여 도시된 바와 같이, ICB(400)는 데이터의 피드 포워드 해싱(feed forward hashing)을 제공하기 위해 구현될 수 있다. 전형적으로, 게이트 인에이블 논리 회로(450)는 스크램블링된 데이터(426)를 수신하고, 그것의 값을 논리 회로 게이트(452)에 제공하며, 이러한 논리 회로 게이트(452)는 해시 데이터 값(454)을 수행하기 위해, 디스크램블링된 데이터(412)와 스크램블링된 외부 정보(426)의 배타적 논리합 연산(XOR)을 수행한다. 따라서, ICB(400)에 의해 만들어진 최종 키 값이 해커에 의해 액세스되면, 수신된 키 값은 해싱된 값이 되고, 이는 해커에게는 쓸모없는 것이 되어, ICB(400)에 의해 제공된 보안성을 보장하게 된다.
도 12를 참조하면, ICB(400)의 부호 블록 연쇄 모드를 구현한 일 실시예가 도시된다. 전형적으로, 내부 데이터 출력 레지스터(442)가, 예를 들어 게이트 인에이블 논리 회로(440)에 제공되는 초기화 벡터(IV)를 저장하기 위해 사용될 수 있다. IV는 블록(410)으로 암호 해독되는 외부 정보(426)의 배타적 논리합 연산(XOR)을 수행하기 위해 논리 회로 게이트(444)에 제공될 수 있다. 당업자에게 알려진 바와 같이, 부호 블록 연쇄(CBC)는 암호화가 이전 부호 블록과 평범한 텍스트 블록을 결합(연쇄)하는 것을 특징으로 하는 기밀(confidential) 모드이다.
그러므로, 도 12를 참조하여 도시된 바와 같이, 내부 데이터 출력(440)은 처음에 초기화 벡터(IV)를 저장하고, 계속해서 이전 블록으로부터 디코드된 부호 텍스트를 저장한다. 따라서, CBC 모드는 제 1의 평범한 텍스트 블록과 결합하기 위해 IV를 요구한다. IV는 비밀일 필요는 없지만, 일반적으로 예측 불가능한 것이 될 것을 요구한다. 따라서, 보안상 이유로 인해, 블록(410)은 단순히 암호 해독 동작을 수행하는 것에 제한된다. 따라서, 해커에게는 잠재적으로 그들이 권리 부여를 받지 않은 서비스로의 액세스를 얻게 허용하는, 내부 키 값을 암호화할 능력이 주어질 수 없게 된다.
이제 도 13을 참조하면, ICB(400)의 해커 방지 출력 레지스터를 구현하기 위한 일 실시예가 도시된다. 이 실시예에 따르면, 디코더 IC(300)(도 2)는 외부 데이터 출력(270)과 콘텐츠 키 출력(미도시)을 포함한다. 일 실시예에서, ICB(400)는 최종 키 값을 치환하도록 구성되고, 이는 외부 데이터 출력(270)으로 보내질 데이터를 생성한다. 일 실시예에서, 콘텐츠 키 출력으로 보내진 계산된 키는 치환된다. 전형적으로, 이들 치환은 데이터든 키든 간에 마지막 단의 처리가 조금이라도 다르게 행해진 처리에 직교(orthogonal)하게 만든다.
그러므로, 여전히 완전히 유연한 키 및 데이터 래더 구성을 제공하면서, 키 처리가 해킹될 수 있는 가능성이 줄어들게 된다. 일 실시예에서, 외부 데이터 출력(270)은 CPU(210)(도 2)가 메시지와 콘텐츠 파일을 암호 해독하는 것을 허용한다. 하지만, 해커가 내부 키 또는 데이터의 방향을 외부 데이터 출력 레지스터(270)로 고칠 수 있다는 점에서 고정되지 않은 키 래더에는 보안 문제가 존재하게 된다. 불행하게도, 이러한 레지스터에 전달된 키는 정확하고, 뚜렷한 상태에 있을 수 있다. 그러므로, 일 실시예에서, 외부 데이터 출력(270)은 내부 키와 데이터가 외부 데이터 출력(270)에 기입될 때 보이게 되는 것을 금지하기 위해 치환된 키를 사용한다.
이제 도 14를 참조하면, 도 3의 콘텐츠 키 처리(320)의 일 실시예가 도시된다. 일 실시예에서, ICB(400)는 데이터를 키 암호 해독 레지스터에 보내고, 이러한 키 암호 해독 레지스터에서는 선택된 패킷 식별자를 암호 해독 또는 암호화하도록 매칭이 이루어진다. 전형적으로, 암호 해독 논리 회로는 이후 암호 해독된 디스크램블링 키를 암호화 블록(310)에 의해 암호 해독하기 위해 홀수 및 짝수 키 저장 소자 내로 기입한다. 하지만, 해커가 내부 키 또는 데이터의 방향을 콘텐츠 키 출력 레지스터로 고칠 수 있다는 점에서 고정되지 않은 키 래더에 있어서 보안상 문제가 존재하게 된다(이러한 레지스터에 전달된 키는 정확한 것일 수 있다). 그러므 로, 해커는 이러한 키를 가지려고 시도하거나 이러한 키를 MPEG 패킷으로 보내진 데이터와 같은 데이터를 암호화 또는 암호 해독하기 위해 사용할 수 있게 된다. 따라서 일 실시예에서, 외부 데이터 출력(270)은 콘텐츠 키 레지스터의 조작을 금지하기 위해, 치환된 키(326)를 사용하게 된다.
일 실시예에서, ICB(400)는 제한적이지 않은 AES(128 비트), 3DES(112 비트), CSA(64 비트), 및 DES(56 비트) 등을 포함하는 후속하는 저 레벨 암호화 알고리즘으로의 키 전달을 지원할 수 있다. 일반적으로 보안 문제는 상이한 비트 레벨의 콘텐츠 디스크램블링 알고리즘을 허용하는 시스템에 존재한다. 해커는 DES 키를 가지려고 시도하기 위해, 128 비트의 AES 대신, 56 비트의 DES를 선택하도록 디바이스를 프로그래밍할 수 있다. 그 결과, 128 비트를 56 비트의 키 크기로 줄이기 위한 키 축소 알고리즘(과 상이한 디스크램블링 알고리즘에 관한 다른 값들)이 만약 부정확하게 수행된다면 잠재적으로 키 노출 문제를 일으킬 수 있게 된다. 일반적으로, 더 작은 키가 더 긴 키보다 훨씬 쉽게 탈취될 수 있다. 일단 더 작은 키가 알려지면, 해커는 더 긴 키에서의 다른 비트도 시도를 할 수 있게 된다.
따라서 일 실시예에서, 키 축소 논리 회로(330)는 도 15 내지 도 17에 의해 도시된 바와 같은 축소된 비트의 키를 생성하기 위해 모든 비트에 대해 함께 배타적 논리합 연산(XOR)을 수행하는 방법을 제공한다. 전형적으로, 더 큰 키의 각 비트가 더 작은 키를 생성하기 위해 사용된다. 도 15를 참조하면, 키 축소 논리 회로(320)는 112 비트의 3DES 키 축소로 128 비트의 AES 키를 수행하기 위해 한 쌍의 논리 회로 게이트를 포함한다. 도시된 바와 같이, 최종 키(490)는 하부 M-비트와 상부 N-비트로 분할된다. 일 실시예에서, 하부 M-비트는 112 비트이고, 상부 N-비트는 16비트이며, 이들은 모두 논리 회로 게이트(340)에 제공된다. 전형적으로, 논리 회로 게이트(340)는 112 비트의 3DES 키를 만들기 위해, 하부 M-비트에 대한 상부 N-비트의 배타적 논리합 연산(XOR)을 7번 수행한다.
도 16은 64 비트의 DVB CSA 키를 제공하기 위해 키 축소를 행하도록 구성된 키 축소 논리 회로(330)를 추가로 도시한다. 전형적으로, 콘텐츠 디스크램블링 키(490)는 하부 M-비트와 상부 N-비트로 분할되어, M-비트 DVB CSA 키를 형성하기 위해 논리 회로 게이트(340)에 의한 배타적 논리합 연산(XOR)을 사용하여 함께 결합된다. 도시된 바와 같이, DVB CSA 키는 64 비트의 키 값이다. 도 17에서, 키 축소 논리 회로(330)는 AES 키(490)로부터 DES 키로 키 축소를 수행하도록 구성된다. 전형적으로, 초기 키(490)는 하부 M-비트와 상부 N-비트로 분할되고, 이들은 M-비트 값을 형성하기 위해 논리 회로 게이트(340)에 의해 결합된다. 이후 M-비트 값은 히부 X-비트와 상부 Y-비트로 분할된다. 이후 이들 값은 56 비트의 DES 키 값을 제공하기 위해 하부 X-비트에 대한 상부 Y-비트의 배타적 논리합 연산(XOR)을 7번 수행하여 결합된다.
따라서, ICB(400)는 사실상 임의의 유형의 조건부 액세스 또는 디지털 기입 관리 방법을 구현하기 위해 반복적으로 사용될 수 있는 유일한 블록이다. 따라서, ICB(400)는 독립형(stand alone) 조건부 액세스 또는 복사 방지를 위한 분리 가능한 보안 또는 암호물 처리기에 관한 필요성을 없앨 수 있다. 그러므로, 적어도 하나의 OTP 비밀키로 구현된 ICB(400)를 사용함으로써, 유연한 키 래더가 셋톱 박스 의 주 CPU에 의해 관리될 수 있다. ICB(400)가 해킹을 더 어렵게 만들기 위해 스마트 카드를 셋톱 박스에 결합시키는데 사용될 수 있으면서, 그것의 참된 값은 독립형 보안 상태에 있게 되면, 값비싼 스마트 카드를 제거함으로써 셋톱 박스의 비용을 크게 줄일 수 있게 된다. 그러므로, ICB(400)는 종래의 셋톱 박스 디바이스에 비해 비용이 줄어든 콘텐츠 전달 시스템에서 서비스 운영자 보안 옵션을 제공하게 된다.
비록 본 발명의 다양한 실시예의 많은 특징과 장점이 본 발명의 다양한 실시예의 상세한 구조와 기능과 함께 전술한 설명부에서 전개되었지만 이러한 개시물은 단지 예시적인 것이라는 점이 이해되어야 한다. 일부 경우, 일정한 작은 조립 부품(subassemby)만이 그러한 실시예를 가지고 상세히 설명된다. 그럼에도 불구하고, 그러한 작은 조립 부품은 본 발명의 다른 실시예에서 사용될 수 있는 것으로 인지되고 의도된다. 상세한 부분, 특히 첨부된 청구항에서 표현되는 용어의 넓은 종합적인 의미에 의해 표시된 것까지는 실시예의 원리 내에 있는 부분의 구조 및 관리의 문제에 있어서는 변경이 이루어질 수 있다.
전형적인 실시예와 최상의 모드를 개시하였지만, 다음 청구항에 의해 한정된 바와 같은 본 발명의 실시예의 범위 내에 있으면서, 수정 및 변형이 개시된 실시예에 대해 이루어질 수 있다.
전술한 바와 같이, 본 발명은 반복 암호화 블록에 관한 디지털 컨텐츠 보안 분야에 이용 가능하다.

Claims (50)

  1. 방법으로서,
    제 1 암호화 프로토콜에 따른 키 크기를 가지는 디코딩된 스크램블링 키를 수신하는 단계;
    상기 디코딩된 스크램블링 키의 모든 비트의 함수인 값을 가지는 축소된 키 크기 디스크램블링 키를 형성하기 위해, 제 2 암호화 프로토콜의 키 크기를 매칭하도록 상기 디코딩된 스크램블링 키의 키 크기를 축소하는 단계; 및
    축소된 키 크기 디스크램블링 키에 따라 수신된 스크램블된 콘텐츠를 디스크램블링하는 단계를 포함하는, 방법.
  2. 제 1항에 있어서, 상기 키 크기를 축소하는 단계는
    상기 디코딩된 스크램블링 키를 하부 M-비트와 상부 N-비트로 분할하는 단계와;
    축소된 키 크기 디스크램블링 키로서, M-비트의 디스크램블링 키를 형성하기 위해, 하부 M-비트에 대해서 상부 N-비트의 배타적 논리합 연산(XOR)을 수행하는 단계를 포함하는, 방법.
  3. 제 1항에 있어서, 상기 키 크기를 축소하는 단계는
    상기 디코딩된 디스크램블링 키를 하부 M-비트와 상부 M-비트로 분할하는 단 계와;
    축소된 키 크기 디스크램블링 키로서, M-비트의 디스크램블링 키를 형성하기 위해, 하부 M-비트와 상부 M-비트에 대한 배타적 논리합 연산을 수행하는 단계를 포함하는, 방법.
  4. 제 1항에 있어서, 상기 키 크기를 축소하는 단계는
    상기 디코딩된 디스크램블링 키를 하부 M-비트와 상부 M-비트로 분할하는 단계;
    M-비트의 디스크램블링 키를 형성하기 위해, 하부 M-비트와 상부 M-비트에 대한 배타적 논리합 연산을 수행하는 단계;
    상기 M-비트의 디스크램블링 키를 하부 X-비트와 상부 Y-비트로 분할하는 단계; 및
    축소된 키 크기 디스크램블링 키로서, X-비트 디스크램블링 키를 형성하기 위해, 하부 X-비트에 대해서 상부 Y-비트의 배타적 논리합 연산을 수행하는 단계를
    포함하는, 방법.
  5. 제 1항에 있어서, 상기 키 크기를 축소하는 단계는
    상기 디코딩된 스크램블링 키의 비트를 해싱(hashing)하는 단계와,
    상기 축소된 키 크기 디스크램블링 키를 형성하기 위해, 상기 해시로부터 비트를 선택하는 단계를 포함하는, 방법.
  6. 제 1항에 있어서, 상기 제 1 암호화 프로토콜은 개선된 암호화 표준 프로토콜이고, 제 2 암호화 프로토콜은 3중 데이터 암호화 표준 프로토콜(3DES), 디지털 비디오 방송(DVB) 공통 스크램블링 알고리즘(CSA), 및 데이터 암호화 표준(DES) 알고리즘 중 하나인, 방법.
  7. 제 1항에 있어서, 상기 제 1 암호화 프로토콜은 3중 데이터 암호화 표준 프로토콜(3DES)이고, 상기 제 2 암호화 프로토콜은 디지털 비디오 방송(DVB) 공통 스크램블링 알고리즘(CSA)과 데이터 암호화 표준(DES) 알고리즘 중 하나인, 방법.
  8. 제 1항에 있어서, 상기 제 1 암호화 프로토콜은 디지털 비디오 방송(DVB) 공통 스크램블링 알고리즘(CSA)이고, 상기 제 2 암호화 프로토콜은 상기 데이터 암호화 표준(DES) 알고리즘인, 방법.
  9. 기계 판독 가능 매체를 포함하는 제조 물품으로서, 상기 기계 판독 가능 매체는
    축소된 키 크기 디스크램블링 키를 형성하기 위해 제 1 암호화 프로토콜에 따른 키 크기를 가지는 디코딩된 스크램블링 키를 수신하는 단계;
    상기 디코딩된 스크램블링 키의 모든 비트의 함수인 값을 가지는 제 2 암호화 프로토콜의 키 크기를 매칭하기 위해, 상기 디코딩된 스크램블링 키의 키 크기 를 축소하는 단계; 및
    상기 축소된 키 크기 디스크램블링 키에 따라 수신된 스크램블링된 콘텐츠를 디스크램블링하는 단계를
    포함하는 방법을 수행하도록 시스템을 프로그래밍하기 위해 사용될 수 있는 지령을 저장한, 기계 판독 가능 매체를 포함하는 제조 물품.
  10. 제 9항에 있어서, 상기 키 크기를 축소하는 단계는
    상기 디코딩된 스크램블링 키를 하부 M-비트와 상부 N-비트로 분할하는 단계와,
    상기 축소된 키 크기 디스크램블링 키로서, M-비트의 디스크램블링 키를 형성하기 위해, 하부 M-비트에 대해서 상부 N-비트의 배타적 논리합 연산을 수행하는 단계를 포함하는, 기계 판독 가능 매체를 포함하는 제조 물품.
  11. 제 9항에 있어서, 상기 키 크기를 축소하는 단계는
    상기 디코딩된 디스크램블링 키를 하부 M-비트와 상부 M-비트로 분할하는 단계와,
    상기 축소된 키 크기 디스크램블링 키로서, M-비트의 디스크램블링 키를 형성하기 위해, 하부 M-비트와 상부 M-비트에 대한 배타적 논리합 연산을 수행하는 단계를 포함하는, 기계 판독 가능 매체를 포함하는 제조 물품.
  12. 제 9항에 있어서, 상기 키 크기를 축소하는 단계는
    상기 디코딩된 디스크램블링 키를 하부 M-비트와 상부 M-비트로 분할하는 단계,
    M-비트의 디스크램블링 키를 형성하기 위해, 하부 M-비트와 상부 N-비트에 대한 배타적 논리합 연산을 수행하는 단계,
    상기 M-비트의 디스크램블링 키를 하부 X-비트와 상부 Y-비트로 분할하는 단계; 및
    상기 축소된 키 크기 디스크램블링 키로서, X-비트 디스크램블링 키를 형성하기 위해, 상기 하부 X-비트에 대해서 상기 상부 Y-비트의 배타적 논리합 연산을 수행하는 단계를
    포함하는, 기계 판독 가능 매체를 포함하는 제조 물품.
  13. 제 9항에 있어서, 상기 제 1 암호화 프로토콜은 개선된 암호화 표준 프로토콜이고, 상기 제 2 암호화 프로토콜은 3중 데이터 암호화 표준 프로토콜(3DES), 디지털 비디오 방송(DVB) 공통 스크램블링 알고리즘(CSA), 및 데이터 암호화 표준(DES) 알고리즘 중 하나인, 기계 판독 가능 매체를 포함하는 제조 물품.
  14. 제 9항에 있어서, 상기 키 크기를 축소하는 단계는
    상기 디코딩된 스크램블링 키의 비트를 해싱하는 단계와,
    상기 축소된 키 크기 디스크램블링 키를 형성하기 위해, 상기 해시로부터 비 트를 선택하는 단계를
    포함하는, 기계 판독 가능 매체를 포함하는 제조 물품.
  15. 제 9항에 있어서, 상기 제 1 암호화 프로토콜은 3중 데이터 암호화 표준 프로토콜(3DES)이고, 상기 제 2 암호화 프로토콜은 디지털 비디오 방송(DVB) 공통 스크램블링 알고리즘(CSA)과 데이터 암호화 표준(DES) 알고리즘 중 하나인, 기계 판독 가능 매체를 포함하는 제조 물품.
  16. 제 9항에 있어서, 상기 제 1 암호화 프로토콜은 디지털 비디오 방송(DVB) 공통 스크램블링 알고리즘(CSA)이고, 상기 제 2 암호화 프로토콜은 데이터 암호화 표준(DES) 알고리즘인, 기계 판독 가능 매체를 포함하는 제조 물품.
  17. 집적 회로로서,
    디스크램블링된 키와 디스크램블링된 데이터 중 하나를 형성하기 위해, 내부 키와 미리 프로그래밍된 키 중 하나를 사용하여 수신된 정보를 디스크램블링하기 위해 제한없이 반복될 수 있는 제 1 암호화 블록;
    내부 키로서 상기 디스크램블링된 키를 저장하고, 상기 내부 키와 상기 미리 프로그래밍된 키 중 하나를 제 1 암호화 블록의 키 입력에 제공하기 위한 키 피드백 경로; 및
    디스크램블링된 디지털 콘텐츠를 형성하기 위해, 상기 제 1 암호화 블록으로 부터의 최종 디스크램블링 키를 사용하여 수신된 스크램블링된 디지털 콘텐츠를 디스크램블링하기 위한 제 2 암호화 블록을
    포함하는, 집적 회로.
  18. 제 17항에 있어서, 내부 데이터로서 데이터 레지스터 내의 디스크램블링된 데이터를 저장하기 위한 데이터 피드백 경로;
    상기 데이터 레지스터로부터의 내부 데이터와 외부 정보 입력으로부터 수신된 정보 중 하나를 상기 제 1 암호화 블록의 데이터 입력으로 제공하기 위해, 데이터 레지스터와 상기 외부 정보 입력에 결합된 데이터 선택 논리 회로를
    더 포함하는, 집적 회로.
  19. 제 17항에 있어서, 상기 키 피드백 경로는
    적어도 상기 미리 프로그래밍된 키를 저장하기 위해 미리 프로그래밍된 키 레지스터;
    적어도 상기 디스크램블링된 키를 저장하기 위한 내부 키 레지스터; 및
    상기 집적된 회로 외부에서 액세스 가능하고, 보안이 되지 않는 CPU에 의해 액세스 가능한 제어를 사용하여 제 1 암호화 블록의 키 입력에 미리 프로그래밍된 키와 내부 키 중 하나를 제공하기 위한 키 선택 논리 회로를
    더 포함하는, 집적 회로.
  20. 제 17항에 있어서,
    상기 내부 키와 상기 미리 프로그래밍된 키 중 하나를 수신하기 위해 제 1 암호화 블록의 키 피드백 경로에 결합된 게이트 인에이블 논리 회로와,
    상기 내부 키, 상기 게이트 인에이블 논리 회로로부터 수신된 미리 프로그래밍된 키, 및 상기 게이트 인에이블 논리 회로에 의해 인에이블될 때 상기 제 1 암호화 블록의 데이터 출력으로부터 수신된 디스크램블링된 키 중 하나로부터 키 해시 값을 계산하기 위해, 제 1 암호화 블록의 데이터 출력에 결합된 논리 회로 게이트를
    더 포함하는, 집적 회로.
  21. 제 17항에 있어서,
    상기 수신된 정보를 수신하기 위해 제 1 암호화 블록의 데이터 입력에 결합된 게이트 인에이블 논리 회로와,
    수신된 정보와, 상기 게이트 인에이블 논리 회로에 의해 인에이블될 때의 상기 제 1 암호화 블록의 데이터 출력으로부터 디스크램블링된 데이터로부터 해시 데이터 값을 계산하기 위해, 상기 제 1 암호화 블록의 데이터 출력에 결합된 논리 회로 게이트를
    더 포함하는, 집적 회로.
  22. 제 17항에 있어서,
    데이터 레지스터 내에 적어도 상기 디스크램블링된 데이터를 저장하기 위한 데이터 피드백 경로;
    상기 데이터 레지스터에 결합된 게이트 인에이블 논리 회로; 및
    상기 제 1 암호화 블록의 데이터 입력에 결합된 논리 회로 게이트로서, 수신된 정보와, 상기 게이트 인에이블 논리 회로로부터 디스크램블링 데이터로부터 치환된 값을 형성하고, 상기 게이트 인에이블 논리 회로에 의해 인에이블될 때 상기 제 1 암호화 블록의 데이터 입력에 상기 치환된 값을 제공하며, 디스에이블될 때 상기 제 1 암호화 블록의 데이터 입력에 수신된 정보를 제공하기 위한 논리 회로 게이트를
    더 포함하는, 집적 회로.
  23. 제 17항에 있어서,
    내부 데이터 값을 수신하기 위한 게이트 인에이블 논리 회로와,
    상기 제 1 암호화 블록과 상기 게이트 인에이블 논리 회로의 키 피드백 경로에 결합된 논리 회로 게이트로서, 상기 내부 데이터 값과, 상기 게이트 인에이블 논리 회로에 의해 인에이블될 때의 내부 키와 미리 프로그래밍된 키 중 하나로부터 치환된 키 값을 계산하고 상기 제 1 암호화 블록의 키 입력에 상기 치환된 키 값을 제공하기 위한 논리 회로 게이트, 및
    상기 제 1 암호화 블록의 키 입력으로서 수신된 치환된 키 값으로 상기 제 1 암호화 블록에 의해 생성된 디스크램블링된 데이터를 저장하기 위해, 상기 제 1 암 호화 블록의 데이터 출력에 결합된 외부 데이터 레지스터를
    더 포함하는, 집적 회로.
  24. 제 17항에 있어서, 상기 제 1 암호화 블록은, 상기 디스크램블링된 키와 디스크램블링된 데이터 중 하나를 형성하기 위해, 내부 키와 미리 프로그래밍된 키 중 하나를 사용하여 수신된 정보를 반복적으로 디스크램블링하기 위해 프로그래밍된 내장된 암호화 CPU인, 집적 회로.
  25. 제 18항에 있어서, 상기 키 피드백 경로와 상기 데이터 피드백 경로는 오프-칩(off-chip) 보안이 되지 않는 CPU에 따라 동작하는, 집적 회로.
  26. 제 17항에 있어서, 상기 제 1 암호화 블록은 상태 기계에 따라 동작하고,
    상기 키 피드백 경로와 데이터 피드백 경로는 오프-칩 보안이 되지 않는 CPU에 따라 동작하는, 집적 회로.
  27. 제 23항에 있어서, 상기 내부 값은 고정된 값, 저장된 내부 키, 저장된 내부 데이터, 및 1회성(one-time) 프로그래밍 가능한 값 중 하나인, 집적 회로.
  28. 제 17항에 있어서,
    내부 데이터 값을 수신하기 위한 게이트 인에이블 논리 회로와,
    상기 제 1 암호화 블록과 상기 게이트 인에이블 논리 회로의 키 피드백 경로에 결합된 논리 회로 게이트로서, 상기 게이트 인에이블 논리 회로에 의해 인에이블될 때, 상기 내부 키와 상기 미리 프로그래밍된 키 중 하나와, 상기 내부 데이터 값으로부터 치환된 키 값을 계산하고, 최종 키를 생성하기 위해 제 1 암호화 블록의 키 입력에 상기 치환된 키 값을 제공하며, 상기 최종 키를 제 2 암호화 블록의 키 입력으로서 제공하는, 논리 회로 게이트를
    더 포함하는, 집적 회로.
  29. 제 28항에 있어서, 상기 내부 값은 고정된 값, 저장된 내부 키, 저장된 내부 데이터, 및 1회성(one-time) 프로그래밍 가능한 값 중 하나인, 집적 회로.
  30. 제 17항에 있어서, 제 1 암호화 블록으로부터의 디스크램블링 키와 내부 값을 수신하기 위한 논리 회로 게이트를 더 포함하고, 상기 논리 회로 게이트는 최종 키로서 치환된 키 값을 생성하고, 제 2 암호화 블록의 키 입력에 최종 키를 제공하는, 집적 회로.
  31. 제 30항에 있어서, 상기 내부 값은 고정된 값, 저장된 내부 키, 저장된 내부 데이터, 및 1회성 프로그램 가능한 값 중 하나인, 집적 회로.
  32. 제 17항에 있어서, 제 1 암호화 블록의 제 1 암호화 프로토콜에 따른 키 크 기를 가지는 제 1 암호화 블록으로부터 디스크램블링된 키를 수신하기 위한 키 축소 논리 회로를 더 포함하고, 상기 키 축소 논리 회로는 상기 디스크램블링된 키의 모든 비트의 함수인 값을 가지는 최종 키를 형성하도록, 제 2 암호화 블록의 제 2 암호화 프로토콜의 키 크기와 매칭하기 위해 디스크램블링된 키의 키 크기를 축소하는, 집적 회로.
  33. 제 32항에 있어서, 상기 제 1 암호화 프로토콜은 개선된 암호화 표준(AES) 프로토콜이고, 상기 제 2 암호화 프로토콜은 3중 데이터 암호화 표준(3DES) 프로토콜, 디지털 비디오 방송(DVB) 공통 스크램블링 알고리즘(CSA) 프로토콜, 데이터 암호화 표준(DES) 프로토콜 중 하나인, 집적 회로.
  34. 제 32항에 있어서, 상기 제 1 암호화 프로토콜은 3중 데이터 암호화 표준(3DES) 프로토콜이고, 제 2 암호화 프로토콜은 디지털 비디오 방송(DVB) 공통 스크램블링 알고리즘(CSA)과 데이터 암호화 표준(DES) 알고리즘 중 하나인, 집적 회로.
  35. 제 32항에 있어서, 제 1 암호화 프로토콜은 디지털 비디오 방송(DVB) 공통 스크램블링 알고리즘(CSA)이고, 제 2 암호화 프로토콜은 데이터 암호화 표준(DES) 알고리즘인, 집적 회로.
  36. 제 17항에 있어서, 상기 집적 회로는 디스크램블링된 디지털 콘텐츠의 압축 해제를 위한 디코더 집적 회로인, 집적 회로.
  37. 제 17항에 있어서, 상기 집적 회로는 암호화 집적 회로인, 집적 회로.
  38. 제 17항에 있어서, 뚜렷한 디지털 콘텐츠를 형성하기 위해, 디스크램블링된 디지털 콘텐츠를 디코드하는 디코더를 더 포함하는, 집적 회로.
  39. 제 38항에 있어서, 스크램블링된 포맷으로 뚜렷한 디지털 콘텐츠를 저장하기 위한 비휘발성 메모리를 더 포함하는, 집적 회로.
  40. 제 17항에 있어서, 상기 미리 프로그래밍된 키는 일단 프로그래밍되면 판독 또는 중복 기입될 수 없는 1회성 프로그래밍 가능한 값인, 집적 회로.
  41. 셋톱 박스로서,
    스크램블링된 콘텐츠를 수신하기 위한 튜너;
    CPU; 및
    프로그래밍된 키, 내부 키, 외부 데이터, 및 CPU의 제어하에 있는 내부 데이터 중 적어도 하나를 선택하는 집적 회로를 포함하고, 상기 집적 회로는
    디스크램블링된 키와 디스크램블링된 데이터 중 하나를 형성하도록 내부 키와 미리 프로그래밍된 키 중 하나를 사용하는 수신된 정보를 디스크램블링하기 위 한 제 1 암호화 블록,
    내부 키와 내부 데이터 중 하나로서 상기 디스크램블링된 정보를 반복적으로 저장하고, 상기 내부 키와 상기 미리 프로그래밍된 키 중 하나를 상기 제 1 암호화 블록의 키 입력으로 제공하며, 외부 데이터와 상기 내부 데이터 중 하나를 상기 제 1 암호화 블록의 데이터 입력에 제공하는 키 피드백 경로,
    디스크램블링된 디지털 콘텐츠를 형성하도록, 상기 제 1 암호화 블록으로부터 최종 디스크램블링 키를 사용하여 수신된 스크램블링된 디지털 콘텐츠를 디스크램블링하기 위한 제 2 암호화 블록, 및
    뚜렷한 디지털 콘텐츠를 형성하도록 상기 디스크램블링된 디지털 콘텐츠를 디코드하는 디코더를 포함하는, 셋톱 박스.
  42. 제 41항에 있어서,
    내부 데이터로서 데이터 레지스터 내의 디스크램블링된 데이터를 저장하는 데이터 피드백 경로와,
    상기 데이터 레지스터와 외부 정보 입력에 결합되고, 상기 데이터 레지스터로부터의 내부 데이터와, 상기 외부 정보 입력으로부터 수신된 정보 중 하나를, 상기 제 1 암호화 블록의 데이터 입력에 제공하는, 데이터 선택 논리 회로를
    더 포함하는, 셋톱 박스.
  43. 제 41항에 있어서, 상기 키 피드백 경로는
    적어도 상기 미리 프로그래밍된 키를 저장하는 미리 프로그래밍된 키 레지스터,
    적어도 상기 디스크램블링된 키를 저장하는 내부 키 레지스터, 및
    상기 미리 프로그래밍된 키와 상기 내부 키 중 하나를, 상기 제 1 암호화 블록의 키 입력에 제공하는 키 선택 논리 회로를
    더 포함하는, 셋톱 박스.
  44. 제 41항에 있어서,
    상기 내부 키와 상기 미리 프로그래밍된 키 중 하나를 수신하기 위해, 상기 제 1 암호화 블록의 키 피드백 경로에 결합된 게이트 인에이블 논리 회로와,
    상기 제 1 암호화 블록의 데이터 출력에 결합되고, 상기 게이트 인에이블 논리 회로에 의해 인에이블될 때, 상기 내부 키, 상기 게이트 인에이블 논리 회로로부터 수신된 미리 프로그래밍된 키, 및 상기 제 1 암호화 블록의 데이터 출력으로부터 수신된 디스크램블링된 키 중 하나로부터 키 해시 값을 계산하는, 논리 회로 게이트를
    더 포함하는, 셋톱 박스.
  45. 제 41항에 있어서,
    상기 수신된 정보를 수신하기 위해, 상기 제 1 암호화 블록의 데이터 입력에 결합된 게이트 인에이블 논리 회로와,
    상기 제 1 암호화 블록의 데이터 출력에 결합되고, 상기 게이트 인에이블 논리 회로에 의해 인에이블될 때, 수신된 정보와 상기 제 1 암호화 블록의 데이터 출력으로부터의 디스크램블링된 데이터로부터 해시 데이터 값을 계산하는, 논리 회로 게이트를
    더 포함하는, 셋톱 박스.
  46. 제 41항에 있어서,
    데이터 레지스터 내의 적어도 디스크램블링된 데이터를 저장하는 데이터 피드백 경로,
    상기 데이터 레지스터에 결합된 게이트 인에이블 논리 회로, 및
    상기 제 1 암호화 블록의 데이터 입력에 결합되고, 상기 게이트 인에이블 논리 회로로부터 수신된 정보와 디스크램블링된 데이터로부터 치환된 값을 형성하며, 상기 게이트 인에이블 논리 회로에 의해 인에이블 될 때에는 상기 제 1 암호화 블록의 데이터 입력에 상기 치환된 값을 제공하고, 디스에이블 될 때에는 상기 제 1 암호화 블록의 데이터 입력에 상기 수신된 정보를 제공하는, 논리 회로 게이트를
    더 포함하는, 셋톱 박스.
  47. 제 41항에 있어서,
    외부 데이터 값을 수신하는 게이트 인에이블 논리 회로,
    상기 제 1 암호화 블록과 상기 게이트 인에이블 논리 회로의 키 피드백 경로 에 결합되고, 상기 게이트 인에이블 논리 회로에 의해 인에이블될 때, 상기 외부 데이터 값과, 상기 내부 키 및 상기 미리 프로그래밍된 키 중 하나로부터 치환된 키 값을 계산하며, 상기 치환된 키 값을 상기 제 1 암호화 블록의 키 입력으로 제공하는 논리 회로 게이트, 및
    상기 제 1 암호화 블록의 키 입력으로서 수신된 치환된 키 값으로 상기 제 1 암호화 블록에 의해 생성된 디스크램블링된 데이터를 저장하도록, 상기 제 1 암호화 블록의 데이터 출력에 결합된 외부 데이터 레지스터를
    더 포함하는, 셋톱 박스.
  48. 제 41항에 있어서,
    상기 제 1 암호화 블록과 상기 제 2 암호화 블록은 개선된 암호화 표준(AES)에 따라 동작하는 논리 회로인, 셋톱 박스.
  49. 제 41항에 있어서, 스크램블링된 포맷으로 뚜렷한 디지털 콘텐츠를 저장하는 비휘발성 메모리를 더 포함하는, 셋톱 박스.
  50. 제 41항에 있어서, 상기 미리 프로그래밍된 키는, 일단 프로그래밍되면 판독 또는 중복 기입될 수 없는 1회성 프로그래밍 가능한 값인, 셋톱 박스.
KR1020067003631A 2003-08-25 2004-07-07 반복적인 암호화 블록을 위한 장치 및 방법 KR100978224B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US49769003P 2003-08-25 2003-08-25
US60/497,690 2003-08-25
US10/801,962 2004-03-15
US10/801,962 US7366302B2 (en) 2003-08-25 2004-03-15 Apparatus and method for an iterative cryptographic block

Publications (2)

Publication Number Publication Date
KR20060123063A true KR20060123063A (ko) 2006-12-01
KR100978224B1 KR100978224B1 (ko) 2010-08-27

Family

ID=34278559

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067003631A KR100978224B1 (ko) 2003-08-25 2004-07-07 반복적인 암호화 블록을 위한 장치 및 방법

Country Status (6)

Country Link
US (3) US7366302B2 (ko)
EP (2) EP1733558B1 (ko)
JP (2) JP4794443B2 (ko)
KR (1) KR100978224B1 (ko)
CN (1) CN101129068B (ko)
WO (1) WO2005084160A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100957566B1 (ko) * 2007-11-09 2010-05-11 (주)네오와인 데이터 이중 암호화 장치 및 그 방법
WO2021045397A1 (en) * 2019-09-04 2021-03-11 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438392B2 (en) 2002-06-20 2013-05-07 Krimmeni Technologies, Inc. Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol
US7203844B1 (en) * 2002-06-20 2007-04-10 Oxford William V Method and system for a recursive security protocol for digital copyright control
US8402283B1 (en) 2004-08-02 2013-03-19 Nvidia Corporation Secure content enabled drive system and method
US8359332B1 (en) 2004-08-02 2013-01-22 Nvidia Corporation Secure content enabled drive digital rights management system and method
US8875309B1 (en) 2004-12-15 2014-10-28 Nvidia Corporation Content server and method of providing content therefrom
US8788425B1 (en) 2004-12-15 2014-07-22 Nvidia Corporation Method and system for accessing content on demand
US8041190B2 (en) * 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US8751825B1 (en) 2004-12-15 2014-06-10 Nvidia Corporation Content server and method of storing content
US8346807B1 (en) 2004-12-15 2013-01-01 Nvidia Corporation Method and system for registering and activating content
US7933410B2 (en) * 2005-02-16 2011-04-26 Comcast Cable Holdings, Llc System and method for a variable key ladder
US8893299B1 (en) 2005-04-22 2014-11-18 Nvidia Corporation Content keys for authorizing access to content
US8189786B2 (en) * 2005-05-25 2012-05-29 Zenith Electronics Llc Encryption system
US8144868B2 (en) * 2005-05-25 2012-03-27 Zenith Electronics Llc Encryption/decryption of program data but not PSI data
WO2007024828A2 (en) * 2005-08-23 2007-03-01 Soft Resources, Llc Authentication protection apparatus and method
US8131995B2 (en) * 2006-01-24 2012-03-06 Vixs Systems, Inc. Processing feature revocation and reinvocation
US20070237325A1 (en) * 2006-02-01 2007-10-11 Gershowitz Michael N Method and apparatus to improve security of cryptographic systems
US8185921B2 (en) * 2006-02-28 2012-05-22 Sony Corporation Parental control of displayed content using closed captioning
US20070239605A1 (en) * 2006-04-06 2007-10-11 Peter Munguia Supporting multiple key ladders using a common private key set
US20080019517A1 (en) * 2006-04-06 2008-01-24 Peter Munguia Control work key store for multiple data streams
US8233623B2 (en) * 2006-05-08 2012-07-31 Qualcomm Incorporated Methods and systems for blackout provisioning in a distribution network
US8220047B1 (en) * 2006-08-09 2012-07-10 Google Inc. Anti-phishing system and method
US7769166B2 (en) * 2006-08-24 2010-08-03 Lsi Corporation Dual mode AES implementation to support single and multiple AES operations
JP2010520703A (ja) * 2007-03-06 2010-06-10 ウィリアム ブイ. オックスフォード, デジタル著作権制御用再帰的セキュリティプロトコルのための方法およびシステム
US20080292692A1 (en) * 2007-05-21 2008-11-27 Shira Pilch Impermeable Capsules
US8681996B2 (en) * 2007-07-31 2014-03-25 Lsi Corporation Asymmetric key wrapping using a symmetric cipher
US8166289B2 (en) * 2008-02-05 2012-04-24 Viasat, Inc. Trusted boot
US20100161975A1 (en) * 2008-12-19 2010-06-24 Vixs Systems, Inc. Processing system with application security and methods for use therewith
EP2227015B1 (en) * 2009-03-02 2018-01-10 Irdeto B.V. Conditional entitlement processing for obtaining a control word
US10057641B2 (en) * 2009-03-25 2018-08-21 Sony Corporation Method to upgrade content encryption
US8775825B2 (en) * 2009-08-17 2014-07-08 Cram Worldwide Llc Digital content management and delivery
GB0915596D0 (en) * 2009-09-07 2009-10-07 St Microelectronics Res & Dev Encryption keys
US8386800B2 (en) * 2009-12-04 2013-02-26 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
WO2011080720A2 (en) * 2009-12-31 2011-07-07 Infinite Memory Ltd. Methods circuits apparatuses and systems for secure content duplication distribution and access
US8904189B1 (en) 2010-07-15 2014-12-02 The Research Foundation For The State University Of New York System and method for validating program execution at run-time using control flow signatures
US8363829B2 (en) * 2010-08-04 2013-01-29 Huang Lawrence P System for descrambling and methods for use therewith
US8437471B2 (en) * 2010-08-04 2013-05-07 Lawrence P. Huang System for scrambling and methods for use therewith
US9633391B2 (en) 2011-03-30 2017-04-25 Cram Worldwide, Llc Secure pre-loaded drive management at kiosk
US9392318B2 (en) 2011-06-14 2016-07-12 Sony Corporation Receiver device with multiple decryption modes
US20130147511A1 (en) * 2011-12-07 2013-06-13 Patrick Koeberl Offline Device Authentication and Anti-Counterfeiting Using Physically Unclonable Functions
EP2828759A4 (en) 2012-03-20 2015-09-30 Rubicon Labs Inc METHOD AND SYSTEM FOR WORKING PROCESS SET INSULATION
KR102013841B1 (ko) * 2012-08-06 2019-08-23 삼성전자주식회사 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치
US10944544B2 (en) * 2018-11-07 2021-03-09 Sony Corporation Reducing variable-length pre-key to fix-length key
US11443016B2 (en) * 2018-11-09 2022-09-13 Sony Corporation Pre-key with authentication using logical combinations of pre-key bits with other information

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH664056A5 (de) * 1984-11-02 1988-01-29 Borer Communications Ag Verfahren und vorrichtung fuer die umwandlung einer digitalen datensequenz in die verschluesselte form.
US4908861A (en) * 1987-08-28 1990-03-13 International Business Machines Corporation Data authentication using modification detection codes based on a public one way encryption function
JP2834450B2 (ja) * 1987-09-16 1998-12-09 日本電信電話株式会社 暗号装置
JPH01122227A (ja) * 1987-11-06 1989-05-15 Konica Corp 伝送装置
US4864615A (en) * 1988-05-27 1989-09-05 General Instrument Corporation Reproduction of secure keys by using distributed key generation data
US5063596A (en) * 1989-02-24 1991-11-05 Miu Automation Corporation Encryption printed circuit board
US5323464A (en) * 1992-10-16 1994-06-21 International Business Machines Corporation Commercial data masking
US5425103A (en) * 1994-03-14 1995-06-13 Shaw; William Y. Variable-key cryptography system
US5533123A (en) * 1994-06-28 1996-07-02 National Semiconductor Corporation Programmable distributed personal security
JPH08125651A (ja) * 1994-10-28 1996-05-17 Hitachi Ltd 信号処理装置
KR19990035965A (ko) 1995-07-27 1999-05-25 맥클린토크 샤운 엘 은폐된 작업인자를 가진 암호시스템
US5751811A (en) * 1995-08-30 1998-05-12 Magnotti; Joseph C. 32N +D bit key encryption-decryption system using chaos
US5659618A (en) 1995-09-29 1997-08-19 Vlsi Technology, Inc. Multi-size cryptographic key system
JPH103256A (ja) * 1995-10-16 1998-01-06 Sony Corp 暗号化方法、暗号化装置、記録方法、復号化方法、復号化装置及び記録媒体
US5687237A (en) * 1995-11-13 1997-11-11 Pitney Bowes Inc. Encryption key management system for an integrated circuit
EP0909495B1 (fr) * 1996-06-05 2004-08-25 Gemplus Procede de cryptographie a cle publique
US5825879A (en) * 1996-09-30 1998-10-20 Intel Corporation System and method for copy-protecting distributed video content
US6904525B1 (en) * 1997-07-01 2005-06-07 Pitney Bowes Inc. Method for preventing counterfeiting of articles of manufacture
US6307936B1 (en) * 1997-09-16 2001-10-23 Safenet, Inc. Cryptographic key management scheme
US6704871B1 (en) * 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
US6708273B1 (en) * 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
US6333983B1 (en) * 1997-12-16 2001-12-25 International Business Machines Corporation Method and apparatus for performing strong encryption or decryption data using special encryption functions
KR100397316B1 (ko) * 1998-01-21 2003-09-06 비.유.지., 인크. 기억 장치, 암호화ㆍ복호화 장치 및 불휘발성 메모리의액세스 방법
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US6192129B1 (en) * 1998-02-04 2001-02-20 International Business Machines Corporation Method and apparatus for advanced byte-oriented symmetric key block cipher with variable length key and block
US7174457B1 (en) * 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US6560337B1 (en) * 1998-10-28 2003-05-06 International Business Machines Corporation Systems, methods and computer program products for reducing effective key length of ciphers using one-way cryptographic functions and an initial key
JP2002531013A (ja) * 1998-11-25 2002-09-17 ソニー エレクトロニクス インク 記録されたデジタルプログラムにアクセスするための方法及び装置
JP2000269950A (ja) * 1999-03-12 2000-09-29 Matsushita Electric Ind Co Ltd 著作物保護システム
US6450402B1 (en) * 1999-05-05 2002-09-17 T.I.D. (The Identifying Diamond) Inc. Identification device
JP4043669B2 (ja) * 1999-10-15 2008-02-06 日本放送協会 限定受信方式における関連情報の処理装置
US7005733B2 (en) * 1999-12-30 2006-02-28 Koemmerling Oliver Anti tamper encapsulation for an integrated circuit
JP4524829B2 (ja) * 2000-01-25 2010-08-18 ソニー株式会社 データ処理システム、記録デバイス、およびデータ処理方法、並びにプログラム提供媒体
US20010031050A1 (en) * 2000-02-14 2001-10-18 Lateca Computer Inc. N.V. Key generator
US7270193B2 (en) * 2000-02-14 2007-09-18 Kabushiki Kaisha Toshiba Method and system for distributing programs using tamper resistant processor
AU2001253034A1 (en) * 2000-03-29 2001-10-08 Vadium Technology, Inc. One-time-pad encryption with central key service and keyable characters
JP4321837B2 (ja) * 2000-09-07 2009-08-26 大日本印刷株式会社 暗号化処理機能を備えた可搬記録媒体
US7242772B1 (en) * 2000-09-07 2007-07-10 Eastman Kodak Company Encryption apparatus and method for synchronizing multiple encryption keys with a data stream
US7007050B2 (en) * 2001-05-17 2006-02-28 Nokia Corporation Method and apparatus for improved pseudo-random number generation
US6996725B2 (en) * 2001-08-16 2006-02-07 Dallas Semiconductor Corporation Encryption-based security protection for processors
JP3695526B2 (ja) * 2001-10-01 2005-09-14 学校法人慶應義塾 暗号鍵更新方法
US7203844B1 (en) * 2002-06-20 2007-04-10 Oxford William V Method and system for a recursive security protocol for digital copyright control
US7451326B2 (en) * 2002-08-26 2008-11-11 Mosaid Technologies, Inc. Method and apparatus for processing arbitrary key bit length encryption operations with similar efficiencies

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100957566B1 (ko) * 2007-11-09 2010-05-11 (주)네오와인 데이터 이중 암호화 장치 및 그 방법
WO2021045397A1 (en) * 2019-09-04 2021-03-11 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
US11516541B2 (en) 2019-09-04 2022-11-29 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof

Also Published As

Publication number Publication date
WO2005084160A3 (en) 2007-05-18
CN101129068A (zh) 2008-02-20
EP1733558A4 (en) 2007-11-21
JP2007512721A (ja) 2007-05-17
US20050058291A1 (en) 2005-03-17
EP1733558A2 (en) 2006-12-20
WO2005084160A2 (en) 2005-09-15
US8712057B2 (en) 2014-04-29
JP2011055541A (ja) 2011-03-17
JP4794443B2 (ja) 2011-10-19
JP5313995B2 (ja) 2013-10-09
US7366302B2 (en) 2008-04-29
EP3288257A1 (en) 2018-02-28
KR100978224B1 (ko) 2010-08-27
US7742599B2 (en) 2010-06-22
US20080170698A1 (en) 2008-07-17
US20080219443A1 (en) 2008-09-11
CN101129068B (zh) 2010-09-29
EP1733558B1 (en) 2020-01-08

Similar Documents

Publication Publication Date Title
KR100978224B1 (ko) 반복적인 암호화 블록을 위한 장치 및 방법
JP4716866B2 (ja) デジタルコンテンツの転送を保護するためのメカニズム
US8572408B2 (en) Digital rights management of a digital device
JP4663628B2 (ja) データ転送保護方法及び装置
KR100735761B1 (ko) 제어 단어 보안 방법 및 장치
EP1563637B1 (en) Mechanism for protecting the transfer of digital content

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: 20130808

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140806

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150805

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160808

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170809

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180808

Year of fee payment: 9