一种基于区块链的网页数据自动取证与存证方法转让专利

申请号 : CN201810584375.5

文献号 : CN108959416B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张金琳俞学劢高航张文勇

申请人 : 浙江数秦科技有限公司

摘要 :

本发明公开了一种基于区块链的网页数据自动取证与存证方法。用户将需要取证网页的统一资源定位符发送给区块链网络中所有取证节点,取证节点对网页进行自动取证;取证节点对取证数据生成保全证书和数据压缩包,对数据压缩包签名后存储在服务器,计算数据压缩包的哈希值,添加时间戳并签名后广播至区块链网络;取证节点验证哈希值的时间戳,若满足条件且未对其签名,则对其签名并广播至区块链网络;规则节点接收具有所有取证节点签名的数据,验证签名,验证通过后将数据形成区块并广播至区块链网络;取证节点将区块锚定至公有区块链。本发明可用来对网页数据进行自动取证和存证,确保取证数据的真实性和存证数据的安全性。

权利要求 :

1.一种基于区块链的网页数据自动取证与存证方法,其特征在于包括:A)用户获得需要取证网页的网页统一资源定位符,将网页统一资源定位符通过网络发送至当前区块链网络中的取证节点,取证节点对需要取证网页的网页内容进行取证获得取证数据,取证数据包括网页截图、网页源代码、日志文档、取证记录时间和取证服务器的文档;

B)取证节点对取证数据生成保全证书,把取证数据和保全证书打包形成数据压缩包,对数据压缩包签名并存储在取证节点自身的服务器,同时计算数据压缩包的哈希值,在哈希值基础上添加时间戳并签名形成哈希签名结果后广播到当前区块链网络;

C)当前区块链网络中的各个取证节点接收到广播来的哈希签名结果,对哈希签名结果中的时间戳进行验证判断,若时间戳与取证节点自身服务器时间相差在特定时间范围且广播来的哈希签名结果中未包含取证节点自身签名,则取证节点对此哈希签名结果添加自身签名再将添加签名后的哈希签名结果广播至当前区块链网络;

D)当前区块链网络中的规则节点在接收到具有所有取证节点签名的哈希签名结果后,对哈希签名结果进行验证,验证通过后将哈希签名结果形成区块并广播至由当前区块链网络,由当前区块链网络的各个网络节点将区块存储到自身服务器;

E)当前区块链网络中的取证节点将广播到的区块锚定至公有区块链。

2.根据权利要求1所述的一种基于区块链的网页数据自动取证与存证方法,其特征在于:所述的规则节点为当前区块链网络中预先设定一部分的区块链网络节点。

3.根据权利要求1所述的一种基于区块链的网页数据自动取证与存证方法,其特征在于:所述步骤C)中的特定时间范围是由当前区块链网络中广播时间、签名算法计算时间和取证节点数量决定。

4.根据权利要求1所述的一种基于区块链的网页数据自动取证与存证方法,其特征在于:所述步骤A)具体包括:A1)用户获得需要取证网页的网页统一资源定位符(URL),将网页统一资源定位符通过网络发送至由M个网络节点构成的区块链网络中的N个取证节点Sx,x=1,...,N,N≤M,x表示取证节点的序数;

A2)取证节点Sx,x∈{1,...,N}自动对需要取证网页的网页内容进行取证获得取证数据,取证数据包括网页截图、网页源代码、日志文档、取证记录时间Time(x,F)和取证服务器的文档。

5.根据权利要求1所述的一种基于区块链的网页数据自动取证与存证方法,其特征在于:所述步骤B)具体包括:B1)取证节点Sx对取证数据生成保全证书,保全证书中有保全号,将网页截图、网页源代码、日志文档、取证记录时间和取证服务器的文档、保全证书打包形成数据压缩包Zx;

B2)取证节点Sx对数据压缩包Zx进行签名得到数字签名 并将数据压缩包和对应的签名 存储在服务器:其中, 为取证节点Sx的身份私钥,SignID()为签名算法;

B3)计算数据压缩包的哈希值Hx:

Hx=H(Zx)

其中,H()为安全哈希函数;

B4)对哈希值Hx和添加的时间戳Time(x,E)进行签名获得哈希值签名其中, 为取证节点Sx的链上私钥,SignBC()为链上签名算法;

B5)最后取证节点将哈希签名结果 广播至区块链网络。

6.根据权利要求1所述的一种基于区块链的网页数据自动取证与存证方法,其特征在于:所述步骤C)具体包括:C1)取证节点Sl,l∈{1,...,N}对区块链网络中哈希签名结果的时间戳Time(x,E)进行验证:若哈希签名结果中的时间戳Time(x,E)与取证节点Sl的服务器时间Timelocal相差在特定时间范围τ且广播来的哈希签名结果中未包含取证节点Sl的签名,则取证节点Sl对哈希签名结果中的哈希值和时间戳进行签名获得新哈希值签名 并添加到哈希签名结果中:Timelocal-Time(x,E)≤τ

其中, 为取证节点Sl的链上私钥;

若哈希签名结果中的时间戳Time(x,E)与取证节点Sl的服务器时间Timelocal未相差在特定时间范围τ内或者取证节点Sl在哈希签名结果中已进行签名,则取证节点Sl不作处理,并且不对哈希签名结果进行进一步广播;

C2)取证节点Sl将添加后的新哈希签名结果 广播至区块链网络。

7.根据权利要求1所述的一种基于区块链的网页数据自动取证与存证方法,其特征在于:所述步骤D)具体包括:D1)规则节点Sorder在接收到具有经所有取证节点签名的哈希签名结果后,x∈{1,...,N},对哈希签名结果中的所有

签名均进行验证;

其中, 表示取证节点Sn的链上公钥,VerifyBC()为链上签名验证算法,公式中的?问号表示判断,T表示验证通过;

D2)若验证不通过,则规则节点Sorder不对哈希签名结果进行处理;

若验证通过后,则规则节点Sorder将哈希签名结果形成区块并广播至区块链网络,网络节点Im,m=1,...,M将区块存储到自身的服务器。

8.根据权利要求1所述的一种基于区块链的网页数据自动取证与存证方法,其特征在于:所述步骤E)具体包括:E1)取证节点Sx,x∈{1,...,5}接收到区块后,将区块中的头哈希H(x,head)发送至公有区块链,公有区块链中的矿工节点将包括头哈希H(x,head)在内的公有链网络中未在区块的数据加盖时间戳Time(n,B)形成新区块,并广播至公有区块链;

E2)公有区块链中的网络节点对广播接收到的区块进行验证,验证通过后将区块存储在自身服务器,则区块数据成功锚定至公有区块链。

说明书 :

一种基于区块链的网页数据自动取证与存证方法

技术领域

[0001] 本发明涉及一种数据证据获取和存储方法,特别是涉及一种基于区块链的网页数据自动取证与存证方法。

背景技术

[0002] 随着技术发展,网络传播的速度越来越快,很多内容以网页数据的形式展示。但是,这样会存在很多侵权行为,例如一些网站,在未获取授权就将属于别的文章、图片等内容直接拿过来放在网站上供用户浏览、下载,以此向用户收费或者吸引广告主的资金投入。除此之外,某些网站,在未确定文章或图片等内容真实性的情况下,就发布一些文章或图片内容,从而侵犯内容涉及者的合法权益。
[0003] 由于网络技术的特殊性,这些侵权页面会被迅速地删除,当事人在发现网页侵权行为时,需要及时、真实且安全的将这些数据记录下来。若当事人自己截图或者寻找第三方取证,均无法证明取证数据的真实性。目前,在遇到这种情形时,当事人必须立即到当地的公证处,公证处的公证人员将这些数据按照流程记录下来,但这就存在很多不便之处。为便捷、有效地对网页数据进行取证和存证,需要确保取证数据的真实性,即侵权数据并非伪造且未被修改,还需要保证取证数据的安全存储。

发明内容

[0004] 为了克服上述现有技术的不足,本发明提供了一种基于区块链的网页数据自动取证与存证方法,旨在通过技术手段,便捷、有效地对网页数据进行取证和存证,验证方可以对数据的真实性和安全性进行验证。
[0005] 本发明所采用的技术方案包括:
[0006] A)用户获得需要取证网页的网页统一资源定位符(URL),将网页统一资源定位符通过网络发送至当前区块链网络中的取证节点,取证节点在互联网环境下利用程序自动对需要取证网页的网页内容进行取证获得取证数据,取证数据包括网页截图、网页源代码、日志文档、取证记录时间和取证服务器的文档;
[0007] B)取证节点对取证数据生成保全证书,把取证数据和保全证书打包形成数据压缩包,对数据压缩包签名并存储在取证节点自身的服务器,同时计算数据压缩包的哈希值,在哈希值基础上添加时间戳并签名形成哈希签名结果后广播到当前区块链网络;
[0008] C)当前区块链网络中的各个取证节点接收到广播来的哈希签名结果,对哈希签名结果中的时间戳进行验证判断,若时间戳与当前的取证节点自身服务器时间相差在特定时间范围且广播来的哈希签名结果中未包含当前的取证节点自身签名,则当前的取证节点对此哈希值添加自身签名再将添加签名后的哈希值广播至当前区块链网络;
[0009] 这样使得当前区块链网络下的所有取证节点均能对哈希值添加上自身的签名,并且形成对应不同取证节点的哈希签名结果数据,最终广播至当前区块链网络中的所有网络节点。
[0010] D)当前区块链网络中的规则节点在接收到具有所有取证节点签名的哈希签名结果后,对哈希签名结果进行验证,验证通过后将哈希签名结果形成区块并广播至由当前区块链网络,由当前区块链网络的各个网络节点将区块存储到自身服务器;
[0011] E)当前区块链网络中的取证节点将广播到的区块锚定至公有区块链。
[0012] 本发明所述的当前区块链网络为所需取证和存证的区块链网络,当前区块链网络和公有区块链为两条区块链。
[0013] 具体实施中,当前区块链网络可以为联盟区块链,公有区块链可以为比特币区块链。
[0014] 所述的区块链规则节点为当前区块链网络中预先设定一部分的区块链网络节点。
[0015] 所述的取证节点和规则节点均属于区块链网络中的网络节点,为预先设定权限的网络节点。
[0016] 所述步骤C)中的特定时间范围是由当前区块链网络中广播时间、签名算法计算时间和取证节点数量决定。
[0017] 所述步骤A)具体包括:
[0018] A1)用户获得需要取证网页的网页统一资源定位符(URL),将网页统一资源定位符通过网络发送至由M个网络节点构成的区块链网络中的N个取证节点Sx,x=1,...,N,N≤M,x表示取证节点的序数;
[0019] A2)取证节点Sx,x∈{1,...,N}自动对需要取证网页的网页内容进行取证获得取证数据,取证数据包括网页截图、网页源代码、日志文档、取证记录时间Time(x,F)和取证服务器的文档。
[0020] 所述步骤B)具体包括:
[0021] B1)第x个取证节点Sx对取证数据生成保全证书,保全证书中有保全号,将网页截图、网页源代码、日志文档、取证记录时间和取证服务器的文档、保全证书打包形成数据压缩包Zx;
[0022] B2)取证节点Sx对数据压缩包Zx进行签名得到数字签名 并将数据压缩包和对应的签名 存储在服务器:
[0023]
[0024] 其中, 为取证节点Sx的身份私钥,SignID()为签名算法;
[0025] B3)计算数据压缩包的哈希值Hx:
[0026] Hx=H(Zx)
[0027] 其中,H()为安全哈希函数;
[0028] B4)对哈希值Hx和添加的时间戳Time(x,E)进行签名获得哈希值签名[0029]
[0030] 其中, 为取证节点Sx的链上私钥,SignBC()为链上签名算法;
[0031] B5)最后取证节点将哈希签名结果 广播至区块链网络。
[0032] 所述步骤C)具体包括:
[0033] C1)取证节点Sl,l为取证节点的序数,l∈{1,...,N}对区块链网络中哈希签名结果的时间戳Time(x,E)进行验证:
[0034] 若哈希签名结果中的时间戳Time(x,E)与取证节点Sl的服务器时间Timelocal相差在特定时间范围τ且广播来的哈希签名结果中未包含取证节点Sl的签名,则取证节点Sl对哈希签名结果中的哈希值和时间戳进行签名获得新哈希值签名 并添加到哈希签名结果中:
[0035] Timelocal-Time(x,E)≤τ
[0036]
[0037] 其中, 为取证节点Sl的链上私钥;
[0038] 若哈希签名结果中的时间戳Time(x,E)与取证节点Sl的服务器时间Timelocal未相差在特定时间范围τ内或者取证节点Sl在哈希签名结果中已进行签名,则取证节点Sl不作处理,并且不对哈希签名结果进行进一步广播;
[0039] 此处的取证节点Sl可能为原先打包成数据压缩包且对计算的哈希值进行签名的取证节点,采用上述方式进行判断能使得所有各个取证节点均能完成对哈希值的签名并补充到哈希签名结果中。
[0040] C2)取证节点Sl将添加后的新哈希签名结果(Hx,Time(x,E), )广播至区块链网络。
[0041] 所述步骤D)具体包括:
[0042] D1)规则节点Sorder在接收到具有经所有取证节点签名的哈希签名结果(Hx,Time(x,E), )后,x∈{1,...,N},对哈希签名结果中的所有签名均进行验证;
[0043]
[0044] 其中, 表示取证节点Sn的链上公钥,VerifyBC()为链上签名验证算法,公式中的?问号表示判断,T表示验证通过;
[0045] D2)若验证不通过,则规则节点Sorder不对哈希签名结果进行处理;
[0046] 若验证通过后,则规则节点Sorder将哈希签名结果形成区块并广播至区块链网络,网络节点Im,m=1,...,M将区块存储到自身的服务器。
[0047] 所述步骤E)具体包括:
[0048] E1)取证节点Sx,x∈{1,...,5}接收到区块后,将同步到的区块中的头哈希H(x,head)发送至公有区块链,公有区块链中的矿工节点将包括头哈希H(x,head)在内的公有链网络中未在区块的数据加盖时间戳Time(n,B)形成新区块,并广播至公有区块链;
[0049] E2)公有区块链中的网络节点对广播接收到的区块进行验证,验证通过后将区块存储在自身服务器,则区块数据成功锚定至公有区块链。
[0050] 与现有技术相比,本发明的有益效果是:
[0051] 本发明能够实现网页数据的快速、便捷的取证和存证,可以保证以下两点:
[0052] (1)取证网页数据的真实性。当事人只将网页统一资源定位符发送给取证节点,且网页数据由多个区块链取证节点自动取证,防止当事人伪造网页数据,避免取证方取证的数据是修改或伪造的网页数据;
[0053] (2)存证网页数据的安全性。取证节点将取证数据进行区块链存证,通过链上哈希值验证存证数据,确保数据安全性。

附图说明

[0054] 图1为基于区块链的网页数据取证和存证示意图;
[0055] 图2为基于区块链的网页数据取证和存证流程说明;
[0056] 图3为验证存储的网页数据真实性和安全性示意图;
[0057] 图4为验证存储的网页数据真实性和安全性流程说明。

具体实施方式

[0058] 下面结合附图对本发明进一步说明。
[0059] 如图1和图2所示,本发明具体实施例和实施方式如下:
[0060] 1)用户获得需要取证的网页统一资源定位符,即URL,将网页统一资源定位符通过网络发送至当前区块链网络的取证节点,当前区块链网络中有M=20个节点机构,其中N=5个取证节点,取证节点分别为Sn,n=1,...,5;
[0061] 各取证节点Sx,x∈{1,...,5}在互联网环境下自动对网页内容进行取证获得取证数据,取证数据包括网页截图、网页源代码、日志文档、取证记录时间Time(x,F)和取证服务器的文档。具体信息如下:
[0062]
[0063] 2)取证节点Sx,x∈{1,...,5}对取证数据生成保全证书,保全证书中有保全号,将网页截图、侵权页面源代码、日志文档、记录取证时和取证服务器的文档、保全证书打包形成数据压缩包Zx;
[0064] 第x个取证节点Sx,x∈{1,...,5}使用自身的身份私钥 对数据压缩包Zx进行签名,得到数字签名 并将数据压缩包Zx和对应的签名(Zx, )存储在第x个取证节点Sx的服务器:
[0065]
[0066] 其中,SignID()为签名算法;
[0067] 利用安全的哈希算法H()计算数据压缩包的哈希值Hx:
[0068] Hx=H(Zx)
[0069] 取证节点Sx使用自己的链上私钥 对哈希值Hx和添加的时间戳Time(x,E)进行签名,获得哈希值签名
[0070]
[0071] 其中,SignBC()为链上签名算法;
[0072] 经计算后,各取证节点的数据包信息如下:
[0073]
[0074] 取证节点Sx,x∈{1,...,5}生成哈希签名结果(Hx,Time(x,E), )广播至区块链网络,广播的数据内容如下:
[0075]
[0076] 3)第l个取证节点Sl,l∈{1,...,5}对区块链网络中哈希值的时间戳Time(x,E)进行验证,若时间戳Time(x,E)与本地服务器时间Timelocal相差在特定时间范围τ且取证节点Sl未对其进行签名,则取证节点Sl利用自己的链上私钥 对哈希值Hx和时间戳Time(x,E)进行签名获得新的哈希值签名
[0077] Timelocal-Time(x,E)≤τ
[0078]
[0079] 第l个节点生成新的哈希签名结果(Hx,Time(x,E), )广播至当前区块链网络。
[0080] 通过重复上述步骤3),在所有取证节点均对哈希值和时间戳进行签名后,当前区块链网络中的规则节点在接收到具有所有取证节点签名的哈希签名结果后,规则节点才会对其进行后续验证和上链处理。完成所有签名后的数据内容如下:
[0081]
[0082]
[0083] 4)规则节点Sorder接收到具有所有取证节点签名的哈希值(Hx,Time(x,E),),x∈{1,...,5},利用取证节点Sn,n={1,...,5}的链上公钥对哈希值的所有签名进行验证:
[0084]
[0085] 其中,VerifyBC()为链上签名验证算法,T表示验证通过,公式中的?问号表示判断;
[0086] 验证通过后Sorder将具有所有取证节点签名的哈希值和时间戳形成区块,并广播至由区块链网络,区块链网络的网络节点Im将区块存储到服务器,m=1,...,20。
[0087] 5)取证节点Sx将接收到的区块的头哈希H(x,head)发送至比特币区块链网络,比特币区块链网络中的矿工节点将包括H(x,head)在内的数据加盖时间戳Time(x,B)形成区块,并广播至比特币区块链网络;
[0088] 比特币区块链网络中的网络节点对广播到的区块进行验证,验证通过后将区块存储在网络节点自身的本地服务器,从而将数据成功锚定至比特币区块链。
[0089] 在网页数据自动存证和取证后,验证方可以对需要的数据进行检验。如图3和图4所示,数据验证方式如下:
[0090] 6)验证方首先获取到需要验证存证网页数据的基本信息,即存证网页数据在各区块链取证节点的保全号,根据保全号查找该数据在区块链上哈希值Hx。
[0091] 验证哈希值Hx所在区块的头哈希H(x,head)是否可在比特币区块链网络上查找到,若存在该头哈希H(x,head)且比特币区块链上头哈希时间Time(x,B)和区块链上哈希值Hx的时间戳Time(x,E)相差在特定时间范围ε内,则说明区块链上哈希值Hx未被篡改:
[0092] Time(x,B)-Time(x,E)≤ε
[0093] 7)验证方根据保全号调取各取证节点的服务器中存储的数据压缩包Yx,x∈{1,...,5},利用哈希算法H()计算数据压缩包Yx的哈希值Hx':
[0094] Hx'=H(Yx)
[0095] 将哈希值Hx'与当前区块链网络上哈希值Hx进行比对,若完全相同,则说明该数据压缩包未被篡改或伪造;
[0096] 8)在通过步骤7)确定数据压缩包未被篡改、伪造的情况下,验证方利用区块链取证节点Sx,x∈{1,...,5}的身份公钥 对数据压缩包Zx的签名 进行验证:
[0097]
[0098] 其中,VerifyID()为签名验证算法,?表示判断,T表示验证通过,验证通过说明该数据压缩包是由取证节点Sx取证。
[0099] 9)验证方将数据压缩包Yx,x∈{1,...,5}解压,利用数据压缩包内取证记录时间Time(x,F)与时间戳Time(x,E)进行对比,若相差在特定时间范围μ内,则说明区块链上的时间戳未被篡改或伪造:
[0100] Time(x,E)-Time(x,F)≤μ
[0101] 在上述6)、7)、8)和9)验证均通过的情况下,说明存证的网页数据是由区块链取证节点取证且存证数据被安全存储,并未被篡改或伪造。
[0102] 10)在验证存证的网页数据安全性后,验证方将数据压缩包内取证记录时间Time(x,F),x∈{1,...,5}相互比较,若任意取证时间相差在特定时间范围λ内,则说明取证节点在规定时间内对网页数据进行取证:
[0103] |Time(i,E)-Time(j,F)|≤λ,i,j∈{1,....,5},i≠j
[0104] 其中,|a|表示取a的绝对值。
[0105] 11)在验证取证时间后,对各数据压缩包Yx,x∈{1,...,5}中网页截图、网页源代码等文件具体内容进行对比,若网页内数据内容相同,则说明取证节点真实地对网页数据进行取证,并未篡改或者伪造网页数据。
[0106] 在上述10)和11)验证均通过的情况下,说明区块链取证节点在规定的时间内真实地对网页数据进行取证,并未篡改或者伪造网页数据。
[0107] 通过上述实例,可以说明本发明能够实现对网页数据的自动取证与存证,与此同时,可对取证与存证的网页数据进行验证,很好地保证了取证数据的真实性和存证数据的安全性。
[0108] 上述具体实施方式用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。