draft-ietf-dtn-bpsec-19.txt   draft-ietf-dtn-bpsec-20.txt 
Delay-Tolerant Networking E. Birrane Delay-Tolerant Networking E. Birrane
Internet-Draft K. McKeever Internet-Draft K. McKeever
Intended status: Standards Track JHU/APL Intended status: Standards Track JHU/APL
Expires: August 10, 2020 February 7, 2020 Expires: August 10, 2020 February 7, 2020
Bundle Protocol Security Specification Bundle Protocol Security Specification
draft-ietf-dtn-bpsec-19 draft-ietf-dtn-bpsec-20
Abstract Abstract
This document defines a security protocol providing data integrity This document defines a security protocol providing data integrity
and confidentiality services for the Bundle Protocol. and confidentiality services for the Bundle Protocol.
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
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
skipping to change at page 2, line 32 skipping to change at page 2, line 32
3.4. Target Identification . . . . . . . . . . . . . . . . . . 12 3.4. Target Identification . . . . . . . . . . . . . . . . . . 12
3.5. Block Representation . . . . . . . . . . . . . . . . . . 12 3.5. Block Representation . . . . . . . . . . . . . . . . . . 12
3.6. Abstract Security Block . . . . . . . . . . . . . . . . . 12 3.6. Abstract Security Block . . . . . . . . . . . . . . . . . 12
3.7. Block Integrity Block . . . . . . . . . . . . . . . . . . 15 3.7. Block Integrity Block . . . . . . . . . . . . . . . . . . 15
3.8. Block Confidentiality Block . . . . . . . . . . . . . . . 16 3.8. Block Confidentiality Block . . . . . . . . . . . . . . . 16
3.9. Block Interactions . . . . . . . . . . . . . . . . . . . 17 3.9. Block Interactions . . . . . . . . . . . . . . . . . . . 17
3.10. Parameter and Result Identification . . . . . . . . . . . 18 3.10. Parameter and Result Identification . . . . . . . . . . . 18
3.11. BSP Block Examples . . . . . . . . . . . . . . . . . . . 19 3.11. BSP Block Examples . . . . . . . . . . . . . . . . . . . 19
3.11.1. Example 1: Constructing a Bundle with Security . . . 19 3.11.1. Example 1: Constructing a Bundle with Security . . . 19
3.11.2. Example 2: Adding More Security At A New Node . . . 20 3.11.2. Example 2: Adding More Security At A New Node . . . 20
4. Canonical Forms . . . . . . . . . . . . . . . . . . . . . . . 20 4. Canonical Forms . . . . . . . . . . . . . . . . . . . . . . . 22
5. Security Processing . . . . . . . . . . . . . . . . . . . . . 21 5. Security Processing . . . . . . . . . . . . . . . . . . . . . 23
5.1. Bundles Received from Other Nodes . . . . . . . . . . . . 22 5.1. Bundles Received from Other Nodes . . . . . . . . . . . . 23
5.1.1. Receiving BCBs . . . . . . . . . . . . . . . . . . . 22 5.1.1. Receiving BCBs . . . . . . . . . . . . . . . . . . . 23
5.1.2. Receiving BIBs . . . . . . . . . . . . . . . . . . . 23 5.1.2. Receiving BIBs . . . . . . . . . . . . . . . . . . . 24
5.2. Bundle Fragmentation and Reassembly . . . . . . . . . . . 24 5.2. Bundle Fragmentation and Reassembly . . . . . . . . . . . 25
6. Key Management . . . . . . . . . . . . . . . . . . . . . . . 24 6. Key Management . . . . . . . . . . . . . . . . . . . . . . . 25
7. Security Policy Considerations . . . . . . . . . . . . . . . 24 7. Security Policy Considerations . . . . . . . . . . . . . . . 25
8. Security Considerations . . . . . . . . . . . . . . . . . . . 26 8. Security Considerations . . . . . . . . . . . . . . . . . . . 27
8.1. Attacker Capabilities and Objectives . . . . . . . . . . 26 8.1. Attacker Capabilities and Objectives . . . . . . . . . . 27
8.2. Attacker Behaviors and BPSec Mitigations . . . . . . . . 27 8.2. Attacker Behaviors and BPSec Mitigations . . . . . . . . 28
8.2.1. Eavesdropping Attacks . . . . . . . . . . . . . . . . 27 8.2.1. Eavesdropping Attacks . . . . . . . . . . . . . . . . 28
8.2.2. Modification Attacks . . . . . . . . . . . . . . . . 28 8.2.2. Modification Attacks . . . . . . . . . . . . . . . . 29
8.2.3. Topology Attacks . . . . . . . . . . . . . . . . . . 29 8.2.3. Topology Attacks . . . . . . . . . . . . . . . . . . 30
8.2.4. Message Injection . . . . . . . . . . . . . . . . . . 30 8.2.4. Message Injection . . . . . . . . . . . . . . . . . . 31
9. Security Context Considerations . . . . . . . . . . . . . . . 30 9. Security Context Considerations . . . . . . . . . . . . . . . 31
9.1. Mandating Security Contexts . . . . . . . . . . . . . . . 30 9.1. Mandating Security Contexts . . . . . . . . . . . . . . . 31
9.2. Identification and Configuration . . . . . . . . . . . . 31 9.2. Identification and Configuration . . . . . . . . . . . . 32
9.3. Authorship . . . . . . . . . . . . . . . . . . . . . . . 32 9.3. Authorship . . . . . . . . . . . . . . . . . . . . . . . 33
10. Defining Other Security Blocks . . . . . . . . . . . . . . . 33 10. Defining Other Security Blocks . . . . . . . . . . . . . . . 34
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 35
11.1. Bundle Block Types . . . . . . . . . . . . . . . . . . . 34 11.1. Bundle Block Types . . . . . . . . . . . . . . . . . . . 36
11.2. Security Context Identifiers . . . . . . . . . . . . . . 35 11.2. Security Context Identifiers . . . . . . . . . . . . . . 36
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 35 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 36
12.1. Normative References . . . . . . . . . . . . . . . . . . 35 12.1. Normative References . . . . . . . . . . . . . . . . . . 36
12.2. Informative References . . . . . . . . . . . . . . . . . 36 12.2. Informative References . . . . . . . . . . . . . . . . . 37
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 36 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 38
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 38
1. Introduction 1. Introduction
This document defines security features for the Bundle Protocol (BP) This document defines security features for the Bundle Protocol (BP)
[I-D.ietf-dtn-bpbis] and is intended for use in Delay Tolerant [I-D.ietf-dtn-bpbis] and is intended for use in Delay Tolerant
Networks (DTNs) to provide security services between a security Networks (DTNs) to provide security services between a security
source and a security acceptor. When the security source is the source and a security acceptor. When the security source is the
bundle source and when the security acceptor is the bundle bundle source and when the security acceptor is the bundle
destination, the security service provides end-to-end protection. destination, the security service provides end-to-end protection.
skipping to change at page 14, line 32 skipping to change at page 14, line 32
in Section 3.10. in Section 3.10.
* Parameter Value. This field captures the value associated * Parameter Value. This field captures the value associated
with this parameter. This field SHALL be represented by the with this parameter. This field SHALL be represented by the
applicable CBOR representation of the parameter, in applicable CBOR representation of the parameter, in
accordance with Section 3.10. accordance with Section 3.10.
The logical layout of the parameters array is illustrated in The logical layout of the parameters array is illustrated in
Figure 1. Figure 1.
+----------------+----------------+ +----------------+
| Parameter 1 | Parameter 2 | ... | Parameter N |
+------+---------+------+---------+ +------+---------+
| Id | Value | Id | Value | | Id | Value |
+------+---------+------+---------+ +------+---------+
Figure 1: Security Context Parameters Figure 1: Security Context Parameters
Security Results: Security Results:
This field captures the results of applying a security service This field captures the results of applying a security service
to the security targets of the security block. This field to the security targets of the security block. This field
SHALL be represented as a CBOR array of target results. Each SHALL be represented as a CBOR array of target results. Each
entry in this array represents the set of security results for entry in this array represents the set of security results for
a specific security target. The target results MUST be ordered a specific security target. The target results MUST be ordered
identically to the Security Targets field of the security identically to the Security Targets field of the security
block. This means that the first set of target results in this block. This means that the first set of target results in this
skipping to change at page 15, line 23 skipping to change at page 15, line 28
* Result Value. This field captures the value associated with * Result Value. This field captures the value associated with
the result. This field SHALL be represented by the the result. This field SHALL be represented by the
applicable CBOR representation of the result value, in applicable CBOR representation of the result value, in
accordance with Section 3.10. accordance with Section 3.10.
The logical layout of the security results array is illustrated The logical layout of the security results array is illustrated
in Figure 2. In this figure there are N security targets for in Figure 2. In this figure there are N security targets for
this security block. The first security target contains M this security block. The first security target contains M
results and the Nth security target contains K results. results and the Nth security target contains K results.
+------------------------------+ +------------------------------+
| Target 1 | | Target N |
+------------+----+------------+ +------------------------------+
| Result 1 | | Result M | ... | Result 1 | | Result K |
+----+-------+ .. +----+-------+ +----+-------+ .. +----+-------+
| Id | Value | | Id | Value | | Id | Value | | Id | Value |
+----+-------+ +----+-------+ +----+-------+ +----+-------+
Figure 2: Security Results Figure 2: Security Results
3.7. Block Integrity Block 3.7. Block Integrity Block
A BIB is a bundle extension block with the following characteristics. A BIB is a bundle extension block with the following characteristics.
The Block Type Code value is as specified in Section 11.1. The Block Type Code value is as specified in Section 11.1.
The block-type-specific-data field follows the structure of the The block-type-specific-data field follows the structure of the
ASB. ASB.
skipping to change at page 19, line 27 skipping to change at page 19, line 33
In this example a bundle has four non-security-related blocks: the In this example a bundle has four non-security-related blocks: the
primary block (B1), two extension blocks (B4,B5), and a payload block primary block (B1), two extension blocks (B4,B5), and a payload block
(B6). The bundle source wishes to provide an integrity signature of (B6). The bundle source wishes to provide an integrity signature of
the plain text associated with the primary block, the second the plain text associated with the primary block, the second
extension block, and the payload. The bundle source also wishes to extension block, and the payload. The bundle source also wishes to
provide confidentiality for the first extension block. The resultant provide confidentiality for the first extension block. The resultant
bundle is illustrated in Figure 3 and the security actions are bundle is illustrated in Figure 3 and the security actions are
described below. described below.
Block in Bundle ID
+======================================+====+
| Primary Block | B1 |
+--------------------------------------+----+
| BIB | B2 |
| OP(integrity, targets=B1, B5, B6) | |
+--------------------------------------+----+
| BCB | B3 |
| OP(confidentiality, target=B4) | |
+--------------------------------------+----+
| Extension Block (encrypted) | B4 |
+--------------------------------------+----+
| Extension Block | B5 |
+--------------------------------------+----+
| Payload Block | B6 |
+--------------------------------------+----+
Figure 3: Security at Bundle Creation Figure 3: Security at Bundle Creation
The following security actions were applied to this bundle at its The following security actions were applied to this bundle at its
time of creation. time of creation.
o An integrity signature applied to the canonical form of the o An integrity signature applied to the canonical form of the
primary block (B1), the canonical form of the block-type-specific- primary block (B1), the canonical form of the block-type-specific-
data field of the second extension block (B5) and the canonical data field of the second extension block (B5) and the canonical
form of the payload block (B6). This is accomplished by a single form of the payload block (B6). This is accomplished by a single
BIB (B2) with multiple targets. A single BIB is used in this case BIB (B2) with multiple targets. A single BIB is used in this case
skipping to change at page 20, line 19 skipping to change at page 21, line 5
extension block and the bundle payload. The waypoint security policy extension block and the bundle payload. The waypoint security policy
is to allow existing BIBs for these blocks to persist, as they may be is to allow existing BIBs for these blocks to persist, as they may be
required as part of the security policy at the bundle destination. required as part of the security policy at the bundle destination.
The resultant bundle is illustrated in Figure 4 and the security The resultant bundle is illustrated in Figure 4 and the security
actions are described below. Note that block IDs provided here are actions are described below. Note that block IDs provided here are
ordered solely for the purpose of this example and not meant to ordered solely for the purpose of this example and not meant to
impose an ordering for block creation. The ordering of blocks added impose an ordering for block creation. The ordering of blocks added
to a bundle MUST always be in compliance with [I-D.ietf-dtn-bpbis]. to a bundle MUST always be in compliance with [I-D.ietf-dtn-bpbis].
Block in Bundle ID
+======================================+====+
| Primary Block | B1 |
+--------------------------------------+----+
| BIB | B2 |
| OP(integrity, targets=B1) | |
+--------------------------------------+----+
| BIB (encrypted) | B7 |
| OP(integrity, targets=B5, B6) | |
+--------------------------------------+----+
| BCB | B8 |
| OP(confidentiality, target=B5,B6,B7) | |
+--------------------------------------+----+
| BCB | B3 |
| OP(confidentiality, target=B4) | |
+--------------------------------------+----+
| Extension Block (encrypted) | B4 |
+--------------------------------------+----+
| Extension Block (encrypted) | B5 |
+--------------------------------------+----+
| Payload Block (encrypted) | B6 |
+--------------------------------------+----+
Figure 4: Security At Bundle Forwarding Figure 4: Security At Bundle Forwarding
The following security actions were applied to this bundle prior to The following security actions were applied to this bundle prior to
its forwarding from the waypoint node. its forwarding from the waypoint node.
o Since the waypoint node wishes to encrypt the block-type-specific- o Since the waypoint node wishes to encrypt the block-type-specific-
data field of blocks B5 and B6, it MUST also encrypt the block- data field of blocks B5 and B6, it MUST also encrypt the block-
type-specific-data field of the BIBs providing plain text type-specific-data field of the BIBs providing plain text
integrity over those blocks. However, BIB B2 could not be integrity over those blocks. However, BIB B2 could not be
encrypted in its entirety because it also held a signature for the encrypted in its entirety because it also held a signature for the
skipping to change at page 31, line 42 skipping to change at page 33, line 16
+---------+------------+--------------------------------------------+ +---------+------------+--------------------------------------------+
| Context | Parameters | Definition | | Context | Parameters | Definition |
| Id | | | | Id | | |
+---------+------------+--------------------------------------------+ +---------+------------+--------------------------------------------+
| 1 | Encrypted | AES-GCM-256 cipher suite with provided | | 1 | Encrypted | AES-GCM-256 cipher suite with provided |
| | Key, IV | ephemeral key encrypted with a | | | Key, IV | ephemeral key encrypted with a |
| | | predetermined key encryption key and clear | | | | predetermined key encryption key and clear |
| | | text initialization vector. | | | | text initialization vector. |
| 2 | IV | AES-GCM-256 cipher suite with | | 2 | IV | AES-GCM-256 cipher suite with |
| | | predetermined key and predetermined | | | | predetermined key and predetermined key |
| | | key rotation policy. | | | | rotation policy. |
| 3 | Nil | AES-GCM-256 cipher suite with all info | | 3 | Nil | AES-GCM-256 cipher suite with all info |
| | | predetermined. | | | | predetermined. |
+---------+------------+--------------------------------------------+ +---------+------------+--------------------------------------------+
Table 1 Table 1
9.3. Authorship 9.3. Authorship
Developers or implementers should consider the diverse performance Developers or implementers should consider the diverse performance
and conditions of networks on which the Bundle Protocol (and and conditions of networks on which the Bundle Protocol (and
skipping to change at page 36, line 44 skipping to change at page 38, line 22
The following participants contributed technical material, use cases, The following participants contributed technical material, use cases,
and useful thoughts on the overall approach to this security and useful thoughts on the overall approach to this security
specification: Scott Burleigh of the Jet Propulsion Laboratory, Amy specification: Scott Burleigh of the Jet Propulsion Laboratory, Amy
Alford and Angela Hennessy of the Laboratory for Telecommunications Alford and Angela Hennessy of the Laboratory for Telecommunications
Sciences, and Angela Dalton and Cherita Corbett of the Johns Hopkins Sciences, and Angela Dalton and Cherita Corbett of the Johns Hopkins
University Applied Physics Laboratory. University Applied Physics Laboratory.
Authors' Addresses Authors' Addresses
Edward J. Birrane, III Edward J. Birrane, III
The Johns Hopkins University Applied The Johns Hopkins University Applied Physics Laboratory
Physics Laboratory
11100 Johns Hopkins Rd. 11100 Johns Hopkins Rd.
Laurel, MD 20723 Laurel, MD 20723
US US
Phone: +1 443 778 7423 Phone: +1 443 778 7423
Email: Edward.Birrane@jhuapl.edu Email: Edward.Birrane@jhuapl.edu
Kenneth McKeever Kenneth McKeever
The Johns Hopkins University Applied The Johns Hopkins University Applied Physics Laboratory
Physics Laboratory
11100 Johns Hopkins Rd. 11100 Johns Hopkins Rd.
Laurel, MD 20723 Laurel, MD 20723
US US
Phone: +1 443 778 2237 Phone: +1 443 778 2237
Email: Ken.McKeever@jhuapl.edu Email: Ken.McKeever@jhuapl.edu
 End of changes. 10 change blocks. 
35 lines changed or deleted 88 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/