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

网站制作千知寻重庆seo排名软件

网站制作千知寻,重庆seo排名软件,网页制作代码html和css,建设法规 课程网站前言 上篇博文介绍了HTTP协议(Java EE(18)——网络原理——应用层HTTP协议),这篇篇博文在了解HTTP协议的基础上再介绍HTTPS协议 1.什么是HTTPS协议? HTTPS协议是一种通过计算机网络进行安全通信的协议。它是HTTP协议的安全版本,在HTTP协议…

前言

上篇博文介绍了HTTP协议(Java EE(18)——网络原理——应用层HTTP协议),这篇篇博文在了解HTTP协议的基础上再介绍HTTPS协议

1.什么是HTTPS协议?

HTTPS协议是一种通过计算机网络进行安全通信的协议。它是HTTP协议的安全版本,在HTTP协议的基础上加入SSL/TLS加密层来实现数据的安全传输,在传输层的默认端口号是443。HTTP该有的特性HTTPS也有

2.理解加密

2.1概念

加密是将明文(可直接理解的信息)转换为密文(不可直接理解的信息)的过程,以保证信息的机密性、完整性和真实性。在加密和解密的过程中,就需要额外的数据来辅助,这样的数据就叫做密钥。下面举个例子来直观的感受一下加密和解密的过程:
在《火烧圆明园》影视剧中,有这么一个场景:有人要尝试干掉慈禧太后,恭亲王奕想递个折子给慈禧太后通风报信,由于慈溪太后身边耳目太多,所以恭亲王就使用了一些手段来加密折子。

加密过程如下

在这里插入图片描述
恭亲王还递了一张纸,这张纸上面挖了几个小孔
在这里插入图片描述
将这张纸盖在原折子上面,就是恭亲王要说的话:当心肃顺,端华,戴恒。
以上过程中:明文就是折子上的内容,密文就是纸盖住后折子上的内容,密钥是挖了小孔的纸

2.2常见的加密方式

加密一般分为对称加密非对称加密

2.2.1对称加密

对称加密:加密和解密使用相同的密钥

使用异或操作就可以实现一个简单的对称加密:
设置明文为1234,密钥为8888。通过密钥加密后的密文是1234^8888=9834,当密文到达接收方后,再用密钥进行
解密,9834^8888=1234,把密文还原

当然实际情况中的对称加密算法肯定比单纯的异或操作复杂很多
使用对称加密来传输数据:
在这里插入图片描述
这样传输数据貌似没问题,即使黑客抓取到了密文也无法解密。但问题是,客户端和服务器之间的密钥如何约定,毕竟一个服务器对应多个客户端,每个客户端都需要单独的密钥(如果所有客户端都使用同一个密钥,一旦被破解,损失就大了)。
所以,在客户端和服务器正式通信之前,客户端需要生成一个密钥并告诉给服务器,服务器保存对应客户端的密钥即可
在这里插入图片描述
以上加密传输有一个巨大漏洞,密钥是明文传输的,一旦被黑客获取到,那么后面的加密请求和相应就形同虚设。为了解决上述问题,就引入了非对称加密

2.2.2非对称加密

非对称加密:加密和解密使用一对公钥和私钥。可以用公钥加密,私钥解密,也可以用私钥加密,公钥解密。公钥可以对外公开,而私钥必须保密
使用非对称加密来传输数据:
大体流程:由服务器生成一对公钥(用于加密)和私钥(用于解密),服务器将公钥传输给客户端。客户端生成一个对称密钥,用公钥加密后传输给服务器,服务器接收到对称密钥后返回响应给客户端。从此以后客户端和服务器通信都使用对称密钥来进行加密
为什么不一直使用非对称加密?

因为非对称加密的成本远远高于对称加密,传输少量数据还可以胜任,但客户端和
服务器之间往往需要传输大量数据,如果一直使用非对称加密会大大降低传输效率

在这里插入图片描述
上述操作通过非对称加密能够安全地将对称密钥交给服务器,这个过程中黑客即便进行抓包也无法获取到真正的密钥。但即便通过非对称加密,黑客还是有办法进行破解,那就是中间人攻击问题

2.3中间人攻击问题

服务器生成一对公钥A和私钥A,服务器将公钥A发送给客户端。此时黑客也生成一对公钥B和私钥B,在公钥A经过黑客的路由器时,黑客将公钥A替换成公钥B并发送给客户端。客户端使用公钥B将对称密钥加密后发送给服务器,黑客拥有私钥B,所以能够获取到对称密钥,将对称密钥用公钥A加密后发送给服务器。服务器一看,对称密钥是用公钥A加密的,也不会察觉到问题,返回响应给客户端。从这一刻开始,客户端和服务器都拿到了对称密钥(当然黑客也拿到了,只是客户端和服务器不知道对称密钥已经泄露),此后通过对称加密来通信,但在黑客面前形同虚设。
仔细分析上述黑客的操作,黑客至始至终都没有拿到私钥A,但获取到了对称密钥
在这里插入图片描述
问题在于服务器和客户端无法感知到中间被黑客动了手脚。所以单纯的使用非对称加密,还需要保证以下两个条件:

  1.  客户端获取到的公钥是服务器传过来的公钥
    
  2.  客户端能识别当前这个公钥是不是黑客伪造的
    

为了解决上述问题,就引入了证书机制

2.4证书

2.4.1证书包含的重要信息

1.证书的颁发机构
2.证书持有者(服务器)的公钥
3.证书有效时间
4.证书持有者的信息
5.数字签名(被公证机构的私钥加密)

2.4.2证书引入流程

  1. 服务器生成公钥A和私钥A
  2. 服务器向第三方公证机构申请证书
  3. 证书(包含公钥A)申请成功后返回给服务器
  4. 服务器向客户端发送证书
  5. 客户端拿到证书,将证书中的数据进行哈希计算,得到hash1,再使用公证机构的公钥解密数字签名得到hash2,对比hash1和hash2以验证证书合法性
  6. 客户端验证成功后使用公钥A加密对称密钥并发送给服务器
  7. 服务器拿到对称密钥后返回响应给客户端,确定此后通信通过对称密钥来加密
    在这里插入图片描述

问题1:黑客能拿到证书中的公钥A吗?
答案:是可以的,证书的侧重点是防修改
问题2:黑客能修改证书数据吗?
答案:不能。一旦修改客户端计算出的hash值和解密数字签名得到的hash值不一样
问题3:黑客能伪造证书发给客户端吗?
答案:不能。客户端内置了公证机构的公钥,该公钥无法解密黑客的伪证书,客户端也能发现问题

2.5HTTPS加密过程中涉及到的三组密钥

第一组(非对称加密):用于校验证书是否被篡改,服务器持有私钥(在申请证书时获得),客户端持有公钥(操作系统中包含了可信任的CA机构有哪些,同时包含了对应的公钥)。服务器在客户端请求时,返回携带签名的证书,客户端通过公钥对证书进行验证,保证证书的合法性

第二组(非对称加密):服务器生成的公钥(包含在证书里)和私钥(仅服务器持有),护送客户端的对称密钥到达服务器

第三组(对称加密):客户端和服务器后续通信都使用该密钥加密

http://www.dtcms.com/wzjs/359464.html

相关文章:

  • 设置网站建设产品推广朋友圈文案
  • 如何用ai给网站做logo优化排名软件
  • 河北建设厅安监站官方网站营销网站建设软件下载
  • 商城网站建设行情太原seo外包服务
  • 贵阳app开发定制深圳市网络seo推广平台
  • 新干做网站剪辑培训班一般学费多少
  • 福建住建设厅官方网站推广系统
  • 怎么做网站不用备案市场营销四大基本策略
  • 平面设计培训网站百度广告服务商
  • 九江网站建设360网站收录提交入口
  • 学做网站论坛vip视频电脑培训学校排名
  • 做网站购买什么软件推销广告
  • 做网站记什么科目微信软文模板
  • 电子商务网站流程图上海网站排名优化公司
  • wordpress qq头像如何网页优化
  • 购物平台网站建设流程宁波seo推广
  • 申请政府网站群建设资金的seo优化上首页
  • 思茅北京网站建设美国婚恋网站排名
  • wordpress可以关闭不seo技术培训价格表
  • 网站建设需要提供什么东西聚合搜索引擎
  • 南宁网站建设索王道下拉人力资源短期培训班
  • 用护卫神做共享网站最大免费发布平台
  • 专业的网站建设设计价格百度手机端排名
  • 做网站需要下载哪些软件职业培训机构哪家最好
  • 创建一个网站 站点根文件夹为seo优化思路
  • 最好的网站建设公司有哪些百度竞价价格
  • 网站建设 APP开发销售怎么做新公司如何做推广
  • 做暧小说在线观看网站如何优化关键词的排名
  • 网站后台日志网络广告营销方案策划内容
  • 做网站的带宽多少钱网络销售培训学校