您会听到很多关于如何使用SSL固定来提高应用安全性的信息。我总是假设SSL固定仅在您使用自签名证书时才有用。使用由证书颁发机构签名的证书时,SSL固定是否有好处,或者CA是否不必要这样做?
答案 0 :(得分:2)
SSL / TLS存在一些问题,这些问题的根源是CA系统。默认情况下,您的浏览器信任一堆CA.除了一些基本检查(如主机名等)之外,SSL的真正威力来自于通过中介机构验证证书,直到您获得您信任的证书。
证书固定指定您只信任给定网站的给定证书。也就是说,如果你收到了有效的"由不同的CA签署的证书(即使您信任该CA),您不会信任该站点。
简而言之,CA已签署证书的事实并未减少证书固定的需要。
例如:公司有时会拦截SSL。为此,它们实际上为客户端提供了一个不同的SSL证书,该证书对客户端尝试访问的主机有效。因为他们可以将任何证书插入受信任的根(通过GPO的窗口),所以他们可以插入证书而不是主机发布的证书。在这种情况下,SSL拦截对用户是透明的。他们仍然被发出有效的"由他们信任的CA签署的证书(无论他们是否知道)。如果您一直使用证书固定,则新证书将被拒绝。
证书固定存在缺陷,主要是证书管理过期等等。
有关详细信息,请参阅this link。