吴伟美,何拥军,谢建华
(广东科学技术职业学院计算机工程技术学院 广东 珠海 519090)
随着云存储的广泛使用,数据安全和访问控制成为云存储技术面临的重要挑战。 传统的中心化访问控制方式存在诸多问题,如单点故障、数据被篡改等。 为了解决此类问题,研究者们开始将区块链技术应用于云存储领域,并提出了基于区块链的云存储数据去中心化访问控制方法。 本文旨在探讨该领域的研究现状和相关策略,为进一步提升云存储数据安全性和可信度提供参考。
区块链是一种采用分布式账本技术的系统。 其基本原理在于将多个数据结构称为区块,并以时间顺序形成链式结构。 每个区块含有一定数量的交易或数据,并记录了前一个区块的哈希值,确保数据的不可篡改性和链式结构的安全性[1]。
区块链的核心原理如下:首先,它采用分布式共识机制,通过多个节点的相互协作来达成共识,从而保证数据的一致性和可信性。 其次,区块链采用链式数据结构,将交易记录按照顺序链接起来形成区块,新的交易记录将添加到链的末尾。 这种链式结构具备不可篡改的特性,一旦一个区块被添加到链上,就难以进行修改或删除。 区块链使用密码学技术确保数据的安全性和隐私性。 在数据传输和存储过程中进行加密处理,只有拥有相应密钥的人才能解密和访问数据。 再次,区块链还应用数字签名技术,以确保交易的真实性和不可抵赖性。 最后,区块链通过去中心化的方式实现数据的存储和验证。 数据由多个节点共同保存和验证,任何节点都能参与网络,无需依赖中心化机构。 这种去中心化的特点使得区块链具备较强的抗攻击和抗故障能力,提高了数据访问的可靠性和可用性。
区块链中的数据结构指的是区块和链之间的组织方式和关系(详见图1)。 区块包含一定数量的交易记录和其他相关数据,同时携带着指向前一个区块的哈希值,以此形成一个不可篡改的链式结构。 每个区块都具备唯一的标识符,也就是区块哈希值,用以确保区块的唯一性和完整性。 交易记录经过加密和验证后,被包含在区块中,而这些交易记录可以是多种类型的数据,如金融交易或文件存储等[2]。 这些数据在传输和存储过程中得到加密保护,并被添加到各自的区块中。 此外,每个区块还附带一个时间戳,记录着交易发生的时间。 数字签名也被嵌入到区块的数据中,用于验证交易的真实性和完整性。 通过按照哈希值的顺序将区块链中的每个区块链接起来,形成了一个不可篡改的数据结构。 一旦一个区块被添加到链上,由于任何修改都将导致链中其他区块哈希值的变化,因此很难对其进行修改或删除。 这种数据结构的特性确保了区块链的安全性和可信度。
图1 区块链的数据结构
基于区块链的云存储系统中,用户开始使用前需要进行注册和身份验证。 用户注册时,系统将收集并存储其身份信息在区块链上。 这些信息经过加密和数字签名处理后,构成了用户的身份标识。 用户需要提供合法的身份证明和相关信息,以进行身份验证[3]。
身份验证过程中,区块链网络中的节点对用户提交的身份信息进行验证。 节点使用之前存储在区块链上的公钥进行验证,以确保用户的身份信息的有效性和合法性。一旦验证成功,用户将被授予系统的访问权限,并被分配一个私钥以供后续的加密和解密操作使用。
用户在身份验证通过后,可以将数据上传到区块链网络中进行存储。 在上传过程中,用户的数据将进行加密处理,以确保数据的安全性和隐私性。 用户使用其私钥对数据进行加密操作,并生成加密后的数据摘要。
加密后的数据将被分割成块,并分别存储在区块链网络的不同节点上。 每个块都包含了数据的加密摘要和相关的元数据信息,如上传时间和用户标识。 区块链的分布式特性保证了数据的冗余存储和高可用性,提高了数据的可靠性和可访问性。
对上传到区块链的数据访问权限进行控制是云存储系统的重要组成部分。 基于区块链的访问控制使用智能合约来定义和执行数据访问规定。 每个用户都有一个与其身份相关联的访问权限列表,其中包含可以访问的数据块的验证规则。
当用户请求访问某个特定数据块时,智能合约将根据用户的身份和访问权限列表对其进行验证。 如果用户的身份和请求的数据块的访问规则匹配,则用户将被授予访问该数据块的权限。 否则,用户将无法获得数据的访问权限。
一旦用户获得了对数据的访问权限,可以通过区块链网络下载相应的数据块。 下载过程中,用户需要使用其私钥对数据进行解密操作。
用户使用私钥对下载的数据块进行解密,并验证解密后的数据摘要与原始数据的一致性。 如果验证通过,用户可以获得解密后的数据,并进行后续处理。 否则,如果验证不通过,用户将无法正确获取数据,确保数据的完整性和安全性。
图2 说明了基于区块链的云存储数据去中心化访问控制的过程。 通过身份验证、数据加密存储、访问权限控制和数据下载解密处理等步骤,确保了云存储数据的安全性、可信性和可靠性。
图2 基于区块链的云存储数据去中心化访问控制流程图
3.1.1 单一信任源验证
基于区块链的云存储系统中的单一信任源验证策略是一种常见的用户身份验证策略。 该策略依赖于一个单一的信任源,通常是一个中心化的身份验证机构,来验证用户的身份。 在此策略下,用户在使用系统之前需要向信任源注册并提供必要的身份信息。 信任源会验证用户的身份,并为其分配一个唯一的身份标识符,如加密密钥或数字证书。 当用户访问基于区块链的云存储系统时,系统会向信任源发送用户的身份信息,并请求验证。 信任源会对用户身份进行验证,并向系统返回验证结果。 系统根据验证结果确定是否授予用户访问权限。
尽管单一信任源验证策略便捷且易于实施,但其存在单点故障和中心化信任的风险。 若信任源遭受攻击或发生故障,整个身份验证系统可能会受到影响。 因此,为了提高系统的可靠性和安全性,可以考虑采用多个信任源验证策略。
3.1.2 多个信任源验证
多个信任源验证策略是一种在云存储系统中常用的身份验证策略。 该策略基于多个不同的信任源,通过比对多个信任源返回的验证结果来对用户的身份进行验证和确认。 在多个信任源验证策略中,系统会向不同的信任源发送用户的身份信息,并获取每个信任源返回的验证结果。系统通过对比不同验证结果来验证用户的身份,并确认其身份的唯一性和合法性[4]。 多个信任源验证策略可以降低单一信任源验证策略的风险,分散信任源的责任和权力。即使其中一个信任源遭受攻击或发生故障,其他信任源仍然可以继续提供验证服务,确保系统的可靠性和安全性。
3.2.1 基于角色的访问控制
在云存储系统中,基于角色的访问控制通过定义和管理不同角色的权限和职责,确保用户能够访问他们所需的数据资源,同时保护敏感信息免受未经授权的访问。 基于角色的访问控制使用角色作为权限的分配单位,角色定义了一系列操作和任务的组合,而不是针对每个用户或个体进行权限分配。 通过将用户与角色关联,可以更加灵活地管理和修改权限,而无需更改每个用户的权限设置[5]。 在此模型中,角色的权限可以根据需要进行动态调整,从而提供灵活性和可扩展性。 例如,当用户的角色发生变化或数据资源的访问策略需要更新时,管理员可以通过修改角色的权限来实现变更。
3.2.2 基于属性的访问控制
在云存储系统中,基于属性的访问控制通过考虑用户和资源的属性,定义和管理访问权限,以实现更细粒度的控制和灵活性。 基于属性的访问控制模型将用户自身的属性(如身份、角色、组织)以及资源的属性(如数据的敏感级别、所属部门)纳入访问控制的决策过程中。 可以根据实际需求和风险评估,限制用户对特定资源的访问。 相较于传统的访问控制模型,基于属性的访问控制在权限定义和管理上具有更细颗粒度的优势。 通过灵活定义、组合用户和资源的属性,可以实现更个性化和差异化的访问权限控制。 尤其对于区块链云存储系统中存在多个维度和复杂关系的数据资源,这种策略特别适用。
3.3.1 完整性保护与验证
基于区块链的云存储系统中,完整性保护与验证采用了密码学技术,如哈希函数和数字签名,来实现对数据的验证和完整性的保护。 首先,采用哈希函数对数据进行摘要计算,生成唯一的哈希值。 该哈希值可以被视为数据内容的指纹,任何对数据的修改都会导致哈希值的变化。 因此,通过比对初始计算的哈希值和接收到的数据的哈希值,可以验证数据的完整性。 其次,采用数字签名技术,数据的发送者可以使用其私钥对哈希值进行签名,生成数字签名。 接收者可以使用发送者的公钥对数字签名进行验证。 通过这种方式,数据的完整性和身份认证得到了保护,因为私钥只有发送者拥有,其他人无法伪造数字签名。
3.3.2 数据变更追溯
数据变更追溯旨在记录和追踪每次对数据进行的修改和变更操作。 通过数据变更追溯,可以提供完整的数据修改历史记录,从而增加数据的可信度和透明度。 在这种策略下,每当对数据进行修改或变更时,将生成一个新的区块,并将该区块添加到区块链中。 每个区块都包含了对数据进行的具体操作,例如新增、修改或删除等。 由于区块链具有不可篡改性,数据变更追溯的可信度得到了保证,因为任何试图修改已有区块的行为都会导致区块链的一致性变化,从而被系统所检测到。
3.3.3 数据访问日志记录
数据访问日志记录是一项用于记录和监控对存储数据的访问行为的策略。 通过数据访问日志记录,可以进行审计和跟踪数据的访问情况,以检测异常的访问行为,维护数据的安全性和隐私性。 在数据访问日志记录策略中,每次数据访问操作都会被详细记录,包括访问者的身份信息、访问时间和具体的访问操作等。 这些日志信息可用于数据追溯和审计,对数据的访问进行监控和分析。 数据访问日志记录不仅可以用于安全审计,还可以用于合规性审计。 在特定场景下,需要监管和进行合规性审计以确保特定用户或角色的数据访问符合规定。
3.4.1 共享权限管理
基于区块链的云存储系统中,共享权限管理是一种确保数据安全共享的策略。 该策略利用区块链的去中心化特点,赋予用户对数据共享权限进行灵活控制和管理的能力。 共享权限管理借助智能合约机制来实现。 用户可以利用智能合约定义和分配不同级别的权限,如读取、写入、修改等,以控制其他用户在特定条件下对其数据的访问和操作。 在此过程中,智能合约会记录共享权限的变更和转移信息,并通过区块链的不可篡改性来确保权限信息的可信度和安全性。
3.4.2 数据所有权转移
数据所有权转移是一种策略,用于安全地将数据的所有权从当前拥有者转移给其他用户,并在区块链上记录相关的转移记录。 通过这种策略,数据的当前拥有者可以通过智能合约将数据的所有权转移到其他用户,同时在区块链上留下相应的转移记录。 智能合约在这一过程中起到关键作用,确保转移操作的可追溯性和可信度。 只有在区块链中记录了所有权转移的信息,才能确认数据的合法拥有者。
3.4.3 数据跨平台迁移
数据跨平台迁移是一种实现数据在不同云平台之间无缝迁移的策略。 通过该策略,用户能够将数据从一个云平台迁移到另一个云平台,同时保持数据的完整性和安全性。 在数据跨平台迁移过程中,首先需要对目标平台进行身份验证和授权,以确保目标平台的合法性和可信度。 其次,通过智能合约机制对数据进行加密和解密,以确保数据在迁移过程中的安全性和隐私性。 由于基于区块链的去中心化特性,数据跨平台迁移策略能够减少对中介机构的依赖并降低迁移成本。 最后,通过利用区块链技术,可以实现数据迁移过程的可追溯性和可信度,从而减少数据的丢失和篡改的风险。
本研究系统地研究了基于区块链的云存储数据去中心化访问控制,并提出了相关策略。 通过用户身份验证、访问权限控制、数据审计和数据共享转移等策略,可以有效提高云存储数据的安全性和可信度。 然而,该领域仍面临一些挑战,如在大规模数据访问的情况下,访问控制系统的响应时间和吞吐量可能会受到影响;在系统规模扩大时,访问控制系统难以适应增加的用户和数据负载。 未来的研究可以进一步优化策略,提升系统性能,并探索新的应用场景和解决方案。