Subject: Re: [TLS] DTLS epoch and resume session/handshake

From: Simon Bernard <[email-masked]>
Date: Mon, 17 Aug 2015 16:20:53 +0200

I'm sorry to insist, but What did you mean by transport level connection 
? For me UDP was a connectionless protocol.

Simon

Le 31/07/2015 18:53, Eric Rescorla a écrit :
>
>
> On Fri, Jul 31, 2015 at 6:52 PM, Simon Bernard 
> <[email-masked] <mailto:[email-masked]>> wrote:
>
>     Thx.
>     What did you mean by connection ?
>
>
> transport level connection.
>
>     A resume handshake is a new connection ?
>
>
> You can also resume when you renegotiate.
>
> -Ekr
>
>
>     Le 31/07/2015 16:54, Eric Rescorla a écrit :
>
>         The epoch is set to 0 at the start of each connection and then
>         incremented
>         with each handshake on that connection.
>
>         -Ekr
>
>         On Fri, Jul 31, 2015 at 4:41 PM, Simon Bernard
>         <[email-masked] <mailto:[email-masked]>
>         <mailto:[email-masked]
>         <mailto:[email-masked]>>> wrote:
>
>             Hi,
>
>               I search in DTLS RFC 6347 if the epoch should be (re)set
>         to 0
>             when we start a resume handshake, or if we keep the last used
>             value, or the last used value+1 ? I can not any clue of
>         that in
>             the spec.
>               Any idea ?
>
>             Thx
>             Simon
>
>             _______________________________________________
>             TLS mailing list
>         [email-masked] <mailto:[email-masked]> <mailto:[email-masked]
>         <mailto:[email-masked]>>
>         https://www.ietf.org/mailman/listinfo/tls
>
>
>
>

---

From: Eric Rescorla <[email-masked]>
Date: Mon, 17 Aug 2015 07:24:29 -0700

Please see RFC 6347 S 4.2.8

-Ekr

On Mon, Aug 17, 2015 at 7:20 AM, Simon Bernard <[email-masked]>
wrote:

> I'm sorry to insist, but What did you mean by transport level connection ?
> For me UDP was a connectionless protocol.
>
> Simon
>
>
> On Fri, Jul 31, 2015 at 6:52 PM, Simon Bernard <[email-masked]>
> wrote:
>
>> Thx.
>>> On Fri, Jul 31, 2015 at 4:41 PM, Simon Bernard <[email-masked]
>>> <mailto:[email-masked]>> wrote:
>>>
>>>     Hi,
>>>
>>>       I search in DTLS RFC 6347 if the epoch should be (re)set to 0
>>>     value, or the last used value+1 ? I can not any clue of that in
>>>     the spec.
>>>       Any idea ?
>>>
>>>     Thx
>>>     Simon
>>>
>>>     [email-masked] <mailto:[email-masked]>

---

From: Simon Bernard <[email-masked]>
Date: Mon, 17 Aug 2015 18:20:28 +0200

I re-readed this paragraph and it's still not clear, what did you mean 
by connection at transport layer for UDP.

I well understand that if a server receive a clientHello with epoch=0, 
this means that a new handshake should be done.

But I still don't know what happends in a ResumeHandshake use case.

In fact, my use case is a client behind a NAT which communicate 
periodically. at each period, its IP/Port could changed (because of 
NAT), so we would like to resume handshake each time.
1) Does it make sense ?
2) If yes, should we do the resume handhsake with epoch = 0 or continue 
with previous epoch ?

Le 17/08/2015 16:24, Eric Rescorla a écrit :
> On Mon, Aug 17, 2015 at 7:20 AM, Simon Bernard 
>     I'm sorry to insist, but What did you mean by transport level
>     connection ? For me UDP was a connectionless protocol.
>
>     Simon
>
>
>>             The epoch is set to 0 at the start of each connection and
>>             then incremented

---

From: Eric Rescorla <[email-masked]>
Date: Mon, 17 Aug 2015 09:47:31 -0700

On Mon, Aug 17, 2015 at 9:20 AM, Simon Bernard <[email-masked]>
wrote:

> I re-readed this paragraph and it's still not clear, what did you mean by
> connection at transport layer for UDP.
>
> periodically. at each period, its IP/Port could changed (because of NAT),
> so we would like to resume handshake each time.
> 1) Does it make sense ?

Resumption isn't relevant here.

If you are renegotiating (i.e., the ClientHello will be encrypted under a
previous cipher
suite) then you have epoch > 0. Otherwise, epoch = 0.

-Ekr