CN114338054A - 区块链可信数据传输、验证和获取方法及装置 - Google Patents
区块链可信数据传输、验证和获取方法及装置 Download PDFInfo
- Publication number
- CN114338054A CN114338054A CN202210261124.XA CN202210261124A CN114338054A CN 114338054 A CN114338054 A CN 114338054A CN 202210261124 A CN202210261124 A CN 202210261124A CN 114338054 A CN114338054 A CN 114338054A
- Authority
- CN
- China
- Prior art keywords
- trusted
- report
- verified
- verification
- target
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种区块链可信数据传输、验证和获取方法及装置,区块链可信数据传输方法包括:获取传感器采集到的目标数据;基于目标数据,生成可信执行环境待验证报告;将可信执行环境待验证报告发送至远程验证服务器,以供远程验证服务器对可信执行环境待验证报告进行验证,并进行签名,得到目标验证报告;在接收到目标验证报告的情况下,将目标验证报告以及目标数据发送给区块链智能合约,以供区块链智能合约在对所述目标验证报告验证通过的情况下对目标数据进行处理。本发明提供的区块链可信数据传输、验证和获取方法及装置,能够保证区块链获取的外部数据是可信的,且数据传输过程是机密和完整的,扩大区块链的应用场景。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链可信数据传输、验证和获取方法及装置。
背景技术
区块链可以在各种现实场景中得到应用,比如金融衍生品交易平台、借贷平台、快递追踪/IoT、保险、预测市场等,目前最主要的场景就是DeFi。区块链是具有确定性和封闭形的系统环境,区块链与现实场景往往是割裂的,如何实现区块链和现实场景的连接成为一个值得关注的问题。
目前,将区块链外的数据与区块链进行传输的方法,比较复杂,且数据不够安全,区块链的数据传输可信度较差,限制区块链的应用场景。
发明内容
本发明提供一种区块链可信数据传输、验证和获取方法及装置,用以解决现有技术中将区块链外的数据与区块链进行传输的方法,比较复杂,且数据不够安全,区块链的数据传输可信度较差,限制区块链的应用场景的缺陷,能够保证区块链获取的外部数据是可信的,且数据传输过程是机密和完整的。
本发明提供一种区块链可信数据传输方法,该区块链可信数据传输方法包括:
获取传感器采集到的目标数据;
基于所述目标数据,生成可信执行环境待验证报告;
将所述可信执行环境待验证报告发送至远程验证服务器,以供所述远程验证服务器对所述可信执行环境待验证报告进行验证,并对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告;
在接收到所述目标验证报告的情况下,将所述目标验证报告以及对应的所述目标数据发送给所述区块链智能合约,以供所述区块链智能合约在对所述目标验证报告验证通过的情况下对所述目标数据进行处理。
根据本发明提供的的区块链可信数据传输方法,所述基于所述目标数据,生成可信执行环境待验证报告,包括:
对所述目标数据进行哈希运算,得到目标哈希值;
基于所述目标哈希值,生成所述可信执行环境待验证报告。
根据本发明提供的的区块链可信数据传输方法,所述可信执行环境待验证报告包括:可信计算基的度量值信息、可信应用的度量值信息和所述传感器的数据信息。
根据本发明提供的的区块链可信数据传输方法,所述响应于所述数据获取请求,获取传感器采集到的目标数据,包括:
响应于所述数据获取请求,在基于信任根证书对所述传感器验证通过的情况下,与所述传感器建立安全通信信道;
基于所述安全通信信道向所述传感器发送数据采集指令;
基于所述安全通信信道接收所述传感器发送的所述目标数据。
本发明还提供一种区块链可信数据验证方法,该区块链可信数据验证方法包括:
接收可信应用发送的可信执行环境待验证报告,所述可信执行环境待验证报告为所述可信应用基于传感器采集到的目标数据生成的;
对所述可信执行环境待验证报告进行验证;
对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告;
将所述目标验证报告发送给可信应用,以供所述可信应用将所述目标验证报告和所述目标数据发送给区块链智能合约,使得所述区块链智能合约在对所述目标验证报告验证通过的情况下对所述目标数据进行处理。
根据本发明提供的区块链可信数据验证方法,所述对所述可信执行环境待验证报告进行验证,包括:
确认所述可信执行环境待验证报告中的设备根公钥预存于远程验证服务器中的可信名单列表中,则对所述可信执行环境待验证报告验证通过;
确认基于所述设备根公钥对所述可信执行环境待验证报告中的可信计算基的度量值信息验证成功,则对所述可信执行环境待验证报告验证通过;
确认基于可信计算基公钥对所述可信执行环境待验证报告中的可信应用的度量值信息验证成功,则对所述可信执行环境待验证报告验证通过;
在对所述设备根公钥、所述可信计算基和所述可信应用均验证通过的情况下,确认对所述可信执行环境验证报告验证通过。
根据本发明提供的区块链可信数据验证方法,所述对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告,包括:
基于RSA算法、ECDSA算法或者ED25519算法,对验证通过的所述可信执行环境待验证报告的哈希值进行签名,得到所述目标验证报告。
本发明还提供一种区块链可信数据获取方法,该区块链可信数据获取方法包括:
向可信应用发送数据获取请求,以供所述可信应用基于传感器采集的目标数据,生成可信执行环境待验证报告,使得远程验证服务器对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告;
接收目标验证报告和目标数据,对所述目标验证报告进行验证;
在对所述目标验证报告验证通过的情况下,确定所述目标数据可信,对所述目标数据进行处理。
本发明还提供一种区块链可信数据传输装置,该区块链可信数据传输装置包括:
获取模块,用于获取传感器采集到的目标数据;
生成模块,用于基于所述目标数据,生成可信执行环境待验证报告;
验证模块,用于将所述可信执行环境待验证报告发送至远程验证服务器,以供所述远程验证服务器对所述可信执行环境待验证报告进行验证,并对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告;
第一发送模块,用于在接收到所述目标验证报告的情况下,将所述目标验证报告以及所述目标数据发送给所述区块链智能合约,以供所述区块链智能合约在对所述目标验证报告验证通过的情况下对所述目标数据进行处理。
本发明还提供一种区块链可信数据验证装置,该区块链可信数据验证装置包括:
第一接收模块,用于接收可信应用发送的可信执行环境待验证报告,所述可信执行环境待验证报告为所述可信应用基于传感器采集到的目标数据生成的;
验证模块,用于对所述可信执行环境待验证报告进行验证;签名模块,用于对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告;
第二发送模块,用于将所述目标验证报告发送给可信应用,以供所述可信应用将所述目标验证报告和所述目标数据发送给区块链智能合约,使得所述区块链智能合约在对所述目标验证报告验证通过的情况下对所述目标数据进行处理。
本发明还提供一种区块链可信数据获取装置,该区块链可信数据获取装置包括:
第三发送模块,用于向可信应用发送数据获取请求,以供所述可信应用基于传感器采集的目标数据,生成可信执行环境待验证报告,使得远程验证服务器对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告;
第二接收模块,用于接收目标验证报告和目标数据,对所述目标验证报告进行验证;
确定模块,用于在对所述目标验证报告验证通过的情况下,确定所述目标数据可信,对所述目标数据进行处理。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述区块链可信数据传输方法、所述区块链可信数据验证方法或者所述区块链可信数据获取方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述区块链可信数据传输方法、所述区块链可信数据验证方法或者所述区块链可信数据获取方法。本发明提供的区块链可信数据传输、验证和获取方法及装置,通过可信应用来获取传感器采集的目标数据,并生成验证报告,利用远程验证服务器对验证报告进行验证,在验证通过的情况下,将验证报告和目标数据发送给区块链智能合约,这样能够能够保证区块链获取的外部数据是可信的,且数据传输过程是机密和完整的。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的区块链可信数据传输方法的流程示意图;
图2是本发明提供的区块链可信数据传输装置的结构示意图;
图3是本发明提供的区块链可信数据验证方法的流程示意图;
图4是本发明提供的区块链可信数据验证装置的结构示意图;
图5是本发明提供的区块链可信数据获取方法的流程示意图;
图6是本发明提供的区块链可信数据获取装置的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1至图7描述本发明的区块链可信数据传输、验证和获取方法及装置。
需要说明的是,预言机(oracle mechanism)指区块链外数据写入区块链内的机制,预言机可以完成区块链与现实世界的数据互通。区块链是一个具有确定性和封闭性特点的系统环境,区块链与现实场景是割裂的。预言机作为区块链与现实场景进行数据交互的桥梁,应用场景非常多,可以说一切需要与链下进行数据交互的场景都需要预言机。比如金融衍生品交易平台、借贷平台、快递追踪/IoT、保险和预测市场等,目前最主要的场景就是DeFi。这些应用场景下,可以应用本发明提供的区块链可信数据传输方法和装置、区块链可信数据验证方法和装置以及区块链可信数据获取方法及装置。
本发明可以由运行在区块链上的智能合约程序、运行在可信执行环境(TEE,Trusted Execution Environment)上的可信应用程序、远程验证服务器和传感器组成,智能合约、远程验证服务器和传感器可以均与可信应用通信连接,智能合约、远程验证服务器和传感器与可信应用的通信方式可以是建立在TLS可信信道上的,这样可以保证可信数据传输的机密性和完整性,智能合约、远程验证服务器和传感器与可信应用之间可以使用HTTPS协议进行通信,智能合约可以通过可信应用、传感器和远程验证服务器来获取到现实场景中数据,也就是实现区块链外的现实场景中数据的上链过程。如图1所示,本发明提供一种区块链可信数据传输方法,该区块链可信数据传输方法由可信应用执行,该区块链可信数据传输方法可以包括如下步骤110至步骤140。
步骤110、获取传感器采集到的目标数据。
可以理解的是,智能合约可以向可信应用发送数据获取请求,也就是智能合约想要获取现实场景中的数据,可信应用可以接收到该数据获取请求。
值得一提的是,可信执行环境是计算平台上由软硬件方法构建的一个安全区域,可保证在安全区域内部加载的代码和数据在机密性和完整性方面得到保护。其目标是确保一个任务按照预期执行,保证初始状态的机密性、完整性,以及运行时状态的机密性和完整性。Keystone Enclave是一个开源项目,用于为各种平台和用例构建基于RISC-V的可定制可信执行环境。此处可信应用就运行在可信执行环境TEE上。
可信应用在接收到智能合约的数据获取请求之后,可以响应于数据获取请求,从与可信应用通信连接的传感器处获取到目标数据,目标数据可以是传感器从现实场景中采集到的真实数据,比如温度数据、湿度数据、含氧量数据、GPS数据、物流数据和汇率数据等相关数据。
步骤120、基于目标数据,生成可信执行环境待验证报告。
可以理解的是,可信应用可以根据目标数据,来生成可信执行环境待验证报告,可信执行环境待验证报告可以用于对目标数据进行验证,可以用于验证目标数据是否可信。
在一些实施例中,可信执行环境待验证报告包括:可信计算基的度量值信息、可信应用的度量值信息和传感器的数据信息。
可信计算基的度量值信息可以是使用哈希算法(比如sha3)对可信计算基程序计算的结果,传感器的数据信息指的是获取到目标数据的传感器本身的物理参数以及目标数据的格式等参数。
步骤130、将可信执行环境待验证报告发送至远程验证服务器,以供远程验证服务器对可信执行环境待验证报告进行验证,对验证通过的可信执行环境待验证报告进行签名,作为目标验证报告。
可以理解的是,可信应用可以将可信执行环境待验证报告发送给远程验证服务器,远程验证服务器可以对可信执行环境待验证报告进行验证,也就是验证目标数据是否可信。
值得一提的是,远程验证服务器可以接收可信应用发送的可信执行环境待验证报告;确认可信执行环境待验证报告中的设备根公钥预存于远程验证服务器中的可信名单列表中,则对可信执行环境待验证报告验证通过;确认基于设备根公钥对可信执行环境待验证报告中的可信计算基的度量值信息验证成功,则对可信执行环境待验证报告验证通过;确认基于可信计算基公钥对可信执行环境待验证报告中的可信应用的度量值信息验证成功,则对可信执行环境待验证报告验证通过;对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告。
可以理解的是,远程验证服务器的验证方式之一可以为:检查可信执行环境待验证报告中的设备根公钥是否存在于可信名单列表中,如果存在,则确定设备根公钥验证通过,也就是硬件平台可信,如果不存在,则确定设备根公钥验证不通过。
值得一提的是,运行可信应用的设备含有一个非对称密钥对,非对称密钥对包括设备根私钥和设备根公钥,可信执行环境待验证报告中必须包含该设备根公钥。
远程验证服务器的验证方式之二可以为:对可执行环境验证报告中的可信计算基(SM,Security Monitor)进行验证,可以使用设备根公钥对可信执行环境待验证报告中的可信计算基的度量值信息进行验证,如果验证成功,则确定可信计算基验证通过,也就是可信计算基是可信的,如果验证失败,则确定可信执行环境待验证报告验证不通过,也就是可信计算基是不可信的。
远程验证服务器的验证方式之三可以为:使用可信计算基公钥对可信执行环境待验证报告中的可信应用的度量值信息进行验证,如果验证成功,则对可信应用验证通过,也就是可信应用是可信的,如果验证失败,则对可信应用不通过,也就是可信应用是不可信的。
值得一提的是,可信计算基的非对称密钥对是从设备根密钥和可信计算基的度量值派生出来的,可信计算基的非对称密钥可以包括可信计算基公钥和可信计算基私钥。
在对所述设备根公钥、所述可信计算基和所述可信应用均验证通过的情况下,确认对所述可信执行环境验证报告验证通过。换言之,以上三种方式,可以在远程验证服务器中同时适用,也就是需要三种验证方式均通过,才可以给可信执行环境待验证报告签名。
当然,还可以利用可信执行环境待验证报告中的传感器的数据信息来对可信执行环境待验证报告进行验证,比如验证传感器的数据格式是否和预存的格式规则相匹配,如果匹配,则验证通过。
远程验证服务器对验证通过的可信执行环境待验证报告进行签名。作为目标验证报告,并将该目标验证报告发送给可信应用。
步骤140、在接收到目标验证报告的情况下,将目标验证报告以及目标数据发送给区块链智能合约,以供区块链智能合约在对目标验证报告验证通过的情况下对目标数据进行处理。
可以理解的是,当可信应用在接收到目标验证报告之后,可信应用可以将目标验证报告和目标验证报告对应的目标数据发送给区块链智能合约,这样就实现了区块链智能合约对链外可信数据的获取过程。
区块链智能合约在获取到目标数据之后,可以使用远程验证服务器公开的公钥来验证目标验证报告的数据和签名,如果验证通过,则认为可信执行环境是可信的,采集到的目标数据也是可信的,可以用于后续的业务逻辑处理,区块链智能合约可以对目标数据进行进行处理,其中,远程验证服务器公开的公钥可以是不同的可信执行环境的设备根私钥所对应的设备根公钥。
值得一提的是,智能合约、远程验证服务器以及可信应用所应用的硬件方案可以是基于RISCV指令集的CPU。软件环境可以是基于开源项目定制的,且可以添加TLS安全信道,支持国密算法。智能合约、远程验证服务器以及可信应用之间的通信信道可以都是建立在TLS之上的安全信道。智能合约、远程验证服务器以及可信应用所组成的系统在成功部署后,各个模块之间的数据流动都是无人为干扰的,这样可以进一步增加数据可信度。本发明提供的区块链可信数据传输方法,通过可信应用来获取传感器采集的目标数据,并生成验证报告,利用远程验证服务器对验证报告进行验证,在验证通过的情况下,将验证报告和目标数据发送给区块链智能合约,这样能够保证区块链获取的外部数据是可信的,且数据传输过程是机密和完整的。
在一些实施例中,上述步骤120、基于目标数据,生成可信执行环境待验证报告,包括:对目标数据进行哈希运算,得到目标哈希值;基于目标哈希值,生成可信执行环境待验证报告。
可以理解的是,可信应用在获得传感器采集到的目标数据后,可以对目标数据进行哈希运算,得到目标哈希值,并将这个目标哈希值作为自定义数据生成可信应用的可信执行环境待验证报告,通过哈希运算得到的可信执行环境待验证报告具有不容易被篡改的特点,能够提高可信执行环境待验证报告的安全性。
在一些实施例中,上述步骤110、获取传感器采集到的目标数据,包括:在基于信任根证书对传感器验证通过的情况下,与传感器建立安全通信信道;基于安全通信信道向传感器发送数据采集指令;基于安全通信信道接收传感器发送的目标数据。
可以理解的是,当可信应用接收到数据获取请求后,可以对数据获取请求进行响应,通过信任根证书对传感器进行验证,如果验证通过,则与传感器建立安全通信信道,通过安全通信信道向传感器发送数据采集指令,当传感器接收到数据采集指令后,传感器可以通过安全通信信道向可信应用发送目标数据。
下面对本发明提供的区块链可信数据传输装置进行描述,下文描述的区块链可信数据传输装置与上文描述的区块链可信数据传输方法可相互对应参照。
如图2所示,本发明还提供一种区块链可信数据传输装置,包括:获取模块210、生成模块220、验证模块230和第一发送模块240。
获取模块210,用获取传感器采集到的目标数据。
生成模块220,用于基于目标数据,生成可信执行环境待验证报告。
验证模块230,用于将可信执行环境待验证报告发送至远程验证服务器,以供远程验证服务器对可信执行环境待验证报告进行验证,并对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告。
第一发送模块240,用于在接收到目标验证报告的情况下,将目标验证报告以及目标数据发送给区块链智能合约,以供区块链智能合约在对目标验证报告验证通过的情况下对目标数据进行处理。
如图3所示,本发明还提供一种区块链可信数据验证方法,该区块链可信数据验证方法的执行主体为远程验证服务器,该区块链可信数据验证方法可以包括如下步骤310至步骤340。
步骤310、接收可信应用发送的可信执行环境待验证报告,可信执行环境待验证报告为可信应用基于传感器采集到的目标数据生成的。
可以理解的是,可信应用在接收到智能合约的数据获取请求之后,可以响应于数据获取请求,从与可信应用通信连接的传感器处获取到目标数据。可信应用可以根据目标数据,来生成可信执行环境待验证报告。可信应用可以将可信执行环境待验证报告发送给远程验证服务器,远程验证服务器可以在接收可信执行环境待验证报告之后,对可信执行环境待验证报告进行验证,也就是验证目标数据是否可信。
步骤320、对可信执行环境待验证报告进行验证。
可以理解的是,远程验证服务器在接收到可信执行环境待验证报告之后,可以对可信执行环境待验证报告进行验证,也就是通过对可信执行环境待验证报告的验证,来确认目标数据是否可信,具体可以采用可信执行环境待验证报告中的相关数据和远程验证服务器中预存的数据来进行对比,具体的验证过程此处不具体限定。
在一些实施例中,对可信执行环境待验证报告进行验证可以包括:确认可信执行环境待验证报告中的设备根公钥预存于可信名单列表中,则对可信执行环境待验证报告验证通过。
可以理解的是,远程验证服务器的验证方式之一可以为:检查可信执行环境待验证报告中的设备根公钥是否存在于可信名单列表中,如果存在,则确定设备根公钥验证通过,也就是硬件平台可信,如果不存在,则确定设备根公钥验证不通过。
值得一提的是,运行可信应用的设备含有一个非对称密钥对,非对称密钥对包括设备根私钥和设备根公钥,可信执行环境待验证报告中必须包含该设备根公钥。
确认基于设备根公钥对可信执行环境待验证报告中的可信计算基的度量值信息验证成功,则对可信计算基验证通过。
可以理解的是,远程验证服务器的验证方式之二可以为:对可执行环境验证报告中的可信计算基(SM,Security Monitor)进行验证,可以使用设备根公钥对可信执行环境待验证报告中的可信计算基的度量值信息进行验证,如果验证成功,则确定可信计算基验证通过,也就是可信计算基是可信的,如果验证失败,则确定可信执行环境待验证报告验证不通过,也就是可信计算基是不可信的。
确认基于可信计算基公钥对可信执行环境待验证报告中的可信应用的度量值信息验证成功,则对可信应用验证通过。
可以理解的是,远程验证服务器的验证方式之三可以为:使用可信计算基公钥对可信执行环境待验证报告中的可信应用的度量值信息进行验证,如果验证成功,则对可信应用验证通过,也就是可信应用是可信的,如果验证失败,则对可信应用不通过,也就是可信应用是不可信的。
值得一提的是,可信计算基的非对称密钥对是从设备根密钥和可信计算基的度量值派生出来的,可信计算基的非对称密钥可以包括可信计算基公钥和可信计算基私钥。
在对所述设备根公钥、所述可信计算基和所述可信应用均验证通过的情况下,确认对所述可信执行环境验证报告验证通过。
步骤330、对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告。
可以理解的是,以上三种验证方式,可以在远程验证服务器中同时适用,也就是需要三种验证方式均通过,才可以给可信执行环境待验证报告签名。
远程验证服务器对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告。
步骤340、将目标验证报告发送给可信应用,以供可信应用将目标验证报告和目标数据发送给区块链智能合约,使得区块链智能合约在对目标验证报告验证通过的情况下对目标数据进行处理。
可以理解的是,远程验证服务器在得到了目标验证报告后,可以将该目标验证报告发送给可信应用。当可信应用在接收到目标验证报告之后,可信应用可以将目标验证报告和目标验证报告对应的目标数据发送给区块链智能合约,这样就实现了区块链智能合约对链外可信数据的获取过程。
区块链智能合约在获取到目标数据之后,可以使用远程验证服务器公开的公钥来验证目标验证报告的数据和签名,如果验证通过,则认为可信执行环境是可信的,采集到的目标数据也是可信的,可以用于后续的业务逻辑处理,区块链智能合约可以对目标数据进行进行处理,比如可以进行上链存储。
本发明提供的区块链可信数据验证方法,通过可信应用来获取传感器采集的目标数据,并生成验证报告,利用远程验证服务器对验证报告进行多种方式的验证,在验证通过的情况下,将验证报告和目标数据发送给区块链智能合约,这样能够实现区块链外的数据简单方便地上链,提高区块链数据传输的可信度,扩大区块链的应用场景。
在一些实施例中,上述步骤250、对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告,包括:基于RSA算法、ECDSA算法或者ED25519算法,对验证通过的可信执行环境待验证报告的哈希值进行签名,得到目标验证报告。
可以理解的是,在可信执行环境待验证报告被验证通过之后,可以利用RSA算法、ECDSA算法或者ED25519算法来对目标哈希值进行签名,目标哈希值为可信执行环境待验证报告的哈希值,从而能够得到目标验证报告,采用RSA算法、ECDSA算法或者ED25519算法,能够避免签名被篡改,提高签名的安全性。
下面对本发明提供的区块链可信数据验证装置进行描述,下文描述的区块链可信数据验证装置与上文描述的区块链可信数据验证方法可相互对应参照。
如图4所示,本发明还提供一种区块链可信数据验证装置,区块链可信数据验证装置包括:第一接收模块410、验证模块420、签名模块430和第二发送模块440。
第一接收模块410,用于接收可信应用发送的可信执行环境待验证报告,所述可信执行环境待验证报告为所述可信应用基于传感器采集到的目标数据生成的。
验证模块420,用于对所述可信执行环境待验证报告进行验证;
签名模块430,用于对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告。
第二发送模块440,用于将所述目标验证报告发送给可信应用,以供所述可信应用将所述目标验证报告和所述目标数据发送给区块链智能合约,使得所述区块链智能合约在对目标验证报告验证通过的情况下对所述目标数据进行处理。
如图5所示,本发明还提供一种区块链可信数据获取方法,该区块链可信数据获取方法包括如下步骤510至步骤530。
步骤510、向可信应用发送数据获取请求,以供可信应用基于传感器采集的目标数据,生成可信执行环境待验证报告,使得远程验证服务器对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告。
可以理解的是,智能合约可以向可信应用发送数据获取请求,也就是智能合约想要获取现实场景中的数据,可信应用可以接收到该数据获取请求。可信应用在接收到智能合约的数据获取请求之后,可以响应于数据获取请求,从与可信应用通信连接的传感器处获取到目标数据。可信应用可以根据目标数据,来生成可信执行环境待验证报告,可信执行环境待验证报告可以用于对目标数据进行验证,可以用于验证目标数据是否可信。
步骤520、接收目标验证报告和目标数据,对目标验证报告进行验证。
可以理解的是,可信应用可以将可信执行环境待验证报告发送给远程验证服务器,远程验证服务器可以对可信执行环境待验证报告进行验证,也就是验证目标数据是否可信。远程验证服务器对验证通过的可信执行环境待验证报告进行签名。作为目标验证报告,并将该目标验证报告发送给可信应用。当可信应用在接收到目标验证报告之后,可信应用可以将目标验证报告和目标验证报告对应的目标数据发送给区块链智能合约。
区块链智能合约在获取到目标数据之后,可以使用远程验证服务器公开的公钥来验证目标验证报告的数据和签名。远程验证服务器公开的公钥存储于区块链智能合约自身,可以用于验证这个远程验证服务器是否可信,如果远程验证服务器可信,则目标验证报告是可信的。
步骤530、在对目标验证报告验证通过的情况下,确定目标数据可信,对目标数据进行处理。
可以理解的是,如果验证通过,则认为可信执行环境是可信的,采集到的目标数据也是可信的,可以用于后续的业务逻辑处理,可以对目标数据进行进行处理。其中,远程验证服务器公开的公钥可以是不同的可信执行环境的设备根私钥所对应的设备根公钥。
本发明提供的区块链可信数据获取方法,通过可信应用来获取传感器采集的目标数据,并生成验证报告,利用远程验证服务器对验证报告进行验证,在验证通过的情况下,将验证报告和目标数据发送给区块链智能合约,这样能够实现区块链外的数据简单方便地上链,提高区块链数据传输的可信度,扩大区块链的应用场景。
下面对本发明提供的区块链可信数据获取装置进行描述,下文描述的区块链可信数据获取装置与上文描述的区块链可信数据获取方法可相互对应参照。
如图6所示,本发明还提供一种区块链可信数据获取装置,该区块链可信数据获取装置包括:第三发送模块610、第二接收模块620和确定模块630。
第三发送模块610,用于向可信应用发送数据获取请求,以供可信应用基于传感器采集的目标数据,生成可信执行环境待验证报告,使得远程验证服务器对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告。
第二接收模块620,用于接收目标验证报告和目标数据,对目标验证报告进行验证。
确定模块630,用于在对目标验证报告验证通过的情况下,确定目标数据可信,对目标数据进行处理。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行区块链可信数据传输方法,该区块链可信数据传输方法包括:获取传感器采集到的目标数据;基于目标数据,生成可信执行环境待验证报告;将可信执行环境待验证报告发送至远程验证服务器,以供远程验证服务器对可信执行环境待验证报告进行验证,并对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告;在接收到目标验证报告的情况下,将目标验证报告以及目标数据发送给区块链智能合约,以供区块链智能合约在对目标验证报告验证通过的情况下对目标数据进行处理。
或者还可以执行区块链可信数据验证方法,该区块链可信数据验证方法包括:接收可信应用发送的可信执行环境待验证报告,可信执行环境待验证报告为可信应用基于传感器采集到的目标数据生成的;对可信执行环境待验证报告进行验证;对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告;将目标验证报告发送给可信应用,以供可信应用将目标验证报告和目标数据发送给区块链智能合约,使得区块链智能合约在对目标验证报告验证通过的情况下对目标数据进行处理。
或者还可以执行区块链可信数据获取方法,该区块链可信数据获取方法包括:向可信应用发送数据获取请求,以供可信应用基于传感器采集的目标数据,生成可信执行环境待验证报告,使得远程验证服务器对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告;接收目标验证报告和目标数据,对目标验证报告进行验证;在对目标验证报告验证通过的情况下,确定目标数据可信,对目标数据进行处理。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的区块链可信数据传输方法,该区块链可信数据传输方法包括:获取传感器采集到的目标数据;基于目标数据,生成可信执行环境待验证报告;将可信执行环境待验证报告发送至远程验证服务器,以供远程验证服务器对可信执行环境待验证报告进行验证,并对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告;在接收到目标验证报告的情况下,将目标验证报告以及目标数据发送给区块链智能合约,以供区块链智能合约在对目标验证报告验证通过的情况下对目标数据进行处理。
或者还可以执行区块链可信数据验证方法,该区块链可信数据验证方法包括:接收可信应用发送的可信执行环境待验证报告,可信执行环境待验证报告为可信应用基于传感器采集到的目标数据生成的;对可信执行环境待验证报告进行验证;对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告;将目标验证报告发送给可信应用,以供可信应用将目标验证报告和目标数据发送给区块链智能合约,使得区块链智能合约在对目标验证报告验证通过的情况下对目标数据进行处理。
或者还可以执行区块链可信数据获取方法,该区块链可信数据获取方法包括:向可信应用发送数据获取请求,以供可信应用基于传感器采集的目标数据,生成可信执行环境待验证报告,使得远程验证服务器对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告;接收目标验证报告和目标数据,对目标验证报告进行验证;在对目标验证报告验证通过的情况下,确定目标数据可信,对目标数据进行处理。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的区块链可信数据传输方法,该区块链可信数据传输方法包括:获取传感器采集到的目标数据;基于目标数据,生成可信执行环境待验证报告;将可信执行环境待验证报告发送至远程验证服务器,以供远程验证服务器对可信执行环境待验证报告进行验证,并对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告;在接收到目标验证报告的情况下,将目标验证报告以及目标数据发送给区块链智能合约,以供区块链智能合约在对目标验证报告验证通过的情况下对目标数据进行处理。
或者还可以执行区块链可信数据验证方法,该区块链可信数据验证方法包括:接收可信应用发送的可信执行环境待验证报告,可信执行环境待验证报告为可信应用基于传感器采集到的目标数据生成的;对可信执行环境待验证报告进行验证;对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告;将目标验证报告发送给可信应用,以供可信应用将目标验证报告和目标数据发送给区块链智能合约,使得区块链智能合约在对目标验证报告验证通过的情况下对目标数据进行处理。
或者还可以执行区块链可信数据获取方法,该区块链可信数据获取方法包括:向可信应用发送数据获取请求,以供可信应用基于传感器采集的目标数据,生成可信执行环境待验证报告,使得远程验证服务器对验证通过的可信执行环境待验证报告进行签名,得到目标验证报告;接收目标验证报告和目标数据,对目标验证报告进行验证;在对目标验证报告验证通过的情况下,确定目标数据可信,对目标数据进行处理。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (13)
1.一种区块链可信数据传输方法,其特征在于,包括:
获取传感器采集到的目标数据;
基于所述目标数据,生成可信执行环境待验证报告;
将所述可信执行环境待验证报告发送至远程验证服务器,以供所述远程验证服务器对所述可信执行环境待验证报告进行验证,并对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告;
在接收到所述目标验证报告的情况下,将所述目标验证报告以及所述目标数据发送给所述区块链智能合约,以供所述区块链智能合约在对所述目标验证报告验证通过的情况下对所述目标数据进行处理。
2.根据权利要求1所述的区块链可信数据传输方法,其特征在于,所述基于所述目标数据,生成可信执行环境待验证报告,包括:
对所述目标数据进行哈希运算,得到目标哈希值;
基于所述目标哈希值,生成所述可信执行环境待验证报告。
3.根据权利要求1所述的区块链可信数据传输方法,其特征在于,所述可信执行环境待验证报告包括:可信计算基的度量值信息、可信应用的度量值信息和所述传感器的数据信息。
4.根据权利要求1所述的区块链可信数据传输方法,其特征在于,所述获取传感器采集到的目标数据,包括:
在基于信任根证书对所述传感器验证通过的情况下,与所述传感器建立安全通信信道;
基于所述安全通信信道向所述传感器发送数据采集指令;
基于所述安全通信信道接收所述传感器发送的所述目标数据。
5.一种区块链可信数据验证方法,其特征在于,包括:
接收可信应用发送的可信执行环境待验证报告,所述可信执行环境待验证报告为所述可信应用基于传感器采集到的目标数据生成的;
对所述可信执行环境待验证报告进行验证;
对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告;
将所述目标验证报告发送给可信应用,以供所述可信应用将所述目标验证报告和所述目标数据发送给区块链智能合约,使得所述区块链智能合约在对所述目标验证报告验证通过的情况下对所述目标数据进行处理。
6.根据权利要求5所述的区块链可信数据验证方法,其特征在于,所述对所述可信执行环境待验证报告进行验证,包括:
确认所述可信执行环境待验证报告中的设备根公钥预存于远程验证服务器中的可信名单列表中,对所述设备根公钥验证通过;
确认基于所述设备根公钥对所述可信执行环境待验证报告中的可信计算基的度量值信息验证成功,对所述可信计算基验证通过;
确认基于可信计算基公钥对所述可信执行环境待验证报告中的可信应用的度量值信息验证成功,对所述可信应用验证通过;
在对所述设备根公钥、所述可信计算基和所述可信应用均验证通过的情况下,确认对所述可信执行环境验证报告验证通过。
7.根据权利要求5所述的区块链可信数据验证方法,其特征在于,所述对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告,包括:
基于RSA算法、ECDSA算法或者ED25519算法,对验证通过的所述可信执行环境待验证报告的哈希值进行签名,得到所述目标验证报告。
8.一种区块链可信数据获取方法,其特征在于,包括:
向可信应用发送数据获取请求,以供所述可信应用基于传感器采集的目标数据,生成可信执行环境待验证报告,使得远程验证服务器对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告;
接收目标验证报告和目标数据,对所述目标验证报告进行验证;
在对所述目标验证报告验证通过的情况下,确定所述目标数据可信,对所述目标数据进行处理。
9.一种区块链可信数据传输装置,其特征在于,包括:
获取模块,用于获取传感器采集到的目标数据;
生成模块,用于基于所述目标数据,生成可信执行环境待验证报告;
验证模块,用于将所述可信执行环境待验证报告发送至远程验证服务器,以供所述远程验证服务器对所述可信执行环境待验证报告进行验证,并对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告;
第一发送模块,用于在接收到所述目标验证报告的情况下,将所述目标验证报告以及所述目标数据发送给所述区块链智能合约,以供所述区块链智能合约在对所述目标验证报告验证通过的情况下对所述目标数据进行处理。
10.一种区块链可信数据验证装置,其特征在于,包括:
第一接收模块,用于接收可信应用发送的可信执行环境待验证报告,所述可信执行环境待验证报告为所述可信应用基于传感器采集到的目标数据生成的;
验证模块,用于对所述可信执行环境待验证报告进行验证;签名模块,用于对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告;
第二发送模块,用于将所述目标验证报告发送给可信应用,以供所述可信应用将所述目标验证报告和所述目标数据发送给区块链智能合约,使得所述区块链智能合约在对所述目标验证报告验证通过的情况下对所述目标数据进行处理。
11.一种区块链可信数据获取装置,其特征在于,包括:
第三发送模块,用于向可信应用发送数据获取请求,以供所述可信应用基于传感器采集的目标数据,生成可信执行环境待验证报告,使得远程验证服务器对验证通过的所述可信执行环境待验证报告进行签名,得到目标验证报告;
第二接收模块,用于接收目标验证报告和目标数据,对所述目标验证报告进行验证;
确定模块,用于在对所述目标验证报告验证通过的情况下,确定所述目标数据可信,对所述目标数据进行处理。
12.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述区块链可信数据传输方法,或者实现如权利要求5至7所述区块链可信数据验证方法,或者实现如权利要求8所述区块链可信数据获取方法。
13.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述区块链可信数据传输方法,或者实现如权利要求5至7所述区块链可信数据验证方法,或者实现如权利要求8所述区块链可信数据获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210261124.XA CN114338054B (zh) | 2022-03-17 | 2022-03-17 | 区块链可信数据传输、验证和获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210261124.XA CN114338054B (zh) | 2022-03-17 | 2022-03-17 | 区块链可信数据传输、验证和获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114338054A true CN114338054A (zh) | 2022-04-12 |
CN114338054B CN114338054B (zh) | 2022-06-07 |
Family
ID=81033932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210261124.XA Active CN114338054B (zh) | 2022-03-17 | 2022-03-17 | 区块链可信数据传输、验证和获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338054B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550060A (zh) * | 2022-11-22 | 2022-12-30 | 中国信息通信研究院 | 基于区块链的可信证书验证方法、装置、设备和介质 |
WO2024007860A1 (zh) * | 2022-07-08 | 2024-01-11 | 腾讯科技(深圳)有限公司 | 基于区块链的数据检测方法、装置、设备、存储介质及程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169765A (zh) * | 2017-05-11 | 2017-09-15 | 电子科技大学 | 一种基于业务信任度对区块链共识进行动态调整的方法 |
CN108200028A (zh) * | 2017-12-27 | 2018-06-22 | 飞天诚信科技股份有限公司 | 一种区块链安全获取服务器可信数据的方法及系统 |
US20190306148A1 (en) * | 2018-03-30 | 2019-10-03 | Coinplug, Inc. | Method for oauth service through blockchain network, and terminal and server using the same |
CN111090888A (zh) * | 2020-03-18 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 验证合约的方法及装置 |
CN112948886A (zh) * | 2021-03-26 | 2021-06-11 | 重庆倍来电新能源有限公司 | 一种基于区块链提高数据传输安全性的方法 |
CN113221166A (zh) * | 2021-05-11 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 一种获取区块链数据的方法、装置、电子设备及存储介质 |
US20210328791A1 (en) * | 2020-07-08 | 2021-10-21 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain data processing methods and apparatuses based on cloud computing |
-
2022
- 2022-03-17 CN CN202210261124.XA patent/CN114338054B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169765A (zh) * | 2017-05-11 | 2017-09-15 | 电子科技大学 | 一种基于业务信任度对区块链共识进行动态调整的方法 |
CN108200028A (zh) * | 2017-12-27 | 2018-06-22 | 飞天诚信科技股份有限公司 | 一种区块链安全获取服务器可信数据的方法及系统 |
US20190306148A1 (en) * | 2018-03-30 | 2019-10-03 | Coinplug, Inc. | Method for oauth service through blockchain network, and terminal and server using the same |
CN111090888A (zh) * | 2020-03-18 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 验证合约的方法及装置 |
US20210328791A1 (en) * | 2020-07-08 | 2021-10-21 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain data processing methods and apparatuses based on cloud computing |
CN112948886A (zh) * | 2021-03-26 | 2021-06-11 | 重庆倍来电新能源有限公司 | 一种基于区块链提高数据传输安全性的方法 |
CN113221166A (zh) * | 2021-05-11 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 一种获取区块链数据的方法、装置、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024007860A1 (zh) * | 2022-07-08 | 2024-01-11 | 腾讯科技(深圳)有限公司 | 基于区块链的数据检测方法、装置、设备、存储介质及程序产品 |
CN115550060A (zh) * | 2022-11-22 | 2022-12-30 | 中国信息通信研究院 | 基于区块链的可信证书验证方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114338054B (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10790976B1 (en) | System and method of blockchain wallet recovery | |
US10009178B2 (en) | Methods and systems for managing network activity using biometrics | |
US11258792B2 (en) | Method, device, system for authenticating an accessing terminal by server, server and computer readable storage medium | |
CN114338054B (zh) | 区块链可信数据传输、验证和获取方法及装置 | |
US20190165947A1 (en) | Signatures for near field communications | |
KR101744747B1 (ko) | 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법 | |
CN111130798B (zh) | 一种请求鉴权方法及相关设备 | |
US20180167674A1 (en) | System and method for trusted presentation of information on untrusted user devices | |
US20210241270A1 (en) | System and method of blockchain transaction verification | |
CN110716728B (zh) | Fpga逻辑的可信更新方法及装置 | |
CN111130800A (zh) | 一种基于tee的可信预言机实现方法及装置 | |
CN111222160A (zh) | 一种智能合约执行方法及系统 | |
CN111585995B (zh) | 安全风控信息传输、处理方法、装置、计算机设备及存储介质 | |
CN113569263A (zh) | 跨私域数据的安全处理方法、装置及电子设备 | |
CN110166471A (zh) | 一种Portal认证方法及装置 | |
CN107026729B (zh) | 用于传输软件的方法和装置 | |
CN116881936A (zh) | 可信计算方法及相关设备 | |
CN114172923B (zh) | 数据传输方法、通信系统及通信装置 | |
CN115549984A (zh) | 跨链交易方法、装置、设备和存储介质 | |
CN111651740B (zh) | 一种面向分布式智能嵌入式系统的可信平台共享系统 | |
CN114065170A (zh) | 平台身份证书的获取方法、装置和服务器 | |
CN115935379A (zh) | 业务处理方法、装置、设备及计算机可读存储介质 | |
CN112862483B (zh) | 一种基于智能合约的身份验证方法和装置 | |
CN108667762B (zh) | 操作认证方法和装置 | |
CN118101313A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |