CN109257340A - 一种基于区块链的网站防篡改系统及方法 - Google Patents

一种基于区块链的网站防篡改系统及方法 Download PDF

Info

Publication number
CN109257340A
CN109257340A CN201810997258.1A CN201810997258A CN109257340A CN 109257340 A CN109257340 A CN 109257340A CN 201810997258 A CN201810997258 A CN 201810997258A CN 109257340 A CN109257340 A CN 109257340A
Authority
CN
China
Prior art keywords
web page
page files
hash fingerprint
web
source data
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.)
Granted
Application number
CN201810997258.1A
Other languages
English (en)
Other versions
CN109257340B (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.)
Beijing Zhongke Ruichang Technology Co Ltd
Original Assignee
Beijing Zhongke Ruichang 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 Beijing Zhongke Ruichang Technology Co Ltd filed Critical Beijing Zhongke Ruichang Technology Co Ltd
Priority to CN201810997258.1A priority Critical patent/CN109257340B/zh
Publication of CN109257340A publication Critical patent/CN109257340A/zh
Application granted granted Critical
Publication of CN109257340B publication Critical patent/CN109257340B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于区块链的网站防篡改系统及方法,该方法包括:将网站所有网页文件利用哈希指纹生成算法进行计算得到对应哈希指纹,将哈希指纹和网页文件分别写入基于区块链的源数据保全模块,以区块链形式进行保存,并自动将本次网页文件写入Web服务器的网站目录;定期轮询网站目录,并从网站目录和源数据保全模块中分别获取网页文件和该网页文件的哈希指纹,利用获取网页文件和哈希指纹以及篡改判定算法判定网页文件是否被篡改;如果被篡改,通知发布服务器从源数据保全模块获取正确的网页文件写入网站目录。本发明有效提高了网页的安全性、可靠性,保证用户个人信息、财产等使用安全。

Description

一种基于区块链的网站防篡改系统及方法
技术领域
本发明涉及计算机技术及网络空间安全领域,具体涉及一种基于区块链的网站防篡改系统及方法。
背景技术
网站(Website)是指在互联网上,展示特定内容的相关网页的集合,通常担负着信息发布、行政审批、公共服务、电商、社交等多种功能,是一系列信息系统的入口。单个网页是一个包含HTML标签的纯文本文件,是超文本标记语言格式。
网页一般分为静态网页和动态网页。静态网页,其内容是预先确定的,并存储在Web服务器或者本地计算机/服务器之上;动态网页,是取决于由用户提供的参数,并根据存储在后台数据库中的数据创建的页面。现代网页制作经常采用PHP、Ruby、Javascript等脚本语言,这些语言语法灵活,可直接访问后台数据库。
一旦网页被黑客篡改,将影响访问者个人电脑的安全,如:注册表修改、个人信息泄漏等;还可能引起服务器数据库信息大面积泄漏,影响政府或企业形象及公信力,严重的甚至可能导致财产损失、影响人身安全。
传统的网页防篡改系统经常使用数字水印功能防止静态网页被篡改,具体做法是将网页文件做哈希后生成数字水印后另行存储,服务器或用户在需要时对网页文件重新计算数字水印,并与事先生成的数字水印比对,相同则证明没有篡改,否则,视为篡改。但是,由于数字水印本身是明文,在存储以及传输中水印本身容易被攻击者篡改而不被觉察,一旦水印被修改,则防篡改系统完全失效。此外,还有基于操作系统内核的网页防篡改方法,即基于操作系统对于进程的控制防止其他流程对目标目录进行操作,但这样的防护措施依赖于操作系统,不容易跨平台,篡改容易被饶过,而且传统的网页防篡改系统仅支持国际密码算法,不兼容国产密码算法。
综上,传统的网页防篡改系统存在一定的安全隐患,信息安全有待提升。有鉴于此,急需一种安全性更高、可靠性更好的网页防篡改,以保证用户个人信息、财产等使用安全。
发明内容
本发明所要解决的技术问题是设计一种安全性更高、可靠性更好的网页防篡改,以保证用户个人信息、财产等使用安全的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种基于区块链的网站防篡改方法,包括以下步骤:
步骤S10、将网站所有网页文件利用哈希指纹生成算法进行计算得到对应哈希指纹,将哈希指纹和网页文件分别写入基于区块链的源数据保全模块,以区块链形式进行保存,并自动将本次网页文件写入Web服务器的网站目录;
步骤S20、定期轮询网站目录,并从网站目录和源数据保全模块中分别获取网页文件和该网页文件的哈希指纹,利用获取网页文件和哈希指纹以及篡改判定算法判定网页文件是否被篡改;如果被篡改,通知发布服务器从源数据保全模块获取正确的网页文件写入网站目录。
在上述方法中,哈希指纹生成算法输入为网页文件F={Fi}q;输出为该网页文件的哈希指纹h以及密钥k,k为任意字符串。
在上述方法中,用户在打开网页时在客户端对网页文件进行篡改验证,此时需要将网页文件F={Fi}q、哈希指纹h、对应密钥k及相应的客户端自动验证脚本写入Web服务器对应的网站目录;
在每次用户访问网站时,Web服务器将及网页文件F={Fi}q、哈希指纹h、密钥k及相应自动验证脚本发给用户,用户在自己的浏览器端运行客户端自动验证脚本,检验网页文件是否在Web服务器端被篡改,如果被篡改,不显示网页并向网站管理员报警,如果没有被篡改则显示网页;当用户不做校验时,则直接显示网页。
在上述方法中,步骤S10具体包括以下步骤:
步骤S101、管理员将登录发布服务器,登录发布服务器对管理员进行身份认证成功后,上传网页文件至发布服务器的监控和恢复单元;
步骤S102、监控和恢复单元确认本次操作为网页更新,并利用哈希指纹生成算法计算出所有网页文件的哈希指纹h以及密钥k;
步骤S103、监控和恢复单元完成基于区块链的源数据保全模块验证写入权限后,将哈希指纹h以及密钥k写入基于区块链的源数据保全模块的哈希指纹库;
步骤S104、监控和恢复单元将网页文件F={Fi}q写入基于区块链的源数据保全模块的源数据备份单元,并同时将网页文件F={Fi}q、哈希指纹h、对应密钥k及相应客户端自动验证脚本写入发布服务器的内容发布单元;
步骤S105、内容发布单元自动将以上信息同步至网站相应目录。
在上述方法中,步骤S20具体包括以下步骤:
步骤S201、在下一次网页更新之前,每隔一定时间轮询网站目录;
步骤S202、Web服务器的页面保护单元从网站目录和源数据保全模块中分别获取网页文件F={Fi}q和最新的哈希指纹h及密钥k;
步骤S203、利用获取的网页文件F={Fi}q、最新的哈希指纹h及密钥k以及篡改算法,页面保护单元判断网站目录中存放的网页文件是否被篡改;如果没有被篡改,执行步骤S206;如果被篡改,执行步骤S204;
步骤S204、页面保护单元通知监控和恢复单元篡改发生,由监控和恢复单元向网站管理员报警;同时,从源数据保全模块中取得正确的网页文件F={Fi}q、哈希指纹h以及密钥k;
步骤S205、将获取的网页文件F={Fi}q、哈希指纹h、密钥k及相应客户端自动验证脚本写入内容发布单元,并由其自动将以上信息同步至Web服务器的网站目录;
步骤S206、终止本次检查。
在上述方法中,篡改判断算法的输入为网页文件F={Fi}q、哈希指纹h以及密钥k;输出为一个布尔值b,当b=0时,代表输入的哈希指纹h和网页文件不相符,当b=1时,代表输入的哈希指纹h和网页文件相符。
在上述方法中,在向用户发送网页文件之前对发送网页文件进行校验;具体为:
由页面保护单元从从网站目录和源数据保全模块中分别获取需要发送的网页文件和该网页文件对应的哈希指纹h及密钥k,使用篡改判断算法确认网页是否被篡改;
在网页文件发生篡改时,通知监控和恢复单元篡改发生;监控和恢复单元向网站管理员报警,并从备份数据源中取得正确网页文件F={Fi}q
如未发生篡改,则将网页文件F={Fi}q发送给用户。
本发还明提供了一种基于区块链的网站防篡改系统,包括:
源数据保全模块,使用任意一种区块链构造,以区块链形式存储所有网页文件对应的哈希指纹、正确的网页文件;
发布服务器,利用哈希指纹生成算法对所有网页文件进行计算得到对应哈希指纹,将哈希指纹和网页文件写入所述源数据保全模块;并自动将本次网页文件进行发布;
Web服务器,根据所述发布服务器发布的网页文件更新到网站目录,以及定期轮询网站目录的各个网页文件,并从所述源数据保全模块中获取每个网页文件的哈希指纹,利用篡改判定算法判定网站目录的各个网页文件是否被篡改;如果被篡改,通知所述发布服务器从所述源数据保全模块重新获取正确的网页文件进行发布。
在上述系统中,所述源数据保全模块包括哈希指纹库和源数据备份单元;所述哈希指纹库以区块链的链上方式存储所有网页文件对应的哈希指纹;所述源数据备份单元以区块链的链上或离链方式存储备份网站所有正确的网页文件;
所述发布服务器包括监控和恢复单元和内容发布单元,所述监控和恢复单元将管理员上传的网页文件利用哈希指纹生成算法计算出网页文件的哈希指纹h以及对应的密钥k;将哈希指纹h以及对应的密钥k写入所述哈希指纹库、网页文件F={Fi}q写入所述源数据备份单元,同时将网页文件F={Fi}q写入所述内容发布单元;所述内容发布单元自动将该信息同步至网站目录;
所述Web服务器包括页面保护子单元、网站目录;所述页面保护子单元在下一次网页更新之前,定期轮询所述网站目录,从所述网站目录和所述哈希指纹库中分别获取网页文件F={Fi}q和该网页文件最新的哈希指纹h以及对应密钥k,以获取的网页文件和哈希指纹h以及对应密钥k为篡改判定算法输入判定网站目录的各个网页文件是否被篡改;如果输出为被篡改,通知所述监控和恢复单元从源数据备份单元获取正确的网页文件,并由所述内容发布单元重新写入所述网站目录。
在上述系统中,如用户在打开网页时需要客户端进行网页文件验证,所述监控和恢复单元将网页文件F={Fi}q、哈希指纹h、对应密钥k及相应的客户端自动验证脚本写入所述内容发布单元,所述内容发布单元自动将上述信息同步至Web服务器对应的网站目录;
在每次用户访问网站时,所述Web服务器将及网页文件F={Fi}q、哈希指纹h、密钥k及相应自动验证脚本发给用户,用户在自己的浏览器端运行客户端自动验证脚本,检验网页文件是否在Web服务器端被篡改,如果被篡改,不显示网页并向网站管理员报警,如果没有被篡改则显示网页。当用户不做校验时,则直接显示网页。
与现有技术相比,本发明利用区块链上数据公开透明、不可篡改的特性,将由密码技术生成的网页文件的哈希指纹和网页文件备份存在基于区块链的源数据保全模块中,并定期轮询网站服务器的网站目录,检查静态网页文件与区块链中对应的哈希指纹是否相符,如果不符,表明被篡改,从源数据保全模块中获取备份的网页文件,实现被篡改内容的恢复;此外,用户端也可通过网页中的脚本,自行检查网页是否被篡改。综上所述,本发明有效的提高了网页的安全性、可靠性,保证用户个人信息、财产等使用安全。
附图说明
图1为本发明提供的一种基于区块链的网站防篡改系统的结构框图;
图2为本发明中步骤S10的流程图;
图3为本发明中步骤S20的流程图。
具体实施方式
本发明提供的一种基于区块链的网站防篡改系统和方法,利用区块链上数据公开透明、不可篡改的特性,将由密码技术生成的网页文件的哈希指纹和网页文件备份存在基于区块链的源数据保全模块中,并定期轮询网站服务器的网站目录,检查静态网页文件与区块链中对应的哈希指纹是否相符,如果不符,表明被篡改,从源数据保全模块中获取备份的网页文件,实现被篡改内容的恢复,有效的提高了网页的安全性、可靠性,保证用户个人信息、财产等使用安全。下面结合说明书附图和具体实施方式对本发明做出详细说明。
如图1所示,本发明提供了一种基于区块链的网站防篡改系统,包括:
源数据保全模块10,使用任意一种区块链构造(例如以太坊、HyperLedger等),以区块链形式存储所有网页文件对应的哈希指纹(包括哈希指纹h及密钥k,k为任意字符串)和正确的网页文件以及其他辅助信息;
发布服务器20,利用哈希指纹生成算法对所有网页文件进行计算得到对应哈希指纹,将哈希指纹和网页文件写入源数据保全模块10;并自动将本次网页文件进行发布;
Web(World Wide Web,全球广域网)服务器30,根据发布服务器20发布的网页文件更新到网站目录,以及定期轮询网站目录的各个网页文件,并从源数据保全模块10中获取每个网页文件的哈希指纹,利用篡改判定算法判定网站目录的各个网页文件是否被篡改;如果被篡改,通知发布服务器20从源数据保全模块10重新获取正确的网页文件进行发布。
在本发明中,源数据保全模块10包括哈希指纹库11和源数据备份单元12;哈希指纹库11以区块链的链上方式存储所有网页文件对应的哈希指纹;源数据备份单元12以区块链的链上或离链方式存储备份网站所有正确的网页文件。
发布服务器20包括监控和恢复单元21和内容发布单元22,监控和恢复单元21将管理员上传的网页文件(多个)利用哈希指纹生成算法计算出网页文件的哈希指纹h以及对应的密钥k;将哈希指纹h以及对应的密钥k写入哈希指纹库11、网页文件F={Fi}q写入源数据备份单元12,同时将网页文件F={Fi}q写入内容发布单元22;内容发布单元22自动将网页文件F={Fi}q同步至Web服务器对应网站目录。在本发明中,如用户在打开网页时需要客户端进行网页文件验证,则监控和恢复单元21需要将网页文件F={Fi}q、哈希指纹h、对应密钥k及相应的客户端自动验证脚本写入内容发布单元22,内容发布单元22自动将上述信息同步至Web服务器对应的网站目录。
Web服务器30包括页面保护子单元31、网站目录32以及网页应用环境(如:LAMP/LNMP);页面保护子单元31在下一次网页更新之前,定期轮询网站目录32,从网站目录32和哈希指纹库11中分别获取网页文件和该网页文件最新的哈希指纹h以及对应密钥k,以获取的网页文件和哈希指纹h以及对应密钥k为篡改判定算法输入判定网站目录的各个网页文件是否被篡改;如果输出为被篡改,通知监控和恢复单元21从源数据备份单元12获取正确的网页文件,并由内容发布单元22重新写入网站目录32;网页应用环境用于根据用户的网页请求将相应的网页文件显示给用户。
本发明提供的一种基于区块链的网站防篡改方法,包括以下步骤:
步骤S10、将网站所有网页文件利用哈希指纹生成算法进行计算得到对应哈希指纹,将哈希指纹和网页文件分别写入基于区块链的源数据保全模块,以区块链形式进行保存,并自动将本次网页文件写入Web服务器的网站目录;
步骤S20、定期轮询网站目录,并从网站目录和源数据保全模块中分别获取网页文件和该网页文件的哈希指纹;利用获取网页文件和哈希指纹以及篡改判定算法判定网页文件是否被篡改;如果被篡改,通知发布服务器从源数据保全模块获取正确的网页文件写入网站目录;没有被篡改,不做任何处理,继续检测下一个网页文件,直到轮询检测完网站目录中所有网页文件。
在本发明中,设计两种网页文件篡改校验方法,第一种是在Web服务器上进行校验,第二种是用户下载时自行在客户端对下载网页文件进行校验。
对于第一种篡改校验,包括Web服务器定时轮询网站目录(步骤S20中已提及)进行验证和在向用户发送网页文件之前进行校验。
在向用户发送网页文件之前进行校验是根据需要,Web服务器在收到用户网页请求后,可进行增强防护,以保证用户运行的网页文件未被篡改,具体方法如下:
(1)由页面保护单元从从网站目录和源数据保全模块中分别获取需要发送的网页文件和该网页文件对应的哈希指纹h及密钥k,使用篡改判断算法确认网页是否被篡改;
(2)在网页文件发生篡改时,通知监控和恢复单元“篡改发生”;监控和恢复单元通过多种方式,如声音、邮件、短信、微信等向网站管理员报警,并从备份数据源中取得正确网页文件F={Fi}q
(3)如未发生篡改,则将网页文件F={Fi}q发送给用户。
对于第二种篡改校验,需要监控和恢复单元将网页文件F={Fi}q、哈希指纹h、对应密钥k及相应的客户端自动验证脚本写入内容发布单元,由内容发布单元22自动将上述信息同步至Web服务器对应的网站目录;在客户端具有对网页文件验证的功能时,哈希指纹h及密钥k可以看作供用户检验网页真伪的信息,在每次用户访问网站时,Web服务器将及网页文件F={Fi}q、哈希指纹h、密钥k及相应自动验证脚本发给用户;用户接到这些信息后,可以在自己的浏览器端运行自动验证脚本,检验网页文件是否在Web服务器端被篡改,如果被篡改,不显示网页并向用发送告警,如果没有被篡改则显示网页。当用户不做校验时,则直接显示网页。这种方法可以避免传统信道加密方法只能保护信道,缺乏数据源保护的问题,进一步保证用户打开网页未被篡改。
如图2所示,在本发明中,步骤S10具体包括以下步骤:
步骤S101、管理员将网页文件准备好,登录发布服务器,登录发布服务器对管理员进行身份认证成功后,上传网页文件至发布服务器的监控和恢复单元;
步骤S102、监控和恢复单元确认本次操作为网页更新,并利用哈希指纹生成算法计算出所有网页文件的哈希指纹h以及密钥k;
需要说明的是,密钥k仅在某次网页更新、首次生成对应的哈希指纹h时生成,一旦生成,对于此版本的网页只做检验用。
步骤S103、监控和恢复单元完成基于区块链的源数据保全模块验证写入权限后,将哈希指纹h以及密钥k写入基于区块链的源数据保全模块的哈希指纹库;
步骤S104、监控和恢复单元将网页文件F={Fi}q写入基于区块链的源数据保全模块的源数据备份单元,进行网页文件数据备份,并同时将网页文件F={Fi}q写入(如需要客户端验证功能,则写入网页文件F={Fi}q、哈希指纹h、对应密钥k及相应客户端自动验证脚本)发布服务器的内容发布单元;
步骤S105、内容发布单元自动将以上信息同步至网站相应目录。
在本发明中,哈希指纹生成算法为哈希指纹生成算法,输入为网页文件F={Fi}q;输出为该网页文件的哈希指纹h以及密钥k;具体的算法描述为:
(1)根据系统使用的消息认证码(Message Authentication Code)算法MAC,选取符合条件的特定长度随机字符串k,例如:MAC算法为HMAC-SHA2(国际密码算法)或HMAC-SM3(国产密码算法)时,k为256比特的随机字符串;对于MAC算法为AES-CMAC(国际密码算法)或SM4-CMAC(国产密码算法)时,k为128比特的随机字符串;由上述区块链及哈希指纹生成算法的功能描述可知,本发明描述的系统支持国际或国产密码算法。
(2)计算网页文件Fi的哈希指纹hi=MAC(k,Fi),i=1,…,q,q为网页文件数目;
(3)对每个网页文件的哈希指纹集合{hi}q进行排序,得到排序后的哈希指纹集合{hj}q;这里的排序算法为任意确定性算法(相同的输入产生相同输出,每一组{hi}q,不论其初始顺序如何,最终都是一样的顺序,如升序或降序排列)代替,例如:升序排序算法,或降序排序算法。
(4)计算哈希指纹h=MAC(k,{hj}q)。
(5)返回哈希指纹h及密钥k值。
如图3所示,在本发明中,步骤S20具体包括以下步骤:
步骤S201、在下一次网页更新之前,每隔一定时间轮询网站目录;
步骤S202、Web服务器的页面保护单元从网站目录和源数据保全模块中分别获取网页文件F={Fi}q和最新的哈希指纹h及密钥k;
步骤S203、利用获取的网页文件F={Fi}q、最新的哈希指纹h及密钥k以及篡改算法,页面保护单元判断网站目录中存放的网页文件是否被篡改;如果没有被篡改,执行步骤S206;如果被篡改,执行步骤S204;
步骤S204、页面保护单元通知监控和恢复单元篡改发生;由监控和恢复单元向网站管理员报警(报警方式包括声音、邮件、短信、微信等);同时,从源数据保全模块中取得正确的网页文件F={Fi}q、哈希指纹h以及密钥k;
步骤S205、将获取的网页文件F={Fi}q、哈希指纹h以及密钥k写入内容发布单元,并由其将以上信息同步至Web服务器的网站目录;
步骤S206、终止本次检查。。
在本发明中,篡改判断算法的输入为网页文件F={Fi}q、哈希指纹h以及密钥k;输出为一个布尔值b,当b=0时,代表输入的哈希指纹h和网页文件不相符,当b=1时,代表输入的哈希指纹h和网页文件相符;篡改判断算法的具体描述为:
(1)使用与哈希指纹生成算法相同的MAC算法计算Web服务器上的网页文件F′i的哈希指纹h′i=MAC(k,F′i),i=1,…,q;
(2)使用与哈希指纹生成算法相同的排序方法得到Web服务器上的所有网页文件的哈希指纹排序后的集合{h′j}q
(3)计算上述网页文件的哈希指纹h′=MAC(k,{h′j}q);
(4)比较通过Web服务器上的网页文件计算得到的哈希指纹h′是否与从源数据保全模块的哈希指纹库中获取的哈希指纹h相等,如果h1=h,则返回b=1,表明网页文件没有被篡改;否则,返回b=0,表明网页文件被篡改。
综上所述,由于存储在源数据保全模块中的,及网页文件F={Fi}q、哈希指纹h以及密钥k是不可篡改的,因此,即使Web服务器或者发布服务器中的内容被攻击者篡改,本发明也可在第一时间进行网页文件恢复,并及时通知网站管理员;另外,当开启服务器加强防护后,可避免被篡改的网页在恢复之前被误发送给用户。
本发明并不局限于上述最佳实施方式,任何人应该得知在本发明的启示下做出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

Claims (10)

1.一种基于区块链的网站防篡改方法,其特征在于,包括以下步骤:
步骤S10、将网站所有网页文件利用哈希指纹生成算法进行计算得到对应哈希指纹,将哈希指纹和网页文件分别写入基于区块链的源数据保全模块,以区块链形式进行保存,并自动将本次网页文件写入Web服务器的网站目录;
步骤S20、定期轮询网站目录,并从网站目录和源数据保全模块中分别获取网页文件和该网页文件的哈希指纹,利用获取网页文件和哈希指纹以及篡改判定算法判定网页文件是否被篡改;如果被篡改,通知发布服务器从源数据保全模块获取正确的网页文件写入网站目录。
2.根据权利要求1所述的方法,其特征在于,哈希指纹生成算法输入为网页文件F={Fi}q;输出为该网页文件的哈希指纹h以及密钥k,k为任意字符串。
3.根据权利要求2所述的方法,其特征在于,用户在打开网页时在客户端对网页文件进行篡改验证,此时需要将网页文件F={Fi}q、哈希指纹h、对应密钥k及相应的客户端自动验证脚本写入Web服务器对应的网站目录;
在每次用户访问网站时,Web服务器将及网页文件F={Fi}q、哈希指纹h、密钥k及相应自动验证脚本发给用户,用户在自己的浏览器端运行客户端自动验证脚本,检验网页文件是否在Web服务器端被篡改,如果被篡改,不显示网页并向网站管理员报警,如果没有被篡改则显示网页;当用户不做校验时,则直接显示网页。
4.根据权利要求3所述的方法,其特征在于,步骤S10具体包括以下步骤:
步骤S101、管理员将登录发布服务器,登录发布服务器对管理员进行身份认证成功后,上传网页文件至发布服务器的监控和恢复单元;
步骤S102、监控和恢复单元确认本次操作为网页更新,并利用哈希指纹生成算法计算出所有网页文件的哈希指纹h以及密钥k;
步骤S103、监控和恢复单元完成基于区块链的源数据保全模块验证写入权限后,将哈希指纹h以及密钥k写入基于区块链的源数据保全模块的哈希指纹库;
步骤S104、监控和恢复单元将网页文件F={Fi}q写入基于区块链的源数据保全模块的源数据备份单元,并同时将网页文件F={Fi}q、哈希指纹h、对应密钥k及相应客户端自动验证脚本写入发布服务器的内容发布单元;
步骤S105、内容发布单元自动将以上信息同步至网站相应目录。
5.根据权利要求3所述的方法,其特征在于,步骤S20具体包括以下步骤:
步骤S201、在下一次网页更新之前,每隔一定时间轮询网站目录;
步骤S202、Web服务器的页面保护单元从网站目录和源数据保全模块中分别获取网页文件F={Fi}q和最新的哈希指纹h及密钥k;
步骤S203、利用获取的网页文件F={Fi}q、最新的哈希指纹h及密钥k以及篡改算法,页面保护单元判断网站目录中存放的网页文件是否被篡改;如果没有被篡改,执行步骤S206;如果被篡改,执行步骤S204;
步骤S204、页面保护单元通知监控和恢复单元篡改发生,由监控和恢复单元向网站管理员报警;同时,从源数据保全模块中取得正确的网页文件F={Fi}q、哈希指纹h以及密钥k;
步骤S205、将获取的网页文件F={Fi}q、哈希指纹h、密钥k及相应客户端自动验证脚本写入内容发布单元,并由其自动将以上信息同步至Web服务器的网站目录;
步骤S206、终止本次检查。
6.根据权利要求5所述的方法,其特征在于,篡改判断算法的输入为网页文件F={Fi}q、哈希指纹h以及密钥k;输出为一个布尔值b,当b=0时,代表输入的哈希指纹h和网页文件不相符,当b=1时,代表输入的哈希指纹h和网页文件相符。
7.根据权利要求6所述的方法,其特征在于,在向用户发送网页文件之前对发送网页文件进行校验;具体为:
由页面保护单元从从网站目录和源数据保全模块中分别获取需要发送的网页文件和该网页文件对应的哈希指纹h及密钥k,使用篡改判断算法确认网页是否被篡改;
在网页文件发生篡改时,通知监控和恢复单元篡改发生;监控和恢复单元向网站管理员报警,并从备份数据源中取得正确网页文件F={Fi}q
如未发生篡改,则将网页文件F={Fi}q发送给用户。
8.一种基于区块链的网站防篡改系统,其特征在于,包括:
源数据保全模块,使用任意一种区块链构造,以区块链形式存储所有网页文件对应的哈希指纹、正确的网页文件;
发布服务器,利用哈希指纹生成算法对所有网页文件进行计算得到对应哈希指纹,将哈希指纹和网页文件写入所述源数据保全模块;并自动将本次网页文件进行发布;
Web服务器,根据所述发布服务器发布的网页文件更新到网站目录,以及定期轮询网站目录的各个网页文件,并从所述源数据保全模块中获取每个网页文件的哈希指纹,利用篡改判定算法判定网站目录的各个网页文件是否被篡改;如果被篡改,通知所述发布服务器从所述源数据保全模块重新获取正确的网页文件进行发布。
9.根据权利要求8所述的系统,其特征在于,所述源数据保全模块包括哈希指纹库和源数据备份单元;所述哈希指纹库以区块链的链上方式存储所有网页文件对应的哈希指纹;所述源数据备份单元以区块链的链上或离链方式存储备份网站所有正确的网页文件;
所述发布服务器包括监控和恢复单元和内容发布单元,所述监控和恢复单元将管理员上传的网页文件利用哈希指纹生成算法计算出网页文件的哈希指纹h以及对应的密钥k;将哈希指纹h以及对应的密钥k写入所述哈希指纹库、网页文件F={Fi}q写入所述源数据备份单元,同时将网页文件F={Fi}q写入所述内容发布单元;所述内容发布单元自动将该信息同步至网站目录;
所述Web服务器包括页面保护子单元、网站目录;所述页面保护子单元在下一次网页更新之前,定期轮询所述网站目录,从所述网站目录和所述哈希指纹库中分别获取网页文件F={Fi}q和该网页文件最新的哈希指纹h以及对应密钥k,以获取的网页文件和哈希指纹h以及对应密钥k为篡改判定算法输入判定网站目录的各个网页文件是否被篡改;如果输出为被篡改,通知所述监控和恢复单元从源数据备份单元获取正确的网页文件,并由所述内容发布单元重新写入所述网站目录。
10.根据权利要求9所述的系统,其特征在于,如用户在打开网页时需要客户端进行网页文件验证,所述监控和恢复单元将网页文件F={Fi}q、哈希指纹h、对应密钥k及相应的客户端自动验证脚本写入所述内容发布单元,所述内容发布单元自动将上述信息同步至Web服务器对应的网站目录;
在每次用户访问网站时,所述Web服务器将及网页文件F={Fi}q、哈希指纹h、密钥k及相应自动验证脚本发给用户,用户在自己的浏览器端运行客户端自动验证脚本,检验网页文件是否在Web服务器端被篡改,如果被篡改,不显示网页并向网站管理员报警,如果没有被篡改则显示网页;当用户不做校验时,则直接显示网页。
CN201810997258.1A 2018-08-29 2018-08-29 一种基于区块链的网站防篡改系统及方法 Active CN109257340B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810997258.1A CN109257340B (zh) 2018-08-29 2018-08-29 一种基于区块链的网站防篡改系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810997258.1A CN109257340B (zh) 2018-08-29 2018-08-29 一种基于区块链的网站防篡改系统及方法

Publications (2)

Publication Number Publication Date
CN109257340A true CN109257340A (zh) 2019-01-22
CN109257340B CN109257340B (zh) 2021-05-04

Family

ID=65049506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810997258.1A Active CN109257340B (zh) 2018-08-29 2018-08-29 一种基于区块链的网站防篡改系统及方法

Country Status (1)

Country Link
CN (1) CN109257340B (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109885794A (zh) * 2019-01-24 2019-06-14 曲阜师范大学 基于区块链的循环式同步更新网页的处理方法
CN109951490A (zh) * 2019-03-27 2019-06-28 远光软件股份有限公司 基于区块链的网页防篡改方法、系统及电子设备
CN110516469A (zh) * 2019-07-31 2019-11-29 苏州白杨软件有限公司 一种基于区块链的共享大数据应用场景中的防黑客方法
CN110795661A (zh) * 2019-09-29 2020-02-14 武汉大学深圳研究院 一种提供端对端完整性保护的Web应用系统及方法
CN111460440A (zh) * 2020-04-03 2020-07-28 大汉软件股份有限公司 一种政府门户网站的健康度评测和防篡改方法及系统
CN111488576A (zh) * 2020-04-23 2020-08-04 成都安易迅科技有限公司 一种首页篡改的保护方法、系统、电子设备及存储介质
CN111510432A (zh) * 2020-03-18 2020-08-07 大箴(杭州)科技有限公司 网站异常的安全监测方法、装置及设备
CN111787019A (zh) * 2020-07-02 2020-10-16 深圳市亲邻科技有限公司 一种基于区块链的信息获取方法及装置
CN111953682A (zh) * 2020-08-11 2020-11-17 北京八分量信息科技有限公司 银行云计算门户网站页面的防篡改方法、装置及相关产品
CN111967064A (zh) * 2020-09-05 2020-11-20 湖南西盈网络科技有限公司 一种网页防篡改方法和系统
WO2020243245A1 (en) * 2019-05-30 2020-12-03 Oracle International Corporation Protection of online applications and webpages using a blockchain
CN112052292A (zh) * 2020-09-14 2020-12-08 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种网络内容存证方法、装置、设备及存储介质
CN112187787A (zh) * 2020-09-27 2021-01-05 广州瀚信通信科技股份有限公司 基于知识图谱的数字营销广告页防篡改方法、装置及设备
CN112532589A (zh) * 2020-11-06 2021-03-19 北京冠程科技有限公司 一种网页监测的方法、装置以及存储介质
CN112765675A (zh) * 2019-11-01 2021-05-07 上海唯链信息科技有限公司 一种基于区块链的数据处理方法及装置
CN113032842A (zh) * 2019-12-25 2021-06-25 南通理工学院 基于云平台的网页防篡改系统及方法
CN113343312A (zh) * 2021-06-25 2021-09-03 工银科技有限公司 基于前端埋点技术的页面防篡改方法及系统
CN114091122A (zh) * 2022-01-21 2022-02-25 南方电网数字电网研究院有限公司 网站防篡改方法、装置、计算机设备和存储介质
CN114401090A (zh) * 2021-12-08 2022-04-26 杭州趣链科技有限公司 静态页面访问方法、系统、装置、设备及存储介质
CN114513359A (zh) * 2022-02-16 2022-05-17 北京仁信证科技有限公司 一种端到端保护的网页防篡改系统
CN115801289A (zh) * 2023-02-09 2023-03-14 大唐电商技术有限公司 一种基于区块链进行数据监控的方法
WO2024082375A1 (zh) * 2022-10-21 2024-04-25 广西电网有限责任公司 一种基于区块链的网页防篡改监控方法、系统及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106375317A (zh) * 2016-08-31 2017-02-01 北京明朝万达科技股份有限公司 一种基于区块链的大数据安全认证方法和系统
CN106534273A (zh) * 2016-10-31 2017-03-22 中金云金融(北京)大数据科技股份有限公司 区块链元数据存储系统及其存储方法与检索方法
CN107341729A (zh) * 2017-08-04 2017-11-10 现在(北京)支付股份有限公司 基于区块链技术的电脑网页支付方法
CN107888375A (zh) * 2017-11-08 2018-04-06 深圳市携网科技有限公司 一种基于区块链技术的电子证据保全系统及方法
WO2018112948A1 (zh) * 2016-12-23 2018-06-28 深圳前海达闼云端智能科技有限公司 区块生成方法、装置和区块链网络

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106375317A (zh) * 2016-08-31 2017-02-01 北京明朝万达科技股份有限公司 一种基于区块链的大数据安全认证方法和系统
CN106534273A (zh) * 2016-10-31 2017-03-22 中金云金融(北京)大数据科技股份有限公司 区块链元数据存储系统及其存储方法与检索方法
WO2018112948A1 (zh) * 2016-12-23 2018-06-28 深圳前海达闼云端智能科技有限公司 区块生成方法、装置和区块链网络
CN107341729A (zh) * 2017-08-04 2017-11-10 现在(北京)支付股份有限公司 基于区块链技术的电脑网页支付方法
CN107888375A (zh) * 2017-11-08 2018-04-06 深圳市携网科技有限公司 一种基于区块链技术的电子证据保全系统及方法

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109885794A (zh) * 2019-01-24 2019-06-14 曲阜师范大学 基于区块链的循环式同步更新网页的处理方法
CN109951490A (zh) * 2019-03-27 2019-06-28 远光软件股份有限公司 基于区块链的网页防篡改方法、系统及电子设备
WO2020243245A1 (en) * 2019-05-30 2020-12-03 Oracle International Corporation Protection of online applications and webpages using a blockchain
US11153093B2 (en) 2019-05-30 2021-10-19 Oracle International Corporation Protection of online applications and webpages using a blockchain
US11997210B2 (en) 2019-05-30 2024-05-28 Oracle International Corporation Protection of online applications and webpages using a blockchain
CN110516469A (zh) * 2019-07-31 2019-11-29 苏州白杨软件有限公司 一种基于区块链的共享大数据应用场景中的防黑客方法
CN110516469B (zh) * 2019-07-31 2023-05-26 苏州白杨软件有限公司 一种基于区块链的共享大数据应用场景中的防黑客方法
CN110795661A (zh) * 2019-09-29 2020-02-14 武汉大学深圳研究院 一种提供端对端完整性保护的Web应用系统及方法
CN110795661B (zh) * 2019-09-29 2023-03-24 武汉大学深圳研究院 一种提供端对端完整性保护的Web应用系统及方法
CN112765675A (zh) * 2019-11-01 2021-05-07 上海唯链信息科技有限公司 一种基于区块链的数据处理方法及装置
CN113032842A (zh) * 2019-12-25 2021-06-25 南通理工学院 基于云平台的网页防篡改系统及方法
CN113032842B (zh) * 2019-12-25 2024-01-26 南通理工学院 基于云平台的网页防篡改系统及方法
CN111510432A (zh) * 2020-03-18 2020-08-07 大箴(杭州)科技有限公司 网站异常的安全监测方法、装置及设备
CN111460440A (zh) * 2020-04-03 2020-07-28 大汉软件股份有限公司 一种政府门户网站的健康度评测和防篡改方法及系统
CN111488576B (zh) * 2020-04-23 2020-12-25 成都安易迅科技有限公司 一种首页篡改的保护方法、系统、电子设备及存储介质
CN111488576A (zh) * 2020-04-23 2020-08-04 成都安易迅科技有限公司 一种首页篡改的保护方法、系统、电子设备及存储介质
CN111787019A (zh) * 2020-07-02 2020-10-16 深圳市亲邻科技有限公司 一种基于区块链的信息获取方法及装置
CN111953682A (zh) * 2020-08-11 2020-11-17 北京八分量信息科技有限公司 银行云计算门户网站页面的防篡改方法、装置及相关产品
CN111967064A (zh) * 2020-09-05 2020-11-20 湖南西盈网络科技有限公司 一种网页防篡改方法和系统
CN112052292A (zh) * 2020-09-14 2020-12-08 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种网络内容存证方法、装置、设备及存储介质
CN112187787A (zh) * 2020-09-27 2021-01-05 广州瀚信通信科技股份有限公司 基于知识图谱的数字营销广告页防篡改方法、装置及设备
CN112187787B (zh) * 2020-09-27 2023-10-10 广州瀚信通信科技股份有限公司 基于知识图谱的数字营销广告页防篡改方法、装置及设备
CN112532589A (zh) * 2020-11-06 2021-03-19 北京冠程科技有限公司 一种网页监测的方法、装置以及存储介质
CN113343312A (zh) * 2021-06-25 2021-09-03 工银科技有限公司 基于前端埋点技术的页面防篡改方法及系统
CN114401090A (zh) * 2021-12-08 2022-04-26 杭州趣链科技有限公司 静态页面访问方法、系统、装置、设备及存储介质
CN114401090B (zh) * 2021-12-08 2024-07-12 杭州趣链科技有限公司 静态页面访问方法、系统、装置、设备及存储介质
CN114091122A (zh) * 2022-01-21 2022-02-25 南方电网数字电网研究院有限公司 网站防篡改方法、装置、计算机设备和存储介质
CN114513359A (zh) * 2022-02-16 2022-05-17 北京仁信证科技有限公司 一种端到端保护的网页防篡改系统
WO2024082375A1 (zh) * 2022-10-21 2024-04-25 广西电网有限责任公司 一种基于区块链的网页防篡改监控方法、系统及存储介质
CN115801289A (zh) * 2023-02-09 2023-03-14 大唐电商技术有限公司 一种基于区块链进行数据监控的方法

Also Published As

Publication number Publication date
CN109257340B (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN109257340A (zh) 一种基于区块链的网站防篡改系统及方法
Tan et al. A survey on proof of retrievability for cloud data integrity and availability: Cloud storage state-of-the-art, issues, solutions and future trends
CN110321735B (zh) 基于零知识证明的业务办理方法、系统及存储介质
US6725240B1 (en) Apparatus and method for protecting against data tampering in an audit subsystem
US7779103B1 (en) Dual cookie security system
CN110334175B (zh) 医疗文档的零知识证明方法、系统及存储介质
KR101948721B1 (ko) 파일 해시 값을 이용한 파일 위변조 검사 방법 및 단말 장치
US20020059364A1 (en) Content certification
CN101483514B (zh) Web应用评估方法
US8190915B2 (en) Method and apparatus for detecting data tampering within a database
CN102111267A (zh) 一种基于数字签名的网站安全保护方法及系统
CN107426165A (zh) 一种支持密钥更新的双向安全云存储数据完整性检测方法
CN106161031B (zh) 服务器密码生成方法、验证方法和装置
EP1159683A1 (en) Content certification
CN115021942B (zh) 一种防篡改的网络数据安全传输方法
US11907259B2 (en) Sanitizing database structures for testing
CN107819748A (zh) 一种抗破解的验证码实现方法及装置
KR20110072111A (ko) 소프트웨어 소스코드의 유출을 방지하기 위한 시스템 및 방법
Tiwari et al. A novel watermarking scheme for secure relational databases
CN112613028A (zh) 弱密码检测方法、装置、电子设备及可读存储介质
JP3948964B2 (ja) 電子文書処理装置及びコンピュータプログラム
CN116860764A (zh) 一种数据变更处理方法和系统、电子设备及存储介质
JP2001265217A (ja) デジタルコンテンツの改ざん監視装置、改ざん監視方法及び記録媒体
CN111445250A (zh) 一种区块链密钥测试方法及装置
EP3603025B1 (en) Migration of information via storage devices

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