发明内容
本发明提供了一种域策略下发方法、装置、电子设备和存储介质,用于解决现有的域认证以及域策略下发方法无法适用于国产密码技术,适用性低,同时缺少对认证网关的身份认证,存在认证网关被冒充的可能性的技术问题。
本发明提供了一种域策略下发方法,应用于认证客户端,所述认证客户端基于国产密码算法与认证网关通信;所述认证客户端、所述认证网关分别与域控服务器通信;所述认证网关配置有数字证书;所述方法包括:
响应用户登录请求,向所述认证网关发送认证请求;所述认证请求中携带有用户信息;
接收所述认证网关基于所述认证请求返回的随机数和数字证书;
对所述数字证书进行权威认证;
当认证通过时,基于所述随机数与所述数字证书生成加密签名信息,并将所述加密签名信息发送给所述认证网关;所述认证网关用于对所述加密签名信息进行认证,并在认证通过时,建立所述认证客户端与所述域控服务器之间的传输通道;所述认证网关还用于向所述域控服务器发送所述用户信息;
接收所述域控服务器针对所述用户信息下发的域策略。
可选地,所述用户信息中携带有密码钥匙;所述当认证通过时,基于所述随机数与所述数字证书生成加密签名信息,并将所述加密签名信息发送给所述认证网关的步骤,包括:
当认证通过时,从所述密码钥匙中提取用户名和用户私钥;
采用所述用户私钥对所述随机数进行签名,生成签名信息;
从所述数字证书中提取网关公钥;
采用所述网关公钥对所述用户名和所述签名信息进行加密,生成加密签名信息;
将所述加密签名信息发送给所述认证网关。
本发明还提供了一种域策略下发方法,应用于认证网关,所述认证网关基于国产密码算法与认证客户端通信;所述认证客户端、所述认证网关分别与域控服务器通信;所述认证网关配置有数字证书;所述方法包括:
接收所述认证客户端发送的认证请求,响应所述认证请求生成随机数,并将所述随机数与所述数字证书发送至所述认证客户端;所述认证请求中携带有用户信息;
接收所述认证客户端基于所述随机数与所述数字证书返回的加密签名信息;
对所述加密签名信息进行认证,当认证通过时,向所述域控服务器发送所述用户信息;并建立所述认证客户端与所述域控服务器之间的传输通道;所述传输通道用于所述域控服务器针对所述用户信息向所述认证客户端下发域策略。
可选地,所述用户信息中携带有密码钥匙;所述对所述加密签名信息进行认证,当认证通过时,建立所述认证客户端与所述域控服务器之间的传输通道的步骤,包括:
从所述数字证书中提取网关私钥;
采用所述网关私钥解密所述加密签名信息,得到签名信息;
从所述密码钥匙中提取用户公钥,并采用所述用户公钥对所述签名信息进行解签,得到解签随机数;
比较所述随机数和解签随机数;
若不一致,则认证失败,返回认证失败信息至所述认证客户端;
若一致,则认证通过,建立所述认证客户端与所述域控服务器之间的传输通道。
本发明还提供了一种域策略下发装置,应用于认证客户端,所述认证客户端基于国产密码算法与认证网关通信;所述认证客户端、所述认证网关分别与域控服务器通信;所述认证网关配置有数字证书;所述装置包括:
认证请求发送模块,用于响应用户登录请求,向所述认证网关发送认证请求;所述认证请求中携带有用户信息;
随机数和数字证书接收模块,用于接收所述认证网关基于所述认证请求返回的随机数和数字证书;
权威认证模块,用于对所述数字证书进行权威认证;
加密签名信息发送模块,用于当认证通过时,基于所述随机数与所述数字证书生成加密签名信息,并将所述加密签名信息发送给所述认证网关;所述认证网关用于对所述加密签名信息进行认证,并在认证通过时,建立所述认证客户端与所述域控服务器之间的传输通道;所述认证网关还用于向所述域控服务器发送所述用户信息;
域策略接收模块,用于接收所述域控服务器针对所述用户信息下发的域策略。
可选地,所述用户信息中携带有密码钥匙;所述加密签名信息发送模块,包括:
用户名和用户私钥提取子模块,用于当认证通过时,从所述密码钥匙中提取用户名和用户私钥;
签名信息生成子模块,用于采用所述用户私钥对所述随机数进行签名,生成签名信息;
网关公钥提取子模块,用于从所述数字证书中提取网关公钥;
加密签名信息生成子模块,用于采用所述网关公钥对所述用户名和所述签名信息进行加密,生成加密签名信息;
加密签名信息发送子模块,用于将所述加密签名信息发送给所述认证网关。
本发明还提供了一种域策略下发装置,应用于认证网关,所述认证网关基于国产密码算法与认证客户端通信;所述认证客户端、所述认证网关分别与域控服务器通信;所述认证网关配置有数字证书;所述装置包括:
随机数和数字证书发送模块,用于接收所述认证客户端发送的认证请求,响应所述认证请求生成随机数,并将所述随机数与所述数字证书发送至所述认证客户端;所述认证请求中携带有用户信息;
加密签名信息接收模块,用于接收所述认证客户端基于所述随机数与所述数字证书返回的加密签名信息;
传输通道建立模块,用于对所述加密签名信息进行认证,当认证通过时,向所述域控服务器发送所述用户信息;并建立所述认证客户端与所述域控服务器之间的传输通道;所述传输通道用于所述域控服务器针对所述用户信息向所述认证客户端下发域策略。
可选地,所述用户信息中携带有密码钥匙;所述传输通道建立模块,包括:
网关私钥提取子模块,用于从所述数字证书中提取网关私钥;
解密子模块,用于采用所述网关私钥解密所述加密签名信息,得到签名信息;
解签子模块,用于从所述密码钥匙中提取用户公钥,并采用所述用户公钥对所述签名信息进行解签,得到解签随机数;
比较子模块,用于比较所述随机数和解签随机数;
认证失败信息返回子模块,用于若不一致,则认证失败,返回认证失败信息至所述认证客户端;
建立子模块,用于若一致,则认证通过,建立所述认证客户端与所述域控服务器之间的传输通道。
本发明还提供了一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上任一项所述的一种域策略下发方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被所述处理器执行时实现如上任一项所述的一种域策略下发方法。
从以上技术方案可以看出,本发明具有以下优点:本发明响应用户登录请求,向所述认证网关发送认证请求,并接收所述认证网关基于所述认证请求返回的随机数和数字证书,以对所述数字证书进行权威认证;以及当认证通过时,基于所述随机数与所述数字证书生成加密签名信息,通过认证网关对认证客户端进行认证,实现了认证客户端与认证网关之间的双向认证,避免认证网关被冒充所导致的风险。此外,本发明在认证通过时,建立所述认证客户端与所述域控服务器之间的传输通道,通过所述传输通道向所述域控服务器发送所述用户信息进行域认证,并在认证通过时接收域控服务器下发的域策略,可实现基于国产密码技术的域认证以及域策略下发。
具体实施方式
本发明实施例提供了一种域策略下发方法、装置、电子设备和存储介质,用于解决现有的域认证以及域策略下发方法无法适用于国产密码技术,适用性低,同时缺少对认证网关的身份认证,存在认证网关被冒充的可能性的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的一种域策略下发方法的步骤流程图。
本发明提供的一种域策略下发方法,应用于认证客户端,认证客户端基于国产密码算法与认证网关通信;认证客户端、认证网关分别与域控服务器通信;认证网关配置有数字证书。
其中,认证客户端可以安装在任何终端上,包括但不限于手机、电脑、平板等。
方法包括:
步骤101,响应用户登录请求,向认证网关发送认证请求;认证请求中携带有用户信息;
认证网关是用户进入CA证书认证服务的网络信任域和金融专网应用服务系统前的接入和访问控制设备,它具有用户身份认证代理的功能,能够和证书认证服务系统交互,完成用户身份认证,根据认证结果核对该用户的可信网络访问权限,完成网络接入的鉴权控制。
在本发明实施例中,首先需要建立国产密码算法数字证书资源池,为每位用户分配一个国产密码算法数字证书并存储在密码钥匙中,数字证书中包含一组国产密码算法公钥、私钥,并与用户域账号进行一对一绑定。还需要为认证网关分配并安装硬件国产密码算法密码卡,其中包含认证网关唯一的数字证书。
数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证,可用于身份识别。因此数字证书又称为数字标识。数字证书对网络用户在计算机网络交流中的信息和数据等以加密或解密的形式保证了信息和数据的完整性和安全性。
在本发明实施例中,当用户使用密码钥匙进行终端登录时,认证客户端获取登录信息,并解析登录信息获取用户信息;基于用户信息向认证网关发送认证请求。该认证请求用于获取认证网关相关信息,以对认证网关进行认证,从而识别认证网关是否被冒充。
步骤102,接收认证网关基于认证请求返回的随机数和数字证书;
随机数是专门的随机试验的结果。在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。
在本发明实施例中,认证网关在接收到认证请求后,会生成随机数,并将随机数和自身的数字证书发送给认证客户端。
步骤103,对数字证书进行权威认证;
在本发明实施例中,认证客户端在接收到认证网关发送的数字证书和随机数后,会对认证网关数字证书进行权威认证。认证网关数字证书上有权威认证中心的信息,以及权威认证中心的签名。认证客户端可以根据认证玩骨干数字证书上附带的认证中心相关信息,调用认证中心进行权威认证。
步骤104,当认证通过时,基于随机数与数字证书生成加密签名信息,并将加密签名信息发送给认证网关;认证网关用于对加密签名信息进行认证,并在认证通过时,建立认证客户端与域控服务器之间的传输通道;认证网关还用于向域控服务器发送用户信息;
当认证通过时,可以通过数字证书对随机数进行加密,生成加密签名信息,并将该加密签名信息发送至认证网关,认证网关可通过解密该加密签名信息获取用户相关信息进行认证,从而判断该用户是否为合法用户。当用户身份认证成功后,认证网关可以建立一个从认证客户端到域控服务器的安全传输通道。用以实现认证客户端与域控服务器之间的数据交互。
在一个示例中,如图2所示,步骤104可以通过以下子步骤实现:
S11,当认证通过时,从密码钥匙中提取用户名和用户私钥;
S12,采用用户私钥对随机数进行签名,生成签名信息;
S13,从数字证书中提取网关公钥;
S14,采用网关公钥对用户名和签名信息进行加密,生成加密签名信息;
S15,将加密签名信息发送给认证网关。
具体地,当认证客户端通过对认证网关的权威认证后,可以调用密码钥匙中的用户私钥对随机数进行签名,将用户名及签名信息使用认证网关数字证书中的网关公钥进行加密生成加密签名信息后发送给认证网关。认证网关可通过解密该加密签名信息获取用户相关信息进行认证,从而判断该用户是否为合法用户。当用户身份认证成功后,认证网关可以向域控服务器发送用户的用户信息,使得域控服务器可以对该用户信息进行域认证。认证网关还可以建立一个从认证客户端到域控服务器的传输通道。用以实现认证客户端与域控服务器之间的数据交互。
步骤105,接收域控服务器针对用户信息下发的域策略。
当域控服务器成功校验用户信息后,认证客户端可以通过该传输通道接收域控服务器针对用户信息下发的域策略。
本发明通过响应用户登录请求,向认证网关发送认证请求,并接收认证网关基于认证请求返回的随机数和数字证书,以对数字证书进行权威认证;以及当认证通过时,基于随机数与数字证书生成加密签名信息,通过认证网关对认证客户端进行认证,实现了认证客户端与认证网关之间的双向认证,避免认证网关被冒充所导致的风险。此外,本发明在认证通过时,建立认证客户端与域控服务器之间的传输通道,通过传输通道向域控服务器发送用户信息进行域认证,并在认证通过时接收域控服务器下发的域策略,可实现基于国产密码技术的域认证以及域策略下发。
请参阅图3,图3为本发明实施例提供的一种域策略下发方法的步骤流程图。应用于认证网关,认证网关基于国产密码算法与认证客户端通信;认证客户端、认证网关分别与域控服务器通信;认证网关配置有数字证书;
其中,认证客户端可以设置在任何终端上,包括但不限于手机、电脑、平板等。
具体可以包括以下步骤:
步骤301,接收认证客户端发送的认证请求,响应认证请求生成随机数,并将随机数与数字证书发送至认证客户端;认证请求中携带有用户信息;
在本发明实施例中,首先需要建立国产密码算法数字证书资源池,为每位用户分配一个国产密码算法数字证书并存储在密码钥匙中,数字证书中包含一组国产密码算法公钥、私钥,并与用户域账号进行一对一绑定。还需要为认证网关分配并安装硬件国产密码算法密码卡,其中包含认证网关唯一的数字证书。
在本发明实施例中,当接收到认证客户端发送的认证请求时,可以基于认证请求生成随机数。并将随机数和数字证书发送至认证客户端进行认证。认证客户端可以对认证网关数字证书进行权威认证,并在认证通过后调用密码钥匙中的用户私钥对随机数进行签名,将用户名及签名信息使用认证网关数字证书中的公钥进行加密后发送给认证网关。其中,认证请求是用户使用密码钥匙进行终端登录时,认证客户端获取登录信息,并解析登录信息获取用户信息后生成的信息。
步骤302,接收认证客户端基于随机数与数字证书返回的加密签名信息;
步骤303,对加密签名信息进行认证,当认证通过时,向域控服务器发送用户信息;并建立认证客户端与域控服务器之间的传输通道;传输通道用于域控服务器针对用户信息向认证客户端下发域策略。
在本发明实施例中,当认证网关接收到认证客户端基于随机数和数字证书返回的加密签名信息后,可以对加密签名信息进行认证,当认证通过时,向域控服务器发送用户信息,并建立传输通道,使得域控服务器可以在对用户信息进行域认证后,通过传输通道向认证客户端下发域策略。
在一个示例中,如图4所示,步骤303可以包括以下子步骤:
S21,从数字证书中提取网关私钥;
S22,采用网关私钥解密加密签名信息,得到签名信息;
S23,从密码钥匙中提取用户公钥,并采用用户公钥对签名信息进行解签,得到解签随机数;
S24,比较随机数和解签随机数;
S25,若不一致,则认证失败,返回认证失败信息至认证客户端;
S26,若一致,则认证通过,建立认证客户端与域控服务器之间的传输通道。
在具体实现中,认证网关可以从自身的数字证书提取自身的网关私钥对认证客户端发送的加密签名信息进行解密,得到签名信息;然后从密码钥匙中调用用户公钥对签名信息进行解签得到解签随机数,并将该解签随机数与认证网关生成并发送给认证客户端的随机数进行比较,若两者不一致,则向认证客户端返回认证失败信息;若两者一致,认证通过,认证网关建立一个从终端到域控服务器的传输通道,并将用户数字证书绑定的用户信息发送给域控服务器进行域认证。域控服务器对用户信息进行校验,并在校验成功后,通过传输通道向认证客户端下发域策略。
本发明通过响应用户登录请求,向认证网关发送认证请求,并接收认证网关基于认证请求返回的随机数和数字证书,以对数字证书进行权威认证;以及当认证通过时,基于随机数与数字证书生成加密签名信息,通过认证网关对认证客户端进行认证,实现了认证客户端与认证网关之间的双向认证,避免认证网关被冒充所导致的风险。此外,本发明在认证通过时,建立认证客户端与域控服务器之间的传输通道,通过传输通道向域控服务器发送用户信息进行域认证,并在认证通过时接收域控服务器下发的域策略,可实现基于国产密码技术的域认证以及域策略下发。
为便于理解,以下通过具体示例对本发明上述实施例进行说明:
请参阅图5,图5为本发明实施例提供的一种域策略下发方法的交互示意图。
具体地,在进行域认证和域策略下发之前,首先需要建立国产密码算法数字证书资源池,为每位用户分配一个国产密码算法数字证书并存储在密码钥匙中,数字证书包含一组国产算法公钥、私钥,并与用户域账号进行一对一绑定。还需要为认证网关分配并安装国产密码算法密码卡,其中包含唯一的数字证书。还需要在终端上安装认证客户端,替换window系统登录组件。
域策略下发方法的具体流程包括:
用户使用密码钥匙进行终端登录,认证客户端获得登录信息,向认证网关发送认证请求;
认证网关生成随机数,并将随机数及认证网关数字证书发送给认证客户端;
认证客户端对认证网关数字证书进行权威认证,验证通过后调用密码钥匙中的用户私钥对随机数进行签名,将用户名及签名信息使用认证网关数字证书中的公钥进行加密后发送给认证网关;
认证网关使用自身私钥对认证客户端发送的签名信息进行解密,调用对应用户的公钥进行解签后,得到的随机数与之前生成的随机数进行比较,如一致则说明该用户为合法用户、认证通过,如不一致,则人会认证失败信息给认证客户端;
认证客户端身份认证成功后,认证网关建立一个从终端到域控服务器的安全传输通道,将该用户数字证书绑定的用户信息发送给域控服务器;
域控服务器对用户信息进行校验,校验成功后,域控服务器通过安全传输通道下发域策略到认证客户端。
请参阅图6,图6为本发明实施例提供的一种域策略下发装置的结构框图;应用于认证客户端,认证客户端基于国产密码算法与认证网关通信;认证客户端、认证网关分别与域控服务器通信;认证网关配置有数字证书;装置可以包括:
认证请求发送模块601,用于响应用户登录请求,向认证网关发送认证请求;认证请求中携带有用户信息;
随机数和数字证书接收模块602,用于接收认证网关基于认证请求返回的随机数和数字证书;
权威认证模块603,用于对数字证书进行权威认证;
加密签名信息发送模块604,用于当认证通过时,基于随机数与数字证书生成加密签名信息,并将加密签名信息发送给认证网关;认证网关用于对加密签名信息进行认证,并在认证通过时,建立认证客户端与域控服务器之间的传输通道;认证网关还用于向域控服务器发送用户信息;
域策略接收模块605,用于接收域控服务器针对用户信息下发的域策略。
在本发明实施例中,用户信息中携带有密码钥匙;加密签名信息发送模块604,可以包括:
用户名和用户私钥提取子模块,用于当认证通过时,从密码钥匙中提取用户名和用户私钥;
签名信息生成子模块,用于采用用户私钥对随机数进行签名,生成签名信息;
网关公钥提取子模块,用于从数字证书中提取网关公钥;
加密签名信息生成子模块,用于采用网关公钥对用户名和签名信息进行加密,生成加密签名信息;
加密签名信息发送子模块,用于将加密签名信息发送给认证网关。
请参阅图7,图7为本发明实施例提供的一种域策略下发装置的结构框图;应用于认证网关,认证网关基于国产密码算法与认证客户端通信;认证客户端、认证网关分别与域控服务器通信;认证网关配置有数字证书;装置可以包括:
随机数和数字证书发送模块701,用于接收认证客户端发送的认证请求,响应认证请求生成随机数,并将随机数与数字证书发送至认证客户端;认证请求中携带有用户信息;
加密签名信息接收模块702,用于接收认证客户端基于随机数与数字证书返回的加密签名信息;
传输通道建立模块703,用于对加密签名信息进行认证,当认证通过时,向域控服务器发送用户信息;并建立认证客户端与域控服务器之间的传输通道;传输通道用于域控服务器针对用户信息向认证客户端下发域策略。
在本发明实施例中,用户信息中携带有密码钥匙;传输通道建立模块,可以包括:
网关私钥提取子模块,用于从数字证书中提取网关私钥;
解密子模块,用于采用网关私钥解密加密签名信息,得到签名信息;
解签子模块,用于从密码钥匙中提取用户公钥,并采用用户公钥对签名信息进行解签,得到解签随机数;
比较子模块,用于比较随机数和解签随机数;
认证失败信息返回子模块,用于若不一致,则认证失败,返回认证失败信息至认证客户端;
建立子模块,用于若一致,则认证通过,建立认证客户端与域控服务器之间的传输通道。
本发明还提供了一种电子设备,包括存储器及处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行如本发明任一实施例的一种域策略下发方法的步骤。
本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如本发明任一实施例的一种域策略下发方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来达到实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。