《用于在计算机系统中实行资源访问控制的方法.pdf》由会员分享,可在线阅读,更多相关《用于在计算机系统中实行资源访问控制的方法.pdf(13页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103124975 A(43)申请公布日 2013.05.29CN103124975A*CN103124975A*(21)申请号 201180045940.7(22)申请日 2011.09.2612/890,040 2010.09.24 USG06F 21/62(2013.01)G06F 21/78(2013.01)G06F 12/14(2006.01)(71)申请人英特尔公司地址美国加利福尼亚州(72)发明人 MR萨斯特瑞 IT肖伊纳斯DM瑟马克(74)专利代理机构上海专利商标事务所有限公司 31100代理人毛力(54) 发明名称用于在计算机系统中实行资源访问控制的。
2、方法(57) 摘要一种用于实行对系统资源和资产的访问控制的方法和系统。与所述系统中发起事务的设备相关联的安全属性自动产生并与事务消息一起被转发。这些安全属性传递被分配给每个发起方的访问特权。一个或多个安全实行机制在该系统中实现,以依据访问各个系统资产和资源(诸如存储器、寄存器、地址范围等等)的访问策略要求来评估这些安全属性。如果由安全属性标识的特权表明该访问请求被许可,则允许该事务进行。发起方的安全属性方案提供了横跨系统设计的模块化的、一致的安全访问实行方案。(30)优先权数据(85)PCT申请进入国家阶段日2013.03.22(86)PCT申请的申请数据PCT/US2011/053216 2。
3、011.09.26(87)PCT申请的公布数据WO2012/040691 EN 2012.03.29(51)Int.Cl.权利要求书3页 说明书5页 附图4页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书3页 说明书5页 附图4页(10)申请公布号 CN 103124975 ACN 103124975 A1/3页21.一种方法,包括:在具有一个或多个处理核、通过其对处理核和存储器资源进行访问的存储器互连、以及耦合至所述存储器接口组件以向一个或多个IO设备提供IO接口的输入/输出(IO)互连的计算机系统中,实行安全访问机制,在所述安全访问机制下,由发起方设备发起的访问目标资源。
4、的事务包括定义与所述发起方设备相关联的访问特权的安全属性,所述安全属性依据针对所述目标资源定义的访问策略而被评估;以及如果所述安全属性表明所述发起方设备对所述目标资源的访问得到所述访问策略许可,则允许所述事务进行。2.如权利要求1所述的方法,其特征在于,还包括采用系统硬件来响应于所述系统中的事务的发起以产生安全属性。3.如权利要求1所述的方法,其特征在于,访问策略经由读取和写入策略寄存器来实行。4.如权利要求1所述的方法,其特征在于,还包括采用单个受信任实体来控制对策略数据进行访问的访问权。5.如权利要求1所述的方法,其特征在于,所述存储器互连包括采用存储器一致性的存储器结构。6.如权利要求1。
5、所述的方法,其特征在于,所述IO互连包括IO结构。7.如权利要求1所述的方法,其特征在于,所述系统包括芯片上系统(SoC),所述芯片上系统包括构成所述存储器互连的存储器结构和构成所述IO互连的IO结构。8.如权利要求1所述的方法,其特征在于,还包括通过以下操作来实行所述安全访问机制:对所述系统中的每个发起方设备分配访问角色,每个角色定义与所述角色相关联的访问特权,其中与由给定发起方发起的事务一起提供的安全属性包括标识与所述发起方设备相关联的角色的信息。9.如权利要求1所述的方法,其特征在于,所述存储器接口组件和所述IO接口组件中的至少一个采用第一协议,且所述系统包括采用第二协议的接口组件,所述。
6、方法还包括在所述第一和第二协议之间映射安全属性。10.一种芯片上系统(SoC),包括:存储器结构,包括存储器接口,存储器可操作耦合至所述存储器接口;一个或多个处理核,操作耦合至所述存储器结构;输入/输出(IO)结构,经由接口操作耦合至所述存储器结构,所述IO结构包括对多个IO设备的接口;以及安全访问机制,在所述安全访问机制下,与由发起方设备发起的访问所述SoC中的目标资源的事务相关联的资源访问请求包括定义与所述发起方设备相关联的访问特权的安全属性,所述安全属性依据针对所述目标资源定义的访问策略而被评估以确定所述事务是否被许可,其中所述发起方设备包括能经由所述SoC发起事务的设备,包括所述SoC。
7、中的内部设备和操作耦合至所述SoC的接口的IO设备,并且其中目标资源包括所述SoC中包括的存储器和寄存器资源、耦合至所述存储器结构和IO结构的存储器、以及经由所述IO设备能访问权 利 要 求 书CN 103124975 A2/3页3的存储器和寄存器资源。11.如权利要求10所述的SoC,其特征在于,还包括被配置成存储读取和写入许可数据的读取和写入策略寄存器,所述读取和写入许可数据用于基于与涉及对目标资源的读取或写入访问的事务相关联的安全属性来确定所述事务是否被允许。12.如权利要求11所述的SoC,其特征在于,还包括控制策略寄存器,所述控制策略寄存器被配置成存储标识受信任实体的数据,所述受信任。
8、实体被允许配置所述读取和写入策略寄存器。13.如权利要求10所述的SoC,其特征在于,还包括基于硬件的机制,所述基于硬件的机制用于产生由发起方设备发起的涉及经由所述SoC访问目标资源的每个事务的安全属性。14.如权利要求10所述的SoC,其特征在于,所述存储器结构和IO结构采用第一协议,所述SoC还包括:总线,经由相应的接口或桥耦合至所述存储器结构或IO结构中的一个,所述总线采用第二协议;以及映射机制,配置成在所述第一和第二协议之间映射安全属性信息。15.如权利要求10所述的SoC,其特征在于,所述安全访问机制采用基于角色的访问方案,在所述基于角色的访问方案下,访问特权与相应的角色相关联,并且。
9、每个发起方设备被分配访问角色,而且其中与发起方设备相关联的访问角色可通过与由所述设备发起的事务相关联的安全属性来标识。16.一种计算机系统,包括:芯片上系统(SoC),包括:存储器结构,包括存储器接口和核接口;一个或多个处理核,经由所述核接口操作耦合至所述存储器结构;输入/输出(IO)结构,经由接口操作耦合至所述存储器结构;以及存储器,经由所述存储器接口操作耦合至所述存储器结构;以及多个IO设备,操作耦合至所述IO结构,其中所述SoC还包括安全访问机制,在所述安全访问机制下,与由发起方设备发起的访问所述SoC中的目标资源的事务相关联的资源访问请求包括定义与所述发起方设备相关联的访问特权的安全属。
10、性,所述安全属性依据针对所述目标资源定义的访问策略而被评估以确定所述事务是否被许可,其中所述发起方设备包括能经由所述SoC发起事务的设备,包括所述SoC中的内部设备和通过接口连接至所述IO结构的IO设备,并且其中目标资源包括所述SoC中包括的存储器和寄存器资源、耦合至所述存储器结构和IO结构的存储器、以及经由所述IO设备能访问的存储器和寄存器资源。17.如权利要求16所述的计算机系统,其特征在于,所述存储器结构和IO结构采用第一协议,所述系统还包括:采用第二协议的总线,经由桥操作耦合至所述IO结构;以及所述桥中的映射器,在所述第一和第二协议之间映射安全属性数据。权 利 要 求 书CN 1031。
11、24975 A3/3页418.如权利要求16所述的计算机系统,其特征在于,还包括基于硬件的机制,所述基于硬件的机制用于产生由所述计算机系统中的发起方设备发起的每个事务的安全属性。19.如权利要求16所述的系统,其特征在于,还包括一个或多个读取和写入策略寄存器,所述一个或多个读取和写入策略寄存器被配置成存储用于实行访问策略的数据。20.如权利要求16所述的系统,其特征在于,所述安全属性由系统硬件自动产生并且不变。权 利 要 求 书CN 103124975 A1/5页5用于在计算机系统中实行资源访问控制的方法技术领域0001 本发明领域一般涉及计算机系统,更具体地但不排他地涉及用于在包括芯片上系统。
12、的计算机系统中实行资源访问控制的方法。0002 背景信息0003 与计算机系统有关的安全问题已成为日益严重的问题。病毒、木马、恶意软件等等是大多数计算机用户公知的常见威胁。该威胁级别是如此无处不在,以致产生了通过使用安全相关软件和服务(诸如反病毒、反间谍软件、防火墙软件等等)来对付这些问题的整个产业。0004 大多数安全攻击针对软件层面,并且被设计成访问各种操作系统或文件资源。例如,病毒可通过下载以隐藏方式包含病毒代码的可执行程序来获得对计算机系统文件的访问权。为了防止这种类型的攻击,可使用反病毒软件来“扫描”下载的文件以查找已知或可疑的代码。作为安全威胁的结果,许多用户采用安全软件。0005。
13、 虽然较为少见,但安全攻击也会在硬件层面进行。然而,不存在防止对系统层面的硬件资源和资产(诸如配置寄存器、范围寄存器等等)的访问的安全软件的等价物。因此,系统体系结构设计了各种基于硬件和固件的安全措施以用于控制对重要的系统资源的访问。这通常基于每个系统来完成,从而导致设计、调试和验证工作的重复以及横跨系统设计的不一致的安全管理。0006 附图简述0007 通过参照结合附图的以下详细描述,本发明的上述方面和许多伴随优点将变得更加容易理解,而且本发明也变得更好理解,在全部附图中,相同的附图标记表示相同的部件,除非另作说明。0008 图1是示出示例性的芯片上系统体系结构和与由该系统中的设备发起的事务。
14、相关联的相应通信路径的系统示意图;0009 图2示出根据本发明的一个实施例的采用策略寄存器的安全访问机制的概览;0010 图3示出根据本发明的一个实施例的读取和写入策略寄存器的示例性集合;0011 图4示出根据本发明的一个实施例的示例性控制策略寄存器;0012 图5示出图1的SoC,进一步包括实现专有协议的总线和用于在该专有协议与由SoC结构采用的协议之间映射安全属性的映射器;以及0013 图6示出根据本发明的一个实施例的示例性事务和利用图1的SoC的相关联的安全访问实行机制设施。具体实施方式0014 本申请中描述了用于实行资源访问控制的方法和装置的实施例。在以下描述中,阐述了许多具体细节以提。
15、供对本发明的实施例的透彻理解。然而,本领域技术人员将领会,本发明可以在没有这些具体细节中的一个或多个细节下、或者通过其他方法、组件、材料等来实践。在其他实例中,没有详细示出或描述公知的结构、材料、或操作以免模糊本发明的说 明 书CN 103124975 A2/5页6诸方面。0015 在本说明书通篇中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在本说明书通篇中各处出现的短语“在一个实施例中”或“在实施例中”不一定全部指的是同一实施例。而且,特定特征、结构、或特性可按照任何合适的方式在一个或多个实施例中组合。0016 图1中示。
16、出了与示例性的芯片上系统(SoC)100相对应的体系结构。SoC100包括一个或多个处理器芯102,每个处理器芯102包括耦合至存储器结构106的本地高速缓存104。SoC100还包括耦合至存储器110的一个或多个加速器108,存储器110又经由核接口112耦合至存储器结构106。存储器结构106还包括存储器接口114和朝南接口116。存储器接口114便于与动态随机存取存储器(DRAM)118的通信。0017 朝南接口116提供存储器结构与IO结构120之间的互连。IO结构120支持与各个IO设备(通过设备122和124示出)的输入/输出(I/O)通信,各个IO设备分别耦合至相应的存储器126。
17、和128。IO结构120还提供静态随机存取存储器(SRAM)130与系统组件的余下部分之间的接口。0018 在SoC100的操作期间,各个系统组件可访问由其它组件/设备保持或提供的SoC资产。例如,处理器102可访问DRAM118、加速器108、存储器110、设备124、存储器128以及SRAM130中的每一个,如相应的通信路径设备132、134、136、138、140和142所描绘的。类似地,各个IO设备可访问诸如设备和存储器资源之类的其它资产,如通信路径144、146、148、150和152所描绘的。0019 处理器核、加速器以及设备彼此交互以处理由SoC100处理的工作负荷。该交互通过访。
18、问与核、加速器和设备相关联的存储器和存储资源和/或寄存器以及诸如DRAM118、SRAM130等等之类的公共存储器资源而部分地得以促进。发起这样的系统资源访问请求的组件在本申请中被称为“发起方”。0020 如图1的体系结构中可见的,诸如处理器核102和加速器108之类的一些发起方包括构建到SoC100中的内部组件,而诸如IO设备122和124之类的其它发起方可以在SoC内部或外部(取决于它们的特定功能)。可通过SoC中的内部或外部发起方来尝试访问内部或外部资源的软件和固件实体也在SoC外部。因此,不同的可信赖程度的工作负荷可同时执行。0021 SoC100包括必须得到保护以避免遭到未经授权访问。
19、的数据和硬件资产,诸如配置寄存器、范围寄存器等等。当前,对于每个SoC,对这些数据和硬件资产的控制由该SoC的特定体系结构以自组织和零碎的方式来处理。以前,在SoC结构和接口中不存在对毫无疑义地确定发起方的特权的全面支持。0022 SoC体系结构的进来发展已经引入了支持横跨内部(例如经由存储器结构106)和外部(例如经由IO结构120)存储器资源的一致性的存储器和IO结构。这通过存储器访问和一致性框架而部分地得以促进。在一些实施例中,该框架用于限定统一的访问控制体系结构,该统一的访问控制体系结构可横跨SoC体系结构实现以按照一致的方式来支持对资源的访问。在一个实施例中,存储器结构106和IO结。
20、构120快速通道互连(QPI)框架。一般而言,存储器结构和IO结构中的每一个包括具有相应的控制逻辑的互连,该控制逻辑用于促进连接至互连的设备与资源之间的事务。在一个实施例中,安全属性被说 明 书CN 103124975 A3/5页7分配给主体/发起方,且用于确定发起方的访问权限(即读、写、不可访问等等)。发起方或SAI的这些安全属性表示用于作出访问决策的发起方的不可变的属性。在一个实施例中,这些安全属性由SoC硬件产生,并且必须伴随每次事务。在一个实施例中,将读取和写入访问策略寄存器用于实现策略。此外,在一个实施例中,采用控制策略寄存器,该控制策略寄存器确定什么实体或多个实体可配置读取和写入策。
21、略寄存器。0023 图2示出基于SAI的安全方案的示例性实现的概览。在该示例下,示出发起方I0、I1、In访问对象O0、O1、On。用于对耦合至存储器结构106的对象的访问(即基于结构的访问)的访问控制经由存储器结构读取和写入策略寄存器200和202得以促进。类似地,用于对诸如IO设备之类的外部目标的访问(即基于目标的访问)的访问控制经由读取和写入策略寄存器204和206得以促进。0024 在图2的示例中,主体S0想要对耦合至存储器结构106的对象O0(未示出)执行读取访问。发起方I0、I1、In中的每一个被分配一组安全属性SA,该组安全属性SA定义了如由SAI安全方案经由相关联的策略寄存器所。
22、实行的每个发起方的访问权限。如下文中更详细描述那样,影响适用于主体的该组安全属性SA的信息与由该主体发起的每个访问消息一起被转发。策略寄存器存储安全属性数据,用于安全地控制对相应对象的访问。如果发起方主体的安全属性匹配访问一对象的安全属性,则允许进行该事务。反之,如果发起方主体没有正确的安全属性(如经由与其访问消息一起转发的SAI信息而标识),则该事务被拒绝,并向发起方主体返回相应的消息。0025 访问控制体系结构0026 如上所述,定义了术语“发起方安全属性(SAI)”来表示用于进行访问决策的主体或发起方的不可变属性。在一个实施例中,这些属性由硬件实体产生,且伴随由相应的主体或发起方发起的每。
23、个事务。与源ID不同,SAI在桥之间不会改变;它们保持直至策略实行时。策略寄存器用于定义对资产的读取和写入访问的策略,且用于限制能配置或更新这些策略的实体。在一个实施例中,访问控制体系结构由以下构建块组成:SAI、SAI产生器、SAI映射器、读取策略寄存器、写入策略寄存器以及控制策略寄存器。此外,在一个实施例中,使用包装器来针对外部端口实行SAI,以确保它们的访问被正确地表征。0027 SAI0028 发起方的安全属性或SAI表示发起方(和主体)的、被检查以确定对SoC平台中的目标的访问权的不可变属性。在一个实施例中,这些属性包括角色、设备模式和系统模式。发起方可具有这些属性的任何组合。角色被。
24、分配给具有类似特权的一组主体/发起方。角色是静态的且由SoC体系结构分配。在一个实施例中,角色到主体/发起方的映射可以是以下项中的任一个:0029 R0.n-S0.n:每个主体/发起方可能具有其自己唯一的角色。0030 R0-S0.n:多个主体/发起方可能分在同一角色下。0031 R0.n-S0:多个角色可被分配给同一主体/发起方。0032 设备模式是动态的,并且捕捉设备的当前内部模式。例如,该模式可以是安全或正常模式。系统模式是动态的,并表明由处理器核驱动的模式。在一个实施例中,处理器核是基于Intel32或64位体系结构(在本产业内称为IA)的IA核。例如,系统模式可以处于SMM(系统管理。
25、模式)或安全模式,等等。此外,对于多线程发起方,定义用于指示当前线程说 明 书CN 103124975 A4/5页8的上下文属性;这些属性将会伴随SAI。0033 SAI产生器0034 SAI是由SoC硬件产生并由输入参数包括角色、设备以及系统模式的函数产生的编码。SAI的解释对于每个SoC是专属的,并且由SoC体系结构定义。作为示例实现,在示例7位SAI编码下,位6被设置为1可表明由处理器核进行的访问。如果位6被设置为0,则位5-0可用于编码设备访问。例如,1000001b表示IA核访问,并且0010000b表示设备访问。当然,这仅仅是示例性的,因为SAI编码的多个位及其格式可由该体系结构来。
26、配置。0035 SAI映射器0036 在一些SoC中,I/O设备连接至非厂商(即并未该SoC的厂商)或传统厂商结构。例如,一些SoC可包含OCP(开放核协议)、AMBA(高级微控制器总线体系结构)、IOSF(英特尔芯片上系统结构)或其他专有总线协议。SAI映射器负责将伴随由SoC厂商的标准结构中的代理产生的事务的安全属性或SAI映射至可在SoC专属设备域(例如OCP域)中解释的安全属性。类似地,对于由非提供商结构中的设备产生的上游事务,由设备产生的安全属性必须被映射至可在存储器/一致性和IOSF域中解释的SAI。典型地,这些映射器可通过将一个结构协议映射至另一结构协议的桥来实现。在一些实施例中。
27、,这些映射器在硬件中安全地映射,并且不可被操纵。0037 SAI映射器的示例性实现在图5中示出。在此示例中,诸如OCP、AMBA、IOSF等等之类的非厂商或传统厂商总线500经由桥502耦合至IO结构120。具有存储器506的一个或多个设备504耦合至总线500,其中对这些设备的访问是根据由总线502执行的协议。同时,对访问连接至SoC100中的存储器结构106和IO结构120的资产和资源的事务实现不同的协议。为了促进连接至总线500和SoC100的设备之间的事务,桥502采用SAI映射器508来映射两个协议之间的SAI数据。0038 读取和写入策略寄存器0039 读取和写入策略寄存器包含由S。
28、oC体系结构针对每个发起方定义的读取和写入许可。伴随该交易的SAI作为策略寄存器的索引。作为示例,在一个实施例中,在存储器结构中定义了32位的读取和写入策略寄存器。相应的一对读取和写入策略寄存器300和302在图3中示出,其中1表示访问得到允许,而0表示访问被拒绝。一般而言,SAI宽度是n位。n的值可能在代与代之间改变,和/或在产品之间不同。在一个实施例中,编码空间是2(n-1),其中n位中的一位用于区分核与设备编码。使用32位寄存器仅仅是示例性的,因为实际编码一般将是产品专属的。对发起方的SAI分配是灵活的,并且取决于特定产品。例如,可以针对每个发起方存在一个SAI或每个发起方多个SAI,或。
29、将多个发起方分组成一个SAI。0040 上述采用位向量并利用32位寄存器的示例仅仅是用于实现读取和写入许可的一种技术。也可容易地采用其他技术,包括采用更长或更短位向量的方案、包括利用一个或多个寄存器或模拟存储机制实现的许可规则的分层的方案、以及可通过硬件、微代码、固件等等实现的各种其他许可逻辑。0041 控制策略寄存器0042 控制策略寄存器的内容定义被允许配置读取和写入策略寄存器的受信任实体。控制策略寄存器是自引用(self-referential)寄存器;控制策略寄存器中指定的SAI被允许说 明 书CN 103124975 A5/5页9修改读取和写入寄存器策略以及重写控制策略寄存器的内容。。
30、通过允许单个受信任实体配置控制策略寄存器,其含义是对策略寄存器的访问被锁定至所有其他代理。由SAI在控制策略寄存器中指定的实体可选择对能配置策略寄存器以使其超越加电/重启时加载的初始值的代理的组进行扩展,或者受信任实体可向控制策略寄存器写入0,从而将其锁定直至下一次系统重启/加电。这提供了SoC体系结构执行锁定策略寄存器直至下一次重启或允许该策略在运行时间由受信任实体更新的灵活性。图4中示出了示例性的32位控制策略寄存器400。0043 图6描绘安全地实行对存储器的设备访问的示例。在该示例下,设备122发起访问DRAM118的事务(例如读取或写入)。在I/O桥152处,经由桥硬件产生适当的SA。
31、I;这些SAI将与事务消息一起横跨接口转发,直至到达适用的安全实行实体(在此情况下为存储器结构106中的策略寄存器156)。在策略寄存器156处,将根据事务类型(例如读取或写入)依据适用的策略寄存器对SAI进行检查和评估。0044 本申请中公开的SAI安全访问实行方案提供优于当前方法的许多优势。它定义了可横跨SoC设计一致地采用的一致的访问控制构建块,诸如SAI产生器、SAI映射器、策略寄存器等等。它按照一致的方式应用于SoC结构。这些益处是通过将不变的属性(SAI)与每个事务相关联来实现的。通过在现有的事务消息格式内转发SAI数据,可在诸如QPI之类的现有的互连框架内实现对添加访问安全手段的。
32、支持。SoC可使用SAI信息来对由以SoC资产(诸如存储器、非计算核寄存器、I/O设备等等)为目标的所有发起方产生的事务实行访问控制。SAI可用于在处理器运行在特定模式下时允许对专属I/O设备的存储器区域的排它访问,或允许对SoC资产的排它访问。访问控制体系结构是允许评估一致和模块化的框架内的所有访问控制决策的新的功能强大的范例。通过横跨互连不变地传输SAI信息,我们简化了访问控制断言的设计、调试以及验证,因为发起方安全角色横跨缓冲事务的所有微体系结构立即可用。0045 所示出的本发明的实施例的以上描述(包括摘要中描述的内容)不旨在穷举本发明或将本发明限制为所公开的精确形式。虽然本文中为了说明目的描述了本发明的特定实施例和示例,但本领域普通技术人员将认识到,在本发明范围内的各种等价修改是可能的。0046 鉴于以上详细描述,可对本发明作出这些修改。所附权利要求中所使用的术语不应当被理解成将本发明限制为在说明书和附图中公开的具体实施例。相反,本发明的范围应当完全根据所附权利要求书来确定,权利要求书应当根据权利要求解释的既定规则来理解。说 明 书CN 103124975 A1/4页10图1说 明 书 附 图CN 103124975 A10。