Re: [kitten] Review of draft-ietf-kitten-channel-bound-flag-04

Greg Hudson <ghudson@mit.edu> Mon, 11 March 2019 04:26 UTC

Return-Path: <ghudson@mit.edu>
X-Original-To: kitten@ietfa.amsl.com
Delivered-To: kitten@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A39A612F19D for <kitten@ietfa.amsl.com>; Sun, 10 Mar 2019 21:26:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.002
X-Spam-Level:
X-Spam-Status: No, score=-2.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-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=mit.edu
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 TGIpnnf2kQvJ for <kitten@ietfa.amsl.com>; Sun, 10 Mar 2019 21:26:05 -0700 (PDT)
Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-eopbgr820139.outbound.protection.outlook.com [40.107.82.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8E55C12008A for <kitten@ietf.org>; Sun, 10 Mar 2019 21:26:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OIOoUxmww0ift1G/a0quqq/WRLjHW6o7Nsmu+aWogIQ=; b=Bvr3IQBYSyp+LLZpY0XiPJov5eXA+sybBBX8xNbri03vHPP8fZGCWCtQI5ZnHKcvbkI+eViTmMEBr6zsEetgaf47WH83CNd39HHjN8wlf/Y65J61x2+7JCZ4ShIcznHTRAuv5cHkYYSbUhyUXgTefgZLjZSweYkdTO6hVkZAMOE=
Received: from SN6PR0102CA0030.prod.exchangelabs.com (2603:10b6:805:1::43) by BL0PR0102MB3585.prod.exchangelabs.com (2603:10b6:207:1b::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1686.18; Mon, 11 Mar 2019 04:26:03 +0000
Received: from CO1NAM03FT038.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e48::207) by SN6PR0102CA0030.outlook.office365.com (2603:10b6:805:1::43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1686.18 via Frontend Transport; Mon, 11 Mar 2019 04:26:02 +0000
Authentication-Results: spf=pass (sender IP is 18.9.28.11) smtp.mailfrom=mit.edu; ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=bestguesspass action=none header.from=mit.edu;
Received-SPF: Pass (protection.outlook.com: domain of mit.edu designates 18.9.28.11 as permitted sender) receiver=protection.outlook.com; client-ip=18.9.28.11; helo=outgoing.mit.edu;
Received: from outgoing.mit.edu (18.9.28.11) by CO1NAM03FT038.mail.protection.outlook.com (10.152.81.212) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1686.19 via Frontend Transport; Mon, 11 Mar 2019 04:26:01 +0000
Received: from [18.101.8.116] (VPN-18-101-8-116.MIT.EDU [18.101.8.116]) (authenticated bits=0) (User authenticated as ghudson@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id x2B4PvHj023651 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for <kitten@ietf.org>; Mon, 11 Mar 2019 00:26:00 -0400
References: <tslbm38vl8h.fsf@suchdamage.org> <20190308014640.073E2404C@ld9781.wdf.sap.corp>
To: kitten@ietf.org
From: Greg Hudson <ghudson@mit.edu>
Openpgp: preference=signencrypt
Autocrypt: addr=ghudson@mit.edu; keydata= xsFNBFLMQYIBEADZLNv8Jpeo2d4XSLE+k6m1VD2iOyX66wErZKaQpYrGB/leWKfz8l6c3pWd iVUnCoyxKlhRuGVArszdh2wUSRgHnMl86JC/vIdawdOdbnlTVfOJTiP3EfycsMUUDG6GckLY e+xxo7sM/bpXpGkbIWc0Ec/vbQt67eeW2En1AqL+ezJdVN9XL8icH2Hu6HlqxGgleC5H0yAi kM4yvNjo5z2M/Dr/x63bLcIdKkSRPzd0OaBg2g0Yh651eYpPu0e1Gi6785ZBjV4bnv3K5oLo 5XsiHIZ60maHWTEyMO/byw4aS2cCWIovXurvz699KSF83B296+xhsFhhz4+kbQgXvJt4kIoI pdpX6xbIkeVlc+FuUbyE8MUGveA3TFHXZ4+0f2tvTekey/62FOeXnrqc4NsBViir3zGTXAqC 7PQTNnX/86jyW+9SnJo9XbSBB3NV0K5I2o1cDzqRPqy/4fsoq8SxQwRga0CSId1PzE9PUEUY V0FCldo9LvPsUK9YE7AuwC+bcQiVLah5TF+5Kk7yLSaRxzQ3fI5lcqk5UPUqMLa87cRBdnal niuHVg0u3W22RMPkWe2iPIYYdr4TQDzCkD2JXpXNaZ3KipVT5aqowwfPEt7b6ti0vjrOInij YzFmVNMGKYabwh2zxKWQQ8GO5mUVu09CSe33H4EW7pDP+zHr2wARAQABzR1HcmVnIEh1ZHNv biA8Z2h1ZHNvbkBtaXQuZWR1PsLBeAQTAQIAIgUCUsxBggIbAwYLCQgHAwIGFQgCCQoLBBYC AwECHgECF4AACgkQDLoIV1+Dct8dZBAA1Mtoq1RPuUQg6hL2qFjwTEXeonWq8czkQ1fNNzO9 x8I3VLn5L6CmWeAmxRU1DD0qZ5HL24+Mwnvy/eazp4/CSgiPC52KfbNsnQtg/E+8ruFQVHA/ 3HZXuCT/Nz4s06N3fMZrJLCGNEHRD0S43kb2GGboVY3ykO3FbPJB/DxDqtIMqt6B1SZ87UAR CVsRc296X3TsF9BgoQ/n54XfYAzrACkuIH9biHmH6wB1eykCeuhkCsu5Zf/tlSXJCFiuhvS+ CX2EbNKF+0MLcGAavSzbjTnQw3kv8unSgecbEQ7A8ibGx6Jwgnvy0gzu6w4prhR40pVYDcL+ sKsmQg6jo/uPvGdEqHISFSK8FxGGAonaAwg0014bXLaPo2MckcZ+szcHA/z4vpTdB1vChexL omM5ZTeSJaFfeYsspv8sq6EL1x21c7A+ngCmB70/OZR6dcgf9/ILmcjBiYfJHYukXTIvGT6y QJbok19So8RJKUYjzzHDKBweg8x6HdIrdy7HTcLzsqY9PFGg7/YlbLlGQwYXhK1b4uBmWyE7 I/402+57I1YpMYND7vsTmJuE13Gv5ZGhYn5pSzX9ZTWY13LgGymkWBXPxfefkHKTV9ROCGEL t7SV3Nf7ZsCGLRGmDT6oqLz75/IrhKEcHIfD4ct+QvIm6pvPNvikQMwPWSd52GazILLOwU0E UsxBggEQAKaz/wX8nsSUaivmwW4NVlbmTsErHUt9iNHm9CmieuoDv1o8qUqEV6RiONIs0q5Y +dcooazhHRNpjAST2rbQFBZebfpVRKYAGzHoZEQ6OV8Eao+NjAGazS8RuwIxpeZ36r3AyVhe TAIvIzwpQFDNKTIUNbXctHrZ157TlxDuKwZ3+Yw/bhQE5YGrSLm17wIMcY3UHiE1mO5X0ohR dDeTf93PignUUvWvRRQLyxRGsBLz/CCwmCJZeu/FjnDk8HkEbAlmFAJ+YZu9rQ40vU6Z40KY L5U9PIn0FdSxviK7mys+VbFYV6mXWXZN8dOkHuG6zSdmobE90G6ZzAPcI4cyql63N+kUOb3b hGI/Wvn6tUbWeIc8UvQGpYb0+eOKHQBNKUOq5RV98hZorZRCu2W2RzZSxiufyONvtonbUtYs BMdw+gqUpK0ir782lc3cKbj+X5iiyg3ZGvBmTU6FN/MiX6MnTyEwOScFboKe6vB8ZgwII85K n9qlSI3xH56JBXamMP0yqJf57q0WfP8V7lFtm8SmhU2NQyP3wRYDm2+bLTNCmRPJN2ZUgkTx c/Qjov8TeeiTfX9S3ea/GJOdgA1mQfSkmUoOWROnwDBbKGBXNzkkoJna8j/zWgo/mQ5gNdIu HXcIdDKbyyhVH3+DwxXYWyYP/pnIk3AVCss75dXcdStfABEBAAHCwV8EGAECAAkFAlLMQYIC GwwACgkQDLoIV1+Dct+oSA/9HyTkr+UQbaucXE9pP87yasObKCBxYhoeRjzBhgtYUtSDuH2o xl5M3wmTNOooQSa8R1ljhax9v02pqspIA9hyGjGjvZ6jPydDsANNcohdbMjCzXNdrCF5149w gbGQ07rkc5JNyajzxH4GE/BXclTzwTYAaHvYM5PEQLDhmubK3M/kBvjWpZxLAJAobMi/jVwQ cmai+N56X9Ht/FVIQlmCuXoMAE9ScVWFaq8JnCo9VZ0G045NcxdEoQXVUXb3E5cmZ0Ld9sUm SKSJKjYWjfE4c/8oylZuo9LDTwozBEp/jsASjL0g8F3QJsQUkFkKROd45xHcIkFulshS3xkG gMu6UduV2ypPz987f+0wdVwx+KYnmnUB83gxqVucFRxfZZXiUHUml4rJ7Ww2+//H9FFPfw9f aPMg7nLFm2T0to3pwgyisLH/aThzW3TY7CZ7gkvMDtbo9EHrN4Nl3onuOtOKQpIMbFVqX4YZ m6znSLuUiWDUd8rvQfz+4ndZKIFOG1YIKwQBV8tN1RYBGY9bhv2Wtt5X6SKIzkUhDdgeyzci MC1M3N0Pqoqrms7FdBKAd0BE7puhQ24U42APss+Ur6WyRZMQTKc41SZWfrWV30agytUVdtRu gxERw74qeGAz6o3if42vI6u30SR6OCLMMSobqKc7HQvJ2qv3Z6j9kt1zXiE=
Message-ID: <9bed7e51-4ba6-49fb-f1b1-722121317bdf@mit.edu>
Date: Mon, 11 Mar 2019 00:25:57 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <20190308014640.073E2404C@ld9781.wdf.sap.corp>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-Forefront-Antispam-Report: CIP:18.9.28.11; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(39860400002)(346002)(376002)(136003)(396003)(2980300002)(199004)(189003)(6916009)(36906005)(64126003)(58126008)(316002)(246002)(486006)(786003)(305945005)(106466001)(50466002)(88552002)(36756003)(2351001)(229853002)(478600001)(26826003)(106002)(6666004)(356004)(2906002)(8676002)(31686004)(14444005)(956004)(76176011)(75432002)(65956001)(47776003)(11346002)(8936002)(476003)(65826007)(26005)(5660300002)(230700001)(31696002)(336012)(186003)(446003)(426003)(23676004)(2486003)(6706004)(104016004)(6246003)(2616005)(86362001)(65806001)(7696005)(126002); DIR:OUT; SFP:1102; SCL:1; SRVR:BL0PR0102MB3585; H:outgoing.mit.edu; FPR:; SPF:Pass; LANG:en; PTR:outgoing-auth-1.mit.edu; A:1; MX:1;
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 627982db-3623-46b4-e6b9-08d6a5d9ab7f
X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4608103)(4709054)(2017052603328)(7153060); SRVR:BL0PR0102MB3585;
X-MS-TrafficTypeDiagnostic: BL0PR0102MB3585:
X-Microsoft-Exchange-Diagnostics: 1; BL0PR0102MB3585; 20:Td9YtRzOxYpiBquIBnZLwvabXK8VkGFFVOITb3WZ3xG0z3eWAQpJvc4epwZDnR4OMZOyRTNsYLRucHT7kajGDQtDCjc2pFXN0wGFNm5IyCqMqcYH3t8fHRGcaU1X8sTmnDI3fU3Ekq5E6KdFOL3gYvznALW+ZHoqRT+WNDCqah10ta67sakE8sYpJuffkZZRPaQFYIMsZ8vEytiqdFfSnNjWAAhvOeOCkdPQwyAH0kwnLTfN9JXuACgzOb7cbJ0CyyQOD3JtgQJ2kDz+6qAllWJboVN9wVoRsPqSJMWlkyB1KocSMVHo6Q/Vo4pISnxKWRN+UiskKVRIhxe6DjCELYN1E+3rh2PVfIKiC3q06n7trpzOErWT2KsPnNfUCybc7xF/if2De8tVyB82Ok0LwHvadt/t7CetefMHv9kMh5VbFK71UAYANyixhYbtfIL/XyEBdu4xPsODNYxiw/ETq6V3Qa4nG7glgyYHwlfEar5rmGIM3knPxZMu719b3yPOUe/2wipwEbhZ+xd5ECiZbjcyS+M0gCikNobmGDSPm1ETIimRy33qTlhHDDmqNMZRUJbf4eCZyIoavEsgWWn7Btkw77qfcX/GqdknKBrxJOw=
X-Microsoft-Antispam-PRVS: <BL0PR0102MB3585375EE6DB4248167FB0F5BC480@BL0PR0102MB3585.prod.exchangelabs.com>
X-Forefront-PRVS: 09730BD177
X-Microsoft-Exchange-Diagnostics: 1;BL0PR0102MB3585;23:URbur84QOUHG2BkEmCP1d/AIcz57jdqBnd8N3yiI/q6qsEupH9Go1uwcuG5oJ3UPCJCQV/zzRE23+OkapSakGte2ra7dHOls03Hd0cZ+NjBOPJRHBB7b6ffyh2Bi+DUY7XTZktzgKH6HpcFrvHj/Q/enr0tkQUQmq4XSfY0zVXvfKLMqG3KRh7+Lu5aGegE1ZKUfRi9TpWWz6eefvVGAgYSjPOss/jfIh7rYOOlPgqJ7zTOp2B4AWWAD1w1K/FepERk0ry4jap9dmN19FmOhht/fpwe9f4Erxe9fIQDR0OZyut1dgXBwFkPUA7wHH9YKY6dRcdV530n1NtJbPW50leV9ZBaYMbQYZJNBbUBLvZc1I1Oc2dTYbG7LZJAMSTXesGKLAAKKQ1qCso2vJAd8dXXrH7wpySTBy0cTVf4ZuxPWGt/7t2Kc0qzWAz53iQCl+CoR3bk4hDsNzzyMEYnxer6du6ygzQdsCCvcd1qWYP6g5DwR+WK5V2GdW7gZuMagiWTOWmJR0U5NDO7dCVgroqLCrMFXyJUQmuBOTyKRXESkQ3wRMYep4d3dhdhWKEqweO1iodhHDQpTErzdZycyHHq+WjuReQUTnhhvMMUFh0mK5KiYgeSpOlw7IMp7L/sYg1PQOXUtjEw9XZQw0Ed1+5wdUKREG6a9+4tjBLOVgFfKaOEoIVDADC5t7/gz2LoY5csJ/wvgOpe2uKEFiZi16IRs5Qe+sqZM0IshLYUY0x2w6O6xyIrV+HcSIf2NJKssx+++cjqUG9/glYR5zGAzD43uDF/0Kf8GlX7SZaJrC59lyYFhLeL2r2Ex5GRWx/CppM2ajuCmcjHYaBxVScKWkiBjUvCtu9EkahUqS7pMGqm9mDfheht3fyE2XDrkF78WIpIaB/5uamkbv4d41fhwQUo9UYbEnngqGlXMt/djK65YypYjm33eLFc7VHGniaRyTk4xL1OdPaJPa/Mkw8smVtT9hI5+CEi86jBT6EcOteWNl2rS7rVIpgnE1FyRg9fTxUSkx0SvX2+XMCfJ8y80idLX5cOtNPIv3eulf93IaKh/Vddkfufb2vteExOuYThSeSsdLJjKdijYzMye3hO7H83uRcRtrAzkCj4nhGvEpXMMQ3m4K2aJu2chi2sYhsUO9wcmPn6BUOZfpNB75tAJHMhX8wvXknZucEuHBROIq3Y4zsfhR+8G9Erm9n+OLMYEU7dYa+rPzr5JBECCrIrBjkdJua8GtJq/D7hHfZdhSpAfWRLI7BNtqP57/dBjhlMM
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Message-Info: DGfGLKZdzydugOOw51HSwpVZUQuf9kHgUX8bo2ChPiI0FqFVoCHGbKggrf2cS4CHBC4aRytAOxELhuCieNK0GB3FRcYtwQcoCW/YOdM9VkIyg4yFkS3K6/tAKsoy0J7AcDJ+mezIbApJwTvY1iWBbRzIXw/dtb9rL9nHgH8DXNjer/o6qAFscaVcAB0EVax3/JFd2rcpAlEbf6zk48iW0thcfglSP0Ut2c9MruQfaqcCz9WJTfTuFRLA8Ai+61svHqNwDLlQPXld22aZh59EfESyzpwVE4Imbq85fw50ZHWoDpwDhaekHQDe6kVocinG8tqralCIZELikEvv4/7SjoR21S7XL5DbQ9MIvzJBwzdReHJcWewCbWP9Eo0y4Fg1QNrAletIO34fRfhXd30txa5Ztl05BL3zfxpi8TpLGt4=
X-OriginatorOrg: mit.edu
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2019 04:26:01.9142 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 627982db-3623-46b4-e6b9-08d6a5d9ab7f
X-MS-Exchange-CrossTenant-Id: 64afd9ba-0ecf-4acf-bc36-935f6235ba8b
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=64afd9ba-0ecf-4acf-bc36-935f6235ba8b; Ip=[18.9.28.11]; Helo=[outgoing.mit.edu]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR0102MB3585
Archived-At: <https://mailarchive.ietf.org/arch/msg/kitten/ak2ZNq8h73GKlvmbPVjhDCdtdtQ>
Subject: Re: [kitten] Review of draft-ietf-kitten-channel-bound-flag-04
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Common Authentication Technologies - Next Generation <kitten.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/kitten>, <mailto:kitten-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/kitten/>
List-Post: <mailto:kitten@ietf.org>
List-Help: <mailto:kitten-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/kitten>, <mailto:kitten-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Mar 2019 04:26:09 -0000

1. Sam suggested that we consider allowing context establishment in the
acceptor-only binding case (i.e. where the acceptor caller provided
channel bindings but the initiator caller did not).  Sam notes that
Moonshot's GSS-EAP implementation allows this, and that policing a
legitimate initiator's decision to provide channel bindings isn't
security-critical in common scenarios.  He nevertheless supports a
mechanism to inform the acceptor whether channel bindings were used.

I discovered recently that Heimdal's krb5 mechanism permits
acceptor-only bindings, if I read the code correctly.  So it may be that
MIT's krb5 mech is unusual in rejecting the acceptor-only bindings case.
 (GNU Shishi's GSS krb5 mech does as well.)

Relaxing implementations to allow acceptor-only bindings solves the
original problem of allowing channel bindings to be introduced at
acceptors when not all initiators provide them.  But without some kind
of signalling, application code can't be certain in advance that it's
running against a relaxed implementation.  A mechanism attribute is the
most robust way to signal this.

2. Nico noted (out of band) that with a relaxed implementation, we can
communicate channel binding state very simply: allocate two ret_flags,
one for "channel bindings were used" and one for "channel bindings were
not used".  If you don't get either flag back, you're running against an
old implementation (or, on the initiator side, the mechanism protocol
doesn't provide confirmation).

In this model, we don't need a ret_flags_understood input to
accept_sec_context, and therefore don't need gss_create_sec_context().

3. Martin argues against channel bindings altogether, on the basis that
they break proxies and that it's better to use a channel security layer
tied to the authentication mechanism.  This viewpoint seems out of step
with the decision not to provide a security layer in SASL GS2.

Practically speaking, the most common underlying secure channel is TLS,
whose server authentication (when the client actually performs it)
prevents MITM attacks in most cases.  It is of some concern that TLS
does not have the same server naming or trust roots as the GSS
mechanism.  I'm not sure that amounts to a pressing need for channel
bindings, but I do see some value in them as a defense-in-depth measure
when it's not desirable to allow proxies.

I don't see much value in endpoint channel bindings.

Separately from all of this, I am a bit concerned that we are fulfilling
a need to upgrade from no-channel-bindings to channel-bindings, but once
an application protocol starts using channel bindings of any type, there
is no practical way to upgrade to a different type of channel bindings
without application-layer signalling.