The FIPS 140-3 Go Cryptographic Module

https://news.ycombinator.com/rss Hits: 14
Summary

The FIPS 140-3 Go Cryptographic Module Filippo Valsorda (Geomys), Daniel McCarney (Geomys), and Roland Shoemaker (Google) 15 July 2025 FIPS 140 is a standard for cryptography implementations and, although it doesn’t necessarily improve security, FIPS 140 compliance is a requirement in certain regulated environments that are increasingly adopting Go. Until now, FIPS 140 compliance has been a significant source of friction for Go users, requiring unsupported solutions with safety, developer experience, functionality, release velocity, and compliance issues. Go is addressing this growing need with native FIPS 140 support built right into the standard library and the go command, making Go the easiest, most secure way to comply with FIPS 140. The FIPS 140-3 validated Go Cryptographic Module now underlies Go’s built-in crypto libraries, starting with the Go Cryptographic Module v1.0.0 that is included in Go 1.24, released last February. The v1.0.0 module has been awarded Cryptographic Algorithm Validation Program (CAVP) certificate A6650, was submitted to the Cryptographic Module Validation Program (CMVP), and reached the Modules In Process List in May. Modules on the MIP list are awaiting NIST review and can already be deployed in certain regulated environments. Geomys led the implementation effort in collaboration with the Go Security Team, and is pursuing a broadly applicable FIPS 140-3 validation for the benefit of the Go community. Google and other industry stakeholders have a contractual relationship with Geomys to include specific Operating Environments in the certificate. We believe this to be the first non-JVM memory-safe library to get FIPS 140 validated. Further details on the module are available in the documentation. Some Go users currently rely on the Go+BoringCrypto GOEXPERIMENT, or on one of its forks, as part of their FIPS 140 compliance strategy. Unlike the FIPS 140-3 Go Cryptographic Module, Go+BoringCrypto was never officially supported and had signifi...

First seen: 2025-07-15 22:04

Last seen: 2025-07-16 11:07