美文网首页
HTTPS简介

HTTPS简介

作者: 蓝枫zeke | 来源:发表于2017-02-07 10:39 被阅读0次

    一.概述

    HTTP协议属于明文传输协议,交互过程及数据传输都没有进行过加密,通信双方也没有进行身份验证,通信过程非常容易遭到劫持、篡改等安全问题,为了提高网络传输的安全性,就有了HTTPS。

    HTTPS的主要特征:

    • 数据完整性:内容传输经过完整性校验
    • 数据隐私性:内容经过对称加密,每个链接生成一个唯一的加密秘钥
    • 身份认证:第三方无法伪造客户端(服务端)的身份。

    二.HTTPS中几个重要的概念

    1.SSL/TSL

    SSL(secure sockets layer):安全套接层,它是在上世纪90年代中期,由网景公司设计的,为解决使用的 HTTP 协议造成传输内容会被偷窥(嗅探)和篡改等安全问题而设计的,到了1999年,SSL成为互联网上的标准,名称改为TSL(transport layer security):传输层安全协议,两者可视为同一种东西的不同阶段。
    HTTPS(HTTP over SSL)也是在HTTP的基础加了一层SSL的封装。

    2. 对称加密与非对称加密

    对称加密(AES,RC4,3DES): 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,优点是算法公开、计算量小、加密速度快、加密效率高。

    非对称加密(RSA,DSA/DSS ):算法需要两个密钥,公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密,非对称加密算法比对称加密算法慢数千倍,但在保护通信安全方面,非对称加密算法却具有对称密码难以企及的优势。

    举例说明:

    对称加密

    加密运算和解密运算使用相同秘钥:秘钥A

    秘钥A+明文:你好----->经过加密运算----->生成密文:####----->
    用密文发送----->接受密文+秘钥A----->经过解密运算----->生成明文:你好

    非对称加密

    加密运算和解密运算使用不同秘钥:秘钥A和秘钥B

    秘钥A+明文:你好----->经过加密运算----->生成密文:####----->
    用密文发送----->接受密文+秘钥B----->经过解密运算----->生成明文:你好

    3.CA 证书

    CA是Certificate Authority的缩写,也叫“证书授权中心”,CA 证书,顾名思义,就是CA颁发的证书(内含公钥和私钥),网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。

    4.TCP与UDP

    TCP协议是面向连接的传输层协议,可以保证数据的可靠性。
    UDP协议是面向无连接的传输层协议,不能保证数据的可靠性。

    5.哈希算法

    哈希算法将任意长度的二进制映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。

    三.HTTPS工作流程

    第一步:客户端向服务器发送请求,并告诉服务器支持的算法列表。

    第二步:服务器选择一种算法,并将自己的证书返回给客户端,证书包含服务器域名和公钥等信息。

    第三步:客户端得到证书后进行验证,验证通过的话就生成一个随机值,并用证书中的公钥进行加密。

    第四步:传递加密信息,目的就是让服务器得到这个随机值,以后客户端与服务器的通信就可以通过这个随机值来进行加密解密。

    第五步:服务器用自己的私钥解密客户端传过来的随机值,然后把内容进行对称加密。

    第六步:将加密后的信息发给客户端,客户端还原信息。

    第七步:客户端用之前生成的私钥解密服务器发过来的信息,便获取到了解密后的内容。

    相关文章

      网友评论

          本文标题:HTTPS简介

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