一种高可用的安全无私钥的CDN支持HTTPS的系统及方法技术方案

技术编号:21278320 阅读:120 留言:0更新日期:2019-06-06 10:45
本发明专利技术属于互联网CDN领域,公开了一种高可用的安全无私钥CDN支持HTTPS的系统及方法,所述系统包括:TLS握手代理装置,查询代理装置,私钥管理装置。所述TLS握手代理装置所在的CDN节点不保存网站私钥,而是在需要使用时,将数据发送给网站的私钥管理装置,私钥管理装置处理后将数据返回给CDN,CDN再进行后续处理。所述查询代理装置设置缓存队列,所述查询代理装置设有主/备两台,所述私钥管理装置设置有多个。本发明专利技术使得CDN支持HTTPS同时,又无需将私钥部署在CDN上,保持了私钥拥有者对私钥的绝对私有控制,提高了安全性。同时,本发明专利技术的系统中的装置具备高可用性,且能够根据私钥管理装置设备负载和网络状况自动选择最佳线路。

A High Available Security Selfless Key CDN Support HTTPS System and Method

The invention belongs to the field of Internet CDN, and discloses a highly available secure selfless key CDN supporting HTTPS system and method. The system comprises a TLS handshake agent device, a query agent device and a private key management device. The CDN node where the TLS handshake agent device is located does not save the website private key, but sends the data to the website private key management device when it needs to be used. After processing, the private key management device returns the data to the CDN, and the CDN performs subsequent processing. The query proxy device is provided with a buffer queue, and the query proxy device is provided with two main/standby units, and the private key management device is provided with multiple units. The invention enables the CDN to support HTTPS without deploying the private key on the CDN, keeps the private key owner's absolute private control over the private key, and improves the security. Meanwhile, the device in the system of the invention has high availability and can automatically select the best circuit according to the device load and network condition of the private key management device.

【技术实现步骤摘要】
一种高可用的安全无私钥的CDN支持HTTPS的系统及方法
本专利技术涉及互联网CDN领域,尤其是涉及一种高可用的安全无私钥的CDN支持HTTPS的系统及方法。
技术介绍
CDN(ContentDeliveryNetwork,内容分发网络)通过将资源放置到离客户端更近的互联网节点中,使得客户端访问资源时速度更快,目前已经被广泛应用于互联网领域。对于HTTPS类型的网站,通常需要将网站的私钥部署到CDN的节点中。CDN节点在接收到客户端的https访问请求后,先进行TLS(TransportLayerSecurity,安全传输层协议)握手,建立TLS连接,然后进行后续处理。目前,TLS握手具体过程分为两种,RSA类型和DH类型。RSA类型过程如下:1客户端发送clientrandom,支持的加密套件列表2服务端发送serverrandom,公钥,本次会话使用的加密套件3客户端发送经过公钥加密的premaster4服务端使用私钥将加密的premaster解密,获得premaster,然后根据clientrandom、serverrandom、premaster生成sessionkey5客户端根据clientrandom、serverrandom、premaster生成sessionkey6客户端和服务器使用sessionkey作为后续加密的密钥DH类型过程如下:1客户端发送clientrandom,支持的加密套件列表2服务端发送serverrandom,公钥,本次会话使用的加密套件;生成serverDHparam,然后使用私钥对(clientrandom、serverrandom、serverDHparam)进行DH签名3服务端发送serverDHparam,以及DH签名4客户端验证DH签名是否正确;正确则发送clientDHparam,否则结束5客户端根据serverDHparam和clientDHparam生成premaster,然后根据clientrandom、serverrandom、premaster生成sessionkey6服务端根据serverDHparam和clientDHparam生成premaster,然后根据clientrandom、serverrandom、premaster生成sessionkey7客户端和服务器使用sessionkey作为后续加密的密钥无论是RSA类型和DH类型,它们均将网站私钥部署在CDN节点,如此,具有以下缺点:1,CDN被攻击时,可能会被盗窃私钥2,CDN同时管理多个网站的私钥,存在私钥混用风险某些对安全极其看重的行业,比如金融业,不能将私钥部署在外部环境中,因此也无法享受CDN带来的好处。因此,如何设计出一种能够在CDN不部署私钥的情况下进行HTTPS加速,并能够根据设备和网络健康状况自动调整的方法或系统,便成为了目前亟待解决的问题。
技术实现思路
针对现有技术中存在的上述缺陷,本专利技术的目的是提供一种高可用的安全无私钥的CDN支持HTTPS的方法及系统,以解决原有的CDN支持HTTPS网站时,均将网站私钥部署在CDN节点带来的不安全的问题。为解决上述技术问题,本专利技术采用的技术方案如下:一方面,本专利技术提供了一种高可用的安全无私钥的CDN支持HTTPS的系统,所述系统包括:TLS握手代理装置,查询代理装置,私钥管理装置,其中,所述TLS握手代理装置连接所述查询代理装置;所述查询代理装置分别连接所述TLS握手代理装置和私钥管理装置;所述查询代理装置分别连接所述TLS握手代理装置和私钥管理装置。此处的连接,既可以是通过诸如导线、信号线等物理连接方式,也可以指无线连接方式。所述TLS握手代理装置用于在客户端向CDN边缘节点发起https连接请求时,识别握手类型,并根据不同的握手类型向所述查询代理装置发起解密或签名请求。所述查询代理装置,用于接收所述TLS握手代理装置发送的请求并生成查询请求队列,并从所述私钥管理装置列表中选择位于列表头的私钥管理装置,向其发起请求。所述私钥管理装置,可以有任意多个,优选都是分布在靠近CDN边缘节点的地点,多个私钥管理装置同时提供服务,具有高可用性。进一步地,所述私钥管理装置,用于收到所述查询代理装置的请求后,生成私钥请求队列,并将响应结果返回给所述查询代理装置,所述查询代理装置在查询到响应结果后,完成TLS握手。进一步地,所述查询代理装置包括:查询请求队列单元、查询响应队列单元、查询引擎、私钥管理装置列表单元及私钥管理装置列表健康检测单元,其中,所述查询请求队列单元,连接所述TLS握手代理装置及查询引擎,用于接收并保存从TLS握手代理装置发送的待处理的查询请求;所述查询响应队列单元,连接所述私钥管理装置及查询引擎,用于接收从所述私钥管理装置返回的结果,并保存结果至响应队列,等待TLS握手代理装置的问询;所述查询引擎,连接所述查询请求队列单元及私钥管理装置,用于取走请求队列单元队头的请求,并从私钥管理装置列表中选择靠前的私钥管理装置向其发起请求,同时,所述查询引擎接收该私钥管理装置返回的结果,并将该结果放入所述查询响应队列单元的尾部;所述私钥管理装置列表单元,用于对私钥管理装置按照健康度高低排序;所述私钥管理装置列表健康检测单元,用于定期检测各私钥管理装置的健康度。进一步地,所述健康度包括:响应时间、当前负载量。进一步地,所述查询代理装置由主查询模块和备用查询模块组成,其中,所述主查询模块主要提供查询请求服务并维护自身的私钥管理装置列表,所述被查询模块则只维护自身的私钥管理装置列表;所述主查询模块失效时,自动切换至所述备用查询模块提供查询请求服务。进一步地,所述私钥管理装置设置有多个,均靠近CDN边缘节点,且由私钥拥有者完全控制,各个所述私钥管理装置均连接所述查询代理装置,所述私钥管理装置包括:网络模块、私钥存储单元、私钥请求队列单元、计算引擎和私钥响应队列单元,其中,所述网络模块接收到查询代理装置的请求后,将请求加入到私钥请求队列单元,同时,计算引擎从所述私钥请求队列单元中依序取出请求,解析请求,从私钥存储单元中取出相关私钥进行计算,根据请求类型,对请求中的数据进行解密/签名,形成响应,然后将响应加入到私钥响应队列单元,所述网络模块再从所述响应队列单元中取出响应,发送给查询代理装置。进一步地,客户端向CDN边缘节点发起https连接请求具体为客户端与CDN边缘节点中某个TLS卸载服务器发起TLS握手连接请求,其中,所述TLS卸载服务器上运行openssl,openssl中嵌入了所述TLS握手代理装置。另一方面,本专利技术还提供了一种高可用的安全无私钥的CDN支持HTTPS的方法,所述方法包括如下步骤:客户端向CDN边缘节点发起TLS握手连接请求,;TLS握手代理装置识别握手类型,并根据不同的握手类型向查询代理装置发起解密或签名请求;接收TLS握手连接请求并生成查询队列模式,并从私钥管理装置列表中选择位于列表头的私钥管理装置,向其发起请求;位于列表头的私钥管理装置收到查询代理装置的请求后,根据请求中的私钥签名找到私钥,生成私钥请求队列,并将响应结果返回给查询代理装置,所述查询代理装置在查询到响应结果后,完成TLS握手。进一步地,所述查本文档来自技高网
...

【技术保护点】
1.一种高可用的安全无私钥的CDN支持HTTPS的系统,其特征在于,所述系统包括:TLS握手代理装置、查询代理装置、私钥管理装置,其中,所述TLS握手代理装置,用于在客户端向CDN边缘节点发起https连接请求时,识别握手类型,并根据不同的握手类型向所述查询代理装置发起解密或签名请求;所述查询代理装置,用于接收所述TLS握手代理装置发送的请求并生成查询请求队列,并从所述私钥管理装置列表中选择位于列表头的私钥管理装置,向其发起请求;所述私钥管理装置,用于当收到某个查询代理装置的请求后,加入到私钥请求队列,然后处理私钥请求并形成响应,再将响应结果返回给所述查询代理装置,所述查询代理装置在查询到响应结果后,完成TLS握手。

【技术特征摘要】
1.一种高可用的安全无私钥的CDN支持HTTPS的系统,其特征在于,所述系统包括:TLS握手代理装置、查询代理装置、私钥管理装置,其中,所述TLS握手代理装置,用于在客户端向CDN边缘节点发起https连接请求时,识别握手类型,并根据不同的握手类型向所述查询代理装置发起解密或签名请求;所述查询代理装置,用于接收所述TLS握手代理装置发送的请求并生成查询请求队列,并从所述私钥管理装置列表中选择位于列表头的私钥管理装置,向其发起请求;所述私钥管理装置,用于当收到某个查询代理装置的请求后,加入到私钥请求队列,然后处理私钥请求并形成响应,再将响应结果返回给所述查询代理装置,所述查询代理装置在查询到响应结果后,完成TLS握手。2.根据权利要求1所述的系统,其特征在于,所述查询代理装置包括:查询请求队列单元、查询响应队列单元、查询引擎、私钥管理装置列表单元及私钥管理装置健康检测单元,其中,所述查询请求队列单元,用于接收并保存从TLS握手代理装置发送的待处理的查询请求;所述查询响应队列单元,用于接收从所述私钥管理装置返回的结果,并保存结果至响应队列,等待TLS握手代理装置的问询;所述查询引擎,用于取走请求队列单元队头的请求,并从私钥管理装置列表中选择靠前的私钥管理装置向其发起请求,同时,所述查询引擎接收该私钥管理装置返回的结果,并将该结果放入所述查询响应队列单元的尾部;所述私钥管理装置列表单元,用于对私钥管理装置按照健康度高低排序;所述私钥管理装置列表健康检测单元,用于定期检测各私钥管理装置的健康度。3.根据权利要求2所述的系统,其特征在于,所述健康度包括:响应时间、当前负载量。4.根据权利要求2所述的系统,其特征在于,所述查询代理装置由主查询模块和备用查询模块组成,其中,所述主查询模块主要提供查询请求服务并维护自...

【专利技术属性】
技术研发人员:姚平朱恒李强乙朱健荣季峰
申请(专利权)人:苏宁云商集团股份有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1