同态加密技术及其应用

时间:2022-09-07 04:20:59

同态加密技术及其应用

摘 要:同态化(Homomorphic)是指从一种形态转变到另一种形态,同时在第二种形态中保留与第一种形态相关联的元素。同态加密技术比较公认的是可以在云计算环境下,为了保护用户隐私及数据安全,需要先对数据加密,再把加密后的数据放在云服务端。使用全同态加密,可以在不暴露明文数据的情况下,由数据使用者对密文数据进行计算,而数据拥有者可以解密得到明文结果,该结果同样是对明此运算而得到的结果。

关键词:同态加密技术 应用 数据

中图分类号:TP311 文献标识码:A 文章编号:1003-9082(2013)12-0002-01

同态加密是一种加密形式,它允许人们对密文进行特定的代数运算得到仍然是加密的结果,与对明文进行同样的运算,再将结果加密一样。通俗的讲,这项技术令人们可以在加密的数据中进行诸如检索、比较等操作,得出正确的结果,而在整个处理过程中无需对数据进行解密。

以往加密手段的弊端在于它通常是将数据保存在盒子内而不让外界使用或者分析数据,只有使用解密密钥将盒子打开,才能对数据进行分析和计算。在同态加密环境下,敏感数据一直处于加密状态,而应用系统无需解密可以用加密的数据按照正常的业务逻辑处理业务,这样公司将敏感的信息储存在远程服务器里,既避免从当地的主机端发生泄密,又保证了信息的使用和搜索,解决了云计算发展面临的客户对数据云端存储安全担忧的难题。

一、同态加密原理

同态加密技术,就是将数据加密成难以破译的数字字符串,能对这些加密后的字符串进行数学处理,然后解密结果。如果用数学方法表述,假设加密操作为 E,明文为 m,加密得 e,即 e = E(m),m = E'(e)。已知针对明文有操作 f,针对 E 可构造 F,使得 F(e) = E(f(m)),这样 E 就是一个针对 f 的同态加密算法。

我们举一个简单的例子,看看同态加密是如何处理2+3这样的问题:假设数据已经在本地被加密了,2加密后变为22,3加密后变为33。加密后的数据被发送到服务器,在进行相加运算。然后服务器将加密后的结果55发送回来。然后本地解密为5。

同态加密是基于数学难题的计算复杂性理论的密码学技术,被冠以“密码学的圣杯”称号,为找到同态加密算法的解决方案,密码专家苦苦探寻了30多年,一直无果而终。颇具戏剧性的是同态加密技术解决方案思路竟然是出自在纽约一家咖啡店的聊天中,2008年,IBM研究员Craig Gentry在与朋友一起喝咖啡交流时获得灵感,提出一种基于理想格(Ideal lattice)的全同态加密算法,成为同态加密领域的重大突破和创新。

Craig Gentry在他的同态加密经典论文《Computing Arbitrary Functions of Encrypted Data》中通过一个虚构场景诠释了同态加密技术,这个场景是一个叫丽丝的珠宝店主如何为自己的珠宝店防盗:

“Alice是一家珠宝店的店主,她打算让员工将一些贵重的珠宝组合成首饰,但是她由担心被小偷盯上。于是她造了一个手套箱存放制作好的首饰,而钥匙她随身保管。”

通过手套箱,员工可以将手伸入箱子来装配首饰,仅限于此。爱丽丝 则可以通过钥匙,向手套箱中添加原材料,并取出制作好的首饰。

下图是个大型的手套箱示例图

这个故事形象的体现了同态加密技术原理,其中:

店主爱丽丝>最终用户

首饰原材料>原始数据

钥匙>网络

锁住手套箱>加密

员工>数据计算过程

完整的首饰>数据计算结果

二、同态加密技术发展历程

同态加密的技术经过半同态加密到全同态加密算法理论发展经历了很长时间的发展。我们熟知的RSA公钥加密算法是1977年由Ron Rivest、AdiShamirh和LenAdleman在(美国麻省理工学院)开发的,是只具备乘法同态的算法。1999年Pascal Paillier在《Public-Key Cryptosystems Based on Composite Degree Residuosity Classes》论文中实现了加法同态。此后加密专家长期以来一直在寻找实现全同态加密技术,也就是数据加密成难以破译的数字字符串,能对这些加密后的字符串进行数学处理,然后解密结果。2009年IBM 研究员 Craig Gentry在论文《Fully homomorphic encryption using ideal lattices》给出一种全同态加密算法,即实现了乘法及加法的全同态加密算法。

不过目前的全同态加密方案在实用性上还存有问题,因为该方案耗费的计算时间太长,一般情况下,采用同态加密的应用处理时间是非机密的应用的处理要增加万倍的数量级甚至更高,密码专家们一直在坚持不懈的完善同态加密算法或寻找更好、更快的算法。

在2011年美国麻省理工(MIT)的一个研究小组的开源项目CryptDB首次解决了全同态加密技术的实用性问题,它将数据嵌套进多个加密层,每个都使用不同的密钥,允许对加密数据进行简单操作,使得此前全同态加密方案加密数据操作所增加的数以万亿倍计算时间,减少到只增加了15-26%左右。麻省理工计算机科学和人工智能实验室(CSAIL)的CryptDB研究项目的数据库软件允许用户查询加密的SQL数据库,而且能够在不解密储存信息的情况下返回结果,这一点对于云存储来说意义重大。

三、同态加密计算安全应用前景展望

同态加密技术的可对加密状态数据直接进行各种操作而不会影响其保密性的特性,使得它成为数据敏感性要求高的应用系统首选的安全保障技术,其在匿名投票、多方安全计算以及云计算领域有着广泛的应用

1.匿名投票系统

匿名投票又称电子投票,在2004美国大选首次采用电子投票方式,以防止2000 年美国总统大选出现的打孔卡计票争义。

在一个投票系统中,有投票方、计票方、宣布方三权分立。投票人保有个人投票秘密,其他各方都不能知道投票人投票的选择;计票方能够在数据加密的情况下,对数据汇总统计,得出候选人的得票率。

采用同态加密计算就可以实现投票系统的安全要求。其实现原理如下:

投票方采用公钥加密,只有宣布方拥有私钥,投票方将加密的票送到计票方,计票方利用同态特性进行操作,得到汇总的结果,宣布方拿到该结果后解密之,即得总票数。计票方解不出票面信息,于是可以防止计票方从中作弊,宣布方也不知道单独每张票的情况,从而实现了匿名。

2.多方安全计算

安全多方计算(Secure Multiparty Computation, SMC)是指一组互不信任的参与者,在不泄露各自私有信息的前提下进行的多方合作计算。自图灵奖得主A. C. Yao于上世纪80年代提出安全多方计算的概念以来,其在密码学上的地位也日渐重要,它是电子选举、电子拍卖等密码学协议的基础。

例如:Alice认为她的了某种遗传疾病,想验证自己的想法,正好她知道Bob有一个关于疾病的DNA模型的数据库,如果她把自己的DNA样品寄给Bob,那么Bob就可以给出她的DNA诊断结果,同时Bob也就知道了她的DNA及相关私人信息,可是Alice不想别人知道她的隐私,所以她这样请求Bob帮忙诊断自己DNA的方式是不可行的。

同态机密的技术就可以解决Alice的问题,她可以对自己的数据加密交给Bob,Bob通过同态加密计算,把得到加密状态的结果在交付Alice,然后Alice解密得到自己想要的结果。

3.云计算

近年来,“云计算”成为全球信息技术领域的最大热点,云计算的迅猛发展,安全问题已经成为了云计算应用的首要关注点。

由于云计算涉及个人和企业运算模式的改变,涉及个人和企业的敏感信息,因此云计算面临的第一个重要问题就是云计算的安全。虽然云中心平台的建设已充分考虑了各种安全因素,如身份认证、网络安全、防病毒、灾备等等,但数据存储安全一直没有得到很好的解决,如何保证云中用户程序的安全标准不被分析、数据不被复制盗窃、商业秘密不被侵害。

云的安全可信是云得到广泛应用的重要前提。人们对云计算的安全的关注程度,就像关注网上银行安全一样,正是这个原因,诸如银行、保险行业的企业一直不敢把业务应用放到云中心。同态加密算法的出现,给云数据存储及云计算应用带来的革命性的改变和提升,由于采用同态加密的技术,数据采用加密的方式存储,不会泄露真实的数据,云计算应用能够按照加密的数据,运算处出用户所需的正确的结果,这样用户可以在没有安全顾虑的情况下享受云计算带来的便利。

采用同态加密的云计算应用逻辑图如下:

同态加密技术为解决云计算网络安全和隐私保护提供了新的思路,利用同态加密技术可以解决云计算中海量数据信息的安全存储、高效检索以及智能处理,大大拓宽了云计算的业务模式,在云计算网络认证与访问控制、电子商务、多方保密计算 、匿名投票领域应用前景广阔,同态加密技术对云计算未来的发展普及意义重大。

我们相信,随着同态加密技术的不断完善,云数据机密存储会更加安全,面对国防、医疗保健以及金融行业的等需要敏感数据安全的应用,会越来越多的应用到云计算中。

作者简介:张兴华,男,现供职于陕西省信息中心。

上一篇:谈谈青少年中跨栏基础训练手段 下一篇:如何指导学生进行课外自主阅读