转到 dev.boringcrypto 分支 - x/crypto 库 FIPS 140-2 合规性

问题描述

dev.boringcrypto branch of Go 将内置加密模块替换为 FIPS 验证版本:

我们一直在 Google 内部研究 Go 的一个分支,它使用 BoringCrypto(BoringSSL 的核心)用于各种加密 原语,以促进一些work related to FIPS 140-2。 我们听说一些 Go 的外部用户会感兴趣 这段代码也是如此,所以这个分支保存了让 Go 使用的补丁 无聊的加密。

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

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

解决方法

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

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

“合规性”是指底层密码在批准的加密原语列表中的位置,即 AES256-CBC

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

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...