[dtn-security] RE: Bundle Security Protocol details

"Symington, Susan F." <susan@mitre.org> Fri, 17 November 2006 15:03 UTC

Received: from smtp-bedford.mitre.org (smtp-bedford.mitre.org []) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAHF3NY17873 for <dtn-security@mailman.dtnrg.org>; Fri, 17 Nov 2006 07:03:23 -0800
Received: from smtp-bedford.mitre.org (localhost.localdomain []) by smtp-bedford.mitre.org ( with SMTP id kAHF3MQk005848 for <dtn-security@mailman.dtnrg.org>; Fri, 17 Nov 2006 10:03:22 -0500
Received: from smtp-bedford.mitre.org (localhost.localdomain []) by smtp-bedford.mitre.org (Postfix) with ESMTP id A0371BEFB for <dtn-security@mailman.dtnrg.org>; Fri, 17 Nov 2006 10:03:22 -0500 (EST)
Received: from IMCFE1.MITRE.ORG (imcfe1.mitre.org []) by smtp-bedford.mitre.org ( with ESMTP id kAHF3MoD005828; Fri, 17 Nov 2006 10:03:22 -0500
Received: from IMCSRV4.MITRE.ORG ([]) by IMCFE1.MITRE.ORG with Microsoft SMTPSVC(6.0.3790.1830); Fri, 17 Nov 2006 10:03:21 -0500
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Fri, 17 Nov 2006 10:03:17 -0500
Message-ID: <8E507634779E22488719233DB3DF9FF0012296CB@IMCSRV4.MITRE.ORG>
In-Reply-To: <20061117000457.309686795@>
Thread-Topic: Bundle Security Protocol details
Thread-Index: AccJ3XXa3jCIwUhsSnWv49AdmDwrSQAeoQ9A
From: "Symington, Susan F." <susan@mitre.org>
To: "Peter Lovell" <peter.lovell@sparta.com>, "Stephen Farrell" <stephen.farrell@cs.tcd.ie>
Cc: "hsw" <hsw@sparta.com>, <dtn-security@mailman.dtnrg.org>
X-OriginalArrivalTime: 17 Nov 2006 15:03:21.0816 (UTC) FILETIME=[85E60580:01C70A59]
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by webbie.berkeley.intel-research.net id kAHF3NY17873
Subject: [dtn-security] RE: Bundle Security Protocol details
Sender: dtn-security-admin@mailman.dtnrg.org
Errors-To: dtn-security-admin@mailman.dtnrg.org
X-BeenThere: dtn-security@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-security@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-security>, <mailto:dtn-security-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: DTN Security Discussion <dtn-security.mailman.dtnrg.org>
List-Post: <mailto:dtn-security@mailman.dtnrg.org>
List-Help: <mailto:dtn-security-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-security>, <mailto:dtn-security-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-security/>


My responses are inline. Thanks for your attention to this.


Susan Symington
The MITRE Corporation
703-983-7209 (voice)
703-983-7142 (fax)

>-----Original Message-----
>From: Peter Lovell [mailto:peter.lovell@sparta.com] 
>Sent: Thursday, November 16, 2006 7:05 PM
>To: Symington, Susan F.; Stephen Farrell
>Cc: hsw; dtn-security@mailman.dtnrg.org
>Subject: Re: Bundle Security Protocol details
>Hi Susan,
>>I am in the process of making the changes to the Bundle Security
>>Protocol based on the comments that BBN had in their requirements
>>document and also on the suggestion below by Peter Lovell. 
>>In actually making the edits with regard to Peter's 
>suggestion (below),
>>I was forced to look at this more carefully and in so doing I
>>that my understanding of the spec seems to differ a little from the
>>assertions made in Peter's suggestion, so I would like to get a few
>>details clarified and make sure we all agree on the following:
>>1. The notes on canonicalization say that the security result is to
>>omitted. These notes do not say (or mean to imply) that the security
>>result length field is to be omitted. In fact, the security result
>>length field and its value is to be included in the calculation of
>>BAB security result. We want the BAB security result to be calculated
>>over the entire bundle exactly as it appears, with all its fields and
>>their values except for the security result field.
>I had been regarding the term "security result" field as a general
>reference to length+data. The description though does name 
>them separately.
>However, in several places the language seems to suggest that length
>+data are closely related and are to be regarded as a compound field.
>For example, the "res" bit (bit 11) says that it "...indicates whether
>or not the ASH contains security result length and security 
>result fields." 
>What happens then for a two-part block scenario? The description at
>bottom of page 10 says that the security result must be absent from
>first block, and must be in the second block. Where is the security-
>result-length? In the first block, or does it precede the security
>result data in the second block? And is the "res" flag set in the
>block if it contains length but not the data?

Good point.  We need to clarify this.

>My interpretation is that the source, destination and security are
>compound fields, as suggested by having a single bit for each. As
>security-result-length and security-result would both be in the first
>block (res bit set) or both be in the second (res bit off).

Yes, I agree.

>In addition, there is no requirement that the security-result-length
>known in advance. Of course, in many cases it will be but I'm not
>that it is required to be. 

Well I've been assuming it is always known in advance. Is this an
invalid assumption?

>If the security-result-length is included in the canonicalization then
>it must be fixed before any digesting begins. If it is not fixed, then
>canonicalization must exclude the security result data (as it already
>does), the security result length (because it is not known, nor is its
>size known since it's SDNV) and the block-length field must be
>to exclude the size for these two.
>If we digest the length field than it can't ever be variable-length.

Why can't it be variable length?  I guess it depends on what you mean
by variable length.
As long as the length of the security result can be known before it is
calculated, the length can be any value.

The key issue seems to be the assumption that the security result
length will be known before it is calculated. Is this a bad assumption?

>>2. The new "security result offset" field that is being suggested
>>should indicte the offset of the start of the security result field
>>(not of the security result length field).
>This depends upon what we decide for the previous item.
>However, having it point to the length field is slightly nicer. If it
>does, we can find the length and process the data. But if it points to
>the data, we cannot discover the length except by walking through the
>block. Not a big deal either way.
>>3. We should add an additional canonicalization note to say that the
>>new security result offset field (like the "res" bit of the 
>>ID) is part of the canonical form. In other words, when the BAB is
>>calculated on the bundle, the res field will have a value of 1 and
>>security result offset field will have its correct offset value.
>I assume that res would be 1 in a single-block scenario, and 0 if the
>result is in a trailer block.

Yes. You are right. My example was imprecise in that it took into
account only the 1-block case.

>>4. Similarly, the value of the block data length field should be the
>>length of the entire bundle, including the security result field. It
>>should not change to subtract the length of the security result field
>>when we calculate the security result, even though we won't calculate
>>the security result over the security result field.
>Depends upon whether or not the security-result-length is fixed