draft-ietf-detnet-security-13.txt | draft-ietf-detnet-security-14.txt | |||
---|---|---|---|---|
Internet Engineering Task Force E. Grossman, Ed. | Internet Engineering Task Force E. Grossman, Ed. | |||
Internet-Draft DOLBY | Internet-Draft DOLBY | |||
Intended status: Informational T. Mizrahi | Intended status: Informational T. Mizrahi | |||
Expires: June 14, 2021 HUAWEI | Expires: August 5, 2021 HUAWEI | |||
A. Hacker | A. Hacker | |||
MISTIQ | MISTIQ | |||
December 11, 2020 | February 1, 2021 | |||
Deterministic Networking (DetNet) Security Considerations | Deterministic Networking (DetNet) Security Considerations | |||
draft-ietf-detnet-security-13 | draft-ietf-detnet-security-14 | |||
Abstract | Abstract | |||
A DetNet (deterministic network) provides specific performance | A DetNet (deterministic network) provides specific performance | |||
guarantees to its data flows, such as extremely low data loss rates | guarantees to its data flows, such as extremely low data loss rates | |||
and bounded latency (including bounded latency variation, i.e. | and bounded latency (including bounded latency variation, i.e. | |||
"jitter"). As a result, securing a DetNet requires that in addition | "jitter"). As a result, securing a DetNet requires that in addition | |||
to the best practice security measures taken for any mission-critical | to the best practice security measures taken for any mission-critical | |||
network, additional security measures may be needed to secure the | network, additional security measures may be needed to secure the | |||
intended operation of these novel service properties. | intended operation of these novel service properties. | |||
This document addresses DetNet-specific security considerations from | This document addresses DetNet-specific security considerations from | |||
the perspectives of both the DetNet system-level designer and | the perspectives of both the DetNet system-level designer and | |||
component designer. System considerations include a threat model, | component designer. System considerations include a taxonomy of | |||
taxonomy of relevant attacks, and associations of threats versus use | relevant threats and attacks, and associations of threats versus use | |||
cases and service properties. Component-level considerations include | cases and service properties. Component-level considerations include | |||
ingress filtering and packet arrival time violation detection. | ingress filtering and packet arrival time violation detection. | |||
This document also addresses security considerations specific to the | This document also addresses security considerations specific to the | |||
IP and MPLS data plane technologies, thereby complementing the | IP and MPLS data plane technologies, thereby complementing the | |||
Security Considerations sections of those documents. | Security Considerations sections of those documents. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
skipping to change at page 2, line 4 ¶ | skipping to change at page 2, line 4 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on June 14, 2021. | This Internet-Draft will expire on August 5, 2021. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2. Abbreviations and Terminology . . . . . . . . . . . . . . . . 6 | 2. Abbreviations and Terminology . . . . . . . . . . . . . . . . 7 | |||
3. Security Considerations for DetNet Component Design . . . . . 7 | 3. Security Considerations for DetNet Component Design . . . . . 8 | |||
3.1. Resource Allocation . . . . . . . . . . . . . . . . . . . 7 | 3.1. Resource Allocation . . . . . . . . . . . . . . . . . . . 8 | |||
3.2. Explicit Routes . . . . . . . . . . . . . . . . . . . . . 8 | 3.1.1. Inviolable Flows . . . . . . . . . . . . . . . . . . 8 | |||
3.3. Redundant Path Support . . . . . . . . . . . . . . . . . 8 | 3.1.2. Design Trade-Off Considerations in the Use Cases | |||
3.4. Timing (or other) Violation Reporting . . . . . . . . . . 9 | Continuum . . . . . . . . . . . . . . . . . . . . . . 9 | |||
3.1.3. Documenting the Security Properties of a Component . 10 | ||||
3.1.4. Fail-Safe Component Behavior . . . . . . . . . . . . 10 | ||||
3.1.5. Flow Aggregation Example . . . . . . . . . . . . . . 10 | ||||
3.2. Explicit Routes . . . . . . . . . . . . . . . . . . . . . 11 | ||||
3.3. Redundant Path Support . . . . . . . . . . . . . . . . . 11 | ||||
3.4. Timing (or other) Violation Reporting . . . . . . . . . . 12 | ||||
4. DetNet Security Considerations Compared With DiffServ | 4. DetNet Security Considerations Compared With DiffServ | |||
Security Considerations . . . . . . . . . . . . . . . . . . . 10 | Security Considerations . . . . . . . . . . . . . . . . . . . 13 | |||
5. Security Threats . . . . . . . . . . . . . . . . . . . . . . 11 | 5. Security Threats . . . . . . . . . . . . . . . . . . . . . . 14 | |||
5.1. Threat Model . . . . . . . . . . . . . . . . . . . . . . 11 | 5.1. Threat Taxonomy . . . . . . . . . . . . . . . . . . . . . 15 | |||
5.2. Threat Analysis . . . . . . . . . . . . . . . . . . . . . 12 | 5.2. Threat Analysis . . . . . . . . . . . . . . . . . . . . . 16 | |||
5.2.1. Delay . . . . . . . . . . . . . . . . . . . . . . . . 12 | 5.2.1. Delay . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
5.2.2. DetNet Flow Modification or Spoofing . . . . . . . . 12 | 5.2.2. DetNet Flow Modification or Spoofing . . . . . . . . 16 | |||
5.2.3. Resource Segmentation (Inter-segment Attack) . . . . 12 | 5.2.3. Resource Segmentation (Inter-segment Attack) | |||
5.2.4. Packet Replication and Elimination . . . . . . . . . 13 | Vulnerability . . . . . . . . . . . . . . . . . . . . 16 | |||
5.2.4.1. Replication: Increased Attack Surface . . . . . . 13 | 5.2.4. Packet Replication and Elimination . . . . . . . . . 17 | |||
5.2.4.2. Replication-related Header Manipulation . . . . . 13 | 5.2.4.1. Replication: Increased Attack Surface . . . . . . 17 | |||
5.2.5. Controller Plane . . . . . . . . . . . . . . . . . . 14 | 5.2.4.2. Replication-related Header Manipulation . . . . . 17 | |||
5.2.5.1. Path Choice Manipulation . . . . . . . . . . . . 14 | 5.2.5. Controller Plane . . . . . . . . . . . . . . . . . . 18 | |||
5.2.5.2. Compromised Controller . . . . . . . . . . . . . 14 | 5.2.5.1. Path Choice Manipulation . . . . . . . . . . . . 18 | |||
5.2.6. Reconnaissance . . . . . . . . . . . . . . . . . . . 14 | 5.2.5.2. Compromised Controller . . . . . . . . . . . . . 18 | |||
5.2.7. Time Synchronization Mechanisms . . . . . . . . . . . 15 | 5.2.6. Reconnaissance . . . . . . . . . . . . . . . . . . . 19 | |||
5.3. Threat Summary . . . . . . . . . . . . . . . . . . . . . 15 | 5.2.7. Time Synchronization Mechanisms . . . . . . . . . . . 19 | |||
6. Security Threat Impacts . . . . . . . . . . . . . . . . . . . 16 | 5.3. Threat Summary . . . . . . . . . . . . . . . . . . . . . 19 | |||
6.1. Delay-Attacks . . . . . . . . . . . . . . . . . . . . . . 19 | 6. Security Threat Impacts . . . . . . . . . . . . . . . . . . . 20 | |||
6.1.1. Data Plane Delay Attacks . . . . . . . . . . . . . . 19 | 6.1. Delay-Attacks . . . . . . . . . . . . . . . . . . . . . . 23 | |||
6.1.2. Controller Plane Delay Attacks . . . . . . . . . . . 20 | 6.1.1. Data Plane Delay Attacks . . . . . . . . . . . . . . 23 | |||
6.2. Flow Modification and Spoofing . . . . . . . . . . . . . 20 | 6.1.2. Controller Plane Delay Attacks . . . . . . . . . . . 23 | |||
6.2.1. Flow Modification . . . . . . . . . . . . . . . . . . 20 | 6.2. Flow Modification and Spoofing . . . . . . . . . . . . . 23 | |||
6.2.2. Spoofing . . . . . . . . . . . . . . . . . . . . . . 20 | 6.2.1. Flow Modification . . . . . . . . . . . . . . . . . . 24 | |||
6.2.2.1. Dataplane Spoofing . . . . . . . . . . . . . . . 20 | 6.2.2. Spoofing . . . . . . . . . . . . . . . . . . . . . . 24 | |||
6.2.2.2. Controller Plane Spoofing . . . . . . . . . . . . 21 | 6.2.2.1. Dataplane Spoofing . . . . . . . . . . . . . . . 24 | |||
6.3. Segmentation Attacks (injection) . . . . . . . . . . . . 21 | 6.2.2.2. Controller Plane Spoofing . . . . . . . . . . . . 24 | |||
6.3.1. Data Plane Segmentation . . . . . . . . . . . . . . . 21 | 6.3. Segmentation Attacks (injection) . . . . . . . . . . . . 24 | |||
6.3.2. Controller Plane Segmentation . . . . . . . . . . . . 21 | 6.3.1. Data Plane Segmentation . . . . . . . . . . . . . . . 25 | |||
6.4. Replication and Elimination . . . . . . . . . . . . . . . 22 | 6.3.2. Controller Plane Segmentation . . . . . . . . . . . . 25 | |||
6.4.1. Increased Attack Surface . . . . . . . . . . . . . . 22 | 6.4. Replication and Elimination . . . . . . . . . . . . . . . 25 | |||
6.4.2. Header Manipulation at Elimination Routers . . . . . 22 | 6.4.1. Increased Attack Surface . . . . . . . . . . . . . . 26 | |||
6.5. Control or Signaling Packet Modification . . . . . . . . 22 | 6.4.2. Header Manipulation at Elimination Routers . . . . . 26 | |||
6.6. Control or Signaling Packet Injection . . . . . . . . . . 22 | 6.5. Control or Signaling Packet Modification . . . . . . . . 26 | |||
6.7. Reconnaissance . . . . . . . . . . . . . . . . . . . . . 22 | 6.6. Control or Signaling Packet Injection . . . . . . . . . . 26 | |||
6.8. Attacks on Time Synchronization Mechanisms . . . . . . . 23 | 6.7. Reconnaissance . . . . . . . . . . . . . . . . . . . . . 26 | |||
6.9. Attacks on Path Choice . . . . . . . . . . . . . . . . . 23 | 6.8. Attacks on Time Synchronization Mechanisms . . . . . . . 27 | |||
7. Security Threat Mitigation . . . . . . . . . . . . . . . . . 23 | 6.9. Attacks on Path Choice . . . . . . . . . . . . . . . . . 27 | |||
7.1. Path Redundancy . . . . . . . . . . . . . . . . . . . . . 23 | 7. Security Threat Mitigation . . . . . . . . . . . . . . . . . 27 | |||
7.2. Integrity Protection . . . . . . . . . . . . . . . . . . 24 | 7.1. Path Redundancy . . . . . . . . . . . . . . . . . . . . . 27 | |||
7.3. DetNet Node Authentication . . . . . . . . . . . . . . . 25 | 7.2. Integrity Protection . . . . . . . . . . . . . . . . . . 28 | |||
7.4. Dummy Traffic Insertion . . . . . . . . . . . . . . . . . 26 | 7.3. DetNet Node Authentication . . . . . . . . . . . . . . . 29 | |||
7.5. Encryption . . . . . . . . . . . . . . . . . . . . . . . 26 | 7.4. Dummy Traffic Insertion . . . . . . . . . . . . . . . . . 30 | |||
7.5.1. Encryption Considerations for DetNet . . . . . . . . 27 | 7.5. Encryption . . . . . . . . . . . . . . . . . . . . . . . 31 | |||
7.6. Control and Signaling Message Protection . . . . . . . . 28 | 7.5.1. Encryption Considerations for DetNet . . . . . . . . 32 | |||
7.7. Dynamic Performance Analytics . . . . . . . . . . . . . . 28 | 7.6. Control and Signaling Message Protection . . . . . . . . 33 | |||
7.8. Mitigation Summary . . . . . . . . . . . . . . . . . . . 30 | 7.7. Dynamic Performance Analytics . . . . . . . . . . . . . . 33 | |||
8. Association of Attacks to Use Cases . . . . . . . . . . . . . 32 | 7.8. Mitigation Summary . . . . . . . . . . . . . . . . . . . 36 | |||
8.1. Association of Attacks to Use Case Common Themes . . . . 32 | 8. Association of Attacks to Use Cases . . . . . . . . . . . . . 37 | |||
8.1.1. Sub-Network Layer . . . . . . . . . . . . . . . . . . 32 | 8.1. Association of Attacks to Use Case Common Themes . . . . 38 | |||
8.1.2. Central Administration . . . . . . . . . . . . . . . 33 | 8.1.1. Sub-Network Layer . . . . . . . . . . . . . . . . . . 38 | |||
8.1.3. Hot Swap . . . . . . . . . . . . . . . . . . . . . . 33 | 8.1.2. Central Administration . . . . . . . . . . . . . . . 38 | |||
8.1.4. Data Flow Information Models . . . . . . . . . . . . 34 | 8.1.3. Hot Swap . . . . . . . . . . . . . . . . . . . . . . 38 | |||
8.1.5. L2 and L3 Integration . . . . . . . . . . . . . . . . 34 | 8.1.4. Data Flow Information Models . . . . . . . . . . . . 39 | |||
8.1.6. End-to-End Delivery . . . . . . . . . . . . . . . . . 34 | 8.1.5. L2 and L3 Integration . . . . . . . . . . . . . . . . 39 | |||
8.1.6. End-to-End Delivery . . . . . . . . . . . . . . . . . 40 | ||||
8.1.7. Replacement for Proprietary Fieldbuses and Ethernet- | 8.1.7. Replacement for Proprietary Fieldbuses and Ethernet- | |||
based Networks . . . . . . . . . . . . . . . . . . . 35 | based Networks . . . . . . . . . . . . . . . . . . . 40 | |||
8.1.8. Deterministic vs Best-Effort Traffic . . . . . . . . 35 | 8.1.8. Deterministic vs Best-Effort Traffic . . . . . . . . 41 | |||
8.1.9. Deterministic Flows . . . . . . . . . . . . . . . . . 36 | 8.1.9. Deterministic Flows . . . . . . . . . . . . . . . . . 42 | |||
8.1.10. Unused Reserved Bandwidth . . . . . . . . . . . . . . 36 | 8.1.10. Unused Reserved Bandwidth . . . . . . . . . . . . . . 42 | |||
8.1.11. Interoperability . . . . . . . . . . . . . . . . . . 36 | 8.1.11. Interoperability . . . . . . . . . . . . . . . . . . 42 | |||
8.1.12. Cost Reductions . . . . . . . . . . . . . . . . . . . 37 | 8.1.12. Cost Reductions . . . . . . . . . . . . . . . . . . . 43 | |||
8.1.13. Insufficiently Secure Components . . . . . . . . . . 37 | 8.1.13. Insufficiently Secure Components . . . . . . . . . . 43 | |||
8.1.14. DetNet Network Size . . . . . . . . . . . . . . . . . 37 | 8.1.14. DetNet Network Size . . . . . . . . . . . . . . . . . 43 | |||
8.1.15. Multiple Hops . . . . . . . . . . . . . . . . . . . . 38 | 8.1.15. Multiple Hops . . . . . . . . . . . . . . . . . . . . 44 | |||
8.1.16. Level of Service . . . . . . . . . . . . . . . . . . 38 | 8.1.16. Level of Service . . . . . . . . . . . . . . . . . . 44 | |||
8.1.17. Bounded Latency . . . . . . . . . . . . . . . . . . . 39 | 8.1.17. Bounded Latency . . . . . . . . . . . . . . . . . . . 45 | |||
8.1.18. Low Latency . . . . . . . . . . . . . . . . . . . . . 39 | 8.1.18. Low Latency . . . . . . . . . . . . . . . . . . . . . 45 | |||
8.1.19. Bounded Jitter (Latency Variation) . . . . . . . . . 39 | 8.1.19. Bounded Jitter (Latency Variation) . . . . . . . . . 45 | |||
8.1.20. Symmetrical Path Delays . . . . . . . . . . . . . . . 39 | 8.1.20. Symmetrical Path Delays . . . . . . . . . . . . . . . 45 | |||
8.1.21. Reliability and Availability . . . . . . . . . . . . 40 | 8.1.21. Reliability and Availability . . . . . . . . . . . . 46 | |||
8.1.22. Redundant Paths . . . . . . . . . . . . . . . . . . . 40 | 8.1.22. Redundant Paths . . . . . . . . . . . . . . . . . . . 46 | |||
8.1.23. Security Measures . . . . . . . . . . . . . . . . . . 40 | 8.1.23. Security Measures . . . . . . . . . . . . . . . . . . 46 | |||
8.2. Summary of Attack Types per Use Case Common Theme . . . . 41 | 8.2. Summary of Attack Types per Use Case Common Theme . . . . 47 | |||
8.3. Security Considerations for OAM Traffic . . . . . . . . . 43 | 8.3. Security Considerations for OAM Traffic . . . . . . . . . 49 | |||
9. DetNet Technology-Specific Threats . . . . . . . . . . . . . 43 | 9. DetNet Technology-Specific Threats . . . . . . . . . . . . . 49 | |||
9.1. IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 | 9.1. IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 | |||
9.2. MPLS . . . . . . . . . . . . . . . . . . . . . . . . . . 45 | 9.2. MPLS . . . . . . . . . . . . . . . . . . . . . . . . . . 51 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 46 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 52 | |||
11. Security Considerations . . . . . . . . . . . . . . . . . . . 46 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 52 | |||
12. Privacy Considerations . . . . . . . . . . . . . . . . . . . 46 | 12. Privacy Considerations . . . . . . . . . . . . . . . . . . . 52 | |||
13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 46 | 13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 53 | |||
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 47 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 53 | |||
14.1. Normative References . . . . . . . . . . . . . . . . . . 47 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 53 | |||
14.2. Informative References . . . . . . . . . . . . . . . . . 48 | 14.2. Informative References . . . . . . . . . . . . . . . . . 54 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 52 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 59 | |||
1. Introduction | 1. Introduction | |||
A DetNet is one that can carry data flows for real-time applications | A deterministic IP network (IETF DetNet, [RFC8655]) can carry data | |||
with extremely low data loss rates and bounded latency. The bounds | flows for real-time applications with extremely low data loss rates | |||
on latency defined by DetNet | and bounded latency. The bounds on latency defined by DetNet (as | |||
([I-D.ietf-detnet-flow-information-model]) include both worst case | described in [I-D.ietf-detnet-flow-information-model]) include both | |||
latency (Maximum Latency, Section 5.9.2) and worst case jitter | worst case latency (Maximum Latency, Section 5.9.2) and worst case | |||
(Maximum Latency Variation, Section 5.9.3). Deterministic networks | jitter (Maximum Latency Variation, Section 5.9.3). Data flows with | |||
have been successfully deployed in real-time Operational Technology | deterministic properties are well-established for Ethernet networks | |||
(OT) applications for some years, however such networks are typically | (see TSN, [IEEE802.1BA]); DetNet brings these capabilities to the IP | |||
isolated from external access, and thus the security threat from | network. | |||
external attackers is low. IETF Deterministic Networking (DetNet, | ||||
[RFC8655]) specifies a set of technologies that enable creation of | Deterministic IP networks have been successfully deployed in real- | |||
deterministic flows on IP-based networks of potentially wide area (on | time Operational Technology (OT) applications for some years, however | |||
the scale of a corporate network), potentially bringing the OT | such networks are typically isolated from external access, and thus | |||
network into contact with Information Technology (IT) traffic and | the security threat from external attackers is low. An example of | |||
security threats that lie outside of a tightly controlled and bounded | such an isolated network is a network deployed within an aircraft, | |||
area (such as the internals of an aircraft). | which is "air gapped" from the outside world. DetNet specifies a set | |||
of technologies that enable creation of deterministic flows on IP- | ||||
based networks of potentially wide area (on the scale of a corporate | ||||
network), potentially merging OT traffic with best-effort | ||||
(Information Technology, IT) traffic, and placing OT network | ||||
components into contact with IT network components, thereby exposing | ||||
the OT traffic and components to security threats that were not | ||||
present in an isolated OT network. | ||||
These DetNet (OT-type) technologies may not have previously been | These DetNet (OT-type) technologies may not have previously been | |||
deployed on a wide area IP-based network that also carries IT | deployed on a wide area IP-based network that also carries IT | |||
traffic, and thus can present security considerations that may be new | traffic, and thus can present security considerations that may be new | |||
to IP-based wide area network designers; this document provides | to IP-based wide area network designers; this document provides | |||
insight into such system-level security considerations. In addition, | insight into such system-level security considerations. In addition, | |||
designers of DetNet components (such as routers) face new security- | designers of DetNet components (such as routers) face new security- | |||
related challenges in providing DetNet services, for example | related challenges in providing DetNet services, for example | |||
maintaining reliable isolation between traffic flows in an | maintaining reliable isolation between traffic flows in an | |||
environment where IT traffic co-mingles with critical reserved- | environment where IT traffic co-mingles with critical reserved- | |||
skipping to change at page 5, line 25 ¶ | skipping to change at page 5, line 39 ¶ | |||
because they were under a separate control system or otherwise | because they were under a separate control system or otherwise | |||
isolated from the IT network, for example [ARINC664P7]). Security | isolated from the IT network, for example [ARINC664P7]). Security | |||
considerations for OT networks are not a new area, and there are many | considerations for OT networks are not a new area, and there are many | |||
OT networks today that are connected to wide area networks or the | OT networks today that are connected to wide area networks or the | |||
Internet; this document focuses on the issues that are specific to | Internet; this document focuses on the issues that are specific to | |||
the DetNet technologies and use cases. | the DetNet technologies and use cases. | |||
Given the above considerations, securing a DetNet starts with a | Given the above considerations, securing a DetNet starts with a | |||
scrupulously well-designed and well-managed engineered network | scrupulously well-designed and well-managed engineered network | |||
following industry best practices for security at both the data plane | following industry best practices for security at both the data plane | |||
and controller plane; this is the assumed starting point for the | and controller plane, as well as for any OAM implementation; this is | |||
considerations discussed herein. Such assumptions also depend on the | the assumed starting point for the considerations discussed herein. | |||
network components themselves upholding the security-related | Such assumptions also depend on the network components themselves | |||
properties that are to be assumed by DetNet system-level designers; | upholding the security-related properties that are to be assumed by | |||
for example, the assumption that network traffic associated with a | DetNet system-level designers; for example, the assumption that | |||
given flow can never affect traffic associated with a different flow | network traffic associated with a given flow can never affect traffic | |||
is only true if the underlying components make it so. Such | associated with a different flow is only true if the underlying | |||
properties, which may represent new challenges to component | components make it so. Such properties, which may represent new | |||
designers, are also considered herein. | challenges to component designers, are also considered herein. | |||
Starting with a "well-managed network" as noted above enables us to | ||||
exclude some of the more powerful adversary capabilities from the | ||||
Internet Threat Model of BCP 72 ([RFC3552]), such as the ability to | ||||
arbitrarily drop or delay any or all traffic. Given this reduced | ||||
attacker capability, we can present security considerations based on | ||||
attacker capabilities that are more directly relevant to a DetNet. | ||||
In this context we view the "traditional" (i.e. non-time-sensitive) | In this context we view the "traditional" (i.e. non-time-sensitive) | |||
network design and management aspects of network security as being | network design and management aspects of network security as being | |||
primarily concerned with denial-of service prevention, i.e. they must | primarily concerned with denial-of service prevention, i.e. they must | |||
ensure that DetNet traffic goes where it's supposed to and that an | ensure that DetNet traffic goes where it's supposed to and that an | |||
external attacker can't inject traffic that disrupts the delivery | external attacker can't inject traffic that disrupts the delivery | |||
timing assurance of the DetNet. The time-specific aspects of DetNet | timing assurance of the DetNet. The time-specific aspects of DetNet | |||
security presented here take up where those "traditional" design and | security presented here take up where those "traditional" design and | |||
management aspects leave off. | management aspects leave off. | |||
skipping to change at page 6, line 37 ¶ | skipping to change at page 7, line 14 ¶ | |||
o Provide explicit routes for DetNet flows that do not dynamically | o Provide explicit routes for DetNet flows that do not dynamically | |||
change with the network topology in ways that affect the quality | change with the network topology in ways that affect the quality | |||
of service received by the affected flow(s) | of service received by the affected flow(s) | |||
o Distribute data from DetNet flow packets over time and/or space to | o Distribute data from DetNet flow packets over time and/or space to | |||
ensure delivery of the data in each packet in spite of the loss of | ensure delivery of the data in each packet in spite of the loss of | |||
a path. | a path. | |||
This document includes sections considering DetNet component design | This document includes sections considering DetNet component design | |||
as well as system design. The latter includes threat modeling and | as well as system design. The latter includes a taxonomy and | |||
analysis, threat impact and mitigation, and the association of | analysis of threats, threat impacts and mitigations, and an | |||
attacks with use cases (based on the Use Case Common Themes section | association of attacks with use cases (based on the Use Case Common | |||
of the DetNet Use Cases [RFC8578]). | Themes section of the DetNet Use Cases [RFC8578]). | |||
The structure of the threat model and threat analysis sections were | This document is based on the premise that there will be a very broad | |||
originally derived from [RFC7384], which also considers time-related | range of DetNet applications and use cases, ranging in size scope | |||
security considerations in IP networks. | from individual industrial machines to networks that span an entire | |||
country ([RFC8578]). Thus no single set of prescriptions (such as | ||||
exactly which mitigation should be applied to which segment of a | ||||
DetNet) can be applicable to all of them, and indeed any single one | ||||
that we might prescribe would inevitably prove impractical for some | ||||
use case, perhaps one that does not even exist at the time of this | ||||
writing. Thus we are not prescriptive here - we are stating the | ||||
desired end result, with the understanding that most DetNet use cases | ||||
will necessarily differ from each other, and there is no "one size | ||||
fits all". | ||||
2. Abbreviations and Terminology | 2. Abbreviations and Terminology | |||
IT: Information Technology (the application of computers to store, | IT: Information Technology (the application of computers to store, | |||
study, retrieve, transmit, and manipulate data or information, often | study, retrieve, transmit, and manipulate data or information, often | |||
in the context of a business or other enterprise - [IT_DEF]). | in the context of a business or other enterprise - [IT_DEF]). | |||
OT: Operational Technology (the hardware and software dedicated to | OT: Operational Technology (the hardware and software dedicated to | |||
detecting or causing changes in physical processes through direct | detecting or causing changes in physical processes through direct | |||
monitoring and/or control of physical devices such as valves, pumps, | monitoring and/or control of physical devices such as valves, pumps, | |||
etc. - [OT_DEF]) | etc. - [OT_DEF]) | |||
Component: A component of a DetNet system - used here to refer to any | Component: A component of a DetNet system - used here to refer to any | |||
hardware or software element of a DetNet which implements DetNet- | hardware or software element of a DetNet which implements DetNet- | |||
specific functionality, for example all or part of a router, switch, | specific functionality, for example all or part of a router, switch, | |||
or end system. | or end system. | |||
Device: Used here to refer to a physical entity controlled by the | Device: Used here to refer to a physical entity controlled by the | |||
DetNet, for example a motor. | DetNet, for example a motor. | |||
Resource Segmentation Used as a more general form for Network | Resource Segmentation: Used as a more general form for Network | |||
Segmentation (the act or practice of splitting a computer network | Segmentation (the act or practice of splitting a computer network | |||
into subnetworks, each being a network segment - [RS_DEF]) | into subnetworks, each being a network segment - [RS_DEF]) | |||
Controller Plane: In DetNet the Controller Plane corresponds to the | ||||
aggregation of the Control and Management Planes (see [RFC8655] | ||||
section 4.4.2). | ||||
3. Security Considerations for DetNet Component Design | 3. Security Considerations for DetNet Component Design | |||
This section provides guidance for implementers of components to be | ||||
used in a DetNet. | ||||
As noted above, DetNet provides resource allocation, explicit routes | As noted above, DetNet provides resource allocation, explicit routes | |||
and redundant path support. Each of these has associated security | and redundant path support. Each of these has associated security | |||
implications, which are discussed in this section, in the context of | implications, which are discussed in this section, in the context of | |||
component design. Detection, reporting and appropriate action in the | component design. Detection, reporting and appropriate action in the | |||
case of packet arrival time violations are also discussed. | case of packet arrival time violations are also discussed. | |||
3.1. Resource Allocation | 3.1. Resource Allocation | |||
3.1.1. Inviolable Flows | ||||
A DetNet system security designer relies on the premise that any | A DetNet system security designer relies on the premise that any | |||
resources allocated to a resource-reserved (OT-type) flow are | resources allocated to a resource-reserved (OT-type) flow are | |||
inviolable, in other words there is no physical possibility within a | inviolable; in other words there is no physical possibility within a | |||
DetNet component that resources allocated to a given flow can be | DetNet component that resources allocated to a given DetNet flow can | |||
compromised by any type of traffic in the network; this includes both | be compromised by any type of traffic in the network; this includes | |||
malicious traffic as well as inadvertent traffic such as might be | malicious traffic as well as inadvertent traffic such as might be | |||
produced by a malfunctioning component, for example one made by a | produced by a malfunctioning component, or due to interactions | |||
different manufacturer. From a security standpoint, this is a | between components that were not sufficiently tested for | |||
critical assumption, for example when designing against DOS attacks. | interoperability. From a security standpoint this is a critical | |||
assumption, for example when designing against DOS attacks. In other | ||||
words, with correctly designed components and security mechanisms, | ||||
one can prevent malicious activities from impacting other resources. | ||||
It is the responsibility of the component designer to ensure that | However, achieving the goal of absolutely inviolable flows may not be | |||
this condition is met; this implies protection against excess traffic | technically or economically feasible for any given use case, given | |||
from adjacent flows, and against compromises to the resource | the broad range of possible use cases (e.g. [reference to DetNet Use | |||
allocation/deallocation process, for example through the use of | Cases RFC8578]) and their associated security considerations as | |||
traffic shaping and policing. | outlined in this document. It can be viewed as a continuum of | |||
security requirements, from isolated ultra-low latency systems that | ||||
may have little security vulnerability (such as an industrial | ||||
machine) to broadly distributed systems with many possible attack | ||||
vectors and OT security concerns (such as a utility network). Given | ||||
this continuum, the design principle employed in this document is to | ||||
specify the desired end results, without being overly prescriptive in | ||||
how the results are achieved, reflecting the understanding that no | ||||
individual implementation is likely to be appropriate for every | ||||
DetNet use case. | ||||
As an example, consider the implementation of Flow Aggregation for | 3.1.2. Design Trade-Off Considerations in the Use Cases Continuum | |||
DetNet flows (as discussed in [RFC8938]). In this example say there | ||||
are N flows that are to be aggregated, thus the bandwidth resources | It is important for the DetNet system designer to understand, for any | |||
of the aggregate flow must be sufficient to contain the sum of the | given DetNet use case and its associated security requirements, the | |||
bandwidth reservation for the N flows. However if one of those flows | interaction and design trade-offs that inevitably need to be | |||
were to consume more than its individually allocated bandwidth, this | reconciled between the desired end results and the DetNet protocols, | |||
could cause starvation of the other flows. Thus simply providing and | as well as the DetNet system and component design. | |||
For any given component, as designed for any given use case (or scope | ||||
of use cases), it is the responsibility of the component designer to | ||||
ensure that the premise of inviolable flows is supported, to the | ||||
extent that they deem necessary to support their target use cases. | ||||
For example, the component may include traffic shaping and policing | ||||
at the ingress, to prevent corrupted or malicious or excessive | ||||
packets from entering the network, thereby decreasing the likelihood | ||||
that any traffic will interfere with any DetNet OT flow. The | ||||
component may include integrity protection for some or all of the | ||||
header fields such as those used for flow ID, thereby decreasing the | ||||
likelihood that a packet whose flow ID has been compromised might be | ||||
directed into a different flow path. The component may verify every | ||||
single packet header at every forwarding location, or only at certain | ||||
points. In any of these cases the component may use dynamic | ||||
performance analytics (Section 7.7) to cause action to be initiated | ||||
to address the situation in an appropriate and timely manner, either | ||||
at the data plane or controller plane, or both in concert. The | ||||
component's software and hardware may include measures to ensure the | ||||
integrity of the resource allocation/deallocation process. Other | ||||
design aspects of the component may help ensure that the adverse | ||||
effects of malicious traffic are more limited, for example by | ||||
protecting network control interfaces, or minimizing cascade | ||||
failures. The component may include features specific to a given use | ||||
case, such as configuration of the response to a given sequential | ||||
packet loss count. | ||||
Ultimately, due to cost and complexity factors, the security | ||||
properties of a component designed for low-cost systems may be (by | ||||
design) far inferior to a component with similar intended | ||||
functionality, but designed for highly secure or otherwise critical | ||||
applications, perhaps at substantially higher cost. Any given | ||||
component is designed for some set of use cases and accordingly will | ||||
have certain limitations on its security properties and | ||||
vulnerabilities. It is thus the responsibility of the system | ||||
designer to assure themselves that the components they use in their | ||||
design are capable of satisfying their overall system security | ||||
requirements. | ||||
3.1.3. Documenting the Security Properties of a Component | ||||
In order for the system designer to adequately understand the | ||||
security related behavior of a given component, the designer of any | ||||
component intended for use with DetNet needs to clearly document the | ||||
security properties of that component. For example, to address the | ||||
case where a corrupted packet in which the flow identification | ||||
information is compromised and thus may incidentally match the flow | ||||
ID of another ("victim") DetNet flow, resulting in additional | ||||
unauthorized traffic on the victim, the documentation might state | ||||
that the component employs integrity protection on the flow | ||||
identification fields. | ||||
3.1.4. Fail-Safe Component Behavior | ||||
Even when the security properties of a component are understood and | ||||
well specified, if the component malfunctions, for example due to | ||||
physical circumstances unpredicted by the component designer, it may | ||||
be difficult or impossible to fully prevent malfunction of the | ||||
network. The degree to which a component is hardened against various | ||||
types of failures is a distinguishing feature of the component and | ||||
its design, and the overall system design can only be as strong as | ||||
its weakest link. | ||||
However, all networks are subject to this level of uncertainty; it is | ||||
not unique to DetNet. Having said that, DetNet raises the bar by | ||||
changing many added latency scenarios from tolerable annoyances to | ||||
unacceptable service violations. That in turn underscores the | ||||
importance of system integrity, as well as correct and stable | ||||
configuration of the network and its nodes, as discussed in | ||||
Section 1. | ||||
3.1.5. Flow Aggregation Example | ||||
As another example regarding resource allocation implementation, | ||||
consider the implementation of Flow Aggregation for DetNet flows (as | ||||
discussed in [RFC8938]). In this example say there are N flows that | ||||
are to be aggregated, thus the bandwidth resources of the aggregate | ||||
flow must be sufficient to contain the sum of the bandwidth | ||||
reservation for the N flows. However if one of those flows were to | ||||
consume more than its individually allocated bandwidth, this could | ||||
cause starvation of the other flows. Thus simply providing and | ||||
enforcing the calculated aggregate bandwidth may not be a complete | enforcing the calculated aggregate bandwidth may not be a complete | |||
solution - the bandwidth for each individual flow must still be | solution - the bandwidth for each individual flow must still be | |||
guaranteed, for example via ingress policing of each flow (i.e. | guaranteed, for example via ingress policing of each flow (i.e. | |||
before it is aggregated). Alternatively, if by some other means each | before it is aggregated). Alternatively, if by some other means each | |||
flow to be aggregated can be trusted not to exceed its allocated | flow to be aggregated can be trusted not to exceed its allocated | |||
bandwidth, the same goal can be achieved. | bandwidth, the same goal can be achieved. | |||
3.2. Explicit Routes | 3.2. Explicit Routes | |||
The DetNet-specific purpose for constraining the ability of the | The DetNet-specific purpose for constraining the ability of the | |||
DetNet to re-route OT traffic is to maintain the specified service | DetNet to re-route OT traffic is to maintain the specified service | |||
parameters (such as upper and lower latency boundaries) for a given | parameters (such as upper and lower latency boundaries) for a given | |||
flow. For example if the network were to re-route a flow (or some | flow. For example if the network were to re-route a flow (or some | |||
skipping to change at page 8, line 28 ¶ | skipping to change at page 11, line 24 ¶ | |||
flow. For example if the network were to re-route a flow (or some | flow. For example if the network were to re-route a flow (or some | |||
part of a flow) based exclusively on statistical path usage metrics, | part of a flow) based exclusively on statistical path usage metrics, | |||
or due to malicious activity, it is possible that the new path would | or due to malicious activity, it is possible that the new path would | |||
have a latency that is outside the required latency bounds which were | have a latency that is outside the required latency bounds which were | |||
designed into the original TE-designed path, thereby violating the | designed into the original TE-designed path, thereby violating the | |||
quality of service for the affected flow (or part of that flow). | quality of service for the affected flow (or part of that flow). | |||
However, it is acceptable for the network to re-route OT traffic in | However, it is acceptable for the network to re-route OT traffic in | |||
such a way as to maintain the specified latency bounds (and any other | such a way as to maintain the specified latency bounds (and any other | |||
specified service properties) for any reason, for example in response | specified service properties) for any reason, for example in response | |||
to a runtime component or path failure. From a security standpoint, | to a runtime component or path failure. | |||
the system designer relies on the premise that the packets will be | ||||
delivered with the specified latency boundaries; thus any component | So from a DetNet security standpoint, the DetNet system designer can | |||
that is involved in controlling or implementing any change of the | expect that any component designed for use in a DetNet will deliver | |||
initially TE-configured flow routes needs to prevent malicious or | the packets within the agreed-upon service parameters. For the | |||
accidental re-routing of OT flows that might adversely affect | component designer, this means that in order for a component to | |||
delivering the traffic within the specified service parameters. | achieve that expectation, any component that is involved in | |||
controlling or implementing any change of the initially TE-configured | ||||
flow routes must prevent re-routing of OT flows (whether malicious or | ||||
accidental) which might adversely affect delivering the traffic | ||||
within the specified service parameters. | ||||
3.3. Redundant Path Support | 3.3. Redundant Path Support | |||
The DetNet provision for redundant paths (PREOF) (as defined in the | The DetNet provision for redundant paths (PREOF) (as defined in the | |||
DetNet Architecture [RFC8655]) provides the foundation for high | DetNet Architecture [RFC8655]) provides the foundation for high | |||
reliablity of a DetNet, by virtually eliminating packet loss (i.e. to | reliability of a DetNet, by virtually eliminating packet loss (i.e. | |||
a degree which is implementation-dependent) through hitless redundant | to a degree which is implementation-dependent) through hitless | |||
packet delivery. (Note that PREOF is not defined for a DetNet IP | redundant packet delivery. Note: At the time of this writing, PREOF | |||
data plane). | is not defined for the IP data plane. | |||
It is the responsibility of the system designer to determine the | It is the responsibility of the system designer to determine the | |||
level of reliability required by their use case, and to specify | level of reliability required by their use case, and to specify | |||
redundant paths sufficient to provide the desired level of | redundant paths sufficient to provide the desired level of | |||
reliability (in as much as that reliability can be provided through | reliability (in as much as that reliability can be provided through | |||
the use of redundant paths). It is the responsibility of the | the use of redundant paths). It is the responsibility of the | |||
component designer to ensure that the relevant PREOF operations are | component designer to ensure that the relevant PREOF operations are | |||
executed reliably and securely, to avoid potentially catastrophic | executed reliably and securely, to avoid potentially catastrophic | |||
situations for the operational technology relying on them. | situations for the operational technology relying on them. | |||
However, note that not all PREOF operations are necessarily | However, note that not all PREOF operations are necessarily | |||
implemented in every network; for example a packet re-ordering | implemented in every network; for example a packet re-ordering | |||
function may not be necessary if the packets are either not required | function may not be necessary if the packets are either not required | |||
to be in order, or if the ordering is performed in some other part of | to be in order, or if the ordering is performed in some other part of | |||
the network. | the network. | |||
Ideally a redundant path for a flow could be specified from end to | Ideally a redundant path for a flow could be specified from end to | |||
end, however given that this is not always possible (as described in | end, however given that this is not always possible (as described in | |||
[RFC8655]) the system designer will need to consider the resulting | [RFC8655]) the system designer will need to consider the resulting | |||
end-to-end reliability and security resulting from any given | end-to-end reliability and security resulting from any given | |||
arrangment of network segments along the path, each of which provides | arrangement of network segments along the path, each of which | |||
its individual PREOF implementation and thus its individual level of | provides its individual PREOF implementation and thus its individual | |||
reliabiilty and security. | level of reliability and security. | |||
At the data plane the implementation of PREOF depends on the correct | At the data plane the implementation of PREOF depends on the correct | |||
assignment and interpretation of packet sequence numbers, as well as | assignment and interpretation of packet sequence numbers, as well as | |||
the actions taken based on them, such as elimination (including | the actions taken based on them, such as elimination (including | |||
elimination of packets with spurious sequence numbers). Thus the | elimination of packets with spurious sequence numbers). Thus the | |||
integrity of these values must be maintained by the component as they | integrity of these values must be maintained by the component as they | |||
are assigned by the DetNet Data Plane Service sub-layer, and | are assigned by the DetNet Data Plane Service sub-layer, and | |||
transported by the Forwarding sub-layer. This is no different than | transported by the Forwarding sub-layer. This is no different than | |||
the integrity of the values in any header used by the DetNet (or any | the integrity of the values in any header used by the DetNet (or any | |||
other) data plane, and is not unique to redundant paths. The | other) data plane, and is not unique to redundant paths. The | |||
integrity protection of header values is technology-dependent; for | integrity protection of header values is technology-dependent; for | |||
example, in Layer 2 networks the integrity of the header fields can | example, in Layer 2 networks the integrity of the header fields can | |||
be protected by using MACsec [IEEE802.1AE-2018]. Similary, from the | be protected by using MACsec [IEEE802.1AE-2018]. Similarly, from the | |||
sequence number injection perspective, it is no different from any | sequence number injection perspective, it is no different from any | |||
other protocols that use sequence numbers. | other protocols that use sequence numbers. In particular IPSec | |||
Authentication Header ([RFC4302], Sec. 3 Authentication Header (AH) | ||||
Processing) provides useful insights. | ||||
3.4. Timing (or other) Violation Reporting | 3.4. Timing (or other) Violation Reporting | |||
Another fundamental assumption of a secure DetNet is that in any case | A task of the DetNet system designer is to create a network such that | |||
in which an incoming packet arrives with any timing or bandwidth | for any incoming packet which arrives with any timing or bandwidth | |||
violation, something can be done about it which doesn't cause damage | violation, an appropriate action can be taken in order to prevent | |||
to the system. For example having the network shut down a link if a | damage to the system. The reporting step may be accomplished through | |||
packet arrives outside of its prescribed time window may serve the | dynamic performance analysis (see Section 7.7) or by any other means | |||
attacker better than it serves the network. That means that the data | as implemented in one or more components. The action to be taken for | |||
plane of the component must be able to detect and act on a variety of | any given circumstance within any given application will depend on | |||
such violations, at least alerting the controller plane. Any action | the use case. The action may involve intervention from the | |||
apart from that needs to be carefully considered in the context of | controller plane, or it may be taken "immediately" by an individual | |||
the specific system. Some possible violations that warrant detection | component, for example if very fast response is required. | |||
include cases where a packet arrives: | ||||
The definitions and selections of the actions that can be taken are | ||||
properties of the components. The component designer implements | ||||
these options according to their expected use cases, which may vary | ||||
widely from component to component. Clearly selecting an | ||||
inappropriate response to a given condition may cause more problems | ||||
than it is intending to mitigate; for example, a naive approach might | ||||
be to have the component shut down the link if a packet arrives | ||||
outside of its prescribed time window; however such a simplistic | ||||
action may serve the attacker better than it serves the network. | ||||
Similarly, simple logging of such issues may not be adequate, since a | ||||
delay in response could result in material damage, for example to | ||||
mechanical devices controlled by the network. Thus a breadth of | ||||
possible and effective security-related actions and their | ||||
configuration is a positive attribute for a DetNet component. | ||||
Some possible violations that warrant detection include cases where a | ||||
packet arrives: | ||||
o Outside of its prescribed time window | o Outside of its prescribed time window | |||
o Within its time window but with a compromised time stamp that | o Within its time window but with a compromised time stamp that | |||
makes it appear that it is not within its window | makes it appear that it is not within its window | |||
o Exceeding the reserved flow bandwidth | o Exceeding the reserved flow bandwidth | |||
Logging of such issues is unlikely to be adequate, since a delay in | ||||
response to the situation could result in material damage, for | ||||
example to mechanical devices controlled by the network. Given that | ||||
the data plane component probably has no knowledge of the use case of | ||||
the network, or its applications and end systems, it would seem | ||||
useful for a data plane component to allow the system designer to | ||||
configure its actions in the face of such violations. | ||||
Some possible direct actions that may be taken at the data plane | Some possible direct actions that may be taken at the data plane | |||
include traffic policing and shaping functions (e.g., those described | include traffic policing and shaping functions (e.g., those described | |||
in [RFC2475]), separating flows into per-flow rate-limited queues, | in [RFC2475]), separating flows into per-flow rate-limited queues, | |||
and potentially applying active queue management [RFC7567]. However | and potentially applying active queue management [RFC7567]. However | |||
if those (or any other) actions are to be taken, the system designer | if those (or any other) actions are to be taken, the system designer | |||
must ensure that the results of such actions do not compromise the | must ensure that the results of such actions do not compromise the | |||
continued safe operation of the system. For example, the network | continued safe operation of the system. For example, the network | |||
(i.e. the controller plane and data plane working together) must | (i.e. the controller plane and data plane working together) must | |||
mitigate in a timely fashion any potential adverse effect on | mitigate in a timely fashion any potential adverse effect on | |||
mechanical devices controlled by the network. | mechanical devices controlled by the network. | |||
4. DetNet Security Considerations Compared With DiffServ Security | 4. DetNet Security Considerations Compared With DiffServ Security | |||
Considerations | Considerations | |||
DetNet is designed to be compatible with DiffServ [RFC2474] as | DetNet is designed to be compatible with DiffServ [RFC2474] as | |||
applied to IT traffic in the DetNet. DetNet also incorporates the | applied to IT traffic in the DetNet. DetNet also incorporates the | |||
use of the 6-bit value of the DSCP field of the TOS field of the IP | use of the 6-bit value of the DSCP field of the Type of Service (ToS) | |||
header for flow identification for OT traffic, however the DetNet | byte of the IPv4 header (or the Traffic Class byte in IPv6) for flow | |||
interpretation of the DSCP value for OT traffic is not equivalent to | identification for OT traffic. However, the DetNet interpretation of | |||
the PHB selection behavior as defined by DiffServ. | the DSCP value for OT traffic is not equivalent to the PHB selection | |||
behavior as defined by DiffServ. | ||||
Thus security consideration for DetNet have some aspects in common | Thus security consideration for DetNet have some aspects in common | |||
with DiffServ, in fact overlapping 100% with respect to IP IT | with DiffServ, in fact overlapping 100% with respect to IP IT | |||
traffic. Security considerations for these aspects are part of the | traffic. Security considerations for these aspects are part of the | |||
existing literature on IP network security, specifically the Security | existing literature on IP network security, specifically the Security | |||
Considerations sections of [RFC2474] and [RFC2475]. However DetNet | Considerations sections of [RFC2474] and [RFC2475]. However, DetNet | |||
also introduces timing and other considerations which are not present | also introduces timing and other considerations which are not present | |||
in DiffServ, so the DiffServ security considerations are necessary | in DiffServ, so the DiffServ security considerations are a subset of | |||
but not sufficient for DetNet. | the DetNet security considerations. | |||
In the case of DetNet OT traffic, the DSCP value is interpreted | In the case of DetNet OT traffic, the DSCP value is interpreted | |||
differently than in DiffServ and contribute to determination of the | differently than in DiffServ and contribute to determination of the | |||
service provided to the packet. In DetNet, there are similar | service provided to the packet. In DetNet, there are similar | |||
consequences to DiffServ for lack of detection of, or incorrect | consequences to DiffServ for lack of detection of, or incorrect | |||
handling of, packets with mismarked DSCP values, and many of the | handling of, packets with mismarked DSCP values, and many of the | |||
points made in the DiffServ Security discussions ([RFC2475] Sec. 6.1 | points made in the DiffServ Security discussions ([RFC2475] Sec. 6.1 | |||
, [RFC2474] Sec. 7 and [RFC6274] Sec 3.3.2.1) are also relevant to | , [RFC2474] Sec. 7 and [RFC6274] Sec 3.3.2.1) are also relevant to | |||
DetNet OT traffic, though perhaps in modified form. For example, in | DetNet OT traffic, though perhaps in modified form. For example, in | |||
DetNet the effect of an undetected or incorrectly handled maliciously | DetNet the effect of an undetected or incorrectly handled maliciously | |||
mismarked DSCP field in an OT packet is not identical to affecting | mismarked DSCP field in an OT packet is not identical to affecting | |||
the PHB of that packet, since DetNet does not use the PHB concept for | the PHB of that packet, since DetNet does not use the PHB concept for | |||
OT traffic; but nonetheless the service provided to the packet could | OT traffic; but nonetheless the service provided to the packet could | |||
be affected, so mitigation measures analogous to those prescribed by | be affected, so mitigation measures analogous to those prescribed by | |||
DiffServ would be appropriate for DetNet. For example, mismarked | DiffServ would be appropriate for DetNet. For example, mismarked | |||
DSCP values should not cause failure of network nodes. The remarks | DSCP values should not cause failure of network nodes. The remarks | |||
in [RFC2474] regarding IPsec and Tunnelling Interactions are also | in [RFC2474] regarding IPsec and Tunnelling Interactions are also | |||
relevant (though this is not to say that other sections are less | relevant (though this is not to say that other sections are less | |||
relevant). | relevant). | |||
In this discussion, interpretation (and any possible intentional re- | ||||
marking) of the DSCP values of packets destined for DetNet OT flows | ||||
is expected to occur at the ingress to the DetNet domain; once inside | ||||
the domain, maintaining the integrity of the DSCP values is subject | ||||
to the same handling considerations as any other field in the packet. | ||||
5. Security Threats | 5. Security Threats | |||
This section presents a threat model, and analyzes the possible | This section presents a taxonomy of threats, and analyzes the | |||
threats in a DetNet-enabled network. The threats considered in this | possible threats in a DetNet-enabled network. The threats considered | |||
section are independent of any specific technologies used to | in this section are independent of any specific technologies used to | |||
implement the DetNet; Section 9 considers attacks that are associated | implement the DetNet; Section 9 considers attacks that are associated | |||
with the DetNet technologies encompassed by [RFC8938]. | with the DetNet technologies encompassed by [RFC8938]. | |||
We distinguish controller plane threats from data plane threats. The | We distinguish controller plane threats from data plane threats. The | |||
attack surface may be the same, but the types of attacks as well as | attack surface may be the same, but the types of attacks as well as | |||
the motivation behind them, are different. For example, a delay | the motivation behind them, are different. For example, a delay | |||
attack is more relevant to data plane than to controller plane. | attack is more relevant to data plane than to controller plane. | |||
There is also a difference in terms of security solutions: the way | There is also a difference in terms of security solutions: the way | |||
you secure the data plane is often different than the way you secure | you secure the data plane is often different than the way you secure | |||
the controller plane. | the controller plane. | |||
5.1. Threat Model | 5.1. Threat Taxonomy | |||
The threat model used in this document employs organizational | This document employs organizational elements of the threat models of | |||
elements of the threat models of [RFC7384] and [RFC7835]. This model | [RFC7384] and [RFC7835]. This model classifies attackers based on | |||
classifies attackers based on two criteria: | two criteria: | |||
o Internal vs. external: internal attackers either have access to a | o Internal vs. external: internal attackers either have access to a | |||
trusted segment of the network or possess the encryption or | trusted segment of the network or possess the encryption or | |||
authentication keys. External attackers, on the other hand, do | authentication keys. External attackers, on the other hand, do | |||
not have the keys and have access only to the encrypted or | not have the keys and have access only to the encrypted or | |||
authenticated traffic. | authenticated traffic. | |||
o On-path vs. off-path: on-path attackers are located in a position | o On-path vs. off-path: on-path attackers are located in a position | |||
that allows interception and modification of in-flight protocol | that allows interception, modification, or dropping of in-flight | |||
packets, whereas off-path attackers can only attack by generating | protocol packets, whereas off-path attackers can only attack by | |||
protocol packets. | generating protocol packets. | |||
Regarding the boundary between internal vs. external attackers as | ||||
defined above, please note that in this document we do not make | ||||
concrete recommendations regarding which specific segments of the | ||||
network are to be protected in any specific way, for example via | ||||
encryption or authentication. As a result, the boundary as defined | ||||
above is not unequivocally specified here. Given that constraint, | ||||
the reader can view an internal attacker as one who can operate | ||||
within the perimeter defined by the DetNet Edge Nodes (as defined in | ||||
the DetNet Architecture [RFC8655]), allowing that the specifics of | ||||
what is encrypted or authenticated within this perimeter will vary | ||||
depending on the implementation. | ||||
Care has also been taken to adhere to Section 5 of [RFC3552], both | Care has also been taken to adhere to Section 5 of [RFC3552], both | |||
with respect to which attacks are considered out-of-scope for this | with respect to which attacks are considered out-of-scope for this | |||
document, but also which are considered to be the most common threats | document, but also which are considered to be the most common threats | |||
(explored further in Section 5.2, Threat Analysis). Most of the | (explored further in Section 5.2, Threat Analysis). Most of the | |||
direct threats to DetNet are active attacks (i.e. attacks that modify | direct threats to DetNet are active attacks (i.e. attacks that modify | |||
DetNet traffic), but it is highly suggested that DetNet application | DetNet traffic), but it is highly suggested that DetNet application | |||
developers take appropriate measures to protect the content of the | developers take appropriate measures to protect the content of the | |||
DetNet flows from passive attacks (i.e. attacks that observe but do | DetNet flows from passive attacks (i.e. attacks that observe but do | |||
not modify DetNet traffic) for example through the use of TLS or | not modify DetNet traffic) for example through the use of TLS or | |||
skipping to change at page 12, line 47 ¶ | skipping to change at page 16, line 27 ¶ | |||
5.2.2. DetNet Flow Modification or Spoofing | 5.2.2. DetNet Flow Modification or Spoofing | |||
An attacker can modify some header fields of en route packets in a | An attacker can modify some header fields of en route packets in a | |||
way that causes the DetNet flow identification mechanisms to | way that causes the DetNet flow identification mechanisms to | |||
misclassify the flow. Alternatively, the attacker can inject traffic | misclassify the flow. Alternatively, the attacker can inject traffic | |||
that is tailored to appear as if it belongs to a legitimate DetNet | that is tailored to appear as if it belongs to a legitimate DetNet | |||
flow. The potential consequence is that the DetNet flow resource | flow. The potential consequence is that the DetNet flow resource | |||
allocation cannot guarantee the performance that is expected when the | allocation cannot guarantee the performance that is expected when the | |||
flow identification works correctly. | flow identification works correctly. | |||
5.2.3. Resource Segmentation (Inter-segment Attack) | 5.2.3. Resource Segmentation (Inter-segment Attack) Vulnerability | |||
An attacker can inject traffic that will consume network resources | DetNet components are expected to split their resources between | |||
such that it affects DetNet flows. This can be performed using non- | DetNet flows in a way that prevents traffic from one DetNet flow from | |||
DetNet traffic that indirectly affects DetNet traffic (hardware | affecting the performance of other DetNet flows, and also prevents | |||
resource exhaustion), or by using DetNet traffic from one DetNet flow | non-DetNet traffic from affecting DetNet flows. However, perhaps due | |||
that directly affects traffic from different DetNet flows. | to implementation constraints, some resources may be partially | |||
shared, and an attacker may try to exploit this property. For | ||||
example, an attacker can inject traffic in order to exhaust network | ||||
resources such that DetNet packets which share resources with the | ||||
injected traffic may be dropped or delayed. Such injected traffic | ||||
may be part of DetNet flows or non-DetNet traffic. | ||||
Another example of a resource segmentation attack is the case in | ||||
which an attacker is able to overload the exception path queue on the | ||||
router, i.e. a "slow path" typically taken by control or OAM packets | ||||
which are diverted from the data plane because they require | ||||
processing by a CPU. DetNet OT flows are typically configured to | ||||
take the "fast path" through the data plane, to minimize latency. | ||||
However if there is only one queue from the forwarding ASIC to the | ||||
exception path, and for some reason the system is configured such | ||||
that DetNet packets must be handled on this exception path, then | ||||
saturating the exception path could result in delaying or dropping of | ||||
DetNet packets. | ||||
5.2.4. Packet Replication and Elimination | 5.2.4. Packet Replication and Elimination | |||
5.2.4.1. Replication: Increased Attack Surface | 5.2.4.1. Replication: Increased Attack Surface | |||
Redundancy is intended to increase the robustness and survivability | Redundancy is intended to increase the robustness and survivability | |||
of DetNet flows, and replication over multiple paths can potentially | of DetNet flows, and replication over multiple paths can potentially | |||
mitigate an attack that is limited to a single path. However, the | mitigate an attack that is limited to a single path. However, the | |||
fact that packets are replicated over multiple paths increases the | fact that packets are replicated over multiple paths increases the | |||
attack surface of the network, i.e., there are more points in the | attack surface of the network, i.e., there are more points in the | |||
skipping to change at page 13, line 41 ¶ | skipping to change at page 17, line 39 ¶ | |||
dropped, thus compromising some of the advantage of path | dropped, thus compromising some of the advantage of path | |||
redundancy. | redundancy. | |||
o Flow hijacking - an attacker can hijack a DetNet flow with access | o Flow hijacking - an attacker can hijack a DetNet flow with access | |||
to a single path by systematically replacing the SNs on the given | to a single path by systematically replacing the SNs on the given | |||
path with higher SN values. For example, an attacker can replace | path with higher SN values. For example, an attacker can replace | |||
every SN value S with a higher value S+C, where C is a constant | every SN value S with a higher value S+C, where C is a constant | |||
integer. Thus, the attacker creates a false illusion that the | integer. Thus, the attacker creates a false illusion that the | |||
attacked path has the lowest delay, causing all packets from other | attacked path has the lowest delay, causing all packets from other | |||
paths to be eliminated in favor of the attacked path. Once the | paths to be eliminated in favor of the attacked path. Once the | |||
flow from the compromised path is favored by the elminating | flow from the compromised path is favored by the eliminating | |||
bridge, the flow is hijacked by the attacker. It is now posible | bridge, the flow has effectively been hijacked by the attacker. | |||
to either replace en route packets with malicious packets, or | It is now possible for the attacker to either replace en route | |||
simply injecting errors, causing the packets to be dropped at | packets with malicious packets, or to simply inject errors into | |||
their destination. | the packets, causing the packets to be dropped at their | |||
destination. | ||||
o Amplification - an attacker who injects packets into a flow that | o Amplification - an attacker who injects packets into a flow that | |||
is to be replicated will have their attack amplified through the | is to be replicated will have their attack amplified through the | |||
replication process. This is no different than any attacker who | replication process. This is no different than any attacker who | |||
injects packets that are delivered through multicast, broadcast, | injects packets that are delivered through multicast, broadcast, | |||
or other point-to-multi-point mechanisms. | or other point-to-multi-point mechanisms. | |||
5.2.5. Controller Plane | 5.2.5. Controller Plane | |||
5.2.5.1. Path Choice Manipulation | 5.2.5.1. Path Choice Manipulation | |||
skipping to change at page 14, line 28 ¶ | skipping to change at page 18, line 28 ¶ | |||
5.2.5.1.3. Increased Attack Surface | 5.2.5.1.3. Increased Attack Surface | |||
One of the possible consequences of a path manipulation attack is an | One of the possible consequences of a path manipulation attack is an | |||
increased attack surface. Thus, when the attack described in the | increased attack surface. Thus, when the attack described in the | |||
previous subsection is implemented, it may increase the potential of | previous subsection is implemented, it may increase the potential of | |||
other attacks to be performed. | other attacks to be performed. | |||
5.2.5.2. Compromised Controller | 5.2.5.2. Compromised Controller | |||
An attacker can subvert a controller, or enable a compromised | An attacker can subvert a legitimate controller (or subvert another | |||
controller to falsely represent itself as a controller so that the | component such that it represents itself as a legitimate controller) | |||
network nodes believe it to be authorized to instruct them. | with the result that the network nodes incorrectly believe it is | |||
authorized to instruct them. | ||||
Presence of compromised nodes in a DetNet is not a new threat that | The presence of a compromised node or controller in a DetNet is not a | |||
arises as a result of determinism or time sensitivity; the same | threat that arises as a result of determinism or time sensitivity; | |||
techniques used to prevent or mitigate against compromised nodes in | the same techniques used to prevent or mitigate against compromised | |||
any network are equally applicable in the DetNet case. However this | nodes in any network are equally applicable in the DetNet case. The | |||
underscores the requirement for careful system security design in a | act of compromising a controller may not even be within the | |||
DetNet, given that the effects of even one bad actor on the network | capabilities of our defined attacker types - in other words it may | |||
can be potentially catastrophic. | not be achievable via packet traffic at all, whether internal or | |||
external, on-path or off-path. It might be accomplished for example | ||||
by a human with physical access to the component, who could upload | ||||
bogus firmware to it via a USB stick. All of this underscores the | ||||
requirement for careful overall system security design in a DetNet, | ||||
given that the effects of even one bad actor on the network can be | ||||
potentially catastrophic. | ||||
Security concerns specific to any given controller plane technology | Security concerns specific to any given controller plane technology | |||
used in DetNet will be addressed by the DetNet documents associated | used in DetNet will be addressed by the DetNet documents associated | |||
with that technology. | with that technology. | |||
5.2.6. Reconnaissance | 5.2.6. Reconnaissance | |||
A passive eavesdropper can identify DetNet flows and then gather | A passive eavesdropper can identify DetNet flows and then gather | |||
information about en route DetNet flows, e.g., the number of DetNet | information about en route DetNet flows, e.g., the number of DetNet | |||
flows, their bandwidths, their schedules, or other temporal | flows, their bandwidths, their schedules, or other temporal or | |||
properties. The gathered information can later be used to invoke | statistical properties. The gathered information can later be used | |||
other attacks on some or all of the flows. | to invoke other attacks on some or all of the flows. | |||
DetNet flows are typically uniquely identified by their 6-tuple, i.e. | DetNet flows are typically uniquely identified by their 6-tuple, i.e. | |||
fields within the IP header, however in some implementations the flow | fields within the L3 or L4 header, however in some implementations | |||
ID may also be augmented by additional per-flow attributes known to | the flow ID may also be augmented by additional per-flow attributes | |||
the system, e.g. above the IP-layer. For the purpose of this | known to the system, e.g. above L4. For the purpose of this document | |||
document we assume any such additional fields used for flow ID are | we assume any such additional fields used for flow ID are encrypted | |||
encrypted and/or integrity-protected from external attackers. | and/or integrity-protected from external attackers. Note however | |||
that existing OT protocols designed for use on dedicated secure | ||||
networks may not intrinsically provide such protection, in which case | ||||
IPsec or transport layer security mechanisms may be needed. | ||||
5.2.7. Time Synchronization Mechanisms | 5.2.7. Time Synchronization Mechanisms | |||
An attacker can use any of the attacks described in [RFC7384] to | An attacker can use any of the attacks described in [RFC7384] to | |||
attack the synchronization protocol, thus affecting the DetNet | attack the synchronization protocol, thus affecting the DetNet | |||
service. | service. | |||
5.3. Threat Summary | 5.3. Threat Summary | |||
A summary of the attacks that were discussed in this section is | A summary of the attacks that were discussed in this section is | |||
skipping to change at page 16, line 11 ¶ | skipping to change at page 20, line 11 ¶ | |||
under the assumption that a corresponding security mechanism is being | under the assumption that a corresponding security mechanism is being | |||
used, and that the corresponding network equipment takes part in this | used, and that the corresponding network equipment takes part in this | |||
mechanism. | mechanism. | |||
+-------------------------------------------+----+-----+----+-----+ | +-------------------------------------------+----+-----+----+-----+ | |||
| Attack | Attacker Type | | | Attack | Attacker Type | | |||
| +----------+----------+ | | +----------+----------+ | |||
| | Internal | External | | | | Internal | External | | |||
| |On-P|Off-P|On-P|Off-P| | | |On-P|Off-P|On-P|Off-P| | |||
+-------------------------------------------+----+-----+----+-----+ | +-------------------------------------------+----+-----+----+-----+ | |||
|Delay attack | + | + | + | + | | |Delay attack | + | | + | | | |||
+-------------------------------------------+----+-----+----+-----+ | +-------------------------------------------+----+-----+----+-----+ | |||
|DetNet Flow Modification or Spoofing | + | + | | | | |DetNet Flow Modification or Spoofing | + | + | | | | |||
+-------------------------------------------+----+-----+----+-----+ | +-------------------------------------------+----+-----+----+-----+ | |||
|Inter-segment Attack | + | + | + | + | | |Inter-segment Attack | + | + | + | + | | |||
+-------------------------------------------+----+-----+----+-----+ | +-------------------------------------------+----+-----+----+-----+ | |||
|Replication: Increased Attack Surface | + | + | + | + | | |Replication: Increased Attack Surface | + | + | + | + | | |||
+-------------------------------------------+----+-----+----+-----+ | +-------------------------------------------+----+-----+----+-----+ | |||
|Replication-related Header Manipulation | + | | | | | |Replication-related Header Manipulation | + | | | | | |||
+-------------------------------------------+----+-----+----+-----+ | +-------------------------------------------+----+-----+----+-----+ | |||
|Path Manipulation | + | + | | | | |Path Manipulation | + | + | | | | |||
skipping to change at page 16, line 38 ¶ | skipping to change at page 20, line 38 ¶ | |||
+-------------------------------------------+----+-----+----+-----+ | +-------------------------------------------+----+-----+----+-----+ | |||
|Reconnaissance | + | | + | | | |Reconnaissance | + | | + | | | |||
+-------------------------------------------+----+-----+----+-----+ | +-------------------------------------------+----+-----+----+-----+ | |||
|Attacks on Time Synchronization Mechanisms | + | + | + | + | | |Attacks on Time Synchronization Mechanisms | + | + | + | + | | |||
+-------------------------------------------+----+-----+----+-----+ | +-------------------------------------------+----+-----+----+-----+ | |||
Figure 1: Threat Analysis Summary | Figure 1: Threat Analysis Summary | |||
6. Security Threat Impacts | 6. Security Threat Impacts | |||
This section describes and rates the impact of the attacks described | When designing security for a DetNet, as with any network, it may be | |||
in Section 5, Security Threats. In this section, the impacts as | prohibitively expensive or technically infeasible to thoroughly | |||
described assume that the associated mitigation is not present or has | protect against every possible threat. Thus the security designer | |||
failed. Mitigations are discussed in Section 7, Security Threat | must be informed (for example by an application domain expert such as | |||
Mitigation. | a product manager) regarding the relative significance of the various | |||
threats and their impact if a successful attack is carried out. In | ||||
this section we present an example of a possible template for such a | ||||
communication, culminating in a table (Figure 2) which lists a set of | ||||
threats under consideration, and some values characterizing their | ||||
relative impact in the context of a given industry. The specific | ||||
threats, industries, and impact values in the table are provided only | ||||
as an example of this kind of assessment and its communication; they | ||||
are not intended to be taken literally. | ||||
This section considers assessment of the relative impacts of the | ||||
attacks described in Section 5, Security Threats. In this section, | ||||
the impacts as described assume that the associated mitigation is not | ||||
present or has failed. Mitigations are discussed in Section 7, | ||||
Security Threat Mitigation. | ||||
In computer security, the impact (or consequence) of an incident can | In computer security, the impact (or consequence) of an incident can | |||
be measured in loss of confidentiality, integrity or availability of | be measured in loss of confidentiality, integrity or availability of | |||
information. In the case of time sensitive networks, the impact of a | information. In the case of time sensitive or OT networks (though | |||
network exploit can also include failure or malfunction of mechanical | not to the exclusion of IT or non-time-sensitive networks) the impact | |||
and/or other OT systems. | of an exploit can also include failure or malfunction of mechanical | |||
and/or other physical systems. | ||||
DetNet raises these stakes significantly for OT applications, | DetNet raises these stakes significantly for OT applications, | |||
particularly those which may have been designed to run in an OT-only | particularly those which may have been designed to run in an OT-only | |||
environment and thus may not have been designed for security in an IT | environment and thus may not have been designed for security in an IT | |||
environment with its associated components, services and protocols. | environment with its associated components, services and protocols. | |||
The extent of impact of a successful vulnerability exploit varies | The extent of impact of a successful vulnerability exploit varies | |||
considerably by use case and by industry; additional insights | considerably by use case and by industry; additional insights | |||
regarding the individual use cases is available from [RFC8578], | regarding the individual use cases is available from [RFC8578], | |||
DetNet Use Cases. Each of those use cases is represented in | DetNet Use Cases. Each of those use cases is represented in | |||
Figure 2, including Pro Audio, Electrical Utilities, Industrial M2M | Figure 2, including Pro Audio, Electrical Utilities, Industrial M2M | |||
(split into two areas, M2M Data Gathering and M2M Control Loop), and | (split into two areas, M2M Data Gathering and M2M Control Loop), and | |||
others. | others. | |||
Aspects of Impact (left column) include Criticality of Failure, | Aspects of Impact (left column) include Criticality of Failure, | |||
Effects of Failure, Recovery, and DetNet Functional Dependence. | Effects of Failure, Recovery, and DetNet Functional Dependence. | |||
Criticality of failure summarizes the seriousness of the impact. The | Criticality of failure summarizes the seriousness of the impact. The | |||
impact of a resulting failure can affect many different metrics that | impact of a resulting failure can affect many different metrics that | |||
vary greatly in scope and severity. In order to reduce the number of | vary greatly in scope and severity. In order to reduce the number of | |||
variables, only the following were included: Financial, Health and | variables, only the following were included: Financial, Health and | |||
Safety, People well being (People WB), Affect on a single | Safety, Effect on a Single Organization, and Effect on Multiple | |||
organization, and affect on multiple organizations. Recovery | Organizations. Recovery outlines how long it would take for an | |||
outlines how long it would take for an affected use case to get back | affected use case to get back to its pre-failure state (Recovery time | |||
to its pre-failure state (Recovery time objective, RTO), and how much | objective, RTO), and how much of the original service would be lost | |||
of the original service would be lost in between the time of service | in between the time of service failure and recovery to original state | |||
failure and recovery to original state (Recovery Point Objective, | (Recovery Point Objective, RPO). DetNet dependence maps how much the | |||
RPO). DetNet dependence maps how much the following DetNet service | following DetNet service objectives contribute to impact of failure: | |||
objectives contribute to impact of failure: Time dependency, data | Time dependency, data integrity, source node integrity, availability, | |||
integrity, source node integrity, availability, latency/jitter. | latency/jitter. | |||
The scale of the Impact mappings is low, medium, and high. In some | The scale of the Impact mappings is low, medium, and high. In some | |||
use cases there may be a multitude of specific applications in which | use cases there may be a multitude of specific applications in which | |||
DetNet is used. For simplicity this section attempts to average the | DetNet is used. For simplicity this section attempts to average the | |||
varied impacts of different applications. This section does not | varied impacts of different applications. This section does not | |||
address the overall risk of a certain impact which would require the | address the overall risk of a certain impact which would require the | |||
likelihood of a failure happening. | likelihood of a failure happening. | |||
In practice any such ratings will vary from case to case; the ratings | In practice any such ratings will vary from case to case; the ratings | |||
shown here are given as examples. | shown here are given as examples. | |||
Table, Part One (of Two) | Table | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| | Pro A | Util | Bldg |Wire- | Cell |M2M |M2M | | | | Pro A | Util | Bldg |Wire- | Cell |M2M |M2M | | |||
| | | | | less | |Data |Ctrl | | | | | | | less | |Data |Ctrl | | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| Criticality | Med | Hi | Low | Med | Med | Med | Med | | | Criticality | Med | Hi | Low | Med | Med | Med | Med | | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| Effects | | Effects | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| Financial | Med | Hi | Med | Med | Low | Med | Med | | | Financial | Med | Hi | Med | Med | Low | Med | Med | | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| Health/Safety | Med | Hi | Hi | Med | Med | Med | Med | | | Health/Safety | Med | Hi | Hi | Med | Med | Med | Med | | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| People WB | Med | Hi | Hi | Low | Hi | Low | Low | | | Affects 1 org | Hi | Hi | Med | Hi | Med | Med | Med | | |||
+------------------+-----------------------------------------+-----+ | ||||
| Effect 1 org | Hi | Hi | Med | Hi | Med | Med | Med | | ||||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| Effect >1 org | Med | Hi | Low | Med | Med | Med | Med | | | Affects >1 org | Med | Hi | Low | Med | Med | Med | Med | | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
|Recovery | |Recovery | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| Recov Time Obj | Med | Hi | Med | Hi | Hi | Hi | Hi | | | Recov Time Obj | Med | Hi | Med | Hi | Hi | Hi | Hi | | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| Recov Point Obj | Med | Hi | Low | Med | Low | Hi | Hi | | | Recov Point Obj | Med | Hi | Low | Med | Low | Hi | Hi | | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
|DetNet Dependence | |DetNet Dependence | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| Time Dependency | Hi | Hi | Low | Hi | Med | Low | Hi | | | Time Dependency | Hi | Hi | Low | Hi | Med | Low | Hi | | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| Latency/Jitter | Hi | Hi | Med | Med | Low | Low | Hi | | | Latency/Jitter | Hi | Hi | Med | Med | Low | Low | Hi | | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| Data Integrity | Hi | Hi | Med | Hi | Low | Hi | Low | | | Data Integrity | Hi | Hi | Med | Hi | Low | Hi | Hi | | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| Src Node Integ | Hi | Hi | Med | Hi | Med | Hi | Hi | | | Src Node Integ | Hi | Hi | Med | Hi | Med | Hi | Hi | | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
| Availability | Hi | Hi | Med | Hi | Low | Hi | Hi | | | Availability | Hi | Hi | Med | Hi | Low | Hi | Hi | | |||
+------------------+-----------------------------------------+-----+ | +------------------+-----------------------------------------+-----+ | |||
Table, Part Two (of Two) | ||||
+------------------+--------------------------+ | ||||
| | Mining | Block | Network | | ||||
| | | Chain | Slicing | | ||||
+------------------+--------------------------+ | ||||
| Criticality | Hi | Med | Hi | | ||||
+------------------+--------------------------+ | ||||
| Effects | ||||
+------------------+--------------------------+ | ||||
| Financial | Hi | Hi | Hi | | ||||
+------------------+--------------------------+ | ||||
| Health/Safety | Hi | Low | Med | | ||||
+------------------+--------------------------+ | ||||
| People WB | Hi | Low | Med | | ||||
+------------------+--------------------------+ | ||||
| Effect 1 org | Hi | Hi | Hi | | ||||
+------------------+--------------------------+ | ||||
| Effect >1 org | Hi | Low | Hi | | ||||
+------------------+--------------------------+ | ||||
|Recovery | ||||
+------------------+--------------------------+ | ||||
| Recov Time Obj | Hi | Low | Hi | | ||||
+------------------+--------------------------+ | ||||
| Recov Point Obj | Hi | Low | Hi | | ||||
+------------------+--------------------------+ | ||||
|DetNet Dependence | ||||
+------------------+--------------------------+ | ||||
| Time Dependency | Hi | Low | Hi | | ||||
+------------------+--------------------------+ | ||||
| Latency/Jitter | Hi | Low | Hi | | ||||
+------------------+--------------------------+ | ||||
| Data Integrity | Hi | Hi | Hi | | ||||
+------------------+--------------------------+ | ||||
| Src Node Integ | Hi | Hi | Hi | | ||||
+------------------+--------------------------+ | ||||
| Availability | Hi | Hi | Hi | | ||||
+------------------+--------------------------+ | ||||
Figure 2: Impact of Attacks by Use Case Industry | Figure 2: Impact of Attacks by Use Case Industry | |||
The rest of this section will cover impact of the different groups in | The rest of this section will cover impact of the different groups in | |||
more detail. | more detail. | |||
6.1. Delay-Attacks | 6.1. Delay-Attacks | |||
6.1.1. Data Plane Delay Attacks | 6.1.1. Data Plane Delay Attacks | |||
Note that 'delay attack' also includes the possibility of a 'negative | Note that 'delay attack' also includes the possibility of a 'negative | |||
delay' or early arrival of a packet, or possibly adversely changing | delay' or early arrival of a packet, or possibly adversely changing | |||
the timestamp value. | the timestamp value. | |||
Delayed messages in a DetNet link can result in the same behavior as | Delayed messages in a DetNet link can result in the same behavior as | |||
dropped messages in ordinary networks as the services attached to the | dropped messages in ordinary networks, since the services attached to | |||
DetNet flow have strict deterministic requirements. | the DetNet flow are likely to have strict delivery time requirements. | |||
For a single path scenario, disruption is a real possibility, whereas | For a single path scenario, disruption within the single flow is a | |||
in a multipath scenario, large delays or instabilities in one DetNet | real possibility. In a multipath scenario, large delays or | |||
flow can lead to increased buffer and processor resources at the | instabilities in one DetNet flow can also lead to increased buffer | |||
eliminating router. | and processor resource consumption at the eliminating router. | |||
A data-plane delay attack on a system controlling substantial moving | A data-plane delay attack on a system controlling substantial moving | |||
devices, for example in industrial automation, can cause physical | devices, for example in industrial automation, can cause physical | |||
damage. For example, if the network promises a bounded latency of | damage. For example, if the network promises a bounded latency of | |||
2ms for a flow, yet the machine receives it with 5ms latency, control | 2ms for a flow, yet the machine receives it with 5ms latency, control | |||
loop of the machine can become unstable. | loop of the machine can become unstable. | |||
6.1.2. Controller Plane Delay Attacks | 6.1.2. Controller Plane Delay Attacks | |||
In and of itself, this is not directly a threat to the DetNet | In and of itself, this is not directly a threat to the DetNet | |||
skipping to change at page 20, line 25 ¶ | skipping to change at page 24, line 4 ¶ | |||
o Failure to deliver, or severely delaying, controller plane | o Failure to deliver, or severely delaying, controller plane | |||
messages adding an endpoint to a multicast-group will prevent the | messages adding an endpoint to a multicast-group will prevent the | |||
new endpoint from receiving expected frames thus disrupting | new endpoint from receiving expected frames thus disrupting | |||
expected behavior. | expected behavior. | |||
o Delaying messages removing an endpoint from a group can lead to | o Delaying messages removing an endpoint from a group can lead to | |||
loss of privacy as the endpoint will continue to receive messages | loss of privacy as the endpoint will continue to receive messages | |||
even after it is supposedly removed. | even after it is supposedly removed. | |||
6.2. Flow Modification and Spoofing | 6.2. Flow Modification and Spoofing | |||
6.2.1. Flow Modification | 6.2.1. Flow Modification | |||
If the contents of a packet header or body can be modified by the | If the contents of a packet header or body can be modified by the | |||
attacker, this can cause the packet to be routed incorrectly or | attacker, this can cause the packet to be routed incorrectly or | |||
dropped, or the payload to be corrupted or subtly modified. | dropped, or the payload to be corrupted or subtly modified. Thus, | |||
the potential impact of a modification attack includes disrupting the | ||||
application as well as the network equipment. | ||||
6.2.2. Spoofing | 6.2.2. Spoofing | |||
6.2.2.1. Dataplane Spoofing | 6.2.2.1. Dataplane Spoofing | |||
Spoofing dataplane messages can result in increased resource | Spoofing dataplane messages can result in increased resource | |||
consumptions on the routers throughout the network as it will | consumptions on the routers throughout the network as it will | |||
increase buffer usage and processor utilization. This can lead to | increase buffer usage and processor utilization. This can lead to | |||
resource exhaustion and/or increased delay. | resource exhaustion and/or increased delay. | |||
skipping to change at page 21, line 7 ¶ | skipping to change at page 24, line 32 ¶ | |||
can be forwarded through the network, using part of the allocated | can be forwarded through the network, using part of the allocated | |||
bandwidth. This in turn can cause legitimate messages to be dropped | bandwidth. This in turn can cause legitimate messages to be dropped | |||
when the resource budget has been exhausted. | when the resource budget has been exhausted. | |||
Finally, the endpoint will have to deal with invalid messages being | Finally, the endpoint will have to deal with invalid messages being | |||
delivered to the endpoint instead of (or in addition to) a valid | delivered to the endpoint instead of (or in addition to) a valid | |||
message. | message. | |||
6.2.2.2. Controller Plane Spoofing | 6.2.2.2. Controller Plane Spoofing | |||
A successful controller plane spoofing-attack will potentionally have | A successful controller plane spoofing-attack will potentially have | |||
adverse effects. It can do virtually anything from: | adverse effects. It can do virtually anything from: | |||
o modifying existing DetNet flows by changing the available | o modifying existing DetNet flows by changing the available | |||
bandwidth | bandwidth | |||
o add or remove endpoints from a DetNet flow | o add or remove endpoints from a DetNet flow | |||
o drop DetNet flows completely | o drop DetNet flows completely | |||
o falsely create new DetNet flows (exhaust the systems resources, or | o falsely create new DetNet flows (exhaust the systems resources, or | |||
skipping to change at page 21, line 37 ¶ | skipping to change at page 25, line 18 ¶ | |||
these false messages to the resource budget of that flow. | these false messages to the resource budget of that flow. | |||
In a multipath scenario, injected messages will cause increased | In a multipath scenario, injected messages will cause increased | |||
processor utilization in elimination routers. If enough paths are | processor utilization in elimination routers. If enough paths are | |||
subject to malicious injection, the legitimate messages can be | subject to malicious injection, the legitimate messages can be | |||
dropped. Likewise it can cause an increase in buffer usage. In | dropped. Likewise it can cause an increase in buffer usage. In | |||
total, it will consume more resources in the routers than normal, | total, it will consume more resources in the routers than normal, | |||
giving rise to a resource exhaustion attack on the routers. | giving rise to a resource exhaustion attack on the routers. | |||
If a DetNet flow is interrupted, the end application will be affected | If a DetNet flow is interrupted, the end application will be affected | |||
by what is now a non-deterministic flow. | by what is now a non-deterministic flow. Note that there are many | |||
possible sources of flow interruptions, for example, but not limited | ||||
to, such physical layer conditions as a broken wire or a radio link | ||||
which is compromised by interference. | ||||
6.3.2. Controller Plane Segmentation | 6.3.2. Controller Plane Segmentation | |||
In a successful controller plane segmentation attack, control | In a successful controller plane segmentation attack, control | |||
messages are acted on by nodes in the network, unbeknownst to the | messages are acted on by nodes in the network, unbeknownst to the | |||
central controller or the network engineer. This has the potential | central controller or the network engineer. This has the potential | |||
to: | to: | |||
o create new DetNet flows (exhausting resources) | o create new DetNet flows (exhausting resources) | |||
skipping to change at page 22, line 4 ¶ | skipping to change at page 25, line 37 ¶ | |||
central controller or the network engineer. This has the potential | central controller or the network engineer. This has the potential | |||
to: | to: | |||
o create new DetNet flows (exhausting resources) | o create new DetNet flows (exhausting resources) | |||
o drop existing DetNet flows (denial of service) | o drop existing DetNet flows (denial of service) | |||
o add end-stations to a multicast group (loss of privacy) | o add end-stations to a multicast group (loss of privacy) | |||
o remove end-stations from a multicast group (reduction of service) | o remove end-stations from a multicast group (reduction of service) | |||
o modify the DetNet flow attributes (affecting available bandwidth) | o modify the DetNet flow attributes (affecting available bandwidth) | |||
If an attacker can inject control messages without the central | ||||
controller knowing, then one or more components in the network may | ||||
get into a state that is not expected by the controller. At that | ||||
point, if the controller initiates a command, the effect of that | ||||
command may not be as expected, since the target of the command may | ||||
have started from a different initial state. | ||||
6.4. Replication and Elimination | 6.4. Replication and Elimination | |||
The Replication and Elimination is relevant only to data plane | The Replication and Elimination is relevant only to data plane | |||
messages as controller plane messages are not subject to multipath | messages as controller plane messages are not subject to multipath | |||
routing. | routing. | |||
6.4.1. Increased Attack Surface | 6.4.1. Increased Attack Surface | |||
Covered briefly in Section 6.3, Segmentation Attacks. | The impact of an increased attack surface is that it increases the | |||
probability that the network can be exposed to an attacker. This can | ||||
facilitate a wide range of specific attacks, and their respective | ||||
impacts are discussed in other subsections of this section. | ||||
6.4.2. Header Manipulation at Elimination Routers | 6.4.2. Header Manipulation at Elimination Routers | |||
Covered briefly in Section 6.3, Segmentation Attacks. | This attack can potentially cause DoS to the application that uses | |||
the attacked DetNet flows or to the network equipment that forwards | ||||
them. Furthermore, it can allow an attacker to manipulate the | ||||
network paths and the behavior of the network layer. | ||||
6.5. Control or Signaling Packet Modification | 6.5. Control or Signaling Packet Modification | |||
If control packets are subject to manipulation undetected, the | If control packets are subject to manipulation undetected, the | |||
network can be severely compromised. | network can be severely compromised. | |||
6.6. Control or Signaling Packet Injection | 6.6. Control or Signaling Packet Injection | |||
If an attacker can inject control packets undetected, the network can | If an attacker can inject control packets undetected, the network can | |||
be severely compromised. | be severely compromised. | |||
6.7. Reconnaissance | 6.7. Reconnaissance | |||
Of all the attacks, this is one of the most difficult to detect and | Of all the attacks, this is one of the most difficult to detect and | |||
counter. Often, an attacker will start out by observing the traffic | counter. | |||
going through the network and use the knowledge gathered in this | ||||
phase to mount future attacks. | ||||
The attacker can, at their leisure, observe over time all aspects of | An attacker can, at their leisure, observe over time various aspects | |||
the messaging and signalling, learning the intent and purpose of all | of the messaging and signalling, learning the intent and purpose of | |||
traffic flows. At some later date, possibly at an important time in | the traffic flows. Then at some later date, possibly at an important | |||
an operational context, the attacker can launch a multi-faceted | time in the operational context, they might launch an attack based on | |||
attack, possibly in conjunction with some demand for ransom. | that knowledge. | |||
The flow-id in the header of the data plane messages gives an | The flow-id in the header of the data plane messages gives an | |||
attacker a very reliable identifier for DetNet traffic, and this | attacker a very reliable identifier for DetNet traffic, and this | |||
traffic has a high probability of going to lucrative targets. | traffic has a high probability of going to lucrative targets. | |||
Applications which are ported from a private OT network to the higher | Applications which are ported from a private OT network to the higher | |||
visibility DetNet environment may need to be adapted to limit | visibility DetNet environment may need to be adapted to limit | |||
distinctive flow properties that could make them susceptible to | distinctive flow properties that could make them susceptible to | |||
reconnaissance. | reconnaissance. | |||
6.8. Attacks on Time Synchronization Mechanisms | 6.8. Attacks on Time Synchronization Mechanisms | |||
Attacks on time synchronization mechanisms are addressed in | DetNet relies on an underlying time synchronization mechanism, and | |||
[RFC7384]. | therefore a compromised synchronization mechanism may cause DetNet | |||
nodes to malfunction. Specifically, DetNet flows may fail to meet | ||||
their latency requirements and deterministic behavior, thus causing | ||||
DoS to DetNet applications. | ||||
6.9. Attacks on Path Choice | 6.9. Attacks on Path Choice | |||
This is covered in part in Section 6.3, Segmentation Attacks, and as | This is covered in part in Section 6.3, Segmentation Attacks, and as | |||
with Replication and Elimination ( Section 6.4), this is relevant for | with Replication and Elimination ( Section 6.4), this is relevant for | |||
DataPlane messages. | DataPlane messages. | |||
7. Security Threat Mitigation | 7. Security Threat Mitigation | |||
This section describes a set of measures that can be taken to | This section describes a set of measures that can be taken to | |||
mitigate the attacks described in Section 5, Security Threats. These | mitigate the attacks described in Section 5, Security Threats. These | |||
mitigations should be viewed as a toolset that includes several | mitigations should be viewed as a set of tools, any of which can be | |||
different and diverse tools. Each application or system will | used individually or in concert. The DetNet component and/or system | |||
typically use a subset of these tools, based on a system-specific | and/or application designer can apply these tools, as necessary based | |||
threat analysis. | on a system-specific threat analysis. | |||
Some of the technology-specific security considerations and | Some of the technology-specific security considerations and | |||
mitigation approaches are further discussed in the DETNET data plane | mitigation approaches are further discussed in the DetNet data plane | |||
solution documents, such as [RFC8939], [RFC8938], | solution documents, such as [RFC8939], [RFC8938], | |||
[I-D.ietf-detnet-mpls-over-udp-ip], and | [I-D.ietf-detnet-mpls-over-udp-ip], and | |||
[I-D.ietf-detnet-ip-over-mpls]. | [I-D.ietf-detnet-ip-over-mpls]. | |||
7.1. Path Redundancy | 7.1. Path Redundancy | |||
Description | Description | |||
A DetNet flow that can be forwarded simultaneously over multiple | A DetNet flow that can be forwarded simultaneously over multiple | |||
paths. Path replication and elimination [RFC8655] provides | paths. Packet replication and elimination [RFC8655] provides | |||
resiliency to dropped or delayed packets. This redundancy | resiliency to dropped or delayed packets. This redundancy | |||
improves the robustness to failures and to on-path attacks. Note: | improves the robustness to failures and to on-path attacks. Note: | |||
At the time of this writing, PREOF is not defined for the IP data | At the time of this writing, PREOF is not defined for the IP data | |||
plane. | plane. | |||
Related attacks | Related attacks | |||
Path redundancy can be used to mitigate various on-path attacks, | Path redundancy can be used to mitigate various on-path attacks, | |||
including attacks described in Section 5.2.1, Section 5.2.2, | including attacks described in Section 5.2.1, Section 5.2.2, | |||
Section 5.2.3, and Section 5.2.7. However it is also possible | Section 5.2.3, and Section 5.2.7. However it is also possible | |||
skipping to change at page 24, line 12 ¶ | skipping to change at page 28, line 15 ¶ | |||
A delay modulation attack could result in extensively exercising | A delay modulation attack could result in extensively exercising | |||
parts of the code that wouldn't normally be extensively exercised | parts of the code that wouldn't normally be extensively exercised | |||
and thus might expose flaws in the system that might otherwise not | and thus might expose flaws in the system that might otherwise not | |||
be exposed. | be exposed. | |||
7.2. Integrity Protection | 7.2. Integrity Protection | |||
Description | Description | |||
Integrity Protection in the scope of DetNet is the ability to | Integrity Protection in the scope of DetNet is the ability to | |||
detect if a header has been modified (either maliciously or by | detect if a packet header has been modified (maliciously or | |||
chance) and propagate a warning to a responsible monitoring agent. | otherwise) and if so, take some appropriate action (as discussed | |||
An integrity protection mechanism is designed to counteract header | in Section 7.7). The decision on where in the network to apply | |||
modification attacks where a Message Authentication Code (MAC) is | integrity protection is part of the DetNet system design, and the | |||
the most common. The MAC can be distributed either in-line | implementation of the protection method itself is a part of a | |||
(included in the same packet) or via a side channel. Due to the | DetNet component design. | |||
nature of DetNet traffic. Note: a sideband approach may yield too | ||||
high overhead and complexity and should only be used as a very | The most common technique for detecting header modification is the | |||
last resort if in-line approaches are not viable. | use of a Message Authentication Code (MAC) (for examples see | |||
Section 9). The MAC can be distributed either in-line (included | ||||
in the same packet) or via a side channel. Of these, the in-line | ||||
method is generally preferred due to the low latency that may be | ||||
required on DetNet flows and the relative complexity and | ||||
computational overhead of a sideband approach. | ||||
There are different levels of security available for integrity | There are different levels of security available for integrity | |||
protection, ranging from the basic ability to detect if a header | protection, ranging from the basic ability to detect if a header | |||
has been corrupted in transit (no malicious attack) to stopping a | has been corrupted in transit (no malicious attack) to stopping a | |||
skilled and determined attacker capable of both subtly modifying | skilled and determined attacker capable of both subtly modifying | |||
fields in the headers as well as updating an unsigned MAC. Common | fields in the headers as well as updating an unsigned MAC. Common | |||
for all are the 2 steps that need to be performed in both ends. | for all are the 2 steps that need to be performed in both ends. | |||
The first is computing the checksum or MAC. The corresponding | The first is computing the checksum or MAC. The corresponding | |||
verification step must perform the same steps before comparing the | verification step must perform the same steps before comparing the | |||
provided with the computed value. Only then can the receiver be | provided with the computed value. Only then can the receiver be | |||
skipping to change at page 24, line 43 ¶ | skipping to change at page 28, line 51 ¶ | |||
The most basic protection mechanism consists of computing a simple | The most basic protection mechanism consists of computing a simple | |||
checksum of the header fields and provide it to the next entity in | checksum of the header fields and provide it to the next entity in | |||
the packets path for verification. Using a MAC combined with a | the packets path for verification. Using a MAC combined with a | |||
secret key provides the best protection against modification and | secret key provides the best protection against modification and | |||
replication attacks (see Section 5.2.2 and Section 5.2.4). This | replication attacks (see Section 5.2.2 and Section 5.2.4). This | |||
MAC usage needs to be part of a security association that is | MAC usage needs to be part of a security association that is | |||
established and managed by a security association protocol (such | established and managed by a security association protocol (such | |||
as IKEv2 for IPsec security associations). Integrity protection | as IKEv2 for IPsec security associations). Integrity protection | |||
in the controller plane is discussed in Section 7.6. The secret | in the controller plane is discussed in Section 7.6. The secret | |||
key, regardless of MAC used, must be protected from falling into | key, regardless of MAC used, must be protected from falling into | |||
the hands of unauthorized users. | the hands of unauthorized users. Once key management becomes a | |||
topic, it is important to understand that this is a delicate | ||||
process and should not be undertaken lightly. BCP 107 [RFC4107] | ||||
provides best practices in this regard. | ||||
DetNet system- and/or component- level designers need to be aware | DetNet system and/or component designers need to be aware of these | |||
of these distinctions and enforce appropriate integrity protection | distinctions and enforce appropriate integrity protection | |||
mechanisms as needed based on a threat analysis. Note that adding | mechanisms as needed based on a threat analysis. Note that adding | |||
integrity protection mechanisms may introduce latency, thus many | integrity protection mechanisms may introduce latency, thus many | |||
of the same considerations in Section 7.5.1 also apply here. | of the same considerations in Section 7.5.1 also apply here. | |||
Packet Sequence Number Integrity Considerations | Packet Sequence Number Integrity Considerations | |||
The use of PREOF in a DetNet implementation implies the use of a | The use of PREOF in a DetNet implementation implies the use of a | |||
sequence number for each packet. There is a trust relationship | sequence number for each packet. There is a trust relationship | |||
between the component that adds the sequence number and the | between the component that adds the sequence number and the | |||
component that removes the sequence number. The sequence number | component that removes the sequence number. The sequence number | |||
may be end-to-end source to destination, or may be added/deleted | may be end-to-end source to destination, or may be added/deleted | |||
by network edge components. The adder and remover(s) have the | by network edge components. The adder and remover(s) have the | |||
trust relationship because they are the ones that ensure that the | trust relationship because they are the ones that ensure that the | |||
sequence numbers are not modifiable. Thus, sequence numbers can | sequence numbers are not modifiable. Thus, sequence numbers can | |||
be protected by using encryption, or by a MAC without using | be protected by using authenticated encryption, or by a MAC | |||
encryption. Between the adder and remover there may or may not be | without using encryption. Between the adder and remover there may | |||
replication and elimination functions. The elimination functions | or may not be replication and elimination functions. The | |||
must be able to see the sequence numbers. Therefore, if | elimination functions must be able to see the sequence numbers. | |||
encryption is done between adders and removers it must not obscure | Therefore, if encryption is done between adders and removers it | |||
the sequence number. If the sequence removers and the eliminators | must not obscure the sequence number. If the sequence removers | |||
are in the same physical component, it may be possible to obscure | and the eliminators are in the same physical component, it may be | |||
the sequence number, however that is a layer violation, and is not | possible to obscure the sequence number, however that is a layer | |||
recommended practice. Note: At the time of this writing, PREOF is | violation, and is not recommended practice. Note: At the time of | |||
not defined for the IP data plane. | this writing, PREOF is not defined for the IP data plane. | |||
Related attacks | Related attacks | |||
Integrity protection mitigates attacks related to modification and | Integrity protection mitigates attacks related to modification and | |||
tampering, including the attacks described in Section 5.2.2 and | tampering, including the attacks described in Section 5.2.2 and | |||
Section 5.2.4. | Section 5.2.4. | |||
7.3. DetNet Node Authentication | 7.3. DetNet Node Authentication | |||
Description | Description | |||
Authentication verifies the identity of DetNet nodes (including | Authentication verifies the identity of DetNet nodes (including | |||
DetNet Controller Plane nodes), and this enables mitigation of | DetNet Controller Plane nodes), and this enables mitigation of | |||
spoofing attacks. While integrity protection ( Section 7.2) | spoofing attacks. While integrity protection ( Section 7.2) | |||
prevents intermediate nodes from modifying information, | prevents intermediate nodes from modifying information, | |||
authentication (such as IPsec [RFC4301] or MACsec | authentication can provide traffic origin verification, i.e. to | |||
[IEEE802.1AE-2018]) can provide traffic origin verification, i.e. | verify that each packet in a DetNet flow is from a known source. | |||
to verify that each packet in a DetNet flow is from a known | Although node authentication and integrity protection are two | |||
source. | different goals of a security protocol, in most cases a common | |||
protocol (such as IPsec [RFC4301] or MACsec [IEEE802.1AE-2018]) is | ||||
used for achieving both purposes. | ||||
Related attacks | Related attacks | |||
DetNet node authentication is used to mitigate attacks related to | DetNet node authentication is used to mitigate attacks related to | |||
spoofing, including the attacks of Section 5.2.2, and | spoofing, including the attacks of Section 5.2.2, and | |||
Section 5.2.4. | Section 5.2.4. | |||
7.4. Dummy Traffic Insertion | 7.4. Dummy Traffic Insertion | |||
Description | Description | |||
With some queueing methods such as [IEEE802.1Qch-2017] it is | With some queueing methods such as [IEEE802.1Qch-2017] it is | |||
possible to introduce dummy traffic in order to regularize the | possible to introduce dummy traffic in order to regularize the | |||
timing of packet transmission. | timing of packet transmission. This will subsequently reduce the | |||
value of passive monitoring from internal threats (see Section 5) | ||||
as it will be much more difficult to associate discrete events | ||||
with particular network packets. | ||||
Related attacks | Related attacks | |||
Removing distinctive temporal properties of individual packets or | Removing distinctive temporal properties of individual packets or | |||
flows can be used to mitigate against reconnaissance attacks | flows can be used to mitigate against reconnaissance attacks | |||
Section 5.2.6. For example, dummy traffic can be used to | Section 5.2.6. For example, dummy traffic can be used to | |||
synthetically maintain constant traffic rate even when no user | synthetically maintain constant traffic rate even when no user | |||
data is transmitted, thus making it difficult to collect | data is transmitted, thus making it difficult to collect | |||
information about the times at which users are active, and the | information about the times at which users are active, and the | |||
times at which DETNET flows are added or removed. | times at which DetNet flows are added or removed. | |||
Traffic Insertion Challenges | ||||
Once an attacker is able to monitor the frames traversing a | ||||
network to such a degree that they can differentiate between best- | ||||
effort traffic and traffic belonging to a specific DetNet flow, it | ||||
becomes difficult to not reveal to the attacker whether a given | ||||
frame is valid traffic or an inserted frame. Thus, having the | ||||
DetNet components generate and remove the dummy traffic may or may | ||||
not be a viable option, unless certain challenges are solved; for | ||||
example, but not limited to: | ||||
o Inserted traffic must be indistinguishable from valid stream | ||||
traffic from the viewpoint of the attacker. | ||||
o DetNet components must be able to safely identify and remove all | ||||
inserted traffic (and only inserted traffic). | ||||
o The controller plane must manage where to insert and remove dummy | ||||
traffic, but this information must not be revealed to an attacker. | ||||
An alternative design is to have the insertion and removal of | ||||
dummy traffic be performed at the application layer, rather than | ||||
by the DetNet itself. Further discussions and reading about how | ||||
sRTP handles this can be found in [RFC6562] | ||||
7.5. Encryption | 7.5. Encryption | |||
Description | Description | |||
Reconnaissance attacks (Section 5.2.6) can be mitigated by using | Reconnaissance attacks (Section 5.2.6) can be mitigated to some | |||
encryption. Specific encryption protocols will depend on the | extent through the use of encryption, thereby preventing the | |||
lower layers that DetNet is forwarded over. For example, IP flows | attacker from accessing the packet header or contents. Specific | |||
may be forwarded over IPsec [RFC4301], and Ethernet flows may be | encryption protocols will depend on the lower layers that DetNet | |||
secured using MACsec [IEEE802.1AE-2018]. | is forwarded over. For example, IP flows may be forwarded over | |||
IPsec [RFC4301], and Ethernet flows may be secured using MACsec | ||||
[IEEE802.1AE-2018]. | ||||
However, despite the use of encryption, a reconnaissance attack | ||||
can provide the attacker with insight into the network, even | ||||
without visibility into the packet. For example, an attacker can | ||||
observe which nodes are communicating with which other nodes, | ||||
including when, how often, and with how much data. In addition, | ||||
the timing of packets may be correlated in time with external | ||||
events such as action of an external device. Such information may | ||||
be used by the attacker, for example in mapping out specific | ||||
targets for a different type of attack at a different time. | ||||
DetNet nodes do not have any need to inspect the payload of any | DetNet nodes do not have any need to inspect the payload of any | |||
DetNet packets, making them data-agnostic. This means that end- | DetNet packets, making them data-agnostic. This means that end- | |||
to-end encryption at the application layer is an acceptable way to | to-end encryption at the application layer is an acceptable way to | |||
protect user data. | protect user data. | |||
Note that reconnaissance is a threat that is not specific to | Note that reconnaissance is a threat that is not specific to | |||
DetNet flows, and therefore reconnaissance mitigation will | DetNet flows, and therefore reconnaissance mitigation will | |||
typically be analyzed and addressed by a network operator | typically be analyzed and provided by a network operator | |||
regardless of whether DetNet flows are deployed. Thus, encryption | regardless of whether DetNet flows are deployed. Thus, encryption | |||
requirements will typically not be defined in DetNet technology- | requirements will typically not be defined in DetNet technology- | |||
specific specifications, but considerations of using DetNet in | specific specifications, but considerations of using DetNet in | |||
encrypted environments will be discussed in these specifications. | encrypted environments will be discussed in these specifications. | |||
For example, Section 5.1.2.3. of [RFC8939] discusses flow | For example, Section 5.1.2.3. of [RFC8939] discusses flow | |||
identification of DetNet flows running over IPsec. | identification of DetNet flows running over IPsec. | |||
Related attacks | Related attacks | |||
As noted above, encryption can be used to mitigate reconnaissance | As noted above, encryption can be used to mitigate reconnaissance | |||
attacks ( Section 5.2.6). However, for a DetNet to provide | attacks ( Section 5.2.6). However, for a DetNet to provide | |||
differentiated quality of service on a flow-by-flow basis, the | differentiated quality of service on a flow-by-flow basis, the | |||
network must be able to identify the flows individually. This | network must be able to identify the flows individually. This | |||
implies that in a reconnaissance attack the attacker may also be | implies that in a reconnaissance attack the attacker may also be | |||
able to track individual flows to learn more about the system. | able to track individual flows to learn more about the system. | |||
7.5.1. Encryption Considerations for DetNet | 7.5.1. Encryption Considerations for DetNet | |||
Any compute time which is required for encryption and decryption | Any compute time which is required for encryption and decryption | |||
skipping to change at page 27, line 14 ¶ | skipping to change at page 32, line 17 ¶ | |||
network must be able to identify the flows individually. This | network must be able to identify the flows individually. This | |||
implies that in a reconnaissance attack the attacker may also be | implies that in a reconnaissance attack the attacker may also be | |||
able to track individual flows to learn more about the system. | able to track individual flows to learn more about the system. | |||
7.5.1. Encryption Considerations for DetNet | 7.5.1. Encryption Considerations for DetNet | |||
Any compute time which is required for encryption and decryption | Any compute time which is required for encryption and decryption | |||
processing ('crypto') must be included in the flow latency | processing ('crypto') must be included in the flow latency | |||
calculations. Thus, crypto algorithms used in a DetNet must have | calculations. Thus, crypto algorithms used in a DetNet must have | |||
bounded worst-case execution times, and these values must be used in | bounded worst-case execution times, and these values must be used in | |||
the latency calculations. | the latency calculations. Fortunately, encryption and decryption | |||
operations typically are designed to have constant execution times, | ||||
in order to avoid side channel leakage. | ||||
Some crypto algorithms are symmetric in encode/decode time (such as | Some crypto algorithms are symmetric in encode/decode time (such as | |||
AES) and others are asymmetric (such as public key algorithms). | AES) and others are asymmetric (such as public key algorithms). | |||
There are advantages and disadvantages to the use of either type in a | There are advantages and disadvantages to the use of either type in a | |||
given DetNet context. The discussion in this document relates to the | given DetNet context. The discussion in this document relates to the | |||
timing implications of crypto for DetNet; it is assumed that | timing implications of crypto for DetNet; it is assumed that | |||
integrity considerations are covered elsewhere in the literature. | integrity considerations are covered elsewhere in the literature. | |||
Asymmetrical crypto is typically not used in networks on a packet-by- | Asymmetrical crypto is typically not used in networks on a packet-by- | |||
packet basis due to its computational cost. For example, if only | packet basis due to its computational cost. For example, if only | |||
skipping to change at page 28, line 9 ¶ | skipping to change at page 33, line 14 ¶ | |||
node for every packet. However, this is more computationally | node for every packet. However, this is more computationally | |||
expensive. | expensive. | |||
In either case, origin verification also requires replay detection as | In either case, origin verification also requires replay detection as | |||
part of the security protocol to prevent an attacker from recording | part of the security protocol to prevent an attacker from recording | |||
and resending traffic, e.g., as a denial of service attack on flow | and resending traffic, e.g., as a denial of service attack on flow | |||
forwarding resources. | forwarding resources. | |||
If crypto keys are to be regenerated over the duration of the flow | If crypto keys are to be regenerated over the duration of the flow | |||
then the time required to accomplish this must be accounted for in | then the time required to accomplish this must be accounted for in | |||
the latency calculations. | the latency calculations. Unfortunately, key generation is a | |||
cryptographic operation that is frequently not possible to implement | ||||
in constant time, most notably (though not exclusively) for RSA key | ||||
pairs. | ||||
7.6. Control and Signaling Message Protection | 7.6. Control and Signaling Message Protection | |||
Description | Description | |||
Control and signaling messages can be protected through the use of | Control and signaling messages can be protected through the use of | |||
any or all of encryption, authentication, and integrity protection | any or all of encryption, authentication, and integrity protection | |||
mechanisms. | mechanisms. Compared with data-flows, the timing constraints for | |||
controller and signaling messages may be less strict, and the | ||||
number of such packets may be fewer. If that is the case in a | ||||
given application, then it may enable the use of asymmetric | ||||
cryptography for signing of both payload and headers for such | ||||
messages, as well as encrypting the payload. Given that a DetNet | ||||
is managed by a central controller, the use of a shared public key | ||||
approach for these processes is well-proven. This is further | ||||
discussed in Section 7.5.1. | ||||
Related attacks | Related attacks | |||
These mechanisms can be used to mitigate various attacks on the | These mechanisms can be used to mitigate various attacks on the | |||
controller plane, as described in Section 5.2.5, Section 5.2.7 and | controller plane, as described in Section 5.2.5, Section 5.2.7 and | |||
Section 5.2.5.1. | Section 5.2.5.1. | |||
7.7. Dynamic Performance Analytics | 7.7. Dynamic Performance Analytics | |||
Description | Description | |||
skipping to change at page 30, line 6 ¶ | skipping to change at page 35, line 26 ¶ | |||
both directions, in order to arrive at a given performance | both directions, in order to arrive at a given performance | |||
indicator value. | indicator value. | |||
Notification Mechanisms | Notification Mechanisms | |||
Making DPA measurement results available at the right place(s) and | Making DPA measurement results available at the right place(s) and | |||
time(s) to effect timely response can be challenging. Two | time(s) to effect timely response can be challenging. Two | |||
notification mechanisms that are in general use are Netconf/YANG | notification mechanisms that are in general use are Netconf/YANG | |||
Notifications (e.g. [RFC5880]) and the proprietary local | Notifications (e.g. [RFC5880]) and the proprietary local | |||
telemetry interfaces provided with components from some vendors. | telemetry interfaces provided with components from some vendors. | |||
The CoAP Observe Option ([RFC7641]) could also be relevant to such | ||||
scenarios. | ||||
At the time of this writing YANG Notifications are not addressed | At the time of this writing YANG Notifications are not addressed | |||
by the DetNet YANG drafts, however this may be a topic for future | by the DetNet YANG drafts, however this may be a topic for future | |||
work. It is possible that some of the passive mechanisms could be | work. It is possible that some of the passive mechanisms could be | |||
covered by notifications from non-DetNet-specific YANG modules; | covered by notifications from non-DetNet-specific YANG modules; | |||
for example if there is OAM or other performance monitoring that | for example if there is OAM or other performance monitoring that | |||
can monitor delay bounds then that could have its own associated | can monitor delay bounds then that could have its own associated | |||
YANG model which could be relevant to DetNet, for example some | YANG model which could be relevant to DetNet, for example some | |||
"threshold" values for timing measurement notifications. | "threshold" values for timing measurement notifications. | |||
skipping to change at page 30, line 29 ¶ | skipping to change at page 36, line 4 ¶ | |||
Working Group (rmonmib). See also [RFC6632], An Overview of the | Working Group (rmonmib). See also [RFC6632], An Overview of the | |||
IETF Network Management Standards. | IETF Network Management Standards. | |||
Vendor-specific local telemetry may be available on some | Vendor-specific local telemetry may be available on some | |||
commercially available systems, whereby the system can be | commercially available systems, whereby the system can be | |||
programmed (via a proprietary dedicated port and API) to monitor | programmed (via a proprietary dedicated port and API) to monitor | |||
and report on specific conditions, based on both passive and | and report on specific conditions, based on both passive and | |||
active measurements. | active measurements. | |||
Related attacks | Related attacks | |||
Performance analytics can be used to detect various attacks, | ||||
Performance analytics can be used to mitigate various attacks, | ||||
including the ones described in Section 5.2.1 (Delay Attack), | including the ones described in Section 5.2.1 (Delay Attack), | |||
Section 5.2.3 (Resource Segmentation Attack), and Section 5.2.7 | Section 5.2.3 (Resource Segmentation Attack), and Section 5.2.7 | |||
(Time Synchronization Attack). | (Time Synchronization Attack). Once detection and notification | |||
have occurred, the appropriate action can be taken to mitigate the | ||||
threat. | ||||
For example, in the case of data plane delay attacks, one possible | For example, in the case of data plane delay attacks, one possible | |||
mitigation is to timestamp the data at the source, and timestamp | mitigation is to timestamp the data at the source, and timestamp | |||
it again at the destination, and if the resulting latency exceeds | it again at the destination, and if the resulting latency does not | |||
the promised bound, take appropriate action. Note that DetNet | meet the service agreement, take appropriate action. Note that | |||
specifies packet sequence numbering, however it does not specify | DetNet specifies packet sequence numbering, however it does not | |||
use of packet timestamps, although they may be used by the | specify use of packet timestamps, although they may be used by the | |||
underlying transport (for example TSN, [IEEE802.1BA]) to provide | underlying transport (for example TSN, [IEEE802.1BA]) to provide | |||
the service. | the service. | |||
7.8. Mitigation Summary | 7.8. Mitigation Summary | |||
The following table maps the attacks of Section 5, Security Threats, | The following table maps the attacks of Section 5, Security Threats, | |||
to the impacts of Section 6, Security Threat Impacts, and to the | to the impacts of Section 6, Security Threat Impacts, and to the | |||
mitigations of the current section. Each row specifies an attack, | mitigations of the current section. Each row specifies an attack, | |||
the impact of this attack if it is successfully implemented, and | the impact of this attack if it is successfully implemented, and | |||
possible mitigation methods. | possible mitigation methods. | |||
skipping to change at page 31, line 30 ¶ | skipping to change at page 37, line 6 ¶ | |||
| |-Data disruption |-DetNet Node | | | |-Data disruption |-DetNet Node | | |||
| | | authentication | | | | | authentication | | |||
+----------------------+---------------------+---------------------+ | +----------------------+---------------------+---------------------+ | |||
|Inter-Segment Attack |-Increased resource |-Path redundancy | | |Inter-Segment Attack |-Increased resource |-Path redundancy | | |||
| | consumption |-Performance | | | | consumption |-Performance | | |||
| |-Data disruption | analytics | | | |-Data disruption | analytics | | |||
+----------------------+---------------------+---------------------+ | +----------------------+---------------------+---------------------+ | |||
|Replication: Increased|-All impacts of other|-Integrity protection| | |Replication: Increased|-All impacts of other|-Integrity protection| | |||
|attack surface | attacks |-DetNet Node | | |attack surface | attacks |-DetNet Node | | |||
| | | authentication | | | | | authentication | | |||
| | |-Encryption | | ||||
+----------------------+---------------------+---------------------+ | +----------------------+---------------------+---------------------+ | |||
|Replication-related |-Non-deterministic |-Integrity protection| | |Replication-related |-Non-deterministic |-Integrity protection| | |||
|Header Manipulation | delay |-DetNet Node | | |Header Manipulation | delay |-DetNet Node | | |||
| |-Data disruption | authentication | | | |-Data disruption | authentication | | |||
+----------------------+---------------------+---------------------+ | +----------------------+---------------------+---------------------+ | |||
|Path Manipulation |-Enabler for other |-Control message | | |Path Manipulation |-Enabler for other |-Control and | | |||
| | attacks | protection | | | | attacks | signaling message | | |||
| | | protection | | ||||
+----------------------+---------------------+---------------------+ | +----------------------+---------------------+---------------------+ | |||
|Path Choice: Increased|-All impacts of other|-Control message | | |Path Choice: Increased|-All impacts of other|-Control and | | |||
|Attack Surface | attacks | protection | | |Attack Surface | attacks | signaling message | | |||
| | | protection | | ||||
+----------------------+---------------------+---------------------+ | +----------------------+---------------------+---------------------+ | |||
|Control or Signaling |-Increased resource |-Control message | | |Control or Signaling |-Increased resource |-Control and | | |||
|Packet Modification | consumption | protection | | |Packet Modification | consumption | signaling message | | |||
| |-Non-deterministic | | | | |-Non-deterministic | protection | | |||
| | delay | | | | | delay | | | |||
| |-Data disruption | | | | |-Data disruption | | | |||
+----------------------+---------------------+---------------------+ | +----------------------+---------------------+---------------------+ | |||
|Control or Signaling |-Increased resource |-Control message | | |Control or Signaling |-Increased resource |-Control and | | |||
|Packet Injection | consumption | protection | | |Packet Injection | consumption | signaling message | | |||
| |-Non-deterministic | | | | |-Non-deterministic | protection | | |||
| | delay | | | | | delay | | | |||
| |-Data disruption | | | | |-Data disruption | | | |||
+----------------------+---------------------+---------------------+ | +----------------------+---------------------+---------------------+ | |||
|Attacks on Time |-Non-deterministic |-Path redundancy | | |Attacks on Time |-Non-deterministic |-Path redundancy | | |||
|Synchronization | delay |-Control message | | |Synchronization | delay |-Control and | | |||
|Mechanisms |-Increased resource | protection | | |Mechanisms |-Increased resource | signaling message | | |||
| | consumption |-Performance | | | | consumption | protection | | |||
| |-Data disruption | analytics | | | |-Data disruption |-Performance | | |||
| | | analytics | | ||||
+----------------------+---------------------+---------------------+ | +----------------------+---------------------+---------------------+ | |||
Figure 3: Mapping Attacks to Impact and Mitigations | Figure 3: Mapping Attacks to Impact and Mitigations | |||
8. Association of Attacks to Use Cases | 8. Association of Attacks to Use Cases | |||
Different attacks can have different impact and/or mitigation | Different attacks can have different impact and/or mitigation | |||
depending on the use case, so we would like to make this association | depending on the use case, so we would like to make this association | |||
in our analysis. However since there is a potentially unbounded list | in our analysis. However since there is a potentially unbounded list | |||
of use cases, we categorize the attacks with respect to the common | of use cases, we categorize the attacks with respect to the common | |||
skipping to change at page 33, line 16 ¶ | skipping to change at page 38, line 44 ¶ | |||
A DetNet network can be controlled by a centralized network | A DetNet network can be controlled by a centralized network | |||
configuration and control system. Such a system may be in a single | configuration and control system. Such a system may be in a single | |||
central location, or it may be distributed across multiple control | central location, or it may be distributed across multiple control | |||
entities that function together as a unified control system for the | entities that function together as a unified control system for the | |||
network. | network. | |||
All attacks named in this document which are relevant to controller | All attacks named in this document which are relevant to controller | |||
plane packets (and the controller itself) are relevant to this theme, | plane packets (and the controller itself) are relevant to this theme, | |||
including Path Manipulation, Path Choice, Control Packet Modification | including Path Manipulation, Path Choice, Control Packet Modification | |||
or Injection, Reconaissance and Attacks on Time Synchronization | or Injection, Reconnaissance and Attacks on Time Synchronization | |||
Mechanisms. | Mechanisms. | |||
8.1.3. Hot Swap | 8.1.3. Hot Swap | |||
A DetNet network is not expected to be "plug and play" - it is | A DetNet network is not expected to be "plug and play" - it is | |||
expected that there is some centralized network configuration and | expected that there is some centralized network configuration and | |||
control system. However, the ability to "hot swap" components (e.g. | control system. However, the ability to "hot swap" components (e.g. | |||
due to malfunction) is similar enough to "plug and play" that this | due to malfunction) is similar enough to "plug and play" that this | |||
kind of behavior may be expected in DetNet networks, depending on the | kind of behavior may be expected in DetNet networks, depending on the | |||
implementation. | implementation. | |||
skipping to change at page 33, line 45 ¶ | skipping to change at page 39, line 24 ¶ | |||
This implies that an attack such as Flow Modification, Spoofing or | This implies that an attack such as Flow Modification, Spoofing or | |||
Inter-segment (which could introduce packets from a "new" component, | Inter-segment (which could introduce packets from a "new" component, | |||
i.e. one heretofore unknown on the network) could be used to exploit | i.e. one heretofore unknown on the network) could be used to exploit | |||
the need to consider such packets (as opposed to rejecting them out | the need to consider such packets (as opposed to rejecting them out | |||
of hand as one would do if one did not have to consider introduction | of hand as one would do if one did not have to consider introduction | |||
of a new component). | of a new component). | |||
To mitigate this situation, deployments should provide a method for | To mitigate this situation, deployments should provide a method for | |||
dynamic and secure registration of new components, and (possibly | dynamic and secure registration of new components, and (possibly | |||
manual) deregistration of retired components. This would avoid the | manual) deregistration and re-keying of retired components. This | |||
situation in which the network must accommodate potentially insecure | would avoid the situation in which the network must accommodate | |||
packet flows from unknown components. | potentially insecure packet flows from unknown components. | |||
Similarly if the network was designed to support runtime replacement | Similarly if the network was designed to support runtime replacement | |||
of a clock component, then presence (or apparent presence) and thus | of a clock component, then presence (or apparent presence) and thus | |||
consideration of packets from a new such component could affect the | consideration of packets from a new such component could affect the | |||
network, or the time synchronization of the network, for example by | network, or the time synchronization of the network, for example by | |||
initiating a new Best Master Clock selection process. These types of | initiating a new Best Master Clock selection process. These types of | |||
attacks should therefore be considered when designing hot swap type | attacks should therefore be considered when designing hot swap type | |||
functionality (see [RFC7384]). | functionality (see [RFC7384]). | |||
8.1.4. Data Flow Information Models | 8.1.4. Data Flow Information Models | |||
DetNet specifies new YANG models which may present new attack | DetNet specifies new YANG models ([I-D.ietf-detnet-yang])which may | |||
surfaces. Per IETF guidelines, security considerations for any YANG | present new attack surfaces. Per IETF guidelines, security | |||
model are expected to be part of the YANG model specification, as | considerations for any YANG model are expected to be part of the YANG | |||
described in [IETF_YANG_SEC]. | model specification, as described in [IETF_YANG_SEC]. | |||
8.1.5. L2 and L3 Integration | 8.1.5. L2 and L3 Integration | |||
A DetNet network integrates Layer 2 (bridged) networks (e.g. AVB/TSN | A DetNet network integrates Layer 2 (bridged) networks (e.g. AVB/TSN | |||
LAN) and Layer 3 (routed) networks (e.g. IP) via the use of well- | LAN) and Layer 3 (routed) networks (e.g. IP) via the use of well- | |||
known protocols such as IP, MPLS Pseudowire, and Ethernet. Various | known protocols such as IP, MPLS Pseudowire, and Ethernet. Various | |||
DetNet drafts address many specific aspects of Layer 2 and Layer 3 | DetNet drafts address many specific aspects of Layer 2 and Layer 3 | |||
integration within a DetNet, and these are not individually | integration within a DetNet, and these are not individually | |||
referenced here; security considerations for those aspects are | referenced here; security considerations for those aspects are | |||
covered within those drafts or within the related subsections of the | covered within those drafts or within the related subsections of the | |||
present document. | present document. | |||
Please note that although there are no entries in the L2 and L3 | Please note that although there are no entries in the L2 and L3 | |||
Integration line of the Mapping Between Themes and Attacks table | Integration line of the Mapping Between Themes and Attacks table | |||
Figure 4, this does not imply that there could be no relevant attacks | Figure 4, this does not imply that there could be no relevant attacks | |||
related to L2-L3 integration. | related to L2-L3 integration. | |||
8.1.6. End-to-End Delivery | 8.1.6. End-to-End Delivery | |||
Packets sent over DetNet are not to be dropped by the network due to | Packets that are part of a resource-reserved DetNet flow are not to | |||
congestion. (Packets may however intentionally be dropped for | be dropped by the DetNet due to congestion. Packets may however be | |||
intended reasons, e.g. per security measures). | dropped for intended reasons, for example security measures. For | |||
example, consider the case in which a packet becomes corrupted | ||||
(whether incidentally or maliciously) such that the resulting flow ID | ||||
incidentally matches the flow ID of another DetNet flow, potentially | ||||
resulting in additional unauthorized traffic on the latter. In such | ||||
a case it may be a security requirement that the system report and/or | ||||
take some defined action, perhaps when a packet drop count threshold | ||||
has been reached (see also Section 7.7). | ||||
A data plane attack may force packets to be dropped, for example a | A data plane attack may force packets to be dropped, for example as a | |||
"long" Delay or Replication/Elimination or Flow Modification attack. | result of a Delay attack, Replication/Elimination attack, or Flow | |||
Modification attack. | ||||
The same result might be obtained by a controller plane attack, e.g. | The same result might be obtained by a controller plane attack, e.g. | |||
Path Manipulation or Signaling Packet Modification. | Path Manipulation or Signaling Packet Modification. | |||
It may be that such attacks are limited to Internal on-path | ||||
attackers, but other possibilities should be considered. | ||||
An attack may also cause packets that should not be delivered to be | An attack may also cause packets that should not be delivered to be | |||
delivered, such as by forcing packets from one (e.g. replicated) path | delivered, such as by forcing packets from one (e.g. replicated) path | |||
to be preferred over another path when they should not be | to be preferred over another path when they should not be | |||
(Replication attack), or by Flow Modification, or by Path Choice or | (Replication attack), or by Flow Modification, or by Path Choice or | |||
Packet Injection. A Time Synchronization attack could cause a system | Packet Injection. A Time Synchronization attack could cause a system | |||
that was expecting certain packets at certain times to accept | that was expecting certain packets at certain times to accept | |||
unintended packets based on compromised system time or time windowing | unintended packets based on compromised system time or time windowing | |||
in the scheduler. | in the scheduler. | |||
8.1.7. Replacement for Proprietary Fieldbuses and Ethernet-based | 8.1.7. Replacement for Proprietary Fieldbuses and Ethernet-based | |||
skipping to change at page 35, line 34 ¶ | skipping to change at page 41, line 21 ¶ | |||
8.1.8. Deterministic vs Best-Effort Traffic | 8.1.8. Deterministic vs Best-Effort Traffic | |||
Most of the themes described in this document address OT (reserved) | Most of the themes described in this document address OT (reserved) | |||
DetNet flows - this item is intended to address issues related to IT | DetNet flows - this item is intended to address issues related to IT | |||
traffic on a DetNet. | traffic on a DetNet. | |||
DetNet is intended to support coexistence of time-sensitive | DetNet is intended to support coexistence of time-sensitive | |||
operational (OT, deterministic) traffic and information (IT, "best | operational (OT, deterministic) traffic and information (IT, "best | |||
effort") traffic on the same ("unified") network. | effort") traffic on the same ("unified") network. | |||
With DetNet, this coexistance will become more common, and | With DetNet, this coexistence will become more common, and | |||
mitigations will need to be established. The fact that the IT | mitigations will need to be established. The fact that the IT | |||
traffic on a DetNet is limited to a corporate controlled network | traffic on a DetNet is limited to a corporate controlled network | |||
makes this a less difficult problem compared to being exposed to the | makes this a less difficult problem compared to being exposed to the | |||
open Internet, however this aspect of DetNet security should not be | open Internet, however this aspect of DetNet security should not be | |||
underestimated. | underestimated. | |||
An Inter-segment attack can flood the network with IT-type traffic | An Inter-segment attack can flood the network with IT-type traffic | |||
with the intent of disrupting handling of IT traffic, and/or the goal | with the intent of disrupting handling of IT traffic, and/or the goal | |||
of interfering with OT traffic. Presumably if the DetNet flow | of interfering with OT traffic. Presumably if the DetNet flow | |||
reservation and isolation of the DetNet is well-designed (better- | reservation and isolation of the DetNet is well-designed (better- | |||
designed than the attack) then interference with OT traffic should | designed than the attack) then interference with OT traffic should | |||
not result from an attack that floods the network with IT traffic. | not result from an attack that floods the network with IT traffic. | |||
However the handling of IT traffic by the DetNet may not (by design) | The handling of IT traffic (i.e. traffic which by definition is not | |||
be as resilient to DOS attack, and thus designers must be otherwise | guaranteed any given deterministic service properties) by the DetNet | |||
prepared to mitigate DOS attacks on IT traffic in a DetNet. | will by definition not be given the DetNet-specific protections | |||
provided to DetNet (resource-reserved) flows. The implication is | ||||
that the IT traffic on the DetNet network will necessarily have its | ||||
own specific set of product (component or system) requirements for | ||||
protection against attacks such as DOS; presumably they will be less | ||||
stringent than those for OT flows, but nonetheless component and | ||||
system designers must employ whatever mitigations will meet the | ||||
specified security requirements for IT traffic for the given | ||||
component or DetNet. | ||||
The network design as a whole also needs to consider possible | The network design as a whole also needs to consider possible | |||
application-level dependencies of "OT"-type applications on services | application-level dependencies of "OT"-type applications on services | |||
provided by the "IT part" of the network; for example, does the OT | provided by the "IT part" of the network; for example, does the OT | |||
application depend on IT network services such as DNS or OAM? If | application depend on IT network services such as DNS or OAM? If | |||
such dependencies exist, how are malicious packet flows handled? | such dependencies exist, how are malicious packet flows handled? | |||
Such considerations are typically outside the scope of DetNet proper, | Such considerations are typically outside the scope of DetNet proper, | |||
but nonetheless need to be addressed in the overall DetNet network | but nonetheless need to be addressed in the overall DetNet network | |||
design for a given use case. | design for a given use case. | |||
skipping to change at page 36, line 34 ¶ | skipping to change at page 42, line 27 ¶ | |||
A Flow Modification or Spoofing or Header Manipulation or Control | A Flow Modification or Spoofing or Header Manipulation or Control | |||
Packet Modification attack could cause packets from one flow to be | Packet Modification attack could cause packets from one flow to be | |||
directed to another flow, thus breaching isolation between the flows. | directed to another flow, thus breaching isolation between the flows. | |||
8.1.10. Unused Reserved Bandwidth | 8.1.10. Unused Reserved Bandwidth | |||
If bandwidth reservations are made for a DetNet flow but the | If bandwidth reservations are made for a DetNet flow but the | |||
associated bandwidth is not used at any point in time, that bandwidth | associated bandwidth is not used at any point in time, that bandwidth | |||
is made available on the network for best-effort traffic. However, | is made available on the network for best-effort traffic. However, | |||
note that security considerations for best-effort traffic on a DetNet | note that security considerations for best-effort traffic on a DetNet | |||
network is out of scope of the present document, provided that such | network is out of scope of the present document, provided that any | |||
an attack does not affect performance for DetNet OT traffic. | such attacks on best-effort traffic do not affect performance for | |||
DetNet OT traffic. | ||||
8.1.11. Interoperability | 8.1.11. Interoperability | |||
The DetNet network specifications are intended to enable an ecosystem | The DetNet specifications as a whole are intended to enable an | |||
in which multiple vendors can create interoperable products, thus | ecosystem in which multiple vendors can create interoperable | |||
promoting component diversity and potentially higher numbers of each | products, thus promoting component diversity and potentially higher | |||
component manufactured. | numbers of each component manufactured. Toward that end, the | |||
security measures and protocols discussed in this document are | ||||
The security mechanisms and protocols that are discussed in this | intended to encourage interoperability. | |||
document also require interoperability. It is expected that DETNET | ||||
network specifications that define security measures and protocols | ||||
will be defined in a way that allows interoperability. | ||||
Given that the DetNet specifications are unambiguously written and | Given that the DetNet specifications are unambiguously written and | |||
that the implementations are accurate, then this should not in and of | that the implementations are accurate, the property of | |||
itself cause a security concern; however, in the real world, it could | interoperability should not in and of itself cause security concerns; | |||
be. The network operator can mitigate this through sufficient | however, flaws in interoperability between components could result in | |||
interoperability testing. | security weaknesses. The network operator as well as system and | |||
component designer can all contribute to reducing such weaknesses | ||||
through interoperability testing. | ||||
8.1.12. Cost Reductions | 8.1.12. Cost Reductions | |||
The DetNet network specifications are intended to enable an ecosystem | The DetNet network specifications are intended to enable an ecosystem | |||
in which multiple vendors can create interoperable products, thus | in which multiple vendors can create interoperable products, thus | |||
promoting higher numbers of each component manufactured, promoting | promoting higher numbers of each component manufactured, promoting | |||
cost reduction and cost competition among vendors. | cost reduction and cost competition among vendors. | |||
This envisioned breadth of DetNet-enabled products is in general a | This envisioned breadth of DetNet-enabled products is in general a | |||
positive factor, however implementation flaws in any individual | positive factor, however implementation flaws in any individual | |||
skipping to change at page 37, line 33 ¶ | skipping to change at page 43, line 31 ¶ | |||
8.1.13. Insufficiently Secure Components | 8.1.13. Insufficiently Secure Components | |||
The DetNet network specifications are intended to enable an ecosystem | The DetNet network specifications are intended to enable an ecosystem | |||
in which multiple vendors can create interoperable products, thus | in which multiple vendors can create interoperable products, thus | |||
promoting component diversity and potentially higher numbers of each | promoting component diversity and potentially higher numbers of each | |||
component manufactured. However this raises the possibility that a | component manufactured. However this raises the possibility that a | |||
vendor might repurpose for DetNet applications a hardware or software | vendor might repurpose for DetNet applications a hardware or software | |||
component that was originally designed for operation in an isolated | component that was originally designed for operation in an isolated | |||
OT network, and thus may not have been designed to be sufficiently | OT network, and thus may not have been designed to be sufficiently | |||
secure, or secure at all. Deployment of such a component on a DetNet | secure, or secure at all, against the sorts of attacks described in | |||
network that is intended to be highly secure may present an attack | this document. Deployment of such a component on a DetNet network | |||
surface. | that is intended to be highly secure may present an attack surface; | |||
thus the DetNet network operator may need to take specific actions to | ||||
The DetNet network operator may need to take specific actions to | protect such components, for example by implementing a secure | |||
protect such components, such as implementing a dedicated security | interface (such as a firewall) to isolate the component from the | |||
layer around the component. | threats that may be present in the greater network. | |||
8.1.14. DetNet Network Size | 8.1.14. DetNet Network Size | |||
DetNet networks range in size from very small, e.g. inside a single | DetNet networks range in size from very small, e.g. inside a single | |||
industrial machine, to very large, for example a Utility Grid network | industrial machine, to very large, for example a Utility Grid network | |||
spanning a whole country. | spanning a whole country. | |||
The size of the network might be related to how the attack is | The size of the network might be related to how the attack is | |||
introduced into the network, for example if the entire network is | introduced into the network, for example if the entire network is | |||
local, there is a threat that power can be cut to the entire network. | local, there is a threat that power can be cut to the entire network. | |||
skipping to change at page 38, line 20 ¶ | skipping to change at page 44, line 17 ¶ | |||
presenting a larger attack surface. Similarly Path Manipulation, | presenting a larger attack surface. Similarly Path Manipulation, | |||
Path Choice and Time Synchronization attacks seem more likely | Path Choice and Time Synchronization attacks seem more likely | |||
relevant to large networks. | relevant to large networks. | |||
8.1.15. Multiple Hops | 8.1.15. Multiple Hops | |||
Large DetNet networks (e.g. a Utility Grid network) may involve many | Large DetNet networks (e.g. a Utility Grid network) may involve many | |||
"hops" over various kinds of links for example radio repeaters, | "hops" over various kinds of links for example radio repeaters, | |||
microwave links, fiber optic links, etc. | microwave links, fiber optic links, etc. | |||
An attack that takes advantage of flaws (or even normal operation) in | An attacker who has knowledge of the operation of a component or | |||
the device drivers for the various links (through internal knowledge | device's internal software (such as "device drivers") may be able to | |||
of how the individual driver or firmware operates) could take | take advantage of this knowledge to design an attack that could | |||
proportionately greater advantage of this topology. | exploit flaws (or even the specifics of normal operation) in the | |||
communication between the various links. | ||||
It is also possible that this DetNet topology will not be in as | It is also possible that a large scale DetNet topology containing | |||
common use as other more homogeneous topologies so there may be more | various kinds of links may not be in as common use as other more | |||
opportunity for attackers to exploit software and/or protocol flaws | homogeneous topologies. This situation may present more opportunity | |||
in the implementations which have not been tested through extensive | for attackers to exploit software and/or protocol flaws in or between | |||
use, particularly in the case of early adopters. | these components, because these components or configurations may not | |||
have been sufficiently tested for interoperability (in the way they | ||||
would be as a result of broad usage). This may be of particular | ||||
concern to early adopters of new DetNet components or technologies. | ||||
Of the attacks we have defined, the ones identified in Section 8.1.14 | Of the attacks we have defined, the ones identified in Section 8.1.14 | |||
as germane to large networks are the most relevant. | as germane to large networks are the most relevant. | |||
8.1.16. Level of Service | 8.1.16. Level of Service | |||
A DetNet is expected to provide means to configure the network that | A DetNet is expected to provide means to configure the network that | |||
include querying network path latency, requesting bounded latency for | include querying network path latency, requesting bounded latency for | |||
a given DetNet flow, requesting worst case maximum and/or minimum | a given DetNet flow, requesting worst case maximum and/or minimum | |||
latency for a given path or DetNet flow, and so on. It is an | latency for a given path or DetNet flow, and so on. It is an | |||
skipping to change at page 40, line 34 ¶ | skipping to change at page 46, line 34 ¶ | |||
lesser degree defeats the purpose of associating attacks with use | lesser degree defeats the purpose of associating attacks with use | |||
cases. It also underscores the difficulty of designing "extremely | cases. It also underscores the difficulty of designing "extremely | |||
high reliability" networks. | high reliability" networks. | |||
In practice, network designers can adopt a risk-based approach, in | In practice, network designers can adopt a risk-based approach, in | |||
which only those attacks are mitigated whose potential cost is higher | which only those attacks are mitigated whose potential cost is higher | |||
than the cost of mitigation. | than the cost of mitigation. | |||
8.1.22. Redundant Paths | 8.1.22. Redundant Paths | |||
DetNet based systems are expected to be implemented with essentially | This document expects that each DetNet system will be implemented to | |||
arbitrarily high reliability/availability. A strategy used by DetNet | some essentially arbitrary level of reliability and/or availability, | |||
for providing such extraordinarily high levels of reliability is to | depending on the use case. A strategy used by DetNet for providing | |||
provide redundant paths that can be seamlessly switched between, all | extraordinarily high levels of reliability when justified is to | |||
the while maintaining the required performance of that system. | provide redundant paths between which traffic can be seamlessly | |||
switched, all the while maintaining the required performance of that | ||||
system. | ||||
Replication-related attacks are by definition applicable here. | Replication-related attacks are by definition applicable here. | |||
Controller plane attacks can also interfere with the configuration of | Controller plane attacks can also interfere with the configuration of | |||
redundant paths. | redundant paths. | |||
8.1.23. Security Measures | 8.1.23. Security Measures | |||
A DetNet network must be made sufficiently secure against problematic | If any of the security mechanisms which protect the DetNet are | |||
component or traffic behavior, whether malicious or incidental, and | attacked or subverted, this can result in malfunction of the network. | |||
whether affecting a single component or multiple components. If any | Thus the security systems themselves needs to be robust against | |||
of the security mechanisms which protect the DetNet from such | attacks. | |||
problems are attacked or subverted, this can result in malfunction of | ||||
the network. Thus the design of the security system itself needs to | ||||
be robust against attacks. | ||||
The general topic of protection of security mechanisms is not unique | The general topic of protection of security mechanisms is not unique | |||
to DetNet; it is identical to the case of securing any security | to DetNet; it is identical to the case of securing any security | |||
mechanism for any network. This document addresses these concerns | mechanism for any network. This document addresses these concerns | |||
only to the extent that they are unique to DetNet. | only to the extent that they are unique to DetNet. | |||
8.2. Summary of Attack Types per Use Case Common Theme | 8.2. Summary of Attack Types per Use Case Common Theme | |||
The List of Attacks table Figure 4 lists the attacks of Section 5, | The List of Attacks table Figure 4 lists the attacks of Section 5, | |||
Security Threats, assigning a number to each type of attack. That | Security Threats, assigning a number to each type of attack. That | |||
skipping to change at page 41, line 45 ¶ | skipping to change at page 47, line 45 ¶ | |||
+----+-------------------------------------------+ | +----+-------------------------------------------+ | |||
| 9 |Control or Signaling Packet Injection | | | 9 |Control or Signaling Packet Injection | | |||
+----+-------------------------------------------+ | +----+-------------------------------------------+ | |||
| 10 |Reconnaissance | | | 10 |Reconnaissance | | |||
+----+-------------------------------------------+ | +----+-------------------------------------------+ | |||
| 11 |Attacks on Time Synchronization Mechanisms | | | 11 |Attacks on Time Synchronization Mechanisms | | |||
+----+-------------------------------------------+ | +----+-------------------------------------------+ | |||
Figure 4: List of Attacks | Figure 4: List of Attacks | |||
The Mapping Between Themes and Attacks table Figure 5maps the use | The Mapping Between Themes and Attacks table Figure 5 maps the use | |||
case themes of [RFC8578] (as also enumerated in this document) to the | case themes of [RFC8578] (as also enumerated in this document) to the | |||
attacks of Figure 4. Each row specifies a theme, and the attacks | attacks of Figure 4. Each row specifies a theme, and the attacks | |||
relevant to this theme are marked with a '+'. The row items which | relevant to this theme are marked with a '+'. The row items which | |||
have no threats associated with them are included in the table for | have no threats associated with them are included in the table for | |||
completeness of the list of Use Case Common Themes, and do not have | completeness of the list of Use Case Common Themes, and do not have | |||
DetNet-specific threats associated with them. | DetNet-specific threats associated with them. | |||
+----------------------------+--------------------------------+ | +----------------------------+--------------------------------+ | |||
| Theme | Attack | | | Theme | Attack | | |||
| +--+--+--+--+--+--+--+--+--+--+--+ | | +--+--+--+--+--+--+--+--+--+--+--+ | |||
skipping to change at page 42, line 31 ¶ | skipping to change at page 48, line 31 ¶ | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Proprietary Deterministic | | | +| | | +| +| +| +| | | | |Proprietary Deterministic | | | +| | | +| +| +| +| | | | |||
|Ethernet Networks | | | | | | | | | | | | | |Ethernet Networks | | | | | | | | | | | | | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Replacement for Proprietary | | | +| | | +| +| +| +| | | | |Replacement for Proprietary | | | +| | | +| +| +| +| | | | |||
|Fieldbuses | | | | | | | | | | | | | |Fieldbuses | | | | | | | | | | | | | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Deterministic vs. Best- | | | +| | | | | | | | | | |Deterministic vs. Best- | | | +| | | | | | | | | | |||
|Effort Traffic | | | | | | | | | | | | | |Effort Traffic | | | | | | | | | | | | | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Deterministic Flows | | +| +| | +| +| | +| | | | | |Deterministic Flows | +| +| +| | +| +| | +| | | | | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Unused Reserved Bandwidth | | +| +| | | | | +| +| | | | |Unused Reserved Bandwidth | | +| +| | | | | +| +| | | | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Interoperability | | | | | | | | | | | | | |Interoperability | | | | | | | | | | | | | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Cost Reductions | | | | | | | | | | | | | |Cost Reductions | | | | | | | | | | | | | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Insufficiently Secure | | | | | | | | | | | | | |Insufficiently Secure | | | | | | | | | | | | | |||
|Components | | | | | | | | | | | | | |Components | | | | | | | | | | | | | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|DetNet Network Size | +| | | | | +| +| | | | +| | |DetNet Network Size | +| | | | | +| +| | | | +| | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Multiple Hops | +| +| | | | +| +| | | | +| | |Multiple Hops | +| +| | | | +| +| | | | +| | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Level of Service | | | | | | | | +| +| +| | | |Level of Service | | | | | | | | +| +| +| | | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Bounded Latency | +| | | | | | | | | | +| | |Bounded Latency | +| | | | | | | | | | +| | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Low Latency | +| | | | | | | +| +| +| +| | |Low Latency | +| | | | | | | +| +| | +| | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Bounded Jitter | +| | | | | | | | | | | | |Bounded Jitter | +| | | | | | | | | | | | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Symmetric Path Delays | +| | | | | | | | | | +| | |Symmetric Path Delays | +| | | | | | | | | | +| | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Reliability and Availability| +| +| +| +| +| +| +| +| +| +| +| | |Reliability and Availability| +| +| +| +| +| +| +| +| +| +| +| | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Redundant Paths | | | | +| +| | | +| +| | | | |Redundant Paths | | | | +| +| | | +| +| | | | |||
+----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | +----------------------------+--+--+--+--+--+--+--+--+--+--+--+ | |||
|Security Measures | | | | | | | | | | | | | |Security Measures | | | | | | | | | | | | | |||
skipping to change at page 44, line 32 ¶ | skipping to change at page 50, line 32 ¶ | |||
However, if the DetNet nodes cannot decrypt IPsec traffic, then | However, if the DetNet nodes cannot decrypt IPsec traffic, then | |||
DetNet flow identification for encrypted IP traffic flows must be | DetNet flow identification for encrypted IP traffic flows must be | |||
performed in a different way than it would be for unencrypted IP | performed in a different way than it would be for unencrypted IP | |||
DetNet flows. The DetNet IP Data Plane identifies unencrypted flows | DetNet flows. The DetNet IP Data Plane identifies unencrypted flows | |||
via a 6-tuple that consists of two IP addresses, the transport | via a 6-tuple that consists of two IP addresses, the transport | |||
protocol ID, two transport protocol port numbers and the DSCP in the | protocol ID, two transport protocol port numbers and the DSCP in the | |||
IP header. When IPsec is used, the transport header is encrypted and | IP header. When IPsec is used, the transport header is encrypted and | |||
the next protocol ID is an IPsec protocol, usually ESP, and not a | the next protocol ID is an IPsec protocol, usually ESP, and not a | |||
transport protocol, leaving only three components of the 6-tuple, | transport protocol, leaving only three components of the 6-tuple, | |||
which are the two IP addresses and the DSCP. Identification of | which are the two IP addresses and the DSCP. If the IPsec sessions | |||
DetNet flows over IPsec is further discussed in Section 5.1.2.3. of | are established by a controller, then this controller could also | |||
[RFC8939]. | transmit (in the clear) the Security Parameter Index (SPI) and thus | |||
the SPI could be used (in addition to the pair of IP addresses) for | ||||
flow identification. Identification of DetNet flows over IPsec is | ||||
further discussed in Section 5.1.2.3. of [RFC8939]. | ||||
Sections below discuss threats specific to IP and MPLS in more | Sections below discuss threats specific to IP and MPLS in more | |||
detail. | detail. | |||
9.1. IP | 9.1. IP | |||
The IP protocol has a long history of security considerations and | The IP protocol has a long history of security considerations and | |||
architectural protection mechanisms. From a data plane perspective | architectural protection mechanisms. From a data plane perspective | |||
DetNet does not add or modify any IP header information, so the | DetNet does not add or modify any IP header information, so the | |||
carriage of DetNet traffic over an IP data plane does not introduce | carriage of DetNet traffic over an IP data plane does not introduce | |||
skipping to change at page 46, line 8 ¶ | skipping to change at page 52, line 13 ¶ | |||
operation of DetNet over some types of MPLS network. | operation of DetNet over some types of MPLS network. | |||
[RFC5921] introduces to MPLS new Operations, Administration, and | [RFC5921] introduces to MPLS new Operations, Administration, and | |||
Maintenance (OAM) capabilities, a transport-oriented path protection | Maintenance (OAM) capabilities, a transport-oriented path protection | |||
mechanism, and strong emphasis on static provisioning supported by | mechanism, and strong emphasis on static provisioning supported by | |||
network management systems. | network management systems. | |||
The operation of DetNet over an MPLS network is modeled on the | The operation of DetNet over an MPLS network is modeled on the | |||
operation of multi-segment pseudowires (MS-PW). Thus for guidance on | operation of multi-segment pseudowires (MS-PW). Thus for guidance on | |||
securing the DetNet elements of DetNet over MPLS the reader is | securing the DetNet elements of DetNet over MPLS the reader is | |||
referred to the MS-PW security mechanisms as defined in [RFC8077], | referred to the security considerations of [RFC8077], [RFC3931], | |||
[RFC3931], [RFC3985], [RFC6073], and [RFC6478]. | [RFC3985], [RFC6073], and [RFC6478]. | |||
Having attended to the conventional aspects of network security it is | Having attended to the conventional aspects of network security it is | |||
necessary to attend to the dynamic aspects. The closest experience | necessary to attend to the dynamic aspects. The closest experience | |||
that the IETF has with securing protocols that are sensitive to | that the IETF has with securing protocols that are sensitive to | |||
manipulation of delay are the two way time transfer protocols (TWTT), | manipulation of delay are the two way time transfer protocols (TWTT), | |||
which are NTP [RFC5905] and Precision Time Protocol [IEEE1588]. The | which are NTP [RFC5905] and Precision Time Protocol [IEEE1588]. The | |||
security requirements for these are described in [RFC7384]. | security requirements for these are described in [RFC7384]. | |||
One particular problem that has been observed in operational tests of | One particular problem that has been observed in operational tests of | |||
TWTT protocols is the ability for two closely but not completely | TWTT protocols is the ability for two closely but not completely | |||
synchronized flows to beat and cause a sudden phase hit to one of the | synchronized flows to beat and cause a sudden phase hit to one of the | |||
flows. This can be mitigated by the careful use of a scheduling | flows. This can be mitigated by the careful use of a scheduling | |||
system in the underlying packet transport. | system in the underlying packet transport. | |||
Further consideration of protection against dynamic attacks is work | Some investigations into protection of MPLS systems against dynamic | |||
in progress. New work on MPLS security may also be applicable, for | attacks exist, such as [I-D.ietf-mpls-opportunistic-encrypt]; perhaps | |||
example [I-D.ietf-mpls-opportunistic-encrypt]. | deployment of DetNets will encourage additional such investigations. | |||
10. IANA Considerations | 10. IANA Considerations | |||
This document includes no requests from IANA. | This document includes no requests from IANA. | |||
11. Security Considerations | 11. Security Considerations | |||
The security considerations of DetNet networks are presented | The security considerations of DetNet networks are presented | |||
throughout this document. | throughout this document. | |||
12. Privacy Considerations | 12. Privacy Considerations | |||
Privacy in the context of DetNet is maintained by the base | Privacy in the context of DetNet is maintained by the base | |||
technologies specific to the DetNet and user traffic. For example | technologies specific to the DetNet and user traffic. For example | |||
TSN can use MACsec, IP can use IPsec, applications can use IP | TSN can use MACsec, IP can use IPsec, applications can use IP | |||
transport protocol-provided methods e.g. TLS and DTLS. MPLS | transport protocol-provided methods e.g. TLS and DTLS. MPLS | |||
typically uses L2/L3 VPNs combined with the previously mentioned | typically uses L2/L3 VPNs combined with the previously mentioned | |||
privacy methods. | privacy methods. | |||
However, note that reconnaissance threats such as traffic analysis | ||||
and monitoring of electrical side channels can still cause there to | ||||
be privacy considerations even when traffic is encrypted. | ||||
13. Contributors | 13. Contributors | |||
The Editor would like to recognize the contributions of the following | The Editor would like to recognize the contributions of the following | |||
individuals to this draft. | individuals to this draft. | |||
Subir Das (Applied Communication Sciences) | Subir Das (Applied Communication Sciences) | |||
150 Mount Airy Road, Basking Ridge, New Jersey, 07920, USA | 150 Mount Airy Road, Basking Ridge, New Jersey, 07920, USA | |||
email sdas@appcomsci.com | email sdas@appcomsci.com | |||
John Dowdell (Airbus Defence and Space) | John Dowdell (Airbus Defence and Space) | |||
skipping to change at page 48, line 13 ¶ | skipping to change at page 54, line 23 ¶ | |||
<https://www.rfc-editor.org/info/rfc8939>. | <https://www.rfc-editor.org/info/rfc8939>. | |||
14.2. Informative References | 14.2. Informative References | |||
[ARINC664P7] | [ARINC664P7] | |||
ARINC, "ARINC 664 Aircraft Data Network, Part 7, Avionics | ARINC, "ARINC 664 Aircraft Data Network, Part 7, Avionics | |||
Full-Duplex Switched Ethernet Network", 2009. | Full-Duplex Switched Ethernet Network", 2009. | |||
[I-D.ietf-detnet-flow-information-model] | [I-D.ietf-detnet-flow-information-model] | |||
Varga, B., Farkas, J., Cummings, R., Jiang, Y., and D. | Varga, B., Farkas, J., Cummings, R., Jiang, Y., and D. | |||
Fedyk, "DetNet Flow Information Model", draft-ietf-detnet- | Fedyk, "DetNet Flow and Service Information Model", draft- | |||
flow-information-model-12 (work in progress), December | ietf-detnet-flow-information-model-14 (work in progress), | |||
2020. | January 2021. | |||
[I-D.ietf-detnet-ip-oam] | [I-D.ietf-detnet-ip-oam] | |||
Mirsky, G., Chen, M., and D. Black, "Operations, | Mirsky, G., Chen, M., and D. Black, "Operations, | |||
Administration and Maintenance (OAM) for Deterministic | Administration and Maintenance (OAM) for Deterministic | |||
Networks (DetNet) with IP Data Plane", draft-ietf-detnet- | Networks (DetNet) with IP Data Plane", draft-ietf-detnet- | |||
ip-oam-00 (work in progress), September 2020. | ip-oam-01 (work in progress), January 2021. | |||
[I-D.ietf-detnet-ip-over-mpls] | [I-D.ietf-detnet-ip-over-mpls] | |||
Varga, B., Berger, L., Fedyk, D., Bryant, S., and J. | Varga, B., Berger, L., Fedyk, D., Bryant, S., and J. | |||
Korhonen, "DetNet Data Plane: IP over MPLS", draft-ietf- | Korhonen, "DetNet Data Plane: IP over MPLS", draft-ietf- | |||
detnet-ip-over-mpls-09 (work in progress), October 2020. | detnet-ip-over-mpls-09 (work in progress), October 2020. | |||
[I-D.ietf-detnet-ip-over-tsn] | [I-D.ietf-detnet-ip-over-tsn] | |||
Varga, B., Farkas, J., Malis, A., and S. Bryant, "DetNet | Varga, B., Farkas, J., Malis, A., and S. Bryant, "DetNet | |||
Data Plane: IP over IEEE 802.1 Time Sensitive Networking | Data Plane: IP over IEEE 802.1 Time Sensitive Networking | |||
(TSN)", draft-ietf-detnet-ip-over-tsn-04 (work in | (TSN)", draft-ietf-detnet-ip-over-tsn-05 (work in | |||
progress), November 2020. | progress), December 2020. | |||
[I-D.ietf-detnet-mpls-oam] | [I-D.ietf-detnet-mpls-oam] | |||
Mirsky, G. and M. Chen, "Operations, Administration and | Mirsky, G. and M. Chen, "Operations, Administration and | |||
Maintenance (OAM) for Deterministic Networks (DetNet) with | Maintenance (OAM) for Deterministic Networks (DetNet) with | |||
MPLS Data Plane", draft-ietf-detnet-mpls-oam-01 (work in | MPLS Data Plane", draft-ietf-detnet-mpls-oam-02 (work in | |||
progress), July 2020. | progress), January 2021. | |||
[I-D.ietf-detnet-mpls-over-udp-ip] | [I-D.ietf-detnet-mpls-over-udp-ip] | |||
Varga, B., Farkas, J., Berger, L., Malis, A., and S. | Varga, B., Farkas, J., Berger, L., Malis, A., and S. | |||
Bryant, "DetNet Data Plane: MPLS over UDP/IP", draft-ietf- | Bryant, "DetNet Data Plane: MPLS over UDP/IP", draft-ietf- | |||
detnet-mpls-over-udp-ip-07 (work in progress), October | detnet-mpls-over-udp-ip-08 (work in progress), December | |||
2020. | 2020. | |||
[I-D.ietf-detnet-yang] | ||||
Geng, X., Chen, M., Ryoo, Y., Fedyk, D., Rahman, R., and | ||||
Z. Li, "Deterministic Networking (DetNet) Configuration | ||||
YANG Model", draft-ietf-detnet-yang-09 (work in progress), | ||||
November 2020. | ||||
[I-D.ietf-ipsecme-g-ikev2] | [I-D.ietf-ipsecme-g-ikev2] | |||
Smyslov, V. and B. Weis, "Group Key Management using | Smyslov, V. and B. Weis, "Group Key Management using | |||
IKEv2", draft-ietf-ipsecme-g-ikev2-01 (work in progress), | IKEv2", draft-ietf-ipsecme-g-ikev2-02 (work in progress), | |||
July 2020. | January 2021. | |||
[I-D.ietf-mpls-opportunistic-encrypt] | [I-D.ietf-mpls-opportunistic-encrypt] | |||
Farrel, A. and S. Farrell, "Opportunistic Security in MPLS | Farrel, A. and S. Farrell, "Opportunistic Security in MPLS | |||
Networks", draft-ietf-mpls-opportunistic-encrypt-03 (work | Networks", draft-ietf-mpls-opportunistic-encrypt-03 (work | |||
in progress), March 2017. | in progress), March 2017. | |||
[I-D.varga-detnet-service-model] | [I-D.varga-detnet-service-model] | |||
Varga, B. and J. Farkas, "DetNet Service Model", draft- | Varga, B. and J. Farkas, "DetNet Service Model", draft- | |||
varga-detnet-service-model-02 (work in progress), May | varga-detnet-service-model-02 (work in progress), May | |||
2017. | 2017. | |||
skipping to change at page 50, line 37 ¶ | skipping to change at page 57, line 5 ¶ | |||
[RFC3931] Lau, J., Ed., Townsley, M., Ed., and I. Goyret, Ed., | [RFC3931] Lau, J., Ed., Townsley, M., Ed., and I. Goyret, Ed., | |||
"Layer Two Tunneling Protocol - Version 3 (L2TPv3)", | "Layer Two Tunneling Protocol - Version 3 (L2TPv3)", | |||
RFC 3931, DOI 10.17487/RFC3931, March 2005, | RFC 3931, DOI 10.17487/RFC3931, March 2005, | |||
<https://www.rfc-editor.org/info/rfc3931>. | <https://www.rfc-editor.org/info/rfc3931>. | |||
[RFC3985] Bryant, S., Ed. and P. Pate, Ed., "Pseudo Wire Emulation | [RFC3985] Bryant, S., Ed. and P. Pate, Ed., "Pseudo Wire Emulation | |||
Edge-to-Edge (PWE3) Architecture", RFC 3985, | Edge-to-Edge (PWE3) Architecture", RFC 3985, | |||
DOI 10.17487/RFC3985, March 2005, | DOI 10.17487/RFC3985, March 2005, | |||
<https://www.rfc-editor.org/info/rfc3985>. | <https://www.rfc-editor.org/info/rfc3985>. | |||
[RFC4107] Bellovin, S. and R. Housley, "Guidelines for Cryptographic | ||||
Key Management", BCP 107, RFC 4107, DOI 10.17487/RFC4107, | ||||
June 2005, <https://www.rfc-editor.org/info/rfc4107>. | ||||
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the | [RFC4301] Kent, S. and K. Seo, "Security Architecture for the | |||
Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, | Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, | |||
December 2005, <https://www.rfc-editor.org/info/rfc4301>. | December 2005, <https://www.rfc-editor.org/info/rfc4301>. | |||
[RFC4302] Kent, S., "IP Authentication Header", RFC 4302, | ||||
DOI 10.17487/RFC4302, December 2005, | ||||
<https://www.rfc-editor.org/info/rfc4302>. | ||||
[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | |||
(BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, | (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, | |||
<https://www.rfc-editor.org/info/rfc5880>. | <https://www.rfc-editor.org/info/rfc5880>. | |||
[RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, | [RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, | |||
"Network Time Protocol Version 4: Protocol and Algorithms | "Network Time Protocol Version 4: Protocol and Algorithms | |||
Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, | Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, | |||
<https://www.rfc-editor.org/info/rfc5905>. | <https://www.rfc-editor.org/info/rfc5905>. | |||
[RFC5920] Fang, L., Ed., "Security Framework for MPLS and GMPLS | [RFC5920] Fang, L., Ed., "Security Framework for MPLS and GMPLS | |||
skipping to change at page 51, line 29 ¶ | skipping to change at page 58, line 5 ¶ | |||
[RFC6274] Gont, F., "Security Assessment of the Internet Protocol | [RFC6274] Gont, F., "Security Assessment of the Internet Protocol | |||
Version 4", RFC 6274, DOI 10.17487/RFC6274, July 2011, | Version 4", RFC 6274, DOI 10.17487/RFC6274, July 2011, | |||
<https://www.rfc-editor.org/info/rfc6274>. | <https://www.rfc-editor.org/info/rfc6274>. | |||
[RFC6478] Martini, L., Swallow, G., Heron, G., and M. Bocci, | [RFC6478] Martini, L., Swallow, G., Heron, G., and M. Bocci, | |||
"Pseudowire Status for Static Pseudowires", RFC 6478, | "Pseudowire Status for Static Pseudowires", RFC 6478, | |||
DOI 10.17487/RFC6478, May 2012, | DOI 10.17487/RFC6478, May 2012, | |||
<https://www.rfc-editor.org/info/rfc6478>. | <https://www.rfc-editor.org/info/rfc6478>. | |||
[RFC6562] Perkins, C. and JM. Valin, "Guidelines for the Use of | ||||
Variable Bit Rate Audio with Secure RTP", RFC 6562, | ||||
DOI 10.17487/RFC6562, March 2012, | ||||
<https://www.rfc-editor.org/info/rfc6562>. | ||||
[RFC6632] Ersue, M., Ed. and B. Claise, "An Overview of the IETF | [RFC6632] Ersue, M., Ed. and B. Claise, "An Overview of the IETF | |||
Network Management Standards", RFC 6632, | Network Management Standards", RFC 6632, | |||
DOI 10.17487/RFC6632, June 2012, | DOI 10.17487/RFC6632, June 2012, | |||
<https://www.rfc-editor.org/info/rfc6632>. | <https://www.rfc-editor.org/info/rfc6632>. | |||
[RFC6941] Fang, L., Ed., Niven-Jenkins, B., Ed., Mansfield, S., Ed., | [RFC6941] Fang, L., Ed., Niven-Jenkins, B., Ed., Mansfield, S., Ed., | |||
and R. Graveman, Ed., "MPLS Transport Profile (MPLS-TP) | and R. Graveman, Ed., "MPLS Transport Profile (MPLS-TP) | |||
Security Framework", RFC 6941, DOI 10.17487/RFC6941, April | Security Framework", RFC 6941, DOI 10.17487/RFC6941, April | |||
2013, <https://www.rfc-editor.org/info/rfc6941>. | 2013, <https://www.rfc-editor.org/info/rfc6941>. | |||
[RFC7384] Mizrahi, T., "Security Requirements of Time Protocols in | [RFC7384] Mizrahi, T., "Security Requirements of Time Protocols in | |||
Packet Switched Networks", RFC 7384, DOI 10.17487/RFC7384, | Packet Switched Networks", RFC 7384, DOI 10.17487/RFC7384, | |||
October 2014, <https://www.rfc-editor.org/info/rfc7384>. | October 2014, <https://www.rfc-editor.org/info/rfc7384>. | |||
[RFC7567] Baker, F., Ed. and G. Fairhurst, Ed., "IETF | [RFC7567] Baker, F., Ed. and G. Fairhurst, Ed., "IETF | |||
Recommendations Regarding Active Queue Management", | Recommendations Regarding Active Queue Management", | |||
BCP 197, RFC 7567, DOI 10.17487/RFC7567, July 2015, | BCP 197, RFC 7567, DOI 10.17487/RFC7567, July 2015, | |||
<https://www.rfc-editor.org/info/rfc7567>. | <https://www.rfc-editor.org/info/rfc7567>. | |||
[RFC7641] Hartke, K., "Observing Resources in the Constrained | ||||
Application Protocol (CoAP)", RFC 7641, | ||||
DOI 10.17487/RFC7641, September 2015, | ||||
<https://www.rfc-editor.org/info/rfc7641>. | ||||
[RFC7835] Saucez, D., Iannone, L., and O. Bonaventure, "Locator/ID | [RFC7835] Saucez, D., Iannone, L., and O. Bonaventure, "Locator/ID | |||
Separation Protocol (LISP) Threat Analysis", RFC 7835, | Separation Protocol (LISP) Threat Analysis", RFC 7835, | |||
DOI 10.17487/RFC7835, April 2016, | DOI 10.17487/RFC7835, April 2016, | |||
<https://www.rfc-editor.org/info/rfc7835>. | <https://www.rfc-editor.org/info/rfc7835>. | |||
[RFC8077] Martini, L., Ed. and G. Heron, Ed., "Pseudowire Setup and | [RFC8077] Martini, L., Ed. and G. Heron, Ed., "Pseudowire Setup and | |||
Maintenance Using the Label Distribution Protocol (LDP)", | Maintenance Using the Label Distribution Protocol (LDP)", | |||
STD 84, RFC 8077, DOI 10.17487/RFC8077, February 2017, | STD 84, RFC 8077, DOI 10.17487/RFC8077, February 2017, | |||
<https://www.rfc-editor.org/info/rfc8077>. | <https://www.rfc-editor.org/info/rfc8077>. | |||
skipping to change at page 52, line 44 ¶ | skipping to change at line 2742 ¶ | |||
Huawei Network.IO Innovation Lab | Huawei Network.IO Innovation Lab | |||
Email: tal.mizrahi.phd@gmail.com | Email: tal.mizrahi.phd@gmail.com | |||
Andrew J. Hacker | Andrew J. Hacker | |||
MistIQ Technologies, Inc | MistIQ Technologies, Inc | |||
Harrisburg, PA | Harrisburg, PA | |||
USA | USA | |||
Email: ajhacker@mistiqtech.com | Email: ajhacker@mistiqtech.com | |||
URI: http://www.mistiqtech.com | ||||
End of changes. 129 change blocks. | ||||
463 lines changed or deleted | 771 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |