标签:编码 api 机构 rc4 市场 微软 安全 使用 根据
ECC是Elliptic Curves Cryptography的缩写,意为椭圆曲线密码编码学。和RSA算法一样,ECC算法也属于公开密钥算法。最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。1、更适合于移动互联网: ECC加密算法的密钥长度很短(256位),意味着占用更少的存储空间,更低的CPU开销和占用更少的带宽。随着越来越多的用户使用移动设备来完成各种网上活动,ECC加密算法为移动互联网安全提供更好的客户体验。
2、更好的安全性:ECC加密算法提供更强的保护,比目前的其他加密算法能更好的防止***,使你的网站和基础设施比用传统的加密方法更安全,为移动互联网安全提供更好的保障。
3、更好的性能: ECC加密算法需要较短的密钥长度来提供更好的安全,例如,256位的ECC密钥加密强度等同于3072位RSA密钥的水平(目前普通使用的RSA密钥长度是2048位)。其结果是你以更低的计算能力代价得到了更高的安全性。经国外有关权威机构测试,在Apache和IIS服务器采用ECC算法,Web服务器响应时间比RSA快十几倍。
4、更大的IT投资回报:ECC可帮助保护您的基础设施的投资,提供更高的安全性,并快速处理爆炸增长的移动设备的安全连接。 ECC的密钥长度增加速度比其他的加密方法都慢(一般按128位增长,而 RSA则是倍数增长,如:1024 -2048--4096),将延长您现有硬件的使用寿命,让您的投资带来更大的回报。
ECC加密算法自1985年提出,因其工程应用中难度较高,到2005年才在各种操作系统中获得广泛支持,在全球安全市场需求的刺激下,ECC算法将逐步取代RSA算法,成为主流加密算法。目前,全球各大CA都已经陆续开始为用户签发采用ECC加密算法的各种证书.ECC加密算法以后支持所有操作系统、所有浏览器和各种移动终端,主要有:
Mozilla NSS 3.11以上版本支持
OpenSSL 1.0以上版本支持
微软CryptoAPI Vista/Win7/Win8都支持
BouncyCastle 1.32以上版本支持
JSSE 6 以上版本支持
BSAFE 4.0 以上版本支持
各种版本的IE浏览器、火狐浏览器、谷歌浏览器和苹果浏览器都支持
首先将 ecc 证书和 rsa 证书的证书链合并, ecc 证书链在前, rsa在后, cat chain-ecc.crt chain-rsa.crt > chain-ecc-rsa.crt 打开apache安装目录下conf/extra目录中的httpd-ssl.conf(或conf目录中的ssl.conf)文件
在配置文件中的<VirtualHost *:443>……</VirtualHost>
之间添加或编辑如下配置项
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
#ECC 将 ecc 证书(不含证书链)和 ecc 证书的密钥文件放在前
SSLCertificateFile /etc/apache2/SSL2015/ecdsa.cert.crt
SSLCertificateKeyFile /etc/SSL2015/certs/ecdsa.key
#RSA 将 rsa 证书(不含证书链)和 rsa 证书的密钥文件放在后
SSLCertificateFile /etc/apache2/SSL2015/rsa.cert.crt
SSLCertificateKeyFile /etc/apache2/SSL2015/rsa.cert.key
#指定 ecc/rsa 合并后的证书链位置
SSLcertificateChainFile /etc/apache2/SSL2015/chain-ecc-rsa.crt
如果服务器的 OpenSSL 版本已经为 1.0.2 以及更新的版本,则用以下方法,ecc 和 rsa 证书要包含证书链:
#ECC 指定 ecc 证书文件位置(证书以及证书链合并为一个文件为 ecdsa.cert.pem )
SSLCertificateFile /etc/apache2/SSL2015/ecdsa.cert.pem
SSLCertificateKeyFile /etc/SSL2015/certs/ecdsa.key
#RSA 指定 rsa 证书文件位置(证书以及证书链合并为一个文件为 rsa.cert.pem )
SSLCertificateFile /etc/apache2/SSL2015/rsa.cert.pem
SSLCertificateKeyFile /etc/apache2/SSL2015/rsa.cert.key
以上是指定证书的方式,各位根据 OpenSSL 的版本选择对应的方式,当然这还没完,下一步要直接指定证书加密方式,==确保 ecc 的加密方式要在 rsa 模式的前面,否则 ecc 证书没法生效了。==
nginx 最新的 mainline 版本已经支持了双证书,推荐使用nginx 1.11.1版本,openssl 版本推荐使用1.0.2h版本。
修改nginx的配置文件 nginx.conf 配置双证书:
ssl_certificate ssl/ecc/server.pem;
ssl_certificate_key ssl/ecc/server.key;
ssl_certificate ssl/rsa/server.pem;
ssl_certificate_key ssl/rsa/server.key;
ssl_ciphers ECDHE
标签:编码 api 机构 rc4 市场 微软 安全 使用 根据
原文地址:https://blog.51cto.com/15017218/2563429