当一个新的网站去买了SSL证书,用户通过浏览器去访问,这时候浏览器如何去验证这个证书的正确性,防止被中间人攻击? 是需要到CA网站上去验证吗还是?接下来就详细介绍一下浏览器如何验证SSL证书的合法性的。
证书颁发机构,也就是CA,是不会直接向用户签发证书的,而是多了一层中间证书颁发机构。CA会自己给自己签发一个证书,这个证书叫做根证书或Root CA;然后CA会通过根证书来签发中间证书,授权中间证书颁发机构签发证书的权限;最后中间证书颁发机构通过中间证书向用户签发用户证书。至于为什么需要多这么一层中间证书颁发机构,目的是为了保护根证书,减少根证书被攻击或者说被破解的风险。因为一旦根证书被破解了,根证书所属的CA颁发的所有证书都将失去保护网站的能力,这是一件十分严重的事情。
值得注意的是,中间证书可以不止一个,中间证书层数越多,根证书越安全,但是中间证书越多,证书结构越复杂,越占用通信资源。所以一般情况下,用户收到的证书是三个证书(一个根证书、一个中间证书、一个用户证书)或四个证书(一个根证书、两个中间证书、一个用户证书)。
我们以一个部署了SSL证书的网站为例,如图所示,我们点开浏览器地址栏的绿色安全锁,再点开证书信息,在证书路径界面显示的这三个证书就是我们要找的完整证书。从上到下分别是:根证书、中间证书和用户证书。
事实上,我们申请到的证书只是用户证书,中间证书和根证书是很早就被签发,很早就存在的。我们还要再了解一下根证书库这个概念,浏览器为什么信任CA签发的证书呢?因为CA是可信任的第三方组织,负责证书的生成、签发和作废。为什么CA时可信的呢,因为他们被WebTrust信任。只有通过WebTrust国际安全审计认证的证书颁发机构CA,其签发的证书才会被各大浏览器信任。根证书库包含浏览器信任的证书颁发机构CA的根证书,有的浏览器会自建根证书库,比如Mozilla Firefox,有的浏览器会使用其他浏览器的根证书库。
那么问题来了,谁来验证SSL证书的合法性呢?当然是浏览器啦,那么浏览器是如何验证的呢?用户证书被中间证书信任,而中间证书被根证书信任,根证书又被浏览器信任,这样一个完整的证书链使得浏览器可以在根证书库内一次检索用户证书、中间证书和根证书,如果能匹配到根证书,那么这一信任链上的所有证书都是合法的。
这里有个题外话,中间证书和根证书统称为证书链,如果我们在部署证书时,仅导入了用户证书,那么PC短访问网站是没有问题的,因为PC浏览器内置绝大部分CA的证书链,会自动补全。如果是移动端访问,如大部分的手机浏览器,那么就会提示不安全,因为大部分的手机浏览器并不会内置证书链,所以无法识别用户证书,也就会把网站标记为不安全。所以切记,部署证书是一定要安装证书链。
这时候又出现了一个新的问题,如果用户证书被吊销,浏览器还会显示安全吗?证书颁发机构有个叫做证书作废列表的东西。证书签发以后,如果出现私钥泄露或丢失、证书所有者信息变更、不再需要继续使用证书等情况,SSL证书颁发机构将会对证书进行作废,并将证书的序列号登记在证书作废列表CRL中。浏览器通过查询证书颁发机构CA最新的CRL,可以确定某个证书是否有效。但是,浏览器并不可能在每个访问者访问每个网站时都向CA查询一次,拿着工作量也太大了啊,带不动,带不动,所以通常浏览器会定期查询CA最新的CRL,这也就会在一定程度上出现,证书被吊销了,浏览器依旧会信任的情况,但是这个是时间不会太久。
如果用户证书没有问题,反而证书颁发机构CA由于安全防护出现问题导致一些机密内容泄露,那么这个CA就不应该被信任,各大浏览器就会将这个CA的根证书从根证书库中删除。这样,改正数签发的所有中间证书和用户证书都将不被信任。
浏览器验证SSL证书5个方面
第一,检查SSL 证书是否是由浏览器中“受信任的根证书颁发机构”颁发。
第二,检查SSL证书中的证书吊销列表,检查证书是否被证书颁发机构吊销。
第三,检查此SSL证书是否过期。
第四,检查部署此SSL证书的网站的域名是否与证书中的域名一致。
第五,IE7浏览器会到欺诈网站数据库查询此网站是否已经被列入欺诈网站黑名单。
浏览器如何验证SSL证书
在浏览器的菜单中点击“工具 or Internet选项”,选择“内容”标签,点击“证书”按钮。当我们在访问该网站时,浏览器就会自动下载该网站的SSL证书,并对证书的安全性进行检查。浏览器需经过以下5个方面的检查后,才会在页面显示安全锁标志,正常显示部署了SSL证书的加密页面。1、检查SSL 证书是否是由浏览...
浏览器是如何验证SSL证书的?
第一步,验证SSL证书绑定的域名。浏览器首先检查证书中绑定的域名是否与用户访问的网址匹配。如果域名不匹配,浏览器会提示“不安全”并终止连接。这一过程防止用户被假冒网站欺骗,输入敏感信息。第二步,验证SSL证书的可信性。浏览器确认证书是由可信任的根证书签发的。如果根证书不可信,浏览器会显示“...
浏览器如何验证SSL证书?
在浏览器的菜单中点击“工具 \/Internet选项”,选择“内容”标签,点击“证书”按钮,然后就可以看到IE浏览器已经信任了许多“中级证书颁发机构”和“受信任的根证书颁发机 构”。当我们在访问该网站时,浏览器就会自动下载该网站的SSL证书,并对证书的安全性进行检查。
浏览器如何验证SSL证书?
还有一种方法是用服务器嗅探确定HTTPS证书版本。需简单的嗅探您想查询的网站,服务器嗅探就会提供给您关于网站HTTPS证书的详细资料。浏览器验证SSL证书5个方面 第一,检查SSL证书是否是由浏览器中“受信任的根证书颁发机构”颁发。检查到如果网站部署的SSL证书不是浏览器受信任的根证书颁发机构,则会有安全...
浏览器如何验证SSL证书
现在,当客户端出现并请求与您的站点建立安全连接时(如在 HTTPS 的情况下连接到端口 443 所示)。您的服务器发送它的公共(非私有)证书并开始安全握手。一种这样的握手称为Diffie-Hellman 密钥交换。
为什么我的浏览器不能验证SSL证书是否有效?
1. 更新浏览器和操作系统 过时的浏览器或操作系统可能无法识别最新的安全协议或证书。确保您的浏览器和操作系统都是最新版本,这通常可以解决与SSL证书相关的问题。例如,如果您使用的是Windows 7和Internet Explorer 11,可能会遇到与最新安全标准不兼容的问题。升级到Windows 10并使用Microsoft Edge或最新...
如何验证SSL证书的有效性?
具体步骤和工具可能因所用的操作系统和工具而异。安装客户证书:将客户证书安装到您客户端要使用的设备或浏览器中。这可以涉及将证书文件导入到浏览器或操作系统的证书存储区域中。具体步骤也会因操作系统和浏览器而有所不同。配置SSL服务器:在SSL服务器上进行配置,以要求客户端提供客户证书进行身份验证...
SSL证书如何验证?
4. **避免自签名证书**:自签名证书提供加密保护但不被浏览器接受,应避免使用。5. **留意警告信息**:浏览器警告可能提示证书问题,应谨慎处理。6. **选择知名证书颁发机构**:选择信誉高的机构获取SSL证书,增加安全性和信任度。SSL证书验证确保用户与网站之间通信安全,防止信息泄露及身份盗用。通过...
SSL证书的验证过程?
验证通过,生成证书后, CA 机构会对明文证书进行Hash,得到摘要信息,并将摘要信息使用 CA 私钥 进行加密得到数字签名。之后将 证书明文内容+数字签名 返回到服务机构。当客户端和服务器握手时,服务器将 CA 机构生成的 证书明文内容+数字签名 发送给客户端。客户端通过操作系统或者浏览器内置信任的CA...
https证书验证过程是什么样的?
https证书即SSL证书,其一系列的验证过程如下:检查SSL证书是否被颁发机构吊销 检查SSL证书中的证书吊销列表,如果已经被吊销,则会显示警告信息:“此组织的证书已被吊销。安全证书问题可能显示试图欺骗您或截获您向服务器发送的数据。建议关闭此网页,并且不要继续浏览该网站。”检查此SSL证书时间是否过期 检...