CN108390800B - 用于安全的菊花链通信的方法及系统和中间从设备 - Google Patents
用于安全的菊花链通信的方法及系统和中间从设备 Download PDFInfo
- Publication number
- CN108390800B CN108390800B CN201810077485.2A CN201810077485A CN108390800B CN 108390800 B CN108390800 B CN 108390800B CN 201810077485 A CN201810077485 A CN 201810077485A CN 108390800 B CN108390800 B CN 108390800B
- Authority
- CN
- China
- Prior art keywords
- response
- slave device
- signature
- module
- authentication information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000004891 communication Methods 0.000 title claims abstract description 86
- 230000004044 response Effects 0.000 claims abstract description 813
- 238000012795 verification Methods 0.000 claims description 106
- 238000004422 calculation algorithm Methods 0.000 claims description 52
- 238000004146 energy storage Methods 0.000 claims description 27
- 239000013598 vector Substances 0.000 description 26
- 238000001514 detection method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 239000003990 capacitor Substances 0.000 description 8
- 238000003491 array Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 241000962514 Alosa chrysochloris Species 0.000 description 1
- 240000001548 Camellia japonica Species 0.000 description 1
- 244000260524 Chrysanthemum balsamita Species 0.000 description 1
- 235000005633 Chrysanthemum balsamita Nutrition 0.000 description 1
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241000270295 Serpentes Species 0.000 description 1
- 241001441724 Tetraodontidae Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 239000012190 activator Substances 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- OJIJEKBXJYRIBZ-UHFFFAOYSA-N cadmium nickel Chemical compound [Ni].[Cd] OJIJEKBXJYRIBZ-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003985 ceramic capacitor Substances 0.000 description 1
- 235000018597 common camellia Nutrition 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 239000010445 mica Substances 0.000 description 1
- 229910052618 mica group Inorganic materials 0.000 description 1
- 229910052758 niobium Inorganic materials 0.000 description 1
- 239000010955 niobium Substances 0.000 description 1
- GUCVJGMIXFAOAE-UHFFFAOYSA-N niobium atom Chemical compound [Nb] GUCVJGMIXFAOAE-UHFFFAOYSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 229910052715 tantalum Inorganic materials 0.000 description 1
- GUVRBAGPIYLISA-UHFFFAOYSA-N tantalum atom Chemical compound [Ta] GUVRBAGPIYLISA-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/48—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Small-Scale Networks (AREA)
Abstract
描述了一种以菊花链配置与一组从设备连接的中间从设备以及用于安全的菊花链通信的方法和系统。中间从设备可以被配置成从该组从设备中的前一个从设备接收数据请求、对数据请求的第一响应以及对数据请求的第一响应的认证信息。中间从设备还可以被配置成:生成对数据请求的第二响应;以及基于第一响应的认证信息、第二响应和被分配给中间从设备的密钥来确定第二响应的认证信息。中间从设备还可以被配置成至少输出第二响应的认证信息、第一响应和第二响应。
Description
技术领域
本公开内容涉及串行设备通信,并且特别地涉及菊花链通信。
背景技术
主设备(例如,主机微控制器)和从设备可以以菊花链配置进行布置,以允许主设备与每个从设备之间的通信。例如,菊花链配置的一端处的第一从设备从主设备接收请求。第一从设备响应于该请求将数据输出至布置在菊花链配置中的第二从设备。第二从设备将来自第一从设备的数据输出至布置在菊花链配置中的第三从设备,依此类推,直到来自第一从设备的数据被转发至主设备为止。以这种方式,主设备可以在不需要与从设备中的每一个进行单独连接的情况下与每个从设备通信。
发明内容
本公开内容描述了用于安全的菊花链通信的技术、设备和系统。例如,以菊花链配置布置的主设备会需要认证所接收到的数据来自布置在菊花链配置中的从设备。然而,在一些情况下,发送布置在菊花链配置中的每个从设备的签名会导致签名数据远远超过由布置在菊花链配置中的从设备发送的数据的大小。例如,布置在菊花链配置中的每个从设备的签名可以是32字节,而布置在菊花链配置中的每个从设备的数据可以是8字节。
根据本公开内容的一个或更多个方面,系统可以被配置成使单个签名能够认证布置在菊花链配置中的每个从设备,而不是依赖于布置在菊花链配置中的每个从设备的单独发送的签名。例如,布置在菊花链配置中的从设备可以被配置成基于布置在菊花链配置中的前一个从设备的认证信息来确定签名,以输出至布置在菊花链配置中的下一个从设备。因此,主设备可以认证布置在菊花链配置中的从设备,同时使布置在菊花链配置中的从设备之间传送的数据量最小化。
在一些示例中,本公开内容涉及以菊花链配置与一组从设备连接的中间从设备。中间从设备被配置成从该组从设备中的前一个从设备接收数据请求、对数据请求的第一响应以及对数据请求的第一响应的认证信息。该中间从设备还可以被配置成:生成对数据请求的第二响应;以及基于第一响应的认证信息、第二响应和被分配给中间从设备的密钥来确定第二响应的认证信息。中间从设备还可以被配置成至少输出第二响应的认证信息、第一响应和第二响应。
在一些示例中,本公开内容涉及一种方法,该方法包括:由以菊花链配置与一组从设备连接的中间从设备从该组从设备中的前一个从设备接收数据请求、对数据请求的第一响应以及对数据请求的第一响应的认证信息。该方法还包括:由中间从设备生成对数据请求的第二响应,以及由中间从设备基于第一响应的认证信息、第二响应和被分配给中间从设备的密钥来确定第二响应的认证信息。该方法还包括由中间从设备至少输出第二响应的认证信息、第一响应和第二响应。
在一些示例中,本公开内容涉及一种系统,该系统包括:主设备,其被配置成输出数据请求;以及一组从设备,该组从设备以菊花链配置来布置,使得该组从设备中的初始从设备从主设备接收数据请求以及该组从设备中的最后一个从设备向主设备输出对数据请求的一个或更多个响应。以菊花链配置布置的该组从设备中的、在初始从设备和最后一个从设备之间的中间从设备被配置成:从该组从设备中的前一个从设备接收数据请求、对数据请求的第一响应以及第一响应的认证信息;以及生成对数据请求的第二响应。该中间从设备还被配置成:基于第一响应的认证信息、第二响应和被分配给中间从设备的密钥来确定第二响应的认证信息;以及向该组从设备中的下一个从设备至少输出第二响应的认证信息、第一响应和第二响应。
在一些示例中,本公开内容涉及连接至以菊花链配置布置的一组从设备的主设备。该主设备被配置成:向该组从设备中的初始从设备输出数据请求;以及从该组从设备中的最后一个从设备接收对数据请求的一组响应和该组响应中的最终响应的认证信息。该主设备还被配置成:对于该组响应中的第一响应,基于第一响应和被分配给该组从设备中的输出第一响应的从设备的密钥来确定第一响应的认证信息;以及对于该组响应中的每个其他响应,包括最终响应,基于该组响应中的前一个响应的认证信息、该组响应中的相应响应和被分配给该组从设备中的输出该相应响应的从设备的密钥来确定相应认证信息,以生成最终响应的预测认证信息。该主设备还被配置成基于预测认证信息和所接收到的最终响应的认证信息来认证该组响应。
在一些示例中,本公开内容涉及一种方法,该方法包括:由主设备向以菊花链配置布置的一组从设备中的初始从设备输出数据请求;以及由主设备从该组从设备中的最后一个从设备接收对数据请求的一组响应以及该组响应中的最终响应的认证信息。该方法还包括:对于该组响应中的第一响应,由主设备基于第一响应和被分配给该组从设备中的输出第一响应的从设备的密钥来确定第一响应的认证信息;以及对于该组响应中的每个其他响应,包括最终响应,由主设备基于该组响应中的前一个响应的认证信息、该组响应中的相应响应和被分配给该组从设备中的输出该相应响应的从设备的密钥来确定相应认证信息,以生成最终响应的预测认证信息。该方法还包括由主设备基于预测认证信息和所接收到的最终响应的认证信息来认证该组响应。
在一些示例中,本公开内容涉及一种系统,该系统包括:以菊花链配置布置的一组从设备;以及连接至该组从设备的主设备。该主设备被配置成:向该组从设备中的初始从设备输出数据请求;以及从该组从设备中的最后一个从设备接收对数据请求的一组响应以及该组响应中的最终响应的认证信息。该主设备还被配置成:对于该组响应中的第一响应,基于第一响应和被分配给该组从设备中的输出第一响应的从设备的密钥来确定第一响应的认证信息;以及对于该组响应中的每下一个响应,包括最终响应,基于该组响应中的前一个响应的认证信息、该组响应中的相应响应和被分配给该组从设备中的输出该相应响应的从设备的密钥来确定相应认证信息,以生成预测认证信息。该主设备还被配置成基于预测认证信息和所接收到的最终响应的认证信息来认证该组响应。
在下面的附图和描述中阐述了一个或更多个示例的细节。根据说明书和附图以及根据权利要求书,本公开内容的其他特征、目的和优点将是显而易见的。
附图说明
图1是示出根据本公开内容的一个或更多个技术的被配置用于安全菊花链通信的示例性系统的框图;
图2是根据本公开内容的一个或更多个技术的主设备的图;
图3是根据本公开内容的一个或更多个技术的从设备的图;
图4是根据本公开内容的一个或更多个技术的以菊花链配置来布置并且被配置用于安全菊花链通信的从设备的第一数据流的图;
图5是根据本公开内容的一个或更多个技术的以菊花链配置来布置并且被配置用于安全菊花链通信的从设备的第二数据流的图;
图6是根据本公开内容的一个或更多个技术的以菊花链配置来布置并且被配置用于安全菊花链通信的从设备的第三数据流的图;
图7是根据本公开内容的一个或更多个技术的以菊花链配置来布置并且被配置用于安全菊花链通信的从设备的第四数据流的图;
图8是根据本公开内容的一个或更多个技术的以菊花链配置来布置并且被配置用于安全菊花链通信的从设备的第五数据流的图;
图9是与可以通过根据本公开内容的主设备执行的技术一致的流程图;
图10是与可以通过根据本公开内容的从设备执行的技术一致的第一流程图;
图11是与可以通过根据本公开内容的从设备执行的技术一致的第二流程图。
具体实施方式
一些系统可以包括主设备和以菊花链配置来布置的从设备。例如,系统可以包括主设备和以菊花链配置来布置的数百个(例如,800个)从设备。这样的系统可以受益于由从设备输出到主设备的安全(例如,认证、加密等)响应。但是,在没有认证的情况下,安全方案可能无效。因此,需要适用于与以菊花配置来布置的设备一起使用的认证技术。
一些系统可以使用如下认证技术:将以菊花链配置来布置的每个从设备的签名传送到主设备。然而,这样的认证技术可能要求系统被配置用于大量的签名数据。例如,对于包括800个从设备的以菊花链配置来布置的每个从设备的32字节签名可以导致超过25千字节的签名数据。在由每个从设备输出的响应小(例如,1个字节)的系统中,与对于以菊花链配置来布置的每个从设备省略发送签名的系统相比,对于以菊花链配置来布置的每个从设备发送签名会增加大量成本以允许由以菊花链配置来布置的设备所使用的通信系统支持签名数据。
根据本公开内容的一个或更多个方面,系统可以被配置成基于最终响应的认证信息(例如,签名)来认证对数据请求的整组响应,而不是依赖于来自以菊花链配置来布置的每个从设备的单独发送的签名。例如,从设备可以被配置成基于来自前一个从设备的响应的认证信息来确定对数据请求的响应的认证信息。在该示例中,主设备可以计算对数据请求的每个响应的认证信息,以生成预测的认证信息,该预测的认证信息可以与所接收到的认证信息进行比较以认证对数据请求的该组响应。因此,主设备可以基于对数据请求的最终响应的认证信息来对数据请求的该组响应进行认证,以在提供认证的同时最小化在以菊花链配置来布置的从设备之间传送的数据量。
图1是示出根据本公开内容的一个或更多个技术的被配置用于安全菊花链通信的示例性系统100的框图。如所示,系统100包括主设备102和一组从设备104A、104B、104C、104D、……、104N(统称“从设备104”),但是系统100可以包括另外的或更少的组件。
系统100可以被配置成机动车辆电池管理系统。例如,主设备102可以包括用于能量管理的微控制器。在一些示例中,一个或更多个从设备104可以包括能量存储设备。能量存储设备的示例可以包括但不限于电容器、电池或其他能量存储设备。电容器的示例可以包括但不限于陶瓷电容器、薄膜电容器、电解电容器(例如,铝、钽、铌或另一电解电容器)、超级电容器(例如,双层、赝电容器、混合电容器或另一超级电容器)、云母电容器或另一电容器。电池的示例可以包括但不限于一次性电池单元(例如,碱性、锂或其他一次性电池单元)、可再充电电池单元(例如,镍镉、镍金属氢化物、锂离子或其他可再充电电池单元)或其他电池。在任何情况下,一个或更多个从设备104可以例如使用传感器来检测各个能量存储设备的特性。各个能量存储设备的特性的示例可以包括但不限于能量存储设备处的温度、能量存储设备处的电压、能量存储设备输出的电流、能量存储设备处的压力或各个能量存储设备的另一特性。在一些示例中,从设备104中的每个从设备可以包括能量存储设备,该能量存储设备可以与从设备104中的其他从设备的能量存储设备相同。在一些示例中,从设备104中的每个从设备可以包括可以与从设备104中的其他从设备的能量存储设备不同的能量存储设备。在一些情况下,从设备104中的从设备可以测量一个或更多个能量存储设备的相同特性,而在其他情况下,不同的从设备104可以测量一个或更多个能量存储设备的不同特性。
系统100可以被配置为传感器网络。例如,主设备102可以包括用于处理传感器信号的微控制器,并且从设备104中的每一个可以包括相应的传感器。传感器的示例可以包括但不限于温度传感器、光传感器、压力传感器或者被配置成测量与从设备104相关的物理量的另一传感器。这样的传感器均可以针对全部从设备104测量相同的量或可以测量不同的量。在一些示例中,传感器向相应的从设备104输出所测量的物理量的指示以输出到主设备102。在一些示例中,从设备104中的每个从设备可以包括可以与从设备104中的其他从设备的传感器相同的传感器。在一些示例中,从设备104中的每个从设备可以包括可以与从设备104中的其他从设备的传感器不同的传感器。在一些情况下,从设备104中的从设备可以测量相同的物理量,而在其他情况下,不同的从设备104可以测量不同的物理量。
系统100可以被配置为执行器(actuator)网络。例如,主设备102可以包括用于处理执行器信号的微控制器,并且从设备104中的每一个可以包括相应的执行器。各个执行器的特性的示例可以包括但不限于执行器处的温度、执行器处的电压、由执行器接收到的电流、执行器处的位置或者各个执行器的另一特性。在一些示例中,从设备104中的每个从设备可以包括可以与从设备104中的其他从设备的执行器相同的执行器。在一些示例中,从设备104中的每个从设备可以包括可以与从设备104中的其他从设备的执行器不同的执行器。在一些情况下,从设备104中的从设备可以测量一个或更多个执行器的相同特性,而在其他情况下,不同从设备104可以测量一个或更多个执行器的不同特性。
主设备102可以被配置成与从设备104一起操作以促进安全的菊花链通信。在建立过程期间,主设备102可以为每个从设备104分配密钥,该密钥可以用于认证来自单独的从设备104A、......、104N的响应。在一些示例中,主设备102可以向从设备104A输出数据请求,并且接收对来自从设备104N的数据请求的一个或更多个响应。主设备102可以包括模拟电路。在一些示例中,主设备102可以是包含处理器核心、存储器、输入和输出的单个集成电路上的微控制器。例如,主设备102可以包括一个或更多个处理器,该一个或更多个处理器包括一个或更多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路以及这些组件的任何组合。术语“处理器”或“处理电路”可以一般指上述逻辑电路中的任何逻辑电路(单独地或与其他逻辑电路组合)或任何其他等效电路。在一些示例中,主设备102可以是一个或更多个模拟组件和一个或更多个数字组件的组合。
从设备104可以被配置成与主设备102一起操作以促进安全的菊花链通信。例如,从设备104可以生成对来自主设备102的数据请求的响应。例如,在每个从设备104包括电池的示例中,主设备102可以请求从设备104的每个电池处的电池温度。在一些示例中,从设备104可以包括模拟电路。在一些示例中,从设备104可以是包含处理器核、存储器、输入和输出的单个集成电路上的微控制器。例如,从设备104可以包括一个或更多个处理器,该一个或更多个处理器包括一个或更多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路以及这些组件的任何组合。在一些示例中,从设备104可以是一个或更多个模拟组件和一个或更多个数字组件的组合。
从设备104可以与主设备102以菊花链配置来布置。例如,主设备102和从设备104可以以如下顺序被连接:主设备102、从设备104A、然后从设备104B、然后从设备104C、然后从设备104D、……、然后从设备104N、然后主设备102。如本文所使用的,初始从设备可以指的是以菊花链配置来布置的一组从设备中的一个从设备,该从设备接收来自主设备的数据请求。例如,从设备102A是从设备104的初始从设备。如本文所使用的,最后一个从设备可以指的是以菊花链配置来布置的一组从设备中的一个从设备,该从设备向主设备输出一个或更多个响应。例如,从设备102N是从设备104的最后一个从设备。
从设备104可以被配置成将请求转发到从设备104的下游从设备。例如,从设备104可以以菊花链配置来布置,使得由主设备102输出的数据请求由从设备104A接收并被转发到下游从设备。例如,从设备104A将数据请求转发到从设备104B,从设备104B将数据请求转发到从设备104C,从设备104C将数据请求转发到从设备104D,如此直到从设备104N接收到数据请求。在一些示例中,从设备104可以以菊花链配置来布置,使得对由从设备104A输出的数据请求的响应被转发到下游从设备以输出到主设备102。例如,从设备104A将对数据请求的响应输出到从设备104B,从设备104B将该响应转发到从设备104C,从设备104C将该响应转发到从设备104D,如此直到从设备104N接收到数据请求并将该响应输出到主设备102。
从设备104可以被配置成使用来自在先响应的认证信息来生成针对响应的认证信息。例如,从设备104A可以向从设备104B输出对数据请求的第一响应和第一响应的认证信息。在这个示例中,从设备104B可以基于第一响应的认证信息来确定第二响应的认证信息。如本文所使用的,认证信息可以包括签名(例如,使用私有密钥的哈希(hash)值)、验证值(例如,使用公共密钥导出的哈希值)、其他认证信息、或者两个或更多个签名、验证值以及其他验证信息(例如,签名和验证值)的组合。例如,从设备104B可以使用分配给从设备104B的密钥、第二响应和第一响应的认证信息来确定签名。在一些情况下,从设备104B可以使用分配给从设备104B的公共密钥、第二响应以及第一响应的认证信息来确定验证值。在这个示例中,从设备104B可以向从设备104C输出第一响应、对数据请求的第二响应以及第二响应的认证信息。
主设备102可以基于对从设备104的最终响应的认证信息来认证一组响应。例如,使用分配给从设备104的密钥和由从设备104输出的响应,主设备102可以生成由从设备104N最终输出的预测认证信息。在这个示例中,当由从设备104N输出的对于由从设备104N生成的最终响应的最终认证信息对应于(例如,匹配于)由从设备104N最终输出的预测认证信息时,主设备102可以认证由从设备104输出的一组响应。以这种方式,主设备102可以基于对数据请求的最终响应的认证信息来认证对数据请求的一组响应,以在提供认证的同时最小化在从设备104之间传送的数据量。
图2是根据本公开内容的一个或更多个技术的主设备202的图。仅出于说明的目的,下面在图1的系统100的背景下描述主设备202。主设备202可以是图1的主设备102的示例。如所示,主设备202可以包括请求模块216、通信模块218、密钥模块220、标识符模块222、加密和解密模块224、签名模块226和认证模块228中的一个或更多个。在一些示例中,主设备202可以省略加密和解密模块224。例如,主设备202可以包括请求模块216、通信模块218、密钥模块220、标识符模块222、签名模块226和认证模块228中的一个或更多个。另外地或者可替选地,主设备202可以包括与密钥模块220基本上类似的一个或更多个附加密钥模块。例如,主设备202可以包括用于以菊花链配置来布置的另一组从设备的第二密钥模块。另外地或可替选地,主设备202可以包括与标识符模块222基本上类似的一个或更多个附加标识符模块。例如,主设备202可以包括用于以菊花链配置来布置的另一组从设备的第二标识符模块。
请求模块216可以被配置成生成一个或更多个数据请求。请求模块216可以从每个从设备104请求任何合适的数据。例如,请求模块216可以生成从从设备104中的不同从设备请求不同数据的数据请求。例如,请求模块216可以生成请求如下的数据请求:由从设备104A的传感器输出的传感器数据,从设备104B的能量存储设备的检测特性,从设备104C的执行器的检测特性,等等。另外地或可替选地,请求模块216可以生成从从设备104的不同从设备请求相同数据的数据请求。例如,请求模块216可以生成请求从设备104B的执行器的位置、从设备104C的执行器的位置等的数据请求。然而,在一些示例中,请求模块216可以生成从每个从设备104请求相同数据的数据请求。例如,请求模块216可以生成请求如下的数据请求:由从设备104A的传感器输出的温度数据,由从设备104B的传感器输出的温度数据,由从设备104C的传感器输出的温度数据,等等。要理解的是,请求模块216可以从从设备104的任何合适的组合请求数据。例如,请求模块216可以生成仅从从设备104C请求数据的数据请求。
请求模块216可以生成未加密的数据请求以输出到从设备104。例如,请求模块216可以生成明文格式的数据请求,并且通信模块218输出明文格式的数据请求到从设备104。以这种方式,数据请求可以由具有有限计算资源的从设备104解释。如下面进一步描述的,请求模块216可以与签名模块226一起工作来为请求生成签名和/或与加密和解密模块224一起工作以生成加密的数据请求。
请求模块216可以被配置成生成数据请求,使得数据请求指示一组地址,其中该组地址中的每个地址限定从设备104中的一个从设备。例如,请求模块216可以生成包括限定从设备104A的第一地址、限定从设备104B的第二地址等的数据的请求。地址可以是字母数字字符的组合、数字字符的组合、网络地址(例如,媒体访问控制(MAC)地址、网际协议(IP)地址或另一网络地址)或另一地址。
请求模块216可以被配置成生成数据请求,使得数据请求指示一组参数值,其中该组参数值中的每个相应参数值限定是否从从设备104中的被分配给相应参数值的从设备请求响应。例如,请求模块216可以将该组参数值中的第一参数值设置为逻辑“1”,以指示来自从设备104A的响应被请求。在这个示例中,请求模块216可以将该组参数值中的第二参数值设置为逻辑“0”,以指示来自从设备104B的响应未被请求。
请求模块216可以被配置成生成数据请求,使得数据请求指示一组参数值,其中每个相应的参数值限定请求的数据。例如,请求模块216可以将该组参数值中的第一参数值设置为逻辑“10”,以指示来自从设备104A的响应被请求,该响应指示在从设备104A处的温度。在该示例中,请求模块216可以将该组参数值中的第二参数值设置为逻辑“01”,以指示来自从设备104B的响应被请求,该响应指示从设备104B处的压力。在这个示例中,请求模块216可以将该组参数值中的第三参数值设置为逻辑“00”,以指示来自从设备104C的响应未被请求。
请求模块216可以被配置成生成一组数据请求,其中该组数据请求的顺序为该组数据请求中的每一个相应数据请求限定从设备104中的一个从设备。例如,请求模块216可以向从设备104A输出请求温度数据的第一请求,向从设备104B输出请求压力数据的第二请求,向从设备104C输出请求电压数据的第三请求,等等。在该示例中,从设备104A基于第一请求是初始请求来确定对温度数据的第一请求是针对从设备104A,从设备104B基于在初始请求之后的第二请求确定对压力数据的第二请求是针对从设备104B,从设备104C基于在第二请求之后的第三请求确定对电压数据的第三请求是针对从设备104C,等等。
通信模块218可以被配置成向从设备104输出数据请求。例如,通信模块218可以被配置成向从设备104A输出请求。例如,通信模块218可以向从设备104A输出对如下的请求:由从设备104A的传感器输出的传感器数据,从设备104B的能量存储设备的检测特性,从设备104C的执行器的检测特性,由从设备104D输出的传感器数据,……,以及由从设备104N输出的传感器数据。将理解的是,如图1所示的从设备104的单独的菊花链配置在一端连接到主设备的通信接口,主设备在该通信接口处进行所有接收。在图1的该示例中,所有数据组的接收将出现在从设备104N的下游。
通信模块218可以被配置成接收对来自从设备104中的从设备的请求的一个或更多个响应。例如,通信模块218可以被配置成接收对来自在菊花链配置中的从设备104N的数据请求的一个或更多个响应。例如,通信模块218可以从从设备104N接收数据,该数据包括由从设备104A输出的传感器数据、从设备104B的能量存储设备的检测特性、从设备104C的执行器的检测特性、由从设备104D输出的传感器数据、……、以及由从设备104N输出的传感器数据。
通信模块218可以被配置成接收来自从设备104认证信息。例如,通信模块218可以被配置成接收来自从设备104N的签名。例如,通信模块218可以接收签名(例如,使用私有密钥的哈希值)。在一些情况下,通信模块218可以接收验证值(例如,使用公共密钥导出的哈希值)。在一些情况下,通信模块218可以接收签名和验证值。
通信模块218可以被配置成以不同模式输出和接收。例如,通信模块218可以被配置成以第一模式接收数据以及以第二模式接收数据,其中第一模式以比第二模式更快的速率传送数据。也就是说,从设备104可以在第一模式下形成第一菊花链,并且在第二模式下形成第二菊花链。在一些示例中,第一模式可以利用比在第二模式下利用的一个或更多个协议操作更快的一个或更多个协议。另外地或替选地,以第一模式传递的数据可以优先于以第二模式传递的数据。另外地或替选地,用于以第一模式传递数据的硬件可以比用于以第二模式传递数据的硬件更快(例如,以更高的带宽、更低的延迟等进行操作)。
通信模块218可以被配置成以不同模式传送认证信息和对请求的响应。例如,通信模块218可以被配置成:使用第一模式来传送对请求数据的响应,而使用第二模式来传送认证信息,其中第一模式比第二模式传送数据更快。例如,通信模块218可以接收第一模式数据,该第一模式数据包括以第一模式对来自从设备104N的请求数据的响应和/或在第一模式下向从设备104A输出请求。应当理解的是,对从设备104A的第一模式请求可以发起跨越从设备104A、104B、...、104N的菊花链配置的第一模式通信,最终导致在主设备102处接收到从从设备104N发送的第一模式数据。在该示例中,通信模块218可以以第二模式从从设备104N接收认证信息。应当理解的是,对从设备104A的第二模式请求可以发起跨越菊花链配置的第二模式通信,最终导致在主设备102处接收到从从设备104N发送的第二模式数据。以这种方式,主设备102可以被配置成:比认证信息更快地接收对请求的响应,以允许主设备102在从设备104发送和/或确定认证信息时发起对预测的认证信息的计算。
密钥模块220可以确定用于从设备104中的单独的从设备的密钥。例如,密钥模块220可以接收针对从设备104A的第一密钥kA的指示、针对从设备104B的第二密钥kB的指示、针对从设备104C的第三密钥kC的指示等。密钥模块220可以将密钥kA、kB、kC、…、kN中的单独的密钥与从设备104中的每个从设备相关联。例如,密钥模块220可以生成和/或修改与从设备104A相关联的指示密钥kA的第一表条目、与从设备104B相关联的指示kB的第二表条目等。在一些示例中,分配给从设备104的每个密钥可以是唯一的。例如,技术人员可以向从设备104中的每个从设备分配唯一的密钥。在一些实例中,如关于图3讨论的,每个从设备可以(例如,使用Diffie-Hellmann方案)生成密钥。在一些示例中,可以为菊花链分配一组密钥,该组密钥被分发给布置在菊花链中的从设备。在一些示例中,可以为菊花链分配单个密钥,该单个密钥被分发给布置在菊花链中的每个从设备。
密钥模块220可以确定主设备202是否处于用于接收针对从设备104中的单独从设备的密钥的可信环境中。例如,在制造或初始设置期间,从设备104中的每个从设备可以配置有唯一的密钥。在这个示例中,响应于确定主设备202与从设备104一起处于启动状态,密钥模块220可以确定主设备202处于用于从从设备104接收密钥的可信环境中。应当理解的是,可以在使用永久密钥或可重新配置密钥的初始设置期间制造或配置从设备104中的每个从设备。
密钥模块220可以使用从设备104中的单独从设备之间的用专用设备建立的安全信道来接收针对从设备104中的单独从设备的密钥。例如,响应于确定主设备202不在可信环境(例如,不可信环境)中并且专用设备在主设备202与单独从设备之间建立物理访问,密钥模块220可以使用安全信道接收针对从设备104中的单独从设备的密钥。应当理解的是,密钥模块220可以在用主设备202建立单独的从设备期间在不可信环境中建立安全信道。
密钥模块220可以使用从设备104中的单独从设备之间的被加密地授权的安全信道来接收针对从设备104中的单独从设备的密钥。例如,响应于确定主设备202不在可信环境(例如,不可信环境)中以及来自认证模块228的指示单独从设备被验证的输出,密钥模块220可以使用安全信道接收针对从设备104中的单独从设备的密钥。例如,单独的从设备可以输出新密钥以及该新密钥的签名,认证模块228可以基于该签名来验证新密钥来自该单独的从设备。
标识符模块222可以将标识符与从设备104中的一个从设备相关联。例如,标识符模块222可以将第一标识符与从设备104A相关联,将第二标识符与从设备104B相关联,将第三标识符与从设备104C相关联等。例如,标识符模块222可以生成和/或修改指示从设备104A和从设备104A的第一标识符的第一表条目、指示从设备104B和从设备104B的第二标识符的第二表条目等。
主设备202可以将标识符与密钥相关联。例如,密钥模块220和/或标识符模块222可以生成和/或修改表,该表包括指示从设备104A的标识符和从设备104A的第一密钥的第一表条目、指示从设备104B的第二标识符和从设备104B的第二密钥的第二表条目,等等。
加密和解密模块224可以被配置成使用分配给从设备104的密钥来解密来自从设备104的一个或更多个响应。例如,加密和解密模块224可以使用密钥kA以及来自从设备104A的加密响应来解密来自从设备104A的加密响应。在该示例中,加密和解密模块224可以通过利用初始化向量和解密响应应用异或逻辑运算(XOR),来计算来自从设备104的加密响应的明文。如本文中所使用的,初始化向量可以指随机或伪随机的固定大小的输入。例如,初始化向量可以是用于AES的随机化的16字节向量。
加密和解密模块224可以通过利用来自前一从设备的响应应用异或逻辑运算(XOR),来计算来自从设备104的加密响应的明文。也就是说,可以使用加密响应或来自前一设备的加密响应来代替初始化向量。例如,加密和解密模块224可以通过使用从设备104B的密钥以及来自从设备104A的加密响应进行解密来解密来自从设备104B的加密响应。然而,在本示例中,加密和解密模块224可以通过利用从从设备104A输出的加密响应以及从从设备104B输出的解密响应应用异或逻辑运算(XOR)来计算明文。在一些示例中,加密和解密模块224可以通过利用来自从设备104A的未加密响应以及从从设备104B输出的解密响应应用异或逻辑运算(XOR)来计算明文。
加密和解密模块224可以以硬件来实现。例如,加密和解密模块224可以包括一个或更多个处理器,其包括一个或更多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等同的集成电路或离散逻辑电路以及这样的部件的任意组合。在一些示例中,加密和解密模块224可以以软件来实现。例如,加密和解密模块224可以是由在主设备202处操作的处理器执行的软件模块。
加密和解密模块224可以被配置用于对称算法。对称算法的示例可以包括但不限于:ISO/IEC 18033-3中规定的高级加密标准(AES)、RFC 2104中规定的blowfish、数据加密标准(DES)、Serpent、twofish、camellia、cast-128、国际数据加密算法(IDEA)、RC2、RC5、RC6、ISO/IEC 18033-3:2010中规定的SEED、ARIA、skipjack、微型加密算法(TEA)、扩展的TEA以及其他对称加密技术。例如,加密和解密模块224可以包括被配置成使用从设备104A的密钥对从从设备104A接收的数据执行AES解密的电路。
加密和解密模块224可以被配置成执行非对称算法。非对称算法的示例可以包括但不限于:Rivest-Shamir-Adleman(RSA)、集成加密方案(IES)、描述对数IES(DLIES)、椭圆曲线IES(ECIES)、高效紧凑子群跟踪表示(ECSTR,也称为XTR)以及其他非对称算法。例如,加密和解密模块224可以包括被配置成使用主设备202的私有密钥对从从设备104A接收的数据执行RSA解密的电路。
加密和解密模块224可以与请求模块216一起工作以生成加密的数据请求。例如,请求模块216可以以明文格式生成数据请求。在本示例中,加密和解密模块224可以使用用于数据请求的非对称算法或对称算法来生成签名。在本示例中,通信模块218以加密格式输出数据请求。应当理解的是,从设备104A可以解密数据请求并且以明文格式转发数据请求,或者从设备104中的每个从设备可以解密数据请求以及加密数据请求以进行输出。另外,如下面进一步讨论的,应当理解的是,签名模块226可以生成加密的数据请求的签名,或者加密的数据请求可以在没有签名的情况下被输出。
签名模块226可以被配置成确定认证信息。例如,签名模块226可以被配置成确定签名。如本文中所使用的,签名可以指用于证明数字消息的真实性的数学方案。在一些示例中,签名模块226可以被配置成确定验证值。签名模块226可以被配置用于对称算法。例如,签名模块226可以包括被配置成执行HMAC算法以使用密钥来生成签名的电路。签名模块226可以被配置用于非对称算法。例如,签名模块226可以包括被配置成执行DSA算法、ECDSA或另外的非对称算法以生成签名的电路。签名模块226可以以硬件来实现。例如,签名模块226可以包括一个或更多个处理器,其包括一个或更多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等同的集成电路或离散逻辑电路以及这样的部件的任意组合。在一些示例中,签名模块226可以以软件来实现。例如,签名模块226可以是由在主设备202处操作的处理器执行的软件模块。
签名模块226可以与请求模块216一起工作以生成用于数据请求的签名。例如,请求模块216可以以明文格式生成数据请求。在本示例中,签名模块226可以使用用于数据请求的非对称算法或对称算法来生成签名。在本示例中,通信模块218可以将签名和以明文格式的数据请求输出至从设备104A。应当理解的是,从设备104中的每个从设备可以将该请求连同签名一起转发以确保安全。在数据请求可以被加密的示例中,签名模块226可以使用用于加密的数据请求的非对称算法或对称算法来生成签名。在本示例中,通信模块218将签名和加密的请求数据输出至从设备104A。应当理解的是,从设备104中的每个从设备可以将加密的请求与签名一起转发以确保安全。
签名模块226可以使用一个或更多个对称算法来确定从从设备104N接收的最终响应的预测签名。例如,签名模块226可以使用由从设备104A输出的响应和分配给从设备104A的标识符的密钥来计算由从设备104A输出的响应的第一签名。在本示例中,签名模块226可以使用由从设备104B输出的响应、分配给从设备104B的标识符的密钥以及从设备104A的第一签名来计算由从设备104B输出的响应的第二签名。在本示例中,签名模块226可以以这种方式计算从设备104中的每个从设备的签名,以计算由从设备104输出的最终响应的最终签名。在一些示例中,签名模块226可以将预测的签名确定为所计算的从设备104N的签名。然而,在其他示例中,签名模块226可以将预测的签名确定为所计算的从设备104中的另一从设备(例如,从设备104C)的签名。
签名模块226可以使用一个或更多个非对称算法来确定从从设备104N接收的最终响应的最终验证值。例如,签名模块226可以使用由从设备104A输出的响应和分配给从设备104A的标识符的公共密钥来生成由从设备104A输出的响应的第一验证值。在本示例中,签名模块226可以使用由从设备104B输出的响应、分配给从设备104B的标识符的密钥以及从设备104A的第一验证值来生成由从设备104B输出的响应的第二验证值。在本示例中,签名模块226可以以这种方式生成由从设备104输出的最终响应的最终验证值。在一些示例中,签名模块226可以将最终验证值确定为所计算的从设备104N的验证值。然而,在其他示例中,签名模块226可以将最终验证值确定为所计算的从设备104中的另一从设备(例如,从设备104C)的验证值。
签名模块226可以基于在由从设备104输出的响应中接收的标识符来确定认证信息。例如,签名模块226可以基于在由从设备104输出的响应中接收的标识符来确定密钥。例如,签名模块226可以确定与分配给从设备104A的标识符一起接收的响应对应于分配给从设备104A的密钥。以这种方式,签名模块226可以允许按照从设备104的顺序进行改变。例如,本文中描述的一个或更多个技术可以允许从设备104被重新布置成包括从设备104B、随后为从设备104A、从设备104C、从设备104D、…、随后为从设备104N的序列,而不是包括从设备104A、随后为从设备104B、从设备104C、从设备104D、...、随后为从设备104N的序列。
认证模块228可以被配置成认证由从设备104输出的一个或更多个响应。如本文中所使用的,认证响应可以指输出和/或生成响应的从设备的身份被确认的情况。应当理解的是,认证一组响应中的单个响应可以认证该组响应。例如,主设备102可以接收由从设备104A至从设备104N输出的一组响应以及用于该组响应中的最终响应的单个签名。在本示例中,响应于确定单个签名对最终响应进行认证,认证模块228对由从设备104A至从设备104N输出的一个或更多个响应中的每个响应进行认证。应当理解的是,在一些示例中,最后一个从设备可以不输出最终响应。例如,从设备104N可以转发由从设备104D生成的最终响应和由从设备104D生成的最终响应的签名。在本示例中,响应于确定最终响应的签名对最终响应进行认证,认证模块228对由从设备104A至从设备104D输出的一个或更多个响应中的每个响应进行认证。
认证模块228可以被配置成使用一个或更多个对称算法来认证一个或更多个响应。例如,认证模块228可以基于由签名模块226输出的预测签名与从从设备104N接收的签名的比较来认证一组接收的响应。在本示例中,响应于确定预测的签名与从从设备104N接收的签名对应(例如,匹配),认证模块228可以对由从设备104输出的该组响应进行认证。例如,响应于确定预测的签名与从从设备104N接收的签名对应(例如,匹配),认证模块228可以对由从设备104A、104B、104C、...、104N输出的整个一组响应进行认证。
认证模块228可以被配置成使用一个或更多个非对称算法来认证一个或更多个响应。例如,认证模块228可以计算从从设备104N接收的签名的哈希值和从设备104N的公共密钥。在本示例中,响应于确定由签名模块226输出的最终验证值与从从设备104N接收的签名的哈希值对应(例如,匹配),认证模块228可以对由从设备104N输出的一组响应进行认证。例如,响应于确定由签名模块226输出的最终验证值与从从设备104N接收的签名的哈希值对应(例如,匹配),认证模块228可以对由从设备104A、104B、104C、…、104N输出的整个一组响应进行认证。
认证模块228可以被配置成基于从从设备104N接收的验证值来认证一个或更多个响应。在本示例中,响应于确定由签名模块226输出的最终验证值与从从设备104N接收的验证值对应(例如,匹配),验证模块228可以对由从设备104N输出的该组响应进行验证。例如,响应于确定由签名模块226输出的最终验证值与从从设备104N接收的验证值对应(例如,匹配),认证模块228可以对由从设备104A、104B、104C、…、104N输出的整个一组响应进行认证。
在操作中,主设备202可以登记从设备104中的一个或更多个。例如,标识符模块222可以为从设备104A分配标识符,密钥模块220可以将由从设备104A输出的密钥与从设备104A的标识符相关联。
主设备202可以向从设备104中的初始从设备输出数据请求。例如,主设备202向从设备104A输出数据请求。主设备202可以从从设备104中的最后一个从设备接收数据请求的一组响应以及该组响应中的最终响应的认证信息。例如,主设备202可以从从设备104N接收由从设备104A输出的第一响应和由从设备104B输出的第二响应。在使用数据加密的情况下,响应于确定由从设备104A输出的第一响应包括从设备104A的标识符,加密和解密模块224可以使用分配给从设备104A的标识符的密钥kA来解密第一响应并且使用分配给从设备104B的标识符的密钥kB来解密第二响应。
签名模块226可以基于第一响应以及分配给输出第一响应的从设备的密钥而为该组响应中的第一响应确定该第一响应的认证信息。在使用对称算法的示例中,签名模块226可以使用第一响应和密钥kA来计算由从设备104A输出的第一响应的第一签名。在使用非对称算法的示例中,签名模块226可以使用第一响应和公共密钥kA来计算由从设备104A输出的第一响应的第一验证值。
签名模块226可以基于来自该组响应中的前一响应的认证信息、该组响应中的各个响应、分配给输出各个响应的该组从设备中的一个从设备的密钥来为包括最终响应的该组响应中的每个下一个响应确定相应的认证信息,以生成最终响应的预测的认证信息。在使用对称算法的示例中,签名模块226可以使用所计算的第一签名、分配给从设备104B的密钥kB以及第一响应的第一签名来计算从设备104B的第二签名以生成最终响应的预测的签名。在本示例中,最终响应由从设备104B输出,然而,在其他示例中,最终响应可以由从设备104C至从设备104N中之一输出。
在使用非对称算法的示例中,签名模块226可以使用所计算的第一签名、分配给从设备104B的公共密钥kB以及第一响应的第一验证值来计算从设备104B的第二验证值,以生成最终响应的预测的验证值。在本示例中,最终响应由从设备104B输出,然而,在其他示例中,最终响应可以由从设备104C至从设备104N中之一输出。
认证模块228可以基于预测的认证信息和接收到的用于最终响应的认证信息来认证该组响应。在使用对称算法的示例中,所接收的认证信息可以包括最终响应的单个签名。在本示例中,当预测的签名与最终响应的单个签名对应(例如,匹配)时,认证模块228可以对该组响应进行认证。
在使用非对称算法的示例中,所接收的认证信息可以包括最终响应的单个验证值。在本示例中,认证模块228可以使用最终响应的单个签名以及分配给输出最终响应的从设备104中的从设备的公共密钥来生成哈希值。例如,认证模块228可以使用最终响应的单个签名和分配给从设备104B的公共密钥kB来生成哈希值。在本示例中,当预测的验证值与哈希值对应(例如,匹配)时,认证模块228可以对该组响应进行认证。
图3是根据本公开内容的一个或更多个技术的从设备304的图示。仅出于说明的目的,下面在图1的系统100的背景下描述从设备304。虽然从设备304可以称为从设备104C的示例,但是从设备304可以是图1的从设备104的任何组合的示例。如所示的,从设备304可以包括以下中的一个或更多个:通信模块338、请求模块340、错误检测模块341、密钥模块342、标识符模块344、响应模块346、加密模块348以及签名模块350。在一些示例中,从设备304可以省略加密模块348。例如,从设备304可以包括以下中的一个或更多个:通信模块338、请求模块340、错误检测模块341、密钥模块342、标识符模块344、响应模块346以及签名模块350。
通信模块338可以被配置成经由从设备104从主设备102接收对数据的请求。例如,主设备102可以向从设备104A输出对数据的请求,从设备104A可以将对数据的请求转发至从设备104B,从设备104B可以将对数据的请求转发至通信模块338。如下面所论述的,在一些情况下,请求模块340可以确定对数据的请求被满足并且可以避免将对数据的请求转发至从设备104的下一从设备。
通信模块338可以被配置成从从设备104中的前一从设备接收一个或更多个响应。例如,通信模块338可以被配置成从从设备104B接收一个或更多个先前的响应。例如,通信模块338可以从从设备104B接收包括由从设备104A生成的第一响应和由从设备104B生成的第二响应的数据。类似地,通信模块338可以被配置成向从设备104中的下一从设备输出一个或更多个响应。例如,通信模块338可以被配置成向从设备104D转发一个或更多个响应。例如,通信模块338可以向从设备104D转发由从设备104A生成的第一响应、由从设备104B生成的第二响应以及由从设备304生成的第三响应。在以上示例中,通信模块338转发来自在前的从设备104A和从设备104B中的每个从设备的响应。然而,如下面进一步论述的,在其他示例中,通信模块338可以转发来自在前的从设备104A和104B的子集的响应。例如,通信模块338可以从从设备104B接收并且向从设备104D转发:来自仅从设备104A的响应、来自仅从设备104B的响应、来自仅从设备104C的响应、来自仅从设备104A至104B的响应、来自仅从设备104B至104C的响应或者来自仅从设备104A和104C的响应。
通信模块338可以被配置成从前一从设备接收认证信息。例如,通信模块338可以被配置成从从设备104B接收认证信息。例如,通信模块338可以从从设备104B接收从设备104B使用由从设备104A输出的签名而确定的单个签名。在一些情况下,通信模块338可以从从设备104B接收从设备104B的验证值以及从设备104B使用从设备104A的验证值而确定的单个签名。类似地,通信模块338可以被配置成将签名输出至从设备104D。例如,通信模块338可以向从设备104D输出从设备304使用由从设备104B输出的签名而确定的单个签名。在一些情况下,通信模块338可以向从设备104D输出从设备304的验证值以及从设备304使用从设备104B的验证值而确定的单个签名。
通信模块338可以被配置成使用第一模式来传送数据并且使用第二模式来传送签名。例如,通信模块338可以在第一模式下从从设备104B接收一个或更多个响应,并且在第一模式下向从设备104D输出一个或更多个响应。在该示例中,通信模块338可以在第二模式下从从设备104B接收认证信息并且在第二模式下将认证信息输出至从设备104D。在该示例中,第一模式可以不同于第二模式。例如,第一模式可以比第二模式更快地发送信息。在一些示例中,不同模式可以使用不同的硬件设备来操作。例如,第一模式可以在与第二模式相比具有更高带宽、更低延迟等的硬件上操作。
通信模块338可以被配置成确定从设备304是否是布置在菊花链中的最后一个从设备。例如,通信模块338可以向下一从设备输出对是否存在进行响应的请求。在该示例中,响应于接收到下一从设备存在的回复,通信模块338可以确定从设备304不是布置在菊花链中的最后一个从设备。然而,响应于未在预定时间内接收到下一从设备存在的回复,则通信模块338可以确定从设备304是布置在菊花链中的最后一个从设备。
请求模块340可以被配置成基于数据请求中所指示的地址来确定数据请求是否请求来自从设备304的响应。例如,当请求指示分配给从设备304的地址时,请求模块340可以确定数据请求请求来自从设备304的响应。这样的地址可以由主设备102分配。如前所述,地址可以是字母数字字符的组合、数字字符的组合、网络地址(例如媒体访问控制(MAC)地址、因特网协议(IP)地址或另一网络地址)或另一地址。
请求模块340可以被配置成基于数据请求中所指示的参数值来确定数据请求是否请求来自从设备304的响应。例如,当数据请求以分配给从设备304的参数值来指示定义数据请求的值时,请求模块340可以确定数据请求请求来自从设备304的数据。例如,当数据请求以分配给从设备304的参数值来指示逻辑“1”时,请求模块340可以确定数据请求请求来自从设备304的响应。在另一实例中,当数据请求以分配给从设备304的参数值来指示逻辑“0”时,请求模块340可以确定数据请求请求来自从设备304的响应。虽然在上面的示例中,指示来自从设备104A的响应被请求的值是单个数字,但是在其他示例中,该值可以是多个比特。例如,值“01”可以指示对来自从设备304的第一传感器的响应的请求,而值“10”可以指示对来自从设备304的第二传感器的响应的请求。
请求模块340可以被配置成基于一组数据请求内的请求顺序来确定数据请求是否请求来自从设备304的响应。例如,请求模块340可以监视对接收的和转发的数据的请求的量。例如,主设备102可以将分配给从设备304的顺序位置定义为第三。这样,请求模块340可以确定第一请求和第二请求不请求来自从设备304的响应,并且可以确定第三请求请求来自从设备304的响应。
请求模块340可以被配置成确定是否将数据请求转发至下一或后续的从设备。例如,请求模块340可以确定请求是否包括分配给下一或后续从设备的一个或更多个地址。在请求按照从设备的顺序列出地址的情况下,响应于确定分配给从设备304的地址不是请求中的最后一个地址,请求模块340可以确定转发数据请求。然而,响应于确定分配给从设备304的地址是请求中的最后一个地址,请求模块340可以确定避免转发数据请求。
请求模块340可以确定请求是否包括定义对来自下一或后续的从设备的数据的请求的参数。例如,响应于确定分配给下一或后续的从设备的数据请求的参数值包括指示响应被请求的一个或更多个值(例如,值“1”、值“10”等),请求模块340可以确定转发数据请求。然而,响应于确定分配给下一或后续的从设备的数据请求的参数值仅包括指示没有响应被请求的值(例如,值“0”、值“00”等),请求模块340可以确定避免转发数据请求。
请求模块340可以基于数据请求的顺序来确定转发数据请求。例如,响应于确定请求的顺序位置与分配给从设备304的顺序位置不匹配,请求模块340可以确定转发数据请求。然而,响应于确定请求的顺序位置与分配给从设备304的顺序位置匹配,请求模块340可以避免转发数据请求。
错误检测模块341可以发起错误处理过程。如本文中所使用的,错误处理过程可以包括但不限于向主设备102输出错误消息。例如,响应于确定从设备304的能量存储设备没有以全性能被使用,错误检测模块341可以发起错误处理过程。在另一示例中,错误检测模块341可以与请求模块340一起工作以基于从设备304的状态来确定是否发起错误处理过程。例如,响应于错误检测模块341确定从设备304处于关闭状态和/或被旁路并且请求模块340确定请求来自从设备304的响应时,错误检测模块341可以发起错误处理过程。
错误检测模块341可以与请求模块340一起工作以基于对数据的请求来确定是否发起错误处理过程。例如,响应于错误检测模块341确定从设备304包括传感器而不包括能量存储设备并且请求模块340确定请求来自从设备304的指示电池处的电压的响应,错误检测模块341可以发起错误处理过程。
密钥模块342可以被配置成存储用于从设备304的密钥。在一些示例中,密钥模块342可以被配置成存储用于从设备304的密钥。例如,技术人员可以将密钥模块342配置成具有预定的密钥。在一些示例中,密钥模块342可以使用Diffie-Hellmann生成随机密钥。在该示例中,密钥模块342可以与主设备102一起输出随机密钥。在一些示例中,密钥模块342可以接收密钥。例如,密钥模块342可以被预先配置成具有密钥。应该理解,密钥可以是永久的或可重新配置的。
密钥模块342可以被配置成使用具有有限生命周期的可重新配置的密钥(例如,会话密钥)。例如,密钥模块342和主设备102可以发起密钥传输以更新可重新配置的密钥。例如,在可重新配置的密钥到期之前,密钥模块342和主设备102可以使用旧密钥来建立安全连接以传送更新的密钥。在另一实例中,用于物理访问主设备102的专用设备可以建立安全信道以传送更新的密钥。
标识符模块344可以将标识符与从设备304相关联。例如,标识符模块344可以将主设备102输出的标识符与从设备304相关联。标识符模块344可以被配置成输出由标识符模块344输出的标识符的指示。例如,标识符模块344可以将标识符输出附加至由响应模块346生成的数据(例如,电池特性、感测特性等)。以这种方式,主设备102可以根据附加至数据的标识符将数据与从设备304相关联。
响应模块346可以被配置成生成用于由从设备304输出的响应。例如,从设备304可以包括电池单元。在该示例中,响应模块346可以生成指示电池单元的一个或更多个检测特性的响应。电池单元的检测特性的示例可以包括但不限于:电池的电压、温度、电流、电荷水平或其他检测特性。例如,响应模块346可以生成指示包括在从设备304中的电池单元的电压的响应。在其他示例中,从设备304可以包括其他设备和/或不同地生成数据。例如,响应模块346可以生成指示所感测的照明水平的响应。应该理解,对于不同的从设备104响应模块346可以是不同的。例如,从设备104A可以包括被配置成生成指示照明水平的响应的响应模块,并且从设备104B可以包括被配置成生成指示电压的响应的响应模块。在一些示例中,从设备304可以包括用于传感器网络的传感器。例如,响应模块346可以生成指示传感器的一个或更多个生成值的响应。传感器的生成值的示例可以包括但不限于:传感器的压力、温度、电流、电压、振动、电容、电导、电感、红外线、光学、超声波、触摸、接近度、烟雾、气体、声学以及其他生成值。在一些示例中,响应模块346可以生成指示执行器的一个或更多个检测特性的响应。执行器的检测特性的示例可以包括但不限于:执行器的位置、执行器的速度、执行器的加速度、执行器输出的力以及执行器的其他生成值。
加密模块348可以对由响应模块346输出的响应进行加密。加密模块348可以被配置成用于对称算法。例如,加密模块348可以包括被配置成使用用于从设备304的密钥对数据执行AES加密的电路。加密模块348可以被配置成用于非对称算法。例如,加密模块348可以包括被配置成使用公共密钥对数据执行RSA加密的电路。加密模块348可以以硬件来实现。例如,加密模块348可以包括一个或更多个处理器,一个或更多个处理器包括一个或更多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路系统以及这样的部件的任何组合。在一些示例中,加密模块348可以以软件来实现。例如,加密模块348可以是由在从设备304处操作的处理器执行的软件模块。
加密模块348可以被配置成使用初始化向量。例如,加密模块348可以生成用于由加密模块348使用的向量。例如,加密模块348可以生成用于由加密模块348使用的伪随机向量。在一些示例中,加密模块348可以生成用于由加密模块348使用的随机向量。在一些示例中,加密模块348可以(例如,从前一从设备)接收初始化向量并且将初始化向量附加至由响应模块346生成的数据。
加密模块348可以基于初始化向量和由密钥模块342输出的密钥对由响应模块346输出的响应进行加密。例如,加密模块348可以对初始化向量和由响应模块346输出的响应应用异或逻辑运算。在该示例中,加密模块348可以使用由密钥模块342输出的密钥对异或逻辑运算的结果进行加密。
加密模块348可以基于由密钥模块342输出的密钥和由另一从设备104输出的响应对由响应模块346输出的响应进行加密。例如,加密模块348可以对由响应模块346输出的响应和由从设备104B输出的响应应用异或逻辑运算。在该示例中,加密模块348可以使用由密钥模块342输出的密钥对异或逻辑运算的结果进行加密。
签名模块350可以确定从设备304的签名。签名模块350可以被配置成用于对称算法。例如,签名模块350可以包括被配置成执行HMAC算法以使用用于从设备304的密钥来生成从设备304的签名的电路,并且主设备102可以使用用于从设备304的密钥来认证从设备304。签名模块350可以被配置成用于非对称算法。例如,签名模块350可以包括被配置成执行DSA算法以使用用于从设备304的密钥来生成从设备304的签名的电路,并且主设备102可以使用公共密钥来认证从设备304。签名模块350可以以硬件来实现。例如,签名模块350可以包括一个或更多个处理器,一个或更多个处理器包括一个或更多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路系统以及这样的部件的任何组合。在一些示例中,签名模块350可以以软件来实现。例如,签名模块350可以是由在从设备304处操作的处理器执行的软件模块。
签名模块350可以基于由密钥模块342输出的密钥和由响应模块346输出的响应来确定从设备304的签名。例如,在从设备304是布置在菊花链中的初始从设备和/或正在输出对数据请求的第一响应的从设备的情况下,签名模块350可以基于由密钥模块342输出的密钥和由响应模块346输出的响应来确定从设备304的签名。例如,签名模块350可以使用由密钥模块342输出的密钥和由响应模块346输出的响应来应用对称算法。在一些情况下,签名模块350可以使用由密钥模块342输出的密钥和由响应模块346输出的响应来应用非对称算法。应当理解,由响应模块346输出的响应可以是未加密的(例如,明文)或由加密模块348加密的。
签名模块350可以基于由密钥模块342输出的密钥、由响应模块346输出的响应以及由前一从设备输出的签名来确定从设备304的签名。例如,在从设备304是中间从设备或最后一个从设备和/或正在输出对数据请求的第二响应或后续响应的情况下,签名模块350可以基于由密钥模块342输出的密钥、由响应模块346输出的响应以及由前一从设备输出的签名来确定从设备304的签名。例如,签名模块350可以使用由密钥模块342输出的密钥、由响应模块346输出的响应以及由前一从设备输出的签名来应用对称算法。更具体地,签名模块350可以将由前一从设备输出的签名附加至由响应模块346输出的响应,并且使用由密钥模块342输出的密钥将对称算法应用于由前一从设备输出的签名与由响应模块346输出的响应的组合。应该理解,由响应模块346输出的响应可以是未加密的(例如,明文)或由加密模块348加密的以及/或者从前一从设备接收的响应可以是未加密的(例如,明文)或加密的。
签名模块350可以基于由密钥模块342输出的私有密钥、由响应模块346输出的响应以及由前一从设备输出的验证值来确定从设备304的签名。例如,在从设备304是中间从设备或最后一个从设备和/或正在输出对数据请求的第二响应或后续响应的情况下,签名模块350可以基于由密钥模块342输出的私有密钥、由响应模块346输出的响应以及由前一从设备输出的验证值来确定从设备304的签名。例如,签名模块350可以使用由密钥模块342输出的私有密钥、由响应模块346输出的响应以及由前一从设备输出的验证值来应用非对称算法。更具体地,签名模块350可以将由前一从设备输出的验证值附加至由响应模块346输出的响应,并且使用由密钥模块342输出的私有密钥将非对称算法应用于由前一从设备输出的验证值与由响应模块346输出的响应的组合。应当理解,由响应模块346输出的响应可以是未加密的(例如,明文)或由加密模块348加密的以及/或者从前一从设备接收的响应可以是未加密的(例如,明文)或加密的。
签名模块350可以基于由密钥模块342输出的密钥、由响应模块346输出的响应以及由前一从设备输出的验证值来确定从设备304的验证值。例如,在从设备304是中间从设备或最后一个从设备和/或正在输出对数据请求的第二响应或后续响应的情况下,签名模块350可以基于由密钥模块342输出的公共密钥、由响应模块346输出的响应以及由前一从设备输出的验证值来确定从设备304的验证值。例如,签名模块350可以使用由密钥模块342输出的公共密钥、由响应模块346输出的响应以及由前一从设备输出的验证值来应用非对称算法。更具体地,签名模块350可以将由前一从设备输出的验证值附加至由响应模块346输出的响应,并且使用由密钥模块342输出的公共密钥将非对称算法应用于由前一从设备输出的验证值与由响应模块346输出的响应的组合。应当理解,由响应模块346输出的响应可以是未加密的(例如,明文)或由加密模块348加密的以及/或者从前一从设备接收的响应可以是未加密的(例如,明文)或加密的。
签名模块350可以基于前一个签名和接收的验证值来验证响应。例如,签名模块350可以根据用于从设备104B的公共密钥和由从设备104B输出的验证值来验证来自从设备104B的响应。更具体地,例如,签名模块350可以使用从从设备104B接收的签名和用于从设备104B的公共密钥来生成用于从设备104B的哈希值。签名模块350可以基于由从设备104B输出的验证值和哈希值的比较来确定响应是否被验证(例如可信)。例如,当由从设备104B输出的验证值对应于(例如匹配)哈希值时,签名模块350可以确定响应被验证。然而,当由从设备104B输出的验证值不对应于(例如匹配)哈希值时,签名模块350可以确定响应未被验证。
签名模块350可以发起错误处理进程。例如,签名模块350可以输出错误消息。例如,响应于确定由从设备104B输出的验证值不对应于(例如匹配于)用于从从设备104B接收的签名的哈希值,签名模块350可以向主设备102输出错误消息。在一些示例中,签名模块350可以使验证值无效。例如,响应于确定由从设备104B输出的验证值不对应于(例如匹配于)用于从从设备104B接收的签名的哈希值,签名模块350可以避免向其他从设备104和/或主设备102转发从从设备104B接收的数据。然而,在一些示例中,签名模块350可以忽略错误。例如,响应于确定由从设备104B输出的验证值不对应于(例如匹配于)用于从从设备104B接收的签名的哈希值,签名模块350可以向其他从设备104和/或主设备102转发从从设备104B接收的数据,并且仅依赖于主设备102来检测错误。
在操作中,从设备304可以向主设备102注册。例如,标识符模块344可以从主设备102接收标识符,并且密钥模块342可以向主设备102输出主设备102可以分配给标识符的密钥。从设备304可以从从设备104的前一个从设备接收数据请求、对数据请求的第一响应以及对数据请求的第一响应的验证信息。例如,从设备304可以从从设备104B接收数据请求、对数据请求的第一响应以及对数据请求的第一响应的验证信息。例如,从设备304可以从从设备104B进行接收。从设备304可以生成用于输出给主设备102的数据。例如,从设备304的传感器可以生成指示从设备304中所包括的电池单元处的温度的数据。
在使用加密的这些实例中,响应于接收到来自从设备104B的加密数据和签名,从设备304可以对由响应模块346生成的数据进行加密以输出给主设备102。例如,加密模块348可以使用密钥对指示从设备304中所包括的电池单元处的温度的明文数据与从从设备104B接收的加密数据的异或操作的结果进行加密。在一些示例中,从设备304可以省略一个或更多个加密技术并且输出明文数据。
从设备304可以基于对第一响应的认证信息、第二响应和分配给从设备304的密钥来确定对第二响应的认证信息。例如,签名模块350可以使用对第一响应的签名、第二响应和分配给从设备304的密钥来应用对称算法以生成对第二响应的签名。在一些示例中,签名模块350可以根据从从设备104B接收的签名、密钥以及加密数据或明文数据来生成签名。例如,签名模块350可以根据从从设备104B接收的签名、密钥和指示从设备304中所包括的电池单元处的温度的数据来生成签名。签名模块350可以使用对第一响应的验证值、第二响应和分配给从设备304的密钥来应用非对称算法。从设备304可以输出至少第二响应的验证信息、第一响应以及第二响应。例如,从设备304可以向从设备104C输出加密数据或明文数据以及签名。
图4是根据本公开的一个或更多个技术的以菊花链配置布置并且配置用于安全菊花链通信的从设备的第一数据流400的图示。仅出于说明的目的,下面在图1的系统100、图2的主设备202和图3的从设备304的背景下描述数据流400。从设备404A至404D(以下称为从设备404)可以是图1的从设备104和/或图3的从设备304的示例。
响应于接收到来自主设备102的数据请求458,从设备404A使用数据462A和密钥464A(460A)来生成签名466A。从设备404A向从设备404B输出数据462A和签名466A。从设备404B使用数据462B、密钥464B和签名466A(460B)来生成签名466B。从设备404B向从设备404C输出数据462A、数据462B和签名466B。从设备404C使用数据462C、密钥464C和签名466B(460C)来生成签名466C。从设备404C向从设备404D输出数据462A至462C和签名466C。从设备404D使用数据462D、密钥464D和签名466C(460D)来生成签名466D。从设备404D向主设备102输出数据462A至462D和签名466D作为对由从设备404A接收的请求的答复。
图5是根据本公开的一个或更多个技术的以菊花链配置布置并且被配置用于安全菊花链通信的从设备的第二数据流的图示。仅出于说明的目的,下面在图1的系统100、图2的主设备202和图3的从设备304的上下文内描述数据流500。从设备504A至504D(以下称为从设备504)可以是图1的从设备104和/或图3的从设备304的示例。
响应于接收到来自主设备102的数据请求558,从设备504A在模式570下向从设备504B输出数据568A。从设备504B在模式570下向从设备504C输出数据568A和568B。从设备504C在模式570下向从设备504D输出数据568A至568C。从设备504D在模式570下向主设备102输出数据568A至568D作为对由从设备504A接收的请求的答复。
响应于接收到来自主设备102的数据请求558,从设备504A使用数据562A和密钥564A(560A)来生成签名566A。从设备504A在模式572下向从设备504B输出签名566A。从设备504B使用数据562B、密钥564B和签名566A(560B)来生成签名566B。从设备504B在模式572下向从设备504C输出签名566B。从设备504C使用数据562C、密钥564C和签名566B(560C)来生成签名566C。从设备504C在模式572下向从设备504D输出签名566C。从设备504D使用数据562D、密钥564D和签名566C(560D)来生成签名566D。从设备504D在模式572下向主设备102输出签名566D作为对由从设备504A接收的请求的答复。
在一些示例中,模式570和模式572可以彼此独立地操作。例如,从设备504D可以在向主设备102输出签名566D之前向主设备102输出数据568A至568D。在一些示例中,模式570和模式572可以使用不同的硬件来操作。例如,模式570和模式572可以在不同的总线处操作。在一些示例中,模式570和模式572可以使用不同的协议来操作。以该方式,从设备504可以被配置成以允许主设备102确定用于与签名566进行比较的预测签名的额外时间的方式向主设备102输出数据568A至568D。
图6是根据本公开的一个或更多个技术的以菊花链配置布置并且被配置用于安全菊花链通信的从设备的第三数据流600的图示。仅出于示出的目的,下面在图1的系统100、图2的主设备202和图3的从设备304的背景下描述数据流600。从设备604A至604D(以下称为从设备604)可以是图1的从设备104和/或图3的从设备304的示例。
响应于接收到来自主设备102的数据请求658,从设备604A确定数据请求658不请求来自从设备604A的响应并且将数据请求658转发给从设备604B。从设备604B确定数据请求658请求来自从设备604B的响应。响应于确定数据请求658请求来自从设备604B的响应,从设备604B生成数据662B,使用数据662B和密钥664B生成签名666B,请求将数据请求658、数据662B和签名666B转发给从设备604C。从设备604C确定数据请求658不请求来自从设备604C的响应,并且将数据请求658、数据662B和签名666B转发给从设备604D。在上述示例中,从设备604B至604D转发数据请求658,然而,在其他示例中,从设备604B至604D可以由于数据请求658被数据662B满足而避免转发数据请求658。
图7是根据本公开的一个或更多个技术的以菊花链配置布置并且被配置用于安全菊花链通信的从设备的第四数据流700的图示。仅出于说明的目的,下面在图1的系统100、图2的主设备202和图3的从设备304的背景下描述数据流700。从设备704A至704D(以下称为从设备704)可以是图1的从设备104和/或图3的从设备304的示例。
响应于接收到来自主设备102的数据请求758,从设备704A生成初始化矢量780。从设备704A通过使用用于从设备704A的密钥764A以及由从设备704A输出的数据762A与初始化矢量780的异或操作的结果执行块密码加密760A来生成加密数据768A。从设备704A向从设备704B输出初始化矢量780和加密数据768A。从设备704B通过使用用于从设备704B的密钥764B以及由从设备704B输出的数据762B与加密数据768A的异或操作的结果执行块密码加密760B来生成加密数据768B。从设备704B向从设备704C输出初始化矢量780以及加密数据768A和加密数据768B。从设备704C通过使用用于从设备704C的密钥764C以及由从设备704C输出的数据762C与加密数据768B的异或操作的结果执行块密码加密760C来生成加密数据768C。从设备704C向从设备704B输出初始化矢量780以及加密数据768A至768C。从设备704D通过使用用于从设备704D的密钥764D以及由从设备704D输出的数据762D与加密数据768C的异或操作的结果执行块密码加密760D来生成加密数据768D。从设备704D向主设备102输出初始化矢量780和加密数据768A至768D作为对由从设备704A接收的数据请求758的答复。
图8是根据本公开的一个或更多个技术的以菊花链配置布置并且配置用于安全菊花链通信的从设备的第五数据流800的图示。仅出于说明的目的,下面在图1的系统100、图2的主设备202和图3的从设备304的背景下描述数据流800。从设备804A至804D(以下称为从设备804)可以是图1的从设备104和/或图3的从设备304的示例。
从设备804A接收来自主设备102的数据请求858和初始矢量880。响应于确定数据请求858不请求来自从设备804A的响应,从设备804A不生成响应并且将数据请求858和初始化矢量880转发给从设备804B。响应于确定数据请求858请求来自从设备804B的响应,从设备804B通过使用用于从设备804B的密钥864B以及由从设备804B输出的数据862B与初始化矢量880的异或操作的结果执行块密码加密860B生成加密数据868B,并且使用数据862B和密钥864B来生成签名866B。从设备804B向从设备804C转发数据请求858、加密数据868B和签名866B。响应于确定数据请求858不请求来自从设备804C的响应,从设备804C不生成响应并且将数据请求858、加密数据868B、签名866B和初始化矢量880转发给从设备804D。响应于确定数据请求858不请求来自从设备804D的响应,从设备804D不生成响应并且将数据请求858、加密数据868B、签名866B和初始化矢量880转发给主设备102作为对由从设备804A接收的请求的答复。在上述示例中,从设备804B至804D转发数据请求858,然而,在其他示例中,从设备804B至804D可以由于数据请求858被数据862B满足而避免转发数据请求858。
图9是根据本公开的与可以由主设备执行的技术一致的流程图。仅出于说明的目的,下面在图1的系统100、图2的主设备202、图3的从设备304、图4的数据流400、图5的数据流500、图6的数据流600、图7的数据流700和图8的数据流800的背景下描述示例操作。
根据本公开的一个或更多个技术,标识符模块222向从设备104中的每个从设备分配标识符以形成一组标识符(902)。密钥模块220接收来自从设备104中的每个从设备的密钥以形成一组密钥(904)。通信模块218向从设备104输出数据请求(906)。通信模块218接收来自从设备104的一组数据(908)。
在一些示例中,加密和解密模块224可以使用初始化矢量、该组密钥和该组标识符将该组数据解密(910A)。例如,加密和解密模块224使用图7的初始化矢量780、图7的用于从设备704A的密钥和图7的加密数据768A将来自图7的从设备704A的数据解密。在该示例中,加密和解密模块224使用加密数据768A、用于图7的从设备704A的密钥和图7的加密数据768B将来自从设备704B的数据解密,并且以此类推直至图7的加密数据768A至768D被解密为止。然而,在一些示例中,省略一个或更多个解密技术(910B)。
主设备202接收用于数据请求的一组响应中的最终响应的认证信息(912)。例如,主设备202可以接收用于最终响应的单个签名。签名模块226基于一组响应和一组密钥来生成用于最终响应的预测认证信息。例如,签名模块226可以使用图4的数据462A和图4的密钥464A来生成图4的签名466A。在该示例中,签名模块226使用图4的数据462B和图4的密钥464B和图4的签名466A来生成图4的签名466B,并且以此类推直至签名466D被确定作为用于从设备104的预测签名为止。在一些示例中,签名模块226可以使用由从设备104A输出的响应和分配给从设备104A的标识符的公共密钥来生成用于从设备104A的第一验证值,使用由从设备104B输出的响应、分配给从设备104B的标识符的密钥以及用于从设备104A的第一验证值来生成用于从设备104B的第二验证值,并且以此类推直至生成用于从设备104的最终验证值为止。
认证模块228基于认证信息和预测认证信息来认证一组响应(916)。例如,当单个签名与预测签名相匹配时,认证模块228认证从设备104。在一些示例中,认证模块228可以使用来自从设备104N的单个签名和用于从设备104N的公共密钥来计算用于来自从设备104N的单个签名的验证值。在该示例中,当由签名模块226计算的最终验证值与用于来自从设备104N的单个签名的验证值匹配时,认证模块228可以认证从设备104N。
图10是根据本公开的与可以由从设备执行的技术一致的流程图。仅出于说明的目的,下面在图1的系统100、图2的主设备202、图3的从设备304、图4的数据流400、图5的数据流500、图6的数据流600、图7的数据流700和图8的数据流800的背景下描述示例操作。
根据本公开的一个或更多个技术,通信模块338可以接收来自布置在菊花链配置中的前一个设备的数据请求、对数据请求的第一响应以及用于第一响应的签名(1002)。例如,从设备104C可以接收来自从设备104B的数据请求、第一响应和签名。响应模块346可以生成对数据请求的第二响应(1004)。例如,响应于请求模块340确定数据请求请求来自从设备304的请求,响应模块346生成对请求的第二响应。
签名模块350可以基于用于第一响应的签名、用于中间从设备的密钥和第二响应确定用于第二响应的签名(1006)。例如,图4的从设备404B可以根据图4的签名466A、图4的密钥464B和图4的数据462B来确定用于图4的从设备404B的签名。
在一些示例中,加密模块348可以使用从前一个设备接收的数据和用于中间从设备的密钥对用于中间从设备的数据进行加密(1008A)。例如,图3的加密模块348可以使用图7的加密数据768A和用于图7的从设备704B的密钥来生成图7的加密数据768B。然而,在一些示例中,省略一个或更多个加密技术(1008B)。
通信模块338可以向布置在菊花链配置中的下一设备输出数据请求、第二响应、第一响应和用于第二响应的签名(1010)。例如,图4的从设备404B可以向图4的从设备404C输出数据请求458、图4中的用于图4的从设备404B的数据462B、图4中的从图4的从设备404A接收的数据462A以及图4中的用于图4的从设备404B的签名466B。在一些示例中,图5的从设备504B可以在模式570下向图5的从设备504C输出数据请求558、图5中的用于图5的从设备504B的数据562B、图5的从图5的从设备504A接收的数据562A。在该示例中,从设备504B可以在模式572下向图5的从设备504C输出图5中的用于图5的从设备504B的签名566B。
图11是根据本公开的与可以由从设备执行的技术一致的第二流程图。仅出于说明的目的,下面在图1的系统100、图2的主设备202、图3的从设备304、图4的数据流400、图5的数据流500、图6的数据流600、图7的数据流700和图8的数据流800的背景下描述示例操作。
根据本公开的一个或更多个技术,通信模块338可以接收数据请求、对数据请求的第一响应、验证数据以及用于第一响应的签名(1102)。例如,从设备104C可以接收来自从设备104B的数据请求、对数据请求的第一响应、验证值以及用于第一响应的签名。签名模块350可以基于验证值和用于前一个设备的公共密钥来验证用于前一个设备的签名(1104)。例如,签名模块350可以使用来自从设备104B的签名和用于从设备104B的公共密钥生成验证值,并且当由从设备104B输出的验证值对应于(例如匹配于)使用来自从设备104B的签名和用于从设备104B的公共密钥生成的用于从设备104B的验证值时,确定签名被验证。
响应模块346可以生成对数据请求的第二响应(1106)。例如,响应于请求模块340确定数据请求请求来自从设备304的请求,响应模块346生成对请求的第二响应。
签名模块350可以基于用于第一响应的验证值、用于中间从设备的密钥和第二响应来确定用于第二响应的签名和验证值(1108)。例如,签名模块350可以使用由从设备104B输出的验证值、由响应模块346输出的响应以及由密钥模块342输出的公共密钥来生成验证值。在该示例中,签名模块350可以基于由响应模块346输出的响应、由密钥模块342输出的私有密钥和从从设备104B接收的验证值的组合来确定签名。
在一些示例中,加密模块348可以使用从前一个设备接收的数据和用于中间从设备的密钥对用于中间从设备的数据进行加密(1110A)。例如,图3的加密模块348可以使用图7的加密数据768A和用于图7的从设备704B的密钥来生成图7的加密数据768B。然而,在一些示例中,省略一个或更多个加密技术(1110B)。
通信模块338可以向布置在菊花链配置中的下一设备输出数据请求、第二响应、第一响应、用于第二响应的签名以及用于第二响应的验证值(1112)。例如,从设备104C可以向从设备104D输出数据请求、第二响应、第一响应、用于第二响应的签名以及用于第二响应的验证值。
下面的示例可以示出本公开内容的一个或更多个方面。
示例1.一种以菊花链配置与一组从设备连接的中间从设备,其中,所述中间从设备被配置成:从该组从设备中的前一个从设备接收数据请求、对所述数据请求的第一响应以及对所述数据请求的第一响应的认证信息;生成对所述数据请求的第二响应;基于所述第一响应的认证信息、所述第二响应和分配给所述中间从设备的密钥来确定所述第二响应的认证信息;以及至少输出所述第二响应的认证信息、所述第一响应和所述第二响应。
示例2.根据示例1所述的中间从设备,其中,所述第一响应的认证信息包括所述第一响应的签名,以及所述第二响应的认证信息包括所述第二响应的签名,以及其中,为了确定所述第二响应的认证信息,所述中间从设备配置成:使用所述第一响应的签名、所述第二响应和分配给所述中间从设备的密钥来应用对称算法,以生成所述第二响应的签名。
示例3.根据示例1至2或其组合所述的中间从设备,其中,所述第一响应的认证信息包括所述第一响应的验证值,以及所述第二响应的认证信息包括所述第二响应的验证值,以及其中,为了确定所述第二响应的认证信息,所述中间从设备配置成:使用所述第一响应的验证值、所述第二响应和分配给所述中间从设备的密钥来应用非对称算法,以生成所述第二响应的验证值。
示例4.根据示例1至3或其组合所述的中间从设备,其中,分配给所述中间从设备的密钥为公共密钥,以及其中,所述第二响应的认证信息还包括所述第二响应的签名,所述中间从设备被配置成:使用所述第一响应的验证值和分配给所述中间从设备的私有密钥来生成所述第二响应的签名。
示例5.根据示例1至4或其组合所述的中间从设备,其中,所述第一响应的认证信息还包括所述第一响应的签名,所述中间从设备被配置成:使用所述第一响应的签名和分配给前一个从设备的公共密钥来生成第一响应的哈希值;以及当所述第一响应的哈希值对应于所述第一响应的验证值时,确定所述第一响应被验证。
示例6.根据示例1至5或其组合所述的中间从设备,其中,所述中间从设备还被配置成:通过第一模式输出对所述数据请求的第一响应以及对所述数据请求的第二响应;以及通过与所述第一模式不同的第二模式输出所述第二响应的认证信息。
示例7.根据示例1至6或其组合所述的中间从设备,其中,所述第一响应是加密的第一响应,以及其中,为了生成对所述数据请求的第二响应,所述中间从设备还被配置成:使用所述加密的第一响应将对所述数据请求的明文响应进行加密。
示例8.根据示例1至7或其组合所述的中间从设备,其中,所述中间从设备被配置成:响应于确定所述数据请求指示从所述中间从设备请求数据来生成所述第二响应。
示例9.根据示例1至8或其组合所述的中间从设备,其中,所述中间从设备被配置成:响应于确定所述数据请求指示从该组从设备中的下一个从设备请求数据来输出所述数据请求。
示例10.一种方法,包括:由以菊花链配置与一组从设备连接的中间从设备从该组从设备中的前一个从设备接收数据请求、对所述数据请求的第一响应以及对所述数据请求的第一响应的认证信息;由所述中间从设备生成对所述数据请求的第二响应;由所述中间从设备基于所述第一响应的认证信息、第二响应和分配给所述中间从设备的密钥来确定所述第二响应的认证信息;以及由所述中间从设备至少输出所述第二响应的认证信息、所述第一响应和所述第二响应。
示例11.根据示例10所述的方法,其中,所述第一响应的认证信息包括所述第一响应的签名,以及所述第二响应的认证信息包括所述第二响应的签名,以及其中,确定所述第二响应的认证信息包括:由所述中间从设备使用所述第一响应的签名、所述第二响应和分配给所述中间从设备的密钥来应用对称算法,以生成所述第二响应的签名。
示例12.根据示例10至11或其组合所述的方法,其中,所述第一响应的认证信息包括所述第一响应的验证值,其中,所述第二响应的认证信息包括所述第二响应的验证值,以及其中,确定所述第二响应的认证信息包括:由所述中间从设备使用所述第一响应的验证值、所述第二响应和分配给所述中间从设备的密钥来应用非对称算法,以生成所述第二响应的验证值。
示例13.根据示例10至12或其组合所述的方法,其中,分配给所述中间从设备的密钥为公共密钥,以及其中,所述第二响应的认证信息还包括所述第二响应的签名,所述方法还包括:由所述中间从设备使用所述第一响应的验证值和分配给所述中间从设备的私有密钥来生成所述第二响应的签名。
示例14.根据示例10至13或其组合所述的方法,其中,所述第一响应的认证信息还包括所述第一响应的签名,所述方法还包括:由所述中间从设备使用所述第一响应的签名和分配给前一个从设备的公共密钥来生成第一响应的哈希值;以及当所述第一响应的哈希值对应于所述第一响应的验证值时,由所述中间从设备确定所述第一响应被验证。
示例15.根据示例10至14或其组合所述的方法,其中,至少输出所述第二响应的认证信息、所述第一响应和所述第二响应包括:由所述中间从设备通过第一模式输出对所述数据请求的所述第一响应以及对所述数据请求的所述第二响应;以及由所述中间从设备通过与所述第一模式不同的第二模式输出所述第二响应的认证信息。
示例16.根据示例10至15或其组合所述的方法,其中,所述第一响应是加密的第一响应,以及其中,生成对所述数据请求的所述第二响应包括:由所述中间从设备使用所述加密的第一响应将对所述数据请求的明文响应进行加密。
示例17.根据示例10至16或其组合所述的方法,还包括:响应于确定所述数据请求指示从所述中间从设备请求数据来生成所述第二响应。
示例18.根据示例10至17或其组合所述的方法,还包括:响应于确定所述数据请求指示从该组从设备中的下一个从设备请求数据,由所述中间从设备输出所述数据请求。
示例19.一种系统,包括:主设备,其被配置成输出数据请求;一组从设备,该组从设备以菊花链配置来布置,使得该组从设备中的初始从设备从所述主设备接收所述数据请求以及该组从设备中的最后一个从设备向所述主设备输出对所述数据请求的一个或更多个响应,其中,该组从设备中的以菊花链配置布置在所述初始从设备与所述最后一个从设备之间的中间从设备被配置成:从该组从设备中的前一个从设备接收所述数据请求、对所述数据请求的第一响应以及所述第一响应的认证信息;生成对所述数据请求的第二响应;基于所述第一响应的认证信息、第二响应和分配给所述中间从设备的密钥来确定所述第二响应的认证信息;以及向该组从设备中的下一个从设备至少输出所述第二响应的认证信息、所述第一响应和所述第二响应。
示例20.根据示例19所述的系统,其中,所述中间从设备包括能量存储设备,以及其中,所述中间从设备被配置成基于所检测到的能量存储设备的特性来生成对所述数据请求的第二响应。
示例21.根据示例19-20或其组合所述的系统,其中,所述中间从设备包括传感器,以及其中,所述中间从设备被配置成基于所述传感器的输出来生成对所述数据请求的第二响应。
示例22.根据示例19-21或其组合所述的系统,其中,所述中间从设备包括执行器,以及其中,所述中间从设备被配置成基于所检测到的执行器的特性来生成对所述数据请求的第二响应。
示例23.一种连接至以菊花链配置布置的一组从设备的主设备,其中,所述主设备被配置成:向该组从设备中的初始从设备输出数据请求;从该组从设备中的最后一个从设备接收对所述数据请求的一组响应以及该组响应中的最终响应的认证信息;对于该组响应中的第一响应,基于所述第一响应和分配给该组从设备中的输出所述第一响应的从设备的密钥来确定所述第一响应的认证信息;对于该组响应中的每个其他响应,包括所述最终响应,基于该组响应中的前一个响应的认证信息、该组响应中的相应响应和分配给该组从设备中的输出所述相应响应的从设备的密钥来确定相应认证信息,以生成所述最终响应的预测认证信息;以及基于所述预测认证信息和所接收到的最终响应的认证信息来认证该组响应。
示例24.根据示例23所述的主设备,其中,所述最终响应的认证信息包括所述最终响应的单个签名,其中,所述预测认证信息包括预测签名,以及其中,为了认证该组响应,所述主设备被配置成:当所述预测签名对应于所述最终响应的单个签名时,认证该组响应。
示例25.根据示例23至24或其组合所述的主设备,其中,所述最终响应的认证信息包括所述最终响应的单个签名,其中,所述预测认证信息包括预测验证值,以及其中,为了认证该组响应,所述主设备被配置成:使用所述最终响应的单个签名和分配给该组从设备中的输出所述最终响应的从设备的公共密钥来生成所述最终响应的哈希值;以及当所述预测验证值对应于所述哈希值时,认证该组响应。
示例26.根据示例23至25或其组合所述的主设备,其中,该组响应中的每个响应包括限定该组从设备中的一个从设备的相应标识符,以及其中,所述主设备还被配置成:对于该组响应中的每个响应,基于相应标识符来确定相应密钥。
示例27.根据示例23至26或其组合所述的主设备,其中,为了输出所述数据请求,所述主设备被配置成:输出所述数据请求,使得所述数据请求指示一组地址,其中,该组地址中的每个地址限定该组从设备中的一个从设备。
示例28.根据示例23至27或其组合所述的主设备,其中,为了输出所述数据请求,所述主设备被配置成:输出所述数据请求,使得所述数据请求指示一组参数值,其中,该组参数值中的每个相应参数值限定响应是否是从该组从设备中的被分配给所述相应参数值的从设备请求的。
示例29.根据示例23至28或其组合所述的主设备,其中,所述主设备被配置成:向所述初始从设备输出一组数据请求,该组数据请求包括所述数据请求,其中,该组数据请求的顺序限定了该组从设备中的用于该组数据请求中的每个相应数据请求的从设备。
示例30.根据示例23至29或其组合所述的主设备,其中,为了接收对所述数据请求的该组响应和最终响应的认证信息,所述主设备被配置成:通过第一模式接收对所述数据请求的该组响应;以及通过与所述第一模式不同的第二模式接收所述最终响应的认证信息。
示例31.根据示例23至30或其组合所述的主设备,其中,该组响应是加密的一组响应,所述主设备被配置成:对该组响应进行解密以确定对所述数据请求的一组明文响应。
示例32.一种方法,包括:由主设备向以菊花链配置布置的一组从设备中的初始从设备输出数据请求;由所述主设备从该组从设备中的最后一个从设备接收对所述数据请求的一组响应以及该组响应中的最终响应的认证信息;对于该组响应中的第一响应,由所述主设备基于所述第一响应和分配给该组从设备中的输出所述第一响应的从设备的密钥来确定所述第一响应的认证信息;对于该组响应中的每个其他响应,包括所述最终响应,基于该组响应中的前一个响应的认证信息、该组响应中的相应响应和分配给该组从设备中的输出所述相应响应的从设备的密钥来确定相应认证信息,以生成所述最终响应的预测认证信息;以及由所述主设备基于所述预测认证信息和所接收到的最终响应的认证信息来认证该组响应。
示例33.根据示例32所述的方法,其中,所述最终响应的认证信息包括所述最终响应的单个签名,其中,所述预测认证信息包括预测签名,以及认证该组响应包括:当所述预测签名对应于所述最终响应的单个签名时,由所述主设备认证该组响应。
示例34.根据示例32至33或其组合所述的方法,其中,所述最终响应的认证信息包括所述最终响应的单个签名,其中,所述预测认证信息包括预测验证值,以及认证该组响应包括:由所述主设备使用所述最终响应的单个签名和分配给该组从设备中的输出最终响应的从设备的公共密钥来生成所述最终响应的哈希值;以及当所述预测验证值对应于所述哈希值时,由所述主设备认证该组响应。
示例35.根据示例32至34或其组合所述的方法,其中,该组响应中的每个响应包括限定该组从设备中的一个从设备的相应标识符,所述方法还包括:对于该组响应中的每个响应,由所述主设备基于该相应标识符来确定相应密钥。
示例36.根据示例32至35或其组合所述的方法,其中,输出所述数据请求包括:由所述主设备输出所述数据请求,使得所述数据请求指示一组地址,其中,该组地址中的每个地址限定该组从设备中的一个从设备。
示例37.根据示例32至36或其组合所述的方法,其中,输出所述数据请求包括:由所述主设备输出所述数据请求,使得所述数据请求指示一组参数值,其中,该组参数值中的每个相应参数值限定响应是否是从该组从设备中的被分配给所述相应参数值的从设备请求的。
示例38.根据示例32至37或其组合所述的方法,其中,输出所述数据请求包括:由所述主设备向所述初始从设备输出一组数据请求,该组数据请求包括所述数据请求,其中,该组数据请求的顺序限定该组从设备中的用于该组数据请求中的每个相应数据请求的从设备。
示例39.根据示例32至38或其组合所述的方法,其中,接收对所述数据请求的该组响应和最终响应的认证信息包括:由所述主设备通过第一模式接收对所述数据请求的该组响应;以及由所述主设备通过与所述第一模式不同的第二模式接收所述最终响应的认证信息。
示例40.根据示例32至39或其组合所述的方法,其中,该组响应是加密的一组响应,所述方法还包括:由所述主设备对该组响应进行解密以确定对所述数据请求的一组明文响应。
示例41.一种系统,包括:以菊花链配置布置的一组从设备;以及连接至该组从设备的主设备,所述主设备被配置成:向该组从设备中的初始从设备输出数据请求;从该组从设备中的最后一个从设备接收对所述数据请求的一组响应以及该组响应中的最终响应的认证信息;对于该组响应中的第一响应,基于所述第一响应和分配给该组从设备中的输出第一响应的从设备的密钥来确定所述第一响应的认证信息;对于该组响应中的每下一个响应,包括所述最终响应,基于该组响应中的前一个响应的认证信息、该组响应中的相应响应和分配给该组从设备中的输出所述相应响应的从设备的密钥来确定相应认证信息,以生成预测认证信息;以及基于所述预测认证信息和所接收到的最终响应的认证信息来认证该组响应。
示例42.根据示例41所述的系统,其中,该组从设备中的从设备包括能量存储设备,以及其中,所述从设备被配置成基于所检测到的能量存储设备的特性来生成对所述数据请求的响应。
示例43.根据示例41至42或其组合所述的系统,其中,该组从设备中的从设备包括传感器,以及其中,所述从设备被配置成基于所述传感器的输出来生成对所述数据请求的响应。
示例44.根据示例41至43或其组合所述的系统,其中,该组从设备中的从设备包括执行器,以及其中,所述从设备被配置成基于所检测到的执行器的特性来生成对所述数据请求的响应。
在一个或更多个示例中,所描述的被执行的功能可以以硬件、软件、固件或其任意组合来实现。如果以软件来实现,则可以将功能作为一个或更多个指令或代码存储在计算机可读介质上或通过计算机可读介质被传送,并且由基于硬件的处理单元来执行。计算机可读介质可以包括计算机可读存储介质(其对应于有形介质例如数据存储介质)或通信介质(包括便于例如根据通信协议将计算机程序从一处传送到另一处的任意介质)。以这种方式,计算机可读介质通常可以对应于(1)非暂态有形计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是能够由一个或更多个计算机或一个或更多个处理器访问以检索用于实现本公开内容中所描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。本公开内容的技术可以在包括无线手持机、集成电路(IC)或一组IC(例如芯片组)的各种各样的设备或装置中被实现。在本公开内容中描述了各种部件、模块或单元以强调被配置成执行所公开的技术的设备的功能方面,但是不一定要求通过不同的硬件单元来实现。反而,如上所述,各种单元可以被组合在硬件单元中,或者由包括如上所述的一个或更多个处理器的互操作硬件单元的集合结合合适的软件和/或固件来提供。
在本公开内容中已经描述了各个方面。这些方面和其他方面在下面的权利要求的范围内。
Claims (22)
1.一种以菊花链配置与一组从设备连接的中间从设备,其中,所述中间从设备被配置成:
从该组从设备中的前一个从设备接收数据请求、对所述数据请求的第一响应以及对所述数据请求的所述第一响应的认证信息;
生成对所述数据请求的第二响应;
基于所述第一响应的认证信息、所述第二响应和被分配给所述中间从设备的密钥来确定所述第二响应的认证信息;以及
至少输出所述第二响应的认证信息、所述第一响应和所述第二响应。
2.根据权利要求1所述的中间从设备,其中,所述第一响应的认证信息包括所述第一响应的签名,以及所述第二响应的认证信息包括所述第二响应的签名,以及其中,为了确定所述第二响应的认证信息,所述中间从设备被配置成:
使用所述第一响应的签名、所述第二响应和被分配给所述中间从设备的密钥来应用对称算法,以生成所述第二响应的签名。
3.根据权利要求1所述的中间从设备,其中,所述第一响应的认证信息包括所述第一响应的验证值,其中,所述第二响应的认证信息包括所述第二响应的验证值,以及其中,为了确定所述第二响应的认证信息,所述中间从设备被配置成:
使用所述第一响应的验证值、所述第二响应和被分配给所述中间从设备的密钥来应用非对称算法,以生成所述第二响应的验证值。
4.根据权利要求3所述的中间从设备,其中,被分配给所述中间从设备的密钥为公共密钥,以及其中,所述第二响应的认证信息还包括所述第二响应的签名,所述中间从设备被配置成:
使用所述第一响应的验证值和被分配给所述中间从设备的私有密钥来生成所述第二响应的签名。
5.根据权利要求4所述的中间从设备,其中,所述第一响应的认证信息还包括所述第一响应的签名,所述中间从设备被配置成:
使用所述第一响应的签名和被分配给所述前一个从设备的公共密钥来生成第一响应的哈希值;以及
当所述第一响应的哈希值对应于所述第一响应的验证值时,确定所述第一响应被验证。
6.根据权利要求1所述的中间从设备,其中,所述中间从设备还被配置成:
通过第一模式输出对所述数据请求的所述第一响应以及对所述数据请求的所述第二响应;以及
通过与所述第一模式不同的第二模式输出所述第二响应的认证信息。
7.根据权利要求1所述的中间从设备,其中,所述第一响应是加密的第一响应,以及其中,为了生成对所述数据请求的所述第二响应,所述中间从设备还被配置成:
使用所述加密的第一响应将对所述数据请求的明文响应加密。
8.根据权利要求1所述的中间从设备,其中,所述中间从设备被配置成:
响应于确定所述数据请求指示从所述中间从设备请求数据,生成所述第二响应。
9.根据权利要求1所述的中间从设备,其中,所述中间从设备被配置成:
响应于确定所述数据请求指示从该组从设备中的下一个从设备请求数据,输出所述数据请求。
10.一种用于安全的菊花链通信的方法,包括:
由以菊花链配置与一组从设备连接的中间从设备从该组从设备中的前一个从设备接收数据请求、对所述数据请求的第一响应以及对所述数据请求的所述第一响应的认证信息;
由所述中间从设备生成对所述数据请求的第二响应;
由所述中间从设备基于所述第一响应的认证信息、第二响应和被分配给所述中间从设备的密钥来确定所述第二响应的认证信息;以及
由所述中间从设备至少输出所述第二响应的认证信息、所述第一响应和所述第二响应。
11.根据权利要求10所述的方法,其中,所述第一响应的认证信息包括所述第一响应的签名,以及所述第二响应的认证信息包括所述第二响应的签名,以及其中,确定所述第二响应的认证信息包括:
由所述中间从设备使用所述第一响应的签名、所述第二响应和被分配给所述中间从设备的密钥来应用对称算法,以生成所述第二响应的签名。
12.根据权利要求10所述的方法,其中,所述第一响应的认证信息包括所述第一响应的验证值,其中,所述第二响应的认证信息包括所述第二响应的验证值,以及其中,确定所述第二响应的认证信息包括:
由所述中间从设备使用所述第一响应的验证值、所述第二响应和被分配给所述中间从设备的密钥来应用非对称算法,以生成所述第二响应的验证值。
13.根据权利要求12所述的方法,其中,被分配给所述中间从设备的密钥为公共密钥,以及其中,所述第二响应的认证信息还包括所述第二响应的签名,所述方法还包括:
由所述中间从设备使用所述第一响应的验证值和被分配给所述中间从设备的私有密钥来生成所述第二响应的签名。
14.根据权利要求13所述的方法,其中,所述第一响应的认证信息还包括所述第一响应的签名,所述方法还包括:
由所述中间从设备使用所述第一响应的签名和被分配给所述前一个从设备的公共密钥来生成第一响应的哈希值;以及
当所述第一响应的哈希值对应于所述第一响应的验证值时,由所述中间从设备确定所述第一响应被验证。
15.根据权利要求10所述的方法,其中,至少输出所述第二响应的认证信息、所述第一响应和所述第二响应包括:
由所述中间从设备通过第一模式输出对所述数据请求的所述第一响应以及对所述数据请求的所述第二响应;以及
由所述中间从设备通过与所述第一模式不同的第二模式输出所述第二响应的认证信息。
16.根据权利要求10所述的方法,其中,所述第一响应是加密的第一响应,以及其中,生成对所述数据请求的所述第二响应包括:
由所述中间从设备使用所述加密的第一响应将对所述数据请求的明文响应加密。
17.根据权利要求10所述的方法,还包括:
响应于确定所述数据请求指示从所述中间从设备请求数据,生成所述第二响应。
18.根据权利要求10所述的方法,还包括:
响应于确定所述数据请求指示从该组从设备中的下一个从设备请求数据,由所述中间从设备输出所述数据请求。
19.一种用于安全的菊花链通信的系统,包括:
主设备,其被配置成输出数据请求;
一组从设备,该组从设备以菊花链配置来布置,使得该组从设备中的初始从设备从所述主设备接收所述数据请求以及该组从设备中的最后一个从设备向所述主设备输出对所述数据请求的一个或更多个响应,其中,该组从设备中的在菊花链配置中被布置在所述初始从设备与所述最后一个从设备之间的中间从设备被配置成:
从该组从设备中的前一个从设备接收所述数据请求、对所述数据请求的第一响应以及所述第一响应的认证信息;
生成对所述数据请求的第二响应;
基于所述第一响应的认证信息、第二响应和被分配给所述中间从设备的密钥来确定所述第二响应的认证信息;以及
向该组从设备中的下一个从设备至少输出所述第二响应的认证信息、所述第一响应和所述第二响应。
20.根据权利要求19所述的系统,其中,所述中间从设备包括能量存储设备,以及其中,所述中间从设备被配置成基于所检测到的所述能量存储设备的特性来生成对所述数据请求的所述第二响应。
21.根据权利要求19所述的系统,其中,所述中间从设备包括传感器,以及其中,所述中间从设备被配置成基于所述传感器的输出来生成对所述数据请求的所述第二响应。
22.根据权利要求19所述的系统,其中,所述中间从设备包括执行器,以及其中,所述中间从设备被配置成基于所检测到的所述执行器的特性来生成对所述数据请求的所述第二响应。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/416,987 | 2017-01-26 | ||
US15/416,987 US10313131B2 (en) | 2017-01-26 | 2017-01-26 | Secured daisy chain communication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108390800A CN108390800A (zh) | 2018-08-10 |
CN108390800B true CN108390800B (zh) | 2020-12-15 |
Family
ID=62813066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810077485.2A Active CN108390800B (zh) | 2017-01-26 | 2018-01-26 | 用于安全的菊花链通信的方法及系统和中间从设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10313131B2 (zh) |
CN (1) | CN108390800B (zh) |
DE (1) | DE102018101535B4 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10439804B2 (en) * | 2017-10-27 | 2019-10-08 | EMC IP Holding Company LLC | Data encrypting system with encryption service module and supporting infrastructure for transparently providing encryption services to encryption service consumer processes across encryption service state changes |
US11068598B2 (en) * | 2018-11-01 | 2021-07-20 | Dell Products L.P. | Chassis internal device security |
JP7429609B2 (ja) * | 2020-06-04 | 2024-02-08 | 株式会社東海理化電機製作所 | 処理装置、システム、プログラム、および照合装置 |
CN112165423A (zh) * | 2020-09-28 | 2021-01-01 | 北京东土科技股份有限公司 | 一种串行通信方法、电子设备及存储介质 |
DE102022003160A1 (de) * | 2022-08-30 | 2024-02-29 | Mercedes-Benz Group AG | Verfahren zur Authentifizierung von Daten |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621801A (zh) * | 2009-08-11 | 2010-01-06 | 深圳华为通信技术有限公司 | 无线局域网的认证方法、系统及服务器、终端 |
CN103973532A (zh) * | 2013-02-06 | 2014-08-06 | 英飞凌科技股份有限公司 | 通信网络和用于在通信网络中通信的方法 |
CN104283748A (zh) * | 2013-07-10 | 2015-01-14 | 大唐恩智浦半导体有限公司 | 菊花链通信总线和协议 |
CN105430605A (zh) * | 2015-12-10 | 2016-03-23 | 飞天诚信科技股份有限公司 | 一种蓝牙主从设备及两者建立安全通道的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW211094B (en) | 1992-04-30 | 1993-08-11 | American Telephone & Telegraph | Built-in self-test network |
US6301658B1 (en) * | 1998-09-09 | 2001-10-09 | Secure Computing Corporation | Method and system for authenticating digital certificates issued by an authentication hierarchy |
US7797544B2 (en) * | 2003-12-11 | 2010-09-14 | Microsoft Corporation | Attesting to establish trust between computer entities |
JP4034743B2 (ja) | 2004-01-23 | 2008-01-16 | 株式会社東芝 | 多重署名方法、装置、プログラム及びシステム |
CA2550698A1 (en) * | 2006-06-19 | 2007-12-19 | Daniel Mccann | Method and apparatus for encryption and pass-through handling of confidential information in software applications |
US8555335B2 (en) * | 2006-11-01 | 2013-10-08 | Microsoft Corporation | Securing distributed application information delivery |
US9319300B2 (en) * | 2008-12-09 | 2016-04-19 | Glue Networks, Inc. | Systems and methods for determining endpoint configurations for endpoints of a virtual private network (VPN) and deploying the configurations to the endpoints |
US9721101B2 (en) * | 2013-06-24 | 2017-08-01 | Red Hat, Inc. | System wide root of trust chaining via signed applications |
US9485243B2 (en) * | 2014-05-23 | 2016-11-01 | Google Inc. | Securing a wireless mesh network via a chain of trust |
US10216678B2 (en) | 2014-10-07 | 2019-02-26 | Infineon Technologies Ag | Serial peripheral interface daisy chain communication with an in-frame response |
US10587730B2 (en) * | 2015-01-15 | 2020-03-10 | Rockwell Automation, Inc. | Enhanced transfer of information using an industrial protocol system and method |
US20170346639A1 (en) * | 2016-05-24 | 2017-11-30 | Business Information Exchange System Corp. | Public Key Infrastructure based on the Public Certificates Ledger |
-
2017
- 2017-01-26 US US15/416,987 patent/US10313131B2/en active Active
-
2018
- 2018-01-24 DE DE102018101535.6A patent/DE102018101535B4/de active Active
- 2018-01-26 CN CN201810077485.2A patent/CN108390800B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621801A (zh) * | 2009-08-11 | 2010-01-06 | 深圳华为通信技术有限公司 | 无线局域网的认证方法、系统及服务器、终端 |
CN103973532A (zh) * | 2013-02-06 | 2014-08-06 | 英飞凌科技股份有限公司 | 通信网络和用于在通信网络中通信的方法 |
CN104283748A (zh) * | 2013-07-10 | 2015-01-14 | 大唐恩智浦半导体有限公司 | 菊花链通信总线和协议 |
CN105430605A (zh) * | 2015-12-10 | 2016-03-23 | 飞天诚信科技股份有限公司 | 一种蓝牙主从设备及两者建立安全通道的方法 |
Non-Patent Citations (1)
Title |
---|
《面向RS-485控制网络的Modbus协议扩展及应用》;胡文翔;《自动化仪表》;20130420;第34卷(第4期);第59-61页 * |
Also Published As
Publication number | Publication date |
---|---|
DE102018101535A1 (de) | 2018-07-26 |
DE102018101535B4 (de) | 2024-07-25 |
US10313131B2 (en) | 2019-06-04 |
CN108390800A (zh) | 2018-08-10 |
US20180212781A1 (en) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108390800B (zh) | 用于安全的菊花链通信的方法及系统和中间从设备 | |
CN112637166B (zh) | 一种数据传输方法、装置、终端及存储介质 | |
Hazem et al. | Lcap-a lightweight can authentication protocol for securing in-vehicle networks | |
US20240146538A1 (en) | Systems and methods for verifying a route taken by a communication | |
US10904015B2 (en) | Post-manufacture generation of device certificate and private key for public key infrastructure | |
US9215228B1 (en) | Authentication of devices having unequal capabilities | |
BR102019015369B1 (pt) | sistemas e método para provisionar uma conexão segura a uma conexão interdispositivo | |
US11265170B2 (en) | Vehicle information collection system, vehicle-mounted computer, vehicle information collection device, vehicle information collection method, and computer program | |
US20180205729A1 (en) | Method and apparatus for encryption, decryption and authentication | |
US20210167963A1 (en) | Decentralised Authentication | |
Schläpfer et al. | Security on IoT devices with secure elements | |
WO2016068941A1 (en) | Secure transactions in a memory fabric | |
Labrado et al. | Hardware security primitives for vehicles | |
CN111901109B (zh) | 基于白盒的通信方法、装置、设备和存储介质 | |
CN110912685B (zh) | 建立受保护通信信道 | |
CN113703911B (zh) | 一种虚拟机迁移方法、装置、设备、存储介质 | |
CN113841357A (zh) | 三方密码握手协议 | |
Halgamuge | Latency estimation of blockchain-based distributed access control for cyber infrastructure in the iot environment | |
Zulu et al. | A User-Based Authentication and DoS Mitigation Scheme for Wearable Wireless Body Sensor Networks | |
WO2014148960A1 (en) | Communication apparatus, control method thereof, and computer program thereof | |
CN108462681B (zh) | 一种异构网络的通信方法、设备及系统 | |
GB2570292A (en) | Data protection | |
EP4404093A1 (en) | Storage system including storage device and host provisioning certificate into the storage device, system including the storage system, and method of operating the system | |
Piao et al. | Research of FlexRay Network Security based on Star Topology | |
Chen et al. | Design and Implementation of Cloud-Edge Integrated Security Authentication System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |