Dear brothers and sisters,

I would like to start a small discussion around section 5.4,
replay attack prevention and the introduction of a nonce.

I was not able to find any thread around the "nonce" header in this
working group before - hence this post.  
In the latest version[0] of the RFC I read:

«The precise method used to generate and track nonces is up to the
server. For example, the server could generate a random 128-bit value
for each response, keep a list of issued nonces, and strike nonces from
this list as they are used.»

This paragraph has been introduced in the second version of the draft,
and it seems to be the only place describing a bit more in depth how the
nonce should look like.

It is not yet completely clear to me what the adversarial model should
be here (can somebody elaborate?), but is «the precise method used to
generate and track nonces» really up to the server, without any boundary
on the entropy of the nonce?

More specifically, is a 1-bit nonce going to provide an acceptable level
of security for this protocol? If not, is there a reason why there's not
a "MUST" (or at least a "SHOULD") directive for the minimum bits of
entropy required to prevent replay attacks?

I tried to find some relevant information on the JWS RFC[1], but none
found. I also gave a look at letsencrypt/boulder[2], and as far as I've
been able to understand there is a in64 counter, and 7 bytes of
randomness that determine the nonce. Am I wrong to say that there
are less than 128 bits of entropy here then? 

Ciao ciao,
[0]
<https://github.com/ietf-wg-acme/acme/blob/master/draft-ietf-acme-acme.md>
[1]
<https://tools.ietf.org/html/rfc7515>
[2]
<https://github.com/letsencrypt/boulder>
-- 
µ.

_______________________________________________
Acme mailing list
Acme@ietf.org
https://www.ietf.org/mailman/listinfo/acme

Reply via email to