Subject: [OAUTH-WG] MAC: Age in nonce

From: Eran Hammer-Lahav <[email-masked]>
Date: Sat, 19 Nov 2011 09:41:45 -0700

We had a long discussion about what to use for the numerical component of the nonce string. I would like to suggest we use:

   nonce
         REQUIRED.  A unique string generated by the client to allow the
         server to verify that a request has never been made before and
         helps prevent replay attacks when requests are made over an
         insecure channel.  The nonce value MUST be unique across all
         requests with the same MAC key identifier.

         The nonce value MUST consist of an age, a colon character
         (%x25), and a unique string (typically random).  The age
         portion MUST be a monotonically increasing, but not necessarily
         unique, positive integer value.  The change in the age value
         between requests MUST reflect the number of seconds elapsed.
         For example, the age can be a client timestamp expressed as
         seconds since 01-01-1970 or since the credentials were issued
         to the client.  The value MUST NOT include leading zeros (e.g.
         "000273156").  For example: "273156:di3hvdf8"

         To avoid the need to retain an infinite number of nonce values
         for future checks, the server MAY choose to restrict the time
         period after which a request with an old age is rejected.  If
         such a restriction is enforced, the server SHOULD allow for a
         sufficiently large window to accommodate network delays.  The
         server SHOULD use the first age value received from the client
         to establish a method for comparing the server time with that
         of the client.  In addition, the server SHOULD accommodate small
         negative changes in age values caused by differences between
         the multiple clocks of a distributed client configuration
         utilizing more than one device.

This text keeps the age as a seconds count but uses the first request to establish a clock sync on the server side instead of mandating one way to calculate it.

Feedback?

EHL

---

From: Blaine Cook <[email-masked]>
Date: Mon, 21 Nov 2011 18:59:29 +0000

+1. This is good.

On 19 November 2011 16:41, Eran Hammer-Lahav <[email-masked]> wrote:
> We had a long discussion about what to use for the numerical component of
> the nonce string. I would like to suggest we use:
>
>
>
>    nonce
>
> This text keeps the age as a seconds count but uses the first request to
> establish a clock sync on the server side instead of mandating one way to
> calculate it.
>
>
>
> Feedback?
>
>
>
> EHL
>
>
>
>
>
> _______________________________________________
> OAuth mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/oauth
>
>

---

From: Michael Thomas <[email-masked]>
Date: Mon, 21 Nov 2011 11:03:12 -0800

By unique, does that mean statistically unique or verifiably unique? That is,
do I need store the nonce or can I just gin up a bunch of entropy of suitable
collision resistance? The latter is generally preferable.

Mike