安全验证ssl证书需要执行哪些步骤?我(非常有限)的理解是,当您访问https站点时,服务器将证书发送给客户端(浏览器),浏览器从该证书获取证书的颁发者信息,然后使用该信息与颁发者联系,并以某种方式进行比较有效性证书。
- 这到底是怎么做的?
- 该过程如何使其不受中间人攻击?
- 是什么阻止一些随机的人设置自己的验证服务以用于中间人攻击,从而使一切“看起来”都是安全的?
安全验证ssl证书需要执行哪些步骤?我(非常有限)的理解是,当您访问https站点时,服务器将证书发送给客户端(浏览器),浏览器从该证书获取证书的颁发者信息,然后使用该信息与颁发者联系,并以某种方式进行比较有效性证书。
Answers:
这是一个非常简单的解释:
您的Web浏览器将下载Web服务器的证书,其中包含Web服务器的公钥。该证书使用受信任的证书颁发机构的私钥签名。
您的Web浏览器已安装了所有主要证书颁发机构的公钥。它使用此公共密钥来验证Web服务器的证书确实由受信任的证书颁发机构签名。
证书包含Web服务器的域名和/或IP地址。您的Web浏览器通过证书颁发机构确认证书中列出的地址是它具有打开连接的地址。
您的网络浏览器会生成一个共享对称密钥,该对称密钥将用于加密此连接上的HTTP流量;这比对所有内容使用公钥/私钥加密要有效得多。您的浏览器使用Web服务器的公共密钥加密对称密钥,然后将其发送回去,从而确保只有Web服务器可以对其进行解密,因为只有Web服务器具有其私钥。
请注意,证书颁发机构(CA)对于防止中间人攻击至关重要。但是,即使未签名的证书也将阻止某人被动地侦听您的加密流量,因为他们没有办法访问您的共享对称密钥。
webmaster@<domain-being-verified>
或将文件放在您的域上以证明您拥有它。”但是,确实存在一些问题,人们需要CA为其不拥有的域颁发证书。自己的-著名的某人设法获得了一个阴暗的CA来为他们颁发gmail.com的证书!
值得注意的是,除了购买证书(如上所述)之外,您还可以免费创建自己的证书;这称为“自签名证书”。自签名证书和购买的证书之间的区别很简单:购买的证书已由您的浏览器已经知道的证书颁发机构签名。换句话说,您的浏览器可以轻松地验证所购买证书的真实性。
不幸的是,这导致了一个普遍的误解,即自签名证书本质上不如商业证书颁发机构GoDaddy和Verisign出售的证书安全,如果使用它们,则必须忍受浏览器的警告/例外。这是不正确的。
如果您安全地分发自签名证书(或bobince建议的CA证书)并将其安装在将使用您的网站的浏览器中,则该证书与购买的证书一样安全,并且不会受到中间人的攻击攻击和伪造证书。显然,这意味着只有少数人需要安全访问您的网站(例如,内部应用程序,个人博客等),这才可行。
你之前这么说
浏览器从该证书获取证书的颁发者信息,然后使用该信息与颁发者联系,并以某种方式比较证书的有效性。
客户不必与发行人进行核对,因为有两件事:
请注意,没有1就无法完成2。
在这张大图中可以更好地解释这一点我在前段时间
(跳到底部的“签名是什么?”)
客户端具有SSL证书颁发机构的公钥的预填充存储。为了使服务器受信任,必须有从服务器的证书到中间权威机构再到所谓的“根”证书之一的信任链。
您可以检查和/或更改可信机构列表。通常,您这样做是为了向您信任的地方当局添加证书,例如您所工作的公司,就读的学校或不参加的学校。
根据您使用的客户端,预播列表可能会有所不同。大型SSL证书供应商确保其根证书位于所有主要浏览器中($$$)。
除非攻击者拥有受信任的根证书的私钥,否则“中间猴子”攻击是“不可能的”。由于相应的证书已被广泛部署,因此,这种私钥的暴露通常会对电子商务的安全性产生严重影响。因此,这些私钥受到非常非常严格的保护。
如果您更具技术意识,则可能需要该站点: http //www.zytrax.com/tech/survival/ssl.html
警告:兔子的洞会变深:)。