一种电力数据内外网穿透的动态脱敏方法及装置
技术领域
本发明涉及信息安全技术领域,具体涉及一种电力数据内外网穿透的动态脱敏方法及装置。
背景技术
随着数据价值的日益凸显,数据已经成为攻击者的重要目标,数据面临的安全形势也日益严峻,近年来全球范围内爆发多起大规模数据泄露事件,数据攻击损失呈逐年快速增长趋势。国内外深刻认识到数据安全的极端重要性,面对大数据广泛应用带来的各类网络安全风险,采取数据安全防护政策和措施,加强数据安全管控,强化数据安全防护措施是保护数据及用户隐私的重要手段。
目前电网信息内外网数据交互越来越频繁,交互涉及的用户敏感信息越来越多,而信息外网应用庞杂,参与数据处理和使用的角色多元,在现有隔离架构下,外网应用需要穿透信息网络安全隔离装置,从内网获取用户敏感信息,并根据不同角色人员需要实现差异化的动态脱敏展示,在此过程中,很容易因越权访问导致用户隐私信息泄露。
发明内容
针对现有技术的不足,本发明的目的是一种电力数据内外网穿透的动态脱敏方法及装置,解决现有技术中用户隐私容易泄露的问题。
本发明提供一种电力数据内外网穿透的动态脱敏方法,其改进之处在于,所述方法包括:
接收用户的业务访问请求并进行解析得到用户访问信息;所述用户访问信息包括:SQL语句、用户ID和业务场景标识;
识别SQL语句是否涉敏;
对于涉敏SQL语句,则基于用户ID和业务场景标识对涉敏SQL语句对应的访问数据进行脱敏处理,将脱敏处理后的涉敏SQL语句对应的访问数据发送给用户;
对于未涉敏SQL语句,则将未涉敏SQL语句对应的访问数据直接发送给用户。
优选地,所述识别SQL语句是否涉敏,包括:
获取SQL语句的访问对象和操作类型;
基于SQL语句的操作类型判断SQL语句是否符合操作权限;
对于不符合操作权限的SQL语句,则阻断访问;
对于符合操作权限的SQL语句,在预设的敏感字库中查找符合操作权限的SQL语句的访问对象,若存在,则符合操作权限的SQL语句涉敏,否则不涉敏。
进一步地,所述获取SQL语句的访问对象和操作类型,包括:
在预先建立的SQL语法树集合中匹配SQL语句对应的语法树,若匹配成功,则将匹配成功的语法树作为SQL语句对应的语法树,否则对SQL语句进行词法和语法分析,构建SQL语句对应的语法树,并将SQL语句对应的语法树加入预先建立的SQL语法树集合;
在SQL语句对应的语法树中提取SQL语句的访问对象和操作类型。
进一步地,所述基于SQL语句的操作类型判断SQL语句是否符合操作权限,包括:
基于用户ID识别用户角色,并获取该角色的权限库;
在权限库中查找SQL语句的操作类型,若存在,则SQL语句符合操作权限,否则不符合。
优选地,所述基于用户ID和业务场景标识对涉敏SQL语句对应的访问数据进行脱敏处理,包括:
若用户ID在预设的用户白名单中或业务场景标识在预设的场景白名单中,则不对涉敏SQL语句对应的访问数据进行脱敏处理,否则,利用脱敏算法对涉敏SQL语句对应的访问数据进行脱敏处理。
基于同一发明构思,本发明还提供一种电力数据内外网穿透的动态脱敏装置,其改进之处在于,所述装置包括:
获取单元,用于接收用户的业务访问请求并进行解析得到用户访问信息;所述用户访问信息包括:SQL语句、用户ID和业务场景标识;
识别单元,用于识别SQL语句是否涉敏;
脱敏单元,用于对于涉敏SQL语句,则基于用户ID和业务场景标识对涉敏SQL语句对应的访问数据进行脱敏处理,将脱敏处理后的涉敏SQL语句对应的访问数据发送给用户;对于未涉敏SQL语句,则将未涉敏SQL语句对应的访问数据直接发送给用户。
优选地,所述识别单元,包括:
获取模块,用于获取SQL语句的访问对象和操作类型;
判断模块,用于基于SQL语句的操作类型判断SQL语句是否符合操作权限;
处理模块,用于对于不符合操作权限的SQL语句,则阻断访问;对于符合操作权限的SQL语句,在预设的敏感字库中查找符合操作权限的SQL语句的访问对象,若存在,则符合操作权限的SQL语句涉敏,否则不涉敏。
进一步地,所述获取模块,具体用于:
在预先建立的SQL语法树集合中匹配SQL语句对应的语法树,若匹配成功,则将匹配成功的语法树作为SQL语句对应的语法树,否则对SQL语句进行词法和语法分析,构建SQL语句对应的语法树,并将SQL语句对应的语法树加入预先建立的SQL语法树集合;
在SQL语句对应的语法树中提取SQL语句的访问对象和操作类型。
进一步地,所述判断模块,具体用于:
基于用户ID识别用户角色,并获取该角色的权限库;
在权限库中查找SQL语句的操作类型,若存在,则SQL语句符合操作权限,否则不符合。
优选地,所述脱敏单元,具体用于:
若用户ID在预设的用户白名单中或业务场景标识在预设的场景白名单中,则不对涉敏SQL语句对应的访问数据进行脱敏处理,否则,利用脱敏算法对涉敏SQL语句对应的访问数据进行脱敏处理。
与最接近的现有技术相比,本发明具有的有益效果:
本发明提供的一种电力数据内外网穿透的动态脱敏方法及装置,接收用户的业务访问请求并进行解析得到用户访问信息;识别SQL语句是否涉敏;对于涉敏SQL语句,则基于用户ID和业务场景标识对涉敏SQL语句对应的访问数据进行脱敏处理,将脱敏处理后的涉敏SQL语句对应的访问数据发送给用户;对于未涉敏SQL语句,则将未涉敏SQL语句对应的访问数据直接发送给用户;本发明通过对用户的SQL语句是否涉敏进行判断,以及涉敏时对访问的数据进行脱敏处理,减小了用户信息的泄露,提高了电力数据的安全性。
其中,识别SQL语句是否涉敏时,增加权限判断,减少了用户越权访问的风险;通过预先建立的SQL语法树集合获取访问对象和操作类型,相比直接对SQL语句进行分析,节约了时间,提高了便利性。
附图说明
图1是本发明电力数据内外网穿透的动态脱敏方法流程图;
图2是本发明电力数据内外网穿透的动态脱敏装置示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的详细说明。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供一种电力数据内外网穿透的动态脱敏方法,如图1所示,所述方法包括:
接收用户的业务访问请求并进行解析得到用户访问信息;所述用户访问信息包括:SQL语句、用户ID和业务场景标识;
识别SQL语句是否涉敏;
对于涉敏SQL语句,则基于用户ID和业务场景标识对涉敏SQL语句对应的访问数据进行脱敏处理,将脱敏处理后的涉敏SQL语句对应的访问数据发送给用户;
对于未涉敏SQL语句,则将未涉敏SQL语句对应的访问数据直接发送给用户。
为了更加清楚地表明本发明的目的,下面结合具体实施例对本发明的方案做进一步说明。
在本发明的实施例中,上述识别SQL语句是否涉敏,包括:
获取SQL语句的访问对象和操作类型;
基于SQL语句的操作类型判断SQL语句是否符合操作权限;
对于不符合操作权限的SQL语句,则阻断访问;
对于符合操作权限的SQL语句,在预设的敏感字库中查找符合操作权限的SQL语句的访问对象,若存在,则符合操作权限的SQL语句涉敏,否则不涉敏;
在本发明的实施例中,上述获取SQL语句的访问对象和操作类型,包括:
在预先建立的SQL语法树集合中匹配SQL语句对应的语法树,若匹配成功,则将匹配成功的语法树作为SQL语句对应的语法树,否则对SQL语句进行词法和语法分析,构建SQL语句对应的语法树,并将SQL语句对应的语法树加入预先建立的SQL语法树集合;
在SQL语句对应的语法树中提取SQL语句的访问对象和操作类型。
在本发明的实施例中,上述基于SQL语句的操作类型判断SQL语句是否符合操作权限,包括:
基于用户ID识别用户角色,并获取该角色的权限库;
在权限库中查找SQL语句的操作类型,若存在,则SQL语句符合操作权限,否则不符合。
在本发明的实施例中,上述基于用户ID和业务场景标识对涉敏SQL语句对应的访问数据进行脱敏处理,包括:
若用户ID在预设的用户白名单中或业务场景标识在预设的场景白名单中,则不对涉敏SQL语句对应的访问数据进行脱敏处理,否则,利用脱敏算法对涉敏SQL语句对应的访问数据进行脱敏处理。
基于同一发明构思,本发明还提供一种电力数据内外网穿透的动态脱敏装置,如图2所示,所述装置包括:
获取单元,用于接收用户的业务访问请求并进行解析得到用户访问信息;所述用户访问信息包括:SQL语句、用户ID和业务场景标识;
识别单元,用于识别SQL语句是否涉敏;
脱敏单元,用于对于涉敏SQL语句,则基于用户ID和业务场景标识对涉敏SQL语句对应的访问数据进行脱敏处理,将脱敏处理后的涉敏SQL语句对应的访问数据发送给用户;对于未涉敏SQL语句,则将未涉敏SQL语句对应的访问数据直接发送给用户。
识别单元,包括:
获取模块,用于获取SQL语句的访问对象和操作类型;
判断模块,用于基于SQL语句的操作类型判断SQL语句是否符合操作权限;
处理模块,用于对于不符合操作权限的SQL语句,则阻断访问;对于符合操作权限的SQL语句,在预设的敏感字库中查找符合操作权限的SQL语句的访问对象,若存在,则符合操作权限的SQL语句涉敏,否则不涉敏。
进一步地,所述获取模块,具体用于:
在预先建立的SQL语法树集合中匹配SQL语句对应的语法树,若匹配成功,则将匹配成功的语法树作为SQL语句对应的语法树,否则对SQL语句进行词法和语法分析,构建SQL语句对应的语法树,并将SQL语句对应的语法树加入预先建立的SQL语法树集合;
在SQL语句对应的语法树中提取SQL语句的访问对象和操作类型。
进一步地,所述判断模块,具体用于:
基于用户ID识别用户角色,并获取该角色的权限库;
在权限库中查找SQL语句的操作类型,若存在,则SQL语句符合操作权限,否则不符合。
在本发明的实施例中,将上述动态脱敏装置应用于电网业务系统,为了进一步提高内外网连接的安全度,将涉敏的SQL语句的标记信息通过信息网络安全隔离装置发送给脱敏单元后,发送之前,信息网络安全隔离装置需通过三次握手确认与脱敏单元是否连接。
在本发明的实施例中,上述脱敏单元在三次握手确认连接之后,具体用于:
若用户ID在预设的用户白名单中或业务场景标识在预设的场景白名单中,则不对涉敏SQL语句对应的访问数据进行脱敏处理,否则,利用脱敏算法对涉敏SQL语句对应的访问数据进行脱敏处理。
综上所述,本发明提供的一种电力数据内外网穿透的动态脱敏方法及装置,接收用户的业务访问请求并进行解析得到用户访问信息;识别SQL语句是否涉敏;对于涉敏SQL语句,则基于用户ID和业务场景标识对涉敏SQL语句对应的访问数据进行脱敏处理,将脱敏处理后的涉敏SQL语句对应的访问数据发送给用户;对于未涉敏SQL语句,则将未涉敏SQL语句对应的访问数据直接发送给用户;本发明通过对用户的SQL语句是否涉敏进行判断,以及涉敏时对访问的数据进行脱敏处理,减小了用户信息的泄露,提高了电力数据的安全性。
其中,识别SQL语句是否涉敏时,增加权限判断,减少了用户越权访问的风险;通过预先建立的SQL语法树集合获取访问对象和操作类型,相比直接对SQL语句进行分析,节约了时间,提高了便利性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。