CN103427995B - 用户认证方法、ssl vpn服务器及ssl vpn系统 - Google Patents
用户认证方法、ssl vpn服务器及ssl vpn系统 Download PDFInfo
- Publication number
- CN103427995B CN103427995B CN201310334684.4A CN201310334684A CN103427995B CN 103427995 B CN103427995 B CN 103427995B CN 201310334684 A CN201310334684 A CN 201310334684A CN 103427995 B CN103427995 B CN 103427995B
- Authority
- CN
- China
- Prior art keywords
- user
- digital certificate
- client
- client digital
- certificate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种用户认证方法、SSL VPN服务器及SSL VPN系统。其中,所述用户认证方法包括:接收客户端设备发送的用户登录请求,所述用户登录请求携带有用户在此次登录之前使用过的客户端数字证书;验证所述客户端数字证书的合法性以及所述用户是否持有所述客户端数字证书的私钥;若所述用户持有所述私钥,且所述客户端数字证书合法,则获取所述客户端数字证书的特征值;查询存储的用户绑定的特征值与用户名的关联关系中是否有与所述特征值对应的用户名,若有,认证通过,否则,认证失败。本发明提供的方法通过复用用户在此次登录之前使用过的客户端数字证书,可有效地提高用户认证的效率。
Description
技术领域
本发明涉及网络信息技术安全领域,尤其涉及一种用户认证方法、SSL VPN服务器及SSL VPN系统。
背景技术
基于安全套接字层(Security Socket Layer,简称SSL协议)构建的虚拟专用网(Virtual Private Network,简称VPN)技术是为远程用户安全访问企业内网的一项网络通信技术。SSL协议通过对计算机之间整个会话进行加密,保证在互联网上传输数据的保密性和完整性;VPN是企业或其他团体在公共网络资源中通过私有的隧道技术建立点到点的专线,可以确保数据的机密性并且具有一定的访问控制功能,将两者结合起来形成“SSL VPN”技术,可以在公共网络中为企业设定一个有明确边界定义的网络。在SSL VPN系统中,用户通过浏览器登录并通过SSL VPN服务器的认证后,就能够访问相应的内网资源。
客户端数字证书登录方式是一种较为安全的方式。数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在网络中验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证,它是由一个权威机构——证书授权中心(Certificate Authority,简称CA)发行的,人们可以在网上用它来识别对方的身份。
现有SSL VPN系统中,用户使用客户端数字证书登录并通过SSL VPN服务器认证的方式主要有以下两种。第一种方式是:SSL VPN服务器内预置有一个CA(可以是企业自建的私有CA或是知名的第三方CA)证书。用户通过客户端设备向SSL VPN服务器申请CA签发的客户端数字证书,并将申请到的客户端数字证书导入浏览器。用户使用当前导入的客户端数字证书登录SSL VPN服务器,以使SSL VPN服务器根据所述客户端数字证书,验证所述用户,并为通过验证的用户提供相应的内网资源。第二种方式是:SSLVPN服务器内预置有一个CA证书。用户在客户端设备的浏览器上使用用户名登录SSLVPN服务器的页面后,在页面上点击申请证书的按钮。SSLVPN服务器通过短信猫等方式向客户端设备发送验证码;用户输入验证码,客户端设备将所述验证码发送至所述SSLVPN服务器,所述SSLVPN服务器验证该验证码,通过认证后,为用户签发客户端身份证书并将该客户端数字证书发送至所述客户端设备,以使用户下载并将所述客户端身份证书导入浏览器。用户使用当前导入的客户端数字证书登录SSL VPN服务器,以使SSL VPN服务器根据所述客户端数字证书,验证所述用户,并为通过验证的用户提供相应的内网资源。
由上述内容可知,现有技术中用户每次登录和认证过程都需要重新申请、下载和导入客户端数字证书。当同一个用户多次访问内网资源时,由于该用户需每次都经过客户端数字证书的申请、下载和导入过程,使得SSL VPN服务器对用户的认证效率较低。
发明内容
本发明的多个方面提供一种用户认证方法、SSL VPN服务器及SSL VPN系统,用以提高认证效率。
本发明的一方面,提供一种用户认证方法,包括:
接收客户端设备发送的用户登录请求,所述用户登录请求携带有用户在此次登录之前使用过的客户端数字证书;
验证所述客户端数字证书的合法性以及所述用户是否持有所述客户端数字证书的私钥;
若所述用户持有所述私钥,且所述客户端数字证书合法,则获取所述客户端数字证书的特征值;
查询存储的用户绑定的特征值与用户名的关联关系中是否有与所述特征值对应的用户名,若有,认证通过,否则,认证失败。
本发明的另一方面,提供一种SSL VPN服务器,包括:
第一接收模块,用于接收客户端设备发送的用户登录请求,所述用户登录请求携带有用户在此次登录之前使用过的客户端数字证书;
验证模块,用于验证所述客户端数字证书的合法性以及所述用户是否持有所述客户端数字证书的私钥;
第一获取模块,用于当所述用户持有所述私钥,且所述客户端数字证书合法时,获取所述客户端数字证书的特征值;
查询认证模块,用于查询存储的用户绑定的特征值与用户名的关联关系中是否有与所述特征值对应的用户名,若有,认证通过,否则,认证失败。
本发明的又一个方面,提供一种SSL VPN系统,包括:客户端设备以及所述的SSLVPN服务器;其中,所述SSL VPN服务器用于接收客户端设备发送的用户登录请求,所述用户登录请求携带有用户在此次登录之前使用过的客户端数字证书;验证所述客户端数字证书的合法性以及所述用户是否持有所述客户端数字证书的私钥;若所述用户持有所述私钥,且所述客户端数字证书合法,则获取所述客户端数字证书的特征值;查询存储的用户绑定的特征值与用户名的关联关系中是否有与所述特征值对应的用户名,若有,认证通过,否则,认证失败。
由上述技术方案可知,本发明实施例提供的方法直接复用用户在此次登录前使用过的客户端数字证书登录SSL VPN服务器,SSL VPN服务器除验证所述用户是否持有私钥以及所述客户端数字证书的合法性外,还验证所述客户端数字证书的特征值是否有与其对应的用户名,只有当上述验证均通过后,该用户才算验证通过。本发明提供的方法由于复用了用户之前登录使用过的客户端数字证书,且增加了对客户端数字证书特征值的验证;因此,无需占用网络资源向SSL VPN服务器申请、下载和导入客户端数字证书,避免了因申请、下载和导入客户端数字证书所产生的大量的冗余数据;在保证安全性的同时,简化了多次登录用户的登录过程,提高了SSL VPN服务器的用户认证效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的用户认证方法的流程示意图;
图2为本发明实施例二提供的用户认证方法的一具体实现流程示意图;
图3为本发明实施例二提供的用户认证方法的另一具体实现流程示意图;
图4为本本发明实施例三提供的用户认证方法的信令示意图;
图5为本发明实施例四提供的SSL VPN服务器的结构示意图;
图6为本发明实施例五提供的SSL VPN服务器的结构示意图;
图7为本发明实施例六提供的SSL VPN服务器的结构示意图;
图8为本发明实施例七提供的SSL VPN系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例一提供的用户认证方法的流程示意图。图1所示实施例一的执行主体为SSL VPN服务器。如图1所示,该方法包括:
步骤101、接收客户端设备发送的用户登录请求,所述用户登录请求携带有用户在此次登录之前使用过的客户端数字证书。
步骤102、验证所述客户端数字证书的合法性以及所述用户是否持有所述客户端数字证书的私钥。
具体地,SSL VPN服务器根据客户端数字证书,查找签发所述客户端数字证书的CA根证书,如果找到匹配的CA根证书,则验证所述客户端数字证书合法,否则,所述客户端数字证书不合法。
客户端设备使用用户持有的私钥进行签名,并将签名值通过SSL通道发送至所述SSL VPN服务器。所述SSL VPN使用所述客户端数字证书验证所述签名值的有效性,若该签名值有效,则说明该用户拥有所述客户端数字证书的私钥。
步骤103、若所述用户持有所述私钥,且所述客户端数字证书合法,则获取所述客户端数字证书的特征值。
具体地,所述客户端数字证书的特征值可以是证书持有者通用名(commonname)、序列号、邮箱或客户端证书的MD5哈希值等。
步骤104、查询存储的用户绑定的特征值与用户名的关联关系中是否有与所述特征值对应的用户名,若有,认证通过,否则,认证失败。
这里需要补充的是:在实际应用中,SSL VPN服务器可为不同用户设定不同的访问权限,即所述SSL VPN服务器查询出所述特征值与用户名的关联关系中有与所述特征值对应的用户名,该用户认证通过,所述SSL VPN服务器向该用户推送所述用户名对应访问权限的指定资源。
本实施例一提供的方法直接复用用户在此次登录前使用过的客户端数字证书登录SSL VPN服务器,SSL VPN服务器除验证所述用户是否持有私钥以及所述客户端数字证书的合法性外,还验证所述客户端数字证书的特征值是否有与其对应的用户名,只有当上述验证均通过后,该用户才算验证通过。本实施例由于复用了用户之前登录使用过的客户端数字证书,且增加了对客户端数字证书特征值的验证;因此,无需占用网络资源向SSL VPN服务器申请、下载和导入客户端数字证书,避免了因申请、下载和导入客户端数字证书所产生的大量的冗余数据;在保证安全性的同时,简化了多次登录用户的登录过程,提高了SSLVPN服务器的用户认证效率。
如图2所示,本发明实施例二提供的用户认证方法的流程示意图。图2所示实施例二的执行主体为SSL VPN服务器。如图2所示,本实施例二基于上述实施例一,在上述实施例一所述步骤101之前还包括:
步骤201、获取用户在此次登录之前使用过的至少一个客户端数字证书。
具体地,本步骤的一种可能实现方式如下:
首先,SSL VPN服务器获取所述客户端设备的证书存储区中存储的用户在此次登录之前使用过的至少一个客户端数字证书。
具体地,SSL VPN服务器向所述客户端设备发送客户端数字证书历史使用信息获取请求;接收所述客户端设备根据所述获取请求,返回的携带有所述客户端设备的证书存储区中存储的用户在此次登录之前使用过的至少一个客户端数字证书的响应信息。
然后,所述SSL VPN服务器获取自身预植入的至少一个证书授权中心CA签发的客户端数字证书。
随后,若所述证书存储区中的至少一个客户端数字证书与所述自身预植入的至少一个CA签发的客户端数字证书中具有至少一个相同的客户端数字证书,则所述SSL VPN服务器获取所述至少一个相同的客户端数字证书。
其中,所述SSL VPN服务器获取到的相同的客户端数字证书即为所述用户在此次登录之前使用过的客户端数字证书。所述SSL VPN服务器获取到的所述至少一个相同的客户端数字证书为所述客户端设备的证书存储区中存储的用户在此次登录之前使用过的至少一个客户端数字证书的子集。
步骤202、向所述客户端设备发送第一提示信息,所述第一提示信息用于提示用户从所述用户在此次登录之前使用过的至少一个客户端数字证书中选出一个客户端数字证书进行此次登录。
具体地,当所述SSL VPN服务器获取到所述客户端设备的证书存储区中存储的用户在此次登录之前使用过的至少一个客户端数字证书与自身预植入的至少一个证书授权中心CA签发的客户端数字证书中具有的至少一个相同的客户端数字证书后,向所述客户端设备发送第一提示信息,所述第一提示信息用于提示用户从所述至少一个相同的客户端数字证书中选出一个客户端数字证书进行此次登录。
进一步地,如图3所示,上述实施例二所述的用户认证方法,步骤202之后,还包括:
步骤203、确定所述用户是否为未绑定用户。
本步骤的一种可能实现方式为:SSL VPN服务器根据用户此次登录时使用的用户名,查询所述SSL VPN服务器中存储的特征值与用户名的对应关系中,是否存在有所述用户此次登录时使用的用户名,若有,则所述用户为已绑定用户,否则,所述用户为未绑定用户。或者,若所述SSL VPN服务器内存储有绑定用户列表,则本步骤的另一种可能实现方式为:所述SSL VPN服务器直接查询过所述绑定用户列表,若所述列表中存在有所述用户此次登录时使用的用户名,则所述用户为已绑定用户,否则,所述用户为未绑定用户。
步骤204、若所述用户为未绑定用户,则向所述客户端设备发送第二提示信息,所述第二提示信息用于提示用户是否将选出的客户端数字证书与所述用户此次登录时使用的用户名绑定。
步骤205、接收所述客户端设备在所述用户选择绑定时,发送的携带有客户端数字证书的特征值以及所述用户名的响应信息。
具体地,当用户选择了绑定后,所述客户端设备提取绑定的客户端数字证书的特征值,然后将所述特征值与绑定的用户名发送至所述SSL VPN服务器。
步骤206、将所述特征值和所述用户名关联并存储。
若所述SSL VPN服务器内还存储有绑定用户列表,则本步骤206具体为:将所述用户此次登录使用的用户名存储到绑定用户列表中,并将所述特征值和所述用户名关联并存储。所述SSL VPN服务器将所述特征值和所述用户名关联并存储后,即等待接收所述用户使用选出的客户端数字证书登录SSL VPN服务器时,所述客户端设备发送的携带有选出的客户端数字证书的用户登录请求,并根据所述客户端数字证书验证所述用户,即执行步骤101~104。
这里需要补充的是:当所述用户为已绑定用户,则所述SSL VPN服务器不执行上述步骤204~205以指示用户进行绑定,而直接执行步骤101~104,如图3所示。
下面结合一具体应用实例,对本发明实施例提供的用户认证方法作详细的说明。如图4所示,本发明实施例三提供的用户认证方法的信令示意图。如图4所示,本实施例三所述的方法包括:
步骤301、SSL VPN服务器接收客户端设备发送的携带有用户此次登录使用的用户名的第一登录请求。
步骤302、SSL VPN服务器向客户端设备发送获取请求。所述客户端设备根据所述获取请求,向所述SSL VPN服务器返回携带有所述客户端设备证书存储区中的至少一个客户端数字证书的获取响应。
步骤303、SSL VPN服务器获取自身预植入的至少一个CA签发的客户端数字证书,并比较所述客户端设备证书存储区中的至少一个客户端数字证书与自身预植入的至少一个CA签发的客户端数字证书中是否有相同的客户端数字证书,若有,则获取相同客户端数字证书。
步骤304、SSL VPN服务器向所述客户端设备发送第一提示信息,该第一提示信息用于提示用户从所述至少一个相同的客户端数字证书中选出一个客户端数字证书登录SSLVPN服务器。
步骤305、SSL VPN服务器根据所述用户此次登录使用的用户名,确定所述用户是否为未绑定用户,若是,则向所述客户端设备发送第二提示信息,所述第二提示信息用于提示用户是否将选出的客户端数字证书与所述用户此次登录时使用的用户名绑定。否则,直接进入步骤307。
步骤306、若用户选择绑定,则客户端设备提取与所述用户名绑定的客户端数字证书的特征值,并将所述特征值和所述用户名发送到SSL VPN服务器,以使所述SSL VPN服务器将所述特征值与用户名关联并存储。
步骤307、SSL VPN服务器接收客户端设备发送的携带有用户选出的客户端数字证书的第二登录请求后,SSL VPN服务器验证所述用户是否持有私钥以及所述选出的客户端数字证书的合法性。
步骤308、若所述用户持有所述私钥且所述选出的客户端数字证书合法,则所述SSL VPN服务器获取所述选出的客户端数字证书的特征值,并308查询存储的用户绑定的特征值与用户名的关联关系中是否有与所述特征值对应的用户名,若有,认证通过,并推送所述用户名对应的资源,否则,认证失败。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
如图5所示,本发明实施例四提供的SSL VPN服务器的结构示意图。如图5所示,本实施例四包括:第一接收模块1、验证模块2、第一获取模块3和查询认证模块4。其中,所述第一接收模块1用于接收客户端设备发送的用户登录请求,所述用户登录请求携带有用户在此次登录之前使用过的客户端数字证书。所述验证模块2用于验证所述客户端数字证书的合法性以及所述用户是否持有所述客户端数字证书的私钥。所述第一获取模块3用于当所述用户持有所述私钥,且所述客户端数字证书合法时,获取所述客户端数字证书的特征值。所述查询认证模块4用于查询存储的用户绑定的特征值与用户名的关联关系中是否有与所述特征值对应的用户名,若有,认证通过,否则,认证失败。
本实施例SSL VPN服务器接受用户复用在此次登录前使用过的客户端数字证书的登录,SSL VPN服务器除验证所述用户是否持有私钥以及所述客户端数字证书的合法性外,还验证所述客户端数字证书的特征值是否有与其对应的用户名,只有当上述验证均通过后,该用户才算验证通过。本实施例由于复用了用户之前登录使用过的客户端数字证书,且增加了对客户端数字证书特征值的验证;因此,无需占用网络资源向SSL VPN服务器申请、下载和导入客户端数字证书,避免了因申请、下载和导入客户端数字证书所产生的大量的冗余数据;在保证安全性的同时,简化了多次登录用户的登录过程,提高了SSL VPN服务器的用户认证效率。
进一步地,如图6所示,本发明实施例五提供的SSL VPN服务器的结构示意图。如图6所示,本实施例五基于上述实施例四,在实施例四的基础上,还包括:第二获取模块5和第一发送模块6。其中,所述第二获取模块5用于获取用户在此次登录之前使用过的至少一个客户端数字证书。所述第一发送模块6用于向客户端设备发送第一提示信息,所述第一提示信息用于提示用户从所述用户在此次登录之前使用过的至少一个客户端数字证书中选出一个客户端数字证书进行此次登录。
其中,所述第二获取模块,包括:第一获取单元、第二获取单元和第三获取单元。其中,所述第一获取单元用于获取所述客户端设备的证书存储区中存储的用户在此次登录之前使用过的至少一个客户端数字证书。所述第二获取单元用于获取自身预植入的至少一个证书授权中心CA签发的客户端数字证书。所述第三获取单元用于当所述证书存储区中的至少一个客户端数字证书与所述自身预植入的至少一个CA签发的客户端数字证书中具有至少一个相同的客户端数字证书时,获取所述至少一个相同的客户端数字证书。其中,所述相同的客户端数字证书即为所述用户再次登录之前使用过的客户端数字证书。相应地,本实施例中,所述的第一发送模块具体用于向客户端设备发送第一提示信息,所述第一提示信息用于提示用户从所述第三获取单元获取到的所述至少一个相同的客户端数字证书中选出一个客户端数字证书进行此次登录。
具体地,所述第一获取单元包括:发送子单元和接收子单元。所述发送子单元用于向所述客户端设备发送客户端数字证书历史使用信息获取请求。所述接收子单元用于接收所述客户端设备根据所述获取请求,返回的携带有所述客户端设备的证书存储区中存储的用户在此次登录之前使用过的至少一个客户端数字证书的响应信息。
再进一步地,如图7所示,本发明实施例六提供的SSL VPN服务器的结构示意图。如图7所示,本实施例六基于上述实施例五,在实施例五的基础上,还包括:确定模块7、第二发送模块8、第二接收模块9和存储模块10。其中,所述确定模块7用于确定所述用户是否为已绑定用户。所述第二发送模块8用于当所述用户不为已绑定用户时,向所述客户端设备发送第二提示信息,所述第二提示信息用于提示用户是否将选出的客户端数字证书与所述用户此次登录时使用的用户名绑定。所述第二接收模块9用于接收所述客户端设备在所述用户选择绑定时,发送的携带有客户端数字证书的特征值以及所述用户名的响应信息。所述存储模块10用于将所述特征值和所述用户名关联并存储。
如图8所示,本发明实施例七提供的SSL VPN系统的结构示意图。如图7所示,本实施例七包括:客户端设备20和SSL VPN服务器30。其中,所述SSL VPN服务器30用于接收客户端设备20发送的用户登录请求,所述用户登录请求携带有用户在此次登录之前使用过的客户端数字证书;验证所述客户端数字证书的合法性以及所述用户是否持有所述客户端数字证书的私钥;若所述用户持有所述私钥,且所述客户端数字证书合法,则获取所述客户端数字证书的特征值;查询存储的用户绑定的特征值与用户名的关联关系中是否有与所述特征值对应的用户名,若有,认证通过,否则,认证失败。
本实施例用户直接复用在此次登录前使用过的客户端数字证书登录SSL VPN服务器,SSL VPN服务器除验证所述用户是否持有私钥以及所述客户端数字证书的合法性外,还验证所述客户端数字证书的特征值是否有与其对应的用户名,只有当上述验证均通过后,该用户才算验证通过。本实施例由于复用了用户之前登录使用过的客户端数字证书,且增加了对客户端数字证书特征值的验证;因此,无需占用网络资源向SSL VPN服务器申请、下载和导入客户端数字证书,避免了因申请、下载和导入客户端数字证书所产生的大量的冗余数据;在保证安全性的同时,简化了多次登录用户的登录过程,提高了SSL VPN服务器的用户认证效率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及设备中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种用户认证方法,其特征在于,包括:
获取用户在此次登录之前使用过的至少一个客户端数字证书;
向客户端设备发送第一提示信息,所述第一提示信息用于提示用户从所述用户在此次登录之前使用过的至少一个客户端数字证书中选出一个客户端数字证书进行此次登录;
接收所述客户端设备发送的用户登录请求,所述用户登录请求携带有用户在此次登录之前使用过的客户端数字证书;
验证所述客户端数字证书的合法性以及所述用户是否持有所述客户端数字证书的私钥;
若所述用户持有所述私钥,且所述客户端数字证书合法,则获取所述客户端数字证书的特征值;
查询存储的用户绑定的特征值与用户名的关联关系中是否有与所述特征值对应的用户名,若有,认证通过,否则,认证失败;
其中,所述获取用户在此次登录之前使用过的至少一个客户端数字证书,包括:
获取所述客户端设备的证书存储区中存储的用户在此次登录之前使用过的至少一个客户端数字证书;
获取自身预植入的至少一个证书授权中心CA签发的客户端数字证书;
若所述证书存储区中的至少一个客户端数字证书与所述自身预植入的至少一个CA签发的客户端数字证书中具有至少一个相同的客户端数字证书,则获取所述至少一个相同的客户端数字证书;
相应地,所述向所述客户端设备发送第一提示信息,所述第一提示信息用于提示用户从所述用户在此次登录之前使用过的至少一个客户端数字证书中选出一个客户端数字证书进行此次登录,具体为:
向所述客户端设备发送第一提示信息,所述第一提示信息用于提示用户从获取到的所述至少一个相同的客户端数字证书中选出一个客户端数字证书进行此次登录。
2.根据权利要求1所述的用户认证方法,其特征在于,所述获取所述客户端设备的证书存储区中存储的用户在此次登录之前使用过的至少一个客户 端数字证书,包括:
向所述客户端设备发送客户端数字证书历史使用信息获取请求;
接收所述客户端设备根据所述获取请求,返回的携带有所述客户端设备的证书存储区中存储的用户在此次登录之前使用过的至少一个客户端数字证书的响应信息。
3.根据权利要求1~2中任一所述的用户认证方法,其特征在于,所述向客户端设备发送第一提示信息之后,还包括:
确定所述用户是否为未绑定用户;
若所述用户为未绑定用户,则向所述客户端设备发送第二提示信息,所述第二提示信息用于提示用户是否将选出的客户端数字证书与所述用户此次登录时使用的用户名绑定;
接收所述客户端设备在所述用户选择绑定时,发送的携带有客户端数字证书的特征值以及所述用户名的响应信息;
将所述特征值和所述用户名关联并存储。
4.一种SSL VPN服务器,其特征在于,包括:
第二获取模块,用于获取用户在此次登录之前使用过的至少一个客户端数字证书;
第一发送模块,用于向客户端设备发送第一提示信息,所述第一提示信息用于提示用户从所述用户在此次登录之前使用过的至少一个客户端数字证书中选出一个客户端数字证书进行此次登录;
第一接收模块,用于接收所述客户端设备发送的用户登录请求,所述用户登录请求携带有用户在此次登录之前使用过的客户端数字证书;
验证模块,用于验证所述客户端数字证书的合法性以及所述用户是否持有所述客户端数字证书的私钥;
第一获取模块,用于当所述用户持有所述私钥,且所述客户端数字证书合法时,获取所述客户端数字证书的特征值;
查询认证模块,用于查询存储的用户绑定的特征值与用户名的关联关系中是否有与所述特征值对应的用户名,若有,认证通过,否则,认证失败;
其中,所述第二获取模块,包括:
第一获取单元,用于获取所述客户端设备的证书存储区中存储的用户在 此次登录之前使用过的至少一个客户端数字证书;
第二获取单元,用于获取自身预植入的至少一个证书授权中心CA签发的客户端数字证书;
第三获取单元,用于当所述证书存储区中的至少一个客户端数字证书与所述自身预植入的至少一个CA签发的客户端数字证书中具有至少一个相同的客户端数字证书时,获取所述至少一个相同的客户端数字证书;
相应地,所述第一发送模块,具体用于向客户端设备发送第一提示信息,所述第一提示信息用于提示用户从所述第三获取单元获取到的所述至少一个相同的客户端数字证书中选出一个客户端数字证书进行此次登录。
5.根据权利要求4所述的SSL VPN服务器,其特征在于,所述第一获取单元,包括:
发送子单元,用于向所述客户端设备发送客户端数字证书历史使用信息获取请求;
接收子单元,用于接收所述客户端设备根据所述获取请求,返回的携带有所述客户端设备的证书存储区中存储的用户在此次登录之前使用过的至少一个客户端数字证书的响应信息。
6.根据权利要求4~5中任一所述的SSL VPN服务器,其特征在于,还包括:
确定模块,用于确定所述用户是否为已绑定用户;
第二发送模块,用于当所述用户不为已绑定用户时,向所述客户端设备发送第二提示信息,所述第二提示信息用于提示用户是否将选出的客户端数字证书与所述用户此次登录时使用的用户名绑定;
第二接收模块,用于接收所述客户端设备在所述用户选择绑定时,发送的携带有客户端数字证书的特征值以及所述用户名的响应信息;
存储模块,用于将所述特征值和所述用户名关联并存储。
7.一种SSL VPN系统,其特征在于,包括:客户端设备以及上述权利要求4~6中任一所述的SSL VPN服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310334684.4A CN103427995B (zh) | 2013-08-02 | 2013-08-02 | 用户认证方法、ssl vpn服务器及ssl vpn系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310334684.4A CN103427995B (zh) | 2013-08-02 | 2013-08-02 | 用户认证方法、ssl vpn服务器及ssl vpn系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103427995A CN103427995A (zh) | 2013-12-04 |
CN103427995B true CN103427995B (zh) | 2017-01-25 |
Family
ID=49652203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310334684.4A Active CN103427995B (zh) | 2013-08-02 | 2013-08-02 | 用户认证方法、ssl vpn服务器及ssl vpn系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103427995B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105407092A (zh) * | 2015-11-04 | 2016-03-16 | 北京汉柏科技有限公司 | 一种vpn用户认证方法及装置 |
CN105491062B (zh) * | 2015-12-30 | 2019-07-02 | 北京神州绿盟信息安全科技股份有限公司 | 一种客户端软件保护方法、装置及客户端 |
CN107231336A (zh) * | 2016-03-25 | 2017-10-03 | 中兴通讯股份有限公司 | 一种局域网内网资源的访问控制方法、装置及网关设备 |
CN105827624B (zh) * | 2016-04-26 | 2019-10-18 | 浙江宇视科技有限公司 | 一种身份验证系统 |
CN106101075B (zh) * | 2016-05-31 | 2018-02-02 | 上海连尚网络科技有限公司 | 一种实现安全访问的方法与设备 |
US10362021B2 (en) * | 2016-05-31 | 2019-07-23 | Airwatch Llc | Device authentication based upon tunnel client network requests |
WO2018209623A1 (en) * | 2017-05-17 | 2018-11-22 | Tink Labs Limited | Systems, devices, and methods for performing verification of communications received from one or more computing devices |
CN109544159A (zh) * | 2018-11-12 | 2019-03-29 | 东莞市大易产业链服务有限公司 | 一种快捷授权支付的方法 |
CN111404859A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种客户端认证方法、装置和计算机可读存储介质 |
CN111193732A (zh) * | 2019-12-26 | 2020-05-22 | 国汽(北京)智能网联汽车研究院有限公司 | 一种车内通信方法、装置及电子设备 |
CN112953959A (zh) * | 2021-03-10 | 2021-06-11 | 中国民航信息网络股份有限公司 | 一种认证方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013941A (zh) * | 2007-02-09 | 2007-08-08 | 上海林果科技有限公司 | 数字证书认证/管理系统及认证/管理方法 |
CN101610157A (zh) * | 2009-07-28 | 2009-12-23 | 江苏先安科技有限公司 | 一种Web表单中使用数字证书自动签名的系统和方法 |
CN101964800A (zh) * | 2010-10-21 | 2011-02-02 | 神州数码网络(北京)有限公司 | 一种在ssl vpn中对数字证书用户认证的方法 |
-
2013
- 2013-08-02 CN CN201310334684.4A patent/CN103427995B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013941A (zh) * | 2007-02-09 | 2007-08-08 | 上海林果科技有限公司 | 数字证书认证/管理系统及认证/管理方法 |
CN101610157A (zh) * | 2009-07-28 | 2009-12-23 | 江苏先安科技有限公司 | 一种Web表单中使用数字证书自动签名的系统和方法 |
CN101964800A (zh) * | 2010-10-21 | 2011-02-02 | 神州数码网络(北京)有限公司 | 一种在ssl vpn中对数字证书用户认证的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103427995A (zh) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103427995B (zh) | 用户认证方法、ssl vpn服务器及ssl vpn系统 | |
CN108462704B (zh) | 登录验证方法、装置、计算机设备及存储介质 | |
CN109413096B (zh) | 一种多应用的登录方法及装置 | |
CN102823217B (zh) | 证书机构 | |
CN108830733A (zh) | 一种信息处理方法、区块链集群及系统 | |
CN106452782A (zh) | 为终端设备生成安全通信信道的方法和系统 | |
CN104160653A (zh) | 多因素证书授权机构 | |
CN101841525A (zh) | 安全接入方法、系统及客户端 | |
CN111062023B (zh) | 多应用系统实现单点登录的方法及装置 | |
CN108696348A (zh) | 一种实现ca互信的方法、装置、系统和电子设备 | |
CN103475484B (zh) | USB key认证方法及系统 | |
CN111881483B (zh) | 基于区块链的资源账户绑定方法、装置、设备和介质 | |
CN103326859B (zh) | 基于目录的安全认证系统及方法 | |
CN105262588A (zh) | 基于动态口令的登录方法、账号管理服务器及移动终端 | |
CN110493237A (zh) | 身份管理方法、装置、计算机设备及存储介质 | |
CN113515756B (zh) | 基于区块链的高可信数字身份管理方法及系统 | |
CN102143131B (zh) | 用户注销方法及认证服务器 | |
CN106060078A (zh) | 应用于云平台的用户信息加密方法、注册方法及验证方法 | |
CN111641615A (zh) | 一种基于证书的分布式身份验证方法及系统 | |
CN109067785A (zh) | 集群认证方法、装置 | |
CN1697376A (zh) | 用集成电路卡对数据进行认证或加密的方法和系统 | |
CN110795765B (zh) | 一种基于u盾的个人移动区块链操作系统 | |
CN102780707A (zh) | 一种基于单位邮箱的身份验证方法及系统 | |
CN112235276B (zh) | 主从设备交互方法、装置、系统、电子设备和计算机介质 | |
CN109067749A (zh) | 一种信息处理方法、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |