CN111753312A - 数据处理方法、装置、设备和系统 - Google Patents
数据处理方法、装置、设备和系统 Download PDFInfo
- Publication number
- CN111753312A CN111753312A CN201910232667.7A CN201910232667A CN111753312A CN 111753312 A CN111753312 A CN 111753312A CN 201910232667 A CN201910232667 A CN 201910232667A CN 111753312 A CN111753312 A CN 111753312A
- Authority
- CN
- China
- Prior art keywords
- data processing
- data
- processing service
- execution environment
- user equipment
- 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/602—Providing cryptographic facilities or services
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供一种数据处理方法、装置、设备和系统,该方法包括:应用于运行在可信执行环境中的数据处理服务,接收用户设备发送的加密数据;向用户设备发送密钥获取请求;接收用户设备通过与数据处理服务之间的安全传输通道发送的解密密钥,其中,用户设备在确定数据处理服务运行在可信执行环境中后与数据处理服务建立安全传输通道;根据解密密钥对加密数据进行解密,将解密后的明文数据存储在可信执行环境中。本方案中,可信执行环境保证了服务提供商无法窃取可信执行环境内部的数据,使得服务提供商可对数据进行处理但是不可见明文数据,保证了数据的安全性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据处理方法、装置、设备和系统。
背景技术
随着海量数据的产生,越来越多的用户比如企业用户甚至个人用户会选择将自己的数据信息存储在云端,即由某个服务提供商通过部署在云端的存储、计算资源为用户提供数据存储、计算服务。
为保证数据安全,用户在向服务提供商提供数据时可以对数据进行加密,将密文数据发送至服务提供商。但是,由于服务提供商后续需要为用户提供数据存储、计算等服务,因此传统地,服务提供商也会对接收到的密文数据进行解密,进而对明文数据进行存储、计算处理。
服务提供商需要处理用户的明文数据,这样存在的问题是服务提供商能够获取到用户的明文数据,这对用户的数据安全带来很大的隐患,因为即使服务提供商不乱用用户的数据,这些数据也可能被黑客攻击。
发明内容
本发明实施例提供一种数据处理方法、装置、设备和系统,用以保护用户的数据安全。
第一方面,本发明实施例提供一种数据处理方法,应用于运行在可信执行环境中的数据处理服务,该方法包括:
接收用户设备发送的加密数据;
向所述用户设备发送密钥获取请求;
接收所述用户设备通过与所述数据处理服务之间的安全传输通道发送的解密密钥,其中,所述用户设备在确定所述数据处理服务运行在所述可信执行环境中后与所述数据处理服务建立所述安全传输通道;
根据所述解密密钥对所述加密数据进行解密,将解密后的明文数据存储在所述可信执行环境中。
第二方面,本发明实施例提供一种数据处理装置,应用于运行在可信执行环境中的数据处理服务,该装置包括:
接收模块,用于接收用户设备发送的加密数据,以及接收所述用户设备通过与所述数据处理服务之间的安全传输通道发送的解密密钥,其中,所述用户设备在确定所述数据处理服务运行在所述可信执行环境中后与所述数据处理服务建立所述安全传输通道;
发送模块,用于向所述用户设备发送密钥获取请求;
处理模块,用于根据所述解密密钥对所述加密数据进行解密,将解密后的明文数据存储在所述可信执行环境中。
第三方面,本发明实施例提供一种电子设备,包括处理器、存储器,所述存储器上存储有运行在可信执行环境中的数据处理服务,当所述数据处理服务被所述处理器执行时,使所述处理器至少实现上述第一方面中的数据处理方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现上述第一方面中的数据处理方法。
第五方面,本发明实施例提供一种数据处理方法,该方法包括:
将加密数据发送至数据处理服务;
响应于所述数据处理服务发送的密钥获取请求,若确定所述数据处理服务运行在可信执行环境中,则建立与所述数据处理服务之间的安全传输通道;
通过所述安全传输通道向所述数据处理服务发送解密密钥,以使所述数据处理服务根据所述解密密钥对所述加密数据进行解密并将解密后的明文数据存储在所述可信执行环境中。
第六方面,本发明实施例提供一种数据处理装置,该装置包括:
发送模块,用于将加密数据发送至数据处理服务;
认证模块,用于响应于所述数据处理服务发送的密钥获取请求,若确定所述数据处理服务运行在可信执行环境中,则建立与所述数据处理服务之间的安全传输通道;
所述发送模块,还用于通过所述安全传输通道向所述数据处理服务发送解密密钥,以使所述数据处理服务根据所述解密密钥对所述加密数据进行解密并将解密后的明文数据存储在所述可信执行环境中。
第七方面,本发明实施例提供一种电子设备,包括处理器、存储器,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少实现上述第五方面所述的数据处理方法。
第八方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现上述第五方面中的数据处理方法。
第九方面,本发明实施例提供了一种数据处理系统,包括:用户设备,运行在可信执行环境中的数据处理服务;
其中,所述用户设备,用于将加密数据发送至所述数据处理服务;接收所述数据处理服务发送的密钥获取请求;若确定所述数据处理服务运行在所述可信执行环境中,则与所述数据处理服务建立安全传输通道;通过所述安全传输通道发送解密密钥至所述数据处理服务;
所述数据处理服务,用于接收所述加密数据,向所述用户设备发送密钥获取请求;接收所述解密密钥,根据所述解密密钥对所述加密数据进行解密,将解密后的明文数据存储在所述可信执行环境中。
在本发明实施例中,用户可以将自己的数据进行加密,将加密后的数据发送至服务端的数据处理服务。为保证用户的数据安全,要求为用户提供的数据处理服务需要运行在可信执行环境中,也就是说,数据处理服务需要在可信执行环境中对用户的数据进行存储、计算等处理。所以,数据处理服务在接收到用户发送的加密数据后,向用户设备发送密钥获取请求,以获得解密密钥。而用户设备接收到密钥获取请求后,需要对该数据处理服务进行可信度量,即确定该数据处理服务是否运行在可信执行环境中,亦即确定可信执行环境中运行的数据处理服务是否是之前用户审计过的合法的数据处理服务。当确定该数据处理服务通过可信度量后,与该数据处理服务之间建立安全传输通道,通过该安全传输通道将解密密钥提供给数据处理服务,以避免解密密钥的泄露。数据处理服务基于获得的解密密钥进行数据解密以得到明文数据,将解密后的明文数据存储在所述可信执行环境中。
由此可见,通过本方案,首先,用户的数据是以密文形式提供给服务端比如某服务提供商的服务器中的,如此,在未获得解密密钥的前提下,无法使用用户的数据。其次,只有用户认证了数据处理服务运行在可信执行环境中才会提供解密密钥,也就是说,只有运行在可信执行环境中的与用户对应的数据处理服务才能获得解密密钥,从而达到了认证服务提供商使用用户数据的方式是否可靠的目的。再次,可信执行环境保证了服务提供商无法窃取可信执行环境内部的数据,使得服务提供商可对数据进行处理但是不可见明文数据,保证了数据的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据处理方法的流程图;
图2为本发明实施例提供的另一种数据处理方法的流程图;
图3为本发明实施例提供的一种倒排列表分组结果的示意图;
图4为本发明实施例提供的又一种数据处理方法的流程图;
图5为本发明实施例提供的再一种数据处理方法的流程图;
图6为本发明实施例提供的一种数据处理系统的工作原理示意图;
图7为本发明实施例提供的一种数据处理装置的结构示意图;
图8为与图7所示实施例提供的数据处理装置对应的电子设备的结构示意图;
图9为本发明实施例提供的另一种数据处理装置的结构示意图;
图10为与图9所示实施例提供的数据处理装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式。除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图1为本发明实施例提供的一种数据处理方法的流程图,该数据处理方法可以由位于服务端的某个数据处理服务(为一种软件程序)来执行,用户可以将处理自己的数据所需的该数据处理服务部署在服务端,为保证数据安全,该数据处理服务部署在服务端的可信执行环境中。如图1所示,该方法包括如下步骤:
101、接收用户设备发送的加密数据。
用户可以先对自己的数据进行加密,加密所采用的密钥是由用户设备自己生成的,之后,用户通过用户设备将加密数据传输给服务端。
实际上,与加密数据一同被传输至服务端的还可以包括用户标识,即该加密数据的所有者的标识。
本发明实施例中,服务端是指为用户提供数据处理资源的服务提供商。
实际应用中,用户可以根据自身需求设计用于对自身数据进行处理的数据处理服务,即编写用于对数据进行处理的软件程序,进而可以将设计好的数据处理服务提供给服务提供商,使得服务提供商将该数据处理服务部署在自己的硬件设备比如服务器中。为了保证用户的数据安全,具体地,该数据处理服务部署在服务器的可信执行环境中。
当然,也可以由服务提供商为用户设计处理其数据的数据处理服务,进而将数据处理服务部署在可信执行环境中运行。
服务端对外提供访问该数据处理服务的接口,比如网址,用户设备可以通过该接口与其对应的数据处理服务进行交互。
102、向用户设备发送密钥获取请求。
数据处理服务在接收到用户设备发送的加密数据后,向用户设备请求解密密钥。
103、接收用户设备通过与数据处理服务之间的安全传输通道发送的解密密钥,其中,用户设备在确定数据处理服务运行在可信执行环境中后与数据处理服务建立安全传输通道。
用户设备在接收到密钥获取请求后,挑战数据处理服务是否是在可信执行环境中请求解密密钥,亦即对数据处理服务的运行环境进行远程认证,也即为对可信执行环境进行可信度量,以确定数据处理服务是否运行在可信执行环境中。
如果数据处理服务运行在可信执行环境中,则用户设备与数据处理服务之间建立安全传输通道,以通过该安全传输通道将解密密钥发送至数据处理服务。
上述远程认证即可信度量的过程可以采用现有的相关技术实现。本实施例中仅概要说明认证过程:
当上述数据处理服务初始被部署在可信执行环境中后,用户可以对运行在可信执行环境中的该数据处理服务进行审计,即审计该数据处理服务是否是自己设计的而没有被更改或者在该数据处理服务由其他人设计的情况下,审计该数据处理服务是否满足自己的需求。在审计过程中,用户设备可以对该数据处理服务的代码进行编译处理,进而对编译结果进行哈希运算处理,得到第一哈希值并存储在用户设备本地。
当用户设备接收到上述密钥获取请求后,可以请求数据处理服务提供其运行报告,即其在可信执行环境中的运行报告。该运行报告中包括数据处理服务在可信执行环境中运行时所对应的第二哈希值,即可信执行环境对该数据处理服务进行代码编译、对编译结果进行哈希运算得到的哈希值。用户一方面可以将该运行报告提交给可信执行环境对应的硬件提供方,由该硬件提供方验证该运行报告是否真实正确,另一方面,用户可以比较第一哈希值与第二哈希值是否一致。若运行报告正确且第一哈希值与第二哈希值一致,则确定数据处理服务通过了认证。
上述安全传输通道是指,在数据处理服务通过认证时,用户设备与数据处理服务可以协商出一对密钥,此后双方之间的数据交互均以协商出的密钥进行加密传输,以保证数据安全。
104、根据解密密钥对加密数据进行解密,将解密后的明文数据存储在可信执行环境中。
数据处理服务在根据从用户设备获得的解密密钥对接收到的加密数据进行解密处理后得到对应的明文数据,进而可以将明文数据存储在可信执行环境中。当然,也可以对明文数据进行某些处理后,将处理结果存储在可信执行环境中
综上,首先,用户的数据是以密文形式提供给服务提供商,如此,在未获得解密密钥的前提下,服务端无法使用用户的数据。其次,只有用户认证了数据处理服务运行在可信执行环境中才会提供解密密钥,也就是说,只有运行在可信执行环境中的与用户对应的数据处理服务才能获得解密密钥,从而达到了认证服务提供商使用用户数据的方式是否可靠的目的。再次,可信执行环境保证了服务提供商无法窃取可信执行环境内部的数据,使得服务提供商可对数据进行处理但是不可见明文数据,保证了数据的安全性。
用户将自己的数据存储在服务提供商侧,而实际应用中,用户很可能会存在查询已经存储的数据的使用需求,而为实现数据查询,在对上述明文数据进行存储的时候需要创建索引,其中一种索引创建形式为倒排索引,也称为反向索引(inverted index)。
先对倒排索引的概念进行简要介绍:在搜索引擎中,每个文件都会具有一个文件标识(也称为文件ID),文件内容可以表示为一系列关键词的集合。倒排索引,即为建立关键词(亦即词典)到文件ID的映射关系,每个关键词都对应着一系列的文件,这些文件中都出现这个关键词。
下面结合图2所示实施例,对本发明实施例中提供的一种倒排索引创建过程进行说明。
图2为本发明实施例提供的另一种数据处理方法的流程图,该数据处理方法可以由前述数据处理服务来执行。在图1所示实施例基础上,如图2所示,该方法包括如下步骤:
201、对明文数据进行分词处理以得到多个第一分词。
202、分别对多个第一分词进行加盐哈希运算以得到多个第一哈希值。
203、在多个第一哈希值分别对应的倒排列表中写入明文数据的数据标识,倒排列表存储在可信执行环境中。
具体地,在解密得到用户的明文数据后,首先可以对该明文数据进行分词处理,以得到多个分词,称为多个第一分词。
其中,分词处理的过程可以参照现有相关技术实现,在发明实施例中不赘述,只是,需要说明的是,在分词处理后,可以过滤掉其中的无实际意义的停用词,比如连接词、语气助词、介词、副词等,从而,上述多个第一分词可以是指过滤掉停用词之后的分词结果。
例如,假设明文数据为:全资收购小明的公司,分词的结果是:全资,收购,小明,公司。
在得到多个第一分词之后,可以分别对多个第一分词进行加盐哈希运算以得到多个第一哈希值,多个第一哈希值与多个第一分词一一对应。
以其中的任一个第一分词来说,对该第一分词进行加盐哈希运算可以表示为:hash(第一分词+盐值),其中,hash()表示某个哈希函数,+表示第一分词和盐值拼接在一起的结果。盐值可以是取自盐值表中的某个盐值,其实,盐值就是一串随机字符串。
多个第一分词共用一个盐值,也就是说,对其中的每个第一分词进行加盐哈希运算时,是采用相同的哈希函数和盐值进行运算的。
可选地,可以随机从盐值表中取出的某个盐值用于对上述多个第一分词进行加盐哈希运算。
可选地,用于对上述多个第一分词进行加盐哈希运算所用的盐值也可以是通过如下方式获得的:根据明文数据对应的用户标识即数据所有者标识,确定该明文数据对应的盐值以用于对上述多个第一分词进行哈希加盐运算。
其中,这里的用户标识对应的数据类型为整型,具体地,可以以该用户标识(Uid)对盐值表中包含的盐值总数(假设为N)进行取余运算,假设余数为M,那么取出盐值表中的第M个盐值用于对上述多个第一分词进行加盐哈希运算。其中,盐值表可以表示为如下的表格:
Part | Salt |
0 | S0 |
1 | S1 |
… | … |
其中,Salt代表盐值,Part代表盐值在表格中的位置偏移。
在计算得到多个第一哈希值之后,可以根据该多个第一哈希值建立倒排索引表,亦即分别以多个第一哈希值为主键,建立多个第一哈希值到明文数据的数据标识的映射关系。
举例来说,假设上述多个第一哈希值分别为H1、H2和H3,上述明文数据的数据标识为X,且假设已经建立的倒排索引表中并无H1、H2和H3,从而,新生成的倒排索引表中包括如下记录:
H1:X
H2:X
H3:X
其中,:左右两侧分别表示词典项和词典项对应的倒排列表,本文中,词典项即为各第一哈希值。
如果假设已经建立的倒排索引表中已经包含有上述H1、H2和H3中的部分,则在针对当前的明文数据得到H1、H2和H3后,可以在H1、H2和H3各自对应的倒排列表中写入该数据的数据标识X,如下:
H1:Y,X
H2:K,Q,X
H3:X。
综上,在本发明实施例中,创建倒排索引所使用的关键词是哈希值,即明文数据经过分词处理后得到的各分词被进行加盐哈希运算后得到的哈希值。由于该哈希值是对分词结果进行加盐哈希运算后得到的,是一种密文索引,黑客不能通过该哈希值直接反推出对应的分词结果,从而,通过避免词典攻击问题而防止了黑客通过分词结果反推出用户数据所反映的用户隐私信息的风险。
另外,在一可选实施例中,在得到多个第一哈希值后,还可以对该多个第一哈希值进行乱序处理,即对多个第一哈希值进行随机乱序重排,打乱其在倒排索引表中的相邻位置,使得该多个第一哈希值在倒排索引表中是不相邻的。
通过重排哈希值解决了关联规则攻击问题,所谓关联规则攻击是指:如果某些哈希值总是一起出现,那么这些哈希值对应的明文很有可能是反映某种固定搭配关系的关联规则,比如可能是术语或专有名词等,此时再结合用户背景,有可能能够进一步猜测出用户的明文数据。而通过重排哈希值,将这些关联规则打破,从而可以避免关联规则攻击问题。
另外,对于多个第一哈希值中的目标第一哈希值来说,其对应的倒排列表中存储有一个或多个数据标识,而这些数据标识所对应的数据中均包含该目标第一哈希值对应的第一分词。其中,目标第一哈希值是多个第一哈希值中的任一个。
由此可知,一个第一哈希值对应的倒排列表中包含的数据标识的个数其实反映了该第一哈希值所对应的第一分词的词频信息,即多少个数据中包含了该第一分词。
而实际上,如果黑客获知某个第一哈希值对应的数据标识的个数众多,可以确定该第一哈希值的重要性,就会对该第一哈希值进行攻击,而导致对应的第一分词的泄露风险,这种攻击可以称为词频攻击问题。
为了克服词频攻击问题,本发明实施例提供了如下的解决方案,以隐藏词频信息:
对于多个第一哈希值中的目标第一哈希值,若目标第一哈希值对应的倒排列表中数据标识的个数大于设定阈值,则将该倒排列表中的数据标识分成多组;随机确定多组数据标识在可信执行环境中各自对应的存储地址,其中,一组数据标识的存储地址中还加密存储有另一组数据标识的存储地址。
上述隐藏词频信息的解决方案,简单来说就是:对倒排列表进行分组,分组之间通过加密指针关联,以隐藏词频信息,从而避免词频攻击问题。
具体来说,以多个第一哈希值中的任一个作为目标第一哈希值,若目标第一哈希值对应的倒排列表中数据标识的个数大于设定阈值,则说明该目标第一哈希值所对应的第一分词的词频较高。此时,首先,将该倒排列表中的数据标识分成多组,可以进行平均划分以得到多组。进而,可以为每个分组随机分配存储地址,为了便于查询操作,在其中一个存储地址中,不仅存储对应的一组数据标识,还加密存储有另一组数据标识的存储地址,以便建立多组数据标识之间的关联关系。其中,该存储地址可以理解为是相对某参考地址的偏移量或者说偏移指针。
为便于理解,如图3所示,假设已经建立的倒排索引表的词典项中包括hash0、hash1和hashn这三个哈希值,这三个哈希值各自对应的数据标识的分组结果如图3中的箭头方向所示。图3中右侧一列示意的是数据标识。
前述图2所示实施例介绍了一种倒排索引的建立过程,下面结合图4来介绍在该建立过程下,用户的查询过程的一种实现方案。
图4为本发明实施例提供的又一种数据处理方法的流程图,该数据处理方法可以由前述数据处理服务来执行。如图4所示,该方法可以包括如下步骤:
401、用户设备发送的查询语句。
402、对查询进行分词处理以得到多个第二分词。
403、分别对多个第二分词进行加盐哈希运算以得到多个第二哈希值。
其中,查询语句中会携带有用户标识,基于该用户标识可以确定加盐哈希运算所需采用的盐值,具体确定方式如前文所述。
404、在多个第二哈希值各自对应的倒排列表中查询与多个第二哈希值均对应的数据标识,将与查询到的数据标识对应的明文数据通过安全传输通道发送至用户设备。
由此可知,对于查询语句的处理过程与对上述待存储的数据的处理过程相似,都经过分词、加盐哈希的处理。也就是说,为了避免用户触发的查询语句对用户的隐私信息的泄露,查询过程也是以密文的形式进行的,从而实现以密文检索密文的效果。
假设通过图1或图2所示实施例的执行,生成的倒排索引表如下:
H1:Y,X
H2:K,Q,X
H3:Y。
其中,上述H1、H2和H3是三个第一哈希值,冒号右边代表其各自对应的倒排列表中包含的数据标识。
假设多个第二分词对应的多个第二哈希值分别为:H1和H3,则以H1和H3查询倒排索引表得到,与H1对应的数据标识为X和Y,与H3对应的数据标识为Y,只有数据标识Y是与H1和H3均匹配的,因此确定数据标识Y对应的明文数据是用户所要查询的数据,将该数据通过与用户设备之间已经建立的安全传输通道反馈给用户,以保证数据的传输安全。
图5为本发明实施例提供的再一种数据处理方法的流程图,该数据处理方法可以由前述用户设备来执行。如图5所示,该方法可以包括如下步骤:
501、将加密数据发送至数据处理服务。
502、响应于数据处理服务发送的密钥获取请求,若确定数据处理服务运行在可信执行环境中,则建立与数据处理服务之间的安全传输通道。
503、通过安全传输通道向数据处理服务发送解密密钥,以使数据处理服务根据解密密钥对加密数据进行解密并将解密后的明文数据存储在可信执行环境中。
本实施例中用户设备的详细执行过程可以参考前述其他实施例中的说明,在此不赘述。
图6为本发明实施例提供的一种数据处理系统的示意图,如图6所示,该系统中包括:用户设备,运行在可信执行环境中的数据处理服务。
实际上,可信执行环境可以搭建在如图6中示意的某服务器中。
用户设备可以是诸如PC机、笔记本电脑、手机等终端设备,也可以是服务器。
如图6中所示,用户设备和数据处理服务的工作过程可以概况描述为:
在步骤s1中,用户设备将加密数据发送至数据处理服务。在步骤s2中,数据处理服务向用户设备发送密钥获取请求。在步骤s3中,用户设备若确定数据处理服务运行在可信执行环境中,则与数据处理服务建立安全传输通道,通过安全传输通道发送解密密钥至数据处理服务。在步骤s4中,数据处理服务根据解密密钥对加密数据进行解密,将解密后的明文数据存储在可信执行环境中。
本实施例中未详细描述的用户设备和数据处理服务的执行过程,可以参见其他实施例中的说明,在此不赘述。
以下将详细描述本发明的一个或多个实施例的数据处理装置。本领域技术人员可以理解,这些数据处理装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图7为本发明实施例提供的一种数据处理装置的结构示意图,所述装置应用于运行在可信执行环境中的数据处理服务,如图8所示,该装置包括:接收模块11、发送模块12、处理模块13。
接收模块11,用于接收用户设备发送的加密数据,以及接收所述用户设备通过与所述数据处理服务之间的安全传输通道发送的解密密钥,其中,所述用户设备在确定所述数据处理服务运行在所述可信执行环境中后与所述数据处理服务建立所述安全传输通道。
发送模块12,用于向所述用户设备发送密钥获取请求。
处理模块13,用于根据所述解密密钥对所述加密数据进行解密,将解密后的明文数据存储在所述可信执行环境中。
可选地,所述装置还包括:索引建立模块,用于对所述明文数据进行分词处理以得到多个第一分词;分别对所述多个第一分词进行加盐哈希运算以得到多个第一哈希值;在所述多个第一哈希值分别对应的倒排列表中写入所述明文数据的数据标识,所述倒排列表存储在所述可信执行环境中。
可选地,所述索引建立模块还可以用于:根据所述明文数据对应的用户标识,确定所述明文数据对应的盐值以用于所述哈希加盐运算。
可选地,所述索引建立模块还可以用于:对所述多个第一哈希值进行乱序处理。
可选地,所述索引建立模块还可以用于:对于所述多个第一哈希值中的目标第一哈希值,若所述目标第一哈希值对应的倒排列表中数据标识的个数大于设定阈值,则将所述倒排列表中的数据标识分成多组;随机确定所述多组数据标识在所述可信执行环境中各自对应的存储地址,其中,一组数据标识的存储地址中还加密存储有另一组数据标识的存储地址。
可选地,所述装置还可以包括:查询模块,用于通过所述接收模块11接收所述用户设备发送的查询语句;对所述查询语句进行分词处理以得到多个第二分词;分别对所述多个第二分词进行加盐哈希运算以得到多个第二哈希值;在所述多个第二哈希值各自对应的倒排列表中查询与所述多个第二哈希值均对应的数据标识;将与查询到的数据标识对应的明文数据通过所述安全传输通道发送至所述用户设备。
图7所示装置可以执行前述各实施例中数据处理服务所执行的步骤,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。
在一个可能的设计中,上述图7所示的数据处理装置的结构可实现为一电子设备,该电子设备可以是PC机、服务器等。如图8所示,该电子设备可以包括:第一处理器21、第一存储器22。其中,所述第一存储器22上存储有运行在可信执行环境中的数据处理服务,当该数据处理服务被第一处理器21执行时,使第一处理器21可以执行如前述各实施例中数据处理服务器所执行的各步骤。
实际上,该电子设备中也可以包括第一通信接口23,用于与其他设备进行通信。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器可以执行如前述各实施例中数据处理服务所执行的数据处理方法。
图9为本发明实施例提供的另一种数据处理装置的结构示意图,所述装置应用于用户设备中,如图9所示,该装置包括:发送模块31、接收模块32、认证模块33。
发送模块31,用于将加密数据发送至数据处理服务。
接收模块32,用于接收所述数据处理服务发送的密钥获取请求。
认证模块33,用于若确定所述数据处理服务运行在可信执行环境中,则建立与所述数据处理服务之间的安全传输通道。
所述发送模块31,还用于通过所述安全传输通道向所述数据处理服务发送解密密钥,以使所述数据处理服务根据所述解密密钥对所述加密数据进行解密并将解密后的明文数据存储在所述可信执行环境中。
图9所示装置可以执行前述各实施例中用户设备所执行的步骤,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。
在一个可能的设计中,上述图9所示的数据处理装置的结构可实现为一电子设备,该电子设备可以是PC机、笔记本电脑、手机、服务器等。如图10所示,该电子设备可以包括:第二处理器41、第二存储器42。其中,所述第二存储器42上存储可执行代码,当该可执行代码被第二处理器41执行时,使第二处理器41可以执行如前述各实施例中用户设备所执行的各步骤。
实际上,该电子设备中也可以包括第二通信接口43,用于与其他设备进行通信。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器可以执行如前述各实施例中用户设备所执行的数据处理方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种数据处理方法,其特征在于,应用于运行在可信执行环境中的数据处理服务,所述方法包括:
接收用户设备发送的加密数据;
向所述用户设备发送密钥获取请求;
接收所述用户设备通过与所述数据处理服务之间的安全传输通道发送的解密密钥,其中,所述用户设备在确定所述数据处理服务运行在所述可信执行环境中后与所述数据处理服务建立所述安全传输通道;
根据所述解密密钥对所述加密数据进行解密,将解密后的明文数据存储在所述可信执行环境中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述明文数据进行分词处理以得到多个第一分词;
分别对所述多个第一分词进行加盐哈希运算以得到多个第一哈希值;
在所述多个第一哈希值分别对应的倒排列表中写入所述明文数据的数据标识,所述倒排列表存储在所述可信执行环境中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述明文数据对应的用户标识,确定所述明文数据对应的盐值以用于所述哈希加盐运算。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对所述多个第一哈希值进行乱序处理。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对于所述多个第一哈希值中的目标第一哈希值,若所述目标第一哈希值对应的倒排列表中数据标识的个数大于设定阈值,则将所述倒排列表中的数据标识分成多组;
随机确定所述多组数据标识在所述可信执行环境中各自对应的存储地址,其中,一组数据标识的存储地址中还加密存储有另一组数据标识的存储地址。
6.根据权利要求2至5中任一项所述的方法,其特征在于,所述方法还包括:
接收所述用户设备发送的查询语句;
对所述查询语句进行分词处理以得到多个第二分词;
分别对所述多个第二分词进行加盐哈希运算以得到多个第二哈希值;
在所述多个第二哈希值各自对应的倒排列表中查询与所述多个第二哈希值均对应的数据标识;
将与查询到的数据标识对应的明文数据通过所述安全传输通道发送至所述用户设备。
7.一种数据处理装置,其特征在于,应用于运行在可信执行环境中的数据处理服务,所述装置包括:
接收模块,用于接收用户设备发送的加密数据,以及接收所述用户设备通过与所述数据处理服务之间的安全传输通道发送的解密密钥,其中,所述用户设备在确定所述数据处理服务运行在所述可信执行环境中后与所述数据处理服务建立所述安全传输通道;
发送模块,用于向所述用户设备发送密钥获取请求;
处理模块,用于根据所述解密密钥对所述加密数据进行解密,将解密后的明文数据存储在所述可信执行环境中。
8.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器上存储有运行在可信执行环境中的数据处理服务,当所述数据处理服务被所述处理器执行时,使所述处理器执行如权利要求1至6中任一项所述的数据处理方法。
9.一种数据处理方法,其特征在于,应用于用户设备,所述方法包括:
将加密数据发送至数据处理服务;
响应于所述数据处理服务发送的密钥获取请求,若确定所述数据处理服务运行在可信执行环境中,则建立与所述数据处理服务之间的安全传输通道;
通过所述安全传输通道向所述数据处理服务发送解密密钥,以使所述数据处理服务根据所述解密密钥对所述加密数据进行解密并将解密后的明文数据存储在所述可信执行环境中。
10.一种数据处理装置,其特征在于,应用于用户设备,所述装置包括:
发送模块,用于将加密数据发送至数据处理服务;
接收模块,用于接收所述数据处理服务发送的密钥获取请求;
认证模块,用于若确定所述数据处理服务运行在可信执行环境中,则建立与所述数据处理服务之间的安全传输通道;
所述发送模块,还用于通过所述安全传输通道向所述数据处理服务发送解密密钥,以使所述数据处理服务根据所述解密密钥对所述加密数据进行解密并将解密后的明文数据存储在所述可信执行环境中。
11.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求9所述的数据处理方法。
12.一种数据处理系统,其特征在于,包括:
用户设备,运行在可信执行环境中的数据处理服务;
其中,所述用户设备,用于将加密数据发送至所述数据处理服务;接收所述数据处理服务发送的密钥获取请求;若确定所述数据处理服务运行在所述可信执行环境中,则与所述数据处理服务建立安全传输通道;通过所述安全传输通道发送解密密钥至所述数据处理服务;
所述数据处理服务,用于接收所述加密数据,向所述用户设备发送密钥获取请求;接收所述解密密钥,根据所述解密密钥对所述加密数据进行解密,将解密后的明文数据存储在所述可信执行环境中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910232667.7A CN111753312B (zh) | 2019-03-26 | 2019-03-26 | 数据处理方法、装置、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910232667.7A CN111753312B (zh) | 2019-03-26 | 2019-03-26 | 数据处理方法、装置、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753312A true CN111753312A (zh) | 2020-10-09 |
CN111753312B CN111753312B (zh) | 2023-09-08 |
Family
ID=72671367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910232667.7A Active CN111753312B (zh) | 2019-03-26 | 2019-03-26 | 数据处理方法、装置、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753312B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113449293A (zh) * | 2021-07-14 | 2021-09-28 | 上海交通大学 | 基于可信执行环境的密文搜索系统与方法 |
CN113536372A (zh) * | 2021-07-07 | 2021-10-22 | 国网上海市电力公司 | 数据处理方法、装置及电子设备 |
CN115277078A (zh) * | 2022-06-22 | 2022-11-01 | 抖音视界(北京)有限公司 | 用于处理基因数据的方法、装置、设备和介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104023013A (zh) * | 2014-05-30 | 2014-09-03 | 上海帝联信息科技股份有限公司 | 数据传输方法、服务端和客户端 |
CN104917741A (zh) * | 2014-07-19 | 2015-09-16 | 国家电网公司 | 一种基于usbkey的明文文档公网安全传输系统 |
US9141769B1 (en) * | 2013-02-08 | 2015-09-22 | Amazon Technologies, Inc. | Secure transfer and use of secret material in a shared environment |
US9246690B1 (en) * | 2014-09-03 | 2016-01-26 | Amazon Technologies, Inc. | Secure execution environment services |
WO2016011778A1 (zh) * | 2014-07-25 | 2016-01-28 | 华为技术有限公司 | 数据处理的方法和装置 |
CN105408913A (zh) * | 2013-08-21 | 2016-03-16 | 英特尔公司 | 在云中隐私地处理数据 |
CN105610910A (zh) * | 2015-12-18 | 2016-05-25 | 中南民族大学 | 面向云存储并基于全同态密码的密文全文检索方法及系统 |
CN105991569A (zh) * | 2015-02-09 | 2016-10-05 | 中国科学院信息工程研究所 | 一种tls通讯数据安全传输方法 |
US20170063816A1 (en) * | 2015-08-24 | 2017-03-02 | Virtru Corporation | Methods and systems for distributing encrypted cryptographic data |
CN106878231A (zh) * | 2015-12-10 | 2017-06-20 | 中国电信股份有限公司 | 用于实现用户数据安全传输的方法、用户终端和系统 |
US20190034658A1 (en) * | 2017-07-28 | 2019-01-31 | Alibaba Group Holding Limited | Data secruity enhancement by model training |
CN111797409A (zh) * | 2020-03-26 | 2020-10-20 | 中南林业科技大学 | 一种大数据中文文本无载体信息隐藏方法 |
-
2019
- 2019-03-26 CN CN201910232667.7A patent/CN111753312B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141769B1 (en) * | 2013-02-08 | 2015-09-22 | Amazon Technologies, Inc. | Secure transfer and use of secret material in a shared environment |
CN105408913A (zh) * | 2013-08-21 | 2016-03-16 | 英特尔公司 | 在云中隐私地处理数据 |
CN104023013A (zh) * | 2014-05-30 | 2014-09-03 | 上海帝联信息科技股份有限公司 | 数据传输方法、服务端和客户端 |
CN104917741A (zh) * | 2014-07-19 | 2015-09-16 | 国家电网公司 | 一种基于usbkey的明文文档公网安全传输系统 |
WO2016011778A1 (zh) * | 2014-07-25 | 2016-01-28 | 华为技术有限公司 | 数据处理的方法和装置 |
US9246690B1 (en) * | 2014-09-03 | 2016-01-26 | Amazon Technologies, Inc. | Secure execution environment services |
CN105991569A (zh) * | 2015-02-09 | 2016-10-05 | 中国科学院信息工程研究所 | 一种tls通讯数据安全传输方法 |
US20170063816A1 (en) * | 2015-08-24 | 2017-03-02 | Virtru Corporation | Methods and systems for distributing encrypted cryptographic data |
CN106878231A (zh) * | 2015-12-10 | 2017-06-20 | 中国电信股份有限公司 | 用于实现用户数据安全传输的方法、用户终端和系统 |
CN105610910A (zh) * | 2015-12-18 | 2016-05-25 | 中南民族大学 | 面向云存储并基于全同态密码的密文全文检索方法及系统 |
US20190034658A1 (en) * | 2017-07-28 | 2019-01-31 | Alibaba Group Holding Limited | Data secruity enhancement by model training |
CN111797409A (zh) * | 2020-03-26 | 2020-10-20 | 中南林业科技大学 | 一种大数据中文文本无载体信息隐藏方法 |
Non-Patent Citations (4)
Title |
---|
BO ZHAO;PEIRU FAN;PENGYUAN ZHAO;MINGTAO NI;JINHUI LIU;: "SIV:A Structural Integrity Verification Approach of Cloud Components with Enhanced Privacy", TSINGHUA SCIENCE AND TECHNOLOGY, no. 05, pages 63 - 80 * |
付永贵;马尚才;: "一种改进的对称密钥动态生成算法及应用", 计算机系统应用, no. 06, pages 169 - 172 * |
孟博;鲁金钿;王德军;何旭东;: "安全协议实施安全性分析综述", 山东大学学报(理学版), no. 01, pages 5 - 22 * |
王磊;鲁萌;: "基于用户卡的可信执行环境初始化方案", 电信科学, no. 02, pages 14 - 19 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113536372A (zh) * | 2021-07-07 | 2021-10-22 | 国网上海市电力公司 | 数据处理方法、装置及电子设备 |
CN113449293A (zh) * | 2021-07-14 | 2021-09-28 | 上海交通大学 | 基于可信执行环境的密文搜索系统与方法 |
CN115277078A (zh) * | 2022-06-22 | 2022-11-01 | 抖音视界(北京)有限公司 | 用于处理基因数据的方法、装置、设备和介质 |
WO2023246509A1 (zh) * | 2022-06-22 | 2023-12-28 | 抖音视界(北京)有限公司 | 用于处理基因数据的方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111753312B (zh) | 2023-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bojinov et al. | Kamouflage: Loss-resistant password management | |
KR102493744B1 (ko) | 생체 특징에 기초한 보안 검증 방법, 클라이언트 단말, 및 서버 | |
CN107948152B (zh) | 信息存储方法、获取方法、装置及设备 | |
EP3808049B1 (en) | Systems and methods for authenticated control of content delivery | |
CN109344631B (zh) | 区块链的数据修改及区块验证方法、装置、设备和介质 | |
US20150163065A1 (en) | Identity authentication method and apparatus and server | |
CN114398427A (zh) | 提高专用加密数据的搜索能力 | |
US10142308B1 (en) | User authentication | |
US20170288858A1 (en) | Server apparatus, search system, terminal apparatus, search method, non-transitory computer readable medium storing server program, and non-transitory computer readable medium storing terminal program | |
CN111753312B (zh) | 数据处理方法、装置、设备和系统 | |
EP3937040B1 (en) | Systems and methods for securing login access | |
US10298401B1 (en) | Network content search system and method | |
JP2012164031A (ja) | データ処理装置及びデータ保管装置及びデータ処理方法及びデータ保管方法及びプログラム | |
US11258771B2 (en) | Systems and methods for sending user data from a trusted party to a third party using a distributed registry | |
KR20150045790A (ko) | 신뢰 보안 플랫폼 모듈을 이용한 보안 애플리케이션 인증 및 관리 방법 및 장치 | |
US10615965B1 (en) | Protected search index | |
CN110581835B (zh) | 一种漏洞检测方法、装置及终端设备 | |
CN111767364A (zh) | 数据处理方法、装置和设备 | |
Tu et al. | Privacy‐Preserving Outsourced Auditing Scheme for Dynamic Data Storage in Cloud | |
JP4594078B2 (ja) | 個人情報管理システムおよび個人情報管理プログラム | |
JPWO2017126000A1 (ja) | 暗号化装置、暗号化プログラム及び暗号化方法 | |
CN115801446B (zh) | 基于可信硬件的加密数据库系统 | |
JP2019505009A (ja) | キー付けされたデータベースを用いて維持されるキー付けされたデータの検索と取出し | |
CN110598426B (zh) | 基于信息安全的数据通信方法、装置、设备和存储介质 | |
WO2015107561A1 (ja) | 検索システム、検索方法および検索プログラム |
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 |