数据处理方法、装置、系统和存储介质与流程

文档序号:17481434发布日期:2019-04-20 06:28阅读:351来源:国知局
数据处理方法、装置、系统和存储介质与流程

本发明涉及数据处理,尤其涉及基于云的数据处理方法、装置、系统和存储介质。



背景技术:

互联网时代,大数据交易已经成为一种重要的商业模式。基于云计算平台的大数据交易可以充分利用云平台廉价、弹性可扩展的计算以及存储能力。但是,出于安全保密考虑,在云上进行数据交易仍然是一个挑战,数据提供方和数据使用方往往会担心云计算平台提供商获取或偷取其放在云平台的数据。

专利申请《一种基于可运算密文技术的数据交易方法》(申请号201611236777.3),提出了一种基于可运算密文技术的数据交易方法,通过采用完全随机加密、确定性加密、顺序确定性加密、同态加密等加密方法根据需求加密数据的方式,不但保证数据在云计算平台交易时是以密文交易,同时又保障密文数据可以进行数据比对、数据排序、数据运算等操作,保证了数据交易的正常进行。

专利201380020702x,《安全的多方云计算的方法和系统》,提出了一种进行安全的多方云计算的系统,该系统要求多个客户端通过特定的加密密钥加密相应的明文数据生成加密数据集。然后将多个加密数据集重加密成目标格式,基于所述重加密后的多个数据集对函数进行求值以获得求值结果,并将所述求值结果发送给所述多个客户端。在该方案中由可信第三方负责重加密密钥对的生产和分发。

专利201410634598x《一种云计算中隐私数据的安全使用方法》,该方法通过对暴露链和关键隐私数据的检测以及对暴露链和关键隐私数据为根节点的重组,从而使得连续隐私数据转换为离散隐私数据,以达到保护用户个人隐私信息的效果。

同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。

然而,专利201380020702x数据加密方法依赖于同态加密方案,专利201611236777.3数据加密方法依赖于同态加密、确定性加密、顺序确定性加密等弱加密方法(相对于完全随机加密),因此其密文安全性比完全随机加密要弱,相对更容易被解密。专利201410634598x提出的方法并不涉及保障数据在第三方云服务器的安全性。

因此,现有技术无法确保交易数据的安全性以及数据在第三方云服务器上的安全性。



技术实现要素:

本发明提供了一种数据处理方法,该方法包括:

握手步骤,分别与数据提供方和数据使用方进行握手操作,以将第一密钥分别发送给所述数据提供方和所述数据使用方;

获取步骤,从所述数据提供方获取第一加密数据、以所述第一密钥加密的相关信息、和算法调用信息,所述相关信息与所述第一加密数据相关;

处理步骤,根据所述相关信息和所述算法调用信息对所述第一加密数据进行处理,得到第二加密数据;

输出步骤,将所述第二加密数据输出给所述数据使用方。

其中,所述相关信息包括数据处理算法和第二密钥,其中,所述数据提供方以所述第二密钥对第一数据进行加密,得到所述第一加密数据。

其中,所述处理步骤进一步包括:

解密步骤,根据所述第二密钥对所述第一加密数据进行解密,得到所述第一数据;

算法调用步骤,根据所述算法调用信息,从所述数据处理算法中调用相关算法;

计算步骤,根据所述相关算法对所述第一数据进行计算,得到第二数据,

加密步骤,以所述第二密钥对所述第二数据进行加密,得到所述第二加密数据。

其中,所述输出步骤进一步包括:

验证步骤,根据所述数据使用方的请求,将以所述第一密钥加密的数据处理算法发送给所述数据使用方,供所述数据使用方进行验证;

发送步骤,在验证通过的情况下,将所述第二加密数据发送给所述数据使用方。

其中,所述数据提供方预先将所述数据处理算法和所述第二密钥发送给所述数据使用方,

所述数据使用方验证所述数据提供方发送的数据处理算法是否与以所述第一密钥加密的数据处理算法相同,若相同,则验证通过。

其中,所述数据使用方用所述第二密钥对所述第二加密数据进行解密,以获取所述第二数据。

本发明还提供一种数据处理装置,该装置包括:

握手单元,分别与数据提供方和数据使用方进行握手操作,以将第一密钥分别发送给所述数据提供方和所述数据使用方;

获取单元,从所述数据提供方获取第一加密数据、以所述第一密钥加密的相关信息、和算法调用信息,所述相关信息与所述第一加密数据相关;

处理单元,根据所述相关信息和所述算法调用信息对所述第一加密数据进行处理,得到第二加密数据;

输出单元,将所述第二加密数据输出给所述数据使用方。

本发明还提供一种数据处理系统,该系统包括:数据提供方、数据使用方和如上所述的数据处理装置,其中,所述数据方将第一密文数据发送给所述数据处理装置,经过所述数据处理装置处理后得到第二密文数据,并将所述第二密文数据发送给所述数据使用方。

本发明还提供一种非易失性存储介质,在所述非易失性存储介质上存储有数据处理程序,所述数据处理程序被计算机执行以实施数据处理方法,所述数据处理程序包括:

握手指令,分别与数据提供方和数据使用方进行握手操作,以将第一密钥分别发送给所述数据提供方和所述数据使用方;

获取指令,从所述数据提供方获取第一加密数据、以所述第一密钥加密的相关信息、和算法调用信息,所述相关信息与所述第一加密数据相关;

处理指令,根据所述相关信息和所述算法调用信息对所述第一加密数据进行处理,得到第二加密数据;

输出指令,将所述第二加密数据输出给所述数据使用方。

通过本发明,可以确保数据通过第三方云服务器进行安全地处理(交易)。

附图说明

图1是根据本发明实施例的数据处理系统的示意图;

图2是根据本发明实施例的数据处理装置的示意图;

图3是根据本发明实施例的数据处理方法的流程图;

图4是根据本发明实施例的处理单元203的示意图;

图5是根据本发明实施例的处理步骤的流程图;

图6是根据本发明实施例的输出单元的示意图;

图7是根据本发明实施例的输出步骤的流程图。

具体实施方式

下面结合附图,对本发明的实施例进行详细说明。

图1是根据本发明实施例的数据处理系统1的示意图,该数据处理系统1包括数据提供方10、数据处理装置20和数据使用方30。

图2是根据本发明实施例的数据处理装置20的示意图,该数据处理装置20包括握手单元201、获取单元202、处理单元203、和输出单元204。

本发明中,例如可以由云服务器(图未示)上的intelsgx装置来实现该数据处理装置20。其中,intelsgx装置20(以下简称为“sgx装置20”)是intel推出的可信计算(trustedcomputing)装置,其功能被集成于cpu上。所有运行在sgx装置20里的程序和数据对于操作系统都是不可见的,因此数据提供方10和数据使用方30可以在操作系统(包括操作系统控制者)不可信的情况下,仍然使用sgx装置20来执行数据处理。

图3根据本发明实施例的数据处理方法的流程图。

下面结合图2和图3进行详细说明。在步骤s31,握手单元201分别与数据提供方10和数据使用方30进行握手操作,以将第一密钥分别发送给数据提供方10和数据使用方30。其中,第一密钥是供数据提供方10和数据使用方30对sgx装置20进行认证的。通过步骤s31中的握手操作,数据提供方10和数据使用方30可以将sgx装置20认证为可信装置。

在步骤s32,获取单元202从数据提供方10获取第一加密数据、以第一密钥加密的相关信息、和算法调用信息,相关信息与第一加密数据相关。其中,相关信息包括数据处理算法和第二密钥,数据提供方10以第二密钥对第一数据进行加密,得到第一加密数据。

这里,数据提供方10使用握手单元201发来的第一密钥对相关信息进行加密,并发送给获取单元202。获取单元202使用该第一密钥对相关信息进行解密,从而获取该相关信息中的数据处理算法和第二密钥。

另一方面,数据提供方10使用第二密钥对要处理的第一数据进行加密,得到第一加密数据,并发送给获取单元202。

接下来,在步骤s33,处理单元203根据相关信息和算法调用信息对第一加密数据进行处理,得到第二加密数据。

图4是根据本发明实施例的处理单元203的示意图,该处理单元203包括解密单元2031、算法调用单元2032、计算单元2033、加密单元2034。图5是根据本发明实施例的处理步骤s33的具体流程图。

如图4、5所示,在步骤s331,解密单元2031根据第二密钥对第一加密数据进行解密,得到第一数据。在步骤s332,算法调用单元根据获取单元202获取的算法调用信息,从数据处理算法中调用相关算法。在步骤s333,计算单元2033根据相关算法对第一数据进行计算,得到第二数据。该第二数据就是要输出给数据使用方30的数据。

这里,在sgx装置20的计算单元2033中,是对明文的第一数据进行计算操作,因此可以支持任意类型的第一数据的操作,而不受任何限制。因此,本发明可以对任何类型的数据进行处理。

在步骤s334,加密单元2034以第二密钥对第二数据进行加密,得到第二加密数据。

图6是根据本发明实施例的输出单元204的示意图,该输出单元204包括验证单元2041和发送单元2042。图7是根据本发明实施例的输出步骤s34的具体流程图。

如图7所示,在步骤s341,验证单元2041根据数据使用方30的请求,将以第一密钥加密的数据处理算法发送给数据使用方30,供数据使用方30进行验证。

这里,数据提供方10预先和数据使用方30进行协商后,将上述数据处理算法和第二密钥预先发送给数据使用方30。数据使用方30验证数据提供方10发送的数据处理算法是否与验证单元2041发送的以第一密钥加密的数据处理算法相同,若相同,则验证通过。也就是说,若验证通过,则表明上述第二加密数据是要提供给该数据使用方30的数据。

通过步骤s341的验证步骤,可以进一步确认第二加密数据是否是要提供给该数据使用方30的数据,而不是被第三方非法篡改的其他数据。

接着,在步骤s342,发送单元2042在验证通过的情况下,将第二加密数据发送给数据使用方30。

数据使用方30在接收到第二加密数据后,使用数据提供方10预先发送来的第二密钥对第二加密数据进行解密,以获取第二数据。

本发明中,数据加密所使用的第二密钥是由数据提供方、数据使用方和sgx装置所保存,即使云服务器也无法获取该第二密钥,因此可以确保数据安全性。进一步,对于数据的处理都是在sgx装置中执行,由于sgx装置提供了可信计算支持,因此包括操作系统内核在内都无法获取sgx装置内部的数据,所以云服务器中的任意组成成员(系统管理员、运维人员、研发人员等)都无法获取其中处理的数据。因此可以确保经由廉价的云服务器来进行安全地数据处理(数据交易),即,可以提供安全性高且成本低的数据处理方式。

进一步,本发明中使用的第二密钥的加密方法可以直接使用传统的加密方法(例如aes等),这类加密方法比同态加密、确定性加密、顺序确定性等方法安全性更高。

进一步,在sgx装置20中,是对明文的第一数据进行计算操作,因此可以支持任意类型的第一数据的操作,而不受任何限制。因此,本发明可以对任何类型的数据进行处理。

虽然经过对本发明结合具体实施例进行描述,对于本领域的技术技术人员而言,根据上文的叙述后作出的许多替代、修改与变化将是显而易见。因此,当这样的替代、修改和变化落入附后的权利要求的精神和范围之内时,应该被包括在本发明中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1