黑马程序员技术交流社区

标题: 程序员在互联网上重建信任的 9 个方法(一) [打印本页]

作者: wudigod12    时间: 2015-7-31 13:11
标题: 程序员在互联网上重建信任的 9 个方法(一)
在认知上来看,互联网十分嘈杂不堪。如同 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,将会是构建稳定基石的长久之计。

扩展授信硬件

就硬件层和现代电脑的复杂性而言,假定它们的安全性是不合理的。由于许多潜在的后门,我们的桌面电脑,手机,甚至是打印机,都不能说完全处于我们的掌控之中。

研究团体已经通过创建特别的,只做单一事情的小型电脑进行了长期实验。一些电脑计算一次特别的登录,其它的则计算数字签名。用户的私钥锁定在一个芯片内,这样就很难取出私密数据。由于无法证明数据仍然是安全的,设备可以具备一些合理的防御措施来限制攻击。它可以,例如,具备一种手动开关,这样它就无法暗地里启用了。同时,当开关开启的时候,它也会拒绝进行多个值的签名。

如果每个人都拿着这样小巧的授信设备,人们就可以创建更容易信任的数字签名。尽管存在损耗和妥协的问题,但是它确实增强了互联网上的可信性。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2