标签: fips

ASP.NET 2.0 RijndaelManaged加密算法与FIPS

我遇到了ASP.NET 2.0应用程序的问题.我们的网络人员刚刚提高了我们的安全性,现在每当我尝试访问应用程序时,我都会遇到浮动错误:

"此实现不是Windows平台FIPS验证的加密算法的一部分."

我做了一些研究,听起来像ASP.NET使用RijndaelManaged AES加密算法来加密页面的ViewState ......而RijndaelManaged是在不符合FIPS的算法列表中.我们当然没有明确地调用任何加密算法......更不用说不合规列表上的任何内容了.

我猜这个ViewState业务对我来说很有意义.但是,我无法摆脱困境的是如何处理它.我发现了一篇知识库文章建议使用web.config设置指定一个不同的算法......但要么没有坚持,要么该算法不符合鼻烟.

所以:

1)RijndaelManaged/ViewState实际上是问题吗?还是我在错误的树上吠叫?

2)如何指定使用什么算法而不是RijndaelManaged?我有一份符合和不符合的算法列表; 我只是不确定在哪里插入这些信息.

谢谢!

理查德

asp.net viewstate fips rijndaelmanaged

7
推荐指数
2
解决办法
5822
查看次数

TripleDESCryptoServiceProvider符合FIPS 140-2标准

我以下列方式使用System.Security.Cryptography的TripleDESCryptoServiceProvider:

  TripleDESCryptoServiceProvider CreateCipher()
        {
            TripleDESCryptoServiceProvider cipher = new TripleDESCryptoServiceProvider();
            cipher.KeySize = 192;
            cipher.BlockSize = 64;
            cipher.Padding = PaddingMode.ISO10126;
            cipher.Mode = CipherMode.CBC;
            return cipher;
        }
Run Code Online (Sandbox Code Playgroud)

我想知道这是否符合FIPS 140-2标准.我发现有很多页面概述了合规性的不同方面,但在我看来,微软通过平台而不是类(有意义)获得合规证书.取而代之的是,我无法找到任何肯定的证据,即上述密码符合FIPS 140-2标准.到目前为止,我找到了最有用的链接:

简而言之,是否有人知道此类/加密方法所属的证书编号是什么?或者它是特定于平台的吗?(这就是我收集的内容.)

c# encryption cryptography fips

7
推荐指数
1
解决办法
5601
查看次数

适用于Android和iPhone的FIPS认证

有谁知道iPhone和Android SDK附带的加密库的名称?我不是指类,函数等的名称,而是提供者和/或库本身的名称.他们是否通过FIPS认证?

谢谢

iphone android cryptography fips

7
推荐指数
1
解决办法
1088
查看次数

即使在客户端禁用TLS 1.2之后,在Java 1.8客户端和以FIPS模式运行的Java 1.7 TLS 1.1服务器之间TLS握手也会失败

"Java 1.7 TLS 1.1服务器"和"Java 1.8客户端"之间的SSL/TLS握手在我的环境中失败,服务器端出现以下异常:

java.security.NoSuchAlgorithmException:没有这样的算法:SunTls12MasterSecret for provider SunPKCS11-NSSfips

以下是我的环境中服务器和客户端的详细信息:

服务器:

  • 服务器使用Java 1.7u45,并且正在运行符合FIPS 140的模式,如 http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/FIPS.html中所述.
  • 服务器使用Mozilla网络安全服务(NSS)版本3.14.3作为加密提供程序.
  • 服务器在SLES 11 SP3(SuSE Linux Enterprise Server)操作系统上运行,并使用操作系统提供的以下NSS RPMS:
    • Mozilla的NSS-3.14.3-0.11.11
    • Mozilla的NSS-工具 - 3.14.3-0.11.11
    • Mozilla的NSPR-4.9.6-0.3.1
    • libfreebl3-3.14.3-0.11.11
    • libsoftokn3-3.14.3-0.11.11
  • 需要注意的一点是,NSS版本3.14.3不支持TLS 1.2.
  • 服务器使用Java 1.7u45,因为Java 1.7u51中引入了Java错误"8028192在FIPS模式下使用PKCS11-NSS提供程序".有关详细信息,请参阅http://www.oracle.com/technetwork/java/javase/7u51-relnotes-2085002.html中的 "已知问题"部分"区域:security-libs/javax.net.ssl" .

客户:

题:

  • 由于服务器不支持TLS 1.2,我在客户端禁用了TLS 1.2.
  • 我无法弄清楚为什么握手失败"甚至在客户端禁用TLS 1.2之后".你能帮我解决这个问题吗?

补充意见:

  • 如果使用Java 1.7(任何版本)并且在客户端禁用TLS 1.2,则相同的方案可以正常工作.
  • 如果使用Java 1.7(任何版本)并在客户端启用TLS 1.2,则会在服务器端抛出相同的异常"java.security.NoSuchAlgorithmException:no such algorithm:SunTls12MasterSecret for provider SunPKCS11-NSSfips".
  • 如果在客户端使用Java 1.8(任何版本),即使禁用TLS 1.2,它也会失败.

服务器端SSL调试日志:

  • 似乎首先使用密码TLS_RSA_WITH_AES_128_CBC_SHA在TLS 1.1中启动握手.
  • 在此之后,出于某种原因,使用密码TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256使用TLS 1.2重新启动握手,该密码失败,异常为"java.security.NoSuchAlgorithmException:no …

security ssl nss fips java-8

7
推荐指数
1
解决办法
2万
查看次数

在 PostgreSQL 数据库上启用 FIPS

有人可以指定在 Postgres 数据库上启用 FIPS 的步骤吗?我用谷歌搜索但找不到任何具体的东西。

postgresql openssl fips

6
推荐指数
1
解决办法
6124
查看次数

如何确保curl 使用openssl,而不是nss?

是否可以通过配置确保parameter使用curlOpenSSL而不是NSS来检索 https 内容我需要确保这一点,以便强制遵守RHEL6.2 已认证的 FIPS140-2

我认为答案是“不”。

所以我也会在这里询问后续...我可以重新编译curl以确保它使用libssl而不是libnss吗?我试过了:

./configure --with-ssl --without-nss
Run Code Online (Sandbox Code Playgroud)

我最终仍然得到一个动态链接到libnss3.so.

[root@fips curl-7.19.7]# ldd /usr/bin/curl 
        linux-vdso.so.1 =>  (0x00007fffacbe8000)
        libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f5d8fe03000)
        libidn.so.11 => /lib64/libidn.so.11 (0x00007f5d8fbd1000)
        libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f5d8f983000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f5d8f77b000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f5d8f537000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f5d8f250000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f5d8f024000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f5d8ee20000)
        libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f5d8ebc2000)
        libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f5d8e828000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f5d8e624000)
        libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x00007f5d8e3fb000)
        libz.so.1 => …
Run Code Online (Sandbox Code Playgroud)

curl fips rhel6

6
推荐指数
1
解决办法
2万
查看次数

使 Android 应用程序使用 FIPS 140-2 验证密码术

我有客户希望我们的应用程序使用FIPS 140-2 验证的加密。该应用程序使用Okhttp 并执行一些 HTTPS 请求。AFAIK Android 使用 OpenSSL C 库并使用 java 包装器 javax/net/ssl

问题:

  1. 如何让安卓应用程序 FIPS 140 -2 投诉?

  2. 堆栈(OS)级别的android是否应该使用符合FIPS的OpenSSL,因此所有应用程序都是默认符合FIPS 140 -2的?

  3. 或者我们的应用程序应该使用 FIPS 140-2 验证的密码学并使 java javax/net/ssl 使用它?可行的?

  4. 是否有可以插入 OKhttp 的 FIPS 140-2 JCE 库?

谢谢

ssl android fips okhttp boringssl

6
推荐指数
1
解决办法
958
查看次数

如何在 Nginx 中启用 FIPS 模式?

我希望获得一些有关为 nginx 启用 openssl fips 模式的指导。到目前为止,我按照 openssl 指南在 openssl 上启用 fips 模式。

该部分效果很好:

# /usr/local/openssl/bin/openssl md5 /usr/local/openssl/bin/openssl
Error setting digest md5
139805371958952:error:060A80A3:digital envelope 
routines:FIPS_DIGESTINIT:disabled for fips:fips_md.c:180:

# cat /proc/sys/crypto/fips_enabled
1
Run Code Online (Sandbox Code Playgroud)

对于 nginx,我首先尝试使用此自定义 openssl 构建 nginx:

/nginx-1.12.2/configure --with-http_ssl_module --with-openssl=/usr/local/openssl --with-ld-opt="-L/usr/local/openssl/lib"
Run Code Online (Sandbox Code Playgroud)

然而,这失败了,因为 /usr/local/openssl 是自定义 openssl 的“安装”位置,而不是源树。

所以我更改了 --with-openssl 选项以使用 openssl 源树:

/nginx-1.12.2/configure --with-http_ssl_module --with-openssl=/usr/local/src/openssl-1.0.2n/ --with-ld-opt="-L/usr/local/openssl/lib" 
Run Code Online (Sandbox Code Playgroud)

这有效,我可以安装 nginx,但我不认为在 nginx 配置期间传递了支持 fips 模式的正确 openssl 编译选项。

当我打印 nginx 信息时:

nginx -V:
nginx version: nginx/1.12.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with …
Run Code Online (Sandbox Code Playgroud)

openssl nginx fips

6
推荐指数
0
解决办法
3739
查看次数

java.security.NoSuchAlgorithmException: PKCS11 KeyStore 不可用,尝试在 java 11 中使用 SUNPKCS11 启用 FIPS 模式

我正在尝试在 Java 11 中使用带有 NSS 的 SUNPKCS11 启用 FIPS 模式。我得到了这个异常 java.security.NoSuchAlgorithmException: PKCS11 KeyStore not available。

当我尝试在Java 8 中启用 FIPS 时,它工作正常,但在Java 11 中执行相同操作会引发异常。

SUNPKCS11 的初始化从 Java 8 更改为 Java 11。

在 Java 8 中:

  Provider provider = Security.getProvider("SunPKCS11");      
  provider.configure(nssConfigFile);
Run Code Online (Sandbox Code Playgroud)

爪哇11:

  Provider provider = new sun.security.pkcs11.SunPKCS11(nssConfigFile);
  Security.addProvider(nssProvider);
Run Code Online (Sandbox Code Playgroud)

使用配置文件初始化 SUNPKCS11 后,我尝试从密钥库中获取提供程序,如下所示。
还有一件事是当我初始化 SUNPKCS11 时,它的Provider.id.info被设置为 Unconfigured and unusable PKCS11 provider,这有什么关系吗?

KeyStore.getInstance("SUNPKCS11");
Run Code Online (Sandbox Code Playgroud)

然后在这里我没有密钥库中的 PKCS11。

我的配置文件内容如下:

  name=nss-client   
  nssLibraryDirectory=X:\XXX\NSS\lib\   
  nssSecmodDirectory=X:\XXX\NSS\db\   
  nssModule=fips
Run Code Online (Sandbox Code Playgroud)

我需要更改配置文件内容中的某些内容还是 Java 11 中的错误?

请帮助我提出宝贵的建议。

java nss fips sunpkcs11 java-11

6
推荐指数
1
解决办法
1307
查看次数

Nginx 开源是否兼容 FIPS?

我正在调查我们平台的 FIPS 合规性。nginx 是组件之一,我们使用 nginx 1.15.1。我找到了有关 nginx 以及 FIPS 兼容的文档。

\n
\n

当 NGINX Plus 在存在 FIPS\xe2\x80\x91validated OpenSSL 加密模块并启用 FIPS 模式的操作系统上执行时,NGINX Plus 在 SSL/TLS 的解密和加密方面符合 FIPS 140-2 HTTP/2 流量。

\n
\n

https://docs.nginx.com/nginx/fips-compliance-nginx-plus/

\n

这也适用于开源 nginx 吗?我没有找到开源版本的任何文档。我也在 nginx 论坛中发布了该查询,但也在这里检查一下,以防人们已经完成了开源版本的 FIPS 合规性。

\n

openssl nginx fips

6
推荐指数
1
解决办法
2567
查看次数