掌桥专利:专业的专利平台
掌桥专利
首页

数据处理方法、装置及系统

文献发布时间:2024-04-18 19:54:45


数据处理方法、装置及系统

技术领域

本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法、系统。

背景技术

随着移动互联网和计算技术的迅猛发展,企业科技创新能力的提升,使得数字化转型呈现加速化趋势,各个机构在日常生产经营活动中会产生大量数据,这些数据往往承载着企业的核心资产。数据库系统作为信息社会最广泛、最重要的载体,往往由公司内部人员或者相关授权技术人员进行管理和维护,以确保对涉密数据使用和存储的安全合规性。

然而,近年来,国内外数据安全事件层出不穷,数据安全与隐私保护也逐渐成为各界关注的热点问题。由于目前隐私保护技术的实现依赖于大量复杂计算,数据库系统存在较大性能瓶颈,并且数据传输的过程也无法得到更好的安全保障,因此亟需一种数据保护方法,提高数据在传输和存储过程中的安全性。

发明内容

有鉴于此,本说明书实施例提供了一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。

根据本说明书实施例的第一方面,提供了一种数据处理方法,应用于目标设备,包括:

接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端;

基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息;

根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器。

根据本说明书实施例的第二方面,提供了一种数据处理方法,应用于服务器,包括:

接收目标设备发送的第二加密信息;

处理第二加密信息,获得加密执行结果;

根据第二加密信息的类型,判断是否将加密执行结果返回目标设备;

若是,确定加密执行结果为反馈信息,并将反馈信息发送至目标设备。

根据本说明书实施例的第三方面,提供了一种数据处理方法,应用于目标设备,包括:

接收客户端发送的基于共享密钥加密的第一加密结构化查询语句,其中,共享密钥由目标设备预先发送至客户端;

基于共享密钥对第一加密结构化查询语句进行解密,获得第一加密结构化查询语句对应的第一明文结构化查询语句;

根据预设加密方法对第一明文结构化查询语句进行加密,得到第二加密结构化查询语句,并将第二加密结构化查询语句发送至服务器。

根据本说明书实施例的第四方面,提供了一种数据处理系统,包括客户端、目标设备和服务器;

目标设备,被配置为接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端;基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息;根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器;

服务器,被配置为接收目标设备发送的第二加密信息;处理第二加密信息,获得加密执行结果。

根据本说明书实施例的第五方面,提供了一种数据处理装置,配置于目标设备,包括:

第一接收模块,被配置为接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端;

第一解密模块,被配置为基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息;

第一加密模块,被配置为根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器。

根据本说明书实施例的第六方面,提供了一种数据处理装置,配置于服务器,包括:

第二接收模块,被配置为接收目标设备发送的第二加密信息;

处理模块,被配置为处理第二加密信息,获得加密执行结果;

判断模块,被配置为根据第二加密信息的类型,判断是否将加密执行结果返回目标设备;

第二发送模块,被配置为若是,确定加密执行结果为反馈信息,并将反馈信息发送至目标设备。

根据本说明书实施例的第七方面,提供了一种数据处理装置,配置于目标设备,包括:

第三接收模块,被配置为接收客户端发送的基于共享密钥加密的第一加密结构化查询语句,其中,共享密钥由目标设备预先发送至客户端;

第三解密模块,被配置为基于共享密钥对第一加密结构化查询语句进行解密,获得第一加密结构化查询语句对应的第一明文结构化查询语句;

第三加密模块,被配置为根据预设加密方法对第一明文结构化查询语句进行加密,得到第二加密结构化查询语句,并将第二加密结构化查询语句发送至服务器。

根据本说明书实施例的第八方面,提供了一种计算设备,包括:

存储器和处理器;

所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。

根据本说明书实施例的第九方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述数据处理方法的步骤。

本说明书一个实施例实现了接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端;基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息;根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器。通过预先将共享密钥发送至客户端,接收客户端发送的基于共享密钥加密的第一加密信息,确保信息在客户端与目标设备之间加密传输,通过将第一加密信息解密为第一明文信息,并根据预设加密方法对第一明文信息重新加密得到第二加密信息,使得数据在传输的全过程都以密文形式存在,并使用不同密钥分别进行加密,有效降低了数据泄露的风险,提高数据安全性。

附图说明

图1是本说明书一个实施例提供的一种数据处理方法的流程图;

图2是本说明书一个实施例提供的一种数据处理方法的流程图;

图3是本说明书一个实施例提供的一种数据处理方法的流程图;

图4是本说明书一个实施例提供的一种数据处理方法的处理过程示意图;

图5是本说明书一个实施例提供的一种数据处理系统的系统示意图;

图6是本说明书一个实施例提供的一种数据处理方法的处理过程流程图;

图7是本说明书一个实施例提供的一种数据处理装置的结构示意图;

图8是本说明书一个实施例提供的一种数据处理装置的结构示意图;

图9是本说明书一个实施例提供的一种数据处理装置的结构示意图;

图10是本说明书一个实施例提供的一种计算设备的结构框图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。

在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

此外,需要说明的是,本说明书一个或多个实施例所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

首先,对本说明书一个或多个实施例涉及的名词术语进行解释。

SSH密钥(安全访问凭证):SSH密钥是安全外壳(SSH)协议中使用的安全访问凭证。基于公钥基础设施(PKI)技术的密钥来提供安全且可扩展的认证方法。可以实现当今企业所需的大规模连接流程、单点登录(SSO)以及身份和访问管理的自动化。

TEE(Trusted execution environment可信执行环境):TEE是一种具有运算和储存功能,能提供安全性和完整性保护的独立处理环境。TEE是在硬件中为保密数据单独分配一块隔离的内存,所有保密数据的计算均在这块内存中进行,并且除了经过授权的接口外,硬件中的其他部分不能访问这块隔离的内存中的信息,以此来实现保密数据的隐私计算。

RND(Random,随机加密):RND采用随机数对数据加密,能提供最强的安全保证,具有不可区分性。

DET(Deterministic,确定性加密):DET采用确定的数字对数据加密,安全性也很高,它能确定性地为相同的明文生成相同的密文。

HOM(Homomorphic encryption,同态加密):HOM是一个概率加密方案,它允许服务器进行密文查询,其最终结果会被代理服务器解密。

OPE(Order-preserving encryption,保序加密):OPE加密后的密文在顺序上与明文保持一致,因此允许在密文上直接进行范围查询。

密态数据:密态数据是数据进入流转进行共享、计算直至销毁的完整传播链路中,保持数据全过程处于加密状态不出现明文,将数据使用权与持有权分离,实现数据使用权的跨域管理,以确保数据流转的全程安全可控。

随着移动互联网和计算技术的迅猛发展,企业科技创新能力的提升,使得数字化转型呈现加速化趋势,各个机构在日常生产经营活动中会产生大量数据,这些数据往往承载着企业的核心资产。数据库系统作为信息社会最广泛、最重要的载体,往往由公司内部人员或者相关授权技术人员进行管理和维护,以确保对涉密数据使用和存储的安全合规性。

数据库系统安全是以云计算为应用背景的基础与保障,近年来,国内外数据安全事件层出不穷,数据安全与隐私保护也逐渐成为各界关注的热点问题。目前企业数据泄漏主要来自于两个渠道,一是来自公司内部数据库运维人员,二是来自外部网络攻击。要彻底保护数据库系统的安全性,需要做到对数据的完全加密存储以及加密传输,但同时又不能因为密文膨胀的问题而过分影响使用效率和计算开销。由于目前隐私保护技术的实现依赖于大量复杂计算,数据库系统存在较大性能瓶颈,并且数据传输的过程也无法得到更好的安全保障。

示例性地,目前,计算机技术人员主要设计了前置代理加密方案和应用系统改造加密方案,来保障用户数据安全性。

其中,前置代理加密方案,通过前置代理及加密网关技术,在使用的数据库前加一道安全代理服务,用户对数据库进行添加、查询等操作,需要先经过安全代理网关,由安全代理网关负责对数据进行加密后发送至服务器,服务器返回的执行结果也会经过安全代理网关,由安全代理网关负责对数据进行解密后发送至客户端。这种方法无法保障客户端与安全代理网关之间,数据传递的安全性,在复杂的网络环境中可能存在数据泄漏的风险。并且,由于数据加解密服务由安全代理网关全权负责,因此负责开发安全代理服务的内部人员存在接触明文数据的风险,数据存在从内部泄露的风险,容易导致用户对安全代理服务的计算可信性存疑。

而应用系统改造加密方案,通过对系统的应用层进行改造,在应用系统中开发加解密API接口,实现对敏感数据的加解密。这种方案带来的明显问题是,对应用层进行改造会导致应用系统变“重”,任何与加解密相关逻辑的变化都会导致应用系统进行代码层面的修改和生产环境的重新部署。导致应用系统的开发成本大,且API接口能够实现的加密算法单一,无法满足数据库多种多样的查询需求,可扩展性不够灵活。

基于此,本说明书一个实施例实现了接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端;基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息;根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器。通过预先将共享密钥发送至客户端,接收客户端发送的基于共享密钥加密的第一加密信息,确保信息在客户端与目标设备之间加密传输,通过将第一加密信息解密为第一明文信息,并根据预设加密方法对第一明文信息重新加密得到第二加密信息,使得数据在传输的全过程都以密文形式存在,并使用不同密钥分别进行加密,有效降低了数据泄露的风险,提高数据安全性。

在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据处理系统、一种数据处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。

参见图1,图1示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,应用于目标设备,具体包括以下步骤。

步骤102:接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端。

实际应用中,客户端可以通过发送信息,与服务器进行交互。由于网络环境的复杂性,客户端发送明文信息至服务器,明文信息在传输过程中,很容易由于黑客攻击、脚本爬取、防火墙漏洞等原因,遭到泄露。因此,客户端可以与服务器约定加密密钥,将信息加密后发送,保证信息在传输过程中处于加密状态,为信息增加一层安全防护。

容易理解的是,客户端与服务器均存储了加密密钥,因此增加了加密密钥泄露的风险,无论客户端与服务器中哪一端被攻破,都有可能导致信息的泄露。并且,为了进一步提高数据安全性,目前往往是通过不断提高加密算法或密码协议的破解难度,来保障对数据信息的安全传输和存储。

然而,在实际应用场景中,受数量庞大的负载请求和系统性能上限的影响,这些依赖大量复杂计算的加密算法或密码协议会增大系统开销以及内核负担,很容易导致对用户请求的响应时间过长,无法及时对客户端进行反馈,或者反馈结果不准确,因此导致许多保密性较好的加密算法或密码协议无法在实际应用场景中进行大规模应用。

基于上述问题,本说明书一个或多个实施例,通过在客户端与服务器的交互过程中增加部署可信执行环境(TEE)的目标设备,通过在目标设备中对信息进行加解密,在保障数据安全性的基础上,降低服务器系统开销,并且,由于TEE自身的隔离性,能够基于硬件安全的CPU实现内存隔离的安全计算,可以在保证计算效率的前提下完成隐私保护的计算,因此目标设备能够满足用户对数据安全防护的需求,从内部和外部两个方面提高数据安全性。

实际应用中,目标设备可以接收客户端发送的基于共享密钥加密的第一加密信息,从而可以在TEE模块中对第一加密信息进行处理,能够将处理后得到的数据安全的信息发送至服务器。

具体地,目标设备可以是独立于客户端和服务器之外的第三方设备,也可以是一种芯片,还可以是部署在客户端或者服务器内部的软件结构。目标设备中部署有可信执行环境(TEE),对保密数据的处理操作均可以在可信执行环境(TEE)中执行。

需要说明的是,可信执行环境可以具有数据独立、时间隔离、信息流控制和故障隔离等特性,是一种不可篡改的执行环境,可以保证其内部代码的安全性,认证性和完整性;可以向第三方证明它的安全性;对主要系统的软件攻击和物理攻击具有较好的抵抗性,能够有效杜绝利用安全漏洞所展开的攻击。其中,数据独立主要体现为储存在某个分区中的数据不能被其他的分区读取或篡改;时间隔离主要体现为公共资源区域中的数据不会泄露任意分区中的数据信息。信息流控制主要体现为除非有特殊的允许,否则各个分区之间不能进行通信;故障隔离主要体现为一个分区中的安全性漏洞不能传播到其他分区。

共享密钥可以由目标设备预先发送至客户端,也可以由客户端生成,在进行信息传输之前预先发送至目标设备。第一加密信息可以理解为客户端想要发送至服务器的信息,该信息是通过客户端与目标设备约定的共享密钥加密得到的,因此在传输状态下,是密文的形式,能够保障数据传输过程中的安全性。客户端想要发送至服务器的信息的内容可以是多样的,可以是某个具体的指令,也可以是交互请求,例如查询请求等,具体内容可以根据实际情况而定,本说明书对此不作任何限定。

需要说明的是,由于可信执行环境不仅对外部存在较强的保密性,还对计算机技术人员存在隔离性,能够确保开发人员、维护人员等内部技术人员无法从中获取到明文数据,因此在可信执行环境内部生成加密密钥,能够保障密钥的安全性,从而提高数据信息的安全性。

基于此,本说明书一个或多个实施例中,在客户端与目标设备进行信息传输之前,客户端可以先对目标设备的安全性进行验证,并从目标设备的可信执行环境中获取客户端与目标设备之间的共享密钥,具体可以包括如下步骤:

接收客户端发送的验证请求,其中,验证请求用于验证目标设备中是否配置可信执行环境;

在目标设备配置有可信执行环境的情况下,在可信执行环境中生成针对客户端的共享密钥;

将共享密钥发送至客户端。

具体地,验证请求可以理解为用于验证目标设备中是否配置可信执行环境,也即是目标设备是否安全可信。

实际应用中,在客户端与目标设备建立通信连接,开启数据传输之前,客户端可以发起针对目标设备的验证请求,验证目标设备中是否部署有可信执行环境。目标设备接收客户端发送的验证请求,可以对其中的可信执行环境进行验证,并且在配置有可信执行环境的情况下,在可信执行环境中安全地生成针对客户端的共享密钥,并将共享密钥发送至客户端。

示例性地,客户端可以通过执行SGX的远程认证协议,验证目标设备已将正确的代码加载到可信执行环境中,验证成功后用户获得共享密钥;然后,客户将通过已建立的安全渠道使用其凭据(例如密码或SSH密钥)对可信执行环境进行身份验证,可信执行环境验证客户端凭据成功后,这个共享的密钥便用作客户端的会话密钥。这里的目标设备支持对多用户进行管理。

需要说明的是,共享密钥可以是动态生成的,也可以是初次生成之后,以存储态的形式一直保存在存储区域中。本说明书一个或多个实施例中,为了进一步提高共享密钥的安全性和保密性,可以在可信执行环境中,根据客户端的唯一标识信息,如IP地址等,针对本次通信连接生成仅能够应用于本次通信期间的动态形式的共享密钥。进一步地,可信执行环境中生成共享密钥的方法可以通过对称加密算法或者国密算法等加密算法实现,具体可以根据实际情况而定,本说明书对此不作任何限定。

通过在建立通信连接之前,验证目标设备中的可信执行环境,在目标设备部署有可信执行环境的情况下生成目标设备与客户端之间的共享密钥,并将共享密钥发送至客户端,能够确保目标设备的安全性,也可以支持客户端与目标设备相互之间进行验证,进一步保障数据安全。并且,目标设备支持多用户,能够根据不同客户端、不同的通信连接生成不同的共享密钥,能够最大程度实现对数据的安全防护,保障用户的安全体感。

在客户端与目标设备建立了能够用于通信的安全连接渠道之后,客户端能够基于共享密钥,对想要发送至服务器的信息进行加密,然后发送至目标设备,由目标设备接收客户端发送的基于共享密钥加密的第一加密信息。

通过基于共享密钥对信息进行加密传输,能够确保数据在传输过程中以密文的形式存在,基于密态数据以及共享密钥的安全性,提高数据在传输过程中的安全性。

步骤104:基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息。

实际应用中,目标设备接收到第一加密信息之后,可以直接将第一加密信息发送至服务器,由服务器进行解密,并根据解密得到的结果执行相应操作;如果目标设备部署在服务器内部,目标设备与服务器之间的数据传输相对安全,还可以由目标设备对第一加密信息进行解密后,将解密后的数据发送至服务器,因而服务器能够基于解密得到的结果直接执行相应操作。但是,将共享密钥预先发送至服务器,共享密钥会存在从外部泄露的风险,并且服务器内部的工作人员有可能获取到共享密钥,因此也存在数据从内部泄露的风险。将目标设备部署在服务器内部,例如部署在同一云服务,或者均部署在公司内网中,会增加服务器内部的运算压力和维护成本,虽然能够抵御来自外部的攻击,但是数据在服务器中以明文形式存储,无法防止内部人员的窃取或泄露。

可选地,本说明书一个或多个实施例,为了进一步提高数据在存储状态以及传输状态全过程的安全性,基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息之后,还可以包括如下步骤:

解析第一明文信息,获得第一明文信息对应的解析结果;

根据解析结果,确定第一明文信息对应的预设加密方法。

实际应用中,目标设备基于共享密钥解密得到第一明文信息后,可以对第一明文信息进行解析,获得第一明文信息对应的解析结果,并根据解析结果,确定第一明文信息对应的预设加密方法。

具体地,第一明文信息是目标设备基于共享密钥,对第一加密信息进行解密后得到的。

解析结果可以理解为对第一明文信息进行解析得到的结果,进一步地,目标设备可以在可信执行环境中,调用解析模块对接收到的第一明文信息进行解析。

预设加密方法可以理解为区别于共享密钥的加密方法,基于预设加密方法,可以对第一明文信息重新进行加密,对第一明文信息加密得到与第一加密信息不同的第二加密信息。从而使得第二加密信息无法通过共享密钥解密得到,使得数据在传输过程中,不同的传输阶段可以分别使用不同的加密方法进行加密,从而进一步提高密态数据的安全性。

可选地,可信执行环境中可以配置有第一密码算法模块,通过第一密码算法模块,维护保密程度不同、功能不同的多种加密算法。示例性地,第一密码算法模块中可以存储有RND、DET、HOM和OPE四种不同的加密算法。根据对第一明文信息的解析结果,可以从第一密码算法模块中确定预设加密方法,作为针对第一明文信息的加密方法,由于可供选择的加密方法并不是单一的一种,因而能够提高加密方法的灵活性,进一步提高密文被破解的难度,提高数据安全性。

需要说明的是,第一密码算法模块中存储的加密算法并不是固定不变的,可以根据开发人员对新加密算法的研发,不断更新优化第一密码算法模块中存储的加密算法。因此,上述示例仅用于帮助技术人员更好地理解本说明书提供的实施例,并不能够用于对加密算法的具体限定。

可选地,本说明书一个或多个实施例,解析第一明文信息,获得第一明文信息对应的解析结果,可以包括如下步骤:

解析第一明文信息,获得至少一个第一明文子信息,以及各第一明文子信息对应的属性信息。

实际应用中,并不是全部的数据都具有敏感性,可能部分信息对于用户而言,并不存在机密泄露的风险,因而不同类型的信息可能会具有不同的保密等级,根据不同的保密等级选择复杂度不同的加密算法,能够节省计算资源以及系统开销,进一步提高数据处理效率。

具体地,第一明文子信息可以理解为第一明文信息包括的全部信息中的一部分。示例性地,第一明文信息中可以包括两条数据处理指令,则第一明文子信息可以分别对应这两条数据处理指令。第一明文子信息对应的属性信息可以理解为对第一明文子信息进行描述的信息,例如能够标识第一明文子信息保密等级的信息,该属性信息的形式可以为多种,示例性地,用户可以在传输信息之前,对保密性较高的子信息添加保密标记ENC,从而目标设备能够根据属性信息,确定该第一明文子信息对应的加密算法。

通过对解析第一明文信息,获得至少一个第一明文子信息,以及各第一明文子信息对应的属性信息,能够对用户传输的信息进行细分,在更细的粒度上,对数据进行加密,从而能够通过不同的加密算法,对信息中不同的子信息分别进行加密,提高密文信息安全性的同时,能够减少不必要的数据加密,降低加解密带来系统开销。

相应地,根据解析结果,确定第一明文信息对应的预设加密方法,可以包括如下步骤:

根据各第一明文子信息对应的属性信息,确定各第一明文子信息对应的初始加密方法;

根据各第一明文子信息对应的初始加密方法,确定第一明文信息对应的预设加密方法。

具体地,初始加密方法可以是可信执行环境中加密算法模块中的任一加密方法,也可以是根据各第一明文子信息对应的属性信息,确定的符合预设规则的加密方法。

实际应用中,可以对第一明文信息进行更细粒度的划分,根据各第一明文子信息对应的属性信息,确定各第一明文子信息对应的初始加密方法,然后基于确定的初始加密方法,确定第一明文信息对应的预设加密方法。

通过根据各第一明文子信息对应的属性信息,确定各第一明文子信息对应的初始加密方法,再基于多个初始加密方法,确定预设加密方法,能够为用户提供细粒度的数据安全保障,并且能够提高系统性能以及数据处理的效率。

可选地,根据各第一明文子信息对应的属性信息,确定各第一明文子信息对应的初始加密方法,可以包括如下步骤:

根据目标第一明文子信息对应的目标属性信息,从预设加密算法表中确定与目标属性信息对应的至少一个参考加密方法,其中,目标第一明文子信息是至少一个第一明文子信息中的任一个;

基于预设规则,在至少一个参考加密方法中确定目标第一明文子信息对应的初始加密方法。

具体地,目标第一明文子信息是至少一个第一明文子信息中的任一个,目标属性信息是目标第一明文子信息对应的属性信息。预设加密算法表可以理解为对不同加密算法进行分类存储和维护的存储结构,预设加密算法表也可以仅存储不同加密算法对应的唯一标识信息,不对具体的加密算法进行存储。预设加密算法表具体可以为数据库表、txt文档、excle表、还可以为索引表等能够将对应关系进行存储的数据结构。示例性地,预设加密算法表可以根据不同加密算法对应的不同保密级别,对不同加密算法进行存储和维护:预设加密算法表可以根据保密级别,可以分为1级、2级、3级...,其中1级分类下可以包括加密算法A1、A2、A3...;2级分类下可以包括加密算法B1、B2、B3...;3级分类下可以包括加密算法C1、C2、C3...;...。

需要说明的是,目标设备可以预先设置属性信息存储表,为不同类型的属性信息对应设置不同的加密方法。示例性地,ENC1属性信息对应的加密等级为最高,因此可以为属性信息为ENC1的第一明文子信息确定保密性相对来说最高的加密算法,作为初始加密方法;ENC2属性信息对应的加密等级为次高,可以为属性信息为ENC2的第一明文子信息确定保密性相对较高的加密算法,作为初始加密方法;不携带任何属性信息的第一明文子信息可以识别为非敏感信息,因而可以不使用任何加密算法进行加密,或者可以将保密性较低,开销较小的加密算法确定为此类第一明文子信息的初始加密方法。

实际应用中,可以基于预设规则,在至少一个参考加密方法中确定目标第一明文子信息对应的初始加密方法。

具体地,参考加密方法是从初始加密方法中确定的一个加密方法。预设规则可以根据实际应用场景和用户需求确定,例如预设规则可以是从多个初始加密方法中随机选择一个作为参考加密方法,也可以是根据系统当前的计算开销,若当前系统计算开销较小,则选择运算较复杂的一个初始加密方法作为参考加密方法,若当前系统计算开销较大,则选择开销较小的一个初始加密方法作为参考加密方法,等等。

为了进一步提高数据安全性,本说明书一个或多个实施例中,属性信息可以包括优先级信息;

相应地,根据各第一明文子信息对应的初始加密方法,确定第一明文信息对应的预设加密方法,可以包括如下步骤:

根据各第一明文子信息对应的优先级信息,从各初始加密方法中确定第一明文信息对应的预设加密方法。

具体地,优先级信息可以理解为保密级别,根据各第一明文子信息对应的优先级信息,可以从各第一明文子信息对应的优先级信息中确定保密级别最高的一个第一明文子信息,将该第一明文子信息对应的参考加密方法确定为第一明文信息对应的预设加密方法。

通过将第一明文信息中保密级别最高的第一明文子信息对应的加密方法作为针对整个第一明文信息的预设加密方法,可以增加对第一明文信息的安全保障,在数据传输和存储过程中提高第一明文信息的安全性和保密性。

在确定了预设加密方法之后,可以基于预设加密方法对第一明文信息进行加密,进而能够实现在不同传输过程中分别使用不同的加密方法对数据进行加密,提高密态数据的密文破解难度,能够避免由于在某一个环节密钥泄露,导致所有明文数据泄露的风险。

步骤106:根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器。

实际应用中,可以利用重写函数,使用预设加密方法对应的数据密钥,对第一明文信息进行加密,得到基于第一明文信息加密得到的第二加密信息。可选地,调用重写函数的操作可以在可信执行环境中包括的加解密模块内存的嵌入式数据库中被记录下来,用于辅助后续重写和解密操作。

具体地,第二加密信息是根据预设加密方法对第一明文信息进行加密得到的加密信息。第二加密信息与第一加密信息是不同的加密信息,无法通过第一加密信息对应的共享密钥进行解密。

为了实现针对不同数据的细粒度安全性保障,本说明书一个或多个实施例,根据预设加密方法对第一明文信息进行加密,得到第二加密信息,可以包括如下步骤:

确定目标第一明文子信息对应的目标初始加密方法,其中,目标第一明文子信息是至少一个明文子信息中的任一个;

根据目标初始加密方法对目标第一明文子信息进行加密,获得目标第一明文子信息对应的目标子加密信息;

根据各子加密信息获得第二加密信息。

具体地,目标第一明文子信息是至少一个明文子信息中的任一个;目标初始加密方法是目标第一明文子信息对应的一种加密方法;目标子加密信息是根据目标初始加密方法对目标第一明文子信息加密得到的子加密信息。示例性地,第一明文信息中包括第一明文子信息1、第一明文子信息2、第一明文子信息3,第一明文子信息1对应的加密方法为A1,第一明文子信息2对应的加密方法为B2,第一明文子信息3对应的加密方法为C3,则根据A1对第一明文子信息1加密得到子加密信息1;根据B2对第一明文子信息2加密得到子加密信息2;根据C3对第一明文子信息3加密得到子加密信息3,并根据子加密信息1、子加密信息2、子加密信息3拼接获得第二加密信息。

通过不同第一明文子信息分别对应的加密方法,对各第一明文子信息分别进行加密得到各子加密信息,可以通过拼接各子加密信息得到第一明文信息对应的第二加密信息,第二加密信息中,不同的数据使用的可以是不同的加密方法,也可以是相同的加密方法,具体可以根据各数据对应的属性信息来确定。通过将第一明文数据进行细粒度的划分,使用多种加密算法对第一明文数据重新进行加密,可以在提高信息安全性的基础上,节省系统开销,提高数据处理效率,从而提高用户体验。

需要说明的是,根据客户端发送的信息的类型,服务器存在有返回信息和无返回信息两种可能。示例性地,若客户端发送的信息是针对服务器中,数据库中某项记录的删除指令,则服务器基于第二加密信息执行删除操作之后,可以不返回任何信息至客户端,或者可以仅返回一条表征指令执行成功的无需进行加密的消息至客户端,该消息内不携带任何敏感数据。若客户端发送的信息是查询数据库中某个表单中的ID信息,则服务器需要返回查询到的ID信息。

相应地,根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器之后,还包括:

在接收到服务器基于第二加密信息返回反馈信息的情况下,根据预设加密方法,对反馈信息进行解密,获得反馈信息对应的第二明文信息;

基于共享密钥对第二明文信息进行加密,获得第三加密信息,并将第三加密信息发送至客户端。

实际应用中,在接收到服务器基于第二加密信息返回反馈信息的情况下,可以根据预设加密方法,对反馈信息进行解密,获得反馈信息对应的第二明文信息,并且,基于共享密钥对第二明文信息进行加密,获得第三加密信息,将第三加密信息发送至客户端。

具体地,反馈信息是服务器处理第二加密信息后,基于加密执行结果返回的信息。第二明文信息是根据预设加密方法,对反馈信息进行解密得到的明文信息,第二明文信息可以理解为客户端发送信息后,对应想要获得的结果。

为了提高数据在服务器内部的保密性,防止内部人员对用户数据的泄露,本说明书一个或多个实时例中,服务器内部可以设置一个与目标设备内部的加密算法模块相对应的加密算法模块,数据在服务器内部均是以密文的形式存储,内部人员无法直接接触到明文。如此,基于目标设备可信执行环境加密得到的第二加密信息,在服务器内部无需解密,服务器可以直接对第二加密信息进行处理,得到加密执行结果。

需要说明的是,反馈信息可以是根据第二加密信息进行处理后,得到的初始加密结果,也可以是对初始加密结果通过服务器内部的加解密模块再次进行加密的加密执行结果。该加密执行结果中可以携带加密算法标识,如此,目标设备可以根据加密算法标识,对数据库执行的加密操作对应进行解密。

具体地,第三加密信息是基于共享密钥对第二明文信息进行加密得到的加密信息,为了确保数据在目标设备和客户端之间传递的安全性,目标设备通过可信执行环境,将反馈信息先解密为明文信息,再通过客户端能够解密的共享密钥对明文信息加密,将加密得到的第三加密信息发送至客户端,进而完成客户端与服务器之间的一次信息交互。

通过在可信执行环境中,对服务器发送的反馈信息解密,并使用客户端能够解密的共享密钥对解密结果再次加密,能够确保数据在传输状态的全过程都以密文形式存在,极大程度地提高数据安全性,保障数据无法从内部和外部泄露。

本说明书一个实施例实现了接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端;基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息;根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器。通过预先将共享密钥发送至客户端,接收客户端发送的基于共享密钥加密的第一加密信息,确保信息在客户端与目标设备之间加密传输,通过将第一加密信息解密为第一明文信息,并根据预设加密方法对第一明文信息重新加密得到第二加密信息,使得数据在传输的全过程都以密文形式存在,并使用不同密钥分别进行加密,有效降低了数据泄露的风险,提高数据安全性。

参见图2,图2示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,应用于服务器,具体包括以下步骤。

步骤202:接收目标设备发送的第二加密信息。

实际应用中,服务器可以接收客户端发送的交互信息,并对客户端发送的信息进行处理。为了提高数据在服务器内部存储的安全性,本说明书一个或多个实施例中,服务器可以接收目标设备发送的第二加密信息,并将针对第二加密信息的处理结果返回目标设备。

步骤204:处理第二加密信息,获得加密执行结果。

本说明书一个或多个实施例中,服务器内部可以设置有与目标设备中的第一密码算法模块相似的第二密码算法模块。具体地,计算机技术人员研发出新的加密算法之后,可以将新的加密算法对应添加至第一密码算法模块和第二密码算法模块。如此,服务器可以在不对第二加密信息解密的情况下,直接对第二加密信息进行处理,得到加密执行结果。

本说明书一个或多个实施例中,为了进一步提高服务器内部数据存储的安全性,降低密文被内部人员破解的风险,并且能够适应密态数据在不同查询场景下的输出需求,服务器内部对数据进行存储时,还可以通过目标加密模型,对密文进行多层加密。

示例性地,适应于对密文进行排序查找的查询场景,可以设计第一层加密算法为保序加密,第二层加密算法为随机数加密。

通过针对不同的查询场景,设计不同的目标加密模型,以实现对数据的层层加密,能够进一步提高数据在存储过程中的安全性,降低数据从内部泄露的风险。

相应地,本说明书一个或多个实施例中,处理第二加密信息,获得加密执行结果,可以包括如下步骤:

处理第二加密信息,获得初始加密结果;

根据第二加密信息的类型,确定初始加密结果对应的目标加密模型,其中,目标加密模型包括至少一层加密算法;

根据目标加密模型对初始加密结果进行加密,获得加密执行结果。

具体地,初始加密结果是服务器对第二加密信息进行处理,得到的执行结果。加密执行结果是根据目标加密模型,对初始加密结果进行加密后,得到的加密结果。目标加密模块可以是洋葱模型等,包括至少一层加密算法的模型,能够实现对数据的多层加密,从而提高数据在存储状态和传输状态全过程中的安全性。

实际应用中,可以根据第二加密信息的类型,确定第二加密信息对应的目标加密模型,通过目标加密模型对初始加密结果进行加密,从而进一步提高数据安全性。

步骤206:根据第二加密信息的类型,判断是否将加密执行结果返回目标设备。

实际应用中,可以根据第二加密信息的类型,判断是否将加密执行结果返回目标设备,如果用户发送的信息无需返回具有实际意义的用户数据,则服务器对第二加密信息处理完成后,可以仅返回一个能够表征服务器处理成功的消息,也可以不返回任何消息。

步骤208:若是,确定加密执行结果为反馈信息,并将反馈信息发送至目标设备。

实际应用中,在确定需要向客户端返回数据处理结果的情况下,可以将加密执行结果确定为反馈信息,将反馈信息发送至目标设备。

需要说明的是,由于加密执行结果是直接针对第二加密数据进行处理后得到的结果,因此,返回至目标设备的反馈信息是通过与预设加密方法对应的加密算法进行加密后得到的数据,反馈信息无法直接被客户端解密,因此,可以通过目标设备根据预设加密算法对反馈信息解密得到明文数据信息。

本说明书一个实施例,实现了接收目标设备发送的第二加密信息;处理第二加密信息,获得加密执行结果;根据第二加密信息的类型,判断是否将加密执行结果返回目标设备;若是,确定加密执行结果为反馈信息,并将反馈信息发送至目标设备。

通过对第二加密信息进行处理,能够确保明文信息对服务器内部工作人员是不可见的,避免数据从内部泄露的风险,提高数据在存储状态下的安全性,在有返回结果的情况下,将加密执行结果返回至目标设备,可以确保数据在传输过程中的安全性。

参见图3,图3示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,应用于目标设备,具体包括以下步骤。

步骤302:接收客户端发送的基于共享密钥加密的第一加密结构化查询语句,其中,共享密钥由所述目标设备预先发送至所述客户端;

随着科技的发展,企业创新能力逐步提升,使得数字化转型呈现加速化趋势,各个机构在日常生产经营活动中会产生大量数据,这些数据往往承载着企业的核心资产。在实际应用场景中,越来越多的企业通过数据库系统存储并维护与企业相关的大量数据。企业使用的数据库通常可以由服务端提供,例如,可以通过云服务器为大量客户提供数据库服务,该数据库能够支持响应多用户的结构化查询语句请求。

实际应用中,客户端可以基于共享密钥加密结构化查询语句,得到第一加密结构化查询语句。结构化查询语句可以理解为一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理数据库。

示例性地,数据库可以是Mysql、sql server等数据库,客户端发送的结构化查询语句可以包括插入、查找、查询、删除等各种语句,具体可以根据实际情况而定,本说明书对此不作任何限定。

步骤304:基于所述共享密钥对所述第一加密结构化查询语句进行解密,获得第一加密结构化查询语句对应的第一明文结构化查询语句;

实际应用中,目标设备接收到第一加密结构化查询语句之后,可以基于共享密钥对第一加密结构化查询语句进行解密,获得第一加密结构化查询语句对应的第一明文结构化查询语句。

将基于共享密钥加密的密文解密为明文,可以通过预设加密方法对明文进行二次加密,从而能够提高加密方法的灵活性,降低加密方法被破解的风险,提高数据安全性。

示例性地,查询语句select(ID,NAME)from(table A)中,包括三个字段,分别是ID、NAME和table A。由于用户对不同数据可以设置不同保密等级,而不同加密算法对应的计算开销也有所区别,因此,本说明书一个或多个实施例中,可以通过对数据的细粒度划分,对结构化查询语句中的不同字段分别通过不同的方法进行加密。

因此,基于共享密钥对第一加密结构化查询语句进行解密,获得所述第一加密结构化查询语句对应的第一明文结构化查询语句之后,还可以解析第一明文结构化查询语句,获得第一明文结构化查询语句对应的解析结果;根据解析结果,确定第一明文结构化查询语句对应的预设加密方法。

可选地,本说明书一个或多个实施例,解析第一明文结构化查询语句,获得第一明文结构化查询语句对应的解析结果,可以通过解析第一明文结构化查询语句,获得至少一个第一明文字段信息,以及各第一明文字段信息对应的属性信息来实现。

实际应用中,用户可以根据不同数据的保密等级,在发送结构化查询语句之前,通过加密标识对结构化查询语句中的各字段添加标记。示例性地,沿用上例,在查询语句select(ID,NAME)from(table A)中,对于用户而言,ID的保密等级更高,因而可以针对ID添加保密标记,得到添加标记后的查询语句select(ENC1_ID,NAME)from(table A)。

可选地,根据解析结果,确定第一明文结构化查询语句对应的预设加密方法,可以通过如下步骤实现:

根据各第一明文字段信息对应的加密标记,确定各第一明文字段信息对应的初始加密方法;

根据各第一明文字段信息对应的初始加密方法,确定第一明文结构化查询语句对应的预设加密方法。

可选地,根据各第一明文字段信息对应的加密标记,确定各第一明文字段信息对应的初始加密方法,可以通过如下步骤实现:

根据目标第一明文字段信息对应的目标加密标记,从预设加密算法表中确定与目标加密标记对应的至少一个参考加密方法,其中,目标第一明文字段信息是至少一个第一明文字段信息中的任一个;

基于预设规则,在至少一个参考加密方法中确定目标第一明文字段信息对应的初始加密方法。

具体地,加密标记可以用于表征对字段进行保密的优先等级,例如,ENC1对应的保密等级为最高,ENC2对应的保密等级次高,等等。对于用户而言,非敏感性数据可以不使用加密标记,进而目标设备可以仅针对添加了加密标记的字段进行加密,从而节约系统资源,提高系统的数据处理效率。并且,根据不同的加密算法对不同字段进行加密,还可以提高密文的多样性和灵活性,避免由于密文单一性导致的数据泄露,提高数据安全性。

可选地,根据各第一明文字段信息对应的初始加密方法,确定第一明文结构化查询语句对应的预设加密方法,可以通过如下步骤实现:

根据各第一明文字段信息对应的优先级信息,从各初始加密方法中确定第一明文结构化查询语句对应的预设加密方法。

示例性地,若查询语句select(ENC1_ID,ENC2_NAME)from(ENC3_table A)中,ENC1的保密级别高于ENC2,ENC2的保密级别高于ENC3,则根据ENC1、ENC2、ENC3分别确定的加密算法a、b、c中,加密算法a的安全性高于加密算法b,加密算法b的安全性高于加密算法c。则可以确定安全性最高的加密算法a作为该查询语句对应的预设加密方法,从而最大程度地保障密文安全性。

步骤306:根据预设加密方法对所述第一明文结构化查询语句进行加密,得到第二加密结构化查询语句,并将所述第二加密结构化查询语句发送至服务器。

可选地,根据预设加密方法对第一明文结构化查询语句进行加密,得到第二加密结构化查询语句,可以通过如下步骤实现:

确定目标第一明文字段信息对应的目标初始加密方法,其中,目标第一明文字段信息是至少一个明文字段信息中的任一个;

根据目标初始加密方法对目标第一明文字段信息进行加密,获得目标第一明文字段信息对应的目标字段加密信息;

根据各字段加密信息获得第二加密信息。

示例性地,沿用上例,查询语句select(ENC1_ID,ENC2_NAME)from(ENC3_table A)中,根据ENC1、ENC2、ENC3分别确定针对ID的加密算法为加密算法a、针对NAME的加密算法为加密算法b、针对table的加密算法为加密算法c,则可以通过加密算法a对ID加密,通过可以通过加密算法b对NAME加密,通过可以通过加密算法c对table加密,并将加密得到的结果拼接,得到第二加密结构化查询语句select ENCa(ID),ENCb(NAME)from table ENCc(A)。

可选地,在接收到服务器基于第二加密结构化查询语句返回加密执行结果的情况下,可以根据预设加密方法,对加密执行结果进行解密,获得加密执行结果对应的明文执行结果;并基于共享密钥对明文执行结果进行加密,获得目标加密执行结果,将目标加密执行结果发送至客户端。

本说明书一个实施例实现了接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端;基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息;根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器。

通过预先将共享密钥发送至客户端,接收客户端发送的基于共享密钥加密的第一加密信息,确保信息在客户端与目标设备之间加密传输,通过将第一加密信息解密为第一明文信息,并根据预设加密方法对第一明文信息重新加密得到第二加密信息,使得数据在传输的全过程都以密文形式存在,并使用不同密钥分别进行加密,有效降低了数据泄露的风险,提高数据安全性。

如图4所示,图4是本说明书一个实施例提供的一种数据处理方法的处理过程示意图。

用户可以向部署了可信执行环境的可信设备发送基于共享密钥ENC1加密的查询语句ENC1(select ID,NAME from table A)。可信设备接收到加密查询语句后,可以先通过加解密模块,基于共享密钥,将ENC1(select ID,NAME from table A)解密为明文语句select ID,NAME from table A,然后通过解析模块,解析得到字段ID、NAME和table A,以及各字段分别对应的加密等级。根据各字段分别对应的加密等级,确定ID对应的加密算法为ENC2、NAME对应的加密算法为ENC3、table A对应的加密算法为ENC4。

进一步地,可信设备可以基于ENC2、ENC3、ENC4,分别对ID、NAME和table A进行加密,并将加密得到的查询语句select ENC2(ID),ENC3(NAME)from table(ENC4)A发送至服务器中,支持多种密码算法的密态数据库中。密态数据库根据查询语句执行得到查询结果ENC2(1,2)和ENC3(Alice,Bob),为了进一步提高数据安全性,可以使用加密算法ENC5对ENC2(1,2)和ENC3(Alice,Bob)统一进行加密,并将加密结果发送至可信设备。

可信设备接收到基于加密标识ENC5,加密得到的密态数据ENC2(1,2)和ENC3(Alice,Bob),可以通过加密算法模块先对ENC5进行解密,在通过记录的预设加密方法,对ENC2(1,2)和ENC3(Alice,Bob)分别进行解密,得到明文数据(1,2)和(Alice,Bob)。可信设备可以基于共享密钥ENC6对(1,2)和(Alice,Bob)进行加密,将加密得到的密态数据发送至客户端。客户端可以基于共享密钥ENC6对加密查询结果进行解密。

如此,通过可信执行环境对数据进行保护,可以确保数据在传输状态和存储状态的全过程中均为密文形式,并且加密算法多样,能够提高数据安全性,保障用户的安全体感。

本说明书一个实施例提供了一种数据处理系统,包括客户端、目标设备和服务器;

目标设备,被配置为接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端;基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息;根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器;

服务器,被配置为接收目标设备发送的第二加密信息;处理第二加密信息,获得加密执行结果。

可选地,服务器,还被配置为根据第二加密信息的类型,判断是否将加密执行结果返回目标设备;若是,确定加密执行结果为反馈信息,并将反馈信息发送至目标设备;

目标设备,还被配置为在接收到服务器基于第二加密信息返回反馈信息的情况下,根据预设加密方法,对反馈信息进行解密,获得反馈信息对应的第二明文信息;基于共享密钥对第二明文信息进行加密,获得第三加密信息,并将第三加密信息发送至客户端。

可选地,客户端被配置为向目标设备发送验证请求,其中,验证请求用于验证目标设备中是否配置可信执行环境;

目标设备,还被配置为在目标设备配置有可信执行环境的情况下,在可信执行环境中生成针对客户端的共享密钥;将共享密钥发送至客户端。

如图5所示,图5是本说明书一个实施例提供的一种数据处理系统的系统示意图。

本说明书一个实施例提供的一种数据处理系统,包括客户端、可信设备和数据库服务器,客户端可以包括多个用户,各用户可以与可信设备在安全机制下进行加密通信。用户可以通过专属的共享密钥,将SQL语句加密后传输至可信设备,可信设备可以接收并解密出明文SQL,解析明文SQL,生成数据库可用的密态SQL语句,并将密态SQL语句发送至数据库服务器。

数据库服务器中部署了密文SQL解释器模块、密码算法模块和密态运算模块,其中,密码算法模块中集成了多种加密算法,可以根据不同的查询场景,动态生成针对不同数据的加密方法,将数据库中的数据均以密文的形式进行存储,降低数据从内部泄露的风险。数据库服务器接收到密态SQL语句,可以在密态运算模块中处理密态SQL语句,并通过数据库密钥对密文结果加密,将密文结果加密返回可信设备。

可信设备接收数据库服务器返回的密文结果,可以通过记录的预设加密方法,对密文结果解密得到明文结果,使用用户的共享密钥对明文结果加密,并将加密结果返回至对应客户端。

客户端可以根据返回的加密结果,基于共享密钥在本地对加密结果进行解密。

下述结合附图6,以本说明书提供的数据处理方法在基于可信环境的数据库密文检索系统的应用为例,对所述数据处理方法进行进一步说明。其中,图6示出了本说明书一个实施例提供的一种数据处理方法的处理过程流程图,具体包括以下步骤。

步骤602:发起验证请求。

步骤604:验证目标设备的可信执行环境,发送加密sql语句给目标设备。

步骤606:解密得到明文sql语句,解析并重写语句,使用主密钥生成数据密钥,加密语句中数据,保存密钥。

步骤608:将重写密文sql语句发送给数据库服务器。

步骤610:调用对应函数执行密文sql语句。

步骤612:判断是否需要返回结果给客户端。

步骤614:取出数据发送给目标设备。

步骤616:使用保存的数据库密钥解密数据。

步骤618:使用对应用户的密钥加密数据。

步骤620:返回数据给客户端。

步骤622:用户本地解密数据。

本说明书一个实施例实现了接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端;基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息;根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器。通过预先将共享密钥发送至客户端,接收客户端发送的基于共享密钥加密的第一加密信息,确保信息在客户端与目标设备之间加密传输,通过将第一加密信息解密为第一明文信息,并根据预设加密方法对第一明文信息重新加密得到第二加密信息,使得数据在传输的全过程都以密文形式存在,并使用不同密钥分别进行加密,有效降低了数据泄露的风险,提高数据安全性。

与上述方法实施例相对应,本说明书还提供了数据处理装置实施例,图7示出了本说明书一个实施例提供的一种数据处理装置的结构示意图,配置于目标设备。如图7所示,该装置包括:

第一接收模块702,被配置为接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端;

第一解密模块704,被配置为基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息;

第一加密模块706,被配置为根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器。

可选地,装置还包括:

解析模块,被配置为解析第一明文信息,获得第一明文信息对应的解析结果;

确定模块,被配置为根据解析结果,确定第一明文信息对应的预设加密方法。

可选地,解析模块,进一步被配置为:

解析第一明文信息,获得至少一个第一明文子信息,以及各第一明文子信息对应的属性信息。

可选地,确定模块,进一步被配置为:

根据各第一明文子信息对应的属性信息,确定各第一明文子信息对应的初始加密方法;

根据各第一明文子信息对应的初始加密方法,确定第一明文信息对应的预设加密方法。

可选地,确定模块,进一步被配置为:

根据目标第一明文子信息对应的目标属性信息,从预设加密算法表中确定与目标属性信息对应的至少一个参考加密方法,其中,目标第一明文子信息是至少一个第一明文子信息中的任一个;

基于预设规则,在至少一个参考加密方法中确定目标第一明文子信息对应的初始加密方法。

可选地,属性信息包括优先级信息;

确定模块,进一步被配置为:

根据各第一明文子信息对应的优先级信息,从各初始加密方法中确定第一明文信息对应的预设加密方法。

可选地,第一加密模块706,进一步被配置为:

确定目标第一明文子信息对应的目标初始加密方法,其中,目标第一明文子信息是至少一个明文子信息中的任一个;

根据目标初始加密方法对目标第一明文子信息进行加密,获得目标第一明文子信息对应的目标子加密信息;

根据各子加密信息获得第二加密信息。

可选地,装置还包括:

第二解密模块,被配置为在接收到服务器基于第二加密信息返回反馈信息的情况下,根据预设加密方法,对反馈信息进行解密,获得反馈信息对应的第二明文信息;

第二加密模块,被配置为基于共享密钥对第二明文信息进行加密,获得第三加密信息,并将第三加密信息发送至客户端。

可选地,装置还包括:

请求接收模块,被配置为接收客户端发送的验证请求,其中,验证请求用于验证目标设备中是否配置可信执行环境;

生成模块,被配置为在目标设备配置有可信执行环境的情况下,在可信执行环境中生成针对客户端的共享密钥;

第一发送模块,被配置为将共享密钥发送至客户端。

本说明书一个实施例实现了接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端;基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息;根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器。通过预先将共享密钥发送至客户端,接收客户端发送的基于共享密钥加密的第一加密信息,确保信息在客户端与目标设备之间加密传输,通过将第一加密信息解密为第一明文信息,并根据预设加密方法对第一明文信息重新加密得到第二加密信息,使得数据在传输的全过程都以密文形式存在,并使用不同密钥分别进行加密,有效降低了数据泄露的风险,提高数据安全性。

图8示出了本说明书一个实施例提供的一种数据处理装置的结构示意图,配置于服务器。如图8所示,该装置包括:

第二接收模块802,被配置为接收目标设备发送的第二加密信息;

处理模块804,被配置为处理第二加密信息,获得加密执行结果;

判断模块806,被配置为根据第二加密信息的类型,判断是否将加密执行结果返回目标设备;

第二发送模块808,被配置为若是,确定加密执行结果为反馈信息,并将反馈信息发送至目标设备。

可选地,处理模块804,进一步被配置为:

处理第二加密信息,获得初始加密结果;

根据第二加密信息的类型,确定初始加密结果对应的目标加密模型,其中,目标加密模型包括至少一层加密算法;

根据目标加密模型对初始加密结果进行加密,获得加密执行结果。

本说明书一个实施例,实现了接收目标设备发送的第二加密信息;处理第二加密信息,获得加密执行结果;根据第二加密信息的类型,判断是否将加密执行结果返回目标设备;若是,确定加密执行结果为反馈信息,并将反馈信息发送至目标设备。

通过对第二加密信息进行处理,能够确保明文信息对服务器内部工作人员是不可见的,避免数据从内部泄露的风险,提高数据在存储状态下的安全性,在有返回结果的情况下,将加密执行结果返回至目标设备,可以确保数据在传输过程中的安全性。

图9示出了本说明书一个实施例提供的一种数据处理装置的结构示意图,配置于目标设备。如图9所示,该装置包括:

第三接收模块902,被配置为接收客户端发送的基于共享密钥加密的第一加密结构化查询语句,其中,共享密钥由目标设备预先发送至客户端;

第三解密模块904,被配置为基于共享密钥对第一加密结构化查询语句进行解密,获得第一加密结构化查询语句对应的第一明文结构化查询语句;

第三加密模块906,被配置为根据预设加密方法对第一明文结构化查询语句进行加密,得到第二加密结构化查询语句,并将第二加密结构化查询语句发送至服务器。

本说明书一个实施例实现了接收客户端发送的基于共享密钥加密的第一加密信息,其中,共享密钥由目标设备预先发送至客户端;基于共享密钥对第一加密信息进行解密,获得第一加密信息对应的第一明文信息;根据预设加密方法对第一明文信息进行加密,得到第二加密信息,并将第二加密信息发送至服务器。通过预先将共享密钥发送至客户端,接收客户端发送的基于共享密钥加密的第一加密信息,确保信息在客户端与目标设备之间加密传输,通过将第一加密信息解密为第一明文信息,并根据预设加密方法对第一明文信息重新加密得到第二加密信息,使得数据在传输的全过程都以密文形式存在,并使用不同密钥分别进行加密,有效降低了数据泄露的风险,提高数据安全性。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理装置而言,由于其基本相似于数据处理方法实施例,所以描述的比较简单,相关之处参见数据处理方法实施例的部分说明即可。

图10示出了根据本说明书一个实施例提供的一种计算设备1000的结构框图。该计算设备1000的部件包括但不限于存储器1010和处理器1020。处理器1020与存储器1010通过总线1030相连接,数据库1050用于保存数据。

计算设备1000还包括接入设备1040,接入设备1040使得计算设备1000能够经由一个或多个网络1060通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备1040可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,networkinterface controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)。

在本说明书的一个实施例中,计算设备1000的上述部件以及图10中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图10所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

计算设备1000可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备1000还可以是移动式或静止式的服务器。

其中,处理器1020用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于计算设备实施例而言,由于其基本相似于数据处理方法实施例,所以描述的比较简单,相关之处参见数据处理方法实施例的部分说明即可。

本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于计算机可读存储介质实施例而言,由于其基本相似于数据处理方法实施例,所以描述的比较简单,相关之处参见数据处理方法实施例的部分说明即可。

本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于计算机程序实施例而言,由于其基本相似于数据处理方法实施例,所以描述的比较简单,相关之处参见数据处理方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。

以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

相关技术
  • 数据处理方法、装置、系统、服务端装置和客户端装置
  • 用于区块链网络系统的数据处理方法和数据处理装置
  • 存储系统的数据处理方法、装置、系统及可读存储介质
  • 话音数据处理方法以及支持该话音数据处理方法的电子装置
  • 一种数据处理方法、装置和用于数据处理的装置
  • 处理装置、处理方法、数据处理装置、数据处理系统、数据处理方法和程序
  • 通信系统、数据处理装置、服务器、数据处理方法、执行数据处理方法的程序和记录程序的记录媒体
技术分类

06120116380485