密文去重场景下不损失熵的所有权认证与密钥传递方法与流程

文档序号:11234626阅读:645来源:国知局
密文去重场景下不损失熵的所有权认证与密钥传递方法与流程

本发明属于信息安全技术领域,涉及一种所有权认证与密钥传递方法,具体涉及一种密文去重场景下不损失熵的所有权认证与密钥传递方法,可用于云存储服务中对客户端加密文件数据进行去重的场景。



背景技术:

随着云存储服务越来越多的应用,为了节省网络带宽和存储资源,越来越多的企业与个人开始使用云存储服务器来存储本地的文件数据。其中,用户在上传文件至云存储服务器前,为了确保数据隐私安全,会选择加密文件后再进行上传。这就使得拥有相同文件的不同用户在上传自己加密数据后,无法实现云存储服务器端的去重工作,造成大量相同数据重复存储,导致存储利用率降低,因此如何在文件加密场景下完成文件所有权认证,高效地进行去重工作,提高云存储的利用率,成为了当前的研究热点。

现有的去重方法按照去重实体的不同,有服务器端去重和客户端去重,其中常用的是客户端去重。在客户端去重场景中,服务器根据客户端是否通过所有权认证,判断是否进行文件去重工作,若是,则服务器将该客户端标记为文件拥有者,客户端无需再次上传文件;否则不能执行去重工作。根据处理数据粒度大小的不同,客户端去重又可分为数据块级去重和文件级去重,其中数据块级去重将文件首先分块,再与服务器交互判断是否通过所有权认证。在当前去重领域中,主要应用的是客户端文件级去重方法,由于云存储服务器并不是完全可信的,用户出于对数据隐私保护的考虑,通常需要在上传文件前对明文进行加密处理,因此客户端密文去重方法是目前研究的重点。jxu等在2013年acmsigsacsymposiumoninformation(8thsigsac2013)会议中发表的《weakleakage-resilientclient-sidededuplicationofencrypteddataincloudstorage》首次公开提出了客户端密文文件级去重方法,该方法利用收敛加密方法,将文件哈希值作为文件加密密钥,因此同一明文加密后将得到相同的密文,有利于服务器识别文件的重复性,然而当文件部分信息泄露时,收敛加密方法不能提供数据保密性,不能保证语义安全。在此基础上,yan等在2016年在《ieeetransactionsonbigdata》(2016,2(2))期刊中发表的《deduplicationonencryptedbigdataincloud》中公开提出了利用可信第三方代理重加密的方法传递文件加密密钥,后续上传者完成文件所有权认证后,可以从代理服务器获得文件加密密钥,但这种方法在实际中需要更高的假设前提。专利授权号为cn103731261b、名称为“加密重复数据删除场景下的密钥分发方法”的中国专利,公开了一种基于schnorr体制的零知识认证实现文件所有权认证方法,其实现步骤是:利用基于schnorr体制的零知识认证实现文件所有权认证,每次抽取多份明文文件块生成所有权证据;服务器根据预先获取的中间证据与客户端提交的所有权证据,判断客户端是否通过文件所有权认证;通过文件所有权认证后,密钥分发辅助者生成重加密密钥,服务器使用重加密密钥对文件密钥进行代理重加密,生成重加密密文并将其发送至客户端,完成对文件密钥的分发。但该专利将文件数据分块,所有权认证过程建立在文件数据块上,服务器需要挑战一定数量的文件数据块进行零知识验证实现所有权认证,这种做法仅能在一定概率条件下完成所有权认证,无法保证全体文件数据的所有权认证,同时借助密钥分发辅助者进行文件密钥分发工作,在具体实现过程中需要更高的安全假设条件支持。

以上是目前在客户端密文去重场景中一些常用的方法,在所知的客户端密文去重方法中,文件加密密钥的获取方式一般采用收敛加密方法,当文件部分信息泄露时,收敛加密方法不能保证语义安全;文件所有权认证方法采用挑战一定数量的文件数据块进行所有权认证,仅能在一定概率条件下保证文件所有权认证成功;在去重方法中加入可信第三方服务器参与,需要更高的安全假设条件支持,不适用于具体实现场景,因此,在密文去重场景下,现有技术中的所有权认证安全性低,并且没有提供密钥的安全传递方法。



技术实现要素:

本发明的目的在于针对上述现有技术的不足,提出了一种密文去重场景下不损失熵的所有权认证与密钥传递方法,利用零知识验证方法,通过不损失熵的文件大摘要,实现了密文去重场景下的文件所有权安全认证,利用隐藏凭据恢复方法实现了密文去重场景下的密钥安全传递。

本发明的技术思路是:文件首位上传者对文件进行预处理,并将预处理结果上传至服务器。后续上传者与服务器进行文件所有权认证交互,若后续上传者文件所有权认证成功,则服务器将后续上传者标记为文件拥有者,通知后续上传者删除本地文件,实现客户端密文文件去重;否则文件所有权认证失败。文件拥有者可以访问服务器文件密文。其具体实现方案包括如下:

(1)文件首位上传者u1对明文f进行预处理,并将预处理结果上传至服务器,实现步骤为:

1a)首位上传者u1利用哈希函数h(),计算明文f的索引值h(f);

1b)首位上传者u1利用独立成对哈希方法,计算明文f的不损失熵的文件大摘要hrandom(f);

1c)首位上传者u1随机生成文件对称加密密钥dek,并利用该文件对称加密密钥dek对明文f进行加密,得到文件密文cf,cf=enc(dek,f),其中enc()为对称加密方案;

1d)首位上传者u1对文件对称加密密钥dek的保护:首位上传者u1选择第一随机整数v和第二随机整数s,利用隐藏凭据恢复方法,通过第一随机整数v和第二随机整数s,计算中间变量h=vs,并通过第二随机整数s和明文f的不损失熵的文件大摘要hrandom(f),计算文件对称加密密钥dek传递值d,再通过文件对称加密密钥dek传递值d和文件对称加密密钥dek,计算文件对称加密密钥dek传递保护值r;

1e)首位上传者u1将第一随机整数v、第二随机整数s、中间变量h和文件对称加密密钥dek传递保护值r发送至服务器并存储,实现对文件对称加密密钥dek的安全传递,同时将明文f的索引值h(f)和文件密文cf发送至服务器并存储;

(2)后续上传者u2与服务器进行文件所有权认证交互,实现步骤为:

2a)后续上传者u2利用哈希函数h(),计算明文f'的索引值h(f'),并将索引值h(f')发送至服务器;

2b)服务器判断明文f'的索引值h(f')与明文f的索引值h(f)是否相等,若是,选择第三随机数w,将第三随机数w发送至后续上传者u2,否则,结束运算;

2c)后续上传者u2利用独立成对哈希方法,计算明文f'的不损失熵的文件大摘要hrandom(f'),同时选择第四随机数t,并利用零知识验证方法,通过明文f'的不损失熵的文件大摘要hrandom(f')、第三随机数w和第四随机数t,在生成元为g的p阶乘法循环群g中计算所有权认证的证据值proof、承诺值commit、辅助值aux和辅助验证值auxw,最终将所有权认证的证据值proof、承诺值commit和辅助验证值auxw发送至服务器;

2d)服务器利用零知识验证方法,通过所有权认证的证据值proof,在生成元为g的p阶乘法循环群g中计算所有权认证的证据验证值gproof,并判断gproof×auxw与承诺值commit是否相等,若是,后续上传者u2文件所有权认证成功,将文件所有权认证成功的后续上传者u2标记为文件拥有者,并通知后续上传者u2删除明文f',实现客户端密文文件去重,执行步骤(3),否则,后续上传者u2文件所有权认证失败,结束运算;

(3)文件拥有者访问服务器文件密文cf,实现步骤为:

3a)服务器将第一随机整数v、中间变量h和文件对称加密密钥dek传递保护值r发送至文件拥有者;

3b)文件拥有者选择第五随机数r,并通过第五随机数r、明文f的不损失熵的文件大摘要hrandom(f)和第一随机整数v,计算明文f的不损失熵的文件大摘要hrandom(f)证据值u=vrh(hrandom(f)),其中h()为哈希函数,再将证据值u发送至服务器;

3c)服务器通过明文f的不损失熵的文件大摘要hrandom(f)证据值u和第二随机整数s,计算明文f的不损失熵的文件大摘要hrandom(f)证据验证值b=us,并将证据验证值b发送至文件拥有者;

3d)文件拥有者通过明文f的不损失熵的文件大摘要hrandom(f)证据验证值b、中间变量h和第五随机数r,计算文件对称加密密钥dek传递值d=b×h-r,并通过文件对称加密密钥dek传递保护值r和文件对称加密密钥dek传递值d,计算文件对称加密密钥dek=r×d;

3e)文件拥有者利用文件对称加密密钥dek对文件密文cf进行解密,得到明文f,f=dec(dek,cf),其中dec()为对称解密方案。

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

1.本发明利用独立成对哈希方法生成不损失熵的文件大摘要,同时利用零知识验证方法,完成文件所有权认证过程,因此文件所有权认证过程建立在文件自身熵值不变的等价大摘要上,不存在概率条件上通过验证的可能性,保证了文件所有权认证的安全性;并且验证过程具有零知识性,服务器无法从用户上传的零知识验证数据中窃取到与文件本身相关的信息,保护用户文件数据隐私性,从而提高了文件所有权认证过程的安全性。

2.本发明利用隐藏凭据恢复方法,文件加密密钥与文件本身无关,可以抵抗当文件内容部分泄露时攻击者获取部分信息的攻击,与收敛加密方法相比,保证了文件加密密钥与文件分离,实现了文件加密密钥语义安全;同时隐藏凭据恢复方法可以建立在服务器不可信的两方密钥传递过程中,不需要可信第三方服务器参与,在本发明中,服务器在文件加密密钥传递过程中不会获取到文件加密密钥的任何信息,防止了文件加密密钥的隐私泄露,从而保证了文件加密密钥传递的安全性。

3.本发明通过不损失熵的文件大摘要进行零知识验证,验证过程建立在不损失熵的文件大摘要上,不需要建立在对原始文件进行运算处理的操作上,减少了客户端与服务器所有权认证的运算量。

附图说明

图1为本发明的实现流程框图;

图2为本发明中的首位上传者对文件预处理并将结果上传至服务器流程框图;

图3为本发明中的后续上传者与服务器进行文件所有权认证交互流程框图;

图4为本发明中的文件拥有者访问服务器文件密文流程框图。

具体实施方式

以下结合附图和具体实施例,对本发明作进一步详细说明:

参照图1,一种密文去重场景下不损失熵的所有权认证与密钥传递方法,包括如下步骤:

步骤1,文件首位上传者u1对明文f进行预处理,并将预处理结果上传至服务器,实现步骤如图2所示:

步骤1a)首位上传者u1利用md5哈希函数,计算明文f的索引值h(f)=md5(f);

步骤1b)首位上传者u1利用独立成对哈希方法,计算明文f的不损失熵的文件大摘要hrandom(f):

步骤1b1)首位上传者u1对明文f进行分块,得到明文f={w1,w2,…,wi,…,wl},其中wi表示明文f={w1,w2,…,wi,…,wl}中的第i块,l表示块的数量,且i∈[1,l];

步骤1b2)首位上传者u1利用sha1哈希函数hash(),计算明文f={w1,w2,…,wi,…,wl}中每一块wi的哈希值yi=hash(w1||w2||...||wi),并将所有块的哈希值联结,得到明文f正向哈希值y={y1||y2||...||yl};

步骤1b3)首位上传者u1对明文f进行逆序处理,得到明文f逆序文件并对明文f逆序文件进行分块,得到明文f逆序文件其中表示明文f逆序文件中的第i块,l表示块的数量,且i∈[1,l];

步骤1b4)首位上传者u1利用sha1哈希函数hash(),计算明文f逆序文件中每一块的哈希值并将所有块的哈希值联结,得到明文f逆向哈希值z={z1||z2||...||zl},最终对明文f逆向哈希值z进行逆序处理,得到明文f逆向哈希转换值

步骤1b5)首位上传者u1通过明文f正向哈希值y和明文f逆向哈希转换值计算明文f的不损失熵的文件大摘要其中表示异或操作;

步骤1c)首位上传者u1随机生成文件对称加密密钥dek,并利用该文件对称加密密钥dek对明文f进行加密,得到文件密文cf,cf=aesenc(dek,f),其中aesenc()为aes对称加密方案;

步骤1d)首位上传者u1对文件对称加密密钥dek的保护:首位上传者u1选择第一随机整数v和第二随机整数s,利用隐藏凭据恢复方法,通过第一随机整数v和第二随机整数s,计算中间变量h=vs,并通过第二随机整数s和明文f的不损失熵的文件大摘要hrandom(f),计算文件对称加密密钥dek传递值d,再通过文件对称加密密钥dek传递值d和文件对称加密密钥dek,计算文件对称加密密钥dek传递保护值r:

步骤1d1)首位上传者u1通过明文f的不损失熵的文件大摘要hrandom(f)和第二随机整数s,计算文件对称加密密钥dek传递值d:d=(hash(hrandom(f)))s,其中hash()为sha1哈希函数;

步骤1d2)首位上传者u1计算文件对称加密密钥dek传递保护值r:r=dek×d-1

步骤1e)首位上传者u1将第一随机整数v、第二随机整数s、中间变量h和文件对称加密密钥dek传递保护值r发送至服务器并存储,实现对文件对称加密密钥dek的安全传递,同时将明文f的索引值h(f)和文件密文cf发送至服务器并存储;

步骤2,后续上传者u2与服务器进行文件所有权认证交互,实现步骤如图3所示:

步骤2a)后续上传者u2利用md5哈希函数,计算明文f'的索引值h(f')=md5(f'),并将索引值h(f')发送至服务器;

步骤2b)服务器判断明文f'的索引值h(f')与明文f的索引值h(f)是否相等,若是,选择第三随机数w,将第三随机数w发送至后续上传者u2,否则,结束运算;

步骤2c)后续上传者u2利用独立成对哈希方法,计算明文f'的不损失熵的文件大摘要hrandom(f'),同时选择第四随机数t,并利用零知识验证方法,通过明文f'的不损失熵的文件大摘要hrandom(f')、第三随机数w和第四随机数t,在生成元为g的p阶乘法循环群g中计算所有权认证的证据值proof、承诺值commit、辅助值aux和辅助验证值auxw,最终将所有权认证的证据值proof、承诺值commit和辅助验证值auxw发送至服务器:

步骤2c1)后续上传者u2计算所有权认证的证据值proof=(hrandom(f')×w+t)modq;

步骤2c2)后续上传者u2计算所有权认证的承诺值commit=gtmodq;

步骤2c3)后续上传者u2计算所有权认证的辅助值并通过所有权认证的辅助值aux和第三随机数w,计算所有权认证的辅助验证值auxw

其中,q是一个素数,且q|p-1;

步骤2d)服务器利用零知识验证方法,通过所有权认证的证据值proof,在生成元为g的p阶乘法循环群g中计算所有权认证的证据验证值gproof,并判断gproof×auxw与承诺值commit是否相等,若是,后续上传者u2文件所有权认证成功,将文件所有权认证成功的后续上传者u2标记为文件拥有者,并通知后续上传者u2删除明文f',实现客户端密文文件去重,执行步骤(3),否则,后续上传者u2文件所有权认证失败,结束运算;

步骤3,文件拥有者访问服务器文件密文cf,实现步骤如图4所示:

步骤3a)服务器将第一随机整数v、中间变量h和文件对称加密密钥dek传递保护值r发送至文件拥有者;

步骤3b)文件拥有者选择第五随机数r,并通过第五随机数r、明文f的不损失熵的文件大摘要hrandom(f)和第一随机整数v,计算明文f的不损失熵的文件大摘要hrandom(f)证据值u=vrhash(hrandom(f)),其中hash()为sha1哈希函数,再将证据值u发送至服务器;

步骤3c)服务器通过明文f的不损失熵的文件大摘要hrandom(f)证据值u和第二随机整数s,计算明文f的不损失熵的文件大摘要hrandom(f)证据验证值b=us,并将证据验证值b发送至文件拥有者;

步骤3d)文件拥有者通过明文f的不损失熵的文件大摘要hrandom(f)证据验证值b、中间变量h和第五随机数r,计算文件对称加密密钥dek传递值d=b×h-r,并通过文件对称加密密钥dek传递保护值r和文件对称加密密钥dek传递值d,计算文件对称加密密钥dek=r×d;

dek=r×d

=r×b×h-r

=r×us×h-r

=r×(vrhash(hrandom(f)))s×h-r

=r×(vrhash(hrandom(f)))s×v-rs

=r×(hash(hrandom(f)))s

其中,hash()为sha1哈希函数。

步骤3e)文件拥有者利用文件对称加密密钥dek对文件密文cf进行解密,得到明文f,f=aesdec(dek,cf),其中aesdec()为aes对称解密方案。

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