HDFS混合加密保护方案的设计

时间:2022-10-27 03:18:01

HDFS混合加密保护方案的设计

摘 要: 如何有效解决云计算中存在的安全问题是关系到云计算产业发展的关键。针对Hadoop云计算系统在数据共享中存在的安全问题,采用了一种基于RC4和RSA的混合加密保护方案,该方案在云存储数据共享过程中,紧密结合Hadoop云计算系统的特性,能够实现数据的安全共享,同时兼顾保密性与效率。

关键词: HDFS; 数据安全; RC4; RSA; 混合加密

中图分类号:TP309.2 文献标志码:A 文章编号:1006-8228(2014)07-17-03

Abstract: Security is becoming a huge concern for users. How to solve the security problems has been the top priority for the cloud computing industry. In this paper, a hybrid encryption scheme based on RC4 and RSA is presented. This encryption addresses the security problems in data sharing of Hadoop system. Combined with the characteristics of Hadoop cloud computing system, the new approach ensures both the security and efficiency.

Key words: HDFS; data security; RC4; RSA; hybrid encryption

0 引言

2006年,Google首次提出“云计算”(Cloud Computing)的概念,云计算被看作是IT领域的第三次重要变革。Apache基金会在Google云模型的基础上开发了著名的开源云计算平台Hadoop,它实现了HDFS(分布式文件系统)和MapReduce(编程模型)。云计算通过将计算分布在大量分布式计算机上,以按需服务模式向用户提供计算力、存储空间和应用服务,是一种具有极高“性价比”的资源。然而,用户数据存储在云环境中,由于其虚拟化的特点,用户无法获知存储细节,并且用户信息的所有权与管理权相分离,这成为了用户数据安全的潜在威胁[1]。据悉,用户对托管在云端数据的安全性仍有担忧,并认为安全问题将成为云计算发展的巨大瓶颈[2-3]。本文主要分析了Hadoop云存储中存在的数据安全问题,结合Hadoop系统的特性,设计了一种基于RC4和RSA的混合加密数据保护方案,该方案对静态存储在HDFS中的数据进行混合加密,从而可有效地避免数据泄露问题。

1 Hadoop系统及其存在的安全问题

随着大数据时代的到来,规模庞大的数据正成为人类新的资产和财富,如何针对海量数据进行科学的处理已成为国家、企业应对大数据时代的关键问题之一。Hadoop作为世界上著名的开源云计算系统,将对海量数据的存储和处理提供极大支持和便利。但Hadoop系统本身存在的安全问题不容忽视,成为人们对其应用的重要考量。

1.1 Hadoop主要结构分析

Hadoop是由Apache基金会发展的开源云计算系统,是一个在计算机集群上使用简单编程模型来处理大数据集的软件框架,其中的海量数据分别存储在集群中的每个节点上,每个节点负责处理存储在自己本地硬盘上的数据。Hadoop主要由HDFS(Hadoop分布式文件系统)和Hadoop MapReduce两大部分组成。其中的HDFS直接存储着用户数据信息,为Hadoop的所有应用提供极其重要的分布式存储服务,因此HDFS对整个Hadoop系统的安全性具有重要意义。HDFS采用Master/Slave架构,一个HDFS集群是由一个NameNode和一定数目的DataNodes组成,NameNode是一个负责管理存储文件元数据信息的中心服务器,而DataNode则存储文件的Block。

1.2 HDFS数据存储与删除过程

客户端在HDFS中存储数据的基本流程如图1所示。

当客户端存储数据文件到HDFS中时,文件最终以Block的形式被DataNode接收并保存在本地文件系统当中,并由DataNode负责管理和维护存储在本地的文件。当客户端需要删除文件时,本地的文件通过Java的文件删除机制将其删除,这与单机状态下文件的删除原理相同[4]。用户在使用普通删除命令删除文件时系统只是修改文件的文件目录项的第一个字节为特殊字符,去除目录区的文件名和数据区的文件数据之间的索引链接,文件数据区并没有发生任何变化,使用者认为文件已经被删除,而实际上数据信息仍存在于存储介质上,直至用户写入新数据覆盖原数据;而又因为普通磁存储介质具有剩磁效应,磁介质会在不同程度上永久性磁化,磁介质上记载的信息在一定程度上抹除不净[5]。由此可见,HDFS中数据信息实际上并未彻底被删除,云服务提供商和其他不怀好意者完全可以采用数据恢复技术恶意恢复用户认为已删除的数据,这对用户信息安全和隐私构成极大威胁。由于云计算规模巨大,具有极大的开放性与复杂性,用户数据信息所有权与管理权相分离,且实行硬件资源共享机制[6],用户的存储空间是共享的,因此传统IT系统的安全问题在云计算环境下将会得到放大,而且用户无法感知恶意恢复和窃取。这将对用户的数据安全构成巨大的潜在威胁。

2 混合加密方案的提出

通过分析HDFS的数据存储和删除流程可以发现,HDFS至少存在以下两个安全问题:第一,是云服务提供商和其他不怀好意者可能对存储在DataNode中的数据进行非法使用,由于用户对数据的所有权与管理权相分离,以及Hadoop的硬件共享机制,这一问题引发的后果将非常严重;第二,数据文件实际是以Block的形式存储在本地文件系统中,普通删除的数据仍然残留在本地,存在极大的安全隐患。密码学作为信息安全的根本基础,将对云数据安全提供根本保障[7]。因此针对其中的数据安全问题,本文采取了一种混合加密方案,以保证HDFS中静态存储的数据在共享过程中不被非法使用。

2.1 RC4算法和RSA算法概述

RC4算法是由MIT教授Ronald Rivest设计的一种密钥长度可变的对称加密算法,RC4算法由于加解密速度快并且安全性较高得到了人们的广泛运用,算法由初始化算法和伪随机子密码生成算法两大部分组成[8]。其中RC4算法密钥长度可变(1到255之间),加密强度可以根据密钥长度进行调整,同时由于RC4算法加密效率较高,因此适合于对大数据的加密。

RSA算法[9]是一种典型的非对称加密算法,由Ronald Rivest在内的三位教授共同提出,继公钥密码体制提出之后,RSA算法的出现解决了之前对称加密算法所面临的密钥传递问题。RSA是基于大数分解难题提出的,对于大数n=p*q(p、q均为大素数),在有限的计算能力以及有限的时间内,分解n是困难的。基于这一数学基础,由RSA公开密钥求解秘密密钥在计算上不可行,这样可以确保只有消息接收方可以用自己的秘密密钥对用公钥加密的数据进行解密。由于RSA加密算法较RC4复杂,算法效率较低,因此RSA算法更适合于对小数据文件加密。

2.2 基于RC4和RSA混合加密保护方案设计

针对HDFS静态存储数据在数据共享过程中存在的数据安全问题,结合RC4算法和RSA算法的特征,设计的混合加密保护方案如图2所示。

用户A将要共享给用户端B的数据文件通过RC4算法加密,由于RC4算法密钥长度可选,因此用户可以根据个人需要选择不同加密等级的RC4算法,加密完成后,用户A上传加密的数据文件至HDFS,并将RC4算法密钥保存在本地文件中。

当用户B需要下载A共享的文件时,向A发出申请消息,通过数字签名A对B进行身份验证。

身份验证完成之后,A向用户端B发送确认消息,其中包含一个惟一的与B对应的标志信息IB。

用户端A用B的公开密钥对⑴中产生的RC4密钥文件进行加密操作,产生的被加密密钥文件名与⑶中的标志信息IB相对应,并将此密钥加密文件上传到HDFS。

用户端B首先根据A发送的确认消息中IB找到对应的密钥加密文件,将其下载到客户端,并用对应的私钥进行解密,还原出RC4算法的密钥。

用户端B下载A共享的文件,并用RC4算法密钥对其进行解密操作,最终还原出原文,完成数据的共享全过程,其余用户端C、D等则采用相同的过程进行。

2.3 混合加密保护方案的特点

将用RC4算法加密保护的数据文件上传到云服务器端,用户的数据信息特别是其中涉及到企业、个人等重要的保密信息将对云服务提供商不可用,这可在一定程度上解决云服务提供商可能存在的对用户信息非法使用的问题;同时可以防止不怀好意者对存储在DataNode中的数据进行窃取、恶意恢复等非法操作,即使在用户删除上传数据后有非法使用者对先前数据文件进行恶意恢复,恢复出的文件仍然对其不可用,因此可以有效解决静态存储中的数据残留所带来的安全问题。

对称加密算法RC4与非对称加密算法RSA相结合,由于Hadoop的大数据特性,HDFS上一个文件的大小一般都在G字节至T字节[10],因此结合RC4适合对大量数据加密的特点,对大规模的数据文件采用RC4加密算法;同时由于RSA较RC4安全性高并且便于密钥传递,对RC4密钥采用RSA算法进行加密操作;两种加密算法相结合[11-12],兼顾了效率与安全性,适用于HDFS中静态存储数据的安全共享,同时紧密结合了HDFS的特点。

由于RC4算法密钥长度可以自由选择(一般不超过255),不同的密钥长度对应于不同的加密等级和时间消耗,由于云计算系统面向广大用户,而不同用户对信息加密的等级需求存在一定差异,用户端可以根据自身需要,在对保密性和效率作出权衡后选择合适的密钥长度,从而选用适合自身需要的加密服务,避免了采用固定密钥长度算法所带来的需求无法满足或资源浪费问题。

3 结束语

本文针对HDFS中静态存储的数据在共享过程中存在的泄露风险,在分析Hadoop的基本结构、数据存储和删除过程的基础上,结合密码学中的RC4算法和RSA算法的特征,给出了一种混合加密数据保护方案。该方案有效避免了云服务提供商和不怀好意者对数据的非法使用,有效解决了静态存储中的数据残留所带来的安全问题;两种加密算法相结合,兼顾了效率与安全性,避免了采用固定密钥长度算法所带来的需求无法满足或资源浪费。

参考文献:

[1] Syam Kumar P, Subramanian R.An Efficient and Secure Protocol for Ensuring Data Storage Security in Cloud Computing[J]. International Journal of Computer Science Issues,2011.8(6):261-274

[2] Deepanchakaravarthi Purushothaman, Dr.Sunitha Abburu.AnApproach for Data Storage Security in Cloud Computing[J].International Journal of Computer Science Issues,2012.9(2):100-105

[3] Dawei Sun,Guiran Chang,Lina Sun,Xingwei Wang.Surveying and Analyzing Security,Privacy and Trust Issues in Cloud Computing Environments[J]. Procedia Engineering,2011.15:2852-2856

[4] 邓谦.基于Hadoop的云计算安全机制研究[D].南京邮电大学,2013.

[5] 徐菁,朱有佃,赖凡.论磁性存储介质的数据销毁技术[J].西南师范大学学报(自然科学版),2007.32(4):107-110

[6] 中国电信网络安全实验室.云计算安全:技术与应用[M].电子工业出版社,2012:19-24

[7] 穆瑛.“云计算”中的密码学:智者博弈的谜题[J].信息安全与通信保密,2011.11:1

[8] 黄道林,杨军.RC4加密算法的FPGA设计与实现[J].云南大学学报(自然科学版),2009.31(S1):80-83

[9] 张仕斌,万武南,张金全,孙宣东.应用密码学[M].西安电子科技大学出版社,2009.

[10] 孙牧.云端的小飞象―Hadoop[J].程序员,2008.10:100-102

[11] 郭平,但光祥.云计算中的混合加密算法[J].吉林大学学报(工学版),2012.42(S1):327-331

[12] 胡光永.基于云计算的数据安全存储策略研究[J].计算机测量与控制,2011.19(10):2539-2541

上一篇:基于移动Agent的地理信息公共服务平台研究与设... 下一篇:光纤检测webGIS系统的设计与实现