在这种方案中并没有采用数字签名机制,而只是在写数据时计算HMAC散列来鉴别写者。HMAC不同于数字签名之处,在于用户端可以验证一个基于密钥的散列也可以创建这个散列。写操作需要客户端加密安全数据对象,并且计算HMAC,然后将这些信息发送给存储节点。存储节点使用存储在认证对象中的共享鉴别密钥重新计算HMAC来鉴别发送者的身份。如果通过鉴别,客户有权修改或创建安全数据对象,存储节点完成写操作,并更新相应的数据结构。注意存储节点并不存储HMAC。如果读数据的用户不是创建这个数据对象的用户,那么需要重新计算一个新的HMAC。
2.3数据读写过程
数据的读写过程大致相同,首先用户将与存储节点共享的鉴别密钥私钥提供给客户端,这可以通过要求用户输入密码形式或是鉴别服务器来完成。对于每一个文件,通过文件的放置与定位算法找到相应的存储节点,完成存储节点鉴别用户的合法性。如果鉴别用户有权对此文件读或写操作,打开文件,获得相应的密钥文件标志,然后去读密钥文件,得到该文件的加/解密密钥。如果是写操作,这个密钥用于加密数据;如果是读操作,用于解密数据。
2.4数据对象的复制机制
随着系统规模的扩大,节点失效和磁盘损坏现象不可避免,因此考虑到数据对象的冗余是很有必要的。数据对象标志符DOID由事先定义好的函数,根据文件在其名字空间的全路径和名字空间的标志生成。将数据对象的全局统一标志DOID作为SHA-1算法的输入,产生一个160 bit的消息摘要x;将160 bit的消息摘要x分成五个32 bit伪随机数k1~k5。如果需要更多的随机数,可以将x作为SHA-1算法的输入,产生另外五个32 bit伪随机数k6~k10。假定系统要求的副本数量是k,需要产生三倍于k的伪随机数,再根据这些伪随机数将数据对象散列到不同的磁盘上。产生三倍于k的伪随机数降低了3k个伪随机数全部散列到同一个磁盘的概率。
2.5数据对象的修复机制
系统在运行一段时间后,存储在系统中的数据副本可能会因为某些不可预知的原因而丢失或者被损坏,从而降低了存储在系统中数据对象的可靠性。单独使用冗余机制无法有效地提高分布式存储系统中数据存储的可靠性。对于高可靠性的存储系统,设计并实现一个简单而且高效的修复算法相当重要。在分布式文件存储系统中存在三种基本的修复机制,即本地数据维护、被动检测和主动扫描。文献[8]中详细叙述了在OceanStore中如何应用这三种修复机制以及相应的性能分析。
考虑到系统实现的复杂性及性能,本文设计了简单的数据对象副本修复机制。系统中每个存储节点定期扫描存储在本地的文件元数据信息,并检查在其他副本存储节点上的元数据信息,在多于quorum个(包括quorum)元数据信息中找出具有最大时间戳的元数据信息,并覆盖其他副本。3性能分析
3.1修复算法的可行性
首先分析修复算法的可行性,包括带宽消耗和文件的可靠性。假定副本的死亡分布服从负指数分布,即Pdeath(t)=1-eλt。其中1/λ是副本的寿命期望。下面是推导过程中用到的其他符号的定义:bandwidth为系统节点的带宽;N为系统的节点数目;F/N是每个节点保存在系统中文件的平均数目;filesize为系统中文件的平均大小;uptime为每个节点每天的平均在线时间;T为系统的修复周期;R为一个文件的副本数。
假如没有修复,一个文件经过T时间后它存活的可能性为Pliving(1)=1-PRdeath(T)。文件的修复是需要时间的,修复文件所需时间的上界是一个节点修复所有丢失的副本所需的时间,即T2R=(filesize×R)/bandwidth。一个节点进行修复时可能由于下线等原因导致修复失败,可以假定修复在上线期间是均匀进行的,则修复失败的上限为T2r/uptime。如果修复时文件还存活,从这一时刻往前看:如果修复成功,死亡分布的无记忆性,文件将以概率1存活下去;否则,文件以Pliving(T)的概率继续存活。由此可以得到文件存活的递推公式:
3.2系统的可扩展性分析
系统所采用的鉴别机制中,在客户端和存储节点执行的操作分工如表1所示。值得一提的是这种方案不需要产生签名或验证签名,而在读和写操作时,存储节点均要计算一次HMAC。因为加密比散列需要更长的时间,存储节点的工作量还不到客户端完成工作量的1/2,这将保证系统能够扩展到更大规模。存储节点的瓶颈主要是在网卡,因为完成散列的操作要比在100 Mbps链路上传送包所花费的时间少得多。
4结束语
集群存储是一种网络存储体系结构,本文重点介绍了构建在该存储体系结构上的一种数据安全存取方案。它采用基于共享鉴别密钥的鉴别机制,防止未授权用户的阅读和修改,并且对上层应用透明。系统采用广泛用于加/解密技术中的SHA-1算法作为密码校验函数,与采用数字签名鉴别机制相比,该算法具有较高的性能。系统修复机制能够自动地修复系统中存在错误的数据对象,保证了系统的高可靠性。通过分析推导,证明系统的自动修复机制是可行的。通过比较客户端和存储节点所执行的任务,存储节点的工作量不到客户端的一半,从而保证系统能够扩展到更大规模。
【集群存储系统数据安全研究论文】相关文章:
5.产业集群分析论文
本文来源:http://www.010zaixian.com/shiyongwen/2164628.htm