CN108154038B - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN108154038B CN108154038B CN201611108760.XA CN201611108760A CN108154038B CN 108154038 B CN108154038 B CN 108154038B CN 201611108760 A CN201611108760 A CN 201611108760A CN 108154038 B CN108154038 B CN 108154038B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- data table
- preset
- preset data
- 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
Images
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/602—Providing cryptographic facilities or services
-
- 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/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Abstract
本公开是关于一种数据处理方法及装置。该方法包括:在接收到获取一预设数据表的第一请求时,响应所述第一请求生成一所述预设数据表对应的密钥组;通过所述密钥组获取一密钥标识;其中,所述密钥标识与归属于所述密钥组的一密钥关联;根据所述密钥标识调用所述密钥组中与所述密钥标识关联的密钥以对所述预设数据表中的数据进行加密;将加密后的所述预设数据表存储至一指定数据存储系统。本公开可以提高用户数据表中敏感数据处理的安全性。
Description
技术领域
本公开涉及数据信息安全技术领域,尤其涉及一种数据处理方法及数据处理装置。
背景技术
随着互联网技术的深入发展,网上购物、网上商城等网络商业方式越来越流行,相应商业公司的数据库中存储着庞大的用户数据,而这些用户数据中涉及一些敏感数据,敏感数据是指其丢失、不当使用或未经授权被人接触或修改会不利于国家利益、公司利益或不利于个人依法享有的个人隐私权的所有数据,这些数据的管理不善将造成严重的安全故事。
目前,相关技术中线上数据库存储的数据落入仓库以及后续操作分两部分进行,即数据仓库和敏感集市两部分。其中,数据仓库存储全部数据,对于表中含有的敏感字段进行脱敏处理,比如将敏感字段进行置空操作,其余字段正常存储;敏感集市是公司搭建的独立数据集市,只存储含有敏感数据的数据表,对于含有敏感信息的数据表每天通过任务定时抽取到敏感数据集市,由数据库管理人员(DBA,Data Base Administrator) 负责对数据的抽取、加工,完成业务部门的数据需求。对于含有敏感数据的业务需求直接从敏感集市进行数据的加工处理,其他业务需求数据来源于数据仓库。也就是说,用户的敏感数据由DBA统一维护,搭建单独的数据集市,以明文的格式进行数据存储,同时以明文的格式进行数据的深层加工处理,最终以明文方式推送给业务部门使用。上述技术方案中,虽然建立了单独的数据集市处理敏感数据,但是数据是以明文格式进行存储和传输,安全性差,一旦敏感数据泄露,会造成潜在的难以估计的用户财产损失等问题。另外,由于DBA通常不是专业的技术人员,对于完成某些特殊的数据需求比较困难,例如编写一些数据处理函数,进行数据挖掘以及数据分析等需求。
因此,有必要提供一种新的技术方案改善上述方案中存在的一个或者多个问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种数据处理方法及数据处理装置,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的第一方面,提供一种数据处理方法,包括:
在接收到获取一预设数据表的第一请求时,响应所述第一请求生成一所述预设数据表对应的密钥组;
通过所述密钥组获取一密钥标识;其中,所述密钥标识与归属于所述密钥组的一密钥关联;
根据所述密钥标识调用所述密钥组中与所述密钥标识关联的密钥以对所述预设数据表中的数据进行加密;
将加密后的所述预设数据表存储至一指定数据存储系统。
本公开的一种示例性实施例中,所述根据所述密钥标识调用所述密钥组中与所述密钥标识关联的密钥以对所述预设数据表中的数据进行加密包括:
根据所述密钥标识调用预设加密算法和所述密钥;
采用调用的所述预设加密算法和所述密钥对所述预设数据表中的数据进行加密。
本公开的一种示例性实施例中,所述预设数据表包括N行数据,N 为大于等于1的正整数;
所述对所述预设数据表中的数据进行加密包括:
对所述预设数据表中N行数据中的一整行数据中的预设数据进行加密,而对所述一整行数据中的剩余数据不进行加密或者进行加密。
本公开的一种示例性实施例中,在接收到获取一预设数据表的第一请求之前,所述方法还包括:
接收一身份验证信息,根据所述身份验证信息进行权限验证;
当权限验证通过后,接收所述第一请求。
本公开的一种示例性实施例中,所述方法还包括:
对加密后的所述预设数据表中的数据进行数据挖掘分析处理,形成新数据表。
本公开的一种示例性实施例中,所述方法还包括:
对所述新数据表或者加密后的所述预设数据表进行解密;
对解密后的所述新数据表或者所述预设数据表进行二次加密,形成不可逆的密文;
将所述密文发送至用户端。
本公开的一种示例性实施例中,所述方法还包括:
从所述数据存储系统中提取加密后的所述预设数据表;
将提取的加密后的所述预设数据表发送至用户端,以使所述用户端获得所述预设数据表对应的明文信息。
根据本公开实施例的第二方面,提供一种数据处理装置,包括:
密钥组生成模块,用于在接收到获取一预设数据表的第一请求时,响应所述第一请求生成一所述预设数据表对应的密钥组;
密钥标识模块,用于通过所述密钥组获取一密钥标识;其中,所述密钥标识与归属于所述密钥组的一密钥关联;
数据加密模块,用于根据所述密钥标识调用所述密钥组中与所述密钥标识关联的密钥以对所述预设数据表中的数据进行加密;
数据存储模块,用于将加密后的所述预设数据表存储至一指定数据存储系统。
本公开的一种示例性实施例中,所述数据加密模块用于:
根据所述密钥标识调用预设加密算法和所述密钥;
采用调用的所述预设加密算法和所述密钥对所述预设数据表中的数据进行加密。
本公开的一种示例性实施例中,所述预设数据表包括N行数据,N 为大于等于1的正整数;所述数据加密模块还用于:对所述预设数据表中 N行数据中的一整行数据中的预设数据进行加密,而对所述一整行数据中的剩余数据不进行加密或者进行加密。
本公开的一种示例性实施例中,所述装置还包括:
验证模块,用于在接收到获取一预设数据表的第一请求之前,接收一身份验证信息,根据所述身份验证信息进行权限验证;当权限验证通过后,接收所述第一请求。
本公开的一种示例性实施例中,所述装置还包括:
数据加工模块,用于对加密后的所述预设数据表中的数据进行数据挖掘分析处理,形成新数据表。
本公开的一种示例性实施例中,所述装置还包括:
数据解密模块,用于对所述新数据表或者加密后的所述预设数据表进行解密;
所述数据加密模块,还用于对解密后的所述新数据表或者所述预设数据表进行二次加密,形成不可逆的密文;
第一发送模块,用于将所述密文发送至用户端。
本公开的一种示例性实施例中,所述装置还包括:
数据提取模块,用于从所述数据存储系统中提取加密后的所述预设数据表;
第二发送模块,用于将提取的加密后的所述预设数据表发送至用户端,以使所述用户端获得所述预设数据表对应的明文信息。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开的一种实施例中,通过上述方法及装置,在将抽取的预设数据表落地存储到指定数据存储系统前,生成预设数据表对应的密钥组并提供与归属于该密钥组的密钥关联的密钥标识,进而可以根据所述密钥标识调用所述密钥组中的密钥以对所述预设数据表中的数据进行加密并将加密后的所述预设数据表存储至一指定数据存储系统。这样,一方面,在预设数据表存储到指定数据存储系统过程中已经对数据加密,因此该预设数据表中的数据在指定数据存储系统中将是以密文形式存储,提高了数据存储安全性;另一方面,在后续过程中,比如授权给用户使用数据表时,可以便于将加密后的所述预设数据表推送给用户,数据传输过程中预设数据表也是加密后的,即在整个数据存储和后续数据处理中数据都是加密的,因此大大提高了数据处理的安全性,避免泄露用户隐私敏感信息,彻底解决服务器端用户数据不安全的问题,进而可以在一定程度上避免用户财产损失等问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施例中第一数据处理方法流程图;
图2示意性示出本公开示例性实施例中第二数据处理方法流程图;
图3示意性示出本公开示例性实施例中第三数据处理方法流程图;
图4示意性示出本公开示例性实施例中第四数据处理方法流程图;
图5示意性示出本公开示例性实施例中第五数据处理方法流程图;
图6示意性示出本公开示例性实施例中一具体应用场景示意图;
图7示意性示出本公开示例性实施例中一种数据处理装置的框图;
图8示意性示出本公开示例性实施例中另一种数据处理装置的框图;
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例实施方式中首先提供了一种数据处理方法,该方法可以应用于一具备逻辑计算功能的设备上,例如可以是服务器或者计算机、台式电脑等终端设备。本示例实施方式中以服务器为例进行说明,该服务器可以与用户端和数据存储系统/设备交互,参考图1中所示,该数据处理方法可以包括:
步骤S101.在接收到获取一预设数据表的第一请求时,响应所述第一请求生成一所述预设数据表对应的密钥组。
步骤S102.通过所述密钥组获取一密钥标识;其中,所述密钥标识与归属于所述密钥组的一密钥关联。
步骤S103.根据所述密钥标识调用所述密钥组中与所述密钥标识关联的密钥以对所述预设数据表中的数据进行加密。
步骤S104.将加密后的所述预设数据表存储至一指定数据存储系统。
本示例实施方式中的数据处理方法,一方面,在预设数据表存储到指定数据存储系统过程中已经对数据加密,因此该预设数据表中的数据在指定数据存储系统中将是以密文形式存储,提高了数据存储安全性;另一方面,在后续过程中,比如授权给用户使用数据表时,可以便于将加密后的所述预设数据表推送给用户,数据传输过程中预设数据表也是加密后的,即在整个数据存储和后续数据处理中数据都是加密的,因此大大提高了数据处理的安全性,避免泄露用户隐私敏感信息,彻底解决服务器端用户数据不安全的问题,进而可以在一定程度上避免用户财产损失等问题。
下面,将结合图1~图5对本示例实施方式中上述各个步骤进行进一步的说明。
在步骤S101中,当接收到获取一预设数据表的第一请求时,响应所述第一请求生成一所述预设数据表对应的密钥组。
本示例实施方式中,所述第一请求可以用于触发生成所述密钥组,所述密钥组可以用于管理维护对应所述预设数据表的各个密钥;该密钥可以用于对所述预设数据表中的数据进行加密。所述预设数据表可以是存储于线上关系型数据库中的用户数据表,例如网上商城后台数据库中存储的用户数据表。该用户数据表可以存储个人用户数据和/或企业用户数据,所述用户数据可以是客户信息、商家信息、交易信息、资产信息和员工信息等。例如,一种用户数据可参看如下表1所示。
表1
信息类别 | 一级信息(加密信息) | 二级信息 |
客户信息 | 姓名、密码、身份证、QQ号、邮箱 | 邮编 |
商家信息 | 法人、证件号、税号、银行卡信息、邮箱 | 名称 |
交易信息 | 收货人姓名、收货详细地址 | 邮编 |
资产信息 | 账户余额、客户基金、客户股票 | 名称 |
员工信息 | 身份证、银行卡信息、地址、邮箱 | 考勤打卡记录 |
上述表1中所示的一级信息即为用户隐私敏感数据,后续加密时所有字段都要加密,二级信息可以不进行加密存储,也可以加密存储,此部分在后续实施例中具体说明。需要说明的是,上述关于用户数据的类别以及具体的信息数据并不限于此,也可以采用其他分类或者增加其他具体信息数据,本实施方式对此不作具体限制。
举例而言,如果用户需要抽取线上关系型数据库中的某一用户数据表,则可以向服务器发送以获取该用户数据表的请求。服务器在从线上关系型数据库中抽取用户数据表并将所述用户数据表存储至指定存储系统前,首先响应获取用户数据表的请求生成所述用户数据表对应的密钥组。也就是说,在请求抽取一个用户数据表时,相当于触发生成对应所述用户数据表的密钥组的请求,然后服务器响应所述请求生成所述用户数据表对应的密钥组。本示例实施方式中,所述密钥组和所述用户数据表一一对应,以方便对每个用户数据表加密后进行的后续解密处理。
在步骤S102中,通过所述密钥组获取一密钥标识。
本示例实施方式中,所述密钥标识(ID,Identity)与属于所述密钥组的一密钥关联,进而可方便地根据密钥标识去调用关联的密钥以进行加密。所述密钥标识与密钥组中密钥的关联关系可以由服务器来维护。本示例实施方式中,所述密钥ID可以是一关键字或标识符,例如可以是预设的比如字母、数字或者其组合等,本示例性实施方式对此不作限制。
在步骤S103中,根据所述密钥ID调用所述密钥组中与所述密钥ID 关联的密钥以对所述预设数据表即用户数据表中的数据进行加密。参看图 2所示,在一示例性实施方式中,步骤S103可以包括步骤S201和步骤S202。
其中:
在步骤S201中,根据所述密钥标识调用预设加密算法和所述密钥。
在本示例性实施方式中,所述预设加密算法可以采用高级加密标准 (AES,Advanced Encryption Standard)算法,例如可以采用AES算法的 CBC模式,CBC模式是先将明文切分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后,再与密钥进行加密;由于AES加密为现有技术,因此此处不再赘述。AES在软件及硬件上都能快速地加解密,且只需要很少的存储器,尤其适用于本实施方式中大量数据且网络环境的应用,能够提高加密的速度,进而提高加密效率。需要说明的是,所述预设加密算法也可以根据需要采用其他加密算法,本示例性实施方式对此不作限制。
在步骤S202中,采用调用的所述预设加密算法和所述密钥对所述预设数据表中的数据进行加密。
举例来说,在步骤S201中,如果是根据所述密钥ID调用AES的CBC 模式和所述密钥,在步骤S202中,则可以采用调用的所述AES的CBC模式和所述密钥对所述用户数据表中的数据进行加密,以高效地完成加密工作。
以所述预设数据表包括N行数据(N为大于等于1的正整数)为例,对所述预设数据表中的数据进行加密可以包括:采用调用的所述预设加密算法和所述密钥对所述预设数据表中N行数据中的一整行数据中的预设数据进行加密,而对所述一整行数据中的剩余数据不进行加密或者进行加密。举例而言:
参看上述表1,用户数据表中例如有3行数据,加密时可以对用户数据表中的3行数据分别进行加密,每次加密时对一整行数据进行加密,且对该一整行数据中的敏感数据即一级信息进行加密,而对非敏感数据可以不进行加密,这样在保证数据安全的前提下,进一步提高加密处理效率,避免了计算资源的浪费消耗。另外,在一些实施例中,一个密钥组里可以包含多个密钥,在加密时每个密钥可以加密指定行数(例如1万行)后失效,当前密钥失效后再次调用属于密钥组的另一密钥,然后进行后续用户数据表中剩余数据行的加密操作。
在步骤S104中,将加密后的所述预设数据表存储至一指定数据存储系统。
本示例性实施方式中,所述指定数据存储系统可以是Hadoop分布式文件系统(HDFS,Hadoop Distributed File System)。该数据存储系统为单独搭建的存储用户数据中敏感数据的敏感集市,当然也可以采用其他架构的数据存储系统,本实施方式对此不作具体限制。此外,本示例性实施方式中加密后的所述预设数据表的数据格式将有所变化;以加密完之后用户数据表中的一行数据的数据格式为例,其中加密后的一行数据的数据格式可以为:
第一字段 | 第二字段 | 第三字段 | 第四字段 |
其中,第一个字段为密钥ID(即加密当前行一级信息使用的密钥对应的密钥标识),第二个字段为主键ID,第三个字段为一级信息加密后的密文(参看上述表1中的一级信息),第四字段为二级信息(更新日期)。
例如,加密后的一行数据格式为:
第一字段:A50160BF-2362-460E-B76A-35EB2E16AF1C;
第二字段:43;
第三字段:0fMC9HCtCV521CWHfAB2+G==;
第四字段:GjjMtpLs0CCEdu4kf/525jnXYI5Xx4hungqH6p+w05c= 2014-11-24 18:29:44.05。
如图3所示,在另一示例性实施方式中,在上述步骤S101中的在接收到获取一预设数据表的第一请求步骤之前,所述方法还可以包括:
步骤S301.接收一身份验证信息,根据所述身份验证信息进行权限验证。例如,所述身份验证信息可以是用户名和密码,根据所述用户名和密码进行权限验证,如将所述用户名和密码与预存的用户名和密码进行比对,当比对匹配时,则授权通过,否则不通过。
步骤S302.当权限验证通过后,接收所述第一请求并进行后续步骤。
在本示例性实施方式中,首先使用身份验证信息在如服务器系统进行身份认证,认证通过之后,向服务器系统发送获取一用户数据表的申请,以获得对应所述用户数据表的密钥组实施后续加密处理,提高了使用安全性,避免非法获取用户数据。
在另一示例性实施方式中,在上述各个示例性实施方式的基础上,所述数据处理方法还可以包括:
对加密后的所述预设数据表中的数据进行数据挖掘分析处理,形成新数据表。
举例来说,用户数据表中的数据已经从线上关系型数据库经过AES 加密算法的CBC模式加密形成密文之后落入HDFS存储系统存储。在实际使用中,业务方对于数据的需求不仅仅是数据表同步这样简单的操作,有可能需要做进一步的分析处理、逻辑加工等等。这时候,应该由数据专业人员进行数据的转换聚合操作,本示例性实施方式中,专业人员通过身份验证登录服务器后,将HDFS系统存储的加密后的用户数据表中的数据解密后进行比较复杂的数据加工处理,比如关联查询、数据聚合等等,最终结果在写入HDFS存储系统之前再次重复本实施方式所示的加密过程生成最终用户需要的新数据表,将新数据表写入HDFS存储系统。例如在最终生成一个最新的用户数据表,那么在最新的用户数据表落地存储至HDFS存储系统之前,向服务器申请生成对应该最新的用户数据表的一个新的密钥组,重复如图1所示实施方式中的方案,每次加密通过该新的密钥组的密钥ID,调用AES加密算法和对应的属于新的密钥组的密钥对加工的新的用户数据表进行AES加密,然后再落地存储至HDFS存储系统。
本示例性实施方式中,主要是对用户数据表落地存储后由专业人员进行比较复杂的数据运算过程,运算完之后新的用户数据表由服务器提供给需要的业务方使用。这样,解放了普通的数据库管理人员,便于将数据处理的相关需求过渡到专业数据处理人员进行加工分析。
为了将上述各个示例性实施方式中生成的预设数据表或者挖掘处理形成的新数据表提供至用户端,以供用户端业务使用。本示例性实施方式提供以下两种具体的实施方式:
第一种具体的实施方式:在上述各个示例性实施方式的基础上,参看图4所示,所述数据处理方法还可以包括:
步骤401.对所述新数据表或者加密后的所述预设数据表进行解密。例如,用户端需要所述新数据表中的数据,不需要明文数据,只是用于专业技术人员对用户不同数据的索引查询,此时,可以对AES加密后的新数据表中的数据进行解密。
步骤402.对解密后的所述新数据表或者所述预设数据表进行二次加密,形成不可逆的密文。例如,可以对AES加密后的新数据表中的数据进行解密后使用安全哈希算法(SHA,Secure Hash Algorithm)加密生成一个不可逆的用于索引查询功能的数据表。
步骤403.将所述密文发送至用户端。例如,在该用户端获得授权后,接收服务器发送的加密生成的不可逆的数据表,由用户端使用。本示例性实施方式是将数据解密后使用SHA算法二次加密为不可逆的密文提供给授权的使用方,例如提供给专业技术人员以对用户不同数据的索引查询。 SHA算法加密后无法解密,不会涉及用户端的数据泄露问题,进一步提高了安全性。
第二种具体的实施方式:在上述各个示例性实施方式的基础上,参看图5所示,所述数据处理方法还可以包括:
步骤501.从所述数据存储系统中提取加密后的所述预设数据表。例如,从HDFS存储系统中提取加密后的用户数据表。
步骤502.将提取的加密后的所述预设数据表发送至用户端,以使所述用户端获得所述预设数据表对应的明文信息。例如,将加密后的用户数据表发送至用户端,用户端与服务器交互,在获得授权后,根据该用户数据表中的密钥ID获取该用户数据表的密钥组中的密钥,调用对应解密算法获得所述用户数据表对应的明文信息。
本示例性实施方式中,将通过AES算法加密后的密文可以包括密钥ID 直接提供给授权的使用方,数据还是以AES加密后密文推送给业务方用户端,用户端拿到数据后可以进行解密操作,解密操作在用户端本地执行,不涉及HDFS存储系统以及服务器上的泄密可能,提高了用户数据抽取落地以及后续处理过程的安全性。
本实施方式中,用户数据表中的数据落地存储以及数据的后续处理、数据推送都以密文形式进行,以密文形式完成整个数据的处理流程,安全性大大提高。另外,通过一个类似密钥加密管理的服务器完成数据生产方和各个数据使用方的数据授权,可以在表粒度进行控制是否可以加密解密以及相关授权使用,保证了数据安全。
下面再结合一个具体应用场景说明本实施方式。参考图6中所示,本实施方式中以三个用户数据表为例进行说明,数据表的个数是可以超过三个的,对于数据表的个数,本实施方式不作特别限定。keyServer为一套密钥管理系统,本示例实施方式中密钥管理系统运行于一个服务器上,当然也可以运行于多个服务器或服务器集群中,对此不作限定。敏感集市即包含所有敏感数据的一个数据存储的HDFS集群,也即上述实施方式中所述 HDFS存储系统,由专业数据处理人员维护,专业数据处理人员部门在 keyServer系统中的身份标示为user_rd。部门A和部门B分别为外部使用方的代表,即用户端,且分别以user_a和user_b在keyServer系统中作为身份信息。所有的数据都由user_rd方进行加工,加工完之后由密钥管理系统keyServer授权给使用方使用。
在敏感集市中,table_a、table_b、table_c分别为三张示例的用户数据表。user_rd在keyServer中申请三个组group_a、group_b、group_c分别用于每张用户数据表的密钥管理,这三张用户数据表都是在敏感集市中进行存储并且进行后续的统一加工处理。针对每张用户数据表,用户数据在抽取落地到HDFS存储系统之前进行加密操作,即落地文件为加密的密文,不存储明文,其中加密算法采取AES加密算法的CBC模式。keyServer系统根据每个用户数据表的组名将某个用户数据表单独授权给某个部门的某个用户之后才可以进行解密操作从而获取到明文。下面对本示例性实施方式中的数据处理过程进行如下的详细说明。
一、数据抽取加密落地过程:
此过程是整个数据处理过程的开始阶段,数据源为线上的关系型数据库,通过此过程处理之后,敏感数据以密文的格式存储在HDFS存储系统上,整个仓库不会涉及到明文落地。以table_c表为例,table_c表的加密过程如下:
首先user_rd在keyServer系统进行身份认证(通过用户名和密码方式认证身份),认证通过之后,向keyServer系统申请一个组名group_c,之后针对table_c表中每一行数据加密所使用的密钥都是和group_c关联在一起。
数据在抽取过程中进行加密,每次向keyServer通过传递组名group_c 获取一个属于group_c组(即密钥组)的密钥ID,密钥ID和密钥的对应关系由keyServer系统维护,抽取程序使用此密钥ID调用keyServer提供的相关接口进行数据加密操作,每次加密table_c表中一整行数据,每个密钥可以加密指定行数(例如1万行)后失效,密钥失效后再次向keyServer 申请属于group_c组的密钥,然后进行后续数据行的加密操作,加密算法采用AES加密的CBC模式,这个模式在keyServer按照用户和密钥组对其他用户授权之后,其他用户可以解密user_rd用户的group_c组的相关密文。
数据抽取过程中进行加密后落地,落地的数据格式可以包括密钥ID、主键ID、二级字段以及一级字段加密后的密文数据,字段之间以格式\t 进行分隔。具体可参看前述关于数据格式的具体描述,此处不再赘述。
二.数据进一步加工分析处理过程:
在实际使用中,业务方对于数据的需求不仅仅是数据表同步这样简单的操作,有可能需要做进一步的分析处理、逻辑加工等等。这时候,由数据专业人员进行数据的转换聚合操作,在keyServer系统中,同一个用户的不同组(如属于用户user_rd的group_a、group_b、group_c组)之间是直接默认就已经相互授权的,也就是对于user_rd用户来说,调用keyServer 提供的解密接口,可以解自己名下任何一个组的密文,因为每行记录都包含自己加密所使用的密钥ID,而且对于同一个用户不同组之间默认是已经授权可以进行解密操作。这样可以将数据解密后进行比较复杂的数据加工处理,比如关联查询、数据聚合等等,最终结果在写入HDFS存储系统之前再次重复加密过程生成最终用户需要的数据。例如最终结果生成一个最新的表table_d,那么在落地数据之前向keyServer申请一个新的密钥组group_d,然后每次加密通过传递group_d获取属于group_d组的密钥ID,再根据该密钥ID调用加密算法和密钥对加工的数据进行AES加密,然后再落地存储。此过程主要是对用户数据表落地存储后进行比较复杂的数据运算过程,运算完之后数据需要提供给业务方使用。这样,由数据研发专业人员直接对接用户敏感数据的业务需要,可以支持更加复杂的数据处理操作。
三.数据对外授权使用过程:
通过数据加工分析处理过程之后,对外提供用户数据有两种提供方式。一种是将AES加密后的密文可以包括密钥ID直接提供给授权的使用方,一种是在敏感集市将数据解密后使用SHA二次加密为不可逆的密文提供给授权的使用方。
第一种方式为AES加密授权方式,如果部门A需要table_d表的数据, 首先部门A需要使用自己的用户user_a在keyServer系统进行用户信息认证,认证通过之后,在征得授权之后,keyServer系统会把table_d表加密所使用的密钥组group_d内所有的密钥授权给用户user_a使用,此时部门 A拿到密文和相关的密钥可以解密user_rd生成的table_d表的密文从而获取明文数据。
第二种方式为SHA加密授权方式,如果部门B需要加工后的table_d 表的数据,并不需要明文数据,只是用于对不同用户数据的索引查询,那么就可以采取SHA加密后提供给部门B使用。此时user_rd需要将AES 加密后的table_d表进行解密后使用SHA算法加密生成一个不可逆用户索引查询功能的新数据表,在部门B获取keyServer系统授权之后由user_rd 推送给部门B使用即可。
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。另外,也易于理解的是,这些步骤可以是例如在多个模块/进程/线程中同步或异步执行。
进一步的,本示例实施方式中,还提供了一种数据处理装置。参考图7中所示,装置100可以包括密钥组生成模块101、密钥标识模块102、数据加密模块103和数据存储模块104。其中:
所述密钥组生成模块101,用于在接收到获取一预设数据表的第一请求时,响应所述第一请求生成一所述预设数据表对应的密钥组;
所述密钥标识模块102,用于通过所述密钥组获取一密钥标识;其中,所述密钥标识与归属于所述密钥组的一密钥关联;
所述数据加密模块103,用于根据所述密钥标识调用所述密钥组中与所述密钥标识关联的密钥以对所述预设数据表中的数据进行加密;
所述数据存储模块104,用于将加密后的所述预设数据表存储至一指定数据存储系统。
在一个示例性实施方式中,所述数据加密模块103用于:根据所述密钥标识调用预设加密算法和所述密钥;采用调用的所述预设加密算法和所述密钥对所述预设数据表中的数据进行加密。
在一个示例性实施方式中,所述预设数据表可以包括N行数据,N 为大于等于1的正整数;所述数据加密模块103还用于:对所述预设数据表中N行数据中的一整行数据中的预设数据进行加密,而对所述一整行数据中的剩余数据不进行加密或者进行加密。
在一个示例性实施方式中,所述装置还可以包括验证模块,用于在接收到获取一预设数据表的第一请求之前,接收一身份验证信息,根据所述身份验证信息进行权限验证;当权限验证通过后,接收所述第一请求。
在一个示例性实施方式中,所述装置还可以包括数据加工模块,用于对加密后的所述预设数据表中的数据进行数据挖掘分析处理,形成新数据表。
在一个示例性实施方式中,所述装置还可以包括数据解密模块和第一发送模块;其中,
所述数据解密模块,用于对所述新数据表或者加密后的所述预设数据表进行解密。
所述数据加密模块103,还用于对解密后的所述新数据表或者所述预设数据表进行二次加密,形成不可逆的密文。
所述第一发送模块,用于将所述密文发送至用户端。
在一个示例性实施方式中,所述装置还可以包括数据提取模块和第二发送模块;其中,
所述数据提取模块,用于从所述数据存储系统中提取加密后的所述预设数据表;
所述第二发送模块,用于将提取的加密后的所述预设数据表和对应的所述密钥标识发送至用户端,以使所述用户端获得所述预设数据表对应的明文信息。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现木公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,可以包括若干指令以使得一台计算设备(可以是个人计算机、服务器或者网络设备等)执行根据本公开实施方式的方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图8示出根据本公开示例实施方式中一种数据处理装置400的示意图。例如,装置400可以被提供为一服务器。参照图8 ,装置400包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422的执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述方法。
装置400还可以包括一个电源组件426被配置为执行装置400的电源管理,一个有线或无线网络接口450被配置为将装置400连接到网络,和一个输入输出(I/O)接口458。装置400可以操作基于存储在存储器432的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM或类似。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (8)
1.一种数据处理方法,其特征在于,所述方法包括:
接收一身份验证信息,根据所述身份验证信息进行权限验证;
当权限验证通过后,接收获取预设数据表的第一请求,响应所述第一请求生成一所述预设数据表对应的密钥组;所述密钥组与所述预设数据表一一对应;
通过所述密钥组获取一密钥标识;其中,所述密钥标识与归属于所述密钥组的一密钥关联;
根据所述密钥标识调用所述密钥组中与所述密钥标识关联的密钥以对所述预设数据表中的数据进行加密;对加密后的所述预设数据表中的数据进行数据挖掘分析处理,形成新数据表;
将加密后的所述预设数据表存储至一指定数据存储系统;
对所述新数据表或者加密后的所述预设数据表进行解密;
利用SHA算法对解密后的所述新数据表或者所述预设数据表进行二次加密,形成不可逆的密文;
将所述密文发送至用户端。
2.根据权利要求1所述数据处理方法,其特征在于,所述根据所述密钥标识调用所述密钥组中与所述密钥标识关联的密钥以对所述预设数据表中的数据进行加密包括:
根据所述密钥标识调用预设加密算法和所述密钥;
采用调用的所述预设加密算法和所述密钥对所述预设数据表中的数据进行加密。
3.根据权利要求2所述数据处理方法,其特征在于,所述预设数据表包括N行数据,N为大于等于1的正整数;
所述对所述预设数据表中的数据进行加密包括:
对所述预设数据表中N行数据中的一整行数据中的预设数据进行加密,而对所述一整行数据中的剩余数据不进行加密或者进行加密。
4.根据权利要求1-3任一项所述数据处理方法,其特征在于,所述方法还包括:
从所述数据存储系统中提取加密后的所述预设数据表;
将提取的加密后的所述预设数据表发送至用户端,以使所述用户端获得所述预设数据表对应的明文信息。
5.一种数据处理装置,其特征在于,所述装置包括:
密钥组生成模块,用于接收一身份验证信息,根据所述身份验证信息进行权限验证;
当权限验证通过后,接收获取预设数据表的第一请求,响应所述第一请求生成一所述预设数据表对应的密钥组;所述密钥组与所述预设数据表一一对应;
密钥标识模块,用于通过所述密钥组获取一密钥标识;其中,所述密钥标识与归属于所述密钥组的一密钥关联;
数据加密模块,用于根据所述密钥标识调用所述密钥组中与所述密钥标识关联的密钥以对所述预设数据表中的数据进行加密;
数据加工模块,用于对加密后的所述预设数据表中的数据进行数据挖掘分析处理,形成新数据表;
数据存储模块,用于将加密后的所述预设数据表存储至一指定数据存储系统;
数据解密模块,用于对所述新数据表或者加密后的所述预设数据表进行解密;
所述数据加密模块,还用于利用SHA算法对所述新数据表或者预设数据表进行二次加密,形成不可逆的密文;
第一发送模块,用于将所述密文发送至用户端。
6.根据权利要求5所述装置,其特征在于,所述数据加密模块用于:
根据所述密钥标识调用预设加密算法和所述密钥;
采用调用的所述预设加密算法和所述密钥对所述预设数据表中的数据进行加密。
7.根据权利要求6所述装置,其特征在于,所述预设数据表包括N行数据,N为大于等于1的正整数;所述数据加密模块还用于:对所述预设数据表中N行数据中的一整行数据中的预设数据进行加密,而对所述一整行数据中的剩余数据不进行加密或者进行加密。
8.根据权利要求5-7任一项所述装置,其特征在于,所述装置还包括:
数据提取模块,用于从所述数据存储系统中提取加密后的所述预设数据表;
第二发送模块,用于将提取的加密后的所述预设数据表发送至用户端,以使所述用户端获得所述预设数据表对应的明文信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611108760.XA CN108154038B (zh) | 2016-12-06 | 2016-12-06 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611108760.XA CN108154038B (zh) | 2016-12-06 | 2016-12-06 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108154038A CN108154038A (zh) | 2018-06-12 |
CN108154038B true CN108154038B (zh) | 2022-04-26 |
Family
ID=62471023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611108760.XA Active CN108154038B (zh) | 2016-12-06 | 2016-12-06 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108154038B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189367B (zh) * | 2018-06-28 | 2022-06-24 | 重庆小雨点小额贷款有限公司 | 一种数据处理方法、装置、服务器及存储介质 |
CN109271798A (zh) * | 2018-09-13 | 2019-01-25 | 深圳萨摩耶互联网金融服务有限公司 | 敏感数据处理方法及系统 |
CN111414628B (zh) * | 2019-01-08 | 2024-01-02 | 阿里巴巴集团控股有限公司 | 一种数据存储方法、装置和计算设备 |
CN109871714A (zh) * | 2019-02-21 | 2019-06-11 | 湖南智远数通科技股份有限公司 | 一种实现不可逆脱敏的数据比对方法及装置 |
CN110059081A (zh) * | 2019-03-13 | 2019-07-26 | 深圳壹账通智能科技有限公司 | 基于数据展示的数据输出方法、装置及计算机设备 |
CN110166423B (zh) * | 2019-04-02 | 2021-09-10 | 创新先进技术有限公司 | 用户信用的确定方法、装置、系统和数据的处理方法 |
CN110399740B (zh) * | 2019-07-29 | 2021-05-25 | 浙江诺诺网络科技有限公司 | 一种代理数据安全交互的方法和系统 |
CN111079165B (zh) * | 2019-12-18 | 2022-05-17 | 深圳我家云网络科技有限公司 | 一种数据处理的方法、数据处理装置、设备及存储介质 |
CN111600879B (zh) * | 2020-05-14 | 2023-02-17 | 杭州海康威视数字技术股份有限公司 | 一种数据输出/获取方法、装置和电子设备 |
CN113127575A (zh) * | 2021-03-19 | 2021-07-16 | 福建省万物智联科技有限公司 | 一种员工数据管理方法、系统、设备及存储介质 |
CN113779598A (zh) * | 2021-08-27 | 2021-12-10 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、服务器及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504706A (zh) * | 2009-03-03 | 2009-08-12 | 中国科学院软件研究所 | 数据库信息加密方法和系统 |
CN102402664A (zh) * | 2011-12-28 | 2012-04-04 | 用友软件股份有限公司 | 数据访问控制装置和数据访问控制方法 |
CN103997405A (zh) * | 2014-05-28 | 2014-08-20 | 大唐移动通信设备有限公司 | 一种密钥生成方法及装置 |
CN105574424A (zh) * | 2014-10-16 | 2016-05-11 | 中国移动通信集团广东有限公司 | 一种大数据加解密处理方法及系统 |
CN106022154A (zh) * | 2015-03-24 | 2016-10-12 | 株式会社特迈数据 | 数据库加密方法和数据库服务器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504844B2 (en) * | 2008-12-19 | 2013-08-06 | Teradata Us, Inc. | System, method, and computer-readable medium for cryptographic key rotation in a database system |
CN103220141B (zh) * | 2012-01-18 | 2016-07-06 | 中国移动通信集团辽宁有限公司 | 一种基于组密钥策略的敏感数据保护方法和系统 |
CN103209188A (zh) * | 2013-04-16 | 2013-07-17 | 百度在线网络技术(北京)有限公司 | 数据推送方法、数据推送系统及数据推送服务器 |
CN104618097A (zh) * | 2015-01-24 | 2015-05-13 | 刘勇 | 一种数据加密发送的方法、数据终端及服务器 |
CN104967601A (zh) * | 2015-02-12 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
-
2016
- 2016-12-06 CN CN201611108760.XA patent/CN108154038B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504706A (zh) * | 2009-03-03 | 2009-08-12 | 中国科学院软件研究所 | 数据库信息加密方法和系统 |
CN102402664A (zh) * | 2011-12-28 | 2012-04-04 | 用友软件股份有限公司 | 数据访问控制装置和数据访问控制方法 |
CN103997405A (zh) * | 2014-05-28 | 2014-08-20 | 大唐移动通信设备有限公司 | 一种密钥生成方法及装置 |
CN105574424A (zh) * | 2014-10-16 | 2016-05-11 | 中国移动通信集团广东有限公司 | 一种大数据加解密处理方法及系统 |
CN106022154A (zh) * | 2015-03-24 | 2016-10-12 | 株式会社特迈数据 | 数据库加密方法和数据库服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN108154038A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108154038B (zh) | 数据处理方法及装置 | |
US20180212751A1 (en) | End-To-End Secure Operations Using a Query Matrix | |
US20180212753A1 (en) | End-To-End Secure Operations Using a Query Vector | |
AU2016220152A1 (en) | Cloud encryption key broker apparatuses, methods and systems | |
CN104079574A (zh) | 云环境下基于属性和同态混合加密的用户隐私保护方法 | |
CN108681676B (zh) | 数据管理方法和装置、系统、电子设备、程序和存储介质 | |
CN109657492B (zh) | 数据库管理方法、介质及电子设备 | |
CN105991563B (zh) | 一种保护敏感数据安全的方法、装置及三方服务系统 | |
US8848922B1 (en) | Distributed encryption key management | |
CN112287379B (zh) | 业务数据使用方法、装置、设备、存储介质和程序产品 | |
CN111737720B (zh) | 数据处理方法、装置及电子设备 | |
CN111753324B (zh) | 私有数据的处理方法、计算方法及所适用的设备 | |
CN106992851A (zh) | 基于TrustZone的数据库文件口令加解密方法、装置及终端设备 | |
EP4198783A1 (en) | Federated model training method and apparatus, electronic device, computer program product, and computer-readable storage medium | |
CN111368328A (zh) | 数据存储方法、装置、计算机可读存储介质及电子设备 | |
CN108170753A (zh) | 一种共有云中Key-Value数据库加密与安全查询的方法 | |
CN113282959A (zh) | 业务数据处理方法、装置及电子设备 | |
US11133926B2 (en) | Attribute-based key management system | |
CN112862484A (zh) | 一种基于多端交互的安全支付方法及装置 | |
CN114357472B (zh) | 数据的打标签方法、系统、电子设备和可读存储介质 | |
Prasadreddy et al. | A threat free architecture for privacy assurance in cloud computing | |
CN111125734B (zh) | 一种数据处理方法及系统 | |
KR20210069865A (ko) | Rest api 기반의 암호화폐 거래 시스템 | |
CN112559825B (zh) | 业务处理方法、装置、计算设备和介质 | |
US11641274B2 (en) | Systems and methods for manipulation of private information on untrusted environments |
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 |