Subject: [TLS] Review of draft-ietf-tls-external-psk-guidance-00

From: John Mattsson <[email-masked]>
Date: Tue, 29 Sep 2020 07:58:10 +0000

Hi,

I think is a very well written and very useful document. Comments and suggestions:

- Abstract and Section 1
”It lists TLS security properties provided by PSKs under certain assumptions and demonstrates how violations of these assumptions lead to attacks.”

I think a very important objective of the document is to list the security properties not provided by PSKs. Suggestion:

”It lists TLS security properties provided by PSKs as well as security properties not provided by PSKs”

- Section 4

“There are a number of obvious weaknesses here:”

The are several more weaknesses/attacks possible when using a group PSK:

- If PSK with DH is used, a group member that actively MITM the handshakes and all following traffic can eavesdrop or modify all traffic.

- If PSK without DH is used, a group member that passively eavesdropped on the handshake can eavesdrop on or modify selected traffic.

The list is now a mixture of a misbehaving group member and an attacker that compromised a group member. I would suggest that the list only talks about what a group member can to and then after the list states that “If a group member is compromised, then the attacker can perform all of the above attacks.”

- Section 4

The are several more weaknesses/limitation (not attacks) when using a group PSK:

- Revocation of individual group members is not possible without changing the authentication key for all members.

- Network activity logging becomes less useful as messages can only be tied to the group and not individual members (or pair of members).

There also several weaknesses/limitation that are hinted at in RFC 8446 which apply for two-party PSK authenticated connections. As this is a guidance document for all uses of external PSK, I think this document should bring up and expand upon:

-	Key Compromise Impersonation (KCI) resistance 
-	Protection of endpoint identities  
-	Forward secret with respect to long-term keys (psk_ke only) 

An additional security property given by signature authentication but not psk authentication is non-repudiation. As stated by Wikipedia “By this property, an entity that has signed some information cannot at a later time deny having signed it.”

- Section 4

”In addition to these, a malicious non-member can reroute handshakes between honest group members to connect them in unintended ways, as detailed below.

The attack only works under certain assumption on the PSK identity and PSK. It does not work if the members use their identities “A”, “B”, “C” to create PSK identities or derive pairwise PSKs from a master group key. This should be clarified.

- Section 5
”As a result, a passive adversary can link two or more connections together that use the same external PSK on the wire.

Sending identifiers in cleartext lead to more weaknesses than linkability. Suggestion:

”As a result, a passive adversary can link two or more connections together that use the same external PSK on the wire. Depending on the PSK identity, a passive attacker may also be able to identify the device, person, or enterprise running the TLS client or TLS server. An active attacker can also use the PSK identity to oppress handshakes or application data from a specific device/user by blocking, delaying, or rate-limit traffic.

Section 6

”Internet of Things (IoT) and devices with limited computational capabilities.”

Limited memory and storage might be more important. Most devices today have computational capabilities to do asymmetric crypto, it is computational capabilities combined with latency requirement that is limiting.

Section 6

”[RFC7925] defines TLS and DTLS profiles for resource-constrained devices and suggests the use of PSK” 

This kind of makes is sounds like PSK is recommended over ECDSA. Both RFC 7252 and RFC 7925 treats ECDSA and PSK authentication equally.

Section 6

”There are also use cases where PSKs are shared between more than two entities.  Some examples below (as noted by Akhmetzyanova et al.[Akhmetzyanova]):”

These are not real use cases. Akhmetzyanova et. Al. clearly states that they are “providing two dummy systems”, I.e. these are not real systems. If there are no actual concrete use cases, the use of group PSK should maybe stay forbidden.

Section 7.1

“OpenSSL and BoringSSL: Applications specify support for external PSKs via distinct ciphersuites.”

I assume this is not the case for TLS 1.3 as the cipher suites in TLS 1.3 are independent of the authentication.

Section 8

“It is NOT RECOMMENDED to share the same PSK between more than one client and server.”

As described earlier in the document, group PSK violates both “peer authentication” and “downgrade protection property”. It also violates “secrecy of the session keys”.

Two-party PSK already does not provide “Key Compromise Impersonation (KCI) resistance” and “Protection of endpoint identities” and psk_key does not provide “Forward secret with respect to long-term keys”.

So when psk_ke is used in a group, the only property left is “Uniqueness of the session keys”...

I am skeptical to introduce this new group PSK mode in an informal guidance document. If group PSK should be allowed, it should be more clearly declared as a new mode of TLS 1.3 and the security properties given and not given should be more clearly stated.

Cheers,
John

---

From: John Mattsson <[email-masked]>
Date: Tue, 29 Sep 2020 11:57:40 +0000

Hi,

I positive security property the document should definitely be mention is that PSKs are quantum-safe.

It can be argued how large the PSKs need to be, but even 128-bit PSKs are practically safe againts any foreseable quantum computer. Assuming someone builds a quantum computer that breaks RSA-2042 in hours. Even a cluster with millions of such computers would take hundred of years to brute-force a 128-bit symmetric key due to the fact that Grover's cannot be efficiently parallelizable. The complexity of Grover’s algorithms has also been proved to be optimal.

I think the document should reference RFC 8773 in Section 6.

Cheers,
John

-----Original Message-----
From: John Mattsson <[email-masked]>
Date: Tuesday, 29 September 2020 at 09:58
To: "[email-masked]" <[email-masked]>
Subject: Review of draft-ietf-tls-external-psk-guidance-00

Hi,

- Abstract and Section 1

- Section 4

- Section 4

- Section 4

- Section 5

Section 6

Section 6

Section 6

Section 7.1

Section 8

Cheers,
John