4 ms·
Impressive. I know Firefox uses NSS (its own TLS library) and not OpenSSL, but this article makes me wonder if Mozilla would consider using rustls in FF as Rus
by Panino 7y ago
Impressive. I know Firefox uses NSS (its own TLS library) and not OpenSSL, but this article makes me wonder if Mozilla would consider using rustls in FF as Rust handles more and more of the FF code. Maybe it says something that NSS has few users apart from FF despite the obvious advantage of being maintained by a major organization.
Interestingly, the crypto code in rustls is by ring, a Rust crypto library. According to the ring github page, "Most of the C and assembly language code in ring comes from BoringSSL, and BoringSSL is derived from OpenSSL."
- PyroLagus 7y agoI'd much rather see Firefox use miTLS[0]. They already use HACL[1] (miTLS and HACL are part of Project Everest[2]) in NSS[3], so I don't think it would be too big of a leap. Rust is really cool, but if you want to ensure that the implementation adheres to the spec, a language with formal verification is much better. That said, miTLS isn't finished yet, so of course it's going to take a while until anyone can actually use it. [0] https://mitls.org/ https://mitls.org/ [1] https://github.com/project-everest/hacl-star https://github.com/project-everest/hacl-star [2] https://project-everest.github.io/ https://project-everest.github.io/ [3] https://blog.mozilla.org/security/2017/09/13/verified-cryptography-firefox-57/ https://blog.mozilla.org/security/2017/09/13/verified-crypto...
- earenndil 7y agoIt looks like it's written in F#; that would make it harder to integrate with mozilla's c++/rust codebase. Not impossible surely, but possibly not worth it since in general an attacker has far more interesting avenues of attack than the ssl implementation; especially since it hasn't AFAIK had any high-profile vulnerabilities.
- forty 7y agoF* not F# https://en.m.wikipedia.org/wiki/F*_(programming_language) https://en.m.wikipedia.org/wiki/F*_(programming_language). It compiles to C.
- kitd 7y agoFrom the linked project page: The stable version of miTLS including the new 0.9 release are written in F# and specified in F7. Excuse my confusion.
- brohee 7y agoChromium uses NSS too, at least on some platforms. I've also seen it in embedded Linux contexts, it's more common than you think it is.