中间装置和网络之间的安全通信

文档序号:1909810 发布日期:2021-11-30 浏览:15次 >En<

阅读说明:本技术 中间装置和网络之间的安全通信 (Secure communication between an intermediary device and a network ) 是由 A·特罗亚 A·蒙代洛 于 2020-03-04 设计创作,主要内容包括:本公开包含用于中间装置和网络之间的安全通信的设备、方法和系统。实例设备包含存储器和电路系统。所述电路系统被配置成响应于接收到对与特定类别对应的信息的请求,确定与所述特定类别相关联的标识符。所述电路系统被进一步配置成将所述所确定的标识符与签名一起提供到网络装置,其中响应于所述网络装置验证了所述签名而接收所述所请求的信息。(The present disclosure includes apparatus, methods, and systems for secure communication between an intermediary device and a network. An example apparatus includes a memory and circuitry. The circuitry is configured to determine an identifier associated with a particular category in response to receiving a request for information corresponding to the particular category. The circuitry is further configured to provide the determined identifier to a network device along with a signature, wherein the requested information is received in response to the network device verifying the signature.)

具体实施方式

本公开包含用于中间装置和网络之间的安全通信的设备、方法和系统。实例设备包含存储器和电路系统。所述电路系统被配置成响应于接收到对与特定类别对应的信息的请求,确定与所述特定类别相关联的标识符。所述电路系统被进一步配置成将所述所确定的标识符与签名一起提供到网络装置,其中响应于所述网络装置验证了所述签名而接收所述所请求的信息。

各种通信技术可以用于从数据库检索对应于特定信息的数据。在一些实例中,归因于数据库的结构复杂性的性质和以及时方式检索特定信息的必要性,用于从数据库检索信息的通信技术可能缺少安全地传送信息的机制,即使是有安全必要性。举例来说,黑客或其它实体可拦截和/或操控正在从数据库检索的信息以便改变所述信息,重复对所述信息的请求以获取对紧急车辆或其它车辆的未经授权存取等等。

因此,本公开的实施例提供例如确保与数据库交换的信息是来自经授权实体和/或提供给经授权请求者的益处。因此,本公开的实施例产生与数据库的安全通信,同时在以及时方式满足那些信息请求方面维持一定程度的性能。

如本文中所使用,“一(a/an)”或“数个”可以指某事物中的一或多个,且“多个”可以指此类事物中的两个或更多个。举例来说,存储器装置可以指一或多个存储器装置,且多个存储器装置可以指两个或更多个存储器装置。另外,如本文中所使用的指定符“R”、“B”、“S”和“N”,尤其相对于图式中的附图标记,指示如此指定的数个特定特征可与本公开的数个实施例包含在一起。标示之间的数目可相同或不同。

本文中的图遵循编号定则,其中第一一或多个数字对应于图号,且剩余的数字标识图式中的元件或组件。可通过使用类似数字来标识不同图之间的类似元件或组件。举例来说,201可表示图2中的元件“01”,且相似元件可在图3中表示为301。

图1说明根据本公开的实施例的包含中间装置102和网络装置104的系统100的框图。中间装置102和/或网络装置104可为以下各项或以下各项的部分:手提式计算机、个人计算机、数码相机、数字记录和重放装置、移动电话、PDA、存储器卡读卡器、接口集线器,或支持物联网(IoT)的装置,例如,支持汽车(例如,车辆和/或运输基础设施)IoT的装置或支持医疗(例如,可植入和/或健康监测)IoT的装置,以及其它主机系统,并且可包含存储器存取装置(例如,处理器)。所属领域的一般技术人员将理解,“处理器”可以是一或多个处理器,如并行处理系统、多个协处理器等。

网络装置104可为用于存储可被中间装置102检索的信息的装置。在一些实例中,网络装置104可被配置为包含多个节点的网络的节点。作为实例,网络装置104可为支持分布式分类账技术(DLT)(例如“块链”技术)的网络的节点。分布式分类账是展布在若干节点或计算装置上的数据库,且块链(例如,持续增长的经加密记录列表)是其中多个节点(如结合图4A所描述的节点420)可以对等网络方式共享和存储分布式记录列表的一种形式的DLT。结合图4描述块链网络的另外细节。

与交易相关联的各种信息可记录到网络装置104中。如本文中所使用,交易可以指各方(例如,一或多方)当中发生的交换。交易可涉及各种形式的交换。在一个实例中,可在各方当中交换的信息可包含车辆信息,例如可用以标识相应车辆的车辆标识号(VIN)和/或车牌组合(例如,字母和/或数字)、特定车辆为单次行程采用的路线(例如,紧急车辆为单次调度采用的路线)、特定紧急车辆属于的站点以及/或调度特定紧急车辆的日期和/或时间。在另一实例中,交换可为货币交换,包含例如发送方(例如,或买方)、接收方(例如,或卖家)、发送方和接收方之间交换的金额、交换发生的日期等信息。

中间装置102能够与网络装置104通信并且可执行与存储于网络装置104中的信息相关联的各种操作(例如,作为索引器和/或查询装置)。在一个实例中,中间装置102可被配置成作为索引器,根据各种类别组织(例如,索引)存储于网络装置104中的信息。举例来说,中间装置102可被配置成将可从多个(例如,所有)交易标识的发送方索引到相同类别(例如,发送方类别)中。类似地,买方、交易数据正在交换的主题等可索引到相应类别中。以此方式,本公开的实施例可提供及时遵守对那些可分布于多个交易上的信息的请求的益处。在另一实例中,中间装置102可被配置成作为查询装置,标识那些存储所请求的信息的节点/装置(例如,网络装置,例如网络装置104)并且从所述节点/装置检索所请求的信息。结合图4-5描述利用中间装置102作为查询装置/索引器的另外细节。

图2说明根据本公开的实施例的具有数个物理块的存储器阵列201的一部分的图式。存储器阵列201可以是例如闪存存储器阵列,例如NAND闪存存储器阵列。作为额外实例,存储器阵列201可以是电阻可变存储器阵列,例如PCRAM、RRAM、MMRAM或自旋力矩传送(STT)阵列等等。然而,本公开的实施例不限于特定类型的存储器阵列。另外,存储器阵列201可为安全存储器阵列,如将在本文中进一步描述。此外,虽然图2中未示出,存储器阵列201可与和其操作相关联的各种外围电路系统一起位于特定半导体裸片上。

如图2中所示,存储器阵列201具有存储器单元的数个物理块207-0(块0)、207-1(块1)、……、207-B(块B)。存储器单元可以是单层级单元和/或多层级单元,例如二层级单元、三层级单元(TLC)或四层级单元(QLC)。作为实例,存储器阵列201中的物理块的数目可为128个块、512个块或1024个块,但实施例不限于存储器阵列201中的二的特定幂或任何特定数目个物理块。

存储器单元的平面中可包含数个存储器单元物理块(例如,块207-0、207-1、……、207-B),且裸片上可包含数个存储器单元平面。举例来说,在图2中所示的实例中,每个物理块207-0、207-1、……、207-B可以是单个裸片的部分。也就是说,图2中所说明的存储器阵列201的部分可为存储器单元的裸片。

如图2中所示,每一物理块207-0、207-1、……、207-B包含存储器单元的耦合到存取线(例如,字线)的数个物理行(例如,203-0、203-1、……、203-R)。每个物理块中的行(例如,字线)的数目可以是32,但实施例不限于每物理块特定数目的行203-0、203-1、……、203-R。另外,虽然图2中未示出,但存储器单元可耦合到感测线(例如,数据线和/或数字线)的列。

如所属领域的技术人员将了解,每一行203-0、203-1、……、203-R可包含数个存储器单元页(例如,物理页)。物理页指代编程和/或感测的单元(例如,作为功能群组一起编程和/或感测的数个存储器单元)。在图2中示出的实施例中,每一行203-0、203-1、……、203-R包括存储器单元的一个物理页。然而,本公开的实施例不限于此。举例来说,在实施例中,每一行可包括存储器单元的多个物理页(例如,一或多个偶数存储器单元页耦合到偶数编号的数据线,且一或多个奇数存储器单元页耦合到奇数编号的数据线)。另外,对于包含多层级单元的实施例,存储器单元的物理页可存储多个数据页(例如,逻辑页)(例如,上部数据页和下部数据页,其中物理页中的每一单元存储朝向上部数据页的一或多个位和朝向下部数据页的一或多个位)。

如图2中所示,存储器单元页可包括若干物理扇区205-0、205-1、……、205-S(例如,存储器单元的子组)。单元的每一物理扇区205-0、205-1、……、205-S可存储数个逻辑数据扇区。另外,每一逻辑数据扇区可对应于特定数据页的一部分。作为实例,存储在特定物理扇区中的数据的第一逻辑扇区可对应于与第一数据页对应的逻辑扇区,且存储在特定物理扇区中的数据的第二逻辑扇区可对应于第二数据页。每一物理扇区205-0、205-1、……、205-S可存储系统和/或用户数据,且/或可包含开销数据,例如错误校正码(ECC)数据、逻辑块地址(LBA)数据和元数据。

逻辑块寻址是主机可用以标识数据的逻辑扇区的方案。举例来说,每一逻辑扇区可对应于唯一逻辑块地址(LBA)。另外,LBA也可对应于(例如,动态地映射到)可指示存储器中的数据的逻辑扇区的物理方位的物理地址,例如物理块地址(PBA)。数据的逻辑扇区可以是数据的字节数目(例如256字节、512字节、1,024字节或4,096字节)。然而,实施例不限于这些实例。

应注意,用于物理块207-0、207-1、……、207-B、行203-0、203-1、203-R、扇区205-0、205-1、……、205-S和页的其它配置是可能的。举例来说,物理块207-0、207-1、……、207-B的行203-0、203-1、……、203-R可各自存储对应于单个逻辑扇区的数据,所述单个逻辑扇区可包含例如多于或少于512字节的数据。

图3是根据本公开的实施例的包含呈可与主机和/或不同存储器装置通信的存储器装置306的形式的设备的计算系统200的框图。主机309和存储器装置306可分别类似于如结合图1所描述的中间装置102和/或网络装置104。如本文所使用,“设备”可以指但不限于多种结构或结构的组合中的任何一种,例如电路或电路系统、一或多个裸片、一或多个模块、一或多个装置或一或多个系统。另外,在一实施例中,计算系统200可包含类似于存储器装置306的数个存储器装置。

在图3中所说明的实施例中,存储器装置306可包含具有存储器阵列301的存储器316。存储器阵列301可以类似于先前结合图2描述的存储器阵列301。另外,存储器阵列301可为安全阵列,如将在本文中进一步描述。虽然图3中示出了一个存储器阵列301,但存储器316可包含类似于存储器阵列301的任何数目的存储器阵列。

如图3中所说明,主机/存储器装置309可经由接口333耦合到存储器装置306。主机/存储器装置309和存储器装置306可在接口333上通信(例如,发送命令和/或数据)。

主机/存储器装置309和/或存储器装置306可以是以下各项或为以下各项的部分:手提式计算机、个人计算机、数码相机、数字录制和重放装置、移动电话、PDA、存储卡读取器、接口集线器或支持物联网(IoT)的装置,例如支持汽车(例如,车辆和/或运输基础设施)IoT的装置或支持医疗(例如,可植入和/或健康监测)IoT的装置,以及其它主机系统,并且可以包含存储器存取装置(例如,处理器)。所属领域的一般技术人员将理解,“处理器”可以是一或多个处理器,如并行处理系统、多个协处理器等。

接口333可用于主机/存储器装置309和存储器装置306之间的有线和/或无线通信。在一个实例中,接口333可呈标准化物理接口形式。举例来说,当存储器装置306用于计算系统200中的信息存储时,接口333可为串行高级技术附件(SATA)物理接口、外围组件互连高速(PCIe)物理接口、通用串行总线(USB)物理接口,或小型计算机系统接口(SCSI),以及其它物理连接器和/或接口。然而,一般来说,接口333可提供用于在存储器装置306与具有用于接口333的兼容接收器的主机/存储器装置309之间传递控制、地址、信息(例如,数据)和其它信号的接口。

在另一实例中,接口333可为用于无线通信技术的接口,所述无线通信技术例如不同代的宽带移动电信技术(例如,1-5G)、包含蓝牙、Zigbee、1-5G和/或长期演进(LTE)装置间通信技术的装置间通信,以及/或利用另一装置的其它无线通信(例如,利用接入点AP的WiFi),可用于与不同实体进行通信。

存储器装置306包含与主机/存储器装置309和存储器316(例如,存储器阵列301)通信的控制器308。举例来说,控制器308可发送对存储器阵列301执行操作的命令,所述操作包含感测(例如,读取)、编程(例如,写入)、移动和/或擦除数据的操作,以及其它操作。

控制器308可与存储器316包含在同一物理装置(例如,同一裸片)上。替代地,控制器308可包含在以通信方式耦合到包含存储器316的物理装置的单独物理装置上。在实施例中,控制器308的组件可作为分布式控制器跨越多个物理装置散布(例如,一些组件与存储器在同一裸片上,且一些组件在不同的裸片、模块或板上)。

主机/存储器装置309可包含与存储器装置306通信的主机控制器(图3未示出)。主机控制器可经由接口333向存储器装置306发送命令。主机控制器可与存储器装置306和/或存储器装置306上的控制器308通信以读取、写入和/或擦除数据,以及进行其它操作。此外,在实施例中,主机/存储器装置309可以是如本文先前描述的具有IoT通信能力的支持IoT的装置。

存储器装置306上的控制器308和/或主机/存储器装置309上的主机控制器可包含控制电路系统和/或逻辑(例如,硬件和固件)。在实施例中,存储器装置306上的控制器308和/或主机/存储器装置309上的主机控制器可为耦合到包含物理接口的印刷电路板的专用集成电路(ASIC)。并且,存储器装置306和/或主机/存储器装置309可包含易失性和/或非易失性存储器的缓冲器和数个寄存器。

如图3中所示,存储器装置可包含电路系统335。在图3中所说明的实施例中,电路系统335包含在控制器308中。然而,本公开的实施例不限于此。举例来说,在实施例中,电路系统335可包含在存储器316中(例如,在同一裸片上)(例如,而不是控制器308中)。电路系统335可包括例如硬件、固件和/或软件。

在实施例中,电路系统335可将存储于存储器阵列301中的数据划分成多个片段,并且使不同密码散列与每个相应片段相关联。举例来说,电路系统335可使用从主机/存储器装置309接收的经鉴认(例如,安全)且受反重放保护的命令来产生(例如,计算)每个相应片段的不同密码散列(例如,使得仅存储器装置306知道这些密码散列,且仅存储器装置306能够产生和更新这些密码散列)。针对每个相应片段产生的密码散列在本文中可以被称为所述片段的黄金散列,并且可包括例如SHA-256密码散列。这些黄金散列可存储于电路系统335的不可被存储器装置306和/或主机/存储器装置309的用户存取的特定方位(例如,寄存器)中(例如,存储器装置306的“隐藏”区),并且可供在验证存储于存储器阵列301中数据的过程期间使用,如将在本文中进一步描述。

由电路系统335定义的每一片段可对应于块链的块(例如,块337),且由电路系统335定义的多个片段可对应于块链。因此,块链可存储于存储器阵列301中。存储器阵列301内的块链可为索引块链,例如先前结合图1所描述的索引块链120。然而,实施例不限于此。作为实例,存储器阵列301内的块链可为全局块链,例如先前结合图1所描述的全局块链110。

块可包含标头、前一块的密码散列、存储于块中的数据的加密图形散列和数字签名。

存储在存储器阵列301中的数据的密码散列可例如由电路系统335产生(例如,计算)。在此实例中,所存储的数据的密码散列可由存储器装置306在内部产生,而无需使外部数据在接口333上移动。作为额外实例,可从外部实体传送数据的密码散列。举例来说,主机/存储器装置309可产生存储在存储器阵列301中的数据的密码散列,并将产生的密码散列发送到存储器装置306(例如,电路系统335可从主机/存储器装置309接收存储在存储器阵列301中的数据的密码散列)。

与块337相关联的数字签名可例如由电路系统335基于(例如,响应于)外部命令(例如,从主机/存储器装置309接收的命令)而产生(例如,计算)。举例来说,数字签名可使用对称或非对称密码术产生。作为额外实例,主机/存储器装置309可产生数字签名,并将产生的数字签名发送(例如,提供)到存储器装置306(例如,电路系统335可从主机/存储器装置309接收数字签名)。

包含块337的块链的块可存储于存储器阵列301的安全阵列中。在此类实施例中,可使用一对非易失性寄存器来定义安全阵列。举例来说,在图3中所说明的实施例中,电路系统335包含可用于定义安全阵列的寄存器314-1和314-2。举例来说,寄存器314-1可定义安全阵列的地址(例如,数据的起始LBA),并且寄存器314-2可定义安全阵列的大小(例如,数据的结束LBA)。本文(例如,结合图6A-6B)将进一步描述此类寄存器的实例和其在定义安全阵列时的使用。一旦定义了安全阵列,就可使用电路系统335利用经鉴认的反重放保护命令产生(例如,计算)与安全阵列相关联的密码散列(例如,使得仅存储器装置306知道黄金散列,且仅存储器装置306能够产生和更新所述黄金散列),所述密码散列在本文中可被称为黄金散列。黄金散列可以存储在存储器阵列301的不可存取部分(例如,块337存储在其中的相同的不可存取部分)中,并且可以在验证安全阵列的数据的过程中供使用,如将在本文中进一步描述。

电路系统335可使用与第一数目的多个片段中的每一相应片段相关联的黄金散列验证(例如,在通电期间)存储于所述相应片段中的数据。如本文中所使用,验证数据可包含和/或是指鉴认和/或证实数据是真实的(例如,与最初编程的数据相同),且没有被黑客活动或其它未经授权的改变更改。

举例来说,电路系统335可产生(例如,计算)存储于第一数目个片段中的每一相应片段中的数据的不同运行时间密码散列,并且将针对存储于每个相应片段中的数据产生的运行时间密码散列与先前产生(例如,并且存储于电路系统335中的寄存器中)的黄金散列进行比较。依据所述比较指示针对存储于相应片段中的数据产生的运行时间密码散列匹配所述相应片段的黄金散列,可确定存储于所述相应片段中的数据未被更改,且因此可验证存储于所述相应片段中的数据(例如,可确定为有效)。因而,可以独立于存储于其它片段中的数据的方式验证存储于每个相应片段中的数据。

然而,如果所述比较指示针对存储于相应片段中的数据产生的运行时间密码散列不匹配所述相应片段的黄金散列,那么这可指示存储于所述相应片段中的数据已改变(例如,归因于黑客或存储器中的故障),且因此存储于所述相应片段中的数据可能并非有效(例如,可确定为无效)。在此情况下,电路系统335可修复(例如,尝试修复)存储于所述片段中的数据。修复存储于片段中的数据可包含例如确定是否允许数据修复,且如果允许修复,那么从存储器316(例如,从包含在存储器中的修复块,例如结合图12进一步描述的修复块1260)恢复(例如,复原)数据。

存储器装置306(例如,电路系统335)可经由接口333将块337以及与块337相关联的数字签名一起发送到主机/存储器装置309以验证存储在存储器阵列301中的数据。举例来说,响应于对存储器装置306供电(例如,通电和/或上电),电路系统335可感测(例如,读取)存储在存储器阵列301中的块337,并将所感测的块发送到主机/存储器装置309以验证存储在阵列301中的数据。因而,存储在存储器阵列301中的数据的验证可在存储器装置306被供电时(例如,自动)起始。

作为额外实例,电路系统335可在例如主机/存储器装置309的外部实体起始对存储在存储器阵列301中的数据的验证时将块337以及与块337关联的数字签名一起发送到主机/存储器装置309。举例来说,主机/存储器装置309可向存储器装置306(例如,电路系统335)发送感测块337的命令,且电路系统335可响应于接收到命令而执行感测块337的命令,并将所感测的块发送到主机/存储器装置309以验证存储在阵列301中的数据。

在接收到块337时,主机/存储器装置309可使用接收到的块验证(例如,确定是否验证)存储在存储器阵列301中的数据。举例来说,主机/存储器装置309可使用块链中的前一块的密码散列和存储在存储器阵列301中的数据的密码散列来验证数据。此外,主机/存储器装置309可验证与块337相关联的数字签名以确定块包含(例如,有资格包含)在块链中。如本文中所使用,验证存储在存储器阵列301中的数据可包含和/或指代鉴认和/或证实数据是真实的(例如,与最初编程的数据相同),并且没有被黑客活动或其它未经授权的改变所更改。

在其中存储器阵列301是安全阵列的实施例中,本文先前所描述的黄金散列还可以用于验证存储于存储器阵列301中的数据。举例来说,可产生(例如,计算)运行时间密码散列,并且将其与黄金散列进行比较。如果所述比较指示运行时间和黄金散列匹配,则可以确定安全阵列尚未被更改,且因此存储在其中的数据是有效的。然而,如果所述比较指示运行时间和黄金散列不匹配,那么这可指示存储在安全阵列中的数据已经改变(例如,归因于黑客或存储器中的故障),并且可将这报告给主机/存储器装置309。

在验证了存储于存储器阵列301中的数据之后,电路系统335可以类似于产生块337的方式产生块链中的额外(例如,下一)块以用于验证存储于存储器阵列301中的数据。举例来说,此额外块可包含块337(现在变为块链中的前一块)的密码散列,以及存储于存储器阵列301中的数据的新密码散列。另外,此额外块可包含具有指示何时产生此块的时间戳的标头,并且可具有与其相关联的指示此块包含在块链中的数字签名。本文将(例如,结合图3)进一步描述用于说明此类额外本地块的实例。此外,在存储器阵列301是安全阵列的实施例中,可产生额外的(例如,新的)黄金散列。

额外块以及与额外块相关联的数字签名还有额外黄金散列均可以存储在存储器阵列301中。举例来说,额外块可替换存储器阵列301中的块337(例如,前一块)。额外块、数字签名和额外黄金散列随后可供主机/存储器装置309用于验证存储在存储器阵列301中的数据,此验证方式类似于本文中先前针对块337所描述的方式。在存储器装置306的整个使用寿命中,块链中的额外块可以此方式继续由电路系统335产生,并供主机/存储器装置309验证存储在存储器阵列301中的数据。

图3中所说明的实施例可包含未说明以便不会混淆本公开的实施例的额外电路系统、逻辑和/或组件。举例来说,存储器装置306可包含锁存通过I/O电路系统在I/O连接器上提供的地址信号的地址电路系统。行解码器和列解码器可接收并解码地址信号,以存取存储器阵列301。另外,存储器装置306可包含与存储器阵列301隔开和/或除了存储器阵列301之外还包含的主存储器,例如DRAM或SDRAM。将在本文中(例如,结合图12)进一步描述用于进一步说明存储器装置306的额外电路系统、逻辑和/或组件的实例。

图4说明根据本公开的实施例的包含耦合到块链网络的节点和中间装置402的实例块链网络410的框图。虽然图4中所说明的网络410包含四个节点,例如420-1、420-2、420-3和420-4(统称为节点420),但实施例不限于网络410可包含的特定数量的节点。

网络410可以支持分布式分类账技术(DLT),例如“块链”技术。“块链”是不断增长的经加密记录列表。块链是DLT的一种形式,在所述DLT中,多个节点(例如,节点420)可以对等网络方式共享和存储分布式记录列表。如本文所描述,块链中的“块”是信息的集合,例如数据、标头、交易、加密等。如果块经过验证,则可将其添加到分类账中不断增长的记录列表中。按时间顺序将块添加到块链分类账。

分布式分类账是展布在若干节点或计算装置(例如,节点420)上的数据库。作为实例,给定节点(例如,一或多个节点420)可以分类账方式维持当前列表或记录的副本。节点420可各自表示不同主机(例如,具有处理资源的计算装置)。为了便于说明,可关于自主和/或非自主运输车辆、汽车、公共汽车、紧急车辆等的块链考虑主机或多个节点(例如,节点420)。然而,实施例不限于此实例。

可在与不同节点420(和/或在网络410和中间装置402之间)进行通信时利用各种无线通信技术。举例来说,不同代的宽带移动通信技术(例如,第一代到第五代(1-5G))、包含蓝牙、Zigbee和/或LTE装置间通信技术的装置间(例如,车辆间(v2v))通信,以及/或利用中间装置的其它无线通信(例如,利用接入点(AP)的WiFi),可用于与不同节点的通信。

在实例中,在结合图1的描述中说明的网络装置104可配置为网络410的节点420中的至少一个。节点420的网络装置可执行节点当中和/或与中间装置402的安全通信以添加/修改存储于网络装置中的数据。可以各种方式(例如,在装置层级和网络层级两者处)执行安全通信。在用于装置层级验证的一个实例中,在数据发射器(例如,将数据发射到其它节点420和/或中间装置402的节点420和/或中间装置402中的一个)的身份标识和/或数据自身经验证之前,可丢弃/拒绝正在节点420当中和/或与中间装置402连通的数据。如本文所描述,可使用各种机制进行验证。举例来说,可使用从发射器提供的凭证(例如,881和/或982)(例如,如结合图10所描述)和/或使用包含于数据内的签名(例如,如结合图4B和/或11所描述)执行验证。在用于装置层级验证的另一实例中,正在节点420当中和/或与中间装置102连通的数据可提供为经加密,如结合图8和9进一步描述。作为用于网络层级验证的实例,每个网络装置可与配置为用于执行例如梅克尔树验证的其它节点的其它网络装置通信。

正被配置为节点420的至少一部分的每个网络装置可包含执行装置层级和/或网络层级验证的功能的固件。在一个实施例中,个别网络装置可被配置成执行装置层级和网络层级验证两者。在另一实例中,在第一网络装置可被配置成执行装置层级验证时,耦合到第一网络装置的第二网络装置(例如,网桥控制器)可被配置成与其它节点通信并且代替第一网络装置执行网络层级验证(例如,以及装置层级验证)。在此实例中,具有两个均被配置成执行装置层级验证的不同网络装置可通过两次执行装置层级验证提供例如进一步强化通信安全性的益处。在实例中,第一和/或第二网络装置可配置成并充当网络410的节点(例如,节点420)。

耦合到网络410的中间装置402可操作为索引器和/或查询装置。在一个实例中,作为索引器,中间装置402可被配置成以更高效地检索(例如,可存储于多个交易和/或节点420上的)特定信息的方式组织(例如,按时间顺序组织于节点420当中的)交易的信息。作为实例,中间装置402可被配置成为存储于交易中的每个信息指配指示信息所属类别的对应标识符。

在另一实例中,作为查询装置,中间装置402可被配置成接收对存储于网络410中的特定信息的请求并且以安全方式从网络410检索特定信息。中间装置402作为查询装置可为能够执行高速符号模式匹配的可编程硅装置,这允许对复杂和/或非结构化数据库(例如,网络410)的全面搜索和分析。在其中为存储于交易中的信息指配相应标识符的实例中,中间装置402可被配置成使用指配给信息的标识符检索信息。下文描述利用中间装置402作为索引器/查询装置的另外细节。

图4B说明根据本公开的实施例的可在块链中用于索引(例如先前结合图3描述的存储器阵列301中的)块链中的数据的块(例如,块426-1和块426-2)的实例。举例来说,可使用先前结合图3描述的电路系统310产生块426-1和426-2。举例来说,可在块426-1已用以验证存储于存储器中的数据之后产生块426-2(例如,块426-2可为块链中处于块426-1之后的下一块)。

如图4B中所示,每个相应的块426-1和426-2可包含标头、块链中的前一块的密码散列和存储在存储器中的数据的密码散列,包含方式类似于先前结合图3所描述的块337。举例来说,块426-1包含具有指示块426-1何时产生的时戳的标头428-1、块链中的前一块的密码散列430-1和存储在存储器中的数据的密码散列432-1。此外,块426-2包含具有指示块426-2何时产生的时戳的标头428-2、块链中的前一块(例如,块426-1)的密码散列430-2和存储在存储器中的数据的后续(例如,新)密码散列432-2。

如图4B中所示,块426-1的密码散列432-1可用作块426-2的密码散列430-2。也就是说,块426-2可包含来自块426-1的存储在存储器中的数据的密码散列432-1作为块链中的前一块的密码散列430-2。

如图4B中所示,以类似于先前结合图3描述的块337的方式,每个相应块426-1和426-2可具有与其相关联的指示块包含在块链中的数字签名(例如,分别为数字签名434-1和434-2)。举例来说,数字签名434-1与块426-1相关联,且数字签名434-2与块426-2相关联。虽然图4B中未说明,但每一块426还可包含交易,例如图4C中所说明的交易427。

图4C说明根据本公开的实施例的存储于块中并且具有信息和指配给每个信息的标识符的实例交易的框图。交易427可存储于类似于如结合图4B所描述的块426-1和/或426-2的块中。

如图4C中所示,交易427包含各种信息,例如与交易427相关联的各方(例如,方417-1(例如,party_1)和417-2(party_2))和交易信息419-1、……、419-X。虽然两方被描述为包含在交易427中,但实施例不限于与交易427相关联和/或包含在交易427中的方的数量。如结合图1所描述,方417-1和417-2可分别为发送方和接收方。作为实例,在货币交易中,方417-1可为支付者且方417-2可为交易收款人。实例交易信息(例如,交易信息419-1、……、419-X)可包含可用以标识相应车辆的车辆标识号(VIN)和/或车牌组合(例如,字母和/或数字)、特定车辆为单次行程采用的路线(例如,紧急车辆为单次调度采用的路线)、特定紧急车辆属于的站点以及/或调度特定紧急车辆的日期、时间、在发送方和接收方之间交换的金额、交换发生的日期,如先前结合图1所描述。

在一些实例中,可为各方(例如,方417-1和417-2)指配相同标识符。在此实例中,可通过指配各方的旗标来分别标识发送方(例如,支付者)和接收方(例如,收款人)。举例来说,如图4C中所说明,为方417-1指配旗标“S”以指示方417-1是发送方,且为方417-2指配旗标“R”以指示方417-2是接收方。

每个标识符(例如,标识符423)可用以标识每个信息所属的相应类别。如结合图6进一步描述,标识符可与彼此相关联。使标识符彼此相关联可用以检索与多个类别相关联的信息。作为实例,中间装置(例如,中间装置402)可接收检索与“在特定时段期间购买特定产品的买方”和/或“使用特定版本的固件提取任何车辆的所有型号、品牌和凭证数据”相关联的对应于多个类别的信息的请求,例如一方特性(例如,接收方和/或发送方)、与交易相关联的产品、每一交易发生时的数据等。在此实例中,中间装置可将与多个信息相关联的那些标识符提供到网络(例如,网络410)的节点(例如,节点420),使得可基于所提供的标识符标识对应于多个类别的特定信息。结合图5描述使用标识符检索信息的另外细节。

图5说明根据本公开的实施例的呈具有与数个表相关联的标识符的数个表形式的数据库的实例。例如中间装置102的特定装置可产生、更新和/或维护表515-1、515-2、515-3、515-4、515-5、515-6和/或515-7(统称为表515)。

表515可对应于相应类别(例如,包含对应于相应类别的信息)。与表515对应的实例类别可包含客户(例如,客户的姓名、地址、电话号码和/或顾客编号)、订单(例如,订单号、订单数据、所需数据、发货数据、状态、注释、订单的顾客编号)、报价(例如,报价日期)、汇票(例如,汇票日期)、品目(例如,品目名称和/或价格)、订单明细(例如,订单数量)和/或发票(例如,发票日期),不过实施例不限于此。

如图5中所说明,为每个表指配特定标识符。作为实例,为表515-1指配标识符513-1,为表515-2指配标识符513-2,为表515-3指配标识符513-3,为表515-4指配标识符513-4,为表515-5指配标识符513-5,为表515-6指配标识符513-6,并且为表515-7指配标识符513-7。标识符513-1、……、513-7(统称为标识符513)可用以存取存储于表515中的数据和/或存储对应于相应标识符的信息的方位。作为实例,每个表(例如,表515)的信息可虚拟存储在中间装置102内,而对应于表515的虚拟数据的物理数据存储于网络中,所述网络中的网络装置(例如,网络装置104)被配置成网络的节点。作为实例,每个表(例如,表515)可包含每个信息的地址,且所述地址可用以定位存储对应于每个信息的物理数据的方位(例如,在网络内)。

在实例中,表515可存储于各个方位中。在实例中,表515可存储于结合图4描述的中间装置402和/或网络410中(例如,可分布于一或多个节点410上)。

每个表515耦合(例如,链接)到彼此。如图5中所说明,表515-1耦合到表515-2,表515-2耦合到515-3、515-4、515-6和515-7,且表515-5耦合到表515-6。可使用存储于每个表中的密钥(例如,依序)存取存储于那些彼此耦合的表中的信息。作为实例,可使用密钥575-1从表515-2存取表515-1,可分别使用密钥575-5、575-2、575-3和575-4从表515-6、515-3、515-4和515-7存取表515-2,且可使用密钥575-6从表515-6存取表515-5。

因此,可使用存储于表515中的密钥575从多个表检索对应于多个类别(例如,在特定时段内购买特定产品的特定顾客)的信息。作为实例,在检索对应于表515-1、515-2和515-3的类别的信息时,首先可存取表515-3,随后可使用存储于表515-3中的密钥575-2存取表515-2,且随后可使用存储于表515-1中的密钥575-1存取表515-1。类似地,在检索对应于表515-1、515-2和525-4的类别的信息时,首先可存取表515-4,随后可使用存储于表515-4中的密钥575-3存取表515-2,且随后可使用存储于表515-1中的密钥575-1存取表515-1。类似地,在检索对应于表515-1、515-2和525-7的类别的信息时,首先可存取表515-7,随后可使用存储于表515-7中的密钥575-4存取表515-2,且随后可使用存储于表515-1中的密钥575-1存取表515-1。类似地,在检索对应于表515-1、515-2和525-6的类别的信息时,首先可存取表515-6,随后可使用存储于表515-6中的密钥575-5存取表515-2,且随后可使用存储于表515-1中的密钥575-1存取表515-1。类似地,在检索对应于表515-5和515-6的类别的信息时,首先可存取表515-6,且随后可使用存储于表515-6中的密钥575-5存取表515-5。

例如中间装置402的特定装置/节点可维护表515。在一个实例中,中间装置402可跟踪那些新近添加到表515的信息。作为实例,新近发生的交易可添加到网络410,且在此实例中,可确定对应于与新交易相关联的信息的类别,且所述信息根据其确定的类别分布到相应表。以此方式,中间装置402不需每当在将相应交易添加到网络410时便要标识信息属于什么类别,这可提供例如以及时方式检索信息并且将检索的信息提供给请求者的益处。

结合图7-11描述以安全方式检索存储于网络和/或表中的信息的另外细节。

图6A说明根据本公开的实施例的用于定义安全存储器阵列的一对寄存器614-1和614-2的实例,且图6B说明根据本公开的实施例的包含使用寄存器614-1和614-2定义的安全存储器阵列的存储器阵列601的一部分的图式。举例来说,寄存器614-1和614-2可以分别是先前结合图3描述的寄存器314-1和314-2,且举例来说,安全存储器阵列601可以是先前结合图3描述的存储器阵列301。举例来说,如图6B中所示,安全存储器阵列601可包含数个存储器单元物理块607-0、607-1、……、607-B,每一物理块包含具有数个存储器单元扇区的数个物理行603-0、603-1、……、603-R,包含方式类似于先前结合图2描述的存储器阵列201。

如图6A中所示,寄存器614-1可以定义安全阵列的地址(例如,安全阵列的不同部分的地址),并且寄存器614-2可以定义安全阵列的大小(例如,安全阵列的不同部分的大小)。由寄存器614-1定义的安全阵列的地址可以对应于例如安全阵列的起始点(例如,起始LBA)(例如,安全阵列不同部分的起始点),并且由寄存器614-2定义的安全阵列的大小可以对应于例如安全阵列的结束点(例如,结束LBA)(例如,安全阵列不同部分的结束点)。

举例来说,如图6A所示,寄存器614-1和614-2可以定义N对值,其中每一相应对包括由寄存器614-1定义的地址值(例如,addr)和由寄存器614-2定义的大小值(例如,size)。举例来说,在图6A中说明的实例中,Pair0包括地址值addr0和大小值size0(例如,Pair0=[addr0,size0]),Pair1包括地址值addr1和大小值size1(例如,Pair1=[addr1,size1]),以此类推,其中PairN包括地址值addrN和大小值sizeN(例如,PairN=[addrN,sizeN])。一对的地址值可以对应于安全阵列的一部分的起始点(例如,起始LBA),并且所述对的地址值和大小值的总和可以对应于安全阵列的部分部分的结束点(例如,结束LBA)。因而,整个安全阵列(例如,组成整个安全阵列的部分)可以由以下公式给出:[addr0,addr0+size0]∪[addr1,addr1+size1]∪……∪[addrN,addrN+sizeN]。

由寄存器614-2定义的大小值是零的第一对可停止安全阵列的定义。举例来说,在图6A中所说明的实例中,如果Pair2的大小值是零,那么安全阵列将由下式给出:[addr0,addr0+size0]∪[addr1,addr1+size1]。

在图6B中说明由寄存器614-1和614-2定义的安全阵列的实例(例如,其中所有大小值都由寄存器614-2定义为非零)。举例来说,如图6B中所示,与存储器阵列601的扇区605-0相关联的地址(例如,LBA)是addr0,与存储器阵列601的扇区605-1相关联的地址是addr0+size0,与存储器阵列601的扇区605-2相关联的地址是addr1,与存储器阵列601的扇区605-3相关联的地址是addr1+size1,与存储器阵列601的扇区605-4相关联的地址是addrN,且与存储器阵列601的扇区605-5相关联的地址是addrN+sizeN。因而,安全阵列包括扇区(例如,存储在扇区中的数据)605-0到605-1、扇区605-2到605-3和605-4到605-5。然而,存储器阵列601中在扇区605-0之前的扇区和存储器阵列601的扇区605-1到605-2不是安全阵列的部分(例如,安全阵列包括阵列601的子集)。

图7是根据本公开的实施例的包含主机709和存储器装置704的实例系统的框图。举例来说,主机709和存储器装置704可为先前结合图1描述的中间装置102和网络装置104。如本文中所使用,在中间装置处产生的公钥、公共标识和凭证可被分别称为中间公钥、中间公共标识和中间凭证。类似地,在网络装置处产生的公钥、公共标识和凭证可被分别称为网络公钥、网络公共标识和网络凭证。

计算装置可在使用层分阶段引导,其中每一层认证并加载后续层并且在每一层提供越来越复杂的运行时间服务。一层可被前一层服务并且服务后续层,进而创建构建在下部层上并且服务高阶层的层的互连网络。如图7中所说明,层0(“L0”)751和层1(“L1”)753在主机内。层0 751可以向层1 753提供固件导出秘密(FDS)密钥752。FDS密钥752可描述层1753的代码的身份标识和其它安全相关数据。在实例中,特定协议(例如稳健物联网(RIOT)核心协议)可以使用FDS 752来验证其加载的层1 753的代码。在实例中,特定协议可包含装置标识组合引擎(DICE)和/或RIOT核心协议。作为实例,FDS可包含层1固件图像本身、以密码方式标识经授权层1固件的清单、在安全引导实施方案的上下文中签名的固件的固件版本号,和/或装置的安全关键配置设置。装置秘密758可用于创建FDS 752并存储在主机709的存储器中。

如箭头754所说明,主机可以将数据发射到存储器装置704。所发射数据可包含公共标识、凭证和/或公钥。存储器装置704的层2(“L2”)755可接收所发射数据,且在操作系统(“OS”)757的操作中以及在第一应用程序759-1和第二应用程序759-2上执行数据。

在实例操作中,主机709可读取装置秘密758,将层1 753的身份标识散列,并且执行计算,所述计算包含:

KL1=KDF[Fs(s),散列(“不变的信息”)]

其中KL1是公钥,KDF(例如,美国国家标准与技术研究所(NIST)特定公开800-108中定义的KDF)是密钥导出函数(例如,HMAC-SHA256),且Fs(s)是装置秘密758。可通过执行以下计算确定FDS 752:

FDS=HMAC-SHA256[Fs(s),SHA256(“不变的信息”)]

同样地,如箭头756所说明,存储器装置704可以将数据发射到主机709。

实施例不限于如图7中所说明的可通信(例如,发射和接收数据)的特定类型的实体。作为实例,图7说明主机709和存储器装置704作为通信实体(例如,发射754和接收756)。然而,此类通信也可在其它实体之间,例如在两个存储器装置(例如,网络410的节点420)之间执行。

图8是根据本公开的实施例的用于确定数个参数的实例过程的框图。图8是包含公共标识、凭证和公钥的参数的确定的实例,这些参数随后如箭头854所指示,发送到存储器装置(例如,图7中的704)的层2(例如,层2 755)。图8中的层0(“L0”)851对应于图7中的层0751,同样,FDS 852对应于FDS 752,层1 853对应于层1 753,且箭头854和856分别对应于箭头754和756。

来自层0 851的FDS 852被发送到层1 853,并由不对称ID产生器861用以产生公共标识(“IDlk public”)865和私有标识867。在缩写的“IDlk public”中,“lk”指示层k(在此实例中为层1),并且“public”指示标识是公开共享的。公共标识865通过向右侧延伸且延伸到主机的层1 853之外的箭头被说明为共享的。产生的私有标识867用作输入到加密器873中的密钥。加密器873可为用以加密数据的任何处理器、计算装置等。

主机的层1 853可包含不对称密钥产生器863。在至少一个实例中,随机数产生器(RND)836可以任选地将随机数输入到不对称密钥产生器863中。不对称密钥产生器863可产生与例如图7中的主机709的主机相关联的公钥(“KLk public”)869和私钥(“KLK private”)871。公钥869可以作为输入(作为“数据”)输入到加密器873。加密器873可以使用私有标识867和公钥869的输入产生结果K'875。私钥871和结果K'875可以输入到额外加密器877,从而产生输出K"879。输出K"879是发射到层2(图7的755)的凭证(“IDL1 certificate”)881。凭证881可提供验证和/或鉴认从装置发送的数据的来源的能力。作为实例,通过验证凭证,从主机发送的数据可与主机的身份标识相关联,如将结合图8进一步描述。此外,公钥(“KL1 public key”)883可发射到层2。因此,主机的公共标识865、凭证881和公钥883可以发射到存储器装置的层2。

图9是根据本公开实施例的用于确定数个参数的实例过程的框图。图9说明产生标识(“IDL2 public”)966、装置凭证(“IDL2 Certificate”)982和公钥(“KL2 public key”)984的存储器装置(例如,图7中的存储器装置704)的层2 955。

如图6中所描述,从主机的层1发射到存储器装置的层2 955的公钥(“KL1 public key”)983供存储器装置的不对称ID产生器962用以产生存储器装置的公共标识(“IDlk public”)966和私有标识968。在缩写的“IDlk public”中,“lk”指示层k(在此实例中为层2),且“public”指示标识公开共享的。公共标识966通过向右侧延伸且延伸到层2 955之外的箭头被说明为共享的。产生的私有标识968用作输入到加密器974中的密钥。

存储器装置的层2 955可包含不对称密钥产生器964。在至少一个实例中,随机数产生器(RND)938可以任选地将随机数输入到不对称密钥产生器964中。不对称密钥产生器964可产生与存储器装置(例如图7中的存储器装置704)相关联的公钥(“KLk public”)970(被称为公钥)和私钥(“KLK private”)972(被称为私钥)。公钥970可以作为输入(作为“数据”)输入到加密器974中。加密器974可以使用私有标识968和公钥970的输入产生结果K'976。私钥972和结果K'976可以输入到额外加密器978,从而产生输出K"980。输出K"980是发射回到层1(图7的753)的装置凭证(“IDL2 certificate”)982。装置凭证982可提供验证和/或鉴认从装置发送的数据的来源的能力。作为实例,通过验证凭证,从存储器装置发送的数据可与存储器装置的身份标识相关联,如将结合图10进一步描述。此外,公钥(“KL2 public key”)984可发射到层1。因此,存储器装置的公共标识966、凭证982和公钥984可以发射到主机的层1。

在实例中,响应于主机从存储器装置接收到公钥,主机可以使用公钥对待发送到存储器装置的数据进行加密。反过来,存储器装置可以使用公钥对待发送到主机的数据进行加密。响应于存储器装置接收到使用公钥加密的数据,存储器装置可以使用其自身的私钥对数据进行解密。同样,响应于主机接收到使用公钥加密的数据,主机可以使用其自身的私钥对数据进行解密。由于私钥不与存储器装置外部的另一装置共享,并且私钥不与主机外部的另一装置共享,因此发送到存储器装置和主机的数据保持安全。

在实施例中,最初请求与第二实体握手的第一实体可以基于其自身的装置秘密产生第一公钥、第一公共标识和第一凭证。另一方面,接收到握手请求的第二实体可以基于第一实体提供的第一公钥产生第二公钥、第二公共标识和第二凭证。举例来说,图7、8和9中所说明的实施例将主机(例如,主机709)说明为一开始就请求与存储器装置(例如,存储器装置704)握手的实体。在此实施例中,主机709基于存储于自身中的装置秘密产生公钥(例如,公钥883)、公共标识(例如,公共标识865)和凭证(例如,凭证881),且存储器装置基于从主机提供的公钥产生那些公钥、公共标识和凭证。然而,实施例不受如此限制。举例来说存储器装置一开始可以请求与存储器装置握手,以便存储器装置使用其自身的装置秘密产生公钥、公共标识和凭证,而主机则基于从存储器装置提供的公钥那些那些公钥、公共标识和凭证。

图10是根据本公开的实施例的用于验证凭证的实例过程的框图。在图8所说明的实例中,从主机(例如,从图7中的主机709的层1 753)提供公钥1083、凭证1081和公共标识1067。凭证1081和公钥1083的数据可用作输入以输入到解密器1085中。解密器1085可以是用于解密数据的任何处理器、计算装置等。凭证1081和公钥1083的解密结果可连同公共标识一起用作输入到次级解密器1087中的输入,进而产生输出。如在1089处所说明,公钥1083和来自解密器1087的输出可指示凭证是否经验证,从而产生是或否1091作为输出。响应于凭证经过验证,可接受、解密和/或处理从已验证装置接收的数据。响应于所述凭证未被验证,可舍弃、去除和/或忽略从正被验证的装置接收的数据。以此方式,可检测和避免发送违法数据的违法装置。作为实例,可标识发送待处理的数据的黑客且不处理黑客数据。

图11是根据本公开的实施例的用于验证签名的实例过程的框图。在装置正在发送可被验证以避免后续否认的数据的个例中,可产生签名且与数据一起发送。举例来说,第一装置可作出对第二装置的请求,且一旦第二装置执行所述请求,则第一装置可指示第一装置从未作出此类请求。例如使用签名的抗否定方法可避免第一装置的否定,且确保第二装置可在无后续困难的情况下执行请求的任务。

存储器装置1106(例如图3中的存储器装置306)可将数据1190发送到主机/存储器装置1109,所述主机/存储器装置可为图1中的主机102和/或包含图1中的全局块链110的不同存储器装置。存储器装置1106可在1194处使用装置私钥1171产生签名1196。签名1196可发射到主机/存储器装置1109。主机/存储器装置1109可在1198处使用先前接收到的数据1192和公钥1169验证签名。以此方式,使用私钥产生签名且使用公钥验证签名。以此方式,用于每个装置的独特签名可保持对发送所述签名的装置来说是私用的,同时允许接收装置能够解密签名以用于验证。这与数据的加密/解密形成对比,所述数据由发送装置使用接收装置的公钥加密且由接收装置使用接收器的私钥解密。在至少一个实例中,装置可通过使用内部密码术过程(例如,椭圆曲线数字签名(ECDSA)或类似过程)来验证数字签名。

图12是根据本公开的实施例的实例存储器装置1299的框图。举例来说,存储器装置1299可以是先前结合图1描述的中间装置102和/或网络装置104。

如图12中所示,存储器装置1299可包含数个存储器阵列1201-1到1201-7。存储器阵列1201-1到1201-7可类似于先前结合图2描述的存储器阵列121。另外,在图12中说明的实例中,存储器阵列1201-3是安全阵列,存储器阵列1201-6的子集1211包括安全阵列,且存储器阵列1201-7的子集1249和1250包括安全阵列。子集1211、1249和1250可各自包含例如4千字节的数据。然而,本公开的实施例不限于存储器阵列或安全阵列的特定数目或布置。

如图12中所示,存储器装置1299可包含修复(例如,恢复)块1260。修复块1260可在可在存储器装置1299的操作期间发生错误(例如,失配)的情况下用作数据的来源。修复块1260可在存储器装置1299的可通过主机寻址的区域外部。

如图12中所示,存储器装置1299可包含串行外围接口(SPI)1233和控制器1208。存储器装置1299可使用SPI 1233和控制器1208来与主机和存储器阵列1201-1到1201-7通信,如本文中先前(例如,结合图3)所描述。

如图12中所示,存储器装置1299可包含用于管理存储器装置1299的安全性的安全寄存器1286。举例来说,安全寄存器1286可配置应用控制器,并且在外部传达到应用控制器。此外,安全寄存器1286可通过鉴认命令被修改。

如图12所示,存储器装置1299可包含密钥1288。举例来说,存储器装置1299可包含八个不同的插槽来存储密钥,例如根密钥、DICE-RIOT密钥和/或其它外部会话密钥。

如图12中所示,存储器装置1299可包含电子可擦除可编程只读存储器(EEPROM)1293。EEPROM 1293可提供可用于主机的安全非易失性区域,在所述安全非易失性区域中可擦除和编程个别字节的数据。

如图12中所示,存储器装置1299可包含计数器(例如,单调计数器)1295。计数器1295可用作从主机接收和/或发送到主机的命令(例如,对命令集合或序列进行签名)的反重放机构(例如,新鲜度产生器)。举例来说,存储器装置1299可包含六个不同单调计数器,其中两个可供存储器装置1299用于经鉴认命令,并且其中四个可供主机使用。

如图12中所示,存储器装置1299可包含SHA-256密码散列函数1297,和/或HMAC-SHA256密码散列函数1229。SHA-256和/或HMAC-SHA256密码散列函数1297和1229可供存储器装置1299用于产生密码散列,例如本文中先前所描述的块220的密码散列,和/或用以验证存储于存储器阵列1201-1到1201-7中的数据的黄金散列。此外,存储器装置1299可支持DICE-RIOT 1231的L0和L1。

虽然已在本文中示出并描述了具体实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可取代所示出的具体实施例。本公开意欲涵盖本公开的数个实施例的调适或变化。应理解,以说明方式而非限制方式进行了以上描述。在查阅以上描述后,以上实施例和本文未具体描述的其它实施例的组合对于所属领域的一般技术人员来说将是显而易见的。本公开的数个实施例的范围包含其中使用上述结构和方法的其它应用。因此,本公开的数个实施例的范围应参考所附权利要求书以及此类权利要求被赋予的等同物的完整范围而确定。

在前述具体实施方式中,出于简化本公开的目的而将一些特征一起分组在单个实施例中。本公开的此方法不应被理解为反映本公开的所公开实施例必须比在每项权利要求中明确叙述那样使用更多特征的意图。实际上,如所附权利要求书所反映,本发明标的物在于单个所揭示实施例的不到全部的特征。因此,所附权利要求书特此并入于具体实施方式中,其中每项权利要求就其自身来说作为单独实施例。

33页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:零知识区块链归因

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!