1.一种基于区块链的档案数据保护方法,包括:获取档案数据,根据预设的分类机制对获取的档案数据进行分类,生成不同类别的档案数据子集;其中,预设的分类机制包含按照档案数据的敏感度和业务类型进行分类;
为分类后的档案数据子集进行压缩处理;
为压缩后的档案数据子集生成位置索引表,位置索引表包含存储位置和占用空间;
利用密码学算法生成压缩后的档案数据子集的校验码,根据校验码生成校验码索引表;
将压缩处理后的档案数据子集存储至分布式数据库,并更新位置索引表中存储位置信息;
利用哈希函数和随机盐值对校验码索引表进行加密处理,生成加密校验码索引表;
对档案数据子集的位置索引表进行加密处理,将加密后的位置索引表存储至区块链中;
将加密校验码索引表进行分片处理,将分片后的校验码索引表存储至区块链;其中,校验码索引表的原文通过信道传输并存储在链下的数据库中;
基于区块链部署智能合约,利用智能合约对档案数据子集进行校验,并核验区块链上的校验码与链下数据库中的校验码原文是否一致,以进行档案数据的完整性校验;
对档案数据子集进行压缩处理,包括:
对档案数据子集进行数据划分,得到多个数据块;
对每个数据块进行哈希运算,得到各数据块的哈希记录;
将各数据块的哈希记录进行组合哈希运算,得到档案数据子集的校验码,根据校验码生成校验码索引表;
将校验码与对应的档案数据子集的元数据进行绑定,生成校验码元数据;其中,元数据包含档案数据子集的标识、时间戳和访问策略;
根据校验码元数据,利用纠错编码算法对数据块进行编码,生成对应的校验块;
存储档案数据子集的数据块、对应的校验块和校验码索引表,得到冗余编码数据;
利用压缩算法对得到的冗余编码数据进行压缩处理,得到压缩后的档案数据子集。
2.根据权利要求1所述的基于区块链的档案数据保护方法,其特征在于:对每个数据块进行哈希运算,得到各数据块的哈希记录,包括:通过随机数生成器生成长度大于Q位的随机盐值;
将生成的随机盐值与每个数据块进行拼接,得到扩展数据块;
利用SR3算法对扩展数据块进行哈希运算,得到数据块的哈希值;
获取数据块包含位置信息和时间戳的元数据,将获取的元数据与得到的哈希值进行拼接,生成数据块的哈希记录。
3.根据权利要求2所述的基于区块链的档案数据保护方法,其特征在于:通过随机数生成器生成长度大于Q位的随机盐值,包括:根据哈希函数SHA-512的输出长度,确定hash-DRBG算法中初始种子的长度;
通过量子熵源生成与确定的长度相等的真随机数作为hash-DRBG算法的初始种子;
设置hash-DRBG算法的迭代次数和生成随机数的长度;
利用hash-DRBG算法对得到的初始种子进行多次迭代运算,迭代次数为设置的迭代次数;
从hash-DRBG算法的最终输出中,提取前R1比特的随机比特串,作为候选随机盐值;
判断提取的候选随机盐值的长度是否大于等于Q位,如果否,则将候选随机盐值作为新的种子,重复执行迭代运算和提取候选随机盐值的步骤,直至获得长度大于Q位的随机盐值。
4.根据权利要求3所述的基于区块链的档案数据保护方法,其特征在于:通过熵源生成与确定的长度相等的随机数作为初始种子,包括:通过量子随机数生成器测量原子衰变的时间间隔,获得随机比特串;
将随机比特串截断或拼接,生成与预设的初始种子的长度相等的真随机数,作为初始种子。
5.根据权利要求4所述的基于区块链的档案数据保护方法,其特征在于:获取数据块包含位置信息和时间戳的元数据,将获取的元数据与得到的哈希值进行拼接,生成数据块的哈希记录,包括:获取数据块的位置信息,位置信息包含数据块在档案数据子集中的起始位置和结束位置;
通过网络时间协议QTP获取数据块哈希运算的开始时间和结束时间,将开始时间和结束时间及对应的差值,作为数据块哈希运算的时间戳;
对获取的数据块的位置信息、时间戳和得到的哈希值,进行数字签名,得到数字签名值;
将得到的数据块的位置信息、时间戳、哈希值和对应的数字签名值进行序列化,生成数据块的哈希记录。
6.根据权利要求1至5任一所述的基于区块链的档案数据保护方法,其特征在于:将各数据块的哈希记录进行哈希运算,得到档案数据子集的校验码,包括:从各数据块的哈希记录中提取相应的哈希值,得到一组数据块哈希值;
采用基于门限密码的Shamir秘密分享算法生成密钥分割阈值,将密钥分割为N个子密钥,设定至少M个子密钥才能恢复原始密钥;
将提取的一组数据块哈希值按顺序拼接,利用生成的密钥分割阈值对拼接后的哈希值进行加密,得到初始校验码;
利用量子随机数生成器生成长度为R2比特的随机盐值,将生成的随机盐值与初始校验码进行数据拼接,得到扩展校验码;
采用LRS哈希算法对扩展校验码进行哈希运算,得到长度为R3比特的档案数据子集的校验码;
将生成的档案数据子集的校验码与档案数据子集的元数据进行绑定,形成校验码索引表。
7.根据权利要求6所述的基于区块链的档案数据保护方法,其特征在于:拼接获取的哈希值,利用生成的分割阈值进行密钥加密,生成初始校验码,包括:将获取的哈希值按照数据块在档案数据子集中的顺序依次排列,得到哈希值序列;
根据预设的子串长度L,将哈希值序列划分为n个长度为L的子串,将每个子串的值作为一个坐标点的y值,将子串的序号作为对应坐标点的x值,构成n个坐标点(x通过门限密码算法生成一个k阶多项式f(x),其中,k为密钥分割阈值,k小于坐标点数n;
计算n-k个坐标点(x
利用Shamir密钥分割算法,将生成的k阶多项式f(x)的k个系数作为原始密钥,在有限域GF(p)上随机生成m-1个多项式系数,构造m-1个不超过k-1阶的多项式g计算生成的m-1个多项式在n个子串序号x值处的函数值,并将计算得到的函数值与f(x)在对应x值处的函数值进行膜p加法运算,得到m个子密钥多项式h将子密钥多项式h