Re: [Taps] Roman Danyliw's Discuss on draft-ietf-taps-interface-22: (with DISCUSS and COMMENT)

Roman Danyliw <rdd@cert.org> Thu, 28 September 2023 21:01 UTC

Return-Path: <rdd@cert.org>
X-Original-To: taps@ietfa.amsl.com
Delivered-To: taps@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E885DC1763AE; Thu, 28 Sep 2023 14:01:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.108
X-Spam-Level:
X-Spam-Status: No, score=-2.108 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cert.org
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zPSrLanWLhuy; Thu, 28 Sep 2023 14:01:25 -0700 (PDT)
Received: from USG02-BN3-obe.outbound.protection.office365.us (mail-bn3usg02on0091.outbound.protection.office365.us [23.103.208.91]) (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 34B55C14CE42; Thu, 28 Sep 2023 14:01:19 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none; b=bgq2ovEtPm2x6XxZhElmjqCn762/NCnEqmmDy1KkVBsah2dd74dEG4yC5/4aJeN7dzfaPNLrtqBv3C42rRlHFkP8jgWidyGEEJteljGJKS0WFhBI4+UMVSu7IUCJrSrkjgJDpBdpeDwi7x0Lu/mH3bf4Vqi1OjtwZmgDvogWmd5W/fRavWjVw6AZJ0EhsrfaTuDbOEuJgYu0CS8PwN765i7BuLF65dT7BVdnVTpNNTvkpC5iKKzinm67GEv6eV/XBNXhUWFK/VvXyIDaofNQtuvuVaA0NzJWIXLlXzmxfCtzBrAshUR6adGH/HmXGeG1RH6ZmZWiGH6E/oVgQdkBug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector5401; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nw2HevQui3HgREcOWJ6l5TcZrU7iCw/EnFLZ1ArHOqM=; b=qfrwYR1eXcm/7o8q9+54+O286HM00mY6maRE+JMqNTlHGIDnWTTWOtE4JzalAC4KSirhmVKZc2eTqSQchOietbNBcCbIqFm9MA66/SHQR1aGxlRk9oDMJapfGWYEghgt1xzX6erc8kKQyjBc7G5vf1IJdU0wl/2oc/Y8z2Nu5yIOtEWS1zuNhEM1H5VhiFOXmOxkLdmcwDdEYF2wuZu/K1Ux3IS0hWDtt1StSaMUcqAB7uJu5EwlyoCc73nPo4U2FTAwvK0kBeAacAMtWMa8EmLjBTN/INCOCPfICzkIDyAKj+pGv030yMmIXD9rjY5jVeCbuLXNvUByuzCPtd7YAw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cert.org; dmarc=pass action=none header.from=cert.org; dkim=pass header.d=cert.org; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cert.org; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nw2HevQui3HgREcOWJ6l5TcZrU7iCw/EnFLZ1ArHOqM=; b=jNWz870BYpS5sgjr4pdkUW8FPqeln8JunBKatITCeU6/k9MnsH6qK1gQnDoifmJSHvOps111rYkhy8WEDtKRMo0CitasycDxSL3N3k+v3krc6f9SrhEIUjQspdX+fi1d72utJUUn1RhbN0ObNDthXsiBOsdegIlG8kDftDxM35g=
Received: from BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:168::11) by BN2P110MB1286.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:17f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.20; Thu, 28 Sep 2023 21:01:15 +0000
Received: from BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM ([fe80::84ce:43a5:6ea8:2beb]) by BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM ([fe80::84ce:43a5:6ea8:2beb%4]) with mapi id 15.20.6813.034; Thu, 28 Sep 2023 21:01:15 +0000
From: Roman Danyliw <rdd@cert.org>
To: "Brian Trammell (IETF)" <ietf@trammell.ch>
CC: The IESG <iesg@ietf.org>, "draft-ietf-taps-interface@ietf.org" <draft-ietf-taps-interface@ietf.org>, "taps-chairs@ietf.org" <taps-chairs@ietf.org>, "taps@ietf.org" <taps@ietf.org>, "anna.brunstrom@kau.se" <anna.brunstrom@kau.se>
Thread-Topic: [Taps] Roman Danyliw's Discuss on draft-ietf-taps-interface-22: (with DISCUSS and COMMENT)
Thread-Index: AQHZ4CGGSk2s2GHyLU+zIUT9dydcOrAPPL0AgCGZ5YA=
Date: Thu, 28 Sep 2023 21:01:15 +0000
Message-ID: <BN2P110MB1107DF28382D392A4FDBB281DCC1A@BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM>
References: <169393624961.57527.10448223141659236366@ietfa.amsl.com> <02AC9951-CD5A-46AB-9B82-01B434FC5131@trammell.ch>
In-Reply-To: <02AC9951-CD5A-46AB-9B82-01B434FC5131@trammell.ch>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cert.org;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN2P110MB1107:EE_|BN2P110MB1286:EE_
x-ms-office365-filtering-correlation-id: 2f719272-d604-45d9-b672-08dbc0660e00
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: xN9vzw1ccphQbjAlANa3Yz7V4/Qy7RRApZzPij9no9BbrR3kP6fez0ye4NCNAEAti4pk7a8gCeAQmyiRAwvpBy7Z5C0qhi/6WQff8t37UgVdiRSmXcnNQEyQKUypy1Yk+uduiR6mRXVt48lArzqAWW82mjgeB+8R0M4EXGJjW9vIZWTcb+2seN8EpOr+s2DUdzRCYzm7ZwpIIUwbwrv/D+NW0xeIyQPyj+xgR62uCaYQxQOpHfnwoaA9dHiXiHFwIIe7Kz1onZ8UkJVcWo3pDBHogzLptooXnFdrnKOs3PlacZejSuyxAJKhTa12sz8vFmpUtoBRIfYMBMejKj2mvnGRcS0BI6dzXHKCQTwB9wViBISNLKf3Vb39+n5OoTnjzJtJCnv3RRfMVEH8AyfqtL39mp2Ag21un6a2VgbvL+qnWsS+eZc89r4McQyFYWwKybpTlBKvUhr5nzqcnPULj7jmXuXyQ9yS+opLmL8ZMkc2UAycQNW19jbHNHqthrHcRjX61uZu706LqkqSAgfQv2T0jD4wKylxJv7hQ7sXI6N70XoRWhEwQgF2GENodRSflnrD9H4dCbpoqI4dWD+6vzJa28u4rN4Unnho+pMBqls=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(136003)(396003)(366004)(39830400003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(966005)(8676002)(66946007)(8936002)(41300700001)(5660300002)(38070700005)(6916009)(66476007)(64756008)(66446008)(122000001)(54906003)(41320700001)(66556008)(33656002)(38100700002)(86362001)(82960400001)(4326008)(53546011)(508600001)(2906002)(6506007)(9686003)(71200400001)(55016003)(76116006)(26005)(7696005)(83380400001)(52536014); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: YTs1m+FryGHuRQDEVW4DZZkR3ZTpXJZCtwPbwXfsd5tWGUGlixLGrlw1yQ948q6LwWKYOraWCJSz6N+yhMWUso+pkAbAn6WXzuXuq4WEfYRwzPSUb4V762QpkztX4qN8AxdsnW7vQXL8kaLcrv4leVmIfrRKYXsYzPaN0/F2XlJ0KfPUzRCFvMd4Af+0qclrmf8ltgVUL84cpovIPHCu7Gmfw/ww/gI10GWPBj2DYa/oC4xxu5/Z3o1bxwmjQqfSgyuW96I01CZ8zvL0kJw/XSLRVDz6Wgb4Ga6fTOv6YzBGH8VgTKL0maNXTrtmwJsDBmD+xv1uK+PEFOGBRK3RlH8tLBhk/pV4s2N0Fxot42JghyH7AmoIE/G2ord6Jt5C/n4ayRmo6Xf2KSLvIKayq8vrnD3kVwAClXsUIYc5Sq4=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: cert.org
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f719272-d604-45d9-b672-08dbc0660e00
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Sep 2023 21:01:15.6611 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 95a9dce2-04f2-4043-995d-1ec3861911c6
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN2P110MB1286
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/UlI2RJQFHRWFlY4y-d2kfbQJKss>
Subject: Re: [Taps] Roman Danyliw's Discuss on draft-ietf-taps-interface-22: (with DISCUSS and COMMENT)
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "IETF Transport Services \(TAPS\) Working Group" <taps.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/taps>, <mailto:taps-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/taps/>
List-Post: <mailto:taps@ietf.org>
List-Help: <mailto:taps-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/taps>, <mailto:taps-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 Sep 2023 21:01:30 -0000

Hi Brian!

Thanks for the response and sorry for the delay.  More inline ...

> -----Original Message-----
> From: iesg <iesg-bounces@ietf.org> On Behalf Of Brian Trammell (IETF)
> Sent: Thursday, September 7, 2023 7:29 AM
> To: Roman Danyliw <rdd@cert.org>
> Cc: The IESG <iesg@ietf.org>; draft-ietf-taps-interface@ietf.org; taps-
> chairs@ietf.org; taps@ietf.org; anna.brunstrom@kau.se
> Subject: Re: [Taps] Roman Danyliw's Discuss on draft-ietf-taps-interface-22:
> (with DISCUSS and COMMENT)
> 
> hi Roman!
> 
> Thanks for the questions. Points not addressed inline below will be tracked at
> https://github.com/ietf-taps/api-drafts/issues, but there’s a DISCUSS here, so
> let’s discuss. :)
> 
> > On 5 Sep 2023, at 19:50, Roman Danyliw via Datatracker <noreply@ietf.org>
> wrote:
> >
> > ----------------------------------------------------------------------
> > DISCUSS:
> > ----------------------------------------------------------------------
> >
> > ** Section 6.3.  I’m having trouble understanding the level of
> > abstraction used to specify the SecurityParameter API if the desired
> > outcome is an interoperable solution.  My top-line concern is around
> > what are the defined security parameters are where are they formally
> > defined. The API examples seem to suggest they are “identity,
> > server-certificate, client-certificate, key-pair, supported-group, ciphersuite,
> signature-algorithm, and pre-shared-key.”
> 
> This is an artifact of trying to balance between two sometimes-opposing goals
> with the TAPS interface work:
> 
> (1) The interface specification has to be malleable enough to fit with the
> existing “built environment” of the platforms that will implement it; concepts
> that are ancillary to a transport services implementation should be left
> undefined so that system implementors can build TAPS into their platforms
> without completely changing how the platform works. IOW we’re not going to
> define your PKI for you, or your interfaces for managing protocol selection
> policy, because you should already have these things, because it’s not useful for
> the purposes of application interoperability to do so, and because we need to
> set the boundaries of scope somewhere if we want to be done in the ‘20s.
> 
> (2) The interface specification has to be rigid enough to be usefully
> interoperable; i.e., two different applications of TAPS on the same platform
> using the interface in the same way should result in indistinguishably-
> equivalent communications, while an application using TAPS on one platform
> that is minimally ported to a different platform should result in unsurprisingly-
> equivalent communications (the distinction here being that different Transport
> Services system implementations might differ in meaningful-to-the-platform
> ways, i.e. in terms of the policy priorities in racing or indeed in the set of
> underlying stacks implemented).
> 
> Basically what we’re doing here is guessing (educatedly, but still) about the
> minimum-interference shape with how existing systems do X (in this case,
> security property management), under the assumption that these platforms get
> it right. I think we got this balance mostly right everywhere, but security is the
> hardest place to do so, precisely because of the rigidity and the formality
> required in the security space pushes toward an imbalance on the latter.

Thanks for explaining the goal and the intent.  The tensions between those goals is clear.

[snip]

> I do think we need to make some changes to the doc to address these points.
> I’d suggest the following:
> 
> - Define the highest usable level of abstraction for these parameters
> - Reiterate the principle that the exact set of values for available enumerations
> and the exact data formats for each security parameter are platform-
> dependent.
> 
> If this would be an acceptable resolution to the DISCUSS, I’ll file the issue and
> put together the PR.

The above plan makes sense.  Thanks for laying out.  I would also recommend that the text calibrate the expectations of an "abstract API" and degree of expected interoperability.  Inspirationally, the abstract notes that this API is "intended to replace the BSD sockets API as the common interface to the transport layer, in an environment where endpoints could select from multiple interfaces and potential transport protocols."  That's a very helpful touchstone.  If I squint at the BSD socket API, I see two key differences from what's presented in the current text.  Because one could read the .h file, the BSD sockets interface was clear on:

(a)  data structures and data types.  This draft introduces complicated abstractions with limited definition or underlying representation (e.g., "identity", "ciphersuite").  Additionally, there is no sense of where enumerated values would come from.  

(b) function prototypes.  This draft has illustrative examples of pseudo-code, but the canonical list of functions and their associated prototypes isn't clear.

Per the goals you outlined in (1) and (2) above, it is clear how this ambiguity serves goals (1), but it seems to impede (2).

Thanks,
Roman