CN110896390B - 一种发送消息的方法、验证消息的方法、装置及通信系统 - Google Patents

一种发送消息的方法、验证消息的方法、装置及通信系统 Download PDF

Info

Publication number
CN110896390B
CN110896390B CN201811063947.1A CN201811063947A CN110896390B CN 110896390 B CN110896390 B CN 110896390B CN 201811063947 A CN201811063947 A CN 201811063947A CN 110896390 B CN110896390 B CN 110896390B
Authority
CN
China
Prior art keywords
data
target data
message
sending
node
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
CN201811063947.1A
Other languages
English (en)
Other versions
CN110896390A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811063947.1A priority Critical patent/CN110896390B/zh
Priority to EP19860362.3A priority patent/EP3843355A4/en
Priority to PCT/CN2019/095086 priority patent/WO2020052335A1/zh
Publication of CN110896390A publication Critical patent/CN110896390A/zh
Application granted granted Critical
Publication of CN110896390B publication Critical patent/CN110896390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • H04L9/3073Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/32Cryptographic 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/3247Cryptographic 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
    • 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/32Cryptographic 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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/32Cryptographic 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]

Abstract

本申请公开了一种发送信息的方法、验证信息的方法、装置及通信系统,属于通信领域,可以应用在智能化的车辆(例如V2X网联汽车)上用于获取车外环境数据。所述方法包括:发送端获取待发送的目标数据,所述目标数据是当前发送周期内在发送首条数据之后待发送的数据;所述发送端根据所述目标数据在当前发送周期内的发送序号从哈希链中获取所述目标数据对应的节点,所述哈希链包括的节点数目等于当前发送周期内允许发送的数据数目;所述发送端对所述目标数据和所述目标数据对应的节点进行哈希运算得到第一验证码,所述第一验证码用于接收端验证所述目标数据;所述发送端发送第一消息,所述第一消息包括所述目标数据、所述目标数据对应的节点、所述第一验证码和所述目标数据的发送序号。本申请能够提高传输消息的效率。

Description

一种发送消息的方法、验证消息的方法、装置及通信系统
技术领域
本申请涉及通信领域,特别涉及一种发送信息的方法、验证信息的方法、装置及通信系统。
背景技术
随着信息技术的不断发展,诸如智能手机、智能电视、智能音箱、智能冰箱等智能化设备不断涌入人们的生活,人们越来越多的感受到智能化所带来的便利。与此同时,车辆的智能化,越来越被人们所关注,研究车外情景智能化离不开对车外环境数据的获取。
对于任一车辆,该车辆可以获取其他车辆共享的车外环境数据,在实现时,各车辆在采集到车外环境数据时,可以将该车外环境数据发送给中央服务器。中央服务器接收该车外环境数据,可以绘制一个地图,该地图包括接收各车辆发送的车外环境数据。这样对于各车辆,该车辆可以从中央服务器中下载该地图,从而获取到各车辆共享的车外环境数据。
在实现本申请的过程中,发明人发现现有技术至少存在以下问题:
目前共享车外环境数据依赖中央服务器,车辆从中央服务器中获取数据的过程受到网络状态的影响,存在一定的网络延时。
发明内容
为了提高传输消息的效率,本申请实施例提供了一种发送消息的方法、验证消息的方法、装置及通信系统。所述技术方案如下:
第一方面,本申请提供了一种发送消息的方法,在所述方法中发送端获取待发送的目标数据,所述目标数据是当前发送周期内在发送首条数据之后待发送的数据;根据所述目标数据在当前发送周期内的发送序号从哈希链中获取所述目标数据对应的节点,所述哈希链包括的节点数目等于当前发送周期内允许发送的数据数目;对所述目标数据和所述目标数据对应的节点进行哈希运算得到第一验证码,所述第一验证码用于接收端验证所述目标数据;发送第一消息,所述第一消息包括所述目标数据、所述目标数据对应的节点、所述第一验证码和所述目标数据的发送序号。由于发送端可以直接向接收端发送第一消息,这样第一消息可以不经过服务器转发,减小了第一消息传输的延时,提高消息发送的效率。另外,由于发送端对目标数据和目标数据对应的节点进行哈希运算,哈希运算所需要的计算资源少,降低发送消息的成本,又由于第一消息还包括目标数据对应的节点,使得接收端可以通过验证目标数据对应的节点,提高消息传输的安全性,验证节点的速度较快,提高接收端验证的速率。
在第一方面的一种可能实现方式中,随机生成所述哈希链的尾节点;对所述哈希链中的节点hi-1进行哈希运算得到所述哈希链中的节点hi,i=1、2、……、N,N+1为当前发送周期内允许发送的数据数目,节点h0为所述尾节点,节点hN为所述哈希链的头节点。由于对所述哈希链中的节点hi-1进行哈希运算得到所述哈希链中的节点hi,这样使得哈希链具有单向映射的特性。
在第一方面的一种可能实现方式中,在根据所述目标数据的发送序号确定所述目标数据是当前发送周期内待发送的第二条数据时,获取所述哈希链的头节点作为所述目标数据对应的节点;在根据所述目标数据的发送序号确定所述目标数据是位于所述第二条数据之后待发送的数据时,获取所述哈希链中位于第三节点之后且与所述第三节点相邻的第四节点作为所述目标数据对应的节点,所述第三节点是最近上一次发送的所述哈希链中的节点。这样可以使发送端在发送首条数据之后发送的各数据对应的节点都是连续的节点,接收端可以根据各数据对应的节点验证数据连续性,来保证数据传输的安全性。
在第一方面的一种可能实现方式中,所述第一消息还包括发送所述目标数据的第一时间戳。这样可以使接收端通过第一时间戳验证接收的消息的时效性,以进一步提高消息传输的安全性。
在第一方面的一种可能实现方式中,通过私钥信息对所述首条数据和所述哈希链的头节点进行签名得到第二验证码,所述第二验证码用于所述接收端对所述首条数据进行验证;发送第二消息,所述第二消息包括验证信息、所述首条数据、所述第二验证码和所述首条数据对应的节点,所述验证信息包括与所述私钥信息相匹配的公钥信息。由于发送端使用私钥信息对首条数据和哈希链的头节点进行签名得到第二验证码,这样提高消息传输的安全性。
在第一方面的一种可能实现方式中,先根据所述首条数据和所述哈希链的头节点生成第一摘要信息;然后使用私钥信息对所述第一摘要信息进行签名得到第二验证码。对第一摘要信息进行签名,可以减小签名所需要的计算量。
在第一方面的一种可能实现方式中,所述第二消息还包括发送所述目标数据的第二时间戳。这样可以使接收端通过第二时间戳验证接收的消息的时效性,以进一步提高消息传输的安全性。
在第一方面的一种可能实现方式中,所述验证信息为数字证书,所述数字证书包括所述公钥信息;或者,所述验证信息为所述公钥信息,所述公钥信息为所述发送端的身份标识信息。
第二方面,本申请提供了一种验证消息的方法,在所述方法中接收端接收第一消息,所述第一消息包括目标数据、所述目标数据对应的哈希链中的一个节点、第一验证码和所述目标数据在目标发送周期中的发送序号,所述目标数据是所述目标发送周期内在发送首条数据之后发送的数据,所述哈希链包括的节点数目等于所述目标发送周期内允许发送的数据数目;根据所述目标数据对应的节点、所述目标数据对应的发送序号和所述第一验证码对所述目标数据进行验证。由于接收端可以直接接收发送端发送的消息,这样该消息可以不经过服务器转发,减小了该消息传输的延时,提高消息发送的效率。另外,该消息包括目标数据对应的哈希链中的节点,这样接收端通过对该节点进行验证可以保障该消息传输的安全性。
在第二方面的一种可能实现方式中,根据所述目标数据的发送序号确定已接收的第一数据对应的节点,所述第一数据是发送端在发送所述目标数据之前最近发送的数据;由于根据所述第一数据对应的节点对所述目标数据对应的节点进行验证,这样接收端通过验证目标数据对应的节点来保证消息传输的安全性,对节点的验证速度较快,又提高了验证的效率。在验证所述目标数据对应的节点通过时,由于对所述目标数据和所述目标数据对应的节点进行哈希运算得到第一哈希结果;在所述第一哈希结果与所述第一验证码匹配时,对所述目标数据验证通过,这样接收端只需要对目标数据和目标数据对应的节点进行哈希运算,哈希运算所需要的计算资源少,减小了验证成本。
在第二方面的一种可能实现方式中,所述第一数据为所述首条数据,当所述目标数据对应的节点与所述首条数据对应的头节点相等时,对所述目标数据对应的节点验证通过。这样在目标数据为第二条数据时,只需验证目标数据的节点和首条数据对应的头节点是否相等,验证操作简单,所需要的计算资源少,验证的速度快。
在第二方面的一种可能实现方式中,所述第一数据为所述目标发送周期内在发送所述首条数据之后发送的数据,由于对所述目标数据对应的节点进行哈希运算得到第二哈希结果;在所述第二哈希结果与所述第一数据对应的节点相等时,对所述目标数据对应的节点验证通过,哈希运算所需要计算量较少,这样使得验证操作简单,所需要的计算资源少,验证的速度快。
在第二方面的一种可能实现方式中,所述第一消息还包括发送所述目标数据的第一时间戳;获取所述第一时间戳和接收所述目标数据的第三时间戳之间的第一差值;在所述第一差值不超过第一阈值时,根据所述目标数据对应的节点、所述目标数据对应的发送序号和所述第一验证码对所述目标数据进行验证。这样接收端可以通过第一时间戳和第三时间戳验证接收的消息的时效性,以进一步提高消息传输的安全性。
在第二方面的一种可能实现方式中,接收第二消息,所述第二消息包括所述首条数据、所述首条数据对应的所述哈希链的头节点、第二验证码和验证信息,所述验证信息包括公钥信息;根据所述第二验证码和所述公钥信息对所述首条数据进行验证。由于根据所述第二验证码和所述公钥信息对所述首条数据进行验证,这样发送端可以使私钥信息对首条数据进行签名,提高首条数据传输的安全性。
在第二方面的一种可能实现方式中,使用所述公钥信息对所述第二验证码进行解密得到第一摘要信息;根据所述首条数据和所述首条数据对应的头节点生成第二摘要信息;在所述第一摘要信息与所述第二摘要信息匹配时,对所述首条数据验证通过。由于接收端使用公钥信息对第二验证码进行解密,这样发送端在发送首条数据时就可以采用私钥信息加密,从而提高了消息安全性。
在第二方面的一种可能实现方式中,所述验证信息为数字证书,所述数字证书包括所述公钥信息,使用所述数字证书的颁发者公钥信息验证所述数字证书;在验证所述数字证书通过后,使用所述公钥信息对所述第二验证码进行解密得到第一摘要信息。由于数字证书中包括公钥信息,对数字证书进行验证,在验证数字证书安全时,使用数字证书中的公钥信息解密,可以进一步提高安全性。
在第二方面的一种可能实现方式中,将所述第二消息缓存在消息缓存区中;在接收消息的时间长度达到第二阈值时,对接收到的Z个消息中的数字证书进行验证,所述Z个消息是所述消息缓存区中缓存的包括数字证书的消息,Z为大于0的整数;在对所述Z个消息中的数字证书进行验证未通过时,使用所述数字证书的颁发者公钥信息验证所述数字证书。这样可以实现对多个数字证书批量验证,提高验证效率,另外对每个数字证书一一验证所需要的计算资源也较多,多于批量验证所需的计算资源,所以又可以减小计算资源的占用。
在第二方面的一种可能实现方式中,对Z个消息中的数字证书进行哈希运算,得到所述Z个消息中的数字证书的哈希值;计算所述Z个消息中的数字证书的哈希值的乘积得到第一数值;计算所述Z个消息中的数字证书中的数字签名的乘积得到第二数值;在所述第二数值的e次方等于所述第一数值时,对所述Z个消息中的数字证书进行验证通过,从而实现了对M个数字证书进行批量验证。
在第二方面的一种可能实现方式中,所述第二消息还包括发送所述首条数据的第二时间戳;获取所述第二时间戳和接收所述首条数据的第四时间戳之间的第二差值;在所述第二差值不超过第一阈值时,根据所述第二验证码和所述公钥信息对所述首条数据进行验证。这样接收端可以通过第二时间戳和第四时间戳验证接收的消息的时效性,以进一步提高消息传输的安全性。
在第二方面的一种可能实现方式中,将所述第二消息缓存在消息缓存区中;在接收消息的时间长度达到第二阈值时,同时对接收到的Z个第二消息进行验证,所述Z个第二消息是所述消息缓存区中缓存的第二消息;在同时对所述Z个第二消息验证不通过时,根据所述第二验证码和所述公钥信息对所述首条数据进行验证。这样可以实现对多个消息批量验证,提高验证效率。
第三方面,本申请实施例提供了一种发送消息的装置,用于执行第一方面或第一方面的任意一种可能实现方式中的方法。具体地,所述装置包括用于执行第一方面或第一方面的任意一种可能实现方式的方法的单元。
第四方面,本申请实施例提供了一种验证消息的装置,用于执行第二方面或第二方面的任意一种可能实现方式中的方法。具体地,所述装置包括用于执行第二方面或第二方面的任意一种可能实现方式的方法的单元。
第五方面,本申请实施例提供了一种发送消息的装置,所述装置包括:收发器、处理器和存储器。其中,所述收发器、所述处理器以及所述存储器之间可以通过总线系统相连。所述存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第一方面或第一方面的任意可能实现方式中的方法。
第六方面,本申请实施例提供了一种验证消息的装置,所述装置包括:收发器、处理器和存储器。其中,所述收发器、所述处理器以及所述存储器之间可以通过总线系统相连。所述存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第二方面或第二方面的任意可能实现方式中的方法。
第七方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括在计算机可读存储介质中存储的计算机程序,并且所述计算程序通过处理器进行加载来实现上述第一方面、第二方面、第一方面的任意可能实现方式或第二方面的任意可能实现方式的方法。
第八方面,本申请实施例提供了一种非易失性计算机可读存储介质,用于存储计算机程序,所述计算机程序通过处理器进行加载来执行上述第一方面、第二方面、第一方面的任意可能实现方式或第二方面的任意可能实现方式的指令。
第九方面,本申请实施例提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现上述第一方面、第二方面、第一方面的任意可能实现方式或第二方面的任意可能实现方式的方法。
第十方面,本申请实施例提供了一种通信系统,包括第三方面或第五方面所述的装置和第四方面或第六方面所述的装置。
附图说明
图1-1是本申请实施例提供的一种通信系统的结构示意图;
图1-2是本申请实施例提供的另一种通信系统的结构示意图;
图2-1是本申请实施例提供的一种发送消息的方法流程图;
图2-2是本申请实施例提供的一种数字证书的结构示意图;
图2-3是本申请实施例提供的一种身份标识信息的结构示意图;
图2-4是本申请实施例提供的一种设备类型信息的结构示意图;
图2-5是本申请实施例提供的一种设备标识信息的结构示意图;
图3是本申请实施例提供的一种验证消息的方法流程图;
图4是本申请实施例提供的另一种发送消息的方法流程图;
图5是本申请实施例提供的另一种验证消息的方法流程图;
图6是本申请实施例提供的一种发送消息的装置结构示意图;
图7是本申请实施例提供的一种验证消息的装置结构示意图;
图8是本申请实施例提供的另一种发送消息的装置结构示意图;
图9是本申请实施例提供的另一种验证消息的装置结构示意图;
图10是本申请实施例提供的另一种通信系统的结构示意图。
具体实施方式
下面将结合附图对本申请实施方式作进一步地详细描述。
参见图1-1,本申请实施例提供了一种通信系统,该通信系统包括:
发送端和接收端,发送端和接收端可以建立有通信连接;
发送端可以获取待发送的数据,为了提高发送数据的效率,发送端可以直接向接收端广播该数据,这样该数据不需要经过位于网络侧的中央服务器转发给接收端,减小该数据传输的时延,提高该数据的发送效率。
发送端采用直接向接收端广播该数据的方式时,发送端定义了发送周期,该发送周期周期性循环。在该数据为当前发送周期内待发送的首条数据时,发送端通过私钥信息对该首条数据和哈希链的头节点进行签名得到第二验证码;然后发送端广播第二消息,第二消息包括验证消息、第二验证码、该首条数据和该哈希链的头节点,该验证消息包括与该私钥信息相匹配的公钥信息。或者,在该数据为当前发送周期内除该首条数据以外的其他待发送的目标数据时,发送端从哈希链中获取目标数据对应的节点,对目标数据和目标数据对应的节点进行哈希运算得到第一验证码,广播第一消息,第一消息包括第一验证码、目标数据、目标数据对应的节点和目标数据的发送序号。
这样接收端可以接收发送端广播的消息(该消息可以为第一消息或第二消息),在该消息为第二消息时,根据该验证消息和第二验证码对首条数据进行验证。在该消息为第一消息时,根据目标数据对应的节点、第一验证码和目标数据对应的发送序号,对目标数据进行验证。
哈希链中包括的节点数目等于一个发送周期内允许发送的数据数目。哈希链中任意相邻的两个节点,为了便于说明称该任意相邻的两个节点分别为第一节点和第二节点,第一节点靠近哈希链的头节点,第一节点是基于第二节点推算出来的。
可选的,一个发送周期可以对应一个哈希链,这样发送端可以在每个发送周期发送首条数据之前生成哈希链;或者,m个发送周期可以对应一个哈希链,m为大于1的整数,这样发送端在一个发送周期内发送首条数据之前生成哈希链,在生成哈希链后接下来的连续m-1个发送周期内不用再生成哈希链,直至在第m+1个发送周期内在发送首条数据之前生成哈希链。
上述通信系统可以应用在智能交通系统,在智能交通系统中发送端和接收端可以均为交通工具。可选的,发送端或接收端可以为安装或集成在交通工具中的车载终端等。
假设,交通工具为汽车时,汽车在道路上可以获取数据,该数据可以是车外环境数据等,车外环境数据可以是路况信息等,车外环境数据可以是汽车的司机输入到汽车中的数据,例如,用户输入一段数据为“前方路口发生交通事故”,该一段数据就是车外环境数据。该汽车可以按上述方式向其他汽车广播数据,以将该数据共享给其他汽车,例如汽车可以将获取的路况信息广播到其他汽车,以实现将其获取的路况数据共享给其他汽车。
可选的,交通工具除了是汽车外,还可以是自行车、平衡车或无人机等。上述发送端或接收端除了是交通工具,还可以是可穿戴设备、智能家居设备或移动终端等。例如,当发送端或接收端为可穿戴设备时,发送端或接收端可以为手环、手表、耳机或眼镜等。当发送端或接收端为智能家居设备时,发送端或接收端可以为音箱、电视、冰箱、彩电、洗衣机、马桶、路由器、灯具或空调等。当发送端或接收端为移动终端时,发送端或接收端可以为手机、平板电脑或笔记本电脑等。
可选的,参见图1-2,该通信系统还可以包括服务器,发送端和接收端可以分别与服务器建立有通信连接,发送端和/或接收端可以从服务器获取数字证书颁发者的公钥信息和私钥信息等内容,发送端可以利用获取的内容发送消息,接收端可以利用获取的内容接收该消息,详细描述过程可以参见如下实施例中的相关内容,在此先不描述。
参见图2-1,本申请实施例提供了一种发送消息的方法,该方法可以应用于图1-1所示的通信系统,该方法的执行主体为该通信系统的发送端,包括:
步骤201:发送端获取公钥信息和与该公钥信息相匹配的私钥信息,以及获取数字证书。
发送端可以采用公钥基础设施体系(public key infrastructure,PKI)机制获取公钥信息和与该公钥信息相匹配的私钥信息。可选的,在实现时获取公钥信息和私钥信息的过程可以为:发送端随机生成一串信息并将该信息作为公钥信息,然后生成与该公钥信息相匹配的私钥信息。
数字证书包括数字签名和除该数字签名以外的其他部分内容,该其他部分内容可以包括该公钥信息和发送端的身份标识信息等内容。
参见图2-2,数字证书包括多个字段,数字签名、该公钥信息和发送端的身份标识信息可以通过数字证书中的不同字段来携带。例如,在图2-2所示的数字证书中,CA数字签名(CA Digital Signature)字段携带该数字签名,主公钥信息(Subject Public KeyInfo)字段携带该公钥信息,主体唯一标识(Subject Unique ID)携带发送端的身份标识信息。
数字证书还可以包括其他字段,例如参见图2-2,还可以包括版本(Version)字段、序列号(Serial Number)字段、签名算法标识(Signature Algorithm ID)字段、发布者(CA)X500名字(Issuer(CA)X500Name)、有效周期(Validity Period)字段、主体X500名字(Subject X500 Name)字段、算法标识(Algorithm ID)字段、公钥值(Public Key Value)字段、发布者唯一标识(Issuer Unique ID)字段和扩展部分(Extension)字段。
发送端可以先生成数字证书中除数字签名以外的其他部分,对该其他部分进行哈希运算得到哈希值,使用数字证书颁发者的私钥信息对该哈希值进行加密得到数字签名,将该数字签名和该其他部分组成数字证书。
可选的,发送端可以事先从服务器中获取证书颁发者的私钥信息,然后在本地保存证书颁发者的私钥信息,所以发送端可以直接使用本地保存的证书颁发者的私钥信息对该哈希值进行加密。或者,发送端可以从服务器中获取证书颁发者的私钥信息,使用证书颁发者的私钥信息对该哈希值进行加密。
可选的,发送端的身份标识信息可以包括发送端的设备类型信息和用于唯一标识发送端的设备标识信息。
可选的,发送端的设备类型信息可以包括发送端属于的设备类别和发送端属于该设备类别包括的某个子类别。
其中,可以定义多个设备类别,以及定义每个设备类别包括多个子类别。例如,参见下表1,下表1中的设备类别包括交通工具、可穿戴设备、智能家居和移动终端等。交通工具包括多个子类别,分别为汽车、自行车和平衡车等;可穿戴设备包括多个子类别,分别为手环、手表、耳机和眼镜等;智能家居包括多个子类别,分别为音箱、电视、冰箱、彩电、洗衣机、马桶、路由器、灯具和空调等;移动终端包括多个子类别,分别为手机、平板电脑和笔记本电脑等。
表1
Figure BDA0001797827720000081
可选的,设备标识信息可以包括发送端的设备生产商标识信息、设备生产日期和生产序号等。
可选的,发送端的身份标识信息可以包括第一部分和第二部分,第一部分包括至少一个字节,第一部分为发送端的设备类型信息,第一部分又可以分成两个子部分,其中一子部分包括多个比特且该子部分为发送端属于的设备类别,另一子部分包括多个比特且该另一部分为发送端属于的子类别。第二部分包括至少一个字节,第二部分为发送端的设备标识信息,第二部分又可以分成第一子部分、第二子部分和第三子部分,第一子部分包括至少一个字节且第一子部分为发送端的设备生产商标识信息,第二子部分包括至少一个字节且第二子部分为发送端的设备生产日期,第三子部分包括至少一个字节且第三子部分为发送端的生产序号。
例如,如图2-3所示,假设身份标识信息可以包括12字节,第一部分包括前三个节字,即前三个字节可以为发送端的设备类型信息,第二部分包括后九个字节,即后九个字节可以为设备标识信息。第一部分包括两个子部分,参见图2-4,在该例子中,假设其中一个子部分包括第一部分的前十二个比特,即该前十二个比特可以为发送端所属于的设备类别,另一个子部分包括第一部分的后十二个比特,即该后十二个比特可以为发送端属于该设备类别中的子类别。以及,参见图2-5,第二部分包括第一子部分、第二子部分和第三子部分,假设第一子部分包括第二部分的前三个字节,即该前三个字节可以为发送端的设备生产商标识信息,第二子部分包括第二部分的中间三个字节,即该中间三个字节可以为发送端的生产日期,第三子部分包括第二部分的后三个字节,即该后三个子节可以为发送端的生产序号,从而由该十二个字节组成了发送端的身份标识信息。
步骤202:发送端获取当前发送周期内待发送的首条数据。
可选的,首条数据可以是用户输入到发送端的数据,所以发送端可以接收用户输入的首条数据。
在发送端中发送周期周期性循环。可选的,发送端可以定义一个周期长度,可以使用计时器来实现该发送周期。例如,发送端可以启动一个计时器,设置该计时器从零开始计时,表示一个发送周期开始;当该计时器计时的时间达到该周期长度时,重新设置该计时器从零开始计时,表示该一个发送周期结束且另一个发送周期开始,如此循环往复,实现发送周期周期性循环。
对于每个发送周期,发送端可以记录在该发送周期内已发送的数据的发送序号。所以在当前发送周期内,当发送端接收到用户输入的数据时,发送端检测到本地有没有保存在当前发送周期内已发送的数据的发送序号,如果检测结果是没有保存,则确定该数据是当前发送周期的首条数据,如果检测结果是有保存,则确定该数据不是当前发送周期内的首条数据。
步骤203:发送端通过该私钥信息对该首条数据和哈希链的头节点进行签名得到第二验证码。
可选的,发送端还可以获取当前的第二时间戳,第二时间戳实质是发送端发送首条数据的时间戳,可以通过该私钥信息对第二时间戳、该首条数据和哈希链的头节点进行签名得到第二验证码。
可选的,哈希链包括的节点数目等于一个发送周期内允许发送的数据数目。哈希链中任意相邻的两个节点,为了便于说明称该任意相邻的两个节点分别为第一节点和第二节点,第一节点靠近哈希链的头节点,第一节点是基于第二节点推算出来的。
可选的,一个发送周期可以对应一个哈希链,或者,m个发送周期可以对应一个哈希链,m为大于1的整数。
当一个发送周期对应一个哈希链时,发送端在对该首条数据和哈希链的头节点进行签名之前,还生成哈希链。
当m个发送周期对应一个哈希链时,如果最近上次生成哈希链的时间所在的发送周期和当前发送周期间隔m-1个发送周期,则发送端在对该首条数据和哈希链的头节点进行签名之前,还生成哈希链;如果最近上次生成哈希链的时间所在的发送周期和当前发送周期间隔少于m-1个发送周期,发送端在对该首条数据和哈希链的头节点进行签名之前,获取最近上一次生成的哈希链。
发送端生成哈希链的操作可以为:假设N+1为发送周期内允许发送的数据数目,发送端随机生成一个随机值,将该随机值作为哈希链的尾节点,为了便于说明用h0表示该尾节点;对于该哈希链的其他节点,为了便于说明用hi表示其他节点,i=1、2、……、N,对节点hi-1进行哈希运算得到节点hi,即hi=H(hi-1),H()为预设第一哈希函数,hN为该哈希链的头节点。
可选的,预设第一哈希函数可以为消息摘要算法第五版(message digestalgorithm 5,MD5)算法等。
在本步骤中,发送端可以根据该首条数据和哈希链的头节点生成第一摘要消息,使用该私钥信息对第一摘要消息进行加密得到第二验证码。
可选的,发送端可以根据该首条数据和哈希链的头节点,通过MD5算法生成第一摘要消息。
接下来举一个详细的例子,假设N=3,即在当前发送周期内允许发送四条数据,假设当前发送周期存在四条数据,分别为m0、m1、m2和m3,m0、m1、m2和m3分别为当前发送周期内待发送的首条数据、第二条数据、第三条数据和第四条数据。发送端生成的哈希链包括头节点h3,第二个节点h2,第三个节点h1和尾节点h0,其中,尾节点h0是一个随机值,第三个节点h1=H(h0),第二个节点h2=H(h1),头节点h3=H(h2)。
发送端在获取到当前发送周期内的首条数据m0时,可以根据首条数据m0、当前的第二时间戳t0和头节点h3,生成第一摘要消息为MD0,使用该私钥信息对第一摘要消息MD0进行加密得到第二验证码e0
其中,需要说明的是:使用私钥信息对第一摘要消息进行加密得到第二验证码所需要的计算资源较高,所以发送端在发送首条数据所需要的计算成本较高。
步骤204:发送端广播第二消息,第二消息包括验证信息、第一验证码、首条数据和哈希链的头节点,该验证信息为该数字证书。
可选的,发送端可以广播第二消息。
可选的,第二消息还可以包括第二时间戳和首条数据在当前发送周期内的发送序号。
可选的,发送端可以保存首条数据的发送序号。
假设该数字证书为cert,则发送端广播的第二消息可以包括数字证书cert、第一验证码e0、首条数据m0、哈希链的头节点h3、第二时间戳t0、首条数据m0在当前发送周期内的发送序号0,第二消息可以表示为(cert、e0、m0、h3、t0、0)。
可选的,发送完首条数据后,发送端可以按如下流程发送当前发送周期内除首条数据以外的待发送的目标数据,该流程可以为。
步骤205:发送端获取当前发送周期内在发送首条数据之后待发送的目标数据。
由于发送端保存有最近上一次发送的当前发送周期内的数据的发送序号,所以发送端在获取到目标数据时,根据保存的最近上一次发送的当前发送周期内的数据的发送序号,可以确定该目标数据是当前发送周期的待发送的哪条数据,以及确定目标数据在当前发送周期内的发送序号。
步骤206:发送端根据目标数据在当前发送周期内的发送序号从哈希链中获取目标数据对应的节点。
当根据目标数据的发送序号确定目标数据是当前发送周期内待发送的第二条数据时,发送端获取哈希链的头节点作为目标数据对应的节点;当根据目标数据的发送序号确定目标数据是位于该第二条数据之后待发送的数据时,发送端获取哈希链中位于第三节点之后且与第三节点相邻的第四节点作为目标数据对应的节点,第三节点是最近上一次发送的哈希链中的节点。
例如,假设目标数据为当前发送期内待发送的第二条数据m1,发送端获取哈希链中的头节点h3作为第二条数据m1对应的节点。
步骤207:发送端对目标数据和目标数据对应的节点进行哈希运算得到第一验证码。
可选的,发送端通过预设第二哈希函数对目标和目标数据对应的节点进行哈希运算。
可选的,发送端还可以获取当前的第一时间戳,第一时间戳为发送目标数据的时间戳。发送端可以对目标数据、目标数据对应的节点和第一时间戳进行哈希运算得到第一验证码。
例如,假设,目标数据为当前发送期内待发送的第二条数据m1,发送端获取当前的第一时间戳t1作为发送第二条数据m1的时间戳。所以发送端对第二条数据m1、第一时间戳t1和第二条数据m1对应的节点h3进行哈希运算得到的第一验证码e1=MAC(m1,t1,h3)。MAC()为预设第二哈希函数,预设第二哈希函数可以为MD5算法等。
步骤208:发送端发送第一消息,第一消息包括目标数据、目标数据对应的节点、第一验证码和目标数据的发送序号。
可选的,发送端可以广播第一消息。
可选的,第一消息还可以包括第一时间戳和/或发送端的身份标识信息。
例如,发送端的身份标识信息可以用ID表示,发送端广播的第一消息可以包括第二条数据m1、第二条数据m1对应的节点h3、第一验证码e1、第二条数据m1的发送序号1、第一时间戳为t1和发送端的身份标识信息ID,第一消息可以表示为(m1、h3、e1、1、t1、ID)。
接下来发送端开始发送第三条数据m2,发送端获取当前的第一时间戳为t2,最近上一次发送的哈希链中的节点为头节点h3,获取与头节点h3相邻且位于头节点h3之后的第二个节点h2,将第二个节点h2作为第三条数据m2对应的节点,所以发送端对第一时间戳t2、第三条数据m2和第三条数据m2对应的节点h2进行哈希运算得到的第一验证码e2=MAC(m2,t2,h2),广播第一消息,第一消息可以表示为(m2、h2、e2、2、t2、ID),其中2为第三条数据m2的发送序号。
再接下来发送端开始发送第四条数据m3,发送端获取当前的第一时间戳为t3,最近上一次发送的哈希链中的节点为第二个节点h2,获取与第二个节点h2相邻且位于第二个节点h2之后的第三个节点h1,将第三个节点h1作为第四条数据m3对应的节点,所以发送端对第一时间戳t3、第四条数据m3和第四条数据m3对应的节点h1进行哈希运算得到的第一验证码e3=MAC(m3,t3,h1),广播第一消息,第一消息可以表示为(m3、h1、e3、3、t3、ID),其中3为第四条数据m3的发送序号。
其中,哈希运算的操作所需要计算资源少于使用私钥加密的操作所需要的计算资源,所以发送端对目标数据和目标数据对应的节点进行哈希运算得到第一验证码所需要的计算资源较少,这样发送端在发送除首条数据以外的目标数据所需要的计算成本较低,但数据的安全性不如使用私钥加密的方式,为了保证目标数据的安全性,发送端还发送目标数据对应的节点,以使接收端对该节点进行验证,增加目标数据传输的安全性。
在本申请实施例中,发送端可以直接向接收端广播第一消息或第二消息,这样第一消息和第二消息可以不经过服务器转发,减小了第一消息和第二消息传输的延时,提高消息发送的效率。另外,发送端所使用到的数字证书颁发者的私钥信息可以事先从服务器中获取并保存在本地,因此发送端即使在离线场景或网络环境较差的情况下也可以完成消息的广播。由于发送端发送的第一消息中包括目标数据对应哈希链中的节点,哈希链中的节点为单向映射关系,即哈希链中的节点hi=H(hi-1),只能由节点hi-1推算出节点hi,不能由节点hi推算出节点hi-1。目标数据对应的节点是根据目标数据的发送序号确定的,这样发送端在当前发送周期内连续发送多条第一消息时,可以使接收端根据每条第一消息中节点验证每条第一消息的连续性,提高消息传输的安全性。
参见图3,本申请实施例提供了一种验证消息的方法,该方法可以应用于图1-1所示的通信系统,其执行主体可以为接收端,用于接收图2-1所示的实施例发送的消息,该方法包括:
步骤301:接收端接收消息,确定该消息为第二消息,第二消息包括首条数据、该首条数据对应的哈希链中的头节点、第二验证码和验证信息,该验证信息为数字证书,该数字证书包括公钥信息。
可选的,第二消息还可以包括发送首条数据的第二时间戳和首条数据在目标发送周期中的发送序号。
可选的,发送端广播的消息可能是包括首条数据的第二消息,也可能是包括除首条数据以外的其他目标数据的第一消息。接收端在接收到该消息,根据该消息中的发送序号确定接收的消息是第二消息或为第一消息。
例如,接收端接收消息,假设该消息为(cert、e0、m0、h3、t0、0),根据该消息中的发送序号0,确定该消息为第二消息。其中,在第二消息中cert为数字证书,e0为第二验证码,m0为首条数据,h3为哈希链的头节点,t0为第二时间戳,首条数据的发送序号为0。
步骤302:接收端使用数字证书颁发者的公钥信息验证该数字证书,在验证数字证书通过时,执行步骤303。
可选的,接收端验证数字证书的过程可以为:接收端从该数字证书中获取数字签名,使用数字证书颁发者的公钥信息对该数字签名进行解密得到第三哈希值;对该数字证书中除该数字签名以外的其他部分进行哈希运算得到第四哈希值,如果第三哈希值等于第四哈希值,则对该数字证书验证通过,如果第三哈希值不等于第四哈希值,则对该数字证书验证不通过。
可选的,接收端可以事先从服务器中获取证书颁发者的公钥信息,然后在本地保存证书颁发者的公钥信息,所以接收端可以直接使用本地保存的证书颁发者的公钥信息对数字签名进行解密。或者,接收端可以从服务器中获取证书颁发者的公钥信息,使用证书颁发者的公钥信息对该数字签名进行解密。
可选的,接收端中包括消息缓存区,接收端在接收到消息时,可以不立即执行步骤302的操作,而是将该消息缓存在消息缓存区中;在接收消息的时间长度达到第二阈值时,对接收到的Z个消息中的数字证书进行验证,该Z个消息是该消息缓存区中缓存的包括数字证书的消息,在对该Z个消息中的数字证书进行验证通过时,执行对该Z个消息中的每个消息执行后续步骤303的操作,在对该Z个消息中的数字证书进行验证不通过时,执行对该Z个消息中的每个消息分别执行上述步骤302的操作,Z为大于0的整数,这样实现对该Z个消息中的数字证书进行批量验证,提高了验证效率。
可选的,第二阈值可以等于目标发送周期的周期长度。
可选的,接收端对接收到的Z个消息中的数字证书进行验证的操作,可以为:
对该Z个消息中的数字证书进行哈希运算,得到该Z个消息中的数字证书的哈希值,计算该Z个消息中的数字证书的哈希值的乘积得到第一数值;计算该Z个消息中的数字证书中的数字签名的乘积得到第二数值;在第二数值的e次方等于第一数值时,对Z个消息中的数字证书进行验证通过,e为预设常数。
其中,对于每个消息中的数字证书,该消息中的数字证书和该数字证书中的数字签名满足第一关系式:h(cert)=σe,h()为预设的哈希函数,cert为该数字证书,σ为该数字证书中的数字签名。
在本步骤中,接收端获取的Z个消息中的数字证书,分别为cert1、cert2、……、certZ,从数字证书cert1、cert2、……、certZ中获取Z个数字签名,分别为σ1、σ2、……、σZ,如果该Z个数字证书和该Z个数字签名满足如下第二关系式,则对该Z个消息中的数字证书验证通过,如果该Z个数字证书和该Z个数字签名不满足如下第二关系式,则对该Z个消息中的数字证书验证不通过。
第二关系式为:h(cert1)*h(cert2)…h(certZ)=(σ12…σZ)e,*为乘法运算。
可选的,对于该消息缓存区中不包括数字证书的每条消息,分别执行如下步骤303和304的操作。
可选的,接收端在执行本步骤之前,还可以获取接收第二消息的第四时间戳,获取第二时间戳与第四时间戳之间的第二差值,在第二差值不超过第一阈值时,执行本步骤的操作。
可选的,接收端可以将当前的时间戳作为接收第二消息的第四时间戳。
发送端发送完第二消息后,接收端很快就可以接收到第二消息,发送第二消息的第二时间戳和接收第二消息的第四时间戳之间的差值较小,通常小于第一阈值。
如果发送端发送第二消息后,第二消息被除接收端以外的其他设备截获,该其他设备可能重复地向接收端发送第二消息,这样接收端重复地处理第二消息,以实现攻击接收端。因此为了避免其他设备不断地攻击接收端,接收端判断第二时间戳与第四时间戳之间的差值是否超过第一阈值,在超过第一阈值时,丢弃第二消息,避免重复处理第二消息,以避免被其他设备不断地攻击;在未超过第一阈值时,执行本步骤的操作。第一阈值可以为1秒或2秒等数值。
步骤303:接收端根据该数字证书中的公钥信息对第二验证码进行解密得到第一摘要信息,根据首条数据和首条数据对应的头节点生成第二摘要信息。
可选的,接收端可以对首条数据和首条数据对应的头节点进行哈希运算得到第二摘要信息。
可选的,接收端可以通过MD5算法对首条数据和首条数据对应的头节点进行哈希运算得到第二摘要信息。
可选的,在第二消息中包括第二时间戳时,接收端可以对第二时间戳、首条数据和首条数据对应的头节点进行哈希运算得到第二摘要信息。
例如,接收端接收的第二消息为(cert、e0、m0、h3、t0、0),假设对数字证书cert验证通过,接收端使用数字证书cert中的公钥信息对应第二验证码e0进行解密得到第一摘要消息为MD0。使用MD5算法对首条数据m0、第二时间戳t0、首条数据对应的头节点h3进行哈希运算得到第二摘要信息MD1
步骤304:在第一摘要信息和第二摘要信息相等时,对首条数据验证通过。
例如,在MD0=MD1时,对首条数据m0验证通过。
可选的,在对首条数据验证通过后,接收端还可以保存首条数据对应的头节点。
可选的,接收端接收到第二消息后,还继续接收发送端在目标发送周期内发送的各第一消息,详细实现过程为:
步骤305:接收端接收消息,确定该消息为第一消息,第一消息包括目标数据、目标数据对应的哈希链中的节点、目标数据在目标发送周期中的发送序号和第一验证码,目标数据是目标发送周期内在发送首条数据之后发送的数据。
可选的,第一消息还可以包括发送目标数据的第一时间戳和/或发送端的身份标识信息等。
可选的,发送端广播的消息可能是包括首条数据的第二消息,也可能是包括除首条数据以外的其他目标数据的第一消息。接收端在接收到该消息,根据该消息中的发送序号确定接收的消息是第二消息或为第一消息。
例如,接收端接收消息,假设该消息为(m1、h3、e1、1、t1、ID),根据该消息中的发送序号1,确定该消息为第一消息。其中,在第一消息中m1为目标发送周期内的第二条数据,t1为发送第二条数据的第一时间戳,e1为第一验证码,第二条数据的发送序号为1,h3为第二条数据对应的节点、ID为发送端的身份标识信息。
再例如,假设接收端接收的消息为(m2、h2、e2、2、t2、ID),根据该消息中的发送序号2,确定该消息为第一消息。其中,在第一消息中m2为目标发送周期内的第三条数据,t2为发送第三条数据的第一时间戳,e2为第一验证码,第三条数据的发送序号为2,h2为第三条数据对应的节点。
还例如,假设接收端接收的消息为(m3、h1、e3、3、t3、ID),根据该消息中的发送序号3,确定该消息为第一消息。在第一消息中m3为目标发送周期内的第四条数据,t3为发送第四条数据的第一时间戳,e3为第一验证码,第四条数据的发送序号为3,h1为第四条数据对应的节点。
步骤306:接收端根据目标数据的发送序号确定已接收的第一数据对应的节点,第一数据是发送端在发送目标数据之前最近发送的数据。
可选的,当目标数据为目标发送周期内的第二条数据时,第一数据为目标发送周期内的首条数据。当目标数据为目标发送周期内的发送第二条数据之后的数据时,第一数据为目标发送周期内的发送首条数据之后的数据。
例如,假设接收的第一消息为(m1、h3、e1、1、t1、ID),根据目标数据m1对应的发送序号1确定第一数据为首条数据m0,以及确定第一数据对应的节点为头节点h3
再例如,假设接收的第一消息为(m2、h2、e2、2、t2、ID),根据目标数据m2对应的发送序号2确定第一数据为目标发送周期内的第二条数据m1,以及确定第一数据对应的节点为头节点h3
还例如,假设接收的第一消息为(m3、h1、e3、3、t3、ID),根据目标数据m3对应的发送序号3确定第一数据为目标发送周期内的第三条数据m2,以及确定第一数据对应的节点为哈希链的第二个节点h2
步骤307:接收端根据第一数据对应的节点对目标数据对应的节点进行验证。
可选的,在第一数据为首条数据时,当目标数据对应的节点与首条数据对应的节点相等时,对目标数据对应的节点验证通过。
例如,在第一数据为首条数据m0时,目标数据为m1,其中目标数据m1对应的节点h3与首条数据对应的头节点h3相等,所以对目标数据m1对应的节点h3验证通过。
可选的,在第一数据为目标发送周期内发送首条数据之后发送的数据时,对目标数据对应的节点进行哈希运算得到第二哈希结果,当第二哈希结果与第一数据对应的节点相等时,对目标数据对应的节点验证通过。
例如,在第一数据为目标发送周期内的第二条数据m1时,目标数据为m2,对目标数据m2对应的节点h2进行哈希运算得到的第二哈希结果H(h2),且第二哈希结果H(h2)等于第二条数据m1对应的节点h3相等,所以对目标数据m2对应的节点h2验证通过。
再例如,在第一数据为目标发送周期内的第三条数据m2时,目标数据为m3,对目标数据m3对应的节点h1进行哈希运算得到的第二哈希结果H(h1),且第二哈希结果H(h1)等于第三条数据m3对应的节点h2相等,所以对目标数据m3对应的节点h1验证通过。
由于接收端接收的消息中包括目标数据对应哈希链的节点,哈希链中的节点为单向映射关系,即哈希链中的节点hi=H(hi-1),只能由节点hi-1推算出节点hi,不能由节点hi推算出节点hi-1。接收端利用最近上一次接收收的哈希链中的节点验证目标数据对应的节点,这样可以验证出接收端连续接收的消息是否连续,从而提高安全性。
步骤308:在对目标数据对应的节点验证通过时,接收端对目标数据和目标数据对应的节点进行哈希运算得到第一哈希结果。
接收端可以采用预设第二哈希函数对目标数据和目标数据对应的节点进行哈希运算得到第一哈希结果。
可选的,在第一消息中包括第一时间戳时,接收端可以对第一时间戳、目标数据和目标数据对应的节点进行哈希运算得到第一哈希结果。
步骤309:在第一哈希结果等于第一验证码时,对目标数据验证通过。
其中,通过对目标数据对应的节点进行验证可以保证消息传输的安全性,接收端对目标数据对应的节点进行验证的速度较快且所需要的计算资源较少,哈希运算得到第一哈希结果所需要的计算资源少于解密所需要的计算资源,且哈希运算的速度快于解密的速度,所以不仅保证了消息传输的安全性,还提高验证的速度。
例如,假设接收的第一消息为(m1、h3、e1、1、t1、ID),目标数据为目标发送周期内的第二条数据m1,接收端对第一时间戳t1、第二条数据m1和第二条数据对应的节点h3进行哈希运算得到第一哈希结果f1=MAC(t1,m1,h3),在第一哈希结果f1与第一验证码e1相同时,对第二条数据m1验证通过。
再例如,假设接收的第一消息为(m2、h2、e2、2、t2、ID),目标数据为目标发送周期内的第三条数据m2,接收端对第一时间戳t2、第三条数据m2和第三条数据对应的节点h2进行哈希运算得到第一哈希结果f2=MAC(t2,m2,h2),在第一哈希结果f2与第一验证码e2相同时,对第三条数据m2验证通过。
还例如,假设接收的第一消息为(m3、h1、e3、3、t3、ID),目标数据为目标发送周期内的第四条数据m3,接收端对第一时间戳t3、第四条数据m3和第四条数据对应的节点h1进行哈希运算得到第一哈希结果f3=MAC(t3,m3,h1),在第一哈希结果f3与第一验证码e3相同时,对第四条数据m3验证通过。
可选的,接收端对首条数据验证通过后可以处理首条数据,对目标数据验证通过后,可以处理目标数据。
接收端处理首条数据或目标数据的方式可以为播放首条数据或目标数据,或者显示首条数据或目标数据等。
可选的,由于第二消息中的数字证书中也包括发送端的身份标识信息,以及第一消息中包括发送端的身份标识信息,发送端的身份标识信息包括发送端的设备类型、设备生产商标识信息、设备生产日期和生产序号等信息,接收端可以直接从发送端的身份标识信息中提取这些信息,可以显示或播放这些信息,这样接收端不需要从网络中查询这些信息。
在本申请实施例中,接收端可以直接接收发送端广播的消息,这样该消息可以不经过服务器转发,减小了该消息传输的延时,提高消息发送的效率。另外,接收端所使用到的数字证书颁发者的公钥信息可以事先从服务器中获取并保存在本地,因此接收端即使在离线场景或网络环境较差的情况下也可以完成消息的解析。由于发送端发送的消息中包括目标数据对应哈希链中的节点,哈希链中的节点为单向映射关系,即哈希链中的节点hi=H(hi-1),只能由节点hi-1推算出节点hi,不能由节点hi推算出节点hi-1。目标数据对应的节点是根据目标数据的发送序号确定的,这样发送端在当前发送周期内连续发送多条消息时,接收端根据每条消息中节点验证每条消息的连续性,提高了消息传输的安全性。
参见图4,本申请实施例提供了一种发送消息的方法,该方法可以应用于图1-1所示的通信系统,该方法的执行主体为该通信系统的发送端,包括:
步骤401:发送端将其身份标识信息确定为公钥信息,并生成与该公钥信息相匹配的私钥信息。
在本步骤中,发送端可以采用基于身份的签名机制(identity-based signature,IBS)方式获取公钥信息和私钥信息。IBS的方式为:发送端获取其自身的身份标识信息,将该身份标识信息作为公钥信息,基于该身份标识信息生成私钥信息。
可选的,发送端采用IBS方式生成私钥信息的实现方式有多种,在本步骤中列举了如下一种实现方式。通过该实现方式生成的私钥信息包括第一私钥和第二私钥。该实现方式可以为:
发送端可以事先接收服务器广播的乘法群的生成元g、乘法群的素数q和第一随机数x,然后保存在本地。这样在生成私钥信息时,可以生成小于该素数q的第二随机数r;根据该生成元g和第二随机数r获取第一私钥R,其中第一私钥R=gr;根据发送端的身份标识信息ID、第一私钥R、第一随机值x、第二随机值r,生成第二私钥Q,其中,第二私钥Q=r+x*h1(ID,R),其中h1()为预设的第三哈希函数。所以生成的私钥信息可以表示为(第一私钥R,第二私钥Q)。
服务器中事先预设一个乘法群,服务器可以获取该乘法群的生成元g和素数q,素数q为该乘法群中包括的元素数目,生成小于该素数q的第一随机数x;然后服务器广播该生成元g、该素数q和第一随机数x,发送端可以接收并保存该生成元g、该素数q和第一随机数x。这样发送端在生成私钥信息时可以获取本地保存的该生成元g、该素数q和第一随机数x,然后再生成私钥信息。或者,在生成私钥信息时,发送端也可以临时从服务器中获取该生成元g、该素数q和第一随机数x,然后再生成私钥信息。
发送端的身份标识信息可以在发送端出厂时设置在发送端中。所以发送端可以从其本地获取其身份标识信息。
关于发送端的身份标识信息的结构可以参见见图2-1所示实施例的步骤201中的相关内容,在此不再详细说明。
步骤402:发送端获取当前发送周期内待发送的首条数据。
可选的,首条数据可以是用户输入到发送端的数据,所以发送端可以接收用户输入的首条数据。
在发送端中发送周期周期性循环。可选的,发送端可以定义一个周期长度,可以使用计时器来实现该发送周期。例如,发送端可以启动一个计时器,设置该计时器从零开始计时,表示一个发送周期开始;当该计时器计时的时间达到该周期长度时,重新设置该计时器从零开始计时,表示该一个发送周期结束且另一个发送周期开始,如此循环往复,实现发送周期周期性循环。
对于每个发送周期,发送端可以记录在该发送周期内已发送的数据的发送序号。所以在当前发送周期内,当发送端接收到用户输入的数据时,发送端检测到本地有没有保存在当前发送周期内已发送的数据的发送序号,如果检测结果是没有保存,则确定该数据是当前发送周期的首条数据,如果检测结果是有保存,则确定该数据不是当前发送周期内的首条数据。
步骤403发送端通过该私钥信息对该首条数据和哈希链的头节点进行签名得到第二验证码。
可选的,发送端还可以获取当前的第二时间戳,第二时间戳实质是发送端发送首条数据的时间戳,可以通过该私钥信息对第二时间戳、该首条数据和哈希链的头节点进行签名得到第二验证码。
可选的,哈希链包括的节点数目等于一个发送周期内允许发送的数据数目。哈希链中任意相邻的两个节点,为了便于说明称该任意相邻的两个节点分别为第一节点和第二节点,第一节点靠近哈希链的头节点,第一节点是基于第二节点推算出来的。
可选的,一个发送周期可以对应一个哈希链,或者,m个发送周期可以对应一个哈希链,m为大于1的整数。
当一个发送周期对应一个哈希链时,发送端在对首条数据和哈希链的头节点进行签名之前,还生成哈希链。
当m个发送周期对应一个哈希链时,如果最近上次生成哈希链的时间所在的发送周期和当前发送周期间隔m-1个发送周期,则发送端在对首条数据和哈希链的头节点进行签名之前,还生成哈希链;如果最近上次生成哈希链的时间所在的发送周期和当前发送周期间隔少于m-1个发送周期,发送端在对首条数据和哈希链的头节点进行签名之前,获取最近上一次生成的哈希链。
在本步骤中,发送端可以根据该首条数据和哈希链的头节点生成第一摘要消息,使用该私钥信息对第一摘要消息进行加密得到第二验证码,第二验证码包括第一签名、第二签名和第一私钥。
可选的,在对第一摘要消息进行加密时,发送端生成小于该元素数目q的第三随机数t,根据该生成元g和第三随机数t获取第一签名T,其中第一签名T=gt;根据第一摘要信息MD、第一私钥R、第二私钥Q、第三随机值t和第一签名T,生成第二签名S,其中,第二签名S=t+Q*h2(MD,T,R),其中h2()为预设的第四哈希函数。所以生成的第二验证码可以表示为(第一签名T,第二签名S,第一私钥R)。
步骤404:发送端发送第二消息,第二消息包括该公钥信息、第二验证码、该首条数据和哈希链的头节点。
可选的,发送端可以广播第二消息。
可选的,第二消息还可以包括第二时间戳和首条数据在当前发送周期内的发送序号。
可选的,发送端在发送当前发送周期内除首条数据以外的其他待发送的目标数据时,发送端发送过程如下:
步骤405-步骤408:分别步骤205至208相同,在此不再详细说明。
在本申请实施例中,发送端可以直接向接收端广播第一消息或第二消息,这样第一消息和第二消息可以不经过服务器转发,减小了第一消息和第二消息传输的延时,提高消息发送的效率。另外,由于发送端发送的第一消息中包括目标数据对应哈希链中的节点,哈希链中的节点为单向映射关系,目标数据对应的节点是根据目标数据的发送序号确定的,这样发送端在当前发送周期内连续发送多条第一消息时,可以使接收端根据每条第一消息中节点验证每条第一消息的连续性,对于不连续的第一消息可能是其他设备伪造发送端的消息,使接收端及时验证出伪造的第一消息,提高了消息传输的安全性。
参见图5,本申请实施例提供了一种验证消息的方法,该方法可以应用于图1-1所示的通信系统,其执行主体可以为接收端,用于接收图4所示的实施例发送的消息,该方法包括:
步骤501:接收端接收消息,确定该消息为第二消息,第二消息包括首条数据、该首条数据对应的哈希链中的头节点、第二验证码和公钥信息。
该公钥信息可以为发送端的身份标识信息。
可选的,第二消息还可以包括发送首条数据的第二时间戳和首条数据在目标发送周期中的发送序号。
可选的,发送端发送的消息可能是包括首条数据的第二消息,也可能是包括除首条数据以外的其他目标数据的第一消息。接收端在接收到该消息,根据该消息中的发送序号确定接收的消息是第二消息或为第一消息。
可选的,接收端中包括消息缓存区,接收端在接收到消息时,该消息无论是第一消息,还是第二消息,可以先将该消息缓存在消息缓存区中;在接收消息的时间长度达到第一阈值时,同时对接收到的Z个第二消息进行验证,该Z个消息是消息缓存区中缓存的第二消息,在同时对该Z个第二消息验证通过时,可以直接处理该Z个第二消息中的首条数据,在没有同时对该Z个第二消息验证通过时,对该Z个第二消息中的每个第二消息执行后续步骤502的操作,Z为大于0的整数,这样实现对该Z个第二消息中的第二验证码进行批量验证,提高了验证效率。
可选的,接收端同时对接收到的Z个第二消息进行验证的操作,可以包括如下521至523的操作,分别为:
521:接收端根据预设乘法群的生成元和该Z个第二消息中的第二验证码获取该Z个第二消息的第三数值。
该乘法群的生成元可以预设在服务器或预设在接收端中。接收端可以事先接收服务器广播的乘法群的生成元g和第一随机数x,还可以根据该生成元g和第一随机数x生成主公钥值y,主公钥值y=gx
这样在执行本步骤的操作时,对于该Z个第二消息中的每个第二消息,该第二消息的第二验证码可以表示为(第一签名T、第二签名S和第一私钥R),根据该第二签名S和该生成元g获取该第二消息对应的第三数值A,第三数值为A=gS;按上述方式获取每个第二消息对应的第三数值,分别为w1、w2、……、wZ
522:接收端根据每个第二消息和每个第二消息中的第二验证码获取每个第二消息的第四数值。
对于每个第二消息,对该第二消息包括的发送端的身份标识信息ID和该第一私钥R进行哈希运算得到该第二消息的第一哈希值w,w=H1(ID,R);对该第二消息、该第二消息包括的发送端的身份标识信息ID、该第一签名T和第一私钥R进行哈希运算得到该第二消息的第二哈希值v,v=H2(Message,T,R,ID),H1()和H2()为两个哈希函数,Message为该第二消息;根据该第一签名T、第一私钥R、主公钥值y、第一哈希值w和第二哈希值v获取该第二消息对应的第四数值B,第四数值B=T*Rw*yw*v。按上述方式获取每个第二消息对应的第四数值,分别为v1、v2、……、vZ
523:在该Z个第二消息对应的第三数值的乘积等于该Z个第二消息对应的第四数值的乘积时,对接收到的Z个第二消息验证通过,即w1*w2*……*wZ=v1*v2*……*vZ时,对接收到的Z个第二消息同时验证通过。
步骤502:接收端根据该公钥信息对第二验证码进行解密得到第一摘要信息,根据该首条数据和该首条数据对应的头节点生成第二摘要信息。
可选的,接收端在执行本步骤之前,还可以获取接收第二消息的第四时间戳,获取第二消息中的第二时间戳与第四时间戳之间的第二差值,在第二差值不超过第一阈值时,执行本步骤的操作。
可选的,接收端可以将当前的时间戳作为接收第二消息的第四时间戳。
发送端发送完第二消息后,接收端很快就可以接收到第二消息,发送第二消息的第二时间戳和接收第二消息的第四时间戳之间差值较小,通常小于第一阈值。
如果发送端发送第二消息后,第二消息被除接收端以外的其他设备截获,该其他设备可能重复地向接收端发送第二消息,这样接收端重复地处理第二消息,以实现攻击接收端。因此为了避免其他设备不断攻击接收端,接收端判断第二时间戳与第四时间戳之间的第二差值是否超过第一阈值,在超过第一阈值时,丢弃第二消息,避免重复处理第二消息,以避免被其他设备不断攻击;在未超过第一阈值时,执行本步骤的操作。
步骤503:在第一摘要信息和第二摘要信息相等时,对第二消息中的首条数据验证通过。
可选的,接收端接收到第二消息后,还继续接收发送端在目标发送周期内发送的各第一消息,详细实现过程为:
步骤504-步骤508:分别与步骤305-步骤309相同,在此不再详细说明。
在本申请实施例中,接收端可以直接接收发送端广播的消息,这样该消息可以不经过服务器转发,减小了该消息传输的延时,提高消息发送的效率。另外,由于发送端发送的消息中包括目标数据对应哈希链中的节点,哈希链中的节点为单向映射关系,目标数据对应的节点是根据目标数据的发送序号确定的,这样发送端在当前发送周期内连续发送多条消息时,接收端根据每条消息中节点验证每条消息的连续性,提高了消息传输的安全性。
参见图6,本申请实施例提供了一种发送消息的装置600,所述装置600可以是上述任一实施例的发送端或发送端中的部分,包括:
处理单元601,用于获取待发送的目标数据,目标数据是当前发送周期内在发送首条数据之后待发送的数据;根据目标数据在当前发送周期内的发送序号从哈希链中获取目标数据对应的节点,哈希链包括的节点数目等于当前发送周期内允许发送的数据数目;对目标数据和目标数据对应的节点进行哈希运算得到第一验证码,第一验证码用于接收端验证目标数据;
发送单元602,用于发送第一消息,第一消息包括目标数据、目标数据对应的节点、第一验证码和目标数据的发送序号。
可选的,处理单元601,还用于:
随机生成哈希链的尾节点;
对哈希链中的节点hi-1进行哈希运算得到哈希链中的节点hi,i=1、2、……、N,N+1为当前发送周期内允许发送的数据数目,节点h0为所述尾节点,节点hN为哈希链的头节点。
可选的,处理单元601,用于:
在根据目标数据的发送序号确定目标数据是当前发送周期内待发送的第二条数据时,获取哈希链的头节点作为目标数据对应的节点;
在根据目标数据的发送序号确定目标数据是位于所述第二条数据之后待发送的数据时,获取哈希链中位于第三节点之后且与第三节点相邻的第四节点作为目标数据对应的节点,第三节点是最近上一次发送的哈希链中的节点。
可选的,第一消息还包括发送目标数据的第一时间戳。
可选的,处理单元601,还用于通过私钥信息对首条数据和哈希链的头节点进行签名得到第二验证码,第二验证码用于接收端对首条数据进行验证;
发送单元602,还用于发送第二消息,第二消息包括验证信息、首条数据、第二验证码和首条数据对应的节点,验证信息包括与该私钥信息相匹配的公钥信息。
可选的,处理单元601,用于:
根据首条数据和所述哈希链的头节点生成第一摘要信息;
使用私钥信息对第一摘要信息进行签名得到第二验证码。
可选的,第二消息还包括发送目标数据的第二时间戳。
可选的,该验证信息为数字证书,该数字证书包括公钥信息;或者,该验证信息为公钥信息,该公钥信息为发送端的身份标识信息。
在本申请实施例中,发送单元可以直接向接收端发送第一消息或第二消息,这样第一消息和第二消息可以不经过服务器转发,减小了第一消息和第二消息传输的延时,提高消息发送的效率。另外,由于发送的消息中包括目标数据对应哈希链中的节点,哈希链中的节点为单向映射关系,目标数据对应的节点是根据目标数据的发送序号确定的,这样发送单元在当前发送周期内连续发送多条消息时,可以使接收端根据每条消息中节点验证每条消息的连续性,对于不连续的消息可能是其他设备伪造发送端的消息,使接收端及时验证出伪造的消息,提高了消息传输的安全性。
参见图7,本申请实施例提供了一种验证消息的装置700,所述装置700可以是上述任一实施例的接收端或接收端中的部分,包括:
接收单元701,用于接收第一消息,第一消息包括目标数据、目标数据对应的哈希链中的一个节点、第一验证码和目标数据在目标发送周期中的发送序号,目标数据是目标发送周期内在发送首条数据之后发送的数据,哈希链包括的节点数目等于目标发送周期内允许发送的数据数目;
处理单元702,用于根据目标数据对应的节点、目标数据对应的发送序号和第一验证码对目标数据进行验证。
可选的,处理单元702,用于:
根据目标数据的发送序号确定已接收的第一数据对应的节点,第一数据是发送端在发送目标数据之前最近发送的数据;
根据第一数据对应的节点对目标数据对应的节点进行验证;
在验证目标数据对应的节点通过时,对目标数据和目标数据对应的节点进行哈希运算得到第一哈希结果;
在第一哈希结果与第一验证码匹配时,对目标数据验证通过。
可选的,第一数据为首条数据,首条数据对应的节点为哈希链的头节点,处理单元702,用于当目标数据对应的节点与首条数据对应的头节点相等时,对目标数据对应的节点验证通过。
可选的,第一数据为所述目标发送周期内在发送首条数据之后发送的数据,处理单元702,用于:
对目标数据对应的节点进行哈希运算得到第二哈希结果;
在第二哈希结果与第一数据对应的节点相等时,对目标数据对应的节点验证通过。
可选的,第一消息还包括发送目标数据的第一时间戳;
处理单元702,用于:
获取第一时间戳和接收目标数据的第三时间戳之间的第一差值;
在第一差值不超过第一阈值时,根据目标数据对应的节点、目标数据对应的发送序号和第一验证码对目标数据进行验证。
可选的,接收单元701,还用于接收第二消息,第二消息包括首条数据、首条数据对应的哈希链的头节点、第二验证码和验证信息,验证信息包括公钥信息;
处理单元702,还用于根据第二验证码和该公钥信息对首条数据进行验证。
可选的,处理单元702,用于:
使用该公钥信息对第二验证码进行解密得到第一摘要信息;
根据首条数据和首条数据对应的头节点生成第二摘要信息;
在第一摘要信息与第二摘要信息匹配时,对首条数据验证通过。
可选的,验证信息为数字证书,数字证书包括该公钥信息,
处理单元702,用于:
使用数字证书的颁发者公钥信息验证所述数字证书;
在验证数字证书通过后,使用该公钥信息对所述第二验证码进行解密得到第一摘要信息。
可选的,处理单元702,用于:
将第二消息缓存在消息缓存区中;
在接收消息的时间长度达到第二阈值时,对接收到的Z个消息中的数字证书进行验证,所述Z个消息是消息缓存区中缓存的包括数字证书的消息,Z为大于0的整数;
在对Z个消息中的数字证书进行验证未通过时,使用数字证书的颁发者公钥信息验证所述数字证书。
可选的,处理单元702,用于:
对Z个消息中的数字证书进行哈希运算,得到Z个消息中的数字证书的哈希值;
计算Z个消息中的数字证书的哈希值的乘积得到第一数值;
计算Z个消息中的数字证书中的数字签名的乘积得到第二数值;
在第二数值的e次方等于第一数值时,对Z个消息中的数字证书进行验证通过。
可选的,第二消息还包括发送首条数据的第二时间戳;
处理单元702,用于:
获取第二时间戳和接收首条数据的第四时间戳之间的第二差值;
在第二差值不超过第一阈值时,根据第二验证码和该公钥信息对首条数据进行验证。
可选的,处理单元702,用于:
将第二消息缓存在消息缓存区中;
在接收消息的时间长度达到第二阈值时,同时对接收到的Z个第二消息进行验证,Z个第二消息是消息缓存区中缓存的第二消息;
在同时对Z个第二消息验证不通过时,根据第二验证码和该公钥信息对首条数据进行验证。
在本申请实施例中,接收单元可以直接接收发送端发送的消息,这样该消息可以不经过服务器转发,减小了该消息传输的延时,提高消息发送的效率。另外,由于发送端发送的消息中包括目标数据对应哈希链中的节点,哈希链中的节点为单向映射关系,目标数据对应的节点是根据目标数据的发送序号确定的,这样发送端在当前发送周期内连续发送多条消息时,处理单元根据每条消息中节点验证每条消息的连续性,提高了消息传输的安全性。
参见图8,图8所示为本申请实施例提供的一种发送消息的装置800示意图。该装置800包括至少一个处理器801,总线系统802,存储器803以及至少一个收发器804。
该装置800是一种硬件结构的装置,可以用于实现图6所述的装置中的功能模块。例如,本领域技术人员可以想到图6所示的装置600中的处理单元601可以通过该至少一个处理器801调用存储器803中的代码来实现,图6所示的装置600中的发送单元602可以通过该收发器804来实现。
可选的,该装置800还可用于实现上述任一实施例中发送端的功能。
可选的,上述处理器801可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
上述总线系统802可包括一通路,在上述组件之间传送信息。
上述收发器804,用于与其他设备或通信网络通信。
上述存储器803可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器803用于存储执行本申请方案的应用程序代码,并由处理器801来控制执行。处理器801用于执行存储器803中存储的应用程序代码,从而实现本专利方法中的功能。
在具体实现中,作为一种实施例,处理器801可以包括一个或多个CPU,例如图8中的CPU0和CPU1。
在具体实现中,作为一种实施例,该装置800可以包括多个处理器,例如图8中的处理器801和处理器807。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,该装置800还可以包括输出设备805和输入设备806。输出设备805和处理器801通信,可以以多种方式来显示信息。例如,输出设备805可以是液晶显示器(liquid crystal display,LCD)等。输入设备806和处理器801通信,可以以多种方式接受用户的输入。例如,输入设备806可以是触摸屏设备或传感设备等。
参见图9,图9所示为本申请实施例提供的一种验证消息的装置900示意图。该装置900包括至少一个处理器901,总线系统902,存储器903以及至少一个收发器904。
该装置900是一种硬件结构的装置,可以用于实现图7所述的装置中的功能模块。例如,本领域技术人员可以想到图7所示的装置700中的处理单元702可以通过该至少一个处理器901调用存储器903中的代码来实现,图7所示的装置700中的接收单元701可以通过该收发器904来实现。
可选的,该装置900还可用于实现上述任一实施例中发送端的功能。
可选的,上述处理器901可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
上述总线系统902可包括一通路,在上述组件之间传送信息。
上述收发器904,用于与其他设备或通信网络通信。
上述存储器903可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器903用于存储执行本申请方案的应用程序代码,并由处理器801来控制执行。处理器901用于执行存储器903中存储的应用程序代码,从而实现本专利方法中的功能。
在具体实现中,作为一种实施例,处理器901可以包括一个或多个CPU,例如图9中的CPU0和CPU1。
在具体实现中,作为一种实施例,该装置900可以包括多个处理器,例如图9中的处理器801和处理器907。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,该装置900还可以包括输出设备905和输入设备906。输出设备905和处理器901通信,可以以多种方式来显示信息。例如,输出设备905可以是液晶显示器(liquid crystal display,LCD)等。输入设备906和处理器901通信,可以以多种方式接受用户的输入。例如,输入设备806可以是触摸屏设备或传感设备等。
参见图10,本申请实施例提供了一种通信系统1000,所述通信系统1000包括:图6所述的装置和图7所述的装置,或者,图8所述的装置和图9所述的装置。在实现时,图6所述的装置或图8所述的装置可以为发送端,以及,图7所述的装置或图9所述的装置可以为接收端。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (41)

1.一种发送消息的方法,其特征在于,所述方法包括:
发送端获取待发送的目标数据,所述目标数据是当前发送周期内在发送首条数据之后待发送的数据;
所述发送端根据所述目标数据在当前发送周期内的发送序号从哈希链中获取所述目标数据对应的节点,所述哈希链包括的节点数目等于当前发送周期内允许发送的数据数目;
所述发送端对所述目标数据和所述目标数据对应的节点进行哈希运算得到第一验证码,所述第一验证码用于接收端验证所述目标数据;
所述发送端发送第一消息,所述第一消息包括所述目标数据、所述目标数据对应的节点、所述第一验证码和所述目标数据的发送序号。
2.如权利要求1所述的方法,其特征在于,所述根据所述目标数据在当前发送周期内的发送序号从哈希链中获取所述目标数据对应的节点之前,还包括:
随机生成所述哈希链的尾节点;
对所述哈希链中的节点hi-1进行哈希运算得到所述哈希链中的节点hi,i=1、2、……、N,N+1为当前发送周期内允许发送的数据数目,节点h0为所述尾节点,节点hN为所述哈希链的头节点。
3.如权利要求1所述的方法,其特征在于,所述根据所述目标数据在当前发送周期内的发送序号从哈希链中获取所述目标数据对应的节点,包括:
在根据所述目标数据的发送序号确定所述目标数据是当前发送周期内待发送的第二条数据时,获取所述哈希链的头节点作为所述目标数据对应的节点;
在根据所述目标数据的发送序号确定所述目标数据是位于所述第二条数据之后待发送的数据时,获取所述哈希链中位于第三节点之后且与所述第三节点相邻的第四节点作为所述目标数据对应的节点,所述第三节点是最近上一次发送的所述哈希链中的节点。
4.如权利要求1至3任一项所述的方法,其特征在于,所述第一消息还包括发送所述目标数据的第一时间戳。
5.如权利要求1所述的方法,其特征在于,所述获取待发送的目标数据之前,还包括:
通过私钥信息对所述首条数据和所述哈希链的头节点进行签名得到第二验证码,所述第二验证码用于所述接收端对所述首条数据进行验证;
发送第二消息,所述第二消息包括验证信息、所述首条数据、所述第二验证码和所述首条数据对应的节点,所述验证信息包括与所述私钥信息相匹配的公钥信息。
6.如权利要求5所述的方法,其特征在于,所述通过私钥信息对所述首条数据和所述哈希链的头节点进行签名得到第二验证码,包括:
根据所述首条数据和所述哈希链的头节点生成第一摘要信息;
使用私钥信息对所述第一摘要信息进行签名得到第二验证码。
7.如权利要求5所述的方法,其特征在于,所述第二消息还包括发送所述目标数据的第二时间戳。
8.如权利要求5至7任一项所述的方法,其特征在于,所述验证信息为数字证书,所述数字证书包括所述公钥信息;或者,所述验证信息为所述公钥信息,所述公钥信息为所述发送端的身份标识信息。
9.一种验证消息的方法,其特征在于,所述方法包括:
接收端接收第一消息,所述第一消息包括目标数据、所述目标数据对应的哈希链中的一个节点、第一验证码和所述目标数据在目标发送周期中的发送序号,所述目标数据是所述目标发送周期内在发送首条数据之后发送的数据,所述哈希链包括的节点数目等于所述目标发送周期内允许发送的数据数目;
所述接收端根据所述目标数据对应的节点、所述目标数据对应的发送序号和所述第一验证码对所述目标数据进行验证。
10.如权利要求9所述的方法,其特征在于,所述根据所述目标数据对应的节点、所述目标数据对应的发送序号和所述第一验证码对所述目标数据进行验证,包括:
根据所述目标数据的发送序号确定已接收的第一数据对应的节点,所述第一数据是发送端在发送所述目标数据之前最近发送的数据;
根据所述第一数据对应的节点对所述目标数据对应的节点进行验证;
在验证所述目标数据对应的节点通过时,对所述目标数据和所述目标数据对应的节点进行哈希运算得到第一哈希结果;
在所述第一哈希结果与所述第一验证码匹配时,对所述目标数据验证通过。
11.如权利要求10所述的方法,其特征在于,所述第一数据为所述首条数据,所述首条数据对应的节点为所述哈希链的头节点,所述根据所述第一数据对应的节点对所述目标数据对应的节点进行验证,包括:
当所述目标数据对应的节点与所述首条数据对应的头节点相等时,对所述目标数据对应的节点验证通过。
12.如权利要求10所述的方法,其特征在于,所述第一数据为所述目标发送周期内在发送所述首条数据之后发送的数据,所述根据所述第一数据对应的节点对所述目标数据对应的节点进行验证,包括:
对所述目标数据对应的节点进行哈希运算得到第二哈希结果;
在所述第二哈希结果与所述第一数据对应的节点相等时,对所述目标数据对应的节点验证通过。
13.如权利要求9至12任一项所述的方法,其特征在于,所述第一消息还包括发送所述目标数据的第一时间戳;
所述根据所述目标数据对应的节点、所述目标数据对应的发送序号和所述第一验证码对所述目标数据进行验证,包括:
获取所述第一时间戳和接收所述目标数据的第三时间戳之间的第一差值;
在所述第一差值不超过第一阈值时,根据所述目标数据对应的节点、所述目标数据对应的发送序号和所述第一验证码对所述目标数据进行验证。
14.如权利要求9所述的方法,其特征在于,所述接收第一消息之前,还包括:
接收第二消息,所述第二消息包括所述首条数据、所述首条数据对应的所述哈希链的头节点、第二验证码和验证信息,所述验证信息包括公钥信息;
根据所述第二验证码和所述公钥信息对所述首条数据进行验证。
15.如权利要求14所述的方法,其特征在于,所述根据所述第二验证码和所述公钥信息对所述首条数据进行验证,包括:
使用所述公钥信息对所述第二验证码进行解密得到第一摘要信息;
根据所述首条数据和所述首条数据对应的头节点生成第二摘要信息;
在所述第一摘要信息与所述第二摘要信息匹配时,对所述首条数据验证通过。
16.如权利要求15所述的方法,其特征在于,所述验证信息为数字证书,所述数字证书包括所述公钥信息,
所述使用所述公钥信息对所述第二验证码进行解密得到第一摘要信息,包括:
使用所述数字证书的颁发者公钥信息验证所述数字证书;
在验证所述数字证书通过后,使用所述公钥信息对所述第二验证码进行解密得到第一摘要信息。
17.如权利要求16所述的方法,其特征在于,所述使用所述数字证书的颁发者公钥信息验证所述数字证书,包括:
将所述第二消息缓存在消息缓存区中;
在接收消息的时间长度达到第二阈值时,对接收到的Z个消息中的数字证书进行验证,所述Z个消息是所述消息缓存区中缓存的包括数字证书的消息,Z为大于0的整数;
在对所述Z个消息中的数字证书进行验证未通过时,使用所述数字证书的颁发者公钥信息验证所述数字证书。
18.如权利要求17所述的方法,其特征在于,所述对接收到的Z个消息中的数字证书进行验证,包括:
对Z个消息中的数字证书进行哈希运算,得到所述Z个消息中的数字证书的哈希值;
计算所述Z个消息中的数字证书的哈希值的乘积得到第一数值;
计算所述Z个消息中的数字证书中的数字签名的乘积得到第二数值;
在所述第二数值的e次方等于所述第一数值时,对所述Z个消息中的数字证书进行验证通过。
19.如权利要求14所述的方法,其特征在于,所述第二消息还包括发送所述首条数据的第二时间戳;
所述根据所述第二验证码和所述公钥信息对所述首条数据进行验证,包括:
获取所述第二时间戳和接收所述首条数据的第四时间戳之间的第二差值;
在所述第二差值不超过第一阈值时,根据所述第二验证码和所述公钥信息对所述首条数据进行验证。
20.如权利要求14至19任一项所述的方法,其特征在于,所述根据所述第二验证码和所述公钥信息对所述首条数据进行验证,包括:
将所述第二消息缓存在消息缓存区中;
在接收消息的时间长度达到第二阈值时,同时对接收到的Z个第二消息进行验证,所述Z个第二消息是所述消息缓存区中缓存的第二消息;
在同时对所述Z个第二消息验证不通过时,根据所述第二验证码和所述公钥信息对所述首条数据进行验证。
21.一种发送消息的装置,其特征在于,所述装置包括:
处理单元,用于获取待发送的目标数据,所述目标数据是当前发送周期内在发送首条数据之后待发送的数据;根据所述目标数据在当前发送周期内的发送序号从哈希链中获取所述目标数据对应的节点,所述哈希链包括的节点数目等于当前发送周期内允许发送的数据数目;对所述目标数据和所述目标数据对应的节点进行哈希运算得到第一验证码,所述第一验证码用于接收端验证所述目标数据;
发送单元,用于发送第一消息,所述第一消息包括所述目标数据、所述目标数据对应的节点、所述第一验证码和所述目标数据的发送序号。
22.如权利要求21所述的装置,其特征在于,所述处理单元,还用于:
随机生成所述哈希链的尾节点;
对所述哈希链中的节点hi-1进行哈希运算得到所述哈希链中的节点hi,i=1、2、……、N,N+1为当前发送周期内允许发送的数据数目,节点h0为所述尾节点,节点hN为所述哈希链的头节点。
23.如权利要求21所述的装置,其特征在于,所述处理单元,用于:
在根据所述目标数据的发送序号确定所述目标数据是当前发送周期内待发送的第二条数据时,获取所述哈希链的头节点作为所述目标数据对应的节点;
在根据所述目标数据的发送序号确定所述目标数据是位于所述第二条数据之后待发送的数据时,获取所述哈希链中位于第三节点之后且与所述第三节点相邻的第四节点作为所述目标数据对应的节点,所述第三节点是最近上一次发送的所述哈希链中的节点。
24.如权利要求21至23任一项所述的装置,其特征在于,所述第一消息还包括发送所述目标数据的第一时间戳。
25.如权利要求21所述的装置,其特征在于,
所述处理单元,还用于通过私钥信息对所述首条数据和所述哈希链的头节点进行签名得到第二验证码,所述第二验证码用于所述接收端对所述首条数据进行验证;
所述发送单元,还用于发送第二消息,所述第二消息包括验证信息、所述首条数据、所述第二验证码和所述首条数据对应的节点,所述验证信息包括与所述私钥信息相匹配的公钥信息。
26.如权利要求25所述的装置,其特征在于,所述处理单元,用于:
根据所述首条数据和所述哈希链的头节点生成第一摘要信息;
使用私钥信息对所述第一摘要信息进行签名得到第二验证码。
27.如权利要求25所述的装置,其特征在于,所述第二消息还包括发送所述目标数据的第二时间戳。
28.如权利要求25至27任一项所述的装置,其特征在于,所述验证信息为数字证书,所述数字证书包括所述公钥信息;或者,所述验证信息为所述公钥信息,所述公钥信息为所述装置的身份标识信息。
29.一种验证消息的装置,其特征在于,所述装置包括:
接收单元,用于接收第一消息,所述第一消息包括目标数据、所述目标数据对应的哈希链中的一个节点、第一验证码和所述目标数据在目标发送周期中的发送序号,所述目标数据是所述目标发送周期内在发送首条数据之后发送的数据,所述哈希链包括的节点数目等于所述目标发送周期内允许发送的数据数目;
处理单元,用于根据所述目标数据对应的节点、所述目标数据对应的发送序号和所述第一验证码对所述目标数据进行验证。
30.如权利要求29所述的装置,其特征在于,所述处理单元,用于:
根据所述目标数据的发送序号确定已接收的第一数据对应的节点,所述第一数据是发送端在发送所述目标数据之前最近发送的数据;
根据所述第一数据对应的节点对所述目标数据对应的节点进行验证;
在验证所述目标数据对应的节点通过时,对所述目标数据和所述目标数据对应的节点进行哈希运算得到第一哈希结果;
在所述第一哈希结果与所述第一验证码匹配时,对所述目标数据验证通过。
31.如权利要求30所述的装置,其特征在于,所述第一数据为所述首条数据,所述首条数据对应的节点为所述哈希链的头节点,所述处理单元,用于当所述目标数据对应的节点与所述首条数据对应的头节点相等时,对所述目标数据对应的节点验证通过。
32.如权利要求30所述的装置,其特征在于,所述第一数据为所述目标发送周期内在发送所述首条数据之后发送的数据,所述处理单元,用于:
对所述目标数据对应的节点进行哈希运算得到第二哈希结果;
在所述第二哈希结果与所述第一数据对应的节点相等时,对所述目标数据对应的节点验证通过。
33.如权利要求29至32任一项所述的装置,其特征在于,所述第一消息还包括发送所述目标数据的第一时间戳;
所述处理单元,用于:
获取所述第一时间戳和接收所述目标数据的第三时间戳之间的第一差值;
在所述第一差值不超过第一阈值时,根据所述目标数据对应的节点、所述目标数据对应的发送序号和所述第一验证码对所述目标数据进行验证。
34.如权利要求29所述的装置,其特征在于,
所述接收单元,还用于接收第二消息,所述第二消息包括所述首条数据、所述首条数据对应的所述哈希链的头节点、第二验证码和验证信息,所述验证信息包括公钥信息;
所述处理单元,还用于根据所述第二验证码和所述公钥信息对所述首条数据进行验证。
35.如权利要求34所述的装置,其特征在于,所述处理单元,用于:
使用所述公钥信息对所述第二验证码进行解密得到第一摘要信息;
根据所述首条数据和所述首条数据对应的头节点生成第二摘要信息;
在所述第一摘要信息与所述第二摘要信息匹配时,对所述首条数据验证通过。
36.如权利要求35所述的装置,其特征在于,所述验证信息为数字证书,所述数字证书包括所述公钥信息,
所述处理单元,用于:
使用所述数字证书的颁发者公钥信息验证所述数字证书;
在验证所述数字证书通过后,使用所述公钥信息对所述第二验证码进行解密得到第一摘要信息。
37.如权利要求36所述的装置,其特征在于,所述处理单元,用于:
将所述第二消息缓存在消息缓存区中;
在接收消息的时间长度达到第二阈值时,对接收到的Z个消息中的数字证书进行验证,所述Z个消息是所述消息缓存区中缓存的包括数字证书的消息,Z为大于0的整数;
在对所述Z个消息中的数字证书进行验证未通过时,使用所述数字证书的颁发者公钥信息验证所述数字证书。
38.如权利要求37所述的装置,其特征在于,所述处理单元,用于:
对Z个消息中的数字证书进行哈希运算,得到所述Z个消息中的数字证书的哈希值;
计算所述Z个消息中的数字证书的哈希值的乘积得到第一数值;
计算所述Z个消息中的数字证书中的数字签名的乘积得到第二数值;
在所述第二数值的e次方等于所述第一数值时,对所述Z个消息中的数字证书进行验证通过。
39.如权利要求34至38任一项所述的装置,其特征在于,所述第二消息还包括发送所述首条数据的第二时间戳;
所述处理单元,用于:
获取所述第二时间戳和接收所述首条数据的第四时间戳之间的第二差值;
在所述第二差值不超过第一阈值时,根据所述第二验证码和所述公钥信息对所述首条数据进行验证。
40.如权利要求29所述的装置,其特征在于,所述处理单元,用于:
将第二消息缓存在消息缓存区中;
在接收消息的时间长度达到第二阈值时,同时对接收到的Z个第二消息进行验证,所述Z个第二消息是所述消息缓存区中缓存的第二消息;
在同时对所述Z个第二消息验证不通过时,根据第二验证码和公钥信息对所述首条数据进行验证。
41.一种通信系统,其特征在于,所述通信系统包括:如权利要求21至28任一项权利要求所述的装置和如权利要求29至40任一项权利要求所述的装置。
CN201811063947.1A 2018-09-12 2018-09-12 一种发送消息的方法、验证消息的方法、装置及通信系统 Active CN110896390B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811063947.1A CN110896390B (zh) 2018-09-12 2018-09-12 一种发送消息的方法、验证消息的方法、装置及通信系统
EP19860362.3A EP3843355A4 (en) 2018-09-12 2019-07-08 METHOD OF SENDING A MESSAGE, METHOD OF VERIFYING A MESSAGE, DEVICE AND COMMUNICATION SYSTEM
PCT/CN2019/095086 WO2020052335A1 (zh) 2018-09-12 2019-07-08 一种发送消息的方法、验证消息的方法、装置及通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811063947.1A CN110896390B (zh) 2018-09-12 2018-09-12 一种发送消息的方法、验证消息的方法、装置及通信系统

Publications (2)

Publication Number Publication Date
CN110896390A CN110896390A (zh) 2020-03-20
CN110896390B true CN110896390B (zh) 2021-05-11

Family

ID=69776950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811063947.1A Active CN110896390B (zh) 2018-09-12 2018-09-12 一种发送消息的方法、验证消息的方法、装置及通信系统

Country Status (3)

Country Link
EP (1) EP3843355A4 (zh)
CN (1) CN110896390B (zh)
WO (1) WO2020052335A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11811943B2 (en) * 2020-04-01 2023-11-07 Lg Electronics Inc. Verification of messages using hash chaining
CN114124396B (zh) * 2020-09-01 2023-12-01 中国电信股份有限公司 信息传输方法、系统和存储介质
CN114244792B (zh) * 2020-09-09 2023-07-25 中国联合网络通信集团有限公司 消息发送方法及装置,和消息显示方法及装置
CN112615820A (zh) * 2020-12-05 2021-04-06 百果园技术(新加坡)有限公司 重放攻击检测方法、装置、设备和存储介质
CN113438202B (zh) * 2021-05-18 2023-06-02 北京达佳互联信息技术有限公司 验证码请求的处理方法、装置、电子设备及存储介质
CN114006930B (zh) * 2021-09-30 2023-09-08 三一海洋重工有限公司 一种抓料机的远程控制方法、操作方法、装置及系统
CN114422140B (zh) * 2021-12-27 2024-03-12 微位(深圳)网络科技有限公司 消息时间验证方法、装置、设备及介质
CN116132166A (zh) * 2023-02-03 2023-05-16 网易(杭州)网络有限公司 基于区块链的通信方法、装置、设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1912376B1 (en) * 2006-10-10 2009-04-22 NTT DoCoMo, Inc. Method and apparatus for authentication
CN101729248A (zh) * 2008-11-03 2010-06-09 华为技术有限公司 密钥管理、密钥验证的方法及装置
KR20150024117A (ko) * 2013-08-26 2015-03-06 고려대학교 산학협력단 차량용 데이터의 인증 및 획득 방법
CN105187376A (zh) * 2015-06-16 2015-12-23 西安电子科技大学 车联网中汽车内部网络的安全通信方法
CN105931052A (zh) * 2016-04-21 2016-09-07 四川大学 一种基于区块链多因子交叉验证的虚拟货币交易验证方法
CN106101068A (zh) * 2016-05-27 2016-11-09 宇龙计算机通信科技(深圳)有限公司 终端通信方法及系统
CN106559211A (zh) * 2016-11-22 2017-04-05 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN106650496A (zh) * 2016-12-16 2017-05-10 杭州嘉楠耘智信息科技有限公司 一种数据处理方法及装置
CN107077557A (zh) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 软件应用程序发布和验证的方法及装置
CN107579817A (zh) * 2017-09-12 2018-01-12 广州广电运通金融电子股份有限公司 基于区块链的用户身份验证方法、装置及系统
EP3282775A1 (en) * 2015-05-29 2018-02-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Machine type communication method, terminal, and base station
CN108111467A (zh) * 2016-11-24 2018-06-01 华为技术有限公司 身份认证方法与设备及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150079941A1 (en) * 2012-05-15 2015-03-19 Telefonaktiebolaget L M Ericsson (Publ) Secure Paging
US9853819B2 (en) * 2013-08-05 2017-12-26 Guardtime Ip Holdings Ltd. Blockchain-supported, node ID-augmented digital record signature method
WO2017218986A1 (en) * 2016-06-16 2017-12-21 The Bank Of New York Mellon Managing verifiable, cryptographically strong transactions
JP2018133744A (ja) * 2017-02-16 2018-08-23 パナソニックIpマネジメント株式会社 通信システム、車両、および監視方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1912376B1 (en) * 2006-10-10 2009-04-22 NTT DoCoMo, Inc. Method and apparatus for authentication
CN101729248A (zh) * 2008-11-03 2010-06-09 华为技术有限公司 密钥管理、密钥验证的方法及装置
KR20150024117A (ko) * 2013-08-26 2015-03-06 고려대학교 산학협력단 차량용 데이터의 인증 및 획득 방법
EP3282775A1 (en) * 2015-05-29 2018-02-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Machine type communication method, terminal, and base station
CN105187376A (zh) * 2015-06-16 2015-12-23 西安电子科技大学 车联网中汽车内部网络的安全通信方法
CN105931052A (zh) * 2016-04-21 2016-09-07 四川大学 一种基于区块链多因子交叉验证的虚拟货币交易验证方法
CN106101068A (zh) * 2016-05-27 2016-11-09 宇龙计算机通信科技(深圳)有限公司 终端通信方法及系统
CN106559211A (zh) * 2016-11-22 2017-04-05 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN108111467A (zh) * 2016-11-24 2018-06-01 华为技术有限公司 身份认证方法与设备及系统
CN106650496A (zh) * 2016-12-16 2017-05-10 杭州嘉楠耘智信息科技有限公司 一种数据处理方法及装置
CN107077557A (zh) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 软件应用程序发布和验证的方法及装置
CN107579817A (zh) * 2017-09-12 2018-01-12 广州广电运通金融电子股份有限公司 基于区块链的用户身份验证方法、装置及系统

Also Published As

Publication number Publication date
EP3843355A1 (en) 2021-06-30
WO2020052335A1 (zh) 2020-03-19
EP3843355A4 (en) 2021-11-10
CN110896390A (zh) 2020-03-20

Similar Documents

Publication Publication Date Title
CN110896390B (zh) 一种发送消息的方法、验证消息的方法、装置及通信系统
CN110336774B (zh) 混合加密解密方法、设备及系统
US20170180330A1 (en) Method and electronic device for vehicle remote control and a non-transitory computer readable storage medium
Han et al. On authentication in a connected vehicle: Secure integration of mobile devices with vehicular networks
CN109005538B (zh) 面向无人驾驶车辆与多移动边缘计算服务器间的消息认证方法
JP2023501665A (ja) 車両のアップグレードパッケージを処理するための方法および装置
CN113742709B (zh) 信息的处理方法、装置、可读介质和电子设备
CN113114654A (zh) 一种终端设备接入安全认证方法、装置及系统
CN107332833B (zh) 校验方法及装置
CN106789963B (zh) 非对称白盒密码加密方法和装置及设备
CN111241492A (zh) 一种产品多租户安全授信方法、系统及电子设备
CN113162915A (zh) 基于区块链的交易方法、节点、电子设备、介质和系统
CN115982247B (zh) 基于区块链的账户信息查询方法和装置、设备和介质
CN115296807B (zh) 用于预防工控网络病毒的密钥生成方法、装置、设备
CN113141333A (zh) 入网设备的通信方法、设备、服务器、系统及存储介质
CN114584385B (zh) 一种车内网络安全通信方法、计算机设备、介质及终端
CN113472734B (zh) 一种身份认证方法及装置
CN113455032B (zh) 通信方法、通信装置及计算机可读介质
CN112862488A (zh) 数据的签名方法、装置、电子设备及计算机可读存储介质
CN115801686A (zh) 服务请求的处理方法、装置、设备及存储介质
KR101974411B1 (ko) 차량 내 보안 통신 지원 장치 및 그 동작 방법
Qin et al. Research on secure FOTA upgrade method for intelligent connected vehicle based on new domain controller architecture
CN111225358A (zh) 一种身份识别方法、装置、电子设备及存储介质
CN116155625B (zh) 密钥交换方法、装置、电子设备、存储介质及程序产品
Wei et al. Authenticated can communications using standardized cryptographic techniques

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