[TLS] OpSec WGLC for draft-ietf-opsec-ns-impact

2020-08-17 Thread Nick Lamb
I am not very familiar with IETF working group practices, however it
strikes me as surely unusual to have a document enter Last Call
(supposedly believed by its owners to be ready for publication) and yet
immediately then be revised showing it was in fact not ready at all.

However this seems to be what happened to draft-ietf-opsec-ns-impact.
The below comments concern draft-ietf-opsec-ns-impact-02, the newer
document.

Section 4.1 Perfect Forward Secrecy ends:

> TLS session data.ss

I think this is a typographical error and the trailing "ss" should be
removed from the document. If not it should be explained.



Section 4.2 Encrypted Server Certificate describes a practice which is
inherently unsound. Passive inspection of the Certificate message from
TLS 1.2 or earlier isn't a reliable source of information because a
passive eavesdropper isn't able to discern whether the X.509 document
presented corresponds to this server or not. The Client can confirm
this using the TLS protocol but an eavesdropper can't. So the change in
TLS 1.3 does not impact the practical security policy available, only an
appearance is altered.

Passive systems described throughout Section 5.1 fall to this same
error, using the phrase "reduced effectiveness" which the document
defines as not being "as effective on TLS 1.3 traffic" but in fact
since this practice didn't work, it will remain exactly as effective
(not at all) as before.

A related consequence passes into Section 5.2. Since the Certificate
message is only reliable for a Client, it has in fact always been
necessary to fully proxy the TLS session in order to rely on this data,
so this is not in fact an impact from TLS 1.3 but (if it wasn't done
previously for all versions) a vulnerability in such products.


As it stands then, this document is misleading.

Nick.

___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


[TLS] TLS WG Virtual Interim on ECH

2020-08-17 Thread Joseph Salowey
The chairs would like to have an interim to resolve the remaining open
issues for ECH.  Since we need 2 weeks notice we are targeting the week of
September first.   Please fill out the following with your available times
if you are interested in attending:

https://doodle.com/poll/wa4633uafmvdr9hv

We might make this a recurring meeting until we can resolve all the
issues.  Please respond by the evening of Tuesday August 18.

Thanks,

Joe and Sean
___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


[TLS] ECH usage indication: alternatives to trial decryption?

2020-08-17 Thread Christopher Patton
Hi list,

In the current ECH specification (draft-ietf-tls-esni-07), the server
provides no indication of whether the inner or outer ClientHello (CH) was
used. This means the client must do trial decryption to make this
determination, which creates implementation complexity and potentially
raises security concerns. I was hoping to get your thoughts on a couple
alternatives, which strike different balances between implementation
complexity and other design considerations for ECH. Follow along here:

https://github.com/tlswg/draft-ietf-tls-esni/issues/274

Thanks,
Chris P.
___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


[TLS] Constraining ECH to HKDF-based HPKE ciphersuites

2020-08-17 Thread Christopher Wood
HPKE recently removed the Hash() interface from the KDF, which means we need to 
either (a) change how the config_digest (formerly record_digest) is computed, 
or (b) constrain ECH to HKDF-based HPKE ciphersuites. This PR takes approach 
(b):

   https://github.com/tlswg/draft-ietf-tls-esni/pull/271

Please have a look and provide feedback. 

Thanks,
Chris

___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


[TLS] ECH padding edge cases

2020-08-17 Thread Christopher Wood
Ben Schwartz found some problems and edge cases with the current ECH padding 
policy text [1]. This PR proposes a fix:

   https://github.com/tlswg/draft-ietf-tls-esni/pull/268

Please have a look and provide feedback. 

Thanks,
Chris

[1] https://github.com/tlswg/draft-ietf-tls-esni/issues/252

___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


Re: [TLS] ECH usage indication: alternatives to trial decryption?

2020-08-17 Thread David Benjamin
Thanks for writing this up! We've been pondering this subject as well, as
part of identifying places where ECH and QUIC interact interestingly. (The
other being the padding issue in
https://github.com/tlswg/draft-ietf-tls-esni/issues/264.)

As with the padding issue, QUIC replaces the record layer, so all the
handshake/record-layer coordination here must cross the TLS/QUIC public
API. TLS must configure two different keys for QUIC, then QUIC must trial
decrypt and report back to TLS which keys were used. In contrast, something
that lives entirely in the handshake should apply to QUIC without
modifications.

I think in essence we’re running into QUIC sandwiching itself between the
TLS handshake and records layer, despite that “interface” not being quite
fully understood yet.

(I'm not sure what's IETF email etiquette for joining related WGs to an
existing thread, so I'll forward this separately to the QUICWG, so they can
join the discussion.)

David

On Mon, Aug 17, 2020 at 4:55 PM Christopher Patton  wrote:

> Hi list,
>
> In the current ECH specification (draft-ietf-tls-esni-07), the server
> provides no indication of whether the inner or outer ClientHello (CH) was
> used. This means the client must do trial decryption to make this
> determination, which creates implementation complexity and potentially
> raises security concerns. I was hoping to get your thoughts on a couple
> alternatives, which strike different balances between implementation
> complexity and other design considerations for ECH. Follow along here:
>
> https://github.com/tlswg/draft-ietf-tls-esni/issues/274
>
> Thanks,
> Chris P.
>
>
> ___
> 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


Re: [TLS] Constraining ECH to HKDF-based HPKE ciphersuites

2020-08-17 Thread Martin Thomson
On Tue, Aug 18, 2020, at 07:09, Christopher Wood wrote:
> HPKE recently removed the Hash() interface from the KDF, which means we 
> need to either (a) change how the config_digest (formerly 
> record_digest) is computed, or (b) constrain ECH to HKDF-based HPKE 
> ciphersuites. This PR takes approach (b):
> 
>https://github.com/tlswg/draft-ietf-tls-esni/pull/271
> 
> Please have a look and provide feedback. 

Was there discussion about just defining a set of hash function identifiers and 
adding those to the config?

Or maybe just running the HPKE KDF with a fixed input.  Unless I've missed 
something critical, you don't need any sort of preimage resistance for this, 
it's only for identification purposes.

___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


Re: [TLS] Constraining ECH to HKDF-based HPKE ciphersuites

2020-08-17 Thread Christopher Patton
Hi Martin,


> Or maybe just running the HPKE KDF with a fixed input.

Do you mean something like this? Let `config_digest = KDF.extract("some
salt", "some label", config)`, where `config` is the ECH configuration?

Unless I've missed something critical, you don't need any sort of preimage
> resistance for this, it's only for identification purposes.
>
The manner in which `config_digest` is computed could be significant to
"don't stick out", depending on how you define this property. For example,
one requirement for the hash function might be that it is one-way.

Chris P.
___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


Re: [TLS] Constraining ECH to HKDF-based HPKE ciphersuites

2020-08-17 Thread Martin Thomson



On Tue, Aug 18, 2020, at 07:55, Christopher Patton wrote:
> Hi Martin, 
>  
> > Or maybe just running the HPKE KDF with a fixed input.
> Do you mean something like this? Let `config_digest = KDF.extract("some 
> salt", "some label", config)`, where `config` is the ECH configuration?

Sure.  I would probably use all of HKDF though, see below.

> > Unless I've missed something critical, you don't need any sort of 
> preimage resistance for this, it's only for identification purposes.
> The manner in which `config_digest` is computed could be significant to 
> "don't stick out", depending on how you define this property. For 
> example, one requirement for the hash function might be that it is 
> one-way.

So the current system has the property that anyone in possession of the 
original config can confirm that this is the config in use.  And we have 
assumed that the config does not contain secrets.

Being unable to recover one input seems to be a KDF property.  We could feed 
config to that input (for the full HKDF, that would be IKM, I think).  See 
definition 7 in https://eprint.iacr.org/2010/264.pdf, which supports the theory 
that a KDF is a PRF with respect to at least one input (\sigma in the same).

I think that the only case where being able to compute the inverse becomes 
interesting is if the config contains a secret.  Let's say that you use a 
config that includes a PSK.  The answer there could just be "don't do that 
then".  Or we could work something out (for example, a nonce of sufficient 
length might ensure that a secret could not be reconstructed even if everything 
else were predictable).

___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


Re: [TLS] Constraining ECH to HKDF-based HPKE ciphersuites

2020-08-17 Thread Christopher Patton
Just to be clear, you're proposing something like this? Referring to the
KDF API called for in draft-irtf-cfrg-hpke-05:

config_digest = Expand(PRK=Extract("some_salt", "some_label", IKM=config),
"some_info", 16)
It's maybe more hashing than necessary, but I'd be good with this.

Chris P.
___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


Re: [TLS] Constraining ECH to HKDF-based HPKE ciphersuites

2020-08-17 Thread Christopher Wood
On Mon, Aug 17, 2020, at 3:30 PM, Martin Thomson wrote:
> 
> 
> On Tue, Aug 18, 2020, at 07:55, Christopher Patton wrote:
> > Hi Martin, 
> >  
> > > Or maybe just running the HPKE KDF with a fixed input.
> > Do you mean something like this? Let `config_digest = KDF.extract("some 
> > salt", "some label", config)`, where `config` is the ECH configuration?
> 
> Sure.  I would probably use all of HKDF though, see below.

If we're going to use all of HKDF (extract + expand), then let's just use the 
HPKE's Extract+Expand functions in sequence. 

Best,
Chris

___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


Re: [TLS] Constraining ECH to HKDF-based HPKE ciphersuites

2020-08-17 Thread Martin Thomson



On Tue, Aug 18, 2020, at 09:04, Christopher Patton wrote:
> Just to be clear, you're proposing something like this? Referring to 
> the KDF API called for in draft-irtf-cfrg-hpke-05:
> 
> config_digest = Expand(PRK=Extract("some_salt", "some_label", 
> IKM=config), "some_info", 16)
> It's maybe more hashing than necessary, but I'd be good with this.

Something like that yeah.  And yes, that's a lot of hashing.  But that's a 
lower-order concern.  Maybe if we try to find a KDF that doesn't cost so much 
to operate we won't feel so bad about this.

___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


Re: [TLS] Constraining ECH to HKDF-based HPKE ciphersuites

2020-08-17 Thread Christopher Patton
I worked out this suggestion into a PR:
https://github.com/tlswg/draft-ietf-tls-esni/pull/276

Please have a look!
Chris P.

On Mon, Aug 17, 2020 at 4:28 PM Martin Thomson  wrote:

>
>
> On Tue, Aug 18, 2020, at 09:04, Christopher Patton wrote:
> > Just to be clear, you're proposing something like this? Referring to
> > the KDF API called for in draft-irtf-cfrg-hpke-05:
> >
> > config_digest = Expand(PRK=Extract("some_salt", "some_label",
> > IKM=config), "some_info", 16)
> > It's maybe more hashing than necessary, but I'd be good with this.
>
> Something like that yeah.  And yes, that's a lot of hashing.  But that's a
> lower-order concern.  Maybe if we try to find a KDF that doesn't cost so
> much to operate we won't feel so bad about this.
>
___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


Re: [TLS] comments on draft-subcerts

2020-08-17 Thread Sofía Celi
Dear Nick and list,

The PR is here now: https://github.com/tlswg/tls-subcerts/pull/79
Looking forward to been submitted to WGLC#2.

Thanks!

-- 
Sofía Celi
@claucece
http://claucece.github.io/
Cryptographic research and implementation at many places, but mainly at
Cloudflare
FAB9 3EDC 7CDD 1198 DCFD  4558 91BB 6B45 6F44 2D02

___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls