Re: [TLS] PR#625: Change alert requirements

mrex@sap.com (Martin Rex) Wed, 07 September 2016 18:45 UTC

Return-Path: <mrex@sap.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6AC0412B60A for <tls@ietfa.amsl.com>; Wed, 7 Sep 2016 11:45:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.922
X-Spam-Level:
X-Spam-Status: No, score=-6.922 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 6v-ULsiR2HxX for <tls@ietfa.amsl.com>; Wed, 7 Sep 2016 11:45:30 -0700 (PDT)
Received: from smtpde02.smtp.sap-ag.de (smtpde02.smtp.sap-ag.de [155.56.68.140]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ACF4212B614 for <tls@ietf.org>; Wed, 7 Sep 2016 11:45:17 -0700 (PDT)
Received: from mail06.wdf.sap.corp (mail06.sap.corp [194.39.131.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtpde02.smtp.sap-ag.de (Postfix) with ESMTPS id 3sTspg4ftFz25dm; Wed, 7 Sep 2016 20:45:15 +0200 (CEST)
X-purgate-ID: 152705::1473273915-000035F6-1FA379DE/0/0
X-purgate-size: 1499
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate-type: clean
X-SAP-SPAM-Status: clean
Received: from ld9781.wdf.sap.corp (ld9781.wdf.sap.corp [10.21.82.193]) by mail06.wdf.sap.corp (Postfix) with ESMTP id 3sTspf3jrzzky09; Wed, 7 Sep 2016 20:45:14 +0200 (CEST)
Received: by ld9781.wdf.sap.corp (Postfix, from userid 10159) id 7C1291A54F; Wed, 7 Sep 2016 20:45:14 +0200 (CEST)
In-Reply-To: <DM2PR0301MB0847A61D65DBF3AEC2149E168CF80@DM2PR0301MB0847.namprd03.prod.outlook.com>
To: Andrei Popov <Andrei.Popov@microsoft.com>
Date: Wed, 7 Sep 2016 20:45:14 +0200 (CEST)
X-Mailer: ELM [version 2.4ME+ PL125 (25)]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <20160907184514.7C1291A54F@ld9781.wdf.sap.corp>
From: mrex@sap.com (Martin Rex)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/O3y22XFYtVL6pB-xfnNvMbAtSZ8>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] PR#625: Change alert requirements
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
Reply-To: mrex@sap.com
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Sep 2016 18:45:33 -0000

Andrei Popov wrote:
>>> the only popular stack I found that does not seem to send alerts is 
>>> the schannel from Microsoft
> 
> To clarify, schannel does generate alerts per RFC, but the HTTP stack
> (which actually owns the socket) sees no value in sending them.

"Pillows don't hit people, people do." ;-)

When operating with a transport-less (i.e. opaque-PDUs-only) API,
it is somewhat unusal to having an API call _fail_ *and* return output
parameters & transport requests at the same time.  Higher layer programmers
(and the exception-style programming) often do not expect having to
deal with both.

I actually notice just now that Microsoft Win32 SSPI DeleteSecurityContext()
(Microsoft's incarnation of GSS-API) does not have a final/context-deletion
token output parameter.

In the original (DEC given to IETF) GSS-API design, the "final token"
was not meant to be emitted by a failing context iterator call along with
a fatal error code, but by a _successful_ call to gss_delete_sec_context().

I'm actually confused--where does SChannel return that TLS alert PDU
(and along with with what kind of API return code)?



Admittedly, for applications on top of GSS-API (rfc2743/rfc2744) it is
quite common to _not_ bother conveying the optional(!) context deletion
token that may be produced by GSS-API's gss_delete_sec_context(), and
the GSS-APIv2 spec acknowledged this being a common app behaviour,
and deprecated the context deletion token.

-Martin