本文给大家介绍一下著名的网络安全协议SSL,如果有需要的朋友可以参考学习,希望以下的分享对您的学习有所帮助。

安全套接字协议(Secure Socket Layer,SSL)是web浏览器与Web服务器之间安全交换的信息的协议。提供两个基本的安全服务:鉴别与保密。

SSL是Netscape于1994年开发的,后来成为了世界上著名的web安全机制,所有主要浏览器都支持SSL协议。

SSL协议由两层组成,分别是握手协议层和记录协议层。握手协议建立在记录协议之上,此外,还有警告协议、更改密码说明协议和应用数据协议等对话协议和管理提供支持的子协议。SSL协议的组成及其TCP/IP中的位置如图所示:

在图中的每一层,包括长度、描述和内容字段。SSL发出消息是将数据分为可管理的块、压缩、使用MAC和加密并发出加密结果。接受消息需要解密、验证、解压和重组、再把结果发往更高一层的客户。

1)记录协议

具有实现压缩/解压缩、加密/解密、计算机MAC等与安全有关的操作。建立之上的还有:

更改密码说明协议:此协议由一条消息组成,可由客户端或服务器发送,通知接收方后面的记录将被新协商的密码说明和密钥保护;接收方获得此消息后,立即指示记录层把即将读状态变成当前读状态;发送方发送此消息后,应立即指示记录层把即将写状态变成当前写状态。

警告协议:警告消息传达消息的严重性并描述警告。一个致命的警告将立即终止连接。与其他消息一样,警告消息在当前状态下被加密和压缩。警告消息有以下几种:

关闭通知消息、意外消息、错误记录MAC消息、解压失败消息、握手失败消息、无证书消息、错误证书消息、不支持的证书消息、证书撤回消息、证书过期消息、证书未知和参数非法消息等。

应用数据协议:将应用数据直接传递给记录协议。

2)握手协议

SSL握手协议握手协议是用来在客户端和服务端传输应用数据而数据建立的安全通信机制。

算法协商:首次通信时,双方通过握手协议协商密钥加密算法、数据加密算法和文摘算法。

身份验证:在密钥协商完成后,客户端与服务器端通过证书互相验证对方的身份。

确定密钥:最后使用协商好的密钥交换算法产生一个只有双方知道的秘密信息,客户端和服务器端各自根据这个秘密信息确定数据加密算法的参数(一般是密钥)。由此可见,SSL协议是端对端的通信安全协议。

SSL协议的三个特征:

1)保密:在握手协议中定义了会话密钥后,所有的消息都被加密。

2)鉴别:在可选的客户端认证,和强制的服务器端认证。

3)传送的消息包括消息完整性检查(使用MAC)。

SSL安全优势

1)监听和中间人式攻击

SSL使用一个经过通信双方协商确定的加密算法和密钥,对不同的安全级别应用都可找到不同的加密算法,从而用于数据加密。它的密钥管理处理比较好,在每次连接时通过产生一个密码杂凑函数生成一个临时使用的会话密钥,除了不同连接使用不同密钥外,在一次连接的两个传输方向上也使用各自的密钥。尽管SSL协议为箭筒这提供了很多明文,但由于采用RSA交换密钥具有较好的密钥保护性能,以及频繁更换密钥的特点,因此对监听和中间人式攻击而言,具有较高的防范性。

2)流量数据分析式攻击

流量数据分析式攻击的核心是通过检查数据包的未加密字段或未加保护的数据包属性,试图进行攻击。在一般情况下该攻击是无害的,SSL无法阻止这种攻击。

3)截取再拼接式攻击

对需要较强的连接加密,需要考虑这种安全性。SSL V3.0基本上可阻止这种攻击。

4)报文重发式攻击

报文重发式攻击比较容易阻止,SSL通过在MAC数据包中包含“系列号”来防止该攻击。

在上网的时候,有些网友发现,浏览器提示SSL协议未开启?这是怎么回事?该怎么解决这个问题?

之所以提示SSL协议未开启主要是基于网页在Internet选项中修改,如果是服务器的话,应该是服务没有开启或者SSL模块的问题。

我们看看解决方法:

1)首先打开浏览器,找到工具→Internet选项

2)找到高级选项卡下面的使用SSL 3.0勾选之后点击保存即可。

今天的讲解,不知大家都懂了吗?的文章,欢迎登陆课课家教育或关注公众号【课课家】/【课课家IT精品课程】。

服务器 ssl协议怎么开启,SSL协议是什么?SSL未开启如何解决?相关推荐

  1. SSL协议未开启是什么意思?

    SSL协议未开启是指服务器中的服务没有开启或者没有SSL模块.在互联网中,数据交互传输基于http明文协议,随着互联网的不断发展,http协议展现出它的缺陷,通过http协议传输的数据容易被攻击者窃取 ...

  2. 群晖添加SSL证书,开启hhttps

    群晖添加SSL证书,开启hhttps 一.申请ssl证书 二.下载证书 三.添加证书 Apache类型证书 Nginx类型证书 四.设置证书 一.申请ssl证书 登录阿里云,打开控制台,找到SSL证书 ...

  3. SSL证书是要怎么部署的,SSL证书怎么安装你知道吗?

    谈到SSL证书相信大家现在已经不会陌生了,网站想要取得用户的信任,需要申请相应的SSL证书,通过SSL证书的的申请和安装,签署相应的协议,从而取得SSL证书的服务,为用户更好的提供网站信息数据服务.S ...

  4. 服务器显示测试模式,服务器未开启测试功能怎么办 | 手游网游页游攻略大全

    发布时间:2016-04-13 贪婪洞窟icloud经常出现未开启或者没打开的提示,令不少玩家非常恼火,更有大量的玩家不知道怎么将贪婪洞窟icloud存档导出来,这样非常花费精力和时间,下面给大家分享 ...

  5. 怎么重新启动协议服务器,ssl协议怎么开启

    1.首先打开浏览器,找到工具→Internet选项 2.找到高级选项卡,下面的使用SSL 3.0 勾选之后,点击保存即可. 3.重新打开网站检查.对于chrome浏览器,SSL 和 TLS都协议是默认 ...

  6. apache http自动跳转https_怎么给网站开启https协议?Apache2下SSL证书安装配置方法...

    本文原创,未经允许,严禁装载 刚做本站的时候,我也不知道为什么要开启https协议,只是发现有很多网站都是https.当用Chrome浏览器打开本社区网站的时候,发现现实"不安全" ...

  7. 服务器协议密码,确定SSL服务器支持的最差/最佳协议、最弱/最强密码的最快速方法?...

    为此,我需要找出服务器支持的最差/最佳协议和最弱/最强的密码.在 以下是我使用sslyze的代码:from plugins import PluginOpenSSLCipherSuites from ...

  8. 什么是国密SSL协议?国密证书与传统SSL证书有什么区别?

    你知道什么是国密SSL协议吗?很多人听说过SSL证书.SSL协议,但是国密SSL协议却是第一次听说.一起来看看什么是国密SSL协议,以及国密证书与传统SSL证书有什么区别? 什么是国密SSL协议?国密 ...

  9. ssl双向认证_SSL握手协议不清楚?vTrus为你讲解其详细流程

    SSL(Secure Socket Layer)安全套接字协议是运行在应用层和TCP层之间的安全机制.保证上层应用数据传输的保密性.完整性以及传输双发身份的合法性. 传输加密性:握手协议定义会话密钥后 ...

最新文章

  1. Eclipse JDBC SQLServer2008 R2
  2. python在会计工作中的应用-python有什么用(会计专业)
  3. tms570 can 接收大量数据_CAN通讯系列--CAN总线基础3
  4. [笔记]画三角函数-涵盖画图基础
  5. 很多字段的数据要插入另一张表_一文看懂数据库设计之逻辑设计,值得收藏
  6. 深度学习tensorflow变量op
  7. [css] 如何使用CSS3的属性设置模拟边框跟border效果一样?
  8. kaggle实战—泰坦尼克(二、数据清洗及特征处理)
  9. Python字典(dict)与列表(list)与数组(nbarray)详解
  10. 【GPU+ubuntu】Ubuntu下的Tensorflow-gpu等各种环境和包的安装
  11. javascript时间戳转换成yyyy-MM-DD格式
  12. 5G+北斗RTK定位:高精度定位技术发展更进一步
  13. CS和BS 到底是什么
  14. 运用集合实现用户的注册和登录
  15. canvas图片合成
  16. Linux错误:warning: here-document at line 5 delimited by end-of-file (wanted `EOF`
  17. html学习 - jquery事件监听详解
  18. vmware虚拟机检测不到vspd虚拟串口问题
  19. React-Native 创建App项目
  20. matlab版本转换

热门文章

  1. 导出带下拉选项的Excel基于EasyExcel实现
  2. Yii1.x 国际化三步走
  3. UCloud优刻得与RT-Thread睿赛德达成战略合作,全面共建物联网生态
  4. Vue的自定义@change事件(自己学习用途,不建议参考)
  5. 解决hibernate中文乱码
  6. jira使用教程pdf_《jira项目管理系统使用指南》.pdf
  7. Cisco 路由器1.5作业 OSPF
  8. python基础——类(面向对象的特征)
  9. linux awk 数组,shell数组和awk数组
  10. 微信小程序获取手机号 -加密数据解密算法-golang版本