一种HTTPS服务的部署方法与流程

文档序号:11138623阅读:778来源:国知局
一种HTTPS服务的部署方法与制造工艺

本发明涉及HTTPS服务领域,具体涉及一种无需部署源站私钥的HTTPS服务的部署方法。



背景技术:

随着HTTP服务使用越来越广泛,通过明文传输内容的HTTP服务面临着越来越大的安全问题,尤其是支付、交易等敏感信息。HTTPS作为一种基于公私钥技术的加密传输协议应用应运而生,通过在TCP和HTTP层中间加入了SSL加密数据传输层防止HTTP服务的数据被盗窃和篡改。目前,大多数主流网站均使用了该技术,使用该技术的网站越来越多。

该技术的使用需要在服务端部署公钥、私钥和证书。通过公钥加密的数据可以通过私钥解密,反之亦然,私钥加密的数据也可以通过公钥解密。当用户通过客户端访问网站服务器时,首先需要进行握手操作,握手过程中服务端将公钥核证书以及服务端的信息发送给客户端,客户端将自己的信息通过公钥加密发送给服务器端,服务器端通过私钥解密客户端信息。然后,双方根据这些信息,生成对称加密密钥,用于内存传输。在每次握手过程中,服务器需要使用私钥进行解密,之后不再需要。

CDN技术通过反向代理的方式实现内容分发,进行访问加速。目前,针对HTTPS网站服务,需要在CDN节点部署源站的证书、公钥以及私钥才能正确的完成握手过程。但对于源站,私钥属于高度敏感数据,一旦丢失,网站能够被仿冒,私钥窃取者可以轻松获得用户机密数据(如网银密码等)。将私钥直接部署到多台CDN服务器的方式面临更大的丢失风险(如黑客入侵,人为泄露等)。

现有技术之一Keyless,通过建立一个keyserver服务器存放私钥,将握手过程中设计到私钥的过程放置到keyserver上进行,CDN节点通过网络与keyserver进行通信,而keyserver服务器被部署在源站机房内,处于防火墙的保护下只允许CDN节点进行访问。这样CDN节点不在需要存放私钥,私钥仅存放在少数keyserver服务器上,便于私钥管理,降低了私钥被盗的可能性。但该方法每次握手过程都需要与keyserver进行网络通信,延长了握手过程的时间,也降低了用户体验。同时,keyserver的可靠性和性能成为整个系统的瓶颈。详情可参考https://blog.cloudflare.com/keyless-ssl-the-nitty-gritty-technical-details/

HTTPS:Hyper Text Transfer Protocol over Secure Socket Layer,是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此,加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同HTTP:体系,用于安全的HTTP数据传输。HTTPS:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。



技术实现要素:

本发明所要解决的技术问题是提供一种HTTPS服务的部署方法,不在CDN节点部署私钥,将加密后的私钥部署在私钥服务器,将私钥进行加密和对应解密方法作为数据进行传输和存贮,客户端接入过程使用内存中的数据,不需要私钥服务器介入,提高系统的性能和可靠性。

为解决上述问题,本发明采用的技术方案是:

一种HTTPS服务的部署方法,包括以下步骤:

步骤1:设置私钥服务器,CDN节点从私钥服务器下载经过加密的私钥和解密方法,并存放在CDN节点的内存中;

步骤2:客户端与服务器进行握手时,服务器使用私钥进行解密,使用内存中的解密方法解密密钥,完成握手过程;

步骤3:结束握手过程,立即清空明文私钥;

步骤4:握手成功后,客户端与CDN节点通过对称密钥进行通信;

步骤5:CDN节点向源站转发客户端请求,并将源站反馈结果返回到客户端,完成访问过程。

进一步的,还包括步骤6:每隔一定时长或者收到管理员手动下达的指令后,CDN节点从私钥服务器重新下载并更新本地数据。

进一步的,所述更新包括手动更新和定时自动更新。

与现有技术相比,本发明的有益效果是:

1)无论是CDN节点还是私钥服务器都不部署明文私钥,通过登录服务器获得私钥几乎不可能。

2)源站管理员不需要将私钥交给CDN服务提供商,减少高密级数据扩散范围。

3)私钥服务器通过防火墙控制访问IP和内容,具有更高的安全性。

4)不需要每次访问都与私钥服务器交互,减弱私钥服务器性能和可靠性对整个系统的影响,不使私钥服务器成为性能瓶颈。

5)不需要逐个CDN服务器进行私钥部署,降低CDN厂商的运维成本。

附图说明

图1是本发明一种HTTPS服务的部署方法中私钥下载/更新流程示意图。

图2是本发明一种HTTPS服务的部署方法中用户访问流程示意图。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明方法不在CDN节点部署私钥,而是将加密后的私钥部署在密钥服务器上,CDN节点从该密钥服务器上获取加密后的密钥和解密方法,保存在内存中。在握手的过程中将私钥解密进行握手,握手完成后立即从内存中清除。由于节点上没有部署明文私钥,内存中也只有在握手瞬间存在明文私钥,即使登录节点极难获得私钥。不需要每次访问都与密钥服务器进行交互,对系统的性能和可靠性影响极小。

如图1所示,私钥服务器存储加密后的私钥和对应的解密方法,CDN节点启动后会主动从私钥服务器下载加密后的私钥和解密方法并存放在节点的内存中,每隔一定时长或者收到管理员手动下达的指令后,CDN节点也会从私钥服务器重新下载并更新本地数据。节点和私钥服务器都只有加密后的数据。

如图2所示,客户端与服务器进行握手时,服务器需要使用私进行解密。此时,使用内存中的解密方法解密加密后的密钥完成握手过程,握手过程结束后,立即清空明文私钥。由于使用私钥的时间相对于整个用户访问流程可以忽略不计,通过抓取运行中内存中的数据进行逆向提取密钥几乎不可能。

握手成功后,客户端与CDN节点通过协商后的对称密钥进行通信。与正常访问过程一样,CDN节点向源站转发客户端请求并将源站反馈结果返回到客户端,完成访问过程。握手过程中,不需要与私钥服务器进行交互,与直接在节点部署私钥性能相差不多。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1