在认知上来看,互联网十分嘈杂不堪。如同 Peter Steiner 在他著名的讽刺画中所设想的这样一种场面:我们无法知道与我们进行数据交换的是在一条狗还是一个宣称保护我们 money 的银行,数百万的同行都嘲笑这个设想。为了使人们意识到事实情况比这更糟,Edward Snowden(大黑客斯诺登)揭示了NSA(美国国家安全局)可能正在偷窥我们一部分甚至全部的隐私数据的行为,并想尽办法来缓解我们的愤怒,其他的国家和一帮流氓黑客可能十分乐意接受 NSA 的领导。
然而,我们一直不停的将我们大量的数据资料发送到路由器中,乐观的猜想这些数据将全部被处理掉。甚至,当这种乐观遭受打击时,麻烦也是很容易处理的。黑客们可能入侵联邦电脑,偷取我们税务数据的复件,直到他们也开始收取你的税前,这可能都不会有太大的影响。当某个人偷了我的信用卡在办公用品店买了一部 iPad,信用卡公司掩盖掉了这些损失。这使人很容易被像这种虚假的安全感所哄骗。
虽然我们大多数人到目前为止未受到过互联网的混乱和缺乏信任而引起的问题,但是这并不意味着我们可以继续把这个问题抛到脑后。这不仅仅让骗子更大胆,其中更深层次的社会成本高的惊人。最终,我们都必须通过更高的价格承担欺诈的成本。并逐渐侵蚀伤害我们所有人的信任。
我们可能无法挥动魔杖让互联网完美,但我们可以添加特性来改善在互联网上的信任。为此,我们提供以下九个想法来更强的支持保证我们的数据,隐私,通讯安全。完全解决互联网可能是一个崇高的(不可能达到的)目标。但是,要是我们每个人都考虑我们当前的工程中添加安全(措施),我们将会慢慢开始让互联网变得更值得信赖。
向主要服务加入公共密钥
Facebook 努力去确保其用户是使用了真实姓名的人。鉴于其努力尝试的力度和规模,以及人的天性,我们不能假定 Facebook 已经取得了完全的成功,但是它这样长期的努力去推动在用户账户的姓名中建立信任,这对于互联网的助益是巨大的。
今年最好的消息可能就是 Facebook 准备允许其用户通过 Facebook 的系统分发他们自己的 PGP 公共密钥。任何想要通过 PGP 向一个人发送电子邮件的人很快就能够去 Facebook,下载这个人的公共密钥,并立即开始进行安全的通信了。
还有诸多原因导致这一过程并不能完美的确保安全性,但它比使用更少被防护起来的公共密钥资源库更加安全,在分发正确的公共密钥时也可能比随意选择的一个 Web 页面更加安全。最近我检查过,网上有一些在公共 PG P服务器上冒用我名字的密钥,其实跟我一点关系都没有。相比运行在随机服务器上的志愿者服务,Facebook 绝对是一大进步了。
我们扔还是要去担忧虚假账户,以及 Facebook 与我们之间连接的安全。不过毫无疑问的是,你所了解的能够持续更新其状态的人,会让建立对密钥的信任变得更加容易起来。
其它的服务将会分发公共密钥吗?他们会开始去构建一个信任的 web 吗?银行和信用联盟可能将会是好的开始。出纳以及联盟分支已经对他们的常客有所了解,而他们可以向公共密钥资源库添加信任。学校和大学了解他们的学生,有时候可能会是另外一个选择。任何事物,如果可以让我们更接近 PGP 的创始人 Phil Zimmerman 所设想的受到信任的 web,对每个人而言都是有益的。
建立更好的随机数字生成器
如果攻击者能够猜想你的密码,这个世界上所有的所有的加密手段都无法帮助你保证密码安全。传统的方法之一是,运用被一个随机数生成器生成的随机密码来阻止这种攻击。但是,我们能相信这个随机数生成器吗?
这不仅仅是一种理论上的攻击。2007年,微软的研究人员们发现了 Dual_EC_DRBG 一个潜在的后门,之后业内便不再像过去那样频繁的使用随机数生成器了。在经过一年的的问题探寻之后,最终在2014年,美国国家标准技术局放弃了支持随机数生成器算法。
发现后门仍然是很困难的,同时,假定优秀的研究员会去研究后门的想法是很危险的。如何能够确定我们的随机数字生成器是安全的呢?例如,可以使用加密安全哈希函数来进一步打乱生成器产生的随机值,用来增加复杂性。
任何加扰过程也会加入额外的数据,这样攻击者就更难控制了--例如,精确的时间,或从Web下载的一些全局数据,如比特币块链顶端的当前哈希值。这可以阻止攻击者控制来自数字生成器的输入。
由于越来越多的算法使用加密,我们需要比以往更多的随机key。确保一种稳定的,无法猜测的技术来生成随机key,将会是构建稳定基石的长久之计。
扩展授信硬件
就硬件层和现代电脑的复杂性而言,假定它们的安全性是不合理的。由于许多潜在的后门,我们的桌面电脑,手机,甚至是打印机,都不能说完全处于我们的掌控之中。
研究团体已经通过创建特别的,只做单一事情的小型电脑进行了长期实验。一些电脑计算一次特别的登录,其它的则计算数字签名。用户的私钥锁定在一个芯片内,这样就很难取出私密数据。由于无法证明数据仍然是安全的,设备可以具备一些合理的防御措施来限制攻击。它可以,例如,具备一种手动开关,这样它就无法暗地里启用了。同时,当开关开启的时候,它也会拒绝进行多个值的签名。
如果每个人都拿着这样小巧的授信设备,人们就可以创建更容易信任的数字签名。尽管存在损耗和妥协的问题,但是它确实增强了互联网上的可信性。
将Merkle树加入到文件系统
数字文件,众所周知,是容易修改的。篡改纸质记录通常会暴露意图,而数字文件则可以随心所欲的修改。更糟糕的是,大多数文件系统并不太关注保护文件记录的修改。高明的黑客不仅仅能修改文件,同时也能修正记录时间,就像文件没有做任何变动一样。
最简单的探测修改的方式是使用加密安全哈希函数,哈希值就像校验和一样很难伪造。任何数据的改动都会在哈希值中体现出来,同时,实际上不可能存在某人修改了文件,但是哈希值却没有变化的情况。
当文件改动后,哈希值序列就会使用Merkle树以哈希的方式组织起来。这样,我们就可以知道文件的历史记录,包括文件是何时修改的。像这样计算哈希值,已经是Git协议的一部分了。我们越是将这些想法更多的融入到通用的文件系统,就越是能保证文件的准确性。系统可能只需要检测变动,而不需要实时修正,但这已经比一无所知要好得多了。
建立更多的块链并向他人推广
对许多政治和社会团体来说,比特币生态系统令人难以琢磨 ,原因是其核心部分的块链(由块区组成,块区是比特币中一种数据的存储形式)经常被覆盖掉。人们热衷探究比特币主要是按照俩个方面来推测,一、比特币是否会推翻中央银行系统,二、比特币是否会创造一个邪恶的,毫无约束的世界。无论上面的答案是什么,很重要的一点是:不能让上面的猜测远离这个事实,即块链能增加网络的稳定性和信任感。
在比特币系统的核心部分,比特币是一个集中的总账单,这个账单以一种十分难以理解的方式记录着交易记录,如果实际上这种记录不可行,就会改变记录方式。总的来看,这个总账单记录了一个人向一个人转移比特币,但是,我们不知道为什么不去将块链用于将他人的资料具体的保存在虚拟世界中。例如,如果一个学生上交一篇文章,他也可以在块链上记录一个文件的哈希算法。如果这篇文章被垃圾邮件回收机制过滤掉了,或是其他什么原因阻拦了,这个学生依然能证明这篇文章在某个特定的时间上交过。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务