KR101102717B1 - 애플리케이션 실행장치, 애플리케이션 실행방법, 집적회로, 및 컴퓨터 판독가능한 기록매체 - Google Patents

애플리케이션 실행장치, 애플리케이션 실행방법, 집적회로, 및 컴퓨터 판독가능한 기록매체 Download PDF

Info

Publication number
KR101102717B1
KR101102717B1 KR1020067004715A KR20067004715A KR101102717B1 KR 101102717 B1 KR101102717 B1 KR 101102717B1 KR 1020067004715 A KR1020067004715 A KR 1020067004715A KR 20067004715 A KR20067004715 A KR 20067004715A KR 101102717 B1 KR101102717 B1 KR 101102717B1
Authority
KR
South Korea
Prior art keywords
application
application program
permission
resource
unit
Prior art date
Application number
KR1020067004715A
Other languages
English (en)
Other versions
KR20060076768A (ko
Inventor
요시노리 이마니시
Original Assignee
파나소닉 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 파나소닉 주식회사 filed Critical 파나소닉 주식회사
Publication of KR20060076768A publication Critical patent/KR20060076768A/ko
Application granted granted Critical
Publication of KR101102717B1 publication Critical patent/KR101102717B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • H04N21/23617Multiplexing of additional data and video streams by inserting additional data into a data carousel, e.g. inserting software modules into a DVB carousel
    • 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/27Server based end-user applications
    • 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

Abstract

미서명 애플리케이션에 부여된 자원에 대한 액세스 허가로 애플리케이션이 기동한다. 애플리케이션의 실행과 병행하여, 변형조사가 변형조사 스레드를 이용하여 수행된다. 미서명 애플리케이션에 부여되지 않은 자원에 대한 액세스를 변형조사 완료 전 애플리케이션의 실행 중에 요청받을 때, 변형조사의 완료 때까지 애플리케이션은 대기상태에 있는다. 변형조사 결과 애플리케이션이 변형되지 않은 것으로 판정되면, 애플리케이션은 애플리케이션에 포함된 허가정보가 지정하는 자원에 대한 액세스 허가를 추가로 부여받는다. 이 추가로 부여받은 액세스 허가가 자원에 대한 액세스 권한을 포함하면, 애플리케이션의 실행은 계속된다.
Figure R1020067004715
응용 프로그램, 탬퍼, 변형, 리소스, 허가정보, 액세스, 기동

Description

애플리케이션 실행장치, 애플리케이션 실행방법, 집적회로, 및 컴퓨터 판독가능한 기록매체{Application execution device, application execution method, integrated circuit, and computer-readable medium}
본 발명은 애플리케이션 프로그램을 실행하는 애플리케이션 실행장치에 관한 것으로, 특히 디지털 텔레비전 방송을 통하여 취득한 애플리케이션 프로그램을 실행하는 기술에 관한 것이다.
최근 들어, 다양한 디지털 텔레비전 방송 표준에 대한 연구가 진행되고 있다. 이러한 표준의 일 예로 많은 국가에서 적용하고 있는 MHP(Multimedia Home Platform)가 있다. MHP에 따르면, 방송장치는 방송파에 애플리케이션 프로그램(이하, 간단하게 "애플리케이션"이라 한다)을 다중화하고, 객체 주기전송(object carousel)을 이용하여 이를 송신하며, 디지털 텔레비전 수신장치는 이 애플리케이션을 수신하여 실행한다.
그러한 애플리케이션을 실행함으로써, 디지털 텔레비전 수신장치는 종래의 텔레비전 수신장치에 적용할 수 없는 다양한 기능을 달성할 수 있다. 일 예로, 대화형 텔레비전 시스템은 방송파로부터 수신한 방송 프로그램에 관련하여 애플리케이션이 수집한 정보를 인터넷과 같은 네트워크를 통하여 방송국에 송신한다.
그러나, 디지털 텔레비전 수신장치의 파일 시스템의 사용 및 네트워크의 접속과 같은 자원(resource)에 대한 무제한 액세스가 애플리케이션에 주어진다면, 사용자는 피해로 고통을 받을 수 있고 디지털 텔레비전 수신장치의 제어 시스템은 애플리케이션이 악의의 코드를 포함하는 경우 불리하게 영향을 받을 수 있다. 예를 들어, 악의의 코드를 포함하는 애플리케이션을 실행함으로써 시청 중에 채널 전환이 일어날 수 있거나, 또는 디지털 텔레비전 수신장치에 저장된 정보가 누출되거나 파괴될 수 있다. 이를 피하기 위하여, MHP 규격의 섹션 12 "시큐리티(security)"에는 애플리케이션을 안전하게 실행하는 방법을 정의하고 있다.
이 섹션에 따르면, 두 가지 종류의 애플리케이션이 있다. 즉, 인증될 필요가 없는 미서명 애플리케이션(unsigned application)과, 인증될 필요가 있는 서명 애플리케이션(signed application)이다.
미서명 애플리케이션은 인증되지 않고 실행되지만, 시스템을 보호하기 위하여 시스템에 불리하게 작용할 수 있는 자원에 대한 액세스가 금지된다.
서명 애플리케이션은 미서명 애플리케이션보다 더 많은 자원에 액세스하는 것이 허용된다. 그러나, 기동 전, X.509 인증서를 이용하여 애플리케이션의 송신기를 식별하고 애플리케이션이 해시 값에 기초하여 변형되었는지를 조사함으로써 서명 애플리케이션에 대해 인증을 수행한다. 인증이 성공한 경우에만, 서명 애플리케이션이 기동한다. 이에 따라, 신뢰 송신기로부터 전송된 유효 애플리케이션으로 인증된 서명 애플리케이션만을 실행함으로써 시스템이 보호된다.
그러나, 이 기술은 다음의 문제를 갖는다. 서명 애플리케이션이 미서명 애플 리케이션보다 높은 기능을 제공하지만, 서명 애플리케이션은 처음에 인증될 필요가 있기 때문에 신속하게 기동할 수 없다. 이것은 고기능 애플리케이션을 더 빠르게 기동하는 기술에 대한 요구를 발생한다.
본 발명은 보안을 유지하면서 고기능 애플리케이션의 기동을 신속하게 할 수 있는 애플리케이션 실행장치, 애플리케이션 실행방법, 애플리케이션 실행장치용 집적회로, 및 컴퓨터-판독가능한 프로그램을 제공하는 것을 목적으로 한다.
상기한 목적은 자원을 액세스하라는 명령을 포함하는 애플리케이션 프로그램을 취득하는 취득부; 상기 취득한 애플리케이션 프로그램이 변형되었는지를 판정하는 판정부; 제 1 자원만의 액세스에 대한 허가를 나타내는 임시 허가정보를 취득하는 임시 허가(tentative permission) 설정부; 상기 제 1 자원과 제 2 자원의 액세스에 대한 허가를 나타내는 확정 허가정보를 취득하는 확정 허가(definite permission) 설정부; 및 상기 판정부가 상기 판정을 완료하기 전에 상기 임시 허가정보가 나타낸 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 실행하기 시작하고, 상기 판정부가 상기 판정을 완료한 후 상기 애플리케이션 프로그램이 변형되지 않은 것으로 판정되면 상기 확정 허가정보가 나타내는 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 계속 실행하는 실행부를 포함하는 애플리케이션 실행장치에 의해 달성될 수 있다.
상기한 구성에 따르면, 애플리케이션 실행장치는 변형조사가 완료되는 대기시간 없이 애플리케이션 프로그램을 실행할 수 있다. 변형조사 결과 애플리케이션 프로그램이 변형되지 않은 것으로 판정되면, 애플리케이션 프로그램은 제 1 자원뿐만 아니라 제 2 자원에 대한 액세스를 부여받는다. 이는 제 2 자원에 대한 액세스를 요구하는 고기능 애플리케이션 프로그램을 구현할 수 있도록 한다.
따라서, 높은 시큐리티를 유지하면서 고기능 애플리케이션 프로그램을 신속하게 기동할 수 있다.
여기서, 상기 애플리케이션 프로그램이 변형된 것으로 판정되면, 상기 실행부는 상기 애플리케이션 프로그램의 파일 사이즈가 0(zero)인 것으로 추정할 수 있다.
이러한 방법으로, 장치에 불리하게 작용할 수 있는 제 2 자원을 액세스하라는 명령을 포함하도록 애플리케이션 프로그램이 변형되었더라도 높은 시큐리티가 유지될 수 있다.
여기서, 상기 취득부가 상기 애플리케이션 프로그램의 취득을 완료하기 전에 상기 실행부는 상기 애플리케이션 프로그램을 실행하기 시작할 수 있다.
상기한 구성에 의하면, 애플리케이션 실행장치는 애플리케이션 프로그램의 취득이 완료되는 대기시간 없이 애플리케이션 프로그램을 기동할 수 있다.
이는 애플리케이션 프로그램이 더 신속하게 기동하도록 할 수 있다.
여기서, 취득부는 상기 애플리케이션 프로그램을 운반하는 디지털 스트림을 수신함으로써 상기 애플리케이션 프로그램을 취득할 수 있다.
상기한 구성에 의하면, 디지털 스트림의 낮은 전송률에 기인하여 애플리케이션 프로그램을 취득하는데 오랜 시간이 걸리는 경우, 애플리케이션 실행장치는 애플리케이션 프로그램의 취득이 완료되는 것을 기다리지 않고 애플리케이션 프로그램을 기동할 수 있다.
따라서, 애플리케이션 프로그램은 애플리케이션 프로그램을 운반하는 디지털 스트림의 전송률에 관계없이 신속하게 기동할 수 있다.
여기서, 상기 디지털 스트림은 디지털 텔레비전 방송의 트랜스포트 스트림(transport stream)일 수 있으며, 상기 애플리케이션 프로그램은 객체 주기전송(object carousel)을 이용하여 상기 트랜스포트 스트림에 다중화된다.
디지털 텔레비전 수신장치가 객체 주기전송을 이용하여 트랜스포트 스트림으로 송신되는, 예를 들어, 100,000 스텝의 애플리케이션 프로그램을 취득하는데 요구되는 시간은 객체 주기전송의 한 사이클에 대응하는 대략 20초 정도이다. 이것은 전체 애플리케이션 프로그램에 대해 수행할 필요가 있는 변형조사를 완료하기 전에 적어도 20초가 필요하다는 것을 의미한다. 상기한 구성을 갖는 애플리케이션 실행장치는 애플리케이션 프로그램의 취득이 완료되는 그러한 대기 시간없이 애플리케이션 프로그램을 기동할 수 있다.
따라서, 애플리케이션 프로그램의 기동은 기동에 필요한 애플리케이션 프로그램 부분이 취득될 때부터 전체 애플리케이션 프로그램이 취득될 때까지의 시간만큼 가속될 수 있다.
여기서, 상기 제 1 자원은 MHP(Multimedia Home Platform)에서 미서명 애플리케이션이 액세스하도록 허가된 자원일 수 있다.
상기한 구성에 따르면, 변형조사의 완료 전에 MHP에서 종래의 미서명 애플리케이션 프로그램이 액세스하도록 허가된 제 1 자원에 대한 액세스를 부여받는다. 반면, MHP에서 종래 미서명 애플리케이션 프로그램이 장치에 불리하게 작용할 위험성 때문에 액세스가 금지된 제 2 자원을 애플리케이션 프로그램이 액세스하는 것은 변형조사의 완료 때까지 금지된다.
따라서, 종래 미서명 애플리케이션 프로그램과 같은 레벨의 시큐리티가 변형조사 완료 때까지 유지될 수 있다.
여기서, 애플리케이션 실행장치는, 송신기를 식별하기 위한 송신기정보에 기초하여 상기 애플리케이션 프로그램의 송신기를 식별하는 송신기 식별부를 추가로 포함할 수 있으며, 상기 객체 주기전송은 상기 애플리케이션 프로그램에 더하여 상기 송신기정보를 포함하고, 상기 취득부는 상기 송신기정보를 추가로 포함하고, 상기 실행부는 상기 송신기 식별부가 상기 송신기의 식별을 완료한 후 상기 애플리케이션 프로그램을 실행하기 시작한다.
상기한 구성에 따르면, 애플리케이션 실행장치는 송신기가 식별될 때까지 애플리케이션 프로그램을 기동할 수 없다. 이는 신뢰하지 못하는 송신기로부터 전송된 애플리케이션 프로그램의 실행을 방지하며, 이에 따라 시큐리티를 향상시킬 수 있다.
여기서, 상기 취득부는 상기 애플리케이션 프로그램의 종류를 나타내는 애플리케이션 식별자를 추가로 취득할 수 있고, 상기 취득한 애플리케이션 식별자가 나타낸 종류가 기설정된 종류와 일치하면, 상기 실행부는 상기 판정부가 상기 판정을 완료하기 전에 상기 애플리케이션 프로그램을 실행하기 시작한다.
상기한 구성에 의하면, 애플리케이션 프로그램은 애플리케이션 프로그램의 종류에 따라 변형조사 완료 전에 애플리케이션 프로그램을 기동한다.
이러한 방법으로, 본 발명에 따른 새로운 종류의 애플리케이션 프로그램은 변형조사 완료까지 기동할 수 없는 종래 서명 애플리케이션 프로그램과는 다르게 처리될 수 있다.
여기서, 상기 애플리케이션 프로그램에 포함된 상기 명령을 실행하는 과정에서, 상기 실행부가 상기 제 2 자원을 액세스하라는 명령에 이르렀지만 상기 판정부가 상기 판정을 완료하지 못한 경우, 상기 실행부는 상기 판정부가 상기 판정을 완료할 때까지 대기할 수 있다.
상기한 구성에 따르면, 애플리케이션 프로그램은 변형조사 완료까지 제 2 자원의 액세스가 금지된다. 장치에 불리하게 작용할 수 있는 제 2 자원에 대한 액세스를 금지함으로써 높은 시큐리티가 유지된다. 변형조사가 완료되고 애플리케이션 프로그램이 변형되지 않은 것으로 판정된 후, 애플리케이션 프로그램은 제 2 자원에 대한 액세스를 부여받는다. 이것은 고기능 애플리케이션 프로그램을 구현할 수 있게 한다.
여기서, 상기 애플리케이션 프로그램은 상기 애플리케이션 프로그램의 해시값을 나타내는 해시정보를 포함할 수 있으며, 상기 판정부는 상기 취득한 애플리케이션 프로그램의 해시값을 산출하고 상기 산출한 해시값을 상기 해시정보가 나타낸 상기 해시값과 비교함으로써 상기 취득한 애플리케이션 프로그램이 변형되었는지를 판정한다.
상기한 구성에 의하면, 애플리케이션 프로그램의 적어도 한 부분이 변형되었다면, 해시값의 비교는 불일치를 가져온다. 그러므로, 애플리케이션의 변형은 정확하게 검출될 수 있어 높은 시큐리티를 구현하는 것이 가능하다.
여기서, 상기 취득부는 서로 다른 레벨의 변형(tempering) 위험성을 갖는 다수의 취득경로 중 하나를 통하여 상기 애플리케이션 프로그램을 취득할 수 있고, 상기 임시 허가 설정부는 상기 애플리케이션 프로그램의 취득경로에 대응하는 상기 임시 허가정보를 취득하며, 상기 애플리케이션 프로그램의 취득경로가 갖는 변형 위험성의 레벨이 낮을수록 상기 취득경로에 대응하는 상기 임시 허가정보는 그에 대한 액세스가 상기 애플리케이션 실행장치에 불리하게 작용할 위험성이 더 높은 자원을 포함하는 상기 제 1 자원의 액세스에 대한 허가를 나타낸다.
상기한 구성에 의하면, 애플리케이션 프로그램의 취득경로가 갖는 변형 위험성의 레벨이 상대적으로 낮은 안전 취득경로로부터 취득되는 경우, 애플리케이션 프로그램은 장치에 불리하게 작용할 위험성을 갖는 자원을 포함하는 더 많은 자원에 대한 액세스를 부여받는다. 이것은 애플리케이션 프로그램의 더 많은 명령이 실행될 수 있게 하여 실행부가 제 2 자원을 액세스하라는 명령에 이르는 시간까지 변형조사가 완료될 것 같게 한다.
이것은 변형조사의 완료를 기다릴 필요성을 감소한다. 따라서, 사용자는 높은 시큐리티를 유지하면서 곤란 없이 애플리케이션 프로그램을 이용할 수 있다.
여기서, 상기 애플리케이션 프로그램의 취득경로가 갖는 변형 위험성의 레벨이 낮은 취득경로는 상기 애플리케이션 프로그램은 암호화된 형태로 있으며, 상기 애플리케이션 프로그램의 취득경로가 갖는 변형 위험성의 레벨이 높은 취득경로는 상기 애플리케이션 프로그램은 암호화되지 않은 형태로 되어 있다.
상기한 구성에 의하면, 애플리케이션 프로그램이 암호화된 형태로 취득될 때, 애플리케이션 프로그램은 장치에 불리하게 작용할 위험성을 갖는 자원을 포함하는 더 많은 자원에 대한 액세스를 부여받는다. 이것은 애플리케이션 프로그램의 더 많은 명령이 실행될 수 있게 한다.
그 결과, 변형조사 완료를 기다릴 필요성이 감소한다. 따라서, 사용자는 높은 시큐리티를 유지하면서 곤란 없이 애플리케이션 프로그램을 이용할 수 있다.
여기서, 취득부는 애플리케이션 프로그램을 취득하는데 필요한 서로 다른 시간을 갖는 다수의 취득경로 중 하나를 통하여 상기 애플리케이션 프로그램을 취득하고, 상기 임시 허가 설정부는 상기 애플리케이션 프로그램의 취득경로에 대응하는 상기 임시 허가정보를 취득하며, 상기 애플리케이션 프로그램의 취득경로가 더 오랜 시간을 필요로 할 때, 상기 취득경로에 대응하는 상기 임시 허가정보는, 그에 대한 액세스가 상기 애플리케이션 실행장치에 불리하게 작용할 더 높은 위험성을 갖는 자원을 포함하는 상기 제 1 자원의 액세스에 대한 허가를 나타낸다.
애플리케이션 프로그램이 애플리케이션 프로그램의 취득에 대해 요구되는 더 오랜 시간을 갖는 취득경로로부터 취득될 때, 변형조사 완료 전 더 오랜 시간이 걸린다. 상기한 구성에 따르면, 이러한 애플리케이션 프로그램은 변형조사 완료 전, 장치에 불리하게 작용할 위험성을 갖는 자원을 포함하는 더 많은 자원에 대한 액세스를 부여받는다. 이것은 애플리케이션 프로그램의 더 많은 명령이 실행될 수 있게 하여 실행부가 제 2 자원을 액세스하라는 명령에 이르는 시간까지 변형조사가 완료될 것 같게 한다.
그 결과, 변형조사 완료를 기다릴 필요성이 감소한다. 따라서, 사용자는 높은 시큐리티를 유지하면서 곤란 없이 애플리케이션 프로그램을 이용할 수 있다.
여기서, 상기 취득부가 기록매체로부터 상기 애플리케이션 프로그램을 판독함으로써 상기 애플리케이션 프로그램을 취득하고 상기 판정부가 상기 애플리케이션 프로그램이 변형되지 않은 것으로 판정하면, 상기 판정부가 상기 판정을 완료한 후 상기 애플리케이션 프로그램을 실행하기 시작하는 서명 애플리케이션 실행부를 추가로 포함할 수 있으며, 상기 취득부가 상기 애플리케이션 프로그램을 운반하는 디지털 스트림을 수신함으로써 상기 애플리케이션 프로그램을 취득하면, 상기 실행부는 상기 판정부가 상기 판정을 완료하기 전에 상기 애플리케이션 프로그램을 실행하기 시작한다.
기록매체로부터 애플리케이션 프로그램을 취득하는데 짧은 시간이 걸리며, 따라서 애플리케이션 프로그램에 대해 변형조사를 하는데 짧은 시간이 걸린다. 이 경우, 상기한 구성을 갖는 애플리케이션 실행장치는 종래 서명 애플리케이션 프로그램과 같은 방법으로 변형조사 완료 후 애플리케이션 프로그램을 기동한다. 그 결과, 종래 서명 애플리케이션 프로그램과 같은 레벨의 시큐리티가 달성된다.
반면, 디지털 스트림으로부터 애플리케이션 프로그램을 취득하는데 오랜 시간이 걸리고 따라서 애플리케이션 프로그램에 대해 변형조사를 수행하는데 오랜 시간이 걸린다. 그 경우, 애플리케이션 실행장치는 변형조사 완료를 기다리지 않고 제 1 자원만에 대한 액세스를 부여하고 애플리케이션 프로그램을 기동한다. 변형조사가 완료되고 애플리케이션 프로그램이 변형되지 않은 것으로 판정된 후, 애플리케이션 프로그램은 제 1 자원에 대한 액세스를 추가로 부여받고, 그 결과로 제 2 자원을 액세스하라는 명령이 실행될 수 있다. 이에 따라, 애플리케이션 프로그램의 기동은 시큐리티를 유지하면서 가속된다.
또한, 상기한 목적은 자원을 액세스하라는 명령을 포함하는 애플리케이션 프로그램을 취득하는 취득부; 상기 취득한 애플리케이션 프로그램이 변형되었는지를 판정하는 판정부; 제 1 자원만의 액세스에 대한 허가를 나타내는 임시 허가정보를 취득하는 임시 허가(tentative permission) 설정부; 상기 제 1 자원과 제 2 자원의 액세스에 대한 허가를 나타내는 확정 허가정보를 취득하는 확정 허가(definite permission) 설정부; 및 상기 판정부가 상기 판정을 완료하기 전에 상기 임시 허가정보가 나타낸 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 실행하기 시작하고, 상기 판정부가 상기 판정을 완료한 후 상기 애플리케이션 프로그램이 변형되지 않은 것으로 판정되면 상기 확정 허가정보가 나타내는 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 계속 실행하는 실행부를 포함하는 것을 특징으로 하는 집적회로에 의해 달성될 수 있다.
상기한 구성에 의하면, 집적회로는 변형조사가 완료되는 대기시간 없이 애플리케이션 프로그램을 실행할 수 있다. 변형조사 결과 애플리케이션 프로그램이 변형되지 않은 것으로 판정되면, 애플리케이션 프로그램은 제 1 자원뿐만 아니라 제 2 자원에 대한 액세스를 부여받는다. 이는 제 2 자원에 대한 액세스를 요구하는 고기능 애플리케이션 프로그램을 구현할 수 있도록 한다.
따라서, 높은 시큐리티를 유지하면서 고기능 애플리케이션 프로그램을 신속하게 기동할 수 있다.
상기한 목적은 또한 자원을 액세스하라는 명령을 포함하는 애플리케이션 프로그램을 취득하는 취득 단계; 상기 취득한 애플리케이션 프로그램이 변형되었는지를 판정하는 판정 단계; 제 1 자원만의 액세스에 대한 허가를 나타내는 임시 허가정보를 취득하는 임시 허가(tentative permission) 설정 단계; 상기 제 1 자원과 제 2 자원의 액세스에 대한 허가를 나타내는 확정 허가정보를 취득하는 확정 허가(definite permission) 설정 단계; 및 상기 판정부가 상기 판정을 완료하기 전에 상기 임시 허가정보가 나타낸 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 실행하기 시작하고, 상기 판정부가 상기 판정을 완료한 후 상기 애플리케이션 프로그램이 변형되지 않은 것으로 판정되면 상기 확정 허가정보가 나타내는 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 계속 실행하는 실행 단계를 포함하는 애플리케이션 실행방법에 의해 달성될 수 있다.
상기한 방법에 의하면, 애플리케이션 프로그램은 변형조사가 완료되는 대기시간 없이 기동할 수 있다. 변형조사 결과 애플리케이션 프로그램이 변형되지 않은 것으로 판정되면, 애플리케이션 프로그램은 제 1 자원뿐만 아니라 제 2 자원에 대한 액세스를 부여받는다. 이는 제 2 자원에 대한 액세스를 요구하는 고기능 애플리케이션 프로그램을 구현할 수 있도록 한다.
따라서, 높은 시큐리티를 유지하면서 고기능 애플리케이션 프로그램을 신속하게 기동할 수 있다.
상기한 목적은 또한 자원을 액세스하라는 명령을 포함하는 애플리케이션 프로그램을 취득하는 취득 단계; 상기 취득한 애플리케이션 프로그램이 변형되었는지를 판정하는 판정 단계; 제 1 자원만의 액세스에 대한 허가를 나타내는 임시 허가정보를 취득하는 임시 허가(tentative permission) 설정 단계; 상기 제 1 자원과 제 2 자원의 액세스에 대한 허가를 나타내는 확정 허가정보를 취득하는 확정 허가(definite permission) 설정 단계; 및 상기 판정부가 상기 판정을 완료하기 전에 상기 임시 허가정보가 나타낸 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 실행하기 시작하고, 상기 판정부가 상기 판정을 완료한 후 상기 애플리케이션 프로그램이 변형되지 않은 것으로 판정되면 상기 확정 허가정보가 나타내는 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 계속 실행하는 실행 단계를 컴퓨터로 하여금 수행하도록 하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체에 의해 달성될 수 있다.
상기한 기록매체에 따르면, 애플리케이션 프로그램은 변형조사가 완료되는 대기시간 없이 기동할 수 있다. 변형조사 결과 애플리케이션 프로그램이 변형되지 않은 것으로 판정되면, 애플리케이션 프로그램은 제 1 자원뿐만 아니라 제 2 자원에 대한 액세스를 부여받는다. 이는 제 2 자원에 대한 액세스를 요구하는 고기능 애플리케이션 프로그램을 구현할 수 있도록 한다.
따라서, 높은 시큐리티를 유지하면서 고기능 애플리케이션 프로그램을 신속하게 기동할 수 있다.
도 1은 본 발명의 제 1 실시예가 관련한 디지털 텔레비전 수신장치를 포함하 는 대화형 텔레비전 시스템의 구성을 나타낸다.
도 2a는 송신 데이터의 구조를 나타낸다.
도 2b는 도 2a에 나타낸 송신 데이터를 운반하는 트랜스포트 스트림의 설명이다.
도 3은 도 2에 도시된 관리정보의 데이터 구조의 설명이다.
도 4는 도 2에 나타낸 애플리케이션의 디렉터리 구조의 설명이다.
도 5는 도 4에 나타낸 송신기정보 파일의 데이터 구조를 나타낸다.
도 6은 도 4에 나타낸 해시정보 파일의 데이터 구조를 나타낸다.
도 7은 도 4에 나타낸 변형(tamper) 조사 해시값 파일의 데이터 구조를 나타낸다.
도 8은 도 4에 나타낸 허가정보 파일의 일 예를 나타낸다.
도 9는 MHP에 따라 미서명 애플리케이션과 서명 애플리케이션에 대해 지정된 액세스 허가를 나타낸다.
도 10은 도 1에 도시된 디지털 텔레비전 수신장치의 하드웨어 구조를 보여준다.
도 11은 도 10에 나타낸 ROM에 저장된 프로그램의 기능적 구성을 나타낸다.
도 12는 애플리케이션의 실행을 제어하기 위한 기능적 구성을 나타낸다.
도 13은 디지털 텔레비전 수신장치의 채널 선택 처리절차를 나타내는 플로차트이다.
도 14a는 디지털 텔레비전 수신장치의 애플리케이션 기동제어 처리절차를 나 타내는 플로차트이다.
도 14b는 도 14a의 단계 S22에서 생성된 변형 조사 스레드(thread)의 처리절차를 나타내는 플로차트이다.
도 15는 애플리케이션에 의한 자원에의 액세스를 제어하는 처리절차를 나타내는 플로차트이다.
도 17은 본 발명의 제 2 실시예가 관련한 디지털 텔레비전 수신장치의 하드웨어 구성을 나타낸다.
도 18은 도 17에 도시된 디지털 텔레비전 수신장치에서 애플리케이션의 실행을 제어하기 위한 기능적 구성을 나타낸다.
도 19는 도 17에 도시된 디지털 텔레비전 수신장치에서 기동시 액세스 허가를 설정하는 처리절차를 나타내는 플로차트이다.
도 20은 제 2 실시예의 변형인 처리절차를 나타내는 플로차트이다.
(제 1 실시예)
다음은 본 발명의 애플리케이션 실행장치의 제 1 실시예를 설명한다. 제 1 실시예에서, 방송파로부터 애플리케이션을 취득하고 이 애플리케이션을 실행하는 디지털 텔레비전 수신장치가 애플리케이션 실행장치의 일 예로 이용된다.
도 1은 본 발명의 제 1 실시예가 관련한 디지털 텔레비전 수신장치를 포함하는 대화형 텔레비전 시스템의 구성을 나타낸다.
도면에서, 방송장치(1)는 디지털 텔레비전 방송국에 설치된다. 방송장치(1) 는 디지털 텔레비전 방송의 송신 데이터(10)를 송신하고, 인터넷과 같은 네트워크를 통하여 디지털 텔레비전 수신장치(2)로부터 정보를 수신한다.
디지털 텔레비전 수신장치(2)는 디지털 텔레비전 방송의 시청자가 이용한다. 디지털 텔레비전 수신장치(2)는 방송장치(1)로부터 디지털 텔레비전 방송의 송신 데이터(10)를 수신한다. 디지털 텔레비전 수신장치(10)는 송신 데이터(10)에 포함된 방송 프로그램을 재생하는 기능과, 송신 데이터(10)에 포함된 애플리케이션을 실행하는 기능을 갖는다. 애플리케이션의 실행을 통하여, 디지털 텔레비전 수신장치(2)는 네트워크를 통하여 방송장치(1)에 정보를 송신한다. 이와 같은 방법으로, 대화형 서비스가 달성된다.
도 2a는 방송장치(1)로부터 송신되는 송신 데이터(10)의 구조를 나타낸다. 설명된 바와 같이, 송신 데이터(10)는 대략 방송 프로그램의 비디오 데이터(11)와 오디오 데이터(12), 및 부가 데이터(13)로 구성된다. 송신 데이터(10)는 실제, 도 2b에 도시된 바와 같이, 비디오 데이터(11) 스트림, 오디오 데이터(12) 스트림, 및 객체 주기전송에 의해 운반되는 DSM-CC 섹션의 부가 데이터(13)를 다중화하여 생성되는 MPEG2 트랜스포트 스트림에 의해 구현된다. MPEG2 트랜스포트 스트림과 DSM-CC는 각각 MPEG 규격 ISO/IEC 138181-1과 138181-6에 상세하게 기술되며, 여기서는 이들에 대한 설명은 생략한다.
부가 데이터(13)는 자바(Java; 상표명)로 기록된 프로그램인 애플리케이션(14)과 애플리케이션(14)을 위한 관리정보(15)를 포함한다. 객체 주기전송이 부가 데이터(13)에 대해 이용되기 때문에, 동일한 정보가 주기적으로 송신된다. 이에 따 라, 시청자가 송신 데이터(10)에 대응하는 채널을 언제 선택하느냐에 관계없이 디지털 텔레비전 수신장치(2)는 기설정된 시간 내에 전체 부가 데이터(13)를 취득할 수 있다.
도 3은 관리정보(15)의 데이터 구조의 설명이다.
도면에서, 관리정보(15)는 애플리케이션 식별자(16), 실행플래그(17), 유지플래그(18), 및 유지정보(19)를 포함한다.
애플리케이션 식별자(16)는 값 0x0000 내지 0xFFFF 중 하나를 취하고, 애플리케이션(14)을 고유하게 식별한다. 애플리케이션 식별자(16)가 0x0000 내지 0x3FFF 범위에 있을 때, 애플리케이션(14)은 MHP에서 정의한 미서명 애플리케이션이다. 애플리케이션 식별자(16)가 0x4000 내지 0x7FFF 범위 내에 있을 때, 애플리케이션(14)은 MHP에서 정의한 서명 애플리케이션이다. 애플리케이션 식별자(16)가 0x8000 내지 0xFFFF 범위 내에 있을 때, 애플리케이션(14)은 이 실시예에 따른 새로운 종류의 애플리케이션인 임시 미서명 애플리케이션(tentative unsigned application)이다.
도 4는 도 2에 나타낸 애플리케이션의 디렉터리 구조의 설명이다. 도면에서, 애플리케이션(14)은 루트 디렉터리(21) 아래에 애플리케이션 디렉터리(22)를 갖는다. 애플리케이션 디렉터리(22)는 송신기정보 파일(23), 애플리케이션 디렉터리(22)에 대한 해시정보 파일(24), 변형조사 해시값 파일(25), 및 메인 클래스 디렉터리(26)를 포함한다.
메인 클래스 디렉터리(26)는 메인 클래스 디렉터리(26)에 대한 해시정보 파 일(27), 메인 클래스 파일(29), 및 서브클래스 디렉터리(30)를 포함한다. 서브클래스 디렉터리(30)는 서브클래스 디렉터리(30)에 대한 해시정보 파일(31), 및 서브클래스 파일(32, 33)을 포함한다.
도 5는 도 4에 나타낸 송신기정보 파일의 데이터 구조를 상세하게 나타낸다. 이 송신기정보 파일(23)은 애플리케이션(14)의 송신기의 정체를 입증하기 위한 X.509 인증서이다. X.509 인증서에서, 발행자명(23a)은 송신기의 이름을 나타내고, 공개 키 정보(23b)는 변형조사 해시값 파일(25)의 서명 데이터를 해독하는데 이용되는 공개 키를 나타낸다. X.509는 RFC 2459 등에 상세하게 설명되어 있어 여기서는 이에 대한 설명을 생략한다.
도 6은 도 4에 나타낸 해시정보 파일(24)의 데이터 구조를 상세하게 나타낸다. 해시정보 파일(24)은 해시값의 개수를 나타내는 해시값 카운트(24a), 및 해시값에 일-대-일로 대응하는 다수의 정보 세트를 포함한다. 정보 세트의 각각은 해시 알고리즘(24b), 파일의 개수를 나타내는 파일 카운트(24c), 및 그 파일로부터 산출된 해시값(24e)으로 구성된다.
도 7은 도 4에 나타낸 변형(tamper) 조사 해시값 파일(25)의 데이터 구조를 상세하게 나타낸다. 변형조사 해시값 파일(25)은 X.509 인증서 식별자(25a), 해시알고리즘(25b), 및 서명 데이터(25c)를 포함한다. 서명 데이터(25c)는 송신기정보 파일(23)의 공개 키 정보(23b)에 나타난 공개 키에 대응하는 비밀 키를 이용하여 해시정보 파일(24)로부터 산출한 해시값을 암호화함으로써 생성된다.
도 8은 도 4에 나타낸 허가정보 파일(28)의 일 예를 나타낸다. 허가정보 파 일(28)은 애플리케이션(14)의 실행에 요구되는 자원을 액세스하는 것에 대한 허가를 XML로 나타낸다. 더 구체적으로, 허가정보 파일(28)은 도 9에 나타낸 부가 허가그룹에 속하는 하나 이상의 자원을 액세스하는 것에 대한 허가를 나타낸다. 애플리케이션(14)이 신뢰 송신기로부터 송신되었고 변형되지 않은 것으로 판정되면, 애플리케이션(14)은 디지털 방송 수신장치에서 허가정보 파일(28)에 의해 나타낸 자원을 액세스하는 것이 허가된다. XML은 RFC 3023 등에 상세하게 기술되며, 이에 대한 설명은 여기서 생략한다.
이하, 디지털 방송 수신장치(2)의 하드웨어 구성을 기술한다.
도 10은 도 1에 도시된 디지털 텔레비전 수신장치(2)의 하드웨어 구조를 보여준다. 도면에 나타낸 바와 같이, 디지털 텔레비전 수신장치(2)는 TS 디코더(101), 오디오 디코더(102), 비디오 디코더(103), 스피커(104), 디스플레이(105), 영상출력부(106), CPU(107), 네트워크 장치(108), 입력부(109), 주 저장부(110), 보조 저장부(111), 및 ROM(112)을 포함한다.
이 디지털 텔레비전 수신장치(2)에서, TS 디코더(101)는 송신 데이터(10)를 운반하는 MPEG 트랜스포트 스트림을 역 다중화하고, 비디오 디코더(103)와 오디오 디코더(102)는 각각 TS 디코더(101)가 취득한 비디오 데이터(11)와 오디오 데이터(12)를 해독하고 해독한 비디오 데이터와 오디오 데이터를 디스플레이(105)와 스피커(104)에 출력한다. 이러한 방법으로, 디지털 텔레비전 수신장치(2)는 방송 프로그램을 재생한다.
영상출력부(106)는 디지털 텔레비전 수신장치(2)용 설정화면의 영상 데이터 또는 애플리케이션(14)용 표시화면의 영상 데이터와 같은 영상 데이터를 비디오 디코더(103)로부터 출력되는 해독된 비디오 데이터와 중첩한다.
입력부(109)는 리모트 컨트롤러를 통하여 시청자가 한 사용자 조작을 수신한다.
CPU(107)는 영상출력부(106)를 제어하여 입력부(109)가 수신한 사용자 조작에 따라 영상 데이터를 갱신한다. 이와 같은 방법으로, 디지털 텔레비전 수신장치(2)는 대화형 동작을 실행한다.
주 저장부(110)는 RAM에 의해 실제 구현되는 작업 영역이다. 송신 데이터(10)로부터 분리된 애플리케이션(14)은 주 저장부(110)에 저장된다.
보조 저장부(111)는 하드디스크나 EEPROM과 같이 장치에 포함된 비휘발성 메모리이다. 보조 저장부(111)는 신뢰 송신기 리스트를 저장한다.
ROM(112)은 디지털 텔레비전 수신장치(2)를 제어하는 프로그램을 저장한다. 디지털 텔레비전 수신장치(2)의 기능은 CPU(107)가 하드웨어 자원과 관련하여 ROM(112)의 프로그램을 실행함으로써 구현된다.
도 11은 ROM(112)에 저장된 프로그램의 기능적 구성을 나타낸다.
ROM(112)에 저장된 프로그램은 제어부(201), 애플리케이션 관리부(202), 자바(등록상표) 클래스 라이브러리(203), 자바(등록상표) 가상머신(204), 장치 드라이버(205), 및 OS(206)를 포함한다.
제어부(201)는 입력부(109)가 수신한 사용자 조작에 따라 디지털 텔레비전 수신장치(2)를 제어한다.
장치 드라이버(205)는 스피커(104), 디스플레이(105), 영상출력부(106), 및 네트워크 장치(108)용 드라이버를 포함한다.
애플리케이션 관리부(202)와 자바 클래스 라이브러리(203)는 주 저장부(110)에 저장된 애플리케이션(14)의 실행을 제어한다.
도 12는 애플리케이션(14)의 실행을 제어하기 위한 기능적 구성을 상세하게 나타낸다.
애플리케이션 관리부(202)는 애플리케이션 정보 판독부(211), 라이프사이클 관리부(212), 및 애플리케이션 인증부(213)를 포함한다. 자바 클래스 라이브러리(203)는 시큐리티 관리부(221)와 자원 라이브러리(222)를 포함한다.
애플리케이션 정보 판독부(211)는 주 저장부(110)로부터 애플리케이션 데이터(13)에 포함된 관리정보(15)를 판독한다.
라이프사이클 관리부(212)는 관리정보(15)에 기초하여 미서명 애플리케이션, 서명 애플리케이션, 및 임시 미서명 애플리케이션 중 하나에 대한 기동 절차에 따라 애플리케이션(14)을 기동한다.
애플리케이션 인증부(213)는 송신기 식별부(214), 인증상태 관리부(215), 변형 조사부(216), 및 허가 판독부(217)를 포함하고, 애플리케이션(14)을 인증한다. 인증상태 관리부(215)는 인증상태 유지부(218)와 미서명 애플리케이션 허가 유지부(219)를 포함한다. 미서명 애플리케이션 허가 유지부(219)는 MHP에서 미서명 애플리케이션에 부여된 자원을 액세스하는 것에 대한 허가(이하, "미서명 애플리케이션 허가"라 함)를 나타내는 미서명 애플리케이션 허가를 유지한다. 예를 들어, 미서명 애플리케이션 허가 정보는 미서명 애플리케이션 허가를 XML로 기록함으로써 구현된다.
MHP는 미서명 애플리케이션이 기설정된 자원을 액세스하는 것을 금지한다. 더 상세하게, 미서명 애플리케이션은 도 9에서 마크 "×"로 나타낸 애플리케이션을 액세스하는 것이 금지된다. 반면, 서명 애플리케이션은 애플리케이션에 포함된 허가정보 파일이 지정한 자원에 대한 무제한의 액세스를 부여받는다.
이 실시예에 따른 임시 미서명 애플리케이션은 미서명 애플리케이션 허가가 부여되고 애플리케이션의 변형 조사가 완료되는 것을 기다리지 않고 기동한다. 이에 따라, 임시 미서명 애플리케이션은, 변형 조사가 완료될 때까지, 미서명 애플리케이션과 같은 방법으로 기설정된 자원에 액세스하는 것이 금지된다. 변형 조사가 완료되고 임시 미서명 애플리케이션이 유효 애플리케이션인 것으로 판정된 후, 임시 미서명 애플리케이션은 서명 애플리케이션과 같은 방법으로 애플리케이션에 포함된 허가정보 파일이 지정한 자원의 무제한 액세스를 부여받는다.
자바 클래스 라이브러리(203)에서, 시큐리티 관리부(221)는 허가 설정부(223)와 허가 조사부(224)를 포함하고, 애플리케이션(14)의 액세스가 허가되는 자원의 범위를 제어한다.
이하, 도 13 내지 15를 참조하여 상기한 구조를 갖는 디지털 텔레비전 수신장치(2)의 동작을 설명한다. 여기서, 채널 전환의 결과로 발생하는 애플리케이션(14)의 자동 실행이 디지털 텔레비전 수신장치(2)의 동작의 일 예로 이용된다.
도 13은 디지털 텔레비전 수신장치(2)의 채널선택 처리절차를 나타내는 플로 차트이다.
입력부(109)로부터 송신 데이터(100에 대응하는 채널로 전환하는 사용자 조작을 수신한 경우(S1), 제어부(201)는 TS 디코더(101)에 명령하여 채널을 전환하고 송신 데이터(10)를 운반하는 트랜스포트 스트림을 역 다중화하도록 한다. 이어, 제어부(201)는 장치 드라이버(205)를 통하여 비디오 디코더(103)와 오디오 디코더(102)에 명령하여 비디오 데이터(11)와 오디오 데이터(12)를 재생하도록 한다(S2). 제어부(201)는 TS 디코더(101)에 추가로 명령하여 송신 데이터(10)로부터 얻은 부가 데이터(13)를 주 저장부(110)에 저장하도록 하고, 애플리케이션 관리부(202)에 명령하여 애플리케이션(14)의 기동을 제어하도록 한다(S3). 부가 데이터(13)를 저장하라는 명령에 응답하여, TS 디코더(101)는 송신 데이터(10)로부터 부가 데이터(13)를 운반하는 객체 주기전송을 취득하고, 취득한 부가 데이터(13)를 주 저장부(110)에 순차 저장한다. 명령을 수신한 후 객체 주기전송의 한 사이클(즉, 약 20초)이 지난 때, 전체 부가 데이터(13)가 주 저장부(110)에 취득된다. 이로써 디지털 텔레비전 수신장치(2)의 채널선택 처리절차에 대한 설명을 완료한다.
도 14a는 디지털 텔레비전 수신장치(2)의 애플리케이션 기동제어 처리절차를 나타내는 플로차트이다.
도 13의 단계 S3에서 제어부(201)로부터 애플리케이션(14)의 기동을 제어하라는 명령을 수신한 경우, 애플리케이션 관리부(202)의 애플리케이션 정보 판독부(221)는 주 저장부(110)에 저장된 부가 데이터(13)로부터 관리정보(15)를 판독한다(S11). 여기서, 시청자가 송신 데이터(10)에 대응하는 채널을 선택할 때 TS 디코더 (101)가 객체 주기전송의 어느 부분으로부터 부가 데이터(13)를 취득하는지는 잘 알려져 있다. 이는 애플리케이션 정보 판독부(211)가 관리정보(15)를 판독하려고 하는 경우 관리정보(15)가 주 저장부(110)에 아직 존재하지 않을 수도 있는 가능성이 있다는 것을 의미한다(S12:NO). 이 경우, 애플리케이션 정보 판독부(211)는 TS 디코더(101)가 관리정보(15)를 포함하는 모듈을 수신할 때까지 관리정보(15)를 판독하려는 시도를 반복한다. 관리정보(15)를 판독한 후(S12:YES), 애플리케이션 정보 판독부(211)는 판독한 관리정보(15)를 라이프사이클 관리부(212)에 송신한다.
라이프사이클 관리부(212)는 관리정보(15)를 수신하고, 애플리케이션(14)을 자동으로 기동할지를 판정한다(S13). 더 구체적으로, 라이프사이클 관리부(212)는 관리정보(15)의 실행플래그(17)를 조사한다. 변형플래그(17)가 OFF이면(S13:NO), 라이프사이클 관리부(212)는 애플리케이션(14)이 자동으로 기동하지 못할 것으로 판정하고, 처리절차를 종료한다. 실행플래그(17)가 ON이면(S13:YES), 라이프사이클 관리부(212)는 애플리케이션(14)이 자동으로 기동할 것으로 판정한다. 이어지는 단계 S14 내지 S16에서, 라이프사이클 관리부(212)는 애플리케이션(14)이 미서명 애플리케이션인지, 서명 애플리케이션인지 또는 임시 미서명 애플리케이션인지를 관리정보(15)의 애플리케이션 식별자(16)에 기초하여 판정한다.
애플리케이션 식별자(16)가 0x0000 내지 0x2FFF 범위 내에 있으면, 라이프사이클 관리부(212)는 애플리케이션(14)이 종래의 미서명 애플리케이션인 것으로 판정한다. 이 경우, 라이프사이클 관리부(212)는 미서명 애플리케이션 허가유지부(219)로부터 미서명 애플리케이션 허가정보를 판독하고, 미서명 애플리케이션 허가 정보를 자바 클래스 라이브러리(203)의 시큐리티 관리부(221)의 허가 설정부(223)에 송신한다. 허가 설정부(223)는 미서명 애플리케이션 허가정보가 나타낸 미서명 애플리케이션 허가를 기동시 애플리케이션(14)에 부여되는 액세스 허가(225)로 설정한다.
애플리케이션 식별자(16)가 0x4000 내지 0x7FFF 범위 내에 있으면(S15:YES), 라이프사이클 관리부(212)는 애플리케이션(14)이 종래의 서명 애플리케이션인 것으로 판정하고, 애플리케이션 인증부(213)에 애플리케이션(14)을 인증하도록 명령한다. 애플리케이션 인증부(213)는 다음과 같이 인증을 수행한다. 먼저, 송신기 식별부(214)는 송신기 식별을 수행한다(S18). 상세하게, 송신기 식별부(214)는 주 저장부(110)로부터 도 5에 나타낸 송신기정보 파일(23)을 판독한다. 송신기정보 파일(23)의 발행자명(23a)이 애플리케이션 정보 판독부(211)에 미리 저장된 신뢰 송신기 리스트에 포함되어 있으면, 송신기 식별부(214)는 애플리케이션(14)의 송신기가 신뢰 송신기인 것으로 판정한다(S18:YES). 여기서, X.509 인증서인 송신기정보 파일(23)의 공개 키 정보(23b)는 송신기정보 파일(23)이 송신기 자체로부터 전송되었는지를 판정하는데 이용될 수 있다.
애플리케이션(14)의 송신기가 신뢰 송신기인 것으로 판정되면, 애플리케이션 인증부(213)는 전체 애플리케이션(14)이 주 저장부(110)에 저장될 때까지 기다린다. 이후, 변형 조사부(216)는 애플리케이션(14)에 대해 변형조사를 수행한다(S19). 이 변형조사는 다음의 방법으로 행해질 수 있다. 애플리케이션 디렉터리(22), 메인 클래스 디렉터리(26), 및 서브클래스 디렉터리(30) 각각에 대해, 변형 조사부(216)는 디렉터리에 포함된 각 파일로부터 해시값을 산출하고, 산출한 해시값을 그 디렉터리에 속하는 해시정보 파일(24, 27, 및 31) 중 하나에 나타낸 해시값과 비교한다. 또한, 변형 조사부(216)는 해시정보 파일(24)로부터 해시값을 산출하고, 송신기정보 파일(23)의 공개 키 정보(23b)에 나타낸 공개 키를 이용하여 변형조사 해시값 파일(25)의 서명 데이터를 해독하여 해시값을 취득하며, 두 해시값을 비교한다. 상기 비교결과 모두가 일치하면, 변형 조사부(216)는 애플리케이션(14)이 변형되지 않은 것으로 판정한다. 반면, 상기 비교결과 중 어느 것이라도 불일치하면, 변형 조사부(216)는 애플리케이션(14)이 변형된 것으로 판정한다. 애플리케이션(14)이 변형되지 않은 것으로 판정되면(S19:YES), 변형 조사부(216)는 허가 판독부(217)에 인증 성공을 통보한다. 허가 판독부(217)는 응답으로 주 저장부(110)로부터 허가정보 파일(28)을 판독한다(S20). 여기서, 허가정보 파일(28)이 처음부터 애플리케이션(14)에 포함되어 있지 않기 때문에 허가 판독부(217)가 허가정보 파일(28)을 판독할 수 없다면, 허가 판독부(217)는 대신 미서명 애플리케이션 허가 유지부(219)로부터 미서명 애플리케이션 허가정보를 판독한다.
허가 판독부(217)는 판독한 허가정보 파일(28)을 라이프사이클 관리부(212)를 통하여 시큐리티 관리부(221)의 허가 설정부(223)에 송신한다. 허가 설정부(223)는 허가정보 파일(28)이 나타낸 서명 애플리케이션 허가를 액세스 허가(225)로 설정한다(S21).
한편, 송신기가 신뢰 송신기가 아닌 것으로 판정되면(S18:NO) 또는 애플리케이션(14)이 변형된 것으로 판정되면(S19:NO), 애플리케이션 인증부(213)는 라이프 사이클 관리부(212)에 인증 실패를 통보한다. 그에 따라, 라이프사이클 관리부(212)는 애플리케이션(14)을 기동하지 않고 처리절차를 종료한다.
애플리케이션 식별자(16)가 0x8000 내지 0xFFFF 범위 내에 있으면(S16:YES), 라이프사이클 관리부(212)는 애플리케이션(14)이 이 실시예에 따른 새로운 종류의 애플리케이션인 임시 미서명 애플리케이션인 것으로 판정하고, 애플리케이션 인증부(213)에 명령하여 애플리케이션(14)을 인증하도록 한다. 애플리케이션 인증부(213)는 TS 디코더(101)가 송신기정보 파일(23)을 수신할 때까지 대기하고 이를 주 저장부(110)에 저장한다. 송신기정보 파일(23)이 주 저장부(110)에 일단 저장되면, 송신기 식별부(214)는 단계 S18에서와 같은 송신기 식별을 수행한다(S25). 애플리케이션(14)의 송신기가 신뢰 송신기인 것으로 판정되면(S25:YES), 애플리케이션 인증부(213)는 변형 조사부(216)와 허가 판독부(217)에 명령하여 변형조사 스레드(thread)를 생성하도록 하고(S22), 또한 라이프사이클 관리부(212)에 애플리케이션(14)의 송신기가 신뢰 송신기라는 것을 통보한다. 통보를 받은 경우, 라이프사이클 관리부(212)는 미서명 애플리케이션 허가유지부(219)로부터 미서명 애플리케이션 허가정보를 판독하고, 미서명 애플리케이션 허가정보를 시큐리티 관리부(221)의 허가 설정부(223)에 송신한다. 허가 설정부(223)는 미서명 애플리케이션 허가정보가 나타낸 미서명 애플리케이션 허가를 액세스 허가(225)로 설정한다(S23). 반면, 애플리케이션(14)의 송신기가 신뢰 송신기가 아닌 것으로 판정되면(S25:NO), 애플리케이션 인증부(213)는 라이프사이클 관리부(212)에 애플리케이션(14)의 송신기가 신뢰 송신기가 아니라는 것을 통보한다. 이에 따라, 라이프사이클 관리부(212)는 애플리케이션(14)을 기동하지 않고 처리절차를 종료한다.
액세스 허가(225)가 단계 S17, S21, 및 S23 중 어디에서든 설정된 후, 라이프사이클 관리부(212)는 자바 클래스 라이브러리(203)를 이용하여 애플리케이션(14)을 기동한다(S24). 이것으로 애플리케이션 기동제어 처리절차를 끝마친다.
상기한 절차에 의하면, 애플리케이션(14)의 기동은 가속될 수 있다. 애플리케이션(14)이 큰 데이터 사이즈를 가져서 애플리케이션(14)을 포함하는 객체 주기전송의 한 사이클을 취득하고 애플리케이션(14)으로부터 해시값을 산출하는데 오랜 시간이 걸린다고 가정하자. 종래의 서명 애플리케이션에 대한 처리절차에 따르면, 객체 주기전송이 취득되고 애플리케이션(14)이 인증될 때까지 애플리케이션(14)은 기동할 수 없다. 반면, 임시 미서명 애플리케이션에 대한 처리절차에 따르면, 애플리케이션(14)은 객체 주기전송의 일부가 취득될 때 기동할 수 있다.
단계 S22에서 변형 조사부(216)와 허가 판독부(217)가 생성한 변형조사 스레드는 다음의 처리절차를 갖는다. 이 변형조사 스레드는 단계 S24에서 기동한 임시 미서명 애플리케이션인 애플리케이션(14)의 실행과 병행하여 처리되는 것에 유의하라.
도 14b는 변형조사 스레드의 처리절차를 나타내는 플로차트이다.
TS 디코더(101)가 전체 부가 데이터(13)를 취득하고 전체 애플리케이션(14)을 주 저장부(110)에 저장한 후, 변형 조사부(216)는 애플리케이션(14)에 대해 변형조사를 수행한다(S31). 변형조사 결과 애플리케이션(14)이 변형되지 않은 것으로 판정되면(S32:YES), 변형 조사부(216)는 이를 허가 판독부(217)에 통보한다. 허가 판독부(217)는 응답으로 주 저장부(110)로부터 허가정보 파일(28)을 판독하고 허가정보 파일(28)을 인증상태 관리부(215)에 송신한다. 인증상태 관리부(215)는 저리절차를 종료하기 전에 인증상태 유지부(218)에 허가정보 파일(28)을 등록한다(S33). 반면, 애플리케이션(14)이 변형된 것으로 판정되면(S32:NO), 변형 조사부(216)는 인증상태 관리부(215)에 인증 실패를 통보한다. 인증상태 관리부(215)는 처리절차를 종료하기 전에 인증 실패를 나타내는 정보를 인증상태 유지부(218)에 등록한다. 이것으로 변형조사 스레드에 대한 설명을 끝마친다.
MHP는, 서명 애플리케이션에 대한 변형조사가 실패를 가져오는 경우, 서명 애플리케이션의 파일 사이즈는 0(zero)인 것으로 추정한다고 규정한다. 그 결과, 서명 애플리케이션 자체가 존재하더라도 서명 애플리케이션은 어떠한 콘텐츠도 갖지 않은 것으로 취급된다. 이에 따라, 변형 조사부(216)에 의해 인증 실패를 통보받은 경우 인증상태 관리부(215)가 수행하는 단계 S34는 다음과 같이 변경되어 본 발명이 MHP를 따르도록 한다. 단계 S34에서, 인증상태 관리부(215)는 인증상태 유지부(218)에 인증 실패를 나타내는 정보를 등록한다. 또한, 인증상태 관리부(215)는, 주 저장부(110)를 관리하기 위한 파일 시스템에서, 애플리케이션(14)의 각 파일의 파일 사이즈 또는 산출한 해시값과 해시정보 파일의 대응 해시값이 불일치를 가져오는 애플리케이션(14)의 각 파일의 파일 사이즈를 0으로 변경한다.
도 14b에 나타낸 이러한 변형조사 스레드와 병행하여, 도 14a의 단계 S24에서 기동한 임시 미서명 애플리케이션인 애플리케이션(14)이 실행된다. 애플리케이션(14)의 실행에서, 자바 클래스 라이브러리(203)는 애플리케이션(14)이 자신이 요 청한 자원을 액세스하도록 허가되는지를 판정한다. 종래의 미서명 애플리케이션이나 서명 애플리케이션의 경우, 이 판정은 단계 S17이나 S21에서 설정된 액세스 허가(225)에 기초하여 이루어진다. 이 실시예에 따른 임시 미서명 애플리케이션의 경우, 판정은 변형조사가 완료될 때까지 단계 S23에서 설정된 액세스 허가(225)에 기초하여 이루어진다. 변형조사가 완료되고 애플리케이션이 변형되지 않은 것으로 판정된 후, 판정은 단계 S23에서 설정된 액세스 허가(225)와 단계 S33에서 인증상태 유지부(218)에 등록된 허가정보 파일(28) 모두에 기초하여 이루어진다.
다음은 자바 클래스 라이브러리(203)가 임시 미서명 애플리케이션인 애플리케이션(14)에 의한 자원의 액세스를 어떻게 제어하는지를 설명한다.
도 15는 애플리케이션(14)에 의한 자원의 액세스를 제어하는 처리절차를 나타내는 플로차트이다.
네트워크에 접속하거나 보조 저장부(111)로부터 파일을 판독하는 것과 같이 애플리케이션(14)이 자원을 액세스할 필요가 있을 때, 애플리케이션(14)은 자바 클래스 라이브러리(203)의 자원 라이브러리(222)를 호출한다(S41).
호출을 수신한 경우, 자원 라이브러리(222)는 시큐리티 관리부(221)에 애플리케이션(14)이 자원에 액세스하도록 허가되었는지를 판정한다.
시큐리티 관리부(221)는 허가조사부(224)를 통하여 액세스 허가(225)를 참조하여 액세스 허가(225)가 자원을 액세스하는 권한을 포함하는지를 판정한다(S42). 여기서, 미서명 애플리케이션은 도 14a의 단계 S23에서 액세스 허가(225)로 설정된다. 이에 따라, 미서명 애플리케이션 허가가 자원에 액세스 권한을 포함하면 (S42:YES), 시큐리티 관리부(221)는 자원 라이브러리(222)에 애플리케이션(14)이 자원을 액세스하도록 허가된 것을 통보한다. 따라서, 자원 라이브러리(222)는 처리절차를 종료하기 전에 애플리케이션(14)을 인증하여 자원에 액세스하도록 하고 자원에 요청을 전송한다(S43). 이와 같은 방법으로, 애플리케이션(14)은 자원에 액세스한다.
액세스 허가(225)로 설정된 미서명 애플리케이션 허가가 자원에의 액세스 권한을 포함하지 않으면(S42:NO), 시큐리티 관리부(221)는 인증상태에 대해 인증상태 관리부(215)에 질의한다.
변형조사 스레드에 의한 변형조사가 완료되지 않았으면(S44:NO), 인증상태 관리부(215)는 변형조사의 완료를 기다린다. 변형조사가 완료되면(S44:YES), 인증상태 관리부(215)는 인증상태 유지부(218)로부터 허가정보 파일(28)을 판독하고, 허가정보 파일(28)을 시큐리티 관리부(221)에 송신한다(S45).
시큐리티 관리부(221)는 인증상태 관리부(215)로부터 허가정보 파일(28)을 수신하고, 허가정보 파일(28)이 자원의 액세스 권한을 포함하는지를 판정한다(S46). 시큐리티 관리부(221)는 판정결과를 자원 라이브러리(222)에 통보한다.
허가정보 파일(28)이 자원의 액세스 권한을 포함하면(S46:YES), 자원 라이브러리(222)는 애플리케이션(14)이 자원에 액세스하도록 인증하고, 자원에 요청을 전송한다(S43). 이러한 방법으로, 애플리케이션(14)은 자원을 액세스한다. 허가정보 파일(28)이 자원의 액세스 권한을 포함하지 않으면(S46:NO), 자원 라이브러리(222)는 처리절차를 종료하기 전에 자원 액세스의 금지를 나타내는 에러 정보를 애플리 케이션(14)에 전송한다(S47). 이 경우, 애플리케이션(14)의 더 이상의 실행은 불가능하고 따라서 애플리케이션(14)은 종료된다. 이것으로 임시 미서명 애플리케이션인 애플리케이션(14)에 의한 자원 액세스를 제어하는 처리절차에 대한 설명을 끝마친다.
상기한 처리절차에 따르면, 임시 미서명 애플리케이션인 애플리케이션(14)은 변형조사가 완료되기 전에 미서명 애플리케이션 허가를 부여받고 기동하고, 애플리케이션(14)의 명령은 최상위 명령에서 시작하여 순차 실행된다. 변형조사가 완료되고 애플리케이션(14)이 변형되지 않은 것으로 판정되면, 애플리케이션(14)은 애플리케이션(14)의 송신기에 의해 생성된 허가정보 파일에 의해 지정된 서명 애플리케이션 허가를 추가로 부여받는다. 이어서, 실행이 미서명 애플리케이션 허가에 포함되지 않은 자원을 액세스하라는 명령에 이르더라도, 허가정보 파일(28)에 의해 지정된 서명 애플리케이션 허가가 자원 액세스 권한을 포함하면 명령은 실행될 수 있다.
따라서, 애플리케이션(14)은 미서명 애플리케이션 허가를 부여받고 변형조사가 완료되기를 기다리지 않고 신속하게 기동할 수 있다. 애플리케이션(14)은 변형조사가 완료될 때까지 미서명 애플리케이션 허가에 포함되지 않은 자원의 액세스가 금지되기 때문에, 높은 시큐리티가 유지된다. 변형조사가 완료되고 애플리케이션(14)이 변형되지 않은 것으로 판정되면, 애플리케이션(14)은 미서명 애플리케이션 허가에 포함되지 않은 자원의 액세스를 추가로 부여받는다. 이것은 고기능 애플리케이션을 구현하는 것을 가능하게 한다.
디스플레이(105) 상에 영상을 만들라는 명령이 애플리케이션(14)의 미서명 애플리케이션 허가로 실행될 수 없는 명령에 앞서고 미서명 애플리케이션 허가가 그래픽스를 표시할 권한을 포함한다고 가정하자. 상기한 처리절차에 따르면, 시청자의 대기시간을 단축하고 조작성을 개선하는 것이 가능하기 때문에 애플리케이션(14)의 전체 데이터 사이즈에 관계없이 영상은 디스플레이(105) 위에 신속하게 표시될 수 있다.
종래의 서명 애플리케이션의 경우, 애플리케이션(14)의 모든 파일에 대한 변형조사는, 애플리케이션(14)이 그래픽스 표시를 수행하기만 하는 경우에도, 기동에 앞서 완료되어야 할 필요가 있다. 그러한 애플리케이션(14)의 전체 데이터 사이즈가 크다면, 트랜스포트 스트림으로부터 애플리케이션(14)을 취득하고 애플리케이션(14)에 대해 변형조사를 수행하는데 오랜 시간이 걸린다. 이는 애플리케이션(14)의 기동의 지연과 이에 따라 그래픽스 표시의 지연을 초래한다. 반면, 이 실시예에 따른 임시 미서명 애플리케이션의 경우, 애플리케이션(14)은 변형조사에 앞서 미서명 애플리케이션 허가를 부여받고 기동한다. 따라서, 그래픽스 표시는 미서명 애플리케이션 허가의 범위 내에서 신속하게 생성될 수 있다.
여기서, 애플리케이션(14)이 임시 미서명 애플리케이션인 경우에도, 기동에 앞서 관리정보(15)의 애플리케이션 식별자(16)를 이용하여 애플리케이션(14)의 종류를 판정하고 송신기정보 파일(23)을 이용하여 애플리케이션(14)의 송신기를 식별할 필요가 있다는 것에 유의해야 한다. 그렇게 함으로써, 적어도 관리정보(15), 송신기정보 파일(23), 및 애플리케이션(14)의 최상위 명령을 포함하는 메인 클래스 파일(29)은 기동에 앞서 취득할 필요가 있다.
이러한 점에서, 도 16에 나타낸 것과 같은 객체 주기전송이 부가 데이터(13)를 송신하는데 이용될 수 있다. 도면에서, 애플리케이션(14)은 모듈 A1 내지 A4로 분할되고, 관리정보(15)는 모듈 M1에 포함된다. 이 객체 주기전송에서, 송신기정보 파일(23)과 메인 클래스 파일(29)을 운반하는 모듈 A1과 관리정보(15)를 운반하는 모듈 M1은 다른 모듈들보다 더 자주 송신된다. 이는 TS 디코더(101)가 객체 주기전송의 어느 부분에서 부가 데이터를 취득하기 시작하는지에 관계없이 메인 클래스 파일(29), 송신기정보 파일(23), 및 관리정보(15)를 취득하는데 필요한 시간을 줄일 가능성을 증가시킨다. 따라서, 애플리케이션(14)의 기동은 더 가속될 수 있다.
(제 2 실시예)
제 1 실시예는 트랜스포트 스트림으로부터 애플리케이션을 취득하는 예를 기술하였지만, 이동가능한 기록매체에 기록된 애플리케이션이 주 저장부(110)에 저장되어 실행될 수도 있다. 그러나, 방송국으로부터 트랜스포트 스트림으로 송신되는 애플리케이션과 비교할 때, 이동가능한 기록매체에 기록된 애플리케이션은 개인용 컴퓨터 등을 이용하여 더 쉽게 분석될 수 있고, 따라서 더 변형되기 쉽다.
이러한 점에서, 본 발명의 제 2 실시예는 변형조사 완료 전 기동시 애플리케이션에 임시로 부여한 액세스 허가를 애플리케이션의 취득경로에 따라 변경하는 디지털 텔레비전 수신장치를 기술한다.
도 17은 제 2 실시예가 관련하는 디지털 텔레비전 수신장치(3)의 하드웨어 구성을 나타낸다. 제 1 실시예와 동일한 구성요소에 대해서는 동일한 참조번호가 부여되고 그에 대한 설명은 생략된다.
보조 저장부(113)가 추가로 포함된다는 점에서 디지털 텔레비전 수신장치(3)는 제 1 실시예의 디지털 텔레비전 수신장치(2)와 다르다.
보조 저장부(113)는 SD 카드나 광디스크와 같이 이동가능한 비휘발성 메모리이다. 서로 다른 애플리케이션이 보조 저장부(111)와 보조 저장부(113)에 저장된다.
도 18은 디지털 텔레비전 수신장치(3)에서 애플리케이션(14)의 실행을 제어하기 위한 기능적 구성을 나타낸다. 이 구성은 라이프사이클 관리부(212)가 취득경로 유지부(231)를 포함하고, 인증상태 관리부(215)가 미서명 애플리케이션 허가유지부(219) 대신에 제 1 임시허가 유지부(233), 제 2 임시허가 유지부(232), 및 제 3 임시허가 유지부(233)를 포함한다는 점에서 도 12에 나타낸 제 1 실시예의 구성과 다르다.
취득경로 유지부(231)는 주 저장부(110)에 저장된 애플리케이션(14)이 취득된 취득경로를 나타내는 취득경로 정보를 유지하기 위한 기능 블록이다. 이 취득경로 정보는, 애플리케이션(14)이 주 저장부(110)에 저장될 때, 애플리케이션 정보 판독부(211)가 취득하고 취득경로 유지부(231)에 설정된다. 주로 4가지 취득경로가 있다. 트랜스포트 스트림으로부터 분리한 애플리케이션; 보조 저장부(111)로부터 판독한 애플리케이션; 보조 저장부(113)로부터 판독한 애플리케이션; 그리고 인터넷으로부터 다운로드한 애플리케이션이다. 이 실시예에서, 이들 취득경로에 대한 변형의 위험성은 트랜스포트 스트림, 보조 저장부(111), 보조 저장부(113), 및 인터넷 순으로 증가하는 것으로 가정한다.
제 1 임시허가 유지부(232), 제 2 임시허가 유지부(233), 및 제 3 임시허가 유지부(234)는 각각 제 1 임시허가 정보, 제 2 임시허가 정보, 및 제 3 임시허가 정보를 유지한다. 제 1 임시허가 정보, 제 2 임시허가 정보, 및 제 3 임시허가 정보는 각각 자원 액세스에 대한 허가를 나타낸다. 액세스 가능한 자원의 수는 제 1 임시허가 정보, 제 2 임시허가 정보, 및 제 3 임시허가 정보 순으로 감소한다. 더 구체적으로, 제 1 임시허가 정보는 표시제어 권한, 트랜스포트 스트림을 제어하고 채널을 선택하는 권한, 및 보조 저장부(111, 113)를 액세스하는 권한을 포함하는 제 1 임시허가를 나타낸다. 제 2 임시허가 정보는 표시제어 권한 및 보조 저장부(111, 113)를 액세스하는 권한을 포함하는 제 2 임시허가를 나타낸다. 제 3 임시허가 정보는 표시제어 권한 및 보조 저장부(113)를 액세스하는 권한을 포함하는 제 3 임시허가를 나타낸다. 제 1 실시예의 미서명 애플리케이션 허가정보와 같이, 제 1 임시허가 정보, 제 2 임시허가 정보, 및 제 3 임시허가 정보는 각각 대응하는 허가를 XML로 기록함으로써 구현된다.
상기한 구성을 갖는 디지털 텔레비전 수신장치(3)는 기동시 애플리케이션(14)에 부여한 액세스 허가(225)를 다음의 방법으로 설정한다. 여기서, 디지털 텔레비전 수신장치(3)는 애플리케이션(14)의 취득경로가 변형될 위험성이 더 낮은 경우 애플리케이션(14)에 더 많은 자원 액세스를 부여한다.
도 19는 디지털 텔레비전 수신장치(3)에서 기동시 액세스 허가(225)를 설정 하는 처리절차를 나타내는 플로차트이다.
라이프사이클 관리부(212)는 취득경로 유지부(231)로부터 취득경로 정보를 판독한다(S61). 라이프사이클 관리부(212)는 판독한 취득경로 정보에 기초하여 애플리케이션(14)이 어느 취득경로를 통하여 취득되었는지를 판정한다(S62, S64, 및 S65).
애플리케이션(14)이 트랜스포트 스트림으로부터 취득되면(S62:YES), 라이프사이클 관리부(212)는 제 1 임시허가 유지부(232)로부터 제 1 임시허가 정보를 판독하고, 제 1 임시허가 정보가 나타낸 제 1 임시허가를 액세스 허가(225)로 설정하도록 시큐리티 관리부(221)에 명령한다(S63).
애플리케이션(14)이 보조 저장부(111)로부터 판독되면(S64:YES, S65:NO), 라이프사이클 관리부(212)는 제 2 임시허가 유지부(233)로부터 제 2 임시허가 정보를 판독하고, 제 2 임시허가 정보가 나타낸 제 2 임시허가를 액세스 허가(225)로 설정하도록 시큐리티 관리부(221)에 명령한다(S66).
애플리케이션(14)이 보조 저장부(113)로부터 판독되거나(S64:YES, S65:YES) 또는 인터넷으로부터 다운로드되면(S64:NO), 라이프사이클 관리부(212)는 제 3 임시허가 유지부(233)로부터 제 3 임시허가 정보를 판독하고, 제 3 임시허가 정보가 나타낸 제 3 임시허가를 액세스 허가(225)로 설정하도록 시큐리티 관리부(221)에 명령한다(S67).
이러한 처리절차에 따르면, 기동시 애플리케이션(14)에 임시 부여된 액세스 허가(225)는 애플리케이션(14)의 취득경로에 따라 변경된다. 애플리케이션(14)의 취득경로가 변형될 위험성이 더 낮으면, 애플리케이션(14)은 더 많은 자원의 액세스를 임시로 부여받는다. 더 많은 자원의 액세스의 부여로 애플리케이션(14)의 더 많은 명령이 실행될 수 있기 때문에, 임시 허가 내에서 허가되지 않은 자원 호출의 발생에 기인하여 변형조사의 완료를 기다려야 하는 가능성이 감소한다.
이 실시예는 취득경로에 대한 변형의 위험성이 트랜스포트 스트림, 보조 저장부(111), 보조 저장부(113), 및 인터넷 순으로 증가하는 경우를 기술하고 있다. 그러나, 인터넷의 경우, 변형의 위험성은 TCP/IP에 의해 송신되는 데이터를 SSL등을 이용하여 암호화된 형태로 다운로드할 때와 SSL 등을 이용하지 않고 암호화되지 않은 채로 데이터를 다운로드할 때 사이에서 다르다. 즉, 변형의 위험성은 SSL을 이용하지 않고 애플리케이션(14)을 다운로드할 때 더 높다. 그러므로, 본 발명은 SSL의 이용에 따라 애플리케이션에 임시로 부여되는 액세스 허가를 변경함으로써 인터넷으로부터 애플리케이션을 다운로드하여 그것을 실행하는 애플리케이션 실행장치에 적용할 수도 있다. 상세하게, 애플리케이션(14)이 SSL을 이용하여 인터넷으로부터 다운로드되면, 애플리케이션(14)은 애플리케이션(14)이 SSL을 이용하지 않고 다운로드될 때보다 더 많은 자원에 대한 액세스를 부여받는다.
제 2 실시예는 애플리케이션(14)의 취득경로에 따라 애플리케이션(14)에 임시로 부여된 액세스 허가가 변경되는 경우를 기술한다. 대안으로, 애플리케이션(14)에 임시로 부여된 액세스 허가는 취득경로를 통한 애플리케이션 취득에 요구되는 시간에 따라 변경될 수 있다. 애플리케이션 취득에 필요한 시간은 트랜스포트 스트림의 데이터 전송률이나 보조 저장부의 데이터 액세스 시간과 같은 요소에 기 초하여 결정될 수 있다. 이에 따라, 애플리케이션(14)의 취득경로가 애플리케이션 취득에 더 오랜 시간을 필요로 할 때, 더 많은 자원의 액세스가 애플리케이션(14)에 임시로 부여될 수 있다. 그렇게 함으로써, 애플리케이션(14)을 취득하여 변형조사를 하는데 더 오랜 시간이 걸리는 경우, 애플리케이션(14)은 더 많은 자원의 액세스를 임시로 부여받아 애플리케이션(14)의 더 많은 명령이 실행될 수 있다. 이것은 변형조사가 완료되지 않았다는 것을 통보하지 않고 시청자가 애플리케이션(14)을 이용하도록 한다.
또한, 트랜스포트 스트림으로부터 애플리케이션을 취득하는 것보다 보조 저장부로부터 애플리케이션을 판독하는 것이 시간이 상당히 덜 걸린다. 이러한 점에서, 도 20의 처리절차가 적용될 수 있다.
도 20에서, 애플리케이션(14)의 취득경로가 트랜스포트 스트림이면(S51:YES), 변형조사 스레드는 전체 애플리케이션(14)이 주 저장부(110)에 저장되는 것을 기다리지 않고 생성된다(S52). 이어 애플리케이션(14)은 제 3 임시허가를 부여받고(S53) 기동한다(S57). 애플리케이션(14)의 취득경로가 트랜스포트 스트림이 아니면(S51:NO), 단계 S54 내지 S57은 종래의 서명 애플리케이션과 같은 방법으로 전체 애플리케이션(14)이 주 저장부(110)에 저장된 후 수행된다. 그렇게 함으로써, 애플리케이션(14)의 기동은 애플리케이션(14)의 취득에 오랜 시간이 걸리는 경우에만 가속된다. 그렇지 않으면, 애플리케이션(14)은 종래 서명 애플리케이션에 대한 처리절차에 따라 안전하게 실행된다.
(변형예)
본 발명은 상기한 실시예에 의해 기술되었지만, 본 발명은 상기에 한정되지 않는다. 이하 변형예를 기술한다.
(1) 본 발명은 상기한 실시예의 플로차트에 의해 나타난 애플리케이션 실행방법에 적용되기도 한다. 이 방법은 컴퓨터가 실행할 수 있는 컴퓨터-판독가능한 프로그램에 의해 구현될 수 있다. 이러한 컴퓨터 프로그램은 디지털 신호로 분배될 수 있다.
본 발명은 상기한 컴퓨터-판독가능한 프로그램 및/또는 디지털 신호가 기록되는 플렉시블 디스크, 하드디스크, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD(Blu-ray Disc) 또는 반도체 메모리와 같은 컴퓨터-판독가능한 기록매체에 의해 구현될 수 있다.
반대로, 본 발명은 이러한 기록매체에 기록된 컴퓨터-판독가능한 프로그램 및/또는 디지털 신호에 의해 구현될 수 있다.
본 발명을 달성하는 컴퓨터-판독가능한 프로그램이나 디지털 신호는 전기통신선, 유무선 통신 네트워크, 또는 인터넷과 같은 네트워크를 통하여 송신될 수도 있다.
또한, 컴퓨터-판독가능한 프로그램 및/또는 디지털 신호는 컴퓨터-판독가능한 프로그램 및/또는 디지털 신호가 기록되는 기록매체를 분배함으로써, 또는 네트워크를 통하여 컴퓨터-판독가능한 프로그램 및/또는 디지털 신호를 송신함으로써 독립된 컴퓨터 시스템에 제공될 수 있다. 독립된 컴퓨터 시스템은 컴퓨터-판독가능 한 프로그램 및/또는 디지털 신호가 본 발명처럼 작용하도록 실행할 수 있다.
(2) 본 발명은 또한 애플리케이션 실행장치를 제어하는 LSI 회로에 의해 구현될 수 있다. 이러한 LSI 회로는 도 12 또는 도 18에 나타낸 기능 블록을 집적함으로써 실시될 수 있다. 이들 기능 블록은 칩들로 개별적으로 구성되거나, 하나의 칩으로 부분적으로 또는 전체적으로 구성될 수 있다.
여기서 언급한 LSI 회로는 집적도에 따라 IC, 시스템 LSI 회로, 초 LSI 회로, 또는 울트라 LSI 회로일 수 있다.
선택적으로, 전용회로 또는 범용 프로세서가 LSI 대신에 회로집적을 위해 이용될 수 있다. 제조 후 프로그램 가능한 LSI칩인 FPGA(Field Programmable Gate Array)과 LSI 칩 내의 회로 셀의 재구성 연결이나 설정을 할 수 있는 재구성 가능한 프로세서가 또한 적용될 수 있다.
종래의 LSI 기술을 대체할 수 있는 새로운 IC 기술이 미래의 반도체 및 다른 기술의 진보의 결과로 개발되면, 상기 실시예에서 기술한 기능 블록과 구성요소는 이 기술을 이용하여 집적될 수 있다. 예를 들어, 바이오기술이 이러한 기술에 대해 채택될 수 있다.
(3) 제 1 실시예는 변형조사에 앞서 미서명 애플리케이션 허가를 부여받고 애플리케이션이 기동하는 경우를 기술한다. 그러나, 애플리케이션이 장치에 불리한 영향을 주지 않을 액세스 허가를 임시로 부여받는 한, 본 발명은 이에 한정되지 않는다. 예를 들어, 애플리케이션은 장치에 불리하게 작용할 위험성을 갖는 것으로 판정된 액세스 권한을 제외하고 미서명 애플리케이션 허가를 부여받을 수 있다. 선 택적으로, 애플리케이션은 미서명 애플리케이션 허가에 포함된 모든 액세스 권한과 추가로 시큐리티의 손실 없이 액세스 가능한 것으로 확인된 보조 저장부(111)의 파일에 대한 액세스 권한을 부여받을 수 있다.
(4) 제 1 실시예는 트랜스포트 스트림이 하나의 방송장치로부터 송신되고 하나의 디지털 텔레비전 수신장치에 의해 수신되는 경우를 기술한다. 그러나, 본 발명은, 시스템이 트랜스포트 스트림을 송신하기 위한 다수의 방송장치와 트랜스포트 스트림을 수신하기 위한 다수의 디지털 텔레비전 수신장치를 포함할 수 있기 때문에 방송장치와 디지털 텔레비전 수신장치 사이의 이러한 숫자상의 관계에 한정되지 않는다.
(5) 본 발명은 애플리케이션의 송신경로의 특정 물리적 특성에 한정되지 않으며, 지상파, 위성, 및 케이블 텔레비전과 같은 다양한 송신경로를 통하여 송신되는 애플리케이션에 적용할 수 있다.
(6) 제 1 및 제 2 실시예는 본 발명의 애플리케이션 실행장치의 일 예로 디지털 텔레비전 수신장치를 기술하고 있지만, 본 발명은 이동전화와 같이 애플리케이션을 실행하기 위한 다른 환경에 동일하게 적용할 수 있다.
(7) 제 1 및 제 2 실시예 그리고 변형예에 기술한 한정은 자유롭게 조합될 수 있다.
본 발명의 애플리케이션 실행장치는 애플리케이션의 기동을 가속하는 효과를 가지며, 예를 들어, 객체 주기전송을 이용하여 송신되는 애플리케이션을 취득하고 취득한 애플리케이션을 실행하는 디지털 텔레비전 수신장치에 대해 유효하게 이용될 수 있다.

Claims (18)

  1. 애플리케이션 실행장치로서,
    자원을 액세스하는 명령을 포함하는 애플리케이션 프로그램을 취득하는 취득부;
    상기 취득한 애플리케이션 프로그램이 변형되었는지를 판정하는 판정부;
    제 1 자원만 액세스가 허가되는 것을 나타내는 임시 허가정보를 취득하는 임시 허가(tentative permission) 설정부;
    상기 제 1 자원과 제 2 자원의 액세스가 허가되는 것을 나타내는 확정 허가정보를 취득하는 확정 허가(definite permission) 설정부; 및
    상기 판정부가 상기 판정을 완료하기 전에는 상기 임시 허가정보가 나타내는 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 실행하기 시작하고, 상기 판정부가 상기 판정을 완료한 후에는 상기 애플리케이션 프로그램이 변형되지 않은 것으로 판정되면 상기 확정 허가정보가 나타내는 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 계속 실행하는 실행부를 포함하는 것을 특징으로 하는 애플리케이션 실행장치.
  2. 청구항 1에 있어서,
    상기 애플리케이션 프로그램이 변형된 것으로 판정되면, 상기 실행부는 상기 애플리케이션 프로그램의 파일 사이즈가 0(zero)인 것으로 추정하는 것을 특징으로 하는 애플리케이션 실행장치.
  3. 청구항 1에 있어서,
    상기 취득부가 상기 애플리케이션 프로그램의 취득을 완료하기 전에 상기 실행부가 상기 애플리케이션 프로그램의 실행을 시작하는 것을 특징으로 하는 애플리케이션 실행장치.
  4. 청구항 3에 있어서,
    상기 취득부는 상기 애플리케이션 프로그램을 전송하는 디지털 스트림을 수신함으로써 상기 애플리케이션 프로그램을 취득하는 것을 특징으로 하는 애플리케이션 실행장치.
  5. 청구항 4에 있어서,
    상기 디지털 스트림은 디지털 텔레비전 방송의 트랜스포트 스트림(transport stream)이며,
    상기 애플리케이션 프로그램은 객체 주기전송(object carousel)을 이용하여 상기 트랜스포트 스트림에 다중화되는 것을 특징으로 하는 애플리케이션 실행장치.
  6. 청구항 5에 있어서,
    상기 제 1 자원은 MHP(Multimedia Home Platform)에서 미서명 애플리케이션 이 액세스하도록 허가된 자원인 것을 특징으로 하는 애플리케이션 실행장치.
  7. 청구항 5에 있어서,
    송신기(transmitter)를 식별하기 위한 송신기정보에 기초하여 상기 애플리케이션 프로그램의 송신기를 식별하는 송신기 식별부를 추가로 포함하며,
    상기 객체 주기전송은 상기 애플리케이션 프로그램에 더하여 상기 송신기정보를 포함하고,
    상기 취득부는 상기 송신기정보를 추가로 포함하고,
    상기 실행부는, 상기 송신기 식별부가 상기 송신기의 식별을 완료한 후에, 상기 애플리케이션 프로그램의 실행을 시작하는 것을 특징으로 하는 애플리케이션 실행장치.
  8. 청구항 1에 있어서,
    상기 취득부는 상기 애플리케이션 프로그램의 종류를 나타내는 애플리케이션 식별자를 추가로 취득하고,
    상기 취득한 애플리케이션 식별자가 나타내는 종류가 기설정된 종류와 일치하면, 상기 실행부는 상기 판정부가 상기 판정을 완료하기 전에 상기 애플리케이션 프로그램의 실행을 시작하는 것을 특징으로 하는 애플리케이션 실행장치.
  9. 청구항 8에 있어서,
    상기 기설정된 종류는 상기 판정부가 상기 판정을 완료할 때까지 상기 제 1 자원만 액세스하도록 허가된 애플리케이션 프로그램의 종류의 것을 특징으로 하는 애플리케이션 실행장치.
  10. 청구항 1에 있어서,
    상기 애플리케이션 프로그램에 포함된 상기 명령을 실행하는 과정에서, 상기 실행부가 상기 제 2 자원을 액세스하는 명령에 이르렀으나, 상기 판정부가 상기 판정을 완료하지 않은 경우, 상기 실행부는 상기 판정부가 상기 판정을 완료할 때까지 대기하는 것을 특징으로 하는 애플리케이션 실행장치.
  11. 청구항 1에 있어서,
    상기 애플리케이션 프로그램은 상기 애플리케이션 프로그램의 해시값을 나타내는 해시정보를 포함하며,
    상기 판정부는 상기 취득한 애플리케이션 프로그램의 해시값을 산출하고, 상기 산출한 해시값을 상기 해시정보가 나타내는 해시값과 비교함으로써 상기 취득한 애플리케이션 프로그램이 변형되었는지를 판정하는 것을 특징으로 하는 애플리케이션 실행장치.
  12. 청구항 1에 있어서,
    상기 취득부는 서로 다른 레벨의 변형(tempering) 위험성을 갖는 복수의 취득경로 중 하나를 통하여 상기 애플리케이션 프로그램을 취득하고,
    상기 임시 허가 설정부는 상기 애플리케이션 프로그램의 취득경로에 대응하는 상기 임시 허가정보를 취득하며,
    상기 애플리케이션 프로그램의 취득경로가 갖는 변형 위험성의 레벨이 낮을수록 상기 취득경로에 대응하는 상기 임시 허가정보는 그에 대한 액세스가 상기 애플리케이션 실행장치에 불리하게 작용할 위험성이 더 높은 자원을 포함하는 상기 제 1 자원의 액세스에 대한 허가를 나타내는 것을 특징으로 하는 애플리케이션 실행장치.
  13. 청구항 12에 있어서,
    상기 애플리케이션 프로그램의 취득경로가 갖는 변형 위험성의 레벨이 낮은 취득경로는 상기 애플리케이션 프로그램이 암호화되어 있는 형태의 취득경로이고,
    상기 애플리케이션 프로그램의 취득경로가 갖는 변형 위험성의 레벨이 높은 취득경로는 상기 애플리케이션 프로그램이 암호화되어 있지 않은 형태의 취득경로인 것을 특징으로 하는 애플리케이션 실행장치.
  14. 청구항 1에 있어서,
    상기 취득부는 애플리케이션 프로그램을 취득하는데 요하는 시간이 서로 다른 복수의 취득경로 중 하나를 통하여 상기 애플리케이션 프로그램을 취득하고,
    상기 임시 허가 설정부는 상기 애플리케이션 프로그램의 취득경로에 대응하는 상기 임시 허가정보를 취득하며,
    상기 취득경로가 애플리케이션 프로그램을 취득하는데 요하는 시간이 길수록, 상기 취득경로에 대응하는 상기 임시 허가정보는, 그에 대한 액세스가 상기 애플리케이션 실행장치에 불리하게 작용할 위험성이 더 높은 자원을 포함하는 상기 제 1 자원의 액세스에 대한 허가를 나타내는 것을 특징으로 하는 애플리케이션 실행장치.
  15. 청구항 1에 있어서,
    상기 취득부가 기록매체로부터 상기 애플리케이션 프로그램을 판독함으로써 상기 애플리케이션 프로그램을 취득하고, 상기 판정부가 상기 애플리케이션 프로그램이 변형되지 않은 것으로 판정하면, 상기 판정부가 상기 판정을 완료한 후 상기 애플리케이션 프로그램을 실행하기 시작하는 서명 애플리케이션(Signed application) 실행부를 추가로 포함하며,
    상기 취득부가 상기 애플리케이션 프로그램을 전송하는 디지털 스트림을 수신함으로써 상기 애플리케이션 프로그램을 취득하면, 상기 실행부는 상기 판정부가 상기 판정을 완료하기 전에 상기 애플리케이션 프로그램의 실행을 시작하는 것을 특징으로 하는 애플리케이션 실행장치.
  16. 집적회로로서,
    자원을 액세스하는 명령을 포함하는 애플리케이션 프로그램을 취득하는 취득부;
    상기 취득한 애플리케이션 프로그램이 변형되었는지를 판정하는 판정부;
    제 1 자원만 액세스가 허가되는 것을 나타내는 임시 허가정보를 취득하는 임시 허가(tentative permission) 설정부;
    상기 제 1 자원과 제 2 자원의 액세스가 허가되는 것을 나타내는 확정 허가정보를 취득하는 확정 허가(definite permission) 설정부; 및
    상기 판정부가 상기 판정을 완료하기 전에는 상기 임시 허가정보가 나타내는 상기 허가의 범위 내에서 상기 애플리케이션 프로그램의 실행을 시작하고, 상기 판정부가 상기 판정을 완료한 후에는, 상기 애플리케이션 프로그램이 변형되지 않은 것으로 판정되면, 상기 확정 허가정보가 나타내는 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 계속 실행하는 실행부를 포함하는 것을 특징으로 하는 집적회로.
  17. 애플리케이션 실행방법으로서,
    자원을 액세스하는 명령을 포함하는 애플리케이션 프로그램을 취득하는 취득 단계;
    상기 취득한 애플리케이션 프로그램이 변형되었는지를 판정하는 판정 단계;
    제 1 자원만 액세스가 허가되는 것을 나타내는 임시 허가정보를 취득하는 임시 허가(tentative permission) 설정단계;
    상기 제 1 자원과 제 2 자원의 액세스가 허가되는 것을 나타내는 확정 허가정보를 취득하는 확정 허가(definite permission) 설정단계; 및
    상기 판정단계에 의한 상기 판정을 완료하기 전에는 상기 임시 허가정보가 나타내는 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 실행하기 시작하고, 상기 판정단계에 의한 상기 판정을 완료한 후에는, 상기 애플리케이션 프로그램이 변형되지 않은 것으로 판정되면, 상기 확정 허가정보가 나타내는 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 계속 실행하는 실행 단계를 포함하는 것을 특징으로 하는 애플리케이션 실행방법.
  18. 컴퓨터 판독가능한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체로,
    자원을 액세스하는 명령을 포함하는 애플리케이션 프로그램을 취득하는 취득 단계;
    상기 취득한 애플리케이션 프로그램이 변형되었는지를 판정하는 판정 단계;
    제 1 자원만 액세스가 허가되는 것을 나타내는 임시 허가정보를 취득하는 임시 허가(tentative permission) 설정단계;
    상기 제 1 자원과 제 2 자원의 액세스가 허가되는 것을 나타내는 확정 허가정보를 취득하는 확정 허가(definite permission) 설정단계; 및
    상기 판정단계에 의한 상기 판정을 완료하기 전에는 상기 임시 허가정보가 나타내는 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 실행하기 시작하고, 상기 판정단계에 의한 상기 판정을 완료한 후에는, 상기 애플리케이션 프로그램이 변형되지 않은 것으로 판정되면, 상기 확정 허가정보가 나타내는 상기 허가의 범위 내에서 상기 애플리케이션 프로그램을 계속 실행하는 실행단계를 컴퓨터에 실행시키는 것을 특징으로 하는 컴퓨터 판독가능한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
KR1020067004715A 2003-09-17 2004-09-17 애플리케이션 실행장치, 애플리케이션 실행방법, 집적회로, 및 컴퓨터 판독가능한 기록매체 KR101102717B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2003-00324158 2003-09-17
JP2003324158 2003-09-17
PCT/JP2004/014029 WO2005029842A1 (en) 2003-09-17 2004-09-17 Application execution device, application execution method, integrated circuit, and computer-readable program

Publications (2)

Publication Number Publication Date
KR20060076768A KR20060076768A (ko) 2006-07-04
KR101102717B1 true KR101102717B1 (ko) 2012-01-05

Family

ID=34372739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067004715A KR101102717B1 (ko) 2003-09-17 2004-09-17 애플리케이션 실행장치, 애플리케이션 실행방법, 집적회로, 및 컴퓨터 판독가능한 기록매체

Country Status (6)

Country Link
US (1) US7676847B2 (ko)
EP (1) EP1678943A1 (ko)
JP (1) JP4719150B2 (ko)
KR (1) KR101102717B1 (ko)
CN (2) CN101426076A (ko)
WO (1) WO2005029842A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005060255A1 (en) * 2003-12-18 2005-06-30 Matsushita Electric Industrial Co., Ltd. Method for storing, authenticalting and executing an application program
CN101853356B (zh) * 2005-02-14 2012-11-28 松下电器产业株式会社 应用程序执行装置、应用程序执行方法和程序
US20060206484A1 (en) * 2005-03-14 2006-09-14 Hitachi, Ltd. Method for preserving consistency between worm file attributes and information in management servers
WO2006129813A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast recording and reproduction apparatus with expiration date management unit
CN101213838B (zh) * 2005-06-30 2011-04-06 皇家飞利浦电子股份有限公司 在mhp或ocap广播系统中提供对数据的有条件访问的系统和方法
US8799757B2 (en) 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
JP2008158686A (ja) * 2006-12-21 2008-07-10 Toshiba Corp プログラム検証装置及び方法、プログラム検証に基づく署名システム
WO2008127092A2 (en) * 2007-03-14 2008-10-23 Aht Europe Ltd Device and method for gaining conditional access to a data network
US10482254B2 (en) * 2010-07-14 2019-11-19 Intel Corporation Domain-authenticated control of platform resources
US20120095877A1 (en) * 2010-10-19 2012-04-19 Apple, Inc. Application usage policy enforcement
US8656465B1 (en) * 2011-05-09 2014-02-18 Google Inc. Userspace permissions service
EP2713295A4 (en) * 2011-05-19 2015-04-22 Japan Broadcasting Corp COOPERATIVE RADIO COMMUNICATION RECEIVER, RESOURCE ACCESS CONTROL PROGRAM AND COOPERATIVE RADIO COMMUNICATION SYSTEM
US20130282870A1 (en) * 2012-04-18 2013-10-24 Sony Corporation Reception apparatus, reception method, transmission apparatus, transmission method, and program
CN102646184B (zh) * 2012-05-04 2014-10-22 上海天臣防伪技术股份有限公司 一种利用nfc手机读取iso15693标签的方法
CN104768054A (zh) * 2014-01-03 2015-07-08 光宝电子(广州)有限公司 音频播放装置、多媒体影音播放系统及其播放方法
JP6561436B2 (ja) * 2014-07-17 2019-08-21 セイコーエプソン株式会社 情報処理装置、情報処理装置を制御する方法、コンピュータープログラム
EP3641259A1 (de) * 2018-10-15 2020-04-22 Siemens Aktiengesellschaft Vorrichtung und verfahren zur prüfung von eigenschaften von ressourcen
US11093620B2 (en) * 2018-11-02 2021-08-17 ThreatConnect, Inc. Ahead of time application launching for cybersecurity threat intelligence of network security events
CN113784220B (zh) * 2020-02-17 2023-08-08 聚好看科技股份有限公司 播放媒体资源的方法、显示设备及移动设备
US11863573B2 (en) 2020-03-06 2024-01-02 ThreatConnect, Inc. Custom triggers for a network security event for cybersecurity threat intelligence
CN113468606A (zh) * 2020-03-30 2021-10-01 华为技术有限公司 一种应用程序的访问方法及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020019941A1 (en) 1998-06-12 2002-02-14 Shannon Chan Method and system for secure running of untrusted content

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2519390B2 (ja) * 1992-09-11 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ通信方法及び装置
US5625693A (en) 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US5680461A (en) * 1995-10-26 1997-10-21 Sun Microsystems, Inc. Secure network protocol system and method
US5915085A (en) * 1997-02-28 1999-06-22 International Business Machines Corporation Multiple resource or security contexts in a multithreaded application
US6014702A (en) * 1997-06-04 2000-01-11 International Business Machines Corporation Host information access via distributed programmed objects
US6345361B1 (en) * 1998-04-06 2002-02-05 Microsoft Corporation Directional set operations for permission based security in a computer system
US6694434B1 (en) * 1998-12-23 2004-02-17 Entrust Technologies Limited Method and apparatus for controlling program execution and program distribution
US6526513B1 (en) * 1999-08-03 2003-02-25 International Business Machines Corporation Architecture for dynamic permissions in java
JP4098959B2 (ja) * 2001-01-15 2008-06-11 株式会社日立製作所 ディジタル回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020019941A1 (en) 1998-06-12 2002-02-14 Shannon Chan Method and system for secure running of untrusted content

Also Published As

Publication number Publication date
CN100459659C (zh) 2009-02-04
EP1678943A1 (en) 2006-07-12
CN1853408A (zh) 2006-10-25
KR20060076768A (ko) 2006-07-04
JP4719150B2 (ja) 2011-07-06
CN101426076A (zh) 2009-05-06
US7676847B2 (en) 2010-03-09
JP2007506350A (ja) 2007-03-15
US20070033651A1 (en) 2007-02-08
WO2005029842A1 (en) 2005-03-31

Similar Documents

Publication Publication Date Title
KR101102717B1 (ko) 애플리케이션 실행장치, 애플리케이션 실행방법, 집적회로, 및 컴퓨터 판독가능한 기록매체
KR101070545B1 (ko) 애플리케이션 프로그램을 인증 및 실행하는 방법
US7752655B2 (en) Access control device and electronic device
KR20120002625A (ko) 애플리케이션 프로그램 인증 및 실행 방법
US9959394B2 (en) Device for decrypting and providing content of a provider and method for operating the device
JP5961164B2 (ja) 放送通信連携受信装置及びリソースアクセス制御プログラム
KR20170114582A (ko) 영상처리장치 및 그 제어방법
US9402108B2 (en) Receiver software protection
CN109644135B (zh) 用于在通信系统中提供安全服务的装置和方法
KR101569950B1 (ko) 오디오/비디오 데이터 처리 장치를 위한 보안 모듈
WO2010078971A1 (en) Method, computer program & electronic device
US8103001B2 (en) Method for verifying rights contained in a security module
CA2917120C (en) Reception device, reception method, and transmission method
CN116962845A (zh) 用于虚拟系统的多媒体播放方法及装置
KR100950596B1 (ko) Dcas 기반 방송 수신 장치 및 이의 보안 강화 방법
KR100947313B1 (ko) Dcas 기반 인증 방법 및 장치

Legal Events

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

Payment date: 20150629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee