技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种数据库加密查询处理方法及机密计算协处理器与流程  >  正文

一种数据库加密查询处理方法及机密计算协处理器与流程

  • 国知局
  • 2024-07-31 22:57:36

本发明涉及可信计算,尤其涉及的是一种数据库加密查询处理方法及机密计算协处理器。

背景技术:

1、常见的数据安全保护方法就是数据加密,数据以密文形态进行传输和存储,在计算时再进行解密。如图2所示,目前主流的技术方案是基于可信硬件(可信执行环境),将加解密等敏感操作放在可信硬件中完成,引擎文件只存储密文数据,输出数据也是在可信环境中加密后发送到客户端,用户可在客户端解密密文获取获取。例如guassdb的方案,表达式解析、数据管理、索引管理都是在可信执行环境中完成。数据明文无法在富环境(ree)中被窥探到,即便是管理员用户(root用户)也不能通过引擎文件或者内存获取到明文数据。例如,全密态数据库中数据以加密形态存储,数据存储、计算、检索、管理均在密文形态下完成,可以有效保护数据机密性和数据完整性。然而,由于数据记录以及相应的索引都是加密的,索引无法直接用于加速查询。因为加密操作改变了数据的可读性和结构,加密的索引不能像明文索引那样直接指向特定数据记录,从而阻碍了索引的正常功能。简言之,当数据和索引都处于加密状态时,会导致数据库查询变得困难。

2、因此,现有技术还有待改进和发展。

技术实现思路

1、本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种数据库加密查询处理方法及机密计算协处理器,旨在解决现有技术中,为了保护数据机密性,数据的存储和处理均在密文形态下完成,当数据和索引都处于加密状态时,会导致数据库查询变得困难的问题。

2、本发明解决问题所采用的技术方案如下:

3、第一方面,本发明实施例提供一种数据库加密查询处理方法,所述方法包括:

4、通过宿主机获取客户端的建立连接请求,根据所述建立连接请求确定所述客户端的用户角色和与所述客户端交互使用的加密密钥;

5、通过所述宿主机获取所述客户端的加密查询信息,根据所述加密密钥和所述加密查询信息获取解密查询信息;

6、根据所述用户角色和所述解密查询信息,获取本地数据库的数据库执行结果,其中,所述本地数据库的存储数据为非密态数据;

7、根据所述加密密钥和所述数据库执行结果生成加密执行结果,并通过所述宿主机将所述加密执行结果发送至所述客户端。

8、在一种实施方式中,所述根据所述建立连接请求确定所述客户端的用户角色和与所述客户端交互使用的加密密钥,包括:

9、根据所述建立连接请求获取所述客户端的连接参数,根据所述连接参数确定所述用户角色;

10、通过所述宿主机向所述客户端获取公钥信息,根据所述连接参数和所述公钥信息确定所述加密密钥,其中,所述加密密钥包括所述公钥信息和私钥信息。

11、在一种实施方式中,所述通过所述宿主机向所述客户端获取公钥信息,包括:

12、通过所述宿主机向所述客户端发送待认证证书;

13、通过所述宿主机获取所述客户端基于所述待认证证书发回的认证结果,其中,所述认证结果用于反映所述待认证证书由认证服务验证的结果;

14、根据所述认证结果获取所述公钥信息。

15、在一种实施方式中,所述根据所述用户角色和所述解密查询信息,获取本地数据库的数据库执行结果,包括:

16、根据所述用户角色和所述解密查询信息,判断所述客户端是否具有所述解密查询信息对应的执行权限;

17、若所述客户端具有所述解密查询信息对应的执行权限,则将所述解密查询信息中的查询命令发送至所述本地数据库;

18、获取所述本地数据库基于所述查询命令回传的所述数据库执行结果。

19、在一种实施方式中,所述方法还包括:

20、若所述客户端不具有所述解密查询信息对应的执行权限,则停止处理所述解密查询信息。

21、在一种实施方式中,所述获取所述本地数据库基于所述查询命令回传的所述数据库执行结果,包括:

22、判断所述本地数据库是否存在所述查询命令对应的查询结果;

23、若不存在所述查询结果,则通过预设的加密信道和所述宿主机将所述查询命令发送至其他主机;

24、通过所述加密信道和所述宿主机获取其他主机上的数据库基于所述查询命令回传的所述查询结果;

25、根据所述查询结果生成所述数据库执行结果。

26、在一种实施方式中,所述方法还包括:

27、根据所述建立连接请求与所述客户端建立长连接,直至通过所述宿主机获取到所述客户端发送的断开连接请求,其中,所述长连接含有所述用户角色和所述加密密钥。

28、第二方面,本发明实施例还提供一种机密计算协处理器,所述机密计算协处理器包括:

29、本地数据库,用于存储非密态数据;

30、接入层服务,用于通过宿主机获取客户端的建立连接请求,根据所述建立连接请求确定所述客户端的用户角色和与所述客户端交互使用的加密密钥;

31、通过所述宿主机获取所述客户端的加密查询信息,根据所述加密密钥和所述加密查询信息获取解密查询信息;

32、根据所述用户角色和所述解密查询信息,获取本地数据库的数据库执行结果,其中,所述本地数据库的存储数据为非密态数据;

33、根据所述加密密钥和所述数据库执行结果生成加密执行结果,并通过所述宿主机将所述加密执行结果发送至所述客户端。

34、第三方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述的数据库加密查询处理方法。

35、第四方面,本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一所述的数据库加密查询处理方法。

36、本发明的有益效果:本发明实施例通过宿主机获取客户端的建立连接请求,根据建立连接请求确定用户角色和与客户端交互使用的加密密钥;通过宿主机获取客户端的加密查询信息,根据加密密钥和加密查询信息获取解密查询信息;根据用户角色和解密查询信息,获取本地数据库的数据库执行结果;根据加密密钥和数据库执行结果生成加密执行结果,并通过宿主机将加密执行结果发送至客户端。本发明的数据库中存储的是非密态数据,数据库的载体无法联网,客户端与数据库之间的通讯需要经由宿主机进行转发。数据库的载体、宿主机以及客户端三方之间的通信全程加密,可以在保护数据机密性的同时,加速查询。

技术特征:

1.一种数据库加密查询处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的数据库加密查询处理方法,其特征在于,所述根据所述建立连接请求确定所述客户端的用户角色和与所述客户端交互使用的加密密钥,包括:

3.根据权利要求2所述的数据库加密查询处理方法,其特征在于,所述通过所述宿主机向所述客户端获取公钥信息,包括:

4.根据权利要求1所述的数据库加密查询处理方法,其特征在于,所述根据所述用户角色和所述解密查询信息,获取本地数据库的数据库执行结果,包括:

5.根据权利要求4所述的数据库加密查询处理方法,其特征在于,所述方法还包括:

6.根据权利要求4所述的数据库加密查询处理方法,其特征在于,所述获取所述本地数据库基于所述查询命令回传的所述数据库执行结果,包括:

7.根据权利要求1所述的数据库加密查询处理方法,其特征在于,所述方法还包括:

8.一种机密计算协处理器,其特征在于,所述机密计算协处理器包括:

9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一所述的数据库加密查询处理方法。

10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一所述的数据库加密查询处理方法。

技术总结本发明公开了一种数据库加密查询处理方法及机密计算协处理器。方法包括:通过宿主机获取客户端的建立连接请求,根据建立连接请求确定用户角色和与客户端交互使用的加密密钥;通过宿主机获取客户端的加密查询信息,根据加密密钥和加密查询信息获取解密查询信息;根据用户角色和解密查询信息,获取本地数据库的数据库执行结果;根据加密密钥和数据库执行结果生成加密执行结果,并通过宿主机将加密执行结果发送至客户端。本发明的数据库中存储的是非密态数据,数据库的载体无法联网,客户端与数据库之间的通讯需要经由宿主机进行转发。数据库的载体、宿主机以及客户端三方之间的通信全程加密,可以在保护数据机密性的同时,加速查询。技术研发人员:范瑜芯,蓝晏翔受保护的技术使用者:深圳市机密计算科技有限公司技术研发日:技术公布日:2024/7/29

本文地址:https://www.jishuxx.com/zhuanli/20240730/195488.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。