如何选择 SSL证书的加密算法:RSAECCSM2

Posted 沃通WoTrus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何选择 SSL证书的加密算法:RSAECCSM2相关的知识,希望对你有一定的参考价值。

沃通CA可以提供这三种加密算法的SSL证书。 RSA、ECC、SM2。这也是目前 SSL证书涉及到的 3 种加密算法。

按照目前的使用普遍度:RSA > ECC > SM2

SSL证书在提交申请的时候,就会需要选择加密算法,目前使用较多的依然是 RSA,或者 RSA 和 ECC 配合使用。在某些情况下会选择 SM2 算法。

RSA 算法:目前普遍使用,在各个老旧平台浏览器里面兼容度很好。

 RSA 算法的 SSL证书

 SM2 算法的 SSL证书

ECC 算法:是SSL证书新兴的算法趋势,一般只需要 256 位加密长度即可达到相当的安全性,比 RSA 加密效率更高,但占用资源却比 RSA 更少。但缺点是一些比较老旧的系统环境中无法支撑这种算法,所以它的兼容性相比 RSA 要差一些。

SM2 算法:SM2 国密算法SSL证书也是刚刚兴起,目前仅仅少数几款浏览器支持,且对服务器环境要求较高,目前无法做到普遍部署。

目前比较普遍的做法是用 RSA 的 SSL证书和 ECC 的证书同时部署,在客户端实现自适应切换,即当用户环境支持 ECC 的时候,网站自动适配 ECC 加密算法的证书,否则就适配 RSA 的SSL证书。

SSL握手

一、SSL握手有三个目的:
1. 客户端与服务器需要就一组用于保护数据的算法达成一致;
2. 它们需要确立一组由那些算法所使用的加密密钥;
3. 握手还可以选择对客户端进行认证。

二、SSL握手过程:
1. 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器;
2. 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数;
3. 客户端对服务器的证书进行验证(有关验证证书,可以参考数字签名),并抽取服务器的公用密钥;然后,再产生一个称作pre_master_secret的随机密码串,并使用服务器的公用密钥对其进行加密(参考非对称加/解密),并将加密后的信息发送给服务器;
4. 客户端与服务器端根据pre_master_secret以及客户端与服务器的随机数值独立计算出加密和MAC密钥(参考DH密钥交换算法)。
5. 客户端将所有握手消息的MAC值发送给服务器;
6. 服务器将所有握手消息的MAC值发送给客户端。

以上是关于如何选择 SSL证书的加密算法:RSAECCSM2的主要内容,如果未能解决你的问题,请参考以下文章

ssl证书的加密算法?

如何申请和安装双算法SSL证书?

SSL证书的加密算法有哪些?

SSL证书(HTTPS)背后的加密算法

SSL证书的分类有哪些?如何选择合适的SSL证书?

SSL证书(HTTPS)背后的加密算法