本文分享自华为云社区《SSL和TLS的联系及区别》,作者: HZDX。

TLS/SSL是一种加密通道的规范,它利用对称加密、公私钥不对称加密及其密钥交换算法,CA系统进行加密且可信任的信息传输,在HTTP SSL中常用的对称加密算法有RC4,AES,3DES,Camellia等,SSL由从前的网景公司开发,TLS是SSL的标准化后的产物,事实上我们现在用的都是TLS,但因为历史上习惯了SSL这个称呼,平常还是以SSL为多。

SSL(Secure Socket Layer)是指安全套接层,简而言之,它是一项标准技术,可确保互联网连接安全,保护两个系统之间发送的任何敏感数据,防止网络犯罪分子读取和修改任何传输信息,包括个人资料。两个系统可能是指服务器和客户端(例如,浏览器和购物网站),或两个服务器之间(例如,含个人身份信息或工资单信息的应用程序)。

TLS (Transport Layer Security) 是指传输层安全,是更为安全的升级版 SSL。由于 SSL 这一术语更为常用,因此我们仍然将我们的安全证书称作 SSL。


SSL协议

由网景公司所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

SSL协议提供的主要服务

  • 认证用户和服务器,确保数据发送到正确的客户机和服务器;
  • 加密数据以防止数据中途被窃取;
  • 维护数据的完整性,确保数据在传输过程中不被改变。

SSL协议的工作流程

服务器认证阶段:

  • 客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;
  • 服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;
  • 客服根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;
  • 服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

用户认证阶段:

  • 在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。

TLS

用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两成组成:TLS记录协议(TLS Record)和TLS握手协议(TLS Handshake)。较低的层为TLS记录协议,位于某个可靠的传输协议(例如TCP)上面。

TLS记录协议提供的连接安全性具有的两个基本特性

  • 私有:对称加密用以数据加密(DES、RC4等)。对称加密所产生的密钥对每个连接都是唯一的,且此密钥基于另一个协议(如握手协议)协商。记录协议也可以不加密使用。
  • 可靠:信息传输包括使用密钥的MAC进行信息完整性检查。安全哈希功能(SHA、MD5等)用于MAC计算。记录协议在没有MAC的情况下也能操作,但一般只能用于这种模式,即有另一个协议正在使用记录协议传输协商安全参数。

TLS握手协议提供的连接安全具有的三个基本属性

TLS记录协议用于封装各种高层协议。作为这种封装协议之一的握手协议允许服务器与客户机在应用程序协议传输和接收其第一个数据字节前彼此之间互相认证,协商加密算法和加密密钥。

  • 可以使用非对称的,或公共密钥的密码术来认证对等方的身份。该认证是可选的,但至少需要一个结点方;
  • 共享解密密钥的协商是安全的。对偷窃者来说协商加密是难以获得的。此外经过认证过的连接不能获得加密,即使是进入连接中间的攻击者也不能;
  • 协商是可靠的。没有经过通信方成员的检测,任何攻击者都不能修改通信协商。

TLS的最大优势

TLS是独立于应用协议。高层协议可以透明地分布在TLS协议上面。然而,TLS标准并没有规定应用程序如何在TLS上增加安全性;它如何启动TLS握手协议以及如何解释交换的认证证书的决定权留给协议的设计者和实施者来判断。

TLS的协议结构

TLS协议包括两个协议组——TLS记录协议和TLS握手协议。


TLS与SSL的差异

  • 版本号:TLS记录格式与SSL记录格式相同,但版本号的值不同,TLS的版本1.0使用的版本号为SSLv3.1。
  • 报文鉴别码:SSLv3.0和TLS的MAC算法及MAC计算的范围不同。TLS使用RFC-2104定义的HMAC算法。SSLv3.0使用了相似的算法,两者差别在于SSLv3.0中,填充字节与密钥之间采用的是连接运算,而HMAC算法采用的异或运算。但是两者的安全程度是相同的。
  • 伪随机函数:TLS使用了称为PRF的伪随机函数来将密钥扩展成数据块,是更安全的方式。
  • 报警代码:TLS支持几乎所有的SSLv3.0报警代码,而且TLS还补充定义了很多报警代码,如解密失败(decryption_failed)、记录溢出(record_overflow)、未知CA(unknown_ca)、拒绝访问(access_denied)等。
  • 密文族和客户证书:SSLv3.0和TLS存在少量差别,即TLS不支持Fortezza密钥交换、加密算法和客户证书。
  • certificate_verify和finished消息:SSLv3.0和TLS在用certificate_verify和finished消息计算MD5和SHA-1散列码时,计算的输入有少许差别,但安全性相当。
  • 加密计算:TLS和SSLv3.0在计算主密值(master secret)时采用的方式不同。
  • 填充:用户数据加密之前需要增加的填充字节。在SSL中,填充后的数据长度哟啊达到密文快长度的最小整数倍。而在TLS中,填充后的数据长度可以是密文块长度的任意整数倍(但填充的最大长度为255字节),这种方式可以防止基于对报文长度进行分析的攻击。

TLS主要增强的内容

TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善。TLS在SSL v3.0的基础上,提供了以下增加内容:

  • 更安全的MAC算法
  • 更严密的警报
  • “灰色区域”规范的更明确的定义

TLS对于安全性的改进

  • 对于消息认证使用密钥散列法:TLS使用“消息认证代码的密钥散列法”(HMAC),当记录在开放的网络(如因特网)上传送时,该代码确保记录不会被变更。SSLv3.0还提供键控消息认证,但HMAC比SSLv3.0使用(消息认证代码)MAC功能更安全。
  • 增强的伪随机功能(PRF):PRF生成密钥数据。在TLS中,HMAC定义PRF。PRF使用两种散列算法保证其安全性。如果任一算法暴露了,只要第二种算法未暴露,则数据仍然是安全的。
  • 改进的已完成消息验证:TLS和SSLv3.0都对两个端点提供已完成的消息,该消息认证交换的消息没有被变更。然而,TLS将此已完成消息基于PRF和HMAC值之上,这也比SSLv3.0更安全。
  • 一致证书处理:与SSLv3.0不同,TLS试图指定必须在TLS之间实现交换的证书类型。
  • 特定警报消息:TLS提供更多的特定和附加警报,以指示任一会话端点检测到的问题。TLS还对何时应该发送某些警报进行记录。

点击关注,第一时间了解华为云新鲜技术~​

关于加密通道规范,你真正用的是TLS,而非SSL相关推荐

  1. java sqlserver ssl_拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)...

    工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-C ...

  2. stunnel加密通道使用实践

    今天用了半天的时间把内网与外网服务器代理加密通道调通了.以后就可以以外网服务器的IP地址来访问网站了. 下边是今天架设通道的经验总结, stunnel服务器端安装及设置 我的服务器使用的是阿里云的ub ...

  3. 小明加密通道进入_德州人行通道闸哪个牌子好

    全高转闸有了高速发展的引擎,安保成为每个,地区重要的投入,很多重要的场所需要做到无人值守全天侯的安保措施,像.从事特殊行业作业的工厂.工地等场所就成了全高转闸十足的推动者,行业的迅速发展促生了一批又一 ...

  4. 小明加密通道进入_门禁系统跟闸机通道的区分是什么?功能是一样吗

    门禁系统属于一卡通系统的范畴.它是以中央处理器为核心,由控制器.信息采集器和电控锁组成的控制网络系统.通过系统的信息读取和处理,实现了各种门锁开关的自动控制.根据信息阅读的方式可以分为:插卡式.感应式 ...

  5. 小明加密通道进入_「成都全接触」最新!成都8条地铁进展来了!年底还有5条铁路、9条通道!...

    友情提示:2020余额已不足四分之一大家关心的8条地铁线路也有了最新进度其中包括5条预计今年开通3条全新路线.2条机场快速线一起来看看有没有路过你家门口的(内含路线图)-10号线三期-最新进展:全线5 ...

  6. 小明加密通道进入_如何利用PS通道去除面部雀斑

    今天,教大家如何去除雀斑,美颜,教程主要包括了对图层通道.滤镜的高反差保留,污点修复画笔工具,以及曲线等效果的应用. 效果图 第一步:打开PS,Ctrl+O打开素材,Ctrl+J复制一层,得到图层1, ...

  7. Android加密通信防抓包,[原创]基于Taintdroid思想的android ssl\tsl保密通信抓包研究(未成功,分享一下思路)...

    [旧帖] [原创]基于Taintdroid思想的android ssl\tsl保密通信抓包研究(未成功,分享一下思路) 0.00元 2014-5-12 22:07 1565 [旧帖] [原创]基于Ta ...

  8. mysql主从同步加密_教你构建MySQL主从结构,实现基于SSL加密的主从同步机制

    实验环境RHEL6.4 admin1.tuchao.com    192.168.1.201    主服务器 admin2.tuchao.com    192.168.1.202    从服务器 先在 ...

  9. 新的 TLS 加密破坏攻击也会影响新的 TLS 1.3 协议

    一个学术团队上周披露了一个新的加密攻击,它可以攻破加密的TLS流量,允许攻击者拦截并窃取以前认为安全可靠的数据. 这种新的降级攻击没有像大多数加密攻击那样具有花哨的名字,但是它甚至可以攻击TLS 1. ...

最新文章

  1. 2D-2D:对极约束
  2. freertos 创建互斥量_STM32CubeMX+FreeRTOS学习[6] 互斥量(Lu)
  3. xcode选择活动的开发人员目录错误
  4. 简单示例,VS2019调试C语言程序
  5. 0403互联网新闻 | 哔哩哔哩上线电商类小程序;翼鸥教育和腾讯云联合发布ClassIn Cloud...
  6. [MEGA DEAL]专家级Java捆绑包新手(96%)
  7. PHP自学3——在html的table标签中显示用户提交表单
  8. MyEclipse持续性开发教程:用JPA和Spring管理数据(三)
  9. 「学习记录」《数值分析》第二章计算实习题(Python语言)
  10. 项目管理工具——TargetProcess(2)
  11. Android binder机制---概述
  12. 第19集 轮廓的提取
  13. 使用Go语言解析多点触摸协议(MIT)TypeB由ADB调试产生的数据
  14. tomcat 报错 Status 500 - Mapper method ‘xxxxx‘ has an unsupported return type: class xxx
  15. backup archivelog all not backed up;
  16. python学习笔记(07)---(内置容器-字典)
  17. 安科瑞预付费系统在电力系统中的应用
  18. Error in `appstreamcli': double free or corruption (fasttop): 0x0000000002122000
  19. Tita 绩效宝:绩效面谈的8个流程
  20. 蛊惑者马云发家史(曾推毛氏运动唐僧团队)三

热门文章

  1. Go语言圣经 - 第11章 测试 - 11.4 - 11.6
  2. html传递汉字参数转换,url中如何传递中文信息呢?
  3. 和机器人交互,哪些是本质,哪些不是
  4. 无聊记录下爬取虎牙录播
  5. 一些觉得不错的国外Mooc课程
  6. Notability work with acrobat pro dc
  7. 2022年P气瓶充装试题及在线模拟考试
  8. Failed to register product: 检索 COM 类工厂中 CLSID 为 {1ECCA34C-E88A-44E3-8D6A-8921BDE9E452} 的组件失败,原因是...
  9. 音乐程序——两只老虎
  10. 【华大九天Aether芯片EDA模拟电路仿真 Centos7安装】