<?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.43 (Ruby 3.0.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC9171 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9171.xml">
<!ENTITY RFC9172 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9172.xml">
<!ENTITY RFC9173 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9173.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY I-D.tian-dtn-sbam SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.tian-dtn-sbam.xml">
]>


<rfc ipr="trust200902" docName="draft-gupthaa-dtn-bpsec-source-binding-00" category="info" submissionType="IETF">
  <front>
    <title abbrev="BPSec Acceptor Source Binding">Acceptor Source Binding for Bundle Protocol Security (BPSec)</title>

    <author initials="N. D. S." surname="Gupthaa" fullname="N. Dheelep Sai Gupthaa">
      <organization></organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>dheelep.phd@gmail.com</email>
      </address>
    </author>

    <date year="2026" month="October" day="27"/>

    <area>Internet</area>
    <workgroup>Delay/Disruption Tolerant Networking</workgroup>
    

    <abstract>


<?line 43?>

<t>RFC 9172 Section 8.2.2 describes how a legitimate node can replace a source's Block Integrity Block (BIB) with one made under its own key, and how an acceptor that only checks that a BIB "was generated by a legitimate user" accepts the result. This document specifies the acceptor-side condition that prevents this substitution in deployments with per-source keys: each required security service on a target block is bound to the security source that is authoritative for that block, and is not satisfied by a block from any other source, even an authorized one. It also clarifies that the primary block is bound to a payload only through the integrity scope of the payload's own BIB, not through a separate BIB over the primary block.</t>



    </abstract>



  </front>

  <middle>


<?line 47?>

<section anchor="introduction"><name>Introduction</name>

<t>BPSec <xref target="RFC9172"/>, the security extension to Bundle Protocol Version 7 <xref target="RFC9171"/>, allows a bundle to carry security blocks from several security sources (Section 2.2) and leaves security policy to each deployment (Section 1.2). Section 8.2.2 names the insider substitution and recommends a source-side mitigation: the source adds a BIB and then a BCB over both the BIB and its target.</t>

<t>A formal analysis in the Tamarin prover, with machine-checked attack and fix models and a configuration checker for the HDTN and ION policy formats (artifact to be published; available on request), shows three things that this document turns into guidance:</t>

<t><list style="numbers" type="1">
  <t>An acceptor that binds each required service to the expected security source defeats the substitution for any path length and any set of compromised legitimate sources, using symmetric keys only.</t>
  <t>The Section 8.2.2 mitigation does not remove the need for that binding: if the acceptor accepts a BCB from any authorized source, a legitimate node discards both blocks and re-secures a payload of its choice under its own BIB and BCB keys. Binding either the BCB or the inner BIB to the expected source suffices when keys are per source. When the BCB key is shared by all senders to a destination, binding the per-source BIB still suffices.</t>
  <t>A BIB over the primary block that is separate from the payload's BIB protects the primary block but does not bind it to the payload: blocks of two genuine bundles from the same source can be combined. Only the primary-block bit in the payload BIB's own integrity scope flags (<xref target="RFC9173"/> Section 3.3.3) binds them.</t>
</list></t>

<t>Per-source keys and primary-block integrity scope are recommended for space DTNs by <xref target="MADOERY2024"/>; this document adds the acceptor-side condition that makes per-source binding sound, namely that the required service be bound to the expected source rather than, as is common, to the security source the received block itself names.</t>

<t>The key words "MUST", "MUST NOT", "SHOULD" and "MAY" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals.</t>

</section>
<section anchor="acceptor-rules"><name>Acceptor Rules</name>

<t>For every target block for which an acceptor's local policy requires a security service on a given flow:</t>

<t>R1 (source binding). The acceptor MUST record, per required service and per target block, the security source that is authoritative for that service on that block, and the key material bound to that source.</t>

<t>R2 (no substitution). The acceptor MUST NOT treat a BIB or BCB as satisfying the requirement unless it verifies under the key material recorded under R1. A block that verifies under the key of any other source, including one otherwise authorized in the deployment, MUST NOT satisfy the requirement. (The Security Source field of the ASB is an untrusted lookup hint; compare RFC 9172 erratum 8312.)</t>

<t>R3 (fail closed). If no block satisfying R2 is present, the acceptor MUST treat the target as failing its required service.</t>

<t>R4 (no privilege bleed). Authorization of a node to add security services for one purpose, such as re-securing at a gateway, MUST NOT make it the authoritative source under R1 for another source's block.</t>

<t>R5 (bundle binding). For a required payload-integrity service, the acceptor MUST require that the satisfying BIB has the primary-block bit (bit 0) set in its integrity scope flags (<xref target="RFC9173"/> Section 3.3.3), or omits the parameter so that the default of 7 applies. A separate BIB over the primary block MUST NOT be treated as satisfying this rule.</t>

</section>
<section anchor="relation-to-the-section-822-mitigation"><name>Relation to the Section 8.2.2 Mitigation</name>

<t>The BIB-then-BCB construction of RFC 9172 Section 8.2.2 protects the BIB inside the BCB, but an acceptor that accepts a BCB from any authorized source can be given a different BCB. R1 and R2 applied at either layer close this. Note that RFC 9172 Section 3.9, last paragraph, requires a source that wants both plaintext integrity and encryption of a target to use a BCB with an integrity result "instead of adding both a BIB and then a BCB for the security target at the security source". The rules above apply to either construction.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>These rules assume per-source keys. Where a single key is shared by all nodes, RFC 9172 Section 8.1 already notes that a legitimate node is equivalent to a privileged node, and no acceptor rule over that key can tell the nodes apart. A privileged node (one holding the authoritative source's key) is out of scope, as it is in RFC 9172 and <xref target="I-D.tian-dtn-sbam"/>. A cryptographic analysis of BPSec is given in <xref target="DOWLING2025"/>; the present document addresses the orthogonal question of which acceptor policy compositions are safe.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document has no IANA actions.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

&RFC9171;
&RFC9172;
&RFC9173;
&RFC2119;
&RFC8174;


    </references>

    <references title='Informative References' anchor="sec-informative-references">

&I-D.tian-dtn-sbam;
<reference anchor="DOWLING2025" >
  <front>
    <title>Cryptography is Rocket Science: Analysis of BPSec</title>
    <author initials="B." surname="Dowling" fullname="B. Dowling">
      <organization></organization>
    </author>
    <author initials="B." surname="Hale" fullname="B. Hale">
      <organization></organization>
    </author>
    <author initials="X." surname="Tian" fullname="X. Tian">
      <organization></organization>
    </author>
    <author initials="B." surname="Wimalasiri" fullname="B. Wimalasiri">
      <organization></organization>
    </author>
    <date year="2025"/>
  </front>
  <seriesInfo name="DOI" value="10.62056/a39qudhdj"/>
</reference>
<reference anchor="MADOERY2024" >
  <front>
    <title>Bundle Protocol Security Models and Policies for Safeguarding Space Information Networks</title>
    <author initials="P. G." surname="Madoery" fullname="P. G. Madoery">
      <organization></organization>
    </author>
    <author initials="R." surname="Cherini" fullname="R. Cherini">
      <organization></organization>
    </author>
    <author initials="A." surname="Cammarano" fullname="A. Cammarano">
      <organization></organization>
    </author>
    <author initials="J." surname="Grosso" fullname="J. Grosso">
      <organization></organization>
    </author>
    <author initials="J. M." surname="Finochietto" fullname="J. M. Finochietto">
      <organization></organization>
    </author>
    <date year="2024"/>
  </front>
  <seriesInfo name="IEEE Journal of Radio Frequency Identification" value="8:547-558"/>
  <seriesInfo name="DOI" value="10.1109/JRFID.2024.3406890"/>
</reference>


    </references>

</references>


<?line 89?>

<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The author thanks the DTN Working Group for discussion of this topic.</t>

</section>


  </back>

<!-- ##markdown-source:
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
wgMaAAA=

-->

</rfc>

