一种基于hdfs的可信分布式文件系统的制作方法

文档序号:6550359阅读:110来源:国知局
一种基于hdfs的可信分布式文件系统的制作方法
【专利摘要】本发明公开了一种基于HDFS的可信分布式文件系统,包括远程证明模块和数据密封模块,所述远程证明模块包括:基于完整性度量架构IMA的远程证明模块,远程过程调用远程证明模块和套接字连接远程证明模块;所述数据密封模块包括远程证明失败后进行数据密封模块。本发明的有益效果是在HDFS分布式文件系统中添加可信安全机制,使得实体节点之间进行数据交互的时候能够确认交互对象的可信性,能够在系统完整性被破坏后阻止系统连接非可信地址,在远程证明失败后对数据进行密封确保数据不被泄露。
【专利说明】-种基于HDFS的可信分布式文件系统

【技术领域】
[0001] 本发明涉及可信计算领域,特别涉及一种基于HDFS的可信分布式文件系统。

【背景技术】
[0002] 由于近年来信息技术的迅速发展和广泛普及,大量的数据以指数级增长,谷歌、雅 虎、亚马逊等大企业面临海量数据的挑战。谷歌率先推出了谷歌文件系统GFS和MapReduce 来应对海量数据的存储和处理,引起广泛的关注,并迅速催生了一个开源的版本,称为 Hadoop。在近几年飞速的发展后,Hadoop已经成为互联网公司基础计算平台的一个重要部 分,在腾讯、百度、阿里巴巴等国内大企业,以及Twitter、Facebook等国外大企业中,均有 自己定制的版本。Hadoop是专门为离线处理和大规模数据分析而设计的,在一次写入多次 读取的事务上,Hadoop以高效的实现和稳定的性能,在互联网企业中得到广泛的支持和应 用。
[0003] 伴随着云计算的蓬勃发展,也碰到了许多关键性问题,安全问题尤其突出。Hadoop 的分布式存储系统称为Hadoop分布式文件系统,简称HDFS,它由名字节点、第二名字节点、 数据节点和DFS客户端等实体节点组成。名字节点存储着分布式文件系统的命名空间镜像 fsimage和编辑日志edits,并在内存中维护着文件系统树及整棵树内所有的文件和目录。 数据节点是数据块实质上存储的地方,数据块默认副本数为3,在读写该数据块的时候会在 副本间进行同步。第二名字节点负责命名空间镜像fsimage和编辑日志edits的合并,并 把合并后的数据传回给名字节点。DFS客户端是DistributedFilesystem的一个对象,HDFS 应用程序一般会获得一个DistributedFilesystem来和HDFS进行交互,而DFS客户端是实 际上和名字节点以及数据节点进行交互的对象。这些多个实体节点之间频繁进行着远程 过程调用、TCP流式数据传输以及HTTP流式数据传输等交互操作,如何保证这些数据交互 是安全可靠的逐渐受到关注。由于Hadoop是在防火墙内的局域网部署,在1. 0版本后添 加的安全机制主要是用于更好地辅助局域网内多用户的协作。然而在进阶持续性渗透攻击 Advanced Persistent Attack流行起来后,防火墙提供的安全屏障逐渐变得力不从心。
[0004] 目前,在解决云计算安全问题上,已经涌现出很多方法和思路。将可信计算技术应 用在云计算环境,来解决云计算应用中碰到的安全问题,就是云计算安全领域研究的一大 热点。可信计算的目的是保护最敏感的信息,如私钥和对称密钥不被窃取或不被恶意代码 使用。和Hadoop假设环境是在安全的防火墙内相反,可信计算假定软件在使用过程中可能 会遭到破坏,当攻击发生时,敏感的密钥将被保护起来。可信计算组织(Trusted Computing Group, TCG)定义的可信平台模块(Trusted Platform Module, TPM)是一种置于计算机中 的新的嵌入式安全子系统。TCG芯片主要通过公钥认证功能,完整性度量功能和远程证明功 能来达到保护终端安全的目的。通过检查PCR度量值的变化,拥有TPM的平台能够发现间 谍软件、木马等恶意程序的存在,并在发现恶意代码后,平台会命令TPM拒绝对敏感数据的 解密操作或者使用私钥来签名或解密的操作。由于TPM所有者的搜全私钥不会被泄露,因 此任何企图获取私钥的恶意行为都不可行。


【发明内容】

[0005] 本发明基于分布式系统和可信计算技术快速普及的背景下,研究把可信计算技术 融入到分布式系统中,以解决分布式系统的安全问题,提出使用可信计算技术尤其是远程 证明技术和数据密封技术来解决分布式文件系统的安全问题的解决方案,具体技术方案如 下。
[0006] 本发明的技术方案是: 一种基于HDFS的可信分布式文件系统,包括远程证明模块和数据密封模块,所述远程 证明模块包括:基于完整性度量架构IMA的远程认证模块,用于实体节点之间进行平台状 态远程证明,验证平台完整性;远程过程调用远程证明模块,用于在HDFS实体节点之间建 立远程过程调用连接的时候,进行远程证明,确保远程过程调用发起者的平台状态完整性; 套接字连接远程证明模块,用于实体节点在连接非可信地址的时候进行远程证明,避免平 台数据泄露。所述数据密封模块用于在远程证明失败后对数据进行密封,通过PCR值对堆 成密钥进行密封,并用对称密钥对数据进行加密,从而使得数据只有在可信的平台状态下 才能被解密,从而确保数据不被泄露。
[0007] 进一步的,上述方案中,所述远程过程调用远程证明模块进行如下步骤:首先远程 过程调用申请者对远程过程调用服务器的远程过程调用端口发起套接字连接请求,远程过 程调用服务器接受连接后,远程过程调用申请者发送远程过程调用报头以及使用服务器公 钥加密的随机数n,远程过程调用服务器使用私钥解密获得随机数η后,发送平台状态寄存 器PCR10的值,随机数η以及度量列表返还给申请者。申请者对接收数据进行严重后,确定 对方是否处于可信的平台状态,即确认对方的平台状态完整性。
[0008] 所述的套接字连接远程过程调用模块进行如下步骤:首先用户进程发起套接字连 接系统调用connect并传入连接地址作为参数,接着系统调用中判断连接地址是否在可信 地址列表中,如果不是则判断可信代理进程是否启动,如果启动则发送连接地址给可信代 理进程,否则直接返回错误。
[0009] 所述的数据密封模块进行如下步骤:首先进程远程证明,如果远程证明成功则生 成一对AES密钥并使用指定平台状态寄存器PCR对密钥进程数据密封,把密封数据导出到 磁盘上。如果远程证明失败,则使用密钥对数据进行加密,并在加密完成后丢弃该密钥。
[0010] 远程证明基于完整性度量架构IMA的静态度量列表。
[0011] 数据密封通过对AES密钥进行密封并使用AES密钥对数据进行加密,避免直接使 用RSA密钥对数据进行加密导致效率降低。
[0012] 本发明在实体节点与实体节点正常的通信交互之前加入远程证明的过程,只有在 通过远程证明和动态度量得出所要通信的实体节点是可信时,才允许进行数据交互。本发 明在实体节点进行套接字连接系统调用时候,如果连接地址非可信地址会进行远程证明, 只有远程证明通过才允许套接字连接,从而避免实体节点完整性被破坏后把数据传输到入 侵者机器。本发明在远程证明失败后,把实体节点上的数据进行数据密封,避免数据泄露。 本发明一方面可以对各个实体进行远程证明,另一方面也可以在系统完整性被破坏后阻止 套接字连接非可信地址从而避免数据泄露,同时能够在远程证明失败后对数据进行密封, 最终实现实际可行的可信分布式文件系统。
[0013] 与现有技术相比,本发明的有益效果是:一、在传统的二进制远程证明失败后,添 加了数据密封机制保护数据的安全;二、远程过程调用中添加远程证明及数据密封机制,使 得分布式文件系统中交互的实体节点都获得完整性度量架构IMA以及TPM提供的可信保 障;三、在套接字连接过程中,添加了对非可信地址进行connect操作的时候,进行远程证 明的操作,从而保障入侵者无法通过网络连接到攻击者服务器并把本地数据直接传送到攻 击者服务器。四、在可信分布式文件系统的基础上,设计并实现了一个网盘应用,该应用针 对可信分布式文件系统的特点,可以定制更进一步的安全性。

【专利附图】

【附图说明】
[0014] 图1为本发明组成示意图; 图2为基于IMA的平台状态远程证明模块设计图; 图3为远程过程调用远程证明模块设计图; 图4为套接字连接远程证明模块设计图; 图5为数据密封模块设计图。

【具体实施方式】
[0015] 以下结合附图对本发明进一步说明,但本发明的实施和保护不限于此,以下若有 未特别说明的符号或过程,均是本领域技术人员可以参照现有技术实现的。
[0016] 实施例一 如图1所示,一种基于HDFS的可信分布式文件系统的设计,包括远程证明模块和数据 密封模块,所述远程证明模块包括:基于完整性度量架构IMA的远程证明模块,用于申请者 建立连接的激活证书,提供申请者拥有合法的TPM的凭证;远程过程调用远程证明模块,用 于在HDFS实体节点之间建立远程过程调用连接的时候,进行远程证明,确保远程过程调用 发起者的平台状态完整性;套接字连接远程证明模块,用于实体节点在连接非可信地址的 时候进行远程证明,避免平台数据泄露。所述数据密封模块用于在远程证明失败后对数据 进行密封,通过PCR值对堆成密钥进行密封,并用对称密钥对数据进行加密,从而使得数据 只有在可信的平台状态下才能被解密,从而确保数据不被泄露。
[0017] 如图2所示,所述的基于完整性度量架构IMA的远程证明模块包括挑战者和被认 证者两个部分,挑战者发送随机数给被认证者,被认证者通过身份密钥对随机数和平台状 态寄存器PCR10的值进行数字签名后返回给挑战者。挑战者使用被认证者的身份密钥公钥 对数据进行加密,并验证随机数是否正确。接着被认证者发送完整性度量架构维护的度量 列表,挑战者通过模拟PCR扩展度量列表操作验证PCR10的值是否一致,如果一致说明度量 列表没有被篡改,通过遍历度量列表查看度量值是否合法,如果都合法则说明被认证者的 平台完整性没有被破坏,并返回度量结果。
[0018] 如图3所示,所述的远程过程调用远程证明模块包括远程过程调用客户端和远程 过程调用服务器,远程过程调用申请者对远程过程调用服务器的远程过程调用端口发起套 接字连接请求,远程过程调用服务器接受连接后,远程过程调用申请者发送远程过程调用 报头以及使用服务器公钥加密的随机数n,远程过程调用服务器使用私钥解密获得随机数 η后,发送平台状态寄存器PCR10的值,随机数η以及度量列表返还给申请者。申请者对接 收数据进行严重后,确定对方是否处于可信的平台状态,即确认对方的平台状态完整性。
[0019] 如图4所示,所述的套接字连接远程过程调用包括以下步骤:首先用户进程发起 套接字连接系统调用connect并传入连接地址作为参数,接着系统调用中判断连接地址 是否在可信地址列表中,如果不是则对可信代理进程是否启动进行判断,如果启动则发送 连接地址给可信代理进程,否则直接返回错误。所述的可信地址列表包括INADDR_ANY, INADDR_L0CALH0ST等共i^一个本地地址,以及集群内部其他交互机器的IP地址。所述发送 连接地址给可信代理使用了 Netlink作为内核和用户进行数据交互方法。所述tPid表示 可信代理进程的进程号,当系统启动的时候初始化为-1,当可信代理进程启动后初始化为 可信代理进程的进程号。所述ERR表示系统调用返回错误值。
[0020] 如图5所示,所述的数据密封模块包括以下步骤:首先进程远程证明,如果远程证 明成功则生成一对AES密钥并使用指定平台状态寄存器PCR对密钥进程数据密封,把密封 数据导出到磁盘上。如果远程证明失败,则使用密钥对数据进行加密,并在加密完成后丢弃 该密钥。
【权利要求】
1. 一种基于HDFS的可信分布式文件系统,包括远程证明模块和数据密封模块,其特征 在于所述远程证明模块包括: 基于完整性度量架构IMA的远程认证模块,用于实体节点之间进行平台状态远程证 明,验证平台完整性; 远程过程调用远程证明模块,用于实体节点进行通信交互时进行平台完整性验证; 套接字连接远程证明模块,用于实体节点对非可信地址进行套接字连接系统调用时进 行平台完整性验证; 所述数据密封模块用于实体节点进行远程证明失败后,对平台数据进行数据密封。
2. 根据权利要求1所述的基于HDFS的可信分布式文件系统,其特征在于所述基于完 整性度量架构IMA的远程证明模块具体用于实现如下过程:首先挑战者发送随机数给被认 证者,被认证者通过身份密钥对随机数和平台状态寄存器PCR10的值进行数字签名后返回 给挑战者;挑战者使用被认证者的身份密钥公钥对数据进行加密,并验证随机数是否正确; 接着被认证者发送完整性度量架构维护的度量列表,挑战者通过模拟PCR扩展度量列表操 作验证PCR10的值是否一致,如果一致说明度量列表没有被篡改,通过遍历度量列表查看 度量值是否合法,如果都合法则说明被认证者的平台完整性没有被破坏,并返回度量结果。
3. 根据权利要求1所述的基于HDFS的可信分布式文件系统,其特征在于所述远程过程 调用远程证明模块具体用于实现如下过程:首先远程过程调用申请者对远程过程调用服务 器的远程过程调用端口发起套接字连接请求,远程过程调用服务器接受连接后,远程过程 调用申请者发送远程过程调用报头以及使用服务器公钥加密的随机数n,远程过程调用服 务器使用私钥解密获得随机数η后,发送平台状态寄存器PCR10的值,随机数η以及度量列 表返还给申请者;申请者对接收数据进行严重后,确定对方是否处于可信的平台状态,即确 认对方的平台状态完整性。
4. 根据权利要求1所述的基于HDFS的可信分布式文件系统,其特征在于所述的套 接字连接远程证明模块具体用于实现如下过程:首先用户进程发起套接字连接系统调用 connect并传入连接地址作为参数,接着系统调用中判断连接地址是否在可信地址列表中, 如果不是则判断可信代理进程是否启动,如果启动则发送连接地址给可信代理进程,否则 直接返回错误。
5. 根据权利要求1所述的基于HDFS的可信分布式文件系统,其特征在于:所述的数据 密封模块具体用于实现如下过程:首先进行远程证明,如果远程证明成功则生成一对AES 密钥并使用指定平台状态寄存器PCR对密钥进程数据密封,把密封数据导出到磁盘上;如 果远程证明失败,则使用密钥对数据进行加密,并在加密完成后丢弃该密钥。
6. 根据权利要求1所述的基于HDFS的可信分布式文件系统,其特征在于:所述平台状 态远程证明是基于IMA完整性度量架构的静态度量结果的。
7. 根据权利要求1所述的基于HDFS的可信分布式文件系统,其特征在于:所述的远程 证明模块和数据密封模块能够有效防御高阶持续性威胁APT。
【文档编号】G06F17/30GK104092733SQ201410281244
【公开日】2014年10月8日 申请日期:2014年6月20日 优先权日:2014年6月20日
【发明者】刘发贵, 张晓杰, 王亮明, 石明, 郭小军 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1