一种云文件安全存储系统及访问控制方法与流程

文档序号:18329345发布日期:2019-08-03 11:53阅读:172来源:国知局
一种云文件安全存储系统及访问控制方法与流程

本发明属于云存储技术领域,更具体地,涉及一种云文件安全存储系统。



背景技术:

大量物联网设备产生了大量的各种各样的数据,如何有效存储和管理这些大数据是数据存储和访问领域的挑战性问题之一。当前,解决该问题最有效的方法是通过云平台存储大数据。这种方式可以大大降低本地数据存储和维护的成本,并且能在连接internet的任何地方向用户提供方便的访问。

然而,将数据文件存储到云平台存在多方面的安全问题。首先,要保证数据私密性,也就是说,云数据存储管理方要保证存储在云平台上的文件是安全的,非法用户即使获得了存储在云平台上的文件也无法得到云文件的原文。其次,要保证数据可认证性,也就是说,要保证访问云文件的用户是经过认证的,未经过认证的用户不能访问存储在云平台中的文件。最后,授权用户在访问云文件时要保证数据完整性,也就是说,要保证授权用户需要访问的云文件未被破坏,是正确的。

当前,关于云文件安全存储及访问控制,不同的机构公开了一些方法。专利申请文件cn102761521a公开了一种云安全存储及共享服务平台,其中的密码模块采用对称密码机制加解密云文件,能保证数据私密性,但无法保证数据可认证性和数据完整性,并且,使用对称密码机制会产生大量对称密钥,导致密钥管理困难。专利申请文件cn105072135a公开了一种云文件共享的授权鉴权方法及系统,其中,“主用户”完成对“从用户”的授权后,将“主用户”的用户名、密码和“从用户”的令牌告知“从用户”,“从用户”登录服务器端时将被鉴权,这种方法能保证数据可认证性,但是,该方法将“主用户”的用户名和密码告知“从用户”,这样“从用户”就可以修改云文件,从而破坏数据完整性。专利申请文件cn103218175a公开了一种多租户的云存储平台访问控制系统,其中,权限管理模块用来验证用户的权限和安全性,能保证数据可认证性,但该发明未考虑数据私密性和数据完整性等云文件安全需求。专利申请文件cn103259762a公开了一种基于云存储的文件加密、解密方法及系统,其中,加密和解密平台对分片存储到云存储平台的文件进行分布式加解密操作,能保证数据私密性,但该发明未考虑数据可认证性和数据完整性等云文件安全需求。

综上,现有云文件存储及访问控制技术仅关注数据私密性、数据可认证性、以及数据完整性的一个方面或两个方面,尚未见报道能同时保证数据私密性、数据可认证性和数据完整性等云文件安全需求的技术。这样,导致现有云文件存储及访问控制技术存在云文件存储及访问控制安全缺陷。例如,不保证数据私密性将导致非法用户能获得云文件原文的后果,不保证数据可认证性将导致未经过认证的用户能访问云文件的后果,不保证数据完整性就不能保证授权用户需要访问的云文件是正确的。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种云文件安全存储系统及访问控制方法,其目的在于采用文件块摘要和身份认证,同时保证数据私密性、数据可认证性和数据完整性,由此解决现有的云文件存储及访问方法不能同时满足以上需求的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种云文件安全存储系统,包括云数据管理服务器、以及双重校验服务器;

所述云数据管理服务器,包括公有云存储和私有云存储;所述公有云存储用于存储数据提供方提供的文件密文数据和解密密钥;所述私有云存储用于存储数据提供方提供的用于唯一标记所述密文数据的标签;

所述双重校验服务器,为可信端,用于存储文件密文数据的数字签名,并根据密文数据的数字签名和被请求的密文数据、以及用户提供的授权码同时校验用户身份和数据完整性即双重校验,并通知云数据管理服务器双重校验结果。

优选地,所述云文件安全存储系统,其所述密文数据的标签,以数据提供方提供的数据提供方公钥、数据提供方私钥、以及文件数据块摘要为输入信息,利用摘要获取算法获取相应的摘要作为标签。

优选地,所述云文件安全存储系统,其所述密文数据的数字签名,以用户提供的由数据提供方随机生成的授权码、以及由文件密文数据生成的文件数据块摘要为输入信息,利用数字签名算法获取。

优选地,所述云文件安全存储系统,其所述文件数据块摘要按照如下方法获取:

s1、将文件密文数据划分为多个数据块;

s2、利用摘要获取算法获取所述每一数据块的摘要;

s3、将多个数据块摘要组合作为迭代数据块;

s4、重复步骤s2~s3直至获得唯一摘要,作为文件数据块摘要。

优选地,所述云文件安全存储系统,其还包括身份认证服务器,所述身份认证服务器,用于认证用户身份,并通知云数据管理服务器用户身份认证结果。

优选地,所述云文件安全存储系统,其所述身份认证服务器为kerberos服务器。

按照本发明的另一个方面,提供了一种所述的云文件安全存储系统的云文件访问控制方法,其包括以下步骤:

双重校验:对于用户发出的要求访问存储于所述云数据管理服务器公有云存储部分的文件密文数据并附有授权码的请求,所述云数据管理服务器将所述文件密文数据以及所述授权码发送给所述双重校验服务器,所述双重校验服务器对所述密文数据计算数据块摘要,使用数据提供方私钥进行数字签名算法,获得所述密文数据的数字签名,与其存储的所述文件密文数据相应的数字签名进行比对,将比对结果相同或不同作为双重校验结果通过或失败通知给云数据管理服务器;

数据访问:当所述数据完整性校验结果为通过时,所述云数据管理服务器将其公有云存储的所述文件密文数据与相应解密密钥发送给所述用户。

优选地,所述云文件访问控制方法,其包括以下步骤:

身份校验:云数据管理服务器获取用户发出的要求访问存储于所述云数据管理服务器公有云存储部分的文件密文数据的请求,并将所述请求转发给身份认证服务器,所述身份认证服务器对发出请求的用户进行身份认证后,将身份认证结果通知云数据管理服务器。

优选地,所述云文件访问控制方法,其所述身份认证的具体步骤为:

a1、用户向云数据管理服务器发出请求,要求访问存储于公共云中的数据文件密文;

a2、云数据管理服务器将用户的访问请求转发到用户身份认证服务器,即kerberos服务器;

a3、kerberos服务器通过用户认证协议认证用户的身份;若通过认证,kerberos服务器生成用户凭据并发送给用户;否则结束用户访问。

优选地,所述云文件访问控制方法,其所述双重校验的具体步骤为:

a4、用户将收到的用户凭据和步骤a1中的请求合并,再一起发送到云数据管理服务器;

a5,云数据管理服务器校验用户请求中的云文件访问权限;若通过校验,云数据管理服务器将用户拟访问云文件的请求发送给双重校验服务器;否则结束用户访问;

a6,双重校验服务器根据收到的用户拟访问云文件的请求后,向用户要求授权码,向云数据管理服务器发出请求要求获取用户拟访问的文件密文数据;

a7,双重校验服务器获得授权码和所述文件密文数据后,获得数字签名与其存储的所述文件相应的数字签名比对,相同则通过校验,否则校验失败,将校验结果发送给所述云数据管理服务器。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

本发明使用加密算法和分布式存储保证数据的私密性,由于加密文件分布式的存储带来的数据完整性校验问题,在文件访问时,通过对分布式存储的数据块和用户授权码形成数字签名,借助可信的双重校验服务器同时校验用户身份和数据完整性,本发明整体的系统结构设计和访问控制方法,同时保证了云文件数据服务的数据私密性、数据可认证性,和数据完整性。

优选技术方案,通过对加密的文件形成唯一确定的摘要标签,从而优化了文件管理。

附图说明

图1是本发明实施例1提供的系统结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明提供的云文件安全存储系统,包括云数据管理服务器、身份认证服务器、以及双重校验服务器;

所述云数据管理服务器,包括公有云存储和私有云存储;所述公有云存储用于存储数据提供方提供的文件密文数据和解密密钥;所述私有云存储用于存储数据提供方提供的用于唯一标记所述密文数据的标签;所述密文数据的标签,以数据提供方提供的数据提供方公钥、数据提供方私钥、以及文件数据块摘要为输入信息,利用摘要获取算法获取相应的摘要作为标签。所述文件数据块摘要按照如下方法获取:

s1、将文件密文数据划分为多个数据块;

s2、利用摘要获取算法获取所述每一数据块的摘要;

s3、将多个数据块摘要组合作为迭代数据块;

s4、重复步骤s2~s3直至获得唯一摘要,作为文件数据块摘要。

所述身份认证服务器,用于认证用户身份,并通知云数据管理服务器用户身份认证结果;

所述双重校验服务器,为可信端,用于存储文件密文数据的数字签名,并根据密文数据的数字签名和被请求的密文数据、以及用户提供的授权码同时校验用户身份和数据完整性即双重校验,并通知云数据管理服务器双重校验结果;所述密文数据的数字签名,以用户提供的由数据提供方随机生成的授权码、以及由文件密文数据生成的文件数据块摘要为输入信息,使用数据提供方私钥进行数字签名算法获取。所述双重校验服务器,可通过授权码和数据块摘要同时校验用户身份和数据完整性进行双重校验。

工作时,数据提供方首先生成文件的标签,当文件标签不同于云数据管理服务器中其私有云存储存储的所有标签时,所述云数据管理服务器存储数据提供方提供的文件密文数据和解密密钥,所述双重校验服务器存储所述密文数据的数字签名。

本发明提供的云文件访问控制方法,包括以下步骤:

身份校验:云数据管理服务器获取用户发出的要求访问存储于所述云数据管理服务器公有云存储部分的文件密文数据的请求,并将所述请求转发给身份认证服务器,所述身份认证服务器对发出请求的用户进行身份认证后,将身份认证结果通知云数据管理服务器;

双重校验:对于用户发出的要求访问存储于所述云数据管理服务器公有云存储部分的文件密文数据并附有授权码的请求,所述云数据管理服务器将所述文件密文数据以及所述授权码发送给所述双重校验服务器,所述双重校验服务器对所述密文数据计算数据块摘要,使用数据提供方私钥进行数字签名算法,获得所述密文数据的数字签名,与其存储的所述文件密文数据相应的数字签名进行比对,将比对结果相同或不同作为双重校验结果通过或失败通知给云数据管理服务器;

数据访问:当所述数据完整性校验结果为通过时,所述云数据管理服务器将其公有云存储存储的所述文件密文数据与相应解密密钥发送给所述用户。

以下为实施例:

实施例1

一种云文件安全存储系统,如图1所示,包括云数据管理服务器、身份认证服务器、以及双重校验服务器;

所述云数据管理服务器,包括公有云存储和私有云存储;所述公有云存储用于存储数据提供方提供的文件密文数据和解密密钥;所述私有云存储用于存储数据提供方提供的用于唯一标记所述密文数据的标签;所述密文数据的标签,以数据提供方提供的数据提供方公钥、数据提供方私钥、以及文件数据块摘要为输入信息,利用摘要获取算法获取相应的摘要,作为标签。所述文件数据块摘要按照如下步骤获取:

(1)将文件数据划分为n个数据块;

(2)利用公开的sha-1算法生成各数据区块的各个数据块的摘要;

(3)组合各相邻数据区块的摘要,若数据区块总数为偶数,则按顺序两两组合;若数据区块总数为奇数,除最后一个数据区块的摘要外,其他按顺序两两组合;

(4)对组合后的摘要再利用公开的sha-1算法生成新的摘要,再利用步骤(3)中的方法组合相邻的摘要,重复本步骤,直至最后生成一个摘要作为数据块摘要。

所述身份认证服务器,采用kerberos服务器,用于认证用户身份,若通过认证,kerberos服务器生成用户凭据并发送给用户,用于通知所述云数据管理服务器用户身份认证结果;

所述双重校验服务器,为可信端,用于存储文件密文数据的数字签名,并根据密文数据的数字签名和被请求的密文数据、以及用户提供的授权码同时校验用户身份和数据完整性即双重校验,并通知云数据管理服务器双重校验结果;所述密文数据的数字签名,以用户提供的由数据提供方随机生成的授权码、以及由文件密文数据生成的文件数据块摘要为输入信息,使用数据提供方私钥进行数字签名算法获取。所述双重校验服务器,可通过授权码和数据块摘要同时校验用户身份和数据完整性进行双重校验。

工作时数据存储步骤如下:

(1)数据提供方利用基于属性的加密算法加密文件,得到数据文件密文、数据提供方公钥、数据提供方私钥、并指定数据提供方公钥和数据提供方私钥之一作为解密密钥;

(2)数据提供方将文件密文分割成n个数据区块;

(3)对步骤(2)中获得的文件密文数据区块计算文件数据块摘要,具体如下:

记z1为数据区块1的摘要,z2为数据区块2的摘要,……,zn为数据区块n的摘要,若n为偶数,则数据提供方将z1和z2组合形成c1,2,z3和z4组合形成c3,4,……,zn-1和zn组合形成cn-1,n;若n为奇数,数据提供方将z1和z2组合形成c1,2,z3和z4组合形成c3,4,……,zn-2和zn-1组合形成cn-2,n-1,zn不跟任何一个数据区块的摘要组合。

接下来,数据提供方对组合后的摘要再利用公开的sha-1算法生成新的摘要,并再组合各相邻的摘要。若n为偶数,记z1,2为c1,2的摘要,z3,4为c3,4的摘要,……,zn-1,n为cn-1,n的摘要,则数据提供方将z1,2和z3,4组合形成c1,2,3,4,z5,6和z7,8组合形成c5,6,7,8,……,zn-3,n-2和zn-1,n组合形成cn-3,n-2,n-1,n;若n为奇数,数据提供方将z1,2和z3,4组合形成c1,2,3,4,z5,6和z7,8组合形成c5,6,7,8,……,zn-4,n-3和zn-2,n-1组合形成cn-4,n-3,n-2,n-1,zn不跟任何一个摘要组合。重复本步骤,数据提供方生成c1,2,3,4的摘要z1,2,3,4,c5,6,7,8的摘要z5,6,7,8,……,直至最后生成一个摘要z1,2,...,n。对于z1,2,...,n,需要进一步说明的是,若n为偶数,z1,2,...,n/2和zn/2+1,n/2+2,...,n组合形成c1,2,...,n,再生成c1,2,...,n的摘要z1,2,...,n;若n为奇数,z1,2,...,n-1和zn组合形成c1,2,...,n,再生成c1,2,...,n的摘要z1,2,...,n

(4)将步骤(1)中获得的数据提供方公钥、数据提供方私钥、以及步骤(2)中获得的文件数据块摘要,作为输入信息,采用sha-1算法获得摘要,作为用于唯一标记所述密文数据的标签。

当所述标签不同于所述云数据管理服务器中私有云存储所存储的任何标签时,所述私有云存储存储所述标签,所述云数据管理服务器中公有云存储采用分布式存储存储所述文件密文数据的n个数据区块以及解密密钥;

(5)数据提供方生成一个随机数作为授权码,将授权码、以及文件数据块摘要作为输入信息,使用数据提供方私钥进行ecdsa椭圆曲线数字签名算法获得数字签名,存储于所述双重校验服务器中。

实施例2用户请求访问实施例1中提供的云文件安全存储系统存储的文件,具体步骤如下:

a1、用户向云数据管理服务器发出请求,要求访问存储于公共云中的数据文件密文;

a2、云数据管理服务器将用户的访问请求转发到身份认证服务器,即kerberos服务器;

a3、kerberos服务器通过用户认证协议认证用户的身份;若通过认证,kerberos服务器生成用户凭据并发送给用户;否则结束用户访问;

a4、用户将收到的用户凭据和步骤a1中的请求合并,再一起发送到云数据管理服务器;

a5,云数据管理服务器校验用户请求中的云文件访问权限;若通过校验,云数据管理服务器将用户拟访问云文件的请求发送给双重校验服务器;否则结束用户访问;

a6,双重校验服务器根据收到的用户拟访问云文件的请求后,向用户要求授权码,向云数据管理服务器发出请求要求获取用户拟访问的文件密文数据;

a7,双重校验服务器获得授权码和所述文件密文数据后,按照实施例1步骤(3)、(5)的方法获得数字签名与其存储的所述文件相应的数字签名比对,相同则通过校验,否则校验失败,将校验结果发送给所述云数据管理服务器。

a8、所述云数据管理服务器获取双重校验服务器校验结果,如果校验通过,取出用于解密用户拟访问的云文件密文的密钥,再向用户发送拟访问的云文件密文和解密密钥;否则提示文件错误,结束用户访问。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1