【学习笔记】SSL证书安全机制之证书撤销

news2024/9/23 19:23:36

前言:以往提到过,钓鱼网站会仿冒我们,如果我们的私钥泄露了,如果被不法分子得到了私钥,他们就能假装是我们网站。那现在,我们要做的是生成新私钥并申请新证书。问题来了,旧的证书亦然存在且有效,我们没法阻止不法分子恶意去使用该证书。这时候,我们就需要证书撤销(Certificate Revocation)

1、定义

        Certificate Revocation(证书撤销)是使特定证书失效的过程。

2、有2种方式来检查证书是否被撤销

  • CRL - Certificate Revocation List
  • OCSP - Online Certificate Status Protocol

3、CRL - Certificate Revocation List,证书撤销列表

  • 由CA维护的、被撤销的证书的列表
  • CRL的位置嵌入在每一张证书里
  • CRL包含证书序列号和被撤销的日期,有时CRL条目还包含撤销原因
  • Client如何检查该列表
    • Client向Server请求一张证书,然后Server会提供证书
    • Client一旦得到证书,就会从证书里定位到CRL分发点,然后从CA下载CRL
    • Client会检查CRL的每个条目来找到证书的序列号(如果证书序列号出现在CRL中,说明该证书已经被撤销,不可信了;反之,如果没有在CRL中找到该证书序列号,说明证书没有被撤销,我们可以继续信任它)

    • 对CRL流程的批评
      • 繁琐而缓慢
        • CRL非常长,有成千上万行,每次Client访问新的SSL网站,都要检查证书撤销列表,意味着浏览器要加载很久
        • 此外,这些CRL是公共托管的列表,因而不是实时更新的(CA每5-14天更新一次,如果我证书私钥今天泄露了,而CA昨天刚更新一次CRL,那我后面两周就不安全了)
      • 经常甚至没有被检查
        • 而相比安全,用户更倾向于速度
        • 一些浏览器维护本地CRL
          • Chrome:CRLSet;Firefox:oneCRL

4、OCSP - Online Certificate Status Protocol,在线证书状态协议

  • “OCSP Responder”(OCSP应答器)由CA所维护
    • 提供实时证书状态
  • 优点是可以根据序列号单独请求状态(不用每次都检查成千上万个条目了)
  • OCSP应答器的位置被嵌入在每张证书里(和CRL一样)
  • 请求是通过HTTP
    • 证书状态不是敏感信息
    • 状态由CA所签名(用CA的公钥可以验证是不是对的OCSP应答器)
  • OCSP流程
    • Client向Server请求证书,然后查看证书里的OCSP应答器的URL
    • Client向OCSP应答器(由CA所维护)请求证书状态
    • OCSP应答器会回复状态信息
      • Good;Revoked;Unknown
  • OCSP的2个批评
    • 隐私:每次Client访问Server,CA都会被联系到
      • CA知道Server的访问数据
      • CA知道到Client访问浏览器的历史信息
    • 需要非常有弹性(resilient)的OCSP应答器
      • OCSP应答器要随时准备好应对大量的访问,万一因为访问量过大而导致服务器超载并且宕机了,那么Client就没法查看证书状态了
    • 因为OCSP是通过HTTP进行请求,而HTTP请求能够被中断(虽然因为CA的签名没法更改状态,但可以直接中断)

5、OCSP Stapling(OCSP装订,修正了OCSP的问题)-目前行业内最好的解决方案

  • Server会间歇性地请求自己的状态
    • 刷新间隔:5分钟 - 10天
    • 状态带有时间戳并且被CA签名
  • Client请求证书及其状态
  • Server提供证书以及从CA得到的状态
    • 状态是可信的,因为有CA的签名,而我们信任该CA
  • Server的安全负担
    • 而不是Client(这是好事,Client不需要做太多安全相关的事情)
  • 需要支持TLS1.2+或更高版本
    • 也需要Client和Server支持
    • 目前支持的只有30%多的Server

参考文献

1、网站:Practical Networking.net:Practical TLS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2110802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

胶条的回弹状态检测 仅需一台回弹测试仪

胶条的回弹状态检测之所以重要,主要基于以下几个方面的考虑: 一、保证产品功能性和密封性 密封效果:胶条作为密封元件,其回弹性能直接关系到密封效果的好坏。 耐久性:如果回弹性能不佳,容易出现永久性变形&…

8个txt自动化脚本,一定有你用得上的!Python如何读取txt文件数据!

这次和大家分享txt办公自动化,包括读取、对比、过滤、合并、转换格式、提取数据、统计词频、生成报告等。 分享一份Python学习大礼包(激活码安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等…

GAMES101(0~1作业)

搭建虚拟机环境 安装Oracle VM VirtualBox虚拟机,安装虚拟硬盘,配置Linux Ubuntu-64 bit系统,启动虚拟机,发生冲突错误: 将Vmware虚拟设备取消挂起状态,关机确保 Hyper-V 完全关闭:bcdedit /se…

Pandas DataFrame的多级列索引导出到Excel时,如何避免空白行和列

我想将multi-header数据框保存为Excel文件。以下是示例代码: import pandas as pd import numpy as npheader pd.MultiIndex.from_product([[location1,location2],[S1,S2,S3]],names[loc,S])df pd.DataFrame(np.random.randn(5, 6), index[a,b,c,d,e], columnsh…

Python 中的 11 种经典时间序列预测方法(备忘单)

摘要: 本文演示了 11 种不同的经典时间序列预测方法,这些方法包括: 自回归(AR) 移动平均线 (MA) 自回归移动平均线 (ARMA) 自回归综合移动平均线 (ARIMA) 季节性自回归综合移动平均线 (SARIMA) 季节性自回归综合移动平均线与外生回归量... 本文演示了 11 种不同的经典时间序…

sheng的学习笔记-AI-半监督聚类

AI目录:sheng的学习笔记-AI目录-CSDN博客 半监督学习:sheng的学习笔记-AI-半监督学习-CSDN博客 聚类:sheng的学习笔记-AI-聚类(Clustering)-CSDN博客 均值算法:sheng的学习笔记-AI-K均值算法_k均值算法怎么算迭代两次后的最大…

掌握Git分支管理策略:让团队协作更高效

在现代软件开发过程中,版本控制系统(VCS)是不可或缺的一部分。Git作为目前最流行的分布式版本控制系统之一,为开发者提供了强大的工具集来管理代码变更历史。然而,仅仅掌握Git的基本命令并不足以应对大型项目和团队协作…

当天审稿,当天上线,9月检索!

各领域CNKI知网普刊,最快一期预计下周送检,最快1天上线 领域广,计算机,社科,医学等各个方向都能收 包检索,可提供期刊部发票 知名出版社英文普刊 NO.1、Food Science and Nutrition Studies ISSN: 2573…

2024年全国大学生数学建模C题论文

C 题 农作物的种植策略 问题 1 :2024-2030 年农作物的最优种植方案 1.1 问题 1 的第一小问详细 该问题要求在假设未来农作物的预期销售量、种植成本、亩产量和销售价 格稳定的情况下,为乡村制定从 2024 年到 2030 年的农作物最优种植方案。特 别是要考虑…

骨传导耳机哪个牌子好用?精选五款黄金畅销骨传导机型测评

随着消费者对健康聆听方式的日益重视,骨传导耳机的市场需求持续高涨。众多耳机厂商在耳机的外观设计上倾注了大量心血,但在此过程中,部分品牌却忽视了产品的核心音质与佩戴舒适度,导致市场上涌现出一些外观时尚但内在品质不尽如人…

缓解父母焦虑!详细实测!这些免费AI可以成为孩子提高学习能力的得力助手!

近日,新版三年级英语教材冲上了热搜。家长纷纷表示,新版教材连26个英文字母都不教了,直接进入单词和文章教学。 ”娃都零基础,开学怎么跟得上?“ “这不是卷孩子,这是卷家长啊!” 不仅是英语&…

【爱加密_云平台-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

[已更新问题二三matlab+python]2024数学建模国赛高教社杯C题:农作物的种植策略 思路代码文章助攻手把手保姆级

发布于9.6 10:00 有问题后续会修正!! 问题一代码展示: 问题二代码结果展示: 问题三代码展示: https://docs.qq.com/doc/DVVVlV0NmcnBDTlVJ问题一部分代码分享: #!/usr/bin/env python # coding: utf-8# In[15]:import pandas as pd# In[16]:# 读取Excel文件 file_path 附件2…

platform框架

platform框架 注册设备进入总线platform_device_register函数 注册驱动进入总线platform_driver_register函数 注册设备进入总线 platform_device_register函数 int platform_device_register(struct platform_device *pdev) struct platform_device {const char * name; 名…

《Rust避坑式入门》第2章:解决多线程并发数据竞争的不可变性

从第1章所讨论的出现数据竞争问题的多线程并发剧院订票系统的代码能够看出,虽然可变性能够方便地随时修改值,但滥用可变性,会在多线程并发编程时,带来数据竞争的难题。 共享可变状态所带来的多线程并发时的数据竞争难题&#xff…

维度不固定的多维数组形参笔记

在利用多维数组作为函数形参时遇到了点问题,如: void fun(char str[][10]); 这个函数可以传入多维数组,但元素个数必须是固定的,假如传入一个str[][20],元素个数不一样的数组,那么这个函数就不适用了&…

6.2排序——选择排序与堆排序

本篇博客梳理选择排序,包括直接选择排序与堆排序 排序全部默认排成升序 一、直接选择排序 1.算法思想 每次遍历都选出最小的和最大的,放到序列最前面/最后面 2.具体操作 (1)单趟 每次遍历都选出最小的…

Opencv中的直方图(1)计算反向投影直方图函数calcBackProject()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算直方图的反向投影。 cv::calcBackProject 函数计算直方图的反向投影。也就是说,类似于 calcHist,在每个位置 (x, y)…

主流的3D模型格式有什么区别?

主流的3D模型格式在多个方面存在区别,这些区别主要体现在格式的特点、支持的功能、使用场景以及兼容性等方面。51建模网支持持obj、fbx、stl、glb、gltf、dae、3ds模型格式上传展示。以下是对几种主流3D模型格式的区别进行的详细分析: 1. OBJ格式 特点&…

初始JESD204B高速接口协议(JESD204B一)

本文参考 B B B站尤老师 J E S D 204 B JESD204B JESD204B视频,图片来自 J E S D JESD JESD手册或者 A D I / T I ADI/TI ADI/TI官方文档。 1、对比 L V D S LVDS LVDS与 J E S D 204 JESD204 JESD204 J E S D 204 B JESD204B JESD204B是逻辑器件和高速 A D C / D …