CN112491529B - 用于不可信服务器环境中数据文件加密及完整性验证方法及其系统 - Google Patents
用于不可信服务器环境中数据文件加密及完整性验证方法及其系统 Download PDFInfo
- Publication number
- CN112491529B CN112491529B CN202011261231.XA CN202011261231A CN112491529B CN 112491529 B CN112491529 B CN 112491529B CN 202011261231 A CN202011261231 A CN 202011261231A CN 112491529 B CN112491529 B CN 112491529B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- bgn
- public key
- encryption algorithm
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012795 verification Methods 0.000 title claims description 47
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 61
- 238000013507 mapping Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 238000013524 data verification Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0442—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供的用于不可信服务器环境中数据文件加密及完整性验证方法及其系统,涉及数据隐私保护技术领域,方法包括:1)系统初始化;2)生成BGN同态加密算法公私钥;3)构造数据签名的公私钥;4)采用BGN同态加密算法公钥加密数据文件;5)根据数据签名的私钥,对数据文件中所有文件块分别构造标签;6)上传加密文件和标签的集合至云端服务器;7)发送文件完整性挑战至云端服务器以返回标签和及文件块和;8)使用文件块和、数据签名的公钥验证标签和,以判断在云端服务器内存储的密文文件完整性;本发明结合BGN同态加密算法与PDP数据持有证明协议,构造数据签名实现对加密文件的完整性检验,提高数据文件在不可信服务器环境中的隐私保护和可用性。
Description
技术领域
本发明涉及数据隐私保护技术领域,具体涉及一种用于不可信服务器环境中数据文件加密及完整性验证方法及其系统。
背景技术
随着大数据时代的到来,云计算得到了广泛的应用,进而衍生出云存储。这一重要存储模式,它能够为企业和个人提供大容量的存储平台、具有易于管理,扩展性高、低成本等特点。云存储模式的出现,存储用户不再需要购买昂贵的设备,只需要支付少量的费用,就可以将自己的数据存储在云服务器上,更加的方便、快捷。数据外包实际是用户放弃对数据的最终控制权,数据的安全性和完整性成为用户选择云存储的主要影响因素。例如目前大多数医院都采用电子病历系统。而第三方服务器的结构中所提供的服务在不可信的网络环境下并不安全可靠。在这种不可信服务环境中,对海量的高隐私性短文件进行隐私保护显得尤为重要。
对于数据的完整性验证,2007年有学者提出了数据持有证明协议PDP,能够检验服务器端的数据是否遭到供应商的破坏。1978年有学者提出了对数据同态加密的概念,即在不解密密文的情况下,通过对密文执行操作来实现对明文的操作,且其结果一致。同态加密的优点在于如果需要对大量的密文进行计算,同态加密方案不需要对每个密文进行解密、计算,而是直接对大量的密文进行计算,对最终的密文结果进行解密即可得到明文运算的结果,提高了计算的效率,但它并不对数据的完整性进行保护。
近年来涌现了结合PDP完整性协议和同态加密技术能够保护服务器上的数据文件的完整性和机密性的保护方法,但基于BGN同态加密算法的密文文件完整性验证暂无人提及。
发明内容
本发明目的在于提供一种用于不可信服务器环境中数据文件加密及完整性验证方法及其系统,利用了BGN同态加密算法的性质以及PDP数据持有证明协议,很好地解决了在不可信服务器环境中数据文件的安全问题。
为达成上述目的,本发明提出如下技术方案:一种用于不可信服务器环境中数据文件加密及完整性验证方法,包括如下步骤:
1)对密钥生成系统输入安全参数进行初始化;
2)生成BGN同态加密算法的公钥和私钥;
3)基于离散对数困难问题,构造数据签名的公钥和私钥;
4)采用BGN同态加密算法的公钥加密数据文件,获得密文文件Fc;
5)根据数据签名的私钥,对待加密的数据文件中所有文件块构造分别标签,获得标签集合Φ;
6)上传密文文件Fc和标签集合Φ至云端服务器;
7)发送文件完整性挑战至云端服务器,以使云端服务器执行计算挑战指定的所有标签的标签和及挑战指定的所有文件块的文件块和的操作,并返回标签和及文件块和的计算结果;
8)使用文件块和、数据签名的公钥,在BGN同态加密算法私钥消除随机数干扰条件下验证标签和,并且当验证结果符合密文文件完整性验证目标时,判断在云端服务器内存储的密文文件完整。
进一步的,所述BGN同态加密算法公钥和私钥的生成过程如下:
选择阶为n=q1·q2的两个乘法群G、G1,乘法群G、G1满足双线性映射e:G×G→G1,其中,q1、q2为不相等的两个素数;随机选取乘法群G的两个不相等的生成元g、u,以及选取乘法群G子群的生成元h,则BGN同态加密算法的公钥为pk(n,G,G1,e,h,g),私钥为sk(q1)。
进一步的,所述待加密的数据文件记为F,F={b1,b2,b3,......,bm},bi(1≤i≤m)为数据文件的任一文件块, 为小于q2的正整数集合;采用BGN同态加密算法的公钥pk(n,G,G1,e,h,g)对待加密的数据文件F中每个文件块进行加密;加密后的数据文件即为密文文件,记为Fc,Fc={c1,c2,c3,......,cm},其中,ri是密钥生成系统产生的真随机数。
进一步的,所述发送文件完整性挑战为向云端服务器发送随机数集合R,所述随机数集合R中的随机数表示待验证文件完整性的文件块bi的下标;所述云端服务器根据BGN同态加密算法的性质,执行计算标签和、文件块和操作,具体计算公式如下:
其中,δ为标签和,μ为文件块和。在具体实施过程中,根据挑战随机数集合R的不同,计算返回的标签和、文件块和不同。
进一步的,所述步骤8)的验证过程为:在BGN同态加密算法私钥消除随机数干扰条件下,计算数据签名的公钥其分别与文件块和、标签和在双线性映射下的映射值,即分别计算和所述密文文件完整性验证目标为双线性映射的映射值相等,计算公式如下,
本发明还提出了一种用于不可信服务器环境中数据文件加密及完整性验证系统,包括:处理器,所述处理器用于执行存储在存储器中的以下程序模块;
初始化模块,用于对密钥生成系统输入安全参数进行初始化;
密钥生成模块,用于生成BGN同态加密算法的公钥和私钥;
密钥构造模块,用于基于离散对数困难问题,构造数据签名的公钥和私钥;
加密模块,用于根据BGN同态加密算法的公钥加密数据文件,获得密文文件Fc;
标签构造模块,用于根据数据签名的私钥,对待加密的数据文件中所有文件块构造分别标签,获得标签集合Φ;
上传模块,用于向云端服务器上传密文文件Fc和标签集合Φ;
挑战发起模块,用于向云端服务器发送文件完整性挑战,以使云端服务器执行计算挑战指定的所有标签的标签和及挑战指定的所有文件块的文件块和的操作,并返回标签和及文件块和的计算结果;
验证判断模块,用于在BGN同态加密算法私钥消除随机数干扰的条件下采用文件块和、数据签名的公钥验证标签和,并且当验证结果符合密文文件完整性验证目标时,判断在云端服务器存储的密文文件完整。
本发明进一步提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述的用于不可信服务器环境中数据文件加密及完整性验证方法。
由以上技术方案可知,本发明的技术方案提供的用于不可信服务器环境中数据文件加密及完整性验证方法及其系统,获得了如下有益效果:
本发明公开的用于不可信服务器环境中数据文件加密及完整性验证方法及其系统,其方法包括:1)对密钥生成系统输入安全参数进行初始化;2)生成BGN同态加密算法的公钥和私钥;3)基于离散对数困难问题,构造数据签名的公钥和私钥;4)采用BGN同态加密算法的公钥加密数据文件,获得密文文件Fc;5)根据数据签名的私钥,对待加密的数据文件中所有文件块构造分别标签,获得标签集合Φ;6)上传密文文件Fc和标签集合Φ至云端服务器;7)发送文件完整性挑战至云端服务器,返回标签和及文件块和的计算结果;8)使用文件块和、数据签名的公钥,在消除随机数干扰条件下验证标签和,判断在云端服务器内存储的密文文件完整性;本发明结合BGN同态加密算法与PDP数据持有证明协议,同时构造数据签名实现对数据文件的完整性检验,提高数据文件在不可信服务器环境中的安全性,有效保证数据的隐私性和可用性。
本发明的数据文件加密及完整性验证方法应用于不可信服务器环境中医疗数据文件的加密及完整性验证时,为现有技术中加密算法无法保证的数据完整性提供了保障。相较于PDP数据持有证明协议的加密算法,BGN同态加密算法是基于子群决策问题所构造的,提供了更高的机密性,满足语义安全。此外,本发明所构造的数据签名是基于离散对数困难问题的,因此可以一次性检验挑战指定的所有文件块,将原本PDP数据持有证明协议的无法实现的确定性检验变为了可能。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
图1为本发明用于不可信服务器环境中数据文件加密及完整性验证方法的基本流程图;
图2为本发明用于不可信服务器环境中数据文件加密及完整性验证方法文件上传结构图;
图3为本发明用于不可信服务器环境中数据文件加密及完整性验证方法进行完整性验证的系统结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。
本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,除非上下文清楚地指明其它情况,否则单数形式的“一个”“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现在“包括”或者“包含”前面的元件或者物件涵盖出现在“包括”或者“包含”后面列举的特征、整体、步骤、操作、元素和/或组件,并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。“上”“下”“左”“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
基于现有技术中提出了结合PDP完整性协议和同态加密技术保护服务器上的数据文件的完整性和机密性的方法,但是现有技术中采用Paillier同态加密方法进行数据文件加密及验证的方法不能满足语义安全的要求;因此,本发明旨在提出一种用于不可信服务器环境中数据文件加密及完整性验证方法及其系统,旨在于将BGN同态加密的方案和PDP数据持有证明协议、数字签名技术结合,运用BGN同态加密的性质对签名进行计算,验证云端服务器返回的计算结果,有效的保护数据文件的机密性和完整性。
本发明实例的公钥、私钥的产生以及运算都是采用群运算。
本发明技术方案的技术效果在于提高云端服务器中数据文件的安全性,技术方案的构思如下:系统生成随机且具有不可区分性的BGN同态加密算法的公私钥以及数据签名的公私钥,数据持有者上传数据文件至客户端,客户端对其进行加密,并生成数据标签集合上传至云端服务器,数据持有者可对云服务器所存储的数据文件的完整性发送文件完整性挑战,云端服务器返回证据,客户端验证证据与验证目标的符合度,判断当前被验证的密文文件的完整性,提高数据文件的安全性。
下面结合附图所示的实施例,对本发明的用于不可信服务器环境中数据文件加密及完整性验证方法及其系统作进一步具体介绍。
结合图1所示,用于不可信服务器环境中数据文件加密及完整性验证方法,包括如下步骤:
1)对密钥生成系统输入安全参数进行初始化;
2)生成BGN同态加密算法的公钥和私钥;
3)基于离散对数困难问题,构造数据签名的公钥和私钥;
4)采用BGN同态加密算法的公钥加密数据文件,获得密文文件Fc;
5)根据数据签名的私钥,对待加密的数据文件中所有文件块分别构造标签,获得标签集合Φ;
6)上传密文文件Fc和标签集合Φ至云端服务器;
7)发送文件完整性挑战至云端服务器,以使云端服务器执行计算挑战指定的所有标签的标签和、所有文件块的文件块和的操作,并返回标签和及文件块和的计算结果;
8)使用文件块和、数据签名的公钥,在BGN同态加密算法私钥消除随机数干扰条件下验证标签和,并且当验证结果符合密文文件完整性验证目标时,判断在云端服务器内存储的密文文件完整。
本发明提供的实施例具体内容如下,步骤2)中BGN同态加密算法公钥和私钥的生成过程如下:选择阶为n=q1·q2的两个乘法群G、G1,乘法群G、G1满足双线性映射e:G×G→G1,其中,q1、q2为不相等的两个素数;随机选取乘法群G的两个不相等的生成元g、u,以及选取乘法群G子群的生成元h,则BGN同态加密算法的公钥为pk(n,G,G1,e,h,g),私钥为sk(q1)。步骤3)构造的数据签名的私钥为prk(q3),公钥为其中,q3为与q1、q2均不相等的素数,v是乘法群G不同于u、g的随机生成元。
将待加密的数据文件记为F,F={b1,b2,b3,......,bm},bi(1≤i≤m)为数据文件的任一文件块, 为小于q2的正整数集合,例如,病人信息文件;采用BGN同态加密算法的公钥pk(n,G,G1,e,h,g)对待加密的数据文件F中每个文件块进行加密;加密后的数据文件即为密文文件,记为Fc,Fc={c1,c2,c3,......,cm},其中,ri是密钥生成系统产生的真随机数,目的是为了对箱体的明文信息在加密后得到不相同的密文结果。
对数据文件记F构建标签集合Φ,Φ={T1,T2,T3,......,Tm},对标签集合Φ中任一文件块bi,构造其标签为Ti,ki是密钥生成系统产生的真随机数,目的是为了确保数据文件的相同文件块产生不相同的标签。
结合图2和图3所示,在具体实施时,真实的数据文件通常为数据拥有者保有,对数据文件的加密由数据拥有者在客户端操作,在客户端完成加密操作后获得的密文文件以及标签集合Φ后直接上传至云端服务器;当需要对密文文件进行处理操作时,由于不知道云端服务器的密文文件是否被更改破坏,需要在处理前进行文件完整性验证,即步骤7)向云端服务器发送文件完整性挑战,该操作由数据拥有者在客户端执行。
具体为,客户端发送文件完整性挑战为向云端服务器发送随机数集合R,随机数集合R中的随机数表示待验证文件完整性的文件块bi的下标;云端服务器根据BGN同态加密算法的性质,执行计算挑战指定的所有标签的标签和、所有文件块的文件块和的操作,具体计算公式如下:
其中,δ为标签和,μ为文件块和。
将云端服务器反馈的标签和、文件块和记为证据P,客户端根据证据P、数据签名的公钥、BGN同态加密算法私钥验证密文文件完整性的过程为:在BGN同态加密算法私钥消除随机数干扰条件下,计算数据签名的公钥其分别与文件块和、标签和在双线性映射下的映射值,即分别计算和所述密文文件完整性验证目标为双线性映射的映射值相等,即
对于BGN同态加密算法,其运算满足如下通式,
加法计算式:Ci·Cj=enc(Mi+Mj),乘法计算式:e(Ci,Cj)=enc(Mi·Mj),其中Ci、Cj分别表示经BGN同态加密算法加密获得的密文,Mi、Mj分别表示加密前的明文;因此,
本实施例的等式成立仅限于密文文件块没有被攻击,没有受到恶意篡改,即表明云端服务器上所存储的、挑战指定的所有文件块都是完整的;若一些实施例中上述等式不成立,则表明密文文件块被攻击,受到恶意篡改,云端服务器上所存储的密文文件不完整。
本发明通过提出一种用于不可信服务器环境中数据文件加密及完整性验证方法,对用户需要加密保护的数据文件进行保护,例如医疗数据文件,从机密性和完整性角度提高了健康医疗数据系统中的医生上传的病人信息文件的安全性,为病人的隐私提供了更好的保护。
本发明一实施例公开了一种用于不可信服务器环境中数据文件加密及完整性验证系统,该系统采用上述的用于不可信服务器环境中数据文件加密及完整性验证方法加密及验证数据文件完整性,包括初始化模块,用于对密钥生成系统输入安全参数进行初始化;密钥生成模块,用于生成BGN同态加密算法的公钥和私钥;密钥构造模块,用于基于离散对数困难问题,构造数据签名的公钥和私钥;加密模块,用于根据BGN同态加密算法的公钥加密数据文件,获得密文文件Fc;标签构造模块,用于根据数据签名的私钥,对待加密的数据文件中所有文件块分别构造标签,获得标签集合Φ;上传模块,用于向云端服务器上传密文文件Fc和标签集合Φ;挑战发起模块,用于向云端服务器发送文件完整性挑战,以使云端服务器执行计算挑战指定的所有标签的标签和及挑战指定的所有文件块的文件块和的操作,并返回标签和及文件块和的计算结果;验证判断模块,用于在BGN同态加密算法私钥消除随机数干扰的条件下采用文件块和、数据签名的公钥验证标签和,并且当验证结果符合密文文件完整性验证目标时,判断在云端服务器存储的密文文件完整。
本发明另一实施例也公开了一种用于不可信服务器环境中数据文件加密及完整性验证系统,该系统包括处理器和存储器;示例性的,用于不可信服务器环境中数据文件加密及完整性验证方法可以被分割成多个模块,多个模块被存储在存储器中,由处理器执行完成本发明。所述多个模块或单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述本发明的验证方法在用于不可信服务器环境中数据文件加密及完整性验证系统中的执行过程。例如,初始化模块,用于对密钥生成系统输入安全参数进行初始化;密钥生成模块,用于生成BGN同态加密算法的公钥和私钥;密钥构造模块,用于基于离散对数困难问题,构造数据签名的公钥和私钥;加密模块,用于根据BGN同态加密算法的公钥加密数据文件,获得密文文件Fc;标签构造模块,用于根据数据签名的私钥,对待加密的数据文件中所有文件块分别构造标签,获得标签集合Φ;上传模块,用于向云端服务器上传密文文件Fc和标签集合Φ;挑战发起模块,用于向云端服务器发送文件完整性挑战,以使云端服务器执行计算挑战指定的所有标签的标签和及挑战指定的所有文件块的文件块和的操作,并返回标签和及文件块和的计算结果;验证判断模块,用于在BGN同态加密算法私钥消除随机数干扰的条件下采用文件块和、数据签名的公钥验证标签和,并且当验证结果符合密文文件完整性验证目标时,判断在云端服务器存储的密文文件完整。
上述两实施例公开的用于不可信服务器环境中数据文件加密及完整性验证系统,可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备系统。所述用于不可信服务器环境中数据文件加密及完整性验证系统可包括,但不仅限于,处理器、存储器,还可以包括其它元器件。
所述处理器可以是计算机的中央处理单元,还可以是其它通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述用于不可信服务器环境中数据文件加密及完整性验证系统的控制中心,利用各种接口和线路连接整个用于不可信服务器环境中数据文件加密及完整性验证系统的各个模块。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的用于不可信服务器环境中数据文件加密及完整性验证方法对应的程序指令/模块,处理器通过运行存储在存储器的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的用于不可信服务器环境中数据文件加密及完整性验证方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器优选但不限于高速随机存取存储器,例如,还可以是非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器还可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明公开的用于不可信服务器环境中数据文件加密及完整性验证方法作为计算机程序一软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述方法实施例的步骤和结果。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;存储介质还可以包括上述种类的存储器的组合。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
Claims (4)
1.一种用于不可信服务器环境中数据文件加密及完整性验证方法,其特征在于,包括如下步骤:
1)对密钥生成系统输入安全参数进行初始化;
2)生成BGN同态加密算法的公钥和私钥;
3)基于离散对数困难问题,构造数据签名的公钥和私钥;
4)采用BGN同态加密算法的公钥加密数据文件,获得密文文件Fc;
5)根据数据签名的私钥,对待加密的数据文件中所有文件块分别构造标签,获得标签集合Φ;
6)上传密文文件Fc和标签集合Φ至云端服务器;
7)发送文件完整性挑战至云端服务器,以使云端服务器执行计算挑战指定的所有标签的标签和及挑战指定的所有文件块的文件块和的操作,并返回标签和及文件块和的计算结果;
8)使用文件块和、数据签名的公钥,在BGN同态加密算法私钥消除随机数干扰条件下验证标签和,并且当验证结果符合密文文件完整性验证目标时,判断在云端服务器内存储的密文文件完整;
所述步骤2)中BGN同态加密算法公钥和私钥的生成过程如下:
选择阶为n=q1·q2的两个乘法群G、G1,乘法群G、G1满足双线性映射e:G×G→G1,其中,q1、q2为不相等的两个素数;随机选取乘法群G的两个不相等的生成元g、u,以及选取乘法群G子群的生成元h,则BGN同态加密算法的公钥为pk(n,G,G1,e,h,g),私钥为sk(q1);
所述步骤4)中密文文件Fc的获取过程为:
所述待加密的数据文件记为F,F={b1,b2,b3,……,bm},bi(1≤i≤m)为数据文件的任一文件块, 为小于q2的正整数集合;采用BGN同态加密算法的公钥pk(n,G,G1,e,h,g)对待加密的数据文件F中每个文件块进行加密;加密后的数据文件即为密文文件,记为Fc,Fc={c1,c2,c3,……,cm},其中,ri是密钥生成系统产生的真随机数;
所述步骤7)中发送文件完整性挑战至云端服务器的过程为:向云端服务器发送随机数集合R,所述随机数集合R中的随机数表示待验证文件完整性的文件块bi的下标;所述云端服务器根据BGN同态加密算法的性质,执行计算标签和、文件块和操作,具体计算公式如下:
其中,δ为标签和,μ为文件块和;
所述步骤8)中标签和的验证过程为:
2.一种用于不可信服务器环境中数据文件加密及完整性验证系统,其特征在于,包括:
初始化模块,用于对密钥生成系统输入安全参数进行初始化;
密钥生成模块,用于生成BGN同态加密算法的公钥和私钥;所述密钥生成模块的生成过程为:选择阶为n=q1·q2的两个乘法群G、G1,乘法群G、G1满足双线性映射e:G×G→G1,其中,q1、q2为不相等的两个素数;随机选取乘法群G的两个不相等的生成元g、u,以及选取乘法群G子群的生成元h,则BGN同态加密算法的公钥为pk(n,G,G1,e,h,g),私钥为sk(q1);
加密模块,用于根据BGN同态加密算法的公钥加密数据文件,获得密文文件Fc;所述密文文件Fc的获取过程为:记待加密的数据文件为F,F={b1,b2,b3,......,bm},bi(1≤i≤m)为数据文件的任一文件块, 为小于q2的正整数集合;采用BGN同态加密算法的公钥pk(n,G,G1,e,h,g)对待加密的数据文件F中每个文件块进行加密;加密后的数据文件即为密文文件,记为Fc,Fc={c1,c2,c3,......,cm},其中,ri是密钥生成系统产生的真随机数;
标签构造模块,用于根据数据签名的私钥,对待加密的数据文件中所有文件块分别构造标签,获得标签集合Φ;所述标签集合Φ={T1,T2,T3,......,Tm},对标签集合Φ中任一文件块bi,构造其标签为Ti,其中,ki是密钥生成系统产生的真随机数;
上传模块,用于向云端服务器上传密文文件Fc和标签集合Φ;
挑战发起模块,用于向云端服务器发送文件完整性挑战,以使云端服务器执行计算挑战指定的所有标签的标签和及挑战指定的所有文件块的文件块和的操作,并返回标签和及文件块和的计算结果;所述发送文件完整性挑战至云端服务器的过程为:向云端服务器发送随机数集合R,所述随机数集合R中的随机数表示待验证文件完整性的文件块bi的下标;所述云端服务器根据BGN同态加密算法的性质,执行计算标签和、文件块和操作,具体计算公式如下:
其中,δ为标签和,μ为文件块和;
验证判断模块,用于在BGN同态加密算法私钥消除随机数干扰的条件下采用文件块和、数据签名的公钥验证标签和,并且当验证结果符合密文文件完整性验证目标时,判断在云端服务器存储的密文文件完整;所述验证标签和的过程为:在BGN同态加密算法私钥消除随机数干扰条件下,计算数据签名的公钥其分别与文件块和、标签和在双线性映射下的映射值,即分别计算和所述密文文件完整性验证目标为双线性映射的映射值相等,计算公式如下,
3.一种用于不可信服务器环境中数据文件加密及完整性验证系统,其特征在于,包括:处理器,所述处理器用于执行存储在存储器中的以下程序模块;
初始化模块,用于对密钥生成系统输入安全参数进行初始化;
密钥生成模块,用于生成BGN同态加密算法的公钥和私钥;所述密钥生成模块的生成过程为:选择阶为n=q1·q2的两个乘法群G、G1,乘法群G、G1满足双线性映射e:G×G→G1,其中,q1、q2为不相等的两个素数;随机选取乘法群G的两个不相等的生成元g、u,以及选取乘法群G子群的生成元h,则BGN同态加密算法的公钥为pk(n,G,G1,e,h,g),私钥为sk(q1);
加密模块,用于根据BGN同态加密算法的公钥加密数据文件,获得密文文件Fc;所述密文文件Fc的获取过程为:记待加密的数据文件为F,F={b1,b2,b3,......,bm},bi(1≤i≤m)为数据文件的任一文件块,为小于q2的正整数集合;采用BGN同态加密算法的公钥pk(n,G,G1,e,h,g)对待加密的数据文件F中每个文件块进行加密;加密后的数据文件即为密文文件,记为Fc,Fc={c1,c2,c3,......,cm},其中,ri是密钥生成系统产生的真随机数;
标签构造模块,用于根据数据签名的私钥,对待加密的数据文件中所有文件块分别构造标签,获得标签集合Φ;所述标签集合Φ={T1,T2,T3,......,Tm},对标签集合Φ中任一文件块bi,构造其标签为Ti,其中,ki是密钥生成系统产生的真随机数;
上传模块,用于向云端服务器上传密文文件Fc和标签集合Φ;
挑战发起模块,用于向云端服务器发送文件完整性挑战,以使云端服务器执行计算挑战指定的所有标签的标签和及挑战指定的所有文件块的文件块和的操作,并返回标签和及文件块和的计算结果;所述发送文件完整性挑战至云端服务器的过程为:向云端服务器发送随机数集合R,所述随机数集合R中的随机数表示待验证文件完整性的文件块bi的下标;所述云端服务器根据BGN同态加密算法的性质,执行计算标签和、文件块和操作,具体计算公式如下:
其中,δ为标签和,μ为文件块和;
验证判断模块,用于在BGN同态加密算法私钥消除随机数干扰的条件下采用文件块和、数据签名的公钥验证标签和,并且当验证结果符合密文文件完整性验证目标时,判断在云端服务器存储的密文文件完整;所述验证标签和的过程为:在BGN同态加密算法私钥消除随机数干扰条件下,计算数据签名的公钥其分别与文件块和、标签和在双线性映射下的映射值,即分别计算和所述密文文件完整性验证目标为双线性映射的映射值相等,计算公式如下,
4.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1所述的用于不可信服务器环境中数据文件加密及完整性验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011261231.XA CN112491529B (zh) | 2020-11-12 | 2020-11-12 | 用于不可信服务器环境中数据文件加密及完整性验证方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011261231.XA CN112491529B (zh) | 2020-11-12 | 2020-11-12 | 用于不可信服务器环境中数据文件加密及完整性验证方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112491529A CN112491529A (zh) | 2021-03-12 |
CN112491529B true CN112491529B (zh) | 2022-03-29 |
Family
ID=74930025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011261231.XA Active CN112491529B (zh) | 2020-11-12 | 2020-11-12 | 用于不可信服务器环境中数据文件加密及完整性验证方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112491529B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070553B (zh) * | 2021-10-29 | 2023-05-30 | 深圳技术大学 | 一种隐私数据匹配方法、系统及存储介质 |
CN115470506B (zh) * | 2022-10-28 | 2023-03-10 | 山东华翼微电子技术股份有限公司 | 一种基于同态映射的安全文件系统实现方法 |
CN116545676B (zh) * | 2023-04-25 | 2024-10-11 | 华润智算科技(广东)有限公司 | 密文处理方法和装置、电子设备及存储介质 |
CN117113437B (zh) * | 2023-10-19 | 2024-02-06 | 深圳竹云科技股份有限公司 | 一种文件篡改检测方法、装置、计算机设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8526603B2 (en) * | 2011-07-08 | 2013-09-03 | Sap Ag | Public-key encrypted bloom filters with applications to private set intersection |
US10114851B2 (en) * | 2014-01-24 | 2018-10-30 | Sachet Ashok Shukla | Systems and methods for verifiable, private, and secure omic analysis |
CN105515778B (zh) * | 2015-12-25 | 2018-10-16 | 河南城建学院 | 云存储数据完整性服务签名方法 |
CN106612274A (zh) * | 2016-07-25 | 2017-05-03 | 四川用联信息技术有限公司 | 云计算中一种基于同态性的共享数据验证算法 |
US10528751B2 (en) * | 2017-04-13 | 2020-01-07 | Nec Corporation | Secure and efficient cloud storage with retrievability guarantees |
CN107612969B (zh) * | 2017-08-16 | 2020-01-14 | 中国民航大学 | 基于B-Tree布隆过滤器的云存储数据完整性审计方法 |
CN107948143B (zh) * | 2017-11-15 | 2021-03-30 | 安徽大学 | 一种云存储中基于身份的隐私保护完整性检测方法和系统 |
CN108965258B (zh) * | 2018-06-21 | 2021-07-16 | 河南科技大学 | 一种基于全同态加密的云环境数据完整性验证方法 |
US11354539B2 (en) * | 2018-09-27 | 2022-06-07 | International Business Machines Corporation | Encrypted data model verification |
CN109951296B (zh) * | 2019-03-05 | 2020-12-08 | 北京邮电大学 | 一种基于短签名的远程数据完整性验证方法 |
CN110933044B (zh) * | 2019-11-08 | 2021-03-26 | 华中科技大学 | 一种可公开审计的数据持有性证明方法和可读存储介质 |
CN111162894B (zh) * | 2019-12-31 | 2020-11-10 | 西南石油大学 | 具有隐私保护的外包云存储医疗数据聚合的统计分析方法 |
-
2020
- 2020-11-12 CN CN202011261231.XA patent/CN112491529B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112491529A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112491529B (zh) | 用于不可信服务器环境中数据文件加密及完整性验证方法及其系统 | |
Chinnasamy et al. | HCAC-EHR: hybrid cryptographic access control for secure EHR retrieval in healthcare cloud | |
CN108881314B (zh) | 雾计算环境下基于cp-abe密文隐私保护方法及系统 | |
CN109831430B (zh) | 一种云计算环境下的安全可控高效的数据共享方法及系统 | |
Kartit et al. | Applying encryption algorithm for data security in cloud storage | |
CN106487506B (zh) | 一种支持预加密和外包解密的多机构kp-abe方法 | |
JP6016948B2 (ja) | 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム | |
US20140185794A1 (en) | Encryption processing apparatus and method | |
CN109728906B (zh) | 基于非对称密钥池的抗量子计算非对称加密方法和系统 | |
CN109067528A (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN110610102B (zh) | 一种数据访问方法、装置及系统 | |
CN104022866A (zh) | 云存储中多用户密文关键词可搜索的加密方法 | |
CN115865531B (zh) | 一种代理重加密数字资产授权方法 | |
CN113179270B (zh) | 一种基于移动群智感知可追踪且隐私保护的数据共享方法 | |
US11386429B2 (en) | Cryptocurrency securing method and device thereof | |
CN108989339A (zh) | 一种具有策略隐藏功能的密文加密方法、系统及存储介质 | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
CN105656881B (zh) | 一种电子病历的可验证外包存储和检索系统及方法 | |
Gupta et al. | Compendium of data security in cloud storage by applying hybridization of encryption algorithm | |
CN118213031A (zh) | 一种医疗数据共享隐私保护系统、方法、设备及介质 | |
CN111159727A (zh) | 一种面向多方协同的贝叶斯分类器安全生成系统及方法 | |
CN116318696B (zh) | 一种双方无初始信任情况下代理重加密数字资产授权方法 | |
Ogunleye et al. | Elliptic Curve Cryptography Performance Evaluation for Securing Multi-Factor Systems in a Cloud Computing Environment | |
Vamsi et al. | Electronic health record security in cloud: Medical data protection using homomorphic encryption schemes | |
CN109905236A (zh) | 基于私钥池的抗量子计算Elgamal加解密方法和系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |