一种利用事件证书实现全链路加密代理的方法与流程

文档序号:22581484发布日期:2020-10-20 17:04阅读:216来源:国知局
一种利用事件证书实现全链路加密代理的方法与流程

本发明属于网络安全技术领域,具体涉及网络通信的身份认证和链路加密的利用事件证书实现全链路加密代理的方法。



背景技术:

传统的网络安全认为攻击者主要来自外部网络,在网络入口处部署严密的监控设备,如防火墙,vpn,防病毒等设备可以减少来自外部网络的攻击。在企业内网由于屏蔽了绝大部分外部的黑客攻击而认为网络是安全的。

为了保护企业敏感数据在互联网中的安全传输,一般网络边界处采用基于数字认证与访问控制系统对外提供服务,比如网上银行,移动办公等。如图1所示客户端与ssl代理服务器完成身份认证、密钥协商和链路加密服务等工作。ssl代理服务器对流量解密后对内容进行识别、过滤和访问控制,只有合法用户的请求才会与内网的应用服务器完成明文通讯。但是近几年频频爆发的安全事件及高级持续性威胁活动信息,很多都从企业内网发起渗透攻击获取数据,企业内网不再是绝对安全的网络。而现在的应用服务器一般只是对ssl代理服务器做基于ip地址验证等简单的认证手段,这段不安全的通讯可能被攻击者利用。

为了提高整个网络的安全性,需要一种端到端的全链路加密方法来解决身份认证、保密性和完整性。目前一般可以通过如下方法解决:

1.通过网络端口映射的方式对外提供服务,此种方案可以实现应用服务器对用户的身份认证和链路加密功能,但是边界安全监管人员无法管理外网用户的接入访问行为和流量监控审计。

2.浏览器与ssl代理服务器之间完成双向认证,ssl代理服务器与应用服务器完成单向认证的ssl握手,并将用户的身份信息(如绑定到http请求头里面或token方式)传递给应用服务器,此种方法可以实现应用服务器对用户二次身份认证和链路加密,但是攻击者一旦获取用户的身份信息,仍然可以伪造用户身份进行攻击。

3.采用中间代理证书方式实现跨域访问,此种方案是用户使用个人证书与ssl代理服务器完成身份认证和链路加密,ssl代理服务器使用中间代理证书与应用系统完成身份认证和链路加密。此种方案可以实现全链路加密和避免用户的身份信息被伪造,但是应用在认证过程中,识别到的身份是代理服务器的身份,而非原始访问用户的身份。此时对于应用服务器的访问控制和监管审计来说界限是不清晰的。



技术实现要素:

本发明针对背景技术存在的缺陷和不足,提出了在ssl代理服务器上采用事件证书与应用服务器进行ssl握手的利用事件证书实现全链路加密代理的方法。该方法对于应用只需要采用标准的ssl协议即可,不需要借助其他服务即可实现应用服务器对终端用户和ssl代理服务器的审计,也解决了不同ca之间互联中跨信任域问题。采用同一套pki体系可实现对外网用户的独立监管审计,同时可以方便应用服务器对外网终端用户做二次访问控制和监管,跨域的身份认证和全链路加密服务使得外网用户获得与内网同样的访问体验。

事件证书是针对某一次事件或行为所提供的数字证书,事件证书应为专用数字证书且该事件证书内包含当次事件或行为中具备的关键要素,而此关键要素在其他事件或行为中是无法使用的。事件证书具有有效期短,不需要考虑身份吊销,一次一密等特点。在本发明中的事件证书有效期时长为一次ssl会话的时长。

一种利用事件证书实现全链路加密代理的方法,包括如下步骤:

步骤一:外网用户使用用户证书访问ssl代理服务器,对用户完成身份认证后,动态的产生一对非对称密钥对并关联到该用户的会话中;

步骤二:ssl代理服务器基于已认证用户的信息和该临时密钥对,构造一张pkcs#10格式证书请求;

步骤三:ssl代理服务器将所述证书请求发送到ca服务,请求ca服务发放一张有效期与当前用户会话有效期相同的事件证书;

步骤四:ssl代理服务器获得ca服务返回的事件证书后,使用此事件证书和对应的临时私钥向应用服务器发起ssl握手;

步骤五:应用服务器在与ssl代理服务器握手过程中验证事件证书,获得原始访问用户的身份,而非代理服务器的身份,这样应用服务器可以对用户做二次访问控制,同时也提高了整个系统的审计透明度。

在本发明的一个优选实施例中,步骤三中,与ca服务器联动及时签发的事件证书与用户证书的标识相同。

在本发明的一个优选实施例中,步骤五中,将事件证书与应用服务器完成身份认证和ssl链路加密,实现了从用户到应用服务器的全链路加密,ssl代理服务器和应用服务器都获得了用户的身份信息,提高了整个系统的透明度。

本发明解决了代理与应用之间的通讯安全问题,并使其认证标识与原始访问用户的身份标识一致,同时在会话中充分利用了事件证书的及时签发、无需存储和有效期短等特性。采用事件证书机制提高了整个系统访问控制和审计的安全度。

附图说明

以下结合附图和具体实施方式来进一步说明本发明。

图1为本发明利用事件证书实现全链路加密代理的方法的流程示意图。

图2为浏览器使用自身的算法与ssl代理服务器完成握手协议的流程图。

图3为网络拓扑图。

图4为事件证书签发过程流程图。

图5为客户端、ssl代理服务器、ca服务器和应用服务器之间整个访问过程流程图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明了,下面结合具体图示做进一步阐述如何实施本发明。

(一)数字证书签发和信任域

使用根ca签发二级用户证书ca和事件证书ca,用户证书ca用于签发用户证书,事件ca服务器用于签发事件证书。在企业内网应用服务器信任用户证书ca和事件ca证书链。在ssl代理服务器上信任用户证书ca。

(二)用户访问流程

参见图3,在网络边界处部署正向或反向ssl代理服务器,ca服务器用于签发事件证书,原子钟提供时间源,ssl代理服务器、ca服务器和应用服务器向原子钟同步时间。客户端或浏览器与ssl代理服务器完成一次ssl握手,ssl代理服务器与ca服务器联动签发一张与用户证书dn项相同的事件证书,ssl代理服务器使用此事件证书与应用服务器完成ssl握手。整个网路拓扑如图4所示。

1)参见图2,用户使用浏览器或客户端与ssl代理服务器完成一次真实的ssl握手,ssl代理服务器对用户做身份认证,具体步骤如下:

1.1)客户端向ssl代理服务器发送clienthello消息,此时为客户端支持的密码算法;

1.2)ssl代理服务器向客户端返回serverhello选取相应的密码算法;

1.3)ssl代理服务器向客户端返回servercertificate,ssl代理服务器站点证书,此时客户端对服务端站点证书进行认证;

1.4)ssl代理服务器向客户端返回serverkeyexchange,根据密钥交换算法发送密钥交换参数;

1.5)ssl代理服务器向客户端返回certificaterequest,要求客户端提交证书,用于身份验证;

1.6)ssl代理服务器向客户端返回serverhellodone,表明ssl代理服务器完成该阶段的操作;

1.7)客户端向ssl代理服务器发送clientcertificate,客户端数字证书;

1.8)客户端向ssl代理服务器发送clientkeyexchange,客户端密钥交换数据信息;

1.9)客户端向ssl代理服务器发送clientcertificateverify,客户端签名结果;

1.10)客户端向ssl代理服务器发送changecipherspec和finish,客户端完成握手的该阶段操作;

1.11)ssl代理服务器向客户端返回changecipherspec和finish,完成握手处理。

2)ssl代理服务器对接入的用户做格式内容检查和权限检查,只有合法的用户才允许接入访问。

3)如图4所示,ssl代理服务器调用服务器密码机或密码卡动态生成非对称密钥对,并关联到此ssl会话中。

4)ssl代理服务器根据密钥对和用户证书生成事件证书p10请求。

5)ssl代理服务器与事件ca服务器联动签发与此次会话时长相同有效期的事件证书并下发到ssl代理服务器上。

6)参见图5,ssl代理服务器将事件证书与ssl会话关联,使用事件证书与应用服务器完成ssl握手,具体步骤如下:

6.1)ssl代理服务器向应用服务器发送clienthello消息,此时为ssl代理服务器支持的密码算法;

6.2)应用服务器向ssl代理服务器返回serverhello选取相应的密码算法;

6.3)应用服务器返回servercertificate,发送应用服务器的站点证书,ssl代理服务器使用内网的ca证书链对应用服务器进行认证;

6.4)应用服务器向ssl代理服务器返回serverkeyexchange,根据密钥交换算法发送密钥交换参数;

6.5)应用服务器向ssl代理服务器返回certificaterequest,要求ssl代理服务器提交证书,用于身份验证;

6.6)应用服务器向ssl代理服务器返回serverhellodone,表明应用服务器完成该阶段的操作;

6.7)ssl代理服务器向应用服务器发送clientcertificate,此证书为事件ca服务器签发的事件证书;

6.8)ssl代理服务器向应用服务器发送clientkeyexchange,用于密钥交换数据信息;

6.9)ssl代理服务器向应用服务器发送clientcertificateverify,此次为事件证书的签名;

6.10)ssl代理服务器向应用服务器发送changecipherspec和finish,ssl代理服务器完成此阶段的握手;

6.11)应用服务器向ssl代理服务器返回changecipherspec和finish,完成握手处理。

7)应用服务器做二次访问控制检查权限和单点登录。

8)ssl代理服务器做流量监控审计及与应用服务器间的链路加密。

9)ssl代理服务器在完成此次ssl会话后销毁事件证书。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

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