利索能及
我要发布
收藏
专利号: 202010111994X
申请人: 江苏大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于身份的车内外网络三级密钥协商方法,其特征在于,包括以下步骤:

根据车内节点是否具有外部通信功能进行划分,分为两种,一种为具有外部通信功能的车载通信单元CU,另一种为不具有外部通信功能的电子控制单元ECU;

根据车内外节点的安全威胁等级建立一种数据访问控制机制,即采用三级密钥,其中,第一级密钥为最高级密钥用于电子控制单元ECU之间的通信以及ECU与网关ECU即GECU之间的通信,第二级密钥用于车载通信单元CU之间以及CU与ECU之间的通信,第三级密钥用于CU与外部设备ED之间的通信。

2.根据权利要求1所述的一种基于身份的车内外网络三级密钥协商方法,其特征在于,车内外节点的安全威胁,根据远程攻击机理,车内电子控制单元ECU为第一保护对象,为最高级别,其次是车载通信单元CU,最后为车外的外部设备ED。

3.根据权利要求1所述的一种基于身份的车内外网络三级密钥协商方法,其特征在于,所述的三级密钥,每级密钥包含5个子密钥,其中,第一级密钥与第二级密钥由密钥派生函数HKDF和密钥种子seedxi生成即HKDF(seedxi)=AKxi||UKxi||EKxi.1||EKxi.2||EKxi.3,下标x为f或s,f为first,s为second,下标i为第i次,第三级密钥的密钥种子由哈希函数H()、ED的身份IDED和当前第二级密钥种子seeds生成即seedEDi=H(seeds||IDED),第三级密钥由密钥派生函数HKDF和第三级密钥的密钥种子seedEDi生成即HKDF(seedEDi)=AKEDi||UKEDi||EKEDi.1||EKEDi.2||EKEDi.3,分别为一个认证密钥AKxi,一个密钥更新密钥UKxi和三个加密子密钥EKxi.j,j为第j个加密子密钥。

4.根据权利要求1所述的一种基于身份的车内外网络三级密钥协商方法,其特征在于,还包括:当外部设备ED与CU1初次建立通信时,进行身份认证和密钥协商,在身份认证之后,CU1会在车内网络中广播外部设备ED的身份IDED,以便外部设备ED与同车载的其他通信单元CU2直接生成第三级密钥而无需身份认证及密钥协商;其中CU1表示为ED与车载端建立的第一个CU,依次类推,即CU2为ED与车载端建立的第二个CU。

5.根据权利要求3所述的一种基于身份的车内外网络三级密钥协商方法,其特征在于,还包括:当外部设备ED与车载通信单元CU更换密钥时,执行以下协议,包括两轮消息:步骤1.1:如果j∈{1,2},CU生成 并将ED

与CU双方的子密钥更换消息MsgEDsubk(REQEDsubk||HMAC(·))发送给ED,然后更新CTRCU和j。如果j=3,CU选择生成子密钥种子seedEDi+1=H(seeds||IDED),其中seeds为当前二级密钥种子,然后CU用更新密钥UKEDi对 加密生成密文CED并生成对应的HMAC(·),最后将第三级主密钥种子更新消息MsgEDK(REQEDK||CED||HMAC(·))发送给ED。其中,HMAC(·)为哈希MAC值, 为使用ED的认证密钥加密的哈希函数值,Msg意为消息,subk意为子密钥更换,CTRCU为CU的消息计数器值,REQEDsubk意为ED的子密钥更换请求,IDCU为CU的身份ID标识符,REQEDK意为ED的第三级密钥更换请求。

步骤1.2:收到子密钥更换消息MsgEDsubk后,ED首先验证消息认证码,若通过验证则将EKEDi.j+1作为下一个会话密钥并更新CTRCU。收到第三级主密钥种子更新消息MsgEDK后,ED首先验证消息认证码,若通过验证则用更新密钥UKEDi对CED解密得到seedEDi+1并用密钥派生函数HKDF生成第三级密钥,最后更新CTRCU;其中,EKEDi.j+1为当前密钥中第j+1个加密子密钥,UKEDi为ED的当前密钥更新密钥。

6.根据权利要求3所述的一种基于身份的车内外网络三级密钥协商方法,其特征在于,还包括:当车内车载通信单元CU与ECU更换密钥时,执行以下协议,包括两轮消息:步骤2.1:如果j∈{1,2},GECU生成 并广播

第一二级密钥的更换子密钥消息MsgSubk(REQSubk||HMAC(·)),然后使得CTRGECU和j加1。如果j=3,GECU选择一个随机一级密钥种子seedfi+1和一个随机二级密钥种子seedsi+1,用更新密钥UKfi和UKsi分别加密成 和 并生成对应的HMAC(·),最后广播第一二级密钥的更新消息MsgK(REQK||CECU||CCU||HMAC(·))并更新CTRGECU。其中,K意为密钥更换,CTRGECU为GECU的消息计数器值, 为使用第二级密钥的认证子密钥加密的哈希函数值,REQSubk为第一二级密钥的加密子密钥更新请求,UKfi意为第一级密钥的密钥更新密钥,UKsi意为第二级密钥的密钥更新密钥,CECU意为ECU需要解密的密文, 意为使用UKfi加密的加密函数,CCU意为CU需要解密的密文, 意为使用UKsi加密的加密函数,MsgK意为第一二级密钥的更新消息,REQK为第一二级密钥更新请求。

步骤2.2:收到MsgSubk后,所有CU和ECU首先验证消息认证码,若通过验证则将EKsi.j+1和EKfi.j+1作为下一个会话密钥并更新CTRGECU,收到MsgK后,所有CU和ECU首先验证消息认证码,若通过验证,ECU解密CECU获取seedfi+1||seedsi+1并用密钥派生函数HKDF生成第一级密钥和第二级密钥;CU解密CED获取seedsi+1并用密钥派生函数HKDF生成第二级密钥。最后更新CTRGECU。其中,EKsi.j+1和EKfi.j+1分别为当前第二级密钥和第一级密钥中第j+1个加密子密钥。