【技术实现步骤摘要】
【国外来华专利技术】安全区交互相关申请的交叉引用本申请要求于2018年4月30日提交的美国临时申请No.62/664,463的申请日的权益,其公开内容通过引用合并于此。
技术介绍
安全区技术可以使软件程序员能够开发安全的应用,这些应用被包含在称为安全区(enclave)的安全执行环境中。能够通过代码身份来识别安全区。安全区的代码身份封装安全区编写者对安全区行为的预期,并且通常包括关于正在安全区内部运行的代码、在其中运行代码的环境以及影响代码执行的任何附加参数的密码信息。安全区代码身份是由安全区执行的许多安全操作的基础。在安全区内部运行的应用通常具有像存储器和代码完整性及存储器加密一样的保护措施。这些保护措施保护安全区免受在其外部执行的代码例如操作系统或管理程序的影响。附加地,安全区能够提供它们正在运行的代码的可验证证明。这是在安全区系统内启用信任的关键安全性属性。利用这些保护和安全性保证,程序设计员能够编写应用,该应用首先验证它确实在运行预期代码,执行一些安全性敏感的计算,并且将任何附加应用秘密供应到安全区中或从安全区中提取任何附加应用秘密。像这样的单安全区系统对简单应用来说是足够的,在简单应用中,应用逻辑是自包含的并且不需要与外部实体进行通信。然而,这种相同的安全性并未很好地转化到涉及多个本地和远程安全区实体的更复杂系统。一些系统也提供秘密密封,该秘密密封允许对秘密进行加密,使得仅具有特定身份的实体才能够打开它。前述安全区技术可以提供用于供应被绑定到安全区的身份的指定子集的密钥的硬件支持。这可以授予安全区密封秘密使得它们仅能够由在同 ...
【技术保护点】
1.一种用于安全区实体对第二实体进行认证的方法,所述方法包括:/n由所述安全区实体的主机计算设备的一个或多个处理器接收请求和对所述第二实体的身份的断言,所述断言包括用于第二身份的身份信息;/n由所述一个或多个处理器使用所述安全区实体的断言验证器来确定所述断言是否有效;/n当所述断言有效时,由所述一个或多个处理器提取所述身份信息;/n由所述一个或多个处理器使用用于所述安全区实体的访问控制列表来对所述第二实体进行认证以确定所述身份信息是否满足所述访问控制列表的预期;以及/n当所述身份信息满足所述访问控制列表的预期时,由所述一个或多个处理器完成所述请求。/n
【技术特征摘要】
【国外来华专利技术】20180430 US 62/664,4631.一种用于安全区实体对第二实体进行认证的方法,所述方法包括:
由所述安全区实体的主机计算设备的一个或多个处理器接收请求和对所述第二实体的身份的断言,所述断言包括用于第二身份的身份信息;
由所述一个或多个处理器使用所述安全区实体的断言验证器来确定所述断言是否有效;
当所述断言有效时,由所述一个或多个处理器提取所述身份信息;
由所述一个或多个处理器使用用于所述安全区实体的访问控制列表来对所述第二实体进行认证以确定所述身份信息是否满足所述访问控制列表的预期;以及
当所述身份信息满足所述访问控制列表的预期时,由所述一个或多个处理器完成所述请求。
2.根据权利要求1所述的方法,其中,所述第二实体是非安全区实体。
3.根据权利要求1所述的方法,其中,所述第二实体是第二安全区实体。
4.根据权利要求1所述的方法,其中,当所述断言无效时,拒绝所述请求。
5.根据权利要求1所述的方法,其中,当所述身份信息不满足所述访问控制列表的预期时,拒绝所述请求。
6.根据权利要求1所述的方法,进一步包括:
使用所述安全区实体的断言生成器来生成包括用于所述安全区实体的身份信息的第二断言;以及
将所述第二断言发送到所述第二实体以进行验证。
7.根据权利要求1所述的方法,其中,所述断言验证器包括用于验证断言并且从经验证的断言中提取身份的指令。
8.根据权利要求1所述的方法,其中,所述断言验证器提供指示所述断言是否有效的布尔响应。
9.根据权利要求1所述的方法,进一步包括,使用身份访问控制列表评估器来确定所述身份信息是否满足所述访问控制列表的预期,其中,所述身份访问控制列表评估器包括用于对由实体拥有的身份集进行操作并且对照访问控制策略来评估该身份集的指令。
10.根据权利要求9所述的方法,其中,所述身份访问控制列表评估器提供指示所述身份信息是否满足所述访问控制列表的预期匹配的布尔响应。
11.根据权利要求10所述的方法,其中,所述访问控制列表包括安全区身份预期的表达式,并且所述身份预期用于确定所述身份信息是否满足所述访问控制列表的预期。
12.根据权利要求10所述的方法,其中,所述安全区身份预期经由一个或多个逻辑运算被配置为包括两个或更多个身份预期的谓词。
13.根据权利要求10所述的方法,其中,每个身份预期包括参考身份和匹配规范,并且其中,至少一个参考身份和至少一个匹配规范用于确定所述身份信息是否满足所述访问控制列表的预期。
14.根据权利要求1所述的方法,其中,所述安全区实体包括安全区服务器,所述安全区服务器包括被配置成接收并完成所述请求的指令,并且其中,所述安全区服务器用于完成所述请求。
15.根据权利要求1所述的方法,其中,所述身份信息包括身份描述,所述身份描述将所述断言的身份分类为由所述安全区实体支持的身份类型并且识别负责处理该身份类型的身份的机构。
16.根据权利要求15所述的方法,其中,所述机构用于识别所述断言验证器以便确定所述断言是否有效。
17.根据权利要求15所述的方法,其中,所述机构用于识别库以便确定所述身份信息是否满足所述访问控制列表的预期。
18.根据权利要求15所述的方法,其中,所述机构用于识别包括接口的插件以便确定所述断言是否有效并且以便确定所述身份信息是否满足所述访问控制列表的预期。
19.根据权利要求1所述的方法,其中,所述安全区实体和所述第二实体位于所述主机计算设备的本地存储器中。
20.根据权利要求1所述的方法,其中,所述第二实体位于第二主机计算设备的本地存储器中,所述第二主机计算设备与所述主机计算设备不同。
21.一种在安全区实体与第二实体之间建立通信信道的方法,所述方法包括:
由所述安全区实体的主机计算设备的一个或多个处理器从所述第二实体接收要发起所述通信信道的请求;
由所述一个或多个处理器与所述第二实体协商用于所述通信信道的记录协议和用于以密码方式保护在所述通信信道上发送的业务的秘密密钥;以及
在所述协商完成之后,利用使用所述记录协议并且使用所述秘密密钥的所述通信信道与所述第二实体进行通信以对在所述通信信道上交换的数据进行加密和认证。
22.根据权利要求21所述的方法,进一步包括由所述一个或多个处理器进行证明和认证过程以验证所述第二实体的身份,其中,所述过程包括:
接收所述第二实体的身份的断言;以及
验证所述第二实体的身份。
23.根据权利要求22所述的方法,其中,所述证明和认证过程进一步包括将所述安全区实体的身份的断言发送到所述第二实体。
24.根据权利要求22所述的方法,其中,协商所述记录协议在进行所述证明和认证过程之前发生。
25.根据权利要求22所述的方法,进一步包括在进行所述证明和认证过程之前协商身份的一种或多种类型的断言,使得在所述断言和认证过程中使用所述身份的一种或多种类型的断言。
26.根据权利要求25所述的方法,其中,协商身份的一种或多种类型的断言包括识别所述安全区实体能够做出并验证的一种或多种类型的断言。
27.根据权利要求25所述的方法,其中,协商身份的一种或多种类型的断言包括接收所述第二实体能够做出并验证的一种或多种类型的断言。
28.根据权利要求21所述的方法,其中,所述请求作为对所述安全区实体的远程过程调用被接收。
29.根据权利要求21所述的方法,其中,所述记录协议是消息传递协议,所述消息传递协议用于在使用所述通信信道与所述第二实体进行通信时发送应用级数据。
30.根据权利要求21所述的方法,进一步包括由所述一个或多个处理器进行认证和授权过程...
【专利技术属性】
技术研发人员:安娜·萨派克,乌代·萨瓦岗卡尔,杰弗里·托马斯·安德森,托马斯·迈克尔·罗德,
申请(专利权)人:谷歌有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。