用于改进代码和数据签署的方法和设备技术

技术编号:7258788 阅读:238 留言:0更新日期:2012-04-13 06:37
方法和计算装置使得能够使用可由签署服务器在分配之后更新的方法和签名来检验计算机装置上的代码和/或数据软件。经更新的检验方法和签名可提供在第二签名文件中。当计算装置将供执行的应用拆开时,其可检查第二签名文件是否与应用文件相关联。如果否,那么其可连接到签署服务器以请求用于所述软件的第二签名文件。所述签署服务器随后可请求与所述软件有关的足以确定所述软件是否值得信任的信息。如果确定为值得信任,那么所述签署服务器可将第二签名文件发送到所述计算机装置以用于在此后检验所述软件。所述第二签名文件可包含新的或经修改的检验方法和新签名。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体上涉及计算机安全性技术,且更特定来说,涉及用于改进其中检验和签署代码和数据文件的方法的方法和设备。
技术介绍
在计算机系统中,实施多种机制和系统以防范恶意软件和已在无授权的情况下经修改的软件。最常见方法中的一者是提供代码或数据的数字签名,在执行或存取所述代码或数据之前检查所述数字签名。用于以数字方式签署代码和数据的方法广泛用于针对移动装置(例如,蜂窝式电话)编写的软件,这是因为需要保护蜂窝式网络的安全性且移动装置实施恶意软件保护软件的能力有限。通过数字签名保护完整性的代码或数据在其被出售或另外分配之前由认证授权方或“签署服务器” “签署”。经签署的代码或数据包含含有经加密值的数字签名,所述经加密值可结合检验算法使用以检验所述代码或数据与其被“签署”时相同。如图1中说明,在典型的实施方案中,计算装置(例如,移动装置)通过以下操作确认应用值得信任将代码或数据拆开以获得签名,步骤2 ;在应用代码和/或数据上运行散列函数(或执行某一其它检验算法),步骤4 ;将签名解密以获得签名内所含的散列值,步骤6 ;确认签名曾由有效证书签署,步骤8 ;以及将所得散列与数字签名内所含的散列进行比较,步骤10。如果两个散列值相等(测试12),那么信任所述代码或数据。例如移动装置等计算机可包含存储器中的证书链以使其能够将数字证书解密并确认签名曾由有效证书签署。如果签名由有效证书签署且散列值相等(即,测试12 = “是”),那么信任所述代码或数据且客户端可执行所述代码或使用所述数据。签署代码和数据在大多数情况下提供有效的安全屏障。然而,此安全体系是静态的,且因此不能响应于安全环境中的变化。举例来说,如果在客户端核心密码组件的任一者的实施方案中发现弱点或如果发现针对核心散列函数或公共密钥算法的新的脆弱性,或如果暴露逻辑或应用层级错误,那么客户端装置可能不能保护其自身免受此类脆弱性影响。 更糟糕的是,此情形可在代码和数据完成且被分配之后的若干年以及客户端装置在商业上部署之后的若干年发生。
技术实现思路
各种实施例提供用于更新并改进用于检验可执行计算机文件和数据文件的签署和检验过程的方法和系统。各种实施例提供一种用于通过提供可由客户端计算机装置接入的签署服务器的可更新环境而增强现有代码和数据签署系统的灵活的机制。此能力提供用于从何物将通常发展成代码签署系统中的灾难性弱点的发现中恢复的系统和方法。各种实施例包含签署服务器,其经配置以确定客户端计算机装置上的软件是否值得信任并向客户端计算机提供经更新的检验方法和签名。在一实施例中,经更新的检验方法和签名可提供于第二签名文件(本文称为“签名2文件”)中。当计算装置将供执行的应用拆开时,其可检查第二签名文件是否与应用文件相关联。如果否,那么计算装置可连接到签署服务器以请求用于软件的第二签名文件。所述签署服务器接着可请求足以使其能够确定所述软件是否值得信任的来自计算装置的与所述软件有关的信息。如果所述软件确定为值得信任,那么所述签署服务器可将第二签名文件发送到所述计算机装置以供用于此后检验所述软件。 所述第二签名文件可包含新的或经修改的检验方法和新的签名。附图说明并入本文中并构成本说明书的部分的附图说明本专利技术的示范性实施例,且连同上文给出的概括描述和下文给出的详细描述一起用以阐释本专利技术的特征。图1是用于检验经签署的代码和数据的现有技术方法的过程流程图。图2是有线和无线蜂窝式网络的系统框图。图3是说明一实施例方法的概况的过程流程图。图4是根据一实施例的应用数据文件的说明。图5是用于检验计算装置中的软件的一实施例方法的过程流程图。图6是用于检验计算装置中的软件的另一实施例方法的过程流程图。图7是用于检验签署服务器中的软件并更新客户端装置上的检验方法和签名的一实施例方法的过程流程图。图8是用于检验签署服务器中的软件并更新客户端装置上的检验方法和签名的另一实施例方法的过程流程图。图9是适宜与各种实施例一起使用的实例移动装置的电路框图。图10是适宜与各种实施例一起使用的实例个人计算机的电路框图。具体实施例方式将参看附图来详细地描述各种实施例。只要可能,将在整个图式中使用相同的参考标号来指代相同或相似的部分。对具体实例和实施方案做出的参考是出于说明性目的, 且不希望限制本专利技术或权利要求书的范围。在此描述内容中,使用术语“示范性”来表示“充当一实例、例子或说明”。在本文中描述为“示范性”的实施方案不一定阐释为比其它实施方案优选或有利。在此描述内容中,术语“签署,,和“签名,,指代用于使计算装置能够确定软件代码或数据或代码与数据的组合(统称为“软件”)自从由签署授权方检验后是否已经修改的方法,包含此项技术中众所周知的方法和通过各种实施例实现的方法两者。此类众所周知的方法通常涉及产生散列或“指纹”值,其本质上将代码、数据或代码和数据浓缩为大数字 (例如,20字节值)中,所述大数字对于代码和/或数据中所含的特定信息几乎为唯一的。 此散列或指纹值接着根据众所周知的PKI加密方案使用私人密钥加密,所述私人密钥可通过存储在客户端装置中的公共密钥而解密。经加密的散列或指纹值称为签名,且产生签名的过程一般称为签署。使用若干不同类型的散列算法,且各种实施例实现对此类算法的进一步改变和精细化,且因此术语“签署”和“签名”的使用不希望将描述内容或权利要求书的范围限于任何特定形式的密码过程、散列函数或检验算法。各种实施例可应用于签署和检验应用软件指令(通常称为“代码”)、由应用处理或使用的数据,以及包含代码和数据两者的应用文件。因此,本文使用术语“软件”来大体上指代代码和数据两者任择其一,以及表示代码和数据联合。以下描述和权利要求书中对软件的参考不应解释为排除数据或要求可执行指令。如本文所使用,术语“移动装置”、“移动手持机”、“手持机”和“手持式装置”指代蜂窝式电话、具有无线调制解调器的个人数字助理(PDA)、无线电子邮件接收器(例如, Blackberry 和Treo 装置)、具备多媒体因特网功能的蜂窝式电话(例如,iPhone )、 无线电话接收器和类似的个人电子装置中的任一者或全部。在优选实施例中,移动装置为蜂窝式手持机装置(例如,手机)。然而,蜂窝式电话通信能力并非必需的,因为可在实施多种文本数据输入方法的计算装置上实施各种实施例。如本文所使用,术语“计算机”和“计算装置”希望涵盖可能存在或未来将开发的任何形式的可编程计算机,包含(例如)个人计算机、膝上型计算机、移动装置(例如,蜂窝式电话、个人数据助理(PDA)、掌上型计算机和多媒体移动装置)、主机计算机、服务器和集成计算系统。计算机通常包含耦合到存储器电路的软件可编程处理器,但可进一步包含下文参看图9和10描述的组件。如本文所使用,术语“服务器”指代经配置以在具有对网络的接入的客户端-服务器架构中操作的多种市售计算机系统中的任一者。特定来说,术语“服务器”指代web服务器,尤其是因特网可接入服务器,其通常包含处理器、存储器(例如,硬盘存储器)和经配置以将服务器处理器连接到网络(例如,因特网)的网络接口电路。服务器还可包含用于安全性目的的专门硬件。如本文所使用,术语“客户端”指代计算装置,例如移动装置或个人计算机,其具有能够执行计算机程序的处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:伊万·休·麦克莱恩
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:

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

1
相关领域技术