本发明专利技术提供一种安全可靠的分布式云存储方法,包括以下步骤:步骤S1,通过密钥对原始数据进行加密或变换处理;步骤S2,对密钥和加密后的密文进行分拆,进而得到密钥数据块和文件密文数据块,其中,所述密钥数据块的数量多于所述文件密文数据块的数量;步骤S3,将密钥数据块和文件密文数据块一对一拼装成数据块存放在云端服务器,剩余的密钥数据块存放于用户端;其中,所述步骤S1、步骤S2和步骤S3均工作在用户端。本发明专利技术一方面能够充分利用云端服务器大容量低成本存储的特点,另一方面在用户端掌握一小部分但却及其重要的数据;进而保证了对云端数据的安全掌控,避免将数据安全性完全依赖于云端服务器而导致的不可控的数据泄露等弊端。
【技术实现步骤摘要】
本专利技术涉及一种云存储方法,尤其涉及。
技术介绍
分布式云存储系统是一种网络环境下的文件存储方法。该系统包括多个供多用户访问的云端服务器,这些服务器通过网络互连,对外作为一个整体提供存储服务。具体来说,该系统可以扩展到任意多个服务器,众多的节点组成一个存储网络,各个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输,用户在使用分布式文件系统时,无需关心数据是存储在哪个节点上或者是从哪个节点获取数据,而只需要像使用本地文件系统一样管理和存储文件系统中的数据。相比于传统文件系统,该系统能充分利用云端存储资源,大大降低客户端的数据存储量,同时具有更好的可扩展性和高性能特点。然而随着分布式云存储系统推广应用,如何将数据分布到多台服务器保证数据高可用性和分布的均衡性、如何确保存储在云端数据的安全性、如何充分利用云服务器节省用户存储空间等技术受越多人关注。由于文件被存储在云端服务器,在某些情况下,比如服务器宕机,会导致上传的文件无法恢复的问题,更严重的是云端数据块被窃取会造成信息泄露,因此一般都会采用身份验证、权限控制以及数据加密等方式来提高用户数据的安全性。我们既想减少客户端维持数据安全所需的验证信息以及加密密钥的存储量,也需要保证数据可恢复,减少服务器宕机带来的破坏性影响并且存储的高安全可靠性,因此需要采用有效的处理手段来解决这一问题。目前针对数据可用性这一问题的数据存储方法主要有两种,一种是采用副本方法,将需要上传数据块产生多个副本保存在多个服务器,增加数据冗余来减少服务器宕机带来的数据不可读问题的影响。但是,这样一来使得存储效率降低,数据一致性问题处理复杂同时浪费大量的空间。第二种方式是将用户要上传的文件通过比如纠删码、再生码或其他的方式编码后产生多个远小于原始文件的数据块,再分发给各个服务器与用户,编码的方式使得满足门限个数据块即可以恢复出原文件,避免了副本存储的大量冗余,另外损坏的数据块也能够恢复,保证了数据可靠性。此方法的缺点就是数据读写时计算量较大。针对数据安全的主要手段是采用数据加密的方法。虽然目前常用的加密算法强度很高,但在实用中该方法的有效性更多的取决于密钥的生成机制和管理方法。比如随机性不足的密钥大大降低了暴力破解的难度,而在管理上密钥如果做不到一次一个密钥和定期更换,也留下了被攻击的短肋。从这个角度讲,在前面的副本方案中攻击者只要获取任一副本即可得到完整数据,而编码方案中则需要获得足够数量的数据块,难度则要高得多,特别是当某些数据块不放到云端而是由用户自行掌握的时候。现有技术中,也针对分布式云存储系统提出过一种提高信息可用性的文件分发方法。用户在将编辑好的文件保存到云端服务器时,为了避免一台服务器宕机导致用户无法读取服务器数据、文件无法恢复等问题,系统将该文件复制多份,然后分发到各个服务器。同时考虑到云存储的数据安全性,避免信息原文存储带来的信息泄露的危害,用户在上传文件之前,采用某种加密算法用密钥对要上传的文件加密,在任何时候用户需要读取服务器数据时,当少数几台台服务器宕机对用户无影响,用户在可从任意其他服务器,下载一个完整的文件副本进行读取编辑,文件下载到本地之后,用户通过手中密钥解密获取源文件。同时,为了在减少客户端数据存储量的前提下,保证数据安全,用户端只保存加密密钥,因此,保存在服务器的数据泄露或者丢失,由于没有密钥因此泄露的数据依旧无效,该方法同时可以保证数据的安全性存储。该技术是最常用的云分布式存储系统中通过增加冗余提高文件可用性的方法。该方法虽然增加数据可读取率,减少服务器宕机的严重后果,但是副本冗余导致云端存储利用率很低;另外,如果用户端的数据丢失,则情况更加复杂:比如用户端保存的密钥如果丢失,则用户无法再恢复文件;若用户的密钥文件被窃取,则再读取任意服务器数据就造成信息泄露。这种现有技术的缺点在于:通过增加冗余副本降低数据不可用风险,并由用户实现加密密钥管理,防止由于云端数据失窃导致的数据泄露情况,虽然提高了云存储服务的信息安全性,但该方法显然增加了云端数据存储量,大大降低了存储利用率,并且用户数据丢失则造成无法挽回的后果。另一种现有的技术中,采用了一种信息编码技术来保存密钥和文件的云分布式系统,该系统不是单纯将文件的副本作为冗余存储在服务器,而是将加密后的密文与密钥共同通过信息编码的方式拆分为多份数据块,再平均分发给云端服务器;运用该技术的云分布式存储系统,采用对文件加密后与密钥共同编码分拆的方法将编码数据块分发到各个服务器,提高文件可利用率;而部分服务器上的数据块泄露并不会导致原文件信息泄露,具有一定的安全性。但在该系统中,用户在恢复原文件时需要访问的服务器数量较多,增加了用户读取数据时间。更大的问题在于安全性:由于用户的数据及密钥均编码保存于云端,如果攻击者能够攻破(或共谋)多台服务器并窃取超过门限的多份数据块则会造成信息泄露,忽略了用户在系统中安全性的保护作用,这个问题在拆分数据块份数不多然后门限值不高的时候更为明显。当然如果用户先对数据加密,将密钥自行掌握,只是将密文编码拆分上传到多台云端服务器,攻击者则只能获取密文,但规范可靠的密钥生成和管理对用户要求很高,而且如果发生密钥丢失的情况则将面临与技术一类似的问题。这种现有技术的缺点在于:通过将密文和密钥共同编码实现冗余存储来增加数据可靠性,并且充分利用云存储空间增加存储效率。但是该方法将密文和密钥全部存放在云端,一方面增加了用户读取云文件的解码代价和时间,另一方面相比于副本文件系统虽然一定程度上增加了存储安全性,因为需同时获得多个数据块而不是一个副本即可,但当超过一定数量的服务器数据泄露情况发生时,可以在用户不知情的情况下恢复原数据,系统安全性仍旧面临挑战。
技术实现思路
本专利技术所要解决的技术问题是需要提供,一方面能够充分利用云端服务器大容量低成本存储的特点,将尽可能多的数据体量存储在云端服务器中,另一方面用户端只需掌握一小部分但却及其重要的数据;进而保证了其对云端存储数据的安全掌控,避免将数据安全性完全依赖于云端服务器而导致的不可控的数据泄露等弊端。对此,本专利技术提供,包括以下步骤:步骤SI,通过密钥对原始数据进行加密或变换处理;步骤S2,对密钥和加密后的密文进行分拆,进而得到密钥数据块和文件密文数据块,其中,所述密钥数据块的数量多于所述文件密文数据块的数量;步骤S3,将密钥数据块和文件密文数据块一对一拼装成数据块存放在云端服务器,剩余的密钥数据块存放于用户端;其中,所述步骤S1、步骤S2和步骤S3均工作在用户端。本专利技术的进一步改进在于,所述步骤SI中,通过随机密钥、原始数据的一部分或原始数据的特定变换中的任意一种作为密钥对原始数据进行加密或变换处理。本专利技术的进一步改进在于,所述步骤S2中,通过秘密共享算法分拆所述密钥,通过编码拆分算法分拆所述加密后的密文,然后在所述步骤S3将秘密共享算法所得到的密钥数据块和编码拆分算法所得到的文件密文数据块进行一对一拼装,得到部署于云端的数据块进而存放在至少一台云端服务器中。本专利技术的进一步改进在于,所述步骤S2中,对于加当前第1页1 2 3 4 本文档来自技高网...
【技术保护点】
一种安全可靠的分布式云存储方法,其特征在于,包括以下步骤:步骤S1,通过密钥对原始数据进行加密或变换处理;步骤S2,对密钥和加密后的密文进行分拆,进而得到密钥数据块和文件密文数据块,其中,所述密钥数据块的数量多于所述文件密文数据块的数量;步骤S3,将密钥数据块和文件密文数据块一对一拼装成数据块存放在云端服务器,剩余的密钥数据块存放于用户端;其中,所述步骤S1、步骤S2和步骤S3均工作在用户端。
【技术特征摘要】
【专利技术属性】
技术研发人员:李大刚,周颖,
申请(专利权)人:北京大学深圳研究生院,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。