• 计算机网络的故事——确保Web安全的Https


    确保Web安全的Https


    一、HTTP 的缺点

    1、明文传输
    通信加密,HTTP协议中没有加密机制,但是可以通过SSL(Secure Socket Layer,安全套接字层)或TLE(Transport Layer Security安全层传输协议)的组合使用,加密HTTP的通信内容
    在这里插入图片描述
    2、不验证通信方的身份(可能会遭到伪装)
    内容加密:将HTTP报文里所含的内容进行加密之后进行传输
    HTTP带来的问题:任何人都可以发起请求客户端和服务器无法真正的确定对方,有可能是被伪装的。
    查明对手的证书,证书由第三方机构颁发,用来证明服务器和客户端实际存在的,通过证书可以证明服务器,客户端持有证书也可以完成个人身份的确认
    在这里插入图片描述
    3、无法证明报文的完整性(可能会被篡改)
    无法证明报文的完整性,可能已经被篡改。虽然使用HTTP协议有确定报文的完整性算法的方法,但事实上并不便捷可靠。其中常用的是MD5和SHA-1等散列值校验方法,以及用确认文件的数字签名方法。

    二、HTTP+ 加密 + 认证 + 完整性保护 =HTTPS

    HTTPS是身披SSL外壳的HTTP
    在这里插入图片描述
    相互交换密钥的公开密钥加密技术:SSL采用的是公开密钥加密的加密处理方式。
    共享密钥加密的困境:客户端和服务器端共享密钥,容易被攻击者窃取。
    使用非对称加密,采用公开密钥加密数据,接受者使用私钥进行解密接收

    HTTPS采用混合加密的方式,在交换密钥的过程中采用公开加密(就是非对称加密),之后建立连接之后使用共享加密(对称加密)。非对称加密效率比对称加密的效率低。

    证明公开密钥正确性的证书,因为客户端无法确定公开密钥是否正确,故存在CA机构
    (Certificate Authority)

    具体流程:服务器会向CA机构申请公开密钥,CA机构会判定申请者身份,对已申请的公开密钥做数字签名,并将该公开密钥放入公钥证书里面。客户端请求服务器时,服务器会将证书发给客户端,客户端拿到证书后会到CA机构做认证,认证之后采用公钥进行加密传输数据。
    在这里插入图片描述


  • 相关阅读:
    用::before伪元素,在文字前面画一个圆形
    CAXA 3D实体设计2024:塑造未来的创新引擎
    oracle connect by详解
    Django模型(一)
    React之如何捕获错误
    Python常用基础语法知识点大全
    整人代码2
    KingbaseES参数track_activity_query_size介绍
    11-k8s-service网络
    2万字一网通办远程视频踏勘建设方案67页
  • 原文地址:https://blog.csdn.net/weixin_45841848/article/details/132702600