首页 > 其他分享 >HTTPS的过程

HTTPS的过程

时间:2024-03-21 15:55:25浏览次数:21  
标签:公钥 加密 证书 会话 HTTPS 过程 服务端 客户端

 

 

 

主要有发起请求、验证身份、协商秘钥、加密会话 4大步骤

 

     1)客户端向服务端发起建立HTTPS请求。

     2)服务器向客户端发送数字证书。

     3)客户端验证数字证书,证书验证通过后客户端生成会话密钥(双向验证则此处客户端也会向服务器发送证书)。

     4)服务器生成会话密钥(双向验证此处服务端也会对客户端的证书验证)。

     5)客户端与服务端开始进行加密会话。

 

 

1. 客户端请求服务端(随机数R1,支持的加密算法和哈希算法)

2. 服务器返回给客户端(随机数R2,自己的证书,证书里包含公钥机构,选用哪个加密算法和哈希算法用于后续的会话密钥的生成)

3. 客户端校验证书(浏览器内置的TSL完成)

  a. 从内置的证书列表中找到这个机构,然后从证书里面取出公钥,网址,有效期等

  b. 验证证书的合法性和有效性,用公钥进行解密,查看有效期

  c. 生成随机数R3,使用R1,R2,R3及选用的算法,生成会话密钥

  d. 将R3返回给服务端

4. 服务端根据R1,R2,R3及选用的算法,生成会话密钥

5. 使用会话密钥进行加密通信

 

非对称加密算法(一对公钥私钥,公钥加密私钥解密,私钥加密公钥解密):RSA、DSA/DSS、Elgamal、Rabin、D-H、ECC等

对称加密算法:有AES、DES、3DES、TDEA、Blowfish、RC4、RC5、IDEA等。

HASH算法:有MD5,SHA1,SHA256。用于数据完整性校验

数字证书:包含证书发布机构,证书有效期,公钥,证书所有者,签名使用的算法,指纹以及指纹算法。数字证书可以保证里面的公钥一定是证书持有者的。

数字签名:将明文通过Hash算法加密生成摘要,再将消息体和摘要用私钥加密后就是签名了。

 

优点:   安全可靠

缺点: 慢,耗资源,要钱

      1、HTTPS 由于使用了 SSL(包括 TLS) 而变得安全可靠,但是 SSL 由于要进行加密处理会导致整个通信变慢,频繁的加密、解密会消耗服务端和客户端的硬件资源。

      2、SSL 不仅会导致通信慢,还会由于大量消耗 CPU 和内存等资源,导致整个处理速度变慢,和 HTTP 相比,网络负载可能可能会变慢 2 到 100 倍

      3、如果使用了 HTTPS,那就意味着要增加硬件成本,此外从数字认证机构购买证书也是需要开销的。

 

参考 https://www.cnblogs.com/hld123/p/15255526.html

标签:公钥,加密,证书,会话,HTTPS,过程,服务端,客户端
From: https://www.cnblogs.com/huainanyin/p/17182938.html

相关文章

  • 重新记录一下ArcGisEngine安装的过程
    前言好久不用Arcgis,突然发现想用时,有点不会安装了,所以这里记录一下安装过程。下载Arcgis首先,下载一个arcgis版本,我这里下的是10.1。推荐【gis思维(公众号)】,【麻辣GIS(网站)】。当然了,这都是很旧很旧的版本了,基本上没有三维功能。一定要下载带注册机的。arcgis的压缩包包含3......
  • 阿里云ECS图片资源迁移OSS操作全过程
    1、开通OSS设置bucket,绑定域名,获取accessKeyId和AccessKeySecret,授权OSSFULLACCESS 2、迁移图片您好,这里建议您使用ossutil工具进行上传下载,该工具支持断点续传、文件分片、多文件同时上传等下载和配置https://help.aliyun.com/zh/oss/developer-reference/install-ossut......
  • 【OpenFeign】@FeignClient 注入过程源码分析
    1 前言微服务之间的调用,OpenFeign是一种选择,并且还提供了很多功能,比如我们有多个节点,它能负载均衡,当服务发生异常时,它还能提供熔断机制。所以它是怎么实现的,因为我们平时只需要写@FeignClient是个接口,所以它势必会走代理,所以是不是要从我们的@FeignClient 下手。那么这节......
  • JMeter压测存储过程
    背景压测后端接口时性能表现不佳,而恰好这个接口是调用DB存储过程进行处理数据,可以分别对存储过程和后端接口进行压测,并对比性能数据,了解分析性能瓶颈。前置下载:mysql-connector-j-8.3.0.jar,放置到jmeter\lib\ext目录下注:测试不同的数据库下载不同的jar包引入jmeter配置执行......
  • Java调用python服务接口https遇到证书问题的具体解决
    是这样的,大概前一段时间做过一个业务,一直没有记录下来就是我们的算法部,封装好了一系列的算法,然后是python写的。而我们需要用Java去调用他们的方法。如何处理这个问题呢就是我在python里面写了一个rest-api,暴露出几个接口,供Java这边调。但是不知道为什么算法部当时那边弄了个......
  • npm安装ionic出现异常:request to https://registry.npm.taobao.org/@ionic%2fcli fail
    异常: 异常是淘宝镜像过期了,现在淘宝镜像从https://registry.npm.taobao.org/换成了 https://registry.npmmirror.com查看npm的配置,查看淘宝镜像地址npmconfiglist 更换镜像地址npmconfigsetregistryhttps://registry.npmmirror.com再次运行ionic的安装命令成......
  • | [0/8] Installing [email protected][npminstall:get] retry GET https://registry.npm.tao
    昨天用开源项目UIRecorder初始化时报错,查看日志发现是淘宝的源证书过期,如下:PSE:\20231213\uirecorder\uirecorder_test>PSE:\20231213\uirecorder\uirecorder_test>uirecorderinit____________......
  • 【PINet车道线检测】代码复现过程
    《KeyPointsEstimationandPointInstanceSegmentationApproachforLaneDetection》论文:https://arxiv.org/abs/2002.06604代码:GitHub-koyeongmin/PINet论文解读:http://t.csdnimg.cn/AOV91这是篇关于自动驾驶中车道检测技术的研究论文,标题为“KeyPointsEstimati......
  • 软件工程 第二章 过程模型
    软件工程第二章过程模型通用过程模型通用过程框架:框架活动:沟通,策划,建模,构建,部署普适性活动:项目跟踪控制,风向管理,质量保证,配置管理,技术评审等常见的过程流(processflow):线性过程流(linearprocessflow)迭代过程流(iterativeprocessflow)演化过程流(e......
  • MySQL 视图、事件、函数、储存过程
    正文视图https://blog.csdn.net/moxigandashu/article/details/63254901事件(类似定时任务)https://zhuanlan.zhihu.com/p/450454992函数https://www.cnblogs.com/zhangminghui/p/4113160.html储存过程(处理复杂逻辑)https://blog.csdn.net/whf_a/article/details/114871866......