CN117195275A - 数据访问方法、装置、电子设备和存储介质 - Google Patents
数据访问方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117195275A CN117195275A CN202311477296.1A CN202311477296A CN117195275A CN 117195275 A CN117195275 A CN 117195275A CN 202311477296 A CN202311477296 A CN 202311477296A CN 117195275 A CN117195275 A CN 117195275A
- Authority
- CN
- China
- Prior art keywords
- data
- access
- user
- ciphertext
- database
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000006243 chemical reaction Methods 0.000 claims abstract description 25
- 238000000586 desensitisation Methods 0.000 claims description 68
- 238000012545 processing Methods 0.000 claims description 38
- 230000035945 sensitivity Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及数据安全技术领域,提供一种数据访问方法、装置、电子设备和存储介质,应用于数据库访问代理插件,方法包括:接收插件用户发送的数据访问请求;判断数据访问请求是否存在密文,在存在所述密文的情况下基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对数据访问请求中的密文进行明文转换,得到数据访问请求对应的明文访问请求;并进行数据库访问,得到访问数据;基于插件用户的用户权限对访问数据中的敏感数据进行脱敏处理得到脱敏数据,并将敏感数据作为明文、将明文与脱敏数据中的密文作为明文密文对存储;将脱敏数据返回至插件用户。本发明提供的方法、装置,提升了访问敏感数据的支持能力,并提供可靠的数据访问能力。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种数据访问方法、装置、电子设备和存储介质。
背景技术
数据库安全访问技术能避免未授权访问、数据篡改或泄露等安全问题,其具体措施包括强密码策略、权限管理、数据加密、审计和监控等。目前已有的将数据安全融入到数据库安全的技术方法,重点关注敏感数据的访问控制及对敏感数据的匿名化,如对访问行为的敏感权限管控,或者,在敏感数据分类分级、存储加密的基础上,进行访问权限、加解密权限的管控。
但是在此类方法只能提供单向的脱敏数据访问,访问数据库敏感数据的支持能力较弱。
发明内容
本发明提供一种数据访问方法、装置、电子设备和存储介质,用以解决现有技术中访问数据库敏感数据的支持能力较弱的缺陷。
本发明提供一种数据访问方法,应用于数据库访问代理插件,方法包括:
接收插件用户发送的数据访问请求;
判断所述数据访问请求是否存在密文,在存在所述密文的情况下,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对所述数据访问请求中的密文进行明文转换,得到所述数据访问请求对应的明文访问请求;
基于所述明文访问请求进行数据库访问,得到访问数据;
基于所述插件用户的用户权限,对所述访问数据中的敏感数据进行脱敏处理,得到脱敏数据,并将所述敏感数据作为明文、将所述明文与所述脱敏数据中的密文作为明文密文对存储;
将所述脱敏数据返回至所述插件用户。
根据本发明提供的一种数据访问方法,所述基于所述明文访问请求进行数据库访问,得到访问数据,包括:
以数据库用户的身份,基于所述明文访问请求进行数据库访问,得到访问数据;
所述数据库用户具备数据访问权限,且所述数据库用户的身份由所述插件用户对应的前端预先注册并配置给所述数据库访问代理插件。
根据本发明提供的一种数据访问方法,所述接收插件用户发送的数据访问请求,之前还包括:
在接收到前端配置的数据库用户的身份之后,将所述前端配置的所述插件用户的身份作为所述数据库用户的替代,以使所述前端以所述插件用户的身份访问所述数据库访问代理插件。
根据本发明提供的一种数据访问方法,所述判断所述数据访问请求是否存在密文,包括:
在存在历史访问轮次的情况下,判断所述数据访问请求是否存在密文;
在不存在所述历史访问轮次的情况下,确定所述数据访问请求中不存在密文;
所述判断所述数据访问请求是否存在密文,之后还包括:
在不存在密文的情况下,将所述数据访问请求作为所述明文访问请求。
根据本发明提供的一种数据访问方法,在所述数据访问请求存在密文的情况下,所述数据访问请求是所述插件用户基于历史上接收到的脱敏数据作为访问参数生成的。
根据本发明提供的一种数据访问方法,所述基于所述插件用户的用户权限,对所述访问数据中的敏感数据进行脱敏处理,得到脱敏数据,包括:
基于所述插件用户的用户权限,以及所述访问数据中的各类数据分别在所述数据库中的敏感等级,从所述各类数据中确定出敏感数据;
生成与所述敏感数据相对应的密文,并将所述访问数据中的敏感数据替换为对应的密文,得到所述脱敏数据。
根据本发明提供的一种数据访问方法,所述生成与所述敏感数据相对应的密文,包括:
基于加密算法,对所述敏感数据进行加密,得到加密敏感数据;
基于哈希算法,生成与所述加密敏感数据对应的哈希值,得到与所述敏感数据相对应的密文。
本发明还提供一种数据访问装置,应用于数据库访问代理插件,装置包括:
接收单元,接收插件用户发送的数据访问请求;
明文转换单元,判断所述数据访问请求是否存在密文,在存在所述密文的情况下,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对所述数据访问请求中的密文进行明文转换,得到所述数据访问请求对应的明文访问请求;
访问单元,基于所述明文访问请求进行数据库访问,得到访问数据;
脱敏单元,基于所述插件用户的用户权限,对所述访问数据中的敏感数据进行脱敏处理,得到脱敏数据,并将所述敏感数据作为明文、将所述明文与所述脱敏数据中的密文作为明文密文对存储;
返回单元,将所述脱敏数据返回至所述插件用户。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据访问方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据访问方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据访问方法。
本发明提供的数据访问方法、装置、电子设备和存储介质,通过数据库访问代理插件,在数据访问请求存在密文的情况下,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对数据访问请求中的密文进行明文转换,得到数据访问请求对应的明文访问请求,基于明文访问请求进行数据库访问,得到访问数据,在提供正常非脱敏数据的数据访问能力的基础上,实现了将脱敏数据转化为真实数据以执行数据库层面的访问操作,提升了访问数据库敏感数据的支持能力,同时,基于数据库访问代理插件进行数据库访问,在不影响数据库性能的情况下,还提供了可靠的数据库服务能力。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据访问方法的流程示意图之一;
图2是本发明提供的脱敏处理的流程示意图;
图3是本发明提供的数据访问方法的流程示意图之二;
图4是本发明提供的常规数据访问方法的流程示意图;
图5是本发明提供的数据访问装置的结构示意图;
图6是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
将数据安全融入数据库安全是确保数据库环境全面保护的重要措施,通过数据加密、数据掩码、备份和灾难恢复、访问控制、审计和监控,以及漏洞管理等措施,可以确保敏感数据的保护、防止数据泄露和滥用,并提高整个数据库系统的安全性。现有技术中针对权限访问控制和敏感数据的脱敏访问,只能提供单向的脱敏数据访问。
针对上述问题,本发明提供了一种数据访问方法,应用于数据库访问代理插件,以实现根据脱敏数据执行数据库层面的访问操作,提升访问数据库敏感数据的支持能力。图1是本发明提供的数据访问方法的流程示意图之一,如图1所示,该方法包括:
步骤110,接收插件用户发送的数据访问请求;
具体地,在访问数据库的场景下,可以直接通过前端对应的数据库用户进行访问数据库,实现单向的脱敏数据访问。若需要基于访问数据库后得到的脱敏数据,再次对数据库进行访问,则无法基于常规数据访问方法进行,进而可以通过本发明实施例提供的接收插件用户发送的数据访问请求进行访问数据库,得到访问数据。此处,插件用户指的是通过数据库访问代理插件注册的用户,可以替代数据库用户,用于登录数据库访问代理插件,并通过数据库访问代理插件访问数据库,避免在访问数据库时频繁使用数据库用户的密码造成的数据库账号外泄,提升登录数据库的安全性。需说明的是,可以通过数据库访问代理插件的配置功能,配置数据库用户对于数据库的库表敏感字段的访问权限,在接收插件用户发送的数据访问请求后,数据库访问代理插件会对插件用户对应的数据库用户的访问权限进行判断,当数据库用户的访问权限没有访问敏感数据权限时,拒绝进行数据库访问;当数据库用户的访问权限有访问敏感数据权限时,可以通过数据库访问代理插件访问数据库,将访问数据中的敏感数据进行脱敏处理,并传输给前端。
另外,数据访问请求可以包括访问数据库的请求语句,可以通过在数据库中运行请求语句,得到数据库返回的访问数据。需说明的是,数据访问请求可以是插件用户首次发送的访问请求,比如,当需要查看用户手机号信息时,则可以接收插件用户查看用户手机号的访问请求;或者,也可以是通过历史访问轮次中接收到的脱敏数据得到的请求,比如,当需要查看用户手机号绑定的业务信息时,则可以接收插件用户查看用户手机号的访问请求后,再将上一次访问得到的手机号作为新一轮访问的数据访问请求,以得到用户手机号绑定的业务信息。需说明的是,在现有技术中,插件用户发送的数据访问请求仅支持插件用户首次发送的访问请求,无法支持基于密文数据实现数据库层面上的访问。
步骤120,判断所述数据访问请求是否存在密文,在存在所述密文的情况下,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对所述数据访问请求中的密文进行明文转换,得到所述数据访问请求对应的明文访问请求;
此处,在数据访问请求存在密文时,表示数据访问请求中包含历史访问中进行脱敏处理得到的访问数据。可以理解的是,数据库中的库表字段都是清晰、完整的明文数据,当数据访问请求中存在密文时,无法直接通过包含密文的数据访问请求执行访问数据库,得到对应的访问数据。比如,包含密文的数据访问请求可以是“请查询手机号为182qvec0989关联的业务信息”。由此,可以通过预先存储在数据库访问代理插件中的历史访问轮次中进行脱敏处理得到的明文密文对,对数据访问请求中的密文进行明文转换,得到数据访问请求对应的明文访问请求。由此,基于数据库访问代理插件进行数据库访问,在不影响当前数据库性能的情况下,提供了基于包含密文的数据访问请求的数据库访问能力。
需说明的是,历史访问轮次中进行脱敏处理得到的明文密文对指的是在历史访问轮次中,通过历史的数据访问请求访问数据库,得到数据库输出的明文访问数据。接着,根据历史访问轮次中对明文访问数据中的敏感数据进行脱敏处理,得到明文数据对应的密文数据,并将明文与对应的密文以明文密文对的形式存储在数据库访问代理插件中。可以理解的是,数据访问请求中存在的密文是来自于历史访问轮次中进行脱敏处理得到的明文密文对中的任一密文,则可以通过预先存储的明文密文对,将数据访问请求中的密文,替换为该密文在明文密文对中对应的明文,得到数据访问请求对应的明文访问请求,此处的明文访问请求可以清晰的指示需要访问数据库中的某一字段。比如,此处的密文可以是“qvec”,“qvec”对应的明文可以是“1234”,则此处的明文访问请求可以是“请查询手机号为18212340989关联的业务信息”。
步骤130,基于所述明文访问请求进行数据库访问,得到访问数据;
具体地,可以通过明文访问请求得到对应的请求语句,对数据库执行该请求语句,得到访问数据。此处的访问数据指的是未经脱敏处理的明文数据,是直接存储在数据库中的数据。需说明的是,在得到访问数据的同时,也能够得到插件用户对应的数据库用户,以及明文访问请求对应的请求语句。其中,请求语句中包含经过明文转换得到的明文,以及该明文对应的密文。由此,可以基于访问数据、数据库用户、明文访问请求对应的请求语句,判断是否需要对访问数据执行脱敏处理。
值得说明的是,本发明实施例提供的基于明文访问请求进行数据库访问,得到访问数据,可以认作为本发明提供的数据访问代理插件可以执行正常非脱敏数据的数据访问。
步骤140,基于所述插件用户的用户权限,对所述访问数据中的敏感数据进行脱敏处理,得到脱敏数据,并将所述敏感数据作为明文、将所述明文与所述脱敏数据中的密文作为明文密文对存储;
此处,插件用户的用户权限可以反映插件用户对应的数据库用户对访问数据的处理权限,此处的用户权限可以具体包括为查看权限、使用权限等。举例来说,当用户权限为查看权限时,可以表示该访问数据可以被插件用户所查看,则数据库访问代理插件可以不对访问数据执行脱敏处理,直接将访问数据返回给插件用户。当用户权限为使用权限时,可以表示该访问数据不能直接被插件用户所查看,但是可以通过该访问数据进行数据库访问,得到与该访问数据相关的其他访问数据。
另外,访问数据中的敏感数据指的是访问数据中各字段的敏感等级高于数据库用户的用户权限的数据,可以认作为不能直接展示于用户的数据。具体地,可以将访问数据中的敏感数据通过加密算法进行脱敏处理,得到脱敏数据,比如可以用哈希值代替敏感数据。需说明的是,脱敏数据指的是符合插件用户对应的数据库用户的用户权限的数据,相较于访问数据而言,脱敏数据中包含敏感数据对应的密文。
还值得说明的是,可以将敏感数据作为明文、将该明文与脱敏数据中的密文作为明文密文对存储,以便于在之后的访问轮次中,当数据访问请求中包含密文时,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对数据访问请求中的密文进行明文转换,得到明文访问请求,保证了进行脱敏处理的准确性,进而保证了基于包含密文的数据访问请求进行数据库访问的可靠性。同时,无需数据访问代理插件额外生成明文密文对,实现了在不影响现有数据库以及Web应用的性能的基础上,提供了基于包含密文的数据访问请求转化为真实数据,在数据库层面上直接执行数据访问的能力。
步骤150,将所述脱敏数据返回至所述插件用户。
具体地,将得到的脱敏数据返回至插件用户,此时,在插件用户端,可以直接将脱敏数据返回给前端,也可以通过脱敏数据得到下一访问轮次的数据访问请求。
本发明实施例提供的方法,基于数据库访问代理插件,在数据访问请求存在密文的情况下,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对数据访问请求中的密文进行明文转换,得到数据访问请求对应的明文访问请求,基于明文访问请求进行数据库访问,得到访问数据,在提供正常非脱敏数据的数据访问能力的基础上,实现了将脱敏数据转化为真实数据以执行数据库层面的访问操作,提升了访问数据库敏感数据的支持能力,同时,基于数据库访问代理插件进行数据库访问,在不影响数据库性能的情况下,还提供了可靠的数据库服务能力。
基于上述任一实施例,步骤130包括:
以数据库用户的身份,基于所述明文访问请求进行数据库访问,得到访问数据;
所述数据库用户具备数据访问权限,且所述数据库用户的身份由所述插件用户对应的前端预先注册并配置给所述数据库访问代理插件。
具体地,当前端以插件用户进行访问数据库访问代理插件时,数据库访问代理插件以插件用户对应的数据库用户的身份进行访问数据库。此处,数据库用户需是具备该访问数据的数据访问权限的,当数据库用户不具备该访问数据的数据访问权限时,则不执行数据库访问,可以通过数据库访问代理插件向前端返回无法访问的提示信息;当数据库用户具备改数据的数据访问权限时,可以通过对数据库执行明文访问请求对应的请求语句,进行数据库访问,得到访问数据。
需说明的是,数据库用户可以通过前端在初始阶段,基于应用功能配置数据库用户的访问权限,此处的访问权限可以反映该数据库用户对数据库中各库表的访问程度。可以理解的是,通过正确的权限配置,可以保证用户只能访问到与用户匹配的数据和应用功能,从而保障数据的安全性。另外,数据库用户的身份是由插件用户对应的前端预先注册,并配置给数据库访问代理插件,使得可以通过接收前端发送的插件用户登录数据库访问代理插件,并通过数据库访问代理插件进行数据库访问。
本发明实施例提供的方法,数据库访问代理插件以数据库用户的身份,通过对数据库用户是否具备数据访问权限进行判断,基于明文访问请求进行数据库访问,得到访问数据,保证了访问数据的安全性,以及进行数据库访问的可靠性。
基于上述任一实施例,步骤110之前还包括:
在接收到前端配置的数据库用户的身份之后,将所述前端配置的所述插件用户的身份作为所述数据库用户的替代,以使所述前端以所述插件用户的身份访问所述数据库访问代理插件。
具体地,在进行数据库访问之前,前端可以向数据库申请数据库用户,并根据应用功能配置数据库用户的初始权限,比如,应用功能为客户信息查询时,对于初级账户仅能查询到用户的姓名信息,对于高级账户可以查询到用户的全部用户信息。接着,在接收到前端配置的数据库用户的身份之后,可以通过数据库访问代理插件的配置功能,配置数据库用户对于数据库各库表敏感字段的访问权限,此处的访问权限可以是各个敏感级别。最后,可以通过接收前端的访问,通过数据库访问代理插件,得到各数据库用户对应的插件用户,将插件用户的身份作为数据库用户的替代,则可以是的前端通过插件用户的身份访问数据库访问代理插件,进而通过数据库访问代理插件进行数据库访问操作。
可以理解的是,将插件用户的身份作为数据库用户的替代,使得前端用户在访问数据库时,无需输入数据库用户和密码,保障了数据库的登录安全。
基于上述任一实施例,所述判断所述数据访问请求是否存在密文,包括:
在存在历史访问轮次的情况下,判断所述数据访问请求是否存在密文;
在不存在所述历史访问轮次的情况下,确定所述数据访问请求中不存在密文;
所述判断所述数据访问请求是否存在密文,之后还包括:
在不存在密文的情况下,将所述数据访问请求作为所述明文访问请求。
具体地,在当前数据库访问流程中,判断数据访问请求中是否存在密文时,存在历史访问轮次的情况可以反映当前的数据访问请求可以是基于历史访问轮次中的访问数据得到的。需说明的是,历史访问轮次中的访问数据可以是经过脱敏处理后得到的,即访问数据中存在密文,也可以是未经脱敏处理得到的,即访问数据中不存在密文。由此,需要判断数据访问请求中是否存在密文。
另外,不存在所述历史访问轮次的情况可以反映当前的数据访问请求可以是通过前端接收的用户输入操作得到的,需说明的是,通过前端接收的用户输入操作得到的数据访问请求中是不存在密文的。由此,在不存在历史访问轮次的情况下,可以确定数据访问请求中不存在密文,则可以将此处的数据访问请求直接作为明文访问请求。
本发明实施例提供的方法,基于是否存在历史访问轮次,判断数据访问请求是否存密文,既实现了对非敏感数据的进行数据库访问的能力,又实现了对敏感数据进行数据库访问的服务能力。同时,仅在存在历史访问轮次时进行判断数据访问请求中是否存在密文,提升了通过数据库代理访问插件的访问性能。
基于上述任一实施例,在所述数据访问请求存在密文的情况下,所述数据访问请求是所述插件用户基于历史上接收到的脱敏数据作为访问参数生成的。
具体地,当数据访问请求中存在密文时,则表示该数据访问请求中的访问参数是通过插件用户基于历史上接收到的脱敏数据生成的。此处的访问参数指的是数据访问请求中表征数据访问意图的数据,可以通过访问参数生成数据访问请求对应的请求语句。比如,访问参数可以是“姓名:小明”。基于脱敏数据得到的访问参数可以是“姓名:小qwe”,其中“qwe”可以表示明文“明”对应的密文。
需说明的是,现有技术中对数据库访问仅关注用户权限管控以及对敏感数据进行脱敏处理,并不支持基于存在密文的数据访问请求,实现数据库访问的服务能力。而本发明实施例提供的数据库访问代理插件可以将存在密文的数据访问请求进行明文转换,得到明文访问请求,实现数据库访问,以插件的形式增强了数据库敏感数据访问的支持能力。
基于上述任一实施例,图2是本发明提供的脱敏处理的流程示意图,如图2所示,所述基于所述插件用户的用户权限,对所述访问数据中的敏感数据进行脱敏处理,得到脱敏数据,包括:
步骤210,基于所述插件用户的用户权限,以及所述访问数据中的各类数据分别在所述数据库中的敏感等级,从所述各类数据中确定出敏感数据;
此处,插件用户的用户权限是来自于该插件用户对应的数据库用户的用户权限,可以反映该插件用户是否能通过插件用户对应的数据库用户获取访问数据。可以理解的是,当插件用户的用户权限不具备该访问数据的数据访问权限时,则该访问数据不可以被该插件用户所访问。另外,访问数据中的各类数据分别在数据库中的敏感等级可以反映数据库中各库表字段的安全等级,敏感等级越高的数据,表示其安全等级越高,则进行脱敏处理的必要性越高;敏感等级越低的数据,表示其安全等级越低,则进行脱敏处理的必要性越低。由此,可以将敏感等级高于预设阈值的数据作为敏感数据,即可以将数据库库表中的某些字段作为敏感数据。可以理解的是,基于插件用户的用户权限以及访问数据中的各类数据分别在数据库中的敏感等级,得到的敏感数据既保证了数据在用户访问权限上的安全,也保证了数据在本身的敏感等级上的安全,进而进一步提升访问数据的安全性。
步骤220,生成与所述敏感数据相对应的密文,并将所述访问数据中的敏感数据替换为对应的密文,得到所述脱敏数据。
具体地,可以将敏感数据通过哈希算法,或者加密算法,又或者结合哈希算法和加密算法,生成敏感数据相对应的密文。并将访问数据中的敏感数据替换为对应的密文,得到脱敏数据。需说明的是,脱敏数据可以认作为将访问数据中的敏感数据进行加密后的数据,可以直接将脱敏数据返回给前端客户,也可以基于脱敏数据得到下一访问轮次中的访问数据请求。
本发明实施例提供的方法,基于插件用户的用户权限,以及访问数据中的各类数据分别在数据库中的敏感等级,从各类数据中确定出敏感数据,并对敏感数据进行脱敏处理,实现了对数据库进行访问时,访问结果只提供敏感数据,保证了基于数据库访问代理插件进行数据访问的敏感权限控制和脱敏数据的输出,提供了可靠的数据库服务能力。
基于上述任一实施例,步骤220中所述生成与所述敏感数据相对应的密文,包括:
基于加密算法,对所述敏感数据进行加密,得到加密敏感数据;
基于哈希算法,生成与所述加密敏感数据对应的哈希值,得到与所述敏感数据相对应的密文。
具体地,可以将敏感数据通过加密算法进行加密,此处的加密算法可以是SM3密码杂凑算法。需说明的是,通过加密算法对敏感数据进行加密,可以将敏感数据转换为不同长度的密文,以此得到的加密敏感数据的安全性比较高。需说明的是,基于加密算法对敏感数据进行加密,进行碰撞检测时容易检测到碰撞。由此,可以对加密敏感数据通过哈希算法,比如可以是MurmurHash算法,生成与加密敏感数据对应的哈希值,此处得到的哈希值,相较于加密敏感数据而言,其在碰撞检测时更不容易被检测到碰撞,避免重新生成对应的哈希值。最后,可以将加密敏感数据对应的哈希值作为敏感数据相对应的密文。
需说明的是,在生成敏感数据对应的密文时,若预先存储的明文密文对中已存在该敏感数据时,则无需再次生成该敏感数据对应的密文。另外,预先存储的明文密文对可以设置其存储有效期,其存储有限期可以根据该数据对应的应用功能进行配置,优化了数据库访问代理插件的缓存占用,提升了数据库访问代理插件的性能。
本发明实施例提供的方法,基于加密算法和哈希算法相结合,生成敏感数据对应的密文,既保证了密文的安全性,又降低了密文在碰撞检测时的碰撞可能性,提升了数据库进行数据访问的性能。
基于上述任一实施例,图3是本发明提供的数据访问方法的流程示意图之二,如图3所示,该方法包括:
首先,在数据库访问代理插件的插件用户注册阶段,即图中的1-3步,可以在接收到前端配置的正常权限数据库用户后,接收前端发送的正常权限数据库用户,并通过数据库访问代理插件的配置功能,将数据库用户对于数据库中各数据的用户访问权限配置给对应的正常权限数据库用户,最后,接收前端对数据库访问代理插件的访问,并配置与数据库用户对应的插件用户,以使前端以插件用户的身份访问数据库访问代理插件。
接着,在数据访问阶段,即图中的4-13步,接收插件用户发送的查询操作,判断查询操作对应的数据访问请求中是否存在脱敏参数。在不存在历史访问轮次的情况下,确定查询操作对应的数据访问请求中不存在密文,并将数据访问请求直接作为正常参数,执行步骤6进行数据库访问,得到数据库输出的数据库用户、请求语句、查询返回结果。
进一步地,在步骤7中,根据数据库用户的用户权限,以及数据库的各库表敏感分级记录表,得到查询返回结果中的敏感数据,并对敏感数据执行步骤8的脱敏进程。并接着执行步骤9,将脱敏进程中的敏感数据作为明文,与敏感数据对应的密文组成键值对,存储在缓存中,以便于用于步骤12进行脱敏参数转正时,从存储的键值对中查找密文对应的明文。此处,考虑到性能问题,可以将前端应用的登录超时时间作为键值对存储时间。需说明的是,库表敏感分级记录表是可以基于业务对数据的敏感定级进行确定的。
最后,可以通过步骤10输出脱敏查询结果给Web应用,此时,若无需继续进行数据库访问,则可以将此处的脱敏查询结果返回给Web应用,并在前端进行展示脱敏查询结果。此时,当Web应用对于脱敏查询结果,需要明文展示数据的需求,可以通过访问缓存将脱敏查询结果转为明文展示,或者可以通过第4、11步的数据查询操作,检查当前数据是否是最新数据。
若还需要进行数据库访问,则可以基于此处的脱敏查询结果得到下一访问轮次中的数据访问请求,则开始执行步骤4判断是否存在脱敏参数。若不存在脱敏参数,则继续执行步骤5-10的流程。若存在脱敏参数,则执行步骤12脱敏参数转正,即将数据访问请求中的密文通过查询步骤9得到的键值对执行步骤13明文转换,得到密文对应的明文,并将明文发送至Web应用,再次判断执行明文转换后的数据访问请求是否存在密文,在不存在密文的情况下,即执行步骤5-10,直至将脱敏查询结果返回Web应用,展现给前端用户。
需说明的是,本发明实施例提供的数据库访问代理插件可以仅提供数据查询操作,即数据库语句执行结果是,获取一个表的部分行、列的场景,如针对个人或客户的信息查询、针对商品的信息查询。支持字段脱敏设置,可针对表中的某些敏感字段进行脱敏设置和等级设置,支持脱敏规则的选择,支持行过滤设置,过滤条件支持 in 属于、not in 不属于、=等于、>大于、<小于、>=大于等于、<=小于等于、<>不等于、like% 后模糊匹配、%like 前模糊匹配、%like% 前后模糊匹配等算法,可实现对表中任一行数据进行过滤。针对其他访问操作,比如复杂查询、统计摘要型查询、增、删、更新等数据库操作,可以基于常规数据库访问流程,图4是本发明提供的常规数据访问方法的流程示意图,如图4所示,前端用户通过Web应用进行复杂逻辑查询及其他操作,通过正常权限数据库用户访问数据库,得到数据库输出的访问结果。
值得说明的是,在常规的数据访问操作中,直接通过数据库用户进行访问数据库,增加了数据库用户泄露的风险,而本发明实施例提供的方法,使用插件用户替代数据库用户进行数据访问,大大降低了数据库登录的风险性。另外,基于常规数据访问方法,无法通过脱敏数据进行数据库访问,则数据库的服务能力有限,而本发明实施例提供的方法,基于数据库访问代理插件将脱敏数据进行明文转换,得到脱敏数据对应的真实数据,进而直接在数据库层面执行数据访问,大大提升了数据库进行数据访问的能力。
基于上述任一实施例,图5是本发明提供的数据访问装置的结构示意图,如图5所示,该装置包括:
接收单元510,接收插件用户发送的数据访问请求;
明文转换单元520,判断所述数据访问请求是否存在密文,在存在所述密文的情况下,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对所述数据访问请求中的密文进行明文转换,得到所述数据访问请求对应的明文访问请求;
访问单元530,基于所述明文访问请求进行数据库访问,得到访问数据;
脱敏单元540,基于所述插件用户的用户权限,对所述访问数据中的敏感数据进行脱敏处理,得到脱敏数据,并将所述敏感数据作为明文、将所述明文与所述脱敏数据中的密文作为明文密文对存储;
返回单元550,将所述脱敏数据返回至所述插件用户。
本发明实施例提供的装置,基于数据库访问代理插件,在数据访问请求存在密文的情况下,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对数据访问请求中的密文进行明文转换,得到数据访问请求对应的明文访问请求,基于明文访问请求进行数据库访问,得到访问数据,在提供正常非脱敏数据的数据访问能力的基础上,实现了将脱敏数据转化为真实数据以执行数据库层面的访问操作,提升了访问数据库敏感数据的支持能力,同时,基于数据库访问代理插件进行数据库访问,在不影响数据库性能的情况下,还提供了可靠的数据库服务能力。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行数据访问方法,该方法包括:接收插件用户发送的数据访问请求;判断所述数据访问请求是否存在密文,在存在所述密文的情况下,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对所述数据访问请求中的密文进行明文转换,得到所述数据访问请求对应的明文访问请求;基于所述明文访问请求进行数据库访问,得到访问数据;基于所述插件用户的用户权限,对所述访问数据中的敏感数据进行脱敏处理,得到脱敏数据,并将所述敏感数据作为明文、将所述明文与所述脱敏数据中的密文作为明文密文对存储;将所述脱敏数据返回至所述插件用户。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据访问方法,该方法包括:接收插件用户发送的数据访问请求;判断所述数据访问请求是否存在密文,在存在所述密文的情况下,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对所述数据访问请求中的密文进行明文转换,得到所述数据访问请求对应的明文访问请求;基于所述明文访问请求进行数据库访问,得到访问数据;基于所述插件用户的用户权限,对所述访问数据中的敏感数据进行脱敏处理,得到脱敏数据,并将所述敏感数据作为明文、将所述明文与所述脱敏数据中的密文作为明文密文对存储;将所述脱敏数据返回至所述插件用户。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据访问方法,该方法包括:接收插件用户发送的数据访问请求;判断所述数据访问请求是否存在密文,在存在所述密文的情况下,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对所述数据访问请求中的密文进行明文转换,得到所述数据访问请求对应的明文访问请求;基于所述明文访问请求进行数据库访问,得到访问数据;基于所述插件用户的用户权限,对所述访问数据中的敏感数据进行脱敏处理,得到脱敏数据,并将所述敏感数据作为明文、将所述明文与所述脱敏数据中的密文作为明文密文对存储;将所述脱敏数据返回至所述插件用户。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据访问方法,其特征在于,应用于数据库访问代理插件,所述方法包括:
接收插件用户发送的数据访问请求;
判断所述数据访问请求是否存在密文,在存在所述密文的情况下,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对所述数据访问请求中的密文进行明文转换,得到所述数据访问请求对应的明文访问请求;
基于所述明文访问请求进行数据库访问,得到访问数据;
基于所述插件用户的用户权限,对所述访问数据中的敏感数据进行脱敏处理,得到脱敏数据,并将所述敏感数据作为明文、将所述明文与所述脱敏数据中的密文作为明文密文对存储;
将所述脱敏数据返回至所述插件用户。
2.根据权利要求1所述的数据访问方法,其特征在于,所述基于所述明文访问请求进行数据库访问,得到访问数据,包括:
以数据库用户的身份,基于所述明文访问请求进行数据库访问,得到访问数据;
所述数据库用户具备数据访问权限,且所述数据库用户的身份由所述插件用户对应的前端预先注册并配置给所述数据库访问代理插件。
3.根据权利要求2所述的数据访问方法,其特征在于,所述接收插件用户发送的数据访问请求,之前还包括:
在接收到前端配置的数据库用户的身份之后,将所述前端配置的所述插件用户的身份作为所述数据库用户的替代,以使所述前端以所述插件用户的身份访问所述数据库访问代理插件。
4.根据权利要求1至3中任一项所述的数据访问方法,其特征在于,所述判断所述数据访问请求是否存在密文,包括:
在存在历史访问轮次的情况下,判断所述数据访问请求是否存在密文;
在不存在所述历史访问轮次的情况下,确定所述数据访问请求中不存在密文;
所述判断所述数据访问请求是否存在密文,之后还包括:
在不存在密文的情况下,将所述数据访问请求作为所述明文访问请求。
5.根据权利要求1至3中任一项所述的数据访问方法,其特征在于,在所述数据访问请求存在密文的情况下,所述数据访问请求是所述插件用户基于历史上接收到的脱敏数据作为访问参数生成的。
6.根据权利要求1至3中任一项所述的数据访问方法,其特征在于,所述基于所述插件用户的用户权限,对所述访问数据中的敏感数据进行脱敏处理,得到脱敏数据,包括:
基于所述插件用户的用户权限,以及所述访问数据中的各类数据分别在所述数据库中的敏感等级,从所述各类数据中确定出敏感数据;
生成与所述敏感数据相对应的密文,并将所述访问数据中的敏感数据替换为对应的密文,得到所述脱敏数据。
7.根据权利要求6所述的数据访问方法,其特征在于,所述生成与所述敏感数据相对应的密文,包括:
基于加密算法,对所述敏感数据进行加密,得到加密敏感数据;
基于哈希算法,生成与所述加密敏感数据对应的哈希值,得到与所述敏感数据相对应的密文。
8.一种数据访问装置,其特征在于,应用于数据库访问代理插件,所述装置包括:
接收单元,接收插件用户发送的数据访问请求;
明文转换单元,判断所述数据访问请求是否存在密文,在存在所述密文的情况下,基于预先存储的历史访问轮次中进行脱敏处理得到的明文密文对,对所述数据访问请求中的密文进行明文转换,得到所述数据访问请求对应的明文访问请求;
访问单元,基于所述明文访问请求进行数据库访问,得到访问数据;
脱敏单元,基于所述插件用户的用户权限,对所述访问数据中的敏感数据进行脱敏处理,得到脱敏数据,并将所述敏感数据作为明文、将所述明文与所述脱敏数据中的密文作为明文密文对存储;
返回单元,将所述脱敏数据返回至所述插件用户。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述数据访问方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述数据访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311477296.1A CN117195275B (zh) | 2023-11-08 | 2023-11-08 | 数据访问方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311477296.1A CN117195275B (zh) | 2023-11-08 | 2023-11-08 | 数据访问方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117195275A true CN117195275A (zh) | 2023-12-08 |
CN117195275B CN117195275B (zh) | 2024-02-27 |
Family
ID=89003838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311477296.1A Active CN117195275B (zh) | 2023-11-08 | 2023-11-08 | 数据访问方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117195275B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548085A (zh) * | 2015-09-17 | 2017-03-29 | 中国移动通信集团甘肃有限公司 | 一种数据的处理方法及装置 |
CN110399740A (zh) * | 2019-07-29 | 2019-11-01 | 浙江诺诺网络科技有限公司 | 一种代理数据安全交互的方法和系统 |
CN110795741A (zh) * | 2018-08-01 | 2020-02-14 | 北京京东金融科技控股有限公司 | 对数据进行安全性处理的方法和装置 |
CN113127915A (zh) * | 2021-05-12 | 2021-07-16 | 平安信托有限责任公司 | 数据加密脱敏方法、装置、电子设备及存储介质 |
WO2022252880A1 (zh) * | 2021-06-01 | 2022-12-08 | 中兴通讯股份有限公司 | 数据处理方法及其装置、系统、存储介质 |
CN116305256A (zh) * | 2023-02-21 | 2023-06-23 | 中银金融科技有限公司 | 一种数据获取方法及装置、存储介质及电子设备 |
US20230289464A1 (en) * | 2020-07-16 | 2023-09-14 | Zte Corporation | Data access method and device, storage medium, and electronic device |
-
2023
- 2023-11-08 CN CN202311477296.1A patent/CN117195275B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548085A (zh) * | 2015-09-17 | 2017-03-29 | 中国移动通信集团甘肃有限公司 | 一种数据的处理方法及装置 |
CN110795741A (zh) * | 2018-08-01 | 2020-02-14 | 北京京东金融科技控股有限公司 | 对数据进行安全性处理的方法和装置 |
CN110399740A (zh) * | 2019-07-29 | 2019-11-01 | 浙江诺诺网络科技有限公司 | 一种代理数据安全交互的方法和系统 |
US20230289464A1 (en) * | 2020-07-16 | 2023-09-14 | Zte Corporation | Data access method and device, storage medium, and electronic device |
CN113127915A (zh) * | 2021-05-12 | 2021-07-16 | 平安信托有限责任公司 | 数据加密脱敏方法、装置、电子设备及存储介质 |
WO2022252880A1 (zh) * | 2021-06-01 | 2022-12-08 | 中兴通讯股份有限公司 | 数据处理方法及其装置、系统、存储介质 |
CN116305256A (zh) * | 2023-02-21 | 2023-06-23 | 中银金融科技有限公司 | 一种数据获取方法及装置、存储介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
张剑强, 戴一奇: "基于代理的密文数据库的设计与实现", 计算机工程与应用, no. 18 * |
张连营;周爻;陈磊;: "电子政务云数据安全技术方案设计", 电信科学, no. 1 * |
Also Published As
Publication number | Publication date |
---|---|
CN117195275B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9998441B2 (en) | Client authentication using social relationship data | |
CN106302328B (zh) | 敏感用户数据处理系统和方法 | |
US20070192829A1 (en) | Authenticated communication using a shared unpredictable secret | |
CN102377756B (zh) | 业务访问、鉴权方法及对应的系统、客户端、鉴权服务器 | |
CN105491058B (zh) | 一种api访问分布式授权方法及其系统 | |
CN110175466B (zh) | 开放平台的安全管理方法、装置、计算机设备及存储介质 | |
CN110310392B (zh) | 车辆解锁方法、装置、计算机设备及存储介质 | |
CN112131564A (zh) | 加密数据通信方法、装置、设备以及介质 | |
JP2006527880A (ja) | パスワード認証の方法および装置 | |
CN113472716A (zh) | 系统访问方法、网关设备、服务器、电子设备及存储介质 | |
KR100985750B1 (ko) | 주민등록번호 대체번호 발급시스템 | |
CN108900595B (zh) | 访问云存储服务器数据的方法、装置、设备及计算介质 | |
CN117155716B (zh) | 访问校验方法和装置、存储介质及电子设备 | |
CN113792345A (zh) | 一种数据访问控制方法及装置 | |
CN111417122B (zh) | 一种防范攻击方法及装置 | |
CN117195275B (zh) | 数据访问方法、装置、电子设备和存储介质 | |
US11336667B2 (en) | Single point secured mechanism to disable and enable the access to all user associated entities | |
CN116467731A (zh) | 敏感信息处理方法、装置、设备及存储介质 | |
CN106778334A (zh) | 账号信息的保护方法及移动终端 | |
CN114553573B (zh) | 身份认证方法及装置 | |
CN110166452B (zh) | 一种基于JavaCard共享接口的访问控制方法及系统 | |
CN112765588A (zh) | 一种身份识别方法、装置、电子设备及存储介质 | |
CN116318899B (zh) | 数据加密解密的处理方法、系统、设备及介质 | |
CN117376035B (zh) | 一种车辆数据的传输方法、系统、设备及存储介质 | |
CN110930234B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |