CN113987563A - 数据处理方法、系统、产品、设备及存储介质 - Google Patents
数据处理方法、系统、产品、设备及存储介质 Download PDFInfo
- Publication number
- CN113987563A CN113987563A CN202111117054.2A CN202111117054A CN113987563A CN 113987563 A CN113987563 A CN 113987563A CN 202111117054 A CN202111117054 A CN 202111117054A CN 113987563 A CN113987563 A CN 113987563A
- Authority
- CN
- China
- Prior art keywords
- key
- key information
- management node
- partition
- service node
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000005192 partition Methods 0.000 claims abstract description 186
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000008569 process Effects 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 15
- 238000007726 management method Methods 0.000 description 149
- 238000010586 diagram Methods 0.000 description 18
- 230000003068 static effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种数据处理方法、系统、产品、设备及存储介质。其中,方法包括:接收客户端发送来的密钥创建请求;根据密钥创建请求,生成第一密钥信息;将第一密钥信息发送至区域管理节点,以由区域管理节点通过应用编程接口将第一密钥信息存储至第一存储系统中;区域管理节点接收到分区服务节点发送的密钥获取请求后,通过应用编程接口从第一存储系统中获取第一密钥信息,并将第一密钥信息发送给分区服务节点,以由分区服务节点加载并根据加载后的第一密钥信息对有关Hbase表中分配给分区服务器的分区的数据进行处理。本申请实施例提供的技术方案无需重启集群,即可加载密钥信息,提高了用户使用体验。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、系统、产品、设备及存储介质。
背景技术
在互联网时代,技术高速发展,数据存储体量呈现爆发式增长态势。使用数据库,尤其是非关系型数据库来存储数据,可以让使用数据和存储数据变得更加方便,但同时也伴随一定的安全风险。例如:存储介质上的数据文件存在被非法访问的风险,一旦被非法访问,非法访问者可通过一些常规技术手段反解出数据存储的格式与内容,从而导致数据泄露。
为了避免数据泄密,需要对存储介质上的存储数据进行加密。目前,现有的数据库数据加密方案中存在密钥管理方式上的缺陷,用户体验不好。
发明内容
鉴于上述问题,提出了本申请以提供一种解决上述问题或至少部分地解决上述问题的数据处理方法、系统、产品、设备及存储介质。
于是,本申请的第一方面提供了一种数据处理方法,其中,适用于Hbase数据库集群中的全局管理节点,所述Hbase数据库集群包括所述全局管理节点、区域管理节点以及所述区域管理节点所管理的分区服务节点;所述方法包括:
接收客户端发送来的密钥创建请求;
根据所述密钥创建请求,生成第一密钥信息;
将所述第一密钥信息发送至所述区域管理节点,以由所述区域管理节点通过应用编程接口将所述第一密钥信息存储至第一存储系统中;
所述区域管理节点接收到所述分区服务节点发送的密钥获取请求后,通过应用编程接口从所述第一存储系统中获取所述第一密钥信息,并将所述第一密钥信息发送给所述分区服务节点,以由所述分区服务节点加载并根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
本申请的第二方面提供了一种数据处理方法,其中,应用于Hbase数据库集群中的分区服务节点,其中,所述Hbase数据库集群包括所述分区服务节点、管理所述分区服务节点的区域管理节点以及全局管理节点;所述方法,包括:
向所述区域管理节点发送密钥获取请求,以由所述区域管理节点通过应用编程接口从所述第一存储系统中获取第一密钥信息;
接收所述区域管理节点返回的所述第一密钥信息;
加载所述第一密钥信息;
根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理;
所述区域管理节点接收所述全局管理节点发送的其根据客户端的密钥创建请求生成的所述第一密钥信息,并通过应用编程接口将所述第一密钥信息存储到所述第一存储系统中。
本申请的第三方面提供了一种数据处理方法,其中,应用于Hbase数据库集群中的区域管理节点,其中,所述Hbase数据库集群包括全局管理节点、所述区域管理节点以及所述区域管理节点所管理的分区服务节点;所述方法,包括:
接收所述全局管理节点发送的其根据客户端的密钥创建请求生成的第一密钥信息;
通过应用编程接口将所述第一密钥信息存储到所述第一存储系统中;
接收到所述分区服务节点发送来的密钥获取请求后,通过应用编程接口从所述第一存储系统中获取所述第一密钥信息;
将所述第一密钥信息发送给所述分区服务节点,以由所述分区服务节点进行加载;
其中,所述分区服务节点用于根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
本申请的第四方面提供了一种数据处理系统,包括:Hbase数据库集群中的全局管理节点、区域管理节点以及所述区域管理节点所管理的分区服务节点;
所述全局管理节点,用于接收客户端发送来的密钥创建请求;根据所述密钥创建请求,生成第一密钥信息;将所述第一密钥信息发送至所述区域管理节点;
所述区域管理节点,用于接收所述第一密钥信息;通过应用编程接口将所述第一密钥信息存储至第一存储系统中;
所述分区服务节点,用于向所述区域管理节点发送密钥获取请求;
所述区域管理节点,还用于接收所述分区服务节点发送的所述密钥获取请求;通过应用编程接口从所述第一存储系统中获取第一密钥信息;将所述第一密钥信息返回给所述分区服务节点;
所述分区服务节点,还用于接收所述区域管理节点返回的所述第一密钥信息;加载所述第一密钥信息;根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
在本申请的第五方面提供了一种电子设备。该电子设备,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现上述所述的数据处理方法。
在本申请的第六方面提供了一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述任一项所述的数据处理方法。
在本申请的第七方面提供了一种计算机程序产品,其中,包括:计算机程序;所述计算机程序被计算机执行时能够实现上述任一项所述的数据处理方法。
在本申请的另一实施例中,提供了一种存储有计算机程序的计算机可读存储介质,其中,所述计算机程序被计算机执行时能够实现上述任一项所述的数据处理方法。
本申请实施例提供的技术方案,Hbase数据库集群中的全局管理节点接收到客户端发送来的密钥创建请求后,生成第一密钥信息,将第一密钥信息同步给集群中的区域管理节点,以由区域管理节点通过应用编程接口将第一密钥信息存储到第一存储系统中。集群中的分区服务节点想要加载第一密钥信息时,请求区域管理节点通过应用编程接口从第一存储系统中获取即可。也就是说,本申请实施例提供的技术方案中,将第一密钥信息存储在支持热加载的第一存储系统中,这样通过应用编程接口即可获取得到并进行加载,无需重启集群,提高了用户使用体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的数据处理系统的结构示意图;
图2a为本申请一实施例提供的数据处理方法的流程示意图;
图2b为本申请一实施例提供的密钥创建过程示意图;
图3a为本申请一实施例提供的数据处理方法的流程示意图;
图3b为本申请一实施例提供的密钥轮转过程示意图;
图4为本申请一实施例提供的Hfile的内部存储格式示意图;
图5a为本申请一实施例提供的Hfile的数据加密流程示意图;
图5b为本申请一实施例提供的集群的数据处理流程示意图;
图6a为本申请一实施例提供的log的存储流程示意图;
图6b为本申请一实施例提供的第一数据解密流程示意图;
图6c为本申请一实施例提供的第二数据解密流程示意图;
图7为本申请一实施例提供的数据处理方法的流程示意图;
图8为本申请一实施例提供的数据处理装置的结构示意图;
图9为本申请一实施例提供的数据处理装置的结构示意图;
图10为本申请一实施例提供的数据处理装置的结构示意图;
图11为本申请一实施例提供的电子设备的结构框图。
具体实施方式
目前,基于开源Hbase数据库的数据加密方案为:数据库集群中的分区服务节点(RegionServer)通过本地磁盘文件保存密钥,使用对称加密AES(Advanced EncryptionStandard,高级加密标准)算法,加密存储文件(Hfile)的方式来实现静态数据加密。具体地,开启时首先需要获得所有分区服务节点的SSH(Secure Shell,安全外壳协议)登录权限,并同时修改其中一个RegionServer中的本地配置文件hbase-site.xml,也即是在本地配置文件中添加密钥配置信息,例如密钥算法、密钥文件保存地址以及管理密钥文件的明文口令。然后通过该配置文件提供的脚本,生成密钥文件,并将密钥文件保存在上述密钥文件保存地址中,并分发到其他RegionServer所在的宿主机上,之后需要重启整个数据库集群才可以使得加密生效。其中,密钥文件中保存的是CMK(Customer master key,客户主密钥),CMK为AES对称加密的16位或者32位密钥。对于已存在的Hbase表,设置表加密属性为开启,此时表默认使用AES加密。在文件刷盘(flush)或者文件合并(compaction)时,也就是产生新文件时,执行加密操作。加密过程具体如下:在文件刷盘(flush)或者文件合并(compaction)前,从已加载的密钥文件中获取AES的密钥,一并生成好AES加密需要的初始向量与数据加密密钥DEK(Data encryption key,数据加密密钥);再根据DEK以及初始向量,逐个对文件Block进行加密。在对文件block进行加密之前,对block中的数据进行编码与压缩。先对文件block中的数据块进行加密,然后在对其中的索引块进行加密。最后,将加密后的DEK存放在加密后的文件中,即信封加密。其方案中,当需要更换密钥信息时,需要在每一个regionserver的hbase-site.xml中配置一个备用CMK,生成与管理方式可参见上文有关CNK的相应内容;然后,重启所有regionserver之后,并需要对Hbase表做大合并(majorcompaction),大合并执行完毕之后,新文件使用备用CMK加密。
经分析,上述现有方案存在如下缺点:
1、需要修改每一台regionserver的配置文件hbase-site.xml,并需要重启集群才能使得密钥配置生效。
2、管理密钥的口令明文配置在hbase-site.xml中,同时密钥文件也保存在本地,有一起丢失的风险。
为了解决或部分解决上述方案存在的问题,本申请实施例提供了一种新的数据处理方案:获取存储在第一存储系统中的第一密钥信息,所述第一密钥信息是通过应用编程接口从所述第一存储系统中获取得到的;加载所述第一密钥信息;根据加载后的所述第一密钥信息对数据进行处理。也即是将第一密钥信息存储在支持热加载的第一存储系统中,这样通过应用编程接口即可获取密钥并进行加载,无需重启集群,提高了用户使用体验。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图1示出了本申请一实施例提供的数据处理系统的结构示意图。如图1所示,该数据处理系统,包括:Hbase数据库集群中的全局管理节点1、区域管理节点2以及所述区域管理节点所管理的分区服务节点3;
所述全局管理节点1,用于接收客户端发送来的密钥创建请求;根据所述密钥创建请求,生成第一密钥信息;将所述第一密钥信息发送至所述区域管理节点2;
所述区域管理节点2,用于接收所述第一密钥信息;通过应用编程接口将所述第一密钥信息存储至第一存储系统中;
所述分区服务节点3,用于向所述区域管理节点2发送密钥获取请求;
所述区域管理节点2,还用于接收所述分区服务节点3发送的所述密钥获取请求;通过应用编程接口从所述第一存储系统中获取第一密钥信息;将所述第一密钥信息返回给所述分区服务节点3;
所述分区服务节点3,还用于接收所述区域管理节点2返回的所述第一密钥信息;加载所述第一密钥信息;根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
实际应用时,上述Hbase数据库集群中全局管理节点1可以为一个;区域管理节点2可以为一个或多个;一个区域管理节点所管理的分区服务节点可以为一个或多个。
这里需要说明的是:本申请实施例中的各节点的数据处理流程以及节点之间的交互过程将在下述各实施例中详细介绍。
图2a示出了本申请一实施例提供的数据处理方法的流程示意图。该方法适用于Hbase数据库集群中的全局管理节点,也即该方法的执行主体为Hbase数据库集群中的全局管理节点。其中,Hbase数据库为非关系型数据库。如图2a所示,该方法包括:
201、接收客户端发送来的密钥创建请求。
202、根据所述密钥创建请求,生成第一密钥信息。
203、将所述第一密钥信息发送至所述区域管理节点,以由所述区域管理节点通过应用编程接口将所述第一密钥信息存储至第一存储系统中。
其中,所述区域管理节点接收到所述分区服务节点发送的密钥获取请求后,通过应用编程接口从所述第一存储系统中获取所述第一密钥信息,并将所述第一密钥信息发送给所述分区服务节点,以由所述分区服务节点加载并根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
上述201中,客户端可通过远程过程调用(Remote Procedure Call,RPC)向全局管理节点发送密钥创建请求。也即该密钥创建请求为RPC请求,该请求用于请求调用全局管理节点提供的相应的应用编程接口API(Application Programming Interface)创建第一密钥信息。
在一具体实例中,上述密钥创建请求具体可以为shell命令。其中,shell命令本质上也是调用API接口。
上述202中,在一实例中,可根据所述密钥创建请求,随机生成随机密钥;根据该随机密钥,确定第一密钥信息。
在一实例中,可根据所述密钥创建请求,调用应用编程接口生成第一密钥信息。
上述203中,全局管理节点可将第一密钥信息同步给区域管理节点,以由所述区域管理节点通过应用编程接口将所述第一密钥信息存储至第一存储系统中。
其中,第一存储系统可以理解为是支持动态加载的存储系统,也即通过应用编程接口API即可向该存储系统写入数据以及读取该存储系统中的数据。这样,写入到该存储系统中的数据,可以立马通过API读取出来,无需重启集群。
示例性的,上述第一存储系统具体可以为基于zookeeper的存储系统或分布式文件存储系统DFS(Distributed File System)。这是因为,无需重启集群,即可通过应用编程接口访问该第一存储系统。
实际应用时,全局管理节点可将所述第一密钥信息同步给集群中所有的区域管理节点,以由各区域管理节点通过应用编程接口将所述第一密钥信息存储至各自对应的第一存储系统中。注:不同区域管理节点对应的第一存储系统不是同一个。
上述区域管理节点以及分区服务节点的数据处理流程以及两者之间的交互过程将在下述实施例中详述。
本申请实施例提供的技术方案,Hbase数据库集群中的全局管理节点接收到客户端发送来的密钥创建请求后,生成第一密钥信息,将第一密钥信息同步给集群中的区域管理节点,以由区域管理节点通过应用编程接口将第一密钥信息存储到第一存储系统中。集群中的分区服务节点想要加载第一密钥信息时,请求区域管理节点通过应用编程接口从第一存储系统中获取即可。也就是说,本申请实施例提供的技术方案中,将第一密钥信息存储在支持热加载的第一存储系统中,这样通过应用编程接口即可获取得到并进行加载,无需重启集群,提高了用户使用体验。
可选的,上述方法,还可包括:
203、通过应用编程接口将所述第一密钥信息存储到第二存储系统中。
第二存储系统也为支持热加载的存储系统。示例性的,上述第一存储系统具体可以为基于zookeeper的存储系统或分布式文件存储系统DFS(Distributed File System)。
第一存储系统和第二存储系统为两个不同的存储系统。在第二存储系统中存储第一密钥信息是为了备份容灾,以确保第一存储系统中的第一密钥信息损坏后,可从第二存储系统中获取第一密钥信息并加载。
进一步的,上述202中“根据所述密钥创建请求,生成第一密钥信息”,可包括如下步骤:
2021、根据所述密钥创建请求,生成第一明文密钥。
2022、根据明文口令,对所述第一明文密钥进行加密,得到第一密文密钥。
2023、根据预设密码算法对所述明文口令进行加密,得到密文口令。
上述2021中,在一种可实现的方案中,可随机生成第一明文密钥。在另一种可实现的方案中,可根据预设规则来生成第一明文密钥。本申请实施例对此不做具体限定。
上述2022中,上述明文口令可以是全局管理节点生成的;还可以是客户端接收到用户输入的明文口令后发送来的。
根据明文口令对第一明文密钥进行加密,得到第一密文密钥。
上述2023中,实际应用时,上述预设密钥算法预先配置在全局管理节点和区域管理节点上。当然,上述预设密钥算法还可配置在分区服务节点上。在一实施例中,预设密码算法可以为移位密码算法。
其中,所述第一密钥信息包括所述第一密文密钥和所述密文口令。
也就是说,区域管理节点在第一存储系统中存储的是第一密文密钥和密文口令。这样,以后就算第一存储系统存在数据泄露,由于存储的是密文口令,非法获取人员无法通过密文口令对第一密文密钥进行解密,也就无法获取到第一明文密钥,进而无法利用第一明文密钥对用户数据进行解密,提高了用户数据安全性。
在一实例中,上述方法,还可包括:
204、通过应用编程接口将所述第一密钥信息存储到第二存储系统中。
全局管理节点将第一密钥信息存储到第二存储系统中,目的是为了做备份。当区域管理节点上的第一存储系统中的第一密钥信息丢失后,区域管理节点可从第二存储系统中动态加载第一密钥信息到第一存储系统中,并且无需重启集群。
图2b示出了本申请实施例提供的密钥创建流程图。如图2b所示,客户端Client4通过远程调用全局管理节点GlobalMaster1上的API接口或shell接口生成第一密钥信息,第一密钥信息中包括密文CMK。全局管理节点GlobalMaster将第一密钥信息存储在其对应的zookeeper中,并将第一密钥信息同步给所有区域管理节点LocalMaster2,区域管理节点LocalMaster2将第一密钥信息存储在其对应的zookeeper中。
图3a示出了本申请一实施例提供的数据处理方法的流程示意图。该方法应用于Hbase数据库集群中的分区服务节点,也即该方法的执行主体为Hbase数据库集群中的分区服务节点。其中,所述Hbase数据库为非关系型数据库。其中,所述Hbase数据库集群包括所述分区服务节点、管理所述分区服务节点的区域管理节点以及全局管理节点。在一实例中,该Hbase数据库具体可以为键值型非关系型数据库。如图3a所示,该方法包括:
301、向所述区域管理节点发送密钥获取请求,以由所述区域管理节点通过应用编程接口从所述第一存储系统中获取第一密钥信息。
302、接收所述区域管理节点返回的所述第一密钥信息。
303、加载所述第一密钥信息。
304、根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
其中,所述区域管理节点接收所述全局管理节点发送的其根据客户端的密钥创建请求生成的所述第一密钥信息,并通过应用编程接口将所述第一密钥信息存储到所述第一存储系统中。
上述301中,分区服务节点可在需要使用第一密钥信息时,向所述区域管理节点发送密钥获取请求。在一实例中,分区服务节点可在接收到客户端发送来的密钥加载请求后,向区域管理节点发送密钥获取请求。具体地,还包括:
104、接收到客户端发送来的密钥加载请求后,触发所述向所述区域管理节点发送密钥获取请求的步骤。
在另一实例中,分区服务节点可以在其内存中已加载的第一密钥信息发生损坏时,向区域管理节点发送密钥获取请求。在又一实例中,区域管理节点可在其向第一存储系统中存储第一密钥信息后,通知其所管理的分区服务节点密钥创建消息,分区服务节点接收到密钥创建消息后,可向区域管理节点发送密钥获取请求。
分区服务节点可通过远程过程调用RPC向区域管理节点发送密钥获取请求。也即该密钥创建请求为RPC请求,该请求用于请求调用区域管理节点提供的相应的应用编程接口API(Application Programming Interface)。区域管理节点可远程调用第一存储系统提供的API接口从第一存储系统中获取第一密钥信息。
在一具体实例中,上述密钥创建请求具体可以为shell命令。其中,shell命令本质上也是调用API接口。
上述303中,加载第一密钥信息,也即是将上述第一密钥信息的相关数据加载到内存中指定位置处,以供后续加解密使用。
上述304中,根据加载后的第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行加密或解密处理。
需要补充说明的是,将第一密钥信息保存在第一存储系统中,可实现第一密钥信息的持久化存储,从而提高可靠性。
实际应用时,上述第一密钥信息可包括:第一密文密钥和密文口令。其中,密文口令是对明文口令进行加密得到的;第一密文密钥是根据明文口令对第一明文密钥进行加密得到的。也就是说,在本申请实施例中,第一存储系统中存储的是密文口令,这样,就算第一密文密钥和密文口令被非法获取,非法获取者也无法根据密文口令对第一密文密钥进行解密以得到第一明文密钥,从而无法破解数据,提高了数据存储的安全性。当然,上述第一密钥信息还可包括:第一密文密钥对应的密钥名称。
相应的,上述303中“加载所述第一密钥信息”,具体可采用如下步骤来实现:
3031、根据预设密码算法对所述密文口令进行解密,得到明文口令。
3032、根据所述明文口令,对所述第一密文密钥进行解密,得到第一明文密钥。
3033、将所述第一明文密钥缓存在所述分区服务节点的内存中。
其中,所述第一明文密钥用于对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
上述3031中,预设密码算法预设配置在分区服务节点上。预设密码算法可以为移位密码算法。移位密码算法的实现可参见现有技术,在此不再详述。
可将密文口令输入到预设密码算法中,以由预设密码算法进行解密,得到明文口令。
上述3032中,根据明文口令对第一密文密钥进行解密,得到第一明文密钥。
上述3033中,将第一明文密钥缓存在分区服务节点的内存中的指定位置,以便后续根据第一明文密钥对上述数据进行处理。
在一种可实现的方案中,上述304中“根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据数据进行处理”,包括:
3041、获取第二明文密钥。
3042、根据所述第二明文密钥对数据进行加密,得到密文数据。
3043、根据所述第一明文密钥对所述第二明文密钥进行加密,得到第二密文密钥。
3044、根据所述密文数据以及所述第二密文密钥,确定存储文件。
其中,所述存储文件中包括所述密文数据以及所述第二密文密钥。
3045、存储所述存储文件。
上述3041中,分区服务节点可在内存中事先生成上述第二明文密钥,后续需要使用时,直接从内存中获取即可。第二明文密钥也即上述DEK,真正用于对数据进行加密的密钥。分区服务节点可在每次打开Hbase表中分配给所述分区服务器的分区时,在内存中生成上述第二明文密钥。注:分区服务节点在每次关闭Hbase表中分配给所述分区服务器的分区后,会在内存中删除上述第二明文密钥。也即第二明文密钥随着分区状态的改变而改变。
在一实例中,上述3042中,可获取针对所述数据生成的初始向量;根据初始向量与第二明文密钥对数据进行加密,得到初始密文数据;根据初始密文数据与所述初始向量,确定密文数据。密文数据中包括初始密文数据和初始向量。其中,在根据初始向量与第二明文密钥对数据进行加密之前,还可对数据进行编码和压缩。
以数据库集群中的Hbase表为例,上述数据可以为Hbase表对应的文件Hfile中块block中的数据,还可以是日志log中的WALEdit。
以存储文件Hfile为例,如图4所示,Hfile中通常会包括多个数据块100(datablock)、多个索引块200(index block)以及元数据区(可包括文件尾Trailer),可按照块级别进行加密,提高存储安全性。具体地,可根据第一明文密钥分别对Hfile中的多个数据块和多个索引块进行编码、压缩以及加密,得到多个密文数据块和多个密文索引块。
图5a示出了有关数据块100的处理流程,对数据块进行编码211、压缩212以及加密213,得到密文数据块(包括头部header和密文字节数组encrypted bytes)。根据多个密文数据块、多个密文索引块以及第二密文密钥,确定存储文件。具体的,第二密文密钥可保存在存储文件中的元数据区,例如文件尾Trailer中。
其中,数据块中包括多个键值对Key-Value。
以日志log为例,如图6a所示,日志log中通常会包括多个WALEdit311。实际应用时,将日志log中的WALEdit添加到第三存储系统中的日志存储文件尾部。在这个过程中,根据第二明文密钥对WALEdit加密,得到密文WALEdit,打开日志存储文件,将密文WALEdit写入日志存储文件的尾部;关闭日志存储文件时将第二密文密钥放置在日志存储文件的元数据区meta312,得到新的日志存储文件。图6a示出了日志存储文件,该日志存储文件中保存有多个加密后的WALEdit,其元数据区meta312中存储有第二密文密钥。
上述3045中,可将上述存储文件存储至第三存储系统中。第三存储系统可以为分布式文件存储系统中,例如:HDFS(Hadoop Distributed File System,hadoop分布式文件存储系统)。在一实例中,上述第三存储系统和第一存储系统可以为同一个存储系统或者为不同的存储系统,本申请实施例对此不作具体限定。
实际应用时,针对数据库集群中Hbase表中的分配给所述分区服务节点的分区region触发刷盘(flush)操作、Hfile合并(compaction)操作或刷写wal中的WALEdit到第三存储系统中的操作后,执行上述步骤1031到步骤1034,也即产生新文件时,触发加密过程。此外,上述分区region包括多个Store;每个Store包括一个Memstore和多个StoreFile(也即HFile),为了提高存储安全性,可针对不同的Store,在内存中生成不同的第二明文密钥。这样,不同Store对应的Hfile在加密时使用的第二明文密钥是不同的。且随着Region的状态改变(open或close),其内部的Store对应的DEK也会随之更新。
如图5b所示,整个集群的处理流程如下:
S40、客户端请求全局管理节点创建CMK。
S41、全局管理节点将创建好的CMK发送给区域管理节点,以由区域管理节点通过API将CMK存储在zookeeper上。
S42、分区服务节点从区域管理节点处获取CMK。
S43、分区服务节点根据DEK对日志WAL进行加密得到密文日志文件,并用CMK对DEK进行加密,得到密文DEK。
S44、分区服务节点根据DEK对有关分区的数据文件进行加密得到密文数据文件,并用CMK对DEK进行加密,得到密文DEK。
S45、将密文日志文件与密文DEK关联存储至HDFS上。
S46、将密文数据文件与密文DEK关联存储至HDFS上。
此外,上述304中“根据加载后的所述第一密钥信息对数据进行处理”,还包括:
3046、从有关Hbase表中分配给所述分区服务器的分区的存储文件中获取密文数据以及第二密文密钥。
3047、根据所述第一明文密钥对所述第二密文密钥进行解密,得到第二明文密钥。
3048、根据所述第二明文密钥对所述密文数据进行解密,得到明文数据。
上述3046中,可从第三存储系统中的存储文件中获取密文数据以及第二密文密钥。第二密文密钥保存在存储文件中的元数据区。
上述3047中,从分区服务节点的内存中获取已加载的第一明文密钥。根据第一明文密钥对第二密文密钥进行解密,得到第二明文密钥。
在一实例中,上述3048中,对所述密文数据进行解析,得到初始向量和初始密文数据;根据第二明文密钥和初始向量对初始密文数据进行解密,得到明文数据。实际应用时,还可对明文数据进行解压缩和解码得到原始数据。
图6b示出了文件File中数据块的解密过程。如图6b所示,解密过程包括:
S21、文件读取器filereader读取存储文件LDFile,
S22、根据LDFile中的索引块indexblocks,查找ScannedBlocks(也即上述密文数据块)
S23、查找到目标密文数据块Datablock。
S24、从LDFile的元数据区Trailer中获取密文DEK。
S25、根据内存中明文CMK对密文DEK进行解密,得到明文DEK。
S26、根据明文DEK对目标密文数据块Datablock中的密文字节数组进行解密。
S27、解压缩。
S28、解码,得到明文数据块Datablock。
S29、将明文数据块Datablock中的目标KeyValue返回给文件读取器filereader。
图6c示出了日志log中密文WALEdit的解密过程。如图6c所示,该过程包括:
S31、根据明文CMK对从日志文件中的元数据区meta中获取的密文DEK进行解密,得到明文DEK。
S32、根据明文DEK对日志文件log中密文WALEdit进行解密,得到明文WALEdit。
S33、日志读取器WALReader将明文WALEdit输出。
上述解密过程发生在分区服务节点访问第三存储系统中的存储文件时或发生在Hfile合并过程中。
为了方便用户进行密钥轮转,上述方法,还包括:
305、接收到客户端发送来的密钥轮转请求后,触发所述向所述区域管理节点发送密钥获取请求的步骤。
306、根据所述分区服务节点的内存中原有的第二密钥信息对有关Hbase表中分配给所述分区服务器的分区的存储文件进行解密,得到解密后的存储文件。
307、对解密后的存储文件进行合并,得到合并后的存储文件。
上述304中“根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理”,包括:
3041、根据加载后的所述第一密钥信息对所述合并后的存储文件进行加密。
上述306中,若所述分区服务节点的内存中存在已加载的第二密钥信息,说明当前第三存储系统中的存储文件均由已加载的第二密钥信息进行加密得到的。
为了更换新的密钥,需要根据已加载的第二密钥信息对存储文件进行解密,得到解密后的存储文件;并对解密后的存储文件进行合并,得到合并后存储文件;然后,用新的第一密钥信息对合并后存储文件进行加密,得到密文合并后存储文件。将密文合并后存储文件存储至第三存储系统中。
在一实例中,上述存储文件指的是数据库集群中hbase表中分配给分区服务节点的分区对应的存储文件Hfile。
实际应用时,上述步骤306之后,可在内存中将已加载的第二密钥信息进行过期标注,或者,在所述分区服务节点的内存中删除所述第二密钥信息,以便后续分区服务节点根据第一密钥信息对数据进行处理。
上述过程可称为密钥轮转过程。图3b示出了本申请实施例提供的密钥轮转流程图。如图3b所示,客户端可触发分区服务节点进行密钥轮转S1(对应S1:触发轮转),分区服务节点S1从区域管理节点处获取得到第一密钥信息,并加载第一密钥信息到内存中(对应S2:原CMK状态转移)。分区服务节点执行上述步骤306、307以及3041,(对应S3:表大合并major compaction)。分区服务节点删除内存中原有的第二密钥信息(对应S4:原CMK安全删除),轮转结束S5。整个轮转过程无需重启集群。
进一步的,上述方法,还可包括:分区服务节点接收Hbase表的加密配置属性更新请求,所述加密配置属性更新请求中携带有目标密钥算法的相关信息,例如,名称;将所述Hbase表中分配给所述分区服务器的分区的加密配置属性更改为所述目标密钥算法的相关信息,得到修改后加密配置属性;关闭所述分区;打开所述分区,以重新加载所述修改后加密配置属性。
这样,实现了数据库表的加密算法的更换。上述目标密钥算法可以为AES或SMS4算法。
实际应用时,客户端可向上述全局管理节点发送加密配置属性更新请求,全局管理节点接收到该更新请求后,将该更新请求转发至区域管理节点,再由区域管理节点转发至分区服务节点。
综上所述,在静态数据加密过程中,使用了密钥层级结构加密、信封加密与block级别的加密粒度,对用户透明,且适用于大数据场景。本申请实施例提供的技术方案中,密钥管理可以不依赖外部KMS服务,形成密钥管理、轮转的闭环,同时也预留了对接KMS的接口。用户可以根据需要来选择相应的加密服务。静态加密密钥管理相对用户来讲更简单,只需要通过API或者shell命令方式即可创建用户管理密钥,并且创建到密钥生效,以及后续的密钥轮转都无需重启集群,所以对用户体验更加友好。所有密钥相关的配置不明文化,没有密钥与配置泄露风险;还支持SMS4国密加密算法。
这里需要说明的是:本申请实施例提供的所述方法中各步骤未尽详述的内容可参见上述实施例中的相应内容,此处不再赘述。此外,本申请实施例提供的所述方法中除了上述各步骤以外,还可包括上述各实施例中其他部分或全部步骤,具体可参见上述各实施例相应内容,在此不再赘述。
图7示出了本申请一实施例提供的数据处理方法的流程示意图。该方法应用于Hbase数据库集群中的区域管理节点,也即该方法的执行主体为Hbase数据库集群中的区域管理节点。其中,所述Hbase数据库可以为非关系型数据库。其中,所述Hbase数据库集群包括全局管理节点、所述区域管理节点以及所述区域管理节点所管理的分区服务节点。如图7所示,该方法包括:
701、接收所述全局管理节点发送的其根据客户端的密钥创建请求生成的第一密钥信息。
702、通过应用编程接口将所述第一密钥信息存储到所述第一存储系统中。
703、接收到所述分区服务节点发送来的密钥获取请求后,通过应用编程接口从所述第一存储系统中获取所述第一密钥信息。
704、将所述第一密钥信息发送给所述分区服务节点,以由所述分区服务节点进行加载。
其中,所述分区服务节点用于根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
上述步骤701、702、703以及704的具体实现可参见上述各实施例中相应内容,在此不再赘述。
这里需要说明的是:本申请实施例提供的所述方法中各步骤未尽详述的内容可参见上述实施例中的相应内容,此处不再赘述。此外,本申请实施例提供的所述方法中除了上述各步骤以外,还可包括上述各实施例中其他部分或全部步骤,具体可参见上述各实施例相应内容,在此不再赘述。
区域管理节点下面将结合图1对本申请实施例提供的技术方案进行介绍:
1、客户端(未图示)发送用于远程调用shell接口或API接口的创建命令至全局管理节点1。
2、全局管理节点1对该创建命令做校验,校验通过后,生成第一明文CMK。
3、利用JDK提供的jckes加密算法以及用户输入的明文口令对第一明文CMK进行加密得到第一密文CMK。
4、利用移位密码算法对明文口令进行加密,得到密文口令。
5、将第一密钥信息存储在全局管理节点上的zookeeper提供的第二存储系统中,其中,第一密钥信息包括:密文口令和第一密文CMK关联
6、将第一密钥信息同步给区域管理节点2上。
7、区域管理节点2将同步来的第一密钥信息存储在区域管理节点2上的zookeeper提供的第一存储系统中。
8、区域管理节点2向分区服务节点3发送密钥创建消息。
9、分区服务节点3接收到密钥创建消息后,向区域管理节点2发送密钥获取请求。
10、区域管理节点2通过应用编程接口从第一存储系统中获取第一密钥信息。
11、区域管理节点2将第一密钥信息发送给分区服务节点41。
12、分区服务节点3加载第一密钥信息,以将上述第一明文CMK缓存在本地内存中的指定位置。
13、分区服务节点3加载完所述第一密钥信息后,分区服务节点3判断其内存中是否存在已加载的第二明文CMK。
14、若存在,则分区服务节点3根据所述已加载的第二明文CMK对存储文件进行解密,得到解密后的存储文件;
15、分区服务节点3对解密后的存储文件进行合并,得到合并后的存储文件;
16、分区服务节点3根据加载后的所述第一明文CMK对所述合并后的存储文件进行加密。
17、在分区服务节点3的内存中删除所述已加载的第二明文CMK,以实现密钥轮转。
18、分区服务节点3触发flush或者compaction操作时,根据第一明文CMK对新产生的文件进行加密。
其加密过程可参见上述各实施例中相应内容,在此不再赘述。新产生的文件包括Hfile或日志存储文件。
19、分区服务节点3访问HDFS上存储的加密后文件时,根据第一明文CMK对加密后Hfile进行解密。
其解密过程可参见上述各实施例中相应内容,在此不再赘述。加密后文件包括加密后的Hfile或加密后的日志存储文件。
图8示出了本申请又一实施例提供的数据处理装置的结构框图。该装置设置于Hbase数据库集群中的全局管理节点中,所述Hbase数据库集群包括所述全局管理节点、区域管理节点以及所述区域管理节点所管理的分区服务节点。如图8所示,该装置包括:
第一接收模块801,用于接收客户端发送来的密钥创建请求;
第一生成模块802,用于根据所述密钥创建请求,生成第一密钥信息;
第一发送模块803,用于将所述第一密钥信息发送至所述区域管理节点,以由所述区域管理节点通过应用编程接口将所述第一密钥信息存储至第一存储系统中;
所述区域管理节点接收到所述分区服务节点发送的密钥获取请求后,通过应用编程接口从所述第一存储系统中获取所述第一密钥信息,并将所述第一密钥信息发送给所述分区服务节点,以由所述分区服务节点加载并根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
可选的,上述装置,还可包括第一存储模块,用于:
通过应用编程接口将所述第一密钥信息存储到第二存储系统中。
这里需要说明的是:上述实施例提供的数据处理装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图9示出了本申请又一实施例提供的数据处理装置的结构框图。该装置设置于Hbase数据库集群中的分区服务节点。其中,所述Hbase数据库集群包括所述分区服务节点、管理所述分区服务节点的区域管理节点以及全局管理节点。该装置,包括:
第二发送模块901,用于向所述区域管理节点发送密钥获取请求,以由所述区域管理节点通过应用编程接口从所述第一存储系统中获取第一密钥信息;
第二接收模块902,用于接收所述区域管理节点返回的所述第一密钥信息;
加载模块903,用于加载所述第一密钥信息;
处理模块904,用于根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理;
所述区域管理节点接收所述全局管理节点发送的其根据客户端的密钥创建请求生成的所述第一密钥信息,并通过应用编程接口将所述第一密钥信息存储到所述第一存储系统中。
可选的,上述装置,还可包括第三接收模块,用于:
接收到所述区域管理节点发送的密钥创建消息后,触发所述向所述区域管理节点发送密钥获取请求的步骤;
其中,所述密钥创建消息是所述区域管理节点在通过应用编程接口将所述第一密钥信息存储到所述第一存储系统后生成的。
可选的,上述装置,还可包括:
判断模块,用于加载完所述第一密钥信息后,判断所述分区服务节点的内存中是否存在已加载的第二密钥信息;
解密模块,用于若所述分区服务节点的内存中存在已加载的第二密钥信息,则根据所述第二密钥信息对有关Hbase表中分配给所述分区服务器的分区的存储文件进行解密,得到解密后的存储文件;
合并模块,用于对解密后的存储文件进行合并,得到合并后的存储文件;
处理模块904,具体用于:
根据加载后的所述第一密钥信息对所述合并后的存储文件进行加密。
可选的,上述装置,还可包括:
删除模块,用于在所述分区服务节点的内存中删除所述第二密钥信息。
这里需要说明的是:上述实施例提供的数据处理装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图10示出了本申请又一实施例提供的数据处理装置的结构框图。该装置设置于Hbase数据库集群中的区域管理节点,其中,所述Hbase数据库集群包括全局管理节点、所述区域管理节点以及所述区域管理节点所管理的分区服务节点;如图6所示,该装置包括:
第四接收模块1001,用于接收所述全局管理节点发送的其根据客户端的密钥创建请求生成的第一密钥信息;
第二存储模块1002,用于通过应用编程接口将所述第一密钥信息存储到所述第一存储系统中;
第一获取模块1003,用于接收到所述分区服务节点发送来的密钥获取请求后,通过应用编程接口从所述第一存储系统中获取所述第一密钥信息;
第三发送模块1004,用于将所述第一密钥信息发送给所述分区服务节点,以由所述分区服务节点进行加载;
其中,所述分区服务节点用于根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
这里需要说明的是:上述实施例提供的数据处理装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图11示出了本申请一实施例提供的电子设备的结构示意图。如图11所示,所述电子设备包括存储器1101以及处理器1102。存储器1101可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器1101可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
所述存储器1101,用于存储程序;
所述处理器1102,与所述存储器1101耦合,用于执行所述存储器1101中存储的所述程序,以实现上述各方法实施例提供的数据处理方法。
进一步,如图11所示,电子设备还包括:通信组件1103、显示器1104、电源组件1105、音频组件1106等其它组件。图11中仅示意性给出部分组件,并不意味着电子设备只包括图11所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各方法实施例提供的数据处理方法的步骤或功能。
相应地,本申请实施例还提供一种存储有计算机程序产品,包括计算机程序,所述计算机程序被计算机执行时能够实现上述各方法实施例提供的数据处理方法的步骤或功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种数据处理方法,其中,应用于Hbase数据库集群中的全局管理节点,所述Hbase数据库集群包括所述全局管理节点、区域管理节点以及所述区域管理节点所管理的分区服务节点;所述方法包括:
接收客户端发送来的密钥创建请求;
根据所述密钥创建请求,生成第一密钥信息;
将所述第一密钥信息发送至所述区域管理节点,以由所述区域管理节点通过应用编程接口将所述第一密钥信息存储至第一存储系统中;
所述区域管理节点接收到所述分区服务节点发送的密钥获取请求后,通过应用编程接口从所述第一存储系统中获取所述第一密钥信息,并将所述第一密钥信息发送给所述分区服务节点,以由所述分区服务节点加载并根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
2.根据权利要求1所述的方法,其中,根据所述密钥创建请求,生成第一密钥信息,包括:
根据所述密钥创建请求,生成第一明文密钥;
根据明文口令,对所述第一明文密钥进行加密,得到第一密文密钥;
根据预设密码算法对所述明文口令进行加密,得到密文口令;
其中,所述第一密钥信息包括所述第一密文密钥和所述密文口令。
3.根据权利要求1所述的方法,其中,还包括:
通过应用编程接口将所述第一密钥信息存储到第二存储系统中。
4.根据权利要求1至3中任一项所述的方法,其中,根据所述密钥创建请求,生成第一密钥信息,包括:
根据所述密钥创建请求,调用应用编程接口生成第一密钥信息。
5.一种数据处理方法,其中,应用于Hbase数据库集群中的分区服务节点,其中,所述Hbase数据库集群包括所述分区服务节点、管理所述分区服务节点的区域管理节点以及全局管理节点;所述方法,包括:
向所述区域管理节点发送密钥获取请求,以由所述区域管理节点通过应用编程接口从第一存储系统中获取第一密钥信息;
接收所述区域管理节点返回的所述第一密钥信息;
加载所述第一密钥信息;
根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理;
所述区域管理节点接收所述全局管理节点发送的其根据客户端的密钥创建请求生成的所述第一密钥信息,并通过应用编程接口将所述第一密钥信息存储到所述第一存储系统中。
6.根据权利要求5所述的方法,其中,所述第一密钥信息包括第一密文密钥和密文口令;
加载所述第一密钥信息,包括:
根据预设密码算法对所述密文口令进行解密,得到明文口令;
根据所述明文口令,对所述第一密文密钥进行解密,得到第一明文密钥;
将所述第一明文密钥缓存在所述分区服务节点的内存中;
其中,所述第一明文密钥用于对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
7.根据权利要求5或6所述的方法,其中,还包括:
接收到客户端发送来的密钥加载请求后,触发所述向所述区域管理节点发送密钥获取请求的步骤。
8.根据权利要求5或6所述的方法,其中,还包括:
接收到客户端发送来的密钥轮转请求后,触发所述向所述区域管理节点发送密钥获取请求的步骤;
根据所述分区服务节点的内存中原有的第二密钥信息对有关Hbase表中分配给所述分区服务器的分区的存储文件进行解密,得到解密后的存储文件;
对解密后的存储文件进行合并,得到合并后的存储文件;
根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理,包括:
根据加载后的所述第一密钥信息对所述合并后的存储文件进行加密。
9.根据权利要求8所述的方法,其中,还包括:
在所述分区服务节点的内存中删除所述第二密钥信息。
10.一种数据处理方法,其中,应用于Hbase数据库集群中的区域管理节点,其中,所述Hbase数据库集群包括全局管理节点、所述区域管理节点以及所述区域管理节点所管理的分区服务节点;所述方法,包括:
接收所述全局管理节点发送的其根据客户端的密钥创建请求生成的第一密钥信息;
通过应用编程接口将所述第一密钥信息存储到所述第一存储系统中;
接收到所述分区服务节点发送来的密钥获取请求后,通过应用编程接口从所述第一存储系统中获取所述第一密钥信息;
将所述第一密钥信息发送给所述分区服务节点,以由所述分区服务节点进行加载;
其中,所述分区服务节点用于根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
11.一种数据处理系统,其中,包括:Hbase数据库集群中的全局管理节点、区域管理节点以及所述区域管理节点所管理的分区服务节点;
所述全局管理节点,用于接收客户端发送来的密钥创建请求;根据所述密钥创建请求,生成第一密钥信息;将所述第一密钥信息发送至所述区域管理节点;
所述区域管理节点,用于接收所述第一密钥信息;通过应用编程接口将所述第一密钥信息存储至第一存储系统中;
所述分区服务节点,用于向所述区域管理节点发送密钥获取请求;
所述区域管理节点,还用于接收所述分区服务节点发送的所述密钥获取请求;通过应用编程接口从所述第一存储系统中获取所述第一密钥信息;将所述第一密钥信息返回给所述分区服务节点;
所述分区服务节点,还用于接收所述区域管理节点返回的所述第一密钥信息;加载所述第一密钥信息;根据加载后的所述第一密钥信息对有关Hbase表中分配给所述分区服务器的分区的数据进行处理。
12.一种电子设备,其中,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现权利要求1至10中任一项所述的数据处理方法。
13.一种计算机程序产品,其中,包括:计算机程序;所述计算机程序被计算机执行时能够实现权利要求1至10中任一项所述的数据处理方法。
14.一种存储有计算机程序的计算机可读存储介质,其中,所述计算机程序被计算机执行时能够实现权利要求1至10中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111117054.2A CN113987563A (zh) | 2021-09-23 | 2021-09-23 | 数据处理方法、系统、产品、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111117054.2A CN113987563A (zh) | 2021-09-23 | 2021-09-23 | 数据处理方法、系统、产品、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113987563A true CN113987563A (zh) | 2022-01-28 |
Family
ID=79736411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111117054.2A Pending CN113987563A (zh) | 2021-09-23 | 2021-09-23 | 数据处理方法、系统、产品、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113987563A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116015767A (zh) * | 2022-12-07 | 2023-04-25 | 浪潮云信息技术股份公司 | 一种数据处理方法、装置、设备及介质 |
CN116707850A (zh) * | 2022-09-29 | 2023-09-05 | 荣耀终端有限公司 | 一种数据处理方法、数据访问方法及设备 |
CN116996219A (zh) * | 2023-09-27 | 2023-11-03 | 天津卓朗昆仑云软件技术有限公司 | 密钥交互方法、系统及电子设备 |
CN117176346A (zh) * | 2023-11-01 | 2023-12-05 | 中电信量子科技有限公司 | 分布式量子密钥链路控制方法及密钥管理系统 |
-
2021
- 2021-09-23 CN CN202111117054.2A patent/CN113987563A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116707850A (zh) * | 2022-09-29 | 2023-09-05 | 荣耀终端有限公司 | 一种数据处理方法、数据访问方法及设备 |
CN116707850B (zh) * | 2022-09-29 | 2024-05-14 | 荣耀终端有限公司 | 一种数据处理方法、数据访问方法及设备 |
CN116015767A (zh) * | 2022-12-07 | 2023-04-25 | 浪潮云信息技术股份公司 | 一种数据处理方法、装置、设备及介质 |
CN116996219A (zh) * | 2023-09-27 | 2023-11-03 | 天津卓朗昆仑云软件技术有限公司 | 密钥交互方法、系统及电子设备 |
CN117176346A (zh) * | 2023-11-01 | 2023-12-05 | 中电信量子科技有限公司 | 分布式量子密钥链路控制方法及密钥管理系统 |
CN117176346B (zh) * | 2023-11-01 | 2024-03-08 | 中电信量子科技有限公司 | 分布式量子密钥链路控制方法及密钥管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10574456B2 (en) | Encrypted file storage | |
CN113987563A (zh) | 数据处理方法、系统、产品、设备及存储介质 | |
US9256499B2 (en) | Method and apparatus of securely processing data for file backup, de-duplication, and restoration | |
US9122882B2 (en) | Method and apparatus of securely processing data for file backup, de-duplication, and restoration | |
US9064133B2 (en) | Method and apparatus of securely processing data for file backup, de-duplication, and restoration | |
US11394543B2 (en) | System and method for secure sensitive data storage and recovery | |
CN106992851B (zh) | 基于TrustZone的数据库文件口令加解密方法、装置及终端设备 | |
CN110635906B (zh) | 一种分布式块存储系统的密钥管理方法及装置 | |
US11321471B2 (en) | Encrypted storage of data | |
JPWO2014192063A1 (ja) | アプリケーション実行プログラム,アプリケーション実行方法及びアプリケーションを実行する情報処理端末装置 | |
CN110445840B (zh) | 一种基于区块链技术的文件存储和读取的方法 | |
Virvilis et al. | Secure cloud storage: Available infrastructures and architectures review and evaluation | |
KR20210036700A (ko) | 트랜잭션에 포함된 평문 데이터의 변경을 지원하는 블록체인 시스템 | |
CN112733189A (zh) | 一种实现文件存储服务端加密的系统与方法 | |
US9054864B2 (en) | Method and apparatus of securely processing data for file backup, de-duplication, and restoration | |
CN116015767A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN110602132A (zh) | 一种数据加解密处理方法 | |
CN111031352B (zh) | 音视频加密方法、安全处理方法、装置及存储介质 | |
CN111737736A (zh) | 一种创建并管理加密区的方法、系统、设备及介质 | |
JP7374264B2 (ja) | 国際データレジデンシのための暗号化キー管理 | |
JP2007310603A (ja) | 文書処理装置及び文書処理プログラム | |
CN109933994B (zh) | 数据分级存储方法和装置以及计算设备 | |
JP7086163B1 (ja) | データ処理システム | |
KR20230070772A (ko) | 블록체인 기반 클라우드 스토리지 시스템 및 상기 시스템에서의 접근 권한 제어 방법 | |
KR20230096293A (ko) | 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법 및 장치 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40066440 Country of ref document: HK |