从前面证书链校验可以看到,浏览器校验服务器身份时,需要校验整个信任链,中间证书和服务器证书。中间证书是可以签发服务器证书的,之所以要多出这样一个中间证书,而不是由CA机构直接签发,原因是权威的CA机构数量并不多,如果所有的服务器实体证书都交由权威CA机构签发,当然可以,可是这样CA机构的工作量将非常大,所以CA机构采取授权二级CA机构的方式,让有授权的中间证书(也就是二级CA机构)也可以签发服务器证书,当然校验服务器证书的时候也要校验中间证书,一级一级往上。权威CA机构(即根证书)的授权委派二级机构方式有两种,委派认证和交叉认证。

委派认证

事实上,一般情况下权威的CA机构都不会直接签发服务器证书,原因除了上面说的工作量大外,还有,CA机构数量不多,且分布在世界各地,例如中国北京的天威诚信,外国的比较知名的Comodo,GeoTrust和Symantec等,假如一家中国的企业直接向国外的CA机构申请证书,那么一系列提交审核,政策等原因,可能会较繁琐。解决这种问题,国外的权威CA机构可以选择在中国授权委派一个代理商,让这个在中国的代理商负责签发中国企业或机构发来的证书申请文件。这就是委派认证,CA机构需要先向二级机构前发一张委派证书,表示认证该机构,之后该二级机构就可以行使同样的服务器证书签发权力。

二级证书(二级CA机构)还有一个好处就是,如果证书的签名算法进行了更新,那么直接对二级证书进行更新即可,而如果是根证书直接签发的服务器证书,那么如果根证书(也就是CA机构)支持的签名算法进行了更新,需要通知浏览器,更新浏览器集成的CA更证书。委派二级机构的好处就是,直接更新中间证书即可,不需要通知浏览器更新集成的CA根证书,而且CA机构进行版本升级也是很麻烦的。

交叉认证

交叉认证,也就是一个根CA机构使用另一个根CA机构的根证书来委派二级机构,为什么要这样做,因为一个新的根CA机构投入使用,需要一些时间来更新身份验证方,也就是浏览器的可信任证书列表,这时如果新的根CA机构想要委派二级机构,签发一张中间证书,可以通过其他已信任的根CA机构,让其进行交叉授权,新的CA机构使用旧的已认证的CA机构证书来交叉签发中间证书,这样的交叉认证方式可以让一个新的根CA机构较快地部署上线提供服务。

证书的过期与吊销

CRL证书吊销列表

CRL(Certificate Revocation List)证书吊销列表,包含在了服务器证书中的扩展项CRL分发点,也是服务器实体证明自己身份的一部分,如果服务器证书过期被吊销了,那么身份验证就不通过了。权威的根CA机构会把所有自己签发的,已经吊销的证书集中在一个CRLs文件里,还有被吊销证书的序列号和被吊销原因(例如过期)等,这里要注意,证书过期了不一定就会立刻吊销,没有过期的证书不一定就是有效的,有可能证书被吊销了。在浏览器校验服务器证书时,除了校验证书是否过期外,还要校验证书的吊销状态,如果证书未过期,但是已被吊销,那么证书无效,身份校验失败。证书被吊销的原因通常就是服务器密钥泄露,需要及时通知CA机构吊销旧的证书,更换一张新的证书。

回到CRL,浏览器在校验服务器身份时需要校验证书的过期和吊销状态,就需要找到CRLs文件,所以在服务器证书中会有一项CRL分发点扩展项,保存有CRLs文件的URL地址,浏览器可以根据其找到CRLs文件:

CRLs文件也是需要安全性保护的,攻击者可以修改CRLs文件,更改了里面的证书吊销状态,让一张不安全的证书被身份校验成功。对CRLs文件的保护使用数字签名技术,使用的私钥和服务器私钥可以一样,也可以不同,在校验时也要校验CRLs文件的签名。

CRL校验

CRL校验的步骤大致如下:

  1. 从服务器证书的扩展项中找到CRL分发点,里面包含了CRLs文件的URL,然后下载到本地浏览器。
  2. 客户端使用公钥进行验证,验证完整的证书链。
  3. 浏览器根据X.509 V2标准(HTTPS最常用的标准)来解析CRLs文件,得到ASN.1结构的文件,ASN.1标准是用伪码方式描述结构化证书,这样就能查看到证书的吊销状态。
  4. 校验证书的吊销状态,具体是在ASN.1结构中查看证书的序列号,然后再CRLs文件中查询该序列号是否存在,如果是,证明该证书被吊销了。

CRL校验不是必要的,有时浏览器会忽略CRL校验,比如再CRL分发点下载CRLs文件时,耗时过长,浏览器可能会选择放弃检查证书的吊销状态,目的仅仅是为了加快速度,因为在CRL校验过程中,也是会阻塞TLS/SSL握手过程的。

CRL文件结构

最后来简单看一下CRL文件的结构:

CRLs文件结构类似于证书结构,里面包含了签名值signatureValue和签名算法signatureAlgorithm,tbsCertList结构体中包含的属性就比较多,例如签发日期,吊销列表等:

版本号version,使用的签名算法signature,CRLs文件签发者issuer和更新时间等都比较容易看出,里面还有一个结构体revokedCertificates标识的就是证书吊销列表,该列表中保存了被吊销的证书序列号userCertificate,吊销时间revocationDate和可选的扩展香crlEntryExtensions。

CA运作模式-认证与过期吊销相关推荐

  1. Kubernetes 认证证书过期处理

    1.问题现象 1.1 现象1 kubesphere 安装的jenkins,因为在页面上操作没有响应,我想重启下,结果发现删除原来的容器后,没法自动重新创建容器.如下图: 里面的pod删除了,不会自动生 ...

  2. 币须知道 |币安要做联盟计划,首期1000个名额,平台币运作模式 ,ADA创始人:华尔街准备“下一波监管”之后投资“数万亿美元”...

    您的 转发 和吐槽是我们前进的动力 今日要闻 监管要闻 ·美国特勤局官员:应考虑立法或其他监管行动来解决数字货币相关挑战 ·日本金融厅正式公布六家受罚交易所名单 ·ADA创始人:华尔街准备在" ...

  3. 2022-2028年中国香精香料市场运作模式及投资发展规划研究预测报告

    2022-2028年中国香精香料市场运作模式及投资发展规划研究预测报告 ^  第一章 香精香料相关概述 第二章 2019-2021年全球香精香料行业发展分析 2.1 2019-2021年全球香精香料市 ...

  4. 全球及中国现金自动化(管理)行业运作模式与前景趋势展望报告2022版

    全球及中国现金自动化(管理)行业运作模式与前景趋势展望报告2022版 --------------------------------------- [修订日期]:2021年11月 [搜索鸿晟信合研究 ...

  5. 全球及中国健康保险市场运作模式与需求潜力预测报告2022版

    全球及中国健康保险市场运作模式与需求潜力预测报告2022版 HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS-- [修订日期]:2021年11月 [搜索鸿晟 ...

  6. 供应链环境下VMI运作模式研究

    内容摘要:随着供应链管理的发展,供应商库存管理作为一种先进库存管理理念逐渐流行起来.文章根据核心企业在供应链中的不同位置提出了VMI运行结构,并按照不同的运行结构分析了企业可以采用的运行模式,以及各种 ...

  7. 商品ETF的分类及运作模式

    商品ETF的分类及运作模式 已经成为一种有效的规避通胀风险的投资工具 A 国际视野 自1993年美国推出第一只ETF产品以来,ETF在全球范围内发展迅猛.2015年,全球ETF市场进一步发展壮大,数量 ...

  8. 微信营销怎么做,5中常见运作模式解析

    流量即王道,在面对微信这个巨大的流量池时,人人都想从中分得一杯羹.所以不管哪一个行业,都在用微信去做营销.借助微信开发客户,跟进客户,服务客户,成交客户,推广产品,销售产品等等.那么微信营销该怎么做? ...

  9. 华为数字化转型之道 实践篇 第六章 数字化重构业务运作模式

    第六章 数字化重构业务运作模式 数字化转型从企业业务战略出发,通过数字化手段来重构核心业务运作模式,以实现客户交易更简单.内部作业更高效.运营管理更便捷. 6.1 业务运作模式重构是数字化转型的核心 ...

最新文章

  1. Oracle数据库备份报错12514,Oracle数据库备份导出时,报错:ORA-12514
  2. App自动化测试之Adb基础命令使用
  3. SAP UI5 binding syntax - model name + + attribute name
  4. 有名信号量sem_open和内存信号量sem_init创建信号量的区别
  5. 推荐一款神器-VBAC#代码编辑管理器
  6. QPW 点评阅读日志表(tf_appraise_read_log)
  7. 阿里云服务器被挖矿怎么解决
  8. AI(3)--- 机器学习常见的七个步骤
  9. 蓝桥杯 算法训练 K好数
  10. 【网络文件共享】04、rsync基础
  11. 刷机精灵官网版 v2.1.2 免费版
  12. DRAM Timing
  13. 最新官方新浪短网址API接口分享-附代码调用演示
  14. 【目标检测】SSD(Single Shot MultiBox Detector)的复现
  15. 【VulnHub靶场】——CFS三层靶机内网渗透实操
  16. MongoDB——ISODate日期类型
  17. MySQL高级:索引优化之防止索引失效
  18. NoSQL在腾讯海量数据中的应用与实践
  19. JS对象的两种 in 操作符
  20. C语言程序设计-引言

热门文章

  1. 建网站之前要先做好SEO布局工作
  2. 极光IM系列之java后台集成
  3. html中在图片上写文字,用HTML代码在图片上写字
  4. java文件中搜索的快捷键_MyEclipse中的查找快捷键
  5. win7安装解压版mysql_win7安装解压缩版mysql 5.7.19和卸载后重新安装
  6. v4l2及gstreamer使用指南
  7. 利用openssl 库制作证书以及验证
  8. JavaSE——柏羲
  9. 查杀新rundl132.exe病毒的过程
  10. J0ker的CISSP之路:What's CISSP