CN109522747A - 一种基于区块链的防篡改日志记录系统及方法 - Google Patents

一种基于区块链的防篡改日志记录系统及方法 Download PDF

Info

Publication number
CN109522747A
CN109522747A CN201811340635.0A CN201811340635A CN109522747A CN 109522747 A CN109522747 A CN 109522747A CN 201811340635 A CN201811340635 A CN 201811340635A CN 109522747 A CN109522747 A CN 109522747A
Authority
CN
China
Prior art keywords
log
block
signature
server
client
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.)
Pending
Application number
CN201811340635.0A
Other languages
English (en)
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.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology Co Ltd
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 Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN201811340635.0A priority Critical patent/CN109522747A/zh
Publication of CN109522747A publication Critical patent/CN109522747A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6272Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party

Abstract

本发明公开一种基于区块链的防篡改日志记录系统及方法,该系统共由录入、打包、签名、存储、审计五个模块组成相互独立的客户端和服务端,客户端拥有录入接口和定时审计接口,录入接口用于和应用系统进行对接,将需要存储的日志签名后发送到服务端;定时审计接口接收客户的审计请求,定时对服务端所存储的日志进行审计,一旦发现存在篡改痕迹,即向应用系统发起告警并阻断后续日志的录入;服务端用于验证日志签名的合法性,并将日志打包成区块,并对区块进行签名后以块链式进行存储。本发明用于企业内部的防篡改日志记录及审计等系统中,保证的日志的防篡改性,同时又提供了存储内容的可审计性,是区块链技术在中心化防篡改领域的一大突破。

Description

一种基于区块链的防篡改日志记录系统及方法
技术领域
本发明涉及区块链的应用领域,具体涉及一种基于区块链的防篡改日志记录系统及方法。
背景技术
区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,其基本存储结构是一种按时间顺序的链式数据结构,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。
但是使用传统的去中心化区块链技术来应对防篡改日志方法时,去中心化的多节点冗余备份和大量日志的中心化存储理念相悖,不利于大量日志的存储和中心化的查询、审计。因此,如何利用区块链技术的同时,又能保证防篡改日志的中心化海量存储,是将区块链技术运用于防篡改日志记录的一项挑战。
发明内容
针对现有技术的不足,本发明提出一种基于区块链的防篡改日志记录系统及方法,基于底层的区块链技术的块链式存储结构和密码学原理进行设计,保证了中心化的日志记录的防篡改性和可审计性。
本发明的目的是通过以下技术方案来实现的:
一种基于区块链的防篡改日志记录系统,其特征在于,所述的系统共由五个模块组成相互独立的客户端和服务端,所述的五个模块具体为:
录入模块,该模块用于检测日志的生成,将日志签名后,从客户端发送到服务端,是日志的入口模块;
打包模块,该模块对接收到的日志进行打包,并按时间生成顺序将一定量的日志打包成一个区块;
签名模块,该模块指用于对打包模块打包后的区块进行签名,采用可插拔的设计,允许多种方式的签名算法;
存储模块,该模块用于将签名后的区块以块链式进行存储,作为底层存储支撑;
审计模块,该模块用于随机审计指定时间范围内一定量的区块签名,一旦发现签名异常,客户端向其对接的应用系统推送报警;
所述的客户端拥有录入接口和定时审计接口,录入接口用于和应用系统进行对接,将需要存储的日志签名后发送到服务端;定时审计接口接收客户的审计请求,定时对服务端所存储的日志进行审计,一旦发现存在篡改痕迹,即向应用系统发起告警并阻断后续日志的录入;
所述的服务端用于验证日志签名的合法性,并将日志打包成区块,并对区块进行签名后以块链式进行存储达到防篡改目的。
一种基于区块链的防篡改日志记录方法,该方法基于上述的系统实现,该方法具体包括如下步骤:
S1:所述的客户端的录入接口接收客户通过应用系统录入的日志,并检查该日志的合法性,如果合法,则客户端对其进行签名并发送到服务端,如果不合法,则拒绝该日志录入;
S2:所述的服务端调用签名模块对客户端发送的日志进行验签,并将通过合法性验证的日志暂存在日志缓存池中;
S3:所述的服务端将日志缓存池中的所有日志按时间顺序取出组成日志列表,并附上新区块编号,记为一个新的区块,然后根据日志列表的哈希、上一个区块的签名以及一个随机区块的签名三者共同为依据生成新区块的签名;其中,当新的区块为1号区块时,上一个区块的签名和随机区块的签名均为默认缺省值;当新的区块为2号区块时,上一个区块的签名和随机区块的签名均为1号区块的签名,其他区块的随机区块签名不能为其上一区块的签名;
S4:将S3签名后的区块存储到数据库中,并更新块链账本。
进一步地,所述的S1中,客户端对签名后的日志进行缓存一定量或者在规定时间窗口中不再接收到新的日志后,再将日志发送到服务端进行处理。
进一步地,所述的S3中,当服务端的日志缓存池中的日志达到一定量或者在规定时间窗口中不再接收到新的日志后,服务端对其进行打包区块的操作,已经进行排序打包的日志将会从日志缓存池中被剔除,日志缓存池进行新区块的日志缓存。
进一步地,所述的S3中,所有区块的签名及验签均使用一对公私钥对进行,所述的私钥由程序内嵌的一段随机数和程序初始化时往数据库中存储的一段随机数共同拼接而成,并由该私钥生成公钥,然后用该私钥对区块进行签名,由该公钥对区块进行验签,保证只有服务端能对区块进行签名,服务端的部署者无法伪造签名。
本发明的有益效果如下:
本发明中每个区块都含有区块编号、区块签名和该区块的日志列表,所有的区块按照生成的顺序进行块链式存储,每个新区块都和上一个区块以及一个随机区块有关联关系,一旦要对一条日志进行修改,首先要破解本发明的密码非对称秘钥,其次还要修改与这条日志相关的所有区块签名,这将带来很大的成本,从而达到防篡改记录日志的目的。本发明借助区块链的块链式存储结构实现中心化防篡改日志记录方法,在日志公开透明存储的情况下,即保证了日志文件仅存在增加而不能进行删除和修改,也提供了公开公信的日志防篡改审计功能。本发明的系统及方法应用于企业内部的防篡改日志记录及审计等系统中,保证的日志的防篡改性,同时又提供了存储内容的可审计性,是区块链技术在中心化防篡改领域的一大突破。
附图说明
图1是本发明的系统中区块的内容要素图;
图2是本发明的方法中日志底层存储的块链式组织结构图;
图3是本发明的基于区块链的防篡改日志记录方法的流程示意图。
具体实施方式
下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的基于区块链的防篡改日志记录系统,共由五个模块组成相互独立的客户端和服务端,五个模块具体为:
录入模块,该模块用于检测日志的生成,将日志签名后,从客户端发送到服务端,是日志的入口模块;
打包模块,该模块对接收到的日志进行打包,并按时间生成顺序将一定量的日志打包成一个区块;
签名模块,该模块指用于对打包模块打包后的区块进行签名,采用可插拔的设计,允许多种方式的签名算法;
存储模块,该模块用于将签名后的区块以块链式进行存储,作为底层存储支撑;
审计模块,该模块用于随机审计指定时间范围内一定量的区块签名,一旦发现签名异常,客户端向其对接的应用系统推送报警;
客户端拥有录入接口和定时审计接口,录入接口用于和应用系统进行对接,将需要存储的日志签名后发送到服务端;定时审计接口接收客户的审计请求,定时对服务端所存储的日志进行审计,一旦发现存在篡改痕迹,即向应用系统发起告警并阻断后续日志的录入;
服务端用于验证日志签名的合法性,并将日志打包成区块,并对区块进行签名后以块链式进行存储达到防篡改目的。
如图3所示,一种基于区块链的防篡改日志记录方法,该方法基于上述的系统实现,该方法具体包括如下步骤:
S1:所述的客户端的录入接口接收客户通过应用系统录入的日志,并检查该日志的合法性,如果合法,则客户端对其进行签名并发送到服务端,如果不合法,则拒绝该日志录入;
S2:所述的服务端调用签名模块对客户端发送的日志进行验签,并将通过合法性验证的日志暂存在日志缓存池中;
S3:所述的服务端将日志缓存池中的所有日志按时间顺序取出组成日志列表,并附上新区块编号,记为一个新的区块,然后根据日志列表的哈希、上一个区块的签名以及一个随机区块的签名三者共同为依据生成新区块的签名;其中,当新的区块为1号区块时,上一个区块的签名和随机区块的签名均为默认缺省值;当新的区块为2号区块时,上一个区块的签名和随机区块的签名均为1号区块的签名,其他区块的随机区块签名不能为其上一区块的签名(如图1-2所示);
S4:将S3签名后的区块存储到数据库中,并更新块链账本。
作为其中一种实施方式,所述的S1中,客户端对签名后的日志进行缓存一定量或者在规定时间窗口中不再接收到新的日志后,再将日志发送到服务端进行处理。
作为其中一种实施方式,所述的S3中,当服务端的日志缓存池中的日志达到一定量或者在规定时间窗口中不再接收到新的日志后,服务端对其进行打包区块的操作,已经进行排序打包的日志将会从日志缓存池中被剔除,日志缓存池进行新区块的日志缓存。
作为其中一种实施方式,所述的S3中,所有区块的签名及验签均使用一对公私钥对进行,所述的私钥由程序内嵌的一段随机数和程序初始化时往数据库中存储的一段随机数共同拼接而成,并由该私钥生成公钥,然后用该私钥对区块进行签名,由该公钥对区块进行验签,保证只有服务端能对区块进行签名,服务端的部署者无法伪造签名。
本发明中,每个区块都含有区块编号、区块签名和该区块的日志列表,所有的区块按照生成的顺序进行块链式存储。每个新区块都和上一个区块以及一个随机区块有关联关系,一旦要对一条日志进行修改,首先要破解本发明的密码非对称秘钥,其次还要修改与这条日志相关的所有区块签名,这将带来很大的成本,从而达到防篡改记录日志的目的。本发明借助区块链的块链式存储结构实现中心化防篡改日志记录方法,在日志公开透明存储的情况下,即保证了日志文件仅存在增加而不能进行删除和修改,也提供了公开公信的日志防篡改审计功能。
本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。

Claims (5)

1.一种基于区块链的防篡改日志记录系统,其特征在于,所述的系统共由五个模块组成相互独立的客户端和服务端,所述的五个模块具体为:
录入模块,该模块用于检测日志的生成,将日志签名后,从客户端发送到服务端,是日志的入口模块;
打包模块,该模块对接收到的日志进行打包,并按时间生成顺序将一定量的日志打包成一个区块;
签名模块,该模块指用于对打包模块打包后的区块进行签名,采用可插拔的设计,允许多种方式的签名算法。
存储模块,该模块用于将签名后的区块以块链式进行存储,作为底层存储支撑。
审计模块,该模块用于随机审计指定时间范围内一定量的区块签名,一旦发现签名异常,客户端向其对接的应用系统推送报警;
所述的客户端拥有录入接口和定时审计接口,录入接口用于和应用系统进行对接,将需要存储的日志签名后发送到服务端;定时审计接口接收客户的审计请求,定时对服务端所存储的日志进行审计,一旦发现存在篡改痕迹,即向应用系统发起告警并阻断后续日志的录入。
所述的服务端用于验证日志签名的合法性,并将日志打包成区块,并对区块进行签名后以块链式进行存储达到防篡改目的。
2.一种基于区块链的防篡改日志记录方法,该方法基于权利要求1所述的系统实现,该方法具体包括如下步骤:
S1:所述的客户端的录入接口接收客户通过应用系统录入的日志,并检查该日志的合法性,如果合法,则客户端对其进行签名并发送到服务端,如果不合法,则拒绝该日志录入;
S2:所述的服务端调用签名模块对客户端发送的日志进行验签,并将通过合法性验证的日志暂存在日志缓存池中;
S3:所述的服务端将日志缓存池中的所有日志按时间顺序取出组成日志列表,并附上新区块编号,记为一个新的区块,然后根据日志列表的哈希、上一个区块的签名以及一个随机区块的签名三者共同为依据生成新区块的签名;其中,当新的区块为1号区块时,上一个区块的签名和随机区块的签名均为默认缺省值;当新的区块为2号区块时,上一个区块的签名和随机区块的签名均为1号区块的签名,其他区块的随机区块签名不能为其上一区块的签名;
S4:将S3签名后的区块存储到数据库中,并更新块链账本。
3.根据权利要求2所述的基于区块链的防篡改日志记录方法,所述的S1中,客户端对签名后的日志进行缓存一定量或者在规定时间窗口中不再接收到新的日志后,再将日志发送到服务端进行处理。
4.根据权利要求2所述的基于区块链的防篡改日志记录方法,所述的S3中,当服务端的日志缓存池中的日志达到一定量或者在规定时间窗口中不再接收到新的日志后,服务端对其进行打包区块的操作,已经进行排序打包的日志将会从日志缓存池中被剔除,日志缓存池进行新区块的日志缓存。
5.根据权利要求2所述的基于区块链的防篡改日志记录方法,所述的S3中,所有区块的签名及验签均使用一对公私钥对进行,所述的私钥由程序内嵌的一段随机数和程序初始化时往数据库中存储的一段随机数共同拼接而成,并由该私钥生成公钥,然后用该私钥对区块进行签名,由该公钥对区块进行验签,保证只有服务端能对区块进行签名,服务端的部署者无法伪造签名。
CN201811340635.0A 2018-11-12 2018-11-12 一种基于区块链的防篡改日志记录系统及方法 Pending CN109522747A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811340635.0A CN109522747A (zh) 2018-11-12 2018-11-12 一种基于区块链的防篡改日志记录系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811340635.0A CN109522747A (zh) 2018-11-12 2018-11-12 一种基于区块链的防篡改日志记录系统及方法

Publications (1)

Publication Number Publication Date
CN109522747A true CN109522747A (zh) 2019-03-26

Family

ID=65773705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811340635.0A Pending CN109522747A (zh) 2018-11-12 2018-11-12 一种基于区块链的防篡改日志记录系统及方法

Country Status (1)

Country Link
CN (1) CN109522747A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147686A (zh) * 2019-04-18 2019-08-20 阿里巴巴集团控股有限公司 一种个人资产变更记录的存储方法、系统、装置及设备
CN110489313A (zh) * 2019-07-04 2019-11-22 平安科技(深圳)有限公司 基于区块链的操作日志记录方法、装置及存储介质
CN111324517A (zh) * 2020-01-20 2020-06-23 阿尔法云计算(深圳)有限公司 应用服务监管方法、监管服务器及存储介质
CN111339550A (zh) * 2020-02-01 2020-06-26 成都理工大学 一种基于区块链技术的评论信息可信化方法
CN112448946A (zh) * 2020-11-09 2021-03-05 北京工业大学 基于区块链的日志审计方法及装置
CN112669002A (zh) * 2020-12-25 2021-04-16 广州辰创科技发展有限公司 一种基于定时功能的数据审查方法、设备、存储介质
CN113098879A (zh) * 2021-04-06 2021-07-09 北京众享比特科技有限公司 一种防止后端篡改上链数据的方法、系统和区块链网络
CN113127934A (zh) * 2021-06-17 2021-07-16 北京信安世纪科技股份有限公司 基于日志文件的签名、验签方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124278A (zh) * 2017-03-30 2017-09-01 腾讯科技(深圳)有限公司 业务处理方法、装置以及数据共享系统
CN107396360A (zh) * 2017-08-15 2017-11-24 中国联合网络通信集团有限公司 区块验证方法及装置
CN107767134A (zh) * 2017-01-22 2018-03-06 平安医疗健康管理股份有限公司 基于区块链的医疗费用支付方法和系统
CN108111299A (zh) * 2017-12-28 2018-06-01 上海唯链信息科技有限公司 一种基于区块链技术的实时审计追溯系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107767134A (zh) * 2017-01-22 2018-03-06 平安医疗健康管理股份有限公司 基于区块链的医疗费用支付方法和系统
CN107124278A (zh) * 2017-03-30 2017-09-01 腾讯科技(深圳)有限公司 业务处理方法、装置以及数据共享系统
CN107396360A (zh) * 2017-08-15 2017-11-24 中国联合网络通信集团有限公司 区块验证方法及装置
CN108111299A (zh) * 2017-12-28 2018-06-01 上海唯链信息科技有限公司 一种基于区块链技术的实时审计追溯系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘梦云: "云存储数据完整性可问责方案的研究", 《华中科技大学硕士学位论文》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147686A (zh) * 2019-04-18 2019-08-20 阿里巴巴集团控股有限公司 一种个人资产变更记录的存储方法、系统、装置及设备
CN110489313B (zh) * 2019-07-04 2022-07-19 平安科技(深圳)有限公司 基于区块链的操作日志记录方法、装置及存储介质
CN110489313A (zh) * 2019-07-04 2019-11-22 平安科技(深圳)有限公司 基于区块链的操作日志记录方法、装置及存储介质
WO2021000494A1 (zh) * 2019-07-04 2021-01-07 平安科技(深圳)有限公司 基于区块链的操作日志记录方法、装置、设备及存储介质
CN111324517A (zh) * 2020-01-20 2020-06-23 阿尔法云计算(深圳)有限公司 应用服务监管方法、监管服务器及存储介质
CN111324517B (zh) * 2020-01-20 2023-08-18 阿尔法云计算(深圳)有限公司 应用服务监管方法、监管服务器及存储介质
CN111339550A (zh) * 2020-02-01 2020-06-26 成都理工大学 一种基于区块链技术的评论信息可信化方法
CN111339550B (zh) * 2020-02-01 2023-08-29 温州理工学院 一种基于区块链技术的评论信息可信化方法
CN112448946A (zh) * 2020-11-09 2021-03-05 北京工业大学 基于区块链的日志审计方法及装置
CN112448946B (zh) * 2020-11-09 2024-03-19 北京工业大学 基于区块链的日志审计方法及装置
CN112669002A (zh) * 2020-12-25 2021-04-16 广州辰创科技发展有限公司 一种基于定时功能的数据审查方法、设备、存储介质
CN113098879A (zh) * 2021-04-06 2021-07-09 北京众享比特科技有限公司 一种防止后端篡改上链数据的方法、系统和区块链网络
CN113127934A (zh) * 2021-06-17 2021-07-16 北京信安世纪科技股份有限公司 基于日志文件的签名、验签方法及电子设备

Similar Documents

Publication Publication Date Title
CN109522747A (zh) 一种基于区块链的防篡改日志记录系统及方法
Haeberlen A case for the accountable cloud
CN108009445B (zh) 一种半中心化的可信数据管理系统
US20170149819A1 (en) Resisting replay attacks efficiently in a permissioned and privacy- preserving blockchain network
JP2018533320A (ja) 時間を中心としたマークルハッシュ木などのハッシュ木を使用するデータ検証方法およびシステム
CN107220559B (zh) 一种针对不可篡改文件的加密存储方法
US20210099283A1 (en) Pruning entries in tamper-evident data stores
US20070079126A1 (en) System and method for performing a trust-preserving migration of data objects from a source to a target
US11177940B2 (en) Method of evidencing existence of digital documents and a system therefor
US20140351601A1 (en) Product authentication using end-to-end cryptographic scheme
CN111767578B (zh) 一种数据检验方法、装置及设备
US8904182B2 (en) Method and system to provide fine granular integrity to digital data
Lyle et al. Trusted computing and provenance: Better together
CN104092544B (zh) 兼容安卓应用的服务签名方法与装置
KR20200105999A (ko) 디지털 마크를 생성하기 위한 시스템 및 방법
US20070294205A1 (en) Method and apparatus for detecting data tampering within a database
US10728036B2 (en) Cryptographically linking related events processed across multiple processing systems
Fowler SQL server forenisc analysis
US11514439B2 (en) System and method using zero knowledge proofs for alert sharing
CN105933303A (zh) 一种文件篡改的检测方法及装置
CN111444270B (zh) 基于区块链的控制有害信息的方法及系统
CN113129017B (zh) 一种信息共享方法、装置及设备
CN111368003B (zh) 一种多链锚定数据的管理方法
CN110535663B (zh) 一种基于区块链的可信时间戳服务的实现方法及系统
CN109271811B (zh) 一种基于群签名的电子物证防篡改存储方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190326

RJ01 Rejection of invention patent application after publication