1.本发明涉及金融机构数据安全领域,具体涉及一种金融机构数据库访问密码保护方法及系统。
背景技术:2.在系统开发、系统运维过程中,会对数据库进行操作,通常情况下是通过输入账号+密码的方式访问数据库进行操作,这样数据库密码明文就会暴露于开发人员或非必要系统运维人员,久而久之可能会发生数据库账户被窃取导致数据信息泄露的风险。
3.现有技术中通过一个专门的数据库访问系统访问数据库,依旧无法对非必要系统进行管控,只要应用系统通过明文访问数据库,则开发人员依然会接触到明文密码,可能会发生数据库账户被窃取导致数据信息泄露的风险。
技术实现要素:4.本发明所要解决的技术问题是操作人员接触到金融数据库明文密码,无可避免的带来数据库安全风险,目的在于提供一种金融机构数据库访问密码保护方法及系统,通过对数据库访问密码的多重安全管理,达到对金融数据库加密访问,避免操作人员接触明文数据库密码,以此保证数据库信息安全。
5.本发明首先通过下述技术方案实现:
6.一种金融机构数据库访问密码保护方法,配置访问系统对金融机构数据库的访问权限,根据所述访问权限生成数据库访问密码;为所述数据库访问密码生成保护密钥,并保存所述保护密钥;通过所述保护密钥对所述数据库访问密码进行加密,形成数据库访问密文密码,并保存所述数据库访问密文密码。
7.现有技术中无法对非必要系统进行管控,只要应用系统(也就是本发明中的访问系统)通过明文访问数据库,则开发人员依然会接触到明文密码,可能会发生数据库账户被窃取导致数据信息泄露的风险。本发明通过保护密钥对数据库访问密码加密,避免中间人接触数据库明文密码,以此保证数据库信息访问的安全。
8.进一步的,当收到所述访问系统对数据库的访问请求时,根据所述访问系统对金融机构数据库的访问权限获取保存的保护密钥,通过所述保护密钥对所述数据库访问密文密码进行解密,得到数据库访问密码;访问系统根据所述数据库访问密码对金融机构数据库进行访问。
9.进一步的,所述保护密钥采用对称加密算法对所述数据库访问密码进行加密或解密。
10.进一步的,在保存所述保护密钥之前,采用非对称加密算法将所述保护密钥进行加密;根据所述访问系统对金融机构数据库的访问权限获取保存的保护密钥之后,采用所述非对称加密算法对所述保存的保护密钥进行解密,通过解密后的保护密钥对所述数据库访问密文密码进行解密。
11.本发明利用非对称+对称加解密的方式对数据库密码进行管理,由此达到对数据库的加密访问。
12.进一步的,所述非对称加密算法为椭圆曲线算法。
13.本发明第二种实现方式,一种金融机构数据库访问密码保护系统,包括:数据库统一管理服务中心,根据访问系统提出的数据库访问请求,配置访问系统对数据库的访问权限,依据所述访问权限生成数据库访问密码,并从统一密码管理服务中心获取保护密钥,通过所述保护密钥对所述数据库访问密码进行加密,将数据库访问密文密码存入配置中心;统一密码管理服务中心,生成所述保护密钥,依据数据库统一管理服务中心或访问系统的请求,基于非对称算法向数据库统一管理服务中心或访问系统分发所述保护密钥;配置中心,存储所述数据库访问密文密码。
14.进一步的,包括:访问系统,向所述数据库统一管理服务中心提出访问申请;从所述配置中心获取所述数据库访问密文密码;从统一密码管理服务中心获取保护密钥,通过所述保护密钥对所述数据库访问密文密码进行解密,得到数据库访问密码。所述非对称加密算法为椭圆曲线算法。
15.本发明第三种实现方式,一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的金融机构数据库访问密码保护方法。
16.本发明第四种实现方式,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的金融机构数据库访问密码保护方法。
17.本发明与现有技术相比,具有如下的优点和有益效果:
18.本发明让金融机构数据库的访问更加安全可靠,防止金融机构在系统开发过程中造成的数据库密码泄露;通过将保护密钥、数据库访问密码、以及经保护密钥加密后的数据库访问密码分别进行管理,并通过保护密钥依据对称算法对数据库访问密码进行加密或解密,又依据非对称算法对保护密钥进行管理,实现对数据库访问密码的多重安全防护,让加密方案更安全可靠。依据本发明方案可以随时对保护密钥和数据库访问密码进行更换。
附图说明
19.为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
20.图1为实施例2的方法示意图;
具体实施方式
21.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
22.名词示义:
23.dbadmin:数据库统一管理服务;
24.kms:统一密码管理服务;
25.cs:配置中心;
26.dbpwd:数据库访问密码;
27.mk:保护密钥;
28.mkbydbadminpubkey:采用非对称加密算法经数据库统一管理服务的公钥加密后的保护密钥;
29.mkbysysapubkey:采用非对称加密算法经访问系统(系统a)的公钥加密后的保护密钥;
30.enc_dbpwd:经对称加密算法通过保护密钥加密后的数据库访问密码。
31.实施例1
32.本实施例1是一种金融机构数据库访问密码保护方法,配置访问系统对金融机构数据库的访问权限,根据访问系统的访问权限生成数据库访问密码;为数据库访问密码生成保护密钥,并保存保护密钥;通过保护密钥对数据库访问密码进行加密,形成数据库访问密文密码,并保存数据库访问密文密码。
33.现有技术中无法对非必要系统进行管控,只要应用系统(也就是本实施例1中的访问系统)通过明文访问数据库,则开发人员依然会接触到明文密码,可能会发生数据库账户被窃取导致数据信息泄露的风险。本实施例1通过保护密钥对数据库访问密码加密,避免中间人接触明文数据库密码,以此保证数据库信息访问的安全。
34.当收到访问系统对数据库的访问请求时,根据访问系统对金融机构数据库的访问权限获取保存的保护密钥,通过保护密钥对数据库访问密文密码进行解密,得到数据库访问密码;访问系统根据数据库访问密码对金融机构数据库进行访问。访问系统要对金融机构数据库进行访问,首先要去申请访问权限,然后基于非对称算法得到保护密钥,和,以保护密钥加密后的数据库访问密码,这里的数据库访问密码是基于访问系统对数据库的访问权限所生成的。访问系统基于对称加密算法再依据保护密钥对经保护密钥加密后的数据库访问密码,也就是对数据库访问密文密码进行解密,得到数据库访问密码。访问系统最后根据数据库访问密码来对金融机构数据库进行访问。其过程中,数据库访问密码全程为密文,不会明文展示,同又基于对称加密算法对数据库密码的加解密,以及非对称加密算法对保护密钥的加解密,实现以数据库访问密码的多重安全防护,避免了操作人员泄露风险。
35.在一种可能的实施例中,非对称加密算法为椭圆曲线算法,符合国密算法xm2要求。
36.实施例2
37.本实施例2是在实施例1的基础上的一种金融机构数据库访问密码保护方法,如图1所示。
38.本实施例2方法涉及到的系统角色:
39.1、数据库统一管理服务(dbadmin):用于对需要数据库访问的各访问系统配置访问权限,是所有数据库访问的权限管控服务。
40.2、统一密码管理服务(kms):用于生成和保管数据库密码的加密密钥。
41.3、需要访问数据库的访问系统:在本实施例中称为系统a。
42.4、配置中心(cs):用于存储需要访问数据库的系统配置数据库访问密文密码。
43.在本实施例的方法执行之前,在新建数据库统一管理服务(dbadmin)和新建需要访问数据库的系统(示例:系统a)的时候,已采用256位椭圆曲线算法(非对称密码算法)为dbadmin和系统a生成了公私钥密钥对。
44.本实施例步骤:
45.1、系统a向dbadmin申请数据库的访问:
46.要访问数据库,必须得向dbadmin申请访问,系统a向dbadmin申请访问具体的数据库、表;
47.2、dbadmin配置系统a的数据库访问权限,并向kms申请数据库访问密码(dbpwd)的保护密钥:
48.dbadmin配置系统a允许访问的数据库、表,并生成记录,此时dbadmin不会直接把数据库明文密码(dbpwd)直接告知系统a,而是向kms申请数据库密码(dbpwd)的保护密钥(该保护密钥用于对数据库明文密码进行对称算法加密,且不同系统和人员申请的数据库保护密钥是不同的),同时向kms发送自己的公钥。
49.3、kms将数据库访问密码(dbpwd)的保护密钥用dbadmin的公钥加密,并下发至dbadmin:kms收到dbadmin申请保护密钥的请求,生成一条保护密钥(mk),同时用收到的dbadmin的公钥,基于椭圆曲线(非对称)加密算法,对该条保护密钥利用公钥加密保护生成mkbydbadminpubkey,并下发至dbadmin。
50.4、dbadmin用私钥解密出dbpwd的保护密钥,并采用对称加密的方式对数据库密码进行加密,并发送到系统a访问数据库的配置中心(cs):
51.dbadmin收到kms发回的mkbydbadminpubkey之后,基于椭圆曲线(非对称)加密算法,利用自己的私钥进行解密得到保护密钥mk,采用对称加密算法对系统a要访问某个数据库的dbpwd用mk进行加密得到(enc_dbpwd),并下发至系统a的配置中(cs)。
52.5、系统a需要访问数据库,向kms申请数据库访问密码(dbpwd)的保护密钥(mk):
53.系统a向kms申请dbpwd的保护密钥(该保护密钥用于对dbpwd进行对称算法加密,且不同系统和人员申请的数据库保护密钥是不同的),同时向kms发送自己的公钥。
54.6、kms将数据库访问密码(dbpwd)的保护密钥(mk)用系统a的公钥加密,并下发至系统a:
55.kms收到系统a申请保护密钥的请求,生成一条保护密钥(mk),同时用收到的系统a的公钥,基于椭圆曲线(非对称)加密算法,对该条保护密钥利用公钥加密保护生成mkbysysapubkey,并下发至系统a。
56.7、系统a解密出数据库访问密码的保护密钥(mk):
57.系统a收到kms发回的mkbysysapubkey之后,基于椭圆曲线(非对称)加密算法,用自己的私钥解密出数据库访问密码的保护密钥(mk)。
58.8、系统a解密出数据库密码明文(dbpwd):
59.系统a从配置中心(cs)获取到enc_dbpwd,并用mk通过对称加密算法解密出dbpwd,通过程序方式建立数据库连接池,通过程序的方式访问数据库,期间不会有人接触到数据库明文密码。
60.9、如需更换数据库密码保护密钥或更换数据库密码,则重新走一次上述步骤即
可。
61.在本实施例中有关键角色有3个,dbadmin,kms和需要访问数据库的系统;采用非对称+对称加密算法的方式对数据库密码进行保护。使得数据库的访问更安全可靠,防止金融机构在系统开发过程中造成的数据库密码泄露,3个关键角色的加入,让加密方案更安全可靠,密钥可替换;非对称+对称算法加密的方式让加密方案更安全可靠。
62.实施例3
63.本实施例3是在实施例1的基础上的一种金融机构数据库访问密码保护系统,包括:数据库统一管理服务中心,根据访问系统提出的数据库访问请求,配置访问系统对数据库的访问权限,依据访问权限生成数据库访问密码,并从统一密码管理服务中心获取保护密钥,通过保护密钥对数据库访问密码进行加密,将数据库访问密文密码存入配置中心;统一密码管理服务中心,生成保护密钥,依据数据库统一管理服务中心或访问系统的请求,基于非对称算法向数据库统一管理服务中心或访问系统分发保护密钥;配置中心,存储数据库访问密文密码。
64.在一种可能的实施例中,还包括:访问系统,向数据库统一管理服务中心提出访问申请;从配置中心获取数据库访问密文密码;从统一密码管理服务中心获取保护密钥,通过保护密钥对数据库访问密文密码进行解密,得到数据库访问密码。在本实施例中,非对称加密算法为椭圆曲线算法。
65.实施例4
66.本实施例4是一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现实施例1的金融机构数据库访问密码保护方法。
67.实施例5
68.本实施例5是一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现实施例1的金融机构数据库访问密码保护方法。
69.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
70.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
71.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
72.本领域普通技术人员可以理解实现上述事实和方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,涉及的程序或者所述的程序可以存储于一计算机所可
读取存储介质中,该程序在执行时,包括如下步骤:此时引出相应的方法步骤,所述的存储介质可以是rom/ram、磁碟、光盘等等。
73.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。