CN112713996B - 基于区块链的故障验证方法、服务器和终端 - Google Patents

基于区块链的故障验证方法、服务器和终端 Download PDF

Info

Publication number
CN112713996B
CN112713996B CN202011478605.3A CN202011478605A CN112713996B CN 112713996 B CN112713996 B CN 112713996B CN 202011478605 A CN202011478605 A CN 202011478605A CN 112713996 B CN112713996 B CN 112713996B
Authority
CN
China
Prior art keywords
heartbeat
verified
terminal
log file
preset
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.)
Active
Application number
CN202011478605.3A
Other languages
English (en)
Other versions
CN112713996A (zh
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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202011478605.3A priority Critical patent/CN112713996B/zh
Publication of CN112713996A publication Critical patent/CN112713996A/zh
Application granted granted Critical
Publication of CN112713996B publication Critical patent/CN112713996B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开一种基于区块链的故障验证方法、服务器和终端。涉及区块链技术领域。故障验证方法包括:从区块链网络中,获取待验证终端发送的心跳日志文件和待验证心跳消息;按照预设规则对待验证心跳消息进行哈希计算,获得待验证哈希值;依据待验证哈希值和心跳日志文件,确定待验证终端是否处于故障状态。利用区块链网络的去中心化特性,保证心跳日志文件的不可篡改性。按照预设规则对待验证心跳消息进行哈希计算,获得待验证哈希值;依据待验证哈希值和心跳日志文件,确定待验证终端是否处于故障状态,能实时的对待验证终端的安全性进行监控,提高待验证终端的安全性,并通过心跳日志文件使心跳服务器的管理行为具有可追溯性。

Description

基于区块链的故障验证方法、服务器和终端
技术领域
本申请涉及区块链技术领域,具体涉及一种基于区块链的故障验证方法、服务器和终端。
背景技术
心跳消息(Heartbeat Message)是一种发送方发送到接收方的消息,这种消息可以让接收方确定发送方是否出现故障,或,何时出现故障。通常情况下,发送方从启动时就开始发送心跳消息,发送方会不间断的发送周期性或重复的心跳消息,直至发送方关闭。当接收方在某个消息接收周期内未收到该心跳消息,接收方会认为发送方已经关闭或发送方出现故障。
待验证终端上的应用程序(Application,APP)在执行的过程中,会定时发送心跳消息给网络侧的服务器,以使服务器获知该应用程序处于工作状态,服务器会将接收到的心跳消息记录为日志文件,保存至该服务器的数据库中。但是,随着计算机网络技术的发展,很多第三方设备能够截获APP发送的心跳消息,并修改该心跳消息中的发送地址或时间信息等,导致无法保证待验证终端的安全性。
发明内容
为此,本申请提供一种基于区块链的故障验证方法、服务器和终端,如何实时保证待验证终端的安全性的问题。
为了实现上述目的,本申请第一方面提供一种基于区块链的故障验证方法,方法包括:从区块链网络中,获取待验证终端发送的心跳日志文件和待验证心跳消息;按照预设规则对待验证心跳消息进行哈希计算,获得待验证哈希值;依据待验证哈希值和心跳日志文件,确定待验证终端是否处于故障状态。
在一些具体实现中,心跳日志文件包括N个预设哈希值,预设哈希值是待验证终端按照预设规则对待验证终端发送的心跳保活消息进行哈希计算获得的值,心跳保活消息用于表征待验证终端处于正常状态,N为大于或等于1的整数;依据待验证哈希值和心跳日志文件,确定待验证终端是否处于故障状态,包括:依据待验证哈希值查找心跳日志文件,获得查找结果;在确定查找结果是N个预设哈希值中包括待验证哈希值的情况下,确定待验证终端处于正常状态;否则,确定待验证终端处于故障状态。
在一些具体实现中,心跳日志文件包括心跳周期和时间戳信息,时间戳信息是时间戳服务器生成的信息。
在一些具体实现中,方法还包括:在第一预设时长内,从区块链网络中获得待验证终端发送的待验证心跳消息,其中,待验证心跳消息包括待验证终端的区块链标识,第一预设时长大于K个心跳周期且小于K+1个心跳周期,K为大于或等于1的整数;确定待验证终端处于故障状态。
在一些具体实现中,从区块链网络中,获取待验证终端发送的心跳日志文件和待验证心跳消息,包括:查找区块链账本,获得待验证终端的第一公钥和时间戳服务器的第二公钥;使用第一公钥对心跳日志文件的私钥签名进行验证,获得第一验证结果;使用第二公钥对获得的时间戳信息的私钥签名进行验证,获得第二验证结果;在确定第一验证结果和第二验证结果均为验证成功的情况下,获取心跳日志文件;每间隔心跳周期,获取待验证终端发送的待验证心跳消息。
在一些具体实现中,心跳日志文件还包括待验证终端的区块链标识和日志条数;在确定第一验证结果和第二验证结果均为验证成功的情况下,获取心跳日志文件之后,还包括:保存以下信息中的任意一种或几种至日志监控列表中:待验证终端的区块链标识、心跳周期、日志条数、N个预设哈希值、时间戳信息和当前心跳服务器的区块链标识。
在一些具体实现中,确定待验证终端处于故障状态之后,还包括:停止为待验证终端提供网络服务。
为了实现上述目的,本申请第二方面提供一种基于区块链的故障验证方法,其特征在于,包括:依据预设规则和心跳保活消息,生成心跳日志文件;发送心跳日志文件至区块链网络中,以使心跳服务器获得心跳日志文件;依据当前终端的区块链标识,生成并发送待验证心跳消息至区块链网络中,以使心跳服务器获得待验证心跳消息,并按照预设规则对待验证心跳消息进行哈希计算生成待验证哈希值,依据待验证哈希值和心跳日志文件,确定当前终端是否处于故障状态。
在一些具体实现中,依据预设规则和心跳保活消息,生成心跳日志文件,包括:按照预设规则对心跳保活消息进行哈希计算,获得预设哈希值,心跳保活消息用于表征当前终端处于正常状态;每间隔心跳周期,将预设哈希值写入心跳日志文件,心跳日志文件包括N个预设哈希值,N为大于或等于1的整数。
在一些具体实现中,发送心跳日志文件至区块链网络中,以使心跳服务器获得心跳日志文件,包括:每间隔第二预设时长,发送心跳日志文件至区块链网络中,以使心跳服务器获得心跳日志文件,其中,第二预设时长大于或等于2个心跳周期。
为了实现上述目的,本申请第三方面提供一种心跳服务器,其包括:获取模块,用于从区块链网络中,获取待验证终端发送的心跳日志文件和待验证心跳消息;计算模块,用于按照预设规则对待验证心跳消息进行哈希计算,获得待验证哈希值;验证模块,用于依据待验证哈希值和心跳日志文件,确定待验证终端是否处于故障状态。
为了实现上述目的,本申请第四方面提供一种终端,其包括:生成模块,用于依据预设规则和心跳保活消息,生成心跳日志文件;发送模块,用于发送心跳日志文件至区块链网络中,以使心跳服务器获得心跳日志文件;处理模块,用于依据当前终端的区块链标识,生成并发送待验证心跳消息至区块链网络中,以使心跳服务器获得待验证心跳消息,并按照预设规则对待验证心跳消息进行哈希计算生成待验证哈希值,依据待验证哈希值和心跳日志文件,确定当前终端是否处于故障状态。
本申请中的基于区块链的故障验证方法、服务器和终端,通过从区块链网络中,获取待验证终端发送的心跳日志文件和待验证终端发送的待验证心跳消息;利用区块链网络的去中心化特性,保证心跳日志文件的不可篡改性。按照预设规则对待验证心跳消息进行哈希计算,获得待验证哈希值;依据待验证哈希值和心跳日志文件,确定待验证终端是否处于故障状态,能够实时的对待验证终端的安全性进行监控,提高待验证终端的安全性,并通过心跳日志文件使心跳服务器的管理行为具有可追溯性。
附图说明
附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请,并不构成对本申请的限制。通过参考附图对详细示例实施例进行描述,以上和其它特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1示出本申请一实施例中的基于区块链的故障验证方法的流程示意图。
图2示出本申请又一实施例中的基于区块链的故障验证方法的流程示意图。
图3示出本申请再一实施例中的基于区块链的故障验证方法的流程示意图。
图4示出本申请实施例中的心跳服务器的组成方框图。
图5示出本申请实施例中的终端的组成方框图。
图6示出本申请实施例中的基于区块链的故障验证系统的组成方框图。
图7示出本申请实施例中的基于区块链的故障验证系统的工作方法的流程示意图。
在附图中:
401:获取模块              402:计算模块
403:验证模块              501:生成模块
502:发送模块              503:处理模块
601:待验证终端            602:心跳服务器
603:时间戳服务器
具体实施方式
以下结合附图对本申请的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请,并不用于限制本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1示出本申请一实施例中的基于区块链的故障验证方法的流程示意图。该方法可应用于心跳服务器。如图1所示,该基于区块链的故障验证方法包括如下步骤:
步骤S101,从区块链网络中,获取待验证终端发送的心跳日志文件和待验证心跳消息。
其中,心跳日志文件包括N个预设哈希值,预设哈希值是待验证终端按照预设规则对其发送的心跳保活消息进行哈希计算获得的值,心跳保活消息用于表征待验证终端处于正常状态,N为大于或等于1的整数。
例如,预设规则可以是安全散列算法2(Secure Hash Algorithm 2,SHA-2)或信息摘要算法5(Message-Digestalgorithm5,MD5)等加密算法中的任意一种,以上对于预设规则仅是举例说明,可根据具体情况进行具体设定,其他未说明的预设规则也在本申请的保护范围之内,在此不再赘述。
在一些具体实现中,心跳日志文件包括心跳周期和时间戳信息,时间戳信息是时间戳服务器生成的信息。
其中,时间戳采用时间戳服务器生成的时间信息,可保障时间信息的正确性,避免待验证终端与区块链网络中的其他设备不同步导致时间错误的问题。心跳周期是待验证终端与心跳服务器预先约定的上报终端信息的时间周期,只有在心跳周期内接收到的心跳消息,才能用于验证待验证终端的工作状态。
在一些具体实现中,从区块链网络中,获取待验证终端发送的心跳日志文件和待验证心跳消息,包括:查找区块链账本,获得待验证终端的第一公钥和时间戳服务器的第二公钥;使用第一公钥对获得的心跳日志文件进行验证,获得第一验证结果;使用第二公钥对获得的时间戳信息进行验证,获得第二验证结果;在确定第一验证结果和第二验证结果均为验证成功的情况下,获取心跳日志文件;每间隔心跳周期,获取待验证终端发送的待验证心跳消息。
其中,心跳日志文件是待验证终端使用其私钥进行签名验证后的文件,通过第一公钥可验证该心跳日志文件的正确性。时间戳信息是时间戳服务器使用其私钥进行签名验证后的信息,通过第二公钥可验证该时间戳信息的合法性。在确定第一验证结果和第二验证结果均为验证成功的情况下,可确定心跳日志文件和时间戳信息均是发送给当前的心跳服务器的,保证信息的安全性。
其中的心跳周期可以是2秒、4秒或1分钟等不同的预设时长,以上对于心跳周期仅是举例说明,可根据具体情况进行具体设定,其他未说明的心跳周期也在本申请的保护范围之内,在此不再赘述。
在一些具体实现中,心跳日志文件还包括待验证终端的区块链标识和日志条数;在确定第一验证结果和第二验证结果均为验证成功的情况下,获取心跳日志文件之后,还包括:保存以下信息中的任意一种或几种至日志监控列表中:待验证终端的区块链标识、心跳周期、心跳周期内的日志条数、N个预设哈希值、时间戳信息和当前心跳服务器的区块链标识。
其中,日志条数用于表征心跳日志文件中包括的预设心跳保活消息的数量,每条预设心跳保活消息都对应一个预设终端的区块链网络标识,以便于确定具体哪个预设终端发送了哪些预设心跳保活消息,方便对待验证终端的验证。
通过日志监控列表中的多种信息可保证对心跳服务器的管理行为进行监控,使心跳服务器在对各个终端进行管理时的管理行为具有可追溯性。
步骤S102,按照预设规则对待验证心跳消息进行哈希计算,获得待验证哈希值。
例如,按照SHA-2算法对待验证心跳消息进行哈希计算,获得待验证哈希值,以避免在对待验证终端的验证过程中破坏待验证心跳消息,通过待验证哈希值可在保证待验证心跳消息的安全性的基础上,验证待验证终端是否处于故障状态,保证待验证终端的实时安全性。
需要说明的是,其中的预设规则需要与待验证终端所使用的预设规则保持一致,以方便加快对待验证终端的验证,同时保证验证结果的正确性。
步骤S103,依据待验证哈希值和心跳日志文件,确定待验证终端是否处于故障状态。
其中,故障状态可包括待验证终端失去通信功能、待验证终端被第三方设备攻击以使该待验证终端失去部分功能(例如,第三方设备伪造该待验证终端的心跳保活消息,以使第三方设备能够获取到心跳服务器的网络服务等)和待验证终端中的APP出现故障等状态中的任意一种或几种,以上对于故障状态仅是举例说明,可根据具体情况进行具体设定,其他未说明的故障状态也在本申请的保护范围之内,在此不再赘述。
在一些具体实现中,依据待验证哈希值和心跳日志文件,确定待验证终端是否处于故障状态,包括:依据待验证哈希值查找心跳日志文件,获得查找结果;在确定查找结果是N个预设哈希值中包括待验证哈希值的情况下,确定待验证终端处于正常状态;否则,确定待验证终端处于故障状态。
其中,心跳日志文件中包括的预设哈希值均是待验证终端处于正常状态的情况下,按照预设规则对该待验证终端发送的心跳保活消息进行计算获得的哈希值,能够通过心跳日志文件记录待验证终端的正常工作状态。
在本实施例中,通过从区块链网络中,获取待验证终端发送的心跳日志文件和待验证终端发送的待验证心跳消息;利用区块链网络的去中心化特性,保证心跳日志文件的不可篡改性。按照预设规则对待验证心跳消息进行哈希计算,获得待验证哈希值;依据待验证哈希值和心跳日志文件,确定待验证终端是否处于故障状态,能够实时的对待验证终端的安全性进行监控,提高待验证终端的安全性,并通过心跳日志文件使心跳服务器的管理行为具有可追溯性。
图2示出本申请又一实施例中的基于区块链的故障验证方法的流程示意图。该方法可应用于心跳服务器。如图2所示,该基于区块链的故障验证方法包括如下步骤:
步骤S201,从区块链网络中,获取待验证终端发送的心跳日志文件和待验证心跳消息。
步骤S202,按照预设规则对待验证心跳消息进行哈希计算,获得待验证哈希值。
步骤S203,依据待验证哈希值和心跳日志文件,确定待验证终端是否处于故障状态。
需要说明的是,本实施例中的步骤S201~步骤S203与上一实施例中的步骤S101~步骤S103相同,再次不再赘述。
步骤S204,若确定待验证终端处于正常状态,则在第一预设时长内,从区块链网络中获得待验证终端发送的待验证心跳消息,确定待验证终端处于故障状态。
其中,待验证心跳消息包括待验证终端的区块链标识,第一预设时长大于K个心跳周期且小于K+1个心跳周期,K为大于或等于1的整数。
需要说明的是,正常的心跳消息都是按照预设的心跳周期,周期性的发送给心跳服务器的,例如,某个预设终端的心跳周期为2秒,则该预设终端会每间隔2秒,向区块链网络中发送一次心跳消息,以使心跳服务器能够获知该预设终端处于正常状态。若待验证终端在第一预设时长(例如,3秒,5秒或7秒等)内,还向区块链网络发送待验证心跳消息,则当心跳服务器获取到该待验证心跳消息时,由于该待验证心跳消息对应的时间不符合预设的心跳周期,心跳服务器可直接判断该待验证心跳消息是第三方设备伪造的心跳消息,可判定该待验证终端被第三方设备攻击,此时的待验证终端处于故障状态。从而快速定位待验证终端的故障状态,加快对待验证终端的处理,保证待验证终端的安全性。
步骤S205,若确定待验证终端处于故障状态,则停止为待验证终端提供网络服务。
其中,网络服务可以包括为待验证终端提供无线网络资源,使待验证终端可以在不同的地方通过互联网络或移动网络访问各种应用数据,例如,网上订票,查看订座情况等。网络服务在电子商务、电子政务、公司业务流程电子化等应用领域有广泛的应用。
当确定待验证终端处于故障状态时,为了避免该待验证终端的故障情况进一步恶化,心跳服务器可停止为待验证终端提供网络服务,并对该待验证终端做出告警提示,以使区块链网络中的其他设备能够获知该待验证终端处于故障状态,避免第三方设备伪造该待验证终端与其他设备进行通信,而导致其他设备的信息泄露,保证区块链网络中的各个设备的通信安全性。
在本实施例中,通过从区块链网络中,获取待验证终端发送的心跳日志文件和待验证终端发送的待验证心跳消息;利用区块链网络的去中心化特性,保证心跳日志文件的不可篡改性。若在第一预设时长内,仍然能够从区块链网络中获得待验证终端发送的待验证心跳消息,则确定待验证终端处于故障状态,进一步对待验证终端的工作状态进去确认,保证网络通信的安全性。当确定待验证终端处于故障状态,则停止为待验证终端提供网络服务。避免第三方设备伪造该待验证终端与其他设备进行通信,而导致其他设备的信息泄露,保证区块链网络中的各个设备的通信安全性。
图3示出本申请再一实施例中的基于区块链的故障验证方法的流程示意图。该方法可应用于终端。如图3所示,该基于区块链的故障验证方法包括如下步骤:
步骤S301,依据预设规则和心跳保活消息,生成心跳日志文件。
其中,预设规则可以是SHA-2算法或MD5算法等加密算法中的任意一种,心跳保活消息用于表征待验证终端处于正常状态。
在一些具体实现中,依据预设规则和心跳保活消息,生成心跳日志文件,包括:按照预设规则对心跳保活消息进行哈希计算,获得预设哈希值,心跳保活消息用于表征当前终端处于正常状态;每间隔心跳周期,将预设哈希值写入心跳日志文件,心跳日志文件包括N个预设哈希值,N为大于或等于1的整数。
例如,心跳周期为2秒,每间隔2秒,当前终端生成并发送一条心跳保活消息至区块链网络中,同时,使用SHA-2算法或MD5算法对该心跳保活消息进行哈希计算,获得预设哈希值,然后,将该预设哈希值写入心跳日志文件中,保证心跳保活消息的安全性和完整性。
步骤S302,发送心跳日志文件至区块链网络中,以使心跳服务器获得心跳日志文件。
其中,区块链网络中可包括M个心跳服务器,M为大于或等于1的整数。通过多个心跳服务器同时保存当前终端的心跳日志文件,能够利用区块链网络的去中心化的特性,保证心跳日志文件的不可篡改性。
在一些具体实现中,发送心跳日志文件至区块链网络中,以使心跳服务器获得心跳日志文件,包括:每间隔第二预设时长,发送心跳日志文件至区块链网络中,以使心跳服务器获得心跳日志文件,其中,第二预设时长至少大于2个心跳周期。
需要说明的是,心跳日志文件中至少保存有1条心跳保活消息,以方便心跳服务器能够依据该心跳日志文件对待验证终端进行验证。
步骤S303,依据当前终端的区块链标识,生成并发送待验证心跳消息至区块链网络中。
当心跳服务器从区块链网络中获得待验证心跳消息时,会按照预设规则对待验证心跳消息进行哈希计算,生成待验证哈希值,然后依据该待验证哈希值和心跳日志文件,确定当前终端是否处于故障状态。以保证待验证终端的实时安全性。
在本实施例中,通过依据预设规则和心跳保活消息,生成心跳日志文件,可保证心跳保活消息的安全性和完整性。发送心跳日志文件至区块链网络中,以使心跳服务器获得心跳日志文件,通过多个心跳服务器同时保存当前终端的心跳日志文件,能够利用区块链网络的去中心化的特性,保证心跳日志文件的不可篡改性。依据当前终端的区块链标识,生成并发送待验证心跳消息至区块链网络中,使心跳服务器能够从区块链网络中获得待验证心跳消息,并依据该待验证心跳消息和心跳日志文件,确定当前终端是否处于故障状态,以验证待验证终端的实时安全性。
图4示出本申请实施例中的心跳服务器的组成方框图。如图4所示,心跳服务器包括:获取模块401,用于从区块链网络中,获取待验证终端发送的心跳日志文件和待验证心跳消息;计算模块402,用于按照预设规则对待验证心跳消息进行哈希计算,获得待验证哈希值;验证模块403,用于依据待验证哈希值和心跳日志文件,确定待验证终端是否处于故障状态。
在本实施例中,通过获取模块从区块链网络中,获取待验证终端发送的心跳日志文件和待验证终端发送的待验证心跳消息;利用区块链网络的去中心化特性,保证心跳日志文件的不可篡改性。使用计算模块按照预设规则对待验证心跳消息进行哈希计算,获得待验证哈希值;使用验证模块依据待验证哈希值和心跳日志文件,确定待验证终端是否处于故障状态,能够实时的对待验证终端的安全性进行监控,提高待验证终端的安全性,并通过心跳日志文件使心跳服务器的管理行为具有可追溯性。
图5示出本申请实施例中的终端的组成方框图。如图5所示,终端包括:生成模块501,用于依据预设规则和心跳保活消息,生成心跳日志文件;发送模块502,用于发送心跳日志文件至区块链网络中,以使心跳服务器获得心跳日志文件;处理模块503,用于依据当前终端的区块链标识,生成并发送待验证心跳消息至区块链网络中,以使心跳服务器获得待验证心跳消息,并按照预设规则对待验证心跳消息进行哈希计算生成待验证哈希值,依据待验证哈希值和心跳日志文件,确定当前终端是否处于故障状态。
在本实施例中,通过生成模块依据预设规则和心跳保活消息,生成心跳日志文件,可保证心跳保活消息的安全性和完整性。使用发送模块发送心跳日志文件至区块链网络中,以使心跳服务器获得心跳日志文件,通过多个心跳服务器同时保存当前终端的心跳日志文件,能够利用区块链网络的去中心化的特性,保证心跳日志文件的不可篡改性。使用处理模块依据当前终端的区块链标识,生成并发送待验证心跳消息至区块链网络中,使心跳服务器能够从区块链网络中获得待验证心跳消息,并依据该待验证心跳消息和心跳日志文件,确定当前终端是否处于故障状态,以验证待验证终端的实时安全性。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本申请的创新部分,本实施方式中并没有将与解决本申请所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
图6示出本申请实施例中的基于区块链的故障验证系统的组成方框图。如图6所示,该基于区块链的故障验证系统包括:待验证终端601、心跳服务器602和时间戳服务器603。
需要说明的是,待验证终端601可以是智能手机或平板电脑等设备。基于区块链的故障验证系统中可以包括M个心跳服务器,M为大于或等于1的整数。通过使用多个心跳服务器来保存终端的心跳日志文件,利用区块链网络的去中心化特性,可保证心跳日志文件的不可篡改性。
在一些具体实现中,心跳服务器602可以使用区块链网络中的记账节点服务器来实现,以方便对区块链网络中的各个终端进行监控,同时,可保持各个终端发送的心跳保活消息、待验证心跳消息、终端发送消息(心跳保活消息和待验证心跳消息)的时间信息、终端的区块链标识、记账节点服务器的区块链标识等信息中的任意一种或几种。
图7示出本申请实施例中的基于区块链的故障验证系统的工作方法的流程示意图。如图7所示,该工作方法包括如下步骤:
步骤S701,时间戳服务器603每间隔第三预设时长生成时间戳信息,并发送该时间戳信息给待验证终端601、
需要说明的是,第三预设时长可以与心跳周期一致,也可以与第二预设时长一致。例如,第三预设时长是2秒、10秒等。
在一些具体实现中,时间戳信息还可以是待验证终端601在需要时间信息的情况下,待验证终端主动向时间戳服务器603请求获得的时间信息。
步骤S702,待验证终端601每间隔心跳周期(例如,心跳周期为2秒),依据待验证终端601的区块链标识,生成并发送心跳保活消息至区块链网络中,以使心跳服务器602能够获知该待验证终端601处于正常状态。
需要说明的是,心跳保活消息也可以通过现有的互联网络的形式发送给心跳服务器602,在发送心跳保活消息至区块链网络中的同时,待验证终端601还执行步骤S703。
步骤S703,待验证终端601按照预设规则对其发送的心跳保活消息进行哈希计算,获得预设哈希值,并将该哈希值写入心跳日志文件中。
其中,心跳日志文件包括:心跳周期、时间戳信息、待验证终端601的区块链标识、日志条数和N个预设哈希值,N为大于或等于1的整数。需要说明的是,时间戳信息是时间戳服务器603生成的信息,以保证时间信息的正确性。
步骤S704,待验证终端601每间隔第二预设时长,使用自己的私钥对心跳日志文件进行签名,生成并发送签名后的心跳日志文件至区块链网络中,以使心跳服务器602获得该心跳日志文件。
其中,第二预设时长大于或等于2个心跳周期,例如,心跳周期是2秒,第二预设时长可以是10秒、20秒或2分钟等。
步骤S705,待验证终端601依据自己的区块链标识,生成待验证心跳消息。
步骤S706,待验证终端601使用自己的私钥,对待验证心跳消息进行签名,生成并发送签名后的待验证心跳消息至区块链网络中,以使心跳服务器602获得该待验证心跳消息。
步骤S707,心跳服务器602从区块链网络中,获取到待验证终端601发送的心跳日志文件和待验证心跳消息,并按照预设规则对待验证心跳消息进行哈希计算,获得待验证哈希值。
具体地,心跳服务器602先通过区块链账本查询到待验证终端601的第一公钥和时间戳服务器603的第二公钥;然后,使用第一公钥对心跳日志文件的私钥签名进行验证,获得第一验证结果;使用第二公钥对时间戳信息的私钥签名进行验证,获得第二验证结果;只有当第一验证结果和第二验证结果均为验证成功的情况下,才能获得正确的心跳日志文件和待验证心跳消息。其中,待验证心跳消息的发送间隔和心跳周期是相同的,例如,待验证心跳消息的发送间隔也是2秒。然后,按照预设规则(例如,哈希算法)对待验证心跳消息进行哈希计算,获得待验证哈希值。
其中,哈希算法可以是SHA-2算法或MD5算法等加密算法中的任意一种,以上对于哈希算法仅是举例说明,可根据具体情况进行具体设定,其他未说明的哈希算法也在本申请的保护范围之内,在此不再赘述。
步骤S708,心跳服务器602保存以下信息中的任意一种或几种至日志监控列表中:待验证终端601的区块链标识、心跳周期、日志条数、N个预设哈希值、时间戳信息、心跳服务器602的区块链标识,以及待验证终端601的APP的标识等。
步骤S709,心跳服务器602以待验证哈希值为索引,查找心跳日志文件,确定心跳日志文件中是否包括该待验证哈希值。若确定心跳日志文件中包括该待验证哈希值,则确定待验证终端601的心跳消息没有丢失,也没有被第三方设备篡改,此时待验证终端601处于正常状态。否则,若在心跳日志文件中没有查找到该待验证哈希值,则表示待验证终端601处于故障状态,此时,待验证终端601可能被第三方设备攻击而导致待验证终端601发生故障,此时需要停止为待验证终端601提供网络服务,以避免区块链网络中的其他设备受到攻击。
在一些具体实现中,当确定待验证终端601处于正常状态时,还需要检测在第一预设时长内,是否能够从区块链网络中获得待验证终端601发送的待验证心跳消息,若在第一预设时长内仍然能够获得待验证终端601发送的待验证心跳消息,则此时收到的待验证心跳消息可能是第三方设备假造的心跳消息,可直接判断待验证终端601受到了第三方设备的网络攻击,确定待验证终端601处于故障状态,并停止为待验证终端601提供网络服务。
其中,第一预设时长大于K个心跳周期且小于K+1个心跳周期,K为大于或等于1的整数,例如,心跳周期为2秒,则第一时长可以是3秒或5秒等。
在本实施例中,通过待验证终端使用心跳日志文件记录其已经发送过的心跳保活消息对应的哈希值,并每间隔第二预设时长,使用自己的私钥对心跳日志文件进行签名,生成并发送签名后的心跳日志文件至区块链网络中,以使心跳服务器获得该心跳日志文件。通过区块链网络的去中心化的特性,使用多个心跳服务器能够保持该心跳日志文件,避免心跳保活消息被第三方设备篡改,然后使用该心跳日志文件来验证终端发送的待验证心跳消息是否正确,进而确定待验证终端是否处于故障状态,能够实时保证待验证终端的安全性,并通过心跳日志文件使心跳服务器的管理行为具有可追溯性。
可以理解的是,以上实施方式仅仅是为了说明本申请的原理而采用的示例性实施方式,然而本申请并不局限于此。对于本领域内的普通技术人员而言,在不脱离本申请的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本申请的保护范围。

Claims (8)

1.一种基于区块链的故障验证方法,其特征在于,所述方法包括:
从区块链网络中,获取待验证终端发送的心跳日志文件和待验证心跳消息;所述心跳日志文件包括N个预设哈希值、心跳周期和时间戳信息,所述时间戳信息是时间戳服务器生成的信息,所述待验证心跳消息包括所述待验证终端的区块链标识;
按照预设规则对所述待验证心跳消息进行哈希计算,获得待验证哈希值;
依据所述待验证哈希值和所述心跳日志文件,确定所述待验证终端是否处于故障状态;
在第一预设时长内,从所述区块链网络中获得所述待验证终端发送的待验证心跳消息,其中,所述第一预设时长大于K个所述心跳周期且小于K+1个所述心跳周期,K为大于或等于1的整数;
若所述待验证心跳消息对应的时间不符合所述心跳周期,则确定所述待验证终端处于所述故障状态;
所述心跳日志文件包括N个预设哈希值,所述预设哈希值是所述待验证终端按照所述预设规则对所述待验证终端发送的心跳保活消息进行哈希计算获得的值,所述心跳保活消息用于表征所述待验证终端处于正常状态,N为大于或等于1的整数;
所述依据所述待验证哈希值和所述心跳日志文件,确定所述待验证终端是否处于故障状态,包括:
依据所述待验证哈希值查找所述心跳日志文件,获得查找结果;
在确定所述查找结果是N个所述预设哈希值中包括所述待验证哈希值的情况下,确定所述待验证终端处于所述正常状态;
否则,确定所述待验证终端处于所述故障状态。
2.根据权利要求1所述的方法,其特征在于,所述从区块链网络中,获取待验证终端发送的心跳日志文件和待验证心跳消息,包括:
查找区块链账本,获得所述待验证终端的第一公钥和所述时间戳服务器的第二公钥;
使用所述第一公钥对所述心跳日志文件的私钥签名进行验证,获得第一验证结果;
使用所述第二公钥对所述时间戳信息的私钥签名进行验证,获得第二验证结果;
在确定所述第一验证结果和所述第二验证结果均为验证成功的情况下,获取所述心跳日志文件;
每间隔所述心跳周期,获取所述待验证终端发送的所述待验证心跳消息。
3.根据权利要求2所述的方法,其特征在于,所述心跳日志文件还包括待验证终端的区块链标识和日志条数;
所述在确定所述第一验证结果和所述第二验证结果均为验证成功的情况下,获取所述心跳日志文件之后,还包括:
保存以下信息中的任意一种或几种至日志监控列表中:
所述待验证终端的区块链标识、所述心跳周期、所述日志条数、N个预设哈希值、所述时间戳信息和当前心跳服务器的区块链标识。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述确定所述待验证终端处于所述故障状态之后,还包括:
停止为所述待验证终端提供网络服务。
5.一种基于区块链的故障验证方法,其特征在于,包括:
依据预设规则和心跳保活消息,生成心跳日志文件;所述心跳日志文件包括N个预设哈希值、心跳周期和时间戳信息,所述时间戳信息是时间戳服务器生成的信息;
发送所述心跳日志文件至区块链网络中,以使心跳服务器获得所述心跳日志文件;
依据当前终端的区块链标识,生成并发送待验证心跳消息至所述区块链网络中,以使心跳服务器获得所述待验证心跳消息,并按照所述预设规则对所述待验证心跳消息进行哈希计算生成待验证哈希值,依据所述待验证哈希值和所述心跳日志文件,确定当前终端是否处于故障状态,所述待验证心跳消息包括待验证终端的区块链标识;
在第一预设时长内,从所述区块链网络中获得所述待验证终端发送的待验证心跳消息,其中,所述第一预设时长大于K个所述心跳周期且小于K+1个所述心跳周期,K为大于或等于1的整数;
若所述待验证心跳消息对应的时间不符合所述心跳周期,则确定所述待验证终端处于所述故障状态;
所述依据预设规则和心跳保活消息,生成心跳日志文件,包括:
按照所述预设规则对所述心跳保活消息进行哈希计算,获得预设哈希值,所述心跳保活消息用于表征所述当前终端处于正常状态;
每间隔心跳周期,将所述预设哈希值写入所述心跳日志文件,所述心跳日志文件包括N个所述预设哈希值,N为大于或等于1的整数。
6.根据权利要求5所述的方法,其特征在于,所述发送所述心跳日志文件至区块链网络中,以使心跳服务器获得所述心跳日志文件,包括:
每间隔第二预设时长,发送所述心跳日志文件至区块链网络中,以使心跳服务器获得所述心跳日志文件,其中,所述第二预设时长大于或等于2个所述心跳周期。
7.一种心跳服务器,其特征在于,其包括:
获取模块,用于从区块链网络中,获取待验证终端发送的心跳日志文件和待验证心跳消息;所述心跳日志文件包括N个预设哈希值、心跳周期和时间戳信息,所述时间戳信息是时间戳服务器生成的信息,所述待验证心跳消息包括所述待验证终端的区块链标识;
计算模块,用于按照预设规则对所述待验证心跳消息进行哈希计算,获得待验证哈希值;
验证模块,用于依据所述待验证哈希值和所述心跳日志文件,确定所述待验证终端是否处于故障状态;
在第一预设时长内,从所述区块链网络中获得所述待验证终端发送的待验证心跳消息,其中,所述第一预设时长大于K个所述心跳周期且小于K+1个所述心跳周期,K为大于或等于1的整数;
若所述待验证心跳消息对应的时间不符合所述心跳周期,则确定所述待验证终端处于所述故障状态;
所述心跳日志文件包括N个预设哈希值,所述预设哈希值是所述待验证终端按照所述预设规则对所述待验证终端发送的心跳保活消息进行哈希计算获得的值,所述心跳保活消息用于表征所述待验证终端处于正常状态,N为大于或等于1的整数;
所述依据所述待验证哈希值和所述心跳日志文件,确定所述待验证终端是否处于故障状态,包括:
依据所述待验证哈希值查找所述心跳日志文件,获得查找结果;
在确定所述查找结果是N个所述预设哈希值中包括所述待验证哈希值的情况下,确定所述待验证终端处于所述正常状态;
否则,确定所述待验证终端处于所述故障状态。
8.一种终端,其特征在于,其包括:
生成模块,用于依据预设规则和心跳保活消息,生成心跳日志文件;所述心跳日志文件包括N个预设哈希值、心跳周期和时间戳信息,所述时间戳信息是时间戳服务器生成的信息;
发送模块,用于发送所述心跳日志文件至区块链网络中,以使心跳服务器获得所述心跳日志文件;
处理模块,用于依据当前终端的区块链标识,生成并发送待验证心跳消息至所述区块链网络中,以使心跳服务器获得所述待验证心跳消息,并按照所述预设规则对所述待验证心跳消息进行哈希计算生成待验证哈希值,依据所述待验证哈希值和所述心跳日志文件,确定当前终端是否处于故障状态,所述待验证心跳消息包括待验证终端的区块链标识;
在第一预设时长内,从所述区块链网络中获得所述待验证终端发送的待验证心跳消息,其中,所述第一预设时长大于K个所述心跳周期且小于K+1个所述心跳周期,K为大于或等于1的整数;
若所述待验证心跳消息对应的时间不符合所述心跳周期,则确定所述待验证终端处于所述故障状态;
所述心跳日志文件包括N个预设哈希值,所述预设哈希值是所述待验证终端按照所述预设规则对所述待验证终端发送的心跳保活消息进行哈希计算获得的值,所述心跳保活消息用于表征所述待验证终端处于正常状态,N为大于或等于1的整数;
所述依据所述待验证哈希值和所述心跳日志文件,确定所述待验证终端是否处于故障状态,包括:
依据所述待验证哈希值查找所述心跳日志文件,获得查找结果;
在确定所述查找结果是N个所述预设哈希值中包括所述待验证哈希值的情况下,确定所述待验证终端处于所述正常状态;
否则,确定所述待验证终端处于所述故障状态。
CN202011478605.3A 2020-12-15 2020-12-15 基于区块链的故障验证方法、服务器和终端 Active CN112713996B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011478605.3A CN112713996B (zh) 2020-12-15 2020-12-15 基于区块链的故障验证方法、服务器和终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011478605.3A CN112713996B (zh) 2020-12-15 2020-12-15 基于区块链的故障验证方法、服务器和终端

Publications (2)

Publication Number Publication Date
CN112713996A CN112713996A (zh) 2021-04-27
CN112713996B true CN112713996B (zh) 2023-05-12

Family

ID=75543277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011478605.3A Active CN112713996B (zh) 2020-12-15 2020-12-15 基于区块链的故障验证方法、服务器和终端

Country Status (1)

Country Link
CN (1) CN112713996B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113541971B (zh) * 2021-09-17 2021-12-14 中国信息通信研究院 基于密钥替换和心跳检验的数据托管方法、装置及设备
CN113923105B (zh) * 2021-12-13 2022-04-22 中机联科技(广东)有限公司 一种基于区块链的物联网设备故障监控方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108764944A (zh) * 2018-05-31 2018-11-06 北京京东尚科信息技术有限公司 验证方法、装置和计算机可读存储介质
CN109902074A (zh) * 2019-04-17 2019-06-18 江苏全链通信息科技有限公司 基于数据中心的日志存储方法和系统
CN110048828A (zh) * 2019-04-17 2019-07-23 江苏全链通信息科技有限公司 基于数据中心的日志存储方法和系统
CN110049043A (zh) * 2019-04-17 2019-07-23 江苏全链通信息科技有限公司 基于区块链的服务器日志监控方法和系统
CN110086790A (zh) * 2019-04-17 2019-08-02 江苏全链通信息科技有限公司 基于数据中心的日志存储方法和系统
CN110084069A (zh) * 2019-04-17 2019-08-02 江苏全链通信息科技有限公司 基于区块链的服务器日志监控方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016116134A (ja) * 2014-12-16 2016-06-23 パナソニックIpマネジメント株式会社 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108764944A (zh) * 2018-05-31 2018-11-06 北京京东尚科信息技术有限公司 验证方法、装置和计算机可读存储介质
CN109902074A (zh) * 2019-04-17 2019-06-18 江苏全链通信息科技有限公司 基于数据中心的日志存储方法和系统
CN110048828A (zh) * 2019-04-17 2019-07-23 江苏全链通信息科技有限公司 基于数据中心的日志存储方法和系统
CN110049043A (zh) * 2019-04-17 2019-07-23 江苏全链通信息科技有限公司 基于区块链的服务器日志监控方法和系统
CN110086790A (zh) * 2019-04-17 2019-08-02 江苏全链通信息科技有限公司 基于数据中心的日志存储方法和系统
CN110084069A (zh) * 2019-04-17 2019-08-02 江苏全链通信息科技有限公司 基于区块链的服务器日志监控方法和系统

Also Published As

Publication number Publication date
CN112713996A (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
CN112713996B (zh) 基于区块链的故障验证方法、服务器和终端
CN110602455B (zh) 视频存储系统、视频处理方法、装置、设备及存储介质
CN110784495B (zh) 基于区块链的大数据集群系统的发现与配置信息管理方法
Yuchuan et al. Enable data dynamics for algebraic signatures based remote data possession checking in the cloud storage
CN104715183A (zh) 一种虚拟机运行时的可信验证方法和设备
US10073980B1 (en) System for assuring security of sensitive data on a host
CN110222535B (zh) 区块链配置文件的处理装置、方法及存储介质
WO2021174870A1 (zh) 网络安全风险检测方法、系统、计算机设备和存储介质
CN108259202A (zh) 一种ca监测预警方法和ca监测预警系统
CN111899019A (zh) 一种黑名单多方交叉验证和共享的方法及系统
CN111224782B (zh) 基于数字签名的数据校验方法、智能设备及存储介质
CN112671603A (zh) 故障检测方法和服务器
CN107977467A (zh) 数据库监控装置
CN113660216B (zh) 口令攻击检测方法、装置、电子装置和存储介质
CN110910141A (zh) 交易处理方法、系统、装置、设备及计算机可读存储介质
Li et al. Compromised sensor nodes detection: A quantitative approach
CN111176567B (zh) 分布式云存储的存储供应量验证方法及装置
CN116112216B (zh) 云数据验证方法、装置、电子设备及非易失性存储介质
CN113221151A (zh) 基于区块链的数据处理方法、装置及存储介质
CN111988202B (zh) 节点切换方法、装置及存储介质
CN114629690A (zh) 设备安全基线合规检测方法、装置和计算机设备
CN113595240B (zh) 电力数据的检测方法、装置、设备及存储介质
CN114584328B (zh) Api接口的访问方法、计算机设备及计算机存储介质
CN112671787B (zh) 一种规则执行验证方法、装置、电子设备及存储介质
Nithya et al. ’Identification of agent-guilt using drift concept in process mining’

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
GR01 Patent grant
GR01 Patent grant