CN111490978B - 一种基于状态通道的分布式日志审计系统及方法 - Google Patents

一种基于状态通道的分布式日志审计系统及方法 Download PDF

Info

Publication number
CN111490978B
CN111490978B CN202010227466.0A CN202010227466A CN111490978B CN 111490978 B CN111490978 B CN 111490978B CN 202010227466 A CN202010227466 A CN 202010227466A CN 111490978 B CN111490978 B CN 111490978B
Authority
CN
China
Prior art keywords
state
log
channel
server
global
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010227466.0A
Other languages
English (en)
Other versions
CN111490978A (zh
Inventor
陈晶
陈新
何琨
杜瑞颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202010227466.0A priority Critical patent/CN111490978B/zh
Publication of CN111490978A publication Critical patent/CN111490978A/zh
Application granted granted Critical
Publication of CN111490978B publication Critical patent/CN111490978B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

本发明公开了一种基于状态通道的分布式日志审计系统及方法,系统包括日志服务器中的状态处理及存储单元、包含多方状态通道合约的区块链网络、外部审计者的日志审计单元组成;所述日志服务器中的状态处理及存储单元用于对日志进行预处理、生成本地日志状态及全局日志状态以及与区块链的交互;所述高效多方状态通道合约的区块链网络用于保护日志状态的安全性、完整性,通过该状态通道实现状态的链下确认;所述外部审计者的日志审计单元用于对服务器日志记录进行审计,自动化得到审计结果。本发明所提供的基于状态通道的分布式日志审计系统能够在计算机的入侵检测及数字取证等领域,为使用者提供可靠、安全的日志完整性保护方法。

Description

一种基于状态通道的分布式日志审计系统及方法
技术领域
本发明属于区块链技术领域,涉及一种分布式日志审计系统及方法,具体涉及一种基于状态通道的分布式集群环境下的快速日志审计系统及方法。
背景技术
日志是一组与安全相关的具有时序的记录,它可以用来对计算机系统的事件进行入侵检测和数字取证。特别是在大规模的组织机构中,通常利用从多个服务器更新的审计日志来检测攻击。这些计算机(例如,web服务器、防火墙和入侵检测系统)共同组成一个分布式的集群环境。现在大部分企业都选用功能完备的日志审计系统对日志数据进行采集、分析、存储和展示。
研究人员已经证明通过使用攻击调查技术,例如因果关系分析表明,管理员可以通过审计跟踪许多攻击日志,甚至高级持久威胁(APT攻击)。传统的审计日志的存储是把日志落入系统文件或数据库,定期备份。但是,随着黑客活动日益猖獗和隐蔽,传统的日志审计系统本身也存在被攻击和篡改的可能。显然,日志的完整性是一个关键因素,需要保证。
分布式日志审计主要可以归为两个方向的解决思路。一个解决方案是外包日志审计到云服务提供商,并使用可证明的数据持有(PDP)或可检索性证明(PoR)来检查日志完整性。但是,使用云服务进行日志审计会带来两个问题,一个是云服务提供商本身的信任问题,第二是在进行日志上传与校验时花费的时间会较长。另一种选择是采用区块链技术,该技术主要用于保护小而大量具有时序顺序的数据的完整性。该种技术存储有审计日志或日志的校验和在区块链中。当审计者需要检查时日志完整性,它将区块链中的数据与审计日志进行比较以估计日志是否已被修改。现有的基于区块链的方案中要求每条记录(或记录的校验和)都存储于区块链之中,这就要求每条记录发布到整个网络并通过所有参与者的共识机制来保存到区块链中。然而,这些解决方案在实际中不足以解决海量日志生成的问题。据估计,一台普通web服务器一天可产生上百万条日志,需要占用上百MB的存储空间,然而当前区块链的吞吐量以及其本身区块链的存储空间不足以支撑如此海量并发数据的存储。
由于区块链不同共识下吞吐量的限制,大量的文献探索了不同的区块链规模解决方案:(1)分片共识和(2)状态通道。分片共识需要协调现有的共识机制和区块链的整体改进。
发明内容
鉴于以上提及的传统的日志审计系统及现有基于区块链日志审计系统无法满级集群环境下审计日志的海量并发需求,本发明提供了一种在分布式集群环境下具有高效性、低延时、互监督的基于状态通道的日志审计系统及方法。
本发明的系统所采用的技术方案是:一种基于状态通道的分布式日志审计系统,其特征在于:包括日志服务器集群、区块链网络和外部审计者;
所述日志服务器集群由若干服务器组成,通过TLS加密信道进行连接;所述区块链网络通过高效多方状态通道合约接口与所述日志服务器集群连接通信;
所述外部审计者的日志审计单元,通过TLS加密信道与日志服务器连接,通过高效多方状态通道合约接口与区块链进行连接;
所述日志服务器中的状态处理及存储单元用于对日志进行预处理、生成本地日志状态及全局日志状态以及与区块链的交互,接入状态通道的各种协议,包括状态的离链确认以及状态的上链;
所述区块链网络用于保护日志状态的安全性、完整性,通过该状态通道实现状态的链下确认,同时按照系统需求将带有集群所有日志服务器签名的状态提交至链上,保证状态的完整性以及链下的一致性;
所述外部审计者的日志审计单元用于对服务器日志记录进行审计,将原日志数据以及日志状态数据进行完整性校验,自动化得到日志审计结果,快速定位到被删改的日志条目。
本发明的方法所采用的技术方案是:一种基于状态通道的分布式日志审计方法,其特征在于:包括日志预处理及存储过程、高效多方状态通道过程和审计日志的验证过程;所述高效多方状态通道过程用于将全局状态在分布式集群中形成共识并按照系统需求提交至区块链网络。
本发明相比现有技术,其优点和积极效果主要体现在以下几个方面:
(1)本发明提供了一种基于状态通道的分布式日志审计系统,基于我们的设计,日志的修改或删除既能够被集群内的服务器检测到也可以通过外部审计者检测到;
(2)本发明设计了在集群内代表日志状态的数据结构,同时设计了其对应日志的验证方式,其好处在于能够快速定位错误日志的条目,同时日志状态减少了日志的上链存储开销;
(3)本发明设计了一种基于区块链的高效多方状态通道,能够减少上链的数据量,并且同时保证其安全性,同时本方案与其他状态通道方案具有低延时、高一致性的特点。
附图说明
图1为本发明实施例的系统框架图;
图2为本发明实施例中日志预处理及存储过程的原理图;
图3为本发明实施例中高效多方状态通道过程的原理图;
图4为本发明实施例中审计日志验证过程的原理图。
具体实施方式
为了便于本领域普遍技术人员的理解和实施本发明,下面结合附图及实施例对本发明作为进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
针对背景技术中指出的技术问题,本发明采用了一个更为通用的解决方案,即不需要改变原始区块链的状态通道来适应本文场景。状态通道源于支付通道,用于区块链中两个节点之间的支付交互。其背后的主要思想是将大量的小额交易放置于链下进行。希望开通支付通道的各方在区块链上部署一个特殊的“通道合约”,并在其中锁定一定数量的货币。然后,他们可以自由更新通道的平衡,而不需要跟区块链进行交互。只有当支付通道的相关方希望关闭该通道时,或者当他们产生分歧时,才会联系区块链,在这种情况下,该通道合同公平地进行处理与结算。状态通道是对支付通道的进一步延伸,丰富了支付通道的功能,其中锁定的内容不再限于货币,可以是任意形式的数据,因此本发明首次提出将状态通道作为区块链的吞吐量解决方案用于该场景中。
请见图1,本发明提供的一种基于状态通道的分布式日志审计系统,包括日志服务器集群、区块链网络和外部审计者;
日志服务器集群由若干服务器组成,通过TLS加密信道进行连接;所述区块链网络通过高效多方状态通道合约接口与所述日志服务器集群连接通信;
所述外部审计者的日志审计单元,通过TLS加密信道与日志服务器连接,通过高效多方状态通道合约接口与区块链进行连接。
日志服务器中的状态处理及存储单元用于对日志进行预处理、生成本地日志状态及全局日志状态以及与区块链的交互,接入状态通道的各种协议,包括状态的离链确认以及状态的上链;
高效多方状态通道合约的区块链网络用于保护日志状态的安全性、完整性,通过该状态通道实现状态的链下确认,同时按照系统需求将带有集群所有日志服务器签名的状态提交至链上,保证状态的完整性以及链下的一致性;
外部审计者的日志审计单元用于对服务器日志记录进行审计,将原日志数据以及日志状态数据进行完整性校验,自动化得到日志审计结果,快速定位到被删改的日志条目。
本发明提供的一种基于状态通道的分布式日志审计方法,包括可以并行的三个过程:日志预处理及存储过程、高效多方状态通道过程和审计日志的验证过程;高效多方状态通道过程用于将全局状态在分布式集群中形成共识并按照系统需求提交至区块链网络。
请见图2,本实施例的日志预处理及存储过程,具体过程包括以下步骤:
步骤A1:日志序列化过程在分布式系统中每个日志服务器生成日志缓存单元,该单元具有n个缓存集合分别缓存其他所有日记服务器最新产生的θ个日志,同时也保存本机产生的最新θ个日志记录,该阶段最终输出当前θ个日志的默克尔哈希树,日志缓存集合可以表示为
Figure BDA0002428189020000041
其中pi代表第i台日记服务器,li代表日记服务器所处于的日志周期,
Figure BDA0002428189020000042
表示第i个日记服务器的第t条日志,H(·)为一个哈希函数,
Figure BDA0002428189020000043
表示第i个日记服务器对第i个日记服务器的日志缓存集合,liθ+1表示前li个周期共生成了liθ条日志记录,现在是第liθ+1条;
步骤A1的具体过程包括以下子步骤:
步骤A1.1:每当日志服务器Pi生成一条日志记录
Figure BDA0002428189020000044
将其广播至集群内部,并同时存储于本地的日志缓存单元;
步骤A1.2:当集群内日志服务器Pj接收到来自日志服务器Pi的一条日志,当该日志服务器Pj对Pi日志缓存单元的日志数量小于θ时,将其存储于Pj的日志缓存单元,日志服务器Pj缓存单元对于单个日志服务器节点的上限为θ个日志;
步骤A1.3:每当集群内日志服务器接收到一条日志,当日志服务器Pj对Pi日志缓存单元的日志数量小于θ时,将其存储于Pj的日志缓存单元,取出Pj日志服务器对Pi日志缓存单元的θ条日志,并用其生存默克尔哈希树
Figure BDA0002428189020000051
将默克尔哈希树的根
Figure BDA0002428189020000052
进行广播;
步骤A1.4:当日志服务器Pi收到其他所有节点发来的默克尔哈希根
Figure BDA0002428189020000053
将本地的θ条日志取出并生成默克尔哈希树,将该默克尔哈希树的根与其他节点发送的值进行对比,若全部一致则代表该段日志未被篡改,若不一致则代表有日志被篡改了。
步骤A2:状态生成阶段接收A1所生成的默克尔哈希树,并使用默克尔哈希根
Figure BDA0002428189020000054
首先生成本地日志状态,和全局日志状态,随后在集群内部进行广播确认;
步骤A2的具体过程包括以下子步骤:
步骤A2.1:本地日志状态生成;
由该默克尔哈希树的根与该节点上一个本地日志状态进行字符串拼接后进行哈希得到,本地日志状态生成如下:
Figure BDA0002428189020000055
其中
Figure BDA0002428189020000056
表示第i个日志服务器的第li个周期的本地日志状态;
Figure BDA0002428189020000057
表示日志服务器Pi的第li个周期所生产的默克尔哈希树的根
步骤A2.2:全局日志状态生成;
通过合并所有日志服务器节点的本地日志状态得到,其形式如下:
Figure BDA0002428189020000058
该全局日志状态具有一个序列号v(每次递增);每当一个日志服务器节点生成一个新的本地日志状态,便取出上一个全局日志状态,将其中本日志服务器节点的本地日志状态替换为新的本地日志状态,同时进行集群内广播;
步骤A2.3:全局日志状态验证;
每当一个日志服务器节点收到一条广播的全局日志状态,将该状态与上一条全局日志状态对比,其中一条某服务器Pi的本地日志状态有修改,通过取出对Pi的日志缓存单元的θ条日志并生成默克尔哈希树,取其根与上一条全局日志状态中Pi的本地日志状态进行字符串拼接并进行哈希得到新的本地日志状态,对比该本地日志状态与广播收到的全局日志状态中Pi的本地日志状态是否一致,若一致则说明状态未被篡改,不一致则说明已被篡改,抛弃该全局日志状态。
步骤A3:离链状态确认;
使用高效多方状态通道对上一步的集群广播的全局日志状态确认,通过该状态通道将全局日志状态进行共识,通过共识的全局日志状态将记录于本地;该共识的全局日志状态用于后续的审计日志验证;
步骤A4:全局日志状态上链,链上状态更新;包含以下数据结构:日志缓存单元、本地日志状态、全局日志状态;
由当前日志服务器节点向区块链中的状态通道发生该全局日志状态,状态通道内部过程由高效多方状态通道过程完成,上链后的状态能用于争议的处理以及后续的验证。
请见图2,本实施例中高效多方状态通道过程具体包括以下步骤:
步骤B1:状态通道初始化,首先在区块链上部署好高效多方状态通道的智能合约(包含高效多方状态通道与链下交互的代码),该合约可用于建立多个状态通道实例,集群内所有节点与区块链进行交互,建立起高效多方状态通道实例,实例表示形式如下:
Γ:={sid,P,G}
其中sid为实例的唯一标识符,P为参与该实例的成员集合,G为实例中存储的状态;
步骤B1的具体过程包括以下子步骤:
步骤B1.1:由集群内一台日记服务器发生至区块链请求建立高效多方状态通道,并发送自己的公钥地址,智能合约此时会返回一个状态通道的唯一标识sid,并初始化一个状态通道,其中存储全局日志状态和所有节点的公钥地址,该日记服务器将该状态通道唯一标识记录下,并广播至集群内其他节点;
步骤B1.2:其他节点收到状态通道唯一标识sid,将本节点的公钥地址PKpi与该状态通道唯一标识一同发送至区块链上的状态通道智能合约,当该合约接收到消息后,将状态通道唯一标识匹配至刚才建立的那条通道,并将该消息中的公钥地址PKpi加入合约的存储模块。当所有节点完成了消息发送,便建立起了一条状态通道。
步骤B2:状态确认过程,该过程用于将状态进行集群内部共识,它主要用于将原属于区块链的全网共识转移至链下部分节点,以提高效率,该状态确认包含多轮,每轮负责β个状态确认,其中一个包含签名;
步骤B2的具体过程包括以下子步骤:
B2.1:主节点选择,在分布式集群中根据公钥地址的字典序大小,按照从大到小顺序指定主节点;
B2.2:轮签名状态生成,在主节点选举后第一个分布式集群中生成的状态需要所有节点的签名,该状态可用于提交至区块链上的状态通道合约储存,轮签名状态表示形式如下:
Figure BDA0002428189020000071
其中Spi为第i个日志服务器的签名,具体流程如下:当一个新全局日志状态Gv生成,首先提交至主节点,主节点进行对该状态签名后,分发至集群内所有其他日志服务器节点,其他日志服务器节点对该状态使用主节点公钥进行验证,验证通过过,返回自己对该状态Gv的签名,主节点收集到所有日志服务器节点的签名后,与全局日志状态共同构成轮签名状态
Figure BDA0002428189020000072
并发送至所有日志服务器节点;
步骤B2.3:轮非签名状态生成;
除了主节点选举后的第一个分布式集群中生成的状态不需要所有日志服务器节点的签名,当集群中生成一个新的全局日志状态Gv时,将该状态发送至主节点,由该轮的主节点负责将状态同步至所有日志服务器节点,保证所有日志服务器节点拥有相同序列号的全局日志状态。
步骤B3:状态提交;
将经过链下共识的状态提交至区块链上的状态通道合约,若检验通过,将该状态存储于合约内部;
步骤B3的具体过程包括以下子步骤:
步骤B3.1:集群中任意日志服务器节点将最新的轮签名状态
Figure BDA0002428189020000081
发送至区块链上的含有状态通道的智能合约;
步骤B3.2:部署在区块链上的状态通道合约通过该日志服务器节点的公钥确认其所属的状态通道实例Γ,随后验证该轮签名状态的,第一步验证该轮签名状态
Figure BDA0002428189020000082
是否是最新的,通过对比状态通道实例内存储的状态的序列号v与收到的状态序列号v’,若收到的状态序列号大,进行第二步验证,使用实例中存储的所有公钥P对轮签名状态的所有签名进行验证,若所有公钥都被使用并签名合法,则该状态视为一个合法的状态,将该轮签名状态存储于状态通道实例的存储模块中。
步骤B4:状态通道关闭,该过程同样生成一个含关闭标记的状态
Figure BDA0002428189020000083
使用B2.2的轮签名状态生成一个全局关闭状态后提交至区块链上的状态通道合约,若检验通过,将关闭该状态通道通道实例;
步骤B5:状态争议处理,由于高校多方状态通道方案中B2是在每轮共识中设立有主节点,为了避免个别节点与主节点进行合谋攻击,我们提供一种轮换主节点的争议处理方式。
步骤B5的具体过程包括以下子步骤:
步骤B5.1:当集群中某个日志服务器节点发送自己产生的全局日志状态但是不被主节点接收时,可以向区块链的状态通道合约发送更换请求,更换主节点,请求内容包含上一个产生的轮签名状态;
步骤B5.2:当区块链上的状态通道合约收到该更换请求,提取其中的轮签名状态
Figure BDA0002428189020000084
首先验证该轮签名状态是否是最新的,通过对比状态通道实例内存储的状态的序列号与收到的状态序列号,若收到的状态序列号大,进行第二步验证,使用实例中存储的所有公钥对轮签名状态的所有签名进行验证,若所有公钥都被使用并签名合法,则该状态视为一个合法的状态。
步骤B5.3:状态通道此时重新指定一个新的主节点,该主节点从除了发出更换请求节点以及上一个轮签名状态的主节点外随机选取,并同时要求链下集群生成的下一个轮签名状态的序列号v为更换请求中轮签名状态的序列号加一即v+1,这就保证了该轮签名状态的主节点并没有进行步骤B2.3轮非签名状态生成,阻止了合谋攻击。
请见图4,本实施例审计日志的验证过程,具体过程包括以下:
步骤C1:审计者向集群中任意一台日记服务器请求,要求验证其本地数据的完整性;
步骤C2:被请求日记服务器接收到消息后,返回本地存储的所有全局日志状态Gv,以及对应的原日志数据;
步骤C3:审计者请求区块链上的该集群所对应高效状态通道实例,对比最新的全局日志状态与该实例存储的状态是否一致,若不一致则说明最新生成的日志已被篡改,若一致进行后续步骤;
步骤C4:审计者接收到全局日志状态与原日志数据后进行完整性校验,首先从全局日志装填中取出所有该日记服务器的本地日志状态,将每θ个原日志数据生成一个默克尔哈希树,并取其根哈希
Figure BDA0002428189020000091
与前一个本地日志状态
Figure BDA0002428189020000092
进行字符串拼接后进行哈希,对比与下一个本地日志状态是否一致,若不一致则说明该段日志被篡改,若一致则说明未被篡改。
本发明能够提供:
1.分布式集群内部的日志数据互监督:在分布式集群内部,每个日记服务器都能通过对日志的部分缓存,进行有效的监督,保证最新产生并未上链的数据的安全性、完整性;
2.高效多方状态通道,保证日志状态的完整性:状态通道能够压缩上链的数据量,并且本发明中高效多方状态通道扩展了原有状态通道的模式,提供多个参与节点的状态通道模式、提供了理想情况下O(1)的状态确认时延,并且保证了通道内状态的一致性,能够广泛应用于其他海量数据场景,;
3.高效的历史日志数据审计:外部审计可以通过本方法,进行对历史日志数据的快速审计,高效定位到删改的日志,能够用于数字取证等领域;
本发明能够在计算机的入侵检测及数字取证等更多领域,为使用者提供可靠、安全的日志完整性保护方法。
应当理解的是,本说明书为详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

Claims (7)

1.一种基于状态通道的分布式日志审计系统,其特征在于:包括日志服务器集群、区块链网络和外部审计者;
所述日志服务器集群由若干服务器组成,通过TLS加密信道进行连接;所述区块链网络通过高效多方状态通道合约接口与所述日志服务器集群连接通信;
所述外部审计者的日志审计单元,通过TLS加密信道与日志服务器连接,通过高效多方状态通道合约接口与区块链进行连接;
所述日志服务器中的状态处理及存储单元用于对日志进行预处理、生成本地日志状态及全局日志状态以及与区块链的交互,接入状态通道的各种协议,包括状态的离链确认以及状态的上链;
所述区块链网络用于保护日志状态的安全性、完整性,通过该状态通道实现状态的链下确认,同时按照系统需求将带有集群所有日志服务器签名的状态提交至链上,保证状态的完整性以及链下的一致性;
所述外部审计者的日志审计单元用于对服务器日志记录进行审计,将原日志数据以及日志状态数据进行完整性校验,自动化得到日志审计结果,快速定位到被删改的日志条目。
2.一种基于状态通道的分布式日志审计方法,其特征在于:包括日志预处理及存储过程、高效多方状态通道过程和审计日志的验证过程;所述高效多方状态通道过程用于将全局状态在分布式集群中形成共识并按照系统需求提交至区块链网络;
所述日志预处理及存储过程具体包括以下步骤:
步骤A1:日志序列化;
在分布式日志审计系统中每个日志服务器生成日志缓存单元,该单元具有n个缓存集合分别缓存其他所有日志服务器最新产生的θ个日志,同时也保存本机产生的最新θ个日志记录,最终输出当前θ个日志的默克尔哈希树,日志缓存集合表示为:
Figure FDA0002893252730000011
其中pi代表第i台服务器,li代表服务器所处于的日志周期,
Figure FDA0002893252730000012
表示第i个服务器的第t条日志,H(·)为一个哈希函数,
Figure FDA0002893252730000013
表示第i个服务器对第i个服务器的日志缓存集合;liθ+1表示前li个周期共生成了liθ条日志记录,现在是第liθ+1条;
步骤A2:状态生成;
接收步骤A1中所生成的默克尔哈希树,并使用默克尔哈希根
Figure FDA0002893252730000021
首先生成本地日志状态和全局日志状态,随后在集群内部进行广播确认;
步骤A3:离链状态确认;
使用高效多方状态通道对上一步的集群广播的全局日志状态确认,通过该状态通道将全局日志状态进行共识,通过共识的全局日志状态将记录于本地;该共识的全局日志状态用于后续的审计日志验证;
步骤A4:全局日志状态上链,链上状态更新;包含以下数据结构:日志缓存单元、本地日志状态、全局日志状态;
由当前日志服务器节点向区块链中的状态通道发生该全局日志状态,状态通道内部过程由高效多方状态通道过程完成,上链后的状态能用于争议的处理以及后续的验证;
所述高效多方状态通道过程具体包括以下步骤:
步骤B1:状态通道初始化;
首先在区块链上部署好高效多方状态通道的智能合约,包含高效多方状态通道与链下交互的代码,该合约用于建立多个状态通道实例,集群内所有日志服务器节点与区块链进行交互,建立起高效多方状态通道实例;实例表示形式如下:
Γ:={sid,P,G}
其中sid为实例的唯一标识符,P为参与该实例的成员集合,G为实例中存储的状态;
步骤B2:状态确认;
将状态进行集群内部共识,将原属于区块链的全网共识转移至链下部分日志服务器节点,以提高效率;该状态确认包含多轮,每轮负责β个状态确认,其中一个包含签名,并选择确定主节点;
步骤B3:状态提交;
将经过链下共识的状态提交至区块链上的状态通道合约,若检验通过,将该状态存储于合约内部;
步骤B4:状态通道关闭;
生成一个含关闭标记的状态
Figure FDA0002893252730000031
使用轮签名状态生成一个全局关闭状态后提交至区块链上的状态通道合约,若检验通过,将关闭该状态通道实例;
步骤B5:状态争议处理;
具体实现过程包括以下子步骤:
步骤B5.1:当集群中某个日志服务器节点发送自己产生的全局日志状态但是不被由步骤B2中选择确定的主节点接收时,向区块链的状态通道合约发送更换请求,更换主节点,请求内容包含上一个产生的轮签名状态;
步骤B5.2:当区块链上的状态通道合约收到该更换请求,提取其中的轮签名状态
Figure FDA0002893252730000032
首先验证该轮签名状态是否是最新的,通过对比状态通道实例内存储的状态的序列号与收到的状态序列号,若收到的状态序列号大,进行第二步验证,使用实例中存储的所有公钥对轮签名状态的所有签名进行验证,若所有公钥都被使用并签名合法,则该状态视为一个合法的状态;
所述审计日志的验证过程具体包括以下步骤:
步骤C1:审计者向集群中任意一台日志服务器请求,要求验证其本地数据的完整性;
步骤C2:被请求日志服务器接收到消息后,返回本地存储的所有全局日志状态Gv,以及对应的原日志数据;
步骤C3:审计者请求区块链上的该集群所对应高效状态通道实例,对比最新的全局日志状态与该实例存储的状态是否一致,若不一致则说明最新生成的日志已被篡改,若一致进行后续步骤;
步骤C4:审计者接收到全局日志状态与原日志数据后进行完整性校验,首先从全局日志装填中取出所有该日志服务器的本地日志状态,将每θ个原日志数据生成一个默克尔哈希树,并取其根哈希
Figure FDA0002893252730000033
与前一个本地日志状态
Figure FDA0002893252730000034
进行字符串拼接后进行哈希,对比与下一个本地日志状态是否一致,若不一致则说明该θ条日志被篡改,若一致则说明未被篡改。
3.根据权利要求2所述的基于状态通道的分布式日志审计方法,其特征在于,步骤A1的具体包括以下子步骤:
步骤A1.1:每当日志服务器Pi生成一条日志记录
Figure FDA0002893252730000041
将其广播至集群内部,并同时存储于本地的日志缓存单元;
步骤A1.2:当集群内日志服务器Pj接收到来自日志服务器Pi的一条日志,当该日志服务器Pj对Pi日志缓存单元的日志数量小于θ时,将其存储于Pj的日志缓存单元
Figure FDA0002893252730000042
日志服务器Pj缓存单元对于其他单个日志服务器节点的上限为θ个日志;
步骤A1.3:每当集群内日志服务器Pj接收到一条日志,当日志服务器Pj对Pi日志缓存单元
Figure FDA0002893252730000043
的日志数量小于θ时,将其存储于Pj的日志缓存单元,否则取出Pj对Pi日志缓存单元的θ条日志,并用其生成默克尔哈希树
Figure FDA0002893252730000044
将默克尔哈希树的根
Figure FDA0002893252730000045
进行广播;
步骤A1.4:当日志服务器Pi收到其他所有节点发来的默克尔哈希根
Figure FDA0002893252730000046
将本地的θ条日志取出并生成默克尔哈希树,将该默克尔哈希树的根与其他节点发送的值进行对比,若全部一致则代表该θ条日志未被篡改,若不一致则代表有日志被篡改了。
4.根据权利要求3所述的基于状态通道的分布式日志审计方法,其特征在于,步骤A2的具体包括以下子步骤:
步骤A2.1:本地日志状态生成;
由该默克尔哈希树的根与该节点上一个本地日志状态进行字符串拼接后进行哈希得到,本地日志状态生成如下:
Figure FDA0002893252730000047
其中
Figure FDA0002893252730000048
表示第i个日志服务器的第li个周期的本地日志状态;
Figure FDA0002893252730000049
表示日志服务器Pi的第li个周期所生产的默克尔哈希树的根;
步骤A2.2:全局日志状态生成;
通过合并所有日志服务器节点的本地日志状态得到,其形式如下:
Figure FDA00028932527300000410
该全局日志状态具有一个序列号v;每当一个日志服务器节点生成一个新的本地日志状态,便取出上一个全局日志状态,将其中本日志服务器节点的本地日志状态替换为新的本地日志状态,同时进行集群内广播;
步骤A2.3:全局日志状态验证;
每当一个日志服务器节点收到一条广播的全局日志状态,将该状态与上一条全局日志状态对比,其中一条某服务器Py的本地日志状态有修改,通过取出对Py的日志缓存单元的θ条日志并生成默克尔哈希树,取其根与上一条全局日志状态中Py的本地日志状态进行字符串拼接并进行哈希得到新的本地日志状态,对比该本地日志状态与广播收到的全局日志状态中Py的本地日志状态是否一致,若一致则说明状态未被篡改,不一致则说明已被篡改,抛弃该全局日志状态。
5.根据权利要求2所述的基于状态通道的分布式日志审计方法,其特征在于,步骤B1的具体实现过程包括以下子步骤:
步骤B1.1:由集群内一台日志服务器发送至区块链请求建立高效多方状态通道,并发送自己的公钥地址,智能合约此时会返回一个状态通道的唯一标识,并初始化一个状态通道,其中存储全局日志状态和所有日志服务器节点的公钥地址,该服务器将该状态通道唯一标识记录下,并广播至集群内其他日志服务器节点;
步骤B1.2:其他日志服务器节点收到状态通道唯一标识,将本日志服务器节点的公钥地址与该状态通道唯一标识一同发送至区块链上的状态通道智能合约,当该合约接收到消息后,将状态通道唯一标识匹配至刚才建立的那条通道,并将该消息中的公钥地址加入合约的存储模块;当所有节点完成了消息发送,便建立起了一条状态通道。
6.根据权利要求5所述的基于状态通道的分布式日志审计方法,其特征在于,步骤B2的具体实现过程包括以下子步骤:
步骤B2.1:主节点选择;
在分布式集群中根据公钥地址的字典序大小,按照从大到小顺序指定主节点;
步骤B2.2:轮签名状态生成;
在主节点选举后第一个分布式集群中生成的状态需要所有节点的签名,该状态用于提交至区块链上的状态通道合约储存,轮签名状态表示形式如下:
Figure FDA0002893252730000061
其中Spi为第i个日志服务器的签名,具体流程如下:当一个新全局日志状态Gv生成,首先提交至主节点,进行对该状态签名后,分发至集群内所有其他日志服务器节点,其他日志服务器节点对该状态使用主节点公钥进行验证,验证通过,返回自己对该状态Gv的签名,主节点收集到所有日志服务器节点的签名后,与全局日志状态共同构成轮签名状态
Figure FDA0002893252730000062
并发送至所有日志服务器节点;
步骤B2.3:轮非签名状态生成;
除了主节点选举后的第一个分布式集群中生成的状态不需要所有日志服务器节点的签名,当集群中生成一个新的全局日志状态Gv时,将该状态发送至主节点,由该轮的主节点负责将状态同步至所有日志服务器节点,保证所有日志服务器节点拥有相同序列号的全局日志状态。
7.根据权利要求6所述的基于状态通道的分布式日志审计方法,其特征在于,步骤B3的具体实现过程包括以下子步骤:
步骤B3.1:集群中任意日志服务器节点将最新的轮签名状态
Figure FDA0002893252730000063
发送至区块链上的含有状态通道的智能合约;
步骤B3.2:区块链上部署的状态通道合约通过该日志服务器节点的公钥确认其所属的状态通道实例Γ,随后验证该轮签名状态,第一步验证该轮签名状态
Figure FDA0002893252730000064
是否是最新的,通过对比状态通道实例内存储的状态的序列号v与收到的状态序列号v’,若收到的状态序列号大,进行第二步验证;使用实例中存储的所有公钥P对轮签名状态的所有签名进行验证,若所有公钥都被使用并签名合法,则该状态视为一个合法的状态,将该轮签名状态存储于状态通道实例的存储模块中。
CN202010227466.0A 2020-03-27 2020-03-27 一种基于状态通道的分布式日志审计系统及方法 Active CN111490978B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010227466.0A CN111490978B (zh) 2020-03-27 2020-03-27 一种基于状态通道的分布式日志审计系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010227466.0A CN111490978B (zh) 2020-03-27 2020-03-27 一种基于状态通道的分布式日志审计系统及方法

Publications (2)

Publication Number Publication Date
CN111490978A CN111490978A (zh) 2020-08-04
CN111490978B true CN111490978B (zh) 2021-02-19

Family

ID=71794711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010227466.0A Active CN111490978B (zh) 2020-03-27 2020-03-27 一种基于状态通道的分布式日志审计系统及方法

Country Status (1)

Country Link
CN (1) CN111490978B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112152797B (zh) * 2020-08-26 2021-09-17 西安电子科技大学 区块链远程数据审计监管方法、系统、计算机设备及终端
CN112380209B (zh) * 2020-10-29 2021-08-20 华东师范大学 一种面向区块链多通道状态数据的聚集结构树方法
CN112564985A (zh) * 2020-12-24 2021-03-26 南京联成科技发展股份有限公司 一种基于区块链的安全运维管理的方法
CN112765621B (zh) * 2021-01-06 2023-03-14 武汉大学 一种基于区块链多方状态通道的异质频谱拍卖方法
CN113810228A (zh) * 2021-09-13 2021-12-17 中国人民银行清算总中心 消息队列通道重置方法及装置
CN116028990B (zh) * 2023-03-30 2023-07-18 中国科学技术大学 一种基于区块链的防篡改隐私保护日志审计方法
CN117176472B (zh) * 2023-10-30 2024-01-09 杭州海康威视数字技术股份有限公司 基于智能密码安全设备数据防篡改方法、装置及系统
CN117692149B (zh) * 2024-01-25 2024-05-07 鹏城实验室 一种日志透明实体诚实性的检验方法、设备以及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833514A (zh) * 2018-06-01 2018-11-16 众安信息技术服务有限公司 基于区块链的审计日志处理方法、装置和日志审计系统
CN108900505A (zh) * 2018-06-28 2018-11-27 中国科学院软件研究所 一种基于区块链技术的集群审计管控方法
CN109727131A (zh) * 2018-12-28 2019-05-07 苏州鸿链信息科技有限公司 一种基于区块链合约层的链下执行交易方法及系统
CN109873879A (zh) * 2019-04-17 2019-06-11 上海沄界信息科技有限公司 可数据确权的分布式云存储方法及装置
CN110147994A (zh) * 2019-04-13 2019-08-20 山东公链信息科技有限公司 一种基于同态加密的区块链的即时执行方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019236471A1 (en) * 2018-06-04 2019-12-12 Coral Protocol Decentralized safeguard against fraud
CN109815203A (zh) * 2019-02-12 2019-05-28 山东超越数控电子股份有限公司 一种基于区块链的日志审计方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833514A (zh) * 2018-06-01 2018-11-16 众安信息技术服务有限公司 基于区块链的审计日志处理方法、装置和日志审计系统
CN108900505A (zh) * 2018-06-28 2018-11-27 中国科学院软件研究所 一种基于区块链技术的集群审计管控方法
CN109727131A (zh) * 2018-12-28 2019-05-07 苏州鸿链信息科技有限公司 一种基于区块链合约层的链下执行交易方法及系统
CN110147994A (zh) * 2019-04-13 2019-08-20 山东公链信息科技有限公司 一种基于同态加密的区块链的即时执行方法
CN109873879A (zh) * 2019-04-17 2019-06-11 上海沄界信息科技有限公司 可数据确权的分布式云存储方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CertChain: Public and Efficient Certificate Audit Based on Blockchain for TLS Connections;Jing Chen等;《IEEE INFOCOM 2018 - IEEE Conference on Computer Communications》;20181011;第2060-2068页 *

Also Published As

Publication number Publication date
CN111490978A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN111490978B (zh) 一种基于状态通道的分布式日志审计系统及方法
EP3732865B1 (en) Concurrent transaction processing in a high performance distributed system of record
CN109766673B (zh) 一种联盟式音视频版权区块链系统及音视频版权上链方法
WO2021073452A1 (zh) 基于区块链网络的数据处理方法、装置、电子设备及存储介质
CN112041872A (zh) 在分区区块链网络中维护区块链的区块
EP2959631B1 (en) Verification system and method with extra security for lower-entropy input records
CN111314067B (zh) 区块存储方法、装置、计算机设备及存储介质
CN115210741B (zh) 部分有序的区块链
CN112765245A (zh) 一种电子政务大数据处理平台
CN110546636A (zh) 联盟区块链网络中的机密性
CN110298754B (zh) 一种应用于区块链的共识方法
CN109936620B (zh) 基于区块链的存储方法及装置、系统与存储介质
CN109840769B (zh) 基于区块链的存证方法及装置、系统与存储介质
CN113660092A (zh) 一种基于零知识证明的电力数据上传系统和方法
Sohrabi et al. ZyConChain: A scalable blockchain for general applications
CN112307501A (zh) 基于区块链技术的大数据系统及存储方法和使用方法
CN113886841A (zh) 一种面向云数据操作行为的可信溯源方法
CN112732695A (zh) 一种基于区块链的云存储数据安全去重方法
CN113127562A (zh) 一种低冗余区块链数据存储和检索方法及系统
Shamis et al. {ia-ccf}: Individual accountability for permissioned ledgers
CN116827957B (zh) 基于多区块链的信息处理方法、装置、设备以及介质
CN111506661B (zh) 一种内容访问管理方法、装置和存储介质
CN110992182A (zh) 区块链钱包的交易方法及系统
CN113570321B (zh) 氢能数据管理系统
WO2021222078A1 (en) High performance distributed system of record with unspent transaction output (utxo) database snapshot integrity

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant