云存储中基于数据存储位置的删除数据副本方法与流程

文档序号:15497416发布日期:2018-09-21 22:00阅读:196来源:国知局

本发明属于信息安全技术领域,更进一步涉及网络信息安全技术领域中的一种云存储中基于数据存储位置的删除数据副本方法。本发明可以应用于云存储应用场景,对于满足一定地理位置条件的云存储服务器,运用云计算中的安全去重技术,删除存储在云存储服务器中的用户数据副本,在删除数据副本的同时,保证传输和存储过程中数据的安全性。



背景技术:

数据副本删除是清除数据冗余的过程,是数据的一种无损压缩方式。随着云计算的不断发展,云计算安全问题日益凸显。在云服务器不被用户信任的情况下,用户将文件上传到云存储服务器前需要加密,但是数据加密严重影响了去重技术的使用。由于去重和加密是对立的,去重是为了节约存储空间,加密则是为了使密文在大量的随机数据中不被识别出来。因此,云存储服务器必须实现数据加密和去重技术的结合使用,以实现高效存储。

taojiang,xiaofengchen在其发表的论文“secureandefficientclouddatadeduplication”withrandomizedtag”(ieeetransactiononinformationforensicsandsecurity,vol,12,no.3,march2017)中公开了一种删除数据副本的方法。该方法首先利用收敛加密ce方法,将数据块的哈希值作为收敛密钥,对用户数据进行加密。其次,将相同的数据经过哈希运算之后生成相同的数据密文,继而生成相同的tag值,在用户将某个数据存储在云存储服务器之前,云存储服务器判断是否已经存在了与该数据的tag值相同的tag值,再根据判断结果决定是否将该数据存储到云存储服务器中,如果云存储服务器中已经存在了与该数据的tag值相同的tag值,用户无需将该数据密文发送给云存储服务器,仅仅增加一个指针指明该数据的拥有者;如果云存储服务器中不存在与该数据的tag值相同的tag值,用户直接将数据密文发送给云存储服务器,云存储服务器将数据密文存储起来。此方法解决了加密和去重的矛盾问题。但是,该方法仍然存在的不足之处是,无法抵御敌手的共谋攻击,密钥可能泄露,进而造成数据的泄露。

南京理工大学在其申请的专利文献“一种云存储中密文数据的客户端安全去重”(专利申请号:201610539947.9,公开号:cn105939191a)中公开了一种云存储中密文客户端安全去重方法。该方法基于盲签名构造了一个安全的密钥生成协议,实现了对收敛密钥的二次加密,保证了密钥的安全性,并在此基础上提出了一个新的基于签名的拥有权证明方法。它能够确保用户以一个更安全高效的方式向云服务器证明其确实拥有云端的某个文件,并且它能够同时实现对密文文件的去重。但是,该方法仍然存在的不足之处是,无法满足用户的个性化需求,删除存储位置在用户指定位置的数据,无法支持位置的验证,确保数据存储位置的合法性。

有时,根据用户的个性化需求,只有存储位置满足一定地理位置条件的数据才能删除数据副本。从用户的角度来讲,由于某些特定的需求或者某些法律法规的限制,数据必须存储到一定的地理位置范围内,从云存储服务器的角度来讲,为了节约存储空间,提高系统性能,降低软硬件维护成本,删除冗余数据是十分必要的。但是,目前具有代表性的能保障数据存储位置的协议,如:lost协议和geoproof协议无法支持数据去重;目前已有的删除数据副本方案无法支持位置的验证。因此,需要设计一种同时支持数据存储位置验证和安全去重的方法,即云存储中基于数据存储位置的删除数据副本方法,实现只有满足一定位置属性的数据才能删除数据副本。



技术实现要素:

本发明的目的在于针对上述已有技术的不足,提出了一种云存储中基于数据存储位置的删除数据副本方法。该方法用位置密码判断云存储服务器的位置,并将其应用到删除数据副本中,满足用户的个性化需求,安全性得到提高。

本发明实现的思路是,用户产生挑战,并将挑战发送给检验者,检验者在不同时刻分别将相应的消息发送给云存储服务器,云存储服务器计算验证证据,并将验证证据返回给检验者,检验者根据收到云存储服务器返回验证证据的时刻和验证证据的内容判断云存储服务器是否位于用户指定的位置,根据用户的个性化需求,若云存储服务器位于用户指定的位置,云存储服务器存储用户数据,并且删除数据副本,否则,用户不发送数据。

本发明对数据存储位置在指定位置的用户数据删除数据副本,包括如下步骤:

(1)生成密钥和标签:

(1a)用户计算每个待加密数据原文的哈希值,将每个哈希值作为一个收敛密钥;

(1b)用户用收敛密钥加密待加密的数据原文,生成对应的数据密文,计算每个数据密文的哈希值,将每个哈希值作为一个标签;

(1c)用户与云存储服务器共同协商,生成协商密钥;

(2)用户产生挑战:

(2a)用户用协商密钥对收敛密钥加密,生成密文,将密文发送给可信第三方密钥管理服务器;

(2b)可信第三方密钥管理服务器生成一个随机参数;

(2c)可信第三方密钥管理服务器,将随机参数与接收的密文进行异或计算后计算异或结果的哈希值,将所得哈希值作为挑战h;

(2d)用户利用伪随机函数prf生成挑战z;

(3)用户发出挑战:

用户通过安全的秘密信道,将两个挑战h和z发给检验者;

(4)云存储服务器计算验证证据:

(4a)第一个检验者产生两个随机数;

(4b)第一个检验者将所产生的两个随机数发送给其余的检验者;

(4c)用户将协商密钥发送给第二个检验者;

(4d)除第一个检验者外,其余的检验者分别产生两个随机串;

(4e)除第一个检验者外,每个检验者生成两个具有很高最小熵的信息串;

(4f)用户在云存储网络中指定数据存储位置;

(4g)每个检验者计算其发送的消息传输到指定数据存储位置所需的时间;

(4h)设定时刻t,其值大于等于所有检验者发送的消息传输到指定数据存储位置所需时间的最大值;

(4i)用设定时刻t减去检验者发送的消息传输到指定数据存储位置所需时间的差值时刻内,第一个检验者将产生的两个随机数发送给云存储服务器,第二个检验者将协商密钥和其生成的信息串发送给云存储服务器,其余的每个检验者将其生成的信息串发送给云存储服务器;

(4j)在设定的t时刻,云存储服务器利用异或方法,计算验证证据r和验证证据s;

(5)云存储服务器计算加密密钥:

在设定的t时刻,云存储服务器利用接收到的信息串与协商密钥,经过多次伪随机迭代计算,生成一个具有很高最小熵的伪随机串,其中伪随机计算的次数与检验者的个数减1后的值相等,将生成的具有很高最小熵的伪随机串作为加密密钥;

(6)检验者验证云存储服务器位置:

(6a)云存储服务器将验证证据发送给所有的检验者;

(6b)每一个检验者分别记录收到云存储服务器发送的验证证据的时刻;

(6c)将设定时刻t与每一个检验者发送的消息传输到指定数据存储位置所需的时间相加,得到检验者应收到验证证据的时刻;

(7)判断云存储服务器是否位于指定的位置,若是,则验证成功,执行步骤(8),否则,验证失败,执行步骤(12);

(8)删除数据副本:

(8a)第一个检验者将“删除数据副本”的信号反馈给用户,同时将“去重检查”的信号反馈给云存储服务器;

(8b)用户将待加密数据的标签发送给云存储服务器;

(9)检查云存储服务器内是否存在与待加密数据的标签相同的标签;若是,则执行步骤(10),否则,执行步骤(11);

(10)用户增加指针:

用户不发送密文给云存储服务器的同时增加一个指向用户的指针;

(11)云存储服务器存储密文:

(11a)云存储服务器将生成的加密密钥发送给用户;

(11b)用户利用加密密钥加密待加密数据,得到密文;

(10c)用户将密文发送给云存储服务器;

(11d)云存储服务器存储接收到的密文;

(12)用户不发送数据:

(12a)第一个检验者将“不发送数据”的信号反馈给用户,同时将“不符合位置要求”的信号反馈给云存储服务器;

(12b)用户不发送待加密数据。

本发明与现有技术相比具有如下优点:

第一,由于本发明在云存储服务器计算验证证据以及检验者验证云存储服务器位置的步骤中,每一个检验者将消息发送给云存储服务器,并且记录云存储服务器返回验证证据的时刻和验证证据的内容,使用多个检验者共同验证数据存储的位置,由于使用多个检验者,如果任何一个检验者验证失败,说明云存储服务器不位于指定的位置,只有当所有的检验者验证成功,才能说明云存储服务器位于指定的位置,因此可以抵御多个敌手针对位置验证的共谋攻击,克服了现有技术无法抵御敌手的共谋攻击的问题,使得本发明在删除数据副本的同时,更好的保证了传输和存储过程中数据的安全性。

第二,由于本发明在检验者验证云存储服务器位置的步骤中,云存储服务器将验证证据发送给所有的检验者,将云存储服务器的位置信息作为验证的唯一凭证,如果云存储服务器不位于指定的位置,则无法通过验证,克服了现有技术无法支持数据存储位置验证的问题,使得本发明能够准确的验证数据存储位置是否在指定的位置,只有云存储服务器位于指定位置时,才能通过验证,由此提高了本发明确保数据存储位置的合法性,保证只有用户数据存储在指定位置时,才可以删除数据副本,更好的保证了数据存储位置的安全性。

第三,由于本发明在云存储服务器计算加密密钥的步骤中,云存储服务器利用接收到的信息串和协商密钥,经过多次伪随机迭代计算,生成一个伪随机串,将生成的伪随机串作为加密密钥,在云存储服务器存储密文时,当云存储服务器位于指定位置时,云存储服务器将生成的加密密钥发送给用户,由此确保了只有数据存储位置在指定位置时,用户才能获得密钥,克服了现有技术在加密的过程中,密钥可能泄露,进而造成数据原文泄露的问题,使得本发明保证了只有数据存储位置符合要求时用户才能获得加密密钥,更好的保证了加密密钥的安全性。

第四,由于本发明在删除数据副本的步骤中,对于位于指定位置的云存储服务器,用户将待加密数据的标签发送给云存储服务器,对于不位于指定位置的云存储服务器,用户不发送数据,由此满足了用户的个性化需求,将存储位置在指定位置的数据删除副本,将位置密码协议与安全去重技术结合,克服了现有技术无法满足用户个性化需求,删除存储位置在用户指定位置的数据的缺点,使得本发明在确保删除数据副本过程中数据和存储位置安全性的同时,可根据用户的个性化需求提供安全删除数据副本的服务。

附图说明

图1是本发明流程图;

图2是本发明用户产生收敛密钥、标签和挑战示意图;

图3是本发明数据存储位置验证示意图;

图4是本发明验证云存储服务器位置流程图;

图5是本发明数据存储流程图。

具体实施方式

下面结合附图对本发明作进一步的描述。

参照图1,本发明的具体实现步骤作进一步的描述。

步骤1,生成密钥和标签。

用户计算每个待加密数据原文的哈希值,将每个哈希值作为一个收敛密钥。

用户用收敛密钥加密待加密的数据原文生成对应的数据密文,计算每个数据密文的哈希值,将每个哈希值作为一个标签。

用户与云存储服务器共同协商,生成协商密钥。

步骤2,用户产生挑战。

如图2所示,用户产生挑战的具体步骤如下:

用户用协商密钥对收敛密钥加密,生成密文,将密文发送给可信第三方密钥管理服务器。

可信第三方密钥管理服务器生成一个随机参数。

可信第三方密钥管理服务器,将随机参数与接收的密文进行异或计算后再计算异或结果的哈希值,将所得哈希值作为挑战h。

用户利用伪随机函数prf生成挑战z。

参照附图2用户产生收敛密钥、标签和挑战示意图,对本发明上述2个步骤中的用户产生收敛密钥、标签和挑战的过程做进一步说明。附图2中有三个实体:用户,可信第三方密钥管理服务器和云存储服务器。用户将数据进行哈希计算,得到收敛密钥,其中,哈希计算可利用sha-1,sha-256等哈希函数,由于哈希函数的特殊性,相同的待加密数据经过哈希计算生成相同的哈希值,即生成相同的收敛密钥,然后用收敛密钥加密数据,得到数据密文,再将得到的数据密文利用哈希函数计算,得到标签,用户与云存储服务器协商,生成协商密钥,用协商密钥加密收敛密钥,得到密文,并将密文发送给可信第三方密钥管理服务器,可信第三方密钥管理服务器接收到密文之后,产生一个随机数,进而产生挑战h,并将挑战h返回给用户,用户利用伪随机函数产生挑战z。

挑战z的具体实现方法为:用户选择参数c,k,l和函数f:{0,1}c×{0,1}k→{0,1}l,生成挑战z=fw,其中c表示输入数据的长度,k表示密钥,l表示输出数据的长度,w表示长度为k的密钥,w∈{0,1}k,选定密钥w,经过伪随机函数prf处理后,输出一固定长度为l的挑战z。

步骤3,用户发出挑战。

用户通过安全的秘密信道,将两个挑战h和z发给检验者。

步骤4,云存储服务器计算验证证据。

第一个检验者产生两个随机数。

第一个检验者将所产生的两个随机数发送给其余的检验者。

用户将协商密钥发送给第二个检验者。

除第一个检验者外,其余的检验者分别产生两个随机串。

除第一个检验者外,每个检验者生成两个具有很高最小熵的信息串。生成两个具有很高最小熵的信息串的方法如下:除第一个检验者外,每个检验者将第一个检验者产生的两个随机数与自身产生的两个随机串,作为伪随机函数的输入,利用伪随机函数,计算得到两个伪随机数,将两个伪随机数分别与挑战h和挑战z进行异或操作,得到两个具有很高最小熵的信息串。

用户在云存储网络中指定数据存储位置。

每个检验者计算其发送的消息传输到指定数据存储位置所需的时间。

设定时刻t,其值大于等于所有检验者发送的消息传输到指定数据存储位置所需时间的最大值。

用设定时刻t减去检验者发送的消息传输到指定数据存储位置所需时间的差值时刻内,第一个检验者将产生的两个随机数发送给云存储服务器,第二个检验者将协商密钥和其生成的信息串发送给云存储服务器,其余的每个检验者将其生成的信息串发送给云存储服务器。

在设定的t时刻,云存储服务器利用异或方法计算验证证据r和验证证据s。其中异或方法是指:在设定时刻的t时刻,云存储服务器利用收到的伪随机数和收到的第一个检验者产生的两个随机数进行异或操作后,将异或结果与信息串进行异或操作。

步骤5,云存储服务器计算加密密钥。

在设定的t时刻,云存储服务器利用接收到的信息串与协商密钥,经过多次伪随机迭代计算,生成一个具有很高最小熵的伪随机串,其中伪随机计算的次数与检验者的个数减1后的值相等,将生成的具有很高最小熵的伪随机串作为加密密钥。其中伪随机迭代计算的具体步骤如下:

第一步,云存储服务器将协商密钥与第二个检验者生成的随机串作为伪随机函数的输入,利用伪随机函数计算一个伪随机数;

第二步,将计算结果与第三个检验者生成的随机串作为伪随机函数的输入,利用伪随机函数计算一个伪随机数;

第三步,将计算结果与第四个检验者生成的随机串作为伪随机函数的输入,利用伪随机函数计算一个伪随机数;

重复以上步骤,直到每一个检验者生成的随机串均已作为伪随机函数的输入后停止迭代。

步骤6,检验者验证云存储服务器位置。

云存储服务器将验证证据发送给所有的检验者。

每一个检验者分别记录收到云存储服务器发送的验证证据的时刻。

将设定时刻t与每一个检验者发送的消息传输到指定数据存储位置所需的时间相加,得到检验者应收到验证证据的时刻。

参照附图3数据存储位置验证示意图,对本发明中数据存储位置验证的过程做进一步说明。假设有4个检验者,分别是检验者1,检验者2,检验者3和检验者4,在设定时刻t减去检验者1发送的消息传输到指定数据存储位置所需时间的差值时刻内,检验者1将其产生的两个随机数,即随机数1和随机数2发送给云存储服务器,在设定时刻t减去检验者2发送的消息传输到指定数据存储位置所需时间的差值时刻内,检验者2将协商密钥和其产生的两个信息串,即信息串1.1和信息串1.2发送给云存储服务器,在设定时刻t减去检验者3发送的消息传输到指定数据存储位置所需时间的差值时刻内,检验者3将其产生的两个信息串,即信息串2.1和信息串2.2发送给云存储服务器,在设定时刻t减去检验者4发送的消息传输到指定数据存储位置所需时间的差值时刻内,检验者4将其产生的两个信息串,即信息串3.1和信息串3.2发送给云存储服务器,确保所有的检验者发送的消息在设定的t时刻同时到达位于指定位置的云存储服务器,在设定的t时刻,云存储服务器根据收到的消息,利用异或方法计算验证证据,并将验证证据返回给检验者。

下面结合附图4验证云存储服务器位置流程图,对步骤7做进一步描述。

步骤7,判断云存储服务器是否位于指定的位置,若是,则验证成功,执行步骤8,否则,验证失败,执行步骤12。其中位于指定的位置是指,同时满足以下三个条件时云存储区服务器所处的位置:

条件1,每一个检验者记录的时刻等于应收到验证证据的时刻;

条件2,验证证据r的哈希值与挑战h的哈希值相等;

条件3,验证证据s的哈希值与挑战z的哈希值相等。

下面结合附图5数据存储流程图,对步骤8,步骤9,步骤10,步骤11,步骤12做进一步描述。

步骤8,删除数据副本。

第一个检验者将“删除数据副本”的信号反馈给用户,同时将“去重检查”的信号反馈给云存储服务器。

用户将待加密数据的标签发送给云存储服务器。

步骤9,检查云存储服务器内是否存在与待加密数据的标签相同的标签,若是,执行步骤10,否则,执行步骤11。

步骤10,用户增加指针。

用户不发送密文给云存储服务器的同时增加一个指向用户的指针。

步骤11,云存储服务器存储密文。

云存储服务器将生成的加密密钥发送给用户。

用户利用加密密钥加密待加密数据,得到密文。

用户将密文发送给云存储服务器。

云存储服务器存储接收到的密文。

步骤12,用户不发送数据。

第一个检验者将“不发送数据”的信号反馈给用户,同时将“不符合位置要求”的信号反馈给云存储服务器。

用户不发送待加密数据。

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