Re: [dtn-security] Updated SBSP Document - BCB and BIB

"Birrane, Edward J." <> Tue, 03 June 2014 19:35 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id ADAA41A0309 for <>; Tue, 3 Jun 2014 12:35:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.852
X-Spam-Status: No, score=-4.852 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.651, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id bH6F5o4yNTD5 for <>; Tue, 3 Jun 2014 12:35:44 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id AF8131A033E for <>; Tue, 3 Jun 2014 12:35:43 -0700 (PDT)
Received: from ( []) by with smtp (TLS: TLSv1/SSLv3,128bits,RC4-MD5) id 3989_9091_a6937462_efe6_4ece_be22_4d6fb91fbfee; Tue, 03 Jun 2014 15:35:36 -0400
Received: from ([]) by ([]) with mapi; Tue, 3 Jun 2014 15:35:32 -0400
From: "Birrane, Edward J." <>
To: "" <>
Date: Tue, 3 Jun 2014 15:35:31 -0400
Thread-Topic: Updated SBSP Document - BCB and BIB
Thread-Index: Ac9+hoOpmbVxZkqoRbuTayxesOBSNwA209wg
Message-ID: <>
References: <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_329D879C76FDD04AAAE84BB1D89B3970094FBFAAD9aplesfreedomd_"
MIME-Version: 1.0
Subject: Re: [dtn-security] Updated SBSP Document - BCB and BIB
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "The Delay-Tolerant Networking Research Group \(DTNRG\) - Security." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 03 Jun 2014 19:35:52 -0000

- The ciphersuite parameters for the BCB can list an (offset,length) 2-tuple to identify what parts of the security-target are encrypted. When omitted, the implication is that the entire data portion of the security-target is encrypted.  Otherwise, it is just the offset-length portion.

- Inspection of the "Bundle is a fragment" flag will let any arbitrary BPA understand whether a BCB or BIB can be added. Adding BCBs and BIBs to a fragment can result in a challenging re-assembly scenario involving duplicate security-targets which we should just completely avoid.

- I agree that the BCB should only be present in one of the fragments. We should update the spec to reflect this.


Ed Birrane
Principal Professional Staff, Space Department
Johns Hopkins Applied Physics Laboratory
(W) 443-778-7423 / (F) 443-228-3839

From: Zoller, David A. (MSFC-EO50)[HOSC SERVICES CONTRACT] []
Sent: Monday, June 02, 2014 1:21 PM
To: Zoller, David A. (MSFC-EO50)[HOSC SERVICES CONTRACT]; Burleigh, Scott C (JPL-312G)[Jet Propulsion Laboratory]; Birrane, Edward J.;
Subject: RE: Updated SBSP Document - BCB and BIB

[Page 14] 2.6 Block Confidentiality Block
The block processing control flags value can be set to whatever
values are required by local policy, except that a Lone BCB or
First BCB MUST have the "replicate in every fragment" flag set.
This indicates to a receiving node that the payload portion in
each fragment represents cipher-text.
·         The intent here is only if the target of the Lone BCB or First BCB is the payload block which would need to be added if this is kept as a requirement.
·         I think this requirement should be removed or at least reduced to a "MAY"
1.       It assumes that the Lone or First BCB must be prior to the payload block which is not a specific requirement and is not necessary in any case for SBSP
2.       A BCB block could be quite large and add a lot of bandwidth overhead if included in every fragment
3.       I do not see a benefit gained by including the block in every fragment
                                          i.            Even the destination node likely cannot decrypt any individual fragment except the first one and  it probably would only decrypt a partial bundle as a last resort or forensic function if the entire bundle was not received before expiration
                                         ii.            Intermediate nodes shouldn't generally be poking around in bundle payloads anyway and no need to provide additional clues as to whether a fragment payload is encrypted or a bunch of binary values - keep the bad guys guessing and wasting CPU cycles if possible
                                       iii.            BSP includes this requirement - have any of the implementations found a need or benefit for this and would it still apply in context of the SBSP?


Ø  I think this a good point.  Since all decryption should only happen at the bundle destination, which is where all the fragments are going to have to end up, why not forward all BCBs (for all blocks that have them) only with the fragment whose offset is zero?

Is there a possibility of an intermediate node adding a BIB to the fragment, unaware that there's already a BCB on the whole payload?  I really hate the interaction between fragmentation and BSP.  I feel like tightly locking down how the two of them combine avoids a lot of pitfalls and ambiguity.

My notion is that the BCB should apply to the entire (unfragmented) payload.  If it's possible to apply a BCB to a fragment (in the middle of a path and connection) then the BCB itself had better state to which bytes of the payload it applies, or it's going to be really hard to sort it out later.

What's the rationale for replication?  The destination is the only node that's going to have to deal with decryption, so what is this doing?  Is the notion that the receiver might pass parts of the not-yet-fully-received bundle to the application?  That would be, I think, wrong.

Fortunately, section 3.4 does prevent adding a BCB or a BIB to a fragment.