关键词:
区块链
智能合约
访问控制
可搜索加密
摘要:
随着数字经济时代的到来,数据安全面临的挑战日益严峻,相关数据安全事件频繁发生。访问控制作为一项控制用户或者实体对特定资源访问权限的技术,在保护数据安全访问方面必不可少。传统的访问控制技术大多是集中式的访问控制方案,可靠性低,可能导致单点故障从而引发数据安全事件,此外,在较大规模数据场景中,传统访问控制方案还存在灵活性差,管理难度高等问题。而区块链作为一种去中心化存储技术,且具有公开透明,不可篡改等特性,能够满足当前实际场景下数据安全受控的访问控制需求,因此,基于区块链的访问控制方案能够一定程度上克服传统方案的局限性。当前已有一些基于区块链数据受控访问的解决方案,能够一定程度上提供安全可信的访问控制,但是现有基于区块链的数据受控访问方案在实际场景中面临着多重挑战。首先,由于区块链自身的存储性能差,难以适应数据量较大的场景。因此,势必需要引入外部存储,将加密原始数据存至链下,相关加密元数据存至链上。但是对加密后的元数据,现有方案未考虑验证搜索结果的完整性,可能无法返回全部数据,同时,针对该场景,没有提供相应的加密关键字更新方式。其次,对于链上链下的数据受控访问方案,现有方案实施成本较高,访问请求效率较低,且没有考虑区块链自身可信审计能力,未对访问策略实现历史回溯。为解决上述存在的挑战,本文针对基于区块链的数据受控访问方案展开了研究,主要研究成果如下:(1)针对未考虑验证搜索结果的完整性,可能无法返回全部数据,同时,没有提供相应的加密关键字更新方式的问题,提出了一种基于伪随机函数和区块链智能合约的可搜索加密方法。首先通过链上的访问控制系统验证数据使用者身份,生成搜索令牌,之后根据搜索令牌检索加密原始数据,实现了基于区块链的链上搜索加密元数据,再通过元数据,链下访问加密原始数据,同时也实现了关键字的更新。实验证明,本方法所设计的可搜索加密算法实现了对搜索结果的验证以及关键字的更新,维护了数据的完整性。(2)针对实施成本较高,访问请求效率较低,且没有考虑区块链自身可信审计能力,未对访问策略实现历史回溯的问题,提出了一个基于XACML以及区块链智能合约的数据受控访问方法。其中,链下部分为外部存储模块,用于存储加密后的原始数据,以及满足后续的搜索需求;链上部分为访问控制模块,访问控制方案采用XACML框架,具体访问控制模型采用了基于属性的访问控制,用于验证数据请求者的身份,通过实验与现有方案对比,本方法在成本消耗,吞吐量等评估指标方面优于现有方案。(3)设计并且实现了一个基于区块链智能合约的数据受控访问系统。该系统中主要包含两大管理模块,数据所有者以及数据用户。数据所有者模块所包含数据上传,访问记录,权限设置服务,数据用户模块主要包含搜索功能,其次提供查询历史访问记录信息。最后,对整个系统进行了验证,并对各个功能模块进行了测试。