CN113904807B - 一种源地址认证的方法、装置、电子设备及存储介质 - Google Patents

一种源地址认证的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113904807B
CN113904807B CN202111049948.2A CN202111049948A CN113904807B CN 113904807 B CN113904807 B CN 113904807B CN 202111049948 A CN202111049948 A CN 202111049948A CN 113904807 B CN113904807 B CN 113904807B
Authority
CN
China
Prior art keywords
nlp
sender
data packet
receiver
data
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
CN202111049948.2A
Other languages
English (en)
Other versions
CN113904807A (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.)
21VIANET GROUP Inc
Original Assignee
21VIANET GROUP Inc
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 21VIANET GROUP Inc filed Critical 21VIANET GROUP Inc
Priority to CN202111049948.2A priority Critical patent/CN113904807B/zh
Publication of CN113904807A publication Critical patent/CN113904807A/zh
Priority to PCT/CN2022/130453 priority patent/WO2023036348A1/zh
Application granted granted Critical
Publication of CN113904807B publication Critical patent/CN113904807B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种源地址认证的方法、装置、电子设备及存储介质,用以解决现有技术中存在的高单边通信中接收方的网络安全较低的技术问题,该方法包括:根据数据传输请求,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包;其中,所述发送方签名是通过所述发送方的发送方私钥生成的,所述NLP目的地址为所述接收方的接收方公钥,所述NLP源地址为所述发送方的发送方公钥,所述接收方使用的也是所述NLP协议栈;将所述NLP数据包发送给所述接收方,使所述接收方用所述NLP源地址验证所述发送方签名,并在验证成功后记录所述序列号,以及获取所述待发送数据。

Description

一种源地址认证的方法、装置、电子设备及存储介质
技术领域
本发明涉及通信领域,尤其是涉及一种源地址认证的方法、装置、电子设备及存储介质。
背景技术
在互联网中,网络传输层协议通常使用的是传输控制协议(TransmissionControl Protocol/Internet Protocol,TCP/IP),所有的TCP、用户数据报协议(UserDatagram Protocol,UDP)及其它传输层协议的数据都被IP数据包直接封装,作为其数据字段进行传输,这对异构网络的互联提供了极大的灵活性。
然而,在使用TCP/IP协议的网络中传输数据时,攻击者可以通过IP地址欺骗目标主机,以便对目标主机进行拒绝服务攻击、伪造TCP连接、会话劫持、隐藏攻击主机地址等。对于只需接收方接收数据或信息(单边通信)的应用场景,当攻击者通过IP欺骗伪装为发送方向接收方发送攻击数据包时,由于接收方无法验证接收到的数据包的来源身份,使得接收方易被攻击。
鉴于此,如何提高单边通信中接收方的网络安全,成为一个亟待解决的技术问题。
发明内容
本发明提供一种源地址认证的方法、装置、电子设备及存储介质,用以解决现有技术中存在的高单边通信中接收方的网络安全较低的技术问题。
第一方面,为解决上述技术问题,本发明实施例提供的一种源地址认证的方法,应用于发送方,所述发送方使用的是新链网NLP协议栈,该方法的技术方案如下:
根据数据传输请求,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包;其中,所述发送方签名是通过所述发送方的发送方私钥生成的,所述NLP目的地址为所述接收方的接收方公钥,所述NLP源地址为所述发送方的发送方公钥,所述接收方使用的也是所述NLP协议栈;
将所述NLP数据包发送给所述接收方,使所述接收方用所述NLP源地址验证所述发送方签名,并在验证成功后记录所述序列号,以及获取所述待发送数据。
一种可能的实施方式,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包之前,还包括:
随机生成所述发送方私钥;
基于非对称加密算法和所述发送方私钥,生成所述发送方公钥。
一种可能的实施方式,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包,包括:
从所述数据传输请求中获取所述NLP目的地址和所述待发送数据;
对所述NLP目的地址进行解析,获得所述接收方的接收方物理地址;
用所述发送方私钥对所述NLP数据包中至少包含所述序列号及随机数的部分头部信息进行加密,获得所述发送方签名;
将所述发送方签名、所述NLP源地址、所述发送方的发送方物理地址、所述NLP目的地址、所述接收方物理地址以及所述待发送数据封装为所述NLP数据包。
一种可能的实施方式,所述发送方连续发送给所述接收方的多个数据包中的多个序列号是按升序设置的。
一种可能的实施方式,所述序列号包括时间戳。
第二方面,本发明实施例提供了一种源地址认证的方法,应用于接收方,述接收方使用的是新链网NLP协议栈,包括:
接收发送方发送的NLP数据包;其中,所述NLP数据包是由发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装成的,所述发送方签名是通过所述发送方的发送方私钥生成的,所述NLP目的地址为所述接收方的接收方公钥,所述NLP源地址为所述发送方的发送方公钥,所述发送方使用的也是所述NLP协议栈;
从所述NLP数据包中获取所述NLP源地址、所述发送方签名及所述序列号;
通过所述NLP源地址、所述发送方签名及所述序列号验证所述NLP数据包来源的真实性和非重复性,若都验证通过则存储所述序列号并获取所述待发送数据,否则丢弃所述NLP数据包。
一种可能的实施方式,通过所述NLP源地址、所述发送方签名及所述序列号验证所述NLP数据包来源的真实性和非重复性,包括:
用所述NLP源地址验证所述发送方签名,若验证成功则确定所述NLP数据包的来源为所述发送方;
判断所述序列号是否大于从所述发送方接收到的上一个NLP数据包中的序列号,若为是,则确定所述NLP数据包是非重复的。
第三方面,本发明实施例提供了一种源地址认证的装置,一种源地址认证的装置,应用于发送方,包括:
封装单元,用于根据数据传输请求,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包;其中,所述发送方签名是通过所述发送方的发送方私钥生成的,所述NLP目的地址为所述接收方的接收方公钥,所述NLP源地址为所述发送方的发送方公钥,所述接收方使用的也是新链网NLP协议栈;
发送单元,用于将所述NLP数据包发送给所述接收方,使所述接收方用所述NLP源地址验证所述发送方签名,并在验证成功后记录所述序列号,以及获取所述待发送数据。
一种可能的实施方式,所述装置还包括生成单元,所述生成单元用于:
随机生成所述发送方私钥;
基于非对称加密算法和所述发送方私钥,生成所述发送方公钥。
一种可能的实施方式,所述封装单元还用于:
从所述数据传输请求中获取所述NLP目的地址和所述待发送数据;
对所述NLP目的地址进行解析,获得所述接收方的接收方物理地址;
用所述发送方私钥对所述NLP数据包中至少包含所述序列号及随机数的部分头部信息进行加密,获得所述发送方签名;
将所述发送方签名、所述NLP源地址、所述发送方的发送方物理地址、所述NLP目的地址、所述接收方物理地址以及所述待发送数据封装为所述NLP数据包。
一种可能的实施方式,所述发送方连续发送给所述接收方的多个数据包中的多个序列号是按升序设置的。
一种可能的实施方式,所述序列号包括时间戳。
第四方面,本发明实施例提供了一种源地址认证的装置,一种源地址认证的装置,应用于接收方,包括:
接收单元,用于接收发送方发送的NLP数据包;其中,所述NLP数据包是由发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装成的,所述发送方签名是通过所述发送方的发送方私钥生成的,所述NLP目的地址为所述接收方的接收方公钥,所述NLP源地址为所述发送方的发送方公钥,所述发送方使用的也是新链网NLP协议栈;
获取单元,用于从所述NLP数据包中获取所述NLP源地址、所述发送方签名及所述序列号;
验证单元,用于通过所述NLP源地址、所述发送方签名及所述序列号验证所述NLP数据包来源的真实性和非重复性,若都验证通过则存储所述序列号并获取所述待发送数据,否则丢弃所述NLP数据包。
一种可能的实施方式,所述验证单元还用于:
用所述NLP源地址验证所述发送方签名,若验证成功则确定所述NLP数据包的来源为所述发送方;
判断所述序列号是否大于从所述发送方接收到的上一个NLP数据包中的序列号,若为是,则确定所述NLP数据包是非重复的。
第三方面,本发明实施例还提供一种源地址认证的电子设备,包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上述第一方面或第二方面所述的方法。
第四方面,本发明实施例还提供一种可读存储介质,包括:
存储器,
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上述第一方面或第二方面所述的方法。
通过本发明实施例的上述一个或多个实施例中的技术方案,本发明实施例至少具有如下技术效果:
在本发明提供的实施例中,通过在发送方NLP数据包中携带能够验证其身份的NLP源地址和发送方签名、以及防重放攻击的序列号,使接收方能直接根据接收到的NLP数据包对其NLP源地址进行身份验证,这种源地址认证的方式具备去中心化自证与它证、发送方不可抵赖、杜绝DDOS攻击等特点;并验证其是否为重放攻击的数据包,在任一个验证不通过时,丢弃NLP数据包,从而能够在防止IP地址欺骗的同时有效地抵御直接复制报文的重放攻击,提高接收方的安全性,当应用在对时效性要求较高的单边通信中时,能够同时让接收高具有高时效性和高网络安全性。
附图说明
图1为本发明实施例提供的NLP数据包的封装结构示意图;
图2为本发明实施例提供的NLP数据包中NLP基本头部的结构示意图;
图3为本发明实施例提供的NLPSig扩展头的结构示意图;
图4为本发明实施例提供的发送方侧源地址认证方法的流程图;
图5为本发明实施例提供的接收方侧源地址认证方法的流程图;
图6为本发明实施例提供的源地址认证方法的流程图;
图7为本发明实施例提供的发送方侧源地址认证装置的结构示意图;
图8为本发明实施例提供的接收方侧源地址认证装置的结构示意图。
具体实施方式
本发明实施列提供一种源地址认证的方法、装置、电子设备及存储介质,用以解决现有技术中存在的高单边通信中接收方的网络安全较低的技术问题。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
在现有技术中,为了解决上述IP地址欺骗的问题,通常可以采用以下几种解决方案:
方案一、接入端监控,即接入交换机、路由器利用远程用户拨号认证服务(RemoteAuthentication Dial In User Service,RADIUS)、动态主机配置协议(Dynamic HostConfiguration Protocol,DHCP)、物理地址(Media Access Control Address,MAC)和IP动态绑定等方式在接入端控制IP,使得主机不可仿冒为其它IP。但这种方案的缺点在于:运营商对接入端监控,只能解决一小部分用户(如家庭网络)的IP地址欺骗。
方案二、在边缘和核心网的路由器监控数据包,如单播反向路径检查(UnicastReverse Path Forwarding,uRPF),若数据包的单播反向路径检查失败,则说明该数据包的来源是仿冒的,不予通行。这种方案的缺点在于:只能解决一部分公网IP地址的冒用。
方案三、放弃源地址信任,建立基于密码的认证机制,加密传输和身份验证。如,超文本传输安全协议(Hyper Text Transfer Protocol over SecureSocket Layer,HTTPS)的传输层安全(Transport Layer Security,TLS)机制、互联网协议安全(InternetProtocol Security,IPSec)方案等。这种方案的缺点在于,需要较为复杂的上层协议来实现密码(密钥)的认证和加密传输(如TLS、IPsec等),解决了IP欺骗造成的大部分安全隐患,但是不能解决IP地址认证的问题,仿冒者依然可以通过伪造IP地址嗅探到数据包,可以发起分布式拒绝服务攻击(Distributed denial of service attack,DDOS攻击)。
方案四、源地址验证体系(Source Address Validation Architecture,SAVA)架构,可以在接入网、域内和域间进行源地址验证。这种方案的缺点在于,域内验证只能约束域内用户行为,无法对外域攻击建立防御基础;域间验证方案存在带宽、计算资源开销过大等不足,影响数据传输性能,部分方案对第三方设施存在依赖。
显然,上述方案都不能彻底解决IP地址欺骗的问题。这使得在要求高时效、可靠性要求不高的单边通信中,接收方仍然存在被攻击的风险,造成接收方的网络安全仍然较低。
为解决上述方案,本发明提供一种源地址认证的方法、装置、电子设备及存储介质,本发明中的通信双方(发送方、接收方)都使用了发明人设计的新链网(New LinkProtocol,NLP)协议栈,使通信双方可以使用公钥作为NLP地址进行网络通信。
为了是本领域的技术人员能充分理解本发明,现对NLP协议栈做一个简单的介绍。
请参见表1为本发明实施例提供的NLP协议栈的结构示意图。
表1
NLP协议栈相当于将传统IP协议栈中的网络层使用的IP协议改为NLP协议。在NLP协议栈通信双方使用的网络地址为NLP地址,该NLP地址为本地生成的32字节的公钥。VARP是对ARP协议的扩展,用于解析NLP地址和MAC地址的映射关系。
通过NLP协议栈生成的数据包被称之为NLP数据包,通过NLP协议栈生成的报文称之为NLP协议报文。
请参见图1为本发明实施例提供的NLP数据包的封装结构示意图。
NLP数据包包括以太头(占用14字节)、NLP基本头部(占用72字节)、NLP扩展头部(可有、可无,即可选)、传输层头部(占用字节长度可以跟实际需要设置,即不定长)、数据(不定长)。
请参见图2为本发明实施例提供的NLP数据包中NLP基本头部的结构示意图。
NLP基本头部包括:
版本(占用1字节),表示使用的NLP协议版本。
服务(占用1字节),表示提供的服务类型,类似IP中的ToS字段。
流标签(占用2字节),标记报文的数据流类型,可用于质量服务。
包长度(占用2字节,包含NLP基本头部的长度,NLP扩展头部的长度和数据的长度。
下个头(占用1字节,下一个扩展头或者上层协议类型。
跳数(占用1字节),限制NLP数据包被转发的次数。
NLP源地址(占用32字节),发送方的NLP地址。
NLP目的地址(占用32字节),接收方的NLP地址。
上述NLP数据包中的NLP扩展头部包括NLPSig扩展头。
请参见图3为本发明实施例提供的NLPSig扩展头的结构示意图。
NLPSig扩展头部包括:
下个头(占用1字节),表示下一个扩展头或者上层协议类型。
保留(占用3字节),预留的位置,用于后续有需要时使用。
序列号(占用4字节),用于防止重放攻击。
随机数(占用32字节),用于混淆每次的签名内容。
数字签名(占用64字节),对扩展头部前40个字节进行加密签名,以认证身份,同时也可以保证扩展头内容的完整性。
下面将分别从通信双方中的发送方、接收方对本发明的方案进行介绍:
请参考图4,本发明实施例提供一种源地址认证的方法,应用于发送方,发送方使用的是NLP协议栈,该方法的处理过程如下:
步骤401:根据数据传输请求,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包;其中,发送方签名是通过发送方的发送方私钥生成的,NLP目的地址为接收方的接收方公钥,NLP源地址为发送方的发送方公钥,接收方使用的也是NLP协议栈;
步骤402:将NLP数据包发送给接收方,使接收方用NLP源地址验证发送方签名,并在验证成功后记录序列号,以及获取待发送数据。
在步骤401中,数据传输请求可以使基于发送方中的上层应用生成的,在数据传输请求中可以包括待发送数据、接收方的NLP地址。
NLP数据包中的NLP扩展头部使用的是NLPSig扩展头,NLP数据包按图1的NLP数据包的封装结构进行封装的。
在步骤401中,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包之前,若发送方已生成NLP源地址,则可以直接执行步骤401。
若发送方并未生成NLP源地址,则还需要先生成NLP源地址,具体通过下列方式实现:
随机生成发送方私钥;基于非对称加密算法和发送方私钥生成发送方公钥。
非对称加密算法,例如可以是椭圆曲线算法ED25519。
例如,发送方为一台服务器,在此服务器中使用的是NLP协议栈,当前服务器中的一个应用需要向接收方(假设为一台电脑)发送某个电影的视频流时,会将此电影分成多个待发送数据依次发送给接收方,服务器在发送其中任一个待发送数据时,会生成对应的数据传输请求,在该数据传输请求中包括待发送数据和接收方的NLP目的地址。
但由于此服务器为新接入的服务器,其还没有设置NLP地址,因此需要先随机生成32字节的发送方私钥,再用非对称加密算法(如椭圆曲线算法ED25519)和发送方私钥,生成发送方公钥,并将发送方公钥作为服务器的NLP地址。之后,服务器便可将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包,并发送给电脑。
一种可能的实施方式,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包,可以通过下列方式实现:
从数据传输请求中获取NLP目的地址和待发送数据;对NLP目的地址进行解析,获得接收方的接收方物理地址;用发送方私钥对NLP数据包中至少包含序列号及随机数的部分头部信息进行加密,获得发送方签名;将发送方签名、NLP源地址、发送方的发送方物理地址、NLP目的地址、接收方物理地址以及待发送数据封装为数据包。
例如,老师通过设备A(即发送方)进行在线视频教学,观看教学视频的学生通过设备B(及接收方)接收视频内容,设备A从数据传输请求中获取设备B的NLP目的地址及待发送数据,然后对NLP目的地址进行解析,得到对于的接收方物理地址,同时还用设备A的发送方私钥对NLP数据包中至少包含序列号及随机数的部分头部进行加密,得到此NLP数据包对应的发送方签名,将其作为NLP扩展头部中的数字签名。最后,将发送方签名、NLP源地址、发送方的发送方物理地址、NLP目的地址、接收方物理地址以及待发送数据封装为NLP数据包,并发送给设备B,使设备B可以用NLP源地址验证发送方签名,进而验证发送方的身份,在验证成功后记录当前接收到的NLP数据包的序列号,以便验证下一个NLP数据包是否是重复的,并获取待发送数据。
需要理解的是,在依次生成上述教学视频的多个待发送数据后,相应的会为每个待发送数据分配对应的序列号,多个待发送数据对应的多个序列号的值是按时间顺序递增的,如最先生成的第一个待发送数据对应的序列号为1,第二待发送数据的序列号为2,…,第n个待发送数据的序列号为n。
一种可能的实施方式,发送方连续发送给接收方的多个数据包中的多个序列号是按升序设置的。
一种可能的实施方式,序列号包括时间戳。及可以将时间戳作为序列号。
例如,上述教学视频的多个待发送数据中第一个待发送数据的生成时间(即时间戳)为8:31,则对应的序列号可以设置为831,第二待发送数据的生成时间为8:32,则对应的序列号可以设置为832,其他可依次类推,不再一一赘述。
在介绍完源地址认证的方法中发送方所在侧的实施例后,下面将从接收方所在侧进行介绍。
请参见图5,本发明一实施例中提供一种源地址认证的方法,应用于接收方,接收方使用的是新链网NLP协议栈,该方法包括:
步骤501:接收发送方发送的NLP数据包;其中,NLP数据包是由发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装成的,发送方签名是通过发送方的发送方私钥生成的,NLP目的地址为接收方的接收方公钥,NLP源地址为发送方的发送方公钥,发送方使用的也是NLP协议栈;
步骤502:从NLP数据包中获取NLP源地址、发送方签名及序列号;
步骤503:通过NLP源地址、发送方签名及序列号验证NLP数据包来源的真实性和非重复性,若都验证通过则存储序列号并获取待发送数据,否则丢弃NLP数据包。
通过NLP源地址、发送方签名及序列号验证NLP数据包来源的真实性和非重复性,可以通过下列方式实现:
用NLP源地址验证发送方签名,若验证成功则确定NLP数据包的来源为发送方;判断序列号是否大于从发送方接收到的上一个NLP数据包中的序列号,若为是,则确定NLP数据包是非重复的。
例如,接收方本地存储了发送方发送的上一个NLP数据包的序列号为n,当前接收方接收到NLP数据包1和NLP数据包2,从NLP数据包1获取其中携带的NLP源地址1和发送方签名1,并用发送NLP地址1验证发送方签名1,验证结果是失败,接收方确定NLP数据包1的来源存疑,验证不通过,将NLP数据包1丢弃。
接收方从NLP数据包2获取其中携带的NLP源地址2和发送方签名2,并用发送NLP地址2验证发送方签名2,验证结果是通过,确定NLP数据包2的来源正常,然后进一步判断NLP数据包2中携带的序列号2是否大于n(上一个NLP数据包的序列号),若为是确定NLP数据包2是非重复的,之后可以从NLP数据包2中获取待发送数据,并传输给上层协议处理,以便传输给上层应用。若序列号2小于等于n,则确定NLP数据包2无效,丢弃NLP数据包2。
为了是本领域的技术人员能充分理解上述技术方案,下面提供一个详细的例子进行说明:
请参见图6为本发明实施例提供的源地址认证方法的流程图。
假设发送方为网络电视提供端,接收方为客户端,网络电视提供端将电视节目分为多个待发送数据发送给客户端,网络电视提供端针对每个待发送数据生成对应的数据传输请求,在该数据传输请求中包含客户端的NLP目的地址和待发送数据。
步骤601:网络电视提供端根据数据传输请求,生成对应的NLP数据包。
具体生成NLP数据包的方法可以参见发送方中实施例部分的描述,在此不再赘述。
步骤602:网络电视提供端发送NLP数据包给客户端。
步骤603:客户端根据NLP数据包中携带的NLP源地址和发送方签名,验证发送方身份,若发送方的身份验证成功则进一步验证NLP数据包是否是非重复的,若为是则记录此NLP数据包中的序列号并获取其中的待发送数据,若不成功则丢弃NLP数据包。
在本发明提供的实施例中,通过在发送方NLP数据包中携带能够验证其身份的NLP源地址和发送方签名、以及防重放攻击的序列号,使接收方能直接根据接收到的NLP数据包对其NLP源地址进行身份验证,这种源地址认证的方式具备去中心化自证与它证、发送方不可抵赖、杜绝DDOS攻击等特点;并验证其是否为重放攻击的数据包,在任一个验证不通过时,丢弃NLP数据包,从而能够在防止IP地址欺骗的同时有效地抵御直接复制报文的重放攻击,提高接收方的安全性,当应用在对时效性要求较高的单边通信中时,能够同时让接收高具有高时效性和高网络安全性。
基于同一发明构思,本发明一实施例中提供一种源地址认证的装置,应用于发送方,该装置的源地址认证方法的具体实施方式可参见发送方侧方法实施例部分的描述,重复之处不再赘述,请参见图7,该装置包括:
封装单元701,用于根据数据传输请求,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包;其中,所述发送方签名是通过所述发送方的发送方私钥生成的,所述NLP目的地址为所述接收方的接收方公钥,所述NLP源地址为所述发送方的发送方公钥,所述接收方使用的也是新链网NLP协议栈;
发送单元702,用于将所述NLP数据包发送给所述接收方,使所述接收方用所述NLP源地址验证所述发送方签名,并在验证成功后记录所述序列号,以及获取所述待发送数据。
一种可能的实施方式,所述装置还包括生成单元703,所述生成单元703用于:
随机生成所述发送方私钥;
基于非对称加密算法和所述发送方私钥,生成所述发送方公钥。
一种可能的实施方式,所述封装单元701还用于:
从所述数据传输请求中获取所述NLP目的地址和所述待发送数据;
对所述NLP目的地址进行解析,获得所述接收方的接收方物理地址;
用所述发送方私钥对所述NLP数据包中至少包含所述序列号及随机数的部分头部信息进行加密,获得所述发送方签名;
将所述发送方签名、所述NLP源地址、所述发送方的发送方物理地址、所述NLP目的地址、所述接收方物理地址以及所述待发送数据封装为所述NLP数据包。
一种可能的实施方式,所述发送方连续发送给所述接收方的多个数据包中的多个序列号是按升序设置的。
一种可能的实施方式,所述序列号包括时间戳。
基于同一发明构思,本发明一实施例中提供一种源地址认证的装置,应用于接收方,该装置的源地址认证方法的具体实施方式可参见接收方侧方法实施例部分的描述,重复之处不再赘述,请参见图8,该装置包括:
接收单元801,用于接收发送方发送的NLP数据包;其中,所述NLP数据包是由发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装成的,所述发送方签名是通过所述发送方的发送方私钥生成的,所述NLP目的地址为所述接收方的接收方公钥,所述NLP源地址为所述发送方的发送方公钥,所述发送方使用的也是新链网NLP协议栈;
获取单元802,用于从所述NLP数据包中获取所述NLP源地址、所述发送方签名及所述序列号;
验证单元803,用于通过所述NLP源地址、所述发送方签名及所述序列号验证所述NLP数据包来源的真实性和非重复性,若都验证通过则存储所述序列号并获取所述待发送数据,否则丢弃所述NLP数据包。
一种可能的实施方式,所述验证单元803还用于:
用所述NLP源地址验证所述发送方签名,若验证成功则确定所述NLP数据包的来源为所述发送方;
判断所述序列号是否大于从所述发送方接收到的上一个NLP数据包中的序列号,若为是,则确定所述NLP数据包是非重复的。
基于同一发明构思,本发明实施例中提供了一种源地址认证的电子设备,包括:至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上所述的发送方侧或接收方策的源地址认证方法。
基于同一发明构思,本发明实施例还提一种可读存储介质,包括:
存储器,
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上所述的发送方侧或接收方策的源地址认证方法。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (11)

1.一种源地址认证的方法,应用于发送方,所述发送方使用的是新链网NLP协议栈,其特征在于,包括:
根据数据传输请求,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包;其中,所述发送方签名是通过所述发送方的发送方私钥生成的,所述NLP目的地址为所述接收方的接收方公钥,所述NLP源地址为所述发送方的发送方公钥,所述接收方使用的也是所述NLP协议栈;所述NLP协议栈是将IP协议栈中网络层使用的IP协议改为NLP协议,所述NLP协议用于将通信双方使用的公钥作为各自的地址进行通信的,通过所述NLP协议栈生成的NLP数据包的结构包括:NLP基本头部、NLP扩展头部,所述NLP基本头部用于指示生成对应NLP数据包使用的NLP协议版本、服务类型、报文的数据流类型、包长度、下一个扩展头或上层协议类型、被转发的限制次数、通信双方的NLP地址;所述NLP扩展头部用于记录所述发送方防重放攻击使用的序列号、混淆所述发送方签名用的随机数,及所述发送方签名;
将所述NLP数据包发送给所述接收方,使所述接收方用所述NLP源地址验证所述发送方签名,并在验证成功后记录所述序列号,以及获取所述待发送数据。
2.如权利要求1所述的方法,其特征在于,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包之前,还包括:
随机生成所述发送方私钥;
基于非对称加密算法和所述发送方私钥,生成所述发送方公钥。
3.如权利要求1所述的方法,其特征在于,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包,包括:
从所述数据传输请求中获取所述NLP目的地址和所述待发送数据;
对所述NLP目的地址进行解析,获得所述接收方的接收方物理地址;
用所述发送方私钥对所述NLP数据包中至少包含所述序列号及随机数的部分头部信息进行加密,获得所述发送方签名;
将所述发送方签名、所述NLP源地址、所述发送方的发送方物理地址、所述NLP目的地址、所述接收方物理地址以及所述待发送数据封装为所述NLP数据包。
4.如权利要求3所述的方法,其特征在于,所述发送方连续发送给所述接收方的多个数据包中的多个序列号是按升序设置的。
5.如权利要求3所述的方法,其特征在于,所述序列号包括时间戳。
6.一种源地址认证的方法,应用于接收方,所述接收方使用的是新链网NLP协议栈,其特征在于,包括:
接收发送方发送的NLP数据包;其中,所述NLP数据包是由发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装成的,所述发送方签名是通过所述发送方的发送方私钥生成的,所述NLP目的地址为所述接收方的接收方公钥,所述NLP源地址为所述发送方的发送方公钥,所述发送方使用的也是所述NLP协议栈;所述NLP协议栈是将IP协议栈中网络层使用的IP协议改为NLP协议,所述NLP协议用于将通信双方使用的公钥作为各自的地址进行通信的,通过所述NLP协议栈生成的NLP数据包的结构包括:NLP基本头部、NLP扩展头部,所述NLP基本头部用于指示生成对应NLP数据包使用的NLP协议版本、服务类型、报文的数据流类型、包长度、下一个扩展头或上层协议类型、被转发的限制次数、通信双方的NLP地址;所述NLP扩展头部用于记录所述发送方防重放攻击使用的序列号、混淆所述发送方签名用的随机数,及所述发送方签名;
从所述NLP数据包中获取所述NLP源地址、所述发送方签名及所述序列号;
通过所述NLP源地址、所述发送方签名及所述序列号验证所述NLP数据包来源的真实性和非重复性,若都验证通过则存储所述序列号并获取所述待发送数据,否则丢弃所述NLP数据包。
7.如权利要求6所述的方法,其特征在于,通过所述NLP源地址、所述发送方签名及所述序列号验证所述NLP数据包来源的真实性和非重复性,包括:
用所述NLP源地址验证所述发送方签名,若验证成功则确定所述NLP数据包的来源为所述发送方;
判断所述序列号是否大于从所述发送方接收到的上一个NLP数据包中的序列号,若为是,则确定所述NLP数据包是非重复的。
8.一种源地址认证的装置,应用于发送方,其特征在于,包括:
封装单元,用于根据数据传输请求,将发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装为一个NLP数据包;其中,所述发送方签名是通过所述发送方的发送方私钥生成的,所述NLP目的地址为所述接收方的接收方公钥,所述NLP源地址为所述发送方的发送方公钥,所述接收方和所述发送方均使用的是新链网NLP协议栈;所述NLP协议栈是将IP协议栈中网络层使用的IP协议改为NLP协议,所述NLP协议用于将通信双方使用的公钥作为各自的地址进行通信的,通过所述NLP协议栈生成的NLP数据包的结构包括:NLP基本头部、NLP扩展头部,所述NLP基本头部用于指示生成对应NLP数据包使用的NLP协议版本、服务类型、报文的数据流类型、包长度、下一个扩展头或上层协议类型、被转发的限制次数、通信双方的NLP地址;所述NLP扩展头部用于记录所述发送方防重放攻击使用的序列号、混淆所述发送方签名用的随机数,及所述发送方签名;
发送单元,用于将所述NLP数据包发送给所述接收方,使所述接收方用所述NLP源地址验证所述发送方签名,并在验证成功后记录所述序列号,以及获取所述待发送数据。
9.一种源地址认证的装置,应用于接收方,其特征在于,包括:
接收单元,用于接收发送方发送的NLP数据包;其中,所述NLP数据包是由发送方签名、NLP源地址、待发送数据、防重放攻击的序列号以及NLP目的地址封装成的,所述发送方签名是通过所述发送方的发送方私钥生成的,所述NLP目的地址为所述接收方的接收方公钥,所述NLP源地址为所述发送方的发送方公钥,所述发送方和所述接收方均使用的是新链网NLP协议栈;所述NLP协议栈是将IP协议栈中网络层使用的IP协议改为NLP协议,所述NLP协议用于将通信双方使用的公钥作为各自的地址进行通信的,通过所述NLP协议栈生成的NLP数据包的结构包括:NLP基本头部、NLP扩展头部,所述NLP基本头部用于指示生成对应NLP数据包使用的NLP协议版本、服务类型、报文的数据流类型、包长度、下一个扩展头或上层协议类型、被转发的限制次数、通信双方的NLP地址;所述NLP扩展头部用于记录所述发送方防重放攻击使用的序列号、混淆所述发送方签名用的随机数,及所述发送方签名;
获取单元,用于从所述NLP数据包中获取所述NLP源地址、所述发送方签名及所述序列号;
验证单元,用于通过所述NLP源地址、所述发送方签名及所述序列号验证所述NLP数据包来源的真实性和非重复性,若都验证通过则存储所述序列号并获取所述待发送数据,否则丢弃所述NLP数据包。
10.一种源地址认证的电子设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如权利要求1-7任一项所述的方法。
11.一种可读存储介质,其特征在于,包括存储器,
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如权利要求1~7中任一项所述的方法。
CN202111049948.2A 2021-09-08 2021-09-08 一种源地址认证的方法、装置、电子设备及存储介质 Active CN113904807B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111049948.2A CN113904807B (zh) 2021-09-08 2021-09-08 一种源地址认证的方法、装置、电子设备及存储介质
PCT/CN2022/130453 WO2023036348A1 (zh) 2021-09-08 2022-11-08 一种加密通信方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111049948.2A CN113904807B (zh) 2021-09-08 2021-09-08 一种源地址认证的方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113904807A CN113904807A (zh) 2022-01-07
CN113904807B true CN113904807B (zh) 2023-11-21

Family

ID=79188859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111049948.2A Active CN113904807B (zh) 2021-09-08 2021-09-08 一种源地址认证的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113904807B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023036348A1 (zh) * 2021-09-08 2023-03-16 北京世纪互联宽带数据中心有限公司 一种加密通信方法、装置、设备及介质
CN115037793B (zh) * 2022-08-12 2022-11-04 南京中孚信息技术有限公司 用户数据报协议数据处理方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404579A (zh) * 2008-10-31 2009-04-08 成都市华为赛门铁克科技有限公司 一种防止网络攻击的方法及装置
CN101640631A (zh) * 2008-07-28 2010-02-03 成都市华为赛门铁克科技有限公司 一种数据包处理的方法和装置
CN101938500A (zh) * 2010-09-28 2011-01-05 中国人民解放军信息工程大学 源地址验证方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055571A1 (en) * 2009-08-24 2011-03-03 Yoel Gluck Method and system for preventing lower-layer level attacks in a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101640631A (zh) * 2008-07-28 2010-02-03 成都市华为赛门铁克科技有限公司 一种数据包处理的方法和装置
CN101404579A (zh) * 2008-10-31 2009-04-08 成都市华为赛门铁克科技有限公司 一种防止网络攻击的方法及装置
CN101938500A (zh) * 2010-09-28 2011-01-05 中国人民解放军信息工程大学 源地址验证方法及系统

Also Published As

Publication number Publication date
CN113904807A (zh) 2022-01-07

Similar Documents

Publication Publication Date Title
CN113904809B (zh) 一种通信方法、装置、电子设备及存储介质
KR101055861B1 (ko) 통신 시스템, 통신 장치, 통신 방법 및 그것을 실현하기위한 통신 프로그램
Lucena et al. Covert channels in IPv6
US9602485B2 (en) Network, network node with privacy preserving source attribution and admission control and device implemented method therfor
US8418242B2 (en) Method, system, and device for negotiating SA on IPv6 network
US8191119B2 (en) Method for protecting against denial of service attacks
US8650397B2 (en) Key distribution to a set of routers
JP2004295891A (ja) パケットペイロードを認証する方法
WO2010048865A1 (zh) 一种防止网络攻击的方法及装置
CN113904807B (zh) 一种源地址认证的方法、装置、电子设备及存储介质
WO2007098660A1 (fr) Procédé et système d'authentification d'entités de réseau dans un sous-système multimédia
WO2010000171A1 (zh) 一种通信的建立方法、系统和装置
WO2023036348A1 (zh) 一种加密通信方法、装置、设备及介质
Cao et al. 0-rtt attack and defense of quic protocol
US20230019877A1 (en) Methods and systems for processing information streams
CN210839642U (zh) 一种物联网终端数据安全接收、发送的装置
WO2021212204A1 (en) Methods and systems for processing information streams
CN107579984B (zh) 一种面向网络层的安全通信链路建立方法
CN118678126B (zh) 自适应跨域码流密码安全保护方法、系统及设备
US11399092B2 (en) Method for preventing sip device from being attacked, calling device, and called device
CN116389169B (zh) 一种避免国密IPSecVPN网关数据包乱序、分片的方法
Koskimäki Attack Resistant Services Delivery over the Internet
Schwenk The Internet
CN118678126A (zh) 自适应跨域码流密码安全保护方法、系统及设备
Feng et al. A Reliable Lightweight Communication Method via Chain Verification

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