CN114785498A - 一种数据库密码保护方法、装置及设备 - Google Patents

一种数据库密码保护方法、装置及设备 Download PDF

Info

Publication number
CN114785498A
CN114785498A CN202210434269.5A CN202210434269A CN114785498A CN 114785498 A CN114785498 A CN 114785498A CN 202210434269 A CN202210434269 A CN 202210434269A CN 114785498 A CN114785498 A CN 114785498A
Authority
CN
China
Prior art keywords
password
database
encryption
access
access password
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210434269.5A
Other languages
English (en)
Inventor
谢永贵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Qianhai Baidi Network Co ltd
Original Assignee
Shenzhen Qianhai Baidi Network Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Qianhai Baidi Network Co ltd filed Critical Shenzhen Qianhai Baidi Network Co ltd
Priority to CN202210434269.5A priority Critical patent/CN114785498A/zh
Publication of CN114785498A publication Critical patent/CN114785498A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种数据库密码保护方法、装置及设备,包括:获取应用服务发送的针对目标数据库的访问密码查询请求;基于所述访问密码查询请求查询所述目标数据库的访问密码;对所述访问密码进行加密,得到加密密码;将所述加密密码返回至所述应用服务,以便所述应用服务调用所述密码服务预先生成的加解密文件对所述加密密码进行解密,得到所述访问密码。这样,避免了将密码明文或者加密后的密码密文写入应用程序或其可以访问的配置文件、环境变量,通过密码服务进行加密,通过密码服务生成的加解密文件进行解密,能够提升数据库密码的安全性,从而防止数据泄露。

Description

一种数据库密码保护方法、装置及设备
技术领域
本申请涉及数据库技术领域,特别涉及一种数据库密码保护方法、装置及设备。
背景技术
在服务端程序访问数据库时,通常需要创建连接来与数据库进行交互,而创建数据库连接时需要指定访问数据库的URL、用户名、密码等信息,这些信息通常写入到应用程序可读取的配置文件、环境变量或应用程序代码片段中,在创建数据库连接时,根据这些信息来建立数据库访问通道。但这些信息容易被相关的开发、运维人员或者是攻击者获取,导致数据库密码泄漏,进而导致数据库中存储的数据被非法获取,产生严重的数据安全事故。
目前,为了保护数据库密码,现有的解决方案是通过一些加密技术将数据库密码加密之后再写入到配置文件或程序代码中,当应用程序需要建立数据库连接时,读出加密之后的密文,然后使用相同的秘钥和对应的解密算法,解密得到明文的数据库访问密码,然后访问数据库建立连接。但这种方案中,用于加密的秘钥和加密算法本身作为应用程序或其可以访问的配置文件、环境变量的一部分存在于应用服务器上,相关的开发、运维人员或者非法登入应用服务器的攻击者仍然可以通过对应用程序及其配置文件、环境变量等进行分析,得到加密秘钥和加密算法,进而获取到数据库访问密码,仍然存在巨大的安全隐患。
发明内容
有鉴于此,本申请的目的在于提供一种数据库密码保护方法、装置及设备,能够提升数据库密码的安全性,从而防止数据泄露。其具体方案如下:
第一方面,本申请公开了一种数据库密码保护方法,应用于密码服务,包括:
获取应用服务发送的针对目标数据库的访问密码查询请求;
基于所述访问密码查询请求查询所述目标数据库的访问密码;
对所述访问密码进行加密,得到加密密码;
将所述加密密码返回至所述应用服务,以便所述应用服务调用所述密码服务预先生成的加解密文件对所述加密密码进行解密,得到所述访问密码。
可选的,还包括:
生成所述应用服务对应的公私钥对,并将所述公私钥对中的私钥添加至所述加解密文件;
相应的,所述对所述访问密码进行加密,得到加密密码,包括:
利用所述公私钥对中的公钥对所述访问密码进行加密,得到加密密码;
并且,所述应用服务用于调用所述加解密文件中的所述私钥对所述加密密码进行解密,得到所述访问密码。
可选的,所述访问密码查询请求携带第一密文;所述第一密文为利用所述加解密文件中的目标密钥对请求数据加密得到的密文,所述请求数据包括所述应用服务的标识信息;
相应的,所述基于所述访问密码查询请求查询所述目标数据库的访问密码,包括:
利用所述目标密钥对所述第一密文进行解密,得到第一解密数据;
基于所述第一解密数据中的所述标识信息以及所述访问密码查询请求的来源IP地址查询所述应用服务对应的所述公钥;
若查询到所述公钥,则查询所述目标数据库的访问密码。
可选的,所述请求数据还包括第二密文;所述第二密文为利用所述加解密文件中的所述私钥对指定信息进行加密得到的密文,所述指定信息包括所述应用服务的标识信息、访问所述密码服务的出口IP地址以及通过所述加解密文件生成的随机字符串中的至少一种;
相应的,若查询到所述公钥,还包括:
利用所述公钥对所述第二密文进行解密,得到第二解密数据;
对所述第二解密数据进行校验,若所述第二解密数据通过校验,则查询所述目标数据库的访问密码。
可选的,所述对所述第二解密数据进行校验,包括:
若所述第二解密数据包括所述应用服务的标识信息,则将该标识信息与所述第一解密数据中的标识信息进行比对,若一致,则判定标识信息通过校验;
若所述第二解密数据包括所述出口IP地址,则将所述出口IP地址与所述访问密码查询请求的来源IP地址进行比对,若一致,则判定所述出口IP地址通过校验;
若所述第二解密数据包括所述随机字符串,则判断是否为第一次获取到该随机字符串,若为第一次获取到该随机字符串,则判定所述随机字符串通过校验;
当所述第二解密数据中的各项所述指定信息均通过校验,则判定所述第二解密数据通过校验。
可选的,所述对所述访问密码进行加密,得到加密密码之后,还包括:
利用目标密钥对所述加密密码以及所述应用服务的标识信息进行加密,得到响应密文;
将所述响应密文返回至所述应用服务,以便所述应用服务调用所述加解密文件对所述响应密文进行解密,并将解密得到的标识信息与预存的标识信息比对,若一致,则对所述加密密码进行解密,得到所述访问密码。
可选的,还包括:
获取加解密文件生成请求;
判断所述加解密文件生成请求是否为本地请求,若所述加解密文件生成请求为本地请求,则生成所述加解密文件。
可选的,还包括:
定时确定所述目标数据库的更新密码,并将当前的所述访问密码修改为所述更新密码。
第二方面,本申请公开了一种数据库密码保护装置,应用于密码服务,包括:
查询请求获取模块,用于获取应用服务发送的针对目标数据库的访问密码查询请求;
访问密码查询模块,用于基于所述访问密码查询请求查询所述目标数据库的访问密码;
访问密码加密模块,用于对所述访问密码进行加密,得到加密密码;
加密密码返回模块,用于将所述加密密码返回至所述应用服务,以便所述应用服务调用所述密码服务预先生成的加解密文件对所述加密密码进行解密,得到所述访问密码。
第三方面,本申请公开了一种电子设备,包括处理器和存储器;其中,
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序以实现前述的数据库密码保护方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的数据库密码保护方法。
第五方面,本申请公开了一种计算机程序产品,所述计算机程序产品被执行时实现前述的数据库密码保护方法。
可见,本申请先通过密码服务获取应用服务发送的针对目标数据库的访问密码查询请求,然后基于所述访问密码查询请求查询所述目标数据库的访问密码,之后对所述访问密码进行加密,得到加密密码,最后将所述加密密码返回至所述应用服务,以便所述应用服务调用所述密码服务预先生成的加解密文件对所述加密密码进行解密,得到所述访问密码。也即,本申请通过密码服务处理应用服务对目标数据库的访问密码请求,在查询到目标数据库的访问密码后,对密码进行加密得到加密密码,并将加密密码返回至应用服务,应用服务只有调用密码服务预先生成的加解密文件才能对加密密码进行解密,这样,避免了将密码明文或者加密后的密码密文写入应用程序或其可以访问的配置文件、环境变量,通过密码服务进行加密,通过密码服务生成的加解密文件进行解密,能够提升数据库密码的安全性,从而防止数据泄露。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种数据库密码保护方案所采用的***架构图;
图2为本申请公开的一种数据库密码保护流程图;
图3为本申请公开的一种具体的加解密文件生成示意图;
图4为本申请公开的一种具体的数据库访问密码请求流程图;
图5为本申请公开的一种数据库密码保护方案示意图;
图6为本申请公开的一种数据库密码保护装置结构示意图;
图7为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,为了保护数据库密码,现有的解决方案是通过一些加密技术将数据库密码加密之后再写入到配置文件或程序代码中,当应用程序需要建立数据库连接时,读出加密之后的密文,然后使用相同的秘钥和对应的解密算法,解密得到明文的数据库访问密码,然后访问数据库建立连接。但这种方案中,用于加密的秘钥和加密算法本身作为应用程序或其可以访问的配置文件、环境变量的一部分存在于应用服务器上,相关的开发、运维人员或者非法登入应用服务器的攻击者仍然可以通过对应用程序及其配置文件、环境变量等进行分析,得到加密秘钥和加密算法,进而获取到数据库访问密码,仍然存在巨大的安全隐患。为此,本申请提供了一种数据库密码保护方案,能够提升数据库密码的安全性,从而防止数据泄露。
本申请的数据库密码保护中,采用的***框架具体可以参见图1所示,具体可以包括:第二电子设备101、第一电子设备102、第二电子设备101与第一电子设备102之间通过网络103实现通信连接。其中,第一电子设备和第二电子设备均可以为终端设备或者服务器等。例如,第一电子设备可以为服务器,运行有密码服务,第二电子设备可以为终端设备,运行有应用服务。如图1所示,第二电子设备通过网络向第一电子设备发送针对目标数据库的访问密码查询请求,第一电子设备返回响应数据给第二电子设备。
参见图2所示,本申请实施例公开了一种数据库密码保护方法,应用于密码服务,包括:
步骤S11:获取应用服务发送的针对目标数据库的访问密码查询请求。
在具体的实施方式中,本申请实施例可以先获取加解密文件生成请求;判断所述加解密文件生成请求是否为本地请求,若所述加解密文件生成请求为本地请求,则生成所述加解密文件。
需要指出的是,本申请实施例通过密码服务提供数据库访问密码接口,应用服务可以基于数据库访问密码接口获取数据库访问密码,生成加解密文件时也需要调用密码服务提供的相应接口生成加解密文件,为了防止攻击者自行生成加解密文件来伪造数据库访问密码接口请求,密码服务限制生成加解密文件的接口只能基于本地请求访问,应用服务维护者可以将密码服务部署在安全域,并在密码服务部署的机器上手动执行脚本生成加解密文件,这样,只有在密码服务部署的机器上才能生成加解密文件,提升了安全性。
其中,加解密文件生成请求携带了应用服务的标识信息和访问密码服务的出口IP地址,标识信息可以为应用服务程序包名,出口IP地址为应用服务请求密码服务时绑定的IP地址,当密码服务判定加解密文件生成请求为本地请求,则判断否存在该标识信息以及该访问密码服务对应的已生成的加解密文件,若不存在,则生成应用服务对应的加解密文件,应用服务与加解密文件一一对应,并生成所述应用服务对应的公私钥对,并将所述公私钥对中的私钥添加至所述加解密文件。然后将该应用服务的标识信息、访问密码服务的出口IP地址以及公钥保存至密码服务数据库。
例如,参见图3所示,本申请实施例公开了一种具体的加解密文件生成示意图。在生成加解密文件时,输入应用服务的应用服务程序包名和访问密码服务的出口IP地址,密码服务判断是否已生成该应用服务程序包名和IP地址对应的加解密文件,如果未生成则生成公私钥对,将公钥和应用服务程序包名、访问密码服务的出口IP地址记录在密码服务数据库中,然后生成加解密文件代码,并将私钥附加到加解密文件代码中,然后使用代码混淆技术对加解密代码进行混淆,最后编译成so文件输出,供应用服务部署调用进行密码服务接口请求的加密和解密操作。加解密文件和应用服务部署实例是一一对应的关系,只有在应用服务程序包名和访问密码服务的出口IP地址与录入密码服务数据库相符的情况下,才能得到正确的加密和解密结果。而且加解密文件只接受输入字符串进行返回加密或解密结果,不会输出其他任何信息。
步骤S12:基于所述访问密码查询请求查询所述目标数据库的访问密码。
在具体的实施方式中,所述访问密码查询请求携带第一密文;所述第一密文为利用所述加解密文件中目标密钥对请求数据加密得到的密文,所述请求数据包括所述应用服务的标识信息;相应的,本申请实施例可以利用目标密钥对所述第一密文进行解密,得到第一解密数据;基于所述第一解密数据中的所述标识信息以及所述访问密码查询请求的来源IP地址查询所述应用服务对应的所述公钥;若查询到所述公钥,则查询所述目标数据库的访问密码。
其中,目标密钥可以为固定密钥,并且,该固定密钥可以定期修改。并且,若查询不到所述公钥,则返回错误响应。
需要指出的是,本申请实施例可以在密码服务数据库中基于第一解密数据中的标识信息以及访问密码查询请求的来源IP地址查询应用服务对应的公钥,这样,由于密码服务数据库中保存的是访问密码服务的出口IP地址,通过查询标识信息以及访问密码查询请求的来源IP地址来查询,如果查询到一致的标识信息和IP地址,则返回公钥,这样,通过出口IP地址限制只能在指定的机器上也即密码服务所在机器上调用数据库访问密码接口。
进一步的,所述请求数据还包括第二密文;所述第二密文为利用所述加解密文件中的所述私钥对指定信息进行加密得到的密文,所述指定信息包括所述应用服务的标识信息、访问所述密码服务的出口IP地址以及通过所述加解密文件生成的随机字符串中的至少一种;相应的,若查询到所述公钥,还包括:利用所述公钥对所述第二密文进行解密,得到第二解密数据;对所述第二解密数据进行校验,若所述第二解密数据通过校验,则查询所述目标数据库的访问密码。
其中,所述对所述第二解密数据进行校验,包括:若所述第二解密数据包括所述应用服务的标识信息,则将该标识信息与所述第一解密数据中的标识信息进行比对,若一致,则判定标识信息通过校验;若所述第二解密数据包括所述出口IP地址,则将所述出口IP地址与所述访问密码查询请求的来源IP地址进行比对,若一致,则判定所述出口IP地址通过校验;若所述第二解密数据包括所述随机字符串,则判断是否为第一次获取到该随机字符串,若为第一次获取到该随机字符串,则判定所述随机字符串通过校验,否则,判定所述随机字符串没有通过校验;当所述第二解密数据中的各项所述指定信息均通过校验,则判定所述第二解密数据通过校验。并且,若所述第二解密数据中的各项所述指定信息中任一项未通过校验,则判定所述第二解密数据没有通过校验,生成错误响应。
步骤S13:对所述访问密码进行加密,得到加密密码。
在具体的实施方式中,可以利用所述公私钥对中的公钥对所述访问密码进行加密,得到加密密码。
步骤S14:将所述加密密码返回至所述应用服务,以便所述应用服务调用所述密码服务预先生成的加解密文件对所述加密密码进行解密,得到所述访问密码。
在具体的实施方式中,在所述对所述访问密码进行加密,得到加密密码之后,还包括:利用目标密钥对所述加密密码以及所述应用服务的标识信息进行加密,得到响应密文;然后将所述响应密文返回至所述应用服务,以便所述应用服务调用所述加解密文件对所述响应密文进行解密,并将解密得到的标识信息与预存的标识信息比对,若一致,则对所述加密密码进行解密,得到所述访问密码。
并且,所述加解密文件利用所述私钥对所述加密密码进行解密,得到所述访问密码。
例如,参见图4所示,图4为本申请实施例公开的一种具体的数据库访问密码请求流程图。图4中加解密模块为基于加解密文件实现的功能模块,应用服务调用加解密模块对该应用服务的服务包名进行校验,若校验成功,则生成请求串作为指定信息,例如请求串为{“pkg”:”com.xxx”,”ip”:”xxx.xxx.xxx.xx”,”rand”:”dsfetjewotwerweutweojoooifjejlerk”},其中,pkg表示应用服务程序包名,IP为访问密码服务的出口IP地址,rand为生成的随机串。利用私钥对请求串加密得到cip参数,也即第二密文,然后用固定密钥对应用服务程序包名和第二密文加密,生成第一密文,基于第一密文发起请求,若没有校验成功,则生成无效密文,并利用固定密钥对无效密文和应用服务程序包名加密,发起请求。其中,无效密文为利用私钥对错误标识进行加密得到的密文。密码服务收到请求后,先利用固定密钥对请求数据进行解密,并通过网络层获取请求来源IP地址,根据应用服务程序包名以及请求来源IP地址在密码服务数据中查询公钥,若存在,则使用公钥对cip参数解密,得到加解密模块预置的应用服务程序包名,访问密码服务的出口IP地址,随机串,进行校验,通过后,查询数据库的访问密码,先使用公钥对访问密码进行加密,然后使用固定密钥对加密密码和应用程序包名加密,返回响应信息,应用服务收到响应信息,调用加解密模块对响应信息解密,先使用固定密钥解密,然后校验应用包名,校验成功后使用私钥解密,输出数据库的访问密码。若密码服务接收到请求后,用固定密钥解密得到了无效密文,然后利用公钥解密会得到错误标识,无法通过校验,本申请实施例可以记录请求来源IP为存在风险的IP。也即,本申请实施例中,应用服务通过调用密码服务接口获取数据库访问密码,应用服务端使用密码服务调用加解密模块对请求数据进行加密,对密码服务接口返回的响应数据进行解密。从而保护了数据库的访问密码。
进一步的,本申请实施例还可以定时确定所述目标数据库的更新密码,并将当前的所述访问密码修改为所述更新密码。
在具体的实施方式中,密码服务可以启动一个定时任务,定时的修改应用数据库的访问密码,并在密码修改之后通知应用***中相关部分修改之后的密码只能通过合法请求密码服务接口获取,这样,即使攻击者获取到应用数据库的访问密码,也将在一段时间后失效,提高了密码安全性。并且,在动态修改应用数据库密码的定时任务启动前,可以指定初始密码。
进一步的,参见图5所示,本申请实施例公开了一种数据库密码保护方案示意图。本申请提供的数据库密码保护方案,通过一个限定访问的数据库访问密码服务,给应用服务提供数据库访问密码接口,应用服务基于数据库访问密码接口获取到数据库访问密码,用于创建数据库连接。为了提升密码的安全性,数据库访问密码服务会随机更改数据库的访问密码,而应用服务则通过密码服务调用加解密模块对请求数据进行加密之后调用数据库访问密码接口,将密码接口服务返回的数据进行解密之后得到数据库的访问密码。其中,加解密模块为基于加解密文件实现的功能模块,加解密文件为密码服务生成的文件。
可见,本申请实施例先通过密码服务获取应用服务发送的针对目标数据库的访问密码查询请求,然后基于所述访问密码查询请求查询所述目标数据库的访问密码,之后对所述访问密码进行加密,得到加密密码,最后将所述加密密码返回至所述应用服务,以便所述应用服务调用所述密码服务预先生成的加解密文件对所述加密密码进行解密,得到所述访问密码。也即,本申请实施例通过密码服务处理应用服务对目标数据库的访问密码请求,在查询到目标数据库的访问密码后,对密码进行加密得到加密密码,并将加密密码返回至应用服务,应用服务只有调用密码服务预先生成的加解密文件才能对加密密码进行解密,这样,避免了将密码明文或者加密后的密码密文写入应用程序或其可以访问的配置文件、环境变量,通过密码服务进行加密,通过密码服务生成的加解密文件进行解密,能够提升数据库密码的安全性,从而防止数据泄露。
参见图6所示,本申请实施例公开了一种数据库密码保护装置,应用于密码服务,包括:
查询请求获取模块11,用于获取应用服务发送的针对目标数据库的访问密码查询请求;
访问密码查询模块12,用于基于所述访问密码查询请求查询所述目标数据库的访问密码;
访问密码加密模块13,用于对所述访问密码进行加密,得到加密密码;
加密密码返回模块14,用于将所述加密密码返回至所述应用服务,以便所述应用服务调用所述密码服务预先生成的加解密文件对所述加密密码进行解密,得到所述访问密码。
可见,本申请实施例先通过密码服务获取应用服务发送的针对目标数据库的访问密码查询请求,然后基于所述访问密码查询请求查询所述目标数据库的访问密码,之后对所述访问密码进行加密,得到加密密码,最后将所述加密密码返回至所述应用服务,以便所述应用服务调用所述密码服务预先生成的加解密文件对所述加密密码进行解密,得到所述访问密码。也即,本申请实施例通过密码服务处理应用服务对目标数据库的访问密码请求,在查询到目标数据库的访问密码后,对密码进行加密得到加密密码,并将加密密码返回至应用服务,应用服务只有调用密码服务预先生成的加解密文件才能对加密密码进行解密,这样,避免了将密码明文或者加密后的密码密文写入应用程序或其可以访问的配置文件、环境变量,通过密码服务进行加密,通过密码服务生成的加解密文件进行解密,能够提升数据库密码的安全性,从而防止数据泄露。
进一步的,所述装置还包括加解密文件生成模块,具体用于:获取加解密文件生成请求;判断所述加解密文件生成请求是否为本地请求,若所述加解密文件生成请求为本地请求,则生成所述加解密文件。
并且,所述加解密生成模块还用于生成所述应用服务对应的公私钥对,并将所述公私钥对中的私钥添加至所述加解密文件;
相应的,访问密码加密模块13,具体用于利用所述公私钥对中的公钥对所述访问密码进行加密,得到加密密码;并且,应用服务用于调用所述加解密文件中的所述私钥对所述加密密码进行解密,得到所述访问密码。
进一步的,所述访问密码查询请求携带第一密文;所述第一密文为利用所述加解密文件中的目标密钥对请求数据加密得到的密文,所述请求数据包括所述应用服务的标识信息;
相应的,所述访问密码查询模块12,包括:
第一解密模块,用于利用目标密钥对所述第一密文进行解密,得到第一解密数据;
公钥查询模块,用于基于所述第一解密数据中的所述标识信息以及所述访问密码查询请求的来源IP地址查询所述应用服务对应的所述公钥;
密码查询模块,用于若查询到所述公钥,则查询所述目标数据库的访问密码。
进一步的,所述请求数据还包括第二密文;所述第二密文为利用所述加解密文件中的所述私钥对指定信息进行加密得到的密文,所述指定信息包括所述应用服务的标识信息、访问所述密码服务的出口IP地址以及通过所述加解密文件生成的随机字符串中的至少一种;
相应的,密码查询模块还包括:
第二解密模块,用于若公钥查询模块查询到所述公钥,则利用所述公钥对所述第二密文进行解密,得到第二解密数据;
解密数据校验模块,用于对所述第二解密数据进行校验,若所述第二解密数据通过校验,则查询所述目标数据库的访问密码。
进一步的,所述解密数据校验模块,具体用于:
若所述第二解密数据包括所述应用服务的标识信息,则将该标识信息与所述第一解密数据中的标识信息进行比对,若一致,则判定标识信息通过校验;
若所述第二解密数据包括所述出口IP地址,则将所述出口IP地址与所述访问密码查询请求的来源IP地址进行比对,若一致,则判定所述出口IP地址通过校验;
若所述第二解密数据包括所述随机字符串,则判断是否为第一次获取到该随机字符串,若为第一次获取到该随机字符串,则判定所述随机字符串通过校验;
当所述第二解密数据中的各项所述指定信息均通过校验,则判定所述第二解密数据通过校验。
进一步的,所述装置还包括:
加密模块,用于利用目标密钥对所述加密密码以及所述应用服务的标识信息进行加密,得到响应密文;
相应的,加密密码返回模块14,具体用于将所述响应密文返回至所述应用服务,以便所述应用服务调用所述加解密文件对所述响应密文进行解密,并将解密得到的标识信息与预存的标识信息比对,若一致,则对所述加密密码进行解密,得到所述访问密码。
另外,所述装置还包括访问密码更新模块,用于定时确定所述目标数据库的更新密码,并将当前的所述访问密码修改为所述更新密码。
参见图7所示,本申请实施例公开了一种电子设备20,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,前述实施例公开的数据库密码保护方法。
关于上述数据库密码保护方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述电子设备20上的各硬件设备提供工作电压;所述通信接口24能够为所述电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的数据库密码保护方法。
关于上述数据库密码保护方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请实施例还公开了一种计算机程序产品,计算机程序产品被执行时实现前述实施例公开的数据库密码保护方法。
关于上述数据库密码保护方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种数据库密码保护方法、装置及设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (11)

1.一种数据库密码保护方法,其特征在于,应用于密码服务,包括:
获取应用服务发送的针对目标数据库的访问密码查询请求;
基于所述访问密码查询请求查询所述目标数据库的访问密码;
对所述访问密码进行加密,得到加密密码;
将所述加密密码返回至所述应用服务,以便所述应用服务调用所述密码服务预先生成的加解密文件对所述加密密码进行解密,得到所述访问密码。
2.根据权利要求1所述的数据库密码保护方法,其特征在于,还包括:
生成所述应用服务对应的公私钥对,并将所述公私钥对中的私钥添加至所述加解密文件;
相应的,所述对所述访问密码进行加密,得到加密密码,包括:
利用所述公私钥对中的公钥对所述访问密码进行加密,得到加密密码;
并且,所述应用服务用于调用所述加解密文件中的所述私钥对所述加密密码进行解密,得到所述访问密码。
3.根据权利要求2所述的数据库密码保护方法,其特征在于,所述访问密码查询请求携带第一密文;所述第一密文为利用所述加解密文件中的目标密钥对请求数据加密得到的密文,所述请求数据包括所述应用服务的标识信息;
相应的,所述基于所述访问密码查询请求查询所述目标数据库的访问密码,包括:
利用所述目标密钥对所述第一密文进行解密,得到第一解密数据;
基于所述第一解密数据中的所述标识信息以及所述访问密码查询请求的来源IP地址查询所述应用服务对应的所述公钥;
若查询到所述公钥,则查询所述目标数据库的访问密码。
4.根据权利要求3所述的数据库密码保护方法,其特征在于,所述请求数据还包括第二密文;所述第二密文为利用所述加解密文件中的所述私钥对指定信息进行加密得到的密文,所述指定信息包括所述应用服务的标识信息、访问所述密码服务的出口IP地址以及通过所述加解密文件生成的随机字符串中的至少一种;
相应的,若查询到所述公钥,还包括:
利用所述公钥对所述第二密文进行解密,得到第二解密数据;
对所述第二解密数据进行校验,若所述第二解密数据通过校验,则查询所述目标数据库的访问密码。
5.根据权利要求4所述的数据库密码保护方法,其特征在于,所述对所述第二解密数据进行校验,包括:
若所述第二解密数据包括所述应用服务的标识信息,则将该标识信息与所述第一解密数据中的标识信息进行比对,若一致,则判定标识信息通过校验;
若所述第二解密数据包括所述出口IP地址,则将所述出口IP地址与所述访问密码查询请求的来源IP地址进行比对,若一致,则判定所述出口IP地址通过校验;
若所述第二解密数据包括所述随机字符串,则判断是否为第一次获取到该随机字符串,若为第一次获取到该随机字符串,则判定所述随机字符串通过校验;
当所述第二解密数据中的各项所述指定信息均通过校验,则判定所述第二解密数据通过校验。
6.根据权利要求3所述的数据库密码保护方法,其特征在于,所述对所述访问密码进行加密,得到加密密码之后,还包括:
利用目标密钥对所述加密密码以及所述应用服务的标识信息进行加密,得到响应密文;
将所述响应密文返回至所述应用服务,以便所述应用服务调用所述加解密文件对所述响应密文进行解密,并将解密得到的标识信息与预存的标识信息比对,若一致,则对所述加密密码进行解密,得到所述访问密码。
7.根据权利要求1所述的数据库密码保护方法,其特征在于,还包括:
获取加解密文件生成请求;
判断所述加解密文件生成请求是否为本地请求,若所述加解密文件生成请求为本地请求,则生成所述加解密文件。
8.根据权利要求1至7任一项所述的数据库密码防护方法,其特征在于,还包括:
定时确定所述目标数据库的更新密码,并将当前的所述访问密码修改为所述更新密码。
9.一种数据库密码保护装置,其特征在于,应用于密码服务,包括:
查询请求获取模块,用于获取应用服务发送的针对目标数据库的访问密码查询请求;
访问密码查询模块,用于基于所述访问密码查询请求查询所述目标数据库的访问密码;
访问密码加密模块,用于对所述访问密码进行加密,得到加密密码;
加密密码返回模块,用于将所述加密密码返回至所述应用服务,以便所述应用服务调用所述密码服务预先生成的加解密文件对所述加密密码进行解密,得到所述访问密码。
10.一种电子设备,其特征在于,包括处理器和存储器;其中,
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序以实现如权利要求1至8任一项所述的数据库密码保护方法。
11.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的数据库密码保护方法。
CN202210434269.5A 2022-04-24 2022-04-24 一种数据库密码保护方法、装置及设备 Pending CN114785498A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210434269.5A CN114785498A (zh) 2022-04-24 2022-04-24 一种数据库密码保护方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210434269.5A CN114785498A (zh) 2022-04-24 2022-04-24 一种数据库密码保护方法、装置及设备

Publications (1)

Publication Number Publication Date
CN114785498A true CN114785498A (zh) 2022-07-22

Family

ID=82433504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210434269.5A Pending CN114785498A (zh) 2022-04-24 2022-04-24 一种数据库密码保护方法、装置及设备

Country Status (1)

Country Link
CN (1) CN114785498A (zh)

Similar Documents

Publication Publication Date Title
CN108023874B (zh) 单点登录的校验装置、方法及计算机可读存储介质
CN102378170B (zh) 一种鉴权及业务调用方法、装置和***
JP4145118B2 (ja) アプリケーション認証システム
CN110401615B (zh) 一种身份认证方法、装置、设备、***及可读存储介质
CN107528865B (zh) 文件的下载方法和***
JP4816975B2 (ja) アプリケーション認証システム
CN106790183A (zh) 登录凭证校验方法、装置
CN101567893A (zh) 一种实现在web应用中文件上传的方法及***
CN102946392A (zh) 一种url数据加密传输方法及***
CN109981665B (zh) 资源提供方法及装置、资源访问方法及装置和***
US20020144118A1 (en) Authentication method in an agent system
CN111538977B (zh) 云api密钥的管理、云平台的访问方法、装置及服务器
JP2010514000A (ja) 電子装置にプログラム状態データをセキュアに記憶するための方法
CN112765637A (zh) 数据处理方法、密码服务装置和电子设备
CN113204772A (zh) 数据处理方法、装置、***、终端、服务器和存储介质
CN113918967A (zh) 基于安全校验的数据传输方法、***、计算机设备、介质
CN114844644A (zh) 资源请求方法、装置、电子设备及存储介质
CN111901287A (zh) 一种为轻应用提供加密信息的方法、装置和智能设备
KR20070059891A (ko) 어플리케이션 인증 보안 시스템 및 그 인증 보안 방법
CN110807210B (zh) 一种信息处理方法、平台、***及计算机存储介质
JP4409497B2 (ja) 秘密情報送信方法
CN111182010A (zh) 一种本地服务提供方法及装置
US11550932B2 (en) Method for a terminal to acquire and access data
CN114785498A (zh) 一种数据库密码保护方法、装置及设备
CN115996126B (zh) 信息交互方法、应用设备、辅助平台及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination