深入剖析http内涵 http下载是什么( 四 )
窃听风险,比如通信链路上可以获取通信内容,用户号容易没 。篡改风险,比如强制入垃圾广告,视觉污染,用户眼容易瞎 。冒充风险,比如冒充淘宝网站,用户钱容易没 。在HTTP和TCP层之间增加了SSL/TLS协议 。
HTTP和HTTPS
上述风险可以得到很好的解决:
信息加密:交互信息无法被窃取,但你的号会因为「自身忘记」账号而没 。校验机制:无法篡改通信内容,篡改了就不能正常显示,但百度「竞价排名」依然可以搜索垃圾广告 。身份证书:证明淘宝是真的淘宝网,但你的钱还是会因为「剁手」而没 。可见,SSL/TLS协议只要不作恶,就能保证通信的安全性 。
HTTPS如何解决上述三种风险?
混合加密的方式实现信息的机密性,解决了窃听的风险 。摘要算法的方式来实现完整性,它能够为数据生成独一无二的「指纹」,指纹用于校验数据的完整性,解决了篡改的风险 。将服务器公钥放入到数字证书中,解决了冒充的风险 。①混合加密
通过混合加密的方式,可以保证信息的机密性,解决窃听的风险 。
混合加密
HTTPS采用对称加密和非对称加密相结合的“混合加密”方法:
在通信建立前采用非对称加密的方式交换「会话秘钥」,后续就不再使用非对称加密 。在通信过程中全部使用对称加密的「会话秘钥」的方式加密明文数据 。采用“混合加密”的原因:
对称加密只使用一个密钥,运算速度快,密钥必须保密,无法做到安全的密钥交换 。非对称加密使用两个密钥:公钥和私钥,公钥可以任意分发而私钥保密,解决了密钥交换问题但速度慢 。②汇总算法
该算法用于实现完整性,可以为数据生成唯一的“指纹”,用于检查数据的完整性,并解决篡改的风险 。
检查完整性
在发送明文之前,客户端会通过摘要算法计算出明文的“指纹” 。发送的时候,它会把“指纹+明文”一起加密成一个秘密文本,然后发送给服务器 。服务器解密后,会计算出相同摘要算法发送的明文 。通过将客户端携带的“指纹”与当前计算的“指纹”进行对比,如果指纹相同,则说明数据完整 。
③数字证书
客户端首先向服务器请求公钥,然后用公钥加密信息 。服务器收到密文后,用自己的私钥解密 。
有一些问题 。如何保证公钥不被篡改,不被信任?因此,需要借助第三方权威机构CA(数字证书颁发机构)将服务器公钥放入数字证书(由数字证书颁发机构颁发)中 。只要证书可信,公钥就是可信的 。
数字证书工作流程
通过数字证书,保证了服务器公钥的身份,解决了冒名顶替的风险 。
HTTPS如何建立联系?你和什么互动了?SSL/TLS协议的基本流程:
客户端向服务器索要并验证服务器的公钥 。双方协商生产「会话秘钥」 。双方采用「会话秘钥」进行加密通信 。前两步是SSL/TLS的建立过程,也就是握手阶段 。SSL/TLS的握手阶段涉及四次通信,如下图所示:
HTTPS连接建立过程
建立SSL/TLS协议的详细过程:
①ClientHello
首先,客户端向服务器发起加密通信请求,即ClientHello请求 。
在这一步中,客户端主要向服务器发送以下信息:
客户端支持的 SSL/TLS 协议版本,如 TLS 1.2 版本 。客户端生产的随机数(Client Random),后面用于生产「会话秘钥」 。客户端支持的密码套件列表,如 RSA 加密算法 。②SeverHello
服务器收到客户端请求后,向客户端发送响应,即SeverHello 。
服务器响应的内容如下:
确认 SSL/ TLS 协议版本,如果浏览器不支持,则关闭加密通信 。服务器生产的随机数(Server Random),后面用于生产「会话秘钥」 。确认的密码套件列表,如 RSA 加密算法 。服务器的数字证书 。③客户反应
客户端收到服务器的响应后,首先在浏览器或操作系统中通过CA公钥确认服务器的数字证书的真实性 。
如果证书没有问题,客户端将从数字证书中取出服务器的公钥,然后用它来加密消息,并将以下信息发送给服务器:
一个随机数(pre-master key) 。该随机数会被服务器公钥加密 。加密通信算法改变通知,表示随后的信息都将用「会话秘钥」加密通信 。客户端握手结束通知,表示客户端的握手阶段已经结束 。这一项同时把之前所有内容的发生的数据做个摘要,用来供服务端校验 。上面第一项中的随机数是整个握手阶段的第三个随机数,这样服务器和客户端同时拥有三个随机数,然后使用双方协商的加密算法生成本次通信的“会话密钥” 。
推荐阅读
- 深入解析其内涵 创业联盟是干什么的
- 深入剖析MD5的作用 md5校验工具怎么用
- 谷歌搜索即将启用HTTP/2 方式抓取网页内容
- 深入解读品牌推广方法 怎样推广品牌
- 深入解剖整合推广内涵 整合推广什么意思
- 深入解读百度免费推广法 百度免费推广有哪些方式
- 深入解析组态软件详情 什么是组态软件有哪些特点
- 深入解剖互联网运营详情 互联网运营是什么
- 深入解析SEO推广团队体系 网站推广团队
- 深入解剖煤矿六大系统及供水施救 煤矿六大系统是什么的呢