CN105653983B - 基于云存储的信息分配、还原、完整性验证方法及装置 - Google Patents

基于云存储的信息分配、还原、完整性验证方法及装置 Download PDF

Info

Publication number
CN105653983B
CN105653983B CN201511026885.3A CN201511026885A CN105653983B CN 105653983 B CN105653983 B CN 105653983B CN 201511026885 A CN201511026885 A CN 201511026885A CN 105653983 B CN105653983 B CN 105653983B
Authority
CN
China
Prior art keywords
information
matrix
secret
secret information
equal
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.)
Expired - Fee Related
Application number
CN201511026885.3A
Other languages
English (en)
Other versions
CN105653983A (zh
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.)
China Agricultural University
Original Assignee
China Agricultural University
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 China Agricultural University filed Critical China Agricultural University
Priority to CN201511026885.3A priority Critical patent/CN105653983B/zh
Publication of CN105653983A publication Critical patent/CN105653983A/zh
Application granted granted Critical
Publication of CN105653983B publication Critical patent/CN105653983B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了基于云存储的信息分配方法及装置,该方法包括:将文件分割成t个秘密信息;将t个秘密信息分别分割成p‑1个子秘密信息;将p‑1个子秘密信息分别生成(k‑1)个只包含0和1的随机信息串;根据p‑1个随机信息串向量,生成随机信息串矩阵RT;生成一个二元运算矩阵并将其切割成矩阵根据RT、秘密信息向量及计算t×n个信息份额。本发明提供了基于云存储的信息还原方法及装置,已知g个密文时还原秘密信息。本发明提了基于云存储的信息完整性验证方法及装置,获取少量的密文,验证信息的完整性。本发明提供的信息分配、还原、完整性验证方法及装置具有计算负荷小、效率高、安全性高的优点,节省成本。

Description

基于云存储的信息分配、还原、完整性验证方法及装置
技术领域
本发明涉及信息安全技术领域,具体涉及基于云存储的信息分配、还原、完整性验证方法及装置。
背景技术
近些年来,随着云存储技术的迅猛发展,越来越多的人或者企业选择使用云存储环境存放自己的资料,但是云存储给用户带来了极大的便利的同时也带来了很多问题,其中,最重要的问题就是数据安全问题和隐私问题。
为了确保数据的安全性和保密性,研究者们提出了(k,n)门限秘密共享概念,秘密共享是信息安全和数据保密的重要手段,它在重要信息和秘密数据的安全保存、传输以及合法利用中起着关键作用,在(k,n)门限秘密共享可以取任何消息,把它分成n份,每份叫做原来消息的影子或份额,并被n个不同的服务器共享,满足只有大于等于k个服务器联合可以还原出该秘密和任意少于k个服务器不能得到该秘密的任何信息这两个条件时称为完美的秘密共享方案,此外,若再满足每个服务器所持有的份额尺寸和原秘密一样大的条件时称为理想的秘密共享方案。
但是实现(k,n)门限秘密共享方案的方法多是基于珈罗瓦域或素数域上的运算,运算负载相对比较大,同时,也限制了秘密分享方案在高性能的存储领域的应用,实验数据表明,编码8K字节的数据,秘密共享方案为(t=6,n=10)编码速度要比加密类型AES加密编码慢近70倍以上,因此,虽然(k,n)门限秘密共享方案是信息安全和数据保密的重要手段,但是因其具有较高的计算负担,在普通数据的存储领域的应用受到了很大的限制。
而且,用户将数据移植到云存储中,可能面临以下三种导致数据 损失的情况:软件失效或硬件损坏导致数据的丢失;恶意用户对云中统一宿主机上的其它虚拟机发起攻击导致数据的损坏;云服务商可能没有遵守服务等级协议,擅自删除一些用户不常访问的数据或采取离线方式存储导致的数据的损坏,因此,用户需要借助一定的手段判断云存储中的数据是否是完整的。
现有的数据完整性证明机制可以分为数据持有性机制和数据可恢复性证明机制,其中,数据持有性证明机制有以下几种:基于MAC签名的机制、基于RSA签名的机制、基于BLS签名的机制、支持动态操作的机制以及多副本的机制,但是这些机制本身存在很多缺陷,比如:基于MAC签名的机制只能进行有限次验证,验证者必须保存大量的辅助验证信息,基于RSA签名的机制只能进行静态操作。
因此,现有的门限秘密共享方案具有较高的计算负担,效率不高,在云存储领域的应用受到很大的限制,使得云存储无法确保数据的安全性和可用性,现有的数据完整性验证机制需要大量的辅助验证信息,验证效率不高而且浪费成本。
发明内容
本发明提供一种基于云存储的信息分配、还原、完整性验证方法机装置,解决了现有门限秘密分配装置和还原装置计算负荷大,效率低的问题以及现有云存储数据安全性不高、完整性验证效率低的问题。
第一方面,本发明提供了基于云存储的信息分配方法,所述方法包括:
将待存储文件分割成t个秘密信息:s1,s2,…,sh,…,st,其中,sh为第h个秘密信息,1≤h≤t,t为预设常数;
将所述t个秘密信息分别分割成p-1个子秘密信息,得到t个秘密信息向量:其中,为第h个秘密信息向量, shl为sh的第l个子秘密信息,1≤l≤p-1,p为 素数且p≥n-1,n为预设常数,且n为每个秘密信息生成的信息份额的个数;
将所述p-1个子秘密信息分别生成(k-1)个只包含0和1的随机信息串,得到p-1个随机信息串向量:其中,为第l个随机信息串向量,rlf为第l个子秘密信息的第f个随机信息串,1≤l≤p-1,1≤f≤k-1,k≤n;
根据所述p-1个随机信息串向量,生成随机信息串矩阵
生成一个二元运算矩阵所述二元运算矩阵为包含(n+1)×(n-k+1)个块的分块矩阵,每块均为由0和1组成的(p-1)阶方阵;
将所述二元运算矩阵切割成矩阵其中,切割方式具体为:
将第1行至第(k-1)切割成(k-1)×(n-k+1)阶矩阵
将第k行至第n行切割成(n-k+1)×(n-k+1)阶矩阵
将第(n+1)行切割成1×(n-k+1)阶矩阵
根据所述随机信息串矩阵RT、所述t个秘密信息向量 及所述矩 阵和分别求出t个未知向量 其中,为第h个秘密信息向量对应的未知向量, 公式为:
将所述随机信息串矩阵RT的转置矩阵R与所述t个未知向量的 分别组成t个包含n个信息份额的向量:
其中,为第h秘密信息向量对应的n个信息份额;
将t个秘密信息生成的t×n个信息份额通过秘密信道发送给n个服务器。
其中,在所述将t个秘密信息生成的t×n个信息份额通过秘密信道发送给n个服务器之前,所述方法还包括:
对所述每个秘密信息生成的n个信息份额进行加密处理,具体包括:
生成伪随机序列密钥kprf
根据随机矩阵βm的列标j生成随机矩阵βj,根据所述伪随机序列密钥kprf和随机矩阵βm的行标i生成伪随机序列其中, 当i=(p-m)mod p或i=(j+m)mod p时ei,j取值为1,否则取值为0,其中,0≤m≤p-1,0≤j≤p-1,p为素数且p≥n-1;
根据所述随机矩阵βj和所述伪随机序列对所述t×n个信息份额进行加密处理,生成对应的t×n个密文。
其中,在所述将t个秘密信息生成的t×n个信息份额通过秘密信道发送给n个服务器之前,所述方法还包括:
将所述每个秘密信息生成的n个信息份额分别根据预设的比特d切割成多份子信息份额。
第二方面,本发明还提供了基于云存储的信息还原方法,在至少已知权利要求2中的任意g个密文时,还原秘密信息,所述方法包括:
对所述任意g个密文进行解密,得到未加密的g信息份额;
根据所述g个密文从所述二元运算矩阵中选取g行生成g阶还原矩阵其中,1≤g≤n;
将所述未加密的g信息份额与所述还原矩阵的逆矩阵做内积运算,还原出秘密信息向量;
根据所述秘密信息向量还原出子秘密信息,并将所述子秘密信息 按照分割时的顺序组合成秘密信息。
其中,所述方法还包括:
将子信息份额按切割的顺序组合成信息份额。
本发明的第三方面提供了基于云存储的信息完整性验证方法,所述方法包括:
从n个不同的服务器中随机选取一个服务器,并从所述随机选取的服务器存储的子信息份额中随机选取u个密文,并记录所述u个密文所在区域的位置,其中,1≤u≤t;
对剩下n-1个服务器的密文分别按照所述u个密文所在区域的位置选取对应u个区域的密文;
对分别从n个服务器选取的u个密文进行解密,得到n×u个未加密的信息份额;
对n个服务器的u个未加密的信息份额分别求和,得到n个信息份额和;
从所述n个信息份额和中多次随机选取g'个子信息份额,并根据g'个信息份额分别从所述运算矩阵中选取g'行生成g'阶还原矩阵,其中,1≤g'≤n,n为预设常数,且n为每个秘密信息生成的信息份额的个数;
分别将所述多次随机选取的g'个子信息份额和与对应的还原矩阵的逆矩阵做内积运算,计算出多个秘密信息向量;
根据所述多个秘密信息向量还原出对应的子秘密信息,并将所述对应的子秘密信息分别按照分割时的顺序组合成秘密信息;
将多次得到的秘密信息进行比较,若多次得到的秘密信息一致,则验证n个服务器中的数据是完整的。
其中,从所述n个子信息份额和中两次随机选取g'个密文。
本发明的第四方面提供了基于云存储的信息分配装置,所述装置包括:
文件分割模块,用于将待存储文件分割成t个秘密信息: s1,s2,…,sh,…,st,其中,sh为第h个秘密信息,1≤h≤t,t为预设常数;
秘密信息向量生成模块,用于将所述t个秘密信息分别分割成p-1个子秘密信息,得到t个秘密信息向量:其中,为第h个秘密信息向量,shl为sh的第l个子秘密信息,1≤l≤p-1,p为素数且p≥n-1,n为预设常数,且n为每个秘密信息生成的信息份额的个数;
随机信息串向量生成模块,用于将所述p-1个子秘密信息分别生成(k-1)个只包含0和1的随机信息串,得到p-1个随机信息串向量: 其中,为第l个随机信息串向量, rlf为第l个子秘密信息的第f个随机信息串,1≤f≤k-1,k≤n;
随机信息串矩阵生成模块,用于根据所述p-1个随机信息串向量,生成随机信息串 矩阵
运算矩阵生成模块,用于生成一个二元运算矩阵所述二元运算矩阵为包含(n+1)×(n-k+1)个块的分块矩阵,每块均为由0和1组成的(p-1)阶方阵;
运算矩阵分割模块,用于将所述二元运算矩阵切割成矩阵其中,切割方式具体为:
将第1行至第(k-1)切割成(k-1)×(n-k+1)阶矩阵
将第k行至第n行切割成(n-k+1)×(n-k+1)阶矩阵
将第(n+1)行切割成1×(n-k+1)阶矩阵
未知向量生成模块,用于根据所述随机信息串矩阵RT、所述t个秘密信息向量及所述矩阵和分别求出t个未知向量其 中,为第h个秘密信息向量对应的未知向量,公式为:
信息份额生成模块,用于将所述随机信息串矩阵RT的转置矩阵R与所述t个未知向量的分别组成t个包含n个信息份额的向量:
其中,为第h秘密信息向量对应的n个信息份额;
发送模块,用于将t个秘密信息生成的t×n个信息份额通过秘密信道发送给n个服务器。
本发明的第五方面提供了基于云存储的信息还原装置,在至少已知任意g个密文时,还原秘密信息,所述装置包括:
第一解密模块,用于对所述任意g个密文进行解密,得到未加密的g个信息份额;
第一还原矩阵生成模块,用于根据所述g个密文从所述二元运算矩阵中选取g行生成g阶还原矩阵其中,1≤g≤n;
第一秘密信息向量还原模块,用于将所述未加密的g信息份额与所述还原矩阵的逆矩阵做内积运算,还原出秘密信息向量;
第一秘密信息还原模块,用于根据所述秘密信息向量还原出子秘密信息,并将所述子秘密信息按照分割时的顺序组合成秘密信息。
本发明的第六方面提供了基于云存储的信息完整性验证装置,所述装置包括:
密文标记模块,用于从n个服务器中随机选取一个服务器,并从所述随机选取的服务器存储的子信息份额中随机选取u个密文,并记录所述u个密文所在区域的位置,其中,1≤u≤t;
密文选取模块,用于对剩下n-1个服务器的密文分别按照所述u个密文所在区域的位置选取对应u个区域的密文;
第二解密模块,用于对n个服务器的u个未加密的信息份额分别求和,得到n个信息份额和;
求和模块,用于对n个服务器的u个未加密的信息份额分别求和,得到n个信息份额和;
第二还原矩阵生成模块,用于从所述n个信息份额和中多次随机选取g'个子信息份额,并根据g'个信息份额分别从所述运算矩阵中选取g'行生成g'阶还原矩阵,其中,1≤g'≤n,n为预设常数,且n为每个秘密信息生成的信息份额的个数;
第二秘密信息向量还原模块,用于分别将所述多次随机选取的g'个子信息份额和与对应的还原矩阵的逆矩阵做内积运算,计算出多个秘密信息向量;
第二秘密信息还原模块,用于根据所述多个秘密信息向量还原出对应的子秘密信息,并将所述对应的子秘密信息分别按照分割时的顺序组合成秘密信息;
判断模块,用于将多次得到的秘密信息进行比较,若多次得到的秘密信息一致,则验证n个服务器中的数据是完整的。
本发明提供的基于云存储的信息分配、还原、完整性验证方法及装置,提供的一种基于云存储的门限秘密分配方法及装置降低了计算负荷、提高了运算效率,同时,在将门限秘密信息分配生成的信息份额发送给云中多个服务器之前,对信息份额进行加秘密处理,提高了云存储中数据的安全性;提供的一种基于云存储的信息还原方法及装置,只需随机抽取少量的信息进行秘密还原,降低了还原装置的计算负荷,提高了运算效率;提供的一种基于云存储的信息完整性验证方法及装置,只需随机抽取少量的信息就进行云存储数据的完整性验证。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而 易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的基于云存储的信息分配方法的流程图;
图2为本发明一实施例提供的当(k=3,n=5,p=5)时信息份额分发的示意图;
图3为本发明一实施例提供的基于云存储的信息完整性验证过程的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,本公开实施例中提及的字母T为转置运算符。
如图1所示,本公开一实施例提供了基于云存储的信息分配方法,该方法包括如下步骤S1至S9:
S1、将待存储文件分割成t个秘密信息:s1,s2,…,sh,…,st,其中,sh为第h个秘密信息,1≤h≤t,t为预设常数;
具体地,每个秘密信息可以根据用户需要分成任意比特。
S2、将所述t个秘密信息分别分割成p-1个子秘密信息,得到t个秘密信息向量:其中,为第h个秘密信息向量, shl为sh的第l个子秘密信息,1≤l≤p-1,p为素数且p≥n-1,n为预设常数,且n为每个秘密信息生成的信息份额的个数;
优选地,将秘密信息采用等长均分的方法分割成p-1个子秘密信息,即每个子秘密信息的长度均为dbit,其中,d=|Sh|/(p-1),若不能整除,则可在末位补零。
S3、将所述p-1个子秘密信息分别生成(k-1)个只包含0和1的随机信息串,得到p-1个随机信息串向量:其中,为第l个随机信息串向量,rlf为第l个子秘密信息的第f个随机信息串,1≤l≤p-1,1≤f≤k-1,k≤n;
具体地,根据预设的规则或算法将子秘密信息生成(k-1)个只包含0和1的随机信息串。
具体地,每个随机信息串的长度与对应的子秘密信息的长度相同。
S4、根据所述p-1个随机信息串向量,生成随机信息串矩阵
S5、生成一个二元运算矩阵所述二元运算矩阵为包含(n+1)×(n-k+1)个块的分块矩阵,每块均为由0和1组成的(p-1)阶方阵;
具体地,所述二元运算矩阵的产生方式为:
生成循环置换矩阵当a=(b+m)mod p时,取值为1,否则为0,其中,ea,b取值0或1,其中,0≤m≤p-1,0≤b≤p-1,p为素数且p≥n-1数;
其中,当m=0和m=p-1时,
和矩阵Ip-1组合成二元运算矩阵如下:
S6、将所述二元运算矩阵切割成矩阵其中,切割 方式具体为:
将第1行至第(k-1)切割成(k-1)×(n-k+1)阶矩阵
将第k行至第n行切割成(n-k+1)×(n-k+1)阶矩阵
将第(n+1)行切割成1×(n-k+1)阶矩阵
S7、根据所述随机信息串矩阵RT、所述t个秘密信息向量 及所 述矩阵和分别求出t个未知向量 其中,为第h个秘密信息 向量对应的未知向量, 公式为:
S8、将所述随机信息串矩阵RT的转置矩阵R与所述t个未知向量的分别组成t个包含n个信息份额的向量:
其中,为第h秘密信息向量对应的n个信息份额;
具体地,第h秘密信息向量对应的n个信息份额为
具体地,将第h个秘密信息向量对应的n个信息份额进行分配的阵列结构如下:
其中,将(k-1)×(p-1)个d(bit)的随机串rlf连同p-1个d(bit)的子秘密信息放入 一个p×(n+1)的阵列中,其中随机串rlf(1≤l≤k-1)依次放到前(k-1)列,最后把p-1份s1, s2,…,sh,…,sp-1放入最后一列,即第n+1列,此外再假设所有在(k-1)列和n+1列中间的列为 未知列,整个阵列满足的条件是:沿着从0到n-k的n-k+1种不同的斜率直线,所过结点的 和为向量其中,即沿着p-1条同样斜率直线的和也都为向量其中,1≤l≤p-1,1≤f≤k-1,k≤n,这里的下标计算是在有限域GF(p)中进行的,图2为 本发明的方案为(k=3,n=5,p=5)时信息份额分发的示意图,可以看出图2中的b,c都是同 样的a阵列垒起来的,当此工作完成之后,便可完成后续工作。
S9、将t个秘密信息生成的t×n个信息份额通过秘密信道发送给n个服务器。
应说明的是,每个服务器存储t个秘密信息,即每个服务器都存储了待存储文件的全部信息。
本实施例提供的基于云存储的信息分配方法,有效的降低了信息分配的计算负荷,提高了运算效率,同时,通过将二元运算矩阵进行切割,并用切割生成的矩阵计算得到信息份额,在计算信息份额的同时也对信息份额进行了加密处理,提高了信息份额的机密性,同时也提 高了云存储数据的机密性,可有效防止敌手破坏。
在本实施例中,在所述将每个秘密信息生成的n个信息份额通过秘密信道发送给n个不同的服务器之前,所述方法还包括如下步骤:
对所述t个秘密信息生成的t×n个信息份额进行加密处理,具体包括如下步骤:
生成伪随机序列密钥kprf
具体地,根据预先设置的规则或算法生成伪随机序列密钥,并将该伪随机序列密钥保存在客户端。
根据随机矩阵βm的列标j生成随机矩阵βj,根据所述伪随机序列密钥kprf和随机矩阵βm的行标i生成伪随机序列其中, 当i=(p-m)mod p或i=(j+m)mod p时ei,j取值为1,否则取值为0,其中,0≤m≤p-1,0≤j≤p-1,p为素数且p≥n-1;
根据所述随机矩阵βj和所述伪随机序列对所述t×n个信息份额进行加密处理,生成对应的t×n个密文。
具体地,对第h个秘密信息生成的n个信息份额进行加密的公式为:
其中,1≤j≤n。
本实施例提供的基于云存储的信息分配方法,在将信息份额发送给多个服务器之前对信息份额进行加密处理,提高了云存储数据的安全性。
在本实施例中,在所述将t个秘密信息生成的t×n个信息份额通过秘密信道发送给n个服务器之前,所述方法还包括如下步骤:
将所述t个秘密信息生成的t×n个信息份额分别根据预设的比特d切割成多份子信息份额。
应说明的是,通过将t个秘密信息生成的t×n个信息份额分割成多个小块的子信息份额,再发送给多个服务器,提高了云存储服务器中数据的安全性。
在本发明公开的另一实施例中,提供了基于云存储的信息还原方法,在至少已知上述t×n密文中的任意g个密文时,还原秘密信息,该方法包括图中未示出的如下步骤:
A1、对所述任意g个密文进行解密,得到未加密的g信息份额;
具体地,对所述任意g个密文:进行解密,得到未加密的g信息份额解密公式为:
A2、根据所述g个密文从所述二元运算矩阵中选取g行生成g阶还原矩阵其中,1≤g≤n;
A3、将所述未加密的g信息份额与所述还原矩阵的逆矩阵做内积运算,还原出秘密信息向量;
具体地,逆矩阵为:
其中,具体为:
具体地,矩阵的生成过程为:中的每个元素为(p-1)阶方阵,其(p-1)阶方阵为定义为:当i=(p-m)mod p或i=(j+m)mod p时ei,j取值为1,否则 为0,其中0≤m≤p-1,0≤j≤p-1:
矩阵的代数描述类似范德蒙矩阵,它是一个具有g×g块的分块矩阵,每块是m×m的子矩阵,所以实际上H是一个gm×gm的矩阵。
A4、根据所述秘密信息向量还原出子秘密信息,并将所述子秘密信息按照分割时的顺序组合成秘密信息。
在本实施例中,通过随机选取少量的密文,进行秘密信息还原,降低了秘密信息还原的计算负荷,有效的提高了运算效率。
在本实施例中,所述方法还包括,将子信息份额按切割时的顺序组合成信息份额。
在本发明公开的另一实施例提供了基于云存储的信息完整性验证方法,该方法具体包括图中未示出的如下步骤:
B1、从n个不同的服务器中随机选取一个服务器,并从所述随机选取的服务器存储的子信息份额中随机选取u个密文,并记录所述u个密文所在区域的位置,其中,1≤u≤t;
B2、对剩下n-1个服务器的密文分别按照所述u个密文所在区域的位置选取对应u个区域的密文;
B3、对分别从n个服务器选取的u个密文进行解密,得到n×u个未加密的信息份额;
B4、对n个服务器的u个未加密的信息份额分别求和,得到n个信息份额和;
B5、从所述n个信息份额和中多次随机选取g'个子信息份额,并根据g'个信息份额分别从所述运算矩阵中选取g'行生成g'阶还原矩阵, 其中,1≤g'≤n,n为预设常数,且n为每个秘密信息生成的信息份额的个数;
B6、分别将所述多次随机选取的g'个子信息份额和与对应的还原矩阵的逆矩阵做内积运算,计算出多个秘密信息向量;
B7、根据所述多个秘密信息向量还原出对应的子秘密信息,并将所述对应的子秘密信息分别按照分割时的顺序组合成秘密信息;
B8、将多次得到的秘密信息进行比较,若多次得到的秘密信息一致,则验证n个服务器中的数据是完整的。
具体地,对从第一个服务器中随机选取的u个密文进行解密,得到未加密的u个信息份额为:b11,b12,…,b1x,…,b1u,对所述u个信息份额求和,其中,1≤x≤u,得到的信息份额和为:
B1=b11+b12+…+b1x+…+b1u
可以理解的是,对n个服务器中随机选取的u个密文分别进行解密得到u个信息份额,分别计算n个服务器的信息份额和为:B1,B2,…,Ba,…,Bn,其中,1≤a≤n;
从所述n个信息份额和中随机选取g'个,采用上述基于云存储的信息还原方法计算出秘密信息s1
再从所述n个信息份额和中随机选取g'个,采用上述基于云存储的信息还原方法计算出秘密信息s2
将秘密信息s1与秘密信息s2进行比较,若s1=s2,则验证云存储中的数据是完整的。
可以理解的是,若s1≠s2,则验证云存储中的数据是不完整的,出现了数据篡改、缺失等问题,此时,可以向云存储中的多个服务器发送信息请求信息,要求服务器传输一定量的密文给客户端,客户端根据接收到的密文还原出原始存储文件。
本实施例提供的基于云存储的信息完整性验证方法,通过随机选取少量的密文,对云存储中多个服务器中存储的数据进行完整性验证,减少了成本,而且可以移交由经验丰富的第三方完成。
需要说明的是,这种对加密秘密信息进行随机抽样以验证文件完整性的成功概率非常高。例如,用户要求发现数据被损坏的概率达到99%以上,则只需要从10000个文件块中抽取460个块即可达到验证目的。所以,这种随机抽样的挑战方法非常高效。
在本发明公开的另一实施例提供了基于云存储的信息分配装置,包括:文件分割模块、秘密信息向量生成模块、随机信息串向量生成模块、随机信息串矩阵生成模块、运算矩阵生成模块、运算矩阵分割模块、未知向量生成模块、信息份额生成模块和发送模块;
所述文件分割模块,用于将待存储文件分割成t个秘密信息:s1,s2,…,sh,…,st,其中,sh为第h个秘密信息,1≤h≤t,t为预设常数;
所述秘密信息向量生成模块,用于将所述t个秘密信息分别分割成p-1个子秘密信 息,得到t个秘密信息向量:其中, 为第h个秘密信息向量,shl为sh的第l个子秘密信息,1≤l≤p-1,p为素数且p≥n-1,n 为预设常数,且n为每个秘密信息生成的信息份额的个数;
所述随机信息串向量生成模块,用于将所述p-1个子秘密信息分别生成(k-1)个只包含0和1的随机信息串,得到p-1个随机信息串向量: 其中,为第l个随机信息串向量, rlf为第l个子秘密信息的第f个随机信息串,1≤f≤k-1,k≤n;
所述随机信息串矩阵生成模块,用于根据所述p-1个随机信息串向量,生成随机信 息串矩阵
所述运算矩阵生成模块,用于生成一个二元运算矩阵所述二元运算矩阵为包含(n+1)×(n-k+1)个块的分块矩阵,每块均为由0和1组成的(p-1)阶方阵;
所述运算矩阵分割模块,用于将所述二元运算矩阵切割成矩阵 其中,切割方式具体为:
将第1行至第(k-1)切割成(k-1)×(n-k+1)阶矩阵
将第k行至第n行切割成(n-k+1)×(n-k+1)阶矩阵
将第(n+1)行切割成1×(n-k+1)阶矩阵
所述未知向量生成模块,用于根据所述随机信息串矩阵RT、所述t个秘密信息向量及所述矩阵和分别求出t个未知向量其中,为第h个秘密信息向量对应的未知向量,公式为:
所述信息份额生成模块,用于将所述随机信息串矩阵RT的转置矩阵R与所述t个未知向量的分别组成t个包含n个信息份额的向量:
其中,为第h秘密信息向量对应的n个信息份额;
所述发送模块,用于将t个秘密信息生成的t×n个信息份额通过秘密信道发送给n个服务器。
本实施例公开的基于云存储的信息分配装置与上述一实施例公开的基于云存储的信息分配方法的技术原理及技术效果相同,此处不再赘述。
本发明公开的另一实施例提供了基于云存储的信息还原装置,在至少已知任意g个密文时,还原秘密信息,该装置包括:第一解密模块、第一还原矩阵生成模块、第一秘密信息向量还原模块和第一秘密信息还原模块;
所述第一解密模块,用于对所述任意g个密文进行解密,得到未加密的g个信息份额;
所述第一还原矩阵生成模块,用于根据所述g个密文从所述二元运算矩阵中选取g行生成g阶还原矩阵其中,1≤g≤n;
所述第一秘密信息向量还原模块,用于将所述未加密的g信息份额与所述还原矩阵的逆矩阵做内积运算,还原出秘密信息向量;
所述第一秘密信息还原模块,用于根据所述秘密信息向量还原出子秘密信息,并将所述子秘密信息按照分割时的顺序组合成秘密信息。
本实施例公开的基于云存储的信息还原装置与上述一实施例公开的基于云存储的信息还原方法的技术原理及技术效果相同,此处不再赘述。
本发明公开的另一实施例提供了基于云存储的信息完整性验证装置,该装置包括:密文标记模块、密文选取模块、第二解密模块、求和模块、第二还原矩阵生成模块、第二秘密信息向量还原模块、第二秘密信息还原模块和判断模块;
所述密文标记模块,用于从n个服务器中随机选取一个服务器,并从所述随机选取的服务器存储的子信息份额中随机选取u个密文,并记录所述u个密文所在区域的位置,其中,1≤u≤t;
所述密文选取模块,用于对剩下n-1个服务器的密文分别按照所述u个密文所在区域的位置选取对应u个区域的密文;
所述第二解密模块,用于对n个服务器的u个未加密的信息份额分别求和,得到n个信息份额和;
所述求和模块,用于对n个服务器的u个未加密的信息份额分别求和,得到n个信息份额和;
所述第二还原矩阵生成模块,用于从所述n个信息份额和中多次随机选取g'个子信息份额,并根据g'个信息份额分别从所述运算矩阵中选取g'行生成g'阶还原矩阵,其中,1≤g'≤n,n为预设常数,且n为每个秘密信息生成的信息份额的个数;
所述第二秘密信息向量还原模块,用于分别将所述多次随机选取 的g'个子信息份额和与对应的还原矩阵的逆矩阵做内积运算,计算出多个秘密信息向量;
所述第二秘密信息还原模块,用于根据所述多个秘密信息向量还原出对应的子秘密信息,并将所述对应的子秘密信息分别按照分割时的顺序组合成秘密信息;
所述判断模块,用于将多次得到的秘密信息进行比较,若多次得到的秘密信息一致,则验证n个服务器中的数据是完整的。
本实施例公开的基于云存储的信息完整性验证装置与上述一实施例公开的基于云存储的信息完整性验证方法的技术原理及技术效果相同,此处不再赘述。
应需说明的是,本文中“第一”和“第二”仅仅用来区分名称相同的实体或操作,并不暗示这些实体或操作之间顺序或关系。
本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

Claims (7)

1.基于云存储的信息分配方法,其特征在于,所述方法包括:
将待存储文件分割成t个秘密信息:s1,s2,…,sh,…,st,其中,sh为第h个秘密信息,1≤h≤t,t为预设常数;
将所述t个秘密信息分别分割成p-1个子秘密信息,得到t个秘密信息向量:其中,为第h个秘密信息向量,shl为sh的第l个子秘密信息,1≤l≤p-1,p为素数且p≥n-1,n为预设常数,且n为每个秘密信息生成的信息份额的个数;
将所述p-1个子秘密信息分别生成(k-1)个只包含0和1的随机信息串,得到p-1个随机信息串向量:其中,为第l个随机信息串向量,rlf为第l个子秘密信息的第f个随机信息串,1≤f≤k-1,k≤n;
根据所述p-1个随机信息串向量,生成随机信息串矩阵
生成一个二元运算矩阵所述二元运算矩阵为包含(n+1)×(n-k+1)个块的分块矩阵,每块均为由0和1组成的(p-1)阶方阵;
将所述二元运算矩阵切割成矩阵其中,切割方式具体为:
将第1行至第(k-1)切割成(k-1)×(n-k+1)阶矩阵
将第k行至第n行切割成(n-k+1)×(n-k+1)阶矩阵
将第(n+1)行切割成1×(n-k+1)阶矩阵
根据所述随机信息串矩阵RT、所述t个秘密信息向量及所述矩阵分别求出t个未知向量其中,为第h个秘密信息向量对应的未知向量,公式为:
将所述随机信息串矩阵RT的转置矩阵R与所述t个未知向量的分别组成t个包含n个信息份额的向量:
其中,为第h秘密信息向量对应的n个信息份额;
将t个秘密信息生成的t×n个信息份额通过秘密信道发送给n个服务器。
2.根据权利要求1所述的方法,其特征在于,在所述将t个秘密信息生成的t×n个信息份额通过秘密信道发送给n个服务器之前,所述方法还包括:
对所述每个秘密信息生成的n个信息份额进行加密处理,具体包括:
生成伪随机序列密钥kprf
根据随机矩阵βm的列标j生成随机矩阵βj,并根据所述伪随机序列密钥kprf和随机矩阵βm的行标i生成伪随机序列其中,当i=(p-m)modp或i=(j+m)modp时ei,j取值为1,否则取值为0,其中,0≤m≤p-1,0≤j≤p-1,p为素数且p≥n-1;
根据所述随机矩阵βj和所述伪随机序列对所述t×n个信息份额进行加密处理,生成对应的t×n个密文。
3.根据权利要求1所述的方法,其特征在于,在所述将t个秘密信息生成的t×n个信息份额通过秘密信道发送给n个服务器之前,所述方法还包括:
将所述每个秘密信息生成的n个信息份额分别根据预设的比特d切割成多份子信息份额。
4.基于云存储的信息还原方法,其特征在于,在至少已知权利要求2中的任意g个密文时,还原秘密信息,所述方法包括:
对所述任意g个密文进行解密,得到未加密的g个信息份额;
根据所述g个密文从所述二元运算矩阵中选取g行生成g阶还原矩阵其中,1≤g≤n;
将未加密的g信息份额与所述还原矩阵的逆矩阵做内积运算,还原出秘密信息向量;
根据所述秘密信息向量还原出子秘密信息,并将所述子秘密信息按照分割时的顺序组合成秘密信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将子信息份额按切割的顺序组合成信息份额。
6.基于云存储的信息分配装置,其特征在于,所述装置包括:
文件分割模块,用于将待存储文件分割成t个秘密信息:s1,s2,···,sh,···,st,其中,sh为第h个秘密信息,1≤h≤t,t为预设常数;
秘密信息向量生成模块,用于将所述t个秘密信息分别分割成p-1个子秘密信息,得到t个秘密信息向量:其中,为第h个秘密信息向量,shl为sh的第l个子秘密信息,1≤l≤p-1,p为素数且p≥n-1,n为预设常数,且n为每个秘密信息生成的信息份额的个数;
随机信息串向量生成模块,用于将所述p-1个子秘密信息分别生成(k-1)个只包含0和1的随机信息串,得到p-1个随机信息串向量:其中,为第l个随机信息串向量,rlf为第l个子秘密信息的第f个随机信息串,1≤f≤k-1,k≤n;
随机信息串矩阵生成模块,用于根据所述p-1个随机信息串向量,生成随机信息串矩阵
运算矩阵生成模块,用于生成一个二元运算矩阵所述二元运算矩阵为包含(n+1)×(n-k+1)个块的分块矩阵,每块均为由0和1组成的(p-1)阶方阵;
运算矩阵分割模块,用于将所述二元运算矩阵切割成矩阵其中,切割方式具体为:
将第1行至第(k-1)切割成(k-1)×(n-k+1)阶矩阵
将第k行至第n行切割成(n-k+1)×(n-k+1)阶矩阵
将第(n+1)行切割成1×(n-k+1)阶矩阵
未知向量生成模块,用于根据所述随机信息串矩阵RT、所述t个秘密信息向量及所述矩阵分别求出t个未知向量其中,为第h个秘密信息向量对应的未知向量,公式为:
信息份额生成模块,用于将所述随机信息串矩阵RT的转置矩阵R与所述t个未知向量的分别组成t个包含n个信息份额的向量:
其中,为第h秘密信息向量对应的n个信息份额;
发送模块,用于将t个秘密信息生成的t×n个信息份额通过秘密信道发送给n个服务器。
7.基于云存储的信息还原装置,其特征在于,在至少已知权利要求2中的任意g个密文时,还原秘密信息,所述装置包括:
第一解密模块,用于对所述任意g个密文进行解密,得到未加密的g个信息份额;
第一还原矩阵生成模块,用于根据所述g个密文从所述二元运算矩阵中选取g行生成g阶还原矩阵其中,1≤g≤n;
第一秘密信息向量还原模块,用于将未加密的g信息份额与所述还原矩阵的逆矩阵做内积运算,还原出秘密信息向量;
第一秘密信息还原模块,用于根据所述秘密信息向量还原出子秘密信息,并将所述子秘密信息按照分割时的顺序组合成秘密信息。
CN201511026885.3A 2015-12-30 2015-12-30 基于云存储的信息分配、还原、完整性验证方法及装置 Expired - Fee Related CN105653983B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511026885.3A CN105653983B (zh) 2015-12-30 2015-12-30 基于云存储的信息分配、还原、完整性验证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511026885.3A CN105653983B (zh) 2015-12-30 2015-12-30 基于云存储的信息分配、还原、完整性验证方法及装置

Publications (2)

Publication Number Publication Date
CN105653983A CN105653983A (zh) 2016-06-08
CN105653983B true CN105653983B (zh) 2018-11-09

Family

ID=56490158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511026885.3A Expired - Fee Related CN105653983B (zh) 2015-12-30 2015-12-30 基于云存储的信息分配、还原、完整性验证方法及装置

Country Status (1)

Country Link
CN (1) CN105653983B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302720B (zh) * 2016-08-13 2019-12-13 青岛莱月网络科技有限公司 一种用于区块链可生存存储系统及其方法
CN106453285B (zh) * 2016-09-27 2019-07-23 中国农业大学 一种秘密数据共享的验证方法及装置
CN107689867B (zh) * 2017-09-08 2019-12-10 晋商博创(北京)科技有限公司 一种在开放环境下的密钥保护方法和系统
CN109951296B (zh) * 2019-03-05 2020-12-08 北京邮电大学 一种基于短签名的远程数据完整性验证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882992A (zh) * 2010-06-21 2010-11-10 中国农业大学 门限秘密信息分配、还原方法及装置
CN103067161A (zh) * 2013-01-16 2013-04-24 电子科技大学 一种密钥分发方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4692297B2 (ja) * 2006-01-23 2011-06-01 ブラザー工業株式会社 情報配信システム、情報配信方法、ノード装置、ノード処理プログラム
WO2010147215A1 (ja) * 2009-06-19 2010-12-23 日本電気株式会社 秘密情報分散システム,秘密情報分散方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882992A (zh) * 2010-06-21 2010-11-10 中国农业大学 门限秘密信息分配、还原方法及装置
CN103067161A (zh) * 2013-01-16 2013-04-24 电子科技大学 一种密钥分发方法及系统

Also Published As

Publication number Publication date
CN105653983A (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
CN105406966B (zh) 一种门限秘密信息分配、还原、完整性验证方法及装置
US12101415B2 (en) Method of RSA signature or decryption protected using a homomorphic encryption
CN105516340B (zh) 一种云存储数据可恢复性验证方法及系统
US20100266119A1 (en) Dispersed storage secure data decoding
CN105653983B (zh) 基于云存储的信息分配、还原、完整性验证方法及装置
US20150127950A1 (en) Method of encrypting data
Olumide et al. A hybrid encryption model for secure cloud computing
CN115567189A (zh) 一种加密方法、解密方法及装置
Ahmad et al. Distributed text-to-image encryption algorithm
CN113259317B (zh) 一种基于身份代理重加密的云存储数据去重方法
CN112398646B (zh) 理想格上具有短公共参数的身份基加密方法及系统
CN117318943A (zh) 一种量子分布式数据存储及恢复方法
JP4317593B2 (ja) データの非相関化方法
Ebrahim et al. Hybrid model for cloud data security using steganography
KR101566416B1 (ko) 보안성이 향상된 암·복호화 장치 및 방법
US20130058483A1 (en) Public key cryptosystem and technique
WO2018011825A1 (en) Encryption and decryption of messages
CN113420314A (zh) 一种适用于高速运算的全同态加密算法
CN107483387A (zh) 一种安全控制方法及装置
CN112989321A (zh) 一种基于秘密共享算法的密钥管理方法和系统
Mousa Sensitivity of Changing the RSA Parameters on the Complexity and Performance of the Algorithm
KR20100099694A (ko) 보네-프랜크린 방식을 이용한 공개키 생성 방법
Dodmane A new hybrid symmetric-key technique to enhance data security of textual information using random number generator
CN118018204B (zh) 一种基于椭圆曲线的消息处理系统以及消息处理方法
Khan et al. Geo Security using GPT Cryptosystem

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181109

CF01 Termination of patent right due to non-payment of annual fee