加密你的数字生活_互动科普

使用社交账号登录

购买价格:
付款方式:

互动科普

主页 > 科普纵览 > 信息 • 能源

加密你的数字生活

admin  发表于 2017年11月30日

加密你的数字生活

撰文  安娜·雷相斯卡亚(Anna Lysyanskaya)

翻译  邹维 陈昱

 

扎克(Zack)决定尝试一下Chix-n-Studz.com网站提供的在线约会服务。他在网站上注册了一个账号,填写了一份表格,详细描述了个人情况,以及理想中的伴侣是什么样子。刚提交表格,网站就为他提供了一组候选伴侣,其中就包括魅力四射的温蒂(Wendy)。扎克把自己的邮箱地址发送给温蒂,开始期待这位漂亮女士的回信。温蒂很快回复了扎克,一段网上罗曼史就此开始。

让扎克始料未及的是,与幸福相伴而来的,还有一大堆麻烦事。成为Chix-n-Studz.com网站会员不久,他就接到了无数推销电话和骚扰电话,打电话的人似乎都对扎克有一定了解,而且他的健康保险公司也开始审查,他的度假是否具有安全隐患。也许大家已经猜到这是怎么回事——Chix-n-Studz公司没有遵守行业道德,向某些公司出售了客户信息。扎克的同事、喜欢恶作剧的伊万(Ivan)也开始捣乱。扎克曾让他看过温蒂的一封电子邮件,伊万最近冒充温蒂给扎克发了几封邮件,扎克却全然不知。

与此形成鲜明对比的是,爱丽丝(Alice)和她的新男朋友鲍勃(Bob)完全沉浸在幸福中,没有受到任何打扰。把他们联系在一起的是SophistiCats.com网站,该网站的技术人员使用了最新加密工具。爱丽丝一登录网站,匿名授权(anonymous authorization)系统就会保护爱丽丝的个人信息,防止他人获知爱丽丝的身份及访问时间。SophistiCats采用具有“安全函数评估”(secure function evaluation,SFE)功能的软件,匹配爱丽丝与鲍勃的个人信息和择伴标准,这样,网站工作人员就无法获知他们的个人信息,甚至不知道他们是否配对成功。请想象一下,网站工作人员为客户提供了高效的相亲服务,却对客户信息全然不知!

爱丽丝通过匿名通道(anonymous channel)与鲍勃联系,鲍勃也能以同样方式回复。即使是她的ISP(Internet service provider,互联网服务提供商),也无法知道鲍勃是否与她联系过,以及他们的通信内容是什么。鲍勃的ISP对爱丽丝同样一无所知。然而,爱丽丝的室友伊芙(Eve)却知道他们之间的来往,因为爱丽丝在谈话时,经常提及鲍勃,有时还把含有邮件内容的打印纸贴在电脑上方。伊芙可能给爱丽丝带来麻烦,因为她非常喜欢恶作剧,并有机会窃取和窜改进出爱丽丝电脑的数据(伊芙控制着将两人电脑连接到互联网的网络)。不过别担心,有了加密技术,除非爱丽丝自己透露,伊芙从她的电脑里得不到任何信息。通过对来往邮件进行“数字签名”(digital signature),爱丽丝和鲍勃很容易就发现并忽略伊芙伪造的邮件。

 

加密你的数字生活 (1).png


一切皆应加密

与爱丽丝和扎克一样,绝大多数的个人、商业甚至政府的日常业务都实现了电子化。与朋友联系、商业谈判、买卖商品……几乎所有事情,我们都能在线完成,因此只要记录某人的网络活动,就能对他有全面的认识。出于多种原因,ISP已经在记录我们的网络行为(比如我们在什么时候访问了什么网站)。更让全球近10亿网民担心的是,除了ISP,很多机构也在监视我们的一举一动:网上商店、报社、约会网站等。如果你看重自己的隐私,就得面临一个巨大的挑战:在享受网络服务的同时,如何保护隐私。

凭借现代密码技术,我们可以秘密完成任何涉及电子通信的工作,这是该技术令人惊叹的一项应用。或许,包括词典编辑在内的大多数人可能都会认为,密码技术(cryptography)与加密(encryption)研究是一回事。实际上,这一看法是错误的,因为现代密码技术的内涵更广一些——它提供了一系列数学方法,用以保护通信和计算数据免受所有恶意行为的侵犯。

来看一个例子。假设一个小组的成员通过因特网联系,他们希望以所有成员提供的数据为基础,计算出某个结果,但每个成员又不想其他人知道自己提供了什么数据。这些数据可以是某次选举中的投票结果,成员们希望在保密各自投票结果的前提下,知道最终选举结果。一种名为多方计算(multiparty computation,即安全函数评估)的方法,可以实现他们的要求:每个投票人都能了解最终选举结果,但无法知道其他人的投票内容,即使有些成员勾结起来,想要截取网络上的信息,并用精心伪造的数据进行替换,也无法得逞。SFE 协议可以像在前面提到的SophistiCats网站那样,秘密为每个客户提供信息输出。

SFE的基本思想是,系统把每个成员提供的数据分成若干片段,分配给小组其他成员;得到系统分配的数据后,成员们开始独立运算,完成后再把结果发送出去;系统把每个成员的计算结果收集起来,输出最终计算结果。在此过程中,每个成员都无法得到他人的完整数据,也没有足够的数据片段来重构他人的数据。

统计投票结果似乎挺简单,但请回想一下SophistiCats为爱丽丝提供的服务:在几千名客户中为她寻找配对者,有限提供一些配对者的个人信息,而且除了爱丽丝之外,任何人都不能看到她和其他客户的个人信息。此时,即便有人监控网络数据,或直接到SophistiCats网站的服务器搜查,结果依然是一无所获。

SophistiCats虽然是我们虚构的一个网站,但研究密码技术的科学家已能将它变成现实。2007年1月,丹麦政府利用SFE解决了一个现实问题:根据1,200多名农场主输入的价格(他们的每次出价都是保密的),确定糖用甜菜的最终交易价格。从这里可以看出,SFE至少可以带来两个好处:享受网络便利的同时,不必担心个人隐私泄露。

虽然SFE协议能满足广泛需求,但要让它的功能和通用性得到充分发挥,我们必须得有不少的付出:SFE要占用巨大的计算和通信资源。对于选举等任务,SFE的效率虽然很高,但每次执行该协议时,我们都得点击一个链接,进入安全页面,这显得非常麻烦。因此,计算机科学家又开发了一些新的协议,执行普通任务时比SFE更高效。这些协议包括:

(1)加密:当爱丽丝给鲍勃发送消息时,爱丽丝和伊芙的ISP都无法获取消息内容。爱丽丝的电脑与SophistiCats之间的信息传输同样安全。

(2)认证:爱丽丝能确认收到的消息发自鲍勃,而非伊芙。

(3)匿名通道:爱丽丝的ISP无法辨别她在给谁发信,也无法知道她是否访问过SophistiCats网站。

(4)零知识证明:爱丽丝不须提供任何信息,也可证明某件事是真实的。

(5)匿名授权:当爱丽丝访问Sophisti-Cats网站时,网站知道她是一个会员,但无法知道她到底是谁。这个协议是零知识证明的一个特例。

 

加密你的数字生活 (2).png


为信息加密

在密码学中,加密是最古老、最基本的问题——如何通过一个不安全通道(他人能够窃取信息)进行安全通信。伊芙通过公寓网络,控制着爱丽丝使用的部分通道,但当爱丽丝想给鲍勃发条消息,又不希望伊芙看到这条消息时,该怎么办?

首先,鲍勃必须知道一些伊芙不知道的信息,否则鲍勃能做的,伊芙同样能做到——鲍勃独有的信息叫做密钥(secret key,SK);其次,爱丽丝必须知道鲍勃密钥信息,从而生成只有鲍勃才能识别的密文(即经过加密的消息)。如果爱丽丝知道密钥信息,则这种协议就叫做密钥加密——一种人们已掌握并使用了一个多世纪的加密方法。

1976年,美国斯坦福大学的惠特菲尔德·迪菲(Whitfield Diffie) 和马丁·E·海尔曼(Martin E. Hellman)提出了一种新的想法——公钥加密(public-key encryption)。运用这种加密方法,爱丽丝和鲍勃通信时就无须知道他的密钥,只须知道与密钥相关的一个公开值(即公钥,public key,PK)。爱丽丝用公钥加密消息,而鲍勃只有利用自己的密钥,才能解密消息。当然,伊芙也知道鲍勃的公钥,但没关系,因为公钥不能用来破解密文。迪菲和海尔曼提出了公钥思想,却不知道如何实现。一年后,美国麻省理工学院的罗纳尔德·L·利维斯特(Ronald L. Rivest)、阿迪·沙米尔(Adi Shamir)和莱纳德·M·阿德尔曼(Leonard M. Adleman)提出了实现公钥加密的首个方法——RSA算法(以三位科学家的姓氏首字母命名)。

这种算法能实现公钥加密的原因是,它包含陷门函数(trapdoor function,利用这种函数,很容易计算出函数值,但要进行逆向计算是不可行的,除非知道某种附加信息)。利用这种函数生成密文很容易,但用它破解密文却非常困难,除非信息接受者使用一个特殊的“陷门”(相当于一个密钥)。RSA算法是首个具有陷门特性的函数,由于这项研究,利维斯特、沙米尔和阿德尔曼获得了2002年的图灵奖——计算机科学领域的最高荣誉。

RSA的发现被誉为密码学领域的一个根本性突破,在此后数年内,它极大地推动了加密技术和密码学领域的研究。不过,研究加密技术的科学家仍有很多难题需要解决:寻找新的陷门函数;提出数学假设,以支撑一个特别函数的安全性;弄清楚一个安全的加密系统应满足哪些条件。

如果使用公钥加密技术,我们在网上购物时,就不需要公开发送诸如信用卡号码等敏感信息。此时,顾客的网页浏览器和(购物)网站扮演的角色相当于爱丽丝和鲍勃。另外,网页浏览器普遍支持的HTTPS协议都采用了公钥加密技术,让我们可以利用加密通道浏览网页——你可以看到,网址中都含有“https://”,而且在浏览器状态栏里,会有一个闭合的挂锁之类的图标。

很多人也将公钥加密用于保护电子邮件的安全。科学家已开发了不少相关软件,其中大部分都是免费的。10年前,美国免费软件基金会(Free Software Foundation)就发布了GNU隐私卫士软件包(可从www.gnupg.org下载)。如果你不给电子邮件加密,在网上传输时,邮件内容很容易被其他人看到,还会在不少电脑的硬盘上存留一段时间。

 

加密你的数字生活 (3).png


数字签名

和加密密切相关的问题是验证。假如爱丽丝收到这样的信息:“爱丽丝,请给伊芙汇款100美元。爱你的鲍勃”,那么她怎么才能知道,这封邮件确实是鲍勃发出的,而不是伊芙捏造的?

正如前面所写的,鲍勃必须知道伊芙不知道的某件事,才能发出一条让爱丽丝相信的信息。因此鲍勃需要一个密钥,而爱丽丝得对这个密钥有所了解,才能验证这条信息的确是鲍勃发出的。为了让爱丽丝完成验证,我们需要两种协议:密钥验证和公钥验证,前者通常称作信息验证码(message authentication code),后者常叫做数字签名方案(digital-signature scheme)。在提出公钥加密时,迪菲和海尔曼率先想到了数字签名方案,并利用RSA算法构建了首套方案。

该方案的主要思想是:鲍勃利用密钥计算出一个 “数字签名”,附在邮件内容里;然后,爱丽丝用鲍勃的公钥对签名和邮件内容进行验证,看它们是否匹配(见左边框)。于是,爱丽丝就知道邮件是否由鲍勃发出,因为其他人没有可以产生有效签名的密钥。

目前,发出虚假邮件诱骗客户其实并不难。伪造的电子邮件可以是虚假的新闻报道或不真实的股票报价,如果不仔细分辨,任何人都可能上当。但是,如果所有邮件都经过验证,就不可能发生邮件欺骗事件:当你发出电子邮件时,客户端将在所有邮件上进行数字签名;同样,客户端也会验证所有来信的数字签名。验证技术还可用于打击垃圾邮件——让服务器拒收所有未被发送者验证的电子邮件。但由于在20世纪70年代电子邮件诞生时,验证协议还未出现,那个时代的许多协议至今还在流行。

不过,任何人都可以下载免费软件,在电子邮件上完成数字签名,以及验证邮件签名,前面提到的GNU隐私卫士软件包中就有这样的软件。

 

加密你的数字生活 (4).png


迷惑监视者

对邮件加密后,ISP和其他不轨分子虽然无法偷看你接收和发出的信息,但他们可以查出你在和谁联系。如果爱丽丝浏览了一个酗酒者匿名网站,ISP可能不知道她做了什么,却清楚她访问过这个网站。设想一下,假如ISP把爱丽丝的网站访问记录出售给汽车保险公司,将会有怎样的后果?因此,人们一般不喜欢在线求助,因为他们会担心这样做将增加他们的保险费用。

这个问题可以用SFE来解决:在保密的前提下,爱丽丝输入的是她要访问的URL,输出的则是她希望看到的网页内容。然而,SFE效率极低。1981年,当时在美国加利福尼亚大学伯克利分校执教的戴维·肖姆(David Chaum)提出了一个很简捷的解决方案——匿名通道(anonymous channels),现在又称作“洋葱路由”(onion routing)。

顾名思义,爱丽丝给她的信息裹上几层“外套”(就像一个洋葱),每层“外套”(包括其中的信息)用不同人的公钥加密,然后把这个人的地址附在相应外套的外面。爱丽丝发给鲍勃的邮件可能会经过这样的传递路线:爱丽丝把“洋葱”传递给马克;马克用他的密钥破解收到的“洋葱”,剥掉最外层后,发现里面有一个“小洋葱”和丽莎的邮件地址,于是他把“小洋葱”转发给丽莎;丽莎再用她的密钥破解收到的“小洋葱”……重复以上步骤,鲍勃最终收到“核心洋葱”,解密后就能看到爱丽丝发来的信息。

实际上,洋葱路由的中间节点是计算机网络的一部分,它们会自动解密和转发信息。理想情况下,每个中间节点会持续收到很多“洋葱”,然后随机转发。如果网络上有数不清的“洋葱”在流通,即使ISP随时监视所有中间节点,也无法知道爱丽丝会把邮件发给谁,鲍勃又收到了谁的邮件。

就连鲍勃本人也不知道收到了谁的邮件,除非爱丽丝在邮件中自己暴露身份。不过,即使爱丽丝发送的是匿名信息,只要信息包含“回复洋葱”(其中含有多个中间节点的地址以及“剥洋葱”的公钥),鲍勃就可以发送一个匿名回复。

就算某些中间节点泄露一些信息,爱丽丝和鲍勃之间的信息来往还是难以追踪。随着更多的人使用该系统,自愿让他们的计算机充当中间节点,ISP就更难判断出谁正与谁交流。

如果想对电子邮件加密,并进行数字签名,任何人都可以安装免费软件,通过匿名通道进行通讯,或者成为一个中间节点。在www.torproject.org上就有“洋葱路由器”(Tor)计划。

 

加密你的数字生活 (5).png


匿名登录

假定爱丽丝订阅了在线杂志SophistiCat American,她通过匿名通道进入杂志网站,用自己的用户名和口令登录,并且确保所有信息都加了密。这样就没人知道她的在线行为了吗?当然不是,杂志网站就知道她在做什么。

爱丽丝可以利用假名订阅来隐藏行踪,不过阅读习惯可能很快就会暴露她的真实身份。查看天气预报,会暴露住址的邮政编码;查询星座属相时,必定要输入出生日期;阅读乳腺癌相关文章,就可能泄露了她的性别——利用以上三种信息(邮政编码、出生日期和性别),足以精确锁定87%的美国人口(参见本期第64页《全世界数据库,联合起来》)。

密码学里的匿名授权(anonymous authorization)可以解决爱丽丝的问题。爱丽丝每次访问SophistiCat American杂志的网站时,都能向杂志社证明她是位有效订户,但不会暴露她是哪位订户,网站甚至不清楚她就是几小时前访问过网站的那位订户。匿名授权协议是更为通用的零知识证明(zero-knowledge proof)协议的一个特例。

借助零知识证明,爱丽丝不用给出证据,甚至无须透露额外信息,就能让鲍勃相信他收到的信息来自爱丽丝。为了验证“我是SophistiCat American的授权用户”这条信息,杂志网站或第三方服务提供商将会在爱丽丝订阅杂志时,给她颁发一个独一无二的证书——类似于密钥。此后,每当杂志网站询问她是否是订户时,爱丽丝只须证明她有有效证书,而不必透露证书内容。利用不同认证机构发布的证书,爱丽丝就能对更复杂的陈述(比如“我是个授权用户且年满18岁”)提供零知识证明。

对页框图描述的是零知识证明的基本原理。在该场景中,爱丽丝在向鲍勃证明,她以一种特殊方式为一张图着色(学术上叫做三着色图,three-colored a graph),但不向他展示是如何着色的。三着色图是个NP完全问题(参见《环球科学》2008年第4期《量子计算机的极限》一文)。就当前的讨论而言,NP完全问题的重要性在于,可以为一个简短证据挑选一个陈述,然后构建一个类似“爱丽丝-鲍勃通信游戏”,从而为陈述给出一个零知识证明。

虽说三可着色性(three-colorability)协议说明了零知识证明可行,但在实践中效率不高,这与安全函数评估有些类似。幸运的是,密码学科学家已经为特定类型的证书开发了类似协议,可提供高效的匿名验证。

 

密码的局限

怎样的安全才算安全?当爱丽丝把一条加密消息发送给鲍勃时,伊芙想要破解该消息,难度有多大?如果伊芙得到某些隐秘消息,或有机会博弈加密系统,情况又会变得怎样?她可能已经掌握加密消息的部分内容——比如一家咖啡馆的名字,爱丽丝和鲍勃将在此首次约会。又比如说,假设“鲍勃”是一台安全的网站服务器,伊芙会向它发送一段精心设计的“乱码”,用来冒充密文,然后从得到的反馈信息中获取密钥的一些线索。不过,科学家广泛认可的公钥加密安全性的定义,涵盖了所有安全要素和协议,并要求恶意者无法获得任何有用信息。GNU隐私卫士软件包是通过相关测试的软件之一。

一个加密系统的安全分析是一门高度成熟的科学。人们通常认为,如果一个系统无人知道如何破解(并不是不能破解),就可以推断它就是安全的。实际上,真正的密码学建立在众多数学难题之上,密码学家可能不敢保证一个密码系统绝对牢不可破,但至少可以证明,能破解密码系统的数学算法已解决了一个长期困扰数学家和计算机科学家的大难题。

一些协议只依赖于一种特定数学函数的存在。例如,密码学家可以利用任意陷门函数构建公钥密码系统,如果有人破解了RSA算法使用的函数,就可以用其他有效函数来替换。

如果某个密码系统仅建立在单个特定机制上,很少有人会认为它是安全的。不过,全球范围内的数百名顶级科学家花费数年时间,研究了特定算法后,才开发出了这类密码系统。截至目前,密码学界仅能运行建立在极少数学函数基础上的密码系统,如果这些系统的安全性通过验证,科学家才会朝更高的目标前进。

加密协议能为个人隐私提供不可思议的保护方案(如匿名验证)。但是,我们面临的很多隐私问题似乎并不是加密就能解决的。如果在现实世界中,爱丽丝一直处在被监视状态,那么安全的网络行为对她来说可能只是个小小的安慰。在英国伦敦,摄像头顶着执法的名义,监视着每块公共区域。或许,为了保护隐私,大厦所有人应该把监控录像当作一种财产进行严格管理,并利用SFE,仅监视犯罪嫌疑人的行为,而不存储正常人的活动。更简单地说,当个人隐私遭到公共监视系统的威胁时,我们应该问自己:这样的系统要解决什么问题?我们能否用密码技术来保护自己的隐私?


全部评论

你的评论