使用块链安全地进行监测

文档序号:441134 发布日期:2021-12-24 浏览:3次 >En<

阅读说明:本技术 使用块链安全地进行监测 (Monitoring safely using a blockchain ) 是由 A·特罗亚 A·蒙代洛 于 2020-03-24 设计创作,主要内容包括:本公开包含使用本地分类账块链进行安全更新的设备、方法和系统。一个实施例包含存储器和电路系统,所述电路系统配置成接收待添加到本地分类账块链的全局块,用于验证对存储在所述存储器中的数据的更新,其中待添加到所述本地分类账块链的所述全局块包含所述本地分类账块链中的当前本地块的密码散列、存储在所述存储器中的待更新的所述数据的密码散列,其中所述本地分类账块链中的所述当前本地块具有与其相关联的数字签名,所述数字签名指示所述全局块来自经授权实体。(The present disclosure includes devices, methods, and systems for secure updates using a local ledger chain. One embodiment includes a memory and circuitry configured to receive a global chunk to be added to a local ledger chain for verifying an update to data stored in the memory, wherein the global chunk to be added to the local ledger chain includes a cryptographic hash of a current local chunk in the local ledger chain, a cryptographic hash of the data stored in the memory to be updated, wherein the current local chunk in the local ledger chain has associated therewith a digital signature indicating that the global chunk is from an authorized entity.)

具体实施方式

本公开包含用于安全交通监测的设备、方法和系统。用于安全交通监测的实例设备可包含存储器和电路系统。所述电路系统可被配置成从实体接收身份标识数据、签名和进入一方位的请求。所述电路系统可被配置成通过基于所述身份标识数据和签名来检验所述实体的身份标识以此分析所述请求。所述电路系统可被配置成通过查阅块链中的多个块中的至少一个以确定与所述实体相关联的数据是否鉴认对所述方位的进入,以此进一步分析所述请求。块链中的多个块中的每一个可包含块链中的前一块的密码散列和相应多个块中的每一个的密码散列。所述电路系统可被配置成响应于检验实体的身份标识并且鉴认所述方位进入,产生块链中的多个块中的一块。

块链中的每一块可与个别主机或多个主机相关联。如本文所描述,存储器和电路系统可被配置成从全局分类账块链接收多个块以产生本地分类账块链,其中所述本地分类账块链仅包含与关联于所述电路系统的主机和/或存储器相关的块,其中每个相关主机和/或存储器与特定入口点、特定门等相关联。

许多威胁可能会影响存储在存储器中(例如,存储在存储器装置中)的数据。举例来说,可在存储器的阵列和/或电路系统中出现故障,这可引起在数据中发生错误以及对特定方位的未经授权进出。作为额外实例,黑客或其它恶意用户可能试图执行活动,以出于恶意目的对数据进行未经授权的更改。由黑客执行的此类活动可包含提供欺诈性身份标识、对进出受限区域的欺诈性请求等。此类黑客活动(例如,攻击)可允许进出受限区域或方位,但车辆实体并非授权此类进出,这可引起重大安全和/或安保问题。

因而,为了确保安全的存储器系统和对特定方位和/或区域的安全进出,重要的是验证(例如,鉴认和/或证实)身份标识数据和/或对进出一方位的请求是真实的(例如,是正确的、来自可信/经授权实体),且未因黑客活动或其它未经授权和/或非预期的改变而被更改和/或欺诈性地提供。本公开的实施例可使用存储器作为块链数据结构中的块(例如使用存储器作为用于块链的存储组件)以便有效地验证身份标识数据和/或进出请求,并且进而确保安全的存储器系统。举例来说,本公开的实施例可修改、利用和/或以不同方式操作存储器的现有电路系统(例如,存储器装置的现有固件)以使用存储器作为块链中的块,例如使用与全局块链中的块相关联的存储器,且/或更具体地说,使用本地分类账块链中的块的组织数据,而不必将额外(例如,新)组件或电路系统添加到存储器,所述组织数据指示与特定车辆实体、特定入口或门等的关联性。

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

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

在一些先前方法中,车辆实体(例如,公民车辆、救护车、警车等)可使用比将在下文所描述的通信方法更简化的通信方法与其它装置(例如入口装置、门等)通信。在其中车辆实体与进口节点通信的实例中,所述通信可能并不安全。举例来说,车辆实体与进口节点和/或额外进口节点之间的通信可被黑客或其它实体拦截和/或操控以便改变所述通信,重复所述通信以获取对方位或区域的未经授权进出等。在此类实例中,车辆实体可能不提供检验其身份标识以确保是车辆实体授权的通信接收方提供的此类通信(例如,进出一方位、进入车行道等)的能力。由于不具备检验车辆实体的身份标识以及车辆实体是否经授权进出所述方位的能力,所述通信可未经授权且可引起方位的未经授权进出。

与车辆实体相关联的车辆通信组件可提供授权数据,包含签名、标识数据等,所述授权数据可检验车辆实体的身份标识并且确保对其它车辆、入口门等的请求经授权,从而产生安全通信以及对受限方位的经授权进出。然而,在先前方法中,车辆实体和进口节点之间的通信均可为公共且不安全的,这可能引入违法活动,进而可不利地影响实际上已经授权进出方位的车辆实体进入所述方位的能力。

如将在本文中描述,通过引入安全形式的通信以用于提供请求、检验身份标识以及确定是否对车辆实体授权进出一方位,可拒绝、避免、丢弃等与关于请求数据的违法活动相关的信息,且/或拒绝进出一方位。可以交换公钥并使用公钥对数据进行加密,而对于单个实体来说是私有且独占的私钥可以用于对数据进行解密。以此方式,防止了那些没有私钥的用户拦截存取数据并将所述存取数据用于最初预期之外的目的。另外,可使用私钥产生凭证和签名以检验数据的发送方的身份标识并且确保数据来源于预期或所要求的来源。

图1是根据本公开的实施例的实例车辆实体102的框图。车辆实体102可为自主紧急车辆、传统的非自主紧急车辆、服务车辆等。车辆实体102可包含车辆计算装置112,例如机载计算机。如所示出,车辆计算装置112可包含耦合到车辆通信组件116的处理器114(例如读取器、写入器、收发器),以及/或其它耦合到(例如,或包含)天线119的能够执行下文描述的功能以交换信息的计算装置或电路系统。车辆通信组件116可包含用以执行下文叙述的动作(例如,加密/解密、执行指令等)的逻辑和/或电路系统。车辆通信组件116可包含耦合到存储器118(例如非易失性闪存存储器)的处理资源117,不过实施例不限于此。车辆计算装置112可耦合到车辆实体102(例如自主车辆、救护车、警车、消防车等)或处于所述车辆实体内。

车辆通信组件116可从额外计算装置接收交通、道路和/或车辆数据,所述额外计算装置例如结合图2描述的入口实体,或额外电子指示牌、电子灯和/或数字化车行道等等。作为实例,车行道和/或指示牌可以耦合到可以传送与道路/指示牌条件、道路/指示牌状态等等相关联的数据的通信组件(类似于车辆通信组件116),或者在车道和/或指示牌内嵌入所述通信组件。

图2是入口实体233的框图。入口实体可为一方位的入口点、门、车行道的入口等。入口实体233可包含耦合到、附接到和/或极为接近入口实体233的入口计算装置242。入口计算装置242可使用各种通信方法(例如无线通信)与车辆计算装置112通信。在图2的实例中,入口计算装置242可包含处理器244以执行指令并控制入口计算装置242的功能。处理器244可耦合到入口通信组件246(例如读取器、写入器、收发器),以及/或其它耦合到(例如,或包含)天线249的能够执行下文描述的功能以交换信息的计算装置或电路系统。入口通信组件246可包含耦合到存储器248(例如非易失性快闪存储器)的处理资源247,不过实施例不限于此。入口计算装置242的天线249可与图1中示出的车辆计算装置112的天线119通信,例如以通信方式与其耦合。

在一些实例中,天线249和119可以是配置为电感器线圈的环形天线等等。举例来说,天线119可环绕车辆计算装置112。天线119可响应于流过天线119的电流而产生电磁场。举例来说,电磁场的强度可取决于线圈的数目和电流量。由天线119产生的电磁场可在天线249中感生为相应入口计算装置242供电的电流流动。作为实例,当入口计算装置242进入天线119的通信距离(例如,通信范围)内时,图1中的天线119可在天线249中感生电流流动。举例来说,通信距离可取决于由天线119产生的电磁场的强度。由天线119产生的电磁场可以通过天线119的线圈的数目和/或穿过天线119的电流进行设置,使得通信距离可以从车辆计算装置112的方位跨越到入口计算装置242。在一些实例中,车辆计算装置112的任一侧的通信距离可以是大约50厘米到大约100厘米。在替代方案中,通信距离可取决于由天线249产生的电磁场的强度。在此情况下,由天线249产生的电磁场可以通过249的线圈的数目和/或穿过天线249的电流进行设置。

在一些实例中,入口计算装置242可包含数个无线通信装置,例如发射器、应答器、收发器等等。作为实例,入口通信组件246可以是此类无线通信装置。可使用的无线通信可包含近场通信(NFC)标签、RFID标签等等。在至少一个实施例中,无线通信可以使用可分别集成到例如微芯片的芯片中的非易失性存储组件来执行。相应芯片中的每一个可以耦合到相应天线,例如天线249。相应存储组件可存储相应身份标识数据、通知数据、车辆数据、道路数据和/或指示牌数据。

车辆和入口数据可响应于车辆计算装置112在相应入口计算装置242的通信距离内传送而从车辆计算装置112的车辆通信组件116发射到入口计算装置242的入口通信组件246。车辆和/或通知数据可以例如射频信号的信号形式发射。举例来说,车辆计算装置112的车辆通信组件116和入口计算装置242的入口通信组件246可使用射频信号进行通信。

对于其中无线通信装置是NFC标签的实例,车辆计算装置112的车辆通信组件116可为NFC读取器并且可使用可存储于存储器118中以供处理资源117进行处理的NFC协议与无线通信装置通信。在一个实例中,车辆通信组件116和无线通信装置(例如入口通信组件246)可根据用于空中接口通信的无源RFID的ISO/IEC 18000-3国际标准以约13.56兆赫进行通信。举例来说,可以具有约13.56兆赫的频率的信号的形式发射信息。

在一些实例中,入口计算装置242可用于收集身份标识数据、车辆数据、授权数据和/或请求数据,例如趋近车辆的状态、趋近车辆的身份标识、正在做出的进出特定方位的请求等等。举例来说,当前车辆状态(例如,之前车辆是否已进入所述方位、进入所述方位的频率、所述请求正在请求进入所述方位内的哪个子区域)、车辆的身份标识和/或日期和时间可以从车辆通信组件116发射到入口通信组件246。

在一些实例中,车辆计算装置112和/或入口计算装置242可使用无源无线通信装置,例如可如先前所描述的短程通信装置(例如,NFC标签)。NFC标签可包含具有存储信息(例如车辆信息、身份标识信息、车辆装置或设备信息和/或关于方位和其受限进出的信息)的非易失性存储组件的芯片。另外,NFC标签可包含天线。

车辆通信组件116可从NFC标签接收信息,且/或可将信息发射到NFC标签。在一些实例中,通信装置可包含读取器(例如,NFC读取器),例如车辆装置读取器。

车辆通信组件116的存储器118可包含根据允许车辆通信组件116与NFC标签通信的NFC协议进行操作的指令。举例来说,车辆通信组件116和NFC标签可使用NFC协议,例如在大约13.56兆赫下根据ISO/IEC 18000-3国际标准进行通信。

车辆通信组件116还可与操作中心(例如医院、消防站、警察局等)通信。举例来说,车辆通信组件116可以无线方式耦合或硬接线到操作中心。在一些实例中车辆通信组件116可经由WIFI或通过因特网与操作中心通信。当与NFC标签相关联的天线119进入天线249的通信距离内时,车辆通信组件116可为NFC标签供能,如先前所描述。通信距离可能较短,并使得装置彼此相对靠近,并且可以提供比使用RFID标签的先前方法更好的安全性,且所使用的电力更少。

图3A说明根据本公开的实施例的实例环境,包含车辆实体302和多个节点333-1、333-2、333-3、333-4和中心节点333-C(在下文统称为进口节点和中心节点233)。中心节点333-C可为类似于进口节点333-1、333-2、333-3、333-4的节点,不同之处在于中心节点333-C指挥其它节点。在一些实例中,中心节点333-C可为不与特定进口点(相比于进口节点333-1、333-2、333-3、333-4)相关联的节点。

如图3中所说明,实体节点302可为车辆实体(例如车辆实体302)。实体节点302可与多个进口节点333-1、333-2、333-3、333-4和/或中心节点333-C通信。同样地,所述多个节点333中的每一个可与所述多个节点333中的另一个通信。作为实例,进口节点333-1可与进口节点333-2通信,以此类推。进口节点333中的每一个可与中心节点333-C通信。在实体节点302趋近第一进口节点333-1时,可在实体节点302和第一进口节点333-1之间交换身份标识数据、鉴认数据等。身份标识数据可包含车辆标识号(VIN)、鉴认密钥(例如下文描述的公钥)、车辆凭证、车牌号码ID、驾驶员数据、通过进入所述方位将到达的目的地等。

图3B是根据本公开的实施例的实例环境,包含多个车辆通信组件316-1、316-2、316-3、316-4(在下文统称为车辆通信组件316)和多个入口通信组件346-1、346-2、346-3、346-4(在下文统称为入口通信组件346)。第一车辆通信组件316-1可与第一车辆实体302-1耦合和/或相关联。第二车辆通信组件316-2可与第二车辆实体302-2耦合和/或相关联,第三车辆通信组件316-3可与第三车辆实体302-3耦合和/或相关联,且第四车辆通信组件316-4可与第四车辆实体302-4耦合和/或相关联。同样地,入口通信组件346可与对应入口实体333(例如门、入口车行道、关卡等)耦合和/或相关联,如图3B中所说明。

随着车辆实体302-1的第一车辆通信组件316-1趋近到入口通信组件346的特定接近度内且因此靠近将进入或进出的方位337,车辆通信组件316-1可开始对包含车辆实体302-1的标识数据和鉴认数据的数据传送。在此实例中,特定接近度可以指处于50cm、500米等之间的距离。然而,实施例不限于特定接近度。在实例中,特定接近度可取决于天线(例如图1中的天线119和图2中的天线249)的类型。

第一车辆通信组件316-1和第一入口通信组件346-1之间的通信可包含身份标识数据、鉴认数据、进出请求数据等的交换。鉴认数据可包含公共标识、凭证标识、公钥和车辆签名,如将在下文结合图5-9进一步描述。一旦第一入口实体302-1检验了鉴认数据,便可在第一入口通信组件346-1、第二入口通信组件346-2、第三入口通信组件346-3和第四入口通信组件346-4之间和/或当中交换其它数据。作为实例,可在入口通信组件346当中共享块链,且入口通信组件346中的每一个可与车辆实体302-1通信以检验车辆实体302-1的身份标识和车辆实体302-1的方位和/或请求历史。作为实例,如果入口通信组件346中的一个在块链的块中包含指示尝试进出方位337的车辆实体已经进入且尚未离开方位337的数据,那么将拒绝正在尝试进出的当前车辆实体进出。换句话说,不允许具有相同身份标识数据的两个车辆实体在同一时间进入方位337,且因此如果块链数据指示特定车辆实体已经进入,那么将拒绝具有相同身份标识数据的后一车辆实体进出。

如下文将进一步描述,入口通信组件346中的每一个可存储本地分类账块链,如结合图10-14B所描述,其中本地分类账块链用以存储与每个车辆实体有关的对应数据。作为实例,第一入口通信组件346-1可存储指示所有已出现的进入和离开车辆的本地分类账块链数据。存取特定本地分类账块链将提供方位337的所述特定入口点的数据。第二入口通信组件346-2可存储所述特定入口点的指示全部进入和离开的第二本地分类账块链数据,以此类推到第三入口通信组件346-3和第四入口通信组件346-4。同样地,本地分类账块链可与特定车辆实体相关联,使得本地分类账块链指示特定车辆实体每次进入和离开方位337的时间,而不考虑使用哪个入口,且可在与所述车辆实体相关联的本地分类账块链中指示所使用的每个特定入口。

图4是鉴认数据441、443在车辆通信组件416和入口通信组件446之间的交换的说明。由车辆通信组件416发射并且被入口通信组件446接收到的鉴认数据441的部分可包含车辆数据465、车辆标识凭证(“Vehicle_ID cert”)481、车辆公钥(“Vehicle KL1_Publickey”)483、加密的有效载荷493和车辆签名(“Vehicle Signature”)496。车辆数据465可包含将用以进入方位或车行道的入口(例如,门)ID、方位坐标(例如,GPS坐标)、车辆的车牌标识、与车辆相关联的保险信息、驾驶员信息等。车辆标识凭证481可用以检验车辆实体的身份标识经鉴认。车辆公钥483可用以加密待发送到入口通信组件446的数据,以便入口通信组件446使用其自身的私钥解密所接收数据如将结合图5-9进一步描述。加密的有效载荷493可包含经加密数据,例如车牌号码或ID、保险编号、驾驶员信息、车辆的最终目的地等(类似于465但为了添加的安全性而经加密)。

车辆签名496用以检验数据是从经授权实体发送,使得具有此可检验签名的数据是来自车辆实体所要求的发送方。车辆签名496通过使用车辆私钥(只为所述车辆实体所私有)对签名进行加密来产生,并且使用公开提供的车辆公钥来解密。下文结合图9描述签名检验的进一步描述。

由入口通信组件446发射并被车辆通信组件416接收到的鉴认数据443的部分可包含入口数据466、入口标识凭证(“Entrance_ID cert”)482、入口公钥(“Entrance_KL2_Public key”)484、入口响应497和入口签名(“Entrance Signature”)495。入口数据466可包含门标识(例如,方位、名称等)、方位数据(例如,GPS坐标),以及其它数据。入口标识凭证482可用以检验入口装置的身份标识经鉴认。入口公钥484可用以加密待发送到入口通信组件446的数据,以便入口通信组件446使用其自身的私钥解密所接收数据,如将结合图5-9进一步描述。入口响应497可指示车辆实体是否已经鉴认并且允许进出一方位和/或可提供接受或拒绝进入的原因。

入口签名495用以检验数据是从经授权实体发送,使得具有此可检验签名的数据是来自车辆实体所要求的发送方。入口签名495通过使用入口私钥(只为所述入口实体所私有)对签名进行加密来产生,并且使用公开提供的公钥来解密。下文结合图9描述签名检验的进一步描述。

这些公钥(车辆和入口)可用于加密发送到每个相应通信组件的数据,并检验每个通信组件的身份标识以便交换车辆和/或入口数据。作为实例,如将在下文结合图5-9进一步描述,车辆通信组件416可使用接收到的入口公钥484加密数据,并将经加密数据发送到入口通信组件446。同样地,入口通信组件446可使用接收到的车辆公钥483加密数据,并将经加密数据发送到车辆通信组件416。例如由入口通信组件446发送的车辆数据的数据可包含入口方位数据、入口身份标识数据等。车辆数据的接收确认可以与数字签名一起发送,以检验车辆通信组件416的身份标识。

在实例中,在车辆通信组件416和入口通信组件446之间交换的数据可具有供其它数据使用的新鲜度。作为实例,可在特定时间帧中的每一个处或针对正在发送的数据的特定量更改在接收车辆和/或入口数据时由车辆通信组件416发送到入口通信组件446的数据。这可防止黑客拦截先前发送的数据且再次发送相同的数据来产生相同的结果。如果数据被稍微更改但仍指示相同的指令,黑客可能会在稍后的时间点发送相同的信息,但由于接收方期望更改后的数据执行相同的指令,因此不会执行相同的指令。

可使用如下文所描述的数种加密和/或解密方法执行在车辆通信组件416和入口通信组件446之间交换的数据。确保数据安全可保证防止违法活动干扰提供给车辆实体和/或入口实体的车辆数据。

图5是根据本公开的实施例的包含车辆通信组件516和入口通信组件546的实例系统的框图。当车辆实体(例如,图1中的102)极为接近入口实体(例如,图2中的入口实体233)时,入口实体的相关联入口通信组件546(例如,图4中的446)可使用传感器(例如,射频标识传感器(RFID))与车辆实体的车辆通信组件516交换数据。

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

车辆通信组件516可如由箭头554所说明,将数据发射到入口通信组件546。所发射数据可包含公共的车辆标识(例如,图4中的465)、凭证(例如,车辆标识凭证481)和/或车辆公钥(例如,483)。入口通信组件546的层2(“L2”)555可接收所发射数据并且在操作系统(“OS”)557的操作中并且在第一应用程序559-1和第二应用程序559-2上执行所述数据。

在实例操作中车辆通信组件516可读取装置秘密558,将层1 553的身份标识散列,并且执行计算,所述计算包含:

KL1=KDF[Fs(s),Hash(“不可变信息”)]

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

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

同样地,如由箭头556所说明,入口通信组件546可发射数据,包含公共的入口标识(例如,入口公共标识466)、入口凭证(例如,车辆标识凭证482)和/或入口公钥(例如,公钥484)。

图6是根据本公开的实施例的用于确定数个参数的实例过程的框图。图6是确定包含车辆公共标识、车辆凭证和车辆公钥的参数的实例,如由箭头654所指示,所述参数随后发送到入口通信组件(例如,图5中的546)的层2(例如,层2 555)。图6中的层0(“L0”)651对应于图5中的层0 551,且同样地,FDS 652对应于FDS 552,层1653对应于层1 553,并且箭头654和656分别对应于箭头554和556。

来自层0 651的FDS 652发送到层1 653并且供不对称ID产生器661用于产生公共标识(“IDlk public”)666和私有标识667。在简称的“IDlk public”中,“lk”指示层k(在此实例中为层1),且“public”指示标识被开放共享。公共标识(“IDL1public”)666通过向右延伸到车辆通信组件的层1 653外部的箭头说明为被共享。产生的私有标识667用作输入到加密器673中的密钥。加密器673可为用以加密数据的任何处理器、计算装置等。

车辆通信组件的层1 653可包含不对称密钥产生器663。在至少一个实例中,随机数产生器(RND)650可任选地将随机数输入到不对称密钥产生器663中。不对称密钥产生器663可产生与车辆通信组件(例如图5中的车辆通信组件516)相关联的公钥(“KLk public”)684(被称为车辆公钥)和私钥(“KLK private”)671(被称为车辆私钥)。车辆公钥683可为(作为“数据”)输入到加密器673中的输入。加密器673可使用车辆私有标识667和车辆公钥683的输入产生结果K'675。车辆私钥671和结果K'675可输入到额外加密器677中,进而产生输出K”679。输出K”679是发射到层2(图5的555)的车辆凭证(“IDL1凭证”)681。车辆凭证681可提供检验和/或鉴认从车辆实体发送的数据的来源的能力。作为实例,从车辆通信组件发送的数据可通过检验凭证以与车辆通信组件的身份标识相关联,如将结合图8进一步描述。另外,车辆公钥(“KL1 public key”)683可发射到层2。因此,车辆通信组件的层1 653的公共标识665、凭证681和车辆公钥683可发射到入口通信组件的层2。

图7是根据本公开的实施例的用于确定数个参数的实例过程的框图。图7说明产生入口标识(“IDL2 public”)766、入口凭证(“IDL2 Certificate”)782和入口公钥(“KL2 public key”)784的入口通信组件(例如,图5中的入口通信组件546)的层2 755。

从入口通信组件的层1发射到车辆通信组件的层2 755的入口公钥(“KL1 public key”)784(如图6中所描述)供入口通信组件的不对称ID产生器762用以产生入口通信组件的公共标识(“IDlk public”)766和私有标识768。在缩写“IDlk public”中,“lk”指示层k(在此实例中为层2),且“public”指示标识公开共享。公共标识766通过向右延伸到层2 755外部的箭头说明为被共享。产生的私有标识768用作输入到加密器774中的密钥。

如图7中所示,入口凭证782和入口标识766与入口公钥784一起供凭证检验器723使用。凭证检验器723可检验从主机(例如,主机516)接收的车辆凭证781,并且响应于车辆凭证782被检验或未被检验,确定是接受还是丢弃从主机接收的数据。结合图8描述检验车辆凭证781的另外细节。

入口通信组件的层2 755可包含不对称密钥产生器764。在至少一个实例中,随机数产生器(RND)650可任选地将随机数输入到不对称密钥产生器764中。不对称密钥产生器764可产生与入口通信组件(例如图5中的入口通信组件546)相关联的公钥(“KLk public”)784(被称为入口公钥)和私钥(“KLK private”)772(被称为入口私钥)。入口公钥770可为(作为“数据”)输入到加密器774中的输入。加密器774可使用入口私有标识768和车辆公钥770的输入产生结果K'776。入口私钥772和结果K'776可输入到额外加密器778中,进而产生输出K”780。输出K”780是发射回到层1(图5的553)的入口凭证(“IDL2凭证”)782。入口凭证782可提供检验和/或鉴认从设备发送的数据的来源的能力。作为实例,从入口通信组件发送的数据可通过检验凭证以与入口通信组件的身份标识相关联,如将结合图8进一步描述。另外,入口公钥(“KL2 public key”)784可发射到层1。因此,入口通信组件的公共标识766、凭证782和入口公钥784可发射到车辆通信组件的层1(且反之沿其它方向针对车辆通信组件的元件正在发送到入口通信组件也如此)。

在实例中,响应于车辆通信组件从入口通信组件接收到公钥,车辆通信组件可使用入口公钥加密待发送到入口通信组件的数据。反过来,入口通信组件可使用车辆公钥加密待发送到车辆通信组件的数据。响应于车辆通信组件接收到使用车辆公钥加密的数据,车辆通信组件可使用其自身的车辆私钥对数据进行解密。同样地,响应于入口通信组件接收到使用入口公钥加密的数据,入口通信组件可使用其自身的入口私钥解密所述数据。由于不与车辆通信组件外部的另一装置共享车辆私钥且不与入口通信组件外部的另一装置共享入口私钥,因此发送到车辆通信组件和入口通信组件的数据保持安全。

图8是根据本公开的实施例的用于检验凭证的实例过程的框图。在图8中所说明的实例中,从车辆通信组件(例如,从图5中的车辆通信组件516的层1 553)提供公钥883、凭证881和公共标识。凭证881和车辆公钥883的数据可用作输入到解密器885中输入。解密器885可为用以解密数据的任何处理器、计算装置等。凭证881和车辆公钥883的解密结果可用作与公共标识一起输入到次级解密器887中的输入,进而产生输出。如889处所说明,车辆公钥883和来自解密器887的输出可指示凭证是否经检验,从而产生是或否891以作为输出。响应于凭证经检验,可接受、解密和/或处理从正在被检验的装置接收的数据。响应于凭证未经检验,可舍弃、移除和/或忽略从正在被检验的装置接收的数据。以此方式,可检测和避免发送违法数据的违法装置。作为实例,可标识黑客发送待处理的数据且不处理黑客数据。

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

车辆计算装置912(例如图1中的车辆计算装置112)可将数据990发送到车辆计算装置(例如图1中的入口计算装置112)。车辆计算装置912可在994处使用车辆私钥972产生签名996。签名996可发射到入口计算装置942。可在998处使用数据992和先前接收到的车辆公钥984检验入口计算装置942。以此方式,签名检验通过使用私钥加密签名且使用公钥解密签名而操作。以此方式,用于产生唯一签名的私钥可保持对发送签名的装置专用,同时允许接收装置能够使用发送装置的公钥对签名进行解密以用于检验。这与数据的加密/解密形成对比,所述数据由发送装置使用接收装置的公钥加密且由接收装置使用接收器的私钥解密。在至少一个实例中,车辆可通过使用内部密码术过程(例如,椭圆曲线数字签名(ECDSA)或类似过程)来检验数字签名。

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

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

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

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

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

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

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

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

图11A是根据本公开的实施例的包含主机1102和呈存储器装置1106形式的设备的计算系统1100的框图。如本文所使用,“设备”可指但不限于多种结构或结构的组合中的任何一种,例如,电路或电路系统、一或多个裸片、一或多个模块、一或多个装置或一或多个系统。另外,在一实施例中,计算系统200可包含类似于存储器装置1106的数个存储器装置。在一个实例实施例中,如图11B中更多地展示,计算系统1100可表示例如分布式对等网络的节点的较大网络内的节点。

在图11A中所说明的实施例中,存储器装置1106可包含具有存储器阵列1101的存储器1140。如图11A所示,存储器1140可将块链技术系统中使用的“块链数据”1120存储在存储器阵列1101中。块链技术系统中的块链数据的“块”可包含数据(例如,有效载荷)、标头、加密、历史、时间戳等。如本文将结合图12和13进一步描述的,块链数据1120可以是“本地块链”数据和/或“全局块链”数据,并且可以包含存储的全局块链分类账(例如,“全局分类账块链”数据)和/或存储的本地块链分类账(例如,“本地分类账块链”数据)。

存储器阵列1101可以类似于先前结合图10描述的存储器阵列1001。然而,如本文所使用,块链架构中的块链数据的块不一定等同于先前结合图1描述的存储器块的大小。因此,术语“全局块”和/或“本地块”,当作为块链数据存储在存储器中时,不一定等同于存储器的块大小单位。全局块和/或本地块可以小于、等效于和/或大于与特定存储器架构或设计相关联的块大小单元,例如命名。此外,存储器阵列1101可以是安全阵列,如本文将结合图14A和14B进一步描述。虽然图11A中说明了一个存储器阵列1101,但存储器1140可包含类似于存储器阵列1101的任何数目的存储器阵列。

如图11A中所说明,主机1102可以经由接口1104耦合到存储器装置1106。主机1102和存储器装置1106可在接口1104上进行通信(例如,发送命令和/或数据,例如块链数据1120)。主机1102和/或存储器装置1106可以是以下各项或为以下各项的部分:手提式计算机、个人计算机、数码相机、数字录制和重放装置、移动电话、PDA、存储卡读取器、接口集线器或支持物联网(IoT)的装置,例如支持汽车(例如,车辆和/或运输基础设施)IoT的装置或支持医疗(例如,可植入和/或健康监测)IoT的装置,以及其它主机系统,并且可以包含存储器存取装置(例如,处理器)。所属领域的一般技术人员将理解,“处理器”可以是一或多个处理器,如平行处理系统、多个协处理器等。

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

存储器装置1106包含与主机1102和存储器1140(例如,存储器阵列1101)通信的控制器1108。举例来说,控制器1108可发送对存储器阵列1101执行操作的命令,所述操作包含感测(例如,读取)、编程(例如,写入)、移动和/或擦除数据(例如,“本地”和/或“全局”块链数据)的操作,以及其它操作。同样,结合图12和13定义在块链技术和系统中用于块链数据的术语“全局块”和/或“本地块”的预期含义。

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

主机1102可包含与存储器装置1106通信的主机控制器(图11A未示出)。主机控制器可经由接口1104向存储器装置1106发送命令。主机控制器可与存储器装置1106和/或存储器装置1106上的控制器1108通信以读取、写入和/或擦除数据(例如,“本地”和/或“全局”块链数据),以及其它操作。此外,在实施例中,主机1102可以是具有IoT通信能力的支持IoT的装置,如本文中先前所描述。

存储器装置1106上的控制器1108和/或主机202上的主机控制器可包含被配置成例如根据DICE-RIoT架构和/或协议,执行本文中例如结合图12和13所描述的块链操作的控制电路系统和/或逻辑(例如,硬件和固件)。在实施例中,存储器装置206上的控制器1108和/或主机1102上的主机控制器可以是耦合到包含物理接口的印刷电路板的专用集成电路(ASIC)。并且,存储器装置1106和/或主机1102可包含易失性和/或非易失性存储器的缓冲器和数个寄存器。

举例来说,如图11A中所示,存储器装置可包含电路系统1110。在图11A中所说明的实施例中,电路系统1110包含在控制器1108中。但是,本公开的实施例不受如此限制。举例来说,在实施例中,电路系统1110可以包含在存储器1140中(例如,与存储器1140包含在同一裸片上)(例如,而不是包含在控制器1108中)。电路系统1110可包括根据例如DICE-RIoT架构和/或协议使用在图5-9中解释的加密技术执行本文中例如结合图12和13所描述的块链操作的硬件、固件和/或向处理资源传达此类执行指令。

举例来说,电路系统1110可被配置成接收块链数据的全局块(在图12和13中定义),将作为块链数据(例如1120)的本地块添加到存储器1140的阵列1101内的本地分类账块链(也在图12和13中定义)上。举例来说,块链数据(例如1120)的本地块可以是块链数据的经验证的所接收全局块,并且可以产生和/或添加到本地分类账块链(如图12和13所示),以用于验证(例如,鉴认和/或证实)对存储在存储器1140(例如,存储器阵列1101)中的数据的更新。待添加为本地分类账块链中的本地块的全局块可包含多个标头。

在实施例中,阵列1101的子集或整个阵列1101可为安全阵列(例如,存储器1140的区域将保持受控制)。图11A说明一对寄存器1139-1和1139-2,不过实施例不限于此,且可使用一或多个寄存器。举例来说,存储在存储器阵列1101中的数据可包含敏感(例如,非用户)数据,例如主机固件和/或将针对敏感应用程序执行的代码。在此类实施例中,可使用一对非易失性寄存器来定义安全阵列。举例来说,在图11A所说明的实施例中,电路系统1110包含可用于定义安全阵列的寄存器1139-1和1139-2。举例来说,寄存器1139-1可以定义安全阵列的地址(例如,数据的起始LBA),且寄存器1139-2可以定义安全阵列的大小(例如,数据的结束LBA)。本文将结合图14A-14B进一步描述此类寄存器的实例和其在定义安全阵列时的使用。

一旦定义了安全阵列,电路系统1110可用以使用经鉴认的反重放保护命令产生(例如,计算)与安全阵列相关联的密码散列,所述密码散列在本文中可被称为黄金散列(例如,使得仅存储器装置1106知道黄金散列,并且仅存储器装置1106能够产生和更新所述黄金散列)。黄金散列可以存储在存储器阵列1101的不可存取部分(例如,在其中存储块链数据1120和本地分类账块链的相同的不可存取部分)中,并且可以在验证安全阵列的数据的过程中供使用。

在一个实例实施例中,存储器装置1106(例如,使用电路系统1110)可以经由接口1104将块链数据1120(其可以是从全局分类账块链接收到的全局块)连同与块链数据1120相关联的数字签名一起发送到主机1102,用于在更新存储在存储器阵列1101中的数据之前验证更新(例如,块链数据的有效载荷)。举例来说,响应于存储器装置1106的供电(例如,通电和/或上电),电路系统1110可以感测(例如,读取)所接收并存储在存储器阵列1101中的块链数据1120,并将感测到的块链数据1120发送到主机1102,以验证对存储在阵列1101中的数据的更新。因而,可在存储器装置1106供电时(例如,自动)起始对存储在存储器阵列1101中的数据的验证。

作为额外实例,电路系统1110可以在例如主机1102等外部实体起始对存储在存储器阵列1101中的数据的更新的验证时,将块链数据1120连同与块链数据1120相关联的数字签名一起发送到主机1102。举例来说,主机1102可以向存储器装置1106(例如,电路系统1110)发送感测块链数据1120的命令,且电路系统1110可以响应于接收到所述命令而对所述命令进行操作以感测块链数据1120并将感测到的块链数据1120发送到主机1102以验证存储在阵列1101中的数据。

在接收到块链数据1120后,主机1102可以使用接收到的块(例如,接收到的全局块的有效载荷)验证(例如,确定是否验证)存储在存储器阵列1101中的数据。举例来说,如将结合图12和13进一步阐述,主机1102可以使用块链中前一块的密码散列和存储在存储器阵列1101中的数据的密码散列来验证数据。此外,主机1102可以验证与块链数据1120相关联的数字签名,以确定本地块包含在(例如,符合要求能包含在)本地分类账块链中。如本文所使用,验证对存储在存储器阵列1101中的数据的更新可包含和/或涉及鉴认和/或证实更新是真实的(例如,与最初编程的相同),并且尚未被黑客频繁提供的黑客活动更改,或者另外包含未经授权的改变。

在存储器阵列1101是安全阵列的实施例中,如结合图12和13进一步描述,黄金散列也可用于验证对存储在存储器阵列1101中的数据的更新。举例来说,可产生(例如,计算)运行时间密码散列,并与黄金散列进行比较。如果所述比较指示运行时间和黄金散列匹配,则可以确定安全阵列尚未被更改,且因此存储在其中的数据是有效的。然而,如果所述比较指示运行时间和黄金散列不匹配,则这可能指示存储在安全阵列中的数据已经改变(例如,由于黑客或存储器中的故障),并且这可以报告给主机1102。

在一个实例实施例中,除了验证存储在存储器阵列1101中的数据外,电路系统1110还可以验证块链数据1120(例如,从全局分类账块链接收的全局块),以确定块链数据1120是否来自经授权实体(例如,已知实体),并且接收到的块链数据1120上指示的散列与本地分类账块链上的块链数据的最近本地块相匹配。响应于块链数据1120的验证,电路系统1110可以配置成提供包含在块链数据1120中的更新,以增加、修改和/或替换存储在安全阵列中的代码(或代码的一部分)。

如将结合图12和13进一步阐述,在验证作为存储在存储器阵列1101中的本地分类账块链中的本地块的块链数据1120之后,电路系统1110可以产生待添加到本地分类账块链以更新存储在存储器阵列1101中的数据的额外的(例如,下一个)本地块(例如,接收形成全局分类账块链的下一个全局块),其方式类似于产生/接收前一块链数据1120的方式。举例来说,块链数据1120的此额外本地块可包含本地分类账块链中前一块的密码散列,以及对存储在存储器阵列1101中的数据的新更新的新密码散列。此外,此额外本地块可包含具有指示此块何时产生(例如,作为额外全局块接收)的时间戳的标头,并且可以具有与之相关联的数字签名,所述数字签名指示此额外本地块来自经授权实体,并且可以包含在本地分类账块链中。本文将进一步描述说明这种额外本地块的实例(例如,结合图3)。此外,在存储器阵列1101是安全阵列的实施例中,可产生额外的(例如,新的)黄金散列。

块链数据的额外本地块以及与额外本地块相关联的数字签名和额外黄金散列可以作为本地分类账块链的一部分存储在存储器阵列1101中。举例来说,额外本地块可以替换存储器阵列1101中的块链数据1120(例如,前一块链数据1120)。主机1102随后可以使用额外块链数据、数字签名和额外黄金散列来验证对存储在存储器阵列1101中的数据的更新(例如,有效载荷),其方式类似于本文先前针对块链数据1120描述的方式。当本地分类账块链中的额外本地块作为全局块接收、由主机1102验证并由主机1102用于验证对存储在存储器阵列1101中的数据的更新时,电路系统1110可继续产生这些额外本地块,在存储器装置1106的整个寿命期间呈这种方式。

图11A中所说明的实施例可包含为避免模糊本公开的实施例而未说明的额外电路系统、逻辑和/或组件。举例来说,存储器装置1106可包含锁存通过I/O电路系统在I/O连接器上提供的地址信号的地址电路系统。行解码器和列解码器可接收并解码地址信号以存取存储器阵列1101。此外,存储器装置1106可包含与存储器阵列1101隔离的主存储器和/或除所述存储器阵列之外还包含主存储器,所述主存储器例如DRAM或SDRAM。本文将进一步描述进一步说明存储器装置1106的额外电路系统、逻辑和/或组件的实例(例如,结合图15)。

图11B是根据本公开的实施例的计算系统的网络的框图,所述网络可包含使用无线协议和互联网协议(IP)以有线和/或无线方式连接的例如对等网络的公共和/或专用分布式网络中的许多计算节点。在图11B的实例中,示出在例如对等网络的网络中连接的多个节点1100-1、1100-2、1100-3、……、1100-N。网络可以支持分布式分类账技术(DLT),例如“块链”技术。分布式分类账是分布在若干节点或计算装置上的数据库。

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

因此,在图11B的实例中,给定节点1100-1(H1)、1100-2(H2)、1100-3(H3)、……、1100-N可维护分类账中当前列表或记录的副本。多个节点1100-1、1100-2、1100-3、……、1100-N可以各自表示不同的主机,例如,具有处理资源的计算装置。为了便于说明,可关于自主和/或非自主运输车辆、汽车、公共汽车、紧急车辆等的块链考虑主机或多个节点1100-1、1100-2、1100-3、……、1100-N。然而,实施例不限于这一实例。

在此实例中,公共或专用实体(例如,军用实体、机场管理者、宾馆所有者、医院实体等)的服务器可表示图11B中示出的节点网络1100-1、1100-2、1100-3、……、1100-N上的一个节点,例如1100-1。经认证的修理厂(例如特许经销商修理店)可表示另一节点,例如1100-2。节点1100-3可为经由互联网和/或其它无线连接连接到对等网络的另一主机,例如另一计算装置。

与节点1100-1相关联的公共或专用实体可维护具有与和节点1100-1相关联的特定主题有关的按时间顺序链接的数据块的“第一块链分类账”,例如维护与公共或专用实体相关联的所有车辆的第一块链分类账。为便于说明而非作为限制,具有与和特定节点(例如,对于与给定公共或专用实体相关联的所有车辆)相关联的特定主题相关的按时间顺序链接的数据块的“第一块链分类账”,在本文中也可称为“全局块链分类账”(或“全局分类账块链”)。公共或专用实体可以将第一块链分类账(“全局分类账块链”)以有线和/或无线方式分布到对等网络中的其它节点1100-2、1100-3等,以及分布到作为节点连接到网络的其车辆。在与不同节点1100-1、1100-2、1100-3、……、1100-N通信时可使用各种无线通信技术。举例来说,不同代的宽带移动通信技术(例如,第一代到第五代(1-5G))、包含蓝牙、Zigbee和/或LTE装置间通信技术的装置间(例如,车辆间(v2v))通信,和/或利用中间装置的其它无线通信(例如,利用接入点(AP)的WiFi),可用于与不同节点的通信。

在图11B的实例中,节点1100-4可表示按由节点1100-1表示的特定公共或专用实体属于与公共或专用实体相关联的车辆子集或类别的特定车辆。在此实例中,节点1100-5可表示与和节点1100-1相关联的公共或专用实体相关联或替代地与所述公共或专用实体无关的相同或不同车辆子集或类别中的另一特定车辆。类似地,节点1100-N可表示与和节点1100-1相关联的公共或专用实体相关联或替代地与所述公共或专用实体无关的相同或不同车辆子集或类别中的另一特定车辆。

每个节点可以具有其自身的处理资源,例如,连接到一或多个存储器装置的主机,例如图11A中所说明。因此,车辆节点1100-4、1100-5和1100-N可各自分别包含单个和/或多个主机,例如处理资源1102-4、1102-5、1102-N。给定车辆节点1100-4、1100-5和1100-N上的每个主机可以连接到每个车辆上的多个存储器装置。举例来说,存储器装置1106-4-1、1106-4-2、1106-4-X可与节点1100-4上的主机1102-4相关联,存储器装置1106-5-1、1106-5-2和1106-5-B可与节点1100-5上的主机1102-5相关联,且存储器装置1106-N-1、1106-N-2和1106-N-Z可与节点1100-N上的主机1102-N相关联。

在此实例中,节点1100-1可将节点1100-1维护的持续增长的第一(例如“全局”)块链分类账(在本文中也称为“全局分类账块链”)的经更新副本定期发送(例如分布)到节点1100-4、1100-5、……和1100-N,其中包含与和公共或专用实体相关联的所有车辆的主题相关的按时间顺序排列的块,例如数据。根据块链技术,节点1100-1可以与分布式网络中的其它节点1100-1、1100-2、1100-3、……、1100-N共享第一(例如“全局”)分类账块链的副本。然而,并非节点1100-1维护且接收到其它特定节点1100-4、1100-5、……、1100-N的增长的第一(例如“全局”)分类账块链中的所有“块”都可能是可信的和/或与其它特定节点相关的。举例来说,特定车辆,例如节点1100-4、1100-5、……、1100-N可能属于与关联于节点1100-1的公共或专用实体相关联的车辆子集或子类,但只有第一(例如“全局”)分类账块链中的特定块可能与特定节点1100-4、1100-5、……、1100-N(例如,所述车辆子集或子类中的特定车辆)相关。因而,根据本文公开的实施例,特定节点1100-4、1100-5、……、1100-N可仅验证经鉴认且与所述节点1100-4、1100-5、……、1100-N相关的那些块。

根据实例实施例,特定节点(例如1100-4)可验证经鉴认且与所述节点相关的块并将所述块添加到第二块链分类账,所述第二块链分类账可以是比从节点1100-1到节点1100-4接收的全局分类账块链中包含的所有块少的块的子集。节点1100-4可存储“全局分类账块链”子集作为相应节点1100-4、1100-5、……、1100-N上的“本地块链分类账”(在本文中也称为“本地分类账块链”)。节点1100-4也可与其它节点共享本地分类账块链。然而,不要求相同,并且本地分类账块链被称为“本地”是因为它可以仅对特定节点1100-4(例如,特定车辆的主机和/或存储器装置)保持“本地”。因此,为了便于说明,第二块链分类账(“本地分类账块链”)在本文中可被称为本地分类账块链。节点(例如1100-4)可经由其所连接的节点网络接收与其它全局分类账块链相关联的、关于各种主题的许多全局块。然而,节点(例如,1100-4)可以选择允许其接受添加的块中的哪些块添加到其本地分类账块链。如结合图12和13更详细阐述,本公开的实施例可以使用图5-9中描述的加密技术来验证和添加与特定节点1100-4、1100-5、……、1100-N相关的块,并在特定节点1100-4、1100-5、……、1100-N上存储和维护那些块,作为“本地分类账块链”数据,例如,作为对特定车辆的安全固件更新。在一个实例中,特定车辆(例如节点1100-4、1100-5、……、1100-N)上的单个主机(例如,图11A所示)或多个主机可以维护本地分类账块链。作为实例,单个或多个主机可以根据共同未决、共同提交的标题为“使用存储器作为块链中的块(USING MEMORY AS ABLOCK IN ABLOCK CHAIN)”的代理人案号1016.0030001的第_____________号美国申请案。在此实例中,可以验证与特定车辆(例如节点1100-4、1100-5、……、1100-N)相关的固件更新并将其添加到节点1100-4、1100-5、……、1100-N的“本地分类账块链”,或替代地将其舍弃。

图12说明全局分类账块链1222与本地分类账块链1224、1226和1228之间的交换(例如,通过图11A中的电路系统1110和存储器1140)的实例,所述交换可由电路系统操作并存储在存储器和/或安全阵列中。在此实例中,可验证对数据的安全更新,并将其存储在存储器(例如结合图11A描述的存储器阵列1101)中。如本文所使用,根据块链分类账或系统中的块链技术的“块”可包含数据(例如,有效载荷)、标头、加密、历史、时间戳等。同样,块链中的“块”不必与存储器块的大小相关或等同,如图10中作为存储器存储单元所阐述。

此外,如本文所使用,术语“全局块”是第一块分类账中的块,在本例中,所述块在较大实体系统或网络中维护和共享。“本地块”是仅在本地分类账块链中作为与特定节点(例如,1100-4)相关的数据子集、作为与实体系统或网络(例如,图11A中的存储器装置1101)内的车辆子集或更具体类别的实体相关的特定主题的子集维护的块。全局块或本地块链都不必等于特定存储器架构的块大小。全局块和/或本地块可以小于、等效于和/或大于与特定存储器架构或设计相关联的块大小命名。

如图12中所示,第一(例如,全局)分类账块链1222可与和图11B中的节点1100-1相关联的主题有关。全局分类账块链可包含全局块1220-1、1220-2、1220-3、1220-4、1220-5、1220-6和1220-N。当由本文所描述的电路系统和逻辑进行操作时,全局块1220可经验证并被接受到第二(例如,本地)分类账块链1224、1226和1228中,示出为本地块1221-1、1221-2、1221-3、1221-4、1221-5、1221-6和1221-N。第二(例如,本地)分类账块链1224、1226和1228可由图11B中所示的其中的相应节点1100-4、1100-5、……、1100-N维护。替代地,如果未验证特定节点(例如,图11B中所示的节点1100-4、1100-5、……、1100-N)上维护的本地分类账块链,可以从中拒绝全局分类账块链的相应全局块。

举例来说,当特定存储器接收到待验证的全局块链数据并将其存储为本地分类账块链中的本地块时,必须通过电路系统和逻辑(例如,图11A中的电路系统1110)验证全局块链数据,然后才能将其变为本地分类账块链中的本地块。在图12的实例中,例如通过电路系统1110,全局块1220-1已经验证成为本地分类账块链1224中的本地块1221-1,全局块1220-2已经验证成为本地分类账块链1226中的本地块1221-2,全局块1220-3已经验证成为本地分类账块链1228中的本地块1221-3,全局块1220-4已经验证成为本地分类账块链1224中的本地块1221-4,全局块1220-5已经验证成为本地分类账块链1224中的本地块1221-5,全局块1220-6已经验证成为本地分类账块链1226中的本地块1221-6,且全局块1220-N已经验证成为本地分类账块链1228中的本地块1221-N。

在一个实例实施例中,通过使用图11A中描述的电路系统1110,全局块1220可被接收到存储器装置(例如图11A中的1101),进行验证并添加(例如产生)到本地分类账块链1224、1226或1228。在图12的实例中,全局块1220-4已被接收并验证成为本地块1221-4。本地块1221-4可在本地块1221-1已通过本文描述的电路系统和逻辑验证后添加到本地分类账块链1224。如结合图13进一步描述,本地块1221-1用于验证全局块1220-4作为存储在存储器中的数据的更新。在此实例中,本地块1221-4可被接受并存储为本地分类账块链1224中处于本地块1221-1之后的下一块。全局分类账块链1222可包含来自多个主机(例如,结合图11A描述的主机1102)的块链配置、架构和/或协议中的块。

主机和/或存储器可以维护(例如,存储)本地分类账块链1224、1226、1228,并且仅包含与特定主机和/或存储器相关的经验证全局块。作为实例,与特定进口节点相关联的本地分类账块链可仅将与所述进口点有关的数据存储为所述特定本地分类账块链中的块。全局块1220可以包含与包含在全局块中的数据相关联的特定主机和/或存储器的标识符。举例来说,将本地分类账块链1224示出为与特定主机/存储器标识符(ID_1)相关联。因此,与此主机/存储器关系相关联的电路系统将仅验证相关的全局块,使得本地分类账块链1224将仅包含本地块1221-1(来自全局分类账块链1220的全局块1220-1)、本地块1221-4(来自全局分类账块链1220的全局块1220-4)和本地块1221-5(来自全局分类账块链1220的全局块1220-5)。作为实例,本地分类账块链1224可与第一进口节点(例如,进口节点333-1)相关联。将本地分类账块链1226示出为与另一主机和/或存储器标识符(ID_2)相关联。作为实例,本地分类账块链1226可与第二进口节点(例如,进口节点333-2)相关联。因此,与此主机/存储器关系相关联的电路系统将仅验证相关的全局块,使得本地分类账块链1226将包含本地块1221-2(来自全局分类账块链1220的全局块1220-2)和本地块1221-6(来自全局分类账块链1220的全局块1220-6)。将本地分类账块链1228示出为与另一主机和/或存储器标识符(ID_k)(例如第三进口节点,例如图3中的进口节点333-3)相关联。因此,与此主机/存储器关系相关联的电路系统将仅验证相关全局块(与进入一方位的所有进口点有关),使得本地分类账块链1228将包含本地块1221-3(来自全局分类账块链1220的全局块1220-3),以及本地块1221-N(来自全局分类账块链的全局块1220-N),原因是这些块是关于所述特定进口节点或进出点。

使用本地分类账块链(例如,1224、1226、1228)存储适当的块链数据作为对相应主机的存储器和/或存储器关系(例如,ID_1、ID_2和ID_k)的更新,可以提供对存储在与给定主机相关联的给定存储器装置(例如,图11A的存储器装置1106)中的数据的安全更新。因而,本文描述的电路系统和逻辑允许图12中所示的交换和组织。例如,电路系统配置成从全局分类账块链1222接收全局块(例如1220-4),并确定全局块1220-4是否与特定主机和/或存储器关系相关。如果全局块1220-4与特定主机和/或存储器相关,例如,根据块链匹配技术对相应标识符(例如,ID_1、ID_2和ID_k)的经加密散列进行比较,那么电路系统可将全局块1220-4添加到其本地分类账块链1224。块链数据的全局块1220-4可包含对包含在与主机和/或存储器相关联的安全阵列中的数据的更新的有效载荷。本文描述的电路系统(例如电路系统1110)可以通过检查(例如,比较)本地分类账块链1224中的当前本地块(例如,1221-1)的密码散列与存储在存储器中包含于全局块1220-4中的待更新的数据的密码散列来验证全局块1220-4。本地分类账块链1224的当前本地块1221-1还具有与其相关联的数字签名,所述数字签名类似地经过比较以指示全局块1220-4是否来自经授权实体(例如,包含标识符ID_1,所述标识符证明全局块1220-4来自与特定主机相关联的实体和/或包含本地分类账块链1224的存储器关系)。如结合图13所阐述,如果经过验证,当前本地块1221-1将成为“前一”本地块,且全局块1220-4将成为本地分类账块链1224中的随后的“当前”本地块1221-4。将结合图13详细描述本地分类账块链1224(例如,和/或1226、1228)的本地块1221的内容。

经授权实体可提供全局分类账块链1222作为公共分类账,所述公共分类账可分布到同意全局分类账块链1222接收特定方位进出的主机和/或存储器的全部和/或一部分。举例来说,可通过监测特定方位、车行道等的交通进出的实体来产生和维护全局分类账块链1222。举例来说,可通过公共或专用实体(例如,军用实体、机场管理者、宾馆所有者、医院实体等)产生和监测全局分类账块链1222,所述公共或专用实体随后在特定车辆移动进出一方位时监测所述特定车辆。全局分类账块链1222内的全局块1220中的每一个可包含具有特定标识符的车辆的入口和出口数据。举例来说,如由图12所说明,全局块1220-1、1220-4、1220-5对应于主机和/或存储器ID_1,全局块1220-2、1220-6对应于主机和/或存储器ID_2,且全局块1220-3、1220-N对应于主机和/或存储器ID_k。其中不同的ID对应于不同的主机和/或存储器关系(例如,不同的车辆)。

在此实例中,公共或专用实体产生并监测全局分类账块链1222,使得为特定车辆(例如,或共享标识符的特定车辆子集)产生的进入或离开更新的每个实例都记录为全局分类账块链1222中的不可变记录。举例来说,全局块1220-1包含对与ID_1相关联的车辆(例如,或存储器中与所述车辆相关联的数据)的更新,全局块1220-2包含对与ID_2相关联的车辆的更新,以此类推。全局块1220在由公共或专用实体产生时以循序次序汇编,且每个全局块1220可包含指示车辆正在进入或离开的特定门和/或特定方位的数字签名。以此方式,公共或专用实体可保持为所监测的不同车辆产生的所有更新(例如,进入和离开、移动等)的不可变记录。

如在块链技术中使用且结合图13更详细描述,全局分类账块链1222中的全局块1220可包含多个标头和加密。举例来说,全局分类账块链的全局块可包含全局块标头,所述全局块标头包含到前一全局块的密码散列数据(例如,到前一全局块的链接),以及包含到前一本地块的密码散列数据的散列。因此,当图11A中的主机1102和/或存储器装置1106接收到全局块时,待添加到本地分类账块链的全局块可包含本地分类账块链中的当前本地块(例如,在块链数据1120)的密码散列(例如,到当前本地块的链接)和对存储在存储器装置1106中的数据(例如,有效载荷)的更新的密码散列。本地分类账块链中的块链数据1120还可以包含与之相关联的数字签名,所述数字签名指示全局块来自经授权实体。

换句话说,主机和/或存储器(例如,图11A所示的主机1102和/或存储器1140)可以接收来自全局分类账块链的全局块,且主机和/或存储器上的电路系统和/或逻辑可以确定全局块是否与主机和/或存储器相关。如果是,则全局块和其内容可被验证成为存储在本地分类账块链中的块链数据的新本地块(例如,作为存储在图11A中的存储器1140的阵列1101上的块链数据1120的一部分)。本地块还可以包含具有指示本地块何时产生/接收的时间戳的标头。

存储在存储器阵列(例如,图11A的存储器阵列1101)中的数据的密码散列将由包含在接收/产生的本地块中的数据更新、更改、配置、和/或以其它方式改变,和/或本地分类账块链中的前一本地块的密码散列可以包括例如SHA-256密码散列。此外,存储在存储器阵列中的数据的密码散列和本地分类账块链中的前一本地块的密码散列可各自相应地包括256字节的数据。

存储在存储器阵列中的数据的密码散列可以由例如图11A中的电路系统1110的电路系统产生(例如,计算)。在此类实例中,所存储的数据的密码散列可以由存储器装置(例如,图11A中的存储器装置1106)在内部产生,而不需要在主机/存储器装置接口(例如,图11A中的接口1104)上移动外部数据。作为额外实例,数据的密码散列可以从外部实体传送。举例来说,主机可以产生存储在存储器阵列中的数据的密码散列,并将产生的密码散列发送到存储器装置,例如,存储器装置的电路系统可以从主机接收存储在存储器阵列中的数据的密码散列。

此外,可以由电路系统基于(例如,响应于)外部命令(例如,从主机接收的命令)而产生(例如,计算)与本地块相关联的数字签名。数字签名可以使用对称或非对称密码术产生。数字签名可以包含呈全局分类账块链上前一本地块(添加块时,其应与本地分类账块链上的当前本地块相匹配)形式的新鲜度字段。作为额外实例,主机可以产生数字签名,并将产生的数字签名发送(例如,提供)到存储器装置。

本文描述的新鲜度字段可能会随着添加到本地分类账块链的每个全局块而改变。因此,新鲜度字段可用于验证传入全局块是否是待添加为本地分类账块链中的下一块的正确块。当数字签名指示传入全局块与主机相关,且传入全局块的前一本地块字段(新鲜度)与本地分类账块链中的当前本地块相同时,将检验传入全局块是待添加到本地分类账的下一个本地块。因为新鲜度也可以用于计算数字签名,所以数字签名可以与每个传入全局块不同。

如所提及,数字签名可以是例如使用非对称密码术(例如,基于公钥和/或私钥)产生的数字签名,并且可以包括例如椭圆曲线数字签名。作为额外实例,可以使用对称密码术(例如,基于主机与存储器装置之间共享的唯一秘密密钥)产生签名。可以使用任何非对称协议(例如Diffie-Hellman协议)交换秘密密钥。在其它实例中,可与安全环境(例如,工厂生产、安全制造、在车辆与公共或专用实体相关联时等)中的主机共享密钥。将结合图5-9进一步论述秘密密钥的产生和验证。

如结合图11A所描述,此类块链数据1120可以存储在存储器阵列(例如图11A中的存储器阵列1101)中。块链数据1120可以存储在存储器阵列1101的不可被存储器装置的用户和/或主机存取的部分中(例如,存储在存储器阵列的“隐藏”区中)。将块链数据的本地块和/或本地分类账块链存储于特定存储器阵列中可通过去除对用于本地块的软件存储管理的需要来简化本地块存储。

在图12的实例中,全局块1220-6可包含具有前一全局块1220-5的散列的字段的全局标头,其中前一全局块字段指示全局分类账块链1222中的前一块。全局标头中的不同散列可包含前一本地块字段,其中前一本地块字段指示具有相同主机和/或存储器ID的标识符的前一全局块。

举例来说,全局块1220-6可以包含具有全局块1220-2(前一相关全局块)的散列的本地块字段,因为它们都是车辆ID_2。以此方式,特定主机和/或存储器装置关系(例如,对于车辆,或车辆子集)可以从全局分类账块链1222接收多个全局块1220,并确定接受哪些全局块1220作为本地块以及舍弃哪些全局块1220。

举例来说,本地分类账块链1224可以包含在通过呈具有ID_1的主机(例如,车辆)形式的标识符与特定主机相关联的存储器装置和/或存储器中。如本文中所描述的电路系统可配置成在与主车辆相关联的存储器中存储全局块1220作为本地分类账块链1224的部分。换句话说,电路系统配置成从全局分类账块链1222接收多个全局块1220,并且当电路系统确定全局块1220属于与车辆ID_1相关联的主车辆时,所述全局块1220被接受为本地块1221并被添加到本地分类账块链1224中。

具体地,在实例中,主车辆和/或与具有ID_1的主车辆相关联的存储器包含(例如可以存储)本地分类账块链1224,且电路系统和/或存储器可以从全局分类账块链1222接收多个全局块1220-1、1220-2、1220-3、1220-4、1220-5、1220-6和1220-N。电路系统配置成确定由电路系统从全局分类账块链1222接收的多个全局块1220是否与主车辆和/或与主车辆ID_1相关联的存储器相关。因此,电路系统可以确定全局块1220-1、1220-4和1220-5与主机车辆ID_1相关,且电路系统配置成验证将从全局分类账块链1222接收的多个全局块中的全局块1220-1、1220-4、1220-5,并且如果经验证,则将其依序添加到本地分类账块链1224来作为本地块1221-1、1221-4和1221-5,原因是已验证所述全局块与主机车辆ID_1相关。在另一实例中,确定多个全局块1220是否与一方位的特定门有关。以此方式,可将不同块排序并且与不同实体相关联,其中一个本地块链分类账可与车辆(包含车辆的所有进入和离开)相关联且另一本地块链分类账可与门(包含进入和离开所述门的所有车辆)相关联,等等。

在一个实例中,当相应全局块1220中的前一本地块字段与本地分类账块链1224的当前本地块中的当前本地块字段匹配时,可以(依序)将全局块1220-1、1220-4和1220-5添加到分类账块链1224。具体地,通过确认全局块1220-4来自经授权实体(例如,全局分类账块链1222中的车辆身份标识),并检查全局块1220-4的前一本地块字段是否是本地块1221-1(与全局块1220-1相同)的散列,以及检查当前本地块1221-1在其自身的当前本地块字段中具有匹配的散列,电路系统可以验证传入全局块1220-4。此过程可应用于将全局块1220-5添加到本地分类账块链1224。因此,全局块1220-1、1220-4和1220-5可变为本地分类账块链1224中的本地块1221-1、1221-4和1221-5。使用此方法和配置,本地分类账块链1224包含按循序次序汇编的与(ID_1)相关联的主机和/或存储器相关的多个本地块。

另外,电路系统配置成当全局块1220与主机和/或存储器ID_1不相关时不将全局块1220添加到本地分类账块链1224。因此,电路系统可以确定全局块1220-2、1220-6、1220-3和1220-N与主机和/或存储器ID_1不相关,并且可以从本地分类账块链1224中舍弃不相关的全局块。结合图12描述的机制可以应用于多个主机和/或多个存储器,例如,本地分类账块链1226和本地分类账块链1228。

举例来说,电路系统可以产生本地分类账块链(例如,1224),用于验证对存储在存储器(例如,与ID_1相关联)中的数据的更新,并从全局分类账块链1222接收全局块(例如,1220-1、1220-2、1220-3、1220-4、1220-5、1220-6、1220-N)。当与全局块的第一部分(例如,1220-1、1220-4、1220-5)中的全局块中的每一个相关联的数字签名由电路系统验证为与主机和/或存储器(例如ID_1)相关时,电路系统可以将所述第一部分添加到本地分类账块链1224。当接收到的全局块的第二部分(例如,1220-2、1220-6、1220-3、1220-N)被确定为与和ID_1相关联的主机和/或存储器无关时(例如,所述第二部分与ID_2和/或ID_k相关联),电路系统可以舍弃所述全局块的所述第二部分。

如结合图13进一步描述,电路系统可使用新鲜度字段以检验全局块是否属于本地分类账块链(例如1224、1226、1228)。在以上实例中,第一部分(例如,1220-1、1220-4、1220-5)的全局块中的每一个包含用于产生数字签名的新鲜度字段。第一部分(例如1220-1、1220-4、1220-5)的全局块中的每一个的新鲜度字段对应于本地分类账块链1224的当前本地块。因而,第一部分(例如1220-1、1220-4、1220-5)的全局块按循序次序添加到本地分类账块链1224(作为本地块1221-1、1221-4和1221-5),并存储在与主机相关联的存储器中。

具体来说,电路系统可以基于全局块的新鲜度字段产生数字签名。举例来说,电路系统可以通过标识全局块1220-4的标头中的前一本地块字段(在此实例中,这将是全局块1220-1的散列,因为所述全局块1220-1是具有ID_1的前一全局块)来产生全局块1220-4的新鲜度字段。其中本地分类账块链1224的当前本地块1221-1和全局分类账块链1222的全局块1220-4的前一本地块字段(同样,在此实例中,这将是全局块1220-1)相同。

图13说明根据本公开实施例的用于存储在存储器(例如,先前结合图11A描述的存储器阵列1101)中的安全更新的本地分类账块链(例如,本地分类账块链1324)的实例。本地分类账块链1324可以类似于结合图12描述的本地分类账块链1224。为便于说明,图13仅说明本地分类账块链1324。然而,结合图13和本地分类账块链1324描述的实例也可应用于其它本地分类账块链(例如,结合图3描述的本地分类账块链1226和1228)。本地分类账块链1324是用于使用存储于相应主机和/或存储器交换的存储器中的数据安全监测进入和离开一方位和/或车行道的交通的块链。作为一个实例,主机和/或存储器交换与特定标识符(例如,标识符ID_1)相关联。

在此实例中,本地分类账块链1324的本地块1321-1、1321-4、1321-5是先前接收到的块,例如图3的实例中的全局块1220-1、1220-4、1220-5。在一个实例中,图11A中的电路系统1110使用结合图5-9描述的块链加密和解密技术对接收到的全局块进行操作,以例如使用SHA256散列比较和验证块链数据的相应散列。当全局块被检验为与主机和/或存储器(例如,ID_1)相关时,所述全局块可以成为本地块1321-1、1321-4和1321-5,并存储为用于与ID_1相关联的主机和/或存储器的本地分类账块链1324中的不可变记录。在此实例中,电路系统用于将本地块1321-4(例如,先前的全局块1320-4)的块链散列与本地块1321-1(例如,先前的全局块1220-1)进行比较,以便存储在与主机ID_1相关联的存储器中。所述电路系统一旦被与主机和/或存储器相关联的电路系统验证就可以链接到本地块1321-1。同样,本地块1321-5(例如,先前的全局块1220-5)一旦被与主机和/或存储器相关联的电路系统验证就可以链接到本地块1321-4。

在图13的实例中,每个本地块(例如,1321-1、1321-4和/或1321-5等)可分别包含以下信息:全局块标头,例如1330-1、1330-4、1330-5,以及本地块标头,例如1332-1、1332-4、1332-5。在此实例中,每个本地块标头1332-1、1332-4、1332-5包含前一本地块散列1345-1、1345-4、1345-5、当前本地块散列1334-1、1334-4、1332-5,以及块签名1335-1、1335-4、1335-5。如图13的实例所示,例如1321-1、1321-4和1321-5的每个本地块包含例如1336-1、1336-4、1336-5的有效载荷,作为块信息(例如数据)的一部分。如结合图3所提及,块(例如,全局和本地)中的每一个可以包含多个标头(例如,1330-1、1332-1),以将当前块链接到其相应块链分类账(全局或本地)中的前一块。

举例来说,参考将本地块1321-4添加到本地分类账块链1324的方法,全局块标头1330-4可以包含呈用于全局分类账块链内具有相同相关联ID_1的前一全局块的散列以及用于当前全局块的散列形式的新鲜度字段(以将全局分类账块链链接在一起)。换句话说,当全局块(例如,图12的1220-4)位于全局分类账块链(例如,图12的1222)中时,全局块标头中的新鲜度字段是全局分类账块链(例如,图12的1222)中具有相同相关联标识符(例如,ID_1)的前一全局块(例如,图12的1220-1)的散列。在此实例中,在正在验证将添加到本地分类账块链1324的本地块1321-4的情况下,当电路系统验证传入全局块(例如,1220-4)以将其作为本地块1321-4添加到本地分类账块链1324时,本地分类账块链1324中的本地块1321-1的当前本地块散列1334-1将与全局块标头1330-4中的新鲜度字段相同。再换句话说,全局块标头1330-4的新鲜度字段应与本地分类账块链1324的本地块1321-1的当前本地块散列1334-1匹配,原因是当前本地块1321-1先前是全局块1220-1。

例如1332-1、1332-4和1332-5的本地块标头各自分别包含例如1345-1、1345-4和1345-5的前一本地块散列(用于一起链接本地分类账块链1324)和例如1334-1、1334-4和1334-5的当前本地块散列(与传入全局块新鲜度字段相同),以及例如1335-1、1335-4、1335-5的块签名,以指示所述块来自经授权实体(例如,来自列出的车辆身份标识和/或与主机和/或存储器相关联的实体)并且与主机和/或存储器相关(例如,ID_1)。例如1336-1、1336-4和1336-5的有效载荷可以是包含硬件、配置和/或软件更新(例如,配置、配置改变、对主机的装置和/或与主机相关联的存储器的更改等)和/或存储在存储器中的待更新的数据的密码散列的数据。

举例来说,呈车辆和/或与具有标识符ID_1的车辆相关联的存储器形式的主机可以包含存储器和电路系统,以产生本地分类账块链1324,用于验证对存储在存储器中的数据的更新。在此实例中,本地分类账块链1324由取自全局分类账块链(例如,图12的1222)的本地块1321-4(例如,图12的全局块1220-4)组成。本地块1321-4包含当前本地块1321-4的当前本地块密码散列1334-4。当前本地块密码散列1334-4可与前一本地块密码散列1345-4(其为当前本地块散列1334-1)进行比较,以作为新鲜度字段来验证次序(例如,顺序)并链接本地分类账块链1324与存储在存储器中的待更新的数据的密码散列(例如,有效载荷1336-1、1336-4和1336-5)。本地分类账块链1324的本地块1321-4具有与其相关联的数字签名1335-4,所述数字签名指示全局块(例如,图12的1220-4)来自经授权实体,并且被正确添加为本地块1321-4。在一些实例中,经授权实体可为与车辆相关联的公共或专用实体,其正在监测与公共或专用实体相关联的所有车辆。以此方式,与ID_1相关联的主机和/或存储器可以检查块签名(例如,1335-4),并且可以舍弃从全局分类账块链(例如,全局分类账块链1322)接收的与和ID_1相关联的主机和/或存储器无关的全局块。

主机和/或存储器ID_1可配置成从存储器接收本地分类账块链1324,使用接收到的本地分类账块链1324验证对存储在存储器中的数据的更新(例如,有效载荷1336-1、1336-4和1336-5)。以此方式,与ID_1相关联的主机和/或存储器可以维护和/或监测从经授权实体提供给主机和/或存储器的更新中的每一个。因为本地分类账块链1324的汇编产生不可变记录,所以电路系统可以保持对所发生的更新的控制。这可以防止欺诈性更新、无意的改变、无意的错误和恶意黑客企图。另外,在与主机相关联的存储器上维护本地分类账块链1324可以提供可根据需要产生的更新的记录。在来自全局分类账块链(例如,图12的全局分类账块链1222)的全局块已被验证并添加到本地分类账块链1324之后,电路系统可实施包含在例如1336-1、1336-4和1336-5的有效载荷中的更新。

举例来说,本地分类账块链1324可以验证全局块(例如,图12的全局块1220-1),并将其作为本地块1321-1添加到本地分类账块链1324。在验证之后,电路系统可执行包含在本地块1321-1的有效载荷1336-1中的更新1338-1。经授权实体可将另一更新推送到与ID_1相关联的主机和/或存储器,因此,电路系统可接收第二全局块(例如,图12的全局块1220-4),所述第二全局块可由电路系统验证并依序添加为链接到本地块1321-1的本地块1321-4。电路系统可检查和比较新鲜度字段的密码散列,例如,前一本地块散列1345-4。如果本地分类账块链1324中的此验证和链接有效,则电路系统可执行包含在本地块1321-4的有效载荷1336-4中的更新1338-2。使用此方法,存储器可继续将全局块作为本地块添加到本地分类账块链1324,如针对本地块1321-5等所描述。在一些实例中,与ID_1相关联的主机和/或存储器可以移除本地分类账块链1324的较旧部分,以在本地分类账块链1324随着经授权实体产生更多更新而增加时在存储器中创建空位。

举例来说,主机和/或存储器可以是具有ID_1的车辆的计算装置,并且本地分类账块链1324可以指示对车辆上的软件和/或硬件组件的更新。计算装置可以包含可存储在存储器中的不可变记录的阈值量。在一些实例中,经由全局块从经授权实体推送更新(例如,1338-1、1338-2)以更新计算装置的软件和/或硬件组件,当本地分类账块链1324已达到阈值时,电路系统可以从本地分类账块链1324移除本地块(例如,较旧的本地块)。电路系统可通过执行固件以更改本地分类账块链1324的根(例如,一致性的根、梅克尔树的根等)来移除较旧的本地块(例如,1321-1),在计算装置的存储器中为较新的本地块(例如,1321-5)创建空位。以此方式,当本地分类账块链1324添加新的本地块时,电路系统可以保持对更新的控制。

在一个实施例中,上述全局块链和本地分类账块链可用以安全监测车辆交通。作为实例,在车辆进入一方位时,可在车辆和进口节点之间交换数据以安全检验车辆和进口节点的身份标识。进口节点可使用全局块链检验车辆的身份标识和与所述特定车辆有关的任何进出数据。另外,进口节点可检验与已接收到的此特定身份标识相关联的车辆尚未进入所述方位(且因此将指示请求进出的此当前车辆如果未经授权则是欺诈性的、黑客等)。然而,如果通过此过程准予车辆进出,那么可将指示已准予车辆进出的块添加到全局块链。在车辆从所述方位离开之后,可即刻将指示车辆已离开的块添加到块链。可使用本地分类账块链鉴别特定进口点和什么车辆已进入和离开那些进口点而不必监测整个全局块链。

图14A说明根据本公开的实施例的用于定义安全存储器阵列的一对寄存器1439-1和1439-2的实例,且图14B说明根据本公开的实施例的包含使用寄存器使用寄存器1439-1和1439-2定义的安全存储器阵列的存储器阵列1401的一部分的图。寄存器1439-1和1439-2可以是例如先前结合图11A描述的寄存器1139-1和1139-2,且安全存储器阵列1401可以是例如先前结合图11A描述的存储器阵列1101。举例来说,如图14B所示,安全存储器阵列1401可包含存储器单元的数个物理块1407-0、1407-1、……、1407-B,其中的每个物理块包含具有数个存储器单元扇区的数个物理行1403-0、1403-1、……、1403-R,其方式类似于先前结合图10描述的存储器阵列1001。

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

举例来说,如图14A所示,寄存器1439-1和1439-2可以定义N对值,其中每一相应对包括由寄存器1439-1定义的地址值(例如,addr)和由寄存器1439-2定义的大小值(例如,size)。举例来说,在图14A中说明的实例中,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]。

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

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

图15是根据本公开实施例的实例存储器装置1506的框图。举例来说,存储器装置1506可以是先前结合图11A描述的存储器装置1106。

如图15所示,存储器装置1506可包含数个存储器阵列1501-1到1501-7。存储器阵列1501-1到1501-7可以类似于先前结合图10描述的存储器阵列1001。此外,在图15所说明的实例中,存储器阵列1501-3是安全阵列,存储器阵列1501-6的子集1511包括安全阵列,且存储器阵列1501-7的子集1513和1515包括安全阵列。子集1511、1513和1515各自可包含例如4千字节的数据。然而,本公开的实施例不限于存储器阵列或安全阵列的特定数目或布置。

如图15所示,存储器装置1506可包含修复(例如,恢复)块1560。修复块1560可在存储器装置1506的操作期间可能发生错误(例如,不匹配)的情况下用作数据源。修复块1560可以位于存储器装置1506的可由主机寻址的区域外部。

如图15所示,存储器装置1506可包含串行外围接口(SPI)1504和控制器1508。存储器装置1506可使用SPI 1504和控制器1508与主机和存储器阵列1501-1到1501-7通信,如本文中先前(例如,结合图11A)所描述。

如图15所示,存储器装置1506可包含用于管理存储器装置1506的安全性的安全寄存器1586。举例来说,安全寄存器1586可以配置应用程序控制器,并与应用程序控制器在外部进行通信。此外,安全寄存器1586可以通过鉴认命令进行修改。

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

如图15所示,存储器装置1506可包含电子可擦除可编程只读存储器(EEPROM)1523。EEPROM 1523可提供主机可用的安全非易失性区域,其中可擦除和编程各个字节的数据。

如图15所示,存储器装置1506可包含计数器(例如,单调计数器)1525。计数器1525可用作从主机接收和/或发送到主机的命令(例如,签署命令集或序列)的防重放机制(例如,新鲜度产生器)。举例来说,存储器装置1506可包含六个不同的单调计数器,其中两个可供存储器装置1506用于经鉴认命令,且其中四个可供主机使用。

如图15所示,存储器装置1506可包含SHA-256密码散列函数1527和/或HMAC-SHA256密码散列函数1529。存储器装置1506可使用SHA-256和/或HMAC-SHA256密码散列函数1527和1529产生密码散列,例如,如本文中先前描述的块220的密码散列,以及/或如本文中先前描述的用于验证存储在存储器阵列1501-1到1501-7中的数据的黄金散列。此外,存储器装置1506可以支持DICE-RIOT 1531的L0和L1。

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

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

46页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用模整数进行安全多方计算的算法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!