CN117395001B - 一种基于量子密钥芯片的车联网安全通信方法及系统 - Google Patents

一种基于量子密钥芯片的车联网安全通信方法及系统 Download PDF

Info

Publication number
CN117395001B
CN117395001B CN202311687382.5A CN202311687382A CN117395001B CN 117395001 B CN117395001 B CN 117395001B CN 202311687382 A CN202311687382 A CN 202311687382A CN 117395001 B CN117395001 B CN 117395001B
Authority
CN
China
Prior art keywords
quantum key
chip
cloud
vehicle
quantum
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
Application number
CN202311687382.5A
Other languages
English (en)
Other versions
CN117395001A (zh
Inventor
朱俊杰
石琴
张强
程腾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN202311687382.5A priority Critical patent/CN117395001B/zh
Publication of CN117395001A publication Critical patent/CN117395001A/zh
Application granted granted Critical
Publication of CN117395001B publication Critical patent/CN117395001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明属于车联网通信技术领域,尤其涉及一种基于量子密钥芯片的车联网安全通信方法及系统,安全通信方法包括以下步骤:S1,量子密钥芯片通过量子密钥充注机向云端进行线下安全注册;S2,车辆启动上电时,量子密钥芯片对当前车辆上的主控MCU进行身份认证,当身份认证通过后,当前车辆与云端进行正式通信;S3,当前车辆的量子密钥芯片将主控MCU发送来的车辆数据加密后返回,主控MCU基于加密结果形成车端消息发送至云端;S4,云端验证接收到的车端消息,若验证通过,则向对应的车辆返回云端消息;S5,当前车辆断电后,正式通信结束,直至当前车辆再次启动上电,回到S2。本发明能够保证车辆和云端之间安全且高效地通信。

Description

一种基于量子密钥芯片的车联网安全通信方法及系统
技术领域
本发明属于车联网通信技术领域,尤其涉及一种基于量子密钥芯片的车联网安全通信方法及系统。
背景技术
随着智能网联汽车的快速发展,车辆所产生的数据量也越来越丰富,这些数据不仅涉及到车辆的信息,甚至包括车主的私人敏感信息。在车联网安全通信的过程中,车辆数据的安全传输至关重要。
由于车辆作为移动终端这一特点,其只能以无线通信的方式与车联网中云端进行通信,而无线信道的开放性这一特点使得任何拥有一定频率接收设备均可以获取无线信道上传输的内容,这对于车辆用户的信息安全、个人安全和个人隐私,以及云平台信令下发都构成潜在威胁。
现有技术中,通常是基于公钥引入第三方对数字证书来对车联网通信过程中的数据进行加密传输,但是车辆需要消耗大量的存储空间来存储数字证书,且公钥的固定不变容易就容易被泄露或是被黑客破解。而使用非对称密钥来对车联网通信过程中的数据进行加密传输,主要依赖的是计算的复杂性和私钥的保密性,为了保证私钥的保密性,就需要经常更新非对称密钥或增加密钥长度来保证车联网通信过程中数据传输的安全性、降低非对称密钥和加密算法被破解的可能性,但非对称密钥的长度增加或频繁更新会使得车辆对数据加解密过程中的计算开销和资源占用量大增,这样不仅会降低车联网中云端和车辆间通信效率,还会使车辆无法及时响应车辆自身内部的需求,从而影响车辆本身的驾驶。
发明内容
本发明的目的是克服上述现有技术的不足,提供一种基于量子密钥芯片的车联网安全通信方法,能够保证车辆和云端之间的通信过程安全且高效。
为实现上述目的,本发明采用了以下技术方案:
一种基于量子密钥芯片的车联网安全通信方法,包括以下步骤:
S1,量子密钥芯片通过量子密钥充注机向云端进行线下安全注册,量子密钥充注机向量子密钥芯片充注若干量子密钥,同时,量子密钥充注机将充注的量子密钥及被充注的量子密钥芯片的序列号绑定成芯片信息后,发送至云端进行存储,量子密钥芯片完成在云端的线下安全注册;
车辆生产出厂时,在车辆的主控MCU里预置了与量子密钥芯片对应的哈希函数和加解密算法;
云端内预置了与量子密钥芯片对应的各种加密方式;
S2,量子密钥芯片被安装至车辆后,车辆启动上电时,量子密钥芯片对当前车辆上的主控MCU进行身份认证,当前车辆上的主控MCU通过量子密钥芯片的身份认证后,当前车辆与云端进行正式通信;
S3,当前车辆的量子密钥芯片对当前车辆的主控MCU所发送来的车辆数据使用不同的加密方式进行加密后,将加密结果返回当前车辆的主控MCU内,当前车辆的主控MCU基于加密结果形成车端消息并发送至云端;
S4,云端验证接收到的车端消息,若验证通过,则解密得到车端消息所包含的车辆数据并执行对应的云端服务,并向对应的车辆返回经过云端加密的云端消息;当前车辆与云端之间继续交互通信则重复执行S3~S4;
S5,当前车辆断电后,当前车辆与云端之间的正式通信结束,直至当前车辆再次启动上电,回到S2。
优选的,在S1中,量子密钥芯片在云端的线下安全注册还包括以下子步骤:
S11,量子密钥芯片被生产出厂时,就被赋予了唯一的芯片序列号SN、被预先设置了根密钥和PIN码;量子密钥芯片通过量子密钥充注机将芯片序列号SN发送至云端进行注册请求;云端接收到芯片序列号SN后,与云端内已存储的芯片信息进行比对,若当前芯片序列号SN已存在于云端内,则云端通过量子密钥充注机向量子密钥芯片返回“重复注册”的报文信息,若量子密服引擎内不存在当前芯片序列号SN,则量子密服引擎向量子密钥充注机返回“开始充注量子密钥”的报文信息;
S12,量子密钥充注机通过有线通信向第一量子密钥管理机发送包含量子密钥数量的密钥请求,第一量子密钥管理机从自身内部的密钥池中顺序抽取并排列好对应数量的量子密钥后返回量子密钥充注机内,量子密钥充注机将对应数量的量子密钥按排列顺序写入当前进行注册的量子密钥芯片内,量子密钥芯片使用根密钥将所有量子密钥对称加密后进行存储,同时,量子密钥充注机将当前量子密钥芯片序列号SN与当前量子密钥芯片被充注的量子密钥数量绑定成第一芯片信息后,发送至云端内;
S13,云端从第一芯片信息内抽取量子密钥数量与量子密钥芯片序列号SN,并通过有线通信向第二量子密钥管理机发送包含量子密钥数量的密钥请求,第二量子密钥管理机从自身内部的密钥池中顺序抽取并排列好对应数量的量子密钥后返回云端内,云端将对应数量的量子密钥按排列顺序与当前量子密钥芯片序列号SN绑定后形成芯片注册信息并进行存储,量子密钥芯片完成在云端的线下安全注册。
优选的,S2还包括以下子步骤:
S21,车辆启动上电,当前车辆上的主控MCU向当前车辆所使用的量子密钥芯片发送认证请求A2:A2={MT(A2)},
其中,MT(A2)表示认证请求A2的消息类型标识符,A2为认证请求消息;
S22,当前车辆所使用的量子密钥芯片接收到认证请求A2后,生成第一随机数N1并通过有线通信发送至主控MCU内;若当前车辆所使用的量子密钥芯片接收到了除认证请求A2外的消息或请求,则拒绝执行;
S23,主控MCU接收到第一随机数N1后,生成认证消息M1后通过有线通信发送至当前车辆所使用的量子密钥芯片内:M1={MT(M1)||ECB[PIN(N1)]},
其中,||表示连接符,MT(M1)表示认证消息M1的消息类型标识符,M1为认证数据消息;ECB[PIN(N1)]表示使用当前主控MCU内存储的PIN码基于ECB模式对称加密第一随机数N1;
S24,当前车辆所使用的量子密钥芯片接收认证消息M1后,使用自身存储的PIN码基于ECB模式对称加密S22中生成的第一随机数N1,并将加密结果与从认证消息M1中提取出的ECB[PIN(N1)]进行比对,若不同,则当前车辆所使用的量子密钥芯片通过有线通信向主控MCU返回“身份认证失败”的报文信息,若相同,则当前车辆所使用的量子密钥芯片通过有线通信向主控MCU返回“身份认证通过”的报文信息,当前车辆与云端展开正式通信。
优选的,若车辆用户需要修改当前车辆所使用的量子密钥芯片的默认根密钥时,在S24后还包括S25a~S27a:
S25a,车辆用户调用主控MCU里的重置根密钥程序,主控MCU通过有线通信向当前车辆所使用的量子密钥芯片发送包含默认根密钥的根密钥重置请求;
S26a,量子密钥芯片接收到根密钥重置请求后,先查找自身存储的根密钥剩余修改次数,若根密钥剩余修改次数为0,则量子密钥芯片通过有线通信向主控MCU返回“无权修改”的报文信息;若根密钥剩余修改次数大于等于,则量子密钥芯片将从根密钥重置请求里提取出来的默认根密钥与自身存储的根密钥进行比对,若不相同,则量子密钥芯片通过有线通信向主控MCU返回“无权修改”的报文信息,若相同,则量子密钥芯片通过有线通信向主控MCU返回“重置根密钥”的报文信息后,车辆用户将新的根密钥通过主控MCU传送至当前车辆所使用的量子密钥芯片内进行存储,同时主控MCU删除旧的根密钥,存储新的根密钥;
S27a,当前量子密钥芯片将用来对称加密量子密钥的默认根密钥替换成新的根密钥:即当前量子密钥芯片使用默认根密钥将经默认根密钥对称加密后的量子密钥解密,再使用新的根密钥将当前量子密钥芯片内的各量子密钥加密后存储。
优选的,若车辆用户需要修改当前车辆所使用的量子密钥芯片的PIN码时,在S24后还包括S25b~S26b:
S25b,车辆用户调用主控MCU里的重置PIN码程序,主控MCU通过有线通信向当前车辆所使用的量子密钥芯片发送PIN码重置请求A1:
A1=R[PIN(org)],
其中,PIN(org)表示当前量子密钥芯片所使用的PIN码,PIN(org)可以是默认PIN码,也可以是经过一次及以上重置的PIN码;R表示当前量子密钥芯片所使用的根密钥,R[PIN(org)]表示使用根密钥R对称加密当前量子密钥芯片所使用的PIN码;
S26b,量子密钥芯片接收到PIN码重置请求后,查找自身存储的根密钥R´和PIN码PIN(org)´,并使用根密钥R´对称加密PIN(org)´后,与从PIN码重置请求里提取出来R[PIN(org)]进行比对,若不相同,则量子密钥芯片通过有线通信向主控MCU返回“无权修改”的报文信息,若相同,则量子密钥芯片通过有线通信向主控MCU返回“重置PIN码”的报文信息后,车辆用户将新的PIN码通过主控MCU传送至当前车辆所使用的量子密钥芯片内进行存储,同时主控MCU删除旧的PIN码,存储新的PIN码。
优选的,S3还包括以下子步骤:
S31,主控MCU基于收集到的车辆数据D,形成加密请求A3并发送至当前车辆所使用的量子密钥芯片内:A3={MT(A3)||E(A3)||D},
其中,MT(A3)表示加密请求A3的消息类型标识符,A3为加密请求消息;
E(A3)表示加密请求A3的加密方式,E(A3)=01表示量子密钥芯片使用第一种加密方式对车辆数据D进行加密,E(A3)=02表示量子密钥芯片使用第二种加密方式对车辆数据D进行加密,E(A3)=00表示量子密钥芯片使用默认的加密方式对车辆数据D进行加密,
量子密钥芯片中第一种加密方法:量子密钥芯片从自身内部存储的s个量子密钥中任意抽取一个量子密钥Ki,并使用量子密钥Ki对从加密请求A3中抽取出的车辆数据D进行对称加密后生成Ki(D),i表示被抽取的量子密钥Ki的序号,也即量子密钥Ki是当前量子密钥芯片里顺序排列的s个量子密钥中的第i个量子密钥,0<i≤s,且i、s均为正整数,
量子密钥芯片中第二种加密方法:量子密钥芯片生成第二随机数N2,并使用第二随机数N2对从加密请求A3中抽取出的车辆数据D进行对称加密后生成N2(D),同时量子密钥芯片从自身内部存储的s个量子密钥中任意抽取一个量子密钥Kj,并使用量子密钥Kj来对第二随机数N2进行对称加密后生成Kj(N2),j表示被抽取的量子密钥Kj的序号,也即量子密钥Kj是当前量子密钥芯片里顺序排列的s个量子密钥中的第j个量子密钥,0<j≤s,且j、s均为正整数,
量子密钥芯片中默认的加密方法:
量子密钥芯片内存储了s个量子密钥,当量子密钥芯片内未使用过的量子密钥数量x>0时,量子密钥芯片从x个未使用过的量子密钥中任意抽取一个量子密钥Km,并使用量子密钥Km对从加密请求A3中抽取出的车辆数据D进行对称加密后生成Km(D)后,当前量子密钥芯片内未使用过的量子密钥数量就变成了(x-1),m表示被抽取的量子密钥Km的序号,也即量子密钥Km是当前量子密钥芯片里顺序排列的s个量子密钥中的第m个量子密钥,0<x≤s且0<m≤s,且m、x、s均为正整数,
当量子密钥芯片内未使用过的量子密钥数量x=0时,量子密钥芯片生成第三随机数N3,并使用第三随机数N3对从加密请求A3中抽取出的车辆数据D进行对称加密后生成N3(D),同时量子密钥芯片从自身内部存储的s个被使用过的量子密钥中任意抽取一个量子密钥Kn,并使用量子密钥Kn来对第三随机数N3进行对称加密后生成Kn(N3),n表示被抽取的量子密钥Kn的序号,也即量子密钥Kn是当前量子密钥芯片里顺序排列的s个量子密钥中的第n个量子密钥,0<n≤s,且n、s均为正整数;
S32,当前车辆所使用的量子密钥芯片接收到加密请求A3后,根据MT(A3)得知主控MCU希望执行加密操作,则当前车辆所使用的量子密钥芯片选择与E(A3)对应的加密方法,对车辆数据D进行加密,生成加密结果B返回至当前车辆所使用的主控MCU内:
当E(A3)=01时,B={SN||i||y||C1||Ki(D)},
当E(A3)=02时,B={SN||j||y||Kj(N2)||N2(D)},
当E(A3)=00时,B={SN||m||y||C2||Km(D)}或B={SN||n||y||Kn(N3)||N3(D)},
C1和C2为量子密钥芯片生成的随机密文,可以是通过量子随机数发生器生成的随机数,SN表示当前量子密钥芯片的芯片序列号;
y用来判断默认的加密方式中的具体情况,若当前加密结果B不仅是通过默认的加密方式进行加密,且属于默认的加密方式中量子密钥芯片内未使用过的量子密钥数量x=0时的情况,则y=1,否则y=0;
S33,前车辆所使用的主控MCU接收到加密结果B后,生成车端消息M2并发送至云端:M2={Head||L(M2)||MT(M2)||Seq(M2)||E(B)||B||MAC1||End},
其中,Head表示帧头,即消息的开头,End表示帧尾,即消息的结尾,
L(M2)表示车端消息M2的帧长度,即车端消息M2里从帧头Head后第一个字符到帧尾End的最后一个字符的字符数量;
MT(M2)表示车端消息M2的消息类型标识符,M2为数据消息;
Seq(M2)表示车端消息M2的消息序列号,Seq(M2)自编号001起,车端信息M2每新增一条,则其消息序列编号加一;
E(B)表示得到加密结果B的加密方式,与加密请求A3的加密方式一致,即E(B)=01表示量子密钥芯片使用第一种加密方式得到加密结果B,E(B)=02表示量子密钥芯片使用第二种加密方式得到加密结果B,E(B)=00表示量子密钥芯片使用默认的加密方式得到加密结果B;
MAC1表示第一校验码,且MAC1=H{L(M2)||MT(M2)||Seq(M2)||E(B)||B},H表示哈希函数,即MAC1是通过对L(M2)||MT(M2)||Seq(M2)||E(B)||B进行哈希函数计算后得到的。
优选的,在S4中还包括以下子步骤:
S41,云端对车端消息M2进行验证:
云端从车端消息M2中提取出车端消息M2的消息序列号Seq(M2),并在云端所存储过的车端消息序列号中查找是否存在当前消息序列号,若存在当前消息序列号Seq(M2),则云端判定当前车端消息为重复消息,丢弃当前车端消息;
若云端所存储过的车端消息序列号中不存在当前消息序列号Seq(M2),则云端再从车端消息M2中提取出L(M2)、MT(M2)、E(B)、B以及第一验证码MAC1,并通过哈希函数计算第二验证码MAC2=H{L(M2)||MT(M2)||Seq(M2)||E(B)||B}后,将MAC1与MAC2进行比对,若MAC1与MAC2不相同,则判定车端消息M2不完整,将车端消息M2丢弃;
若MAC1与MAC2相同,则判定车端消息M2完整,则云端再从加密结果B中提取出量子密钥芯片的芯片序列号SN,并在云端存储的芯片注册信息里查找是否存在对应的芯片序列号,若云端存储的芯片注册信息里不存在当前芯片序列号SN,则云端将车端消息M2丢弃;
若云端存储的芯片注册信息里存在当前芯片序列号SN,则云端再从加密结果B中提取出量子密钥芯片在加密过程中使用的量子密钥序号后,在云端所存储的与芯片序列号SN所绑定的顺序排列的量子密钥中索引出对应的量子密钥,则云端对车端消息M2验证通过,云端存储车端消息M2的消息序列号;
若云端无法在自身所存储的与芯片序列号SN所绑定的顺序排列的量子密钥中索引出对应的量子密钥,则云端将车端消息M2丢弃;
S42,云端对车端消息M2验证通过后,根据E(B)所代表的加密方式以及在云端存储的芯片注册信息里找到对应的量子密钥,来对称解密加密结果B中的密文:
当E(B)=01时,云端使用在芯片注册信息里查找到的量子密钥Ki,来对称解密从加密结果B中提取出的Ki(D),得到车辆数据D,
当E(B)=02时,云端使用在芯片注册信息里查找到的量子密钥Kj,来对称解密从加密结果B中提取出的Kj(N2),得到第二随机数N2,再使用第二随机数N2来对称解密从加密结果B中提取出的N2(D),得到车辆数据D,
当E(B)=00时,云端通过从加密结果B中提取出的y来判断加密结果B对应的是默认的加密方式中的哪种情况:当y=0时,云端使用在芯片注册信息里查找到的量子密钥Km,来对称解密从加密结果B中提取出的Km(D),得到车辆数据D;当y=1时,云端使用在芯片注册信息里查找到的量子密钥Kn,来对称解密从加密结果B中提取出的Kn(N3),得到第三随机数N3,再使用第三随机数N3来对称解密从加密结果B中提取出的N3(D),得到车辆数据D;
S43,云端对车辆数据D进行计算处理并执行对应的云端服务后,生成云端数据G,在基于云端数据G形成云端消息M4发送至对应的车辆,车辆对云端消息M3进行验证,若验证通过后,车辆解密得到云端数据。
优选的,在S43中具体包括以下子步骤:
S431,云端将解密得到车辆数据D的量子密钥记为P1,云端生成云端消息M3并发送至对应的车辆内:
M3={Head||L(M3)||MT(M3)||Seq(M3)||P1(G)||MAC3||End},
其中,L(M3)表示云端消息M3的帧长度,即云端消息M3里从帧头Head后第一个字符到帧尾End的最后一个字符的字符数量;
MT(M3)表示云端消息M3的消息类型标识符,M3为数据消息;
Seq(M3)表示云端消息M3的消息序列号,Seq(M3)自编号001起,云端信息M3每新增一条,则其消息序列编号加一;
P1(G)表示使用量子密钥P1对称加密云端数据G;
MAC3表示第三校验码,且MAC3=H{L(M3)||MT(M3)||Seq(M3)||P1(G)},即MAC3是通过对L(M3)||MT(M3)||Seq(M3)||P1(G)进行哈希函数计算后得到的;
S432,车辆接收到的云端消息M3通过主控MCU传送至当前车辆所使用的量子密钥芯片内,量子密钥芯片对云端消息M3进行验证:
量子密钥芯片从云端消息M3中提取出云端消息M3的消息序列号Seq(M3),并在量子密钥芯片内所存储过的云端消息序列号中查找是否存在当前消息序列号,若存在当前消息序列号Seq(M3),则量子密钥芯片判定当前云端消息为重复消息,丢弃当前云端消息;
若量子密钥芯片所存储过的云端消息序列号中不存在当前消息序列号Seq(M3),则量子密钥芯片再从云端消息M3中提取出L(M3)、MT(M3)、P1(G)以及第三验证码MAC3,并通过哈希函数计算第四验证码MAC4=H{L(M3)||MT(M3)||Seq(M3)||P1(G)}后,将MAC3与MAC4进行比对,若MAC3与MAC4不相同,则判定云端消息M3不完整,将云端消息M3丢弃;
若MAC3与MAC4相同,则判定云端消息M3完整,则云端消息通过当前车辆所使用的量子密钥芯片的验证;
则量子密钥芯片使用生成加密结果B的量子密钥来对称解密P1(G)后得到云端数据G并发送至当前车辆所使用的主控MCU内。
本发明还提供一种基于量子密钥芯片的车联网安全通信系统,包括:
云端、车辆、充注端,
充注端包括量子密钥充注机、第一量子密钥管理机、第一量子密钥分发终端,
云端包括第二量子密钥管理机、第二量子密钥分发终端、云端通信模块、云端处理模块、云端数据库、云端服务执行模块,
车端包括主控MCU、车辆通信模块、一个及以上的量子密钥芯片,
第一量子密钥分发终端和第二量子密钥分发终端之间通过量子网络来协商生成量子密钥后,第一量子密钥分发终端、第二量子密钥分发终端分别通过有线通信将量子密钥发送至第一量子密钥管理机、第二量子密钥管理机内;
量子密钥充注机通过有线通信向第一量子密钥管理机请求量子密钥,并将第一量子密钥管理机所传送来的量子密钥充注进量子密钥芯片内;
云端数据库用来存储云端处理模块传送来的芯片注册信息、车辆注册信息、车端消息序列号、车辆数据、量子密钥;
云端处理模块调用云端数据库内存储的芯片注册信息通过有线通信来回应量子密钥充注机的注册请求;
云端处理模块根据量子密钥充注机发来的第一芯片信息,通过有线通信向第二量子密钥管理机请求对应的量子密钥,云端处理模块在接收到第二量子密钥管理机所传送来的量子密钥后,云端处理模块生成芯片注册信息存入云端数据库内;
云端处理模块调用云端数据库内存储的存储芯片注册信息、车端消息序列号来对车端消息进行验证和解密,并将解密得到的车辆数据存入云端数据库内或发送至云端服务执行模块;
云端处理模块调用云端数据库内存储的存储芯片注册信息、量子密钥来将云端服务执行模块发送来的云端数据加密成云端消息,并将云端消息传送至云端通信模块内;
云端服务执行模块根据云端处理模块传送来的指令或车辆数据,执行相应的云端服务,并生成对应的云端数据后返回云端处理模块;
云端通信模块用来将云端消息发送至车辆通信模块,或接收车辆通信模块发送来的车端消息并传送至云端处理模块内;
车辆通信模块用来接收云端消息并传送至主控MCU内,或将主控MCU传送来的车端消息发送至云端通信模块内,与云端通信模块之间进行无线通信;
主控MCU与量子密钥芯片连接,具体的:
主控MCU将车辆数据通过加密接口传送至量子密钥芯片内进行加密,量子密钥芯片再将加密结果通过加密接口返回至主控MCU内,主控MCU并基于加密结果生成车端消息,
主控MCU将云端数据通过解密接口传送至量子密钥芯片内进行验证和解密,量子密钥芯片再将验证和解密结果通过解密接口返回至主控MCU内,
主控MCU通过修改根密钥接口来修改量子密钥芯片的根密钥,
主控MCU通过认证接口来修改量子密钥芯片的PIN码,或量子密钥芯片通过认证接口来对当前车辆所使用的主控MCU进行认证,
量子密钥芯片内包括根密钥存储模块、量子密钥存储模块、硬件加解密模块、认证模块、量子随机数发生器,
根密钥存储模块用来存储根密钥;
量子密钥存储模块用来按量子密钥充注机的写入顺序存储量子密钥;
认证模块中存储PIN码,且认证模块用于每次车辆上电后对当前车辆所使用的主控MCU进行身份认证,或是调用根密钥存储模块中的根密钥配合主控MCU修改PIN码;
量子随机数发生器用来生成量子密钥芯片所需的第一随机数、第二随机数、第三随机数、随机密文;
硬件加解密模块通过调用量子密钥存储模块内的量子密钥和/或量子随机数发生器生成的随机数和/或来对主控MCU通过安全接口传送来的信息进行验证、加解密计算处理;
各模块、库被编程或配置以执行上述的一种基于量子密钥芯片的车联网安全通信方法。
优选的,包括两个以上的充注端,各充注端向量子芯片内充注的量子密钥都是当前充注端所包含的第一量子密钥分发端与云端的第二量子密钥分发端之间通过量子网络来协商生成的。
本发明的有益效果在于:
(1)本发明在车端设置了量子密钥芯片,每次车辆启动上电后,当前车辆所使用的主控MCU必须先向当前车辆所使用的量子密钥芯片发起认证请求,否则当前车辆所使用的量子密钥芯片拒绝执行其他其一切非身份认证的工作。并且因为主控MCU在车辆上至关重要的原因,当主控MCU出现故障被维修更换,或是对主控MCU内搭载的系统软件进行升级时,都可能会导致主控MCU不再安全,而在本发明中,每次车辆上电,只有在当前车辆所使用的量子密钥芯片对当前车辆所使用的主控MCU身份认证成功后,当前车辆与云端才能展开后续正式的通信,否则身份认证失败,意味着当前车辆上的主控MCU身份存疑,身份存疑的主控MCU被安装的车辆是不允许与云端展开正式通信的。
(2)本发明中,车辆用户可以根据自身需求决定是否修改当前车辆所使用的量子密钥芯片的根密钥和/或PIN码,并且PIN码也直接参与了每次车辆上电后的身份认证过程,即车辆用户不仅可以通过定时修改PIN码来提高量子密钥芯片对主控MCU进行身份认证的安全性,更可以掌握量子密钥芯片对主控MCU进行身份认证的主动权。
(3)在本发明中,将对车辆数据进行加密、对云端数据进行认证和解密、存储用于进行加解密操作的量子密钥、生成随机数和随机密文等运算处理操作和存储功能全部封装进量子密钥芯片内,相较于现有技术中直接使用车辆自身的操作系统和/或主控MCU来完成上述运算处理操作和存储而言,本发明的主控MCU仅负责将车辆数据打包发送给量子密钥芯片,再基于量子密钥芯片的加密结果来生成车端消息,并且量子密钥芯片内采用硬件加速的方式,不仅整体计算和响应速度远远高于现有技术,而且减少了车辆自身的操作系统和/或主控MCU的资源占用量和计算开销,使车辆自身的操作系统和/或主控MCU更好地服务于车辆的驾驶过程本身,更快地响应当前车辆内部的需求,同时也提高了云端和车辆之间的通信效率。量子密钥芯片的硬件加解密方式也更难以被破解和攻击,提供更高的安全性保护、功耗更低、使用寿命更长。
(4)主控MCU在车端数据被加密的过程中,最多只可以选择量子密钥芯片内的加密方式,但并不清楚量子密钥芯片内具体的加密过程以及加密过程中所使用的量子密钥和随机数,所以:
①即使黑客截获了车辆发送至云端的车端消息,也无法解密得到其中的车辆数据,
②黑客截获了车辆发送至云端的车端消息后,伪装成车辆重复发送至云端,进行重放攻击时,云端会因为已经存储过当前车端消息的消息序列号,而判定当前车端消息重复,最终丢弃当前车端消息,重放攻击失败,
③黑客截获并直接篡改车端消息后再发送至云端,进行篡改攻击,云端会因为计算出的验证码与直接从当前车端消息内抽取的验证码不同,而判定当前车端消息不完整,最终丢弃当前车端消息,篡改攻击失败,
④同理,黑客截获云端消息,也无法解密得到其中的远端数据,并且黑客基于截获的云端消息对车辆进行重放攻击、篡改攻击也无法成功,
即本发明可以抵抗无线通信过程中常见的网络攻击,保证车辆和云端之间的通信安全,降低了车辆数据和/或云端数据泄露的风险。同时,量子密钥芯片因的硬件加解密方式具有物理保护机制,可以防止物理攻击和侧信道攻击。
(5)量子密钥芯片内的量子密钥一旦写入将无法明文导出,所有的认证、加解密运算都在量子密钥芯片内部进行,而量子密钥芯片仅通过有限个安全接口与主控MCU之间进行信息交互,能够对量子密钥实现物理上的保护,进一步避免了量子密钥被破解的可能性,提高了车联网通信的安全性。
(6)本发明量子密钥芯片内设置了三种加密方法,增强了加密过程的随机性,降低了加密过程被反向破解的可能性,且量子密钥芯片中默认的加密方法,通过量子密钥与随机数的结合,即使当前量子密钥芯片内存储的量子密钥已经全部使用过一遍,但新的加密过程使用的仍然是新密钥,使量子芯片的加密过程真正实现了一次一密,车联网通信的安全程度高。
附图说明
图1为本发明一种基于量子密钥芯片的车联网安全通信方法的流程图;
图2为本发明一种基于量子密钥芯片的车联网安全通信系统的模块架构图;
图3为包含多个充注端的云端架构图。
具体实施方式
为使本发明的技术方案更加清晰明确,下面结合附图对本发明进行清楚、完整地描述,本领域普通技术人员在没有做出创造性劳动前提下对本发明技术方案的技术特征进行等价替换和常规推理得出的方案均落入本发明的保护范围。
有线通信因具有固定的拓扑结构,安全技术和方案容易部署,一般认为有线通信是绝对安全的,无线通信的过程可能存在第三方行为而导致信息传输存在风险。云端和车辆之间的无线通信的过程可能存在第三方行为而导致信息传输存在风险。第三方行为包括但不限于第三方监听、第三方截获、第三方截获后篡改信息。
对消息类型做简单说明:在车联网服务中有很多消息,比如注册请求消息、加密请求消息、数据消息等等,为了区别这些不同功能的消息,便于消息接收方明确收到的消息是什么目的,而人工定义了消息类型的标识符,如本实施例中将
注册请求消息的消息类型标识符定义为001,数据消息的消息类型标识符定义为002,加密请求消息的消息类型标识符定义为003等,这些都是被预先设定好的。消息类型标识符的具体设定值不能作为对本发明的限制。
实施例1
如图1所示的流程图,为本发明的一种基于量子密钥芯片的车联网安全通信方法,包括以下步骤:
S1,量子密钥芯片通过量子密钥充注机向云端进行线下安全注册,量子密钥充注机向量子密钥芯片充注若干量子密钥,同时,量子密钥充注机将充注的量子密钥及被充注的量子密钥芯片的序列号绑定成芯片信息后,发送至云端进行存储,量子密钥芯片完成在云端的线下安全注册;
车辆生产出厂时,在车辆的主控MCU里预置了与量子密钥芯片对应的哈希函数和加解密算法;
云端内预置了量子密钥芯片的各种加密方式;
在本实施例中,车辆的主控MCU与量子密钥芯片中预置的加解密算法为SM1国密算法、SM2国密算法、SM3国密算法、SM4国密算法、DES算法中的任意一种或几种,各加解密算法还包括ECB模式、CBC模式等;
S2,量子密钥芯片被安装至车辆后,车辆启动上电时,量子密钥芯片对当前车辆上的主控MCU进行身份认证,当前车辆上的主控MCU通过量子密钥芯片的身份认证后,当前车辆与云端进行正式通信;
S3,当前车辆的量子密钥芯片对当前车辆的主控MCU所发送来的车辆数据使用不同的加密方式进行加密后,将加密结果返回当前车辆的主控MCU内,当前车辆的主控MCU基于加密结果形成车端消息并发送至云端;
S4,云端验证接收到的车端消息,若验证通过,则解密得到车端消息所包含的车辆数据并执行对应的云端服务,并向对应的车辆返回经过云端加密的云端消息;当前车辆与云端之间继续交互通信则重复执行S3~S4;
S5,当前车辆断电后,当前车辆与云端之间的正式通信结束,直至当前车辆再次启动上电,回到S2。
车辆上的CAN总线是一种传送信息的形式,也称作控制器局域网总线技术。一个车辆的动力、底盘、车身、汽车仪表等相关的数百个ECU都挂载在CAN总线上,CAN总线用于一个车辆中各ECU之间的通信。主控MCU通过CAN总线获取不同ECU上传的车辆数据。设置在同一车辆上的主控MCU与量子密钥芯片之间通过CAN总线进行有线通信。
在S1中,量子密钥芯片在云端的线下安全注册还包括以下子步骤:
S11,量子密钥芯片被生产出厂时,就被赋予了唯一的芯片序列号SN、被预先设置了根密钥和PIN码;量子密钥芯片通过量子密钥充注机将芯片序列号SN发送至云端进行注册请求;云端接收到芯片序列号SN后,与云端内已存储的芯片信息进行比对,若当前芯片序列号SN已存在于云端内,则云端通过量子密钥充注机向量子密钥芯片返回“重复注册”的报文信息,若量子密服引擎内不存在当前芯片序列号SN,则量子密服引擎向量子密钥充注机返回“开始充注量子密钥”的报文信息;
S12,量子密钥充注机通过有线通信向第一量子密钥管理机发送包含量子密钥数量的密钥请求,第一量子密钥管理机从自身内部的密钥池中顺序抽取并排列好对应数量的量子密钥后返回量子密钥充注机内,量子密钥充注机将对应数量的量子密钥按排列顺序写入当前进行注册的量子密钥芯片内,量子密钥芯片使用根密钥将所有量子密钥对称加密后进行存储,同时,量子密钥充注机将当前量子密钥芯片序列号SN与当前量子密钥芯片被充注的量子密钥数量绑定成第一芯片信息后,发送至云端内;
S13,云端从第一芯片信息内抽取量子密钥数量与量子密钥芯片序列号SN,并通过有线通信向第二量子密钥管理机发送包含量子密钥数量的密钥请求,第二量子密钥管理机从自身内部的密钥池中顺序抽取并排列好对应数量的量子密钥后返回云端内,云端将对应数量的量子密钥按排列顺序与当前量子密钥芯片序列号SN绑定后形成芯片注册信息并进行存储,量子密钥芯片完成在云端的线下安全注册。
量子密钥充注机内预先设置了从量子密钥芯片内导出芯片序列号的导出程序,以及向量子密钥芯片的写入程序,量子密钥充注机通过调用导出程序从来注册的量子密钥芯片内导出芯片序列号,量子密钥充注机通过调用写入程序向量子密钥芯片内向量子密钥芯片内写入量子密钥。
在S12中具体还包括以下子步骤:
S121,第一量子密钥分发终端和第二量子密钥分发终端不断地通过量子网络接收和/或发送光量子信号,协商生成量子密钥后,第一量子密钥分发终端通过有线通信将量子密钥发送至第一量子密钥管理机内,第二量子密钥分发终端通过有线通信将量子密钥发送至第二量子密钥管理机内;
S122,第一量子密钥管理机和第二量子密钥管理机按接收顺序分别将量子密钥存储在自身内部的密钥池中。
在S121中,量子网络包括光纤有线信道和经典信道,两个量子密钥分发终端通过量子网络协商生成一对相同的量子密钥,两个量子密钥分发终端各持一个量子密钥,通过量子网络协商生成一对相同的量子密钥为现有技术,这里不再赘述。
车辆用户在购买车辆时会被车辆销售人员或制造商告知车辆所使用的量子密钥芯片的默认根密钥和默认PIN码,部分车辆用户在购买车辆之后,会将默认的根密钥和/或默认的PIN码修改成方便自己记忆的字符串。
本发明中,车辆用户最多只能修改一次根密钥。
在S2中,还包括以下子步骤:
S21,车辆启动上电,当前车辆上的主控MCU向当前车辆所使用的量子密钥芯片发送认证请求A2:A2={MT(A2)},
其中,MT(A2)表示认证请求A2的消息类型标识符,A2为认证请求消息,其消息类型标识符定义为001,即MT(A2)=001;
S22,当前车辆所使用的量子密钥芯片接收到认证请求A2后,生成第一随机数N1并通过有线通信发送至主控MCU内;若当前车辆所使用的量子密钥芯片接收到了除认证请求A2外的消息或请求,则拒绝执行;
S23,主控MCU接收到第一随机数N1后,生成认证消息M1后通过有线通信发送至当前车辆所使用的量子密钥芯片内:M1={MT(M1)||ECB[PIN(N1)]},
其中,||表示连接符,MT(M1)表示认证消息M1的消息类型标识符,M1为认证数据消息,其消息类型标识符定义为002,即MT(M1)=002;ECB[PIN(N1)]表示使用当前主控MCU内存储的PIN码基于ECB模式对称加密第一随机数N1;
S24,当前车辆所使用的量子密钥芯片接收认证消息M1后,使用自身存储的PIN码基于ECB模式对称加密S22中生成的第一随机数N1,并将加密结果与从认证消息M1中提取出的ECB[PIN(N1)]进行比对,若不同,则当前车辆所使用的量子密钥芯片通过有线通信向主控MCU返回“身份认证失败”的报文信息,若相同,则当前车辆所使用的量子密钥芯片通过有线通信向主控MCU返回“身份认证通过”的报文信息,当前车辆与云端展开正式通信。
在本实施例中,量子密钥芯片使用量子随机数发生器来生成各随机数。量子随机数具有不可预测性和无偏性,大大提高了各随机数被黑客破解的难度,具有更高的安全性和可靠性。
车辆启动上电后,当前车辆所使用的主控MCU必须先向当前车辆所使用的量子密钥芯片发起认证请求,否则当前车辆所使用的量子密钥芯片拒绝执行其他其一切非身份认证的工作。并且因为主控MCU在车辆上至关重要的原因,当主控MCU出现故障被维修更换,或是对主控MCU内搭载的系统软件进行升级时,都可能会导致主控MCU不再安全,而在本发明中,每次车辆上电,只有在当前车辆所使用的量子密钥芯片对当前车辆所使用的主控MCU身份认证成功后,当前车辆与云端才能展开后续正式的通信,否则身份认证失败,意味着当前车辆上的主控MCU身份存疑,身份存疑的主控MCU被安装的车辆是不允许与云端展开正式通信的。
可选的,若车辆用户需要修改当前车辆所使用的量子密钥芯片的默认根密钥时,在S24后还包括S25a~S27a:
S25a,车辆用户调用主控MCU里的重置根密钥程序,主控MCU通过有线通信向当前车辆所使用的量子密钥芯片发送包含默认根密钥的根密钥重置请求;
S26a,量子密钥芯片接收到根密钥重置请求后,先查找自身存储的根密钥剩余修改次数,若根密钥剩余修改次数为0,则量子密钥芯片通过有线通信向主控MCU返回“无权修改”的报文信息;若根密钥剩余修改次数为1,则量子密钥芯片将从根密钥重置请求里提取出来的默认根密钥与自身存储的根密钥进行比对,若不相同,则量子密钥芯片通过有线通信向主控MCU返回“无权修改”的报文信息,若相同,则量子密钥芯片通过有线通信向主控MCU返回“重置根密钥”的报文信息后,车辆用户将新的根密钥通过主控MCU传送至当前车辆所使用的量子密钥芯片内进行存储,同时主控MCU删除旧的根密钥,存储新的根密钥;
S27a,当前量子密钥芯片将用来对称加密量子密钥的默认根密钥替换成新的根密钥:即当前量子密钥芯片使用默认根密钥将经默认根密钥对称加密后的量子密钥解密,再使用新的根密钥将当前量子密钥芯片内的各量子密钥加密后存储。
可选的,若车辆用户需要修改当前车辆所使用的量子密钥芯片的PIN码时,在S24后还包括S25b~S26b:
S25b,车辆用户调用主控MCU里的重置PIN码程序,主控MCU通过有线通信向当前车辆所使用的量子密钥芯片发送PIN码重置请求A1:
A1=R[PIN(org)],
其中,PIN(org)表示当前量子密钥芯片所使用的PIN码,PIN(org)可以是默认PIN码,也可以是经过一次及以上重置的PIN码;R表示当前量子密钥芯片所使用的根密钥,R[PIN(org)]表示使用根密钥R对称加密当前量子密钥芯片所使用的PIN码;
S26b,量子密钥芯片接收到PIN码重置请求后,查找自身存储的根密钥R´和PIN码PIN(org)´,并使用根密钥R´对称加密PIN(org)´后,与从PIN码重置请求里提取出来R[PIN(org)]进行比对,若不相同,则量子密钥芯片通过有线通信向主控MCU返回“无权修改”的报文信息,若相同,则量子密钥芯片通过有线通信向主控MCU返回“重置PIN码”的报文信息后,车辆用户将新的PIN码通过主控MCU传送至当前车辆所使用的量子密钥芯片内进行存储,同时主控MCU删除旧的PIN码,存储新的PIN码。
在S2中,可以在S24后单独执行S25a~S27a;或在S24后单独执行S25b~S26b;或在S24后先执行S25a~S27a后,再执行S25b~S26b;或在执行S25b~S26b后,再执行S25a~S27a。
在S3中还包括以下子步骤:
S31,主控MCU基于收集到的车辆数据D,形成加密请求A3并发送至当前车辆所使用的量子密钥芯片内:A3={MT(A3)||E(A3)||D},
其中,MT(A3)表示加密请求A3的消息类型标识符,A3为加密请求消息,其消息类型标识符定义为003,即MT(A3)=003;
E(A3)表示加密请求A3的加密方式,E(A3)=01表示量子密钥芯片使用第一种加密方式对车辆数据D进行加密,E(A3)=02表示量子密钥芯片使用第二种加密方式对车辆数据D进行加密,E(A3)=00表示量子密钥芯片使用默认的加密方式对车辆数据D进行加密,
量子密钥芯片中第一种加密方法:量子密钥芯片从自身内部存储的s个量子密钥中任意抽取一个量子密钥Ki,并使用量子密钥Ki对从加密请求A3中抽取出的车辆数据D进行对称加密后生成Ki(D),i表示被抽取的量子密钥Ki的序号,也即量子密钥Ki是当前量子密钥芯片里顺序排列的s个量子密钥中的第i个量子密钥,0<i≤s,且i、s均为正整数,
量子密钥芯片中第二种加密方法:量子密钥芯片生成第二随机数N2,并使用第二随机数N2对从加密请求A3中抽取出的车辆数据D进行对称加密后生成N2(D),同时量子密钥芯片从自身内部存储的s个量子密钥中任意抽取一个量子密钥Kj,并使用量子密钥Kj来对第二随机数N2进行对称加密后生成Kj(N2),j表示被抽取的量子密钥Kj的序号,也即量子密钥Kj是当前量子密钥芯片里顺序排列的s个量子密钥中的第j个量子密钥,0<j≤s,且j、s均为正整数,
量子密钥芯片中默认的加密方法:
量子密钥芯片内存储了s个量子密钥,当量子密钥芯片内未使用过的量子密钥数量x>0时,量子密钥芯片从x个未使用过的量子密钥中任意抽取一个量子密钥Km,并使用量子密钥Km对从加密请求A3中抽取出的车辆数据D进行对称加密后生成Km(D)后,当前量子密钥芯片内未使用过的量子密钥数量就变成了(x-1),m表示被抽取的量子密钥Km的序号,也即量子密钥Km是当前量子密钥芯片里顺序排列的s个量子密钥中的第m个量子密钥,0<x≤s且0<m≤s,且m、x、s均为正整数,
例如,量子密钥芯片内顺序排列并存储了10个量子密钥,当量子密钥芯片内未使用过的量子密钥数量x=4个时,这4个未使用过的量子密钥分别是顺序排列的第2、第6、第9、第10个量子密钥,则量子密钥芯片从这4个未使用过的量子密钥中抽取一个量子密钥K9(即第9个量子密钥),来对车辆数据D进行对称加密后生成K9(D)后,当前量子密钥芯片内未使用过的量子密钥数量就变成了(x-1)=3个了,这3个未使用过的量子密钥分别是顺序排列的第2、第6、第10个量子密钥;
当量子密钥芯片内未使用过的量子密钥数量x=0时,量子密钥芯片生成第三随机数N3,并使用第三随机数N3对从加密请求A3中抽取出的车辆数据D进行对称加密后生成N3(D),同时量子密钥芯片从自身内部存储的s个被使用过的量子密钥中任意抽取一个量子密钥Kn,并使用量子密钥Kn来对第三随机数N3进行对称加密后生成Kn(N3),n表示被抽取的量子密钥Kn的序号,也即量子密钥Kn是当前量子密钥芯片里顺序排列的s个量子密钥中的第n个量子密钥,0<n≤s,且n、s均为正整数,
S32,当前车辆所使用的量子密钥芯片接收到加密请求A3后,根据MT(A3)得知主控MCU希望执行加密操作,则当前车辆所使用的量子密钥芯片选择与E(A3)对应的加密方法,对车辆数据D进行加密,生成加密结果B返回至当前车辆所使用的主控MCU内:
当E(A3)=01时,B={SN||i||y||C1||Ki(D)},
当E(A3)=02时,B={SN||j||y||Kj(N2)||N2(D)},
当E(A3)=00时,B={SN||m||y||C2||Km(D)}或B={SN||n||y||Kn(N3)||N3(D)},
C1和C2为量子密钥芯片生成的随机密文,可以是通过量子随机数发生器生成的随机数,SN表示当前量子密钥芯片的芯片序列号;
y用来判断默认的加密方式中的具体情况,若当前加密结果B不仅是通过默认的加密方式进行加密,且属于默认的加密方式中量子密钥芯片内未使用过的量子密钥数量x=0时的情况,则y=1,否则y=0;
在加密结果B中增加随机密文,可以保证无论采用哪种加密方式,对应的加密结果B的组成部分形式上都是一样的,即使黑客得到多个加密结果B,也无法直接从形式上判断出各加密结果的加密方式是否相同;
S33,前车辆所使用的主控MCU接收到加密结果B后,生成车端消息M2并发送至云端:M2={Head||L(M2)||MT(M2)||Seq(M2)||E(B)||B||MAC1||End},
其中,Head表示帧头,即消息的开头,本实施例中,Head为**或##;
End表示帧尾,即消息的结尾,本实施例中,End为**或##;
L(M2)表示车端消息M2的帧长度,即车端消息M2里从帧头Head后第一个字符到帧尾End的最后一个字符的字符数量,帧头Head、帧尾End、车端消息M2的帧长度L(M2)的存在是为了云端接收到车端消息M2后对其中的各部分进行分割;
MT(M2)表示车端消息M2的消息类型标识符,M2为数据消息,其消息类型标识符定义为002,即MT(M2)=002;
Seq(M2)表示车端消息M2的消息序列号,Seq(M2)自编号001起,车端信息M2每新增一条,则其消息序列编号加一;
E(B)表示得到加密结果B的加密方式,与加密请求A3的加密方式一致,即E(B)=01表示量子密钥芯片使用第一种加密方式得到加密结果B,E(B)=02表示量子密钥芯片使用第二种加密方式得到加密结果B,E(B)=00表示量子密钥芯片使用默认的加密方式得到加密结果B;
MAC1表示第一校验码,且MAC1=H{L(M2)||MT(M2)||Seq(M2)||E(B)||B},H表示哈希函数,即MAC1是通过对L(M2)||MT(M2)||Seq(M2)||E(B)||B进行哈希函数计算后得到的;
在S4中还包括以下子步骤:
S41,云端对车端消息M2进行验证:
云端从车端消息M2中提取出车端消息M2的消息序列号Seq(M2),并在云端所存储过的车端消息序列号中查找是否存在当前消息序列号,若存在当前消息序列号Seq(M2),则云端判定当前车端消息为重复消息,丢弃当前车端消息;
若云端所存储过的车端消息序列号中不存在当前消息序列号Seq(M2),则云端再从车端消息M2中提取出L(M2)、MT(M2)、E(B)、B以及第一验证码MAC1,并通过哈希函数计算第二验证码MAC2=H{L(M2)||MT(M2)||Seq(M2)||E(B)||B}后,将MAC1与MAC2进行比对,若MAC1与MAC2不相同,则判定车端消息M2不完整,将车端消息M2丢弃;
若MAC1与MAC2相同,则判定车端消息M2完整,则云端再从加密结果B中提取出量子密钥芯片的芯片序列号SN,并在云端存储的芯片注册信息里查找是否存在对应的芯片序列号,若云端存储的芯片注册信息里不存在当前芯片序列号SN,则云端将车端消息M2丢弃;
若云端存储的芯片注册信息里存在当前芯片序列号SN,则云端再从加密结果B中提取出量子密钥芯片在加密过程中使用的量子密钥序号后,在云端所存储的与芯片序列号SN所绑定的顺序排列的量子密钥中索引出对应的量子密钥,则云端对车端消息M2验证通过,云端存储车端消息M2的消息序列号;
若云端无法在自身所存储的与芯片序列号SN所绑定的顺序排列的量子密钥中索引出对应的量子密钥,则云端将车端消息M2丢弃;
所以如果黑客截获并篡改了量子密钥序号,使量子密钥序号超过了当前量子密钥芯片内所存储的量子密钥数量,这种情况无法通过云端对车端消息M2的验证;
S42,云端对车端消息M2验证通过后,根据E(B)所代表的加密方式以及在云端存储的芯片注册信息里找到对应的量子密钥,来对称解密加密结果B中的密文:
当E(B)=01时,云端使用在芯片注册信息里查找到的量子密钥Ki,来对称解密从加密结果B中提取出的Ki(D),得到车辆数据D,
当E(B)=02时,云端使用在芯片注册信息里查找到的量子密钥Kj,来对称解密从加密结果B中提取出的Kj(N2),得到第二随机数N2,再使用第二随机数N2来对称解密从加密结果B中提取出的N2(D),得到车辆数据D,
当E(B)=00时,云端通过从加密结果B中提取出的y来判断加密结果B对应的是默认的加密方式中的哪种情况:当y=0时,云端使用在芯片注册信息里查找到的量子密钥Km,来对称解密从加密结果B中提取出的Km(D),得到车辆数据D;当y=1时,云端使用在芯片注册信息里查找到的量子密钥Kn,来对称解密从加密结果B中提取出的Kn(N3),得到第三随机数N3,再使用第三随机数N3来对称解密从加密结果B中提取出的N3(D),得到车辆数据D;
S43,云端对车辆数据D进行计算处理并执行对应的云端服务后,生成云端数据G,在基于云端数据G形成云端消息M4发送至对应的车辆,车辆对云端消息M3进行验证,若验证通过后,车辆解密得到云端数据。
在S43中具体包括以下子步骤:
S431,云端将解密得到车辆数据D的量子密钥记为P1,云端生成云端消息M3并发送至对应的车辆内:
M3={Head||L(M3)||MT(M3)||Seq(M3)||P1(G)||MAC3||End},
其中,L(M3)表示云端消息M3的帧长度,即云端消息M3里从帧头Head后第一个字符到帧尾End的最后一个字符的字符数量;
MT(M3)表示云端消息M3的消息类型标识符,M3为数据消息,其消息类型标识符定义为002,即MT(M3)=002;
Seq(M3)表示云端消息M3的消息序列号,Seq(M3)自编号001起,云端信息M3每新增一条,则其消息序列编号加一;
P1(G)表示使用量子密钥P1对称加密云端数据G;
MAC3表示第三校验码,且MAC3=H{L(M3)||MT(M3)||Seq(M3)||P1(G)},即MAC3是通过对L(M3)||MT(M3)||Seq(M3)||P1(G)进行哈希函数计算后得到的;
S432,车辆接收到的云端消息M3通过主控MCU传送至当前车辆所使用的量子密钥芯片内,量子密钥芯片对云端消息M3进行验证:
量子密钥芯片从云端消息M3中提取出云端消息M3的消息序列号Seq(M3),并在量子密钥芯片内所存储过的云端消息序列号中查找是否存在当前消息序列号,若存在当前消息序列号Seq(M3),则量子密钥芯片判定当前云端消息为重复消息,丢弃当前云端消息;
若量子密钥芯片所存储过的云端消息序列号中不存在当前消息序列号Seq(M3),则量子密钥芯片再从云端消息M3中提取出L(M3)、MT(M3)、P1(G)以及第三验证码MAC3,并通过哈希函数计算第四验证码MAC4=H{L(M3)||MT(M3)||Seq(M3)||P1(G)}后,将MAC3与MAC4进行比对,若MAC3与MAC4不相同,则判定云端消息M3不完整,将云端消息M3丢弃;
若MAC3与MAC4相同,则判定云端消息M3完整,则云端消息通过当前车辆所使用的量子密钥芯片的验证;
则量子密钥芯片使用生成加密结果B的量子密钥来对称解密P1(G)后得到云端数据G并发送至当前车辆所使用的主控MCU内。
可选的,量子密钥芯片在S32中生成加密结果B时,选定当前量子密钥芯片内的一个量子密钥P2来作为后续云端对称加密云端数据G的密钥,同时,量子密钥芯片将量子密钥P2的序号放入加密结果B中,则S431~S432中用来对称加密云端数据G的量子密钥P1替换成量子密钥P2,对应的量子密钥芯片也使用量子密钥P2来对称解密P2(G)后得到云端数据G并发送至当前车辆所使用的主控MCU内。
本发明的基于量子密钥芯片的车联网安全通信方法中:
(1)本发明在车端设置了量子密钥芯片,每次车辆启动上电后,当前车辆所使用的主控MCU必须先向当前车辆所使用的量子密钥芯片发起认证请求,否则当前车辆所使用的量子密钥芯片拒绝执行其他其一切非身份认证的工作。并且因为主控MCU在车辆上至关重要的原因,当主控MCU出现故障被维修更换,或是对主控MCU内搭载的系统软件进行升级时,都可能会导致主控MCU不再安全,而在本发明中,每次车辆上电,只有在当前车辆所使用的量子密钥芯片对当前车辆所使用的主控MCU身份认证成功后,当前车辆与云端才能展开后续正式的通信,否则身份认证失败,意味着当前车辆上的主控MCU身份存疑,身份存疑的主控MCU被安装的车辆是不允许与云端展开正式通信的。
(2)本发明中,车辆用户可以根据自身需求决定是否修改当前车辆所使用的量子密钥芯片的根密钥和/或PIN码,并且PIN码也直接参与了每次车辆上电后的身份认证过程,即车辆用户不仅可以通过定时修改PIN码来提高量子密钥芯片对主控MCU进行身份认证的安全性,更可以掌握量子密钥芯片对主控MCU进行身份认证的主动权。
(3)在本发明中,将对车辆数据进行加密、对云端数据进行认证和解密、存储用于进行加解密操作的量子密钥、生成随机数和随机密文等运算处理操作和存储功能全部封装进量子密钥芯片内,相较于现有技术中直接使用车辆自身的操作系统和/或主控MCU来完成上述运算处理操作和存储而言,本发明的主控MCU仅负责将车辆数据打包发送给量子密钥芯片,再基于量子密钥芯片的加密结果来生成车端消息,并且量子密钥芯片内采用硬件加解密的方式,不仅整体计算和响应速度远远高于现有技术,而且减少了车辆自身的操作系统和/或主控MCU的资源占用量和计算开销,使车辆自身的操作系统和/或主控MCU更好地服务于车辆的驾驶过程本身,更快地响应当前车辆内部的需求,同时也提高了云端和车辆之间的通信效率。量子密钥芯片的硬件加解密方式也更难以被破解和攻击,提供更高的安全性保护、功耗更低、使用寿命更长。
(4)主控MCU在车端数据被加密的过程中,最多只可以选择量子密钥芯片内的加密方式,但并不清楚量子密钥芯片内具体的加密过程以及加密过程中所使用的量子密钥和随机数,所以:
①即使黑客截获了车辆发送至云端的车端消息,也无法解密得到其中的车辆数据,
②黑客截获了车辆发送至云端的车端消息后,伪装成车辆重复发送至云端,进行重放攻击时,云端会因为已经存储过当前车端消息的消息序列号,而判定当前车端消息重复,最终丢弃当前车端消息,重放攻击失败,
③黑客截获并直接篡改车端消息后再发送至云端,进行篡改攻击,云端会因为计算出的验证码与直接从当前车端消息内抽取的验证码不同,而判定当前车端消息不完整,最终丢弃当前车端消息,篡改攻击失败,
④同理,黑客截获云端消息,也无法解密得到其中的远端数据,并且黑客基于截获的云端消息对车辆进行重放攻击、篡改攻击也无法成功,
即本发明可以抵抗无线通信过程中常见的网络攻击,保证车辆和云端之间的通信安全,降低了车辆数据和/或云端数据泄露的风险。同时,量子密钥芯片因的硬件加解密方式具有物理保护机制,可以防止物理攻击和侧信道攻击。
(5)量子密钥芯片内的量子密钥一旦写入将无法明文导出,所有的认证、加解密运算都在量子密钥芯片内部进行,而量子密钥芯片仅通过有限个安全接口与主控MCU之间进行信息交互,能够对量子密钥实现物理上的保护,进一步避免了量子密钥被破解的可能性,提高了车联网通信的安全性。
(6)本发明量子密钥芯片内设置了三种加密方法,增强了加密过程的随机性,降低了加密过程被反向破解的可能性,且量子密钥芯片中默认的加密方法,通过量子密钥与随机数的结合,即使当前量子密钥芯片内存储的量子密钥已经全部使用过一遍,但新的加密过程使用的仍然是新密钥,使量子芯片的加密过程真正实现了一次一密,车联网通信的安全程度高。
实施例2
如图2所示,虚线表示无线通信,实线表示有线通信或通过安全接口或通过量子网络的信息传输,本发明还提供一种基于量子密钥芯片的车联网安全通信系统,包括云端、车辆端、充注端:
充注端包括量子密钥充注机、第一量子密钥管理机、第一量子密钥分发终端,
云端包括第二量子密钥管理机、第二量子密钥分发终端、云端通信模块、云端处理模块、云端数据库、云端服务执行模块,
车端端包括主控MCU、车辆通信模块、一个及以上的量子密钥芯片,
第一量子密钥分发终端和第二量子密钥分发终端之间通过量子网络来协商生成量子密钥后,第一量子密钥分发终端、第二量子密钥分发终端分别通过有线通信将量子密钥发送至第一量子密钥管理机、第二量子密钥管理机内;
量子密钥充注机通过有线通信向第一量子密钥管理机请求量子密钥,并将第一量子密钥管理机所传送来的量子密钥充注进量子密钥芯片内;
云端数据库用来存储云端处理模块传送来的芯片注册信息、车辆注册信息、车端消息序列号、车辆数据、量子密钥;
云端处理模块调用云端数据库内存储的芯片注册信息通过有线通信来回应量子密钥充注机的注册请求;
云端处理模块根据量子密钥充注机发来的第一芯片信息,通过有线通信向第二量子密钥管理机请求对应的量子密钥,云端处理模块在接收到第二量子密钥管理机所传送来的量子密钥后,云端处理模块生成芯片注册信息存入云端数据库内;
云端处理模块调用云端数据库内存储的存储芯片注册信息、车端消息序列号来对车端消息进行验证和解密,并将解密得到的车辆数据存入云端数据库内或发送至云端服务执行模块;
云端处理模块调用云端数据库内存储的存储芯片注册信息、量子密钥来将云端服务执行模块发送来的云端数据加密成云端消息,并将云端消息传送至云端通信模块内;
在本实施例中,云端处理模块为量子密服引擎,内部搭载有安全应用SDK,安全应用SDK预置了与量子密钥芯片对应的哈希函数和加解密算法;
云端服务执行模块根据云端处理模块传送来的指令或车辆数据,执行相应的云端服务,并生成对应的云端数据后返回云端处理模块;
云端通信模块用来将云端消息发送至车辆通信模块,或接收车辆通信模块发送来的车端消息并传送至云端处理模块内;
车辆通信模块用来接收云端消息并传送至主控MCU内,或将主控MCU传送来的车端消息发送至云端通信模块内,与云端通信模块之间进行无线通信;
主控MCU用来获取挂载在CAN总线上各ECU发送来的车辆数据,对车辆数据进行计算处理后再通过CAN总线给挂载在CAN总线上的ECU发送指令来控制车辆的行驶;
主控MCU通过多个专用的安全接口与量子密钥芯片连接,具体的:
主控MCU将车辆数据通过加密接口传送至量子密钥芯片内进行加密,量子密钥芯片再将加密结果通过加密接口返回至主控MCU内,主控MCU并基于加密结果生成车端消息,
主控MCU将云端数据通过解密接口传送至量子密钥芯片内进行验证和解密,量子密钥芯片再将验证和解密结果通过解密接口返回至主控MCU内,
主控MCU通过修改根密钥接口来修改量子密钥芯片的根密钥,
主控MCU通过认证接口来修改量子密钥芯片的PIN码,或量子密钥芯片通过认证接口来对当前车辆所使用的主控MCU进行认证,
在本实施例中,主控MCU包括接收CAN总线信息或向CAN总线发送信息的CAN收发器,主控MCU内搭载有安全应用SDK,安全应用SDK预置了与量子密钥芯片对应的哈希函数和加解密算法;各安全接口为SPI/I2C/7816接口,同时,主控MCU和量子密钥芯片之间通过安全接口传输信息时还需调用对应的安全通信协议。
量子密钥芯片内包括根密钥存储模块、量子密钥存储模块、硬件加解密模块、认证模块、量子随机数发生器,
根密钥存储模块用来存储根密钥;
量子密钥存储模块用来按量子密钥充注机的写入顺序存储量子密钥;
认证模块中存储PIN码,且认证模块用于每次车辆上电后对当前车辆所使用的主控MCU进行身份认证,或是调用根密钥存储模块中的根密钥配合主控MCU修改PIN码;
量子随机数发生器用来生成量子密钥芯片所需的第一随机数、第二随机数、第三随机数、随机密文;
硬件加解密模块通过调用量子密钥存储模块内的量子密钥和/或量子随机数发生器生成的随机数和/或来对主控MCU通过安全接口传送来的信息进行验证、加解密计算处理;
各模块、库被编程或配置以执行如实施例1中描述的一种基于量子密钥芯片的车联网安全通信方法。
可选的,如图3所示,在本发明的一种基于量子密钥芯片的车联网安全通信系统还可以包括两个及以上设置在不同地点的充注端,各充注端向量子芯片内充注的量子密钥都是当前充注端所包含的第一量子密钥分发端与云端的第二量子密钥分发端之间通过量子网络来协商生成的。
这样量子密钥芯片可以在任意充注端进行注册与量子密钥的充注,即使一个充注端发生故障,其他充注端可以分流量子密钥芯片的注册工作,保障了各充注端的安全与资源配置合理性。
本发明未详细描述的技术、形状、构造部分均为公知技术。

Claims (9)

1.一种基于量子密钥芯片的车联网安全通信方法,其特征在于,包括以下步骤:
S1,量子密钥芯片通过量子密钥充注机向云端进行线下安全注册,量子密钥充注机向量子密钥芯片充注若干量子密钥,同时,量子密钥充注机将充注的量子密钥及被充注的量子密钥芯片的序列号绑定成芯片信息后,发送至云端进行存储,量子密钥芯片完成在云端的线下安全注册;
车辆生产出厂时,在车辆的主控MCU里预置了与量子密钥芯片对应的哈希函数和加解密算法;
云端内预置了与量子密钥芯片对应的各种加密方式;
S2,量子密钥芯片被安装至车辆后,车辆启动上电时,量子密钥芯片对当前车辆上的主控MCU进行身份认证,当前车辆上的主控MCU通过量子密钥芯片的身份认证后,当前车辆与云端进行正式通信;
S3,当前车辆的量子密钥芯片对当前车辆的主控MCU所发送来的车辆数据使用不同的加密方式进行加密后,将加密结果返回当前车辆的主控MCU内,当前车辆的主控MCU基于加密结果形成车端消息并发送至云端;
S4,云端验证接收到的车端消息,若验证通过,则解密得到车端消息所包含的车辆数据并执行对应的云端服务,并向对应的车辆返回经过云端加密的云端消息;当前车辆与云端之间继续交互通信则重复执行S3~S4;
S5,当前车辆断电后,当前车辆与云端之间的正式通信结束,直至当前车辆再次启动上电,回到S2;
在S1中,量子密钥芯片在云端的线下安全注册还包括以下子步骤:
S11,量子密钥芯片被生产出厂时,就被赋予了唯一的芯片序列号SN、被预先设置了根密钥和PIN码;量子密钥芯片通过量子密钥充注机将芯片序列号SN发送至云端进行注册请求;云端接收到芯片序列号SN后,与云端内已存储的芯片信息进行比对,若当前芯片序列号SN已存在于云端内,则云端通过量子密钥充注机向量子密钥芯片返回“重复注册”的报文信息,若量子密服引擎内不存在当前芯片序列号SN,则量子密服引擎向量子密钥充注机返回“开始充注量子密钥”的报文信息;
S12,量子密钥充注机通过有线通信向第一量子密钥管理机发送包含量子密钥数量的密钥请求,第一量子密钥管理机从自身内部的密钥池中顺序抽取并排列好对应数量的量子密钥后返回量子密钥充注机内,量子密钥充注机将对应数量的量子密钥按排列顺序写入当前进行注册的量子密钥芯片内,量子密钥芯片使用根密钥将所有量子密钥对称加密后进行存储,同时,量子密钥充注机将当前量子密钥芯片序列号SN与当前量子密钥芯片被充注的量子密钥数量绑定成第一芯片信息后,发送至云端内;
S13,云端从第一芯片信息内抽取量子密钥数量与量子密钥芯片序列号SN,并通过有线通信向第二量子密钥管理机发送包含量子密钥数量的密钥请求,第二量子密钥管理机从自身内部的密钥池中顺序抽取并排列好对应数量的量子密钥后返回云端内,云端将对应数量的量子密钥按排列顺序与当前量子密钥芯片序列号SN绑定后形成芯片注册信息并进行存储,量子密钥芯片完成在云端的线下安全注册。
2.根据权利要求1所述的一种基于量子密钥芯片的车联网安全通信方法,其特征在于,S2还包括以下子步骤:
S21,车辆启动上电,当前车辆上的主控MCU向当前车辆所使用的量子密钥芯片发送认证请求A2:A2={MT(A2)},
其中,MT(A2)表示认证请求A2的消息类型标识符,A2为认证请求消息;
S22,当前车辆所使用的量子密钥芯片接收到认证请求A2后,生成第一随机数N1并通过有线通信发送至主控MCU内;若当前车辆所使用的量子密钥芯片接收到了除认证请求A2外的消息或请求,则拒绝执行;
S23,主控MCU接收到第一随机数N1后,生成认证消息M1后通过有线通信发送至当前车辆所使用的量子密钥芯片内:M1={MT(M1)||ECB[PIN(N1)]},
其中,||表示连接符,MT(M1)表示认证消息M1的消息类型标识符,M1为认证数据消息;ECB[PIN(N1)]表示使用当前主控MCU内存储的PIN码基于ECB模式对称加密第一随机数N1;
S24,当前车辆所使用的量子密钥芯片接收认证消息M1后,使用自身存储的PIN码基于ECB模式对称加密S22中生成的第一随机数N1,并将加密结果与从认证消息M1中提取出的ECB[PIN(N1)]进行比对,若不同,则当前车辆所使用的量子密钥芯片通过有线通信向主控MCU返回“身份认证失败”的报文信息,若相同,则当前车辆所使用的量子密钥芯片通过有线通信向主控MCU返回“身份认证通过”的报文信息,当前车辆与云端展开正式通信。
3.根据权利要求2所述的一种基于量子密钥芯片的车联网安全通信方法,其特征在于,若车辆用户需要修改当前车辆所使用的量子密钥芯片的默认根密钥时,在S24后还包括S25a~S27a:
S25a,车辆用户调用主控MCU里的重置根密钥程序,主控MCU通过有线通信向当前车辆所使用的量子密钥芯片发送包含默认根密钥的根密钥重置请求;
S26a,量子密钥芯片接收到根密钥重置请求后,先查找自身存储的根密钥剩余修改次数,若根密钥剩余修改次数为0,则量子密钥芯片通过有线通信向主控MCU返回“无权修改”的报文信息;若根密钥剩余修改次数大于等于1,则量子密钥芯片将从根密钥重置请求里提取出来的默认根密钥与自身存储的根密钥进行比对,若不相同,则量子密钥芯片通过有线通信向主控MCU返回“无权修改”的报文信息,若相同,则量子密钥芯片通过有线通信向主控MCU返回“重置根密钥”的报文信息后,车辆用户将新的根密钥通过主控MCU传送至当前车辆所使用的量子密钥芯片内进行存储,同时主控MCU删除旧的根密钥,存储新的根密钥;
S27a,当前量子密钥芯片将用来对称加密量子密钥的默认根密钥替换成新的根密钥:即当前量子密钥芯片使用默认根密钥将经默认根密钥对称加密后的量子密钥解密,再使用新的根密钥将当前量子密钥芯片内的各量子密钥加密后存储。
4.根据权利要求2所述的一种基于量子密钥芯片的车联网安全通信方法,其特征在于,若车辆用户需要修改当前车辆所使用的量子密钥芯片的PIN码时,在S24后还包括S25b~S26b:
S25b,车辆用户调用主控MCU里的重置PIN码程序,主控MCU通过有线通信向当前车辆所使用的量子密钥芯片发送PIN码重置请求A1:
A1=R[PIN(org)],
其中,PIN(org)表示当前量子密钥芯片所使用的PIN码,PIN(org)是默认PIN码,或是经过一次及以上重置的PIN码;R表示当前量子密钥芯片所使用的根密钥,R[PIN(org)]表示使用根密钥R对称加密当前量子密钥芯片所使用的PIN码;
S26b,量子密钥芯片接收到PIN码重置请求后,查找自身存储的根密钥R´和PIN码PIN(org)´,并使用根密钥R´对称加密PIN(org)´后,与从PIN码重置请求里提取出来R[PIN(org)]进行比对,若不相同,则量子密钥芯片通过有线通信向主控MCU返回“无权修改”的报文信息,若相同,则量子密钥芯片通过有线通信向主控MCU返回“重置PIN码”的报文信息后,车辆用户将新的PIN码通过主控MCU传送至当前车辆所使用的量子密钥芯片内进行存储,同时主控MCU删除旧的PIN码,存储新的PIN码。
5.根据权利要求2-4中任意一项所述的一种基于量子密钥芯片的车联网安全通信方法,其特征在于,S3还包括以下子步骤:
S31,主控MCU基于收集到的车辆数据D,形成加密请求A3并发送至当前车辆所使用的量子密钥芯片内:A3={MT(A3)||E(A3)||D},
其中,MT(A3)表示加密请求A3的消息类型标识符,A3为加密请求消息;
E(A3)表示加密请求A3的加密方式,E(A3)=01表示量子密钥芯片使用第一种加密方式对车辆数据D进行加密,E(A3)=02表示量子密钥芯片使用第二种加密方式对车辆数据D进行加密,E(A3)=00表示量子密钥芯片使用默认的加密方式对车辆数据D进行加密,
量子密钥芯片中第一种加密方法:量子密钥芯片从自身内部存储的s个量子密钥中任意抽取一个量子密钥Ki,并使用量子密钥Ki对从加密请求A3中抽取出的车辆数据D进行对称加密后生成Ki(D),i表示被抽取的量子密钥Ki的序号,也即量子密钥Ki是当前量子密钥芯片里顺序排列的s个量子密钥中的第i个量子密钥,0<i≤s,且i、s均为正整数,
量子密钥芯片中第二种加密方法:量子密钥芯片生成第二随机数N2,并使用第二随机数N2对从加密请求A3中抽取出的车辆数据D进行对称加密后生成N2(D),同时量子密钥芯片从自身内部存储的s个量子密钥中任意抽取一个量子密钥Kj,并使用量子密钥Kj来对第二随机数N2进行对称加密后生成Kj(N2),j表示被抽取的量子密钥Kj的序号,也即量子密钥Kj是当前量子密钥芯片里顺序排列的s个量子密钥中的第j个量子密钥,0<j≤s,且j、s均为正整数,
量子密钥芯片中默认的加密方法:
量子密钥芯片内存储了s个量子密钥,当量子密钥芯片内未使用过的量子密钥数量x>0时,量子密钥芯片从x个未使用过的量子密钥中任意抽取一个量子密钥Km,并使用量子密钥Km对从加密请求A3中抽取出的车辆数据D进行对称加密后生成Km(D)后,当前量子密钥芯片内未使用过的量子密钥数量就变成了(x-1)个,m表示被抽取的量子密钥Km的序号,也即量子密钥Km是当前量子密钥芯片里顺序排列的s个量子密钥中的第m个量子密钥,0<x≤s且0<m≤s,且m、x、s均为正整数,
当量子密钥芯片内未使用过的量子密钥数量x=0时,量子密钥芯片生成第三随机数N3,并使用第三随机数N3对从加密请求A3中抽取出的车辆数据D进行对称加密后生成N3(D),同时量子密钥芯片从自身内部存储的s个被使用过的量子密钥中任意抽取一个量子密钥Kn,并使用量子密钥Kn来对第三随机数N3进行对称加密后生成Kn(N3),n表示被抽取的量子密钥Kn的序号,也即量子密钥Kn是当前量子密钥芯片里顺序排列的s个量子密钥中的第n个量子密钥,0<n≤s,且n、s均为正整数;
S32,当前车辆所使用的量子密钥芯片接收到加密请求A3后,根据MT(A3)得知主控MCU希望执行加密操作,则当前车辆所使用的量子密钥芯片选择与E(A3)对应的加密方法,对车辆数据D进行加密,生成加密结果B返回至当前车辆所使用的主控MCU内:
当E(A3)=01时,B={SN||i||y||C1||Ki(D)},
当E(A3)=02时,B={SN||j||y||Kj(N2)||N2(D)},
当E(A3)=00时,B={SN||m||y||C2||Km(D)}或B={SN||n||y||Kn(N3)||N3(D)},
C1和C2为量子密钥芯片生成的随机密文,是通过量子随机数发生器生成的随机数,SN表示当前量子密钥芯片的芯片序列号;
y用来判断默认的加密方式中的具体情况,若当前加密结果B不仅是通过默认的加密方式进行加密,且属于默认的加密方式中量子密钥芯片内未使用过的量子密钥数量x=0时的情况,则y=1,否则y=0;
S33,前车辆所使用的主控MCU接收到加密结果B后,生成车端消息M2并发送至云端:M2={Head||L(M2)||MT(M2)||Seq(M2)||E(B)||B||MAC1||End},
其中,Head表示帧头,即消息的开头,End表示帧尾,即消息的结尾,
L(M2)表示车端消息M2的帧长度,即车端消息M2里从帧头Head后第一个字符到帧尾End的最后一个字符的字符数量;
MT(M2)表示车端消息M2的消息类型标识符,M2为数据消息;
Seq(M2)表示车端消息M2的消息序列号,Seq(M2)自编号001起,车端信息M2每新增一条,则其消息序列编号加一;
E(B)表示得到加密结果B的加密方式,与加密请求A3的加密方式一致,即E(B)=01表示量子密钥芯片使用第一种加密方式得到加密结果B,E(B)=02表示量子密钥芯片使用第二种加密方式得到加密结果B,E(B)=00表示量子密钥芯片使用默认的加密方式得到加密结果B;
MAC1表示第一校验码,且MAC1=H{L(M2)||MT(M2)||Seq(M2)||E(B)||B},H表示哈希函数,即MAC1是通过对L(M2)||MT(M2)||Seq(M2)||E(B)||B进行哈希函数计算后得到的。
6.根据权利要求5所述的一种基于量子密钥芯片的车联网安全通信方法,其特征在于,在S4中还包括以下子步骤:
S41,云端对车端消息M2进行验证:
云端从车端消息M2中提取出车端消息M2的消息序列号Seq(M2),并在云端所存储过的车端消息序列号中查找是否存在当前消息序列号,若存在当前消息序列号Seq(M2),则云端判定当前车端消息为重复消息,丢弃当前车端消息;
若云端所存储过的车端消息序列号中不存在当前消息序列号Seq(M2),则云端再从车端消息M2中提取出L(M2)、MT(M2)、E(B)、B以及第一验证码MAC1,并通过哈希函数计算第二验证码MAC2=H{L(M2)||MT(M2)||Seq(M2)||E(B)||B}后,将MAC1与MAC2进行比对,若MAC1与MAC2不相同,则判定车端消息M2不完整,将车端消息M2丢弃;
若MAC1与MAC2相同,则判定车端消息M2完整,则云端再从加密结果B中提取出量子密钥芯片的芯片序列号SN,并在云端存储的芯片注册信息里查找是否存在对应的芯片序列号,若云端存储的芯片注册信息里不存在当前芯片序列号SN,则云端将车端消息M2丢弃;
若云端存储的芯片注册信息里存在当前芯片序列号SN,则云端再从加密结果B中提取出量子密钥芯片在加密过程中使用的量子密钥序号后,在云端所存储的与芯片序列号SN所绑定的顺序排列的量子密钥中索引出对应的量子密钥,则云端对车端消息M2验证通过,云端存储车端消息M2的消息序列号;
若云端无法在自身所存储的与芯片序列号SN所绑定的顺序排列的量子密钥中索引出对应的量子密钥,则云端将车端消息M2丢弃;
S42,云端对车端消息M2验证通过后,根据E(B)所代表的加密方式以及在云端存储的芯片注册信息里找到对应的量子密钥,来对称解密加密结果B中的密文:
当E(B)=01时,云端使用在芯片注册信息里查找到的量子密钥Ki,来对称解密从加密结果B中提取出的Ki(D),得到车辆数据D,
当E(B)=02时,云端使用在芯片注册信息里查找到的量子密钥Kj,来对称解密从加密结果B中提取出的Kj(N2),得到第二随机数N2,再使用第二随机数N2来对称解密从加密结果B中提取出的N2(D),得到车辆数据D,
当E(B)=00时,云端通过从加密结果B中提取出的y来判断加密结果B对应的是默认的加密方式中的哪种情况:当y=0时,云端使用在芯片注册信息里查找到的量子密钥Km,来对称解密从加密结果B中提取出的Km(D),得到车辆数据D;当y=1时,云端使用在芯片注册信息里查找到的量子密钥Kn,来对称解密从加密结果B中提取出的Kn(N3),得到第三随机数N3,再使用第三随机数N3来对称解密从加密结果B中提取出的N3(D),得到车辆数据D;
S43,云端对车辆数据D进行计算处理并执行对应的云端服务后,生成云端数据G,在基于云端数据G形成云端消息M4发送至对应的车辆,车辆对云端消息M3进行验证,若验证通过后,车辆解密得到云端数据。
7.据权利要求6所述的一种基于量子密钥芯片的车联网安全通信方法,其特征在于,在S43中具体包括以下子步骤:
S431,云端将解密得到车辆数据D的量子密钥记为P1,云端生成云端消息M3并发送至对应的车辆内:
M3={Head||L(M3)||MT(M3)||Seq(M3)||P1(G)||MAC3||End},
其中,L(M3)表示云端消息M3的帧长度,即云端消息M3里从帧头Head后第一个字符到帧尾End的最后一个字符的字符数量;
MT(M3)表示云端消息M3的消息类型标识符,M3为数据消息;
Seq(M3)表示云端消息M3的消息序列号,Seq(M3)自编号001起,云端信息M3每新增一条,则其消息序列编号加一;
P1(G)表示使用量子密钥P1对称加密云端数据G;
MAC3表示第三校验码,且MAC3=H{L(M3)||MT(M3)||Seq(M3)||P1(G)},即MAC3是通过对L(M3)||MT(M3)||Seq(M3)||P1(G)进行哈希函数计算后得到的;
S432,车辆接收到的云端消息M3通过主控MCU传送至当前车辆所使用的量子密钥芯片内,量子密钥芯片对云端消息M3进行验证:
量子密钥芯片从云端消息M3中提取出云端消息M3的消息序列号Seq(M3),并在量子密钥芯片内所存储过的云端消息序列号中查找是否存在当前消息序列号,若存在当前消息序列号Seq(M3),则量子密钥芯片判定当前云端消息为重复消息,丢弃当前云端消息;
若量子密钥芯片所存储过的云端消息序列号中不存在当前消息序列号Seq(M3),则量子密钥芯片再从云端消息M3中提取出L(M3)、MT(M3)、P1(G)以及第三验证码MAC3,并通过哈希函数计算第四验证码MAC4=H{L(M3)||MT(M3)||Seq(M3)||P1(G)}后,将MAC3与MAC4进行比对,若MAC3与MAC4不相同,则判定云端消息M3不完整,将云端消息M3丢弃;
若MAC3与MAC4相同,则判定云端消息M3完整,则云端消息通过当前车辆所使用的量子密钥芯片的验证;
则量子密钥芯片使用生成加密结果B的量子密钥来对称解密P1(G)后得到云端数据G并发送至当前车辆所使用的主控MCU内。
8.一种基于量子密钥芯片的车联网安全通信系统,其特征在于,包括:
云端、车辆、充注端,
充注端包括量子密钥充注机、第一量子密钥管理机、第一量子密钥分发终端,
云端包括第二量子密钥管理机、第二量子密钥分发终端、云端通信模块、云端处理模块、云端数据库、云端服务执行模块,
车端包括主控MCU、车辆通信模块、一个及以上的量子密钥芯片,
第一量子密钥分发终端和第二量子密钥分发终端之间通过量子网络来协商生成量子密钥后,第一量子密钥分发终端、第二量子密钥分发终端分别通过有线通信将量子密钥发送至第一量子密钥管理机、第二量子密钥管理机内;
量子密钥充注机通过有线通信向第一量子密钥管理机请求量子密钥,并将第一量子密钥管理机所传送来的量子密钥充注进量子密钥芯片内;
云端数据库用来存储云端处理模块传送来的芯片注册信息、车辆注册信息、车端消息序列号、车辆数据、量子密钥;
云端处理模块调用云端数据库内存储的芯片注册信息通过有线通信来回应量子密钥充注机的注册请求;
云端处理模块根据量子密钥充注机发来的第一芯片信息,通过有线通信向第二量子密钥管理机请求对应的量子密钥,云端处理模块在接收到第二量子密钥管理机所传送来的量子密钥后,云端处理模块生成芯片注册信息存入云端数据库内;
云端处理模块调用云端数据库内存储的存储芯片注册信息、车端消息序列号来对车端消息进行验证和解密,并将解密得到的车辆数据存入云端数据库内或发送至云端服务执行模块;
云端处理模块调用云端数据库内存储的存储芯片注册信息、量子密钥来将云端服务执行模块发送来的云端数据加密成云端消息,并将云端消息传送至云端通信模块内;
云端服务执行模块根据云端处理模块传送来的指令或车辆数据,执行相应的云端服务,并生成对应的云端数据后返回云端处理模块;
云端通信模块用来将云端消息发送至车辆通信模块,或接收车辆通信模块发送来的车端消息并传送至云端处理模块内;
车辆通信模块用来接收云端消息并传送至主控MCU内,或将主控MCU传送来的车端消息发送至云端通信模块内,与云端通信模块之间进行无线通信;
主控MCU与量子密钥芯片连接,具体的:
主控MCU将车辆数据通过加密接口传送至量子密钥芯片内进行加密,量子密钥芯片再将加密结果通过加密接口返回至主控MCU内,主控MCU并基于加密结果生成车端消息,
主控MCU将云端数据通过解密接口传送至量子密钥芯片内进行验证和解密,量子密钥芯片再将验证和解密结果通过解密接口返回至主控MCU内,
主控MCU通过修改根密钥接口来修改量子密钥芯片的根密钥,
主控MCU通过认证接口来修改量子密钥芯片的PIN码,或量子密钥芯片通过认证接口来对当前车辆所使用的主控MCU进行认证,
量子密钥芯片内包括根密钥存储模块、量子密钥存储模块、硬件加解密模块、认证模块、量子随机数发生器,
根密钥存储模块用来存储根密钥;
量子密钥存储模块用来按量子密钥充注机的写入顺序存储量子密钥;
认证模块中存储PIN码,且认证模块用于每次车辆上电后对当前车辆所使用的主控MCU进行身份认证,或是调用根密钥存储模块中的根密钥配合主控MCU修改PIN码;
量子随机数发生器用来生成量子密钥芯片所需的第一随机数、第二随机数、第三随机数、随机密文;
硬件加解密模块通过调用量子密钥存储模块内的量子密钥和/或量子随机数发生器生成的随机数和/或来对主控MCU通过安全接口传送来的信息进行验证、加解密计算处理;
各模块、库被编程或配置以执行如权利要求7所述的一种基于量子密钥芯片的车联网安全通信方法。
9.根据权利要求8所述的一种基于量子密钥芯片的车联网安全通信系统,其特征在于:包括两个以上的充注端,各充注端向量子芯片内充注的量子密钥都是当前充注端所包含的第一量子密钥分发端与云端的第二量子密钥分发端之间通过量子网络来协商生成的。
CN202311687382.5A 2023-12-11 2023-12-11 一种基于量子密钥芯片的车联网安全通信方法及系统 Active CN117395001B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311687382.5A CN117395001B (zh) 2023-12-11 2023-12-11 一种基于量子密钥芯片的车联网安全通信方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311687382.5A CN117395001B (zh) 2023-12-11 2023-12-11 一种基于量子密钥芯片的车联网安全通信方法及系统

Publications (2)

Publication Number Publication Date
CN117395001A CN117395001A (zh) 2024-01-12
CN117395001B true CN117395001B (zh) 2024-02-20

Family

ID=89437758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311687382.5A Active CN117395001B (zh) 2023-12-11 2023-12-11 一种基于量子密钥芯片的车联网安全通信方法及系统

Country Status (1)

Country Link
CN (1) CN117395001B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117812585B (zh) * 2024-03-01 2024-05-03 合肥工业大学 一种多云环境下的车云通信方法及通信系统

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107426187A (zh) * 2017-06-27 2017-12-01 江苏大学 一种基于ecu身份属性的车内网络细粒度授权访问方法
CN108763917A (zh) * 2018-06-05 2018-11-06 北京华大智宝电子系统有限公司 一种数据加解密方法及装置
CN110190952A (zh) * 2019-05-09 2019-08-30 浙江神州量子通信技术有限公司 一种基于量子随机数对物联网安全的加密传输方法
CN111372248A (zh) * 2020-02-27 2020-07-03 南通大学 一种车联网环境下高效匿名身份认证方法
CN113572795A (zh) * 2020-04-28 2021-10-29 广州汽车集团股份有限公司 一种车辆安全通信方法、系统及车载终端
CN113612605A (zh) * 2021-08-02 2021-11-05 中电信量子科技有限公司 使用对称密码技术增强mqtt协议身份认证方法、系统和设备
EP3913880A1 (en) * 2020-05-19 2021-11-24 Continental Teves AG & Co. OHG Method of and system for secure data export from an automotive engine control unit
CN114338003A (zh) * 2021-12-06 2022-04-12 合肥工业大学 一种基于量子加密的车路云远程控制系统及方法
CN115314253A (zh) * 2022-07-06 2022-11-08 湖南行必达网联科技有限公司 数据处理方法、装置、系统、设备及作业机械
CN115484025A (zh) * 2022-08-31 2022-12-16 中汽创智科技有限公司 一种车辆加密通信方法和装置
TWI795256B (zh) * 2022-03-31 2023-03-01 穎利科研國際事業有限公司 車聯網資安防護系統
CN115865350A (zh) * 2023-02-27 2023-03-28 合肥工业大学 一种基于量子安全的车云服务系统
CN116405302A (zh) * 2023-04-19 2023-07-07 合肥工业大学 一种用于车内安全通信的系统及方法
CN116471587A (zh) * 2023-04-19 2023-07-21 合肥工业大学 一种v2v通信下的车组内通信密钥生成及更新方法
CN117097462A (zh) * 2023-07-06 2023-11-21 南京中科齐信科技有限公司 一种基于量子密钥体系的车载智能软件升级加密系统
CN117177239A (zh) * 2023-11-03 2023-12-05 合肥工业大学 一种基于量子密钥的tsp平台数据加密通信系统及方法

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107426187A (zh) * 2017-06-27 2017-12-01 江苏大学 一种基于ecu身份属性的车内网络细粒度授权访问方法
CN108763917A (zh) * 2018-06-05 2018-11-06 北京华大智宝电子系统有限公司 一种数据加解密方法及装置
CN110190952A (zh) * 2019-05-09 2019-08-30 浙江神州量子通信技术有限公司 一种基于量子随机数对物联网安全的加密传输方法
CN111372248A (zh) * 2020-02-27 2020-07-03 南通大学 一种车联网环境下高效匿名身份认证方法
CN113572795A (zh) * 2020-04-28 2021-10-29 广州汽车集团股份有限公司 一种车辆安全通信方法、系统及车载终端
EP3913880A1 (en) * 2020-05-19 2021-11-24 Continental Teves AG & Co. OHG Method of and system for secure data export from an automotive engine control unit
CN113612605A (zh) * 2021-08-02 2021-11-05 中电信量子科技有限公司 使用对称密码技术增强mqtt协议身份认证方法、系统和设备
CN114338003A (zh) * 2021-12-06 2022-04-12 合肥工业大学 一种基于量子加密的车路云远程控制系统及方法
TWI795256B (zh) * 2022-03-31 2023-03-01 穎利科研國際事業有限公司 車聯網資安防護系統
CN115314253A (zh) * 2022-07-06 2022-11-08 湖南行必达网联科技有限公司 数据处理方法、装置、系统、设备及作业机械
CN115484025A (zh) * 2022-08-31 2022-12-16 中汽创智科技有限公司 一种车辆加密通信方法和装置
CN115865350A (zh) * 2023-02-27 2023-03-28 合肥工业大学 一种基于量子安全的车云服务系统
CN116405302A (zh) * 2023-04-19 2023-07-07 合肥工业大学 一种用于车内安全通信的系统及方法
CN116471587A (zh) * 2023-04-19 2023-07-21 合肥工业大学 一种v2v通信下的车组内通信密钥生成及更新方法
CN117097462A (zh) * 2023-07-06 2023-11-21 南京中科齐信科技有限公司 一种基于量子密钥体系的车载智能软件升级加密系统
CN117177239A (zh) * 2023-11-03 2023-12-05 合肥工业大学 一种基于量子密钥的tsp平台数据加密通信系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
V2X通信中基于椭圆曲线加密算法的身份认证研究;章嘉彦;李飞;李如翔;李亚林;宋佳琦;周启扬;;汽车工程;20200131(第01期);全文 *

Also Published As

Publication number Publication date
CN117395001A (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
CN109862040B (zh) 一种安全认证方法及认证系统
CN110177354B (zh) 一种车辆的无线控制方法及系统
CN106899404B (zh) 基于预共享密钥的车载can fd总线通信系统及方法
US8526606B2 (en) On-demand secure key generation in a vehicle-to-vehicle communication network
CN106453326B (zh) 一种can总线的认证与访问控制方法
CN108683501B (zh) 基于量子通信网络的以时间戳为随机数的多次身份认证系统和方法
CN101772024B (zh) 一种用户身份确定方法及装置和系统
CN113781678B (zh) 无网环境下车辆蓝牙钥匙生成与鉴权方法及系统
CN117395001B (zh) 一种基于量子密钥芯片的车联网安全通信方法及系统
CN106713237A (zh) 一种车载终端与中心平台通信的加密方法
CN108964897B (zh) 基于群组通信的身份认证系统和方法
CN113613214B (zh) 一种车内消息认证密钥管理方法及可读存储介质
CN111080299B (zh) 一种交易信息的防抵赖方法及客户端、服务器
CN113630407A (zh) 使用对称密码技术增强mqtt协议传输安全的方法和系统
CN112672342B (zh) 数据传输方法、装置、设备、系统和存储介质
CN115396121A (zh) 安全芯片ota数据包的安全认证方法及安全芯片装置
CN113572795B (zh) 一种车辆安全通信方法、系统及车载终端
CN108377184B (zh) 一种智能汽车内部网络分布式认证加密方法
CN115022868A (zh) 卫星终端实体认证方法、系统及存储介质
KR100892616B1 (ko) 무선 센서 네트워크에서의 새로운 장치 참여 방법
CN113316149B (zh) 身份安全认证方法、装置、系统、无线接入点及介质
CN113163375B (zh) 一种基于NB-IoT通信模组的空中发证方法和系统
CN113115309B (zh) 车联网的数据处理方法、装置、存储介质和电子设备
CN112054905B (zh) 一种移动终端的安全通信方法及系统
CN112039663B (zh) 一种数据的传输方法及系统

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