我的编程空间,编程开发者的网络收藏夹
学习永远不晚

深入解析SSL/TLS协议

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

深入解析SSL/TLS协议

     最初SSL协议是由netscape开发,并集成到浏览器中,用于保护HTTP传输安全性,作为在传输层和应用层之间的一层,对更多的需要保护数据安全性的协议进行封装。IETF以SSL协议为基础,提出了一种新的协议:TLS,建立在SSLV3.0的基础上,是SSL3.0的后续版本,已经开始在实际应用中使用。

一、SSL协议的握手过程

  开始加密通信之前,客户端和服务器首先必须建立连接和交换参数,这个过程叫做握手(handshake)。

  假定客户端叫做爱丽丝,服务器叫做鲍勃,整个握手过程可以用下图说明(点击看大图)。

SSL/TLS协议图解_SSL_网络安全技术_网络工程师_编程学习网教育

  握手阶段分成五步

  第一步,爱丽丝给出协议版本号、一个客户端生成的随机数(Clientrandom),以及客户端支持的加密方法。

  第二步,鲍勃确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Serverrandom)。

  第三步,爱丽丝确认数字证书有效,然后生成一个新的随机数(Premastersecret),并使用数字证书中的公钥,加密这个随机数,发给鲍勃。

  第四步,鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premastersecret)。

  第五步,爱丽丝和鲍勃根据约定的加密方法,使用前面的三个随机数,生成"对话密钥"(sessionkey),用来加密接下来的整个对话过程。

  上面的五步,画成一张图,就是下面这样。

上面的五步,画成一张图,就是下面这样

  二、私钥的作用

  握手阶段有三点需要注意。

  (1)生成对话密钥一共需要三个随机数。

  (2)握手之后的对话使用"对话密钥"加密(对称加密),服务器的公钥和私钥只用于加密和解密"对话密钥"(非对称加密),无其他作用。

  (3)服务器公钥放在服务器的数字证书之中。

  从上面第二点可知,整个对话过程中(握手阶段和其后的对话),服务器的公钥和私钥只需要用到一次。这就是CloudFlare能够提供Keyless服务的根本原因。

  某些客户(比如银行)想要使用外部CDN,加快自家网站的访问速度,但是出于安全考虑,不能把私钥交给CDN服务商。这时,完全可以把私钥留在自家服务器,只用来解密对话密钥,其他步骤都让CDN服务商去完成。

某些客户(比如银行)想要使用外部CDN,加快自家网站的访问速度,但是出于安全考虑,不能把私钥交给CDN服务商。这时,完全可以把私钥留在自家服务器,只用来解密对话密钥,其他步骤都让CDN服务商去完成

  上图中,银行的服务器只参与第四步,后面的对话都不再会用到私钥了。

  三、DH算法的握手阶段

  整个握手阶段都不加密(也没法加密),都是明文的。因此,如果有人窃听通信,他可以知道双方选择的加密方法,以及三个随机数中的两个。整个通话的安全,只取决于第三个随机数(Premastersecret)能不能被破解。

  虽然理论上,只要服务器的公钥足够长(比如2048位),那么Premastersecret可以保证不被破解。但是为了足够安全,我们可以考虑把握手阶段的算法从默认的RSA算法,改为Diffie-Hellman算法(简称DH算法)。

  协议结构

  TLS协议包括两个协议组――TLS记录协议和TLS握手协议――每组具有很多不同格式的信息。在此文件中我们只列出协议摘要并不作具体解析。具体内容可参照相关文档。

  TLS记录协议是一种分层协议。每一层中的信息可能包含长度、描述和内容等字段。记录协议支持信息传输、将数据分段到可处理块、压缩数据、应用MAC、加密以及传输结果等。对接收到的数据进行解密、校验、解压缩、重组等,然后将它们传送到高层客户机。

  TLS连接状态指的是TLS记录协议的操作环境。它规定了压缩算法、加密算法和MAC算法。

  TLS记录层从高层接收任意大小无空块的连续数据。密钥计算:记录协议通过算法从握手协议提供的安全参数中产生密钥、IV和MAC密钥。TLS握手协议由三个子协议组构成,允许对等双方在记录层的安全参数上达成一致、自我认证、例示协商安全参数、互相报告出错条件。

  采用DH算法后,Premastersecret不需要传递,双方只要交换各自的参数,就可以算出这个随机数。

采用DH算法后,Premastersecret不需要传递,双方只要交换各自的参数,就可以算出这个随机数

  上图中,第三步和第四步由传递Premastersecret变成了传递DH算法所需的参数,然后双方各自算出Premastersecret。这样就提高了安全性。

  四、session的恢复

  握手阶段用来建立SSL连接。如果出于某种原因,对话中断,就需要重新握手。

  这时有两种方法可以恢复原来的session:一种叫做sessionID,另一种叫做sessionticket。

  sessionID的思想很简单,就是每一次对话都有一个编号(sessionID)。如果对话中断,下次重连的时候,只要客户端给出这个编号,且服务器有这个编号的记录,双方就可以重新使用已有的"对话密钥",而不必重新生成一把。

sessionID的思想很简单,就是每一次对话都有一个编号(sessionID)。如果对话中断,下次重连的时候,只要客户端给出这个编号,且服务器有这个编号的记录,双方就可以重新使用已有的"对话密钥",而不必重新生成一把

  上图中,客户端给出sessionID,服务器确认该编号存在,双方就不再进行握手阶段剩余的步骤,而直接用已有的对话密钥进行加密通信。

  sessionID是目前所有浏览器都支持的方法,但是它的缺点在于sessionID往往只保留在一台服务器上。所以,如果客户端的请求发到另一台服务器,就无法恢复对话。sessionticket就是为了解决这个问题而诞生的,目前只有Firefox和Chrome浏览器支持。

  上图中,客户端不再发送sessionID,而是发送一个服务器在上一次对话中发送过来的sessionticket。这个sessionticket是加密的,只有服务器才能解密,其中包括本次对话的主要信息,比如对话密钥和加密方法。当服务器收到sessionticket以后,解密后就不必重新生成对话密钥了。

     SSL的握手协议非常有效的让客户和服务器之间完成相互之间的身份认证,本实例中只有客户端验证服务端,服务端并没有对客户端进行验证,一般相互进行身份认证的情况在登录银行系统时会用到。

更多详细内容尽在编程学习网哟~

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

深入解析SSL/TLS协议

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

深入解析SSL/TLS协议

     最初SSL协议是由netscape开发,并集成到浏览器中,用于保护HTTP传输安全性,作为在传输层和应用层之间的一层,对更多的需要保护数据安全性的协议进行封装。IETF以SSL协议为基础,提出了一种新的协议:TLS,建立在SSLV3.0的基础上,是SSL3.0的后续版本,已经开始
深入解析SSL/TLS协议

SSL协议是什么?SSL未开启如何解决?

  本文给大家介绍一下著名的网络安全协议SSL,如果有需要的朋友可以参考学习,希望以下的分享对您的学习有所帮助。  安全套接字协议(Secure Socket Layer,SSL)是web浏览器与Web服务器之间安全交换的信息的协议。提供两个基本的安全服务:鉴别与保密。  SSL是Netscape于1994年开发的,后
SSL协议是什么?SSL未开启如何解决?

最新RIP协议分析解析

  最新RIP协议分析解析:网络工程师们每天都会与各种各样的协议打交道,RIP协议属于非常常见的一种协议,关于RIP协议,能说的非常多。   RIP协议的定义  RIP是Routing Information Protocol的首字母缩写,指的是路由信息协议,它是一种内部网关协议,也就是我们常说的IGP,RI
最新RIP协议分析解析

解析OSPF协议工作原理

  在如今的计算机网络中,当两台非直接连接的计算机需要经过几个网络通信时,通常就需要路由器。路由器提供一种方法来开辟通过一个网状连接的路径。那么路径是怎么建立的呢?路由器提供协议的任务是,为路由器提供他们建立网状网络最佳路径所需要的相互共享的路由信息。在众多的路由技术中,OSPF协议已成为目前Internet广域网和I
解析OSPF协议工作原理

OSPF路由协议介绍解析

  OSPF路由协议是什么  OSPF路由协议介绍解析:OSPF路由协议是用于网际协议(IP)网络的链路状态路由协议。该协议使用链路状态路由算法的内部网关协议(IGP),在单一自治系统(AS)内部工作。适用于IPv4的OSPFv2协议定义于RFC 2328,RFC 5340定义了适用于IPv6的OSPFv3。  OSP
OSPF路由协议介绍解析

ICMP协议是什么以及工作原理解析

  ICMP协议是什么以及工作原理解析。网络工程师们对网络协议一定不陌生,从专业角度定义,网络协议是计算机在网络中实现通信时必须遵守的约定,也就是通信协议。网络协议有很多,接下来编程学习网小编就来给大家介绍一个多功能的网络层协议——ICMP协议  ICMP协议是什么?  ICMP是Internet
ICMP协议是什么以及工作原理解析

全面解析目的节点序列距离矢量协议

  思科认证是由网络领域著名的厂商--Cisco公司推出的。是互联网领域的国际权威认证。思科认证有CCNA、CCDA、CCNP、CCDP、CCSP、CCIP、CCVP、CCIE(又分为针对路由和交换;语音;存储网络;安全;电信运营商)等多种不同级别、不同内容、不同方向的各种认证。今天小编分享给大家的教程是:全面解析目的
全面解析目的节点序列距离矢量协议

了解一下网络协议分析软件中所存在的问题

  网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。今天就跟着小编一起来看一看:了解一下网络协议分析软件中所存在的问题。  关于网络协议分析软件的内容,对于它的使用小编相信大家都
了解一下网络协议分析软件中所存在的问题

软考中级考哪个比较好?一文深入解析

计算机技术与软件专业技术资格(水平)考试是由国家人力资源和社会保障部、工业和信息化部领导下的国家级考试,分3个级别(初级、中级、高级),有很多人报名软考中级或高级。那么,软考中级考哪个比较好?下面小编来进行解答。

软考高级和在职mba哪个好考?一文深入解析

软考高级考试和在职mba都是近些年的热门考试,每年的报考人数都有不少,也有很多人会拿二者进行对比,分析二者的难易程度,证书含金量等多个方面。那么,软考高级和在职mba哪个好考?下面小编来进行解答。

拿到软考高级证书是高级职称吗?一文深入解析

计算机软件资格考试在全国范围内已经实施了二十多年,作为国家级考试,软考证书是有一定含金量的,可在全国范围内通用,而且被企事业单位、政府机关、社会团体等机构广泛认可。那么,拿到软考高级证书是高级职称吗?下面小编来进行解答。

编程热搜

  • 华为高级工程师认证费用
      华为高级工程师认证费用是多少?华为高级工程师认证要多少钱?华为高级工程师认证是华为认证体系中用于标识个人能力在某一技术领域达到高级工程师级别的证明,认证费用为200美金,通过考试取得的证书3年有效。  华为高级工程师认证费用是必修方向和选修方向的总和,其中必修方向认证费用为300美金,选修方向认证费用为180美金。
    华为高级工程师认证费用
  • 2024年初级软考上半年考试时间安排
    初级软考每年安排两次考试,2024年初级软考上半年考试时间已公布,2024年初级软考上半年考试时间为5月25-28日。2024年初级软考上半年报名时间及入口:根据往年各省初级软考报名时间来看,2024年上半年初级软考报名时间3月份开始,具体请考生关注全国各省2024上半年软考报名时间及入口汇总表,希赛小编将及时为大家更
    2024年初级软考上半年考试时间安排
  • HCIA证书和HCIE哪个比较好?
      HCIA证书和HCIE哪个比较好?华为认证包含三个等级,分别是HCIA(华为认证网络工程师)、HCIP(华为认证网络资深工程师)、HCIE(华为认证互联网专家)认证。  HCIA(Huawei Certified ICT Associate )即华为认证ICT工程师,是华为职业认证中用于标识个人能力在某一技术领域达
    HCIA证书和HCIE哪个比较好?
  • 教你在PPT中创建好看的镜像效果
      当我们在阅读杂志书刊,或者看电影的时候常常都会看到像下图一样的原图片与图片镜像的组合效果的图片,在很多的摄影作品中也会有,我们其实也可以在PPT中轻松实现这种应用于各大媒介的图文特效技巧,不信的话我们一起来学习一下,操作过程其实并不复杂!  下面我们就开始我们的具体操作步骤了,首先第一步,我们需要先打开PowerP
    教你在PPT中创建好看的镜像效果
  • 多媒体应用设计师可以提前交卷吗
      可以。但是多媒体应用设计师提前交卷有时间限制,根据软考的考场规则,按照人力资源和社会保障部文件规定,开考5分钟后应试人员一律禁止入场。专业技术人员资格考试原则上封闭2个小时,不足2小时的全程封闭。  软考多媒体应用设计师属于专业技术人员资格考试,专业技术人员资格考试原则上封闭2个小时,不足2小时的全程封闭。  根据
    多媒体应用设计师可以提前交卷吗
  • 全国计算机二级C语言程序设计章节练习题及答案(1)
      对于备考计算机二级C语言考试的考生可以多做试题,一方面了解往年考试题型,一方面熟悉往年考点。今天编程学习网小编给大家准备了全国计算机二级C语言程序设计章节练习题及答案(1),供考生们练习。  点击查看:全国计算机二级C语言程序设计章节练习题及答案汇总  判断题  ×1.C++语言和C语言都是面向对象的程序设
    全国计算机二级C语言程序设计章节练习题及答案(1)
  • 广西2024上半年计算机软考什么时候报名?
    广西2024上半年计算机软考3月25日开始报名,具体报名时间见全国各省2024上半年软考报名时间及入口汇总表。2024上半年广西软考考试采用网络报名的方式,考生在规定的报名时间内进入中国计算机技术职业资格网,点击页面右下方的报名入口,进入全国计算机技术与软件专业技术资格(水平)考试网上报名平台,选择“广西”入口后点击进
    广西2024上半年计算机软考什么时候报名?
  • 软考可以申请退税吗
      可以。软考证书是可以抵扣个税的,按照个税6项专项附加扣除标准,在取得软考证书的当年,可以按照3600元定额扣除。  软考证书可以抵扣个税,根据国务院印发的《个人所得税专项附加扣除暂行办法》,第三章继续教育包含三条,具体内容如下:  第八条 纳税人在中国境内接受学历(学位)继续教育的支出,在学历(学位)教育期间按照每
    软考可以申请退税吗
  • win10如何正确禁用IPv6网络协议
       在Windows Vista和Server 2008开始,微软包括本地支持的IPv6(互联网协议第6版),并默认启用。IPv6是新的计算机的地址协议,最终将取代IPv4这是目前最流行的标准。win10中默认开启了对IPv6协议的支持,但是会影响到系统运行速度和磁盘占有率等。除非你的网络有IPv
    win10如何正确禁用IPv6网络协议
  • 2020年数据库系统工程师上午真题及答案解析
      2019上半年数据库系统工程师考试已结束,今天编程学习网小编为大家整理了2020年数据库系统工程师上午真题及答案解析,以便大家了解2020下半年数据库系统工程师基础知识考试真题。  软考数据库系统工程师上午考试为基础知识,编程学习网小编为大家整理了2020年数据库系统工程师上午真题,想知道答案和解析的考生可以直接进入在线题
    2020年数据库系统工程师上午真题及答案解析

目录