CN107579984B - 一种面向网络层的安全通信链路建立方法 - Google Patents
一种面向网络层的安全通信链路建立方法 Download PDFInfo
- Publication number
- CN107579984B CN107579984B CN201710834279.7A CN201710834279A CN107579984B CN 107579984 B CN107579984 B CN 107579984B CN 201710834279 A CN201710834279 A CN 201710834279A CN 107579984 B CN107579984 B CN 107579984B
- Authority
- CN
- China
- Prior art keywords
- datagram
- reconstruction
- party
- reconstruction factor
- factor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种面向网络层的安全通信链路建立方法,属于通信领域,包括如下步骤:步骤1,请求方向被请求方发送连接请求数据报;步骤2,被请求方对请求方发送来的连接请求数据报进行验证;步骤3,被请求方生成带重构因子的连接请求数据报;步骤4,请求方解析收到的带重构因子的数据报并生成带反重构因子的响应数据报;步骤5,被请求方解析收到的带反重构因子的响应数据报并进行验证;步骤6,被请求方向请求方发送允许建立连接的应答数据报,实现安全通信链路的建立。本发明方法可实现被请求方对安全通信链路的控制,能防止非法设备连接,有效抵御泛洪攻击,提升通信的安全性,防止第三方进行窃听,响应速度快,占用计算机资源少。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种面向网络层的安全通信链路建立方法。
背景技术
在通常状态下,一台客户端和服务器在进行网络通信时,都是基于传输控制协议(TCP),建立连接。该协议采用三次握手机制建立一个连接。
由于在三次握手中,服务器必须等待客户端的确认包,因此出现了SYN洪泛攻击,此种攻击是一种很常见的网络攻击。其原理是通过发送大量伪造源地址和源端口的数据包给服务器,而当服务器返回请求响应数据包时,客户端不对其进行确认,服务器因收不到确认包,而一直等待,白白浪费了资源。另一方面,服务器因收不到来自客户端的确认包,会以为请求响应数据包丢失,于是服务器便会重发该数据包,这样更加会浪费服务器的资源。洪泛攻击出现时,攻击者通常会发送非常大量的连接,由于每一个连接都没法完成三次握手,因此大量挂起状态的连接会严重消耗服务器的和内存,导致服务器无法及时响应其他正常客户端的连接请求,还有可能造成服务器死机等严重后果。
现有的防御SYN洪泛攻击的方法,主要是基于Daniel J.Bernstein提出的SYNCookie,其原理是,服务器收到客户端发来的SYN包时,返回SYN+ACK包,并根据这个SYN包计算出一个cookie值返给客户端。当再收到该客户端的ACK包时,该设备根据已计算出的cookie值检查这个包的合法性。如果合法,则允许建立连接。这种方法可以避免攻击者伪造地址的可能性,但其本身也存在以下一些问题:
1.性能差。服务器对于每一个发来的SYN包,都要计算其相应的cookie,而计算cookie会消耗一定的服务器计算资源。对于攻击者来说伪造地址和端口的SYN欺骗包的成本极其小,攻击者很容易就可以伪造出大量SYN欺骗包进行攻击。当攻击者发起攻击时,网络中会存在大量攻击者发来的SYN欺骗包,而服务器由于不知道这些数据包的合法性,会一直忙于计算SYN包的cookie,消耗服务器大量的计算资源,而无法对正常的请求做出响应。
2.无法有效的抵御SYN洪泛攻击。服务器必须对每一个地址或端口不同的SYN数据包,都要向客户端发送一个相应的带有cookie的ACK包。当攻击者向服务器不断发送伪造的SYN数据包时,服务器就要对每一个伪造的数据包,返回一个相应的带有cookie的ACK包。这会导致网络中充斥着大量的无用数据包,而干扰正常的连接请求。从而会使拒绝服务攻击生效。
其次由于在三次握手过程中,客户端和服务端之间进行交互,都是通过IP地址和Mac地址,来识别。而IP地址和Mac地址,都是可以伪造的。因此在三次握手过程中,服务端和客户端就无法确认彼此的身份。第三方窃听者通过截取数据包或着伪造IP或MAC地址,伪装成合法的设备与服务器建立连接,从而达到窃听的目的。
为了确认通信双方彼此的身份,通常的做法是使用口令来进行认证。即客户端在与服务端在建立连接的过程中必须要进行口令认证。只有口令正确,才能进行连接。例如在PPPOE协议的验证过程就是使用的此种方法。其过程是:客户端向服务端发送连接请求,服务端向客户端发送一个随机数,客户端收到随机数后与自己的口令密码一起通过单向函数生成hash值,发送给服务端,服务端收到此hash值后,自己也通过发送的随机数和自己记录的口令一起通过单向函数生成hash值,并与客户端发送来的进行比较,若一致,则认证通过。
尽管此种方法安全性较高,但是此种方法的安全性是通过其算法的复杂性来保证的,为了具有较高的安全性,通常其单向函数计算过程较复杂,计算量比较大。若有大量的连接请求时,也会消耗大量的服务器资源。从而使攻击者可以发送大量的连接请求来攻击服务器。
发明内容
本发明的目的在于提供一种通信更加安全的面向网络层的安全通信链路的建立方法。在通信双方建立安全通信链路过程中,被请求方通过请求连接端发送的包含自身IP地址,MAC地址,设备序列号的连接请求数据报,进行初步的身份认证,认证通过后会向请求方发送特定格式包含验证信息的连接请求,若请求方能正确解析,并生成相应的包含该验证信息的响应数据报,返回给被请求方,则被请求方向请求方发送允许连接应答数据报,通知其允许建立连接;若请求方不能正确解析,则无法生成包含正确的验证数据的响应数据报,此时被请求方终止连接建立过程。
本发明提供了一种面向网络层的安全通信链路建立方法,包括如下步骤:
步骤1,请求方向被请求方发送连接请求数据报;
连接请求数据报包括:发送连接请求数据报设备的IP地址、IP数据、MAC地址、MAC数据和设备序列号;
步骤2,被请求方对请求方发送来的连接请求数据报进行验证;
被请求方从连接请求数据报中提取身份验证信息,并进行验证;若与所预置合法的身份验证信息匹配,则进行下一步,否则不执行操作;
所述身份验证信息包括:发送连接请求数据报设备的IP地址、MAC地址和设备序列号;步骤3,被请求方生成带重构因子的连接请求数据报;
所述带重构因子的连接请求数据报通过在IP数据中填充第一随机数得到;
所涉及重构因子为第一随机数,字节长度为8字节的整数倍,由被请求方生成;
步骤4,请求方解析收到的带重构因子的数据报并生成带反重构因子的响应数据报;
请求方接收到带重构因子的连接请求数据报后,提取连接请求数据报中的重构因子,进而提取连接请求数据报中的身份验证信息;请求方生成第二随机数,作为反重构因子,填充到响应数据报中的数据部分;
所述的反重构因子与重构因子不同,且包含所提取连接请求数据报中的身份验证信息;步骤5,被请求方解析收到的带反重构因子的响应数据报并进行验证;
被请求方接收到带反重构因子的响应数据报,提取反重构因子;将反重构因子和重构因子进行比较;若比较结果一致,则直接终止连接建立过程;若比较结果不一致,被请求方根据该反重构因子提取响应数据报中的身份验证信息,并与步骤2中的身份验证信息进行比较;若身份验证信息比较结果不一致,则终止连接建立过程,否则验证通过,被请求方向请求方发送允许建立连接的应答报文;
步骤6,被请求方向请求方发送允许建立连接的应答数据报,实现安全通信链路的建立。
本发明具有以下有益效果:
1.请求方在发送连接请求数据报时,内嵌自身的原始IP地址,MAC地址,及设备序列号,这样就可以防止非法的设备进行连接,并能有效过滤掉伪造IP地址或MAC地址的数据包。
2.对于验证通过的请求,不予以直接响应,而是先验证再向请求方发送连接请求,这样可以有效的抵御SYN泛洪攻击;在传统的建立连接的过程中,被请求方都是被动的,无法对通信链路进行有效的控制,而在控制权反转之后,被请求方可以对通信链路建立的过程进行有效的控制,被请求方可以选择是否允许建立连接和何时建立连接。而本发明方法的步骤3中实现了控制权反转,使得被请求方对安全通信链路的建立变得可控。
3.在连接建立过程中通过重构因子和反重构因子实现二次验证,由于非法的设备无法解析重构因子,即使接收到报文,也无法解析其中的内容。由此可以确保通信双方的安全性和唯一性,防止第三方进行窃听。
4.在二次验证过程中,重构因子和验证数据都是随机生成的,不需要什么复杂的计算过程,因为其安全性是通过重构因子的存放规则和意义来确保的,与传统的加解密或单向函数相比,速度快,占用较少的计算机资源。
附图说明
图1是本发明中请求方和被请求方建立安全通信链路的过程示意图。
图2是本发明中请求方和被请求方建立安全通信链路时的流程图。
图3是本发明中的内嵌设备验证信息的连接请求数据报的格式。
图4是本发明中带重构因子的IP数据报的字段结构。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现在结合图1和图2来说明其具体实施的步骤,其主要包括:
步骤1,请求方向被请求方发送包含设备验证信息的连接请求数据报。
本发明实施例中步骤1发生在请求方向被请求方请求建立连接时,请求方在发送请求连接数据报时,在原本的IP数据报的数据字段中添加设备的IP地址,Mac地址,以及设备序列号,例如磁盘序列号等可以标识自己身份的信息,作为身份验证信息。在被请求方必须存储与请求方相应的设备信息,作为连接的白名单,防止不合法的设备进行连接。其具体的数据报格式如图3所示。
步骤2,被请求方解析收到的连接请求数据报,并提取其中的原始IP地址,MAC地址和设备验证信息,判断其是否合法。
在本发明实施例步骤2中,被请求方收到来自请求方的连接请求数据报时,首先提取该请求数据报中内嵌的IP地址、Mac地址和设备序列号,然后将该IP地址和Mac地址与MAC帧中所带的进行比较;若不一致则丢弃,不进行任何操作,若相同,再从合法设备信息表中查找是否有相应的设备信息,若有,则丢包,并向请求方发送连接请求数据报。同时记录下该设备信息,当再次有相同的设备信息的请求报文发来时,则直接丢弃,不再做任何操作。
步骤3,若验证通过,则被请求方生成重构因子和有效验证数据,并将其填充到数据报的数据部分,然后其作为连接请求数据报向请求方发起连接请求。
本发明实施例中所述的重构因子是数据报数据部分中嵌入的特殊格式的字段,包括有效字节字段和每一字节有效位字段,其具体格式如图4所示。其中每一字节有效位字段占一个字节,其中的每一位分别表示一个字节中哪些位是有效的,即包含验证信息的位,如10000011表示每个有效字节的最高位和最低两位比特含有有效数据。有效字节字段长度取决于IP数据报中除去重构因子字段后的字节数。
即
其含义表示哪些字节中的数据是有效的,如10001001表示第1,5,8字节里含有有效的数据。
本发明实施例中被请求方生成该连接请求数据报的方法是,首先通过随机数生成器随机生成一段长度大于或等于64字节,且小于1480字节的数据,并且长度为8的倍数。将该数据直接作为IP数据报部分,即重构因子和验证数据。以太网所允许的最大有效载荷为1500字节,除去IP首部的20字节,只剩余1480字节,为了防止分片,最好小于1480。
此时被请求方按照生成的数据的长度计算出相应的重构因子字段,进而按照重构因子的规则从后面的数据部分提取验证数据信息,并记录下来,同时也记录下重构因子信息。为了防止窃听者直接将发送的数据包返回给被请求方。
步骤4,请求方接收到被请求方发来的带重构因子的连接请求数据报,对其进行解析,提取其中的重构因子,并根据重构因子提取其中包含的有效验证数据,同时生成带反重构因子的响应数据报,发送给被请求方。
在本发明实施例步骤4中,请求方接收到被请求方发送来的请求连接数据报,首先根据IP数据报的长度计算出相应的重构因子的长度,进而按照重构因子提取出有效的验证数据,此时请求方会生成一个反重构因子,此反重构因子必须与提取的反重构因子不同,同时要保证反重构因子中的确定的有效位数与有效验证数据的位数相同。此时按照反重构因子的规则,将有效验证数据以此放到相应的位上,对于未放有效数据的位,则用随机数来填。
在本发明实施例中所述的反重构因子,与步骤3中所述的重构因子类似,都由有效字节字段和每一字节有效位字段构成,反重构因子与对应的重构因子必须不同,但他们所表示的在数据报数据部分中的有效验证数据是相同的。
步骤5,被请求接收到请求方发送来的带反重构因子的响应数据报,对其进行解析,提取其中的反重构因子,并根据反重构因子,提取有效验证数据,并验证其是否正确。
在本发明实施例步骤5中,被请求方接收到带反重构因子的数据报后,会通过相同的方法,根据长度计算出重构因子的长度,然后根据该反重构因子,从后面的数据中提取出有效验证数据,并与之前记录的验证数据进行比较,同时还要比较提取的反重构因子与记录的是否相同。只有当验证数据一致,且反重构因子与重构因子不一致时,验证才通过。否则终止连接建立过程
步骤6,当上一步验证通过后,被请求方向请求方发送允许连接应答数据报,通知请求方可以建立连接。
在本发明实施例步骤6中,当步骤5中提取的有效验证数据验证通过后,被请求端还必须向请求端发送一个允许建立连接的应答数据报。通知请求端已验证通过,可以进行数据传输了。此时,为了确保被请求方知道请求方已收到该允许建立连接的应答数据报,请求方在收到数据报后应立即向被请求端发送一个确认报文,告知其已收到允许建立连接。的应答数据报。
Claims (1)
1.一种面向网络层的安全通信链路建立方法,其特征是,包括如下步骤:
步骤1,请求方向被请求方发送连接请求数据报;
所述连接请求数据报包括:发送连接请求数据报设备的IP地址、IP数据、MAC地址、MAC数据和设备序列号;在被请求方必须存储与请求方相应的设备信息,作为连接的白名单,防止不合法的设备进行连接;
步骤2,被请求方对请求方发送来的连接请求数据报进行验证;
被请求方从连接请求数据报中提取身份验证信息,并进行验证;若与所预置合法的身份验证信息匹配,则进行下一步,否则不执行操作;
所述身份验证信息包括:发送连接请求数据报设备的IP地址、MAC地址和设备序列号;
被请求方收到来自请求方的连接请求数据报时,首先提取该请求数据报中内嵌的IP地址、Mac地址和设备序列号,然后将该IP地址和Mac地址与请求数据报首部中所带的IP地址和Mac地址进行比较;若不一致则丢弃,不进行任何操作,若相同,再从合法设备信息表中查找是否有相应的设备信息,若有,则丢包,并向请求方发送连接请求数据报;同时记录下该设备信息,当再次有相同的设备信息的请求报文发来时,则直接丢弃,不再做任何操作;
步骤3,若验证通过,则被请求方生成重构因子和有效验证数据,并将其填充到数据报的数据部分,然后其作为连接请求数据报向请求方发起连接请求;
重构因子是数据报数据部分中嵌入的特殊格式的字段,包括有效字节字段和每一字节有效位字段;其中每一字节有效位字段占一个字节,其中的每一位分别表示一个字节中哪些位是有效的,即包含验证信息的位;有效字节字段长度取决于IP数据报中除去重构因子字段后的字节数;
被请求方按照生成的数据的长度计算出相应的重构因子字段,进而按照重构因子的规则从后面的数据部分提取验证数据信息,并记录下来,同时也记录下重构因子信息;
步骤4,请求方解析收到的带重构因子的数据报并生成带反重构因子的响应数据报;
请求方接收到带重构因子的连接请求数据报后,提取连接请求数据报中的重构因子,进而提取连接请求数据报中的身份验证信息;请求方生成反重构因子,填充到响应数据报中的数据部分;所述的反重构因子,与步骤3中所述的重构因子类似,都由有效字节字段和每一字节有效位字段构成,反重构因子与对应的重构因子不同,但它们所表示的在数据报数据部分中的有效验证数据是相同的;
所述的反重构因子与重构因子包含所提取连接请求数据报中的身份验证信息;
具体为请求方接收到被请求方发送来的请求连接数据报,首先根据IP数据报的长度计算出相应的重构因子的长度,进而按照重构因子提取出有效的验证数据,此时请求方会生成一个反重构因子,按照反重构因子的规则,将有效验证数据以此放到相应的位上,对于未放有效数据的位,则用随机数来填;
步骤5,被请求方解析收到的带反重构因子的响应数据报并进行验证;
被请求方接收到带反重构因子的响应数据报,提取反重构因子;将反重构因子和重构因子进行比较;若比较结果一致,则直接终止连接建立过程;若比较结果不一致,被请求方根据该反重构因子提取响应数据报中的身份验证信息,并与步骤2中的身份验证信息进行比较;若身份验证信息比较结果不一致,则终止连接建立过程,否则验证通过,执行步骤6;
步骤6,被请求方向请求方发送允许建立连接的应答数据报,实现安全通信链路的建立。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710834279.7A CN107579984B (zh) | 2017-09-15 | 2017-09-15 | 一种面向网络层的安全通信链路建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710834279.7A CN107579984B (zh) | 2017-09-15 | 2017-09-15 | 一种面向网络层的安全通信链路建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107579984A CN107579984A (zh) | 2018-01-12 |
CN107579984B true CN107579984B (zh) | 2020-12-18 |
Family
ID=61033382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710834279.7A Active CN107579984B (zh) | 2017-09-15 | 2017-09-15 | 一种面向网络层的安全通信链路建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107579984B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134881B (zh) * | 2020-09-22 | 2023-03-21 | 宏图智能物流股份有限公司 | 一种基于序列号的网络请求防篡改方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453254A (zh) * | 2016-09-08 | 2017-02-22 | 北京知道未来信息技术有限公司 | 一种规避防火墙检测的无状态扫描方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7219228B2 (en) * | 2003-08-25 | 2007-05-15 | Lucent Technologies Inc. | Method and apparatus for defending against SYN packet bandwidth attacks on TCP servers |
CN1630248A (zh) * | 2003-12-19 | 2005-06-22 | 北京航空航天大学 | 基于连接请求验证的SYN flooding攻击防御方法 |
CN103546486A (zh) * | 2013-11-04 | 2014-01-29 | 北京荣之联科技股份有限公司 | 一种防DDOS攻击的SYN Cookie源认证方法及其装置 |
CN104683293A (zh) * | 2013-11-27 | 2015-06-03 | 杭州迪普科技有限公司 | 一种基于逻辑器件的syn攻击防护方法 |
-
2017
- 2017-09-15 CN CN201710834279.7A patent/CN107579984B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453254A (zh) * | 2016-09-08 | 2017-02-22 | 北京知道未来信息技术有限公司 | 一种规避防火墙检测的无状态扫描方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107579984A (zh) | 2018-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE49053E1 (en) | System and method for an adaptive TCP SYN cookie with time validation | |
US7584352B2 (en) | Protection against denial of service attacks | |
US5958053A (en) | Communications protocol with improved security | |
US8800001B2 (en) | Network authentication method, method for client to request authentication, client, and device | |
US8499146B2 (en) | Method and device for preventing network attacks | |
US8468347B2 (en) | Secure network communications | |
US8418242B2 (en) | Method, system, and device for negotiating SA on IPv6 network | |
US20010042200A1 (en) | Methods and systems for defeating TCP SYN flooding attacks | |
CN111245862A (zh) | 一种物联网终端数据安全接收、发送的系统 | |
Petullo et al. | MinimaLT: minimal-latency networking through better security | |
EP2850770A1 (en) | Transport layer security traffic control using service name identification | |
CN106230587B (zh) | 一种长连接防重放攻击的方法 | |
CN112637136A (zh) | 加密通信方法及系统 | |
WO2010000171A1 (zh) | 一种通信的建立方法、系统和装置 | |
Cao et al. | 0-rtt attack and defense of quic protocol | |
CN113904807B (zh) | 一种源地址认证的方法、装置、电子设备及存储介质 | |
Touil et al. | Secure and guarantee QoS in a video sequence: a new approach based on TLS protocol to secure data and RTP to ensure real-time exchanges | |
CN113904809B (zh) | 一种通信方法、装置、电子设备及存储介质 | |
EP1154610A2 (en) | Methods and system for defeating TCP Syn flooding attacks | |
CN113055357B (zh) | 单包验证通信链路可信的方法、装置、计算设备及存储介质 | |
US7634655B2 (en) | Efficient hash table protection for data transport protocols | |
CN107579984B (zh) | 一种面向网络层的安全通信链路建立方法 | |
Saverimoutou et al. | Which secure transport protocol for a reliable HTTP/2-based web service: TLS or QUIC? | |
CN210839642U (zh) | 一种物联网终端数据安全接收、发送的装置 | |
CN116389169B (zh) | 一种避免国密IPSecVPN网关数据包乱序、分片的方法 |
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 |