Re: [jose] DISCUSS: Nonce/Timestamp parameter
Brian Campbell <bcampbell@pingidentity.com> Tue, 28 August 2012 20:46 UTC
Return-Path: <bcampbell@pingidentity.com>
X-Original-To: jose@ietfa.amsl.com
Delivered-To: jose@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1130711E80A5 for <jose@ietfa.amsl.com>; Tue, 28 Aug 2012 13:46:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.975
X-Spam-Level:
X-Spam-Status: No, score=-5.975 tagged_above=-999 required=5 tests=[AWL=0.001, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jJsSMyERBvwy for <jose@ietfa.amsl.com>; Tue, 28 Aug 2012 13:46:38 -0700 (PDT)
Received: from na3sys009aog122.obsmtp.com (na3sys009aog122.obsmtp.com [74.125.149.147]) by ietfa.amsl.com (Postfix) with ESMTP id 8C7C111E8099 for <jose@ietf.org>; Tue, 28 Aug 2012 13:46:37 -0700 (PDT)
Received: from mail-qc0-f182.google.com ([209.85.216.182]) (using TLSv1) by na3sys009aob122.postini.com ([74.125.148.12]) with SMTP ID DSNKUD0uLQ4mjCZdRoJprk5IZlU6t/ofh9Hs@postini.com; Tue, 28 Aug 2012 13:46:37 PDT
Received: by qcsg15 with SMTP id g15so4611032qcs.13 for <jose@ietf.org>; Tue, 28 Aug 2012 13:46:36 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-gm-message-state; bh=LSoPFVP0c7DmiRIRGXnF5xkEYHfyd+Mlv9jVFHVQW/c=; b=kGGrcfYMxBysAxXOAKehi+eMMrmvh8JEcewr4CUBwqQLMeNQwy+BKZga4+Wtpw17HF RUCkKKNBnlULP/qhauEKX1q0dSHlYFelnxDwVndbpAjQf6VafSNx7hZiTPoNso48Pk4p 9k7Df1/TIXG0DENa1FUEZZqZa+Qyk0tQL3buaBZZOhTKHt3EawNuS9/lLdhfB0GqI5lT 55mlFayEkqss//LTy8i5d5pjGW2lSRE+CjBsjES9DgdpPJakImBNorfiYTNPggObK54r tMhsD8WsXyXzIiZ+glG4/OTQH3PIfXKgyhFRiWBWTzCSsXCJ1Zqb5gmHkW19eloMlWSo /cbA==
Received: by 10.224.115.208 with SMTP id j16mr10651336qaq.54.1346186796368; Tue, 28 Aug 2012 13:46:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.49.48.73 with HTTP; Tue, 28 Aug 2012 13:46:06 -0700 (PDT)
In-Reply-To: <CAAJ++qHK0NwCxYVoWNdF_h-of4s3nXn+bOVHVHMzeNqfmiwsMg@mail.gmail.com>
References: <4E1F6AAD24975D4BA5B1680429673943667A93F8@TK5EX14MBXC284.redmond.corp.microsoft.com> <CAHcDwFzh6HcgsJYFXq71RWSwKWkMADBNQH7_goAtTFNmz-wSwQ@mail.gmail.com> <503CD692.4020007@mitre.org> <F668D905-31C6-4D76-935F-4AD4A8859876@ve7jtb.com> <CAAJ++qHK0NwCxYVoWNdF_h-of4s3nXn+bOVHVHMzeNqfmiwsMg@mail.gmail.com>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Tue, 28 Aug 2012 14:46:06 -0600
Message-ID: <CA+k3eCQbFQQo50tvjreuAbNwQFpOABCrXsuNbxWc0hAdqHzwTw@mail.gmail.com>
To: Breno de Medeiros <breno@google.com>
Content-Type: multipart/alternative; boundary="20cf3074b1becc844b04c85989a8"
X-Gm-Message-State: ALoCoQkSwpBBvSuMAZQKtAl3M4uAfRsvhUTBQa9odCEYKeJJ+sBvzgAljmBu0PCJOJTSfcC4tIiO
Cc: Axel Nennker <ignisvulpis@googlemail.com>, Jim Schaad <ietf@augustcellars.com>, Mike Jones <Michael.Jones@microsoft.com>, "jose@ietf.org" <jose@ietf.org>, John Bradley <ve7jtb@ve7jtb.com>, Justin Richer <jricher@mitre.org>
Subject: Re: [jose] DISCUSS: Nonce/Timestamp parameter
X-BeenThere: jose@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Javascript Object Signing and Encryption <jose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jose>, <mailto:jose-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/jose>
List-Post: <mailto:jose@ietf.org>
List-Help: <mailto:jose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jose>, <mailto:jose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Aug 2012 20:46:39 -0000
Isn't the pool question really about JOSE (this is the JOSE list after all) and if a nonce or timestamp type thing should be defined in JWE/JWS as a Reserved Header Parameter Name? I don't think it can be said that we already have an issued time defined. "iat" (Issued At) is a claim defined in JWT. That's all together a different thing than a JOSE header and I don't see anything like it anywhere in the JOSE docs. JWT is a layer above JOSE and, while there is a lot of overlap of people, is being developed in a completely different WG. I'm, at this point, saying we need this thing but rather just trying to clarify the question. On Tue, Aug 28, 2012 at 1:06 PM, Breno de Medeiros <breno@google.com> wrote: > I agree that this should be looked independently of oauth2. > > Nonce is a generally used concept in crypto, though sometimes protocol > designers have called for nonces with bad outcomes because the difficulty > of implementing nonce-checking was disregarded. However, difficulties to > implement nonces in general are not relevant if there is a compelling use > case that is able to leverage nonces effectively. > > As for timestamps: we already have issued time and the nonce can embed a > timestamp additionally. So I don't think we need to concern ourselves with > timestamps when considering nonces. > > > > > On Tue, Aug 28, 2012 at 8:09 AM, John Bradley <ve7jtb@ve7jtb.com> wrote: > >> In OAuth 2 state gets overloaded with a bunch of things from preventing >> XSRF to providing a handle to look up who the the authorization request was >> sent to. >> >> In Connect we added a nonce sent by client that is returned inside the >> signed id_token (JWT) to allow the client to detect replay, and optionally >> reference a specific browser session that presents the id_token. >> >> The nonce I suggested for JOSE is not ether of those. >> >> I used nonce in the sense that it is used with stream cyphers when the >> same key is used over multiple messages. >> >> JOSE will be used for more than OAuth and JWT. There are cases where >> adding entropy to the header will be a security benefit. I would like to >> have a standard claim for doing that. >> If people want to call it something else that is fine, but it is a nonce >> by definition. >> If used it should be a random or pseudo random value that is time variant >> with sufficient granularity to ensure a nonce is used only once. >> >> John B. >> >> On 2012-08-28, at 10:32 AM, Justin Richer <jricher@mitre.org> wrote: >> >> On 08/25/2012 03:37 AM, Axel Nennker wrote: >> >> To clarify: What is the base specification that Jim mentioned? >> Is it: http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-03 ? >> >> Would somebody please present a use-case for either nonce or timestamp? >> If a jwt is used with oauth2 then what is the difference between nonce >> and state? Nonce would be signed while state is not? >> >> >> Nonce would generally be generated by the entity creating the token. >> State in OAuth is generated by the client, and would only be protected if >> the client had a means to make a signed request to the server, using either >> a MAC binding or a JWT-based OIDC-style RequestObject. >> >> -- Justin >> >> I guess I am missing some information that those in the room who voted >> "yes" had? >> >> Axel >> >> 2012/8/25 Mike Jones <Michael.Jones@microsoft.com> >> >>> I'll note for discussion purposes that a nonce and a timestamp are not >>> the same thing (although sometimes they are used to achieve similar/related >>> goals). A nonce tends to be an opaque value that must be preserved across >>> the communication. Whereas a timestamp typically has defined semantics - >>> sometimes simply a non-decreasing integer value - and sometimes a >>> representation of time, and then, sometimes with a uniqueness requirement. >>> >>> For discussion purposes, I'll say that the simplest thing for us to do >>> (should we decide to do anything in this regard) would be to define the >>> nonce as an opaque string value that must be preserved. >>> >>> We could also define a timestamp parameter, but as I wrote above, that >>> would likely require us to specify additional semantics - starting with >>> whether it's a non-decreasing integer or a representation of a time value. >>> This seems much harder to define and possibly to use than a nonce. >>> >>> Would it make sense to define a nonce parameter now and hold off on >>> defining a timestamp parameter until there's a clear demonstrated use case >>> for which a nonce is not sufficient? That would be my personal >>> recommendation. >>> >>> Best wishes, >>> -- Mike >>> >>> -----Original Message----- >>> From: jose-bounces@ietf.org [mailto:jose-bounces@ietf.org] On Behalf Of >>> Jim Schaad >>> Sent: Friday, August 17, 2012 12:05 AM >>> To: jose@ietf.org >>> Subject: [jose] POLL: Nonce/Timestamp parameter >>> >>> <CHAIR> >>> >>> If you voted at the face-2-face please do not vote again. If you want >>> to provide comments please change the title from POLL to DISCUSS. >>> >>> Do we need to define a nonce/timestamp parameter in the base >>> specification? >>> >>> >>> >>> Room vote: 6 yes, 0 no, 1 discuss >>> >>> >>> _______________________________________________ >>> jose mailing list >>> jose@ietf.org >>> https://www.ietf.org/mailman/listinfo/jose >>> >>> >>> _______________________________________________ >>> jose mailing list >>> jose@ietf.org >>> https://www.ietf.org/mailman/listinfo/jose >>> >> >> >> >> _______________________________________________ >> jose mailing listjose@ietf.orghttps://www.ietf.org/mailman/listinfo/jose >> >> >> _______________________________________________ >> jose mailing list >> jose@ietf.org >> https://www.ietf.org/mailman/listinfo/jose >> >> >> >> _______________________________________________ >> jose mailing list >> jose@ietf.org >> https://www.ietf.org/mailman/listinfo/jose >> >> > > > -- > --Breno > > > _______________________________________________ > jose mailing list > jose@ietf.org > https://www.ietf.org/mailman/listinfo/jose > >
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Justin Richer
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Mike Jones
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Axel.Nennker
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Mike Jones
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Axel.Nennker
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Dick Hardt
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Brian Eaton
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Dick Hardt
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Anthony Nadalin
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Axel.Nennker
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Mike Jones
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Dick Hardt
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Axel Nennker
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Stephen Kent
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Stephen Kent
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Richard Barnes
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Axel.Nennker
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Justin Richer
- Re: [jose] DISCUSS: Nonce/Timestamp parameter John Bradley
- Re: [jose] DISCUSS: Nonce/Timestamp parameter John Bradley
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Breno de Medeiros
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Brian Campbell
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Justin Richer
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Jim Schaad
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Mike Jones
- Re: [jose] DISCUSS: Nonce/Timestamp parameter Daniel Holth