本文源自于RebootingWebofTrust组织在RWOTIX—Prague,2019会议上的论文《EncryptedDataVaults》的部分章节。
原文:https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/final-documents/encrypted->
作者:AmyGuy、DavidLamers、TobiasLooker、ManuSy和DmitriZagidulin
贡献者:DanielBluhm和KimHamiltonDuffy
我们在线上存储了大量敏感数据,例如个人识别信息、商业机密、家庭照片和客户信息,而这些数据通常没有得到应有的保护。
一般来说,人们主要通过立法,如《通用数据保护条例》等来约束服务提供商,以确保他们在发生数据泄露事件时承担责任,激励其更好地保护个人隐私。这种责任压力暴露了技术上的短板,服务供应商通常没有完善的技术来保护其客户的隐私。而加密数据仓库弥补了这一空白,并具有诸多其他的优势。
本文介绍了当前的方法和体系结构、派生的要求、设计目标以及开发者在实现数据存储时应意识到的风险。同时还探讨了这类系统的基本假设,如提供用于存储、索引和检索加密数据的隐私保护机制以及数据的可移植性。
当前的生态系统和现有工作
徐明星新书《趣说金融史》正式发布 科普金融发展之道:金色财经现场报道,9月23日,欧科云链创始人徐明星携手著名财经作家李霁月、行业观察者顾泽辉力作《趣说金融史》一书,跨越5000年金融历史,重读金钱故事,并预测新的金融时代。该书由中信出版社出版,将于近期正式发售。据了解,本书可以更好地呈现金融的起源与发展,帮助人们理解货币、金融与未来经济。作为区块链行业领军企业——欧科云链的创始人,徐明星深知技术探索对经济社会的重要推动作用,他曾先后出版过《图说区块链》、《区块链:重塑经济与世界》、《通证经济》、《链与未来》等行业权威著作,解读区块链等新型技术的推动下,金融与社会的升级之道,对经济社会发展做出了重大贡献。其中,《区块链:重塑经济与世界》曾作为新中国70周年重点推荐图书之一被相关书店推荐。[2021/9/23 17:00:57]
去中心化数据存储的问题已从不同的角度实现,去中心化或其它方式的个人数据存储在商业和学术背景中都有着悠长的历史。不同的方法导致了术语和体系结构的差异。下图显示了已有的组件类型以及其作用。不难看出,加密数据仓库主要提供存储的功能。
接下来我们将简述一些现有的实现方案之间的共性和差异。可能并不全面,但我们试图选择一些作者最熟悉,代表不同方法类型的项目。
国务院:推进科普与区块链技术深度融合:为贯彻落实党中央、国务院关于科普和科学素质建设的重要部署,依据《中华人民共和国科学技术进步法》、《中华人民共和国科学技术普及法》制定《全民科学素质行动规划纲要(2021-2035年)》,其中要求实施智慧科普建设工程。推进科普与区块链等技术深度融合,强化需求感知、用户分层、情景应用理念,推动传播方式、组织动员、运营服务等创新升级,加强“科普中国”建设,强化科普信息落地应用,与智慧教育、智慧城市、智慧社区等深度融合。(新华社)[2021/7/10 0:40:52]
架构和部署
许多体系结构都是围绕将数据存储与使用存储数据的应用程序层分开的想法设计的。我们可以将这些应用程序视为具有不同复杂度的客户端,并将数据存储视为服务器。一些项目期望建立具有多样应用的生态系统,并根据这一点来设计其协议。NextCloud、Solid和DIF'sIdentityHubs都描述了用于将终端用户程序与数据存储解耦的体系结构。这样的应用程序可以是用于浏览或共享数据的通用文件管理接口,也可以是为特定任务设计的专用领域的某种工具。而Datashards、Tahoe-LAFS和IPFS仅与数据存储和检索有关。
对于Solid、NextCloud和IdentityHubs,终端用户可以选择在他们自己控制的设备上安装并运行数据存储的服务器部分,或者注册到受信第三方托管的已配置实例上。对于Datashards和Tahoe-LAFS,终端用户在其控制的一个或多个设备上安装应用程序,并且将这些数据存储于设备的本地。IPFS是点对点的,因此终端用户仅安装读/写客户端,而数据存储在公共网络上。
人民数字FINTECH推出区块链科普动画:人民日报数字传播发布微博称,人民数字FINTECH出品《趣味科普|区块链动画》。[2020/3/31]
IdentityHubs除了负责数据存储,还具有其他作用,例如终端用户资料的管理、传输人或机器可读的消息及指向外部服务。
加密策略
加密数据存储的一个重要考虑因素是架构中的哪些组件可以访问数据,或者由谁来控制私钥。大致有三种方法:存储侧加密、客户端加密和网关侧加密。
任何允许用户存储任意数据的数据存储系统基本上都支持客户端加密。也就是说,它们允许用户自己加密数据,然后将其存储。但是,这并不意味着这些系统针对加密数据进行了优化,查询和访问加密数据可能很困难。
存储侧加密通常表现为全盘加密或文件系统级加密。这得到了广泛的支持和理解,任何类型的托管云存储都可能使用存储侧加密。在这种情况下,私钥由存储服务器的服务提供商或控制器管理,它们可以是多种实体,并可以和存储数据的用户不同。存储侧加密是一种有效的安全措施,尤其当存储硬件能被直接物理访问时十分奏效。但这种方法不能保证只有存储数据的原始用户才可以访问。
声音 | CNBC主持人:加密货币最大的缺点之一就是难以向外行快速科普:CNBC主持人Ran NeuNer近期发推称,加密货币最大的缺点之一就是很难向外行快速解释。当人们要求我向他们解释比特币时,我知道他们至少需要一个小时才能真正理解。[2019/9/10]
相反,客户端加密提供了高度的安全性和隐私性,尤其是在元数据也可以加密的情况下。该方法中,加密通常在keychain或钱包客户端的协助下,于单个数据对象这一级别进行。因此,用户可以直接访问私钥。但代价是,密钥管理和恢复的责任直接落在了终端用户身上。另外,当需要共享数据时,密钥管理的问题变得更加复杂。
像Tahoe-LAFS这样的网关侧加密系统采用了一种结合存储侧加密和客户端加密技术的方法。这些存储系统在多服务器集群或某些加密云服务提供商平台中经常遇到。这些服务商认识到对于某些用户和用例而言,客户端密钥管理可能太难了,并愿意以对客户端应用程序透明的方式提供加解密服务。同时,它们试图最大程度地减少可访问私钥的组件数量。基于这样的考虑,密钥通常位于“网关”服务器上,该服务器在将数据传递到存储服务器之前对其进行加密。加解密对客户端是透明的,而数据对存储服务器是不透明的。因此,存储服务器可以模块化或可拔插化设计。网关侧加密具备一些强于存储侧加密的优点,但也存在一些缺点,即控制密钥的是网关系统管理员,而不是用户。
加密的元数据
Wekillpeoplebasedonmetadata.-GeneralMichaelHayden,formerdirectoroftheNSAandtheCIA
金色财经独家分析 监管机构、媒体、业界提示风险 区块链科普道阻且长:新华社今日发文表示,近来“区块链”类案件频发,不法分子以“投资虚拟货币周期短、收益高、风险低”为借口,取用户信任并诱使其转账进行投资。无独有偶,同日消息,腾讯手机管家安全专家也提醒此类风险,并从技术上提出防建议。在美国,监管机构警示加密货币欺诈现象普遍承诺高收益而不披露潜在风险。金色财经独家分析,不法分子假借新技术之名进行,一方面是抓住民众趋利的心理,一方面反映出区块链科普的欠缺。区块链是新兴科技和底层技术并有改变社会生产关系的潜力,应该进行系统性的科普教育,当前,部分大学已经开始设置了区块链课程,但对于普通民众仍然有科普的需求,人们应该了解到系统和正确的知识,不仅要了解区块链的好,也要明确局限和弊端,以在高收益的诱惑下,保持清醒客观。[2018/4/11]
元数据是否可以加密对系统的隐私、安全性和可用性存在一定的影响。
某些系统,包括Solid、NextCloud和IdentityHubs,支持在二进制数据上包含任意元数据,而IPFS、Datashards和Tahoe-LAFS则没有。Solid中,客户端使用RDF按资源编写元数据。IdentityHubs将JWT用于每个对象的元数据,并将JSON文档用于Collections中的其他元数据。NextCloud客户端可以使用WebDAV自定义属性将元数据添加到文档中,但这些都没有涉及到元数据加密。
访问接口和控制
无论是通过网络还是在本地设备上访问数据,数据对象都倾向于需要全局唯一的标识符。在不同的实现中,用于读取数据和写入数据的存储接口,以及限制或授权这么做的机制会有所不同。
NextCloud和Solid都利用现有的Web标准。NextCloud使用WebDAV技术,允许其客户端应用程序可以使用目录结构来读取、写入和搜索服务器文件系统上的数据,并支持用于身份验证的自定义登录流。Solid将LDP与OpenIDConnect身份验证以及Web访问控制相结合,允许用户登录客户端应用程序后读取或写入数据。Solid服务器上的资源由HTTPURI表示,Solid服务器接收包含RDF有效负载的HTTP请求,并相应地创建或修改目标URI。
IdentityHubs使用JSONWeb?令牌和指定的服务端点。这需要多个请求,首先要检索所需数据对象的元数据,然后要检索构成实际数据的commit序列。其身份认证机制仍在开发中,而访问控制是通过“权限”接口来执行的。
Tahoe-LAFS使用客户端网关存储服务器架构,客户端将数据传递到网关服务器进行加密和分块,网关依次将各个块存储在存储服务器集群中。同时,数据会进行多副本存储,以提高可用性,并有助于数据恢复。服务使用FoolscapURI进行标识,并且可以将客户端配置为使用HTTP、(S)FTP或侦听本地目录以创建、更新和删除数据。数据以类似文件系统的目录结构进行组织,并利用其进行访问控制。
IPFS是一种分布式的内容寻址存储机制,可将数据分解到Merkle-DAG中。IPFS使用IPLD为内容中的数据生成URI,并将内容链接到网络上,使用DHT在网络上发现内容。
索引和查询
由于加密数据对存储服务器而言不透明,这会给数据索引和搜索带来挑战。一些系统通过将一定数量的未加密元数据附加到数据对象上来解决此问题。另一种可能性是使用未加密指针列表,指向过滤后的数据子集。
Solid旨在为文件系统提供可通过Web访问的界面。资源被组织到类似文件夹的容器中,在实现上需要考虑数据存储的粒度。Solid没有指定搜索接口,但是某些实现可能会采用SPARQL或者TPF。
IdentityHubs同样使用Collections接口进行索引。客户端负责将适当的元数据写入自身未加密的集合中,从而使Hub能够响应查询。
NextCloud将数据对象分类到目录中,客户端可以使用WebDAV的SEARCH和PROPFIND方法查询数据和元数据。
Tahoe-LAFS、Datashards和IPFS是低级存储协议,不提供索引或搜索数据。
可用性,复制和冲突解决
跨多个存储位置进行数据复制可以为系统提供快速恢复的能力,增强系统安全性。支持对等复制的系统必须提供诸如CRDTs之类的冲突解决机制,或者要求终端用户干预以合并不同步的文件。NextCloud作为商业企业产品,可使得数据在多个实例中流动,以实现可伸缩性。不同的NextCloud服务器不会直接相互通信,但是可以通过用户安装的应用程序进行通信。类似地,Solid服务器的不同实例也不会相互通信。客户端应用程序可以在存储服务器之间执行任何必要的通信,但是这些服务器通常属于不同用户,而不是存储相同数据的副本。
IPFS、Tahoe-LAFS和Datashards通过使用内容可寻址的链接对数据进行分块,并存储许多分块副本来实现高可用性。由于它们是低级协议,且数据对于服务器来说并不透明,因此它们不进行冲突解决。
IdentityHubs中,Hub实例之间更改同步和冲突解决方案正在开发中。
总结
上面概述了个人数据存储方面中一些活跃项目的特点。这些项目旨在使终端用户无需中心化权威机构或专有技术即可控制其数据。
从目前来看,很难在一个系统中同时实现所有数据和元数据的客户端加密,以使用户能够将数据存储在多个设备上并与其他实体共享数据,同时还可被搜索或查询。从该调查中我们可以看出,通常需要进行取舍,比如需要牺牲隐私权以提高可用性,反之亦然。
由于现在许多技术和标准正在走向成熟,我们希望不再需要这种折衷的办法,并探寻为加密的去中心化数据存储设计一种具有广泛实用性的隐私保护协议的可能。
本体在去中心化的身份和个人数据隐私保护等方面进行了大量的探索,欢迎各位技术伙伴加入我们共同探讨。后期我们将会为大家提供该论文的下半部分,探讨这类系统的基本假设,如提供用于存储、索引和检索加密数据的隐私保护机制以及数据的可移植性。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。