一种抗颠覆实现的密文数据去重方法

摘要: 本发明属于信息安全,具体涉及一种抗颠覆实现的密文数据去重方法。背景技术:1、数字化转型、互联网普及与联网设备激增促使数据量爆炸式增长。云存储服务允许用户将数据外...
一种抗颠覆实现的密文数据去重方法

本发明属于信息安全,具体涉及一种抗颠覆实现的密文数据去重方法。

背景技术:

1、数字化转型、互联网普及与联网设备激增促使数据量爆炸式增长。云存储服务允许用户将数据外包至云服务器以减轻本地存储负担,并实现随时随地的数据访问。然而,数据中往往包含用户敏感信息,直接外包将导致隐私泄露。为保护隐私,用户通常在外包前对数据进行加密。但传统加密算法因密钥和随机性差异,会使相同数据产生不同密文,导致云服务器无法跨用户识别重复数据,难以执行数据去重,造成存储空间与成本的巨大浪费。

2、消息锁加密(mle)是一种支持密文去重的对称加密算法。它从数据本身确定性地派生加密密钥,使得拥有相同数据副本的不同用户产生相同的密文,云服务器据此可删除重复密文。然而,mle容易遭受暴力字典攻击:给定一个密文,攻击者(如恶意云服务器)可从数据空间枚举候选数据,利用mle生成对应密文,并与目标密文进行比对,从而恢复出密文所隐藏的数据,严重侵犯用户隐私。

3、为抵抗暴力字典攻击,服务器辅助的mle被提出。该方法引入一个专用的密钥服务器,通过盲签名协议辅助用户派生mle密钥。用户使用随机数盲化数据后发送给密钥服务器,密钥服务器对盲化值签名,用户再对签名去盲化得到mle密钥。由于密文生成需要与密钥服务器在线交互,攻击者无法离线执行暴力字典攻击。但该方法的安全性依赖于密钥服务器的可靠性,一旦密钥服务器被攻破,方案安全性将退化为普通mle,存在单点故障问题。为解决单点故障,可采用门限盲签名将密钥派生分散到多个密钥服务器,每个服务器持有签名私钥的子密钥,只要被攻破的服务器数量少于门限值,方案安全性就能得到保证。

4、此外,在实际应用中,用户通常使用口令保护mle密钥。为防止攻击者对口令加密的密钥密文实施离线字典猜测攻击,用户通过与多个密钥服务器执行门限盲签名生成加固口令,然后用加固口令加密mle密钥,并将密钥密文同数据密文一并外包。

5、尽管服务器辅助的mle方案具有上述安全优势,但现有方案在面对颠覆实现(也称后门攻击)时仍存在严重缺陷。恶意制造商可能在随机化算法的实现中秘密嵌入潜信道,通过精心挑选随机数使输出产生偏差,从而在不被用户察觉的情况下暗中泄露秘密。具体而言,颠覆实现可发生在以下三个环节:(1)在mle密钥生成过程中,用户需盲化数据,若盲化算法的实现被颠覆,有偏的盲化值将泄露数据的一比特信息;在去重场景中,数据可能被多个用户拥有,各用户执行一次算法便可逐步泄露完整数据。(2)在加固口令生成过程中,用户需盲化口令,被颠覆的盲化实现会使盲化值泄露口令的一比特信息;每次数据外包或访问均会执行该算法,多次操作将泄露整个口令。(3)使用加固口令加密mle密钥时,若加密算法实现被颠覆,有偏密文可泄露mle密钥或加固口令的一比特信息,多次加密会彻底泄露秘密信息。

技术实现思路

1、本发明提供了一种抗颠覆实现的密文数据去重方法,旨在解决如何防止敌手(如恶意的制造商)从服务器辅助的mle方法的颠覆实现中获得秘密信息,从而抵抗颠覆实现。本发明利用密码逆向防火墙对服务器辅助的mle方法中随机化算法的输出进行重随机化,以移除颠覆实现中的潜信道,同时引入多个密钥服务器以门限方式辅助mle密钥和加固口令生成,抵抗单点故障。

2、本发明采用的技术方案为:一种抗颠覆实现的密文数据去重方法,其包括下列步骤:

3、初始化步骤:

4、根据安全参数生成系统公共参数;密钥服务器群组共同执行分布式密钥生成协议,产生以门限方式共享的主密钥,各密钥服务器持有主密钥的子密钥,并公开主公钥和所有子公钥;各密钥服务器生成自身公私钥对并公开公钥;云服务器生成自身公私钥对并公开公钥;

5、用户注册步骤:

6、用户选取身份标识和口令,基于随机选取的多个秘密值构造多项式,并计算加固口令;

7、用户以加固口令为随机源,生成口令派生公私钥对,并公开口令派生公钥;

8、用户将选取的秘密值分割为多个子秘密,并通过安全信道发送身份标识和子秘密给各密钥服务器,并公开对应公钥份额和秘密值对应的公钥;

9、密钥服务器秘密存储用户身份标识和子秘密,维护公开信息,并初始化认证失败计数器和mle密钥请求计数器;

10、用户删除除口令以外的所有秘密信息;

11、数据外包与加密步骤:

12、用户选取随机数,计算口令盲化值和文件盲化值,发送身份标识和口令盲化值给密码逆向防火墙;

13、密码逆向防火墙选取随机数,计算重随机化口令盲化值,发送身份标识和重随机化口令盲化值给所有密钥服务器;

14、每个密钥服务器检查认证失败计数器是否超限,若否,则选取挑战值,计算对重随机化口令盲化值的子签名和挑战值密文,发送给密码逆向防火墙;若是,则终止;

15、密码逆向防火墙验证子签名有效性,在收集不少于门限数量的有效子签名后,聚合生成完整签名,发送完整签名和挑战值密文给用户;

16、用户利用完整签名计算口令签名,并验证口令签名,验证通过后恢复加固口令,并基于恢复的加固口令生成口令派生公私钥对;

17、用户解密挑战值密文得到挑战值,用各密钥服务器公钥加密挑战值和文件盲化值,产生密文并发送给密码逆向防火墙;

18、密码逆向防火墙对密文进行重随机化,发送重随机化后的密文给对应密钥服务器;

19、每个密钥服务器解密重随机化后的密文并认证挑战值,若认证失败则更新认证失败计数器并终止;若消息锁加密mle密钥请求计数器超限,则终止;否则更新mle密钥请求计数器,使用子密钥对文件盲化值签名并返回生成的子签名;

20、用户验证子签名有效性,在收集不少于门限数量的有效子签名后,聚合计算文件签名,最终计算得到mle密钥;

21、用户使用mle密钥加密文件得到文件密文,使用口令派生公钥加密mle密钥得到密钥密文,生成文件标签,将文件密文、密钥密文和标签发送给密码逆向防火墙;

22、密码逆向防火墙对密钥密文进行重随机化,生成重随机化密钥密文,将文件密文、重随机化密钥密文和标签外包给云服务器;

23、用户删除加固口令、口令派生私钥和mle密钥,仅记忆口令;

24、密文去重步骤:

25、云服务器维护数据存储列表和用户关联列表;收到外包数据后计算文件密文哈希,查询数据存储列表;若哈希值已存在,则取出对应文件索引,仅将文件索引和重随机化密钥密文追加至该用户记录;否则生成文件索引,在数据存储列表中存储文件索引、文件密文哈希、文件密文和标签,并在用户关联列表中添加文件索引和重随机化密钥密文。因此,相同文件的密文只存储一份,实现了密文去重。

26、数据访问步骤:

27、用户选取随机数,计算口令盲化值,发送身份标识和口令盲化值至密码逆向防火墙;

28、密码逆向防火墙选取随机数,计算重随机化口令盲化值,发送身份标识和重随机化口令盲化值给所有密钥服务器;

29、密钥服务器检查认证失败计数器是否超限,若超限则终止;否则选取挑战值,计算对重随机化口令盲化值的子签名和挑战值密文,发送给密码逆向防火墙;

30、密码逆向防火墙验证子签名有效性,收集不少于门限数量的有效子签名后生成完整签名,发送给用户;

31、用户利用完整签名计算口令签名,并验证口令签名,验证通过后恢复加固口令,并基于恢复的加固口令生成口令派生公私钥对;

32、用户解密挑战值密文获得挑战值,用各密钥服务器公钥加密后发送密文给对应密钥服务器;

33、密钥服务器解密密文并验证挑战值,若不一致则认证失败,更新失败计数器并终止;

34、用户与云服务器执行认证密钥交换协议,相互认证身份并协商会话密钥,建立安全信道;

35、用户通过安全信道下载文件密文、重随机化密钥密文和标签,依次解密获得mle密钥和文件明文,验证标签确认文件完整性。

36、本发明通过密码逆向防火墙对盲化值、密文等随机化输出进行重随机化,有效切断了颠覆实现中可能存在的潜信道,使攻击者无法从有偏输出中提取任何秘密信息;同时采用多个密钥服务器以门限方式辅助密钥和加固口令的派生,既抵抗了离线暴力字典攻击,又避免了单点故障问题,在确保密文去重功能的前提下全面提升了系统的抗颠覆能力。

37、本发明还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现本发明的抗颠覆实现的密文数据去重方法。

38、此外,本发明还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器热行时实现本发明的抗颠覆实现的密文数据去重方法。

39、本发明提供的技术方案至少带来如下有益效果:

40、(1)基于密码逆向防火墙实现密文数据去重,通过重随机化移除服务器辅助mle中随机化算法的潜信道,有效抵抗颠覆实现;

41、(2)利用多个密钥服务器协同辅助用户生成mle密钥和加固口令,在抵抗离线字典猜测攻击和暴力字典攻击的同时避免单点故障。