对称加密算法
对称加密性能更好
对称加密:
客户端和服务器之间的通信数据是通过对称加密算法进行加密,对称加密是在加密和解密的过程中使用同一个私钥进行加密和解密,而且加密算法是公开的,所以对称加密中的私钥非常重要,一旦泄露,加密算法就形同虚设.
非对称加密算法
非对称加密:
加密和解密过程使用不同的密钥,一个公钥对外公开,一个私钥,仅在解密端持有,因为公钥和私钥是分开的,非对称加密算法安全级别较高,加密密文长度有限制,适用于对少量数据进行加密,加密速度慢.
PKI公钥的基础设施
证书订阅人[用户] ---> 登记机构订阅证书 ---> CA收到订阅请求,将证书发给登记机构
CA --> 证书登记机构 --> 证书订阅者[用户] --> 用户将证书公钥私钥部署在web服务器上 --> 用户访问web站点 --> web站点将拿着证书和CA的OSCP服务器主动进行对比验证是否通过.
证书的类型:
DV证书: 域名验证
OV证书: 组织验证
EV证书: 扩展验证 [如:证书显示 腾讯公司]
证书对nginx的性能影响
证书是有握手时间的,无论是对称加密算法还是非对称加密算法都会有性能瓶颈
小文件较多会考验到 非对称加密的性能 如 SA
大文件较多会考验到 对称加密算法的性能 如 AES
小文件比较多我们应该关注 优化椭圆曲线算法: 如证书加密的密码强度是否可以降低
大文件比较多我们应该关注 AES算法是否可以替换为其他算法,或者将密码强度降低一些.
证书部署时的优化
#证书的密钥
ssl_certificate /application/nginx/ssl_nginx/1_www.chenleilei.net_bundle.crt;
ssl_certificate_key /application/nginx/ssl_nginx/2_www.chenleilei.net.key;
#会话保持时间
ssl_session_timeout 1440m;
#这是对会话进行缓存,每次新用户访问需要重新建立会话,消耗CPU,添加缓存后可以减少CPU消耗
ssl_session_cache shared:SSL:10m;
#TLS的级别
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
#TLS证书所使用的算法,注意: 这里的算法,排在前面会被优先使用.
ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE";
#优先使用我们服务端的加密套件
ssl_prefer_server_ciphers on;