一种云存储系统的安全认证方法

文档序号:7800229阅读:261来源:国知局
专利名称:一种云存储系统的安全认证方法
技术领域
本发明属于计算机存储技术和信息安全技术领域,具体涉及一种云存储系统的安全认证方法。
背景技术
云存储系统是在云计算概念上延伸和发展出来的一个新的概念,云存储系统对使用者来讲,不是指某一个具体的设备,而是指一个由许多存储设备和服务器所构成的集合体。云存储系统的安全,根本的目标是保证存储和访问数据的安全,所以在进行授权用户访问数据前,云存储系统应该认证该用户的身份。当用户访问一个数据对象时,通过在认证端查询该数据对象的访问控制列表,如果能够找到该用户的访问控制项,并且具有请求操作的权限时,才会授予用户访问数据,否则拒绝用户的请求。在云存储系统的环境下,存储端直连于复杂的客户网络以获取系统的高并发性,因此,认证端和存储端均需要验证用户对文件的访问权限。如何提供具有简单、灵活、高效、高可扩展性和高安全性的认证,成为云存储系统安全认证的设计目的。现有云存储系统的安全认证方法,存储端和认证端必须维护同一个访问权限列表来验证用户对文件是否具有访问权限。当用户和文件数量急剧上升时,必然会产生巨大信息数量的访问控制列表,认证端和存储端需要花费极大的网络控制开销去维护同一个访问权限列表,来保证访问权限的信息一致;同时,查询访问控制列表的时间复杂度会随着访问控制列表的信息数量增大而增大。以下是本发明中的名词解释操作类型,包括“读”、“写”和“删除”,以字符串表示;访问控制库,是记录所有文件的访问控制列表的数据库;访问控制列表,是对应一份文件的所有访问控制项的列表;访问控制项,表示指定用户对文件的访问权限;访问权限,是由不同的操作类型组合而成的集合;例如{ “读”,“写”},{ “写”,“删除” };访问控制串,是用户标识、文件标识和访问权限连接构成的字符串;访问票据,是认证端为用户的文件操作请求计算得到的二进制数据;验证票据,是存储端为用户的用户访问请求计算得到的二进制数据;过期时间点,是访问票据的过期时间,超过这个时间相应的访问票据失效;全局密钥,是认证端和存储端共享的保密的二进制数据;安全通道,是通过密钥协商的方式使得通信双方安全获得共同的密钥,使用该密钥来加密通信消息来保证通信消息传输的安全。

发明内容
本发明提出一种云存储系统的安全认证方法,解决现有安全认证方法存在的认证过程复杂、认证消耗巨大的问题,为云存储系统服务安全提供简单、灵活、高效、高可扩展性和高安全性的认证,防止外部或者内部攻击者对存储系统的侵入。本发明的一种云存储系统的安全认证方法,包括客户端进程、认证端进程和存储端进程;客户端装载所有登陆用户的用户标识,认证端装载访问控制库;启动后,客户端、 认证端、存储端相互之间两两分别连接,认证端和存储端之间建立安全通道;其特征在于A.所述客户端进程,包括下述步骤(Al)客户端随机生成一个访问请求序列号R0,发送给存储端,等待存储端的返回信息,接收到存储端的返回信息后,判断该信息是否序列号存储成功标志,是则转步骤 (A2);否则转步骤(Al);(A2)等待用户发起文件操作请求,接收到文件操作请求后,转步骤(A3);其中,文件操作请求包括用户标识、文件标识和操作类型,操作类型包括“读”、 “写”和“删除”;(A3)向认证端递交文件操作请求,然后判断认证端是否返回用户验证结果,是则缓存用户验证结果,转步骤(A4);否则禁止用户的文件操作请求,转步骤(A2);其中,用户验证结果包括访问票据TK、过期时间点ET和访问控制串V ;(A4)判断当前时间是否超过用户验证结果中的过期时间点ET,是则删除该用户验证结果,转步骤(A3);否则生成一个与存储端同步的访问请求序列号R1,使用用户验证结果,计算访问标识TG:TG = H(TK, Rl, V);其中,HO表示对括号内的变量使用哈希算法进行计算,转步骤(A5);(A5)将访问标识TG、访问字符串V、过期时间点ET以及文件操作请求组成用户访问请求,发送到存储端,然后判断存储端返回的信息类型所需数据,则向用户返回请求所需数据,删除该用户验证结果,转步骤m ;请求过期,则转步骤(A4);拒绝访问,则禁止用户的文件操作请求,删除该用户验证结果,转步骤(A2);其中,存储端返回信息分为所需数据、请求过期和拒绝访问;B.所述认证端进程包括下述步骤(Bi)认证端随机生成一个全局密钥K,通过安全通道向存储端发送全局密钥K ;等待存储端的返回信息,接收到存储端的返回信息,判断该信息是否全局密钥存储成功标志, 是则进行步骤(B2),同时转步骤(B4);否则转步骤(Bi);(B2)等待时间T后,转步骤(B3) ;T = 0. 01秒 1年,由系统设定;(B3)随机生成一把新全局密钥,然后通过安全通道向存储端递交更换密钥请求, 更换密钥请求包括新全局密钥;判断存储端返回的信息是否密钥更新成功标志,是则使用新全局密钥替换原全局密钥,等待时间T后转步骤(B3);否则转步骤(B3);(B4)等待客户端的文件操作请求,接收到客户端递交的文件操作请求后,使用文件操作请求中的文件标识查找访问控制库中相应文件的访问控制列表是否存在,是则转步骤(B5);否则向客户端返回拒绝访问,转步骤(B4);(B5)使用文件操作请求中的用户标识查找访问控制列表中相应用户的访问控制项是否存在,是则转步骤(B6);否则向客户端返回拒绝访问,转步骤(B4);
(B6)判断文件操作请求中的操作类型是否访问控制项中访问权限的子集,是则用户具有访问文件的权限,转步骤(B7);否则用户不具有访问文件的权限,向客户端返回拒绝访问,转步骤(B4);(B7)认证端将用户标识、文件标识和访问控制项中的访问权限连接作为访问控制串V,选取过期时间点ET,计算访问票据TK TK = H (K, V, ET);将TK、ET和V组成用户验证结果,通过安全通道返回给客户端;转步骤(B4);C.所述存储端进程包括下述步骤(Cl)等待认证端发送全局密钥K,接收到认证端发送的全局密钥K,缓存全局密钥 K并判断是否存储成功,是则向认证端返回全局密钥存储成功标志,转步骤(C2),同时转步骤(C3);否则向认证端返回全局密钥存储失败标志,转步骤(Cl);(C2)等待认证端发送更换密钥请求,接收到更换密钥请求后,使用更换密钥请求中的新全局密钥替换原全局密钥;判断全局密钥是否更新成功,是则向认证端返回密钥更新成功标志,转步骤(C2);否则向认证端返回密钥更新失败标志,转步骤(C2);(C3)等待客户端发送的访问请求序列号R0,接收到客户端发送的访问请求序列号RO后,将其缓存并判断是否存储成功,是则向客户端返回序列号存储成功标志,转步骤 (C4);否则向客户端返回序列号存储失败标志,转步骤(C3);(C4)等待客户端的用户访问请求,接收到客户端递交的用户访问请求后,提取用户访问请求中文件操作请求的操作类型,并提取用户访问请求中访问控制串包含的访问权限;然后判断该操作类型是否访问权限的子集,是则用户具有访问文件的权限,转步骤 (C5);否则向客户端返回拒绝访问,转步骤(C4);(C5)判断当前时间是否超过用户访问请求中的过期时间点ET,是则返回客户端请求过期,转步骤(C4);否则转步骤(C6);(C6)存储端生成一个与客户端同步的访问请求序列号Rl ;使用全局密钥K和用户访问请求中的访问控制串V、过期时间点ET计算验证票据TK’ TK' = H(K, V, ET),使用访问请求序列号Rl,计算验证标识TG,TG,= H(TK,,Rl,V);转步骤(C7);(C7)判断验证标识TG’和用户访问请求中的访问标识TG是否相等,是则根据用户访问请求中的文件操作请求向用户返回相应请求所需数据,转步骤(C4);否则向客户端返回拒绝访问,转步骤(C4)。使用本发明时,当存储端收到来自用户的访问请求时,通过计算验证标识来检验用户的操作权限是否合法,因此使得存储端不再需要维护访问控制库,对用户访问请求验证通过简单计算就可以完成,极大程度地减少了存储系统用于访问控制的开销;同时,在确保传送访问票据过程中的机密性和共享全局密钥的机密性前提下,本发明为大规模云存储系统中具有操作权限的用户提供了灵活、安全、可靠和高效的文件访问,也能够有效阻止无权、越权用户或者内部外部攻击者的访问和攻击。


图1为本发明流程示意图;图2为客户端进程示意图;图3为认证端进程示意图;图4为存储端进程示意图;图5为作业流程时序图。
具体实施例方式本发明描述了一种云存储系统的安全认证方法和实现,并在一种分布式文件系统中实现。以下结合实施例和附图对本发明进一步说明。如图1所示,本发明的实施例,包括客户端进程、认证端进程和存储端进程,分别运行在分布式文件系统的客户端主机、认证端主机和存储端主机上;客户端装载所有登陆用户的用户标识,认证端装载访问控制库;A.如图2所示,所述客户端进程,包括下述步骤(Al)客户端随机生成一个访问请求序列号R0,发送给存储端,等待存储端的返回信息,接收到存储端的返回信息后,判断该信息是否序列号存储成功标志,是则转步骤 (A2);否则转步骤(Al);(A2)等待用户发起文件操作请求,接收到文件操作请求后,转步骤(A3);其中,文件操作请求分为五个字段,依次是命令号、命令长度,用户标识,文件标识和操作类型,操作类型包括“读”、“写”和“删除”;文件操作请求的格式如下
权利要求
1. 一种云存储系统的安全认证方法,包括客户端进程、认证端进程和存储端进程;客户端装载所有登陆用户的用户标识,认证端装载访问控制库;启动后,客户端、认证端、存储端相互之间两两分别连接,认证端和存储端之间建立安全通道; 其特征在于A.所述客户端进程,包括下述步骤(Al)客户端随机生成一个访问请求序列号R0,发送给存储端,等待存储端的返回信息,接收到存储端的返回信息后,判断该信息是否序列号存储成功标志,是则转步骤(A2); 否则转步骤(Al);(A2)等待用户发起文件操作请求,接收到文件操作请求后,转步骤(A3); 其中,文件操作请求包括用户标识、文件标识和操作类型,操作类型包括“读”、“写”和 “删除”;(A3)向认证端递交文件操作请求,然后判断认证端是否返回用户验证结果,是则缓存用户验证结果,转步骤(A4);否则禁止用户的文件操作请求,转步骤(A2); 其中,用户验证结果包括访问票据TK、过期时间点ET和访问控制串V ; (A4)判断当前时间是否超过用户验证结果中的过期时间点ET,是则删除该用户验证结果,转步骤(A3);否则生成一个与存储端同步的访问请求序列号R1,使用用户验证结果, 计算访问标识TG:TG = H(TK, Rl, V);其中,HO表示对括号内的变量使用哈希算法进行计算,转步骤(A5); (A5)将访问标识TG、访问字符串V、过期时间点ET以及文件操作请求组成用户访问请求,发送到存储端,然后判断存储端返回的信息类型所需数据,则向用户返回请求所需数据,删除该用户验证结果,转步骤(A2);请求过期,则转步骤(A4);拒绝访问,则禁止用户的文件操作请求,删除该用户验证结果,转步骤(A2);其中,存储端返回信息分为所需数据、请求过期和拒绝访问;B.所述认证端进程包括下述步骤(Bi)认证端随机生成一个全局密钥K,通过安全通道向存储端发送全局密钥K ;等待存储端的返回信息,接收到存储端的返回信息,判断该信息是否全局密钥存储成功标志,是则进行步骤(B2),同时转步骤(B4);否则转步骤(Bi);(B2)等待时间T后,转步骤(B3) ;T = 0.01秒 1年,由系统设定; (B3)随机生成一把新全局密钥,然后通过安全通道向存储端递交更换密钥请求,更换密钥请求包括新全局密钥;判断存储端返回的信息是否密钥更新成功标志,是则使用新全局密钥替换原全局密钥,等待时间T后转步骤(B3);否则转步骤(B3);(B4)等待客户端的文件操作请求,接收到客户端递交的文件操作请求后,使用文件操作请求中的文件标识查找访问控制库中相应文件的访问控制列表是否存在,是则转步骤 (B5);否则向客户端返回拒绝访问,转步骤(B4);(B5)使用文件操作请求中的用户标识查找访问控制列表中相应用户的访问控制项是否存在,是则转步骤(B6);否则向客户端返回拒绝访问,转步骤(B4);(B6)判断文件操作请求中的操作类型是否访问控制项中访问权限的子集,是则用户具有访问文件的权限,转步骤(B7);否则用户不具有访问文件的权限,向客户端返回拒绝访问,转步骤(B4);(B7)认证端将用户标识、文件标识和访问控制项中的访问权限连接作为访问控制串 V,选取过期时间点ET,计算访问票据TK TK = H (K, V, ET);将TK、ET和V组成用户验证结果,通过安全通道返回给客户端;转步骤(B4); C.所述存储端进程包括下述步骤(Cl)等待认证端发送全局密钥K,接收到认证端发送的全局密钥K,缓存全局密钥K并判断是否存储成功,是则向认证端返回全局密钥存储成功标志,转步骤(C2),同时转步骤 (C3);否则向认证端返回全局密钥存储失败标志,转步骤(Cl);(C2)等待认证端发送更换密钥请求,接收到更换密钥请求后,使用更换密钥请求中的新全局密钥替换原全局密钥;判断全局密钥是否更新成功,是则向认证端返回密钥更新成功标志,转步骤(C2);否则向认证端返回密钥更新失败标志,转步骤(C2);(C3)等待客户端发送的访问请求序列号R0,接收到客户端发送的访问请求序列号RO 后,将其缓存并判断是否存储成功,是则向客户端返回序列号存储成功标志,转步骤(C4); 否则向客户端返回序列号存储失败标志,转步骤(C3);(C4)等待客户端的用户访问请求,接收到客户端递交的用户访问请求后,提取用户访问请求中文件操作请求的操作类型,并提取用户访问请求中访问控制串包含的访问权限; 然后判断该操作类型是否访问权限的子集,是则用户具有访问文件的权限,转步骤(C5); 否则向客户端返回拒绝访问,转步骤(C4);(C5)判断当前时间是否超过用户访问请求中的过期时间点ET,是则返回客户端请求过期,转步骤(C4);否则转步骤(C6);(C6)存储端生成一个与客户端同步的访问请求序列号Rl ;使用全局密钥K和用户访问请求中的访问控制串V、过期时间点ET计算验证票据TK’ TK,= H (K, V, ET),使用访问请求序列号R1,计算验证标识TG’ TG,= H(TK,,Rl,V); 转步骤(C7);(C7)判断验证标识TG’和用户访问请求中的访问标识TG是否相等,是则根据用户访问请求中的文件操作请求向用户返回相应请求所需数据,转步骤04);否则向客户端返回拒绝访问,转步骤(C4)。
全文摘要
一种云存储系统的安全认证方法,属于计算机存储技术和信息安全技术领域,解决现有安全认证方法存在的认证过程复杂、认证消耗巨大的问题,为云存储系统服务安全提供简单、灵活、高效、高可扩展性和高安全性的认证,防止外部或者内部攻击者对存储系统的侵入。本发明包括客户端进程、认证端进程和存储端进程;客户端装载所有登陆用户的用户标识,认证端装载访问控制库。本发明通过计算验证标识来检验用户的操作权限是否合法,存储端不再需要维护访问控制库,对用户访问请求验证通过简单计算就可以完成,极大程度地减少了存储系统用于访问控制的开销,为大规模云存储系统中具有操作权限的用户提供了灵活、安全、可靠和高效的文件访问。
文档编号H04L29/06GK102571771SQ20111044448
公开日2012年7月11日 申请日期2011年12月23日 优先权日2011年12月23日
发明者刘相文, 周可, 李坦, 李春花, 申爱花, 罗芳, 陈杰, 雷栋梁 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1