CN106295388B - 一种数据脱敏方法和装置 - Google Patents
一种数据脱敏方法和装置 Download PDFInfo
- Publication number
- CN106295388B CN106295388B CN201510303954.4A CN201510303954A CN106295388B CN 106295388 B CN106295388 B CN 106295388B CN 201510303954 A CN201510303954 A CN 201510303954A CN 106295388 B CN106295388 B CN 106295388B
- Authority
- CN
- China
- Prior art keywords
- data
- sensitive data
- user
- sql
- accessed
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据脱敏方法和装置,用以解决现有技术中存在的数据脱敏的效率较低,而且管控不灵活的问题。该方法包括:接收用户发送的结构化查询语言SQL指令;当判断出所述SQL指令所要访问的数据中包含敏感数据,且所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种数据脱敏方法和装置。
背景技术
随着市场壮大和业务发展,企业数据库中存储的客户资料越来越多,一旦发生泄露,将会对企业带来巨大的信任危机及经济损失。为此各企业均对数据安全给予了高度重视,通过内外网隔离、防火墙建设及安全审计等诸多管理或技术手段阻止数据泄漏事件的发生并能追踪事件源头。其中对于敏感数据的脱敏(或称模糊化)处理是预防数据泄漏的积极、有效手段。
所谓数据脱敏,是指对敏感数据通过脱敏规则进行数据的变形,实现对敏感数据的可靠保护,以便在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集(或称脱敏数据)而不至信息泄漏。
目前对数据脱敏主要通过以下几种技术:
1、通过数据库中自带的用于更新表中原有数据的Update语句对敏感数据进行转换。该方法是在数据库同步完成后登入数据库,使用Update语句,根据指定的脱敏规则对敏感数据进行转换,操作完成后提交生效。
2、基于技术工具在数据迁移过程中对敏感数据进行脱敏操作。此方式可单独对导出的敏感数据表进行加密操作,使敏感数据以脱敏数据的形式展示,当在得到加密口令后可以将脱敏数据恢复为原始数据。
上述两种脱敏技术中,第一种脱敏技术使用Update语句进行的脱敏操作具备不可逆性,当需要对敏感数据进行访问时,需重新同步数据库,灵活性较差,不能满足业务需要。由于在脱敏过程中需要对数据量较大的敏感数据进行修改,因此脱敏过程效率较低,不适合对数据及时性要求较高的场景。而第二种脱敏技术虽然在得到加密口令后可以讲脱敏数据恢复为原始数据,即具备可逆性,但是由于在导出导入的过程中也实施了对敏感数据的修改,因此也存在脱敏过程效率较低的问题,不适合对数据及时性要求较高的场景。另外,加密密码固定,不能灵活变更,一旦使用户获取加密密码,便无法回收该用户对敏感数据的访问权限,不便于管理控制。
在实际生产环境中,因安全及***资源限制需向内部统计员或稽核人员提供独立于生产的统计与稽核用数据环境。该场景下对数据的及时性要求较高,所以必须周期性的在规定的时间窗口内完成数据同步与脱敏操作。同时因客户资料实名制等工作的推进,需支持稽核人员在安全许可范围内不定期访问原始数据的需求。此种情况下,上述技术均无法满足要求。
发明内容
本发明实施例提供一种数据脱敏方法和装置,用以解决现有技术中存在的数据脱敏的效率较低,而且管控不灵活的问题。
本发明实施例采用以下技术方案:
第一方面提供了一种数据脱敏方法,包括:
接收用户发送的结构化查询语言SQL指令;
当判断出所述SQL指令所要访问的数据中包含敏感数据,且所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。
可选的,当判断出所述SQL指令所要访问的数据中包含敏感数据,且所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据,具体包括:
判断所述SQL指令所要访问的数据中是否包含敏感数据;
当判断出所述SQL指令所要访问的数据中包含敏感数据时,继续判断所述用户是否被允许访问所述敏感数据;
当判断出所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。
可选的,接收用户发送的SQL指令,具体包括:
接收用户在第一时间发送的SQL指令;则
判断所述用户是否被允许访问所述敏感数据,具体包括:
根据预先存储的授权用户列表,判断所述用户是否为授权用户;
当判断出所述用户为授权用户时,继续判断所述第一时间是否处于所述授权用户对应的访问时间范围内,以及判断所述SQL指令所要访问的敏感数据是否为所述授权用户对应的授权访问对象;
当判断出所述用户不是授权用户,或者判断出所述第一时间未处于所述访问时间范围内,或者判断出所述SQL指令所要访问的敏感数据不是所述授权访问对象时,确定所述用户不被允许访问所述敏感数据;
当判断出所述用户为授权用户,所述第一时间处于所述访问时间范围内,并且所述SQL指令所要访问的敏感数据为所述授权访问对象时,确定所述用户被允许访问所述敏感数据。
可选的,判断所述SQL指令所要访问的数据中是否包含敏感数据,具体包括:
对所述SQL指令进行扫描,当分析出所述SQL指令中包含查询select语句,且所述select语句中所要查询的数据表中包含预先设置的敏感数据表,且包含的敏感数据表所要查询的数据列中又包含预先设置的敏感数据列时,确定所述SQL指令所要访问的数据中包含敏感数据;否则确定所述SQL指令所要访问的数据中不包含敏感数据。
可选的,所述脱敏转换规则包括:
将所述SQL指令中用于访问敏感数据的语句替换为预设转换函数,所述预设转换函数用于将所述敏感数据中指定位置的字符转换为预先设置的特殊字符;其中,所述敏感数据至少包括:身份证号码、电话号码、姓名和住址中的任意一项数据。
第二方面提供了一种数据脱敏装置,包括:
SQL指令接收模块,用于接收用户发送的结构化查询语言SQL指令;
SQL指令转换模块,用于当判断出所述SQL指令接收模块接收的SQL指令所要访问的数据中包含敏感数据,且所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。
可选的,所述SQL指令转换模块,具体包括:
第一判断单元,用于判断所述SQL指令所要访问的数据中是否包含敏感数据;
第二判断单元,用于当所述第一判断单元判断出所述SQL指令所要访问的数据中包含敏感数据时,继续判断所述用户是否被允许访问所述敏感数据;
转换单元,用于当所述第二判断单元判断出所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。
可选的,所述SQL指令接收模块,具体包括:
接收用户在第一时间发送的SQL指令;则
所述第二判断单元,具体用于:
根据预先存储的授权用户列表,判断所述用户是否为授权用户;当判断出所述用户为授权用户时,继续判断所述第一时间是否处于所述授权用户对应的访问时间范围内,以及判断所述SQL指令所要访问的敏感数据是否为所述授权用户对应的授权访问对象;当判断出所述用户不是授权用户,或者判断出所述第一时间未处于所述访问时间范围内,或者判断出所述SQL指令所要访问的敏感数据不是所述授权访问对象时,确定所述用户不被允许访问所述敏感数据;当判断出所述用户为授权用户,所述第一时间处于所述访问时间范围内,并且所述SQL指令所要访问的敏感数据为所述授权访问对象时,确定所述用户被允许访问所述敏感数据。
可选的,所述第一判断单元,具体用于:
对所述SQL指令进行扫描,当分析出所述SQL指令中包含查询select语句,且所述select语句中所要查询的数据表中包含预先设置的敏感数据表,且包含的敏感数据表所要查询的数据列中又包含预先设置的敏感数据列时,确定所述SQL指令所要访问的数据中包含敏感数据;否则确定所述SQL指令所要访问的数据中不包含敏感数据
可选的,所述脱敏转换规则包括:
将所述SQL指令中用于访问敏感数据的语句替换为预设转换函数,所述预设转换函数用于将所述敏感数据中指定位置的字符转换为预先设置的特殊字符;其中,所述敏感数据至少包括:身份证号码、电话号码、姓名和住址中的任意一项数据。
本发明实施例的有益效果如下:
本发明实施例中,接收用户发送的SQL指令,在判断出SQL指令所要访问的数据中包含敏感数据,且该用户不被允许访问敏感数据时,根据预先设置的脱敏转换规则对SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。与现有技术相比,在数据脱敏过程中未对敏感数据进行更改,而是采取对用户发送的SQL指令进行转换的方式确定数据展示方式,从而达到数据脱敏的效果,极大了提高了数据脱敏的效率。另外,数据展示方式不再由加密密码来控制,而是通过对用户是否被允许访问敏感数据的判断结果来决定,从而实现灵活管控。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的一种数据脱敏方法的实现流程图;
图2为本发明实施例提供的数据脱敏方法在具体应用时的应用场景示意图;
图3为在该应用场景下的数据脱敏方法的具体流程图;
图4为判断SQL指令中是否有提取敏感数据的内容的具体实现流程图;
图5为本发明实施例提供的一种数据脱敏装置的结构示意图。
具体实施方式
为了解决现有技术中存在的数据脱敏的效率较低,而且管控不灵活的问题,本发明实施例提供了一种数据脱敏方案。该技术方案中,接收用户发送的SQL指令,在判断出SQL指令所要访问的数据中包含敏感数据,且该用户不被允许访问敏感数据时,根据预先设置的脱敏转换规则对SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。与现有技术相比,在数据脱敏过程中未对敏感数据进行更改,而是采取对用户发送的SQL指令进行转换的方式确定数据展示方式,从而达到数据脱敏的效果,极大了提高了数据脱敏的效率。另外,数据展示方式不再由加密密码来控制,而是通过对用户是否被允许访问敏感数据的判断结果来决定,从而实现灵活管控。
以下结合说明书附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限制本发明。并且在不冲突的情况下,本发明中的实施例及实施例的特征可以互相结合。
本发明实施例提供了一种数据脱敏方法,如图1所示,为该方法的实现流程图,具体包括下述步骤:
步骤11,接收用户发送的SQL指令;
步骤12,当判断出该SQL指令所要访问的数据中包含敏感数据,且该用户不被允许访问敏感数据时,根据预先设置的脱敏转换规则对该SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。
其中,该步骤12可以但不限于按照如下过程实现:
首先判断该SQL指令所要访问的数据中是否包含敏感数据;
具体的,对该SQL指令进行扫描,当分析出SQL指令中包含查询select语句,且select语句中所要查询的数据表中包含预先设置的敏感数据表,且包含的敏感数据表所要查询的数据列中又包含预先设置的敏感数据列时,确定该SQL指令所要访问的数据中包含敏感数据;否则确定该SQL指令所要访问的数据中不包含敏感数据。
当判断出该SQL指令所要访问的数据中包含敏感数据时,继续判断该用户是否被允许访问敏感数据;
在步骤11中的SQL指令是用户在第一时间发送的情况下,本发明实施例中可以但不限于按照如下方式判断该用户是否被允许访问敏感数据:
根据预先存储的授权用户列表,判断该用户是否为授权用户;
当判断出该用户为授权用户时,继续判断该第一时间是否处于授权用户对应的访问时间范围内,以及判断SQL指令所要访问的敏感数据是否为授权用户对应的授权访问对象;
当判断出用户为授权用户,第一时间处于访问时间范围内,并且SQL指令所要访问的敏感数据为授权访问对象时,确定用户被允许访问敏感数据;
当判断出用户不是授权用户,或者判断出第一时间未处于访问时间范围内,或者判断出SQL指令所要访问的敏感数据不是授权访问对象时,确定用户不被允许访问敏感数据。
当判断出该用户不被允许访问敏感数据时,根据预先设置的脱敏转换规则对该SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。
其中,该脱敏转换规则可以但不限于为:
将SQL指令中用于访问敏感数据的语句替换为预设转换函数;其中预设转换函数用于将敏感数据中指定位置的字符转换为预先设置的特殊字符;其中,敏感数据至少包括:身份证号码、电话号码、姓名和住址中的任意一项数据。
本发明实施例与现有技术相比,在数据脱敏过程中未对敏感数据进行更改,而是采取对用户发送的SQL指令进行转换的方式确定数据展示方式,从而达到数据脱敏的效果,极大了提高了数据脱敏的效率。另外,数据展示方式不再由加密密码来控制,而是通过对用户是否被允许访问敏感数据的判断结果来决定,从而实现灵活管控。
为了更好的理解本发明实施例,以下结合具体的实施对本发明实施例的具体实施过程进行说明。
本发明实施例提供的上述数据脱敏方法在具体应用时可以通过增加数据脱敏服务器和权限审批服务器来实现。如图2所示,为本发明实施例提供的上述数据脱敏方法在具体应用时的应用场景示意图。
权限审批服务器负责对用户鉴权,并向数据脱敏服务器提供接口(用户白名单、授权时间窗口、授权访问对象等)。
其中,用户白名单:即授权用户列表,该授权用户列表中的用户被允许访问敏感数据;
授权时间窗口:即授权用户列表中的用户被允许访问敏感数据的访问时间范围。
授权访问对象:即授权用户列表中的用户被允许访问的数据库对象(如:表、视图或同名等)。
当用户在有访问敏感数据的需求时,向该权限审批服务器发起申请,申请中包含申请人信息、访问对象、访问时间、访问原因等信息。该申请通过权限审批服务器提交到上级领导处进行人工审核,当被确认为合法访问后,将该申请中的申请人信息加入到用户白名单中,访问时间则转换为授权时间窗口,访问对象则转换为授权访问对象。
数据脱敏服务器负责记录对敏感数据的脱敏转换规则,以及对用户发送的SQL指令进行判断,如果发现用户发送的SQL指令所要访问的内容涉及敏感数据(如:身份证号、联系电话、姓名、住址等)时,继续根据权限审批服务器提供的接口判断该用户是否为非法授权用户(即不被允许访问敏感数据)时,如果发现该用户为非法授权用户时,则立即应用脱敏转换规则对用户提交的SQL指令进行转换,使呈现在用户面前的数据为脱敏数据;如果发现用户发送的SQL指令所要访问的内容不涉及敏感数据,或者发现用户发送的SQL指令所要访问的内容涉及敏感数据,同时该用户为合法授权用户时,则对该用户提交的SQL指令不做处理,直接分发至后台数据库执行。
在数据脱敏服务器中记录对敏感数据的脱敏转换规则时,还需要记录下述信息:
所有与数据脱敏服务器连接的数据库实例的配置信息,包括需执行敏感数据脱敏的数据库实例名称、IP地址、监听端口等;
数据库用户模式:记录具体数据库实例下包括敏感数据表的账号信息。
敏感数据表:存放敏感数据的数据表、视图或同名。
敏感数据列:存放敏感信息的数据对像(表、视图或同名)的列名。
数据脱敏服务器中记录的脱敏转换规则,即对敏感数据列进行脱敏转换时使用的规则,一般使用数据库内置函数编写,这些函数用于将敏感数据中指定位置的字符转换为预先设置的特殊字符。
以敏感数据包括身份证号码、电话号码、姓名和住址为例:
对身份证号码的脱敏:对身份证(假设为CERITID)的指定位置的字符或根据需要直接对整个身份证号码的所有字符用特殊字符(如:‘*’)进行替代。如对后三位进行脱敏,则指定函数为SUBSTR(CERITID,1,LENGTH(CERITID)-3)||’***’。
对于电话号码的脱敏:通过号码模式分析,判断前3-5位是否为区号或特别号码(如:021、12580、17951等),截取出有效号码,进而根据需要对相应位置的数字进行模糊化处理,或根据需要直接对整个电话号码的所有字符用特殊字符(如:‘*’)进行替代。如对固话需模糊后4位,则指定函数为:SUBSTR(phone,1,LENGTH(phone)-4)||’****’。
对姓名的脱敏:判断是否含有用户姓氏,姓氏之后字符选取任意位置的字符用特殊字符(如:‘*’)进行替换,或根据需要直接对整个姓名的所有字符用特殊字符进行替代。
对住址的脱敏:判断是否含有“市”、“区”、“镇”、“乡”、“村”、“街”、“号”、“楼”等关键字,对除这些特殊字符之外的字符随机进行替换,或根据需要直接对整个住址的所有字符用特殊字符(如:‘*’)进行替换。
当增加一条脱敏转换规则后,数据脱敏服务器将根据上述提供的信息自动扫描数据库字典,找出引用敏感数据的所有数据对象名称及列名,迭代更新至上述规则集中。
如图3所示,为在该应用场景下的数据脱敏方法的具体流程图。具体包括如下步骤:
步骤31,用户通过任意工具连接至指定的数据库实例,并提交SQL指令。
步骤32,数据脱敏服务器根据用户选择的数据库实例及提交的SQL指令,判断是否有提取敏感数据的内容。如没有则执行步骤37,如有则继续执行步骤33。
步骤33,根据权限审批服务器提供的用户白名单,检查该用户是否为授权用户。如不在用户白名单中则执行步骤36,如在用户白名单内则继续执行步骤34。
步骤34,根据权限审批服务器提供的授权时间窗口及当前时间,判断当前时间是否处于授权时间窗口内,如不是则执行步骤36,如是则继续执行步骤35。
步骤35,根据权限审批服务器提供的授权访问对象及SQL指令所要提取的敏感数据,判断SQL指令所要提取的敏感数据是否为授权访问对象,如不是则执行步骤36,如是则执行步骤37。
步骤36,对提交的SQL指令按照脱敏转换规则处理,使转换后的SQL指令访问到的敏感数据为脱敏数据。
步骤37,转发至后台数据库中执行并反馈结果。
如图4所示,为判断SQL指令中是否有提取敏感数据的内容的具体实现流程图。具体包括如下步骤:
步骤41,对用户提交的SQL指令进行扫描,判断SQL指令中是否包含SELECT语句(包括含有SELECT的查询的增加、删除和修改语句。如没有则确定SQL指令中没有提取敏感数据的内容,如有,则继续执行步骤42。
步骤42,截取SELECT语句中用到的表名,并检测是否含有敏感数据表,如果不含则确定SQL指令中没有提取敏感数据的内容,如有,则继续执行步骤43。
步骤43,检查SQL语句中针对敏感数据表查询时用到的列名,判断是否用到敏感数据列,如果没有用到,则确定SQL指令中没有提取敏感数据的内容,如有,则确定SQL指令中有提取敏感数据的内容。
进而在上述步骤36中对SQL指令进行转换。
需要说明的是,如果SELECT语句中用到‘*’字样,则直接替换为敏感数据表的所有列名,并将敏感数据列根据转换规则进行转换。
本发明实施例与现有技术相比,在数据脱敏过程中未对敏感数据进行更改,而是采取对用户发送的SQL指令进行转换的方式确定数据展示方式,从而达到数据脱敏的效果,极大了提高了数据脱敏的效率。另外,数据展示方式不再由加密密码来控制,而是通过对用户是否被允许访问敏感数据的判断结果来决定,从而实现灵活管控。
基于同一发明构思,本发明实施例中还提供了一种数据脱敏装置,由于上述装置解决问题的原理与数据脱敏方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,为本发明实施例提供的数据脱敏装置的结构示意图,包括:
SQL指令接收模块51,用于接收用户发送的结构化查询语言SQL指令;
SQL指令转换模块52,用于当判断出所述SQL指令接收模块接收的SQL指令所要访问的数据中包含敏感数据,且所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。
可选的,所述SQL指令转换模块52,具体包括:
第一判断单元521,用于判断所述SQL指令所要访问的数据中是否包含敏感数据;
第二判断单元522,用于当所述第一判断单元521判断出所述SQL指令所要访问的数据中包含敏感数据时,继续判断所述用户是否被允许访问所述敏感数据;
转换单元523,用于当所述第二判断单元522判断出所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。
可选的,所述SQL指令接收模块51,具体包括:
接收用户在第一时间发送的SQL指令;则
所述第二判断单元522,具体用于:
根据预先存储的授权用户列表,判断所述用户是否为授权用户;当判断出所述用户为授权用户时,继续判断所述第一时间是否处于所述授权用户对应的访问时间范围内,以及判断所述SQL指令所要访问的敏感数据是否为所述授权用户对应的授权访问对象;当判断出所述用户不是授权用户,或者判断出所述第一时间未处于所述访问时间范围内,或者判断出所述SQL指令所要访问的敏感数据不是所述授权访问对象时,确定所述用户不被允许访问所述敏感数据;当判断出所述用户为授权用户,所述第一时间处于所述访问时间范围内,并且所述SQL指令所要访问的敏感数据为所述授权访问对象时,确定所述用户被允许访问所述敏感数据。
可选的,所述第一判断单元521,具体用于:
对所述SQL指令进行扫描,当分析出所述SQL指令中包含查询select语句,且所述select语句中所要查询的数据表中包含预先设置的敏感数据表,且包含的敏感数据表所要查询的数据列中又包含预先设置的敏感数据列时,确定所述SQL指令所要访问的数据中包含敏感数据;否则确定所述SQL指令所要访问的数据中不包含敏感数据
可选的,所述脱敏转换规则包括:
将所述SQL指令中用于访问敏感数据的语句替换为预设转换函数,所述预设转换函数用于将所述敏感数据中指定位置的字符转换为预先设置的特殊字符;其中,所述敏感数据至少包括:身份证号码、电话号码、姓名和住址中的任意一项数据。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种数据脱敏方法,其特征在于,包括:
接收用户发送的结构化查询语言SQL指令;
当判断出所述SQL指令所要访问的数据中包含敏感数据,且所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据;
所述脱敏转换规则包括:将所述SQL指令中用于访问敏感数据的语句替换为预设转换函数,所述预设转换函数用于将所述敏感数据中指定位置的字符转换为预先设置的特殊字符;其中,所述敏感数据至少包括:身份证号码、电话号码、姓名和住址中的任意一项数据。
2.如权利要求1所述的方法,其特征在于,当判断出所述SQL指令所要访问的数据中包含敏感数据,且所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据,具体包括:
判断所述SQL指令所要访问的数据中是否包含敏感数据;
当判断出所述SQL指令所要访问的数据中包含敏感数据时,继续判断所述用户是否被允许访问所述敏感数据;
当判断出所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。
3.如权利要求2所述的方法,其特征在于,接收用户发送的SQL指令,具体包括:
接收用户在第一时间发送的SQL指令;则
判断所述用户是否被允许访问所述敏感数据,具体包括:
根据预先存储的授权用户列表,判断所述用户是否为授权用户;
当判断出所述用户为授权用户时,继续判断所述第一时间是否处于所述授权用户对应的访问时间范围内,以及判断所述SQL指令所要访问的敏感数据是否为所述授权用户对应的授权访问对象;
当判断出所述用户不是授权用户,或者判断出所述第一时间未处于所述访问时间范围内,或者判断出所述SQL指令所要访问的敏感数据不是所述授权访问对象时,确定所述用户不被允许访问所述敏感数据;
当判断出所述用户为授权用户,所述第一时间处于所述访问时间范围内,并且所述SQL指令所要访问的敏感数据为所述授权访问对象时,确定所述用户被允许访问所述敏感数据。
4.如权利要求2所述的方法,其特征在于,判断所述SQL指令所要访问的数据中是否包含敏感数据,具体包括:
对所述SQL指令进行扫描,当分析出所述SQL指令中包含查询select语句,且所述select语句中所要查询的数据表中包含预先设置的敏感数据表,且包含的敏感数据表所要查询的数据列中又包含预先设置的敏感数据列时,确定所述SQL指令所要访问的数据中包含敏感数据;否则确定所述SQL指令所要访问的数据中不包含敏感数据。
5.一种数据脱敏装置,其特征在于,包括:
SQL指令接收模块,用于接收用户发送的结构化查询语言SQL指令;
SQL指令转换模块,用于当判断出所述SQL指令接收模块接收的SQL指令所要访问的数据中包含敏感数据,且所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据;
所述脱敏转换规则包括:将所述SQL指令中用于访问敏感数据的语句替换为预设转换函数,所述预设转换函数用于将所述敏感数据中指定位置的字符转换为预先设置的特殊字符;其中,所述敏感数据至少包括:身份证号码、电话号码、姓名和住址中的任意一项数据。
6.如权利要求5所述的装置,其特征在于,所述SQL指令转换模块,具体包括:
第一判断单元,用于判断所述SQL指令所要访问的数据中是否包含敏感数据;
第二判断单元,用于当所述第一判断单元判断出所述SQL指令所要访问的数据中包含敏感数据时,继续判断所述用户是否被允许访问所述敏感数据;
转换单元,用于当所述第二判断单元判断出所述用户不被允许访问所述敏感数据时,根据预先设置的脱敏转换规则对所述SQL指令进行转换,使转换后的SQL指令访问到的敏感数据为脱敏数据。
7.如权利要求6所述的装置,其特征在于,所述SQL指令接收模块,具体包括:
接收用户在第一时间发送的SQL指令;则
所述第二判断单元,具体用于:
根据预先存储的授权用户列表,判断所述用户是否为授权用户;当判断出所述用户为授权用户时,继续判断所述第一时间是否处于所述授权用户对应的访问时间范围内,以及判断所述SQL指令所要访问的敏感数据是否为所述授权用户对应的授权访问对象;当判断出所述用户不是授权用户,或者判断出所述第一时间未处于所述访问时间范围内,或者判断出所述SQL指令所要访问的敏感数据不是所述授权访问对象时,确定所述用户不被允许访问所述敏感数据;当判断出所述用户为授权用户,所述第一时间处于所述访问时间范围内,并且所述SQL指令所要访问的敏感数据为所述授权访问对象时,确定所述用户被允许访问所述敏感数据。
8.如权利要求6所述的装置,其特征在于,所述第一判断单元,具体用于:
对所述SQL指令进行扫描,当分析出所述SQL指令中包含查询select语句,且所述select语句中所要查询的数据表中包含预先设置的敏感数据表,且包含的敏感数据表所要查询的数据列中又包含预先设置的敏感数据列时,确定所述SQL指令所要访问的数据中包含敏感数据;否则确定所述SQL指令所要访问的数据中不包含敏感数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510303954.4A CN106295388B (zh) | 2015-06-04 | 2015-06-04 | 一种数据脱敏方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510303954.4A CN106295388B (zh) | 2015-06-04 | 2015-06-04 | 一种数据脱敏方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106295388A CN106295388A (zh) | 2017-01-04 |
CN106295388B true CN106295388B (zh) | 2019-09-10 |
Family
ID=57659048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510303954.4A Active CN106295388B (zh) | 2015-06-04 | 2015-06-04 | 一种数据脱敏方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106295388B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512807B (zh) * | 2017-02-24 | 2020-08-04 | ***通信集团公司 | 一种数据传输中的数据脱敏方法及数据脱敏服务器 |
CN106991337B (zh) * | 2017-04-06 | 2019-10-22 | 北京数聚世界信息技术有限公司 | 一种出生日期数据的脱敏方法及装置 |
CN107194270A (zh) * | 2017-04-07 | 2017-09-22 | 广东精点数据科技股份有限公司 | 一种实现数据脱敏的***及方法 |
CN107122678A (zh) * | 2017-04-28 | 2017-09-01 | 上海与德科技有限公司 | 保护产品参数的方法及装置 |
CN107194276A (zh) * | 2017-05-03 | 2017-09-22 | 上海上讯信息技术股份有限公司 | 数据库动态脱敏方法及设备 |
CN107273763B (zh) * | 2017-06-23 | 2020-12-04 | 上海艺赛旗软件股份有限公司 | 一种sql驱动层敏感数据模糊替换方法及*** |
CN107392051A (zh) * | 2017-07-28 | 2017-11-24 | 北京明朝万达科技股份有限公司 | 一种大数据处理方法和*** |
CN107403108A (zh) * | 2017-08-07 | 2017-11-28 | 上海上讯信息技术股份有限公司 | 一种数据处理的方法及*** |
CN110019377B (zh) * | 2017-12-14 | 2021-10-26 | ***通信集团山西有限公司 | 动态脱敏方法、装置、设备及介质 |
CN108288492A (zh) * | 2017-12-29 | 2018-07-17 | 安徽方正医疗信息技术有限公司 | 根据登录用户创建的查询条件来自由转换审批流程的方法 |
CN108304704B (zh) * | 2018-02-07 | 2021-02-09 | 平安普惠企业管理有限公司 | 权限控制方法、装置、计算机设备和存储介质 |
CN109271807A (zh) * | 2018-08-20 | 2019-01-25 | 深圳萨摩耶互联网金融服务有限公司 | 数据库的数据安全处理方法及*** |
CN109299616A (zh) * | 2018-09-07 | 2019-02-01 | 北明软件有限公司 | 一种基于连接池的数据安全管控***和方法 |
CN109409121B (zh) * | 2018-09-07 | 2022-10-11 | 创新先进技术有限公司 | 脱敏处理方法、装置和服务器 |
CN109871708A (zh) * | 2018-12-15 | 2019-06-11 | 平安科技(深圳)有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN109711189B (zh) * | 2018-12-19 | 2021-09-03 | 上海晶赞融宣科技有限公司 | 数据脱敏方法及装置、存储介质、终端 |
CN110210703A (zh) * | 2019-04-25 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 一种理财推荐的方法、装置、存储介质及计算机设备 |
CN110245505A (zh) * | 2019-05-20 | 2019-09-17 | 中国平安人寿保险股份有限公司 | 数据表访问方法、装置、计算机设备和存储介质 |
CN110781515B (zh) * | 2019-10-25 | 2023-09-26 | 上海凯馨信息科技有限公司 | 一种静态数据脱敏方法及脱敏装置 |
CN111083292A (zh) * | 2019-11-18 | 2020-04-28 | 集奥聚合(北京)人工智能科技有限公司 | 用于智能语音外呼***的语料处理方法以及*** |
CN111191276B (zh) * | 2019-12-05 | 2023-09-19 | 平安银行股份有限公司 | 数据脱敏方法、装置、存储介质及计算机设备 |
CN111159754A (zh) * | 2019-12-12 | 2020-05-15 | 浙江华云信息科技有限公司 | 逆向解析的数据脱敏方法及装置 |
CN111429640A (zh) * | 2020-03-16 | 2020-07-17 | 北京安迅伟业科技有限公司 | 云平台管理下道闸的控制方法及*** |
CN111767300B (zh) * | 2020-05-11 | 2022-06-07 | 全球能源互联网研究院有限公司 | 一种电力数据内外网穿透的动态脱敏方法及装置 |
CN112765658A (zh) * | 2021-01-15 | 2021-05-07 | 杭州数梦工场科技有限公司 | 一种数据脱敏方法、装置及电子设备和存储介质 |
CN115080987A (zh) * | 2021-03-11 | 2022-09-20 | ***通信集团山东有限公司 | 密码管理方法、装置、***、存储介质和计算机设备 |
CN112800474B (zh) * | 2021-03-19 | 2021-08-10 | 北京安华金和科技有限公司 | 一种数据脱敏方法、装置、存储介质及电子装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102844756A (zh) * | 2010-03-15 | 2012-12-26 | 迪纳米科普斯公司 | 具有基于角色的访问控制的计算机关系数据库方法和*** |
CN103778380A (zh) * | 2013-12-31 | 2014-05-07 | 网秦(北京)科技有限公司 | 数据脱敏和反脱敏方法及相关设备 |
CN103870480A (zh) * | 2012-12-12 | 2014-06-18 | 财团法人资讯工业策进会 | 动态数据遮罩方法以及数据库*** |
CN104239823A (zh) * | 2013-06-07 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 界面内容的展示控制方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI616762B (zh) * | 2012-12-12 | 2018-03-01 | 財團法人資訊工業策進會 | 動態資料遮罩方法以及資料庫系統 |
-
2015
- 2015-06-04 CN CN201510303954.4A patent/CN106295388B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102844756A (zh) * | 2010-03-15 | 2012-12-26 | 迪纳米科普斯公司 | 具有基于角色的访问控制的计算机关系数据库方法和*** |
CN103870480A (zh) * | 2012-12-12 | 2014-06-18 | 财团法人资讯工业策进会 | 动态数据遮罩方法以及数据库*** |
CN104239823A (zh) * | 2013-06-07 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 界面内容的展示控制方法和装置 |
CN103778380A (zh) * | 2013-12-31 | 2014-05-07 | 网秦(北京)科技有限公司 | 数据脱敏和反脱敏方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106295388A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106295388B (zh) | 一种数据脱敏方法和装置 | |
CN105100034B (zh) | 一种网络应用中访问功能的方法和设备 | |
CN116049785A (zh) | 一种身份认证的方法和*** | |
US20140108755A1 (en) | Mobile data loss prevention system and method using file system virtualization | |
CN106911770A (zh) | 一种基于多云存储的数据共享方法及*** | |
US20140101784A1 (en) | Analysis and specification creation for web documents | |
CN106302606B (zh) | 一种跨应用访问方法及装置 | |
US20120254964A1 (en) | Method and system for generating a touch captcha | |
JP3698851B2 (ja) | データベースのセキュリティ管理方法及びシステム | |
CN107409129B (zh) | 使用访问控制列表和群组的分布式***中的授权 | |
JP2013008121A (ja) | データベースアクセス管理システム、方法、及びプログラム | |
CN113612740A (zh) | 权限管理方法、装置、计算机可读介质及电子设备 | |
CN110889130A (zh) | 基于数据库的细粒度数据加密方法、***及装置 | |
CN107040520A (zh) | 一种云计算数据共享***及方法 | |
CN109660563A (zh) | 一种应用访问控制方法、***和介质 | |
CN109271807A (zh) | 数据库的数据安全处理方法及*** | |
CN112287326A (zh) | 安全认证的方法及装置、电子设备、存储介质 | |
CN108093031A (zh) | 一种页面数据处理方法及装置 | |
CN105279453A (zh) | 一种支持分离存储管理的文件分区隐藏***及其方法 | |
CN114329299A (zh) | 车辆网联服务管理网站架构 | |
JP6729013B2 (ja) | 情報処理システム、情報処理装置及びプログラム | |
CN117375986A (zh) | 一种应用访问方法、装置、服务器 | |
CN107276966B (zh) | 一种分布式***的控制方法及登录*** | |
CN107395577A (zh) | 一种大型电力企业薪酬安全*** | |
CN110427770A (zh) | 一种支持业务安全标记的数据库访问控制方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |