对分布式文件系统的存取验证的方法和分布式文件系统的制作方法

文档序号:6434309阅读:202来源:国知局
专利名称:对分布式文件系统的存取验证的方法和分布式文件系统的制作方法
技术领域
本发明涉及文件系统验证,更具体地,涉及对保存在分布式网络或对等 (peer-to-peer)文件系统中的文件进行存取的用户的验证。
背景技术
分布式文件系统相对于传统的集中式文件系统具有优势,包括具有改善的容错、 可用性、可扩展性和性能。
已知的分布式文件系统的一个问题是,因为用户的密码被存储在网络上的服务器上,并在用户登录之后通过网络传输,因此用户的匿名性可能受到影响。这就有可能截取密码,并可能将其用于对分布在分布式文件系统上的文件进行未经授权的存取。
已知的分布式文件系统的另一个问题是关于文件位置的信息被存储在网络上。这更容易使未经授权的用户使用该信息来识别文件或文件组块的位置,从而对分布在对等文件系统上的文件进行未经授权的存取。发明内容
本发明的主题是保护用户的匿名性,并在分布式文件系统上为用户提供安全的、 私有的数据存储。
根据本发明的第一方面,提供了一种对分布式文件系统的存取进行验证的方法, 其包括以下步骤
接收用户标识符;
获取加密的确认记录,所述加密的确认记录由所述用户标识符识别;
对所述加密的确认记录进行解密,从而提供解密的信息;以及
使用所述解密的信息对所述分布式文件系统中的数据的存取进行验证。
优选地,所述分布式文件系统上执行所述接收、获取和验证步骤的节点不同于执行所述解密步骤的节点。
优选地,该方法还包括使用散列法生成用户标识符的步骤。
因此,用户标识符是唯一的,并适用于识别唯一的确认记录。
优选地,验证存取步骤还包括用用户标识符进行数字签名的步骤。
这就提供了能够被可信的鉴权机构确认的验证。
优选地,该方法还包括使用所签名的用户标识符作为会话通行证,以对分布式文件系统的多个存取进行验证。
其允许对扩展的会话进行持续验证。
优选地,解密步骤包括对数据的第一组块在所述分布式文件系统中的地址进行解密,所述验证步骤进一步包括确定所述第一组块在所述地址处的存在性的步骤。
这有效地结合了验证和开始从系统获取数据的任务。
优选地,该方法包括使用第一组块的内容从分布式文件系统获得更多的组块。
因此,不会在分布式文件系统上的一个位置持续具有潜在的易损坏的记录,因为用户节点在登录到系统之后构造其文件位置的数据库。
根据本发明的第二方面,提供了分布式文件系统,其包括
存储模块,适用于存储加密的确认记录;
客户节点,其包括解密模块,所述解密模块适用于对加密的确认记录进行解密,从而提供解密的信息;以及
检验节点,其包括
接收模块,所述接收模块适用于接收用户标识符;
获取模块,适用于从所述存储模块获取加密的确认记录,所述加密的确认记录由所述用户标识符识别;
传输模块,适用于将所述加密的确认记录传输至所述客户节点;以及
验证模块,适用于使用来自所述客户节点的所述解密的信息,验证对所述分布式文件系统中的数据的存取。
优选地,客户节点进一步适用于使用散列生成用户标识符。
优选地,验证模块进一步适用于通过用用户标识符进行数字签名来验证存取。
优选地,所签名的用户标识符被用作会话通行证以对客户节点对分布式文件系统的多个存取进行验证。
优选地,解密模块进一步适用于从确认记录解密数据的第一组块在分布式文件系统中的地址进行解密,以及验证模块进一步适用于通过确定第一组块在该地址处的存在性来验证存取。
优选地,客户节点进一步适用于使用第一组块的内容从分布式文件系统获得更多组块。
根据本发明的第三方面,提供了包括程序指令的至少一个计算机程序,用于使至少一个计算机实现根据第一方面的方法。
优选地,至少一个计算机程序被实现在记录介质或只读存储器上,被存储在至少一个计算机存储器内,或被承载在电子载波信号上。
附图简要说明
仅参考附图通过实施例对本发明进行描述,其中


图1以示意性的形式图示了根据本发明的一个实施方式的对等网络;以及
图2图示了根据本发明的优选实施方式的验证的流程图。
具体实施方式
参考图1,示出了通过通信网络14将节点4到12相连的对等网络2。这些节点可以是个人计算机(PC)或能够实现操作本发明所需要的处理、通信和/或存储操作的任意其它设备。文件系统将通常比图1所示具有更多的、所有类型的节点,PC可作为本文所描述的一种或多种类型的节点。数据节点4和6将文件组块16存储在分布式文件系统中。确认记录节点8具有存储模块18,存储模块18用于存储加密的确认记录,该加密的确认记录由用户标识符识别。
客户节点10具有模块20,模块20用于用户标识符的输入和生成。客户节点10还具有解密模块22、组块位置数据库M和存储器沈,解密模块22用于对加密的确认记录进行解密从而提供解密的信息,组块位置数据库M和存储器沈分别用于获取的组块和从这些获取的组块组合的文件。
检验节点12具有接收模块观,接收模块观用于从客户节点接收用户标识符。获取模块30被配置为从数据节点获取加密的确认记录,该加密的确认记录由用户标识符识别。可选地,在优选的实施方式中,确认记录节点8与检验节点12是相同的节点,S卩,存储模块18是检验节点12的一部分(图1未示出)。传输模块32将加密的确认记录发送至客户节点。验证模块34使用解密的信息,对分布在数据节点上的数据组块的存取进行验证,
参考图2,在图表上示出了本发明操作的更详细的流程,在左侧40示出了在用户 PC(客户节点)处执行的步骤,在中间42示出了检验PC(节点)执行的步骤,在右侧44示出了数据PC (节点)执行的步骤。
登陆框由46表示,其需要用户的邮箱地址(与用于客户节点软件安装和注册过程中的邮箱地址相同)和用户的PIN号。如果用户是“主用户”,则已经将某些细节存储在PC 上。如果用户是访问者,则出现登陆框。
根据这两个数据项,在步骤48创建160位长的内容散列号,例如,SHA(安全散列算法)。该“散列”当前称为“用户ID关键字”,这样,将该“散列”归类为系统中的“未经检验的”用户ID关键字。
在步骤50,用户PC上的软件将该未经检验的用户ID关键字和标准的‘hello’码元组合,以在步骤52创建“hello. Packet".,然后在因特网上将该hello. Packet和定时的有效性一起传输。
第一节点(在该说明书中被称为“检验节点”)将获得hello. Packet,当hello. I^cket的用户ID关键字元与在其存储区域内所存储的、加密的确认记录文件匹配56时,在步骤M,第一节点识别该hello. Packet的用户ID关键字元。登录尝试监控系统确保最多三次响应。在多次尝试后,检验PC创建“黑名单”,用于传输至对等PC。可选地,如果发现了 “黑名单”登录,则将警告返回给用户,并且可要求用户执行病毒检测。
然后,检验节点通过互联网将加密的确认记录文件返回给用户。在步骤58,由对话框60请求用户的密码短语,然后将允许对该确认记录文件进行解密。
当在步骤62将确认记录文件解密后,在步骤64提取包括“解密的地址”的第一数据组块的详细内容,在步骤66,用户PC将请求发送回检验节点,用于使该检验节点对“解密的地址”处的第一 “文件-组块ID”发起查询,其中,该“解密的地址”提取自解密的确认记录文件。
检验节点担当“中继节点”,并对“解密的地址”处的此“文件-组块ID”发起“仅通知”查询。
假设某些其它节点(在该实施方式中被称为“数据节点”)在步骤68已经识别该请求并在步骤70发送回有效的“仅通知”消息,那么,对应于由检验节点发送的请求的“文件-组块ID”确实存在,然后检验节点在步骤72用初始的用户ID关键字进行数字签名,然后将其发送回给用户。
在步骤74,一旦用户接收到用户ID关键字,该经验证的用户ID关键字则被用作用户的会话通行证。在步骤76,该用户PC继续在网络上构造由用户支持的文件系统的数据库。该数据库描述了构成用户的文件系统的所有组块的位置。
下面描述本实施方式的进一步细节。通过加密的点对点信道采用“代理-控制的” 握手程序,以确保合法所有者对系统、对用户的文件存储数据库、对本文所述的文件进行经授权的存取。通过生成称为“用户ID关键字”的“未经检验的加密的散列”,从用户登录的 PC ( “用户PC”)发起握手检验,优选地,该“用户ID关键字”是根据用户注册的邮箱地址及其PIN号码创建的。在因特网上将该“散列”作为“hello, packet”传输,然后由将此用户ID识别为与该系统所保存的特定数据相关联的任意系统获得该“散列”。然后该PC变成 “检验PC”并且将在验证过程中首先作为用户PC进入系统的“网关”。由检验PC保存的数据的加密项将临时用作“确认记录”,该数据的加密项直接与用户标识符相关联并且保存属于该用户的大量数据组块的具体地址,该大量数据组块位于该对等分布式文件系统中的别处。将此“确认记录”返回给用户PC用于解密,期望仅有合法的用户才能够提供将允许该 “确认记录”的精确解密的特定信息。
在成功解密之后,用户PC从检验记录提取第一数据组块的地址和名字,并将其与请求检验该“数据组块”在特定编址的PC上的存在性的请求一起发送回检验PC。当“数据 PC”对该“数据存取测试”做出肯定响应时,检验PC用用户ID关键字进行签名并将其传回给用户PC。该操作通知用户PC,该用户能够对该系统进行全权存取,于是,第一操作是获取用户的个人数据库。
应该注意,在此实施方式中,如果没有首先设立加密的信道,例如TLS (传输层安全性)或SSL (安全套接层),则不能通过任何的节点实现通信。同等端通过加密的信道与另一同等端进行对话,其它同等端(代理服务器)请求信息(例如,用于请求一些空间以保存信息或请求获取文件)。在验证过程中,在每个通信端处的所有同等端之间形成加密的链路,并通过代理服务器形成加密的链路。这有效地禁止了窥探者探测谁与谁对话以及发送或获取了什么。用于自身验证的初始握手也通过加密的链路实现。
通过认证的通行节点提供安全连接,以不需要干涉的方式实现,每个节点都通过另一节点验证,无论何种理由(欺骗检测、从任意节点窥视、或用捕捉该节点的任意无效算法进行窥视),任意无效事件或数据都将使由该节点创建的链路无效。这对用户是完全透明的。
可加入进一步的修改和改进,而不背离本文所述的本发明的范围。
权利要求
1.一种用于对分布式文件无服务器系统的存取进行验证的方法,其包括以下步骤 接收用户标识符;获取加密的确认记录,所述加密的确认记录由所述用户标识符识别; 对所述加密的确认记录进行解密,从而提供解密的信息;以及使用所述解密的信息对所述分布式文件系统中的数据的存取进行验证。
2.如权利要求1所述的方法,其中,所述分布式文件系统上执行所述接收、获取和验证步骤的节点不同于执行所述解密步骤的节点。
3.如权利要求1或2中的任一权利要求所述的方法,所述方法进一步包括使用散列生成所述用户标识符的步骤。
4.如前述任一权利要求所述的方法,其中所述用户标识符是唯一的,并适用于识别唯一的确认记录。
5.如前述任一权利要求所述的方法,其中所述验证步骤进一步包括用所述用户标识符进行数字签名的步骤。
6.如权利要求5所述的方法,其中,所述方法进一步包括将所签名的用户标识符用作会话通行证,以验证对所述分布式文件系统的多个访问。
7.如前述任一权利要求所述的方法,其中所述解密步骤包括对数据的第一组块在所述分布式文件系统中的地址进行解密,所述验证步骤进一步包括确定所述第一组块在所述地址处的存在性的步骤。
8.如权利要求7所述的方法,其中所述方法进一步包括使用所述第一组块的内容从所述分布式文件系统获得更多组块的步骤。
9.一种分布式文件系统,其包括 存储模块,适用于存储加密的确认记录;客户节点,其包括解密模块,所述解密模块适用于对加密的确认记录进行解密,从而提供解密的信息;以及检验节点,其包括接收模块,所述接收模块适用于接收用户标识符;获取模块,适用于从所述存储模块获取加密的确认记录,所述加密的确认记录由所述用户标识符识别;传输模块,适用于将所述加密的确认记录传输至所述客户节点;以及验证模块,适用于使用来自所述客户节点的所述解密的信息,验证对所述分布式文件系统中的数据的存取。
10.如权利要求9所述的分布式文件系统,其中所述客户节点进一步适用于使用散列生成所述用户标识符。
11.如权利要求9或10所述的分布式文件系统,其中所述验证模块进一步适用于通过用所述用户标识符进行数字签名来验证存取。
12.如权利要求11所述的分布式文件系统,其中所签名的用户标识符被用作会话通行证,以验证所述客户节点对所述分布式文件系统的多个存取。
13.如权利要求9至12中的任一权利要求所述的分布式文件系统,其中所述解密模块进一步适用于对来自所述确认记录的数据的第一组块在所述分布式文件系统中的地址进行解密,以及所述验证模块进一步适用于通过确认所述第一组块在所述地址处的存在性来验证存取。
14.如权利要求13所述的分布式文件系统,其中所述客户节点进一步适用于使用所述第一组块的内容从所述分布式文件系统获得更多组块。
全文摘要
本发明涉及文件系统验证,更具体地,涉及对保存在无服务器分布式文件系统或对等文件系统中的文件进行存取的用户的验证。本发明的目标是保护用户的匿名性以及在无服务器分布式文件系统上为用户提供安全的、私有的数据存储。本发明提供了一种用于对分布式文件系统的存取进行验证的方法,该方法包括如下步骤接收用户标识符;获取加密的确认记录,所述加密的确认记录由所述用户标识符识别;对所述加密的确认记录进行解密,从而提供解密的信息;以及使用所述解密的信息对所述分布式文件系统中的数据的存取进行验证。
文档编号G06F17/30GK102510370SQ20111029153
公开日2012年6月20日 申请日期2007年6月11日 优先权日2006年7月4日
发明者大卫·欧文 申请人:大卫·欧文
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1