预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN107168998A(43)申请公布日2017.09.15(21)申请号201710203028.9(22)申请日2017.03.30(71)申请人广东工业大学地址510062广东省广州市越秀区东风东路729号(72)发明人凌捷王文冲罗玉谢锐龚怡(74)专利代理机构广东广信君达律师事务所44329代理人杨晓松(51)Int.Cl.G06F17/30(2006.01)G06F21/60(2013.01)G06F21/62(2013.01)权利要求书2页说明书5页附图1页(54)发明名称一种基于保留格式的数据库透明加密方法(57)摘要本发明提出一种基于保留格式的数据库透明加密方法,能有效地保护数据库的安全性,以密文的形式进行存储。同时又能够对合法用户透明化,拥有与非加密数据库相同的增删改查方法,不影响用户使用。本发明方法利用保留格式的加密方式来对数据库中每一数据项中的记录进行加密,使其以相同数据类型的密文形式存储在数据库中。在用户需要对该加密的数据库进行增删改查时,将用户输入的明文字段进行加密转化为相同数据类型的密文,使其与加密数据库中的数据一致,再将查询得到的结果进行解密,以明文的形式呈现给用户,从而来实现对用户透明化。CN107168998ACN107168998A权利要求书1/2页1.一种基于保留格式的数据库透明加密方法,其特征在于:将保留格式加密的方法与数据库结合起来,实例化数据库中每一种数据类型的加密方法,使数据以与明文相同类型的密文进行存储,有效地确保数据的安全性。2.根据权利要求1所述的基于保留格式的数据库透明加密方法,其特征在于:在使用时能够自动实现对数据的加密与解密,中间过程无需用户参与,用户只需要初始化时提供密钥即可,用户拥有与以明文存储的数据库相同的操作体验。3.根据权利要求1所述的基于保留格式的数据库透明加密方法,其特征在于:在加密与解密过程中,先将用户所需查询的字段进行保留格式加密,再对密文进行增删改查操作,实现如下:(1)添加操作:利用保留格式加密的方式对用户需要添加的各字段数据进行加密,再将加密后的数据添加到数据库中;(2)删除操作:利用保留格式加密的方式对用户需要删除的各个字段数据进行加密,再从密文数据库中删除对应的数据项;(3)修改操作:利用保留格式加密的方式对用户需要修改的各个字段、数据项及表名进行加密,再将加密后的数据写入密文数据库;(4)查询操作:将要查询的字段进行加密,并对密文来对数据库进行查询获取其密文数据,再对密文数据进行解密,并把解密后的数据反馈给用户;对查询到的数据进行解密,并将明文信息反馈给用户。4.根据权利要求1所述的基于保留格式的数据库透明加的加解密方法,其特征在于:对各种不同的数据类型使用对应的保留格式加密方法,对数据库中五种类型的加解密算法实现如下:(1)整数类型:直接使用DES或AES等对称加密算法来实现加密与解密,并将加解密后的数据转化为常用的十进制数据进行存储;(2)浮点数类型:a.以整数的形式来读取浮点数据,由于在计算机中数据均以0和1的形式进行存储,因此可以直接将浮点数据转化为十进制的整型数据;b.在整数域中利用1中方法实现加密,进而生成密文整型数据;c.根据浮点数的表示方法,整型的密文数据转换为浮点数据;(3)字符类型:记字符数据charn长度为n,确定每个字符的取值空间记为L;为字符空间Lnn指定一种全序<,设ci,为char中第i个字符,并随机选取字符空间L,中一个元素作为基准值ref;根据全序关系来建立字符空间内元素与整数之间的双射,并进行编码,再将编码转化为十进制整型数据;a.利用上面方法将字符数据转化为整型数据;b.在整数域中利用(1)中方法实现加密,进而生成密文整型数据;c.利用a中逆运算,即可产生相同数据类型的密文;(4)字符串类型:直接使用传统的DES或AES等对称加密方法来实现,并直接将生成的密文以字符串的形式存储进数据库;(5)Time数据类型:a.在数据库中Time数据类型表示形式为:HH:MM:SS,可直接将时间转化为十进制数据的形式,计算公式如下:2CN107168998A权利要求书2/2页INT=H×60×60+M×60+Sb.在整数域中利用1中方法实现加密,进而生成密文整型数据;c.将整型密文数据转化为时间的形式,转化公式如下:S=INT%60、M=(INT-S)%60、H=(INT-M×60-S)%(60×60)(6)时间戳类型:a.在数据库中时间戳Timestamp数据类型表示形式为:YYY-MM-DDHH:MM:SS,这个值是从1970开始直到目前为止,所经过的秒数,通过计算转化得来的,因此可以直接将其转化为整数型,以秒数来表示。b.在整数域中利用