全密文计算时代即将到来
作者:刘哲理
来源:《中国信息化周报》2020年第29期
        在未来很长一段时间或者很多特殊应用场景里,仍然需要以明文方式使用和共享数据。
        隐私保护的数据发布就是针对此的一类解决方法。像医院、大型互联网企业、电信企业这样的数据发布者,都有海量的用户信息和各种维度的数据,但他们是不敢轻易地把数据发布给外部单位的,因为在发布的过程中会泄露用户敏感的隐私。一种直观的做法是删掉敏感信息再发布。
        这种做法一般来说是没有问题的,但是对于专业的信息安全攻防人员而言,这就是大问题,为什么?举例来说,如果某大学医院的这种数据泄露了,而攻击者可以通过一些渠道购买或者通过黑客手段拿到某大学的数据库,得到该大学的具体老师名单。仅仅把名字等敏感信息去掉是不够的,因为通过准标识符,仍然是可以确定用户身份的。
        为了抵御类似的攻击,进一步的匿名方法提出来,比如泛化—将所有属性变成上一级的、
更广泛的属性。例如, 把计算机学院泛化成工学院,40—45岁的统一变成45岁。一个准标识符泛化后可能关联K条数据,就叫做K匿名。通过这样的方法,做数据分析的时候,虽然不那么精确,但一定程度上还能满足需求。但是这仍然存在问题。如果相同泛化的结果(即K个准标识符)只能对应一种疾病,那么攻击者也能猜出你得的是什么病。这种情况下,就需要L样化。L样化是指相同泛化后的准标识符拥有L种疾病。此时,攻击者只能知道你有L种疾病可能,很难精确推测你的疾病了。K匿名和L样化是不是就安全了呢?也不一定,因为还可能存在表关联攻击等。
        差分隐私 保护隐私和产生价值的重要手段
sql包含哪几个部分        抵御差分攻击的方法就是差分隐私。差分隐私是通过增加特定分布的噪音保护个体的差异,使得整体数据特征不变的一种技术,在现阶段非常有用。它可以用在面向终端用户的数据采集,比如输入法里,通过增加噪音后无法让服务器知道特定用户的隐私信息,但可以利用带噪音的数据去推测,类似用户输入了“LZL”就会选择“刘哲理”这一种词语的行为习惯。
        因为,一旦“刘哲理”成为了网红,一些用户可能会大量的搜索,这个时候可以利用采集的部分用户数据产生的价值,服务于其它第一次输入“LZL”的用户。
        再看一个典型的例子,在线广告。互联网巨头企业的一个主要营收渠道就是广告,它们在广告领域存在竞争,需要开放一个统计查询的业务。广告主可以把想投放广告的条件提供给广告平台,广告平台将满足要求的用户数量反馈给广告主。这其实就是一个统计查询,统计查询返回的是数字,但是有一种攻击有可能会把整个平台所有的数据偷走。如何做到?方法是差分攻击。因为广告主可以构造特定的输入,使得两次输入拥有个体的差异,返回的结构可以返回个体“是与不是”或者“在与不在”的答复,差分攻击是能做到这种事情的。那么通过“是与不是”这样一个接口,就可以构造更多的查询、更多的条件,甚至完成对整个数据库脱库的工作。差分攻击非常致命,SQL盲注可以看做一个特殊的例子,于是差分隐私的概念就提出来了。
        差分隐私就是在查询结果上加噪音,让构造的相似的数据集的返回结果变得不确定,让差分攻击失去了本质依赖条件,即对于个体“是与不是”或者“在与不在”的回答不确定了,所以无法奏效。然而,差分隐私并非是万能药,因为加的噪音都是围绕真值的特定分布的数据,如果能多次查询,取平均值就能得到真正结果,这种重复攻击就又奏效了。因此,现在基于差分隐私的攻击和满足特定业务需求的构造方法,是当前的研究热点。
        信息孤岛数据价值挖掘与数据安全
        数据是机器学习的基础 。而在大多数行业中,由于行业竞争、隐私安全、行政手续复杂等问题,数据常常是以孤岛的形式存在的。一个企业,它有上海分中心、天津分中心、北京分中心,内部都有大量数据,明文存储的数据并不一定能够很轻易地共享出去。不同的企业,例如腾讯、京东、阿里等,他们既存在竞争关系,又存在合作关系,他们都有大量的数据库,在很多时候需要使数据联合起来产生价值。这种情况就要求明文存储、密文使用。
        一个典型案例就是精准广告推荐。现在,广告主投放广告的要求越来越高,并不只是要求覆盖一个用户范围就行了,而是要求精准覆盖。以游戏设备厂商为例,腾讯有用户玩游戏的记录,而京东有用户买游戏设备的记录,游戏设备商就希望把广告投放给既玩某一款游戲、又买某一款设备的用户,这样广告的转化率才更高,广告主才愿意花更多的钱。那么对两个数据孤岛,怎样去求交集,怎样把共性的元素提炼出来,这些问题都是安全业务的扩展带来的新问题。数据安全是企业拓展业务需要解决的首要问题。刚才所说的问题怎么来解决呢?用安全多方计算去解决。我们不去共享数据,但是我们通过密文上的数据计算的方式,来把任务完成。刚才说的两方精准推送广告,其实就是密文集合求交,是安全多方计算的典型例子。
        另一种情况是,需要利用分布在不同地点的相同维度的数据,例如上海、北京、天津分中心的大量数据,去共同训练一个模型。把数据集中在一起再去训练机器学习模型,对数据存储带来很高要求,而且训练效率可能也不够高。而且考虑到安全性,有些数据根本就不允许分享出去。在这种情况下,使用不同孤岛里存储的相同维度数据共同训练一个任务模型,就是横向联邦机器学习,这个过程是基于密文参数交换共享、特定服务器安全聚合的方式来完成的。安全聚合的联邦机器学习已经成为信息孤岛数据价值挖掘、保护用户隐私的重要数据安全手段。
        全密文计算是未来的趋势
        从明文存储、明文使用到明文存储、密文使用,最终我们希望存的就是密文,用的时候也是密文,这将是一个理想状态。现在在一些机密的环境里已经开始使用了,例如密态数据库。大量的信息泄露的根本原因,就是数据库里面存的是明文,但如果要把数据加了密存入数据库,那数据可能就没法用了,增、删、改、查可能都没有办法执行了。
        密文查询和密文计算有助于解决这个问题,包括可搜索加密、保留顺序加密和同态加密等。可搜索加密解决的其实是关键词检索的问题。在数据库里输入一个订单号查一条记录,
或者输入一本书名查类似书籍信息的多条记录,都是关键词检索的问题。在Windows系统打开“我的电脑”,去一个文件存在哪儿,这也是关键词检索的问题。打开邮箱,输入一个关键词,搜索过去的某一封邮件,同样是一个关键词检索的问题。这些信息存在文件或者数据库里,如果加了密,那么可搜索加密就可以替你完成这些事情,即检索密文里是否包含一个加密的关键词,这种手段是用密码技术来解决用户隐私保护的问题。数据库里经常要做范围查询,大于或小于多少、在哪个区间的范围查询。范围查询就需要在密文上保留顺序,这就是保留顺序加密能做到的事情。同态加密可以用于统计分析、求和与平均等常见数据库统计任务。上述的这些密码机制,在NoSQL数据库、分布式文件存储系统、云存储里都是可以工作的。
        纯密文的状态是未来的必然趋势,现在核心关键的地方也应该率先采用这样的技术。密码应用现在面临很多挑战,比如可搜索加密面临注入攻击,同态加密面临密文扩充、复杂计算效率太低等问题;再比如,现在国产数据库还不是全部基于密码、还做不到全密态,它们很多都是用加密卡来做的,只是在硬盘存储的时候加密。要完全解决这些问题,还需要走很长的路。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。