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 证书的分类
- 域名验证证书 DV
在阿里云等云服务里就可以申请到免费的 DV 证书,一般有效期为一年。 - 组织验证证书 OV
OV 证书的申请时,需要验证组织机构的身份,申请时间比较长,价格比较高。 - 扩张验证证书 EV
在浏览器地址栏,会显示注册组织机构的名称。
证书一般分为三层:
- 根证书:浏览,操作系统层面
- 二级证书
- 主证书
浏览器请求站点,Nginx 会把二级证书和主证书发送给浏览器,浏览器拿到以后,去自己的证书库中进行验证。
TLS 通信过程
- 验证身份
- 达成安全套件共识
- 传递密钥
- 加密通讯