[发明专利]一种基于泄序算法的数据库密文比较检索方法有效
申请号: | 201811237729.5 | 申请日: | 2018-10-23 |
公开(公告)号: | CN109117676B | 公开(公告)日: | 2022-02-25 |
发明(设计)人: | 杨万年;牛自宾;滕海明;李卫明 | 申请(专利权)人: | 杭州弗兰科信息安全科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王学强 |
地址: | 310051 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 算法 数据库 比较 检索 方法 | ||
1.一种基于泄序算法的数据库密文比较检索方法,其特征在于,所述方法包括以下步骤:
步骤一:数据库客户端输入sql语句,发送sql语句到数据库代理;
步骤二:数据库代理接收到客户端发送的sql语句,对sql语句进行解析,并对sql语句中敏感数据进行改写;所述对sql语句中敏感数据进行改写,包括:若sql语句为数据存储语句,则对sql语句中敏感数据使用泄序加密算法加密;若sql语句为数据检索语句,则对sql语句中敏感数据使用泄序加密算法加密,并对sql语句中敏感数据的比较部分调用UDF函数进行比较;所述敏感数据为字段数据;
步骤三:数据库代理发送改写后的sql语句到数据库服务器,数据库服务器执行sql语句;所述数据库服务器执行sql语句,包括:若sql语句为数据存储语句,则数据库服务器执行sql语句,完成数据存储;若sql语句为数据检索语句,则数据库服务器执行sql语句,使用基于ORE密文比较算法的UDF函数,在数据库中完成密文比较检索操作;
步骤四:数据库服务器发送sql语句执行结果到数据库代理;
步骤五:数据库代理检查sql语句执行结果中是否包含敏感字段结果,若包含敏感字段结果,使用泄序加密算法对应的解密算法对密文数据进行解密,发送最终的sql语句执行结果到数据库客户端;
步骤六:数据库客户端接收最终的sql语句执行结果;
其中,ORE密文比较的步骤如下:
步骤1:输入需要比较的两个ORE算法加密的密文数据记为ctxt1,ctxt2;
步骤2:检查两个密文数据ctxt1和ctxt2的参数是否匹配,如果不匹配,直接退出;
步骤3:依据密文数据的参数计算出明文数据有n比特位,每个比特位在密文中扩展out_blk_len位,计数i=0;
步骤4:判断in,如果不符合条件,返回输出ctxt1的密文对应的明文数值等于ctxt2的密文对应的明文数值,如果符合条件,执行步骤5;
步骤5:计算明文数据第i位的加密后密文数据的掩码,设掩码为:block_mask=(2^out_blk_len-1)<<(n-i-1)*out_blk_len;
步骤6:密文数据ctxt1与block_mask做逻辑与操作,然后右移(n-1-i)*out_blk_len位,计算得到的值记为T1;密文数据ctxt2与block_mask做逻辑与操作,右移(n-1-i)*out_blk_len位,计算得到的值记为T2;
步骤7:比较T1和T2大小,如果T1大于T2,返回ctxt1的明文值大于ctxt2的明文值,如果T1小于T2,返回ctxt1的明文值小于ctxt2的明文值,否则,执行步骤8;
步骤8:计数器i加1,执行步骤4。
2.依据权利要求1所述的一种基于泄序算法的数据库密文比较检索方法,其特征在于,步骤二中采用泄序加密算法ORE对sql语句进行改写。
3.依据权利要求1所述的一种基于泄序算法的数据库密文比较检索方法,其特征在于,步骤二中采用基于ORE密文比较算法的UDF函数对sql语句进行改写。
4.根据权利要求1所述的一种基于泄序算法的数据库密文比较检索方法,其特征在于,步骤五中采用ORE解密算法对数据库服务器中返回的密文结果进行解密。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州弗兰科信息安全科技有限公司,未经杭州弗兰科信息安全科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811237729.5/1.html,转载请声明来源钻瓜专利网。