(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202211085531.6
(22)申请日 2022.09.06
(65)同一申请的已公布的文献号
申请公布号 CN 115146245 A
(43)申请公布日 2022.10.04
(73)专利权人 杭州比智科技有限公司
地址 311121 浙江省杭州市余杭区仓前街
道仓兴路1号23幢2-4楼
(72)发明人 卢薇
(74)专利代理 机构 北京云科知识产权代理事务
所(特殊普通 合伙) 11483
专利代理师 张飙
(51)Int.Cl.
G06F 21/31(2013.01)
G06F 21/60(2013.01)
H04L 9/40(2022.01)
(56)对比文件
CN 114036126 A,202 2.02.11CN 113204776 A,2021.08.0 3
CN 112364377 A,2021.02.12
US 20212793 57 A1,2021.09.09
CN 113590651 A,2021.1 1.02
CN 105656903 A,2016.0 6.08
CN 109995712 A,2019.07.09
Sultan Almakdi,et al. .Secure and
Efficient Query Proces sing Technique for
Encrypted Databases i n Cloud. 《 2019 2nd
Internati onal Conference o n Data
Intelligence and Security (ICDIS)》 .2019,
第120-127页.
Antonopoulos,P et al. .Azure SQ L
Database Al ways Encrypted. 《Web of
Science》 .2020,151 1-25.
金伟等.支持高并发的Hado op高性能加密方
法研究. 《通信学报》 .2019,(第12期),第3 3-44
页.
审查员 周瑞瑞
(54)发明名称
一种密钥权限可动态管理的Hive列级数据
加密方法及系统
(57)摘要
本发明公开了一种密钥权限可动态管理的
Hive列级数据加密方法及系统, 所述方法包括如
下步骤: S1.Hive表权限申请; S2.提交HQL; S3.获
取用户认 证凭证; S4.Kerberos认证; S5.HQL任 务
提交; S6.创建表以及表密钥; S7.更新表元数据
信息; S8.提交MapReduce作业; S9.获取表密钥;
S10.获取用户表字 段权限; S11.基于序列化的字
段解密; S12.基于反序列化的字段加密。 本发明
的密钥权限可动态管理的Hive列级数据加密方
案能够实现自动化数据加密和解密和基于用户
权限的密钥管理, 满足实际生产环 境中的安全需
求, 提高了加密效率和数据安全性。
权利要求书2页 说明书13页 附图3页
CN 115146245 B
2022.11.18
CN 115146245 B
1.一种密钥权限可动态管理的Hive列级数据加密方法, 其特征在于, 所述方法包括如
下步骤:
S1. Hive表权限申请: 用户向用户权限管理单元申请表创建权限, 用户权限管理单元
为用户创建相应的Kerber os认证主体以及keytab, 并且向密钥管理服务为用户的Kerber os
认证主体同步申请访问控制和创建密钥权限, 实现密钥权限动态管理;
S2. 提交HQL: 用户向HQ L提交代理单 元提交创建表的D DL语句;
S3. 获取用户认证凭证: HQL提交代理单元向用户权限管理单元获取用户的Kerberos
认证主体和keytab文件;
S4. Kerberos认证: HQL提交代理单元根据用户的Kerberos认证主体和keytab文件进
行Kerberos认证;
S5. HQL任务提交: Kerberos认证通过后, 建表的D DL语句被作为HQ L任务提交到Hive;
S6. 创建表以及表密钥: Hive将DDL语句转化为DDL任务, 在建表的过程中连接密钥管
理服务单元并使用D DL语句中的表密钥名称创建表密钥;
S7. 更新表元 数据信息: 在建表结束前, Hive将表的元 数据信息更新到 Hive元数据库;
S8. 提交MapReduce作业: 在建表之后, 当其他用户按照步骤S1 ‑S5提交表查询和表插
入的HQL任务后, Hive为其分别生成Fetch和MapRed任务并且转化为MapReduce作业提交到
Yarn上去执 行;
S9. 获取表密钥: 表查询的MapReduce作 业算子树上叶子节点将对应表扫描算子, 表扫
描算子在读取表的行数据时, 需要进行序列化操作, 序列化器在进行序列化之前根据用户
信息和表密钥名称向密钥管理服 务获取表密钥;
S10. 获取用户表字段权限: 若成功获取表密钥, 序列 化器向用户权限管理获取用户的
字段权限;
S11. 基于序列化的字段解密: 序列化器只对有密钥和有权限的字段进行解密, 其他情
况下字段将直接按存 储内容传递, 不做加工处 理;
S12. 基于反序列化的字段加密: 表插入的MapRecuce作业算子树上叶子节点将对应文
件输出算子, 文件输出算子在将行数据写入表文件之前, 需要进 行反序列化操作, 序列化器
在进行反序列化时再次重复步骤S9获取表密钥, 然后根据 表密钥对表中需要加密的字段进
行加密。
2.根据权利要求1所述的一种密钥权限可动态管理的Hive列级数据加密方法, 其特征
在于, 步骤S1中, 用户在提交HQL之前需要进行Hive表权限的申请, 来保证HQL能够成功执
行; 用户权限管理单元中的表权限申请模块负责处理用户的表权限申请以及维护用户的表
权限信息, 并且向密钥管理服务单元为用户的Kerberos认证主体同步申请访问控制和创建
密钥权限; 由于密钥的创建和访问控制可通过用户权限管理单元动态配置, 实现密钥权限
可动态管理。
3.根据权利要求2所述的一种密钥权限可动态管理的Hive列级数据加密方法, 其特征
在于, 步骤S2中, 所述DDL语句包含了表名、 字段名、 字段类型、 加密字段列表、 密钥管 理服务
器地址、 表密钥名称、 加密算法和序列化及反序列化方式信息; 用户将 HQL发送给HQL提交代
理, 由HQL提交代理提交HQ L任务。
4.根据权利要求3所述的一种密钥权限可动态管理的Hive列级数据加密方法, 其特征权 利 要 求 书 1/2 页
2
CN 115146245 B
2在于, 步骤S3中, HQL提交代理在提交HQL任务之前 向用户权限管理获取用户的Kerberos认
证主体和keytab文件; 用户权限管 理单元的Kerber os凭证管 理模块和用户认证凭证管 理模
块负责维护这些信息 。
5.根据权利要求4所述的一种密钥权限可动态管理的Hive列级数据加密方法, 其特征
在于, 步骤S4中, HQL提交代理根据获取到的Kerberos认证主体和keytab文件进行Kerberos
认证, 认证通过后向Hive提交HQL任务; Kerberos认证通过后, Hive会话中维护的用户信息
将是Kerberos认证实体对应的信息 。
6.根据权利要求5所述的一种密钥权限可动态管理的Hive列级数据加密方法, 其特征
在于, 步骤S5中, HQL提交代理将HQL任务提交给Hive之后, Hive会根据HQL类型生成相应的
任务; 针对表创建, Hive生成DDL创建表任务; 针对表插入, Hive生成Map Red任务; 针对表查
询, Hive生成F etch任务。
7.根据权利要求6所述的一种密钥权限可动态管理的Hive列级数据加密方法, 其特征
在于, 步骤S6中, 针对DDL创建表任务, HQL中指定序列化、 序列化属性和表属性信息, Hiv e将
创建表HQL转化为DDL任务, 对应着Hive Java源码中DDLTask, 对DDLTask中的createTable
和createTab leLike方法进行改写; 改写后的Hive建表流程中增加了连接密钥管理服务器
创建表密钥的过程; 只有表密钥创建成功, 才能继续执 行, 否则中止表创建过程。
8.根据权利要求7所述的一种密钥权限可动态管理的Hive列级数据加密方法, 其特征
在于, 步骤S 6中表创建成功后自动连接Hive元数据库更新表的元数据信息; 步骤S8中, 当表
创建成功后, 用户提交表插入和表查询HQL任务时, Hive生 成对应的MapRed和Fetch任务, 最
终翻译为MapReduce作业 提交到Yarn上去执 行。
9.根据权利要求8所述的一种密钥权限可动态管理的Hive列级数据加密方法, 其特征
在于, 步骤S9中, 在表读出时的序列化和表写入时的反序列化过程中, 都需要根据属性
hive.kms.uri和hive.encrypt.keynames向密钥管理服务获取表密钥; 首先, 序列化器向密
钥管理服务单元提出获取密钥请求; 然后, 用户权限管理模块获取请求中携带 的用户认证
主体, 根据 表中的用户密钥接入权限控制, 判断用户是否具有创建密钥权限; 密钥管理模块
根据请求中密钥名称检查用户是否具有密钥 访问权限, 如果有, 密钥获取成功, 否则获取
专利 一种密钥权限可动态管理的Hive列级数据加密方法及系统
文档预览
中文文档
19 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-03-03 12:05:16上传分享