1

Go的dev.boringcrypto 分支用 FIPS 验证的版本替换了内置的加密模块:

我们一直在 Google 内部开发一个使用 BoringCrypto(BoringSSL 的核心)用于各种加密原语的 Go 分支以促进与 FIPS 140-2 相关的一些工作。我们听说 Go 的一些外部用户也会对这段代码感兴趣,所以这个分支保存了让 Go 使用 BoringCrypto 的补丁。

浏览源代码,我可以看到对低级加密代码的修改。但是,我一直在使用的 Go 包都使用x/cryptolibrary,我在第一次看时在分支中看不到任何引用。我想澄清一下这个库与 FIPS 140-2 相关的适用性 - 如果我编译了一个使用x/crypto无聊的加密 Go 构建的项目,该库是否也符合 FIPS 标准?

如果不是这种情况 - 为什么不呢?如果 Go 有一个经过 FIPS 验证的维护分支,为什么一个基本的加密库不会也有相同的修改?

4

1 回答 1

1

一旦有一个有效的CMVP(加密模块验证程序),对于您正在使用的库,您就可以放心 FIPS 140-2 验证。

请记住,与 FIPS 相关的“合规”和“认证”概念都有所提及。

“合规性”是基础密码在批准的密码原语列表中的位置,即AES256-CBC.

“认证/验证”是基础库已由 NIST 批准的实验室专门审核的地方。

对于 FIPS 140-2 生产使用(FedRAMP 等),您必须依赖后者。

看起来CMVP #3753是您所需要的。

对证书基础参数的任何修改都会使认证失效。

于 2021-07-19T13:40:00.613 回答