CN111737720B - 数据处理方法、装置及电子设备 - Google Patents
数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111737720B CN111737720B CN202010704549.4A CN202010704549A CN111737720B CN 111737720 B CN111737720 B CN 111737720B CN 202010704549 A CN202010704549 A CN 202010704549A CN 111737720 B CN111737720 B CN 111737720B
- Authority
- CN
- China
- Prior art keywords
- data
- index
- service
- key
- encryption
- 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.)
- Active
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本申请属于数据存储领域,具体涉及一种数据处理方法、数据处理装置、计算机可读介质以及电子设备。该数据处理方法包括:响应于针对目标业务的业务数据处理请求,获取用于定位所述目标业务的数据存储位置的数据索引;获取所述数据索引的索引存储类型,所述索引存储类型包括加密索引和非加密索引;若所述数据索引的索引存储类型为加密索引,则获取与所述目标业务相对应的数据密钥,并根据所述数据密钥在与所述数据索引相对应的数据存储位置进行加密数据存取;若所述数据索引的索引类型为非加密索引,则在与所述数据索引相对应的数据存储位置进行非加密数据存取。该方法在提高数据存储安全性的同时可以提高数据检索和分析的便捷性和处理效率。
Description
技术领域
本申请属于数据存储领域,具体涉及一种数据处理方法、数据处理装置、计算机可读介质以及电子设备。
背景技术
随着计算机和互联网技术的发展,为了更好地向用户提供业务功能服务,一般需要在业务平台上建立专用的存储业务数据的数据库并开发出相应的数据搜索和分析引擎。
为了方便数据搜索和分析引擎进行数据处理,在数据库中通常会以明文的形式保存业务数据,其中敏感数据存在被拖库泄露的风险。而如果对业务数据进行无差别地加密存储,则又会对数据的搜索和分析功能产生限制。因此,如何克服业务数据的安全性与处理便捷性之间的矛盾是目前亟待解决的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请的目的在于提供一种数据处理方法、数据处理装置、计算机可读介质以及电子设备,至少在一定程度上克服相关技术中存在的数据安全性差、处理难度大等技术问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种数据处理方法,该方法包括:
响应于针对目标业务的业务数据处理请求,获取用于定位所述目标业务的数据存储位置的数据索引;
获取所述数据索引的索引存储类型,所述索引存储类型包括加密索引和非加密索引;
若所述数据索引的索引存储类型为加密索引,则获取与所述目标业务相对应的数据密钥,并根据所述数据密钥在与所述数据索引相对应的数据存储位置进行加密数据存取;
若所述数据索引的索引类型为非加密索引,则在与所述数据索引相对应的数据存储位置进行非加密数据存取。
根据本申请实施例的一个方面,提供一种数据处理装置,该装置包括:
索引获取模块,被配置为响应于针对目标业务的业务数据处理请求,获取用于定位所述目标业务的数据存储位置的数据索引;
类型获取模块,被配置为获取所述数据索引的索引存储类型,所述索引存储类型包括加密索引和非加密索引;
加密存取模块,被配置为若所述数据索引的索引存储类型为加密索引,则获取与所述目标业务相对应的数据密钥,并根据所述数据密钥在与所述数据索引相对应的数据存储位置进行加密数据存取;
非加密存取模块,被配置为若所述数据索引的索引类型为非加密索引,则在与所述数据索引相对应的数据存储位置进行非加密数据存取。
在本申请的一些实施例中,基于以上技术方案,所述加密存取模块包括:
加密密钥获取单元,被配置为获取由所述目标业务的业务请求方提供的加密密钥;
主密钥获取单元,被配置为获取由密钥管理***提供的主密钥;
数据密钥获取单元,被配置为根据所述主密钥对所述加密密钥进行解密处理以得到与所述目标业务相对应的数据密钥。
在本申请的一些实施例中,基于以上技术方案,所述主密钥获取单元包括:
安全认证子单元,被配置为对当前数据处理节点进行传输层安全认证以得到所述当前数据处理节点的安全认证结果;
主密钥获取子单元,被配置为若所述安全认证结果为认证通过,则获取由所述密钥管理***提供的主密钥。
在本申请的一些实施例中,基于以上技术方案,所述数据密钥获取单元,包括:
第一计数值确定子单元,被配置为将随机数与连续递增的计数器组合得到用于对所述加密密钥进行解密的计数值;
第一伪随机码确定子单元,被配置为根据所述主密钥对所述计数值进行加密处理以得到伪随机码;
第一异或运算子单元,被配置为将所述伪随机码与所述加密密钥进行异或运算以得到与所述目标业务相对应的数据密钥。
在本申请的一些实施例中,基于以上技术方案,所述业务数据处理请求为业务数据存储请求;所述索引获取模块包括:
数据分词单元,被配置为根据所述业务数据存储请求获取待存储的业务数据,并对所述业务数据进行分词处理以得到所述业务数据中的业务单词;
第一索引列表获取单元,被配置为根据所述业务单词的字段类型获取用于表示所述业务单词与所述业务数据之间的映射关系的索引列表;
第一数据索引获取单元,被配置为在所述索引列表中获取用于定位所述目标业务的数据存储位置的数据索引。
在本申请的一些实施例中,基于以上技术方案,所述加密存取模块包括:
业务数据加密单元,被配置为根据所述数据密钥对所述业务数据进行加密处理以得到所述业务数据的密文数据;
加密数据写入单元,被配置为将所述密文数据写入与所述数据索引相对应的数据存储位置。
在本申请的一些实施例中,基于以上技术方案,所述业务数据加密单元包括:
第二计数值确定子单元,被配置为将随机数与连续递增的计数器组合得到用于对所述业务数据进行加密的计数值;
第二伪随机码获取子单元,被配置为根据所述数据密钥对所述计数值进行加密处理以得到伪随机码;
第二异或运算子单元,被配置为将所述伪随机码与所述业务数据进行异或运算以得到所述业务数据的密文数据。
在本申请的一些实施例中,基于以上技术方案,所述加密数据写入单元包括:
第一分片确定子单元,被配置为确定用于存储所述数据索引的主分片以及用于对所述主分片进行备份的副本分片;
主分片写入子单元,被配置为将所述密文数据写入所述主分片所在的主分片存储空间;
副本分片写入子单元,被配置为将所述主分片存储空间中写入的密文数据同步至所述副本分片所在的副本分片存储空间。
在本申请的一些实施例中,基于以上技术方案,所述业务数据处理请求为业务数据搜索请求;所述索引获取模块包括:
关键词获取单元,被配置为根据所述业务数据搜索请求获取待搜索的业务数据的数据关键词;
第二索引列表获取单元,被配置为根据所述数据关键词的字段类型获取用于表示所述数据关键词与所述业务数据之间的映射关系的索引列表;
第二数据索引获取单元,被配置为在所述索引列表中获取用于定位所述目标业务的数据存储位置的数据索引。
在本申请的一些实施例中,基于以上技术方案,所述加密存取模块包括:
密文数据读取单元,被配置为从与所述数据索引相对应的数据存储位置读取密文数据;
密文数据解密单元,被配置为根据所述数据密钥对所述密文数据进行解密处理以得到所述业务数据的明文数据。
在本申请的一些实施例中,基于以上技术方案,所述密文数据读取单元包括:
第二分片确定子单元,被配置为确定用于存储所述数据索引的主分片以及用于对所述主分片进行备份的副本分片;
密文数据读取子单元,被配置为从所述主分片所在的主分片存储空间或者所述副本分片所在的副本分片存储空间读取密文数据。
在本申请的一些实施例中,基于以上技术方案,所述密文数据解密单元包括:
第三计数值确定子单元,被配置为将随机数与连续递增的计数器组合得到用于对所述密文数据进行解密的计数值;
第三伪随机码确定子单元,被配置为根据所述数据密钥对所述计数值进行加密处理以得到伪随机码;
第三异或运算单元,被配置为将所述伪随机码与所述密文数据进行异或运算以得到所述业务数据的明文数据。
在本申请的一些实施例中,基于以上技术方案,所述类型获取模块包括:
类型标识获取单元,被配置为获取所述数据索引的存储类型标识,以确定所述存储类型标识中是否带有加密标识信息;
加密索引单元,被配置为若所述存储类型标识中带有加密标识信息,则确定所述数据索引的索引存储类型为加密索引;
非加密索引单元,被配置为若所述存储类型标识中未携带加密标识信息,则确定所述数据索引的索引存储类型为非加密索引。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的数据处理方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的数据处理方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的数据处理方法。
在本申请实施例提供的技术方案中,通过在数据索引维度上控制业务数据的加密处理并将数据索引分类为加密索引和非加密索引两种类型,可以获得相比于数据文件维度更加精细的加密粒度,在提高数据存储安全性的同时可以提高数据检索和分析的便捷性和处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性地示出了应用本申请技术方案的示例性***架构框图。
图2示意性地示出了本申请实施例在服务器一侧实现数据梳理的业务功能框架。
图3示意性地示出了本申请一些实施例中数据处理方法的步骤流程图。
图4示意性地示出了本申请一些实施例中针对业务数据存储请求获取数据索引的方法步骤流程图。
图5示意性地示出了本申请一些实施例中针对业务数据搜索请求获取数据索引的方法步骤流程图。
图6示意性地示出了本申请实施例在一应用场景中启动数据处理节点(ES节点)的方法步骤流程图。
图7示意性地示出了本申请实施例在一应用场景中初始化索引分片的方法步骤流程图。
图8示意性地示出了本申请实施例在一应用场景中针对加密索引进行数据读写的原理示意图。
图9示意性地示出了本申请实施例提供的数据处理装置的结构框图。
图10示意性示出了适于用来实现本申请实施例的电子设备的计算机***结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示意性地示出了应用本申请技术方案的示例性***架构框图。
如图1所示,***架构100可以包括终端设备110、网络120和服务器130。终端设备110可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种电子设备。服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云计算服务的云服务器。网络120可以是能够在终端设备110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
根据实现需要,本申请实施例中的***架构可以具有任意数目的终端设备、网络和服务器。例如,服务器130可以是由多个服务器设备组成的服务器群组。另外,本申请实施例提供的技术方案可以应用于终端设备110,也可以应用于服务器130,或者可以由终端设备110和服务器130共同实施,本申请对此不做特殊限定。
图2示意性地示出了本申请实施例在服务器一侧实现数据梳理的业务功能框架。如图2所示,该业务功能框架主要可以包括业务层210、接入层220和存储层230。
业务层210中可以配置“零钱通”、“资金流”、“商业贷款”、“商户订单”等各种不同类型的业务功能。业务层210用于连接客户端,接收用户通过客户端发出的业务请求,并对相关业务请求作出响应。
存储层230由多个相互连接的数据处理节点组成,各个数据处理节点可以单独地或者共同地针对业务请求进行数据处理以实现相应的业务功能。
接入层220中可以配置多个代理器Proxy,利用代理器提供的数据接口可以连接业务层210和存储层230。一方面,接入层220可以对经过身份鉴权后的用户业务请求进行检查和过滤,用以减少不合理的业务请求并规避风险。另一方面,接入层220可以对存储层230中的各个数据处理节点进行模块认证,并可以对各个数据处理节点进行负载均衡,从而可以提高数据处理的安全性和可靠性。
下面结合具体实施方式对本申请提供的数据处理方法、数据处理装置、计算机可读介质以及电子设备等技术方案做出详细说明。
图3示意性地示出了本申请一些实施例中数据处理方法的步骤流程图,该数据处理方法可以在服务器上执行。如图3所示,该数据处理方法主要可以包括如下的步骤S310~步骤S340。
步骤S310. 响应于针对目标业务的业务数据处理请求,获取用于定位目标业务的数据存储位置的数据索引。
步骤S320. 获取数据索引的索引存储类型,索引存储类型包括加密索引和非加密索引。
步骤S330. 若数据索引的索引存储类型为加密索引,则获取与目标业务相对应的数据密钥,并根据数据密钥在与数据索引相对应的数据存储位置进行加密数据存取。
步骤S340. 若数据索引的索引类型为非加密索引,则在与数据索引相对应的数据存储位置进行非加密数据存取。
在本申请实施例提供的数据处理方法中,通过在数据索引维度上控制业务数据的加密处理并将数据索引分类为加密索引和非加密索引两种类型,可以获得相比于数据文件维度更加精细的加密粒度,在提高数据存储安全性的同时提高数据检索和分析的便捷性和处理效率。
下面对以上实施例中数据处理方法的各个方法步骤分别进行详细说明。
在步骤S310中,响应于针对目标业务的业务数据处理请求,获取用于定位目标业务的数据存储位置的数据索引。
目标业务是对用户的实际业务需求进行类型划分得到的业务对象,例如可以包括用于实现如图2中所示的业务层中的“零钱通”、“资金流”、“商业贷款”、“商户订单”等业务功能的业务对象。针对不同类型的目标业务,可以在服务器上提供各种不同的数据接口。数据索引(Index)表示一组数据的集合,类比于传统的关系型数据库领域来说,数据索引相当于基于结构化查询语言(Structured Query Language,SQL)的一个数据表,或者一个数据存储方案(Schema)。数据索引可以用于定位目标业务的数据存储位置,该数据存储位置例如可以指向某个或者某几个数据处理节点上的磁盘空间。
根据数据流转方向,可以将业务数据处理请求划分为业务数据存储请求和业务数据搜索请求两种类型。其中,业务数据存储请求用于将业务数据写入指定的或者选定的数据存储位置,而业务数据搜索请求则用于从指定的或者选定的数据存储位置上查找并读取数据。图4和图5分别示出了针对两种不同请求获取数据索引的方法。
图4示意性地示出了本申请一些实施例中针对业务数据存储请求获取数据索引的方法步骤流程图。如图4所示,当业务数据处理请求为业务数据存储请求时,步骤S310中的获取用于定位目标业务的数据存储位置的数据索引,可以包括如下的步骤S410~步骤S430。
步骤S410. 根据业务数据存储请求获取待存储的业务数据,并对业务数据进行分词处理以得到业务数据中的业务单词。
当用户需要存储业务数据时,可以通过客户端生成携带有待存储的业务数据的业务数据存储请求,并将该业务数据存储请求发送至服务器,服务器对业务数据存储请求进行解析后可以从中获取相应的业务数据。待存储的业务数据可以表示为数据文档(Document),类比于关系型数据库,每个数据文档相当于数据库表中的一行数据。数据文档由字段(Field)组成,每个字段在数据文档中以键值对(Key/Value)的形式进行数据保存。服务器在获取到业务数据后,可以对其进行分词处理以得到组成业务数据的业务单词(Term)。
步骤S420. 根据业务单词的字段类型获取用于表示业务单词与业务数据之间的映射关系的索引列表。
由步骤S410对业务数据进行分词处理得到的业务单词可以具有多种不同的字段类型,例如对于一组用户身份信息,可以分词得到对应于姓名、性别、年龄、地址等字段类型的业务单词。其中每种字段类型可以分别创建一个索引列表,以将业务单词与出现该业务单词的业务数据之间建立可供数据查询搜索之用的映射关系。根据每个业务单词的字段类型,可以获取与之对应的索引列表。
步骤S430. 在索引列表中获取用于定位目标业务的数据存储位置的数据索引。
在索引列表中,通过查询业务单词,可以找到与业务单词具有映射关系的业务数据的相关存储信息,该存储信息至少可以包括业务数据的数据标识(ID)和指向其数据存储位置的数据索引(Index)。
通过执行步骤S410~步骤S430可以针对数据存储的应用需求获取用于写入数据的数据存储位置的数据索引。
图5示意性地示出了本申请一些实施例中针对业务数据搜索请求获取数据索引的方法步骤流程图。如图5所示,当业务数据处理请求为业务数据搜索请求时,步骤S310中的获取用于定位目标业务的数据存储位置的数据索引,可以包括如下的步骤S510~步骤S530。
步骤S510. 根据业务数据搜索请求获取待搜索的业务数据的数据关键词。
步骤S520. 根据数据关键词的字段类型获取用于表示数据关键词与业务数据之间的映射关系的索引列表。
步骤S530. 在索引列表中获取用于定位目标业务的数据存储位置的数据索引。
与业务数据存储请求相类似地,针对业务数据搜索请求可以获取用于搜索业务数据的数据关键词,并基于数据关键词获取索引列表,从而可以从索引列表中查找得到指向目标业务的数据存储位置的数据索引。
通过执行步骤S510~步骤S530可以针对数据搜索的应用需求获取用于读取数据的数据存储位置的数据索引。
在步骤S320中,获取数据索引的索引存储类型,索引存储类型包括加密索引和非加密索引。
针对同一种业务类型,可以按照是否需要对数据索引中的数据进行加密,分为加密索引和非加密索引两种索引存储类型。在一些可选的实施方式中,可以从数据索引的存储类型标识上对两种索引存储类型进行区分。如果存储类型标识中带有加密标识信息,则确定数据索引的索引存储类型为加密索引。如果存储类型标识中未携带加密标识信息,则确定数据索引的索引存储类型为非加密索引。例如,针对加密索引,可以在其存储类型标识中添加前缀“encrypt_”来作为加密标识信息。当一个数据索引的存储类型标识中带有该前缀时,便可以确定该数据索引为加密索引,否则可以确定该数据索引为非加密索引。
在步骤S330中,若数据索引的索引存储类型为加密索引,则获取与目标业务相对应的数据密钥,并根据数据密钥在与数据索引相对应的数据存储位置进行加密数据存取。
当数据索引的索引存储类型为加密索引时,代表该数据索引下存储的数据为加密数据。此时,需要对相关业务数据进行加密或者解密处理才能顺利进行业务数据的读写操作。
在本申请实施例中,向业务服务方(服务器)发出业务数据处理请求的业务请求方(用户所在的客户端)可以提供一加密密钥。除业务服务方和业务请求方之外,作为可信第三方的密钥管理***(Key Management System,KMS)可以提供一主密钥,根据主密钥对加密密钥进行解密处理可以得到与目标业务相对应的数据密钥,该数据密钥即可直接用于对业务数据进行加解密。
针对不同类型的目标业务,可以为其配置不同的数据密钥,从而实现密钥隔离。基于此,即便有业务请求方获取到磁盘上存储的业务数据,也只能解密出符合自身业务类型的业务数据,因而可以避免业务数据泄密的问题,保证了业务数据的存储安全性。
在获取由密钥管理***提供的主密钥时,首先可以对当前数据处理节点进行传输层安全认证以得到当前数据处理节点的安全认证结果。例如可以采用TLS双向认证。如果安全认证结果为认证通过,则获取由密钥管理***提供的主密钥。而如果安全认证结果为认证失败,则认为当前数据处理节点不具有密钥获取权限,密钥管理***可以拒绝向该节点提供主密钥。
在本申请的一些实施例中,由主密钥进行的加解密处理可以采用高级加密标准(Advanced Encryption Standard,AES)的计数器加密模式(CounTeR,CTR),CTR模式是一种通过将逐次累加的计数器进行加密来生成密钥流的流密码模式。其中,根据主密钥对加密密钥进行解密处理以得到与目标业务相对应的数据密钥的方法,可以包括如下步骤:将随机数与连续递增的计数器组合得到用于对加密密钥进行解密的计数值;根据主密钥对计数值进行加密处理以得到伪随机码;将伪随机码与加密密钥进行异或运算以得到与目标业务相对应的数据密钥。基于CTR模式进行加密处理可以兼顾数据加密的安全性和加密速度,而且加密前后的数据长度可以保持相同,从而可以在不必进行数据解密的情况下获取加密对象的数据长度信息。
在获取到数据密钥后,可以根据数据密钥在与数据索引相对应的数据存储位置进行加密数据存取。
针对业务数据存储请求进行加密数据存取时,本申请实施例可以先根据数据密钥对业务数据进行加密处理以得到业务数据的密文数据;然后将密文数据写入与数据索引相对应的数据存储位置。
其中,根据数据密钥对业务数据进行加密处理以得到业务数据的密文数据的方法可以包括:将随机数与连续递增的计数器组合得到用于对业务数据进行加密的计数值;根据数据密钥对计数值进行加密处理以得到伪随机码;将伪随机码与业务数据进行异或运算以得到业务数据的密文数据。
由数据密钥对业务数据进行的加密处理,采用了与主密钥相同的基于CTR模式的加密算法,避免了在同一数据处理节点上布局多套加密算法的问题,降低了数据加解密的计算成本。
为了进一步提高数据存储的安全性,在数据处理节点上还可以通过分片的方式对业务数据进行分布式存储。具体可以先确定用于存储数据索引的主分片以及用于对主分片进行备份的副本分片;然后将密文数据写入主分片所在的主分片存储空间;再将主分片存储空间中写入的密文数据同步至副本分片所在的副本分片存储空间。分片(Shard)是对数据索引进行数据分解后得到的对应于不同数据存储位置的数据存储对象。一个主分片可以对应于一个或者多个副本分片,而且主分片与副本分片可以分布在不同的数据处理节点上,从而可以提高数据存储的安全性。
针对数据搜索请求进行加密数据存取时,本申请实施例可以先从与数据索引相对应的数据存储位置读取密文数据;然后根据数据密钥对密文数据进行解密处理以得到业务数据的明文数据。
基于以上实施例中通过分片的方式对业务数据进行分布式存储,本申请实施例在从与数据索引相对应的数据存储位置读取密文数据时,可以先确定用于存储数据索引的主分片以及用于对主分片进行备份的副本分片;然后从主分片所在的主分片存储空间或者副本分片所在的副本分片存储空间读取密文数据。
在读取得到密文数据后,对其进行解密处理可以得到业务数据的明文数据。与以上实施例中基于CTR模式的加密算法相对应的,本申请实施例中根据数据密钥对密文数据进行解密处理以得到业务数据的明文数据的方法可以包括如下步骤:将随机数与连续递增的计数器组合得到用于对密文数据进行解密的计数值;根据数据密钥对计数值进行加密处理以得到伪随机码;将伪随机码与密文数据进行异或运算以得到业务数据的明文数据。
下面结合具体应用场景对以上实施例中提供的数据处理方法进行详细说明。在以下应用场景中,主要以基于Lucene的搜索服务器Elasticsearch(简称ES)作为示例进行说明,但本申请并不以此为限。实际上,本申请提供的数据处理方法可以根据实际需要应用于各种数据搜索和分析引擎中。
在ES中通过索引存储模块(IndexStore)可以实现数据的存储和读取,可以提供目录和文件服务。本申请通过重写IndexStore模块可以得到加密索引存储模块(EncryptIndexStore),用以提供加密的目录和文件服务。当数据从内存中写入磁盘上时,通过索引写入模块(IndexOutput)可以对数据进行加密后再写入磁盘;反过来,当数据从磁盘中读入内存时,通过索引读取模块(IndexInput)可以先对数据解密再读入内存中。这样即可实现,数据在磁盘上是密文,在内存中是明文,并且由于内存中是明文,ES的索引和搜索功能均不受影响,对业务侧来说完全透明,对数据是否加密无感知。
ES自身拥有多种存储类型,也提供丰富的插件形式加载用户自定义存储类型。本申请复用了此字段及其插件形式,以现有存储类型加上encrypt_前缀的方式注册加密索引存储类EncryptIndexStore,即实现了当配置的存储类型以encypt_为前缀,则使用EncryptIndexStore对数据进行落盘加密读盘解密的方案。
基于ES节点进行数据加密读写的方案,整体可以包括三个流程阶段,即:ES节点启动后首先从密钥管理***拉取主密钥,然后根据配置信息初始化索引分片,最后按索引维度读写加密数据文件。具体而言,可以包括节点启动阶段、初始化索引分片阶段和数据读写阶段三个部分。
流程1:节点启动阶段。
图6示意性地示出了本申请实施例在一应用场景中启动数据处理节点(ES节点)的方法步骤流程图。如图6所示,节点启动阶段包括如下的步骤S610~步骤S630。
步骤S610. 加载插件,注册存储类型以encrypt_为前缀的EncryptIndexStore。
步骤S620. 连接KMS***,由KMS***处获取主密钥。
步骤S630. 将主密钥保存于内存中。
流程2:初始化索引分片阶段。
图7示意性地示出了本申请实施例在一应用场景中初始化索引分片的方法步骤流程图。如图7所示,初始化索引分片阶段包括如下步骤。
步骤S710. 获取索引的存储类型store type。
步骤S720. 判断存储类型是否为加密前缀类型。若存储类型不是加密前缀类型,则继续执行步骤S731,以进行不加密索引。若存储类型是加密前缀类型,则跳转执行步骤S741,以进行加密索引。
步骤S731. 生成默认的索引存储类IndexStore。
步骤S732. 生成提供文件目录服务的数据存储类FSDirectory。基于文件目录服务创建文件写入类IndexOutput和文件读取类IndexInput。
步骤S741. 生成指定的加密索引存储类EncryptIndexStore。
步骤S742. 读取索引的数据密钥,生成加解密工具包util。
步骤S743. 生成用于提供可加密的文件目录服务的数据存储类Directory。基于文件目录服务创建可加密的文件写入类EncryptIndexOutput和可解密的文件读取类EncryptIndexInput。
流程3:数据读写阶段。
图8示意性地示出了本申请实施例在一应用场景中针对加密索引进行数据读写的原理示意图。如图8所示,以加密索引为例进行的数据读写阶段包括了数据加密写入和数据解密读取两个部分。
针对数据加密写入部分,首先可以通过分词服务Analysis对待写入的文档Document进行分词处理,然后基于写索引服务Index确定对应的数据索引。针对数据解密读取部分,可以基于查询请求Query和搜索服务Search确定对应的数据索引。
通过文件目录服务Directory可以调用相应的可加密的文件写入类EncyptEncryptIndexOutput和可解密的文件读取类EncryptIndexInput,从而可以实现对数据的加密写入和解密读取。加解密工具包Util可以对数据进行加解密得到相应的密文数据EncryptData和明文数据DecryptData。在数据落盘部分,具体通过写数据函数WriteByte()和读数据函数ReadByte()进行数据文件在文件***(磁盘)中的读取和写入。
本申请填补了ES中存储加密的空白,给ES生态增加了透明数据加密能力,增加加解密操作后对ES读写性能影响控制在3%内,在提高数据安全性的同时,避免了数据加解密对数据读写性能的影响。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的数据处理方法。图9示意性地示出了本申请实施例提供的数据处理装置的结构框图。如图9所示,数据处理装置900主要可以包括:
索引获取模块910,被配置为响应于针对目标业务的业务数据处理请求,获取用于定位目标业务的数据存储位置的数据索引;
类型获取模块920,被配置为获取数据索引的索引存储类型,索引存储类型包括加密索引和非加密索引;
加密存取模块930,被配置为若数据索引的索引存储类型为加密索引,则获取与目标业务相对应的数据密钥,并根据数据密钥在与数据索引相对应的数据存储位置进行加密数据存取;
非加密存取模块940,被配置为若数据索引的索引类型为非加密索引,则在与数据索引相对应的数据存储位置进行非加密数据存取。
在本申请的一些实施例中,基于以上各实施例,加密存取模块包括:
加密密钥获取单元,被配置为获取由目标业务的业务请求方提供的加密密钥;
主密钥获取单元,被配置为获取由密钥管理***提供的主密钥;
数据密钥获取单元,被配置为根据主密钥对加密密钥进行解密处理以得到与目标业务相对应的数据密钥。
在本申请的一些实施例中,基于以上各实施例,主密钥获取单元包括:
安全认证子单元,被配置为对当前数据处理节点进行传输层安全认证以得到当前数据处理节点的安全认证结果;
主密钥获取子单元,被配置为若安全认证结果为认证通过,则获取由密钥管理***提供的主密钥。
在本申请的一些实施例中,基于以上各实施例,数据密钥获取单元,包括:
第一计数值确定子单元,被配置为将随机数与连续递增的计数器组合得到用于对加密密钥进行解密的计数值;
第一伪随机码确定子单元,被配置为根据主密钥对计数值进行加密处理以得到伪随机码;
第一异或运算子单元,被配置为将伪随机码与加密密钥进行异或运算以得到与目标业务相对应的数据密钥。
在本申请的一些实施例中,基于以上各实施例,业务数据处理请求为业务数据存储请求;索引获取模块包括:
数据分词单元,被配置为根据业务数据存储请求获取待存储的业务数据,并对业务数据进行分词处理以得到业务数据中的业务单词;
第一索引列表获取单元,被配置为根据业务单词的字段类型获取用于表示业务单词与业务数据之间的映射关系的索引列表;
第一数据索引获取单元,被配置为在索引列表中获取用于定位目标业务的数据存储位置的数据索引。
在本申请的一些实施例中,基于以上各实施例,加密存取模块包括:
业务数据加密单元,被配置为根据数据密钥对业务数据进行加密处理以得到业务数据的密文数据;
加密数据写入单元,被配置为将密文数据写入与数据索引相对应的数据存储位置。
在本申请的一些实施例中,基于以上各实施例,业务数据加密单元包括:
第二计数值确定子单元,被配置为将随机数与连续递增的计数器组合得到用于对业务数据进行加密的计数值;
第二伪随机码获取子单元,被配置为根据数据密钥对计数值进行加密处理以得到伪随机码;
第二异或运算子单元,被配置为将伪随机码与业务数据进行异或运算以得到业务数据的密文数据。
在本申请的一些实施例中,基于以上各实施例,加密数据写入单元包括:
第一分片确定子单元,被配置为确定用于存储数据索引的主分片以及用于对主分片进行备份的副本分片;
主分片写入子单元,被配置为将密文数据写入主分片所在的主分片存储空间;
副本分片写入子单元,被配置为将主分片存储空间中写入的密文数据同步至副本分片所在的副本分片存储空间。
在本申请的一些实施例中,基于以上各实施例,业务数据处理请求为业务数据搜索请求;索引获取模块包括:
关键词获取单元,被配置为根据业务数据搜索请求获取待搜索的业务数据的数据关键词;
第二索引列表获取单元,被配置为根据数据关键词的字段类型获取用于表示数据关键词与业务数据之间的映射关系的索引列表;
第二数据索引获取单元,被配置为在索引列表中获取用于定位目标业务的数据存储位置的数据索引。
在本申请的一些实施例中,基于以上各实施例,加密存取模块包括:
密文数据读取单元,被配置为从与数据索引相对应的数据存储位置读取密文数据;
密文数据解密单元,被配置为根据数据密钥对密文数据进行解密处理以得到业务数据的明文数据。
在本申请的一些实施例中,基于以上各实施例,密文数据读取单元包括:
第二分片确定子单元,被配置为确定用于存储数据索引的主分片以及用于对主分片进行备份的副本分片;
密文数据读取子单元,被配置为从主分片所在的主分片存储空间或者副本分片所在的副本分片存储空间读取密文数据。
在本申请的一些实施例中,基于以上各实施例,密文数据解密单元包括:
第三计数值确定子单元,被配置为将随机数与连续递增的计数器组合得到用于对密文数据进行解密的计数值;
第三伪随机码确定子单元,被配置为根据数据密钥对计数值进行加密处理以得到伪随机码;
第三异或运算单元,被配置为将伪随机码与密文数据进行异或运算以得到业务数据的明文数据。
在本申请的一些实施例中,基于以上各实施例,类型获取模块包括:
类型标识获取单元,被配置为获取数据索引的存储类型标识,以确定存储类型标识中是否带有加密标识信息;
加密索引单元,被配置为若存储类型标识中带有加密标识信息,则确定数据索引的索引存储类型为加密索引;
非加密索引单元,被配置为若存储类型标识中未携带加密标识信息,则确定数据索引的索引存储类型为非加密索引。
本申请各实施例中提供的数据处理装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图10示意性地示出了用于实现本申请实施例的电子设备的计算机***结构框图。
需要说明的是,图10示出的电子设备的计算机***1000仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,计算机***1000包括中央处理器1001(Central Processing Unit,CPU),其可以根据存储在只读存储器1002(Read-Only Memory,ROM)中的程序或者从存储部分1008加载到随机访问存储器1003(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1003中,还存储有***操作所需的各种程序和数据。中央处理器1001、在只读存储器1002以及随机访问存储器1003通过总线1004彼此相连。输入/输出接口1005(Input /Output接口,即I/O接口)也连接至总线1004。
以下部件连接至输入/输出接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至输入/输出接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理器1001执行时,执行本申请的***中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (28)
1.一种数据处理方法,其特征在于,包括:
响应于针对目标业务的业务数据处理请求,获取用于定位所述目标业务的数据存储位置的数据索引,所述数据索引是从与业务单词/搜索关键词的字段类型相对应的索引列表中获取得到的,所述索引列表用于表示所述业务单词/搜索关键词与业务数据的映射关系;
获取所述数据索引的索引存储类型,所述索引存储类型包括加密索引和非加密索引;
若所述数据索引的索引存储类型为加密索引,则获取与所述目标业务相对应的数据密钥,并根据所述数据密钥在与所述数据索引相对应的数据存储位置进行加密数据存取,所述数据密钥是根据主密钥对所述目标业务的业务请求方的加密密钥进行解密处理得到的,所述数据存储位置为磁盘,所述加密数据在所述磁盘上为密文;当从所述磁盘向内存中读取所述加密数据时,根据所述数据密钥将所述加密数据解密为明文;
若所述数据索引的索引类型为非加密索引,则在与所述数据索引相对应的数据存储位置进行非加密数据存取。
2.根据权利要求1所述的数据处理方法,其特征在于,所述获取与所述目标业务相对应的数据密钥,包括:
获取由所述目标业务的业务请求方提供的加密密钥;
获取由密钥管理***提供的主密钥;
根据所述主密钥对所述加密密钥进行解密处理以得到与所述目标业务相对应的数据密钥。
3.根据权利要求2所述的数据处理方法,其特征在于,所述获取由密钥管理***提供的主密钥,包括:
对当前数据处理节点进行传输层安全认证以得到所述当前数据处理节点的安全认证结果;
若所述安全认证结果为认证通过,则获取由所述密钥管理***提供的主密钥。
4.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述主密钥对所述加密密钥进行解密处理以得到与所述目标业务相对应的数据密钥,包括:
将随机数与连续递增的计数器组合得到用于对所述加密密钥进行解密的计数值;
根据所述主密钥对所述计数值进行加密处理以得到伪随机码;
将所述伪随机码与所述加密密钥进行异或运算以得到与所述目标业务相对应的数据密钥。
5.根据权利要求1所述的数据处理方法,其特征在于,所述业务数据处理请求为业务数据存储请求;所述获取用于定位所述目标业务的数据存储位置的数据索引,包括:
根据所述业务数据存储请求获取待存储的业务数据,并对所述业务数据进行分词处理以得到所述业务数据中的业务单词;
根据所述业务单词的字段类型获取用于表示所述业务单词与所述业务数据之间的映射关系的索引列表;
在所述索引列表中获取用于定位所述目标业务的数据存储位置的数据索引。
6.根据权利要求5所述的数据处理方法,其特征在于,所述根据所述数据密钥在与所述数据索引相对应的数据存储位置进行加密数据存取,包括:
根据所述数据密钥对所述业务数据进行加密处理以得到所述业务数据的密文数据;
将所述密文数据写入与所述数据索引相对应的数据存储位置。
7.根据权利要求6所述的数据处理方法,其特征在于,所述根据所述数据密钥对所述业务数据进行加密处理以得到所述业务数据的密文数据,包括:
将随机数与连续递增的计数器组合得到用于对所述业务数据进行加密的计数值;
根据所述数据密钥对所述计数值进行加密处理以得到伪随机码;
将所述伪随机码与所述业务数据进行异或运算以得到所述业务数据的密文数据。
8.根据权利要求6所述的数据处理方法,其特征在于,所述将所述密文数据写入与所述数据索引相对应的数据存储位置,包括:
确定用于存储所述数据索引的主分片以及用于对所述主分片进行备份的副本分片;
将所述密文数据写入所述主分片所在的主分片存储空间;
将所述主分片存储空间中写入的密文数据同步至所述副本分片所在的副本分片存储空间。
9.根据权利要求1所述的数据处理方法,其特征在于,所述业务数据处理请求为业务数据搜索请求;所述获取用于定位所述目标业务的数据存储位置的数据索引,包括:
根据所述业务数据搜索请求获取待搜索的业务数据的数据关键词;
根据所述数据关键词的字段类型获取用于表示所述数据关键词与所述业务数据之间的映射关系的索引列表;
在所述索引列表中获取用于定位所述目标业务的数据存储位置的数据索引。
10.根据权利要求9所述的数据处理方法,其特征在于,所述根据所述数据密钥在与所述数据索引相对应的数据存储位置进行加密数据存取,包括:
从与所述数据索引相对应的数据存储位置读取密文数据;
根据所述数据密钥对所述密文数据进行解密处理以得到所述业务数据的明文数据。
11.根据权利要求10所述的数据处理方法,其特征在于,所述从与所述数据索引相对应的数据存储位置读取密文数据,包括:
确定用于存储所述数据索引的主分片以及用于对所述主分片进行备份的副本分片;
从所述主分片所在的主分片存储空间或者所述副本分片所在的副本分片存储空间读取密文数据。
12.根据权利要求10所述的数据处理方法,其特征在于,所述根据所述数据密钥对所述密文数据进行解密处理以得到所述业务数据的明文数据,包括:
将随机数与连续递增的计数器组合得到用于对所述密文数据进行解密的计数值;
根据所述数据密钥对所述计数值进行加密处理以得到伪随机码;
将所述伪随机码与所述密文数据进行异或运算以得到所述业务数据的明文数据。
13.根据权利要求1至12中任意一项所述的数据处理方法,其特征在于,所述获取所述数据索引的索引存储类型,包括:
获取所述数据索引的存储类型标识,以确定所述存储类型标识中是否带有加密标识信息;
若所述存储类型标识中带有加密标识信息,则确定所述数据索引的索引存储类型为加密索引;
若所述存储类型标识中未携带加密标识信息,则确定所述数据索引的索引存储类型为非加密索引。
14.一种数据处理装置,其特征在于,包括:
索引获取模块,被配置为响应于针对目标业务的业务数据处理请求,获取用于定位所述目标业务的数据存储位置的数据索引,所述数据索引是从与业务单词/搜索关键词的字段类型相对应的索引列表中获取得到的,所述索引列表用于表示所述业务单词/搜索关键词与业务数据的映射关系;
类型获取模块,被配置为获取所述数据索引的索引存储类型,所述索引存储类型包括加密索引和非加密索引;
加密存取模块,被配置为若所述数据索引的索引存储类型为加密索引,则获取与所述目标业务相对应的数据密钥,并根据所述数据密钥在与所述数据索引相对应的数据存储位置进行加密数据存取,数据在磁盘上是密文,在内存中是明文,所述数据密钥是根据主密钥对所述目标业务的业务请求方的加密密钥进行解密处理得到的,所述数据存储位置为磁盘,所述加密数据在所述磁盘上为密文;当从所述磁盘向内存中读取所述加密数据时,根据所述数据密钥将所述加密数据解密为明文;
非加密存取模块,被配置为若所述数据索引的索引类型为非加密索引,则在与所述数据索引相对应的数据存储位置进行非加密数据存取。
15.根据权利要求14所述的数据处理装置,其特征在于,所述加密存取模块包括:
加密密钥获取单元,被配置为获取由所述目标业务的业务请求方提供的加密密钥;
主密钥获取单元,被配置为获取由密钥管理***提供的主密钥;
数据密钥获取单元,被配置为根据所述主密钥对所述加密密钥进行解密处理以得到与所述目标业务相对应的数据密钥。
16.根据权利要求15所述的数据处理装置,其特征在于,所述主密钥获取单元包括:
安全认证子单元,被配置为对当前数据处理节点进行传输层安全认证以得到所述当前数据处理节点的安全认证结果;
主密钥获取子单元,被配置为若所述安全认证结果为认证通过,则获取由所述密钥管理***提供的主密钥。
17.根据权利要求15所述的数据处理装置,其特征在于,所述数据密钥获取单元,包括:
第一计数值确定子单元,被配置为将随机数与连续递增的计数器组合得到用于对所述加密密钥进行解密的计数值;
第一伪随机码确定子单元,被配置为根据所述主密钥对所述计数值进行加密处理以得到伪随机码;
第一异或运算子单元,被配置为将所述伪随机码与所述加密密钥进行异或运算以得到与所述目标业务相对应的数据密钥。
18.根据权利要求14所述的数据处理装置,其特征在于,所述业务数据处理请求为业务数据存储请求;所述索引获取模块包括:
数据分词单元,被配置为根据所述业务数据存储请求获取待存储的业务数据,并对所述业务数据进行分词处理以得到所述业务数据中的业务单词;
第一索引列表获取单元,被配置为根据所述业务单词的字段类型获取用于表示所述业务单词与所述业务数据之间的映射关系的索引列表;
第一数据索引获取单元,被配置为在所述索引列表中获取用于定位所述目标业务的数据存储位置的数据索引。
19.根据权利要求18所述的数据处理装置,其特征在于,所述加密存取模块包括:
业务数据加密单元,被配置为根据所述数据密钥对所述业务数据进行加密处理以得到所述业务数据的密文数据;
加密数据写入单元,被配置为将所述密文数据写入与所述数据索引相对应的数据存储位置。
20.根据权利要求19所述的数据处理装置,其特征在于,所述业务数据加密单元包括:
第二计数值确定子单元,被配置为将随机数与连续递增的计数器组合得到用于对所述业务数据进行加密的计数值;
第二伪随机码获取子单元,被配置为根据所述数据密钥对所述计数值进行加密处理以得到伪随机码;
第二异或运算子单元,被配置为将所述伪随机码与所述业务数据进行异或运算以得到所述业务数据的密文数据。
21.根据权利要求19所述的数据处理装置,其特征在于,所述加密数据写入单元包括:
第一分片确定子单元,被配置为确定用于存储所述数据索引的主分片以及用于对所述主分片进行备份的副本分片;
主分片写入子单元,被配置为将所述密文数据写入所述主分片所在的主分片存储空间;
副本分片写入子单元,被配置为将所述主分片存储空间中写入的密文数据同步至所述副本分片所在的副本分片存储空间。
22.根据权利要求14所述的数据处理装置,其特征在于,所述业务数据处理请求为业务数据搜索请求;所述索引获取模块包括:
关键词获取单元,被配置为根据所述业务数据搜索请求获取待搜索的业务数据的数据关键词;
第二索引列表获取单元,被配置为根据所述数据关键词的字段类型获取用于表示所述数据关键词与所述业务数据之间的映射关系的索引列表;
第二数据索引获取单元,被配置为在所述索引列表中获取用于定位所述目标业务的数据存储位置的数据索引。
23.根据权利要求22所述的数据处理装置,其特征在于,所述加密存取模块包括:
密文数据读取单元,被配置为从与所述数据索引相对应的数据存储位置读取密文数据;
密文数据解密单元,被配置为根据所述数据密钥对所述密文数据进行解密处理以得到所述业务数据的明文数据。
24.根据权利要求23所述的数据处理装置,其特征在于,所述密文数据读取单元包括:
第二分片确定子单元,被配置为确定用于存储所述数据索引的主分片以及用于对所述主分片进行备份的副本分片;
密文数据读取子单元,被配置为从所述主分片所在的主分片存储空间或者所述副本分片所在的副本分片存储空间读取密文数据。
25.根据权利要求23所述的数据处理装置,其特征在于,所述密文数据解密单元包括:
第三计数值确定子单元,被配置为将随机数与连续递增的计数器组合得到用于对所述密文数据进行解密的计数值;
第三伪随机码确定子单元,被配置为根据所述数据密钥对所述计数值进行加密处理以得到伪随机码;
第三异或运算单元,被配置为将所述伪随机码与所述密文数据进行异或运算以得到所述业务数据的明文数据。
26.根据权利要求14至23中任意一项所述的数据处理装置,其特征在于,所述类型获取模块包括:
类型标识获取单元,被配置为获取所述数据索引的存储类型标识,以确定所述存储类型标识中是否带有加密标识信息;
加密索引单元,被配置为若所述存储类型标识中带有加密标识信息,则确定所述数据索引的索引存储类型为加密索引;
非加密索引单元,被配置为若所述存储类型标识中未携带加密标识信息,则确定所述数据索引的索引存储类型为非加密索引。
27.一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1至13中任意一项所述的数据处理方法。
28.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至13中任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010704549.4A CN111737720B (zh) | 2020-07-21 | 2020-07-21 | 数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010704549.4A CN111737720B (zh) | 2020-07-21 | 2020-07-21 | 数据处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737720A CN111737720A (zh) | 2020-10-02 |
CN111737720B true CN111737720B (zh) | 2022-03-25 |
Family
ID=72655268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010704549.4A Active CN111737720B (zh) | 2020-07-21 | 2020-07-21 | 数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737720B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343265B (zh) * | 2021-06-25 | 2022-11-11 | 海光信息技术股份有限公司 | 一种密钥配置方法、装置和相关设备 |
CN113626524A (zh) * | 2021-08-12 | 2021-11-09 | 浙江网商银行股份有限公司 | 数据处理方法及装置、数据核对*** |
CN113742289B (zh) * | 2021-09-02 | 2023-10-31 | 中金金融认证中心有限公司 | 一种用于文件***的装置及对文件***进行操作的方法 |
CN117707414A (zh) * | 2022-09-06 | 2024-03-15 | 成都华为技术有限公司 | 数据处理方法及装置 |
CN116050698A (zh) * | 2023-03-10 | 2023-05-02 | 山东铁路投资控股集团有限公司 | 铁路建设大数据管理方法、装置、设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377562A (zh) * | 2010-08-25 | 2012-03-14 | 程碧波 | 加密方法及装置 |
CN105653973A (zh) * | 2015-12-16 | 2016-06-08 | 金蝶软件(中国)有限公司 | 基于业务平台的数据加密方法和装置 |
CN106302449A (zh) * | 2016-08-15 | 2017-01-04 | 中国科学院信息工程研究所 | 一种密文存储与密文检索开放云服务方法和*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2885732B1 (en) * | 2012-08-15 | 2018-04-04 | Visa International Service Association | Searchable encrypted data |
EP2709306B1 (en) * | 2012-09-14 | 2019-03-06 | Alcatel Lucent | Method and system to perform secure boolean search over encrypted documents |
CN103593476B (zh) * | 2013-11-28 | 2017-01-25 | 中国科学院信息工程研究所 | 一种面向云存储的多关键词明密文检索方法和*** |
US9501661B2 (en) * | 2014-06-10 | 2016-11-22 | Salesforce.Com, Inc. | Systems and methods for implementing an encrypted search index |
DE102016224470A1 (de) * | 2016-12-08 | 2018-06-14 | Bundesdruckerei Gmbh | Server-Computersystem zur Bereitstellung von Datensätzen |
CN108038128B (zh) * | 2017-11-08 | 2020-02-14 | 平安科技(深圳)有限公司 | 一种加密文件的检索方法、***、终端设备及存储介质 |
US11893127B2 (en) * | 2018-12-21 | 2024-02-06 | Acronis International Gmbh | System and method for indexing and searching encrypted archives |
-
2020
- 2020-07-21 CN CN202010704549.4A patent/CN111737720B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377562A (zh) * | 2010-08-25 | 2012-03-14 | 程碧波 | 加密方法及装置 |
CN105653973A (zh) * | 2015-12-16 | 2016-06-08 | 金蝶软件(中国)有限公司 | 基于业务平台的数据加密方法和装置 |
CN106302449A (zh) * | 2016-08-15 | 2017-01-04 | 中国科学院信息工程研究所 | 一种密文存储与密文检索开放云服务方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN111737720A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737720B (zh) | 数据处理方法、装置及电子设备 | |
US11726993B1 (en) | Systems and methods for cryptographically-secure queries using filters generated by multiple parties | |
CN107408135B (zh) | 用于对加密数据进行查询处理的数据库服务器和客户端 | |
US9576005B2 (en) | Search system | |
CN107209787B (zh) | 提高专用加密数据的搜索能力 | |
US10541983B1 (en) | Secure storage and searching of information maintained on search systems | |
US8447983B1 (en) | Token exchange | |
US9881164B1 (en) | Securing data | |
US20230014599A1 (en) | Data processing method and apparatus for blockchain system | |
US11507683B2 (en) | Query processing with adaptive risk decisioning | |
CN107077469B (zh) | 服务器装置、检索***、终端装置以及检索方法 | |
US8769302B2 (en) | Encrypting data and characterization data that describes valid contents of a column | |
US11475121B2 (en) | Confidential information processing system and confidential information processing method | |
US20190260715A1 (en) | Computer system, connection apparatus, and processing method using transaction | |
JP2009510616A (ja) | データベース内の機密データを保護するためのシステム及び方法 | |
US11394764B2 (en) | System and method for anonymously transmitting data in a network | |
CN113498602A (zh) | 聚合加密的网络值 | |
CN116304228A (zh) | 基于区块链的数据存储方法、装置、设备和介质 | |
Sreelatha et al. | Integrity and memory consumption aware electronic health record handling in cloud | |
Kaci et al. | Toward a big data approach for indexing encrypted data in cloud computing | |
EP3742320A1 (en) | Method and system for granting access to data in an immutable ledger system | |
US11032081B1 (en) | System and method for authorizing secondary users to access a primary user's account using blockchain | |
CN116049783A (zh) | 一种基于安全硬件载体的企业票据管理方法及*** | |
JP2022141962A (ja) | データの照会と書き込み方法、装置、電子機器、読み取り可能な記憶媒体およびコンピュータプログラム | |
EP3716124A1 (en) | System and method of transmitting confidential data |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40031301 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |