本申请涉及通信领域,并且更具体地,涉及一种通信的方法和通信装置。
背景技术:
:目前,针对车载以太网(ethernet,eth)的安全通信,汽车开放系统架构(automotiveopensystemarchitecture,autosar)联盟定义了传输层安全(transportlayersecurity,tls)协议和数据包传输层安全(datagramtransportlayersecurity,dlts)协议。不论是基于tls协议还是基于dtls协议,在两个设备的初始握手过程中,或者基于预共享密钥的握手过程中,其中一个设备要向另一个设备传递自身支持的密码算法套件列表。然而密码算法套件列表的数据量比较大,在握手过程中容易造成互联网协议(internetprotocol,ip)包分片传输,从而影响传输的可靠性和通信效率。技术实现要素:本申请提供一种通信的方法,可以提高设备握手过程中的传输可靠性和通信效率。第一方面,提供了一种通信的方法,该方法包括:第二设备接收来自第一设备的认证请求信息,该认证请求信息包括该第一设备的标识信息;该第二设备根据第一映射关系确定与该第一设备的标识信息对应的密码算法套件,该第一映射关系用于指示至少一个设备的标识信息与至少一个密码算法套件之间的对应关系;该第二设备根据该密码算法套件,生成认证响应信息;该第二设备向该第一设备发送该认证响应信息。基于上述技术方案,通过将密码算法套件与设备的标识信息对应的方式,使得第二设备可以根据保存的第一映射关系确定与第一设备通信过程中使用的密码算法套件。因此,第一设备和第二设备在握手过程中,不需要传递支持的密码算法套件列表,从而减小了握手过程中传输的数据量,提高了传输可靠性和通信效率。结合第一方面,在第一方面的某些实现方式中,在该第二设备向该第一设备发送认证响应信息之前,该方法还包括:该第二设备确定预先配置的第二列表中包含该第一设备的标识信息,该第二列表中包括需要认证的设备的标识信息。基于上述技术方案,通过在第二设备预先配置第二列表的方式,使得第二设备在确定第一设备的标识信息保存在第二列表的情况下,就可以确定第一设备的来源合法性,即第二列表可以代替原有握手过程中cookie字段分配的过程。因此,可以防止恶意设备伪造虚假来源发起认证过程,以及第二设备根据第二列表可以直接忽略不合法设备的认证请求,从而减轻第二设备的处理负担,也可以提高攻击者的攻击难度。结合第一方面,在第一方面的某些实现方式中,该认证请求信息还包括该第一设备的第一设备证书和/或该第一设备使用的第一签名值;和/或该认证响应信息还包括该第二设备的第二设备证书和/或该第二设备使用的第二签名值。结合第一方面,在第一方面的某些实现方式中,该认证请求信息还包括该第一设备使用的第一随机数和/或该第一设备使用的第一临时公钥;该认证响应信息还包括该第二设备使用的第二随机数和/或该第二设备使用的第二临时公钥。结合第一方面,在第一方面的某些实现方式中,该认证请求信息还包括第一密码;和/或该认证响应信息还包括第二密码,该第二密码是该第二设备根据预存的预共享密钥和该密码算法套件生成的。基于上述方案,第一设备和第二设备基于确定的密码算法套件和预存的预共享密钥可以生成密码来代替设备证书。由于密码的长度远小于设备证书,因此大大减小了握手交互过程中的交互数据量,提高了握手效率和可靠性。此外,使用密码代替设备证书之后,设备不再需要对设备证书中的根签名进行验签,而是变成了对密码进行对称加密解密运算。而对称加密解密运算速度远远高于验签速度,因此可以提高握手效率。结合第一方面,在第一方面的某些实现方式中,该认证请求信息还包括该第一设备使用的第一临时公钥;该认证响应信息还包括该第二设备使用的第二临时公钥和该第二设备的标识信息。结合第一方面,在第一方面的某些实现方式中,该至少一个密码算法套件中的每个密码算法套件满足前向安全性需求。结合第一方面,在第一方面的某些实现方式中,该方法还包括:该第二设备确定与该第一设备通信使用的报文加密模式,该报文加密模式包括全加密模式和按需加密模式中的一个。基于上述技术方案,通过定义通信报文的按需加密模式,使得在按需加密模式下,对不需要加密的数据可以明文传输,从而减少了加密载荷的数据量,提高了加密速率,从而提高了通信效率。结合第一方面,在第一方面的某些实现方式中,该第二设备确定与该第一设备通信使用的报文加密模式,包括:该第二设备根据第二映射关系确定与该第一设备的标识信息对应的该报文加密模式,该第二映射关系用于指示至少一个设备的标识信息与至少一个报文加密模式之间的对应关系。结合第一方面,在第一方面的某些实现方式中,在该报文加密模式是按需加密模式的情况下时,该方法还包括:该第二设备生成通信报文,该通信报文包括以下字段:明文标识、明文数据、密文标识、密文数据。结合第一方面,在第一方面的某些实现方式中,该明文数据中包含该密文数据的流加密密钥生成种子。现有的应用于用户数据报协议的握手过程中,无法使用流加密算法。而基于上述技术方案,在按需加密模式下,可以在明文数据中保存密文数据的流加密密钥生成种子,从而使得用户数据报协议可以支持流加密算法。第二方面,提供了一种通信的方法,该方法包括:第一设备根据第三映射关系确定与第二设备的标识信息对应的密码算法套件,该第三映射关系用于指示至少一个设备的标识信息与至少一个密码算法套件之间的对应关系;该第一设备根据该密码算法套件生成认证请求信息,该认证请求信息包括该第一设备的标识信息;该第一设备向该第二设备发送该认证请求信息;该第一设备接收来自该第二设备的认证响应信息。基于上述技术方案,通过将密码算法套件与设备的标识信息对应的方式,使得第一设备可以根据保存的第三映射关系确定与第二设备通信过程中使用的密码算法套件。因此,第一设备和第二设备在握手过程中,不需要传递支持的密码算法套件列表,从而减小了握手过程中传输的数据量,提高了传输可靠性和通信效率。结合第二方面,在第二方面的某些实现方式中,在该第一设备向该第二设备发送该认证请求信息之前,该方法还包括:该第一设备确定预先配置的第一列表中包含该第二设备的标识信息,该第一列表中包括需要认证的设备的标识信息。基于上述技术方案,通过在第一设备预先配置第一列表的方式,使得第一设备在确定第二设备的标识信息保存在第二列表的情况下,就可以确定第二设备的来源合法性。结合第二方面,在第二方面的某些实现方式中,该认证请求信息还包括该第一设备的设备证书和/或该第一设备使用的第一签名值;和/或该认证响应信息还包括该第二设备的第二设备证书和/或该第二设备使用的第二签名值。结合第二方面,在第二方面的某些实现方式中,该认证请求信息还包括第一密码,该第一密码是该第一设备根据预存的预共享密钥和该密码算法套件生成的;和/或该认证响应信息还包括第二密码。基于上述方案,第一设备和第二设备基于确定的密码算法套件和预存的预共享密钥可以生成密码来代替设备证书。由于密码的长度远小于设备证书,因此大大减小了握手交互过程中的交互数据量,提高了握手效率和可靠性。此外,使用密码代替设备证书之后,设备不再需要对设备证书中的根签名进行验签,而是变成了对密码进行对称加密解密运算。而对称加密解密运算速度远远高于验签速度,因此可以提高握手效率。结合第二方面,在第二方面的某些实现方式中,该认证请求信息还包括该第一设备使用的第一临时公钥;该认证响应信息还包括该第二设备使用的第二临时公钥和该第二设备的标识信息。结合第二方面,在第二方面的某些实现方式中,其特征在于,该认证请求信息还包括该第一设备使用的第一随机数和/或该第一设备使用的第一临时公钥;该认证响应信息还包括该第二设备使用的第二随机数和/或该第二设备使用的第二临时公钥。结合第二方面,在第二方面的某些实现方式中,该至少一个密码算法套件中的每个密码算法套件满足前向安全性需求。结合第二方面,在第二方面的某些实现方式中,该方法还包括:该第一设备确定与该第二设备通信使用的报文加密模式,该报文加密模式包括全加密模式和按需加密模式中的一个。基于上述技术方案,通过定义通信报文的按需加密模式,使得在按需加密模式下,对不需要加密的数据可以明文传输,从而减少了加密载荷的数据量,提高了加密速率,从而提高了通信效率。结合第二方面,在第二方面的某些实现方式中,该第一设备确定与该第二设备通信使用的报文加密模式,包括:该第一设备根据第四映射关系确定与该第二设备的标识信息对应的该报文加密模式,该第四映射关系用于指示至少一个设备的标识信息与至少一个报文加密模式之间的对应关系。结合第二方面,在第二方面的某些实现方式中,在该报文加密模式是按需加密模式的情况下,该方法还包括:该第一设备生成通信报文,该通信报文包括以下字段:明文标识、明文数据、密文标识、密文数据。结合第二方面,在第二方面的某些实现方式中,该明文数据中包含该密文数据的流加密密钥生成种子。现有的应用于用户数据报协议的握手过程中,无法使用流加密算法。而基于上述技术方案,在按需加密模式下,可以在明文数据中保存密文数据的流加密密钥生成种子,从而使得用户数据报协议可以支持流加密算法。第三方面,提供一种通信装置,该通信装置包括收发单元和处理单元:该收发单元用于接收来自第一设备的认证请求信息,该认证请求信息包括该第一设备的标识信息;该处理单元用于根据第一映射关系确定与该第一设备的标识信息对应的密码算法套件,该第一映射关系用于指示至少一个设备的标识信息与至少一个密码算法套件之间的对应关系;该处理单元还用于根据该密码算法套件,生成认证响应信息;该收发单元还用于向该第一设备发送该认证响应信息。结合第三方面,在第三方面的某些实现方式中,该处理单元还用于确定预先配置的第二列表中包含该第一设备的标识信息,该第二列表中包括需要认证的设备的标识信息。结合第三方面,在第三方面的某些实现方式中,该认证请求信息还包括该第一设备的第一设备证书和/或该第一设备使用的第一签名值;和/或该认证响应信息还包括该通信装置的第二设备证书和/或该通信装置使用的第二签名值。结合第三方面,在第三方面的某些实现方式中,该认证请求信息还包括第一密码;和/或该认证响应信息还包括第二密码,该第二密码是该处理单元根据预存的预共享密钥和该密码算法套件生成的。结合第三方面,在第三方面的某些实现方式中,该认证请求信息还包括该第一设备使用的第一随机数和/或该第一设备使用的第一临时公钥;该认证响应信息还包括该通信装置使用的第二随机数和/或该通信装置使用的第二临时公钥。结合第三方面,在第三方面的某些实现方式中,该认证请求信息还包括该第一设备使用的第一临时公钥;该认证响应信息还包括该通信装置使用的第二临时公钥和该通信装置的标识信息。结合第三方面,在第三方面的某些实现方式中,该至少一个密码算法套件中的每个密码算法套件满足前向安全性需求。结合第三方面,在第三方面的某些实现方式中,该处理单元还用于确定与该第一设备通信使用的报文加密模式,该报文加密模式包括全加密模式和按需加密模式中的一个。结合第三方面,在第三方面的某些实现方式中,该处理单元具体用于根据第二映射关系确定与该第一设备的标识信息对应的该报文加密模式,该第二映射关系用于指示至少一个设备的标识信息与至少一个报文加密模式之间的对应关系。结合第三方面,在第三方面的某些实现方式中,在该报文加密模式是按需加密模式的情况下时,该处理单元还用于生成通信报文,该通信报文包括以下字段:明文标识、明文数据、密文标识、密文数据。结合第三方面,在第三方面的某些实现方式中,该明文数据中包含该密文数据的流加密密钥生成种子。第四方面,提供了一种通信装置,该通信装置包括收发单元和处理单元:该处理单元用于根据第三映射关系确定与第二设备的标识信息对应的密码算法套件,该第三映射关系用于指示至少一个设备的标识信息与至少一个密码算法套件之间的对应关系;该处理单元还用于根据该密码算法套件生成认证请求信息,该认证请求信息包括该通信装置的标识信息;该收发单元用于向该第二设备发送该认证请求信息;该收发单元还用于接收来自该第二设备的认证响应信息。结合第四方面,在第四方面的某些实现方式中,该处理单元还用于确定预先配置的第一列表中包含该第二设备的标识信息,该第一列表中包括需要认证的设备的标识信息。结合第四方面,在第四方面的某些实现方式中,该认证请求信息还包括该通信装置的设备证书和/或该通信装置使用的第一签名值;和/或该认证响应信息还包括该第二设备的第二设备证书和/或该第二设备使用的第二签名值。结合第四方面,在第四方面的某些实现方式中,该认证请求信息还包括第一密码,该第一密码是该通信装置根据预存的预共享密钥和该密码算法套件生成的;和/或该认证响应信息还包括第二密码。结合第四方面,在第四方面的某些实现方式中,该认证请求信息还包括该通信装置使用的第一随机数和/或该通信装置使用的第一临时公钥;该认证响应信息还包括该第二设备使用的第二随机数和/或该第二设备使用的第二临时公钥。结合第四方面,在第四方面的某些实现方式中,该认证请求信息还包括该通信装置使用的第一临时公钥;该认证响应信息还包括该第二设备使用的第二临时公钥和该第二设备的标识信息。结合第四方面,在第四方面的某些实现方式中,该至少一个密码算法套件中的每个密码算法套件满足前向安全性需求。结合第四方面,在第四方面的某些实现方式中,该处理单元还用于确定与该第二设备通信使用的报文加密模式,该报文加密模式包括全加密模式和按需加密模式中的一个。结合第四方面,在第四方面的某些实现方式中,该处理单元具体用于根据第四映射关系确定与该第二设备的标识信息对应的该报文加密模式,该第四映射关系用于指示至少一个设备的标识信息与至少一个报文加密模式之间的对应关系。结合第四方面,在第四方面的某些实现方式中,在该报文加密模式是按需加密模式的情况下,该处理单元还用于生成通信报文,该通信报文包括以下字段:明文标识、明文数据、密文标识、密文数据。结合第四方面,在第四方面的某些实现方式中,该明文数据中包含该密文数据的流加密密钥生成种子。第五方面,提供了一种通信装置,包括处理器。该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面至第二方面或第一方面至第二方面中任一种可能实现方式中的方法。第六方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面至第二方面或第一方面至第二方面中任一种可能实现方式中的方法。在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。第七方面,提供了一种处理装置,包括处理器。还可以包括存储器,存储器用于存储指令,该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面至第二方面或第一方面至第二方面中任一种可能实现方式中的方法。可选地,处理器为一个或多个,存储器为一个或多个。可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(readonlymemory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型和存储器与处理器的设置方式不做限定。应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。上述第七方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。第八方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面至第二方面或第一方面至第二方面中任一种可能实现方式中的方法。第九方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面至第二方面或第一方面至第二方面中任一种可能实现方式中的方法。第十方面,提供了一种通信系统,包括前述第三方面或第三方面中任一种可能实现方式中的通信装置,和/或,前述第四方面或第四方面中任一种可能实现方式中的通信装置。附图说明图1是tls协议的示意性流程图。图2是基于预共享密钥的握手过程的示意性流程图。图3和图4是适用于本申请实施例提供的方法的通信系统的示意图。图5至图7是本申请实施例提供的通信的方法的示意性流程图。图8是本申请实施例提供的按需加密模式下的通信报文的格式示意图。图9是本申请实施例提供的全加密模式下的通信报文的格式示意图。图10至图12是本申请实施例提供的通信的方法的示意性流程图。图13和图14是本申请实施例提供的通信装置的示意性框图。具体实施方式下面将结合附图,对本申请中的技术方案进行描述。目前,针对车载以太网的安全通信,autosar联盟定义了tls协议和dlts协议。autosar中定义的tls协议和dtls协议与传统以太网协议中定义的tls协议和dtls协议相同,即autosar定义的tls协议和dtls协议是tls协议和dtls协议在车载以太网上的移植。图1中示出了tls协议的流程。如图1所示,tls协议包含握手过程和通信过程。车内部件#1中预置根证书、私钥(secretkey,sk)#1和设备证书#1,设备证书#1中包括车内部件#1的标识(identity,id)#1、公钥(publickey,pk)#1和根签名。车内部件#2中预置根证书、sk#2和设备证书#2,设备证书#2中包括车内部件#2的id#2、pk#2和根签名。其中握手过程例如可以包括以下步骤:s101,车内部件#1生成随时数(random)#1。s102,车内部件#1向车内部件#2发送连接请求(clienthello)#1。连接请求#1中包括随机数#1和车内部件#1支持的密码算法套件列表。s103,车内部件#2生成一个cookie字段。s104,车内部件#2向车内部件#1发送验证请求(helloverifyrequest)。验证请求中包括cookie字段。s105,车内部件#1向车内部件#2发送连接请求#2。连接请求#2中包括随机数#1、车内部件#1支持的密码算法套件列表和cookie字段。s106,车内部件#2生成随机数#2。s107,车内部件#2根据车内部件#1支持的密码算法套件列表选择支持的密码算法套件。s108,车内部件#2根据选择的密码算法套件生成临时公私钥对#2。临时公私钥对#2包括临时私钥(temporarysecretkey,tempsk)#2和临时公钥(temporarypublickey,temppk)#2。s109,车内部件#2计算签名(sign)#2。sign#2=sign(id#2||random#2||temppk#2)。s110,车内部件#2向车内部件#1发送连接响应(serverhello)。连接响应中包括设备证书#2、随机数#2、temppk#2和sign#2。s111,车内部件#1验证设备证书#2的合法性。s112,车内部件#1验证sign#2的合法性。s113,车内部件#1生成临时公私钥对#1。临时公私钥对#1包括tempsk#1和temppk#1。s114,车内部件#1计算sign#1。sign#1=sign(id#1||random#1||temppk#1)s115,车内部件#1向车内部件#2发送改变密码标准(changecipherspec)。改变密码标准中包括设备证书#1、temppk#1和sign#1。s116,车内部件#1根据密钥派生函数(keyderivationfunction,kdf)计算预共享密钥(pre-sharedkey,psk)#1。psk#1=kdf(id#1,id#2,tempsk#1,temppk#2)。s117,车内部件#1根据kdf计算会话密钥(sessionkey)#1。sessionkey#1=kdf(psk#1,random#1,random#2)。s118,车内部件#2验证设备证书#1的合法性。s119,车内部件#2验证sign#1的合法性。s120,车内部件#2根据kdf计算psk#2。psk#2=kdf(id#1,id#2,tempsk#2,temppk#1)。s121,车内部件#2根据kdf计算sessionkey#2。sessionkey#2=kdf(psk#2,random#1,random#2)。如上所述,车内部件#1和车内部件#2通过握手过程完成双方的身份合法性认证、密码算法套件协商和sessionkey协商等步骤。进一步地,在通信过程中:s122,车内部件#1和车内部件#2使用sessionkey对通信报文进行加密传输。如果通信双方之前进行过握手过程,保存有相同的psk,那么握手过程可以简化。基于psk的握手过程如图2所示。s201,车内部件#1生成随时数(random)#1。s202,车内部件#1向车内部件#2发送连接请求#3。连接请求#3中包括随机数#1、车内部件#1支持的密码算法套件列表和psk_id。s203,车内部件#2生成随机数#2。s204,车内部件#2根据车内部件#1支持的密码算法套件列表选择支持的密码算法套件,根据psk_id选择psk。s205,车内部件#2根据选择的密码算法套件生成临时公私钥对#2。临时公私钥对包括tempsk#2和temppk#2。s206,车内部件#2使用psk加密报文。s207,车内部件#2向车内部件#1发送加密的连接响应。连接响应中包括随机数#2和temppk#2。s208,车内部件#1解密报文得到随机数#2。s209,车内部件#1生成临时公私钥对#1。临时公私钥对#1包括tempsk#1和temppk#1。s210,车内部件#1使用psk加密报文。s211,车内部件#1向车内部件#2发送加密的改变密码标准。改变密码标准中包括temppk#1。s212,车内部件#1计算预共享密钥(pre-sharedkey,psk)#1。psk#1=kdf(id#1,id#2,tempsk#1,temppk#2)。s213,车内部件#1根据kdfsessionkey#1。sessionkey#1=kdf(psk#1,random#1,random#2)。s214,车内部件#2根据kdf计算psk#2。psk#2=kdf(id#1,id#2,tempsk#2,temppk#1)。s215,车内部件#2根据kdf计算sessionkey#2。sessionkey#2=kdf(psk#2,random#1,random#2)。s216,车内部件#1和车内部件#2使用sessionkey对通信报文进行加密传输。如上所述,基于psk的握手过程无需对设备证书进行合法性验证,因此提高了握手的效率。然而不论是初始握手过程还是基于psk的握手过程,在密码算法套件协商环节传递的密码算法套件列表的数据量比较大,以及在初始握手过程的身份合法性认证环节传递的证书数据量比较大,因此,在握手过程中容易造成互联网协议(internetprotocol,ip)包分片传输,从而影响传输的可靠性和通信效率。此外,在车内网的场景下,不同车内部件之间传输大量的数据会增加车内转发部件的负担;现有的密码算法套件与车内部件的硬件能力不兼容,因此部署难度大,实时性差;基于传输控制协议(transmissioncontrolprotocol,tcp),不同车内部件之间需要建立连接,因此在车内上电时大量车内部件建立连接容易造成总线拥堵或中心节点负载过重;tls协议无法应用于用户数据报协议(userdatagramprotocol,udp);以及,不同车内部件之间的安全通道建立后,传输的所有数据都要加密,然而车内存在很多无需加密,只需要保证完整性的数据传输(例如,车辆控制指令),因此,对所有数据都加密会造成运算资源浪费,同时会话密钥使用次数过多会增大攻击风险。dtls协议是为了适应udp协议而对tls协议进行改动得到的。由于udp协议是不可靠的,报文有可能丢失和乱序。为了处理这些情况,dtls协议在tls协议的基础上做了如下改动:(1)dtls增加了报文超时重传机制,用来处理报文丢失的问题;(2)dtls报文中保存一个不加密的序号值,用来处理报文乱序的问题;(3)dtls移除了流加密算法的支持,也就是说,dtls支持的密码算法套件是tls支持的密码算法套件的子集。除了上述不同之外,dtls协议的流程与tls协议的流程相同。由于dtls协议用于udp协议,存在丢包的可能,因此,在握手过程中传输数据量较大的密码算法套件列表和设备证书,对传输可靠性和通信效率的不利影响会更大。此外,在车内网场景下,不同车内部件之间传输大量的数据会增加车内转发部件的负担;现有的密码算法套件与车内部件的硬件能力不兼容,因此部署难度大,实时性差;在追求高实时性的车内通信中,流加密算法是常用的高效加密手段,然而dtls协议并不支持流加密算法;以及,不同车内部件之间的安全通道建立后,传输的所有数据都要加密,然而车内存在很多无需加密,只需要保证完整性的数据传输(例如,车辆控制指令),因此,对所有数据都加密会造成运算资源浪费,同时会话密钥使用次数过多会增大攻击风险。基于此,本申请实施例提供一种通信的方法,以期减少握手过程中的交互过程和通信数据量,从而提高传输效率和通信质量。图3是适用于本申请实施例的通信方法的通信系统的示意图。如图3所示,本申请实施例提供的方法可以应用于智能网联车的车内部件之间通过车载以太网进行安全通信的场景。例如,图3所示的电子控制单元(electroniccontrolunit,ecu)#1与ecu#2之间通过车载以太网进行通信。车内部件可以包括与外界通信的远程信息处理器如车联网终端盒子(telematicsbox,t-box)、网关(gateway,gw)、高级驾驶辅助系统(advanceddriverassistancesystem,adas)、人机界面(human-machineinterface,hmi)、整车控制器(vehiclecontrolunit,vcu)等。如图3所示,两个车内部件之间可以直接连接。或者,两个车内部件之间还可以通过其它车内部件转接,如图4所示,ecu#1和ecu#2之间通过gw连接。下面结合附图对本本申请实施例提供的方法进行说明。图5示出了本申请实施例提供的通信的方法的示意性流程图。图5所示的方法500可以应用于图3或图4所示的通信系统中,图5所示的第一设备可以是图3或图4中的ecu#1,第二设备可以是图3或图4中的ecu#2。如图5所示,该方法500可以包括s501至s506,下面详细描述各个步骤。s501,第一设备根据第三映射关系确定与第二设备的标识信息对应的密码算法套件。可以理解,与第二设备的标识信息对应的密码算法套件,即第一设备与第二设备之间进行通信所使用的密码算法套件。其中,第一设备或第二设备可以是t-box、gw、adas、hmi、或vcu等。其中,第三映射关系用于指示至少一个设备的标识信息与至少一个密码算法套件之间的对应关系。至少一个设备的标识信息可以是第一设备需要认证的设备的标识信息。也就是说,第一设备根据第三映射关系可以确定与需要认证的设备进行通信所使用的密码算法套件。可以理解的,至少一个设备的标识信息包括第二设备的标识信息。可选地,若第一设备根据第三映射关系可以确定出与第二设备的标识信息对应的密码算法套件,则第一设备可以默认第二设备是需要认证的设备,即可以确定第二设备的真实性。设备的标识信息可以包括以下一种或多种:设备的类型、设备的标识(identifier,id)、设备的网际协议(internetprotocol,ip)地址、设备的媒体访问控制(mediaaccesscontrol,mac)地址。本申请实施例对至少一个设备的标识信息与至少一个密码算法套件的对应关系不做限定。作为一个示例,至少一个设备的标识信息与至少一个密码算法套件之间可能存在一一对应的对应关系。表1示出了至少一个设备的标识信息与至少一个密码算法套件之间一一对应的示例。表1设备的标识信息密码算法套件设备#a密码算法套件#a设备#b密码算法套件#b设备#c密码算法套件#c设备#d密码算法套件#d根据表1,第一设备可以确定与设备#a的标识信息对应的是密码算法套件#a,与设备#b的标识信息对应的是密码算法套件#b,与设备#c的标识信息对应的是密码算法套件#c,与设备#d的标识信息对应的是密码算法套件#d。作为另一示例,至少一个设备的标识信息与至少一个密码算法套件之间可能存在多对一的对应关系。表2示出了至少一个设备的标识信息与至少一个密码算法套件之间多对一的示例。表2根据表2,第一设备可以确定与设备#a的标识信息、设备#b的标识信息和设备#c的标识信息对应的都是密码算法套件#a,与设备#d的标识信息对应的是密码算法套件#b。第三映射关系所指示的至少一个设备的标识信息和至少一个密码算法套件之间的对应关系,可以根据第一设备与至少一个设备的硬件能力确定。例如,如果第一设备和设备#a都具有电子安全车辆入侵防护应用(e-safetyvehicleintrusionprotectedapplication,evita)full级的硬件安全模块(hardwaresecuritymodule,hsm),则可以将第一设备与该设备#a进行安全通信使用的密码算法套件确定为ecdhe_ecdsa_aes_128_gcm_whirlpool。也就是说,可以将设备#a的标识信息与ecdhe_ecdsa_aes_128_gcm_whirlpool对应起来。其中,临时椭圆曲线diffie-hellman(ephemeralellipticcurvediffie-hellman,ecdhe)代表密钥协商算法,椭圆曲线数字签名算法(ellipticcurvedigitalsignaturealgorithm,ecdsa)代表数字签名算法,高级加密标准(advancedencryptionstandard,aes)_128_(galois/countermode,gcm)代表认证加密算法,whirlpool算法为哈希算法,这些算法都是evitafull级的hsm中规定的算法。第三映射关系可以是预先存储在第一设备中的。例如,第三映射关系可以是设备生产商在生成第一设备的时候预先存储在第一设备中的;或者,第三映射关系可以是用户在使用第一设备之前预先存储在第一设备中的;或者,第三映射关系还可以是软件提供商预先存储在第一设备中的。在本申请实施例中,通过将密码算法套件与设备的标识信息对应的方式,使得第一设备够可以根据保存的第三映射关系确定与第二设备通信所使用的密码算法套件,因此,第一设备不需要向第二设备传输自身支持的密码算法套件列表,从而减小了传输的数据量。可选地,至少一个密码算法套件中的每个密码算法套件都满足前向安全性需求。也就是说,在定义第一设备与至少一个其它设备进行通信使用的密码算法套件时,只使用满足前向安全性需求的密钥协商算法,例如,使用临时diffie-hellman(ephemeraldiffie-hellman,dhe)或ecdhe。s502,第一设备根据确定的密码算法套件生成认证请求信息。第一设备根据确定的密码算法套件生成认证请求信息可以理解为,第一设备根据确定密码算法套件生成认证请求信息中包括的参数。认证请求信息中包括第一设备的标识信息(下文中以id#1为例进行说明)。认证请求信息还可以包括以下参数中的一种或多种:第一设备使用的第一临时公钥(下文中以temppk#1为例进行说明)、第一设备使用的第一随机数(random)(下文中以random#1为例进行说明)、第一设备的设备证书(下文中以设备证书#1为例进行说明)、第一设备使用的第一签名值(下文中以sign#1为例进行说明)、第一密码(下文中以cipher#1为例进行说明)。其中,random#1和temppk#1用于生成第一设备与第二设备之间通信使用的会话密钥,设备证书#1、sign#1和cipher#1用于对第一设备的合法性进行验证。其中,设备证书#1中包括id#1、第一设备使用的第一公钥(下文中以pk#1为例进行说明)和根签名。可以理解,由于设备证书#1中包括id#1,因此,认证请求信息中可以不包括第一设备的标识信息,在此情况下,可以理解为,第一设备的标识信息包含在设备证书#1中。temppk#1是第一设备根据确定的密码算法套件生成的。第一设备根据密码算法套件中的密钥协商算法生成第一临时公私钥对,第一临时公私钥对中包括temppk#1和第一临时私钥(下文中以tempsk#1为例进行说明)两个数据。sign#1是第一设备根据确定的密码算法套件生成的。第一设备构造第一消息(下文中以msg#1为例进行说明),msg#1的内容为{id#1||random#1||temppk#1};进一步地,第一设备以使用的第一私钥(下文中以sk#1为例进行说明)为密钥,根据密码算法套件中规定的数字签名算法对msg#1加密得到sign#1,sign#1=sign(id#1||random#1||temppk#1),“||”表示连接,sign()表示用数字签名算法进行计算。cipher#1是第一设备根据预存的psk和密码算法套件生成的。其中,预存的psk与第二设备对应。第一设备构造msg#1,msg#1的内容为{id#1||random#1};进一步地,第一设备以psk为密钥,根据密码算法套件中的对称加密算法对msg#1进行加密,生成cipher#1,cipher#1=encpsk(id#1||random#1)。其中,“||”表示连接,encpsk()表示以psk为密钥,以对称加密算法加密。预存的psk可以是第一设备在与第二设备在先进行身份认证的过程中生成的。可以理解,若第一设备与第二设备之前进行过身份认证过程,则第一设备和第二设备可以保存有相同的psk。第一设备可以根据第二设备的标识信息(下文中以id#2为例进行说明)从保存的一个或多个psk中确定与第二设备对应的psk。预存的psk还可以是第一设备根据预先配置的第一psk列表中保存的psk。预先配置的第一psk列表中可以包括至少一个设备的标识信息对应的psk。预先配置的第一psk列表可以理解为第一psk列表是预先存储在第一设备中的。例如,第一psk列表可以是设备生产商在生成第一设备的时候预先存储在第一设备中的;或者,第一psk列表可以是用户在使用第一设备之前预先存储在第一设备中的;或者,第一psk列表还可以是软件提供商预先存储在第一设备中的。在此情况下,第一设备可以根据预先配置的第一psk列表确定与id#2对应的psk。可选地,如图6所示,该方法500还可以包括:s507,第一设备确定预先配置的第一列表中包含第二设备的标识信息。预先配置的第一列表可以理解为第一列表是预先存储在第一设备中的。例如,第一列表可以是设备生产商在生成第一设备的时候预先存储在第一设备中的;或者,第一列表可以是用户在使用第一设备之前预先存储在第一设备中的;或者,第一列表还可以是软件提供商预先存储在第一设备中的。需要说明的是,图中仅以s507在s502之后为例进行说明,不应对本申请构成限定,s507还可以在s502或者在s501之前执行。或者,s507与s501可以是一个步骤。其中,第一列表中定义了第一设备需要和哪些设备进行安全通信的认证过程,也就是说,第一列表中包括第一设备需要认证的设备的标识信息。第一列表的内容可以根据第一设备的应用场景确定。例如,第一设备是adas,则在自动驾驶业务功能中,adas需要和hmi、vcu、车身域控制器、底盘域控制器、传感器等设备进行安全通信,因此adas中预先配置的第一列表中可以保存上述设备的标识信息。在第一设备生成或发送认证请求信息之前,第一设备可以查询预先配置的第一列表中是否保存有第二设备的标识信息。若第一列表保存有第二设备的标识信息,则表示第一设备需要对第二设备进行身份认证,则第一设备向第二设备发起认证过程。例如,第一设备在确定第一列表中包含第二设备的标识信息的情况下,再生成认证请求信息,或向第二设备发送认证请求信息。若第一列表中没有保存第二设备的标识信息,则表示第一设备和第二设备之间无需进行身份认证,则第一设备不会向第二设备发起认证过程。例如,第一设备在确定第一列表中不包含第二设备的标识信息的情况下,不生成认证请求信息,或不向第二设备发送认证请求信息。还需要说明的是,上述第一设备确定第一列表中包含第二设备的标识信息的方案也可以单独实施,即,可以作为独立的实施例,而不必依附于本说明书中的其他实施例。在本申请实施例中,通过在第一设备预置第一列表的而方式,使得第一设备在确定第二设备的标识信息保存在第一列表的情况下,再向第二设备发送认证请求信息,从而可以避免发起不必要认证请求。可选地,如图7所示,该方法500还可以包括:s509,第一设备确定与第二设备通信使用的报文加密模式。需要说明的是,图中仅以s509在s507之后为例进行说明,不应对本申请构成限定。s509还可以在s507之前执行,或者可以在s502之前执行,或者可以在s501之前执行,或者s509还可以在s503之后执行。或者,s509与s507可以是一个步骤,者s509与s501可以是一个步骤。其中,报文加密模式包括全加密模式和按需加密模式中的一个。若第一设备与第二设备通信使用的报文加密模式是全加密模式,则第一设备与第二设备之间发送的通信报文可以包括:密文数据。密文数据即第一设备与第二设备根据密码算法套件对通信数据进行加密得到的数据。图8示出了全加密模式下的通信报文格式。如图8所示,在全加密模式下,只有报文序号不加密,其他所有数据均为密文数据。若第一设备与第二设备通信使用的报文加密模式是按需加密模式,则第一设备与第二设备之间发送的通信报文包括:明文标识、明文数据、密文标识、密文数据。其中,明文标识用于标识明文数据的长度,或者用于指示明文标识之后的字段是明文数据。明文数据即没有加密的数据。可选地,明文数据中可以包含密文数据的流加密密钥生成种子。图9示出了在按需加密模式下,第一设备与第二设备之间发送的通信报文的格式。从图9可以看出,明文标识之后,密文标识之前的数据是明文数据,密文标识之后的数据是密文数据。其中,明文数据可以包括:报文序号、流密钥种子、娱乐数据、车辆控制指令、哈希值等。密文数据可以包括:定位数据、地图数据、用户隐私等。本申请实施例对第一设备确定报文加密模式的方式不做限定。作为一个示例,第一设备可以根据与第二设备之间传输的数据内容确定报文加密模式。例如,若第一设备与第二设备之间传输的是地图数据、定位数据等,则确定报文加密模式为全加密模式。若第一设备与第二设备之间除了传输地图数据等数据,还传输娱乐数据、控制指令等,则确定报文加密模式为按需加密模式,即对地图数据等数据加密,对娱乐数据、控制指令等不加密。进一步地,第一设备可以向第二设备发送指示信息,指示与第二设备之间通信所使用的报文加密模式。例如,第一设备发送的指示信息可以是布尔型(bool)变量,若布尔型变量的值是“1”,则指示第一设备与第二设备之间通信使用的报文加密模式是全加密模式;若布尔型变量的值是“0”,则指示第一设备与第二设备之间通信使用的报文加密模式是按需加密模式。可选的,该指示信息还可以携带在认证请求信息中。作为另一个示例,第一设备可以根据第四映射关系确定与第二设备的标识信息对应的报文加密模式,第四映射关系用于指示至少一个设备的标识信息与至少一个报文加密模式之间的对应关系。本申请实施例对至少一个设备的标识信息与至少一个报文加密模式的对应关系不做限定。例如,至少一个设备的标识信息与至少一个报文加密模式之间可能存在一一对应的对应关系。表3示出了至少一个设备的标识信息与至少一个报文加密模式之间一一对应的示例。表3设备的标识信息报文加密模式设备#a全加密模式设备#b全加密模式设备#c按需加密模式设备#d按需加密模式根据表3,第一设备可以确定与设备#a和设备#b的标识信息对应的是全加密模式,与设备#c和设备#d的标识信息对应的是按需加密模式。又例如,至少一个设备的标识信息与至少一个报文加密模式之间可能存在多对一的对应关系。表4示出了至少一个设备的标识信息与至少一个报文加密模式之间多对一的示例。根据表4,第一设备可以确定与设备#a的标识信息和设备#b的标识信息对应的都是全加密模式,与设备#c的标识信息和设备#d的标识信息对应的是按需加密模式。表4还需要说明的是,上述第一设备确定与第二设备通信使用的报文加密模式的方案也可以单独实施,即,可以作为独立的实施例,而不必依附于本说明书中的其他实施例。在本申请实施例中,通过定义通信报文的按需加密模式,使得在按需加密模式下,对不需要加密的数据可以明文传输,从而减少了加密载荷的数据量,提高了加密速率,从而提高了通信效率。在按需加密模式下,可以在明文数据中保存密文数据的流加密密钥生成种子,从而可以在udp协议上支持流加密算法,进一步提高通信效率。应理解,上文中以第一设备分别保存了第三映射关系、第一列表、第一psk列表和第四映射关系为例进行说明,不应对本申请实施例构成限定。第三映射关系指示的信息、第四映射关系指示的信息、第一psk列表包含的内容和第一列表包含的内容可以保存在同一个列表中;或者,第三映射关系指示的信息、第四映射关系指示信息、第一psk列表包含的内容和第一列表包含的内容中的一个或多个可以保存在同一个列表中。表5示出了第三映射关系指示的信息、第四映射关系指示的信息、第一psk列表包含的内容和第一列表包含的内容保存在同一个列表中的示例。表5设备的标识信息密码算法套件psk报文加密模式设备#a密码算法套件#1psk#1全加密模式设备#b密码算法套件#2psk#2全加密模式设备#c密码算法套件#3psk#3按需加密模式设备#d密码算法套件#4psk#4按需加密模式其中,设备#a至设备#d的标识信息即第一设备需要认证的设备的标识信息;以及表5中示出了与设备#a至设备#d的标识信息分别对应的密码算法套件#1至密码算法套件#4、psk#1至psk#4、报文加密模式。s503,第一设备向第二设备发送认证请求信息。相对应地,在s503中,第二设备接收来自第一设备的认证请求信息。认证请求信息中可以包括以下参数中的一种或多种:id#1、temppk#1、random#1、设备证书#1、sign#1、cipher#1。例如,在第一设备与第二设备单向认证的场景下,认证请求信息中可以包括:id#1、temppk#1和random#1。第一设备和第二设备之间进行单向认证,即第一设备对第二设备的合法性进行认证,第二设备不对第一设备的合法性进行认证。例如,在自动驾驶场景中,假设第一设备是智能驾驶域控制器,第二设备是传感器,则智能驾驶域控制器与域内传感器进行通信之前,智能驾驶域控制器为防止传感器发送伪造数据,需要对传感器进行认证,而传感器无需对智能驾驶域控制器进行认证。又例如,在第一设备与第二设备进行双向认证的情况下,认证请求信息中可以包括:设备证书#1、sign#1、temppk#1和random#1。第一设备与第二设备进行双向认证,即第一设备对第二设备的合法性进行认证,第二设备也对第一设备的合法性进行认证。再例如,在第一设备预存与第二设备对应的psk的情况下,认证响应信息可以包括:id#1、cipher#1和temppk#1。s504,第二设备根据第一映射关系确定与第一设备的标识信息对应的密码算法套件。可以理解,与第一设备的标识信息对应的密码算法套件,即第一设备与第二设备之间进行通信所使用的密码算法套件。其中,第一映射关系用于指示至少一个设备的标识信息与至少一个密码算法套件之间的对应关系。具体地,关于第一映射关系的描述可以参考s501中关于第三映射关系的描述,为例简洁,本申请实施例不再详述。可以理解的,步骤s504中确定的密码算法套件与步骤s501中确定的密码算法套件相同。第一映射关系可以是预先存储在第二设备中的。例如,第一映射关系可以是设备生产商在生成第二设备的时候预先存储在第二设备中的;或者,第一映射关系可以是用户在使用第二设备之前预先存储在第二设备中的;或者,第一映射关系还可以是软件提供商预先存储在第二设备中的。可选地,若第二设备根据第一映射关系可以确定出与第一设备的标识信息对应的密码算法套件,则第二设备可以默认第一设备是需要认证的设备,即可以确定第一设备的真实性。在本申请实施例中,通过将密码算法套件与设备的标识信息对应的方式,使得第二设备可以根据保存的第一映射关系确定与第一设备通信过程中使用的密码算法套件。因此,第一设备不需要向第二设备传输自身支持的密码算法套件,从而减小了传输过程中的数据量,提高了传输可靠性和通信效率。可选地,至少一个密码算法套件中的每个密码算法套件都满足前向安全性需求。如前文所述,在第一设备与第二设备之间进行双向认证的情况下,第一设备向第二设备发送的认证请求信息可以包括设备证书#1和/或sign#1。则第二设备在确定密码算法套件之前,可以先对设备证书#1的合法性进行验证。第二设备使用根证书中的第二设备使用的第二公钥(下文中以pk#2为例进行说明)对设备证书#1中保存的根签名进行验签。验证通过之后,第二设备再确定密码算法套件。在确定密码算法套件之后,第二设备继续对sign#1的合法性进行验证。第二设备可以根据设备证书#1中包括的id#1和认证请求信息中包括的random#1和temppk#1构造msg#1,进一步地,第二设备根据设备证书#1中包括的pk#1对sign#1的合法性进行验证。验证通过之后,第二设备执行后续的认证过程。若认证请求信息中包括cipher#2,则第二设备确定密码算法套件之后,以预存的与第一设备的标识信息对应的psk为密钥,以及根据密码算法套件中的对称加密算法解密cipher#1得到id#1。进一步地,第二设备判断解密cipher#1得到的id#1与认证请求信息中的id#1是否一致。如果不一致,则认证失败,如果一致,则继续执行后续的认证过程。s505,第二设备根据确定的密码算法套件生成认证响应信息。认证响应信息可以包括以下参数中的一个或多个:第二设备的标识信息(下文中以id#2为例进行说明)、第二设备使用的第二随机数(下文中random#2为例进行说明)、第二设备的第二设备证书(下文中以设备证书#2为例进行说明)、第二设备使用的第二签名值(下文中以sign#1为例进行说明)、第二设备使用的第二临时公钥(下文中以temppk#2为例进行说明)、第二密码(下文中以cipher#2为例进行说明)。其中,设备证书#2中包括id#2、pk#2和根签名。random#2和temppk#2用于生成第一设备与第二设备之间通信使用的会话密钥,设备证书#2、sign#2和cipher#2用于对第二设备的合法性进行验证。第二设备可以根据确定的密码算法套件生成认证响应信息,也可以理解为,第二设备生成认证响应信息中包括的参数。第二设备可以根据确定的密码算法套件生成第二临时公私钥对,第二临时公私钥对中包括temppk#2和第二临时私钥(下文中以tempsk#2为例进行说明)两个数据。第二设备还可以构造第二消息(下文中以msg#2为例进行说明),msg#2的内容为{id#2||random#2||temppk#2};进一步地,第二设备以使用的第二私钥(下文中以sk#2为例进行说明)为密钥,根据密码算法套件中规定的数字签名算法对msg#2加密得到sign#2,sign#2=sign(id#2||random#2||temppk#2),“||”表示连接,sign()表示用数字签名算法进行计算。第二设备还可以根据预存的psk和密码算法套件生成cipher#2。第二设备构造msg#2,msg#2的内容为{id#2||random#2};进一步地,第二设备以psk为密钥,根据密码算法套件中的对称加密算法对msg#2进行加密,生成cipher#2,cipher#2=encpsk(id#2||random#2)。其中,“||”表示连接,encpsk()表示以psk为密钥,以对称加密算法加密。预存的psk可以是第一设备在与第二设备在先进行身份认证的过程中生成的。可以理解,若第一设备与第二设备之前进行过身份认证过程,则第一设备和第二设备保存有相同的psk。第二设备可以根据id#1从保存的一个或多个psk中确定与第一设备对应的psk。预存的psk还可以是第二设备根据预先配置的第二psk列表中保存的psk。预先配置的第二psk列表中可以包括至少一个设备的标识信息对应的psk。预先配置的第二psk列表可以理解为第二psk列表是预先存储在第二设备中的。例如,第一psk列表可以是设备生产商在生成第二设备的时候预先存储在第二设备中的;或者,第二psk列表可以是用户在使用第二设备之前预先存储在第二设备中的;或者,第二psk列表还可以是软件提供商预先存储在第二设备中的。在此情况下,第二设备可以根据预先配置的第二psk列表确定与id#1对应的psk。若第二设备在确定与第一设备的标识信息对应的密码算法套件之后,仍然不确定第一设备的合法性,则第二设备可以暂时不生成上述参数。在此情况下,第二设备可以生成一个cookie字段,并将生成的cookie字段携带在认证响应信息中发送给第一设备。进一步地,第二设备可以在接收到第一设备发送的携带cookie字段的认证请求信息之后,根据认证请求信息中的cookie字段确定第一设备的真实性和来源合法性。可选地,如图6所示,该方法500还可以包括:s508,第二设备确定预先配置的第二列表中包含第一设备的标识信息。预先配置的第二列表可以理解为第二列表是预先存储在第二设备中的。例如,第二列表可以是设备生产商在生成第二设备的时候预先存储在第二设备中的;或者,第二列表可以是用户在使用第二设备之前预先存储在第一设备中的;或者,第二列表还可以是软件提供商预先存储在第二设备中的。需要说明的是,图中仅以s508在s505之后为例进行说明,不应对本申请构成限定,s508还可以在s505或者在s504之前执行。或者,s508与s504可以是一个步骤。其中,第二列表中定义了第二设备需要和哪些设备进行安全通信的认证过程,也就是说,第二列表中包括第二设备需要认证的设备的标识信息。具体地,关于第二列表的描述可以参考前文s507中关于第一列表的描述,为了简洁,本申请实施例不再详述。在第二设备生成或发送认证响应信息之前,第二设备可以查询预先配置的第二列表中是否保存有第一设备的标识信息。若第二列表保存有第一设备的标识信息,则表示第一设备的来源合法,则第二设备响应第一设备的认证请求。例如,第二设备在确定第二列表中包含第一设备的标识信息的情况下,再生成认证响应信息,或向第二设备发送认证响应信息。若第二列表中没有保存第一设备的标识信息,则表示第一设备的来源不合法,则第二设备不响应第一设备的认证请求。例如,第二设备在确定第二列表中不包含第一设备的标识信息的情况下,不生成认证响应信息,或不向第二设备发送认证响应信息。还需要说明的是,上述第二设备确定第二列表中包含第一设备的标识信息的方案也可以单独实施,即,可以作为独立的实施例,而不必依附于本说明书中的其他实施例。在本申请实施例中,通过在第二设备预先配置第二列表的方式,使得第二设备在确定第一设备的标识信息保存在第二列表的情况下,就可以确定第一设备的来源合法性,即第二列表可以代替原有握手过程中cookie字段分配的过程。因此,可以防止恶意设备伪造虚假来源发起认证过程,以及第二设备根据第二列表可以直接忽略不合法设备的认证请求,从而减轻第二设备的处理负担,也可以提高攻击者的攻击难度。可选地,如图7所示,该方法500还可以包括:s510,第二设备确定与第一设备通信使用的报文加密模式。需要说明的是,图中仅以s510在s508之后为例进行说明,不应对本申请构成限定。s510还可以在s508之前执行,或者可以在s505之前执行,或者可以在s504之前执行,或者s510还可以在s506之后执行。或者,s510与s508可以是一个步骤,者s509与s504可以是一个步骤。其中,报文加密模式包括全加密模式和按需加密模式中的一个。若第一设备与第二设备通信使用的报文加密模式是全加密模式,则第一设备与第二设备之间发送的通信报文可以包括:密文数据。密文数据即第一设备与第二设备根据密码算法套件对通信数据进行加密得到的数据。图8示出了全加密模式下的通信报文格式。如图8所示,在全加密模式下,只有报文序号不加密,其他所有数据均为密文数据。若第一设备与第二设备通信使用的报文加密模式是按需加密模式,则第一设备与第二设备之间发送的通信报文包括:明文标识、明文数据、密文标识、密文数据。其中,明文标识用于标识明文数据的长度,或者用于指示明文标识之后的字段是明文数据。明文数据即没有加密的数据。可选地,明文数据中可以包含密文数据的流加密密钥生成种子。图9示出了在按需加密模式下的通信报文的格式。从图9可以看出,明文标识之后,密文标识之前的数据是明文数据,密文标识之后的数据是密文数据。其中,明文数据可以包括:报文序号、流密钥种子、娱乐数据、车辆控制指令、哈希值等。密文数据可以包括:定位数据、地图数据、用户隐私等。本申请实施例对第二设备确定报文加密模式的方式不做限定。作为一个示例,第二设备可以根据来自第一设备的指示信息确定报文加密模式,该指示信息用于指示第一设备与第二设备之间通信所使用的报文加密模式。例如,第二设备接收的来自第一设备的指示信息可以是布尔型(bool)变量,若布尔型变量的值是“1”,则指示第一设备与第二设备之间通信使用的报文加密模式是全加密模式;若布尔型变量的值是“0”,则指示第一设备与第二设备之间通信使用的报文加密模式是按需加密模式。作为另一个示例,第二设备可以根据第二映射关系确定与第一设备的标识信息对应的报文加密模式,第二映射关系用于指示至少一个设备的标识信息与至少一个报文加密模式之间的对应关系。具体地,关于第二映射关系的描述可以参考前文s509中关于第四映射关系的描述,为了简洁,本申请实施例不再详述。还需要说明的是,上述第二设备确定与第一设备通信使用的报文加密模式的方案也可以单独实施,即,可以作为独立的实施例,而不必依附于本说明书中的其他实施例。在本申请实施例中,通过定义通信报文的按需加密模式,使得在按需加密模式下,对不需要加密的数据可以明文传输,从而减少了加密载荷的数据量,提高了加密速率,从而提高了通信效率。在按需加密模式下,可以在明文数据中保存密文数据的流加密密钥生成种子,从而可以在udp协议上支持流加密算法,进一步提高通信效率。应理解,上文中以第二设备分别保存了第一映射关系、第二列表、第二psk列表和第二映射关系为例进行说明,不应对本申请实施例构成限定。第一映射关系指示的信息、第二映射关系指示的信息、第二psk列表包含的内容和第二列表包含的内容可以保存在同一个列表中;或者,第一映射关系指示的信息、第二映射关系指示信息、第二psk列表包含的内容和第二列表包含的内容中的一个或多个可以保存在同一个列表中。表6示出了第一映射关系指示的信息、第二映射关系指示的信息、第二psk列表包含的内容和第二列表包含的内容保存在同一个列表中的示例。表6设备的标识信息密码算法套件psk报文加密模式设备#e密码算法套件#1psk#1全加密模式设备#f密码算法套件#2psk#2全加密模式设备#g密码算法套件#3psk#3按需加密模式设备#h密码算法套件#4psk#4按需加密模式其中,设备#e至设备#h的标识信息即第二设备需要认证的设备的标识信息;以及表6中示出了与设备#e至设备#h的标识信息分别对应的密码算法套件#1至密码算法套件#4、psk#1至psk#4、报文加密模式。s506,第二设备向第一设备发送认证响应信息。认证响应信息可以包括以下参数中的一个或多个:random#2、设备证书#2、sign#1、temppk#2、cipher#2、id#2。例如,在第二设备确定第一设备来源合法的情况下,认证响应信息可以包括:random#2、设备证书#2、sign#1、temppk#2。又例如,第二设备预存与第一设备对应的psk的情况下,认证响应信息可以包括:id#2、temppk#2、cipher#2。相应地,在s506中,第一设备接收到来自第二设备的认证响应信息之后,可以对第二设备的合法性进行验证。若认证响应信息中包括设备证书#2,则第一设备验证设备证书#2的合法性。第一设备根据设备证书#2中保存的id#2查询与预先配置的第一列表,确认第二设备是否为需要认证的设备。如果不是,则终止认证;如果是,则第一设备使用根证书中的pk#1对设备证书#2中的根签名进行验签。若认证响应信息中包括sign#2,则第一设备继续验证sign#2。第一设备可以根据设备证书#2中包括的id#2和认证响应信息中包括的random#2和temppk#2构造msg#2,进一步地,第二设备根据设备证书#2中包括的pk#2对sign#2的合法性进行验证。若认证响应信息中包括cipher#2,则第一设备以预存的与第二设备对应的psk为密钥,以及根据密码算法套件中的对称加密算法解密cipher#2得到id#2。进一步地,第一设备判断解密cipher#2得到的id#2与认证响应信息中的id#2是否一致,如果不一致,则认证失败,如果一致,则认证成功。在第一设备与第二设备执行完身份认证流程以及交互了双方使用的随机数和临时公钥之后,则按照现有的流程计算本次安全通信使用的psk和会话密钥。随后进行通信过程。在本申请实施例中,通过将密码算法套件与设备的标识信息对应的方式,使得第一设备和第二设备可以根据保存的映射关系确定通信过程中使用的密码算法套件。因此,第一设备和第二设备在握手过程中,不需要传递支持的密码算法套件列表,从而减小了握手过程中传输的数据量,提高了传输可靠性和通信效率。在第一设备与第二设备通过转发部件通信的情况下,还可以减轻转发部件的负担。在本申请实施例中,通过在第二设备预先配置第二列表的方式,使得第二设备在确定第一设备的标识信息保存在第二列表的情况下,就可以确定第一设备的来源合法性,即第二列表可以代替原有握手过程中cookie字段分配的过程。因此,可以防止恶意设备伪造虚假来源发起认证过程,以及第二设备根据第二列表可以直接忽略不合法设备的认证请求,从而减轻第二设备的处理负担,也可以提高攻击者的攻击难度。在本申请实施例中,定义了通信报文的按需加密模式,在按需加密模式下,对不需要加密的数据可以明文传输,从而减少了加密载荷的数据量,提高了加密速率,从而提高了通信效率。此外,在按需加密模式下,可以在明文数据中保存密文数据的流加密密钥生成种子,从而可以在udp协议上支持流加密算法,进一步提高通信效率。图10是本申请另一实施例提供的方法600的示意性流程图,如图10所示,该方法600可以包括s601至s620,下面详细说明各个步骤。s601,第一设备确定预先配置的第一列表中包含第二设备的标识信息(id#2)。其中,第一列表包括第一设备需要认证的设备的标识信息。若第一设备确定第一列表中包含id#2,则第一设备继续执行认证过程;若第一设备确定第一列表中没有包含id#2,则第一设备不执行与第二设备的认证过程。s602,第一设备确定与id#2对应的密码算法套件和报文加密模式。第一设备可以根据第三映射关系确定与id#2对应的密码算法套件。第一设备可以根据第四映射关系确定与id#2对应的报文加密模式。s603,第一设备生成随机数#1。s604,第一设备根据密码算法套件中的密钥协商算法生成第一临时公私钥对。第一临时公私钥对中包括temppk#1和tempsk#1。s605,第一设备根据密码算法套件中的数字签名算法生成第一签名值。第一设备构造msg#1,msg#1的内容为{id#1||random#1||temppk#1};进一步地,第一设备以sk#1为密钥,根据密码算法套件中规定的数字签名算法对msg#1加密得到sign#1,sign#1=sign(id#1||random#1||temppk#1),“||”表示连接,sign()表示用数字签名算法进行计算。s606,第一设备向第二设备发送认证请求信息。认证请求信息中包括:设备证书#1、random#1、temppk#1和sign#1。设备证书#1中包括:id#1、pk#1和根签名。s607,第二设备验证设备证书#1的合法性。第二设备根据设备证书#1中的id#1,确定预先配置的第二列表中保存id#1。若第二列表中保存id#1,则第二设备确定第一设备是需要认证的设备;若第二列表中没有保存id#1,则第二设备确定第一设备是不需要认证的设备,进而终止认证过程。在第二设备确定第一设备是需要认证的设备的情况下,第二设备继续使用pk#2对设备证书#1中根签名进行验证。若验证成功,则继续执行验证过程;若验证失败,则终止验证过程。s608,第二设备确定与id#1对应的密码算法套件和报文加密模式。第二设备可以根据第一映射关系确定与id#1对应的密码算法套件。第一设备可以根据第二映射关系确定与id#1对应的报文加密模式。s609,第二设备验证第一签名值。第二设备可以根据设备证书#1中包括的id#1和认证请求信息中包括的random#1和temppk#1构造msg#1,进一步地,第二设备根据设备证书#1中包括的pk#1对sign#1的合法性进行验证。验证通过之后,第二设备执行后续的认证过程。验证不通过,则验证失败。s610,第二设备生成随机数#2。s611,第二设备根据密码算法套件中的密钥协商算法生成第二临时公私钥对。第二临时公私钥对中包括temppk#2和tempsk#2。s612,第二设备根据密码算法套件中的数字签名算法计算第二签名值。第二设备构造msg#2,msg#2的内容为{id#2||random#2||temppk#2};进一步地,第一设备以sk#2为密钥,根据密码算法套件中规定的数字签名算法对msg#2加密得到sign#2,sign#2=sign(id#2||random#2||temppk#2),“||”表示连接,sign()表示用数字签名算法进行计算。s613,第二设备向第一设备发送认证响应信息。认证响应信息中包括:设备证书#2、random#2、temppk#2、sign#2。设备证书#2中包括:id#2、pk#2和根签名。s614,第二设备计算psk#2。psk#2=kdf(id#1,id#2,tempsk#2,temppk#1)。其中,kdf()表示根据密钥派生函数进行计算。s615,第二设备计算会话密钥#2。sessionkey#2=kdf(psk#2,random#1,random#2)。其中,kdf()表示根据密钥派生函数进行计算。s616,第一设备验证设备证书#2的合法性。第一设备根据设备证书#2中的id#2,确定预先配置的第一列表中保存id#2。若第一列表中保存id#2,则第一设备确定第二设备是需要认证的设备;若第一列表中没有保存id#2,则第一设备确定第二设备是不需要认证的设备,进而终止认证过程。在第一设备确定第二设备是需要认证的设备的情况下,第一设备继续使用pk#1对设备证书#2中根签名进行验证。若验证成功,则继续执行验证过程;若验证失败,则终止验证过程。s617,第一设备验证第二签名值。第一设备可以根据设备证书#2中包括的id#2和认证响应信息中包括的random#2和temppk#2构造msg#2,进一步地,第一设备根据设备证书#2中包括的pk#2对sign#2的合法性进行验证。验证通过之后,第一设备执行后续的认证过程。验证不通过,则验证失败。s618,第一设备计算psk#1。psk#1=kdf(id#1,id#2,temppk#2,tempsk#1)。其中,kdf()表示根据密钥派生函数进行计算。可以理解,虽然本申请实施例中用psk#1和psk#2分别表示第一设备和第二设备生成的psk,但这仅仅是为了区分,psk#1和psk#2应该认为是等同的。s619,第一设备计算会话密钥#1。sessionkey#1=kdf(psk#1,random#1,random#2)。其中,kdf()表示根据密钥派生函数进行计算。可以理解,虽然本申请实施例中用sessionkey#1和sessionkey#2分别表示第一设备和第二设备生成的sessionkey,但这仅仅是为了区分,sessionkey#1和sessionkey#2应该认为是等同的。s620,第一设备与第二设备根据确定的密码算法套件和报文加密模式传输通信报文。在本申请实施例中,第一设备预先配置的列表中记录了握手来源的合法设备标识列表,可以防止恶意设备伪造虚假来源发起拒绝服务攻击,起到了现有技术中的cookie字段的作用。也就是说,可以省去原有tls协议和dtls协议中的cookie字段分配的过程,减少了握手过程中的一次交互过程。第二设备根据预先配置的第二列表可以直接忽略不合法设备的握手请求,使第二设备只进行必要的握手,既可以减轻第二设备的处理负担,也可以提高攻击者攻击的难度。本申请实施例通过将密码算法套件与设备的标识信息对应的方式,使得第一设备和第二设备可以根据保存的映射关系确定通信过程中使用的密码算法套件,从而省去了原有tls协议和dtls协议中密码算法套件协商过程,使得第一设备和第二设备在握手过程中,不需要传递设备支持的密码算法套件列表,从而减小了握手过程中传输的数据量,提高了传输可靠性和通信效率。此外,在会话密钥协商过程中,使用临时公私钥对,可以满足前向安全性需求。图11是本申请另一实施例提供的方法700的示意性流程图,如图11所示,该方法700可以包括s701至s716,其中,s702至s703与方法600中的s603至s604相同,s706至s716与方法600中的s610至s620相同,为了简洁,本申请实施例不再详述。下面详细说明其余各个步骤。s701,第一设备确定与id#2对应的密码算法套件和报文加密模式。第一设备可以根据第三映射关系确定与id#2对应的密码算法套件。第一设备可以根据第四映射关系确定与id#2对应的报文加密模式。在本申请实施例中,第一设备根据第三映射关系可以确定出与id#2对应的密码算法套件,则第一设备可以默认第二设备是需要认证的设备。s704,第一设备向第二设备发送认证响应信息。认证响应信息中包括:id#1、random#1、temppk#1。s705,第二设备确定与id#1对应的密码算法套件和报文加密模式。第二设备可以根据第一映射关系确定与id#1对应的密码算法套件。第一设备可以根据第二映射关系确定与id#1对应的报文加密模式。同样,在本申请实施例,第二设备根据第一映射关系可以确定出与id#1对应的密码算法套件,则第二设备可以默认第一设备是需要认证的设备。在本申请实施例中,只进行了第一设备对第二设备的单向的身份合法认证,进一步减少握手过程中的运算步骤和交互的数据量。尽管第二设备没有对第一设备的身份合法性进行认证,但是第二设备在根据第一映射关系确定密码算法套件的过程中,可以判断第一设备是否是需要认证的设备,这提高了攻击者发送恶意握手请求的难度,相比于目前的单向认证握手过程提高了安全性。本申请实施例通过将密码算法套件与设备的标识信息对应的方式,使得第一设备和第二设备可以根据保存的映射关系确定通信过程中使用的密码算法套件,从而省去了原有tls协议和dtls协议中密码算法套件协商过程,使得第一设备和第二设备在握手过程中,不需要传递设备支持的密码算法套件列表,从而减小了握手过程中传输的数据量,提高了传输可靠性和通信效率。此外,在会话密钥协商过程中,使用临时公私钥对,可以满足前向安全性需求。图12是本申请另一实施例提供的方法800的示意性流程图,如图12所示,该方法800可以包括s801至s817,其中,s802至s803与方法600中的s603至s604相同,s808至s809与方法600中的s610至s611相同,s812至s813与方法600中的s614至s615相同,s815至s817与方法600中的s618至s620相同,为了简洁,本申请实施例不再详述。下面详细说明其余各个步骤。s801,第一设备确定与id#2对应的密码算法套件、报文加密模式和psk。第一设备可以根据第三映射关系确定与id#2对应的密码算法套件。第一设备可以根据第四映射关系确定与id#2对应的报文加密模式。第一设备可以根据预先配置的第一psk列表确定与id#2对应的psk。s804,第一设备计算第一密码。第一设备构造msg#1,msg#1的内容为{id#1||random#1};进一步地,第一设备以psk为密钥,根据密码算法套件中的对称加密算法对msg#1进行加密,生成cipher#1,cipher#1=encpsk(id#1||random#1)。其中,“||”表示连接,encpsk()表示以psk为密钥,以对称加密算法加密。s805,第一设备向第二设备发送认证响应信息。认证响应信息中包括:id#1、cipher#1、temppk#1。s806,第二设备确定与id#1对应的密码算法套件、报文加密模式和psk。第二设备可以根据第一映射关系确定与id#1对应的密码算法套件。第二设备可以根据第二映射关系确定与id#1对应的报文加密模式。第二设备可以根据预先配置的第二psk列表确定与id#1对应的psk。s807,第二设备解密第一密码。第二设备确定密码算法套件之后,以确定的psk为密钥,以及根据密码算法套件中的对称加密算法解密cipher#1得到id#1。进一步地,第二设备判断解密cipher#1得到的id#1与认证请求信息中的id#1是否一致,如果不一致,则认证失败,如果一致,则继续执行后续的认证过程。s810,第二设备计算第二密码。第二设备构造msg#2,msg#2的内容为{id#2||random#2};进一步地,第二设备以psk为密钥,根据密码算法套件中的对称加密算法对msg#2进行加密,生成cipher#2,cipher#2=encpsk(id#2||random#2)。其中,“||”表示连接,encpsk()表示以psk为密钥,以对称加密算法加密。s811,第二设备向第一设备发送认证响应信息。认证响应信息中包括:id#2、temppk#2、cipher#2。s814,第一设备解密第二密码。第一设备以确定的psk为密钥,以及根据密码算法套件中的对称加密算法解密cipher#2得到id#2。进一步地,第二设备判断解密cipher#2得到的id#2与认证响应信息中的id#2是否一致,如果不一致,则认证失败,如果一致,则继续执行后续的认证过程。本申请实施例通过将密码算法套件与设备的标识信息对应的方式,使得第一设备和第二设备可以根据保存的映射关系确定通信过程中使用的密码算法套件,从而省去了原有tls协议和dtls协议中密码算法套件协商过程,使得第一设备和第二设备在握手过程中,不需要传递设备支持的密码算法套件列表,从而减小了握手过程中传输的数据量,提高了传输可靠性和通信效率。以及,确定了密码算法套件之后,基于预存的psk可以生成cipher来代替设备证书。由于cipher的长度远小于设备证书,因此大大减小了握手交互过程中的交互数据量,提高了握手效率和可靠性。此外,使用cipher代替设备证书之后,设备不再需要对设备证书中的根签名进行验签,而是变成了对cipher进行对称加密解密运算。而对称加密解密运算速度远远高于验签速度,因此可以提高握手效率。此外,在会话密钥协商过程中,使用临时公私钥对,可以满足前向安全性需求。以上,结合图5至图12详细说明了本申请实施例提供的通信的方法。以下,结合图13至图14详细说明本申请实施例提供的装置。图13是本申请实施例提供的通信装置1000的示意性框图。如图所示,该通信装置1000可以包括:收发单元1010和处理单元1020。在一种可能的设计中,该通信装置1000可对应于上文方法实施例中的第一设备。应理解,该通信装置1000可以包括用于执行图5至图7中的方法500、图10中的方法600、图11中的方法700以及图12中的方法800中的第一设备执行的方法的单元。并且,该通信装置1000中的各单元和上述其他操作和/或功能分别为了实现图5至图7中的方法500、图10中的方法600、图11中的方法700以及图12中的方法800中的第一设备执行的相应流程。应理解,各单元执行上述相应步骤的具体过程在上述方法实施例中已经详细说明,为了简洁,在此不再赘述。在另一种可能的设计中,该通信装置1000可对应于上文方法实施例中的第二设备。应理解,该通信装置1000可以包括用于执行图5至图7中的方法500、图10中的方法600、图11中的方法700以及图12中的方法800的第二设备执行的方法的单元。并且,该通信装置1000中的各单元和上述其他操作和/或功能分别为了实现图5至图7中的方法500、图10中的方法600、图11中的方法700以及图12中的方法800中的第二设备执行的相应流程。应理解,各单元执行上述相应步骤的具体过程在上述方法实施例中已经详细说明,为了简洁,在此不再赘述。应理解,该通信装置1000中的收发单元1010可对应于图14中示出的通信装置2000中的收发器2010,该通信装置1000中的处理单元1020可对应于图14中示出的通信装置2000中的处理器2020。图14是本申请实施例提供的通信装置2000的示意性框图。如图所示,该通信装置2000可以包括:处理器2020,还可以包括收发器2010和存储器2030。该处理器2020与存储器2030耦合,用于执行存储器中存储的指令,以控制收发器2010发送信号和/或接收信号。应理解,上述处理器2020和存储器2030可以合成一个处理装置,处理器2020用于执行存储器2030中存储的程序代码来实现上述功能。具体实现时,该存储器2030也可以集成在处理器2020中,或者独立于处理器2020。在一种可能的设计中,该通信装置2000可对应于上文方法实施例中的第一设备。具体地,该通信装置2000可以包括用于执行图5至图7中的方法500、图10中的方法600、图11中的方法700以及图12中的方法800中的第一设备执行的方法的单元。并且,该通信装置2000中的各单元和上述其他操作和/或功能分别为了实现图5至图7中的方法500、图10中的方法600、图11中的方法700以及图12中的方法800中第一设备执行的相应流程。应理解,各单元执行上述相应步骤的具体过程在上述方法实施例中已经详细说明,为了简洁,在此不再赘述。在一种可能的设计中,该通信装置2000可对应于上文方法实施例中的第二设备。具体地,该通信装置2000可以包括用于执行图5至图7中的方法500、图10中的方法600、图11中的方法700以及图12中的方法800中的第二设备执行的方法的单元。并且,该通信装置2000中的各单元和上述其他操作和/或功能分别为了实现图5至图7中的方法500、图10中的方法600、图11中的方法700以及图12中的方法800中第二设备执行的相应流程。应理解,各单元执行上述相应步骤的具体过程在上述方法实施例中已经详细说明,为了简洁,在此不再赘述。根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行图5至图7以及图10至图12所示实施例中任意一个实施例的方法。根据本申请实施例提供的方法,本申请还提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行图5至图7以及图10至图12所示实施例中任意一个实施例的方法。根据本申请实施例提供的方法,本申请还提供一种系统,该系统包括前述的第一设备和第二设备。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digitalvideodisc,dvd))、或者半导体介质(例如,固态硬盘(solidstatedisk,ssd))等。上述各个装置实施例中各网元可以和方法实施例中的各网元完全对应,由相应的单元执行相应的步骤,例如收发单元(收发器)执行方法实施例中接收或发送的步骤,除发送、接收外的其它步骤可以由处理单元(处理器)执行。具体单元的功能可以参考相应的方法实施例。其中,处理器可以为一个或多个。应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。在本说明书中使用的术语“单元”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域:
的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。当前第1页1 2 3 
技术特征:1.一种通信的方法,其特征在于,包括:
第二设备接收来自第一设备的认证请求信息,所述认证请求信息包括所述第一设备的标识信息;
所述第二设备根据第一映射关系确定与所述第一设备的标识信息对应的密码算法套件,所述第一映射关系用于指示至少一个设备的标识信息与至少一个密码算法套件之间的对应关系;
所述第二设备根据所述密码算法套件,生成认证响应信息;
所述第二设备向所述第一设备发送所述认证响应信息。
2.根据权利要求1所述的方法,其特征在于,在所述第二设备向所述第一设备发送认证响应信息之前,所述方法还包括:
所述第二设备确定预先配置的第二列表中包含所述第一设备的标识信息,所述第二列表中包括需要认证的设备的标识信息。
3.根据权利要求1或2所述的方法,其特征在于,所述认证请求信息还包括所述第一设备的第一设备证书和/或所述第一设备使用的第一签名值;和/或
所述认证响应信息还包括所述第二设备的第二设备证书和/或所述第二设备使用的第二签名值。
4.根据权利要求1至3中任一项所述的方法,其特征在于,
所述认证请求信息还包括所述第一设备使用的第一随机数和/或所述第一设备使用的第一临时公钥;
所述认证响应信息还包括所述第二设备使用的第二随机数和/或所述第二设备使用的第二临时公钥。
5.根据权利要求1或2所述的方法,其特征在于,所述认证请求信息还包括第一密码;和/或
所述认证响应信息还包括第二密码,所述第二密码是所述第二设备根据预存的预共享密钥和所述密码算法套件生成的。
6.根据权利要求5所述的方法,其特征在于,所述认证请求信息还包括所述第一设备使用的第一临时公钥;
所述认证响应信息还包括所述第二设备使用的第二临时公钥和所述第二设备的标识信息。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述至少一个密码算法套件中的每个密码算法套件满足前向安全性需求。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备确定与所述第一设备通信使用的报文加密模式,所述报文加密模式包括全加密模式和按需加密模式中的一个。
9.根据权利要求8所述的方法,其特征在于,所述第二设备确定与所述第一设备通信使用的报文加密模式,包括:
所述第二设备根据第二映射关系确定与所述第一设备的标识信息对应的所述报文加密模式,所述第二映射关系用于指示至少一个设备的标识信息与至少一个报文加密模式之间的对应关系。
10.根据权利要求8或9所述的方法,其特征在于,在所述报文加密模式是按需加密模式的情况下时,所述方法还包括:
所述第二设备生成通信报文,所述通信报文包括以下字段:明文标识、明文数据、密文标识、密文数据。
11.根据权利要求10所述的方法,其特征在于,所述明文数据中包含所述密文数据的流加密密钥生成种子。
12.一种通信的方法,其特征在于,包括:
第一设备根据第三映射关系确定与第二设备的标识信息对应的密码算法套件,所述第三映射关系用于指示至少一个设备的标识信息与至少一个密码算法套件之间的对应关系;
所述第一设备根据所述密码算法套件生成认证请求信息,所述认证请求信息包括所述第一设备的标识信息;
所述第一设备向所述第二设备发送所述认证请求信息;
所述第一设备接收来自所述第二设备的认证响应信息。
13.根据权利要求12所述的方法,其特征在于,在所述第一设备向所述第二设备发送所述认证请求信息之前,所述方法还包括:
所述第一设备确定预先配置的第一列表中包含所述第二设备的标识信息,所述第一列表中包括需要认证的设备的标识信息。
14.根据权利要求12或13所述的方法,其特征在于,所述认证请求信息还包括所述第一设备的设备证书和/或所述第一设备使用的第一签名值;和/或
所述认证响应信息还包括所述第二设备的第二设备证书和/或所述第二设备使用的第二签名值。
15.根据权利要求12或13所述的方法,其特征在于,所述认证请求信息还包括第一密码,所述第一密码是所述第一设备根据预存的预共享密钥和所述密码算法套件生成的;和/或
所述认证响应信息还包括第二密码。
16.根据权利要求15所述的方法,其特征在于,所述认证请求信息还包括所述第一设备使用的第一临时公钥;
所述认证响应信息还包括所述第二设备使用的第二临时公钥和所述第二设备的标识信息。
17.根据权利要求12至14中任一项所述的方法,其特征在于,所述认证请求信息还包括所述第一设备使用的第一随机数和/或所述第一设备使用的第一临时公钥;
所述认证响应信息还包括所述第二设备使用的第二随机数和/或所述第二设备使用的第二临时公钥。
18.根据权利要求12至17中任一项所述的方法,其特征在于,所述至少一个密码算法套件中的每个密码算法套件满足前向安全性需求。
19.根据权利要求12至18中任一项所述的方法,其特征在于,所述方法还包括:
所述第一设备确定与所述第二设备通信使用的报文加密模式,所述报文加密模式包括全加密模式和按需加密模式中的一个。
20.根据权利要求19所述的方法,其特征在于,所述第一设备确定与所述第二设备通信使用的报文加密模式,包括:
所述第一设备根据第四映射关系确定与所述第二设备的标识信息对应的所述报文加密模式,所述第四映射关系用于指示至少一个设备的标识信息与至少一个报文加密模式之间的对应关系。
21.根据权利要求19或20所述的方法,其特征在于,在所述报文加密模式是按需加密模式的情况下,所述方法还包括:
所述第一设备生成通信报文,所述通信报文包括以下字段:明文标识、明文数据、密文标识、密文数据。
22.根据权利要求21所述的方法,其特征在于,所述明文数据中包含所述密文数据的流加密密钥生成种子。
23.一种通信装置,其特征在于,包括用于实现如权利要求1至11中任一项所述的方法的单元。
24.一种通信装置,其特征在于,包括用于实现如权利要求12至22中任一项所述的方法的单元。
25.一种通信装置,其特征在于,包括:
处理器,用于执行存储器中存储的计算机指令,以使得所述通信装置执行:如权利要求1至11中任一项所述的方法。
26.一种通信装置,其特征在于,包括:
处理器,用于执行存储器中存储的计算机指令,以使得所述通信装置执行:如权利要求12至22中任一项所述的方法。
27.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被执行时,以使得如权利要求1至11中任一项所述的方法被执行。
28.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被执行时,以使得如权利要求12至22中任一项所述的方法被执行。
技术总结本申请提供了一种通信的方法和通信装置。该方法包括:第二设备接收来自第一设备的认证请求信息,该认证请求信息包括该第一设备的标识信息;该第二设备根据第一映射关系确定与该第一设备的标识信息对应的密码算法套件,该第一映射关系用于指示至少一个设备的标识信息与至少一个密码算法套件之间的对应关系;该第二设备根据该密码算法套件,生成认证响应信息;该第二设备向该第一设备发送该认证响应信息。基于本申请,可以提高两个设备的认证过程的传输可靠性和通信效率。
技术研发人员:郭志鹏
受保护的技术使用者:华为技术有限公司
技术研发日:2020.05.15
技术公布日:2021.08.03