发明名称 多地理位置存储的云端数据完整性验证方法
摘要 本发明公开了一种多地理位置存储的云端数据完整性验证方法,主要解决现有技术验证效率低,且验证次数受限的问题。其实现步骤是:(1)用户加密原文件,并为其添加冗余码;(2)用户选择存储服务器并上传文件;(3)用户在存储服务器最近位置设置地标服务器,地标服务器对存储服务器进行挑战,存储服务器对挑战进行响应;(4)地标服务器验证存储服务器的响应,判断云端数据的完整性;(5)地标服务器根据挑战响应的时间,测量云存储数据的地理位置;(6)用户对存储服务器的测量位置做出判断。本发明能实现多地理位置存储的云端数据完整性验证,减少了验证过程中的计算和传输数据量,可用于云端存储数据的安全性和可靠性检测。
申请公布号 CN104052819A 申请公布日期 2014.09.17
申请号 CN201410299677.X 申请日期 2014.06.27
申请人 西安电子科技大学 发明人 周洪丞;杨超;马建峰;董超;张明月;张坤;姚亮;张鹏
分类号 H04L29/08(2006.01)I;H04L29/06(2006.01)I;H04L9/32(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;朱红星
主权项 一种多地理位置存储的云端数据完整性验证方法,包括如下步骤:(1)文件拥有者User处理原始文件F及生成密钥k<sub>tag</sub>:1a)文件拥有者User利用对称加密算法,对其希望存储在云端的原始文件F进行加密,并为加密后的文件添加冗余码得到密文文件F′;1b)文件拥有者User将密文文件F′分为n块,并将每块文件分为s节,利用伪随机数生成算法生成计算密文文件标签时需要的密钥k<sub>tag</sub>,并根据对密文文件F′的指定分节数s,生成计算标签时需要的s个加盐数据{α<sub>1</sub>,α<sub>2</sub>,...,α<sub>s</sub>};1c)文件拥有者User利用生成的密钥k<sub>tag</sub>及s个加盐数据{α<sub>1</sub>,α<sub>2</sub>,...,α<sub>s</sub>},分别计算密文文件F′的n块数据所对应的标签σ<sub>i</sub>;(2)文件拥有者User选择存储服务器并上传密文文件F′及标签σ<sub>i</sub>:2a)文件拥有者User根据其对要存储的文件的地理位置要求,从云存储服务商Provider提供的文件存储服务器中选择满足其要求的一个服务器集合C;2b)文件拥有者User将密文文件F′及其标签σ<sub>i</sub>一起上传云储存服务商,云存储服务商将密文文件F′及其标签σ<sub>i</sub>发送至服务器集合C中的每一个文件存储服务器;(3)文件存储服务器Storage对文件标签σ<sub>i</sub>进行重编码:3a)云存储服务商Provider为每个文件存储服务器Storage分配一个唯一的服务器标记ρ;3b)文件存储服务器Storage使用其服务器标记ρ,对文件标签σ<sub>i</sub>进行重编码,得到此存储服务器独有的文件标签σ<sub>ρ,i</sub>,并将该文件标签σ<sub>ρ,i</sub>和密文文件F′同时存储;(4)地标服务器L对文件存储服务器Storage进行挑战,并记录挑战和响应的时间差:4a)用户根据文件存储服务器的位置,在每个存储服务器的最近位置设置一个地标服务器L,根据两地标服务器之间的距离Len,测量两个地标服务器之间时延为t,得到两地标服务器间数据传输速率<img file="FDA0000528483310000011.GIF" wi="174" he="82" />4b)地标服务器L使用伪随机数生成算法,生成一组挑战数据Q发送给文件存储服务器Storage,并记录发送挑战的时间t<sub>ch</sub>,该挑战数据Q包括要挑战的文件块号i和参与挑战的随机值v<sub>i</sub>;4c)文件存储服务器Storage在接到挑战数据Q后,将其存储的密文文件F′的数据块及文件标签σ<sub>ρ,i</sub>与挑战中的伪随机值v<sub>i</sub>进行乘法求和运算,并将文件响应值{μ}和标签响应值σ<sub>ρ</sub>发送给地标服务器L,地标服务器L记录接收响应的时间t<sub>re</sub>;(5)地标服务器L服务器判断文件的完整性和地理位置:5a)地标服务器L使用收到的文件响应值{μ},与密钥k<sub>tag</sub>及加盐数据{α<sub>1</sub>,α<sub>2</sub>,...,α<sub>s</sub>}进行计算,得到结果标签σ<sub>L</sub>,验证结果标签σ<sub>L</sub>是否与收到的标签响应值σ<sub>ρ</sub>相同,如果验证通过,执行步骤5b),否则结束验证;5b)地标服务器L根据发送挑战时间t<sub>ch</sub>和接收响应的时间t<sub>re</sub>,计算存储服务器与地标服务器L的距离为r=V*(t<sub>re</sub>‑t<sub>ch</sub>),并将该距离r发送给文件拥有者User;5c)使用另一地标服务器L′对同一文件存储服务器Storage进行挑战,按照5b)的方法得到存储服务器与地标服务器L′的距离为r’,并将r’发送给文件拥有者User5d)文件拥有者User分别以所述的地标服务器L、L′的位置为圆心,以r与r’为半径作圆,用该两圆的交汇区域作为存储服务器Storage的测量位置;(6)文件拥有者User按照步骤5b)‑5d),计算服务器集合C中所有存储服务器的测量位置,判断所有存储服务器测量位置是否满足User对地理位置的要求,若满足,则证明云存储服务商按照协议内容存储密文文件F′,否则,说明云存储服务商违反协议内容,则退出验证并向云存储服务商提出申诉。
地址 710071 陕西省西安市太白南路2号