CN115102699A - 数据安全去重及数据恢复方法、系统、介质、设备及终端 - Google Patents

数据安全去重及数据恢复方法、系统、介质、设备及终端 Download PDF

Info

Publication number
CN115102699A
CN115102699A CN202210705033.0A CN202210705033A CN115102699A CN 115102699 A CN115102699 A CN 115102699A CN 202210705033 A CN202210705033 A CN 202210705033A CN 115102699 A CN115102699 A CN 115102699A
Authority
CN
China
Prior art keywords
data
file
ciphertext
user
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210705033.0A
Other languages
English (en)
Inventor
郑东
李乐
秦宝东
郭瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Posts and Telecommunications
Original Assignee
Xian University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian University of Posts and Telecommunications filed Critical Xian University of Posts and Telecommunications
Priority to CN202210705033.0A priority Critical patent/CN115102699A/zh
Publication of CN115102699A publication Critical patent/CN115102699A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于云存储技术领域,公开了一种数据安全去重及数据恢复方法、系统、介质、设备及终端,通过可搜索加密的索引与陷门匹配关系判断云服务器是否以存储同一文件的密文,如果存在,则数据用户将自身关于该文件的代理重加密密钥上传到云服务器的密文链表中,实现数据安全去重;如果不存在,则数据用户对密文进行加密后并附带代理重加密密钥上传至云服务器中;当数据用户恢复文件时,云服务器使用密文链表中用户的代理重加密密钥对原始密文进行重加密生成转换密文,数据用户使用私钥解密恢复相应文件。本发明保证加密数据能够在云服务器中安全存储,实现高效的数据安全去重的同时,不引入密钥管理问题,能够使用户能够有效的恢复自己的数据。

Description

数据安全去重及数据恢复方法、系统、介质、设备及终端
技术领域
本发明属于云存储技术领域,尤其涉及一种数据安全去重及数据恢复方法、系统、介质、设备及终端。
背景技术
云存储技术能够使用户方便快捷的对数据进行备份与共享,降低用户的存储开支,提高工作效率。出于对数据安全的考虑,数据上云前需要进行加密。但密文状态下,难以实现密文的检索、共享和去重等。根据国际数据中心(IDC,International Data Center)在《数据时代2025》中指出,全球数据圈将从2018年的33ZB增长到2025年的175ZB,在全球每年生产的数据中,有75%是重复的,删除这部分重复的数据可以很大程度上优化服务器的存储利用率。
目前,收敛加密技术(CE,Convergent Encryption)被广泛应用于构造数据安全去重系统,但是收敛加密面临数据泄露、复制伪造攻击、选择明文攻击、内容分发攻击等多种危险。由于收敛加密采用的加密密钥是由用户的文件通过哈希后生成的,所以同一用户的多个文件会产生多个不同的密钥,由此产生密钥管理问题。
现阶段数据安全去重存在的主要问题是:数据的加密和去重两个操作互相影响。不同用户若采用相同的密钥加密数据则会产生相同的密文,通过直接对比密文是否相同而实现数据安全去重,每个文件使用单独的密钥对进行加解密,由此会产生密钥管理的问题。不同用户若采用自身的密钥加密数据,而不需要针对每个文件生成密钥对,由此可以有效减少密钥管理问题,但难以实现密文相等性测试。如何在密文状态下实现数据去重,同时不引入密钥管理问题,以及用户如何恢复自己的数据都是现阶段数据安全去重存在的问题。
发明内容
针对现有技术存在的问题,本发明提供了一种数据安全去重及数据恢复方法、系统、介质、设备及终端,尤其涉及一种云环境中基于可搜索加密的数据安全去重及数据恢复的方法、系统、介质、设备及终端。
本发明是这样实现的,一种数据安全去重及数据恢复方法,所述数据安全去重及数据恢复方法包括:
数据安全去重:采用公钥可搜索加密技术,通过对文件进行哈希后生成文件加密私钥,同一文件生成相同的文件加密密钥,使用文件加密私钥生成文件的关键字索引并上传至云服务器。当进行重复性测试时,使用文件加密私钥生成文件的陷门,通过陷门与服务器中的关键字索引进行匹配,判断服务器中是否已经存储相同的文件。对于非重复性文件,数据用户将文件相关的密文、代理重加密密钥存储至云服务器;对于重复性文件,数据用户将自身关于该文件的代理重加密密钥存储至相应的密文链表中实现数据安全去重。此时,用户本地只需要存储自身的公私钥,而不需要保存文件加密密钥,因此不会引入大量的密钥管理问题。
数据恢复:采用代理重加密技术,当数据用户想要恢复自身的文件时,云服务器利用密文链表中相应的密钥对原始密文进行代理重加密生成转换密文,用户接收到转换密文后使用自身的私钥即可对文件进行解密以恢复文件。
进一步,所述数据安全去重及数据恢复方法包括以下步骤:
步骤一,初始化:输入安全参数,运行初始化算法,输出系统的公共参数信息params,将params发送给数据用户和存储服务器,所述数据用户包括数据拥有者DO、数据使用者DU。
步骤二,文件密钥生成:由数据用户执行;输入待加密文件F,分别计算加密文件的公私钥对(PKF,SKF),用于对文件的加密和生成代理重加密密钥。文件加密密钥通过对文件哈希后生成,相同的文件产生相同的密钥,并且文件加密密钥不需要存储在本地,由此不会引入大量的密钥管理问题。
步骤三,用户密钥生成:由数据用户执行;数据用户通过用户密钥生成算法生成公私钥对(PKu,SKu),用于生成代理重加密密钥和恢复密文时进行解密密文。采用代理重加密技术,用户只需要保存用户密钥即可恢复文件。
步骤四,文件代理重加密密钥生成:由数据用户执行;数据用户通过文件代理重加密密钥生成算法生成文件F关于用户u的重加密密钥RKF→u,用于生成转换密文C'。
步骤五,关键字提取:由数据拥有者执行;数据拥有者在本地利用公共参数对文件F预处理后得到关键字w,该关键字可以唯一标识文件。
步骤六,关键字索引构建:由数据拥有者执行;输入关键字w和文件加密私钥SKF,计算关键字索引Cw,索引中的每个元素对应一个文件。
步骤七,陷门生成:由数据用户执行;输入关键字w和文件加密私钥SKF,计算陷门Tw,将陷门发送给云服务器;利用陷门与云服务器中的索引进行匹配,判断关键字与索引是否对应,进而判断数据使用者将要存储的文件在云服务器中是否已存在相同的文件。
步骤八,测试:由云服务器执行;输入关键字索引Cw和陷门Tw,判断陷门是否与关键字索引中某个关键字匹配;如果匹配则表明服务器中已存在相同的文件,数据用户作为数据使用者只需上传由本地计算的文件F关于数据使用者DU的重加密密钥RKF→DU,将RKF→DU添加至关键字w所对应的密文链表中;如果不存在匹配关系,则表明服务器中不存在相同的文件,数据用户作为数据拥有者,上传关键字索引、加密密文至云服务器中,同时将文件F关于数据拥有者DO的重加密密钥RKF→DO添加至关键字w所对应的密文链表中。
步骤九,加密:由数据拥有者执行;输入文件F和文件加密公钥PKF;计算关于文件F的加密密文C,将关键字索引Cw、密文C、文件F关于数据拥有者DO的重加密密钥RKF→DO上传给存储服务器。实现对文件的安全保护,密文所对应的密文链表中存储代理重加密密钥,用于生成代理重加密密文,实现数据恢复。
步骤十,代理重加密:由存储服务器执行;输入原始密文,使用重加密密钥RKF→DO或RKF→DU对原始密文C进行重加密,输出转换密文C'。转换密文只能由拥有相应私钥的用户解密,当用户私钥不正确时,无法解密得到正确的结果。
步骤十一,解密:由数据用户执行;输入转换密文C',数据用户的私钥SKu,运行解密算法进行解密,解密得到明文消息。对于数据用户而言,无论其拥有多少个文件,其本地只需要存储自身的公私钥即可对拥有所有权的文件进行解密,从而恢复明文消息。
进一步,所述步骤一中的初始化包括:
输入安全参数k,运行初始化算法,输出系统的公共参数信息
Figure BDA0003705921180000041
其中群G1是q阶乘法循环群,g∈G1是群G1的生成元,双线性映射e:G1×G1→G2,Z=e(g,g)∈G2;其中双线性映射e:G1×G1→G2满足如下条件:
(1)双线性:对于任意g,h∈G1
Figure BDA0003705921180000042
有e(ga,hb)=e(g,h)a·b
(2)非退化性:对于任意生成元g∈G1,e(g,g)≠1。
(3)可计算性:对于任意g,h∈G1,在多项式时间内e(g,h)可计算的。
将系统公开参数params发送给数据用户和存储服务器,所述数据用户包括数据拥有者DO、数据使用者DU。
所述步骤二中的文件密钥生成包括:
数据用户在本地生成自身所拥有的文件F的加密密钥对。计算文件加密私钥SKF=f=H1(F),利用私钥SKF计算出文件加密公钥
Figure BDA0003705921180000043
输出加密文件的公私钥对(PKF,SKF)。
将文件加密公钥PKF公开,文件加密私钥SKF用于陷门生成和重加密密钥生成,而用户本地在计算完成后并不保存文件加密密钥。对于拥有相同文件的数据用户,采用相同的算法提取的文件加密密钥是相同的。
所述步骤三中的用户密钥生成包括:
数据用户在本地选取随机数
Figure BDA0003705921180000051
将随机选取的a作为用户自身的私钥SKu,利用私钥SKu计算用户自身的公钥PKu=ga;输出用户的公私钥对(PKu,SKu)=(ga,a),其中公钥用于生成重加密密钥,而私钥用于对转换密文的解密;数据用户生成的公钥将被公开,私钥由自己保存。
数据拥有者DO将随机选取
Figure BDA0003705921180000052
的作为自身的私钥SKDO,所生成的公私钥对为(PKDO,SKDO)=(ga,a);数据使用者DU将随机选取
Figure BDA0003705921180000053
的作为自身的私钥SKDU,所生成的公私钥对为(PKDU,SKDU)=(gb,b)。
进一步,所述步骤四中的代理重加密密钥生成包括:
数据用户在生成自身的公私钥对后,利用自己拥有的文件加密私钥SKF和用户自身公钥PKu计算得出文件F关于用户自身的代理重加密密钥RKF→u,用于对云服务器中拥有数据所有权的文件F的恢复。
利用步骤一中生成的系统参数,计算数据用户的代理重加密密钥;其中对于数据拥有者DO而言,代理重加密密钥为RKF→DO=ga·f,而对于拥有相同文件F的数据使用者而言,代理重加密密钥为RKF→DU=gb·f
数据拥有者的代理重加密密钥RKF→DO,存储在相应文件的密文链表中;而数据使用者的代理重加密密钥RKF→DU则需要进行索引与陷门的匹配测试后,若测试结果为True,则将RKF→DU存储在相应的密文链表中,若测试结果为False,则其判定为文件的数据拥有者,将文件加密后存储在云服务器中,关于文件F的代理重加密密钥RKF→DU存储在相应的密文链表中。
所述步骤五中的关键字提取包括:
数据拥有者在上传文件F的密文前,需要提取文件的关键字生成关键字索引;利用步骤一中生成的系统参数,提取关键字w=H2(F)。
所述步骤六中的关键字索引生成包括:
(1)数据用户在本地选取随机数
Figure BDA0003705921180000054
利用步骤一中生成的系统参数params,计算
Figure BDA0003705921180000061
(2)利用步骤五提取的关键字w和步骤二中生成的文件加密私钥SKF=f,计算
Figure BDA0003705921180000062
(3)利用步骤一中生成的系统参数,计算
Figure BDA0003705921180000063
(4)通过以上计算,生成关键字索引
Figure BDA0003705921180000064
将关键字索引上传至存储服务器中。
进一步,所述步骤七中的陷门生成包括:
数据用户在上传自身所拥有的文件密文存储服务器前,判断存储服务器中是否存在相同的文件。
为判断存储服务器中是否存在相同的文件,数据用户利用步骤二生成的文件加密私钥SKF=f和步骤五中提取的关键字w,计算陷门Tw=wf=H2(F)f,将陷门发送给存储服务器。
所述步骤八中的测试包括:
测试算法:由云服务器执行;输入关键字索引Cw和陷门Tw,判断陷门是否与关键字索引中某个关键字对应,如果对应则表明服务器中已存在相同的文件,此时数据使用者只需上传由本地计算的文件F关于数据使用者DU的重加密密钥RKF→DU,将RKF→DU添加至关键字w所对应的密文链表中。
存储服务器利用步骤六生成的关键字索引和步骤七生成的陷门,判断关键字索引和陷门是否匹配,具体包括:
(1)利用步骤一中生成的系统参数,存储服务器计算
Figure BDA0003705921180000065
(2)将计算结果与关键字索引进行比较,判断是否存在匹配项。
(3)若存在匹配项,则表明存储服务器中已存储文件F的密文;数据用户作为数据使用者,不再存储文件密文,将关于文件F的代理重加密密钥RKF→DU=gb·f存储在云服务器中相应的密文链表中。
(4)若不存在匹配项,则表明存储服务器未存储文件F的密文;数据用户作为数据拥有者,采用步骤九中的算法对文件F进行加密,将加密密文存储到云服务器中,同时将关于文件F的代理重加密密钥RKF→DO=ga·f存储到云服务器中相应的密文链表。
所述步骤九中的加密包括:
当数据用户经过陷门与关键字索引的匹配测试算法后,如果不存在匹配项,则认定该数据用户为文件F的数据拥有者,执行加密算法,将文件F的加密密文上传至存储服务器,具体包括:
(1)数据拥有者随机取
Figure BDA0003705921180000071
和步骤一中生成的系统参数计算
Figure BDA0003705921180000072
作为密文的第一部分。
(2)根据利用文件加密公钥PKF=Zf,计算
Figure BDA0003705921180000073
(3)计算
Figure BDA0003705921180000074
作为文件F的密文的第二部分。
(4)经过上述步骤计算完成后,生成文件F的密文为
Figure BDA0003705921180000075
将密文C上传至存储服务器中。
进一步,所述步骤十中的代理重加密包括:
存储服务器接收到数据用户的获取数据请求后,判断存储服务器中相应密文所对应的链表中是否存储关于该数据用户的代理重加密密钥;如果存储关于该数据用户的代理重加密密钥,则使用代理重加密密钥,对原始密文进行代理重加密生成转换密文;如果未存储该数据用户的代理重加密密钥,则返回False给数据用户,表示数据用户无法获取该密文;利用步骤四生成的代理重加密密钥和步骤九生成的原始密文,计算得出转换密文,以数据使用者关于文件F的重加密密钥RKF→DU进行重加密为例,具体包括:
(1)使用双线性映射计算转换密文的第一部分
Figure BDA0003705921180000076
(2)令转换密文的第二部分与原始密文的第二部分相同,C'2=C2
(3)生成数据使用者关于指定文件F的转换密文C'=(C1',C'2)。将转换密文发送给指定的用户,用于对文件的恢复。
(4)对于数据拥有者而言,执行相同的算法可生成相应的转换密文。
所述步骤十一中的解密包括:
对于数据拥有者和数据使用者,本地均不存储关于文件F的文件密钥,而是仅保存自身的公私钥。当数据用户想要恢复文件F时,通过向存储服务器发出获取请求,存储服务器执行步骤十后,生成使用数据用户的私钥可解密的转换密文,从而在保证数据安全性的同时不引入本地密钥管理问题。
利用步骤三生成的用户私钥和步骤十产生的关于用户的转换密文,解密得出文件F,具体解密方法包括:
(1)利用数据用户的私钥b,计算1/b。
(2)使用转换密文的第一部分C1'计算(C1')1/b
(3)利用转换密文的第二部分C'2计算F=C'2/(C1')1/b,最终解密获得文件F。
(4)对于数据拥有者而言,利用自身私钥执行相同的算法解密获得文件F。
本发明的另一目的在于提供一种应用所述的数据安全去重及数据恢复方法的数据安全去重及数据恢复系统,所述数据安全去重及数据恢复系统包括:
初始化模块,用于输入安全参数,运行初始化算法,输出系统的公共参数信息,并将公共参数信息发送给数据用户和存储服务器。
密钥生成模块,用于分别计算加密文件的公私钥对,通过用户密钥生成算法生成公私钥对,并生成文件F关于用户u的重加密密钥。
关键字提取模块,用于由数据拥有者执行;数据拥有者在本地利用公共参数对文件F预处理后得到关键字w。
关键字索引构建模块,用于由数据拥有者执行;输入关键字w和文件加密私钥SKF,计算关键字索引Cw
陷门生成模块,用于由数据用户执行;输入关键字w和文件加密私钥SKF,计算陷门Tw,将陷门发送给云服务器;利用陷门与云服务器中的索引进行匹配。
测试模块,用于由云服务器执行;输入关键字索引Cw和陷门Tw,判断陷门是否与关键字索引中某个关键字匹配。
加密模块,用于由数据拥有者执行;输入文件F和文件加密公钥PKF;计算关于文件F的加密密文C,并关键字索引Cw、密文C、文件F关于数据拥有者DO的重加密密钥RKF→DO上传给存储服务器。
代理重加密模块,用于由存储服务器执行;输入原始密文,使用重加密密钥RKF→DO或RKF→DU对原始密文C进行重加密,输出转换密文C'。
解密模块,用于由数据用户执行;输入转换密文C',数据用户的私钥SKu,运行解密算法进行解密,解密得到明文消息。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述的数据安全去重及数据恢复方法。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述的数据安全去重及数据恢复方法。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的数据安全去重及数据恢复系统。
结合上述的技术方案和解决的技术问题,请从以下几方面分析本发明所要保护的技术方案所具备的优点及积极效果为:
第一、针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:
本发明的目的在于针对现有的数据安全去重技术缺陷提供一种云环境中基于可搜索加密的高效数据安全去重及数据恢复方案,避免引入收敛加密中存在的密钥管理问题,结合代理重加密,使用户能够正确恢复自己的数据。
本发明采用可搜索加密技术和代理重加密技术,实现数据的安全去重的同时能够使用户有效的恢复密文。数据用户通过对需要存储的文件进行提取出文件加密密钥,利用文件加密密钥对文件进行加密。在多用户交互的场景下,采用可搜索加密技术,生成文件的关键字索引,数据拥有者将文件密文和关键字索引上传至云服务器,同时生成该文件的关键字索引,用来实现对该文件的重复性判断。对于数据使用者而言,在上传自身文件前,需要判断服务器中是否存储相同的文件,由于云服务器中存储的是密文消息,所以无法直接判断,利用可搜索加密技术,数据使用者在本地生成搜索陷门,与云服务器中的关键字索引进行匹配,以判断云服务器中是否存在相同的文件,如果数据使用者生成的陷门与云服务器存储的索引存在匹配项,则表明云服务器中已经存在相同的文件,数据使用者则不需要重新上传加密文件,这样可以有效的减少通信开销和计算开销,数据使用者仅需生成该文件关于自身的代理重加密钥,将此密钥上传至云服务器端所对应的密文链表中即可。完成数据去重后,数据用户在本地仅需保存自身的密钥即可,而不需要针对每个文件均保存一个文件密钥,因此利用本发明可以有效的减少密钥管理问题。同时本发明提供有效的去重文件恢复功能,当数据用户想要恢复自己的文件时,向存储服务器发出恢复请求,存储服务器接收到数据用户的请求后,利用相应文件的密文链表中关于该用户的重加密密钥为该数据用户计算生成转换密文,将生成的转换密文发送给数据用户,当数据用户接收到转换密文时,可使用自身的私钥对转换密文进行解密,从而恢复文件。
本发明实现了在不可信云存储环境下,多用户之间进行高效快速的数据安全去重服务,在保证用户隐私不被泄露的情况下,多用户参与可以有效的节省云服务器的存储空间,同时可以有效的降低数据用户的通信开销和计算开销。结合代理重加密技术,在不引入文件密钥管理问题的情况下,能够实现用户密文的正确恢复,实现完整的全流程数据安全去重。
第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
本发明将可搜索加密与代理重加密技术相结合,可以有效的解决采用收敛加密技术进行安全去重时所带来的密钥管理问题,同时减少通信开销和计算开销。本发明利用代理重加密技术为数据用户恢复相应文件提供了解决方案。
本发明保证加密数据能够在云服务器中安全存储,实现高效的数据安全去重的同时,不引入密钥管理问题,同时能够使用户能够有效的恢复自己的数据。
第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
(1)本发明的技术方案填补了国内外业内技术空白:
首次提出基于公钥可搜索加密的数据安全去重方案,适用于多用户场景下的数据安全去重,从单用户到多用户的跨越,可以有效的降低去重率。同时结合代理重加密技术,能够有效的恢复用户的文件。两者结合可以有效的解决采用收敛加密进行安全去重引入的密钥管理问题,安全性更高。
(2)本发明的技术方案解决了人们一直渴望解决、但始终未能获得成功的技术难题:
国内外目前针对数据去重问题着重考虑如何高效去重、安全去重等,缺少对数据恢复的思考,在实际应用场景中,用户对自身的数据进行安全去重后需要恢复文件,现有方案中未提出在数据安全去重后能够有效的恢复文件的方法。本发明能够实现用户数据安全去重的同时提供有效的文件恢复方法,形成数据安全去重的流程闭环,更加符合实际应用场景。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的数据安全去重及数据恢复方法流程图;
图2是本发明实施例提供的数据安全去重及数据恢复方法原理图;
图3是本发明实施例提供的数据安全去重流程图;
图4是本发明实施例提供的数据恢复流程图;
图5是本发明实施例提供的数据安全去重过程中涉及的实体示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种数据安全去重及数据恢复方法、系统、介质、设备及终端,下面结合附图对本发明作详细的描述。
一、解释说明实施例。为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。
本发明实施例提供了一种云环境中基于可搜索加密的高效数据安全去重方案,同时结合代理重加密技术实现用户数据恢复。如图5所示,整体数据安全去重过程中涉及的实体包括:数据拥有者、数据使用者、存储服务器。
如图1所示,本发明实施例提供的数据安全去重及数据恢复方法包括以下步骤:
S101,数据用户通过对需要存储的文件进行提取出文件加密密钥,并利用文件加密密钥对文件进行加密。
S102,采用可搜索加密技术,数据使用者在本地生成搜索陷门,与云服务器中的关键字索引进行匹配,判断云服务器中是否存在相同的文件。
S103,向存储服务器发出恢复请求,存储服务器接收到数据用户的请求后,为数据用户生成转换密文并发送给数据用户;当数据用户接收到转换密文时,使用自身的私钥对转换密文进行解密,从而恢复文件。
如图2所示,本发明实施例提供的数据安全去重及数据恢复方法主要分为两个过程:数据安全去重过程和数据恢复过程。每个过程的实施步骤如下:
一、数据安全去重(见图3)
步骤一:初始化系统参数
步骤1.1:输入安全参数k,运行初始化算法,输出系统的公共参数信息
Figure BDA0003705921180000131
其中群G1是q阶乘法循环群,g∈G1是群G1的生成元,双线性映射e:G1×G1→G2,Z=e(g,g)∈G2。其中双线性映射e:G1×G1→G2满足如下条件:
1)双线性:对于任意g,h∈G1
Figure BDA0003705921180000132
有e(ga,hb)=e(g,h)a·b
2)非退化性:对于任意生成元g∈G1,e(g,g)≠1。
3)可计算性:对于任意g,h∈G1,在多项式时间内e(g,h)可计算的。
步骤1.2:将系统公开参数params发送给数据用户(包含数据拥有者DO、数据使用者DU)、存储服务器。
步骤二:生成文件加密密钥对
步骤2.1:数据用户在本地生成自身所拥有的文件F的加密密钥对。首先计算文件加密私钥SKF=f=H1(F),利用私钥SKF计算出文件加密公钥
Figure BDA0003705921180000133
输出加密文件的公私钥对(PKF,SKF)。
步骤2.2:将文件加密公钥PKF公开,文件加密私钥SKF用于陷门生成和重加密密钥生成,而用户本地在计算完成后并不保存文件加密密钥。对于拥有相同文件的数据用户,其采用相同的算法提取的文件加密密钥是相同的。
步骤三:生成用户的公私钥对
步骤3.1:数据用户在本地选取随机数
Figure BDA0003705921180000134
将随机选取的a作为用户自身的私钥SKu
步骤3.2:利用私钥SKu计算用户自身的公钥PKu=ga。输出用户的公私钥对(PKu,SKu)=(ga,a),其中公钥用于生成重加密密钥,而私钥用于对转换密文的解密。数据用户生成的公钥将被公开,私钥由自己保存。
由于数据用户分为数据拥有者和数据使用者两类实体,在后续步骤中所执行的算法不同,故将其分开标记。其中:
数据拥有者DO将随机选取
Figure BDA0003705921180000141
的作为自身的私钥SKDO,所生成的公私钥对为(PKDO,SKDO)=(ga,a)。
数据使用者DU将随机选取
Figure BDA0003705921180000142
的作为自身的私钥SKDU,所生成的公私钥对为(PKDU,SKDU)=(gb,b)。
步骤四:生成文件重加密密钥
数据用户在生成自身的公私钥对后,利用自己拥有的文件加密私钥SKF和用户自身公钥PKu可以计算得出文件F关于用户自身的代理重加密密钥RKF→u,用于对云服务器中拥有数据所有权的文件F的恢复。
步骤4.1:利用步骤一中生成的系统参数,计算数据用户的代理重加密密钥。其中对于数据拥有者DO而言,代理重加密密钥为RKF→DO=ga·f,而对于拥有相同文件F的数据使用者而言,代理重加密密钥为RKF→DU=gb·f
步骤4.2:数据拥有者的代理重加密密钥RKF→DO,存储在相应文件的密文链表中。
步骤4.3:数据使用者的代理重加密密钥RKF→DU需要进行索引与陷门的匹配测试后,若测试结果为True,则将RKF→DU存储在相应的密文链表中,若测试结果为False,则其判定为文件的数据拥有者,将文件加密后存储在云服务器中,其关于文件F的代理重加密密钥RKF→DU存储在相应的密文链表中。
步骤五:提取文件关键字
步骤5.1:数据拥有者在上传文件F的密文前,需要提取文件的关键字生成关键字索引。利用步骤一中生成的系统参数,提取关键字w=H2(F)。
步骤六:生成关键字索引
步骤6.1:数据用户在本地选取随机数
Figure BDA0003705921180000143
利用步骤一中生成的系统参数params,计算
Figure BDA0003705921180000144
步骤6.2:利用步骤五提取的关键字w和步骤二中生成的文件加密私钥SKF=f,计算
Figure BDA0003705921180000151
步骤6.3:利用步骤一中生成的系统参数,计算
Figure BDA0003705921180000152
步骤6.4:通过以上计算,生成关键字索引
Figure BDA0003705921180000153
将关键字索引上传至存储服务器中。
步骤七:生成陷门
步骤7.1:数据用户在上传自身所拥有的文件密文存储服务器之前,首先需要判断存储服务器中是否存在相同的文件。为判断存储服务器中是否存在相同的文件,数据用户首先需要利用步骤二生成的文件加密私钥SKF=f和步骤五中提取的关键字w,计算陷门Tw=wf=H2(F)f,将陷门发送给存储服务器。
步骤八:测试算法
测试算法:由云服务器执行。输入关键字索引Cw和陷门Tw,判断陷门是否与关键字索引中某个关键字对应,如果对应则表明服务器中已存在相同的文件,此时数据使用者只需上传由本地计算的文件F关于数据使用者DU的重加密密钥RKF→DU,将RKF→DU添加至关键字w所对应的密文链表中。
存储服务器利用步骤六生成的关键字索引和步骤七生成的陷门,判断关键字索引和陷门是否匹配,其包括:
步骤8.1:利用步骤一中生成的系统参数,存储服务器计算
Figure BDA0003705921180000154
步骤8.2:将上述计算结果与关键字索引进行比较,判断是否存在匹配项。
步骤8.3:若存在匹配项,则表明存储服务器中已存储文件F的密文。此时数据用户作为数据使用者,不再存储文件密文,只需将关于文件F的代理重加密密钥RKF→DU=gb·f存储在云服务器中相应的密文链表中即可。
步骤8.4:若不存在匹配项,则表明存储服务器未存储文件F的密文。此时数据用户作为数据拥有者,需要采用步骤九中的算法对文件F进行加密,将加密密文存储到云服务器中,同时将关于文件F的代理重加密密钥RKF→DO=ga·f存储到云服务器中相应的密文链表。
步骤九:加密文件
当数据用户经过陷门与关键字索引的匹配测试算法后,如果不存在匹配项,则认定该数据用户为文件F的数据拥有者,其需要执行加密算法,将文件F的加密密文上传至存储服务器。具体步骤如下:
步骤9.1:数据拥有者随机取
Figure BDA0003705921180000161
和步骤一中生成的系统参数计算
Figure BDA0003705921180000162
作为密文的第一部分。
步骤9.2:根据利用文件加密公钥PKF=Zf,进一步计算
Figure BDA0003705921180000163
步骤9.3:计算
Figure BDA0003705921180000164
作为文件F的密文的第二部分。
步骤9.4:经过上述步骤计算完成后,生成文件F的密文为
Figure BDA0003705921180000165
将密文C上传至存储服务器中。
二、数据恢复(见图4)
步骤十:重加密文件
存储服务器接收到数据用户的获取数据请求后,判断存储服务器中相应密文所对应的链表中是否存储关于该数据用户的代理重加密密钥。如果存储了关于该数据用户的代理重加密密钥,则使用此代理重加密密钥,对原始密文进行代理重加密生成转换密文。如果未存储该数据用户的代理重加密密钥,则返回False给数据用户,表示数据用户无法获取该密文。利用步骤四生成的代理重加密密钥和步骤九生成的原始密文,计算得出转换密文,此处以数据使用者关于文件F的重加密密钥RKF→DU进行重加密为例,具体算法如下:
步骤10.1:使用双线性映射计算转换密文的第一部分
Figure BDA0003705921180000166
步骤10.2:令转换密文的第二部分与原始密文的第二部分相同,即C'2=C2
步骤10.3:经过上述步骤生成数据使用者关于指定文件F的转换密文C'=(C1',C'2)。将转换密文发送给指定的用户,用于对文件的恢复。对于数据拥有者而言,执行相同的算法可生成相应的转换密文。
步骤十一:用户解密恢复
对于数据拥有者和数据使用者而言,其本地均不存储关于文件F的文件密钥,而是仅保存自身的公私钥。当数据用户想要恢复文件F时,通过向存储服务器发出获取请求,存储服务器执行步骤十后,生成使用数据用户的私钥可解密的转换密文,从而在保证数据安全性的同时不引入本地密钥管理问题。
利用步骤三生成的用户私钥和步骤十产生的关于该用户的转换密文,解密得出文件F。此处以数据使用者为例,具体解密算法如下:
步骤11.1:利用数据用户的私钥b,计算1/b。
步骤11.2:使用转换密文的第一部分C1'计算(C1')1/b
步骤11.3:利用转换密文的第二部分C'2计算F=C'2/(C1')1/b,由此最终解密获得文件F。对于数据拥有者而言,利用自身私钥执行相同的算法解密获得文件F。
本发明实施例提供的数据安全去重及数据恢复系统包括:
初始化模块,用于输入安全参数,运行初始化算法,输出系统的公共参数信息,并将公共参数信息发送给数据用户和存储服务器。
密钥生成模块,用于分别计算加密文件的公私钥对,通过用户密钥生成算法生成公私钥对,并生成文件F关于用户u的重加密密钥。
关键字提取模块,用于由数据拥有者执行;数据拥有者在本地利用公共参数对文件F预处理后得到关键字w。
关键字索引构建模块,用于由数据拥有者执行;输入关键字w和文件加密私钥SKF,计算关键字索引Cw
陷门生成模块,用于由数据用户执行;输入关键字w和文件加密私钥SKF,计算陷门Tw,将陷门发送给云服务器;利用陷门与云服务器中的索引进行匹配。
测试模块,用于由云服务器执行;输入关键字索引Cw和陷门Tw,判断陷门是否与关键字索引中某个关键字匹配。
加密模块,用于由数据拥有者执行;输入文件F和文件加密公钥PKF;计算关于文件F的加密密文C,并关键字索引Cw、密文C、文件F关于数据拥有者DO的重加密密钥RKF→DO上传给存储服务器。
代理重加密模块,用于由存储服务器执行;输入原始密文,使用重加密密钥RKF→DO或RKF→DU对原始密文C进行重加密,输出转换密文C'。
解密模块,用于由数据用户执行;输入转换密文C',数据用户的私钥SKu,运行解密算法进行解密,解密得到明文消息。
二、应用实施例。为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。
根据实际应用场景,利用可搜索加密技术实现数据安全去重,同时依托代理重加密系统实现数据恢复,构造完整的数据安全去重系统,本发明形成数据安全去重的流程闭环,对实际场景建设有一定的实用价值。
可搜索加密的主要作用为对云端存储的加密数据进行检索,存在一定的模糊性,而对于实际的数据安全去重场景而言,需要对数据文件进行完整的匹配才可进行去重,以保证数据的完备性。本发明利用可搜索加密的陷门与索引的匹配,将检索功能应用到安全去重中,结合哈希函数的强不可伪造性,将文件的哈希值作为关键字以唯一的标识文件。根据可搜索加密的思想,设计相应的陷门生成算法,在保障一定安全性的条件下,验证关键字索引和陷门的匹配关系,即可判定云服务器中是否存在相同的文件,从而实现数据的安全去重。
实际应用场景中,用户将数据存储到云服务器中进行备份,在一定时间内会对存储的文件进行恢复。为了不引入密钥管理问题,用户本地不保存每个文件的加密密钥,利用代理重加密技术,使用云服务器中数据文件的密文链表中的相应的代理重加密密钥,对云服务器中存储的原始密文进行转换后生成具有针对性的转换密文,用户可利用自身的私钥解密转化密文,从而恢复文件。根据代理重加密的思想,对于没有相应密钥的用户,其无法解密转化密文;即使敌手伪造代理重加密密钥,由于敌手没有文件加密密钥,无法生成正确的代理重加密密钥,因此也无法正确解密转化密文。
综上,本发明首次将可搜索加密技术与代理重加密技术结合形成完整的数据安全去重方案,可实现多用户参与,能够满足一定的社会需求,具有实践价值。
三、实施例相关效果的证据。本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
Figure BDA0003705921180000191
Figure BDA0003705921180000201
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种数据安全去重及数据恢复方法,其特征在于,所述数据安全去重及数据恢复方法包括:
通过可搜索加密的索引与陷门匹配关系判断云服务器是否以存储同一文件的密文,如果存在,则数据用户将自身关于该文件的代理重加密密钥上传到云服务器的密文链表中,实现数据安全去重;如果不存在,则数据用户对密文进行加密后并附带代理重加密密钥上传至云服务器中;当数据用户恢复文件时,云服务器使用密文链表中用户的代理重加密密钥对原始密文进行重加密生成转换密文,数据用户使用私钥解密恢复相应的文件。
2.如权利要求1所述的数据安全去重及数据恢复方法,其特征在于,所述数据安全去重及数据恢复方法包括以下步骤:
步骤一,初始化:输入安全参数,运行初始化算法,输出系统的公共参数信息params,将params发送给数据用户和存储服务器,所述数据用户包括数据拥有者DO、数据使用者DU;
步骤二,文件密钥生成:由数据用户执行;输入待加密文件F,分别计算加密文件的公私钥对(PKF,SKF),用于对文件的加密和生成代理重加密密钥;
步骤三,用户密钥生成:由数据用户执行;数据用户通过用户密钥生成算法生成公私钥对(PKu,SKu),用于生成代理重加密密钥和恢复密文时进行解密密文;
步骤四,文件代理重加密密钥生成:由数据用户执行;数据用户通过文件代理重加密密钥生成算法生成文件F关于用户u的重加密密钥RKF→u,用于生成转换密文C';
步骤五,关键字提取:由数据拥有者执行;数据拥有者在本地利用公共参数对文件F预处理后得到关键字w;
步骤六,关键字索引构建:由数据拥有者执行;输入关键字w和文件加密私钥SKF,计算关键字索引Cw
步骤七,陷门生成:由数据用户执行;输入关键字w和文件加密私钥SKF,计算陷门Tw,将陷门发送给云服务器;利用陷门与云服务器中的索引进行匹配,判断关键字与索引是否对应,进而判断数据使用者将要存储的文件在云服务器中是否已存在相同的文件;
步骤八,测试:由云服务器执行;输入关键字索引Cw和陷门Tw,判断陷门是否与关键字索引中某个关键字匹配;如果匹配则表明服务器中已存在相同的文件,数据用户作为数据使用者只需上传由本地计算的文件F关于数据使用者DU的重加密密钥RKF→DU,将RKF→DU添加至关键字w所对应的密文链表中;如果不存在匹配关系,则表明服务器中不存在相同的文件,数据用户作为数据拥有者,上传关键字索引、加密密文至云服务器中,同时将文件F关于数据拥有者DO的重加密密钥RKF→DO添加至关键字w所对应的密文链表中;
步骤九,加密:由数据拥有者执行;输入文件F和文件加密公钥PKF;计算关于文件F的加密密文C,并关键字索引Cw、密文C、文件F关于数据拥有者DO的重加密密钥RKF→DO上传给存储服务器;
步骤十,代理重加密:由存储服务器执行;输入原始密文,使用重加密密钥RKF→DO或RKF→DU对原始密文C进行重加密,输出转换密文C';
步骤十一,解密:由数据用户执行;输入转换密文C',数据用户的私钥SKu,运行解密算法进行解密,解密得到明文消息。
3.如权利要求2所述的数据安全去重及数据恢复方法,其特征在于,所述步骤一中的初始化包括:
输入安全参数k,运行初始化算法,输出系统的公共参数信息
Figure FDA0003705921170000021
其中群G1是q阶乘法循环群,g∈G1是群G1的生成元,双线性映射e:G1×G1→G2,Z=e(g,g)∈G2;其中双线性映射e:G1×G1→G2满足如下条件:
(1)双线性:对于任意g,h∈G1
Figure FDA0003705921170000022
有e(ga,hb)=e(g,h)a·b
(2)非退化性:对于任意生成元g∈G1,e(g,g)≠1;
(3)可计算性:对于任意g,h∈G1,在多项式时间内e(g,h)可计算的;
将系统公开参数params发送给数据用户和存储服务器,所述数据用户包括数据拥有者DO、数据使用者DU;
所述步骤二中的文件密钥生成包括:
数据用户在本地生成自身所拥有的文件F的加密密钥对;计算文件加密私钥SKF=f=H1(F),利用私钥SKF计算出文件加密公钥
Figure FDA0003705921170000031
输出加密文件的公私钥对(PKF,SKF);
将文件加密公钥PKF公开,文件加密私钥SKF用于陷门生成和重加密密钥生成,而用户本地在计算完成后并不保存文件加密密钥;对于拥有相同文件的数据用户,采用相同的算法提取的文件加密密钥是相同的;
所述步骤三中的用户密钥生成包括:
数据用户在本地选取随机数
Figure FDA0003705921170000032
将随机选取的a作为用户自身的私钥SKu,利用私钥SKu计算用户自身的公钥PKu=ga;输出用户的公私钥对(PKu,SKu)=(ga,a),其中公钥用于生成重加密密钥,而私钥用于对转换密文的解密;数据用户生成的公钥将被公开,私钥由自己保存;
数据拥有者DO将随机选取
Figure FDA0003705921170000033
的作为自身的私钥SKDO,所生成的公私钥对为(PKDO,SKDO)=(ga,a);数据使用者DU将随机选取
Figure FDA0003705921170000034
的作为自身的私钥SKDU,所生成的公私钥对为(PKDU,SKDU)=(gb,b)。
4.如权利要求2所述的数据安全去重及数据恢复方法,其特征在于,所述步骤四中的代理重加密密钥生成包括:
数据用户在生成自身的公私钥对后,利用自己拥有的文件加密私钥SKF和用户自身公钥PKu计算得出文件F关于用户自身的代理重加密密钥RKF→u,用于对云服务器中拥有数据所有权的文件F的恢复;
利用步骤一中生成的系统参数,计算数据用户的代理重加密密钥;其中对于数据拥有者DO而言,代理重加密密钥为RKF→DO=ga·f,而对于拥有相同文件F的数据使用者而言,代理重加密密钥为RKF→DU=gb·f
数据拥有者的代理重加密密钥RKF→DO,存储在相应文件的密文链表中;而数据使用者的代理重加密密钥RKF→DU则需要进行索引与陷门的匹配测试后,若测试结果为True,则将RKF→DU存储在相应的密文链表中,若测试结果为False,则其判定为文件的数据拥有者,将文件加密后存储在云服务器中,关于文件F的代理重加密密钥RKF→DU存储在相应的密文链表中;
所述步骤五中的关键字提取包括:
数据拥有者在上传文件F的密文前,需要提取文件的关键字生成关键字索引;利用步骤一中生成的系统参数,提取关键字w=H2(F);
所述步骤六中的关键字索引生成包括:
(1)数据用户在本地选取随机数
Figure FDA0003705921170000041
利用步骤一中生成的系统参数params,计算
Figure FDA0003705921170000042
(2)利用步骤五提取的关键字w和步骤二中生成的文件加密私钥SKF=f,计算
Figure FDA0003705921170000043
(3)利用步骤一中生成的系统参数,计算
Figure FDA0003705921170000044
(4)通过以上计算,生成关键字索引
Figure FDA0003705921170000045
将关键字索引上传至存储服务器中。
5.如权利要求2所述的数据安全去重及数据恢复方法,其特征在于,所述步骤七中的陷门生成包括:
数据用户在上传自身所拥有的文件密文存储服务器前,判断存储服务器中是否存在相同的文件;
为判断存储服务器中是否存在相同的文件,数据用户利用步骤二生成的文件加密私钥SKF=f和步骤五中提取的关键字w,计算陷门Tw=wf=H2(F)f,将陷门发送给存储服务器;
所述步骤八中的测试包括:
测试算法:由云服务器执行;输入关键字索引Cw和陷门Tw,判断陷门是否与关键字索引中某个关键字对应,如果对应则表明服务器中已存在相同的文件,此时数据使用者只需上传由本地计算的文件F关于数据使用者DU的重加密密钥RKF→DU,将RKF→DU添加至关键字w所对应的密文链表中;
存储服务器利用步骤六生成的关键字索引和步骤七生成的陷门,判断关键字索引和陷门是否匹配,具体包括:
(1)利用步骤一中生成的系统参数,存储服务器计算
Figure FDA0003705921170000051
(2)将计算结果与关键字索引进行比较,判断是否存在匹配项;
(3)若存在匹配项,则表明存储服务器中已存储文件F的密文;数据用户作为数据使用者,不再存储文件密文,将关于文件F的代理重加密密钥RKF→DU=gb·f存储在云服务器中相应的密文链表中;
(4)若不存在匹配项,则表明存储服务器未存储文件F的密文;数据用户作为数据拥有者,采用步骤九中的算法对文件F进行加密,将加密密文存储到云服务器中,同时将关于文件F的代理重加密密钥RKF→DO=ga·f存储到云服务器中相应的密文链表;
所述步骤九中的加密包括:
当数据用户经过陷门与关键字索引的匹配测试算法后,如果不存在匹配项,则认定该数据用户为文件F的数据拥有者,执行加密算法,将文件F的加密密文上传至存储服务器,具体包括:
(1)数据拥有者随机取
Figure FDA0003705921170000052
和步骤一中生成的系统参数计算
Figure FDA0003705921170000053
作为密文的第一部分;
(2)根据利用文件加密公钥PKF=Zf,计算
Figure FDA0003705921170000054
(3)计算
Figure FDA0003705921170000055
作为文件F的密文的第二部分;
(4)经过上述步骤计算完成后,生成文件F的密文为
Figure FDA0003705921170000056
将密文C上传至存储服务器中。
6.如权利要求2所述的数据安全去重及数据恢复方法,其特征在于,所述步骤十中的代理重加密包括:
存储服务器接收到数据用户的获取数据请求后,判断存储服务器中相应密文所对应的链表中是否存储关于该数据用户的代理重加密密钥;如果存储关于该数据用户的代理重加密密钥,则使用代理重加密密钥,对原始密文进行代理重加密生成转换密文;如果未存储该数据用户的代理重加密密钥,则返回False给数据用户,表示数据用户无法获取该密文;利用步骤四生成的代理重加密密钥和步骤九生成的原始密文,计算得出转换密文,以数据使用者关于文件F的重加密密钥RKF→DU进行重加密为例,具体包括:
(1)使用双线性映射计算转换密文的第一部分
Figure FDA0003705921170000061
(2)令转换密文的第二部分与原始密文的第二部分相同,C'2=C2
(3)生成数据使用者关于指定文件F的转换密文C'=(C1',C'2);将转换密文发送给指定的用户,用于对文件的恢复;
(4)对于数据拥有者而言,执行相同的算法可生成相应的转换密文;
所述步骤十一中的解密包括:
对于数据拥有者和数据使用者,本地均不存储关于文件F的文件密钥,而是仅保存自身的公私钥;当数据用户想要恢复文件F时,通过向存储服务器发出获取请求,存储服务器执行步骤十后,生成使用数据用户的私钥可解密的转换密文,从而在保证数据安全性的同时不引入本地密钥管理问题;
利用步骤三生成的用户私钥和步骤十产生的关于用户的转换密文,解密得出文件F,具体解密方法包括:
(1)利用数据用户的私钥b,计算1/b;
(2)使用转换密文的第一部分C′1计算(C′1)1/b
(3)利用转换密文的第二部分C'2计算F=C'2/(C′1)1/b,最终解密获得文件F;
(4)对于数据拥有者而言,利用自身私钥执行相同的算法解密获得文件F。
7.一种应用如权利要求1~6任意一项所述的数据安全去重及数据恢复方法的数据安全去重及数据恢复系统,其特征在于,所述数据安全去重及数据恢复系统包括:
初始化模块,用于输入安全参数,运行初始化算法,输出系统的公共参数信息,并将公共参数信息发送给数据用户和存储服务器;
密钥生成模块,用于分别计算加密文件的公私钥对,通过用户密钥生成算法生成公私钥对,并生成文件F关于用户u的重加密密钥;
关键字提取模块,用于由数据拥有者执行;数据拥有者在本地利用公共参数对文件F预处理后得到关键字w;
关键字索引构建模块,用于由数据拥有者执行;输入关键字w和文件加密私钥SKF,计算关键字索引Cw
陷门生成模块,用于由数据用户执行;输入关键字w和文件加密私钥SKF,计算陷门Tw,将陷门发送给云服务器;利用陷门与云服务器中的索引进行匹配;
测试模块,用于由云服务器执行;输入关键字索引Cw和陷门Tw,判断陷门是否与关键字索引中某个关键字匹配;
加密模块,用于由数据拥有者执行;输入文件F和文件加密公钥PKF;计算关于文件F的加密密文C,并关键字索引Cw、密文C、文件F关于数据拥有者DO的重加密密钥RKF→DO上传给存储服务器;
代理重加密模块,用于由存储服务器执行;输入原始密文,使用重加密密钥RKF→DO或RKF→DU对原始密文C进行重加密,输出转换密文C';
解密模块,用于由数据用户执行;输入转换密文C',数据用户的私钥SKu,运行解密算法进行解密,解密得到明文消息。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1~6任意一项所述的数据安全去重及数据恢复方法。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1~6任意一项所述的数据安全去重及数据恢复方法。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求7所述的数据安全去重及数据恢复系统。
CN202210705033.0A 2022-06-21 2022-06-21 数据安全去重及数据恢复方法、系统、介质、设备及终端 Pending CN115102699A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210705033.0A CN115102699A (zh) 2022-06-21 2022-06-21 数据安全去重及数据恢复方法、系统、介质、设备及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210705033.0A CN115102699A (zh) 2022-06-21 2022-06-21 数据安全去重及数据恢复方法、系统、介质、设备及终端

Publications (1)

Publication Number Publication Date
CN115102699A true CN115102699A (zh) 2022-09-23

Family

ID=83293173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210705033.0A Pending CN115102699A (zh) 2022-06-21 2022-06-21 数据安全去重及数据恢复方法、系统、介质、设备及终端

Country Status (1)

Country Link
CN (1) CN115102699A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319104A (zh) * 2023-05-22 2023-06-23 云上(江西)安全技术有限公司 一种基于属性重加密的数据安全运营方法
CN116996281A (zh) * 2023-07-21 2023-11-03 华中科技大学 支持密文分享的动态可搜索对称加密方法、系统及介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319104A (zh) * 2023-05-22 2023-06-23 云上(江西)安全技术有限公司 一种基于属性重加密的数据安全运营方法
CN116319104B (zh) * 2023-05-22 2023-08-04 云上(江西)安全技术有限公司 一种基于属性重加密的数据安全运营方法
CN116996281A (zh) * 2023-07-21 2023-11-03 华中科技大学 支持密文分享的动态可搜索对称加密方法、系统及介质
CN116996281B (zh) * 2023-07-21 2024-02-06 华中科技大学 支持密文分享的动态可搜索对称加密方法、系统及介质

Similar Documents

Publication Publication Date Title
CN111130757B (zh) 一种基于区块链的多云cp-abe访问控制方法
CN115102699A (zh) 数据安全去重及数据恢复方法、系统、介质、设备及终端
JP3871996B2 (ja) データ分割管理方法及びプログラム
CN108400970B (zh) 云环境中相似数据消息锁定加密去重方法、云存储系统
CN110263570B (zh) 一种实现高效相似性查询和访问控制的基因数据脱敏方法
CN113254955A (zh) 前向安全的连接关键词对称可搜索加密方法、系统及应用
Kim et al. A privacy-preserving k-means clustering algorithm using secure comparison protocol and density-based center point selection
CN110768797A (zh) 一种基于身份格式保留加密的数据脱敏方法
TWI597960B (zh) 金鑰分裂技術
CN107332829B (zh) 基于生物特征融合的电动汽车支付信息认证加密系统及方法
CN114528331A (zh) 基于区块链的数据查询方法及装置、介质、设备
Pawar et al. Privacy preserving model-based authentication and data security in cloud computing
CN111475690B (zh) 字符串的匹配方法和装置、数据检测方法、服务器
WO2022141014A1 (zh) 一种基于多用户数据的安全求均值方法
CN112818404A (zh) 数据访问权限的更新方法、装置、设备及可读存储介质
Salman et al. A homomorphic cloud framework for big data analytics based on elliptic curve cryptography
CN108494552B (zh) 支持高效收敛密钥管理的云存储数据去重方法
CN108920968B (zh) 一种基于连接关键词的文件可搜索加密方法
CN112637233B (zh) 一种基于多用户数据的安全求均值方法
CN110851850B (zh) 一种可搜索加密系统的实现方法
CN113032828A (zh) 一种改进的二进制交互信息加密方法及装置
CN115361218B (zh) 一种具有查询隐匿特性的云端数据存在性验证方法
CN114095157B (zh) 密钥管理方法、装置、计算机设备及可读存储介质
US11811741B2 (en) Information processing system and information processing method
Hu et al. Secure architecture and protocols for robust perceptual hashing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination