SSL/TLS协议

五十岚2022年9月29日大约 4 分钟

SSL/TLS 协议: http://www.ruanyifeng.com/blog/2014/02/ssl_tls.htmlopen in new window

零、起源
    1.作用
        不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。
        1.窃听风险(eavesdropping):第三方可以获知通信内容。
        2.篡改风险(tampering):第三方可以修改通信内容。
        3.冒充风险(pretending):第三方可以冒充他人身份参与通信。

        SSL/TLS协议是为了解决这三大风险而设计的,希望达到:
        1.加密传播:所有信息都是加密传播,第三方无法窃听。
        2.校验机制:具有校验机制,一旦被篡改,通信双方会立刻发现。
        3.身份证书:配备身份证书,防止身份被冒充。

        互联网是开放环境,通信双方都是未知身份,这为协议的设计带来了很大的难度。而且,协议还必须能够经受所有匪夷所思的攻击,这使得SSL/TLS协议变得异常复杂。

    2.历史:
        互联网加密通信协议的历史,几乎与互联网一样长。
        1994年,NetScape公司设计了SSL协议(Secure Sockets Layer)的1.0版,但是未发布。

        1995年,NetScape公司发布SSL 2.0版,很快发现有严重漏洞。

        1996年,SSL 3.0版问世,得到大规模应用。

        1999年,互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS 1.0版。

        2006年和2008年,TLS进行了两次升级,分别为TLS 1.1版和TLS 1.2版。最新的变动是2011年TLS 1.2的修订版。

        目前,应用最广泛的是TLS 1.0,接下来是SSL 3.0。但是,主流浏览器都已经实现了TLS 1.2的支持。TLS 1.0通常被标示为SSL 3.1,
        TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。

一、HTTPS:
    HTTP+SSL/TCP的简称。
    起初是因为HTTP在传输数据时使用的是明文(虽然说POST提交的数据时放在报体里看不到的,但是还是可以通过抓包工具窃取到)是不安全的
    因此SSL是网景公司推出的SSL安全套接字协议层,基于HTTP之下TCP之上。

二、加密:
    在之前,这些HTTPS证书是由受信任的第三方出售的。获得这些证书之一的过程过去很麻烦,需要大量的文书工作,并且证书非常昂贵。
    后来,Linux Foundation的项目。 它免费提供HTTPS证书。 以自动化的方式。 这些证书使用所有标准的密码安全性,并且寿命短
    (大约3个月),因此,由于它们的使用寿命缩短,因此安全性实际上更好。

    域已经过安全验证,并且证书是自动生成的。 这也允许自动更新这些证书。这个想法是使这些证书的获取和更新自动化,以便可以永久免费获得安全的HTTPS。


    对称加密:
        1.数据发送方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。
        2.接收方收到密文后,若想解读原文,则需要使用加密密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。
        3.在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,也可以不使用算法加密。

        优点:
            不需要经过过多的数学计算,不会影响速率。而非对称加密需要经过复杂的数学计算,降低网页访问速率。

    非对称加密:
        1.甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开。
        2.得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方。
        3.甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。

        另一方面,甲方可以使用乙方的公钥对机密信息进行加密后在发送给乙方;乙方在使用自己的密钥对数据进行解密在验证!

        优点:
            非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
            客户端/服务器在交换密钥时可以从中所使用的两把密钥中随便选择一把作为公钥发送给目标方。

    不是所有网站都要用HTTPS,仅个别需要提交敏感类数据时才建议使用。

三、基本的运行过程:
    SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。
上次编辑于: 2022/9/29 14:35:37