CN115618379A - 面向HBase数据库的多粒度数据透明加解密方法及系统 - Google Patents
面向HBase数据库的多粒度数据透明加解密方法及系统 Download PDFInfo
- Publication number
- CN115618379A CN115618379A CN202211193447.6A CN202211193447A CN115618379A CN 115618379 A CN115618379 A CN 115618379A CN 202211193447 A CN202211193447 A CN 202211193447A CN 115618379 A CN115618379 A CN 115618379A
- Authority
- CN
- China
- Prior art keywords
- encryption
- decryption
- task
- data
- read
- 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
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
面向HBase数据库的多粒度数据透明加解密方法及系统,所述方法包括:监测到用户发起查询或写入请求;进入HBase解析入口;获取待加解密元素的信息、加解密策略及待加解密元素的状态标志,待加解密元素包括命名空间、库、表、列簇和列;根据待加解密元素的状态标志判断待加解密元素是否为初始加解密,若是,则执行初始加解密任务,否则执行读写加解密任务;所述系统包括:加解密任务获取模块、任务管理模块、语句解析修改模块及多粒度数据加解密模块。本发明的方法及系统能够区分数据初始加密和读写加密两种场景,拓展适用范围,提升加解密效率;同时对HBase数据实施多粒度加密,将加密粒度精细化到列级,解决原有HDFS存储加密粒度过粗的问题,保障数据安全。
Description
技术领域:
本发明涉及信息安全技术领域,具体涉及一种面向HBase数据库的多粒度数据透明加解密方法及系统。
背景技术:
HBase数据库是基于Hadoop平台的一个列式存储工具,HBase利用Hadoop HDFS作为其文件存储系统,并且HBase支持通过MapReduce来处理Bigtable中的海量数据,具有广泛的应用,但在其数据仓库建设过程中,数据泄露事件时有发生,这会给数据主体造成不可估量的损失,因此HBase数据的安全问题越来越受数据安全领域技术人员的重视。
目前HBase的数据加解密通常不区分初始加密和数据读写加密,加密效率低,应用场景受限;同时,HBase的数据加解密依赖于底层HDFS数据的全盘加解密,其加密粒度过于粗糙,而且加解密后的数据任何用户都可以读取,容易产生数据泄露的问题。
发明内容:
针对上述问题,本发明提供了一种面向HBase数据库的多粒度数据透明加解密方法及系统,该方法能够区分初始加密和读写加密两种场景,适用范围更广,同时对HBase数据实施多粒度加密,能够将加密粒度精细化到列级,解决了原有HDFS存储加密粒度过粗的问题,保障了数据安全。
面向HBase数据库的多粒度数据透明加解密方法,该方法包括:
步骤一:监测到用户发起查询或写入请求;
步骤二:进入HBase解析入口;
步骤三:获取待加解密元素的信息、加解密策略及待加解密元素的状态标志,其中,待加解密元素包括命名空间、库、表、列簇和列,对HBase数据实施多粒度加密,能够将加密粒度精细化到列级,解决了原有HDFS存储加密粒度过粗的问题,保障了数据安全;
步骤四:根据待加解密元素的状态标志判断待加解密元素是否为初始加解密,若是,则执行步骤五,否则执行步骤六;将加解密任务分为初始加解密和读写加解密两种,增加应用场景的同时提高数据加解密的效率;
步骤五:连接HBase向Hadoop平台提交加解密任务,执行初始加解密任务;其中,所述执行初始加解密任务的具体步骤如下:
将加解密元素的信息与加解密策略组装生成Hadoop平台可识别的加解密任务结构,所述组装过程是本领域现有技术,在此不再赘述具体实施过程;
将所述Hadoop平台可识别的加解密任务通过Hadoop客户端提交给Hadoop平台,启动所述加解密任务获取任务编号;
监控所述加解密任务执行状态,若执行成功则返回执行结构,若执行失败则重新执行初始加解密;
步骤六:通过接管HBase自身的读写接口执行读写加解密任务;其中,所述执行读写加解密任务的具体步骤如下:
判断HBase访问用户是否有对数据进行读写加解密的权限,若有,则进行下一步,否则,结束读写加解密过程;
通过待加解密元素的信息判断是否需要对命名空间、库、表中的数据执行加解密操作,若是则执行全量加密,否则,选择读写加解密任务中指定的列簇或列执行读写加解密操作。
优选的,待加解密元素的状态标志为未加密或已加密,对于标志为未加密的数据执行初始加解密任务,对于标志为已加密的数据执行读写加解密任务。
优选的,加解密策略包括加解密算法、加解密模式和密钥长度。
优选的,HBase自身的读写接口包括全表扫描、获取指定列和插入数据。
优选的,初始加解密与读写加解密采用相同的HBase读写接口,但通过待加解密元素的状态标志将加解密任务区分初始加解密和读写加解密,具体为:
待加解密元素的初始状态标志被管理员设置为未加密,保存明文数据,执行初始加密任务;
当执行初始加密任务时,创建与原明文表相同结构的密文表,调用读取接口从原明文表中读取明文数据,调用写入接口将从原明文表中读取的明文数据加密为密文后存入所述密文表中,用密文表或密文数据替换明文表或明文数据,并设置状态标志为已加密;
当执行数据读取操作时,调用读取接口解密密文数据;
当执行写入操作时,调用写入接口加密明文数据。
当执行数据解密任务时,创建与原密文表相同结构的明文表,调用读取接口从密文表中读取密文数据,调用写入接口将从密文表中读取的密文数据解密后存入所述明文表中,由明文表或明文数据替换密文表或密文数据,并设置状态标志为未加密。
优选的,通过检索查询所述任务编号监控初始加解密任务的执行状态。
面向HBase数据库的多粒度数据透明加解密的系统包括:
加解密任务获取模块:加解密任务获取模块用于与管理系统交互获取当前需要执行的加解密任务信息,并根据所述加解密任务信息生成Hadoop平台支持的任务结构。
任务管理模块:任务管理模块用于与Hadoop平台交互,获取初始任务编号,并根据所述编号持续搜索查询任务执行状态,对于执行成功的任务返回执行结果,对于执行失败的任务新提交执行。
语句解析修改模块:语句解析修改模块接管HBase的数据读写接口,将数据读写加解密过程嵌入HBase数据读写过程中。
多粒度数据加解密模块,多粒度数据加解密模块用于获取待加解密元素的信息、加解密策略及待加解密元素的状态标志,若需要对命名空间、库、表中的数据执行加解密操作,则执行全量加密;否则,在接管的HBase自身读写接口选择指定的列簇或列执行读写加解密操作。
优选的,所述管理系统为保存加解密策略和待加解密任务信息的系统。
本发明设计的面向HBase数据库的多粒度数据透明加解密方法及系统通过将加解密任务区分为HBase初始加解密与HBase读写加解密,实现了可支持存量数据加解密与实时读写数据加解密的两种应用场景的同时提升加解密效率。除此之外本发明设计的方法对HBase数据实施多粒度加密,能够将加密粒度精细化到列级,解决了目前存在的HBase的数据加解密依赖于底层HDFS数据的全盘加解密,其加密粒度过于粗糙的问题,于此同时,本方法能够接收用户查询、插入语句,并使用透明加解密方法对语句进行解析,最终实现HBase数据的透明加解密。
附图说明:
附图1是本发明实施例中面向HBase数据库的多粒度数据透明加解密方法的流程图。
具体实施方式:
以下结合说明书附图1对本发明提供的面向HBase数据库的多粒度数据透明加解密方法进行说明。
面向HBase数据库的多粒度数据透明加解密方法,所述方法包括以下步骤:
步骤一:用户发起查询或写入请求;
步骤二:进入HBase解析入口;
步骤三:获取待加解密元素的信息、加解密策略及待加解密元素的状态标志,其中,待加解密元素包括命名空间、库、表、列簇和列,加解密策略包括加解密算法、加解密模式及密钥长度,待加解密元素的状态标志为未加密或已加密;
步骤四:根据待加解密元素的状态标志判断待加解密元素是否为初始加解密,若待加解密元素的状态标志为未加密,则执行步骤五,否则执行步骤六;
步骤五:连接HBase向Hadoop平台提交加解密任务,执行初始加解密任务;其中,所述执行初始加解密任务的具体步骤如下:
将加解密元素的信息与加解密策略组装生成Hadoop平台可识别的加解密任务结构;
将所述Hadoop平台可识别的加解密任务通过Hadoop客户端提交给Hadoop平台,启动所述加解密任务获取任务编号;
通过检索查询任务编号监控所述加解密任务执行状态,若执行成功则返回执行结构,若执行失败则重新执行初始加解密;
步骤六:通过接管HBase自身的读写接口执行读写加解密任务,其中,被接管的HBase自身的读写接口包括全表扫描、获取指定列和插入数据;所述执行读写加解密任务的具体步骤如下:
判断HBase访问用户是否有对数据进行读写加解密的权限,若有,则进行下一步,否则,结束读写加解密过程;判断Hbase访问用户是否有对数据进行读写加解密的权限的方法是多种多样的,比如通过判断访问用户的操作时间是否在允许访问的时间段内判断访问用户是否有权限,或是通过判断访问用户访问的IP地址是否在允许被访问的IP地址名单内来判断访问用户是否有权限,亦或是通过用户本身的身份来判断他是否具有权限等。
通过待加解密元素的信息判断是否需要对命名空间、库、表中的数据执行加解密操作,若是则执行全量加密,否则,选择读写加解密任务中指定的列簇或列执行读写加解密操作。
应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理和宗旨的的前提下,还可以做出若干改进、替换、变型和润饰,这些改进、替换、变型和润饰也应视为本发明的保护范围。
Claims (8)
1.面向HBase数据库的多粒度数据透明加解密方法,其特征在于,所述方法包括以下步骤:
步骤一:监测到用户发起查询或写入请求;
步骤二:进入HBase解析入口;
步骤三:获取待加解密元素的信息、加解密策略及待加解密元素的状态标志,其中,待加解密元素包括命名空间、库、表、列簇和列;
步骤四:根据待加解密元素的状态标志判断待加解密元素是否为初始加解密,若是,则执行步骤五,否则执行步骤六;
步骤五:连接HBase向Hadoop平台提交加解密任务,执行初始加解密任务;其中,所述执行初始加解密任务的具体步骤如下:
将加解密元素的信息与加解密策略组装生成Hadoop平台可识别的加解密任务结构;
将所述Hadoop平台可识别的加解密任务通过Hadoop客户端提交给Hadoop平台,启动所述加解密任务获取任务编号;
监控所述加解密任务执行状态,若执行成功则返回执行结构,若执行失败则重新执行初始加解密;
步骤六:通过接管HBase自身的读写接口执行读写加解密任务;其中,所述执行读写加解密任务的具体步骤如下:
判断HBase访问用户是否有对数据进行读写加解密的权限,若有,则进行下一步,否则,结束读写加解密过程;
通过待加解密元素的信息判断是否需要对命名空间、库、表中的数据执行加解密操作,若是则执行全量加密,否则,选择读写加解密任务中指定的列簇或列执行读写加解密操作。
2.如权利要求1所述的方法,其特征在于,待加解密元素的状态标志为未加密或已加密。
3.如权利要求1所述的方法,其特征在于,加解密策略包括加解密算法、加解密模式和密钥长度。
4.如权利要求1所述的方法,其特征在于,所述被接管的HBase自身的读写接口包括全表扫描、获取指定列和插入数据。
5.如权利要求1所述的方法,其特征在于,初始加解密与读写加解密采用相同的HBase读写接口。
6.如权力要求1所述的方法,其特征在于,通过检索查询所述任务编号监控初始加解密任务的执行状态。
7.面向HBase数据库的多粒度数据透明加解密的系统,其特征在于,所述系统包括:
加解密任务获取模块:加解密任务获取模块用于与管理系统交互获取当前需要执行的加解密任务信息,并根据所述加解密任务信息生成Hadoop平台支持的任务结构;
任务管理模块:任务管理模块用于与Hadoop平台交互,获取初始任务编号,并根据所述编号持续搜索查询任务执行状态,对于执行成功的任务返回执行结果,对于执行失败的任务新提交执行;
语句解析修改模块:语句解析修改模块接管HBase的数据读写接口,将数据读写加解密过程嵌入HBase数据读写过程中;
多粒度数据加解密模块,多粒度数据加解密模块用于获取待加解密元素的信息、加解密策略及待加解密元素的状态标志,若需要对命名空间、库、表中的数据执行加解密操作,则执行全量加密;否则,在接管的HBase自身读写接口选择指定的列簇或列执行读写加解密操作。
8.面向HBase数据库的多粒度数据透明加解密的系统,其特征在于,所述管理系统为保存加解密策略和待加解密任务信息的系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211193447.6A CN115618379A (zh) | 2022-09-28 | 2022-09-28 | 面向HBase数据库的多粒度数据透明加解密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211193447.6A CN115618379A (zh) | 2022-09-28 | 2022-09-28 | 面向HBase数据库的多粒度数据透明加解密方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115618379A true CN115618379A (zh) | 2023-01-17 |
Family
ID=84860479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211193447.6A Pending CN115618379A (zh) | 2022-09-28 | 2022-09-28 | 面向HBase数据库的多粒度数据透明加解密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115618379A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117992991A (zh) * | 2024-04-03 | 2024-05-07 | 深圳九有数据库有限公司 | 基于多粒度的数据库数据加密方法及设备 |
-
2022
- 2022-09-28 CN CN202211193447.6A patent/CN115618379A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117992991A (zh) * | 2024-04-03 | 2024-05-07 | 深圳九有数据库有限公司 | 基于多粒度的数据库数据加密方法及设备 |
CN117992991B (zh) * | 2024-04-03 | 2024-06-25 | 深圳九有数据库有限公司 | 基于多粒度的数据库数据加密方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107247808B (zh) | 一种分布式NewSQL数据库系统及图片数据查询方法 | |
US8615502B2 (en) | Method of and system for reverse mapping vnode pointers | |
CN107273522B (zh) | 面向多应用的数据存储系统和数据调用方法 | |
US8214355B2 (en) | Small table: multitenancy for lots of small tables on a cloud database | |
US10838935B2 (en) | Automating the logging of table changes in a database | |
KR100330576B1 (ko) | 컴퓨터네트워크로부터월드와이드웹상의페이지위치을파악하고문서위치를파악하는시스템및방법 | |
JP7018516B2 (ja) | データクエリ | |
US20160364407A1 (en) | Method and Device for Responding to Request, and Distributed File System | |
JP2008517354A (ja) | データベーステーブル探索用の暗号化されたデータベースインデックスを構築する方法を導入されたコンピュータ | |
CN103902623A (zh) | 用于在存储系统上存取文件的方法和系统 | |
CN106471501B (zh) | 数据查询的方法、数据对象的存储方法和数据系统 | |
US8799677B2 (en) | Encrypted search database device, encrypted search data adding/deleting method and adding/deleting program | |
US20110040788A1 (en) | Coherent File State System Distributed Among Workspace Clients | |
US20150169623A1 (en) | Distributed File System, File Access Method and Client Device | |
CN115618379A (zh) | 面向HBase数据库的多粒度数据透明加解密方法及系统 | |
CN113051221A (zh) | 数据存储方法、装置、介质、设备及分布式文件系统 | |
CN114925041A (zh) | 一种数据查询方法及装置 | |
US8132025B2 (en) | Management method for archive system security | |
US7904489B2 (en) | Database unload/reload of partitioned tables | |
US11669624B2 (en) | Response-hiding searchable encryption | |
CN117093579A (zh) | 数据查询、数据存储方法、装置、设备及存储介质 | |
KR100698834B1 (ko) | 인덱스 컬럼 암호화 방법 | |
JP7173165B2 (ja) | 履歴管理装置、履歴管理方法及びプログラム | |
CN114036126A (zh) | 一种基于语法解析树的大数据Hive透明加解密方法和系统 | |
US20090138523A1 (en) | Content engine asynchronous upgrade framework |
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 |