一种单点登录方法、服务器及客户端与流程

文档序号:12829083阅读:656来源:国知局
一种单点登录方法、服务器及客户端与流程

本发明涉及通信技术领域,尤其涉及一种单点登录方法、服务器及客户端。



背景技术:

近些年,信息安全技术的飞速发展,密码算法的应用已经非常普遍,深刻影响着人们日常的工作、学习以及生活,以数字证书为代表的信息安全技术已经在企业、政府、银行、金融、能源等各领域得到了广泛应用。国家对密码算法的安全重视程度也有了空前提高,国家密码管理局相继颁布了sm2、sm3、sm4等一系列商用密码算法国家标准,在密码算法上确立了我国自己的标准,规范了国家密码算法的使用,保障了在信息安全领域的话语权。目前,相关信息安全厂商也都已经着手对国密算法的研究、实现和应用。随着办公信息化的快速发展,很多单位内网都上线了多个web应用系统,用户在使用这些应用系统的时候一般需要单独、多次登录,造成使用不便,用户体验不太友好。“单点登录”是为了解决上述使用不便而提出的解决方法,这种方法可以允许用户只需通过一次认证,即可使用多个应用系统,以避免用户重复输入账户口令,从而提高用户使用体验。

目前实现web单点登录方法有一些局限性:

1.没有使用数字证书标识用户身份。

2.数据安全保护措施中基本没有使用国密算法的。



技术实现要素:

本发明的实施例提供了一种单点登录方法、服务器及客户端。本发明提供了如下方案:

确定服务器端所接收的客户端的用户所请求登录的应用资源存在于数据库所记录的已绑定的单点登录信息的列表中;

使用第一秘钥,采用sm4算法加密用户单点登录信息形成第一密文;

对所述第一秘钥再使用第二秘钥进行加密,形成第二密文;

将所述第一密文和第二密文拼接,采用sm3算法处理拼接密文形成单点登录密文;

将客户端的用户所请求的应用资源和单点登录密文发送给客户端。

根据本发明的上述方法,包括:

确定服务器端所接收的客户端的用户所请求登录的应用资源不存在于数据库所记录的已经绑定的单点登录信息的列表中,

将客户端所请求的应用资源直接发送给客户端。

根据本发明的上述方法,包括:

接收服务器端所发送的应用资源和单点登录密文;

采用bho控件使用用户证书的私钥解密所述单点登录密文,获取单点登录信息,并缓存;

所述浏览器辅助对象bho控件以统一资源定位符url地址匹配缓存的单点登录信息;

当匹配成功,则将用户绑定好的用户名和口令信息通过网页代填完成自动输入并提交为用户获取登录权限;

当匹配不成功,提示用户选择绑定用户名和口令或提示用户作出其他选择。

根据本发明的上述方法,包括:

当匹配不成功,用户选择绑定用户名和口令时,将用户输入绑定的用户名和口令,发送至服务器端;

所述bho控件更新本地缓存的单点登录信息。

根据本发明的上述方法,包括:

当匹配不成功,用户作出其他选择时,向用户推送用户所请求的应用资源登录页,供用户手动输入用户名和口令。

根据本发明的另一方面,还提供一种单点登录的服务器,包括:

确定模块:其用于确定服务器端所接收的客户端的用户所请求登录的应用资源存在于数据库所记录的已绑定的单点登录信息的列表中;

第一密文模块:其用于使用第一秘钥,采用sm4算法加密用户单点登录信息形成第一密文;

第二密文模块:其用于对所述第一秘钥再使用第二秘钥进行加密,形成第二密文;

拼接模块:其用于将所述第一密文和第二密文拼接,采用sm3算法处理拼接密文形成单点登录密文;

发送模块:其用于将客户端用户所请求的应用资源和单点登录密文发送给客户端。

根据本发明的另一方面,所述确定模块,还用于确定服务器端所接收的客户端的用户所请求登录的应用资源不存在于数据库所记录的已经绑定的单点登录信息的列表中;

所述发送模块,还用于当所述确定模块确定服务器端所接收的客户端的用户所请求登录的应用资源不存在于数据库所记录的已经绑定的单点登录信息的列表中时,将客户端所请求的应用资源和单点登录密文直接发送给客户端。

根据本发明的另一方面,还提供一种单点登录的客户端,包括:

接收模块:其用于接收服务器所发送的应用资源和单点登录密文;

获取模块:其用于采用bho控件使用用户证书的私钥解密所述单点登录密文,获取单点登录信息,并缓存;

匹配模块:其用于采用bho控件以url地址匹配缓存的单点登录信息;

当匹配成功,则将用户绑定好的用户名和口令信息通过网页代填完成自动输入并提交为用户获取登录权限;

当匹配不成功,提示用户选择绑定用户名和口令或提示用户作出其他选择。

根据本发明的另一方面,所述匹配模块,还用于当匹配不成功,用户选择绑定用户名和口令时,将用户输入绑定的用户名和口令,发送至服务器端;

客户端bho控件更新本地缓存的单点登录信息。

根据本发明的另一方面,所述匹配模块,还用于,当匹配不成功,用户作出其他选择时,客户端推送用户所请求的应用资源登录页,供用户手动输入用户名和口令。

由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过确定确定服务器端所接收的客户端的用户所请求登录的应用资源存在于数据库所记录的已绑定的单点登录信息的列表中;使用第一秘钥,采用sm4算法加密用户单点登录信息形成第一密文;对所述第一秘钥再使用第二秘钥进行加密,形成第二密文;将所述第一密文和第二密文拼接,采用sm3算法处理拼接密文形成单点登录密文;将客户端的用户所请求的应用资源和单点登录密文发送给客户端。本发明使用国密算法保护数据安全,以数字证书为载体来标识用户身份,实现统一认证,一次登录即可使用多个独立应用系统,提高用户使用体验。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一提供的一种单点登录方法的处理流程图;

图2为本发明实施例二提供的一种单点登录方法的处理流程图;

图3为本发明实施例三提供的一种单点登录服务器的系统模块图;

图4为本发明实施例四提供的一种单点登录客户端的系统模块图。

具体实施方式

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

实施例一

该实施例提供了一种单点登录方法的处理流程如图1所示,本实施例中,其服务器端接收客户端发起的应用请求,建立双向连接,并提取用户身份;根据所述用户身份,查找数据库所记录的已经绑定的单点登录信息的用户列表中是否存在用户请求的登录应用资源;

处理步骤如下:

步骤11、确定服务器端所接收的客户端的用户所请求登录的应用资源存在于数据库所记录的已绑定的单点登录信息的列表中;

步骤12、使用第一秘钥,采用sm4算法加密用户单点登录信息形成第一密文;

具体地,本实施例中,采用随机数,产生一个32bit长度的对称密钥作为第一秘钥,使用sm4算法加密单点登录数据形成第一密文;

步骤13、对所述第一秘钥再使用第二秘钥进行加密,形成第二密文;

具体地,本实施例中,使用用户证书里的rsa公钥作为第二秘钥加密第一密文形成第二密文;

步骤14、将所述第一密文和第二密文拼接,采用sm3算法处理拼接密文形成单点登录密文;

具体地,本实施例中,将所述第一密文和第二密文拼接,使用sm3算法对拼接后的密文做哈希并把形成的哈希数据拼接到密文后,形成最终的单点登录密文;

步骤15、将客户端的用户所请求的应用资源和单点登录密文发送给客户端。

具体地,本实施例中,将客户端所请求的应用资源和单点登录密文形成登录首页发送给客户端。本领域技术人员应能理解上述登录首页的应用类型仅为举例,其他现有的或今后可能出现的将客户端所请求的应用资源和单点登录密文发送给客户端的应用类型如可适用于本发明实施例,也应包含在本发明保护范围以内,并在此以引用方式包含于此。

此外,还存在另外一种情况,当确定服务器端所接收的客户端的用户所请求登录的应用资源不存在于数据库所记录的已经绑定的单点登录信息的列表中,将客户端所请求的应用资源直接发送给客户端。

实施例二

本实施例提供了一种单点登录方法的处理流程如图2所示,本实施例中,其客户端端处理步骤如下:

步骤21、接收服务器端所发送的应用资源和单点登录密文;具体地,本实施例中,接收服务器端所发送的应用资源和单点登录密文形成登录首页;

步骤22、采用浏览器辅助对象bho(browserhelperobject),控件使用用户证书的私钥解密所述单点登录密文,获取单点登录信息,并缓存;

本实施例中,采用bho控件使用用户证书的私钥解密所述单点登录密文,获取单点登录信息,并按照约定的格式缓存;点击登录首页应用资源;

步骤23、所述bho控件以统一资源定位符url(uniformresourcelocator)地址匹配缓存的单点登录信息;

步骤24、当匹配成功,则将用户绑定好的用户名和口令信息通过网页代填完成自动输入并提交为用户获取登录权限;

步骤25、当匹配不成功,提示用户选择绑定用户名和口令或提示用户作出其他选择。

具体地,当匹配不成功,用户选择绑定用户名和口令时,将用户输入绑定的用户名和口令,发送至服务器端;同时,bho控件更新本地缓存的单点登录信息。

或者,当匹配不成功,用户作出其他选择时,向用户推送用户所请求的应用资源登录页,供用户手动输入用户名和口令。

实施例三

该实施例提供了一种单点登录的服务器30,其具体实现结构如图3所示,具体可以包括如下的模块:

确定模块31:其用于确定服务器端所接收的客户端的用户所请求登录的应用资源存在于数据库所记录的已绑定的单点登录信息的列表中;

第一密文模块32:其用于使用第一秘钥,采用sm4算法加密用户单点登录信息形成第一密文;

第二密文模块33:其用于对所述第一秘钥再使用第二秘钥进行加密,形成第二密文;

拼接模块34:其用于将所述第一密文和第二密文拼接,采用sm3算法处理拼接密文形成单点登录密文;

发送模块35:其用于将客户端的用户所请求的应用资源和单点登录密文发送给客户端。

所述确定模块31,还用于确定服务器端所接收的客户端的用户所请求登录的应用资源不存在于数据库所记录的已经绑定的单点登录信息的列表中;

所述发送模块35,还用于当所述确定模块确定服务器端所接收的客户端的用户所请求登录的应用资源不存在于数据库所记录的已经绑定的单点登录信息的列表中时,将客户端所请求的应用资源和单点登录密文直接发送给客户端。

用本发明实施例的服务器进行单点登录的具体过程与前述实施例一方法实施例类似,此处不再赘述。

综上所述,本发明实施例通过确定确定服务器端所接收的客户端的用户所请求登录的应用资源存在于数据库所记录的已绑定的单点登录信息的列表中;使用第一秘钥,采用sm4算法加密用户单点登录信息形成第一密文;对所述第一秘钥再使用第二秘钥进行加密,形成第二密文;将所述第一密文和第二密文拼接,采用sm3算法处理拼接密文形成单点登录密文;将客户端的用户所请求的应用资源和单点登录密文发送给客户端。本发明通过使用国密算法保护数据安全,以数字证书为载体来标识用户身份,实现统一认证,一次登录即可使用多个独立应用系统,提高用户使用体验。

实施例四

该实施例提供了一种单点登录的客户端40,其具体实现结构如图4所示,具体可以包括如下的模块:

接收模块41:其用于接收服务器所发送的应用资源和单点登录密文;

获取模块42:其用于采用bho控件使用用户证书的私钥解密所述单点登录密文,获取单点登录信息,并缓存;

匹配模块43:其用于采用bho控件以url地址匹配缓存的单点登录信息;

当匹配成功,则将用户绑定好的用户名和口令信息通过网页代填完成自动输入并提交为用户获取登录权限;

当匹配不成功,提示用户选择绑定用户名和口令或提示用户作出其他选择。

匹配模块43,还用于当匹配不成功,用户选择绑定用户名和口令时,将用户输入绑定的用户名和口令,发送至服务器端;

客户端bho控件更新本地缓存的单点登录信息。

匹配模块43,还用于,当匹配不成功,用户作出其他选择时,客户端推送用户所请求的应用资源登录页,供用户手动输入用户名和口令。

用本发明实施例的客户端进行单点登录的具体过程与前述实施例二方法类似,此处不再赘述。

综上所述,本发明实施例通过接收服务器端所发送的应用资源和单点登录密文;采用bho控件使用用户证书的私钥解密所述单点登录密文,获取单点登录信息,并缓存;所述浏览器辅助对象bho控件以统一资源定位符url地址匹配缓存的单点登录信息;当匹配成功,则将用户绑定好的用户名和口令信息通过网页代填完成自动输入并提交为用户获取登录权限;当匹配不成功,提示用户选择绑定用户名和口令或提示用户作出其他选择。本发明所提供使用数字证书表示用户身份,登录账户等敏感信息采用国密算法加密保护,最终实现多应用系统的统一认证,统一登录,保证数据的安全性,提高用户使用体验,有着很好的应用前景。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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