文件的处理方法及系统的制作方法

文档序号:7984059阅读:261来源:国知局
文件的处理方法及系统的制作方法
【专利摘要】本发明公开了一种文件的处理方法及系统,在上述方法中,第一服务器接收来自于客户端的待存储的数据文件和安全元数据文件,其中,安全元数据文件为客户端对数据文件进行加密处理时所创建的;第一服务器将验证成功的客户端用户的与数据文件同时上传的安全元数据文件发送至第二服务器进行保存。根据本发明提供的技术方案,能够为用户存放在云存储中的数据提供端到端的机密性与完整性保护,并保证数据共享过程中访问权限信息的安全。
【专利说明】文件的处理方法及系统
【技术领域】
[0001]本发明涉及通信领域,具体而言,涉及一种文件的处理方法及系统。
【背景技术】
[0002]随着云存储的迅猛发展,越来越多的人或服务开始选择使用云存储环境来存放自己的资料,云存储的使用者可以将自己的文件上传到云存储环境中,由云存储服务提供商进行管理,并指定其他用户对其文件具有访问权限,从而实现文件的共享。
[0003]但是,云存储环境让数据的拥有者失去了对数据的完全控制,这使得数据的安全性面临着一系列的威胁,例如:利用大规模僵尸网络进行的拒绝服务攻击(DoS)、利用操作系统或者应用服务协议漏洞进行的漏洞攻击以及针对存放在“云”中的用户隐私信息的恶意攻击、窃取、非法利用等,手段花样繁多。除此以外,组成“云”的各种系统和应用依然要面对在传统的单机或者内网环境中所面临的各种病毒、木马和其它恶意软件的威胁。如果把敏感数据(包括:经济类文档,个人医疗记录)存放在由他人控制的云存储环境中,随着共享存储的使用者增多,这些问题将变得越发严重。因此,基于云存储服务的系统(简称云存储系统)对安全机制有着十分迫切的需求。
[0004]安全插件是一种能够嵌入到某个具体的系统或业务中,提供相应安全功能的软件。相关技术中的安全插件主要应用于银行业务、第三方支付软件(例如:支付宝)的安全插件,它们大都嵌入到浏览器中,通过数据加解密和证书校验的方式提供安全功能。

【发明内容】

[0005]本发明提供了一种文件的处理方法及系统,以至少解决相关技术中的云存储系统数据存储的安全性较差的问题。
[0006]根据本发明的一个方面,提供了一种文件的处理方法。
[0007]根据本发明的文件的处理方法包括:第一服务器接收来自于客户端的待存储的数据文件和安全元数据文件,其中,安全元数据文件为客户端对数据文件进行加密处理时所创建的;第一服务器将验证成功的客户端用户的与数据文件同时上传的安全元数据文件发送至第二服务器进行保存。
[0008]优选地,在第一服务器接收来自于客户端的待存储的数据文件和安全元数据文件之前,还包括:客户端调用第一预设扩展程序对数据文件进行加密处理创建安全元数据文件。
[0009]优选地,在第一服务器接收来自于客户端的待存储的数据文件和安全元数据文件之前,还包括:客户端请求鉴权中心为在客户端注册成功的用户分配相互匹配的公私钥对;客户端将公私钥对中的公钥或者公私钥对上传至第一服务器,其中,客户端在上传公私钥对中的私钥之前对私钥执行加密处理操作,公私钥对用于对数据文件的哈希值进行加密处理,数据文件的哈希值用于对数据文件进行加密处理。
[0010]优选地,第一服务器将验证成功的客户端用户的与数据文件同时上传的安全元数据文件发送至第二服务器进行保存包括:第一服务器调用第二预设扩展程序对客户端用户预先注册的标识信息进行验证,并将验证成功的客户端用户上传的安全元数据文件发送至第二服务器。
[0011]优选地,在第一服务器调用第二预设扩展程序对客户端用户预先注册的标识信息进行验证,并将验证成功的客户端用户上传的安全元数据文件发送至第二服务器之后,还包括:第一服务器接收来自于客户端的更新安全元数据文件的请求消息;第一服务器在从第二服务器获取与数据文件对应的安全元数据文件之后,调用第二预设扩展程序对客户端的用户的标识信息进行验证,并将获取到的安全元数据文件和数据文件发送至客户端;第一服务器接收客户端上传的更新后的安全元数据文件,并将更新后的安全元数据文件发送至第二服务器。
[0012]优选地,在第一服务器接收来自于客户端的更新后的安全元数据文件,并将更新后的安全元数据文件发送至第二服务器之后,还包括:第二服务器对通过第一服务器验证的用户进行再次验证;第二服务器在验证成功后,采用接收到的更新后的安全元数据文件替换第二服务器当前存储的安全元数据文件。
[0013]优选地,在第一服务器调用第二预设扩展程序对客户端用户预先注册的标识信息进行验证,并将验证成功的客户端用户上传的安全元数据文件发送至第二服务器之后,还包括:第一服务器接收来自于客户端的下载安全元数据文件的请求消息;第一服务器在调用第二预设扩展程序对客户端用户的标识信息进行验证,并从第二服务器获取与通过验证的用户对应的安全元数据文件;第一服务器将获取到的安全元数据文件发送至客户端。
[0014]优选地,上述安全元数据文件还携带有对数据文件进行加密处理所采用的加密模式,在第一服务器将获取到的安全元数据文件发送至客户端之后,还包括:客户端采用公私钥对中的私钥从安全元数据文件中解密出该安全元数据文件的第一哈希值;客户端采用第一哈希值以及从第一服务器下载的数据密文解密出数据明文,并重新计算数据明文的第二哈希值,其中,数据密文是由客户端或者除客户端之外的其他客户端计算数据明文的哈希值并以哈希值为密钥按照加密模式处理后上传至第一服务器得到的;客户端根据第一哈希值和第二哈希值确定安全元数据文件是否完整。
[0015]优选地,在第一服务器调用第二预设扩展程序对客户端用户预先注册的标识信息进行验证,并将验证成功的客户端用户上传的安全元数据文件发送至第二服务器之后,还包括:第一服务器接收来自于客户端的修改与客户端用户对应的访问控制列表表项的请求消息;第一服务器在调用第二预设扩展程序对客户端用户的标识信息进行验证,并从第二服务器获取与通过验证的用户对应的访问控制列表表项;第一服务器将获取到的访问控制列表表项和当前存储的与待添加的用户对应的公钥发送至客户端。
[0016]优选地,在第一服务器将获取到的访问控制列表表项和当前存储的与待添加的用户对应的公钥发送至客户端之后,还包括:客户端采用私钥从访问控制列表表项中解密出安全元数据文件的哈希值;客户端采用与待添加的用户对应的公钥对解密出的哈希值进行加密处理,并重新生成访问控制列表表项;客户端将重新生成访问控制列表表项上传至第一服务器。
[0017]优选地,在客户端将重新生成访问控制列表表项上传至第一服务器之后,还包括:第二服务器接收来自于第一服务器的重新生成访问控制列表表项;第二服务器对通过第一服务器验证的用户进行再次验证;第二服务器在验证成功后,采用从第一服务器接收到的重新生成访问控制列表表项替换第二服务器当前存储的访问控制列表表项。
[0018]优选地,在第一服务器调用第二预设扩展程序对客户端用户预先注册的标识信息进行验证,并将验证成功的客户端用户上传的安全元数据文件发送至第二服务器之后,还包括:第一服务器接收来自于客户端的删除与客户端用户对应的访问控制列表表项的请求消息;第一服务器在调用第二预设扩展程序对客户端的用户的标识信息进行验证,并在验证成功后向第二服务器发起删除与通过验证的用户对应的访问控制列表表项的请求消息;第二服务器对通过第一服务器验证的用户进行再次验证;第二服务器在验证成功后,删除第二服务器当前存储的与通过验证的用户对应的访问控制列表表项。
[0019]根据本发明的另一方面,提供了一种文件的处理系统。
[0020]根据本发明的文件的处理系统包括:第一服务器;第一服务器包括:第一接收模块,用于接收来自于客户端的待存储的数据文件和安全元数据文件,其中,安全元数据文件为客户端对数据文件进行加密处理时所创建的;第一发送模块,用于将验证成功的客户端用户的与数据文件同时上传的的安全元数据文件发送至第二服务器进行保存。
[0021]优选地,上述系统还包括:客户端;客户端包括:创建模块,用于调用第一预设扩展程序对数据文件进行加密处理创建安全元数据文件。
[0022]优选地,客户端还包括:请求模块,用于请求鉴权中心为在客户端注册成功的用户分配相互匹配的公私钥对;第一上传模块,用于将公私钥对中的公钥或者公私钥对上传至第一服务器,其中,客户端在上传公私钥对中的私钥之前对私钥执行加密处理操作,公私钥对用于对数据文件的哈希值进行加密处理,数据文件的哈希值用于对数据文件进行加密处理。
[0023]优选地,第一发送模块,用于调用第二预设扩展程序对客户端用户预先注册的标识信息进行验证,并将验证成功的客户端用户上传的安全元数据文件发送至第二服务器。
[0024]优选地,第一服务器还包括:第二接收模块,用于接收来自于客户端的更新安全元数据文件的请求消息;第二发送模块,用于在从第二服务器获取与通过验证的用户对应的安全元数据文件之后,调用第二预设扩展程序对客户端的用户的标识信息进行验证,并将获取到的安全元数据文件和数据文件发送至客户端;第三发送模块,用于接收来自于客户端上传的更新后的安全元数据文件,并将更新后的安全元数据文件发送至第二服务器。
[0025]优选地,上述系统还包括:第二服务器;第一验证模块,用于对通过第一服务器验证的用户进行再次验证;第一替换模块,用于在验证成功后,采用接收到的更新后的安全元数据文件替换第二服务器当前存储的安全元数据文件。
[0026]优选地,第一服务器还包括:第三接收模块,用于接收来自于客户端的下载安全元数据文件的请求消息;第一获取模块,用于在调用第二预设扩展程序对客户端用户的标识信息进行验证,并从第二服务器获取通过验证的用户所请求的安全元数据文件;第四发送模块,用于将获取到的安全元数据文件发送至客户端。
[0027]优选地,客户端还包括:第一解密模块,用于采用公私钥对中的私钥从安全元数据文件中解密出该安全元数据文件的第一哈希值;计算模块,用于采用第一哈希值以及从第一服务器下载的数据密文解密出数据明文,并重新计算数据明文的第二哈希值,其中,数据密文是由客户端或者除客户端之外的其他客户端计算数据明文的哈希值并以哈希值为密钥按照加密模式处理后上传至第一服务器得到的;确定模块,用于根据第一哈希值和第二哈希值确定安全元数据文件是否完整。
[0028]优选地,第一服务器还包括:第四接收模块,用于接收来自于客户端的修改与客户端用户对应的访问控制列表表项的请求消息;第二获取模块,用于在调用第二预设扩展程序对客户端用户的标识信息进行验证,并从第二服务器获取与通过验证的用户对应的访问控制列表表项;第五发送模块,用于将获取到的访问控制列表表项和当前存储的与待添加的用户对应的公钥发送至客户端。
[0029]优选地,客户端还包括:第二解密模块,用于采用私钥从访问控制列表表项中解密出安全元数据文件的哈希值;生成模块,用于采用与待添加的用户对应的公钥对解密出的哈希值进行加密处理,并重新生成访问控制列表表项;第二上传模块,用于将重新生成访问控制列表表项上传至第一服务器。
[0030]优选地,第二服务器还包括:第五接收模块,用于接收来自于第一服务器的重新生成访问控制列表表项;第二验证模块,用于对通过第一服务器验证的用户进行再次验证;第二替换模块,用于在验证成功后,采用从第一服务器接收到的重新生成访问控制列表表项替换第二服务器当前存储的访问控制列表表项。
[0031]优选地,第一服务器还包括:第六接收模块,用于接收来自于客户端的删除与客户端用户对应的访问控制列表表项的请求消息;第六发送模块,用于在调用第二预设扩展程序对客户端的用户的标识信息进行验证,并在验证成功后向第二服务器发起删除与通过验证的用户对应的访问控制列表表项的请求消息;第二服务器还包括:第三验证模块,用于对通过第一服务器验证的用户进行再次验证;删除模块,用于在验证成功后,删除第二服务器当前存储的与通过验证的用户对应的访问控制列表表项。
[0032]通过本发明,采用客户端对待存储的数据文件进行加密处理以创建安全元数据文件;第一服务器接收来自于客户端的待存储的数据文件和安全元数据文件,并将与验证成功的客户端用户对应的安全元数据文件发送至第二服务器进行保存,解决了相关技术中的云存储系统数据存储的安全性较差的问题,进而能够为用户存放在云存储中的数据提供端至IJ端的的机密性与完整性保护,并保证数据共享过程中访问权限信息的安全。
【专利附图】

【附图说明】
[0033]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0034]图1是根据本发明实施例的文件的处理方法的流程图;
[0035]图2是根据本发明优选实施例的用户上传安全元数据文件的流程图;
[0036]图3是根据本发明优选实施例的用户更新安全元数据文件的流程图;
[0037]图4是根据本发明优选实施例的用户下载安全元数据文件的流程图;
[0038]图5是根据本发明优选实施例的用户修改安全元数据文件的流程图;
[0039]图6是根据本发明优选实施例的用户删除安全元数据文件的流程图;
[0040]图7是根据本发明实施例的文件的处理系统的结构框图;
[0041]图8是根据本发明优选实施例的文件的处理系统的结构框图;以及
[0042]图9是根据本发明优选实施例的文件处理系统的结构示意图。【具体实施方式】
[0043]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0044]图1是根据本发明实施例的文件的处理方法的流程图。如图1所示,该方法可以包括以下处理步骤:
[0045]步骤S102:第一服务器接收来自于客户端的待存储的数据文件和安全元数据文件,其中,安全元数据文件为客户端对数据文件进行加密处理时所创建的;
[0046]步骤S104:第一服务器将验证成功的客户端用户的与数据文件同时上传的安全元数据文件发送至第二服务器进行保存。
[0047]相关技术中,用户在云存储系统存放的数据安全性较差。采用如图1所示的方法,客户端对待存储的数据文件(例如:视频文件、音频文件)进行加密处理以创建安全元数据文件(例如:视频或者音频文件的安全性存储信息);第一服务器接收来自于客户端的待存储的数据文件和安全元数据文件,并将与验证成功的客户端用户对应的安全元数据文件发送至第二服务器进行保存,解决了相关技术中的云存储系统数据存储的安全性较差的问题,进而能够为用户存放在云存储中的数据提供端到端的的机密性与完整性保护,并保证数据共享过程中访问权限信息的安全。
[0048]在优选实施例中,客户端用户在上传数据文件之前,需要预先在本地客户端使用哈希算法对数据文件计算哈希值;然后使用哈希值和对称加密算法对数据文件进行加密、并使用公钥加密哈希值以生成安全元数据文件;最后将数据密文和安全元数据文件上传到服务器(相当于上述第一服务器)中,由服务器调用安全元数据服务器(相当于上述第二服务器)提供的接口,将安全元数据文件存放在安全元数据服务器中,这样就保证了用户数据存放在云存储中的机密性。
[0049]优选地,在步骤S102,第一服务器接收来自于客户端的待存储的数据文件和安全元数据文件之前,还可以包括以下操作:
[0050]步骤S1:客户端调用第一预设扩展程序对数据文件进行加密处理创建安全元数据文件。
[0051]在优选实施例中,可以预先编写嵌入客户端的多种函数,其作用在于进行数据文件加解密、哈希值计算等操作。
[0052]优选地,在步骤S102,第一服务器接收来自于客户端的待存储的数据文件和安全元数据文件之前,还可以包括以下步骤:
[0053]步骤S2:客户端请求鉴权中心为在客户端注册成功的用户分配相互匹配的公私钥对;
[0054]步骤S3:客户端将公私钥对中的公钥或者公私钥对上传至第一服务器,其中,客户端在上传公私钥对中的私钥之前对私钥执行加密处理操作,公私钥对用于对数据文件的哈希值进行加密处理,数据文件的哈希值用于对数据文件进行加密处理。
[0055]在优选实施例中,需要对云存储系统中的各部分进行初始化。具体包括以下几部分:
[0056](I)客户端的初始化:客户端插件(即上述第一预设扩展程序)中包含了数据加解密、哈希值计算以及向CA中心申请公私钥对等提供安全功能的函数,客户端需要在其与服务器交互的部分接口中,按照预设逻辑依次调用插件中的函数,以使用本插件所提供的安全服务;云存储系统的开发者将客户端插件中的函数包(动态连接库)加载到客户端源码中,再根据需要逐一修改与服务器交互的接口,最后将修改后的客户端重新编译并发布;
[0057](2)服务器的初始化:服务器插件(即下文中提到的第二预设扩展程序)中包含了所有与安全元数据服务器通信的接口函数,服务器需要在与(I)相对应的接口中,按照预设逻辑依次调用服务器插件中的函数,以使用本插件提供的安全服务;与客户端一样,在服务器的源码中插入函数包,并根据需要逐一修改与客户端交互的接口,最后将修改后的服务器重新编译运行;
[0058](3)安全元数据管理服务器的初始化:启动安全元数据管理服务器,通过远程接口对外提供安全元数据文件的相关服务;安全元数据管理服务器是一个独立运行的逻辑实体,负责所有安全元数据维护的相关操作,以供安全元数据管理服务器插件调用以及实现安全元数据文件的缓存机制。
[0059]在优选实施例中,用户可以通过客户端向云存储系统发起注册请求。若注册成功,客户端可以调用插件中申请公私钥对的函数,向CA为当前注册成功的用户申请唯一的公私钥对;CA可以根据用户的注册信息通过公钥基础设施(Public Key Infrastructure,简称为PKI)为用户生成公私钥对,用来标识安全插件中的用户身份;客户端将公钥上传至云存储系统服务器,由服务器进行统一保管,任何用户均可获得其他用户的公钥;用户根据需要可以将私钥加密后,上传至服务器端,使得该用户在不同终端登录时能够从服务器中下载并还原私钥,从而实现私钥的跨平台传递。
[0060]优选地,上述安全元数据文件可以携带有客户端用户的标识信息,步骤S104,第一服务器将验证成功的客户端用户的与数据文件同时上传的安全元数据文件发送至第二服务器进行保存可以包括以下处理:
[0061]步骤S4:第一服务器调用第二预设扩展程序对客户端用户预先注册的标识信息进行验证,并将与验证成功的客户端用户上传的安全元数据文件发送至第二服务器。
[0062]在优选实施例中,图2是根据本发明优选实施例的用户上传安全元数据文件的流程图。如图2所示,该流程可以包括以下处理步骤:
[0063]步骤S202:客户端首先计算数据文件的哈希值并以哈希值为密钥,按照配置文件中的加密模式加密数据明文;然后创建安全元数据文件,其内容可以包括:拥有者的身份标识、文件名哈希、所指定的加密算法和哈希模式以及访问控制列表,访问控制列表中的每一项包含了合法用户的用户名以及使用该用户公钥加密后的哈希值密文;最后将数据密文和安全元数据文件发送给服务器;
[0064]步骤S204:客户端上传数据文件和安全元数据文件;
[0065]步骤S206:服务器按照自己的原有逻辑存放数据密文后,通过插件调用远程接口,将安全元数据文件和操作用户名传给安全元数据管理服务器;
[0066]步骤S208:安全元数据管理服务器校验用户的身份和访问权限后,在本地保存安全元数据文件,同时更新缓存。
[0067]优选地,在步骤S4,第一服务器调用第二预设扩展程序对客户端用户预先注册的标识信息进行验证,并将验证成功的客户端用户上传的安全元数据文件发送至第二服务器之后,还可以包括以下步骤:
[0068]步骤S5:第一服务器接收来自于客户端的更新安全元数据文件的请求消息;
[0069]步骤S6:第一服务器在从第二服务器获取与通过验证的用户对应的安全元数据文件之后,调用第二预设扩展程序对客户端的用户的标识信息进行验证,并将获取到的安全元数据文件和数据文件发送至客户端;
[0070]步骤S7:第一服务器接收客户端上传的更新后的安全元数据文件,并将更新后的安全元数据文件发送至第二服务器。
[0071]优选地,在步骤S7,第一服务器接收来自于客户端的更新后的安全元数据文件,并将更新后的安全元数据文件发送至第二服务器之后,还可以包括以下处理:
[0072]步骤S8:第二服务器对通过第一服务器验证的用户进行再次验证;
[0073]步骤S9:第二服务器在验证成功后,采用接收到的更新后的安全元数据文件替换第二服务器当前存储的安全元数据文件。
[0074]在优选实施例中,图3是根据本发明优选实施例的用户更新安全元数据文件的流程图。如图3所示,该流程可以包括以下处理步骤:
[0075]步骤S302:客户端向服务器发起更新请求,获取安全元数据文件中的部分信息;
[0076]步骤S304:服务器验证客户端的用户身份后,通过插件从安全元数据管理服务器中获得相关信息,其中,可以包括:所有合法用户的用户名及公钥、文件的加密模式、文件的哈希模式;
[0077]步骤S306:服务器将这部分信息返回给客户端;
[0078]步骤S308:客户端调用插件计算文件的哈希值、调用插件加密文件、同时还调用插件计算新的ACL ;
[0079]步骤S310:客户端首先通过插件加密待上传文件,并生成新的ACL列表;
[0080]步骤S312:客户端将数据密文和新的ACL列表上传至服务器;
[0081]步骤S314:服务器首先按照原有逻辑处理数据密文,然后再通过插件调用安全元数据管理服务器中的接口,将新的ACL列表和操作者的用户名发送至安全元数据管理服务器,安全元数据管理服务器在校验用户的身份和访问权限后,在缓存中更新安全元数据文件。
[0082]优选地,在步骤S4,第一服务器调用第二预设扩展程序对客户端用户预先注册的标识信息进行验证,并将验证成功的客户端用户上传的安全元数据文件发送至第二服务器之后,还可以包括以下操作:
[0083]步骤SlO:第一服务器接收来自于客户端的下载安全元数据文件的请求消息;
[0084]步骤Sll:第一服务器在调用第二预设扩展程序对客户端用户的标识信息进行验证,并从第二服务器获取与通过验证的用户对应的安全元数据文件;
[0085]步骤S12:第一服务器将获取到的安全元数据文件发送至客户端。
[0086]在优选实施例中,通过插件的形式在不修改云存储系统原有功能与操作的前提下,嵌入到云存储系统中,为原有的云存储系统提供安全服务,所提供的安全服务与已部署的云存储系统底层无关,只需要修改原有云存储系统中客户端与服务器之间交互的接口的实现逻辑(例如:上传或者下载接口),就能够为其提供相应的安全服务。由此保证用户数据的机密性和完整性,同时能够在原有云存储系统访问控制的基础上对用户访问权限安全高效的进行管理,并保证了权限撤销时数据文件的安全性。此外,该插件还具有良好的可拓展性。
[0087]优选地,上述安全元数据文件还可以携带有对数据文件进行加密处理所采用的加密模式,在步骤S12,第一服务器将获取到的安全元数据文件发送至客户端之后,还可以包括以下处理:
[0088]步骤S13:客户端采用公私钥对中的私钥从安全元数据文件中解密出该安全元数据文件的第一哈希值;
[0089]步骤S14:客户端采用第一哈希值以及从第一服务器下载的数据密文解密出数据明文,并重新计算数据明文的第二哈希值,其中,数据密文是由客户端或者除客户端之外的其他客户端计算数据明文的哈希值并以哈希值为密钥按照加密模式处理后上传至第一服务器得到的;
[0090]步骤S15:客户端根据第一哈希值和第二哈希值确定安全元数据文件是否完整。
[0091]在优选实施例中,图4是根据本发明优选实施例的用户下载安全元数据文件的流程图。如图4所示,该流程可以包括以下处理步骤:
[0092]步骤S402:客户端向服务器发起下载请求;
[0093]步骤S404:服务器通过插件验证客户端的用户身份后,从安全元数据管理服务器中获得相关信息,其中,可以包括:数据文件的加密模式、数据文件的哈希模式以及操作用户所对应的ACL项;
[0094]步骤S406:服务器将上述信息和数据密文一起返回给客户端;
[0095]步骤S408:客户端首先通过插件和自身的私钥从ACL中解密出数据文件的哈希值,然后根据哈希值和数据密文解密出数据明文,最后重新计算数据明文的哈希值与获得的哈希值做比较以进行完整性校验,若相同,则说明数据文件在存储和传输过程中未被篡改,否则提示用户该数据文件已被篡改。
[0096]在该优选实施例中,由于在云存储系统中添加了插件,用户下载文件时先将数据密文和安全元数据中的部分信息下载到本地,然后使用自己的私钥从安全元数据中解密出数据的哈希值,最终解密出数据明文;然后再对解密后的数据文件重新计算哈希值以进行数据文件的完整性校验,从而保证数据的完整性。
[0097]优选地,在步骤S4,第一服务器调用第二预设扩展程序对客户端用户预先注册的标识信息进行验证,并将验证成功的客户端用户上传的安全元数据文件发送至第二服务器之后,还可以包括以下处理:
[0098]步骤S16:第一服务器接收来自于客户端的修改与客户端用户对应的访问控制列表表项的请求消息;
[0099]步骤S17:第一服务器在调用第二预设扩展程序对客户端用户的标识信息进行验证,并从第二服务器获取与通过验证的用户对应的访问控制列表表项;
[0100]步骤S18:第一服务器将获取到的访问控制列表表项和当前存储的与待添加的用户对应的公钥发送至客户端。
[0101]优选地,在步骤S18,第一服务器将获取到的访问控制列表表项和当前存储的与待添加的用户对应的公钥发送至客户端之后,还可以包括以下操作:
[0102]步骤S19:客户端采用私钥从访问控制列表表项中解密出安全元数据文件的哈希值;
[0103]步骤S20:客户端采用与待添加的用户对应的公钥对解密出的哈希值进行加密处理,并重新生成访问控制列表表项;
[0104]步骤S21:客户端将重新生成访问控制列表表项上传至第一服务器。
[0105]优选地,在步骤S21,客户端将重新生成访问控制列表表项上传至第一服务器之后,还可以包括以下处理:
[0106]步骤S22:第二服务器接收来自于第一服务器的重新生成访问控制列表表项;
[0107]步骤S23:第二服务器对通过第一服务器验证的用户进行再次验证;
[0108]步骤S24:第二服务器在验证成功后,采用从第一服务器接收到的重新生成访问控制列表表项替换第二服务器当前存储的访问控制列表表项。
[0109]在优选实施例中,图5是根据本发明优选实施例的用户修改安全元数据文件的流程图。如图5所示,该流程可以包括以下处理步骤:
[0110]步骤S502:用户通过客户端向服务器发起修改访问权限的请求;
[0111]步骤S504:服务器通过插件验证操作用户的身份后,向安全元数据管理服务器发起请求,获取操作用户所对应的ACL项;
[0112]步骤S506:服务器将待添加用户的公钥和上述获取到的ACL项返回给客户端;
[0113]步骤S508:客户端通过插件和用户私钥,解密出文件的哈希值;客户端通过插件和待添加用户的公钥,计算出待添加用户的ACL项;
[0114]步骤S510:客户端生成待授权用户的ACL项;
[0115]步骤S512:客户端将生成的待授权用户的ACL项上传至服务器;
[0116]步骤S514:服务器通过插件调用安全元数据管理服务器的接口,由安全元数据服务器更新缓存中相应的安全元数据文件的ACL列表。
[0117]优选地,在步骤S4,第一服务器调用第二预设扩展程序对客户端用户预先注册的标识信息进行验证,并将验证成功的客户端用户上传的安全元数据文件发送至第二服务器之后,还可以包括以下步骤:
[0118]步骤S25:第一服务器接收来自于客户端的删除与客户端用户对应的访问控制列表表项的请求消息;
[0119]步骤S26:第一服务器在调用第二预设扩展程序对客户端的用户的标识信息进行验证,并在验证成功后向第二服务器发起删除与通过验证的用户对应的访问控制列表表项的请求消息;
[0120]步骤S27:第二服务器对通过第一服务器验证的用户进行再次验证;
[0121]步骤S28:第二服务器在验证成功后,删除第二服务器当前存储的与通过验证的用户对应的访问控制列表表项。
[0122]在优选实施例中,图6是根据本发明优选实施例的用户删除安全元数据文件的流程图。如图6所示,当文件所有者认为某个用户可能会对文件造成破坏或者会向外散播该文件信息,也许会采取将该用户的权限撤销的措施,文件所有者撤销用户权限的流程可以包括以下处理步骤:
[0123]步骤S602:用户所在的客户端向服务器发起撤销权限请求;
[0124]步骤S604:服务器通过插件验证操作用户的身份后,向安全元数据服务器发起请求,由安全元数据管理服务器验证用户身份和操作权限后,在缓存中删除相应的安全元数据文件中的ACL项。
[0125]图7是根据本发明实施例的文件的处理系统的结构框图。如图7所示,该文件的处理系统可以包括:第一服务器10 ;第一服务器10可以包括:第一接收模块100,用于接收来自于客户端的待存储的数据文件和安全元数据文件,其中,安全元数据文件为客户端对数据文件进行加密处理时所创建的;第一发送模块102,用于将验证成功的客户端用户的与数据文件同时上传的安全元数据文件发送至第二服务器进行保存。
[0126]采用如图7所示的系统,解决了相关技术中的云存储系统数据存储的安全性较差的问题,进而能够为用户存放在云存储中的数据提供端到端的的机密性与完整性保护,并保证数据共享过程中访问权限信息的安全。
[0127]优选地,如图8所示,上述系统还可以包括:客户端20 ;客户端20可以包括:创建模块200,用于调用第一预设扩展程序对数据文件进行加密处理创建安全元数据文件。
[0128]优选地,如图8所示,客户端20还可以包括:请求模块202,用于请求鉴权中心为在客户端注册成功的用户分配相互匹配的公私钥对;第一上传模块204,用于将公私钥对中的公钥或者公私钥对上传至第一服务器,其中,客户端在上传公私钥对中的私钥之前对私钥执行加密处理操作,公私钥对用于对数据文件的哈希值进行加密处理,数据文件的哈希值用于对数据文件进行加密处理。
[0129]在优选实施过程中,第一发送模块102,用于调用第二预设扩展程序对客户端用户预先注册的标识信息进行验证,并将验证成功的客户端用户上传的安全元数据文件发送至第二服务器。
[0130]优选地,如图8所示,上述第一服务器10还可以包括:第二接收模块104,用于接收来自于客户端的更新安全元数据文件的请求消息;第二发送模块106,用于在从第二服务器获取与通过验证的用户对应的安全元数据文件之后,调用第二预设扩展程序对客户端的用户的标识信息进行验证,并将获取到的安全元数据文件和数据文件发送至客户端;第三发送模块108,用于接收客户端上传的更新后的安全元数据文件,并将更新后的安全元数据文件发送至第二服务器。
[0131]优选地,如图8所示,上述系统还可以包括:第二服务器30 ;第一验证模块300,用于对通过第一服务器验证的用户进行再次验证;第一替换模块302,用于在验证成功后,采用接收到的更新后的安全元数据文件替换第二服务器当前存储的安全元数据文件。
[0132]优选地,如图8所示,第一服务器10还可以包括:第三接收模块110,用于接收来自于客户端的下载安全元数据文件的请求消息;第一获取模块112,用于在调用第二预设扩展程序对客户端用户的标识信息进行验证,并从第二服务器获取通过验证的用户所请求的安全元数据文件;第四发送模块114,用于将获取到的安全元数据文件发送至客户端。
[0133]优选地,如图8所示,客户端20还可以包括:第一解密模块206,用于采用公私钥对中的私钥从安全元数据文件中解密出该安全元数据文件的第一哈希值;计算模块208,用于采用第一哈希值以及从第一服务器下载的数据密文解密出数据明文,并重新计算数据明文的第二哈希值,其中,数据密文是由客户端或者除客户端之外的其他客户端计算数据明文的哈希值并以哈希值为密钥按照加密模式处理后上传至第一服务器得到的;确定模块210,用于根据第一哈希值和第二哈希值确定安全元数据文件是否完整。[0134]优选地,如图8所示,第一服务器10还可以包括:第四接收模块116,用于接收来自于客户端的修改与客户端用户对应的访问控制列表表项的请求消息;第二获取模块118,用于在调用第二预设扩展程序对客户端用户的标识信息进行验证,并从第二服务器获取与通过验证的用户对应的访问控制列表表项;第五发送模块120,用于将获取到的访问控制列表表项和当前存储的与待添加的用户对应的公钥发送至客户端。
[0135]优选地,如图8所示,客户端20还可以包括:第二解密模块212,用于采用私钥从访问控制列表表项中解密出安全元数据文件的哈希值;生成模块214,用于采用与待添加的用户对应的公钥对解密出的哈希值进行加密处理,并重新生成访问控制列表表项;第二上传模块216,用于将重新生成访问控制列表表项上传至第一服务器。
[0136]优选地,如图8所示,第二服务器30还可以包括:第五接收模块304,用于接收来自于第一服务器的重新生成访问控制列表表项;第二验证模块306,用于对通过第一服务器验证的用户进行再次验证;第二替换模块308,用于在验证成功后,采用从第一服务器接收到的重新生成访问控制列表表项替换第二服务器当前存储的访问控制列表表项。
[0137]优选地,如图8所示,第一服务器10还可以包括:第六接收模块122,用于接收来自于客户端的删除与客户端用户对应的访问控制列表表项的请求消息;第六发送模块124,用于在调用第二预设扩展程序对客户端的用户的标识信息进行验证,并在验证成功后向第二服务器发起删除与通过验证的用户对应的访问控制列表表项的请求消息;第二服务器30还可以包括:第三验证模块310,用于对通过第一服务器验证的用户进行再次验证;删除模块312,用于在验证成功后,删除第二服务器当前存储的与通过验证的用户对应的访问控制列表表项。
[0138]下面结合图9对上述优选实施过程做进一步的描述。
[0139]图9是根据本发明优选实施例的文件处理系统的结构示意图。如图9所示。该文件处理系统可以包括:
[0140]客户端(相当于上述客户端):嵌入了本发明提供的插件的云存储系统中的客户端部分;
[0141]客户端插件(相当于上述第一预设扩展程序):本插件中嵌入到云存储系统客户端中的部分,主要负责向CA申请公私钥对,计算数据文件的哈希值以及对数据文件进行加解密操作,其中,主要包括以下几个模块:
[0142]申请公私钥对模块(相当于上述请求模块):负责向CA申请公私钥对,为新注册的用户生成作为其身份标识的公私钥对;
[0143]数据加解密模块(相当于上述第一解密模块、第二解密模块、计算模块以及生成模块):负责客户端的所有加解密操作,可以包括:数据文件加解密和哈希值加解密;在文件加密过程中,首先采用一种哈希算法计算文件的哈希值,构成文件的密钥;然后选择一种对称加密算法和分组模式,使用密钥对文件内容进行加密,哈希模式、加密算法和模式均可由用户自行配置;最后使用合法用户的公钥生成安全元数据信息,并通过原有的系统接口上传至服务器;
[0144]完整性校验模块(相当于上述确定模块):验证所下载文件的完整性;当客户端从服务器端下载数据密文并通过数据加解密模块解密出数据明文后,运行此模块重新计算文件明文的哈希值,判断是否与得到的哈希值相同,若相同,则说明所请求访问的数据文件是完整的;否则,说明所请求访问的数据文件的完整性受到破坏。
[0145]服务器(相当于上述第一服务器):嵌入了本发明提供的插件的云存储系统中的服务器部分;
[0146]服务器插件(相当于上述第二预设扩展程序):本插件中嵌入到云存储系统服务器中的部分,负责调用安全元数据管理服务器提供的接口,处理安全元数据信息;
[0147]安全元数据管理服务器(相当于上述第二服务器):独立运行的服务器,对外提供远程调用接口,负责安全元数据文件的存取,维护和缓存等操作;其中,主要包括以下几个模块:
[0148]安全元数据存取模块(相当于上述第五接收模块):由服务器插件中的函数进行调用,负责安全元数据的插入、删除等操作;
[0149]访问权限校验模块(相当于上述第一验证模块、第二验证模块以及第三验证模块):与原有云存储系统的访问权限校验模块相互独立,负责再次校验正在执行操作的用户是否具有此操作的权限,其操作方式为:对于上传或者下载请求,查看安全元数据的ACL中是否有操作用户的信息,若有,则说明该用户具有操作权限,反之则说明该用户不具有操作权限;对于修改权限请求,查看安全元数据中的文件所有者是否为操作用户,若是,则具有操作权限,否则不具有操作权限。为了提高系统效率,本模块中的所有函数均设置了一个标志位参数,系统可以通过这个参数跳过操作权限的检查,从而提高系统效率;
[0150]安全元数据维护模块(相当于上述第一替换模块、第二替换模块以及删除模块):由服务器插件中的函数进行调用,负责安全元数据的修改、更新等维护操作;安全元数据文件中包含了文件拥有者的ID、文件名哈希、数据的加密模式、数据的哈希模式和访问控制列表,其结构如表1所不:
[0151]表1`
[0152]
【权利要求】
1.一种文件的处理方法,其特征在于,包括: 第一服务器接收来自于客户端的待存储的数据文件和安全元数据文件,其中,所述安全元数据文件为所述客户端对所述数据文件进行加密处理时所创建的; 所述第一服务器将验证成功的客户端用户的与所述数据文件同时上传的所述安全元数据文件发送至第二服务器进行保存。
2.根据权利要求1所述的方法,其特征在于,在所述第一服务器接收来自于所述客户端的所述待存储的数据文件和安全元数据文件之前,还包括: 所述客户端调用第一预设扩展程序对所述数据文件进行加密处理创建所述安全元数据文件。
3.根据权利要求1所述的方法,其特征在于,在所述第一服务器接收来自于所述客户端的所述待存储的数据文件和安全元数据文件之前,还包括: 所述客户端请求鉴权中心为在所述客户端注册成功的用户分配相互匹配的公私钥对; 所述客户端将所述公私钥对中的公钥或者所述公私钥对上传至所述第一服务器,其中,所述客户端在上传所述公私钥对中的私钥之前对所述私钥执行加密处理操作,所述公私钥对用于对所述数据文件的哈希值进行加密处理,所述数据文件的哈希值用于对所述数据文件进行加密处理。
4.根据权利要求3所述的方法,其特征在于,所述第一服务器将验证成功的客户端用户的与所述数据文件同时上传的所述安全元数据文件发送至第二服务器进行保存包括: 所述第一服务器调用第二预设扩展程序对所述客户端用户预先注册的标识信息进行验证,并将所述验证成功的客户端用户上传的安全元数据文件发送至所述第二服务器。
5.根据权利要求4所述的方法,其特征在于,在所述第一服务器调用所述第二预设扩展程序对所述客户端用户预先注册的标识信息进行验证,并将所述验证成功的客户端用户上传的安全元数据文件发送至所述第二服务器之后,还包括: 所述第一服务器接收来自于所述客户端的更新所述安全元数据文件的请求消息; 所述第一服务器在从所述第二服务器获取与所述数据文件对应的安全元数据文件之后,调用所述第二预设扩展程序对所述客户端的用户的标识信息进行验证,并将获取到的安全元数据文件和所述数据文件发送至所述客户端; 所述第一服务器接收所述客户端上传的更新后的安全元数据文件,并将所述更新后的安全元数据文件发送至所述第二服务器。
6.根据权利要求5所述的方法,其特征在于,在所述第一服务器接收来自于所述客户端的更新后的安全元数据文件,并将所述更新后的安全元数据文件发送至所述第二服务器之后,还包括: 所述第二服务器对通过所述第一服务器验证的用户进行再次验证; 所述第二服务器在验证成功后,采用接收到的所述更新后的安全元数据文件替换所述第二服务器当前存储的安全元数据文件。
7.根据权利要求4所述的方法,其特征在于,在所述第一服务器调用所述第二预设扩展程序对所述客户端用户预先注册的标识信息进行验证,并将所述验证成功的客户端用户上传的安全元数据文件发送至所述第二服务器之后,还包括:所述第一服务器接收来自于所述客户端的下载所述安全元数据文件的请求消息;所述第一服务器在调用所述第二预设扩展程序对所述客户端用户的标识信息进行验证,并从所述第二服务器获取与通过验证的用户对应的安全元数据文件; 所述第一服务器将获取到的安全元数据文件发送至所述客户端。
8.根据权利要求7所述的方法,其特征在于,所述安全元数据文件还携带有对所述数据文件进行加密处理所采用的加密模式,在所述第一服务器将获取到的安全元数据文件发送至所述客户端之后,还包括: 所述客户端采用所述公私钥对中的私钥从所述安全元数据文件中解密出该安全元数据文件的第一哈希值; 所述客户端采用所述第一哈希值以及从所述第一服务器下载的数据密文解密出数据明文,并重新计算所述数据明文的第二哈希值,其中,所述数据密文是由所述客户端或者除所述客户端之外的其他客户端计算所述数据明文的哈希值并以所述哈希值为密钥按照所述加密模式处理后上传至所述第一服务器得到的; 所述客户端根据所述第一哈希值和所述第二哈希值确定所述安全元数据文件是否完整。
9.根据权利要求4所述的方法,其特征在于,在所述第一服务器调用所述第二预设扩展程序对所述客户端用户预先注册的标识信息进行验证,并将所述验证成功的客户端用户上传的安全元数据文件发送至所述第二服务器之后,还包括: 所述第一服务器接收来自于所述客户端的修改与所述客户端用户对应的所述访问控制列表表项的请求消息; 所述第一服务器在调用所述第二预设扩展程序对所述客户端用户的标识信息进行验证,并从所述第二服务器获取与通过验证的用户对应的访问控制列表表项; 所述第一服务器将获取到的访问控制列表表项和当前存储的与待添加的用户对应的公钥发送至所述客户端。
10.根据权利要求9所述的方法,其特征在于,在所述第一服务器将所述获取到的访问控制列表表项和所述当前存储的与待添加的用户对应的公钥发送至所述客户端之后,还包括: 所述客户端采用所述私钥从所述访问控制列表表项中解密出所述安全元数据文件的哈希值; 所述客户端采用与所述待添加的用户对应的公钥对所述解密出的哈希值进行加密处理,并重新生成访问控制列表表项; 所述客户端将重新生成访问控制列表表项上传至所述第一服务器。
11.根据权利要求10所述的方法,其特征在于,在所述客户端将所述重新生成访问控制列表表项上传至所述第一服务器之后,还包括: 所述第二服务器接收来自于所述第一服务器的所述重新生成访问控制列表表项; 所述第二服务器对通过所述第一服务器验证的用户进行再次验证; 所述第二服务器在验证成功后,采用从所述第一服务器接收到的所述重新生成访问控制列表表项替换所述第二服务器当前存储的访问控制列表表项。
12.根据权利要求4所述的方法,其特征在于,在所述第一服务器调用所述第二预设扩展程序对所述客户端用户预先注册的标识信息进行验证,并将所述验证成功的客户端用户上传的安全元数据文件发送至所述第二服务器之后,还包括: 所述第一服务器接收来自于所述客户端的删除与所述客户端用户对应的所述访问控制列表表项的请求消息; 所述第一服务器在调用所述第二预设扩展程序对所述客户端的用户的标识信息进行验证,并在验证成功后向所述第二服务器发起删除与通过验证的用户对应的访问控制列表表项的请求消息; 所述第二服务器对通过所述第一服务器验证的用户进行再次验证; 所述第二服务器在验证成功后,删除所述第二服务器当前存储的与所述通过验证的用户对应的访问控制列表表项。
13.—种文件的处理系统,其特征在于,包括:第一服务器; 所述第一服务器包括: 第一接收模块,用于接收来自于客户端的待存储的数据文件和安全元数据文件,其中,所述安全元数据文件为所述客户端对所述数据文件进行加密处理时所创建的; 第一发送模块,用于将验证成功的客户端用户的与所述数据文件同时上传的所述安全元数据文件发送至第二服务器进行保存。
14.根据权利要求13所述的系统,其特征在于,所述系统还包括:所述客户端; 所述客户端包括: 创建模块,用于调用第一预设扩展程序对所述数据文件进行加密处理创建所述安全元数据文件。`
15.根据权利要求13所述的系统,其特征在于,所述客户端还包括: 请求模块,用于请求鉴权中心为在所述客户端注册成功的用户分配相互匹配的公私钥对; 第一上传模块,用于将所述公私钥对中的公钥或者所述公私钥对上传至所述第一服务器,其中,所述客户端在上传所述公私钥对中的私钥之前对所述私钥执行加密处理操作,所述公私钥对用于对所述数据文件的哈希值进行加密处理,所述数据文件的哈希值用于对所述数据文件进行加密处理。
16.根据权利要求15所述的系统,其特征在于,所述第一发送模块,用于调用第二预设扩展程序对所述客户端用户预先注册的标识信息进行验证,并将所述验证成功的客户端用户上传的安全元数据文件发送至所述第二服务器。
17.根据权利要求16所述的系统,其特征在于,所述第一服务器还包括: 第二接收模块,用于接收来自于所述客户端的更新所述安全元数据文件的请求消息;第二发送模块,用于在从所述第二服务器获取与通过验证的用户对应的安全元数据文件之后,调用所述第二预设扩展程序对所述客户端的用户的标识信息进行验证,并将获取到的安全元数据文件和所述数据文件发送至所述客户端; 第三发送模块,用于接收来自于所述客户端上传的更新后的安全元数据文件,并将所述更新后的安全元数据文件发送至所述第二服务器。
18.根据权利要求17所述的系统,其特征在于,所述系统还包括:所述第二服务器; 第一验证模块,用于对通过所述第一服务器验证的用户进行再次验证;第一替换模块,用于在验证成功后,采用接收到的所述更新后的安全元数据文件替换所述第二服务器当前存储的安全元数据文件。
19.根据权利要求16所述的系统,其特征在于,所述第一服务器还包括: 第三接收模块,用于接收来自于所述客户端的下载所述安全元数据文件的请求消息;第一获取模块,用于在调用所述第二预设扩展程序对所述客户端用户的标识信息进行验证,并从所述第二服务器获取通过验证的用户所请求的安全元数据文件; 第四发送模块,用于将获取到的安全元数据文件发送至所述客户端。
20.根据权利要求19所述的系统,其特征在于,所述客户端还包括: 第一解密模块,用于采用所述公私钥对中的私钥从所述安全元数据文件中解密出该安全元数据文件的第一哈希值; 计算模块,用于采用所述第一哈希值以及从所述第一服务器下载的数据密文解密出数据明文,并重新计算所述数据明文的第二哈希值,其中,所述数据密文是由所述客户端或者除所述客户端之外的其他客户端计算所述数据明文的哈希值并以所述哈希值为密钥按照所述加密模式处理后上传至所述第一服务器得到的; 确定模块,用于根据所述第一哈希值和所述第二哈希值确定所述安全元数据文件是否完整。
21.根据权利要求16所述的系统,其特征在于,所述第一服务器还包括: 第四接收模块,用于接收来自于所述客户端的修改与所述客户端用户对应的所述访问控制列表表项的请求消息; 第二获取模块,用于在调用所述第二预设扩展程序对所述客户端用户的标识信息进行验证,并从所述第二服务器获取与通过验证的用户对应的访问控制列表表项; 第五发送模块,用于将获取到的访问控制列表表项和当前存储的与待添加的用户对应的公钥发送至所述客户端。
22.根据权利要求21所述的系统,其特征在于,所述客户端还包括: 第二解密模块,用于采用所述私钥从所述访问控制列表表项中解密出所述安全元数据文件的哈希值; 生成模块,用于采用与所述待添加的用户对应的公钥对所述解密出的哈希值进行加密处理,并重新生成访问控制列表表项; 第二上传模块,用于将重新生成访问控制列表表项上传至所述第一服务器。
23.根据权利要求22所述的系统,其特征在于,所述第二服务器还包括: 第五接收模块,用于接收来自于所述第一服务器的所述重新生成访问控制列表表项; 第二验证模块,用于对通过所述第一服务器验证的用户进行再次验证; 第二替换模块,用于在验证成功后,采用从所述第一服务器接收到的所述重新生成访问控制列表表项替换所述第二服务器当前存储的访问控制列表表项。
24.根据权利要求16所述的系统,其特征在于,所述第一服务器还包括: 第六接收模块,用于接收来自于所述客户端的删除与所述客户端用户对应的所述访问控制列表表项的请求消息; 第六发送模块,用于在调用所述第二预设扩展程序对所述客户端的用户的标识信息进行验证,并在验证成功后向所述第二服务器发起删除与通过验证的用户对应的访问控制列表表项的请求消息; 所述第二服务器还包括: 第三验证模块,用于对通过所述第一服务器验证的用户进行再次验证; 删除模块,用于在验证成功后,删除所述第二服务器当前存储的与所述通过验证的用户对应的访问控制列表表项。`
【文档编号】H04L9/08GK103731395SQ201210381985
【公开日】2014年4月16日 申请日期:2012年10月10日 优先权日:2012年10月10日
【发明者】罗圣美, 舒继武, 陈小华 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1