dw网站站点正确建设方式,哈尔滨教育学会网站建设,内存优化大师,832贫困地区农副产品网络销售平台日升时奋斗#xff0c;日落时自省 目录
1、加密解释
2、对称加密
3、非对称加密
4、证书 HTTPS#xff08;HyperText Transfer Protocol over Secure Socket Layer#xff09;也是一个应用层协议#xff0c;是在HTTP协议的基础上引入了一个加密层
HTTP协议内容都是按… 日升时奋斗日落时自省 目录
1、加密解释
2、对称加密
3、非对称加密
4、证书 HTTPSHyperText Transfer Protocol over Secure Socket Layer也是一个应用层协议是在HTTP协议的基础上引入了一个加密层
HTTP协议内容都是按照文本的方式明文传输的这就导致子传输过程中出现一些被篡改的情况运营商劫持
运营商劫持例如你想下载一个软件但是但是你点击下载的那一时间突出的下载却不与原内容不符
HTTPS 就如同HTTP 安全层SSL
SSL/TSL用来加密的协议
1、加密解释
网络上明文传输数据很危险就需要加密才能保证安全
加密其实不难理解这里举出一个日常例子如果你想要让普通人看不到你写的字但是你又想让某人看见制作一个加密规则我用笔蘸花露水在纸上写了一些内容等待纸上的水干了字就消失了对方拿到纸后将纸放到水中就显示出来字迹了此处就是进行加密
加密前的数据 就是我用花露水写的内容
加密后的数据 等花露水干了字迹消失 加密成功
拿到密文的数据一张白纸
解密后的数据 将纸放在水中显现纸上内容
这里的密钥 就是 水
2、对称加密
HTTPS其实主要是涉及到其中的SSL部分 SSL不是在HTTPS使用现在我们知道安全传输依赖于加密加密是一种最简单的办法 。这里叫做“对称加密”
加密的过程明文 - 加密(key) -密文
解密的过程密文 - 解密(key) - 明文
这里加密和解密都使用的是同一个密钥 称为 对称加密
对称加密的安全性的前提密钥不能被黑客知道了如果知道不就可以直接获取内容了
为什么能获取内容呢不是加密了吗
产生这么一个问题客户端生成密钥还是服务器生成密钥呢
由于一个服务器对应多个客户端 这些客户端每个人都得有不同的密钥所以客户端生成密钥同时传内容时也给服务器密钥
此处使用一个事例客户端生成一个密钥 客户端就需要把密钥告知服务器 3、非对称加密 客户端生成密钥发送给服务器的过程中被黑客入侵网络设备知道了其中的密文那这样加密很容易就被侵入了所以对称加密 就 仍旧不那么安全
有对称加密 就有 非对称加密
对称加密有问题在传输密钥需要安全的将密钥传输给服务器对密钥加密
注非对称加密是针对对称加密的密钥进行加密
生成一对密钥公钥和私钥私钥可以解密公钥可以通过一系列的公式理论可以推导出来 明文 - 公钥加密 - 密文 使用公钥加密 密文 - 私钥加密 - 明文 使用私钥解密 注该两种密钥可以 反过来 也是可以使用的
公钥是公开的私钥只有服务器这边才有谁也拿不到
试问公钥可以反推私钥吗
答案暂时不行因为计算量太大了当前计算机算不出来计算时间太长可以算做计算不出来 针对上图进行解析
服务器生成一对 公钥和私钥
客户端持有公钥 服务器持有私钥 此时客户端拿着公钥从服务器拿的黑客也能知道公钥但是不能知道私钥服务器肯定不会给的
客户端使用公钥来对对称密钥进行加密传输给服务器服务器就可以拿着自己的私钥来解密得到对称密钥只需要这一次就针对“ 对称密钥 ”加密即可后面客户端和服务器直接就可以直接使用这个对称密钥进行后续传输
试问非对称加密这么安全还要对称加密干啥呢主要是都是非对称加密太慢了行不通 看到非对称密钥那可谓是天衣无缝了
那现在不是就万无一失了其实还是破除当前僵局还是有迹可循的
黑客虽然我破解不了不能以公钥反推私钥解密但是我能既骗你也骗服务器中间人攻击
如何做到中间人针对客户端时 自称为 服务器 针对服务器时 自称为 客户端 4、证书 针对“非对称加密”情况带来的漏洞如何预防
问题主要出在了客户端不能识别服务器的真伪服务器这边有私钥卡着涉及不到服务器的问题解决中间人攻击的关键在于让客户端能够辨别当前这个响应公钥是不是真的是服务器发送来的针对公钥是不是服务器的操作安全产生了“证书”第三方的公证机构相当于是身份认证
服务器创建不是说创建一个公网服务器就创建的需要去专门的认证机构申请证书提供一些资质像身份证一样说明你是一个合法公民审核通过就会给你颁发证书服务器生成的公钥也就包含在这个证书中。
客户端向服务器请求公钥 此时请求的不仅仅是一个公钥而是请求整个证书
客户端拿到证书之后就可以对证书进行校验验证一下证书是不是假的是不是被篡改过
如果发现证书是无效浏览器就会直接弹框警告有些小网站会有这样提示只要你别手点继续访问
证书请求的基本流程 客户端拿到证书以后就可以会证书进行校验证书上面会有一个特定的字段叫做证书的签名 这个签名可以比喻做你在学校以前写请假条的时候班主任亲笔拿给门卫才会放你出校因为门卫会认识学校各个班主任老师的亲笔签名好使
证书 1 客户端可以使用认证机构提供的公钥 进行解密解密之后得到的结果相当于是一个hash值这个hash值类似于tcp udp里校验和根据证书的其他字段综合计算出来的结果 2客户端就可以使用同样的hash算法针对其他字段再算一次hash值得到hash2看看hash从签名中解出来的和hash2客户端自己算的这两值相同说明证书正确有效没有被偷偷更改过 为什么说这样可以做到安全
试问黑客能否把证书给篡改将公钥替换
1一旦替换了公钥就意味着客户端算的hash2和签名解密出来的hash就对不上了客户端就知道此证书是无效的自然就会报出警告
2黑客是不知道认证机构的 私钥即使黑客自己算好了新的篡改后的hash值也无法加密成签名
此处公钥和签名就构成绑定关系有一个修改不了伪装不了就不能获得对称加密的密钥解决了中间人的问题