当前位置: 首页 > 专利查询>暨南大学专利>正文

一种基于区块链和ECC的车载网络报文认证方法及系统技术方案

技术编号:29797813 阅读:28 留言:0更新日期:2021-08-24 18:18
本发明专利技术公开了一种基于区块链和ECC的车载网络报文认证方法及系统,该方法包括以下步骤:建立车载区块链网络并完成ECU连接区块链;车载ECU基于ECC初始化公、私钥对,并将公钥作为共享信息存储至区块链;通信双方ECU通过区块链中共享信息进行Diffie‑Hellman密钥交换,协商出共享密钥;利用共享密钥以及ECIES加密方案,发送方对车载网络报文进行签名,接收方对报文进行验签。考虑与现有ECU的兼容性,本发明专利技术利用联盟链完成ECU的身份认证,实现在不安全的车内总线上快速协商出共享密钥,对报文进行实时认证。

【技术实现步骤摘要】
一种基于区块链和ECC的车载网络报文认证方法及系统
本专利技术涉及椭圆曲线密码学数字签名
,具体涉及一种基于区块链和椭圆曲线加密算法(ECC)的车载网络报文认证方法及系统。
技术介绍
近年来,智能汽车得到迅速发展,安全性成为车内通信的主要关键点。其中,ECU之间CAN总线通信一直遭受安全缺陷的困扰,例如处理时间长,缺乏机密性、完整性和真实性设计。现有中心化的密钥分发与存储效率低、处理时间长,容易发生单点故障。同时,CAN总线缺乏对报文的加密和安全认证机制,难以保证ECU报文的完整性和真实性。尤其在面对车载网络中千万甚至上亿的报文数据传输时,需要面临巨量资源的消耗来进行身份认证。
技术实现思路
为了克服现有技术存在的缺陷与不足,本专利技术提供一种基于区块链和ECC的车载网络报文认证方法及系统,考虑与现有ECU的兼容性,本专利技术通过使用椭圆曲线加密算法(ECC)在不安全车内总线上协商共享密钥对报文进行签名以及验证,其中,区块链技术作为一种分布式安全密钥供应和交换方案实现ECU实时身份验证,解决CAN总线无法对消息源进行标识的问题,增强车载网络对ECU的认证能力。为了达到上述目的,本专利技术采用以下技术方案:一种基于区块链和ECC的车载网络报文认证方法,包括下述步骤:建立车载区块链网络并完成ECU连接区块链;ECU基于椭圆曲线加密算法初始化公、私钥对,并将公钥作为共享信息存储至区块链;发送方ECUA与接收方ECUB通过区块链中共享信息进行Diffie-Hellman密钥交换,协商出共享密钥;利用共享密钥以及ECIES加密方案,发送方ECUA对车载网络报文进行签名,接收方ECUB对报文进行验签。作为优选的技术方案,所述ECU具有唯一标识id且id作为共享信息存储至区块链,在与其他ECU通信时,调用区块链的智能合约以完成数据的上链查询。作为优选的技术方案,所述ECU基于椭圆曲线加密算法初始化公、私钥对,具体步骤包括:公钥采用一致的配置参数产生,私钥由ECU随机产生,其中Q=k*G,Q表示公钥,k表示私钥,G为配置参数集合中基点;ECU保存私钥k,公钥Q和配置参数作为共享信息存储至区块链,ECC运用有限域上椭圆曲线所形成的循环子群,所述配置参数为集合{p,a,b,G,n,h},其中,p表示用于控制值域范围的大质数,参数a、b为椭圆曲线方程的形态参数,基点G为椭圆曲线上任意取得的基准点坐标,n表示子群阶,h表示子群辅助因子。作为优选的技术方案,所述发送方ECUA与接收方ECUB通过区块链中共享信息进行Diffie-Hellman密钥交换,协商出共享密钥,具体步骤包括:发送方ECUA和接收方ECUB分别将自己的公钥QA和QB发送给对方;发送方ECUA和接收方ECUB查询区块链网络的ECU节点身份认证系统,确定ECU节点与公钥是否匹配,发送方ECUA调用智能合约查询区块链,验证接收方ECUB的id和公钥QB的一致性;判定ECU节点与公钥匹配时,发送方ECUA和接收方ECUB分别用自己的私钥和对方的公钥计算出相同的共享密钥。作为优选的技术方案,所述发送方ECUA和接收方ECUB分别用自己的私钥和对方的公钥计算出相同的共享密钥,具体步骤包括:发送方ECUA计算点P(Px,Py)=kA*QB与接收方ECUB计算点P(Px,Py)=kB*QA相等,点P中x坐标Px即为共享密钥,其中,kA表示发送方ECUA的私钥,QB表示接收方ECUB的公钥,kB表示接收方ECUB的私钥,QA表示发送方ECUA的公钥。作为优选的技术方案,所述发送方ECUA对车载网络报文进行签名,具体步骤包括:利用共享密钥和任意大于Hash长度的随机参数S1计算密钥导出函数KDF,保留MAC密钥KM用于后续的签名;利用生成的MAC密钥KM和任意大于Hash长度的随机参数S2,以及带密钥的Hash函数MAC对发送信息m进行签名,生成MAC标签d=MAC(KM,m||S2),||表示将两个字符串拼接;ECUA发送明文信息m、MAC标签d以及随机参数S1和S2至ECUB;所述接收方ECUB对报文进行验签,具体步骤包括:ECUB收到ECUA发来的明文信息m、MAC标签d以及随机参数S1和S2;利用共享密钥和随机参数S1计算密钥导出函数KDF,保留MAC密钥KM;利用生成的MAC密钥KM、随机参数S2和明文信息m生成MAC标签d'=MAC(KM,m||S2);比较ECUB生成的MAC标签d'与收到的MAC标签d,若相等,则判定收到的信息m是ECUA发送,完成对报文的身份认证。本专利技术还提供一种基于区块链和ECC的车载网络报文认证系统,包括:车载区块链网络建立模块、初始化模块、公钥共享存储模块、密钥交换模块、签名模块和验签模块;所述车载区块链网络建立模块用于建立车载区块链网络并完成ECU连接区块链;所述初始化模块用于基于椭圆曲线加密算法初始化公、私钥对;所述公钥共享存储模块用于将公钥作为共享信息存储至区块链;所述密钥交换模块用于进行Diffie-Hellman密钥交换,发送方ECUA与接收方ECUB通过区块链共享信息进行Diffie-Hellman密钥交换,协商出共享密钥;所述签名模块用于对车载网络报文进行签名,所述验签模块用于报文进行验签;利用共享密钥以及ECIES加密方案,发送方ECUA对车载网络报文进行签名,接收方ECUB对报文进行验签。作为优选的技术方案,所述密钥交换模块设有发送方公钥发送单元、接收方公钥发送单元、匹配验证单元和共享密钥计算单元;所述发送方公钥发送单元、接收方公钥发送单元将发送方、接收方的公钥QA和QB分别发送给对方;所述匹配验证单元用于确定ECU节点与公钥是否匹配,发送方ECUA和接收方ECUB查询区块链网络的ECU节点身份认证系统,发送方ECUA调用智能合约查询区块链,验证接收方ECUB的id和公钥QB的一致性;所述共享密钥计算单元用于计算出发送方与接收方相同的共享密钥,判定ECU节点与公钥匹配时,发送方ECUA和接收方ECUB分别用自己的私钥和对方的公钥计算出相同的共享密钥。作为优选的技术方案,所述发送方ECUA对车载网络报文进行签名,具体步骤包括:利用共享密钥和任意大于Hash长度的随机参数S1计算密钥导出函数KDF,保留MAC密钥KM用于后续的签名;利用生成的MAC密钥KM和任意大于Hash长度的随机参数S2,以及带密钥的Hash函数MAC对发送信息m进行签名,生成MAC标签d=MAC(KM,m||S2),||表示将两个字符串拼接;ECUA发送明文信息m、MAC标签d以及随机参数S1和S2至ECUB;所述接收方ECUB对报文进行验签,具体步骤包括:ECUB收到ECUA发来的明文信息m、MAC标签d以及随机参数S1和S2;利用共享密钥和随机参本文档来自技高网...

【技术保护点】
1.一种基于区块链和ECC的车载网络报文认证方法,其特征在于,包括下述步骤:/n建立车载区块链网络并完成ECU连接区块链;/nECU基于椭圆曲线加密算法初始化公、私钥对,并将公钥作为共享信息存储至区块链;/n发送方ECU

【技术特征摘要】
1.一种基于区块链和ECC的车载网络报文认证方法,其特征在于,包括下述步骤:
建立车载区块链网络并完成ECU连接区块链;
ECU基于椭圆曲线加密算法初始化公、私钥对,并将公钥作为共享信息存储至区块链;
发送方ECUA与接收方ECUB通过区块链中共享信息进行Diffie-Hellman密钥交换,协商出共享密钥;
利用共享密钥以及ECIES加密方案,发送方ECUA对车载网络报文进行签名,接收方ECUB对报文进行验签。


2.根据权利要求1所述的基于区块链和ECC的车载网络报文认证方法,其特征在于,所述ECU具有唯一标识id且id作为共享信息存储至区块链,在与其他ECU通信时,调用区块链的智能合约以完成数据的上链查询。


3.根据权利要求1所述的基于区块链和ECC的车载网络报文认证方法,其特征在于,所述ECU基于椭圆曲线加密算法初始化公、私钥对,具体步骤包括:
公钥采用一致的配置参数产生,私钥由ECU随机产生,其中Q=k*G,Q表示公钥,k表示私钥,G为配置参数集合中基点;
ECU保存私钥k,公钥Q和配置参数作为共享信息存储至区块链,ECC运用有限域上椭圆曲线所形成的循环子群,所述配置参数为集合{p,a,b,G,n,h},其中,p表示用于控制值域范围的大质数,参数a、b为椭圆曲线方程的形态参数,基点G为椭圆曲线上任意取得的基准点坐标,n表示子群阶,h表示子群辅助因子。


4.根据权利要求1所述的基于区块链和ECC的车载网络报文认证方法,其特征在于,所述发送方ECUA与接收方ECUB通过区块链中共享信息进行Diffie-Hellman密钥交换,协商出共享密钥,具体步骤包括:
发送方ECUA和接收方ECUB分别将自己的公钥QA和QB发送给对方;
发送方ECUA和接收方ECUB查询区块链网络的ECU节点身份认证系统,确定ECU节点与公钥是否匹配,发送方ECUA调用智能合约查询区块链,验证接收方ECUB的id和公钥QB的一致性;
判定ECU节点与公钥匹配时,发送方ECUA和接收方ECUB分别用自己的私钥和对方的公钥计算出相同的共享密钥。


5.根据权利要求4所述的基于区块链和ECC的车载网络报文认证方法,其特征在于,所述发送方ECUA和接收方ECUB分别用自己的私钥和对方的公钥计算出相同的共享密钥,具体步骤包括:
发送方ECUA计算点P(Px,Py)=kA*QB与接收方ECUB计算点P(Px,Py)=kB*QA相等,点P中x坐标Px即为共享密钥,其中,kA表示发送方ECUA的私钥,QB表示接收方ECUB的公钥,kB表示接收方ECUB的私钥,QA表示发送方ECUA的公钥。


6.根据权利要求1所述的基于区块链和ECC的车载网络报文认证方法,其特征在于,所述发送方ECUA对车载网络报文进行签名,具体步骤包括:
利用共享密钥和任意大于Hash长度的随机参数S1计算密钥导出函数KDF,保留MAC密钥KM用于后续的签名;
利用生成的MAC密钥KM和任意大于Hash长度的随机参数S2,以及带密钥的Hash函数MAC对发送信息m进行签名,生成MAC标签d=MAC(KM,m||S2),||表示将两个字符串拼接;
ECUA发送明文信息m、MAC标签d以及随机参数S1和S2至EC...

【专利技术属性】
技术研发人员:孙恒李龙翁健刘志全曾令浩
申请(专利权)人:暨南大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1