一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据库访问密码加密方法、装置和计算机设备与流程

2022-07-30 17:01:03 来源:中国专利 TAG:


1.本技术涉及网络安全技术领域,特别是涉及一种数据库访问密码加密方法、装置和计算机设备。


背景技术:

2.分布式数据库系统是物理上分散而逻辑上集中的数据库系统,可以看成是计算机网络与数据库系统的有机组合。计算机技术的高速发展推动着分布式数据库的发展,但同时也增加了分布式数据库安全问题的复杂性。
3.网络安全是分布式数据库安全的基础,通常,黑客利用分布式数据库的数据访问漏洞,攻克整个服务器的网络安防系统,造成大量的数据泄露事件。
4.因此,为了防止数据泄露,提高分布式数据库的访问安全性是亟待解决的问题。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种数据库访问密码加密方法、装置和计算机设备,能够防止数据泄露,提高分布式数据库的访问安全性。
6.第一方面,本技术提供了一种数据库访问密码加密方法,该方法包括:
7.若接收到当前用户的用户密码请求,且当前用户的身份合法,则生成当前用户的访问密码;
8.对当前用户分配目标密码机;目标密码机包括至少两个密码机;
9.通过目标密码机对访问密码进行加密处理,得到加密后的访问密码;
10.向当前用户发送加密后的访问密码,加密后的访问密码用于指示当前用户根据加密后的访问密码对数据库进行访问。
11.在其中一个实施例中,用户密码请求中包括当前用户的身份信息,则在生成当前用户的访问密码之前,该方法还包括:
12.检测身份信息数据库中是否存在与当前用户的身份信息相同的身份信息;身份信息数据库中包括多个用户的身份信息;
13.若是,则确定当前用户的身份合法。
14.在其中一个实施例中,对当前用户分配目标密码机,包括:
15.根据预设的映射表对当前用户分配目标密码机;映射表包括多个用户与密码机之间的对应关系。
16.在其中一个实施例中,通过目标密码机对访问密码进行加密处理,得到加密后的访问密码,包括:
17.根据目标密码机中密码机的数量,对访问密码进行分段操作,得到多个密码段;密码段的数量与密码机的数量相同,且一个密码机分别对应一个密码段;
18.将各密码段分别发送至对应的密码机,通过各密码机对各密码段进行加密处理,得到多个加密后的密码段;
19.接收各密码机返回的加密后的密码段,并根据接收的加密后的密码段生成加密后的访问密码。
20.在其中一个实施例中,各密码机是通过对各密码段进行交叉加密,得到交叉加密后的密码段,并根据各密码段的排列顺序,对交叉加密后的密码段创建对应的索引,得到多个加密后的密码段。
21.在其中一个实施例中,根据接收的加密后的密码段生成加密后的访问密码,包括:
22.基于各加密后的密码段对应的索引,对各加密后的密码段进行融合处理,得到加密后的访问密码。
23.在其中一个实施例中,向当前用户发送加密后的访问密码,包括:
24.获取访问密码的公钥和当前用户的私钥,通过公钥和私钥对当前用户执行身份认证操作;
25.若当前用户的身份认证通过,则向当前用户发送加密后的访问密码。
26.在其中一个实施例中,通过公钥和私钥对当前用户执行身份认证操作,包括:
27.向当前用户发送私钥;
28.若接收到当前用户的应答信号,将公钥和私钥进行匹配;应答信号表示当前用户接收到私钥后的确认信号;
29.若公钥和私钥匹配成功,则确定当前用户的身份认证通过。
30.第二方面,本技术还提供了一种数据库访问密码加密装置,该装置包括:
31.生成模块,用于若接收到当前用户的用户密码请求,且当前用户的身份合法,则生成当前用户的访问密码;
32.分配模块,用于对当前用户分配目标密码机;目标密码机包括至少两个密码机;
33.加密模块,用于通过目标密码机对访问密码进行加密处理,得到加密后的访问密码;
34.发送模块,用于向当前用户发送加密后的访问密码,加密后的访问密码用于指示当前用户根据加密后的访问密码对数据库进行访问。
35.第三方面,本技术实施例提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面实施例提供的任一项方法的步骤。
36.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面实施例提供的任一项方法的步骤。
37.第五方面,本技术实施例提供计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面实施例提供的任一项方法的步骤。
38.本技术实施例提供的一种数据库访问密码加密方法、装置和计算机设备,首先若接收到当前用户的用户密码请求,且当前用户的身份合法,则生成当前用户的访问密码,对当前用户分配目标密码机,通过目标密码机对访问密码进行加密处理,得到加密后的访问密码,然后向当前用户发送加密后的访问密码,加密后的访问密码用于指示当前用户根据加密后的访问密码对数据库进行访问。该方法中,首先针对当前用户的用户密码请求,对用户的身份进行合法性判定,然后若用户的身份合法,才会为当前用户生成访问密码,并且为当前用户分配密码机,利用密码机为访问密码进行加密,使用至少两个密码机对访问密码
加密,保证了访问密码的安全性,从而提高了数据库访问的可靠性和安全性。
附图说明
39.图1为一个实施例中数据库访问密码加密方法的应用环境图;
40.图2为一个实施例中数据库访问密码加密方法的流程示意图;
41.图3为另一个实施例中数据库访问密码加密方法的流程示意图;
42.图4为另一个实施例中数据库访问密码加密方法的流程示意图;
43.图5为另一个实施例中数据库访问密码加密方法的流程示意图;
44.图6为另一个实施例中数据库访问密码加密方法的流程示意图;
45.图7为另一个实施例中数据库访问密码加密方法的流程示意图;
46.图8为另一个实施例中数据库访问密码加密方法的流程示意图;
47.图9为一个实施例中数据库访问密码加密装置的结构框图;
48.图10为一个实施例中计算机设备的内部结构图。
具体实施方式
49.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
50.本技术实施例提供的数据库访问密码加密方法可如图1所示的应用环境中。其中,当前用户通过网络与服务器进行通信。数据库可以存储服务器需要处理的数据。数据库可以集成在服务器上,也可以放在云上或其他网络服务器上。
51.其中,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
52.本技术实施例提供一种数据库访问密码加密方法、装置和计算机设备,能够防止数据泄露,提高分布式数据库的访问安全性。
53.下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。
54.在一个实施例中,提供了一种数据库访问密码加密方法,以应用于图1中的应用环境为例,本实施例涉及的是首先若接收到当前用户的用户密码请求,且当前用户的身份合法,则生成当前用户的访问密码,对当前用户分配目标密码机,然后通过目标密码机对访问密码进行加密处理,得到加密后的访问密码,当前用户发送加密后的访问密码,加密后的访问密码用于指示当前用户根据加密后的访问密码对数据库进行访问的具体过程,如图2所示,该实施例包括以下步骤:
55.s201,若接收到当前用户的用户密码请求,且当前用户的身份合法,则生成当前用户的访问密码。
56.首先,在用户想要访问数据库中的数据时,需要向服务器发送用户密码请求,用户密码请求表示的是用户向服务器发送的访问数据库的请求。
57.当前用户表示的是当前需要访问数据库的用户,如果服务器接收到当前用户的用
户密码请求,则服务器会进一步判断当前用户的身份是否合法,如果当前用户的身份合法,则服务器会生成当前用户的访问密码。
58.判定当前用户的身份是否合法是通过一定的手段,完成对当前用户身份的确认,即身份验证,身份验证的目的是确认当前所声称为某种身份的用户确实是所声称的用户。
59.判定当前用户的身份是否合法的方式包括三种方式:基于共享密钥、基于生物学特征、基于公开密钥加密算法。
60.其中,基于共享密钥的用户身份合法性验证是指服务器端和用户共同拥有一个或一组密码,当用户需要身份验证时,用户通过输入或通过保管有密码的设备提交由用户和服务器共同拥有的密码,服务器在收到用户提交的密码后,检查用户所提交的密码是否与服务器端保存的密码一致,如果一致,就判断用户为合法用户。如果用户提交的密码与服务器端所保存的密码不一致时,则判定身份验证失败。
61.若利用共享密钥的方式对当前用户的身份进行合法性判断时,可以在当前用户的用户密码请求中携带当前用户和服务器共同拥有的密码,服务器在接收到当前用户的用户密码请求后,会判断用户密码请求中的密码是否与服务器中保存的密码是否一致,若一致,则判定当前用户的身份合法,否则,判定当前用户的身份不合法。
62.基于公开密钥加密算法的身份验证是指通信中的双方分别持有公开密钥和私有密钥,由其中的一方采用私有密钥对特定数据进行加密,而对方采用公开密钥对数据进行解密,如果解密成功,就认为用户是合法用户,否则就认为是身份验证失败。
63.若利用公开密钥加密算法的方式对当前用户的身份进行合法性判断时,可以在当前用户的用户密码请求中携带利用当前用户的私钥进行加密后的特定数据,服务器在接收到用户密码请求后,会将用户密码请求中携带的加密后的数据,利用服务器的公钥进行解密,若解密成功,则确定当前用户的身份合法,否则不合法。
64.若当前用户的身份合法,则生成当前用户的访问密码,访问密码是在服务器中设置的,当前用户能够通过访问密码对数据库进行访问;生成访问密码的方式可以是服务器根据预设的对数据库的访问策略,生成当前用户的访问密码;其中,访问策略可以是针对当前用户配置的相应的访问策略,访问策略包括dns智能解析、主地址池集合/备地址池集合、生效地址池集合切换策略等相关信息,例如,访问策略可以是预设的访问协议。
65.上述对当前用户的身份合法的情况进行了说明,还存在当前用户的身份不合法的情况,若当前用户的身份不合法,则服务器将当前用户拉入黑名单。
66.s202,对当前用户分配目标密码机;目标密码机包括至少两个密码机。
67.密码机是运用密码对信息实施加解密处理和认证的专用设备。密码机的基本功能是信息加密保护;密码机主要应用于通信保密,即对各种通信手段、通信设施、通信方式传送的信息实施密码变换。
68.密码机除了用于通信保密之外,还被应用于信息完整性检验、身份验证和数字签名,与各种信息媒体、军事应用密切结合,为信息的保密性、完整性提供服务。
69.密码机的主要分类:按照技术结构划分,有机械式密码机、机电式密码机、光电式密码机、电子式密码机和微电子式密码机;按照使用对象划分,有通用和军兵种专用的密码机,以及特种部队使用的密码机;按照装备载体划分,有车载密码机、舰载密码机、机载密码机、星载密码机等专用密码机;按照装备环境划分,有低辐射密码机、抗恶劣环境加固密码
机,以及机动作战使用的便携密码机;按照在通信网络中的物理位置划分,有终端型密码机、服务器型密码机、网关型密码机、节点型密码机等;按照所保护的数据所在计算机网络协议层次划分,有物理层密码机、链路层密码机、互联网协议(internet protocol address,ip)层密码机、传输层密码机和应用层密码机等。
70.需要说明的是,本技术实施例对密码机的类型不做限定。
71.基于上述对当前用户生成访问密码后,然后为当前用户分配密码机,将为当前用户分配的密码机确定为目标密码机,且为当前用户分配至少两个密码机。
72.为当前用户分配密码机的方式可以是按照预设的分配方法分配的,预设的分配方法可以是预先设置的为当前用户分配预设数量的密码机,例如,可以为当前用户分配4个密码机。
73.s203,通过目标密码机对访问密码进行加密处理,得到加密后的访问密码。
74.为对抗黑客利用网络协议、操作系统安全漏洞绕过数据库的安全机制而直接访问数据库文件,可以对访问密码进行加密。
75.加密是一种限制网络上传输数据的访问权的技术,它能够防止不速之客查看机密的数据文件、机密数据被泄露或篡改、特权用户(如系统管理员)查看私人数据文件,而且可以使入侵者不能轻易地查找一个系统的文件。
76.密码机可以运用密码对信息实施加解密处理,因此,可以利用密码机对访问密码进行加密处理,得到加密后的访问密码。
77.对访问密码进行加密处理的方式可以是目标密码机中存在预设的密码,通过预设密码对访问密码进行加密处理,且,进行加密处理时,可以利用数据加密算法进行加密。
78.其中,数据加密算法包括对称式加密算法和非对称式加密算法;对称加密算法是一种比较传统的加密方式,其加密运算、解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码),其具体过程为:信息的发送者将明文(原始信息)和该密码一起经过特殊加密处理,生成复杂的加密密文进行发送。非对称加密算法使用一组公共/私人密钥系统,加密时使用一种密钥,解密时使用另一种密钥:如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密;公共密钥可以广泛地共享和透露,当需要用加密方式向服务器外部传送数据时。数据加密的基本过程,就是对原来为明文的文件或数据按照某种算法进行处理,使其成为不可直接读的一段代码,通常称为“密文”,通过这样的途径,来达到保护数据不被非法窃取、阅读的目的。
79.可选地,对访问密码的加密处理时,使用的加密方法可以有两种,数据加密标准(data encryption standard,des),des使用64位密码,算法实现在一小块集成电路芯片上,以1mb/s的运算速度处理密文;另一种方法称为公钥制密系统,其思路是给每个用户两个码,一个加密码,一个解密码,用户的加密码是公开的,就像电话号码一样,但只有相应的解密码才能对报文解密,且不可能从加密码中推导出解密码,因为该制密系统为不对称加密,即加密过程不可逆。
80.对密码的加密,应该同时提供几种不同安全强度、速度的加解密算法,这样用户可以根据数据对象的重要程度和访问速度要求来设置适当的算法。同时,还应该能调整被加密数据对象的粒度,这样能够在保证重要数据对象安全性的同时提高访问速度。此外,对加
密的数据对象巧妙地建立加密数据索引,也可以进行密文的快速检索。如果攻击者已知原始库文的部分信息,并试图据此利用密码分析方法破译密文,那可以使用基本加密算法反馈连接方式或其他方式给每个待加密的对象分配不同的加密密钥。
81.s204,向当前用户发送加密后的访问密码,加密后的访问密码用于指示当前用户根据加密后的访问密码对数据库进行访问。
82.服务器对访问密码进行加密后,可以将加密后的访问密码发送至当前用户。当前用户收到加密后的访问密码后,可以根据加密后的访问密码对数据库进行访问。
83.数据库是存放数据的仓库,数据库包括分布式数据库,在本技术实施例中,用户对数据库进行访问时,对应的数据库可以是分布式数据库,需要说明的是,本技术对实施例中的数据库类型不做限定。
84.其中,分布式数据库系统使用计算机网络将地理位置分散而管理和控制需要不同程度集中的多个逻辑单位(通常是集中式数据库)连接起来,共同组成一个统一的数据库系统。
85.通常,分布式数据库面临着两大类安全问题:一类由单站点故障、网络故障等自然因素引起,这类故障通常可利用网络提供的安全性来实现安全防护;另一类来自本机或网络上的人为攻击,即黑客攻击,目前黑客攻击网络的方式主要有窃听、重发攻击、假冒攻击、越权攻击、破译密文等。
86.因此,在对数据库进行访问时,需要对访问用户的身份进行验证,并且,为了保证数据库访问的安全性,也需要将访问密码进行加密处理,保证数据库访问的可靠性。
87.上述数据库访问密码加密方法,首先若接收到当前用户的用户密码请求,且当前用户的身份合法,则生成当前用户的访问密码,对当前用户分配目标密码机,通过目标密码机对访问密码进行加密处理,得到加密后的访问密码,然后向当前用户发送加密后的访问密码,加密后的访问密码用于指示当前用户根据加密后的访问密码对数据库进行访问。该方法中,首先针对当前用户的用户密码请求,对用户的身份进行合法性判定,然后若用户的身份合法,才会为当前用户生成访问密码,并且为当前用户分配密码机,利用密码机为访问密码进行加密,使用至少两个密码机对访问密码加密,保证了访问密码的安全性,从而提高了数据库访问的可靠性和安全性。
88.上述通过一个实施例对生成当前用户的访问密码进行说明,在生成当前用户的访问密码之前,还需要对当前用户的身份是否合法进行判定,若当前用户的身份合法,才会生成当前用户的访问密码;下面通过一个实施例对如何判定当前用户的身份合法进行说明,在一个实施例中,如图3所示,该实施例包括以下步骤:
89.s301,检测身份信息数据库中是否存在与当前用户的身份信息相同的身份信息;身份信息数据库中包括多个用户的身份信息。
90.用户在向服务器发送用户密码请求之前,用户会先在服务器上进行身份注册,将注册成功的用户的身份信息存储到服务器的身份信息数据库中;身份信息数据库中存储所有在服务器上注册的用户的身份信息,因此,身份信息数据库中包括多个用户的身份信息。
91.当前用户向服务器发送用户密码请求,服务器接收当前用户的用户密码请求之后,会先对用户的身份信息进行合法性验证;具体地,用户密码请求中携带用户的身份信息,服务器接收到用户的身份信息后,会在身份信息数据库中检测是否存在与当前用户的
身份信息相同的身份信息。
92.s301,若是,则确定当前用户的身份合法。
93.如果身份信息数据库中存在与当前用户的身份信息相同的身份信息,则表示当前用户的身份信息合法,如果身份信息数据库中不存在当前用户的身份信息相同的身份信息,则确定当前用户的身份不合法。
94.可选地,用户在服务器上注册时,填写的信息还包括选定的服务和验证信息。其中,选定的服务可以表示用户在服务器中需要进行的业务,例如:访问数据库、修改数据库等,验证信息表示用户在注册时根据验证问题填写的验证信息,例如,验证问题为“你的小学学校名字是什么”,用户在注册时可以根据此验证问题填写的验证信息为
“××
学校”。
95.用户密码请求中也可以携带当前用户选定的服务和验证信息,在对当前用户的身份信息进行合法性判定的同时,也会对当前用户选定的业务和验证信息进行判定,若当前用户的身份信息、选定的服务和验证信息同时与身份信息数据库中的信息相同,则表示当前用户的身份合法,生成当前用户的访问密码,并且,还可以为当前用户分配一个全局唯一的用户编号,用于唯一标识该当前用户;否则,当前用户的身份不合法,将当前用户拉入黑名单。
96.上述数据库访问密码加密方法,检测身份信息数据库中是否存在与当前用户的身份信息相同的身份信息,身份信息数据库中包括多个用户的身份信息;若是,则确定当前用户的身份合法。该方法中,通过当前用户的身份信息判定当前用户的身份是否合法,提高了数据库访问的安全性和可靠性。
97.在一个实施例中,对当前用户分配目标密码机,包括:根据预设的映射表对当前用户分配目标密码机;映射表包括多个用户与密码机之间的对应关系。
98.在用户在服务器上注册成功之后,服务器就会给用户分配密码机,将用户与分配的密码机数量存储到映射表中,映射表中的用户与密码机数量之间存在一种对应关系,例如,用户1对应3个密码机,用户2对应5个密码机。如果用户1为当前用户,则为用户1分配3个密码机;如果用户2为当前用户,则为用户2分配5个密码机。
99.其中,为当前用户分配的目标密码机中密码机的数量至少包括两个,且存在一个密码机为主密码机和其余的多个密码机均为从密码机,若目标密码机中密码机的数量为5个,则存在1个主密码机和4个从密码机。
100.在一个实施例中,如图4所示,通过目标密码机对访问密码进行加密处理,得到加密后的访问密码,包括以下步骤:
101.s401,根据目标密码机中密码机的数量,对访问密码进行分段操作,得到多个密码段;密码段的数量与密码机的数量相同,且一个密码机分别对应一个密码段。
102.对访问密码进行分段操作的方式可以是通过预设的神经网络模型的方式,将目标密码机中密码机的数量和访问密码作为预设的神经网络模型的输入,通过该神经网络模型的分析,则输出多个密码段;输出的密码段的数量与目标密码机中密码机的数量相同,且,一个密码段对应一个密码机。
103.例如,目标密码机中包括密码机1、密码机2、密码机3,得到的多个密码段包括密码段1、密码段2和密码段3,则可以根据预设的对应规则,将密码段1对应密码机1,密码段2对应密码机2,密码段3对应密码机3;也可以将密码段1对应密码机2,密码段2对应密码机1,密
码段3对应密码机3。
104.需要说明的是,密码机1、密码机2、密码机3是本技术实施例中为了更好地区分密码机而命名的名字,并没有实际的意义。
105.s402,将各密码段分别发送至对应的密码机,通过各密码机对各密码段进行加密处理,得到多个加密后的密码段。
106.继续针对上述密码段1对应密码机1、密码段2对应密码机2、密码段3对应密码机3进行说明,各密码段分别发送至对应的密码机,则是服务器将密码段1发送至密码机1,将密码段2发送至密码机2,密码段3发送至密码机3。
107.密码机接收到对应的密码段后,分别对各自的密码段进行加密处理,得到多个加密后的密码段。
108.各密码机对各密码段进行加密处理时,使用的加密算法可以是不同的,也可以是相同的,本技术实施例在此不做限定。
109.具体地,加密算法包括对称加密算法和非对称加密算法,对称加密算法包括:des、三重数据加密算法(triple data encryption algorithm,tdea)、国际数据加密算法(international data encryption algorithm,idea)等,非对称加密算法包括:背包算法、椭圆曲线加密算法(elliptic curve cryptography,ecc)等。
110.s403,接收各密码机返回的加密后的密码段,并根据接收的加密后的密码段生成加密后的访问密码。
111.各接收机对各密码段进行加密处理后,分别将各加密后的密码段返回至服务器,服务器接收各密码机返回的加密后的密码段。
112.服务器接收到各密码机的加密后的密码段后,会根据各加密后的密码段,生成加密后的访问密码;各加密后的密码段是根据原始的访问密码进行分段,然后通过各密码机对各分段后的密码段进行加密处理得到的,因此,根据加密后的密码段,能够得到加密后的访问密码。
113.可选地,生成加密后的访问密码的方式可以是,通过预设的生成算法确定,将各加密后的密码段作为生成算法的输入,通过运行该生成算法,最终输出加密后的访问密码。
114.上述数据库访问密码加密方法,根据目标密码机中密码机的数量,对访问密码进行分段操作,得到多个密码段,将各密码段分别发送至对应的密码机,通过各密码机对各密码段进行加密处理,得到多个加密后的密码段,然后接收各密码机返回的加密后的密码段,并根据接收的加密后的密码段生成加密后的访问密码。该方法中,通过将访问密码分成与密码机数量相同的密码段,使一个密码段对应一个密码机,以使每个密码机可以分别对每个密码段进行加密,通过多个密码机分别对各密码段进行加密,提高了访问密码的安全性,从而提高分布式数据库的访问安全性。
115.上述通过实施例对各密码机对各密码段进行加密处理进行了说明,下面通过一个实施例对各密码机对各密码段进行加密的具体方式进行说明,在一个实施例中,各密码机是通过对各密码段进行交叉加密,得到交叉加密后的密码段,并根据各密码段的排列顺序,对交叉加密后的密码段创建对应的索引,得到多个加密后的密码段。
116.交叉加密可以是交叉互锁,对密码段进行交叉加密可以表示为:向密码段中插入数据,成功插入则表示对密码段进行了交叉加密,得到了加密后的密码段,即获取了加密
锁,使密码段不能够被改变。
117.各密码机对各密码段进行交叉加密,得到交叉加密后的密码段,并且,根据各密码段在访问密码中的排列先后顺序,对交叉加密后的密码段创建对应的索引,得到加密后的密码段;并且,对各密码段进行交叉加密且创建索引后,各密码机会将原密码段删除。
118.索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
119.例如,若访问密码的序列为{密码段1,密码段2,密码段3},将访问密码分为3段,分别为:密码段1、密码段2和密码段3,密码段1在访问密码的最先位置,密码段2在访问密码的中间位置,密码段3在访问密码的最后位置,则可以对交叉加密后的密码段1创建索引1,对交叉加密后的密码段2创建索引2,对交叉加密后的密码段3创建索引3。
120.加密后的密码段则包括所有进行交叉加密后的密码段以及对应的索引。
121.可选地,目标密码机中的密码机存在一个主密码机和至少一个从密码机,在各密码机对各密码段进行交叉加密时,可以是主密码机利用访问密码对主密码机对应的密码段进行交叉互锁,各从密码机利用主密码机对应的密码段对各从密码机对应的密码段进行交叉互锁。
122.在一个实施例中,根据接收的加密后的密码段生成加密后的访问密码,包括:基于各加密后的密码段对应的索引,对各加密后的密码段进行融合处理,得到加密后的访问密码。
123.根据各加密后的密码段对应的索引,能够对各加密后的密码段进行融合处理,例如,加密后的密码段1对应的索引为a,加密后的密码段2对应的索引为b,加密后的密码段3对应的索引为c,若预设的索引的先后顺序为abc,则加密后的访问密码则为{加密后的密码段1,加密后的密码段2,加密后的密码段3}。
124.在一个实施例中,如图5所示,向当前用户发送加密后的访问密码,包括以下步骤:
125.s501,获取访问密码的公钥和当前用户的私钥,通过公钥和私钥对当前用户执行身份认证操作。
126.通过密钥委托,分别获取访问密码的公钥和当前用户的私钥。
127.可选地,获取访问密码的公钥和当前用户的私钥的方式也可以是,通过在密钥管理中心中获取服务器的公钥和当前用户的私钥,该服务器的公钥即为访问密码的公钥;密钥管理中心预先存储着多个用户和服务器的公钥和私钥。
128.在一个实施例中,服务器和用户共用一套公钥和私钥,因此,通过公钥和私钥对当前用户进行身份认证操作,可以是,用公钥对特定数据进行加密,利用私钥对加密后的特定数据进行解密。
129.s502,若当前用户的身份认证通过,则向当前用户发送加密后的访问密码。
130.基于上述实施例,如果私钥能够对加密后的特定数据进行解密,且,解密成功,则表示当前用户的身份认证通过,则服务器将加密后的访问密码发送至当前用户。
131.当前用户的身份认证通过表示可以进一步确定当前用户为合法用户,是有数据块访问权限的用户,因此,将加密后的访问密码发送至当前用户,使当前用户能够根据加密后的访问密码访问数据库。
132.上述是对当前用户的身份认证通过的情况进行的说明,还存在当前用户的身份认
证不通过的情况,在一个实施例中,该实施例包括:若当前用户的身份认证不通过,则执行定时任务,清除失效后的访问密码,再重新执行获取访问密码及加密步骤。
133.在为当前用户分配目标密码机和访问密码后,服务器会中新增一列数据表,数据表用于记录当前获取到所述密码机的数量和访问密码传递线程信息。
134.如果当前用户的身份认证不通过,首先,会查询数据表中密码机的数量和线程信息是否和当前用户的密码机的数量和线程相同,若相同则直接将加密后的访问密码发送至当前用户;若不相同,则开始记录访问密码失效时间,执行定时任务,清除失效的访问密码,并重新获取访问密码,并执行加密访问密码的步骤;定时任务即若访问密码失效时间达到预设时间,则将访问密码清除。
135.在本实施例中,重新获取访问密码,并执行加密访问密码的步骤与上述实施例中的说明相同,在此不做赘述。
136.上述数据库访问密码加密方法,获取访问密码的公钥和当前用户的私钥,通过公钥和私钥对当前用户执行身份认证操作,若当前用户的身份认证通过,则向当前用户发送加密后的访问密码。该方法中,通过进一步对当前用户的身份进行认证操作,若当前用户的身份认证操作成功,才会向当前用户发送加密后的访问密码,进一步验证了当前用户身份的合法性,提高了数据库的访问安全性。
137.在一个实施例中,如图6所示,通过公钥和私钥对当前用户执行身份认证操作,包括以下步骤:
138.s601,向当前用户发送私钥。
139.对当前用户执行身份认证操作时,首先,是先将私钥发送至当前用户。
140.s602,若接收到当前用户的应答信号,将公钥和私钥进行匹配;应答信号表示当前用户接收到私钥后的确认信号。
141.当前用户接收到私钥后,会向服务器发送一个应答信号,用于向服务器表示当前用户已接收到私钥;若服务器接收到当前用户的应答信号后,服务器将公钥和私钥进行匹配,匹配的方式可以是,验证公钥和私钥是否符合预设的匹配规则。
142.可选地,匹配规则可以是,服务器利用公钥对预设数据进行加密,然后再根据私钥对加密后的预设数据进行解密。
143.s603,若公钥和私钥匹配成功,则确定当前用户的身份认证通过。
144.若上述利用私钥对公钥加密后的预设数据进行解密后,得到的还是原始的预设数据,则表示公钥和私钥匹配成功,否则,公钥和私钥匹配不成功。
145.为了防止各种假冒攻击,在执行数据访问操作之前,要在用户和主控服务器之间进行双向身份验证,比如用户在登录分布式数据库时,或分布式数据库系统服务器与服务器之间进行数据传输时,都需要验证身份。
146.在身份验证协议中各站点从一个密钥管理中心站点获得与目标站点通信用的密钥,从而进行安全通信。由于密钥管理中心负责管理和安全分发大量密钥,且系统内必须有一一个被所有站点信任的密钥管理中心;其中,站点是一个存储区,存储了所有数据文件等,在本技术实施例中,站点与目标站点可以与用户与数据库一一对应。
147.上述数据库访问密码加密方法,向当前用户发送私钥,若接收到当前用户的应答信号,将公钥和私钥进行匹配,应答信号表示当前用户接收到私钥后的确认信号,若公钥和
私钥匹配成功,则确定当前用户的身份认证通过。该方法对当前用户的身份认证方式进一步限定,提高了数据库的访问安全性。
148.在一个实施例中,如图7所示,该实施例给出了对访问密码进行加密的过程,服务器以主控服务器为例,首先主控服务器接收到用户提交的用户密码请求后,会先对用户进行身份鉴别,判定用户身份的合法性,若用户身份不合法,则调用验证结果并将当前用户拉入黑名单,若用户身份合法,则对合法的用户分配系统全局唯一的用户id。
149.然后,主控服务器为用户身份判定合法的用户分配至少两个密码机,其中,一个主密码机和至少一个从密码机,并根据制定的访问策略,为用户生成访问密码;依据密码机数量将访问密码进行分段,一个密码机对应一个密码段;将主密码机的密码段与访问密码进行交叉互锁并加密,从密码机对储存的密码段进行加密并创建唯一索引,根据加密后的密码段,得到加密后的访问密码。
150.最后,通过密钥委托,得到主控服务器的公钥与当前用户的私钥,将当前用户的私钥发送至用户,用户接收密钥,则判定密码验证通过,并执行认证操作并将加密后的访问密码发送给用户,若密码验证未通过,则需要重新执行获取访问密码并加密的过程,本方法解决了分布式密码安全性不高,如何进行分布式密码加密的问题。
151.在一个实施例中,为了简化用户与服务器间通信密钥的分发,可以采用基于公钥密码体制的双向身份验证技术,在这种技术中,用户与服务器端都生成一个非对称密码算法的公钥对,其中的私钥由用户自己保存,并可以通过可信渠道将自己的公钥分发给分布式系统中的其他密码机,这样任意两个用户与服务器端之间均可利用所获得的公钥信息相互验证身份。
152.本技术具有前瞻性,为分布式密码的安全问题带来安全性能的保障,提供强大的安全控制,加强了密码的可靠性和私密性,使用分布式密码移除对中心化服务器的全局信任,使用加密提供密码访问控制,保证可靠性,可用性和正确性。由于使用密码段重新加密,未加密的对称密钥(能够解密私有数据)绝不会暴露在服务器端,即使被攻破,黑客也只能得到重新加密的密钥,并且对文件的访问仍然受到保护。
153.在分布式系统环境下,同一加密方法在同一时间只能被一个机器的一个线程执行,同时具有高可用和高性能的获取用户身份与验证身份的合法性,保证加密过程的安全性。
154.在一个实施例中,用户与主密码机、主密码机与从密码机之间身份验证成功后,就可以进行数据传输了,为了对抗报文窃听和报文重发攻击,需要在通信双方之间建立保密信道,对数据进行加密传输。在分布式数据库中,由于传输的数据量很大,所以利用加解密算法对系统进行加解密。建立保密信道的过程也就是约定会话密钥,用会话密钥来加解密数据的过程。通常这一过程也可以和身份验证结合在一起。保密通信可以由分布式数据库系统实现,也可以采用底层网络协议提供的安全体制,如安全套接字协议(secure socket layer,ssl)。
155.通常,在数据库管理系统中,为了防止越权攻击,任何用户不能直接操作库存数据。用户的数据访问请求先要送到访问控制模块审查,然后系统的访问控制模块代理有访问权限的用户完成相应的数据操作。用户的访问控制有两种形式:自主访问授权控制和强制访问授权控制;其中,自主访问授权控制由管理员设置访问控制表,此表规定用户能够进
行的操作和不能进行的操作;强制访问授权控制先给系统内的用户和数据对象分别授予安全级别,根据用户、数据对象之间的安全级别关系限定用户的操作权限。
156.在这两种方式中,数据对象的粒度越小,访问权限就规定得越细,从而系统管理的开销就越大,尤其是在分布式数据库系统中,一方面,用户、数据对象多,另一方面,要进行分布式访问控制,更加剧了系统访问控制的负担。
157.系统中许多用户具有相似的访问权限,因此可以根据用户权限确定角色,一个角色可以授予多个用户,同时一个用户可以拥有多个角色,这样可以在一定程度上降低系统访问控制管理的开销
158.一个实施例中,在分布式密码数据库中,身份验证、保密通信、密码加密等都用到了加解密算法,身份验证仅需传输少量控制信息;保密通信除了传输少量控制信息外,通常还传递大数据信息;密码加密则需要设计不同粒度的数据对象,而且还要考虑密码数据库的插入、删除、更改数据密码等操作;因此,在选择加解密算法时,能够针对分布式数据库系统不同操作步骤的特点来选择合适的加解密算法。
159.密钥管理包括密钥产生、密钥分发、密钥存储、密钥更新、密钥作废删除等,其核心问题是密钥分发。此外,由于密码体制的保密强度强烈依赖于密钥的保密性,对分布式密码数据库中所涉及的大量公钥、密钥制定严格的管理方案,以保证公钥不被假冒、密钥不被泄漏。
160.在一个实施例中,服务器以主控服务器为例,如图8所示,该实施例包括:
161.s801,主控服务器接收用户的用户密码请求;
162.其中,用户密码请求携带用户的身份信息、选定的服务以及验证信息。
163.s802,根据用户密码请求,判定用户身份的合法性;
164.具体地,如果用户身份存在主控服务器的数据库中,则用户身份合法,否则,不合法;不合法则了黑;
165.s803,若用户身份合法,则为用户分配至少两个密码机;
166.其中,至少两个密码机包括一个主密码机和至少一个从密码机;若用户身份合法,还包括:为用户分配用户编号,用户编号能够唯一标识该用户身份。
167.s804,根据预设的访问策略,为该用户生成访问密码;
168.其中,访问策略,例如,访问协议等。
169.s805,根据密码机的数量为访问密码分段,得到各密码机对应的密码段;
170.其中,一个密码机对应一个密码段;分段方式可以是平均分段或预设的分段方式。
171.s806,主控服务器将各密码段发送给对应的密码机,指示密码机对密码段进行加密,得到各加密后的访问密码段;
172.加密的过程为:主密码机的密码段与访问密码进行交叉互锁,得到加密后的主密码机的密码段;根据主密码机的密码段,分别对各从密码机的密码段进行加密,得到加密后的各从密码机的密码段,并创建唯一索引,一个从密码机对应一个索引。
173.s807,接收各密码机返回的各加密后的访问密码段,并根据各加密后的访问密码段,得到加密后的访问密码。
174.s808,通过密钥委托,得到主控服务器的公钥与当前用户的私钥。
175.s809,主控服务器向用户发送私钥,若用户接收到用户的私钥,则判定密码验证通
过,继续执行认证操作;
176.其中,认证操作为表示主控服务器的公钥与用户的私钥进行匹配。
177.s810,当未通过密码验证时,重启加密步骤s806-s809,进行重新加密。
178.s811,认证操作成功,则将加密后的访问密码发送给用户。
179.本实施例提供的数据库访问密码加密方法的具体限定可以参见上文中对于数据库访问密码加密方法中各实施例的步骤限定,在此不再赘述。
180.应该理解的是,虽然上述实施例中所附的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例中所附的图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
181.在一个实施例中,如图9所示,本技术实施例还提供了一种数据库访问密码加密装置900,该装置900包括:生成模块901、分配模块902、加密模块903和发送模块904,其中:
182.生成模块901,用于若接收到当前用户的用户密码请求,且当前用户的身份合法,则生成当前用户的访问密码;
183.分配模块902,用于对当前用户分配目标密码机;目标密码机包括至少两个密码机;
184.加密模块903,用于通过目标密码机对访问密码进行加密处理,得到加密后的访问密码;
185.发送模块904,用于向当前用户发送加密后的访问密码,加密后的访问密码用于指示当前用户根据加密后的访问密码对数据库进行访问。
186.在一个实施例中,生成模块901包括:
187.检测单元,用于检测身份信息数据库中是否存在与当前用户的身份信息相同的身份信息;身份信息数据库中包括多个用户的身份信息;
188.确定单元,用于若是,则确定当前用户的身份合法。
189.在一个实施例中,分配模块902包括:
190.分配单元,用于根据预设的映射表对当前用户分配目标密码机;映射表包括多个用户与密码机之间的对应关系。
191.在一个实施例中,加密模块903包括:
192.分段单元,用于根据目标密码机中密码机的数量,对访问密码进行分段操作,得到多个密码段;密码段的数量与密码机的数量相同,且一个密码机分别对应一个密码段;
193.加密单元,用于将各密码段分别发送至对应的密码机,通过各密码机对各密码段进行加密处理,得到多个加密后的密码段;
194.生成单元,用于接收各密码机返回的加密后的密码段,并根据接收的加密后的密码段生成加密后的访问密码。
195.在一个实施例中,各密码机是通过对各密码段进行交叉加密,得到交叉加密后的密码段,并根据各密码段的排列顺序,对交叉加密后的密码段创建对应的索引,得到多个加
密后的密码段。
196.在一个实施例中,生成单元包括:
197.生成子单元,用于基于各加密后的密码段对应的索引,对各加密后的密码段进行融合处理,得到加密后的访问密码。
198.在一个实施例中,发送模块904包括:
199.认证单元,用于获取访问密码的公钥和当前用户的私钥,通过公钥和私钥对当前用户执行身份认证操作;
200.发送单元,用于若当前用户的身份认证通过,则向当前用户发送加密后的访问密码。
201.在一个实施例中,认证单元包括:
202.发送子单元,用于向当前用户发送私钥;
203.匹配子单元,用于若接收到当前用户的应答信号,将公钥和私钥进行匹配;应答信号表示当前用户接收到私钥后的确认信号;
204.认证子单元,用于若公钥和私钥匹配成功,则确定当前用户的身份认证通过。
205.关于数据库访问密码加密装置的具体限定可以参见上文中对于数据库访问密码加密方法中各步骤的限定,在此不再赘述。上述数据库访问密码加密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以以硬件形式内嵌于或独立于目标设备,也可以以软件形式存储于目标设备中的存储器中,以便于目标设备调用执行以上各个模块对应的操作。
206.在一个实施例中,提供了一种计算机设备,如图10所示,该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据库访问密码加密方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
207.本领域技术人员可以理解,上述计算机设备的结构描述仅仅是与本技术方案相关的部分结构,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
208.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
209.若接收到当前用户的用户密码请求,且当前用户的身份合法,则生成当前用户的访问密码;
210.对当前用户分配目标密码机;目标密码机包括至少两个密码机;
211.通过目标密码机对访问密码进行加密处理,得到加密后的访问密码;
212.向当前用户发送加密后的访问密码,加密后的访问密码用于指示当前用户根据加
密后的访问密码对数据库进行访问。
213.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
214.检测身份信息数据库中是否存在与当前用户的身份信息相同的身份信息;身份信息数据库中包括多个用户的身份信息;
215.若是,则确定当前用户的身份合法。
216.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
217.根据预设的映射表对当前用户分配目标密码机;映射表包括多个用户与密码机之间的对应关系。
218.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
219.根据目标密码机中密码机的数量,对访问密码进行分段操作,得到多个密码段;密码段的数量与密码机的数量相同,且一个密码机分别对应一个密码段;
220.将各密码段分别发送至对应的密码机,通过各密码机对各密码段进行加密处理,得到多个加密后的密码段;
221.接收各密码机返回的加密后的密码段,并根据接收的加密后的密码段生成加密后的访问密码。
222.在一个实施例中,各密码机是通过对各密码段进行交叉加密,得到交叉加密后的密码段,并根据各密码段的排列顺序,对交叉加密后的密码段创建对应的索引,得到多个加密后的密码段。
223.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
224.基于各加密后的密码段对应的索引,对各加密后的密码段进行融合处理,得到加密后的访问密码。
225.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
226.获取访问密码的公钥和当前用户的私钥,通过公钥和私钥对当前用户执行身份认证操作;
227.若当前用户的身份认证通过,则向当前用户发送加密后的访问密码。
228.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
229.向当前用户发送私钥;
230.若接收到当前用户的应答信号,将公钥和私钥进行匹配;应答信号表示当前用户接收到私钥后的确认信号;
231.若公钥和私钥匹配成功,则确定当前用户的身份认证通过。
232.本实施例中处理器实现的各步骤,其实现原理和技术效果与上述数据库访问密码加密方法的原理类似,在此不再赘述。
233.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
234.本实施例中计算机程序被处理器执行时实现的各步骤,其实现原理和技术效果与上述数据库访问密码加密方法的原理类似,在此不再赘述。
235.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
236.本实施例中计算机程序被处理器执行时实现的各步骤,其实现原理和技术效果与
上述数据库访问密码加密方法的原理类似,在此不再赘述。
237.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
238.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
239.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
240.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献