为软件提供补丁的方法

文档序号:6642786阅读:220来源:国知局
专利名称:为软件提供补丁的方法
技术领域
本发明涉及为安装在多个客户机系统上的软件提供补丁的方法,每个客户机系统具有至少一个数据处理器和存储器,并且都被编程为保持代表实际补丁级别的信息,并且只有当实际补丁级别与所需的补丁级别成预定关系时,才通过利用代表所需补丁级别的数据处理提供给安装的应用程序的输入数据,产生输出数据,该方法包括获得供包含在补丁中的计算机程序代码,所述代码被安排成在客户机系统中应用所述补丁之后,与安装在客户机系统上的软件的至少一部分协作实现某一功能,连同更新保持在客户机系统中的实际补丁级别从而反映下一级别的指令,把第一补丁提供给至少一个第一客户机系统中的应用程序。
本发明还涉及包括处理器和存储器,编程为执行这样的方法的数据处理系统。
本发明还涉及被安排成当在可编程处理系统上运行时,使所述系统能够实现这样的方法的计算机程序。
本发明还涉及处理提供给客户机系统的补丁的方法,所述客户机系统具有处理器和存储器,接收补丁的接口和为安装在所述客户机系统上的应用程序载入输入数据的接口,所述方法包括保持代表实际补丁级别的信息,只有当实际补丁级别与和所述输入数据同时提供的信息中指示的所需补丁级别成预定关系时,才通过处理提供给所述应用程序的输入数据,产生输出数据,其中客户机系统被配置成当依据和恰当指令同时提供的补丁的应用,更新保持在客户机系统中的实际补丁级别,以反映下一级别。
本发明还涉及一种数据处理设备,包括处理器、存储器、接收补丁的接口和为安装在所述数据处理设备上的应用程序载入输入数据的接口。
本发明还涉及另一计算机程序。
背景技术
从EP-A2-0217351可了解上述方法的例子。该公布公开了一种通信控制设备,所述通信控制设备包括与计算机网络连接,以便在本地站和其它远程站之间通信的发射-接收电路,保存通信程序的可重写存储单元,确定发射-接收电路接受的分组中的通信控制程序的版本号是否比保存在存储单元中的通信控制程序的版本号更新的比较单元。根据来自比较器的输出,控制器通过向远程站发送请求传送更新版本的通信控制程序的消息,更新所述程序。
这种方法的一个问题在于它要求所有站保持相同,或者要求使用具有不同版本号的分组。如果所有站都将继续涉及具有相同版本号的分组的交换,那么新版本的通信程序必须在所有站中都是可适用的。

发明内容
本发明的目的是提供上述类型的方法,所述方法允许安装在多个客户机系统之一上的软件的强制更新,并且考虑到客户机系统之间的差异。
该方法由提供上述类型的补丁的方法实现,所述方法的特征在于向用于所述客户机系统中的至少另一客户机系统的第二补丁提供更新保持在该客户机系统中的实际补丁级别从而反映下一级别的指令,其中只在第一和第二补丁中的第一补丁中提供所述代码。
下面,术语补丁用于表示向可编程处理系统提供适合于插入安装的软件中从而修改和/或增强安装的软件的一块代码的数据结构。另外,补丁可包括只有当所述补丁被应用时才运行、例如从而改变已安装的软件和补丁中的要插入的任何代码任意之一或者这两者使用的数据或文件的指针的代码。从而,应用指的是借助其使客户机系统接受的补丁起作用的过程。
由于第一客户机系统和第二客户机系统都接收更新实际补丁级别从而反映相同值的指令,因此一旦所有客户机系统已被更新,给所有客户机系统的输入数据可具备唯一的所需补丁级别。从而,当提供供安装在所有客户机系统上的应用程序使用的输入数据时,不必区分客户机系统。由于具有不同代码内容的补丁被提供给其它客户机系统,因此能够考虑到客户机系统的不同现有配置,或者按照不同的方式重新配置第一个及其它客户机系统。
根据本发明的另一方面,在提供补丁的方法中,至少一个标识的目标值和每个补丁同时提供,每个客户机系统具有只有当所述目标值与保存在客户机系统中的对应标识成相应的预定关系时才接受补丁的过滤器。
由于标识和每个补丁同时提供,因此客户机系统之间的差异被考虑,而不必在向客户机系统提供补丁之前单独地与每个客户机系统通信。从而,提供一种更新安装在多个客户机系统上的软件的有效方式。事实上,该方法适合于通过网络,或者通过提供数据载波(所有的补丁在所述数据载波上),对所有客户机系统广播或组播所有补丁。
根据一个有利的实施例,至少和第一补丁同时提供目标所有者标识的值,每个客户机系统具备一次可编程存储器,并且具有只有当目标所有者标识与编程到一次可编程存储器中的对应所有者标识成预定关系时才允许客户机系统接受补丁的过滤器。
从而,防止由于保存在客户机系统中的标识的意外或有意的擅自修改的结果,客户机应用错误的补丁。
在一个优选实施例中,和至少第一补丁同时提供目标模型标识的值,每个客户机系统具备可编程存储器,并且具有只有当目标模型标识与保存在可编程存储器中的对应模型标识成预定关系时才允许客户机系统接受补丁的过滤器。
从而,通过对不同的模型标识编程,能够建立最初相同的客户机系统的不同配置。这是一种相当有效的提供客户机系统的不同形式的单一基本模型的方式。
最好,该方法还包括向客户机系统提供补丁,所述补丁被配置成使客户机系统把保存在可编程存储器中的模型标识改变成不同的值。
从而,即使在把客户机系统交付给它们各自的用户之后,仅仅通过恰当的补丁,就能够建立客户机系统的不同形式的单一基本模型。
在一个优选实施例中,和至少第一补丁同时提供表示某一补丁级别的信息。
这便于提供“跳过”几个级别的补丁。在一个客户机错过使其达到某一新级别的序列中的几个补丁的情况下,这种变型避免不得不逐一应用错过的所有补丁。
在一个优选实施例中,至少第一补丁具备表示应用该补丁所需的补丁级别的信息,每个客户机系统具有只有当保存在客户机系统中的实际补丁级别与应用该补丁所需的补丁级别成预定关系时才允许该客户机系统应用该补丁的过滤器。
从而,防止客户机系统应用为了正确地发挥作用,需要预先应用较早补丁的补丁。从而,在客户机系统中强制实施一系列补丁的特定的预定应用顺序。
在一个优选实施例中,在传送给与相关的解码器系统通信的至少一个客户机系统的至少一个授权管理消息中提供补丁,所述至少一个客户机系统中的应用程序包括根据由相关的解码器系统转发给该客户机系统的授权控制消息的至少多个部分,产生使提供给解码器系统的加扰内容数据能够被解扰的控制字数据的至少一个例程。
这种变型是根据本发明的方法的一种特别有益的应用,因为它强制把更新的软件用于产生控制字数据。从而,它可被用于修补客户机系统中的安全漏洞。特别地,对不同的客户机系统可按照不同的方式修补安全漏洞。
在一个优选变型中,授权管理消息被传送给解码器系统,解码器系统把授权管理消息转发给客户机系统。
从而,能够用无线电实现位置不断变化的客户机系统的更新。
在一个优选实施例中,其中应用程序包括对授权控制消息的各个部分解密的至少一个例程,所述授权控制消息包含使提供给解码器系统的加扰内容数据可被解扰的加密控制字,包括补丁的至少部分的授权管理消息被加密,以致在应用该补丁之前,通过利用在具有表示与保存在客户机系统中的实际补丁级别的最新值对应的所需补丁级别的信息的至少一个授权控制消息中提供给解码器系统的至少一个控制字,使所述至少部分的授权管理消息可被解密。
从而,只有先前能够产生控制字的客户机系统被更新。
在一个优选实施例中,在第一时刻,补丁被传递给至少一个客户机系统,在与所述第一时刻分隔引介时间间隔的第二时刻,输入数据连同表示下一所需的补丁级别的数据被首先提供给至少一个客户机系统。
从而,一定的时间间隔适合于在客户机系统中应用补丁。这允许广播模型的补丁分发。在补丁的首次广播期间,客户机可被关闭,但是仍然在起作用,直到补丁被再次广播,并且被该客户机收到为止。也不必在很短的时间间隔中把补丁传送给所有的一组客户机系统,从而减轻了通过网络传送补丁的情况下的拥塞。
根据另一方面,本发明提供一种包括处理器和存储器,编程为执行根据本发明的方法的数据处理系统。
根据另一方面,本发明提供一种当在可编程处理系统上运行时使所述系统执行根据本发明的方法的计算机程序。
根据本发明的另一方面,处理提供给客户机系统的补丁的方法的特征在于把至少一个识别值保存在客户机系统中,并且只有当每个保存的识别值与和补丁同时提供的一组至少一个目标识别值中的相应一个识别值成预定关系时,才允许客户机系统接受补丁。
从而,客户机系统被安排成只接受预定给它的补丁。由于实际补丁级别的值被更新,因此客户机系统仍然能够以不同的效果处理提供给它和接收并应用补丁的任何其它客户机系统的具备相同版本号的输入数据。
一个优选实施例包括接受补丁,并且应用该补丁,其中应用所述补丁包括执行重新安排客户机系统中的至少一部分的存储器的配置的指令。
从而,使客户机系统适合于执行增强的软件。此外,通过在处理相同类型的输入数据的另一客户机系统中应用不同的补丁,还使客户机系统适合于按照需要的新格式处理输入数据。
根据另一方面,本发明提供一种数据处理设备,所述数据处理设备包括处理器,存储器,接收补丁的接口和为安装在数据处理设备上的应用程序载入输入数据的接口,其中所述设备被编程为实现根据本发明的方法。
接收补丁的接口和载入输入数据的接口可被具体化为一个接口。
在一个优选实施例中,接收补丁的接口和载入输入数据的接口包括与数据处理设备外部的数据处理系统中的读/写单元的物理接口。
从而,数据处理设备不必具备读取存储介质的装置。另外,数据处理设备可与包含在与网络连接的系统中的读/写单元耦接,从而使长距离的远程更新成为可能。
根据另一方面,提供一种计算机程序,所述计算机程序被安排成当在包括处理器、存储器、接收补丁的接口和载入输入数据的接口的可编程处理系统上运行时使所述可编程处理系统能够实现根据本发明的方法。


现在将参考附图更详细地说明本发明,其中图1表示适合于实现向智能卡提供补丁的方法的基础结构;图2是图1的智能卡中的芯片的功能组件的示意图;图3是保持在智能卡中的型号的组成的示意图。
具体实施例方式
这里使用图1来图解说明增强用作存取内容数据的条件存取子系统的可编程处理设备的功能的方法。提供额外功能的代码在补丁创建中心1中产生。它将被提供给一个或多个智能卡(也称为集成电路卡)。图1中分别表示了第一、第二、第三和第四智能卡2-5,作为更大的一群智能卡的例证。为了把代码提供给智能卡2-5,当补丁代码通过图1中图解说明的系统时,至少执行一次下面说明的提供补丁的方法。该方法的第一变型由个性化中心6执行,以便向第一智能卡2提供补丁。第二变型由个性化中心6执行,以便通过中间实体向第二、第三和第四智能卡3-5提供补丁。该方法的第三变型由第一条件存取(CA)系统7和第二CA系统8执行。第四变型由广播发射器9和包括视频点播(VOD)服务器10和传送授权管理信息(EMM)的服务器11的系统执行。
图2中图解说明智能卡中的集成电路的功能组件。智能卡包括处理器12,掩模只读存储器(ROM)13,随机存取存储器(RAM)14和电可擦可编程只读存储器(EEPROM)15。另外,它包括串行接口16。智能卡的有利的备选实施例包括加密协处理器和/或电池。适宜的智能卡是接触型或非接触型智能卡。但是,图1和2只表示了接触型的智能卡2-5。在所有情况下,智能卡包括与智能卡之外的数据处理系统中的读/写单元(图2中未示出)的物理接口。在接触型智能卡中,这样的接口将包括与读/写单元中的对应插针接触的接触点结构。本领域中已知,非接触型智能卡理应包括天线结构。
这里描述的方法特别适合于向具有与外部数据处理设备中的读/写单元的物理接口的其它类型的便携式处理设备提供补丁。这种设备的另一例子是符合PCMCIA标准的卡,或者包含在通用串行总线(USB)密钥中的处理设备。本领域的技术人员易于想到其它例子。此外,这里描述的方法还适用于向完成与智能卡类似的功能,并且被直接安装在机顶盒或者类似的解码器系统中的安全软件代理提供补丁。
掩模ROM 13包含芯片的操作系统,并作为制备工艺的一部分被制成。掩模ROM 13的内容不能被改变。在图1的例子中,对于每个智能卡2-5来说,掩模ROM 13的内容相同,除了唯一的智能卡序列号和按提供给特定实体从而使最终用户可得到它们的每组一个或多个智能卡不同的所有者标识之外。在一个备选实施例中,甚至所有者识别值和/或智能卡序列号也被保存在物理可重写的存储单元中,但是智能卡被安排成至少防止所有者识别值的重编。防止机构包括光可擦可编程只读存储器(未示出)的掩蔽,或者掩模ROM 13中的存储器控制例程的恰当配置。
RAM 14形成在执行保存在掩模ROM 13和/或保存在EEPROM15中的程序的时候,由处理器12使用的存储器工作空间。RAM 14是一种易失性存储器。
EEPROM 15保存应用程序数据和另外的应用程序。它是一种在程序控制下,允许数据被写入和读出的非易失性存储器。即使不向芯片提供任何电力,其内容仍被保存。另一种可重写的非易失性存储器可被用于实现这里描述的方法,而不仅仅是EEPROM 15。
本上下文中的应用程序是实现智能卡执行的功能的程序或软件。某些应用程序在智能卡被物理分发给最终用户之前被安装。这需要把代码载入EEPROM 15中。随后,智能卡被配置成在发出恰当命令时执行所述代码。根据智能卡的类型,操作系统使用的过滤值将不得不被调整,以确保当通过串行接口16提供此目的的指令或者另一应用程序或者软件例程产生调用时,所述代码被执行。相对于存储器,例如RAM 14或EEPROM 15中的存储单元的指针也不得不被调整,以允许要安装的应用程序写入这些存储单元或者从这些存储单元读出。
智能卡2-5上的应用程序执行的至少一个功能最好是内容保护功能,具体地说,数据的加密处理方面的功能。例如,在图1中所示的系统中,第二智能卡3和第三智能卡4对在广播发射器9根据例如数字视频广播(DVB)标准通用加扰算法,或者类似的标准,通过广播网络19向第一和第二集成接收器解码器设备(IRD)17、18广播的授权控制信息(ECM)和授权管理信息(EMM)中提供的输入数据解密。类似地,第四智能卡5对VOD服务器10和服务器11通过通信网络20,例如因特网在ECM和EMM中向第三IRD 21提供的信息进行解密。
内容数据被保存在明文内容服务器22上。在内容广播系统中,第一加扰单元23利用一系列的连续控制字(CW)对从明文内容服务器22接收的内容数据加扰。CW由第一CA系统7插入ECM中,第一CA系统7返回ECM供第一加扰单元23加密。第一加扰单元23和第一CA系统7可被组合成一个。第一CA系统7还把代表所需补丁级别的数据插入一些或者全部ECM中。由于ECM被加密,因此代表所需补丁级别的数据也被加密。第一CA系统7还通过利用从第一订户管理系统(SMS)24接收的信息来提供EMM。第一SMS 24可以访问用于保存发给广播服务的订户的第二和第三智能卡3、4的细节的数据库。多路复用单元25把ECM流、EMM流和加扰的内容数据流多路复用成传送流,所述传送流由广播发射器9提供给订户。除了代表所需补丁级别的数据的插入之外,广播系统的操作或多或少是标准的。
在视频点播类型的内容分发中,明文内容数据由明文内容服务器22提供给第二加密单元26。第二加密单元26利用一系列变化的CW对内容数据加扰,以致是可解密的。同样,CW被提供给第二CA系统8,第二CA系统8返回包括控制字信息的ECM。一些或者全部ECM包括代表所需补丁级别的信息,按照将要说明的方式使第二CA系统8知道所需补丁级别,如同对于第一CA系统7那样。至少ECM中的控制字信息和所需补丁级别被加密。加密的内容数据和ECM被保存在VOD服务器上,以便随后放出。VOD系统类似于广播系统,因为第二CA系统8与第二SMS 27通信,第二SMS 27被安排成保存与提供给VOD系统的用户的第四智能卡5相关的信息。所述信息包括第四智能卡可以访问的服务,以及第四智能卡的唯一标识,例如其序列号。传送EMM的服务器11向第四智能卡5的用户提供EMM,它允许保存在VOD服务器11上的ECM中的CW连同代表所需补丁级别的数据一起被取回。如上所述的VOD系统的操作本身已知,除了代表所需补丁级别的数据同ECM中的控制字信息的提供之外。
当第二智能卡3被用于访问通过广播网络19广播的加扰内容时,它被插入第一IRD 17中,第一IRD 17在第二智能卡3之外,并且具备智能卡读/写模块(未示出)。第一IRD 17包括利用它从第一智能卡3接收的控制字对加扰的内容数据解扰的解扰单元(未示出)。使解码内容可在第一娱乐设备28,例如电视机上可用。第二智能卡3包括对由第一IRD 17转发给它的EMM和ECM的加密部分解密的应用程序。
第二IRD 18与第二娱乐设备29连接。第二IRD 18与第三智能卡4交换信息。类似地,第三IRD 21与第四智能卡5交换数据,并使第三娱乐设备30可以采用明文内容数据。第二、第三和第四智能卡3-5按照类似的方式工作,以致本说明将主要使用第二智能卡3作为例子。
补丁可被提供给第二智能卡3,以便实现对用于ECM中的控制字信息或EMM中的授权信息的加密处理的安装程序的修改。这样的修改可由使用期间发现的对安全性的破坏引起。其它修改解决安装在智能卡3-5任意之一上的非关键软件的功能性方面的问题。其它补丁可增强一些或者全部智能卡3-5的功能。
每个智能卡3-5安装有过滤器。智能卡过滤器过滤它接收的补丁,只接受实现计划的过滤标准的那些补丁,利用和所述补丁同时提供的信息。接受的补丁被装入其EEPROM 15中供随后使用。为了使补丁起作用,必须应用所述补丁。为此,补丁包括将被安装以便随后反复使用的代码,以及在补丁的应用期间只被执行一次的指令。后者是与软件的首次安装类似的过程。
过滤器最好用软件实现。它最好是操作系统的一部分,或者至少部分被保存在掩模ROM 13或者另一类型的一次可编程存储器中。从而,黑客的攻击不能危及其安全。过滤器、操作系统或者特殊的补丁载入程序保持保存在EEPROM 15中的代表实际补丁级别的信息。智能卡的该组件还响应和补丁同时提供的通知其更新由保存在EEPROM 15中的信息代表的实际补丁级别的指令。该实际补丁级别从而反映在智能卡中应用的补丁的数目。在这里将详细说明的变型中,指令被包括在携带补丁的代码的消息中。另一方面,所述指令可以是含蓄的,因为每次应用接受的补丁时,智能卡自动地递增实际补丁级别。在另一种变型中,指令可被包含在补丁的包括当应用补丁时被执行一次的代码的部分中。
除了加密的控制字信息之外,至少一些ECM包括代表所需补丁级别的数据。如果所需补丁级别与实际补丁级别成预定的关系,那么解密的控制字信息将只被提供给IRD 17、18、21中的解扰器。在应用补丁时,补丁级别被增大的情况下,所需的补丁级别将不得不小于或者等于实际补丁级别,以便提供解密控制字的应用程序起作用。从而,第一和第二CA系统7、8的操作者确保补丁在第二、第三和第四智能卡3-5中被应用,即使它们对订户所占有的智能卡3-5没有任何直接的物理控制。
补丁在补丁创建中心(PCC)1被产生和测试。每个补丁被加密并以文件的形式被提供给个性化中心6。个性化中心6把补丁连同特定补丁预定用于的智能卡的目标识别值提供给第一、第二、第三和第四智能卡2-5。个性化中心6利用智能卡读/写单元31直接把补丁提供给第一智能卡2。第一智能卡2是例如还没有发给最终用户的卡。通过第一和第二CA系统7、8的中介,向已在现场使用的第二到第四智能卡3-5提供补丁。
用消息把补丁提供给第一、第二和第三IRD 17、18、21,第一、第二和第三IRD 17、18、21把补丁转发给第二、第三和第四智能卡2-5。具体地说,在第一和第二CA系统7、8产生的一个或几个特殊EMM中提供补丁。每个智能卡2-5可接收补丁及其自己的特定代码。从而,它们中只有一个的功能可被增强,或者它们中只有一个智能卡中的程序缺陷可被修补。随后,每个智能卡2-5仍然能够处理ECM。这是因为每个智能卡2-5具备补丁和应用该补丁的指令。从而,每个智能卡被指令更新保持在EEPROM 15中的实际补丁级别,以反映下一级别。在智能卡之间由补丁提供的功能可不同。事实上,一些智能卡可具备原样保留在应用于补丁之前安装在智能卡上的软件的功能的补丁,即“虚拟补丁”。
在链路层寻址在消息中携带的补丁,即具有IRD 17、18、21的地址。它们还具备至少一个标识的目标值。从而这是应用层的一种地址。对应的识别值被保存在各个智能卡2-5中,以致它知道接受哪个补丁。识别值的格式是这样的,以致它能够对具有同样值的一组智能卡寻址。换句话说,补丁不必被单独地发送给每个智能卡。这有利于更有效地利用广播网络19和通信网络20,因为携带补丁的消息可被广播或组播。
至少一个携带补丁的特殊EMM包括目标所有者标识。智能卡中的过滤器比较目标所有者标识和保存在智能卡中的所有者标识。只有当这两个值对应时,智能卡才被允许接受补丁。对于智能卡的提供者来说,所有者识别值是唯一的。从而,第一CA系统的操作者具有与分配给第二CA系统8的操作者的值不同的所有者识别值。在几个操作者通过相同的网络,比如因特网广播、组播或单播所述特殊EMM的情况下,这特别有用。
携带补丁的特殊EMM还包括目标模型识别号。每个智能卡2-5被配置成把实际的模型识别值保存在EEPROM 15中。实际的模型识别值在智能卡的寿命期内进化,以反映智能卡的软件配置方面的变化。图3中表示了模型识别值的格式。它是代表EEPROM 15的某一布局的唯一值(扇区、产物和补丁的数目)。四个比特被用于对主要模型版本33编码,四个比特被用于对次要模型版本34编码,八个比特被用于对构建号35编码,八个比特被用于对变型编号(variant number)36编码。只有当实际的型号与和补丁同时提供的目标模型识别值成预定关系时,才接受补丁。至少主要和次要模型版本33、34应对应,或者整个型号应相同。
模型识别值32的第一部分反映智能卡集成电路的硬件配置。第二部分反映与安装的软件配置对应的存储器布局。型号的一个用途是当具有相同所有者识别值的第二智能卡3和第三智能卡4在现场使用时,向它们提供不同的功能。为此,第二智能卡3和第三智能卡4都被发送分离(splitter)补丁,该补丁被应用。从而,补丁级别被增大。分离补丁包含当收到EMM中的恰当命令时执行的代码。第二和第三智能卡3、4中只有一个被发送执行该代码的命令。当被执行时,所述代码修改保存在第二或第三智能卡3、4中的实际模型识别值的变型编号36。随后,广播发射器9广播两个不同的补丁。一个补丁具备修改后的型号,作为目标模型识别值,另一个补丁具备先前的型号,作为目标模型识别值。这些补丁中只有一个包括当应用该补丁时提供增强功能的代码。另一补丁可以是“虚拟补丁”。
另外的功能需要EEPROM 15的不同组织。这可包括重新设置将由第二和第三智能卡3、4使用的变量。这种情况下,分离补丁或者独立的补丁被发送给第二和第三智能卡3、4。这样的补丁将包括重新安排智能卡的存储器配置的指令,当应用该补丁时,所述指令被执行。这样的存储器配置适合于智能卡。例如,可能具有为不同类型的数据分配的不同大小的存储器。考虑到智能卡上可用的具体物理存储器大小,存储器地址范围方面的限制等,可进行这种分配。这样的补丁将提供把数据重新部署到可用存储器的不同部分和/或考虑存储数据方面的限制的功能。在优选的变型中,当在客户机设备中应用时,补丁被配置成检测客户机设备的配置,并根据检测到的配置重新安排存储器配置。
携带补丁的特殊EMM中提供的其它信息包括目标补丁级别。只有在目标补丁级别与保存在EEPROM 15中的实际补丁级别成预定关系的情况下提供补丁时,智能卡中的过滤器才允许智能卡接受补丁。这确保补丁按照预定的顺序在每个智能卡2-5中被应用。这是有利的,因为为了正确地起作用,一个补丁中的代码可能需要先前的补丁提供的功能的可用性。因为第二、第三和第四智能卡3-5通过空中接收补丁,并且在第一、第二和第三IRD 17、1821转发的消息中存在这些智能卡3-5之一错过某一补丁的可能性。在备选变型中,不满足预定关系的补丁不被接受,但是作为文件被保存在EEPROM 15中以便未来应用。
补丁最好具备反映当应用补丁时的下一级别的信息。这允许智能卡“跳过”几个级别。智能卡仅仅应用组合许多补丁提供的增强功能的补丁,并更新EEPROM 15中的实际补丁级别,以反映下一级别。如果第二、第三或第四智能卡3-5之一一段时间未与第一、第二和第三IRD 17、18、21中的任意之一通信,或者如果这些IRD较长时间未被使用,那么这是有利的。该特征还有益于把几个增强功能加速安装到在还未被分发的第一智能卡2中建立的基本软件中。
为了保护智能卡3-5以防病毒,利用与安全地保存在智能卡3-5中的密钥形成密钥对的密钥,对通过广播网络19和通信网络20提供的补丁进行加密和验证。携带部分或全部补丁的EMM最好包含加扰形式的补丁代码,以致允许利用在一个或多个ECM中提供的一个或多个控制字解扰。在一种变型中,智能卡3-5从ECM取回控制字,IRD17、18、21中的解扰单元对补丁代码解扰。但是出于安全的原因,最好在智能卡3-5中对携带补丁代码的EMM的加密部分解密。从而,智能卡3-5只接收加密的补丁代码。
最好,补丁级别的每次增大之后是一个引介(introduction)期。在该引介期内,不仅如果第二、第三和第四智能卡3-5在下一补丁级别,即在增大的补丁级别,而且如果第二、第三和第四智能卡3-5位于在下一补丁级别以下的一个补丁级别,那么保存在第二、第三和第四智能卡3-5中的实际补丁级别与在ECM中指示的所需补丁级别之间的预定关系都被满足。在一种变型中,第二、第三和第四智能卡3-5被发送指示引介时间间隔的信息。负责强制实施该补丁级别的应用程序允许在所述引介时间间隔内的加密控制字的解密。现有技术中已知,实际时间可由第二、第三和第四智能卡3-5从加扰的授权信息(ECM和/或EMM)中的时间戳记、从内部时钟、或者从IRD 17、18、21之一中的时钟获得。
在一个优选的更简单的变型中,补丁在第一时刻被传递给第二、第三和第四智能卡3-5中的至少一个,在第二时刻输入数据和表示下一所需补丁级别的数据被首先同时提供给智能卡3-5中的至少一个,所述第二时刻与第一时刻相隔引介时间间隔。从而,智能卡3-5不必始终监视时间。
个性化中心6执行向安装在智能卡2-5上的软件提供补丁的方法的变型。个性化中心6从补丁创建中心1获得补丁。如果智能卡2-5将上移一个或多个补丁级别,那么至少一个补丁包括替换或增强安装在智能卡2-5之一上的某一软件组件的至少一部分的程序代码。其它补丁可根本不包括提供功能增强的代码,或者它们可提供不同的功能增强或修改。
在所示的例子中,个性化中心6按照两种不同的方式提供补丁。首先,通过在特殊EMM中向第一智能卡2提供恰当的补丁和与提供给第二、第三和第四智能卡3-5的信息对应的信息,它直接更新第一智能卡2。从而,第一智能卡2接收具有目标所有者识别值和目标模型识别值的补丁,以及所需的补丁级别和表示下一补丁级别的信息,当应用所述补丁时,该值将被保存在第一智能卡2中。
其次,个性化中心6向第一和第二CA系统7、8提供补丁。在第一补丁上载文件中提供用于第二和第三智能卡3、4的补丁。在第二补丁上载文件中提供用于第四智能卡5的补丁。另外,为第一CA系统7创建第一智能卡上载文件,为第二CA系统8创建第二智能卡上载文件。智能卡上载文件包括唯一的智能卡信息。第一智能卡上载文件包括第二和第三智能卡3、4的序列号,以及目标模型标识,所需补丁级别和下一全局(global)补丁级别的值。从而,它含蓄地包括给第二和第三智能卡3、4的指令以更新保持在第二和第三智能卡3、4中的实际补丁级别,以便反映当应用计划用于其的补丁时的下一级别。该补丁包含在补丁上载文件中。借助通过网络的传输或者在数据载体,比如光盘上,第一和第二补丁上载文件以及第一和第二智能卡上载文件被提供给第一和第二CA系统7、8。这两种文件都由补丁创建中心加密和署名。只有当第一和第二CA系统具有对应的密钥时,它们才能够访问所述文件和核实文件的起源。
本发明并不局限于上述实施例,实施例可在附加权利要求的范围内被改变。例如,一些字段,比如保存在智能卡中的实际型号的主要模型版本33可被保存在不可重写的存储器的一部分中。另外,补丁可在一个或多个特殊EMM中一起被广播给所有智能卡3-5,智能卡3-5滤出正确的补丁,或者补丁可被单独地组播和/或单播给实际应用所涉及的补丁的那些智能卡3-5。
权利要求
1.一种向安装在多个客户机系统(2-5)上的软件提供补丁的方法,每个客户机系统具有至少一个数据处理器(12)和存储器(13-15),每个客户机系统被编程为保持表示实际补丁级别的信息,并且只有当实际补丁级别与所需补丁级别成预定关系时,才通过处理和表示所需补丁级别的数据一起提供给安装的应用程序的输入数据,产生输出数据,所述方法包括获得用于包含在补丁中的计算机程序代码,所述代码被安排成在所述补丁在客户机系统中被应用之后,与安装在客户机系统(2-5)上的至少部分软件协作,从而执行某一功能,向至少一个第一客户机系统中的应用程序提供第一补丁,以及更新保持在客户机系统(2-5)中的实际补丁级别以反映下一级别的指令,其特征在于向客户机系统(2-5)中的至少另一客户机系统提供第二补丁,以及更新保持在该客户机系统中的实际补丁级别从而反映下一级别的指令,其中只在第一和第二补丁中的第一补丁中提供所述代码。
2.按照权利要求1或者权利要求1的前序所述的方法,其中和每个补丁同时提供至少一个标识的目标值,每个客户机系统(2-5)具有只有当所述目标值与保存在客户机系统(2-5)中的对应标识成相应的预定关系时才用于接受补丁的过滤器。
3.按照权利要求2所述的方法,其中和至少第一补丁同时提供目标所有者标识的值,每个客户机系统(2-5)被提供有一次可编程存储器(13),并且具有只有当目标所有者标识与编程到一次可编程存储器中的对应所有者标识成预定关系时才允许客户机系统(2-5)接受补丁的过滤器。
4.按照权利要求2或3所述的方法,其中和至少第一补丁同时提供目标模型标识的值,每个客户机系统(2-5)被提供有可编程存储器(15),并且具有只有当目标模型标识与保存在可编程存储器(15)中的对应模型标识成预定关系时才允许客户机系统接受补丁的过滤器。
5.按照权利要求4所述的方法,还包括向客户机系统(2-5)提供补丁,所述补丁被配置成使客户机系统把保存在可编程存储器(15)中的模型标识改变成一个不同的值。
6.按照权利要求1-5任意之一所述的方法,其中和至少第一补丁同时提供表示某一补丁级别的信息。
7.按照前述任意权利要求所述的方法,其中至少第一补丁被提供有表示应用该补丁所需的补丁级别的信息,每个客户机系统(2-5)具有只有当保存在客户机系统中的实际补丁级别与应用该补丁所需的补丁级别成预定关系时才允许该客户机系统应用该补丁的过滤器。
8.按照权利要求1-7任意之一所述的方法,其中补丁被提供在至少一个授权管理消息中,用于传送给与相关的解码器系统(17、3;18、4;21、5)通信的至少一个客户机系统(3-5),所述至少一个客户机系统中的应用程序包括根据由相关的解码器系统转发给该客户机系统的授权控制消息的至少多个部分,产生使提供给解码器系统(17、3;18、4;21、5)的加扰内容数据能够被解扰的控制字数据的至少一个例程。
9.按照权利要求8所述的方法,其中授权管理消息被传送给解码器系统(17、3;18、4;21、5),解码器系统把授权管理消息转发给客户机系统(3-5)。
10.按照权利要求8或9所述的方法,其中应用程序包括对授权控制消息的各个部分解密的至少一个例程,所述授权控制消息包含使提供给解码器系统的加扰内容数据可被解扰的加密控制字,其中包括补丁的至少部分的授权管理消息被加密,以致在应用该补丁之前,通过利用在具有表示与保存在客户机系统中的实际补丁级别的最新值相对应的所需补丁级别的信息的至少一个授权控制消息中提供给解码器系统的至少一个控制字,使所述至少部分的授权管理消息可被解密。
11.按照前述任意权利要求所述的方法,其中在第一时刻,补丁被传递给至少一个客户机系统(2-5),在与所述第一时刻分隔引介时间间隔的第二时刻,输入数据连同表示下一所需的补丁级别的数据被首先提供给至少一个客户机系统。
12.一种包括处理器和存储器、被编程为执行按照权利要求1-11任意之一所述的方法的数据处理系统。
13.一种当在可编程处理系统上运行时使所述系统执行按照权利要求1-11任意之一所述的方法的计算机程序。
14.一种处理提供给客户机系统(2-5)的补丁的方法,所述客户机系统(2-5)包括处理器(12)和存储器(13-15),接收补丁的接口(16)和为安装在客户机系统(2-5)上的应用程序载入输入数据的接口(16),所述方法包括保持表示实际补丁级别的信息,只有当实际补丁级别与在和输入数据同时提供的信息中指示的所需补丁级别成预定关系时,才通过处理提供给应用程序的输入数据产生输出数据,其中客户机系统(2-5)被配置成当应用和恰当指令同时提供的补丁时,更新保持在客户机系统中的实际补丁级别,从而反映下一级别,其特征在于把至少一个识别值保存在客户机系统中,并且只有当每个保存的识别值与和补丁同时提供的一组至少一个目标识别值中的相应一个识别值成预定关系时,才允许客户机系统接受补丁。
15.按照权利要求14所述的方法,其中客户机系统(2-5)具备一次可编程存储器(13),其中保存的识别值包括保存在一次可编程存储器(13)中的所有者标识,所述方法包括只有当目标所有者标识与补丁同时被提供,并且目标所有者标识与保存在一次可编程存储器中的所有者标识成预定关系时,才允许客户机系统接受补丁。
16.按照权利要求14或15所述的方法,其中客户机系统(2-5)具备可编程存储器(15),所述方法包括只有当补丁被提供有与保存在可编程存储器(15)中的对应模型标识成预定关系的目标模型标识时,才允许客户机系统接受补丁。
17.按照权利要求14-16任意之一所述的方法,其中下一级别的值得自于和补丁同时提供的信息。
18.按照权利要求14-17任意之一所述的方法,包括从和补丁同时提供的信息中得出应用所述补丁所需的补丁级别的值,并且只有当应用所述补丁所需的补丁级别与实际补丁级别成预定关系时,才允许客户机系统(2-5)应用补丁。
19.按照权利要求14-18任意之一所述的方法,其中在授权管理消息中接收补丁,其中至少一部分的授权管理消息被解密,以便获得至少一部分补丁。
20.按照权利要求14-19任意之一所述的方法,包括接收包括加密信息和指示所需补丁级别的信息的输入数据,并运行应用程序以对加密信息解密。
21.按照权利要求14-20任意之一所述的方法,包括接受补丁,应用补丁,把保持的实际补丁级别从反映在先值更新为反映下一补丁级别,和随后应用所述补丁,使应用程序能够在引介时间间隔的剩余部分期间处理和只与在先级别成预定关系的所需补丁级别的指示同时提供的输入数据,所述引介时间间隔把在应用所述补丁之前的第一时刻与迟于第一时刻的第二时刻分开。
22.按照权利要求14-21任意之一所述的方法,包括接受补丁,和应用补丁,其中应用补丁包括执行重新安排客户机系统(2-5)中的至少部分存储器(14、15)的配置的指令。
23.一种数据处理设备,所述数据处理设备包括处理器(12),存储器(13-15),接收补丁的接口(16)和为安装在数据处理设备(2-5)上的应用程序载入输入数据的接口(16),其中所述数据处理设备被编程为实现按照权利要求14-22任意之一所述的方法。
24.按照权利要求23所述的数据处理设备,其中接收补丁的接口(16)和载入输入数据的接口(16)包括与数据处理设备(2-5)外部的数据处理系统(6;17;18;21)中的读/写单元(31)的物理接口。
25.一种计算机程序,所述计算机程序被安排成当在包括处理器(12)、存储器(13-15)、接收补丁的接口(16)和载入输入数据的接口(16)的可编程处理系统上运行时,使所述可编程处理系统能够实现按照权利要求14-22任意之一所述的方法。
全文摘要
一种为安装在多个客户机系统(2-5)上的软件提供补丁的方法,每个客户机系统具有至少一个数据处理器(12)和存储器(13-15),并且都被编程为保持代表实际补丁级别的信息,并且只有当实际补丁级别与所需的补丁级别成预定关系时,才通过利用代表所需补丁级别的数据处理提供给安装的应用程序的输入数据产生输出数据,该方法包括获得供包含在补丁中的计算机程序代码,所述代码被安排成在客户机系统中应用所述补丁之后,与安装在客户机系统(2-5)上的至少一部分软件协作实现某一功能,连同更新保持在客户机系统(2-5)中的实际补丁级别,从而反映下一级别的指令,把第一补丁提供给至少一个第一客户机系统中的应用程序。所述方法的特征在于向客户机系统(2-5)中的至少另一客户机系统提供第二补丁,以及更新保持在该客户机系统中的实际补丁级别,从而反映下一级别的指令。只在第一和第二补丁中的第一补丁中提供所述代码。
文档编号G06F11/36GK1776611SQ200510099820
公开日2006年5月24日 申请日期2005年9月2日 优先权日2004年9月6日
发明者艾伯特-简·博斯查, 杰拉德·约翰·德克, 安托涅斯·J·P·M·范·德·温 申请人:耶德托存取公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1