首页 > 其他分享 >HTTPS解加密过程总结

HTTPS解加密过程总结

时间:2022-08-21 15:46:40浏览次数:75  
标签:总结 公钥 加密 CA 密钥 HTTPS 服务器 客户端

HTTPS用于解决HTTP不安全的问题。解决办法是加了一层SSL的建立过程,建立过程大概如下。

1.客户端向服务器发起访问。

2.服务器收到后,向CA机构发送公钥,CA机构向服务器颁发CA数字证书,其中包含了服务器的公钥。服务器讲CA证书发送给客户端。

3.客户端收到CA证书后,得到服务器的公钥,并生成一个随机的密钥,利用公钥进行加密,并发送给服务器。

4.服务器收到后用私钥进行解密,得到客户端生成的密钥,往后都是通过这个密钥进行加密通信。

 

因为私钥只有服务器有,所以密钥只有客户端和服务端知道,保证了安全。此外,这个过程称为非对称加密,在后续的过程中都用同一个密匙通信,成为加密通信。

 

中间人攻击:

  加入在服务器发送CA证书时,被中间人拦截,中间人讲服务器公钥K1变为自己的K2发送给客户端,客户端不知道被拦截,讲密钥用K2加密发送给服务端,中间人拦截利用自己的私钥解密得到密钥,并且利用服务器公钥K1加密发送给服务器,此时密钥就被中间人知道了。

如何解决呢?

  关键在于如何保证CA证书一定是服务器发的。CA机构在颁发证书时,会用自己的私钥对一段消息进行加签,并且把结果和消息都放进证书里,客户端收到CA证书后,会用CA机构的公钥进行解签,如果结果跟消息不一样说明该证书被篡改了。因为私钥只有CA机构知道,所以保证了中间人无法篡改。

标签:总结,公钥,加密,CA,密钥,HTTPS,服务器,客户端
From: https://www.cnblogs.com/benbicao/p/16610079.html

相关文章

  • 【博学谷学习记录】超强总结,用心分享。 Spring核心容器
    SpringFramework系统架构一.核心容器1.概念:代码书写现状:耦合度偏高解决方法:使用对象时,在程序中不要主动使用n......
  • 新人使用Gorm的踩坑总结
    在使用Update更新数据时一定要将where条件放在update前面,否则where不会生效,将更新所有数据正确的写法//条件更新db.Model(&User{}).Where("id=?",ID).Update("name",......
  • 利用加密协议进行挖矿的样本分析
    https://app.any.run/tasks/a11a56a6-3fa6-40f4-995d-8fbde7e91125/# 命令行:[email protected]+ssl://xmr.pool.minergate.com:45700:savana1......
  • Guava常用工具类总结
    Guava常用工具类总结-"我想写得更优雅,可是没人告诉我怎么写得更优雅"-"Null的含糊语义让人很不舒服。Null很少可以明确地表示某种语义,例如,Map.get(key)返回Null时,可能表......
  • 牛客网笔试输入输出处理方法总结(基于Python3.5)
    牛客网判题系统输入处理牛客网上的输入输出借鉴ACM模式给出,对于习惯了leetcode函数定义形式解题的小伙伴们来说确实比较生疏。为了避免在之后的笔试中再次吃亏,在这里对牛......
  • Sqlite Expert Professional 如何打开加密数据库【转】
    最近要使用个安全的轻量级的数据库,最终选择了SQLITE,好不容上手了,突然发现查询的数据不对头。想着用个工具看看,就下载了SqliteExpertProfessional5.4试试。结果还是打不......
  • 多线程.总结
    packageoop.dxcgaoji;importcom.sun.org.apache.xpath.internal.functions.FuncTrue;importjava.util.concurrent.Callable;importjava.util.concurrent.ExecutionExce......
  • 2022年8月21日周六总结(maven install和package的区别未完成)
    最近做了nexus的配置,突然发现maven也很重要,我们平时会在idea用到clear、install、package等,package毫无疑问就是打包jar包了(在maven中定义了),这个打包会把 最近:这里记录......
  • MySQL使用总结
    最近在做一个数据迁移的项目,把mysql数据库中的数据迁移到SqlServer数据库中。在这里记录一下最近遇到的一些问题。一、MySQL中没有top 在MySQL中没有top查询,但是可以使......
  • 软件工程周总结
    在正式编写第一个Python程序前,我们先复习一下什么是命令行模式和Python交互模式。命令行模式在Windows开始菜单选择“命令提示符”,就进入到命令行模式,它的提示符类似C:\>......