基于远程密钥的存储器缓冲区访问控制机制制造技术

技术编号:11679518 阅读:71 留言:0更新日期:2015-07-06 12:22
本申请公开了实现可撤销的安全远程密钥的系统和方法。多个编索引的基础秘密存储在与本地存储器耦合的本地节点的协同处理器的寄存器中。当确定所选择的基础秘密过期时,基于基础秘密索引存储在寄存器中的基础秘密改变,从而使得基于过期的基础秘密生成的远程密钥无效。具有验证数据和基础秘密索引的远程密钥从请求访问该本地存储器的节点接收。验证基础秘密基于基础秘密索引从寄存器获得。协同处理器基于验证基础秘密对验证数据执行硬件验证。如果与基础秘密索引相关联的基础秘密已经在所选择的协同处理器的寄存器中改变了,则硬件验证失败。

【技术实现步骤摘要】
【国外来华专利技术】基于远程密钥的存储器缓冲区访问控制机制相关申请的交叉引用;权益要求根据35U.S.C.§119(e),本申请要求于2012年10月2日提交的临时申请61/709,142的权益,其全部内容通过引用被结合于此,如同在此作了全面阐述一样。于2013年2月27日提交的苹果公司申请No.13/778,307以及于2013年5月15日提交的专利技术人为SanjivKapil等人、专利技术名称为“MEMORYBUSPROTOCOLTOENABLECLUSTERINGBETWEENNODESOFDISTINCTPHYSICALDOMAINADDRESSSPACES”的苹果公司申请No.13/838,542(代理卷号No.50277-4032)的全部内容通过引用被结合于,如同在此作了全面阐述一样。
本专利技术一般地涉及硬件计算设备。更具体地,本专利技术涉及基于远程密钥的存储器缓冲区访问控制机制。
技术介绍
个体处理器速度伴随着新技术而持续增大。通过利用多个处理器的节点的集群还可获得更高的性能。例如,数据库系统通常将数据库的多个部分分布在集群中的若干节点上,以便提高性能和提供可升缩性。多个节点的使用要求用于在节点之间共享数据的方法。集群可以配置为相干(coherent)存储集群或计算集群。相干存储集群上的节点共享物理存储器。共享物理存储器允许集群上的每个节点非常快速地通信。为了在共享的存储集群上的两个节点之间发送和接收消息,一个节点将会将数据写到该共享的存储器而另一节点将从该共享的存储器读取数据。然而,相干存储集群昂贵且共享存储器的大小有限。计算集群上的节点不共享物理存储器。计算集群上的节点之间的通信可以通过消息传送来执行。并且,计算节点可能需要重新组装进入的消息并将重新组装的消息存储在节点的主存储器中。通常,计算集群上的节点通过公共的总线进行通信,诸如以访问另一节点本地的存储器。共享总线结构的一个缺点是公共的总线在节点间通信排队并竞争对公共总线的使用时变成限制性能的元件。一旦公共总线饱和或接近饱和,则通过增加额外的节点仅实现非常小的性能提升。克服共享总线结构的缺点的一种技术涉及节点对之间的专用高速点对点通信链路。然而,需要复杂的分层通信协议来保证准确的鲁棒的通信。在通信路径上的每个节点处,接口处理器必须执行该复杂的协议以及翻译和验证源地址和目的地地址。执行这些通信任务降低性能,因为接口处理器一般比主CPU要慢得多,还因为该接口与相应节点的存储器之间的耦合较差。因此,使用共享总线结构,性能还是受限。本节描述的方法是能够实行的方法,但不一定是之前已经构想到或实行的方法。因此,除非另外指明,不应当认定,在本节中描述的任何方法仅因为其被包括在本节中就构成现有技术。附图说明图1是图示出与本文描述的基于远程密钥的存储器缓冲区访问控制机制的实施例兼容的系统的节点的框图;图2是根据本文描述的基于远程密钥的存储器缓冲区访问控制机制的远程密钥的实施例的框图;图3是根据本文描述的基于远程密钥的存储器缓冲区访问控制机制的注册表数据的实施例的框图;图4图示出根据本文描述的基于远程密钥的存储器缓冲区访问控制机制的节点之间的地址空间的模型;图5是图示出根据本文描述的基于远程密钥的存储器缓冲区访问控制机制验证远程密钥的方法的实施例的流程图;图6是图示出根据本文描述的基于远程密钥的存储器缓冲区访问控制机制使用可切块的基础秘密来验证远程密钥的方法的实施例的流程图;图7图示出根据本文描述的基于远程密钥的存储器缓冲区访问控制机制的节点之间的命令操作;具体实施方式在以下描述中,为了说明的目的,阐述了大量具体细节以提供对本专利技术的透彻理解。但是,显而易见的是,本专利技术可以在没有这些具体细节的情况下实行。在其它实例中,公知的结构和设备以框图形式示出以便避免对本专利技术不必要的混淆。概览公开了实现可撤销的安全远程密钥的系统和方法。多个编索引的基础秘密存储在与本地存储器耦合的本地节点的协同处理器的寄存器中。这里使用的“基础秘密(basesecret)”是指可用作密钥的任何数据。当确定所选择的基础秘密应当被无效时,基础秘密在寄存器中被改变,从而使得基于过期的基础秘密生成的远程密钥无效。当远程节点请求访问本地节点的本地存储器时,其包括远程密钥,远程密钥包括验证数据和基础秘密索引。该本地节点的协同处理器使用基础秘密索引从寄存器获得验证基础秘密。协同处理器基于验证基础秘密对远程密钥中的验证数据执行硬件验证,例如,不使用任何软件指令或编程API辅助来执行该验证。如果与基础秘密索引相关联的基础秘密已经在所选择的协同处理器的寄存器中改变了,则硬件验证失败。在密钥过期之后,针对与远程密钥相关联的物理存储器位置准予的权限被撤销,并且访问需要新密钥。可撤销密钥允许具有事务级安全性的可撤销存储器访问能力。物理存储器地址空间不被暴露在本地物理域外面。这种类型的访问对于节点之间的消息传送和数据共享是有用的。协同处理器被配置为执行远程密钥的硬件验证和数据有关的命令的硬件执行,提高与节点之间的进程间通信和存储器数据访问有关的消息吞吐量。图1是图示出与本文描述的基于远程密钥的存储器缓冲区访问控制机制的实施例兼容的系统的节点的框图。分布式共享存储系统100包括多个节点102A-102N。节点102A-102N驻留在两个或多个物理域中。在一个实施例中,每个物理域对应于节点102A-102N中的一个。节点可以具有一个或多个处理套接口,每个处理套接口包括至少一个协同处理器106A-106N。在一个实施例中,至少一个节点102A-102N可以具有另外的处理套接口。节点102A-102N每个具有每个节点102A-102N本地的存储器116A-116N。这里使用的术语“存储器”可以指代与永久地址空间、非永久地址空间或其任意组合相关联的任何计算机存储介质,包括但不限于易失性存储器、非易失性存储器、软盘、磁存储介质、光存储介质、RAM、PROM、EPROM、FLASH-EPROM、任何其它存储芯片或盒,或计算机可以读取的任何其它介质。当本地存储器116A-116N是指永久地址空间时,节点102A-102N是存储节点。当本地存储器116A-116N是指非永久地址空间时,节点102A-102N是计算节点。每个节点102A-102N还包括至少一个主处理器108A-108N以及至少一个协同处理器106A-106N。每个节点102A-102N的主处理器108A-108N和协同处理器106A-106N被配置为访问物理域本地的本地存储器116A-116N。例如,每个处理器108A-108N可以包括到相应物理存储器116A-116N的存储器接口112A-112N,并且每个协同处理器106A-106N可以包括到相应物理存储器116A-116N的存储器接口110A-110N。存储器接口110A-112N可以经由总线114来访问相应本地存储器116A-116N。协同处理器106A-106N包括数字电路,数字电路被硬连线来执行一组功能或被永久编程来执行该组功能。所述功能是独立于被配置为通过运行软件指令集或程序来执行功能的通用处理器诸如主处理器108A-108N而执行的。这里使用的术语“协同处理器”是指区别的处理实体,而不一定是与CPU或其它处理器本文档来自技高网...
基于远程密钥的存储器缓冲区访问控制机制

【技术保护点】
一种设备,包括:本地节点,包括本地存储器和与本地存储器耦合的至少一个协同处理器,每个协同处理器包括寄存器;多个基础秘密,其中,所述多个基础秘密中的每个基础秘密与一基础秘密索引相关联,其中,每个寄存器被配置为基于基础秘密索引来存储所述多个基础秘密;至少一个主处理器,被配置为执行软件指令,所述软件指令使得所述至少一个主处理器基于与所选择的基础秘密相关联的所选择的基础秘密索引来改变寄存器中的所选择的基础秘密;其中,从所述至少一个协同处理器中选择的所选择的协同处理器被配置为:接收第一远程密钥,第一远程密钥包括第一基础秘密索引和基于第一基础秘密生成的第一验证数据,其中,第一远程密钥是从请求访问所述本地存储器的第一节点接收的;基于第一基础秘密索引获取存储在所选择的协同处理器的寄存器中的验证基础秘密;基于验证基础秘密对第一验证数据执行硬件验证,其中,当与第一基础秘密索引相关联的基础秘密已经在所选择的协同处理器的寄存器中改变了时,硬件验证失败;在对第一验证数据的成功硬件验证之后向第一节点准予对所述本地存储器的访问。

【技术特征摘要】
【国外来华专利技术】2012.10.02 US 61/709,142;2013.03.15 US 13/839,5251.一种用于存储器访问的设备,包括:本地节点,包括本地存储器和与本地存储器耦合的至少一个协同处理器,每个协同处理器包括寄存器,其中每个寄存器被配置为存储用于生成和验证远程密钥的多个基础秘密,其中,所述多个基础秘密中的每个基础秘密与一基础秘密索引相关联,其中,每个寄存器被配置为基于基础秘密索引来存储所述多个基础秘密;至少一个主处理器,被配置为执行软件指令,所述软件指令使得所述至少一个主处理器基于与所选择的基础秘密相关联的所选择的基础秘密索引来改变寄存器中的所选择的基础秘密;其中,从所述至少一个协同处理器中选择的所选择的协同处理器被配置为:从第一节点接收访问所述本地存储器的请求,所述请求包括第一远程密钥,第一远程密钥包括第一基础秘密索引和基于第一基础秘密生成的第一验证数据;基于第一基础秘密索引获取存储在所选择的协同处理器的寄存器中的验证基础秘密;基于验证基础秘密对第一远程密钥中的第一验证数据执行硬件验证而不使用任何软件指令或编程API辅助来执行所述硬件验证,其中,当与第一基础秘密索引相关联的基础秘密已经在所选择的协同处理器的寄存器中改变了时,所述硬件验证失败;在对第一远程密钥的成功认证之后,根据所述请求访问所述本地存储器。2.如权利要求1所述的设备,其中,第一验证数据包括使用第一基础秘密作为密钥生成的散列字段。3.如权利要求1所述的设备,其中,所选择的协同处理器还被配置为:生成第二远程密钥,第二远程密钥包括第二基础秘密索引和基于第二基础秘密生成的第二验证数据,第二基础秘密基于第二基础秘密索引存储在所选择的协同处理器的寄存器中;向第二节点发送第二远程密钥以向第二节点准予对所述本地存储器的访问,其中,只要第二基础秘密仍然没变,则第二节点被授权访问与第二远程密钥相关联的本地存储器的一部分。4.如权利要求1所述的设备,其中,所选择的协同处理器还被配置为:发送访问与第三节点相关联的远程存储器的请求,所述请求包括从第三节点接收的第三远程密钥。5.如权利要求1所述的设备,其中,第一远程密钥是从第一节点的软件管理程序接收的。6.如权利要求1所述的设备,其中,所述多个基础秘密中的至少一个基础秘密是切块式的基础秘密,其中,每个切块式的基础秘密被分割成多个切块,每个切块能够独立于所述切块式的基础秘密中的其他切块被无效。7.如权利要求6所述的设备:其中,所选择的协同处理器的寄存器还被配置为存储切块验证数据;其中,第一基础秘密是切块式的基础秘密;其中,第一远程密钥还包括识别与第一基础秘密相关联的切块的第一切块索引;其中,第一远程密钥的所述硬件验证还基于第一切块索引和所述切块验证数据;其中,所述软件指令还使得所述至少一个主处理器修改与所选择的切块式的基础秘密的所选择的切块对应的切块验证数据以指示与所选择的切块式的基础秘密的所选择的切块相关联的远程密钥无效。8.如权利要求7所述的设备,其中,所述切块验证数据包括与每个切块式的基础秘密相关联的位数组,其中,每个位数组的每个位值对应于针对相关联的切块生成的远程密钥的有效性。9.如权利要求7所述的设备,其中与给定切块索引和给定的切块式的基础秘密相关联的切块验证数据在不改变所述给定的切块式的基础秘密的情况下不能从无效变为有效。10.如权利要求6所述的设备:其中,所述至少一个协同处理器的每个寄存器存储相同的切块验证数据;其中,所述软件指令还使得所述至少一个主处理器在修改所述切块验证数据之后更新存储在寄存器上的所述切块验证数据。11.如权利要求1所述的设备:其中,第一远程密钥还包括高速缓存指示符,其指示来自第一节点的请求中包含的命令应当被高速缓存;其中,所选择的协同处理器还被配置为基于所述高速缓存指示符来有选择地高速缓存来自第一节点的命令和相关联的数据...

【专利技术属性】
技术研发人员:S·卡皮尔G·F·斯沃特A·安格冉W·H·布瑞治S·加拉斯J·G·约翰逊
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国;US

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

1