Re: [Teep] Working Group Last Call for HTTP Transport for Trusted Execution Environment Provisioning: Agent-to-TAM Communication

Dave Thaler <dthaler@microsoft.com> Fri, 03 April 2020 00:14 UTC

Return-Path: <dthaler@microsoft.com>
X-Original-To: teep@ietfa.amsl.com
Delivered-To: teep@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F16F33A091B for <teep@ietfa.amsl.com>; Thu, 2 Apr 2020 17:14:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.09
X-Spam-Level:
X-Spam-Status: No, score=-2.09 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, DKIM_VALID_EF=-0.1, T_SPF_TEMPERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.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 kTs1hfg29ohv for <teep@ietfa.amsl.com>; Thu, 2 Apr 2020 17:13:57 -0700 (PDT)
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2135.outbound.protection.outlook.com [40.107.223.135]) (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 686E53A0900 for <teep@ietf.org>; Thu, 2 Apr 2020 17:13:52 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GsY3AKb5UOYFOpgFtR2pdgGcmdNAVE6UtDps3qtmJKM3ZYO7SMGhyeMf3mGRsOZBavBxr7kEH7w0cmAQeKBlNTuO3PVcg6RIuIP97zVBad4weK2lYB1k2ZlQuC04DA9kfBM79/tNDQCzJN5Q47Op9bo1mkvFYlDGGgBK1TjR3Lt1VqiYTVeRQSrKnmgCcWrc3HHsllCGHur6fTscJ0QRi1RrIrjNEshDtuel1Vv0+1JzZdEGYqv9yknT9bPApXm0Bm6TUip7wMErw6o9jAr80GJwupYxcbzmKlXfCMX4dJEi+ZGYQa095LaR1LhOBPBs6NvNKlcvC3O3FEd68ABQMg==
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=nmI9THkT+d5nTQM1DjztZ73jzdCP4Zpg3DqrsFsUvz8=; b=FOM/TB2Am8a8fFuh5SEAaGnNVJMbOUGLqojjYXlSUXsygbVCmFAUWygtaKwqqTditb/hfYVMPZ2l5bEGZXiXoPq+wbOJGFXUYFb6JxaLZOX0Vhf50bDQfmyyqmx98n3feKmLb5E50zYw75fUcQRn9PlQDghtX1UkoXz5f8Ak24U0ZZa0tAvP/InG3H8n4IMOFyDiLAuPX5duzWnRh2g4O0gW5hNQ2OeZmJN6aiSpRWNOLhn0VNe31TPqMwY4Kz4qigZE274jcFhPn5ZNNePXOk32CIKp9x0EcWWra8oLONMZbh4IrSzGtRNibYr9PU54p2zpLLu4qstWJyP1N4qK9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nmI9THkT+d5nTQM1DjztZ73jzdCP4Zpg3DqrsFsUvz8=; b=QCoCMXe7xz9P3bOJFZsAU7LnnXFXRkkgHGl9QD29Jk0zxBCq7xOoqXWb5slsPLJdYyzfk/riGx8pvtDlo5I/Bd7krIx1BZxrdvNcIcVLbGWQSfPt/zOQdvpHKpobXlYoTPPqFsxPePekAL0491XbGTvmdJNusJIQlXnOBt6FPZQ=
Received: from BL0PR2101MB1027.namprd21.prod.outlook.com (2603:10b6:207:30::33) by BL0PR2101MB0915.namprd21.prod.outlook.com (2603:10b6:207:36::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2900.2; Fri, 3 Apr 2020 00:13:33 +0000
Received: from BL0PR2101MB1027.namprd21.prod.outlook.com ([fe80::e5f4:bd2b:d304:bfc9]) by BL0PR2101MB1027.namprd21.prod.outlook.com ([fe80::e5f4:bd2b:d304:bfc9%4]) with mapi id 15.20.2878.010; Fri, 3 Apr 2020 00:13:33 +0000
From: Dave Thaler <dthaler@microsoft.com>
To: "teep@ietf.org" <teep@ietf.org>
Thread-Topic: [Teep] Working Group Last Call for HTTP Transport for Trusted Execution Environment Provisioning: Agent-to-TAM Communication
Thread-Index: AdYIjsWAkp4hHTTyQpSZ0l0sLMZy8gAvLK+A
Date: Fri, 03 Apr 2020 00:13:33 +0000
Message-ID: <BL0PR2101MB1027EAFE442C4482B7830C86A3C70@BL0PR2101MB1027.namprd21.prod.outlook.com>
References: <BL0PR2101MB102751E84CB7D3F92D454AD5A3C60@BL0PR2101MB1027.namprd21.prod.outlook.com>
In-Reply-To: <BL0PR2101MB102751E84CB7D3F92D454AD5A3C60@BL0PR2101MB1027.namprd21.prod.outlook.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=dthaler@microsoft.com;
x-originating-ip: [2601:600:9780:16f0:6893:5b01:eac2:20f6]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 824b4325-ed97-490e-90b1-08d7d763d8ad
x-ms-traffictypediagnostic: BL0PR2101MB0915:
x-microsoft-antispam-prvs: <BL0PR2101MB0915E99A4BC0AE91C7E10BC2A3C70@BL0PR2101MB0915.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 0362BF9FDB
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL0PR2101MB1027.namprd21.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10019020)(4636009)(396003)(346002)(136003)(39860400002)(376002)(366004)(82950400001)(33656002)(9686003)(82960400001)(6506007)(76116006)(7696005)(478600001)(316002)(53546011)(8990500004)(71200400001)(52536014)(186003)(81156014)(8936002)(6916009)(966005)(2906002)(10290500003)(66446008)(66476007)(5660300002)(64756008)(55016002)(66556008)(81166006)(66946007)(86362001)(8676002); DIR:OUT; SFP:1102;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 0PK4Ew2d+3n8ttIKFhBP6XGhSPek/LYrsNXoGWXB7NmKfubey1d7+KSK2m9telTGgZ0poYtqBsZIiNsNJqHTn5JbRs+d+MQGN4QscOV79gwMdy8Rcy+YwqhMF1638+3qIgDEetx6XwdSqBJodKhUAx8WsoCf5QnpwQvubBC/CqrRMp57LwcpESiyTtxTtRFGfWGx6sASqD72H+XU7D9DhPfJWsi7ggTQQasmsYXAK204QaguxIJdH1GuTKB8qmQiECUVk1+x0nmJAIV/W/8X/uricPmattBIaSvCs6ZXXWlpvQQaFWP6pT2aTyn3Rtj27Nte4mKdcbMcuYq67P/1S+7DOlyz7cFSeYnGT8VbU/oRwrJUpbpm7t8DBtfux1BnStKWjg7yXhI2ieU/W+yCnAk8+qIn9I+4p1IQIfmPVE5/O4zsShVByKLEqRclMZM9afVAmiZo7iSARW1ZzjJFAtwjmvIfYNE2TEZMS+01ilzuKrq5NSfSkh33uZFHx0nRSMryMwAdipj9x4GmbqIS7w==
x-ms-exchange-antispam-messagedata: 0x3SlU6xw2nsONeCFzZmJUTk5YHWWHIC6ncJBu5c118RzqxoCiAITVuNFDT/4seT/JT7hy9Alsmbdh86BKjSkG9yxDZotROQyKd+H5VH3yKl8xOzgomE9kh4eDMRZsIppK1+8FR4Mtwu4kD5PwZIGmjoJ97VowaDl/KfLQubAoliEq78H8UEEQ+JmzvK8ECuvApnStmP2UFFTBbA0LrwIA==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 824b4325-ed97-490e-90b1-08d7d763d8ad
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Apr 2020 00:13:33.1583 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: +kuyyqrs5lnh6baG+yG42IpdrG7+Oh8f+y0AgsCkQjOiyzTKY+DVzePgANIRQAesXJAxFQxT5BFgYkZW0Z4W0rU0D6eSZ1Tyw48GoRma8KM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR2101MB0915
Archived-At: <https://mailarchive.ietf.org/arch/msg/teep/ko8AKfFLFCe3XALUaQTHK5RwGb4>
Subject: Re: [Teep] Working Group Last Call for HTTP Transport for Trusted Execution Environment Provisioning: Agent-to-TAM Communication
X-BeenThere: teep@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: A Protocol for Dynamic Trusted Execution Environment Enablement <teep.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/teep>, <mailto:teep-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/teep/>
List-Post: <mailto:teep@ietf.org>
List-Help: <mailto:teep-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/teep>, <mailto:teep-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 03 Apr 2020 00:14:08 -0000

For point 4 (TLS considerations), I filed https://github.com/ietf-teep/otrp-over-http/issues/10 and
my proposal to address it is as follows:

OLD: When HTTPS is used, TLS certificates MUST be checked according to [RFC2818]. 

NEW: When HTTPS is used, TLS certificates MUST be checked according to [RFC2818]. 
NEW: See [RFC7525] for additional TLS recommendations.      

Rationale is that RFC 7525 (BCP 195) is what contains the answers to questions like Tiru asked in point 4, in a way that is
not specific to TEEP, and already has IETF consensus.  For example, section 3.1.1 of that RFC deals with TLS versions
as Tiru asked about in point 4.   My proposed approach also means we don't need to come up with TEEP-specific text,
since I don't believe there's anything TEEP specific here, given that TEEP messages are secured end-to-end inside so
anything really TEEP specific to say would be up in the TEEP protocol.

Dave

-----Original Message-----
From: TEEP <teep-bounces@ietf.org> On Behalf Of Dave Thaler
Sent: Wednesday, April 1, 2020 6:35 PM
To: teep@ietf.org
Subject: Re: [Teep] Working Group Last Call for HTTP Transport for Trusted Execution Environment Provisioning: Agent-to-TAM Communication

As noted in my earlier response, I reached out to Mark Nottingham for his advice on Tiru's points 4 and 7.
Below is his response, forwarded with his permission (thanks Mark!).

-----Original Message-----
From: Mark Nottingham <mnot@mnot.net>
Sent: Wednesday, April 1, 2020 5:46 PM
To: Dave Thaler <dthaler@microsoft.com>
Subject: Re: bcp56bis advice

Hey,

> On 1 Apr 2020, at 1:43 pm, Dave Thaler <dthaler@microsoft.com> wrote:
> 
> 4)    When HTTPS is used, TLS certificates MUST be checked according to [RFC2818].
>  
> Comment> RFC2818 refers to TLS 1.0 and several of its sections are outdated in comparison with TLS 1.3.
> Comment> For example, when TLS 1.3 is used, is 0-RTT supported ?
> Comment> RFC2818 refers to RFC2459 and is obsoleted by RFC5280.
> Comment> What TLS versions should the client and server support (If TLS 1.2 needs to be supported, please add text discussing the privacy and security implications) ?
>  
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Fdraft-ietf-httpbis-bcp56bis-09%23section-4.3&amp;data=02%7C01%7Cdthaler%40microsoft.com%7C9d741f60d5ad452f08cd08d7d6a61edc%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637213881296225956&amp;sdata=bEJ4sbVmO%2Fanq0ECkTHHzJn%2BV2Sfbz1DFCYZD4QY%2Fsc%3D&amp;reserved=0 says:
> >   o  Certificates - Applications using HTTP should specify that TLS
> >      certificates are to be checked according to [RFC2818] when HTTPS
> >      is used.
>  
> Which is what this doc says.   Do you think that bcp56bis is deficient in not asking app protocols to
> say what TLS versions should be supported?   If so, you should provide that feedback soon (if you didn’t already) since it’s
> listed as WG Consensus: Waiting for Write-Up
>  
> I’m hesitant to add any text here without a specific recommendation from that doc since I’d probably get it wrong.
> Leaving it silent, on the other hand, means people should get the answer from bcp56bis, which is referenced in the
> Security considerations section.   I don’t know if that’s sufficient or not, but would want advice from someone like
> Mark.

I'd probably handball this to the Security Directorate or similar; we didn't go there because it's not HTTP-specific.

> 7) 
>    If any error occurs where the TEEP/HTTP Server cannot get a message
>    buffer (empty or not) back from the TEEP implementation, the TEEP/
>    HTTP Server generates an appropriate HTTP error response.
>  
> Comment> Any specific reason for not specifying the error code ?
>  
> Yes.  There are many possible error reasons and legal HTTP error codes 
> for them, so it’s up to the implementation to pick an appropriate one based on HTTP specs.
>  
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Fdraft-ietf-httpbis-bcp56bis&amp;data=02%7C01%7Cdthaler%40microsoft.com%7C9d741f60d5ad452f08cd08d7d6a61edc%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637213881296235912&amp;sdata=30gs5vohevDreckLzuahUqCqnHAN30aKiI5tujKBMSM%3D&amp;reserved=0 says:
>    Instead, applications using HTTP should define their errors to use
>    the most applicable status code, making generous use of the general
>    status codes (200, 400 and 500) when in doubt.  Importantly, they
>    should not specify a one-to-one relationship between status codes and
>    application errors, thereby avoiding the exhaustion issue outlined
>    above.
>  
> FYI, when MNot reviewed this spec (as author of bcp56bis) he said it looked ok.

It does. FWIW I don't think it's harmful to say "in this situation, servers should use status code X, because that's the most appropriate one for those semantics." What you want to stay away from is saying "clients receive status code X can infer Y." Unfortunately, the difference is subtle and easily misread.


> Comment> Why is ietf-httpbis-bcp56bis an Informative reference ?
>  
> Fair question. I don’t have a strong preference either way.
> Current answer is because it’s not used in any sentence in a normative way.

FWIW, I don't think it's necessary to reference 56bis unless you're relying on it for security considerations or the like.

Cheers,

--
Mark Nottingham

_______________________________________________
TEEP mailing list
TEEP@ietf.org
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fteep&amp;data=02%7C01%7Cdthaler%40microsoft.com%7C9d741f60d5ad452f08cd08d7d6a61edc%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637213881296235912&amp;sdata=epiCVsUuAaX9y6asychxO%2B4W9o5wmQcZSuhaKl8yxhQ%3D&amp;reserved=0