ECC+RSA双证书解决方案

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: ECC+RSA双算法SSL证书的配置方法

什么是ECC

ECC是Elliptic Curves Cryptography的缩写,意为椭圆曲线密码编码学。和RSA算法一样,ECC算法也属于公开密钥算法。最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。
ECC算法的数学理论非常深奥和复杂,在工程应用中比较难于实现,但它的单位安全强度相对较高,它的破译或求解难度基本上是指数级的,黑客很难用通常使用的暴力破解的方法来破解。RSA算法的特点之一是数学原理相对简单,在工程应用中比较易于实现,但它的单位安全强度相对较低。因此,ECC算法的可以用较少的计算能力提供比RSA加密算法更高的安全强度,有效地解决了“提高安全强度必须增加密钥长度”的工程实现问题。

与RSA算法相比,ECC算法拥有突出优势:

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加密算法的通用性不断增强

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浏览器、火狐浏览器、谷歌浏览器和苹果浏览器都支持

安卓系统(2.3以上版本)、苹果IOS(5.0以上版本)、Window Phone(各种版本)都支持

Apache配置方法

首先将 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配置方法

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-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM;
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;

----
目录
相关文章
|
机器学习/深度学习 人工智能 算法框架/工具
《YOLOv10魔术师专栏》专栏介绍 & 专栏目录
【7月更文挑战第4天】 【原创自研模块】【多组合点优化】【注意力机制】 【主干篇】【neck优化】【卷积魔改】 【block&多尺度融合结合】【损失&IOU优化】【上下采样优化 】 【小目标性能提升】【前沿论文分享】【训练实战篇】
531 1
|
存储 安全 算法
KeyManager - 免费申请证书-支持泛域名
KeyManager - 免费申请证书-支持泛域名
1566 0
KeyManager - 免费申请证书-支持泛域名
|
Linux C语言 C++
Linux ICMP协议实现:C/C++编程指南
ICMP(Internet Control Message Protocol)是网络通信中的重要协议,用于在IP网络中传递错误消息和诊断信息。在Linux系统中,我们可以使用C/C++编程语言来实现基本的ICMP功能,例如发送ICMP回显请求(Ping)和解析ICMP消息。本文将带您深入了解C/C++实现的ICMP协议,包括套接字编程、构造ICMP报文、发送和接收ICMP消息等,以及提供实际的代码示例。
1871 1
|
3月前
|
Web App开发 监控 安全
域名拦截检测攻略:早排查早规避,守住业务流量与收益【域名安全指南】
本文围绕域名拦截检测展开,核心介绍域名拦截的 4 类常见类型(安全软件 / 浏览器、社交平台、DNS / 解析、运营商 / 地区拦截)、2 类实用检测方法(命令行检测、人工验证)、6 类拦截原因及 4 步快速解除方案,强调建立 “定期检测 + 应急处理” 机制的重要性,同时为缺乏备案资源、频繁被拦截的运营者提供二级域名租用解决方案,帮助运营者提前规避拦截风险,减少流量与业务损失。
|
Ubuntu 安全 Unix
使用LPD协议来共享打印机
【10月更文挑战第9天】LPD(Line Printer Daemon)协议用于在网络环境中共享打印机,广泛应用于Unix和类Unix系统。打印服务器监听特定端口(如515),接收并处理客户端的打印请求,维护打印队列。客户端需安装相应软件,通过特定格式请求提交打印任务。设置包括安装驱动、配置服务、启动服务及客户端连接配置。LPD协议跨平台性强、配置简单,但安全性较弱,功能有限。
3898 67
|
网络协议 应用服务中间件 网络安全
阿里云免费SSL申请流程(白嫖20张SSL免费证书)2024年新版教程
本文详述了2024年最新的阿里云免费SSL证书申请流程。用户可通过阿里云数字证书管理服务控制台一键申请最多20张免费单域名SSL证书,每张证书有效期为3个月。首先登录控制台,选择“SSL证书管理”下的“个人测试证书”,同意协议并完成购买流程。之后需创建证书、输入域名等信息并进行域名验证。验证方法包括手动DNS验证、域名授权自动化验证或文件验证。完成验证后,等待审核通过即可下载适用于不同服务器类型的SSL证书。请注意,阿里云免费SSL证书到期后不支持续费,需重新申请。了解更多详情,请访问阿里云官方SSL证书页面。
|
域名解析 网络协议 网络安全
SSL证书验证全攻略:DNS/HTTP/手动解析怎么选?
SSL证书在网络安全中至关重要,1Panel提供三种验证方式:DNS验证、HTTP验证和手动解析。DNS验证便捷,适合CDN网站;HTTP验证快速,需服务器在线;手动解析灵活,但操作复杂。根据需求选择合适确认方式,定期检查证书状态。
1364 2
|
Go 调度
Golang语言goroutine协程篇
这篇文章是关于Go语言goroutine协程的详细教程,涵盖了并发编程的常见术语、goroutine的创建和调度、使用sync.WaitGroup控制协程退出以及如何通过GOMAXPROCS设置程序并发时占用的CPU逻辑核心数。
1067 4
Golang语言goroutine协程篇
|
运维 监控 DataWorks
DataWorks 稳定性保障全解析:深入监控与资源调配
DataWorks 的稳定性保障体系涵盖精细监控与资源调配,确保企业数据业务高效、稳定运行。监控模块包括资源、任务和质量监控,及时预警并处理异常;资源调配策略则针对集成、调度、数据服务及计算资源进行科学配置,保障数据同步、任务优先级和高并发需求。通过全方位的监控和合理的资源配置,DataWorks 为企业筑牢数据根基,助力数字化转型。
767 10

热门文章

最新文章