陈 艺,江芝蒙,张 渝
(1.四川文理学院 智能制造学院,四川 达州 635000;2.四川文理学院 信息化建设与服务中心,四川 达州 635000;3.西南大学 计算机与信息科学学院,重庆 400715)
目前应用最常用的大数据分析工具是Hadoop分布式文件系统(Hadoop distributed file system,HDFS),其支持管理、存储大量数据以及快速形成决策,并降低了人为估计的风险[1-3]。然而大数据的广泛使用带来了数据安全隐患,特别是处理机密数据时,如公司商业机密、个人隐私信息等。因此,安全和隐私是传输大数据的关键,任何大数据安全传输方案都应满足数据机密性、完整性和可用性的要求。
大数据安全主要从数据安全和访问控制两个方面考虑,而数据管理和数据分类是关键所在,其中大数据安全管理常用的控制策略是Kerberos[4]。文献[5,6]定义了一组大数据安全特性的自动化工具用于收集不同的数据类型,并分析引擎处理实时应用中的大量快速变化的数据,从而进行安全性分析,但缺乏对如何保护大数据免受不同资源的潜在风险的论述。文献[7,8]设计了一种智能驱动的安全模型,用于监控具有异常行为的用户,但缺乏针对数据丢失和数据泄漏的保护。此外,大多数安全机制虽然能够保证固定数据免受威胁,但不足以应对大数据以及超出现有数据库的处理能力,并且没有一种机制能够适应非结构化大数据分析处理[9]。
同样,云系统安全也是目前的研究热点。云系统中传输的大数据安全可通过在发送方和接收方云之间的安全套接字层实现,但云两侧的用户身份验证存在安全问题[10]。此外,云系统面临内部和外部攻击两种类型的攻击,文献[11]提出了一种网络安全模型以应对云系统中的攻击。在云系统中,当不同机密级别的大数据进行传输时,可能会使敏感和关键数据泄露[12]。为了减少数据传输或交换过程中潜在的安全威胁,增强云系统中数据的安全移动性,提出了一种云系统中基于同态哈希认证的大数据安全传输。所提方法的创新点总结如下:
(1)现有方法缺乏明确的数据分类方法,而所提机制根据数据内容和描述属性设计了大数据分类技术,该技术采用HDFS格式化程序执行数据分类,且避免公开文件冗余的加密和解密过程,降低了数据传输的安全成本。
(2)为了提高数据传输的安全性,所提传输机制提出了基于同态哈希的身份认证方式,以保证云系统传输双方信息的真实性,为数据传输的安全性提供了双重保护。
数据安全是大数据分析中最为关键的问题之一,而大数据分析应保证数据的保密性、完整性和可用性。其中机密性是根据数据敏感度防止授权用户以外的用户访问数据;完整性是允许授权用户修改、编辑、更新和删除数据;可用性是保证数据可用以及可访问。
很多机构组织中,对于大量敏感信息的存储、收集和处理,均在同一地方完成,受潜在风险的影响更大,易发生数据的破坏、泄露和丢失以及受到黑客攻击,并且可能因恶意攻击而拒绝服务[13]。因此,所提方法提出了一种新的风险评估分类技术,可防止大数据中存在的潜在风险,并基于定义的风险度量值实行风险管理[14]。其中定义的风险评估标准将每个风险度量以0-5进行测量:可忽略(0-1)、低(1-2)、中(2-3)、高(3-4)和非常高(4-5)。
风险性和脆弱性值THV定义为威胁和脆弱性值之和,理论计算为
THV=Threa+Vunerability
(1)
风险影响级别值RIL保证了大数据所需的安全控制级别,其计算为
RIL=Asset×THV×LTH
(2)
式中:Asset为资产值,LTH为风险可能性。
根据上式,RIL风险水平值的测量如下:当风险分量达到其临界值(4-5)时, RIL=(非常高)×(非常高)×(非常高)=(4-5)×(4-5)×(4-5); 当风险分量值在(0-1)时, RIL=(可忽略)×(可忽略)×(可忽略)=(0-1)×(0-1)×(0-1)。 因此,根据RIL中分量风险水平值的组合,可得到RIL的风险水平值(1-2)、(2-3)、(3-4)和(4-5)。基于RIL提出的分类方法明确了在云端处理、复制和移动过程中保护关键数据所需的适当安全控制级别。
所提的大数据安全机制采用大数据分类和大数据安全技术对文件进行分类和保护,以实现云系统中数据移动过程中的高安全性。所提机制的体系结构如图1所示。
图1 所提大数据安全传输机制的体系结构
在该传输机制中,大数据文件移动到HDFS进行大数据分类,并将其转化为文本文件。使用度量函数确定HDFS输入格式化程序函数,并将大数据拆分为多个数据分区,在每个分区中,如果所有数据都属于特定的安全类,则输入格式化程序函数将终止,并生成决策树;否则,输入格式化程序函数将递归地继续其拆分过程,直到所有数据分区都属于同一类安全,或者不再保留拆分属性,然后相应地生成决策树。之后将划分为机密的文件利用数据安全算法进行大数据文件传输。
一般来说,大数据是根据其需求、优先级和基于数据敏感度、关键性的保护程度进行分类的,所提分类技术将大数据分为机密数据和公开数据两大类。其中机密数据为只有授权用户才能查看或访问的高度敏感信息,其属性是不由系统解释的文件系统,但提供有关文件的附加信息;公共数据为包括一般信息的正常数据,任何用户都可以查看这些信息,而不受访问这些数据文件的任何限制[15]。
根据风险影响水平值定义:RIL代表基于风险评估度量值(0-5)的风险影响水平值;MAV代表元数据扩展属性,元数据属性允许系统管理员为其它元数据设置机密元数据属性以防止文件中可能包含敏感信息的潜在风险,其MAV计算为
(3)
如果风险影响水平值介于(1-5)之间,则评估为真(1:机密);如果风险影响水平值为无或可忽略(0-1),则评估为假(0:公开)。MAV在创建时插入文件元数据中,便于数据分类,大数据分类流程如图2所示。
图2 大数据分类流程
文件以不同的类型存在,如txt、doc、xml、csv、xls、sql、log、db、pdf、image、audio、video等,而所提分类技术将不同类型的文件均转换为文本文件,并使用HDFS输入格式化程序,将其分割为不同的分区,其中HDFS输入格式化程序验证任务的输入规范,根据所有分区中的安全搜索值,文件被标识为机密或公共。无法转换为文本的其它文件类型(如pdf、图像、音频和视频)在文件创建期间按其内容进行分类,并将其MAV设置为机密或公开。但是,如果这些文件已经创建,且没有元数据属性,则需要确定其分类级别,并相应地插入MAV。
基于数据文件分类级别,将大数据安全技术应用于不同云节点间的数据传输中,如果分类级别是公共的,则不需要安全操作。
数据传输中节点需要进行身份认证以确保其安全性,所提机制中采用同态哈希认证方式验证密钥。同态哈希(homomorphic Hash)常用于对等网络,通常与纠删码、网络编码共同防御攻击事件。对等网络中,每个对等体均会从其它的对等体处直接获取原始数据块,因此,通过比较所接收到数据块的哈希值与原始哈希值便可验证接收数据块的正确性[16]。但标准哈希函数不能处理源节点无法预先定义随机编码包的问题,可能存在伪数据包的风险,而同态哈希函数能使对等体发现伪造块的存在。
同态哈希函数hG(·) 有一组哈希参数G=(p,q,g), 其中g的每个元素被描述为x(p-1)/qmodp,x∈Zp且x≠1
hG(·)∶{0,1}α×{0,1}β→{0,1}λp
rand(·)∶{0,1}k×{0,1}t→{0,1}t
(4)
式中:rand(·) 是一个伪随机函数,作为伪随机数生成器用于初始化过程中同态哈希函数参数、标签生成阶段随机数的生成以及挑战阶段数据块的选择,从而能够均匀覆盖所有的数据。
对于一个块di, 哈希值计算如下
(5)
给出一个编码块fj和一个系数向量 (cj,1,cj,2,…,cj,m), 则同态哈希函数hG(·) 满足下式
(6)
利用上式能够验证一个编码块的完整性。发送方首先需要预先计算每个数据块的同态哈希值,接收方下载该同态哈希值,并用式(5)计算其哈希值且用式(6)验证该数据块的正确性。
大数据安全技术应用于云系统时,首先用户将其元数据发送给发送方和接收方云,发送方/接收方云和用户之间通过可共享凭据进行加密。其中发送方使用随机访问密钥将加密的数据节点地址和数据块ID发送给接收方,而接收方创建与其数据节点共享的加密块访问密钥,以触发在发送方数据节点上复制或移动存储的数据请求,该请求由发送方数据节点接收并解密以进行身份验证。
基于同态哈希进行身份认证,发送方数据节点将数据包发送给接收方数据节点,等待其响应以确认数据包接收。如果数据包的哈希值被成功确认,则接收方数据节点向发送方数据节点发送加密确认;如果由于任何原因错过确认,则接收器数据节点可以接收同一数据分组的多个副本,在这种情况下,将忽略所有重复的数据分组。发送方数据节点接收到确认,并通过删除发送的数据或在发送成功的副本时保留数据来响应接收方传输数据请求。基于同态哈希认证的大数据安全技术执行流程如图3所示。
图3 大数据安全技术流程
针对数据传输时的大数据安全分析,首先考虑该过程在发送方和接收方之间传输的元数据可能被入侵者捕获,以及其它可能存在的数据风险。但元数据是加密的,无法解密,因此入侵者攻击失败,即使它们以发送者或接收者的身份出现块访问密钥和哈希值,但传输的数据保持加密模式。然后,可能存在潜在风险的是入侵者破坏或持有传输的数据包,但通过确认数据包传送和哈希值以检查数据可用性,从而实现了数据的完整性。
所提的大数据安全传输机制首先利用大数据分类技术将将不同类型的文件均转换为文本文件,并使用HDFS输入格式化程序验证任务的输入规范,且将其分割为不同的分区,根据所有分区中的安全搜索值,标识文件类型。如果是机密数据则使用大数据安全技术进行传输,发送方对数据进行加密,接收方需要解密且利用同态哈希认证对其身份进行认证,认证通过后方可进行数据传输,保证了大数据的安全性[17]。云环境中基于同态哈希认证的大数据安全传输机制如算法1所示。
算法1: 基于同态哈希认证的大数据安全传输机制
输入: 用户元数据UMD, 块访问令牌BAT, 发送方云数据节点SCD定时器Tscd, 超时值TO, 最大重传次数MaxRet, SCD重传次数Nrt, 接收方云数据节点RCD数量Ndc, 待传输的数据DT, 加密密钥Kt。
输出: 安全文件
(1)if元数据属性值MAV文件是机密的,then
(2) 执行步骤(4)-步骤(19)
(3)otherwise转到步骤(19)
(4) 发送方云名称节点SCN向接收方云名称节点RCN发送 {UMD}Kt
(5) RCN与RCD共享BAT
(6) RCD向SCD发送 {BATS}Kt并请求DT
(7) SCD解密BAT并验证请求的真实性
(8) SCD 向RCD发送 {DT}Kt,hG(·){{DT}Kt}, 启动Tscd
(9)RCD获取 {DT}Kt, {{DT}Kt}, 验证hG(·)
(10)RCD向SCD发送 {acknowledgment}Kt
(11)ifTscd (12) SCD等待确认 (13)otherwiseifNrt (14) 重复步骤(8) (15)otherwise提示SCD中的管理员 (16)ifNdc>MaxRet,then (17) 提示RCD中的管理员 (18)SCD接收确认并从其部分删除DT (19)end 随着云系统实时应用的发展,其数据量不断膨胀,对大量数据进行分类以识别需要保护的敏感数据是一项复杂的任务。为此,设计了一种并行分布式决策树技术Hadoop MapReduce框架,其中ApacheHadoop2.6.0安装在PowerEdge R720服务器上,2个处理器插槽-6核Intel Xeon E5-2630,64 GB RAM,运行OS Linux Ubuntu10.04、java 1.0.7-openjdk、PuTTY 0.70身份验证系统,并与1 GB以太网网卡连接。 由于大数据分类和安全技术与数据文件大小相关,因此在Hadoop MapReduce框架中对大小约为1 GB、2 GB、4 GB、8 GB和16 GB的不同数据文件类型进行测试,以验证所提机制的性能。在这个框架中,测试了所提分类和安全算法的可行性,以及该框架支持安全的数据传输决策。 此外,所提方法主要设计数据分类和安全传输,并且安全传输中涉及加密算法,会增加所提方法的复杂程度,可能会影响传输中的吞吐量和延迟,因此选取分类时间、响应时间、吞吐量和延迟时间作为评价指标。并基于此将所提方法与文献[6]、文献[8]和文献[11]中安全传输方法进行对比分析。 其中文献[6]中提出的HDFS用于通过大量节点实现大数据存储和计算任务,HDFS支持的大量聚合数据可能会在数据安全性、可用性和一致性方面带来一定的潜在风险,并且其不支持云内数据加密。文献[8]中引入了基于HDFS的云存储的安全数据传输流程,在源云和目标云中验证用户身份,节点之间启动安全套接字层SSL连接目标名称节点,生成一个临时会话密钥以及由密钥加密的随机数,以便实现数据安全传输。文献[11]提出了一种基于HDFS的混合加密方法以保护文件块和会话密钥,采用对称加密技术对云数据节点上的文件块进行加密和解密,可防止入侵者拥有来自数据节点的数据,但该方法的网络开销较高。 将CSV、SQL、LOG和XLS类型的4种不同大小的文件分类为公开/机密所需的时间如图4所示。 图4 不同类型文件的分类时间 从图4中可以看出,在同一文件大小的情况下,4种文件类型的分类时间相近,由此可见文件类型对分类时间的影响不大。此外,由于文件的增大其内部数据会剧增,处理会较为复杂,因此分类时间会随着文件大小的增加而增加。 数据传输过程中通过使用用户在发送方和接收方云之间建立的公共密钥对两个云的身份进行验证,使其能够生成和验证必要的令牌。因此,由于发送方和接收方之间的额外传输、加密和解密操作,与文献[8]和文献[11]相比,所提传输机制减少了不必要的网络带宽和处理开销,降低了总传输响应时间、总延迟时间和吞吐量,从而提高了HDFS的安全性能。 所提传输机制与文献[6]、文献[8]和文献[11]中的HDFS方法以64 Mb/s的速率保护和传输5个不同大小的CSV文件所需的平均响应时间如图5所示。 图5 大数据传输响应时间 从图5中可看出,所提传输机制中的数据传输响应时间最接近于文献[6]的HDFS基准,但文献[6]中的数据安全性较低;相较于文献[8]和文献[11],所提传输机制的响应时间最短。由此论证了该方法的优越性,提高了云系统中的数据安全传输。 将安全数据传输延迟时间(security data transmission delay time,SDTDT)定义为安全数据传输响应时间 (secure data transfer response time,SDTRT)和非安全基线数据传输响应时间(baseline data transmission response time,BDTRT)之间的差,表达如下 SDTDT= SDTRT-BDTRT (7) 所提传输机制与文献[6]、文献[8]、文献[11]中的HDFS方法以64 Mb/s的速率保护和传输5个不同大小的CSV文件所需的延迟时间如图6所示。 图6 安全数据传输延迟时间 从图6中可看出,相较于其它方法,所提安全传输机制的延迟时间是最小的,但保护数据传输性将影响云系统的性能,导致吞吐量降低。 为了研究HDFS方法对大数据传输吞吐量的影响,将安全数据传输吞吐量(secure data transmission throughput,SDTT)定义为从源云到目标云的数据传输量(data transmission,DT)除以安全数据传输响应时间SDTRT,表述如下 SDTT=DT/SDTRT (8) 所提传输机制与文献[6]、文献[8]和文献[11]中的HDFS方法以64 Mb/s的速率保护和传输5个不同大小的CSV文件所需的吞吐量(Mb/s)如图7所示。 图7 安全数据传输吞吐量 从图7中可看出,随着文件大小的增加,云用户间数据传输吞吐量降低,很明显所有HDFS方法均会导致吞吐量下降,但所提传输机制的吞吐量是最多的。 上述实验结果表明,将大数据划分为较小的文件大小时,所提安全传输机制在响应时间、延迟时间和吞吐量方面优于文献[8]、文献[11]中的对应算法,其性能是最好,在保证数据安全传输的同时尽量不影响数据传输量。 所提安全数据移动协议优化了发送方和接收方云之间的通信、加密和解密操作,其关键数据始终以加密格式存储,密钥仅为数据所有者掌握。由于发送方和接收方引擎在分析、复制或传输数据时不负责加密和解密大数据块,因此大大提高了数据传输效率,并减少了传输响应时间和延迟时间。 所提传输机制考虑了数据传输通信过程的效率和安全性、用户的隐私和数据的机密性,从而满足了大数据安全需求用户、发送方和接收方云之间的通信。机制中元数据的加密有助于防范一些主动攻击者,并且通过相关同态哈希值验证数据完整性和成功接收由返回确认验证的数据,防止在传输期间改变数据包,保证数据的完整性。 为了避免云系统中可能存在的数据风险以及实现数据传输的高安全性,提出了一种云系统中基于同态哈希认证的大数据安全传输。所提机制采用大数据分类技术将文件分割成不相交的片段,以明确需要安全保护的文件,并且在传输过程中基于同态哈希进行身份认证,以确保数据的安全性。通过Hadoop分布式文件系统从数据分类时间、响应时间、吞吐量和延迟时间等方面论证了所提机制的有效性,不仅避免了公共文件的冗余加密和解密过程,还降低了数据安全应用于公共文件时的额外成本,保证了数据传输的安全性。 在接下来的研究中,将考虑对图像、视频和音频文件的分类,但该类型文件需要特殊处理,因此,需要新的技术以处理大数据文件类型。3 实验结果及性能评价
3.1 大数据分类时间
3.2 大数据传输响应时间
3.3 安全数据传输延迟时间
3.4 安全数据传输吞吐量
4 结束语