关于 SSL 的一些知识

396 阅读2分钟

1. 什么是 SSL


SSL 是一种为网络通信提供安全及数据完整性的安全协议,现在的版本叫做 TLS. TLS 与 SSL 在传输层与应用层之间对网络连接进行加密。

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


对称加密是指采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,也称为单密钥加密。对称加密的算法,的优点在于计算速度快,加密效率高。

常用的对称加密算法有:

  • DES(Data Encryption Standard,数据加密标准算法)
  • 3DES(Triple DES、DESede,进行了三重DES加密的算法)
  • AES(Advanced Encryption Standard,高级数据加密标准,AES算法可以有效抵制针对DES的攻击算法)

非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。

常用的非对称加密算法:

  • RSA、DSA、ECC

3. 线性散列算法


散列算法具有不可逆,不确定性的特点,不同的原文计算出来的值一定是不同的。

常用的线性散列算法:

  • MD5 (信息摘要算法5)
  • SHA1
  • HMAC

SSL 证书的分类


  1. 域名验证证书 DV
    在阿里云等云服务里就可以申请到免费的 DV 证书,一般有效期为一年。
  2. 组织验证证书 OV
    OV 证书的申请时,需要验证组织机构的身份,申请时间比较长,价格比较高。
  3. 扩张验证证书 EV
    在浏览器地址栏,会显示注册组织机构的名称。

证书一般分为三层:

  • 根证书:浏览,操作系统层面
  • 二级证书
  • 主证书

浏览器请求站点,Nginx 会把二级证书和主证书发送给浏览器,浏览器拿到以后,去自己的证书库中进行验证。

TLS 通信过程


  1. 验证身份
  2. 达成安全套件共识
  3. 传递密钥
  4. 加密通讯

关于 nginx 如何配置 https,这里推荐一篇写的比较好的博客 点击链接