CN108322464B - 一种密钥验证方法及设备 - Google Patents

一种密钥验证方法及设备 Download PDF

Info

Publication number
CN108322464B
CN108322464B CN201810097026.0A CN201810097026A CN108322464B CN 108322464 B CN108322464 B CN 108322464B CN 201810097026 A CN201810097026 A CN 201810097026A CN 108322464 B CN108322464 B CN 108322464B
Authority
CN
China
Prior art keywords
host
public key
key
encrypted
access device
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
CN201810097026.0A
Other languages
English (en)
Other versions
CN108322464A (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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201810097026.0A priority Critical patent/CN108322464B/zh
Publication of CN108322464A publication Critical patent/CN108322464A/zh
Application granted granted Critical
Publication of CN108322464B publication Critical patent/CN108322464B/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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these

Abstract

本申请实施例公开了一种密钥验证方法及设备,涉及通信技术领域,解决了在密钥协商过程中,由于中间人攻击导致信息泄露的问题。具体方案为:第一主机获取与第二主机协商的公共密钥,并采用预设算法对该公共密钥进行加密,获得第一加密后的公共密钥,第一主机接收第二主机通过第二接入设备发送的包括有第二加密后的公共密钥和第一指示信息的第一密钥验证报文,并根据第一加密后的公共密钥与第二加密后的公共密钥进行密钥验证,第一指示信息用于指示第二接入设备,通过与第一主机之间的除协商路径外的其他任意一条路径向第一主机发送第一密钥验证报文。本申请实施例用于抵抗中间人攻击。

Description

一种密钥验证方法及设备
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种密钥验证方法及设备。
背景技术
随着因特网规模以及用户数量的逐年增加,各种网络服务层出不穷。但是由于网络的开放性和匿名性,使得网络安全问题日益突出。为了保护网络安全,目前已经有标准化的加密技术和认证技术,例如因特网安全协议(internet protocol security,IPSec)。在使用IPSec时,需要通信双方在发送报文之前,协商加密报文所用的密钥。
在现有技术中,迪菲-赫尔曼(Diffie-Hellman,DH)算法可以解决通信双方协商密钥的问题。通信双方(如,第一主机和第二主机)采用DH算法协商公共密钥的过程为:第一主机可以先与第二主机协商一个大素数p和整数g,其中,整数g是大素数p的一个原根(能够满足g对p取余、g2对p取余、.....、gp-1对p取余的结果各不相同的g,便是p的一个原根)。然后第一主机可以获取整数a,a大于1且小于p-1,并采用公式:X=ga mod(p),计算公开密钥X,此时,第一主机可以向第二主机发送包括有公开密钥X的密钥交换报文。同理,第二主机也可以获取整数b(b大于1且小于p-1),并采用公式:Y=gb mod(p),计算公开密钥Y,且向第一主机发送包括有公开密钥Y的密钥交换报文。这样,第一主机便可以在接收到第二主机发送的包括有公开密钥Y的密钥交换报文之后,根据公式:K=gaY=gab mod(p),计算公开密钥K。第二主机也可以在接收到第一主机发送的包括有公开密钥X的密钥报文之后,根据公式:K=gbX=gab mod(p),计算公开密钥K。
但是,通信双方在协商密钥的过程中,如果受到中间人攻击的话,则该攻击者能够获取到第一主机向第二主机发送的X、g、p、第一主机的身份等信息,从而生成新的公开密钥Z=gc mod(p),其中,c为大于1且小于p-1的整数,并使用第一主机的身份向第二主机发送公开密钥Z,此时第二主机生成的公共密钥为K1=gbZ=gbc mod(p)。同理,攻击者也可以使用第二主机的身份向第一主机发送公开密钥Z,此时,第一主机生成的公开密钥为K2=gaZ=gac mod(p)。这样,当第一主机与第二主机进行通信时,该攻击者便可以获取双方通信的数据,从而造成信息的泄露。
发明内容
本申请提供一种密钥验证方法及设备,解决了在密钥协商过程中,由于中间人攻击导致信息泄露的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种密钥验证方法,该方法可以包括:第一主机获取与第二主机协商的公共密钥,并采用预设算法对获取的该公共密钥进行加密,获得第一加密后的公共密钥,且第一主机接收第二主机通过第二接入设备发送的包括有第二加密后的公共密钥和第一指示信息的第一密钥验证报文,并根据第一加密后的公共密钥和第二加密后的公共密钥进行密钥验证。其中,第二加密后的公共密钥是第二主机采用预设算法对自身获取到的公共密钥进行加密得到的。第一指示信息用于指示第二接入设备,通过与第一主机之间的除协商路径外的其他任意一条路径向第一主机发送第一密钥验证报文,协商路径为第一主机与第二主机协商公共密钥的路径。第二主机接入第二接入设备。
本申请提供的密钥验证方法,在通信双方,如第一主机和第二主机采用DH算法协商好公共密钥之后,由于第一主机可以通过对自身获取的第一加密后的公共密钥和从第二主机接收到的第二加密后的公共密钥进行验证,来判断自身使用的公共密钥和第二主机使用的公共密钥是否相同,以此来验证第一主机和第二主机在协商公共密钥的过程中是否存在中间人的攻击,从而避免了信息的泄露,确保了通信安全。
结合第一方面,在一种可能的实现方式中,第一主机根据第一加密后的公共密钥和第二加密后的公共密钥进行密钥验证,具体的可以包括:第一主机判断第一加密后的公共密钥与第二加密后的公共密钥是否相同。如果确定第一加密后的公共密钥与第二加密后的公共密钥相同,则第一主机确定自身获取的公共密钥与第二主机获取的公共密钥相同;如果确定第一加密后的公共密钥与第二加密后的公共密钥不相同,则第一主机确定自身获取的公共密钥与第二主机获取的公共密钥不相同。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,还可以包括:第一主机在确定自身获取的公共密钥与第二主机获取的公共密钥相同时,采用该公共密钥对发送至第二主机的数据进行加密。第一主机在确定自身获取的公共密钥与第二主机获取的公共密钥不相同时,与第二主机重新协商公共密钥。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,第一主机与第二主机重新协商公共密钥,具体的可以包括:第一主机向第一接入设备发送包括有第二指示信息和第一公开密钥的第一密钥交换报文,并接收第二主机发送的包括有第二公开密钥的第二密钥交换报文,且根据第一公开密钥和第二公开密钥,获取重新协商的公共密钥。其中,第二指示信息用于指示第一接入设备通过除协商路径外的其他任意一条路径向第二主机发送第一密钥交换报文。第一主机接入第一接入设备。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,预设算法可以为消息摘要算法第五版(message digest algorithm,MD5)。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,在第一主机获得第一加密后的公共密钥之后,还可以包括:向第一接入设备发送第二密钥验证报文,该第二密钥验证报文中包括第一加密后的公共密钥和第三指示信息。其中,该第三指示信息用于指示第一接入设备通过除协商路径外的其他任意一条路径向第二主机发送第二密钥验证报文。
第二方面,提供一种第一主机,该第一主机可以包括:获取单元、加密单元、接收单元和验证单元。获取单元,用于获取与第二主机协商的公共密钥。加密单元,用于采用预设算法对获取单元获取的公共密钥进行加密,获得第一加密后的公共密钥。接收单元,用于接收第二主机通过第二接入设备发送的第一密钥验证报文,该第一密钥验证报文中包括第二加密后的公共密钥和第一指示信息,第二加密后的公共密钥是第二主机采用预设算法对自身获取到的公共密钥进行加密得到的,第一指示信息用于指示第二接入设备,通过与第一主机之间的除协商路径外的其他任意一条路径向第一主机发送该第一密钥验证报文,协商路径为第一主机与第二主机协商公共密钥的路径,第二主机接入第二接入设备。验证单元,用于根据第一加密后的公共密钥与第二加密后的公共密钥进行密钥验证。
结合第二方面,在一种可能的实现方式中,验证单元,具体用于:判断第一加密后的公共密钥与第二加密后的公共密钥是否相同;如果确定第一加密后的公共密钥与第二加密后的公共密钥相同,则确定自身获取的公共密钥与第二主机获取的公共密钥相同;如果确定第一加密后的公共密钥与第二加密后的公共密钥不相同,则确定自身获取的公共密钥与第二主机获取的公共密钥不相同。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,第一主机还可以包括:协商单元。加密单元,还用于在确定自身获取的公共密钥与第二主机获取的公共密钥相同时,采用该公共密钥对发送至第二主机的数据进行加密。协商单元,用于在确定自身获取的公共密钥与第二主机获取的公共密钥不相同时,与第二主机重新协商公共密钥。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,协商单元,具体用于:向第一接入设备发送第一密钥交换报文,该第一密钥交换报文中包括第二指示信息和第一公开密钥,第二指示信息用于指示第一接入设备通过除协商路径外的其他任意一条路径向第二主机发送该第一密钥交换报文,第一主机接入第一接入设备;接收第二主机发送的第二密钥交换报文,该第二密钥交换报文中包括第二公开密钥;根据第一公开密钥和第二公开密钥,获取重新协商的公共密钥。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,预设算法为MD5。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,第一主机还可以包括:发送单元。发送单元,用于向第一接入设备发送第二密钥验证报文,该第二密钥验证报文中包括第一加密后的公共密钥和第三指示信息。其中,第三指示信息用于指示第一接入设备通过除协商路径外的其他任意一条路径向第二主机发送第二密钥验证报文。
具体的实现方式可以参考第一方面或第一方面的可能的实现方式提供的密钥验证方法中第一主机的行为功能。
第三方面,提供一种第一主机,该第一主机包括:至少一个处理器、存储器、通信接口和通信总线。处理器与存储器、通信接口通过通信总线连接,存储器用于存储计算机执行指令,当第一主机运行时,处理器执行存储器存储的计算机执行指令,以使第一主机执行如第一方面或第一方面的可能的实现方式中任意一项的密钥验证方法。
第四方面,提供一种计算机存储介质,其上存储有计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如第一方面或第一方面的可能的实现方式中任意一项的密钥验证方法。
附图说明
图1为本申请实施例提供的一种可以应用本申请实施例的系统架构的简化示意图;
图2为本申请实施例提供的一种主机的组成示意图;
图3为本申请实施例提供的一种密钥验证方法的流程图;
图4为本申请实施例提供的另一种主机的组成示意图;
图5为本申请实施例提供的另一种主机的组成示意图;
图6为本申请实施例提供的另一种主机的组成示意图。
具体实施方式
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本申请实施例提供的一种可以应用本申请实施例的系统架构的简化示意图,如图1所示,该系统架构可以包括:第一主机11、第一接入设备12、第二主机13、第二接入设备14和至少一个路由器15。
其中,第一主机11可以通过长期演进(long term evolution,LTE)、无线保真(wireless fidelity,WiFi)、有线接入等多种接入方式接入第一接入设备12。第二主机13可以通过LTE、WiFi、有线接入等多种接入方式接入第二接入设备14。且,当第一主机11需要向第二主机13发送数据时,第一主机11可以通过多条路径,将该数据经由第一接入设备12、至少一个路由器15和第二接入设备14发送至第二主机13。
示例性的,假设至少一个路由器15包括四个路由器,分别为路由器1、路由器2、路由器3和路由器4,则第一主机11可以通过路径1,将数据经由第一接入设备12、路由器1、路由器2和第二接入设备14发送至第二主机13,也可以通过路径2,将数据经由第一接入设备12、路由器3、路由器4和和第二接入设备14发送至第二主机13。
第一主机11和第二主机13可以是无线终端也可以是有线终端。无线终端是自身可以提供蓝牙(bluetooth,BT)、WiFi、近距离无线通讯技术(near field communication,NFC)、红外线(lnfrared)等各种可用网络连接能力的无线终端。无线终端可以是向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,也可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置。
第一接入设备12和第二接入设备14支持多种接入方式,如LTE、WiFi、有线接入等接入方式,用于支持密钥验证机制,如,用于在接收到密钥验证报文后,根据密钥验证报文中包括的指示信息,通过与通信对方之间的除协商路径外的其他任意一条路径向通信对方发送该密钥验证报文,协商路径为通信双方协商公共密钥的路径。
至少一个路由器15,用于转发通信双方的数据,如用于密钥验证报文和密钥交换报文的转发。
图2为本申请实施例提供的一种主机的组成示意图,该主机可以是本申请实施例中的第一主机,也可以是本申请实施例中的第二主机,如图2所示,该主机可以包括:至少一个处理器21、存储器22、通信接口23和通信总线24。
其中,处理器21是主机的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个数字信号处理器(digital signalprocessor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。
在具体的实现中,作为一种实施例,处理器21可以包括一个或多个CPU,例如图2中所示的CPU0和CPU1。且,作为一种实施例,主机可以包括多个处理器,例如图2中所示的处理器21和处理器25。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器22可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器22可以是独立存在,通过通信总线24与处理器21相连接。存储器22也可以和处理器21集成在一起。
在具体的实现中,存储器22,用于存储本申请中的数据和执行本申请的软件程序。处理器21可以通过运行或执行存储在存储器22内的软件程序,以及调用存储在存储器22内的数据,执行主机的各种功能。
通信接口23,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如接入设备、无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信接口23可以包括接收单元实现接收功能,以及发送单元实现发送功能。
通信总线24,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
为了解决在密钥协商过程中,由于中间人攻击导致信息泄露的问题,在通信双方进行了公共密钥的协商之后,便可以执行本申请实施例提供的密钥验证方法,如图3所示,该方法可以包括:
301、第一主机获取与第二主机协商的公共密钥,并采用预设算法对公共密钥进行加密,获得第一加密后的公共密钥。
其中,第一主机可以在获取到与第二主机协商的公共密钥之后,采用预设算法对获取的公共密钥进行加密,得到第一加密后的公共密钥。且在该第一加密后的公共密钥的传输过程中,攻击者是无法对第一加密后的公共密钥进行解密得到公共密钥的。
需要说明的是,在本申请实施例中,对公共密钥进行加密的预设算法可以为MD5。第一主机可以采用MD5对自身获取的公共密钥进行加密,得到加密后的序列,且该加密后的序列是无法被攻击者解密的。
302、第二主机获取与第一主机协商的公共密钥,并采用预设算法对公共密钥进行加密,获得第二加密后的公共密钥。
需要说明的是,在本申请实施例中,对于第二主机得到第二加密后的公共密钥的具体描述,可以参考步骤301中第一主机得到第一加密后的公共密钥的相关描述,在此不再赘述。
303、第二主机向第二接入设备发送第一密钥验证报文。
其中,第一密钥验证报文中包括第二加密后的公共密钥和第一指示信息,该第一指示信息用于指示第二接入设备,通过与第一主机之间的除协商路径外的其他任意一条路径向第一主机发送该第一密钥验证报文。协商路径是指第一主机与第二主机协商公共密钥的路径。
需要说明的是,在具体的实现中,第一指示信息可以是在第一密钥验证报文的报头段添加的特定字节,该特定字节表明该报文为密钥验证报文。
304、第二接入设备接收第二主机发送的第一密钥验证报文。
305、第二接入设备根据第一密钥验证报文,通过与第一主机之间的除协商路径外的其他任意一条路径向第一主机发送第一密钥验证报文。
其中,第二接入设备在接收到第二主机发送的第一密钥验证报文之后,可以根据第一密钥验证报文中包括的第一指示信息,避开在密钥交换阶段记录的协商路径,通过与第一主机之间的其他任意一条路径,经由第一接入设备,向第一主机发送第一密钥验证报文。
示例性的,结合图1,假设协商路径为路径1,那么第二接入设备可以根据第一密钥验证报文中包括的第一指示信息,避开路径1,采用其他任意一条路径,如路径2向第一主机发送该第一密钥验证报文。
306、第一主机接收第一密钥验证报文。
其中,在第二接入设备根据第一密钥验证报文,经由第一接入设备向第一主机发送了第一密钥验证报文之后,第一主机便可以接收第一接入设备发送的第一密钥验证报文。
307、第一主机根据第一加密后的公共密钥和第二加密后的公共密钥进行密钥验证。
其中,第一主机在接收到第一密钥验证报文之后,可以通过判断步骤301得到的第一加密后的公共密钥与接收到的第二加密后的公共密钥是否相同,来确定第一主机使用的公共密钥与第二主机使用的公共密钥是否相同,进而确定在密钥协商过程中是否存在中间人攻击。如果确定第一加密后的公共密钥与第二加密后的公共密钥相同,则表明第一主机使用的公共密钥与第二主机使用的公共密钥相同,进而说明双方在协商密钥的过程中没有受到中间人攻击,此时可以执行以下步骤308。如果确定第一加密后的公共密钥与第二加密后的公共密钥不相同,则表明第一主机使用的公共密钥与第二主机使用的公共密钥不相同,进而说明双方在协商密钥的过程中受到了中间人的攻击,此时可以执行以下步骤309。
308、第一主机在确定第一加密后的公共密钥与第二加密后的公共密钥相同时,采用公共密钥对发送至第二主机的数据进行加密。
309、第一主机在确定第一加密后的公共密钥与第二加密后的公共密钥不同时,与第二主机重新协商公共密钥。
其中,如果确定第一加密后的公共密钥与第二加密后的公共密钥不同,则第一主机可以与第二主机重新协商公共密钥。
具体的,在第一主机与第二主机已经协商好整数g和大素数p的基础上,第一主机可以先向第一接入设备发送包括有第二指示信息和第一公开密钥的第一密钥交换报文,其中,第二指示信息用于指示第一接入设备通过除协商路径外的其他任意一条路径向第二主机发送第一密钥验证报文,第一公开密钥为X’=gm mod(p),m为大于1且小于p-1的整数,且m不同于上次协商密钥时的a。第一主机还可以接收第二主机经由第二接入设备和第一接入设备发送的第二密钥交换报文,该第二密钥交换报文中包括第二公开密钥:Y’=gn mod(p),n为大于1且小于p-1的整数,且n不同于上次协商密钥时的b。这样,第一主机便可以根据第一公开密钥和第二公开密钥,得到重新协商的公共密钥K’=X’*Y’。
需要说明的是,在本申请实施例中,通信双方,即第一主机和第二主机均需要进行密钥验证,步骤301-步骤309仅是以第一主机进行密钥验证为例进行说明的。关于第二主机进行密钥验证,可以在执行完步骤301之后,执行以下步骤310-步骤316。且步骤310-步骤316的具体描述可以参考步骤303-步骤309的相关描述,在此不再一一赘述。
310、第一主机向第一接入设备发送第二密钥验证报文。
311、第一接入设备接收第一主机发送的第二密钥验证报文。
312、第一接入设备根据第二密钥验证报文,通过除协商路径外的其他任意一条路径向第二主机发送第二密钥验证报文。
313、第二主机接收第二密钥验证报文。
314、第二主机根据第一加密后的公共密钥和第二加密后的公共密钥进行密钥验证。
315、第二主机在确定第一加密后的公共密钥与第二加密后的公共密钥相同时,采用公共密钥对发送至第一主机的数据进行加密。
316、第二主机在确定第一加密后的公共密钥与第二加密后的公共密钥不同时,与第一主机重新协商公共密钥。
需要说明的是,在本申请实施例中,如果第一主机和第二主机重新进行了密钥的协商之后,可以继续采用本申请提供的密钥验证方法验证双方使用的重新协商的公共密钥是否相同,以保证通信安全。
本申请提供的密钥验证方法,在通信双方,如第一主机和第二主机采用DH算法协商好公共密钥之后,由于第一主机可以通过对自身获取的第一加密后的公共密钥和从第二主机接收到的第二加密后的公共密钥进行验证,来判断自身使用的公共密钥和第二主机使用的公共密钥是否相同,以此来验证第一主机和第二主机在协商公共密钥的过程中是否存在中间人的攻击,因此本申请的密钥验证方法不再依赖于第三方,不仅减小了密钥协商的运行成本,且通信安全不再受制于第三方。
上述主要从各个网元交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,各个网元,如主机为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对主机进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图4示出了上述实施例中涉及的主机的另一种可能的组成示意图,如图4所示,该主机可以包括:获取单元41、加密单元42、接收单元43和验证单元44。
其中,获取单元41,用于支持主机执行图3所示的密钥验证方法中的步骤301所述的获取与第二主机协商的公共密钥、步骤302所述的获取与第一主机协商的公共密钥。
加密单元42,用于支持主机执行图3所示的密钥验证方法中的步骤301所述的采用预设算法对公共密钥进行加密,获得第一加密后的公共密钥、步骤302所述的采用预设算法对公共密钥进行加密,获得第二加密后的公共密钥、步骤308、步骤315。
接收单元43,用于支持主机执行图3所示的密钥验证方法中的步骤306、步骤313。
验证单元44,用于支持主机执行图3所示的密钥验证方法中的步骤307、步骤314。
在本申请实施例中,进一步的,如图5所示,主机还可以包括:协商单元45和发送单元46。
协商单元45,用于支持主机执行图3所示的密钥验证方法中的步骤309、步骤316。
发送单元46,用于支持主机执行图3所示的密钥验证方法中的步骤303、步骤310。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的主机,用于执行上述密钥验证方法,因此可以达到与上述密钥验证方法相同的效果。
在采用集成的单元的情况下,图6示出了上述实施例中所涉及的主机的另一种可能的组成示意图。如图6所示,该主机包括:处理模块51和通信模块52。
处理模块51用于对主机的动作进行控制管理,例如,处理模块51用于支持主机执行图3中的步骤301、步骤302、步骤307、步骤308、步骤309、步骤314、步骤315、步骤316,和/或用于本文所描述的技术的其它过程。通信模块52用于支持主机与其他网络实体,如接入设备的通信。例如,通信模块52用于支持主机执行图3中的步骤303、步骤306、步骤310、步骤313。主机还可以包括存储模块53,用于存储主机的程序代码和数据。
其中,处理模块51可以是图2中的处理器。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块52可以是图2中的通信接口。存储模块53可以是图2中的存储器。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种密钥验证方法,其特征在于,所述方法包括:
第一主机获取与第二主机协商的公共密钥;
所述第一主机采用预设算法对所述公共密钥进行加密,获得第一加密后的公共密钥;
所述第一主机接收所述第二主机通过第二接入设备发送的第一密钥验证报文,所述第一密钥验证报文中包括第二加密后的公共密钥和第一指示信息,所述第二加密后的公共密钥是所述第二主机采用所述预设算法对自身获取到的公共密钥进行加密得到的,所述第一指示信息用于指示所述第二接入设备,通过与所述第一主机之间的除协商路径外的其他任意一条路径向所述第一主机发送所述第一密钥验证报文,所述协商路径为所述第一主机与所述第二主机协商所述公共密钥的路径,所述第二主机接入所述第二接入设备;
所述第一主机根据所述第一加密后的公共密钥和所述第二加密后的公共密钥进行密钥验证。
2.根据权利要求1所述的方法,其特征在于,所述第一主机根据所述第一加密后的公共密钥和所述第二加密后的公共密钥进行密钥验证,包括:
所述第一主机判断所述第一加密后的公共密钥与所述第二加密后的公共密钥是否相同;
如果确定所述第一加密后的公共密钥与所述第二加密后的公共密钥相同,则所述第一主机确定所述公共密钥与所述第二主机获取的公共密钥相同;
如果确定所述第一加密后的公共密钥与所述第二加密后的公共密钥不相同,则所述第一主机确定所述公共密钥与所述第二主机获取的公共密钥不相同。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述第一主机在确定所述公共密钥与所述第二主机获取的公共密钥相同时,采用所述公共密钥对发送至所述第二主机的数据进行加密;
所述第一主机在确定所述公共密钥与所述第二主机获取的公共密钥不相同时,与所述第二主机重新协商公共密钥。
4.根据权利要求3所述的方法,其特征在于,所述第一主机与所述第二主机重新协商公共密钥,包括:
所述第一主机向第一接入设备发送第一密钥交换报文,所述第一密钥交换报文中包括第二指示信息和第一公开密钥,所述第二指示信息用于指示所述第一接入设备通过除所述协商路径外的其他任意一条路径向所述第二主机发送所述第一密钥交换报文,所述第一主机接入所述第一接入设备;
所述第一主机接收所述第二主机发送的第二密钥交换报文,所述第二密钥交换报文中包括第二公开密钥;
所述第一主机根据所述第一公开密钥和所述第二公开密钥,获取重新协商的公共密钥。
5.根据权利要求4所述的方法,其特征在于,
所述预设算法为消息摘要算法第五版MD5。
6.根据权利要求5所述的方法,其特征在于,在所述获得第一加密后的公共密钥之后,还包括:
所述第一主机向所述第一接入设备发送第二密钥验证报文,所述第二密钥验证报文中包括所述第一加密后的公共密钥和第三指示信息,所述第三指示信息用于指示所述第一接入设备通过除所述协商路径外的其他任意一条路径向所述第二主机发送所述第二密钥验证报文。
7.一种第一主机,其特征在于,所述第一主机包括:获取单元、加密单元、接收单元和验证单元;
所述获取单元,用于获取与第二主机协商的公共密钥;
所述加密单元,用于采用预设算法对所述获取单元获取的所述公共密钥进行加密,获得第一加密后的公共密钥;
所述接收单元,用于接收所述第二主机通过第二接入设备发送的第一密钥验证报文,所述第一密钥验证报文中包括第二加密后的公共密钥和第一指示信息,所述第二加密后的公共密钥是所述第二主机采用所述预设算法对自身获取到的公共密钥进行加密得到的,所述第一指示信息用于指示所述第二接入设备,通过与所述第一主机之间的除协商路径外的其他任意一条路径向所述第一主机发送所述第一密钥验证报文,所述协商路径为所述第一主机与所述第二主机协商所述公共密钥的路径,所述第二主机接入所述第二接入设备;
所述验证单元,用于根据所述第一加密后的公共密钥和所述第二加密后的公共密钥进行密钥验证。
8.根据权利要求7所述的第一主机,其特征在于,所述验证单元,具体用于:
判断所述第一加密后的公共密钥与所述第二加密后的公共密钥是否相同;
如果确定所述第一加密后的公共密钥与所述第二加密后的公共密钥相同,则确定所述公共密钥与所述第二主机获取的公共密钥相同;
如果确定所述第一加密后的公共密钥与所述第二加密后的公共密钥不相同,则确定所述公共密钥与所述第二主机获取的公共密钥不相同。
9.根据权利要求8所述的第一主机,其特征在于,所述第一主机还包括:协商单元;
所述加密单元,还用于在确定所述公共密钥与所述第二主机获取的公共密钥相同时,采用所述公共密钥对发送至所述第二主机的数据进行加密;
所述协商单元,用于在确定所述公共密钥与所述第二主机获取的公共密钥不相同时,与所述第二主机重新协商公共密钥。
10.根据权利要求9所述的第一主机,其特征在于,所述协商单元,具体用于:
向第一接入设备发送第一密钥交换报文,所述第一密钥交换报文中包括第二指示信息和第一公开密钥,所述第二指示信息用于指示所述第一接入设备通过除所述协商路径外的其他任意一条路径向所述第二主机发送所述第一密钥交换报文,所述第一主机接入所述第一接入设备;
接收所述第二主机发送的第二密钥交换报文,所述第二密钥交换报文中包括第二公开密钥;
根据所述第一公开密钥和所述第二公开密钥,获取重新协商的公共密钥。
11.根据权利要求10所述的第一主机,其特征在于,
所述预设算法为消息摘要算法第五版MD5。
12.根据权利要求11所述的第一主机,其特征在于,所述第一主机还包括:发送单元;
所述发送单元,用于向所述第一接入设备发送第二密钥验证报文,所述第二密钥验证报文中包括所述第一加密后的公共密钥和第三指示信息,所述第三指示信息用于指示所述第一接入设备通过除所述协商路径外的其他任意一条路径向所述第二主机发送所述第二密钥验证报文。
13.一种第一主机,其特征在于,所述第一主机包括:至少一个处理器、存储器、通信接口和通信总线;
所述处理器与所述存储器、所述通信接口通过所述通信总线连接,所述存储器用于存储计算机执行指令,当所述第一主机运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述第一主机执行如权利要求1-6中任一项所述的密钥验证方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-6中任一项所述的密钥验证方法。
CN201810097026.0A 2018-01-31 2018-01-31 一种密钥验证方法及设备 Active CN108322464B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810097026.0A CN108322464B (zh) 2018-01-31 2018-01-31 一种密钥验证方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810097026.0A CN108322464B (zh) 2018-01-31 2018-01-31 一种密钥验证方法及设备

Publications (2)

Publication Number Publication Date
CN108322464A CN108322464A (zh) 2018-07-24
CN108322464B true CN108322464B (zh) 2020-11-17

Family

ID=62887656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810097026.0A Active CN108322464B (zh) 2018-01-31 2018-01-31 一种密钥验证方法及设备

Country Status (1)

Country Link
CN (1) CN108322464B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109246148A (zh) * 2018-11-01 2019-01-18 南方电网科学研究院有限责任公司 报文处理方法、装置、系统、设备和计算机可读存储介质
CN113923668B (zh) * 2021-10-11 2023-07-25 中国联合网络通信集团有限公司 识别网络攻击行为的方法、装置、芯片及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039225A (zh) * 2007-04-04 2007-09-19 北京佳讯飞鸿电气有限责任公司 一种分布式协同入侵检测系统数据安全传输的实现方法
CN103179679A (zh) * 2011-12-21 2013-06-26 国民技术股份有限公司 安全通道与开放通道绑定的方法
CN105262737A (zh) * 2015-09-24 2016-01-20 西安电子科技大学 一种基于跳通道模式的抵御ddos攻击的方法
EP3243295A1 (en) * 2015-01-08 2017-11-15 Alibaba Group Holding Limited Quantum key distribution system, method and apparatus based on trusted relay

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305556B2 (en) * 2001-12-05 2007-12-04 Canon Kabushiki Kaisha Secure printing with authenticated printer key
CN101145913B (zh) * 2007-10-25 2010-06-16 东软集团股份有限公司 一种实现网络安全通信的方法及系统
CN101459506B (zh) * 2007-12-14 2011-09-14 华为技术有限公司 密钥协商方法、用于密钥协商的系统、客户端及服务器
CN101521602B (zh) * 2008-02-29 2012-09-05 上海博达数据通信有限公司 利用IKE监测IPSec VPN中通信节点状态的实现方法
CN101582906B (zh) * 2009-06-23 2012-04-18 中国人民解放军信息工程大学 密钥协商方法和装置
CN101631113B (zh) * 2009-08-19 2011-04-06 西安西电捷通无线网络通信股份有限公司 一种有线局域网的安全访问控制方法及其系统
CN102572817B (zh) * 2010-12-21 2015-01-14 普天信息技术研究院有限公司 实现移动通信保密的方法和智能存储卡
US8799647B2 (en) * 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
CN105119832B (zh) * 2015-09-29 2018-01-02 东北大学 基于身份密码学的MIPv6安全移动管理系统及移动认证方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039225A (zh) * 2007-04-04 2007-09-19 北京佳讯飞鸿电气有限责任公司 一种分布式协同入侵检测系统数据安全传输的实现方法
CN103179679A (zh) * 2011-12-21 2013-06-26 国民技术股份有限公司 安全通道与开放通道绑定的方法
EP3243295A1 (en) * 2015-01-08 2017-11-15 Alibaba Group Holding Limited Quantum key distribution system, method and apparatus based on trusted relay
CN105262737A (zh) * 2015-09-24 2016-01-20 西安电子科技大学 一种基于跳通道模式的抵御ddos攻击的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RFID系统密钥无线生成;鲁力;《计算机学报》;20150430;第38卷(第4期);第822-832页 *

Also Published As

Publication number Publication date
CN108322464A (zh) 2018-07-24

Similar Documents

Publication Publication Date Title
CN107959656B (zh) 数据安全保障系统及方法、装置
CN106416121B (zh) 用于签名产生和加密/解密的共模rsa密钥对
CN109479049B (zh) 用于密钥供应委托的系统、设备和方法
CN107659406B (zh) 一种资源操作方法及装置
CN109413645B (zh) 接入认证的方法和装置
CN112740733B (zh) 一种安全接入方法及装置
CN109756447A (zh) 一种安全认证方法及相关设备
WO2012151351A1 (en) Wireless authentication using beacon messages
WO2016200535A1 (en) System, apparatus and method for transferring ownership of a device from manufacturer to user using an embedded resource
KR20130077171A (ko) 서버와 디바이스간 인증방법
WO2010023506A1 (en) Methods, apparatuses, computer program products, and systems for providing secure pairing and association for wireless devices
CN109413123A (zh) 会话保持方法及相关设备
CN112602290B (zh) 一种身份验证方法、装置和可读存储介质
CN108322464B (zh) 一种密钥验证方法及设备
EP3282639B1 (en) Method for operating server and client, server, and client apparatus
CN111357305B (zh) 可移动平台的通信方法、设备、系统及存储介质
CN113923668B (zh) 识别网络攻击行为的方法、装置、芯片及可读存储介质
CN113455032B (zh) 通信方法、通信装置及计算机可读介质
WO2014071885A1 (zh) 一种信息配置方法、设备及系统
JP2008131057A (ja) 暗号プロトコル生成装置、暗号プロトコル生成方法およびプログラム
CN109586901A (zh) 一种密钥更新方法及设备
WO2023130970A1 (zh) 集成可信度量的通信方法和装置
US20240129320A1 (en) Method and device to provide a security level for communication
CN117061115B (zh) 密钥协商方法、装置、计算机设备和计算机可读存储介质
EP4044553A1 (en) Method and device to provide a security level for communication

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