The invention discloses a database ciphertext comparison retrieval method based on a leaking order algorithm. This database ciphertext comparison retrieval method mainly adds a database agent between the database client and the database server. The database agent completes the rewriting of SQL statements, including encrypting and protecting the sensitive data in SQL statements using the leak order algorithm. The sensitive data comparison part is implemented by the user-defined function of the database, and decrypting the retrieval results using leak order. The algorithm performs decryption operation, thus completing the ciphertext comparison and retrieval operation on the database server side. This database ciphertext comparison retrieval algorithm has the characteristics of high security, fast encryption speed and low expansion rate.
【技术实现步骤摘要】
一种基于泄序算法的数据库密文比较检索方法
本专利技术属于信息安全
,具体涉及一种基于泄序算法(Order-RevealingEncryption,ORE)的数据库密文比较检索方法。
技术介绍
随着云计算技术的高速发展,很多的企业与个人用户将数据存储到云端服务器,近年来由于黑客的非法入侵以及云端服务器管理员的不当操作造成了多起大量用户资料和私人数据泄露事件。为了保证数据安全,企业和个人用户会使用加密算法对数据进行加密,将数据以密文形式存储在云端服务器,这样,可搜索加密技术(searchableencryption,SE)便应运而生。本专利技术的一个应用场景:用户使用包含WHERE比较条件的sql语句在数据库中搜索符合条件的记录。由于数据是密文存储的,明文搜索方法已经失去作用。本专利技术使用泄序算法、数据库的用户自定义函数(User-DefinedFunction,UDF)、SQL语句改写技术很好的解决了该问题。本文所采用的泄序加密算法从本质上来说一种对称加密算法,与保序加密算法(Order-PreservingEncryption,OPE)相似,保序加密算法是一种支持密文数据比较大小的加密算法,此算法加密明文后,可以直接通过密文数据得到大小关系,即,对任意明文p1>p2,加密后得到的密文满足c1>c2。利用此算法,可以对密文数据进行数据匹配、范围查询以及排序等操作,但此算法泄露了明文数据之间大小,遭受推理攻击后可以恢复一半以上的明文数据。相对于保序加密算法,泄序加密算法具有更高的安全性,此种算法要求加密后的密文数据不保持原明 ...
【技术保护点】
1.一种基于泄序算法的数据库密文比较检索方法,该加密算法具有安全性较高且加密速度快,膨胀率低的特点,其特征在于包含以下步骤:步骤1:数据库客户端输入sql语句,发送sql语句到数据库代理;步骤2:数据库代理接收到客户端发送的sql语句,首先对sql进行解析,对sql语句中敏感数据进行改写,例如:在插入数据时,对敏感数据使用泄序加密算法加密,对sql语句中敏感数据的比较部分使用用户自定义函数进行比较;步骤3:发送改写后的sql到数据库服务器,并且执行sql语句,完成数据存储、使用用户自定义UDF函数进行比较检索;步骤4:数据库服务器发送sql语句执行结果到数据库代理;步骤5:数据库代理检查结果中是否包含敏感字段结果,如果包含敏感字段结果,使用泄序加密算法对应的解密算法对密文数据进行解密,最后发送最终结果到数据库客户端;步骤6:数据库客户端接收sql语句执行结果。
【技术特征摘要】
1.一种基于泄序算法的数据库密文比较检索方法,该加密算法具有安全性较高且加密速度快,膨胀率低的特点,其特征在于包含以下步骤:步骤1:数据库客户端输入sql语句,发送sql语句到数据库代理;步骤2:数据库代理接收到客户端发送的sql语句,首先对sql进行解析,对sql语句中敏感数据进行改写,例如:在插入数据时,对敏感数据使用泄序加密算法加密,对sql语句中敏感数据的比较部分使用用户自定义函数进行比较;步骤3:发送改写后的sql到数据库服务器,并且执行sql语句,完成数据存储、使用用户自定义UDF函数进行比较检索;步骤4:数据库服务器发送sql语句执行结果到数据库代理;步骤5:数据库代理检查结果中是否包含敏感字段结果,如果包含敏感字段结果,使用泄序加密算法对应的解密算法对密文数...
【专利技术属性】
技术研发人员:杨万年,牛自宾,滕海明,李卫明,
申请(专利权)人:杭州弗兰科信息安全科技有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。