背景:
本文发表在2016年6月的ACM MobSys会议上,主要针对第三方软件所造成的隐私泄露问题开发了一款类沙箱的工具。
出处:
MobiSys’16, June 25-30, 2016, Singapore, Singapore
作者:
Raul Herbster, Scott DellaTorre, Peter Druschel and Bobby Bhattacharjee
概述:
本文针对第三方app导致的隐私泄露问题,设计privacy capsule以防止私人信息流向不可信第三方。Privacy Capsule对app设置两种状态sealed和unsealed来对app的行为进行限制。
主要成果:
设计出privacy capsule对应用数据,通信进行保护。将privacy capsule进行开源,并封装成API。
主要框架:
如上图所示,privacy capsule由两种模式组成(unsealed state & sealed state)
在unsealed 状态下,app不能访问敏感输入但可以访问不可信的第三方源。在stealed状态下,不可信app可以访问敏感输入但不能与第三方源进行通信。默认的两种状态下的PC策略如下:
app执行的初始状态是在unsealed状态下,此时可以访问公开的输入及不可信源。当状态切换到sealed时,只能访问私有输入和可信源,且不能在不可信通道中进行写操作。一旦进入sealed状态,不能变回unsealed,只能终止进程并重新启动。
在模型中所有的传感器信息,地理位置,GUI输入,电话状态,数据库都默认为私有。共有文件,网络连接,在unsealed状态下与不可信进程的跨进程通信(IPC)被认为是不可信信道。
PC中的主要组件
Key Manager:
对在sealed状态下数据存储和信道中数据加密的密钥的管理。
Sealed Repositories:
允许一个app进程与另一设备中的相同进程进行通信,通信过程中使用特殊加密,密钥由KM进行管理。
Selective declassification:
允许用户在sealed模式下暴露一些特殊信息。当app请求SD时,privacy capsule向用户提供该信息的源及状态,获得用户认证。
总结
本文用很大篇幅对privacy capsule从功能、适用性、应用角度进行介绍,把PC封装成API并介绍基于PC的应用程序开发。本文主要针对产品进行介绍,对其中功能的具体实现叙述不多。