CN112446037A - 基于数据库网关端的数据交互方法、装置及相关设备 - Google Patents
基于数据库网关端的数据交互方法、装置及相关设备 Download PDFInfo
- Publication number
- CN112446037A CN112446037A CN202011127151.5A CN202011127151A CN112446037A CN 112446037 A CN112446037 A CN 112446037A CN 202011127151 A CN202011127151 A CN 202011127151A CN 112446037 A CN112446037 A CN 112446037A
- Authority
- CN
- China
- Prior art keywords
- database
- trusted
- gateway
- signature request
- report
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Abstract
本申请提供基于数据库网关端的数据交互方法、装置、计算机设备及存储介质,应用于数据交互领域,用于解决数据交互时安全性低的问题,通过对数据库网关端初始化数据库网关端可信部分和数据库网关端不可信部分,对数据库端进行初始化数据库端可信部分和数据库端不可信部分,且数据库存储在数据库端不可信部分,然后建立数据库网关端可信部分和数据库端可信部分的第一信任链及数据库端可信部分与数据库端不可信部分的数据库的第二信任链,接着通过数据库网管端的证书以及数据库端的证书对各自发出的报告签名,以供对方验证报告来源的可信性,提高数据交互的安全性,降低数据库网关被恶意软件攻击、数据库端被窃取而导致数据信息泄露的风险。
Description
技术领域
本发明涉及数据交互领域,尤其涉及一种基于数据库网关端的数据交互方法、装置、计算机设备及存储介质。
背景技术
大数据时代的数据处理和分析往往要通过多数据库端聚合来完成复杂的计算逻辑,数据库端的互通是云计算中的常见需求,尤其是跨机房、跨云服务提供商的数据库端互通。数据库网关端(Database Gateway)是一种用于数据库端代理,拥有数据库端访问控制、数据库端权限管理、数据库端访问追溯等功能的数据库端管理组件,可实现数据库端间互通。
数据库网关端系统肩负着大数据时代数据库端安全守门员的责任,但因数据库网关端暴露在公网环境下,因此非常容易遭受攻击。攻击形式包括但不限于黑客、病毒、rootkit等恶意软件,在应用层、操作系统层、硬件层对数据库网关端展开攻击。用户在使用过程中往往难以察觉到数据库端已经遭到窃取,从而形成APT(Advanced PersistentThreat,高级长期威胁)。此外,来自内部人员的恶意或者无意的非授权访问也可能造成数据泄漏。
现有的数据库网关端保护方案,基于虚拟化技术的系统资源隔离和监控,如Hypervisor为数据库网关端构建一个隔离的空间运行,但hypervisor技术自身的漏洞可能会威胁到整个系统;基于TPM(Trusted Platform Module,可信平台模块)的可信架构在程序加载时进行完整性度量,但却难以保证程序在运行时仍然是可信的;基于病毒查杀,如云平台的agent等,通过实时检测进出流量、指令、内存及文件等,进行威胁监测,但基于病毒查杀的方案在数据库网关端的大数据量情景下,对资源侵占较高且对未知威胁应对能力弱。
发明内容
本发明实施例提供一种基于数据库网关端的数据交互方法、装置、计算机设备及存储介质,以解决在大数据时代下,数据库网关易被恶意软件攻击、数据库端易被窃取而导致数据信息泄露的问题。
根据本申请的一方面提供一种基于数据库网关端的数据交互方法,所述方法应用于数据库网关端,包括:
初始化数据库网关端可信部分和数据库网关端不可信部分;
建立所述数据库网关端可信部分与数据库端可信部分的第一信任链;
所述数据库网关端可信部分接收来自客户端的签名请求报告,并对所述签名请求报告进行验证;
当所述签名请求报告验证通过后,所述数据库网关端可信部分将所述签名请求报告转换成标准的签名请求报告,并使用所述数据库网关端的证书对所述标准的签名请求报告进行签名,得到第二签名请求报告;
通过所述第一信任链将所述第二签名请求报告发送给所述数据库端可信部分,供所述数据库端可信部分对所述第二签名请求报告进行验证解码;
所述数据库网关端可信部分接收所述数据库端可信部分根据所述第二签名请求报告返回的第一签名请求结果;
将所述第一签名请求结果发送至所述客户端,供所述客户端进行验证。
根据本申请的一方面提供一种基于数据库网关端的数据交互方法,所述方法应用于数据库端,包括:
初始化数据库端可信部分和数据库端不可信部分,其中,数据库存储在所述数据库端不可信部分;
建立所述数据库端可信部分与所述数据库的第二信任链;
所述数据端可信部分接收所述数据库网关端发送的第二签名请求报告;
所述数据库端可信部分通过所述第二签名请求报告携带的所述数据库网关端的证书验证所述数据库网关端的身份;
当所述数据库网关端的身份验证通过后,对所述第二签名请求报告进行解码,得到标准的第二签名请求报告;
将所述标准的第二签名请求报告转换成所述数据库可识别的数据请求,并通过所述第二信任链将所述数据请求发送给数据库端不可信部分中的所述数据库;
通过所述第二信任链从所述数据库中获取数据请求结果;
所述数据库端可信部分通过数据库端的证书对所述数据请求结果进行签名,得到第一签名请求结果;
将所述第一签名请求结果发送给所述数据库网关端可信部分,供所述数据库网关端可信部分将所述第一签名请求结果发送至客户端。
根据本申请的一方面提供一种基于数据库网关端的第一数据交互装置,包括:
第一初始化模块,用于初始化数据库网关端可信部分和数据库网关端不可信部分;
第一信任链建立模块,用于建立所述数据库网关端可信部分与数据库端可信部分的第一信任链;
第一接收模块,用于所述数据库网关端可信部分接收来自客户端的签名请求报告,并对所述签名请求报告进行验证;
第二签名请求报告生成模块,用于当所述签名请求报告验证通过后,所述数据库网关端可信部分将所述签名请求报告转换成标准的签名请求报告,并使用所述数据库网关端的证书对所述标准的签名请求报告进行签名,得到第二签名请求报告;
第一发送模块,用于通过所述第一信任链将所述第二签名请求报告发送给所述数据库端可信部分,供所述数据库端可信部分对所述第二签名请求报告进行验证解码;
第二接收模块,用于所述数据库网关端可信部分接收所述数据库端可信部分根据所述第二签名请求报告返回第一签名请求结果;
第二发送模块,用于将所述第一签名请求结果发送至所述客户端,供所述客户端验证。
根据本申请的一方面提供一种基于数据库网关端的第二数据交互装置,包括:
第二初始化模块,用于初始化数据库端可信部分和数据库端不可信部分,其中,数据库存储在所述数据库端不可信部分;
第二信任链建立模块,用于建立所述数据库端可信部分与所述数据库的第二信任链;
第三接收模块,用于所述数据端可信部分接收所述数据库网关端发送的第二签名请求报告;
验证模块,用于所述数据库端可信部分通过所述第二签名请求报告携带的所述数据库网关端的证书验证所述数据库网关端的身份;
解码模块,用于当所述数据库网关端的身份验证通过后,对所述第二签名请求报告进行解码,得到标准的第二签名请求报告;
第三发送模块,用于将所述标准的第二签名请求报告转换成所述数据库可识别的数据请求,并通过所述第二信任链将所述数据请求发送给所述数据库端不可信部分中的所述数据库;
数据请求结果获取模块,用于从所述数据库中通过所述第二信任链获取数据请求结果;
第一签名结果生成模块,用于所述数据库端可信部分通过数据库端的证书对所述数据请求结果进行签名,得到第一签名请求结果;
第四发送模块,用于将所述第一签名请求结果发送给所述数据库网关端可信部分,供所述数据库网关端可信部分将所述第一签名请求结果发送至客户端。
根据本申请的一方面,提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于数据库网关端的数据交互方法的步骤。
根据本申请的一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于数据库网关端的数据交互方法的步骤。
本申请基于一种数据库网关的数据交互方法、装置、计算机设备及存储介质,通过对数据库网关端初始化数据库网关端可信部分和数据库网关端不可信部分,对数据库端进行初始化数据库端可信部分和数据库端不可信部分,且数据库存储在数据库端不可信部分,然后建立数据库网关端可信部分和数据库端可信部分建立第一信任链及数据库端可信部分与数据库端不可信部分的数据库建立第二信任链,接着通过数据库网管端的证书以及数据库端的证书对各自发出的报告进行签名,以供对方验证报告来源的可信性,提高数据交互的安全性,降低数据库网关被恶意软件攻击、数据库端被窃取而导致数据信息泄露的风险。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例中基于数据库网关端的数据交互方法,应用于数据库网管端的流程示意图;
图2是本申请一实施例中基于数据库网关端的数据交互方法,应用于数据库端的流程示意图;
图3是本申请一实施例中基于数据库网关端的第一数据交互装置的结构示意图;
图4是本申请一实施例中基于数据库网关端的第二数据交互装置的结构示意图;
图5是本申请一实施例中基于数据库网关端的数据交互方法的应用环境示意图;
图6是本申请一实施例中计算机设备的结构示意图;
图7是本申请一实施例中客户端、数据库网关端与数据库端的交互过程示意图。
具体实施例
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的基于数据库网关端的数据交互方法,可应用在如图5所示的应用环境中。
在一实施例中,如图1所示,提供一种基于数据库网关端的数据交互方法,应用于数据库网关端的流程示意图,包括以下步骤S101至S107。
步骤S101、初始化数据库网关端可信部分和数据库网关端不可信部分。
以基于X86平台实现的SGX(Software Guard Extension,软件保护扩展)的数据库网关端为例,首先将数据库网关端上电,依靠BIOS(Basic Input Output System,基本输入输出系统)引导,将SGX设置为启用状态,启动X86操作系统,X86操作启动完成后,从X86操作系统的文件系统中,将所述数据库网关不可信部分的地址加载到普通内存地址空间中,数据库网关端可信部分的地址加载到受保护的内存地址空间中,在这个过程中SGX驱动程序的安全性会被检查、SGX驱动程序检查当前软件版本编号SVN(Subversion,版本控制系统)、数据库网关端的签名SIGSTURCT完整性等信息,确保数据库网关端的完整性。
进一步地,所述数据库网关端不可信部分存储所述数据库网关端可信部分的加密的密封数据。
具体地,数据库网关端可信部分将需要保存在数据库网关端不可信部分的数据进行加密,并将加密后的密封密钥通过Ocall函数输送到数据库网关端不可信部分密封存储。密封数据的密封密钥由数据库网关端的CPU创建,并且只能在数据库网关端可信部分中被解密,确保了数据的安全性,在需要被使用时,由数据库网关端可信部分通过Ecall函数调用,并在数据库网关端可信部分进行解密,存储/加载到数据库网关端可信部分,以减少数据库网关端可信部分的内存占用,以及在数据库网关端设备下电后,可将必要数据密封存储在数据库网关端不可信部分中。
示例性的,需要保存在数据库网关端不可信部分的数据包括数据库网关端的配置信息及网关负载程序,所述网关负载程序包括与数据库网关端可信部分的通信接口以及业务逻辑,其中业务逻辑可拓展数据库网关端的功能,包括数据库网关端访问控制、数据库网关端用量计量、数据库网关端权限管理等。
步骤S102、建立所述数据库网关端可信部分与数据库端可信部分的第一信任链。
具体的,第一信任链为数据库网关端可信部分与数据库端可信部分的通信路径,该通信路径包括通信协议和网络,该第一信任链保证了数据库网关端可信部分和数据库端可信部分的之间的安全通信。
可选地,第一信任链建立之后,在数据库网关端可信部分向数据库端可信部分发送第二签名请求报告之前,可设置过期时间,若数据库端可信部分对第二签名请求报告的处理时间在过期时间内的,可跳过数据库网关端可信部分与数据库端可信部分的验证过程,以缩短请求处理时间,提高返回数据请求结果的效率。
步骤S103、所述数据库网关端可信部分接收来自客户端的签名请求报告,并对所述签名请求报告进行验证。
具体地,客户端可以是数据库网关端,也可以是远程客户端,客户端在发送请求前,需要创建证明自身身份的证书文件,所述证书文件可以为自签名证书、PKI(Public KeyInfrastructure,公钥基础设施)证书、从数据库网关派生证书等。若是从数据库网关端派生证书,则需要在数据库网关端中加载相应的创建身份的代码,该代码可以存储在数据库网关端可信部分或加密存储在数据库网关端不可信部分,在需要使用时,通过ECALL函数调用。
示例性地,通过自签名证书证明自身身份,客户端生成RSA(Rivest-Shamir-Adleman)私钥以构建自签名证书,该自签名证书用于签名请求报告形成签名请求报告,并将所述签名请求报告通过SOCKET、HTTP、RPC、IPC等协议发送给数据库网关端,供数据库网关端确认请求信息未被篡改并确认客户端的身份。
数据库网关端可信部分接收来自客户端的签名请求报告,通过数据库网关端的认证策略对客户端身份和用户请求进行验证,该认证策略包括简单的验证逻辑和复杂的验证逻辑,其中,简单的验证逻辑可通过验证证书的方式进行认证,复杂的验证逻辑,如人脸识别、多因子识别等,需要额外编写验证逻辑代码。上述认证策略可存储在数据库网关端可信部分或密封存储在数据库网关端不可信部分中的内存、持久化存储器等地方,密封密钥由数据库网关端的CPU创建,并且只能在数据库网关端可信部分中被解密,确保了数据的安全性,在需要被使用时,由数据库网关端可信部分通过Ecall函数调用相应的验证逻辑,并在数据库网关端可信部分进行解密,存储/加载到数据库网关端可信部分。
步骤S104、当所述签名请求报告验证通过后,所述数据库网关端可信部分将所述签名请求报告转换成标准的签名请求报告,并使用所述数据库网关端的证书对所述标准的签名请求报告进行签名,得到第二签名请求报告。
具体地,当验证客户端身份是合法的,签名请求报告是完整的,未被篡改过的,则由数据库网关端可信部分将签名请求报告转换成标准的签名请求报告,以供数据库网关端可信部分使用数据库网关端的证书对该标准的签名请求报告进行签名得到第二签名请求报告。
数据库网关端的证书可存储在数据库网关端可信部分,也可加密存在在数据库网关端不可信部分,在需要被使用时,由数据库网关端可信部分通过Ecall函数调用,并在数据库网关端可信部分进行解密,存储/加载到数据库网关端可信部分,密钥由数据库网关端的CPU创建,并且只能在数据库网关端可信部分中被解密。
步骤S105、通过所述第一信任链将所述第二签名请求报告发送给所述数据库端可信部分,供所述数据库端可信部分对所述第二签名请求报告进行验证解码。
具体地,所述第二签名请求报告携带有数据库网关端的证书,可供数据库端可信部分验证数据库网关端的身份。
步骤S106、所述数据库网关端可信部分接收所述数据库端可信部分根据所述第二签名请求报告返回的第一签名请求结果。
具体地,所述数据库端可信部分通过所述一信任链返回第一签名请求结果。
步骤S107、将所述第一签名请求结果发送至所述客户端,供所述客户端进行验证。
具体地,供所述客户端验证所述第一签名请求结果的合法来源以及第一签名请求结果的完整性,验证通过后,结束本次请求。
可选地,步骤S107还可以包括:
步骤S1071、数据库网关端获取所述第一签名请求结果包含的数据库端的签名信息。
步骤S1072、通过所述所数据库端的签名信息对所述第一签名请求结果进行验证。
步骤S1073、验证通过后,对所述第一签名请求结果进行解码得到标准的第一签名请求结果。
步骤S1074、所述数据库网关端可信部分使用所述数据库网关端的证书对所述标准的第一签名请求结果进行签名,得到第二签名请求结果
步骤S1075、将所述第二签名请求结果返回给客户端,供所述客户端进行验证,验证通过后,结束此次请求。
需要特别说明的是,所述数据库网关端可应用于多个数据库端,与多个数据库端分别建立信任链,实现与多个数据库端进行数据安全交互的目的。
在本实施例中,通过初始化数据库网关端可信部分和数据库网关端不可信部分,建立数据库网关端可信部分与数据库端可信部分间的第一信任链,通过数据库网关端可信部分接收并验证来自客户端的签名请求报告,验证通过后,将该签名请求报告转换成标准的签名请求报告,并在数据库网关端可信部分使用数据库网关端的证书对该标准的签名请求报告进行签字,得到第二签名请求报告,通过第一信任链将该第二签名请求报告发送至数据库端可信部分,供数据库端可信部分进行验证解码,并接收数据库端可信部分返回的第一签名请求结果,将该第一签名请求结果返回给客户端,在此过程中,所有过程在数据库网关端可信部分执行,数据库端可信部分的交互通过第一信任链完成,保证了数据交互过程的安全性,降低数据库网关端工作时、数据库网关端与数据库端间的交互时被恶意软件攻击而导致数据信息泄露的风险。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,步骤S101、初始化数据库网关端可信部分和数据库网关端不可信部分包括以下步骤S1011至S1012。
S1011、将所述数据库网关端上电,启动操作系统。
S1012、所述操作系统启动后,从所述操作系统中将所述数据库网关端可信部分的地址加载到受保护的内存地址空间中,将所述数据库网关端不可信部分的地址加载到普通内存地址空间中。
在一实施例中,步骤S102、所述建立所述数据库网关端可信部分与数据库端可信部分的第一信任链包括以下步骤S1021至S1024。
S1021、所述数据库网关端通过所述数据库网关端的证书签名生成数据库网关端身份证明报告。
示例性地,一种签名的具体例子为使用SGX SDK中的QuoteEnclave完成,签名所使用的证书的根证书可以被数据库端验证,因此可以通过数据库网关端身份证明报告确认数据库网关端是可信分。
S1022、所述数据库网关端可信部分向所述数据库端可信部分发起第一信任链建立请求,所述第一信任链建立请求包含所述数据库网关端身份证明报告,供所述数据库端进行解析以确认所述数据库网关端身份的可信性。
具体地,数据库网关端可信部分通过通信协议与网络向所述数据库端发起第一信任链建立请求。
S1023、接收到所述数据库端可信部分返回的数据库端身份证明报告时,验证所述数据库端身份的可信性。
具体地,利用数据库网关端的认证策略,通过数据库端身份证明报告上携带的数据库端的签名信息,验证数据库端身份的可信性。
S1024、若所述数据库端的身份是可信的,则所述数据库网关端可信部分向所述数据库端发送签名确认信息,完成所述第一信任链的建立。
在一实施例中,如图3所示,提供一种基于数据库网关的第一第一数据交互装置,包括:
第一初始化模块30,用于初始化数据库网关端可信部分和数据库网关端不可信部分;
第一信任链建立模块31,用于建立所述数据库网关端可信部分与数据库端可信部分的第一信任链;
第一接收模块32,用于所述数据库网关端可信部分接收来自客户端的签名请求报告,并对所述签名请求报告进行验证;
第二签名请求报告生成模块33,用于当所述签名请求报告验证通过后,所述数据库网关端可信部分将所述签名请求报告转换成标准的签名请求报告,并使用所述数据库网关端的证书对所述标准的签名请求报告进行签名,得到第二签名请求报告;
第一发送模块34,用于通过所述第一信任链将所述第二签名请求报告发送给所述数据库端可信部分,供所述数据库端可信部分对所述第二签名请求报告进行验证解码;
第二接收模块35,用于所述数据库网关端可信部分接收所述数据库端可信部分根据所述第二签名请求报告返回的第一签名请求结果;
第二发送模块36,将所述第一签名请求结果发送至所述客户端,供所述客户端进行验证。
进一步地,第一初始化模块30包括第一上电单元和第一地址加载单元。
第一上电单元,用于将所述数据库网关端上电,启动操作系统。
第一地址加载单元,用于所述操作系统启动后,从所述操作系统中将所述数据库网关端可信部分的地址加载到受保护的内存地址空间中,将所述数据库网关端不可信部分的地址加载到普通内存地址空间中。
进一步地,第一信任链建立模块31包括数据库网关端身份证明报告生成单元、第一信任链建立请求发起单元、第一验证单元和第一信任链建立单元。
数据库网关端身份证明报告生成单元,用于所述数据库网关端通过所述数据库网关端的证书签名生成数据库网关端身份证明报告。
第一信任链建立请求发起单元,用于所述数据库网关端可信部分向所述数据库端发起第一信任链建立请求,所述第一信任链建立请求包含所述数据库网关端身份证明报告,供所述数据库端进行解析以确认所述数据库网关端身份的可信性。
第一验证单元,用于接收到所述数据库端可信部分返回的数据库端身份证明报告时,验证所述数据库端身份的可信性。
第一信任链建立单元,用于若所述数据库端的身份是可信的,则所述数据库网关端可信部分向所述数据库端发送签名确认信息,完成所述第一信任链的建立。
进一步地,所述装置还包括第一密封存储单元,用于所述数据库网关端不可信部分存储所述数据库网关端可信部分的加密的密封数据。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于基于数据库网关端的第一数据交互装置,所述装置的具体限定可以参见上文中对于基于数据库网关端的数据交互方法,所述方法应用于数据库网关端的限定,在此不再赘述。上述基于数据库网关端的第一数据交互装置,所述装置的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本发明的又一实施例,提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述基于数据库网关端的数据交互方法,所述方法应用于数据库网关端的步骤。例如图1所示的步骤101至步骤107及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中所述基于数据库网关端的第一数据交互装置,所述装置的各模块/单元的功能,例如图3所示模块30至模块36的功能。为避免重复,这里不再赘述。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分,其中所述处理器还包括SGX、安全计数器、安全时钟、安全加密引擎等模块。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
在一实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于数据库网关端的数据交互方法,所述方法应用于数据库网关端的步骤,例如图1所示的步骤101至步骤107及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中基于数据库网关端的第一数据交互装置的各模块/单元的功能,例如图3所示模块30至模块36的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
在一实施例中,如图2所示,提供一种基于数据库网关端的数据交互方法,应用于数据库端的流程示意图,包括以下步骤S201至S209。
S201、初始化数据库端可信部分和数据库端不可信部分,其中,数据库存储在所述数据库端不可信部分。
以基于X86平台实现的SGX(Software Guard Extension,软件保护扩展)技术形成的数据库端为例,首先将数据库端上电,依靠BIOS(Basic Input Output System,基本输入输出系统)引导,将SGX设置为启用状态,启动操作系统,操作启动完成后,将所述数据库端不可信部分的地址加载到普通内存地址空间中,将数据库加载到数据库端不可信部分存储,数据库端可信部分的地址加载到受保护的内存地址空间中,在这个过程中SGX驱动程序的安全性会被检查、SGX驱动程序检查当前软件版本编号SVN(Subversion,版本控制系统)、数据库网关端的签名SIGSTURCT完整性等信息,确保数据库网关端的完整性。
进一步地,所述数据库端不可信部分存储所述数据库端可信部分的加密的密封数据。
具体地,数据库端可信部分将需要保存在数据库端不可信部分的数据进行加密,并将加密后的密封密钥通过Ocall函数输送到数据库端不可信部分密封存储。密封数据的密封密钥由数据库网关端的CPU创建,并且只能在数据库网关端可信部分中被解密,确保了数据的安全性,在需要被使用时,由数据库端可信部分通过Ecall函数调用并在数据库端可信部分进行解密,存储/加载到数据库端可信部分,以减少数据库端可信部分的内存占用,以及在数据库端设备下电后,可将必要数据密封存储在数据库端不可信部分中。
示例性的,需要保存在数据库端不可信部分的数据包括数据库端的配置信息等。
S202、建立所述数据库端可信部分与所述数据库的第二信任链。
具体的,第二信任链为数据库端可信部分与数据库端不可信部分中的数据库的通信路径,该通信路径包括通信协议,该第二信任链保证了数据库端可信部分和数据库端可信部分中的数据库之间的安全通信。
可选地,第二信任链建立之后,在数据库端可信部分向数据库端不可信部分发送验证请求之前,可设置过期时间,若数据库端不可信部分对验证请求的处理时间在过期时间内的,可跳过数据库端可信部分与数据库端不可信部分的验证过程,以缩短请求处理时间,提高返回结果的效率。
S203、所述数据端可信部分接收所述数据库网关端发送的第二签名请求报告。
S204、所述数据库端可信部分通过所述第二签名请求报告携带的所述数据库网关端的证书验证所述数据库网关端的身份。
具体地,通过数据库端的认证策略验证所述数据库网关端的证书,以证明数据库网关端的身份是可信的以及所述第二签名请求报告的完整性。
数据库端可信部分接收来自数据库网关端的第二签名请求报告,通过数据库端的认证策略对数据库网关端的身份和第二签名请求报告进行验证,该认证策略包括简单的验证逻辑和复杂的验证逻辑,其中,简单的验证逻辑可通过验证证书的方式进行认证,复杂的验证逻辑,如人脸识别、多因子识别等,需要额外编写验证逻辑代码。上述认证策略可存储在数据库端可信部分或密封存储在数据库端不可信部分中的内存、持久化存储器等地方,密封密钥由数据库端的CPU创建,并且只能在数据库端可信部分中被解密,确保了数据的安全性,在需要被使用时,由数据库端可信部分通过Ecall函数调用相应的验证逻辑,并在数据库网关端可信部分进行解密,存储/加载到数据库端可信部分。
S205、当所述数据库网关端的身份验证通过后,对所述第二签名请求报告进行解码,得到标准的第二签名请求报告。
具体地,当证明数据库网关端是可信的,第二签名请求报告是完整的,则对第二签名请求报告进行解码,得到标准的第二签名请求报告。
S206、将所述标准的第二签名请求报告转换成所述数据库可识别的数据请求,并通过所述第二信任链将所述数据请求发送给所述数据库端不可信部分中的所述数据库。
S207、通过所述第二信任链从所述数据库中获取数据请求结果。
具体地,数据库端不可信部分中的数据库接收到数据请求时,执行该数据请求生成数据请求结果,所述数据库端可信部分通过第二信任链从数据库中获取数据请求结果。
S208、所述数据库端可信部分通过数据库端的证书对所述数据请求结果进行签名,得到第一签名请求结果。
具体地,数据库端的证书可存储在数据库端可信部分,也可加密存在在数据库端不可信部分,在需要被使用时,由数据库端可信部分通过Ecall函数调用,并在数据库端可信部分进行解密,存储/加载到数据库端可信部分,密钥由数据库端的CPU创建,并且只能在数据库端可信部分中被解密,确保了数据的安全性。
示例性地,一种签名的具体例子为使用SGX SDK中的QuoteEnclave完成,签名所使用的证书的根证书可以被数据库网关端验证,因此可以通过第一签名请求结果携带的证书确认数据库端是可信的。
S209、将所述第一签名请求结果发送给所述数据库网关端可信部分,供所述数据库网关端可信部分将所述第一签名请求结果发送至客户端。
具体地,将所述第一签名请求结果通过第一信任链发送给数据库网关端可信部分,供所述数据库网关端可信部分将所述第一签名请求结果发送至客户端。
可选地,供所述数据网关端可信部分将所述第一签名请求结果转换成标准的第一签名请求结果,并使用数据库网关端的证书对标准的第一签名请求结果进行签名,得到第二签名请求结果,并将第二签名请求结果发送给客户端。
在本实施例中,通过初始化数据库端可信部分和数据库端不可信部分,并将数据库加载到数据库端不可信部分存储,建立数据库与数据库端可信部分与数据库之间的第二信任链,数据库段可信部分接收并验证数据库网关端发来的第二签名请求报告,验证通过后,将第二签名请求报告进行解码并转换得到数据库可识别的数据请求,通过第二信任链将其发给数据库端不可信部分,并通过第二信任链从数据库端不可信部分获取对应的数据请求结果,使用数据库端的证书对该数据请求结果进行签名得到第一签名请求结果,并通过第一信任链将该第一签名请求结果发送给数据库网关端可信部分,在此过程中,数据库端可信部分与数据库端不可信部分中的数据库通过第二信任链进行交互,在与数据库网关端通过第一信任链进行交互,其余过程在数据库端可信部分执行,提高了数据库端内部进行数据交互的安全性和数据库端与数据库网关端进行数据交互的安全性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,步骤S201、所述初始化数据库端可信部分和数据库端不可信部分,数据库存储在所述数据库端不可信部分包括以下步骤S2011至S2012.
S2011、将所述数据库端上电,启动操作系统。
S2012、从所述操作系统中将所述数据库端可信部分的地址加载到受保护的内存地址中,将所述数据库端不可信部分的地址加载到普通内存地址中存储。
在一实施例中,步骤S202、所述建立所述数据库端可信部分与所述数据库的第二信任链包括以下步骤S2021至S2023。
S2021、所述数据库端可信部分向所述数据库端不可信部分发送验证请求。
具体地,数据库端可信部分向数据库端不可信部分发送验证请求,请求对数据库进行验证,以建立信任链。
S2022、所述数据库端不可信部分向所述数据库转发所述验证请求,所述数据库向所述数据库不可信部分返回所述验证请求的回复结果;
S2023、当所述数据库端不可信部分在预设的时间段内接收到所述验证请求的回复结果时,对所述回复结果进行验证。
具体地,假设预设的时间为0-ts,数据库必须在0-ts的时间段内返回正确的结果。若在预设的时间段内,数据库返回给数据库端不可信部分的结果是正确的,则证明数据库处于正常运行状态,是可信的,数据库端可信部分与数据库间的第二信任链建立成功,否则数据库处于非正常运行状态,不可信的,第二信任链建立失败。
S2023、当所述回复结果验证通过时,建立所述第二信任链。
进一步地,所述方法还包括:
当所述回复结果验证通过时,所述数据库端不可信部分生成数据库可信报告。
所述数据库端可信部分通过所述第二信任链从所述数据库端不可信部分中获取所述数据库可信报告。
所述数据库端可信部分生成含有所述数据库可信报告的数据库端身份证明报告。
将所述数据库端身份证明报告发送至所述数据库网关端可信部分,供所述数据库网关端可信部分验证所述数据库端身份的可信性。
具体地,将所述数据库端身份证明报告通过第一信任链发送至所述数据库库网关端可信部分,供所述数据库网关端可信部分验证所述数据库端身份的可信性。
在一实施例中,如图4所示,提供一种基于数据库网关端的第二数据交互装置,包括:
第二初始化模块40,用于初始化数据库端可信部分和数据库端不可信部分,其中,数据库存储在所述数据库端不可信部分。
第二信任链建立模块41,用于建立所述数据库端可信部分与所述数据库的第二信任链。
第三接收模块42,用于所述数据端可信部分接收所述数据库网关端发送的第二签名请求报告。
验证模块43,用于所述数据库端可信部分通过所述第二签名请求报告携带的所述数据库网关端的证书验证所述数据库网关端的身份。
解码模块44,用于当所述数据库网关端的身份验证通过后,对所述第二签名请求报告进行解码,得到标准的第二签名请求报告;
第三发送模块45,用于将所述标准的第二签名请求报告转换成所述数据库可识别的数据请求,并通过所述第二信任链将所述数据请求发送给所述数据库端不可信部分中的所述数据库。
数据请求结果获取模块46,用于用于通过所述第二信任链从所述数据库中获取数据请求结果。
第一签名结果生成模块47,用于所述数据库端可信部分通过数据库端的证书对所述数据请求结果进行签名,得到第一签名请求结果。
第四发送模块48,用于将所述第一签名请求结果发送给所述数据库网关端可信部分,供所述数据库网关端可信部分将所述第一签名请求结果发送至客户端。
进一步地,第二初始化模块40包括第二上电单元和第二地址加载单元。
第二上电单元,用于将所述数据库端上电,启动操作系统。
第二地址加载单元,用于从所述操作系统中将所述数据库端可信部分的地址加载到受保护的内存地址中,所述数据库端不可信部分的地址加载到普通内存地址中。
进一步地,所述装置包括验证请求发送单元、验证请求转发单元、第二验证单元、第二信任链建立单元。
验证请求发送单元,用于所述数据库端可信部分向所述数据库端不可信部分发送验证请求。
验证请求转发单元,所述数据库端不可信部分向所述数据库转发所述验证请求,所述数据库向所述数据库不可信部分返回所述验证请求的回复结果。
第二验证单元,用于当所述数据库端不可信部分在预设的时间段内接收到所述验证请求的回复结果时,对所述回复结果进行验证。
第二信任链建立单元,用于当所述回复结果验证通过时,建立所述第二信任链。
进一步地,所述装置还包括数据库可信报告获取单元、数据端身份证明报告生成单元和第二发送单元
数据库可信报告获取单元,用于所述数据库端可信部分通过所述第二信任链从所述数据库端不可信部分总获取所述数据库可信报告。
数据端身份证明报告生成单元,用于所述数据库端可信部分生成含有所述数据库可信报告的数据库端身份证明报告。
第二发送单元,用于将所述数据库端身份证明报告发送至所述数据库网关端可信部分,供所述数据库网关端可信部分验证所述数据库端身份的可信性。
进一步地,所述装置还包括第二密封存储单元,用于在所述数据库端不可信部分存储所述数据库端可信部分的加密的密封数据。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于基于数据库网关端的第二数据交互装置,所述装置的具体限定可以参见上文中对于基于数据库网关端的数据交互方法,所述方法应用于数据库端的限定,在此不再赘述。上述基于数据库网关端的第二数据交互装置,所述装置的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本发明的又一实施例,提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述基于数据库网关端的数据交互方法,所述方法应用于数据库端的步骤。例如图2所示的步骤201至步骤209及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中所述基于数据库网关端的第二数据交互装置,所述装置的各模块/单元的功能,例如图4所示模块40至模块48的功能。为避免重复,这里不再赘述。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分,其中所述处理器还可以包括SGX、安全计数器、安全时钟、安全加密引擎等模块。。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
在一实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于数据库网关端的数据交互方法,所述所述方法应用于数据库端的步骤,例如图2所示的步骤201至步骤209及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中基于数据库网关端的第二数据交互装置的各模块/单元的功能,例如图4所示模块40至模块48的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
在一实施例中,如图7所示,客户端通过socket、HTTP、RPC、IPC等协议和网络将签名请求报告发送给数据库网关端可信部分,数据库网关端可信部分验证客户端的身份合法性和签名请求报告的完整性后,将签名请求报告进行转换并签名生成第二签名请求报告,通过第一信任链将第二签名请求报告发送给数据库端可信部分,数据库端可信部分接收该第二签名请求报告,验证数据库网关端的身份可信后,将该第二签名请求报告转换成存储在数据库端不可信部分中的数据库可识别的数据请求,通过第二信任链发送该数据请求,并通过第二信任链从数据库中获取对应的数据请求结果,并使用数据库端的证书在数据端可信部分对该数据请求结果进行签名,形成第一签名请求结果,并通过第一信任链将该第一签名请求结果发送给数据库网关端可信部分,数据库网关端可信部分将该第一签名请求结果发送给客户端。
以上,通过对数据库网关端初始化数据库网关端可信部分和数据库网关端不可信部分,对数据库端进行初始化数据库端可信部分和数据库端不可信部分,且数据库存储在数据库端不可信部分,然后建立数据库网关端可信部分和数据库端可信部分的第一信任链及数据库端可信部分与数据库端不可信部分的数据库的第二信任链,接着通过数据库网管端的证书在数据库网关端可信部分以及数据库端的证书在数据库端可信部分对各自发出的报告签名,以供对方验证报告来源的可信性,提高数据交互的安全性,降低数据库网关端被恶意软件攻击、数据库端被窃取而导致数据信息泄露的风险。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (12)
1.一种基于数据库网关端的数据交互方法,所述方法应用于数据库网关端,其特征在于,
初始化数据库网关端可信部分和数据库网关端不可信部分;
建立所述数据库网关端可信部分与数据库端可信部分的第一信任链;
所述数据库网关端可信部分接收来自客户端的签名请求报告,并对所述签名请求报告进行验证;
当所述签名请求报告验证通过后,所述数据库网关端可信部分将所述签名请求报告转换成标准的签名请求报告,并使用所述数据库网关端的证书对所述标准的签名请求报告进行签名,得到第二签名请求报告;
通过所述第一信任链将所述第二签名请求报告发送给所述数据库端可信部分,供所述数据库端可信部分对所述第二签名请求报告进行验证解码;
所述数据库网关端可信部分接收所述数据库端可信部分根据所述第二签名请求报告返回的第一签名请求结果;
将所述第一签名请求结果发送至所述客户端,供所述客户端进行验证。
2.根据权利要求1所述的方法,其特征在于,所述初始化数据库网关端可信部分和数据库网关端不可信部分的方法包括:
将所述数据库网关端上电,启动操作系统;
所述操作系统启动后,从所述操作系统中将所述数据库网关端可信部分的地址加载到受保护的内存地址空间中,将所述数据库网关端不可信部分的地址加载到普通内存地址空间中。
3.根据权利要求1所述的方法,其特征在于,所述建立所述数据库网关端可信部分与数据库端可信部分的第一信任链的步骤包括:
所述数据库网关端通过所述数据库网关端的证书签名生成数据库网关端身份证明报告;
所述数据库网关端可信部分向所述数据库端可信部分发起第一信任链建立请求,所述第一信任链建立请求包含所述数据库网关端身份证明报告,供所述数据库端可信部分进行解析以确认所述数据库网关端身份的可信性;
接收到所述数据库端可信部分返回的数据库端身份证明报告时,验证所述数据库端身份的可信性;
若所述数据库端的身份是可信的,则所述数据库网关端可信部分向所述数据库端发送签名确认信息,完成所述第一信任链的建立。
4.根据权利要求1所述的方法,其特征在于,所述数据库网关端不可信部分存储所述数据库网关端可信部分的加密的密封数据。
5.一种基于数据库网关端的数据交互方法,所述方法应用于数据库端,其特征在于,所述方法包括:
初始化数据库端可信部分和数据库端不可信部分,其中,数据库存储在所述数据库端不可信部分;
建立所述数据库端可信部分与所述数据库的第二信任链;
所述数据端可信部分接收所述数据库网关端发送的第二签名请求报告;
所述数据库端可信部分通过所述第二签名请求报告携带的所述数据库网关端的证书验证所述数据库网关端的身份;
当所述数据库网关端的身份验证通过后,对所述第二签名请求报告进行解码,得到标准的第二签名请求报告;
将所述标准的第二签名请求报告转换成所述数据库可识别的数据请求,并通过所述第二信任链将所述数据请求发送给数据库端不可信部分中的所述数据库;
通过所述第二信任链从所述数据库中获取数据请求结果;
所述数据库端可信部分通过数据库端的证书对所述数据请求结果进行签名,得到第一签名请求结果;
将所述第一签名请求结果发送给所述数据库网关端可信部分,供所述数据库网关端可信部分将所述第一签名请求结果发送至客户端。
6.根据权利要求5所述的方法,其特征在于,所述初始化数据库端可信部分和数据库端不可信部分,数据库存储在所述数据库端不可信部分的步骤包括:
将所述数据库端上电,启动操作系统;
从所述操作系统中将所述数据库端可信部分的地址加载到受保护的内存地址中,将所述数据库端不可信部分的地址加载到普通内存地址中。
7.根据权利要求5所述的方法,其特征在于,所述建立所述数据库端可信部分与所述数据库的第二信任链的步骤包括:
所述数据库端可信部分向所述数据库端不可信部分发送验证请求;
所述数据库端不可信部分向所述数据库转发所述验证请求,所述数据库向所述数据库不可信部分返回所述验证请求的回复结果;
当所述数据库端不可信部分在预设的时间段内接收到所述验证请求的回复结果时,对所述回复结果进行验证;
当所述回复结果验证通过时,建立所述第二信任链;
所述方法还包括:
当所述回复结果验证通过时,所述数据库端不可信部分生成数据库可信报告;
所述数据库端可信部分通过所述第二信任链从所述数据库端不可信部分中获取所述数据库可信报告;
所述数据库端可信部分生成包含有所述数据库可信报告的数据库端身份证明报告;
将所述数据库端身份证明报告发送至所述数据库网关端可信部分,供所述数据库网关端可信部分验证所述数据库端身份的可信性。
8.根据权利要求5所述的方法,其特征在于,所述数据库端不可信部分存储所述数据库端可信部分的加密的密封数据。
9.一种基于数据库网关端的第一数据交互装置,其特征在于,包括:
第一初始化模块,用于初始化数据库网关端可信部分和数据库网关端不可信部分;
第一信任链建立模块,用于建立所述数据库网关端可信部分与数据库端可信部分的第一信任链;
第一接收模块,用于所述数据库网关端可信部分接收来自客户端的签名请求报告,并对所述签名请求报告进行验证;
第二签名请求报告生成模块,用于当所述签名请求报告验证通过后,所述数据库网关端可信部分将所述签名请求报告转换成标准的签名请求报告,并使用所述数据库网关端的证书对所述标准的签名请求报告进行签名,得到第二签名请求报告;
第一发送模块,用于通过所述第一信任链将所述第二签名请求报告发送给所述数据库端可信部分,供所述数据库端可信部分对所述第二签名请求报告进行验证解码;
第二接收模块,用于所述数据库网关端可信部分接收所述数据库端可信部分根据所述第二签名请求报告返回第一签名请求结果;
第二发送模块,用于将所述第一签名请求结果发送至所述客户端,供所述客户端验证。
10.一种基于数据库网关端的第二数据交互装置,其特征在于,包括:
第二初始化模块,用于初始化数据库端可信部分和数据库端不可信部分,其中,数据库存储在所述数据库端不可信部分;
第二信任链建立模块,用于建立所述数据库端可信部分与所述数据库的第二信任链;
第三接收模块,用于所述数据端可信部分接收所述数据库网关端发送的第二签名请求报告;
验证模块,用于所述数据库端可信部分通过所述第二签名请求报告携带的所述数据库网关端的证书验证所述数据库网关端的身份;
解码模块,用于当所述数据库网关端的身份验证通过后,对所述第二签名请求报告进行解码,得到标准的第二签名请求报告;
第三发送模块,用于将所述标准的第二签名请求报告转换成所述数据库可识别的数据请求,并通过所述第二信任链将所述数据请求发送给所述数据库端不可信部分中的所述数据库;
数据请求结果获取模块,用于从所述数据库中通过所述第二信任链获取数据请求结果;
第一签名结果生成模块,用于所述数据库端可信部分通过数据库端的证书对所述数据请求结果进行签名,得到第一签名请求结果;
第四发送模块,用于将所述第一签名请求结果发送给所述数据库网关端可信部分,供所述数据库网关端可信部分将所述第一签名请求结果发送至客户端。
11.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8中任一项所述基于数据库网关端的数据交互方法的步骤。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述基于数据库网关端的数据交互方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011127151.5A CN112446037B (zh) | 2020-10-20 | 2020-10-20 | 基于数据库网关端的数据交互方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011127151.5A CN112446037B (zh) | 2020-10-20 | 2020-10-20 | 基于数据库网关端的数据交互方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112446037A true CN112446037A (zh) | 2021-03-05 |
CN112446037B CN112446037B (zh) | 2021-10-08 |
Family
ID=74735521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011127151.5A Active CN112446037B (zh) | 2020-10-20 | 2020-10-20 | 基于数据库网关端的数据交互方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112446037B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113271364A (zh) * | 2021-07-16 | 2021-08-17 | 湖南红普创新科技发展有限公司 | 服务编排数据的共享系统、方法、计算机设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060123250A1 (en) * | 1999-07-16 | 2006-06-08 | Intertrust Technologies Corporation | Trusted storage systems and methods |
US20080189250A1 (en) * | 2006-09-11 | 2008-08-07 | Interdigital Technology Corporation | Techniques for database structure and management |
CN102413127A (zh) * | 2011-11-09 | 2012-04-11 | 中国电力科学研究院 | 一种数据库综合安全防护方法 |
CN103888257A (zh) * | 2013-11-03 | 2014-06-25 | 北京工业大学 | 一种基于tpcm的网络摄像机身份认证方法 |
US20140281511A1 (en) * | 2013-03-15 | 2014-09-18 | Microsoft Corporation | Secure data processing on sensitive data using trusted hardware |
CN104615947A (zh) * | 2015-02-02 | 2015-05-13 | 中国科学院软件研究所 | 一种可信的数据库完整性保护方法及系统 |
CN107547251A (zh) * | 2017-06-28 | 2018-01-05 | 新华三技术有限公司 | 一种设备管理方法、装置及系统 |
CN107666420A (zh) * | 2017-08-30 | 2018-02-06 | 宁波梦居智能科技有限公司 | 一种智能家居网关生产控制和身份鉴别的方法 |
CN109492438A (zh) * | 2018-10-24 | 2019-03-19 | 梅艳 | 基于TrustZone的分布式计算系统 |
CN110377610A (zh) * | 2019-06-27 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种基于云平台的数据库更新方法、装置、设备及介质 |
-
2020
- 2020-10-20 CN CN202011127151.5A patent/CN112446037B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060123250A1 (en) * | 1999-07-16 | 2006-06-08 | Intertrust Technologies Corporation | Trusted storage systems and methods |
US20080189250A1 (en) * | 2006-09-11 | 2008-08-07 | Interdigital Technology Corporation | Techniques for database structure and management |
CN102413127A (zh) * | 2011-11-09 | 2012-04-11 | 中国电力科学研究院 | 一种数据库综合安全防护方法 |
US20140281511A1 (en) * | 2013-03-15 | 2014-09-18 | Microsoft Corporation | Secure data processing on sensitive data using trusted hardware |
CN103888257A (zh) * | 2013-11-03 | 2014-06-25 | 北京工业大学 | 一种基于tpcm的网络摄像机身份认证方法 |
CN104615947A (zh) * | 2015-02-02 | 2015-05-13 | 中国科学院软件研究所 | 一种可信的数据库完整性保护方法及系统 |
CN107547251A (zh) * | 2017-06-28 | 2018-01-05 | 新华三技术有限公司 | 一种设备管理方法、装置及系统 |
CN107666420A (zh) * | 2017-08-30 | 2018-02-06 | 宁波梦居智能科技有限公司 | 一种智能家居网关生产控制和身份鉴别的方法 |
CN109492438A (zh) * | 2018-10-24 | 2019-03-19 | 梅艳 | 基于TrustZone的分布式计算系统 |
CN110377610A (zh) * | 2019-06-27 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种基于云平台的数据库更新方法、装置、设备及介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113271364A (zh) * | 2021-07-16 | 2021-08-17 | 湖南红普创新科技发展有限公司 | 服务编排数据的共享系统、方法、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112446037B (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110138799B (zh) | 一种基于sgx的安全云存储方法 | |
Knauth et al. | Integrating remote attestation with transport layer security | |
US11074371B2 (en) | Systems, methods and apparatuses for secure storage of data using a security-enhancing chip | |
US9514317B2 (en) | Policy-based trusted inspection of rights managed content | |
US9998438B2 (en) | Verifying the security of a remote server | |
JP5519773B2 (ja) | ネットワークとの通信のためのデバイスの正当化および/または認証 | |
JP6371919B2 (ja) | セキュアなソフトウェアの認証と検証 | |
WO2016019790A1 (zh) | 一种安装包的校验方法、客户端、服务器及系统 | |
US11947681B2 (en) | Cryptographic secret generation and provisioning | |
CN111371726B (zh) | 安全代码空间的认证方法、装置、存储介质及处理器 | |
WO2022160697A1 (zh) | 授权认证、软件开发工具包生成方法、装置及电子设备 | |
CN112632573A (zh) | 智能合约执行方法、装置、系统、存储介质及电子设备 | |
Jung et al. | A secure platform model based on ARM platform security architecture for IoT devices | |
CN112446037B (zh) | 基于数据库网关端的数据交互方法、装置及相关设备 | |
Vinh et al. | Property‐based token attestation in mobile computing | |
US20240113898A1 (en) | Secure Module and Method for App-to-App Mutual Trust Through App-Based Identity | |
US20220035924A1 (en) | Service trust status | |
CN114024702A (zh) | 信息安全保护的方法以及计算设备 | |
Wu et al. | Research on vehicle cybersecurity based on dedicated security hardware and ECDH algorithm | |
Plappert et al. | Evaluating the applicability of hardware trust anchors for automotive applications | |
Huang et al. | An effective approach for remote attestation in trusted computing | |
CN112532576B (zh) | 一种网关数据交互方法、装置、计算机设备及存储介质 | |
KR20190128531A (ko) | 씰링 및 원격 증명을 기반으로 하는 2차 인증 방법 및 시스템 | |
CN115952489A (zh) | 构建可信网格的方法、可信网格以及其上的应用交互方法 | |
CN116980158A (zh) | 数据处理方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |