CN113300836B - 一种基于区块链和ecc的车载网络报文认证方法及系统 - Google Patents
一种基于区块链和ecc的车载网络报文认证方法及系统 Download PDFInfo
- Publication number
- CN113300836B CN113300836B CN202110440956.3A CN202110440956A CN113300836B CN 113300836 B CN113300836 B CN 113300836B CN 202110440956 A CN202110440956 A CN 202110440956A CN 113300836 B CN113300836 B CN 113300836B
- Authority
- CN
- China
- Prior art keywords
- ecu
- key
- block chain
- mac
- sender
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
本发明公开了一种基于区块链和ECC的车载网络报文认证方法及系统,该方法包括以下步骤:建立车载区块链网络并完成ECU连接区块链;车载ECU基于ECC初始化公、私钥对,并将公钥作为共享信息存储至区块链;通信双方ECU通过区块链中共享信息进行Diffie‑Hellman密钥交换,协商出共享密钥;利用共享密钥以及ECIES加密方案,发送方对车载网络报文进行签名,接收方对报文进行验签。考虑与现有ECU的兼容性,本发明利用联盟链完成ECU的身份认证,实现在不安全的车内总线上快速协商出共享密钥,对报文进行实时认证。
Description
技术领域
本发明涉及椭圆曲线密码学数字签名技术领域,具体涉及一种基于区块链和椭圆曲线加密算法(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;
利用共享密钥和随机参数S1计算密钥导出函数KDF,保留MAC密钥KM;
利用生成的MAC密钥KM、随机参数S2和明文信息m生成MAC标签d'=MAC(KM,m||S2);
比较ECUB生成的MAC标签d'与收到的MAC标签d,若相等,则判定收到的信息m是ECUA发送,完成对报文的身份认证。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明采用联盟链网络进行ECU节点身份认证的技术方案,解决CAN总线无法对消息源进行标识的问题,增强车载网络对ECU的认证能力。
(2)本发明采用基于联盟链网络的分布式密钥存储方案,利用联盟链的不可篡改性、高效性以及公开性,解决车载网络中通信密钥的存储问题。
(3)本发明采用椭圆曲线密算法与Diffie-Hellman密钥交换协议的方案,解决车载网络中通信密钥的安全分发问题,实现ECU间通信报文的高效签名和验签,保证ECU间可信通信。
附图说明
图1为本发明基于区块链和ECC的车载网络报文认证方法的流程示意图;
图2为本发明的车载网络拓扑结构示意图;
图3为本发明Diffie-Hellman密钥交换的流程示意图;
图4为本发明MAC码签名过程的流程示意图;
图5为本发明MAC码验证过程的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
如图1所示,本发明提供一种基于区块链和ECC的车载网络报文认证方法,包括下述步骤:
S1:建立车载区块链网络并完成ECU(Electronic Control Unit)连接区块链;
如图2所示,ECU具有唯一标识id且id作为共享信息存储至区块链,在与其他ECU通信时,调用区块链的智能合约以完成数据的上链查询;
S2:车载ECU基于椭圆曲线加密算法ECC初始化公、私钥对,并将公钥作为共享信息存储至区块链;
在本实施例中,对于公、私钥对(Q,k),公钥Q使用一致的配置参数产生,私钥k为一个小于p的整数,由ECU随机产生,其中Q=k*G,G是配置参数集合中基点G(Gx,Gy);ECU只保存私钥k,公钥Q和配置参数作为共享信息存储至区块链;ECC运用有限域上椭圆曲线所形成的循环子群,配置参数为集合{p,a,b,G,n,h},其中大质数p用来控制值域范围,参数a、b为椭圆曲线方程y2=x3+ax2+b的形态参数,基点G(Gx,Gy)为椭圆曲线上任意取得的基准点坐标,子群阶n为满足n*G=0的最小正整数,子群辅助因子为h=1/n|E(Fp)|,E(Fp)是对椭圆曲线取余y2%p=(x3+ax2+b)%p;
本实施例采用ECC密码体系并使用区块链作为密钥的分布式存储与配置,其优点在于:ECC密码体系密钥量小,安全性高,非常适合在车内环境使用;利用区块链的分布式技术,为车内密钥的分发与存储提供更安全、高效的方式。
S3:通信双方ECU通过区块链中共享信息进行Diffie-Hellman密钥交换,协商出共享密钥;
具体的,ECUA、ECUB为相互通信的ECU节点,其通过区块链中已存储的公钥和ECU的id进行Diffie-Hellman密钥交换,协商出共享密钥,如图3所示,其步骤如下:
S31:ECUA和ECUB分别将自己的公钥QA和QB发送给对方,其中QA=kA*G,QB=kB*G;
S32:ECUA和ECUB查询区块链网络的ECU节点身份认证系统,从而确定ECU节点与公钥是否匹配;
具体的,区块链网络采用联盟链,注册至区块链网络的ECU节点均为可信节点,快速完成分布式ECU节点身份认证:ECUA调用智能合约查询区块链,验证ECUB的id和公钥QB的一致性;
在本实施例中,若恶意ECUX伪装为ECUA并发送自己的id和公钥QX=kX*G与ECUB协商密钥,将出现如下情况:
1、如果恶意节点发送的是自己的id,那么ECUB在链上查不到这个id,因为在初始化时恶意节点没有注册到区块链上,ECUB直接拒绝这次协商;
2、如果恶意节点发送的是ECUA的id和自己的公钥QX,ECUB查询链上ECUA的id和其公钥QA,发现QA不等于QX,所以拒绝这次协商,故恶意节点不能伪造通信;
3、如果恶意节点发送的是ECUA的id和公钥,虽然可以完成协商密钥的流程,但是恶意节点并没有ECUA的私钥kA,故计算不出共享密钥。
利用区块链作为身份认证系统,其优点在于:分布式区块链系统为ECU节点提供了快速、实时身份认证。
S33:步骤S32的ECU节点与公钥匹配的情况下,ECUA和ECUB分别用自己的私钥和对方的公钥计算出相同的共享密钥。
具体的,发送方ECUA计算点P(Px,Py)=kA*QB=kA*kB*G与接收方ECUB计算点P(Px,Py)=kB*QA=kB*kA*G相等,P中x坐标Px即为共享密钥。本实施例在网络中传播的是公钥Q=k*G,已知Q是很难推知得出私钥k的,只有通信双方能计算出共享密钥。
S4:利用共享密钥以及ECIES加密方案,发送方ECUA对车载网络报文进行签名,接收方ECUB对报文进行验签。
具体的,通信双方ECU对报文进行签名和验签过程采用消息认证码(MAC),进行网络报文认证;
步骤S4中发送方对车载网络报文进行签名的方法,如图4所示,其步骤如下:
利用共享密钥Px和任意大于Hash长度的随机参数S1计算密钥导出函数KDF,KE||KM=KDF(Px||S1),保留MAC密钥KM用于后续的签名,KE加密密钥直接抛弃,按照密码学工具KDF函数定义,导出的二进制串,规定截取其某个长度的串作为加密密钥,剩余部分作为MAC签名密钥;
利用生成的MAC密钥KM和任意大于Hash长度的随机参数S2,以及带密钥的Hash函数MAC对发送信息m进行签名,生成MAC标签d=MAC(KM,m||S2),||表示将两个字符串拼接起来;
ECUA发送明文信息m、MAC标签d以及随机参数S1和S2至ECUB。
具体的,步骤S4中接收方对报文进行验签,如图5所示,其步骤如下:
ECUB收到ECUA发来的明文信息m、MAC标签d以及随机参数S1和S2;
利用共享密钥Px和随机参数S1计算密钥导出函数KDF,KE||KM=KDF(Px||S1),保留MAC密钥KM;
利用生成的MAC密钥KM、随机参数S2和明文信息m生成MAC标签d'=MAC(KM,m||S2);
比较ECUB生成的MAC标签d'与收到的MAC标签d,若相等,则判断收到的信息m确实是ECUA发送,其他人不可伪造,完成对报文的身份认证。在本实施例中,比较ECUB生成的MAC标签d'与收到的MAC标签d是否相同的目的在于:若恶意节点截取了此信息(S1,S2,m,d),理论上需要KM才能更改此信息,而KM又需要共享密钥Px导出,Px由私钥k*公钥Q导出。故恶意节点只有掌握了通信双方任意一方私钥k才能作恶(但是此k只有ECU自己知道),否则它不能更改报文(S1,S2,m,d)中任意的数据使得接收方验证签名时有:d’=d,因此,接收方算出来的d'与发送方的d相等时,可以信任此次通信的安全性;否则此次通信不可信,直接抛弃。
实施例2
本发明还提供一种基于区块链和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;
利用共享密钥和随机参数S1计算密钥导出函数KDF,保留MAC密钥KM;
利用生成的MAC密钥KM、随机参数S2和明文信息m生成MAC标签d'=MAC(KM,m||S2);
比较ECUB生成的MAC标签d'与收到的MAC标签d,若相等,则判定收到的信息m是ECUA发送,完成对报文的身份认证。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.一种基于区块链和ECC的车载网络报文认证方法,其特征在于,包括下述步骤:
建立车载区块链网络并完成ECU连接区块链;
ECU基于椭圆曲线加密算法初始化公、私钥对,并将公钥作为共享信息存储至区块链;
发送方ECUA与接收方ECUB通过区块链中共享信息进行Diffie-Hellman密钥交换,协商出共享密钥;
利用共享密钥以及ECIES加密方案,发送方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;
利用共享密钥和随机参数S1计算密钥导出函数KDF,保留MAC密钥KM;
利用生成的MAC密钥KM、随机参数S2和明文信息m’生成MAC标签d'= MAC(KM,m’||S2);
比较ECUB生成的MAC标签d'与收到的MAC标签d,若相等,则判定收到的明文信息m’是ECUA发送,完成对报文的身份认证。
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.一种基于区块链和ECC的车载网络报文认证系统,其特征在于,包括:车载区块链网络建立模块、初始化模块、公钥共享存储模块、密钥交换模块、签名模块和验签模块;
所述车载区块链网络建立模块用于建立车载区块链网络并完成ECU连接区块链;
所述初始化模块用于基于椭圆曲线加密算法初始化公、私钥对;
所述公钥共享存储模块用于将公钥作为共享信息存储至区块链;
所述密钥交换模块用于进行Diffie-Hellman密钥交换,发送方ECUA与接收方ECUB通过区块链共享信息进行Diffie-Hellman密钥交换,协商出共享密钥;
所述签名模块用于对车载网络报文进行签名,所述验签模块用于报文进行验签;
利用共享密钥以及ECIES加密方案,发送方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;
利用共享密钥和随机参数S1计算密钥导出函数KDF,保留MAC密钥KM;
利用生成的MAC密钥KM、随机参数S2和明文信息m’生成MAC标签d'= MAC(KM,m’||S2);
比较ECUB生成的MAC标签d'与收到的MAC标签d,若相等,则判定收到的明文信息m’是ECUA发送,完成对报文的身份认证。
7.根据权利要求6所述基于区块链和ECC的车载网络报文认证系统,其特征在于,所述密钥交换模块设有发送方公钥发送单元、接收方公钥发送单元、匹配验证单元和共享密钥计算单元;
所述发送方公钥发送单元、接收方公钥发送单元将发送方、接收方的公钥QA和QB分别发送给对方;
所述匹配验证单元用于确定ECU节点与公钥是否匹配,发送方ECUA和接收方ECUB查询区块链网络的ECU节点身份认证系统,发送方ECUA调用智能合约查询区块链,验证接收方ECUB的id和公钥QB的一致性;
所述共享密钥计算单元用于计算出发送方与接收方相同的共享密钥,判定ECU节点与公钥匹配时,发送方ECUA和接收方ECUB分别用自己的私钥和对方的公钥计算出相同的共享密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110440956.3A CN113300836B (zh) | 2021-04-23 | 2021-04-23 | 一种基于区块链和ecc的车载网络报文认证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110440956.3A CN113300836B (zh) | 2021-04-23 | 2021-04-23 | 一种基于区块链和ecc的车载网络报文认证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113300836A CN113300836A (zh) | 2021-08-24 |
CN113300836B true CN113300836B (zh) | 2022-02-22 |
Family
ID=77320154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110440956.3A Active CN113300836B (zh) | 2021-04-23 | 2021-04-23 | 一种基于区块链和ecc的车载网络报文认证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113300836B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113938304B (zh) * | 2021-10-14 | 2024-02-13 | 吉林大学 | 一种基于can总线的数据加密传输方法 |
CN114244514B (zh) * | 2022-02-21 | 2022-05-24 | 图灵人工智能研究院(南京)有限公司 | 一种基于车联网的数据安全处理方法 |
CN114710275B (zh) * | 2022-03-28 | 2024-03-08 | 湖南科技大学 | 物联网环境下基于区块链的跨域认证和密钥协商方法 |
CN115242468B (zh) * | 2022-07-07 | 2023-05-26 | 广州河东科技有限公司 | 一种基于rs485总线的安全通信系统及其方法 |
JP2024044158A (ja) * | 2022-09-20 | 2024-04-02 | 株式会社デンソー | 電子制御装置、鍵照合方法、鍵照合プログラム及び鍵管理システム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881494B (zh) * | 2018-08-10 | 2021-06-29 | 三门峡速达交通节能科技股份有限公司 | 基于车载网络和区块链的安全信息传输方法 |
US11356256B2 (en) * | 2019-03-25 | 2022-06-07 | Micron Technology, Inc. | Secure vehicular part communication |
CN111405011B (zh) * | 2020-03-07 | 2022-11-25 | 北京工业大学 | 基于区块链的vanet中节点可信加入方法 |
CN111461720B (zh) * | 2020-04-15 | 2024-03-22 | Oppo广东移动通信有限公司 | 基于区块链的身份验证方法、装置、存储介质及电子设备 |
CN112039870B (zh) * | 2020-08-28 | 2022-05-13 | 武汉见邦融智科技有限公司 | 基于区块链的面向隐私保护的车载网认证方法及系统 |
-
2021
- 2021-04-23 CN CN202110440956.3A patent/CN113300836B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113300836A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113300836B (zh) | 一种基于区块链和ecc的车载网络报文认证方法及系统 | |
KR100956482B1 (ko) | 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립 방법, 그 관계 확립의 개시와 완성 방법, 통신 장치 및 컴퓨터 판독가능한 기록매체 | |
CN110011795B (zh) | 基于区块链的对称群组密钥协商方法 | |
US11223486B2 (en) | Digital signature method, device, and system | |
CN110995414B (zh) | 基于国密算法在tls1_3协议中建立通道的方法 | |
CN110020524B (zh) | 一种基于智能卡的双向认证方法 | |
CN111682938A (zh) | 面向中心化移动定位系统的三方可认证密钥协商方法 | |
CN110535626B (zh) | 基于身份的量子通信服务站保密通信方法和系统 | |
CN113630248B (zh) | 一种会话密钥协商方法 | |
CN109474436A (zh) | 一种可否认认证方法和系统 | |
CN112165386A (zh) | 一种基于ecdsa的数据加密方法及系统 | |
CN108449326A (zh) | 一种异构可否认的认证方法和系统 | |
CN114422135A (zh) | 一种基于椭圆曲线的可验证的不经意传输方法 | |
Limkar et al. | A mechanism to ensure identity-based anonymity and authentication for IoT infrastructure using cryptography | |
CN116599659B (zh) | 无证书身份认证与密钥协商方法以及系统 | |
CN116318739B (zh) | 一种电子数据交换方法及系统 | |
CN114285546B (zh) | 一种可用于车载自组网络中的异构签密通信方法 | |
CN114285576B (zh) | 一种非对的在线离线签密方法 | |
CN110572788B (zh) | 基于非对称密钥池和隐式证书的无线传感器通信方法和系统 | |
CN109412815B (zh) | 一种实现跨域安全通信的方法和系统 | |
CN112423295A (zh) | 一种基于区块链技术的轻量级安全认证方法及系统 | |
CN113315636B (zh) | 一种用于汽车ecu间安全通信的密钥交换方法 | |
CN105515775B (zh) | 一种高效且隐私保护的签密方法 | |
Sugumar et al. | Key Escrow with Certificateless Elliptic Curve Segmentation for Grouping of Shared Data in Mobile Networks. | |
CN113242548B (zh) | 5g网络环境下的无线物联网设备通信密钥交换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |