【问题标题】:Building OpenSSL with FIPS on Mac OSX 10.11在 Mac OSX 10.11 上使用 FIPS 构建 OpenSSL
【发布时间】:2016-04-06 17:14:46
【问题描述】:

1.是否可以在 Mac OSX 10.11 上使用 FIPS 构建 OpenSSL?

  • 我正在努力保持与许多其他平台的兼容性,这些平台都使用 OpenSSL 和 FIPS。
  • 我知道 Apple 强烈建议使用 CommonCrypto,我相信这将满足我使用等效摘要和加密算法的大部分跨平台兼容性需求。
  • 这将需要大量额外的工作,并且会偏离我宁愿避免的已构建的通用框架。
  • 与 FIPS 验证相比,我对兼容性和可行的解决方案更感兴趣。

2。 Mac OSX 10.11 下是否有兼容 OpenSSL 的 DRBG(AES-256 和 df)

  • 我的理解是Common Crypto下的DRGB是AES-128

【问题讨论】:

  • 是的,可以在 Mac OS X 10.11 上构建 openssl-fips-2.0.12:我使用 sh ./Configure --prefix=/opt/openssl darwin64-x86_64-cc 来完成这项工作。如果您希望将软件安装在其他位置,请选择您希望软件安装的位置,而不是 /opt/openssl
  • 对于 DRBG(确定性随机位生成器),您可以查看 DRBG Validation,它有多个 Apple 条目(816,以及 800-811 范围内的更多条目)。这些似乎确实是 AES-128,而不是 AES-256。在 845 处还有一个 OpenSSL 条目。这有帮助吗? (另请注意 DRBG Historical 不再批准 Dual_EC_DRBG 随机数生成器。(Google 搜索词“drbg 验证”。)
  • 乔纳森,也许我做错了什么。之后,您是否能够执行 FIPS_mode_set() 并成功进入 fips 模式?

标签: macos encryption openssl fips


【解决方案1】:

是否可以在 Mac OSX 10.11 上使用 FIPS 构建 OpenSSL?

是和否。是的,您可以构建 FIPS 对象模块和支持 FIPS 的 OpenSSL 库(强调构建)。

不,因为它不是经过验证的平台。看起来唯一经过 OS X 验证的平台是 x86-64 上的 Apple OS X 10.7。请参阅User Guide for the OpenSSL FIPS Object Module v2.0 中的第 3 节,兼容的平台。


在 Mac OS X 10.11 下是否有兼容 OpenSSL 的 DRBG(AES-256 和 df)

是的,Apple 有一些经过验证的 DRBG。请参阅 Apple 的 1091 证书和 CTR_DRBGNIST's DRBG Validation List。您也可能对NIST's Algorithm Validation Lists 感兴趣。


我知道 Apple 强烈建议使用 CommonCrypto ...

我认为这没有任何意义。 Apple 生产 CommonCrypto,他们当然会推荐它!

Apple 没有告诉您的是,他们默默地放弃了操作系统、框架和库。因此,一旦你推出了与他们的库相关的东西,你就会很容易受到攻击,因为他们不支持他们的修复。

例如,Apple 从未向后移植他们的ECDHE-ECDSA bug fix in SecureTransport,因此该领域存在问题。再举一个例子,Apple 从未向后移植CVE-2014-1266 SecrueTransport's Goto Fail 修复程序,因此该领域存在问题。再举一个例子,Apple 花了大约 3 年的时间在他们的 XML 解析器中修复 Billion Laughs。再举一个例子,Apple 从未修复过CVE-2015-1130 (Hidden Backdoor with Root),因此该领域存在问题。

苹果也是臭名昭著的for releasing untested and substandard software

Apple 还保留补丁和修复程序,waits to provide them with their next latest-and-greatest OS press release

因此,我发现从架构和设计的角度来看,最好的方法是避免使用 Apple 框架和库。这样,无论库比蒂诺在做什么,您都可以更新您的应用程序并关闭安全漏洞和错误。无论 Apple 采取什么行动或缺乏行动,用户都会喜欢您更新的应用程序。

另请参阅 OWASP 移动安全邮件列表上的 Mobile Development Architecture (Vendor Patching vs App Updates)?

【讨论】:

  • jww* - 关于 DRBG - 什么是程序化访问?我需要能够提供种子并设置 AES128 或 AES256。查看 CommonCrypto,他们只提供由 dev/random 播种的 RNG。我需要与 OpenSSL fips_CTR_DRBG_AES256 兼容。
猜你喜欢
  • 2017-09-26
  • 1970-01-01
  • 1970-01-01
  • 2012-06-20
  • 1970-01-01
  • 2016-03-03
  • 2014-02-26
  • 2016-04-09
相关资源
最近更新 更多