用于提供代码签名服务的系统和方法技术方案

技术编号:4187523 阅读:181 留言:0更新日期:2012-04-11 18:40
一种向软件应用程序开发者或希望应用程序被数字地签名的其他个体或实体提供代码签名服务的系统和方法。可以要求签名应用程序,以便当在计算设备上执行应用程序时,使应用程序能够访问计算设备的敏感API以及相关资源。在一个实施例中,提供代码签名服务的方法包括至少一些步骤,所述步骤涉及注册要求访问由代码签名中心控制的API的实体。执行这些步骤,以便与这些实体建立信任的关系。提供代码签名服务的方法还包括涉及接收和处理来自这些实体的代码签名请求的附加步骤。

【技术实现步骤摘要】

这里描述的系统和方法的实施例大体上涉及针对软件应用程序 的安全协议领域,更具体地,涉及一种系统和方法,用于向希望使软 件应用程序被数字地签名以便可以在计算设备上(例如移动设备)执 行该应用程序的个人或实体提供代码签名服务。
技术介绍
含有软件代码签名方案的安全协议典型地被用于确保从因特网 或其他来源下载以用于在计算设备上执行的软件应用程序的可靠性。 例如,计算设备可以是移动设备。可以在计算设备上实施代码签名系统,以便控制软件应用程序访 问计算设备上的某些资源。在一个示例系统中,在计算设备中提供了 应用平台、 一个或更多个应用程序编程接口 (API)、以及虚拟机。配 置API以使软件应用程序与应用平台相链接,以及更具体地,允许软 件应用程序对资源做出功能调用,或者与计算设备上的软件应用程序 通常可访问的资源进行交互。然而,可以由希望限制对API的访问或对与这些API有关的特定资 源的访问的实体,将一些API分类为"敏感的"。在示例系统中,在准予 访问敏感API之前,虚拟机适于验证附加到要求访问敏感API的应用程序上的数字签名的真实性。因此,为了准许应用程序访问敏感API,适当的签名中心(signing authority)必须首先数字地签名应用程序。
技术实现思路
在一个主要方面,优选地提出了一种用于提供代码签名服务的方法,所述方法包括步骤创建至少一个公钥以及至少一个对应的私钥; 配置每个公钥以保护至少一个敏感API,以及存储每个对应的私钥; 针对代码签名服务来注册至少一个实体,其中认证了每个实体的身份, 以及创建了每个已注册实体的账户记录;从请求者接收代码签名请求, 所述请求者是在注册步骤中己注册的实体,其中代码签名请求包括请 求者请求利用己创建的所述至少一个私钥中的选定私钥来签名的对 象;数字地签名对象,其中使用选定的私钥产生数字签名;以及向请 求者发送数字签名。附图说明为了更好地理解这里描述的系统和方法的实施例,以及为了更加 清楚地示出如何使他们产生效果,现在将参考附图为例,其中 图l是在一个示例实施方式中的移动设备的方框图; 图2是图1的移动设备的通信子系统组件的方框图; 图3是无线网络节点的方框图4是示出了示例代码签名协议的示意图,在该协议中,代码签名中心向软件应用程序开发者提供代码签名服务;图5是示出了在移动设备中的示例代码签名系统的组件的示意图6是示出了处理在图5中图示的移动设备上执行的已签名软件 应用程序的示例方法的步骤的流程图7A是示出了在一个实施例中提供代码签名服务的方法的步骤 的流程图7B是示出了在示例网络配置中的用于提供代码签名服务的系 统的原理图;图8A是示出了在一个实施例中创建用于代码签名的密钥对的方 法的步骤的流程图8B和图8C是由代码签名中心应用程序提供的用户界面中的示 例对话框;图9是示出了在一个实施例中用于针对代码签名服务来注册实体的方法的步骤的流程图;以及图10是示出了账户记录的详情的示例表格。具体实施例方式创建要求访问计算设备上敏感API的应用程序的软件应用程序开 发者可能需要使他们的应用程序由适当签名中心数字地签名,使得应 用程序在计算设备上正确地执行。期望限制访问某些敏感API (以及 相关资源)(例如实体自己写出的专有API)的实体可能希望充当关于 这些API的签名中心,并且向要求访问这些API的软件应用程序开发者提供代码签名服务。例如,通过代码签名服务的提供,实体能够控制 谁应该或谁不应该被准许访问其写出和/或被分类为敏感的特定API、跟踪谁请求了此种访问、以及如果需要对提供此类访问收费。这里描述的实施例大体上涉及一种用于向软件应用程序开发者 或希望应用程序被数字地签名的其他个人或实体提供代码签名服务的 系统和方法。当在计算设备上执行应用程序时,也许要求签名应用程 序以使应用程序能够访问计算设备的敏感API以及相关资源。在一个方面,提出了一种用于提供代码签名服务的方法,该方法 包括步骤创建至少一个公钥以及至少一个对应的私钥;配置每个公 钥以保护至少一个敏感API,并且存储每个对应的私钥;针对代码签 名服务来注册至少一个实体,其中认证了每个实体的身份,以及创建 了每个已注册实体的账户记录;从请求者接收代码签名请求,所述请 求者是在注册步骤中的已注册实体,其中代码签名请求包括请求者请 求利用已创建的所述至少一个私钥中的选定私钥进行签名的对象;数 字地签名对象,其中使用选定的私钥产生数字签名;以及向请求者发 送数字签名。200910202855. 1说明书第4/31页例如,已签名的应用程序所执行在的计算设备可以是移动站。然 而,本领域普通技术人员应该理解,这里描述的至少一些实施例可以 关于要在除移动站之外的计算设备上执行的应用程序来实现。移动站是一种带有先进数据通信能力的双向通信设备,具有与其 他计算机系统通信的能力,并且这里提到的一般指移动设备。移动设 备也可以包括用于语音通信的能力。取决于由移动设备提供的功能, 可以称其为数据消息设备、双向寻呼机、带有数据消息能力的蜂窝电 话、无线因特网装置、或数据通信设备(带有或不带有电话能力)。移 动设备通过收发站的网络与其他设备通信。为有助于读者理解移动设 备的结构以及其如何与其他设备通信,首先参考图1至图3。参考图l,在一个示例实施方式中的移动设备的方框图大致如IOO 所示。移动设备100包括多个组件,其中控制组件是微处理器102。微 处理器102控制移动设备100的所有操作。通过通信子系统104来执行包 括数据和语音通信的通信功能。通信子系统104从无线通信网络200接 收消息并向其发送消息。在移动设备100的该示例实施方式中,根据全 球移动通信系统(GSM)和通用分组无线业务(GPRS)标准来配置 通信子系统104。 GSM/GPRS无线网络在世界范围内广泛使用,并且可 以预料的是这些标准最终将由增强数据GSM环境(EDGE)和通用移 动通信服务(UMTS)所取代。新的标准正在制定中,但是可以相信 的是他们具有与这里描述的网络行为相类似的网络行为,本领域的技 术人员也应该理解,可以使用将来开发的其他合适的标准。使无线通 信子系统104与网络200相连接的无线链路代表一个或更多个不同的射 频(RF)信道,根据针对GSM/GPRS通信规定的已定义协议来运行。 随着更新的网络协议,这些信道能够支持电路交换语音通信和分组交 换数据通信这两者。尽管在移动设备100的一个示例实施方式中,与移动设备100相关 联的无线网络是GSM/GPRS无线网络,在不同的实施方式中也可以使 其他无线网络与移动设备100相关联。例如,可使用的不同类型的无线 网络包括数据核心无线网络、语音核心无线网络、以及通过同一物 理基站能够支持语音和数据通信的双模网络。组合的双模网络包括但不限于码分多址(CDMA)或CDMA2000网络、GSM/GPRS网络(如 上面提到的)、以及例如EDGE和UMTS的未来第三代(3G)网络。数 据核心网络的 一 些较早的示例包括Mobitex 无线电网络以及 DataTACTM无线电网络。较早的语音核心数据网络的示例包括象GSM 以及时分多址(TDMA)系统的个人通信系统(PCS)网络。微处理器102还与本文档来自技高网...

【技术保护点】
一种提供代码签名服务的方法,其中,已经创建和配置了一个或更多个公钥以及一个或更多个对应的私钥,每个公钥以及对应的私钥与被标识为“敏感”的应用程序编程接口相关联,所述方法包括步骤: 接收(430)步骤,从请求者接收对软件应用程序或其散列 进行签名的代码签名请求,,所述软件应用程序在计算设备上运行时访问敏感应用程序编程接口,其中,所述代码签名请求包括请求者请求利用已创建的一个或更多个私钥中与所述敏感应用程序编程接口相关联的私钥来签名的软件应用程序或其散列; 签名(474 )步骤,数字地签名软件应用程序或其散列,其中,使用与所述敏感应用程序编程接口相关联的所述私钥来产生数字签名;以及 发送(474)步骤,向所述请求者发送所述数字签名。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:尼尔P亚当斯麦克尔G柯卡普赫伯特A利特尔麦克尔雷巴克戴维F塔普什科
申请(专利权)人:捷讯研究有限公司
类型:发明
国别省市:CA[加拿大]

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

1