您当前的位置:首页 > 电脑百科 > 站长技术 > 网站

浏览器是如何验证SSL证书的?

时间:2023-03-21 11:48:22  来源:  作者:零信ZoTrus

前几讲都在讲SSL证书,这一讲讲一讲浏览器是如何验证SSL证书的,浏览器在CA/浏览器论坛中被定义为SSL证书的Consumer(消费者),什么是消费者?消费者是上帝哦。这就是为何笔者一直在说浏览器厂商在CA/浏览器论坛中是强势方,那我们就看看强势在哪?

浏览器是用户上网的入口,当然需要担当起保护用户上网安全的责任。当用户使用浏览器以http方式上网时,浏览器会提示“不安全”,这不是浏览器吓唬用户,是真的不安全,因为http是明文传输协议,从浏览器到云端服务器之间明文传输的信息非常容易被非法窃取和非法篡改。笔者很遗憾的看到现在的微信等常用App的内置浏览器访问http网站时并没有提示“不安全”,这实际上是在伤害用户!

如果用户使用浏览器访问的网站启用了https协议,则浏览器就开启了SSL证书的验证流程,主要有如下9个方面的验证,各个浏览器的验证项都有所不同,但是主流浏览器基本上都会验证前5项。

1.验证SSL证书绑定的域名是否正确

浏览器使用https协议同Web服务器握手时,首先会从服务器返回的SSL证书中解析出证书绑定的域名,如果SSL证书绑定的域名同用户请求连接的网址不一致,则浏览器提示“不安全”并终止连接。如下左图所示,本地host解析www.boc.cn到另一个网站: sm2test.cersign.cn 的IP地址上,浏览器会提示“不安全”,具体错误信息是:ERR_CERT_COMMON_NAME_INVALID (域名不匹配),因为此网站部署的SSL证书绑定的域名不是www.boc.cn而是sm2test.cersign.cn,如下右图所示,这就有效地保护了用户不会被假冒银行的网站所欺骗。

但是,目前的各种APP(包括微信)连接https服务时不判断域名是否匹配就稀里糊涂的与之连接,这会导致用户在假冒的银行网站输入的银行卡密码!域名不匹配绝大多数是遭遇了DNS攻击指向了假冒网站,而不判断域名是否匹配的问题就让攻击者轻松得到了用户的银行卡密码。但是,如果APP能像浏览器一样实时验证正在连接的Web服务器的SSL证书中绑定的域名是否匹配的话就能防范这类攻击。各种APP同浏览器一样都是上网客户端软件,都应该学习浏览器是如何正确验证SSL证书的,这是笔者讲浏览器是如何验证SSL证书的主要目的。

2.验证SSL证书是否可信

浏览器在验证了证书绑定的域名同用户访问的域名一致后,就要验证SSL证书是否是浏览器信任的证书。浏览器使用https协议同Web服务器握手时就获得了网站部署的SSL证书和证书链,首先验证SSL证书是否是所声称的中级根证书签发,如果是则继续验证中级根证书的签发者是谁,一般就是浏览器信任的顶级根证书,如果是已经预置信任的某个顶级根证书签发的中级根证书,则表明证书链可信。但这时候浏览器不会马上显示加密锁标识,还需要做其他判断。

如果签发SSL证书的根证书不是浏览器信任的,则浏览器会提示“不安全”,具体错误信息是:ERR_CERT_AUTHORITY_INVALID (根证书不受信任)。但是,这个必须验证证书是否可信的步骤很多APP也没有做到,后果非常严重,因为假冒银行网站可以自签一张绑定正确的网银网址的SSL证书,如果APP不验证SSL证书是否是操作系统信任的证书,或者验证是否是APP信任的SSL证书,则一样可能会遭遇DNS劫持后的中间人攻击。安全的做法是不仅要验证SSL证书是操作系统信任的证书,而且应该验证证书是否是由本单位指定的CA机构的中级根证书签发,以防止可能的从操作系统信任的其他CA非法获得的绑定服务器域名的证书的恶意攻击。而对于一些重要的系统,如政务APP、支付APP,笔者推荐定制本单位专用中级根证书来为这些系统签发SSL证书,这样就能做到APP只信任本单位专用中级根证书签发的SSL证书,只有这样才能做到万无一失。

为了防止浏览器把可信的SSL证书由于无法验证证书链而误判为不信任的证书,用户必须在部署SSL证书时同时附上中级根证书,这样浏览器在同服务器握手时就能快速验证证书链,快速显示加密锁标识。而零信浏览器同时做了更多的改进,如果握手时没有拿到中级根证书,则会通过证书中的AIA信息去获取中级根证书,并在验证后写入本地数据库供下次使用。如果证书中没有AIA信息或AIA网址不可用,而本地库也没有中级根证书信息,则只能认为是不可信证书了。

3.验证SSL证书是否已经吊销

浏览器在验证了SSL证书是可信根签发后,还会查验SSL证书是否被吊销,这是通过访问证书中的“CRL分发点”字段来获取证书吊销列表信息后验证证书序列号是否在证书吊销列表中,或者通过访问证书中的OCSP服务网址来验证证书是否被吊销。鉴于OCSP访问涉及到用户隐私问题,CA/浏览器论坛计划弃用OCSP服务。

一般情况下,如果用户怀疑证书私钥有可能泄露的话(如关键人员离职或服务器被攻击),则必须向CA申请吊销此证书,重新申请一张新的SSL证书,所以浏览器在访问网站时会检查吊销列表,如果证书被吊销,则浏览器一定会显示为“不安全”,具体错误信息是:ERR_CERT_REVOKED (证书已吊销)。但是,笔者发现多个常用的APP并没有检查服务器证书是否被吊销,则非常危险,因为如果某个网银用的SSL证书的确是已经泄露的话,则攻击者就可以用这张证书来成功实现中间人攻击,因为这张SSL证书是浏览器信任的SSL证书。但是,如果APP能像浏览器一样实时验证证书是否已吊销的话,则就能及时发现并终止连接,能有效防止攻击者使用已经吊销的证书用于窃取网站的机密信息攻击。

4.验证SSL证书是否已过期

浏览器在验证了SSL证书是可信根签发并且没有被吊销后,还会查验SSL证书是否过期,因为所有SSL证书都是有效期的,目前的标准是一年。用户必须在证书过期前续期证书,否则浏览器会显示“不安全”,具体错误信息是:ERR_CERT_DATE_INVALID (证书已过期)。

笔者发现有许多常用的APP居然不检查证书是否已经过期,如果攻击者获得了网银系统的已经过期的SSL证书,并且部署此过期证书用于攻击网银系统,则网银APP同服务器握手时不检查证书是否过期,则就会遭遇假冒银行网银系统的攻击!但是,如果APP能实时检查证书是否过期的话,则一旦发现证书已经过期则马上终止连接,能有效防止攻击者利用过期证书的攻击。

谷歌正在推动SSL证书有效期缩短为90天,也就是说这个政策的改变可能会导致大量的人工部署和管理的SSL证书会在过期时由于忘了续期而使得用户无法通过浏览器正常访问。所以,大家从这里应该也能理解到SSL证书的自动化管理是何等的重要,实现了自动化管理,就不用担心证书已过期而忘了续期。

5.验证SSL证书是否已透明公开披露

在谷歌牵头推出证书透明之前,浏览器在完成了以上4个步骤的检查后会正常显示加密锁标识,读者如果看过其他类型主题的文章应该就是这些内容了。但是,考虑到CA系统可能会被攻击而导致恶意签发浏览器信任的绑定某个域名的SSL证书用于恶意攻击,或者CA机构由于操作失误或系统错误而错误签发了绑定某个并不是用户申请的域名的SSL证书,怎么办?这些SSL证书都能正常通过以上4个步骤的检查。这就要靠证书透明机制来起保护作用了,谷歌浏览器要求所有CA机构必须把待签发的SSL证书提交到通过谷歌浏览器认证的证书透明日志系统中获得日志签名数据,并把日志签名数据写入到SSL证书的“SCT列表”字段中。浏览器在最后一步会验证证书透明信息,如果证书中没有SCT列表字段,或者SCT列表字段中的日志签名信息不可信,则浏览器一样会显示“不安全”,如下左图显示,具体错误信息是:“ERR_CERTIFICATE_TRANSPARENCY_REQUIRED”(要求证书透明),这是目前谷歌浏览器针对所有国际SSL证书如果没有提交证书透明日志系统的安全警告。而针对没有提交国密证书透明日志系统的情况,零信浏览器目前的处理方式如下右图所示,只是提示“国密证书不透明”,计划在2023年7月1日之后会同谷歌浏览器一样提示“不安全”,如下左图一样的提示。

6.验证网站是否采用国密算法实现https加密

这是零信浏览器增加的验证步骤,会在浏览器握手时询问Web服务器是否支持国密算法和国密SSL证书,如果支持,则优先采用国密算法实现https加密。这一点在目前的非常不确定的国际环境下变得非常重要,重要网站部署国密SSL证书是必须的。如果不支持国密算法,则只能采用RSA算法同服务器https加密通信,但是一旦这张用于https加密的SSL证书被吊销,则浏览器就无法正常访问网站,会像第3步验证一样显示为“不安全”而无法正常实现https加密通信。

如果网站部署了国密SSL证书,则零信浏览器会优先采用国密算法实现https加密,并在地址栏的加密锁标识后面增加显示国密加密标识,让用户对网站是否国密合规一目了然。

目前笔者还没有发现那个APP支持国密https加密,这值得各种网银APP和政务APP高度重视,早点着手升级改造APP以支持国密算法和国密SSL证书,只有这样才不至于出现一旦发生证书被非法吊销的极端情况时用户无法使用手机APP,影响移动业务的正常运转,必须未雨绸缪提前做好准备才能有备无患。

7.验证并展示网站可信身份

这是零信浏览器全球独家特色服务,零信浏览器在完成了所有SSL证书安全验证后会读取SSL证书中的身份认证级别OID,如果是EV SSL证书,则显示绿色地址栏和展示SSL证书中的O字段单位名称,如下左图所示。如果是OV SSL证书,则显示浅绿色地址栏和展示SSL证书中的O字段单位名称。鉴于目前85%的网站部署的都是无网站身份信息的DV SSL证书,零信浏览器独家创新提供了网站可信认证服务,并对通过EV认证的网站一样显示绿色地址栏和展示通过认证的单位名称,填补了DV SSL证书的身份缺失,如下右图所示。

8.验证并展示网站是否有WAF防护

这是零信浏览器全球独家特色服务,零信浏览器认证并预置了国内和国际知名的云WAF厂商的云WAF服务特征数据,如果网站有云WAF防护,则会在地址栏展示云WAF防护标识。虽然这个功能同SSL证书验证无关,但是一个网站是否安全,仅有https加密是不够的,必须同时有WAF防护。此验证功能仅在网站部署了SSL证书才会验证并展示,因为仅有WAF防护而没有部署SSL证书则网站一样是不安全的,浏览器只会显示“不安全”,不会展示WAF标识,没有启用https加密的WAF防护是没有意义的投资。

9.完成所有验证后给网站安全打分

这也是零信浏览器全球独家特色服务,零信浏览器会在完成所有SSL证书验证后根据SSL证书的类型、SSL协议支持、密钥交换、密码强度等四个维度来对SSL证书的部署做一个全面的SSL安全体检打分,再加上网站是否有WAF防护,是否有可信身份认证等指标给网站打一个安全分,让用户对网站的安全情况一目了然。这个体检打分标准是参考著名的Qualys SSL Labs的SSL体验打分标准的,如下左图所示为零信浏览器对零信官网的体检打分,如下右图所示为SSL Labs为零信官网的打分,都是A+。

从以上讲解的浏览器SSL证书验证过程可以看出,用户在地址栏看到加密锁标识时浏览器是做了多个步骤的验证的,只有通过这些验证才会显示加密锁标识,浏览器才会让用户安全地同服务器交互。这个严格的证书验证过程非常值得APP开发者和APP运营者学习,自己开发和运营的APP在连接服务端之前一定也要做这些验证,否则APP是不安全的APP,无法保障用户同服务器之间交互的机密信息安全。

笔者专门把浏览器如何验证SSL证书作为密码讲堂的一堂课的主要目的就是让APP开发者和运营者能借鉴非常成熟的浏览器的SSL证书验证过程来完善和提升APP同服务器通信时的安全水平,因为在移动互联网时代,用户使用手机的时间已经超过了浏览器,APP的安全至关重要,不仅关系到APP用户更是关系到APP运营方的用户数据安全和运营数据安全,一定要高度重视。只有所有APP都安全了,才能真正提升我国的互联网安全水平。



Tags:SSL证书   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
SSL证书过期后网站还能正常访问吗
当SSL证书过期后,尽管网站的服务器仍然可以处理请求并提供服务,但是浏览器会在尝试建立安全连接时检测到证书已过期,并显示警告信息告知用户该网站的安全证书已过期。这会严重...【详细内容】
2024-03-27  Search: SSL证书  点击:(12)  评论:(0)  加入收藏
SSL证书即将过期,不更新可以吗?
SSL证书是用来保护网站数据传输安全的重要工具,通过数据加密和身份认证两大功能,为网站提供了一个安全、可信的网络环境。由正规CA机构所颁发的SSL证书都具有一定的使用期限,通...【详细内容】
2024-03-27  Search: SSL证书  点击:(7)  评论:(0)  加入收藏
宝塔面板怎样绑定多个ssl证书?
宝塔面板怎样绑定多个ssl证书?宝塔面板是一种用于管理 Linux 服务器的图形化面板,提供了许多方便的功能和工具。对于需要在单个服务器上绑定多个 SSL 证书的用户来说,宝塔面板...【详细内容】
2024-01-17  Search: SSL证书  点击:(91)  评论:(0)  加入收藏
服务器证书和SSL证书有啥区别?
在互联网经济时代,随着越来越多的信息以及合作都是从企业官网开始的,因此绝大多数企业都会为自己的网站配置SSL证书,以提高安全性。在接触SSL证书时,也有很多人称之为服务器证书...【详细内容】
2024-01-10  Search: SSL证书  点击:(65)  评论:(0)  加入收藏
小程序必须要安装部署SSL证书吗?
自2017年9月21日,微信发布一则《关于公众平台接口不再支持HTTP方式调用的公告》。明确表示,为保证数据传输安全,提高业务安全性,公众平台不再支持HTTP方式调用。应避免影响正常...【详细内容】
2024-01-02  Search: SSL证书  点击:(70)  评论:(0)  加入收藏
SSL证书申请的成功与否会影响网站加载速度
当今互联网时代,网站加载速度已成为用户体验和搜索引擎排名的重要指标。而SSL证书的申请成功与否,也直接影响着网站的加载速度。SSL证书的作用不仅在于保障网站数据的安全传输...【详细内容】
2023-12-20  Search: SSL证书  点击:(115)  评论:(0)  加入收藏
什么是SSL证书?有免费的嘛?
一:什么是SSL证书?SSL证书是一种用于安全传输数据的数字证书。它通过加密数据,确保用户在与网站进行通信时信息得到保护。二:有SSL证书和没有SSL证书证书的区别是什么?SSL证书配...【详细内容】
2023-12-20  Search: SSL证书  点击:(95)  评论:(0)  加入收藏
SSL证书无效怎么办?SSL证书无效原因及解决办法
作为保护网站传输数据安全的重要工具,SSL证书经常被部署于网站服务器上以实现HTTPS加密。但部分网站部署SSL证书后,访问时有时候会出现SSL 证书无效警示。那么SSL证书无效怎么...【详细内容】
2023-12-19  Search: SSL证书  点击:(135)  评论:(0)  加入收藏
OV SSL证书的优点及适用对象
OV SSL证书也叫组织验证型SSL证书,是众多SSL证书当中比较受欢迎的一种类型。因为它不仅需要验证域名的所有权,还需要对企业的相关身份信息进行审核,确保企业是一个真实存在的合...【详细内容】
2023-12-12  Search: SSL证书  点击:(89)  评论:(0)  加入收藏
域名与SSL证书
域名是互联网上的地址标识符,它通过DNS(Domain Name System)将易于记忆的人类可读的网址转换为计算机可以理解的IP地址。当用户在浏览器中输入一个网址时,实际上是通过DNS解析到...【详细内容】
2023-12-08  Search: SSL证书  点击:(95)  评论:(0)  加入收藏
▌简易百科推荐
访问网站显示不安全是什么原因?怎么解决?
访问网站时显示“不安全”,主要原因以及解决办法: 1.没用HTTPS加密:网站还在用老的HTTP协议,数据传输没加密,容易被人偷看或篡改。解决办法是网站管理员启用HTTPS,也就是给网站装...【详细内容】
2024-04-08  JOYSSL爆爆    Tags:网站   点击:(7)  评论:(0)  加入收藏
SSL证书过期后网站还能正常访问吗
当SSL证书过期后,尽管网站的服务器仍然可以处理请求并提供服务,但是浏览器会在尝试建立安全连接时检测到证书已过期,并显示警告信息告知用户该网站的安全证书已过期。这会严重...【详细内容】
2024-03-27    见方天地  Tags:SSL证书   点击:(12)  评论:(0)  加入收藏
HTTPS网站怎么实现
HTTP协议迁移到HTTPS,以提供更加安全的网络环境并增强用户信任。那么,如何将一个使用HTTP的网站安全升级到HTTPS呢?我们需要理解HTTP和HTTPS的区别。HTTP,即超文本传输协议,是一...【详细内容】
2024-03-27  倏然间    Tags:HTTPS   点击:(6)  评论:(0)  加入收藏
SSL证书即将过期,不更新可以吗?
SSL证书是用来保护网站数据传输安全的重要工具,通过数据加密和身份认证两大功能,为网站提供了一个安全、可信的网络环境。由正规CA机构所颁发的SSL证书都具有一定的使用期限,通...【详细内容】
2024-03-27  帝恩思DNS    Tags:SSL证书   点击:(7)  评论:(0)  加入收藏
网站运营的好与坏主要决定因素是内容与seo优化
在这个信息爆炸的时代,网站如雨后春笋般涌现,如何在众多网站中脱颖而出,吸引更多的访问者,成为了每一个网站运营者关心的问题。我们不禁要问,是什么决定了网站运营的好与坏呢?答案...【详细内容】
2024-03-26  易华合讯    Tags:网站运营   点击:(10)  评论:(0)  加入收藏
网站制作不再难:小白也能上手的建站教程
在互联网高速发展的时代,网站已成为企业、个人展示自身形象和实力的重要窗口。过去,网站制作对于许多人来说是一项技术活,需要专业的知识和经验。但随着技术的进步,现在即便是没...【详细内容】
2024-03-24  一度旭展互联网科技    Tags:网站制作   点击:(6)  评论:(0)  加入收藏
想建个网站赚钱?先来看看这篇建站指南吧
随着互联网的飞速发展,越来越多的人希望通过建立自己的网站来实现创业梦想或者赚取额外的收入。但建站并非一蹴而就的简单事情,它需要综合策划、设计、技术和运营等多方面的知...【详细内容】
2024-03-21  一度旭展互联网科技    Tags:网站   点击:(5)  评论:(0)  加入收藏
个人站长的出路在哪?
个人站长的出路在于不断适应互联网的发展趋势,积极寻求创新和变革。以下是一些个人站长可以考虑的出路: 转型为内容创作者:随着内容营销的兴起,越来越多的企业和个人开始注重内...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(39)  评论:(0)  加入收藏
网络环境和用户需求不断变化,个人站长该怎么办?
个人站长是一个相对特殊的群体,他们通常以个人身份独立运营网站,没有大型企业或组织的支持。由于缺乏资源和大企业的光环,个人站长需要更加注重策略和技巧,才能在竞争激烈的网络...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(36)  评论:(0)  加入收藏
AI时代 个人站长还有出路吗?
AI时代,个人站长依然有出路,但需要进行一些调整和转型。首先,利用AI工具可以帮助个人站长提高效率和产出质量。例如,利用AI进行内容创作、智能推荐、用户画像分析等,可以大大提升...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(45)  评论:(0)  加入收藏
站内最新
站内热门
站内头条