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

SSL原理详解

SSL协议结构:

在这里插入图片描述
SSL协议分为两层,下层为SSL记录协议,上层为SSL握手协议、SSL密码变化协议和SSL警告协议。

 

1.下层为SSL记录协议,主要作用是为高层协议提供基本的安全服务

建立在可靠的传输之上,负责对上层的数据进行分块、压缩、计算并添加MAC(消息验证码) 、加密,最后把记录块传输给对方。

2.上层为SSL握手协议、SSL密码变化协议和SSL报警协议

        1> SSL握手协议:SSL握手协议被封装在SSL记录协议中,该协议允许服务器与客户端在应用程序传输和接收数据之前互相认证、协商加密算法和密钥。在初次建立SSL连接时,服务器与客户机交换一系列消息。

        2> SSL修改密文协议:保障SSL传输过程中的安全性,客户端和服务器双方应该每隔一段时间改变加密规范

        3> SSL报警协议:用来为对等体传递SSL的相关警告。如果在通信过程中某一方发现任何异常,就需要给对方发送一条警示消息通告。

SSL工作大致可以分为两个阶段
1.第一阶段: Handshake phase(握手阶段)

协商加密算法
认证服务器
建立用于加密和MAC(Message Authentication Code)的会话密钥
2.第二阶段: Secure data transfer phase(安全数据传输阶段)

在已经建立的SSL数据通道里安全的传输数据


SSL协议提供的服务:
1)认证用户和服务器,确保数据发送到正确的 客户机和服务器
2)加密数据以防止数据中途被窃取
3)维护数据的完整性,确保数据在传输过程中不被改变。
当你在浏览器的地址栏上输入https开头的网址后,浏览器和服务器之间会在接下来的几百毫秒内进行大量的通信:

认证服务器:浏览器内置一个受信任的CA机构列表,并保存了这些CA机构的证书。第一阶段服务器会提供经CA机构认证颁发的服务器证书,如果认证该服务器证书的CA机构,存在于浏览器的受信任CA机构列表中,并且服务器证书中的信息与当前正在访问的网站(域名等)一致,那么浏览器就认为服务端是可信的,并从服务器证书中取得服务器公钥,用于后续流程。否则,浏览器将提示用户,根据用户的选择,决定是否继续。当然,我们可以管理这个受信任CA机构列表,添加我们想要信任的CA机构,或者移除我们不信任的CA机构。
 

http://www.lryc.cn/news/109144.html

相关文章:

  • linux下的etc目录代表什么意思
  • iOS 两种方式设置状态栏
  • html5:webSocket 基础使用
  • html学习10-----总结(完)
  • Spring使用P命名空间实现注入数值信息-----Spring框架
  • windows环境下安装RabbitMQ
  • Java源码规则引擎:jvs-rules决策流的自定义权限控制
  • Python-字符串的世界
  • 使用上 Spring 的事件机制
  • Linux安装QT
  • 如何用arduino uno主板播放自己想要的曲子。《我爱你中国》单片机版本。
  • redis入门2-命令
  • Typescript 枚举类型
  • docker小记-容器中启动映射端口号但访问不到
  • Java中的Map常见使用案例代码
  • 计算机视觉实验:图像处理综合-路沿检测
  • Linux环境下VS code的python与C++调试环境的安装
  • AlexNet卷积神经网络-笔记
  • 剑指 Offer 53 - I. !!在排序数组中查找数字 I (考查二分法)
  • RANSAC算法在Python中的实现与应用探索:线性拟合与平面拟合示例
  • PHP接口自动化测试框架实现
  • VLAN原理+配置
  • MongoDB文档-基础使用-在客户端(dos窗口)/可视化工具中使用MongoDB基础语句
  • “RISC-V成长日记” blog发布,第一个运行在RISC-V服务器上的blog?
  • gitlab配置webhook
  • 编译安装Linux内核实践与踩坑
  • 郑州https数字证书
  • 第125天:内网安全-隧道技术SMBICMP正反向连接防火墙出入规则上线
  • 性能测试怎么做?测试工具怎么选择?
  • 【Eclise配置Jdk环境】Jre环境常见配置错误问题