当前位置: 首页 > article >正文

网络安全——传输层安全协议(3)

  • 作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 

  •  座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​​

目录

前言

一.SSL密钥更改协议

二.SSL告警协议

 关闭报警

错误报警

三.SSL协议安全性分析

四.SSL协议依赖的加密和认证算法

1.加密算法和会话密钥

2.认证算法

五.SSL安全优势 

六.SSL协议存在的问题

1.密钥管理问题

2.加密强度问题

3.数字签名问题


前言

通过之前文章对SSL握手协议与SSL记录协议有了一定的了解网络安全——传输层安全协议(2)

本章将会继续讲解SSL的其他协议


一.SSL密钥更改协议

SSL密钥更改协议用以通知参与各方加密策略的改变。SSL密钥更改协议只包含一个使用当前(不是未决的)加密方法(Cipher Spec)加密并压缩过的消息。此消息包含一个字节,其值为1。

更改Cipher Spee的消息可以由客户端或服务器发出,通知对方随后的记录将由刚协商好的加密方法(Cipher Spee)和密钥来保护。 


二.SSL告警协议

由SSL记录层所支持的一种内容类型(Content Types)即为报警类型,报警消息包含报警级别和对报警的描述。最严重一级的报警消息将立即终止连接,在这种情况下,本次会话的其他连接还可以继续进行,但对话标识符失效,以防止此失败的会话重新建立新的连接。与其他消息一样,报警消息是利用由当前连接状态所指定的算法加密和压缩的。


 关闭报警

客户端和服务器为避免截断攻击,必须共享连接已关闭这一信息,通信双方均可发起关闭报警信息,通信双方通过发送发起关闭报警(Close_notify Alert),之后的任何数据都将被丢弃。任何一方在关闭处于写状态的连接时,需要发送关闭报警(Closc_notifyAlert).另一方以立即关闭连接作出响应,丢弃所有挂起的写操作。关闭处于读状态的连接时,不需要等待响应关闭报警。


错误报警

SSL握手协议中的错误处理相对简单。当发现一个错误后,发现方将向对方发一个消息。当传输或收到严重错误报警消息时,连接双方均立即终止此连接。服务器和客户端均丢弃错误会话使用的标识符、密钥及秘密信息。

SSL中定义了下列错误报警

unexpected_message:收到意外的消息,此报警属于严重错误报警,不应在正常的连接中被观察到。

bad_record_mac:当收到带有不正确的MAC记录时,将返回此报警。此报警属于严重错误报警。

decompression_failure:解压缩函数收到不合法的输入(如数据太长等),此报警属于严重错误报警。

handshake_failure:收到handshake_failure报警消息,表明发出者不能接受现有的选项所提供的安全参数集合,此报警属于严重错误报警。

no_certificate:当被要求给出证书面没有合法的证书时,将发出no_certificate 报警消息。

bad_certificate:当一证书被破坏或者证书中签名无法被正确认证时,发出此报警。

unsupported_certificate:证书类型不支持。

certificate_revoked:证书被签发者撤销。

certificate_expired:证书过期或失效。

certificate_unknown:未知因素导致的证书不可接受性。

illegal_parameter;握手消息中域值溢出或一致,此报警属于严重错误报警。

三.SSL协议安全性分析

SSL协议的安全性由采用的加密算法和认证算法所保证。实践证明,现有的加密和认证算法是安全有效的,但随着计算机技术和信息对抗技术的发展,一些新的问题和挑战随即产生。

特别值得注意的是,最近以王小云为代表的一群中国密码学家进行的研究表明,MD5和SHA-l并不是无冲突的,而且他们找到了比暴力方式更快找到冲突的算法。这些发现促使产业界不得不发展更安全的散列算法,同时也使开发下一代更安全的SSL.协议提上了日程。


四.SSL协议依赖的加密和认证算法

1.加密算法和会话密钥

SSL.v2.0协议和SSL.v3.0协议支持的加密算法包括RC4、RC2、IDEA和DES.而加密算法所用的密钥由消息散列函数MD5产生。RC4、RC2是由RSA定义的,其中RC2适用于块加密,RC4适用于流加密。

2.认证算法

SSL协议认证算法采用IEEEx.509电子证书标准,是通过RSA算法进行数字签名来实现的。典型的认证过程包括服务器认证和客户认证。

  • (1)服务器的认证。服务器方的写密钥和客户方的读密钥、客户方的写密钥和服务器方的读密钥分别是一对私有、公有密钥。对服务器进行认证时只有用正确的服务器方写密钥加密,ClientHello消息形成的数字签名才能被客户正确地解密,从而验证服务器的身份。
  • (2)客户的认证。同上,只有用正确的客户方写密钥加密的内容,才能被服务器方用其读密钥正确地解开。

五.SSL安全优势 

  • 1.监听和中间人攻击     2.流量数据分析式攻击
  • 3.版本重放攻击           4.检测对握手协议的攻击
  • 5.会话恢复伪造           6.短包攻击
  • 7.截取再拼接式攻击    8.报文重发式攻击

六.SSL协议存在的问题

1.密钥管理问题

  • (1)客户机和服务器在互相发送自己能够支持的加密算法时,是以明文传送的,存在被攻击修改的可能性。
  • (2)SSLv3.0为了兼容以前的版本,可能降低安全性。所有的会话密钥中都将生成MASTER-KEY,握手协议的安全完全依赖于对MASTER-KEY的保护,因此,在通信中要尽可能少地使用MASTER·KEY。

2.加密强度问题

Netscape依照美国内政部的规定,在它的国际版浏览器及服务器上使用40位的密钥。这是因为,依据美国法律,其所使用的RC4加密算法对多于40位长的加密密钥产品的出口加以限制。而较短的密钥长度意味着较高的破译可能。

3.数字签名问题

基于SSL.协议没有数字签名功能,即没有抗否认服务。若要增加数字签名功能,则需要在协议中打补丁。这样做,在用于加密密钥的同时又用于数字签名,在安全上存在漏洞。PKI体系完善了这种措施,即双密钥机制,将加密密钥和数字签名密钥二者分开,成为双证书机制,从而构成了PK1完整的安全服务体系。


http://www.kler.cn/a/18023.html

相关文章:

  • Android 下内联汇编,Android Studio 汇编开发
  • 后端接口返回二进制文件,前端 window.opent预览展示
  • 河南省的一级科技查新机构有哪些?
  • PCL 点云分割 基于CPC算法的分割
  • 【设计模式】结构型模式(四):组合模式、享元模式
  • 鸿蒙华为商城APP案例
  • 深度学习入门篇1
  • Filter过滤器和Listener监听器
  • 【致敬未来的攻城狮计划】— 连续打卡第二十五天:RA2E1的 DTC传输模式
  • 深入浅出堆—C语言版【数据结构】
  • 为什么需要使用Docker
  • 掌握这些GitHub搜索技巧,你的开发效率将翻倍!
  • 使用MindSDK的at-server组件开发从机模组
  • ScriptableObject上的prefab内容暂用,ScriptableObject详解
  • random — 伪随机数生成器(史上总结最全)
  • C++学习day--09 字符串比较、运算符
  • 【Java多线程编程】创建线程的基本方式
  • 【Linux】浅谈网络协议栈-网桥br0
  • 分布式锁Redisson对于(不可重入、不可重试、超时释放、主从一致性)四个问题的应对
  • Python人工智能—线性回归
  • C++面试题
  • java8新特性——StreamAPI
  • PyQt5零基础入门(二)——主窗口的显示与退出
  • LInux grep sed awk 命令详解
  • 开关电源基础01:电源变换器基础(3)
  • 数影周报:假冒ChatGPT的恶意软件激增,谷歌开启无密码登录