Re: [sidr] Mirja Kühlewind's No Objection on draft-ietf-sidr-bgpsec-protocol-21: (with COMMENT)

"Sriram, Kotikalapudi (Fed)" <kotikalapudi.sriram@nist.gov> Fri, 13 January 2017 21:31 UTC

Return-Path: <kotikalapudi.sriram@nist.gov>
X-Original-To: sidr@ietfa.amsl.com
Delivered-To: sidr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 176CE129B4B; Fri, 13 Jan 2017 13:31:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nistgov.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SSaRMS3OS4-g; Fri, 13 Jan 2017 13:31:31 -0800 (PST)
Received: from gcc01-dm2-obe.outbound.protection.outlook.com (mail-dm2gcc01on0126.outbound.protection.outlook.com [23.103.201.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5F1DE128B38; Fri, 13 Jan 2017 13:31:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nistgov.onmicrosoft.com; s=selector1-nist-gov; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=xKUTsPsH/kzw+FiPPLotO9cyb/uuXgZJVXae2ro/NEI=; b=Cd3+nsAJah7kCST0uq2falIHGBQeDk9gdSfjSeRh65r7PT0EG1238C2P1ozMKVur45fJr5oKchVLqBt0nC81pOP+a6ru1mzxXlmzd8E6RTjoQ9ikYXaUgCt9MxMNcJ8MePFBNjX/H8xhgZ6d3utYFeJbjBEWtNuYLsC271r9aRM=
Received: from DM2PR09MB0446.namprd09.prod.outlook.com (10.161.252.145) by DM2PR09MB0448.namprd09.prod.outlook.com (10.161.252.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.817.10; Fri, 13 Jan 2017 21:31:29 +0000
Received: from DM2PR09MB0446.namprd09.prod.outlook.com ([10.161.252.145]) by DM2PR09MB0446.namprd09.prod.outlook.com ([10.161.252.145]) with mapi id 15.01.0817.020; Fri, 13 Jan 2017 21:31:28 +0000
From: "Sriram, Kotikalapudi (Fed)" <kotikalapudi.sriram@nist.gov>
To: Mirja Kuehlewind <ietf@kuehlewind.net>, The IESG <iesg@ietf.org>, Alexey Melnikov <aamelnikov@fastmail.fm>
Thread-Topic: Mirja Kühlewind's No Objection on draft-ietf-sidr-bgpsec-protocol-21: (with COMMENT)
Thread-Index: AQHSZrizhvIT4qoXnkq4q8a0RO1mhqE28/Sg
Date: Fri, 13 Jan 2017 21:31:28 +0000
Message-ID: <DM2PR09MB0446C09E1BE1CEE94D43852684780@DM2PR09MB0446.namprd09.prod.outlook.com>
References: <148355465867.12949.10785749487953700357.idtracker@ietfa.amsl.com>
In-Reply-To: <148355465867.12949.10785749487953700357.idtracker@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=kotikalapudi.sriram@nist.gov;
x-originating-ip: [129.6.140.122]
x-ms-office365-filtering-correlation-id: 22f2b8a2-7296-426c-b422-08d43bfb891e
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DM2PR09MB0448;
x-microsoft-exchange-diagnostics: 1; DM2PR09MB0448; 7:WgCIXIKxon2//eM4J6+RrPIyVpTgV1IK+2533Vlri9cP6thZCiQmpgA9sZ4XhNdGRlAt16yhm/RXZkCbz2/zR32jBuVxDfVF14z4hnEfY0Y6FLEZXtwp72rM7toS95D6ccXAQdqCRGc2gVhGNxrleRQIDZ2cM5FUzghCpnvohBfiH7VbVFMYRknCQqPSnUy3QV5zj9bZ6vQdzAqT0VYJ6Od/4lc85ZTwZWNOBcdDtT7C79KsFdFSrWNSSbsZudAZEBLuNJNyY2bVveWddWFTuRplMVIFTG+C+8E8kCFVcD82gvulfNGyaEy5Z4ChG2iWDcTu+VjMQdyMEP98xZDfBU3ouyZQz3YlGi/C3qzbViv9GlSkWsrbBRXeRAH/CTx1Ed9DYc1q3dIuFD8do/qwlseAheibcONj8NjLbJDreogo35KbBebQxFYJklbQo/e1zXNt7ijEfx9ss5E5cVzXlw==
x-microsoft-antispam-prvs: <DM2PR09MB0448FD905E00886AFFCA283484780@DM2PR09MB0448.namprd09.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(192374486261705)(131327999870524)(100405760836317)(21748063052155);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(6072148); SRVR:DM2PR09MB0448; BCL:0; PCL:0; RULEID:; SRVR:DM2PR09MB0448;
x-forefront-prvs: 018632C080
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(7916002)(39450400003)(39860400002)(39840400002)(39850400002)(39410400002)(189002)(199003)(2906002)(5001770100001)(3660700001)(66066001)(4326007)(97736004)(5660300001)(606005)(6436002)(77096006)(38730400001)(27001)(101416001)(99286003)(6506006)(7906003)(74316002)(25786008)(3280700002)(7736002)(55016002)(9686003)(92566002)(8666007)(345774005)(229853002)(122556002)(50986999)(54906002)(5890100001)(2900100001)(86362001)(224303003)(105586002)(76176999)(8936002)(54356999)(9326002)(230783001)(6116002)(6306002)(54896002)(102836003)(236005)(3846002)(790700001)(106356001)(81156014)(81166006)(68736007)(189998001)(2950100002)(33656002)(106116001)(224313004)(7696004); DIR:OUT; SFP:1102; SCL:1; SRVR:DM2PR09MB0448; H:DM2PR09MB0446.namprd09.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
received-spf: None (protection.outlook.com: nist.gov does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_DM2PR09MB0446C09E1BE1CEE94D43852684780DM2PR09MB0446namp_"
MIME-Version: 1.0
X-OriginatorOrg: nist.gov
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2017 21:31:28.6911 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2ab5d82f-d8fa-4797-a93e-054655c61dec
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR09MB0448
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidr/iOxjbbBQB5--I1t7ByQFTLBGpzg>
Cc: "draft-ietf-sidr-bgpsec-protocol@ietf.org" <draft-ietf-sidr-bgpsec-protocol@ietf.org>, "sidr-chairs@ietf.org" <sidr-chairs@ietf.org>, "m.waehlisch@fu-berlin.de" <m.waehlisch@fu-berlin.de>, "sidr@ietf.org" <sidr@ietf.org>
Subject: Re: [sidr] Mirja Kühlewind's No Objection on draft-ietf-sidr-bgpsec-protocol-21: (with COMMENT)
X-BeenThere: sidr@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Secure Interdomain Routing <sidr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sidr>, <mailto:sidr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidr/>
List-Post: <mailto:sidr@ietf.org>
List-Help: <mailto:sidr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sidr>, <mailto:sidr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 13 Jan 2017 21:31:36 -0000

Hi Mirja,



Sorry for the delay in replying.

Thank you for your careful review, and the detailed and helpful comments.

Please see my responses inline below marked with [Sriram].

Changes reflecting your suggestions as discussed below

have been incorporated in the forthcoming version-22.





>First, thanks for a well written document!





Thank you.





> A few question on the design; not to propose changes but I would like to learn the reason why the design is as it is:

> 1) Why do you need to send two different negotiation capabilities for each direction instead of just using two flags in the same capability?

> And similar why don't you just announce multiple address families in the same capability (using variable length)?

>





[Sriram] Oliver Borchert (implementer of one of two available implementations) posted his thoughts on this earlier (responding to a similar question from Russ Housley). He had preference for the way currently it is (please see “To Comment 2” in the link below):



https://www.ietf.org/mail-archive/web/sidr/current/msg08130.html





[Sriram] Also, Keyur and I talked about this issue in a phone call last week. He would have preferred combining those messages (in agreement with you), but thought it was a minor issue and could be left as is for now. He also suggested that if, down the road, router vendor implementers express strong preference for it, a bis can be published. Russ also thought it was minor and was also agreeable to leaving it as is. Please let me know if you still feel strongly.





> 2) Why are the Secure_Path elements and Signature_Block blocks not aligned but in two different lists (given there is and one to one mapping)? Wouldn't it be easier to just update one length field (at a fixed position) and attached the new information at the end? Or to ask the question differently: why is the format as shown in figure 8 not used in the message itself (->this is related to Suresh's question)?

>





[Sriram] The short answer is that the protocol designers felt that in the bytes sent on the wire, it made sense that the whole Secure_Path should be together and the set of Signatures should be together. For instance, then it is easy to convert Secure_Path to AS_PATH if the update needs to be forwarded unsigned to a non-BGPsec peer. The Secure_Path in its entirety is also used in the checks performed in the list in Section 5.2.





[Sriram] Regarding Figure 8 (format for the data to be hashed), Oliver offered the rationale for it in the following post back when we first made the switch to this format. Michael Baer (implementer of the other available implementation), Oliver, myself, and Matt Lepinski discussed/reviewed it in detail and then we proceeded to include it in the specification.



https://mailarchive.ietf.org/arch/msg/sidr/8B_e4CNxQCUKeZ_AUzsdnn2f5MU





[Sriram] Suresh and Alexey seemed to appreciate the rationale that was applied for the format in Figure 8 (after they read Oliver’s explanation):



https://www.ietf.org/mail-archive/web/sidr/current/msg08237.html





> Questions on operation:

> 1) section 5 says "a BGPsec speaker MAY temporarily defer validation of incoming BGPsec update messages".

> Does this mean it has to remember its state before applying the update message such that is can revert to this state if it later detects that die update message was not valid? Or what action is supposed to happen if the update message is detected as not valid later on





[Sriram] It is left up to an implementation the mechanism for saving the state and returning to where it was left off. If the router deferred validation, it comes back later and completes the validation. If an update message is detected not valid later, the action would be similar to what is done when update validity state change occurs due to an RPKI state change, i.e. re-run best path selection  – see excerpt below (Section 5, p.22):



   For example, when a given RPKI certificate ceases to be valid (e.g.,

   it expires or is revoked), all update messages containing a signature

   whose SKI matches the SKI in the given certificate must be re-

   assessed to determine if they are still valid.  If this reassessment

   determines that the validity state of an update has changed then,

   depending on local policy, it may be necessary to re-run best path

   selection.





> 2) sec 4.2 says "Next, the BGPsec speaker generates one or two Signature_Blocks."

> Are you sure it's at max 2? I guess this depends on the expected update cycles of the algorithm compared to the devices. Given update cycles for devices can be very slow and updates for algorithm can be fast if any security problems are detected, I wouldn't recommend to limit this to two.





[Sriram] This was discussed at an IETF SIDR meeting extensively, and the WG had consensus that two Signature_Blocks would be adequate.



> 3) In relation to the comment above, I'm not a big fan of the algo migration strategy in section 6.1. I understand the problem that all router on the path need to potentially support the algo. However, you do have an negotiation phase. So why don't you the advertise the signing algorithm in the negotiation capabilities? In this case the sender could at least choose to only send the one(s) that is/are also supported by the receiver or not use BGPsec at all if there is no match. However, I also understand that it is probably to late to change anything now and if there is wg consensus, I'm fine with that...





[Sriram] The WG has had consensus on this for quite some time now – that instead of negotiation upfront, the Signature_Block(s) in the update must indicate what algorithm(s) is(are) used.





> 4) section 8.1 says "the recipient of a valid BGPsec update message is assured that the update propagated via the sequence of ASes listed in the Secure_Path portion of the BGPsec_Path attribute."

> Is that true? It is assured that at least these ASes have been crossed but there might have been others on the path that did not sign the BGPsec_Path attribute, no?





[Sriram] Yes, it is true. Each AS in the path MUST sign to the next AS (Target AS). Section 3.1 says:





   The Secure_Path contains one Secure_Path Segment (see Figure 5) for

   each Autonomous System in the path to the originating AS of the

   prefix specified in the update message.





[Sriram] Also, Section 3.2 says:





   A Signature_Block in Figure 6 has exactly one Signature Segment (see

   Figure 7) for each Secure_Path Segment in the Secure_Path portion of

   the BGPsec_Path Attribute.







[Sriram] The following check listed in Section 5.2 make it clear as well:





   3.  Check that each Signature_Block contains one Signature segment

       for each Secure_Path Segment in the Secure_Path portion of the

       BGPsec_Path attribute.  (Note that the entirety of each

       Signature_Block must be checked to ensure that it is well formed,

       even though the validation process may terminate before all

       signatures are cryptographically verified.)





> 5) Is it really necessary to create registries for "BGPsec Capability"

> and "BGPsec_Path Flags"? Given this is a really small number of bits/flags, I think new RFCs that update this RFC are enough to define a new use for these so far unused bits.





[Sriram] This came up in the Russ Housley’s review also. But later he agreed it was OK to include these. He offered some suggestions for clarifying the bits (fields) that were already fully specified in the protocol, and hence didn’t need any IANA consideration. His suggestions were incorporated in the IANA section in version 21.





>

> Further, editorial proposals:

> 1) I would propose to add the Confed_Segment flag in figure 5 (and call the remaining flag field 'reserved')





[Sriram] Good idea. I have made the change in the forthcoming version-22.







> 2) Maybe explain Adj-RIB-In or give a reference to RFCrfc4271 section 1.1

>





[Sriram] Done. I’ve provided the reference to RFC4271.





Sriram