On Mon, Feb 24, 2020 at 5:58 PM Jonathan Hoyland <jonathan.hoyl...@gmail.com>
wrote:

> This would be for cases where we want to inject extra context into a
> resumption.
> That would be anything that changes an authentication property, so
> for example if you wanted to include some agreement on the status of a
> post-handshake auth or Exported Authenticator.
>
> So for example imagine I had a session during which I received an EA and
> when I came to resume that session I wished to indicate that I was still
> willing to accept the EA.
> I would offer a special PSK and inject some extra material into the
> handshake*, and if the server was able / willing to agree to this it would
> select the PSK.
> I could also offer a PSK with no extra injected material, as a fallback,
> and request the EA again.
>
> * This would only affect the binder for the PSK in the ClientHello.
>

I'm still not following. If you're resuming, this is a PSK issued from a
NewSessionTicket, in which case this isn't an imported PSK at all. It's a
resumption PSK and uses "res binder". If we needed to negotiate variations
on a resumption, this importer mechanism wouldn't give us a way to express
that anyway. I expect we'd instead lean on some combination of multiple
tickets, NewSessionTicket extensions, and plain ClientHello extensions. But
maybe I'm still not understanding the scenario.


> Another potential use would be the binding for ECHO, although I don't have
> a clear enough picture of the precise mechanics of that to know if it would
> be helpful.
>

Chris is probably more up-to-date here, but I don't believe the current
ECHO design looks like a funny PSK.


> Something that would allow for a consistent naming in the future would be
> my preference, because just as "imp binder" doesn't preclude "imp r
> binder", using "imp e binder" doesn't preclude us never adopting "imp r
> binder".
> I vaguely remember discussing whether the longer name would tip us into an
> extra hash invocation at the last IETF,  and concluding that it didn't,
> although I'd have to double check that.
>

Of course. Yeah, I think the more pertinent question is whether "imp r
binder" is actually a thing.


> Regards,
>
> Jonathan
>
> On Mon, 24 Feb 2020, 22:23 David Benjamin, <david...@chromium.org> wrote:
>
>> On Mon, Feb 24, 2020 at 4:33 PM Jonathan Hoyland <
>> jonathan.hoyl...@gmail.com> wrote:
>>
>>> Just looking at this again, it might be better to make a slightly
>>> different tweak to the key schedule.
>>> Instead of:
>>>
>>>                 0
>>>                 |
>>>                 v
>>>       PSK ->  HKDF-Extract = Early Secret
>>>                 |
>>>                 +-----> Derive-Secret(., "ext binder"
>>>                 |                      | "res binder"
>>>                 |                      | "imp binder", "")
>>>                 |                     = binder_key
>>>
>>>                 v
>>>
>>>
>>>
>>> We should do:
>>>
>>>                 0
>>>                 |
>>>                 v
>>>       PSK ->  HKDF-Extract = Early Secret
>>>                 |
>>>                 +-----> Derive-Secret(., "ext binder"
>>>                 |                      | "res binder"
>>>                 |                      | "imp e binder"
>>>
>>>                 |                      | "imp r binder", "")
>>>                 |                     = binder_key
>>>
>>>                 v
>>>
>>>
>>> or at least:
>>>
>>>                 0
>>>                 |
>>>                 v
>>>       PSK ->  HKDF-Extract = Early Secret
>>>                 |
>>>                 +-----> Derive-Secret(., "ext binder"
>>>                 |                      | "res binder"
>>>                 |                      | "imp e binder", "")
>>>                 |                     = binder_key
>>>
>>>                 v
>>>
>>>
>>>
>>>
>>> Just so that we can distinguish between external imported binders and
>>> resumed imported binders, should we at some point decide to do both.
>>>
>>
>> I may just be confused, but what would a resumed imported binder mean? I
>> see this mechanism as largely a bugfix for TLS 1.3 external PSKs, rather
>> than a new kind of adjective describing PSKs.
>>
>> ("imp binder" also doesn't preclude "imp r binder" later if we later
>> define something which needs it, but I'm confused what the concept even
>> would be.)
>>
>> David
>>
>>
>>> On Mon, 24 Feb 2020 at 20:50, Christopher Wood <c...@heapingbits.net>
>>> wrote:
>>>
>>>> On Fri, Feb 21, 2020, at 1:15 PM, Rob Sayre wrote:
>>>> >
>>>> >
>>>> > On Fri, Feb 21, 2020 at 8:35 AM Eric Rescorla <e...@rtfm.com> wrote:
>>>> > >
>>>> > >
>>>> > > On Thu, Feb 20, 2020 at 7:08 PM Rob Sayre <say...@gmail.com> wrote:
>>>> > >> Hi,
>>>> > >>
>>>> > >> I'm not sure how violations of these requirements would result in
>>>> poor interoperability:
>>>> > >>
>>>> > >>  Clients which import external keys TLS MUST NOT use these keys for
>>>> > >>  any other purpose. Moreover, each external PSK MUST be associated
>>>> > >>  with at most one hash function.
>>>> > >>
>>>> > >> These seem like aspirational security goals. It would be better to
>>>> describe the consequences of violating these conditions.
>>>> > >
>>>> > > I don't agree. They are requirements in order to be able to make
>>>> the assertions we want to make about the security of the protocol.
>>>> > >
>>>> > > This is consistent with the following text of RFC 2119 S 6
>>>> > > ".. or to limit behavior which has potential for causing harm
>>>> (e.g., limiting retransmisssions) "
>>>> > >
>>>> > > I don't think it would be unreasonable.to explain the reason for
>>>> these, though this is already a requirement of 8446 S 4.2.11 (though
>>>> without justification).
>>>> >
>>>> > I think that interpretation of 2119 is a stretch, but your idea to
>>>> add
>>>> > an explanation while keeping the 2119 terms addresses my concern. At
>>>> > the very least, the draft should note this is already a requirement
>>>> of
>>>> > 8446.
>>>>
>>>> That seems perfectly reasonable! We can point to the security
>>>> considerations to clarify the "single hash function" requirement, and we
>>>> can note cross protocol attack deterrence for the other claim. Would that
>>>> suffice? If not, can you please recommend text?
>>>>
>>>> Thanks,
>>>> Chris
>>>>
>>>> _______________________________________________
>>>> TLS mailing list
>>>> TLS@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/tls
>>>>
>>> _______________________________________________
>>> TLS mailing list
>>> TLS@ietf.org
>>> https://www.ietf.org/mailman/listinfo/tls
>>>
>>
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to