本发明涉及访问验证领域,具体而言,涉及基于云端数据库的动态访问验证方法及系统。
背景技术:
1、系统访问过程中,为了保证用户访问安全性,系统会设置一些认证程序与访问权限保护策略,实现访问安全性,现有的系统访问验证方法中,在进行用户身份认证过程中的主流方案为采用账号和密码。
2、现有公布号为:cn118264469a的发明专利提出一种系统登录权限管理方法、系统及介质,基于访问请求指令,对用户进行身份认证,若身份认证成功,从初始账号库和密码库中随机匹配一组账号和密码用于登录,登录成功后获取用户对应的访问权限,根据访问权限调取系统内该用户可访问的应用列表。
3、现有技术通过随机匹配账号和密码的方式提高系统安全性,但是账号和密码存储于初始库中,若初始库泄露,依然可以通过暴力破解的方式获取账号和密码,同时,随机匹配的账号和密码在发送给用户时易被截取,使得系统安全性降低。
技术实现思路
1、本发明的目的在于提供一种基于云端数据库的动态访问验证方法及系统,通过安全传输策略实现用户与系统的信息保密传输,将账号和密码通过单向函数生成映射值并存储于云端数据库中,提高系统安全性,同时包含基本的身份认证、动态验证和锁定保护功能。
2、实现本发明目的的技术解决方案为:
3、一种基于云端数据库的动态访问验证方法,包括以下步骤:
4、用户发起注册请求,填写注册信息,注册信息包括账号和密码,基于安全传输策略发送注册信息至系统,系统获取注册信息,执行判断反馈策略;
5、用户发起登录请求,填写登录信息,登录信息包括账号和密码,基于所述安全传输策略发送登录信息至系统,系统获取登录信息,通过身份验证策略认证用户身份;
6、用户身份验证成功后,获取用户相应的访问权限,根据访问权限调取系统内用户可访问的内容,执行间歇性验证策略。
7、进一步的,安全传输策略包括密文构建和密文解密;
8、密文构建在发送端对数据包进行分块重组,使用交叉加密算法对不同大小的数据块进行加密,从而构建密文;
9、密文解密在接收端采取与密文构建完全相反的步骤顺序,从密文中还原数据包。
10、更进一步的,密文构建包括如下步骤:
11、获取数据包和数据包大小;
12、设置第一分块粒度和第二分块粒度,计算粒度乘积,所述粒度乘积为第一分块粒度和第二分块粒度的乘积;
13、判断数据包大小是否为粒度乘积的整数倍,若不是,则在数据包的末尾补0使数据包大小为粒度乘积的整数倍;
14、从补0后的数据包中信息的起始位置开始,以整数倍大小为单位读取信息,共获取等同于粒度乘积数值大小的子数据包;
15、将按照第二分块粒度大小划分所有子数据包,共得到数量等同于第一分块粒度大小的组,拼接不同组中下标差距为第二分块粒度大小整数倍的子数据包,得到数量等同于第二分块粒度大小的输出流;
16、采用交叉加密算法处理输出流,生成密文。
17、进一步的,交叉加密算法包括如下步骤:
18、设置加密数据比,将数量等同于第二分块粒度大小的输出流按照加密数据比拆分为数量等同于两倍第二分块粒度大小的子输出流;
19、分别使用对称加密算法和非对称加密算法对子输出流进行加密,得到数量等同于两倍第二分块粒度大小的加密文件;
20、组合所有加密文件,生成密文。
21、更进一步的,密文解密包括如下步骤:
22、获取密文、第一分块粒度、第二分块粒度和倍数大小;
23、使用对称加密算法和非对称加密算法解密密文,获取数量等同于两倍第二分块粒度大小的子输出流,其中,解密过程的对称加密算法和非对称加密算法与加密过程保持一致;
24、结合第一分块粒度、第二分块粒度和倍数大小按照密文构建中分块重组的逆向方案拼接子输出流获取数据包。
25、进一步的,判断反馈策略包括如下步骤:
26、获取注册信息中的账号,通过第一单向函数生成账号映射值;
27、查询云端数据库中的索引,比对账号映射值是否已存在;
28、若账号映射值已存在,反馈第一标签,所述第一标签表示账号已注册;
29、若账号映射值未存在,则通过第二单向函数生成密码映射值,将账号映射值作为索引和密码映射值存入云端数据库,反馈第二标签,所述第二标签表示注册成功。
30、可选的,第一单向函数和第二单向函数可以选择相同或不同的的单向函数,单向函数包括md5、sha、mac。
31、进一步的,身份验证策略包括如下步骤:
32、获取登录信息中的账号和密码,分别采用第一单向函数和第二单向函数生成账号映射值和密码映射值,所述第一单向函数和第二单向函数与判断反馈策略中保持一致;
33、查询云端数据库中的索引,判断账号映射值是否存在,若不存在,则反馈第三标签,所述第三标签表示账号未注册,若存在,则索引至云端数据库中的密码映射值;
34、进一步比对密码映射值与云端数据库中密码映射值是否相同,若相同,则执行二次验证策略,若不相同,则执行登录保护策略。
35、更进一步的,登录保护策略包括如下步骤:
36、记录当前系统时间,生成限制登录时长,在限制登录时长内禁止用户登录;
37、在限制登录时长至两倍限制登录时长内,若系统未获取登录信息,则反馈第四标签,所述第四标签表示超时未操作,反之,则进一步判断账号映射值;
38、若账号映射值不存在于云端数据库中,则反馈所述第三标签,反之,则进一步判断密码映射值;
39、若密码映射值与云端数据库中密码映射值相同,则执行所述二次验证策略,若不相同,则生成登录锁定时长,在登录锁定时长内禁止用户登录。
40、更进一步的,二次验证策略包括如下步骤:
41、获取二次验证请求,随机生成动态验证码,基于所述安全传输策略发送至用户,记录当前系统时间,设置等待时长;
42、若在等待时长内,系统未获取确认验证码,则反馈所述第四标签,反之,进一步与动态验证码进行比对;
43、若确认验证码与动态验证码相同,则用户身份认证成功,若不相同,则反馈第五标签,执行验证保护策略,所述第五标签表示确认验证码错误。
44、更进一步的,验证保护策略包括如下步骤:
45、记录当前系统时间,生成限制认证时长,在限制认证时长内禁止用户发起二次验证请求;
46、若在限制认证时长至两倍限制认证时长内未获取二次验证请求或未获取确认验证码,则反馈所述第四标签;
47、若在限制认证时长至两倍限制认证时长内获取二次验证请求,则随机生成动态验证码,基于安全传输策略发送至用户,获取确认验证码,与动态验证码进一步比对;
48、若确认验证码与动态验证码相同,则用户身份认证成功,若不相同,则执行验证保护策略,生成验证锁定时长,在验证锁定时长内禁止用户发起二次验证请求。
49、进一步的,间歇性验证策略包括如下步骤:
50、记录用户的访问时间,按照访问时长阈值周期性生成验证刷新节点;
51、当用户的访问时间到达验证刷新节点时,随机生成动态验证码,基于安全传输策略发送至用户;
52、在下一个验证刷新节点前系统未获取确认验证码时,则中止用户的访问权限,反馈所述第四标签;
53、在下一个验证刷新节点前系统获取确认验证码时,比对确认验证码与动态验证码,若相同,则维持用户的访问权限,若不相同,则中止用户的访问权限,反馈所述第五标签。
54、一种基于云端数据库的动态访问验证系统,其执行上述一种基于云端数据库的动态访问验证方法,包括用户注册模块、身份认证模块、确权访问模块、安全传输模块和数据存储模块;
55、用户注册模块依据注册信息执行判断反馈策略,通过第一单向函数生成账号映射值,查询云端数据库中索引,判断账号映射值是否存在,若账号映射值存在,则反馈所述第一标签,若账号映射值不存在,则反馈所述第二标签;
56、身份认证模块依据登录信息执行身份验证策略,确认用户能否访问系统;
57、确权访问模块用于确认用户访问权限,执行间歇性验证策略;
58、安全传输模块用于针对注册信息、登录信息、动态验证码和确认验证码执行安全传输策略,确保在交互过程中的保密性,还用于反馈标签,并将作为索引的账号映射值和密码映射值传输至数据存储模块;
59、数据存储模块主要基于云端数据库实现数据存储功能。
60、进一步的,身份认证模块包括身份查询单元、二次验证单元、登录保护单元、验证保护单元和锁定保护单元;
61、身份查询单元依据获取的登录信息生成账号映射值和密码映射值,查询云端数据库中的索引,判断账号映射值是否存在,若不存在,反馈所述第三标签,若存在,则索引至云端数据库中的密码映射值,比对密码映射值与云端数据库中密码映射值是否相同,若相同,则启动二次验证单元,若不相同,则启动登录保护单元;
62、登录保护单元记录当前系统时间,生成限制登录时长,当系统时间位于限制登录时长至两倍限制登录时长内且获取登录信息时,生成账号映射值和密码映射值,查询云端数据库中索引,若账号映射值不存在,反馈所述第三标签,若账号映射值存在,则索引至云端数据中的密码映射值,进一步比对密码映射值与云端数据库中密码映射值是否相同,若相同,则启动二次验证单元,若不相同,则启动锁定保护单元,当系统经过时间大于两倍限制登录时长且未获取到登录信息时,则反馈所述第四标签;
63、二次验证单元随机生成动态验证码,基于所述安全传输策略发送至用户,记录当前系统时间,设置等待时长,若系统时间在等待时长内,未获取确认验证码,则反馈所述第四标签,若系统在等待时长内获取确认验证码,与动态验证码进行比对,若相同,则用户身份认证成功,启动确权访问模块,若不相同,则反馈所述第五标签,启动验证保护单元;
64、验证保护单元记录当前系统时间,基于验证保护策略生成限制认证时长,当系统时间位于限制认证时长至两倍限制认证时长内且系统获取二次验证请求时,随机生成动态验证码,基于安全传输策略发送至用户,获取确认验证码,与动态验证码比对,若相同,则用户身份认证成功,若不相同,则反馈所述第五标签,启动锁定保护单元,当系统经过时间大于两倍限制认证时长且系统未获取二次验证请求或未获取确认验证码时,则反馈所述第四标签;
65、锁定保护单元基于启动方执行不同操作,若锁定保护单元由登录保护单元启动,则生成登录锁定时长,在登录锁定时长内用户无法发起登录请求,若锁定保护单元由验证保护单元启动,生成验证锁定时长,在验证锁定时长内禁止用户发起二次验证请求。
66、进一步的,确权访问模块包括用户确权单元和间歇验证单元;
67、用户确权单元获取用户相应的访问权限,根据访问权限调取系统内用户可访问的内容,启动间歇验证单元;
68、间歇验证单元基于用户的访问时间按照访问时长阈值为周期生成验证刷新节点,当用户的访问时间到达验证刷新节点时,随机生成动态验证码发送给用户,在下一个验证刷新节点前未获取到确认验证码,则中止用户的访问权限,反馈所述第四标签,在下一个验证刷新节点前获取确认验证码,判断与动态验证码是否相同,相同则维持用户的访问权限,不同则中止用户的访问权限,反馈所述第五标签。
69、本发明与现有技术相比,其显著优点在于:
70、1、基于安全传输策略,将交互过程中传输的信息分块重组,并通过交叉加密算法进行加密,确保交互过程中的信息安全性;
71、2、将注册信息通过单向函数进行映射,存储映射值于云端数据库中,确保存储信息的安全性,且后续访问验证过程中均通过映射值进行判断。
1.一种基于云端数据库的动态访问验证方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种基于云端数据库的动态访问验证方法,其特征在于,所述密文构建包括如下步骤:
3.如权利要求2所述的一种基于云端数据库的动态访问验证方法,其特征在于,所述交叉加密算法包括如下步骤:
4.如权利要求3所述的一种基于云端数据库的动态访问验证方法,其特征在于,所述密文解密包括如下步骤:
5.如权利要求1所述的一种基于云端数据库的动态访问验证方法,其特征在于,所述间歇性验证策略包括如下步骤:
6.如权利要求1所述的一种基于云端数据库的动态访问验证方法,其特征在于,所述判断反馈策略包括如下步骤:
7.如权利要求1所述的一种基于云端数据库的动态访问验证方法,其特征在于,所述身份验证策略包括如下步骤:
8.如权利要求7所述的一种基于云端数据库的动态访问验证方法,其特征在于,所述登录保护策略包括如下步骤:
9.如权利要求8所述的一种基于云端数据库的动态访问验证方法,其特征在于,所述二次验证策略包括如下步骤:
10.一种基于云端数据库的动态访问验证系统,其执行如权利要求1-9中任意一项所述的一种基于云端数据库的动态访问验证方法,包括用户注册模块、身份认证模块和安全传输模块;