基于代理实现对DB2认证过程中用户名和密码替换的方法与流程

文档序号:32819919发布日期:2023-01-04 05:12阅读:55来源:国知局
基于代理实现对DB2认证过程中用户名和密码替换的方法与流程
基于代理实现对db2认证过程中用户名和密码替换的方法
技术领域
1.本发明涉及认证数据处理领域,尤其涉及基于代理实现对db2认证过程中用户名和密码替换的方法。


背景技术:

2.连接数据库一般需要使用数据库的密码,例如,对预定数据表的操作需要具有相应操作权限的用户名和密码,对数据库的维护需要权限比较高的用户名和密码,常常出现分配一个账号会被多人使用,容易将真实的数据库用户名和密码泄露,进而影响数据安全;中国专利公开号:cn113641974a,公开了一种基于密码桥的数据库访问控制方法和系统,该方法包括,获取数据库访问请求,其中,数据库访问请求中携带有第一用户名和第一密码;将第一用户名和第一密码与预先存储的密码表中的用户名和密码进行验证,在第一用户和第一密码与预先存储的密码表的用户名和密码一致的情况下,验证通过;获取与第一用户名和第一密码对应的第二用户名和第二密码;使用第二用户名和第二密码替换掉数据库访问请求中的第一用户名和第一密码;将替换后的数据库访问请求发往数据库。通过该申请解决了现有技术中将数据库的用户名和密码直接提供给使用方所导致的问题,从而提高了数据库用户名和密码维护的安全性以及遍历性但是,现有技术中还存在以下问题,现有技术中未考虑用户端与代理端数据交换的安全性,未对代理端以及用户端的数据交换过程设置特定的加密方式,在实际情况中,伪造用户端身份对代理端进行访问,容易窃取代理端所替换的真实数据库账号和密码。


技术实现要素:

3.为解决上述问题,本发明提供一种基于代理实现对db2认证过程中用户名和密码替换的方法,其包括:步骤一,签发端签发与真实用户名和密码相关联的假用户名和密码,并设定所述假用户名和密码的使用时效,将所述假用户名和密码所登录的数据库地址更改为代理端的地址;步骤二,用户端确定所述假用户名和密码的已签发时长,根据所述已签发时长判定所述假用户名和密码是否失效,所述用户端将已签发时长与预设置的若干第一时长区间进行匹配,并根据匹配结果选取加密算法对所述假用户名和密码进行加密得到第一加密密文,并随机生成一密文串,将所述密文串中的密文段替换为所述第一加密密文后得到第二加密密文;步骤三,所述用户端根据所述已签发时长确定子数据包的数量,建立对应数量的子数据包后将子数据包排序,所述用户端将已签发时长与预设置的若干第二时长区间进行匹配,并根据匹配结果选取序号,并确定与所述序号对应的子数据包用以储存所述第二加密密文,所述用户端将未储存所述第二加密密文的子数据包中存储随机生成的密文段,并
将全部子数据包封装后发送至代理端;步骤四,所述代理端根据所述假用户名和密码的已签发时长调用对应排序序号的子数据包,以获取所述数据包内的第二加密密文,并且,截取所述第二加密密文段后获得第一加密密文,并根据所述已签发时长选取对应的解密算法对所述第一加密密文进行解密,以获取所述假用户名和密码,并对所述假用户名和密码进行验证;步骤五,所述步骤四中的验证通过后,所述代理端将所述第二加密密文中的第一加密密文替换为真实用户名和密码以得到第三加密密文,并将所述第三加密密文封装在数据包中并发送至数据库端;步骤六,所述数据库端截取所述第三加密密文中真实用户名和密码并对所述真实用户名和密码进行验证并向所述用户端返回验证结果。
4.进一步地,所述步骤二还包括,在所述用户端以及代理端设置若干第一时长区间以及若干第二时长区间,并在所述用户端建立各所述第一时长区间与加密算法的关联关系,在所述代理端建立各所述第一时长区间与解密算法的关联关系,在所述代理端以及代理端建立各所述第二时长区间与序号的关联关系,不同第一时长区间所关联的加密算法或解密算法不同,不同第二时长区间所关联的序号不同。
5.进一步地,所述步骤二中,确定所述假用户名和密码的已签发时长t,并将所述已签发时长t与预设标准验证时长t0进行对比,根据对比结果判定所述假用户名和所述密码是否失效,其中,当t≥t0时,判定所述假用户名和密码已失效;当t<t0时,判定所述假用户名和密码未失效。
6.进一步地,所述步骤二中,所述用户端将已签发时长与预设置的若干第一时长区间进行匹配,其中,将所述已签发时长t与各所述第一时长区间进行匹配,若所述已签发时长t属于任一第一时长区间,则选取所述第一时长区间关联的加密算法,并通过所述加密算法对所述假用户名和密码进行加密获得第一加密密文。
7.进一步地,所述用户端中预设置有所述密文串的替换位置,根据所述替换位置确定所述密文串中需替换的密文段,将所述密文段替换为所述第一加密密文后得到第二加密密文。
8.进一步地,所述步骤三中,所述用户端根据所述已签发时长确定子数据包的数量,其中,所述用户端将所述已签发时长t与预设时长对比参量t1进行比对,若t>t1,则判定需增加子数据包的数量,并将子数据包数量确定为ne,设定ne=n0+n0
×
t/t1;其中,n0表示预设子数据包调整参量,n0表示预设子数据包数量。
9.进一步地,所述步骤三中,所述用户端将已签发时长与预设置的若干第二时长区间进行匹配,并根据匹配结果选取序号,其中,若所述已签发时长t属于任一第二时长区间,则选取与所述第二时长区间关联的序号。
10.进一步地,所述步骤三中,所述用户端获取各子数据包的排序序号,并将已选取序
号与各所述排序序号进行比对,若已选取序号与任一排序序号相同,则选定与所述排序序号对应的子数据包,并将所述第二加密密文存储至所述子数据包。
11.进一步地,所述步骤四中,所述代理端根据所述假用户名和密码的已签发时长调用对应排序序号的子数据包,其中,所述代理端从签发端获取所述假用户名和密码的已签发时长t,并将所述已签发时长t与在代理端设置的若干连续的第一时长区间进行比对,以根据比对结果判定所需调用的序号,并调用与所述序号相同的排序序号的子数据包,获取所述子数据包中的第二加密密文,并且,代理端中预设置有密文串的替换位置,根据所述替换位置确定所述第二加密密文中已替换的密文段,截取所述密文段后得到第一加密密文,所述代理端根据所述已签发时长选取对应的解密算法对所述第一加密密文进行解密,其中,所述代理将所述已签发时长t与在代理端设置的若干第二时长区间进行匹配,若所述已签发时长t属于任一第二时长区间,则调用所述第二时长区间关联的解密算法对所述第一加密密文进行解密得到所述假用户名和密码。
12.进一步地,所述步骤四中,根据所述假用户名和密码是否与所述签发端签发的假用户名和密码相同,判定是否通过验证,其中,若所述假用户名和密码与所述签发端所签发的假用户名和密码相同,则判定验证通过;若所述假用户名和密码与所述签发端所签发的假用户名和密码不同,则判定验证不通过,并向用户端发送验证不通过信息。
13.与现有技术相比,本发明通过不同的已签发时长选定不同的加密算法对假用户名和密码进行加密,选定不同的子数据包用以存储加密密文并发送至代理端,代理端通过已签发时长确定所要提取的子数据包以及确定对应的解密算法对已提取的子数据包中加密密文进行解密,用户端每次使用假用户名和密码进行登录时,对应的已签发时长不同,每次所选定的子数据包排序序号以及加密算法不同,进而,代理端所需调用的子数据包的排序序号以及所需选取的解密算法也不同,只有解密获取假用户名和密码时,才能对假用户名和密码进行验证,通过上述方法,用户端与代理端的数据传输更为安全,并且避免用户端的身份被伪造,避免真实用户名和密码被窃取。
14.尤其,本发明设置假用户名和密码的已签发时长,并根据已签发时长验证假用户名和密码是否失效,避免由于时间积累,积累过多的假用户名和密码导致占用数据存储内存。
15.尤其,本发明根据已签发时长所属时长区间的不同,选取不同的加密算法对假用户名和密码进行加密,由于用户端每次使用假用户名和密码进行登录时,假用户名和密码对应的已签发时长是不同的,因此,对假用户名和密码进行加密时所选取的加密算法是不同的,并且,设置了多个子数据包用以存储加密密文,由于已签发时长的不同,每次所需存储加密密文的子数据包对应的排序序号也是不同的,并且代理端需要同样更改数据包调用方式以及解密算法才能获取假用户名和密码进行验证,进而增加了数据安全性,并且,避免用户端身份被伪造向代理端提出登录需求,避免真用户名和密码被泄露。
16.尤其,本发明的代理端对假用户名和密码进行验证时,需要根据已签发时长确定
序号,并对应调用与所述序号相同的子数据包,以获取子数据包内的第二加密密文,并且,需要确定第二加密密文中第一加密密文的位置,调用第一加密密文后还需要根据已签发时长选取对应的解密算法对第一加密密文进行解密才能获取假用户名和密码进行验证,每次需要根据已签发时长选取正确的子数据包并且还需要选取正确的解密算法进行解密,多重保障,避免用户端身份被伪造,提高数据安全性。
17.尤其,本发明通过整体的方案签发假用户名和密码,通过代理端对假用户名和密码进行更换,并且以更换后的真实用户名和密码对数据库进行访问,进而避免分发真用户名和密码给多个用户,导致真用户名和密码泄露的问题。
附图说明
18.图1为发明实施例的基于代理实现对db2认证过程中用户名和密码替换的方法步骤图;图2为发明实施例的基于代理实现对db2认证过程中用户名和密码替换的方法步骤四对应流程图。
具体实施方式
19.为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
20.下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。
21.需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
22.此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
23.请参阅图1所示,其为本发明实施例的基于代理实现对db2认证过程中用户名和密码替换的方法步骤图,本发明的基于代理实现对db2认证过程中用户名和密码替换的方法包括:步骤一,签发端签发与真实用户名和密码相关联的假用户名和密码,并设定所述假用户名和密码的使用时效,将所述假用户名和密码所登录的数据库地址更改为代理端的地址;步骤二,用户端确定所述假用户名和密码的已签发时长,根据所述已签发时长判定所述假用户名和密码是否失效,所述用户端将已签发时长与预设置的若干第一时长区间进行匹配,并根据匹配结果选取加密算法对所述假用户名和密码进行加密得到第一加密密文,并随机生成一密文串,将所述密文串中的密文段替换为所述第一加密密文后得到第二
加密密文;步骤三,所述用户端根据所述已签发时长确定子数据包的数量,建立对应数量的子数据包后将子数据包排序,所述用户端将已签发时长与预设置的若干第二时长区间进行匹配,并根据匹配结果选取序号,并确定与所述序号对应的子数据包用以储存所述第二加密密文,所述用户端将未储存所述第二加密密文的子数据包中存储随机生成的密文段,并将全部子数据包封装后发送至代理端;步骤四,所述代理端根据所述假用户名和密码的已签发时长调用对应排序序号的子数据包,以获取所述数据包内的第二加密密文,并且,截取所述第二加密密文段后获得第一加密密文,并根据所述已签发时长选取对应的解密算法对所述第一加密密文进行解密,以获取所述假用户名和密码,并对所述假用户名和密码进行验证;步骤五,所述步骤四中的验证通过后,所述代理端将所述第二加密密文中的第一加密密文替换为真实用户名和密码以得到第三加密密文,并将所述第三加密密文封装在数据包中并发送至数据库端;步骤六,所述数据库端截取所述第三加密密文中真实用户名和密码并对所述真实用户名和密码进行验证并向所述用户端返回验证结果。
24.具体而言,本发明对于设置的若干加密算法和解密算法的具体形式不做限定,本领域技术人员可以根据具体需求设定加密算法和解密算法,只需能满足加密解密功能即可。
25.具体而言,本发明对用户端、签发端、代理端以及数据库端的具体结构不做限定,其均为技术机技术领域的现有技术,此处不再赘述。
26.具体而言,本发明步骤三中,在未储存第二加密密文的子数据包中存储随机生成的密文段时,所生成的密文段可以与第二加密密文的数据位数相同。
27.具体而言,所述步骤二还包括,在所述用户端以及代理端设置若干第一时长区间以及若干第二时长区间,并在所述用户端建立各所述第一时长区间与加密算法的关联关系,在所述代理端建立各所述第一时长区间与解密算法的关联关系,在所述代理端以及代理端建立各所述第二时长区间与序号的关联关系,不同第一时长区间所关联的加密算法或解密算法不同,不同第二时长区间所关联的序号不同。
28.具体而言,所述步骤二中,确定所述假用户名和密码的已签发时长t,并将所述已签发时长t与预设标准验证时长t0进行对比,根据对比结果判定所述假用户名和所述密码是否失效,其中,当t≥t0时,判定所述假用户名和密码已失效;当t<t0时,判定所述假用户名和密码未失效。
29.具体而言,所述步骤二中,所述用户端将已签发时长与预设置的若干第一时长区间进行匹配,其中,将所述已签发时长t与各所述第一时长区间进行匹配,若所述已签发时长t属于任一第一时长区间,则选取所述第一时长区间关联的加密算法,并通过所述加密算法对所述假用户名和密码进行加密获得第一加密密文。
30.具体而言,所述用户端中预设置有所述密文串的替换位置,根据所述替换位置确定所述密文串中需替换的密文段,将所述密文段替换为所述第一加密密文后得到第二加密
密文。
31.具体而言,所述步骤三中,所述用户端根据所述已签发时长确定子数据包的数量,其中,所述用户端将所述已签发时长t与预设时长对比参量t1进行比对,若t>t1,则判定需增加子数据包的数量,并将子数据包数量确定为ne,设定ne=n0+n0
×
t/t1;其中,n0表示预设子数据包调整参量,n0表示预设子数据包数量。
32.具体而言,所述步骤三中,所述用户端将已签发时长与预设置的若干第二时长区间进行匹配,并根据匹配结果选取序号,其中,若所述已签发时长t属于任一第二时长区间,则选取与所述第二时长区间关联的序号。
33.具体而言,所述步骤三中,所述用户端获取各子数据包的排序序号,并将已选取序号与各所述排序序号进行比对,若已选取序号与任一排序序号相同,则选定与所述排序序号对应的子数据包,并将所述第二加密密文存储至所述子数据包。
34.具体而言,本发明根据已签发时长所属时长区间的不同,选取不同的加密算法对假用户名和密码进行加密,由于用户端每次使用假用户名和密码进行登录时,假用户名和密码对应的已签发时长是不同的,因此,对假用户名和密码进行加密时所选取的加密算法是不同的,并且,设置了多个子数据包用以存储加密密文,由于已签发时长的不同,每次所需存储加密密文的子数据包对应的排序序号也是不同的,并且代理端需要同样更改数据包调用方式以及解密算法才能获取假用户名和密码进行验证,进而增加了数据安全性,并且,避免用户端身份被伪造向代理端提出登录需求,避免真用户名和密码被泄露。
35.具体而言,本发明的代理端对假用户名和密码进行验证时,需要根据已签发时长确定序号,并对应调用与所述序号相同的子数据包,以获取子数据包内的第二加密密文,并且,需要确定第二加密密文中第一加密密文的位置,调用第一加密密文后还需要根据已签发时长选取对应的解密算法对第一加密密文进行解密才能获取假用户名和密码进行验证,每次需要根据已签发时长选取正确的子数据包并且还需要选取正确的解密算法进行解密,多重保障,避免用户端身份被伪造,提高数据安全性。
36.具体而言,请参阅图2所示,所述步骤四中,所述代理端根据所述假用户名和密码的已签发时长调用对应排序序号的子数据包,其中,所述代理端从签发端获取所述假用户名和密码的已签发时长t,并将所述已签发时长t与在代理端设置的若干连续的第一时长区间进行比对,以根据比对结果判定所需调用的序号,并调用与所述序号相同的排序序号的子数据包,获取所述子数据包中的第二加密密文,并且,代理端中预设置有密文串的替换位置,根据所述替换位置确定所述第二加密密文中已替换的密文段,截取所述密文段后得到第一加密密文,所述代理端根据所述已签发时长选取对应的解密算法对所述第一加密密文进行解密,其中,所述代理将所述已签发时长t与在代理端设置的若干第二时长区间进行匹配,若所述已签发时长t属于任一第二时长区间,则调用所述第二时长区间关联的解密算法对所述第一加密密文进行解密得到所述假用户名和密码。
37.具体而言,所述步骤四中,根据所述假用户名和密码是否与所述签发端签发的假用户名和密码相同,判定是否通过验证,其中,若所述假用户名和密码与所述签发端所签发的假用户名和密码相同,则判定验证通过;若所述假用户名和密码与所述签发端所签发的假用户名和密码不同,则判定验证不通过,并向用户端发送验证不通过信息。
38.具体而言,本发明通过整体的方案签发假用户名和密码,通过代理端对假用户名和密码进行更换,并且以更换后的真实用户名和密码对数据库进行访问,进而避免分发真用户名和密码给多个用户,导致真用户名和密码泄露的问题。
39.至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1