CN110622465B - 用于使针对控域网的群组密钥协定的侧信道泄漏最小化的方法 - Google Patents

用于使针对控域网的群组密钥协定的侧信道泄漏最小化的方法 Download PDF

Info

Publication number
CN110622465B
CN110622465B CN201880030254.4A CN201880030254A CN110622465B CN 110622465 B CN110622465 B CN 110622465B CN 201880030254 A CN201880030254 A CN 201880030254A CN 110622465 B CN110622465 B CN 110622465B
Authority
CN
China
Prior art keywords
nodes
node
ranking
leakage
cryptographic key
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
Application number
CN201880030254.4A
Other languages
English (en)
Other versions
CN110622465A (zh
Inventor
S.贾因
J.瓜哈尔多梅尔尚
S.达斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN110622465A publication Critical patent/CN110622465A/zh
Application granted granted Critical
Publication of CN110622465B publication Critical patent/CN110622465B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种用于通信网络的操作的方法减小向可以观测通过通信网络传送的信号的对抗者的数据泄漏。该方法包括:基于节点的泄漏图生成排名,来对在群组密码密钥交换过程中交换数据的多个节点的操作进行排序。该排名使在群组密码密钥交换过程期间通过共享通信介质的数据泄漏最小化。该方法包括:通过共享通信介质将排名传送到该多个节点,以及利用该多个节点、以排名中指定的操作顺序执行群组密码密钥交换过程,以使得该多个节点能够通过共享通信介质交换共享密码密钥,而同时使数据泄漏最小化。

Description

用于使针对控域网的群组密钥协定的侧信道泄漏最小化的 方法
优先权要求
本申请要求题为“Methods for Minimizing Side channel Leakage for GroupKey Agreement for Controller Area Network”并且于2017年3月8日提交的美国临时申请No.62/468,691的权益,该美国临时申请的全部内容通过引用明确地并入本文。
交叉引用
本申请交叉引用了美国临时申请No.62/468,669、美国临时申请No.62/468,680和美国临时申请No.62/468,705,它们中的每个于2017年3月8日提交。每个交叉引用的申请的全部内容通过引用明确地并入本文。
技术领域
本公开总地涉及网络通信领域,并且更具体地,涉及用于使用共享通信介质的安全通信的系统和方法。
背景技术
控域网(CAN)总线通信标准提供稳健的通信接口,其用于宽范围的应用中,所述应用包括但不限于汽车和其它运输载具、建筑物自动化、工业系统、机器人,以及需要通过使用共享通信介质而在嵌入式数字设备之间的通信的其它领域。许多CAN总线实施例采用被称为CAN-高(CANH)和CAN-低(CANL)的两个导电线,以及被称为“节点”的电子设备,所述“节点”使用CANH和CANL导线作为共享通信介质以通过使用经标准化的数据帧格式来传送和接收数据。CAN总线典型地利用线缆的一对经屏蔽或未经屏蔽的双绞线作为用于信号传送的物理介质。
在正常操作期间,当一个或多个节点希望传送数据帧的时候,节点执行总线仲裁过程以确保一次仅一个节点实际在CAN-高和CAN-低线路上传送数据,从而提供可靠通信,而没有在两个或更多节点同时传送的时候发生的“冲突”。在CAN总线标准中,当在总线上传送显性位(dominant bit)“0”的时候,输出引脚CANH和CANL被驱动到不同的电压水平,并且从CANH到CANL的差异是CAN总线的输出。类似地,当CANH和CANL没有被驱动到更高的相对电压水平并且将具有类似电压水平的时候,隐性位“1”的传送发生。因为CAN总线是共享通信介质,所以被连接到CAN总线的每个节点可以读取通过总线所传送的数据的每个位。当两个节点希望私有地传送不能被连接到总线的其它节点理解的数据的时候,CAN总线的该性质呈现问题。
对于CAN总线实现方式的新近进展包括如下配置:在所述配置中被连接到CAN总线的两个节点同时传送数据位(以有意地产生冲突),来以防止第三方节点能够确定所述两个传送节点中的哪一个实际正在传送形成密码密钥的一部分的信息的方式交换密码密钥数据。在这些密钥交换技术的一部分中,两个节点同时传送逻辑1和逻辑0信号,继之以从两个节点同时传送原始位的逻辑补码,这在CANH与CANL导线之间产生可以被所附连的节点中的每个检测到的经求和的电压差分。然而,虽然被附连到CAN总线的全部设备都可以检测通过CAN总线的显性位(逻辑0)的传送,但是由于两个节点同时传送,所以被连接到CAN总线的其它节点不能确定在0/1位继之以逻辑补码的传送序列期间的任一时间处,两个节点中的哪一个正在传送显性0或非显性1,并且仅所述两个传送节点确实知道哪个位在被传送。所述两个节点以随机化方式传送逻辑0和1位及其逻辑补码(如果两个节点都传送逻辑00/11序列或逻辑11/00序列,那么忽略传送,因为那些信号确实使得第三方能够确定从每个节点所传送的数据),这防止被连接到CAN总线的其它节点检测到传送每个位的节点的身份。被重复许多次并且与没有在本文中更详细描述的其它技术相组合的该操作形成用于使得两个节点——以及间接地甚至更大群组的节点——能够交换形成共享密码密钥的基础的数据的根本(foundation)。在节点已经交换了密码密钥之后,那些共享密钥用于通过使用另行对于本领域而言已知的技术来执行数据加密和认证/验证操作,所述技术使得总线上节点的不同子集能够以不可被连接到CAN总线的其它节点检测的方式来交换不能被解密或变更的数据。
如上所述,利用标准CAN总线收发器连接到CAN总线的节点可以通过CAN总线的CANH和CANL导线来检测与逻辑0和1水平相对应的电压信号。当两个节点同时传送逻辑0和1的时候,最标准的CAN节点的收发器不能确定两个节点中的哪一个传送了逻辑0和1。然而,在物理水平上,通过CAN总线被传送的电信号并不完美对应于上述数字逻辑的逻辑0和1水平,因为CAN总线的物理组件以及节点本身具有复杂并且不同的模拟电气性质。在一些实例中,对抗者——其或是CAN总线中已经被恶意软件损害的正当硬件节点或是被电连接到CAN总线的未经认证的硬件设备,以如下方式执行对通过CAN总线传送的电信号性质的高精度测量:所述方式可以使得对抗者能够确定在上述过程中哪个节点传送逻辑0并且哪个节点传送逻辑1信号。特别地,由于两个节点以随机化次序来传送逻辑0和逻辑1以用于每个位交换,所以对抗者可以监视从每个节点传送的显性位信号(逻辑0)的信号特性。对抗者然后可以重构在所述两个节点之间共享的秘密数据,并且损害CAN总线系统的安全性。该类攻击被称为侧信道攻击,因为对抗者基于受特定CAN总线系统中的总线以及被连接到总线的节点的物理性质所影响的精确电信号测量而提取信息,尽管对抗者尚未击败用于上述密码密钥交换的逻辑协议。
图1描绘了包括三个CAN节点104、106和108的现有技术CAN网络100的示例,所述三个CAN节点104、106和108各自被连接到由电阻器118终结以形成CAN总线的CANH导体112和CANL导体116。对抗节点124也被电连接到CAN总线,并且对抗节点包括使得对抗者能够执行一个或多个侧信道攻击的电信号测量和信号处理硬件。如上所述,侧信道攻击呈现对于维护在共享介质通信网络(诸如CAN总线)中的安全性的挑战。因此,对于减小或消除来自这些侧信道攻击的威胁的方法和系统的改进将是有益的。
发明内容
本文中所述的实施例包括用于防护使用共享通信介质的CAN总线或其它网络免受可以物理地探测共享通信介质的对抗者的伤害的对策。本文中描述的实施例包括用于确定和设置参与群组密码密钥交换过程的节点之间的通信顺序以使向对抗者的泄漏最小化的方法。本文中描述的实施例使用网关节点(主节点)来估计由于节点交互所致的泄漏,该估计使用物理建模和基于学习的方法。本文中描述的实施例基于网关节点所估计的泄漏函数来优化节点顺序从而使总体泄漏最小化。针对最小化提出了不同的准则,包括总泄漏最小化和最大链路泄漏的最小化。通过对窃听者隐藏节点顺序,本文中描述的实施例以隐私保留的方式将节点顺序传输到节点。
在一个实施例中,已经开发了一种用于通信网络的操作以减小向对抗者的数据泄漏的方法,该对抗者可以观测通过通信网络传送的信号。该方法包括:基于节点的泄漏图生成排名,来对通信网络中在群组密码密钥交换过程中交换数据的多个节点的操作进行排序,该排名使在群组密码密钥交换过程期间通过共享通信介质的数据泄漏最小化;利用通信网络中的网关节点、通过共享通信介质将该排名传送到该多个节点;以及利用该多个节点、以该排名中指定的操作顺序执行群组密码密钥交换过程,以使得该多个节点能够通过共享通信介质交换共享密码密钥,而同时使通过共享通信介质的数据泄漏最小化。
附图说明
图1是现有技术的CAN总线系统的示意图。
图2是CAN总线系统的示意图,该CAN总线系统控制CAN总线系统中的节点的操作顺序,以使得在群组密码密钥交换过程期间向对抗节点的信息泄漏最小化。
图3是一种方法的框图,该方法用于控制CAN总线系统中的节点的操作顺序,以使得在群组密码密钥交换过程期间向对抗节点的信息泄漏最小化。
图4是描绘了CAN总线系统中的节点之间的传送的数据泄漏的估计的泄漏图表。
图5是一图表,其描绘了用以基于图4的泄漏图表执行使泄漏最小化的群组密码密钥交换操作的节点操作顺序。
图6是一图表,其描绘了用以基于图4的泄漏图表执行使泄漏最小化的群组密码密钥交换操作的另一节点操作顺序。
具体实施方式
为了促进对本文中所公开的实施例的原理的理解的目的,现在参考附图以及在以下所撰写的说明书中的描述。不意图通过参考对主题范围的限制。本公开还包括对所图示的实施例的任何变更和修改,并且包括如本公开所涉及的领域中的技术人员通常将会想到的所公开的实施例的原理的另外的应用。
如本文中所使用的,术语“位”是指可以具有两个离散值之一的二进制值,所述两个离散值在文本中典型地被表示为“0”或“1”。通信系统在数据传送期间生成信号,所述信号具有不同的电压水平、相位或表示二进制位的两个值的其它信号特性。如对于本领域所众所周知的,数字数据包括可以表示数字、字母或任何其它形式的数据的一系列一个或多个位,并且特别地,位的集合可以形成密码密钥。如本文中所使用的,如被应用到二进制值的术语“逻辑补码”或“逆”是可互换的,并且是指数据集合或改变二进制数据的每个位的值的操作(例如二进制序列“101”是“010”的逻辑补码)。如下面更详细地描述的,用于安全密钥交换的协议使不同的节点具有用于共享密钥的对应位的集合,该对应位的集合是彼此的逻辑补码。节点的所选集合执行逆操作,使得所有节点具有相同的共享密钥。
如本文中所使用的,术语“密钥”或“密码密钥”是指通信网络中的两个或更多节点使用来执行包括数据的加密和解密的密码操作以及用于对所传送数据的认证的位序列。“共享密钥”是指对于与彼此通信的两个或更多节点而言已知的密钥,但是共享密钥另行对于第三方、包括对抗者而言不是已知的。本文中所述的方法和系统使得通信网络中的两个或更多节点能够生成对抗者不能标识的共享密钥,即使对抗者可以监视在节点之间发生的任何通信并且能够执行本文中所述的侧信道攻击亦如此。在生成共享密钥之后,节点执行另行对于本领域所众所周知、并且不在本文中更详细地描述的密码操作。
如本文中所使用的,术语“共享通信介质”是指物理网络连接和网络通信协议,其中多个节点以如下方式传送和接收数据:在所述方式中,来自单个节点的任何传送由被连接到共享通信介质的所有其它节点接收。在共享通信介质中,两个或更多节点可以同时传送数据。共享通信介质被视为“不安全”或“不可信”通信信道,这是因为假设对抗者具有监视通过共享通信介质而发生的任何和所有通信的能力。
共享通信介质的两个非限制性示例包括控域网总线(CAN总线)网络通信总线和协议以及I2C总线。在这两个实施例中,被通信地连接到共享通信介质的所有节点可以观测通过通信介质所传送的所有信号,包括不意图供特定节点接收的信号。如下面更详细地描述的,每个节点是包括收发器的计算设备,所述收发器被配置成通过到一个或多个附加节点的共享通信介质来既传送又接收信号。
如上所述,对抗者执行一种或多种类型的侧信道攻击,以确定一对同时传送的节点中的哪个节点通过共享通信介质传送逻辑0或逻辑1。三种类型的侧信道攻击包括电压攻击、瞬态信号攻击和时序攻击。在电压侧信道攻击中,对抗节点对从不同节点传送的位的稳态电压水平进行精确测量,以基于网络中的不同节点的电压水平中的小变化来标识传送显性位(逻辑0)的节点。在瞬态信号侧信道攻击中,对抗者对在节点开始传送显性位时发生的电压水平中的瞬态改变中的信号特性进行精确测量,其中不同的节点表现出不同的瞬态信号特性。在时序侧信道攻击中,由于来自个体节点的传送时间中的变化以及在信号通过CAN总线传送时的信号传播延迟,对抗节点测量在CAN总线中观测到信号所处的时间中的小差异。
本文中描述的实施例可选地采用被特别配置成减小或消除上述一些或全部侧信道攻击的节点。更具体地,2017年3月8日提交的美国临时申请No. 62/468,705描述了对共享通信介质网络中的电压侧信道攻击的缓解。2017年3月8日提交的美国临时申请No. 62/468,669描述了对共享通信介质网络中的瞬时侧信道攻击的缓解。2017年3月8日提交的美国临时申请No. 62/468,680描述了对共享通信介质网络中的时序侧信道攻击的缓解。在这些申请中缓解侧信道攻击的方法和系统是可以与本申请中描述的实施例相组合以减小侧信道攻击的有效性的技术的非限制性示例。然而,即使在将反侧信道攻击缓解技术并入到共享通信介质网络中的时候,信息泄漏的可能性仍保留。如果多于两个节点的群组需要执行密码密钥交换过程,那么泄漏的量可能会增加,这是因为传送的总数依次增加。本文中描述的实施例使得诸如CAN总线网络之类的共享通信介质网络能够标识和减小当节点群组执行在三个或更多个节点之间生成共享密码密钥的群组密码密钥交换过程时发生的泄漏总量。
图2描绘了包括五个节点204A-204E的CAN总线系统200,该五个节点连接到包括CANH导体112、CANL导体116和终结电阻器118的CAN总线。系统200还包括连接到CAN总线、被称为网关节点的节点250,并且对抗节点124也连接到CAN总线。节点204A-204E可以执行密码密钥交换以形成如下所述的在三个或更多个节点之间共享的密码密钥的共享群组密钥,尽管节点204A-204E也能够与一个其它节点交换密码密钥。在开始群组密码密钥交换过程之前,网关节点250将节点被添加到群组的顺序传送到要被包括在该群组中的节点204A-204E中的每个。
系统中的网关节点250包括操作性地连接到CAN收发器256和存储器260的CAN控制器252。CAN控制器252是数字逻辑设备,其包括一个或多个微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)以及被配置成执行本文中描述的操作的任何其它合适的数字逻辑设备。CAN收发器256是电子收发器设备,其包括连接到CANH导线112和CANL导线116的输入/输出线路。CAN收发器经由CAN总线接收数据,包括从CAN总线接收信号以及通过CAN总线向节点204A-204E传送数据。在一些实施例中,CAN收发器256还包括附加的信号处理硬件,其包括:示波器、高分辨率模数转换器(ADC)电路、数字信号处理器等等,它们使得CAN控制器252能够记录节点204A-204E通过CAN总线传送的信号的信号特性,以便生成对节点204A-204E的不同对之间的传送中的泄漏的估计。存储器260包括诸如随机存取存储器(RAM)之类的易失性存储器设备和诸如磁盘或固态存储器设备之类的非易失性存储器设备。存储器260保持:用于由CAN控制器252执行的所存储的程序软件/固件指令,以及所估计的节点到节点泄漏图表数据的图表262;用于节点传送的排名顺序的所存储的数据264,其设置群组密码密钥交换过程期间节点的操作顺序;以及网关节点250与节点204A-204E单独共享的共享密码密钥的集合266。
系统200中的节点204A-204E中的每个包括:CAN控制器,以及将每个节点连接到图2中描绘的CAN总线的CAN收发器。附加地,节点204A-204E可选地包括附加的硬件和软件元件,其实现抵御对抗节点124针对系统200执行的电压、瞬态和时序侧信道攻击的对策。
系统200可选地包括:外部处理器284,其经由除CAN总线之外的外围或网络数据连接通信地链接到网关节点250。外部处理器284例如是使用标准商业可获得的处理器(例如,x86、ARM、PowerPC、MIPS等处理器)的服务器计算设备,并且在一些实施例中,是以高效方式执行机器学习操作的硬件加速设备。在网关节点250中的CAN控制器252缺乏以高效方式执行如下这些操作的计算能力的实施例中,外部处理器284是可选的硬件元件,其执行以下描述的处理中的一些以生成节点204A-204E之间的估计泄漏水平的图表,并且执行排名过程以将传送的顺序分配给节点204A-204E的不同子集。
如以下更详细描述的,网关节点250控制节点204A-204E执行密码密钥交换操作的顺序,以使向对抗者124的信息泄漏的总量最小化。使泄漏最小化当然总是合期望的,但是在一些群组密码密钥交换实施例中,该过程放大泄漏的潜在问题,这是因为向群组添加附加的节点导致在存在对抗者124的情况下需要以安全方式进行的传送数量方面高于线性(above-linear)的增加。在一个简化的示例中,假设图2的五个节点204A-204E交换包括128位的共享密码密钥。在节点之间的同时位传送过程期间,当两个节点均传送逻辑00/11或11/00序列而不是01/10或10/01序列时,平均而言需要丢弃节点之间的一半位传送。因此,平均而言,第一对节点需要传送总共2048个随机生成的位,以确保在四对节点末端的第五节点仍具有来自原始2048位池的128位的成功传送的数据。2048位数字源自于针对四个节点配对操作,需要该四个节点配对操作来针对五个节点交换密码密钥数据,并且任何个体位将被成功传播到群组中的最终节点的平均概率为0.54(每次传送中50%的机会成功,对于四次传送上升到四次方),这导致128位/0.54=2048位。换句话说,在上面提供的五节点示例中,在第一对节点交换密码密钥数据之后,平均而言保留1024个可用位,在第二对之后保留512个位,在第三对之后保留256个位,并且在最终节点处保留128个可用位。当然,这些数字只是平均值,因为在一些情形下,由于在密码密钥交换过程期间位的随机丢失,可能需要更多个位。附加地,由于密钥交换过程实际上针对每个位需要两次传送(两个节点均同时传送一个位,继之以该位的逻辑补码,如上所述的那样),因此传送的总数实际上再一次加倍至4096次传送,尽管在此出于解释目的而将位数用作度量。
平均而言,传送总共3840位(对于全部节点对,2048位+1024位+512位+256位)以在五个节点之间共享群组密码密钥大幅度地大于单独地在五个节点之间简单地共享四个密码密钥将需要的平均位数——这平均而言将导致总共1024位,或者对于每对节点平均而言需要的256位。与仅在两个节点之间共享密钥不同,群组密码密钥交换过程需要使用单个较大的密钥位池,诸如上述的原始2048位池,因为先前在密钥交换过程中已经交换数据的全部节点还监视CAN总线,并且具有对已经是该群组的部分的节点正在传送的下一位的先验知识。因此,新位不能通过密码密钥交换过程中途(part way)有效地传送,因为已经是该群组的部分的节点需要具有正被传送的位的记录。
例如,当四个节点已经在群组中共享了数据时,该群组中的四个节点监视对第五节点进行的传送,以确定哪个传送位的集合成功到达第五节点以形成最终的128位密钥。在监视过程期间,当被添加到群组的下一个节点随机传送与已经在该群组中的对中的节点相同的数据位时,已经在该群组中的节点丢弃在传送期间失败的位。例如,假设2048位池中的位号2000具有“1”的二进制值,在群组中添加第五且最终节点的密码密钥交换过程期间,该二进制值被存储在该群组中的四个节点的存储器中。与第五节点通信的所选节点传送“1”值(继之以逻辑补码0),而第五节点同时传送随机生成的位值。如果第五节点传送0(继之以1),则成功交换两个位,并且群组中的全部四个节点记录成功传送。通过群组中的全部节点对成功传送的每个位形成共享密码密钥的一部分。然而,如果第五节点传送1、继之以0,则位号2000被丢弃,因为该位没有被用在最终的共享密码密钥中,并且群组中的四个节点中的每个节点观测到失败的传送并且删除该位。
尽管上述群组密码密钥交换过程由于在群组中的每对节点之间传送的位数中的差异而潜在地导致泄漏增加,但是用于群组密码密钥交换的可替换技术避免了上述问题,但仍然需要节点顺序排名优化以使得信息泄漏最小化。在线性和群组协议的另一实施例中,节点使用密码函数来处理任何成对的密钥协定阶段的结果,以减小每个阶段所需的真正随机位数。在这样的实施例中,每个阶段处的位数是相等的,因此侧信道泄漏是通信节点对之间的失配的函数,并且不会由于节点对在群组中的位置而变化。仍其它实施例在已经加入群组的节点中使用相同播种(seed)的密码方面安全的伪随机数生成器(PRNG),以使得该群组中的全部节点能够知道在新节点被添加到该群组时被传送的位的值,这是由于PRNG以对抗节点不能预测的确定性顺序产生附加的位。这些是实施例的非排他性示例,其中每对节点传送相同或近似相同数量的位以执行群组密码密钥交换过程。
上述群组密码密钥交换过程是用于包括多于两个节点的节点群组的密钥交换过程的示例。这些过程的一个变型是线性过程(群组密钥基础(GroupKeyBasic)),它将群组中最新近添加的节点用作用于以预定的线性顺序将下一个节点添加到该群组的传送器。另一变型是树配置(被称为群组密钥树(GroupKeyTree)),其中已参与密钥交换过程的任何节点都可以成为与尚未加入该群组的所选节点进行通信的下一个节点,直到已经与全部节点共享了密码密钥为止。群组密钥树将已经加入群组的节点视为树中的较高分支,其中任何较高的分支都可以与尚未加入该群组的树中较低分支进行通信。基于CAN总线系统200的物理性质,不同节点对之间的密码密钥交换过程以不同水平产生向对抗者的泄漏。系统200中的网关节点250估计系统200中的不同节点对之间的泄漏量,并且使用泄漏信息来生成泄漏图表262。网关节点250通过生成排名264来使泄漏的总量最小化,该排名264对节点对的操作进行排序,以单独地使每对的泄漏最小化或者使整个群组的泄漏总量最小化。在系统200中,外部处理器284可选地基于从网关节点250接收到的数据来执行泄漏图表的生成和排名的生成中的一些或全部。网关节点250处置向节点204A-204E的排名分配,如下所述。该节点排名过程减小对抗者124观测在具有高泄漏水平的节点之间传送的位的能力,这减小侧信道攻击的有效性并且改进系统200的安全性。
图3描绘了用于连接到共享通信介质的节点的操作的过程300,用以使得网关节点能够检测节点对之间的泄漏水平,并且对节点的操作进行排序以执行群组密码密钥交换操作,同时使向对抗节点的数据泄漏最小化。在本文中的描述中,对执行功能或动作的过程300的引用是指通信网络的节点中的处理器或控制器、或者另一计算设备的操作,该操作用于执行所存储的程序指令来结合通信网络中的其它组件执行功能或动作。出于说明性目的,结合图2的系统200描述了过程300。
在过程300期间,网关250执行映射过程,该映射过程在密码密钥交换过程期间生成泄漏图表(框304),该泄漏图表包括当节点204A-204E中的任意对通过CAN总线同时传送数据位时发生的泄漏的相对水平的加权图。以下所述的映射实施例以与对抗者124的操作类似的方式,将网关节点250用作CAN网络中的观测者,以生成对来自节点204A-204E通过图2中描绘的CAN网络的信号传送的观测。CAN总线系统200中的节点204A-204E的物理性质及其特定配置(诸如相对物理位置和计算的节点间距离)影响电信号的性质。特别地,节点204A-204E中的每个的硬件配置和位置对CAN总线200的总阻抗水平有贡献,并且CAN总线中的导体112和116的配置和长度也影响所传送信号的特性。在一些实施例中,CAN控制器252执行映射过程,而在其它实施例中,CAN控制器252通过外围连接或数据网络将从收发器256接收到的观测发送到外部处理器284,以用于泄漏图表的生成。
在一个实施例中,为了生成图表,网关节点250基于对通过系统200的CAN总线中的CANH导体112和CANL导体116在节点204A-204E之间传送的信号的观测,来执行物理特征分类过程。在该配置中,网关节点250以与对抗者124类似的方式操作。因此,对抗者试图破坏这样的系统的目的是要在节点对之间的同时传送中的信号之间进行接续地区分。在总线上窃听的对抗者可能以非常高的频率对总线上的物理信号进行采样,其中样本被标示为x={x -∞,……,x 0},x i X,其中x -∞表示最旧的样本,并且x0是最新近的样本。网关250使用收发器256或具有高分辨率模数转换器的附加的信号处理设备(诸如示波器或其它合适的模拟测量电路)来测量通过CAN总线的信号。在物理特征分类过程中,不必在两个节点在密码密钥交换过程期间同时传送数据时进行信号观测。代替地,在正常的CAN总线操作期间,许多(即便不是全部)观测发生在节点204A-204E单独传送数据并且系统200中没有其它节点传送数据——如作为CAN总线数据传送的标准——的时候。
在具有M个节点的系统中,其中在图2的示例中对于节点204A-204E,M=5(排除网关节点250)。网关250将观测划分为瞬态信号x tr 和稳态信号x ss ,即{x tr x ss }。对于具有标识信息(诸如发送节点的标识符)的数据帧,网关节点250还将观测到的信号分配给M个节点之一。网关250和可选的外部处理器284实现一种或多种有监督和无监督的机器学习技术,以训练分类器C,该分类器C基于已知与不同节点相关联的观测到的信号特征来标识节点:
Figure 914639DEST_PATH_IMAGE001
。分类器C可以基于任意长度的输入序列来估计传送节点的身份:
Figure 972725DEST_PATH_IMAGE002
其中
Figure 283620DEST_PATH_IMAGE003
表示基于r个样本对节点标识符(例如,图2中的节点204A-204E中的一个)的估计,并且c r 表示置信值的向量,其中每个置信值对应于可能已经传送了所观测的信号的节点之一。在一个实施例中,c r ∈[0,1],其对应于每个节点的二进制是/否分类,尽管其它实施例也可以将分数置信水平分配给不同的节点。可以使用机器学习领域中的在本领域已知的各种类型的分类算法来实现分类器C。合适的分类算法的示例包括诸如支持向量机(SVM)、递归神经网络(例如,长短期记忆(LSTM)神经网络)和卷积神经网络之类的有监督的学习技术,以及诸如k均值聚类之类的无监督的学习技术,以提供高效的分类器。分类器C可以进一步包括聚焦于所观测的信号数据中的不同特征的子分类器层级,诸如聚焦于信号的稳态特征的一个分类器C ss 和聚焦于信号的瞬态特征的另一个分类器C tr 。在一些实施例中,上述分类器训练过程可能对于实现在网关节点250的CAN控制器252中而言并不实际,因此,在这些实施例中,网关节点250收集上述样本x并且将样本数据传送到外部处理器284以用于经训练的分类器的生成。
在密码密钥交换过程期间、当两个节点同时传送数据时,上述机器学习分类器在被应用于信号分类时不一定以完美的准确度来标识传送逻辑0和1信号的节点。然而,对抗者124可以通过简单地在来自两个参与节点的传送之间进行区分来执行攻击。例如,两个节点ij同时传送数据以交换n位密码密钥数据。网关节点250充当对抗节点124,以观测传送中每个事件的r个样本,包括上述转变和稳态特征
Figure 85354DEST_PATH_IMAGE004
。网关节点250基于关于对抗者124的操作的假设来使用利用经训练的分类器的一个或多个决策函数,并且生成针对节点204A-204E的对之间的传送的相对泄漏水平的估计,以使得网关节点250能够生成泄漏图表。
使用经训练的分类器的决策函数
网关节点250或外部处理器284使用上述经训练的分类器来实现决策函数,该决策函数基于观测到的信号数据来产生将一个节点标识为特定信号的传送器的输出。该决策函数利用上述通用的经训练的分类器,以及可选的节点特定的分类器,并且将它们应用于节点对之间的密钥交换的受约束的情境(其中只有两个节点正在传送),以标识哪个节点在每个位间隔中传送显性位。决策函数的输出是经训练的分类器的分类,以从两个节点中选择最有可能已经传送了观测到的信号的一个节点。给定对抗者只有两个节点正在传送(就像在密钥生成协议中发生的那样)的知识,则分类变得更容易,因为分类器只需要在两个节点之间进行区分。
网关节点250或外部处理器284使用下面进一步详细描述的决策函数来模仿对抗节点124的操作,作为用以生成系统200中的节点之间泄漏图表的过程的部分。决策函数作用于上述经训练的分类器的输出,以产生输出(“决策”),该输出基于来自上述分类器的输出的置信水平数据来产生标识特定节点的输出分类。每个决策函数使用上述分类器中的至少一个、基于CAN总线中观测到的信号来生成有助于将密码密钥数据揭示给对抗节点124或网关节点250的输出。当然,不需要对抗节点124来实现下面描述的特定决策函数,但是网关节点250使用作为对抗节点124将用来损害群组密码密钥交换操作的安全性的可能技术的基础的以下描述的决策函数,作为用于生成系统200中的节点对之间的泄漏水平图的过程的部分。
在一种配置中,网关节点250实现决策函数
Figure 837409DEST_PATH_IMAGE005
,该决策函数基于充当输入观测的上面收集的r个样本来估计传送信号xy的序列。项
Figure 863134DEST_PATH_IMAGE006
表示两个不同传送信号之间的区别,但不直接意味着传送节点的标识,这意味着决策函数可以标识来自节点的两个不同信号的特征,但是不产生直接标识产生每个信号的节点的输出。对于对抗者来说,这表示一个较容易解决的问题,并且因此可以由弱得多的对抗者来实现。换句话说,上述决策函数可能不能够完全标识在每次传送中传送逻辑0和1的节点,但是在位传送的序列内,决策函数可以以比仅仅猜测更高的概率来区分相对于一个节点而与另一个节点相对应的信号,这仍然使得决策函数在揭示密码密钥的内容方面能够是有效的。
在另一配置中,网关节点250具有足够的训练数据,来以高可靠性标识同时传送信号的参与节点ij,并且实现决策函数
Figure 395747DEST_PATH_IMAGE007
,其中决策函数D i,j 是特定于节点ij的二进制分类器H i,j 和通用分类器C的组合。二进制分类器被标示为
Figure 797909DEST_PATH_IMAGE008
。决策函数D i,j 使用分类器的结果并且输出二进制决策。基于可用信息,诸如在其中具有节点标识符的数据可用于训练的情境中,对抗节点124和网关节点250可以直接训练特别以CAN总线系统中的节点对(例如,节点对204A,204B;204A,204C等)为目标的决策函数族D 1,2 D 1,3 ...D M-1,M },而不是依赖于通用分类器C
对于其中网关节点250不具有参与节点的知识或其中未标记训练数据的情境,节点可以利用广义决策函数
Figure 607733DEST_PATH_IMAGE009
,其与用以选择最有可能的决策函数的选择方法(诸如基于最大似然的估计器)相组合地使用分类器,以在传送器之间进行区分。给定所有盲估计器的决策函数的类
Figure 804360DEST_PATH_IMAGE010
,则上述决策函数D i,j 是用于给定节点对i,j的最优估计器。这意味着,如果对抗节点124具有密码密钥交换过程中的传送节点身份的知识,则对抗节点124可以针对那些特定节点使用特定的决策函数D i,j ,以改进侧信道攻击的有效性。如下面进一步详细描述的,在一些实施例中,网关节点250对在群组密码密钥交换过程中为节点建立通信顺序的排名数据进行加密,以防止对抗节点124能够容易地标识出在任何一时间哪两个节点正交换数据位。网关节点250可选地计算消息认证码(MAC),以防止对抗节点124修改加密的排名数据。
节点泄漏图表
在过程300中,网关节点250和可选的外部处理器284通过使用决策函数来映射节点泄漏的水平,以生成具有对应于节点对之间的泄漏水平的加权值的图表。图表中节点泄漏水平的描述也可以被称为图表中的节点之间的“距离”,即使“距离”不一定与CAN总线上节点之间的物理距离相对应,除非下面特别如此说明。使用术语“距离”是因为网关节点250执行优化过程以使图表中的以密码密钥交换过程中最早节点的最低泄漏路径开始的“距离”(例如,总泄漏)最小化,以使遍历图表时的总路径距离(和泄漏)最小化,其中遍历图表对应于执行群组密码密钥交换操作的节点对的顺序。
在一些实施例中,网关节点250通过使用如下各项来生成节点之间的泄漏水平的估计以生成节点泄漏图表:基于对通过CAN总线传送的信号的大量观测的经验数据;以及也已经基于对通过CAN总线传送的信号的经验观测而生成的一个或多个决策函数D,其用于基于成功在两个接续位的传送器之间进行区分的概率(Pr)来限定泄漏。在这里,概率Pr是指决策函数正确地能够在形成位的两个接续传送的传送器之间进行区分的概率(例如,来自一个节点i的逻辑补码01传送而另一节点j同时传送10,或者来自i的10而j同时传送01)。下面的x i y i 序列意味着两个位均由节点i传送。所以,如果决策函数输出0,0,则意味着两个位的两个传送器是相同的,则决策函数成功。对于节点ij所产生的全部四个两位逻辑补码组合,对成功的类似度量可适用于下面描绘的其它概率项。使用项
Figure 89847DEST_PATH_IMAGE011
作为从节点i传送的第k个样本,节点ij之间的距离
Figure 233384DEST_PATH_IMAGE012
限定为:
Figure 22348DEST_PATH_IMAGE013
上面生成的距离估计假设如被应用于图表的泄漏水平从节点i去到节点j与从节点j去到节点i是相同的,这一般是合理的,因为泄漏的估计发生在两个节点正在同时传送的时候。上面提供的示例使用特别为一对节点ij生成的更特定的决策函数D i,j 。如上面描绘的,泄漏图表中与两个节点ij相对应的两个顶点通过加权边连接,其中加权边的值
Figure 655455DEST_PATH_IMAGE014
基于使用分类器的决策函数D i,j 生成如下输出的概率而生成:该输出成功地标识来自多个节点中的第一节点和第二节点的两个接续传送。
在使用更通用的决策函数
Figure 303605DEST_PATH_IMAGE015
的实施例中可以生成另一个估计,该决策函数假设对抗者不具有哪个特定节点对正在传送数据的知识:
Figure 109887DEST_PATH_IMAGE016
在另一实施例中,网关节点250不具有对要用于估计节点对之间的泄漏水平的大观测数据集合和决策函数的访问。在该实施例中,网关节点250使用与节点204A-204E的特定组件的硬件配置、图2中描绘的CAN总线中的节点布置相对应的物理参数,以及系统200中的组件的其它物理性质,以生成节点对之间的泄漏水平的估计。
影响泄漏水平的一个物理性质是沿着CAN总线导体的长度的节点的位置。CAN总线上的不同位置处的节点表现出不同的阻抗特性、传播延迟和时序同步特性。因此,随着节点沿着CAN总线在物理上越来越彼此分离,与每个传送状态和转变相关联的电压、时序和瞬态中的差异增加,这进而导致泄漏水平中的增加。
影响泄漏水平的另一个性质是在每个节点中使用的CAN总线收发器的类型。用于不同设备族(即使来自同一制造商)的收发器电路通常具有不同的信号生成特性。这包括驱动强度、随负载阻抗和特性阻抗的传送变化。这些特性可以影响对抗者观测到的电压和瞬态。因此,来自同一制造商、属于同一族的设备具有最小差异,继之以不同族的设备和来自不同制造商的设备。
网关节点250或外部处理器284使用上述特性将两个节点之间的泄漏水平的估计d i,j 生成为:
Figure 894304DEST_PATH_IMAGE017
物理节点距离,架构和族中的差异
Figure 432732DEST_PATH_IMAGE018
在上面等式中,α表示根据经验确定的加权因子,用以平衡物理节点距离(第一项)或者硬件架构和族中的差异(第二项)对d i,j 的最终泄漏值的贡献,其形成泄漏图表中连接与节点ij相对应的顶点的加权值的基础。项l bus 是指CAN总线的总长度(导体112和116的长度),并且项l o,i l o,j 分别表示节点ij与固定参考点(例如,网关节点250的位置或CAN总线的一端)之间沿着CAN总线的物理距离。
A i,j 是提供数值以量化硬件CAN总线收发器之间的族和硬件架构中的差异的参数,该硬件CAN总线收发器为节点ij生成信号。如果两个节点ij使用相同的收发器,则参数A i,j 为0。如果两个节点ij使用同一制造商生产的不同型号的收发器硬件,则参数A i,j 为0.5。如果两个节点ij使用利用相同操作电压水平V oper 生成信号的收发器(例如,两个收发器均由3.3 V电压或5 V电压驱动),并且收发器来自不同的制造商,则参数A i,j 为0.75。如果两个节点ij使用利用不同的V oper 电压水平生成信号的收发器(例如,一个收发器由3.3 V电压驱动并且另一个由5 V电压驱动)并且收发器来自不同的制造商,则参数A i,j 为1.0。网关节点250中的CAN控制器252可以经由硬件发现过程来确定节点的硬件配置信息,在该硬件发现过程中,节点将信息传送到CAN控制器252以基于序列号或其它设备特定信息来标识硬件型号和制造商。当每个节点通过CAN总线传送显性位数据时,网关节点250中的收发器256可以检测操作电压水平V oper
在执行上述实施例中任一个之后,网关节点250在执行排名过程之前将泄漏图表262存储在存储器260中,以使得网关节点250或外部处理器284能够执行排名过程以便对节点204A-204E在群组密码密钥交换过程期间的操作顺序进行排序。图4描绘了过程300在图2的说明性CAN总线系统200中生成的泄漏图表400的示例。泄漏图表400包括五个顶点n1至n5,每个顶点对应于系统200中的五个硬件节点204A-204E之一。为了易于理解,图4用节点标记204A-204E来标记顶点n1至n5。图表400是全连接图表,也就是说,每个顶点具有将该顶点连接到图表中的每个其它顶点的加权边,这是因为在CAN总线系统200中,每个节点可以经由CAN总线导体112和116直接与每个其它节点进行通信。网关节点250和可选的外部处理器284生成被分配给图形400中每个加权边的数字权重值,以指示如果对应于通过加权边连接的两个顶点的节点与彼此传输数据,所发生的相对泄漏量。例如,连接节点204A和204B的加权边404指示0.1的相对泄漏水平,该泄漏水平大幅度地低于连接节点204D和204E的加权边408的0.8的泄漏水平。将图表400中描绘的数字权重值归一化成0.0至1.0的尺度,但是其它实施例可以使用不同的数字范围。如下所述,系统200使用泄漏图表400,来确定用以执行群组密码密钥交换过程而在节点204A-204E之间的位传送顺序,该顺序使对抗节点124可以观测到的泄漏的总水平最小化。
节点的排名
过程300随着如下步骤继续:系统200生成排名,该排名对用于群组密码密钥交换过程的节点对次序进行排序以使总泄漏最小化,而同时在群组中的所有节点之间交换密码密钥数据(框308)。在过程300中,系统200使用泄漏图表以及确定用以遍历图表中的每个顶点的最小泄漏路径的过程来生成排序。
使用被称为K m 的完整泄漏图表,以及共享密码密钥的群组中的节点列表G k ,排名过程GW的目的是要对G k 中的节点进行排序,以使得总体泄漏最小化。K m [G k ]是由G k 在KM中引发的子图,其仅意味着对于不是共享密码密钥的群组的部分的任何节点,排名过程忽略泄漏图表中的顶点。在本文中描述的示例中,节点204A-204D被包括在共享密码密钥的群组中,而节点204E在排名过程中被忽略。K m [G k ]也是全连接图表。
在上述群组密钥基础过程中,群组密码密钥交换过程以初始的一对节点开始,并且使用来自每对的第二节点作为用于密钥交换过程的传送节点而继续,该密钥交换过程在群组中添加后续节点。该过程类似于遍历通过图表的路径,在图表中,路径在一个节点处开始并且向群组中的附加节点进行“跳跃”,直到每个顶点在路径上恰好已经被访问一次(恰好访问每个顶点一次使路径为“汉密尔顿”路径)。可以将使用群组密钥基础来找到用于群组密钥生成的节点排序的过程看作是找到遍历K m [G k ]中的所有节点的最短路径(即,K m [G k ]中的最小汉密尔顿路径)而没有来自单个顶点的多个分支。在文献中已经提出了若干种算法来基于最小化准则找到这样的路径,并且系统200可以使用在数据网络中使用的力求使总路径长度最小化的现有技术路由算法。
在上述群组密钥树过程中,群组密码密钥交换过程以初始的一对节点开始,并且使用该群组中的任何一个节点作为用于密钥交换过程的传送节点而继续,该密钥交换过程在群组中添加后续节点。该过程类似于通过图表的树发现,其中每个顶点恰好被访问一次,但是可以从每个顶点取得多个路径,即,发现可选地包括来自单个顶点的多个分支的生成树。这样的树的示例在图6中图示,其中对应于节点204A的顶点n1在加权边604、608和612上分别具有到顶点n2、n4和n3的多个分支。优化节点排序的算法的示例包括但不限于Prim算法、Kruskal算法或本领域已知的其它高效生成树算法。由于每个最小生成树也是最小-最大生成树,因此使总泄漏最小化的解决方案也使最大链路泄漏最小化。
这些算法都试图利用成本最小化函数
Figure 427233DEST_PATH_IMAGE019
使遍历图表的“成本”最小化,其中τ是用于群组密钥树实施例的全部可用的生成树,并且c(T)找到使成本函数最小化的路径。对于群组密钥基础实施例,集合T仅包括生成树,该生成树是不包括来自单个顶点的多个分支的线性路径。函数c(T)的示例包括最大链路泄漏成本函数
Figure 912572DEST_PATH_IMAGE020
,其中(i,j)表示图表中的两个节点之间的加权边,并且
Figure 941708DEST_PATH_IMAGE021
是上面在图表400中描绘的泄漏值。该成本函数力求使路径上的最大泄漏最小化,这与安全性应用相关,因为系统的安全性是最弱链路的函数。使沿着整个路径的总成本最小化的另一个成本函数是总泄漏成本函数,其将成本限定为路径上所有泄漏的总和:
Figure 119880DEST_PATH_IMAGE022
如上所述,在一些实施例中,对抗者124可以试图执行与系统200相同的排名过程,以猜测节点的排名,并且使得对抗节点124能够在执行侧信道攻击时使用节点特定的决策函数。在一些实施例中,系统200还并入基于各种侧信道攻击对策来调整成本的函数
Figure 601677DEST_PATH_IMAGE023
,该对策可以在系统200中使用,以进一步使得就对抗节点124而言确定节点排名的任务复杂化。将侧信道攻击对策并入到总泄漏成本函数中的成本函数为:
Figure 890707DEST_PATH_IMAGE024
如上所述,在一些实施例中,与较晚的节点对相比,群组密码密钥交换过程必须在较早的节点对之间传送更大数量的位,因为平均而言在节点之间传送的位的一半被丢弃。在一种配置中,系统200可选地使用成本缩放因子S以通过使用基于缩放因子
Figure 774349DEST_PATH_IMAGE025
的成本缩放因子,来确保上面标识的最小路径实际上以最优顺序对节点进行排名,而不是以次优的反转顺序,其中H是覆盖群组中全部的节点所需的“跳跃”或图表边遍历操作的总数,其中数量H=M-1,意味着比群组中的M个节点的总数少一个跳跃。变量h表示当前跳跃,其从h=1开始,并且对于每个附加的跳跃向上递增到H,直到最终跳跃为止,在该点处缩放因子S等于1。系统200将缩放因子S乘以上述成本函数值,以有效地使成本最小化中的较早跳跃比该过程中的较晚跳跃成指数地更加昂贵。系统200使用缩放因子S来补偿以下事实:群组密码密钥交换过程在第一跳跃中的过程开始处传送最大数量的位,并且然后对于每个后续节点对,(平均而言)将传送的位数量减少一半(例如,通过上述四个跳跃传送2048位、1024位、512位和256位的群组密码密钥交换过程)。
缩放因子S确保路径优化过程将以下事实并入到路径生成结果中:较早的跳跃导致比较晚的跳跃传送更多数据位。图5提供了缩放因子S的有用性的简单示例。在图5中,图表400包括包含加权边504、508和512的最小汉密尔顿路径,该最小汉密尔顿路径以以下顺序提供顶点和对应节点的排名:(n2,n1),(n1,n3)和(n3,n4)。特别地,沿着边504的最低边权重为0.1,并且沿着最终边512的最大边权重为0.3。通过使用考虑该路径的总成本的传统成本函数,成本简单地为:分别对于边504、508和512的0.1+0.2+0.3=0.6。然而,在没有缩放因子S的情况下,现有技术的路径最小化过程可以仅仅容易地反转上述路径,并且产生以下次优排名顺序:(n4,n3),(n3,n1)和(n2,n1)。通过使用现有技术的路径最小化过程,用于反转路径的总路径成本与用于在正向方向上遍历路径的恰好相同(0.6),但是这在系统200中产生次优结果,因为相比于对以节点204B和204A开始的路径进行排序,在节点204D与204C之间正以更高的泄漏分数0.3传送大得多数量的位。缩放因子S通过增加路径中最早跳跃的相对重要性来防止使用该反转路径。例如,在图5中描绘的三跳跃路径上,使用缩放因子S产生:
最优路径
Figure 123422DEST_PATH_IMAGE026
(赢)
反转路径
Figure 92515DEST_PATH_IMAGE027
(输)
因此,即使传统的最小路径遍历过程会将两个路径视为彼此相等,缩放因子S也使得系统200能够确定反转路径是次优的。如上所述,系统200使用缩放因子S来在图表中找到实际上使泄漏最小化的路径,而同时恰当地并入以下事实:群组密码密钥交换过程中的较早节点对比该过程中的较晚节点对传送多得多的位。这作为实施例中的可选修改特别有用,在该实施例中,为了获得信息理论上的保密性,群组利用密钥协定过程,其中在每个接续阶段处都丢失位。当然,可替换实施例可以使用与
Figure 919657DEST_PATH_IMAGE028
的示例相比稍有不同的缩放因子,以实现相同的目的。在每对节点之间传送相等或近似相等数量的位的群组密码密钥交换过程的实施例中,可以省略缩放因子操作,这是因为最小泄漏路径可以在任一方向上以有效相同的总泄漏水平来被遍历。
在群组密码密钥交换过程的群组密钥树实施例中,不存在针对过程的每对中的第二节点被用于下一对中的要求。在泄漏图表400和节点排名过程的上下文中,这意味着树中的一些顶点具有多于一个分支,这进一步意味着群组中的单个节点可以在群组密码密钥交换过程期间以多于一次地与其它节点配对,如果该配对使泄漏最小化的话。上面使用的相同算法也可以被用来执行用于群组密钥树实施例的排名过程。图6描绘了具有最小化泄漏路径的图表400,该泄漏路径具有分别连接顶点对(n1,n2),(n1,n4)和(n1,n3)的边604、608和612。具有相同的总泄漏水平的另一排名将是(n1,n4),(nl,n2)和(nl,n3)。群组密钥树可选地使用上述缩放因子或对节点对的顺序进行排序,以在排名中较早地对具有最小泄漏成本值的节点对排名,这在群组密钥树过程中是可行的,因为一些顶点具有多个分支。
在网关节点250中,CAN控制器252将指定用于密钥交换数据的节点顺序的排名数据264存储在存储器260中。在一些配置中,系统200紧接地在开始群组密码密钥交换过程之前生成并存储排名数据264,而在其它实施例中,排名数据264是大大提前于密钥交换过程来计算的。
将排名数据传送到群组中的节点
过程300随着如下步骤继续:网关节点250将节点排名数据传送到执行群组密码密钥交换过程的群组中的节点,以使得节点实际以该排名所指定的顺序来执行密钥交换过程(框312)。在一个实施例中,网关节点250通过CAN总线以明文传送排名信息。群组中的全部的节点(例如,上面示例中的节点204A-204D)以及全部的其它节点和对抗者124可以接收该排名信息。虽然以明文传送是直白的,但是明文数据传送还向对抗节点124揭示节点之间的传送的排名和顺序。如上所述,具有特定决策函数D i,j 以用于对特定节点执行侧信道攻击的复杂对抗者124可以以比实际上并不知道在任一时间处群组中的哪对节点正在传送数据的对抗者更高的有效性执行攻击。在一个实施例中,网关节点250使用群组中的每个节点(例如,节点204A-204D中的每个)已知的单个共享密钥来传送节点顺序数据。
在另一个实施例中,网关节点250使用存储在存储器260中的共享密钥的集合266,以使用加密消息将节点顺序信息发送到群组中的每个节点。在图2的实施例中,网关节点250为节点204A-204E中的每个存储不同的预共享密钥。节点204A-204E中的每个还存储特定于该节点的单个密钥,并且每个预共享密钥仅用于网关节点250与节点204A-204E之一之间的加密通信。
虽然网关节点250可以将个体加密消息发送到群组中的每个节点,以分配排名信息,但是在另一个实施例中,发送具有每个节点的加密数据的子集的单个消息消耗较少带宽,并且使得具有排名信息的单个消息能够用作同步消息,该同步消息对参与群组密钥交换过程的全部的节点进行同步。该消息被包含在一个CAN总线数据帧中,或者用于较大群组的预定数量的数据帧中,并且一旦网关250完成排名信息传送过程,节点就可以开始群组密码密钥交换过程。通过使用来自图5的节点的示例顺序,网关节点250使用利用以下格式的单个消息来传送排名:
Figure 923385DEST_PATH_IMAGE029
在上面的消息中,“||”运算符是指位串联。项r是随机生成的随机数,其被用来确保对抗节点124无法记录加密消息,并且重新传送同一消息来触发虚假群组加密密钥交换过程。函数f是加密函数(例如,AES或另一种合适的密码),并且项
Figure 443359DEST_PATH_IMAGE030
是在网关节点250与节点204A-204D之间共享的个体密码密钥。由于图5的实施例使用其中每个节点仅被使用一次的汉密尔顿路径对节点进行排名,因此排名消息仅包括每个节点一次。在图6的实施例中,其中单个节点可以潜在地多于一次地参与群组密码密钥交换过程,网关250使用略有不同的消息格式,其中对于排名数据中的给定节点的每一次附加出现,随机数值r递增1。以下排名消息格式基于图6的节点排名:
Figure 899748DEST_PATH_IMAGE031
在上述个体密钥加密实施例中,对抗节点124不能够基于来自网关节点250的排名数据的传送来确定节点的排名顺序。附加地,网关节点250使用个体节点密钥对上面消息中的字段进行加密,该个体节点密钥甚至防止正在交换共享加密密钥的群组成员了解全部的传送顺序。此外,在一些实施例中,网关节点250可选地计算与排名一起传送的消息认证码(MAC),以防止对抗节点124修改加密的排名数据。
群组密码密钥交换过程
过程300随着如下步骤继续:群组中的节点执行群组密码密钥交换过程,其中节点对以从网关节点250传送的排名消息中所指定的顺序来传送密码数据(框316)。通过使用图5中描绘的示例,首先节点对204B-204A交换密码数据,继之以节点对204A-204C,并且最终是204C-204D,其中节点204B充当起点(origin),并且节点204A、204C和204D中的每个充当节点对的线性链中的链接,以将密码密钥数据传播到群组中的全部节点。在图6的实施例中,节点对204A-204B的节点首先交换密码数据,继之以节点对204A-204D,并且最终是节点对204A-204C,其中节点204A由于在泄漏图表中该节点与节点204B、204D和204C之间的低泄漏水平而参与多于一次密码密钥交换操作。
上述过程300通过控制群组中的节点之间的传送顺序以减小对抗节点124在群组密码密钥交换过程期间可以观测到的泄漏总量,来减小向对抗节点的泄漏总量。如上面指出的,系统200和过程300还与通过混淆在群组密码密钥交换过程期间传送的数据来减小总体泄漏水平的硬件和软件技术兼容,来进一步减小对抗节点124标识密码密钥内容的能力。
在上述实施例中,即使网关节点250设置控制节点204A-204E的对的依次操作的排名次序,网关节点250也从未获得对在节点204A-204E之间交换的共享密码密钥的访问。出于说明性目的,网关节点250被描述为与其余节点204A-204E分离地操作,但是在一些实施例中,网关节点250自身是参与群组密码密钥交换过程的节点之一,并且群组节点250在泄漏图表中包括自身,并且以类似于系统200中的其它节点204A-204E的方式在群组密码密钥交换过程中为自身分配排名。
本文中描述的实施例描述了用于减小在群组密码密钥交换操作期间向对抗者的泄漏的方法,在该群组密码密钥交换操作中,节点使用诸如CAN总线之类的共享通信介质同时传送数据。实施例还描述了减小或消除这些攻击的有效性的系统和方法。这些实施例防御对抗者,所述对抗者可以使用高分辨率装备来物理地探测通信介质的电压特性。可以使用这些方法的系统的示例包括但不限于车用系统(小汽车、公交车、卡车、农场装备、火车)、使用CAN总线的工业系统、用于DC电力分布系统的控制面板、以及使用CAN总线的安全系统。本文中描述的实施例包括利用网关节点(主节点)来使用系统的物理参数的预先建立的知识来估计由于节点交互所致泄漏的方法。参数的示例包括节点之间的导线长度,节点制造商,电阻性、电容性和电感性电路元件。本文中描述的实施例包括利用网关节点(主节点)来使用物理建模和基于学习的方法估计由于节点交互所致泄漏的方法。这些方法的示例包括深度学习方法,诸如卷积神经网络(CNN)、长短期记忆(LSTM)、或者比如支持向量机(SVM)的经典机器学习技术。本文中描述的实施例包括基于由网关节点估计的泄漏函数来优化节点顺序以使总体泄漏最小化的方法。针对协议的线性版本限定了优化准则和解决方案。最小化准则的示例包括总泄漏最小化和最大链路泄漏最小化。本文中描述的实施例基于网关节点所估计的泄漏函数来优化节点顺序以使针对协议的基于树的版本的总体泄漏最小化。示例包括最小化准则,其包括总泄漏最小化和最大链路的最小化。本文中描述的实施例包括通过对窃听者隐藏节点顺序来以隐私保留的方式将节点顺序传输到节点的方法。提出了利用公共预共享群组密钥来对对抗者混淆节点顺序的方法,或者利用主节点与协议参与者之间的“成对的”预共享密钥来对对抗者隐藏节点顺序的方法。
将领会的是,以上所公开的和其它特征及功能的变体、或其可替换方案可以合期望地被组合到许多其它不同的系统、应用或方法中。各种目前没有预见或未预料到的可替换方案、修改、变型或改进可以随后由本领域技术人员做出,这些也意图被以下权利要求所涵盖。

Claims (8)

1.一种用于通信网络的操作的方法,包括:
基于节点的泄漏图生成排名,来对通信网络中在群组密码密钥交换过程中交换数据的多个节点的操作进行排序,所述排名使在群组密码密钥交换过程期间通过共享通信介质的数据泄漏最小化;
利用通信网络中的网关节点、通过共享通信介质将所述排名传送到所述多个节点;以及
利用所述多个节点、以所述排名中指定的操作顺序执行群组密码密钥交换过程,以使得所述多个节点能够通过共享通信介质交换共享密码密钥,而同时使通过共享通信介质的数据泄漏最小化。
2.根据权利要求1所述的方法,进一步包括:
基于网关节点生成的、对所述多个节点通过共享通信介质传送的信号的多个观测,训练分类器;
生成包括由加权边连接的第一顶点、第二顶点的泄漏图表,第一顶点和第二顶点分别对应于所述多个节点中的第一节点和第二节点,加权边基于使用分类器的决策函数成功标识所观测的信号是从所述多个节点中的第一节点和第二节点之一传送的概率而生成,泄漏图表是在生成所述排名之前生成的。
3.根据权利要求1所述的方法,进一步包括:
生成泄漏图表,其包括由加权边连接的第一顶点、第二顶点,第一顶点和第二顶点分别对应于所述多个节点中的第一节点和第二节点,加权边至少部分地基于将第一节点和第二节点分离的共享通信介质的长度除以共享通信介质的长度的比率而生成,泄漏图表是在生成所述排名之前生成的。
4.根据权利要求3所述的方法,加权边进一步至少部分地基于以下各项而生成:第一节点中的第一收发器与第二节点中的第二收发器的架构之间的差异、第一节点中的第一操作电压水平与第二节点中的第二操作电压水平的操作电压水平之间的差异、以及第一节点中的第一收发器与第二节点中的第二收发器的制造商之间的差异。
5.根据权利要求1所述的方法,所述排名的生成进一步包括:
基于连接泄漏图表中与所述多个节点相对应的多个顶点的路径来生成所述排名,所述路径恰好包括每个顶点一次。
6.根据权利要求1所述的方法,所述排名的生成进一步包括:
基于连接泄漏图表中与所述多个节点相对应的多个顶点的路径来生成所述排名,所述路径包括每个顶点至少一次并且包括至少一个顶点多于一次。
7.根据权利要求1所述的方法,所述排名的传送进一步包括:
利用网关节点、使用在网关节点与所述多个节点之间共享的至少一个密码密钥、基于所述排名来生成加密的排名;以及
利用网关节点、通过共享通信介质向所述多个节点传送所述加密的排名,以防止所述排名通过共享介质的泄漏。
8.根据权利要求1所述的方法,其中,共享通信介质是控域网(CAN)总线。
CN201880030254.4A 2017-03-08 2018-03-08 用于使针对控域网的群组密钥协定的侧信道泄漏最小化的方法 Active CN110622465B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762468691P 2017-03-08 2017-03-08
US62/468691 2017-03-08
PCT/US2018/021604 WO2018165469A1 (en) 2017-03-08 2018-03-08 Methods for minimizing side channel leakage for group key agreement for controller area network

Publications (2)

Publication Number Publication Date
CN110622465A CN110622465A (zh) 2019-12-27
CN110622465B true CN110622465B (zh) 2022-09-13

Family

ID=63445668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880030254.4A Active CN110622465B (zh) 2017-03-08 2018-03-08 用于使针对控域网的群组密钥协定的侧信道泄漏最小化的方法

Country Status (5)

Country Link
US (1) US10749673B2 (zh)
EP (1) EP3593486B1 (zh)
KR (1) KR102559684B1 (zh)
CN (1) CN110622465B (zh)
WO (1) WO2018165469A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109640325B (zh) * 2018-12-29 2021-11-30 西安邮电大学 基于可扩展式贡献组密钥协商的面向车队的安全管理方法
DE102019200565A1 (de) * 2019-01-17 2020-07-23 Robert Bosch Gmbh Vorrichtung und Verfahren zur Klassifizierung von Daten insbesondere für ein Controller Area Netzwerk oder ein automotive Ethernet Netzwerk.
US11190336B2 (en) * 2019-05-10 2021-11-30 Sap Se Privacy-preserving benchmarking with interval statistics reducing leakage
US11586728B2 (en) * 2019-06-07 2023-02-21 Nxp B.V. Methods for detecting system-level trojans and an integrated circuit device with system-level trojan detection
US11379571B2 (en) 2019-07-12 2022-07-05 Hewlett Packard Enterprise Development Lp Presence terminal-based side channel communications
US11087030B2 (en) * 2019-11-19 2021-08-10 Silicon Laboratories Inc. Side-channel attack mitigation for secure devices with embedded sensors
US11171772B2 (en) * 2019-12-11 2021-11-09 Facebook Technologies, Llc Multi-key encryption and decryption for side channel attack prevention
US11470061B2 (en) * 2019-12-11 2022-10-11 Meta Platforms Technologies, Llc Parallel scheduling of encryption engines and decryption engines to prevent side channel attacks
US11943367B1 (en) * 2020-05-19 2024-03-26 Marvell Asia Pte, Ltd. Generic cryptography wrapper
US20220164744A1 (en) * 2020-11-20 2022-05-26 International Business Machines Corporation Demand forecasting of service requests volume
CN113158179B (zh) * 2021-03-17 2022-07-22 成都信息工程大学 自动发现泄露模型的有学习的侧信道攻击方法及加密设备
US20230275913A1 (en) * 2022-02-25 2023-08-31 Microsoft Technology Licensing, Llc Using graph enrichment to detect a potentially malicious access attempt

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9276951B2 (en) 2013-08-23 2016-03-01 The Boeing Company System and method for discovering optimal network attack paths
US9288048B2 (en) 2013-09-24 2016-03-15 The Regents Of The University Of Michigan Real-time frame authentication using ID anonymization in automotive networks
US10211990B2 (en) * 2014-07-25 2019-02-19 GM Global Technology Operations LLC Authenticating messages sent over a vehicle bus that include message authentication codes
EP3220572B1 (en) * 2014-11-13 2019-12-18 Panasonic Intellectual Property Corporation of America Key management method, vehicle-mounted network system and key management device
US10095634B2 (en) * 2015-05-22 2018-10-09 Nxp B.V. In-vehicle network (IVN) device and method for operating an IVN device
CN105187376B (zh) * 2015-06-16 2018-04-17 西安电子科技大学 车联网中汽车内部网络的安全通信方法
EP3326322B1 (en) 2015-07-17 2019-12-18 Robert Bosch GmbH Method and system for secure key generation over an insecure shared communication medium
EP3593500B1 (en) * 2017-03-08 2023-09-06 Robert Bosch GmbH Method to mitigate voltage based attacks on key agreement over controller area network (can)
WO2018201062A1 (en) * 2017-04-28 2018-11-01 IronCore Labs, Inc. Orthogonal access control for groups via multi-hop transform encryption
JP7187772B2 (ja) * 2017-12-27 2022-12-13 トヨタ自動車株式会社 情報処理システム、情報処理方法、情報処理プログラム

Also Published As

Publication number Publication date
EP3593486A1 (en) 2020-01-15
CN110622465A (zh) 2019-12-27
KR102559684B1 (ko) 2023-07-27
EP3593486A4 (en) 2020-12-30
US20180262327A1 (en) 2018-09-13
KR20190118209A (ko) 2019-10-17
EP3593486B1 (en) 2022-10-12
US10749673B2 (en) 2020-08-18
WO2018165469A1 (en) 2018-09-13

Similar Documents

Publication Publication Date Title
CN110622465B (zh) 用于使针对控域网的群组密钥协定的侧信道泄漏最小化的方法
CN110582985B (zh) 用于在控域网之上减轻对密钥协定方案的基于时序的攻击的方法
KR102312565B1 (ko) 네트워크에서 비밀 또는 키 생성 방법
US10397195B2 (en) Method and system for shared key and message authentication over an insecure shared communication medium
US10833851B2 (en) Methods and systems for linear key agreement with forward secrecy using an insecure shared communication medium
US20080098234A1 (en) Fault-containment and/or failure detection using encryption
Zhang et al. Design and analysis of random multiple access quantum key distribution
CN107836095A (zh) 用于在网络中产生秘密或秘钥的方法
Püllen et al. Using implicit certification to efficiently establish authenticated group keys for in-vehicle networks
CN111726346A (zh) 数据安全传输方法、装置及系统
Jain et al. Probing attacks on physical layer key agreement for automotive controller area networks
CN117540426A (zh) 基于同态加密和联邦学习的能源电力数据共享方法及装置
EP3471368A1 (en) Apparatuses and methods for generating domain-specific codes
Liu et al. QSLT: A Quantum‐Based Lightweight Transmission Mechanism against Eavesdropping for IoT Networks
US10841085B2 (en) Method for generating a secret or a key in a network
Jain et al. Probing attacks on physical layer key agreement for automotive controller area networks (extended version)
CN107395339A (zh) 用于在网络中生成秘密或密钥的方法
US20230353545A1 (en) Secure communication protocol for communication devices
Narayanaswamy et al. SCARS: Simplified cryptographic algorithm for RFID systems
Kim et al. On the Use of m-Ary Challenges for RFID Distance Bounding Protocol

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