CN102413103A - 一种消息验证方法、系统及设备 - Google Patents

一种消息验证方法、系统及设备 Download PDF

Info

Publication number
CN102413103A
CN102413103A CN2010102907528A CN201010290752A CN102413103A CN 102413103 A CN102413103 A CN 102413103A CN 2010102907528 A CN2010102907528 A CN 2010102907528A CN 201010290752 A CN201010290752 A CN 201010290752A CN 102413103 A CN102413103 A CN 102413103A
Authority
CN
China
Prior art keywords
dhcp
message
equipment
digital certificate
length
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.)
Granted
Application number
CN2010102907528A
Other languages
English (en)
Other versions
CN102413103B (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 CN201010290752.8A priority Critical patent/CN102413103B/zh
Publication of CN102413103A publication Critical patent/CN102413103A/zh
Application granted granted Critical
Publication of CN102413103B publication Critical patent/CN102413103B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例公开了消息验证方法、系统及设备,应用于通信技术领域。本方法实施例中的消息验证方法包括:将第一DHCP设备的数字证书信息和数字签名添加到DHCP协议消息中,若所述数字证书信息为数字证书本身,则该DHCP协议消息的消息长度是第一和第二DHCP设备协商的;并将添加后的DHCP协议消息发送给第二DHCP设备,这样第二DHCP设备验证数字证书的合法性;并在第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并验证第一DHCP设备的数字签名的有效性。提高了IP地址获取过程中的通信安全性。

Description

一种消息验证方法、系统及设备
技术领域
本发明涉及通信技术领域,特别涉及消息验证方法、系统及设备。
背景技术
动态主机设置协议(Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,DHCP服务器可以为网络中安全网关、基站等网络设备分配网络协议(IP)地址如网管IP地址、业务通道上的关键设备的IP地址等,DHCP客户端可以通过DHCP消息向DHCP服务器自动获取IP地址。
在DHCP客户端向服务器自动获取IP地址的过程中:客户端通过发送DHCP发现消息(DISCOVER)给DHCP服务器来获取IP地址。
在现有的IP地址获取过程中,DHCP客户端和服务器之间的通信是通过延迟认证的方法来实现通信安全的,具体地:客户端通过发送给服务器的DHCP发现消息,向服务器指明需要根据相关认证信息进行认证;DHCP服务器会为此客户端选择一个密钥K,然后使用会话密钥K计算消息认证码,并将消息认证码携带在DHCP协议的提供消息(OFFER)中返回给客户端,则DHCP客户端使用本地存储的会话密钥K进行验证。
在上述DHCP客户端获取IP地址的过程中,在服务器与客户端之间通信时,都会使用共享的会话密钥K对接收到的对端消息进行验证,但是在得到会话密钥K的过程中,缺少对DHCP协议消息的安全保护,存在一定的安全隐患。
发明内容
本发明实施例提供消息验证方法、系统及设备,提高了IP地址获取过程中的通信安全性。
一方面,提供了一种消息验证方法,包括:
将第一动态主机设置协议DHCP设备的数字证书信息和数字签名添加到DHCP协议消息中,若所述数字证书信息为数字证书本身,则所述DHCP协议消息的消息长度是第一和第二DHCP设备协商的;
将所述添加后的DHCP协议消息发送给第二DHCP设备,以便所述第二DHCP设备验证所述第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性。
一方面,提供了另一种消息验证方法,包括:
接收第一DHCP设备发送的DHCP协议消息,所述DHCP协议消息中包括所述第一DHCP设备的数字证书信息和数字签名,若所述数字证书信息为数字证书本身,则所述DHCP协议消息的消息长度是第一和第二DHCP设备协商的;
验证第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据所述第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性;或,
将所述DHCP协议消息发送给第二DHCP设备;以便所述第二DHCP设备验证所述第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性。
一方面,提供了一种动态主机设置协议设备,包括:
验证添加单元,用于将第一动态主机设置协议DHCP设备的数字证书信息和数字签名添加到DHCP协议消息中,若所述数字证书信息为数字证书本身,则所述DHCP协议消息的消息长度是第一和第二DHCP设备协商的;
消息发送单元,用于将所述验证添加单元添加后的DHCP协议消息发送给第二DHCP设备,以便所述第二DHCP设备验证所述第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性。
一方面,提供了一种动态主机设置协议中继设备,包括:
第一消息接收单元,用于接收第一DHCP设备发送的DHCP协议消息,所述DHCP协议消息中包括所述第一DHCP设备的数字证书信息和数字签名,若所述数字证书信息为数字证书本身,则所述DHCP协议消息的消息长度是第一和第二DHCP设备协商的;
消息转发单元,用于将所述第一消息接收单元接收的DHCP协议消息发送给第二DHCP设备;以便所述第二DHCP设备验证所述第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性。
一方面,提供另一种动态主机设置协议设备,包括:
第二消息接收单元,用于接收第一DHCP设备发送的DHCP协议消息,所述DHCP协议消息中包括所述第一DHCP设备的数字证书信息和数字签名,若所述数字证书信息为数字证书本身,则所述DHCP协议消息的消息长度是第一和第二DHCP设备协商的;
验证单元,用于验证第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据所述第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性。
一方面,提供一种消息验证系统,包括所述动态主机设置协议设备,和另一种所述的动态主机设置协议设备。
一方面,提供另一种消息验证系统,包括所述动态主机设置协议设备,动态主机设置协议中继设备,另一种所述的动态主机设置协议设备。
本实施例中的消息验证方法包括:将第一DHCP设备的数字证书信息和数字签名添加到DHCP协议消息中,其中如果数字证书信息为数字证书本身,则需要通过第一和第二DHCP设备协商DHCP协议消息的消息长度;并将添加后的DHCP协议消息发送给第二DHCP设备,这样第二DHCP设备验证第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性。这样DHCP设备的通信双方在DHCP协议消息中携带数字证书信息和数字签名,并通过数字证书和数字签名的验证,从而保证通信的DHCP协议消息的安全,由于本实施例中不用进行验证信息的协商,而直接可以根据DHCP协议消息中携带的信息进行验证,提高了IP地址获取过程中的通信安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法实施例提供的一种消息验证方法流程图;
图2是本发明实施例提供的最大DHCP消息大小请求消息格式的示意图;
图3a是本发明方法实施例提供的另一种消息验证方法流程图;
图3b是本发明方法实施例提供的另一种消息验证方法流程图;
图4是本发明方法实施例提供的另一种消息验证方法流程图;
图5a是本发明方法实施例提供的另一种消息验证方法流程图;
图5b是本发明方法实施例提供的另一种消息验证方法流程图;
图5c是本发明方法实施例提供的另一种消息验证方法流程图;
图6a是本发明方法实施例提供的另一种消息验证方法流程图;
图6b是本发明方法实施例提供的另一种消息验证方法流程图;
图6c是本发明方法实施例提供的另一种消息验证方法流程图;
图7是本发明方法实施例提供的另一种消息验证方法流程图;
图8是现有DHCP发现消息中认证相关信息选项格式的示意图;
图9是本发明方法实施例提供的DHCP发现消息中认证相关信息选项格式的示意图;
图10是本发明方法实施例提供的另一种消息验证方法流程图;
图11是本发明方法实施例提供的DHCP发现消息中认证相关信息选项格式的示意图;
图12是本发明方法实施例提供的另一种消息验证方法流程图;
图13是本发明方法实施例提供的另一种消息验证方法流程图;
图14是本发明方法实施例提供的另一种消息验证方法流程图;
图15是本发明方法实施例提供的DHCP发现消息中认证相关信息选项格式的示意图;
图16是本发明方法实施例提供的另一种消息验证方法流程图;
图17是本发明设备实施例提供的动态主机设置协议设备的结构示意图;
图18是本发明设备实施例提供的另一种动态主机设置协议设备的结构示意图;
图19是本发明设备实施例提供的另一种动态主机设置协议设备的结构示意图;
图20是本发明设备实施例提供的动态主机设置协议中继设备的结构示意图;
图21是本发明设备实施例提供的另一种动态主机设置协议中继设备的结构示意图;
图22是本发明设备实施例提供的动态主机设置协议设备的结构示意图;
图23是本发明设备实施例提供的另一种动态主机设置协议设备的结构示意图;
图24是本发明设备实施例提供的另一种动态主机设置协议设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种消息验证方法的流程示意图,本实施例中的方法适用于DHCP服务器和客户端之间获取IP地址过程中的验证方法,包括:
步骤101、将第一动态主机设置协议DHCP设备的数字证书信息和数字签名添加到DHCP协议消息中;
这里第一DHCP设备的数字证书信息是能标识第一DHCP设备身份的证书信息,可以是数字证书本身,这时,DHCP协议消息的消息长度是第一和第二DHCP设备协商的;而数字证书信息也可以是数字证书的地址标识如数字证书的统一资源定位符(URL),这时,DHCP协议消息的消息长度可以不需要第一和第二DHCP设备进行协商,而直接在DHCP协议消息中携带数字证书的地址标识。其中有数字证书有多种格式,如X.509格式的数字证书,具体内容可以包括第一DHCP设备的公钥信息、身份信息、签名算法以及证书中心(CA)使用该证书中心自己的私钥计算的签名,即证书中心的签名等信息。
上述的第一和第二DHCP设备的协商是指:第一DHCP设备与第二DHCP设备之间对允许的消息长度的交互过程,即其中一个设备发送关于消息长度的消息给另一个设备,如果另一个设备默认该消息长度,可以返回确认响应,也可以不返回响应;如果另一个设备允许另一个消息长度,则返回关于另一个消息长度的响应。
而第一DHCP设备的数字签名是对消息摘要进行加密后的信息,这样可以对消息摘要进行保护。本实施例中可以通过以DHCP协议消息的数据为内容进行哈希计算后得到消息摘要,并以第一DHCP设备的私钥为密钥进行加密得到的,具体地,对DHCP协议消息的数据进行哈希计算得到消息摘要或消息散列码,并以第一DHCP设备的私钥对这些消息摘要或消息散列码进行加密形成数字签名。
上述计算过程中的内容不包括DHCP协议消息的中继代理个数(Hops)和DHCP协议消息经过的第一个DHCP中继代理地址的信息(giaddr)。由于在通信双方进行DHCP协议消息的通信过程中,DHCP协议消息中的Hops和giaddr信息是会发生变化的,不将这两个信息计算到数字签名中,能避免通信双方在验证计算时导致的不一致。
DHCP协议消息格式中的选项参数域(以下简称Option),允许厂商定义选项,以提供更多的设定咨询,其长度可变,同时可携带多个选项,每一选项的第一个字节为咨询代码,其后一个字节为该项资料长度,最后为项目内容。DHCP协议消息中的Option可以携带配置信息,一般采用标识长度内容(CLV)方式构成,由不同的选项编码、长度以及值区分。
其中Option90是编号为90的Option,是认证选项,用来进行消息验证的,因此可以将第一DHCP设备的数字证书和数字签名添加到DHCP协议消息的Option90中,以便对端设备进行验证;如果数字证书的信息为数字证书的地址标识,则将可以第一DHCP设备的数字签名添加到DHCP协议消息的Option90中;并将第一DHCP设备的数字证书的地址标识添加到DHCP协议消息的Option98中;也可以将数字签名和数字证书信息添加到DHCP协议消息中其他新定义的Option中,或其他合适的现有编号的Option中,具体添加到哪个编号的Option中并不能造成对本发明的限制。
除了上述添加的第一DHCP设备的数字证书信息和数字签名之外,还需要在DHCP协议消息中添加其他必要的信息,如第一DHCP设备的身份标识、重放检测的信息、类型等,这些是现有的流程,在此不再赘述。
步骤104、将步骤101添加后的DHCP协议消息发送给第二DHCP设备。
这样第二DHCP设备接收到DHCP协议消息后,验证第一DHCP设备的数字证书的合法性。如,可通过认证中心的公钥验证第一DHCP设备的数字证书中包括的认证中心的签名,即认证中心利用自己的私钥计算的签名。
如果数字证书合法,则根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性,具体地:对接收的DHCP协议消息进行哈希计算得到消息摘要或消息散列码,通过第一DHCP设备的数字证书中包含的第一DHCP设备的公钥对数字签名进行解密后,将解密后数值与计算得到的消息摘要或消息散列码进行比较,如果相同,则有效,否则无效,在验证完数字签名的有效性的同时完成了DHCP协议消息的完整性的校验。
需要说明的是,上述第一、第二并不表示顺序关系,而是用来说明DHCP设备的不同。
可见,本实施例中的消息验证方法包括:将第一DHCP设备的数字证书信息和数字签名添加到DHCP协议消息中,其中如果数字证书信息为数字证书本身,则需要通过第一和第二DHCP设备协商DHCP协议消息的消息长度;并将添加后的DHCP协议消息发送给第二DHCP设备,这样第二DHCP设备验证第一DHCP设备的数字证书的合法性;并在第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性。这样DHCP设备的通信双方在DHCP协议消息中携带数字证书和数字签名,并通过数字证书和数字签名的验证,从而保证通信的DHCP协议消息的安全,由于本实施例中不用进行验证信息的协商,而直接可以根据DHCP协议消息中携带的信息进行验证,提高了IP地址获取过程中的通信安全性。
可以理解,一般情况下数字证书的长度较长,而DHCP协议消息一般使用312~576字节,在DHCP协议消息添加数字证书本身时,需要通信双方的第一DHCP设备和第二DHCP设备在首次通信时,进行DHCP协议消息的消息长度的协商;而在之后的通信过程中,通信双方即可直接在DHCP协议消息中携带数字证书,以进行验证。具体协商的消息长度可以根据实际的DHCP设备的数字证书的长度来确定。
因此在本实施例中在DHCP设备的通信双方首次通信时,由通信发起的一端来执行下述步骤进行消息长度的协商,为了能携带数字证书,本实施例中以第一DHCP设备发起通信为例说明:
步骤102、发送请求的消息长度给第二DHCP设备,以便第二DHCP设备根据请求的消息长度扩展DHCP协议消息的消息长度。
第二DHCP设备接收到请求的消息长度,默认该请求的消息长度,可以不返回响应;而如果需要扩展另一个消息长度,则执行步骤103。
步骤103、接收第二DHCP设备返回的响应,该响应指示第二DHCP设备允许第一DHCP设备扩展协商的消息长度。
其中请求的消息长度是第一DHCP设备根据DHCP设备的数字证书确定的,即可以是能够携带DHCP设备的数字证书以及其他认证信息的长度,也可以是预置的一个长度,还可以是最大DHCP消息大小(Maximum DHCPMessage Size)等;协商的消息长度可以是根据第一和第二DHCP设备的数字证书来确定的,例如,将第一和第二DHCP设备数字证书的长度中较大的长度作为协商的消息长度。
在一个具体的实施例中,在执行上述步骤102时的发送请求的消息长度给第二DHCP设备时,是将该请求的消息长度添加到一个新定义的消息即最大DHCP消息大小请求消息(DHCP Message MSize Request)中,并将该请求消息发送给第二DHCP设备;而在执行上述步骤103时,是接收第二DHCP设备返回的最大DHCP消息大小响应消息(DHCP Message MSize Response),在该最大DHCP消息大小响应消息中包括协商的消息长度。
其中最大DHCP消息大小请求消息的格式可以如图2所示,包括消息类型(1字节,每字节8位)、硬件地址类型(1字节)、硬件地址长度(1字节)、路由站数(1字节)、客户端发起一次请求时选择的随机数(4字节)、设备启动时间(2字节)、是否为广播发送标识的格式(2字节)、设备的IP地址(4或16字节)、DHCP客户端获取IP地址等信息的服务器名称(64字节)、DHCP服务器为DHCP客户端指定的启动配置文件名称及路径信息(128字节)、可选变长选项参数域(可变字节)。其中通过在消息的可选变长选项的消息长度可选项中携带请求的消息长度实现DHCP消息长度的扩展协商。最大DHCP消息大小请求消息的格式还可以是本领域技术人员想到的其他的格式,图2中的所示的并不能对最大DHCP消息大小请求消息的格式造成限制。
参考图3a所示,在该实施例中,步骤102和103需要在步骤101和104之前执行,即先协商消息长度,而不携带进行验证的内容。
在另一具体的实施例中,在执行上述步骤104之前还包括步骤105,即将请求的消息长度添加到DHCP协议消息的Option如Option 57中,则步骤104中会将请求的消息长度连同数字证书和数字签名一起发送给第二DHCP设备;
可以理解,如果第二DHCP设备允许扩展另一个消息长度,而在执行步骤104后还可以包括步骤106,即接收第二DHCP设备返回的对DHCP协议消息的响应消息,在该DHCP协议消息的响应消息中携带协商的消息长度。
参考图3b所示,在该实施例中,步骤105和101需要在步骤104之前执行,在执行步骤104之后再执行106,其中,步骤105和101并没有绝对的顺序关系,可以同时执行,也可以是顺序执行,图3b中所示的只是其中一种实现方式。本实施例中通过在两个设备首次通信的DHCP协议消息中携带请求的消息长度来协商消息长度,而不用另外一个新定义消息进行协商。
在其它的实施例中,在基于共享密钥的验证方法中,需要先进行共享密钥的协商,而后通过共享密钥来进行DHCP消息的验证,在本实施例中,在执行上述步骤104的将添加后的DHCP协议消息发送给第二DHCP设备之前还包括步骤107和108:
步骤107、获取第一DHCP设备的公开密钥;
在获取公开密钥时,可以通过如下的方法获取:配置两个数p和g,并选取一个随机数A(A<(p-1)/2))作为第一DHCP设备的私有密钥,则第一DHCP设备的公开密钥为Ya=gAmodp即A对g的指数值,和p的取模值的乘积。其中,p是一个素数,g是一个整数,g是p的一个原根。
第一DHCP设备的公开密钥也可以通过从本地储存的信息中获取,还可以通过其他方法获取。
步骤108、将密钥标识和第一DHCP设备的公开密钥添加到DHCP协议消息中,这样第二DHCP设备在接收到DHCP协议消息后,根据其中的密钥标识得知,在该IP地址获取的过程中需要用共享密钥的方式来保证通信安全性,就会通过第一DHCP设备的公开密钥和自己的公开密钥来获得共享密钥。
这里密钥标识是用来唯一标识本地会话过程中的密钥的,可以将第一DHCP设备的公开密钥的最小32位作为密钥标识。
在获取共享密钥时,先配置两个数p和g,并选取一个随机数B(B<(p-1)/2))作为第二DHCP设备的私有密钥,则第二DHCP设备的公开密钥为Ya=gBmodp即B对g的指数值,和p的取模值的乘积,则共享密钥为Ks=gABmodp。
参考图4所示,本实施例中,第一和第二DHCP设备通过步骤102和103进行消息长度的协商后;在执行步骤101的将第一DHCP设备的数字证书和数字签名之后,第一DHCP设备可以通过步骤107和108将密钥标识和第一DHCP设备的公开密钥添加到DHCP协议消息;最后执行步骤104的发送。可以理解,在其他实施例中可以在执行步骤107和108之后,再执行步骤101,即添加公开密钥的步骤及添加数字证书和数字签名的步骤是没有绝对的顺序关系,可以同时执行,图4中所示的只是其中一种实现方式。
本实施例中,在基于共享密钥的验证方法中,在进行共享密钥的协商过程中,在协商的消息中携带数字证书信息和数字签名,这样对端就可以对共享密钥协商过程中的消息进行验证,保证密钥协商过程中消息的安全性。
另一方法实施例提供一种消息验证方法,本实施例中的方法适用于DHCP服务器和客户端之间获取IP地址过程中的验证方法,本实施例的执行主体是第二DHCP设备,流程图如图5a所示,包括:
步骤201a、接收第一DHCP设备发送的DHCP协议消息,在该DHCP协议消息中包括第一DHCP设备的数字证书信息和数字签名,如果数字证书信息是数字证书本身,则该DHCP协议消息的消息长度是第一和第二DHCP设备协商的,如果数字证书信息为数字证书的地址标识,则DHCP协议消息的消息长度不需要进行协商。
步骤202a、验证第一DHCP设备的数字证书的合法性;并在第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性,同时就完成了DHCP协议消息的完整性。
可以理解,在进行验证时,需要先根据DHCP协议消息得到第一DHCP的数字证书和数字签名,然后再进行验证,具体地,通过解析DHCP协议消息中相应编号的Option得到数字证书信息和数字签名。
如果DHCP协议消息中的数字证书消息为数字证书的地址标识如URL,则需要先通过解析DHCP协议消息中相应编号的Option得到数字证书的地址标识;在按照该地址标识向证书中心请求获取相应的数字证书;并解析DHCP协议消息中相应编号的Option得到数字签名。
由于本发明实施例适用于一个设备向另一个设备获取IP地址的过程,则其中一个DHCP设备是没有IP地址的,在该没有IP地址的设备在向证书中心获取数字证书的过程中,需要先自己预配置一个临时IP地址,或者由DHCP中继代理为该设备分配一个临时IP地址;这样就可以通过与证书中心的交互来获取数字证书。因此,假设第二DHCP设备是请求获取IP地址的设备,则在执行步骤202b时,具体通过如下步骤来实现:
A:获取临时IP地址,可以是随时预配置一个临时IP地址,也可以是提取已经预置的一个临时IP地址。
B:将该临时IP地址作为第二DHCP设备的临时地址,根据数字证书的地址标识向请求获取相应的数字证书。
C:验证数字证书的合法性;当数字证书合法时,在数字证书中提取得到第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性。
证书请求者可以通过证书URL向证书中心这个实体或设备获得合法的证书。
第二DHCP设备的具体验证方法如方法实施例一所述,在此不再赘述。
可见,本实施例中的消息验证方法包括:接收DHCP协议消息,该DHCP协议消息包括第一DHCP设备的数字证书信息和数字签名,其中如果数字证书信息是数字证书本身,则该消息的消息长度是第一和第二DHCP设备协商的;第二DHCP设备验证第一DHCP设备的数字证书的合法性;并在第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性。这样DHCP设备的通信双方在DHCP协议消息中携带数字证书和数字签名,并通过数字证书和数字签名的验证,从而保证通信的DHCP协议消息的安全,由于本实施例中不用进行验证信息的协商,而直接可以根据DHCP协议消息中携带的信息进行验证,提高了IP地址获取过程中的通信安全性。
需要说明的是,在DHCP协议消息中携带的数字证书信息是数字证书本身时,需要通信双方的第一DHCP设备和第二DHCP设备在首次通信时,进行DHCP协议消息的消息长度的协商;而在之后的通信过程中,通信双方即可在DHCP协议消息中直接携带数字证书,以进行验证。具体协商的消息长度可以根据实际的DHCP设备的数字证书的长度来确定。
因此在本实施例中在DHCP设备的通信双方首次通信时,由通信发起的对端来执行下述步骤进行消息大小的协商,为了能携带数字证书,本实施例中以第一DHCP设备发起通信为例说明:
步骤203、接收第一DHCP设备发送的请求的消息长度,以便第二DHCP设备根据请求的消息长度扩展DHCP协议消息的消息长度;如果第二DHCP设备默认该请求的消息长度,则可以不返回响应,如果第二DHCP设备允许扩展另一个消息长度,则执行步骤204a。
步骤204a、向第一DHCP设备返回响应消息,该响应消息指示第二DHCP设备允许第一DHCP设备扩展协商的消息长度。
具体地,参考图5b所示,在一个具体的实施例中,可以通过新定义的消息来进行消息大小的协商,即在执行步骤203a时,接收最大DHCP消息大小请求消息,在最大DHCP消息大小请求消息携带请求的消息长度;
则在执行步骤204a时,是获取协商的消息长度,并将协商的消息长度添加到最大DHCP消息大小响应消息返回给第一DHCP设备。
举例说明,在获得协商的消息长度时,可以根据第一DHCP设备请求的消息长度比如为a,并根据第二DHCP设备的数字证书得到第二DHCP实际需要的消息长度比如为b,并选择其中数值较大的消息长度作为协商的消息长度,即选择a和b中数值较大的作为协商的消息长度。
在该实施例中,步骤203a和204a需要在步骤201a和202a之前执行,即先协商消息长度,而不携带进行验证的内容。
具体地,参考图5c所示,在另一个具体的实施例中,不用另外新定义的消息来协商消息长度,而是通过DHCP协议消息来协商,则步骤201a中接收的DHCP协议消息,其中DHCP协议消息的选项参数域如选项参数域57中携带请求的消息长度;
如果允许扩展另一个消息长度,则在步骤202a后,还包括步骤205a,即获得协商的消息长度,并将协商的消息长度添加到DHCP协议消息的响应消息中返回给第一DHCP设备。
举例说明,在获得协商的消息长度时,可以解析DHCP协议消息中选项参数域57得到第一DHCP设备请求的消息长度比如为a,并根据第二DHCP设备的数字证书得到第二DHCP实际需要的消息长度比如为b,并选择其中数值较大的消息长度作为协商的消息长度,即选择a和b中数值较大的作为协商的消息长度。
可以理解,在本实施例中第二DHCP设备返回的DHCP协议消息中还包括根据协商的消息长度携带的第二DHCP设备的数字证书和数字签名,以便第一DHCP设备进行相应的验证,验证的过程如第二DHCP设备的验证方法。
在其它的实施例中,在基于共享密钥的验证方法中,需要先进行共享密钥的协商,而后通过共享密钥来进行DHCP消息的验证,在本实施例中,在上述步骤201a接收到的DHCP协议消息中还包括:密钥标识和第一DHCP设备的公开密钥,则在执行步骤202a的同时或之后或之前需要根据密钥标识和第一DHCP设备的公开密钥获得共享密钥。具体获得方法如方法实施例一中所述,在此不再赘述。
本实施例中,在基于共享密钥的验证方法中,在进行共享密钥的协商过程中,在协商的消息中携带数字证书信息和数字签名,这样对端就可以对共享密钥协商过程中的消息进行验证,保证密钥协商过程中消息的安全性。
另一方法实施例提供一种消息验证方法,本实施例中的方法适用于DHCP服务器和客户端之间获取IP地址过程中的验证方法,本实施例的方法的执行主体是DHCP中继代理,流程图如图6a所示,包括:
步骤201b、接收第一DHCP设备发送的DHCP协议消息,在该DHCP协议消息中包括第一DHCP设备的数字证书信息和数字签名,如果数字证书信息是数字证书本身,则该DHCP协议消息的消息长度是第一和第二DHCP设备协商的,如果数字证书信息为数字证书的地址标识,则DHCP协议消息的消息长度不需要进行协商。
步骤202b、将DHCP协议消息发送给第二DHCP设备。
这样第二DHCP设备验证第一DHCP设备的数字证书的合法性;并在第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性,同时就完成了DHCP协议消息的完整性。
可以理解,如果第一和第二DHCP设备不在一个子网内,则它们之间的通信消息需要经过DHCP中继代理的转发。
第二DHCP设备的具体验证方法如方法实施例一所述,在此不再赘述。
可见,本实施例中的消息验证方法包括:通过DHCP中继代理将接收的DHCP协议消息发送给第二DHCP设备进行验证,该DHCP协议消息包括第一DHCP设备的数字证书信息和数字签名,其中如果数字证书信息是数字证书本身,则该消息的消息长度是第一和第二DHCP设备协商的。这样DHCP设备的通信双方在DHCP协议消息中携带数字证书和数字签名,并通过数字证书和数字签名的验证,从而保证通信的DHCP协议消息的安全,由于本实施例中不用进行验证信息的协商,而直接可以根据DHCP协议消息中携带的信息进行验证,提高了IP地址获取过程中的通信安全性;且可以实现不同子网中的DHCP设备的通信。
需要说明的是,在DHCP协议消息中携带的数字证书信息是数字证书本身时,需要通信双方的第一DHCP设备和第二DHCP设备在首次通信时,进行DHCP协议消息的消息长度的协商;而在之后的通信过程中,通信双方即可在DHCP协议消息中直接携带数字证书,以进行验证。具体协商的消息长度可以根据实际的DHCP设备的数字证书的长度来确定。
因此在本实施例中在DHCP设备的通信双方首次通信时,由通信发起的一端进行消息大小的协商,为了能携带数字证书,本实施例中以第一DHCP设备发起通信为例说明,则中继代理通过如下步骤来转发消息大小协商过程中的消息:
步骤203b、接收第一DHCP设备发送的请求的消息长度,以便第二DHCP设备根据请求的消息长度扩展DHCP协议消息的消息长度;
步骤204b、将请求的消息长度发送给第二DHCP设备,请求第二DHCP设备根据请求的消息长度扩展DHCP协议消息的消息长度;
如果第二DHCP设备允许扩展另一个消息长度,则将第二DHCP设备返回的响应消息发送给第一DHCP设备。该响应消息允许第一DHCP设备扩展协商的消息长度。
具体地,参考图6b所示,在一个具体的实施例中,可以通过新定义的消息来进行消息大小的协商,即在执行步骤203b时,接收最大DHCP消息大小请求消息,最大DHCP消息大小请求消息携带请求的消息长度;
则在执行步骤204b时,是将该最大DHCP消息大小请求消息发送给第二DHCP设备,并将第二DHCP设备返回的最大DHCP消息大小响应消息发送给第一DHCP设备,该最大DHCP消息大小响应消息中携带协商的消息长度。
在该实施例中,步骤203b和204b需要在步骤201b和202b之前执行,即转发通信双方协商的消息长度。
具体地,参考图6c所示,在另一个具体的实施例中,不用另外新定义的消息来协商消息长度,而是通过DHCP协议消息来协商,则步骤201b中接收的DHCP协议消息,其中DHCP协议消息的选项参数域如选项参数域57中携带请求的消息长度;
则在步骤202b后,如果第二DHCP设备允许另一个消息长度,则返回响应消息,本实施例的方法还包括步骤205b,即接收第二DHCP设备返回的对该DHCP协议消息的响应消息,并将该DHCP协议消息的响应消息发送给第一DHCP设备,该DHCP协议消息的响应消息中携带协商的消息长度。
可以理解,在本实施例中第二DHCP设备返回的DHCP协议消息中还可以包括根据协商的消息长度携带的第二DHCP设备的数字证书信息和数字签名,以便第一DHCP设备进行相应的验证,验证的过程如第二DHCP设备的验证方法。
在其他具体的实施例中,本实施例的方法还可以包括:向第一和第二DHCP设备中请求IP地址的设备分配临时IP地址,以便在DHCP通信双方进行DHCP协议消息的通信中,如果数字证书信息为数字证书的地址标识如URL,请求获取IP地址的设备根据临时IP地址和数字证书的地址标识获取相应的数字证书。
在一个具体的方法实施例中提供的一种消息验证方法,本实施例的方法是在DHCP客户端向DHCP服务器获取IP地址的过程的验证方法,是通过在DHCP发现和提供消息中携带请求的消息长度进行消息长度的协商的,流程图如图7所示,包括:
301、客户端向其本地子网广播DHCP发现消息(DISCOVER),在DHCP发现消息中用DHCP最大消息长度选项Option57携带请求的消息长度;用客户端身份标识选项Option61携带DHCP客户端的身份标识;用Option90来携带客户端的数字证书和数字签名。其中请求的消息长度在本实施例中为最大DHCP消息大小,是根据客户端的数字证书大小确定,也可以是客户端中预置的一个长度。
举例说明,现有的DHCP发现消息中认证相关信息选项的格式如参考图8所示,包括类型(1字节,每个字节8位)、长度(1字节)、协议(1字节)、算法(1字节),重放机制(1字节),及重放检测值(16字节,64字节)和认证信息(可变字节)。在本实施例中,在将数字证书和数字签名填充到DHCP发现消息后的认证相关信息选项可以如图9所示,其中:
在认证信息中填充了认证信息类型、认证信息长度、数字证书(Certificate)、数字签名(Digital Signature),其中数字证书的长度是可变的,在本实施例中为1K字节,数字签名是使用客户端的私钥对DHCP发现消息除Hops和giaddr之外的数据内容进行加密计算所得的。而数字证书和数字签名内容的格式也可以分别通过TLV的形式进行定义,比如:
认证类型:类型(Type)=1;长度(Length):8位(bits);内容(Value)……;
认证信息长度:Type=2;Length:16bits;Value……;
Certificate:Type=3;Length:1K字节;Value……;
Digital Signature:Type=4;Length:32字节;Value……。
如果DHCP服务器部署在客户端所在的子网上,则DHCP服务器会直接收到该DHCP发现消息,如果部署在另外的一个网络中,则必须在客户端的子网上部署DHCP中继代理,由DHCP中继代理转发DHCP服务器和客户端之间通信的DHCP协议消息,下面的流程都不考虑DHCP中继代理。
302、网络上的DHCP服务器接收到DHCP发现消息后,如果判断可以为该DHCP客户端提供服务,确定客户端的身份,然后验证客户端证书的合法性,并对消息进行重放检测以及完整性性验证。若验证通过,则执行步骤303,若验证没有通过,则丢弃DHCP发现消息。
具体地,通过Option 61获得客户端的身份标识。通过DHCP发现消息中的获得客户端的数字证书和数字签名,验证客户端的数字证书的合法性,并通过数字证书提取客户端的公钥,然后使用客户端的公钥(Pubkeyc)验证数字签名是否有效,根据数字签名验证DHCP发现消息的完整性。如果验证的数字证书合法,且数字签名有效,则验证通过。
303、DHCP服务器默认了DHCP发现消息中请求的消息长度,即最大DHCP消息大小,并根据IP地址分配的优先次序选出一个IP地址,构造DHCP发现消息的响应,即DHCP提供消息(DHCPOFFER),并发送给DHCP客户端,在DHCP提供消息的Option 61中携带DHCP服务器的身份标识,通过Option 98携带了服务器的数字证书的地址标识,本实施例中为URL。
在DHCP提供消息中还可以包括服务器提供的一些配置参数,如IP地址配置参数等。
304、DHCP客户端接收到DHCP提供消息后,根据其中携带的服务器的数字证书的URL向证书中心获取服务器的数字证书。
305、DHCP客户端进行数字证书合法性及消息完整性的验证,验证过程中可以先确认服务器的数字证书中服务器ID与当前连接的服务器ID是否一致,如果一致,再通过证书中心签名来验证服务器的数字证书的合法性;而消息完整性验证与步骤303中类似,在此不再赘述,如果验证通过,则获取配置参数;否则,丢弃DHCP提供消息,并重发DHCP发现消息。
可以理解,如果DHCP客户端接收到的DHCP提供消息有多个,则会先按照预置的策略选择其中一个服务器发送的DHCP提供消息,并进行相应处理。
306、DHCP客户端向DHCP服务器发送DHCP请求消息(DHCPREQUEST),其中包括DHCP服务器在DHCP提供消息中分配的IP地址,请求服务器对配置的IP地址进行确认,并确认选择该DHCP服务器为其进行服务,其中携带客户端的数字证书和数字签名,还包括DHCP客户端的身份标识等其他可能值。
307、DHCP服务器接收到DHCP请求消息,进行相应验证,如,重放检测、数字证书合法性和消息完整性验证等。如果验证通过,则向DHCP客户端发送DHCP响应消息(DHCP ACK),同样携带服务器的数字证书和数字签名;如果验证没有通过,则向DHCP客户端返回DHCP失败响应消息(DHCP NACK)。
当DHCP客户端接收DHCP响应消息后,进行相应验证,如果验证通过,则获取IP地址的流程结束;当DHCP客户端接收到DHCP失败响应消息,则重新发送DHCP发现消息,请求获取IP地址。
另一种具体方法实施例提供一种动态主机设置验证方法,本实施例的方法是在DHCP客户端向DHCP服务器获取IP地址的过程中基于共享密钥的验证方法,是通过在DHCP发现和提供消息中携带的数字证书信息是数字证书的地址标识,流程图如图10所示,包括:
401、DHCP客户端向其本地子网广播DHCP发现消息,其中的Option 61携带了客户端的身份标识,Option 98携带了客户端的数字证书的地址标识,本实施例中为URL;Option的证书选项中可以指明使用的认证方法、可以通过随机值域携带客户端的公开密钥及密钥标识,并在证书认证Option中携带了客户端的数字签名。其中数字证书的地址标识和随机值域的长度是可变字节的,本实施例中DHCP发现消息中认证相关的信息选项如图11所示,随机值域的长度与客户端的公开密钥和密钥标识的长度有关。
可以理解,由于本实施例中在DHCP发现消息中携带的是数字证书的地址信息,则不需要进行消息长度的协商。
402、网络上的DHCP服务器接收到DHCP发现消息后,如果确定可以为该DHCP客户端提供服务,需要先根据数字证书的URL向证书中心获取客户端的数字证书。
403、DHCP服务器根据获得的客户端的数字证书进行数字证书合法性及消息完整性的验证,若验证通过,则根据客户端的公开密钥,及本地服务器的公开密钥获得共享密钥,并执行步骤404,若验证没有通过,则丢弃DHCP发现消息。
404、构造DHCP发现消息的响应,即DHCP提供消息,并发送给DHCP客户端,在DHCP提供消息的Option 61中携带DHCP服务器的身份标识,在Option98中携带服务器的数字证书的URL,在Option90或新定义的Option中携带服务器的数字签名,并用随机值域携带服务器的公开密钥和密钥标识,用于DHCP客户端协商共享密钥。这里密钥标识为客户端的公开密钥的最小32位。
在DHCP提供消息中还可以包括服务器提供的一些配置参数。
405、DHCP客户端接收到DHCP提供消息后,根据服务器的数字证书的URL向证书中心获取数字证书。
此时客户端还没有获取到IP地址,需要获取预配置或DHCP中继代理配置的一个临时IP地址,利用该临时IP地址与证书中心进行通信获取服务器的数字证书;在获取了数字证书后,可以释放该临时IP地址。
406、DHCP客户端根据获取的服务器的数字证书进行数字证书合法性及消息完整性的验证,如果验证通过,则获取配置参数,并通过服务器的公开密钥和本地客户端的公开密钥得到共享密钥,完成了客户端和服务器的共享密钥的协商;否则,丢弃DHCP提供消息,并重发DHCP发现消息。
可以理解,如果DHCP客户端接收到的DHCP提供消息有多个,则会先按照预置的策略选择其中一个服务器发送的DHCP提供消息,并进行相应处理。
407、DHCP客户端以广播的方式发送DHCP请求消息,请求服务器确认为该客户端配置的IP地址,并确认该DHCP服务器为其进行服务。其中携带Option 90,在Option 90中包括了密钥标识和得到的共享密钥,还包括DHCP客户端的身份标识等其他可能值。
408、DHCP服务器接收到DHCP请求消息,进行相应验证,如果验证通过,则向DHCP客户端发送DHCP响应消息,同样携带Option 90;如果验证没有通过,则向DHCP客户端返回DHCP失败响应消息。
当DHCP客户端接收DHCP响应消息后,进行相应验证,如果验证通过,则获取IP地址的流程结束;当DHCP客户端接收DHCP失败响应消息后,重新发送DHCP发现消息,进行IP地址的获取。
在一个具体的方法实施例中提供的一种消息验证方法,本实施例的方法是在DHCP客户端向DHCP服务器获取IP地址的过程的验证方法,是通过在DHCP发现和提供消息中携带请求的消息长度进行消息长度的协商的,流程图如图12所示,包括:
501、DHCP客户端向其本地子网广播DHCP发现消息,在DHCP发现消息中用DHCP最大消息长度选项Option57携带请求的消息长度;用客户端身份标识选项Option61携带DHCP客户端的身份标识;用Option90来携带客户端的数字证书和数字签名。其中请求的消息长度在本实施例中为最大DHCP消息大小,是根据客户端的数字证书大小确定,也可以是客户端中预置的一个长度。在本实施例中,在将数字证书和数字签名填充到DHCP发现消息后的认证相关信息选项可以如图9所示。
502、网络上的DHCP服务器接收到DHCP发现消息后,如果判断可以为该DHCP客户端提供服务,确定客户端的身份,然后验证客户端证书的合法性,并对消息进行重放检测以及完整性性验证。若验证通过,则执行步骤503,若验证没有通过,则丢弃DHCP发现消息。
503、DHCP服务器根据IP地址分配的优先次序选出一个IP地址,并构造DHCP发现消息的响应,即DHCP提供消息,并发送给DHCP客户端,在DHCP提供消息的Option 61中携带DHCP服务器的身份标识,并携带协商的消息长度,来扩展DHCP消息长度用于携带服务器证书。
本实施例中协商的消息长度为最大DHCP消息大小;其中协商的最大DHCP消息大小可以根据服务器的数字证书的实际长度来确定;数字签名是使用DHCP服务器的私钥得到的签名,签名的内容是DHCPOFFER消息除“Hops”和“giaddr”以外的数据为内容计算的。
在DHCP提供消息中还可以包括服务器提供的一些配置参数,如IP地址配置参数等。
504、DHCP客户端接收到DHCP提供消息后,进行数字证书合法性及消息完整性的验证,如果验证通过,则获取配置参数;否则,丢弃DHCP提供消息,并重发DHCP发现消息。
可以理解,如果DHCP客户端接收到的DHCP提供消息有多个,则会先按照预置的策略选择其中一个服务器发送的DHCP提供消息,并进行相应处理。
505、DHCP客户端向DHCP服务器发送DHCP请求消息,其中包括DHCP服务器在DHCP提供消息中分配的IP地址,请求服务器对配置的IP地址进行确认,并确认选择该DHCP服务器为其进行服务,其中携带客户端的数字证书和数字签名,还包括DHCP客户端的身份标识等其他可能值。
506、DHCP服务器接收到DHCP请求消息,进行相应验证,如,重放检测、数字证书合法性和消息完整性验证等。如果验证通过,则向DHCP客户端发送DHCP响应消息,同样携带服务器的数字证书和数字签名;如果验证没有通过,则向DHCP客户端返回DHCP失败响应消息。
当DHCP客户端接收DHCP响应消息后,进行相应验证,如果验证通过,则获取IP地址的流程结束;当DHCP客户端接收到DHCP失败响应消息,则重新发送DHCP发现消息,请求获取IP地址。
另一个具体的方法实施例提供一种消息验证方法,本实施例的方法是在DHCP客户端向DHCP服务器获取IP地址的过程的验证方法,是通过新定义的一个消息来进行消息长度的协商的,流程图如图13所示,包括:
601、DHCP客户端发送最大DHCP消息大小请求消息,其中包含了客户端的身份标识和请求的消息长度,具体为最大DHCP消息大小(Maximum DHCPMessge Size),如1k-2kbyte。
602、DHCP服务器向客户端返回最大DHCP消息大小响应消息,其中携带协商的最大DHCP消息大小,允许客户端扩展相应消息长度的DHCP协议消息。
603、DHCP客户端将本地的数字证书和数字签名添加到DHCP发现消息的Option中,然后向其本地子网广播该消息,可以理解,在DHCP发现消息中还包括其他一些必要信息如客户端的身份标识等。
如果DHCP服务器部署在客户端所在的子网上,则DHCP服务器会直接收到该消息,如果其部署在另外的一个网络中,则必须在客户端的子网上部署DHCP中继代理,由DHCP中继代理来转发客户端和服务器之间的通信消息。
604、网络上的DHCP服务器接收到DHCP发现消息后,如果判断可以为该DHCP客户端提供服务,则进行数字证书合法性和消息完整性的验证,若验证通过,则执行步骤605,若验证没有通过,则丢弃DHCP发现消息。
这里验证通过是指数字证书合法,且数字签名有效。
605、构造DHCP发现消息的响应,即DHCP提供消息,并发送给DHCP客户端,在DHCP提供消息的Option 61中携带DHCP服务器的身份标识,并携带服务器的数字证书和数字签名。
在DHCP提供消息中还可以包括服务器提供的一些配置参数,如地址配置参数等。
606、DHCP客户端接收到DHCP提供消息后,进行数字证书合法性及消息完整性的验证,如果验证通过,则接收配置参数;否则,丢弃DHCP提供消息,并重发DHCP发现消息。
可以理解,如果DHCP客户端接收到的DHCP提供消息有多个,则会先按照预置的策略选择其中一个服务器发送的DHCP提供消息,并进行相应处理。
607、DHCP客户端向DHCP服务器发送DHCP请求消息,请求服务器确认为该客户端配置的IP地址,且确认该DHCP服务器为其进行服务,其中携带客户端的数字证书和数字签名,还包括DHCP客户端的身份标识等其他可能值。
608、DHCP服务器接收到DHCP请求消息(REQUEST),进行相应验证,如果验证通过,则向DHCP客户端发送DHCP响应消息(ACK),同样携带服务器的数字证书和数字签名,还携带为客户端分配的IP地址;如果验证没有通过,则向DHCP客户端返回DHCP失败响应消息(NACK)。
当DHCP客户端接收DHCP响应消息后,进行相应验证,如果验证通过,则获取IP地址的流程结束;当DHCP客户端接收到DHCP失败响应消息,则重新发送DHCP发现消息,请求获取IP地址。
另一个方法实施例提供一种消息验证方法,本实施例的方法是在DHCP客户端向DHCP服务器获取IP地址的过程中基于共享密钥的验证方法,是通过在DHCP发现和提供消息中携带最大DHCP消息大小进行消息长度的协商的,流程图如图14所示,包括:
701、DHCP客户端向其本地子网广播该消息发送DHCP发现消息,其中的Option 61携带了客户端的身份标识,Option 57携带了请求的消息长度,本实施例中为最大DHCP消息大小;并在Option中携带了客户端的数字证书和数字签名;并用随机值域携带客户端的公开密钥及密钥标识。在本实施例中DHCP发现消息中认证相关选项的格式可以如图15所示,其中随机值域和数字证书域是可变字节的,在本实施例中,随机值域的长度与客户端的公开密钥及密钥标识的长度有关,而数字证书的长度与该客户端的数字证书实际长度有关。
可以理解,客户端首先选取一个随机数A作为私有密钥,并通过预置的p和g计算得到该客户端的公开密钥为Ya=gAmodp,其中随机数的长度可变,如10~20字节;而密钥标识取客户端的公开密钥的最小32位。
702、网络上的DHCP服务器接收到DHCP发现消息后,如果判断可以为该DHCP客户端提供服务,则进行数字证书的合法性及消息完整性的验证,若验证通过,则根据密钥标识和客户端的公开密钥获得共享密钥,并执行步骤703,若验证没有通过,则丢弃DHCP发现消息。
这里验证通过是指数字证书合法,且数字签名有效,及DHCP发现消息完整。DHCP服务器根据DHCP发现消息中携带的密钥标识,得知客户端和服务器之间的通信是基于共享密钥的方法,则在验证通过后,需要获得共享密钥,具体地,服务器首先选取一个随机数B作为私有密钥,并通过预置的p和g计算得到该服务器的公开密钥为Ya=gBmodp,则共享密钥为Ks=gABmodp。
703、构造DHCP发现消息的响应,即DHCP提供消息,并发送给DHCP客户端,在DHCP提供消息的Option 61中携带DHCP服务器的身份标识,并携带服务器的数字证书和数字签名,并用随机值域携带服务器的公开密钥和密钥标识,这里密钥标识为客户端的公开密钥的最小32位。
在DHCP提供消息中还可以包括服务器提供的一些配置参数。
704、DHCP客户端接收到DHCP提供消息后,进行相应的验证,如果验证通过,则获取配置参数,并根据服务器的公开密钥获得共享密钥,完成了客户端和服务器的共享密钥的协商;否则,丢弃DHCP提供消息,并重发DHCP发现消息。
可以理解,如果DHCP客户端接收到的DHCP提供消息有多个,则会先按照预置的策略选择其中一个服务器发送的DHCP提供消息,并进行相应处理。
705、DHCP客户端向DHCP服务器发送DHCP请求消息,请求服务器确认为该客户端配置的IP地址,并确认该DHCP服务器为其进行服务,其中携带Option 90,在Option 90中包括了密钥标识和得到的共享密钥,还包括DHCP客户端的身份标识等其他可能值。
706、DHCP服务器接收到DHCP请求消息,按照现有的延迟验证的方法使用Option 90进行相应验证,如果验证通过,则向DHCP客户端发送DHCP响应消息,同样携带Option 90;如果验证没有通过,则向DHCP客户端返回DHCP失败响应消息。
当DHCP客户端接收DHCP响应消息后,进行相应验证,如果验证通过,则获取IP地址的流程结束;当客户端接收到DHCP失败响应消息,则重新发送DHCP发现消息,进行获取IP地址。
另一个方法实施例提供一种消息验证方法,本实施例的方法是在DHCP客户端向DHCP服务器获取IP地址的过程中基于共享密钥的验证方法,是通过新定义的消息进行消息长度的协商的,流程图如图16所示,包括:
801、DHCP客户端发送最大DHCP消息大小请求消息,其中包含了客户端的身份标识和请求的消息长度,本实施例中为最大DHCP消息大小,如1k-2kbyte。
802、DHCP服务器通过在最大DHCP消息大小响应消息中携带协商的最大DHCP消息大小,允许客户端扩展响应消息长度的DHCP协议消息。
803、DHCP客户端将本地的数字证书和数字签名添加到DHCP发现消息的Option的认证选项中,并将客户端的公开密钥和密钥标识添加到随机值域中,然后向其本地子网广播该消息,可以理解,在DHCP发现消息中还包括其他一些必要信息如服务器的身份标识等。
如果DHCP服务器部署在客户端所在的子网上,则DHCP服务器会直接收到该消息,如果其部署在另外的一个网络中,则必须在客户端的子网上部署DHCP中继代理,由DHCP中继代理来转发客户端和服务器之间的通信消息,本实施例中不考虑DHCP中继代理的问题。
804、网络上的DHCP服务器接收到DHCP发现消息后,如果判断可以为该DHCP客户端提供服务,则进行数字证书合法性及消息完整性的验证,若验证通过,则根据客户端的公开密钥获得共享密钥,并执行步骤605,若验证没有通过,则丢弃DHCP发现消息。
805、构造DHCP发现消息的响应,即DHCP提供消息,并发送给DHCP客户端,在DHCP提供消息的Option 61中携带DHCP服务器的身份标识,并携带服务器的数字证书和数字签名,并用随机值域携带服务器的公开密钥和密钥标识,这里密钥标识为客户端的公开密钥的最小32位。
在DHCP提供消息中还可以包括服务器提供的一些配置参数。客户端的公开密钥和服务器的公开密钥用于协商客户端和服务的共享密钥。
806、DHCP客户端接收到DHCP提供消息后,进行数字证书合法性及消息完整性的验证,如果验证通过,则获取配置参数,并根据服务器的公开密钥,和本地储存的客户端的公开密钥获得共享密钥,完成了客户端和服务器的共享密钥的协商;否则,丢弃DHCP提供消息,并重发DHCP发现消息。
可以理解,如果DHCP客户端接收到的DHCP提供消息有多个,则会先按照预置的策略选择其中一个服务器发送的DHCP提供消息,并进行相应处理。
807、DHCP客户端向DHCP服务器发送DHCP请求消息,请求服务器确认为该客户端配置的IP地址,并确认该DHCP服务器为其进行服务,其中携带Option 90,在Option 90中包括了密钥标识和得到的共享密钥,还包括DHCP客户端的身份标识等其他可能值。
808、DHCP服务器接收到DHCP请求消息,,按照现有的延迟验证的方法使用Option 90进行相应验证,如果验证通过,则向DHCP客户端发送DHCP响应消息,同样携带Option 90;如果验证没有通过,则向DHCP客户端返回DHCP失败响应消息。
当DHCP客户端接收DHCP响应消息后,进行相应验证,如果验证通过,则获取IP地址的流程结束;当客户端接收到DHCP失败响应消息,则重新发送DHCP发现消息,进行获取IP地址。
设备实施例提供的一种动态主机设置协议DHCP设备,结构示意图如图17所示,包括:
验证添加单元10,用于将第一动态主机设置协议DHCP设备的数字证书信息和数字签名添加到DHCP协议消息中,若数字证书信息为数字证书本身,则DHCP协议消息的消息长度是第一和第二DHCP设备协商的;若数字证书信息为数字证书的地址标识,则DHCP协议消息的消息长度可以不用进行协商。
这里第一DHCP设备的数字签名是通过以DHCP协议消息的数据为内容进行哈希计算后,并以第一DHCP设备的私钥为密钥进行加密得到的;其中内容中不包括DHCP协议消息的中继代理个数和中继代理地址的信息;
第一DHCP设备的数字证书信息可以为数字证书本身,也可以为数字证书的地址标识:
若第一DHCP设备的数字证书信息为的数字证书本身,则验证添加单元10可以将第一DHCP设备的数字证书本身和数字签名添加到DHCP协议消息的Option90中,也可以添加到新定义的Option中;
若第一DHCP设备的数字证书信息为的数字证书的地址标识,则验证添加单元10可以将第一DHCP设备的数字签名添加到DHCP协议消息的Option90中,或新定义的Option中;并将第一DHCP设备的数字证书的地址标识添加到DHCP协议消息的Option 98中。
消息发送单元11,用于将验证添加单元10添加后的DHCP协议消息发送给第二DHCP设备,以便第二DHCP设备验证第一DHCP设备的数字证书的合法性;并在第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性。
本实施例中:验证添加单元10将第一DHCP设备的数字证书信息和数字签名添加到DHCP协议消息中,其中如果数字证书信息为数字证书本身,则需要通过第一和第二DHCP设备协商DHCP协议消息的消息长度;并由消息发送单元11将添加后的DHCP协议消息发送给第二DHCP设备,这样第二DHCP设备验证第一DHCP设备的数字证书的合法性;并在第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性。这样DHCP设备的通信双方在DHCP协议消息中携带数字证书和数字签名,并通过数字证书和数字签名的验证,从而保证通信的DHCP协议消息的安全,由于本实施例中不用进行验证信息的协商,而直接可以根据DHCP协议消息中携带的信息进行验证,提高了IP地址获取过程中的通信安全性。
参考图18所示,在一个具体的实施例中,还包括:
消息长度发送单元12,用于发送请求的消息长度给第二DHCP设备,以便第二DHCP设备根据请求的消息长度扩展DHCP协议消息的消息长度;
消息长度发送单元12可以将最大DHCP消息大小,或预置的一个消息长度,或客户端的数字证书长度作为请求的消息长度添加到最大DHCP消息大小请求消息中,将添加后的最大DHCP消息大小请求消息发送给第二DHCP设备;
消息长度响应接收单元13,用于接收第二DHCP设备返回的响应,该响应指示第二DHCP设备允许第一DHCP设备扩展协商的消息长度。
消息长度响应接收单元13可以接收第二DHCP设备返回的最大DHCP消息大小响应消息,在最大DHCP消息大小响应消息中包括协商的消息长度。
本实施例是适用在验证添加单元10添加数字证书本身到DHCP协议消息的情况,通过消息长度发送单元12和消息长度响应接收单元13,与第二DHCP设备进行的交互,即完成了第一、第二DHCP设备对DHCP协议消息的消息长度进行协商,则验证添加单元10可以将数字证书添加到DHCP协议消息中,而不会受到DHCP协议消息大小的限制。
参考图19所示,在另一个具体的实施例中,DHCP设备还可以包括:
消息长度添加单元14,用于将请求的消息长度添加到DHCP协议消息的选项参数域如选项参数域57中。
密钥添加单元15,用于将密钥标识和第一DHCP设备的公开密钥添加到DHCP协议消息中,以便第二DHCP设备根据密钥标识和第一DHCP设备的公开密钥获得共享密钥。
在验证添加单元10、消息长度添加单元14和密钥添加单元15消完成各自的添加后,消息发送单元11将添加后的DHCP协议消息发送给第二DHCP设备;第二DHCP设备会进行相应的数字证书合法性和消息完整性的验证。
本实施例中的设备可以基于共享密钥方法进行验证,通过密钥添加单元15在DHCP协议消息中添加密钥标识和公开密钥,进行密钥协商;且在密钥协商的过程中需要对DHCP协议消息进行保护,则通过验证添加单元10添加数字证书和数字签名以便验证;同时为了足够来携带数字证书,则通过消息长度添加单元14添加请求的消息长度,进行消息长度的协商;第二DHCP设备通过数字证书合法性和消息完整性的验证通过后,返回响应消息。这样通过证书验证的方法来保护在共享密钥协商过程中的DHCP协议消息。
另一种设备实施例提供的一种动态主机设置协议DHCP中继设备,负责转发DHCP设备通信双方的DHCP协议消息,结构示意图如图20所示,包括:
第一消息接收单元20,用于接收第一DHCP设备发送的DHCP协议消息,DHCP协议消息中包括第一DHCP设备的数字证书信息和数字签名,若数字证书信息为数字证书本身,则DHCP协议消息的消息长度是第一和第二DHCP设备协商的;若数字证书信息为数字证书的地址标识,则消息长度不需要协商。
消息转发单元21,用于将第一消息接收单元20接收的DHCP协议消息发送给第二DHCP设备;以便第二DHCP设备验证第一DHCP设备的数字证书的合法性;并在第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性。
参考图21所示,在一个具体的实施例中,DHCP中继设备还可以包括:
第一消息长度接收单元22,用于接收请求的消息长度,请求根据请求的消息长度扩展DHCP协议消息的消息长度;
第一消息长度接收单元22可以接收最大DHCP消息大小请求消息,在最大DHCP消息大小请求消息携带请求的消息长度。
消息长度响应转发单元23,用于将第一消息长度接收单元22接收的请求的消息长度发送给第二DHCP设备,并将第二DHCP设备返回的响应消息发送给第一DHCP设备,该响应消息指示第二DHCP设备允许第一DHCP设备扩展协商的消息长度。
消息长度响应转发单元23可以将最大DHCP消息大小请求消息发送给第二DHCP设备,并将第二DHCP设备返回的最大DHCP消息大小响应消息发送给第一DHCP设备,在最大DHCP消息大小响应消息中携带协商的消息长度如最大DHCP消息大小。
本实施例中,通过第一消息长度接收单元22和消息长度响应转发单元23,来转发第一和第二DHCP设备之间的交互信息,并完成了第一、第二DHCP设备对DHCP协议消息的消息长度进行协商,则在DHCP协议消息中携带数字证书时不会受到DHCP协议消息大小的限制。
地址分配单元25,用于当数字证书信息为数字证书的地址标识,向第二DHCP设备分配临时IP地址,以便第二DHCP设备根据临时IP地址和数字证书的地址标识获取相应的数字证书。
本实施例中,如果第一消息接收单元20接收到的DHCP协议消息中携带第一DHCP设备的数字证书和请求的消息长度;当第二DHCP设备接收到消息转发单元21转发的DHCP协议消息后,进行相应验证,在验证通过后,返回DHCP协议消息的响应消息,并在响应消息中携带协商的消息长度及第二DHCP设备的数字证书等。
如果第一消息接收单元20接收的DHCP协议消息中携带的是数字证书的地址标识,当第二DHCP设备还没有获得DHCP服务器为之分配的网络地址,则地址分配单元25会给第二DHCP设备分配临时IP地址,这样第二DHCP设备会用这个临时IP地址与证书中心交互,获得地址标识相应的数字证书。
另一种设备实施例提供的一种动态主机设置协议DHCP设备,结构示意图如图22所示,包括:
第二消息接收单元30,用于接收第一DHCP设备发送的DHCP协议消息,DHCP协议消息中包括第一DHCP设备的数字证书信息和数字签名,若数字证书信息为数字证书本身,则DHCP协议消息的消息长度是第一和第二DHCP设备协商的;
验证单元31,用于验证第一DHCP设备的数字证书的合法性;并在第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性。
参考图23所示,在一个具体的实施例中,DHCP设备还可以包括:
第二消息长度接收单元32,用于接收第一DHCP设备发送的请求的消息长度,请求根据请求的消息长度扩展DHCP协议消息的消息长度;
第二消息长度接收单元32可以接收最大DHCP消息大小请求消息,在最大DHCP消息大小请求消息携带请求的消息长度。
消息长度响应发送单元33,用于向第一DHCP设备返回响应消息,该响应消息指示第二DHCP设备允许第一DHCP设备扩展协商的消息长度。
消息长度响应发送单元33可以先获取协商的消息长度,并将协商的消息长度添加到最大DHCP消息大小响应消息返回给第一DHCP设备。
本实施例中,通过第二消息长度接收单元32和消息长度响应发送单元33,完成了第一、第二DHCP设备对DHCP协议消息的消息长度进行协商,则在DHCP协议消息中携带数字证书时不会受到DHCP协议消息大小的限制。
参考图24所示,在另一个具体的实施例中,DHCP设备还可以包括:
密钥获得单元35,用于当第二消息接收单元30接收的DHCP协议消息中还包括密钥标识和第一DHCP设备的公开密钥,则根据密钥标识和第一DHCP设备的公开密钥获得共享密钥。
若第二消息接收单元30接收的DHCP协议消息中携带的是数字证书的地址标识,则验证单元31可以通过如下两个单元实现:
证书获取子单元311,用于获取临时网络协议地址,将临时IP地址作为第二DHCP设备的临时地址,根据数字证书的地址标识向认证中心请求获取相应的数字证书;
验证子单元312,用于验证证书获取子单元311获取的数字证书的合法性;在数字证书中提取得到第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性。
本实施例中,若当密钥获得单元35发现接收到的DHCP协议消息中携带有密钥标识,则说明需要基于共享密钥进行验证,则通过其中的第一DHCP设备的公开密钥获得共享密钥。
本发明实施例还提供一种DHCP验证系统,包括如图17到图19任一个图所示的DHCP设备,和如图所示22到24任一个图所示的DHCP设备。
本发明实施例还提供一种消息验证系统,包括如图17到图19任一个图所示的DHCP设备,和如图所示22到24任一个图所示的DHCP设备,及如图20或图21任一个图所示的DHCP中继设备。
本发明实施例提供的消息验证系统中的设备进行的DHCP验证方法如方法实施例所述,在此不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
以上对本发明实施例所提供的消息验证方法、系统及设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (25)

1.一种消息验证方法,其特征在于,包括:
将第一动态主机设置协议DHCP设备的数字证书信息和数字签名添加到DHCP协议消息中,若所述数字证书信息为数字证书本身,则所述DHCP协议消息的消息长度是第一和第二DHCP设备协商的;
将所述添加后的DHCP协议消息发送给第二DHCP设备,以便所述第二DHCP设备验证所述第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性。
2.如权利要求1所述的方法,其特征在于,还包括:
发送请求的消息长度给所述第二DHCP设备,以便所述第二DHCP设备根据所述请求的消息长度扩展所述DHCP协议消息的消息长度;
接收所述第二DHCP设备返回的响应,所述响应指示所述第二DHCP设备允许所述第一DHCP设备扩展协商的消息长度。
3.如权利要求2所述的方法,其特征在于,所述发送请求的消息长度给第二DHCP设备具体包括:
将所述请求的消息长度添加到最大DHCP消息大小请求消息中,将所述添加后的最大DHCP消息大小请求消息发送给第二DHCP设备;
所述接收所述第二DHCP设备返回的响应具体包括:接收所述第二DHCP设备返回的最大DHCP消息大小响应消息,所述最大DHCP消息大小响应消息中包括协商的消息长度。
4.如权利要求1所述的方法,其特征在于,所述将所述添加后的DHCP协议消息发送给第二DHCP设备之前还包括:将请求的消息长度添加到所述DHCP协议消息的选项参数域中。
5.如权利要求1至4任一项所述的方法,其特征在于,所述将所述添加后的DHCP协议消息发送给第二DHCP设备之前还包括:
获取所述第一DHCP设备的公开密钥;
将密钥标识和所述第一DHCP设备的公开密钥添加到所述DHCP协议消息中,以便所述第二DHCP设备根据所述密钥标识和第一DHCP设备的公开密钥获得共享密钥。
6.如权利要求1所述的方法,其特征在于,则所述将第一动态主机设置协议DHCP设备的数字证书信息和数字签名添加到DHCP协议消息中具体包括:
将所述第一DHCP设备的数字证书信息和数字签名添加到所述DHCP协议消息的选项参数域中。
7.一种消息验证方法,其特征在于,包括:
接收第一DHCP设备发送的DHCP协议消息,所述DHCP协议消息中包括所述第一DHCP设备的数字证书信息和数字签名,若所述数字证书信息为数字证书本身,则所述DHCP协议消息的消息长度是第一和第二DHCP设备协商的;
验证第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据所述第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性。
8.如权利要求7所述的方法,其特征在于,还包括:
接收所述第一DHCP设备发送的请求的消息长度,请求根据所述请求的消息长度扩展DHCP协议消息的消息长度;
向所述第一DHCP设备返回响应消息,所述响应消息指示允许所述第一DHCP设备扩展协商的消息长度。
9.如权利要求8所述的方法,其特征在于,
所述接收所述第一DHCP设备发送的请求的消息长度具体包括:接收最大DHCP消息大小请求消息,所述最大DHCP消息大小请求消息携带请求的消息长度;
所述向所述第一DHCP设备返回响应消息具体包括:获取协商的消息长度,并将所述协商的消息长度大小添加到最大DHCP消息大小响应消息返回给所述第一DHCP设备。
10.如权利要求7至9任一项所述的方法,其特征在于,
若所述DHCP协议消息中还包括:密钥标识和所述第一DHCP设备的公开密钥,则所述方法还包括:根据所述密钥标识和第一DHCP设备的公开密钥获得共享密钥。
11.如权利要求7至9任一项所述的方法,其特征在于,所述验证第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据所述第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性具体包括:
获取临时网络协议地址,将所述临时IP地址作为第二DHCP设备的临时地址,根据数字证书的地址标识向证书中心请求获取相应的数字证书;
验证数字证书的合法性;并在所述数字证书合法时,在数字证书中提取得到第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性。
12.一种消息验证方法,其特征在于,包括:
接收第一DHCP设备发送的DHCP协议消息,所述DHCP协议消息中包括所述第一DHCP设备的数字证书信息和数字签名,若所述数字证书信息为数字证书本身,则所述DHCP协议消息的消息长度是第一和第二DHCP设备协商的;
将所述DHCP协议消息发送给第二DHCP设备;以便所述第二DHCP设备验证所述第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性。
13.如权利要求12所述的方法,其特征在于,若所述数字证书信息为数字证书的地址标识,则所述方法还包括:
向所述第一和第二DHCP设备中请求获取网络协议IP地址的设备分配临时IP地址,以便所述请求获取网络协议IP地址的设备根据所述临时IP地址和所述数字证书的地址标识获取相应的数字证书。
14.一种动态主机设置协议设备,其特征在于,包括:
验证添加单元,用于将第一动态主机设置协议DHCP设备的数字证书信息和数字签名添加到DHCP协议消息中,若所述数字证书信息为数字证书本身,则所述DHCP协议消息的消息长度是第一和第二DHCP设备协商的;
消息发送单元,用于将所述验证添加单元添加后的DHCP协议消息发送给第二DHCP设备,以便所述第二DHCP设备验证所述第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性。
15.如权利要求14所述的设备,其特征在于,还包括:
消息长度发送单元,用于发送请求的消息长度给所述第二DHCP设备,以便所述第二DHCP设备根据所述请求的消息长度扩展所述DHCP协议消息的消息长度;
消息长度响应接收单元,用于接收所述第二DHCP设备返回的响应,所述响应指示所述第二DHCP设备允许所述第一DHCP设备扩展协商的消息长度。
16.如权利要求14所述的设备,其特征在于,还包括:
消息长度添加单元,用于将请求的消息长度添加到所述DHCP协议消息的中;
则所述消息发送单元将验证添加单元和消息长度添加单元添加后的DHCP协议消息发送给所述第二DHCP设备。
17.如权利要求14至16任一项所述的设备,其特征在于,还包括:
密钥添加单元,用于将密钥标识和所述第一DHCP设备的公开密钥添加到所述DHCP协议消息中,以便所述第二DHCP设备根据所述密钥标识和第一DHCP设备的公开密钥获得共享密钥;
则所述消息发送单元将所述验证添加单元和密钥添加单元添加后的DHCP协议消息发送给所述第二DHCP设备。
18.一种动态主机设置协议中继设备,其特征在于,包括:
第一消息接收单元,用于接收第一DHCP设备发送的DHCP协议消息,所述DHCP协议消息中包括所述第一DHCP设备的数字证书信息和数字签名,若所述数字证书信息为数字证书本身,则所述DHCP协议消息的消息长度是第一和第二DHCP设备协商的;
消息转发单元,用于将所述第一消息接收单元接收的DHCP协议消息发送给第二DHCP设备;以便所述第二DHCP设备验证所述第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性。
19.如权利要求18所述的设备,其特征在于,还包括:
地址分配单元,用于当所述数字证书信息为数字证书的地址标识,则向所述第二DHCP设备分配临时IP地址,以便所述第二DHCP设备根据所述临时IP地址和所述数字证书的地址标识获取相应的数字证书。
20.一种动态主机设置协议设备,其特征在于,包括:
第二消息接收单元,用于接收第一DHCP设备发送的DHCP协议消息,所述DHCP协议消息中包括所述第一DHCP设备的数字证书信息和数字签名,若所述数字证书信息为数字证书本身,则所述DHCP协议消息的消息长度是第一和第二DHCP设备协商的;
验证单元,用于验证第一DHCP设备的数字证书的合法性;并在所述第一DHCP设备的数字证书合法时,根据所述第一DHCP设备的数字证书信息获得第一DHCP设备的公钥,并通过所述第一DHCP设备的公钥验证所述第一DHCP设备的数字签名的有效性。
21.如权利要求20所述的设备,其特征在于,还包括:
第二消息长度接收单元,用于接收所述第一DHCP设备发送的请求的消息长度,请求根据所述请求的消息长度扩展DHCP协议消息的消息长度;
消息长度响应发送单元,用于向所述第一DHCP设备返回响应消息,允许所述第一DHCP设备扩展协商的消息长度。
22.如权利要求20或21所述的设备,其特征在于,还包括:
密钥获得单元,用于当所述第二消息接收单元接收的DHCP协议消息中还包括密钥标识和所述第一DHCP设备的公开密钥,则根据所述密钥标识和第一DHCP设备的公开密钥获得共享密钥。
23.如权利要求20或21所述的设备,其特征在于,所述验证单元具体包括:
证书获取子单元,用于获取临时网络协议地址,将所述临时IP地址作为第二DHCP设备的临时地址,根据数字证书的地址标识向证书中心请求获取相应的数字证书;
验证子单元,用于验证所述证书获取子单元获取的数字证书的合法性;在数字证书中提取得到第一DHCP设备的公钥,并通过第一DHCP设备的公钥验证第一DHCP设备的数字签名的有效性。
24.一种消息验证系统,其特征在于,包括如权利要求14至17任一项所述的动态主机设置协议设备,和如权利要求20到22任一项所述的动态主机设置协议设备。
25.一种消息验证系统,其特征在于,包括如权利要求14至17任一项所述的动态主机设置协议设备,如权利要求18或19所述的动态主机设置协议中继设备,如权利要求20至22任一项所述的动态主机设置协议设备。
CN201010290752.8A 2010-09-20 2010-09-20 一种消息验证方法、系统及设备 Active CN102413103B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010290752.8A CN102413103B (zh) 2010-09-20 2010-09-20 一种消息验证方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010290752.8A CN102413103B (zh) 2010-09-20 2010-09-20 一种消息验证方法、系统及设备

Publications (2)

Publication Number Publication Date
CN102413103A true CN102413103A (zh) 2012-04-11
CN102413103B CN102413103B (zh) 2014-07-30

Family

ID=45914959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010290752.8A Active CN102413103B (zh) 2010-09-20 2010-09-20 一种消息验证方法、系统及设备

Country Status (1)

Country Link
CN (1) CN102413103B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049546A (zh) * 2015-06-25 2015-11-11 瑞斯康达科技发展股份有限公司 一种dhcp服务器为客户端分配ip地址的方法及装置
CN106656502A (zh) * 2016-09-26 2017-05-10 上海兆芯集成电路有限公司 计算机系统及安全执行的方法
CN108632197A (zh) * 2017-03-15 2018-10-09 华为技术有限公司 一种内容验证方法及设备
CN109194631A (zh) * 2018-08-17 2019-01-11 郑州云海信息技术有限公司 一种身份校验方法以及相关装置
WO2021185240A1 (zh) * 2020-03-18 2021-09-23 华为技术有限公司 网络密钥交换协议使用证书认证的方法和通信设备
CN114760279A (zh) * 2022-03-10 2022-07-15 深圳市联洲国际技术有限公司 识别设备类型的方法、服务端与计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070474A1 (en) * 2007-09-12 2009-03-12 Microsoft Corporation Dynamic Host Configuration Protocol
CN101569160A (zh) * 2006-10-16 2009-10-28 诺基亚西门子通信有限责任两合公司 用于传输dhcp消息的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101569160A (zh) * 2006-10-16 2009-10-28 诺基亚西门子通信有限责任两合公司 用于传输dhcp消息的方法
US20090070474A1 (en) * 2007-09-12 2009-03-12 Microsoft Corporation Dynamic Host Configuration Protocol

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049546A (zh) * 2015-06-25 2015-11-11 瑞斯康达科技发展股份有限公司 一种dhcp服务器为客户端分配ip地址的方法及装置
CN105049546B (zh) * 2015-06-25 2018-12-21 瑞斯康达科技发展股份有限公司 一种dhcp服务器为客户端分配ip地址的方法及装置
CN106656502A (zh) * 2016-09-26 2017-05-10 上海兆芯集成电路有限公司 计算机系统及安全执行的方法
CN108632197A (zh) * 2017-03-15 2018-10-09 华为技术有限公司 一种内容验证方法及设备
CN109194631A (zh) * 2018-08-17 2019-01-11 郑州云海信息技术有限公司 一种身份校验方法以及相关装置
WO2021185240A1 (zh) * 2020-03-18 2021-09-23 华为技术有限公司 网络密钥交换协议使用证书认证的方法和通信设备
CN114760279A (zh) * 2022-03-10 2022-07-15 深圳市联洲国际技术有限公司 识别设备类型的方法、服务端与计算机可读存储介质

Also Published As

Publication number Publication date
CN102413103B (zh) 2014-07-30

Similar Documents

Publication Publication Date Title
CN103685272B (zh) 一种认证方法及系统
CN101160924B (zh) 在通信系统中分发证书的方法
US11582230B2 (en) Dynamic MAC address change mechanism for wireless communications
EP1355447B1 (en) Public key certification providing apparatus
US7653813B2 (en) Method and apparatus for address creation and validation
CN102413103B (zh) 一种消息验证方法、系统及设备
EP1361694B1 (en) Public key certification issuing apparatus
US9515824B2 (en) Provisioning devices for secure wireless local area networks
EP2259542B1 (en) Method, apparatus and system for processing dynamic host configuration protocol message
RU2014114503A (ru) Беспроводная связь с использованием одновременной повторной аутентификации и установления соединения
CN105764058A (zh) 接入网络的方法、装置和系统
CN101471767B (zh) 密钥分发方法、设备及系统
CN102231725B (zh) 一种动态主机配置协议报文的认证方法、设备及系统
CN105656901A (zh) 对双栈操作进行互通授权的方法和装置
US7933253B2 (en) Return routability optimisation
US20160373260A1 (en) Public Key Based Network
CN102487506A (zh) 一种基于wapi协议的接入认证方法、系统和服务器
JP2004007512A (ja) 公開鍵証明書提供装置
CN102577299B (zh) 简化的接入网认证信息承载协议
CN102651736B (zh) 基于dhcp的认证方法、dhcp服务器及客户端
CN102761546A (zh) 一种认证实现方法、系统及相关装置
JP2007166552A (ja) 通信装置及び暗号通信方法
CN116074038B (zh) 一种用于IPv6数据安全传输的网关系统及方法
CN106162632B (zh) 一种密钥传输方法和装置
CN113194471B (zh) 基于区块链网络的无线网络接入方法、装置和终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant