Re: [Rift] Nitpicks on RIFT model

Antoni Przygienda <prz@juniper.net> Sun, 21 July 2019 12:59 UTC

Return-Path: <prz@juniper.net>
X-Original-To: rift@ietfa.amsl.com
Delivered-To: rift@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C2FBD1200B1 for <rift@ietfa.amsl.com>; Sun, 21 Jul 2019 05:59:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=juniper.net
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 8elnDltvPZO6 for <rift@ietfa.amsl.com>; Sun, 21 Jul 2019 05:59:37 -0700 (PDT)
Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 93E2F120020 for <rift@ietf.org>; Sun, 21 Jul 2019 05:59:37 -0700 (PDT)
Received: from pps.filterd (m0108162.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x6LCxatD030812; Sun, 21 Jul 2019 05:59:36 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=PPS1017; bh=I6uKJTx+UXPqVDztyffX/F6tuErCdCl7YUXoI7GDUiY=; b=jcbRSFYIVajAT6rcxYBdtfthM3wWSHxpEzzfNA2FFD3WrJRynHU3i1aH2I28D4BLurlt WfAoEFbJ2C0noxmcUMNLSGghpVYa2J6tRkkV/n1U4zKoLVsAUI8EXKpv891lb0Z5I5Sb US1+Sl5ciHlxhIA21R47Wtog3E3gKm9ggeI9apFKcOkOwHjTqdVZ3UVXKY+YfP4YNMXR ZgLktgXPMMH8gA+WZM3tDpRtRg2vxEE9Uo9K5gJ236sasJm/dJvXuZ4fgRutJfLnwOJT U0U95ww/L5Nm90JoF7VokMT4F6O86QTw2B6O2KDRJj/tX9lqEWb8O3BbJky/CapFDuW+ cw==
Received: from nam04-bn3-obe.outbound.protection.outlook.com (mail-bn3nam04lp2058.outbound.protection.outlook.com [104.47.46.58]) by mx0b-00273201.pphosted.com with ESMTP id 2tvpa4r3pn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 21 Jul 2019 05:59:36 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fJyyJvSQ70/VPu+Wy8IFXXzGXnSkwZTq2/YMw/GIR1M4Ih6U3MlPsmBqEJkV/6OOuUajuTAWhQThCrBrqz1ZICU1qto8JW65baM0BCIDHJvvjJ2F/SKKGv7gfKZBw7yTFmkBz+IKkiEKuNaSFEVykoKHFL59g6ymXXovT6IZq8TS666RvJVHiLpnI5QvdM+bph7t1tLZJybFo6yfDQcahztRRJh+w2cwEq5oThoyqmx9Sj67+0zfiFI2UIT0PpD7cOkKcfz//yBczSfjHwzpq/2HTWfIOKULnVXWgvGM0iovq8gLgL8lrCj45Mydkrn+DTNFoG9h2s9EeG56YFWp3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=I6uKJTx+UXPqVDztyffX/F6tuErCdCl7YUXoI7GDUiY=; b=ZHrdiDCtnekTxJ8Of9sKBndFTx30AoMx0eaIjtFplM3mm+A3AZM8BPTT0myiOZPkpifm4KrXXATnz0l15H74+lqDD8FE5OPTH9nNpOOsjJtogROwM9egFEsIq3pJFxvz4+2fV7sXzCsACPKPqNfphmNWWOFDT9kPD40bS7CncD56ip4/mNMyv+fU85bojaNR+TflZr2E8dybd4p1W6OweTImvQqMsmZcCFKRcHJMqjTEJlbkdU3eI3bVF62mTNYbJYXkcBQ6FWyz91sWxGQAM33jq+HBgxVobqiBDo61IcmeeNymglcD3o6ygLQO3Ds98Ft8zsbkufHOTQMmO4yw1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=juniper.net;dmarc=pass action=none header.from=juniper.net;dkim=pass header.d=juniper.net;arc=none
Received: from MWHPR05MB3279.namprd05.prod.outlook.com (10.173.229.20) by MWHPR05MB3022.namprd05.prod.outlook.com (10.168.246.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2115.8; Sun, 21 Jul 2019 12:59:34 +0000
Received: from MWHPR05MB3279.namprd05.prod.outlook.com ([fe80::37:4711:1630:3ff0]) by MWHPR05MB3279.namprd05.prod.outlook.com ([fe80::37:4711:1630:3ff0%10]) with mapi id 15.20.2115.005; Sun, 21 Jul 2019 12:59:34 +0000
From: Antoni Przygienda <prz@juniper.net>
To: Bruno Rijsman <brunorijsman@gmail.com>, "rift@ietf.org" <rift@ietf.org>
Thread-Topic: Nitpicks on RIFT model
Thread-Index: AQHVPs/9GfnFIIHuBEqI+O6tXeyW0abUFIxJgAAGQvGAAL5ogIAAL9j6
Date: Sun, 21 Jul 2019 12:59:34 +0000
Message-ID: <MWHPR05MB3279069A2B268C16B31C32FFACC50@MWHPR05MB3279.namprd05.prod.outlook.com>
References: <5CD6BA3D-951D-4677-BA74-D11E198ADA95@gmail.com> <CY4PR05MB3271BC169D5D3DCA35CCD2BEACCA0@CY4PR05MB3271.namprd05.prod.outlook.com> <CY4PR05MB3271E00A28F622D24F383358ACCA0@CY4PR05MB3271.namprd05.prod.outlook.com>, <C086B82A-EFEF-40BE-8B17-4B92C1B3C86D@gmail.com>
In-Reply-To: <C086B82A-EFEF-40BE-8B17-4B92C1B3C86D@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [107.1.192.66]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f26be3ee-a403-4e75-f18c-08d70ddb4781
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:MWHPR05MB3022;
x-ms-traffictypediagnostic: MWHPR05MB3022:
x-microsoft-antispam-prvs: <MWHPR05MB30226D0E8F5863CA56A32C98ACC50@MWHPR05MB3022.namprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7219;
x-forefront-prvs: 0105DAA385
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(366004)(376002)(346002)(396003)(39860400002)(136003)(199004)(189003)(53546011)(6506007)(14454004)(2501003)(99286004)(2906002)(11346002)(446003)(102836004)(76176011)(19627405001)(7696005)(186003)(105004)(8676002)(476003)(68736007)(81156014)(26005)(8936002)(33656002)(3846002)(6116002)(561944003)(81166006)(316002)(3480700005)(110136005)(71200400001)(71190400001)(236005)(9686003)(54896002)(6246003)(53936002)(229853002)(55016002)(66066001)(76116006)(478600001)(66446008)(66476007)(66556008)(64756008)(66946007)(5660300002)(256004)(14444005)(52536014)(486006)(86362001)(74316002)(7736002)(25786009)(6436002); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR05MB3022; H:MWHPR05MB3279.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: LXCJUKe4HuVL+Jd5hLnApbfsbPy6NGfTwhe3SAvn6wS5HgvsuPGdYaNbnbPe+5UwvaW095d4zgsg1cOs0tY2B6DjMLnk/56mClpsR/HlZCk8cKnpwBeOTTvpMD2LmCL/C96Lu+h0yH/g526O4f7CXDQfyNDexJIjIKPcylcypoWcqq1v/1ZH80kvb/MZx/fL+p+GJgQ+Yq6rexQF50FWrbLL7AlvFsYbGOBOsrwYwwC9gYX/cZSHJc+uyiS6AdHcG8h5LcVtpSjmiD86fxNOfxW4KA5EXiAvCbz1a05TBUGkLrPOp16hEBWtg3s+jAT3LZneB2yYOhXJTYt7+f0i6M251Br8DSMwCNbWg33f8nKwv5KuMfYDqJt/20mCieo6vcIf6OotluTLGekd5XDvY02GNC1f7xoCL4oEzi3lhQQ=
Content-Type: multipart/alternative; boundary="_000_MWHPR05MB3279069A2B268C16B31C32FFACC50MWHPR05MB3279namp_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: f26be3ee-a403-4e75-f18c-08d70ddb4781
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jul 2019 12:59:34.3902 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: prz@juniper.net
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB3022
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-07-21_10:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1907210157
Archived-At: <https://mailarchive.ietf.org/arch/msg/rift/zLAdooe5LirUOPva4N8WaZBbkYI>
Subject: Re: [Rift] Nitpicks on RIFT model
X-BeenThere: rift@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion of Routing in Fat Trees <rift.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rift>, <mailto:rift-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rift/>
List-Post: <mailto:rift@ietf.org>
List-Help: <mailto:rift-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rift>, <mailto:rift-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 21 Jul 2019 12:59:40 -0000

cc:'ing rift list in case anyone else likes to obsess a bit about it ;-)

yes, we can do that except I will still call things inner security key. I prefered to have one constant but yes, I was fudging one is u8 the other is u24 really so what you suggest is cleaner

--- tony
________________________________
From: Bruno Rijsman <brunorijsman@gmail.com>
Sent: Sunday, July 21, 2019 6:02 AM
To: Antoni Przygienda <prz@juniper.net>
Subject: Re: Nitpicks on RIFT model

At least in the model that I am looking at, there is no SecurityKeyID, there is only OuterSecurityID, InnerSecurityKeyID, and TIESecurityKeyID.

IMHO the following would be the most correct (note correct typing, names consistent with rest of draft, and more consistent underscore_naming vs CamelCaseNaming):

/** outer security key id (must be treated as unsigned) */
typedef i8 OuterSecurityKeyID

/** undefined outer security key id */
const OuterSecurityKeyID undefined_outer_security_key_id = 0;

/** TIE origin security key id (must be treated as unsigned) */
typedef i32 TIEOriginSecurityKeyID

/** undefined tie origin security key id */
const TIEOriginSecurityKeyID undefined_tie_origin_security_key_id = 0;

— Bruno

PS: For the sake of openness and letting the area directors know that discussion is happening, start CC’ing the mailing list?

On Jul 21, 2019, at 12:41 AM, Antoni Przygienda <prz@juniper.net<mailto:prz@juniper.net>> wrote:

done, will be in -07, no version changes

I left in the SEcurtykeyid to suport the undefined_key constant which is important

--- tony

________________________________
From: Antoni Przygienda <prz@juniper.net<mailto:prz@juniper.net>>
Sent: Saturday, July 20, 2019 6:25 PM
To: Bruno Rijsman <brunorijsman@gmail.com<mailto:brunorijsman@gmail.com>>
Subject: Re: Nitpicks on RIFT model

aha, careful reading


  1.  ok, I'll clean up the types incl. unsigned
  2.  the keys have been added so you can check on top of the fabric whether the links have been secured and by which key. Now, I consider normal model would be for people to secure whole fabric and check that e.g. key roll-overs worked that way but if one assumes e.g. the ToF can be compromised then yes, it presents a risk to a degree. Your proposal otherwise? and yes, local significance is clera, just like we flood local link IDs the outer key is local

________________________________
From: Bruno Rijsman <brunorijsman@gmail.com<mailto:brunorijsman@gmail.com>>
Sent: Saturday, July 20, 2019 3:51 AM
To: Antoni Przygienda <prz@juniper.net<mailto:prz@juniper.net>>
Subject: Nitpicks on RIFT model

Hey Tony,

I just noticed something new in draft-ietf-rift-rift-06 (relative to draft-ietf-rift-rift-05):

  /** outer security key id */
  typedef i8            OuterSecurityKeyID
  /** outer security key id */
  typedef i32           InnerSecurityKeyID
  /** security key id */
  typedef i32           TIESecurityKeyID

The InnerSecurityKeyID is not used anywhere else in the model, and should probably be removed, since the concept of an inner key has been replaced by the concept of a TIE origin key.

The TIESecurityKeyID is not also used anywhere else in the mode. It should probably also be removed, but if it needs to be kept for some reason, the comment should be updated (TIE origin security key id), the name should be updated (TIEOrigin instead of TIE for the sake of consistency) and the comment should mention it is unsigned 24 bits.

We should probably also explicitly mention that all the KeyID types should be treated as unsigned as well (since we do that in other places where integers should be treated as unsigned).

And a more subtle and much more nit-picky comment: adding OuterSecurityKeyID to LinkIDPair is little bit dangerous because outer security key IDs could be locally significant (that is why 8 bits instead of 24 bits is enough). So, if we flood that “this link uses outer key id 17” over the entire network, then there is no guarantee that “outer key id 17” means the same thing everything in the network: outer key id 17 could mean key “this-is-top-secret” on one link, and the same outer key id 17 could mean key “my-fantastic-password” on another node in the same network (at least hypothetically - but we could say “don’t do that”).

Question: why was OuterSecurityKeyID added to LinkIDPair in the fist place? Just for easier debugging or something more than that?

— Bruno