首页 / 专利库 / 电脑编程 / 算法 / 防止数据泄露的方法、服务器及存储介质

防止数据泄露的方法、服务器及存储介质

阅读:43发布:2021-06-08

专利汇可以提供防止数据泄露的方法、服务器及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 涉及 数据处理 ,揭露了一种防止数据泄露的方法,该方法包括:接收第一用户发出的数据 访问 请求 ;从预设存储路径中读取对应的待访问数据,确定所述待访问数据的数据类型及对应的保密级别;根据所述用户身份标识确定第一用户对所述待访问数据的访问权限;当所述待访问数据中存在所述可访问的数据类型对应的数据时,确定所述待访问数据中保密级别与所述权限等级匹配的待解密字段,对所述待解密字段进行解密,并将解密后的待访问数据反馈给第一用户。本发明还揭露了一种 服务器 及计算机可读存储介质。利用本发明,可降低数据 泄漏 的 风 险、提高数据的安全性。,下面是防止数据泄露的方法、服务器及存储介质专利的具体信息内容。

1.一种防止数据泄露的方法,应用于服务器,其特征在于,所述方法包括:
S1、接收第一用户发出的数据访问请求,数据访问请求包括:用户身份标识、待访问数据标识;
S2、根据所述待访问数据标识从预设存储路径中读取对应的待访问数据,确定所述待访问数据的数据类型及对应的保密级别;
S3、根据所述用户身份标识确定第一用户对所述待访问数据的访问权限,包括:可访问的数据类型及可访问的数据类型对应的权限等级;
S4、当所述待访问数据中存在所述可访问的数据类型对应的数据时,确定所述待访问数据中保密级别与所述权限等级匹配的待解密字段,基于预设的解密算法对所述待解密字段进行解密,得到解密后的待访问数据;及
S5、将所述解密后的待访问数据反馈给第一用户。
2.根据权利要求1所述的防止数据泄露的方法,其特征在于,所述“根据所述用户身份标识确定第一用户对所述待访问数据的访问权限”,包括:
预先对公司的组织架构进行解析,分析得到组织架构中各个不同色之间的优先级关系,根据所述用户身份信息确定第一用户的角色优先级;及
基于预设的权限控制组合规则中不同优先级角色对不同类型数据的访问权限,确定第一用户的角色优先级对应的数据访问权限,数据访问权限包括:可访问的数据类型及各数据类型对应的权限等级。
3.根据权利要求1所述的防止数据泄露的方法,其特征在于,所述“确定所述待访问数据中保密级别与所述权限等级匹配的待解密字段”,包括:
从所述待访问数据中筛选出与第一用户可访问的数据类型对应的数据,并将筛选出的数据中保密级别低于第一用户可访问的数据类型对应的权限等级的数据作为匹配出的待解密字段。
4.根据权利要求3所述的防止数据泄露的方法,其特征在于,若所述待解密字段为多数字位的数值型数据,所述解密算法包括:
根据预先确定的解密数字位确定规则,确定第一预设位数的待解密数据段,及除所述待解密数据段以外的非解密数据段;
使用预先定义的解密密码学算法和密钥,对确定的非加密数据段进行运算处理生成运算值;
采用预先确定的解密混合运算算法对所述待解密数据段和生成的运算值进行解密混合运算,得到第一预设位数的混合解密数据段Nm;及
在所述多数字位的数值型数据中将所述待解密数据段替换为所述混合解密数据段,生成解密后的多数字位数值型数据。
5.根据权利要求1至4中任意一项所述的防止数据泄露的方法,其特征在于,在步骤S1之前,该方法还包括:
接收第二用户发出的数据录入请求,包括:待录入数据、待录入数据的数据类型及对应的保密级别;
从所述待录入数据中识别出预设类型待加密数据,并根据预先确定的加密字段确定规则,确定待加密数据中的待加密字段及非加密字段,并根据预设的加密算法对所述待加密字段进行加密,生成加密数据;
在所述待录入数据中将所述待加密数据中的待加密字段替换为加密数据,得到加密后的待录入数据,并将得到的加密后的待录入数据保存至预设存储路径中。
6.一种服务器,其特征在于,该服务器包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的防止数据泄露的程序,所述防止数据泄露的程序被所述处理器执行时,可实现如下步骤:
A1、接收第一用户发出的数据访问请求,数据访问请求包括:用户身份标识、待访问数据标识;
A2、根据所述待访问数据标识从预设存储路径中读取对应的待访问数据,确定所述待访问数据的数据类型及对应的保密级别;
A3、根据所述用户身份标识确定第一用户对所述待访问数据的访问权限,包括:可访问的数据类型及可访问的数据类型对应的权限等级;
A4、当所述待访问数据中存在所述可访问的数据类型对应的数据时,确定所述待访问数据中保密级别与所述权限等级匹配的待解密字段,基于预设的解密算法对所述待解密字段进行解密,得到解密后的待访问数据;及
A5、将所述解密后的待访问数据反馈给第一用户。
7.根据权利要求6所述的服务器,其特征在于,所述“根据所述用户身份标识确定第一用户对所述待访问数据的访问权限”,包括:
预先对公司的组织架构进行解析,分析得到组织架构中各个不同角色之间的优先级关系,根据所述用户身份信息确定第一用户的角色优先级;及
基于预设的权限控制组合规则中不同优先级角色对不同类型数据的访问权限,确定第一用户的角色优先级对应的数据访问权限,数据访问权限包括:可访问的数据类型及各数据类型对应的权限等级。
8.根据权利要求6所述的服务器,其特征在于,所述“确定所述待访问数据中保密级别与所述权限等级匹配的待解密字段”,包括:
从所述待访问数据中筛选出与第一用户可访问的数据类型对应的数据,并将筛选出的数据中保密级别低于第一用户可访问的数据类型对应的权限等级的数据作为匹配出的待解密字段。
9.根据权利要求6至8中任意一项所述的服务器,其特征在于,在步骤A1之前,所述防止数据泄露的程序被所述处理器执行时,还实现以下步骤:
接收第二用户发出的数据录入请求,包括:待录入数据、待录入数据的数据类型及对应的保密级别、用户身份标识;
从所述待录入数据中识别出预设类型待加密数据,并根据预先确定的加密字段确定规则,确定待加密数据中的待加密字段及非加密字段,并根据预设的加密算法对所述待加密字段进行加密,生成加密数据;
在所述待录入数据中将所述待加密数据中的待加密字段替换为加密数据,得到加密后的待录入数据,并将得到的加密后的待录入数据保存至预设存储路径中。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括防止数据泄露的程序,所述防止数据泄露的程序被处理器执行时,可实现如权利要求1至5中任意一项所述的防止数据泄露的方法的步骤。

说明书全文

防止数据泄露的方法、服务器及存储介质

技术领域

[0001] 本发明涉及数据处理技术领域,尤其涉及一种防止数据泄露的方法、服务器及计算机可读存储介质。

背景技术

[0002] 传统的IT系统对数据库采用直接访问的方式,将数据读取出来在用户界面上展示,对某些高密级的敏感数据,一般采取加密后写入数据库,若用户具有访问权限则解密后读取到用户界面的方案。
[0003] 然而,上述方案存在以下问题:
[0004] 一:需要基于用户色配置数据访问权限,需要对每个用户或数据进行定制化的权限配置,不通用,且会带来配置成本高的问题;
[0005] 二:现有的数据加密的手段通常是使用掩码等方法,屏蔽掉部分内容,或者直接使用对称加密或非对称加密算法,对待加密字段进行加密,或者通过建立数据影射表,查表变换原有数据,或者通过生成的随机数对用户隐私数据进行置换处理。其包括如下技术缺陷:1)破坏了相应字段的可用性,使得数字序列本身不完整;2)需要对应用系统、数据库或业务流程做出相应改动,往往由于实施难度大、影响业务操作、计算量大、数据库表存储扩展困难等原因导致难以落地;3)解密困难;4)安全性不强,保密性依赖于映射表的保密性,缺乏坚实的现代密码学基础;5)采用随机数置换,生成的随机数通常需要服从特定的分布函数,不仅计算量较大,而且通常无法轻易的进行解密,给数据的后续安全应用构成障碍。

发明内容

[0006] 鉴于以上内容,本发明提供一种防止数据泄露的方法、服务器及计算机可读存储介质,其主要目的在于,降低数据泄漏险、提高数据的安全性。
[0007] 为实现上述目的,本发明提供一种防止数据泄露的方法,所述方法包括:
[0008] S1、接收第一用户发出的数据访问请求,数据访问请求包括:用户身份标识、待访问数据标识;
[0009] S2、根据所述待访问数据标识从预设存储路径中读取对应的待访问数据,确定所述待访问数据的数据类型及对应的保密级别;
[0010] S3、根据所述用户身份标识确定第一用户对所述待访问数据的访问权限,包括:可访问的数据类型及可访问的数据类型对应的权限等级;
[0011] S4、当所述待访问数据中存在所述可访问的数据类型对应的数据时,确定所述待访问数据中保密级别与所述权限等级匹配的待解密字段,基于预设的解密算法对所述待解密字段进行解密,得到解密后的待访问数据;及
[0012] S5、将所述解密后的待访问数据反馈给第一用户。
[0013] 优选地,所述“根据所述用户身份标识确定第一用户对所述待访问数据的访问权限”,包括:
[0014] 预先对公司的组织架构进行解析,分析得到组织架构中各个不同角色之间的优先级关系,根据所述用户身份信息确定第一用户的角色优先级;及
[0015] 基于预设的权限控制组合规则中不同优先级角色对不同类型数据的访问权限,确定第一用户的角色优先级对应的数据访问权限,数据访问权限包括:可访问的数据类型及各数据类型对应的权限等级。
[0016] 优选地,所述“确定所述待访问数据中保密级别与所述权限等级匹配的待解密字段”,包括:
[0017] 从所述待访问数据中筛选出与第一用户可访问的数据类型对应的数据,并将筛选出的数据中保密级别低于第一用户可访问的数据类型对应的权限等级的数据作为匹配出的待解密字段。
[0018] 优选地,若所述待解密字段为多数字位的数值型数据,所述解密算法包括:
[0019] 根据预先确定的解密数字位确定规则,确定第一预设位数的待解密数据段,及除所述待解密数据段以外的非解密数据段;
[0020] 使用预先定义的解密密码学算法和密钥,对确定的非加密数据段进行运算处理生成运算值;
[0021] 采用预先确定的解密混合运算算法对所述待解密数据段和生成的运算值进行解密混合运算,得到第一预设位数的混合解密数据段Nm;及
[0022] 在所述多数字位的数值型数据中将所述待解密数据段替换为所述混合解密数据段,生成解密后的多数字位数值型数据。
[0023] 优选地,在步骤S1之前,该方法还包括:
[0024] 接收第二用户发出的数据录入请求,包括:待录入数据、待录入数据的数据类型及对应的保密级别、用户身份标识;
[0025] 从所述待录入数据中识别出预设类型待加密数据,并根据预先确定的加密字段确定规则,确定待加密数据中的待加密字段及非加密字段,并根据预设的加密算法对所述待加密字段进行加密,生成加密数据;
[0026] 在所述待录入数据中将所述待加密数据中的待加密字段替换为加密数据,得到加密后的待录入数据,并将得到的加密后的待录入数据保存至预设存储路径中。
[0027] 此外,本发明还提供一种服务器,该服务器包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的防止数据泄露的程序,所述防止数据泄露的程序被所述处理器执行时,可实现如上所述防止数据泄露的方法中的任意步骤。
[0028] 此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括防止数据泄露的程序,所述防止数据泄露的程序被处理器执行时,可实现如上所述防止数据泄露的方法中的任意步骤。
[0029] 本发明提出的防止数据泄露的方法、服务器及计算机可读存储介质,原始保存的数据是加密的数据,有效防止数据泄露;根据解析组织架构信息确定用户角色,进而配置数据访问权限,实现对数据权限的高效控制,降低了配置时间成本;即使保存的数据被恶意外泄,也需要数据访问者有解密权限方能查看数据,有效保证数据的安全;加密过程不涉及到复杂的函数运算,计算量小,而且对保存的数据必须根据预设的加解密算法实现解密,使得授权才能解密成为现实。附图说明
[0030] 图1为本发明防止数据泄露的方法较佳实施例流程图
[0031] 图2为本发明服务器较佳实施例的示意图;
[0032] 图3为图2中防止数据泄露的程序的程序模示意图。
[0033] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0034] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0035] 本发明提供一种防止数据泄露的方法。参照图1所示,为本发明防止数据泄露的方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
[0036] 在本实施例中,所述防止数据泄露的方法包括步骤S1-S5。
[0037] 步骤S1,接收第一用户发出的数据访问请求,数据访问请求包括:用户身份标识、待访问数据标识。
[0038] 其中,上述第一用户为数据访问者,第一用户通过客户端发出数据访问请求,上述数据访问请求可以是下载请求或者在线查看请求等。
[0039] 上述用户身份标识可以包括员工UID、用户的生物学特征或身份证号等中的至少一项。用户身份标识用于在后续步骤中确定数据访问者可访问的数据类型及对应的访问权限级别。
[0040] 步骤S2,根据所述待访问数据标识从预设存储路径中读取对应的待访问数据,确定所述待访问数据的数据类型及对应的保密级别。
[0041] 需要说明的是,待访问数据可能包括一个或多个数据类型,当待访问数据包括多个数据类型时,不同数据类型的数据的保密级别可能相同,也可能不同。例如,待访问数据的数据类型为薪资类数据,包括:普通员工薪资T1、中等管理层薪资T2、高级管理层薪资T3,其对应的保密级别分别为三级、二级、一级。需要说明的是,待访问数据的数据类型及保密级别均为数据录入者在录入数据过程中预先设置并保存好的。
[0042] 步骤S3,根据所述用户身份标识确定第一用户对所述待访问数据的访问权限,包括:可访问的数据类型及可访问的数据类型对应的权限等级。
[0043] 其中,第一用户对所述待访问数据的访问权限包括:可访问的数据类型及该数据类型对应的权限等级,第一用户对不同数据类型的待访问数据的访问权限等级可能不同,也可能不同。
[0044] 其中,所述“根据所述用户身份标识确定第一用户对所述待访问数据的访问权限”,包括:
[0045] 预先对公司的组织架构进行解析,分析得到组织架构中各个不同角色之间的优先级关系,根据所述用户身份信息确定第一用户的角色优先级;
[0046] 基于预设的权限控制组合规则中不同优先级角色对不同类型数据的访问权限,确定第一用户的角色优先级对应的数据访问权限,数据访问权限包括:可访问的数据类型及各数据类型对应的权限等级。
[0047] 例如,公司或者部的组织架构可包括公司、子公司、部门、组,公司的优先级最高、组的优先级最低,第一用户的角色信息指的是第一用户对应的组织架构中的角色信息,例如,第一用户为A公司B部门C组的主管角色人员,这是第一用户的数据访问请求对应的角色信息,或者,第一用户为A公司B部门C组的职员角色人员,这是另一种角色信息。
[0048] 在本实施例中,第一用户的角色信息可以是具体到某个角色人员,也可以是某个组的成员,某个部门的成员,某个分公司的成员等等。例如,假设组织架构中的角色员工P0、P1、P2分别为高级、中级、初级,P2为P1下属,P1为P0下属。将组织架构关系数据结构化更新至权限控制服务S1,并配置对应的权限控制组合规则,例如,上级能查询下级的数据等,高级职能看到的数据详细程度不同等。
[0049] 通过以上步骤能实现通过组织架构关系控制数据权限的目的。
[0050] 步骤S4,当所述待访问数据中存在所述可访问的数据类型对应的数据时,确定所述待访问数据中保密级别与所述权限等级匹配的待解密字段,基于预设的解密算法对所述待解密字段进行解密,得到解密后的待访问数据。
[0051] 可以理解的是,根据所述用户身份标识确定第一用户对所述待访问数据的访问权限可能出现以下几种情况:
[0052] 数据访问者不具备访问待访问数据的数据类型的权限;
[0053] 数据访问者具备访问待访问数据的数据类型的权限,但权限等级可能为:一级、二级、三级、四级、…、等。
[0054] 在本实施例中,所述“确定所述待访问数据中保密级别与所述权限等级匹配的待解密字段”,包括:
[0055] 从所述待访问数据中筛选出与第一用户可访问的数据类型对应的数据,并将筛选出的数据中保密级别低于第一用户可访问的数据类型对应的权限等级的数据作为匹配出的待解密字段。
[0056] 例如,若当前数据访问者对应的薪资类数据的访问权限等级为二级,那么与权限等级匹配的待解密字段则为保密级别低于或等于二级的数据普通员工薪资T1、中等管理层薪资T2;若当前数据访问者对应的薪资类数据的访问权限等级为三级,那么与权限等级匹配的待解密字段则为保密级别为三级的数据普通员工薪资T1;若当前数据访问者对应的薪资类数据的访问权限等级为一级,那么与权限等级匹配的待解密字段则为保密级别低于或等于一级的数据普通员工薪资T1、中等管理层薪资T2、高级管理层薪资T3。
[0057] 步骤S5,将所述解密后的待访问数据反馈给第一用户。
[0058] 上述解密后的待访问数据为部分解密或者全解密的数据。
[0059] 进一步地,还可能出现以下两种情况:所述待访问数据中不存在所述可访问的数据类型对应的数据时,或者,存在所述可访问的数据类型对应的数据,但不存在保密级别与所述权限等级匹配的待解密字段。
[0060] 当存在上述两种情况时,生成预警信息并反馈给第一用户,例如,您不具备访问权限。或者,将待访问数据以完全加密的形式反馈给第一用户。
[0061] 在其他实施例中,若第一用户多次尝试访问其不具备访问权限的数据时,生成预警信息反馈至预设终端,例如,向数据安全部门或者数据管理者发送内容为“用户ID为XX的XX正尝试访问标识位XX的数据,请知悉”的预警信息。
[0062] 上述实施例提出的防止数据泄露的方法,通过匹配待访问数据的保密级别与数据访问者的数据访问权限,对与数据访问权限对应的部分加密字段中的待解密字段进行解密,将待访问数据以部分解密或者全解密的形式反馈给数据访问者,提高用户使用体验;同时,通过对可访问数据进行匹配筛选,提高了数据的保密性及安全性。
[0063] 在一实施例中,若所述待解密字段为多数字位的数值型数据(所述数值型数据指的是全部由0-9数字组成的数据,例如,手机号码、证件号码等),本实施例中的所述解密算法包括:a1-a4。
[0064] a1、根据预先确定的解密数字位确定规则,确定第一预设位数的待解密数据段,及除所述待解密数据段以外的非解密数据段。
[0065] 例如,上述第一预设位数的待解密数据段为待解密手机号码的中间4位“2426”,记为E_Nm,上述非解密数据段为待解密手机号码最左侧3位数字,记为Nl,以及最右侧4位数字,记为Nr。若非解密号码段设置了加密标志位,则计算时先恢复加密标志位,再取非解密号码段。
[0066] a2、使用预先定义的解密密码学算法和密钥,对确定的非加密数据段进行运算处理生成运算值。
[0067] 例如,上述预先定义的密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式可以表示为:Hash=Digest(Nl+Nr+K),其中,K代表该待解密多数字位的数值型数据对应的密钥,需要说明的是,针对所有该预设类型的待解密多数字位的数值型数据,对应的密钥可以是统一的,Nl代表该待解密多数字位数据最左侧的第二预设位数的数据,Nr代表待解密多数字位数据最右侧的第三预设位数的数据,Hash代表哈希值;该二进制数换算算法为将二进制的Hash值换算成十进制的运算值的算法,该二进制数换算算法的运算公式可以表示为:Num=CalcNum(Hash)。上述经过运算处理生成的运算值可以为十进制的数字9。
[0068] a3、采用预先确定的解密混合运算算法对所述待解密数据段和生成的运算值进行解密混合运算,得到第一预设位数的混合解密数据段Nm。
[0069] 例如,该解密混合运算算法可以为第一预设位数的待解密数据段减去a2步所得的运算值,对所得的差再作取模运算,“即mod运算”。该混合运算算法的公式可以表示为:Nm=(E_Nm-Num)mod 10n,其中,E_Nm代表所述待解密数据段,Num代表所述运算值,n等于所述待加密数据段的号码位数;取模运算定义如下:当a=bq+r,q是整数,并使q达到最大,此时a mod b等于r,r为非负数。上述第一预设位数的混合解密数据段Nm可以举例为(2426-9)mod 104=2417。
[0070] a4、在所述多数字位的数值型数据中将所述待解密数据段替换为所述混合解密数据段,生成解密后的多数字位数值型数据。
[0071] 上述解密后的多数字位数据即为“13424174205”。
[0072] 在其他实施例中,所述预设的解密算法还可以包括:与预设的加密算法对应的解密算法,例如,破解难度高、资源消耗低、加解密效率高的对称加密算法,如AES加密算法。
[0073] 优选地,所述预先确定的解密数字位确定规则包括:
[0074] 将所述多数字位的数值型数据(例如,手机号码“13424264205”)的最左侧的第二预设位数数据(例如,最左侧的3位数字)作为前段数据Nl,将所述待解密多数字位数据的最右侧的第三预设位数数据(例如,最右侧的4位数字)作为后段数据Nr,所述前段数据Nl和后段数据Nr即为非解密数据段,其中,所述第二预设位数与第三预设位数的和小于所述多数字位数据的位数;
[0075] 将所述前段数据和后段数据从所述待解密多数字位数据中去除后,剩余的数据段E_Nm即为所述待解密数据段(例如,“2426”)。
[0076] 在其他实施例中,在步骤S1之前,所述防止数据泄露的方法还包括:步骤S01-S03。
[0077] 步骤S01,接收第二用户发出的数据录入请求,包括:待录入数据、待录入数据的数据类型及对应的保密级别。
[0078] 其中,第二用户为数据录入者,第二用户通过客户端发出数据录入请求。
[0079] 步骤S02,从所述待录入数据中识别出预设类型待加密数据,并根据预先确定的加密字段确定规则,确定待加密数据中的待加密字段及非加密字段,并根据预设的加密算法对所述待加密字段进行加密,生成加密数据。
[0080] 其中,待加密数据的数据类型包括:薪资表中的薪资数据,公司战略/规划中的数值型数据,通讯录中的电话号码、…、等。预设类型待加密数据的保密级别包括:一级、二级、三级等。同一类型的不同待加密数据可以对应不同的保密级别。以薪资表中薪资数据为例,薪资数据包括:普通员工薪资T1、中等管理层薪资T2、高级管理层薪资T3,T1对应的保密级别为三级,T2对应的保密级别为二级,T3对应的保密级别为一级。
[0081] 步骤S03,在所述待录入数据中将所述待加密数据中的待加密字段替换为加密数据,得到加密后的待录入数据,并将得到的加密后的待录入数据保存至预设存储路径中(例如,数据库)。
[0082] 在其他实施例中,数据录入清求中还包括用户身份标识,第二用户后续还可对待录入数据的保密级别进行调整,接收到该指令时,将用户身份标识与初录入该数据时的用户身份标识进行匹配,若匹配成功,则响应调整指令,否则,拒绝该指令。
[0083] 在一实施例中,为了不破坏相应字段的可用性,使得待加密数据本身足够完整,可选地,若所述待加密数据为多数据位的数值型数据(数据位数大于2),所述预先确定的加密字段确定规则包括:
[0084] 将所述高密级字段(例如,手机号码“13424174205”)的最左侧的第二预设位数数据段(例如,最左侧的3位数字)作为前段数据Nl,将所述待加密的数值型数据的最右侧的第三预设位数数据(例如,最右侧的4位数字)作为后段数据Nr,所述前段数据Nl和后段数据Nr即为非加密字段,其中,所述第二预设位数与第三预设位数的和小于所述待加密的数值型数据的位数;
[0085] 将所述前段数据和后段数据从所述待加密数据中去除后,剩余的数据段Nm即为所述待加密字段(例如,“2417”)。
[0086] 可选地,若所述待加密的数值型数据的数据位数等于2,所述预先确定的加密字段确定规则包括:
[0087] 将所述待加密的数值型数据(例如,年龄)的最左侧的1位数据(例如,最左侧的1位数字)作为前段数据Nl,所述前段数据Nl即为非加密字段;
[0088] 将所述前段数据从所述高密级字段中去除后,剩余的数据段Nm即为所述待加密字段。
[0089] 本实施例中的所述预设的加密算法包括:
[0090] b1.使用预先定义的加密密码学算法和密钥,对确定的非加密字段进行运算处理生成运算值。
[0091] 例如,上述预先定义的加密密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式可以表示为:Hash=Digest(Nl+Nr+K),其中,K代表密钥,Nl代表待加密的数值型数据最左侧的第二预设位数的数据段,Nr代表待加密的数值型数据最右侧的第三预设位数的数据段,Hash代表哈希值;该二进制数换算算法为将二进制的Hash值换算成十进制的运算值的算法,该二进制数换算算法的运算公式可以表示为:Num=CalcNum(Hash)。上述经过运算处理生成的运算值可以为十进制的数字9。
[0092] b2.采用预先确定的加密混合运算算法对所述待加密字段和生成的运算值进行加密混合运算,得到第一预设位数的混合加密字段E_Nm。
[0093] 例如,该加密混合运算算法可以为第一预设位数的待加密字段加上b1步所得的运算值,对所得的和再作取模运算,“即mod运算”。该混合运算算法的公式可以表示为:E_Nm=n(Nm+Num)mod 10 ,其中,Nm代表所述待加密字段,Num代表所述运算值,n等于所述待加密字段的数据位数;取模运算定义如下:当a=bq+r,q是整数,并使q达到最大,此时a mod b等于r,r为非负数。上述第一预设位数的混合加密字段E_Nm可以举例为(2417+9)mod 104=
2426。
[0094] 在其他实施例中,预设加密算法还可以包括:破解难度高、资源消耗低、加解密效率高的对称加密算法,如AES加密算法。
[0095] 上述实施例提出的防止数据泄露的方法,原始保存的数据是加密的数据,有效防止数据泄露;根据解析组织架构信息确定用户角色,进而配置数据访问权限,实现对数据权限的高效控制,降低了配置时间成本;即使保存的数据被恶意外泄,也需要数据访问者有解密权限方能查看数据,有效保证数据的安全;加密过程不涉及到复杂的函数运算,计算量小,而且对保存的数据必须根据预设的加解密算法实现解密,使得授权才能解密成为现实。
[0096] 参照图2所示,为本发明服务器1较佳实施例的示意图。
[0097] 在本实施例中,服务器1可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器。
[0098] 该服务器1包括存储器11、处理器12,及网络接口13。
[0099] 其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是所述服务器1的内部存储单元,例如该服务器1的硬盘。存储器11在另一些实施例中也可以是所述服务器1的外部存储设备,例如该服务器1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括该服务器1的内部存储单元也包括外部存储设备。
[0100] 存储器11不仅可以用于存储安装于该服务器1的应用软件及各类数据,例如防止数据泄露的程序10等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0101] 处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器微控制器微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如防止数据泄露的程序10等。
[0102] 网络接口13可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该服务器1与其他电子设备之间建立通信连接。例如,第一用户及第二用户使用的客户端(图中未标注)。
[0103] 图2仅示出了具有组件11-13的服务器1,本领域技术人员可以理解的是,图2示出的结构并不构成对服务器1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0104] 可选地,该服务器1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。
[0105] 可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以称为显示屏或显示单元,用于显示在服务器1中处理的信息以及用于显示可视化的用户界面。
[0106] 可选地,在其他的实施例中,防止数据泄露的程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行,以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。例如,参照图3所示,为图2中防止数据泄露的程序10较佳实施例的模块示意图,该实施例中,防止数据泄露的程序10可以仅包括模块110-150。
[0107] 第一接收模块110,用于接收第一用户发出的数据访问请求,数据访问请求包括:用户身份标识、待访问数据标识。
[0108] 其中,上述第一用户为数据访问者,第一用户通过客户端发出数据访问请求,上述数据访问请求可以是下载请求或者在线查看请求等。
[0109] 上述用户身份标识可以包括员工UID、用户的生物学特征或身份证号等中的至少一项。用户身份标识用于在后续步骤中确定数据访问者可访问的数据类型及对应的访问权限级别。
[0110] 读取模块120,用于根据所述待访问数据标识从预设存储路径中读取对应的待访问数据,确定所述待访问数据的数据类型及对应的保密级别。
[0111] 需要说明的是,待访问数据可能包括一个或多个数据类型,当待访问数据包括多个数据类型时,不同数据类型的数据的保密级别可能相同,也可能不同。例如,待访问数据的数据类型为薪资类数据,包括:普通员工薪资T1、中等管理层薪资T2、高级管理层薪资T3,其对应的保密级别分别为三级、二级、一级。需要说明的是,待访问数据的数据类型及保密级别均为数据录入者在录入数据过程中预先设置并保存好的。
[0112] 权限分析模块130,用于根据所述用户身份标识确定第一用户对所述待访问数据的访问权限,包括:可访问的数据类型及可访问的数据类型对应的权限等级。
[0113] 其中,第一用户对所述待访问数据的访问权限包括:可访问的数据类型及该数据类型对应的权限等级,第一用户对不同数据类型的待访问数据的访问权限等级可能不同,也可能不同。
[0114] 其中,所述“根据所述用户身份标识确定第一用户对所述待访问数据的访问权限”,包括:
[0115] 预先对公司的组织架构进行解析,分析得到组织架构中各个不同角色之间的优先级关系,根据所述用户身份信息确定第一用户的角色优先级;
[0116] 基于预设的权限控制组合规则中不同优先级角色对不同类型数据的访问权限,确定第一用户的角色优先级对应的数据访问权限,数据访问权限包括:可访问的数据类型及各数据类型对应的权限等级。
[0117] 例如,公司或者部门的组织架构可包括公司、子公司、部门、组,公司的优先级最高、组的优先级最低,第一用户的角色信息指的是第一用户对应的组织架构中的角色信息,例如,第一用户为A公司B部门C组的主管角色人员,这是第一用户的数据访问请求对应的角色信息,或者,第一用户为A公司B部门C组的职员角色人员,这是另一种角色信息。
[0118] 在本实施例中,第一用户的角色信息可以是具体到某个角色人员,也可以是某个组的成员,某个部门的成员,某个分公司的成员等等。例如,假设组织架构中的角色员工P0、P1、P2分别为高级、中级、初级,P2为P1下属,P1为P0下属。将组织架构关系数据结构化更新至权限控制服务S1,并配置对应的权限控制组合规则,例如,上级能查询下级的数据等,高级职能看到的数据详细程度不同等。
[0119] 通过以上步骤能实现通过组织架构关系控制数据权限的目的。
[0120] 解密模块140,用于当所述待访问数据中存在所述可访问的数据类型对应的数据时,确定所述待访问数据中保密级别与所述权限等级匹配的待解密字段,基于预设的解密算法对所述待解密字段进行解密,得到解密后的待访问数据。
[0121] 可以理解的是,根据所述用户身份标识确定第一用户对所述待访问数据的访问权限可能出现以下几种情况:
[0122] 数据访问者不具备访问待访问数据的数据类型的权限;
[0123] 数据访问者具备访问待访问数据的数据类型的权限,但权限等级可能为:一级、二级、三级、四级、…、等。
[0124] 在本实施例中,所述“确定所述待访问数据中保密级别与所述权限等级匹配的待解密字段”,包括:
[0125] 从所述待访问数据中筛选出与第一用户可访问的数据类型对应的数据,并将筛选出的数据中保密级别低于第一用户可访问的数据类型对应的权限等级的数据作为匹配出的待解密字段。
[0126] 例如,若当前数据访问者对应的薪资类数据的访问权限等级为二级,那么与权限等级匹配的待解密字段则为保密级别低于或等于二级的数据普通员工薪资T1、中等管理层薪资T2;若当前数据访问者对应的薪资类数据的访问权限等级为三级,那么与权限等级匹配的待解密字段则为保密级别为三级的数据普通员工薪资T1;若当前数据访问者对应的薪资类数据的访问权限等级为一级,那么与权限等级匹配的待解密字段则为保密级别低于或等于一级的数据普通员工薪资T1、中等管理层薪资T2、高级管理层薪资T3。
[0127] 反馈模块150,用于将所述解密后的待访问数据反馈给第一用户。
[0128] 上述解密后的待访问数据为部分解密或者全解密的数据。
[0129] 进一步地,还可能出现以下两种情况:所述待访问数据中不存在所述可访问的数据类型对应的数据时,或者,存在所述可访问的数据类型对应的数据,但不存在保密级别与所述权限等级匹配的待解密字段。
[0130] 当存在上述两种情况时,所述反馈模块150还用于生成预警信息并反馈给第一用户,例如,您不具备访问权限。或者,将待访问数据以完全加密的形式反馈给第一用户。
[0131] 在其他实施例中,若第一用户多次尝试访问其不具备访问权限的数据时,反馈模块150还用于生成预警信息反馈至预设终端,例如,向数据安全部门或者数据管理者发送内容为“用户ID为XX的XX正尝试访问标识位XX的数据,请知悉”的预警信息。
[0132] 在一实施例中,若所述待解密字段为多数字位的数值型数据(所述数值型数据指的是全部由0-9数字组成的数据,例如,手机号码、证件号码等),本实施例中的所述解密算法包括:a1-a4。
[0133] a1、根据预先确定的解密数字位确定规则,确定第一预设位数的待解密数据段,及除所述待解密数据段以外的非解密数据段。
[0134] 例如,上述第一预设位数的待解密数据段为待解密手机号码的中间4位“2426”,记为E_Nm,上述非解密数据段为待解密手机号码最左侧3位数字,记为Nl,以及最右侧4位数字,记为Nr。若非解密号码段设置了加密标志位,则计算时先恢复加密标志位,再取非解密号码段。
[0135] a2、使用预先定义的解密密码学算法和密钥,对确定的非加密数据段进行运算处理生成运算值。
[0136] 例如,上述预先定义的密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式可以表示为:Hash=Digest(Nl+Nr+K),其中,K代表该待解密多数字位的数值型数据对应的密钥,需要说明的是,针对所有该预设类型的待解密多数字位的数值型数据,对应的密钥可以是统一的,Nl代表该待解密多数字位数据最左侧的第二预设位数的数据,Nr代表待解密多数字位数据最右侧的第三预设位数的数据,Hash代表哈希值;该二进制数换算算法为将二进制的Hash值换算成十进制的运算值的算法,该二进制数换算算法的运算公式可以表示为:Num=CalcNum(Hash)。上述经过运算处理生成的运算值可以为十进制的数字9。
[0137] a3、采用预先确定的解密混合运算算法对所述待解密数据段和生成的运算值进行解密混合运算,得到第一预设位数的混合解密数据段Nm。
[0138] 例如,该解密混合运算算法可以为第一预设位数的待解密数据段减去a2步所得的运算值,对所得的差再作取模运算,“即mod运算”。该混合运算算法的公式可以表示为:Nm=(E_Nm-Num)mod 10n,其中,E_Nm代表所述待解密数据段,Num代表所述运算值,n等于所述待加密数据段的号码位数;取模运算定义如下:当a=bq+r,q是整数,并使q达到最大,此时a mod b等于r,r为非负数。上述第一预设位数的混合解密数据段Nm可以举例为(2426-9)mod 104=2417。
[0139] a4、在所述多数字位的数值型数据中将所述待解密数据段替换为所述混合解密数据段,生成解密后的多数字位数值型数据。
[0140] 上述解密后的多数字位数据即为“13424174205”。
[0141] 在其他实施例中,所述预设的解密算法还可以包括:与预设的加密算法对应的解密算法,例如,破解难度高、资源消耗低、加解密效率高的对称加密算法,如AES加密算法。
[0142] 优选地,所述预先确定的解密数字位确定规则包括:
[0143] 将所述多数字位的数值型数据(例如,手机号码“13424264205”)的最左侧的第二预设位数数据(例如,最左侧的3位数字)作为前段数据Nl,将所述待解密多数字位数据的最右侧的第三预设位数数据(例如,最右侧的4位数字)作为后段数据Nr,所述前段数据Nl和后段数据Nr即为非解密数据段,其中,所述第二预设位数与第三预设位数的和小于所述多数字位数据的位数;
[0144] 将所述前段数据和后段数据从所述待解密多数字位数据中去除后,剩余的数据段E_Nm即为所述待解密数据段(例如,“2426”)。
[0145] 在其他实施例中,所述防止数据泄露的程序10还包括模块101-103。
[0146] 第二接收模块101,用于接收第二用户发出的数据录入请求,包括:待录入数据、待录入数据的数据类型及对应的保密级别。
[0147] 其中,第二用户为数据录入者,第二用户通过客户端发出数据录入请求。
[0148] 加密模块102,用于从所述待录入数据中识别出预设类型待加密数据,并根据预先确定的加密字段确定规则,确定待加密数据中的待加密字段及非加密字段,并根据预设的加密算法对所述待加密字段进行加密,生成加密数据。
[0149] 其中,待加密数据的数据类型包括:薪资表中的薪资数据,公司战略/规划中的数值型数据,通讯录中的电话号码、…、等。预设类型待加密数据的保密级别包括:一级、二级、三级等。同一类型的不同待加密数据可以对应不同的保密级别。以薪资表中薪资数据为例,薪资数据包括:普通员工薪资T1、中等管理层薪资T2、高级管理层薪资T3,T1对应的保密级别为三级,T2对应的保密级别为二级,T3对应的保密级别为一级。
[0150] 替换及存储模块103用于在所述待录入数据中将所述待加密数据中的待加密字段替换为加密数据,得到加密后的待录入数据,并将得到的加密后的待录入数据保存至预设存储路径中。
[0151] 在一实施例中,为了不破坏相应字段的可用性,使得待加密数据本身足够完整,可选地,若所述待加密数据为多数据位的数值型数据(数据位数大于2),所述预先确定的加密字段确定规则包括:
[0152] 将所述高密级字段(例如,手机号码“13424174205”)的最左侧的第二预设位数数据段(例如,最左侧的3位数字)作为前段数据Nl,将所述待加密的数值型数据的最右侧的第三预设位数数据(例如,最右侧的4位数字)作为后段数据Nr,所述前段数据Nl和后段数据Nr即为非加密字段,其中,所述第二预设位数与第三预设位数的和小于所述待加密的数值型数据的位数;
[0153] 将所述前段数据和后段数据从所述待加密数据中去除后,剩余的数据段Nm即为所述待加密字段(例如,“2417”)。
[0154] 可选地,若所述待加密的数值型数据的数据位数等于2,所述预先确定的加密字段确定规则包括:
[0155] 将所述待加密的数值型数据(例如,年龄)的最左侧的1位数据(例如,最左侧的1位数字)作为前段数据Nl,所述前段数据Nl即为非加密字段;
[0156] 将所述前段数据从所述高密级字段中去除后,剩余的数据段Nm即为所述待加密字段。
[0157] 本实施例中的所述预设的加密算法包括:
[0158] b1.使用预先定义的加密密码学算法和密钥,对确定的非加密字段进行运算处理生成运算值。
[0159] 例如,上述预先定义的加密密码学算法包括哈希算法和二进制数换算算法,该哈希算法的运算公式可以表示为:Hash=Digest(Nl+Nr+K),其中,K代表密钥,Nl代表待加密的数值型数据最左侧的第二预设位数的数据段,Nr代表待加密的数值型数据最右侧的第三预设位数的数据段,Hash代表哈希值;该二进制数换算算法为将二进制的Hash值换算成十进制的运算值的算法,该二进制数换算算法的运算公式可以表示为:Num=CalcNum(Hash)。上述经过运算处理生成的运算值可以为十进制的数字9。
[0160] b2.采用预先确定的加密混合运算算法对所述待加密字段和生成的运算值进行加密混合运算,得到第一预设位数的混合加密字段E_Nm。
[0161] 例如,该加密混合运算算法可以为第一预设位数的待加密字段加上b1步所得的运算值,对所得的和再作取模运算,“即mod运算”。该混合运算算法的公式可以表示为:E_Nm=(Nm+Num)mod 10n,其中,Nm代表所述待加密字段,Num代表所述运算值,n等于所述待加密字段的数据位数;取模运算定义如下:当a=bq+r,q是整数,并使q达到最大,此时a mod b等于4
r,r为非负数。上述第一预设位数的混合加密字段E_Nm可以举例为(2417+9)mod 10 =
2426。
[0162] 在其他实施例中,预设加密算法还可以包括:破解难度高、资源消耗低、加解密效率高的对称加密算法,如AES加密算法。
[0163] 此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括防止数据泄露的程序10,所述防止数据泄露的程序10被处理器执行时实现如下操作:
[0164] A1、接收第一用户发出的数据访问请求,数据访问请求包括:用户身份标识、待访问数据标识;
[0165] A2、根据所述待访问数据标识从预设存储路径中读取对应的待访问数据,确定所述待访问数据的数据类型及对应的保密级别;
[0166] A3、根据所述用户身份标识确定第一用户对所述待访问数据的访问权限,包括:可访问的数据类型及可访问的数据类型对应的权限等级;
[0167] A4、当所述待访问数据中存在所述可访问的数据类型对应的数据时,确定所述待访问数据中保密级别与所述权限等级匹配的待解密字段,基于预设的解密算法对所述待解密字段进行解密,得到解密后的待访问数据;及
[0168] A5、将所述解密后的待访问数据反馈给第一用户。
[0169] 本发明之计算机可读存储介质的具体实施方式与上述防止数据泄露的方法的具体实施方式大致相同,在此不再赘述。
[0170] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0171] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0172] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0173] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈