关于密码学的进一步答疑:SSL和TLS的区别、CA和CT的关系

这篇具有很好参考价值的文章主要介绍了关于密码学的进一步答疑:SSL和TLS的区别、CA和CT的关系。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

《密码学:一文读懂常用加密技术原理及其逻辑与应用方法》一文一经发布后,后台收到了许多私信,承蒙喜爱,这篇文章将主要对后台收到的高频问题予以统一回应。


问题一: 在讨论加密解密的过程中,常常在同一语境下同时出现SSL、TLS,请问两者的差异是什么?

答:在HTTPS协议中,网站与服务器通过非对称加密的方式实现Security,这一过程是一套独立于http协议的流程,被称为安全套接字层,也即Secure Socket Layer,即SSL。如下:
关于密码学的进一步答疑:SSL和TLS的区别、CA和CT的关系
从示意图中不难发现,这个密钥协商的过程如同tcp一样,经历了三次握手,被称为SSL握手。

而从1994年到1996年,SSL分别经历了1.0,2.0和3.0的版本升级。在3.0级基础上,互联网工程事务组(IETF)决定将其标准化,最终于1999年以TLS为称呼发布。日常生活中,我们可以见到SSL和TLS间的混用,因为TLS1.0可以被视作SSL的3.1版本。
关于密码学的进一步答疑:SSL和TLS的区别、CA和CT的关系
此后,TLS也经历了1.0、1.1、1.2和1.3的版本升级,对安全细节予以了改善。例如在TLS1.2版本中,淘汰了两种哈希函数(MD5/SHA-1)而用SHA-256取而代之。
关于密码学的进一步答疑:SSL和TLS的区别、CA和CT的关系


问题二: 如何防止第三方机构CA机构不作恶?CT是什么?

答:CA(Certificate Authority)机构颁发证书,以实现对数字签名所发布的公钥进行权威的认证。因此,证书颁发机构(CA)必须是可信的。

在如何防止第三方机构CA机构不作恶问题上,《密码学:一文读懂常用加密技术原理及其逻辑与应用方法》一文中提到,对于认证机构的公钥,一般由其它的认证机构施加数字签名,从而对认证机构的公钥进行验证,即生成一张认证机构的公钥证书,这样的关系可以迭代好几层,以杜绝中间人假冒认证机构CA。最高一层的认证机构被称为根CA,RCA会对自己的公钥进行数字签名,即自签名,也会在RCA间互相签名。

在此基础上,我们进一步观察,还能发现,成为CA机构的门槛较高,例如Google、Microsoft、中国互联网信息中心、中国金融认证中心、Symantec、digicert、GlobalSign等等。这些机构原则上没有颁发非法或错误证书的动机。

实际上,除去思考CA机构能否作恶意外,我们还需要关注的问题有很多,例如CA机构有没有可能被黑客入侵呢?CA机构的办事员有没有可能犯错/作恶呢?

显然,CA机构的可信信问题面临巨大挑战。在棱镜门事件后,证书透明(Cetificate Transparence,CT)方案被提出。其核心逻辑是:

在加入CT的安全体系下,要求CA机构每次颁发证书时,要向日志服务器提交证书详情,日志服务器负责记录并向CA返回SCT数据,CA将SCT加入到证书扩展中,一并颁发给站点服务器。在TLS握手时,浏览器检测证书是否有SCT信息,并向日志服务器核验(日志服务器有自己的公私密钥,SCT中包含其私钥签名的数据,浏览器使用日志服务器的公钥,对SCT信息中的签名进行验签来确定真实性)。

换言之,证书透明(Cetificate Transparence,CT)方案通过加入一层监管者,以确保CA证书的透明性。

从2018年开始,由Crome和Safari浏览器牵头,各家浏览器强制执行证书中的CT检查,换言之,不携带SCT信息的证书将被标注为不安全,如此,所有的CA机构便被强制加入了监管体系。

那么如何保障日志服务器不作恶呢?实际上,日志服务器利用《密码学:一文读懂常用加密技术原理及其逻辑与应用方法》一文中提到的哈希函数的碰撞抗碰撞性(Collision Resistance)特性,通过默克尔树(Merkle Tree)来防止篡改——换言之,日志服务器成为了一个只能添加信息的“账本”系统。monitor/监管者(域名拥有者、CA机构)通过周期性查询可以检测是否存在可疑的证书颁发记录。


至此,本文也就进入尾声了。希望本文能够起到抛砖引玉之效,也欢迎大家的批评交流。


如果您有任何疑问或者好的建议,期待你的留言、评论与关注!文章来源地址https://www.toymoban.com/news/detail-431410.html

到了这里,关于关于密码学的进一步答疑:SSL和TLS的区别、CA和CT的关系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据结构--并查集的进一步优化

    压缩路径 − − F i n d 操作,先找到根节点,再将查找路径上所有结点都挂到根结点下 color{red}压缩路径 -- Find操作,先找到根节点,再将查找路径上所有结点都挂到根结点下 压缩路径 − − F in d 操作,先找到根节点,再将查找路径上所有结点都挂到根结点下 每次Find操作,

    2024年02月15日
    浏览(50)
  • [架构之路-203] - 对系统需求类型的进一步澄清

    目录 业务/商业需求: 用户/客户需求: 功能性需求: 非功能性需求: 系统需求: 约束条件: 软件需求说明书: 软件质量: 是自顶向下的需求,往往来自于中高层管理人员(或监管、政策要求),基于业务运营管理的直接诉求和要求。需要使用商业/工作语言描述业务/商业

    2024年02月07日
    浏览(66)
  • 进一步了解WPF UI 实现XAML语法

    Extensible Application Markup Language (XAML) 是一种用于声明性应用程序编程的标记语言。 Windows Presentation Foundation (WPF) 实现 XAML 处理器实现并提供 XAML 语言支持。 WPF 类型的实现为 XAML 表示提供了必要的类型支持,从而确保了顺畅的集成和高效的运行。 在 XAML 标记中创建 WPF 应用程序

    2024年02月02日
    浏览(35)
  • iOS 微信、支付宝、银联支付组件的进一步设计

    原文地址:https://zhanglei.blog.csdn.net/article/details/121376500 有段时间没写技术文章了,一是因为工作太忙,再者因为本人文笔实在一般。最近终于闲下来,本着分享的目的将一些组件设计上的心得与大家分享。 本篇文章是基于原有一篇关于支付文章的进一步优化设计,所以在阅读

    2024年02月10日
    浏览(46)
  • GC 深入(小白,对gc有一个进一步的了解)

      一般这年轻代垃圾回收器,老年代垃圾回收器,如上图搭配着使用   1.8呢默认就是最后边那哥俩 有黑白灰三个颜色 最开始的颜色都是白色 刚找到这个对象的时候,把他标记成灰色,然后他的孩子级别的对象都找到时。 把他标记成黑色。他的孩子就是灰色了。 关于可达性

    2024年02月14日
    浏览(43)
  • 频数表和列联表,以及进一步处理分析 -- R

    数据框包含了一些分类变量,问? 操作频数表 vcdӉ中的assocstats()函数可以计算二维列联表的phi系数,列联系数,Cramer‘s V系数 总体来说,较大的数值意味着较强的相关性

    2024年01月19日
    浏览(52)
  • C++面向对象程序设计 - 类和对象进一步讨论

            在C++中,关于面向对象程序设计已经讲了很大篇幅,也例举很多案例,此篇将通过一些习题来进一步了解对象、静态成员、指针、引用、友元、类模板等等相关知识。         示例代码:         如上代码,运行后结果如下图:          现在将上述代码中,第

    2024年04月16日
    浏览(61)
  • 学习笔记---更进一步的双向链表专题~~

    目录 1. 双向链表的结构🦊 2. 实现双向链表🐝 2.1 要实现的目标🎯 2.2 创建+初始化🦋 2.2.1 List.h 2.2.2 List.c 2.2.3 test.c 2.2.4 代码测试运行 2.3 尾插+打印+头插🪼 思路分析 2.3.1 List.h 2.3.2 List.c 2.3.3 test.c 2.3.4 代码测试运行 2.4 尾删+头删🐊 2.4.0 思路分析 2.4.1 List.h 2.4.2 List.c 2.4.3 t

    2024年02月07日
    浏览(39)
  • pypdf 将 PDF两个页面拼接成一个页面进一步详解

    pypdf 原库名Pypdf2(已弃用,文档 PyPDF2 RectangleObject类_w3cschool) pypdf 官方文档 The Transformation Class — pypdf 3.17.4 documentation pypdf 将两个PDF页面在x轴,y轴进行平移调整位置之后,直接用merge_page拼接在一起,或者PageObject.create_blank_page 先创建一个空白页面,再将两个页面添加到空白页

    2024年01月24日
    浏览(40)
  • 数据库ChatGPT插件来了,SQL使用体验进一步起飞

    基于 ChatGPT API 和 OpenMLDB 数据库实现的 openmldb-chatgpt-plugin 项目开源了,作为人类迄今为止最强AI模型之一(GPT4未开放API),集成了 ChatGPT 模型的数据库有多好用,下面将带大家体验一下。 实现原理是在ChatGPT API基础上做了一定的 Prompt engineering ,没有用 fine tune ,在标准SQL场景

    2023年04月16日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包