zoukankan      html  css  js  c++  java
  • 计算机网络之HTTPS协议

    • HTTPS协议是以安全为目的的HTTP通道,比单纯的HTTP协议更安全,相当于HTTP的升级版。
    • HTTPS的安全基础为SSL,就是在HTTP下加入SSL层,意思是HTTPS通过安全传输机制进行数据传输,这种机制可以保护网络发送的所有数据的隐秘性和完整性,降低非侵入性拦截攻击的可能性。
    HTTPS是在HTTP的基础上进行构建的,所以他们的基本工作原理是相同的,但他们还是有一些区别的


    实现过程
    1.浏览器发送ClientHello
    其中包含了浏览器支持的TSL协议的版本,支持的加密算法,压缩算法等。同时浏览器端生成一个随机数,一起发送给服务器。

    2.服务器返回ServerHello
    (1)确认TSL协议版本,确定一个双方都支持的加密算法
    (2)发送服务器的证书,发送一个服务器端生成的随机数。(如果访问的网站出于安全性的考虑,要求访问者也提供证书的话会在这一步发出请求。)

    3.浏览器拿到证书后验证该证书是否是可信任的,如果证书可信任,那么其中的公钥也是可信的。
    (1)浏览器生成第三个随机数 pre key,将pre key使用服务器的公钥加密,发送回服务器
    (2)编码改变通知,告知服务器接下来将使用选择的加密算法进行加密通信
    (3)将此前发送过的所有信息的摘要加密后发送给服务器,供服务器进行加密通道验证。最后发出客户端握手阶段结束信号。

    4.服务器接收到对方发来的pre key后,此时通信双方都拥有了三个随机数(前两个是明文发送的,第三个pre key 是非对称加密发送的),由这三个随机数双方可以计算得到两个相同的对称密钥,服务器使用这一密钥验证加密通道后,向客户端发送服务器发出:
    (1)编码改变通知:告知接下来的通信将使用加密通信
    (2)服务器握手阶段结束信号。

    至此握手阶段结束,双方接下来使用普通的http协议进行通信,由三个随机数生成的对称密钥加密内容。

    1.整个过程中靠证书体系为通信双方提供身份信任。
    2.通信双方共生成了三个随机数能最大限度地避免伪随机,保证了生成的对称密钥难以被暴力破解。
    3.第三个随机数的传输使用非对称加密,保证了双方对称密钥的私密性。
    4.整个通信中,只有pre key的发送使用了非对称加密,之后的加密通信都采用对称加密,最大限度地保证了通信效率。

  • 相关阅读:
    HTML学习笔记
    "IIS无法启动"问题解决方法
    NET访问MySQl数据库中文乱码解决
    珍爱生命,远离肥胖,远离过劳死
    Bcp 命令注意事项
    阿里云万郁香:多样付费选择构筑成本最优的弹性体验
    性能提升40%!阿里云神龙大数据加速引擎获TPCxBB世界排名第一
    阿里云王志坤:强劲可靠、无处不在的云,为创新保驾护航
    发现新视界——视觉计算将如何改变生产方式
    Soul运维总监尤首智:企业如何从0到1建设云上运维体系
  • 原文地址:https://www.cnblogs.com/lzlzzzzzz/p/13044285.html
Copyright © 2011-2022 走看看