Live data from Hacker News

Rustls: new, modern TLS library written in Rust

github.com

31–40 of 112 posts

Re: Rustls: new, modern TLS library written in Rust

#31
post #3

Earlier quoted context omitted.

It's listed in the "Possible future features" section... Isn't TLS 1.3 currently still a draft? [1] [1]: https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1...

Yes, TLS 1.3 is still in draft[1]. Heard from a co-worker on Friday (@grittygrease) that draft 14 should be arriving very soon. We (CloudFlare) have implemented draft 13 in go and are actively testing it—try browsing https://tls13.cloudflare.com with Firefox nightly[2]. I think BoringSSL is also[3] working on their implementation and NSS (Firefox's SSL/TLS library) implemented[4] draft 11 in v3.23, but OpenSSL doesn'…

http://i.imgur.com/hMqpkev.png

Re: Rustls: new, modern TLS library written in Rust

#32

Earlier quoted context omitted.

Yes, TLS 1.3 is still in draft[1]. Heard from a co-worker on Friday (@grittygrease) that draft 14 should be arriving very soon. We (CloudFlare) have implemented draft 13 in go and are actively testing it—try browsing https://tls13.cloudflare.com with Firefox nightly[2]. I think BoringSSL is also[3] working on their implementation and NSS (Firefox's SSL/TLS library) implemented[4] draft 11 in v3.23, but OpenSSL doesn'…

http://i.imgur.com/hMqpkev.png

Pat missed one bit: you need to head to about:config and set "security.tls.version.max" to 4.

Re: Rustls: new, modern TLS library written in Rust

#33

Earlier quoted context omitted.

Yes, TLS 1.3 is still in draft[1]. Heard from a co-worker on Friday (@grittygrease) that draft 14 should be arriving very soon. We (CloudFlare) have implemented draft 13 in go and are actively testing it—try browsing https://tls13.cloudflare.com with Firefox nightly[2]. I think BoringSSL is also[3] working on their implementation and NSS (Firefox's SSL/TLS library) implemented[4] draft 11 in v3.23, but OpenSSL doesn'…

http://i.imgur.com/hMqpkev.png

Think draft 13 is only deployed internally (as we're dogfooding it). Draft 11 is what's live unless you're on VPN. Nick (https://twitter.com/grittygrease) can confirm.

Re: Rustls: new, modern TLS library written in Rust

#34

Earlier quoted context omitted.

> Attacks like downgrade attacks, for example, are not memory unsafety issues. First, this library only implements TLS 1.2 with AEAD cipher suites (AES-128-GCM, AES-256-GCM, and ChaCha20-Poly1305) and perfect forward secrecy (using ECDHE with the X25519, P-256, and P-384 curves, and RSA and ECDSA signatures). Thus, downgrade to something worse than what NSS or OpenSSL or BoringSSL consider to be the very best crypto…

This is good. However, I mentioned downgrade attacks as an example of the kind of bug Rust can't solve. Most likely new TLS stacks will not be prone to downgrade attacks. They might be prone to other logic errors. So will established TLS stacks, but those are more battle tested. The rust ones will be too, but eventually, not now. It's a tradeoff.

Out of curiousity, what sort of evidence of safety is the Servo team using to evaluate crypto libraries? I'd love to see the criteria.

Re: Rustls: new, modern TLS library written in Rust

#35

Earlier quoted context omitted.

http://i.imgur.com/hMqpkev.png

Pat missed one bit: you need to head to about:config and set "security.tls.version.max" to 4.

Good point. You'd figure I'd remember this after Nick put it on the monster video wall: http://imgur.com/cf28rpt ;)

Re: Rustls: new, modern TLS library written in Rust

#36
post #7

Earlier quoted context omitted.

> The following things are broken, obsolete, badly designed, underspecified, dangerous and/or insane. Rustls does not support [...]

I'd love to see an explanation for not supporting client authentication. Also, completely ruling out discrete-log DH and requiring PFS is not feasible unless you want to rule out a lot of clients and servers, on top of not supporting TLS 1.1.

It seems especially wrongheaded as client certificates are used in certain academic environments.

Re: Rustls: new, modern TLS library written in Rust

#37
post #21

My application needs RFC 6091, i.e. using OpenPGP keys instead of the usual X.509 certificates. (Why not X.509? Ask Peter Gutmann¹). This feature is not listed as something they don’t support, nor as something they won’t support, which is odd. Likewise for DTLS (RFC 6347). These omissions are strange. ① Everything you Never Wanted to Know about PKI but were Forced to Find Out ( https://www.cs.auckland.ac.nz/~pgut001/…

Probably worth opening an issue on the GitHub to ask for clarification on whether support for those features will be considered for the future.

Re: Rustls: new, modern TLS library written in Rust

#38
I'm so happy to see something like this in development. Every time there's a discussion about OpenSSL vulnerabilities, the topic of a future replacement written in Rust comes up, but no one was stepping up to the plate. Now we have some real progress towards a safer future.

Re: Rustls: new, modern TLS library written in Rust

#40
Memory safety issues are not the only vulnerabilities in a cryptography library. A simple example would be timing attacks.

Writing a cryptography library from scratch because the old one has too many security holes? Your implementation is likely to have even more.

We should really concentrate on making one implementation secure, instead of creating more libraries.

Post reply on HN