5

1. 问:HTTP Public-Key-Pinning (HPKP)
真的提高安全性吗? MITM(例如 NSA)可以拦截对服务器的第一个请求,并以“伪造的”证书进行响应,该证书由受感染的CA签名。 因此,HPKP 仅在与服务器的初始连接未被篡改并且您 100% 确定您最初连接到正确服务器的情况下才能提高安全性。 正确的?


2. 问题
Public-Key-Pins头需要至少包含两个不同证书的两个哈希值,一个用作“备份”证书。
这是否意味着我必须从两个不同的 CA 购买两个不同的证书?
那将是相当昂贵的。如果您购买一个,CA 不应该让您为同一个域签署两个证书吗?
安全不应该付出代价,每个人都应该能够构建安全的服务。

4

2 回答 2

6

1. 是的

2、HPKP与证书本身无关。就像名字告诉你的那样,它是关于公钥的。

要获得证书,您将使用您的私钥创建证书请求。您的公钥存储在您从 CA 获得的证书中。然后将该公钥与浏览器通过固定标头中的先前请求获得的公钥进行比较。

通过您的回复,您将提供该私钥的公钥和备用私钥的另一个公钥。

于 2015-03-07T09:25:43.743 回答
-4

关于第二个问题的一条评论。

实际上是的,您必须购买至少 2 个证书才能将证书指纹固定到客户端浏览器中。备份证书不得存储在生产计算机上。你只需要它的指纹。

指纹是在证书上计算的。然后一个 CA 也有一个指纹。

openssl x509 -noout -in /etc/ssl/certs/DigiCert_Global_Root_CA.pem -fingerprint -sha256
于 2015-07-12T10:01:35.603 回答