一种面向隐私计算的可扩容数据细粒度访问控制系统

文档序号:34233012发布日期:2023-05-24 17:00阅读:56来源:国知局
一种面向隐私计算的可扩容数据细粒度访问控制系统

本发明涉及数据安全,尤其涉及一种面向隐私计算的可扩容数据细粒度访问控制系统。


背景技术:

1、在隐私计算平台处理数据之前,常常需要缓存待处理数据到本地数据库中,而在运维过程中,这些敏感数据可能被数据库管理员或三方数据库运维人员进行访问。本系统串入到隐私计算平台与数据库之间,通过对数据库请求的访问控制,实现对敏感数据的安全防护。另外隐私计算平台常常需要部署在开放网络上,与异地对方隐私节点进行数据交换计算,这样就容易受到来自互联网的攻击和入侵,数据安全存在较大风险。而本系统也可以通过访问控制与异常行为分析解决此类问题。

2、目前数据库访问控制技术,主要采用单机或主备方式串入在业务系统与数据库之间,对每次数据库请求进行授权判断。这种方式在负载变大时,需要手动增加新的控制节点,无法实现快速扩容,而本系统支持云化部署,并可通过动态扩容支撑大量的数据库请求的访问控制;另外一方面,现有访问控制策略主要为目的ip地址、数据库名、表、字段,但缺少源ip地址、时间窗口等更细粒度的访问控制;最后本系统支持传统数据库、大数据库等多种数据库协议的深度解析,并且具有攻击脚本检测能力,防止数据使用不合规、恶意窃取等安全事件发生。

3、目前的数据库安全防护技术存在以下不足:

4、1)当数据库请求访问负载突然增大后,往往无法及时扩容来支撑大量的访问请求。

5、2)对用户连接数据库请求很难做到更加细粒度的访问控制,如:数据库字段,源ip地址、时间维度的控制等。无法满足灵活多变的访问控制需求。

6、3)目前此类系统支持的数据库协议相对比较少,而且不具备深度协议解析与异常行为分析能力。而本系统支持很多主流的关系型数据库、非关系型数据库协议,以及大数据平台协议。同时通过协议的深度解析,实现对内容还原,并基于内置的异常行为检测脚本,实现对不合规操作,以及攻击行为进行告警。


技术实现思路

1、为此,本发明首先提出一种面向隐私计算的可扩容数据细粒度访问控制系统,通过设置管理中心服务、高可用代理、数据代理服务三个部分构成一个完整的功能系统;其中管理中心服务由管理员管理,设置管理认证用户、管理安全防护策略,以及将策略规则下发到数据代理服务和高可用代理的下发规则策略三个功能模块;

2、所述高可用代理部分用可横向扩展的技术部署方案,数据库管理员和业务系统发送接收访问数据库的数据包,通过代理端口转发给数据库代理服务;

3、所述数据代理服务设置代理层和控制层结构,串行在业务系统跟数据库之间,接收业务系统访问数据库资产的请求报文,分析报文内容,结合安全访问策略内容来控制业务系统对数据库的访问。

4、所述高可用代理服务的具体架构为:采用可横向扩展的部署方案处理高并发的数据请求,实现策略解析、数据请求转发,所述策略解析具体过程为:解析管理中心服务下发的端口映射策略规则,根据策略规则中的内容,启动端口映射代理进程;所述数据请求转发具体过程为:数据请求转发按照代理端口映射规则,将接收的数据请求转发到目的主机的端口上,完成数据请求转发;

5、同时在高并发负载情况下,通过监控代理服务的keepalived节点负载情况,动态增加keepalived节点和代理节点,并将新的大量数据库连接请求转发到新增的数据代理服务节点上,实现数据代理服务对高并发的数据库请求的支持;

6、通过数据代理服务对业务系统访问数据库的报文进行分析实现更细粒度的数据访问控制,并结合细粒度的访问控制策略,更加精细地控制到表字段级别、时间维度;

7、数据库代理服务接收业务系统连接数据请求报文后,解析报文内容,提取报文中的sql脚本、操作用户。之后再解析sql脚本,获取脚本中操作数据库指令、目标数据库、表、字段信息,并结合管理中心服务下发的安全访问控制策略控制数据库访问。

8、所述动态增加keepalived节点和代理节点,并将新的大量数据库连接请求转发到新增的数据代理服务节点的具体方法为:首先将数据代理服务封装成docker容器:将keepalived服务封装到容器中,以便在增加keepalived节点的时候快速部署;之后发布docker容器:将容器发布到云平台,供下一步动态增加代理服务节点使用;之后设定keepalived负载指标:对keepalived节点设置负载值,当节点的负载数据接近这个指标值时,说明当前节点压力较大,不再接收新的连接请求;接着循环检查keepalived负载情况:高可用代理服务通过循环检查keepalived节点的负载情况,判断是否达到了负载要求,当每个节点都达到了负载指定的数值,需要新增keepalived节点,分担连接请求压力;之后增加代理服务节点:从云服务上下载docker容器,启动并部署新的keepalived节点;最后设置转发规则:将新增的数据库连接请求分配到新增的keepalived节点,分担代理服务的连接压力。定期循环检查keepalived节点的负载情况,确保代理服务稳定工作。

9、所述结合管理中心服务下发的安全访问控制策略控制数据库访问的具体方法为:在接收业务系统请求报文后,通过十二个步骤实现,其中步骤一为代理服务首先接收业务系统连接数据请求报文,读取报文的全部内容;步骤二为解析报文内容:得到全部的报文内容后,对报文内容进行解析,得到数据库请求的内容;步骤三为提取操作数据库信息:通过对请求数据库内容的分析,提取报文中的sql脚本、操作用户,解析sql脚本,获取脚本中操作数据库指令、目标数据库、表、字段信息;步骤四为遍历安全访问策略:循环遍历中心服务端下发的安全防护策略,用数据库请求信息中的内容对策略进行匹配;步骤五为通过用户名筛选策略:通过请求信息中的用户名进行策略匹配;如果匹配进行下一步判断;步骤六为通过数据库名称筛选策略:通过数据库名称筛选:通过请求信息中的数据库名称对当前策略进行筛选,如果符合进行下一步筛选;步骤七为通过表名称进行筛选策略:通过请求信息中的表名称对当前策略进行筛选,如果匹配进行下一步筛选;步骤八为通过字段名称筛选策略:通过请求信息中的字段内容进行策略筛选判断是否匹配,如果匹配进行下一步验证;步骤九为验证策略是否匹配:对通过步骤五到步骤八筛选匹配出来的策略进行验证,判断是否匹配,如果匹配,进行下一步验证;步骤十为验证时间是否匹配:根据当前时间验证策略中要求的时间是否匹配,如果匹配,当前策略命中,将当前策略中规定的放行或阻断结果作为验证结果返回到代理层,进行处理;步骤十一为生成阻断报文:如果策略阻断当前请求,则生成阻断报文;并将阻断报文返回给业务系统;步骤十二为发送原始报文都给数据库:如果策略放行当前请求,则将原始报文发送到数据库,完成业务请求;

10、所述数据代理服务作为数据库代理服务,串行在业务系统跟数据库之间,内部设置有代理层和控制层层两个模块,其中代理层负责解析请求报文,将报文中的信息提供给控制层,得到控制结果后根据防护要求生成阻断报文、重新组装脱敏报文,反馈给业务系统、数据库系统,完成烦请访问控制;控制层负责分析用户操作数据库的行为,根据安全策略先认证登录用户操作的合法性,如果用户合法,再对用户操作行为进行安全验证,通过安全验证后,再进行脱敏检测,最后在对操作脚本进行高危脚本检测,验证脚本是否存在违规操作。

11、所述代理层功能具体为:数据请求报文解析、生成阻断报文;其中数据请求报文解析功能接收业务系统请求报文,根据每个数据库通信报文协议,解析业务系统请求报文结构,读取报文中的操作信息,这些信息提供给控制层进行处理;生成阻断报文功能在得到控制层反馈的阻断结果后,根据结果内容,遵循数据库通信协议,模拟数据库端生成错误报文,新的报文信息代理层,返回给业务系统,阻断业务系统请求数据库的报文。

12、所述控制层功能具体为:用户认证、访问控制、高危脚本检测、生成访问日志;其中用户认证功能以独立于数据库服务上的用户认证对登录用户做认证,不参照数据库用户内容,完全按照管理员设置的安全策略进行验证,具体流程如下:数据库代理服务接收到业务系统请求数据库的报文后,解析报文,提取操作数据库的信息,遍历本地策略,分别通过访问用,目标数据库,表,字段信息作为筛选条件匹配本地安全访问策略,找到策略后,再验证当前时间是否跟策略匹配,如果匹配,则将策略要求的处理结果发送给代理端处理本次请求;如果未找到匹配策略,按系统默认策略规则处理;之后高危脚本检测:检测数据库请求脚本的安全性,对存在着sql注入,拖库,撞库等危险操作行为进行检测,并将检测结果发送给代理层对请求报文进行阻断,保护数据库数据安全;接着生成访问日志:生成数据库访问日志,将这些内容形成结构化数据缓存到本地。

13、本发明所要实现的技术效果在于:

14、本技术方案采用了高可用的负载均衡技术,结合端口转发技术,通过动态增加数据库代理服务的方式,实现了对高并发数据库请求下的,数据访问控制能力的横向扩展。

15、本发明通过对sql进行深度解析,得到库,表,字段等信息,可以做到控制用户对库、表、字段操作,并提出了源ip地址,时间等更多维度进行访问控制,可以做到在不同时间点的访问控制,实现了更加精细的业务系统或数据库管理员对数据库的访问控制。

16、本系统支持多种数据库报文协议深度解析,包括关系型数据库、非关系型数据库、工业时序数据库、新兴的大数据库、以及区块链的通信协议解析。同时系统内置了高危检测脚本,实现了对攻击行为的访问阻断与告警。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1