CN100459659C - 应用执行设备、应用执行方法、和集成电路 - Google Patents
应用执行设备、应用执行方法、和集成电路 Download PDFInfo
- Publication number
- CN100459659C CN100459659C CNB200480026777XA CN200480026777A CN100459659C CN 100459659 C CN100459659 C CN 100459659C CN B200480026777X A CNB200480026777X A CN B200480026777XA CN 200480026777 A CN200480026777 A CN 200480026777A CN 100459659 C CN100459659 C CN 100459659C
- Authority
- CN
- China
- Prior art keywords
- application program
- application
- unit
- resource
- permission
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4433—Implementing client middleware, e.g. Multimedia Home Platform [MHP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/54—Monitoring 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
- H04N21/23617—Multiplexing of additional data and video streams by inserting additional data into a data carousel, e.g. inserting software modules into a DVB carousel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/27—Server based end-user applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
用对被授权给未签名应用的资源的访问许可来启动应用。与该应用的执行并行地,使用篡改检查线程对该应用进行篡改检查。当在完成篡改检查之前,在应用的执行过程中请求访问未授权给未签名应用的资源时,应用进入等待状态直到完成篡改检查。作为篡改检查的结果,在应用被判定为没有被篡改后,该应用被进一步授予对由包含在该应用中的许可信息文件指定的资源的访问许可。如果该进一步授予的访问许可包括对该资源的访问权限,则继续执行应用。
Description
技术领域
本发明涉及一种获取并执行应用程序的应用执行设备,特别是涉及执行通过数字电视广播获取的应用程序的技术。
背景技术
近年来,已经就各种数字电视广播标准进行了研究。这样的标准的一个例子是在许多国家被使用的MHP(多媒体家庭平台)。按照MHP,广播设备在广播波中复用应用程序(以下简称“应用”)并使用对象轮(data carousel)来对其进行传输,并且数字电视接收设备接收并执行该应用。
通过执行这种应用,数字电视接收设备能够完成传统的电视接收设备无法完成的各种功能。例如,能够实现交互式电视***,由此数字电视接收设备通过诸如因特网这样的网络将信息发送到广播站,其中该信息是被应用连同从广播波接收的广播节目一起收集的。
然而,如果对资源无限制访问,例如数字电视接收设备中文件***的使用和网络的连接,被授权给应用,那么当该应用包含恶意代码时,用户可能遭受损害或者该数字电视接收设备的控制***可能遭受不利影响。例如,执行包含恶意代码的应用可能导致观看期间信道转换的发生,或者存储于该数字电视接收设备中的信息被泄漏或破坏。为避免这种情况,MHP规范的第12节“安全性”定义了怎样安全地执行应用。
按照该节,有两种类型的应用:不需认证的未签名应用;需要认证的已签名应用。
未签名应用不需认证就被执行,但是,为保护***,禁止可能不利地影响***的资源访问。
已签名应用被允许比未签名应用访问更多的资源。然而,在启动前,通过使用X.509证书识别该应用的传送者、并基于散列值检查该应用是否被篡改,来对该已签名应用执行认证。只有当认证成功,该已签名应用才被启动。这样,通过仅执行被认证为由可信任传送者发送的有效应用的已签名应用,保护了***。
然而,该技术有以下问题。尽管已签名应用比未签名应用提供更高的功能,但是已签名应用不能被及时启动,因为它首先需要被认证。这引发了对于更快启动高功能应用的技术的需求。
发明内容
本发明旨在提供一种应用执行设备、一种应用执行方法、一种用于应用执行设备的集成电路、和一种保证安全性的同时能够加速启动高功能应用的计算机可读程序。
所述目标能够通过一种应用执行设备来完成,该应用执行设备包括:获取单元,用于获取包含访问资源的指令的应用程序;判定单元,用于判定所获取的应用程序是否被篡改;暂时性(tentative)许可设置单元,用于获得示出仅访问第一资源的许可的暂时性许可信息;确定性(definite)许可设置单元,用于获得示出访问第一资源和第二资源的许可的确定性许可信息;以及执行单元,用于在判定单元完成判定前,在暂时性许可信息示出的许可范围内开始执行该应用程序,并且在该判定单元完成判定后,如果该应用程序被判定为没有被篡改,则在确定性许可信息示出的许可范围内继续执行该应用程序。
按照上述结构,该应用执行设备能够启动应用程序,而不需要等待完成篡改检查的等待时间。如果作为篡改检查的结果,该应用程序被判定为没有被篡改,那么该应用程序被授权访问不仅第一资源和而且第二资源。这使得实现需要访问第二资源的高功能应用程序是可能的。
因此,能够在保证高安全性的同时快速启动高功能应用程序。
这里,如果应用程序被判定为被篡改,执行单元可以假定该应用程序的文件大小为零。
按照上述结构,如果应用程序被判定为为被篡改,则该应用程序的文件大小被假定为零。这防止该应用程序被进一步执行。
这样,即使当应用程序被篡改而包含可能不利地影响设备的访问第二资源的指令时,高安全性也能够被保证。
这里,执行单元可以在获取单元完成应用程序的获取前开始执行该应用程序。
按照上述结构,应用执行设备能够启动应用程序,而不需要等待完成该应用程序的获取的等待时间。
这使得该应用程序更快速地被启动。
这里,获取单元可以通过接收携带应用程序的数字流来获取该应用程序。
按照上述结构,当由于数字流的低传输速率导致花费很长时间获取应用程序时,应用执行设备能够启动该应用程序,而不用等待完成该应用程序的获取。
因此,无论携带应用程序的数字流的传输速率如何,该应用程序都能够被快速启动。
这里,数字流可以是数字电视广播的传输流,其中应用程序被利用对象轮复用于该传输流中。
数字电视接收设备获取例如100,000步骤的应用程序所需的时间段是大约20秒,其中使用对象轮在传输流中传送该100,000步骤的应用程序,该大约20秒对应于该对象轮的一个周期。这表明,在需要对整个应用程序执行的篡改检查完成前,至少20秒是必须的。具有上述结构的应用执行设备能够启动该应用程序,而不需要这样的等待完成获取该应用程序的等待时间。
因此,应用程序的启动能够由从启动所需的部分应用程序被获取到整个应用程序被获取的时间段来加速。
这里,第一资源可以是在MHP中未签名应用被允许访问的资源。
按照上述结构,在篡改检查完成前,应用程序被授权访问MHP中传统的未签名应用程序被允许访问的第一资源。同时,由于有不利地影响设备的风险,应用程序被禁止访问第二资源,直至篡改检查的完成,其中该第二资源是在MHP中传统的未签名应用程序被禁止访问的。
因此,与传统的未签名应用程序相同的安全级别能够被保证,直至篡改检查的完成。
这里,应用执行设备可以进一步包含:传送者识别单元,用于基于用来识别传送者的传送者信息来识别应用程序的传送者,其中对象轮除了包含应用程序外还包含传送者信息,获取单元进一步获取该传送者信息,并且在传送者识别单元完成传送者识别后,执行单元开始执行该应用程序。
按照上述结构,应用执行设备不启动应用程序,直至传送者被识别。这防止了执行不可信任传送者发送的应用程序,以此可以提高安全性。
这里,获取单元可以进一步获取示出应用程序类型的应用标识符,其中如果所获取的应用标识符示出的类型与预定类型相符,则执行单元在判定单元完成判定前开始执行该应用程序。
按照上述结构,依照应用程序的类型,应用执行设备在篡改检查完成前启动该应用程序。
这样,按照本发明的新类型的应用程序能够被处理,该处理不同于直至篡改检查完成才能被启动的传统的已签名应用程序。
这里,当执行单元在执行被包含在该应用程序中的指令的过程中,得到访问第二资源的指令但是判定单元没有完成判定时,执行单元可以等待直至判定单元完成判定。
按照上述结构,应用程序被禁止访问第二资源,直至篡改检查的完成。通过这种禁止对第二资源的访问,保证了高安全性,其中对第二资源的访问可能不利地影响设备。在篡改检查完成且应用程序被判定为没有被篡改后,该应用程序被授权访问第二资源。这使得可以实现高功能的应用程序。
这里,应用程序可以包含示出该应用程序的散列值的散列信息,其中,通过计算所获取的应用程序的散列值、并将计算的散列值与散列信息示出的散列值相比较,判定单元判定所获取的应用程序是否被篡改。
按照上述结构,如果应用程序的至少一个部分被篡改,则散列值的比较将导致不匹配。因此应用的篡改能够被准确地检测到,以此可以获得高安全性。
这里,获取单元可以通过具有不同级别的篡改风险的多个获取途径之一来获取应用程序,其中暂时性许可设置单元获得对应于该应用程序的获取途径的暂时性许可信息,并且当该应用程序的获取途径具有较低级别的篡改风险时,对应于获取途径的暂时性许可信息示出对访问包含特定资源在内的第一资源的许可,其中对该特定资源的访问在不利地影响应用执行设备方面上具有较高风险。
按照上述结构,当从具有较低级别的篡改风险的安全获取途径获取应用程序时,该应用程序被授权访问更多资源,包含具有不利地影响设备的风险的资源。这使得应用程序中更多指令被执行,使得更有可能到执行单元得到访问第二资源的指令时完成篡改检查。
这减少了等待篡改检查完成的需要。因此,用户能够在保证高安全性的同时方便地使用应用程序。
这里,当应用程序的获取途径具有较低级别的篡改风险时,该应用程序可以处于加密的形式,其中当应用程序的获取途径具有较高级别的篡改风险时,该应用程序处于未加密的形式。
按照上述结构,当应用程序被以加密形式获取时,该应用程序被授权访问更多资源,包括具有不利地影响设备的风险的资源。这使得应用程序中的更多指令被执行。
结果,等待篡改检查完成的需要减少了。因此,用户能够在保证高安全性的同时方便地使用该应用程序。
这里,获取单元可以通过具有不同的获取应用程序所需时间段的多个获取途径之一来获取应用程序,其中暂时性许可设置单元获得对应于该应用程序的获取途径的暂时性许可信息,并且当该应用程序的获取途径需要较长时间段时,对应于该获取途径的暂时性许可信息示出对访问包含特定资源在内的第一资源的许可,其中对该特定资源的访问在不利地影响应用执行设备方面上具有较高的风险。
当从获取应用程序所需的时间段较长的获取途径获取应用程序时,在篡改检查完成前花费了较长时间。按照上述结构,这样的应用程序在篡改检查完成前被授权访问更多资源,包含具有不利地影响设备的风险的资源。这使得应用程序的更多指令被执行,因此更有可能到执行单元得到访问第二资源的指令时完成篡改检查。
结果,等待篡改检查完成的需要减少了,因此,用户能够方便地使用应用程序,即使当应用程序的获取花费很长时间时也是如此。
这里,应用执行设备可以进一步包含:已签名应用执行单元,用于如果获取单元通过从记录介质读取应用程序而获得该应用程序、并且判定单元判定该应用程序没有被篡改,则在判定单元完成判定后开始执行该应用程序,其中,如果获取单元通过接收携带该应用程序的数字流来获取该应用程序,则执行单元在判定单元完成判定前开始执行该应用程序。
从记录介质获取应用程序并因此对该应用程序执行篡改检查只花费很短时间。在这种情况下,具有上述结构的应用执行设备在篡改检查完成后启动该应用程序,这与传统的已签名应用程序的方式相同。结果,获得了与传统的已签名应用程序相同级别的安全性。
同时,从数字流获取应用程序并因此对该应用程序执行篡改检查要花费很长时间。在这种情况下,应用执行设备利用仅访问第一资源的授权来启动该应用程序,而不需要等待篡改检查的完成。在篡改检查完成且应用程序被判定为没有被篡改后,该应用程序进一步被授权访问第二资源,作为其结果,访问第二资源的指令能够被执行。这样做时,在保证安全性的同时加速了应用程序的启动。
所述目标也能够通过一种包括以下单元的集成电路来完成:获取单元,用于获取包含访问资源的指令的应用程序;判定单元,用于判定所获取的应用程序是否被篡改;暂时性许可设置单元,用于获得示出仅访问第一资源的许可的暂时性许可信息;确定性许可设置单元,用于获得示出访问第一资源和第二资源的许可的确定性许可信息;以及执行单元,用于在判定单元完成判定前,在暂时性许可信息示出的许可范围内开始执行应用程序,以及在判定单元完成判定后,如果该应用程序被判定为没有被篡改,则在确定性许可信息示出的许可范围内继续执行该应用程序。
按照上述结构,集成电路能够启动应用程序,而不需要等待完成篡改检查的等待时间。如果作为篡改检查的结果,该应用程序被判定为没有被篡改,那么该应用程序被授权访问不仅第一资源而且第二资源。这使得实现需要访问第二资源的高功能应用程序是可能的。
因此,能够在保证高安全性的同时快速启动高功能应用程序。
所述目标也能够通过一种包括以下步骤的应用执行方法来完成:获取步骤,用于获取包含访问资源的指令的应用程序;判定步骤,用于判定所获取的应用程序是否被篡改;暂时性许可设置步骤,用于获得示出仅访问第一资源的许可的暂时性许可信息;确定性许可设置步骤,用于获得示出访问第一资源和第二资源的许可的确定性许可信息;以及执行步骤,用于在判定步骤完成判定前,在暂时性许可信息示出的许可范围内开始执行应用程序,以及在判定步骤完成判定后,如果该应用程序被判定为没有被篡改,则在确定性许可信息示出的许可范围内继续执行该应用程序。
按照上述方法,应用程序能够被启动,而不需要等待完成篡改检查的等待时间。如果作为篡改检查的结果,该应用程序被判定为没有被篡改,那么该应用程序被授权访问不仅第一资源而且第二资源。这使得实现需要访问第二资源的高功能应用程序是可能的。
因此,能够在保证高安全性的同时快速启动高功能应用程序。
所述目标也能够通过一种使计算机执行以下步骤的计算机可读程序来完成:获取步骤,用于获取包含访问资源的指令的应用程序;判定步骤,用于判定所获取的应用程序是否被篡改;暂时性许可设置步骤,用于获得示出仅访问第一资源的许可的暂时性许可信息;确定性许可设置步骤,用于获得示出访问第一资源和第二资源的许可的确定性许可信息;以及执行步骤,用于在判定步骤完成判定前,在暂时性许可信息示出的许可范围内开始执行应用程序,以及在判定步骤完成判定后,如果该应用程序被判定为没有被篡改,则在确定性许可信息示出的许可范围内继续执行该应用程序。
按照上述程序,应用程序能够被启动,而不需要等待完成篡改检查的等待时间。如果作为篡改检查的结果,该应用程序被判定为没有被篡改,那么该应用程序被授权访问不仅第一资源而且第二资源。这使得实现需要访问第二资源的高功能应用程序是可能的。
因此,能够在保证高安全性的同时快速启动高功能应用程序。
附图说明
图1示出包括本发明第一实施例涉及的数字电视接收设备的交互式电视***的结构;
图2A示出传输数据的结构;
图2B是携带图2A中示出的传输数据的传输流的表示图;
图3是图2中示出的管理信息的数据结构的表示图;
图4是图2中示出的应用的目录结构的表示图;
图5示出图4中示出的传送者信息文件的数据结构;
图6示出图4中示出的散列信息文件的数据结构;
图7示出图4中示出的篡改检查散列值文件的数据结构;
图8示出图4中示出的许可信息文件的示例;
图9示出按照MHP专门用于未签名应用和已签名应用的访问许可;
图10示出图1中示出的数字电视接收设备的硬件结构;
图11示出存储于图10中示出的ROM中的程序的功能结构;
图12示出用于控制应用执行的功能结构;
图13是示出数字电视接收设备中信道选择过程的流程图;
图14A是示出数字电视接收设备中应用启动控制过程的流程图;
图14B是示出创建于图14A的步骤S22中的篡改检查线程的流程图;
图15是示出控制应用访问资源的过程的流程图;
图16示出携带图2中示出的附加数据的对象轮的示例;
图17示出本发明第二实施例涉及的数字电视接收设备的硬件结构;
图18示出图17中示出的数字电视接收设备中控制应用的执行的功能结构;
图19是示出图17示出的数字电视接收设备启动时设置访问许可的过程的流程图;
图20是示出作为第二实施例的变型的过程的流程图。
具体实施方式
(第一实施例)
下文描述了本发明的应用执行设备的第一实施例。在第一实施例中,从广播波获取应用并执行该应用的数字电视接收设备被用作应用执行设备的示例。
图1示出包含第一实施例的数字电视接收设备的交互式电视***的结构。
在该图中,广播设备1被安装于数字电视广播站内。广播设备1发送数字电视广播的传输数据10,并通过诸如因特网这样的网络从数字电视接收设备2接收信息。
数字电视接收设备2被数字电视广播的观看者使用。数字电视接收设备2从广播设备1接收数字电视广播的传输数据10。数字电视接收设备2具有回放包含于传输数据10中的广播节目的功能,以及执行包含于传输数据10中的应用的功能。通过该应用的执行,数字电视接收设备2通过网络发送信息至广播设备1。这样,完成了交互式服务。
图2A示出从广播设备1发送的传输数据10的结构。如图所示,传输数据10大致由广播程序的视频数据11和音频数据12、以及附加数据13组成。传输数据10实际由MPEG2传输流实现,该传输流通过复用视频数据11的流、音频数据12的流、以及被对象轮携带的DSM-CC段中的附加数据13来生成,如图2B所示出的。MPEG2传输流和DSM-CC分别在MPEG规范ISO/IEC 138181-1和138181-6中被详细描述,因此这里省略其解释。
附加数据13包含应用14、以及应用14的管理信息15,其中应用14是用Java(注册商标)编写的程序。因为对象轮被用于附加数据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是暂时性未签名应用,它是按照本实施例的一种新类型应用。
图4是应用14的目录结构的表示图。在该图中,应用14在根目录21下具有应用目录22。应用目录22包含传送者信息文件23、应用目录22的散列信息文件24、篡改检查散列值文件25、以及主类目录26。
主类目录26包含主类目录26的散列信息文件27、许可信息文件28、主类文件29、以及子类目录30。子类目录30包含子类目录30的散列信息文件31、以及子类文件32和33。
图5详细示出图4中示出的传送者信息文件23的数据结构。传送者信息文件23是用于证明应用14的传送者身份的X.509证书。在X.509证书中,发布者名称23a示出传送者的名称,公共密钥信息23b示出被用于解密篡改检查散列值文件25中的签名数据的公共密钥。X.509在RFC 2459等中被详细描述,因此这里省略其解释。
图6详细示出图4中示出的散列信息文件24的数据结构。散列信息文件24包含示出散列值数目的散列值计数24a,以及一一对应于散列值的多个信息集合。每个信息集合由散列算法24b、示出文件数目的文件计数24c、文件的文件名称24d、以及由文件计算出的散列值24e组成。
图7详细示出图4中示出的篡改检查散列值文件25的数据结构。篡改检查散列值文件25包含X.509证书标识符25a、散列算法25b、以及签名数据25c。利用与传送者信息文件23中的公共密钥信息23b示出的公共密钥相应的秘密密钥,通过加密从散列信息文件24计算出的散列值,来生成签名数据25c。
图8示出图4中示出的许可信息文件28的示例。许可信息文件28以XML示出访问应用14的执行中所需的资源的许可。更详细地,许可信息文件28示出对访问属于图9中示出的附加许可组的一个或者更多资源的许可。在数字电视接收设备2中,如果应用14被判定是由可信任传送者发送的并且没有被篡改,应用24被允许访问许可信息文件28中示出的资源。XML在RFC 3023等中被详细描述,因此这里省略其解释。
以下描述数字电视接收设备2的硬件结构。
图10示出数字电视接收设备2的硬件结构。如图所示,数字电视接收设备2包含TS解码器101、音频解码器102、视频解码器103、扬声器104、显示器105、图像输出单元106、CPU 107、网络设备108、输入单元109、主存储单元110、二级存储单元111、以及ROM112。
数字电视接收设备2中,TS解码器101对携带传输数据10的MPEG传输流进行解复用,并且视频解码器103和音频解码器102分别解码被由TS解码器101获得的视频数据11和音频数据12,并且将已解码的视频数据和音频数据输出至显示器105和扬声器104。这样,数字电视接收设备2回放广播节目。
图像输出单元106在从视频解码器103输出的已解码视频数据上叠加图像数据,诸如用于数字电视接收设备2的设置屏的图像数据或者用于应用14的显示屏的图像数据。
输入单元109接收由观看者通过远程控制进行的用户操作。
CPU 107按照输入单元109接收的用户操作来控制图像输出单元106以更新图像数据。这样,数字电视接收设备2执行交互式操作。
主存储单元110是实际由RAM实现的工作区域。从传输数据10分离的应用14被存储于主存储单元110中。
二级存储单元111是一包含在诸如硬盘或者EEPROM设备中的非易失性存储器。二级存储单元111存储可信任传送者列表。
ROM 112存储用于控制数字电视接收设备2的程序。数字电视接收设备2的功能由CPU 107结合硬件资源执行ROM 112中的程序来实现。
图11示出ROM 112中存储的程序的功能结构。
ROM 112中存储的程序包含控制单元201、应用管理单元202、Java(注册商标)类库203、Java(注册商标)VM 204、设备驱动器205、以及OS 206。
控制单元201按照输入单元109接收的用户操作来控制数字电视接收设备2。
设备驱动器205包含用于扬声器104、显示器105、图像输出单元106、以及网络设备108的驱动。
应用管理单元202和Java(注册商标)类库203控制存储于主存储单元110中的应用14的执行。
图12详细示出用于控制应用14的执行的功能结构。
应用管理单元202包含应用信息读取单元211、生存周期管理单元212、以及应用认证单元213。Java(注册商标)类库203包含安全管理单元221和资源库222。
应用信息读取单元211从主存储单元110读取包含在附加数据13中的管理信息15。
生存周期管理单元212基于管理信息15,根据未签名应用、已签名应用以及暂时性未签名应用之一的启动过程来启动应用14。
应用认证单元213包含传送者识别单元214、认证状态管理单元215、篡改检查单元216、以及许可读取单元217,并认证应用14。认证状态管理单元215包含认证状态保存单元218和未签名应用许可保存单元219。未签名应用许可保存单元219持有未签名应用许可信息,该信息示出MHP中对访问被授权给未签名应用的资源的许可(下文简称“未签名应用许可”)。例如,未签名应用许可信息通过用XML来编写未签名应用许可进行实现。
MHP禁止未签名应用访问预定资源。更详细地,未签名应用被禁止访问图9中以标记“×”指示的资源。另一方面,已签名应用被授权无限制访问由包含于应用中的许可信息文件指定的资源。
按照本实施例的暂时性未签名应用被使用未签名应用许可的授权而启动,而不用等待应用的篡改检查的完成。这样,暂时性未签名应用以与未签名应用相同的方式被禁止访问预定资源,直至篡改检查完成。篡改检查完成且暂时性未签名应用被判定为有效应用后,暂时性未签名应用被授权以与已签名应用相同的方式,无限制访问由包含在应用中的许可信息文件指定的资源。
在Java(注册商标)类库203中,安全管理单元221包含许可设置单元223和许可检查单元224,并且控制应用14被允许访问的资源范围。
参照图13至15,具有上述结构的数字电视接收设备2的操作被描述如下。这里,作为信道转换结果发生的应用14的自动执行被用作数字电视接收设备2的示例操作。
图13是示出数字电视接收设备2中信道选择过程的流程图。
从输入单元109接收到转换至对应于传输数据10的信道的用户操作时(S1),控制单元201命令TS解码器101转换到该信道,并复用携带传输数据10的传输流。然后控制单元201命令视频解码器103和音频解码器102通过设备驱动器205回放视频数据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:否)。在这种情况下,应用信息读取单元211重复尝试读取管理信息15,直至TS解码器101接收到包含管理信息15的模块。在读取管理信息15(S12:是)后,应用信息读取单元211将所读取的管理信息15传送至生存周期管理单元212。
生存周期管理单元212接收管理信息15,并判定是否自动启动应用14(S13)。更详细地,生存周期管理单元212检查管理信息15中的执行标记17。如果执行标记17是OFF(S13:否),则生存周期管理单元212判定应用14将不被自动启动,并结束该过程。如果执行标记17是ON(S13:是),则生存周期管理单元212判定应用14将被自动启动。接下来的步骤S 14至S16中,生存周期管理单元212基于管理信息15中的应用标识符16来判定应用14是否是未签名应用、已签名应用、或者暂时性未签名应用。
如果应用标识符16在0x0000至0x3FFF的范围中(S14:是),生存周期管理单元212判定应用14是传统的未签名应用。在这种情况下,生存周期管理单元212从未签名应用许可保存单元219读取未签名应用许可信息,并将未签名应用许可信息传送至Java(注册商标)类库203的安全管理单元221中的许可设置单元223。许可设置单元223将被未签名应用许可信息示出的未签名应用许可设置为启动时授权给应用14的访问许可225。
如果应用标识符16在0x4000至0x7FFF的范围中(S15:是),生存周期管理单元212判定应用14是传统的已签名应用,并命令应用认证单元213对应用14进行认证。应用认证单元213执行如下认证。首先,传送者识别单元214执行传送者识别(S18)。详细地,传送者识别单元214从主存储单元110读取图5中示出的传送者信息文件23。如果传送者信息文件23中的发布者名称23a被包含在预先存储于二级存储单元211中的可信任传送者列表中,传送者识别单元214判定应用14的传送者是可信任传送者(S18:是)。这里,传送者信息文件23中的公共密钥信息23b能够被用于判定传送者信息文件23是否是从传送者自身发送的,其中该传送者信息文件23是X.509证书。
如果应用14的传送者被判定为可信任传送者,则应用认证单元213等待,直至整个应用14被存储于主存储单元110中。此后,篡改检查单元216对应用14执行篡改检查(S19)。该篡改检查能够以以下方式进行。对于应用目录22、主类目录26、以及子类目录30中的每个,篡改检查单元216根据目录中包含的每个文件计算散列值,并将计算出的散列值与属于该目录的散列信息文件24、27和31之一示出的散列值相比较。进一步地,篡改检查单元216根据散列信息文件24计算一个散列值,利用传送者信息文件23的公共密钥信息23b中示出的公共密钥来解密篡改检查散列值文件25中的签名数据25c以获取一个散列值,并将两个散列值相比较。如果所有上述比较结果相匹配,则篡改检查单元216判定应用14没有被篡改。另一方面,如果任一上述比较结果不匹配,则篡改检查单元216判定应用14被篡改。如果应用14被判定为没有被篡改(S19:是),则篡改检查单元216通知许可读取单元217认证成功。作为响应,许可读取单元217从主存储单元110读取许可信息文件28(S20)。这里,如果由于许可信息文件28首先不包含在应用14中,结果许可读取单元217不能读取许可信息文件28,那么许可读取单元217改为从未签名应用许可保存单元219读取未签名应用许可信息。
通过生存周期管理单元212,许可读取单元217将所读取的许可信息文件28传送至安全管理单元221中的许可设置单元223。许可设置单元223将许可信息文件28示出的已签名应用许可设置为访问许可225(S21)。
同时,如果传送者被判定不是可信任传送者(S18:否),或者如果应用14被判定为已经被篡改(S19:否),则应用认证单元213通知生存周期管理单元212认证失败。生存周期管理单元212因此结束该过程,而不启动应用14。
如果应用标识符16在0x8000至0xFFFF的范围中(S16:是),生存周期管理单元212判定应用14是按照本实施例的新类型应用——暂时性未签名应用,并命令应用认证单元213对应用14进行认证。应用认证单元213等待,直至TS解码器101接收到传送者信息文件23、并将其存储至主存储单元110中。一旦传送者信息文件23被存储到主存储单元110中,传送者识别单元214就执行与步骤S18中相同的传送者认证(S25)。如果应用14的传送者被判定为可信任传送者(S25:是),则应用认证单元213命令篡改检查单元216和许可读取单元217创建篡改检查线程(S22),并且还通知生存周期管理单元212应用14的传送者是可信任传送者。被通知后,生存周期管理单元212从未签名应用许可保存单元219读取未签名应用许可信息,并将未签名应用许可信息传送至安全管理单元221中的许可设置单元223。许可设置单元223将未签名应用许可信息示出的未签名应用许可设置为访问许可225(S23)。同时,如果应用14的传送者被判定为不是可信任传送者(S25:否),应用认证单元213通知生存周期管理单元212应用14的传送者不是可信任传送者。生存周期管理单元212因此结束该过程,而不启动应用14。
在访问许可225在步骤S17、S21以及S23之任一中被设置后,生存周期管理单元212利用Java(注册商标)类库203来启动应用14(S24)。这完成了应用启动控制过程。
利用上述过程,应用14的启动被加速。假定应用14具有很大的数据量,并因此花费很长时间来获取包含应用14的对象轮的一个周期和并根据应用14计算散列值。按照用于传统的已签名应用的过程,应用14不能被启动,直至对象轮的一个周期被获取并且应用14被认证。另一方面,按照用于暂时性未签名应用的过程,当部分对象轮被获取时,应用14能够被启动。
由篡改检查单元216和许可读取单元217在步骤S22中创建的篡改检查线程具有以下过程。注意该篡改检查线程与应用14的执行被并行处理,其中该应用14是步骤S24中启动的暂时性未签名应用。
图14B是示出篡改检查线程的过程的流程图。
在TS解码器101获取整个附加数据13并将整个应用14存储至主存储单元110中后,篡改检查单元216对应用14执行篡改检查(S31)。如果作为篡改检查结果,应用14被判定为没有被篡改(S32:是),则篡改检查单元216将此通知到许可读取单元217。作为响应,许可读取单元217从主存储单元110读取许可信息文件28,并将许可信息文件28传送至认证状态管理单元215。过程结束前,认证状态管理单元215将许可信息文件28注册至认证状态保存单元218中(S33)。另一方面,如果应用14被判定为已经被篡改(S32:否),则篡改检查单元216通知认证状态管理单元215认证失败。过程结束前,认证状态管理单元215将指示认证失败的信息注册至认证状态保存单元218中(S34)。这完成了篡改检查线程。
MHP规定,当对于已签名应用的篡改检查导致失败时,该已签名应用的文件大小被假定为零。作为结果,该已签名应用被视为没有任何内容,尽管该已签名应用本身存在。这样,当篡改检查单元216通知应用失败时,认证状态管理单元215执行的步骤S34可以修改如下,以使得本发明与MHP相适应。在步骤S34中,认证状态管理单元215将指示认证失败的信息注册至认证状态保存单元218中。另外,在用于管理主存储单元110的文件***中,认证状态管理单元215将应用14的每个文件的文件大小或者应用14中每个文件的文件大小变为零,其中对此计算出的散列值与散列信息文件中对应的散列值不匹配。
与图14B示出的篡改检查线程并行地,图14A的步骤S24中启动的暂时性未签名应用——应用14被执行。在应用14的执行中,Java(注册商标)类库203判定应用14是否被允许访问应用14请求的资源。在传统的未签名应用或者已签名应用的情况下,基于步骤S17或者S21中设置的访问许可225来做出该判定。在按照本实施例的暂时性未签名应用的情况下,基于步骤S23中设置的访问许可225来做出判定,直至篡改检查完成。在篡改检查完成并且应用被判定为没有被篡改后,基于步骤S23中设置的访问许可225和在步骤S33中注册到认证状态保存单元218中的许可信息文件28二者来做出判定。
以下解释Java(注册商标)类库203如何控制作为暂时性未签名应用的应用14对资源的访问。
图15是示出控制应用14访问资源的过程的流程图。
当应用14需要访问资源时,诸如连接到网络或者从二级存储单元111读取文件时,应用14调用Java(注册商标)类库203中的资源库222(S41)。
接收到调用后,资源库222向安全管理单元221询问应用14是否被允许访问该资源。
安全管理单元221通过许可检查单元224查阅访问许可225,以判定访问许可225是否包含访问该资源的权限(S42)。这里,图14A的步骤S23中未签名应用许可被设置为访问许可225。这样,如果未签名应用许可包含对该资源的访问权限(S42:是),则安全管理单元221向资源库222通知应用14被允许访问该资源。因此,在结束该过程前,资源库222授权应用14访问该资源,并发送请求至该资源(S43)。这样,应用14访问该资源。
如果被设置为访问许可225的未签名应用许可不包含对该资源的访问权限(S42:否),则安全管理单元221向认证状态管理单元215询问认证状态。
如果篡改检查线程的篡改检查没有完成(S44:否),则认证状态管理单元215等待篡改检查的完成。一旦篡改检查完成(S44:是),认证状态管理单元215从认证状态保存单元218读取许可信息文件28,并将许可信息文件28传送至安全管理单元221(S45)。
安全管理单元221从认证状态管理单元215接收许可信息文件28,并判定许可信息文件28是否包含对该资源的访问权限(S46)。安全管理单元221将判定结果通知给资源库222。
如果许可信息文件28包含对该资源的访问权限(S46:是),则资源库222授权应用14访问该资源,并发送请求至该资源(S43)。这样,应用14访问该资源。如果许可信息文件28不包含对该资源的访问权限(S46:否),则在结束该过程前,资源库222将指示禁止访问该资源的错误信息发送至应用14(S47)。在这种情况下,不能进一步执行应用14,因此应用14被终止。这完成了控制应用14对资源的访问的过程,其中应用14是暂时性未签名应用。
按照上述过程,在篡改检查完成前,作为暂时性未签名应用的应用14以未签名应用许可的授权被启动,并且应用14的指令被从最上层指令(top instruction)开始顺序地执行。在篡改检查完成且应用14被判定为没有被篡改后,应用14进一步被授权由许可信息文件28指定的已签名应用许可,其中许可信息文件28由应用14的传送者生成。随后,即使当该执行得到访问没有被包含在未签名应用许可内的资源的指令时,如果由许可信息文件28指定的已签名应用许可包含对该资源的访问权限,则该指令仍能够被执行。
因此,应用14能够使用未签名应用许可的授权被快速启动,而不用等待篡改检查的完成。因为应用14被禁止访问不包含在未签名应用许可中的资源直至篡改检查完成,因此高安全性被保证。在篡改检查完成且应用14被判定为没有被篡改后,应用14进一步被授权访问未包含在未签名应用许可中的资源。这使得实现高功能应用是可能的。
假定应用14中,在显示器105上再现图像的指令先于使用未签名应用许可不能被执行的指令,并且该未签名应用许可包含显示图形的权限。按照上述过程,无论应用14的整个数据量如何,图像都能够被快速显示在显示器105上,这使得缩短观看者的等待时间并提高操作性是可能的。
在传统的已签名应用的情况下,应用14中每个文件的篡改检查都需要先于启动完成,即使当应用14仅执行图形显示也是如此。如果这种应用14的整个数据量很大,会花费很长时间来从传输流获取应用14并对应用14执行篡改检查。这导致应用14启动的延迟,并因此导致图形显示的生成的延迟。另一方面,在按照本实施例的暂时性未签名应用的情况下,具有未签名应用许可的授权的应用14先于篡改检查的完成而被启动。因此,图形显示能够在未签名应用许可范围内被快速生成。
这里注意,即使当应用14是暂时性未签名应用时,也需要在启动前,利用管理信息15中的应用标识符16来判定应用14的类型、并利用传送者信息文件23来识别应用14的传送者。为此,需要先于启动来获取至少管理信息15、传送者信息文件23、以及包含应用14的最上层指令的主类文件29。
由此,诸如图16中示出的对象轮可以被用于传输附加数据13。在该图中,应用14被分为4个模块A1至A4,并且管理信息15被包含于模块M1中。在该对象轮中,携带传送者信息文件23和主类文件29的模块A1、以及携带管理信息15的模块M1比其他模块被更频繁地传送。无论TS解码器101在对象轮的哪一部分开始获取附加数据13,这都增加了减少获取主类文件29、传送者信息文件23以及管理信息15所需时间的可能性。因此应用14的启动能够被进一步加速。
(第二实施例)
第一实施例描述了从传输流获取应用的示例,但是记录于可移动记录介质上的应用也能够被存储于主存储单元110中并被执行。然而,与来自广播站的传输流传送的应用相比,被记录于可移动记录介质上的应用能够被利用个人计算机等更容易地进行分析,并因此更可能被篡改。
由此,本发明的第二实施例描述了一种数字电视接收设备,该数字电视接收设备依照应用的获取途径,改变在篡改检查完成前在启动时暂时性地授权给应用的访问许可。
图17示出第二实施例涉及的数字电视接收设备3的硬件结构。与第一实施例中相同的部件被赋予相同的参考标号,并省略其解释。
数字电视接收设备3与第一实施例的数字电视接收设备2的不同之处在于,进一步包含了二级存储单元113。
二级存储单元113是诸如SD卡或光盘这样的可移动非易失性存储器。不同的应用被存储于二级存储单元111和二级存储单元113中。
图18示出数字电视接收设备3中用于控制应用14的执行的功能结构。该结构与图12示出的第一实施例的结构的不同之处在于,生存周期管理单元212包含了获取途径保存单元231,并且认证状态管理单元215包含了第一暂时性许可保存单元232、第二暂时性许可保存单元233和第三暂时性许可保存单元234,而取代了未签名应用许可保存单元219。
获取途径保存单元231是持有获取途径信息的功能块,该获取途径信息示出存储于主存储单元110中的应用14被获取的获取途径。当应用14被存储于主存储单元110中时,该获取途径信息被应用信息读取单元211获取,并被设置在获取途径保存单元231中。主要有四种获取途径:从传输流分离的应用;从二级存储单元111读取的应用;从二级存储单元113读取的应用;以及从因特网下载的应用。在本实施例中,对这些获取途径的篡改风险被假定为以传输流、二级存储单元111、二级存储单元113、因特网的顺序增长。
第一暂时性许可保存单元232、第二暂时性许可保存单元233和第三暂时性许可保存单元234分别持有第一暂时性许可信息、第二暂时性许可信息和第三暂时性许可信息。第一暂时性许可信息、第二暂时性许可信息和第三暂时性许可信息各自示出对访问资源的许可。可访问资源的数目以第一暂时性许可信息、第二暂时性许可信息和第三暂时性许可信息的顺序减少。更详细地,第一暂时性许可信息示出第一暂时性许可,其包含显示控制权限、控制传输流和选择信道的权限、以及访问二级存储单元111和113的权限。第二暂时性许可信息示出第二暂时性许可,其包含显示控制权限和访问二级存储单元111和113的权限。第三暂时性许可信息示出第三暂时性许可,其包含显示控制权限和访问作为可移动非易失性存储器的二级存储单元113的权限。与第一实施例中的未签名应用许可信息类似,第一暂时性许可信息、第二暂时性许可信息和第三暂时性许可信息各自通过用XML来编写相应的许可来实现。
具有上述结构的数字电视接收设备3以以下方式设置启动时授权给应用14的访问许可225。这里,当应用14的获取途径具有较低篡改风险时,数字电视接收设备3授权应用14访问更多资源。
图19是示出数字电视接收设备3中启动时设置访问许可225的过程的流程图。
生存周期管理单元212从获取途径保存单元231读取获取途径信息(S61)。基于所读取的获取途径信息,生存周期管理单元212判定获取应用14所通过的获取途径(S62、S64、以及S65)。
如果应用14是从传输流获取的(S62:是),则生存周期管理单元212从第一暂时性许可保存单元232读取第一暂时性许可信息,并命令安全管理单元221将第一暂时性许可信息示出的第一暂时性许可设置为访问许可225(S63)。
如果应用14是从二级存储单元111读取的(S64:是,且S65:否),则生存周期管理单元212从第二暂时性许可保存单元233读取第二暂时性许可信息,并命令安全管理单元212将第二暂时性许可信息示出的第二暂时性许可设置为访问许可225(S66)。
如果应用14是从二级存储单元113读取的(S64:是,且S65:是)或者从因特网下载的(S64:否),则生存周期管理单元212从第三暂时性许可保存单元234读取第三暂时性许可信息,并命令安全管理单元212将第三暂时性许可信息示出的第三暂时性许可设置为访问许可225(S67)。
按照该过程,依照应用14的获取途径,在启动时暂时性地授权给应用14的访问许可225发生改变。如果应用14的获取途径具有较低的篡改风险,则应用14被暂时性地授权访问更多资源。因为利用访问更多资源的授权,应用14的更多指令能够被执行,所以由于在暂时性许可之内资源调用的发生不被允许而导致的必须等待篡改检查完成的可能性减少了。
该实施例描述了这种情况:对于获取途径的篡改风险以传输流、二级存储单元111、二级存储单元113和因特网的顺序减少。然而,在因特网的情况下,在使用SSL或类似来下载通过TCP/IP传送的、加密形式的数据和未使用SSL或类似来下载未加密形式的数据之间,篡改风险进一步有所不同。这就是说,当没有使用SSL来下载应用14时,篡改风险更高。因此通过依照SSL的使用而改变暂时性地授权给应用的访问许可,本发明也能够被应用于从因特网下载应用并执行它的应用执行设备。详细地,如果应用14是使用SSL从因特网下载的,则相比当应用14是没有使用SSL而被下载时,应用14被暂时性地授权访问更多的资源。
第二实施例描述了这种情况:暂时性地授权给应用14的访问许可依照应用14的获取途径的篡改风险而改变。作为选择,暂时性地授权给应用14的访问许可可以依照通过获取途径获取应用所需的时间段而改变。基于诸如传输流的数据传输速率或者二级存储单元的数据访问时间这样的因素,应用获取所需的该时间段能够被确定。这样,当应用14的获取途径需要用于应用获取的较长时间段时,对更多资源的访问可以被暂时性地授权给应用14。这样做时,当花费较长时间来获取应用14并因此执行篡改检查时,应用14被暂时性地授权访问更多的资源,因此应用14中的更多指令能够被执行。这使得观看者可以使用应用14,而不用注意篡改检查还没有完成。
同样,从二级存储单元读取应用比从传输流获取应用要花费短得多的时间。由此,可以采用图20示出的过程。
在图20中,如果应用14的获取途径是传输流(S51:是),则创建篡改检查线程,而不用等待整个应用14被存储到主存储单元110中(S52)。然后应用14被授权第三暂时性许可(S53)并被启动(S57)。如果应用14的获取途径不是传输流(S51:否),则以与传统的已签名应用相同的方法,步骤S54至S57在整个应用14被存储到主存储单元110后被执行。这样做时,仅当应用14的获取花费很长时间时,应用14的启动才被加速。否则,按照传统的已签名应用的过程来安全地执行应用14。
(变型)
已经以上述实施例描述了本发明,尽管很明显地,本发明不限于上述情况。下面给出示例变型。
(1)本发明也适用于上述实施例中的流程图示出的应用执行方法。可以通过能够被计算机执行的计算机可读程序来实现该方法。这种计算机程序可以作为数字信号被发送。
本发明可以由计算机可读记录介质来实现,所述计算机可读记录介质诸如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(蓝光光盘)、或者半导体存储器,上述提及的计算机可读程序和/或数字信号被记录其上。
反过来,本发明也可以由记录于这种记录介质上的计算机可读程序和/或数字信号来实现。
实现本发明的计算机可读程序或数字信号也可以通过网络被传输,所述网络诸如电子通信网络、有线或者无线通信网络、或者因特网。
同样,通过分发记录了计算机可读程序和/或数字信号的记录介质、或者通过网络发送计算机可读程序和/或数字信号,计算机程序和/或数字信号可以被提供给独立的计算机***。然后该独立的计算机***可以执行计算机可读程序和/或数字信号来按照本发明运行。
(2)本发明也可以由控制应用执行设备的LSI电路来实现。这种LSI电路能够通过集成图12或18中示出的功能块来实现。这些功能块可以在多个芯片中单独地构造,或者部分或全部构造于一个芯片中。
这里提及的LSI电路依照集成度可以是集成电路、***大规模集成电路、超大规模集成电路、或者甚大规模集成电路。
作为选择,专用电路或者通用处理器可以被用于电路集成以替代LSI。作为制造后可被编程的LSI芯片的FPGA(现场可编程门阵列)和能够重新配置LSI芯片中电路单元连接和设置的可重配置处理器也是可应用的。
作为半导体和其它技术进步的结果,如果将来发展出能够取代传统的LSI的新的IC技术,上述实施例中描述的功能块和部件可以使用该技术来集成。例如,对于这样的技术,可以采用生物工程技术。
(3)第一实施例描述了这种情况:具有未签名应用许可的授权的应用先于篡改检查的完成被启动。然而,本发明不限于此,只要该应用被暂时性地授权这种不会不利地影响设备的访问许可即可。例如,除了被判定为具有不利地影响设备的风险的访问权限之外,该应用可以被授权未签名应用许可。作为选择,该应用可以被授权包含于未签名应用许可中的所有访问权限、以及进一步被授权对可以无安全损失地访问的二级存储单元111中的文件的访问权限。
(4)第一实施例描述了这种情况:传输流从一个广播设备发送并被一个数据电视接收设备接收。然而,本发明不限于这种广播设备和数字电视接收设备之间的数字关系,***可以包含多个用于发送传输流的广播设备和多个用于接收传输流的数字电视接收设备。
(5)本发明不限于特定的应用传输途径的物理特性,对于通过诸如地面波、人造卫星和有线电视这样的不同传输途径传送的应用都是适用的。
(6)第一和第二实施例将数字电视接收设备作为本发明的应用执行设备的示例进行描述,但是本发明对于诸如移动电话这样的用于执行应用的其它环境同样适用。
(7)第一和第二实施例中描述的限定和变型可以自由组合。
工业实用性
本发明的应用执行设备具有加速应用启动的效果,并能够有效地应用于例如获取利用对象轮传送的应用并执行所获取的应用的数字电视接收设备。
Claims (16)
1、一种应用执行设备,包括:
获取单元,用于获取包含访问资源的指令的应用程序;
判定单元,用于判定所获取的应用程序是否被篡改;
暂时性许可设置单元,用于获得示出仅访问第一资源的许可的暂时性许可信息;
确定性许可设置单元,用于获得示出访问所述第一资源和第二资源的许可的确定性许可信息;以及
执行单元,用于
在所述判定单元完成所述判定前,在所述暂时性许可信息示出的所述许可范围内开始执行所述应用程序,以及
在所述判定单元完成所述判定后,如果所述应用程序被判定为没有被篡改,则在所述确定性许可信息示出的所述许可范围内继续执行所述应用程序,
其中所述第二资源是根据所述暂时性许可信息不允许访问的资源。
2、如权利要求1所述的应用执行设备,
其中如果所述应用程序被判定为被篡改,则所述执行单元假定所述应用程序的文件大小为零。
3、如权利要求1所述的应用执行设备,
其中在所述获取单元已经获取包括顶部指令的部分所述应用程序后且在已经获取整个所述应用程序前,所述执行单元从所述应用程序的顶部指令开始执行所述应用程序。
4、如权利要求3所述的应用执行设备,
其中通过接收携带所述应用程序的数字流,所述获取单元获取所述应用程序。
5、如权利要求4所述的应用执行设备,
其中所述数字流是数字电视广播的传输流,以及
使用对象轮,所述应用程序被复用于所述传输流中。
6、如权利要求5所述的应用执行设备,
其中所述第一资源是在MHP中未签名应用被允许访问的资源。
7、如权利要求5所述的应用执行设备,还包括:
传送者识别单元,用于基于用于识别所述传送者的传送者信息来识别所述应用程序的传送者,
其中所述对象轮除了包含所述应用程序外还包含所述传送者信息,
所述获取单元还获取所述传送者信息,以及
在所述传送者识别单元完成所述传送者的识别后,所述执行单元开始执行所述应用程序。
8、如权利要求1所述的应用执行设备,
其中所述获取单元还获取示出所述应用程序的类型的应用标识符,以及
如果所获取的应用标识符示出的所述类型与预定类型相匹配,则在所述判定单元完成所述判定前,所述执行单元开始执行所述应用程序,以及
所述预定类型是在所述判定单元完成所述判定之前仅被允许访问所述第一资源的应用程序的类型。
9、如权利要求1所述的应用执行设备,
其中在执行包含于所述应用程序中的所述指令的过程中,当所述执行单元得到访问所述第二资源的指令、但是所述判定单元没有完成所述判定时,所述执行单元等待直至所述判定单元完成所述判定。
10、如权利要求1所述的应用执行设备,
其中所述应用程序包含示出所述应用程序的散列值的散列信息,以及
通过计算所获取的应用程序的散列值并将所计算的散列值与由所述散列信息示出的所述散列值相比较,所述判定单元判定所获取的应用程序是否被篡改。
11、如权利要求1所述的应用执行设备,
其中所述获取单元通过具有不同级别的篡改风险的多个获取途径之一来获取所述应用程序,
所述暂时性许可设置单元获得对应于所述应用程序的所述获取途径的所述暂时性许可信息,以及
当所述应用程序的所述获取途径具有较低级别的篡改风险时,对应于所述获取途径的所述暂时性许可信息允许访问包含特定资源在内的所述第一资源,其中对所述特定资源的访问存在不利地影响所述应用执行设备的较高风险。
12、如权利要求11所述的应用执行设备,
其中当所述应用程序的所述获取途径具有较低级别的篡改风险时,所述应用程序处于加密的形式,以及
当所述应用程序的所述获取途径具有较高级别的篡改风险时,所述应用程序处于未加密的形式。
13、如权利要求1所述的应用执行设备,
其中所述获取单元通过具有不同的获取应用程序所需的时间段的多个获取途径之一来获取所述应用程序,
所述暂时性许可设置单元获得对应于所述应用程序的所述获取途径的所述暂时性许可信息,以及
当所述应用程序的所述获取途径具有所需的较长时间段时,对应于所述获取途径的所述暂时性许可信息允许访问包含特定资源在内的所述第一资源,其中对所述特定资源的访问存在不利地影响所述应用执行设备的较高风险。
14、如权利要求1所述的应用执行设备,还包括:
已签名应用执行单元,用于如果所述获取单元通过从记录介质读取所述应用程序而获取所述应用程序、并且所述判定单元判定所述应用程序没有被篡改,则在所述判定单元完成所述判定后,开始执行所述应用程序,
其中如果所述获取单元通过接收携带所述应用程序的数字流来获取所述应用程序,则在所述判定单元完成所述判定前,所述执行单元开始执行所述应用程序。
15、一种集成电路,包括:
获取单元,用于获取包含访问资源的指令的应用程序;
判定单元,用于判定所获取的应用程序是否被篡改;
暂时性许可设置单元,用于获得示出仅访问第一资源的许可的暂时性许可信息;
确定性许可设置单元,用于获得示出访问所述第一资源和第二资源的许可的确定性许可信息;以及
执行单元,用于
在所述判定单元完成所述判定前,在所述暂时性许可信息示出的所述许可范围内开始执行所述应用程序,以及
在所述判定单元完成所述判定后,如果所述应用程序被判定为没有被篡改,则在所述确定性许可信息示出的所述许可范围内继续执行所述应用程序,
其中所述第二资源是根据所述暂时性许可信息不允许访问的资源。
16、一种应用执行方法,包括:
获取步骤,用于获取包含访问资源的指令的应用程序;
判定步骤,用于判定所获取的应用程序是否被篡改;
暂时性许可设置步骤,用于获得示出仅访问第一资源的许可的暂时性许可信息;
确定性许可设置步骤,用于获得示出访问所述第一资源和第二资源的许可的确定性许可信息;以及
执行步骤,用于
在所述判定步骤完成所述判定前,在所述暂时性许可信息示出的所述许可范围内开始执行所述应用程序,以及
在所述判定步骤完成所述判定后,如果所述应用程序被判定为没有被篡改,则在所述确定性许可信息示出的所述许可范围内继续执行所述应用程序,
其中所述第二资源是根据所述暂时性许可信息不允许访问的资源。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003324158 | 2003-09-17 | ||
JP324158/2003 | 2003-09-17 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101856466A Division CN101426076A (zh) | 2003-09-17 | 2004-09-17 | 应用执行设备、应用执行方法、集成电路、和计算机可读程序 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1853408A CN1853408A (zh) | 2006-10-25 |
CN100459659C true CN100459659C (zh) | 2009-02-04 |
Family
ID=34372739
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101856466A Pending CN101426076A (zh) | 2003-09-17 | 2004-09-17 | 应用执行设备、应用执行方法、集成电路、和计算机可读程序 |
CNB200480026777XA Expired - Fee Related CN100459659C (zh) | 2003-09-17 | 2004-09-17 | 应用执行设备、应用执行方法、和集成电路 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101856466A Pending CN101426076A (zh) | 2003-09-17 | 2004-09-17 | 应用执行设备、应用执行方法、集成电路、和计算机可读程序 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7676847B2 (zh) |
EP (1) | EP1678943A1 (zh) |
JP (1) | JP4719150B2 (zh) |
KR (1) | KR101102717B1 (zh) |
CN (2) | CN101426076A (zh) |
WO (1) | WO2005029842A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2548546A1 (en) * | 2003-12-18 | 2005-06-30 | Matsushita Electric Industrial Co., Ltd. | Method for storing, authenticalting and executing an application program |
EP1818833B1 (en) * | 2005-02-14 | 2017-04-19 | Panasonic Intellectual Property Management Co., Ltd. | Application executing device, managing method, and program |
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 |
CN111131898B (zh) * | 2020-02-17 | 2021-09-21 | 聚好看科技股份有限公司 | 播放媒体资源的方法、装置、显示设备及存储介质 |
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 | 华为技术有限公司 | 一种应用程序的访问方法及电子设备 |
US11985144B2 (en) | 2021-06-25 | 2024-05-14 | ThreatConnect, Inc. | Browser extension for cybersecurity threat intelligence and response |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06223014A (ja) * | 1992-09-11 | 1994-08-12 | Internatl Business Mach Corp <Ibm> | データ通信方法及び装置 |
CN1154516A (zh) * | 1995-10-26 | 1997-07-16 | 太阳微***有限公司 | 安全网络协议***和方法 |
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 |
US20020019941A1 (en) * | 1998-06-12 | 2002-02-14 | Shannon Chan | Method and system for secure running of untrusted content |
US6526513B1 (en) * | 1999-08-03 | 2003-02-25 | International Business Machines Corporation | Architecture for dynamic permissions in java |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5625693A (en) | 1995-07-07 | 1997-04-29 | Thomson Consumer Electronics, Inc. | Apparatus and method for authenticating transmitting applications in an interactive TV system |
US5915085A (en) * | 1997-02-28 | 1999-06-22 | International Business Machines Corporation | Multiple resource or security contexts in a multithreaded application |
US6694434B1 (en) * | 1998-12-23 | 2004-02-17 | Entrust Technologies Limited | Method and apparatus for controlling program execution and program distribution |
JP4098959B2 (ja) * | 2001-01-15 | 2008-06-11 | 株式会社日立製作所 | ディジタル回路 |
-
2004
- 2004-09-17 WO PCT/JP2004/014029 patent/WO2005029842A1/en active Application Filing
- 2004-09-17 EP EP04773413A patent/EP1678943A1/en not_active Withdrawn
- 2004-09-17 US US10/571,141 patent/US7676847B2/en not_active Expired - Fee Related
- 2004-09-17 JP JP2006526813A patent/JP4719150B2/ja not_active Expired - Fee Related
- 2004-09-17 CN CNA2008101856466A patent/CN101426076A/zh active Pending
- 2004-09-17 KR KR1020067004715A patent/KR101102717B1/ko not_active IP Right Cessation
- 2004-09-17 CN CNB200480026777XA patent/CN100459659C/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06223014A (ja) * | 1992-09-11 | 1994-08-12 | Internatl Business Mach Corp <Ibm> | データ通信方法及び装置 |
CN1154516A (zh) * | 1995-10-26 | 1997-07-16 | 太阳微***有限公司 | 安全网络协议***和方法 |
JPH09270788A (ja) * | 1995-10-26 | 1997-10-14 | Sun Microsyst Inc | セキュア・ネットワーク・プロトコル・システム及び方法 |
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 |
US20020019941A1 (en) * | 1998-06-12 | 2002-02-14 | Shannon Chan | Method and system for secure running of untrusted content |
US6526513B1 (en) * | 1999-08-03 | 2003-02-25 | International Business Machines Corporation | Architecture for dynamic permissions in java |
Also Published As
Publication number | Publication date |
---|---|
WO2005029842A1 (en) | 2005-03-31 |
US7676847B2 (en) | 2010-03-09 |
KR20060076768A (ko) | 2006-07-04 |
EP1678943A1 (en) | 2006-07-12 |
KR101102717B1 (ko) | 2012-01-05 |
CN1853408A (zh) | 2006-10-25 |
US20070033651A1 (en) | 2007-02-08 |
CN101426076A (zh) | 2009-05-06 |
JP4719150B2 (ja) | 2011-07-06 |
JP2007506350A (ja) | 2007-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100459659C (zh) | 应用执行设备、应用执行方法、和集成电路 | |
KR101172093B1 (ko) | 디지털 오디오/비디오 데이터 처리 장치 및 액세스 제어방법 | |
CN100365972C (zh) | 通过使用智能卡的设备认证来建立家庭域的方法及智能卡 | |
US8392724B2 (en) | Information terminal, security device, data protection method, and data protection program | |
CN100524283C (zh) | 消费具有遗传结构的版权对象的方法和装置 | |
EP1760619A1 (en) | System for restricting data access | |
US11451846B2 (en) | Pre-entitlement enforcement | |
CN101099211A (zh) | 用于保护共享数据的方法和装置以及使用本地存储从记录介质中再现数据的方法和装置 | |
CN105075176B (zh) | 质询-响应方法和相关联的客户端设备 | |
EP2958039B1 (en) | Device for decrypting and providing content of a provider and method for operating the device | |
US20050138400A1 (en) | Digital content protection method | |
KR20060116204A (ko) | 조건부 액세스 방법 및 장치 | |
WO2015045172A1 (ja) | 情報処理装置及び情報処理方法 | |
CN103297816A (zh) | 一种安全下载方法及数字电视接收终端 | |
US20060156000A1 (en) | Integrated software and method for authenticating same | |
US8103001B2 (en) | Method for verifying rights contained in a security module | |
KR20130069502A (ko) | 서명 검증을 위한 장치 및 방법 | |
KR101249343B1 (ko) | 디지털 권한 파일의 보호를 위한 방법 | |
JP4617843B2 (ja) | 番組視聴システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090204 Termination date: 20160917 |