首页 / 专利库 / 制造过程 / 汽车制造商 / 一种基于ECU身份隐藏的车内网络一次一密通信方法

一种基于ECU身份隐藏的车内网络一次一密通信方法

阅读:262发布:2020-08-14

专利汇可以提供一种基于ECU身份隐藏的车内网络一次一密通信方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于ECU身份隐藏的车内网络一次一密通信方法,包括以下步骤:1、建立系统模型;2、ECU在进行一次一密加密之前在网关 数据库 中注册信息;3、智能ECU对车辆的操控行为为媒介,与车载电源系统之间产生耦合作用,使得车载电源 电压 变化具有 马 尔科夫特性,生成真随机数,作为会话密钥;4、需要通信的ECU之间会话密钥定时更新,防止重放攻击;5、根据得到的会话密钥,利用数据库中ECU的属性,建立基于ECU密文属性的一次一密数据通信,保证了车内ECU的安全通信。本发明利用车内 电源电压 的随机特性生成会话密钥,有效避免了篡改、伪造等信息安全问题;将车速单元与 方向盘 组合在一起,500ms周期动态生成车速,作为ECU的会话密钥,防止重放攻击。,下面是一种基于ECU身份隐藏的车内网络一次一密通信方法专利的具体信息内容。

1.一种基于ECU身份隐藏的车内网络一次一密通信方法,其特征在于,包括如下步骤:
步骤1:建立系统模型:包括电子控制单元ECU、网关中的数据库、车内电源、发电机以及真随机数生成模
步骤2:ECU在进行一次一密加密之前在网关数据库中注册信息,车辆点火时,ECU在安全存储中加载公私密钥对,利用ELGamal算法产生该密钥对,ECU隐藏私钥,将公钥存放在数据库的目录中,使得需要通信的ECU能够查询;
步骤3:智能ECU以车辆的操控行为为媒介,与车内电源系统之间产生耦合作用,使得车内电源电压变化具有尔科夫特性,将得到的电压值作为真随机数,生成会话密钥;
步骤4:周期性动态地采集车速,作为ECU下一次相互通信的会话密钥,防止重放攻击;
步骤5:根据得到的会话密钥,利用数据库中ECU的属性,建立基于ECU密文属性的一次一密数据通信,保证车内ECU的安全通信;
所述步骤3的实现包括:
步骤3.1:利用车辆行驶过程中微观交通环境、外部智能网联汽车环境的随机激励影响,对车内ECU、交通环境影响下的车内电源进行监测,采集电池电压,输出得到真随机数序列;将第一个真随机数rand1作为步骤3.2的会话密钥key1;
步骤3.2:ECUA向数据库发送与ECUB通信的请求消息,并用ECUB的公钥PKECUB加密后发送到ECUB;ECUB验证 是否为ECUA的公钥;如果验证成功,则发出确认信息进行步骤3.3,否则发出拒绝信息,密钥交换结束;ECUA利用本步骤3.2所述的方法对ECUB的公钥验证;
步骤3.3:通信的ECU根据各自的序列号、出厂时间以及标识号,利用哈希函数各自产生散列值 和 并利用对方的公钥加密后发送给对方;
步骤3.4:通信的ECU之间用各自的私钥解密对方发送的信息,通过对车内电源的电压值的随机数rand2进行hash运算得到新的散列值 运算后的结果作为会话密钥key2;
步骤3.5:双方验证随机数加密结果的一致性,双方分别用key2加密rand2后传送给对方,如果用key1解密后得到的rand1和先前的rand2相同,表明双方的会话密钥生成成功;否则,只要任何一方生成会话密钥失败,就返回到步骤3.1重新进行会话密钥的生成过程。
2.根据权利要求1所述的一种基于ECU身份隐藏的车内网络一次一密通信方法,其特征在于,所述步骤2的实现包括:
步骤2.1:车辆启动时,ECU向网关中的数据库发起注册申请,将车辆制造商在其上面标志的序列号利用数据库的私钥加密之后作为公钥上传到数据库中并等待确认;
步骤2.2:数据库用自己的私钥SKDB解密ECU上传的序列号,查询公钥集合,如果没找到相应的序列号,允许其注册,并返回给其确认信息;否则拒绝注册;
步骤2.3:ECU收到确认信息后,使用ELGamal算法生成一个公私密钥对,将私钥SKECU保存在安全存储中,将公钥PKECU用数据库的公钥PKDB加密上传到数据库中;
步骤2.4:数据库将序列号和公钥PKECU存储于其公钥集合中,用ECU的公钥PKECU加密后发送,保证信息的机密性;
步骤2.5:ECU收到消息后用SKECU解密,若解密得到的信息和自己发送的信息相同,则注册成功并结束;否则返回步骤2.1。
3.根据权利要求1所述的一种基于ECU身份隐藏的车内网络一次一密通信方法,其特征在于,所述步骤4的实现包括:
步骤4.1:以500ms周期动态地记录下车速值;
步骤4.2:通过外部智能网联汽车环境的激励,考虑车速对车内电源电压的影响,将第一个周期的车速值作为初始随机数rands,并作为真随机序列的第一个值;
步骤4.3:在步骤4.2之后,利用车速rands对步骤3得到的会话密钥加密,得到随车速动态变化的加密值,使得随机数不可预测;
步骤4.4:收到加密结果的ECU利用数据库中发给它的车速信息对其解密,得到的解密密钥与步骤3.1生成的会话密钥满足马尔可夫特性。
4.根据权利要求1所述的一种基于ECU身份隐藏的车内网络一次一密通信方法,其特征在于,所述步骤5的实现包括:
步骤5.1:ECUA使用祖冲之算法,利用车内电源电压生成的会话密钥key1,对车内ECU通信的隐私数据进行加密得到密文;
步骤5.2:基于ECU属性的密文通过CAN总线发送给ECUB,ECUB使用key2对收到的密文进行解密,这个过程同样是使用祖冲之算法;ECUB向ECUA发送信息的过程同步骤5.1到5.2一样;
步骤5.3:针对ECUA和ECUB之间的通信信道会遭到窃听,利用步骤4的密钥更新方法,随机生成会话密钥;
步骤5.4:将得到的会话密钥加入真随机数序列,并对车辆进行随机波动电能补充,作用于蓄电池,作为ECU通信的会话密钥。
5.根据权利要求1所述的一种基于ECU身份隐藏的车内网络一次一密通信方法,其特征在于,所述方法还包括:对人、交通环境和车内电控系统影响下的车内电源系统进行监测,采集蓄电池电压;并对采集的蓄电池电压进行分析和处理,去掉相同的电压值,将处理后的电压值作为真随机数生成算法的输入参数,输出得到真随机数序列,实现对车内ECU隐私数据信息的保护。
6.根据权利要求1所述的一种基于ECU身份隐藏的车内网络一次一密通信方法,其特征在于,步骤4中所述周期为500ms。

说明书全文

一种基于ECU身份隐藏的车内网络一次一密通信方法

技术领域

[0001] 本发明涉及智能网联汽车、车内网、一次一密等领域,尤其涉及车内电子控制单元的安全通信领域。

背景技术

[0002] 2013年以来特斯拉、宝、通用、克莱斯等国外汽车巨头率先推出了智能网联汽车的雏形产品,但随之发生了一系列针对汽车智能网联系统的破解和攻击事件。2013年Charlie Miller&CHris Valasek通过车载OBD接口破解了丰田普锐斯;2014年,宝马公司因其Connected Drive系统存在安全漏洞,召回220万辆汽车;2015年来自于卡内基梅隆大学和Uber公司合作的先进技术研究中心的信息安全专家Charlie Miller和CHris Valasek发布了12款智能网联车型的信息安全报告,并公布了信息安全攻击的细节:通过切诺基的联网娱乐系统侵入其电子系统,完成了行驶速度、空调雨刮器、电台等方面内容的远程控制。同年360公司率先宣布破解了Tesla汽车远程控制功能以及毫米波雷达系统,接着受比亚迪公司委托对比亚迪汽车服务、遥控驾驶功能等功能进行了信息安全攻防测试。2016年日产LEAF汽车API遭泄露,黑客可远程控制车辆。正如清华大学李克强教授在解读工信部发布的“智能网联汽车技术发展路线图”时所说:“信息安全技术是智能网联汽车成功与否的重要因素之一”。
[0003] 车内网络ECU节点间广播通信方式难以满足智能网联汽车环境下的安全需求,为了保证智能网联汽车环境下车内网络的通信安全,国内外专家学者在车内网络广播通信协议的安全性方面做了大量的研究,但很多研究中车内网络ECU节点间以非一次一密的加密方式进行信息交互,不可避免的带来车内信息泄露及ECU节点身份假冒险的增加。针对此问题,本方案将基于车内网络电源系统的真随机特性,建立基于ECU属性的一次一密车载通信方法,对车内网络的敏感信息进行有效保护。

发明内容

[0004] 为解决上述情况,本发明提出了一种更全面的安全方案,在会话密钥的生成过程中结合车辆受外部环境影响的随机特性考虑密钥更新,满足真随机的要求,克服以上的缺点。本发明的目的在于,提出一种基于ECU身份隐藏的车内网络一次一密通信方法,用以解决车内网络中ECU的隐私数据信息被篡改、假冒等安全问题。
[0005] 为了实现上述目的,本发明的技术方案为:
[0006] 一种基于ECU身份隐藏的车内网络一次一密通信方法,包括以下步骤:(1)建立系统模型:包括电子控制单元ECU、网关中的数据库、车内电源(引擎/动电源等)、发电机以及真随机数生成模;(2)ECU(电子控制单元)在进行一次一密加密之前在网关数据库中注册信息,车辆点火时,ECU在安全存储中加载公私密钥对,利用ELGamal算法产生该密钥对,ECU隐藏私钥,而将公钥存放在数据库的目录中,使得需要通信的ECU能够查询;(3)智能ECU以车辆的操控行为为媒介,与车内电源系统之间产生耦合作用,使得车内电源电压变化具有马尔科夫特性,将得到的电压值作为真随机数,生成会话密钥;(4)将车速与方向盘组合在一起,500ms周期动态生成车速,作为ECU下一次相互通信的会话密钥,防止重放攻击;(5)根据得到的会话密钥,利用数据库中ECU的属性,建立基于ECU密文属性的一次一密数据通信,保证了车内ECU的安全通信。
[0007] 进一步,所述步骤(2)ECU(电子控制单元)在进行一次一密加密之前在网关数据库中注册信息,车辆点火时,ECU在安全存储中加载公私密钥对,利用ELGamal算法产生该密钥对,ECU隐藏私钥,而将公钥存放在数据库的目录中,使得需要通信的ECU能够查询;其步骤如下:
[0008] 步骤2.1:车辆启动时,ECU向网关中的数据库发起注册申请,将车辆制造商在其上面标志的序列号利用数据库的私钥加密之后作为公钥上传到数据库中并等待确认;
[0009] 步骤2.2:数据库用自己的私钥SKDB解密ECU上传的序列号,查询公钥集合,如果没找到相应的序列号,允许其注册,并返回给其确认信息;否则拒绝注册;
[0010] 步骤2.3:ECU收到确认信息后,将使用ELGamal算法生成一个公私密钥对,将私钥SKECU保存在安全存储中,将公钥PKECU用数据库的公钥PKDB加密上传到数据库中;
[0011] 步骤2.4:数据库将序列号和公钥PKECU存储于其公钥集合中,用ECU的公钥PKECU加密后发送,保证信息的机密性;
[0012] 步骤2.5:ECU收到消息后用SKECU解密,若解密得到的信息和自己发送的信息相同,则注册成功并结束。否则返回步骤2.1。
[0013] 进一步,所述步骤(3)智能ECU对车辆的操控行为为媒介,与车内电源系统之间产生耦合作用,使得车内电源电压变化具有马尔科夫特性,生成真随机数,作为会话密钥;假设通信的一方为ECUA,另一方为ECUB;其步骤如下:
[0014] 步骤3.1:利用车辆行驶过程中微观交通环境、外部网联环境的随机激励影响,对车内ECU、交通环境影响下的车内电源进行监测,采集电池电压,输出得到真随机数序列;将第一个真随机数rand1作为步骤3.2的会话密钥key1;
[0015] 步骤3.2:ECUA向数据库发送与ECUB通信的请求消息,并用ECUB的公钥 加密后发送到ECUB。ECUB验证 是否为ECUA的公钥。如果验证成功,则发出确认信息进行步骤3.3,否则发出拒绝信息,密钥交换结束。ECUA利用本步骤3.2所述的方法对ECUB的公钥验证;
[0016] 步骤3.3:通信的ECU根据各自的序列号、出厂时间以及标识号,利用哈希函数各自产生散列值 和 并利用对方的公钥加密后发送给对方;
[0017] 步骤3.4:通信的ECU之间用各自的私钥解密对方发送的信息,通过对车内电源的电压值的随机数rand2进行hash运算得到新的散列值 运算后的结果作为会话密钥key2;
[0018] 步骤3.5:双方验证随机数加密结果的一致性,双方分别用key2加密rand2后传送给对方,如果用key1解密后得到的rand1和先前的rand2相同,表明双方的会话密钥生成成功。否则,只要任何一方生成会话密钥失败,就要回到步骤3.1重新进行会话密钥的生成过程。
[0019] 进一步,所述步骤(4)将车速与方向盘组合在一起,500ms周期动态生成车速,作为ECU下一次相互通信的会话密钥,防止重放攻击;其步骤如下:第一,车内ECU密钥更新阶段,其步骤如下:
[0020] 步骤4.1:以500ms周期动态地记录下车速值;
[0021] 步骤4.2:通过外部智能网联汽车环境的激励,考虑车速对车内电源电压的影响,将第一个周期的车速值作为初始随机数rands,并作为真随机序列的第一个值;
[0022] 步骤4.3:在步骤4.2之后,利用车速rands对步骤(3)得到的会话密钥加密,得到随车速动态变化的加密值,使得随机数不可预测;
[0023] 步骤4.4:收到加密结果的ECU利用数据库中发给它的车速信息对其解密,与第一次得到的会话密钥满足马尔可夫特性。
[0024] 进一步,所述步骤(5)根据得到的会话密钥,利用数据库中ECU的属性,建立基于ECU密文属性的一次一密数据通信,保证了车内ECU的安全通信,其步骤如下:
[0025] 步骤5.1:ECUA使用祖冲之算法,利用车内电源电压生成的会话密钥key1,对车内ECU通信的隐私数据进行加密得到密文;
[0026] 步骤5.2:基于ECU属性的密文通过CAN总线发送给ECUB,ECUB使用key2对收到的密文进行解密,这个过程同样是使用祖冲之算法。ECUB向ECUA发送信息的过程同步骤5.1到5.2一样;
[0027] 步骤5.3:由于ECUA和ECUB之间的通信信道可能会遭到窃听,利用步骤(4)的密钥更新方法,随机生成会话密钥;
[0028] 步骤5.4:将得到的会话密钥加入真随机数序列,并对车辆进行随机波动电能补充,作用于蓄电池,作为ECU通信的会话密钥。
[0029] 进一步,道路交通环境的随机变化(路况、他车行为等)和外部网络环境的随机信号(上传、下载、阻塞等)共同作用于智能网联汽车部分,以智能单元对车辆的操控行为为媒介,与车内电源系统之间产生耦合作用,使得车内电源电压变化具有马尔科夫特性,满足真随机数生成要求,有效的保证了车内ECU的安全通信。
[0030] 进一步,密钥更新部分考虑到了一次一密中会话密钥的更新,并且会话密钥是随机生成的,彼此没有关联,即rand1,rand2,rands均是不同的值。
[0031] 进一步,对人、交通环境和车内电控系统影响下的车内电源系统进行监测,采集蓄电池电压;并对采集的蓄电池电压进行分析和处理,去掉相同的电压值,将处理后的结果作为真随机数生成算法的输入参数,输出得到真随机数序列,实现了对车内ECU隐私数据信息的保护。
[0032] 本文提出一种基于ECU身份隐藏的车内网络一次一密通信方法,该方法有以下有益效果:
[0033] 1)ECU在安全存储中加载公私密钥对,利用ELGamal算法产生该密钥对,ECU隐藏私钥,而将公钥存放在数据库的目录中,使得需要通信的ECU能够查询,防止ECU身份被篡改。
[0034] 2)将车速与方向盘组合在一起,500ms周期动态生成车速,作为ECU下一次相互通信的会话密钥,防止重放攻击。
[0035] 3)密钥更新部分考虑到了一次一密中会话密钥的更新,并且会话密钥是从随机生成的,彼此没有关联,即rand1,rand2,rands均是不同的值。
[0036] 4)利用数据库中ECU的属性,建立基于ECU密文属性的一次一密数据通信,保证了车内ECU隐私数据信息的安全。
[0037] 5)道路交通环境的随机变化(路况、他车行为等)和外部网络环境的随机信号(上传、下载、阻塞等)共同作用于智能网联汽车部分,以智能单元对车辆的操控行为为媒介,与车内电源系统之间产生耦合作用,使得车内电源电压变化具有马尔科夫特性,满足真随机数生成要求,有效的保证了车内ECU的安全通信。附图说明
[0038] 图1为本发明的总体设计图;
[0039] 图2为本发明中ECU注册流图;
[0040] 图3为本发明中ECU会话密钥流图;
[0041] 图4为本发明中的会话密钥更新图。

具体实施方式

[0042] 下面将结合附图实施例对本发明的技术方案进行清楚、完整地描述。本发明的方法以现有车内电源系统、若干电子控制单元ECU、车内通信单元以及网关中的数据库为应用系统基础,如图1所示,主要包括以下五部分,
[0043] 本发明的方法主要包括以下五部分(本发明中的所有符号见表1):
[0044] 表1主要符号定义
[0045]
[0046] 1、建立系统模型
[0047] 包括电子控制单元ECU、网关中的数据库、车内电源(引擎/动力电源等)以及真随机数生成模块,交通环境和网络环境通过对车内环境感知单元、智能控制单元、智能驾驶决策单元等的激励,随机控制车内电源系统,在没电的情况下蓄电池电能补充,作为随机波动能量作用于发电机,然后再反作用于蓄电池,最后通过一个真随机生成模块,采集蓄电池不同情况下的电压,作为随机种子
[0048] 2、ECU(电子控制单元)在网关数据库中注册信息
[0049] ECU(电子控制单元)在进行一次一密加密之前在网关数据库中注册信息,车辆点火时,ECU在安全存储中加载公私密钥对,利用ELGamal算法产生该密钥对,ECU隐藏私钥,而将公钥存放在数据库的目录中,使得需要通信的ECU能够查询;过程如图2所示,具体步骤如下:
[0050] 第一步:车辆启动时,ECU向网关中的数据库发起注册申请,将车辆制造商在其上面标志的序列号number利用数据库的私钥SKDB加密之后作为公钥PKECU上传到数据库中并等待其确认;
[0051] 第二步:数据库用自己的私钥SKDB解密ECU上传的序列号,查询公钥集合,如果没找到相应的序列号,允许其注册,并返回给其确认信息accept;否则拒绝注册,返回第一步,数据库中的公钥集合只允许有一个序列号,不能相同,与平常在系统中注册类似,不允许有两个及以上相同的用户名存在;
[0052] 第三步:ECU收到确认信息后,将使用ELGamal算法生成一个公私密钥对,将私钥SKECU保存在安全存储中,将公钥PKECU用数据库的公钥PKDB加密上传到数据库中;
[0053] 第四步:数据库将序列号和公钥PKECU存储于其公钥集合中,用ECU的公钥PKECU加密后发送,保证信息的机密性;
[0054] 第五步:ECU收到消息后用SKECU解密,若解密得到的信息和自己发送的信息相同,则注册成功并结束。否则返回第一步。
[0055] 3、智能ECU对车辆操控,生成真随机数,作为会话密钥
[0056] 智能ECU对车辆的操控行为为媒介,与车内电源系统之间产生耦合作用,使得车内电源电压变化具有马尔科夫特性,生成真随机数,作为会话密钥;假设通信的一方为ECUA,另一方为ECUB,过程如图3所示,具体步骤如下:
[0057] 第一步:利用车辆行驶过程中微观交通环境、外部网联环境的随机激励影响,对车内ECU、交通环境影响下的车内电源进行监测,采集蓄电池电压,输出得到真随机数序列;将第一个真随机数rand1作为第二步的会话密钥key1;
[0058] 第二步:ECUA向数据库发送与ECUB通信的请求消息,并用ECUB的公钥 加密后发送到ECUB。ECUB验证 是否为ECUA的公钥。如果数据库验证成功,则发出确认信息accept进行第三步,否则发出拒绝信息refuse,密钥交换结束。ECUA利用上述方法对ECUB的公钥验证;
[0059] 第三步:通信的ECU根据各自的序列号、出厂时间等信息,利用哈希函数各自产生散列值 和 并利用对方的公钥加密后发送给对方;
[0060] 第四步:通信的ECU之间用各自的私钥解密对方发送的信息,通过对车内电源的电压值的随机数rand2进行hash运算得到新的散列值 运算后的结果作为会话密钥key2;
[0061] 第五步:双方验证随机数加密结果的一致性,双方分别用key2加密rand2后传送给对方,如果用key1解密后得到的rand1和先前的rand2相同,表明双方的会话密钥生成成功。否则,只要任何一方生成会话密钥失败,就要回到第一步重新进行会话密钥的生成过程。4、ECU之间会话密钥定时更新
[0062] 将车速与方向盘组合在一起,500ms周期动态生成车速,作为ECU下一次相互通信的会话密钥,防止重放攻击,密钥更新阶段如图4所示,具体步骤如下:
[0063] 第一步:观察不同交通环境下车速和方向盘的关系,如急转弯时的车速,并且根据地面摩擦力的不同,500ms周期动态的记录下车速值;
[0064] 第二步:通过外部网联环境的激励,将车速值作用于车内电源电压,第一个周期的车速值作为初始随机数rands,之前的电源电压序列左移一位,使得初始随机数作为真随机序列的第一个值,;
[0065] 第三步:在第二步之后,利用车速rands对步骤3得到的会话加密进行移位操作,使得第二次通信的会话密钥与第一次会话密钥无关,满足马尔可夫的真随机特性;
[0066] 第四步:将车速作为密钥对车内通信的隐私数据加密,收到加密结果的ECU利用数据库中发给它的车速信息对其解密。
[0067] 5、应用数据库中ECU的属性,建立基于ECU密文属性的一次一密数据通信[0068] 根据得到的会话密钥,利用数据库中ECU的属性,建立基于ECU密文属性的一次一密数据通信,保证了车内ECU的安全通信,其步骤如下:
[0069] 第一步:ECUA使用祖冲之算法,利用车内电源电压生成的会话密钥key1,对车内ECU通信的隐私数据进行加密得到密文;
[0070] 第二步:基于ECU属性的密文通过CAN总线发送给ECUB,ECUB使用key2对收到的密文进行解密,这个过程同样是使用祖冲之算法。ECUB向ECUA发送信息的过程同第一步到第二步一样;
[0071] 第三步:由于ECUA和ECUB之间的通信信道可能会遭到窃听,利用步骤4的密钥更新方法,随机生成会话密钥;
[0072] 第四步:将得到的会话密钥加入真随机数序列,并对车辆进行随机波动电能补充,作用于蓄电池,作为ECU通信的会话密钥。
[0073] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0074] 尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈