一种数据库加密及完全匹配检索系统的制作方法

文档序号:30267656发布日期:2022-06-02 05:21阅读:120来源:国知局
一种数据库加密及完全匹配检索系统的制作方法

1.本发明属于数据加密及匹配检索技术领域,特别是涉及一种数据库加密及完全匹配检索系统、方法。


背景技术:

2.个人信息保护最常用的方法有三种:加密存储数据库中的个人信息;通过数据库防火墙来实现数据防泄漏;通过数据脱敏来实现个人信息的掩盖。其中第一种方法可以保证在数据库数据被窃取的情况下仍然无法解析出加密前的数据而被广泛使用。
3.市面上各大数据安全厂商都已经推出了数据库加密产品,这些产品在保证数据存储安全的同时也改变了数据在数据库中的一些属性(可比性、有序性、相似性),这使得加密后的数据库很难满足应用系统复杂多样的业务需求。
4.为解决这一问题,大家都将技术的重点放在了如何使密文数据保持和明文数据同样或相似的属性,既让加密后的密文也能和明文一样能够进行复杂的数据库运算或者进行模糊匹配。但是目前国内外的技术发展缓慢,采用这些技术的数据库加密产品在实际使用中往往因为性能或结果匹配问题不能满足业务系统的需求。
5.随着国家对数据保护的力度不断加强,业务系统必须更加谨慎的使用这些被保护的数据,必须避免因业务需求造成的信息泄露。近年来随着云服务的快速发展,基于云的便民服务也越来越多,支持这些服务的背后正是数据库加密及快速检索技术,如何在数据库加密后提供完全匹配的检索能力是加密产品亟需解决的技术问题。
6.解决这一问题最简单的方法是先对加密字段数据进行解密,然后再对解密数据进行检索。这种方法需要对表的所有加密字段进行解密操作,开销巨大,无法在产品中实际应用。
7.现有的专利中已经公开了一种用于数据库的数据加密及检索方法,包括如下步骤:a)先利用单向加密算法对原数据加密,在保持原数据顺序不变的情况下,生成非解密的可索引头部;b)接着再继续对原数据加密生成可解密的密文数据;c)将可索引头部和可解密的密文数据组合在一起生成加密组合数据存储到数据库中;所述步骤a)中的单向加密算法为md5、sha 或hmac;所述步骤b)中的加密算法为对称密钥加密算法。
8.以上列出的现有技术在实际产品应用中都存如下缺点:
9.先解密再检索的方法虽然简单但仅适用于数据量非常小的场景,无法应用于海量数据的业务环境中;上述公开专利中使用单一加密算法加密原文生成索引并将这部分索引作为加密数据的起始部分存入数据库,这种做法存在如下风险:单向加密算法md5和sha存在较大的破解风险,一旦数据内容被泄露则很容易被破解,数据的安全性无法保证;单向加密算法md5和 sha都存在冲突的可能,存在降低检索性能的可能。


技术实现要素:

10.本发明通过利用已有对称加密算法与自有的可视化算法相结合的方式完成对数
据库数据的加密以及加密数据的完全匹配检索方法,主要解决数据库数据加密后对加密后数据的快速完全匹配问题,多用于精确查询业务为主的场景。
11.为达上述目的,本发明是通过以下技术方案实现的:
12.一种数据库加密及完全匹配检索系统,所述系统包括:
13.数据加密及存储模块、加密数据查询模块;
14.所述数据加密及存储模块的具体处理流程如下:
15.s101、加密算法初始化,加载常用的对称密钥加密算法;
16.s102、判断数据库中是否有需要加密的字段,若是则执行s103,否则执行s107;
17.s103、对需要加密的字段进行加密操作;
18.s104、对二进制的密文数据进行位置变换;
19.s105、在变换后的二进制密文中写入混淆值;
20.s106、对新的二进制值进行base64编码;
21.s107、将处理后的数据存入到数据库中;
22.其中步骤s104,s105,s106为自有的可视化算法处理流程;
23.步骤s101中,常用的对称密钥加密算法包括aes高级加密标准、sm4 国密算法;
24.步骤s103中,此步骤使用密文数据可视化单元自有的算法对密文数据进行可视化处理;
25.所述加密数据查询模块的具体处理流程如下:
26.s201、初始化加密算法;
27.s202、初始化查询请求接收引擎,等待接收查询请求;
28.s203、是否接收到查询请求,若是则执行步骤204,否则执行步骤203;
29.s204、判断查询请求的条件中是否有加密字段,若是则执行步骤205,否则执行步骤209;
30.s205、对查询条件字段进行加密处理;
31.s206、对二进制的密文数据进行位置变换;
32.s207、在变换后的二进制密文中写入混淆值;
33.s208、对新的二进制值进行base64编码得到查询条件值;
34.s209、根据查询条件从数据库中查询数据;
35.s210、判断查询结果中是否有加密字段,若有则执行步骤211,否则执行步骤215;
36.s211、将查询结果中需要解密的字段值做base64解码操作;
37.s212、从解码后的值中去掉混淆值;
38.s213、还原密文的二进制位置得到密文结果;
39.s214、对密文结果进行解密操作得到明文结果;
40.s215、返回查询请求的结果数据并返回到步骤203;
41.其中,s206,s207,s208为自有的可视化算法处理流程,s211,s212, s213为对应的逆向处理流程。
42.可选的,所述数据加密及存储模块包括加密算法初始化单元、数据加密执行单元、密文数据可视化单元、加密数据存储单元;
43.所述加密数据查询模块包括查询接收单元、查询解析单元、数据加解密单元、加密
数据可视化单元、查询结果返回单元;
44.所述数据加密及存储模块用于加密数据库中需要保护的字段;
45.所述加密数据查询模块用来快速完全匹配满足查询条件的数据。
46.可选的,所述密文数据可视化单元用于密文数据在入库前使用自有算法进行可视化处理,处理之后的字段可以继续使用数据库索引以提高检索效率,提高了在以完全匹配查询为主的业务场景下对密文数据的检索效率,尤其在海量数据情况下更能大大提升应用的用户体验。
47.可选的,所述数据加密执行单元用于执行对称密钥加密算法。
48.可选的,所述加密数据存储单元用于储存被对称密钥加密算法加密后的数据。
49.可选的,所述数据加解密单元用于对接收的数据通过加密算法进行加密或通过解密算法进行解密,所述数据加解密单元的加密算法为aes高级加密标准、sm4国密算法中的任意一种。
50.本发明的实施例具有以下有益效果:
51.本发明的一个实施例通过利用已有对称加密算法与自有的可视化算法相结合的方式即能保证数据存储的高安全性又能保证在完全匹配查询时密文数据可以继续使用数据库索引进行快速匹配,提高了在以完全匹配查询为主的业务场景下对密文数据的检索效率,尤其在海量数据情况下更能大大提升应用的用户体验。
52.当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
53.构成本技术的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
54.图1为本发明一实施例的数据加密及存储模块的系统流程示意图;
55.图2为本发明一实施例的加密数据查询模块的系统流程示意图。
具体实施方式
56.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
57.为了保持本发明实施例的以下说明清楚且简明,本发明省略了已知功能和已知部件的详细说明。
58.请参阅图1-2所示,在本实施例中提供了一种数据库加密及完全匹配检索系统,包括:数据加密及存储模块、加密数据查询模块;
59.所述数据加密及存储模块的具体处理流程如下:
60.s101、加密算法初始化,加载常用的对称密钥加密算法;
61.s102、判断数据库中是否有需要加密的字段,若是则执行s103,否则执行s105;
62.s103、对需要加密的字段进行加密操作;
63.s104、对密文数据进行可视化处理;
64.s105、将处理后的数据存入到数据库中;
65.步骤s101中,常用的对称密钥加密算法包括aes高级加密标准、sm4 国密算法;
66.步骤s103中,此步骤使用密文数据可视化单元自有的算法对密文数据进行可视化处理;
67.所述加密数据查询模块的具体处理流程如下:
68.s201、初始化加密算法;
69.s202、初始化查询请求接收引擎,等待接收查询请求;
70.s203、是否接收到查询请求,若是则执行s204,否则执行s203;
71.s204、判断查询请求的条件中是否有加密字段,若是则执行s205,否则执行s207;
72.s205、对查询条件字段进行加密处理;
73.s206、使用自有的算法对密文数据进行可视化处理;
74.s207、根据查询条件从数据库中查询数据;
75.s208、判断查询结果中是否有加密字段,若有则执行s209,否则执行 s210;
76.s209、解密查询结果中的密文字段得到明文数据;
77.s210、返回查询请求的结果数据并返回到s203。
78.如图1所示,所述数据加密及存储模块包括加密算法初始化单元、数据加密执行单元、密文数据可视化单元、加密数据存储单元;
79.所述加密数据查询模块包括查询接收单元、查询解析单元、数据加解密单元、加密数据可视化单元、查询结果返回单元;
80.所述数据加密及存储模块用于加密数据库中需要保护的字段;
81.所述加密数据查询模块用来快速完全匹配满足查询条件的数据。
82.市面上各大数据安全厂商都已经推出了数据库加密产品,这些产品在保证数据存储安全的同时也改变了数据在数据库中的一些属性(可比性、有序性、相似性),这使得加密后的数据库很难满足应用系统复杂多样的业务需求。
83.为解决这一问题,大家都将技术的重点放在了如何使密文数据保持和明文数据同样或相似的属性,既让加密后的密文也能和明文一样能够进行复杂的数据库运算或者进行模糊匹配。但是目前国内外的技术发展缓慢,采用这些技术的数据库加密产品在实际使用中往往因为性能或结果匹配问题不能满足业务系统的需求;
84.而本方案通过利用已有对称加密算法与自有的可视化算法相结合的方式即能保证数据存储的高安全性又能保证在完全匹配查询时密文数据可以继续使用数据库索引进行快速匹配,提高了在以完全匹配查询为主的业务场景下对密文数据的检索效率,尤其在海量数据情况下更能大大提升应用的用户体验。
85.如图1所示,所述密文数据可视化单元用于密文数据在入库前使用自有算法进行可视化处理,处理之后的字段可以继续使用数据库索引以提高检索效率。
86.如图2所示,所述数据加密执行单元用于执行对称密钥加密算法,所述加密数据存储单元用于储存被对称密钥加密算法加密后的数据。
87.如图1-2所示,所述数据加解密单元用于对接收的数据通过加密算法进行加密或通过解密算法进行解密,所述数据加解密单元的加密算法为aes 高级加密标准、sm4国密算法中的任意一种。
88.以上所述仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专利的技术人员在不脱离本发明技术方案范围内,当可利用上述提示的技术内容作出些许更动或修饰为等同变化的等效实施例,上述实施例中的实施方案也可以进一步组合或者替换,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明方案的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1