1.一种基于密钥预分配的汽车ECU完整性验证和加密通信方法,其特征在于,所述基于密钥预分配的汽车ECU完整性验证和加密通信方法使用KPS为每个ECU提供唯一会话密钥,通过比对ECU固件哈希值进行身份验证,判断ECU是否被篡改,采用本地和远程相结合的两步验证机制,安全验证包括汽车出厂初始化、汽车开机自检。
2.如权利要求1所述的基于密钥预分配的汽车ECU完整性验证和加密通信方法,其特征在于,基于密钥预分配的汽车ECU完整性验证和加密通信方法的安全框架由管理员、主ECU、普通ECU组成;
TSP作为管理员,负责对汽车ECU进行远程验证,并分发KPS密钥算法给每个ECU,厂商预定一个高性能ECU作为主ECU,用它对其他ECU进行本地验证,通过比对ECU固件哈希值来判断其是否被篡改,通信过程用对称加密算法加密,密钥由KPS生成;
TSP保存着:各型号汽车拥有的固件版本列表及其对应的固件哈希值,存储为(type,version)和(version,H(ROM));与主和普通ECU的共享密钥Ky;KPS密钥矩阵Aij生成器,为每辆车生成随机矩阵;
主ECU保存着:主ECU的序列号SM;TSP的序列号Sc;与TSP的共享密钥的Km;本汽车所有合法ECU固件哈希值列表;KPS密钥生成算法Fm(y);
普通ECU保存着:ECU的序列号Sx;TSP的序列号Sc;与TSP的共享密钥Kx;合法的主ECU固件各版本哈希值列表(version,H(ROMm));KPS密钥生成算法Fx(y)。
3.如权利要求1所述的基于密钥预分配的汽车ECU完整性验证和加密通信方法,其特征在于,每个新ECU的安全模块里存有序列号S、密钥K、TSP的序列号,汽车出厂前,TSP将对ECU进行初始化,分发密钥算法,步骤如下:(1)主或普通ECU发送序列号S给TSP,TSP查询数据库,取出对应密钥K,同时生成随机数R,用作会话密钥;
(2)TSP产生随机数R和自己的序列号Sc合并加密后的密文Ek(R||Sc)发给ECU,ECU解密后将Sc和预存的进行比对,若符合则通过验证,通信双方身份验证完成;
(3)ECU将固件哈希值与车辆序列号Sv合并加密后的密文Ek(Sv||H(ROM))发送给TSP;
(4)TSP解密消息,将H(ROM)和预存进行比对,若符合则通过验证;之后,TSP计算KPS矩阵Aij,代入密钥算法F,将其与该型号车辆所有ECU固件哈希值列表合并加密后的密文ER(F(y)||H(ROM))发给ECU;ECU解密消息后保存至安全模块,TSP对ECU初始化完成。
4.如权利要求1所述的基于密钥预分配的汽车ECU完整性验证和加密通信方法,其特征在于,汽车开机自检时,主ECU对其他ECU进行本地验证,检测固件是否被篡改,验证步骤如下:步骤一、主ECU发送质询信号:生成随机数r1、r2,广播r1给每个普通ECU;
步骤二、普通ECU回答质询,返回固件哈希值:普通ECU生成随机数r,计算固件哈希值,用FX(Sm)计算会话密钥,将合并加密后的密文 发送给主ECU;
步骤三、主ECU检测固件是否被篡改,返回检测结果:主ECU用FM(Sx)计算解密密钥,将解密得到的H(ROM)x与预存比对,若符合则固件未被篡改,之后主ECU将r、r2合并加密后的密文发送给普通ECU,普通ECU解密消息,由返回r可得知验证通过。
5.如权利要求1所述的基于密钥预分配的汽车ECU完整性验证和加密通信方法,其特征在于,经过初始化,ECU获得密钥生成算法Fx(y),通过主ECU验证后,ECU获得随机数r2,每个通信消息都附上时间戳,最终在CAN总线上传送的密文为