CN113615220B - 一种安全通信方法和装置 - Google Patents
一种安全通信方法和装置 Download PDFInfo
- Publication number
- CN113615220B CN113615220B CN202180001797.5A CN202180001797A CN113615220B CN 113615220 B CN113615220 B CN 113615220B CN 202180001797 A CN202180001797 A CN 202180001797A CN 113615220 B CN113615220 B CN 113615220B
- Authority
- CN
- China
- Prior art keywords
- message
- authentication code
- key
- verification parameter
- authentication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请涉及车联网通信技术领域,涉及基于JT808协议的安全通信方法,第一装置和第二装置有第一预设密钥;第二装置发送鉴权挑战消息,该消息包括第一消息认证码和第二装置的验证参数,第一消息认证码根据第一预设密钥、第一装置的验证参数和第二装置的验证参数生成;第一装置接收鉴权挑战消息,并根据第一预设密钥、第一装置的验证参数、第二装置的验证参数对第一消息认证码进行认证;第一装置根据第一预设密钥、第一装置的验证参数和第二装置的验证参数生成第二消息认证码,并发送包括第二消息认证码的鉴权挑战消息对应的应答消息;第二装置对第二消息认证码进行认证。通过上述方式实现了基于JT808协议的双向认证,提高了通信的安全性。
Description
技术领域
本申请实施例涉及车联网技术领域,尤其是涉及一种安全通信方法和装置。
背景技术
在车联网领域,车机通信一般都支持JT808协议,JT808协议具体指“道路运输车辆卫星定位系统终端通讯协议及数据格式”。而传统的JT808协议,采取单向认证机制,依赖于协议本身的安全。当非法终端访问车联网业务时,或恶意服务器攻击车机时,基于传统JT808协议的车车辆难以抵抗此类攻击,通信的安全性被破坏,造成一定的安全隐患。
因此,亟需提出一种提高JT808协议安全性的方法。
发明内容
本申请实施例提供一种安全通信方法和装置、计算设备、计算机可读存储介质,通过第一装置、第二装置之间的相互认证过程,提高了通信的安全性。
第一方面,本申请实施例提供了一种安全通信方法,应用于基于JT808协议通信的第一装置,该方法包括:
接收第二装置的鉴权挑战消息,鉴权挑战消息包括第一消息认证码和第二装置的验证参数,第一消息认证码根据第一预设密钥、第一装置的验证参数和第二装置的验证参数生成;
根据第一预设密钥、第一装置的验证参数、第二装置的验证参数对第一消息认证码进行认证;
生成第二消息认证码,第二消息认证码根据第一预设密钥、第一装置的验证参数和第二装置的验证参数生成;
发送鉴权挑战消息对应的应答消息,应答消息包括第二消息认证码,第二消息认证码用于第二装置对第二消息认证码进行认证。
由上,通过上述鉴权挑战认证过程,并利用预配置第一预设密钥作为共享信息,可以实现在JT808协议提供的注册阶段内进行第一装置和第二装置双向认证,即实现了第一装置与第二装置的相互认证能力,减少了非法终端可能访问平台车联网业务的情况,也减少了恶意攻击第一装置或第二装置的可能性,从而提高了对中间人攻击的抵抗能力,提高了业务消息交互的安全性。其中,第一装置可以为终端,第二装置可以为服务器;或,第一装置为服务器,第二装置为终端。
根据第一方面的一种可能的实现方式,还包括:接收第二装置的注册应答消息,注册应答消息的消息体属性值被设置为表示消息体已通过会话密钥Ks加密和完整性保护,会话密钥Ks根据第一预设密钥生成,注册应答消息是第二装置响应第一装置的注册请求消息所发送的消息。
由上,通过会话密钥Ks可以对终端与平台之间的业务消息交互提供机密性和完整性保护,降低了后续业务被篡改的风险可见。通过注册应答消息的消息体属性值的设置,可以实现对JT808协议的向下兼容。另一方面,将上述鉴权挑战认证过程设置在注册请求与注册应答消息之间,增加了注册阶段内的通信的安全性。
本申请实施例第二方面提供了一种安全通信方法,应用于基于JT808协议通信的第二装置,该方法包括:
向第一装置发送鉴权挑战消息,鉴权挑战消息包括第一消息认证码和第二装置的验证参数,第一消息认证码根据第一预设密钥、第二装置接收的第一装置的验证参数和第二装置的验证参数生成;
接收第一装置响应鉴权挑战消息的应答消息,应答消息包括第二消息认证码,第二消息认证码根据第一预设密钥、第一装置的验证参数、第二装置的验证参数生成;
根据第一预设密钥、第一装置的验证参数和第二装置的验证参数对第二消息认证码进行认证。
由上,通过上述鉴权挑战认证过程,并利用预配置第一预设密钥作为共享信息,可以实现在JT808协议提供的注册阶段内进行第一装置和第二装置双向认证,即实现了第一装置与第二装置的相互认证能力,减少了非法终端可能访问平台车联网业务的情况,也减少了恶意攻击第一装置或第二装置的可能性,从而提高了对中间人攻击的抵抗能力,提高了业务消息交互的安全性。其中,第一装置可以为终端,第二装置可以为服务器;或,第一装置为服务器,第二装置为终端。
根据第二方面的一种可能的实现方式,还包括:向第一装置发送注册应答消息,注册应答消息的消息体属性值被设置为表示消息体已通过会话密钥Ks加密和完整性保护,注册应答消息是第二装置响应第一装置的注册请求消息所发送的消息。
由上,通过会话密钥Ks可以对终端与平台之间的业务消息交互提供机密性和完整性保护,降低了后续业务被篡改风险可见。通过注册应答消息的消息体属性值的设置,可以实现对JT808协议的向下兼容。另一方面,将上述鉴权挑战认证过程设置在注册请求与注册应答消息之间,增加了注册阶段内的通信的安全性。
由上,可以实现第一装置与第二装置的双向通信中的通信的安全性。
根据第一或第二方面的一种可能的实现方式,第一消息认证码的生成算法与第二消息认证码的生成算法不同。
由上,采用不同的生成算法,提高了第一消息认证码与第二消息认证码同时被解密的难度,从而提高了信息传输的安全性。
根据第一或第二方面的一种可能的实现方式,第一预设密钥包括预共享密钥PSK。
由上,通过预配置的共享密钥信息作为第一预设密钥,来完成双向认证与密钥协商,生成可以提供机密性和完整性保护的会话密钥,降低后续业务被篡改的可能性。
根据第一或第二方面的一种可能的实现方式,第一装置的验证参数包括第一装置的标识、第一装置生成的随机数;第二装置的验证参数包括第二装置的标识、第二装置生成的随机数。
由上,可以灵活使用参数,采用随机数可以进一步增加第一消息认证码、第二消息认证码被解密的难度,从而提高了信息传输的安全性。
根据第一或第二方面的一种可能的实现方式,第一预设密钥包括预共享密钥(PSK)、椭圆曲线加密算法的基点参数(ECDH-G)。
由上,通过PSK与ECDH-G两个参数作为第一预设密钥,使得参数构成规则可以进一步多样化和复杂化,从而双向认证与密钥协商过程、生成可以提供机密性和完整性保护的会话密钥安全性更高,使得攻击者的对验证过程中,或对后续会话密钥的解密变得更加困难,提高了通信的安全性。
根据第一或第二方面的一种可能的实现方式,第一装置的验证参数包括第一装置的标识、根据ECDH-G生成的第一装置的公钥X;第二装置的验证参数包括第二装置的标识、根据ECDH-G生成的第二装置的公钥Y。
由上,可以灵活使用参数,采用根据ECDH-G生成的第一装置的公钥X、第二装置的公钥Y,可以进一步增加第一消息认证码、第二消息认证码被解密的难度,从而提高了信息传输的安全性。
根据第一或第二方面的一种可能的实现方式,会话密钥Ks具体根据第一预设密钥、第一装置的验证参数、第二装置的验证参数生成。
由上,通过上述方式生成会话密钥Ks,从而提高了信息传输的安全性。
根据第一或第二方面的一种可能的实现方式,会话密钥Ks的生成算法与第一消息认证码的生成算法、第二消息认证码的生成算法不同。
由上,采用不同的生成算法,提高了会话密钥Ks、第一消息认证码与第二消息认证码同时被解密的难度,从而提高了信息传输的安全性。
本申请实施例第三方面提供了一种安全通信的装置,为应用于基于JT808协议通信的第一装置,第一装置包括:
接收模块,用于接收第二装置的鉴权挑战消息,鉴权挑战消息包括第一消息认证码、第二装置的验证参数,第一消息认证码根据第一预设密钥、第一装置的验证参数、第二装置的验证参数生成;
处理模块,用于根据第一预设密钥、第一装置的验证参数、第二装置的验证参数对第一消息认证码进行认证;
处理模块还用于生成第二消息认证码,第二消息认证码根据第一预设密钥、第一装置的验证参数、第二装置的验证参数生成;
发送模块,用于发送鉴权挑战消息对应的应答消息,应答消息包括第二消息认证码,第二消息认证码用于第二装置对第二消息认证码进行认证。
根据第三方面的一种可能的实现方式,接收模块还用于接收第二装置的注册应答消息,注册应答消息的消息体属性值被设置为表示消息体已通过会话密钥Ks加密和完整性保护,会话密钥Ks根据第一预设密钥生成,注册应答消息是第二装置响应第一装置的注册请求消息所发送的消息。
本申请实施例第四方面提供了一种安全通信的装置,为应用于基于JT808协议通信的第二装置,第二装置包括:
发送模块,用于发送鉴权挑战消息,鉴权挑战消息包括第一消息认证码、第二装置的验证参数,第一消息认证码根据第一预设密钥、第二装置接收的第一装置的验证参数、第二装置的验证参数生成;
接收模块,用于接收第一装置响应鉴权挑战消息的应答消息,应答消息包括第二消息认证码,第二消息认证码根据第一预设密钥、第一装置的验证参数、第二装置的验证参数生成;
处理模块,用于根据第一预设密钥、第一装置的验证参数、第二装置的验证参数对第二消息认证码进行认证。
根据第四方面的一种可能的实现方式,发送模块还用于向第一装置发送注册应答消息,注册应答消息的消息体属性值被设置为表示消息体已通过会话密钥Ks加密和完整性保护,注册应答消息是第二装置响应第一装置的注册请求消息所发送的消息。
根据第三或第四方面的一种可能的实现方式,第一消息认证码的生成算法与第二消息认证码的生成算法不同。
根据第三或第四方面的一种可能的实现方式,第一预设密钥包括预共享密钥(PSK)。
根据第三或第四方面的一种可能的实现方式,第一装置的验证参数包括第一装置的标识、第一装置生成的随机数;第二装置的验证参数包括第二装置的标识、第二装置生成的随机数。
根据第三或第四方面的一种可能的实现方式,第一预设密钥包括预共享密钥(PSK)、椭圆曲线加密算法的基点参数(ECDH-G)。
根据第三或第四方面的一种可能的实现方式,第一装置的验证参数包括第一装置的标识、根据ECDH-G生成的第一装置的公钥X;第二装置的验证参数包括第二装置的标识、根据ECDH-G生成的第二装置的公钥Y。
根据第三或第四方面的一种可能的实现方式,会话密钥Ks具体根据第一预设密钥、第一装置的验证参数、第二装置的验证参数生成。
根据第三或第四方面的一种可能的实现方式,会话密钥Ks的生成算法与第一消息认证码的生成算法、第二消息认证码的生成算法不同。
本申请实施例第五方面提供了一种电子装置,包括:
处理器、通信接口,以及
存储器,其上存储有程序指令,程序指令当被处理器执行时使得处理器执行第一或第二方面任一项的方法。
本申请实施例第六方面提供了一种计算机可读存储介质,其上存储有程序指令,程序指令当被计算机执行时使得计算机执行第一或第二方面任一项的方法。
本申请实施例第七方面提供了一种计算机程序产品,其包括有程序指令,程序指令当被计算机执行时使得计算机执行上述第一或第二方面任一项的方法。
本申请实施例第八方面提供了一种芯片,其包括处理器,以及存储器,存储器上存储有程序指令,程序指令当被处理器执行时使得处理器执行上述第一或第二方面任一项的方法。
本申请实施例第九方面提供了一种芯片,其包括处理器,以及接口电路,其中,处理器通过接口电路访问存储器,存储器存储有程序指令,程序指令当被处理器执行时使得处理器执行上述第一或第二方面任一项的方法。
综上所述,本申请实施例提供的JT808协议的安全通信方法和装置、计算设备、计算机可读存储介质,通过在JT808协议提供的注册阶段内执行上述鉴权挑战方式的第一装置和第二装置双向认证,实现了第一装置与第二装置的相互认证能力,减少了非法终端可能访问平台车联网业务的情况,也减少了恶意攻击第一装置或第二装置的可能性,从而提高了对中间人攻击的抵抗能力,提高了业务消息交互的安全性。通过结合双方交换的终端验证参数和平台验证参数生成会话密钥Ks,使得在后续的信息交互过程中,能够保持交互信息的机密性和完整性。通过在注册应答消息的消息体属性值可以设置为表示消息体已通过所述会话密钥Ks加密和完整性保护,且属性值对应的消息位置不与常规JT808协议的消息体属性的原始定义冲突,可以实现JT808协议的向下兼容,使得支持JT808协议的原终端能在本申请实施例提供的密钥协商方式下正常运行,降低了对已经上网设备正常运行影响的可能性。
附图说明
图1a是JT808协议中的注册阶段的认证机制的流程图;
图1b是JT808协议中的密钥协商机制的流程图;
图2a是本申请实施例提供的一种安全通信方法的第一实施例的流程图;
图2b是本申请实施例提供的一种安全通信方法的第二实施例的流程图;
图3a是本申请实施例提供的一种安全通信方法的第一具体实施方式的流程图;
图3b是本申请实施例提供的一种安全通信方法的第二具体实施方式的流程图;
图4a是本申请实施例提供的一种安全通信装置的第一实施例的示意图;
图4b是本申请实施例提供的一种安全通信装置的第二实施例的示意图;
图5是本申请实施例提供的计算设备的结构示意图;
图6a是本申请实施例提供的芯片的结构示意图;
图6b是本申请另一实施例提供的芯片的结构示意图。
具体实施方式
下面结合附图并举实施例,对本申请实施例提供的技术方案作进一步说明。应理解,本申请实施例中提供的系统结构和业务场景主要是为了说明本申请的技术方案的可能的实施方式,不应被解读为对本申请的技术方案的唯一限定。本领域普通技术人员可知,随着系统结构的演进和新业务场景的出现,本申请提供的技术方案对类似技术问题同样适用。
应理解,本申请实施例提供的安全通信的方案,包括安全通信方法和装置、计算设备、计算机可读存储介质等。由于这些技术方案解决问题的原理相同或相似,在如下具体实施例的介绍中,某些重复之处可能不再赘述,但应视为这些具体实施例之间已有相互引用,可以相互结合。
为了准确地对本申请中的技术内容进行叙述,以及为了准确地理解本申请,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义。
1)终端验证参数:表示终端特征的信息,作为加密算法的原始明文输入,生成终端公钥和/或终端私钥以用于平台对终端身份的验证和密钥协商,所述终端验证参数可以是身份识别信息、时间信息、序列号、流水号、地域信息、随机数等等单一或组合形式。
2)平台验证参数:表示平台特征的信息,作为加密算法的原始明文输入,生成平台公钥和/或平台私钥以用于终端对平台身份的验证和密钥协商,所述终端验证参数可以是身份信息、时间信息、序列号、流水号、地域信息、随机数等等单一或组合形式。
3)JT808的消息帧:消息帧的结构由标识位、消息头、消息体、校验码和标识位构成,其中,消息头包括消息标识(Identifiers,ID)、消息体属性、消息流水号等;消息体具有53种不同消息体格式。消息头中的消息ID在JT808标准中被明确定义,用以区分消息类别。所述消息体属性包括用10bit(bit0-bit9)表示的消息体长度、用3bit(bit10-bit12)表示的数据加密方式、用6bit位二进制(Binary-Coded Decimal,BCD)码表示的终端手机号等。在消息体属性中,常规的数据加密方式中,bit10为1时表示经过RSA加密算法加密,其余为0。
首先结合图1a所示的流程图,对JT808认证机制进行介绍,具体包括以下步骤:
第一步,车辆侧或车机的终端(以下简称终端)发送注册请求消息,注册请求消息在其消息帧的消息头中的消息ID为0X0100,其中注册请求消息的消息体可以包括例如省域ID、市县域ID、制造商ID、终端型号、终端ID、车辆颜色和/或车牌号等终端身份识别信息;
第二步,车联网的平台(以下简称平台)根据注册请求消息对终端进行鉴权;
第三步,确定终端身份后,平台向终端发送注册应答消息,注册应答消息在其消息帧中的消息头中的消息ID为0X8100,其中注册应答消息的消息体可以包括应答流水号、应答结果、鉴权码等。
到此,终端和平台的注册阶段完成,之后将进行业务消息的交互。
在业务消息交互过程中,终端通过心跳消息保持连接,但是如果平台的连接发生断开,则要求每次与平台重新建立连接后,应立即进行鉴权。具体的,该鉴权过程包括:
第一步,终端向平台发送鉴权请求消息,鉴权请求消息在其消息帧的消息头中的消息ID为0X0102,其中鉴权请求消息的消息体可以包括所述鉴权码;
第二步,平台对鉴权请求消息中的鉴权码进行确认,以再次进行鉴权;
第三步,再次确定终端身份后,平台向终端发送平台通用应答消息,平台通用应答消息的在其消息帧的消息头的消息ID为0X8001,其中平台通用应答消息的消息体可以包括应答流水号、应答ID、应答结果等。
由上所描述的JT808认证机制的流程,该JT808认证机制主要流程为:终端首先需要与平台完成注册,并获取鉴权码保存;后续每次终端与平台建立连接,都需要进行鉴权。该JT808认证机制存在如下缺陷:鉴权码明文传输且作为认证唯一凭据,难以抵抗中间人攻击,导致仿冒身份;该标准仅考虑平台对终端的单向认证,未考虑终端对平台的鉴权,可能导致中间人对车机终端实现控制。
下面结合图1b示出的流程图,对JT808密钥协商机制进行介绍,具体包括以下步骤:
当由终端发起协商请求时,包括如下步骤:
第一步,终端向平台,例如服务器,发送终端RSA公钥,其消息头中的消息ID为0X0A00,消息体中包括终端RSA公钥{e,n},其中的e、n是终端RSA公钥中的2个参数;这里的RSA公钥指通过RSA加密算法生成的公钥,RAS是一种非对称加密算法。
第二步,平台收到终端RSA公钥后,向终端发送平台RSA公钥,其消息头中的消息ID为0X8A00,消息体中包括平台RSA公钥{e,n},其中的e、n是平台RSA公钥中的2个参数。
当由平台发起协商请求时,包括如下步骤:
第一步,平台向终端发送平台RSA公钥,其消息头中的消息ID为0X8A00;
第二步,终端收到平台RSA公钥后,向平台发送终端RSA公钥,其消息头中的消息ID为0X0A00。
其中,JT808协议是基于传输控制协议/用户数据报协议(Transmission ControlProtocol/User Datagram Protocol,TCP/UDP),其依赖于协议本身的安全,如果没有加密和完整性保护,其中的用户名、密码、IP、域名都可能被黑客,或者可能被修改为任意值,从而导致数据劫取。本文中的完整性保护是防止对通信中的消息非法删除、更改、复制和破坏的措施,以尽量确保通信过程中交互信息的完整和真实可信。
对于通信中的完整性保护,JT808协议的消息采用校验码机制实现,其计算方式为:从消息头开始,当前字节同后一字节异或运算,直到校验码前一个字节。其缺陷在于,该完整性保护机制过于简单,很容易被攻击者破解和篡改,导致消息完整性失效。
对于加密,要求平台与终端之间采用RSA公钥密码系统,即如图1b所示的流程图,可以由平台通过发送平台RSA公钥消息向终端告知自己的RSA公钥,终端回复终端RSA公钥消息,反之亦然,取决于由谁先发起密钥协商。由上可以看出,JT808密钥协商机制中存在如下缺陷:完整性保护机制过于简单;公钥采用明文传输,难以抵抗中间人攻击,会导致信息泄露。
基于上述技术问题,本申请实施例提供了一种基于JT808协议的安全通信方案,该通信方案包括安全通信方法、装置、计算设备和计算机可读存储介质。在本申请各实施例中,涉及到第一装置和第二装置,其中第一装置可以是终端,第二装置可以是平台,例如服务器。在另一些实施例中,也可以第一装置为平台,第二装置为终端。
下面结合各个附图对本申请实施例的技术方案进行介绍。
图2a示出了本申请实施例提供的一种安全通信方法的第一实施例,应用于基于JT808协议通信的第一装置,该方法包括以下步骤:
S110:第一装置接收第二装置的鉴权挑战消息,所述鉴权挑战消息包括第一消息认证码和所述第二装置的验证参数,所述第一消息认证码根据第一预设密钥、所述第一装置的验证参数和所述第二装置的验证参数生成。
S112:第一装置根据所述第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数对所述第一消息认证码进行认证。
S114:第一装置生成第二消息认证码,所述第二消息认证码根据所述第一预设密钥、所述第一装置的验证参数和所述第二装置的验证参数生成。
S116:第一装置发送所述鉴权挑战消息对应的应答消息,所述应答消息包括所述第二消息认证码,所述第二消息认证码用于所述第二装置对所述第二消息认证码进行认证。
在一些实施例中,在上述步骤S116后,还包括:第一装置接收所述第二装置的注册应答消息,所述注册应答消息的消息体属性值被设置为表示消息体已通过会话密钥Ks加密和完整性保护,所述会话密钥Ks根据所述第一预设密钥生成,所述注册应答消息是所述第二装置响应所述第一装置在步骤S110前发送的注册请求消息所发送的消息。
由上,在JT808协议的在终端和平台之间注册阶段,新增鉴权挑战消息和鉴权挑战应答消息,完成双向认证。
在一些实施例中,所述注册应答消息的消息体属性参数,具有可以是将JT808协议的消息体中某比特位进行重新配置而来,例如可以是消息体中表示数据加密方式的3bit的比特位进行重新配置而来,将其中一位定义为表示后续消息是否加密的开关位方式实现,例如可以采用第11比特位(即bit11)或第12比特位(即bit12),使用0和1表示是否加密。并且,该方式不会与常规JT808协议的消息体属性在比特位上的原始定义冲突,例如原始的bit10为1表示通过RSA加密,在本实施例中,仍保持不变表示是否加密,因此实施例中上述定义充分考虑了JT808协议的向下兼容。
在一些实施例中,该注册请求消息中可包括第一装置的验证参数,用于第二装置生成所述鉴权挑战消息时使用。在一些实施例中,该第一装置的验证参数可包括与第一装置身份信息有关的参数。例如当第一装置为终端时,与第一装置身份信息有关的参数具体可以包括至少以下之一:终端型号、终端标识(Identifiers,ID)、车牌号、车辆内的车机的移动设备识别码(International Mobile Equipment Identity number,IMEI)等终端的身份信息,还可以包括终端生成的随机数、流水号、时间戳等参数。又如,当第一装置为平台时,该验证参数可以包括至少以下之一:平台ID、安全标识符(Security Identifiers,SID)等平台身份的信息,还可以包括平台生成的随机数、时间戳等参数。
对于上述各步骤中提到的第二装置的验证参数,可参见对上述第一装置的验证参数的介绍,不再赘述。
图2b示出了本申请实施例提供的一种安全通信方法的第二实施例,应用于基于JT808协议通信的第二装置,该方法包括:
S120:第二装置向第一装置发送鉴权挑战消息,所述鉴权挑战消息包括第一消息认证码和所述第二装置的验证参数,所述第一消息认证码根据第一预设密钥、所述第二装置接收的所述第一装置的验证参数和所述第二装置的验证参数生成。
S122:第二装置接收第一装置响应所述鉴权挑战消息的应答消息,所述应答消息包括第二消息认证码,所述第二消息认证码根据所述第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数生成。
S124:第二装置根据所述第一预设密钥、所述第一装置的验证参数和所述第二装置的验证参数对所述第二消息认证码进行认证。
在一些实施例中,在上述步骤S124后,还包括:第二装置向所述第一装置发送注册应答消息,所述注册应答消息的消息体属性值被设置为表示消息体已通过会话密钥Ks加密和完整性保护,所述注册应答消息是所述第二装置响应所述第一装置在步骤S120前发送的注册请求消息所发送的消息。关于注册请求消息的介绍,可参见图2a对应的第一实施例中的介绍,不再赘述。
由上,JT808协议的在终端和平台之间注册阶段,新增鉴权挑战消息和鉴权挑战应答消息,完成双向认证,相对于常规的单一认证手段,增加了受到中间人对终端实施控制的难度。
对于上述图2a对应的第一实施例或图2b对应的第二实施例,在一些实施例中,所述第一消息认证码的生成算法与所述第二消息认证码的生成算法不同。通过算法不同,使得输入参数的构成规则可以更加灵活,极大增加了攻击者解密的难度,提高了通信的安全性。在一些实施例中,所述生成算法不同指的是,包括至少以下之一或组合的方式,其中下面列举了三种方式,其中本申请实施例并不限于下述三种:
1)采用的加密算法公式不同,例如一个采用f1函数,一个采用f2函数;例如f1函数为哈希函数,f2函数为密钥导出函数(Key Derivation Function,KDF)。
2)加密算法中采用的参数不同,例如一个使用了参数(a,b,c),一个使用了参数(a,b)、或(a,d)或(a,b,c,d)等,这里的a、b、c、d泛指某参数,例如为PSK、第一装置的验证参数、所述第二装置的验证参数等,或验证参数所包含的某参数等。
3)加密算法中各个参数的不同位置关系所组成的新的参数不同,例如一个新的参数为(abc),一个新的参数为(acb)或(bca)等。这里进一步举例说明,假设二进制的第一参数n=0110,第二参数m=1010,则n和m组成的第一种新的参数可以是n||m=01101010,这里n||m表示比特位串联。n和m组成的第二种新的参数可以是m||n,还可以是m的逆顺序与n的逆顺序的串联,或者m的逆顺序与n的正顺序串联等等。
对于上述图2a对应的第一实施例或图2b对应的第二实施例,在一些实施例中,所述第一预设密钥包括预共享密钥(Pre-Shared Key,PSK)。该PSK可以预先在第一装置与第二装置上配置。在一些实施例中,该第一预设密钥还可以包括安全远程密码(SecureRemote Password,SRP)等。通过预配置的共享密钥信息,来完成双向认证与密钥协商,生成可以提供机密性和完整性保护的会话密钥,降低后续业务被篡改的可能性。
对于上述图2a对应的第一实施例或图2b对应的第二实施例,在一些实施例中,所述第一装置的验证参数包括所述第一装置的标识、所述第一装置生成的随机数;所述第二装置的验证参数包括所述第二装置的标识、所述第二装置生成的随机数。
对于上述图2a对应的第一实施例或图2b对应的第二实施例,在另一些实施例中,所述第一预设密钥包括PSK、椭圆曲线加密算法的基点(ECDH-G)参数。该PSK、ECDH-G可以预先在第一装置与第二装置上配置。通过PSK与ECDH-G两个参数,使得参数构成规则可以进一步多样化和复杂化,使得攻击者的对验证过程中,或对后续会话密钥的解密变得更加困难,提高了通信的安全性。
对于上述图2a对应的第一实施例或图2b对应的第二实施例,在一些实施例中,所述第一装置的验证参数包括所述第一装置的标识、根据所述ECDH-G生成的第一装置的公钥X;所述第二装置的验证参数包括所述第二装置的标识、根据所述ECDH-G生成的第二装置的公钥Y。
对于上述图2a对应的第一实施例或图2b对应的第二实施例,在一些实施例中,所述会话密钥Ks具体根据所述第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数生成。其中,第一预设密钥可以为共享密钥PSK,也可以是共享密钥PSK与椭圆曲线加密算法的基点ECDH-G。
对于上述图2a对应的第一实施例或图2b对应的第二实施例,在一些实施例中,所述会话密钥Ks的生成算法与所述第一消息认证码的生成算法、所述第二消息认证码的生成算法不同。关于生成算法的不同,可参见前述的例子,不再赘述。
以下结合图3a,对本申请安全通信方法的第一具体实施方式进行详细描述,该具体实施方式中,第一装置以终端为例,第二终端以平台为例。如图3a所示,该具体实施方式具体包括以下步骤:
S210:终端和平台预配置第一预设密钥,其中第一预设密钥包括预共享密钥(PSK)。
S211:终端向平台发送注册请求消息,注册请求消息的消息体中包含终端的移动设备识别码(IMEI)和终端生成的终端第一随机数(RANDc)。本具体实施方式中,IMEI和RANDc对应第一装置的验证参数。
S212:平台接收终端的注册请求消息,生成平台第一随机数(RANDs),并结合平台的安全标识符(SID)以及收到的终端的IMEI和RANDc,通过哈希(Hash)函数生成平台消息认证码(MACs,Message authentication code),本具体实施方式中,RANDs和SID对应第二装置的验证参数,MACs对应第一消息认证码。MACs的生成方式可如下:
MACs=HMAC(PSK,SID||RANDs||IMEI||RANDc)
需要说明的是,HMAC表示基于哈希函数生成消息认证码的加密算法,通过HMAC算法获得MACs,需要使用两个参数作为输入,本具体实施方式中,一个参数是PSK,一个参数是由SID、RANDs、IMEI和RANDc按某规则组合形成的参数。在本申请的实施例中,SID、RANDs以及IMEI、RANDc,分别是平台验证参数和终端验证参数的具体表现或形式之一。在生成MACs时,所述规则可以是将SID、RANDs以及IMEI、RANDc进行各种组合,并将其中一种组合作为得到MACs的运算输入之一,例如,在本步骤中,SID、RANDs以及IMEI、RANDc按照第一种顺序的比特位串联以形成其中一种组合形式,例如用SID||RANDs||IMEI||RANDc来表示。
S213:平台向终端发送鉴权挑战消息,鉴权挑战消息的消息ID为0X8106,消息体包含平台验证参数,如SID、RANDs等,还可以包括MACs。本具体实施方式中,平台验证参数对应第二装置的验证参数。
S214:终端收到鉴权挑战消息,对平台进行鉴权。例如,终端结合鉴权挑战消息中携带的平台验证参数SID、RANDs,使用步骤S212中相同的加密算法,生成平台期望消息认证码(eXpected Message Authentication Code,XMACs),即通过将PSK和第一种顺序的比特位串联形成的SID||RANDs||IMEI||RANDc作为输入生成XMACs,XMACs的生成方式可如下:
XMACs=HMAC(PSK,SID||RANDs||IMEI||RANDc)
当确定XMACs等于MACs时,则鉴权通过,从而完成终端对于平台的认证。
S215:终端再结合PSK、终端侧验证参数、平台验证参数,也通过由哈希函数生成终端消息认证码(MACc,Message authentication code),本具体实施方式中,该MACc对应第二消息认证码。其中,作为输入之一的终端验证参数和平台验证参数的组合形式,与步骤S212或S214中的组合形式不一样,即使用不同的生成算法,MACc的生成方式可如下:
MACc=HMAC(PSK,IMEI||RANDc||SID||RANDs)
其中,SID、RANDs以及IMEI、RANDc按照第二种顺序的比特位串联来形成的一种组合形式,这里用IMEI||RANDc||SID||RANDs来表示。
S216:终端向平台发送鉴权挑战应答消息,鉴权挑战应答消息的消息ID为0X0106,其消息体包含MACc。
S217:终端在收到注册应答消息前,结合PSK,并结合双方交换的终端验证参数、平台验证参数,通过密钥导出函数(Key Derivation Function,KDF)的加密算法来计算生成会话密钥Ks,例如:
Ks=KDF(PSK,SID||IMEI||RANDs||RANDc)
其中,平台验证参数SID、RANDs和终端验证参数IMEI、RANDc按照第三种顺序的比特位串联来形成一种与参数的前述组合形式不同的组合形式,本实施例中例如用SID||IMEI||RANDs||RANDc来表示。
S218:平台收到终端发送的鉴权挑战应答消息,使用步骤S215中的加密算法计算终端期望消息验证码(eXpected Message Authentication Code,XMACc),通过将PSK和第二种顺序的比特位串联,例如IMEI||RANDc||SID||RANDs作为输入,即:
XMACc=HMAC(PSK,IMEI||RANDc||SID||RANDs)
当确定XMACc等于MACc时,则鉴权通过,从而完成平台对于终端的认证。
S219:平台使用步骤S217相同的算法生成会话密钥Ks。
S220:平台向终端发送注册应答消息,并且,本具体实施方式中,消息体属性的第11比特位(即bit11)设置为1表示该消息经过对称会话密钥Ks加密完整性保护。
S221:终端接收到平台发送的注册应答消息。
之后,终端和平台双方可以进行信息交互,每个信息中都带有会话密钥Ks。
以下结合图3b,对本申请安全通信方法的第二具体实施方式进行详细描述,该具体实施方式中,在第一预设密钥中除了PSK外,第一预设密钥中还包括第二密钥,该第二密钥为椭圆曲线(Elliptic Curve Diffie-Hellman,ECDH)加密算法的基点参数(ECDH-D)。如图3b所示,该具体实施方式具体包括以下步骤:
S410:终端与平台之间预配置第一预设密钥,包括预配置PSK,预配置ECDH-G。
S411:终端向平台发送终端注册请求消息,消息体中包含终端IMEI和终端生成的RANDc,以及终端公钥X,其中X=x*G,其中x为终端生成的终端第二随机数,G表示ECDH-G参数。
S412:平台生成平台第二随机数y并计算平台公钥Y=y*G,并结合平台的SID以及收到的终端公钥X、终端验证参数诸如IMEI和RANDc,通过哈希函数生成平台消息认证码MACs,MACs的生成方式可如下:
MACs=HMAC(PSK,SID||Y||X||IMEI||RANDc)
这里,在生成MACs时,可以将终端验证参数IMEI、RANDc;平台验证参数SID,以及终端公钥X、平台公钥Y进行各种组合,并将组合作为得到MACs的运算输入参数之一。例如,本步骤中,将IMEI、RANDc、SID、Y、X按照第四种顺序的比特位串联,以形成其中一种组合形式,用SID||Y||X||IMEI||RANDc来表示。
S413:平台向终端发送鉴权挑战消息,鉴权挑战消息的消息ID为0X8106,消息体包含平台验证参数如SID,和平台公钥Y,以及MACs。
S414:终端收到鉴权挑战消息,对平台进行鉴权。例如,终端结合终端验证参数RANDc和终端公钥X以及鉴权挑战消息中携带的平台验证参数SID和平台公钥Y,使用步骤S412中相同的算法生成XMACs,XMACs的生成方式可如下:
XMACs=HMAC(PSK,SID||Y||X||IMEI||RANDc)
当确定XMACs等于MACs时,则鉴权通过,从而完成终端对于平台的认证。
S415:终端再结合PSK和与步骤S412和S414中参数组合形式不一样的组合形式,来计算生成MACc,MACc的生成方式可如下:
MACc=HMAC(PSK,IMEI||X||Y||SID||RANDc)
其中,终端验证参数IMEI、RANDc;平台验证参数SID;以及终端公钥X和平台公钥Y按照第五种顺序的比特位串联来形成的一种组合形式,例如用IMEI||X||Y||SID||RANDc来表示。
S416:终端向平台发送鉴权挑战应答消息,鉴权挑战应答消息的消息ID为0X0106,消息体包含MACc。
S417:终端在收到注册应答消息前,结合PSK和基于ECDH-G的公钥Y,经过密钥导出函数(KDF)的加密算法来计算生成会话密钥Ks,例如:
Ks=KDF(PSK||x*Y,SID||IMEI||X||Y||RANDc)
其中,将PSK和终端第二随机数x和平台公钥Y的乘积的比特位串联,例如用PSK||x*Y表示,作为KDF函数的输入参数之一;将终端验证参数IMEI、RANDc、平台验证参数SID、以及终端公钥X和平台公钥Y的第六种顺序的比特位串联,例如SID||IMEI||X||Y||RANDc作为KDF函数的输入参数之二,来进行KDF计算。
S418:平台收到终端发送的鉴权挑战应答消息,使用步骤S415中的加密算法计算终端期望消息验证码XMACc,例如:
XMACc=HMAC(PSK,IMEI||X||Y||SID||RANDc)
当确定XMACc等于MACc时,则鉴权通过,从而完成平台对于终端的认证。
S419:平台结合PSK和基于ECDH的公钥,经过KDF函数的加密算法来计算生成会话密钥Ks,例如:
Ks=KDF(PSK||y*X,SID||IMEI||X||Y||RANDc)
其中,将PSK和平台第二随机数y和终端公钥X的乘积的比特位串联,例如用PSK||y*X表示,作为KDF函数的输入参数之一;并且与步骤S417相同地,将终端验证参数IMEI、RANDc、平台验证参数SID、以及终端公钥X和平台公钥Y的第六种顺序的比特位串联,例如SID||IMEI||X||Y||RANDc作为KDF函数的输入参数之二,来进行KDF计算。
基于步骤S417中的x*Y与步骤S419中的y*X结果是相同的,即x*Y=y*X=x*y*G。因此,步骤S417中的Ks与步骤S419中的计算得出的会话密钥Ks相同。
S420:平台向终端发送注册应答消息,注册应答消息包括注册结果、鉴权码、消息体由Ks加密完整性保护,并且,本具体实施方式中,消息体属性第11比特位(即bit11)设置为1表示该消息经过对称会话密钥Ks加密完整性保护。
S421:终端接收到平台发送的注册应答消息。
之后,终端和平台双方可以进行信息交互,每个信息中都带有会话密钥Ks。
对于上述安全通信方法第一具体实施方式、安全通信方法第二具体实施方式,所提供的双向认证的过程是先由平台向终端发起鉴权挑战消息,再由终端向平台发起鉴权挑战应答消息。可以理解的是,双向认证的过程的先后顺序可以颠倒,即先由终端向平台发起鉴权挑战消息,再由平台向终端发起鉴权挑战应答消息。
对于上述实施例中的HMAC函数或KDF函数,涉及的各参数组合形成函数所需参数时,除了上述按某顺序的比特位串联作为规则外,也可以按照其他组合方式作为输入参数的构成规则,例如满足某种运算规则的运算结果,例如具体参数值的加和、乘积等各种组成方式。
在上述实施例中,终端与平台通过在注册阶段新增鉴权挑战消息和鉴权挑战应答消息,完成双向认证与密钥协商,生成可以提高机密性和完整性保护的会话密钥,提高了后续业务消息的安全性,同时适于本协议的向下兼容,以便使用原常规JT808协议的终端可以继续按照原常规JT808协议来正常通信。
本申请还提供了相应的基于JT808的安全通信装置的实施例,关于该装置的有益效果或解决的技术问题,可以参见与各装置分别对应的方法中的描述,或者参见发明内容中的描述,此处仅进行简述。
如图4a示出了基于JT808协议的安全通信装置的第一实施例,为应用于基于JT808协议通信的第一装置,该装置包括:
接收模块11,用于接收第二装置的鉴权挑战消息,所述鉴权挑战消息包括第一消息认证码、第二装置的验证参数,所述第一消息认证码根据第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数生成;
处理模块12,用于根据所述第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数对所述第一消息认证码进行认证;
所述处理模块12还用于生成第二消息认证码,所述第二消息认证码根据所述第一预设密钥、所述第一装置的验证参数、第二装置的验证参数生成;
发送模块13,用于发送所述鉴权挑战消息对应的应答消息,所述应答消息包括所述第二消息认证码,所述第二消息认证码用于所述第二装置对所述第二消息认证码进行认证。
在一些实施例中,所述接收模块11还用于接收所述第二装置的注册应答消息,所述注册应答消息的消息体属性值被设置为表示消息体已通过会话密钥Ks加密和完整性保护,所述会话密钥Ks根据所述第一预设密钥生成,所述注册应答消息是所述第二装置响应所述第一装置的注册请求消息所发送的消息。
如图4b示出了基于JT808协议的安全通信装置的第二实施例,为应用于基于JT808协议通信的第二装置,该装置包括:
发送模块21,用于发送鉴权挑战消息,所述鉴权挑战消息包括第一消息认证码、第二装置的验证参数,所述第一消息认证码根据第一预设密钥、第二装置接收的第一装置的验证参数、第二装置的验证参数生成;
接收模块22,用于接收第一装置响应所述鉴权挑战消息的应答消息,所述应答消息包括第二消息认证码,所述第二消息认证码根据所述第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数生成;
处理模块23,用于根据所述第一预设密钥、所述第一装置的验证参数、第二装置的验证参数对所述第二消息认证码进行认证。
在一些实施例中,所述发送模块21还用于向所述第一装置发送注册应答消息,所述注册应答消息的消息体属性值被设置为表示消息体已通过会话密钥Ks加密和完整性保护,所述注册应答消息是所述第二装置响应所述第一装置的注册请求消息所发送的消息。
对于基于JT808协议的安全通信装置的第一实施例或第二实施例,在一些实施例中,所述第一消息认证码的生成算法与所述第二消息认证码的生成算法不同。
对于基于JT808协议的安全通信装置的第一实施例或第二实施例,在一些实施例中,所述第一预设密钥包括预共享密钥PSK。
对于基于JT808协议的安全通信装置的第一实施例或第二实施例,在一些实施例中,所述第一装置的验证参数包括所述第一装置的标识、所述第一装置生成的随机数;所述第二装置的验证参数包括所述第二装置的标识、所述第二装置生成的随机数。
对于基于JT808协议的安全通信装置的第一实施例或第二实施例,在一些实施例中,所述第一预设密钥包括预共享密钥PSK、椭圆曲线加密算法的基点ECDH-G。
对于基于JT808协议的安全通信装置的第一实施例或第二实施例,在一些实施例中,所述第一装置的验证参数包括所述第一装置的标识、根据所述ECDH-G生成的第一装置的公钥X;所述第二装置的验证参数包括所述第二装置的标识、根据所述ECDH-G生成的第二装置的公钥Y。
对于基于JT808协议的安全通信装置的第一实施例或第二实施例,在一些实施例中,所述会话密钥Ks具体根据所述第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数生成。
对于基于JT808协议的安全通信装置的第一实施例或第二实施例,在一些实施例中,所述会话密钥Ks的生成算法与所述第一消息认证码的生成算法、所述第二消息认证码的生成算法不同。
图5是本申请实施例提供的一种计算设备900的结构性示意性图。该计算设备900包括:处理器910、存储器920、通信接口930。
应理解,图5所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信。
其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器910可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
在计算设备900运行时,所述处理器910执行所述存储器920中的计算机执行指令执行上述方法的操作步骤。
应理解,根据本申请实施例的计算设备900可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行上述各实施例的方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
图6a是本申请实施例提供的一种芯片600的结构示意图。该芯片600包括:处理器610以及存储器620,存储器620上存储有程序指令,程序指令当被处理器610执行时使得处理器610执行上述任一项的安全通信方法,例如可以执行上述图2a或图2b所对应实施例的方法或其各可选的实施例,或执行上述图3a或图3b所对应具体实施方式的方法或其各可选的可能的实施方式。其中,该芯片600还可以包括用于通信的通信接口630。
图6b是本申请另一实施例提供的芯片700的结构示意图。该芯片700包括:包括处理器710以及接口电路720,其中,处理器710通过接口电路720访问存储器,存储器存储有程序指令,程序指令当被处理器710执行时使得处理器710执行上述任一项的安全通信方法,例如可以执行上述图2a或图2b所对应实施例的方法或其各可选的实施例,或执行上述图3a或图3b所对应具体实施方式的方法或其各可选的可能的实施方式。
在上述的描述中,所涉及的表示步骤的标号,如S420、S421……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的规则,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在本申请实施例各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,本申请实施例对此不做限定。
注意,上述仅为本申请的较佳实施例及所运用的技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请的构思的情况下,还可以包括更多其他等效实施例,均属于本申请的保护范畴。
Claims (25)
1.一种安全通信方法,其特征在于,应用于基于JT808协议通信的第一装置,该方法包括:
接收第二装置的鉴权挑战消息,所述鉴权挑战消息包括第一消息认证码和所述第二装置的验证参数,所述第一消息认证码根据第一预设密钥、所述第一装置的验证参数和所述第二装置的验证参数生成,所述第一装置的验证参数包括与第一装置身份信息有关的参数,所述第二装置的验证参数包括与第二装置身份信息有关的参数;
根据所述第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数对所述第一消息认证码进行认证;
生成第二消息认证码,所述第二消息认证码根据所述第一预设密钥、所述第一装置的验证参数和所述第二装置的验证参数生成,所述第一消息认证码的生成算法与所述第二消息认证码的生成算法不同;
发送所述鉴权挑战消息对应的应答消息,所述应答消息包括所述第二消息认证码,所述第二消息认证码用于所述第二装置对所述第一装置进行认证。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收所述第二装置的注册应答消息,所述注册应答消息的消息体属性值被设置为表示消息体已通过会话密钥Ks加密和完整性保护,所述会话密钥Ks根据所述第一预设密钥生成,所述注册应答消息是所述第二装置响应所述第一装置的注册请求消息所发送的消息。
3.一种安全通信方法,其特征在于,应用于基于JT808协议通信的第二装置,该方法包括:
向第一装置发送鉴权挑战消息,所述鉴权挑战消息包括第一消息认证码和所述第二装置的验证参数,所述第一消息认证码根据第一预设密钥、所述第二装置接收的所述第一装置的验证参数和所述第二装置的验证参数生成,所述第一消息认证码用于所述第一装置对所述第二装置进行认证;
接收第一装置响应所述鉴权挑战消息的应答消息,所述应答消息包括第二消息认证码,所述第二消息认证码根据所述第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数生成,所述第一消息认证码的生成算法与所述第二消息认证码的生成算法不同;
根据所述第一预设密钥、所述第一装置的验证参数和所述第二装置的验证参数对所述第二消息认证码进行认证。
4.根据权利要求3所述的方法,其特征在于,还包括:
向所述第一装置发送注册应答消息,所述注册应答消息的消息体属性值被设置为表示消息体已通过会话密钥Ks加密和完整性保护,所述注册应答消息是所述第二装置响应所述第一装置的注册请求消息所发送的消息。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一预设密钥包括预共享密钥。
6.根据权利要求5所述的方法,其特征在于,所述第一装置的验证参数包括所述第一装置的标识、所述第一装置生成的随机数;
所述第二装置的验证参数包括所述第二装置的标识、所述第二装置生成的随机数。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述第一预设密钥包括预共享密钥、椭圆曲线加密算法的基点参数ECDH-G。
8.根据权利要求7所述的方法,其特征在于,所述第一装置的验证参数包括所述第一装置的标识、根据所述ECDH-G生成的第一装置的公钥;
所述第二装置的验证参数包括所述第二装置的标识、根据所述ECDH-G生成的第二装置的公钥。
9.根据权利要求2或4所述的方法,其特征在于,所述会话密钥Ks具体根据所述第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数生成。
10.根据权利要求9所述的方法,其特征在于,所述会话密钥Ks的生成算法与所述第一消息认证码的生成算法、所述第二消息认证码的生成算法不同。
11.一种安全通信的装置,其特征在于,为应用于基于JT808协议通信的第一装置,所述第一装置包括:
接收模块,用于接收第二装置的鉴权挑战消息,所述鉴权挑战消息包括第一消息认证码、第二装置的验证参数,所述第一消息认证码根据第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数生成,所述第一装置的验证参数包括与第一装置身份信息有关的参数,所述第二装置的验证参数包括与第二装置身份信息有关的参数;
处理模块,用于根据所述第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数对所述第一消息认证码进行认证;
所述处理模块还用于生成第二消息认证码,所述第二消息认证码根据所述第一预设密钥、所述第一装置的验证参数、第二装置的验证参数生成,所述第一消息认证码的生成算法与所述第二消息认证码的生成算法不同;
发送模块,用于发送所述鉴权挑战消息对应的应答消息,所述应答消息包括所述第二消息认证码,所述第二消息认证码用于所述第二装置对所述第一装置进行认证。
12.根据权利要求11所述的装置,其特征在于,所述接收模块还用于接收所述第二装置的注册应答消息,所述注册应答消息的消息体属性值被设置为表示消息体已通过会话密钥Ks加密和完整性保护,所述会话密钥Ks根据所述第一预设密钥生成,所述注册应答消息是所述第二装置响应所述第一装置的注册请求消息所发送的消息。
13.一种安全通信的装置,其特征在于,为应用于基于JT808协议通信的第二装置,所述第二装置包括:
发送模块,用于发送鉴权挑战消息,所述鉴权挑战消息包括第一消息认证码、第二装置的验证参数,所述第一消息认证码根据第一预设密钥、第二装置接收的第一装置的验证参数、第二装置的验证参数生成,所述第一消息认证码用于所述第一装置对所述第二装置进行认证;
接收模块,用于接收第一装置响应所述鉴权挑战消息的应答消息,所述应答消息包括第二消息认证码,所述第二消息认证码根据所述第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数生成,所述第一消息认证码的生成算法与所述第二消息认证码的生成算法不同;
处理模块,用于根据所述第一预设密钥、所述第一装置的验证参数、第二装置的验证参数对所述第二消息认证码进行认证。
14.根据权利要求13所述的装置,其特征在于,所述发送模块还用于向所述第一装置发送注册应答消息,所述注册应答消息的消息体属性值被设置为表示消息体已通过会话密钥Ks加密和完整性保护,所述注册应答消息是所述第二装置响应所述第一装置的注册请求消息所发送的消息。
15.根据权利要求11-14任一项所述的装置,其特征在于,所述第一预设密钥包括预共享密钥。
16.根据权利要求15所述的装置,其特征在于,所述第一装置的验证参数包括所述第一装置的标识、所述第一装置生成的随机数;
所述第二装置的验证参数包括所述第二装置的标识、所述第二装置生成的随机数。
17.根据权利要求11-14任一项所述的装置,其特征在于,所述第一预设密钥包括预共享密钥、椭圆曲线加密算法的基点参数ECDH-G。
18.根据权利要求17所述的装置,其特征在于,所述第一装置的验证参数包括所述第一装置的标识、根据所述ECDH-G生成的第一装置的公钥;
所述第二装置的验证参数包括所述第二装置的标识、根据所述ECDH-G生成的第二装置的公钥。
19.根据权利要求12或14所述的装置,其特征在于,所述会话密钥Ks具体根据所述第一预设密钥、所述第一装置的验证参数、所述第二装置的验证参数生成。
20.根据权利要求19所述的装置,其特征在于,所述会话密钥Ks的生成算法与所述第一消息认证码的生成算法、所述第二消息认证码的生成算法不同。
21.一种计算设备,其特征在于,包括:
处理器、通信接口,以及
存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行权利要求1-10任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行权利要求1-10任一项所述的方法。
23.一种计算机程序产品,其特征在于,其包括有程序指令,所述程序指令当被计算机执行时使得所述计算机执行权利要求1-10任一项所述的方法。
24.一种芯片,其特征在于,包括:处理器,以及存储器,
其中,所述存储器上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行权利要求1-10任一项所述的方法。
25.一种芯片,其特征在于,包括:处理器,以及接口电路,
其中,所述处理器通过所述接口电路访问存储器,所述存储器存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行权利要求1-10任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/101560 WO2022266845A1 (zh) | 2021-06-22 | 2021-06-22 | 一种安全通信方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113615220A CN113615220A (zh) | 2021-11-05 |
CN113615220B true CN113615220B (zh) | 2023-04-18 |
Family
ID=78310960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180001797.5A Active CN113615220B (zh) | 2021-06-22 | 2021-06-22 | 一种安全通信方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113615220B (zh) |
WO (1) | WO2022266845A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500150A (zh) * | 2022-01-11 | 2022-05-13 | 上海三一重机股份有限公司 | 基于can总线的通信方法、装置及作业机械 |
CN117675249A (zh) * | 2022-08-31 | 2024-03-08 | 福建发八网信息科技有限公司 | 电子装置及电子装置间的身份识别方法 |
CN115499836B (zh) * | 2022-09-16 | 2023-09-26 | 阿波罗智联(北京)科技有限公司 | 通信方法、装置、电子设备、存储介质及车辆 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527632A (zh) * | 2008-03-06 | 2009-09-09 | 华为技术有限公司 | 响应消息认证方法、装置及系统 |
CN104735037A (zh) * | 2013-12-24 | 2015-06-24 | 中国移动通信集团公司 | 一种网络认证方法、装置及系统 |
CN109067550A (zh) * | 2018-09-25 | 2018-12-21 | 北京仁信证科技有限公司 | 基于cpk标识密钥的双向认证系统及双向认证方法 |
WO2020177768A1 (zh) * | 2019-03-07 | 2020-09-10 | 华为技术有限公司 | 一种网络验证方法、装置及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102638468B (zh) * | 2012-04-12 | 2015-09-09 | 华为技术有限公司 | 保护信息传输安全的方法、发送端、接收端及系统 |
CN106375995A (zh) * | 2015-07-22 | 2017-02-01 | 深圳市中兴微电子技术有限公司 | 一种信息处理方法、系统及车载通信装置 |
CN107205208B (zh) * | 2016-03-16 | 2020-08-14 | 华为技术有限公司 | 鉴权的方法、终端和服务器 |
CN112565285B (zh) * | 2020-12-16 | 2023-03-24 | 卡斯柯信号(成都)有限公司 | 一种适用于轨道交通的通信加密方法 |
-
2021
- 2021-06-22 CN CN202180001797.5A patent/CN113615220B/zh active Active
- 2021-06-22 WO PCT/CN2021/101560 patent/WO2022266845A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527632A (zh) * | 2008-03-06 | 2009-09-09 | 华为技术有限公司 | 响应消息认证方法、装置及系统 |
CN104735037A (zh) * | 2013-12-24 | 2015-06-24 | 中国移动通信集团公司 | 一种网络认证方法、装置及系统 |
CN109067550A (zh) * | 2018-09-25 | 2018-12-21 | 北京仁信证科技有限公司 | 基于cpk标识密钥的双向认证系统及双向认证方法 |
WO2020177768A1 (zh) * | 2019-03-07 | 2020-09-10 | 华为技术有限公司 | 一种网络验证方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113615220A (zh) | 2021-11-05 |
WO2022266845A1 (zh) | 2022-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113615220B (zh) | 一种安全通信方法和装置 | |
CN109309565B (zh) | 一种安全认证的方法及装置 | |
CN104683112B (zh) | 一种基于rsu协助认证的车‑车安全通信方法 | |
WO2018050081A1 (zh) | 设备身份认证的方法、装置、电子设备及存储介质 | |
US10708062B2 (en) | In-vehicle information communication system and authentication method | |
US11533297B2 (en) | Secure communication channel with token renewal mechanism | |
WO2018000886A1 (zh) | 应用程序通信处理系统、装置、方法及客户端、服务端 | |
EP3175597B1 (en) | Apparatus and method for sharing a hardware security module interface in a collaborative network | |
WO2016011778A1 (zh) | 数据处理的方法和装置 | |
WO2018040758A1 (zh) | 认证方法、认证装置和认证系统 | |
JP6896940B2 (ja) | 第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法 | |
CN109150897B (zh) | 一种端到端的通信加密方法及装置 | |
CN110401615B (zh) | 一种身份认证方法、装置、设备、系统及可读存储介质 | |
CN106788989B (zh) | 一种建立安全加密信道的方法及设备 | |
CN110545252B (zh) | 一种认证和信息保护的方法、终端、控制功能实体及应用服务器 | |
CN110650478B (zh) | Ota方法、系统、设备、se模块、程序服务器和介质 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
CN109005032B (zh) | 一种路由方法和装置 | |
KR101531662B1 (ko) | 사용자 단말과 서버간 상호 인증 방법 및 시스템 | |
CN112241527B (zh) | 物联网终端设备的密钥生成方法、系统及电子设备 | |
TW200537959A (en) | Method and apparatus for authentication in wireless communications | |
CN111130775A (zh) | 一种密钥协商方法、装置及设备 | |
CN113094686A (zh) | 认证方法及相关设备、计算机可读存储介质 | |
US20240106633A1 (en) | Account opening methods, systems, and apparatuses | |
CN117436043A (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 |