CN108076034A - 加解密数据的方法、装置及系统 - Google Patents

加解密数据的方法、装置及系统 Download PDF

Info

Publication number
CN108076034A
CN108076034A CN201611042635.3A CN201611042635A CN108076034A CN 108076034 A CN108076034 A CN 108076034A CN 201611042635 A CN201611042635 A CN 201611042635A CN 108076034 A CN108076034 A CN 108076034A
Authority
CN
China
Prior art keywords
compression
key
data
intermediate data
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.)
Pending
Application number
CN201611042635.3A
Other languages
English (en)
Inventor
沈国权
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201611042635.3A priority Critical patent/CN108076034A/zh
Publication of CN108076034A publication Critical patent/CN108076034A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例公开了一种加解密数据的方法、装置及系统,涉及计算机技术领域,所述方法应用于Hadoop系统,所述方法包括:将所述系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据;将所述密文数据传输到所述系统中的执行Reduce任务的客户端;对所述密文数据进行解密处理,以还原得到所述中间数据;对所述中间数据进行Reduce处理。该实施方式避免了中间数据在存储与传输过程中,被恶意盗取,因此,避免了数据信息的泄露,提高了Hadoop系统中数据信息的安全性。

Description

加解密数据的方法、装置及系统
技术领域
本申请涉及计算机软件技术领域,尤其涉及加解密数据的方法、装置及系统。
背景技术
Hadoop系统能够通过MapReduce对大量数据进行分布式处理,Hadoop系统作为一种分布式数据存储和计算工具已经越来越多地被各行各业运用于生产环境中。随着Hadoop的广泛应用,Hadoop系统中数据信息的安全性也变得越来越重要。一般来说,在执行MapReduce任务时,首先,在执行Map任务的客户端执行Map任务,并输出中间数据,将该中间数据保存至本地的一个文件中。执行Reduce任务的客户端首先需要从执行Map任务的客户端存储的数据中获取中间数据,然后进一步对中间数据进行Reduce处理。其中,在上述处理过程中的中间数据为明文数据,因此,在中间数据的存储与传输过程中,均有可能被恶意人员获取,从而导致数据信息被泄露,降低了Hadoop系统中数据信息的安全性。
发明内容
为了解决上述技术问题,本申请实施例提供了一种加解密数据的方法、装置及系统。
根据本申请实施例的第一方面,提供一种加解密数据的方法,所述方法应用于Hadoop系统,所述方法包括:
将所述系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据;
将所述密文数据传输到所述系统中的执行Reduce任务的客户端;
对所述密文数据进行解密处理,以还原得到所述中间数据;
对所述中间数据进行Reduce处理。
可选的,所述将所述系统中执行Map任务的客户端输出的中间数据进行加密处理,包括:
通过所述系统的压缩和解压缩框架将所述中间数据进行加密处理;
所述对所述密文数据进行解密处理,包括:
通过所述系统的压缩和解压缩框架对所述密文数据进行解密处理。
可选的,所述通过所述系统的压缩和解压缩框架将所述中间数据进行加密处理,包括:
获取密钥;
确定对所述中间数据进行压缩;
获取压缩的实现类,所述压缩的实现类采用了预先注册的加解密算法;
基于所述密钥通过继承于压缩接口的加密接口执行所述压缩的实现类,以对所述中间数据进行加密处理。
可选的,所述获取密钥,包括:
获取存储所述密钥的文件作为目标文件;
获取所述密钥的标识信息以及验证码;
根据所述密钥的标识信息以及验证码,从所述目标文件中获取所述密钥。
可选的,所述获取所述密钥的标识信息以及验证码,包括:
获取预设的任务配置文件中凭证项对应的配置参数;
根据所述凭证项对应的配置参数确定所述密钥的标识信息以及验证码。
可选的,所述确定对所述中间数据进行压缩,包括:
获取预设的任务配置文件中的压缩和解压缩开启项对应的配置参数;
在所述压缩和解压缩开启项对应的配置参数的指示下确定对所述中间数据进行压缩。
可选的,所述获取压缩的实现类,包括:
从预设的任务配置文件中获取压缩和解压缩类的设置项对应的配置参数;
根据所述压缩和解压缩类的设置项对应的配置参数确定压缩的实现类的名称;
从预设的全局配置文件中获取压缩和解压缩的方式设置项对应的配置参数;
根据所述压缩的实现类的名称,从所述压缩和解压缩的方式设置项对应的配置参数中获取所述压缩的实现类的路径;
按照所述压缩的实现类的路径获取压缩的实现类。
可选的,所述通过所述系统的压缩和解压缩框架对所述密文数据进行解密处理,包括:
获取密钥;
确定对所述密文数据进行解压缩;
获取解压缩的实现类,所述解压缩的实现类采用了预先注册的加解密算法;
基于所述密钥通过继承于解压缩接口的解密接口执行所述解压缩的实现类,以对所述密文数据进行解密处理。
根据本申请实施例的第二方面,提供一种加解密数据的装置,所述装置应用于Hadoop系统,所述装置包括:
加密单元,被配置为将所述系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据;
传输单元,被配置为将所述密文数据传输到所述系统中的执行Reduce任务的客户端;
解密单元,被配置为对所述密文数据进行解密处理,以还原得到所述中间数据;
处理单元,被配置为对所述中间数据进行Reduce处理。
可选的,所述加密单元被配置用于:
通过所述系统的压缩和解压缩框架将所述中间数据进行加密处理;
所述解密单元被配置用于:
通过所述系统的压缩和解压缩框架对所述密文数据进行解密处理。
可选的,所述加密单元包括:
第一获取子单元,被配置为获取密钥;
第一确定子单元,被配置为确定对所述中间数据进行压缩;
第二获取子单元,被配置为获取压缩的实现类,所述压缩的实现类采用了预先注册的加解密算法;
第一加密子单元,被配置为基于所述密钥通过继承于压缩接口的加密接口执行所述压缩的实现类,以对所述中间数据进行加密处理。
可选的,所述第一获取子单元包括:
文件获取子单元,被配置为获取存储所述密钥的文件作为目标文件;
信息获取子单元,被配置为获取所述密钥的标识信息以及验证码;
密钥获取子单元,被配置为根据所述密钥的标识信息以及验证码,从所述目标文件中获取所述密钥。
可选的,所述信息获取子单元被配置用于:
获取预设的任务配置文件中凭证项对应的配置参数;
根据所述凭证项对应的配置参数确定所述密钥的标识信息以及验证码。
可选的,所述第一确定子单元被配置用于:
获取预设的任务配置文件中的压缩和解压缩开启项对应的配置参数;
在所述压缩和解压缩开启项对应的配置参数的指示下确定对所述中间数据进行压缩。
可选的,所述第二获取子单元被配置用于:
从预设的任务配置文件中获取压缩和解压缩类的设置项对应的配置参数;
根据所述压缩和解压缩类的设置项对应的配置参数确定压缩的实现类的名称;
从预设的全局配置文件中获取压缩和解压缩的方式设置项对应的配置参数;
根据所述压缩的实现类的名称,从所述压缩和解压缩的方式设置项对应的配置参数中获取所述压缩的实现类的路径;
按照所述压缩的实现类的路径获取压缩的实现类。
可选的,所述解密单元包括:
第三获取子单元,被配置为获取密钥;
第二确定子单元,被配置为确定对所述密文数据进行解压缩;
第四获取子单元,被配置为获取解压缩的实现类,所述解压缩的实现类采用了预先注册的加解密算法;
第二解密子单元,被配置为基于所述密钥通过继承于解压缩接口的解密接口执行所述解压缩的实现类,以对所述密文数据进行解密处理。
根据本申请实施例的第三方面,提供一种Hadoop系统,所述系统包括:第一任务处理模块,加解密集成模块,加解密算法实现模块,加解密密钥管理模块,第二任务处理模块;
其中,所述第一任务处理模块处理Map任务,以得到中间数据;
所述加解密集成模块获取所述中间数据,控制所述加解密算法实现模块从所述加解密密钥管理模块获取密钥,并控制所述加解密算法实现模块基于所述密钥对所述中间数据进行加密处理,以得到密文数据;
所述加解密集成模块获取所述密文数据,控制所述加解密算法实现模块从所述加解密密钥管理模块获取密钥,并控制所述加解密算法实现模块基于所述密钥对所述密文数据进行解密处理,以还原得到所述中间数据;
第二任务处理模块对所述还原得到的所述中间数据进行Reduce处理。
可选的,所述加解密集成模块以及加解密算法实现模块基于所述系统的压缩和解压缩框架而建立。
根据本申请实施例的第四方面,提供一种计算机存储介质,所述存储介质中存储有程序指令,所述指令包括:
将所述系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据;
将所述密文数据传输到所述系统中的执行Reduce任务的客户端;
对所述密文数据进行解密处理,以还原得到所述中间数据;
对所述中间数据进行Reduce处理。
应用本申请实施例,通过将系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据,将密文数据传输到系统中的执行Reduce任务的客户端,对密文数据进行解密处理,以还原得到中间数据,对该中间数据进行Reduce处理。从而避免了中间数据在存储与传输过程中,被恶意盗取,因此,避免了数据信息的泄露,提高了Hadoop系统中数据信息的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请根据一示例性实施例示出的一个加解密数据的方法的流程图;
图2为本申请根据一示例性实施例示出的一个通过系统的压缩和解压缩框架将中间数据进行加密处理的方法的流程图;
图3为本申请根据一示例性实施例示出的一个通过系统的压缩和解压缩框架将密文数据进行解密处理的方法的流程图;
图4为本申请根据一示例性实施例示出的一个加解密数据的装置的框图;
图5为本申请根据一示例性实施例示出的一种Hadoop系统的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,为本申请根据一示例性实施例示出的一个加解密数据的方法的流程图,该实施例可以应用于Hadoop系统,包括如下步骤:
步骤101,将上述系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据。
步骤102,将密文数据传输到系统中的执行Reduce任务的客户端。
步骤103,对密文数据进行解密处理,以还原得到中间数据。
步骤104,对中间数据进行Reduce处理。
在本实施例中,该方法可以应用于Hadoop系统中,在执行该方法之前,需要先在Hadoop系统原有框架的基础上设置新的加解密功能,以使该Hadoop系统能够执行上述方法。上述设置新的加解密功能的过程如下:
(1)在Hadoop系统中注册添加加解密算法作为目标算法,并在系统的全局配置文件core-site.xml中参数名为io.compression.codecs的配置项里添加上述目标算法对应的参数值(采用目标算法的实现类的路径)。
可选地,上述目标算法可以为AES算法(Advanced Encryption Standard,高级加密标准)。AES算法为一种对称的加解密算法,加密和解密使用相同密钥。可以理解,上述目标算法还可以是任意其它对称的加解密算法,本申请对目标算法的具体内容方面不限定。
在本实施例中,io.compression.codecs的配置项为压缩和解压缩的方式设置项,该设置项对应的配置参数包括压缩和解压缩的一个或多个实现类的路径,可以通过io.compression.codecs的配置项获取一种压缩和解压缩方式的实现类,并执行该实现类。一般来说,压缩/解压缩与加密/解密均是对数据进行处理,过程类似,因此,可以通过系统原有的压缩和解压缩框架,进行加密和解密的设置,以实现加密和解密的过程。
(2)创建存储密钥的文件,该文件中存储有加密或解密时所使用的密钥。将该存储密钥的文件分发到整个系统集群中。然后,在系统配置文件中的凭证项对应的配置项里,添加加密或解密时所使用的密钥的标识信息以及从存储密钥的文件中获取密钥时所需的验证码,作为该配置项的配置参数。
在本实施例中,每个密钥对应一个密钥标识信息,可以根据密钥标识信息查找到该密钥。另外,为了防止密钥被窃取,可以对存储密钥的文件设定一个验证码,在从该文件中获取密钥时,需要提供的验证码进行验证,验证成功后才能获得密钥。
(3)将Hadoop系统中的任务配置文件mapred-default.html中参数名为mapred.compress.map.output的配置项对应的参数值设置为true。
在本实施例中,mapred.compress.map.output的配置项为压缩和解压缩开启设置项,该设置项对应的配置参数的参数值可以是true,也可以是false。当参数值为true时,表示开启压缩和解压缩的功能,当参数值为false时,表示关闭压缩和解压缩的功能。若要通过系统原有的压缩和解压缩框架,实现加密和解密的过程,需要预先开启压缩和解压缩的功能。因此,需要将压缩和解压缩开启设置项的参数值设置为true。
(4)将Hadoop系统中的任务配置文件mapred-default.html中参数名为mapred.output.compression.codec的配置项对应的参数值设置为加密和解密的实现类的名称。
在本实施例中,mapred.output.compression.codec的配置项为压缩类和解压缩类的设置项,该设置项对应的配置参数的参数值可以是压缩和解压缩的实现类的名称。可以将加密和解密的实现类的名称添加到该设置项中,以从压缩和解压缩的方式设置项对应的配置参数中获取加密和解密的实现类的路径,从而实现加密和解密的过程。
通过上述对系统的设置后,该系统就能够执行上述方法。
首先,在步骤101中,将上述系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据。可选的,可以通过上述系统的压缩和解压缩框架将中间数据进行加密处理。如图2所示,步骤101可以包括:
步骤1011,获取密钥。
在本实施例中,可以使用该密钥对上述中间数据进行加密。具体来说,首先,可以获取存储密钥的文件作为目标文件,因为预先将该存储密钥的文件分发到整个系统集群中,因此,可以直接获取分发到整个系统集群中的目标文件。
接着,获取密钥的标识信息以及验证码。由于预先在系统配置文件中的凭证项对应的配置项里,添加了加密或解密时所使用的密钥的标识信息以及从存储密钥的文件中获取密钥时所需的验证码。因此,可以获取预设的任务配置文件中凭证项对应的配置参数,然后,根据该凭证项对应的配置参数确定密钥的标识信息以及验证码。
最后,根据密钥的标识信息以及验证码,从目标文件中获取密钥。具体来说,可以先根据密钥的标识信息查找到密钥。然后,采用验证码进行权限验证,如果验证成功,则说明具有获得密钥的权限,可以从目标文件中获取密钥。
步骤1012,确定对中间数据进行压缩。
在本实施例中,首先,获取预设的任务配置文件中的压缩和解压缩开启项对应的配置参数,可以通过该配置参数设置开启或关闭压缩和解压缩的功能。由于预先将该设置项对应的配置参数的参数值设置为true,因此,在该压缩和解压缩开启项对应的配置参数的指示下确定对中间数据进行压缩。
步骤1013,获取压缩的实现类。
在本实施例中,该压缩的实现类采用了预先注册的加解密算法。具体来说,首先,从预设的任务配置文件中获取压缩类和解压缩类的设置项对应的配置参数,根据该配置参数确定压缩的实现类的名称。由于预先将系统中的任务配置文件中压缩类和解压缩类的设置项对应的参数值设置为采用了预先注册的加解密算法的实现类的名称,因此,可以根据预设的任务配置文件中获取压缩类和解压缩类的设置项对应的配置参数确定压缩的实现类的名称。
接着,从预设的全局配置文件中获取压缩和解压缩的方式设置项对应的配置参数。并根据压缩的实现类的名称,从压缩和解压缩的方式设置项对应的配置参数中获取该压缩的实现类的路径。因为预先在系统中注册添加加解密算法,并在系统的全局配置文件中的压缩和解压缩的方式设置对应的配置项里添加上述加解密算法对应的参数值(采用上述加解密算法的实现类的路径)。因此,可以从预设的全局配置文件中压缩和解压缩的方式设置项对应的配置参数中获取采用上述加解密算法的实现类的路径。
最后,按照上述压缩的实现类的路径获取压缩的实现类,即按照上述采用预先注册的加解密算法的实现类的路径获取相应的实现类。
步骤1014,基于密钥通过继承于压缩接口的加密接口执行上述压缩的实现类,以对中间数据进行加密处理。
在本实施例中,可以通过加密接口执行上述采用预先注册的加解密算法的实现类,从而采用上述密钥对中间数据进行加密处理。其中,加密接口继承于该系统原有的压缩接口。
通过步骤1011~步骤1014,利用了系统原有的压缩和解压缩框架,实现了将上述系统中执行Map任务的客户端输出的中间数据进行加密处理的目的,无需消耗人力修改系统原有框架,在提高数据安全性的基础上,节省了资源。
继而,在步骤102中,将密文数据传输到系统中的执行Reduce任务的客户端。
在本实施例中,得到密文数据后,可以先将密文数据存储到本地,当执行Reduce任务的客户端远程从本地拉取密文数据时,可以将密文数据传输到系统中的执行Reduce任务的客户端。
接着,在步骤103中,对密文数据进行解密处理,以还原得到中间数据。可选的,可以通过上述系统的压缩和解压缩框架对密文数据进行解密处理。如图3所示,步骤103可以包括:
步骤1031,获取密钥。
在本实施例中,可以使用该密钥对上述密文数据进行解密。获取密钥的具体过程可参见步骤1011,在此不再赘述。
步骤1032,确定对密文数据进行解压缩。
在本实施例中,首先,获取预设的任务配置文件中的压缩和解压缩开启项对应的配置参数,可以通过该配置参数设置开启或关闭压缩和解压缩的功能。由于预先将该设置项对应的配置参数的参数值设置为true,因此,在该压缩和解压缩开启项对应的配置参数的指示下确定密文数据进行解压缩。
步骤1033,获取解压缩的实现类。
在本实施例中,该解压缩的实现类采用了预先注册的加解密算法。获取解压缩的实现类的具体过程与获取压缩的实现类的具体过程类似,可参见步骤1013,在此不再赘述。
步骤1034,基于密钥通过继承于解压缩接口的解密接口执行上述解压缩的实现类,以对密文数据进行解密处理。
在本实施例中,可以通过解密接口执行上述采用预先注册的加解密算法的实现类,从而采用上述密钥对密文数据进行解密处理。其中,解密接口继承于该系统原有的解压缩接口。
通过步骤1031~步骤1034,利用了系统原有的压缩和解压缩框架,实现了将上述系统中密文数据进行解密处理的目的,无需消耗人力修改系统原有框架,在提高数据安全性的基础上,节省了资源。
最后,在步骤104中,上述系统中执行Reduce任务的客户端获取到还原出的中间数据后,对中间数据进行Reduce处理。
应用上述实施例,通过将系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据,将密文数据传输到系统中的执行Reduce任务的客户端,对密文数据进行解密处理,以还原得到中间数据,对该中间数据进行Reduce处理。从而避免了中间数据在存储与传输过程中,被恶意盗取,因此,避免了数据信息的泄露,提高了Hadoop系统中数据信息的安全性。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
与本申请加解密数据的方法的实施例相对应,本申请还提供了加解密数据的装置及系统的实施例。
如图4所示,图4是本申请根据一示例性实施例示出的一种加解密数据的装置框图,应用于Hadoop系统,该装置包括:加密单元401,传输单元402,解密单元403以及处理单元404。
其中,加密单元401,被配置为将系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据。
传输单元402,被配置为将密文数据传输到系统中的执行Reduce任务的客户端。
解密单元403,被配置为对密文数据进行解密处理,以还原得到中间数据。
处理单元404,被配置为对中间数据进行Reduce处理。
在一些可选实施方式中,加密单元401被配置用于:
通过系统的压缩和解压缩框架将中间数据进行加密处理。
解密单元403被配置用于:
通过系统的压缩和解压缩框架对密文数据进行解密处理。
在另一些可选实施方式中,加密单元401包括:第一获取子单元,第一确定子单元,第二获取子单元以及第一加密子单元(图中未示出)。
其中,第一获取子单元,被配置为获取密钥。
第一确定子单元,被配置为确定对中间数据进行压缩。
第二获取子单元,被配置为获取压缩的实现类,该压缩的实现类采用了预先注册的加解密算法。
第一加密子单元,被配置为基于密钥通过继承于压缩接口的加密接口执行压缩的实现类,以对中间数据进行加密处理。
在另一些可选实施方式中,第一获取子单元包括:文件获取子单元,信息获取子单元以及密钥获取子单元。
其中,文件获取子单元,被配置为获取存储密钥的文件作为目标文件。
信息获取子单元,被配置为获取密钥的标识信息以及验证码。
密钥获取子单元,被配置为根据密钥的标识信息以及验证码,从目标文件中获取密钥。
在另一些可选实施方式中,信息获取子单元被配置用于:
获取预设的任务配置文件中凭证项对应的配置参数;
根据凭证项对应的配置参数确定密钥的标识信息以及验证码。
在另一些可选实施方式中,第一确定子单元被配置用于:
获取预设的任务配置文件中的压缩和解压缩开启项对应的配置参数;
在压缩和解压缩开启项对应的配置参数的指示下确定对中间数据进行压缩。
在另一些可选实施方式中,第二获取子单元被配置用于:
从预设的任务配置文件中获取压缩和解压缩类的设置项对应的配置参数;
根据压缩和解压缩类的设置项对应的配置参数确定压缩的实现类的名称;
从预设的全局配置文件中获取压缩和解压缩的方式设置项对应的配置参数;
根据压缩的实现类的名称,从压缩和解压缩的方式设置项对应的配置参数中获取压缩的实现类的路径;
按照压缩的实现类的路径获取压缩的实现类。
在另一些可选实施方式中,解密单元403包括:第三获取子单元,第二确定子单元,第四获取子单元以及第二解密子单元(图中未示出)。
第三获取子单元,被配置为获取密钥。
第二确定子单元,被配置为确定对密文数据进行解压缩。
第四获取子单元,被配置为获取解压缩的实现类,该解压缩的实现类采用了预先注册的加解密算法。
第二解密子单元,被配置为基于密钥通过继承于解压缩接口的解密接口执行解压缩的实现类,以对密文数据进行解密处理。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
如图5所示,图5是本申请根据一示例性实施例示出的一种Hadoop系统的框图,该系统包括:第一任务处理模块501,加解密集成模块502,加解密算法实现模块503,加解密密钥管理模块504以及第二任务处理模块505。
其中,第一任务处理模块501处理Map任务,以得到中间数据。
加解密集成模块502获取中间数据,控制加算法实现模块503从加解密密钥管理模块504获取密钥,并控制加解密算法实现模块503基于密钥对中间数据进行加密处理,以得到密文数据。
加解密集成模块502获取密文数据,控制加算法实现模块503从加解密密钥管理模块504获取密钥,并控制加解密算法实现模块503基于密钥对密文数据进行解密处理,以还原得到中间数据。
第二任务处理模块505对还原得到的中间数据进行Reduce处理。
在另一些可选实施方式中,加解密集成模块502以及加解密算法实现模块503基于系统的压缩和解压缩框架而建立。
本申请实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
相应的,本申请实施例还提供一种计算机存储介质,该存储介质中存储有程序指令,该指令包括:
将所述系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据;
将所述密文数据传输到所述系统中的执行Reduce任务的客户端;
对所述密文数据进行解密处理,以还原得到所述中间数据;
对所述中间数据进行Reduce处理。
描述于本申请实施例中所涉及到的单元模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元模块也可以设置在处理器中,例如,可以描述为:一种处理器包括加密单元,传输单元,解密单元以及处理单元。其中,这些单元模块的名称在某种情况下并不构成对该单元模块本身的限定,例如,解密单元还可以被描述为“用于对密文数据进行解密处理的单元”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端或服务器中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的加解密数据的方法。
计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (19)

1.一种加解密数据的方法,其特征在于,应用于Hadoop系统,所述方法包括:
将所述系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据;
将所述密文数据传输到所述系统中的执行Reduce任务的客户端;
对所述密文数据进行解密处理,以还原得到所述中间数据;
对所述中间数据进行Reduce处理。
2.根据权利要求1所述的方法,其特征在于,所述将所述系统中执行Map任务的客户端输出的中间数据进行加密处理,包括:
通过所述系统的压缩和解压缩框架将所述中间数据进行加密处理;
所述对所述密文数据进行解密处理,包括:
通过所述系统的压缩和解压缩框架对所述密文数据进行解密处理。
3.根据权利要求2所述的方法,其特征在于,所述通过所述系统的压缩和解压缩框架将所述中间数据进行加密处理,包括:
获取密钥;
确定对所述中间数据进行压缩;
获取压缩的实现类,所述压缩的实现类采用了预先注册的加解密算法;
基于所述密钥通过继承于压缩接口的加密接口执行所述压缩的实现类,以对所述中间数据进行加密处理。
4.根据权利要求3所述的方法,其特征在于,所述获取密钥,包括:
获取存储所述密钥的文件作为目标文件;
获取所述密钥的标识信息以及验证码;
根据所述密钥的标识信息以及验证码,从所述目标文件中获取所述密钥。
5.根据权利要求4所述的方法,其特征在于,所述获取所述密钥的标识信息以及验证码,包括:
获取预设的任务配置文件中凭证项对应的配置参数;
根据所述凭证项对应的配置参数确定所述密钥的标识信息以及验证码。
6.根据权利要求3所述的方法,其特征在于,所述确定对所述中间数据进行压缩,包括:
获取预设的任务配置文件中的压缩和解压缩开启项对应的配置参数;
在所述压缩和解压缩开启项对应的配置参数的指示下确定对所述中间数据进行压缩。
7.根据权利要求3所述的方法,其特征在于,所述获取压缩的实现类,包括:
从预设的任务配置文件中获取压缩和解压缩类的设置项对应的配置参数;
根据所述压缩和解压缩类的设置项对应的配置参数确定压缩的实现类的名称;
从预设的全局配置文件中获取压缩和解压缩的方式设置项对应的配置参数;
根据所述压缩的实现类的名称,从所述压缩和解压缩的方式设置项对应的配置参数中获取所述压缩的实现类的路径;
按照所述压缩的实现类的路径获取压缩的实现类。
8.根据权利要求2所述的方法,其特征在于,所述通过所述系统的压缩和解压缩框架对所述密文数据进行解密处理,包括:
获取密钥;
确定对所述密文数据进行解压缩;
获取解压缩的实现类,所述解压缩的实现类采用了预先注册的加解密算法;
基于所述密钥通过继承于解压缩接口的解密接口执行所述解压缩的实现类,以对所述密文数据进行解密处理。
9.一种加解密数据的装置,其特征在于,应用于Hadoop系统,所述装置包括:
加密单元,被配置为将所述系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据;
传输单元,被配置为将所述密文数据传输到所述系统中的执行Reduce任务的客户端;
解密单元,被配置为对所述密文数据进行解密处理,以还原得到所述中间数据;
处理单元,被配置为对所述中间数据进行Reduce处理。
10.根据权利要求9所述的装置,其特征在于,所述加密单元被配置用于:
通过所述系统的压缩和解压缩框架将所述中间数据进行加密处理;
所述解密单元被配置用于:
通过所述系统的压缩和解压缩框架对所述密文数据进行解密处理。
11.根据权利要求10所述的装置,其特征在于,所述加密单元包括:
第一获取子单元,被配置为获取密钥;
第一确定子单元,被配置为确定对所述中间数据进行压缩;
第二获取子单元,被配置为获取压缩的实现类,所述压缩的实现类采用了预先注册的加解密算法;
第一加密子单元,被配置为基于所述密钥通过继承于压缩接口的加密接口执行所述压缩的实现类,以对所述中间数据进行加密处理。
12.根据权利要求11所述的装置,其特征在于,所述第一获取子单元包括:
文件获取子单元,被配置为获取存储所述密钥的文件作为目标文件;
信息获取子单元,被配置为获取所述密钥的标识信息以及验证码;
密钥获取子单元,被配置为根据所述密钥的标识信息以及验证码,从所述目标文件中获取所述密钥。
13.根据权利要求12所述的装置,其特征在于,所述信息获取子单元被配置用于:
获取预设的任务配置文件中凭证项对应的配置参数;
根据所述凭证项对应的配置参数确定所述密钥的标识信息以及验证码。
14.根据权利要求11所述的装置,其特征在于,所述第一确定子单元被配置用于:
获取预设的任务配置文件中的压缩和解压缩开启项对应的配置参数;
在所述压缩和解压缩开启项对应的配置参数的指示下确定对所述中间数据进行压缩。
15.根据权利要求11所述的装置,其特征在于,所述第二获取子单元被配置用于:
从预设的任务配置文件中获取压缩和解压缩类的设置项对应的配置参数;
根据所述压缩和解压缩类的设置项对应的配置参数确定压缩的实现类的名称;
从预设的全局配置文件中获取压缩和解压缩的方式设置项对应的配置参数;
根据所述压缩的实现类的名称,从所述压缩和解压缩的方式设置项对应的配置参数中获取所述压缩的实现类的路径;
按照所述压缩的实现类的路径获取压缩的实现类。
16.根据权利要求10所述的装置,其特征在于,所述解密单元包括:
第三获取子单元,被配置为获取密钥;
第二确定子单元,被配置为确定对所述密文数据进行解压缩;
第四获取子单元,被配置为获取解压缩的实现类,所述解压缩的实现类采用了预先注册的加解密算法;
第二解密子单元,被配置为基于所述密钥通过继承于解压缩接口的解密接口执行所述解压缩的实现类,以对所述密文数据进行解密处理。
17.一种Hadoop系统,其特征在于,所述系统包括:第一任务处理模块,加解密集成模块,加解密算法实现模块,加解密密钥管理模块,第二任务处理模块;
其中,所述第一任务处理模块处理Map任务,以得到中间数据;
所述加解密集成模块获取所述中间数据,控制所述加解密算法实现模块从所述加解密密钥管理模块获取密钥,并控制所述加解密算法实现模块基于所述密钥对所述中间数据进行加密处理,以得到密文数据;
所述加解密集成模块获取所述密文数据,控制所述加解密算法实现模块从所述加解密密钥管理模块获取密钥,并控制所述加解密算法实现模块基于所述密钥对所述密文数据进行解密处理,以还原得到所述中间数据;
第二任务处理模块对所述还原得到的所述中间数据进行Reduce处理。
18.根据权利要求17所述的系统,其特征在于,所述加解密集成模块以及加解密算法实现模块基于所述系统的压缩和解压缩框架而建立。
19.一种计算机存储介质,所述存储介质中存储有程序指令,其特征在于,所述指令包括:
将所述系统中执行Map任务的客户端输出的中间数据进行加密处理,以得到密文数据;
将所述密文数据传输到所述系统中的执行Reduce任务的客户端;
对所述密文数据进行解密处理,以还原得到所述中间数据;
对所述中间数据进行Reduce处理。
CN201611042635.3A 2016-11-11 2016-11-11 加解密数据的方法、装置及系统 Pending CN108076034A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611042635.3A CN108076034A (zh) 2016-11-11 2016-11-11 加解密数据的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611042635.3A CN108076034A (zh) 2016-11-11 2016-11-11 加解密数据的方法、装置及系统

Publications (1)

Publication Number Publication Date
CN108076034A true CN108076034A (zh) 2018-05-25

Family

ID=62161505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611042635.3A Pending CN108076034A (zh) 2016-11-11 2016-11-11 加解密数据的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN108076034A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052535A1 (en) * 2006-06-30 2008-02-28 Witness Systems, Inc. Systems and Methods for Recording Encrypted Interactions
CN102685266A (zh) * 2012-05-14 2012-09-19 中国科学院计算机网络信息中心 区文件签名方法及系统
CN102769615A (zh) * 2012-07-02 2012-11-07 北京大学 一种基于MapReduce机制的任务调度方法和系统
CN104035869A (zh) * 2014-06-19 2014-09-10 科大讯飞股份有限公司 一种应用的评测方法、终端及服务器
CN104753870A (zh) * 2013-12-30 2015-07-01 中国移动通信集团公司 一种数据传输方法和系统
CN104852922A (zh) * 2015-05-26 2015-08-19 陈彬 基于分布式文件系统的大数据加解密方法
CN105095785A (zh) * 2014-05-22 2015-11-25 中兴通讯股份有限公司 分布式文件系统的文件访问处理、访问方法及装置
CN105678471A (zh) * 2016-02-03 2016-06-15 长春工业大学 一种基于云平台技术的机械系统研发工作站

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052535A1 (en) * 2006-06-30 2008-02-28 Witness Systems, Inc. Systems and Methods for Recording Encrypted Interactions
CN102685266A (zh) * 2012-05-14 2012-09-19 中国科学院计算机网络信息中心 区文件签名方法及系统
CN102769615A (zh) * 2012-07-02 2012-11-07 北京大学 一种基于MapReduce机制的任务调度方法和系统
CN104753870A (zh) * 2013-12-30 2015-07-01 中国移动通信集团公司 一种数据传输方法和系统
CN105095785A (zh) * 2014-05-22 2015-11-25 中兴通讯股份有限公司 分布式文件系统的文件访问处理、访问方法及装置
CN104035869A (zh) * 2014-06-19 2014-09-10 科大讯飞股份有限公司 一种应用的评测方法、终端及服务器
CN104852922A (zh) * 2015-05-26 2015-08-19 陈彬 基于分布式文件系统的大数据加解密方法
CN105678471A (zh) * 2016-02-03 2016-06-15 长春工业大学 一种基于云平台技术的机械系统研发工作站

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
付雅丹等: "《基于MapReduce的并行AES加密算法》", 《计算机应用》 *
罗燕新: "《基于HBASE的列存储压缩算法的研究与实现》", 《中国优秀硕士学位论文全文库》 *

Similar Documents

Publication Publication Date Title
CN109643285B (zh) 加密的用户数据传输及储存
CN110881063B (zh) 一种隐私数据的存储方法、装置、设备及介质
US10484352B2 (en) Data operations using a proxy encryption key
CN105408913B (zh) 在云中隐私地处理数据
JP5639660B2 (ja) ラッパ複合を通じたデータのための確認可能な信頼
CN111784001B (zh) 一种模型训练方法、设备及计算机可读存储介质
CN109784931B (zh) 一种基于区块链的数据查询平台的查询方法
CN107294709A (zh) 一种区块链数据处理方法、装置及系统
CN112787976B (zh) 数据加密、解密和共享方法、设备、系统及存储介质
CN111460453A (zh) 机器学习训练方法、控制器、装置、服务器、终端和介质
US11250143B2 (en) Method and system for implementing an encryption SDK
US10963593B1 (en) Secure data storage using multiple factors
CN113742764B (zh) 基于区块链的可信数据安全存储方法、检索方法及设备
KR20200047002A (ko) 동형 암호를 이용한 암호문 비교 방법 및 이를 수행하기 위한 장치
CN107306254A (zh) 基于双层加密的数字版权保护方法及系统
CN113886418B (zh) 一种数据处理方法、装置、电子设备及机器可读存储介质
CN109255249A (zh) 图像生成方法、装置,图像显示方法、装置和存储介质
CN113282959A (zh) 业务数据处理方法、装置及电子设备
CN108494724A (zh) 基于多授权机构属性加密算法的云存储加密系统及方法
US11146388B2 (en) System and method for application-independent compartmentalized encryption
CN108256343A (zh) Shader文件的加密方法、装置及解密方法、装置
KR101699176B1 (ko) Hdfs 데이터 암호화 및 복호화 방법
CN115086037B (zh) 一种数据处理方法及装置、存储介质及电子设备
Shivanna et al. Privacy preservation in cloud computing with double encryption method
CN112800467B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180525

RJ01 Rejection of invention patent application after publication