基于SGX和以太坊区块链的云存储自审计方法技术

技术编号:29764315 阅读:46 留言:0更新日期:2021-08-20 21:18
本发明专利技术公开了一种基于SGX和以太坊区块链的云存储自审计方法,包括:选取公开参数,并生成实体的密钥;用户对拟外包的数据进行预处理来生成外包数据包,并生成辅助信息;用户将外包数据包和辅助信息发送给云服务器,用户与部署在云服务器上的飞地完成双向身份认证;对外包数据包的完整性和辅助信息的正确性进行验证,在验证通过后,云服务器存储外包数据包,并将辅助信息加载到飞地中;根据预设的审计周期,云服务器读取区块链系统的随机数来生成挑战信息,并运行飞地中的自审计程序来完成抽样数据块的完整性审计。本发明专利技术的方法在不依赖任何可信第三方参与者的前提下,支持数据拥有者在资源受限时能周期性地获取外包数据包的完整性状态。

【技术实现步骤摘要】
基于SGX和以太坊区块链的云存储自审计方法
本专利技术属于信息安全和网络空间安全领域,特别是涉及一种基于SGX和以太坊区块链的云存储自审计方法。
技术介绍
随着网络技术的发展和数据的爆炸式增长,数据拥有者乐于借助云存储系统来存储并管理自己的数据,以避免个人数据的本地维护成本。在云存储中,数据拥有者(即云存储服务的用户)仅需将个人数据外包到云服务器上,然后就可以享受按需的远程检索服务。尽管具有这些优点,云存储系统也暴露出一些安全问题,其中最重要的是外包数据的完整性保障问题。简单来说,用户一旦将数据外包给云服务器就失去了对个人数据的物理控制权。因此,用户需要考虑外包数据是否一直完整地存储在云服务器上。实际上,外包数据的完整性确实存在安全风险。作为一个独立的运营实体,云服务器可能有多种不当行为。例如,隐藏数据损坏事件(由于管理错误、硬件故障、内部攻击等)以维护良好声誉;或删除用户从未检索过的外包数据以释放云平台的存储空间。另一个值得注意的事实是,网络黑客可能会为了盈利而攻击云服务器并破坏外包数据。如果发生以上的任何恶意事件,用户外包数据的完整性都可能遭到破坏。因此,周期性地审计用户外包数据的完整性是很有必要的。目前,数据完整性审计技术支持以下两种常见的审计模式:私有审计和公共审计。具体来说,私有审计模式中用户自己审计外包数据的完整性。该模型要求用户保持周期性地在线并执行审计任务,这将对用户有严格的通信资源要求。对于带宽资源受限的用户,要求周期性保持在线的私有审计模式不是最优的方式。相较而言,公共审计是一种应用更广泛的审计模型,其中用户授权一个第三方审计者来审计外包数据的完整性。它假设用户授权的审计者是完全可信的。也就是说,一旦审计者受到攻击或做出恶意行为,那些基于公共审计模型的方案将不能提供系统安全性。例如,为了降低执行审计任务导致的计算开销,审计者可以凭空伪造审计结果;或为了谋求利益,审计者与云服务器合谋来生成不客观的审计报告。在以上列举的情况下,审计者的角色并未承担审计外包数据完整性的职责,用户也无法获得客观的外包数据完整性的审计结果。
技术实现思路
本专利技术的目的在于克服现有技术的一项或多项不足,提供一种基于SGX和以太坊区块链的云存储自审计方法。本专利技术的目的是通过以下技术方案来实现的:基于SGX和以太坊区块链的云存储自审计方法,包括:步骤S1.系统初始化步骤:选取公开参数并生成实体的密钥,所述公开参数包括安全哈希函数和签名算法,所述实体的密钥包括用户的签名密钥对和飞地的签名密钥对;步骤S2.本地准备步骤:用户对拟外包的数据进行预处理来生成外包数据包,并生成辅助信息,所述辅助信息包括所述外包数据包对应的默克尔哈希树、自审计程序和智能合约;步骤S3.数据包外包步骤:用户将所述外包数据包和辅助信息发送给云服务器,用户与部署在云服务器上的飞地完成双向身份认证;步骤S4.云存储步骤:对所述外包数据包的完整性和所述辅助信息的正确性进行验证,在验证通过后,云服务器存储所述外包数据包,并将所述辅助信息加载到飞地中;步骤S5.自审计步骤:根据预设的审计周期,云服务器读取区块链系统的随机数来生成挑战信息,并运行飞地中的自审计程序来完成抽样数据块的完整性审计。优选的,所述步骤S1的具体步骤为:步骤S11.选取安全哈希函数和签名算法;步骤S12.生成用户U的签名密钥对和用户U的以太坊地址,其中为用户U的公钥,为用户U的私钥;步骤S13.生成飞地E的签名密钥对和飞地E的以太坊地址,其中为飞地E的公钥,为飞地E的私钥;步骤S14.获取云服务器CS的以太坊地址。优选的,所述步骤S2的具体步骤为:步骤S21.将原始数据F加密并分块处理生成外包数据块集合,其中,为连接符号,表示编号为n的数据块;步骤S22.用数据块的哈希值作为叶子结点来构造默克尔哈希树Tr,所述默克尔哈希树Tr的根值为root;步骤S23.生成自审计程序P和智能合约SC。优选的,所述步骤S3的具体步骤为:步骤S31.生成签名,并向云服务器CS发送外包集合,其中,,其中,P为将用于云服务器自审计的自审计程序,为云服务器将存储在其存储空间中的数据包,为云服务器将加载到飞地隔离内存区域PRM中存储的数据包;步骤S32.将智能合约SC广播到以太坊网络,以太坊网络的矿工对智能合约SC进行验证,验证通过后将智能合约SC写入以太坊区块链;步骤S33.在智能合约SC写入以太坊区块链后,用户向智能合约SC转账作为存储费用预存金额;步骤S34.利用SGX技术的远程认证机制,用户U与部署在云服务器CS上的飞地E完成双向身份认证,用户U在双向身份认证成功后向飞地E共享飞地E的签名密钥对。优选的,所述步骤S4的具体步骤为:步骤S41.云服务器对接收到的外包集合进行验证,其中,,对外包集合进行验证包括验证签名的合法性、外包数据块集合D的完整性和默克尔哈希树Tr的正确性;步骤S42.将存储在云服务器的存储空间中,云服务器CS向智能合约SC转账作为押金;步骤S43.将加载到飞地E的隔离内存区域PRM中存储。优选的,所述步骤S5的具体步骤为:步骤S51.将预设的审计周期时间t作为智能合约SC的输入,智能合约SC的challenge函数生成并输出一个随机种子r;步骤S52.云服务器CS基于随机种子r选取待审计数据块集合B;步骤S53.云服务器CS运行飞地E中的自审计程序P来读取云服务器CS生成的证明信息,其中,Q为待审计数据块集合B的块号集合,B为待审计数据块集合,H为用于默克尔哈希树根值验证的哈希值集合;步骤S54.自审计程序P对待审计数据块集合B中的待审计数据块进行解密,并根据待审计数据块的序列号判断该待审计数据块是否为抽样所要选取的数据块;步骤S55.若所述待审计数据块为抽样所要选取的数据块,则读取H集合中的哈希值来重构该待审计数据块的默克尔哈希树,并生成重构的默克尔哈希树的根值;步骤S56.判断待审计数据块的重构的默克尔哈希树的根值是否等于其最初加载的根值,若所述待审计数据块的重构的默克尔哈希树的根值等于其最初加载的根值,则该待审计数据块的完整性通过验证;步骤S57.重复步骤S54-步骤S56,直到遍历完数据块集合B中所有的待审计数据块;步骤S58.飞地E输出自审计结果,其中,为待审计数据块集合B中待审计数据块的完整性等式,表示用飞地E的私钥进行签名:若所有待审计数据块的完整性通过验证,则飞地E输出的自审计结果为,否则飞地E输出的自审计结果为。优选的,所述步骤S5之后还包括如下步骤:步骤S6.转账步骤:智能合约读取审计结果,并根据所述审计结果执行自动转账。优选的,所述步骤S6的具体步骤为:步骤S61.智能合约SC读取飞地E输出的自审计结果;步骤S62.智能合约SC判断的值:当时,智能合约SC按预设程序向云服务器C本文档来自技高网
...

【技术保护点】
1.基于SGX和以太坊区块链的云存储自审计方法,其特征在于,包括:/n步骤S1.系统初始化步骤:选取公开参数并生成实体的密钥,所述公开参数包括安全哈希函数和签名算法,所述实体的密钥包括用户的签名密钥对和飞地的签名密钥对;/n步骤S2.本地准备步骤:用户对拟外包的数据进行预处理来生成外包数据包,并生成辅助信息,所述辅助信息包括所述外包数据包对应的默克尔哈希树、自审计程序和智能合约;/n步骤S3.数据包外包步骤:用户将所述外包数据包和辅助信息发送给云服务器,用户与部署在云服务器上的飞地完成双向身份认证;/n步骤S4.云存储步骤:对所述外包数据包的完整性和所述辅助信息的正确性进行验证,在验证通过后,云服务器存储所述外包数据包,并将所述辅助信息加载到飞地中;/n步骤S5.自审计步骤:根据预设的审计周期,云服务器读取区块链系统的随机数来生成挑战信息,并运行飞地中的自审计程序来完成抽样数据块的完整性审计。/n

【技术特征摘要】
1.基于SGX和以太坊区块链的云存储自审计方法,其特征在于,包括:
步骤S1.系统初始化步骤:选取公开参数并生成实体的密钥,所述公开参数包括安全哈希函数和签名算法,所述实体的密钥包括用户的签名密钥对和飞地的签名密钥对;
步骤S2.本地准备步骤:用户对拟外包的数据进行预处理来生成外包数据包,并生成辅助信息,所述辅助信息包括所述外包数据包对应的默克尔哈希树、自审计程序和智能合约;
步骤S3.数据包外包步骤:用户将所述外包数据包和辅助信息发送给云服务器,用户与部署在云服务器上的飞地完成双向身份认证;
步骤S4.云存储步骤:对所述外包数据包的完整性和所述辅助信息的正确性进行验证,在验证通过后,云服务器存储所述外包数据包,并将所述辅助信息加载到飞地中;
步骤S5.自审计步骤:根据预设的审计周期,云服务器读取区块链系统的随机数来生成挑战信息,并运行飞地中的自审计程序来完成抽样数据块的完整性审计。


2.根据权利要求1所述的基于SGX和以太坊区块链的云存储自审计方法,其特征在于,所述步骤S1的具体步骤为:
步骤S11.选取安全哈希函数和签名算法;
步骤S12.生成用户U的签名密钥对和用户U的以太坊地址,其中为用户U的公钥,为用户U的私钥;
步骤S13.生成飞地E的签名密钥对和飞地E的以太坊地址,其中为飞地E的公钥,为飞地E的私钥;
步骤S14.获取云服务器CS的以太坊地址。


3.根据权利要求2所述的基于SGX和以太坊区块链的云存储自审计方法,其特征在于,所述步骤S2的具体步骤为:
步骤S21.将原始数据F加密并分块处理生成外包数据块集合,其中,为连接符号,表示编号为n的数据块;
步骤S22.用数据块的哈希值作为叶子结点来构造默克尔哈希树Tr,所述默克尔哈希树Tr的根值为root;
步骤S23.生成自审计程序P和智能合约SC。


4.根据权利要求3所述的基于SGX和以太坊区块链的云存储自审计方法,其特征在于,所述步骤S3的具体步骤为:
步骤S31.生成签名,并向云服务器CS发送外包集合,其中,,其中,P为将用于云服务器自审计的自审计程序,为云服务器将存储在其存储空间中的数据包,为云服务器将加载到飞地隔离内存区域PRM中存储的数据包;
步骤S32.将智能合约SC广播到以太坊网络,以太坊网络的矿工对智能合约SC进行验证,验证通过后将智能合约SC写入以太坊区块链;
步骤S33.在智能合约SC写入以太坊区块链后,用户向智能合约SC转账作为存储费用预存金额;
步骤S34.利用SGX技术的远程认证机制,用户U与部署在云服务器CS上的飞地E完成双向身份认证,用户U在双向身份认证成功后向飞地E共享飞地E的签名密钥对。

【专利技术属性】
技术研发人员:薛婧婷史凌杰罗抒琴
申请(专利权)人:西南石油大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1