Internet-Draft | draft-intarea-raviolli-trusted-domain-sr | March 2023 |
Alston, et al. | Expires 26 September 2023 | [Page] |
SRv6 as designed has evoked interest from various parties, though its deployment is being limited by known security problems in its architecture. This document specifies a standard to create a solution that closes some of the major security concerns, while retaining the basis of the SRv6 protocol.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 26 September 2023.¶
Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
SRv6 as designed has evoked interest from various parties, though its deployment is being limited by known security problems in its architecture. This document specifies a standard to create a solution that closes some of the major security concerns, while retaining the basis of the SRv6 protocol.¶
SRv6 relies in its architecture on the concept of limited domain which as a concept suffers from lack of security that is deployable in economical, scalable fashion easily.¶
Limited domains without very careful deployment will invariably leak beyond the domain and allow untrusted traffic to enter the domain and terminate on any arbitrary node.¶
As per RFC 8402 [RFC8402]RFC8402 Section 8, SRv6 that leaks beyond the border of a trusted domain creates a security violation.¶
The proper solution is to create a trusted domain that has a default fail-closed approach and a well-defined trusted/untrusted boundary.¶
Examples of fail closed protocols currently include:¶
A fail closed protocol domain is determined by following properties:¶
Processing of the protocol packet on an interface requires explicit configuration with a default drop behavior.¶
Leaking according protocol packets beyond the boundary of fail-closed domain requires explicit config.¶
Fail closed protocols are easily identifiable by their top level (e.g. link layer) encoding early in the packet formats and often by fields at fixed offset. In another words either their encoding or encapsulation allows to distinguish it easily from other traffic.¶
Classification of the protocol packets is completely deterministic.¶
Confining the protocol to the trusted domaim does not require complex processing in either hardware or software to allow for scalability and economical deployment.¶
The boundary of a trusted domain consists of a set of interfaces that exhibit default behavior.¶
It is currently impossible to differentiate SRv6 and IPv6 at the link-layer or easily at network layer by e.g. a reserved protocol number as IPSec does.¶
In the event of a packet being sent into a trusted domain, either accidentally or by a malicious actor, it is possible to send the frame to a node binding the specific SID, and have the packet processed, irrespective of the content of the underlying (encapsulated) packet.¶
The current security proposals in RFC8402 section 8.2, security is based on the application of filters preventing ingress traffic at the boundary routers destined towards a SID within the domain. Such filtering is prone to configuration errors and in addition, has significant impact on TCAM utilization on devices that have large numbers of ingress points into the domain. The matching itself, due to the complexity and numerous possibilities of expressing a set of SIDs will likely necessitate a complete semantic parsing of such list to guarantee fully precise matching including wildcarding in different forms.¶
In the context of a trusted domain, anything outside of the operators control should not be considered trusted. This means applying filters to prevent leakage into the domain at every customer port, every server, and every cloud stack. The scale and complexity of maintaining such a "shorewall" is daunting and at large scale will not be likely to keep up with the timing necessary in case of attacks mounted and metamorphosing in short time intervals. An attack avoiding the filter wall may evade discovery for a long time in case of lack of sophisticated traffic analyis and analytics tools.¶
To implement SRv6 in the context of a trusted domain, it is necessary to modify it to allow deployment in a fail-closed boundary efficiently. This requires changes to the protocol encapsulation at both the boundary routers and the transit nodes. This document introduces a distinct ethertype to be used for td-srv6¶
Trusted Domain boundary routers form the point at which the new ethertype is imposed. Imposition of the ethertype happens on packet ingress, at the same point as SRv6 header imposition is performed.¶
Boundary interfaces will, by default behavior, drop packets already containing the srv6-td ethertype.¶
In the case of a transit or egress router, should a frame not be marked with the srv6-td ethertype, the frame will be treated as a standard IPv6 packet for the purposes of handling and forwarding.¶
Only frames marked with the srv6-td ethertype will be processed as SRv6 packets.¶
A router configured to process TD-SRv6 MUST drop packets containing an SRH if received on any ethertype except srv6-td.¶
No IANA Considerations¶
TD-SRv6 Ethertype: TBD0¶
This draft enhances the security mechanisms required by section 8 of RFC8402, and does not impose any further security considerations of its own.¶
Weiqiang Cheng¶
chengweiqiang@chinamobile.com¶
Anthony Somerset¶
anthony.somerset@liquid.tech¶