同态加密 ( homomorphic encryption, HE) 最初由 Rivest 等人[3] 于 1978 年提出, 是一种允许直接对密文进行操作的加密变换技术。 但是由于其对已知明文攻击是不安全的, 后来由Domingo唱Ferrer 等人[4] 作了进一步的改进。 HE 技术最早用于对统计数据进行加密,由算法的同态性保证了用户可以对敏感数据进行操作但又不泄露数据信息。
[3] RIVEST R L, ADLEMAN L, DETROUZOS M L. On data banks and privacy homomorphism[ C] //Proc of Foundations of Secure Computation. New York: Academic Press,1978:169-179
1978 年, 在 RSA[ 1] 密码体制刚刚提出 不久, Rivest 等人提出了全同态加密的概念( 又叫隐私同态, privacy homomor phisms) , 并认为全同态加密技术是可以实现的, 同时提出了几种候选的同态加密方案。他们希望在不对密文解密的条件下,对密文进行任何运算, 得到的结果解密后与对明文进行相应运算的结果相同。
第一个全同态加密( fully homomorphism encryption) 方案是IBM 研究员 Gentry[ 3] 在 2009 年利用理想格( ideal lattice) 构造的, 并在其博士论文[ 4] 中 对全同态加密方案进行了更加深入的论述。
[ 4] GENTR Y. Fully homomorphic encryption using ideal lattices[ C] / /Proc of the 41 st Annual ACM Symposium on Theory of Computing.New York: ACM Press,2009:169-178
分类挖掘算法是数据挖掘中常用的一类方法。 分类是这样一个过程, 它找出描述并区分数据类或概念的模型或函数,以便能够使用模型预测类标记未知的对象类。 导出模型时基于对训练数据集( 即其类标记已知的数据对象) 的分析。 分类的目标就是要构造一个分类模型, 从而预测未来的数据趋势。从目前来看, 分类采用的方法主要有决策树、神经网络、贝叶斯算法和 KNN 算法等。 而基于隐私保护的分类技术则是要在数据挖掘过程中建立一个没有隐私泄露的准确的分类模型。
a) 由于同态加密技术一般都基于公钥密码体制, 其算法复杂度通常要高于其他基于共享密钥的加密技术,也高于一般的扰乱技术。 因此, 如何有效地降低算法的复杂度和提高效率, 是今后研究的一个重要方向。
b) 目前常用的同态加密技术一般只能实现加法和乘法两种运算, 显然这两种运算对于更多的数据挖掘方法是不够的,如何进一步扩展同态技术的运算种类是值得研究的课题。
c) 现有的方法一般都只局限于某一种数据挖掘方法的隐私保护, 不具有通用性。 设计适用于多种数据挖掘方法的算法将是今后研究的热点。
安全多方计算 SMC( secure multi-party computation) 起源于姚期智的百万富翁比较问题, 主要研究无可信第三方情况下,如何无信息泄露地比较双方的数值。
KNN 算法是数据挖掘技术中比较常用的分类算法, 由于其实现的简单性, 在很多领域得到了广泛的应用。 KNN 分类算法的主要思想是:先计算待分类样本与已知类别的训练样本之间的距离或相似度, 找到距离或相似度与待分类样本数据最近的 K 个邻居;再根据这些邻居所属的类别来判断待分类样本数据的类别。 如果待分类样本数据的 K 个邻居都属于一个类别,那么待分类样本也属于这个类别;否则, 对每一个候选类
别进行评分, 按照某种规则来确定待分类样本数据的类别。
Kumar 等人[18] 提出了基于最近邻居查找的隐私保护方法,并利用同态加密技术在数据用户终端对私有数据进行加密。 尽管训练样本中的数据是加密后的数据, 根据同态加密的性质,这些数据仍然可以用于计算最近邻居。 在计算过程中,需要第三方参与, 该第三方被认为是一个准诚信方。
Zhu Jian-ming 在文献 [19] 中提出了基于同态加密和EIGamal 加密系统的隐私保护 KNN 分类挖掘方法, 在计算KNN 时利用同态加密技术以保证数据的隐私性, 该方法也是假定在准诚信的环境下。
[18] PFEIFFER S, FISCHER S, EFFELSBERG W. Automatic audio content analysis[ C ] //Proc of the 4th ACM International Conference on
Multimedia. New York: ACM Press, 1996.
[19] SOFIANOS S, ARIYAEEINIA A, POLFREMAN P. Towards effective singing voice extraction from stereophonic recordings [ C ] //Proc of IEEE International Conference on Acoustics Speech and Signal Processing.2010:233-236
安全多方计算技术:Secure Multi-Party Computation, SMC
<1>. 两或更多方参与基于他们各自私密输入的计算。
<2>. 而且他们都不想其他方知道自己的输入信息。
问题变成了在保护输入数据私密性的前提下如何实现这种计算? 我们称之为“安全多方计算(Secure Multi-party Computation)”问题。
公司想与其他公司合作分析数据,但是双方都不愿意泄漏自己的数据。该怎么解决?
1.运用全同态加密或者层次同态加密方法,外包给云去做。 2.对原数据加扰后再做交换分析
显然1方法安全性高但是开销大不易实施,2方法简单方便但是有数据隐私泄露危险且分析结果准确性不好控制。
CryptDB是麻省理工计算机科学和人工智能实验室(CSAIL)的一个研究项目,该数据库软件允许用户查询加密的SQL数据库,而且能在不解密储存信息的情况下返回结果。尤其是对于云存储来说,这点具有非常重要的意义。
Cryptdb 希望在数据库系统上实现加密运算, 达到的效果是: 存在数据库中的数据全部是加密的, 但数据库依然可以对加密的数据执行用户的SQL语句, 返回加密的数据给用户, 然后用户可以对返回的结果进行解密, 获得明文的数据. 其基于的思想是, 全同态加密难以实用, 但对于数据库来说, 只要求几种常见的运算, 不需要任意的运算. 举例来说, 对于普通的select 语句中的where条件, 需要比较相等的运算. 对于order by, 需要比较大小的运算, 对于一些函数如SUM, 需要加法运算.
上面的过程涉及一个问题, 就是GPA >(´∀`*) (^∀^), 如何能够保证返回GPA大于87的所有数据. 这就需要用到OPE(order preserving encryption). 这种算法本身能够保证, 加密前后, 数据的相对顺序保持一致.
Cryptdb是一种数据库加密代理, 其截获用户的SQL语句, 进行加密操作, 然后给数据库发送加密以后的SQL语句, 这样数据库服务器不能获得明文数据. 其通过特殊的加密算法, 使得数据库服务器能够对加密数据进行处理, 返回加密的结果.
数据发布中的隐私保护技术研究,先后出现了数据扰乱、数据加密、数据匿名等隐私保护技术。数据扰乱是一种数据失真的技术,其主要通过添加噪声的方式对原始数据进行随机扰动,使敏感数据失真,但扰动过程保持数据的统计不变形,以便可继续对其进行统计分析等操作。基于数据加密的技术通过隐藏敏感数据的方式保护隐私,虽然可以保证最终数据的准确性和安全性,但因计算开销太大而较小应用于数据发布中的隐私保护。以k-匿名模型为基础的数据匿名发布技术由于能保证所发布数据的真实性和安全性而得到学术界的关注和研究。
差分隐私模型通过对发布数据进行随机扰动,使得在统计意义上攻击者无论具有何种背景知识,都无法识别一条记录是否在原记录表中。该模型的优点在于不需要特殊的攻击假设、不关心攻击者所拥有的背景知识,同时给出了定量化分析来表示隐私泄漏风险。攻击者的计算能力以及所获得的辅助信息将不会影响隐私保护程度。