一种基于国密算法的身份认证系统及方法技术方案

技术编号:23472866 阅读:16 留言:0更新日期:2020-03-06 14:08
本发明专利技术公开了一种基于国密算法的身份认证系统及方法,属于身份认证领域,要解决的技术问题为如何为各个信息系统提供高效、灵活且安全的统一身份认证。其系统包括数据存储模块;密钥模块存储有密钥,用于提供密钥管理服务;客户终端模块,用于得到加密后登录用户信息数据;身份认证模块,用于通过国密算法对上述解密得到的登录用户信息数据进行签名,得到第一签名值;认证服务模块,用于国密算法对上述解密得到的登录用户信息数据进行签名,得到第二签名值,在第一签名值和第二签名值一致时生成访问令牌、并将验证结果和访问令牌反馈至身份认证模块,在不一致时用于将验证结果反馈至身份认证模块。方法为采用上述系统进行统一身份认证。

An identity authentication system and method based on state secret algorithm

【技术实现步骤摘要】
一种基于国密算法的身份认证系统及方法
本专利技术涉及身份认证领域,具体地说是一种基于国密算法的身份认证系统及方法。
技术介绍
在当前的信息化建设过程中,各信息系统用户需要访问系统内的资源时,一般需要凭用户名和密码登录系统后才能访问,这时各系统自己存储和管理用户的用户名和密码,每套系统也都拥有自己独立的账号密码权限体系,这时,每个人员都需要记住不同系统的账号密码,人员入职和离职时,人事部门都需要对多个系统进行账号的分配和关停,更严重的是部分系统的管理权限不在人事部门,人员离职时系统的账号未能及时关停,存在较大的安全风险。在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情,随着移动互联网时代到来,客户端的类型越来越多,逐渐出现了一个服务器,N个客户端的格局,因此对于建设统一的身份认证中心的要求也越来越高。如何提供高效、灵活且安全的统一身份认证,是需要解决的技术问题。
技术实现思路
本专利技术的技术任务是针对以上不足,提供一种基于国密算法的身份认证系统及方法,来解决如何为各个信息系统提供高效、灵活且安全的统一身份认证的问题。第一方面,本专利技术提供一种基于国密算法的身份认证系统,包括:数据存储模块,所述数据存储模块配置数据库;密钥模块,所述密钥模块存储有密钥,用于提供密钥管理服务,所述密钥管理服务包括查询指定应用的私钥;客户终端模块,所述客户终端模块用于接收不同用户终端发起的身份认证请求,身份认证请求包括登录用户信息数据,并根据预先分配的公钥对登录用户信息数据进行预处理加密,得到加密后登录用户信息数据;认证模块,所述认证模块包括身份认证模块和认证服务模块,身份认证模块用于调用密钥管理服务并根据获取的私钥对加密后登录用户信息数据进行解密,并通过国密算法对上述解密得到的登录用户信息数据进行签名,得到第一签名值;认证服务模块用于调用密钥管理服务并根据获取的私钥对加密后登录用户信息数据进行解密,并通过国密算法对上述解密得到的登录用户信息数据进行签名,得到第二签名值,并验证第一签名值和第二签名值是否一致生成验证结果,在第一签名值和第二签名值一致时用于生成访问令牌、并将验证结果和访问令牌反馈至身份认证模块,在第一签名值和第二签名值不一致时用于将验证结果反馈至身份认证模块;身份认证模块用于将访问令牌反馈至客户终端模块,并用于将验证结果反馈至数据存储模块。作为优选,登录用户信息数据包括但不限于认证模块编号、登录账号、用户编号、应用编号和时间戳。作为优选,密钥管理服务包括:根据应用编号查询获取指定应用的私钥和盐值;根据认证模块编号通过OAuth2授权方式查询获取授权码地址、获取访问令牌地址、获取用户信息地址及系统注销地址。作为优选,身份认证模块用于调用密钥管理服务,根据应用编号查询获取指定应用的私钥和盐值,根据认证模块编号通过OAuth2授权方式查询获取授权码地址、获取访问令牌地址、获取用户信息地址及系统注销地址;用于根据获取的私钥通过SM2算法对加密后登录用户信息数据进行解密,并根据SM3算法对上述解密得到的登录用户信息数据进行签名。作为优选,认证服务模块用于调用密钥管理服务,根据应用编号查询获取指定应用的私钥和盐值,根据认证模块编号通过OAuth2授权方式查询获取授权码地址、获取访问令牌地址、获取用户信息地址及系统注销地址;用于根据获取的私钥通过SM2算法对加密后登录用户信息数据进行解密,并根据SM3算法对上述解密得到的登录用户信息数据进行签名。第二方面,本专利技术提供一种基于国密算法的身份认证方法,通过如第一方面任一项所述的基于国密算法的身份认证系统提供统一的身份认证,所述方法包括:获取用户终端发起的身份认证请求,所述身份认证请求包括登录用户信息数据,并根据预先分配的公钥对登录用户信息数据进行预处理加密,得到加密后登录用户信息数据;通过身份认证模块调用密钥管理服务、并根据获取的私钥对加密后登录用户信息数据进行解密,并通过国密算法对上述解密得到的登录用户信息数据进行签名,得到第一签名值;通过认证服务模块调用密钥管理服务、并根据获取的私钥对加密后登录用户信息数据进行解密,并通过国密算法对上述解密得到的登录用户信息数据进行签名,得到第二签名值;通过认证服务模块验证第一签名值和第二签名值是否一致并生成验证结果;如果第一签名值和第二签名值一致时生成访问令牌,将验证结果和访问令牌反馈至身份认证模块,身份认证模块将访问令牌和验证结果通过客户终端反馈至用户终端;如果第一签名值和第二签名值不一致,将验证结果反馈至身份认证模块,身份认证模块将验证结果反馈至数据存储模块。作为优选,登录用户信息数据包括但不限于认证模块编号、登录账号、用户编号、应用编号和时间戳。作为优选,密钥管理服务包括:根据应用编号查询获取指定应用的私钥和盐值;根据认证模块编号通过OAuth2授权方式查询获取授权码地址、获取访问令牌地址、获取用户信息地址及系统注销地址。作为优选,通过身份认证模块调用密钥管理服务、并根据获取的私钥对加密后登录用户信息数据进行解密,并对上述解密得到的登录用户信息数据进行签名,包括如下步骤:根据应用编号查询获取指定应用的私钥和盐值;根据认证模块编号通过OAuth2授权方式查询获取授权码地址、获取访问令牌地址、获取用户信息地址及系统注销地址;根据获取的私钥通过SM2算法对加密后登录用户信息数据进行解密;根据SM3算法对上述解密得到的登录用户信息数据进行签名。作为优选,通过认证服务模块调用密钥管理服务、并根据获取的私钥对加密后登录用户信息数据进行解密,并对上述解密得到的登录用户信息数据进行签名,包括如下步骤;根据应用编号查询获取指定应用的私钥和盐值;根据认证模块编号通过OAuth2授权方式查询获取授权码地址、获取访问令牌地址、获取用户信息地址及系统注销地址;根据获取的私钥通过SM2算法对加密后登录用户信息数据进行解密;根据SM3算法对上述解密得到的登录用户信息数据进行签名。本专利技术的一种基于国密算法的身份认证系统及方法具有以下优点:为各信息系统提供基于国密算法的签名认证方式,能够实现简洁、高效、灵活、安全的统一身份认证机制以及两级应用部署模式下的统一身份认证,实现了对各信息系统账号体系的统一管理和统一认证。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。下面结合附图对本专利技术进一步说明。附图1为实施例1基于国密算法的身份认证系统的结构框图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步说明,以使本领域的技术人员可以更好地理解本专利技术本文档来自技高网...

【技术保护点】
1.一种国密算法的身份认证系统,其特征在于包括:/n数据存储模块,所述数据存储模块配置有数据库;/n密钥模块,所述密钥模块存储有密钥,用于提供密钥管理服务,所述密钥管理服务包括查询指定应用的私钥;/n客户终端模块,所述客户终端模块用于接收不同用户终端发起的身份认证请求,身份认证请求包括登录用户信息数据,并根据预先分配的公钥对登录用户信息数据进行预处理加密,得到加密后登录用户信息数据;/n认证模块,所述认证模块包括身份认证模块和认证服务模块,身份认证模块用于调用密钥管理服务并根据获取的私钥对加密后登录用户信息数据进行解密,并通过国密算法对上述解密得到的登录用户信息数据进行签名,得到第一签名值;/n认证服务模块用于调用密钥管理服务并根据获取的私钥对加密后登录用户信息数据进行解密,并通过国密算法对上述解密得到的登录用户信息数据进行签名,得到第二签名值,并验证第一签名值和第二签名值是否一致生成验证结果,在第一签名值和第二签名值一致时用于生成访问令牌、并将验证结果和访问令牌反馈至身份认证模块,在第一签名值和第二签名值不一致时用于将验证结果反馈至身份认证模块;/n身份认证模块用于将访问令牌反馈至客户终端模块,并用于将验证结果反馈至数据存储模块。/n...

【技术特征摘要】
1.一种国密算法的身份认证系统,其特征在于包括:
数据存储模块,所述数据存储模块配置有数据库;
密钥模块,所述密钥模块存储有密钥,用于提供密钥管理服务,所述密钥管理服务包括查询指定应用的私钥;
客户终端模块,所述客户终端模块用于接收不同用户终端发起的身份认证请求,身份认证请求包括登录用户信息数据,并根据预先分配的公钥对登录用户信息数据进行预处理加密,得到加密后登录用户信息数据;
认证模块,所述认证模块包括身份认证模块和认证服务模块,身份认证模块用于调用密钥管理服务并根据获取的私钥对加密后登录用户信息数据进行解密,并通过国密算法对上述解密得到的登录用户信息数据进行签名,得到第一签名值;
认证服务模块用于调用密钥管理服务并根据获取的私钥对加密后登录用户信息数据进行解密,并通过国密算法对上述解密得到的登录用户信息数据进行签名,得到第二签名值,并验证第一签名值和第二签名值是否一致生成验证结果,在第一签名值和第二签名值一致时用于生成访问令牌、并将验证结果和访问令牌反馈至身份认证模块,在第一签名值和第二签名值不一致时用于将验证结果反馈至身份认证模块;
身份认证模块用于将访问令牌反馈至客户终端模块,并用于将验证结果反馈至数据存储模块。


2.根据权利要求1所述的一种基于国密算法的身份认证系统,其特征在于登录用户信息数据包括但不限于认证模块编号、登录账号、用户编号、应用编号和时间戳。


3.根据权利要求2所述的一种基于国密算法的身份认证系统,其特征在于密钥管理服务包括:
根据应用编号查询获取指定应用的私钥和盐值;
根据认证模块编号通过OAuth2授权方式查询获取授权码地址、获取访问令牌地址、获取用户信息地址及系统注销地址。


4.根据权利要求3所述的一种基于国密算法的身份认证系统,其特征在于身份认证模块用于调用密钥管理服务,根据应用编号查询获取指定应用的私钥和盐值,根据认证模块编号通过OAuth2授权方式查询获取授权码地址、获取访问令牌地址、获取用户信息地址及系统注销地址;
用于根据获取的私钥通过SM2算法对加密后登录用户信息数据进行解密,并根据SM3算法对上述解密得到的登录用户信息数据进行签名。


5.根据权利要求3所述的一种基于国密算法的身份认证系统,其特征在于认证服务模块用于调用密钥管理服务,根据应用编号查询获取指定应用的私钥和盐值,根据认证模块编号通过OAuth2授权方式查询获取授权码地址、获取访问令牌地址、获取用户信息地址及系统注销地址;
用于根据获取的私钥通过SM2算法对加密后登录用户信息数据进行解密,并根据SM3算法对上述解密得到的登录用户信息数据进行签名。


6.一种基于国密算法的身份认证方法,其特征在于通过如权利要求1-...

【专利技术属性】
技术研发人员:付君伟段其朴杜文典
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1