WO2021232896A1 - 一种校验SRv6报文的方法及装置 - Google Patents
一种校验SRv6报文的方法及装置 Download PDFInfo
- Publication number
- WO2021232896A1 WO2021232896A1 PCT/CN2021/079919 CN2021079919W WO2021232896A1 WO 2021232896 A1 WO2021232896 A1 WO 2021232896A1 CN 2021079919 W CN2021079919 W CN 2021079919W WO 2021232896 A1 WO2021232896 A1 WO 2021232896A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- indication information
- message
- srv6
- srh
- node
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 140
- 238000012795 verification Methods 0.000 claims abstract description 134
- 230000005540 biological transmission Effects 0.000 claims abstract description 28
- 230000015654 memory Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 30
- 238000004364 calculation method Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 7
- 238000005538 encapsulation Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
- H04L9/3242—Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0485—Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/164—Implementing security features at a particular protocol layer at the network layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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
Definitions
- This application relates to the field of communications, and in particular to a method and device for checking SRv6 messages.
- Internet Protocol Version 6 (Segment Routing Internet Protocol Version 6, SRv6) technology, which can apply segment routing (SR) technology to the forwarding of Internet Protocol Version 6 (Internet Protocol Version 6, IPv6) messages .
- SR Segment routing
- the embodiments of the present application provide a method and device for verifying SRv6 messages, which can reduce security risks when using SRv6 technology to forward messages.
- the embodiments of the present application provide a method for verifying SRv6 packets.
- the method can be executed by the exit node of the IPv6 Internet protocol security (IPSec) tunnel to verify the SRv6 transmitted in the IPSec tunnel. Whether the message has been tampered with.
- the egress node receives an SRv6 message, which is a message encapsulated in an IPSec transmission mode.
- the SRv6 message includes a segment routing header (segment routing header, SRH) and an authentication header (Authentication Header, AH).
- the SRv6 message carries first indication information, and the first indication information is used to instruct the egress node to perform AH check on the SRv6 message.
- the egress node can not only use the SRH to guide the forwarding of the SRv6 message, but also perform AH check on the SRv6 message according to the first indication information and AH.
- the verification range of AH verification includes at least one SRH. It can be seen that, using the solution of the application embodiment, the IPSec transmission mode can be used to encapsulate the SRv6 message, and the AH check can be used to check at least one SRH of the SRv6 message.
- this method can reduce the resource consumption caused by the verification of SRH, can prevent replay attacks and support key negotiation, and can prevent network hackers from adding SRH Way to carry out cyber attacks.
- This method and the use of AH verification to verify the SRv6 message encapsulated in the IPSec tunnel mode can verify at least one SRH of the SRv6 message on the premise that the SRH is used to forward the SRv6 message.
- this method can verify at least one SRH. With this method, it is possible to prevent network hackers from using SRH to conduct network attacks.
- the use of SRH for network attacks mentioned here includes tampering with SRH and/or inserting a new SRH for network attacks.
- AH verification to verify SRH can also support key negotiation and prevent replay attacks.
- the egress node of the IPSec tunnel is an intermediate node on the SRv6 packet forwarding path.
- the SRv6 message is forwarded based on the SRH.
- the first indication information in the SRv6 message may be carried by the SRH.
- the foregoing first indication information may be carried in the reserved fields of the SRH.
- the SRH also has an extended TLV field for carrying information. Therefore, the aforementioned first indication information may also be carried in the extended TLV field of the SRH.
- the flag field is a reserved field of the SRH, and the meaning of the flag field is not clearly defined. Therefore, the first indication information can be carried through the flag field of the SRH.
- the node receiving the SRv6 message determines how to process the SRv6 message, it will parse the destination address of the SRv6 message. For example, if the destination address is determined to be its own address, it will continue to parse the SRH header. Determine the next hop to forward the packet. For another example, if it is determined that the destination address is not its own address, then continue to forward the message to the node indicated by the destination address. Therefore, the aforementioned first indication information may be carried in the destination address of the SRv6 message. In this way, the egress node can obtain the first indication information when parsing the destination address without parsing other fields.
- the destination address includes 128 bits, and the 128 bits may include three fields of locator, function, and arguments. Both the function and arguments fields are used to carry the behavior corresponding to the locator. Therefore, the arguments field or the function field of the destination address may be used to carry the first indication information.
- the corresponding relationship between the destination address and the first indication information is stored in the egress node, so as to achieve the purpose of carrying the first indication information through the destination address of the SRv6 message.
- the egress node may obtain the first indication information according to the corresponding relationship.
- the destination address of the SRv6 message is a first SID
- the first SID is the SID or BSID of the egress node.
- the egress node can determine whether there is a mapping relationship including the first SID locally to obtain the first indication information.
- the first indication information is obtained through the arguments field or the function field of the first SID.
- the corresponding relationship between the destination address of the SRv6 message and the first indication information is stored in the egress node.
- the destination address of the SRv6 message is a second SID, and the second SID is associated with the IPSec tunnel.
- the SRv6 message includes second indication information, and the second indication information is used to indicate that the check range of the AH check includes the SRH.
- the AH includes the second indication information.
- the reserved field of the AH carries the second indication information.
- the verification range of the AH verification further includes the payload of the SRv6 packet.
- the verification range of the AH verification further includes the IP header of the SRv6 message.
- the egress node of the IPSec tunnel is the ingress node of the SRv6 trust domain.
- the SRv6 message includes multiple SRHs
- the scope of the AH check includes the multiple SRHs.
- the egress node is configured to execute the method according to any one of the foregoing first aspect and the first aspect.
- a processor connected to the communication interface
- an embodiment of the present application provides a network device used for an egress node of an Internet Protocol Security IPSec tunnel, where the network node includes a memory and a processor;
- an embodiment of the present application provides a network device used for an ingress node of an Internet Protocol Security IPSec tunnel, where the ingress node includes a memory and a processor;
- the memory is used to store program code
- the network device provided by any aspect of the third aspect to the sixth aspect of the present application may be, for example, a router, a switch, a packet switching network PTN equipment, and other network equipment. It can also be a single board in a network device, a line card, or a chip used to implement related methods. This application does not impose specific restrictions on this.
- an embodiment of the present application provides a communication system including an ingress node of an Internet Protocol Security IPSec tunnel and an egress node of the IPSec tunnel, wherein the ingress node is used to perform the above second aspect and the second aspect Any one of the methods described.
- FIG. 1 is a schematic structural diagram of an SRv6 message provided by an embodiment of this application.
- FIG. 2 is a schematic structural diagram of another SRv6 message provided by an embodiment of this application.
- FIG. 4 is a schematic diagram of an exemplary application scenario provided by an embodiment of the application.
- FIG. 5 is a schematic structural diagram of an SRv6 packet encapsulated in tunnel mode according to an embodiment of the application
- FIG. 6 is a schematic structural diagram of an SRv6 message encapsulated in a transmission mode according to an embodiment of the application
- FIG. 7 is a signaling interaction diagram of a method for checking SRv6 messages provided by an embodiment of this application.
- FIG. 8a is a schematic diagram of a SID list provided by an embodiment of this application.
- FIG. 8b is a schematic diagram of a SID list provided by an embodiment of the application.
- FIG. 8c is a schematic diagram of a SID list provided by an embodiment of the application.
- FIG. 8d is a schematic diagram of a SID list provided by an embodiment of the application.
- FIG. 9 is a schematic flowchart of a method for verifying SRv6 messages according to an embodiment of this application.
- FIG. 11 is a schematic structural diagram of a network device provided by an embodiment of this application.
- FIG. 12 is a schematic structural diagram of a network device provided by an embodiment of this application.
- FIG. 13 is a schematic structural diagram of a network device provided by an embodiment of this application.
- FIG. 14 is a schematic structural diagram of a network device provided by an embodiment of this application.
- FIG. 15 is a schematic structural diagram of a network device provided by an embodiment of this application.
- the embodiment of the present application provides a message forwarding method, which can reduce the potential safety hazards when the SRv6 technology is used for message forwarding.
- the head node When using SRv6 technology to forward a message, the head node specifies the message forwarding path, and the intermediate node guides the message forwarding according to the forwarding path indicated by the head node until the message is forwarded to the destination node.
- the message forwarded by SRv6 technology can also be called SRv6 message.
- FIG. 1 is a schematic structural diagram of an SRv6 message provided by an embodiment of this application.
- the SRv6 message includes an IPv6 header (IPv6 Header) 101, SRH 102, and a payload 103.
- the intermediate node When using the SRv6 technology to forward messages, the intermediate node forwards the message based on the SID list, and it does not check the SRH and the payload. Therefore, network hackers can conduct network attacks by maliciously tampering with the payload or SRH, which affects network security.
- the aforementioned network attacks can be prevented by defining SRv6 trust domains.
- the trust domain is used to indicate the network range to prevent the aforementioned network attacks.
- the trust domain can be determined based on multiple methods. For example, it can be determined based on network scenarios, such as designating the core network part of the network as the trust domain; or, it can be determined based on the type of service, such as determining the network range for transmitting specific service packets. Is the trusted domain, and so on.
- an access control list (ACL) traffic filtering policy may be configured on the edge node or intermediate node of the trust domain.
- ACL access control list
- the edge node of the trust domain verifies the received SRv6 message, and if the destination address of the SRv6 message is the address of the node in the trust domain, the SRv6 message is discarded.
- the edge node or intermediate node of the trust domain verifies the received SRv6 message, and if the source address of the SRv6 message is the address of a node outside the trust domain, the SRv6 message is discarded.
- the above-mentioned edge nodes of the trust domain refer to nodes that directly communicate with nodes outside the trust domain
- the intermediate nodes of the trust domain refer to nodes other than the edge nodes.
- SRv6 messages need to be forwarded across trust domains. For example, SRv6 messages outside the trust domain need to be forwarded to the trust domain, or SRv6 messages generated in the first domain need to be forwarded to the second domain through the trust domain, and the first domain and the second domain are different from the trust domain.
- the verification range of HMAC verification does not include the payload. Therefore, network hackers can tamper with the payload to carry out network attacks.
- an IPSec tunnel can be deployed between two nodes.
- AH verification can be used to determine whether the message transmitted in the IPSec tunnel has been tampered with.
- the Next Header field includes 8 bits and is used to carry the next message header type
- the Reserve field includes 16 bits and is a reserved field
- a security parameter index (Security Parameter Index, SPI) field includes 32 bits, and this field is used to carry a security parameter index, and the security parameter index can be used to determine a key and an encryption algorithm.
- the node that generates the IPSec message can negotiate a key with the node that performs AH verification. After the negotiation is completed, the specific value of the security parameter index is determined, and the specific value is encapsulated in the IPSec message and sent to the node that performs AH verification. .
- key negotiation the key is determined by the parameters generated by the nodes participating in the negotiation. For example, node A and node B perform key negotiation, node A generates parameter A 1 , and node B generates parameter B 1 .
- the authentication data (Authentication Data) integrity check value (ICV) field is used to carry the AH check value.
- the length of this field is not fixed, and its length is an integer multiple of 32 bits.
- the use of AH verification to ensure the security of packets transmitted in the IPSec tunnel can be achieved in the following way: the ingress node of the IPSec tunnel can encapsulate the IPv6 packet with an AH header, and the resulting packet structure is as follows: As shown in FIG. 3, the value of the Authentication Data ICV field is obtained by ICV calculation on the shaded field shown in FIG. 3. Correspondingly, when the egress node of the IPSec tunnel receives the IPv6 message shown in Figure 3, it can perform ICV calculation on the shaded field, and compare the calculated value with the value of the Authentication Data ICV field.
- the message is determined that the message has not been tampered with, and the message continues to be forwarded. If the two are different, the message is determined to have been tampered with, and the message is discarded. In this way, the security of the IPv6 packet transmission in the IPSec tunnel can be guaranteed.
- AH verification can ensure the security of IPv6 packets transmitted in IPSec tunnels
- AH verification can also be applied to the transmission process of SRv6 packets to ensure that SRv6 packets are transmitted in IPSec. Security of transmission in the tunnel.
- FIG. 4 is a schematic diagram of an exemplary application scenario provided by an embodiment of the application.
- the node R0 needs to forward the message to the node R6 through the node R1, the node R2, the node R3, the node R4, and the node R5 in sequence.
- an SRv6 tunnel is deployed between the node R1 and the node R5.
- the node R2, the node R3, and the node R4 belong to the SRv6 trust domain 100.
- node R1 receives the original message from node R0, it can encapsulate the original message to obtain an SRv6 message.
- an IPSec tunnel can be deployed between the node R1 and the node R2. And use AH verification to ensure the security of the SRv6 packet transmission in the IPSec tunnel.
- FIG. 4 is only shown for the convenience of understanding, and it does not constitute a limitation to the embodiments of the present application.
- the ingress node of the IPSec tunnel may not necessarily be the same as the ingress node of the SRv6 tunnel as shown in FIG. 4, and the ingress node of the IPSec tunnel may also be an intermediate node of the SRv6 tunnel.
- the exit node of the IPSec tunnel is not necessarily the edge node of the trust domain as shown in Figure 4, and the exit node of the IPSec tunnel may also be the intermediate node of the trust domain.
- the egress node of the IPSec tunnel is the edge node of the trust domain as an example for description, but this is only for the convenience of describing the implementation of the embodiment of the present application, and does not constitute a limitation to the embodiment of the present application.
- an SRv6 message with AH check When an SRv6 message with AH check is applied in an IPSec tunnel, its message encapsulation format can include tunnel mode encapsulation and transmission mode encapsulation. Next, the message structure encapsulated in tunnel mode and the message structure encapsulated in transmission mode are introduced respectively.
- FIG. 5 is a schematic structural diagram of an SRv6 packet encapsulated in tunnel mode according to an embodiment of the application.
- the SRv6 message shown in Figure 5 includes New IP Header, AH Header, IP Header, SRH, and Payload.
- New IP Header is a newly added IP packet header
- New IP Header can include the ingress node address of the IPSec tunnel and the egress node address of the IPSec tunnel, which is used to guide the forwarding of the packet in the IPSec tunnel.
- AH Header please refer to the description of FIG. 3 above, which will not be described in detail here.
- the value of the Authentication Data ICV field in the AH Header is obtained by ICV calculation on the fields in the New IP Header, AH Header, IP header, SRH, and Payload.
- both SRH and Payload participate in the ICV calculation. Therefore, if the AH check of the SRv6 message passes, it means that the SRH and Payload of the SRv6 message have not been tampered with, which ensures the security of the SRv6 message transmission in the IPSec tunnel.
- the New IP Header can guide the SRv6 message to be forwarded in the IPSec tunnel.
- AH verification can be used to ensure the security of the SRv6 packet transmitted in the IPSec tunnel.
- the forwarding node does not parse the SRH, and therefore, the message cannot be forwarded according to the SRH.
- the SRH cannot be used to guide the forwarding of the message.
- the IPSec tunnel is a part of the SRv6 tunnel, and it is often required that when SRv6 packets are forwarded in the IPSec tunnel, SRH can also be used to guide packet forwarding. Therefore, the use of tunnel mode encapsulation is not applicable in some scenarios.
- FIG. 6 is a schematic structural diagram of an SRv6 packet encapsulated in a transmission mode according to an embodiment of the application.
- the SRv6 message shown in Figure 6 includes IP header, SRH, AH Header, and Payload.
- the SRH mentioned here can also be referred to as SRH.
- the AH Header mentioned here can also be called AH.
- the AH Header is encapsulated in the inner layer, and the SRH is encapsulated in the outer layer of the AH Header. Since the AH Header is encapsulated in the inner layer of the SRH, the AH Header will not be processed until the SRH has been processed. In other words, for an intermediate node that uses SRv6 forwarding, it forwards according to the SRH, and does not analyze the AH Header. Only after the tail node forwarded by the SRH, that is, the last node indicated by the SID list in the SRH, is stripped of the SRH, the AH Header will be parsed.
- the IPSec tunnel is part of the SRv6 tunnel. That is, the egress node of the IPSec tunnel is an intermediate node that uses SRv6 forwarding.
- the AH check cannot be used to ensure the security of the message transmission. Because the exit node of the IPSec tunnel does not check the integrity of the SRH, even if the SRH is tampered with, or a network hacker maliciously inserts a new SRH, the message will continue to be forwarded on the network.
- the exit node of the IPSec tunnel does not perform the AH verification step, which causes SRv6 packets to be transmitted in the IPSec tunnel without preventing replay. attack.
- the embodiment of the present application provides a method for verifying SRv6 messages.
- the IPSec transmission mode can be used to encapsulate the SRv6 message, and the AH verification is used to verify at least one SRH of the SRv6 message.
- this method can reduce the resource consumption caused by the verification of SRH, can prevent replay attacks and support key negotiation, and can prevent network hackers from adding SRH Way to carry out cyber attacks.
- This method and the use of AH verification to verify the SRv6 message encapsulated in the IPSec tunnel mode can verify at least one SRH of the SRv6 message on the premise that the SRH is used to forward the SRv6 message.
- this method can verify the SRH in the message.
- FIG. 7 is a signaling interaction diagram of a method for checking SRv6 packets according to an embodiment of the application.
- the method 100 for verifying the SRv6 message shown in FIG. 7 can be implemented by the following S101-S104.
- Node R1 obtains message 1, message 1 is an SRv6 message, message 1 includes AH and at least one SRH, message 1 carries indication information 1, and indication information 1 is used to instruct node R2 to perform AH on message 1 check.
- the message 1 may be a message obtained after the node R1 encapsulates the obtained initial message.
- node R1 can receive message 2 from node R0, and encapsulate message 2 to obtain message 1.
- the node R1 receives an IPv4 message or an IPv6 message from the node R0, and then the node R1 re-encapsulates the message, adds SRH and AH to the message, and obtains the message 1.
- the node R1 when the node R1 re-encapsulates the received original message, it may add the indication information 1 to obtain the message 1 including the indication information 1.
- the indication information 1 is used to instruct the node R2 to perform AH check on the message 1.
- the AH verification range includes the at least one SRH.
- the egress node R2 of the IPSec tunnel is an intermediate node forwarded by SRv6, the node R2 can also perform AH check on the message 1 according to the instruction information 1, and
- the verification range includes the at least one SRH. This prevents network hackers from using SRH to attack the network.
- the use of SRH mentioned here includes but is not limited to tampering with the SRH or inserting a new SRH.
- the AH verification range may include one SRH or multiple SRHs.
- this field may be one of the fields in SRH.
- the aforementioned indication information 1 can be carried in the SRH.
- the indication information 1 may be carried in the reserved field or the extended TLV field of the SRH. Considering that the meaning of the flag field in the current SRH is not clearly defined, the flags field can be considered as a reserved field of the SRH. Therefore, the flags field in the SRH can be used to carry the indication information 1.
- node R1 after node R1 obtains message 1, it will modify the destination address in the IPv6 header of message 1 to the address of node R2, so that message 1 can be sent to node R2. R2.
- the node that receives the message 1 will determine whether the destination address is its own address, and if so, perform the next step, for example, continue to parse the SRH segment routing header, and so on. If the destination address is not its own address, then continue to forward the message to the node corresponding to the destination address. In other words, when the node R2 receives the message 1, it will inevitably resolve the destination address of the message 1. Therefore, in this embodiment of the present application, the field used to carry the indication information 1 may be the destination address field. In other words, the aforementioned indication information 1 can be carried in the destination address of the message 1.
- R5.END is used to indicate the R5 node, used to instruct the node R4 to forward the message 1 to the node R5, and R5.VPN uses It corresponds to a specific virtual private network (virtual private network, VPN) instance deployed on the corresponding node R5.
- the destination address may be associated with the IPSec tunnel.
- the destination address of message 1 can be the egress IP address R2.END.AH of the IPSec tunnel.
- the SID list of message 1 can be as shown in Figure 8c, where R2.BSID is used to indicate a forwarding path. Used to instruct the node R2 to forward the received message 1.
- the SID list of message 1 can be as shown in Figure 8d.
- the BSID may be generated by the node R2 or the control and management device.
- the node outside the domain sets the destination address of the SRv6 message forwarded to the trust domain to the BSID, which can prevent the leakage of the network topology in the trust domain.
- the IPSec tunnel can be associated with a VPN instance.
- an IPSec tunnel can be associated with one or more VPN instances. That is, the IPSec tunnel is used to transmit packets corresponding to the VPN instance it is associated with.
- the BSID can also be associated with an IPSec tunnel, and a BSID can correspond to an IPSec tunnel.
- the IPSec tunnel can be associated with multiple VPN instances and used to transmit packets corresponding to multiple VPN instances . If the destination address of message 1 is R2.BSID, the IPSec tunnel can be associated with a VPN instance, which is the VPN instance associated with R2.BSID.
- the node R2 can perform AH check on the received message 1, and the check range of the AH check includes SRH.
- the verification range for performing AH verification on the message 1 may also include the payload of the message 1.
- the solution provided in the embodiment of the present application can prevent network hackers from using the payload to perform network attacks, compared with the solution using HMAC verification.
- the network attack using the payload mentioned here may include tampering with the payload, so that the attack message is transmitted in the network, which not only consumes network resources, but also poses certain security risks.
- SRv6 message processing includes SRH and payload, it also includes an IP message header.
- the IP message header will also carry some important information, for example, the message The final destination address (for example, the destination address after exiting the SRv6 tunnel). If the IP packet header is tampered with, there will also be a certain security risk. Therefore, in some embodiments, the verification range of the AH check of the message 1 may also include the IP header of the message 1.
- the AH includes the Authentication Data ICV field, and the value of this field may be obtained by the node R1 performing ICV calculation on the specific field in the message 1.
- the fields participating in the ICV calculation are related to the verification range of the AH verification. If the verification range of the AH verification includes SRH, the fields participating in the ICV calculation can be the fields in the SRH. If the verification range of AH verification includes SRH and payload, the fields participating in the ICV calculation can be SRH and payload. If the verification range of AH verification includes SRH and IP message headers, the fields participating in the ICV calculation can be SRH and IP message headers.
- the fields participating in the ICV calculation can be SRH, IP header and payload.
- the value of the indication information 2 can be used to indicate the range of the AH check. For example, when the value of indication information 2 is A, the range of AH verification includes SRH and payload. When the value of indication information 2 is B, the range of AH verification includes SRH and IP header. When the value of indication information 2 is When it is C, the scope of AH verification includes SRH, payload and IP header.
- node R2 When node R2 performs AH check on received message 1, it also uses ICV calculation on specific fields in message 1, and compares the calculated value with the value carried in the Authentication Data ICV field of message 1. , So as to determine whether the message 1 has been tampered with. In practical applications, during the forwarding process of the message 1, the values of some fields remain unchanged (immutable), while the values of some fields may also change. The fields whose values change can be divided into two categories, which are mutable but predictable and variable but unpredictable. Variable but unpredictable can be referred to as mutable. Among them, the variable but predictable class means that the value of this field can be predetermined when node R2 receives message 1, and the change class means that the value of this field cannot be predetermined when node R2 receives message 1 of.
- the value of the changed field may be regarded as a preset value such as 0, and Determine the value of the variable but predictable field as the predicted value of the field for ICV calculation.
- the predicted value mentioned here refers to the value of this field when the node R2 receives message 1.
- each field in the SRv6 message can be as shown in Table 1 below.
- IPv6 payload of the SRv6 message is an invariant field.
- the value of the Destination Address field of the IPv6 header is the exit address of the IPSec tunnel, and the exit address of the IPSec tunnel can be the aforementioned R2.SID, R2. BSID or R2.AH.SID.
- the value of Segment Left is the value corresponding to when node R2 receives message 1.
- the target address carries the indication information 1
- the node R2 receives the message 1 it can parse the destination address field, obtain the indication information 1, and perform AH verification according to the indication information 1.
- the indication information 1 can be carried in the function field of R2.SID; if the destination address is R2.BSID, the indication information 1 can be carried in the arguments field of R2.BSID; if the destination is The address is R2.AH.SID, then the indication information 1 can be carried in the function field or arguments field of R2.AH.SID.
- node R1 After node R1 obtains message 1, it can forward message 1 to node R2.
- Node R2 can receive message 1 sent by node R1.
- node R2 is the edge node of the trust domain.
- the next hop destination node for packet forwarding may be determined according to the value of the SRH and the segment left (segment left, SL) field, which will not be described in detail here.
- AH includes the SPI field, so compared with HMAC verification, the use of AH verification has the advantage of supporting key negotiation. It is precisely because the AH verification supports key negotiation that the security of the AH key is higher, and no additional key protection scheme is required to protect the security of the AH key, which can reduce the resource consumption of the node R2. Moreover, AH includes a sequence number field, which can prevent network hackers from repeatedly sending the same message. That is, compared with the HMAC check, the solution in the embodiment of the present application also supports anti-replay attack and avoids the same message. Text is transmitted in the network, occupying network resources.
- the method 200 can be used to implement S103 and S104 performed by the node R2 in the method 100 mentioned in the above embodiment.
- IPSec The exit node of the tunnel corresponds to the node R2 in the method 100
- the SRv6 message corresponds to the message 1 in the method 100
- the first indication information corresponds to the indication information 1 in the method 100.
- the first indication information is carried in the SRH.
- the reserved field is a flag field.
- the destination address of the SRv6 message is the first segment identification SID
- the first SID is the SID or BSID of the egress node.
- the SID of the egress node may correspond to R2.SID in method 100
- the BSID of the egress node may correspond to R2.BSID in method 100.
- the destination address of the SRv6 message is a second SID, and the second SID is associated with the IPSec tunnel.
- the second SID is the egress IP address of the IPSec tunnel.
- the egress IP address of the IPSec tunnel can correspond to R2.AH.SID in method 100.
- the SRv6 message includes second indication information, and the second indication information is used to indicate that the check range of the AH check includes the SRH.
- the second indication information may correspond to the indication information 2 in the method 100.
- the AH includes the second indication information.
- the reserved field of the AH carries the second indication information.
- the egress node performing AH check on the SRv6 message according to the first indication information and the AH includes:
- the egress node performs AH check on the SRv6 message according to the first indication information, the second indication information, and the AH.
- the verification range of the AH verification further includes the payload of the SRv6 packet.
- the egress node of the IPSec tunnel is the ingress node of the SRv6 trust domain.
- the SRv6 message includes multiple SRHs
- the scope of the AH check includes the multiple SRHs.
- the method further includes:
- the egress node forwards the SRv6 message that passes the AH check; or,
- the egress node discards the SRv6 message that fails the AH check.
- the method 200 can be used to implement S101 and S102 performed by the node R1 in the method 100 mentioned in the above embodiment.
- IPSec The ingress node of the tunnel corresponds to the node R1 in the method 100
- the egress node of the IPSec tunnel corresponds to the node R2 in the method 100
- the SRv6 message corresponds to the message 1 in the method 100
- the first indication information corresponds to the indication information 1 in the method 100.
- the first indication information is carried in the SRH.
- the reserved field is a flag field.
- the destination address of the SRv6 message carries the first indication information.
- the arguments field or the function field of the destination address carries the first indication information.
- the corresponding relationship between the destination address of the SRv6 message and the first indication information is stored in the egress node.
- the destination address of the SRv6 message is the first segment identification SID
- the first SID is the SID or BSID of the egress node.
- the SID of the egress node may correspond to R2.SID in method 100
- the BSID of the egress node may correspond to R2.BSID in method 100.
- the AH includes the second indication information.
- the verification range of the AH verification further includes the IP header of the SRv6 message.
- the egress node of the IPSec tunnel is the ingress node of the SRv6 trust domain.
- An embodiment of the present application also provides a computer-readable storage medium that stores instructions in the computer-readable storage medium, which when run on a computer, causes the computer to execute the ingress node of the IPSec tunnel in the above-mentioned embodiment Steps performed.
- the disclosed system, device, and method can be implemented in other ways.
- the device embodiments described above are merely illustrative, for example, the division of units is only a logical business division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated. To another system, or some features can be ignored, or not implemented.
- the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
- business units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
- the above-mentioned integrated unit can be realized in the form of hardware or software business unit.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种校验SRv6报文的方法,IPSec隧道的出口节点可以接收SRv6报文,该SRv6报文为采用IPSec传输模式封装的报文。该SRv6报文包括AH和至少一个SRH。SRv6报文中携带有第一指示信息,该第一指示信息用于指示出口节点对SRv6报文进行AH校验。AH校验的校验范围包括该至少一个SRH。该方法可以避免网络黑客利用SRH进行网络攻击。例如可以避免网络黑客通过篡改SRH或者插入新的SRH来进行网络攻击。而且,该方案还具备资源消耗少、可以防止重放攻击并支持密钥协商、可以在利用SRH进行SRv6报文转发的前提下,对SRv6报文的SRH进行验证等优点。
Description
本申请要求于2020年5月29日提交中国知识产权局、申请号为202010476797.8、申请名称为“一种校验SRv6报文的方法及装置”的中国专利申请的优先权、以及2020年05月19日提交中国知识产权局、申请号为202010424481.4、发明名称为“一种采用AH校验SRv6报文的方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信领域,尤其涉及一种校验SRv6报文的方法及装置。
互联网协议第6版段路由(Segment Routing Internet Protocol Version 6,SRv6)技术,可以将分段路由(segment routing,SR)技术应用于互联网协议第六版(internet protocol version 6,IPv6)报文的转发。
目前,利用SRv6技术进行报文转发时,存在一定的安全隐患。
发明内容
本申请实施例提供了一种校验SRv6报文的方法及装置,可以降低利用SRv6技术转发报文时的安全隐患。
第一方面,本申请实施例提供了一种校验SRv6报文的方法,该方法可以由IPv6因特网协议安全(Internet protocol security,IPSec)隧道的出口节点执行,以验证在IPSec隧道中传输的SRv6报文是否被篡改。可选地,出口节点接收SRv6报文,该SRv6报文为采用IPSec传输模式封装的报文。该SRv6报文包括分段路由头(segment routing header,SRH)和认证头(Authentication Header,AH)。在本申请实施例中,SRv6报文中携带有第一指示信息,该第一指示信息用于指示出口节点对SRv6报文进行AH校验。出口节点接收到SRv6报文之后,不仅仅可以利用SRH指导SRv6报文转发,还可以根据该第一指示信息和AH对SRv6报文进行AH校验。在本申请实施例中,AH校验的校验范围包括至少一个SRH。由此可见,利用申请实施例的方案,可以采用IPSec传输模式封装SRv6报文,并利用AH校验对SRv6报文的至少一个SRH进行校验。该方法与采用HMAC校验对SRH进行校验而言,可以减少对SRH进行校验所带来的资源消耗,可以防止重放攻击并支持密钥协商,并且,可以防止网络黑客通过新增SRH的方式进行网络攻击。该方法与利用AH校验对采用IPSec隧道模式封装的SRv6报文进行校验而言,可以在利用SRH进行SRv6报文转发的前提下,对SRv6报文的至少一个SRH进行验证。该方法相对于传统的利用AH校验对采用IPSec传输模式封装的IPv6报文进行校验而言,可以对至少一个SRH进行校验。利用该方法,可以避免网络黑客利用SRH进行网络攻击。此处提及的利用SRH进行网络攻击,包括篡改SRH和/或插入新的SRH来进行网络攻击。
另外,采用AH校验对SRH进行校验,还可以支持密钥协商和防止重放攻击。
在一种实现方式中,该IPSec隧道的出口节点为所述SRv6报文转发路径上的一个中间节点。
在一种实现方式中,在该IPSec隧道中,该SRv6报文基于SRH进行转发。
在一种实现方式中,SRv6报文中的第一指示信息可以通过SRH来携带。
在一种实现方式中,考虑到SRH中有一些预留字段的含义没有明确规定,因此,前述第一指示信息可以携带在SRH的预留字段中。另外,SRH还具备扩展TLV字段,用于携带信息,因此,前述第一指示信息还可以携带在SRH的扩展TLV字段中。
在一种实现方式中,flag字段是SRH的预留字段,而且flag字段的含义没有明确规定,因此,可以通过SRH的flag字段携带第一指示信息。
在一种实现方式中,考虑到接收到SRv6报文节点在确定如何处理SRv6报文时,会解析SRv6报文的目的地址,例如,若确定目的地址是自身的地址,则继续解析SRH头,确定转发该报文的下一跳。又如,若确定目的地址不是自身的地址,则继续将该报文转发至目的地址所指示的节点。因此,前述第一指示信息可以携带在该SRv6报文的目的地址中。这样一来,出口节点既可以在解析目的地址时获得第一指示信息,无需解析其它字段。
在一种实现方式中,对于SRv6报文而言,其目的地址包括128比特,该128比特可以包括locator、function和arguments三个字段。function和arguments字段均用于携带与locator对应的行为。因此,可以利用所述目的地址的arguments字段或者function字段携带所述第一指示信息。
在一种实现方式中,所述出口节点中存储有所述目的地址和所述第一指示信息的对应关系,以实现通过SRv6报文的目的地址携带第一指示信息的目的。出口节点可以根据该对应关系获取第一指示信息。
在一种实现方式中,所述SRv6报文的目的地址为第一SID,所述第一SID为所述出口节点的SID或者BSID。出口节点接收到SRv6报文之后,可以确定本地是否存在包括第一SID的映射关系,以获得第一指示信息。或者,通过第一SID的arguments字段或者function字段获得第一指示信息。
在一种实现方式中,所述SRv6报文的目的地址为第二SID,所述第二SID与所述IPSec隧道关联。作为一种示例,所述第二SID为所述IPSec隧道的出口IP地址。出口节点接收到SRv6报文之后,可以确定本地是否存在包括第二SID的映射关系,以获得第一指示信息。或者,通过第二SID的arguments字段或者function字段获得第一指示信息。
在一种实现方式中,所述SRv6报文中包括第二指示信息,所述第二指示信息用于指示所述AH校验的校验范围包括所述SRH。出口节点接收到SRv6报文之后,可以根据第一指示信息确定需要对该SRv6报文进行AH校验,并根据第二指示信息确定AH校验的校验范围包括至少一个SRH。
在一种实现方式中,前述第二指示信息可以通过AH携带。
在一种实现方式中,考虑到AH中有一些预留字段的含义没有明确规定,因此,前述第二指示信息可以携带在AH的预留字段中。
在一种实现方式中,所述出口节点根据所述第一指示信息和所述AH,对所述SRv6报文进行AH校验,包括:
所述出口节点根据所述第一指示信息、所述第二指示信息和所述AH,对所述SRv6报文进行AH校验。
在一种实现方式中,所述AH校验的校验范围除了包括至少一个SRH之外,还可以包括所述SRv6报文的净荷,以防止网络黑客通过篡改净荷的方式进行网络攻击。
在一种实现方式中,所述AH校验的校验范围除了包括至少一个SRH之外,还可以包括所述SRv6报文的IPv6报文头,以防止网络黑客通过篡改IPv6报文头的方式进行网络攻击。
在一种实现方式中,所述IPSec隧道的出口节点为SRv6信任域的入口节点。对于这种情况,利用本方案可以保证转发至信任域的SRv6报文的安全性,有效避免信任域被攻击。
在一种实现方式中,所述SRv6报文包括多个SRH,所述AH校验的范围包括所述多个SRH。由于AH校验的校验范围包括SRv6报文中的所有SRH,故而可以有效避免网络黑客通过新增SRH来进行网络攻击。也可以避免网络黑客通过篡改原有SRH来进行网络攻击。
在一种实现方式中,出口节点在确定该SRv6报文通过AH校验时,说明该SRv6报文的安全性有一定的保证,至少SRH未被篡改、网络黑客也未插入新的SRH。故而出口节点可以继续转发该SRv6报文。相应的,若该SRv6报文未通过AH校验,则说明该SRv6报文是攻击报文,若该SRv6报文继续在网络中传输,会影响网络安全,故而出口节点可以丢弃该SRv6报文,保证网络安全。
第二方面,本申请实施例提供了一种校验SRv6报文的方法。该方法可以由IPSec隧道的入口节点执行。具体地,入口节点可以获取SRv6报文,该SRv6报文可以是入口节点对接收到的初始报文进行封装后得到的报文。该SRv6报文为采用IPSec传输模式封装的报文,该SRv6报文包括SRH和AH。SRv6报文中携带有第一指示信息,该第一指示信息用于指示出口节点对SRv6报文进行AH校验,并且AH校验的校验范围包括该至少一个SRH。入口节点获取该SRv6报文之后,可以将该SRv6报文发送给IPSec隧道的出口节点。如此一来,出口节点即可根据第一指示信息对SRv6报文进行AH校验。由于AH校验的校验范围包括SRv6报文中所有的SRH,从而可以避免网络黑客利用SRH进行网络攻击。
在一种实现方式中,该IPSec隧道的入口节点为所述SRv6报文转发路径上的头节点。
在一种实现方式中,所述SRH中携带所述第一指示信息。
在一种实现方式中,所述SRH中的预留字段或者扩展类型长度值TLV字段用于携带所述第一指示信息。
在一种实现方式中,所述预留字段为flag字段。
在一种实现方式中,所述SRv6报文的目的地址携带所述第一指示信息。
在一种实现方式中,所述目的地址的arguments字段或者function字段携带所述第一指示信息。
在一种实现方式中,所述出口节点中存储有所述SRv6报文的目的地址和所述第一指示信息的对应关系。
在一种实现方式中,所述SRv6报文的目的地址为第一段标识SID,所述第一SID为所述出口节点的SID或者BSID。
在一种实现方式中,所述SRv6报文的目的地址为第二SID,所述第二SID与所述IPSec隧道关联。
在一种实现方式中,所述第二SID为所述IPSec隧道的出口IP地址。
在一种实现方式中,所述SRv6报文中包括第二指示信息,所述第二指示信息用于指 示所述AH校验的校验范围包括所述SRH。
在一种实现方式中,所述AH中包括所述第二指示信息。
在一种实现方式中,所述AH的预留字段中携带所述第二指示信息。
在一种实现方式中,所述AH校验的校验范围还包括所述SRv6报文的净荷。
在一种实现方式中,所述AH校验的校验范围还包括所述SRv6报文的IP报文头。
在一种实现方式中,所述IPSec隧道的出口节点为SRv6信任域的入口节点。
在一种实现方式中,所述SRv6报文包括多个SRH,所述AH校验的范围包括所述多个SRH。
第三方面,本申请实施例提供了一种网络装置,用作互联网协议安全IPSec隧道的出口节点,该网络节点包括:
通信接口;和
与所述通信接口连接的处理器;
根据所述通信接口和所述处理器,所述出口节点用于执行前述第一方面以及第一方面任意一项所述的方法。
第四方面,本申请实施例还提供了一种网络装置,用于互联网协议安全IPSec隧道的入口节点,所述网络节点包括:
通信接口;和
与所述通信接口连接的处理器;
根据所述通信接口和所述处理器,所述入口节点用于执行前述第二方面以及第二方面任意一项所述的方法。
第五方面,本申请实施例提供了一种网络装置,用于互联网协议安全IPSec隧道的出口节点,所述网络节点包括存储器和处理器;
所述存储器,用于存储程序代码;
所述处理器,用于运行所述程序代码中的指令,使得所述出口节点执行以上第一方面以及第一方面任意一项所述的方法。
第六方面,本申请实施例提供了一种网络装置,用于互联网协议安全IPSec隧道的入口节点,所述入口节点包括存储器和处理器;
所述存储器,用于存储程序代码;
所述处理器,用于运行所述程序代码中的指令,使得所述入口节点执行以上第二方面以及第二方面任意一项所述的方法。
本申请第三方面至第六方面任一方面所提供的网络装置,例如可以是路由器,交换机,分组交换网络PTN设备等网络设备。也可是网络设备中的单板,线卡或者用于实现相关方法的芯片等。本申请对此不做具体限制。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行以上第一方面以及以上第一方面任意一项所述的方法,或者,使得所述计算机执行以上第二方面以及以上第二方面任意一项所述的方法。
第八方面,本申请实施例提供了一种通信系统,包括互联网协议安全IPSec隧道的入 口节点和所述IPSec隧道的出口节点,其中,所述出口节点用于执行以上第一方面以及第一方面任意一项所述的方法。
第九方面,本申请实施例提供了一种通信系统,包括互联网协议安全IPSec隧道的入口节点和所述IPSec隧道的出口节点,其中,所述入口节点用于执行以上第二方面以及第二方面任意一项所述的方法。
第十方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行以上第一方面以及以上第一方面任意一项所述的方法,或者,使得所述计算机执行以上第二方面以及以上第二方面任意一项所述的方法。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种SRv6报文的结构示意图;
图2为本申请实施例提供的又一种SRv6报文的结构示意图;
图3为本申请实施例提供的一种IPSec报文的结构示意图;
图4为本申请实施例提供的一种示例性应用场景示意图;
图5为本申请实施例提供的一种采用隧道模式封装的SRv6报文的结构示意图;
图6为本申请实施例提供的一种采用传输模式封装的SRv6报文的结构示意图;
图7为本申请实施例提供的一种校验SRv6报文的方法的信令交互图;
图8a为本申请实施例提供的一种SID list的示意图;
图8b为本申请实施例提供的一种SID list的示意图;
图8c为本申请实施例提供的一种SID list的示意图;
图8d为本申请实施例提供的一种SID list的示意图;
图9为本申请实施例提供的一种校验SRv6报文的方法的流程示意图;
图10为本申请实施例提供的一种校验SRv6报文的方法的流程示意图;
图11为本申请实施例提供的一种网络装置的结构示意图;
图12为本申请实施例提供的一种网络装置的结构示意图;
图13为本申请实施例提供的一种网络装置的结构示意图;
图14为本申请实施例提供的一种网络装置的结构示意图;
图15为本申请实施例提供的一种网络装置的结构示意图;
图16为本申请实施例提供的一种网络装置的结构示意图。
本申请实施例提供了一种报文转发方法,能够减少利用SRv6技术进行报文转发时存在安全隐患。
为方便理解,首先对利用SRv6技术进行报文转发进行简单介绍。
利用SRv6技术转发报文时,由头节点指定报文转发路径,中间节点根据头节点指示 的转发路径指导报文转发,直至将报文转发至目的节点。其中:利用SRv6技术转发的报文,也可以被称为SRv6报文。具体地,可以参见图1进行理解,图1为本申请实施例提供的一种SRv6报文的结构示意图。如图1所示,SRv6报文包括IPv6头(IPv6 Header)101,SRH102和净荷103。其中,SRH102包括指示报文转发路径的段标识列表(segment identifier list,SID list)。在一种实现方式中,该SID list可以由若干个节点SID构成,例如,由若干个IPv6地址构成,该节点SID用于指示报文转发过程中经过的节点。在又一种实现方式中,SID list可以由若干个邻接链路SID构成,邻接链路SID用于指示报文转发所经过的邻接链路。所谓邻接链路,指的是两个节点之间直连的链路。在又一种实现方式中,SID list还可以由节点SID和邻接链路SID构成。
在利用SRv6技术转发报文时,中间节点基于SID list进行报文转发,其并不会对SRH以及净荷进行校验。因此,网络黑客可以通过恶意篡改净荷或者SRH的方式来进行网络攻击,影响网络安全。
目前,可以通过定义SRv6信任域的方式来防止前述网络攻击。其中,信任域用于指示防止前述网络攻击的网络范围。信任域可以基于多种方式确定,例如,可以基于网络场景确定,如指定网络中的核心网部分作为所述信任域;或者,可以基于业务类型确定,如将传输特定业务报文的网络范围确定为所述信任域,等等。具体地,为保证信任域不被攻击,可以在信任域的边缘节点或者中间节点上配置访问控制列表(access control list,ACL)流量过滤策略。例如,信任域的边缘节点对接收到的SRv6报文进行校验,若该SRv6报文的目的地址是信任域内的节点的地址,则丢弃该SRv6报文。又如,信任域的边缘节点或者中间节点对接收到的SRv6报文进行校验,若该SRv6报文的源地址是信任域外的节点的地址,则丢弃该SRv6报文。通过上述方式,可以避免信任域外产生的SRv6报文传输至信任域内、以及避免信任域内产生的SRv6报文转发至信任域外。实现仅对信任域内生成的SRv6报文进行转发,避免信任域被攻击。其中,上述信任域的边缘节点,指的是与信任域外的节点直接通信的节点,信任域的中间节点指的是除边缘节点之外的其它节点。
但是,在一些场景下,SRv6报文需要跨信任域转发。例如,信任域外的SRv6报文需要转发至信任域内,或者,第一域中产生的SRv6报文需要经过信任域转发至第二域,第一域和第二域不同于该信任域。
为了在SRv6报文跨信任域转发时保证网络安全,本申请的发明人发现,可以在转发SRv6报文的中间节点(例如信任域的边缘节点)上部署密钥相关的哈希运算消息认证码(hashed-based message authentication code,HMAC)校验,从而防止由于SRH被篡改从而带来的网络攻击。HMAC运算可以以密钥和数据作为输入,将该数据压缩成固定长度的数据摘要。具体地,可参见图2进行理解,图2为本申请实施例提供的又一种SRv6报文的结构示意图。如图2所示,SRH中包括HMAC类型长度值(type length value,TLV),HMAC TLV包括HMAC Key ID字段和HMAC字段。HMAC Key ID字段用于标识HMAC校验所使用的密钥和哈希算法,该字段包括4字节;HMAC字段用于指示对SRv6报文中的特定字段的数据摘要,该字段包括32字节。
关于参与HMAC计算的特定字段、图2所示的各个字段的含义以及HMAC的具体校验方式,此处不做详细说明,可以参考征求意见(request for comments,RFC)8754的相 关描述部分。
上述方式虽然可以验证接收到的SRv6报文的SRH是否被篡改,但是,HMAC校验消耗的资源比较多,相应的会影响执行HMAC校验的节点的性能。
而且,HMAC校验仅支持对当前SRH(如图1所示的102)做校验,若网络黑客在图1所示的SRH102之后插入新的SRH,则HMAC校验不对该新插入的SRH进行校验。网络黑客依然可以通过对新插入的SRH进行篡改的方式进行网络攻击,影响网络安全。
HMAC校验的校验范围也不包括净荷,因此,网络黑客可以通过对净荷进行篡改来进行网络攻击。
HMAC校验还不支持密钥协商,因此,密钥存在泄露的可能。故而需要特定的密钥保护方法来确保密钥的安全性,若没有特定的密钥保护方案,则密钥安全性没有办法得到保证,相应的,HMAC校验的结果也不可信,而执行密钥保护方法会占用至执行HMAC校验的节点的系统资源,影响执行HMAC校验的节点的性能。目前,HMAC校验也不支持防重放攻击,因此,网络黑客可以发送大量的重放攻击报文,消耗网络资源。
综上,在转发SRv6报文的网络节点上部署HMAC校验并不能有效保证网络安全。
本申请的发明人还发现,IPSec技术采用安全隧道保护数据在网络中的传输,IPv6 IPSec技术支持密钥协商和抗重放攻击。
具体地,可以在两个节点之间部署IPSec隧道,当报文在该IPSec隧道中传输时,可以利用AH校验来确定在IPSec隧道中传输报文是否被篡改。
参见图3,该图为本申请实施例提供的一种IPSec报文的结构示意图。
如图3所示的,该IPv6报文包括IPv6 header、AH header和IPv6 payload。
关于IPv6 header中的各个字段,此处不做详细说明。
AH header包括Next Header字段、Hdr Ext Len字段、Reserve字段、Security Parameter Index字段、Sequence Number字段和Authentication Data ICV字段。其中:
Next Header字段包括8比特,用于携带下一个报文头类型;
Hdr Ext Len字段包括8比特,用于携带报文长度;
Reserve字段包括16比特,为保留字段;
安全参数索引(Security Parameter Index,SPI)字段包括32比特,该字段用于携带安全参数索引,安全参数索引可以用于确定密钥和加密算法。生成IPSec报文的节点可以和执行AH校验的节点进行密钥协商,协商完成之后确定该安全参数索引的具体值,并将该具体值封装至IPSec报文中发送给执行AH校验的节点。采用密钥协商的方式,密钥是由参与协商的节点分别生成的参数确定的,例如节点A和节点B进行密钥协商,节点A生成参数A
1,节点B生成参数B
1,通过对参数A
1参数B
1进行相应的运算,得到AH校验所使用的密钥。因此,该密钥泄露的可能性低,安全性高。无需向HMAC校验那样需要额外的密钥保护方案保护HMAC校验所使用的密钥的安全性。因此,相对于HMAC校验而言,采用IPSEC技术进行AH校验,由于无需利用额外的密钥保护方案来保护密钥安全性,故而能够减少节点的资源消耗。
序列号(Sequence Number)字段,可以用于携带报文序号,基于报文序号,可以以实现抗重放攻击。
认证数据(Authentication Data)完整性校验值(integrity check value,ICV)字段用于携带AH校验的校验值,该字段的长度不固定,其长度为32比特的整数倍。
在一个具体的示例中,利用AH校验来保证报文在该IPSec隧道中传输的安全性可以通过如下方式实现:IPSec隧道的入口节点可以给IPv6报文封装AH header,得到的报文结构如图3所示,其中,Authentication Data ICV字段的值是对图3所示的带阴影部分的字段进行ICV计算得到的。相应的,IPSec隧道的出口节点在接收到图3所示的IPv6报文时,可以对带阴影部分的字段进行ICV计算,将计算得到的值与Authentication Data ICV字段的值进行对比,若二者相同,则确定报文未被篡改,继续转发该报文。若二者不同,则确定报文被篡改,丢弃该报文。通过这种方式,可以保证该IPv6报文在IPSec隧道中传输的安全性。
上述AH校验的方式只是一个具体的示例,其并不构成对本申请实施例的限定。
鉴于AH校验可以保证IPv6报文在IPSec隧道中传输的安全性,因此,在一些实施例中,也可以将AH校验应用于SRv6报文的传输过程中,用于保证SRv6报文在IPSec隧道中传输的安全性。
可以参见图4进行理解,图4为本申请实施例提供的一种示例性应用场景示意图。
如图4所示,节点R0需要将报文依次通过节点R1、节点R2、节点R3、节点R4以及节点R5转发至节点R6。其中,该节点R1和节点R5之间部署有SRv6隧道。节点R2、节点R3和节点R4属于SRv6信任域100。节点R1接收到来自节点R0的原始报文之后,可以对该原始报文进行封装,得到SRv6报文。为了使得转发至信任域的SRv6报文的安全性,可以在节点R1和节点R2之间部署IPSec隧道。并利用AH校验保证该SRv6报文在IPSec隧道中传输的安全性。
需要说明的是,图4只是为了方便理解而示出,其并不构成对本申请实施例的限定。例如,IPSec隧道的入口节点可以不一定如图4所示的与SRv6隧道的入口节点相同,IPSec隧道的入口节点也可以是SRv6隧道的中间节点。又如:IPSec隧道的出口节点不一定如图4所示的为信任域的边缘节点,IPSec隧道的出口节点也可以是信任域的中间节点。
在以下实施例中,以IPSec隧道的出口节点为信任域的边缘节点为例进行说明,但是这只是为了方便说明本申请实施例的实现方式,并不构成对本申请实施例的限定。
应用了AH校验的SRv6报文在IPSec隧道中传输时,其报文封装格式可以包括隧道模式封装和传输模式封装。接下来,分别对采用隧道模式封装的报文结构和采用传输模式封装的报文结构进行介绍。
参见图5,该图为本申请实施例提供的一种采用隧道模式封装的SRv6报文的结构示意图。
如图5所示,图5所示的SRv6报文包括New IP Header、AH Header、IP header、SRH和Payload。
其中:New IP Header为新增的IP报文头,New IP Header中可以包括IPSec隧道的入口节点地址和IPSec隧道的出口节点地址,用于指导该报文在IPSec隧道中转发。AH Header可以参考上文对于图3的描述部分,此处不再详述。
对于图5所示的SRv6报文,AH Header中的Authentication Data ICV字段的值是通过 对New IP Header、AH Header、IP header、SRH和Payload中的字段进行ICV计算得到的。换言之,SRH和Payload均参与ICV计算,因此若SRv6报文的AH校验通过,则说明SRv6报文的SRH和Payload均未被篡改,保证了该SRv6报文在IPSec隧道中传输的安全性。
根据图5所示的报文结构可知,New IP Header可以指导该SRv6报文在IPSec隧道中转发。并且,可以通过AH校验来保证该SRv6报文在IPSec隧道中传输的安全性。但是,由于SRH被封装在内层,该SRv6报文在IPSec隧道中转发时,转发节点不对SRH进行解析,因此,也不能根据该SRH转发报文。换言之,该SRv6报文在IPSec隧道中转发时,无法利用SRH指导报文转发,只有当该SRv6报文出IPSec隧道、New IP Header和AH Header被剥离之后,才能利用SRH指导报文转发。关于IPSec传输模式报文的封装格式,可以参考RFC4302的相关描述,此处不详细说明,RFC4302以全文引用的方式并入本申请中。
但是在一些场景中,例如如上图4所示,IPSec隧道是SRv6隧道的一部分,往往要求SRv6报文在IPSec隧道中转发时,也能够利用SRH指导报文转发。因此,采用隧道模式封装在一些场景下并不适用。
参见图6,该图为本申请实施例提供的一种采用传输模式封装的SRv6报文的结构示意图。
如图6所示,图6所示的SRv6报文包括IP header、SRH、AH Header和Payload。此处提及的SRH也可以被称为SRH。此处提及的AH Header也可以被称为AH。
从图6可以看出,与图5不同,此处AH Header封装在内层,SRH封装在AH Header的外层。由于AH Header封装在SRH内层,在SRH被处理完之后才会处理AH Header。换言之,对于利用SRv6转发的中间节点而言,其根据SRH进行转发,并不会对AH Header进行解析处理。只有在利用SRH转发的尾节点,也就是SRH中的SID list指示的最后一个节点剥离SRH之后,才会对AH Header进行解析处理。在一些网络场景中,IPSec隧道是SRv6隧道的一部分。即IPSec隧道的出口节点是利用SRv6转发的中间节点。这就导致该SRv6报文在IPSec隧道中转发时,虽然可以利用SRH指导报文转发,但是却无法利用AH校验来保证报文传输的安全性。因为IPSec隧道的出口节点并没有对SRH做完整性校验,故而即使SRH被篡改,或者网络黑客恶意插入新的SRH的情况下,报文也会继续在网络中转发。而且,由于AH中的序列号字段是用于防重放攻击的,IPSec隧道的出口节点并未执行AH校验的步骤,这就导致SRv6报文在IPSec隧道中传输时,也无法防止重放攻击。
为了解决上述问题,本申请实施例提供了一种校验SRv6报文的方法,可以采用IPSec传输模式封装SRv6报文,并利用AH校验对SRv6报文的至少一个SRH进行校验。该方法与采用HMAC校验对SRH进行校验而言,可以减少对SRH进行校验所带来的资源消耗,可以防止重放攻击并支持密钥协商,并且,可以防止网络黑客通过新增SRH的方式进行网络攻击。该方法与利用AH校验对采用IPSec隧道模式封装的SRv6报文进行校验而言,可以在利用SRH进行SRv6报文转发的前提下,对SRv6报文的至少一个SRH进行验证。该方法相对于传统的利用AH校验对采用IPSec传输模式封装的SRv6报文进行校验而言,可以对报文中的SRH进行校验。
接下来结合上图4所示的应用场景介绍本申请实施例提供的报文转发方法。参见图7,该图为本申请实施例提供的一种校验SRv6报文的方法的信令交互图。图7所示的校验SRv6 报文的方法100,可以通过如下S101-S104实现。
S101:节点R1获得报文1,报文1为SRv6报文,报文1包括AH和至少一个SRH,报文1中携带指示信息1,指示信息1用于指示节点R2对报文1进行AH校验。
如图4所示,节点R1是IPSec隧道的入口节点,节点R2是IPSec隧道的出口节点。
在本申请实施例中,报文1可以是节点R1对获取到的初始报文进行封装后得到的报文。作为一种示例,节点R1可以从节点R0处接收报文2,并对该报文2进行封装,从而得到报文1。例如,节点R1从节点R0处接收IPv4报文或者IPv6报文,而后,节点R1对该报文进行重新封装,为该报文添加SRH和AH,从而获得报文1。
在本申请实施例中,节点R1采用传输模式对获取的初始报文进行封装。关于IPSec传输模式的报文封装格式,可以参考RFC4302中的相关部分,此处不做详述。作为一种示例,报文1的报文结构可以为如图6所示的报文结构。
在本申请实施例中,节点R1在对接收到的原始报文进行重新封装时,可以添加指示信息1,从而得到包括指示信息1的报文1。其中,该指示信息1用于指示节点R2对报文1进行AH校验。而且,为了避免SRH被篡改或者网络黑客在报文中添加新的SRH而造成网络攻击,该AH校验范围包括所述至少一个SRH。由此,即使如图6所示,AH Header封装在SRH内层,IPSec隧道的出口节点R2是利用SRv6转发的中间节点,节点R2也可以根据指示信息1对报文1进行AH校验,并且校验范围包括该至少一个SRH。从而避免网络黑客利用SRH对网络造成攻击。此处提及的利用SRH包括但不限于篡改SRH或插入新的SRH。
在本申请中,AH校验范围可以包括一个SRH,也可以包括多个SRH。
在本申请实施例中,指示信息1可以由报文1中的其中一个字段来携带。本申请实施例不具体限定该字段。用于携带指示信息1的字段可以但不限于采用以下几种字段。
作为一种示例,该字段可以是SRH中的其中一个字段。换言之,前述指示信息1可以携带在SRH中。例如,该指示信息1可以携带在SRH的预留字段或者扩展TLV字段中。考虑到目前SRH中的flag字段的含义没有明确定义,该flags字段可以认为是SRH的预留字段,因此,可以利用SRH中的flags字段来携带指示信息1。
作为又一种示例,考虑到在实际应用中,节点R1获取报文1之后,会将该报文1的IPv6头中的目的地址修改为节点R2的地址,以便于将报文1发送给节点R2。而接收到报文1的节点会判定目的地址是否为自身的地址,若是,则执行下一步操作,例如,继续解析SRH分段路由头,等等。若目的地址不是自身的地址,则继续将报文转发至该目的地址对应的节点。换言之,节点R2接收到报文1时,必然会解析报文1的目的地址。因此,在本申请实施例中,用于携带指示信息1的字段可以为目的地址字段。换言之,前述指示信息1可以携带在报文1的目的地址中。
考虑到在实际应用中,对于SRv6报文而言,其目的地址包括128比特,该128比特可以包括locator、function和arguments三个字段。其中,locator字段用于携带网段地址和子网地址;function和arguments字段均用于携带与locator对应的行为。例如,当目的地址是绑定段标识(binding segment ID,BSID)时,function指示的行为为将BSID展开为SID list。其中,BSID可以用于标识一条转发路径,该转发路径可以由SID list指示。因此,在 本申请实施例的一种实现方式中,可以利用该目的地址的function字段或者arguments字段来携带前述指示信息1。例如,可以新增一种function类型(例如下文提及的END.AH),该function类型用于携带前述指示信息1,用于指示该目的地址对应的节点进行AH校验。又如,在function字段已经使用的情况下,利用arguments字段来携带前述指示信息1。在又一种实现方式中,节点R2中可以保存前述报文1的目的地址和指示信息1的对应关系,以实现通过报文1的目的地址携带指示信息1的目的。
关于报文1的目的地址,需要说明的是,该目的地址所指示的节点为节点R2。本申请实施例不具体限定该目的地址,作为一种示例,该目的地址可以为R2.SID,即该目的地址可以是R2节点的段标识。作为又一种示例,该目的地址可以为R2.BSID,即该目的地址为R2节点的绑定段标识,用于标识以节点R2为起点的一条路径。当报文1的目的地址为R2.SID时,报文1的SID list如图8a所示。当报文1的目的地址为R2.BSID时,报文1的SID list如图8b所示。关于图8a和图8b中所示的R5.VPN和R5.END,需要说明的是,R5.END用于指示R5节点,用于指示节点R4将报文1转发给节点R5,R5.VPN用于对应节点R5上部署的某一具体的虚拟专用网络(virtual private network,VPN)实例。作为又一种示例,该目的地址可以与IPSec隧道关联。例如,报文1的目的地址可以是IPSec隧道的出口IP地址R2.END.AH。对于这种情况,可以预先将出口IP地址与节点R2进行关联,并将该路由发布至节点R1上,从而使得在报文1的目的地址是IPSec隧道的出口IP地址的情况下,报文1能够被转发至节点R2。当报文1的目的地址是IPSec隧道的出口IP地址时,报文1的SID list可以如图8c所示,其中,R2.BSID用于指示一条转发路径。用于指导节点R2转发接收到的报文1。当然,若不采用BSID接入信任域,报文1的SID list可以如图8d所示。
在本申请实施例中,若报文1的目的地址是R2.BSID,该BSID可以是节点R2或者控制管理设备生成的。对于这种情况,域外节点将转发至信任域内的SRv6报文的目的地址设置为BSID,可以防止信任域内的网络拓扑泄露。
在一些实施例中,IPSec隧道可以与VPN实例进行关联。一般情况下,一个IPSec隧道可以关联一个或者多个VPN实例。即该IPSec隧道用于传输与其关联的VPN实例对应的报文。另外,BSID也可以与IPSec隧道进行关联,一个BSID可以对应一个IPSec隧道。
在本申请实施例中,若报文1的目的地址是IPSec隧道的出口IP地址或者R2.SID,则该IPSec隧道可以与多个VPN实例进行关联,用于传输多个VPN实例对应的报文。若报文1的目的地址是R2.BSID,则该IPSec隧道可以与一个VPN实例进行关联,该VPN实例即为与R2.BSID关联的VPN实例。
从前文对于图3的描述部分可知,目前,AH校验的校验范围不包括SRH。而在本申请中,为了避免由于SRH被篡改而造成网络攻击,AH校验范围包括至少一个SRH。具体地,在一种实现方式中,前述指示信息1除了用于指示IPSec隧道的出口节点进行AH校验之外,还可以用于指示AH校验的校验范围包括至少一个SRH。在又一种实现方式中,节点R1在对接收到的原始报文进行重新封装时,除了添加指示信息1之外,还可以添加指示信息2,从而得到包括指示信息1和指示信息2的报文1。其中,该指示信息2用于指示 AH校验的校验范围包括至少一个SRH。对于这种情况,指示信息1用于指示IPSec隧道的出口节点进行AH校验,指示信息2用于指示AH校验的校验范围包括至少一个SRH。
在本申请实施例中,指示信息2可以由报文1中的其中一个字段来携带。本申请实施例不具体限定该字段。以下介绍几种可能的用于携带指示信息2的字段。
考虑到进行AH校验要结合AH中的相关内容进行校验,因此,在一种实现方式中,可以通过AH来携带指示信息2。例如,该指示信息2可以携带在AH的预留字段中。例如,可以利用AH中的Reserve字段的其中一个比特来携带指示信息2。当然,指示信息2也可以通过报文1中的其它字段来携带,例如,通过SRH的预留字段或者扩展TLV字段来携带。
可以理解的是,通过指示信息1、指示信息2和AH,节点R2即可对接收到的报文1进行AH校验,并且,AH校验的校验范围包括SRH。
在本申请实施例的一种实现方式中,对报文1进行AH校验的校验范围还可以包括报文1的净荷。当AH校验的校验范围包括净荷时,本申请实施例提供的方案相对于采用HMAC校验的方案,可以避免网络黑客利用净荷进行网络攻击。此处提及的利用净荷进行网络攻击,例如可以包括篡改净荷,从而使得攻击报文在网络中传输,不仅消耗网络资源,还存在一定的安全隐患。
在本申请实施例的一种实现方式中,考虑到SRv6报文处理包括SRH和净荷之外,还包括IP报文头,IP报文头中也会携带一些重要信息,例如,报文的最终目的地址(例如出SRv6隧道之后的目的地址)。若IP报文头被篡改,也会存在一定的安全风险。因此,在一些实施例中,对报文1进行AH校验的校验范围还可以包括报文1的IP报文头。
当然,对报文1进行AH校验的校验范围可以既包括报文1的IP报文头、又包括报文1的净荷,从而实现对报文1进行完整性校验。此处提及的IP报文头例如可以为前述IPv6头。
如图3所示,AH中包括Authentication Data ICV字段,该字段的值可以是节点R1对报文1中的特定字段进行ICV计算得到的。其中,参与ICV计算的字段与AH校验的校验范围有关。若AH校验的校验范围包括SRH,则参与ICV计算的字段可以为SRH中的字段。若AH校验的校验范围包括SRH和净荷,则参与ICV计算的字段可以为SRH和净荷。若AH校验的校验范围包括SRH和IP报文头,则参与ICV计算的字段可以为SRH和IP报文头。若AH校验的校验范围包括SRH、IP报文头和净荷,则参与ICV计算的字段可以为SRH、IP报文头和净荷。在申请实施例的一种实现方式中,若报文1中包括指示信息2,则可以通过该指示信息2的值来指示AH校验的范围。例如,当指示信息2的值为A时,AH校验的范围包括SRH和净荷,当指示信息2的值为B时,AH校验的范围包括SRH和IP头,当指示信息2的值为C时,AH校验的范围包括SRH、净荷和IP头。
节点R2在对接收到的报文1进行AH校验时,也是采用对报文1中的特定字段进行ICV计算,并将计算得到的值与报文1的Authentication Data ICV字段携带的值进行比较,从而确定报文1是否被篡改。而在实际应用中,报文1在转发过程中,一些字段的值保持不变(immutable),而也有一些字段的值会发生改变。而值发生改变的字段又可以划分为两类,分别为可变但可预测(mutable but predictable)类以及可变但不可预测类,可变但不可预测 类可以简称为变化(mutable)类。其中,可变但可预测类指的是节点R2接收到报文1时该字段的值是可以预先确定的,变化类指的是节点R2接收到报文1时该字段的值是无法预先确定的。
为了使得AH校验的结果能够正确指示报文1是否被篡改,在本申请实施例中,节点R1在计算Authentication Data ICV字段的值时,可以将变化字段的值当成预设值例如0、并且将可变但可预测类字段的值确定为该字段的预测值来进行ICV计算。此处提及的预测值指的是节点R2接收到报文1时该字段的值。
其中,SRv6报文中各字段的类型可以如下表1所示。
表1
表1所示的各字段的具体含义,此处不做具体说明。
另外,SRv6报文的IPv6净荷属于不变字段。
需要说明的是,节点R1在计算Authentication Data ICV字段的值时,IPv6头的Destination Address字段的值为IPSec隧道的出口地址,IPSec隧道的出口地址可以为上文提及的R2.SID、R2.BSID或者R2.AH.SID。Segment Left的值为节点R2接收到报文1时对应的值。在本申请实施例中,若目标地址中携带指示信息1,则节点R2接收到报文1时,可以解析该目的地址字段,获取该指示信息1,并根据指示信息1做AH校验。其中,若目的地址是R2.SID,则指示信息1可以携带在R2.SID的function字段中;若目的地址是R2.BSID,则指示信息1可以携带在R2.BSID的arguments字段中;若目的地址是R2.AH.SID,则指示信息1可以携带在R2.AH.SID的function字段或者arguments字段中。
S102:节点R1将报文1发送给节点R2。
S103:节点R2接收报文1。
节点R1获得报文1之后,可以将报文1转发给节点R2。节点R2可以接收节点R1发送的报文1。如图4所示,节点R2为信任域的边缘节点。
S104:节点R2根据指示信息1和AH,对报文1进行AH校验,AH校验的校验范围包括至少一个SRH。
节点R2接收到报文1之后,首先确定报文1的目的地址是节点R2的地址。而后,节点R2获取指示信息1,根据指示信息1,节点R2可以执行对报文1进行AH校验的步骤。具体地,节点R2可以对AH进行解析,根据AH中的Security Parameter Index字段,确定AH校验所使用的ICV算法和密钥。另外,若指示信息1除了用于指示IPSec隧道的出口节点进行AH校验之外,还可以用于指示AH校验的校验范围包括至少一个SRH,则节点R2可以根据指示信息1对报文1进行AH校验,并且,AH校验的校验范围包括至少一个SRH。若指示信息1用于指示IPSec隧道的出口节点进行AH校验,指示信息2用于指示AH校验的校验范围包括至少一个SRH,则节点R2还可以根据指示信息2确定AH校验的校验范围包括SRH。关于指示信息1和指示信息2,可以参考S101的对指示信息1和指示信息2的描述部分,此处不再详述。
在一个具体的示例中,节点R2对报文1进行AH校验可以通过如下方式实现:节点R2可以对报文1中的特定字段进行ICV计算。对于该特定字段中的变化字段,可以将变化字段的值当成预设值例如0来进行计算。此处提及的特定字段,可以包括SRH,也可以包括SRH和净荷,还可以包括SRH、IP报文头和净荷。节点R2对报文1中的特定字段进行ICV计算之后,可以将计算得到的值与报文1中Authentication Data ICV字段携带的值进行比较,若二者相同,则说明报文1未被篡改,进一步地,节点R2剥离AH,并进一步根据SRH进行报文转发。若二者不相同,则说明报文1被篡改了,对于这种情况,为了避免对网络例如信任域造成攻击,节点R2可以丢弃报文1。
关于节点R2根据SRH进行报文转发的具体实现方式,例如可以是根据SRH和段剩余(segment left,SL)字段的值来确定报文转发的下一跳目的节点,此处不做详细描述。
在本申请实施例中,AH校验的范围包括至少一个SRH,在一个实施例中,节点R2可以对报文1中的所有SRH均进行校验,这样一来,若该参与校验的SRH中存在网络黑客新增的SRH,则AH校验失败,从而可以确定报文1是篡改后的报文。由此可见,利用本方案可以避免网络黑客通过新增SRH的方式进行网络攻击。
如前文对于图3的描述部分可知,AH中包括SPI字段,故而采用AH校验与采用HMAC校验相比,具备支持密钥协商的优点。正是由于AH校验支持密钥协商,故而AH密钥的安全性更高,并且也不需要额外的密钥保护方案来保护AH密钥的安全性,能够减少节点R2的资源消耗。而且,AH中包括序列号字段,该序列号字段可以避免网络黑客重复发送相同的报文,即本申请实施例的方案与采用HMAC校验相比,还支持防重放攻击,避免相同的报文在网络中传输,占用网络资源。
通过以上描述可知,利用本申请实施例的方案,可以通过AH校验验证报文1在IPSec隧道中传输时是否被篡改,只有在报文1验证通过的情况下才继续转发报文1,否则丢弃报文1。在节点R2是信任域的边缘节点的场景下,该方法可以保证转发至信任域的SRv6报文的安全性,有效避免信任域被攻击。在节点R2不是信任域的边缘节点的场景下,利用本申请实施例的方案,也可以避免被篡改的SRv6报文继续在网络中传输,避免篡改报文占用网络资源,也消除了被篡改的SRv6报文继续在网络中传输所带来的安全隐患。
需要说明的是,本申请实施例中的IPSec隧道,例如可以在对安全防护要求较高的节点之间建立。例如,如图4所示,为了保证信任域不被攻击,要保证来自信任域外的SRv6报 文的合法性,故而在信任域的边缘节点R2和域外节点R1之间部署IPSec隧道。或者,也可以在没有其它安全防护措施的节点之间建立。当然,此处只是指出了两种可能建立IPSec隧道的场景,其并不构成对本申请实施例的限定。
本申请实施例还提供了一种校验SRv6报文的方法200,可参见图9,图9为本申请实施例提供的一种校验SRv6报文的方法的流程示意图。以下结合图9对该方法进行说明。图9所示的方法,例如可以通过S201-S201实现。
S201:IPSec隧道的出口节点接收SRv6报文,所述SRv6报文为采用IPSec传输模式封装的报文,所述SRv6报文包括AH和至少一个SRH,所述SRv6报文中携带第一指示信息,所述第一指示信息用于指示所述出口节点对所述SRv6报文进行AH校验。
S202:所述出口节点根据所述第一指示信息和所述AH,对所述SRv6报文进行AH校验,所述AH校验的校验范围包括所述至少一个SRH。
方法200可以用于实现以上实施例提及的方法100中由节点R2执行的S103和S104,当方法200用于实现以上实施例提及的方法100中由节点R2执行的S103和S104时,IPSec隧道的出口节点对应方法100中的节点R2,SRv6报文对应方法100中的报文1,第一指示信息对应方法100中的指示信息1。
在一种实现方式中,所述SRH中携带所述第一指示信息。
在一种实现方式中,所述SRH中的预留字段或者扩展TLV字段用于携带所述第一指示信息。
在一种实现方式中,所述预留字段为flag字段。
在一种实现方式中,所述SRv6报文的目的地址携带所述第一指示信息。
在一种实现方式中,所述目的地址的arguments字段或者function字段携带所述第一指示信息。
在一种实现方式中,所述出口节点中存储有所述目的地址和所述第一指示信息的对应关系。
在一种实现方式中,所述SRv6报文的目的地址为第一段标识SID,所述第一SID为所述出口节点的SID或者BSID。出口节点的SID可以对应方法100中的R2.SID,出口节点的BSID可以对应方法100中的R2.BSID。
在一种实现方式中,所述SRv6报文的目的地址为第二SID,所述第二SID与所述IPSec隧道关联。
在一种实现方式中,所述第二SID为所述IPSec隧道的出口IP地址。IPSec隧道的出口IP地址可以对应方法100中的R2.AH.SID。
在一种实现方式中,所述SRv6报文中包括第二指示信息,所述第二指示信息用于指示所述AH校验的校验范围包括所述SRH。第二指示信息可以对应方法100中的指示信息2。
在一种实现方式中,所述AH中包括所述第二指示信息。
在一种实现方式中,所述AH的预留字段中携带所述第二指示信息。
在一种实现方式中,所述出口节点根据所述第一指示信息和所述AH,对所述SRv6报文进行AH校验,包括:
所述出口节点根据所述第一指示信息、所述第二指示信息和所述AH,对所述SRv6报文进行AH校验。
在一种实现方式中,所述AH校验的校验范围还包括所述SRv6报文的净荷。
在一种实现方式中,所述AH校验的校验范围还包括所述SRv6报文的IPv6报文头。
在一种实现方式中,所述IPSec隧道的出口节点为SRv6信任域的入口节点。
在一种实现方式中,所述SRv6报文包括多个SRH,所述AH校验的范围包括所述多个SRH。
在一种实现方式中,所述方法还包括:
所述出口节点转发通过所述AH校验的所述SRv6报文;或者,
所述出口节点丢弃未通过所述AH校验的所述SRv6报文。
关于方法200的具体实现,可以参考上文对于方法100中的S103和S104的描述部分,此处不再重复描述。
本申请实施例还提供了一种校验SRv6报文的方法300,可参见图10,图10为本申请实施例提供的一种校验SRv6报文的方法的流程示意图。以下结合图10对该方法进行说明。图10所示的方法,例如可以通过S301-S301实现。
S301:IPSec隧道的入口节点获取SRv6报文,所述SRv6报文为采用IPSec传输模式封装的报文,所述SRv6报文包括AH和至少一个SRH,所述SRv6报文中携带第一指示信息,所述第一指示信息用于指示所述IPSec隧道的出口节点对所述SRv6报文进行AH校验,所述AH校验的校验范围包括所述至少一个SRH。
S302:所述入口节点将所述SRv6报文发送给所述出口节点。
方法200可以用于实现以上实施例提及的方法100中由节点R1执行的S101和S102,当方法200用于实现以上实施例提及的方法100中由节点R1执行的S101和S102时,IPSec隧道的入口节点对应方法100中的节点R1,IPSec隧道的出口节点对应方法100中的节点R2,SRv6报文对应方法100中的报文1,第一指示信息对应方法100中的指示信息1。
在一种实现方式中,所述SRH中携带所述第一指示信息。
在一种实现方式中,所述SRH中的预留字段或者TLV字段用于携带所述第一指示信息。
在一种实现方式中,所述预留字段为flag字段。
在一种实现方式中,所述SRv6报文的目的地址携带所述第一指示信息。
在一种实现方式中,所述目的地址的arguments字段或者function字段携带所述第一指示信息。
在一种实现方式中,所述出口节点中存储有所述SRv6报文的目的地址和所述第一指示信息的对应关系。
在一种实现方式中,所述SRv6报文的目的地址为第一段标识SID,所述第一SID为所述出口节点的SID或者BSID。出口节点的SID可以对应方法100中的R2.SID,出口节点的BSID可以对应方法100中的R2.BSID。
在一种实现方式中,所述SRv6报文的目的地址为第二SID,所述第二SID与所述IPSec隧道关联。
在一种实现方式中,所述第二SID为所述IPSec隧道的出口IP地址。IPSec隧道的出口IP地址可以对应方法100中的R2.AH.SID。
在一种实现方式中,所述SRv6报文中包括第二指示信息,所述第二指示信息用于指示所述AH校验的校验范围包括所述SRH。第二指示信息可以对应方法100中的指示信息2。
在一种实现方式中,所述AH中包括所述第二指示信息。
在一种实现方式中,所述AH的预留字段中携带所述第二指示信息。
在一种实现方式中,所述AH校验的校验范围还包括所述SRv6报文的净荷。
在一种实现方式中,所述AH校验的校验范围还包括所述SRv6报文的IP报文头。
在一种实现方式中,所述IPSec隧道的出口节点为SRv6信任域的入口节点。
在一种实现方式中,所述SRv6报文包括多个SRH,所述AH校验的范围包括所述多个SRH。
关于方法300的具体实现,可以参考上文对于方法100中的S101和S102的描述部分,此处不再重复描述。
此外,本申请实施例还提供了一种网络装置1100,用于IPSec隧道的出口节点,参见图11所示。图11为本申请实施例提供的一种网络装置的结构示意图。该网络装置1100包括收发单元1101和处理单元1102。其中,收发单元1101用于执行以上实施例中IPSec隧道的出口节点执行的收发操作。处理单元1102用于执行由以上实施例中提及的IPSec隧道的出口节点执行的除收发操作之外的操作。例如,收发单元1101用于接收SRv6报文,处理单元1102用于根据该SRv6报文携带的第一指示信息和AH,对该SRv6报文进行AH校验。
此外,本申请实施例还提供了一种网络装置1200,用于IPSec隧道的入口节点,参见图12所示。图12为本申请实施例提供的一种网络装置1200的结构示意图。该网络装置1200包括收发单元1201和处理单元1202。其中,收发单元1201用于执行以上实施例中IPSec隧道的入口节点执行的收发操作。处理单元1202用于执行由以上实施例中提及的IPSec隧道的入口节点执行的除收发操作之外的操作。例如,处理单元1202用于获取SRv6报文,收发单元1201用于将该SRv6报文发送给IPSec隧道的出口节点。
此外,本申请实施例还提供了一种网络装置1300,用作IPSec隧道的出口节点,参见图13所示,图13为本申请实施例提供的一种网络装置的结构示意图。该网络装置1300包括通信接口1301和与通信接口1301连接的处理器1302。其中,通信接口1301用于以上实施例中IPSec隧道的出口节点执行的收发操作;处理器1302用于以上实施例中IPSec隧道的出口节点执行的除收发操作之外的其它操作。例如:通信接口1301用于执行接收SRV6的步骤;处理器1302用于执行根据该SRv6报文携带的第一指示信息和AH,对该SRv6报文进行AH校验的步骤。
此外,本申请实施例还提供了一种网络装置1400,用作IPSec隧道的入口节点,参见图14所示,图14为本申请实施例提供的一种网络装置的结构示意图。该网络装置1400包括通信接口1401和与通信接口1401连接的处理器1402。其中,通信接口1401用于执行上述实施例中IPSec隧道的入口节点执行的收发操作;处理器1402用于执行上述实施例中 IPSec隧道的入口节点执行的除了收发操作以外的其他操作。例如,处理器1402用于获取SRv6报文,通信接口1401用于将该SRv6报文发送给IPSec隧道的出口节点。
此外,本申请实施例还提供了一种网络装置1500,用作IPSec隧道的出口节点,参见图15所示,图15为本申请实施例提供的一种网络装置的结构示意图。该网络装置1500包括存储器1501和处理器1502。其中,存储器1501用于存储程序代码;处理器1502用于运行所述程序代码中的指令,使得该IPSec隧道的出口节点执行以上实施例中由IPSec隧道的出口节点执行的步骤。
此外,本申请实施例还提供了一种网络装置1600,用于IPSec隧道的入口节点,参见图16所示,图16为本申请实施例提供的一种网络装置的结构示意图。该网络装置1600包括存储器1601和处理器1602。其中,存储器1601用于存储程序代码;处理器1602用于运行所述程序代码中的指令,使得该IPSec隧道的入口节点执行以上实施例中由IPSec隧道的入口节点执行的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行上述实施例中由IPSec隧道的出口节点执行的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行上述实施例中由IPSec隧道的入口节点执行的步骤。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,当其在计算机上运行时,使得所述计算机执行上述实施例中由IPSec隧道的入口节点或由IPsec隧道的出口节点所执行的步骤。
本申请中所提及的处理器可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器还可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。处理器可以是指一个处理器,也可以包括多个处理器。
本申请中所提及的存储器可以是包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器还可以包括上述种类的存储器的组合。存储器可以是指一个存储器,也可以包括多个存储器。
在一个具体实施方式中,本申请所提及的存储器中存储有计算机可读指令,所述计算机可读指令包括多个软件模块,例如收发模块和处理模块。处理器执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本实施例中,一个软件模块所执行的操作 实际上是指处理器根据所述软件模块的指示而执行的操作。例如,在本申请实施例所描述的方法200中,收发模块可以用于实现方法200中相关接收或发送的操作,例如,收发模块用于执行S201中接收SRv6报文的操作。处理模块用于执行处理收发以为的操作,例如,处理模块用于执行S202中根据所述第一指示信息和所述AH,对所述SRv6报文进行AH校验的操作。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一 个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (79)
- 一种校验SRv6报文的方法,其特征在于,所述方法包括:互联网协议安全IPSec隧道的出口节点接收互联网协议第6版段路由SRv6报文,所述SRv6报文为采用IPSec传输模式封装的报文,所述SRv6报文包括认证头AH和至少一个分段路由头SRH,所述SRv6报文中携带第一指示信息,所述第一指示信息用于指示所述出口节点对所述SRv6报文进行AH校验;所述出口节点根据所述第一指示信息和所述AH,对所述SRv6报文进行AH校验,所述AH校验的校验范围包括所述至少一个SRH。
- 根据权利要求1所述的方法,其特征在于,所述SRH中携带所述第一指示信息。
- 根据权利要求2所述的方法,其特征在于,所述SRH中的预留字段或者扩展类型长度值TLV字段用于携带所述第一指示信息。
- 根据权利要求3所述的方法,其特征在于,所述预留字段为flag字段。
- 根据权利要求1所述的方法,其特征在于,所述SRv6报文的目的地址携带所述第一指示信息。
- 根据权利要求5所述的方法,其特征在于,所述目的地址的arguments字段或者function字段携带所述第一指示信息。
- 根据权利要求5所述的方法,其特征在于,所述出口节点中存储有所述目的地址和所述第一指示信息的对应关系。
- 根据权利要求1-7任意一项所述的方法,其特征在于,所述SRv6报文的目的地址为第一段标识SID,所述第一SID为所述出口节点的SID或者BSID。
- 根据权利要求1-7任意一项所述的方法,其特征在于,所述SRv6报文的目的地址为第二SID,所述第二SID与所述IPSec隧道关联。
- 根据权利要求9所述的方法,其特征在于,所述第二SID为所述IPSec隧道的出口IP地址。
- 根据权利要求1-10任意一项所述的方法,其特征在于,所述SRv6报文中包括第二指示信息,所述第二指示信息用于指示所述AH校验的校验范围包括所述SRH。
- 根据权利要求11所述的方法,其特征在于,所述AH中包括所述第二指示信息。
- 根据权利要求12所述的方法,其特征在于,所述AH的预留字段中携带所述第二指示信息。
- 根据权利要求11-13任意一项所述的方法,其特征在于,所述出口节点根据所述第一指示信息和所述AH,对所述SRv6报文进行AH校验,包括:所述出口节点根据所述第一指示信息、所述第二指示信息和所述AH,对所述SRv6报文进行AH校验。
- 根据权利要求1-14任意一项所述的方法,其特征在于,所述AH校验的校验范围还包括所述SRv6报文的净荷。
- 根据权利要求1-15任意一项所述的方法,其特征在于,所述AH校验的校验范围还包括所述SRv6报文的IPv6报文头。
- 根据权利要求1-16任意一项所述的方法,其特征在于,所述IPSec隧道的出口节点 为SRv6信任域的入口节点。
- 根据权利要求1-17任意一项所述的方法,其特征在于,所述SRv6报文包括多个SRH,所述AH校验的范围包括所述多个SRH。
- 根据权利要求1-18任意一项所述的方法,其特征在于,所述方法还包括:所述出口节点转发通过所述AH校验的所述SRv6报文;或者,所述出口节点丢弃未通过所述AH校验的所述SRv6报文。
- 一种校验SRv6报文的方法,其特征在于,所述方法包括:互联网协议安全IPSec隧道的入口节点获取互联网协议第6版段路由SRv6报文,所述SRv6报文为采用IPSec传输模式封装的报文,所述SRv6报文包括认证头AH和至少一个分段路由头SRH,所述SRv6报文中携带第一指示信息,所述第一指示信息用于指示所述IPSec隧道的出口节点对所述SRv6报文进行AH校验,所述AH校验的校验范围包括所述至少一个SRH;所述入口节点将所述SRv6报文发送给所述出口节点。
- 根据权利要求20所述的方法,其特征在于,所述SRH中携带所述第一指示信息。
- 根据权利要求21所述的方法,其特征在于,所述SRH中的预留字段或者扩展类型长度值TLV字段用于携带所述第一指示信息。
- 根据权利要求22所述的方法,其特征在于,所述预留字段为flag字段。
- 根据权利要求20所述的方法,其特征在于,所述SRv6报文的目的地址携带所述第一指示信息。
- 根据权利要求24所述的方法,其特征在于,所述目的地址的arguments字段或者function字段携带所述第一指示信息。
- 根据权利要求24所述的方法,其特征在于,所述出口节点中存储有所述SRv6报文的目的地址和所述第一指示信息的对应关系。
- 根据权利要求20-26任意一项所述的方法,其特征在于,所述SRv6报文的目的地址为第一段标识SID,所述第一SID为所述出口节点的SID或者BSID。
- 根据权利要求20-26任意一项所述的方法,其特征在于,所述SRv6报文的目的地址为第二SID,所述第二SID与所述IPSec隧道关联。
- 根据权利要求28所述的方法,其特征在于,所述第二SID为所述IPSec隧道的出口IP地址。
- 根据权利要求20-29任意一项所述的方法,其特征在于,所述SRv6报文中包括第二指示信息,所述第二指示信息用于指示所述AH校验的校验范围包括所述SRH。
- 根据权利要求30所述的方法,其特征在于,所述AH中包括所述第二指示信息。
- 根据权利要求31所述的方法,其特征在于,所述AH的预留字段中携带所述第二指示信息。
- 根据权利要求20-32任意一项所述的方法,其特征在于,所述AH校验的校验范围还包括所述SRv6报文的净荷。
- 根据权利要求20-33任意一项所述的方法,其特征在于,所述AH校验的校验范围还包括所述SRv6报文的IP报文头。
- 根据权利要求20-34任意一项所述的方法,其特征在于,所述IPSec隧道的出口节点为SRv6信任域的入口节点。
- 根据权利要求20-35任意一项所述的方法,其特征在于,所述SRv6报文包括多个SRH,所述AH校验的范围包括所述多个SRH。
- 一种网络装置,用于互联网协议安全IPSec隧道的出口节点,其特征在于,包括:通信接口;和与所述通信接口连接的处理器;根据所述通信接口和所述处理器,所述网络装置用于执行前述权利要求1-19任意一项所述的方法。
- 一种网络装置,用于互联网协议安全IPSec隧道的入口节点,其特征在于,包括:通信接口;和与所述通信接口连接的处理器;根据所述通信接口和所述处理器,所述网络装置用于执行前述权利要求20-36任意一项所述的方法。
- 一种网络装置,用于互联网协议安全IPSec隧道的出口节点,其特征在于,所述网络节点包括存储器和处理器;所述存储器,用于存储程序代码;所述处理器,用于运行所述程序代码中的指令,使得所述网络装置执行以上权利要求1-19任意一项所述的方法。
- 一种网络装置,用于互联网协议安全IPSec隧道的入口节点,其特征在于,所述网络节点包括存储器和处理器;所述存储器,用于存储程序代码;所述处理器,用于运行所述程序代码中的指令,使得所述网络装置执行以上权利要求20-36任意一项所述的方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在处理器上运行时,实现权利要求1-19或者权利要求20-36任意一项所述的方法。
- 一种通信系统,其特征在于,包括权利要求37或39所述的网络装置以及权利要求38或40所述的网络装置。
- 一种校验SRv6报文的装置,其特征在于,应用于互联网协议安全IPSec隧道的出口节点,所述装置包括:接收单元,用于接收互联网协议第6版段路由SRv6报文,所述SRv6报文为采用IPSec传输模式封装的报文,所述SRv6报文包括认证头AH和至少一个分段路由头SRH,所述SRv6报文中携带第一指示信息,所述第一指示信息用于指示所述出口节点对所述SRv6报文进行AH校验;处理单元,用于根据所述第一指示信息和所述AH,对所述SRv6报文进行AH校验,所述AH校验的校验范围包括所述至少一个SRH。
- 根据权利要求43所述的装置,其特征在于,所述SRH中携带所述第一指示信息。
- 根据权利要求44所述的装置,其特征在于,所述SRH中的预留字段或者扩展类型 长度值TLV字段用于携带所述第一指示信息。
- 根据权利要求45所述的装置,其特征在于,所述预留字段为flag字段。
- 根据权利要求43所述的装置,其特征在于,所述SRv6报文的目的地址携带所述第一指示信息。
- 根据权利要求47所述的装置,其特征在于,所述目的地址的arguments字段或者function字段携带所述第一指示信息。
- 根据权利要求47所述的装置,其特征在于,所述出口节点中存储有所述目的地址和所述第一指示信息的对应关系。
- 根据权利要求43-49任意一项所述的装置,其特征在于,所述SRv6报文的目的地址为第一段标识SID,所述第一SID为所述出口节点的SID或者BSID。
- 根据权利要求43-49任意一项所述的装置,其特征在于,所述SRv6报文的目的地址为第二SID,所述第二SID与所述IPSec隧道关联。
- 根据权利要求51所述的装置,其特征在于,所述第二SID为所述IPSec隧道的出口IP地址。
- 根据权利要求43-52任意一项所述的装置,其特征在于,所述SRv6报文中包括第二指示信息,所述第二指示信息用于指示所述AH校验的校验范围包括所述SRH。
- 根据权利要求53所述的装置,其特征在于,所述AH中包括所述第二指示信息。
- 根据权利要求54所述的装置,其特征在于,所述AH的预留字段中携带所述第二指示信息。
- 根据权利要求53-55任意一项所述的装置,其特征在于,所述处理单元,用于:根据所述第一指示信息、所述第二指示信息和所述AH,对所述SRv6报文进行AH校验。
- 根据权利要求43-56任意一项所述的装置,其特征在于,所述AH校验的校验范围还包括所述SRv6报文的净荷。
- 根据权利要求43-57任意一项所述的装置,其特征在于,所述AH校验的校验范围还包括所述SRv6报文的IPv6报文头。
- 根据权利要求43-58任意一项所述的装置,其特征在于,所述IPSec隧道的出口节点为SRv6信任域的入口节点。
- 根据权利要求43-59任意一项所述的装置,其特征在于,所述SRv6报文包括多个SRH,所述AH校验的范围包括所述多个SRH。
- 根据权利要求43-60任意一项所述的装置,其特征在于,所述装置还包括:发送单元,用于转发通过所述AH校验的所述SRv6报文;或者,所述处理单元,还用于丢弃未通过所述AH校验的所述SRv6报文。
- 一种校验SRv6报文的装置,其特征在于,应用于互联网协议安全IPSec隧道的入口节点,所述装置包括:获取单元,用于获取互联网协议第6版段路由SRv6报文,所述SRv6报文为采用IPSec传输模式封装的报文,所述SRv6报文包括认证头AH和至少一个分段路由头SRH,所述 SRv6报文中携带第一指示信息,所述第一指示信息用于指示所述IPSec隧道的出口节点对所述SRv6报文进行AH校验,所述AH校验的校验范围包括所述至少一个SRH;发送单元,用于将所述SRv6报文发送给所述出口节点。
- 根据权利要求62所述的装置,其特征在于,所述SRH中携带所述第一指示信息。
- 根据权利要求63所述的装置,其特征在于,所述SRH中的预留字段或者扩展类型长度值TLV字段用于携带所述第一指示信息。
- 根据权利要求64所述的装置,其特征在于,所述预留字段为flag字段。
- 根据权利要求62所述的装置,其特征在于,所述SRv6报文的目的地址携带所述第一指示信息。
- 根据权利要求66所述的装置,其特征在于,所述目的地址的arguments字段或者function字段携带所述第一指示信息。
- 根据权利要求66所述的装置,其特征在于,所述出口节点中存储有所述SRv6报文的目的地址和所述第一指示信息的对应关系。
- 根据权利要求62-68任意一项所述的装置,其特征在于,所述SRv6报文的目的地址为第一段标识SID,所述第一SID为所述出口节点的SID或者BSID。
- 根据权利要求62-68任意一项所述的装置,其特征在于,所述SRv6报文的目的地址为第二SID,所述第二SID与所述IPSec隧道关联。
- 根据权利要求70所述的装置,其特征在于,所述第二SID为所述IPSec隧道的出口IP地址。
- 根据权利要求62-71任意一项所述的装置,其特征在于,所述SRv6报文中包括第二指示信息,所述第二指示信息用于指示所述AH校验的校验范围包括所述SRH。
- 根据权利要求72所述的装置,其特征在于,所述AH中包括所述第二指示信息。
- 根据权利要求73所述的装置,其特征在于,所述AH的预留字段中携带所述第二指示信息。
- 根据权利要求62-74任意一项所述的装置,其特征在于,所述AH校验的校验范围还包括所述SRv6报文的净荷。
- 根据权利要求62-75任意一项所述的装置,其特征在于,所述AH校验的校验范围还包括所述SRv6报文的IP报文头。
- 根据权利要求62-76任意一项所述的装置,其特征在于,所述IPSec隧道的出口节点为SRv6信任域的入口节点。
- 根据权利要求62-77任意一项所述的装置,其特征在于,所述SRv6报文包括多个SRH,所述AH校验的范围包括所述多个SRH。
- 一种计算机程序产品,包含计算机程序,其特征在于,当所述计算机程序在处理器上运行时,实现权利要求1-36任意一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21808353.3A EP4145790A4 (en) | 2020-05-19 | 2021-03-10 | METHOD AND APPARATUS FOR CHECKING AN SRV6 PACKAGE |
US17/990,474 US20230102984A1 (en) | 2020-05-19 | 2022-11-18 | METHOD AND APPARATUS FOR VERIFYING SRv6 PACKET |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010424481 | 2020-05-19 | ||
CN202010424481.4 | 2020-05-19 | ||
CN202010476797.8A CN113691490B (zh) | 2020-05-19 | 2020-05-29 | 一种校验SRv6报文的方法及装置 |
CN202010476797.8 | 2020-05-29 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/990,474 Continuation US20230102984A1 (en) | 2020-05-19 | 2022-11-18 | METHOD AND APPARATUS FOR VERIFYING SRv6 PACKET |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021232896A1 true WO2021232896A1 (zh) | 2021-11-25 |
Family
ID=78576239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/079919 WO2021232896A1 (zh) | 2020-05-19 | 2021-03-10 | 一种校验SRv6报文的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230102984A1 (zh) |
EP (1) | EP4145790A4 (zh) |
CN (1) | CN113691490B (zh) |
WO (1) | WO2021232896A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022415A (zh) * | 2022-05-23 | 2022-09-06 | 烽火通信科技股份有限公司 | 一种多层sid报文终结方法及装置 |
CN115333859A (zh) * | 2022-10-11 | 2022-11-11 | 三未信安科技股份有限公司 | 一种基于芯片方案的IPsec协议报文加密及解密方法 |
WO2024088200A1 (zh) * | 2022-10-25 | 2024-05-02 | 中国移动通信有限公司研究院 | 一种数据校验方法、第一网元设备及存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114221904B (zh) * | 2021-12-15 | 2023-08-18 | 锐捷网络股份有限公司 | 一种报文转发方法、装置及系统 |
CN116846566A (zh) * | 2022-03-23 | 2023-10-03 | 北京华为数字技术有限公司 | 一种报文传输方法及相关设备 |
CN117424713A (zh) * | 2022-07-11 | 2024-01-19 | 中兴通讯股份有限公司 | 通信方法、电子设备及存储介质 |
CN115865845A (zh) * | 2022-11-25 | 2023-03-28 | 江苏省未来网络创新研究院 | 一种基于SegmentRouting实现的跨Region虚拟网络通信的方法 |
CN116527405B (zh) * | 2023-06-30 | 2023-09-05 | 新华三技术有限公司 | 一种srv6报文加密传输方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107852411A (zh) * | 2015-07-28 | 2018-03-27 | 思杰系统有限公司 | 在多路径环境下对IPsec隧道的高效使用 |
CN110870260A (zh) * | 2017-07-14 | 2020-03-06 | 华为技术有限公司 | IPv6分段路由隧道建立方法 |
CN110995596A (zh) * | 2019-12-20 | 2020-04-10 | 锐捷网络股份有限公司 | 基于SRv6网络的SID分配方法和装置 |
CN111010274A (zh) * | 2019-12-30 | 2020-04-14 | 烽火通信科技股份有限公司 | 一种安全低开销的SRv6实现方法 |
WO2020086570A1 (en) * | 2018-10-22 | 2020-04-30 | Cisco Technology, Inc. | Packet network interworking including segment routing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882789B (zh) * | 2012-09-17 | 2016-03-30 | 华为技术有限公司 | 一种数据报文处理方法、系统及设备 |
CN106161386B (zh) * | 2015-04-16 | 2020-05-05 | 中兴通讯股份有限公司 | 一种实现IPsec分流的方法和装置 |
CN107682284B (zh) * | 2017-08-02 | 2021-06-01 | 华为技术有限公司 | 发送报文的方法和网络设备 |
US11019075B2 (en) * | 2018-06-26 | 2021-05-25 | Cisco Technology, Inc. | Providing processing and network efficiencies in protecting internet protocol version 6 segment routing packets and functions using security segment identifiers |
US10736029B1 (en) * | 2019-05-02 | 2020-08-04 | Verizon Patent And Licensing Inc. | Enabling network-slice functions in transport domains |
-
2020
- 2020-05-29 CN CN202010476797.8A patent/CN113691490B/zh active Active
-
2021
- 2021-03-10 EP EP21808353.3A patent/EP4145790A4/en active Pending
- 2021-03-10 WO PCT/CN2021/079919 patent/WO2021232896A1/zh unknown
-
2022
- 2022-11-18 US US17/990,474 patent/US20230102984A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107852411A (zh) * | 2015-07-28 | 2018-03-27 | 思杰系统有限公司 | 在多路径环境下对IPsec隧道的高效使用 |
CN110870260A (zh) * | 2017-07-14 | 2020-03-06 | 华为技术有限公司 | IPv6分段路由隧道建立方法 |
WO2020086570A1 (en) * | 2018-10-22 | 2020-04-30 | Cisco Technology, Inc. | Packet network interworking including segment routing |
CN110995596A (zh) * | 2019-12-20 | 2020-04-10 | 锐捷网络股份有限公司 | 基于SRv6网络的SID分配方法和装置 |
CN111010274A (zh) * | 2019-12-30 | 2020-04-14 | 烽火通信科技股份有限公司 | 一种安全低开销的SRv6实现方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4145790A4 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022415A (zh) * | 2022-05-23 | 2022-09-06 | 烽火通信科技股份有限公司 | 一种多层sid报文终结方法及装置 |
CN115022415B (zh) * | 2022-05-23 | 2023-08-25 | 烽火通信科技股份有限公司 | 一种多层sid报文终结方法及装置 |
CN115333859A (zh) * | 2022-10-11 | 2022-11-11 | 三未信安科技股份有限公司 | 一种基于芯片方案的IPsec协议报文加密及解密方法 |
WO2024088200A1 (zh) * | 2022-10-25 | 2024-05-02 | 中国移动通信有限公司研究院 | 一种数据校验方法、第一网元设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230102984A1 (en) | 2023-03-30 |
CN113691490B (zh) | 2024-10-22 |
EP4145790A4 (en) | 2023-12-13 |
EP4145790A1 (en) | 2023-03-08 |
CN113691490A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021232896A1 (zh) | 一种校验SRv6报文的方法及装置 | |
CN107682284B (zh) | 发送报文的方法和网络设备 | |
CN112189323A (zh) | 使用安全分段标识符进行分段路由 | |
WO2021197003A1 (zh) | 一种SRv6信任域的边界过滤方法及装置 | |
US20150207793A1 (en) | Feature Enablement or Disablement Based on Discovery Message | |
WO2021082879A1 (zh) | 传输组播报文的方法和相关装置 | |
JP7216120B2 (ja) | Bgpメッセージ送信方法、bgpメッセージ受信方法、及びデバイス | |
US20230007022A1 (en) | Method and Device for Preventing Replay Attack on Srv6 HMAC Verification | |
US20190068762A1 (en) | Packet Parsing Method and Device | |
CN113852552B (zh) | 一种网络通讯方法、系统与存储介质 | |
KR102621953B1 (ko) | 패킷 검출 방법 및 제1 네트워크 장치 | |
EP2832050A1 (en) | Frame passing based on ethertype | |
CN113497800A (zh) | 一种SRv6信任域的边界过滤方法及装置 | |
WO2021147372A1 (zh) | 一种sr报文传输方法、装置及系统 | |
CN113810173B (zh) | 一种校验应用信息的方法、报文处理方法及装置 | |
US20230283588A1 (en) | Packet processing method and apparatus | |
US11431730B2 (en) | Systems and methods for extending authentication in IP packets | |
US20230113138A1 (en) | Application Information Verification Method, Packet Processing Method, And Apparatuses Thereof | |
CN114567450A (zh) | 一种协议报文处理方法及装置 | |
US12113806B2 (en) | Packet processing method, apparatus, and system | |
WO2024027419A1 (zh) | 报文发送方法、装置及系统 | |
WO2022063075A1 (zh) | 计费方法、装置、通信设备及可读存储介质 | |
WO2023221742A1 (zh) | 一种路由选择方法、网络设备及系统 | |
WO2023179656A1 (zh) | 一种SRv6报文处理方法、装置、通信设备和存储介质 | |
Klomp | P4 VPN Authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21808353 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021808353 Country of ref document: EP Effective date: 20221201 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |