一种可搜索的数据库安全加密系统技术方案

技术编号:21225070 阅读:32 留言:0更新日期:2019-05-29 05:48
本发明专利技术公开了一种可搜索的数据库安全加密系统,其包括元数据管理模块、密钥管理模块、加解密模块、SQL语句重写模块、数据库连接模块,元数据表以及加密模型。本发明专利技术的可搜索的数据库安全加密系统在语句执行过程中通过动态调整加密层,实现了在密文上直接执行复杂的SQL语句,避免了不可信数据库服务器暴露明文数据,保护了数据隐私。

A Searchable Database Security Encryption System

The invention discloses a searchable database security encryption system, which includes metadata management module, key management module, encryption and decryption module, SQL statement rewriting module, database connection module, metadata table and encryption model. The searchable database security encryption system of the present invention realizes the direct execution of complex SQL statements on ciphertext by dynamically adjusting the encryption layer during the execution of statements, avoids the exposure of plaintext data by untrusted database servers, and protects data privacy.

【技术实现步骤摘要】
一种可搜索的数据库安全加密系统
本专利技术涉及数据库信息安全,属于信息安全
;具体地说,涉及一种可搜索的数据库安全加密系统。
技术介绍
云计算时代以来,很多企业选择把海量数据存储在云端,由于减少了本地化存储以及强大的云计算能力,企业能够大幅度缩减IT成本,随之而来的还有安全上的担心。在开放的云计算环境中,企业内部员工可以轻易的访问、篡改和泄露隐私数据,这些行为的结果对于企业而言是灾难性的。目前,云服务提供商在信息安全方面所作的工作还非常有限,加密存储数据是较为安全的一种保障安全的方法。数据加密后,即使数据的“窥探者”获得数据,也能够保证其中的隐私信息不被泄露。然后,数据加密后存储在云端,给处理数据带来的额外的开销。在某些应用场景下,服务器需要在用户的数据上进行运算,如果此时把所有数据全部解密后再运算,势必会对执行效率造成不利的影响。
技术实现思路
本专利技术针对关系数据库字符类型和数值类型数据加密后可操作性进行研究,为在保证安全性的同时解决密文上不可直接执行SQL操作的问题,设计并实现了一种包括SQL改写、明文数据加密和查询处理等功能在内的可搜索的数据库安全加密系统。本专利技术的目的采用如下的技术方案实现:一种可搜索的数据库安全加密系统,其包括元数据管理模块、密钥管理模块、加解密模块、SQL语句重写模块、数据库连接模块,元数据表以及加密模型。进一步地,所述加密模型包括三种加密方式,包括等值加密模型,保序加密模型,同态加密模型;对于数值型数据,采用三种加密模型分别加密,对于字符型数据,使用等值加密模型加密;1)所述等值加密模型使用了两层加密,外层为随机加密层,内层为确定加密层,在加密时会先使用确定加密策略对明文进行第一次加密,再使用随机加密策略进行第二次加密,解密过程相反;2)所述保序加密模型下的密文采用了明文的顺序特性,当SQL语句中需要进行大小、范围的判断时,将相应的明文通过该策略进行加密后与数据库中的密文比较,以便得到相应的结果;3)所述同态加密模型用于支持SUM和AVG函数;在数据库中,所述同态加密模型对应了多列密文分片,列名分别包含了“HOM1”~“HOM5”用于存储不同的密文分片,可搜索的数据库安全加密系统将密文分片的个数设置为5个。进一步地,所述元数据表用于保存数据加密后的数据格式变化信息,在int型的明文中,其确定加密模型对应的列的数据类型为text型。进一步地,所述SQL语句重写模块对用户提交的SQL语句进行解析,分析查询类型,包括Create、Select、Insert、Update、Delete,交给不同的解析函数处理,解析函数会对语句中包含的明文数据进行加密,并对列名进行修改。进一步地,所述密钥管理模块的任务有两个:一是为等值加密模型动态产生工作密钥,二是为保序加密模型和同态加密模型产生密钥;密钥管理模块针对三个不同的加密算法,采用不同的管理方案;1)对于等值加密模型,使用的是AES算法的ECB模式,其密钥产生策略为:Kmk,c,t=KeyGen(Master(mk),Column(c));其中masterkey是用户的主密钥,c是列名,采用一列一密的方式;当需要使用等值加密模型进行加解密时,密钥管理模块通过主密钥和列名动态生成一个工作密钥,提供给加密算法。2)对于保序加密模型,根据使用的算法,其密钥是三个秘密参数,a、b、sens;在创建表时由元数据表调用密钥管理模块产生该密钥,该密钥是一列一密的,并且无法动态生成,所以需要保存在元数据表中;3)对于同态加密模型,密钥由多个实数元组构成,这些元组在创建表时生成并存储在元数据表中。进一步地,对于保序加密模型和同态加密模型,密钥均存储在数据库服务器中的元数据表中,为了保护密钥不被窃取,元数据表会这些密钥加密后存储;在加密和解密之前,系统会从元数据表中获取这些密钥。进一步地,所述元数据管理模块对以下数据提供存储与获取的功能:1)明文的属性信息;2)保序加密和同态加密模型的密钥。进一步地,所述加解密模块用于:1)将用户提交的明文数据加密,加密模块中有三种加密模型中所包含的算法,工作时会与其它模块协作;SQL语句改写模块会将数据库操作语句中的涉密的明文值提取出来并作为输入传递给加密模块,加密模块根据明文值在数据库中对应的列、记录位置以及当前语句中的操作来判断需要使用的加密模型,若此过程中需要生成工作密钥,则调用密钥管理模块,若需要获取已有密钥,则调用元数据管理模块从数据库中读取密钥;加密完成后,模块将密文值返回给SQL语句改写模块;2)从数据库返回的查询结果为密文,需要交由该模块解密;解密过程需要从元数据表中获取关于密文结果所在表的元数据信息,包括数据类型、密钥和明文的列名;解密函数将这些元数据连同待解密的密文作为输入,根据加密模型选择相应的解密函数。相比于现有技术,本专利技术的有益效果:该系统在语句执行过程中通过动态调整加密层,实现了在密文上直接执行复杂的SQL语句,避免了不可信数据库服务器暴露明文数据,保护了数据隐私。附图说明图1为本专利技术可搜索的数据库安全加密系统结构图;图2为本专利技术加密模型图;图3为本专利技术Create语句执行流程图;图4为本专利技术Insert语句执行流程图;图5为本专利技术Select语句执行流程图;图6为本专利技术Update语句执行流程图;图7为本专利技术Delete语句执行流程图。具体实施方式下面结合具体实施例对本专利技术做进一步详细的说明,但不以任何方式限制本专利技术的范围。本专利技术的设计思想:可搜索的数据库安全加密系统将数据库服务器视为不可信端。用户输入SQL语句,系统将其中涉密的明文数据加密成为密文后,存储在服务器端。执行SQL语句时,由该系统对语句进行改写,隐藏列名并对其中的明文进行加密,同时对数据库中的加密模型动态调整,使改写后的语句能够直接在密文上执行。图1为可搜索的数据库安全加密系统的体系结构图。该系统由5个核心模块组成:元数据管理模块、密钥管理模块、加解密模块、SQL语句重写模块和数据库连接模块。为了配合密钥管理模块对静态密钥进行管理,在数据库服务器端设置有元数据表。存储用户数据库的数据库表中设计有三种不同的加密模型用于支持快速密文查询和运算。图2为可搜索的数据库安全加密系统的加密模型,包括等值加密模型,保序加密模型,同态加密模型。对于数值型数据,采用三种加密模型分别加密,而对于字符型数据,则仅使用等值加密模型加密。等值加密模型使用了两层加密,外层为随机加密层,内层为确定加密层,在加密时会先使用确定加密策略对明文进行第一次加密,再使用随机加密策略进行第二次加密,解密过程相反。(1)随机加密该加密策略提供了最高安全级别,该策略的特征是相同的明文经过加密后得到不同的密文,我们使用该策略与确定加密策略结合,用户隐藏等值信息。我们使用AES分组加密算法来实现该策略,并使用数据库中提供的AES加密函数。在MySQL中提供了aes_encrypt(content,salt)加密函数以及aes_decrypt(content,salt)解密函数,其中content是需要加密或者解密的内容,而salt用于产生加密和解密密钥的信息,同一个明文,当使用不同salt时会得到不同的结果。我们利用这个特性,对每一个数据均使用不同salt,每个s本文档来自技高网...

【技术保护点】
1.一种可搜索的数据库安全加密系统,其特征在于:包括元数据管理模块、密钥管理模块、加解密模块、SQL语句重写模块、数据库连接模块,元数据表以及加密模型。

【技术特征摘要】
1.一种可搜索的数据库安全加密系统,其特征在于:包括元数据管理模块、密钥管理模块、加解密模块、SQL语句重写模块、数据库连接模块,元数据表以及加密模型。2.如权利要求1所述的可搜索的数据库安全加密系统,其特征在于:所述加密模型包括三种加密方式,包括等值加密模型,保序加密模型,同态加密模型;对于数值型数据,采用三种加密模型分别加密,对于字符型数据,使用等值加密模型加密;1)所述等值加密模型使用了两层加密,外层为随机加密层,内层为确定加密层,在加密时会先使用确定加密策略对明文进行第一次加密,再使用随机加密策略进行第二次加密,解密过程相反;2)所述保序加密模型下的密文采用了明文的顺序特性,当SQL语句中需要进行大小、范围的判断时,将相应的明文通过该策略进行加密后与数据库中的密文比较,以便得到相应的结果;3)所述同态加密模型用于支持SUM和AVG函数;在数据库中,所述同态加密模型对应了多列密文分片,列名分别包含了“HOM1”~“HOM5”用于存储不同的密文分片,可搜索的数据库安全加密系统将密文分片的个数设置为5个。3.如权利要求1所述的可搜索的数据库安全加密系统,其特征在于:所述元数据表用于保存数据加密后的数据格式变化信息,在int型的明文中,其确定加密模型对应的列的数据类型为text型。4.如权利要求1所述的可搜索的数据库安全加密系统,其特征在于:所述SQL语句重写模块对用户提交的SQL语句进行解析,分析查询类型,包括Create、Select、Insert、Update、Delete,交给不同的解析函数处理,解析函数会对语句中包含的明文数据进行加密,并对列名进行修改。5.如权利要求1所述的可搜索的数据库安全加密系统,其特征在于:所述密钥管理模块的任务有两个:一是为等值加密模型动态产生工作密钥,二是为保序加密模型和同态加密模型产生密钥;密钥管理模块针对三个不同的加密算法,采用不同的管理方案;1)对于等值加密模型,使用的是AES算法的ECB模式,其...

【专利技术属性】
技术研发人员:杨永娇唐亮亮黄晓波
申请(专利权)人:广东电网有限责任公司信息中心
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1