在本书开始介绍隐私计算的理论基础和技术细节之前,让我们先从一个问题的讨论开始这次隐私计算的探索之旅。这个问题就是:什么是隐私计算?这可能是大多数第一次接触到隐私计算这个概念的人会产生的疑问。从这个问题的探讨中,我们还能够进一步阐释隐私计算在做什么、为什么隐私计算是近两年的讨论热点等问题。需要说明的是,本章的相关讨论并不是试图从学术角度给出一个科学严谨的定义,我们的目的是希望和读者一起,从最朴素的“找到问题、定义问题、解决问题”的思考历程出发,尽量通过简单平实的语言来讨论、梳理隐私计算的兴起缘由以及发展脉络,并借此给读者提供一个隐私计算在数字时代的概貌描述。在开始隐私计算相关技术和密码学理论的学习之前,希望这样的概貌描述能够有助于读者建立一个整体的认知框架,从而为其后续的深入学习打下一个良好的基础。
这就像一个没有见过飞机也不知道飞机有什么作用的人,直接接触艰深的流体力学、发动机制造等理论和技术,一定会有很多的认知挑战和困难,因为他对这些理论知识在具体实践中怎么运用、能有什么样的效果还没有直观的感受。而当他对飞机的样貌形态、飞行感受、用途和价值等方面有了一个整体认知之后,再开始飞机构造相关理论技术的学习,这时候其先前的整体认知和感受就会对自身的学习和知识理解带来帮助,知道这些理论知识、技术在飞机的整体制造和最后的应用中的哪个环节发挥作用。
所以,就让我们从这个问题开始本书的探索吧:什么是隐私计算?
与隐私计算相关的技术概念,最早可以追溯到1982年,图灵奖获得者姚期智院士在提出“百万富翁”问题并给出解答的过程中,创立的多方安全计算(Secure Multi-Party Computation,简写为MPC)。“百万富翁”问题指的是两位百万富翁想在不泄露自己资产的情况下,比较双方谁更富有。姚院士就该问题从安全理论层面进行了研究,并提出了基于混淆电路的解决方案,由此开启了安全计算领域的研究和探索工作。
从安全密码专业的角度来看,这个问题更为科学严谨的表述是,“一组互不信任的参与方在需要保护隐私信息以及没有可信第三方的前提下进行协同计算的问题”。当然,这样的定义对于初学者来说有些不易理解。在这里让我们试着用更为简单通俗的方式,解析一下“百万富翁”问题的含义,相关的理论细节将在后面的章节中进行详细介绍。
让我们拆解一下“百万富翁”问题的各个要素:富翁们要比较的对象是他们的资产,也就是两人各自的数据信息。比较谁更富有其实就是比较两人资产数额的大小,简单来说就是比较两个数字的大小,这个动作可以被理解为“对数据的一种计算”。当然,这种计算还可以是求和(加)、求差(减)乃至更复杂的运算。这个问题最有意思的地方大家可能也察觉到了:其实类似于比大小这种计算在日常语境下并不难理解,具有小学阶段的算术知识就可以解决此类问题。但是这里加上了一种特殊的限制,而一旦加上这种限制,即使是比大小这样简单的计算,在变得有趣的同时,也变得更加复杂。这个限制就是“不泄露自己的资产”,也就是富翁们不想泄露自己的数据隐私。
至此,我们对隐私计算有了一个初步的感受和认识,隐私计算想要解决的问题是类似于“百万富翁”这样的问题,就是如何在保护数据隐私的前提下,完成数据的某种计算。我们可以直观地感受到,相较于大家日常熟悉的计算,这种问题的定义和解决方式,显得并不自然且麻烦,但为什么这样的问题解决模式会成为近几年人们讨论和研究的热点呢?其核心就是数据。
隐私计算在近年来之所以受到越来越多的关注,究其根源,来自人们对于“数据”这个数字经济时代核心要素的重要性越来越深刻的认识。
从宏观层面看,对于支撑着社会运转的各类组织和机构,其信息化建设已经是持续了数十年的进程,并伴随着信息技术的迭代更新而不断发展。可以说维持当今社会运转的各类重要基础设施,都离不开信息化技术的应用和支持。这些与信息化密不可分的各类设施,在承担社会功能的同时,也会在其运转的过程中产生大量的信息数据。比如,在道路拥堵时大家查询的交通实时数据系统,在给大家带来道路信息的同时,也记录着城市道路通行的数据。再比如,承载通信功能的基站和通信网络,在给大家提供通话服务的同时,也会产生每个通话节点身处何处的信息。在新冠疫情期间,大家查询行程码的时候应该对此有着很深的感受。
从微观层面来说,使用智能手机的人,每天通过各类手机App给自己生活提供便利的同时,也在支付、出行、购物等方面产生并留下了相关的信息数据。即使对于并不使用智能手机或者计算机的人,只要他不可避免地参与到社会生活中,这个参与的动作就极有可能产生并留下了数据。比如,一位并不会使用智能手机或者计算机的老人,也许不存在因为使用移动支付、打车等功能而产生手机端数据的情况;但是,当这位老人去银行办理业务时,或者当老人家里安装的智能电表在运转时,又或者当老人通过电视机的机顶盒收看电视节目时,都会产生相应的数据:账户数据、用电情况、收视习惯等。
随着信息时代的发展,人们积累了种类丰富且海量的数据。在信息技术已经融入人们生活方方面面的今天,数据的产生和积累仍在不断地、随时随地发生着。这已经是当下人们普遍的认识。由此,人们对数据越来越重视,并且对数据的认知和态度也开始转变。这主要体现在两个方面:对数据价值的挖掘(数据的使用)和对数据信息的保护(数据的安全)。
在数据使用方面,伴随着人工智能、算力、网络等技术的发展,人们在工程实践上已经可以让计算机通过算法模型,在实际应用中从海量的数据中进行价值挖掘、规律发现、结果预测等种种工作。随着技术的持续发展和数据的不断丰富,可以预见,围绕数据开展的价值挖掘工作将会越来越深入,涉及的数据范围也会越来越广泛,数据所蕴含的价值必将不断地被发掘,这些数据也会被不断地使用。因此,人们越来越重视数据及其融合应用的重要价值。
数据到底有多重要呢?我们可以从近年来国家政策对数据的重视程度中得到一些启示。2020年3月,《中共中央 国务院关于构建更加完善的要素市场化配置体制机制的意见》将“数据”与土地、劳动力、资本、技术等传统要素并列为要素之一写入文件,并要求推进政府数据开放共享,提升社会数据资源价值,加强数据资源整合和安全保护。这从中央文件的层面对数据要素提出了相应的要求,说明了数据在数字经济社会中已经成为一项具有重要价值和意义的关键资源。由此,我们很自然地想到了一个重要的问题:数据的安全。
人们对数据价值越来越重视的时候,数据安全也就自然而然地成为与数据价值同等重要的关注点。从自然人的角度来看,对于数据这种资源,我们每个人都是它的使用者、生产者和贡献者,我们从中获益,同时它也从各种角度描绘着我们。数据不光有价值,这种价值本身还可能包含着每个人并不愿意公开的信息,也就是隐私数据。因此,国内外出台了各类与数据安全相关的法规、政策,比如国内的《中华人民共和国个人信息保护法》《中华人民共和国数据安全法》,以及欧盟的《通用数据保护条例》(General Data Protection Regulation,简写为GDPR)等。为什么大家会如此关注数据安全呢?我们可以从数据价值的重要性来说明,也可以列举各类数据泄露案例来论证,还可以讨论个人对自身隐私越来越重视的趋势。对于这样的讨论,大家通过各种渠道已经接触了很多,无论在广度方面还是在深度方面都有很多很好的论述。但作为普通人或者初学者,总感觉这些讨论都不够清晰明了。如果需要通过简单的一句话来说明数据安全为什么重要,我们认为可以这样描述:因为越有价值的事物,人们越会重视它的安全 。
既然数据在数字社会中是一项具有战略价值的资源,那么数据的安全就是极其重要的。讨论到这里就会带来一个问题:既然数据安全如此重要,那么我们应该如何保护数据的安全呢?
保护数据安全这个问题涵盖的内容很多,我们可以从数据生命周期的角度去分析数据安全涉及哪些环节,以及应该采取哪些相应的保护措施。从数据诞生开始,首先要解决数据的存储问题,然后在流通过程中会涉及数据传输,而要发挥数据的价值,就需要进行数据的计算和结果应用,直至最后的数据销毁。这里提到的数据存储、数据传输、数据计算和结果应用,就是涉及数据安全的关键环节。数据安全保护的主要目的是实现数据的保密性,这个数据的保密性指的是防止未经授权的数据访问,简单理解就是让未授权的人访问不到数据,或者即使能访问数据,也读不懂数据。数据存储和数据传输环节的相关技术,例如数据的加/解密算法、网络防护、授权控制、身份认证等,已经比较成熟,在这里我们可以将其简单地归类为经典的密码安全技术。
而从前面的讨论中我们可以知道,光是数据存储和数据传输并不能发挥出数据价值,数据计算和结果应用才是发挥数据价值最为直接和关键的环节。这个环节的数据安全保护同样也是指数据的保密性。但这里有一个重要的前提,就是在数据得以使用的同时,能够保证数据信息的保密性。至此,大家是不是会想起前面我们讨论的“百万富翁”问题?加上了数据保密性这个前提的数据计算和结果应用,变成了一个有趣但也更为复杂的问题,解决这个问题的技术与经典的密码安全技术有所不同。相信读者已经猜到了,没错,解决这个问题的技术就是隐私计算。
让我们再回顾一下本节的探索之路。
从经典的“百万富翁”问题开始,我们对隐私计算有了初步的认识,就是在保护数据隐私的前提下完成数据的某种计算。可是,为什么这种“不自然”的计算方式会成为当前研究和应用的热点呢?这是因为“数据”这个数字经济时代的核心要素变得越来越重要。在数字经济社会中,数据是一项具有重要价值和意义的关键资源。因此,如何保护数据安全成为人们关注的焦点。从数据的全生命周期去看数据安全保护技术,在数据的存储和传输环节,数据安全保护技术发展得较为成熟,我们称之为经典的密码安全技术。但是在数据计算和结果应用环节,因为加上了数据保密性这个前提,数据计算和结果应用就变成了一个全新的挑战和问题。
回到本节(1.1节)开始的那个问题:什么是隐私计算?
通过前面的探索,这里尝试给出一个便于人们感受和理解的定义:隐私计算是一种在发挥数据价值(数据计算和结果应用)的同时能够保护数据安全的技术。在数字时代,数据的重要性和安全性都得到了前所未有的重视,这种重视体现在与数据相关的政策、法规、个人隐私保护需求等方面。由于隐私计算的目的是在数据计算和结果应用环节实现数据的保密性,因此可以说,隐私计算是在当前各种条件下(政策、法规、个人隐私保护需求等)确保数据流通和价值发挥的技术最优解。这种能够在保护数据安全的前提下发挥数据价值的特点,也让隐私计算的研究和应用探索在数字经济时代得到了广泛的关注。特别是计算机算力的不断提高,移动互联网、云计算和大数据等技术的快速发展,给隐私计算的落地应用提供了强有力的支持,让人们看到了这项技术大规模应用的可能性。
现在我们对于什么是隐私计算有了一个初步的概念,知道这项技术是在保护数据安全的条件下进行数据计算和结果应用的。接下来需要讨论的,就是如何做到这些事情。再准确一点儿,就是如何通过计算机实现隐私计算这项技术。这涉及计算机科学和工程是如何有机结合从而解决问题的。由此可以扩展引申出一个话题:人类的科学家和工程师是如何解决问题,从而改变世界的。因此,让我们花一些时间和篇幅,了解一下这些科学家和工程师做出的卓越贡献和伟大成就,看看理论研究和工程实践有着什么样的特点,又是如何推进社会技术变革的。