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

Https通讯原理

https是基于安全目的的Http通道,其安全基础由SSL层来保证。最初由netscape公司研发,主要提供了通讯双方的身份认证和加密通信方法。现在广泛应用于互联网上安全敏感通讯。

图片描述

SSL协议通信过程

(1) 浏览器发送一个连接请求给服务器;服务器将自己的证书(包含服务器公钥S_PuKey)、对称加密算法种类及其他相关信息返回客户端;

(2) 客户端浏览器检查服务器传送到CA证书是否由自己信赖的CA中心签发。若是,执行4步;否则,给客户一个警告信息:询问是否继续访问。

(3) 客户端浏览器比较证书里的信息,如证书有效期、服务器域名和公钥S_PK,与服务器传回的信息是否一致,如果一致,则浏览器完成对服务器的身份认证。

(4) 服务器要求客户端发送客户端证书(包含客户端公钥C_PuKey)、支持的对称加密方案及其他相关信息。收到后,服务器进行相同的身份认证,若没有通过验证,则拒绝连接;

(5) 服务器根据客户端浏览器发送到密码种类,选择一种加密程度最高的方案,用客户端公钥C_PuKey加密后通知到浏览器;

(6) 客户端通过私钥C_PrKey解密后,得知服务器选择的加密方案,并选择一个通话密钥key,接着用服务器公钥S_PuKey加密后发送给服务器;

(7) 服务器接收到的浏览器传送到消息,用私钥S_PrKey解密,获得通话密钥key。

(8) 接下来的数据传输都使用该对称密钥key进行加密。

图片描述
图片描述

上面所述的是双向认证 SSL 协议的具体通讯过程,服务器和用户双方必须都有证书。由此可见,SSL协议是通过非对称密钥机制保证双方身份认证,并完成建立连接,在实际数据通信时通过对称密钥机制保障数据安全性

相关文章:

  • 通过javamelody监控web应用的性能指标
  • JS将秒转换为 天-时-分-秒
  • Linux下RPM软件包的安装及卸载
  • Ionic系列——Ionic介绍
  • Atom飞行手册翻译: 2.6 代码段
  • jquery1.0源码【1-60行】构造函数及全局$变量
  • Running Redis as a User Daemon on OSX With Launchd
  • webx5 复选框的显示
  • Linux驱动总结3- unlocked_ioctl和堵塞(waitqueue)读写函数的实现 【转】
  • android makefile 小结
  • SqlServerException:拒绝对表对象的select,insert权限解决(新建账号导致的问题)
  • [知识点]C++中的运算符
  • 六间房 繁星 酷我 来疯 秀吧 新浪秀 直播播放器 Live 1.2
  • 组合条件测试
  • VCE文件的另类打开方式
  • 2017-09-12 前端日报
  • eclipse的离线汉化
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • mockjs让前端开发独立于后端
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • SpingCloudBus整合RabbitMQ
  • TypeScript实现数据结构(一)栈,队列,链表
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 规范化安全开发 KOA 手脚架
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 异常机制详解
  • 在Unity中实现一个简单的消息管理器
  • NLPIR智能语义技术让大数据挖掘更简单
  • raise 与 raise ... from 的区别
  • Spring Batch JSON 支持
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 阿里云ACE认证学习知识点梳理
  • 积累各种好的链接
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (26)4.7 字符函数和字符串函数
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)计算机毕业设计大学生兼职系统
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .net core开源商城系统源码,支持可视化布局小程序
  • .Net FrameWork总结
  • .net 调用php,php 调用.net com组件 --
  • .Net 路由处理厉害了
  • .NET 命令行参数包含应用程序路径吗?
  • .net反混淆脱壳工具de4dot的使用
  • .net开发引用程序集提示没有强名称的解决办法
  • .NET序列化 serializable,反序列化
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • ?.的用法
  • @hook扩展分析
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题