[发明专利]一种分布式存储系统及其文件共享方法有效
申请号: | 201210246680.6 | 申请日: | 2012-07-17 |
公开(公告)号: | CN102821096A | 公开(公告)日: | 2012-12-12 |
发明(设计)人: | 周可;李春花;李坦;刘相文;陈杰;申爱花 | 申请(专利权)人: | 华中科技大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 方放 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 存储系统 及其 文件 共享 方法 | ||
1.一种分布式存储系统,包括客户端、服务器、安全管理器和密钥服务器,建立在支持POSIX接口的操作系统上,其特征在于:
所述客户端通过局域网分别连接安全管理器和服务器,服务器通过局域网分别连接安全管理器和密钥服务器;
(1)所述客户端作为用户代理访问安全管理器和服务器,接受用户的远程登陆;包括下述操作:
(1.1)接受用户身份认证请求后,向安全管理器提出用户身份认证请求,认证通过,进行(1.2);
(1.2)允许用户登陆,待用户向客户端提出数据服务请求后,客户端查询是否存有该用户的权限证书且权限证书没有过期,是则转步骤(1.3);否则向安全管理器提出用户权限验证请求;数据服务请求由请求类型、文件名和操作参数组成,请求类型包括新建文件、读文件、写文件、删除文件,文件名为要操作的文件的路径名称,操作参数包括要读取或者写入数据的文件偏移量、读取或者写入数据的大小、写入的数据;用户权限验证请求由文件名和用户名构成,文件名为要操作的文件所在的路径名;
(1.3)客户端根据权限证书确认用户本次数据服务请求是否符合权限,是则进行步骤(1.4);否则拒绝用户本次数据服务请求,转步骤(1.2);
(1.4)客户端将用户的数据服务请求以及权限证书中的文件保密状态和密钥号提交给服务器;
(2)所述服务器包括文件系统和加解密模块,文件系统为EXT3或者EXT4文件系统,用于存储文件,并通过可移植操作系统接口接受文件操作;加解密模块利用AES算法实现文件的加密和解密;
(2.1)服务器进行下述操作:
(2.1.1)接受客户端所发送用户的数据服务请求以及权限证书中的文件保密状态和密钥号,根据文件保密状态判断该数据服务请求所对应文件是否为加密文件,是则进行步骤(2.1.2),否则转步骤(2.1.7);
(2.1.2)服务器判断用户的数据服务请求的请求类型:新建文件转步骤(2.1.3),读文件转步骤(2.1.4);写文件转步骤(2.1.5);删除文件转步骤(2.1.6);
(2.1.3)服务器向密钥服务器提出密钥请求,密钥请求类型为密钥申请,接收到密钥服务器生成新密钥及其密钥号后,服务器通过POSIX接口在文件系统上新建文件,如果新建文件成功,则向客户端发送操作成功信息,同时向安全管理器发送添加加密文件信息请求,请求参数包括文件名、文件保密状态、文件拥有者、密钥号;如果新建文件失败,则向客户端发送操作失败信息;
(2.1.4)服务器向密钥服务器提出密钥请求,密钥请求类型为密钥查询,服务器收到密钥服务器的密钥后,通过POSIX接口在文件系统上读取文件内容,如果读取成功,则向加解密模块发送文件解密请求,请求参数为该密钥和加密数据,服务器收到加解密模块返回解密数据后,向客户端返回解密的数据;如果读取失败则向客户端发送操作失败信息;
(2.1.5)服务器向密钥服务器提出密钥请求,密钥请求类型为密钥查询,服务器收到密钥服务器的密钥后,向加解密模块发送文件加密请求,请求参数为该密钥和未加密数据,服务器收到加解密模块返回加密数据后,通过POSIX接口把加密数据写入文件系统,如果写入成功,则向客户端发送操作成功信息;如果写入失败,则向客户端发送操作失败信息;
(2.1.6)服务器向密钥服务器提出密钥请求,密钥请求类型为密钥销毁,服务器收到密钥服务器操作成功信息后,通过POSIX接口在文件系统上将相应文件删除,如果删除成功,则向客户端发送操作成功信息,同时向安全管理器发送删除文件信息请求,请求参数包括文件名;如果删除失败,则向客户端发送操作失败信息;
(2.1.7)服务器判断用户的数据服务请求的请求类型:新建文件转步骤(2.1.8),读文件转步骤(2.1.9),写文件请求转步骤(2.1.10),删除文件转步骤(2.1.11);
(2.1.8)服务器通过POSIX接口在文件系统上新建文件,如果新建文件成功,则向客户端发送操作成功信息,同时向安全管理器发送添加非加密文件信息请求,请求参数包括文件名、文件保密状态、文件拥有者;如果新建文件失败,则向客户端发送操作失败信息;
(2.1.9)服务器通过POSIX接口在文件系统上读取文件内容,如果读取成功,则向客户端发送读取的数据;如果读取失败则向客户端发送操作失败信息;
(2.1.10)服务器通过POSIX接口将数据写入文件系统,如果写入成功,则向客户端发送操作成功信息;如果写入失败,则向客户端发送操作失败信息;
(2.1.11)服务器通过POSIX接口在EXT3文件系统上将相应文件删除,如果删除成功,则向客户端发送操作成功信息;如果删除失败,则向客户端发送操作失败信息;
(2.2)所述加解密模块,实现文件的加密和解密,包括如下操作:
(2.2.1)接收服务器的文件加密请求,请求参数为密钥和未加密数据,利用密钥使用AES算法加密未加密数据,如果操作成功,则向服务器返回加密数据,否则,向服务器返回操作失败信息;
(2.2.2)接收服务器的文件解密请求,请求参数为密钥和加密数据,利用密钥使用AES算法解密加密数据,如果操作成功,则向服务器返回解密数据,否则向服务器返回操作失败信息;
(3)所述安全管理器具有用户信息表、文件信息表、文件组信息表和权限信息表,分别用于存储用户信息、文件信息、文件组信息、权限信息;用户信息表表项为用户序号、用户名、用户密码;文件信息表表项为文件序号、文件名、文件组名、文件保密状态、文件密钥号、文件拥有者;文件组信息表表项为文件组序号、文件组名、文件组拥有者;权限信息表表项为文件组名、用户名、权限;安全管理器判断请求的来源,来自客户端的请求转步骤(3.1),来自服务器的请求转步骤(3.2),来自用户的请求转步骤(3.3);
(3.1)安全管理器收到客户端的请求后,判断请求类型,用户身份认证请求转步骤(3.1.1),用户权限验证请求转步骤(3.1.2);
(3.1.1)安全管理器接收客户端的用户身份认证请求,用户身份认证请求包括用户名和用户密码;判断用户名和用户密码是否均与用户信息表中已保存的用户名和用户密码相同,是则通知客户端认证通过;否则为非法用户,通知客户端拒绝用户登陆;
(3.1.2)安全管理器接收客户端的用户权限验证请求,用户权限验证请求由文件名和用户名构成,文件名为要操作的文件所在的路径名;根据用户信息表、权限信息表和文件信息表验证该用户是否具有相应权限,是则向客户端发放该用户所具有的权限证书;否则通知客户端该用户本次操作无权限;权限证书由用户名、文件名、权限、文件保密状态、密钥号和过期时间组成,权限包括新建权限、读权限、写权限、删除权限;文件保密状态表示文件为加密文件或者为非加密文件;密钥号为所涉及加密文件的密钥的唯一号码,非加密文件的密钥号为空;
(3.2)安全管理器收到服务器的请求后,判断请求类型,添加加密文件信息请求转步骤(3.2.1),添加非加密文件信息请求转步骤(3.2.2),删除文件信息请求转步骤(3.2.3);
(3.2.1)安全管理器在文件信息表中添加新的记录,记录文件名、文件保密状态、密钥号和文件拥有者,如果操作成功,则向服务器发送成功信息;否则向服务器发送失败信息;
(3.2.2)安全管理器在文件信息表中添加新的记录,记录文件名、文件保密状态和文件拥有者,如果操作成功,则向服务器发送成功信息;否则向服务器发送失败信息;
(3.2.3)安全管理器判断在文件信息表中是否存在所述文件名,是则删除该文件名对应的文件记录,向服务器发送成功信息;否则向服务器发送失败信息;
(3.3)安全管理器接收用户的身份认证请求和安全策略服务请求,进行下述操作:
(3.3.1)收到用户的身份认证请求后,判断用户名和用户密码是否均与用户信息表中已保存的用户名和用户密码相同,是则转步骤(3.3.2);否则为非法用户,拒绝用户登陆;
(3.3.2)允许用户登陆安全管理器,待用户向安全管理器提出安全策略服务请求后,转步骤(3.3.3);安全策略服务请求由请求类型和参数构成,请求类型为新建文件组时,参数为要新建的文件组名;请求类型为删除文件组时,参数为要删除的文件组名;请求类型为授予权限请求时,参数为用户名、文件组名、授予的访问权限;请求类型为撤销权限请求时,参数为用户名、文件组名、撤销的访问权限;请求类型为文件移动请求时,参数为文件名和文件组名;
(3.3.3)安全管理器收到用户的安全策略服务请求后,判断安全策略服务请求类型,新建文件组请求转步骤(3.3.4),删除文件组请求转步骤(3.3.5),授予权限请求转步骤(3.3.7),撤销权限请求转步骤(3.3.9),文件移动请求转步骤(3.3.11);
(3.3.4)安全管理器在文件组信息表中添加新的记录,记录新的文件组名及其拥有者名称,拥有者名称为该用户的用户名,如果操作成功,则向用户发送成功信息,否则向用户发送失败信息;
(3.3.5)安全管理器判断在文件组信息表中是否存在所述文件组名且该文件组名的拥有者为该用户,是则删除该文件组名对应的文件组记录,转步骤(3.3.6),否则向用户发送失败信息;
(3.3.6)安全管理器在权限信息表中名查找该文件组名是否存在,是则删除该文件组名对应的所有记录,向用户发送成功信息;否则向用户发送失败信息;
(3.3.7)安全管理器判断在文件组信息表中是否存在所述文件组名且该文件组名的拥有者为该用户,是则转步骤(3.3.8);否则向用户发送失败信息;
(3.3.8)判断在权限信息表中是否存在所述文件组名且用户名为该用户,是则在该文件组名对应的权限字段中添加用户请求的权限;否则在权限信息表中添加一条包括该文件组名、用户名和请求权限的新记录;
(3.3.9)安全管理器判断在文件组信息表中是否存在所述文件组名且该文件组名的拥有者为该用户,是则转步骤(3.3.10);否则向用户发送失败信息;
(3.3.10)判断在权限信息表中是否存在所述文件组名且用户名为该用户,是则在该文件组名对应的权限字段中删除用户请求的权限;否则向用户发送失败信息;
(3.3.11)安全管理器判断在文件组信息表中是否存在所述文件组名且该文件组名的拥有者为该用户,是则转步骤(3.3.12);否则向用户发送失败信息;
(3.3.12)判断在文件信息表中是否存在所述文件名且该文件名的拥有者为该用户,是则将该文件名对应的文件组名修改为请求中的文件组名,向用户发送成功信息;否则向用户发送失败信息;
(4)所述密钥服务器具有密钥信息表,密钥信息表表项为密钥号、与其对应的密钥、密钥长度,初始状态下,密钥信息表各表项为空;密钥服务器接收服务器的密钥请求,进行下述操作:
(4.1)判断密钥请求类型:判断密钥请求的类型,密钥申请则转步骤(4.2),密钥查询则转步骤(4.3),密钥销毁则转步骤(4.4);密钥请求由类型和密钥号构成,类型分为密钥申请、密钥查询、密钥销毁,密钥号为密钥对应的唯一编号,当密钥请求的类型为密钥申请时,密钥号为空;
(4.2)生成新密钥:利用密钥生成算法生成一个新密钥,并为新密钥分配一个唯一的密钥号,将新密钥、密钥号和密钥长度存储在密钥信息表内,然后把新密钥及其密钥号发送给服务器;
(4.3)查询密钥:在密钥信息表中查询密钥请求中的密钥号是否存在,是则将对应的密钥发送给服务器;否则向服务器发送操作失败信息;
(4.4)删除密钥:在密钥信息表中查询密钥请求中的密钥号是否存在,是则删除与密钥号对应的密钥,向服务器发送操作成功信息;否则向服务器发送操作失败信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210246680.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种能够自动复位的缓冲装置
- 下一篇:新型五谷养生粉生产装置