Re: [stir] Review of: draft-ietf-stir-passport-05

Christer Holmberg <christer.holmberg@ericsson.com> Sun, 31 July 2016 17:54 UTC

Return-Path: <christer.holmberg@ericsson.com>
X-Original-To: stir@ietfa.amsl.com
Delivered-To: stir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E880212D50E for <stir@ietfa.amsl.com>; Sun, 31 Jul 2016 10:54:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.22
X-Spam-Level:
X-Spam-Status: No, score=-4.22 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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 10sYk8oT9-1N for <stir@ietfa.amsl.com>; Sun, 31 Jul 2016 10:54:06 -0700 (PDT)
Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) (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 D70B812B009 for <stir@ietf.org>; Sun, 31 Jul 2016 10:54:05 -0700 (PDT)
X-AuditID: c1b4fb2d-bbfff70000000190-66-579e3b3962bb
Received: from ESESSHC008.ericsson.se (Unknown_Domain [153.88.183.42]) by (Symantec Mail Security) with SMTP id 0C.43.00400.93B3E975; Sun, 31 Jul 2016 19:54:03 +0200 (CEST)
Received: from ESESSMB209.ericsson.se ([169.254.9.142]) by ESESSHC008.ericsson.se ([153.88.183.42]) with mapi id 14.03.0301.000; Sun, 31 Jul 2016 19:54:00 +0200
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Chris Wendt <chris-ietf@chriswendt.net>, "dcrocker@bbiw.net" <dcrocker@bbiw.net>
Thread-Topic: [stir] Review of: draft-ietf-stir-passport-05
Thread-Index: AQHR6Pa8IhcNFBWCX0CjWpL6ATcrHqAvhU6AgAAES4CAAAVOAIAAOSgAgAAMsQCAACJJAIAA4os4///4oACAAIdwgIABfXdE
Date: Sun, 31 Jul 2016 17:54:00 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B477074D5@ESESSMB209.ericsson.se>
References: <07e0eb16-6758-cdf1-c571-1f1ed768e741@dcrocker.net> <D3C152B2.1A69BA%jon.peterson@neustar.biz> <b096b541-c8af-9617-c9d7-5a1beb5230e8@dcrocker.net> <D3C16040.1A6A09%jon.peterson@neustar.biz> <d66d91f0-9ea2-6295-e749-e48ea37b4892@dcrocker.net> <D3C19686.1A6A4E%jon.peterson@neustar.biz> <dd60178b-fa24-5099-166c-f8a0093cb668@dcrocker.net> <7594FB04B1934943A5C02806D1A2204B476FE6CB@ESESSMB209.ericsson.se> <7f35b810-0eca-5140-060e-4aef03449c21@dcrocker.net>, <D9F5ECF9-3ED0-478A-9261-2892AF9EAB8F@chriswendt.net>
In-Reply-To: <D9F5ECF9-3ED0-478A-9261-2892AF9EAB8F@chriswendt.net>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: multipart/alternative; boundary="_000_7594FB04B1934943A5C02806D1A2204B477074D5ESESSMB209erics_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprOIsWRmVeSWpSXmKPExsUyM2K7lq619bxwgxVPDSymf9rNbPH70wc2 izMNlhbL125jcmDxuLTzJJvHhL41rB5Llvxk8tjR8Jw5gCWKyyYlNSezLLVI3y6BK+Pd7cuM BZOKK3o//WVpYPwa18XIwSEhYCLx6YlAFyMXh5DAekaJ/8+vMUE4SxglHt79xwxSxCZgIdH9 T7uLkZNDRCBM4sjzpywgNrNAqMTXF8vAbGEBK4m9q46xgZSLCFhL3J8pCVGeJzHpz2p2kDCL gKrEydkRICavgK9Exy1TiEUzWCRmTZ0BVsIp4CTxol0RpJNRQEzi+6k1TBCLxCWavqxkBbEl BAQkluw5zwxhi0q8fPyPFaImX2Lzidtg9bwCghInZz5hmcAoPAtJ+ywkZbOQlEHEDSS+vL8N ZWtLLFv4mhnC1pfofn+aCVl8ASP7KkbR4tTi4tx0I2O91KLM5OLi/Dy9vNSSTYzA6Dq45bfu DsbVrx0PMQpwMCrx8CawzAsXYk0sK67MPcQowcGsJMLLow8U4k1JrKxKLcqPLyrNSS0+xCjN waIkzuv/UjFcSCA9sSQ1OzW1ILUIJsvEwSnVwFjdJV24PPrwFbMjMwq4MhMiHI6sPZNhuVpN +8paxgk9XY4Kt4p6l7szvTr27eC6plrn+yHtNkarP8fv//7eOejn5OLt84rTtedOZP55bqVJ 6M6vmeURpq0zPCKKztc1HBC95i3hvfMf3077N2e28l6UDOE/erPl/cQEkcUsrAquUgyVgfo8 MkosxRmJhlrMRcWJAFmtWweqAgAA
Archived-At: <https://mailarchive.ietf.org/arch/msg/stir/NcUtWDkfQgpUu9y3P7y8Ki4Yyxw>
Cc: IETF STIR Mail List <stir@ietf.org>, "Peterson, Jon" <jon.peterson@neustar.biz>
Subject: Re: [stir] Review of: draft-ietf-stir-passport-05
X-BeenThere: stir@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Secure Telephone Identity Revisited <stir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/stir>, <mailto:stir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/stir/>
List-Post: <mailto:stir@ietf.org>
List-Help: <mailto:stir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/stir>, <mailto:stir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 31 Jul 2016 17:54:09 -0000

Hi,

I agree with Chris. JWT is NOT a mechanism to sign any arbitrary JSON structure. JWT is a mechanism to sign data, and it uses a specific JSON structure (header, claims etc) for doing so. In addition, it provides a mechanism to signal what data/algorithm is used to calculate the signature.

Regards,

Christer

Sent from my Windows Phone
________________________________
From: Chris Wendt<mailto:chris-ietf@chriswendt.net>
Sent: ‎31/‎07/‎2016 00:08
To: dcrocker@bbiw.net<mailto:dcrocker@bbiw.net>
Cc: Christer Holmberg<mailto:christer.holmberg@ericsson.com>; Peterson, Jon<mailto:jon.peterson@neustar.biz>; IETF STIR Mail List<mailto:stir@ietf.org>
Subject: Re: [stir] Review of: draft-ietf-stir-passport-05

Hi Dave,

I’m not following your argument that because there isn’t a JSON object to sign, we can’t use JWT?
In general, most/all uses of JWT don’t sign an existing object, a set of claims are constructed into a JSON payload that is signed.
There are JWT defined claims precisely defined to create a secure token intentionally meant to be only signed in a JWT.

So to me, we are more than appropriately using JSON and JWT.

It is in 4474bis, we define the exact information to construct the JSON payload object to be signed, so please refer to that.

There are many advantages to using the JWT construct both for STIR charter specifically and elsewhere.

Is that a bad thing?

-Chris

> On Jul 30, 2016, at 9:03 AM, Dave Crocker <dhc@dcrocker.net> wrote:
>
> Christer,
>
> Thanks for the background...
>
> On 7/30/2016 4:30 AM, Christer Holmberg wrote:
>> I am the one who originally suggested the usage of JWT. I don't
>> understand the claim that JWT is "outside the context of SIP". JWT is a
>> generic/standardized mechanism how to calculate and encode a signature,
>
> Actually, it isn't.
>
> It's own opening text [RFC 7519] says it is "a compact, URL-safe means of representing claims to be transferred between two parties" but more importantly for this issue, it goes on to say:
>
>   "encoded as a JSON object that is used as the payload of a JSON
>   Web Signature (JWS) structure or as the plaintext of a JSON Web
>   Encryption (JWE) structure"
>
> That is, it provides value-added functions... to a JSON object (structure).  However SIP doesn't have a JSON object to sign.  So the working group has had to invent a JSON-based abstraction of SIP header information and then sign it.
>
> Now it has to invent an encoding for the resulting signature.  It would have to do that for a SIP call, no matter the signature's computational abstraction, but because that abstraction is actually an independent format, it wound up distracting the wg from doing a complete job -- so far, after 3 years -- of defining all the details for a complete authentication mechanism.
>
> From what I can tell of the email record for the wg, the unfortunate part of the discussion about choices here was to count JSON/JWT as something other than an abstraction.
>
> Signing an object requires defining the data over which the signature will be made, and how that data will be fed into the signing algorithm. Necessarily, that defines an abstraction of the data.  (Canonicalization seems to be a common component of that abstraction, for example.)
>
> There might be nothing different or better (or, probably, worse) about JWT in those terms; I haven't tried to evaluate it in those terms.  The problem is that its existence as a distinct format has caused the working group to worry about that new and independent object as distinct from the SIP data being signed, rather than as a computational result that then needs to be stored into the SIP header.  So all of the discussion about what to do with the JWT object is additional wg overhead and, IMO, a complete distraction for the primary task of the working group.  (My guess is that there is also added overall system complexity, but I won't press that concern, at this point.)
>
> Arguments that it's a general mechanism for use in other aspects of this space are always appealing. However they are, so far, without merit in the working group context: There are no specifications for any of those other uses.
>
> And the wg still hasn't resolved the very basic and very essential step of putting the signature into the SIP header.
>
>
>
>>     If we would NOT use JWT we would
>> probably have to define more STIR-specific procedures regarding the
>> calculating/encoding of the signature ourselves. It's better to use a
>> standardized mechanism in my opinion.
>
> Well, yeah, I thought/think that too, which was why I originally suggested adapting DKIM. (DANE might be another relevant choice.)  DKIM offers an extremely high point of departure for SIP header signing.  The continued lack of complete specification details about use with SIP demonstrates that JWT doesn't.
>
>
>> I am also the one who raised the encoding issue in Berlin. But that was
>> not related to the usage of JWT as such, but to the fact that we don't
>> carry the encoded JWT object in one piece in the SIP message. We "split"
>> the object into two pieces, and carry one piece as the Identity header
>> field value, and the other piece as the canon header field parameter
>> value.
>
> Right.  And the point I'm raising is not about the details of that choice but the fact that it still hasn't been made at this very late stage.
>
> Besides merely being a missing, essential bit of system specification, it suggests that the wg is still not completely clear about the concrete use of this capability.
>
>
> d/
> --
>
>  Dave Crocker
>  Brandenburg InternetWorking
>  bbiw.net
>
> _______________________________________________
> stir mailing list
> stir@ietf.org
> https://www.ietf.org/mailman/listinfo/stir