前言
为什么要写这本书
几年前,我第一次接触隐私计算技术时,马上就被它所具有的神奇能力所吸引。隐私计算技术可以让数据“可用不可见”,这是多么神奇的事情,令人难以置信。因为数据几乎可以零成本地被复制,所以长期以来数据所有权一直难以得到有效保护,数据隐私问题也难以解决,进而导致数据拥有方缺乏提供数据的动力和意愿,造成了大量的数据孤岛。数据交易并没有形成规模,数据石油远远没有被充分开采。如果通过隐私计算技术实现数据“可用不可见”,进而实现数据所有权和数据使用权的分离,那么数据孤岛问题就很可能得到解决。我仿佛已经看到数据石油井喷的场景,着实兴奋。
然而随着研究的深入,我发现这件事情并没有一开始想的那么简单。单就隐私而言,“什么是隐私”“数据中是否包含隐私”这些问题其实并不容易说清楚、想明白。比如Netflix曾举办了一场根据公开数据推测用户电影评分的比赛(Netflix Prize),公开数据中抹去了可识别用户的信息,但一年后,来自得克萨斯大学奥斯汀分校的两名研究员将公开数据与IMDB(互联网电影数据库)网站的公开记录进行关联,通过差分攻击等手段识别出了部分匿名用户的身份。三年后,Netflix最终因隐私泄露宣布停止该比赛,并付出了百万美元的高额赔偿金。可见,判断数据是否包含隐私、是否可以安全公开并不简单。
经过多年的学习和思考,我认为解决数据隐私问题没有银弹,也不存在绝对的数据安全。数据要流通、要共享,就必然要透露给别人之前所不知的新信息。问题的关键在于,流通、共享过程中对透露的信息如何衡量和控制,而这正是隐私计算技术需要解决的问题。然而,目前隐私计算技术虽然种类不少,但总体上都谈不上十分成熟。公众对隐私计算技术也不够了解。市面上虽有学术论文著作,但鲜有技术入门类的书籍。鉴于此,我本着分享技术的初衷,将近年来所学的隐私计算技术整理成书,希望能帮到一部分读者,鼓励他们在应用研发方案设计过程中考虑使用这项技术。
读者对象
- 大数据专业、数据安全专业的学生。
- 对数据安全感兴趣的程序员。
- 对数据隐私保护有需求的开发人员、架构师。
本书特色
目前,市面上涉及隐私计算的书籍主要以联邦学习为主题,且应用场景主要是机器学习,鲜有介绍隐私计算中各项基础安全保护技术的。本书讲述了隐私计算中的各项基础安全保护技术及实现这些技术的开源应用开发框架,并选取应用案例进行实践,有利于初学者快速上手学习。
如何阅读本书
本书分4篇。
- 基础概念篇(第1、2章):讲述隐私计算的起源、发展、概念等基础知识,为后续深入讲解隐私计算原理和技术做铺垫。
- 安全保护技术篇(第3~8章):讲述隐私计算技术中的各项基础安全保护技术,包括混淆电路、秘密共享、同态加密、零知识证明、差分隐私、可信执行环境。
- 应用技术篇(第9、10章):通过两个综合案例介绍隐私计算中基础安全保护技术的应用。
- 展望篇(第11章):描述隐私计算技术标准化的相关进展,探讨隐私计算技术的困境和发展前景。
其中,第一篇以基础知识为主,如果你熟悉隐私安全的相关基础知识,可以直接跳过这部分内容。但是如果你是一名初学者,请一定从第一篇开始学习。第二篇的各章比较独立,你可根据自己的兴趣优先选择其中某些内容阅读。另外,本书涉及的编程语言较多,读者不必拘泥于编程语言细节,重点关注相关技术的原理和方法即可。
勘误和支持
登录https://github.com/li-weirong/ppct可下载书中全部源文件,登录https://hub.docker.com/u/liweirong可拉取Docker镜像文件。由于笔者能力有限,书中难免会存在一些错误或者不准确的地方,恳请读者批评指正。如果你有宝贵意见,请发送邮件到邮箱liweirong@outlook.com,期待得到你的真挚反馈。
致谢
首先要感谢前公司领导许慎,是他带我走进隐私计算这一前沿技术的世界,让我领略到了这一新技术的魅力。
其次要感谢机械工业出版社华章公司的编辑杨福川和陈洁,他们在我写作期间始终支持我,引导我顺利完成了全部书稿。
最后感谢我的家人,他们在我编写此书的过程中始终支持和鼓励我,让我安心思考和写作,从而最终完稿。
谨以此书献给我最亲爱的家人!