导语

在过去的几天中,你可能已经陆续收到了来自不少互联网公司的邮件或通知,称它们已经「为个人信息保护法做好准备」。毫无疑问,这指的就是在今天(2021 年 11 月 1 日)正式生效的《中华人民共和国个人信息保护法》

少数派长期关注信息安全和隐私保护,与我们的作者一起出品过形式丰富的相关内容。这些内容既包括对于专业人士之手,图文并茂的法规解读,也包括易学易用、全面详尽的隐私保护指南,还包括深入浅出、紧跟热点的相关技术解析。

值此新法施行之际,我们对这些内容进行整理汇编,再次展现给读者,以期为读者理解法规、充分保护和行使权利提供参照。相信在国家和社会的共同努力下,我们将看到一个信息权利愈发得到关注和尊重的网络空间。

本文是我们向大家推荐的第 2 篇文章。

德尔斐阿波罗神庙大门上的 箴言 历久弥新:

认识你自己。

如果说,曾经互联网让我们相互连接,时至二十一世纪,互联网已经掌握了太多连我们自己都不认识的自己。无论是使用浏览器上网,还是通过应用和软件,无论是在个人电脑,还是移动设备,你使用鼠标的每一次点击,或使用手指的每一次触碰屏幕,都可能在这个互联网世界中成为安全隐患。

欧洲已经推出了 GDPR,用来加强对个人隐私信息的保护。然而全球范围内的用户数据泄露和滥用时有发生,我们还是应该多做出些个人的努力,令自己尽可能保持安全状态。

本文将以互联网安全检查列表(Security Checklist)为基础,结合国内实际环境,以及我自己的一些见闻、思考和做法,来探讨如何在互联网时代实现自我保护。这个检查列表名为「Be safe on the internet。」,是一份仍在更新的 开源 列表。

数据安全(Security)

密码管理器

说到个人信息泄露,首当其冲的肯定是账户密码。我们可能听到过这样一些密码建议:

  • 不同的账户不能使用重复的密码
  • 密码要同时含有大写字母、小写字母、数字、符号
  • 长度必须大于10个字符
  • 设置动态安全码、短信验证码

然而,要记忆这样的密码何其不易。因此,一种密码管理方式应运而生,典型代表如 1Password。

密码管理器通常有以下一些功能:

  • 创建复杂密码
  • 为每个账户保存密码
  • 提供浏览器插件、手机客户端、桌面客户端

有的还可以:

  • 检查网站是否安全
  • 检查密码是否已经泄露
  • 支持双因子认证

这其实已经完美实现了前面那些密码建议。至于对密码管理器本身的安全性考虑,1Password 详细解释 了它的安全原理,页面底部还提供了 白皮书 供查阅。

简单来说,密码管理器通常是在本地计算机上进行非常复杂的加密,而这种加密只有你手上的那个「唯一的密码」才能解开,强行破解的概率几乎为零。多设备同步时,它只把加密后的数据上传,这样,即使别人从网络上劫持了你的数据,由于没有密码,也无从解密。

非常重要的是,1Password 支持几乎所有平台。电脑的浏览器中可以自动填充,而 iOS 12 和 Android O 开始也都提供了对应的密码填充接口,在应用和手机浏览器中可以一键登录,十分方便。

除了 1Password,也可以使用 Lastpass。它们都采用订阅制,每个月大约是 3 刀,也可以组建家庭组,人均可以降到每月 1 刀的样子,并不贵。

双因子认证

在密码管理器的介绍中提到了双因子认证。当一个软件或者网站要验证我们的身份时,一般会让我们输入用户名和对应的密码。但是近几年越来越频发的「拖库」事件也让人非常担忧,单单靠用户名和密码的组合已经无法对我们的信息安全提供足够的保护。

去年,12306 数据疑似泄露

所以我们需要在密码之上再加一层验证,来保证目前在操作的确实是你自己。这就是「双因子认证」。

双因子认证的设计通常划分成下面几种:

  • 你知道的信息:额外的个人认证码(PIN)、密保问题
  • 你拥有的物体:信用卡(购物)、手机号(短信)、密码器(银行)
  • 你个人的特征:人脸识别、声纹、指纹

较为普遍使用的双因子认证方式主要是「认证码应用」和「短信验证码」这两种。它们都属于第二类「你拥有的物体」。也就是说,借助你拥有的应用或手机号,你可以更好地证明你拥有访问账户的权限。

认证码应用

目前 1Password 同时提供了密码管理和双因子认证,而 Lastpass 则需要配合 单独的双因子认证应用 来管理。此外,也有一些独立的双因子应用,如 Authy、Google 身份验证器以及 Microsoft Authenticator。

这些应用提供的双因子认证是基于 TOTP(基于时间的一次性密码算法) 来实现的,已经成为 RFC6238 标准。它的运作过程可以分为「配置」和「使用」两部分来解释。

配置账户时:

  1. 服务器生成随机的密钥,如 4M7IFFT3Y45BLUXTY7WY7DJ3UA
  2. 通过彼此之间相对可信的通道进行第一次通信,现在一般用二维码,这个二维码能够传递服务名称、账户名称、随机密钥
  3. 客户端根据收到的信息,根据随机密钥和当前的时间,根据特定算法计算出一个 6 位的认证码
  4. 用户根据客户端上的显示,将 6 位认证码输入给服务器,服务器同时使用相同算法计算出认证码,核对是否一致

使用双因子认证时:

  1. 客户端根据之前记录的随机密钥和当前的时间,计算出 6 位认证码
  2. 服务器同时计算出认证码
  3. 用户根据客户端的显示,将认证码输入给服务器,服务器核对

Google 和 Microsoft 的认证码应用

由此可见,这种认证是基于:

  • 事先协商的密钥
  • 核验时的时间

因此,这种认证码是会随着时间变化的,并且对每个账户都是不同的。而计算认证码的算法包含了 哈希,因此从认证码逆推出原始密钥几乎是不可能的。

值得指出的是,1Password 同时兼顾了密码管理器和认证码应用,还可以收纳证件、会员信息、信用卡、服务器等内容,所以很容易造成 单点故障 的困局。

短信验证码

国内使用认证码应用的比较少,一方面因为需要手动配置,对用户有一定技术要求,另一方面普遍使用的手机短信验证码由于手机号码实名制,显得更加符合国情,也更加便于管理。

然而针对短信验证码的攻击非常频繁,去年八月甚至出现了使用黑科技 强行拦截短信验证码并盗取支付宝 的惊人案例,具体操作手法众说纷纭,但是短信作为一种保护信息安全的双因子认证显然显得不大可靠了。

诚如这份检查列表提供的 其中一个资源链接 中所说:

“SMS has turned that ‘something you have’ into ‘something they sent you,'” says Zdziarski。 “If that transaction is happening, it can be intercepted。 And that means you’re potentially at some level of risk。”

大概翻译过来是:短信已经从「你拥有的物体」转变成了「他们发送给你的东西」,这样就可能被窃听,也就有了潜在的危险。

由于 2G 的安全性远低于 4G 通信,因此也有窃听者强行令手机切换到 2G 通信,从而更加容易地窃取短信。此外,现在的技术除了轻而易举地给手机发送伪造的短信,也可以骗取短信发送方的信任,而让发送方把本应发给用户的短信发送到你这边来——窃听、拦截、篡改,一应俱全。

鉴于当前国内移动应用的素质良莠不齐,许多应用请求了短信权限,而后有意无意地把数据上传到服务器中。上传的过程如果不加密,那么很可能还会引入其他窃听者。

公开宣称需要短信权限甚至是经用户同意上传短信数据的应用有很多,比如 iOS 和几乎所有 Android 手机系统都会提供的云同步服务;也有很多应用声称只是为了「便于用户登录时自动输入验证码」而索取短信权限。是否要给予短信权限,在于每个人自己的权衡。

除了软件层面,由于把安全因子捆绑在手机这个每时每刻都在使用的设备上,要是手机被偷或不小心遗留在了公共场所,哪怕只是被人看了一眼屏幕,都可能导致验证码的泄露。所幸几乎所有手机系统都提供了「在锁屏界面不显示短信内容」的选项,我强烈建议把它打开,以免手机在没有解锁时泄露重要的短信信息。

iPhone、小米和一加:锁屏不显示短信内容

避免使用数字密码

iPhone 和 Android 登录的时候都可以选择使用复杂密码(字母、数字、符号的组合)或数字密码(通常是 4-6 位)。虽然 iPhone 和 Android 都提供了时间惩罚来对付强行破解数字密码的行为,但是数字密码依然是非常不安全的,因为很容易猜对。

国内绝大部分能够用于支付的服务都提供 6 位数字密码,像支付宝同时提供复杂密码的选项,但是微信和其他许多服务就只能使用 6 位数字密码了。这样虽然方便输入和记忆,但是安全性却极大依赖于支付服务后台的风险控制能力。况且现在许多时候可以指纹或者刷脸,对简单密码的需求也并不是那么强烈。

最后,建议在旅行中或者丢失手机风险较大的时候临时关闭指纹和刷脸。尤其是面对暴力犯罪和其他紧急情况时,更是要第一时间把生物解锁关闭。

开启 SIM 卡密码

手机的 SIM 卡可以设置 PIN,一般是 4 位数字。设置好之后,每次 SIM 卡重新在运营商网络中注册时(开机或插入其他手机),会要求输入 PIN 码,否则不能使用这个手机号码。

PIN 的重试次数不多,试完之后需要使用 SIM 卡的个人解锁密钥(PUK 码)进行解锁,如果 PUK 码输入错误,那么必须联系运营商重新换卡。

Apple 官方 提示说:

绝不要尝试猜测 SIM 卡 PIN 码或 PUK 码。猜测错误可能会导致 SIM 卡永久锁定,届时您将需要获取新的 SIM 卡。

这对于手机被盗后保护信息安全还是有一定帮助的。试想,如果手机被盗,但是对方又不能解锁你的手机,这时他可能取出 SIM 卡从而获取对你手机号码的控制权。要知道,仅凭验证码就可以登录不少网站和应用了,同样也可以修改你的账户密码甚至购买商品、删除信息,造成许多不可逆的后果和严重的损失。

此时,如果 SIM 卡已经设置了 PIN,那么除非去运营商营业厅,并提供足够可信的材料证明自己受机主委托,而令电信运营商换一张新卡,否则完全无法使用这张 SIM 卡。

加密设备数据

现在,你的手机应该已经有了一个足够复杂的密码,你的电脑也有了连你自己都记不住的登录密码,这样就可以防止其他人从你手机或电脑上窃取你的数据了吗?

显然是否定的。对于绝大部分电脑而言,攻击者如果能够接触到主机,那么他可以在开机时引导到事先准备好的 U 盘中,而这个 U 盘里往往包含一个小型操作系统,虽然没有太多复杂的功能,但是读取、复制你硬盘中的文件却绰绰有余。

Windows 10、macOS 和 iOS、Android 都自带了硬盘加密功能,能够保证只有在正常登录账户的情况下可以访问到硬盘数据。

许多 Android 操作系统现在都自带刷机锁,没有密码的情况下既不能进入现有系统,也无法刷入其他系统。iOS 自 11。4。1 之后也对锁屏状态的 USB 通信进行了限制。

隐私保护(Privacy)

修改 DNS

如果说网址是互联网的入口,那么 DNS 就是打开这个入口的钥匙。它将域名「翻译」成 IP 地址,从而令我们可以通过输入域名来访问到对应的服务器。

但是许多 DNS 商往往采集了大量用户数据进行分析,也有不良的 DNS 商会擅自「劫持」DNS 记录,让用户访问不到正确的网址,或者趁机插入广告。

目前推荐两家非商业组织提供的 DNS 服务:

  • 1。1。1。1
  • 9。9。9。9

运营商默认的 DNS 多多少少有些问题,建议手动指定 DNS。国内的 DNS 可靠的不多,隐私保护方面不如前面两个,但聊胜于无:

sDNS

  • 1。2。4。8
  • 210。2。4。8

阿里

  • 223。5。5。5
  • 223。6。6。6

腾讯

  • 19。29。29。29
  • 182。254。116。116

114

  • 114。114。114。114
  • 114。114。115。115

OneDNS

  • 117。50。10。10
  • 117。50。20。20

遮挡摄像头

对手机前置摄像头和笔记本电脑的摄像头,可以用一个镜头盖挡起来。这样可以防止一些应用 私自开启摄像头。

镜头盖

近来越来越多的「真全面屏」手机采用了伸缩式摄像头,虽然稍显不方便,但也从侧面保护了我们的隐私。

选择好的浏览器

我们日常大量的上网行为都是通过浏览器发生的,而许多网站为了精准地投递广告,会尝试根据浏览器上送的一些信息来 识别同一个人 的上网行为。

我就是我,独特的我

为了尽可能避免用户被跟踪或被广告骚扰,许多浏览器以此作为卖点。最值得推荐的是 Brave 浏览器,作者是 Brendan Eich,他同时也是 Mozilla 的联合创始人、JavaScript 的作者。

此外,Firefox 和 Vivaldi 也在隐私保护方面做得非常出色。如果使用苹果产品,那么 Safari 是最好的选择。

Firefox 中的隐私保护选项

至于 Google Chrome,众所周知,Google 本身是世界巨头级的广告商,它自然不会错过浏览器上的隐私信息。事实上,即使 Google Chrome 在你浏览网站的时候屏蔽了广告,还帮助你避免跟踪,但是你却无法阻止大量信息直接被 Chrome 浏览器收集并发送给 Google 服务器。

Electronic Frontier Foundation 的 分析 指出:

Google could then adjust its own tracking strategies to work within the rules Chrome would set。 The company has already done something similar in the ad space, configuring Chrome to block egregiously annoying ads (but leaving its own ads alone)。

广告屏蔽规则是 Google Chrome 定的,它完全可以屏蔽掉其他广告商的广告,而只留下自己的。——这相当于既做了运动员,还做了裁判。

根据 Google 公开的 隐私声明,可以看到,即使我们没有登录账户, Chrome 浏览器也会把信息发送给 Google 用于分析。选择几项摘录如下:

  • 当检测到可能有攻击时,会发送此连接的相关信息以帮助确定该攻击的严重程度及运作方式。

在移动设备上,会自动与您的默认搜索引擎共享您的位置信息。Chrome 向 Google 位置信息服务发送的信息可能包括:

  • 离您最近的 Wi-Fi 路由器
  • 离您最近的基站的基站 ID
  • Wi-Fi 或手机数据网络信号的强度
  • 当前分配给您设备的 IP 地址

定期向 Google 发送信息,以检查更新、获取连接状态、核对当前时间以及估算活跃用户的数量。

无法连接到要访问的网页时,将您尝试访问的网址发送给 Google,以向您推荐与该网页类似的其他网页。

使用自动填充功能和密码管理服务时,会发送与您遇到或提交的网络表单相关的经过匿名化处理的有限信息。

记录您最常访问的网站语言版本,并会将这些语言偏好信息发送至 Google。

诚然,Google Chrome 是一款非常优秀的浏览器,但是如果出于隐私保护的考虑,那么我们显然不应该选择一家广告公司的软件。

不过除了选择一个好的浏览器,我还可以补充三个非常粗暴的隐私保护方法:

  • 经常删除 Cookie 来清理网站在你浏览器中保存的识别数据,但是这也会导致网站登录状态失效

清理 Cookie

  • 尽可能少地登录网站账户,因为登录账户往往是网站来标识「你是你」的最佳方式,即使登录也要在关闭网页前退出账户
  • 虽然隐私模式很多时候是自欺欺人,但是依然推荐使用浏览器的隐私模式

选择好的搜索引擎

搜索引擎可能是最了解我们的网站了。目前互联网上绝大部分搜索引擎都会记录我们的搜索历史,然后借此给你推送广告。百度的广告位遍布整个中国互联网,所以常有人在百度搜索了一个手机,之后几天就一直在各种各样的网站中看到有关这个手机的促销信息,好像自己时刻被追踪着。Google 也是一样。

目前 DuckDuckGo 可能是唯一可靠的搜索引擎了。它在官网上说:

我们的隐私协议很简单:我们不收集、不传播你的任何个人信息。我们不记录你的搜索历史,自然也就没什么东西可以卖给想追踪你的广告商。

其他搜索引擎可能会打出「匿名」的旗子,从而给人一种「合理使用数据」的假象。但在隐私保护中,所有的匿名都是谎言。就像 DuckDuckGo 在其 隐私条款 中提到的:

With only the timestamp and computer information, your searches can often be traced directly to you。

只要凭借时间和电脑信息,根据你的搜索记录就可以轻松地追踪到你。

选择好的邮箱服务

我们往往非常信任那些提供邮箱的公司,比如腾讯 QQ 邮箱,比如 Gmail,比如网易 163 邮箱。

然而,去年华尔街日报的文章《你Gmail里的邮件,原来这么多人都能看到》曾经指出,许多第三方开发商在获取了 Gmail 邮箱权限之后,为打造新功能而人工读取了大量用户的电子邮件。不过文章也同时提到:

Alphabet 旗下谷歌一年前曾表示,将停止以提供个性化广告为目的让其电脑通过扫描 Gmail 用户的收件箱来获取信息,并表示,希望用户继续对谷歌的隐私和安全至上原则抱有信心。

因此 Google 邮箱本身对邮件的扫描可能会稍作收敛,但是我们在同意第三方应用获取邮箱数据时仍然要格外慎重。

国内有不少信用卡应用可以通过「读取邮箱」的方式来提取信用卡账单,看似方便,其实隐患很大,因为你并不知道它们是否真的只是分析了信用卡相关的邮件。如果真的要使用,为信用卡账单专门申请一个邮箱未尝不是一个更好的选择。

下面是一些值得推荐的邮箱服务。它们声称自己保护用户隐私,并且足够安全:

  • Fastmail
  • ProtonMail

后者 在其网站上介绍 说:

  • End-to-End Encryption(端对端加密)
  • Zero Access to User Data(不访问用户数据)
  • Open Source Cryptography(密码算法开源)
  • Swiss Based(位于瑞士)

当然,也 有人认为,面对 Google 扫描我们电子邮件的做法,大家的反应过于偏执了。文章指出,邮件在互联网上是 明文传输 的,因此邮件本来就不应该用于讨论机密的内容。

总之,我们在发送邮件的时候就要知道它的秘密程度较低,非常机密的内容还是应该当面或通过电话沟通,非发邮件不可时,可以采用对邮件加密的方式传送。这对于即时聊天工具(如微信)也是一样。

检查应用权限

在应用请求权限的时候,多加注意。每隔一段时间也应该去检查一下各个应用的下述权限:

  • 相册
  • 拍照
  • 位置
  • 录音
  • 通讯录

除了前面说过的短信验证码容易泄露之外,还应当注意保护通讯录,因为里面记录的不仅是你自己的信息,还有你所有亲友的关系链——为了充个话费就允许读取通讯录权限,这样的做法总有些不安。

无论如何,在 iPhone、Android、macOS 和 Windows 10 中都提供了比较清晰的权限管理设置,多检查一下总是好的。

移除照片文件中的附加信息

微信原图可以直接读取定位的问题引起过一场风波。当你通过「原图」向微信好友发送图片时,照片中的所有信息都会一起发出去,其中就包括了手机型号、拍摄时间、曝光参数,当然还有非常详细的位置信息。

微信原图中的位置信息

给好友分享旅途风景可能还不用考虑那么多,要是在家中拍摄照片发给商业客户,那么显然就会把自己的住所位置暴露无遗。

因此,对陌生人不要轻易发送原图,而经过微信压缩的图片是会自动移除这些信息的,所以不会泄露信息。

但要是必须发送原图,或者通过电子邮件、QQ 文件传送等方式发送文件,那么发之前最好使用手机应用或电脑软件做一些处理,移除位置和其他不必要的信息。在各大应用商店搜索「Exif」都可以找到相关应用。

如果觉得自己不需要这个功能,也可以一劳永逸地彻底关闭位置记录,具体操作方式因手机操作系统不同而异,但一般都会有这个开关。

检查社交服务的权限

现如今,我们越来越多地在网上发布我们自己的生活,通过一个人的微博、微信朋友圈、QQ 空间,可以很容易地了解到这个人的许多信息,包括兴趣爱好、跟谁认识、去过哪里、买过什么之类的。

时常有明星被扒出多年前在网上留下的踪迹。春节档热映的《流浪地球》小男主屈楚萧的豆瓣就被翻出加入了许多「三观不正」的小组。

明星如此,普通人同样需要注意。各个社交服务都有比较详细的配置,适当选择公开范围可以在「分享」和「隐私」之间找到平衡。微信朋友圈可以设置公开的时间范围,新浪微博也推出了「半年内可见」的功能。

豆瓣广播的隐私设置

当然,最重要的仍然是在发微博、刷知乎的时候谨慎发言,避免在公开场合留下跟个人生活过多关联的内容。

选择好的聊天工具

前面提到过电子邮件的不安全性,其实聊天工具也是一样。在网上聊天时,「端对端」加密显得尤为重要。端对端加密意味着,当你和朋友开始聊天时,除了你们两个人,谁都不可能知道你们聊了什么,无论是聊天工具的服务器,还是用于通信的电信运营商,或者是偷偷介入的窃听者。

当下最流行的安全聊天工具应该是 Telegram,它支持私聊界面手动进入端对端加密模式,但也 有报告指出 它的安全性存疑。其他支持端对端加密的聊天工具还有 Signal,以及苹果家的 iMessage 和被 Facebook 收购的 WhatsApp。

其他建议

写到这里,列表原文中还有两个条目,建议你去学习一些有关于钓鱼攻击的知识,以及时刻让自己的设备更新到最新的系统。

钓鱼攻击举例来说就是做一个跟银行网站几乎一样的网页,连网址都几乎一样,让你以为这个就是真正的银行网站,然后卡号密码一顿输。还有人做过一个 假的苹果网站,非常逼真。

这是一个假的苹果官网

更新设备有利于保持设备在最安全的状态,因为一旦系统出现安全问题,相关厂商都会第一时间修复并推送更新,如果是一些小问题,也可能会累积起来,隔一段时间进行统一更新。

其他方面,我还推荐你时刻注意浏览器的地址栏,尽量使用 https 去访问网站。与 http 不同的是,https 会将数据加密,从而防止中间的很多窃听,也防止了许多篡改网页的恶意行为发生。