美文网首页
HTTPS原理如何保证安全问题

HTTPS原理如何保证安全问题

作者: JLong | 来源:发表于2021-02-11 11:30 被阅读0次

    https的SSL加密是在传输层实现的。

    http和https的基本概念

    http: 超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

    https: 是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

    https协议的主要作用是:建立一个信息安全通道,来确保数组的传输,确保网站的真实性。

    SSL加密方式

    加密方式分为对称加密和非对称加密。

    (1)对称加密:使用同一个密钥

    在性能方面,对称密钥更胜一筹,所以可以使用对称密钥。

    但是肯定不能在每次通信中都使用同一个对称密钥,因为如果使用同一个密钥,任何人只要与服务端建立通信就能获得这个密钥,也就可以轻松解密其他通信数据了。所以应该是每次通信都要随机生成。

    (2)非对称加密:不同的密钥

    由于不可能保证客户端和服务端同时生成一个相同的随机密钥,所以生成的随机密钥需要被传输,这样的话在传输过程中也会存在被盗取的风险。

    要解决这个问题还需要通过将密钥加密来进行传输。除了前面提到的对称加密,我们只有非对称加密这个选项了,比如客户端通过公钥来加密,服务端利用私钥来解密。

    (3)证书机制(ca)

    具体来说就是把公钥放入一个证书中,该证书包含服务端的信息,比如颁发者、域名、有效期,为了保证证书是可信的,需要由一个可信的第三方来对证书进行签名。这个第三方一般是证书的颁发机构,也称 CA(Certification Authority,认证中心)。

    证书签名:对证书信息进行MD5计算,获取唯一哈希值,然后利用证书颁发方的私钥加密。

    校验过程:用证书颁发方的公钥进行解密,计算md5值,将解密后的md5跟计算所得的md5比对。

    HTTPS 握手过程

    1 客户端客户端发起握手请求,要求服务器建立SSL连接

    2 web服务器收到客户端请求后, 可以自己制造或者购买一套数字证书(CA),会将网站的证书(包含公钥和私钥)传送一份给客户端

    3 客户端收到网站证书后会检查证书的颁发机构以及过期时间, 如果没有问题就随机产生一个秘钥

    4 客户端利用公钥将秘钥加密, 并传送给服务端, 服务端利用自己的私钥解密出秘钥

    5 之后服务器与客户端使用秘钥加密传输

    相关文章

      网友评论

          本文标题:HTTPS原理如何保证安全问题

          本文链接:https://www.haomeiwen.com/subject/rtzlxltx.html