一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种根据用户属性进行单双向认证切换的SSL系统的制作方法

2022-11-19 09:55:53 来源:中国专利 TAG:

一种根据用户属性进行单双向认证切换的ssl系统
技术领域
1.本发明涉及一种计算机网络通讯传输加密系统和技术,尤其涉及ssl/tls安全协议的应用技术。


背景技术:

2.ssl(secure socket layer,安全套接字层),是位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。ssl通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。
3.tls:安全传输层协议(tls)用于在两个通信应用程序之间提供保密性和数据完整性。tls记录协议用于封装各种高层协议。在信息产业中,普遍把tls仍然认做是ssl的一种升级版本,并统称为ssl技术;本文如无特指,ssl即包含经典ssl和tls。
4.通过部署应用ssl服务器系统,可以实现:在互联网上传输加密过的资料以达到防窃取的目的确保从客户端到服务器端的传送路途中数据的完整性。
5.利用ssl公钥和证书以及数字签名技术,让通信双方在建立连接握手阶段相互认证对方的真实身份,防止伪装仿冒。
6.ssl认证模式有两种:(1).单向认证:即仅仅由a验证b的(数字证书)身份有效性,b不验证a的身份。这种情况下大多是b提供关键信息服务,a作为普通访问者。例如:浏览器用户a访问政府网站b获取信息,为了防止黑客仿冒网站发布虚假信息,仅仅依靠域名和dns解析是不够的,因为dns信息可以篡改和伪造;a还需要验证b是否为合法有效的指定网站身份,这就需要用到ssl单向认证技术。此时所有浏览器用户访问网站b的相同域名和端口时,都遵循相同的单向认证策略。
7.(2).双向认证:即a和b相互都要验证对方(数字证书)身份有效性。这种情况下通常是客户端a需要在服务器端b执行重要的操作,系统需要保证a的身份确信无疑。例如:浏览器用户a访问银行系统网站b进行转账,a既要验证b的合法有效性,防止站点欺骗并套取自己的银行帐号和密码,b也要验证a的合法有效性,防止黑客仅仅凭借偷窥合法用户的帐号和密码即可登录和盗用账户资产;采用ssl数字证书认证技术作为用户名密码认证技术的增强安全手段,即可很好的解决这个问题。此时所有浏览器用户访问网站b的相同域名和端口时,都遵循相同的双向认证策略。
8.ssl系统目前在整个it信息产业发挥着极为重要的作用,几乎99%的网站都应用了该技术。目前大量应用的主流ssl框架包括:openssl、wolfssl、mbedtls等,融合了业务功能的ssl系统包括:apache、nginx、tomcat、iis等等。
9.在许多应用场景中,应用系统希望能够对大部分普通身份属性的用户开放单向认证的ssl连接服务以提升响应速度并降低客户端操作复杂度,但也需要根据用户的行为或身份属性的变化动态要求其切换为双向ssl认证模式。如:张三作为普通用户可以无需提供
证书和公钥,即可使用单向ssl认证连接到网站b并查询一些基本信息;但是在查询过程中,张三试图修改某些重要信息时,网站b就要求用户提供强化身份证明,此时网站如果能够通过技术手段断开张三的单向ssl认证连接,让他重新使用ssl双向认证技术连接到网站,即可满足业务场景要求。
10.而目前主流的ssl框架或含有业务功能的ssl系统,都只能支持根据配置信息启动单向认证或双向认证模式中的一种;均无法设置为允许部分用户使用单向ssl认证,而要求另外一些用户必须使用双向ssl认证。


技术实现要素:

11.针对现有ssl系统的不足,本发明提供了一种动态根据用户属性进行单/双向ssl认证切换的方法。这样的ssl系统,可以满足特定应用场景下,向部分用户开放单向ssl认证连接,而向特殊属性的用户要求双向ssl认证连接,以满足信息系统对这些客户端身份的更高安全认证需求,实现整个信息系统的安全性升级。具体实现的方法是针对标准ssl状态机流程进行优化和修改。
12.为实现上述目的,本发明提供如下技术方案:一种根据用户属性进行单双向认证切换的ssl系统,其特征在于,所述系统包含ssl服务器和ssl客户端,ssl服务器中维护一个客户端状态属性表;工作流程包含如下步骤:s1、客户端发送clienthello,发送的内容协议符合ssl标准规范;s2、服务器读取客户端状态属性表,判断是否发送clientcertificaterequest 内容;s3、服务器发送serverhello、certificates、serverkeyexchange、[clientcertificaterequest]、serverhellodone,其中clientcertificaterequest是动态的,根据所述s2步骤的判断进行发送或不发送;发送的内容协议符合ssl标准规范;s4、客户端发送[clientcertificate]、clientkeyexchange、[clientcertificateverify]、changecipherspec、finish,其中clientcertificate和clientcertificateverify是根据所述s3步骤是否包含了clientcertificaterequest内容而进行发送或不发送;发送的内容协议符合ssl标准规范;s5、ssl隧道建立完毕后,客户端发送数据请求并获取应用数据;s6、服务器根据客户端的行为或更多属性进行判断,决定该客户端是否须升级到双向认证;s7、如果需要升级到双向认证,服务器断开当前客户端ssl连接;s8、根据情况更新客户端状态属性表;基于上述步骤或机制,即可实现根据不同的ssl客户端的用户属性或行为,ssl服务器可要求指定ssl客户端必须切换认证模式,以满足ssl系统对这些客户端身份的更高安全认证需求,实现整个信息系统的安全性升级。
[0013]
根据一个优选的实施方式,所述的根据用户属性进行单双向认证切换的ssl系统,其特征在于所述系统同时适用于国际标准sslv3协议流程、国际标准tlsv1.1协议流程、国际标准tlsv1.2协议流程、中国国家密码管理局制定的国密sslv1.1协议流程;权利要求1所
述流程是基于国际标准tlsv1.2协议流程进行阐述的。
[0014]
根据一个优选的实施方式,所述的根据用户属性进行单双向认证切换的ssl系统,其特征在于所述ssl服务器包还包含其他形态,包括:ssl代理系统、ssl负载均衡系统(参见附图2);所述步骤s6、s7、s8的执行主体可能是其他应用系统,且应用系统修改的客户端状态属性表须处在所述ssl系统中。
[0015]
综上所述,本发明与现有技术相比具有以下有益效果:(1).ssl系统可以动态切换为单向认证或双向认证,无需系统管理员重新修改配置文件信息,无需重启ssl系统进行切换;(2).ssl系统可以根据用户行为或身份属性进行识别,包括随时调整识别判断的策略,以判断用户是否应该提升身份认证的级别;需要提升级别的,可随时要求客户端使用双向认证重新进行连接(同时断开当前单向认证连接);(3).ssl系统支持与应用系统联动,让应用系统参与到客户端身份认证安全策略的制定,能够更好的优化用户行为的追踪和用户身份画像的定义,提升it信息系统安全性。
附图说明
[0016]
图1为本发明根据用户属性进行单双向认证切换的ssl系统的示意图。
[0017]
图2为本发明优选方案:ssl代理系统与应用系统分离情况下的流程说明示意图。
具体实施方式
[0018]
下面结合附图和具体实施例对本发明的技术方案做进一步的说明。
[0019]
一种根据用户属性进行单双向认证切换的ssl系统,其特征在于,所述系统至少包含ssl服务器和ssl客户端,ssl服务器中维护一个客户端状态属性表;工作流程包含如下步骤:s1、客户端发送clienthello,发送的内容协议符合ssl标准规范;s2、服务器读取客户端状态属性表,判断是否发送clientcertificaterequest 内容;s3、服务器发送serverhello、certificates、serverkeyexchange、[clientcertificaterequest]、serverhellodone,其中clientcertificaterequest是动态的,根据所述s2步骤的判断进行发送或不发送;发送的内容协议符合ssl标准规范;s4、客户端发送[clientcertificate]、clientkeyexchange、[clientcertificateverify]、changecipherspec、finish,其中clientcertificate和clientcertificateverify是根据所述s3步骤是否包含了clientcertificaterequest内容而进行发送或不发送;发送的内容协议符合ssl标准规范;s5、ssl隧道建立完毕后,客户端发送数据请求并获取应用数据;s6、服务器根据客户端的行为或更多属性进行判断,决定该客户端是否须升级到双向认证;s7、如果需要升级到双向认证,服务器断开当前客户端ssl连接;s8、根据情况更新客户端状态属性表;基于上述步骤或机制,即可实现根据不同的ssl客户端的用户属性或行为,ssl服
务器可要求指定ssl客户端必须切换认证模式,以满足ssl系统对这些客户端身份的更高安全认证需求,实现整个信息系统的安全性升级。
[0020]
实施例1:参见图1所示,系统包含ssl服务器和ssl客户端,ssl服务器中维护一个客户端状态属性表;工作流程包含如下步骤:s1、客户端发送clienthello;s2、服务器读取客户端状态属性表,认为客户端身份属性无需双向认证,因此决定不发送clientcertificaterequest 内容;s3、服务器发送serverhello、certificates、serverkeyexchange、serverhellodone;s4、客户端发送clientkeyexchange、changecipherspec、finish;s5、ssl单向认证隧道建立完毕后,客户端发送数据请求并获取应用数据;s6、服务器根据客户端的行为或更多属性进行判断,发现该客户端尝试进行高权限操作,决定该客户端须升级到双向认证;s7、服务器通知客户端应进行双向认证,并断开了当前客户端ssl连接;s8、服务器根据情况更新客户端状态属性表;(s11)、客户端重新发起连接,发送clienthello;(s12)、服务器读取客户端状态属性表,认为客户端身份属性须双向认证,因此决定发送clientcertificaterequest 内容;(s13)、服务器发送serverhello、certificates、serverkeyexchange、clientcertificaterequest、serverhellodone;(s14)、客户端发送clientcertificate、clientkeyexchange、clientcertificateverify、changecipherspec、finish;(s15)、ssl双向认证隧道建立完毕后,客户端发送数据请求并获取应用数据;
…ꢀ…
实施例2:参见图2,与实施例1相似,所述的根据用户属性进行单双向认证切换的ssl系统,其特征在于,步骤s6、s7、s8的执行主体是其他应用系统,步骤如下:。
[0021]
s1、客户端发送clienthello;s2、服务器读取客户端状态属性表,认为客户端身份属性无需双向认证,因此决定不发送clientcertificaterequest 内容;s3、服务器发送serverhello、certificates、serverkeyexchange、serverhellodone;s4、客户端发送clientkeyexchange、changecipherspec、finish;s5、ssl单向认证隧道建立完毕后,客户端发送数据请求并获取应用数据;s6、ssl服务器将客户端通过ssl隧道发送的请求进行解密后再转发给应用服务器;s7、应用服务器根据客户端的行为或更多属性进行判断,决定该客户端是否须升级到双向认证;
s8、如果需要升级到双向认证,通知ssl系统断开当前客户端ssl连接;s9、根据情况更新客户端状态属性表;(s11)、客户端重新发起连接,发送clienthello;(s12)、服务器读取客户端状态属性表,认为客户端身份属性须双向认证,因此决定发送clientcertificaterequest 内容;(s13)、服务器发送serverhello、certificates、serverkeyexchange、clientcertificaterequest、serverhellodone;(s14)、客户端发送clientcertificate、clientkeyexchange、clientcertificateverify、changecipherspec、finish;(s15)、ssl双向认证隧道建立完毕后,客户端发送数据请求并获取应用数据;(s16)、ssl服务器将客户端通过ssl隧道发送的请求进行解密后再转发给应用服务器;
…ꢀ…
需要注意的是,上述具体实施方式是示例性的,本领域技术人员可以在本发明公开内容的启发下想出类似解决方案,以及对本发明的各项权利进行非实质性改变,而这些解决方案和改变也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献