一种适用于大数据平台的数据透明加解密系统的制作方法

文档序号:22125410发布日期:2020-09-04 17:14阅读:409来源:国知局
一种适用于大数据平台的数据透明加解密系统的制作方法

本发明涉及数据加解密与密钥生命周期管理,尤其涉及一种大数据平台中支持国密算法的数据透明加解密系统。



背景技术:

越来越多的企业和组织预见到大数据的发展潜力,纷纷部署大数据分析与处理平台以处理大型数据集。其中,分布式系统基础架构hadoop平台由于其能够实时处理来自多源异构海量数据,而得以广泛应用。然而该平台在帮助企业快速分析数据的同时,也带来了新的数据安全风险,由于具有不同分析需求的不同用户可以访问大数据平台中的数据,极易导致数据泄露,尤其是管理员用户,极易绕过访问控制策略直接访问存储在大数据平台中的数据,如何保证大数据平台中所存储敏感数据的安全至关重要。

大数据平台数据透明加解密能够解决上述问题,该方法能够保护海量数据存储安全,且不影响大数据平台的正常业务访问。能够对用户和机器生成的许多不同类型数据进行加密操作,包括以下组件产生的数据:关系数据库管理系统(rdbms)、非关系数据库(如hbase)、基于hadoop的一个数据仓库工具(hive)和hadoop分布式文件系统(hdfs)等。

然而,现阶段大数据平台安全加密系统多数存在以下不足:

1.无法同时支持数据库列级透明加密与文件系统中文件级透明加密。

2.不支持国家商用密码算法,例如sm2,sm3,sm4,sm9。

3.密钥管理过于复杂,无法实现对数据加密密钥(包含国密算法加密密钥)的全生命周期管理。

针对现有技术中的缺陷,本发明提供一种适用于大数据平台的数据透明加解密系统,所述系统包含加解密算法执行与密钥生命周期管理两个子系统。其特征在于,该系统能够为系统使用者提供更高的数据传输与存储安全性,同时能够保证密钥的安全存储与全生命周期管理。

在加解密算法执行子系统中,设计全新密码算法库,系统使用者不仅可以调用常见密码算法(包含对称加密算法aes,des,3des,rc2等,公钥加密算法dh,rsa,dsa,ecc等,信息摘要算法md5,dss,sha-1等),同样可以调用国家商用密码算法,包括:抵御密钥替换攻击方面存在可证明安全且签名长度更短的数字签名算法sm2、能够抵御差分分析且具有较强的扩散性的密码杂凑算法sm3、硬件资源占用更少的对称加密算法sm4、加密强度等同于3072位密钥的rsa加密算法的公钥加密算法sm9。

密钥生命周期管理子系统不仅能够为加密算法执行子系统中密码算法(包含常见密钥算法与国密算法)实时提供数据加密密钥,同样能够保证加密密钥的安全性。此外,该子系统为系统使用者提供密钥生命周期实时管理功能,使得系统使用者对密钥的操作更为清晰明了,同时提高了密钥管理安全性。基于国密算法的加密系统部署在大数据平台hadoop中,为hive、hbase、hdfs等组件提供具有更高效率、更高安全性的加密环境。

与现有大数据安全平台加密系统相比,本发明具有以下优势:

1.能够同时支持使用国际加密算法(如aes,3des等)与国密算法(如sm4,sm9),对数据库列级透明加密与文件系统中文件级执行透明加密操作。

2.加密算法执行子系统中,支持本土化对称加密国密算法,例如sm4,sm9;支持本土化非对称加密国密算法,例如sm2;支持本土化杂凑国密算法,例如sm3;支持管理本土化对称加密国密算法,例如sm4,sm9。

3.密钥生命周期管理子系统中,支持管理本土化非对称加密国密算法,例如sm3。

4.系统使用者能够通过密钥管理互操作协议(kmip)与密钥服务器交互,实现对数据加密密钥(包含国密算法加密密钥)的全生命周期管理。



技术实现要素:

本发明提供用一种适用于大数据平台的数据透明加解密系统,所述系统包含加解密算法执行与密钥生命周期管理两个子系统。其特征在于,该系统能够为系统使用者提供更高的数据传输与存储安全性,同时能够保证密钥的安全存储与全生命周期管理。

一种适用于大数据平台的数据透明加解密系统,所述系统对大数据平台中数据的存取操作透明,且包括加解密算法执行子系统与密钥生命周期管理子系统;

所述存取操作透明,包含不改变数据存取所使用的接口和少量增加数据存取所需要的时间。

所述加解密算法执行子系统包括:中间控制模块、加密配置引擎模块、解密配置引擎模块、执行模块、数据存储模块、配置接收与控制模块、密钥算法库与密钥调用模块。

中间控制模块用于接收加解密配置指令,指令中包含加解密策略及加解密属性,并将加解密策略及加解密属性发送至数据存储模块,同时触发配置接收与控制模块;

所述加密配置引擎模块由中间控制模块调用,用于对已有数据执行加密,该模块修改已有数据存储单元的属性,由未加密修改为加密,并调用执行模块对数据进行透明加密和存储;

所述解密配置引擎模块由中间控制模块调用,用于对已加密数据执行解密,该模块修改已有数据存储单元的属性,由已加密修改为未加密,并调用执行模块对数据进行透明解密和存储;

所述执行模块用于对数据透明加解密,该模块以加解密插件形式与大数据平台中的组件结合;

所述加解密插件,分为加密子模块和解密子模块;

所述加密子模块,当大数据平台组件接收到数据写入指令时被调用,大数据组件将得到的数据结构传递给加密子模块,该子模块从数据存储模块中获取加密参数,从密钥调用模块中获取密钥,并调用密钥算法库对数据进行加密,并将加密后的数据结构传递给大数据平台组件,由大数据平台组件执行数据存储;

所述解密子模块,当大数据平台组件接收到数据读取指令时被调用,大数据组件将得到的数据结构传递给解密子模块,该子模块从数据存储模块中获取加密参数,从密钥调用模块中获取密钥,并调用密钥算法库对数据进行解密,并将解密后的数据结构传递给大数据平台组件,由大数据平台组件执行数据读取;

所述数据存储模块用于存储加解密属性和加解密策略;

所述配置接收与控制模块用于接收加解密配置指令;

密钥生命周期管理子系统包含密钥生命周期管理服务模块、密钥存储模块;所述密钥存储模块用于密钥的存储;所述密钥生命周期管理服务器模块用于对密钥管理;

所述加解密算法执行子系统中的密钥调用模块用于从密钥存储模块获取密钥;所述密钥算法库和密钥调用模块通过密钥管理互操作协议,与密钥生命周期管理子系统中的密钥生命周期管理服务模块交互。

其中的所述加解密算法执行子系统,进一步包括:中间控制模块接收加解密配置指令,加解密指令中对应包含加解密策略并将加解密策略及属性存储至数据存储模块中。

其中的所述加解密算法执行子系统,包括配置接收与控制模块,通过api接口接收加解密配置指令,获取加解密策略和属性,并保存在内存中;

其中的所述加解密算法执行子系统,包括执行模块,该模块读取配置接收与控制模块写入的加解密策略和属性,并执行对应的加解密操作。

所述加解密算法执行子系统进一步包括,所述加密配置引擎模块还用于,通过接口执行数据加密配置,执行加密配置的初始化操作。

所述加解密算法执行子系统进一步包括解密配置引擎模块,通过接口执行数据解密配置,执行取消加密配置的清理操作。

所述密钥生命周期管理子系统进一步包括密钥生命周期用户管理模块,其中所述密钥生命周期用户管理模块用于提出以下至少之一的密钥管理请求:密钥创建、密钥更新、密钥激活、密钥销毁;使用密钥管理互操作协议,将请求发送至密钥生命周期管理服务模块。

所述密钥生命周期管理服务模块,支持以下至少之一的国际标准密码算法:aes,3eds,rsa,sha-1,md5等,同样能够支持以下至少之一的国家商用算法:sm2,sm3,sm4,sm9。

执行对称加密算法时,在加密和解密的过程中,使用的是同一密钥;执行公钥加密算法时,在加密与解密过程中,使用的分别为公钥与私钥。

附图说明

图1为本发明提出的一种适用于大数据平台的数据透明加解密系统框图;

图2为本发明提出的一种适用于大数据平台的数据透明加解密系统的功能框图;

图3为本发明提出的加密算法执行流程图;

图4为本发明提出的密钥管理执行流程图。

具体实施方式

下面结合附图1-4和实施例对本发明作更加详细的说明。

实施例一

本发明涉及数据加解密与密钥生命周期管理系统,尤其涉及一种适用于大数据平台的数据透明加解密系统。hadoop是一个能够对大量数据进行分布式处理的软件框架。hadoop能以一种可靠、高效、可伸缩的方式进行数据处理。如图1所示,所述系统将部署在大数据平台hadoop中,该系统包含加解密算法执行与密钥生命周期管理两个子系统。如图3-4中所述的描述,其中“层”也可以具体为一个装置模块的功能。图3-4中只是示例性地列出主要的功能模块。

加解密算法执行子系统包含中间控制模块、执行模块、加密配置引擎模块、解密配置引擎模块、数据存储模块、配置接收与控制模块、密钥算法库与密钥调用模块。该子系统用作加密算法的执行方。

密钥生命周期管理子系统包含密钥生命周期用户管理模块、密钥生命周期管理服务模块、密钥存储模块。该子系统用作密钥生命周期管理服务方。

如图2所示,本发明包含加解密算法执行子系统与密钥生命周期管理子系统。加解密算法执行子系统包含三种加密算法类别,分别是对称加密算法、非对称加密算法与杂凑算法。其中,对称加密算法不仅包含常见国际加密算法,例如aes,3des等,同样包含国密算法sm4,sm9。在非对称加密算法中,不仅包含常见国际加密算法,例如ecc,rsa等,同样包含国密算法sm2。在杂凑算法中,不仅包含常见国际算法,例如md5,sha-1等,同样包含国密算法sm3。

密钥生命周期管理子系统中,能够管理对称加密密钥与非对称加密密钥两种类别。其中,对称加密算法不仅包含常见国际加密算法,例如aes,3des等,同样包含国密算法sm4,sm9。在非对称加密算法中,不仅包含常见国际加密算法,例如ecc,rsa等,同样包含国密算法sm2。

如图3所示,数据加解密流程如下:

特别指出,执行对称加密算法时,在加密和解密的过程中,使用的是同一密钥,对称加密算法适用于加密如列级数据、数据表、文件级等数据类型。执行公钥加密算法时,在加密与解密的过程中,使用的分别为公钥与私钥,公钥加密算法适用于加密对称密钥值,随机数等数据量较小的数据。加密算法执行子系统同时适用于以上两类数据类型。

1)加密算法执行

步骤s10:中间控制模块接收加解密配置指令,指令中包含加解密策略、算法等,并将加密策略及属性存储至数据存储模块mysql中,同时触发配置接收与控制模块;

步骤s11:配置接收与控制模块通过配置下发引擎模块的api接口接收加密配置指令,参数包括大数据组件hive、hbase、hdfs等存储的加密对象、加密算法、加密操作,并向下调用加密配置引擎模块完成加密配置指令;

步骤s12:加解密配置引擎模块通过api接口执行加密配置,执行加密配置的初始化操作;

步骤s13:通过数据存储模块获取加密属性如加密算法(aes,3des,sm4等),加密策略(实时,延时等);

步骤s14:查询密钥调用模块来获取密钥。其中密钥调用模块通过密钥管理互操作协议kmip,与密钥生命周期管理子系统中的密钥生命周期管理服务模块交互,使用kmip能够保证密钥传递过程的高安全性与高效率性;

步骤s15:执行模块通过使用大数据平台组件的接口执行数据加密操作,包括hive、hbase、hdfs,获取大数据平台中的加密对象,并调用加密算法库完成数据加密,对应于配置接收与控制模块接收到的加密算法要求,如aes,3des,sm4等;

步骤s16:取消加解密配置引擎模块,通过api接口执行取消加密配置,执行加密配置的清理操作如删除加密区等;

2)解密算法执行

步骤s20:中间控制模块接收加解密配置指令,指令中包含解密策略如延时、实时等,并将解密策略及属性存储至数据存储模块mysql中,同时触发配置接收与控制模块;

步骤s21:配置接收与控制模块通过配置下发引擎模块的api接口接收解密配置指令,参数包括大数据组件hive、hbase、hdfs等输出的密文对象、解密算法、解密操作,并向下调用加解密配置引擎模块完成解密配置指令;

步骤s22:加解密配置引擎模块通过api接口执行解密配置,执行解密配置的初始化操作如取消加密区等;

步骤s23:执行模块通过各个组件的接入模块接入相应组件,适配组件包括hive、hbase、hdfs;执行模块中加密执行模块获取当前加密对象,即待加密数据,如列数据或非线性文件;

步骤s24:通过数据存储模块获取解密属性如算法(aes,3des,sm4等);

步骤s25:查询密钥调用模块来获取密钥。其中密钥调用模块通过密钥管理互操作协议kmip,与密钥生命周期管理子系统中的密钥生命周期管理服务模块交互,使用kmip能够保证密钥传递过程的高安全性与高效率性;

步骤s26:调用加解密算法库完成数据解密,对应于配置接收与控制模块接收到的解密算法要求,如aes,3des,sm4等;

步骤s27:取消加解密配置引擎模块:通过api接口执行取消加密配置,执行加密配置的清理操作如删除加密区等;

3)密钥生命周期管理

如图4所示,密钥生命周期管理流程如下:

步骤s30:密钥生命周期用户管理模块提出密钥管理请求如密钥创建、密钥更新、密钥激活、密钥销毁等等。通过sll/tls连接,使用密钥管理互操作协议kmip,将请求发送至密钥生命周期管理服务模块;其中,kmip为基于ttlv(type/tag/length/value)编码的二进制编码方式,它具有灵活、高效、扩展性好等优点,能够较好的解决hdfs中当前所采用的基于http编码方式的效率低、负载重的问题。

步骤s31:密钥生命周期管理服务模块通过与数据存储模块交互,执行相应操作以响应密钥生命周期用户管理模块提出的密钥管理请求,该模块不仅支持常见的国际密码算法如aes,3eds,rsa,sha-1,md5等,同样能够支持国密算法,如sm2,sm3,sm4,sm9。

步骤s32:将密钥存储至硬件安全模块hsm。

步骤s33:将密钥管理操作结果返回至密钥生命周期用户管理模块。

实施例二

如图3-4中所述的描述,其中“层”也可以具体为一个装置模块的功能。图3-4中只是示例性地列出主要的功能模块。

一种适用于大数据平台的数据透明加解密系统。所述的系统也可以具体由以下功能模块构成:

所述系统对大数据平台中数据的存取操作透明,且包括加解密算法执行子系统与密钥生命周期管理子系统;

所述存取操作透明,包含不改变数据存取所使用的接口和少量增加数据存取所需要的时间。

所述加解密算法执行子系统包括:中间控制模块、加密配置引擎模块、解密配置引擎模块、执行模块、数据存储模块、配置接收与控制模块、密钥算法库与密钥调用模块。

中间控制模块用于接收加解密配置指令,指令中包含加解密策略及加解密属性,并将加、解密策略及加、解密属性发送至数据存储模块,同时触发配置接收与控制模块;

所述加密配置引擎模块由中间控制模块调用,用于对已有数据执行加密,该模块修改已有数据存储单元的属性,由未加密修改为加密,并调用执行模块对数据进行透明加密和存储;

所述解密配置引擎模块由中间控制模块调用,用于对已加密数据执行解密,该模块修改已有数据存储单元的属性,由已加密修改为未加密,并调用执行模块对数据进行透明解密和存储;

所述执行模块用于对数据透明加解密,该模块以加解密插件形式与大数据平台中的组件结合;

所述加解密插件,分为加密子模块和解密子模块;

所述加密子模块,当大数据平台组件接收到数据写入指令时被调用,大数据组件将得到的数据结构传递给加密子模块,该子模块从数据存储模块中获取加密参数,从密钥调用模块中获取密钥,并调用密钥算法库对数据进行加密,并将加密后的数据结构传递给大数据平台组件,由大数据平台组件执行数据存储;

所述解密子模块,当大数据平台组件接收到数据读取指令时被调用,大数据组件将得到的数据结构传递给解密子模块,该子模块从数据存储模块中获取加密参数,从密钥调用模块中获取密钥,并调用密钥算法库对数据进行解密,并将解密后的数据结构传递给大数据平台组件,由大数据平台组件执行数据读取;

所述数据存储模块用于存储加解密属性和加解密策略;

所述配置接收与控制模块用于接收加、解密配置指令;

密钥生命周期管理子系统包含密钥生命周期管理服务模块、密钥存储模块;所述密钥存储模块用于密钥的存储;所述密钥生命周期管理服务器模块用于对密钥管理;

所述加解密算法执行子系统中的密钥调用模块用于从密钥存储模块获取密钥;所述密钥算法库和密钥调用模块通过密钥管理互操作协议,与密钥生命周期管理子系统中的密钥生命周期管理服务模块交互。

通过示例阐述了本公开的许多具体细节,以便提供对相关披露的透彻理解。然而,对于本领域的普通技术人员来讲,本公开显而易见的可以在没有这些细节的情况下实施。应当理解的是,本公开中使用“系统”、“装置”、“单元”和/或“模块”术语,是用于区分在顺序排列中不同级别的不同部件、元件、部分或组件的一种方法。然而,如果其他表达式可以实现相同的目的,这些术语可以被其他表达式替换。

应当理解的是,当设备、单元或模块被称为“在……上”、“连接到”或“耦合到”另一设备、单元或模块时,其可以直接在另一设备、单元或模块上,连接或耦合到或与其他设备、单元或模块通信,或者可以存在中间设备、单元或模块,除非上下文明确提示例外情形。例如,本公开所使用的术语“和/或”包括一个或多个相关所列条目的任何一个和所有组合。

本公开所用术语仅为了描述特定实施例,而非限制本公开范围。如本公开说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的特征、整体、步骤、操作、元素和/或组件,而该类表述并不构成一个排它性的罗列,其他特征、整体、步骤、操作、元素和/或组件也可以包含在内。

本发明公开的这些或其他特征和特点、操作方法、结构的相关元素的功能、部分的结合以及制造的经济性可以被更好地理解,其中说明和附图形成了说明书的一部分。然而,可以清楚地理解,附图仅用作说明和描述的目的,并不意在限定本公开的保护范围。可以理解的是,附图并非按比例绘制。

本公开中使用了多种结构图用来说明根据本公开的实施例的各种变形。应当理解的是,前面或下面的结构并不是用来限定本公开。本公开的保护范围以权利要求为准。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1