飞机飞行 发表于 2017-3-29 20:59

上网查询会暴露你的信息?研究人员提出隐藏查询方法

本帖最后由 飞机飞行 于 2017-3-29 21:24 编辑

在互联网迅猛发展、在线支付发达的国家,在线购物、美食搜索、各种地图定位以及股票相关网站存在的搜索页面,用户每时每刻都在进行数据库查询,数据库无时无刻不在记录着用户的搜索数据。因此,有价值的信息可能因此就泄露给了数据库。比如,您最近在某购物APP搜索了一个饼干,在推荐页面可能就会出现各式各样的饼干;比如您在浏览器搜索关于“搞笑”的新闻,或许第二天浏览器就会自动推送各类搞笑的新闻等等。虽然搜索这些仅仅是泄漏了个人的一些偏好。一旦所有的搜索信息被不法分子利用,其后果等同于大量的真实信息泄漏。
美国麻省理工学院科学与人工智能实验室的研究人员提供了一种方法,可以将查询隐藏,但会将查询细分并使用不同的(相同的)数据库处理每条查询。这个想法将在下周USENIX网络化系统设计和实现研讨会上发表。专注此研究的麻省理工大学的主要研究人员Frank Wang表示,借助正确的设计,只有一个数据提供商需要如实保护用户隐私。Frank Wang与其它研究人员发表研究论文“函数秘密共享(FSS)”。FSS是允许客户端将特定函数分解为隐藏参数的“分支”(除非所有供应商“串通一气”),而不会给系统的CPU施加太过沉重的负载。FSS的概念首次于2015年由以色列研究人员伊力特-博伊尔和莎菲-戈德瓦塞尔提出。这两人此次与Frank Wang共同发表这篇论文。研究人员里利用了实现AES-NI(先进加密标准)的现代多核处理器。这篇论文提出一个允许协议,允许Splinter支持捕获任何热门在线应用程序的SQL子集。在Splinter中,系统中的每个提供商托管同一数据库的副本。客户端将查询分解为提交到不同提供商的“分支”,将响应重组后提供答案。在学术语言中,FSS允许客户端将函数f分解为函数f1、f2…fk,因此,多方可以帮助评估f,而不需要了解某些参数。以COUNT查询为例,只有用户自己知道答案值为5,假设用户想将计算值保密(例如ELECT COUNT(*) FROM items WHERE ItemId = ?)。FSS解决了如何将不同查询发送给目标数据库的问题,因此,客户端可以从答案中算出ItemId=5并返回的答案。研究人员解释称,数据库查询被转换成一套互补数学函数,每个函数被发送到不同的数据库服务器。在每个服务器上,该函数必须应用到数据库的每条记录中,否则,间谍就可以确定用户感兴趣的数据。每次当该函数应用到每条新的记录时,函数会更新储存在内存中的值。当被应用到最后一条记录时,最后的值就会返回给用户。然而,在与另一台服务器报告的值相结合之前,这个值毫无意义。Frank Wang在这篇论文中描述了Splinter的应用。当人们搜索某类专利时,Splinter将泄露研究相关的专利。很多时候,当人们搜索股价报价时,Splinter会给出你将要购买的股票信息。再如地图,当用户搜索当前所在地理位置以及目标地时,Splinter同样会显示大量用户信息。
页: [1]
查看完整版本: 上网查询会暴露你的信息?研究人员提出隐藏查询方法