查看原文
其他

同态加密:加密状态也能运算

nana 数世咨询 2021-08-11
敏感数据的存储和计算可通过同态加密安全外包到云端,但在性能、防护和效用方面需有一定取舍。
同态加密的定义
当需要在大型数据集上执行计算,但又不能破坏数据机密性时,你该怎么办?换句话说,你想要收集关于用户数据的分析,但又不能向将要执行分析计算的计算引擎泄露任何内容。或者说,作为支持文档加密存储的云服务提供商,你想让用户可以无需解密,直接编辑加密文档。
这种时候,同态加密能拯救你于水火。通过将数据首先转换为加密形式,同态加密提供了将数据的存储和计算“外包”到云环境的能力。
需要强调的是,运用同态加密,你像对待未加密数据一样对加密数据执行相同的操作和计算,可以获得同样的结果(加密形式的结果)。
同态加密标准化(Homomorphic Encryption Standardization,HES)是维护同态加密领域“官方”标准、指南和开发信息的行业标准联盟。联盟表示:“同态加密区别于典型加密方法,无需密钥即可直接计算加密数据。计算结果保留加密形式,可由密钥持有者稍后解密。”这样一来就能应用同样的计算分析解决方案,而又任何阶段都无损数据机密性。
创建此类密码套件的想法最早在上世纪70年代末提出,很大程度上是实验性质。30年之后的2009年,第一个实用性概念由Craig Gentry设计提出。
同态加密有何不同
考虑HTTPS(因SSL/TLS而成为可能)、端到端聊天消息等行业标准加密时,一般假定所有密码都是安全的,且能保证机密性和完整性。这就是同态加密区别于经典密码体制的明显差异。
对同态加密而言,其密码套件具备延展性,也就是说无法保证数据的完整性。这并非缺陷,反而是有意为之的功能,能够使用户易于操作加密数据。
延展性是加密算法的属性之一,用户可利用延展性将密文转换为改变了原始文本含义的另一有效加密文本。而且,转换数据的用户甚至无需知晓或推测原始明文数据是什么。
简而言之,如果给CSO在线媒体的编辑发送加密邮件说“CSO真是太棒了”,能够盗取密文但不知道其中意思的中间人(MitM)攻击者就可能将之转换为另一串加密字符,在编辑解密邮件时呈现“我讨厌CSO!”字样。
当然,实际的电子邮件加密系统部署了多种对策来保护数据完整性,只要加密算法或实现中没有漏洞,此种场景几乎不可能发生。
例如,部分同态的RSA密码体制,就采用所谓“填充”(padding)功能来降低延展性的影响。此外,消息验证校验和(如MD5、SHA散列值)也有助于验证数据完整性。
延展性尚不是引起担忧的主因,因为数据机密性不会受到延展性的影响。只有算法缺陷导致操作加密数据的计算引擎在数据或加密结果中引入错误时,才会引发更深层次的担忧。同态加密的特性会掩盖这些错误,令其特别难以发现。 
同态加密的类型
所有数据都是数字(计算机以二进制运算)。作为数学的分支,密码学直接跟数字打交道。也就是说,加密和解密都不过是对数字的一系列复杂操作。
同态加密主要有三种类型:
1. 部分同态加密(PHE),仅支持给定数据集上有限次数的单一类型数学运算(如乘法)。
2. 特定同态加密(SHE),更加兼容但仍有限制的同态加密类型,允许对给定数据集执行有限次数的加法和乘法运算。
3. 全同态加密(FHE),兼包并蓄的同态加密类型,允许对数据执行无限次数的不同类型数学运算,但需付出较大性能代价。
上述同态加密类型在性能、效用和防护上各有偏向,其中FHE是运算密集型的,目前效率低下(因此现实中性能很差)。
同态加密开发当下就是在这三种类型间摇摆前行,试图达成最优解决方案。若能解锁FHE的巨大潜力,必将带来开创性的无穷可能,比如推动云运营商在加密数据上执行各种数学运算。
同态加密用例
重视隐私的监管行
对医疗保健、金融、法律和银行业等高度监管的行业而言,存储数据和个人可识别信息(PII)并不容易。加密存储是此类行业实施的安全措施之一,但必须先解密才能分析的特质又引入了进一步的挑战。
例如,使用机器学习从患者病历推导出预测性分析,可以帮助医生确定疾病疗法。若采用同态加密,就可以免除解密患者病历的需要了。可以定制针对加密患者数据的分析算法,并令其产生加密形式的结果。在需要的时候解密这一结果,所获分析判断与从解密患者病历获得的并无二致。
类似用例也适用于在线广告。欧盟《通用数据保护条例》(GDPR)等规定逐步收紧的限制下,提供针对性广告的同时保护用户隐私变得颇为困难。同态加密可以从加密状态的用户数据导出分析和判断,同时过程中无损用户信息的机密性。
外包云存储
外包数据存储是个省时省力省钱的策略,可以减少人力成本,免除与维护数据中心全面安全相关的麻烦。此外,有时候项目运营地区缺乏足够的司法保护,可能需将数据库跨境外包。现实世界中的例子可以参考维基解密(WikiLeaks),这个非营利性激进组织将大部分服务器托管在瑞典。
加密解决数据存储问题,但在加密形式下添加或修改加密数据才是同态加密要解决的问题。而且,同态加密可以防止前IT工程师滥用权限跟踪平台用户之类的安全事件。
采用同态加密,数据可安全存储在云端,且允许计算和检索加密信息。理想环境中,仅云端数据拥有者具备解密数据及同态加密结果的能力。
同态加密标准化联盟的网站上提供了多种开源同态加密实现,可供实验此类技术。微软SEAL也放出了支持直接计算加密数据的加密库,可以帮助开发人员构建端到端加密数据存储和计算服务。
同态加密标准化:(点击阅读原文直接打开
https://homomorphicencryption.org/introduction/
关键词:同态加密

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存