“不要把鸡蛋放在同一个篮子里”,这是研究者们提出密钥共享策略的初衷。它借助于一种多方协作的策略来预防秘密数据丢失,同时又不向任何单一方泄漏秘密信息。
在此,提出设计一种安全的数据散布方案:首先,借助GPU的高并发性,显著提升Legendre序列的生成速度,用其实现对数据的加密,保证数据的安全性;其次,结合拉丁方自合痕的密钥共享策略,设计了一种无需密钥管理的安全的数据散布方案;最后,利用纠删码技术,保证该方案具有一定的容错能力。
1. 信息散布策略介绍
近年来,分布式存储系统如雨后春笋般兴起,一个很重要的原因是“单点故障”给很多企业带来很大损失,其中包括亚马逊S3,Google Docs等;而信息散布是解决单点故障的一种有效策略。当前在学术界,比较流行的几种散布策略有:1979年的Shamir门限方案;1985年的RSSS;1989年Rabin提出的IDA(Information Dispersal Algorithm的简称);1994的SMSS;2011年的AONT-RS等。它们大多以Shamir秘密共享方案和纠删码为基础,从不同的角度解决当时存在的学术难题。
1.1 Shamir秘密共享
最早出现的密钥共享方案是Shamir门限方案,它是基于多项式的Lagrange插值公式的,它将秘密 s 分割成
(1)由 k 个或者多余
(2)少于
这即是大家所熟知的秘密分割门限方案,其中的
我们可以在有限域 GF(q) 上构造一个 (n,k) 的Shamir方案,其中 q 是大素数且
s=(−1)k−1∑kj=1f(xj)∏kl=1,l≠j(x−xl)(xj−xl)mod(q)
如果有 k−1 参与者想获得秘密 s ,他们可以构造出有
对于一个秘密共享方案,当任何一份子密钥都不泄露关于秘密的任何信息(或者子密钥具有随机性),
1.2 纠删码(以Reed-Solomon为例)
纠删码(erasure coding,EC)是一种数据保护方法,它将数据分割成片段,把冗余数据块扩展、编码,并将其存储在不同的位置,比如磁盘、存储节点或者其它地理位置。
当数据通过纠删码进行编码后,分散存储在不同位置,能够保证在某些存储介质出现故障时,依然能够将原始信息恢复;这样,我们可以认为经过编码后的数据具有容错能力。Reed-Solomon(简称RS)是一种比较常见的纠删码,由于编码后的结果码字中包含有原始码字的信息,我们称这种编码是系统码;反之,当结果码字中不包含原始码字的信息的编码方案,我们称为非系统编码(信息理论知识)。
RS算法是以范德蒙德(Vandermonde)矩阵为基础的,计算编码块;以高斯消元法,恢复损坏的数据块。为了方便计算机处理,运算在伽罗华域(Galios Field) GF(2w) 的基础上进行。设数据块数为 m ,系统的容错能力为