全密文计算时代即将到来

      全密文计算时代即将到来无评论
  • 现在的数据安全,已经从传统的容灾备份、数据恢复、去重存储、安全删除等传统问题,慢慢转向聚焦于怎么从数据中挖掘价值、在挖掘价值的同时怎么去保护用户的隐私。
  • 安全聚合的联邦机器学习已经成为信息孤岛数据价值挖掘、保护用户隐私的重要数据安全手段。
  • 从明文存储、明文使用到明文存储、密文使用,最终我们希望存的就是密文,用的时候也是密文,这将是一个理想状态。现在在一些机密的环境里已经开始使用了,例如密态数据库。

一、数据已成为核心资产

目前,隐私泄露的事件层出不穷,既有个人级的信息泄露,也有国家级的信息泄露。个人数据的泄露可能造成个人的财产损失乃至人身伤害(现在的电信诈骗多数是基于这种信息泄露实施的精准诈骗),而国家级的数据泄露更可能造成政治博弈和国与国之间的对抗。因此,习近平总书记很早就高瞻远瞩地提出了“没有网络安全,就没有国家安全”的国家战略。那么,网络攻防和网络安全的实质是什么呢?可以用一句话来概述:保护服务和保护数据。服务指的是网络设施能够在任何正常和异常的情况下,保证基本功能的运行;而数据则是其中的核心,是重中之重。从第一次世界大战到第二次世界大战,从英格玛密码产生到图灵和波兰三杰的破译,保护的核心数据都是情报数据。

随着信息科技的发展,数据变得越来越广泛,不只是战争时期的机密的关键信息,个人数据的保护也变得越来越重要。我们正处于一个智能时代,基于云计算、大数据等技术,从积累的海量数据里挖掘大量价值、改造和改善生活的时代。数据产生价值,海量的数据产生海量的价值。数据产生的价值的过程,其实是以用户信息的采集为前提的。如何保证公民的隐私数据不被泄露,又能满足日益增长的科技需求,这是一个大问题,是民生要事。因此,全世界都在出台法律法规,对网络安全和数据安全提出要求和约束。

《中华人民共和国网络安全法》于2017年的6月1日实施,要求关键业务系统保障安全服务、关键信息必须加密;欧盟的《通用数据保护条例》(GDPR)于2018年的5月开始执行,要求用户数据不能泄露、不达标的业务系统不予运营;去年年底,《中华人民共和国密码法》也对外公布,为商用密码科学发展提供了法律支撑;如今,《数据安全法》(草案)已经公布,处于征询意见状态。这些立法对数据安全和网络安全提出明确的要求和约束。现在的数据安全,已经从传统的容灾备份、数据恢复、去重存储、安全删除等传统问题,慢慢转向聚焦于怎么从数据中挖掘价值、在挖掘价值的同时怎么去保护用户的隐私等等,在这方面发现、形成、发展新的研究脉络。典型技术方法包括差分隐私、安全多方计算、同态加密、密文查询、密文机器学习等。

二、明文使用数据时的安全发布技术

在未来很长一段时间或者很多特殊应用场景里,仍然需要以明文方式使用和共享数据。如何让这些明文的数据能产生价值,同时避免泄露用户隐私?一个典型例子就是精准医疗,即利用海量医院病人的数据,提高医疗诊治的准确率。医院已经积累了海量的病人数据,但实际上,在医疗机构要用病人数据进行分析以提升诊断准确率时,医院不敢分享这些数据,因为在分享的过程中,一定会存在泄露病人隐私的风险。

隐私保护的数据发布就是针对此的一类解决方法。像医院、大型互联网企业、电信企业这样的数据发布者,都有海量的用户信息和各种维度的数据,但他们是不敢轻易地把数据发布给外部单位的,因为在发布的过程会泄露用户敏感的隐私。一种直观的做法是删掉敏感信息再发布,例如删掉病人信息中的名字、身份证号等,而保留统计分析可能需要的信息,例如地域、住址、年龄等信息。

这种做法一般来说是没有问题的,但是对于专业的信息安全攻防人员而言,这就是大问题,为什么?举例来说,如果某大学医院的这种数据泄露了,而攻击者可以通过一些渠道购买或者通过黑客手段拿到某大学的数据库,得到该大学的具体老师名单。仅仅把名字等敏感信息去掉是不够的,因为通过准标识符,仍然是可以确定用户身份的。

例如,一个计算机学院的、41岁的男老师得了某种病,而计算机学院也没几个41岁的老师,那么就可能很容易地圈定到具体人员。这种<单位,年龄>类似的信息就是准标识符。

为了抵御类似的攻击,进一步的匿名方法提出来,比如泛化—将所有属性变成上一级的、更广泛的属性。例如, 把计算机学院泛化成工学院,40~45岁的统一变成45岁。一个准标识符泛化后可能关联K条数据的话,就叫做K匿名。通过这样的方法,做数据分析的时候,虽然不那么精确,但一定程度上还能满足需求。但是这仍然存在问题。如果相同泛化的结果(即K个准标识符)只能对应一种疾病,那么攻击者也能猜出你得的是什么病。这种情况下,就需要L样化。L样化是指相同泛化后的准标识符拥有L种疾病。此时,攻击者只能知道你有L种疾病可能,很难精确推测你的疾病了。

K匿名和L样化是不是就安全了呢?也不一定,因为还可能存在表关联攻击等。例如,一共有5个人,数据中有4个满足条件的,那么我就知道至少有80%概率生病。如果数据允许被查询的话,攻击者甚至可以用差分攻击的方法去差分 1个人在不在这4个里,由此就可以确定地得知某个人得没得病。这种差分攻击非常致命,SQL盲注实际利用的就是类似的方法,通过一个查询语句成功执行与否的判定,去猜测数据库的表名、字段甚至各类数据。

三、差分隐私:保护隐私和产生价值的重要手段

抵御差分攻击的方法就是差分隐私。差分隐私是通过增加特定分布的噪音保护个体的差异,使得整体数据特征不变的一种技术,在现阶段非常有用。它可以用在面向终端用户的数据采集,比如输入法里,通过增加噪音后无法让服务器知道特定用户的隐私信息,但可以利用带噪音的数据去推测,类似用户输入了“LZL”就会选择“刘哲理”这一种词语的行为习惯。因为,一旦“刘哲理”成为了网红,一些用户可能会大量的搜索,这个时候可以利用采集的部分用户数据产生的价值,服务于其它第一次输入“LZL”的用户。

差分隐私通过增加噪音保护特定用户隐私信息

再看一个典型的例子,在线广告。互联网巨头企业的一个主要营收渠道就是广告,它们在广告领域存在竞争,需要开放一个统计查询的业务。广告主可以把想投放广告的条件提供给广告平台,广告平台将满足要求的用户数量反馈给广告主。这其实就是一个统计查询,统计查询返回的是数字,但是有一种攻击有可能会把整个平台所有的数据偷走。如何做到?方法是差分攻击。因为广告主可以构造特定的输入,使得两次输入拥有个体的差异,返回的结构可以返回个体“是与不是”或者“在与不在”的答复,差分攻击是能做到这种事情的。那么通过“是与不是”这样一个接口,就可以构造更多的查询、更多的条件,甚至完成对整个数据库脱库的工作。差分攻击非常致命,SQL盲注可以看作一个特殊的例子,于是差分隐私的概念就提出来了。

差分隐私就是在查询结果上加噪音,让构造的相似的数据集的返回结果变的不确定,让差分攻击失去了本质依赖条件,即对于个体“是与不是”或者“在与不在”的回答不确定了,所以无法奏效。然而,差分隐私并非是万能药,因为加的噪音都是围绕真值的特定分布的数据,如果能多次查询,取平均值就能得到真正结果,这种重复攻击就又奏效了。因此,现在基于差分隐私的攻击和满足特定业务需求的构造方法,是当前的研究热点,麻省理工大学也将差分隐私列为今年新发布的十大未来科学技术之一。

四、信息孤岛数据价值挖掘与数据安全

数据是机器学习的基础 。而在大多数行业中,由于行业竞争、隐私安全、行政手续复杂等问题,数据常常是以孤岛的形式存在的。一个企业,它有上海分中心、天津分中心、北京分中心,内部都有大量数据,明文存储的数据并不一定能够很轻易地共享出去。不同的企业,例如腾讯、京东、阿里等,他们既存在竞争关系,又存在合作关系,他们都有大量的数据库,在很多时候需要使数据联合起来产生价值。这种情况就要求明文存储、密文使用。

一个典型案例就是精准广告推荐。现在,广告主投放广告的要求越来越高,并不只是要求覆盖一个用户范围就行了,而是要求精准覆盖。以游戏设备厂商为例,腾讯有用户玩游戏的记录,而京东有用户买游戏设备的记录,游戏设备商就希望把广告投放给既玩某一款游戏、又买某一款设备的用户,这样广告的转化率才更高,广告主才愿意花更多地钱。那么对两个数据孤岛,怎样去求交集,怎样把共性的元素提炼出来,这些问题都是安全业务的扩展带来的新问题。数据安全是企业拓展业务需要解决的首要问题。刚才所说的问题怎么来解决呢?用安全多方计算去解决。我们不去共享数据,但是我们通过密文上的数据计算的方式,来把任务完成。刚才说的两方精准推送广告,其实就是密文集合求交,是安全多方计算的典型例子。

我们再看第二类场景。银行有着大量的财务数据,他们也想利用这些数据来产生价值。一种做法是开放一个接口,如果有需要可以来联合做预测。例如超市有很多会员,它想增加营业额,充分利用会员机制,把一些大额的商品推送给会员。但如果会员平时就不怎么有钱,不怎么买东西,推送反而可能引起反感。所以超市就有动机宁可稍微花点钱,和银行做一次联合,以确定是否把大额商品推送给某会员。这种联合虽然要花小部分钱,但能提升超市的信誉,也能提升它的业绩。这是一种纵向联邦机器学习,也就是两方拥有不同维度的用户数据,超市有会员信息和购买意向,而银行有会员用户的财务情况。

另一种情况是,需要利用分布在不同地点的相同维度的数据,例如上海、北京、天津分中心的大量数据,去共同训练一个模型。可是把数据集中在一起再去训练机器学习模型,对数据存储带来很高要求,而且训练效率可能也不够高。而且考虑到安全性,有些数据根本就不允许分享出去。在这种情况下,使用不同孤岛里存储的相同维度数据共同训练一个任务模型,就是横向联邦机器学习,这个过程是基于密文参数交换共享、特定服务器安全聚合的方式来完成的。安全聚合的联邦机器学习已经成为信息孤岛数据价值挖掘、保护用户隐私的重要数据安全手段。

五、全密文计算是未来的趋势

从明文存储、明文使用到明文存储、密文使用,最终我们希望存的就是密文,用的时候也是密文,这将是一个理想状态。现在在一些机密的环境里已经开始使用了,例如密态数据库。大量的信息泄露的根本原因,就是数据库里面存的是明文,但如果要把数据加了密存入数据库,那数据可能就没法用了,增、删、改、查可能都没有办法执行了。  

密文计算有助于解决大量数据泄露问题

密文查询和密文计算有助于解决这个问题,包括可搜索加密、保留顺序加密和同态加密等。可搜索加密解决的其实是关键词检索的问题。在数据库里输入一个订单号查找一条记录,或者输入一本书名查找类似书籍信息的多条记录,都是关键词检索的问题。在Windows系统打开“我的电脑”,去找一个文件存在哪儿,这也是关键词检索的问题。打开邮箱,输入一个关键词,搜索过去的某一封邮件,同样是一个关键词检索的问题。这些信息存在文件或者数据库里,如果加了密,那么可搜索加密就可以替你完成这些事情,即检索密文里是否包含一个加密的关键词,这种手段是用密码技术来解决用户隐私保护的问题。数据库里经常要做范围查询,大于或小于多少、在哪个区间的范围查询。范围查询就需要在密文上保留顺序,这就是保留顺序加密能做到的事情。同态加密可以用于统计分析、求和与平均等常见数据库统计任务。上述的这些密码机制,在NoSQL数据库、分布式文件存储系统、云存储里都是可以工作的。

纯密文的状态是未来的必然趋势,现在核心关键的地方也应该率先采用这样的技术。随着《中华人民共和国密码法》的颁布,基于密码技术来实现数据价值的共享、用户隐私的保护,是一种必然趋势。然而,密码应用现在面临很多挑战,比如可搜索加密面临注入攻击,同态加密面临密文扩充、复杂计算效率太低等问题;再比如,现在国产数据库还不是全部基于密码、还做不到全密态,它们很多都是用加密卡来做的,只是在硬盘存储的时候加密。要完全解决这些问题,还需要很长的路。

六、总结和思考

本文通过一些常见场景和典型案例,简要介绍了数据安全的方法和这些方法存在的问题。现在,整个世界都在出台相关法律法规,来规范数据的使用。如何保护数据安全、保护用户隐私,又能满足业务增长的需求,这就对数据安全科技带来的一系列的要求和挑战。可以说,数据安全的春天已经到来了,但未来的路任重道远。

作者:刘哲理

转载自:虎符智库

发表评论