CN114969835B - 网页信息存证方法及装置 - Google Patents
网页信息存证方法及装置 Download PDFInfo
- Publication number
- CN114969835B CN114969835B CN202210913994.0A CN202210913994A CN114969835B CN 114969835 B CN114969835 B CN 114969835B CN 202210913994 A CN202210913994 A CN 202210913994A CN 114969835 B CN114969835 B CN 114969835B
- Authority
- CN
- China
- Prior art keywords
- content
- stored
- certificate
- certified
- evidence
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种网页信息存证方法及装置,涉及区块链信息技术领域,方法包括:基于预设存证策略,选择预言机发送存证请求;接收预言机基于存证请求返回的待存证内容;对待存证内容进行存证策略验证,并基于验证通过,将待存证内容写入区块链上链存证。本发明基于预设存证策略,利用多个独立的预言机联合获取存证内容,避免了单个预言机被攻击以致内容不可信的情况,且通过智能合约对预言机进行存证策略验证,避免了预言机未及时升级被攻击以致证明不可信的情况;另外,通过获取待存证内容,以便于由智能合约将存证内容写入区块链中上链存证,以确保存证内容的不可篡改性和去信任性。
Description
技术领域
本发明涉及区块链信息技术领域,尤其涉及一种网页信息存证方法及装置。
背景技术
区块链是分布式账本技术、点对点技术、非对称加密技术、智能合约技术、共识机制等技术的有机组合,通过完善的脚本以支持不同的业务逻辑,实现对账本的分布式记录,具体通过若干台计算设备共同参与“记账”,以共同维护一份完整的分布式数据库。在典型的区块链***中,数据以区块为单位产生并存储,按照时间顺序连成链式结构。
由于区块链技术具有去中心化、公开透明等特性,因此每台计算设备都可以参与数据库记录,并且各计算设备之间可以快速的进行数据同步。区块链通过智能合约对外提供数据存取的接口,但是,鉴于各种计算机设备均可以通过该接口写入数据到区块链,以致无法确保写入区块链的信息内容是否为预期访问的内容,以及无法确保信息来源的可信度。
发明内容
本发明提供一种网页信息存证方法及装置,用以解决现有技术中网页信息存证的准确度和可信度较差的缺陷,提高了获取内容的可信度和安全性,确保了写入区块链信息的准确性。
本发明提供一种网页信息存证方法,包括:基于预设存证策略,选择预言机发送存证请求;接收所述预言机基于所述存证请求返回的待存证内容;对所述待存证内容进行存证策略验证,并基于验证通过,将所述待存证内容写入区块链上链存证。
根据本发明提供的一种网页信息存证方法,所述待存证内容包括网页内容以及证明,其中:所述网页内容是所述预言机基于所述存证请求向待存证网站获取的;所述证明是所述预言机根据所述待存证内容生成的。
根据本发明提供的一种网页信息存证方法,所述证明是所述预言机将所述网页内容生成的哈希值嵌入密码学报告内、以将所述网页内容与所述密码学报告绑定得到的。
根据本发明提供的一种网页信息存证方法,所述网页内容是所述预言机对基于所述存证请求访问待存证网站得到的访问内容进行解析、并基于预设递归规则递归地获取所述待存证网站的网页链接及所述网页链接对应的内容得到的。
根据本发明提供的一种网页信息存证方法,若存在多个预言机返回待存证内容,且所述多个预言机返回的待存证内容中的网页内容不完全相同,则对所述待存证内容进行存证策略验证,包括:根据预设投票机制,确定可信待存证内容,以使可信待存证内容通过验证;和/或,根据预设预言机优先级向高一级预言机发起存证请求,并对所述高一级预言机返回的待存证内容进行所述存证策略验证;和/或,根据预设凭证,确定对应预言机返回的待存证内容可信,以使可信待存证内容通过验证。
根据本发明提供的一种网页信息存证方法,所述根据预设投票机制,确定可信待存证内容,包括:获取所有预言机返回的合法的待存证内容中待存证内容中的网页内容相同的数量,并基于简单多数投票机制,选择投票数量超过所有合法的待存证内容总数一半的待存证内容作为可信待存证内容;和/或,针对不同预言机设置投票权重;基于所述投票权重获取对应合法的待存证内容中的网页内容的投票得分;基于所述投票得分,选择所述投票得分达到预设范围的待存证内容作为可信待存证内容。
根据本发明提供的一种网页信息存证方法,在接收所述预言机基于所述存证请求返回的待存证内容之后,还包括:对所述待存证内容进行合法性验证,其中,所述合法性验证包括签名验证、可信执行环境验证以及补丁状态验证。
本发明还提供一种网页信息存证装置,包括:请求发送模块,基于预设存证策略,选择预言机发送存证请求;数据接收模块,接收所述预言机基于所述存证请求返回的待存证内容;验证模块,对所述待存证内容进行存证策略验证,并基于验证通过,将所述待存证内容写入区块链上链存证。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述网页信息存证方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述网页信息存证方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述网页信息存证方法的步骤。
本发明提供的网页信息存证方法及装置,基于预设存证策略,利用多个独立的预言机联合获取存证内容,避免了单个预言机被攻击以致内容不可信的情况,且通过智能合约对预言机进行存证策略验证,避免了预言机未及时升级被攻击以致证明不可信的情况;另外,通过获取待存证内容,以便于由智能合约将存证内容写入区块链中上链存证,以确保存证内容的不可篡改性和去信任性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的网页信息存证方法的流程示意图之一;
图2是本发明提供的网页信息存证方法的流程示意图之二;
图3是本发明提供的网页信息存证装置的结构示意图之一;
图4是本发明提供的网页信息存证装置的结构示意图之二;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明的一种网页信息存证方法的流程示意图,该方法执行主体为智能合约,该方法包括:
S11,基于预设存证策略,选择预言机发送存证请求;
S12,接收预言机基于存证请求返回的待存证内容;
S13,对待存证内容进行存证策略验证,并基于验证通过,将待存证内容写入区块链上链存证。
需要说明的是,本说明书中的1N不代表网页信息存证方法的先后顺序,下面具体描述本发明的网页信息存证方法。
步骤S11,基于预设存证策略,选择预言机发送存证请求。
本实施例中,存证请求是区块链客户端基于待存证网站生成的,区块链客户端将生成的存证请求发送至智能合约,并由智能合约基于预设存证策略选择预言机并发送存证请求。
需要说明的是,预设存证策略可以在处理一个存证请求时,指导如何选择特定预言机的服务来完成请求。预设存证策略为基于先验经验或实际使用设计需求确定,此处不做进一步地限定。比如,预设存证策略可以选择先验经验中通过智能合约进行存证策略验证的预言机。
在一个可选实施例中,预测存证策略可以包括:当所有指定预言机服务都返回相同的网页内容信息时,才认为存证内容可信;当只有一个预言机服务返回存证内容信息时,即可认为存证内容可信;多个预言机轮流返回存证内容信息;使用简单多数等投票机制;使用支持预言机投票权重设置的投票机制;基于优先级的预言机服务请求处理,例如在一些安全级别较低的预言机返回内容不一致时,向更高一级的预言机发起请求;可以预设公钥等凭据,由预先决定的第三方介入提供定制化的预言机存证内容冲突解决。
步骤S12,接收预言机基于存证请求返回的待存证内容。
在本实施例中,待存证内容包括网页内容以及证明,其中:网页内容是预言机基于存证请求向待存证网站获取的;证明是预言机根据待存证内容生成的。
更进一步地说,网页内容是预言机对基于存证请求访问待存证网站得到的访问内容进行解析、并基于预设递归规则递归地获取待存证网站的网页链接及网页链接对应的内容得到的。需要说明的是,通过自动进行关联网页链接内容获取,避免了单个网页信息不完整的情况。
另外,证明是预言机将网页内容生成的哈希值嵌入密码学报告内、以将网页内容与密码学报告绑定得到的。
换言之,预言机在接收智能合约发送的存证请求后,包括:根据存证请求,基于超文本传输安全协议访问待存证网站,得到访问内容;对访问内容进行解析,并基于预设递归规则,递归地获取网页链接及网页链接对应的内容,得到网页内容;基于网页内容,生成哈希值;将哈希值嵌入密码学报告内,以将网页内容与密码学报告绑定,并向CPU厂商认证服务端获取密码学报告CPU厂商签名,得到证明。
需要说明的是,通过在预言机中获取对网页内容中包含的网页链接的内容,以将网页的引用内容关联至存证中,为网页提供上下文信息,从而避免了单个网页信息不完整的情况。另外,预设递归规则用于设置递归结束的标准,比如最大递归层数、最大数据量等。
更进一步地说,根据存证请求,基于超文本传输安全协议访问待存证网站,得到访问内容,包括:根据存证请求,向待存证网站发送网页访问请求;接收待存证网站基于网页访问请求返回的网站证书;对网站证书进行验证,并基于验证通过,向待存证网站发送内容获取请求;接收待存证网站基于内容获取请求返回的访问内容。应当注意,预言机在访问待存证网站时,基于超文本传输安全协议进行访问,以确保网站访问的安全性。
需要说明的是,预言机服务运行于可信执行环境中,通过可信执行环境获取网页内容并生成证明,以使后续写入区块链中的上链存证具有不可篡改性和去信任的优点。在一个可能的实现方式中,可以基于Intel SGX 实现预言机服务在可信执行环境中的运行。
应当注意的是,可信执行环境是中央处理器中的一块安全区域,保证了其加载的代码数据的机密性和完整性,可信执行环境提供远程证明机制,通过硬件生成一个证明,表明可信执行环境中运行的程序没有被篡改。另外,可信执行环境支持在生成证明时嵌入自定义数据,这样便于后续生成证明时表明自定义数据是由可信执行环境中运行的程序获得。比如,可信执行环境可以为enclave飞地。
在一个可选实施例中,预言机将哈希值嵌入密码学报告,预言机向CPU厂商认证服务端获取密码学报告CPU厂商签名。具体包括:向认证服务端发送报告签名获取请求;接收认证服务端基于报告获取请求返回的密码学报告CPU厂商签名。需要说明的是,密码学报告为Intel对应硬件的中央处理器(CPU)内部生成的具有密钥签名的一种报告。
在一个可选实施例中,在智能合约接收预言机基于存证请求返回的待存证内容之后,还包括:对待存证内容进行合法性验证,其中,合法性验证包括签名验证、可信执行环境验证以及补丁状态验证。需要说明的是,可信执行环境验证包括可信程序哈希验证,可信执行环境版本是否符合预设版本范围。通过智能合约对预言机的可信执行环境证明的检查,避免了预言机未及时升级被攻击以致证明不可信的情况。
步骤S13,对待存证内容进行存证策略验证,并基于验证通过,将待存证内容写入区块链上链存证。
在本实施例中,若多个预言机返回待存证内容,且多个预言机返回的合法的待存证内容中的网页内容不完全相同,则对待存证内容进行存证策略验证,包括:基于多个预言机返回的待存证内容中的网页内容不同,则根据预设投票机制,确定可信待存证内容,以使可信待存证内容通过验证。
更进一步地说,根据预设投票机制,确定可信待存证内容,包括:获取所有预言机返回的合法的待存证内容中待存证内容中的网页内容相同的数量,并基于简单多数投票机制,选择投票数量超过所有合法的待存证内容总数一半的待存证内容作为可信待存证内容。
在一个可选实施例中,根据预设投票机制,确定可信待存证内容,还包括:针对不同预言机设置投票权重;基于投票权重获取对应合法的待存证内容的中的网页内容投票得分;基于投票得分,选择投票得分达到预设范围的待存证内容作为可信待存证内容。
需要说明的是,选择投票得分达到预设范围的待存证内容作为可信待存证内容,包括:投票得分最高的待存证内容作为可信待存证内容;或者,投票得分超出预设阈值的待存证内容作为可信待存证内容。
在一个可选实施例中,若存在多个预言机返回待存证内容,且所述多个预言机返回的待存证内容中的网页内容完全相同,则对所述待存证内容进行存证策略验证,还包括:确定待存证内容可信,验证通过。
在一个可选实施例中,若多个预言机返回待存证内容,且多个预言机返回的合法的待存证内容中的网页内容不完全相同,则对待存证内容进行存证策略验证,还包括:根据预设预言机优先级向高一级预言机发起存证请求,并对高一级预言机返回的待存证内容进行存证策略验证。
在一个可选实施例中,若多个预言机返回待存证内容,且多个预言机返回的合法的待存证内容中的网页内容不完全相同,则对待存证内容进行存证策略验证,还包括:根据预设凭证,确定对应预言机返回的待存证内容可信,以使可信待存证内容通过验证。需要说明的是,预设凭证可以为公钥等凭证,具体可以根据实际设计需求选择,此处不做进一步地限定。
在一个可选实施例中,若单个预言机返回待存证内容,则对待存证内容进行存证策略验证,还包括:基于单个预言机返回待存证内容,确定待存证内容可信,验证通过。
在一个可选实施例中,在将待存证内容写入区块链上链存证之后,包括:其余客户端在区块链上读取存入的网页内容及证明,并进行验证。
综上所述,本发明实施例基于预设存证策略,利用多个独立的预言机联合获取存证内容,避免了单个预言机被攻击以致内容不可信的情况,且通过智能合约对预言机进行存证策略验证,避免了预言机未及时升级被攻击以致证明不可信的情况;另外,通过获取待存证内容,以便于由智能合约将存证内容写入区块链中上链存证,以确保存证内容的不可篡改性和去信任性。
图2示出了本发明的一种网页信息存证方法的流程示意图,该方法包括:
S21,智能合约基于预设存证策略,选择预言机发送存证请求;
S22,预言机接收存证请求,并根据存证请求访问待存证网站,得到网页内容;
S23,预言机根据网页内容生成证明,以及基于证明和网页内容,得到待存证内容,并将待存证内容发送至智能合约;
S24,智能合约接收待存证内容,并进行存证策略验证,基于验证通过,将待存证内容写入区块链上链存证。
需要说明的是,本说明书中的2N不代表网页信息存证方法的先后顺序,下面具体描述本发明的网页信息存证方法。
步骤S21,智能合约基于预设存证策略,选择预言机发送存证请求。
本实施例中,存证请求是区块链客户端基于待存证网站生成的,区块链客户端将生成的存证请求发送至智能合约,并由智能合约基于预设存证策略选择预言机并发送存证请求。
步骤S22,预言机接收存证请求,并根据存证请求访问待存证网站,得到网页内容。
在本实施例中,根据存证请求访问待存证网站,得到网页内容,包括:基于超文本传输安全协议访问待存证网站,得到访问内容;对访问内容进行解析,并基于预设递归规则,递归地获取网页链接及网页链接对应的内容,得到网页内容。需要说明的是,预设递归规则用于设置递归结束的标准,比如最大递归层数、最大数据量等。
更进一步地说,基于超文本传输安全协议访问待存证网站,得到访问内容,包括:根据存证请求,向待存证网站发送网页访问请求;接收待存证网站基于网页访问请求返回的网站证书;对网站证书进行验证,并基于验证通过,向待存证网站发送内容获取请求;接收待存证网站基于内容获取请求返回的访问内容。
步骤S23,预言机根据网页内容生成证明,以及基于证明和网页内容,得到待存证内容,并将待存证内容发送至智能合约。
在本实施例中,预言机根据网页内容生成证明,包括:基于网页内容,生成哈希值;将哈希值嵌入密码学报告内,以将网页内容与密码学报告绑定,并向CPU厂商认证服务端获取密码学报告CPU厂商签名,得到证明。
在一个可选实施例中,预言机将哈希值嵌入密码学报告,预言机向CPU厂商认证服务端获取密码学报告CPU厂商签名。具体包括:向认证服务端发送报告签名获取请求;接收认证服务端基于报告获取请求返回的密码学报告CPU厂商签名。需要说明的是,密码学报告为Intel对应硬件的中央处理器(CPU)内部生成的具有密钥签名的一种报告。
步骤S24,智能合约接收待存证内容,并进行存证策略验证,基于验证通过,将待存证内容写入区块链上链存证。
在本实施例中,若多个预言机返回待存证内容,且多个预言机返回的合法的待存证内容中的网页内容不完全相同,则智能合约接收待存证内容,并进行存证策略验证,包括:基于多个预言机返回的待存证内容中的网页内容不同,则根据预设投票机制,确定可信待存证内容,以使可信待存证内容通过验证。
更进一步地说,根据预设投票机制,确定可信待存证内容,包括:获取所有预言机返回的合法的待存证内容中待存证内容中的网页内容相同的数量,并基于简单多数投票机制,选择投票数量超过所有合法的待存证内容总数一半的待存证内容作为可信待存证内容。
在一个可选实施例中,根据预设投票机制,确定可信待存证内容,还包括:针对不同预言机设置投票权重;基于投票权重获取对应待存证内容中的网页内容的投票得分;基于投票得分,选择投票得分达到预设范围的待存证内容作为可信待存证内容。
需要说明的是,选择投票得分达到预设范围的待存证内容作为可信待存证内容,包括:投票得分最高的待存证内容作为可信待存证内容;或者,投票得分超出预设阈值的待存证内容作为可信待存证内容。
在一个可选实施例中,若存在多个预言机返回待存证内容,且所述多个预言机返回的待存证内容中的网页内容完全相同,则对所述待存证内容进行存证策略验证,还包括:确定待存证内容可信,验证通过。
在一个可选实施例中,若多个预言机返回待存证内容,且多个预言机返回的待存证内容中的网页内容不完全相同,则对待存证内容进行存证策略验证,还包括:根据预设预言机优先级向高一级预言机发起存证请求,并对高一级预言机返回的待存证内容进行存证策略验证。
在一个可选实施例中,若多个预言机返回待存证内容,且多个预言机返回的待存证内容中的网页内容不完全相同,则对待存证内容进行存证策略验证,还包括:根据预设凭证,确定对应预言机返回的待存证内容可信,以使可信待存证内容通过验证。需要说明的是,预设凭证可以为公钥等凭证,具体可以根据实际设计需求选择,此处不做进一步地限定。
在一个可选实施例中,若单个预言机返回待存证内容,则对待存证内容进行存证策略验证,还包括:基于单个预言机返回待存证内容,确定待存证内容可信,验证通过。
在一个可选实施例中,在将待存证内容写入区块链上链存证之后,包括:其余客户端在区块链上读取存入的网页内容及证明,并进行验证。
在一个可选实施例中,在智能合约接收待存证内容之后,还包括:对待存证内容进行合法性验证,其中,合法性验证包括签名验证、可信执行环境验证以及补丁状态验证。需要说明的是,可信执行环境验证包括可信程序哈希验证,可信执行环境版本是否符合预设版本范围。通过智能合约对预言机的可信执行环境证明的检查,避免了预言机未及时升级被攻击以致证明不可信的情况。
综上所述,本发明实施例基于预设存证策略,利用多个独立的预言机联合获取存证内容,避免了单个预言机被攻击以致内容不可信的情况,且通过智能合约对预言机进行存证策略验证,避免了预言机未及时升级被攻击以致证明不可信的情况;另外,通过获取网页内容并生成证明,以便于由智能合约将存证内容写入区块链中上链存证,以确保存证内容的不可篡改性和去信任性。
下面对本发明提供的网页信息存证装置进行描述,下文描述的网页信息存证装置与上文描述的网页信息存证方法可相互对应参照。
图3示出了一种网页信息存证装置的结构示意图,该装置为智能合约,主要包括:
请求发送模块31,基于预设存证策略,选择预言机发送存证请求;
数据接收模块32,接收预言机基于存证请求返回的待存证内容;
验证模块33,对待存证内容进行存证策略验证,并基于验证通过,将待存证内容写入区块链上链存证。
在本实施例中,请求发送模块31,包括:选择单元,基于预设存证策略,选择预言机;请求发送单元,向所选预言机发送存证请求。需要说明的是,存证请求是区块链客户端基于待存证网站生成的,区块链客户端将生成的存证请求发送至智能合约,并由智能合约基于预设存证策略选择预言机并发送存证请求。
在本实施例中,待存证内容包括网页内容以及证明,其中:网页内容是预言机基于存证请求向待存证网站获取的;证明是预言机根据待存证内容生成的。
验证模块33,包括:第一验证单元,对待存证内容进行存证策略验证;存证写入单元,基于验证通过,将待存证内容写入区块链上链存证。
若多个预言机返回待存证内容,且多个预言机返回的待存证内容中的网页内容不完全相同,则第一验证单元,包括:第一验证子单元,基于多个预言机返回的待存证内容中的网页内容不同,则根据预设投票机制,确定可信待存证内容,以使可信待存证内容通过验证。
更进一步地说,第一验证子单元,包括:统计孙单元,获取所有预言机返回的合法的待存证内容中待存证内容中的网页内容相同的数量;第一验证孙单元,基于简单多数投票机制,选择投票数量超过合法的待存证内容总数一半的待存证内容作为可信待存证内容。
在一个可选实施例中,第一验证子单元,还包括:权重设置孙单元,针对不同预言机设置投票权重;投票孙单元,基于投票权重获取对应待存证内容的投票得分;可信内容确认孙单元,基于投票得分,选择投票得分达到预设范围的待存证内容作为可信待存证内容。
需要说明的是,可信内容确认孙单元,包括:可信内容确认曾孙单元,用于将投票得分最高的待存证内容作为可信待存证内容;或者,用于将投票得分超出预设阈值的待存证内容作为可信待存证内容。
在一个可选实施例中,若存在多个预言机返回待存证内容,且所述多个预言机返回的待存证内容中的网页内容完全相同,则第一验证单元,还包括:第二验证子单元,确定待存证内容可信,验证通过。
在一个可选实施例中,若多个预言机返回待存证内容,且多个预言机返回的待存证内容中的网页内容不完全相同,则第一验证单元,还包括:数据发送子单元,根据预设预言机优先级向高一级预言机发起存证请求;第三验证子单元,对高一级预言机返回的待存证内容进行存证策略验证。
在一个可选实施例中,若多个预言机返回待存证内容,且多个预言机返回的待存证内容中的网页内容不完全相同,则第一验证单元,还包括:第四验证子单元,根据预设凭证,确定对应预言机返回的待存证内容可信,以使可信待存证内容通过验证。需要说明的是,预设凭证可以为公钥等凭证,具体可以根据实际设计需求选择,此处不做进一步地限定。
在一个可选实施例中,若单个预言机返回待存证内容,则第一验证单元,还包括:第五验证子单元,基于单个预言机返回待存证内容,确定待存证内容可信,验证通过。
在一个可选实施例中,在将待存证内容写入区块链上链存证之后,包括:其余客户端在区块链上读取存入的网页内容及证明,并进行验证。
在一个可选实施例中,存证写入单元,包括:在智能合约接收预言机基于存证请求返回的待存证内容之后,对待存证内容进行合法性验证,其中,合法性验证包括签名验证、可信执行环境验证以及补丁状态验证。需要说明的是,可信执行环境验证包括可信程序哈希验证,可信执行环境版本是否符合预设版本范围。通过智能合约对预言机的可信执行环境证明的检查,避免了预言机未及时升级被攻击以致证明不可信的情况。
综上所述,本发明实施例通过请求发送模块基于预设存证策略选择对应预言机,以利用多个独立的预言机联合获取存证内容,避免了单个预言机被攻击以致内容不可信的情况,且通过智能合约的验证模块对预言机进行存证策略验证,避免了预言机未及时升级被攻击以致证明不可信的情况;另外,通过数据接收模块接收待存证内容,以便于由智能合约将存证内容写入区块链中上链存证,以确保存证内容的不可篡改性和去信任性。
图4示出了本发明的一种网页信息存证装置的结构示意图,该装置包括预言机、智能合约和待存证网站,其中:
智能合约基于预设存证策略,选择预言机发送存证请求;
预言机接收存证请求,并根据存证请求访问待存证网站,得到网页内容;
预言机根据网页内容生成证明,以及基于证明和网页内容,得到待存证内容,并将待存证内容发送至智能合约;
智能合约接收待存证内容,并进行存证策略验证,基于验证通过,将待存证内容写入区块链上链存证。
具体而言,预言机,包括:请求接收模块,接收存证请求;网页内容获取模块,根据存证请求访问待存证网站,得到网页内容;存证内容获取模块,根据网页内容生成证明,以及基于证明和网页内容,得到待存证内容;信息发送模块,将待存证内容发送至智能合约。
在本实施例中,网页内容获取模块,包括:访问内容获取单元,基于超文本传输安全协议访问待存证网站,得到访问内容;解析单元,对访问内容进行解析;网页内容获取单元,基于预设递归规则,递归地获取网页链接及网页链接对应的内容,得到网页内容。需要说明的是,预设递归规则用于设置递归结束的标准,比如最大递归层数、最大数据量等。
更进一步地说,访问内容获取单元,包括:访问请求发送子单元,根据存证请求,向待存证网站发送网页访问请求;证书接收子单元,接收待存证网站基于网页访问请求返回的网站证书;证书验证子单元,对网站证书进行验证,并基于验证通过,向待存证网站发送内容获取请求;访问内容接收子单元,接收待存证网站基于内容获取请求返回的访问内容。
存证内容获取模块,包括:证明生成单元,根据网页内容生成证明;存证内容获取模块,基于证明和网页内容,得到待存证内容。
更进一步地说,证明生成单元,包括:哈希子单元,基于网页内容,生成哈希值;证明生成子单元,将哈希值嵌入密码学报告内,以将网页内容与密码学报告绑定,并向CPU厂商认证服务端获取密码学报告CPU厂商签名,得到证明。
在一个可选实施例中,预言机还包括:报告获取模块,预言机将哈希值嵌入密码学报告,预言机向CPU厂商认证服务端获取密码学报告CPU厂商签名。具体而言,报告获取模块,包括:报告获取请求发送单元,向认证服务端发送报告CPU厂商签名获取请求;报告接收单元,接收认证服务端基于报告获取请求返回的密码学报告CPU厂商签名。需要说明的是,密码学报告为Intel对应硬件的中央处理器(CPU)内部生成的具有密钥签名的一种报告。
应当说明的是,智能合约的具体结构可参考上述实施例,此处不做进一步地描述。
综上所述,本发明实施例通过智能合约基于预设存证策略,利用多个独立的预言机联合获取存证内容,避免了单个预言机被攻击以致内容不可信的情况,且通过智能合约对预言机进行存证策略验证,避免了预言机未及时升级被攻击以致证明不可信的情况;另外,通过获取网页内容并生成证明,以便于由智能合约将存证内容写入区块链中上链存证,以确保存证内容的不可篡改性和去信任性。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)51、通信接口(Communications Interface)52、存储器(memory)53和通信总线54,其中,处理器51,通信接口52,存储器53通过通信总线54完成相互间的通信。处理器51可以调用存储器53中的逻辑指令,以执行网页信息存证方法,该方法包括:基于预设存证策略,选择预言机发送存证请求;接收预言机基于存证请求返回的待存证内容;对待存证内容进行存证策略验证,并基于验证通过,将待存证内容写入区块链上链存证。
此外,上述的存储器53中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的网页信息存证方法,该方法包括:基于预设存证策略,选择预言机发送存证请求;接收预言机基于存证请求返回的待存证内容;对待存证内容进行存证策略验证,并基于验证通过,将待存证内容写入区块链上链存证。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的网页信息存证方法,该方法包括:基于预设存证策略,选择预言机发送存证请求;接收预言机基于存证请求返回的待存证内容;对待存证内容进行存证策略验证,并基于验证通过,将待存证内容写入区块链上链存证。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种网页信息存证方法,其特征在于,包括:
基于预设存证策略,选择预言机发送存证请求;
接收所述预言机基于所述存证请求返回的待存证内容;所述待存证内容包括网页内容以及证明,所述网页内容是所述预言机对基于所述存证请求访问待存证网站得到的访问内容进行解析、并基于预设递归规则递归地获取所述待存证网站的网页链接及所述网页链接对应的内容得到的;所述证明是所述预言机将所述网页内容生成的哈希值嵌入密码学报告内、以将所述网页内容与所述密码学报告绑定得到的;
对所述待存证内容进行存证策略验证,并基于验证通过,将所述待存证内容写入区块链上链存证。
2.根据权利要求1所述的网页信息存证方法,其特征在于,若存在多个预言机返回待存证内容,且所述多个预言机返回的待存证内容中的网页内容不完全相同,则对所述待存证内容进行存证策略验证,包括:
根据预设投票机制,确定可信待存证内容,以使可信待存证内容通过验证;和/或,
根据预设预言机优先级向高一级预言机发起存证请求,并对所述高一级预言机返回的待存证内容进行所述存证策略验证;和/或,
根据预设凭证,确定对应预言机返回的待存证内容可信,以使可信待存证内容通过验证。
3.根据权利要求2所述的网页信息存证方法,其特征在于,所述根据预设投票机制,确定可信待存证内容,包括:
验证所有预言机返回的待存证内容的合法性,丢弃不合法的待存证内容,获取所有合法待存证内容中待存证内容中的网页内容相同的数量,并基于简单多数投票机制,选择投票数量超过所有合法待存证内容总数一半的待存证内容作为可信待存证内容;和/或,
针对不同预言机设置投票权重;
基于所述投票权重获取对应合法待存证内容中的网页内容的投票得分;
基于所述投票得分,选择所述投票得分达到预设范围的待存证内容作为可信待存证内容。
4.根据权利要求1所述的网页信息存证方法,其特征在于,在接收所述预言机基于所述存证请求返回的待存证内容之后,还包括:对所述待存证内容进行合法性验证,其中,所述合法性验证包括签名验证、可信执行环境验证以及补丁状态验证。
5.一种网页信息存证装置,其特征在于,包括:
请求发送模块,基于预设存证策略,选择预言机发送存证请求;
数据接收模块,接收所述预言机基于所述存证请求返回的待存证内容;所述待存证内容包括网页内容以及证明,所述网页内容是所述预言机对基于所述存证请求访问待存证网站得到的访问内容进行解析、并基于预设递归规则递归地获取所述待存证网站的网页链接及所述网页链接对应的内容得到的;所述证明是所述预言机将所述网页内容生成的哈希值嵌入密码学报告内、以将所述网页内容与所述密码学报告绑定得到的;
验证模块,对所述待存证内容进行存证策略验证,并基于验证通过,将所述待存证内容写入区块链上链存证。
6.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述网页信息存证方法的步骤。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述网页信息存证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210913994.0A CN114969835B (zh) | 2022-08-01 | 2022-08-01 | 网页信息存证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210913994.0A CN114969835B (zh) | 2022-08-01 | 2022-08-01 | 网页信息存证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114969835A CN114969835A (zh) | 2022-08-30 |
CN114969835B true CN114969835B (zh) | 2022-10-25 |
Family
ID=82969103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210913994.0A Active CN114969835B (zh) | 2022-08-01 | 2022-08-01 | 网页信息存证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114969835B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995776A (zh) * | 2019-03-26 | 2019-07-09 | 西安纸贵互联网科技有限公司 | 一种互联网数据验证方法及*** |
CN112532395A (zh) * | 2020-11-26 | 2021-03-19 | 中国船舶工业***工程研究院 | 一种基于区块链的数据授信***、方法和介质 |
CN112837157A (zh) * | 2021-02-10 | 2021-05-25 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法、装置和*** |
CN112989384A (zh) * | 2021-03-26 | 2021-06-18 | 重庆倍来电新能源有限公司 | 一种区块链预言机网络和数据传输方法 |
CN114186281A (zh) * | 2022-02-14 | 2022-03-15 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链预言机的声誉评估***及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10673626B2 (en) * | 2018-03-30 | 2020-06-02 | Spyrus, Inc. | Threshold secret share authentication proof and secure blockchain voting with hardware security modules |
US11303446B2 (en) * | 2020-04-09 | 2022-04-12 | International Business Machines Corporation | Prevention of majority attacks |
CN112100460B (zh) * | 2020-11-06 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 基于区块链的网络页面存证方法、装置、介质及电子设备 |
-
2022
- 2022-08-01 CN CN202210913994.0A patent/CN114969835B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995776A (zh) * | 2019-03-26 | 2019-07-09 | 西安纸贵互联网科技有限公司 | 一种互联网数据验证方法及*** |
CN112532395A (zh) * | 2020-11-26 | 2021-03-19 | 中国船舶工业***工程研究院 | 一种基于区块链的数据授信***、方法和介质 |
CN112837157A (zh) * | 2021-02-10 | 2021-05-25 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法、装置和*** |
CN112989384A (zh) * | 2021-03-26 | 2021-06-18 | 重庆倍来电新能源有限公司 | 一种区块链预言机网络和数据传输方法 |
CN114186281A (zh) * | 2022-02-14 | 2022-03-15 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链预言机的声誉评估***及方法 |
Non-Patent Citations (1)
Title |
---|
智能合约如何可信地与外部世界交互;李赫等;《中国金融电脑》;20170807(第8期);第二-五部分 * |
Also Published As
Publication number | Publication date |
---|---|
CN114969835A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11128468B2 (en) | Decentralized document and entity verification engine | |
US10348505B1 (en) | Systems and techniques for validation of media data | |
US10216923B2 (en) | Dynamically updating CAPTCHA challenges | |
US11165579B2 (en) | Decentralized data authentication | |
CN110784450A (zh) | 一种基于浏览器的单点登录方法和装置 | |
US11362828B2 (en) | Systems and methods for authenticated communication sessions | |
US11997210B2 (en) | Protection of online applications and webpages using a blockchain | |
CN111314172A (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
US20200057871A1 (en) | Apparatuses and methods for signing a legal document | |
CN112202813B (zh) | 网络访问方法及装置 | |
US11968526B2 (en) | Identity management on a mobile device | |
CN114969835B (zh) | 网页信息存证方法及装置 | |
CN112732676A (zh) | 基于区块链的数据迁移方法、装置、设备及存储介质 | |
CN113806810B (zh) | 认证方法、认证***、计算设备以及存储介质 | |
CN118337511A (zh) | 电子单证验真方法、装置及电子设备 | |
CN115664791A (zh) | 基于动态凭证的关联应用认证访问方法及其应用 | |
CN116887246A (zh) | 一种设备开站方法、装置、机器可读介质及设备 | |
CN118054924A (zh) | 用于本机应用的web认证 |
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 |