信息安全与开源软件
在这个科技飞速发展的时代,我们的生活已经和数字世界密不可分。无论是社交、购物、工作,还是学习,都离不开互联网。然而,伴随着便利而来的,是信息泄露、网络攻击和隐私侵害的潜在风险。
每个人的个人信息在当今蕴藏着极为巨大的商业价值,并由此诞生了一大批的数据挖掘和用户追踪技术。不知道大家有没有想过,为什么购物软件总是那么懂你想要什么?因为你使用的软件虽然来自不同的公司,但是他们之间会互相共享你的信息,来对你进行数据挖掘,而这一切都是在你毫不知情的情况下发生的。
比如,大家可以打开微信:我>设置>个人信息手机清单/第三方信息共享清单。看一看你在使用微信的过程中,有哪些个人信息已经悄无声息地共享给了其他组织和个人。这些信息共享只是写在明面上的,由于微信是闭源软件,你不可能知道腾讯是否会在软件中收集你的其它信息——作为一个用户,这一切你都无权过问。
再举个例子:早年使用拨号上网时,还没有 https ,当时大家都在用 http 协议来浏览网页。而http是明文传输的,所以网络运营商可以轻易在用户的上网页面中插入广告。既然可以插入广告,那么篡改你的页面,盗取你在网页上留下的身份信息也是轻而易举的。
有人可能会问,这些大公司或网络运营商真的会有这么罪恶吗?我可以很明确的说,不仅是他们,一直被认为是最公平公正的国家政府也一直致力于监听公民在互联网上的一举一动。例如臭名昭著的棱镜计划(PRISM)。
棱镜计划——监听全世界
棱镜计划是一项由美国国家安全局(NSA)自2007年开始实施的绝密级网络监控监听计划。该计划的正式名称为“US-984XN”。
根据报导,泄露的文件中描述PRISM计划能够对即时通讯和既存资料进行深度的监听。许可的监听对象包括任何在美国以外地区使用参与计划公司服务的客户,或是任何与国外人士通信的美国公民。国家安全局在PRISM计划中可以获得电子邮件、视讯和语音交谈、影片、照片、VoIP交谈内容、档案传输、登入通知的数据,以及社群网路细节,并透过各种联网装置,如智慧型手机、电子式手表等各式联网装置对特定目标进行攻击。综合情报文件《总统每日简报》中在2012年中的1,477个计划里使用了来自棱镜计划的资料。
关于PRISM的报道,是在美国政府持续秘密要求威讯向国家安全局提供所有客户每日电话记录的消息曝光后不久出现的。泄露这些绝密文件的是国家安全局合约外包商员工爱德华·斯诺登,于2013年6月6日在英国《卫报》和美国《华盛顿邮报》公开。 ——来自维基百科“棱镜计划”页面
视频供参考:
电子监听、全国断网,棱镜门背后,中国如何从末路狂奔到世界之巅
作为一个普通人,我们该如何抵抗这种监听?
开源软件与信息加密
开放源代码(Open Source)
如果要讲开源,那么自由软件运动是个绕不开的话题。
什么是自由软件?
自由软件意味着使用者有运行、复制、发布、研究、修改和改进该软件的自由。
更精确地说,自由软件赋予软件使用者四项基本自由:
- 不论目的为何,有运行该软件的自由(自由之零)。
- 有研究该软件如何工作以及按需改写该软件的自由(自由之一)。取得该软件源代码为达成此目的之前提。
- 有重新发布拷贝的自由,这样你可以借此来敦亲睦邻(自由之二)。
- 有向公众发布改进版软件的自由(自由之三),这样整个社群都可因此受惠。取得该软件源码为达成此目的之前提。 ——来自GNU计划官网
自由软件距离共产主义只差了政治运动。 ——来自bilibili用户“阳和平说事儿”
为什么有自由软件运动,而没有自由食物运动?自由住宅运动? 因为软件本身具有以下特点:
- 复制成本极低——一旦被开发出来,几乎没有传播成本,每个人都可以制作软件的副本。
- 使用时没有排他性——“你用不影响我用”,用的人越多,bug和改进建议就越多,软件就会越好用。
- 无处不在——使用范围广泛,相应地,一旦出现漏洞影响范围也十分广泛。
- 软件开发者之于用户的优势地位——软件发布后,用户无法通过二进制文件得知软件的实际功能,这使得恶意代码,不受限制的个人信息挖掘和监听成为可能。
只有使软件成为自由的,才能充分发挥软件对全人类的作用。只有开放软件的源代码,才能保证用户对软件功能的知情权,监督软件开发者。
开源与商业的相爱相杀,与开发者利益的冲突。
开源软件对当今世界的巨大影响
Matrix——下一代即时通信协议
微信作为一个现代通讯工具有以下几点问题:
- 信息传输过程没有使用端到端加密,腾讯公司能够看到每一个人在微信上的聊天内容。
- 客户端臃肿,捆绑了太多与聊天无关的内容。
- 在使用过程中大量收集用户个人信息,并共享给第三方进行用户画像和数据挖掘,以此牟利。
- 闭源软件,可能包含恶意代码(其实第3点中的内容就已经算是恶意代码了)。
- 不支持聊天记录多端同步,把同步工作交给用户自己手动进行。
- 聊天文件存储方式效率极其低下,使用过程中占用空间会迅速膨胀。
- 中心化的聊天服务,如果腾讯的服务器被黑客攻击,所有用户的聊天都会受到影响。
- 没有网页版(曾经有,但因为未知原因移除了,现在只保留了文件传输功能),在Linux上仅有几个国产发行版有原生支持。
- UI界面不能自定义。
这些问题在使用Matrix协议的聊天软件中都得到了解决,也就是说:
- 端到端加密,除了你和消息的接收方,没有第三者能知道你们的聊天内容。
- 客户端简约,体积小,功能全部服务于聊天。
- 无个人信息收集,一些软件可能会收集匿名化处理的使用信息用于改进软件功能。
- 开源软件(Matrix协议本身也是开源的),所有人均可审查源代码,保证没有恶意代码。
- 支持聊天记录多端同步,服务器上会保存加密的聊天记录,在本地保存好解密密钥即可在多个设备上查看全部聊天记录。
- 聊天文件存储方式先进,使用一段时间后占用空间不会有很明显的膨胀。
- 去中心化的聊天服务,支持自建聊天服务器。服务器可选择接入全球Matrix网络,这样即使两名用户不在同一个Matrix服务器中,也可以互相聊天。
- 有不止一个客户端提供网页版,以及多端支持,用户可以凭喜好挑选。
- 客户端开源,UI界面可以自定义。
视频供参考:谁能取代微信?下一代即时通信协议 [matrix] 介绍与注册演示
视频中讲解了去中心化在Matrix中意味着什么。视频中推荐了 Element 作为 Matrix 客户端,这里额外推荐 Cinny 。
如何在不安全的信道上通信?端到端加密
通信:信息的交换。
信道:信息交换的媒介。
计算机网络的生命力何在?去中心化
jitsi——安全,免费的会议
我们也列出腾讯会议的几大问题:
- 免费条件下会议一旦超过2人参加,会议就会有1h的限时。
- 闭源软件,可能包含恶意代码。
- 无网页版。
- 必须登录账号后才能参加会议。
- 没有端到端加密,腾讯公司可以查看会议内容。
- 中心化会议服务器,如果腾讯的服务器被黑客攻击,所有会议都会受到影响。
那么对应的,jitsi中:
- 无会议限时。
- 开源软件,用户均可审查源代码。
- 有网页版。
- 没有账号也可参加会议(举办会议需要注册账号),只需提供一个昵称即可。
- 有端到端加密(尚在实验状态)。
- 去中心化会议服务器,支持自建会议服务器。
GPG & OpenPGP——文件加密传输
捍卫隐私的真正方法:Firejail,全盘加密,GPG和ufw(更推荐观看,但需要有一定GNU/Linux基础)
PGP软件应用及邮件加密解密、数字签名——信息安全技术及工具应用
更多的开源软件集合
开源的操作系统:GNU/Linux
GNU/Linux值得用一整个讲座来讲解,故这里不再展开。
标题中的超链接指向了GNU官网中有关GNU/Linux信息的页面,但该页面的内容已经严重过时了,请不要参考那个页面中的信息来选择GNU/Linux发行版。
如果你希望获得GNU/Linux发行版选择上的建议,建议参考本Memo post
开源的,自部署的微博:Mastodon
开源,可加密的邮箱客户端:Thunderbird
支持用户自行配置OpenPGP密钥进行加密。同时也可以作为Matrix客户端使用。
下一步...
本次讲座中涉及许多技术的原理无法展开讲解,推荐大家观看讲义中链接的视频,文档。
也可灵活使用上次讲座中关于搜索引擎的相关技巧,自行搜索感兴趣的方面深入了解。
我们也搭建了自己的Matrix服务器(目前暂未接入全球Matrix网络)!有意向使用的可以在 homeserver 地址栏输入:talk.oneleaf.me
加入后在公共频道中向大家问好吧!也欢迎在Matrix中继续交流本次讲座中你遇到的困惑。
Written with StackEdit.