在互联网发展的急速发展下,文章,电影,音乐,小视频等内容爆发式增长,逐步形成了以内容生产为主要生产力的运行模式。这也意味着这个时代,对内容创作者来说,是个最好的时代。我们创作的文字,音频,视频发表的渠道的增多。各种文字,视频的原创平台、社交平台,也有知识分享平台等如雨后春笋般应运而生。对于创作者来说,必须要面对的一个问题,就是怎样来运营和维护自己的存储权限。在目前的网络结构中,对于数字媒体的控制基本还是由各式各样的代理机构、数字权益机构、网站甚至是出版社、影视公司来操作。这也对于创作者来说,相互之间都有高额的信任成本。因为左右的一切都是通过对彼此的信任来达到控制目的。那我们需要找到通过一定的网络机制,文件访问权限控制机制来降低这个成本,最终完成对文件权益的控制。
传统文件系统中,文件的访问控制通常由存储设备来进行管理。为了确定是否响应用户的操作请求,存储设备一般需查询访问控制列表。而在分布式文件系统中的情况却大不相同,它要求:
1. 在可信任的存储设备上可以执行正确的访问权限,例如读、写、删等;
2. 在不信任的设备上,却不能执行访问权限;
针对上面的权限诉求,通常的做法是,对所有内容进行加密,以便只有合法的访问者才可以对文件数据进行解密。很显然,可以减轻存储设备的访问控制负担,但是需要一个比较好的密钥管理方案。尽管已经提出了一些密钥管理方案,例如常见的代理重加密、数字信封等,前者需要中心化服务器的配合,后者会在无形中增加数据冗余,降低存储空间有效利用率,故而都不能满足我们对未来分布式数据存储行业的构思。
DSP?Labs结合分布式网络环境的特性并参考Cryptotree论文,经过反复摸索实践,设计了HashTree这样一种数据结构,并基于该数据结构,设计了一种理论可靠、实施可行的文件分发方案。就HashTree而言,我们先假定三个约束条件:
1.用户在文件系统中进行交互的次数越多,拥有有用且直观的访问控制语句就越重要。特别是,我们要求文件系统支持访问权限的机密性和动态继承。
2.密钥管理的系统开销可控,要管理的密钥数量不应与文件数量和所涉及的用户数量成比例地增长。
3.方案落地成本要小,且易于理解和实施。
从实践的角度,HashTree通过利用文件系统的文件夹层次结构来实现这些属性。
在全面展开介绍HashTree的构造方式之前,需要给大家介绍一下简单但功能强大的密码链接的概念。从密钥K1到另一个密钥K2的加密链接使拥有K1的每个人都能得出K2。串联多个链接可以构建密码数据结构,即我们上文中提到的HashTree。注意,当K1的内容被污染,K2也将被污染。通常来说,密码连接会有两种,分别是:对称链接和非对称链接。
A.对称链接
给定两个秘密密钥K1和K2以及对称加密算法(建议使用AES-128),我们用K1→K2表示K1加密K2的结果,其中→称为对称密码链接。即任何知道K1的人都可以导出K2。
B.非对称链接
非对称链接基本上与对称链接相同。其不同点是,可以在不知道K1的情况下,将非对称链接K1-> K2更新为K1->K3。这对于对称链接是不可能的。由于我们需要使用非对称加密技术(建议使用RSA-1024),因此此属性会降低性能。
给定一个密钥对(Kprivate,Kpublic)以及一个秘密密钥K2,通过用Kpublic加密K2来构造非对称链接。公钥Kpublic总是与链接一起存储,而私钥Kprivate被保密。定义K1 = Kprivate,结果是非对称链接K1-K2。
接下来介绍我们的读取访问HashTree的核心元素:具有五个加密密钥的文件夹项目。此文件夹项目可以与其他文件夹项目结合使用,以构建文件夹树。我们从对用于表示文件夹项目的密码链接和密钥的完整说明开始。然后,借助所示示例说明这种文件夹项目树的优点。
每个文件夹f,包含五个加密密钥:
1. 数据密钥DKf,用于加密表示该文件夹所需的所有数据。这包括其名称,创建日期以及文件系统存储的有关该文件夹的任何其他信息;
2. 反向链接键BKf,可以找到有关父文件夹的信息;
3. 子文件夹键SKf,用于读取子文件夹;
4. 文件键FKf读取此文件夹包含的文件;
5. 可选的清除密钥CKf,可以显示给其他用户,以授予对f及其后代的访问权限;
我们以上图为例,来进一步形象说明如何通过上文中提到的5个组合密钥,进行权限管理分发的。虚线部分表示控件的可选键和链接。没有明确开始或结束的链接表示与图中未显示的CK元素CK的任意数量的连接,即与其他子文件夹和文件的链接。指向用CK表示的清除键的密码链接表示读取访问权限。
与五个密钥链接一起存储的是五个文件夹,而不是密钥本身:
其中p(f)表示f的父文件夹。当然了,可能存在第六条非对称链接:CK(f) SK(f)图3在具有三个嵌套文件夹的示例中说明了这些链接。
由于所涉及密钥的链接方式,它足以知道文件夹holiday的子文件夹密钥SK,以便获得不仅解密文件夹本身而且完全解密其所有后代所必需的所有密钥,及其holiday文件夹的元数据。请注意,尽管能够读取holiday文件夹的的父文件夹images,但是我们却不可以看到任何关于images其他子文件的信息,因为在上图中,并没有从SK(holiday) 到?SK( images)的明确密码链信息。
基于上文提到的HashTree数据结构,再加上上段的分析,我们可以很容易看到,当需要为某个文件或文件夹集合分配访问权限时候,只需构建一条非对称密码链即可。
毫无疑问,由于互联网传输信息文件的便利性导致内容复制的成本无限接近于0。因此随之而来的问题就是数据文件的权限控制问题以及数字权益问题。通过上述方案形成的分布式文件存储网络可以很容易的通过对文件本身权限的控制来达到赋予对于权益控制的能力。这样对于内容创作者,授权平台方,都会极大程度的降低信任成本和管理成本。同时,也可以有效的避免由于缺乏内容权限控制的专业知识、由于和数字权益运营机构信息不对称,而导致的创作者权益的损失。
关于我们
DSP Labs 正在打造新一代的互联网协议层的基础网络,专注于提供高效,稳定,安全的底层文件数据存储分发网络协议,它将是一个可以服务于任何基于分布式存储网络的下一代应用的基础设施。
作为一个底层基础设施建设团队,DSP Labs不会参与,发起任何区块链token 发行相关的计划及活动。但是我们相信下一代的互联网注定是开放的,我们希望看到DSP可以服务于跨生态,跨地域,跨平台的互联网应用,包括基于区块链的协议,分布式服务及应用。我们也期待更多的个人和组织可以加入我们,共同建立下一代互联网的生态。我们始终保持着开放的态度欢迎每一个想参与这个未来生态的伙伴,欢迎来dsplabs.io找到并联系我们。