安全更新证书颁发机构证书

时间:2015-10-04 05:54:17

标签: php security ssl curl certificate-authority

证书颁发机构证书通常与他们使用的应用程序捆绑在一起,但是如何安全地自动更新它们?

在PHP中,建议使用https://curl.haxx.se/ca/cacert.pem 与cURL一起使用,如果你已预先捆绑它,这是安全的,但该URL不支持HTTPS,因此中间人攻击完全可以欺骗不同的证书。

1 个答案:

答案 0 :(得分:1)

这与the problem of secure code delivery有关,因此我怀疑解决方法也可以解决这个问题。

今日实用解决方案

将Mozilla的用户签名为certdata.txt,验证您的签名,然后使用Curl团队用来构建您自己的.pem文件的相同Perl脚本。切出中间人。

明天的假设解决方案

注意:如果curl.haxx.se的人无法设置HTTPS,我不知道社区会说服他们多少运气设置此真实性过程。

  1. 传输层安全性应该是强制性的。
  2. 应使用数字签名(GnuPGminisign等)。
  3. 签名及其时间戳应在区块链(例如比特币)或Google certificate transparency等系统中公布。
  4. 这可以防止有人干扰您与curl.haxx.se的通信,同时还可以阻止攻击curl.haxx.se的人向最终用户提供有毒证书列表。通过在分散的分类帐中公布证书和时间戳,并为客户端验证提供一些机制,有针对性的攻击不再可行。

    这不会阻止curl.haxx.se的人变坏。