[发明专利]一种基于状态通道的分布式日志审计系统及方法有效
申请号: | 202010227466.0 | 申请日: | 2020-03-27 |
公开(公告)号: | CN111490978B | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 陈晶;陈新;何琨;杜瑞颖 | 申请(专利权)人: | 武汉大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L9/32;G06F16/18;G06F21/64 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 魏波 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 状态 通道 分布式 日志 审计 系统 方法 | ||
1.一种基于状态通道的分布式日志审计系统,其特征在于:包括日志服务器集群、区块链网络和外部审计者;
所述日志服务器集群由若干服务器组成,通过TLS加密信道进行连接;所述区块链网络通过高效多方状态通道合约接口与所述日志服务器集群连接通信;
所述外部审计者的日志审计单元,通过TLS加密信道与日志服务器连接,通过高效多方状态通道合约接口与区块链进行连接;
所述日志服务器中的状态处理及存储单元用于对日志进行预处理、生成本地日志状态及全局日志状态以及与区块链的交互,接入状态通道的各种协议,包括状态的离链确认以及状态的上链;
所述区块链网络用于保护日志状态的安全性、完整性,通过该状态通道实现状态的链下确认,同时按照系统需求将带有集群所有日志服务器签名的状态提交至链上,保证状态的完整性以及链下的一致性;
所述外部审计者的日志审计单元用于对服务器日志记录进行审计,将原日志数据以及日志状态数据进行完整性校验,自动化得到日志审计结果,快速定位到被删改的日志条目。
2.一种基于状态通道的分布式日志审计方法,其特征在于:包括日志预处理及存储过程、高效多方状态通道过程和审计日志的验证过程;所述高效多方状态通道过程用于将全局状态在分布式集群中形成共识并按照系统需求提交至区块链网络;
所述日志预处理及存储过程具体包括以下步骤:
步骤A1:日志序列化;
在分布式日志审计系统中每个日志服务器生成日志缓存单元,该单元具有n个缓存集合分别缓存其他所有日志服务器最新产生的θ个日志,同时也保存本机产生的最新θ个日志记录,最终输出当前θ个日志的默克尔哈希树,日志缓存集合表示为:
其中pi代表第i台服务器,li代表服务器所处于的日志周期,表示第i个服务器的第t条日志,H(·)为一个哈希函数,表示第i个服务器对第i个服务器的日志缓存集合;liθ+1表示前li个周期共生成了liθ条日志记录,现在是第liθ+1条;
步骤A2:状态生成;
接收步骤A1中所生成的默克尔哈希树,并使用默克尔哈希根首先生成本地日志状态和全局日志状态,随后在集群内部进行广播确认;
步骤A3:离链状态确认;
使用高效多方状态通道对上一步的集群广播的全局日志状态确认,通过该状态通道将全局日志状态进行共识,通过共识的全局日志状态将记录于本地;该共识的全局日志状态用于后续的审计日志验证;
步骤A4:全局日志状态上链,链上状态更新;包含以下数据结构:日志缓存单元、本地日志状态、全局日志状态;
由当前日志服务器节点向区块链中的状态通道发生该全局日志状态,状态通道内部过程由高效多方状态通道过程完成,上链后的状态能用于争议的处理以及后续的验证;
所述高效多方状态通道过程具体包括以下步骤:
步骤B1:状态通道初始化;
首先在区块链上部署好高效多方状态通道的智能合约,包含高效多方状态通道与链下交互的代码,该合约用于建立多个状态通道实例,集群内所有日志服务器节点与区块链进行交互,建立起高效多方状态通道实例;实例表示形式如下:
Γ:={sid,P,G}
其中sid为实例的唯一标识符,P为参与该实例的成员集合,G为实例中存储的状态;
步骤B2:状态确认;
将状态进行集群内部共识,将原属于区块链的全网共识转移至链下部分日志服务器节点,以提高效率;该状态确认包含多轮,每轮负责β个状态确认,其中一个包含签名,并选择确定主节点;
步骤B3:状态提交;
将经过链下共识的状态提交至区块链上的状态通道合约,若检验通过,将该状态存储于合约内部;
步骤B4:状态通道关闭;
生成一个含关闭标记的状态使用轮签名状态生成一个全局关闭状态后提交至区块链上的状态通道合约,若检验通过,将关闭该状态通道实例;
步骤B5:状态争议处理;
具体实现过程包括以下子步骤:
步骤B5.1:当集群中某个日志服务器节点发送自己产生的全局日志状态但是不被由步骤B2中选择确定的主节点接收时,向区块链的状态通道合约发送更换请求,更换主节点,请求内容包含上一个产生的轮签名状态;
步骤B5.2:当区块链上的状态通道合约收到该更换请求,提取其中的轮签名状态首先验证该轮签名状态是否是最新的,通过对比状态通道实例内存储的状态的序列号与收到的状态序列号,若收到的状态序列号大,进行第二步验证,使用实例中存储的所有公钥对轮签名状态的所有签名进行验证,若所有公钥都被使用并签名合法,则该状态视为一个合法的状态;
所述审计日志的验证过程具体包括以下步骤:
步骤C1:审计者向集群中任意一台日志服务器请求,要求验证其本地数据的完整性;
步骤C2:被请求日志服务器接收到消息后,返回本地存储的所有全局日志状态Gv,以及对应的原日志数据;
步骤C3:审计者请求区块链上的该集群所对应高效状态通道实例,对比最新的全局日志状态与该实例存储的状态是否一致,若不一致则说明最新生成的日志已被篡改,若一致进行后续步骤;
步骤C4:审计者接收到全局日志状态与原日志数据后进行完整性校验,首先从全局日志装填中取出所有该日志服务器的本地日志状态,将每θ个原日志数据生成一个默克尔哈希树,并取其根哈希与前一个本地日志状态进行字符串拼接后进行哈希,对比与下一个本地日志状态是否一致,若不一致则说明该θ条日志被篡改,若一致则说明未被篡改。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010227466.0/1.html,转载请声明来源钻瓜专利网。