A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

将Merkle树加入到文件系统

数字文件,众所周知,是容易修改的。篡改纸质记录通常会暴露意图,而数字文件则可以随心所欲的修改。更糟糕的是,大多数文件系统并不太关注保护文件记录的修改。高明的黑客不仅仅能修改文件,同时也能修正记录时间,就像文件没有做任何变动一样。

最简单的探测修改的方式是使用加密安全哈希函数,哈希值就像校验和一样很难伪造。任何数据的改动都会在哈希值中体现出来,同时,实际上不可能存在某人修改了文件,但是哈希值却没有变化的情况。

当文件改动后,哈希值序列就会使用Merkle树以哈希的方式组织起来。这样,我们就可以知道文件的历史记录,包括文件是何时修改的。像这样计算哈希值,已经是Git协议的一部分了。我们越是将这些想法更多的融入到通用的文件系统,就越是能保证文件的准确性。系统可能只需要检测变动,而不需要实时修正,但这已经比一无所知要好得多了。

建立更多的块链并向他人推广

对许多政治和社会团体来说,比特币生态系统令人难以琢磨 ,原因是其核心部分的块链(由块区组成,块区是比特币中一种数据的存储形式)经常被覆盖掉。人们热衷探究比特币主要是按照俩个方面来推测,一、比特币是否会推翻中央银行系统,二、比特币是否会创造一个邪恶的,毫无约束的世界。无论上面的答案是什么,很重要的一点是:不能让上面的猜测远离这个事实,即块链能增加网络的稳定性和信任感。

在比特币系统的核心部分,比特币是一个集中的总账单,这个账单以一种十分难以理解的方式记录着交易记录,如果实际上这种记录不可行,就会改变记录方式。总的来看,这个总账单记录了一个人向一个人转移比特币,但是,我们不知道为什么不去将块链用于将他人的资料具体的保存在虚拟世界中。例如,如果一个学生上交一篇文章,他也可以在块链上记录一个文件的哈希算法。如果这篇文章被垃圾邮件回收机制过滤掉了,或是其他什么原因阻拦了,这个学生依然能证明这篇文章在某个特定的时间上交过。

如果有人怀疑这些文章在某个特定的时间存在过,我们有一百万种像这样不同的方法给互联网添加信任,同时一些比特币创业公司正在探索如何将这些方法商业化。尽管比特币集中化存在的无数问题正在暗中破坏我们的世界,同时运营块链需要高额的花费,但是,块链的核心技术对如此多并不单一的货币交易是稳固又十分有用的。

为互联网交互添加链锁

基本的HTTP响应,是互联网上最简单的部分之一,所做的并不仅仅是发送一些字节。HTTPS增加了一个安全层,这个安全层可以阻挡偶然偷听的人,同时还可以阻挡标记变动,但是为所有的交互都添加一个安全层花费是十分巨大的。

一个简单的解决方案是计算所有相互作用间的 Merkle 树。虽然不是所有的 HTTP 流量都能落在一个简单的、容易散列成树形图的命令列表中,但它们的大多数是可以做到的。这个困惑来自于对一些页面的一连串的 Ajax 调用,这些页面可以被简化为对树形结构的微小变化。

建立交联认证的网站群

基本的 Git 仓库都提供了不止一个区域来存储文档。这个可以保存文档并将它们推送到其他库的协议,同时也在监视那些已经被提交的、并经过 SHA-1 哈希计算的所有文档,以免被篡改。

然而为什么要止步于就一个资源库呢?为什么不同其他的资源库互相交换数字签名或者散列值,以此来拓展收到信任的网络呢?

星际文件系统(The Inter Planetary File System)就是对将 Web 转换成一个大型互联文件系统的一个试验。我们需要探索出更多将站点间信息链接起来的方式。网站的策划者们可以一同来尝试构建一个站点间受到信任的 web。

加入同态加密

服务器可以使用进行了加密的同时仍然可用的方式来存储信息。换言之,服务器可以在不损害用户隐私的前提下继续存储用户的数据。在我的《半透明数据库(Translucent Databases)》中,对此有一些简单版本的详细介绍。

在过去几年,出现了一系列针对以加密形式处理数据的理论方法,热闹非凡。数据库可以对大量的个人信息进行整理和查询,而不用实际保有这些信息的非加密版本。它们可以不用去理解底层信息到底是什么就能进行计算。

对数据进行计算而不必看到或读到,这听起来有点像魔术,但我们已经有几个很好的实用解决方案。做的最好的可能是 UNIX 口令文件,它存储一个加密的安全散列密码而不是密码本身。当有人登录时,系统会将输入的字符串进行哈希计算,并将其与数据库中的值进行比较。但获取密码文件的人不会得到真正的密码,因为文件只存储的哈希版本。

这些新方法是都有很大的野心,但还远远不能用于实际。一些数学问题可能要花费数年时间去解决,但这个进程正变得更快。更多的研究是必要的,但将加密方法变得更容易处理仍然是一个令人兴奋的解决方案,它可以让公司使用数据库做智能的事情,而不用担心人们的隐私。

添加加密措施

这看起来有点愚蠢,最终结果是一个最大最简单的解决方案,不过添加更多的加密措施确实能使窃听更加的困难。许多知名网站,像 Google,Facebook 以及 Apple 都默认开启了 SSL 加密,其它的站点都也跟随了这些网站的脚步。向整个网络流量添加 SSL 的开销则更加具有可管理性。

有一些其他的加入加密算法的标准。IPSec和TLS都可以很好的加密客户端与服务端数据包。这些算法即使只相信服务器,但是某些使用这种解决方案的服务运行在作为中转的服务器上的时候,这种解决方案就是不那么理想了。

email与聊天工具中加入端对端加密工具是对我们日常通讯安全的最基本保障。跃然这可以在服务器端和操作系统底层被破坏,但这依然是让人们相信他们在Internet上发送和接收的数据是由自己掌控并且是安全的最好方式了

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马