1.一种管理控制器局域网(controllerareanetwork,can)中模块间安全通信的系统,其特征在于,包括:
一种密钥管理模块,用于:
根据can标识的功能性,将can的can标识组织为子集,每个子集排列为具有根节点的树状结构,所述根节点可以表示子集的功能;
将can标识的子集排列至具有根节点nr的树状结构中,其中所述子集的根节点排列为根节点nr的子孙节点;以及
从所述根节点nr的子节点开始,设置根节点nr的密钥并计算所述树状结构中每一层级中的每一节点密钥,其中使用父节点的密钥和识别所述子节点的标识符计算所述树状结构中的子节点的密钥;
一种与所述密钥管理模块通信连接的广播模块,用于:
生成在can上待传输的帧,从而所述帧与从can标识中选择的can标识idc1相关联;
使用与can标识idc1节点的祖先节点相关联的祖先密钥k1和与can标识idc1节点相关联的根节点路径标识符计算can标识密钥kc1,其中从所述密钥管理模块中检索所述祖先密钥k1且所述根节点路径标识符包括分配至can标识idc1节点的值;
获取方案参数p且根据所述方案参数p、所述密钥kc1、所述can标识idc1与所述待传输的帧计算验证参数vd,所述方案参数p包括方案唯一的变量;以及
广播包括所述与can标识idc1相关联的帧和can上的所述验证参数vd的信息,使得can上具有包括can标识idc1的滤波器的接收器模块接收所述广播的信息,并使用所接收到的验证参数vd校验接收到的帧。
2.根据权利要求1所述的系统,其特征在于,所述计算所述树状结构中的每一层级中的每一节点的密钥包括:
对于所述树状结构中的每一子节点,
使用密钥生成函数(kgf())、所述子节点kp的父节点的密钥和识别所述子节点idc的标识符计算所述树状结构中的所述子节点的密钥kc,所述密钥kc定义为kc=kgf(kp,idc)。
3.根据权利要求1所述的系统,其特征在于,所述使用与can标识idc1节点的祖先节点相关联的祖先密钥k1和与can标识idc1节点相关联的根节点路径标识符计算can标识密钥kc1包括所述广播模块用于:
使用密钥生成函数(kgf())、can标识idc1和祖先密钥k1计算所述can标识密钥kc1,当祖先密钥k1与和can标识idc1相关联的节点的父节点相关联时以及当与can标识idc1节点相关联的所述根节点路径标识符包括所述can标识idc1时,所述密钥kc1定义为kc1=kgf(k1,idc1)。
4.根据权利要求1至3中任一项所述的系统,其特征在于,在所述密钥管理模块设置所述根节点nr的密钥之前,所述密钥管理模块用于:
在所述根节点nr和所述子集的一者的根节点之间选择性地插入至少一个中间节点,使得所述中间节点表示所述子集中的一者的所述根节点的祖先节点。
5.根据权利要求1至4中任一项所述的系统,其特征在于,所述方案参数p包括本地时间t,所述广播信息还包括所述方案参数p,从而所述广播模块用于:
使用所述本地时间t计算所述验证参数vd,所述验证参数vd定义为vd=mac(kc1,t||idc1||‘frame’),其中mac()是消息认证码函数,‘frame’是在所述can上待传输的帧。
6.根据权利要求5所述的系统,其特征在于,所述接收器模块验证所接收的帧包括所述接收器模块用于:
获取can标识密钥kc1和接收器本地时间tr;
根据所接收的本地时间t和所获取的接收器本地时间tr,对所接收的帧的有效性进行第一校验检查;
当所述第一校验检查校验所接收的帧时,通过比较所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行第二校验检查,
所述接收器验证参数vrd定义为vrd=mac(kc1,t||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述第二校验检查校验所接收的帧时,处理所接收的帧。
7.根据权利要求6所述的系统,其特征在于,还包括:
一种网关模块,用于:
获取网关本地时间tg;
使用所述can上所有模块传输和接收的所述网关本地时间tg生成通用帧,使得当每个模块接收到所述通用帧时,每个模块都用于:
校验所接收的通用帧;以及
当对所接收的通用帧进行校验时,使用所述网关本地时间tg同步所述模块的本地时间。
8.根据权利要求1至4中任一项所述的系统,其特征在于,所述方案参数p包括与所述can标识idc1相关联的计数器ctc1,从而所述广播模块用于:
将所述计数器ctc1递增一,使用所述计数器ctc1计算所述验证参数vd,所述验证参数vd定义为vd=mac(kc1,ctc1||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在所述can上待传输的帧。
9.根据权利要求8所述的系统,其特征在于,所述接收器模块验证所接收的帧包括所述接收器模块用于:
获取所述can标识密钥kc1和与所述can标识idc1相关联的接收器计数器ct’c1;
通过比较所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行校验检查,
所述接收器验证参数vrd定义为vrd=mac(kc1,(ct’c1+1)||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述校验检查校验所接收的帧时,将所述计数器ct’c1递增一并且处理所接收的帧,其中
网关模块用于同步位于所述广播模块的所述计数器ctc1与位于所述接收器模块的所述计数器ct’c1。
10.根据权利要求9所述的系统,其特征在于,所述网关模块用于通过以下操作同步位于所述广播模块的所述计数器与位于所述接收器模块的所述接收器计数器:
获取与所述can标识idc1相关联的所述计数器ctc1;
使用所述计数器ctc1和所述can标识idc1生成计数器帧;
在can上广播所述计数器帧,使得当所述can上具有计数器的每个模块接收所述计数器帧时,每个模块用于:
使用所接收的计数器帧同步模块中的计数器。
11.根据权利要求1至4中任一项所述的系统,其特征在于,所述方案参数p包括临时值n,从而所述广播模块用于:
使用所述临时值n计算所述验证参数vd,所述验证参数vd定义为vd=mac(kc1,n||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧。
12.根据权利要求11所述的系统,其特征在于,所述接收器模块验证所接收的帧包括所述接收器模块用于:
获取can标识密钥kc1和接收器临时值n’;
通过比较所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行校验检查,
所述接收器验证参数vrd定义为vrd=mac(kc1,n’||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述校验检查校验所接收的帧时,处理所接收的帧,其中
网关模块用于同步位于所述广播模块处的所述临时值n和位于所述接收器模块处的所述临时值n’。
13.根据权利要求12所述的系统,其特征在于,所述网关模块用于通过以下操作在所述广播模块和所述接收器模块处周期性地广播临时值:
生成所述临时值n;
使用所述临时值n生成临时帧;
在can上广播所述临时帧,使得当can上的每个模块接收所述临时帧时,每个模块用于:
使用所接收的临时帧在所述模块中接收和存储所述临时值。
14.根据权利要求1至4中任一项所述的系统,其特征在于,所述方案参数p包括本地时间t和与所述can标识idc1相关联的和计数器ctc1,所述广播信息还包括所述方案参数p,从而所述广播模块用于:
将所述计数器ctc1递增一,且使用所述本地时间t和所述计数器ctc1计算所述验证参数vd,所述验证参数vd定义为vd=mac(kc1,t||ctc1||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在所述can上待传输的所述帧。
15.根据权利要求14所述的系统,其特征在于,所述接收器模块验证所接收的帧包括所述接收器模块用于:
获取所述can标识密钥kc1、接收器本地时间tr和与所述can标识idc1相关联的接收器计数器ct’c1;
根据所接收的本地时间t和所获取的接收器本地时间tr对所接收的帧的有效性进行第一校验检查;
当所述第一校验检查校验所接收的帧时,通过比较所接收的验证参数vd与接收器验证参数vrd,对所接收的帧的有效性进行第二校验检查,
接收器验证参数vrd定义为vrd=mac(kc1,t||(ct’c1+1)||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述第二校验检查校验所接收的帧时,将所述计数器ct’c1递增一且处理所接收的帧,其中
网关模块用于同步位于所述广播模块处的所述计数器ctc1与位于所述接收器模块处的所述计数器ct’c1。
16.根据权利要求15所述的系统,其特征在于,所述网关模块还用于:
获取网关本地时间tg;
使用所述can上所有模块传输和接收的所述网关本地时间tg生成通用帧,使得当每个模块接收到所述通用帧时,每个模块用于:
校验所接收的通用帧;
对所接收的通用帧进行校验时,使用所述网关本地时间tg同步所述模块的本地时间;以及
重置模块中的计数器
17.根据权利要求15所述的系统,其特征在于,所述网关模块用于成通过以下操作同步位于所述广播模块和所述接收器模块的所述计数器:
获取与所述can标识idc1相关联的所述计数器ctc1;
使用所述计数器ctc1和所述can标识idc1生成计数器帧;以及
在can上广播所述计数器帧,使得当所述can上具有计数器的每个模块接收所述计数器帧时,每个模块用于:
使用所接收的计数器帧同步所述模块中的所述计数器。
18.根据权利要求1至4中任一项所述的系统,其特征在于,所述方案参数p包括临时值n和与所述can标识idc1相关联的计数器ctc1,从而所述广播模块用于:
将所述计数器ctc1递增一,使用所述临时值n和计数器ctc1计算验证参数vd,所述验证参数vd定义为vd=mac(kc1,n||ctc1||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧。
19.根据权利要求18所述的系统,其特征在于,所述接收器模块验证所接收的帧包括所述接收器模块用于:
获取所述can标识密钥kc1、接收器临时值n’和与所述can标识idc1相关联的接收器计数器ct’c1;
通过比较所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行校验检查,
接收器验证参数vrd定义为vrd=mac(kc1,n’||(ct’c1+1)||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述校验检查校验所接收的帧时,将所述计数器ct’c1递增一且处理所接收的帧,其中
网关模块用于广播位于所述广播模块的所述临时值n和位于所述接收器模块的所述临时值n’,并且同步位于所述广播模块的所述计数器ctc1和位于所述接收器模块的所述计数器ct’c1。
20.根据权利要求19所述的系统,其特征在于,所述网关模块用于通过以下操作同步位于所述广播模块和位于所述接收器模块的所述计数器:
获取与所述can标识idc1相关联的所述计数器ctc1;
使用所述计数器ctc1和所述can标识idc1生成计数器帧;以及
在can上广播所述计数器帧,使得当can上的每个模块接收所述计数器帧时,每个模块用于:
使用所接收的计数器帧同步所述模块中的所述计数器。
21.根据权利要求19所述的系统,其特征在于,所述网关模块用于通过以下操作在所述广播模块和所述接收器模块处周期性地广播临时值:
生成所述临时值n;
使用所述临时值n生成临时帧;
在所述can上广播所述临时帧,使得当所述can上的每个模块接收所述临时帧时,每个模块用于:
使用所接收的临时帧校验和存储所述模块中的所述临时值。
22.根据权利要求6、9、12、15和19中任一项所述的系统,其特征在于,所述获取can标识密钥kc1包括所述接收器模块用于:
检索通过所述密钥管理模块预加载到所述接收器管理模块中的所述can标识密钥kc1。
23.根据权利要求6、9、12、15和19中任一项所述的系统,其特征在于,所述获取can标识密钥kc1包括所述接收器模块用于:
使用所述can标识idc1和祖先节点的密钥计算所述can标识密钥kc1,其中所述祖先节点的密钥通过所述密钥管理模块预加载到所述接收器模块中。
24.一种设置在车辆中的密钥管理模块,生成用于can网络中的控制器区域网络(can)标识的分级树状结构,其特征在于,所述密钥管理模块包括:
处理器;以及
所述处理器可读取的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时,使得所述处理器执行以下操作:
根据can标识的功能性,将can的can标识组织为子集,每个子集排列为具有根节点的树状结构,所述根节点可以表示子集的功能;
将can标识的子集排列至具有根节点nr的树状结构中,其中所述子集的根节点排列为根节点nr的子孙节点;以及
从所述根节点nr的子节点开始,设置根节点nr的密钥并计算所述树状结构中每一层级中的每一节点密钥,其中使用父节点的密钥和识别所述子节点的标识符计算所述树状结构中的子节点的密钥。
25.根据权利要求24所述的密钥管理模块,其特征在于,指示所述处理器计算用于所述树状结构中的每一层级中的每一节点的所述密钥的所述指令包括:
对于所述树状结构中的每一子节点,指令指示所述处理器进行以下操作:
使用密钥生成函数(kgf())、所述子节点kp的父节点的密钥和识别所述子节点idc的标识符计算所述树状结构中的所述子节点的密钥kc,所述密钥kc定义为kc=kgf(kp,idc)。
26.根据权利要求24或25所述的密钥管理模块,其特征在于,在所述密钥管理模块设置所述根节点nr的密钥之前,所述密钥管理模块用于:
在所述根节点nr和所述子集的一者的根节点之间选择性地插入至少一个中间节点,使得所述中间节点表示所述子集中的一者的所述根节点的祖先节点。
27.一种设置在车辆中的广播模块,该广播模块将安全通信广播到控制器局域网(can)中,其特征在于,所述广播模块包括:
处理器;以及
所述处理器可读取的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时,使得所述处理器执行以下操作:
生成在can上待传输的帧,从而所述帧与从can标识中选择的can标识idc1相关联;
使用与can标识idc1节点的祖先节点相关联的祖先密钥k1和与can标识idc1节点相关联的根节点路径标识符计算can标识密钥kc1,其中从密钥管理模块中检索所述祖先密钥k1且所述根节点路径标识符包括分配至can标识idc1节点的值;
获取方案参数p且根据所述方案参数p、所述密钥kc1、所述can标识idc1与所述待传输的帧计算验证参数vd,所述方案参数p包括方案唯一的变量;以及
广播包括所述与can标识idc1相关联的帧和can上的所述验证参数vd的信息,使得can上具有包括can标识idc1的滤波器的接收器模块接收所述广播的信息,并使用所接收到的验证参数vd校验接收到的帧。
28.根据权利要求27所述的广播模块,其特征在于,指令指示所述处理器使用与can标识idc1节点的祖先节点相关联的祖先密钥k1和与can标识idc1节点相关联的根节点路径标识符计算can标识密钥kc1包括:
指令指示所述处理器执行以下操作:
使用密钥生成函数(kgf())、can标识idc1和祖先密钥k1计算所述can标识密钥kc1,当祖先密钥k1与和can标识idc1相关联的节点的父节点相关联时以及当与can标识idc1节点相关联的所述根节点路径标识符包括所述can标识idc1时,所述密钥kc1定义为kc1=kgf(k1,idc1)。
29.根据权利要求27或28所述的广播模块,其特征在于,所述方案参数p包括本地时间t,所述广播信息还包括所述方案参数p,从而所述广播模块包括:
指令指示所述处理器进行以下操作:
使用所述本地时间t计算所述验证参数vd,所述验证参数vd定义为vd=mac(kc1,t||idc1||‘frame’),其中mac()是消息认证码函数,‘frame’是在所述can上待传输的帧。
30.一种设置在车辆中的接收器模块,在控制器区域网络(can)中接收广播信息,其特征在于,所述广播信息包括与can标识idc1相关联的帧、本地时间t和所述验证参数vd,所述验证参数vd定义为vd=mac(kc1,t||idc1||‘frame’),其中mac()是消息认证码函数,kc1是can标识密钥kc1,‘frame’是在所述can上待传输的帧,从而所述接收器模块包括:
处理器;以及
所述处理器可读取的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时,使得所述处理器执行以下操作:
获取can标识密钥kc1和接收器本地时间tr;
根据所接收的本地时间t和所获取的接收器本地时间tr对所接收的帧的有效性进行第一校验检查;
当所述第一校验检查校验所接收的帧时,通过比较所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行第二校验检查,
所述接收器验证参数vrd定义为vrd=mac(kc1,t||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述第二校验检查校验所接收的帧时,处理所接收的帧。
31.一种设置在车辆中的网关模块,同步控制器局域网(can)中模块的本地时间,其特征在于,所述网关模块包括:
处理器;以及
所述处理器可读取的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时,使得所述处理器执行以下操作:
获取网关本地时间tg;
使用所述can上所有模块传输和接收的所述网关本地时间tg生成通用帧,使得当每个模块接收到所述通用帧时,每个模块都用于:
校验所接收的通用帧;以及
当对所接收的通用帧进行校验时,使用所述网关本地时间tg同步所述模块的本地时间。
32.权利要求27或28所述的广播模块,其特征在于,所述方案参数p包括与所述can标识idc1相关联的计数器ctc1,从而所述广播模块包括:
指令指示所述处理器进行以下操作:
将所述计数器ctc1递增一,使用所述计数器ctc1计算所述验证参数vd,所述验证参数vd定义为vd=mac(kc1,ctc1||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在所述can上待传输的帧。
33.一种设置在车辆中的接收器模块,在控制器区域网络(can)中接收广播信息,其特征在于,所述广播信息包括与can标识idc1相关联的帧和验证参数vd,从而所述验证参数vd定义为vd=mac(kc1,ctc1||idc1||‘frame’),其中mac()是消息认证码函数、kc1是can标识密钥kc1、ctc1是由广播模块设置的计数器ctc1、且‘frame’是在所述can上待传输的帧,所述接收器模块包括:
处理器;以及
所述处理器可读取的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时,使得所述处理器执行以下操作:
获取所述can标识密钥kc1和与所述can标识idc1相关联的接收器计数器ct’c1;
通过比较所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行校验检查,
所述接收器验证参数vrd定义为vrd=mac(kc1,(ct’c1+1)||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述校验检查校验所接收的帧时,将所述计数器ct’c1递增一且处理所接收的帧,其中
网关模块用于同步位于所述广播模块的所述计数器ctc1与位于所述接收器模块的所述计数器ct’c1。
34.一种设置在车辆中的网关模块,同步控制器局域网(can)中模块的计数器,其特征在于,所述网关模块包括:
处理器;以及
所述处理器可读取的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时,使得所述处理器执行以下操作:
获取与所述can标识idc1相关联的所述计数器ctc1;
使用所述计数器ctc1和所述can标识idc1生成计数器帧;
在can上广播所述计数器帧,使得当所述can上具有计数器的每个模块接收所述计数器帧时,每个模块用于:
使用所接收的计数器帧同步模块中的计数器。
35.根据权利要求27或28所述的广播模块,其特征在于,所述方案参数p包括临时值n,从而所述广播模块包括:
指令指示所述处理器进行以下操作:
使用所述临时值n计算所述验证参数vd,所述验证参数vd定义为vd=mac(kc1,n||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧。
36.一种设置在车辆中的接收器模块,在控制器区域网络(can)中接收广播信息,其特征在于,所述广播信息包括与can标识idc1相关联的帧和验证参数vd,从而所述验证参数vd定义为vd=mac(kc1,n||idc1||‘frame’),其中mac()是消息认证码函数、kc1是can标识密钥kc1、n是由广播模块设置的临时值、且‘frame’是在所述can上待传输的帧,所述接收器模块包括:
处理器;以及
所述处理器可读取的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时,使得所述处理器执行以下操作:
获取can标识密钥kc1和接收器临时值n’;
通过比较所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行校验检查,
所述接收器验证参数vrd定义为vrd=mac(kc1,n’||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述校验检查校验所接收的帧时,处理所接收的帧,其中
网关模块用于同步位于所述广播模块处的所述临时值n和位于所述接收器模块处的所述临时值n’。
37.一种设置在车辆中的网关模块,同步控制器区域网络(can)中模块的临时值,其特征在于,所述网关模块包括:处理器;以及
所述处理器可读取的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时,使得所述处理器执行以下操作:
生成所述临时值n;
使用所述临时值n生成临时帧;
在can上广播所述临时帧,使得当can上的每个模块接收所述临时帧时,每个模块用于:
使用所接收的临时帧在所述模块中接收和存储所述临时值。
38.根据权利要求27或28所述的广播模块,其特征在于,所述方案参数p包括本地时间t和与所述can标识idc1相关联的和计数器ctc1,且所述广播信息还包括所述方案参数p,从而所述广播模块包括:
指令指示所述处理器进行以下操作:
将所述计数器ctc1递增一,且使用所述本地时间t和所述计数器ctc1计算所述验证参数vd,所述验证参数vd定义为vd=mac(kc1,t||ctc1||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在所述can上待传输的所述帧。
39.一种设置在车辆中的接收器模块,在控制器区域网络(can)中接收广播信息,其特征在于,所述广播信息包括与can标识idc1相关联的帧、本地时间t和验证参数vd,从而所述验证参数vd定义为vd=mac(kc1,t||ctc1||idc1||‘frame’),其中mac()是消息认证码函数、kc1是can标识密钥kc1、ctc1是由广播模块设置的计数器ctc1、‘frame’是在所述can上待传输的帧,所述接收器模块包括:
处理器;以及
所述处理器可读取的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时,使得所述处理器执行以下操作:
获取所述can标识密钥kc1、接收器本地时间tr和与所述can标识idc1相关联的接收器计数器ct’c1;
根据所接收的本地时间t和所获取的接收器本地时间tr对所接收的帧的有效性进行第一校验检查;
当所述第一校验检查校验所接收的帧时,通过比较所述所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行第二校验检查,
接收器验证参数vrd定义为vrd=mac(kc1,t||(ct’c1+1)||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述第二校验检查校验所接收的帧时,将所述计数器ct’c1递增一且处理所接收的帧,其中
网关模块用于同步位于所述广播模块处的所述计数器ctc1与位于所述接收器模块处的所述计数器ct’c1。
40.根据权利要求27或28所述的广播模块,其特征在于,所述方案参数p包括与所述can标识idc1相关联的临时值n和计数器ctc1,从而所述广播模块包括:
指令指示所述处理器进行以下操作:
将所述计数器ctc1递增一,使用所述临时值n和计数器ctc1计算验证参数vd,所述验证参数vd定义为vd=mac(kc1,n||ctc1||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧。
41.一种设置在车辆中的接收器模块,在控制器区域网络(can)中接收广播信息,其特征在于,所述广播信息包括与can标识idc1相关联的帧和验证参数vd,所述验证参数vd定义为vd=mac(kc1,n||ctc1||idc1||‘frame’),其中mac()是消息认证码函数、n是由广播模块设置的临时值、ctc1是由所述广播模块设置的计数器ctc1、且‘frame’是在所述can上待传输的帧,所述接收器模块包括:
处理器;以及
所述处理器可读取的非瞬时性介质,所述非瞬时性介质存储指令,所述指令在由所述处理器执行时,使得所述处理器执行以下操作:
获取所述can标识密钥kc1、接收器临时值n’和与所述can标识idc1相关联的接收器计数器ct’c1;
通过比较所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行校验检查,
接收器验证参数vrd定义为vrd=mac(kc1,n’||(ct’c1+1)||idc1||‘frame’),mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述校验检查校验所接收的帧时,将所述计数器ct’c1递增一且处理所接收的帧,其中
网关模块用于广播位于所述广播模块的所述临时值n和位于所述接收器模块的所述临时值n’,并且同步位于所述广播模块的所述计数器ctc1和位于所述接收器模块的所述计数器ct’c1。
42.一种用于生成用于can网络中的控制器局域网(can)标识的分级树状结构的方法,所述方法使用设置在车辆中的密钥管理模块,其特征在于,所述方法包括:
根据can标识的功能性,将所述can的can标识组织成子集,其中每一子集排列为具有根节点的树状结构,所述根节点可表示所述子集的功能;
将can标识的所述子集排列至具有根节点nr的树状结构中,其中所述子集的根节点排列为根节点nr的子孙节点;以及
从所述根节点nr的子节点开始,设置所述根节点nr的密钥并计算所述树状结构中的每一层级中的每一节点的密钥,其中使用父节点的密钥和识别所述子节点的标识符计算所述树状结构中的子节点的密钥。
43.根据权利要求42所述的方法,其特征在于,所述计算所述树状结构中的每一层级中的每一节点的密钥包括:
对于所述树状结构中的每一子节点,
使用密钥生成函数(kgf())、所述子节点kp的父节点的密钥和识别所述子节点idc的标识符计算所述树状结构中的所述子节点的密钥kc,所述密钥kc定义为kc=kgf(kp,idc)。
44.根据权利要求42或43所述的方法,其特征在于,在所述设置所述根节点nr的密钥之前,所述方法包括以下步骤:
在所述根节点nr与所述子集中的一者的根节点之间选择性地插入至少一个中间节点,使得所述中间节点表示所述子集中的一者的所述根节点的祖先节点。
45.一种用于使用车辆中设置的广播模块将安全通信广播到控制器局域网(can)中的模块的方法,其特征在于,包括:
生成在所述can上待传输的帧,从而所述帧与从所述can标识中选择的can标识idc1相关联;
使用与所述can标识idc1节点的祖先节点相关联的祖先密钥k1以及与所述can标识idc1节点相关联的根节点路径标识符计算can标识密钥kc1,其中从密钥管理模块中检索所述祖先密钥k1,并且所述节点路径标识符包括分配至所述can标识idc1节点的值;
获取方案参数p且根据所述方案参数p、所述密钥kc1、所述can标识idc1和所述待传输的帧计算验证参数vd,方案参数p包括所述方案唯一的变量;以及
广播包括与所述can标识idc1相关联的所述帧和所述can上的所述验证参数vd的信息,使得所述can上具有包括所述can标识idc1的滤波器的接收器模块接收所述广播的信息,并使用所述接收到的验证参数vd校验所接收到的帧。
46.根据权利要求45所述的方法,其特征在于,所述使用与can标识idc1节点的祖先节点相关联的祖先密钥k1以及与can标识idc1节点相关联的所述根节点路径标识符计算can标识密钥kc1包括:
使用密钥生成函数(kgf())、can标识idc1和祖先密钥k1计算can标识密钥kc1,当祖先密钥k1与和can标识idc1相关联的节点的父节点相关联时以及当与can标识idc1节点相关联的所述根节点路径标识符包括所述can标识idc1时,所述密钥kc1定义为kc1=kgf(k1,idc1)。
47.根据权利要求45或46所述的方法,其特征在于,所述方案参数p包括本地时间t,所述广播信息还包括所述方案参数p,从而所述方法包括以下步骤:
使用所述本地时间t计算所述验证参数vd,所述验证参数vd定义为vd=mac(kc1,t||idc1||‘frame’),其中ma()是消息认证码函数,且‘frame’是在所述can上待传输的帧。
48.一种用于在控制器局域网(can)中接收广播信息的方法,所述广播信息包括与can标识idc1、本地时间t和验证参数vd相关联的帧,从而验证参数vd定义为vd=mac(kc1,t||idc1||‘frame’),其中mac()是消息认证码函数,kc1是can标识密钥kc1,且‘frame’是在can上广播的帧,所述用于使用车辆中设置的接收器模块的方法,其特征在于,包括:
获取can标识密钥kc1和接收器本地时间tr;
根据所接收的本地时间t和所获取的接收器本地时间tr,对所接收的帧的有效性进行第一校验检查;
当所述第一校验检查校验所接收的帧时,通过比较所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行第二校验检查,其中
接收器验证参数vrd定义为vd=mac(kc1,ctc1||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在所述can上待传输的帧;以及
当所述第二校验检查校验所接收的帧时,处理所接收的帧。
49.一种用于同步控制器局域网(can)中的模块的本地时间的方法,所述方法使用设置在车辆中的网关模块,其特征在于,包括:
获取网关本地时间tg;
使用所述can上的所有模块传输和接收的所述网关本地时间tg生成通用帧,使得当每个模块接收到所述通用帧时,每个模块都用于:
校验所接收的通用帧;以及
当对所接收的通用帧进行校验时,使用所述网关本地时间tg同步所述模块的本地时间。
50.根据权利要求45或46所述的方法,其特征在于,所述方案参数p包括与所述can标识idc1相关联的计数器ctc1,从而所述方法包括以下步骤:
将所述计数器ctc1递增一,使用所述计数器ctc1计算所述验证参数vd,其中所述验证参数vd定义为vd=mac(kc1,ctc1||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在所述can上待传输的帧。
51.一种用于在控制器局域网(can)中接收广播信息的方法,所述广播信息包括与can标识idc1相关联的帧和验证参数vd,从而所述验证参数vd定义为vd=mac(kc1,ctc1||idc1||‘frame’),其中mac()是消息认证码函数,kc1是can标识密钥kc1,ctc1是广播模块设置的计数器ctc1,且‘frame’是在所述can上待传输的帧,所述用于使用车辆中设置的接收器模块的方法,其特征在于,包括:
获取所述can标识密钥kc1和与所述can标识idc1相关联的接收器计数器ct’c1;
通过比较所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行校验检查,其中
接收器验证参数vrd定义为vrd=mac(kc1,(ct’c1+1)||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述校验检查校验所接收的帧时,将所述计数器ct’c1递增一并且处理所接收的帧,其中
网关模块用于同步位于所述广播模块的所述计数器ctc1和位于所述接收器模块的所述计数器ct’c1。
52.一种用于使控制器局域网(can)中的模块的计数器同步的方法,所述方法使用设置在车辆中的网关模块,其特征在于,包括:
获取与所述can标识idc1相关联的所述计数器ctc1;
使用所述计数器ctc1和所述can标识idc1生成计数器帧;以及
在所述can上广播所述计数器帧,使得当所述can上具有计数器的每个模块接收到所述计数器帧时,每个模块用于:
使用所接收的计数器帧同步所述模块中的计数器。
53.根据权利要求45或46所述的方法,其特征在于,所述参数p包括临时值n,从而所述方法包括以下步骤:
使用所述临时值n计算所述验证参数vd,所述验证参数vd定义为vd=mac(kc1,n||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在所述can上待传输的帧。
54.一种用于在控制器局域网(can)中接收广播信息的方法,所述广播信息包括与can标识idc1相关联的帧和验证参数vd,从而所述验证参数vd定义为vd=mac(kc1,n||idc1||‘frame’),其中mac()是消息认证码函数,kc1是can标识密钥kc1,n是广播模块设置的临时值,且‘frame’是在所述can上待传输的帧,所述用于使用车辆中设置的接收器模块的方法,其特征在于,包括:
获取can标识密钥kc1和接收器临时值n’;
通过比较所接收的验证参数vd与接收器验证参数vrd,对所接收的帧的有效性进行校验检查,其中
接收器验证参数vrd定义为vrd=mac(kc1,n’||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在所述can上待传输的帧;以及
当所述校验检查校验所述所接收的帧时,处理所接收的帧,其中
网关模块用于同步位于所述广播模块的所述临时值n和位于所述接收器模块的所述临时值n’。
55.一种用于同步控制器局域网(can)中的模块的临时值的方法,所述方法使用设置在车辆中的网关模块,其特征在于,包括:
生成所述临时值n;
使用所述临时值n生成临时帧;
在所述can上广播所述临时帧,使得当can上的每个模块接收所述临时帧时,每个模块用于:
使用所接收的临时帧在所述模块中接收和存储所述临时值。
56.根据权利要求45或46所述的方法,其特征在于,所述参数p包括本地时间t和与所述can标识idc1相关联的计数器ctc1,并且所述广播信息还包括所述参数p,从而所述方法包括以下步骤:
将所述计数器ctc1递增一,且使用所述本地时间t和所述计数器ctc1计算所述验证参数vd,其中所述验证参数vd定义为vd=mac(kc1,t||ctc1||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在所述can上待传输的帧。
57.一种用于在控制器局域网(can)中接收广播信息的方法,所述广播信息包括与can标识idc1相关联的帧、本地时间t以及验证参数vd,从而所述验证参数vd定义为vd=mac(kc1,t||ctc1||idc1||‘frame’),其中mac()是消息认证码函数,kc1是can标识密钥kc1,ctc1是广播模块设置的计数器ctc1,且‘frame’是在所述can上待传输的帧,所述用于使用车辆中设置的接收器模块的方法,其特征在于,包括:
获取所述can标识密钥kc1、接收器本地时间tr和与所述can标识idc1相关联的接收器计数器ct’c1;
根据所接收的本地时间t和所获取的接收器本地时间tr,对所接收的帧的有效性进行第一校验检查;
当所述第一校验检查校验所接收的帧时,通过比较所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行第二校验检查,其中
接收器验证参数vrd定义为vrd=mac(kc1,t||(ct’c1+1)||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述第二校验检查校验所接收的帧时,将所述计数器ct’c1递增一且处理所述所接收的帧,其中
网关模块用于同步位于所述广播模块的所述计数器ctc1和位于所述接收器模块的所述计数器ct’c1。
58.根据权利要求45或46所述的方法,其特征在于,所述参数p包括临时值n和与所述can标识idc1相关联的计数器ctc1,所述方法包括以下步骤:
将所述计数器ctc1递增一,使用所述临时值n和所述计数器ctc1来计算所述验证参数vd,所述验证参数vd定义为vd=mac(kc1,n||ctc1||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在所述can上待传输的帧。
59.一种用于在控制器局域网(can)中接收广播信息的方法,所述广播信息包括与can标识idc1相关联的帧和验证参数vd,从而所述验证参数vd定义为vd=mac(kc1,n||ctc1||idc1||‘frame’),其中mac()是消息认证码函数,n是由广播模块设置的临时值,ctc1是广播模块设置的计数器ctc1,且‘frame’是在所述can上待传输的帧,所述用于使用车辆中设置的接收器模块的方法,其特征在于,包括:
获取所述can标识密钥kc1、接收器临时值n’和与所述can标识idc1相关联的接收器计数器ct’c1;
通过比较所接收的验证参数vd与接收器验证参数vrd对所接收的帧的有效性进行校验检查,其中
接收器验证参数vrd定义为vrd=mac(kc1,n’||(ct’c1+1)||idc1||‘frame’),其中mac()是消息认证码函数,且‘frame’是在can上待传输的帧;以及
当所述校验检查校验所接收的帧时,将所述计数器ct’c1递增一且处理所述所接收的帧,其中
网关模块用于广播位于所述广播模块的所述临时值n和位于所述接收器模块的所述临时值n’,并且同步位于所述广播模块的计数器ctc1和位于所述接收器模块的所述计数器ct’c1。