【技术实现步骤摘要】
【国外来华专利技术】用于通过基于app的身份的app间相互信任的安全模块及方法
[0001]本专利技术涉及用于建立应用程序与应用程序(app与app)相互信任以使得这些应用程序之间的信息和数据的交换可以安全方式发生的模块和方法。特别地,本专利技术涉及包括识别模块和可信存储模块的模块。识别模块被配置为在设置在计算设备的标准操作系统内的应用程序和安全模块之间建立密码绑定。一旦完成这个,则可以在应用程序和安全模块之间建立安全通信。然后,应用程序随后可以利用安全模块中的密码密钥来建立与其它应用程序的安全通信。然后,基于密码绑定和包含在可信存储模块中的信息来认证应用程序的完整性。然后,应用程序可以作为具有由可信第三方发布的一组信任属性的经认证的应用程序继续处理动作。
技术介绍
[0002]当前,安全元件或可信执行环境(TEE)通常用于计算设备中,以执行需要被保护以免受利用它们的应用程序(app)的正常操作环境影响的逻辑和操作(尤其是密码操作)。app通常将安全元件或TEE视为可帮助提供可信存储或密码服务的单独计算模块。因此,利用安全元件或TEE的大多数计算设备将其作为公共资源而提供,该公共资源是在运行于计算设备的正常操作系统中的所有app之间共享的。在这样的系统中,对安全元件或TEE的访问控制通常由操作系统来实施。如果操作系统被损害(compromised),或者如果app已经被篡改,则安全元件或TEE将不具有对其的任何了解,并且其可能被误用,导致所谓的“信任缺口”问题。
[0003]另外,随着app演进变得更加复杂和协作,日益需要app ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种用于证明在计算设备的标准操作系统内设置的应用程序的真实性的安全模块,所述模块包括:识别模块,其通信地连接到所述应用程序,所述识别模块被配置为:当在所述应用程序和所述安全模块之间建立通信时,在所述应用程序和所述安全模块之间建立第一密码绑定,由此基于预加载在所述安全模块中的与所述应用程序相关联的信息以及基于从所述应用程序获得的信息,来生成所述第一密码绑定;基于所述第一密码绑定来认证所述应用程序的完整性;以及处理用于经认证的应用程序的动作。2.根据权利要求1所述的模块,其中所述识别模块还被配置为基于第二密码绑定动态地重新认证所述经认证的应用程序的完整性,其中基于预加载在所述安全模块中的与所述应用程序相关联的所述信息以及基于从所述应用程序新获得的信息,来生成所述第二密码绑定。3.根据权利要求1所述的模块,其中所述安全模块还包括:非暂时性介质,其由处理单元可读取以存储用于引导所述处理单元执行以下操作的指令:提供密码沙箱,所述密码沙箱包括虚拟密码机以及在所述密码沙箱内的防篡改虚拟层,所述虚拟密码机执行包括解密虚拟机代码的密码操作,所述防篡改虚拟层用于防止密码操作受到未授权观察者的影响。4.根据权利要求1或2所述的模块,其中,由所述识别模块在所述应用程序和所述安全模块之间建立所述第一密码绑定包括:所述识别模块被配置为:从所述应用程序接收应用程序校验和,其中,基于所述应用程序的源代码、所述应用程序的二进制和/或所述应用程序的编程流,从所述应用程序导出所述应用程序校验和;从所述安全模块中设置的可信存储模块检索与所述应用程序相关联的可信校验和;以及基于从所述应用程序接收的所述应用程序校验和以及所述检索到的可信校验和,来生成所述第一密码绑定。5.根据权利要求4所述的模块,其中,由所述应用程序生成所述应用程序校验和包括:所述应用程序被配置为利用SHA
‑
256散列函数来对所述应用程序的所述源代码进行散列操作,以生成所述应用程序校验和。6.根据权利要求1或2所述的模块,其中,由所述识别模块在所述应用程序和所述安全模块之间建立所述第一密码绑定包括:所述识别模块被配置为:从所述应用程序接收与所述应用程序相关联的数字签名,其中在每次编译所述应用程序的源代码时使用对所述应用程序唯一的私钥对所述应用程序的源代码进行签名时,生成所述数字签名;从所述安全模块中设置的可信存储模块检索与所述应用程序相关联的可信公钥;以及基于从所述应用程序接收的所述数字签名和与所述应用程序相关联的所检索的可信公钥,来生成所述第一密码绑定。
7.根据权利要求6所述的模块,其中,所述识别模块还被配置为:从所述应用程序接收应用程序校验和,其中基于所述应用程序的源代码从所述应用程序导出所述应用程序校验和;从所述安全模块中设置的可信存储模块检索与所述应用程序相关联的可信校验和;以及基于从所述应用程序接收的所述应用程序校验和、所述检索到的可信校验和、所述接收到的数字签名和所述检索到的可信公钥,重新生成所述第一密码绑定。8.根据权利要求4、5或6中任一项所述的模块,其中由所述识别节点基于所述第一密码绑定对所述应用程序的所述完整性的所述认证包括:所述识别节点被配置为当从所述密码绑定确定从所述应用程序获得的信息与预加载在所述安全模块中的与所述应用程序相关联的所述信息匹配时,认证所述应用程序的所述完整性。9.根据权利要求6所述的模块,其中,由所述识别模块对所述经认证的应用程序的动作的处理包括:所述识别模块被配置为:使用密码密钥签名算法,使用对所述应用程序唯一的私钥来签名所述动作;以及将所述经签名的动作和检索到的证书链传送到另一应用程序,由此在接收到所述经签名的动作和所述证书链后,所述另一应用程序被配置为基于接收到的证书链来验证所述经签名的动作。10.根据权利要求6所述的模块,其中所述动作包括由另一应用程序签名的请求和证书链,由此所述识别模块处理用于所述经认证的应用程序的所述动作包括:所述识别模块被配置为:基于所述证书链来验证所述经签名的请求;当确定所述经签名的请求已被验证时,执行所述请求内包含的指令;基于所执行的指令的结果来构造响应;使用对于所述应用程序唯一的私钥来签名所述响应;对所述经签名的响应加密,并将加密的经签名的响应传送到所述另一应用程序。11.根据权利要求1所述的模块,其中,由所述识别模块处理用于所述经认证的应用程序的所述动作包括:所述识别模块被配置为:基于所述动作的要求,从所述安全模块内设置的可信存储模块检索信任属性,并且其中,由已证明所述应用程序有资格被给予所述属性的可信第三方签名所述信任属性;基于检索到的信任属性,生成响应;以及将所生成的响应发送到另一应用程序,其中,在接收到所生成的响应时,所述另一应用程序被配置为使用包含在所述响应内的所述信任属性来执行安全事务。12.一种用于使用根据权利要...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。