KR20020038807A - 객체 및 자원 보안 시스템 - Google Patents
객체 및 자원 보안 시스템 Download PDFInfo
- Publication number
- KR20020038807A KR20020038807A KR1020027004530A KR20027004530A KR20020038807A KR 20020038807 A KR20020038807 A KR 20020038807A KR 1020027004530 A KR1020027004530 A KR 1020027004530A KR 20027004530 A KR20027004530 A KR 20027004530A KR 20020038807 A KR20020038807 A KR 20020038807A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- content
- authorization
- authenticating
- top box
- 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
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
-
- 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/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44204—Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
-
- 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/4627—Rights management associated to the content
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8355—Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은 조건 액세스 시스템 내에서 객체 및 자원을 보호하기 위하여 체크포인트를 사용한다. 인증(authentication) 및/또는 허가(authorization) 체크는 객체 및 자원의 보안성을 확실히 하기 위하여 다수의 체크포인트에서 수행된다. 객체 또는 자원의 목적이 명백하게 될 때 뿐만 아니라 객체 또는 자원을 취급하고 있는 동안의 다른 시간에 체크포인트들에 대한 체크가 개시된다.
Description
케이블 텔레비젼(TV) 공급자는 조건 액세스(CA) 시스템에 의하여 가입자에게 비디오 스트림을 분배한다. CA 시스템은 케이블 TV 공급자의 헤드엔드로부터 가입자 관련 셋톱 박스로 비디오 스트림을 분배한다. 헤드엔드는 비디오 스트림을 수신하여 이 비디오 스트림을 CA 시스템 내의 셋톱 박스에 분배한다. 셋톱 박스를 선택함으로써, 케이블 TV 공급자에 의해 셋톱 박스로 전송된 권한 정보(entitlement information)에 따라 특정의 비디오 스트림을 디코드 할 수 있다. 유사하게, 다른 비디오 프로그램 공급자는 비디오 콘텐츠(video content)를 셋톱 박스에 무선으로 분배하기 위해 위성 접시를 사용한다.
비디오 프로그램은 모든 셋톱 박스에 방송되지만, 이들 셋톱 박스의 서브세트만이 특정 비디오 프로그램에 대한 액세스가 허용된다. 예를 들어, 비록 모든 셋톱 박스가 페이 퍼 뷰(pay per view) 방식의 복싱 시합에 대한 부호화된 데이터 스트림을 수신할 수 있을지라도 그 시합을 주문한 셋톱 박스만이 해당 비디오 프로그램을 보도록 허용된다. 사용자가 일단 페이 퍼 뷰 프로그램을 주문하면, 권한 메시지가 모든 셋톱 박스에 부호화 형태로 방송된다. 권한 메시지가 의도하고 있는 특정의 셋톱 박스만이 그 프로그램을 해독할 수 있다. 해독된 권한 메시지 내에는 페이 퍼 뷰 프로그램을 해독하는 키가 포함되어 있다. 셋톱 박스는 이 키를 이용하여 페이 퍼 뷰 프로그램을 마치 실시간으로 수신되는 것처럼 해독한다. 일부 시스템에서는 권한 메시지를 서명하도록 되어 있다.
최근에 들어서는 수시간의 비디오를 저장하는 것이 가능하게 되었다. 각각의 비디오 프로그램은 압축 MPEG2 데이터 스트림으로써 셋톱 박스에 전송된다. 1시간의 비디오는 대략 1 GB(기가바이트)의 압축 데이터에 대응한다. 오늘날에는 멀티 기가바이트 저장 장치가 보편화되어 있으므로, 지금은 수시간 비디오의 저장이 가능하게 되었다. 이와는 대조적으로, 종래의 CA 시스템에서 가정하는 콘텐츠는 아주 짧고 저장이 불가능하다. 다시 말해서, 종래의 시스템들은 비디오 프로그램이 너무 커서 이 프로그램을 일정 시간동안 유지할 수 없다는 가정하에 설계되었다. 이 기술에 숙련된 사람이라면 알고 있는 바와 같이, CA 시스템에서 멀티 기가바이트의 비디오 프로그램을 저장하기 위한 능력을 갖기 위해서는 추가적인 보안 수단이 필요하다.
일부 시스템들은 콘텐츠를 디스플레이하기 위해 TV에 개인용 연산 기능을 통합시키고 있다. WebTVTM와 같은 제품들은 TV에 웹 브라우징 및 이메일(e-mail) 기능을 통합한다. 기타 시스템에서는 개인용 컴퓨터(PC)를 웹 브라우징 및 이메일 기능의 콘텐츠를 제공하는 인터넷 서비스 공급자(ISP)에 접속하고 있다. 이메일 프로그램과 같은 소프트웨어 프로그램은 작고 쉽게 저장되는 경향이 있다. 이 기술에 숙련된 사람이라면 이러한 PC가 적절한 보안성을 제공하지 못함으로 인하여 바이러스의 침입 및 해커의 공격을 받기 쉽다는 것을 알고 있을 것이다.
전술한 바와 같이, 종래의 CA 시스템은 비디오 스트림의 권한을 체크할 뿐이었다. 더 큰 저장 장치 및 더 작은 인터넷 관련 프로그램의 도래로 인하여, 콘텐츠의 저장이 가능하게 되고 사용자에게 무한 시간동안 존재하게 되었다. 이러한 콘텐츠의 제어를 유지하기 위하여 추가적인 보안 수단이 필요하게 되었다.
이 출원은 1999년 10월 8일에 출원된 미국 가출원 제60/158,491호, 1999년 11월 12일에 출원된 미국 가출원 제60/165,094호 및 1999년 12월 30일에 출원된 미국 가출원 제60/174,037호의 우선권을 주장한다.
본 발명은 액세스 시스템을 보호하는 것에 관한 것으로, 특히 정보를 보호하기 위한 시스템에 관한 것이다.
도 1은 콘텐츠 전달 시스템의 일실시예를 나타내는 블럭도.
도 2는 주변 환경에 인터페이스된 셋톱 박스의 실시예를 설명하는 블럭도.
도 3은 제1 보안 레벨의 객체를 분배하는 방법의 실시예를 나타내는 흐름도.
도 4는 제2 보안 레벨의 객체를 분배하는 방법의 실시예를 나타내는 흐름도.
도 5는 허가 메시지의 실시예를 묘사하는 블럭도.
도 6은 객체 메시지의 실시예를 나타내는 블럭도.
도 7은 허가 메시지 및 객체 메시지의 부분들을 포함하는 서명 그룹의 실시예를 나타내는 블럭도.
도 8은 제3 보안 레벨의 객체를 로딩하는 방법의 실시예를 묘사하는 흐름도.
도 9는 제4 보안 레벨의 객체를 로딩하는 방법의 실시예를 묘사하는 흐름도.
도 10은 제4 보안 레벨의 객체를 로딩하는 방법의 다른 실시예를 묘사하는 흐름도.
도 11은 연속 동작하는 제5 보안 레벨의 객체들을 체크하는 방법의 실시예를 나타내는 흐름도.
도 12는 제6 보안 레벨의 객체의 자유 프리뷰를 허용하는 방법의 실시예를 설명하는 흐름도.
도 13은 제7 보안 레벨의 보안 체크를 모니터링하는 방법의 실시예를 나타내는 흐름도.
도 14는 제8 보안 레벨을 달성하기 위하여 실행 토큰을 사용하는 방법의 실시예를 묘사하는 흐름도.
도 15는 셋톱 박스 내의 다른 객체들간의 관계를 나타내는 블럭도.
본 발명에 따르면, 객체 및 자원 보안은 조건 액세스 시스템에서 제공된다. 인증(authentication) 및/또는 허가(authorization) 체크는 객체 및 자원의 보안성을 확실히 하기 위하여 다수의 체크포인트에서 수행된다. 객체 또는 자원의 목적이 명백하게 될 때 뿐만 아니라 객체 또는 자원을 취급하고 있는 동안의 다른 시간에 체크포인트들에 대한 체크가 개시된다.
특정의 실시예에서는 정보를 보호하는 과정이 설명되고 있다. 정보를 수신한 후 그 정보는 최초로 인증된다. 정보는 또한 허가되고 저장된다. 어느 지점에서 상기 정보는 두번째로 인증된다.
다른 실시예에서는 메모리, 네트워크 포트 및 다수의 체크포인트를 포함한 콘텐츠 전달 시스템이 설명된다. 콘텐츠는 네트워크 포트에서 수신되어 메모리에저장된다. 콘텐츠의 각 피스마다 적어도 2개의 체크 포인트를 갖는다.
또다른 실시예에서는 정보를 인증하고 허가하는 방법이 설명된다. 정보 수신 후 그 정보는 인증 및 허가된다. 상기 방법에서는 인증 또는 허가를 다시 한번 체크하는 과정이 포함되어 있다.
또다른 실시예에서는 조건 액세스 셋톱 박스에 공급된 콘텐츠를 인증하고 허가하는 방법이 설명된다. 콘텐츠는 조건 액세스 셋톱 박스에서 수신된다. 상기 콘텐츠는 조건 액세스 셋톱 박스 내에서 최초로 인증된다. 상기 콘텐츠가 셋톱 박스 내에서 액세스될 때, 상기 콘텐츠는 두번째로 인증된다.
본 발명은 첨부 도면과 관련한 이하의 상세한 설명으로부터 더욱 잘 이해할 수 있을 것이다.
본 발명은 정보의 수명이 종료될 때까지 텔레비젼 셋톱 박스에서 그 정보를 인증하고 허가하는 것과 관련이 있다. 기억 매체의 사이즈가 증가하고 새로운 형태의 콘텐츠의 사이즈가 감소함에 따라 정보의 자원을 인증하고 그 정보의 사용을 허가하는 새로운 보안 수단이 필요하게 되었다.
도면에 있어서, 유사한 부품 및/또는 기능은 동일한 참조 부호를 부여하였다. 또한, 동일한 각종 부품들은 대쉬에 의한 참조 부호 및 유사 부품들 사이를 구분하는 제2 부호를 붙여서 구별하였다. 이 명세서에서 제1 참조 부호만을 사용하여설명하더라도, 그 설명은 제2 부호를 갖는 다수의 유사한 부품들 중 어느 하나에 적용하는 것이 가능하다.
먼저, 도 1을 참조하면, 콘텐츠 전달 시스템(100)의 일실시예의 블럭도가 도시되어 있다. 콘텐츠 전달 시스템(100)은 만족되는 특정 조건에 기초하여 다수의 사용자에게 콘텐츠를 선택적으로 제공한다. 도 1의 콘텐츠 전달 시스템(100)은 헤드엔드(104), 복수의 셋톱 박스(108), 로컬 프로그래밍 수신기(112), 위성 접시(116) 및 인터넷(120)을 포함하고 있다.
헤드엔드(104)는 콘텐츠를 수신하여 그 콘텐츠를 사용자들에게 분배한다. 상기 콘텐츠는 비디오, 오디오, 대화식 비디오, 소프트웨어, 펌웨어 및/또는 데이터를 포함한다. 상기 콘텐츠는 위성 접시(116), 로컬 프로그래밍 수신기(112), 마이크로파 수신기, 패킷 교환 네트워크, 인터넷(120) 등을 포함한 각종 소스로부터 수신된다. 각각의 셋톱 박스(108)는 개개의 셋톱 박스(108)에 권한 정보를 송신할 수 있게 하는 특유의 어드레스를 갖고 있다. 이와 같은 방법으로, 하나의 셋톱 박스(108-1)에는 어떤 특정의 콘텐츠에 대하여 권한이 주어지지만 다른 셋톱 박스(108-2)에는 권한이 주어지지 않는다. 헤드엔드(104) 내의 설비는 어떤 셋톱 박스(108)가 소정의 콘텐츠에 대해 권한이 주어져 있는가를 규정한다.
콘텐츠는 일반적으로 다수의 콘텐츠 스트림을 포함하는 아날로그 반송파 채널을 통해 디지털 형태로 분배된다. 모든 콘텐츠 스트림은 함께 다중화되어 디지털 스트림이 되고, 이 디지털 스트림은 아날로그 반송파 채널에서 변조된다. 별도의 콘텐츠 스트림은 패킷 식별(PID) 정보에 의해 분리되어 개개의 콘텐츠 스트림이 그들 특유의 PID 정보에 따라 제거될 수 있다. 이 실시예의 콘텐츠 전달 시스템(100)에서는 약 120 개의 아날로그 반송파 채널이 있게 된다. 다른 실시예에서는 콘텐츠를 위성 접시 안테나, 마이크로웨이브 안테나, RF 송신기, 패킷 교환 네트워크, 셀룰러 데이터 모뎀, 반송파 전류, 전화선, 또는 인터넷으로 분배하고 있다.
도 2와 관련해서, 도 2에는 디스플레이 시스템(200)의 일실시예가 블럭도로 도시되고 있다. 이 실시예에서는 각종 보안 레벨을 통해 다중 레벨의 객체 및 자원 보안을 제공하고 있다. 디스플레이 시스템(200)내에는 셋톱 박스(108), 네트워크(208), 프린터(212), TV 디스플레이(216) 및 무선 입력 장치(218)가 포함되어 있다. 이러한 항목들은 유저가 콘텐츠 제공자로부터 제공된 콘텐츠를 즐길 수 있는 방식으로 협동한다. 그 콘텐츠는 비디오, 오디오, 소프트웨어, 펌웨어, 대화형 TV, 데이터, 또는 정보일 수 있다. 이 실시예에서, 콘텐츠 제공자는 케이블 TV 사업자이다.
네트워크(208)는 셋톱 박스(108)와 케이블 TV 사업자의 헤드엔드(104) 사이에서 정보 운반 통로로서 기능한다. 이 실시예에서, 네트워크는 120 개의 아날로그 채널과 양방향 제어 데이터 채널을 갖고 있다. 일반적으로, 아날로그 채널은 콘텐츠를 전달하며, 제어 데이터 채널은 제어 및 권한 정보를 전달하고 있다. 각 아날로그 반송파 채널은 하나의 데이터열로 다중화되는 복수의 디지털 채널을 구비하고 있으며, 디지털 채널은 패킷 식별기(PID)에 의해 구별된다. 양방향 제어 채널은 하나의 주파수에서 셋톱 박스(108)로 데이터를 방송하고 또 다른 주파수에서 셋톱 박스(108)로부터 데이터를 수신하는 대역외 채널을 가진다. 종래 기술에서 잘 알려진축적 전송 방법을 이용하여 피크 사용 시간대 중에 복귀 데이터는 과부하를 감소시키기 위해 대기열로 있을 수 있다. 다른 실시예에서는 제어 정보 및 콘텐츠용의 케이블 모뎀 또는 디지털 가입자 회선(DSL)을 이용할 수 있으며, 콘텐츠는 패킷 교환 데이터로서 포맷된다.
프린터(122)는 일부 유저가 구입하여 디스플레이 시스템(200)에 부가할 수 있는 옵션 부속 장치이다. 개인용 컴퓨터 작업을 위해 셋톱 박스(108)를 이용하는 경우, 프린터(212)는 e 메일, 웹페이지, 과금 정보 등을 인쇄할 수 있다. 이후 보다 상세히 설명하는 바와 같이, 프린터와 같은 주변 장치를 사용하기 위한 기능은 허가 체크에 의해서 조절된다. 이러한 조절 기능을 이용하므로서 셋톱 박스(108)와 호환 가능한 프린터(212)는 적절한 허가를 부여받지 못하면 동작 불가능하다.
TV 디스플레이(216)는 콘텐츠에 대응하는 오디오 및/또는 비디오를 유저에게 제공한다. TV 디스플레이(216)는 통상 채널 3, 채널 4 또는 복합 채널에 대응하는 반송파 상에서 변조된 아날로그 비디오 신호를 수신한다. 셋톱 박스(108)는 예컨대 적당한 채널로 변조된 NTSC 신호를 발생한다. 다른 실시예에서는 TV 디스플레이(216) 대신에 비디오 모니터 또는 디지털 디스플레이를 사용한다. 디지털 디스플레이를 사용함으로써 셋톱 박스(108)에 의한 아날로그 변환의 필요성이 경감되는데, 이는 액정 표시 장치와 같은 디지털 디스플레이가 표시 화상을 형성하기 위해 디지털 정보를 이용하기 때문이다.
무선 입력 장치(218)는 유저와 셋톱 박스(108) 사이의 대화를 가능하게 한다. 이 무선 입력 장치(218)는 리모콘, 마우스, 키보드, 게임 제어기, 펜타블렛 또는 다른 입력 기구일 수 있다. 무선 입력 장치(218)상의 적외선 송수신기는 무선 통신을 가능하게 하기 위해 셋톱 박스(108)상의 유사한 송수신기와 통신한다. 다른 실시예에 있어서, RF 링크 또는 무선 링크가 적외선 송수신기 대신에 사용 가능하다.
셋톱 박스(108)는 객체 및 자원의 인증과 허가를 수행하는 구성부이다. 객체는 소프트웨어, 드라이버, 펌웨어, 데이터, 비디오 또는 오디오 등의 디지털 정보의 임의의 집합체이다. 자원이란 또 다른 객체 또는 물리적 장치 등을 의도하는대로 동작하도록 객체가 필요로 하는 것을 일컫는다. 셋톱 박스(108)내에는 제어기(220), 메모리(228), 프린터 포트(232), 네트워크 포트(236), 액세스 제어 프로세서(240), 디스플레이 인터페이스(244) 및 적외선(IR) 포트(248)가 포함되어 있다. 이 블록들은 버스(132)를 통해 서로 통신하며 각 블록은 버스(132) 상에서 각 블록을 고유하게 식별하기 위한 상이한 어드레스를 가지고 있다.
제어기(220)는 보안 운영 체제를 이용하여 셋톱 박스(108)의 동작을 관리한다. 디지털 객체 암호 해독 및 압축 해제와 같은 기능과 유저의 TV 채널을 전환하여 유저에게 메뉴를 제시하는 기능이 제어기(220)에서 행해진다. 제어기에는 프로세서, 암호화 엔진, 국부 메모리 및 컴퓨팅 시스템에서 공통인 다른 항목이 포함되어 있다.
일실시예에서, 제어기(220)는 또한 키보호 또는 암호 처리를 위해 겸임 보안 마이크로프로세서를 포함할 수 있다. 이것은 높은 보안 레벨을 원하는 일부 시스템에서는 적절할 수 있다.
셋톱 박스(108)는 메모리(228)의 블록을 포함한다. 메모리(228)는 RAM, ROM, 플래시, 다른 유형의 휘발성 및 불휘발성 메모리를 포함하고 있는 고체 메모리이다. 객체 및 자원들이 나중 실행을 위해 메모리에 저장된다. 실행 중에 프로그램이 메모리(228) 내에 적재되어 실행되고 스크래치 패드 공간을 위해 메모리(228)를 사용하고 있다. 키, 일련 번호 및 허가는 비휘발성 플래시 메모리에 저장 가능하다.
이 실시예는 옵션 프린터(212)에 인터페이스하기 위한 프린터 포트(232)를 포함하고 있다. 프린터 포트(232) 자원은 허가받지 못하면 프로그램을 사용 할 수 없다. 이후 설명하는 바와 같이, 각 객체는 프린터 포트(232)와 같은 유저 자원을 사용하기 위한 권한을 부여 받아야 한다. 프린터 포트(232)에서 프린터(212)로 데이터가 유선 또는 무선 전송 기구를 통해 직렬 또는 병렬로 전송된다.
일반적으로 말하자면, 체크포인트는 객체의 인증 및/또는 허가 상태가 확인되는 경우를 처리하는 단계 또는 시간점이다. 인쇄 요청시 체크포인트가 발생되게 된다. 체크포인트는 인쇄를 요청하는 객체를 허가 및 인증한다. 체크포인트란 인증 및/또는 허가가 또 다른 객체(예컨대, 운영 체제가 실행 중인 응용 프로그램의 인증과 허가를 검사함)에서 실행되는 하나의 객체내에 놓여지는 장소를 일컫는다. 이상적으로, 객체의 목적이 명백할 때 체크포인트가 수행된다. 프린터 포트(232)의 경우, 그 목적은 어떤 것을 인쇄하기 위해 사용될 때 분명하게 된다. 따라서, 어떤 것이 인쇄될 때 프린터 포트(232) 자원을 이용하여 객체를 체크하기 위해 체크포인트가 트리거된다. 통상, 인쇄를 위한 체크포인트는 운영 체제 내에 있게 될 것이다.
네트워크 포트(236)에 의해 셋톱 박스(108)와 헤드엔드(104) 사이의 양방향 통신이 가능하다. 네트워크 포트(236) 내에는 아날로그 반송파 채널로 튜닝하는 튜너와 콘텐츠의 일방향 전달을 가능하게 하도록 MPEG 데이터열을 복조하는 복조기가 포함되어 있다. 또한, 네트워크 포트(236) 내에슨 제어 데이터 정보 및/또는 콘텐츠의 양방향 통신을 가능하게 하는 제어 데이터 송수신기 또는 케이블 모뎀을 포함하고 있다. 제어 데이터 경로의 부하를 보다 균일하게 헤드엔드(104)에 분배하기 위해 축적 전송 방법이 사용 가능하다.
TV 디스플레이(216)와 호환 가능한 아날로그 신호상에서 디지털 비디오 신호의 변조는 디스플레이 인터페이스(244)에 의해서 수행된다. 전술한 바와 같이, TV 디스플레이(216)는 일반적으로 채널 3, 채널 4 또는 복합 채널에서 변조된 신호들을 수신한다. LCD 디스플레이와 같은 디지털 입력을 수신하는 디스플레이에 있어서, 디스플레이 인터페이스(244)는 디지털 입력이 요구하는 포맷팅을 수행한다.
적외선(IR) 포트(248)는 무선 입력 장치(218)와 양방향으로 통신한다. IR 포트(248) 내에는 입력 장치(218)에 무선 통신 경로를 제공하는 IR 송수신기가 포함되어 있다. IR 포트(248) 내의 다른 전자 부품은 송수신기가 수신한 아날로그 신호를 대응 디지털 신호로 변환하여 대응 디지털 신호에서 송수신기로 송신된 아날로그 신호를 변환한다. 제어기(220)는 유저가 셋톱 박스(108) 내에서 일부 기능을 제어할 수 있도록 디지털 신호를 처리한다.
액세스 제어 프로세서(ACP)(240)는 셋톱 박스(108) 내의 보안 기능을 통제한다. 예컨대, ACP(240)는 이하의 설명에 의해 명확히 이해할 수 있는 바와 같이 제어기(220)와 무관하게 또는 제어기(220)의 지시하에 인증 및 허가를 수행한다. 그 작업을 수행하기 위해 ACP(240)는 제어기(220)와 무관하게 소프트웨어를 실행하도록 협동하는 프로세서, RAM, ROM을 구비하고 있다. ACP(240)는 또한 콘텐츠를 복호하여 전자 서명을 계산하기 위한 해시(hash) 함수와 복호화 엔진을 포함하고 있다. 일부 실시예에서 보안 검사를 수행하도록 ACP(240)를 트리거하는 제어기(220)에서 실행되는 소프트웨어 내에 체크포인트가 내장되어 있다.
ACP(240)는 또한 운영 체제의 적절한 기능 수행이 보장되도록 운영 체제를 쉐도잉할 수 있다. 객체의 인가를 주시함으로써 ACP(240)는 어느 응용 객체가 실행 중인지를 모니터할 수 있다. 필요하다면, ACP(24)는 체크포인트가 에러를 검출하거나 혹은 인증이 만료되면 실행 응용 프로그램을 제거할 수 있다. 또한, ACP(240)는 메모리(228)를 모니터하여 메모리(228)에 있을 수 있는 허가받지 않은 임의의 응용 프로그램을 검출할 수 있다. 또한 스크래치패드 메모리 크기가 모니터되어 스크래치패드 메모리에 은닉된 응용 프로그램을 검출할 수 있다. 또한, ACP(240)는 인증 및/또는 허가를 확인하기 위해 메모리 내 객체에서 체크포인트를 랜덤하게 실행할 수 있다. ACP(240)가 직면한 문제점은 운영 체제 또는 헤드엔드(104)로 보고된다. 이러한 방식으로, ACP(240)는 비정상의 동작이 검출되어 보고되도록 셋톱 박스(108) 내에서 소프트웨어 보안 장치로서 기능한다.
셋톱 박스(108)에서 필요한 보안과 원하는 특징에 따라서, 상이한 레벨의 보안이 콘텐츠 전달 시스템(100)에서 활성화된다. 제1 레벨의 보안에서 객체는 암호화 형태로 네트워크(208)를 통해 셋톱 박스(108)로 전송된다. 복호화 키를 포함하는 권한 메시지는 셋톱 박스(108)로 전송된다. 복호화키와 함께 셋톱 박스(108)는 객체를 복호화하여 사용한다.
도 3과 관련하여, 도 3은 제1 보안 레벨의 객체를 분배하기 위한 방법의 일실시예의 흐름도이다. 이 방법은 단계(304)에서 시작하며, 권한 메시지는 헤드엔드(104)에서 형식화된다. 권한 메시지에는 관련 객체를 복호화할 수 있는 키가 포함되어 있다. 단계(308)에서, 권한 메시지 및 객체는 네트워크(208)를 거쳐 셋톱 박스(108)로 전송된다. 권한 메시지 및 객체를 수신한 후, 단계(316)에서 이들을 함께 상관시킨다. 키는 권한 메시지에서 추출되어 이를 사용하여 단계(320, 324, 328)에서 메모리(228)에 기입되기 전에 객체를 복호화한다. 이러한 방법은 암호를 이용함으로써 객체의 인증 및 허가를 제공한다.
도 4와 관련하여, 도 4는 제2 보안 레벨의 객체를 분배하기 위한 방법의 일실시예의 흐름도이다. 제2 보안 레벨에서 다운로드시 객체를 인증하기 위해 전자 서명이 사용되고 있다. 즉, 제2 보안 레벨에서는 다운로드시 객체에 체크포인트를 부과하고 있다. 서명은 단계(404)에서 헤드엔드(104)에 있는 객체 메시지와 허가 메시지 부분을 포함하는 서명 그룹을 통해 생성된다. 허가 메시지는 객체 메시지와 관련된 메타 데이터이며, 객체 메시지는 셋톱 박스(108)를 위한 객체를 포함하고 있다.
단계(408)에서, 허가 메시지 내의 전자 서명과 객체 네트워크(208)를 통해 별개로 셋톱 박스(108)로 전송된다. 비대칭 서명(예, RSA, DSA 또는 ECC를 근간으로하는)의 사용이 바람직하나, 대칭 서명(예, DES 또는 삼중 DES)도 사용 가능하다. 서명과 객체의 수신시 및 객체를 저장하기 전에, 단계(420, 424)에서 서명이 ACP(240)에 의해 계산 및 체크된다. 계산되어 수신된 서명이 일치하면, 단계(428)에서 객체가 저장된다. 이와는 달리 계산되고 수신된 서명이 일치하지 않으면 단계(432)에서 객체는 버려지고, 처리 루프는 단계(412)로 되돌아가서 객체의 다른 복사를 대기한다.
도 5 내지 도 7과 관련해서, 허가 메시지(500), 객체 메시지(600), 서명 그룹(700)이 블럭도 형태로 도시되고 있다. 도 5의 허가 메시지(500)내에는 허가 헤더(504), 허가 데이터 구조(508), 전자 서명(512), 제1 체크섬(516)이 포함되어 있다. 허가 메시지(500)는 객체 메시지(600)를 인증하여 허가하기 위해 사용되는 정보를 갖고 있다. 도 6의 객체 메시지를 형성하는 것은 객체 헤더(604), 객체(608) 및 제2 체크섬(612)이다. 객체 메시지(600)는 객체(608)에 대한 전송으로서 기능한다. 서명 그룹(700)은 앤드 투 앤드 배열된 객체 메시지(600)와 허가 메시지(500)의 구성을 포함하고 있다. 보다 상세히 말하자면, 도 7의 서명 그룹(700)은 허가 헤더(504), 허가 데이터 구조(508), 객체 헤더(604) 및 객체(608)를 포함하고 있다.
허가 헤더(504)는 허가 메시지(500)의 구성을 나타낸다. 헤더(504) 내에는 서브타입 식별자와 메시지 버전이 포함된다. 서브타입 식별자는 각종 타입의 허가 메시지를 서로 구별한다. 이 실시예에 있어서, 객체 및 자원에 대응하는 허가 메시지 서브타입이 존재한다. 객체 서브타입은 대응하는 객체 메시지(600)를 가지고 있지만, 자원 서브타입은 대응하는 자원 메시지를 갖지 않는다. 따라서, 서브타입 식별자는 허가 메시지(500)와 관련된 객체 메시지(600)가 존재하는지를 결정하는데 사용된다. 주어진 시스템에 대해서 여러 유형의 객체 서브타입 및 자원 서브타입이 존재할 수 있고, 메시지 버전은 다양한 유형을 식별할 수 있도록 한다.
허가 데이터 구조(508)는 허가 정보를 셋톱 박스(108)에 제공한다. 객체에 대응하는 인증 메시지 서브타입의 경우에 있어서, 상기 허가 데이터 구조(508)는 객체 식별자, 소프트웨어 버전, 가격 정보, 권한 정보, 수명 정보 및 하나 이상의 프로그램 줄(tier)을 포함한다. 상기 객체 식별자는 각 객체(608)에 대해 유일하며, 허가 메시지(500)를 이 허가 메시지에 대응하는 객체 메시지(600)로 귀착시킬 수 있다. 버전 정보는 데이터 구조(508)에 포함되어 객체(608)의 버전을 나타낼 수 있다.
허가 데이터 구조(508)의 부분들은 객체(608)의 상기 셋톱 박스(108)로의 유용성을 결정하는데 사용된다. 상기 가격 정보는 상기 객체(608)와 관련된 가격을 셋톱 박스(108)에 나타내고, 어떤 때에는 사용자에게 나타낸다. 권한 정보는 특정 셋톱 박스(108)가 객체를 수용하도록 허가되었는지를 결정하는데 사용된다. 권한 정보는 객체(608)가 대칭키로 암호화된 경우 키를 포함할 수 있다. 상기 셋톱 박스(108)가 객체에 대해 허가되지 않았다면, 객체가 수신된 경우 대응하는 객체(608)를 처리할 필요가 없다. 수명 정보는 일정한 날짜 또는 시간 이후의 사용을 방지하기 위해 객체(608)의 허가를 만료시킬 수 있다. 프로그래밍 줄은 객체(608)의 허가를 미리 규정된 줄까지 제한하기 위해 사용되어 셋톱 박스(108)는 사전 결정된 줄 내에 있는 객체(608)에 대해서만 액세스할 수 있다.
서명(512)은 허가 메시지(500) 및 대응하는 객체 메시지(600)의 양쪽 모두의 부분이 인증된 것을 검증하는데 사용된다. SHA-1 또는 MD5와 같은 해시(hash) 함수는 전체 서명자 그룹에 걸쳐 실행되고, 그 이후 결과는 RSA와 같은 서명 알고리즘을 통하여 실행되어 서명을 생성한다. 대안으로서 단순한 CRC 알고리즘이 해시 함수를 위해 사용될 수 있고, 그 이후, 결과는 3중 DES 및 DES 등과 같은 암호화 알고리즘을 통해서 보내져서 서명을 생성할 수 있다. 허가 메시지(500)를 번역할 때, 헤드엔드(104)는 서명(512)을 허가 메시지(500) 내로 삽입하기 전에 전체 서명자 그룹(700)에 걸쳐 서명(512)을 계산한다. 상기 셋톱 박스(108)는 허가 메시지(500) 및 객체 메시지(600)의 양자 모두의 수신에 따라서 서명자 그룹(700)의 서명을 계산한다. 일단 서명이 계산되면, 계산된 서명은 수신된 서명에 대해서 점검되어 허가 메시지(500) 및 객체 메시지(600)의 양자 모두의 부분을 인증할 수 있다. 서명이 일치하지 않는 경우, 상기 셋톱 박스(108)는 상기 서명이 부정한 공급원으로부터 입력된 것이기 때문에 상기 객체 메시지(600)를 버린다.
제1 및 제2 체크섬(516, 612)은 선형 또는 비선형 알고리즘으로 계산된다. 이들 체크섬(516, 612)은 데이터의 오류 보전이 네트워트(208)에 걸쳐 셋톱 박스(108)로 전송됨에 따라 데이터의 오류 보전을 검증한다. 예컨대, 상기 체크섬은 주기적 리던던시 체크(CRC)일 수 있다. 메시지 스풀러(208)는 메시지(500)가 보내지고 있고 체크섬(516)을 메시지(500)의 끝에 첨부함에 따라 체크섬(516)을 계산한다. 반대로, 셋톱 박스(108)는 메시지(500)가 수신되고 수신된 메시지(500) 내의 체크섬(516)에 대해서 계산된 체크섬을 점검함에 따라 체크섬을 계산한다. 계산된체크섬과 수신된 체크섬이 일치하지 않는 경우, 전송에 있어서 오류가 발생된다. 오류가 있는 메시지(500, 600)는 버려지고 그 후에 헤드엔드(104)는 재배치 메시지(500, 600)를 보낼 수 있다.
객체 헤더(604)는 객체 메시지(600)에 대한 속성을 포함한다. 객체 헤더(604)에 포함된 것은 헤더 길이, 객체 길이, 객체 식별자, 소프트웨어 버전 및 도메인 식별자이다. 상기 헤더 길이 및 객체 길이는 각각 객체 헤더(604)의 길이 및 객체(608)의 길이를 나타낸다. 전술한 바와 같이, 객체 식별자는 허가 메시지(500)를 객체 메시지(600)로 귀착시킬 수 있는 유일한 코드를 제공한다. 상기 소프트웨어 버전은 객체의 버전을 나타낸다. 상이한 케이블 TV 공급자는 도메인 식별자를 할당받아, 객체(608)를 수신할 수 있는 모든 셋톱 박스(108)는 그들 도메인과 관련된 객체(608)들에 대해서 화면에 나타낼 수 있다.
상기 객체(608)는 시스템(100)이 셋톱 박스(108)에 전달하도록 설계된 콘텐츠를 포함한다. 실행 가능한 프로그램, 펌웨어 업그레이드, 실행 시간 프로그램[예컨대, 자바(Java-등록상표) 또는 액티브엑스(ActiveX-등록상표)], 프로그래밍 스케줄, 과금 정보, 비디오, 오디오, 또는 데이터 등과 같은 여러 유형의 정보가 객체에 수용될 수 있다. 상기 객체(608)는 인증 및 허가후 또는 나중에 즉시 사용될 수 있다. 또한, 허가는 일정한 시간 후에 만료되도록 프로그램될 수 있다.
특히, 도 7을 참조하면, 서명자 그룹(700)이 도시되어 있다. 이 서명자 그룹(700)은 허가 메시지(500) 및 객체 메시지(600)의 양자 모두의 부분으로 구성될 수 있다. 상기 서명(512)을 계산하는데 사용되는 모든 데이터는 서명자그룹(700)에 포함된다. 상기 서명은 허가 메시지(500) 및 객체 메시지(600)의 양자 모두로부터의 성분을 요구하기 때문에, 실패한 서명 점검은 허가 메시지(500) 및 소프트웨어 메시지(600) 중의 하나가 신뢰할 수 있는 공급원으로부터 유도되는 것으로 검증될 수 없다는 것을 나타낸다. 신뢰할 수 있는 공급원은 서명(512)을 생성한 케이블 TV 공급자이다.
다음에, 도 8을 참조하면, 제3 보안 레벨 내의 객체를 로딩하기 위한 방법의 실시예가 도시되고 있다. 이 실시예는 개시 전에 객체를 인증하여 네트워크 운영자에 의한 승인이 확인되도록 한다. 제1 단계 804에 있어서, 제어기(220)는 허가 메시지(500) 및 객체 메시지(600)를 메모리(228)로부터 판독한다. 상기 객체 메시지(600)는 단계 808에서 ACP(240) 내로 로딩되고, 허가 메시지(500)는 단게 812에서 로딩된다.
일단 객체 메시지(600) 및 허가 메시지(500)가 로딩되면, 서명자 그룹(700)의 모든 구성 요소는 ACP(240)에 이용 가능하게 된다. 단계 816에서 ACP(240)는 서명자 그룹(700)에 걸쳐 서명을 계산한다. 상기 ACP(240)는 상기 허가 메시지(500) 내의 서명(512)이 계산된 서명과 일치하는지의 여부에 따라 단계 824에서 결정을 한다. 일치하는 경우, 객체(608)는 허가되고 객체(608)는 OS에 의해 메모리(228) 내로 로딩되고, 실행이 허용된다.
대안으로서, 상기 ACP(240)는 서명이 일치하지 않는 경우, 객체(608)를 버리고 OS에 오류를 통지한다. 서명(512)의 불일치는 저장중에 변형, 객체(608)를 바꾸는 침해자 또는 객체(608)를 변조시키는 바이러스가 초래될 수 있다.
도 9를 참조하면, 제4 보안 레벨의 객체를 로딩하기 위한 방법의 실시예의 흐름도가 도시되고 있다. 이 실시예는 객체(608)를 보내기에 앞서 허가를 위해 점검한다. 전술한 하나의 보안 레벨과 유사한 이 실시예는 허가 검증을 달성하기 위해 암호화를 사용한다. 제1 단계인 904에 있어서, 객체 메시지(600)는 메모리(228)에 암호화된 형태로 기록된다. 일부 실시예에 있어서, 객체 메시지(600)는 암호화된 형태로 네트워크(208)로부터 수신되어 부가적인 암호화 단계가 불필요하가 된다.
객체(608)의 로딩이 요구되는 경우, 허가 메시지(500) 및 객체 메시지(600)는 단계 908에서 메모리(228)로부터 검색된다. 상기 허가 메시지(500)는 상기 객체 메시지(600)를 해독하는 데 필요한 키를 포함한다. 상기 키 및 객체 메시지(600)는 단계 912에서 ACP 내로 로딩된다. 객체(608)는 단계 916에서 해독된다. 해독을 위해 사용된 키가 객체(608)에 대해 허가된 것 중의 하나가 아닌 경우, 해독 과정은 실패하게 될 것이며 결과적으로 제품은 해독될 수 없을 것이다. 다른 실시예로서, 상기 키가 단계 920에서 정확하다면 상기 평문 객체는 실행을 위해 OS로 복귀된다.
다음에, 도 10을 참조하면, 제4 보안 레벨의 객체를 로딩하기 위한 방법의 다른 실시예의 흐름도가 예시되고 있다. 이 실시예에 있어서, 객체(608)를 확인하기 위해 점검된 허가 메시지(500) 내의 자격 부여는 로딩에 앞서 허가된다. 단계 1004에서 허가 메시지(500)는 메모리(228)로부터 판독된다. 다음에, 단계 1008에서 제어기(220)는 허가 메시지(500)를 ACP(240) 내로 로딩한다.
일단 상기 ACP(240)가 허가 메시지(500)를 수신하면, 단계 1012에서 허가 메시지(500) 내의 권한 정보가 점검된다. 권한 정보를 점검함으로써 객체(608)가 허가되었는지에 대해서 단계 1016에서 결정한다. 객체(608)가 허가되었다면 객체는 상기 OS에 의해 메모리 내로 로딩되고 실행된다. 이와 달리, 상기 OS는 실패한 허가 시도를 통지 받을 수 있고, 객체(608)를 사용하기 위한 권한이 없는 경우, 단계 1024에서 객체(608)를 폐기할 수 있다.
비록 위에서 설명하지는 않았지만, 제4 허가 레벨은 통상적으로 제3 허가 레벨과 동시에 그리고 객체(608)가 로딩되기 전에 실행된다. 허가는 더 빠른 과정이기 때문에 허가는 인증에 앞서 실행된다. 인증 및 허가의 실행 후, 상태는 상기 OS가 "허가되지 않음", "허가되었지만 인증되지 않음", 또는 "허가 및 인증 되었음"으로 복귀된다.
도 11을 참조하면, 연속 동작하는 제5 보안 레벨의 객체들을 체크하는 방법의 실시예의 흐름도가 도시되고 있다. 인식할 수 있는 바와 같이, 실행되고 있는 객체는 그 객체가 대체되거나 수정되지 않았음을 신뢰할 수 있도록 인증되어야만 한다. 또한, 주기적인 허가 검증은 일정 기간 동안 연속적으로 실행되었던 어플리케이션을 만료할 수 있도록 한다. 사전 결정된 주기가 사용되거나 예측할 수 없는 변경 주기가 또한 사용될 수 있다.
단계 1104에서 상기 처리 과정이 개시되며, 여기서 객체(608)는 메모리(228)로부터 판독된다. 객체(608)를 로딩하기 전에는 객체는 제1 서명을 가지고 있지만, 객체(608)를 메모리(228) 내로 로딩한 후에는 로딩된 객체의 서명은 상이하다. 이 기술 분야의 당업자라면 인식할 수 있는 바와 같이, 어드레스는 가상 어드레스 지정으로부터 물리적인 어드레스 지정으로 변환되어 서명이 변경된다. 따라서, 서명은 단계 1108에서 다시 계산되어 로딩된 객체를 나타내는 제2 서명을 생성한다. 상기 객체는 제2 서명이 변경되지 않는 방법으로 메모리(228)에 로딩되고 유지될 것이라는 것에 주목해야 한다. 예컨대, 로딩된 객체는 자체 수정 코드를 가질 수 없으므로 서명은 변화될 것이다.
OS는 주기적인 인증 및 허가를 트리거시키는 규칙적인 간격으로 스케줄링된 체크포인트를 갖고 있다. 단계(1112)에서, 이 방법은 다음의 스케줄링된 체크포인트를 대기하고 있다. 일반적으로, 이러한 스케줄링된 체크포인트는 적어도 매주 또는 매달 발생된다. 케이블 TV 서비스는 매달 요금이 지불되기 때문에, 요금 부과 주기 후 인가되지 않은 연속적으로 실행되는 어플리케이션에 대한 검사가 바람직하다. 허가 메시지(500), 로딩된 객체 및 제2 서명을 ACP(240)에 로딩함으로써, 인증 및 허가는 단계(1116)에서 수행된다.
단계(1116)에서 수행된 인증 및 허가가 성공적으로 수행되었는지에 관한 판정이 단계(1120)에서 수행된다. 만약 성공적이었다면, 이 방법은 이 방법이 다음의 체크포인트를 대기하고 있는 단계(1112)로 되돌아간다. 이와 달리, 객체는 허가 또는 인증 검사가 실패한다면 메모리(228)로부터 제거되어 폐기된다. 바람직하게도, ACP(240)는 스케줄링된 체크포인트를 판정하기 위한 타임 소스이다. ACP(240)는 허가의 소멸을 피하기 위해 클록을 다시 설정하는 공격을 당하기 쉽지 않다. 또한, ACP(240)는 시간을 변경시킬 수 있는 어플리케이션 소프트웨어를 실행시키지 않고 시간을 변경시킬 수 있는 명령을 보호할 필요가 있다. 명령 보호는 임의의 시간 변경의 신뢰도를 보증하도록 암호화 및 서명을 이용할 수 있다.
다음에, 도 12를 다시 참조하면, 제6 보안 레벨의 객체의 자유 프리뷰를 허용하는 방법에 대한 실시예의 흐름도가 도시되어 있다. 종래에 잘 공지되어 있는 바와 같이, 사용자들은 아마도 소프트웨어를 구입하기 전에 소프트웨어를 시험해보기를 원한다. 따라서, 제6 보안 레벨은 구입이 요청되기 전에 일정한 시간 동안 소프트웨어의 사용을 허용하고 있다.
이 방법은 객체(608)가 메모리(228)로부터 검색되는 단계(1204)에서 시작된다. 단계(1208)에서, 객체(608)는 실행이 개시된 후 메모리(228)로 로딩된다. 카운트다운 타이머는 시험 기간이 종료될 때 0으로 카우트다운되는 단게(1212)에서 개시된다. 카운트업 타이머도 또한 시험 기간의 종료를 판정할 수 있다는 것을 이해할 수 있을 것이다. 사용자는 시험 기간이 종료될 때까지 단계(1216)에서 객체(608)를 샘플링한다. 샘플링 기간의 종료는 카운트다운 타이머가 가장 낮은 경계점인 0에 도달할 때를 지정함으로써 단계(1220)에서 결정된다.
객체(608)를 구입할지에 관한 선택권이 단계(1224)에서 사용자에게 제공된다. 구입 화면이 구성되어 객체(608)의 구입을 촉진하기 위해 셋톱 박스(108)에 의해 사용자에게 제시된다. 구입이 선택되지 않을 경우, 단계(1232)에서 객체(608)는 메모리(228)로부터 제거되어 폐기된다. 이와 달리, 구입이 선택되는 경우에는 객체는 메모리에 남아있고 단계(1228)에서 구입을 반영하기 위해 권한 정보가 갱신된다. 다른 실시예에서 계속해서 실행할 수 있는 미비한 시험용 소프트웨어를 이용할 수 있지만, 이 시험용 소프트웨어에는 구입된 버전에 제공되어 있는 주요한 특징부가 빠져 있다. 사용자가 미비한 버전을 이용하고 싶어할 지라도, 사용자는 빠져있는 주요한 특징부를 얻기 위해 완전한 버전을 구입하고 싶어할 것이다.
도 13을 참조하면, 제7 보안 레벨 보안 체크를 모니터링하는 방법의 실시예가 흐름도 형태로 도시되어 있다. 이 실시예에서, ACP(240)는 체크포인트가 규칙적으로 회전하는 것을 이중으로 체크하기 위해 OS를 섀도우한다. 이 방법은 최후의 OS 체크포인트의 시간이 기록되는 단계(1304)에서 시작된다. 체크포인트는 OS 내의 소정의 장소이거나 또는 인증을 확인 및/또는 허가를 확인하는 다른 소프트웨어이다. ACP(240)는 일반적으로 인증 및 허가 프로세스를 수반하기 때문에, ACP(240)는 체크포인트의 실행을 추적할 수 있다. 단계(1308)에서, 카운트다운 타이머가 개시된다. 이러한 카운터는 또는 카운트다운되기 보다는 카운트업될 수 있다는 점을 다시 주시해야 할 것이다.
단계(1312)에서, 체크포인트가 ACP(240)에 의해 관측되는지에 관한 판정이 수행된다. 만약 체크포인트이 관측되면, 이 방법은 처음부터 다시 시작하기 위해 카운트다운 타이머가 재설정되는 단계(1304)로 되돌아간다. 이와 달리, 체크포인트가 관측되지 않는다면, 타이머의 체크가 단계(1316)에서 수행된다. 만약 카운터가 종료되지 않는다면, 체크포인트의 준수를 다시 시험하기 위해 단계(1312)로 되돌아간다. 타이머가 체크포인트에 도달하지 않고서 종료된다면, ACP(240)가 헤드엔드(104)로 에러를 다시 보고하는 단계(1320)로 프로세스가 계속된다.
상기 실시예가 단일 객체(608) 상의 체크포인트에 대한 시험을 설명하고 있을지라도, 체크포인트에 대한 시험이 전술한 방식으로 셋톱 박스(108) 내의 각각의객체(608)에 대해 발생될 수 있다는 것을 이해할 수 있을 것이다. 각각의 객체(608)의 실행시에 에러를 검출하기 위해 각각의 객체(608)에 대한 고객의 기준이 설계될 수 있다. 부가적으로, 신뢰할 수 있거나 또는 보호하기 위한 운영 체제는 통상적으로 정도를 벗어난 행위를 체크하기 위한 ACP(240)가 필요하지 않다는 점을 유의해야 한다. 해커, 침해자, 바이러스 및 메모리 에러를 좌절시키기 위하여, 운영 체제의 정상적인 기능에 대한 체크(즉, 규칙적인 체크포인트에 대한 체크)는 보안을 강화시킨다.
다음에, 도 14를 참조하면, 제8 보안 레벨을 달성하기 위하여 토큰을 사용하는 방법의 실시예에 대한 흐름도가 도시되어 있다. 이 실시예에서는 객체(608)의 인가를 검사하기 위해 암호문 토큰을 사용한다. 암호문 토큰은 정상적인 동작에 중요한 객체의 암호화된 부분이다. 암호문 토큰의 복호화로 적절한 실행을 가능하게 하는 객체(608)로 삽입되는 평문 토큰을 생성할 수 있다.
단계(1404)에서, 암호문 토큰을 생성하기 위해 객체의 일부를 암호화함으로써 방법이 시작된다. 암호문 토큰을 해독하기 위해 필요한 키가 ACP(204)에 저장되고 단계(1408)에서 객체(608)와 서로 관련된다. 삽입형 암호문 토큰을 갖는 객체는 구입을 기다리고 있는 단계(1412)에서 메모리(228)에 기록된다. 이 방법은 사용자가 객체(608)를 구입할 때까지 단계(1416)에서 대기하고 있다. 단계(1418)에서, 암호문 토큰은 객체로부터 제거되어 해독을 위해 ACP(240)로 전송된다. 그로 인한 평문 토큰이 OS로 복귀되고 객체(608)가 단계(1420, 1424)에서 기능할 수 있도록 객체(608)로 통합된다. 전체의 객체(608)라기 보다는 일부의 객체(608)만을 암호화함으로써, 해독 프로세스의 속도는 향상된다.
전술한 설명은 운영 체제 상의 어플리케이션 또는 객체(608)를 실행시키는 것에 관한 것이다. 이 개념은 JavaTM가상 머신(JVM) 상에서 실행되는 JavaTM어플리케이션에 동일하게 적용될 수 있다. 이론적으로 부가하기 위해, 상위 및 하위라는 개념이 도 15와 관련지어 설명된다. 상위 및 하위라는 개념은 객체(608)가 다른 객체에 대하여 체크포인트를 부과할 책임을 갖는다는 것을 규정한다. 다른 객체(608)와 자원과 함께 발생되는 정상적인 상호 작용중에 체크포인트가 객체(608) 상에 부과된다.
도 15를 참조하면, 셋톱 박스(108) 내의 일부의 객체(608)와 자원이 도시되어 있다. 도 15의 하부를 향하는 객체는 도 15의 상부 부근의 객체에 대해 상위이다. 즉, 도 15의 상부를 향햐는 객체는 도면의 하부를 향하는 객체에 대해 하위이다. 상위 객체는 체크포인트를 하위 객체에 부과할 책임이 있다. 예를 들어, 하드웨어(1504)는 BIOS(1508) 및 OS(1512) 등의 하위 계층에 대하여 체크포인트를 부과한다. BIOS(1508)는 체크포인트를 OS(1512)에 부과하지만, 하드웨어(1504)에는 부과하지 않는다. 동일 계층 내의 객체들은 객체들이 상호 작용할 때 동일한 계층내의 다른 객체에 대하여 체크포인트를 부과할 수 있다. 예를 들어, 어플리케이션(1516)은 드라이버(1518) 상의 체크포인트의 실행을 필요로 할 수 있다.
상위 객체는 ACP(240)와 연관지어 체크포인트의 실행을 개시하도록 설계되고, 하위 객체는 그들에게 부과된 체크포인트를 갖도록 설계된다. 예를 들어,BIOS(1508)는 부팅 과정, 실행 과정 및/또는 주기적으로 실행하는 동안에, OS(1512)에 대하여 체크포인트의 실행을 필요로 한다. 드라이버 객체(1518)는 정상적인 동작중에 설치되거나 또는 실행될 때 체크포인트의 대상이 된다. 데이터 파일 객체(1522)는 파일 내의 데이터가 액세스될 때마다 체크포인트의 대상이 된다. HTML 객체(1528)는 이 HTML 객체(1528)가 브라우저 어플리케이션(1516)에 의해 설명될 때마다 체크포인트의 일부로서 재고된다.
전술한 설명을 비추어 볼때, 본 발명에 따른 다수의 장점들을 명확히 이해할 수 있을 것이다. 허가 및/또는 인증을 체크하는 다수의 체크포인트를 가짐으로써 더욱 강화된 보안성을 제공할 수 있다. 이러한 부가된 보안성으로, 케이블 TV의 침해자는 객체를 훔치기가 더욱 곤란할 것이고, 바이러스가 눈치채지 못하도록 침투하기가 더욱 곤란하며, 해커들이 한층 더 노출되기가 쉬울 것이다.
본 발명의 많은 변경 및 수정이 이루어질 수 있다. 예를 들어, 상기 설명은 다수의 보안 레벨에 관하여 설명하고 있다. 이러한 레벨은 특정 시스템의 보안 목적을 달성하기 위해 서로 결합될 수 있다는 점을 인식할 수 있을 것이다. 부가적으로, 상기 실시예는 케이블 TV 제공자에 관하여 설명하고 있지만, 위성 TV 시스템, 인터넷 서비스 제공자, 컴퓨터 시스템 및 다른 콘텐츠의 제공자에게도 동일한 원리가 적용될 수 있다.
전술한 실시예에서 객체에 대한 몇가지의 요금 부과 방법을 설명하였다. 다른 실시예는 최초의 사용에 대한 하나의 요금을 가질 수 있고 추가의 유지 요금을 주기적으로 필요로 할 것이다. 또한, 특징부마다의 추가의 요금과 함께 사용할때마다 요금이 부과될 수 있다. 예를 들어, 이메일 프로그램을 개시하면 하나의 요금이 부과되고 각각의 이메일을 인쇄하는 것은 추가의 요금을 필요로 한다. 또한, 비디오는 재생을 일시 정지하거나 멈추게 할 수 있지만, 프로그램을 2 번 시청하는 것을 허용하지 않기 위해서 비디오 실행 시간의 2 배 이하의 수명을 가질 것이다. 예를 들어, 비디오 게임은 한 시간 또는 하루의 설정된 수명으로 설정될 수 있다.
비록 본 발명이 특정 실시예에 대하여 설명되고 있지만, 이러한 실시예는 단지 예시의 목적으로 개시되고 있고 본 발명의 기술적 범주를 제한하고자 하는 것은 아니며, 당업자라면 첨부된 특허 청구의 범위에 명시된 본 발명의 기술적 범주 및 사상을 벗어나지 않는 범위 내에서 여러가지의 변형 및 수정이 가능함을 이해할 수 있을 것이다.
Claims (23)
- 정보를 보호하기 위한 방법에 있어서,정보를 수신하는 단계와;상기 정보를 제1 인증하는 단계와;상기 정보를 허가하는 단계와;상기 정보를 저장하는 단계와;상기 정보를 제2 인증하는 단계를 포함하는 것을 특징으로 하는 정보 보호 방법.
- 제1항에 있어서, 인가 체크 및 인증 체크 중 적어도 하나를 트리거하는 이벤트를 검출하는 단계를 더 포함하는 것인 정보 보호 방법.
- 제2항에 있어서, 상기 이벤트는 체크포인트, 예측할 수 없는 기간, 사전 결정된 기간 및 사전 결정된 스케줄 중 적어도 하나인 것인 정보 보호 방법.
- 제1항에 있어서, 상기 정보는 소프트웨어, 드라이버, 펌웨어, 비디오, 오디오 및 데이터 중 적어도 하나를 포함하는 것인 정보 보호 방법.
- 제1항에 있어서, 상기 정보를 제1 인증하는 단계는 다운로드 후에 정보를 인증하는 단계를 포함하고, 상기 정보를 제2 인증하는 단계는 상기 정보를 사용하기 전에 정보를 인증하는 단계를 포함하는 것인 정보 보호 방법.
- 제1항에 있어서, 어플리케이션을 포함하는 정보를 검색하는 단계와;상기 어플리케이션을 인증하는 단계와;상기 어플리케이션을 실행하는 단계를 더 포함하는 것인 정보 보호 방법.
- 제6항에 있어서, 상기 어플리케이션을 인증하는 단계는 상기 정보의 적어도 일부분의 복호화를 포함하는 것인 정보 보호 방법.
- 제1항에 있어서, 제1 허가 정보를 수신하는 단계와;상기 제1 허가 정보를 대체하여 허가 권리를 연장하도록 제2 허가 정보를 수신하는 단계를 더 포함하는 것인 정보 보호 방법.
- 제1항에 있어서, 어플리케이션의 실행중에 체크포인트를 식별하는 단계와;상기 노출 단계에 응답하여 인증 및 허가 중 적어도 하나를 실행하는 단계를 더 포함하는 것인 정보 보호 방법.
- 콘텐츠 전달 시스템에 있어서,콘텐츠를 저장하는 메모리와;콘텐츠를 수신하는 네트워크 포트와;소프트웨어 내의 복수 개의 체크포인트를 포함하고,각각의 콘텐츠의 일부는 적어도 2개의 체크포인트와 관련되는 것을 특징으로 하는 콘텐츠 전달 시스템.
- 제10항에 있어서, 상기 복수 개의 체크포인트의 각각은 인증 및 허가 중 적어도 하나를 개시하는 것인 콘텐츠 전달 시스템.
- 제10항에 있어서, 상기 콘텐츠는 소프트웨어, 드라이버, 펌웨어, 비디오, 오디오 및 데이터 중 적어도 하나를 포함하는 것인 콘텐츠 전달 시스템.
- 제10항에 있어서, 상기 네트워크 포트에 접속된 콘텐츠 제공자를 더 포함하는 것인 콘텐츠 전달 시스템.
- 제10항에 있어서, 인증 처리 및 허가 처리 중 적어도 하나를 실행하는 액세스 제어 프로세서를 더 포함하는 것인 콘텐츠 전달 시스템.
- 정보를 인증 및 허가하기 위한 방법에 있어서,정보를 수신하는 단계와;상기 정보를 인증하는 단계와;상기 정보를 허가하는 단계와;상기 인증 및 허가 중 적어도 하나를 체크하는 처리를 실행하는 단계를 포함하는 것을 특징으로 하는 정보 인증 및 허가 방법.
- 제15항에 있어서, 인증 및 허가 중 적어도 하나를 트리거하는 이벤트를 검출하는 단계를 더 포함하는 것인 정보 인증 및 허가 방법.
- 제16항에 있어서, 상기 이벤트는 체크포인트, 예측할 수 없는 기간, 사전 결정된 기간 및 사전 결정된 스케줄 중 적어도 하나인 것인 정보 인증 및 허가 방법.
- 제15항에 있어서, 상기 정보를 인증하는 단계는 상기 정보의 적어도 일부분의 복호화를 포함하는 것인 정보 인증 및 허가 방법.
- 제15항에 있어서, 상기 정보는 소프트웨어, 드라이버, 펌웨어, 비디오, 오디오 및 데이터 중 적어도 하나를 포함하는 것인 정보 인증 및 허가 방법.
- 제15항에 있어서, 제1 허가 정보를 수신하는 단계와;상기 제1 허가 정보를 대체하여 허가 권리를 연장하도록 제2 허가 정보를 수신하는 단계를 더 포함하는 것인 정보 인증 및 허가 방법.
- 조건 액세스 셋톱 박스로 공급된 콘텐츠를 인증 및 허가하기 위한 방법에 있어서,상기 조건 액세스 셋톱 박스에 콘텐츠를 수신하는 단계와;상기 조건 액세스 셋톱 박스 내의 콘텐츠를 제1 인증하는 단계와;상기 콘텐츠가 상기 조건 액세스 셋톱 박스 내에서 액세스되었을 때 상기 콘텐츠를 제2 인증하는 단계를 포함하는 것을 특징으로 하는 콘텐츠 인증 및 허가 방법.
- 제21항에 있어서, 상기 콘텐츠는 객체 및 자원 중 하나를 포함하는 것인 콘텐츠 인증 및 허가 방법.
- 제21항에 있어서, 상기 조건 액세스 셋톱 박스는 이미지 디스플레이 장치에 내장되는 것인 콘텐츠 인증 및 허가 방법.
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15849199P | 1999-10-08 | 1999-10-08 | |
US60/158,491 | 1999-10-08 | ||
US16509499P | 1999-11-12 | 1999-11-12 | |
US60/165,094 | 1999-11-12 | ||
US17403799P | 1999-12-30 | 1999-12-30 | |
US60/174,037 | 1999-12-30 | ||
US58030300A | 2000-05-26 | 2000-05-26 | |
US09/580,303 | 2000-05-26 | ||
PCT/US2000/027632 WO2001028232A1 (en) | 1999-10-08 | 2000-10-06 | Object and resource security system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20020038807A true KR20020038807A (ko) | 2002-05-23 |
Family
ID=27496341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020027004530A KR20020038807A (ko) | 1999-10-08 | 2000-10-06 | 객체 및 자원 보안 시스템 |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1222814A1 (ko) |
JP (1) | JP2003511772A (ko) |
KR (1) | KR20020038807A (ko) |
CN (1) | CN1402935A (ko) |
AU (1) | AU7996500A (ko) |
CA (1) | CA2386984A1 (ko) |
WO (1) | WO2001028232A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020092015A1 (en) * | 2000-05-26 | 2002-07-11 | Sprunk Eric J. | Access control processor |
FR2816783B1 (fr) * | 2000-11-10 | 2003-10-17 | Guillaume Dubost | Dispositif electronique, systeme informatique et procede pour la mise a disposition instantanee de donnees audiovisuelles |
JP2007226277A (ja) * | 2004-04-02 | 2007-09-06 | Matsushita Electric Ind Co Ltd | 仮想マシン改ざん検査方法、および仮想マシン改ざん検査装置 |
JP5098292B2 (ja) * | 2006-10-30 | 2012-12-12 | 株式会社日立製作所 | コンテンツ復号鍵抽出方法およびコンテンツ受信装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5646997A (en) * | 1994-12-14 | 1997-07-08 | Barton; James M. | Method and apparatus for embedding authentication information within digital data |
US5625693A (en) * | 1995-07-07 | 1997-04-29 | Thomson Consumer Electronics, Inc. | Apparatus and method for authenticating transmitting applications in an interactive TV system |
KR20000064791A (ko) * | 1997-01-27 | 2000-11-06 | 엠. 제이. 엠. 반 캄 | 콘텐트 정보 및 그것과 관련된 추가정보를전송하는 방법 및 시스템 |
US6069647A (en) * | 1998-01-29 | 2000-05-30 | Intel Corporation | Conditional access and content security method |
EP0946019A1 (en) * | 1998-03-25 | 1999-09-29 | CANAL+ Société Anonyme | Authentification of data in a digital transmission system |
US6865675B1 (en) * | 1998-07-14 | 2005-03-08 | Koninklijke Philips Electronics N.V. | Method and apparatus for use of a watermark and a unique time dependent reference for the purpose of copy protection |
-
2000
- 2000-10-06 WO PCT/US2000/027632 patent/WO2001028232A1/en not_active Application Discontinuation
- 2000-10-06 JP JP2001529658A patent/JP2003511772A/ja not_active Withdrawn
- 2000-10-06 KR KR1020027004530A patent/KR20020038807A/ko active IP Right Grant
- 2000-10-06 EP EP00970612A patent/EP1222814A1/en not_active Withdrawn
- 2000-10-06 CA CA002386984A patent/CA2386984A1/en not_active Abandoned
- 2000-10-06 AU AU79965/00A patent/AU7996500A/en not_active Abandoned
- 2000-10-06 CN CN00816331A patent/CN1402935A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2003511772A (ja) | 2003-03-25 |
EP1222814A1 (en) | 2002-07-17 |
AU7996500A (en) | 2001-04-23 |
CN1402935A (zh) | 2003-03-12 |
WO2001028232A1 (en) | 2001-04-19 |
CA2386984A1 (en) | 2001-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8904424B2 (en) | Object and resource security system | |
EP1228634B1 (en) | Intrusion detection for object security | |
JP2004531160A (ja) | 機能ユニットに対する条件付きアクセス | |
US20060020790A1 (en) | Authorization using ciphertext tokens in a content receiver | |
KR20020038807A (ko) | 객체 및 자원 보안 시스템 | |
KR100679498B1 (ko) | 오브젝트와 자원에 대한 액세스 자격 부여 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
NORF | Unpaid initial registration fee |