2017-08-15 117 views
0

我并不完全了解在高度安全的SSL连接建立(避免中间人攻击)中证书锁定的必要性。为什么需要SSL证书锁定?

SSL证书钉扎需要主机验证与由服务器提供的一个嵌入原有的服务器证书。嵌入在主机中的服务器证书和服务器提供的服务器证书之间有什么区别,以便客户端进行验证?

是什么,我在这里失踪?

回答

2

嵌入主机的服务器证书与服务器提供的服务器证书之间的区别是什么?

应该没有,这正是证书锁定的要点。

没有证书通常钉扎的应用程序接受它匹配请求主机名和由本地信任的CA(证书颁发机构)颁发的证书。鉴于通常有100多家CA在本地信任存储就足够了其中一个在2011年得到了成功的攻击为在the case of DigiNotar因此,它是有道理的限制要接受一个特定的证书,即钉扎。

除了证书由证书比较牵制与本地存储的证书收到有钉扎的其他方式:例如一个可能只是核对指纹(哈希值),而不是整个证书。如果证书可以过期,则仅检查公钥而非整个证书可能更有用,因为公钥通常保持在证书更新期间。或者有人可能会针对某个被认为可信的CA颁发该域的证书。

注意了解牵制,您可能需要了解服务器的身份验证是如何工作的。其中一部分是验证服务器证书(主机名,到期,信任链...)。但这是不够的,因为证书本身是公开的,即每个人都可以得到它并可以在TLS握手中发送它。因此,认证的另一个主要部分是服务器证明它是证书的所有者。这是通过使用与证书匹配的私钥签署一些数据来完成的。由于只有证书的所有者应该拥有私钥才能证明所有权。由于这个原因,任何人都可以嵌入服务器证书进行固定,但只有服务器本身才能证明证书的所有权。

相关问题