当前位置: 首页 > 专利查询>微软公司专利>正文

确保软件更新仅在特定设备或设备类上安装或运行制造技术

技术编号:2861294 阅读:189 留言:0更新日期:2012-04-11 18:40
所描述的是一种系统和方法,其中,设备制造商或软件映象提供商控制哪些设备被允许安装或运行软件映象。一种映象加密钥机制使用包数据和与该设备或设备类相关联的UUID来对映象加密钥。由于UUID在密钥中使用,安装程序核实器和/或引导时核实器可确保该设备被授权来安装和/或运行该映象。任一包,包括现有设备包和向其要求安装的包,可要求实施加密钥。安装程序机制检查该设备是否被允许安装该映象。引导时实施机制通过在要求的密钥无效或丢失时暂停引导过程来防止操作不正确地安装的映象。

【技术实现步骤摘要】

本专利技术一般涉及计算设备,尤其涉及更新计算设备的非易失存储。
技术介绍
诸如个人数字助理、当代移动电话和手持式及袖珍计算机等移动计算设备正在变为重要且流行的用户工具。一般而言,它们变得足够小,使得它们极度方便,而消耗较少的电池功率,且在一时变得能够运行更强大的应用程序。在制造这类设备的过程中,嵌入式操作系统映象通常被内建到每一设备的单块映象文件中,并储存在非易失存储中(如,NAND或NOR闪存、硬盘等等)。作为结果,更新这一设备有时是必需或期望的。注意,更新设备的持久应用程序映象不同于通常在计算设备上安装应用程序的方式,应用程序储存在用户可访问文件系统中,并与用户数据混合。然而,某些制造商希望能够控制对其设备软件更新的访问(以及对连同设备一起出厂的初始映象的访问)。其原因是一个制造商可能不希望在其设备上安装另一制造商的更新映象。有些制造商希望能够向愿意为映象的某些更新或新映象付费的顾客收费,而其它制造商不希望。有些制造商希望能够向愿意为映象的某些更新或新映象付费的顾客收费,因为这些新映象可包含新应用程序或特征(注意,“更新”可以是完整的应用程序或新特征)。需要一种控制对初始映象和/或更新映象的访问的机制,但是以可以实现或不依赖于关于初始映象或更新的制造商的特定情况组的灵活方式。
技术实现思路
简言之,本专利技术针对一种制造商(或其它初始映象或更新映象提供商)控制允许哪些设备安装或运行映象的系统和方法。为此,本专利技术提供了一种映象加密钥机制,通过该机制,如果试图在不同于制造商(或其它更新提供商)指定的设备上安装初始组件或更新组件(加密钥的映象子组件,此处也成为包),则该安装会失败。此外,即使通过某些其它装置,如通过硬件JTAG探针,将加密钥的映象应用到该设备,该软件也不会在非法的设备上运行。为此,没有正确的密钥口令,设备无法引导。注意,映象加密钥可应用到初始制造映象以及可更新包。在一个实现中,基于包以及与设备相关联的全局唯一标识符(UUID)对包加密钥。UUID允许包对单个设备或设备类加密钥,取决于该UUID是对应于设备还是设备类。采用UUID,加密钥过程能够安全地将设备的UUID与映象相关联,使得安装程序核实器和/或引导时核实器可基于该UUID确保加密钥对该设备是适当的。安装程序和/或引导时核实器然后允许或禁止映象更新/引导,取决于该设备是否被授权用于该映象。为对包加密钥,将设备的UUID传递到拥有该映象的服务器,服务器然后对UUID和与包相关的数据应用散列算法,然后签署结果。签名储存在映象的已知位置中,并将加密钥的映象提供给设备。对于在安装或引导时要核实的加密钥的映象,安装代码或预引导代码被设计成检测未加密钥的任何映象,并在适当时暂停安装或设备引导。这可通过向映象并向用于在(如,提供商或制造商的)服务器上对映象加密钥的UUID应用同一编码算法来实现。在一个实现中,映象的加密钥是可任选的,使得软件销售商和/或制造商可确定是否要对映象加密钥。为具有被可任选地加密钥的系统,该系统具有一种用于表示对在特定映象(或映象的一部分)上加密钥的要求的机制。对加密钥的映象的要求可来自同一包内,或来自同一设备的不同包内。注意,包的提供商可对包加密钥,或者制造商可对包加密钥,即使制造商不是该包的提供商。在一个实现中,在散列中使用的包数据对应于在包安装之后在设备上维护的包的描述。包所附带的向系统描述该包的内容的清单文件通过在包内包括包标识符、版本号和文件列表,提供了用于散列的与包相关的数据。一旦包被加密钥并在设备上获取,则设备确定它是否具有在安装的包上加密钥的要求。该要求可从包内形成,或可以是来自另一先前安装的包的要求。如果存在加密钥要求,则用于计算散列的算法被重新应用到包内容和设备UUID,并且将结果与在服务器上确定并储存在包内的结果相比较。如果结果一致,则认为密钥上的签名是有效的,并允许安装。也可采用引导时实施机制,以确保映象不会通过不同于正常映象更新机制的手段,如通过硬件JTAG探针,或通过经由总线对闪存中的数据的物理操纵。而被恶意地更新。如果引导时检查过程发现密钥无效或丢失,则它暂停引导过程。当结合附图阅读以下详细描述时,可以清楚其它优点,附图中附图说明图1是一般表示可结合本专利技术的计算机系统的框图;图2所示是依照本专利技术的一个方面为在特定设备上安装和操作而加密钥的包的框图;图3所示是依照本专利技术的一个方面,用于基于对设备的正确密钥确定是否在该设备上安装加密钥的包的逻辑的流程图;图4所示是依照本专利技术的一个方面,用于基于设备是否具有一个或多个加密钥的包确定是否引导设备的逻辑的流程图;以及图5所示是依照本专利技术的一个方面信任链的概念的框图。具体实施例方式示例性操作环境图1示出了一个这样的手持式计算设备120的功能组件,包括处理器122、存储器124、显示屏126和键盘128(可以是物理或虚拟键盘,或表示两者)。可存在麦克风129以接收音频输入。存储器124一般包括易失存储器(如,RAM)和非易失存储器(如,ROM、PCMCIA卡等等)。操作系统130驻留在存储器124中,并在处理器122上执行,如微软公司的Windows操作系统或另一操作系统。一个或多个应用程序132被加载到存储器124中,并在操作系统130上运行。应用程序的示例包括电子邮件程序、调度程序、PIM(个人信息管理)程序、文字处理程序、电子表格程序、因特网浏览器程序等等。手持式个人计算机120也可包括加载到存储器124中的通知管理器134,它在处理器122上执行。通知管理器134处理如来自应用程序132的通知请求。同样,如下所述,手持式个人计算机120包括适用于将手持式个人计算机120连接到网络(包括作出电话呼叫)的网络软件136(如,硬件驱动程序等)和网络组件138(如,无线电和天线)。手持式个人计算机120具有电源140,它被实现为一个或多个电池。电源140还可包括取代内置电池或对其重新充电的外部电源,如AC适配器或加电对接托架。图1所示的示例性手持式个人计算机120被示出为具有三种类型的外部通知机制一个或多个发光二极管(LED)142和音频生成器144。这些设备可直接耦合至电源140,使得当被激活时,即使手持式个人计算机处理器122或其它组件被关闭以保存电池能量时,它们也保留一段由通知机制指示的持续时间。LED 142较佳地不确定地保留,直到用户采取行动。注意,音频生成器144的当代版本使用当今手持式个人计算机电池的太多能量,因此它被配置成当系统的剩余部分工作时,或者在激活后的一段确定持续时间之后被关闭。注意,尽管示出了基本手持式个人计算机,然而,为实现本专利技术的目的,实际上能够以可由程序使用的某一方式接收数据通信和处理数据的任何设备,如移动电话,都是等效的。设备专用更新本专利技术一般针对安装和/或更新储存在小型移动计算设备上的软件,这些设备如基于微软的WindowsCE的设备,包括在其中将初始软件或软件更新写入嵌入式设备的非易失存储,如闪存中的那些设备。尽管如此,本专利技术提供了在总体上计算的益处,并由此可应用到其它计算设备和其它类型的存储,包括各种类型的存储器和/或其它类型的存储媒质,如硬盘驱动器。为简化目的,术语“闪存”在后文对照设备的可更新存储,尽管本文档来自技高网...

【技术保护点】
在计算环境中,一种方法,其特征在于,它包括:标识一包含设备或设备类的设备组,为所述设备组,一包括映象或映象的子组件的映象实体将要被加上密钥;以及安全地将一对应于所述设备组的标识符与所述映象实体相关联,使得与所述组的一个设备相关联的一实施机制可确定所述映象实体是否被允许在该关联的设备上运行。

【技术特征摘要】
US 2003-12-16 60/530,126;US 2004-5-1 10/837,1511.在计算环境中,一种方法,其特征在于,它包括标识一包含设备或设备类的设备组,为所述设备组,一包括映象或映象的子组件的映象实体将要被加上密钥;以及安全地将一对应于所述设备组的标识符与所述映象实体相关联,使得与所述组的一个设备相关联的一实施机制可确定所述映象实体是否被允许在该关联的设备上运行。2.如权利要求1所述的方法,其特征在于,标识为其要对所述映象实体加密钥的所述设备组包括向对所述映象实体加密钥的服务器提供与所述设备组相关联的UUID。3.如权利要求2所述的方法,其特征在于,所述服务器通过获取对应于所述映象实体的数据的第一散列、获取所述UUID的第二散列、将所述第一和第二散列相组合、签署经组合的第一和第二散列以产生密钥、并将所述密钥与所述映象实体相关联,来对所述映象实体加密钥。4.如权利要求3所述的方法,其特征在于,所述映象实体包括一包,并且其中,获取对应于所述映象实体的数据的第一散列包括获取对应于所述包的散列。5.如权利要求3所述的方法,其特征在于,获取对应于所述包的散列包括获取一描述所述包的设备清单文件的散列。6.如权利要求3所述的方法,其特征在于,所述实施机制通过获取对应于所述映象实体的数据的第一散列、获取所述UUID的第二散列、将所述第一和第二散列相组合、以及签署经组合的第一和第二散列产生用于与同所述映象实体相关联的所述密钥相比较的第二签名,来核查所述密钥。7.如权利要求3所述的方法,其特征在于,所述实施机制实现在一安装程序中,并且其中,所述实施机制通过如果所述密钥不对所述设备组和所述映象实体有效即阻止安装,来确定所述映象实体是否被允许在所述设备组上运行。8.如权利要求7所述的方法,其特征在于,它还包括,在一安全引导过程中核实一引导所述设备的引导加载器代码的有效性、以及在所述引导加载器代码中核实包含所述实施机制的所述安装程序的有效性。9.如权利要求3所述的方法,其特征在于,所述实施机制在一设备引导过程中实现,并且其中,所述实施机制通过如果不是至少对于所述映象实体的部分子组件有一个对所关联的设备有效的密钥即阻止所关联的设备的引导,来确定所述映象实体是否被允许在所关联的设备上运行。10.如权利要求9所述的方法,其特征在于,它还包括,在一安全引导过程中核实包含所述实施机制的代码的有效性。11.如权利要求1所述的方法,其特征在于,所述实施机制通过核查与基于一对应于所述组的所述关联的设备的标识符的所述映象的一子组件相关联的密钥,来确定所述映象实体是否被允许在所关联的设备上运行。12.如权利要求11所述的方法,其特征在于,所述实施机制响应于一加密钥要求而操作。13.如权利要求11所述的方法,其特征在于,所述加密钥要求与所述映象实体一起获取。14.如权利要求11所述的方法,其特征在于,所述加密钥要求从一文件中获取,该文件对应于另一个使一相应映象已经安装在所述关联的设备上的包。15.如权利要求11所述的方法,其特征在于,所述加密钥要求从一文件中获取,该文件对应于另一个要被处理以将数据安装到所述关联的设备上的包。16.如权利要求11所述的方法,其特征在于,所述密钥从一经签署的散列中获取,所述经签署的散列包括对应于所述映象的数据的第一散列和对应于所述...

【专利技术属性】
技术研发人员:D科蒂斯D福蒂尔S谢尔
申请(专利权)人:微软公司
类型:发明
国别省市:US[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1