本发明涉及视频保护技术领域,更具体地,涉及一种基于区块链的视频操作记录保护方法及系统。
背景技术:
当前社会,视频监控被广泛应用于生产、零售、治安等多个领域。使用视频监控有以下优势:提高管理监督效果、降低管理成本、方便监督管理工作、便于调查和明确责任等。视频经常作为有效证据辅助公安机关破案和解决各类纠纷。然而,如何保障视频的真实性和完整性是一个严重问题。视频主要存储在服务器上,通过服务器自身的安全机制来保障视频的真实性和完整性。然而,这种方法只能抵御来自外部网络的攻击,而无法防止内部人员篡改服务器上的视频。目前主要通过技术手段进行视频篡改检测,包括基于运动矢量的检测方法、基于纹理特征的检测方法、基于空时域联合匹配的检测方法等。在确认视频被篡改后,通常需要进行追责。此时,系统操作日志作为主要记录视频篡改历史的证据。
单独依赖操作日志无法预防内部人员对视频的修改。有经验的技术人员可以在修改视频后再次修改系统记录的操作日志,完全掩盖视频修改行为。
技术实现要素:
本发明提供的方法利用区块链不可篡改的特性记录用户对视频修改的行为,有效预防视频被恶意修改和造假,保障视频修改记录的真实性和完备性,为调查和明确责任提供直接证据。
为实现以上发明目的,采用的技术方案是:
一种基于区块链的视频操作记录保护方法,包括有以下步骤:
(一)视频修改记录首次入块:
1)视频终端把视频发送到视频服务器;
2)视频服务器给该视频分配一个标识符;
3)视频服务器计算该视频的哈希值;
4)视频服务器将视频标识符、时间戳和视频哈希值组合成视频修改记录发送给区块链服务器;
5)区块链服务器创建新区块并存储视频修改记录;
(二)视频被修改后视频修改记录的入块流程:
6)用户修改视频服务器上的视频;
7)视频服务器计算修改后的视频的哈希值;
8)视频服务器将视频标识符、时间戳和修改后视频的哈希值组合成最新的视频修改记录发送到区块链服务器;
9)区块链服务器根据视频的标识符从后往前遍历区块找到时间戳最近的一条视频修改记录;
10)区块链服务器计算时间戳最近的一条视频修改记录的哈希值作为上一次视频修改记录的哈希值;
11)区块链服务器将上一次视频修改记录的哈希值、上一次视频修改记录所在区块的哈希值及最新的视频修改记录组合形成视频修改记录存入区块。
优选地,所述11)中存入区块的具体过程如下:
a)区块链服务器将同一天内的所有视频修改记录进行汇总;
b)区块链服务器统计视频修改记录的数量;
c)区块链服务器通过merkle树算法计算视频修改记录的merkle根;
d)区块链服务器计算由上一区块哈希值、时间戳和merkle根组成的数据哈希值作为新产生区块的区块头哈希值;
e)区块链创建区块,新区块由两部分构成:区块头和区块体;
f)区块体保存视频修改记录;
g)区块头保存区块链版本号、区块体中视频修改记录的数量,前一区块头的哈希值和本区块头哈希值;
h)新区块连接到上一区块后面,形成区块链。
本发明同时还提供了一种应用以上方法的系统,其包括:视频终端、视频服务器和区块链服务器。
与现有技术相比,本发明的有益效果是:
1.基于区块链不可篡改的特性保障存储在区块中的视频修改记录的真实性和完备性;
2.视频与修改记录分开存储,有效防止视频所在服务器被恶意修改造成的视频和修改记录都被篡改的情况。
附图说明
图1为步骤(一)的实施流程图。
图2为区块的结构图。
图3为区块链的形式图。
图4为系统的结构示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
本发明提供了一种基于区块链的视频操作记录保护方法,其具体包括以下步骤:
(一)视频修改记录首次入块,如图1所示,包括以下步骤:
1)视频终端把视频发送到视频服务器;
2)视频服务器给该视频分配一个标识符;
3)视频服务器计算该视频的哈希值;
4)视频服务器将视频标识符、时间戳和视频哈希值组合成视频修改记录发送给区块链服务器;
5)区块链服务器创建新区块并存储视频修改记录;
(二)视频被修改后视频修改记录的入块流程:
6)用户修改视频服务器上的视频;
7)视频服务器计算修改后的视频的哈希值;
8)视频服务器将视频标识符、时间戳和修改后视频的哈希值组合成最新的视频修改记录发送到区块链服务器;
9)区块链服务器根据视频的标识符从后往前遍历区块找到时间戳最近的一条视频修改记录;
10)区块链服务器计算时间戳最近的一条视频修改记录的哈希值作为上一次视频修改记录的哈希值;
11)区块链服务器将上一次视频修改记录的哈希值、上一次视频修改记录所在区块的哈希值及最新的视频修改记录组合形成视频修改记录存入区块。
其中,所述11)中存入区块的具体过程如下:
a)区块链服务器将同一天内的所有视频修改记录进行汇总;
b)区块链服务器统计视频修改记录的数量;
c)区块链服务器通过merkle树算法计算视频修改记录的merkle根;
d)区块链服务器计算由上一区块哈希值、时间戳和merkle根组成数据的哈希值作为新产生区块的区块头哈希值,即hash(上一区块哈希值+时间戳+merkle根);
e)区块链创建区块,新区块由两部分构成:区块头和区块体;
f)区块体保存视频修改记录;
g)区块头保存区块链版本号、区块体中视频修改记录的数量,前一区块头的哈希值和本区块头哈希值;如图2、3所示;
h)新区块连接到上一区块后面,形成区块链。
实施例2
本实施例提供了一种应用实施例1方法的系统,如图4所示,其包括:视频终端、视频服务器和区块链服务器。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。