基于区块链的日志审计方法及装置与流程

文档序号:24161035发布日期:2021-03-05 16:53阅读:241来源:国知局
基于区块链的日志审计方法及装置与流程

[0001]
本发明涉及信息安全技术领域,尤其涉及基于区块链的日志审计方法及装置。


背景技术:

[0002]
日志的审计是指通过采集信息系统中所发生的所有行为,对安全、风险等特定场景提供专项记录,以供系统分析人员评估系统的安全性、完整性、可靠性及一致性。
[0003]
现有技术中,利用区块链技术对日志数据的审计分为如下几类,第一类是:将目标文件分割加密后上传到区块链,并利用区块链数据结构将数据块与随机数生成的哈希值构建审计树;区块链将接收的哈希值与审计树中各主节点的哈希值进行对比,判断是否匹配,当匹配时,则目标文件有效。第二类是:通过设置在区块链上的审计节点对云端存储的数据进行完整性检测,并通过共识机制在所有审计节点共享存储审计结果以解决恶意第三方审计者不可信和系统单点安全故障问题。
[0004]
第一类方法通过审计树匹配审计只能审计文件完整性无法对安全事件进行追踪审计;第二类方法审计的凭证信息和数据更新后的记录日志均来自云服务器,无法提供用户对云服务器的审计需求。
[0005]
目前尚难有一种有效方法,能够实现用户以及服务供应商对日志数据的双向审计,同时实现对安全事件进行追踪审计。


技术实现要素:

[0006]
本发明提供的基于区块链的日志审计方法及装置,用于克服现有技术中存在只能实现对服务供应商单方面提供的日志数据进行不透明的单向审计且无法对安全事件进行追踪审计的缺陷,能够实现用户以及服务供应商对日志数据的双向审计,同时对安全事件进行追踪审计。
[0007]
本发明提供一种基于区块链的日志审计方法,包括:
[0008]
接收终端上传的终端日志数据以及服务器上传的服务器日志数据;
[0009]
对所述终端日志数据以及所述服务器日志数据进行验证;
[0010]
将验证通过后的所述终端日志数据以及所述服务器日志数据存储至区块链中,以供用户和服务供应商对所述终端日志数据以及所述服务器日志数据进行审计。
[0011]
根据本发明提供的一种基于区块链的日志审计方法,对所述终端日志数据以及所述服务器日志数据进行验证,包括:
[0012]
根据终端验证智能合约对所述终端进行合法性验证;
[0013]
根据服务器验证智能合约对所述服务器进行合法性验证;
[0014]
根据日志交叉验证智能合约对所述终端日志数据以及所述服务器日志数据进行一致性验证。
[0015]
根据本发明提供的一种基于区块链的日志审计方法,对所述终端日志数据以及所述服务器日志数据进行验证,包括:
[0016]
接收第三终端根据终端验证智能合约对所述终端进行合法性验证的终端验证结果消息;
[0017]
接收所述第三终端根据服务器验证智能合约对所述服务器进行合法性验证的服务器验证结果消息;
[0018]
接收所述第三终端根据日志交叉验证智能合约对所述终端日志数据以及所述服务器日志数据进行一致性验证的日志验证结果消息;
[0019]
根据所述终端验证结果消息、所述服务器验证结果消息以及所述日志验证结果消息,确定是否通过验证。
[0020]
根据本发明提供的一种基于区块链的日志审计方法,所述将验证通过后的所述终端日志数据以及所述服务器日志数据存储至区块链中,包括:
[0021]
将所述服务器以及部分所述终端作为授权节点;
[0022]
通过所述授权节点将所述终端日志数据以及所述服务器日志数据存储至区块链中。
[0023]
根据本发明提供的一种基于区块链的日志审计方法,所述通过所述授权节点将所述终端日志数据以及所述服务器日志数据存储至区块链中,包括:
[0024]
所述授权节点根据上一个区块的哈希值以及预设随机数进行哈希计算,以确定具有最新哈希值的目标区块头;
[0025]
将预设时间间隔接收到的所述终端日志数据以及服务器日志数据存储到包括所述目标区块头的新区块中,并将满足预设条件的新区块添加到所述区块链中。
[0026]
根据本发明提供的一种基于区块链的日志审计方法,所述将预设时间间隔接收到的所述终端日志数据以及服务器日志数据存储到包括所述目标区块头的新区块中,包括:
[0027]
随机选取第一预设数量个授权节点,并从所述第一预设数量个授权节点中选取前第二预设数量个授权节点;
[0028]
基于所述前第二预设数量个授权节点对所述目标区块头进行签名,通过第所述第一预设数量个授权节点将所述预设时间间隔接收到的所述终端日志数据以及服务器日志数据存储到所述新区块中;
[0029]
其中,所述第二预设数量=所述第一预设数量-1。
[0030]
根据本发明提供的基于区块链的日志审计方法,所述预设条件,包括:
[0031]
当值授权节点对所述新区块进行确认并对所有节点进行广播,其余至少多个授权节点对确认后的新区块进行校验,并确定所述确认后的新区块满足预设校验要求。
[0032]
本发明还提供一种基于区块链的日志审计装置,包括:
[0033]
日志接收模块,日志验证模块以及日志审计模块;
[0034]
所述日志接收模块,用于接收终端上传的终端日志数据以及服务器上传的服务器日志数据;
[0035]
所述日志验证模块,用于对所述终端日志数据以及所述服务器日志数据进行验证;
[0036]
所述日志审计模块,用于将验证通过后的所述终端日志数据以及所述服务器日志数据存储至区块链中,以供用户以及服务供应商对所述终端日志数据和所述服务器日志数据进行审计。
[0037]
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于区块链的日志审计方法的步骤。
[0038]
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于区块链的日志审计方法的步骤。
[0039]
本发明提供的基于区块链的日志审计方法,通过区块链服务器记录用户与服务供应商在云计算平台上交互的操作行为产生的日志数据,将验证一致性后的历史日志托管到区块链上以便用户和服务供应商双方均可对历史日志数据进行追踪审计,解决了双向审计问题,同时降低了用户终端的日志审计成本,提高了轻量级用户客户端的可用性,又由于区块链上数据不可抵赖,当出现安全事件后可安全对用户与服务供应商双方全程的交互行为进行追踪管理与审计,实现了在发生安全事件后对安全事件进行追踪审计。
附图说明
[0040]
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]
图1是本发明提供的基于区块链的日志审计方法的流程示意图之一;
[0042]
图2是本发明提供的基于区块链的日志审计方法的流程示意图之二;
[0043]
图3是本发明提供的基于区块链的日志数据存储流程示意图;
[0044]
图4是本发明提供的基于区块链的日志审计装置的结构示意图;
[0045]
图5是本发明提供的一种电子设备的结构示意图。
具体实施方式
[0046]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047]
图1是本发明提供的基于区块链的日志审计方法的流程示意图,如图1所示,方法包括:
[0048]
s1、接收终端上传的终端日志数据以及服务器上传的服务器日志数据;
[0049]
s2、对终端日志数据以及服务器日志数据进行验证;
[0050]
s3、将验证通过后的终端日志数据以及服务器日志数据存储至区块链中,以供用户以及服务供应商对终端日志数据以及服务器日志数据进行审计。
[0051]
需要说明的是,上述方法的执行主体可以是区块链服务器。该区块链服务器可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobilepersonal computer,umpc)、上网本或者个人数字助理(personal digitalassistant,pda)等,非移动电子设备
可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer, pc)、电视机(television,tv)、柜员机或者自助机等,本发明不作具体限定。
[0052]
在实际应用中,区块链接收用户上传的终端日志数据以及服务供应商上传的服务器日志数据;并通过部署在区块链上的智能合约对终端日志数据以及服务器日志数据进行验证,例如验证用户、服务供应商的合法性以及终端日志数据、服务器日志数据的数据完整性和终端日志数据与服务器日志数据的一致性。
[0053]
若验证后确定用户和服务供应商合法,且终端日志数据、服务器日志数据的数据完整性和终端日志数据与服务器日志数据的一致性,则验证通过,并将用户上传的终端日志数据以及服务供应商上传的服务器日志数据存储到区块链上,以供用户和服务供应商对终端日志数据以及服务器日志数据进行审计。
[0054]
本发明中终端日志数据可以是用户操作终端通过云计算平台向服务器例如云服务器发送的创建(creat)、撤销(delete)、读(read)、写(write)等操作请求,生成操作日志并将操作日志作为终端日志数据记录在本地。
[0055]
本发明中服务器日志数据可以是服务器通过云计算平台向用户返回操作响应,生成操作响应日志,将用户的所有操作请求按照时序进行记录,生成对应的服务器日志数据记录在本地。
[0056]
本发明中终端日志数据可以具体包括:操作请求指令记录、用户登录ip地址、请求日期/时间、用户终端代理等。
[0057]
这些终端日志数据可以写入在一个文件中,并将对应的文件及时上传到用户终端的日志收集服务器中,以供用户进行下载和审计。
[0058]
本发明中服务器日志数据包括操作日志以及操作响应日志;具体地:服务器日志数据可以包括用户终端ip地址、服务器ip地址、用户终端请求日期/时间、请求的网页、http代码、提供的字节数、用户代理、引用地址以及服务器响应的日期/时间等。
[0059]
这些服务器日志数据可以写入在一个文件中,也可能分隔成不同的日志,如访问日志、错误日志、引荐者日志等,进一步地,为了保证服务器日志数据的安全性,通常只有服务供应商有权访问它们。
[0060]
本发明中终端日志数据以及服务器日志数据可以预先设定日志数据的重要性等级,可以具体包括非常重要、一般重要和不重要三个等级。
[0061]
本发明中用户和服务供应商预先建立相应的上链规则,以确定各自的日志数据可以直接存储在区块链中,也可以是将满足相同规则的日志数据合并后存储在区块链上。
[0062]
本发明中可以根据用户预先设定的日志数据的重要性等级设定日志数据的存储方式时,非常重要的日志数据直接存储在区块链上,一般重要的日志数据打包后间接存储在区块链上,不重要的日志数据打包后间接存储在区块链。
[0063]
直接存储是用户的终端日志数据和服务供应商的日志数据通过验证后直接存储在区块链上。间接存储是用户或服务供应商对日志数据进行批量打包,通过对称加密算法或非对称加密算法加密后发布,由区块链验证后将加密后的数据,存储到区块链上。
[0064]
对采用加密算法处理的日志数据,用户或服务供应商至少保存两组密钥,一组为日志数据的加密密钥,另一组为用户或服务器在发布日志数据时使用私钥对数据进行签名的密钥。本发明中服务供应商为用户提供云计算服务与用户进行交互,作为区块链上的授
权节点之一加入区块链网络,向区块链网络广播云计算平台时序的服务器日志记录。
[0065]
本发明中用户向服务供应商请求服务,部分节点通过选举以授权节点加入区块链网络,部分节点以普通节点加入区块链网络,所有接入节点都向区块链网络广播终端日志数据;
[0066]
本发明中用户和服务供应商作为节点接入区块链网络,区块链提供智能合约对来自用户的终端日志数据和服务供应商的服务器日志数据进行一致性验证,并将验证后的日志存储在区块链中,进一步的,区块链网络中还部署有历史审计智能合约,用于对历史日志进行透明审计。
[0067]
本发明中涉及服务器与用户交互操作日志的记录、验证双方日志、区块链存储历史日志、请求审计历史日志等部分,这些功能通过基于区块链平台的基础设施层,存储操作日志等数据的数据层,进行日志一致性认证服务的服务层以及提供历史日志审计等功能的应用层提供。
[0068]
具体地,基础设施层以以太坊私链为本架构提供基础设施,是架构中智能合约和各类操作的载体,需要全网节点共同接入来维持系统的运行;
[0069]
数据层在区块链中的存储的日志数据、智能合约及请求响应等操作,它们均以事务的形式存储在区块链中;
[0070]
服务层为所有用户和服务供应商的交互提供p2p网络、全部节点广播以及操作验证机制服务,并通过poa共识算法保证区块链节点对链上的数据保持一致以及通过部署智能合约自动为用户和服务供应商提供安全验证、请求历史审计等服务;
[0071]
应用层为区块链上的用户和服务供应商提供功能应用,包括日志记录提交、请求日志和响应操作、历史日志审计等。
[0072]
本发明提供的基于区块链的日志审计方法,通过区块链服务器记录用户与服务供应商在云计算平台上交互的操作行为产生的日志数据,将验证一致性后的历史日志托管到区块链上以便用户和服务供应商双方均可对历史日志数据进行追踪审计,解决了双向审计问题,同时降低了用户终端的日志审计成本,提高了轻量级用户客户端的可用性,又由于区块链上数据不可抵赖,当出现安全事件后可安全对用户与服务供应商双方全程的交互行为进行追踪管理与审计,实现了在发生安全事件后对安全事件进行追踪审计。
[0073]
进一步地,在一个实施例中,步骤s2包括:
[0074]
s21、根据终端验证智能合约对终端进行合法性验证;
[0075]
s22、根据服务器验证智能合约对服务器进行合法性验证;
[0076]
s23、根据日志交叉验证智能合约对终端日志数据以及服务器日志数据进行一致性验证。
[0077]
具体地,图2是本发明提供的基于区块链的日志审计方法的流程示意图之二,如图2所示:
[0078]
实际应用中,首先、由用户终端通过云计算平台向服务器发送操作请求命令,并将操作请求日志记录在本地日志收集服务器中;服务器通过云计算平台根据用户发送的操作请求命令向用户返回操作响应,并将所有用户的请求操作进行时序记录,保留全局操作日志作为服务器日志数据,并保存在本地日志收集服务器中;
[0079]
其次、用户作为节点之一接入区块链网络,通过随机数生成器生成私钥,私钥通过
椭圆曲线算法处理生成公钥,利用用户私钥在终端日志数据进行签名,然后将包括有用户签名的终端日志数据上传至区块链上;服务供应商作为节点之一接入区块链网络,通过随机数生成器生成私钥,私钥通过椭圆曲线算法处理生成公钥,利用服务供应商私钥在服务器日志数据进行签名,然后将包括有服务供应商签名的服务器日志数据上传至区块链上;
[0080]
再次,由部署在区块链上的终端验证智能合约验证用户上传的终端日志数据中用户签名的有效性,以确保用户的合法性;由部署在区块链上的服务器验证智能合约验证服务供应商上传的服务器日志数据中服务供应商签名的有效性,以确保服务供应商的合法性;结合部署在区块链上的日志交叉验证智能合约验证终端日志数据以及服务器日志数据的一致性;
[0081]
最后,将通过验证的终端日志数据以及服务器日志数据存储在区块链上,用户以及服务供应商通过下载历史日志数据,实现对终端日志数据以及服务器日志数据进行审计。
[0082]
需要说明的是,本发明中验证通过可以具体包括:用户终端合法、服务供应商合法以及终端日志数据和服务器日志数据一致。
[0083]
本发明中终端验证智能合约在执行验证的实际过程中,具体包括:接收经过用户私钥签名后发送的终端日志数据并进行解析,获取待入网的用户终端的区块链标识、ip地址和公钥,应用用户公钥验证用户私钥签名的有效性,若验证通过,则表明终端日志数据是用户本身发送的,从而,生成与待入网的用户对应的入网广播消息,其中,入网广播消息包括:授权入网的用户的区块链标识、ip地址和公钥。
[0084]
本发明中服务器验证智能合约在执行验证的实际过程中,具体包括:接收经过服务器私钥签名后发送的服务器日志数据并进行解析,获取待入网的服务器的区块链标识、ip地址和公钥,应用服务器公钥验证服务器私钥签名的有效性,若验证通过,则表明服务器日志数据是服务供应商本身发送的,从而,生成与待入网的服务供应商对应的入网广播消息,其中,入网广播消息包括:授权入网的服务器的区块链标识、ip地址和公钥。
[0085]
本发明中日志交叉验证智能合约在执行验证的实际过程中,具体包括:接收用户上传的终端日志数据以及服务供应商上传的服务器日志数据,获取待入网的用户以及待入网服务器对应的区块链标识、ip 地址和公钥,并解析获得终端日志数据以及服务器日志数据,将终端日志数据与服务器日志数据进行对比并验证一致性,若通过验证,则表明终端日志数据以及服务器日志数据是未经篡改的。
[0086]
本发明提供的基于区块链的日志审计方法,通过利用区块链技术去中心化、去信任化、不可篡改、信息可追溯的特性,解决了服务供应商与用户间的信任关系问题,并利用部署在区块链上的终端智能合约以及服务器智能合约,实现了对用户以及服务供应商身份合法性的验证,结合部署日志交叉验证智能合约对用户与服务供应商双方日志自动进行一致性对比验证,减少了来自恶意用户与恶意服务器的日志伪造攻击,也制约了合谋攻击、伪造篡改等不良行为。
[0087]
进一步地,在一个实施例中,步骤s2还可以包括:
[0088]
s24、接收第三终端根据终端验证智能合约对终端进行合法性验证的终端验证结果消息;
[0089]
s25、接收第三终端根据服务器验证智能合约对服务器进行合法性验证的服务器
验证结果消息;
[0090]
s26、接收第三终端根据日志交叉验证智能合约对终端日志数据以及服务器日志数据进行一致性验证的日志验证结果消息;
[0091]
根据终端验证结果消息、服务器验证结果消息以及日志验证结果消息,确定是否通过验证。
[0092]
在实际应用中,区块链根据部署的终端验证智能合约对终端进行合法性验证后,将终端验证结果消息发送给第三终端,其中,终端验证结果消息中可以具体包括:用户合法或用户不合法。
[0093]
区块链根据部署的服务器验证智能合约对服务供应商进行合法性验证后,将服务器验证结果消息发送给第三终端,其中服务器验证结果消息中可以具体包括:服务供应商合法或服务供应商不合法。
[0094]
区块链根据部署的日志交叉验证智能合约对终端日志数据以及服务器日志数据进行一致性验证后,将日志验证结果消息发送给第三终端,其中,日志验证结果消息中可以具体包括:日志一致或日志不一致。
[0095]
根据终端验证结果消息、服务器验证结果消息以及日志验证结果消息,确定是否通过验证。
[0096]
需要说明的是,本发明中验证通过可以具体包括:用户合法、供应商合法以及日志一致。
[0097]
本发明提供的基于区块链的日志审计方法,通过利用区块链技术去中心化、去信任化、不可篡改、信息可追溯的特性,解决了服务供应商与用户间的信任关系问题,并利用部署在区块链上的终端智能合约以及服务器智能合约,实现了对用户以及服务供应商身份合法性的验证,结合部署日志交叉验证智能合约对用户与服务供应商双方日志自动进行一致性对比验证,减少了来自恶意用户与恶意服务器的日志伪造攻击,也制约了合谋攻击、伪造篡改等不良行为。
[0098]
进一步地,在一个实施例中,步骤s3可以具体包括:
[0099]
s31、将服务器以及部分终端作为授权节点;
[0100]
s32、通过授权节点将终端日志数据以及服务器日志数据存储至区块链中。
[0101]
在实际应用中,用户终端和服务器都作为节点接入区块链,区块链上节点分为普通节点和授权节点,只有授权节点才可以进行挖矿生产新区块,在授权节点中进行投票选举可以加入新授权节点和踢出恶意授权节点。初始将服务供应商和部分终端用户初始设置为授权节点,然后通过这些授权节点将终端日志数据以及服务器日志数据存储到区块链中。
[0102]
本发明提供的基于区块链的日志审计方法,通过利用区块链技术去中心化、去信任化、不可篡改、信息可追溯的特性,对用户上传的终端日志数据以及服务供应商上传的服务器日志数据进行存储,解决了服务供应商与用户间的信任关系问题。
[0103]
进一步地,在一个实施例中,步骤s32可以具体包括:
[0104]
s321、授权节点根据上一个区块的哈希值以及预设随机数进行哈希计算,以确定具有最新哈希值的目标区块头;
[0105]
s322、将预设时间间隔接收到的终端日志数据以及服务器日志数据存储到包括目
标区块头的新区块中,并将满足预设条件的新区块添加到区块链中。
[0106]
具体地,图3是本发明提供的基于区块链的日志数据存储流程示意图,如图3所示:
[0107]
将终端日志数据以及服务器日志数据以事件(events)形式存储在智能合约的事件日志(event log)中以减少花销,这些日志数据以 merkle树的叶子节点经过哈希计算生成唯一的根节点(root)并封装在区块头中,用户和服务供应商可以通过对比审计merkle root判定存储的终端日志数据以及服务器日志数据的完整性。
[0108]
本发明中授权节点通过获取上一区块的哈希值以及自身预设的随机数,并根据上一区块的哈希值以及预设随机数不断进行哈希计算,直到有授权节点找到具有最新哈希值的目标区块头。将预设时间间隔接收到的终端日志数据以及服务器日志数据存储到对应目标区块头的新区块中,并将满足预设条件的新区块添加到区块链中。
[0109]
当找到具有最新哈希值的目标区块头后,向全网广播目标区块头,以供所有授权节点对目标区块头进行验证。
[0110]
终端日志数据以及服务器日志数据是以事件形式存储在智能合约的事件日志,将这些事件日志作为merkle书的叶子节点,并通过哈希计算生成merkle root,用户和服务供应商可以通过对比接收到 merkle root的哈希值和实际的merkle root是否一致,确定终端日志数据和服务器日志数据的数据完整性。
[0111]
区块是由区块头和区块体组成,区块头封装了上一区块的哈希值、 merkle root、版本号以及时间戳等信息,区块体记录了一段时间内的交易信息和智能合约等信息。
[0112]
其中,时间戳是指格林威治时间1970年01月01日00时00分 00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。
[0113]
本发明中预设时间间隔可以根据实际需要设置,例如预设时间间隔设置为5秒。
[0114]
本发明提供的基于区块链的日志审计方法,通过根据上一个区块的哈希值以及预设随机数进行哈希计算,确定具有最新哈希值的目标区块头,根据目标区块头确定用于存储终端日志数据以及服务器日志数据的新区块,并将新区块添加到区块链中,进而实现了将终端日志数据以及服务器日志数据存储到区块链上,基于区块链技术去中心化、去信任化、不可篡改、信息可追溯的特性,解决了服务供应商与用户间的信任关系问题。
[0115]
进一步地,在一个实施例中,步骤s322可以具体包括:
[0116]
s3221、随机选取第一预设数量个授权节点,并从第一预设数量个授权节点中选取前第二预设数量个授权节点;
[0117]
s3222、基于前第二预设数量个授权节点对目标区块头进行签名,通过第第一预设数量个授权节点将预设时间间隔接收到的终端日志数据以及服务器日志数据存储到新区块中;
[0118]
其中,第二预设数量=第一预设数量-1。
[0119]
本发明中在授权节点对目标区块头进行验证后,随机导出第一预设数量个授权节点,然后从第一预设数量个授权节点中选取前第二预设数量个授权节点,前第二个预设数量个授权节点利用自身的私钥对目标区块头进行签名并全网广播,其中,广播消息中包括:前第二预设数量个授权节点对应的公钥、ip地址等。
[0120]
在实际应用中,授权节点接收到创建日志请求消息,并基于部署在区块链上的终端验证智能合约、服务器验证智能合约以及交叉日志验证智能合约,对终端、服务供应商以
及终端日志数据、服务器日志数据进行验证。在验证通过后,由授权节点进行哈希计算确定目标区块头,并将目标区块头向全网广播,以供所有授权节点进行确认目标区块头是否具有最新的哈希值。
[0121]
若确认目标区块头具有最新的哈希值,则由前第二个预设数量个授权节点利用自身的私钥对目标区块头进行签名并全网广播,并通过第第一预设数量个授权节点将预设时间间隔接收到的终端日志数据以及服务器日志数据存储到具有最新哈希值的区块头的新区块中。
[0122]
本发明中第一预设数量可以具体设置为n,相应的第二预设数量可以具体设置为n-1,其中,n>1,且n为正整数。
[0123]
本发明提供的基于区块链的日志审计方法,通过授权节点将预设时间间隔接收到的终端日志数据以及服务器日志数据存储到区块链中,基于区块链技术去中心化、去信任化、不可篡改、信息可追溯的特性,解决了服务供应商与用户间的信任关系问题,基于部署在区块链上的智能合约保证了日志上传者的合法性,同时结合区块链共识机制保证了历史日志的不可篡改,通过对历史日志的审计完成对终端日志数据以及服务器日志数据的审计,完成了对所有操作的倒查和安全事件追溯根源。
[0124]
进一步地,在一个实施例中,步骤s322中预设条件可以具体包括:当值授权节点对新区块进行确认并对所有节点进行广播,其余至少多个授权节点对确认后的新区块进行校验,并确定确认后的新区块满足预设校验要求。
[0125]
实际应用中,将执行预设操作的授权节点作为当值授权节点,并由当值授权节点对新区块进行确认并对所有节点进行广播,剩下的至少多个授权节点对经当值授权节点确认后的新区块进行校验,确定新区块满足预设校验要求。
[0126]
本发明中预设校验要求可以具体包括:首先通过区块链上部署的终端验证智能合约以及服务器验证智能合约对用户和服务供应商进行身份认证,然后由区块链上部署的智能合约对终端日志数据和服务器日志数据的时间戳进行一致性校验。
[0127]
预设操作可以具体为:将预设时间间隔接收到的终端日志数据以及服务器日志数据进行打包并封装到新区块中。
[0128]
本发明提供的基于区块链的日志审计方法,由当值授权节点对新区块进行确认并对所有节点进行广播,通过其余至少多个授权节点对确认后的新区块进行校验,确保了历史日志的不可篡改,进而通过对历史日志的审计完成对终端日志数据以及服务器日志数据的审计,保障了对所有操作的倒查和安全事件追溯根源。
[0129]
下面对本发明提供的基于区块链的日志审计装置进行描述,下文描述的基于区块链的日志审计装置与上文描述的基于区块链的日志审计方法可相互对应参照。
[0130]
图4是本发明提供的基于区块链的日志审计装置的结构示意图,如图4所示,日志接收模块410、日志验证模块411以及日志审计模块412;
[0131]
日志接收模块410,用于接收终端上传的终端日志数据以及服务器上传的服务器日志数据;
[0132]
日志验证模块411,用于对终端日志数据以及服务器日志数据进行验证;
[0133]
日志审计模块412,用于将验证通过后的终端日志数据以及服务器日志数据存储至区块链中,以供用户以及服务供应商对终端日志数据以及服务器日志数据进行审计。
[0134]
本发明提供的基于区块链的日志审计装置,通过日志接收模块 410记录用户与服务供应商在云计算平台上交互的操作行为产生的日志数据,通过日志验证模块411对用户与服务供应商上传的日志数据进行验证,并结合日志审计模块412将验证一致性后的历史日志托管到区块链上以便用户和服务供应商双方均可对历史日志数据进行追踪审计,解决了双向审计问题,同时降低了用户终端的日志审计成本,提高了轻量级用户客户端的可用性,又由于区块链上数据不可抵赖,当出现安全事件后可安全对用户与服务供应商双方全程的交互行为进行追踪管理与审计,实现了在发生安全事件后对安全事件进行追踪审计。
[0135]
图5是本发明提供的一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口 (communication interface)511、存储器(memory)512和总线(bus) 513,其中,处理器510,通信接口511,存储器512通过总线513完成相互间的通信。处理器510可以调用存储器512中的逻辑指令,以执行如下方法:
[0136]
接收终端上传的终端日志数据以及服务器上传的服务器日志数据;
[0137]
对终端日志数据以及服务器日志数据进行验证;
[0138]
将验证通过后的终端日志数据以及服务器日志数据存储至区块链中,以供用户以及服务供应商对终端日志数据以及服务器日志数据进行审计。
[0139]
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0140]
进一步地,本发明公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
[0141]
接收终端上传的终端日志数据以及服务器上传的服务器日志数据;
[0142]
对终端日志数据以及服务器日志数据进行验证;
[0143]
将验证通过后的终端日志数据以及服务器日志数据存储至区块链中,以供用户以及服务供应商对终端日志数据以及服务器日志数据进行审计。
[0144]
另一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:
[0145]
接收终端上传的终端日志数据以及服务器上传的服务器日志数据;
[0146]
对终端日志数据以及服务器日志数据进行验证;
[0147]
将验证通过后的终端日志数据以及服务器日志数据存储至区块链中,以供用户以及服务供应商对终端日志数据以及服务器日志数据进行审计。
[0148]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0149]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0150]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1