KR20020019562A - 인증 및/또는 허가 개시 방법 - Google Patents

인증 및/또는 허가 개시 방법 Download PDF

Info

Publication number
KR20020019562A
KR20020019562A KR1020027000974A KR20027000974A KR20020019562A KR 20020019562 A KR20020019562 A KR 20020019562A KR 1020027000974 A KR1020027000974 A KR 1020027000974A KR 20027000974 A KR20027000974 A KR 20027000974A KR 20020019562 A KR20020019562 A KR 20020019562A
Authority
KR
South Korea
Prior art keywords
code
message
authorization
top box
authentication
Prior art date
Application number
KR1020027000974A
Other languages
English (en)
Inventor
스프룽크에릭제이
Original Assignee
션 엘. 맥클린톡
제너럴 인스트루먼트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 션 엘. 맥클린톡, 제너럴 인스트루먼트 코포레이션 filed Critical 션 엘. 맥클린톡
Publication of KR20020019562A publication Critical patent/KR20020019562A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4117Peripherals receiving signals from specially adapted client devices for generating hard copies of the content, e.g. printer, electronic paper
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/442Monitoring 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/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • 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
    • 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
    • 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)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)
  • Circuits Of Receivers In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명에 의하면, 조건부 액세스 시스템의 일부인 컨텐츠 수신기와 관련된 정보의 보안을 보장하는 방법이 개시되어 있다. 제1 단계에서 오브젝트는 상기 컨텐츠 수신기에 의해 수신되며, 상기 오브젝트는 다수의 관련된 검사점들을 포함하고 있다. 첫 번째 검사점을 만날 때, 상기 오브젝트에 인증과 허가 중 적어도 하나가 수행된다. 상기 오브젝트는 저장된다. 두 번째 검사점을 만날 때, 상기 오브젝트에 인증과 허가 중 적어도 하나가 수행된다. 상기 두 번째 검사점을 만나자 마자 동작의 수행이 조절된다.

Description

인증 및/또는 허가 개시 방법{AUTHENTICATION AND/OR AUTHORIZATION LAUNCH}
케이블 텔레비전(TV) 공급자들은 조건부 액세스(conditional access, CA) 시스템에 의하여 가입자에게 비디오 스트림을 배포한다. CA 시스템은 케이블 TV 공급자의 헤드엔드(headend)로부터 가입자와 관련된 셋톱 박스로 비디오 스트림을 배포한다. 헤드엔드는 비디오 스트림을 수신하는 하드웨어를 포함하고 있고 이 비디오 스트림을 CA 시스템 내에 있는 셋톱 박스로 배포한다. 선택된 셋톱 박스들은 케이블 TV 공급자에 의하여 셋톱 박스로 보내진 자격(entitlement) 정보에 의하여 특정 비디오 스트림을 디코드하도록 허용된다. 유사한 방식으로, 다른 비디오 프로그램 공급자들은 비디오 컨텐츠를 무선으로 셋톱 박스로 보내기 위해 위성 접시를 이용한다.
비디오 프로그램은 모든 셋톱 박스로 브로드캐스트(broadcast)되지만, 일부 셋톱 박스만이 특정 비디오 프로그램을 액세스할 수 있다. 예를 들어, 모든 셋톱 박스가 추가 요금(pay-per-view)을 지불하는 권투 시합에 대한 암호화된 데이터 스트림을 수신할 수 있으나, 이 추가 요금 권투 시합을 주문한 사람들만 이를 시청하도록 허용된다. 일단 사용자가 이 추가 요금 프로그램을 주문하면, 자격 메시지가 암호화된 형태로 모든 셋톱 박스로 브로드캐스트된다. 상기 자격 메시지가 목적지로 하는 특정한 셋톱 박스만이 이를 해독할 수 있다. 해독된 자격 메시지 내부에는 이 추가 요금 프로그램을 해독할 키가 들어 있다. 셋톱 박스는 실시간으로 추가 요금 프로그램을 수신하면서 이 키를 가지고 프로그램을 해독한다. 어떤 시스템은 자격 메시지에 서명하도록 되어 있다.
최근에 와서야 장시간의 비디오를 저장하기 위한 저장 장치가 사용가능하게 되었다. 각 비디오 프로그램은 압축된 MPEG2 데이터 스트림으로서 셋톱 박스로 전송된다. 한 시간의 비디오는 약 1 기가바이트 또는 그 이상의 압축된 데이터에 해당한다. 오늘날에는 멀티 기가바이트 저장 장치가 일반적이기 때문에, 장시간의 비디오를 저장할 수 있다. 이와 대조적으로, 종래의 CA 시스템은 컨텐츠가 짧은 시간 동안에만 존재하며 저장될 수 없다고 가정한다. 다시 말해서, 종래의 시스템은 비디오 스트림이 어떤 기간 동안 저장되기에는 너무 크다는 가정 하에 설계되어 있다. 당업자라면 이해할 수 있는 바와 같이, 멀티 기가바이트 비디오 프로그램을 저장하는 능력은 추가적인 보안 조치에 대한 필요성을 생기게 한다.
어떤 시스템은 컨텐츠를 디스플레이하기 위하여 TV와 개인적인 계산(personal computing)을 통합한다. WebTV(등록 상표임)와 같은 제품들은 웹 브라우징과 이메일 특성을 TV와 통합한 것이다. 다른 시스템에서는 개인용 컴퓨터가 웹 브라우징과 이메일 특성을 위한 컨텐츠를 제공하는 인터넷 서비스공급자(internet service provider, ISP)에 연결되어 있다. 이메일 프로그램과 같은 소프트웨어 프로그램은 사이즈가 작은 편이므로, 용이하게 저장할 수 있다. 당업자들은 이러한 PC들이 적절한 보안을 제공하지 못하여 바이러스나 해커들의 영향을 받을 수 있다는 것을 인식하고 있다.
이상에서 설명한 바와 같이, 종래의 CA 시스템은 단지 비디오 스트림의 자격만을 검사한다. 더 큰 저장 장치와 더 작은 인터넷 관련 프로그램이 출현함에 따라 컨텐츠는 무한한 시간 동안 저장되고 사용자에게 상주할 수 있다. 이러한 컨텐츠를 계속하여 제어하기 위해서, 추가적인 보안 조치가 요구된다.
본 발명은 일반적으로 보안 액세스 시스템에 관한 것으로서, 보다 구체적으로는 조건부 액세스 시스템과 관련된 컨텐츠 수신기내에 정보를 보관하는 방법에 관한 것이다.
도 1은 컨텐츠 전달 시스템의 일실시예를 나타내는 블록도.
도 2는 셋톱 박스가 환경에 인터페이스되어 있는 실시예를 나타내는 블록도.
도 3은 오브젝트를 제1 보안 레벨로 배포하기 위한 과정에 대한 실시예를 나타내는 블록도.
도 4는 오브젝트를 제2 보안 레벨로 배포하기 위한 과정에 대한 실시예를 나타내는 블록도.
도 5는 허가 메시지의 실시예를 도시하는 블록도.
도 6은 소프트웨어 메시지의 실시예를 나타내는 블록도.
도 7은 허가 메시지와 소프트웨어 메시지의 일부를 포함하는 서명 그룹의 실시예를 나타내는 블록도.
도 8은 "권리" 메시지의 실시예를 나타내는 블록도.
도 9는 기능 유닛들 사이의 상호 작용을 나타내는 블록도.
도 10은 오브젝트를 제3 보안 레벨로 로드하기 위한 실시예를 나타내는 흐름도.
도 11은 오브젝트를 제4 보안 레벨로 로드하는 프로세스의 실시예를 나타내는 흐름도.
도 12는 오브젝트를 제4 보안 레벨로 로드하는 프로세스의 다른 실시예를 나타내는 흐름도.
도 13은 실행중인 오브젝트들을 제5 보안 레벨로 계속해서 검사하는 프로세스의 실시예를 나타내는 흐름도.
도 14A는 오브젝트를 제6 보안 레벨로 무료로 미리 보기할 수 있게 하는 프로세스의 실시예를 나타내는 흐름도.
도 14B는 오브젝트를 제6 보안 레벨로 무료로 미리 보기할 수 있게 하는 프로세스의 다른 실시예를 나타내는 흐름도.
도 15A는 제7 보안 레벨로 리포트를 다시 헤드엔드로 모니터하는 프로세스의 실시예를 나타내는 흐름도.
도 15B는 제7 보안 레벨로 보안 검사를 모니터하는 프로세스의 실시예를 나타내는 나타내는 흐름도.
도 15C는 제7 보안 레벨로 보안 검사를 모니터하는 프로세스의 다른 실시예를 나타내는 흐름도.
도 16A는 제8 보안 레벨로 부분적으로 암호화된 오브젝트를 생성하기 위한 프로세스의 실시예를 나타내는 흐름도.
도 16B는 제8 보안 레벨을 달성하기 위하여 실행 토큰들을 사용하는 프로세스의 실시예를 나타내는 흐름도.
도 16C는 제8 보안 레벨을 달성하기 위하여 부분적인 다운로드를 사용하는 프로세스의 실시예를 나타내는 흐름도.
도 17은 한 셋톱 박스 내의 상이한 오브젝트들간의 관계를 도시하는 블록도.
이하의 설명은 양호한 실시예들을 제공하는데 불과하며, 발명의 범위, 응용가능성 또는 구성을 제한하려고 하는 것이 아니다. 오히려 양호한 전형적인 실시예에 관한 이하의 설명은 당업자에게 발명의 양호한 전형적인 실시예를 구현할 수 있도록 해 줄 것이다. 첨부된 청구항에 나타난 발명의 정신과 범위를 벗어나지 않는 범위 내에서 구성 요소의 기능과 배열에 다양한 변화를 가할 수 있다.
본 발명은 소프트웨어와 같은 기능 유닛들이 TV 셋톱 박스 내에서 사용될 수 있도록 한다. 오브젝트와 자원은 기능 유닛의 두 가지 예이다. 오브젝트가 셋톱 박스에 로드된 이후에, 검사점을 만나면 인증(authentication) 및/또는 허가(authorization) 검사가 행해진다. 검사점은 예를 들면, 셋톱 박스 내의 오브젝트가 각 기능 유닛과 상호 작용할 때 트리거된다.
도면 상에서 유사한 구성 요소 및/또는 특성은 동일한 참조 기호를 가질 수있다. 또한, 동일한 유형의 다양한 구성 요소는 참조 기호 뒤에 점선을 긋고 유사한 구성 요소 사이에 구별될 만한 추가 기호를 사용함으로써 구분될 수 있다.
먼저 도 1을 참조하면, 컨텐츠 전달 시스템(100)의 일 실시예에 관한 블록도가 도시되어 있다. 컨텐츠 전달 시스템(100)은 특정 조건이 만족되는가를 바탕으로 수많은 사용자들에게 선별적으로 컨텐츠를 공급한다. 이 시스템(100) 내부에는 헤드엔드(104), 다수의 셋톱 박스(108), 지역 프로그래밍 수신기(112), 위성 접시(116), 및 인터넷(120)이 포함되어 있다.
헤드엔드(104)는 컨텐츠를 수신하여 사용자들에게 배포한다. 컨텐츠는 비디오, 오디오, 인터랙티브 비디오, 소프트웨어, 펌웨어, 및/또는 데이터를 포함할 수 있다. 컨텐츠는 위성 접시(116), 지역 프로그래밍 수신기(112), 마이크로파 수신기, 패킷 스위치된 네트워크, 인터넷(120) 등을 포함할 수 있는 다양한 소스로부터 수신된다. 각 셋톱 박스(108)는 고유한 주소를 가지고 있어서, 개별적인 셋톱 박스(108)로 자격 정보가 전송된다. 이러한 방식에 의해 어떤 셋톱 박스(108-1)는 어떤 특정 컨텐츠에 대한 자격을 가질 수 있는 반면, 다른 셋톱 박스(108-2)는 이런 자격이 없다. 헤드엔드(104)내의 장치가 일부 셋톱 박스들(108)이 어떤 특정 컨텐츠에 대한 자격을 가지도록 조정한다.
일반적으로 컨텐츠는 다수의 컨텐츠 스트림을 포함하는 아날로그 캐리어 채널을 통하여 디지털 형태로 배포된다. 모든 컨텐츠 스트림은 하나의 디지털 스트림으로 함께 다중화되어 아날로그 캐리어 채널에서 변조된다. 각각의 컨텐츠 스트림은 패킷 식별 정보에 의해 추적되고, 개개의 컨텐츠 스트림이 자신의 고유한패킷 식별(packet identification) 정보에 따라 제거될 수 있다. 이 시스템(100)의 실시예에서는 약 120개의 아날로그 캐리어 채널이 있다. 다른 실시예들에서는 위성 접시, 마이크로파 안테나, RF 전송기, 패킷 스위치된 네트워크, 셀룰러 데이터 모뎀, 캐리어 전류, 전화선, 및/또는 인터넷을 포함하는 전송 메카니즘에 의하여 컨텐츠를 배포할 수 있다.
다음으로 도 2를 참조하면, 디스플레이 시스템(200)의 실시예에 관한 블록도가 도시되어 있다. 이 실시예는 다양한 보안 메카니즘을 통하여 다중 단계의 오브젝트 및 자원에 대한 보안을 제공한다. 디스플레이 시스템(200)에는 셋톱 박스(108), 네트워크(208), 프린터(212), TV 디스플레이(216), 무선 입력 장치(218)가 포함되어 있다. 이것들은 사용자가 컨텐츠 공급자에 의해 조건적으로 배포되는 컨텐츠를 즐길 수 있도록 해 준다. 컨텐츠는 비디오, 오디오, 소프트웨어, 펌웨어, 인터랙티브 TV, 데이터, 텍스트, 및/또는 다른 정보를 포함할 수 있다. 이 실시예에서 컨텐츠 공급자는 케이블 TV 공급자 또는 다중 시스템 오퍼레이터(mutiple system operator, MSO)이다.
네트워크(208)는 셋톱 박스(108)와 케이블 TV 공급자의 헤드엔드(104) 사이의 정보 이동을 위한 통로로서 작용한다. 이 실시예에서, 네트워크(208)는 120개의 아날로그 채널과 양방향 제어 데이터 채널을 가지고 있다. 일반적으로 아날로그 채널은 컨텐츠를 운반하고 제어 데이터 채널은 제어 및 자격 정보를 운반한다. 각 아날로그 캐리어 채널은 하나의 데이터 스트림으로 다중화된 다수의 디지털 채널을 가지고 있고, 데이터 스트림에서는 디지털 채널들이 패킷 식별자(packetidentification, PID)에 의하여 구별된다. 양방향 제어 채널은 하나의 주파수로 데이터를 셋톱 박스(108)로 브로드캐스트하고 다른 주파수로 셋톱 박스(108)로부터 데이터를 수신하는 대역 외 채널이다. 피크 사용 기간 동안 오버로드를 감소시키기 위하여 이 기술분야에서 잘 알려진 스토어-앤-포워드 방식을 사용하여 반환 데이터를 큐에서 대기하도록 할 수 있다. 다른 실시예들에서 제어 정보 및 컨텐츠 모두를 위하여 케이블 모뎀, 디지털 가입자 라인(digital subscriber line, DSL), 셀룰러 데이터, 위성 링크, 마이크로파 링크, 캐리어 전류 전송, 또는 다른 네트워크 접속을 사용할 수 있는데, 이 때 컨텐츠는 패킷 스위치 데이터로서 포맷된다.
프린터(212)는 사용자들이 구매하여 디스플레이 시스템(200)에 부착할 수 있는 선택적인 액세서리이다. 개인용 컴퓨터 작업을 위하여 셋톱 박스(108)를 사용할 때 프린터(212)는 이메일, 웹 페이지, 요금 부과 정보 등과 같은 데이터를 프린트할 수 있도록 해 준다. 이하에서 설명되는 바와 같이, 프린터와 같은 주변 장치를 사용하는 능력은 인증(authorization) 검사에 의해 통제된다. 이러한 통제 특성을 사용하여 셋톱 박스(108)와 호환가능한 프린터(212)는 그 셋탑 박스(108)에 대하여 프린터(212)가 작동하도록 하는 적절한 인증이 얻어지지 않는 한 작동하지 않는다.
TV 디스플레이(216)는 사용자에게 오디오, 텍스트, 및/또는 컨텐츠에 대응하는 비디오를 제공한다. 디스플레이(216)은 일반적으로 채널 3, 채널 4, 또는 복합 채널에 대응하는 캐리어로 변조되는 아날로그 비디오 신호를 수신한다. 셋톱 박스(108)는 NTSC 신호, 예를 들어, 적합한 채널로 변조되는 NTSC 신호를 생성한다. 다른 실시예들에서는 텔레비전 디스플레이(216) 대신에 비디오 모니터 또는 디지털 디스플레이를 사용할 수 있다. LCD(liquid crystal display)와 같은 디지털 디스플레이는 디스플레이되는 화상을 생성하기 위하여 디지털 정보를 사용하기 때문에, 디지털 디스플레이를 사용한다면, 셋톱 박스(108)에 의한 아날로그 변환에 대한 필요성이 줄어든다.
무선 입력 장치(218)는 사용자와 셋톱 박스(108) 사이에 상호 작용이 가능하도록 한다. 이 장치(2018)는 리모콘, 마우스, 키보드, 게임 제어기, 펜 태블릿, 또는 다른 입력 수단이 될 수 있다. 입력 장치(208) 상의 적외선 트랜스시버는 셋탑 박스(108)상의 유사한 트랜스시버와 상호통신하여 무선 통신을 가능하게 한다. 다른 실시예들에서는 적외선 트랜스시버를 대신하여 RF 링크 또는 유선 링크가 사용될 수 있다.
셋톱 박스(108)는 오브젝트와 자원의 인증 및 허가를 수행하는 구성 요소 부분을 가지고 있다. 오브젝트는 소프트웨어, 드라이버, 펌웨어, 데이터, 비디오, 또는 오디오와 같은 디지털 정보의 집합체를 말한다. 소프트웨어는 소프트웨어 프로그램(들) 및/또는 소프트웨어 동적 링크 라이브러리 또는 라이브러리들을 포함할 수 있다. 자원이란 다른 오브젝트 또는 물리적 장치와 같이, 오브젝트가 필요로 하는 임의의 것을 말한다. 셋톱 박스(108)에는 제어기(220), 메모리(228), 프린터 포트(232), 네트워크 포트(236), 액세스 제어 프로세서(240), 디스플레이 인터페이스(244), 적외선(IR) 포트(248)가 포함되어 있다. 이 블록들은 버스(230)를 통하여 서로 통신하는데, 각 블록은 버스(230)상에서 고유하게 식별될 수 있도록 상이한 주소를 가지고 있다. 셋톱 박스(108)는 일반적으로 독립적인 장치이지만, TV 디스플레이(216), 컴퓨터, 정보 장치, 또는 개인용 비디오 녹화기(personal video recorder, PVR)와 통합될 수 있다.
제어기(220)는 신뢰성 있는 즉 보안이 보장되는 운영 체제를 사용하여 셋톱 박스(108)의 동작을 관리한다. 제어기(220)내에서는 사용자를 위해 TV 채널을 변환하거나 사용자에게 메뉴를 제시하는 기능뿐만 아니라, 디지털 오브젝트 해독 및 압축 해제와 같은 기능들이 수행된다. 제어기(220)에는 프로세서, 암호화 엔진, 로컬 메모리, 및 컴퓨터 시스템에 존재하는 일반적인 다른 요소들이 포함되어 있다.
다른 실시예들에서는 제어기(220)가 키 보호 또는 암호 처리의 목적을 위하여 보조적인 보안 마이크로프로세서를 포함할 수 있다. 이것은 높은 수준의 보안이 요구되는 몇몇 시스템에서 적합할 수 있다.
셋톱 박스(108)는 메모리 블록(228)을 포함한다. 이 메모리(228)는 RAM, ROM, 플래쉬, 및 다른 형태의 휘발성 및 비휘발성 메모리를 포함할 수 있는 고체 상태 메모리(solid state memory)이다. 오브젝트와 자원들은 나중에 실행되기 위하여 메모리에 저장된다. 실행 과정 동안에 프로그램들은 메모리(228)내에 로드되어 메모리(228)에서 실행되며, 스크래치패드(scratchpad) 공간으로 메모리(228)를 사용하기도 한다. 키, 일련번호, 및 인증은 비휘발성 플래쉬 메모리에 저장될 수 있다.
본 실시예는 선택 가능한(optional) 프린터(212)와 인터페이스하기 위한 프린터 포트(232)를 포함한다. 프린터 포트(232) 자원은 인증되지 않는다면 프로그램에 의해 이용될 수 없다. 이하 설명하는 바와 같이, 각 오브젝트는 프린터 포트(232)와 같은 자원을 사용하기 위한 인증을 받아야 한다. 데이터는 무선 또는 유선 전송 메카니즘에 의하여 직렬 또는 병렬적으로 프린터 포트(232)에서 프린터(212)로 보내진다.
일반적으로 말해서, 검사점은 기능 유닛의 인증 및/또는 허가 상태가 확인되는 단계 또는 시점을 말한다. 프린트 작업이 요구될 때 검사점과 마주친다. 검사점은 프린트 작업을 요구하는 오브젝트를 허가하고 인증한다. 검사점은 한 오브젝트내의 장소를 말하는데, 검사점에서 다른 오브젝트에 대한 인증 및/또는 허가가 실행된다(예를 들어 운영체제는 실행되고 있는 애플리케이션의 인증 및 허가를 검사한다). 이상적으로는 오브젝트의 목적이 명백해질 때 까지 검사점들이 수행된다. 프린터 포트(232)의 경우에, 프린트 포트가 무언가를 프린트하기 위하여 사용될 때 그 목적이 명백해진다. 따라서, 무언가가 프린트될 때, 검사점이 프린터 포트(232) 자원을 이용하는 오브젝트를 검사하도록 트리거된다. 일반적으로 프린트를 위한 검사점은 운영 체제 내에 있을 것이다.
다른 유형의 오브젝트는 목적이 명백해질 때 인증 및/허가를 요구하기 위하여, 검사점에 대응하는 다른 목적을 가질 것이다. 예를 들어, 하나의 오브젝트가 장기(long-term) 메모리에 저장될 수 있다. 장기 메모리로부터 오브젝트를 읽어들이는 것은 검사점을 트리거할 것이다. 오브젝트가 단기(short-term) 고체 메모리에 로드될 때, 다른 검사점과 마주친다. 오브젝트가 장기 메모리에서 단기 메모리로 옮겨질 때, 새로운 서명(signature)이 계산될 수 있다. 오브젝트가 단기 메모리로부터 판독되어 제어기(220)에 의해 처리될 때마다, 다른 검사점과 마주칠 수 있다. 또한, 오브젝트가 스크린상에 디스플레이되거나 스피커를 통하여 플레이된다면 다른 검사점과 마주칠 수 있다. 다양한 실시예들은 셋톱 박스(200)에 의한 상이한 처리 단계들에서 수행되는 하나 이상의 이러한 검사를 포함할 수 있다.
네트워크 포트(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)내에서 몇몇 기능들을 제어할 수 있도록 디지털 신호를 처리한다.
액세스 제어 프로세서(access control processor, ACP)는 셋톱 박스(108)내의 보안 기능들을 통제한다. 예를 들어, ACP(240)는 제어기(220)의 지시하에 또는 제어기(220)와 독립적으로 인증 및 허가를 수행하는데, 이하의 설명에서 명백히 알 수 있다. 업무를 수행하기 위하여, ACP(240)는 제어기(220)와 독립적으로 소프트웨어를 실행하도록 상호 작용하는 프로세서, RAM, ROM을 포함하고 있다. ACP(240)는 또한 해독 엔진을 포함하고, 컨텐츠를 해독하고 서명을 계산하기 위한 해쉬 함수를 포함한다. 보안 업무를 수행하도록 ACP(240)를 트리거하는 소프트웨어 내에 검사점이 심어져 있다. 이 실시예에서, ACP(240)는 하드웨어로 구현되지만, 다른 실시예들에서는 소프트웨어로 ACP(240)의 기능을 수행할 수 있다.
ACP(240)는 또한 운영 체제(operation system, OS)의 적절한 기능을 보장하기 위하여 운영체제를 새도우(shadow)할 수 있다. 오브젝트의 개시를 지켜봄으로써, ACP(240)는 어떤 애플리케이션 오브젝트가 동작중인지 모니터할 수 있다. 만일 필요하다면, 검사점이 에러를 발견하거나 허가가 만료되었을 때 ACP(240)가 실행중인 애플리케이션의 실행을 죽이거나 중지시킬 수 있다. 더욱이, ACP(240)는 메모리(228)상에 있도록 허가되지 않은 애플리케이션을 발견하기 위하여 메모리(228)를 모니터할 수 있다. 또한, 스크래치패드 메모리내에 숨어 있는 애플리케이션을 발견하기 위하여 스크래치패드 메모리의 크기가 모니터될 수 있다. 추가적으로, ACP(240)는 허가 및/또는 인증을 보장하기 위하여 메모리(228)내의 오브젝트에 대하여 검사점들을 무작위로 실행할 수 있다. ACP(240)가 만나는 문제점들은 OS 또는 헤드엔드(104)에 보고된다. 이러한 방식으로, 비정상적인 행동이 발견되고 보고되도록 ACP(240)가 셋톱 박스(108)내의 소프트웨어 경비원으로서 작동한다.
도 3을 참조하면, 제1 보안 레벨에서 오브젝트를 배포하기 위한 과정에 관한 실시예를 나타내는 흐름도가 도시되어 있다. 단계(304)에서 자격 메시지가 헤드엔드(104)에서 형성되는 과정이 시작된다. 자격 메시지에는 관련 오브젝트를 해독할 수 있는 키가 들어 있다. 단계(308)에서 자격 메시지와 오브젝트가 네트워크(208)를 통하여 셋톱 박스(108)로 전송된다. 자격 메시지와 오브젝트의 수신 후에, 이들은 단계(316)에서 서로 관련지어진다. 단계(320, 324, 328)에서 자격 메시지로부터 키가 추출되고, 이 키는 오브젝트가 메모리에 기록되기 전에 오브젝트를 해독하는데 사용된다. 이 과정은 암호화를 사용함으로써, 오브젝트를 인증하고 허가하는 것을 모두 제공한다.
어떤 실시예에서는 셋톱 박스(108)를 소비자에게 수송하기 전에, 제어된 환경에서 키를 제어 환경내의 셋톱 박스(108)로 로드한다. 예를 들어, 공장에서의 어셈블리 과정 동안 대칭 키 또는 비대칭 키를 셋톱 박스(109)로 로드한다. 암호화된 채널을 통하여 컨텐츠를 안전하게 싱글캐스트 또는 멀티캐스트하도록 하기 위하여, 각 박스(108) 내에는 고유한 키 또는 광역 키가 저장되어 있을 수 있다. 이채널은 나중에 키를 추가하거나 삭제하거나 변경하기 위하여 사용될 수 있다. 키의 사용에 의한 MSO는 사용자와 상호 작용할 필요 없이 컨텐츠를 액세스하는 것을 제어할 수 있다.
도 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)은 양단으로 배열된 허가 메시지(500)와 소프트웨어 메시지(600)의 구성 요소들을 포함한다. 보다 구체적으로는, 도 7의 서명 그룹(700)은 허가 헤더(504), 허가 데이터 구조(508), 오브젝트 헤더(604), 및 소프트웨어 오브젝트(608)를 포함한다. 서명(512)은 전체적인 서명 그룹(700)에 걸쳐 계산된다.
허가 헤더(504)는 허가 메시지(500)의 구성을 나타낸다. 헤더(504)에는 서브형식 식별자와 메시지 버전이 포함되어 있다. 서브형식 식별자는 허가 메시지(500)의 다양한 형식들을 서로 구별되게 한다. 이 실시예에서, 소프트웨어 오브젝트 및 자원에 대응하는 허가 메시지 서브형식들이 있다. 소프트웨어 오브젝트 서브형식은 대응하는 소프트웨어 메시지(600)을 가지고 있으나, 자원 서브형식은 그렇지 않다. 따라서, 서브형식 식별자가 허가 메시지(500)와 관련된 소프트웨어 메시지(600)가 있는지 여부를 결정하는데 사용된다. 주어진 시스템에 대하여 다양한 유형의 소프트웨어 오브젝트 서브형식과 자원 서브형식이 있을 수 있고, 메시지 버전은 다양한 형식들을 구분할 수 있게 한다.
허가 데이터 구조(508)는 기능 유닛에 필요한 것들을 셋톱 박스(108)에 제공한다. 기능 유닛은 소프트웨어 오브젝트 또는 자원이다. 소프트웨어 오브젝트에 대응하는 허가 메시지 서브형식의 경우에, 허가 데이터 구조(508)는 오브젝트 또는 기능 유닛 식별자, 소프트웨어 버전, 비용 정보, 자격 정보, 수명 정보, 및 하나 이상의 프로그램 계층들을 포함한다. 오브젝트 식별자는 각 소프트웨어 오브젝트(608)에 대하여 고유한 것이며, 허가 메시지(500)가 이에 대응하는 소프트웨어 메시지(600)에 속하도록 한다. 소프트웨어 오브젝트(608)의 버전을 나타내기 위하여 버전 정보가 데이터 구조(508)에 포함된다.
허가 데이터 구조(508)의 일부분은 셋톱 박스(108)가 소프트웨어 오브젝트(608)를 이용할 수 있는지 여부를 결정하는데 사용된다. 비용 정보는 셋톱 박스(108)를 가리키고, 때로는 사용자, 소프트웨어 오브젝트(608)와 관련된 가격을 가리킨다. 자격 정보는 특정한 셋톱 박스(108)가 소프트웨어 오브젝트(608)를 받아들일 수 있는 권한이 있는지 여부를 결정하는데 사용한다. 만일 소프트웨어 오브젝트(608)가 대칭 키를 가지고 암호화되어 있다면, 자격 정보가 키를 포함하고 있을 수도 있다. 만일 셋톱 박스(108)가 소프트웨어 오브젝트(608)에 대한 권한이 없다면, 대응하는 소프트웨어 오브젝트(608)가 수신될 때 이를 처리할 필요성이 없다. 수명 정보는 특정 날짜 또는 시간 이후의 사용을 방지하기 위하여 소프트웨어 오브젝트(608)의 허가를 만료시킬 수 있도록 한다. 셋톱 박스(108)가 미리 정해진 계층내에서만 소프트웨어 오브젝트(608)를 액세스할 수 있도록, 미리 정의된 계층으로 소프트웨어 오브젝트(608)를 제한하기 위하여 프로그램 계층들이 사용된다.
서명(512)은 허가 메시지(500)와 대응하는 소프트웨어 메시지(600) 모두의 일부분이 진짜인지 증명하기 위하여 사용된다. SHA-1 또는 MD5와 같은 해쉬 함수가 전체적인 서명 그룹에 걸쳐 실행된 후, 그 결과가 RSA, ECC, 및 DSA와 같은 서명 알고리듬을 통하여 실행됨으로써, 서명을 생성한다. 다른 대안으로, 단순 CRC 알고리듬이 해쉬 함수를 위해 사용될 수 있고 이후에 그 결과가 트리플-DES 또는 DES와 같은 암호화 알고리듬을 통하여 보내짐으로써, 서명을 생성할 수도 있다. 허가 메시지(500)를 컴파일할 때, 헤드엔드(104)는 전체 서명 그룹(700)에 걸쳐 서명(512)을 계산한 후에, 서명(512)을 허가 메시지(500) 내에 삽입한다. 셋톱 박스(108)는 허가 메시지(500)와 소프트웨어 메시지(600)를 모두 수신하자 마자, 서명 그룹(700)의 서명을 계산한다. 일단 서명이 계산되면, 허가 메시지(500)와 소프트웨어 메시지(600)의 모두의 일부분을 인증하기 위하여 이 서명이 수신된 서명(512)과 비교 검사된다. 만일 서명이 일치하지 않는다면, 셋톱 박스(108)가 부적당한 소스로부터 온 것이라고 추정되기 때문에 소프트웨어 메시지(600)를 버린다. 어떤 실시예들은 다른 이유들 중에서도 시스템(100) 내의 상이한 셋톱 박스(108)들을 지지하기 위하여 다중 서명을 사용할 수도 있다.
제1 체크섬(516)과 제2 체크섬(612)은 선형 또는 비선형 알고리듬으로 계산된다. 체크섬(516, 612)은 네트워크(216)를 통하여 셋톱 박스(108)로 전송될 때 데이터의 무결성(integrity)을 확인한다. 예를 들어, 체크섬은 메시지내의 각 바이트에 대하여 캐리(carry) 없이 이진 덧셈을 행하는 순환 중복 검사(cyclic redundancy check, CRC)일 수 있다. 메시지 스풀러(208)는 메시지(500)가 보내어질 때 체크섬(516)을 계산하고, 이 체크섬(516)을 메시지(500)의 끝에 덧붙인다. 반대로, 셋톱 박스(108)는 메시지(500)가 수신될 때 체크섬을 계산하고 계산된 체크섬을 수신된 메시지(500)내의 체크섬(516)에 비교하여 검사한다. 만일 계산된 체크섬과 수신된 체크섬이 일치하지 않는다면, 전송상의 에러가 발생한 것이다. 에러가 있는 메시지(500, 600)는 버려지고 이후에 헤드엔드(104)가 대체 메시지(500, 600)를 전송할 수 있다. 어떤 실시예들은 체크섬 대신에 디지털 서명을 사용할 수 있다.
오브젝트 헤더(604)는 소프트웨어 메시지(600)에 대한 속성을 포함한다. 오브젝트 헤더(604)에는 헤더 길이, 소프트웨어 오브젝트 길이, 오브젝트 식별자, 소프트웨어 버전, 및 도메인 식별자가 포함되어 있다. 헤더 길이와 소프트웨어 오브젝트 길이는 각각 오브젝트 헤더(604)의 길이와 소프트웨어 오브젝트(608)의 길이를 나타낸다. 전술한 바와 같이, 오브젝트 식별자는 허가 메시지(500)가 소프트웨어 메시지(600)에 속하도록 하는 고유한 코드를 제공한다. 소프트웨어 버전은 소프트웨어 오브젝트의 버전을 나타낸다. 모든 셋톱 박스(108)들이 이들 도메인과 관련된 소프트웨어 오브젝트(608)에 대하여 검열(screen)할 수 있도록 상이한 케이블 공급자들에게 도메인 식별자가 지정되는데, 이 때 셋톱 박스(108)는 소프트웨어 오브젝트(608)를 수신할 수도 있다.
소프트웨어 오브젝트(608)는 시스템(200)이 셋톱 박스(108)로 전달하도록 설계된 컨텐츠를 포함할 수 있다. 여러 유형의 정보가 실행 가능 프로그램, 펌웨어 업그레이드, 실행 시간 프로그램(예를 들어, Java(등록상표) 또는 ActiveX(등록상표)), 프로그래밍 스케쥴, 요금 청구 정보, 비디오, 오디오, 또는 데이터와 같은 소프트웨어 오브젝트에 심어질 수 있다. 소프트웨어 오브젝트(608)는 인증 및 허가 이후에 즉시 또는 나중에 사용될 수 있다. 또한, 허가는 어떤 특정 시간 이후에 기간 만료하도록 프로그램되어질 수 있다.
도 7을 참조하면, 서명 그룹(700)이 도시되어 있다. 이 그룹(700)은 허가 메시지(500)와 소프트웨어 메시지(600) 모두의 일부분으로 구성된다. 서명(512)을 계산하는데 사용되는 모든 데이터가 서명 그룹(700)에 포함된다. 서명(512)이 허가 메시지(500)와 소프트웨어 메시지(600) 양쪽 모두로부터 구성 요소를 요구하기 때문에, 서명 검사에 실패하는 것은 허가 메시지(500)와 소프트웨어 메시지(600) 중 하나가 신뢰할 수 있는 소스로부터 온 것으로 확인될 수 없음을 나타낸다. 신뢰할 수 있는 소스는 서명(512)을 생성한 헤드엔드(104)이다. 만일 다중 서명(512)이 있다면, 셋톱 박스(108)는 서명 그룹(700)을 인증하기 위하여 자신이 이해하는 적어도 하나의 서명(512)을 선택한다.
도 8을 참조하면, 권리 메시지(800)의 실시예가 블록도 형태로 도시되어 있다. 권리 메시지(800)는 기능 유닛을 사용할 수 있는 권리를 가지고 있다. 기능 유닛은 오브젝트 또는 자원이 될 수 있다. 일반적으로 각 셋톱 박스(108)에 대하여 하나의 권리 메시지(800)가 있다면, 이것은 모든 기능 유닛에 대한 모든 권리를 나타낸다. 오브젝트와 자원과 관련된 허가 메시지(500)로부터 오는 필요 자격(requirements)은 다른 오브젝트 또는 자원과 상호 작용하도록 허가되었는지 결정하는 권리와 비교하여 검사된다. 권리 메시지(800)는 새로운 권리를 셋톱 박스(108)와 관련된 기능 유닛에 원격으로 추가할 수 있도록 한다. 도시되지는 않았지만, 전송되는 동안 메시지(800)의 무결성을 확인하기 위하여 일반적으로 권리 메시지(800)는 디지털 서명을 포함한다. 어떤 실시예들에서는 체크섬이 디지털 서명 대신에 사용될 수 있다.
권리 헤더(804)는 권리 메시지(800)에 대한 속성을 포함한다. 권리 헤더(804)에는 헤더 길이, 권리 데이터 구조 길이, 셋톱 박스(108) 식별자, 및 도메인 식별자가 포함되어 있다. 헤더 길이와 권리 데이터 구조 길이는 각각 권리 헤더(804)의 길이와 권리 데이터 구조(808)의 길이를 나타낸다. 인증 목적을 위하여 셋톱 박스(108) 식별자는 권리 메시지(800)를 시스템(100)의 특정 셋톱 박스(108)에 속하게 하는 것을 허용하는 고유한 코드를 제공한다.
권리는 권리 데이터 구조(808) 내의 정보를 사용하여 모든 기능 유닛에 전달된다. 주어진 기능 유닛은 여러 다른 기능 유닛들을 사용할 수 있는 권리를 가질 수도 있다. 이러한 권리들은 권리 데이터 구조(808)에 포함되어 있다. 각 기능 유닛 식별자는 권리를 특정 기능 유닛에 속하도록 하는데 사용되는 계층 권리를 리스트한다. 기능 유닛은 이미 셋톱 박스(108) 내에 있을 수 있거나, 나중에 다운로드될 수 있다.
다음으로 도 9를 참조하면, 기능 유닛간의 상호 작용이 블록도 형태로 도시되어 있다. 셋톱 박스(108)와 관련된 기능 유닛들은 셋톱 박스 자원(904), 프린터 드라이버 오브젝트(908), 이메일 오브젝트(912), 및 프린터 포트 자원(914)을 포함한다. 이러한 기능 유닛들의 정상적인 상호 작용 동안에 허가 검사를 트리거하는검사점과 마주친다. 하나의 표가 권리 및 필요 자격들을 도 9의 기능 유닛과 연관시킨다. 기능 유닛 식별자는 오브젝트 메시지(600)와 권리 메시지(800)을 관련시키는 역할을 한다.
기능 유닛 ID 기능 유닛 필요 자격 권리
904 셋톱 박스 NA 이메일, 프린터 드라이버 등
912 이메일 프린터 드라이버
908 프린터 드라이버 프린터 포트
914 프린터 포트 없음
셋톱 박스 자원(904)은 이메일 오브젝트(912)의 세로 위쪽에 있다. 이메일 오브젝트(912)가 로드될 때, 오브젝트(912) 내의 검사점은 적합한 권리가 있는지 검사한다. 적합한 권리는 이메일 오브젝트(912) 자체의 필요 자격(920-2)에 의하여 정의된다. 만일 메일 권리(916-1)가 이메일 오브젝트 필요 자격(920-2)의 기준을 만족한다면, 이메일 오브젝트(912)는 검사점을 지나서 계속하여 실행된다. ACP(240)는 실지로 이메일 권리(916-1) 이후에 인증을 행하고, 이메일 오브젝트 필요 자격(920-2)은 각각 관련된 기능 유닛들(904, 912)에 의하여 로드된다.
사용자가 셋톱 박스(904)를 수신한 이후에 사용자는 선택적인 프린터(212)를 추가할 수 있다. 이 실시예에서 프린트 기능은 모든 셋톱 박스(904)에 포함되어 있지는 않은 부가된 특성이다. 만일 프린터(212)가 컨텐츠 공급자에 의하여 인정된 구매품이라면, 프린터 드라이버 권리(916-2, 916-4)와 프린터 포트 권리(916-3)가 헤드엔드(104)로부터 셋톱 박스(904)로 권리 메시지(800) 상태로 보내진다.
어떤 실시예들은 프린터 포트(920-3)를 사용할 수 있는 기능 유닛들의 한 부분 집합에 권리를 부여할 수 있다. 예를 들어, 이메일 오브젝트(912)에 프린터드라이버 권리(916-4)가 부여될 수 있겠지만, 셋톱 박스 자원(904)은 프린터 드라이버 권리(916-2)를 수신하지 않을 것이다. 이러한 방식으로, 단지 이메일 오브젝트(916-2)만이 프린터 포트(920-3)를 사용할 수 있고 나머지 다른 오브젝트는 사용할 수 없다.
프린터(212)를 프린터 포트(914)에 연결하는 것은 프린터(212)와 함께 포함된 비밀 코드를 요구하는 TV(216) 상의 메시지를 디스플레이하는 것을 트리거할 수 있다. 사용자는 비밀 코드를 입력한 이후에, 헤드엔드(104)에게 프린터(212)를 동작가능하게 하는 권리 메시지(800)에 대한 요청을 한다. 일단 헤드엔드(104)가 비밀 코드를 수신하여 확인하면, 권리 메시지(800)의 가능 집합(enabling set)이 상기 비밀 코드에 기초한 키로 암호화되어 전송된다. 이 실시예에서는 프린터 드라이버 오브젝트(908)가 팩토리 로드되지만(factory loaded), 다른 실시예들에서는 필요할 때 오브젝트 메시지(600)를 사용하여 이 오브젝트(908)를 로드할 수 있다.
이메일 오브젝트(912)가 실행중인 동안에, 사용자는 이메일 메시지를 프린트하려고 할 수 있다. 여러 검사점은 프린트하기 전에 적합한 권리(916)가 존재하는지 인증한다. 이메일 오브젝트(912)는 프린트를 요구하는 정보와 함께 프린터 드라이버(908)를 호출한다. 프린터 드라이버(908)내의 검사점은 이메일 오브젝트(912)의 허가가 검사될 때까지 처리를 중단한다. 프린터를 구입할 때 다운로드되는 프린터 드라이버 권리(916-4)는 인증을 위하여 프린터 드라이버 필요 자격(920-1)과 함께 ACP(240)로 로드된다. 인증이 성공적이라고 가정하면서, 프린터 드라이버 오브젝트(908)는 프린터(212)를 위한 프린트 정보를 포맷하고 그것을프린터 포트 자원(914)으로 넘겨준다.
프린터 포트 자원(914)은 프린터(212)와 연결된 케이블에 대한 인터페이스를 제공하는 하드웨어 포트이다. 일단 정보가 프린터 포트 자원(914)으로 보내지면, 검사점이 프린터 드라이버 오브젝트(908)가 적합한 허가를 가지고 있는지 검사하기 위하여 프로세스를 잠시 중단한다. 필요 자격(920-3)과 권리(916-3)는 인증을 위하여 ACP(240)로 로드된다. 일단 프린터 드라이버 오브젝트(908)에 의한 사용이 인증되면, 프린터 작업 중 나머지는 프린트를 위하여 프린터 포트 자원(914)에 스풀링된다.
어떤 실시예들에서는 한 기능 유닛의 권리(916)가 다른 기능 유닛에 의해 승계될 수 있다. 권리(916)는 기능 유닛을 사용할지도 모르는 다른 오브젝트들(608)로 전달될 수 있다. 예를 들어, 프린터 포트(232)를 사용할 권리(916)는 원래 이메일 오브젝트(912)와 단독으로 관련될 수 있는데, 이 권리(916)는 사용자가 프린터(212)를 구입했을 때 이메일 오브젝트(912)로 전달된다. 나중에 헤드엔드(104)가 이 권리(916)를 모든 다른 기능 유닛들 또는 프린터 포트(232)를 사용할지 모르는 기능 유닛들의 부분집합으로 승계하는 것을 인증할 수 있다. 이러한 방식으로, 부가적인 기능 유닛들이 프린트 특성을 사용할 수 있다.
도 10을 참조하면, 제3 보안 레벨로 오브젝트를 로드하는 과정에 대한 실시예가 도시되어 있다. 이 실시예에서는 개시 전에 네트워크 오퍼레이터가 오브젝트의 소스라는 것을 인증한다. 제1 단계(1004)에서, 제어기(220)는 허가 메시지(500)와 오브젝트 메시지(600)를 메모리(228)의 비휘발성 부분으로부터 판독한다. 단계(1008)에서 오브젝트 메시지(600)는 ACP(240)로 로드되고, 단계(1012)에서 허가 메시지(500)가 로드된다.
오브젝트 메시지(600)와 허가 메시지(500)가 모두 로드되면, 서명 그룹(700)의 모든 구성 요소를 ACP(240)가 이용할 수 있다. 단계(1016)에서 ACP(240)는 서명 그룹(700)에 걸쳐 서명을 계산한다. 단계(1024)에서 ACP(240)는 허가 메시지(500)내의 서명(512)이 계산된 서명과 일치하는지 여부에 관한 결정을 한다. 만일 일치한다면, 오브젝트(608)는 허가되고, 오브젝트(608)는 OS에 의해 메모리(228)에 로드되어 실행되도록 허용된다. 대신에, 만일 서명이 일치하지 않는다면, ACP(240)는 오브젝트(608)를 버리고 OS에게 에러를 알려준다. 서명(512)의 불일치는 저장단계에서의 파손(corruption), 오브젝트(608)를 대체하는 해적(pirate), 또는 오브젝트(608)를 파손하는 바이러스에 기인한 것일 수 있다.
도 11을 참조하면, 제4 보안 레벨에서 오브젝트를 로드하는 과정에 관한 실시예를 나타내는 흐름도가 도시되어 있다. 이 실시예는 셋톱 박스(108)가 오브젝트(608)를 시작하기 전에 이 오브젝트를 사용하도록 허가되어 있는지를 검사한다. 제1 레벨 보안에서와 유사하게 이 실시예는 허가 검사를 달성하기 위하여 암호화를 사용한다. 암호화를 위하여 대칭 키 또는 비대칭 키가 사용될 수 있다. 제1 단계(1104)에서 오브젝트 메시지(600)는 메모리(228)의 비휘발성 부분에 암호화된 형태로 기록된다. 어떤 실시예들에서는 저장 전에 추가적인 암호화 단계가 불필요하도록, 오브젝트 메시지(600)가 네트워크(208)로부터 암호화된 형태로 수신된다.
오브젝트(608)를 로드하는 것이 요구될 때, 단계(1108)에서 허가메시지(500) 및 오브젝트 메시지(600)가 비휘발성 메모리(228)로부터 검색된다. 허가 메시지(500)는 오브젝트 메시지(600)를 해독하는데 필요한 키를 포함한다. 단계(1112)에서 키와 오브젝트 메시지(600)가 ACP로 로드된다. 단계(1116)에서 오브젝트(608)가 해독된다. 만일 해독을 위하여 사용되는 키가 오브젝트(608)을 위해 허가된 것이 아니라면, 해독 프로세스가 실패할 것이고, 결과물은 해독이 불가능할 것이다. 대신, 만일 키가 단계(1120)에서 정확하다면, 평문(plaintext) 오브젝트가 실행을 위해 OS로 리턴된다.
일 실시예에서 오브젝트(608)는 암호화된 형태로 휘발성 메모리로 로드된다. 오브젝트 메시지(600)로터 온 오브젝트(608)만이 메모리에 저장되어 있기 때문에, 오브젝트(608)는 저절로 암호화되어 있다. 동일한 키 또는 상이한 키가 암호화를 수행하는데 사용될 수 있다. 연속적인 검사점을 만날 경우, 메모리내의 암호화된 오브젝트(608)에 대하여 허가가 수행될 수 있다. 예를 들어, 재생이나 시청을 위해 오브젝트(608)가 메모리로부터 판독될 때, 이 오브젝트는 다시 한번 허가를 확인하기 위하여 해독된다. 패스워드 입력과 같은 사용자와의 상호 작용이 허가 프로세스 동안에는 요구되지 않는다.
도 12를 참조하면, 제4 보안 레벨에서 오브젝트를 로드하기 위한 프로세스에 관한 또다른 실시예의 흐름도가 도시되어 있다. 이 실시예에서는 오브젝트(608)가 로드되기 전에 허가되어 있다는 것을 확인하기 위하여 허가 메시지(500)내에서의 자격이 검사된다. 단계(1204)에서는 허가 메시지(500)가 메모리(228)로부터 판독된다. 다음으로, 단계(1208)에서 제어기(220)가 허가 메시지(500)를 ACP(240)로로드한다.
일단 ACP(240)가 허가 메시지(500)를 가지고 있다면, 단계(1212)에서 그 안에 있는 자격 정보를 검사한다. 자격 정보를 검사함으로써 단계(1216)에서 오브젝트(608)가 허가되어 있는지 여부에 대한 결정이 이루어진다. 만일 오브젝트(608)가 허가된다면, 이 오브젝트는 OS에 의하여 메모리에 로드되고 실행된다. 대신 오브젝트(608)를 사용하기 위한 자격이 없다면, 단계(1224)에서 OS에게 실패한 허가 시도를 알리고 오브젝트(608)는 버려진다.
이상에서 설명되지는 않았지만, 레벨 4의 허가는 일반적으로 레벨 3의 인증과 거의 동시에 오브젝트(608)가 로드되기 전에 수행된다. 허가가 더 빠른 프로세스이므로, 허가는 인증 전에 수행된다. 허가와 인증을 수행한 이후에 OS로 리턴된 상태는 허가되지 않은 상태(AUTHORIZED), 허가되지만 인증되지 않은 상태(AUTHORIZED BUT NOT AUTHENTICATED), 허가되고 인증된 상태(AUTHORIZED AND AUTHENTICATED)이다.
도 13을 참조하면, 제5 보안 레벨에서 끊임없이 실행되는 오브젝트를 검사하기 위한 프로세스에 관한 실시예의 흐름도가 도시되어 있다. 제5 보안 레벨과 제6 보안 레벨(아래에 기술됨)은 시간 또는 사용에 의하여 트리거되는 검사점과 관련되어 있다. 이해할 수 있는 바와 같이, 실행되고 있는 오브젝트는 또한 대체되거나 수정되지 않았다는 것을 확실히 하기 위하여 인증되어야 한다. 또한, 주기적으로 허가를 확인함으로써, 어떤 기간 동안 계속하여 동작해 온 애플리케이션을 기간 만료되도록 할 수 있다. 소정의 기간이 사용되거나 예측불가능하게 변화하는 기간이또한 사용될 수 있다.
단계(1304)에서 오브젝트(608)가 메모리(228)로부터 판독되는 프로세스가 시작된다. 오브젝트(608)를 로드하기 전에 그것은 제1 서명을 가지고 있으나, 오브젝트(608)를 메모리(228)로 로드한 이후에는 로드된 오브젝트(608)의 서명이 변경될 수도 있다. 당업자라면 이해할 수 있는 바와 같이, 서명이 변경될 수 있도록 주소는 가상 어드레싱에서 물리적 어드레싱으로 변환된다. 따라서, 서명은 단계(1308)에서 재계산되어, 상기 로드된 오브젝트를 나타내는 제2 서명을 생성한다. 제2 서명이 변화하지 않도록, 오브젝트(608)가 메모리(228)에 로드되어 보관된다는 것을 유의해야 한다. 예를 들어, 로드된 오브젝트는 서명이 변경될 수 있도록 자가 정정 코드(self-modifying code)를 가지고 있지 않아야 한다. 그러나, 어떤 실시예들은 변화가 발생할 때, 제2 서명에 대한 변경을 허가할 수도 있다.
OS는 주기적인 인증과 허가를 트리거하는, 규칙적인 간격으로 예정된 검사점들을 가지고 있다. 단계(1312)에서 프로세스는 다음으로 예정된 검사점을 기다린다. 일반적으로, 이렇게 예정된 검사점은 적어도 매주 또는 매달 일어난다. 케이블 TV는 매달 비용이 지불되기 때문에, 무허가로 끊임없이 실행되는 애플리케이션을 요금 부과 주기 이후에 검사하는 것이 바람직하지만, 어떤 시간 간격이라도 사용할 수 있다. 인증과 허가는 허가 메시지(500), 로드된 오브젝트, 및 제2 서명을 ACP(240)로 로드함으로써 단계(1316)에서 행해진다. 제2 서명이 인증을 위하여 사용된다.
단계(1320)에서는 단계(1316)에서 수행된 인증과 허가가 모두 성공적으로 수행되었는지에 관한 결정이 내려진다. 만일 성공적이라면, 프로세스는 다음 검사점을 기다리는 단계(1312)로 돌아간다. 대신에 만일 허가 또는 인증 검사가 실패한다면, 오브젝트가 메모리(228)에서 제거되어 버려진다. 바람직하게는 ACP(240)는 예정된 검사점들을 결정하기 위한 시간 소스(time source)이다. ACP(240)는 허가의 기간 만료를 피하기 위하여 클럭을 거꾸로 설정하는 공격에 대하여 영향을 덜 받는다. 또한, ACP(240)는 시간을 변경할 수 있는 애플리케이션 소프트웨어를 실행하지 않고, 시간을 변경하기 위한 안전한 명령어를 요구한다. 안전한 명령어는 임의의 시간 변경이 진짜라는 것을 보장하기 위하여 암호화 또는 서명을 사용할 수 있다. 허가 기간을 만료시키기 위해서는, 해독을 위해 사용되는 키의 기간을 만료시키거나, 오브젝트를 사용할 수 있는 권리를 덧쓰기하여 제거하는 새로운 권리 메시지(800)를 보낼 수 있다.
전술한 실시예들은 검사점들을 트리거하는 시간 주기에 의존하고 있지만, 다른 실시예들은 다른 방식으로 검사점들을 트리거할 수 있다. 예를 들어, 검사점을 트리거하기 위하여 카운터를 가지고 사용을 모니터할 수 있다. 소정 횟수의 로드 또는 소정의 누적된 실행 시간 이후에, 검사점은 오브젝트의 재확인을 요구할 수 있다.
도 14A를 참조하면, 제6 보안 레벨에서 오브젝트를 무료로 먼저 볼 수 있도록 허용하는 프로세스에 관한 실시예의 흐름도가 도시되어 있다. 제6 보안 레벨은 구매가 요구되기 전에 몇가지 전형에 기초하여 소프트웨어를 사용하는 것을 허용한다. 당업계에서 잘 알려진 바와 같이, 사용자들은 소프트웨어를 구매하기 전에 소프트웨어을 한번 사용하고 싶어한다. 따라서, 제6 보안 레벨은 구매가 요청되기 전에 어느 기간 동안에 소프트웨어를 사용하는 것을 허용한다.
단계(1404)에서 오브젝트(608)가 메모리(228)의 어느 기억 부분으로부터 검색되는 과정이 시작된다. 단계(1408)에서 오브젝트(608)는 메모리(228)의 실행 부분으로 로드되어 오브젝트(608)의 실행이 개시된다. 시험(trial) 기간의 끝을 표시하기 위하여 단계(1412)에서 제로로 거꾸로 세는 카운트-다운 타이머가 동작하기 시작한다. 카운트-업 타이머가 시험 기간의 만료를 결정하기 위하여 대신 사용될 수 있다는 것도 이해될 것이다. 단계(1416)에서 사용자는 이 시험 기간이 끝날 때까지 오브젝트(608)를 샘플링한다. 언제 카운트-다운 타이머의 시간이 만료하는지 또는 언제 제로보다 낮은 한계점에 도달하는지를 확인함으로써, 단계(1420)에서 샘플 기간의 만료가 결정된다. 타이머의 시간이 만료하면, 시험 기간의 임시적인 허가도 만료한다.
애플리케이션의 허가가 중지되어 있는 동안에, 단계(1424)에서 오브젝트(608)를 구매하라는 옵션이 사용자에게 주어질 수 있다. 구매는 허가를 복원시킬 것이다. 오브젝트(608)의 구매를 촉진하기 위하여, 구매 스크린이 형성되고 셋톱 박스(108)에 의해 사용자에게 제시된다. 만일 구매가 선택되지 않는다면, 단계(1432)에서 오브젝트(608)가 메모리(228)로부터 제거되고 버려진다. 대신, 만일 구매가 승인된다면, 오브젝트(608)는 메모리(228)에 남아 있고, 단계(1428)에서 자격 정보가 구매와 허가를 반영하도록 갱신된다.
다른 실시예들에서는 영구히 실행될 수 있는 제한판(crippled) 데모 소프트웨어를 사용할 수 있으나, 이 소프트웨어는 구매된 버전에 존재하는 몇몇 특성들을 결여하고 있을 것이다. 만일 사용자가 제한판 버전을 원한다면, 사용자는 결여된 특성을 얻기 위하여 완전판(full version)을 구매할 가능성이 있다. 구매에 의하여 오브젝트(608)에 대한 제한이 해제되고, 결여된 특성에 대하여 허가가 부여된다. 어떤 실시예에서는 완전판이 도 13에 도시된 것과 유사한 방식으로 애플리케이션을 사용할 권리의 기간이 만료될 가능성이 있다는 것을 인식하여야 한다.
도 14B를 참조하면, 제6 보안 레벨로 오브젝트를 무료로 미리 볼 수 있도록 하는 프로세스에 관한 실시예의 흐름도가 도시되어 있다. 이 실시예에서 오브젝트에 대한 시험 기간은 사용 횟수 또는 어떤 다른 척도에 의하여 정의된다. 예를 들어, 구매를 요구하기 전에 소프트웨어 프로그래밍이 두 번 로드될 수 있다.
단계(1436)에서 오브젝트(608)가 메모리(228)의 기억 부분으로부터 검색되는 프로세스가 시작된다. 단계(1440)에서 오브젝트(608)가 실행이 수행되는 메모리(228)의 프로그램 실행 부분으로 로드된다. 단계(1444)에서 오브젝트가 사용될 때 숫자가 증가하는 카운트-업 사용 카운터가 동작하기 시작한다. 대신에 카운트-다운 카운터가 언제 사용 한계에 도달하는지를 결정할 수 있다는 것을 이해할 것이다. 사용자는 단계(1448)에서 오브젝트(608)를 샘플링하고, 이 샘플링은 단계(1452)에서 사용 카운터의 값 증가를 초래한다. 이 실시예에서 각각 사용을 세는 것은 프로그램 로드 또는 어떤 다른 액션에 대응한다. 단계(1456)에서 사용 카운터가 언제 상한선에 도달하는지를 인식함으로써 샘플 기간이 만료되었는지 여부가 결정된다. 한계에 도달할 때, 시험 기간 허가는 만료한다.
애플리케이션의 허가가 중지된 동안에 단계(1460)에서 사용자에게는 오브젝트(608)를 구매하는 옵션이 제공된다. 구매는 허가를 복원시킬 것이다. 오브젝트(608)의 구매를 촉진하기 위하여 구매 스크린이 형성되어 셋톱 박스(108)에 의해 사용자에게 제시된다. 구매가 선택되지 않는다면, 오브젝트(608)는 단계(1468)에서 메모리(228)에서 제거되어 버려진다. 대신, 구매가 승인되면, 오브젝트는 메모리에 남아 있고, 단계(1464)에서 구매와 허가를 반영하도록 자격 정보가 갱신된다.
이전의 실시예는 전체 오브젝트(608)의 사용을 측정하고 있지만, 다른 실시예들은 보다 더 복잡한 방식으로 사용을 모니터할 수 있다. 오브젝트(608)의 개개 기능은 액세스를 측정할 수 있었을 것이다. 예를 들어, 프린트 기능의 구매를 요구하기 전에 이메일 프로그램이 20개의 이메일 메시지를 프린트하도록 허용할 수 있을 것이다.
도 15A를 참조하면, 제7 보안 레벨로 헤드엔드(104)로 다시 리포트를 모니터하기 위한 프로세스에 관한 실시예를 나타내는 흐름도가 도시되어 있다. 헤드엔드(104)에서 모니터를 하는 컴퓨터는 시스템(100)에서 각 ACP(240)가 네트워크(208)를 통하여 주기적으로 헤드엔드(104)로 보안 리포트를 다시 전송하기를 기대한다. 소정의 기간 동안에 응답하여 리포트하지 않는 ACP(240)는 오동작하는 ACP(240)를 가지고 있는 것으로 추정되는데, 이는 해킹되었거나 오동작하는 셋톱 박스(108)을 나타낼 수 있다. 이 실시예에서 헤드엔드는 매일 적어도 하나의 보안 리포트를 기대한다. 하나의 셋톱 박스(108)를 모니터하기 위한 프로세스만이 도15A에 도시되어 있으나, 프로세스는 시스템(100)의 다수의 셋톱 박스(108)에 대하여 병렬적으로 수행된다는 것을 이해해야 할 것이다.
단계(1502)에서 리포트 백(reportback) 타이머가 하루의 초기값으로 설정된다. 설정 이후에 리포트 백 타이머는 시간의 카운트 다운을 시작한다. 이 프로세스를 거치는 셋톱 박스(108)에 대하여 단계(1506)에서 헤드엔드(104)가 셋톱 박스(108)로부터 리포트 백이 있는지 모니터한다. 단계(1510)에서 보안 리포트가 수신되었는지 결정하기 위하여 테스트가 행하여진다. 리포트가 수신되면, 리포트가 어떤 인지된 보안 문제가 있는지 분석하는 단계(1546)로 이어진다. 보안 문제가 있다면, 단계(1518)에서 셋톱 박스(1518)가 기능이 억제될 수 있다. 만일 보안 문제가 없다면, 단계(1502)로 돌아간다.
만일 단계(1510)에서 리포트가 수신되지 않는다면, 리포트 백 타이머가 만료되었는지를 결정하기 위하여 추가적인 테스트가 행해지는 단계(1514)로 진행된다. 만일 타이머가 만료되지 않았다면, 단계(1506)로 돌아간다. 만일 타이머의 기간이 만료했다면, 단계(1518)에서 기간이 만료된 타이머에 대응하는 셋톱 박스(108)가 기능이 억제된다. 만료된 타이머는 ACP(240)가 더 이상 적절하게 보안 문제를 보고하지 않고 있다는 것을 나타낼 것이다. 셋톱 박스(108)의 기능을 억제하기 위하여 단계(1518)에서 적외선 포트 자원과 같이 셋톱 박스(3)의 핵심 기능을 마비시키는 새로운 권리 메시지(800)가 보내질 수 있다. 더욱이, 적외선 포트 자원을 다시 동작하도록 하기 위해서 사용자에게 소비자 지원 센터에 연락하도록 알리는 메시지가 셋톱 박스(108)에 디스플레이될 수 있을 것이다.
이 실시예는 바람직하지 않은 보안 리포트에 응답하여 전체 셋톱 박스의 기능을 억제하지만, 어떤 실시예들은 보안 문제를 초래하는 오브젝트(608)만의 기능을 억제할 수 있다. 예를 들어, 셋톱 박스(108)의 운영체제가 메모리에서 손상된다면 이후의 검사점이 적절히 응답하지 않을 수 있다. ACP(240)는 검사점이 수행되지 않는다는 것을 관찰한 후 이러한 에러를 보고할 것이다. 에러를 치유하기 위하여 헤드엔드(104)는 OS를 다시 로드하도록 하는 명령어를 셋톱 박스(108)로 보낼 수 있다. 만일 추가적인 리포트가 수신된다면, 셋톱 박스(108)가 기능이 억제될 수 있다.
도 15B를 참조하면, 제7 보안 레벨로 셋톱 박스(108)가 보안 검사를 보고하는 프로세스에 관한 실시예를 나타내는 흐름도가 도시되어 있다. 검사점을 만날 때, 또는 검사점을 만나야 할 때, ACP(240)는 오브젝트(608)와 OS가 적절히 동작하는지를 모니터한다. 예를 들어, 어떤 실시예들은 오브젝트(608)가 로드되거나 개시되거나 액세스될 때마다 검사점을 실행한다. ACP(240)는 인증 및/또는 허가가 수행되어 어떤 바람직하지 않은 결과가 나오는지를 확인할 것이다. 검사점을 적절히 처리하지 못했다는 것은 보안 리포트로 헤드엔드(104)에 보고된다.
단계(1522)에서 리포트 백 타이머가 설정된다. 이 리포트 백 타이머는 기간을 셋톱 박스(108)가 정상적으로 보안 리포트를 헤드엔드(104)로 다시 전송할 시기에 맞춘다. 이 실시예에서 ACP(240)는 리포트를 매시간 보낸다. 이러한 리포트들은 OS와 제어기(220)로부터의 인증 및 허가 에러 리포트에 추가된 것이다. ACP(240)는 단계(1526)에서 OS 및 오브젝트(608)이 언제 검사점을 만나야 하는지를독립적으로 결정한다. 단계(1530)와 단계(1534)에서 ACP(240)는 검사점에 응답하여 인증 및/또는 허가가 수행되었는지 여부를 결정한다. 만일 검사 중 어느 하나가 실패한다면, ACP(240)는 에러가 제어기(220)에 의해 헤드엔드(104)로 다시 보고되는지 여부를 또한번 결정한다. ACP(240)는 인증 및/또는 허가 프로세스에 관련되어 있으므로, 이러한 프로세스들이 언제 수행되는지 결정할 수 있다. 네트워크 포트(208)가 적절히 에러 리포트를 보냈는지 알아보기 위하여, 시스템 버스(230)의 트래픽을 감사하는 ACP(240)가 에러 리포트를 모니터할 수 있다.
만일 검사점이 무시되거나 검사점에 대한 반응이 없다면, 단계(1542)에서 보안 리포트가 헤드엔드(104)로 즉시 보내진다. 보안 리포트는 마지막 리포트 백 타이머 주기가 시작된 이후에 일어난 모든 에러를 포함한다. 만일 검사점이 적절히 수행된다면, 한시간 짜리 리포트 백 주기가 만료되었는지 검사하는 단계(1538)로 진행된다. 단계(1542)에서 타이머가 시간이 만료할 때 보안 리포트가 ACP(240)에 의하여 보내어지며, 그렇지 않다면, 추가적인 모니터를 위하여 단계(1538)에서 단계(1526)로 다시 돌아간다. 이 실시예에서 ACP(240)는 보안 문제를 독립적으로 검사하기 위하여 셋톱 박스(108)의 나머지에 대하여 단순한 검사를 행하고, 또한 헤드엔드(104)로 다시 이러한 문제들을 보고한다.
도 15C를 참조하면, 제7 보안 레벨로 보안 검사를 모니터하는 과정에 대한 다른 실시예가 흐름도 형태로 도시되어 있다. 이 실시예에서 ACP(240)는 정기적으로 검사점을 만나는지 여부를 이중으로 검사하기 위하여 OS를 새도우(shadow)한다. 단계(1504)에서 마지막 OS 검사점의 시간이 기록되는 프로세스가 시작된다. 이 실시예에서 ACP(240)는 인증과 허가 프로세스에 관련되어 있으므로, ACP(240)는 검사점들의 실행을 추적할 수 있다. 단계(1508)에서 카운트 다운 타이머가 동작하기 시작헌다. 이 카운트가 카운트 다운가 아니라 카운트 업일 수도 있다는 것을 다시 한번 주의해야 한다.
단계(1512)에서 검사점이 ACP(240)에 의하여 관찰되었는지에 관한 결정이 내려진다. 만일 검사점이 관찰되었다면, 처음부터 다시 동작이 시작하도록 카운트 다운 타이머를 리셋하는 단계(1504)로 돌아간다. 대신에 검사점이 관찰되지 않았다면, 단계(1516)에서 타이머의 검사가 수행된다. 만일 카운터가 기간이 만료하지 않았다면, 검사점이 관찰되는지를 다시 한번 검사하는 단계(1512)로 돌아간다. 검사점에 도달하지 않고 타이머의 기간이 만료되었다면, ACP(240)가 헤드엔드(104)로 에러를 다시 보고하는 단계(1520)로 진행된다.
상기 실시예가 단일 오브젝트(608)에 대한 검사점들을 테스트하는 것에 대하여 설명하고 있지만, 프로세스가 많은 경우에는 이 프로세스들이 병렬적으로 수행되도록 하면서 전술한 방식과 마찬가지로 셋톱 박스(108)내의 각 오브젝트(608)에 대한 검사점들에 대하여 테스트가 이루어질 수 있다는 것을 이해할 수 있을 것이다. 어떤 실시예들에서는 오브젝트(608)의 고유한 실행 에러를 검출하기 위하여 각 오브젝트(608)에 맞춘 기준(custom criteria)이 설계될 수 있다. 추가적으로, 신뢰도 있는 즉 안전한 운영 체제는 엄격한 방식으로 비정상적인 행동을 검사하기 위하여 ACP(240)를 일반적으로 필요로 하지 않을 수 있다는 것을 유의하여야 한다. 해커, 해적, 바이러스, 및 메모리 에러를 막기 위하여, 운영 체제의 정상적인 기능을 검사하는 것은(예를 들어, 정기적인 검사점을 검사하는 것) 보안을 한 단계 높여준다.
도 16A를 참조하면, 제8 보안 레벨로 부분적으로 암호화된 오브젝트를 생성하는 프로세스에 대한 실시예의 흐름도가 도시되어 있다. 오브젝트(608)의 구매가 이루어질 때가지는, 허가 없는 오브젝트의 개시를 방지하기 위하여 오브젝트의 일부분이 암호화된다. 예를 들어, 오브젝트(608)의 제한판을 재형성하기 위하여 구매가 토큰의 해독을 초래할 때까지 오브젝트(608)의 제한판이 이용가능할 것이다. 토큰을 효과적으로 해독하는 것은, 전체 오브젝트(608)가 평문(plaintext) 형태로 이용가능하도록 제한판의 사용을 허가한다. 이 실시예에서 토큰에 사용되는 오브젝트(608)의 일부는 전체 오브젝트(608)의 크기의 절반보다 작다.
토큰으로서 암호화될 오브젝트(608)의 일부분을 결정하는 단계(1602)가 시작된다. 이 일부분이 오브젝트(608)에 존재하지 않더라도 오브젝트(608)가 실행될 수 있도록 오브젝트(608)의 일부분이 선택된다. 단계(1606)에서 제거된 일부분이 토큰으로서 암호화된다. 대칭적 암호화 또는 비대칭적 암호화가 수행될 수 있지만, 이 실시예에서는 대칭적 암호화를 사용한다. 단계(1610)에서 제한판 또는 보안이 된(secure) 오브젝트가 셋톱 박스(108)로 보내진다. 이 보안이 된 오브젝트에는 토큰 및 평문 형식으로 된 오브젝트(608)의 나머지 부분이 포함되어 있다. 단계(1614)에서 대칭키는 안전한 채널을 통하여 셋톱 박스(108)로 보내진다.
만일 사용자가 오브젝트(608)를 구입한다면, 토큰이 해독되어 오브젝트(608)에 재삽입되고, 재형성된 오브젝트는 실행가능하게 된다. 구매가 이루어졌다는 메시지가 셋톱 박스(108)로부터 헤드엔드(104)로 보내진다. 단계(1622)에서 오브젝트(608)의 구매에 대하여 사용자의 계정에 적당히 요금이 청구된다. 단계(1626)에서 오브젝트의 사용을 허가하는 갱신된 권리 메시지가 보내진다. 이 실시예는 헤드엔드(104)로부터 최종 허가를 얻지만, 어떤 실시예들은 오브젝트의 사용을 즉시 시작하는 이러한 허가를 회피할 수 있다. 예를 들어, 헤드엔드(104)로부터의 허가는 스토어-앤-포워드 시스템에서는 비실용적일 수 있다.
도 16B를 참조하면, 제7 보안 레벨을 얻기 위하여 토큰들을 사용하는 프로세스에 대한 실시예가 흐름도 형태로 도시되어 있다. 이 실시예는 오브젝트(608)의 허가를 제어하기 위하여 암호문(ciphertext) 토큰을 사용한다. 암호문 토큰은 오브젝트(608)의 정상 동작 또는 어떤 부 기능(sub function)을 위해 필요한 오브젝트(608)의 암호화된 부분이다. 암호문 토큰을 해독함으로써 오브젝트에 삽입되는 평문 토큰이 생성되고, 오브젝트가 평문 형태로 재형성된다.
단계(1604)에서 암호문 토큰과 오브젝트(608)의 평문의 나머지 부분을 헤드엔드로부터 수신하는 프로세스가 시작된다. 이 실시예는 암호문 토큰을 생성하기 위하여 헤드엔드(104)에 의존하고 있지만, 어떤 실시예들은 오브젝트(608)가 수신된 이후에 셋톱 박스(108)내의 토큰을 암호화할 수 있다. 단계(1608)에서 평문의 나머지 부분과 암호문 토큰이 기억 장치 메모리(228)에 저장된다. 단계(1612)에서 암호문 토큰을 해독하는데 필요한 키가 수신되어 ACP(240)에 저장된다.
프로세스는 사용자가 오브젝트(608)을 구입하는 단계(1616)까지 대기한다. 단계(1618)에서 암호문 토큰이 오브젝트(608)로부터 제거되어 해독을 위해ACP(240)로 보내진다. 결과로 나온 평문 토큰은 OS로 리턴되고 단계(1620)와 단계(1624)에서 오브젝트(608)를 동작하도록 하기 위하여 오브젝트(608)와 결합된다. 단계(1628)에서 구입 사실이 헤드엔드(104)로 보고된다. 오브젝트(608)를 실행하기 전에, 권리 메시지(800)의 형태로 헤드엔드(104)로부터의 추가적인 허가가 요구될 수도 있다. 전체 오브젝트(608)가 아니라 오브젝트(608)의 일부분만을 암호화함으로써 해독 프로세스는 가속화된다.
상기 설명은 OS에서 애플리케이션 또는 오브젝트(608)를 실행하는 것에 관한 것이다. 이러한 개념들은 OS 위에서 동작하는 Java(등록상표) 버추얼 머신에서 실행되는 Java(등록상표) 애플리케이션에 똑같이 적용될 수 있다. 이러한 추상적인 개념에 도움이 되도록 상위 배치(superordination)와 하위 배치(subordination)에 관하여 도 17을 참조하여 설명한다. 상위 배치와 하위 배치는 어떤 오브젝트(608)가 다른 오브젝트에 대하여 검사점을 부과할 책임이 있는지를 정의한다. 검사점들은 다른 오브젝트들(608) 및 자원들과 정상적으로 상호 작용하는 동안에 오브젝트(608)에 대하여 부과된다.
도 16C를 참조하면, 제8 보안 레벨을 달성하기 위하여 부분적인 다운로드를 사용하는 프로세스에 대한 실시예가 흐름도 형태로 도시되어 있다. 이 실시예는 오브젝트를 평문 부분과 평문의 나머지 부분으로 분할한다. 헤드엔드(104)는 상기 평문의 나머지 부분을 배포하지만, 상기 평문 부분을 배포하기 전에는 구입을 기다린다. 상기 평문 부분이 없다면, 오브젝트(608)가 샐행될 수 없도록 제한(cripple)된다. 이 실시예에서 평문 부분은 평문의 나머지 부분의 크기의 10분의 1보다 작다.
단계(1650)에서 오브젝트(608)의 평문의 나머지 부분이 셋톱 박스(108)에 의하여 수신되고 단계(1654)에서 메모리(228)에 저장된다. 단계(1658)에서 사용자가 평문의 나머지 부분의 사용을 구입하지 않는다면, 평문의 나머지 부분에 대하여는 아무 것도 수행되지 않는다. 구입은 네트워크(208)를 통하여 헤드엔드(104)로 다시 보고된다. 일단 구입 요청이 있자 마자 확인 작업이 수행되면, 헤드엔드(104)는 단계(1666)에서 수신되는 손실된 평문 부분을 전송한다. 오브젝트(608)를 구입한 셋톱 박스(108)로 평문 부분을 전송하기 위해 안전한 채널이 사용된다.
단계(1670)에서 평문 부분과 나머지 부분이 셋톱 박스(108)에서 오브젝트(608)를 생성하기 위해 결합된다. 이 실시예에서는 추가적으로 헤드엔드(104)로부터의 새로운 권리 메시지(800)가 오브젝트의 사용을 가능하게 할 것을 요구한다. 새로운 권리 메시지(800)는 옛 권리 메시지(800)를 대체하고 오브젝트(608)를 사용할 권리를 부여할 것이다.
도 17을 참조하면, 셋톱 박스(108)의 일부 기능 유닛들이 도시되어 있다. 도 17의 하단쪽에 있는 기능 유닛들은 도 17의 상단 쪽의 기능 유닛들보다 상위에 있다. 즉, 도 17의 상단쪽의 기능 유닛들은 도면의 아래 쪽에 있는 기능 유닛들보다 하위에 있다. 상위 기능 유닛들은 하위 기능 유닛들에 대하여 검사점을 부과할 책임이 있다. 예를 들어, 하드웨어(1704)는 하위 계층 방향으로 BIOS(1708), OS(1712) 등에 검사점을 부여한다. BIOS(1708)는 하드웨어(1704)가 아니라OS(1712)에 검사점을 부여한다. 같은 위치의 계층에 있는 기능 유닛들은 그들이 상호 작용할 때 그 계층에 있는 다른 기능 유닛에 대하여 검사점을 부여할 수 있다. 예를 들어, 애플리케이션(1716)은 드라이버(1718)에 검사점의 실행을 요구할 수 있다.
상위 기능 유닛들은 ACP(240)과 협력하여 검사점들의 실행을 개시하도록 설계되어 있고, 하위 기능 유닛들은 검사점들이 이들에게 부과되게 하도록 설계되어 있다. 예를 들어, BIOS(1708)는 부팅 프로세스 동안, 실행 동안, 및/또는 실행 중 주기적으로 OS(1712)에 검사점을 실행할 것을 요구한다. 드라이버 오브젝트(1718)는 정상적인 동작 동안 인스톨되거나 실행될 때 검사점들의 영향을 받는다. 데이터 파일 오브젝트(1728)는 파일 내의 데이터가 액세스될 때마다 검사점들의 영향을 받는다. HTML 오브젝트(1728)는 HTML 오브젝트(1728)가 브라우저 애플리케이션(1716)에 의해 해석(interpret)될 때마다 검사점의 일부로서 검토된다.
이상의 설명에 비추어 보면, 본 발명은 많은 장점들이 분명히 존재한다. 검사점이 발생할 때마다 오브젝트에 대하여 허가와 인증이 있는지 검사한다. 이러한 검사점들은 오브젝트를 계속 제어하기 위하여 많은 상이한 때에 오브젝트의 사용을 확인한다. 계속되는 제어는 조건적 액세스 시스템에서 오브젝트를 수정하거나 대체하려는 해커나 바이러스 작성자들의 노력을 위협한다.
본 발명의 원리는 이상에서 특정 장치와 방법을 가지고 설명되었지만, 이는 예에 불과하고 발명의 범위를 한정하지 않는다는 것을 명백히 이해할 수 있을 것이다.

Claims (23)

  1. 조건부 액세스 시스템의 일부인 컨텐츠 수신기와 관련된 정보의 보안을 보장하는 방법에 있어서,
    상기 컨텐츠 수신기에 의하여 오브젝트를 수신하는 단계로서 상기 오브젝트는 다수의 관련 검사점(checkpoint)들을 포함하는, 상기 오브젝트 수신 단계와,
    첫 번째 검사점과 마주칠 때 상기 오브젝트에 대하여 인증 및 허가 중 적어도 한가지를 수행하는 단계와,
    상기 오브젝트를 저장하는 단계와,
    두 번째 검사점과 마주칠 때 상기 오브젝트에 대하여 인증 및 허가 중 적어도 한가지를 수행하는 단계와,
    상기 두 번째로 기재된 수행 단계가 되자 마자, 동작(action)의 수행을 조절(condition)하는 단계를 포함하는 정보 보안 방법.
  2. 제1항에 있어서,
    상기 다수의 관련된 검사점들 각각은 적어도
    기억 장치로부터 상기 오브젝트를 판독하는 단계,
    상기 오브젝트를 고체 상태 메모리에 로드하는 단계,
    상기 오브젝트를 프로세서에 의하여 처리하는 단계,
    상기 오브젝트를 디스플레이하는 단계, 및
    상기 오브젝트를 플레이하는 단계 중 적어도 하나에 대응하는 정보 보안 방법.
  3. 제1항에 있어서, 상기 두 번째로 기재된 수행 단계는 키를 가지고 상기 오브젝트를 해독하는 단계를 포함하는 정보 보안 방법.
  4. 제3항에 있어서, 상기 해독 단계는 상기 컨텐츠 수신기의 사용자와의 상호 작용 없이 수행되는 정보 보안 방법.
  5. 제1항에 있어서, 첫 번째로 기재된 수행 단계는 첫 번째 코드로 상기 오브젝트를 인증하는 단계를 포함하는 정보 보안 방법.
  6. 제5항에 있어서,
    상기 첫 번째 코드와 상이한 두 번째 코드를 결정하는 단계를 더 포함하고,
    상기 두 번째로 기재된 수행 단계는 상기 두 번째 코드를 가지고 상기 오브젝트를 인증하는 단계를 포함하는 정보 보안 방법.
  7. 제1항에 있어서,
    상기 동작은
    기억 장치로부터 상기 오브젝트를 판독하는 단계,
    상기 오브젝트를 고체 상태 메모리로 로드하는 단계,
    상기 오브젝트를 프로세서에 의해 처리하는 단계,
    상기 오브젝트를 디스플레이하는 단계, 및
    상기 오브젝트를 플레이하는 단계 중 적어도 하나를 포함하는 정보 보안 방법.
  8. 제1항에 있어서, 상기 수신 단계는 암호화된 데이터 채널로부터 상기 오브젝트를 다운로드하는 단계를 포함하는 정보 보안 방법.
  9. 제1항에 있어서, 상기 오브젝트는 소프트웨어 프로그램, 소프트웨어 동적 링크 라이브러리, 드라이버, 펌웨어, 비디오, 오디오, 및 데이터 중 적어도 하나를 포함하는 정보 보안 방법.
  10. 제1항에 있어서, 상기 저장 단계는 암호화된 형태로 상기 오브젝트를 저장하는 단계를 포함하는 정보 보안 방법.
  11. 제1항에 있어서, 상기 저장 단계는 상기 첫 번째로 기재된 수행 단계 이후에 수행되는 정보 보안 방법.
  12. 제1항에 있어서, 상기 인증은 상기 오브젝트의 소스가 유효한지를 인증하는단계를 포함하는 정보 보안 방법.
  13. 제1항에 있어서, 상기 저장 단계는 상기 오브젝트를 상기 컨텐츠 수신기에 근접한 위치에 저장하는 단계를 더 포함하는 정보 보안 방법.
  14. 조건부 액세스 시스템의 일부인 컨텐츠 수신기와 관련된 정보의 보안을 보장하는 방법에 있어서,
    상기 컨텐츠 수신기로의 데이터 채널을 허가하는 단계와,
    상기 데이터 채널을 가지고 오브젝트를 다운로드하는 단계로서, 상기 오브젝트는 다수의 관련된 검사점들을 포함하는, 상기 다운로드 단계와,
    상기 오브젝트를 인증하는 단계와,
    상기 오브젝트를 허가하는 단계와,
    상기 오브젝트를 저장하는 단계로서, 상기 인증 단계와 허가 단계는 상기 다운로드 단계 이후 및 상기 저장 단계 이전에 수행되는, 상기 저장 단계와,
    상기 다수의 관련된 검사점들 중 하나와 마주칠 때 상기 오브젝트에 인증 및 허가 중 적어도 하나를 수행하는 단계와,
    상기 수행 단계와 상기 두 개의 인증 단계 중 적어도 한 단계가 되자 마자, 동작(action)의 수행을 조절(condition)하는 단계를 포함하는 정보 보안 방법.
  15. 제14항에 있어서,
    상기 허가 단계는 알고리듬을 가지고 상기 오브젝트로부터 첫 번째 코드를 생성하는 단계를 포함하고,
    상기 수행 단계는 상기 알고리듬을 가지고 상기 오브젝트로부터 두 번째 코드를 생성하는 단계를 포함하며,
    상기 첫 번째 코드는 상기 두 번째 코드와 상이한 정보 보안 방법.
  16. 제14항에 있어서, 상기 다수의 관련된 검사점들 중 적어도 일부가 다른 오브젝트들에 저장되는 정보 보안 방법.
  17. 제14항에 있어서,
    상기 오브젝트 내에 기능(function)의 사용을 카운트하는 단계와,
    상기 카운트 단계에 기초하여 검사점을 트리거하는 단계를 더 포함하는 정보 보안 방법.
  18. 제14항에 있어서, 상기 인증 단계와 상기 수행 단계 중 적어도 하나가 액세스 제어 프로세서에 의해 행하여지는 정보 보안 방법.
  19. 컨텐츠 수신가와 관련된 오브젝트의 보안을 보장하는 방법에 있어서,
    알고리듬을 사용하여 상기 오브젝트에 대한 첫 번째 코드를 계산하는 단계와,
    상기 첫 번째 코드로 상기 오브젝트를 인증하는 단계와,
    상기 첫 번째로 기재된 계산 단계 이후에 상기 오브젝트를 저장하는 단계와,
    상기 알고리듬을 사용하여 상기 오브젝트에 대한 두 번째 코드를 계산하는 단계로서 상기 첫 번째 코드와 상기 두 번째 코드는 상이한, 상기 계산 단계와,
    상기 두 번째 코드로 상기 오브젝트를 인증하는 단계를 포함하는 정보 보안 방법.
  20. 제19항에 있어서, 상기 두 개의 인증 단계들 중 적어도 하나가 되자 마자, 동작(action)의 수행을 조절하는 단계를 더 포함하는 정보 보안 방법.
  21. 제19항에 있어서, 상기 오브젝트를 가상 어드레싱과 물리적 어드레싱 사이에서 변환하는 단계를 더 포함하는 정보 보안 방법.
  22. 제19항에 있어서,
    상기 오브젝트가 언제 변하는지를 결정하는 단계와,
    상기 오브젝트가 변할 때 상기 코드를 재계산하는 단계를 더 포함하는 정보 보안 방법.
  23. 제19항에 있어서, 상기 알고리듬은 비선형 알고리듬, 선형 알고리듬, 단 방향 알고리듬, 서명, 및 체크섬으로 구성되는 그룹에서 선택되는 정보 보안 방법.
KR1020027000974A 2000-05-26 2001-05-02 인증 및/또는 허가 개시 방법 KR20020019562A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US58030300A 2000-05-26 2000-05-26
US09/580,303 2000-05-26
PCT/US2001/014392 WO2001093581A2 (en) 2000-05-26 2001-05-02 Authentication and/or authorization launch

Publications (1)

Publication Number Publication Date
KR20020019562A true KR20020019562A (ko) 2002-03-12

Family

ID=24320541

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020027001071A KR20020019577A (ko) 2000-05-26 2001-05-02 액세스 제어 프로세서
KR1020027001070A KR20020019576A (ko) 2000-05-26 2001-05-02 암호문 토큰을 이용하는 허가
KR1020027001068A KR20020019575A (ko) 2000-05-26 2001-05-02 허가 및 인증 시점
KR1020027000974A KR20020019562A (ko) 2000-05-26 2001-05-02 인증 및/또는 허가 개시 방법

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020027001071A KR20020019577A (ko) 2000-05-26 2001-05-02 액세스 제어 프로세서
KR1020027001070A KR20020019576A (ko) 2000-05-26 2001-05-02 암호문 토큰을 이용하는 허가
KR1020027001068A KR20020019575A (ko) 2000-05-26 2001-05-02 허가 및 인증 시점

Country Status (8)

Country Link
US (6) US20020002706A1 (ko)
EP (4) EP1290887A2 (ko)
JP (4) JP2003535520A (ko)
KR (4) KR20020019577A (ko)
CN (4) CN1179549C (ko)
AU (4) AU2001261152A1 (ko)
CA (4) CA2377729A1 (ko)
WO (4) WO2001093577A2 (ko)

Families Citing this family (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7394347B2 (en) * 1997-10-27 2008-07-01 World Wide Innovations, Llc Locking device for electronic equipment
US6968364B1 (en) * 2000-03-30 2005-11-22 Microsoft Corporation System and method to facilitate selection and programming of an associated audio/visual system
US7565692B1 (en) * 2000-05-30 2009-07-21 At&T Wireless Services, Inc. Floating intrusion detection platforms
US7315389B2 (en) 2001-03-23 2008-01-01 Toshiba Tec Kabushiki Kaisha Electronic document assembly, proofing and printing system
US8001594B2 (en) * 2001-07-30 2011-08-16 Ipass, Inc. Monitoring computer network security enforcement
ATE486460T1 (de) * 2001-09-10 2010-11-15 Koninkl Philips Electronics Nv Vorrichtung und verfahren zur bedingten zugriffserteilung
US8966527B1 (en) * 2001-10-16 2015-02-24 The Directv Group, Inc. System and method for media inserts in a media distribution system
FR2831757B1 (fr) * 2001-10-26 2004-01-30 Canal Plus Technologies Procede de verification de recepteurs de television a controle d'acces et recepteur correspondant
US8068610B2 (en) * 2001-11-21 2011-11-29 General Instrument Corporation Method and system for providing security within multiple set-top boxes assigned for a single customer
US7792978B2 (en) * 2001-12-28 2010-09-07 At&T Intellectual Property I, L.P. System and method to remotely manage and audit set top box resources
JP4157709B2 (ja) * 2002-01-31 2008-10-01 富士通株式会社 アクセス制御方法及び記憶装置
JP2003304523A (ja) * 2002-02-08 2003-10-24 Ntt Docomo Inc 情報配信システム、情報配信方法、情報配信サーバ、コンテンツ配信サーバ及び端末
AU2003273157A1 (en) * 2002-05-28 2003-12-12 Sheng Lee System update protocol and bootable cd controller
US8234165B2 (en) * 2002-08-28 2012-07-31 Funn Holdings LLC Digital tuner regulator platform (DTR)
US7380265B2 (en) * 2002-10-16 2008-05-27 The Directv Group, Inc. System for monitoring direct broadcast wireless signals
US7287052B2 (en) * 2002-11-09 2007-10-23 Microsoft Corporation Challenge and response interaction between client and server computing devices
US7346927B2 (en) 2002-12-12 2008-03-18 Access Business Group International Llc System and method for storing and accessing secure data
US7613932B2 (en) * 2003-04-24 2009-11-03 International Business Machines Corporation Method and system for controlling access to software features in an electronic device
JP4881538B2 (ja) 2003-06-10 2012-02-22 株式会社日立製作所 コンテンツ送信装置およびコンテンツ送信方法
KR100547136B1 (ko) * 2003-08-05 2006-01-26 삼성전자주식회사 방송/예비 컨텐츠를 부호화/복호화하는 장치 및 방법
US20070245369A1 (en) * 2003-09-05 2007-10-18 Remote Security Systems, Llc Lockbox management system and method
US20050055709A1 (en) * 2003-09-05 2005-03-10 Thompson James Alfred Cable network access control solution
US8191160B2 (en) * 2003-10-16 2012-05-29 Rene Juneau Method and system for auditing and correcting authorization inconsistencies for reception equipment in a content delivery network
CA2542624C (en) * 2003-10-16 2015-06-16 Maxxian Technology Inc. Method and system for detecting and preventing unauthorized signal usage in a content delivery network
JP2005149129A (ja) * 2003-11-14 2005-06-09 Sony Corp ライセンス管理方法、情報処理装置および方法、並びにプログラム
JP4982031B2 (ja) 2004-01-16 2012-07-25 株式会社日立製作所 コンテンツ送信装置、コンテンツ受信装置およびコンテンツ送信方法、コンテンツ受信方法
US7519999B2 (en) * 2004-02-27 2009-04-14 Scientific-Atlanta, Inc. Secure negotiation and encryption module
JP4645049B2 (ja) 2004-03-19 2011-03-09 株式会社日立製作所 コンテンツ送信装置およびコンテンツ送信方法
US20050229220A1 (en) * 2004-04-06 2005-10-13 William Fisher System and method for interactive video services
US20050229205A1 (en) * 2004-04-13 2005-10-13 Alan Azralon Encrypted trigger and associated methods
US20050231849A1 (en) * 2004-04-15 2005-10-20 Viresh Rustagi Graphical user interface for hard disk drive management in a data storage system
US7681007B2 (en) * 2004-04-15 2010-03-16 Broadcom Corporation Automatic expansion of hard disk drive capacity in a storage device
US20050235063A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic discovery of a networked device
US8543737B2 (en) * 2004-05-12 2013-09-24 Broadcom Corporation System and method to control access to data stored in a data storage device
US20050262322A1 (en) * 2004-05-21 2005-11-24 Kenneth Ma System and method of replacing a data storage drive
US20050235336A1 (en) * 2004-04-15 2005-10-20 Kenneth Ma Data storage system and method that supports personal video recorder functionality
US7555613B2 (en) * 2004-05-11 2009-06-30 Broadcom Corporation Storage access prioritization using a data storage device
US20050235283A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic setup of parameters in networked devices
GB0411053D0 (en) * 2004-05-18 2004-06-23 Ricardo Uk Ltd Data processing
US9021529B2 (en) 2004-07-15 2015-04-28 Microsoft Technology Licensing, Llc Content recordation techniques
US7711954B2 (en) * 2004-08-05 2010-05-04 Digital Keystone, Inc. Methods and apparatuses for configuring products
US8151110B2 (en) * 2004-08-05 2012-04-03 Digital Keystone, Inc. Methods and apparatuses for configuring products
US7549054B2 (en) * 2004-08-17 2009-06-16 International Business Machines Corporation System, method, service method, and program product for managing entitlement with identity and privacy applications for electronic commerce
JP2006074209A (ja) * 2004-08-31 2006-03-16 Toshiba Corp 放送受信装置と放送受信方法及び放送送受信システム
US8671457B2 (en) * 2004-10-15 2014-03-11 Maxxian Technology Inc. Method and system for identifying and correcting location discrepancies for reception equipment in a content delivery network
US7477653B2 (en) * 2004-12-10 2009-01-13 Microsoft Corporation Accelerated channel change in rate-limited environments
US7823214B2 (en) 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US20060230136A1 (en) * 2005-04-12 2006-10-12 Kenneth Ma Intelligent auto-archiving
EP1773055B1 (fr) * 2005-10-07 2014-12-03 Nagra France SAS Méthode de vérification de droits contenus dans un module de sécurité
KR100774172B1 (ko) * 2005-12-02 2007-11-08 엘지전자 주식회사 영상기기 및 그의 제어 방법
US8205243B2 (en) * 2005-12-16 2012-06-19 Wasilewski Anthony J Control of enhanced application features via a conditional access system
CN100525434C (zh) * 2005-12-31 2009-08-05 华为技术有限公司 一种在数字电视条件接收系统中对用户授权的方法
KR20080109521A (ko) * 2007-06-13 2008-12-17 엘지전자 주식회사 데이터 방송 신호를 처리하는 방법 및 수신하는 장치
US20090113491A1 (en) * 2007-10-31 2009-04-30 Kuether David J Method and system of retrieving lost content segments of prior broadcasted programming at a user device from a service provider
US9281891B2 (en) * 2007-11-27 2016-03-08 The Directv Group, Inc. Method and system of wirelessly retrieving lost content segments of broadcasted programming at a user device from another device
US8127235B2 (en) 2007-11-30 2012-02-28 International Business Machines Corporation Automatic increasing of capacity of a virtual space in a virtual world
US20090164919A1 (en) 2007-12-24 2009-06-25 Cary Lee Bates Generating data for managing encounters in a virtual world environment
WO2009104873A2 (en) * 2008-02-19 2009-08-27 Lg Electronics Inc. Method and device for managing authorization of right object in digital rights management
JP5159375B2 (ja) 2008-03-07 2013-03-06 インターナショナル・ビジネス・マシーンズ・コーポレーション メタバースにおけるオブジェクトの真贋判断システム、方法及びそのコンピュータ・プログラム
US20090254599A1 (en) * 2008-04-02 2009-10-08 Lee Sean S Method and system of sharing content from a memory of a first receiving unit with a second receiving unit through a network
US8289898B2 (en) * 2008-05-15 2012-10-16 At&T Intellectual Property I, L.P. System, method, and apparatus for an integrated antenna and satellite dish
US9740441B2 (en) * 2008-12-12 2017-08-22 At&T Intellectual Property, L.P. System and method for distributing software updates
US8487739B2 (en) * 2008-12-22 2013-07-16 Zenith Electronics Llc Television theft deterrence
US20100254357A1 (en) * 2009-04-03 2010-10-07 Charles Abraham Method and System for Remotely Communicating Information to a Plurality of Devices Within a Femtocell Network
US9060311B2 (en) * 2009-05-22 2015-06-16 Broadcom Corporation Enterprise level management in a multi-femtocell network
US8929331B2 (en) * 2009-05-22 2015-01-06 Broadcom Corporation Traffic management in a hybrid femtocell/WLAN wireless enterprise network
US20100296498A1 (en) * 2009-05-22 2010-11-25 Jeyhan Karaoguz Integrated femtocell and wlan access point
US9205328B2 (en) 2010-02-18 2015-12-08 Activision Publishing, Inc. Videogame system and method that enables characters to earn virtual fans by completing secondary objectives
US9682324B2 (en) 2010-05-12 2017-06-20 Activision Publishing, Inc. System and method for enabling players to participate in asynchronous, competitive challenges
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
CN101902333B (zh) * 2010-07-20 2015-08-19 中兴通讯股份有限公司 数字版权管理的应用方法及终端设备
US9449324B2 (en) 2010-11-11 2016-09-20 Sony Corporation Reducing TV licensing costs
US8447983B1 (en) 2011-02-01 2013-05-21 Target Brands, Inc. Token exchange
US9262631B2 (en) * 2011-11-15 2016-02-16 Mstar Semiconductor, Inc. Embedded device and control method thereof
WO2013146865A1 (ja) * 2012-03-27 2013-10-03 三菱電機株式会社 デジタル放送受信装置及びデジタル放送受信方法
EP2645711A1 (en) * 2012-03-28 2013-10-02 Nagravision S.A. Method to bind the use of a television receiver to a particular network
US10089335B2 (en) * 2012-07-10 2018-10-02 Microsoft Technology Licensing, Llc Data lineage across multiple marketplaces
US9063721B2 (en) 2012-09-14 2015-06-23 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
US10001008B2 (en) * 2012-11-20 2018-06-19 Trinity Solutions System and method for providing broadband communications over power cabling
TWI456427B (zh) * 2012-12-12 2014-10-11 Inst Information Industry 進行授權管理之主要管理裝置、代理管理裝置、電子裝置及其授權管理方法
US10137376B2 (en) 2012-12-31 2018-11-27 Activision Publishing, Inc. System and method for creating and streaming augmented game sessions
US10322351B2 (en) 2014-07-03 2019-06-18 Activision Publishing, Inc. Matchmaking system and method for multiplayer video games
US11351466B2 (en) 2014-12-05 2022-06-07 Activision Publishing, Ing. System and method for customizing a replay of one or more game events in a video game
US10118099B2 (en) 2014-12-16 2018-11-06 Activision Publishing, Inc. System and method for transparently styling non-player characters in a multiplayer video game
US10315113B2 (en) 2015-05-14 2019-06-11 Activision Publishing, Inc. System and method for simulating gameplay of nonplayer characters distributed across networked end user devices
US10486068B2 (en) 2015-05-14 2019-11-26 Activision Publishing, Inc. System and method for providing dynamically variable maps in a video game
US10286314B2 (en) 2015-05-14 2019-05-14 Activision Publishing, Inc. System and method for providing continuous gameplay in a multiplayer video game through an unbounded gameplay session
US10668367B2 (en) 2015-06-15 2020-06-02 Activision Publishing, Inc. System and method for uniquely identifying physical trading cards and incorporating trading card game items in a video game
TWI559170B (zh) * 2015-07-23 2016-11-21 jian-zhi Lin The control method of the rewritable file protection device, and the method of reducing the file protection
US10471348B2 (en) 2015-07-24 2019-11-12 Activision Publishing, Inc. System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks
KR102071365B1 (ko) * 2015-08-04 2020-01-30 한국전자통신연구원 리던던트 시스템에서의 프로세스 인증 장치 및 방법
US11185784B2 (en) 2015-10-08 2021-11-30 Activision Publishing, Inc. System and method for generating personalized messaging campaigns for video game players
US10099140B2 (en) 2015-10-08 2018-10-16 Activision Publishing, Inc. System and method for generating personalized messaging campaigns for video game players
US10245509B2 (en) 2015-10-21 2019-04-02 Activision Publishing, Inc. System and method of inferring user interest in different aspects of video game streams
US10376781B2 (en) 2015-10-21 2019-08-13 Activision Publishing, Inc. System and method of generating and distributing video game streams
US10232272B2 (en) 2015-10-21 2019-03-19 Activision Publishing, Inc. System and method for replaying video game streams
US10694352B2 (en) 2015-10-28 2020-06-23 Activision Publishing, Inc. System and method of using physical objects to control software access
CN105491060B (zh) * 2015-12-30 2019-07-02 北京神州绿盟信息安全科技股份有限公司 防御分布式拒绝服务攻击的方法、装置、客户端及设备
US10226703B2 (en) 2016-04-01 2019-03-12 Activision Publishing, Inc. System and method of generating and providing interactive annotation items based on triggering events in a video game
US10226701B2 (en) 2016-04-29 2019-03-12 Activision Publishing, Inc. System and method for identifying spawn locations in a video game
JPWO2017212932A1 (ja) * 2016-06-08 2019-04-04 ソニー株式会社 受信装置、送信装置、及び、データ処理方法
US10179289B2 (en) 2016-06-21 2019-01-15 Activision Publishing, Inc. System and method for reading graphically-encoded identifiers from physical trading cards through image-based template matching
US10573065B2 (en) 2016-07-29 2020-02-25 Activision Publishing, Inc. Systems and methods for automating the personalization of blendshape rigs based on performance capture data
US10463964B2 (en) 2016-11-17 2019-11-05 Activision Publishing, Inc. Systems and methods for the real-time generation of in-game, locally accessible heatmaps
US10709981B2 (en) 2016-11-17 2020-07-14 Activision Publishing, Inc. Systems and methods for the real-time generation of in-game, locally accessible barrier-aware heatmaps
US10500498B2 (en) 2016-11-29 2019-12-10 Activision Publishing, Inc. System and method for optimizing virtual games
US10055880B2 (en) 2016-12-06 2018-08-21 Activision Publishing, Inc. Methods and systems to modify a two dimensional facial image to increase dimensional depth and generate a facial image that appears three dimensional
US10482280B2 (en) 2017-01-30 2019-11-19 Symantec Corporation Structured text and pattern matching for data loss prevention in object-specific image domain
US10489685B1 (en) * 2017-02-22 2019-11-26 Symantec Corporation Image data identifiers and validators for data loss prevention
US10861079B2 (en) 2017-02-23 2020-12-08 Activision Publishing, Inc. Flexible online pre-ordering system for media
US10818060B2 (en) 2017-09-05 2020-10-27 Activision Publishing, Inc. Systems and methods for guiding motion capture actors using a motion reference system
US11040286B2 (en) 2017-09-27 2021-06-22 Activision Publishing, Inc. Methods and systems for improved content generation in multiplayer gaming environments
US10561945B2 (en) 2017-09-27 2020-02-18 Activision Publishing, Inc. Methods and systems for incentivizing team cooperation in multiplayer gaming environments
US10537809B2 (en) 2017-12-06 2020-01-21 Activision Publishing, Inc. System and method for validating video gaming data
US10981051B2 (en) 2017-12-19 2021-04-20 Activision Publishing, Inc. Synchronized, fully programmable game controllers
US10864443B2 (en) 2017-12-22 2020-12-15 Activision Publishing, Inc. Video game content aggregation, normalization, and publication systems and methods
US11278813B2 (en) 2017-12-22 2022-03-22 Activision Publishing, Inc. Systems and methods for enabling audience participation in bonus game play sessions
US10596471B2 (en) 2017-12-22 2020-03-24 Activision Publishing, Inc. Systems and methods for enabling audience participation in multi-player video game play sessions
US11192028B2 (en) 2018-11-19 2021-12-07 Activision Publishing, Inc. Systems and methods for the real-time customization of video game content based on player data
US11263670B2 (en) 2018-11-19 2022-03-01 Activision Publishing, Inc. Systems and methods for dynamically modifying video game content based on non-video gaming content being concurrently experienced by a user
US11115712B2 (en) 2018-12-15 2021-09-07 Activision Publishing, Inc. Systems and methods for indexing, searching for, and retrieving digital media
US11679330B2 (en) 2018-12-18 2023-06-20 Activision Publishing, Inc. Systems and methods for generating improved non-player characters
US11305191B2 (en) 2018-12-20 2022-04-19 Activision Publishing, Inc. Systems and methods for controlling camera perspectives, movements, and displays of video game gameplay
US11344808B2 (en) 2019-06-28 2022-05-31 Activision Publishing, Inc. Systems and methods for dynamically generating and modulating music based on gaming events, player profiles and/or player reactions
US11097193B2 (en) 2019-09-11 2021-08-24 Activision Publishing, Inc. Methods and systems for increasing player engagement in multiplayer gaming environments
US11423605B2 (en) 2019-11-01 2022-08-23 Activision Publishing, Inc. Systems and methods for remastering a game space while maintaining the underlying game simulation
US11712627B2 (en) 2019-11-08 2023-08-01 Activision Publishing, Inc. System and method for providing conditional access to virtual gaming items
US11537209B2 (en) 2019-12-17 2022-12-27 Activision Publishing, Inc. Systems and methods for guiding actors using a motion capture reference system
US11420122B2 (en) 2019-12-23 2022-08-23 Activision Publishing, Inc. Systems and methods for controlling camera perspectives, movements, and displays of video game gameplay
US11563774B2 (en) 2019-12-27 2023-01-24 Activision Publishing, Inc. Systems and methods for tracking and identifying phishing website authors
WO2021221189A1 (ko) * 2020-04-28 2021-11-04 엘지전자 주식회사 신호 처리 장치 및 이를 구비하는 영상표시장치
US11524234B2 (en) 2020-08-18 2022-12-13 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically modified fields of view
US11717753B2 (en) 2020-09-29 2023-08-08 Activision Publishing, Inc. Methods and systems for generating modified level of detail visual assets in a video game
US11833423B2 (en) 2020-09-29 2023-12-05 Activision Publishing, Inc. Methods and systems for generating level of detail visual assets in a video game
US11724188B2 (en) 2020-09-29 2023-08-15 Activision Publishing, Inc. Methods and systems for selecting a level of detail visual asset during the execution of a video game
US11439904B2 (en) 2020-11-11 2022-09-13 Activision Publishing, Inc. Systems and methods for imparting dynamic and realistic movement to player-controlled avatars in video games
US11794107B2 (en) 2020-12-30 2023-10-24 Activision Publishing, Inc. Systems and methods for improved collision detection in video games
US11853439B2 (en) 2020-12-30 2023-12-26 Activision Publishing, Inc. Distributed data storage system providing enhanced security

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4230990C1 (en) * 1979-03-16 2002-04-09 John G Lert Jr Broadcast program identification method and system
US4685131A (en) * 1985-03-11 1987-08-04 General Instrument Corp. Program blocking method for use in direct broadcast satellite system
DE3751047T2 (de) * 1986-11-05 1995-08-10 Ibm Softwareschutzsystem einschliesslich eines Einschlüsselkryptosystems, eines auf Hardware beruhenden Genehmigungssystems und eines geschützten Zusatzprozessors.
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5157716A (en) * 1988-04-27 1992-10-20 Scientific-Atlanta, Inc. Dynamic callback technique
US5166886A (en) * 1989-07-31 1992-11-24 Molnar Charles E System to demonstrate and sell computer programs
US5565909A (en) * 1992-08-31 1996-10-15 Television Computer, Inc. Method of identifying set-top receivers
FR2698510B1 (fr) * 1992-11-26 1994-12-23 Schlumberger Ind Sa Réseau de communication.
US5341429A (en) * 1992-12-04 1994-08-23 Testdrive Corporation Transformation of ephemeral material
US5581270A (en) * 1993-06-24 1996-12-03 Nintendo Of America, Inc. Hotel-based video game and communication system
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5614940A (en) * 1994-10-21 1997-03-25 Intel Corporation Method and apparatus for providing broadcast information with indexing
US5654746A (en) * 1994-12-01 1997-08-05 Scientific-Atlanta, Inc. Secure authorization and control method and apparatus for a game delivery service
US5646997A (en) * 1994-12-14 1997-07-08 Barton; James M. Method and apparatus for embedding authentication information within digital data
EP2110732A3 (en) * 1995-02-13 2009-12-09 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5619247A (en) * 1995-02-24 1997-04-08 Smart Vcr Limited Partnership Stored program pay-per-play
US6157719A (en) * 1995-04-03 2000-12-05 Scientific-Atlanta, Inc. Conditional access system
US6108365A (en) 1995-05-05 2000-08-22 Philip A. Rubin And Associates, Inc. GPS data access system
US5619571A (en) * 1995-06-01 1997-04-08 Sandstrom; Brent B. Method for securely storing electronic records
US5625693A (en) 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
JP3506814B2 (ja) * 1995-07-11 2004-03-15 東芝機械株式会社 数値制御装置
US5754646A (en) 1995-07-19 1998-05-19 Cable Television Laboratories, Inc. Method for protecting publicly distributed software
US5857020A (en) * 1995-12-04 1999-01-05 Northern Telecom Ltd. Timed availability of secured content provisioned on a storage medium
JP2000503154A (ja) * 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
US5951639A (en) * 1996-02-14 1999-09-14 Powertv, Inc. Multicast downloading of software and data modules and their compatibility requirements
JP3633092B2 (ja) * 1996-03-18 2005-03-30 日産自動車株式会社 マイコン故障監視装置
US5848397A (en) * 1996-04-19 1998-12-08 Juno Online Services, L.P. Method and apparatus for scheduling the presentation of messages to computer users
US5838790A (en) * 1996-04-19 1998-11-17 Juno Online Services, L.P. Advertisement authentication system in which advertisements are downloaded for off-line display
US5862220A (en) * 1996-06-03 1999-01-19 Webtv Networks, Inc. Method and apparatus for using network address information to improve the performance of network transactions
US5844986A (en) * 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5892904A (en) * 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
ATE224124T1 (de) 1997-01-27 2002-09-15 Koninkl Philips Electronics Nv Verfahren und vorrichtung zur übertragung von inhaltsinformation und darauf bezogener zusatzinformation
US5805663A (en) 1997-05-08 1998-09-08 Futec, Inc. Radiation imaging method and system
EP0878796B1 (en) * 1997-05-13 2006-04-19 Kabushiki Kaisha Toshiba Information recording apparatus, information reproducing apparatus, and information distribution system
US6028600A (en) * 1997-06-02 2000-02-22 Sony Corporation Rotary menu wheel interface
US5968136A (en) 1997-06-05 1999-10-19 Sun Microsystems, Inc. Apparatus and method for secure device addressing
DE69828279T2 (de) 1997-06-06 2005-12-08 Thomson Multimedia Inc., Indianapolis Globales bedingtes zugangssystem für rundfunkdienste
JP2001513587A (ja) * 1997-07-31 2001-09-04 サイエンティフィック−アトランタ・インコーポレーテッド 条件付きアクセスシステムにおける情報のプログラムのソースの検証
JP2003521820A (ja) 1997-08-01 2003-07-15 サイエンティフィック−アトランタ, インコーポレイテッド 条件付きアクセスシステム
US6185678B1 (en) * 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
EP0909094A1 (en) 1997-10-07 1999-04-14 CANAL+ Société Anonyme Multithread data processor
US6351467B1 (en) * 1997-10-27 2002-02-26 Hughes Electronics Corporation System and method for multicasting multimedia content
EP0914001A1 (en) 1997-10-28 1999-05-06 CANAL+ Société Anonyme Downloading of applications in a digital decoder
US6125447A (en) 1997-12-11 2000-09-26 Sun Microsystems, Inc. Protection domains to provide security in a computer system
US6069647A (en) * 1998-01-29 2000-05-30 Intel Corporation Conditional access and content security method
EP0936813A1 (en) 1998-02-16 1999-08-18 CANAL+ Société Anonyme Processing of digital picture data in a decoder
EP0946019A1 (en) 1998-03-25 1999-09-29 CANAL+ Société Anonyme Authentification of data in a digital transmission system
US6745245B1 (en) * 1998-04-09 2004-06-01 Webtv Networks, Inc. Managing access to set-top box objects using television conditional access system
US6219788B1 (en) * 1998-05-14 2001-04-17 International Business Machines Corporation Watchdog for trusted electronic content distributions
US6256393B1 (en) * 1998-06-23 2001-07-03 General Instrument Corporation Authorization and access control of software object residing in set-top terminals
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
US6377690B1 (en) * 1998-09-14 2002-04-23 Lucent Technologies Inc. Safe transmission of broadband data messages
US6550008B1 (en) * 1999-02-26 2003-04-15 Intel Corporation Protection of information transmitted over communications channels
KR100679498B1 (ko) * 1999-09-03 2007-02-07 제너럴 인스트루먼트 코포레이션 오브젝트와 자원에 대한 액세스 자격 부여 방법
CA2386984A1 (en) * 1999-10-08 2001-04-19 General Instrument Corporation Object and resource security system

Also Published As

Publication number Publication date
EP1290887A2 (en) 2003-03-12
US20020092015A1 (en) 2002-07-11
JP2003535517A (ja) 2003-11-25
WO2001093577B1 (en) 2002-07-11
CA2377678A1 (en) 2001-12-06
AU2001261146A1 (en) 2001-12-11
KR20020019577A (ko) 2002-03-12
JP2003535518A (ja) 2003-11-25
CN1179549C (zh) 2004-12-08
JP2003535519A (ja) 2003-11-25
US20020032903A1 (en) 2002-03-14
WO2001093580B1 (en) 2002-07-25
US20060053439A1 (en) 2006-03-09
KR20020019575A (ko) 2002-03-12
WO2001093586A3 (en) 2002-04-18
EP1285532A2 (en) 2003-02-26
EP1285534A2 (en) 2003-02-26
WO2001093580A3 (en) 2002-06-27
CN1381136A (zh) 2002-11-20
CA2377729A1 (en) 2001-12-06
CN1381129A (zh) 2002-11-20
AU2001261179A1 (en) 2001-12-11
US20020002706A1 (en) 2002-01-03
WO2001093577A2 (en) 2001-12-06
CN1381130A (zh) 2002-11-20
AU2001261152A1 (en) 2001-12-11
WO2001093586A2 (en) 2001-12-06
AU2001261177A1 (en) 2001-12-11
CN1202652C (zh) 2005-05-18
EP1297704A2 (en) 2003-04-02
WO2001093581A3 (en) 2002-05-23
US20020003884A1 (en) 2002-01-10
US8356314B2 (en) 2013-01-15
WO2001093577A3 (en) 2002-04-11
CN1192623C (zh) 2005-03-09
CN100361526C (zh) 2008-01-09
US20130104199A1 (en) 2013-04-25
CA2379128A1 (en) 2001-12-06
WO2001093580A2 (en) 2001-12-06
JP2003535520A (ja) 2003-11-25
KR20020019576A (ko) 2002-03-12
US8904424B2 (en) 2014-12-02
CA2377679A1 (en) 2001-12-06
CN1381138A (zh) 2002-11-20
WO2001093581A2 (en) 2001-12-06
WO2001093580A9 (en) 2002-02-28

Similar Documents

Publication Publication Date Title
KR20020019562A (ko) 인증 및/또는 허가 개시 방법
US7590996B2 (en) Intrusion detection for object security
MXPA03005272A (es) Acceso condicional para unidades funcionales.
US20060020790A1 (en) Authorization using ciphertext tokens in a content receiver
KR20020038807A (ko) 객체 및 자원 보안 시스템
KR100679498B1 (ko) 오브젝트와 자원에 대한 액세스 자격 부여 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid