Sie sind auf Seite 1von 9

(19)中华人民共和国国家知识产权局

(12)发明专利申请
(10)申请公布号 CN 108011945 A
(43)申请公布日 2018.05.08
(21)申请号 201711240095 .4

(22)申请日 2017 .11 .30

(71)申请人 公安部第三研究所
地址 200031 上海市徐汇区岳阳路76号

(72)发明人 吴松洋 杜琳 张勇 张旭 郭波 

(74)专利代理机构 上海天翔知识产权代理有限
公司 31224
代理人 刘常宝

(51)Int .Cl .
H04L 29/08(2006 .01)
H04L 29/06(2006 .01)
H04L 9/32(2006 .01)

权利要求书2页 说明书4页 附图2页

(54)发明名称
一种基于区块链的云取证过程记录方法及
系统
(57)摘要
本发明公开了一种基于区块链的云取证过
程记录方法及系统, 本方案采用区块链来“锚钉”
过程记录数据, 实现对数据存在的强有力证明 ,
实现防篡改。 本发明提供的方案能够有效实现在
云计算数据取证中防止取证数据来源的篡改, 同
时进行隐私保护, 达到事后(一定时间段后)防篡
改和隐私保护的目标, 有效解决现有技术所存在
的问题。
CN 108011945 A
CN 108011945 A 权 利 要 求 书 1/2 页

1 .基于区块链的云取证过程记录方法, 其特征在于, 所述方法将过程记录数据“锚钉”


到区块链网络中, 固定过程记录数据存在的时间。
2 .根据权利要求1所述的云取证过程记录方法, 其特征在于, 所述每份过程记录数据中
仅存储提交的取证数据文件的哈希值。
3 .根据权利要求1所述的云取证过程记录方法, 其特征在于, 所述记录方法中对交互双
方的交互会话进行群签名。
4 .根据权利要求1所述的云取证过程记录方法, 其特征在于, 所述记录方法包括如下步
骤:
(1)接收端向发送端发送云取证的需求;
(2)发送端在收到接收端的需求列表后, 进行电子数据收集工作; 并在数据收集完成
后, 向接收端提交收集的取证数据和提交列表;
(3)接收端确定并在提交列表上签名;
(4)发送端收到提交列表后, 将双方签名的提交列表发送至监察员, 监察员在收到列表
后, 使用签名来验证文档有效性, 确认通过后,计算并将提交列表的哈希值整理为Merkle
树;
(5)监察员负责维护Merkle树, 其包含大量的提交列表记录; 监察员依据Chainpoint协
议, 公布Merkle树的根, 并使用单个事务关系将所提交列表记录存储在区块链网络中;
(6)区块链中交易确认, 返回区块链网络中的交易记录;
(7)监察员为每个提交列表记录提供一个区块链收据;
(8)接收端取回区块链收据。
5 .根据权利要求4所述的云取证过程记录方法, 其特征在于, 所述步骤(2)中,发送端在
数据收集完成后, 首先将数据文件的哈希值和时间戳写入列表, 然后使用接收端的公钥对
随机字段nonce1进行加密, 并将加密后的值放入列表中; 然后发送端在包含哈希值, 时间戳
和加密nonce1字段的消息M上计算一个群签名, 并将此群签名存储在提交列表中, 传输至接
收端。
6 .根据权利要求5所述的云取证过程记录方法, 其特征在于, 所述步骤(3)中,接收端利
用哈希值审核收到的记录在提交列表中的取证数据, 审核通过后, 对提交列表进行签名; 接
收端解密出nonce1字段, 并使用发送端的公钥对字段nonce2进行加密,最后计算一个群签
名, 一并存储在提交列表中, 返回至发送端。
7 .根据权利要求4所述的 云取证过程记录方法 ,其特征在于 ,所述步骤 (7) 中 采 用
Chainpoint协议中的“区块链收据标准”, 规定收据至少包括提交列表哈希值、Merkle树路
径校验、 Merkle根和事务ID。
8 .根据权利要求4所述的云取证过程记录方法, 其特征在于, 所述步骤(8)中接收端可
请求最新的Merkle树的所有块链收据, 并存储同他有关的收据。
9 .基于区块链的云取证过程记录系统, 其特征在于,包括:
接收端模块, 所述接收端模块向发送端模块发送云取证需求, 验证发送端模块提交的
取证数据和提交列表, 并在提交列表上签名且返回至发送端模块;
发送端模块, 所述发送端模块在收到接收端的需求列表后进行电子数据收集, 并向接
收端模块提交收集的取证数据和提交列表; 所述发送端模块还将双方签名的提交列表发送

2
CN 108011945 A 权 利 要 求 书 2/2 页

至监察端模块;
监察端模块, 所述监察端模块接收并验证接收的列表后, 将提交列表记录数据存储在
区块链网络中, 并为每个提交列表记录提供一个区块链收据, 以供接收端模块取回提交列
表记录数据。
10 .根据权利要求9所述的云取证过程记录系统, 其特征在于, 所述监察端模块计算并
将提交列表的哈希值整理为Merkle树,
并依据Chainpoint协议,公布Merkle树的根,
并使用
单个事务关系将所提交列表记录存储在区块链网络中。

3
CN 108011945 A 说 明 书 1/4 页

一种基于区块链的云取证过程记录方法及系统

技术领域
[0001] 本发明涉及网络数据技术,
具体涉及网络数据的取证技术。

背景技术
[0002] 随着云计算、云存储等服务的快速发展,以及网络速度的不断提升, 越来越多的电
子数据存储在云平台上, 云平台应用取证也将逐渐成为研究重点。
[0003] 由于云计算的分布式特性,云的数据可能会在管辖区域内进行存储和处理。在这
种情况下, 收集云计算数字证据的过程需要多方合作, 而不仅仅是调查员和云服务提供商。
因此, 证据要求和提交的详细过程记录对于监管链至关重要。但目前云技术中所有利益相
关者的交互记录的可靠性保障方面仍然没有可用的技术方法。
[0004] 目前现有技术中,有些方案利用虚拟磁盘、API日志、访客防火墙日志、
监控日志来
保证取证的可靠性, 但这样的方案操作艰涩繁琐,且容易被共谋篡改。
[0005] 还有写方案提出在云环境中记录数据对象的所有权和流程历史的安全来源, 但这
样的方案侧重于云取证中的数据提取和数据完整性主题, 不考虑所有利益相关者在云计算
取证交互过程中记录的可靠性。

发明内容
[0006] 针对现有云计算数据取证方案所存在的问题, 需要一种新的安全可靠的云计算数
据取证方案。
[0007] 为此, 本发明所要解决的技术问题是提供一种基于区块链的云取证过程记录方法
及系统, 实现云计算数据取证记录过程中数据的防篡改和隐私保护。
[0008] 为了解决上述技术问题, 本发明提供的基于区块链的云取证过程记录方法, 所述
方法将过程记录数据“锚钉”到区块链网络中, 固定过程记录数据存在的时间。
[0009] 进一步的, 所述每份过程记录数据中仅存储提交的取证数据文件的哈希值。
[0010] 进一步的, 所述记录方法中对交互双方的交互会话进行群签名。
[0011] 进一步的, 所述记录方法包括如下步骤:
[0012] (1)接收端向发送端发送云取证的需求;
[0013] (2)发送端在收到接收端的需求列表后, 进行电子数据收集工作; 并在数据收集完
成后, 向接收端提交收集的取证数据和提交列表;
[0014] (3)接收端确定并在提交列表上签名;
[0015] (4)发送端收到提交列表后, 将双方签名的提交列表发送至监察员, 监察员在收到
列表后,使用签名来验证文档有效性 ,确认通过后,计算并将提交列表的哈希值整理为
Merkle树;
[0016] (5) 监 察 员 负 责 维 护 M e r k l e 树 ,其 包 含 大 量 的 提 交 列 表 记 录 ;监 察 员 依 据
Chainpoint协议, 公布Merkle树的根, 并使用单个事务关系将所提交列表记录存储在区块
链网络中;

4
CN 108011945 A 说 明 书 2/4 页

[0017] (6)区块链中交易确认, 返回区块链网络中的交易记录;


[0018] (7)监察员为每个提交列表记录提供一个区块链收据;
[0019] (8)接收端取回区块链收据。
[0020] 进一步, 所述步骤(2)中, 发送端在数据收集完成后, 首先将数据文件的哈希值和
时间戳写入列表, 然后使用接收端的公钥对随机字段nonce1进行加密, 并将加密后的值放
入列表中; 然后发送端在包含哈希值, 时间戳和加密nonce1字段的消息M上计算一个群签
名, 并将此群签名存储在提交列表中, 传输至接收端。
[0021] 进一步的, 所述步骤(3)中, 接收端利用哈希值审核收到的记录在提交列表中的取
证数据, 审核通过后, 对提交列表进行签名; 接收端解密出nonce1字段, 并使用发送端的公
钥对字段nonce2进行加密, 最后计算一个群签名, 一并存储在提交列表中, 返回至发送端。
[0022] 进一步的, 所述步骤(7)中采用Chainpoint协议中的“区块链收据标准”, 规定收据
至少包括提交列表哈希值、 Merkle树路径校验、Merkle根和事务ID。
[0023] 进一步的, 所述步骤(8)中接收端可请求最新的Merkle树的所有块链收据, 并存储
同他有关的收据。
[0024] 为了解决上述技术问题, 本发明提供的基于区块链的云取证过程记录系统, 其包
括:
[0025] 接收端模块, 所述接收端模块向发送端模块发送云取证需求, 验证发送端模块提
交的取证数据和提交列表, 并在提交列表上签名且返回至发送端模块;
[0026] 发送端模块, 所述发送端模块在收到接收端的需求列表后进行电子数据收集, 并
向接收端模块提交收集的取证数据和提交列表; 所述发送端模块还将双方签名的提交列表
发送至监察端模块;
[0027] 监察端模块, 所述监察端模块接收并验证接收的列表后, 将提交列表记录数据存
储在区块链网络中, 并为每个提交列表记录提供一个区块链收据, 以供接收端模块取回提
交列表记录数据。
[0028] 进一步的, 所述监察端模块计算并将提交列表的哈希值整理为Merkle树, 并依据
Chainpoint协议,公布Merkle树的根, 并使用单个事务关系将所提交列表记录存储在区块
链网络中。
[0029] 本发明提供的方案能够有效实现在云计算数据取证中防止取证数据来源的篡改,
同时进行隐私保护, 达到事后(一定时间段后)防篡改和隐私保护的目标, 有效解决现有技
术所存在的问题。

附图说明
[0030] 以下结合附图和具体实施方式来进一步说明本发明。
[0031] 图1为发明实例中基于区块链的云取证过程记录系统的系统框图;
[0032] 图2为本发明实例中基于区块链的云取证过程记录流程图;
[0033] 图3为本发明实例中提交列表的示意图。

具体实施方式
[0034] 为了使本发明实现的技术手段、创作特征、
达成目的与功效易于明白了解,
下面结

5
CN 108011945 A 说 明 书 3/4 页

合具体图示, 进一步阐述本发明。
[0035] 本方案针对云取证过程中的过程记录数据, 采用区块链来“锚钉”过程记录数据,
实现对数据存在的强有力证明, 实现防篡改;并且通过群签名技术来保证过程记录的有效
性, 以及保护过程记录收发双方的身份隐私。
[0036] 这里的“锚钉”为将数据或文件的hash值, 提交到区块链中, 固定数据/文件存在的
时间, 以证明在某个时间段这个数据/文件是存在的。
[0037] 据此原理, 本方案在实现时, 在收集的云取证数据被要求提交时, 将一份流程记录
数据(或过程记录数据)发送给监察方(可为第三方监察员) , 这份流程记录里包括提交证据
的清单和相应的数字签名。然后, 由监察方将把各方收集到的流程记录“锚钉”到一个区块
链网络中, 确保后续该过程记录无法篡改, 由此防止取证数据来源的篡改。
[0038] 在此基础上, 本方案在每份流程记录中仅存储提交的取证数据文件的哈希值, 这
样不会泄露证据内容; 同时对交互双方的交互会话采用群签名实现对交互双方的隐私保
护, 使得第三方无法将流程记录与发送方和接收方关联, 由此来实现隐私保护。
[0039] 针对上述的云取证过程记录方案, 以下通过一具体实例来说明其实现过程。
[0040] 参见图3, 其所示为本实例构建的云取证过程记录系统的系统框图。
[0041] 该云取证过程记录系统100能够实现将云取证过程中的过程记录数据“锚钉”到区
块链网络中, 以防止被篡改。
[0042] 该云取证过程记录系统100整体相应的软件框架, 由图可知, 其主要由接收端模块
110、 发送端模块120以及监察端模块130。
[0043] 其中,接收端模块110与发送端模块120和监察端模块130之间建立相应的数据通
信链路, 以进行数据传输。接收端模块110由相应的接收者(如调查人员)调用,用于产生相
应的云取证需求, 并通过与发送端模块120之间建立的数据通信链路, 将相应的云取证需求
列表发送至发送端模块120; 该接收端模块110还验证发送端模块120提交的取证数据和提
交列表, 并在提交列表上签名且返回至发送端模块120; 该接收端模块110还能够通过与监
察端模块130之间建立的数据通信链路, 从监察端模块130中取回相应的区块链收据。
[0044] 发送端模块120与接收端模块110和监察端模块130之间建立相应的数据通信链
路, 以进行数据传输。发送端模块120由相应的发送者(如云服务提供商)调用, 通过与发送
端模块120之间建立的数据通信链路, 接收接收端模块110发出的需求列表, 并在收到需求
列表后进行电子数据收集, 并向接收端模块提交收集的取证数据和提交列表, 且在提交列
表上签名; 该发送端模块120还将接收端模块110返回的双方签名的提交列表, 通过与监察
端模块130之间建立的数据通信链路, 发送至监察端模块130。
[0045] 监察端模块130, 与接收端模块110和发送端模块120之间建立相应的数据通信链
路, 以进行数据传输。监察端模块130通过与发送端模块120之间建立的数据通信链路, 接收
并验证接收的列表后, 将提交列表记录数据存储在区块链网络中, 并为每个提交列表记录
提供一个区块链收据, 以供接收端模块取回提交列表记录数据。该监察端模块130还通过与
接收端模块110之间建立的数据通信链路, 返回相应的区块链收据至接收端模块110。
[0046] 据此设置, 本实例进行云取证过程记录的过程如下(参见图2):
[0047] 步骤1 .接收者(例如调查人员)向发送者(例如云服务提供商)发送云取证的需求;
这里的需求以相应的需求列表形式发出。

6
CN 108011945 A 说 明 书 4/4 页

[0048] 步骤2 .发送者在收到接收者的需求列表后, 进行电子数据收集工作。


[0049] 在数据收集完成后, 发送者首先将数据文件的哈希值和时间戳写入列表;
[0050] 接着使用接收者的公钥对随机字段nonce1进行加密(nonce1随机选取, 以用于在
交互会话期间验证对方), 并将加密后的值放入列表中;
[0051] 接着发送者在包含哈希值, 时间戳和加密nonce1字段的消息M上计算一个群签名,
并将此群签名存储在提交列表中, 传输至接收者。
[0052] 步骤3 .接收者利用哈希值审核收到的记录在提交列表中的取证数据, 审核通过
后, 对提交列表进行签名。接收者解密出nonce1字段, 基于nonce1字段得到对应的nonce2字
段(作为举例, 该nonce2字段基于公式nonce2=nonce1+1得到) , 并使用发送者的公钥对
nonce2进行加密, 最后接收者计算一个群签名, 一并存储在提交列表中, 形成双方签名的列
表, 并返回至发送者, 这里所提交列表如图3所示。
[0053] 步骤4 .发送者收到提交列表后, 利用nonce2字段来确认是否是接收者签名的提交
列表。鉴于隐私保护, 发送者传送此份双方签名的提交列表至第三方监察员, 监察员在收到
双方签名的列表后, 使用群签名来验证文档有效性, 确认通过后, 计算并将提交列表的哈希
值整理为Merkle树。
[0054] 步骤5-6 .监察员负责维护Merkle树, 其包含大量的提交列表记录。监察员依据
Chainpoint协议, 公布Merkle树的根, 并使用单个事务关系将这些提交列表记录存储在区
块链网络中, 一旦区块链中交易确认, 即可通过交易ID来证明相关数据的存在。
[0055] 步 骤 7 .监 察 员 为 每 个 提 交 列 表 记 录 提 供 一 个 区 块 链 收 据 。本 实 例 中 采 用
Chainpoint协议中的“区块链收据标准”, 规定收据至少包括提交列表哈希值、Merkle树路
径校验、 Merkle根和事务ID。
[0056] 步骤8 .接收者取回区块链收据, 为了隐私保护, 接收者可以请求最新的Merkle树
的所有块链收据, 并存储同他有关的收据。
[0057] 由上实例可知, 本方案能够实现一旦收集的取证数据被要求提交, 一份过程记录
将发送给监察员, 这份过程记录里包括提交证据的清单和相应的数字签名; 再由监察员将
把各方收集到的流程记录“锚钉”到一个区块链网络中, 确保后续该过程记录无法篡改, 由
此保证云计算取证交互过程中记录的可靠性。
[0058] 以上显示和描述了本发明的基本原理、 主要特征和本发明的优点。本行业的技术
人员应该了解, 本发明不受上述实施例的限制, 上述实施例和说明书中描述的只是说明本
发明的原理, 在不脱离本发明精神和范围的前提下, 本发明还会有各种变化和改进, 这些变
化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其
等效物界定。

7
CN 108011945 A 说 明 书 附 图 1/2 页

图1

图2

8
CN 108011945 A 说 明 书 附 图 2/2 页

图3