代码签署服务制造技术

技术编号:18180293 阅读:42 留言:0更新日期:2018-06-09 22:50
用于在代码签署中登记软件实现者的设施。在一个示例设施中,该设施接收标识实现者的信息以及认证实现者的证书。该设施为实现者生成秘密状态。基于(1)接收到的证书的至少一部分和(2)所生成的秘密状态的至少一部分中的一者或两者,该设施为实现者生成包括私钥和公钥的密钥对,并持久地存储秘密状态。

【技术实现步骤摘要】
【国外来华专利技术】代码签署服务背景生产计算机软件的公司和其他组织(“软件实现者”或简称“实现者”)将加密签名应用于它们的软件代码是很常见的。那些接收到以此方式签署的代码的人可验证签名,并通过这样做来确认(1)实现者是代码的来源,并且(2)代码从脱离实现者的控制开始就没有变化,并且因此该代码未被操纵以产生不正确的结果,危及运行其的计算机系统的安全性等。在一些情况下,计算机系统被配置为仅安装已由可信组织列表中的实现者验证签名的代码。用于此目的的加密签名通常涉及为实现者生成的非对称密钥对。密钥对包括实现者用于产生加密签名并保护秘密的私钥,以及代表实现者发布以使其他人能够验证据称由该实现者作出的签名的对应公钥。概述提供本概述以便以简化的形式介绍将在以下的详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键因素或必要特征,也不旨在用于限定所要求保护的主题的范围。用于在代码签署中登记软件实现者的设施。在一个示例设施中,该设施接收标识实现者的信息以及认证实现者的证书。该设施为实现者生成秘密状态。基于(1)接收到的证书的至少一部分和(2)所生成的秘密状态的至少一部分中的一者或两者,该设施为实现者生成包括私钥和公钥的密钥对,并持久地存储秘密状态。附图简述图1是示出在一些示例中该设施在其中操作的样本环境的网络示图。图2是示出可被包含在该设施在其上操作的计算系统和其他设备中的至少一些中的一些组件的框图。图3是示出在一些示例中根据设施执行以注册新实现者的样本交互的数据流图。图4是示出在一些示例中可由设施执行以处理实现者注册请求的示例动作的流程图。图5是示出在一些示例中设施所使用以存储关于每个已注册的软件实现者的信息的实现者表格的样本内容的表格图。图6是示出在一些示例中根据设施执行以代表实现者查找代码的交互的数据流图。图7是示出在一些示例中可由设施执行以处理代码签署请求的示例动作的流程图。图8是示出在一些示例中根据设施向实现者的顾客和其他人提供对实现者公钥的访问的样本交互的数据流图。图9是示出在一些示例中可由设施执行以返回所请求的实现者公钥的示例动作的流程图。图10是示出在一些实施例中根据设施执行以更改或“滚动(roll)”实现者的密钥对的样本交互的数据流图。图11是示出在一些示例中可由设施执行以处理密钥滚动请求的示例动作的流程图。图12是示出在一些示例中在响应于实现者的密钥滚动请求而被更新之后设施所使用的实现者表格的样本内容的表格图。图13是示出在一些示例中可由设施的附加示例执行以处理实现者注册请求的示例动作的流程图。图14是示出在一些示例中设施的附加示例所使用以存储关于每个已注册的软件实现者的信息的实现者表格的样本内容的表格图。图15是示出在一些示例中可由设施的附加示例执行以处理代码签署请求的示例动作的流程图。详细描述专利技术人已标识出了使用常规方式签署代码的显著缺点。具体而言,专利技术人已认识到,通过使每个实现者组织对其自己的私钥负责,常规方式向每个组织施加显著的时间和/或成本负担以便以确保私钥的未来可用性的方式存储其私钥;并适当地且有效地控制对密钥的访问及其签署代码的用途以使密钥不被用于签署未授权的代码。为了克服这些缺点,专利技术人已设想并简化以实施一种提供用于代表实现者组织签署代码的在线服务的软件和/或硬件设施(“该设施”)。该设施管理每个实现者的密钥,并且使各实现者不必这样做。在一些示例中,针对多个实现者中的每一个,设施部分地基于实现者所提供的证书并还部分地基于设施为实现者维护的秘密状态来为实现者生成密钥对。在各种示例中,设施使用各种类型的证书,包括基于在oauth.net中描述的OAuth认证和授权协议的证书。在一些示例中,该设施安全地至少存储该密钥对的私钥以供稍后用于代表实现者签署代码;在一些此类示例中,被设施使用的密钥生成过程包括随机元素从而具有不确定性。在一些示例中,设施省略了存储实现者的私钥;相反,它使用确定性的密钥生成过程,并在每次需要私钥来代表实现者签署代码时根据实现者的证书和实现者的秘密状态重新生成私钥。在一些示例中,设施采取步骤来发布每个实现者的公钥,诸如通过将公钥传送到公钥储存库或注册者(registrar)(该公钥储存库或注册者对未认证的请求做出响应来检索实现者的公钥),操作其自己的公钥储存库等等。在一些示例中,设施从实现者接收其证书以及将被签署的代码表示。在各种示例中,此代码表示是(1)将被分发的整个代码主体;(2)表征将被分发的代码主体的目录,诸如通过在存在于一个或多个应用或其他软件单元中的各个文件中包括摘要的集合;(3)为将被分发的代码主体生成的一个或多个摘要;或(4)可以基于将被分发的代码主体确定性地或半确定性地生成的另一种类型的表示。该设施使用为实现者存储或重新生成的私钥来签署代码表示,并将经签署的表示或签名单独返回给实现者。在除上文(1)以外的方式中,设施在无需访问代码主体本身的情况下进行操作,这可能会被一些实现者视为安全优势。在一些示例中,实现者可指示设施“滚动”其密钥对,即,用新密钥对替换其密钥对。在设施从实现者接收到此类指示的情况下,其为实现者改变其秘密状态;为该实现者生成新密钥对;发布新密钥对的公钥;并在其持久地存储每个实现者的私钥而不是在需要时重新生成私钥的示例中,存储新密钥对的私钥。在一些示例中,设施自动地(诸如周期性地)滚动一些或全部实现者的密钥。在各种示例中,设施签署伴随代码的数据;虽然与代码分开,但与代码有关的数据;和/或与代码无关的数据。例如,在一些示例中,设施签署代码完整性策略文件,该代码完整性策略文件构成其软件被授权在计算机系统上执行的经批准的软件发布者的清单。在一些示例中,设施执行作为签署的一部分和/或与签署分开的时间戳。在一些示例中,设施对撤销密钥对的实现者请求作出响应。在一些示例中,设施维护审计日志,单独地或与实现者可能使用以确定已代表实现者提交了什么代码表示或其他有效载荷并使用其私钥进行签署的接口一起。通过以上文描述的方式中的一些或全部来执行,该设施使实现者能够享受代码签署的益处,而无需自行维护私钥存储和代码签署基础结构。图1是示出在一些示例中设施在其中操作的样本环境的网络示图。代码签署服务服务器100由实现者客户端计算机系统120和顾客客户端计算机系统130两者经由因特网110访问。在各种示例中,代码签署服务中心注册使用实现者客户端的实现者(参见图3-5);代表使用实现者客户端的实现者签署代码(参见图6-7);向使用顾客客户端的顾客提供实现者公钥(参见图8-9);以及响应来自使用实现者客户端的实现者的请求来更改或“滚动”实现者的密钥对(参见图10-12)。虽然按照上文所描述的环境描述了各种示例,但是本领域技术人员将理解,该设施可在各种其他环境中被实现,包括单个单片式计算机系统以及以各种方式连接的计算机系统或类似设备的各种其他组合。在各种示例中,各种计算系统或其他不同的客户端设备可被代替诸如移动电话、个人数字助理、电视、相机等web客户端计算机系统使用。图2是示出可被包含在用于该设施在其上操作的计算系统和其他设备中的至少一些中的一些组件的框图。在各示例中,这些计算机系统和其他设备200可包括服务器计算机系统、台式计算机系统、膝上型计算机系统、本文档来自技高网...
代码签署服务

【技术保护点】
一种用于签署软件代码的计算系统,包括:通信子系统,所述通信子系统被配置为从请求者接收代码主体的表示;以及加密子系统,所述加密子系统被配置为使用为所述请求者生成而所述请求者无法访问的密钥来签署被所述通信子系统接收到的代码主体的所述表示,所述通信子系统进一步被配置为向所述请求者返回由所述加密子系统产生的经签署的代码主体的表示。

【技术特征摘要】
【国外来华专利技术】2015.09.30 US 14/871,7411.一种用于签署软件代码的计算系统,包括:通信子系统,所述通信子系统被配置为从请求者接收代码主体的表示;以及加密子系统,所述加密子系统被配置为使用为所述请求者生成而所述请求者无法访问的密钥来签署被所述通信子系统接收到的代码主体的所述表示,所述通信子系统进一步被配置为向所述请求者返回由所述加密子系统产生的经签署的代码主体的表示。2.如权利要求1所述的计算系统,其特征在于,为所述请求者生成的所述密钥是由所述加密子系统至少部分地基于所述通信子系统接收到代码主体的所述表示而生成的。3.如权利要求1所述的计算系统,其特征在于,所述通信子系统被进一步配置为从所述请求者接收认证所述请求者的身份的证书,并且其中所述加密子系统被进一步配置为至少部分地基于接收到的证书的至少一部分来生成为所述请求者生成的密钥。4.如权利要求3所述的计算系统,其特征在于,进一步包括:存储设备,所述存储设备被配置为存储为所述请求者生成的秘密状态,并且其中,所述加密子系统至少部分地基于由所述存储设备存储的所述秘密状态来生成为所述请求者生成的所述密钥。5.如权利要求1所述的计算系统,其特征在于,用于签署代码主体的所述表示的所述密钥是具有对应公钥的私钥,所述计算系统进一步包括:被配置为发布所述公钥的发布子系统。6.一种存储实现者表格数据结构的计算机可读介质,所述数据结构包括:多个条目,每个条目都对应于一软件实现者,每个条目包括:为所述软件实现者维护的秘密状态,使得所述数据结构的所述内容能用于为所述软件实现者生成密钥对,所述密钥对包括能用于代表所述软件实现者签署代码的私钥。7.如权利要求6所述的计算机可读介质,其特征在于,所述密钥对包括对应于所述私钥的公钥,并且其中每个条目进一步包括:为所述软件实现者生成的所述密钥对的所述公钥。8.如权利要求6所述的计算机可读介质,其特征在于:每个条目进一步包括:为所述软件实现者生成的所述密钥对的所述私钥。9.一种计算机可读介质,所述计算机可读介质具有被配置为使得计算系统为了在代码签署服务中登记软件实现者而进行以下的内容:接收标识所述实...

【专利技术属性】
技术研发人员:P·拉朱F·刘C·L·沃尔斯塔德L·P·布罗德里克H·索尼R·莫尔巴克K·莱亚
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1