<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 3.3.0) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-tian-dtn-sbam-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="SBAM">Securing BPSec Against Arbitrary Packet Dropping</title>

    <author initials="B." surname="Dowling" fullname="Benjamin Dowling">
      <organization>King's College London</organization>
      <address>
        <email>benjamin.dowling@kcl.ac.uk</email>
      </address>
    </author>
    <author initials="B." surname="Hale" fullname="Britta Hale">
      <organization>Naval Postgraduate School</organization>
      <address>
        <email>britta.hale@nps.edu</email>
      </address>
    </author>
    <author initials="X." surname="Tian" fullname="Xisen Tian">
      <organization>Naval Postgraduate School</organization>
      <address>
        <email>xisen.tian1@nps.edu</email>
      </address>
    </author>
    <author initials="B." surname="Wimalasiri" fullname="Bhagya Wimalasiri">
      <organization>King's College London</organization>
      <address>
        <email>bhagya.wimalasiri@kcl.ac.uk</email>
      </address>
    </author>

    <date year="2026" month="March" day="15"/>

    <area>Internet</area>
    <workgroup>Delay/Disruption Tolerant Networking</workgroup>
    <keyword>security</keyword> <keyword>integrity</keyword> <keyword>read receipts</keyword>

    <abstract>


<?line 116?>

<t>In this document we describe Secure Bundle Protocol Audit Mechanism (SBAM), an authentication protocol designed to provide cryptographic auditing services for the Bundle Security protocol.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://bwimad.github.io/draft-xxx-str-bpsec/draft-tian-dtn-sbam.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-tian-dtn-sbam/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Delay/Disruption Tolerant Networking Working Group mailing list (<eref target="mailto:dtn@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dtn/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dtn/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/bwimad/draft-xxx-str-bpsec"/>.</t>
    </note>


  </front>

  <middle>


<?line 120?>

<section anchor="introduction"><name>Introduction</name>

<t>This document defines additional security features for the Bundle Protocol Security (BPSec) <xref target="RFC9172"/> and is intended in use for Delay Tolerant Networking (DTN) environments using BPSec to provide security guarantees, Secure Bundle Audit Mechanism (SBAM) is intended to provide additional security guarantees for BPSec communication between a bundle source acting as origin security source, any intermediate security acceptors, and a destinaton security acceptor also acting as the bundle destination.</t>

<t>The BPSec specification <xref target="RFC9172"/> defines BPSec as "an end-to-end security service that operates in all of the environments where the BP operates" and claims to provide "integrity and confidentiality services for BP bundles". In particular, BPSec enables partial processing of bundles, where an intermediate node acting as a security acceptor can process and remove security services. As a result, it is possible for an intermediate malicious node to simply drop blocks along with any associated security operations attached to them.</t>

<t>SBAM provides in-band cryptographic integrity guarantees between a bundle source and its destination while remaining consistent with the operational requirements of BPSec, which permit intermediate nodes to process and discard security blocks added by the bundle source. At the same time, SBAM enables the destination node to detect adversarial modifications to security operations added to the bundle by the bundle source and to verify whether security service blocks added by the bundle source were maliciously dropped, processed, or modified during transit, while retaining compatibility with existing BPSec deployments.</t>

<section anchor="scope"><name>Scope</name>
<t>This document defines a new security service for the Bundle Protocol Security (BPSec) <xref target="RFC9172"/> and is intended in use for Delay Tolerant Networking (DTN) environments using BPSec to provide security guarantees.
Specifically, the Secure Bundle Audit Mechanism (SBAM) enables the cryptographic detection of unauthorized modifications to security operations added by the bundle source, which also acts as the security source for a destination node that accepts the bundle payload.
Explicity, The end-to-end security guarantee provided by SBAM is limited to security operations inserted by a bundle source acting as the security source for a destination node that accepts the bundle payload.
Any security operations added to a bundle by security sources other than the bundle source are outside the scope of SBAM. In particular, security operations added by security sources along the bundle path between the bundle source and the destination, following bundle creation and the addition of SBAM operations, are legitimate and independent and are not covered by SBAM.</t>

</section>
<section anchor="notation"><name>Notation</name>
<t>This section defines terminology that either is unique to the BPSec or SBAM and is necessary for understanding the concepts defined in this specification.</t>

<t><list style="symbols">
  <t>Bundle Destination: the Bundle Protocol Agent (BPA) that receives a bundle and delivers the payload of the bundle to an Application Agent.  Also, an endpoint comprising the node(s) at which the bundle is to be delivered. The bundle destination acts as the security acceptor for every security target in every security block in every bundle it receives.</t>
  <t>Bundle Protocol Agent: a node component that offers the Bundle Protocol services and executes its procedures.</t>
  <t>Bundle Source: the BPA that originates a bundle. Also, any node ID of the node of which the BPA is a component.</t>
  <t>Cipher Suite: a set of one or more algorithms providing integrity and/or confidentiality services. Cipher suites may define user parameters (e.g., secret keys to use), but they do not provide values for those parameters.</t>
  <t>Destination Node: a security acceptor BPA that is the bundle destination and processes the bundle payload.</t>
  <t>Forwarder: any BPA that transmits a bundle in DTN. Also, any node ID of the node of which the BPA that sent the bundle on its most recent hop is a component.</t>
  <t>Intermediate Node: a security acceptor BPA that is not the bundle destination.</t>
  <t>Intermediate Receiver, Waypoint, or Next Hop: any BPA that receives a bundle from a forwarder that is not the bundle destination. Also, any node ID of the node of which the BPA is a component.</t>
  <t>Path: the ordered sequence of nodes through which a bundle passes on its way from source to destination. The path is not necessarily known in advance by the bundle or any BPAs in DTN.</t>
  <t>Security Acceptor: a BPA that processes and dispositions one or more security blocks in a bundle. Security acceptors act as the endpoint of a security service represented in a security block. They remove the security blocks they act upon as part of processing and disposition. Also, any node ID of the node of which the BPA is a component.</t>
  <t>Security Block: a BPSec extension block in a bundle.</t>
  <t>Security Context: the set of assumptions, algorithms, configurations, and policies used to implement security services.</t>
  <t>Security Operation: the application of a given security service to a security target, denoted as OP(security service, security target). For example, OP(bcb-confidentiality, payload).  Every security operation in a bundle MUST be unique, meaning that a given security service can only be applied to a security target once in a bundle. A security operation is implemented by a security block.</t>
  <t>Security Service: a process that gives some protection to a security target. For example, the BPSec specification defines security services for plaintext integrity (bib-integrity) and authenticated plaintext confidentiality with additional authenticated data (bcb-confidentiality). This SBAM specification defines security services for cryptographic auditing of security services added by the bundle source to the bundle destination.</t>
  <t>Security Source: a BPA that adds a security block to a bundle. Also, any node ID of the node of which the BPA is a component.</t>
  <t>Security Target: the block within a bundle that receives a security service as part of a security operation.</t>
  <t>Security Verifier: a BPA that verifies the data integrity of one or more security blocks in a bundle. Unlike security acceptors, security verifiers do not act as the endpoint of a security service, and they do not remove verified security blocks. Also, any node ID of the node of which the BPA is a component.</t>
  <t>Source Node: A BPA that creates an initial bundle.</t>
  <t><strong>Audit Pair</strong>: A logical pairing consisting of a Manifest Block and its corresponding BIB, created by the bundle source acting as the initial security source and verified only by the destination node acting as the final security acceptor. The underlying Manifest Block records identifying data for each security operation added to the bundle by the bundle source.</t>
  <t><strong>Report Pair</strong>: A logical pairing consisting of a Manifest Block and its corresponding BIB, created by an intermediate node that processed and discarded source-added blocks. The underlying Manifest Block duplicates identifying data for each bundle source–added security operation that is processed and discarded by an intermediate security acceptor.</t>
</list></t>

</section>
<section anchor="motivation-and-problem-statement"><name>Motivation and Problem Statement</name>

<t>DTN recognizes an attacker with complete network access, affording them read/write access to bundles traversing the network. Eavesdropping, modification, topological, and injection attacks are all described in <xref section="8.2" sectionFormat="comma" target="RFC9172"/>. Therein, these "on-path attackers" can be unprivileged, legitimate, or privileged nodes depending on their access to cryptographic material: unprivileged nodes only have access to publicly shared information, legitimate nodes have additional access to keys provisioned for itself, and privileged nodes have further access to keys (privately) provisioned for others. There are currently no guarantees against privileged attacks.</t>

<t>In an effort to distinguish malice by intermediate nodes, these classes can be further abstracted into honest security acceptors and dishonest forwarders. Honest forwarders are privileged nodes that faithfully execute the role of a BPA as described in <xref section="3" sectionFormat="comma" target="RFC9171"/>. Dishonest forwarders are unprivileged nodes that attempt to violate the integrity or confidentiality of blocks it processes (e.g. by dropping or modifying blocks). Under its default security context <xref target="RFC9173"/>, BPSec currently provides no cryptographic auditing mechanism that enables a destination node to detect adversarial modifications to security services added to a bundle by the bundle source.</t>

<t>SBAM addresses this security gap by providing a mechanism that allows a bundle source, acting as the initial security source, to create a verifiable record of all security operations added to the bundle at origin, which is intended to be verified only by the final bundle destination. At the same time, SBAM preserves the default behavior of BPSec, allowing intermediate nodes to process and discard security operations added by the bundle source, provided they attach a verifiable record that duplicates the identifying data for each discarded security operation, which will subsequently be verified by the bundle destination.</t>

</section>
</section>
<section anchor="design-decisions"><name>Design Decisions</name>

<t>In this section we describe the design decisions of BPSec <xref target="RFC9172"/>, and describe how these are impacted through the use of SBAM.</t>

<section anchor="block-level-granularity"><name>Block-Level Granularity</name>

<t>SBAM design does not impact the block-level granularity of BPSec. SBAM provides a verifiable audit trail between source and destination nodes, for all security blocks added by the source node, while also allowing intermediaries to process and discard source-added blocks.</t>

</section>
<section anchor="mixed-security-policy"><name>Mixed Security Policy</name>

<t>SBAM design does not impact the mixed security policy of BPSec. SBAM design provides an additional layer of security between the source and destination nodes, by providing a mechanism for verifying that all security blocks added by the source node have either been processed by an authorized intermediary, or received by the destination node. This functionality does not interfere with the ability of additional security sources (that are not the bundle source) to create/modify/process security blocks within the bundle.</t>

</section>
<section anchor="user-defined-security-contexts"><name>User-Defined Security Contexts</name>

<t>SBAM design does not impact the ability to implement user-defined security contexts within BPSec.
Users may select from registered security contexts and customize those contexts through security context parameters.</t>

</section>
<section anchor="deterministic-processing"><name>Deterministic Processing</name>

<t>SBAM design preserves and adheres to the deterministic processing requirements described in <xref target="RFC9172"/>.</t>

</section>
<section anchor="cose-context-considerations"><name>COSE-Context Considerations</name>
<t>In conjunction with a proper PKI mechanism, SBAM may be used in the COSE-Context <xref target="draft-ietf-dtn-bpsec-cose"/> to provide further authentication enhancements to auditing. Specifically, through the use of digital signature algorithms rather than message authentication codes as described herein, SBAM in the COSE-context adds source authentication as well as authentication of intermediate nodes.</t>

</section>
<section anchor="scope-flag"><name>Scope Flag</name>
<t>The Integrity Security Context BIB_HMAC-SHA2 includes Integrity Scope Flags as a parameter set (see 3.2 and 3.3.3 in RFC9173). The value of the Integrity Scope Flag describes what information is used to construct the Integrity Protected Plain Text (IPPT) for a BIB. The existing Integrity Scope Flags in bit 2 and bit 3 refer to an excessive amount of information (block type code, block number, block processing control flags). Since we explicitly only use the block number in our calculations, this scope flag is redundant and we choose to remove it.</t>

</section>
<section anchor="security-blocks"><name>Security Blocks</name>

<t>In this section we describe the different Security Blocks used in BPSec and SBAM. In particular, we note that BPSec introduced two types of security blocks: the Block Integrity Block (BIB) and the Block Confidentiality Block (BCB) providing integrity and confidentiality and integrity, respectively.</t>

<t>In SBAM we also introduce the <spanx style="verb">audit-pair</spanx> logical block and the <spanx style="verb">report-pair</spanx> logical block, which (when combined) enable security acceptors to verify only honest intermediate security acceptors have processed and discarded  BIB or BCBs added to a bundle at origin.</t>

</section>
<section anchor="block-definitions"><name>Block Definitions</name>

<t>The BPSec specification defines two types of security blocks: the Block Integrity Block (BIB) and the Block Confidentiality Block (BCB). The SBAM specification defines two additional types of logical blocks; the <spanx style="verb">audit-pair</spanx> and <spanx style="verb">report-pair</spanx> operations.</t>

<t><strong>TODO: Check references are correct</strong></t>

<t><list style="symbols">
  <t>The BIB is used to ensure the integrity of its plaintext security target(s). The integrity information in the BIB MAY be verified by any node along the bundle path from the BIB security source to the bundle destination. Waypoints add or remove BIBs from bundles in accordance with their security policy. BIBs are never used for integrity protection of the ciphertext provided by a BCB. Because security policy at BPSec nodes may differ regarding integrity verification, BIBs do not guarantee hop-by-hop authentication, as discussed in <eref target="https://www.rfc-editor.org/rfc/rfc9172.html#sup_sec_svc">Section 1.1</eref>.</t>
  <t>The BCB indicates that the security target or targets have been encrypted at the BCB security source in order to protect their content while in transit. As a matter of security policy, the BCB is decrypted by security acceptor nodes in the network, up to and including the bundle destination. BCBs additionally provide integrity-protection mechanisms for the ciphertext they generate.</t>
</list></t>

</section>
</section>
<section anchor="securebpsec-audit-mechanism-protocol-overview"><name>SecureBPSec Audit Mechanism Protocol Overview</name>

<t>The core guarantee provided by SBAM is a guarantee that, after correctly verifying <spanx style="verb">audit-pair</spanx> and <spanx style="verb">report-pair</spanx> security operations, the destination node is assured that either</t>

<t><list style="symbols">
  <t>all security blocks added by the bundle source have arrived without an unprivileged node dropping or modifying them; or</t>
  <t>an honest intermediary has processed and discarded security block/s added by the bundle source.</t>
</list></t>

<t>Thus, for any bundle, its source node also acting as initial security source, will generate security blocks for their destination node exactly as specified in BPSec <xref target="RFC9172"/>. Additionally, the source node will create a logical <spanx style="verb">audit-pair</spanx> block, which provides a cryptographically-authenticated record of all security services it provided for the bundle, as well as all necessary uniquely identifying information for each security operation, such as its key and block identifiers.</t>

<t>SBAM further specifies that any honest intermediary node that processes a security block created by the bundle source also provides a cryptographic proof that it was authorized to perform this operation. This is achieved by replacing the processed and discarded security operation with a <spanx style="verb">report-pair</spanx> logical block that duplicates and authenticates, to the destination node (the final security acceptor), the uniquely identifying information associated with the discarded security service contained in the security block.
The SBAM <spanx style="verb">report-pair</spanx> therefore provides a cryptographically authenticated digest of the uniquely identifying information of the security block it processes, such as key and block identifiers. This allows the relevant identifying information of a bundle source–added security operation to remain verifiable by the final security acceptor even after the original security block has been processed and discarded.</t>

<t>Upon receiving the bundle, the destination node first verifies the <spanx style="verb">audit-pair</spanx> to validate its authenticity. It then verifies each <spanx style="verb">report-pair</spanx> to confirm that it was added by an honest intermediary node. The destination node subsequently collates the identifying information contained in the <spanx style="verb">audit-pair</spanx> and compares it with the identifying information collated from the <spanx style="verb">report-pair</spanx> blocks. Successful verification at each stage enables the destination node to confirm that no unprivileged node modified or removed any bundle source–added security operation during transit between the source and destination nodes.</t>

<section anchor="unique-key-identifiers"><name>Unique Key Identifiers</name>
<t>The Bundle Protocol Security (BPSec) and its defined security contexts, as described in RFC9172 <xref target="RFC9172"/> and RFC9173 <xref target="RFC9173"/> respectively, rely on the assumption that local security policies will inform Bundle Protocol Agents (BPAs) of the appropriate cryptographic keys to use for each security context. This decentralized, policy-driven approach allows flexibility but introduces ambiguity when these policies are not uniformly enforced or clearly defined across participating nodes. In the absence of standardized key selection mechanisms, there is a risk that different BPAs may select conflicting keys for the same security context or inadvertently reuse keys across incompatible contexts. Such ambiguity can lead to key collisions, where multiple security contexts reference the same key identifier or cryptographic material unintentionally, undermining the security operations BPSec is intended to enforce. To mitigate this ambiguity, our proposed SBAM mechanism introduces a <spanx style="verb">key-id</spanx> as an explicit security context parameter, enabling BPAs to uniquely identify the correct cryptographic key for each context.</t>

<t>Within the SBAM design, three independent use cases for <spanx style="verb">key-id</spanx> are identified. When combined, these use cases enable the establishment of a reciprocal trust relationship between the bundle source acting as the initial security source, privileged intermediary nodes, and the bundle destination acting as the final security acceptor. The three distinct but interconnected <spanx style="verb">key-id</spanx> use cases are as follows:</t>

<t><list style="symbols">
  <t><spanx style="verb">key-id</spanx> for BPSec security services : This identifier uniquely identifies the key used by the bundle source to provide a BPSec confidentiality or integrity service (BCB and BIB, respectively) when the bundle is created at origin. Each BPSec security service MUST have a corresponding unique <spanx style="verb">key-id</spanx> to facilitate SBAM integration.</t>
  <t><spanx style="verb">key-id</spanx> for auditing : This identifier uniquely identifies the key used by the bundle source to authenticate the <spanx style="verb">audit-pair</spanx> logical block to the bundle destination. The <spanx style="verb">audit-pair</spanx> contains the uniquely identifying information for each security operation added to the bundle at origin, including the corresponding security service <spanx style="verb">key-id</spanx> values.</t>
  <t><spanx style="verb">key-id</spanx> for reporting: This identifier uniquely identifies the key used by a privileged intermediary node to authenticate the <spanx style="verb">report-pair</spanx> logical block to the bundle destination. The <spanx style="verb">report-pair</spanx> duplicates the uniquely identifying information for each bundle source–added security operation (including the corresponding security service <spanx style="verb">key-id</spanx> values) that the intermediary processes and discards.</t>
</list></t>

<t>The use of these distinct <spanx style="verb">key-id</spanx> roles enables SBAM to bind the integrity of each bundle source–added BPSec security operation (via its associated security service <spanx style="verb">key-id</spanx>) to the <spanx style="verb">key-id</spanx> used to authenticate the <spanx style="verb">audit-pair</spanx>. Upon successful verification, the destination node can confirm that the integrity of the BPSec security operations added at the bundle origin has been preserved.</t>

<t>Independently, privileged intermediary nodes bind the <spanx style="verb">report-pair</spanx> service <spanx style="verb">key-id</spanx> to the uniquely identifying information of each corresponding security service <spanx style="verb">key-id</spanx> associated with a bundle source–added security block that they process and discard. This enables the destination node to verify that any modification to bundle source–added security operations was performed by a legitimate intermediary node.</t>

<t>The management of these <spanx style="verb">key-id</spanx> values, including how trust in them is established, maintained, and escrowed, is determined at the policy level.</t>

<t>Key identifiers are always represented as a CBOR unsigned integer. The CBOR encoding of values is as defined by the
security context specification.
Key identifiers MUST be unique across all security contexts and distinctly identify a cryptographic key used for a given security operation defined in its security context.</t>

</section>
<section anchor="bundle-protocol-manifest-block"><name>Bundle Protocol Manifest Block</name>
<t>The Bundle Protocol Manifest Block introduced in <xref target="sipos-dtn-manifest-block"/> defines a new structured block type for BPv7 bundles. A primary purpose of the Manifest Block is to provide a structured and auditable mechanism for maintaining a record of bundle security components between the bundle source, acting also as the security source, and the intended destination node. This mechanism allows honest intermediary nodes to act as legitimate security acceptors, enabling them to process, and discard security blocks added by the source node while preserving an auditable record of those security-related components within the proposed manifest structure.
Manifest blocks enable the enumeration and identification of elements within a bundle in a consistent and machine-processable manner. While manifest blocks are not defined as security-specific mechanisms in itself, they provide a structured representation of bundle content that can be used by such security mechanisms as SBAM.</t>

<t>By listing covered components and associated metadata, manifest blocks create an environment in which integrity protection and authentication operations can be applied in a systematic way.
In this sense, manifest blocks do not directly perform security functions, but it enables and supports such functions by supplying a well-defined container for describing and referencing BPSec bundle elements.</t>

<t>Below is a diagram of the proposed Manifest Block structure as defined in <xref target="sipos-dtn-manifest-block"/>.</t>

<sourcecode type="cddl">

$$metadata-item //= (

0: int16 (manifest-reason)

2: embed-eid-structure

3: dtn-time)

$$blockdata-item //= (

1: block-id
block-id = [

; From the IANA Bundle Block Types registry

block-type: uint,

block-num: uint,]

2: block-control-flags

5: btsd-len
btsd-len = uint

6: [+ btsd-hash]

btsd-hash = (
; From the IANA COSE Algorithms registry
alg: tstr / int,
value: bstr
)

-1: bpsec-targets (for BPSec security blocks)
bpsec-targets = [+ uint ]

-2: int16 bpsec-security-context (for BPSec security blocks)
)

...

</sourcecode>

<t>SBAM leverages and extends the proposed Manifest Block structure to provide a verifiable audit trail between the source node and the destination node.
Manifest blocks enable SBAM functionality in two ways:</t>

<t>(1) they define an object type for the <spanx style="verb">audit-pair</spanx> operation between the bundle source and the final security-acceptor destination node; and</t>

<t>(2) they define an object type for the <spanx style="verb">report-pair</spanx> operation, which supports intermediary processing of source–generated security blocks while preserving the associated original audit information.</t>

<t>Together, these two object types establish a verifiable audit trail between the bundle source and its destination node. This audit trail preserves the BPSec-defined behavior that permits intermediary nodes to process and discard security blocks as required, while also providing a mechanism to detect any unauthorized modification to the security operations of a bundle enforced by its source.</t>

</section>
<section anchor="audit-creation"><name>Audit Creation</name>
<t>The audit creation process is described in detail in the following sections.</t>

<t>At the time of bundle creation, the source node SHALL generate a verifiable <spanx style="verb">audit-pair</spanx> logical block that covers all security operations added by the source node. Structurally, an <spanx style="verb">audit-pair</spanx> consists of a manifest block that records all security operations added to a bundle by its originator, and a BIB that authenticates the manifest contents.</t>

<t>The  <spanx style="verb">audit-pair</spanx> SHALL contain all relevant identifying information for each relevant security block (represented by independent manifest block-data-map), which SHALL include at minimum the identity of the security block <spanx style="verb">block-id</spanx>, information about its security context including a unique <spanx style="verb">key-id</spanx>, a list of target block identifiers <spanx style="verb">security-targets</spanx> to which the security block operation applies, and the <spanx style="verb">payload</spanx> (encoded in <spanx style="verb">btsd-hash</spanx>) of the bundle. This <spanx style="verb">audit-pair</spanx> SHALL then be cryptographically authenticated by a BIB generated by the source node which computes a cryptographic MAC over the <spanx style="verb">audit-pair</spanx> using a unique <spanx style="verb">audit-pair</spanx> operation key shared with the destination node. The <spanx style="verb">key-id</spanx> for the BIB authenticating the <spanx style="verb">audit-pair</spanx> SHALL be included in the BIB security context and SHALL be independent of the security context information contained in the associated manifest block.</t>

<t>The destination node SHALL discard any <spanx style="verb">audit-pair</spanx> (along with any source-generated <spanx style="verb">payload</spanx> intended for it) that is not cryptographically verified by a BIB generated by the source node. A further flag MAY be added to the <spanx style="verb">audit-pair</spanx> and its BIB to indicate that it is expected only to be verified by the intended bundle destination security acceptor.</t>

<t>The uniquely identifying information associated with the BIB that authenticates the <spanx style="verb">audit-pair</spanx> MUST NOT be included in the <spanx style="verb">audit-pair</spanx> record, as this would introduce a circular verification dependency.</t>

<t>See <xref target="sbam-integration-with-manifest-block">SBAM Integration with Manifest Block</xref> for more details on <spanx style="verb">audit-pair</spanx> design specifications.</t>

</section>
<section anchor="reporting"><name>Reporting</name>
<t>The reporting process is described in detail in the following sections.</t>

<t>Any security accepting intermediary that processes an SBAM bundle security operation added by the bundle source SHALL replace the processed operation with a <spanx style="verb">report-pair</spanx> operation. Structurally, a <spanx style="verb">report-pair</spanx> consists of a manifest block, and a BIB that authenticates the manifest contents.</t>

<t>The <spanx style="verb">report-pair</spanx> SHALL contain all relevant identifying information for each security block processed and discarded by the intermediary along the bundle path. Such <spanx style="verb">report-pair</spanx> SHALL include at minimum the identity of the security block (<spanx style="verb">block-id</spanx>) processed, a duplicate record of its security context (including its unique security service <spanx style="verb">key-id</spanx>) and a duplicate record of the security targets to which the security block operation applies. This <spanx style="verb">report-pair</spanx> SHALL then be cryptographically authenticated by a BIB generated over the manifest which computes a cryptographic MAC over the manifest block-data-map using a unique <spanx style="verb">report-pair</spanx> operation key the processing intermediary shares with the destination node. The <spanx style="verb">key-id</spanx> for the BIB authenticating the <spanx style="verb">report-pair</spanx> SHALL be included in the BIB security context and SHALL be independent of the security context information contained in the associated manifest block.</t>

<t>A further flag MAY be added to the <spanx style="verb">report-pair</spanx> to indicate that it is expected only to be verified by the intended destination security acceptor.</t>

<t>The uniquely identifying information associated with the BIB that authenticates the <spanx style="verb">report-pair</spanx> MUST NOT be included in the <spanx style="verb">report-pair</spanx> record, as this would introduce a circular verification dependency.</t>

<t>See <xref target="sbam-integration-with-manifest-block">SBAM Integration with Manifest Block</xref> for more details on the <spanx style="verb">report-pair</spanx> design specifications.</t>

</section>
<section anchor="verification"><name>Verification</name>
<t>The verification process is described in detail in the following sections.</t>

<t>When the destination node receives an SBAM bundle, it SHALL verify that the <spanx style="verb">audit-pair</spanx> and <spanx style="verb">report-pair</spanx>(s) it received can be cryptographically authenticated before accepting the bundle as valid. An SBAM bundle SHALL be considered valid by accepting destination node only if the following conditions are met:</t>

<t><list style="numbers" type="1">
  <t>The <spanx style="verb">audit-pair</spanx> is cryptographically verified by the attached BIB generated by the source node. Failure indicates tampering or corruption of the bundle or associated block-type-specific-data.</t>
  <t>Each <spanx style="verb">report-pair</spanx> generated by an intermediary along the bundle path is cryptographically verified by its associated BIB. This enables the destination node to validate that the corresponding discarded bundle source-added security operation, which the <spanx style="verb">report-pair</spanx> replaced, was processed by an authorized intermediary and that the original security configuration of that operation remains cryptographically verifiable.</t>
  <t>The block-type-specific-data of the <spanx style="verb">audit-pair</spanx> manifest block matches a concatenation of blockdata-item(s) for each <spanx style="verb">report-pair</spanx> manifest block.</t>
</list></t>

</section>
<section anchor="blocks-excluded-by-sbam"><name>Blocks Excluded by SBAM</name>
<t>SBAM participants should exclude blocks that necessarily change throughout a bundle's life cycle from auditing. Extension blocks such as Hop-Count or Previous Node which change values SHOULD be excluded from SBAM protection to avoid unnecessary processing and overhead.</t>

</section>
<section anchor="sbam-integration-with-manifest-block"><name>SBAM Integration with Manifest Block</name>
<t>Instead of defining a separate extension block, the SBAM can be integrated within the proposed Manifest Block structure. This approach leverages the existing manifest framework and would involve minor modifications or extensions to the Manifest Block fields currently defined in <xref target="sipos-dtn-manifest-block"/> to accommodate SBAM audit data.</t>

<t>When a manifest block is used as part of an <spanx style="verb">audit-pair</spanx> (see <xref target="audit-creation">Audit Creation</xref>), the <em>reason</em> item of the meta-data-map SHALL be set to <spanx style="verb">security-sourcing</spanx>. The resulting manifest-block SHALL then act as the security-target of a further BIB block which authenticates its content. This manifest block and its associated BIB block are generated by the initial bundle source and together form the logical unit referred to as an <spanx style="verb">audit-pair</spanx>. A further flag MAY be added to the <spanx style="verb">audit-pair</spanx> to indicate that it is expected only to be verified by the intended destination security acceptor.
The BIB SHALL be generated by the original source node and SHALL contain a cryptographic MAC over its associated manifest block using a unique <spanx style="verb">audit-pair</spanx> operation key shared with the destination node. Furthermore, an additional item that identifies the cryptographic key used for the corresponding cryptographic operation, <spanx style="verb">bpsec-key-id</spanx>, SHALL be added to the <spanx style="verb">audit-pair</spanx> when used for SBAM auditing.
TODO: maybe extend figure 1 to depict the BIB block that verifies the audit manifest block.</t>

<sourcecode type="cddl">

$$metadata-item //= (

0: (int16) security-sourcing

2: embed-eid-structure

3: dtn-time)

// blockdata-item per each source-generated security block

$$blockdata-item //= (

1: block-id

2: block-control-flags

5: btsd-len

6: [+ btsd-hash]

-1: bpsec-targets

-2: bpsec-security-context

*-3: bpsec-key-id*
)

...

; TODO: specify EDN encoding details
</sourcecode>

<t>Figure 1: Manifest Block structure adapted to facilitate SBAM auditing.</t>

<t>When a manifest block is used as part of a <spanx style="verb">report-pair</spanx>, the <em>reason</em> item of the meta-data-map SHALL be set to <spanx style="verb">security-acceptance</spanx>. This <spanx style="verb">report-pair</spanx> is generated every time an intermediary acceptor processes a bundle source-generated security block. The resulting manifest-block SHALL then act as the security-target of a further BIB block which authenticates its content. This manifest block and its associated BIB block are generated by the SBAM-processing intermediary and together form the logical unit referred to as an <spanx style="verb">report-pair</spanx>. A further flag MAY be added to the <spanx style="verb">report-pair</spanx> to indicate that it is expected only to be verified by the intended destination security acceptor.</t>

<t>Furthermore, an additional item that identifies the cryptographic key used for the corresponding cryptographic operation, <spanx style="verb">bpsec-key-id</spanx>, SHALL be added to the <spanx style="verb">report-pair</spanx> when used for SBAM reporting. This enables an intermediary security acceptor that processes a source-generated security block to append a verifiable record of the processed security-block-specific-data for use by the intended destination security acceptor.
The btsd-len and btsd-hash fields in the manifest block do not serve a functional purpose within a <spanx style="verb">report-pair</spanx> and as such MAY be excluded without any functional impact.</t>

<t>This hop-by-hop generated <spanx style="verb">report-pair</spanx>  SHALL subsequently be used by the intended destination security acceptor to verify the integrity of the received bundle.</t>

<sourcecode type="cddl">

$$metadata-item //= (

0: (int16) security-acceptance

2: embed-eid-structure

3: dtn-time)

// blockdata-item per each intermediary-processed source-generated security block

$$blockdata-item //= (

1: block-id

2: block-control-flags

-1: bpsec-targets

-2: bpsec-security-context

*-3: bpsec-key-id*
...
; TODO: specify EDN encoding details

</sourcecode>

<t>Figure 2: Manifest Block structure adapted to facilitate SBAM reporting.</t>

</section>
</section>
<section anchor="processing-rules"><name>Processing Rules</name>

<t><list style="symbols">
  <t><strong>source-node</strong>: Adds <spanx style="verb">audit-pair</spanx> consisting of a manifest block along with its verifying BIB after other security blocks and before payload.</t>
  <t><strong>intermediate-node</strong>: Processes BIB/BCB, adds <spanx style="verb">report-pair</spanx>consisting of a manifest block along with its verifying BIB.</t>
  <t><strong>destination-node</strong>: Validates all block-data-items within <spanx style="verb">audit-pair</spanx> and all <spanx style="verb">report-pair</spanx>(s), and checks whether the block-type-specific-data of the <spanx style="verb">audit-pair</spanx> manifest matches a concatenation of all block-type-specific-data for each <spanx style="verb">report-pair</spanx> manifest, prior to accepting payload. If any validation fails, the bundle MUST be discarded.</t>
</list></t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="trivial-block-removal"><name>Trivial Block Removal</name>
<t>SBAM allows for the detection of unauthorized deletion of source-added BIB/BCB. This requires that the intended recipient performing the SBAM verifications described in <xref target="verification"></xref> to avoid a trivial attack by a malicious intermediary of simply removing all security blocks.</t>

</section>
<section anchor="insider-attack"><name>Insider Attack</name>
<t>SBAM protected bundles are still vulnerable to <strong>privileged insider</strong> attacks unless asymmetric crypto is introduced. Malicious nodes with privileged access to keys associated with protected blocks may be able to modify SBAM block values undetected (e.g. forge or overwrite <spanx style="verb">report-container</spanx> block-data-item <spanx style="verb">report</spanx>).</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>New block types:</t>

<t><list style="symbols">
  <t><spanx style="verb">audit</spanx> manifest block – TBD (see <xref target="bundle-protocol-manifest-block">Bundle Protocol Manifest Block</xref> and <xref target="sipos-dtn-manifest-block"/>)</t>
  <t><spanx style="verb">report-container</spanx> manifest block – TBD (see  <xref target="bundle-protocol-manifest-block">Bundle Protocol Manifest Block</xref> and <xref target="sipos-dtn-manifest-block"/>)</t>
</list></t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

<reference anchor="RFC9171" target="https://www.rfc-editor.org/info/rfc9171">
  <front>
    <title>Bundle Protocol Version 7</title>
    <author initials="S." surname="Burleigh" fullname="S. Burleigh">
      <organization></organization>
    </author>
    <author initials="K." surname="Fall" fullname="K. Fall">
      <organization></organization>
    </author>
    <author initials="E." surname="Birrane" fullname="E. Birrane">
      <organization></organization>
    </author>
    <date year="2022" month="January"/>
  </front>
  <seriesInfo name="RFC" value="9171"/>
  <seriesInfo name="DOI" value="10.17487/RFC9171"/>
</reference>
<reference anchor="RFC9172" target="https://www.rfc-editor.org/info/rfc9172">
  <front>
    <title>Bundle Protocol Security (BPSEC)</title>
    <author initials="E." surname="Birrane" fullname="E. Birrane">
      <organization></organization>
    </author>
    <author initials="K." surname="Fall" fullname="K. Fall">
      <organization></organization>
    </author>
    <date year="2022" month="January"/>
  </front>
  <seriesInfo name="RFC" value="9172"/>
  <seriesInfo name="DOI" value="10.17487/RFC9172"/>
</reference>
<reference anchor="RFC9173" target="https://www.rfc-editor.org/info/rfc9173">
  <front>
    <title>Bundle Protocol Security (BPSEC) Default Security Contexts</title>
    <author initials="E." surname="Birrane" fullname="E. Birrane">
      <organization></organization>
    </author>
    <date year="2022" month="January"/>
  </front>
  <seriesInfo name="RFC" value="9173"/>
  <seriesInfo name="DOI" value="10.17487/RFC9173"/>
</reference>
<reference anchor="RFC2104" >
  <front>
    <title>HMAC: Keyed-Hashing for Message Authentication</title>
    <author initials="H." surname="Krawczyk" fullname="H. Krawczyk">
      <organization></organization>
    </author>
    <author initials="M." surname="Bellare" fullname="M. Bellare">
      <organization></organization>
    </author>
    <author initials="R." surname="Canetti" fullname="R. Canetti">
      <organization></organization>
    </author>
    <date year="1997" month="February"/>
  </front>
  <seriesInfo name="RFC" value="2104"/>
  <seriesInfo name="DOI" value="10.17487/RFC2104"/>
</reference>
<reference anchor="RFC2119" >
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author initials="S. O." surname="Bradner" fullname="Scott O. Bradner">
      <organization></organization>
    </author>
    <date year="1997" month="March"/>
  </front>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="CryptoRocket" target="https://doi.org/10.62056/a39qudhdj">
  <front>
    <title>Cryptography is Rocket Science</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="draft-ietf-dtn-bpsec-cose" target="https://datatracker.ietf.org/doc/draft-ietf-dtn-bpsec-cose/">
  <front>
    <title>Bundle Protocol Security (BPSec) COSE Context</title>
    <author initials="B." surname="Sipos" fullname="B. Sipos">
      <organization></organization>
    </author>
    <date year="2025" month="June" day="03"/>
  </front>
</reference>
<reference anchor="sipos-dtn-manifest-block" target="https://datatracker.ietf.org/doc/html/draft-sipos-dtn-manifest-block-00">
  <front>
    <title>Bundle Protocol (BP) Manifest Block</title>
    <author initials="B." surname="Sipos" fullname="Brian Sipos">
      <organization></organization>
    </author>
    <date year="2025" month="December" day="29"/>
  </front>
</reference>


    </references>

</references>



  </back>

<!-- ##markdown-source:
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

-->

</rfc>

