JavaWeb——HTTPS的加密流程

这篇具有很好参考价值的文章主要介绍了JavaWeb——HTTPS的加密流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、使用对称加密

1、定义

2、加密/解密过程 

二、使用非对称加密

1、对称加密弱点

2、非对称加密过程

(1)、定义

(2)、加密/解密过程

三、使用证书加密

1、非对称加密弱点

2、使用证书加密过程

(1)、定义

(2)、加密/解密过程


一、使用对称加密

1、定义

只有一个密钥key,加密和解密都使用同一个密钥,速度较快。 

JavaWeb——HTTPS的加密流程,JavaWeb,web

客户端生成自己的密钥后,将key通过网络发送给服务端用于加密和解密。

2、加密/解密过程 

  • 客户端:明文+key=>密文
  • 服务器:密文+key=>明文

JavaWeb——HTTPS的加密流程,JavaWeb,web

客户端通过key针对要发送的数据进行加密,然后将密文通过网络传输给服务器

服务器通过key针对接收的数据进行解密,然后获取到真实数据。

此时如果黑客没有密钥key,即使拿到密文也无法读取或篡改,信息安全得到保障。

注:

服务器对应的客户端很多个,不同的客户端使用的密钥不相同。

二、使用非对称加密

1、对称加密弱点

JavaWeb——HTTPS的加密流程,JavaWeb,web

客户端生成了自己的密钥后,通过网络把key发送给服务器,但是这个数据报也可能会被黑客截获。此时黑客就获取了密钥key可以破解/加密密文。因此对于这种弱点就需要引入非对称加密的方法来解决。

2、非对称加密过程

(1)、定义

为了保证对称密钥能够安全到达服务器,我们便引入了非对称加密用来保护对称密钥,非对称加密在对称密钥传输完成后就可以不再使用。因此客户端和服务器的业务数据传输本质上仍然是使用对称加密的方式,

(2)、加密/解密过程

服务器生成两个密钥:公钥(pub)和私钥(pri)

  • 明文+pub=>密文
  • 密文+pri=>明文

JavaWeb——HTTPS的加密流程,JavaWeb,web

此时当黑客拿到被pub加密的key时,由于没有和pub配对的私钥pri,因此黑客无法解密拿不到key,于是就无法针对密文进行解析和篡改。

三、使用证书加密

1、非对称加密弱点

JavaWeb——HTTPS的加密流程,JavaWeb,web

针对非对称加密进而发展出了中间人攻击:

  • 黑客自主生成一对非对称密钥pri2和pub2
  • 截获并记住客户端发送的公钥pub后,将自己生成的pub2发送给客户端
  • 黑客接收到客户端发送的密文后,使用自己的pri2针对密文进行解密并拿到key
  • 接着使用服务器的pub对key进行加密并把密文发送给服务器

2、使用证书加密过程

(1)、定义

中间人攻击破解的关键在于让客户端能够信任公钥,因此我们可以使用证书来保证公钥的正确性。

证书:

  • 明文部分:服务器的url、证书的过期时间、颁布证书的机构、服务器的公钥pub......
  • 密文部分:签名

签名的加密是先针对证书的所有属性计算一个效验和即签名,再由证书颁布机构使用自己的私钥对这个签名进行加密。

如果没有被使用中间人攻击,按照相同的算法计算得到的签名也一定是相同的,反之如果签名不同就说明原始的数据一定发生过改变。

此时黑客是无法篡改证书的:

  • 获取到证书后使用客户端内置的公钥解密,然后将证书中服务器的公钥替换成自己的公钥
  • 接着针对证书中的各个属性重新计算签名
  • 最后黑客需要把签名重新加密,但是加密的私钥只有权威机构才拥有,所以无法重新加密,因此篡改不了。

(2)、加密/解密过程

JavaWeb——HTTPS的加密流程,JavaWeb,web

客户端拿到证书后针对证书进行效验:

  • 得到初始的签名sum1:客户端使用系统中内置的权威机构的公钥pub2,针对上述证书中的加密签名进行解密得到初始签名
  • 计算现在的签名sum2:客户端使用相同签名计算的算法,通过证书中的属性重新计算得到sum2
  • 判断数据是否被篡改:比较两个签名sum1和sum2是否相同,如果相同说明证书中的数据都是未被篡改过的原始数据,密钥可以使用;如果签名不同说明证书的数据被篡改过,密钥无法使用

注:上述流程的对称加密+非对称加密+证书的过程就是HTTPS=HTTP+SSL文章来源地址https://www.toymoban.com/news/detail-540202.html

到了这里,关于JavaWeb——HTTPS的加密流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HTTPS 加密解密大致流程

    HTTPS简介 在我们开始配置之前,让我们先了解一下HTTPS和它的重要性。 为什么选择HTTPS? 加密传输 :通过SSL/TLS协议,确保数据在传输过程中不被窃听。 认证身份 :确保 客户端与预期的服务器通信 ,防止中间人攻击。 数据完整性 :保证数据在传输过程中未被篡改。 彻底搞

    2024年04月25日
    浏览(53)
  • 关于https的加密流程简介(图解)

    目录 对称加密: 非对称加密 在网络发展的初阶,为了保护数据安全,防止黑客攻击,我们发明了对称加密 即一把秘钥,客户端和服务器通过这把钥匙对数据进行加密/解密 理想情况下,只要没有人能获取我的秘钥,那么我的数据就是非常安全,没有人能够知道里面的内容

    2024年02月13日
    浏览(39)
  • 【应用层协议】HTTPS的加密流程

    目录 一、认识HTTPS 二、密文 1、对称加密 2、非对称加密 三、HTTPS加密流程 1、建立连接 2、证书验证 3、密钥协商 4、数据传输 5、关闭连接 总结 在数字化时代,互联网已经成为我们生活和工作中不可或缺的一部分。然而,随着数据的不断增加,网络安全问题也日益凸显。为

    2024年02月07日
    浏览(42)
  • HTTPS的认证和加密流程,超详细!!

    1、服务器生成自己的 私钥A 和 公钥A 2、服务器将 公钥A 和服务器域名等相关信息,发送给认证机构 3、认证机构生成自己的 私钥B 和 公钥B ,并用自己的 私钥B 对服务器发送来的信息进行加密, 生成服务器A的证书 ,发送给服务器 4、认证机构将自己的 公钥B 发给的浏览器

    2024年02月13日
    浏览(40)
  • JavaWeb核心、综合案例(详细!Web开发流程)

    目录 案例说明 一、创建MavenWeb项目 二、导入相关依赖 1、导入maven编译插件 2、导入tomacat插件 3、导入servlet依赖 4、导入druid数据库连接池依赖 5、导入mysql依赖 6、导入mybatis依赖 7、导入junit依赖 8、导入mybatis核心配置文件mybatis-config.xml 三、使用Mapper代理 导入MySql映射文件 X

    2024年02月04日
    浏览(43)
  • 【Java EE】-HTTP请求构造以及HTTPS的加密流程

    作者 :学Java的冬瓜 博客主页 :☀冬瓜的主页🌙 专栏 :【JavaEE】 分享 : 在满园弥漫的沉静的光芒之前,一个人更容易看到时间,并看到自己的身影。——史铁生《我与地坛》 主要内容 :构造http请求,不需要写代码直接发送http请求:地址栏输入地址,html中 img标签,scri

    2024年02月02日
    浏览(44)
  • JavaWeb - Web网站的组成,工作流程以及开发模式

    Web:全球广域网,也称玩万维网(www Wrold Wide Web),就是能够通过浏览器访问的网站 学习Web开发,其实就是要使用Java这门语言来开发这样的Web网站,这也是现在Java语言最主流的企业级应用方式。 使用Java语言开发的网站有很多,比如像淘宝,京东,唯品会这样的电商系统,还有

    2023年04月13日
    浏览(52)
  • HTTP 和 HTTPS(请求响应报文格式 + 请求方法 + 响应状态码 + HTTPS 加密流程 + Cookie 和 Session)

    HTTP 全称 “ 超文本传输协议 ”,是一种基于传输层 TCP 协议实现的应用非常广泛的 应用层协议 我们平时打开一个网站,就是通过 HTTP 协议来传输数据的 当我们在浏览器中访问一个 “ 网址 ”(URL),浏览器就会给这个 URL 的服务器发送一个 HTTP 请求,服务器返回一个 HTTP 响

    2023年04月19日
    浏览(44)
  • 搭建一个JavaWeb项目流程详解

    本文致力于,让编程者一步步明白书写一个JavaWeb项目应该做些什么,梳理清楚流程框架,需要的jar包,同时手写了一个分页工具类也在其中,让你在编程中更加丝滑。 删除系统默认生成的 HelloServlet.java DruidTools.java 需要在 lib 中加入 druid-1.1.22.jar Pagination.java 分页,封装好了方

    2024年01月20日
    浏览(36)
  • 【Https协议】http的孪生兄弟,你了解多少呢,认识Https,Https工作原理之对称加密与非对称加密

    前言: 大家好,我是 良辰丫 ,这篇文章我们就来学习一下Https协议,了解Https的工作原理,对称加密以及非对称加密.💞💞💞 🧑个人主页:良辰针不戳 📖所属专栏:javaEE初阶 🍎励志语句:生活也许会让我们遍体鳞伤,但最终这些伤口会成为我们一辈子的财富。 💦期待大家三

    2024年02月10日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包