Re: [sipcore] Benjamin Kaduk's Discuss on draft-ietf-sipcore-sip-token-authnz-13: (with DISCUSS and COMMENT)

Benjamin Kaduk <kaduk@mit.edu> Fri, 24 April 2020 20:13 UTC

Return-Path: <kaduk@mit.edu>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F3B8F3A0A41; Fri, 24 Apr 2020 13:13:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=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 7QJuUcRWkto4; Fri, 24 Apr 2020 13:13:36 -0700 (PDT)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) (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 90DBC3A0A3F; Fri, 24 Apr 2020 13:13:36 -0700 (PDT)
Received: from kduck.mit.edu ([24.16.140.251]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 03OKDHO9009058 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 24 Apr 2020 16:13:19 -0400
Date: Fri, 24 Apr 2020 13:13:16 -0700
From: Benjamin Kaduk <kaduk@mit.edu>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Cc: "Olle E. Johansson" <oej@edvina.net>, Paul Kyzivat <pkyzivat@alum.mit.edu>, The IESG <iesg@ietf.org>, "draft-ietf-sipcore-sip-token-authnz@ietf.org" <draft-ietf-sipcore-sip-token-authnz@ietf.org>, "sipcore@ietf.org" <sipcore@ietf.org>, "sipcore-chairs@ietf.org" <sipcore-chairs@ietf.org>
Message-ID: <20200424201316.GX27494@kduck.mit.edu>
References: <158766991009.32224.6031347936963900326@ietfa.amsl.com> <60a98de4-a8cd-5910-17f9-6849d71f4d8e@alum.mit.edu> <B61DF7BD-C304-47AA-AB10-2095CC621E5A@edvina.net> <79245079-4BE2-4CA1-9B8F-E7E71AD38458@ericsson.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <79245079-4BE2-4CA1-9B8F-E7E71AD38458@ericsson.com>
User-Agent: Mutt/1.12.1 (2019-06-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/ydddOuvNISZKDuzTsF7KGf767mw>
Subject: Re: [sipcore] Benjamin Kaduk's Discuss on draft-ietf-sipcore-sip-token-authnz-13: (with DISCUSS and COMMENT)
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sipcore/>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Apr 2020 20:13:38 -0000

On Fri, Apr 24, 2020 at 06:40:14AM +0000, Christer Holmberg wrote:
> Hi,
> 
>     >>> RFC 3261 seems to be written in a world that assumed that Basic and Digest
>     >>> are the only defined HTTP authentication schemes, and since it prohibits
>     >>> Basic, that there would only be one authentication challenge (type)
>     >>> possible.  This text righly acknowledges that we are opening the field up
>     >>> and could have cases where multiple authentication schemes are possible;
>     >>> however, it goes even further and admits the possibility of using them
>     >>> simultaneously.  It seems like this places an onus on us to give some
>     >>> indication of the semantics when multiple schemes are used at the same time.
>     >>> Do the authenticated identities need to match?  Or are we asserting that
>     >>> both/all identities are consenting to the request in question?  (If we don't
>     >>> have a concrete use case in mind, perhaps the "or more" is just opening a
>     >>> box that we don't need to open right now.)
>     >> 
>     >> I pushed quite a bit on this area during the development of this draft. As you note we are definitely expanding into an area that wasn't anticipated in RFC3261.
>     >> The whole topic of how authentication works in the presence of multiple schemes and realms could use some elaboration. The authors of this draft were
>     >> reluctant to get into those weeds. It isn't clear what the right mechanism is to do that.
>     >> 
>     >> I had a (non-sip) use case in mind: a site I visit allows you register directly with the site, resulting in an ability to use Digest credentials. The login page on the
>     >> site offers that as an option, along with the alternatives of Facebook, Google, and maybe some others. I can see something just like that for SIP. Presumably it
>     >> would be achieved by challenging with Digest and also with Bearer for Facebook, Google, etc. The UAC then "chooses" by delegating the choice to the user through the UI.
>     >> 
>     >> This is also the case where the "whitelist" really resides within the end user's head rather than in the UAC.
>     >> 
>     >> It gets harder for devices that might be connecting when there is no end user present. This can happen with a "phone" that attempts to be permanently registered
>     >> to its sip server so that in can receive incoming calls. If it reboots in the middle of the night there is no user handy to interact in the authentication process. It all
>     >> has to take place using credentials preconfigured (or cached) in the UAC.
>     > 
>     > I think it’s critical - and I’ve also raised the issue before like Paul - that we develop a BCP for the various combinations we have - both two types of digest algorithms and now the OAuth2/OpenID Connect.
>     > There are huge risks of mis-configured platforms allowing for downgrade attacks, so even if you’ve added stronger authentication, someone will misuse your system because MD5 was still open with simple passwords for some very old SIP phones.
> 
>     I agree that such BCP (or whatever form it would take) would be useful. As I said before, I think it should be done as a separate task.

How much do you think would be SIP-specific in such a document, vs. being
applicable to both SIP and HTTP?

>     Therefore, in the authnz draft the suggestion is to say that the processing is based on "local policy".

I'm happy to leave the choice of which one to use as up to local policy,
but would object to giving local policy the ability to use multiple
mechanisms in combination without defining the semantics of such
combinations.

>     If people want, we can add a note saying that a future specification may provide more detailed procedures and guidance regarding processing multiple schemes.

That seems reasonable, if consistent with the above.

-Ben