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

HTTPS 详解

HTTPS 是以安全为目标的 HTTP 通道,它在 HTTP 中加入 SSL 层以提高数据传输的安全性。HTTP 被用于在 Web 浏览器和网站服务器之间传递信息,但以明文形式发送内容,不提供任何方式的数据加密,如果攻击者截取了 Web 浏览器和网站服务端之间的传输报文,就可以直接读懂其中的信息,因此 HTTP 不适合传输一些敏感信息,比如身份证号码、密码等。为了数据传输的安全性,HTTPS 在 HTTP 的基础上加入了 SSL 协议,SSL 依靠证书来验证客户的身份,并对客户端和服务端之间的通信进行数据加密,以保障数据传输的安全性,其端口一般是 443

HTTP 的加密流程如下:

  1. 发起请求:客户端在通过 TCP 和服务端建立连接之后(默认使用 443 端口),发出一个请求证书的消息给服务端,在该请求消息里包含自己可实现的算法列表和其他需要的消息。
  2. 证书返回:服务端在收到消息后回应客户端并返回证书,在证书中包含服务端的信息、域名、申请证书的公司、公钥、数据加密算法等
  3. 证书验证:客户端在收到证书后,判断证书签发机构是否正确,并使用该签发机构的公钥确认签名是否有效,客户端还会确保在证书中列出的域名为正在连接的域名。如果客户端确认证书有效,则生成对称密钥,并使用公钥将对称密钥加密
  4. 密钥交换:客户端将加密后的对称密钥发送给服务端,服务端在接收到对称密钥后使用私钥解密
  5. 数据传输:客户端和服务端完成了密钥对的交换,在之后的数据传输过程中,客户端和服务端就可以基于对称加密(加解密使用相同密钥的加密)将数据加密后在网络上传输,保证了网络数据传输的安全性

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 内网安全:跨域攻击
  • CVE-2024-34982 LyLme Spage六零导航页 任意文件上传漏洞漏洞分析
  • 【初阶数据结构题目】34. 冒泡排序
  • 【LeetCode】433.最小基因变化
  • Git 命令常用
  • linux之prometheus+grafana
  • 报错解决——苹果电脑mac装windows10,总是提示“启动转换”安装失败:拷贝Windows安装文件时出错
  • Linux | Linux进程万字全解:内核原理、进程状态转换、优先级调度策略与环境变量
  • 【网络】UDP回显服务器和客户端的构造,以及连接流程
  • 保研考研机试攻略:第四章——高精度问题
  • Qt如何调取打印机
  • 关于xilinx的FFTIP的使用和仿真
  • JAVA面试汇总
  • c++ opencv与Tesseract文字提取
  • 基于华为atlas的皮带跑偏、空载、堆煤、启停探索
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【mysql】环境安装、服务启动、密码设置
  • Android Studio:GIT提交项目到远程仓库
  • Angular数据绑定机制
  • ES6--对象的扩展
  • MySQL几个简单SQL的优化
  • Mysql优化
  • 阿里云购买磁盘后挂载
  • 初识MongoDB分片
  • 漂亮刷新控件-iOS
  • 山寨一个 Promise
  • 手写一个CommonJS打包工具(一)
  • 微信小程序实战练习(仿五洲到家微信版)
  • 小程序 setData 学问多
  • hi-nginx-1.3.4编译安装
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​Java并发新构件之Exchanger
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • ​人工智能书单(数学基础篇)
  • #pragma data_seg 共享数据区(转)
  • (007)XHTML文档之标题——h1~h6
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (bean配置类的注解开发)学习Spring的第十三天
  • (C11) 泛型表达式
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (floyd+补集) poj 3275
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (强烈推荐)移动端音视频从零到上手(上)
  • (十)Flink Table API 和 SQL 基本概念
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四)opengl函数加载和错误处理
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .NET 8.0 发布到 IIS
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NetCore项目nginx发布
  • .Net语言中的StringBuilder:入门到精通