当前位置: 首页 > 专利查询>北京大学专利>正文

基于远程证明的接口型数字对象真实性验证方法及装置制造方法及图纸

技术编号:34924075 阅读:52 留言:0更新日期:2022-09-15 07:17
本发明专利技术实施例提供了一种基于远程证明的接口型数字对象真实性验证方法及装置,包括:数据供给端接收数据使用端发送的数据获取请求;响应于数据获取请求,执行数据获取请求所指示的目标数据API,并利用可信测量引擎对目标数据API的可执行文件、执行过程以及执行结果进行测量,得到测量结果;基于测量结果以及可信测量引擎的数据签名,生成数据来源真实性证明报告;向数据使用端返回执行结果和数据来源真实性证明报告。数据使用端接收数据供给端返回的执行结果和证明报告;基于预先计算获取的合法测量结果对证明报告中的相关内容进行验证,以确保数据API的可执行文件、执行过程以及执行结果的完整性,从而保障所获得的共享数据本身的正确性和真实性。据本身的正确性和真实性。据本身的正确性和真实性。

【技术实现步骤摘要】
基于远程证明的接口型数字对象真实性验证方法及装置


[0001]本专利技术属于数据共享
,特别是涉及一种基于远程证明的接口型数字对象真实性验证方法及装置。

技术介绍

[0002]数联网是在“物理/机器”互联网之上的“虚拟/数据”网络,其通过数字对象(Digital Object,DO)模型将互联网中的数据资源通过统一的形式进行建模和描述,从而连接异构数据平台和系统。通过基于数联网的数字对象交换,可以实现对数字对象中数据实体的可信共享。
[0003]接口型数字对象是指数据实体为某个数据接口(即数据API)的访问方式的数字对象。在使用接口型数字对象进行数据共享时,数据使用端需要对其中的数据API进行二次访问才能获得所需的共享数据。由于该数据API的执行响应过程发生在不可信的数据供给端,不受数联网相关机制的保护,其返回的数据结果将可能存在真实性问题,即数据在产生或传递的过程中可能受到篡改。
[0004]对于该问题,现有工作通常采用分布式账本(Distributed Ledger)技术和预言机(Oracle)技术来进行改善。然而,分布式账本技术仅能够保障数据在存储到其中后不被篡改,预言机技术则仅能够保障使用者如实的获取到数据供给端所提供的数据,二者都无法保障数据供给端所提供数据的真实性。也就是说,一旦数据供给端所提供的数据(即数据API的执行结果)本身就是受到了篡改的恶意数据,那么预言机所给出的数据与分布式账本中所存储的数据都将会是该恶意数据。

技术实现思路

[0005]为克服相关技术中存在的问题,本专利技术提供一种基于远程证明的接口型数字对象真实性验证方法及装置。
[0006]第一方面,本专利技术提供了一种基于远程证明的接口型数字对象真实性验证方法,应用于数据供给端,所述方法包括:
[0007]接收数据使用端发送的数据获取请求;
[0008]响应于所述数据获取请求,执行所述数据获取请求所指示的目标数据API,并基于所述目标数据API的可执行文件,利用可信测量引擎对所述目标数据API的可执行文件、执行过程以及执行结果进行测量,得到测量结果;所述目标数据API用于提供所述数据获取请求所请求的共享数据;
[0009]基于所述测量结果以及所述可信测量引擎的数据签名,为所述共享数据生成数据来源真实性证明报告;
[0010]向所述数据使用端返回所述目标数据API的执行结果和所述数据来源真实性证明报告;所述执行结果包括所述共享数据,所述数据使用端基于预先获取的可执行文件合法测量值和执行过程合法测量值集合以及所述数据来源真实性证明报告执行验证操作,以验
证所述共享数据。
[0011]可选的,所述测量结果包括可执行文件测量值、执行过程测量值以及执行结果测量值;所述基于所述目标数据API的可执行文件,利用可信测量引擎对所述目标数据API的可执行文件、执行过程以及执行结果进行测量,得到测量结果,包括:
[0012]基于所述可信测量引擎计算所述目标数据API的可执行文件的哈希值,得到所述可执行文件测量值;
[0013]基于所述可信测量引擎在执行所述目标数据API过程中,计算所述目标数据API中基本块执行序列的累积哈希值,得到所述执行过程测量值;
[0014]基于所述可信测量引擎计算所述执行结果的哈希值,得到所述执行结果测量值。
[0015]可选的,所述基于所述可信测量引擎在执行所述目标数据API过程中,计算所述目标数据API中基本块执行序列的累积哈希值,得到所述执行过程测量值,包括:
[0016]在所述目标数据API的执行过程中,基于所述目标数据API中基本块的执行序列,依次向所述可信测量引擎发送代表所述基本块的唯一基本块ID;所述目标数据API中包含多个所述基本块;
[0017]基于所述可信测量引擎根据所接收到的基本块ID依次更新代表所述基本块的执行序列的累计哈希值,将所述累积哈希值确定为所述执行过程测量值。
[0018]可选的,所述目标数据API的可执行文件的入口处设置有第一插桩代码,所述第一插桩代码用于触发所述可信测量引擎计算所述目标数据API的可执行文件的哈希值;
[0019]所述目标数据API的可执行文件中每个基本块的入口处设置有第二插桩代码,所述第二插桩代码用于触发所述可信测量引擎在执行所述目标数据API过程中,计算所述目标数据API中基本块执行序列的累积哈希值;
[0020]所述目标数据API的可执行文件的出口处设置有第三插桩代码,所述第三插桩代码用于触发所述可信测量引擎所述可信测量引擎计算所述执行结果的哈希值。
[0021]第二方面,本专利技术提供了一种基于远程证明的接口型数字对象真实性验证方法,应用于数据使用端,所述方法包括:
[0022]向数据供给端发送数据获取请求;所述数据获取请求用于请求目标数据API提供的共享数据以及所述共享数据的数据来源真实性证明报告;
[0023]接收所述数据供给端响应于所述数据获取请求返回的所述数据来源真实性证明报告和所述目标数据API的执行结果;所述执行结果包括所述共享数据,所述数据来源真实性证明报告是所述数据供给端基于测量结果以及可信测量引擎的数据签名生成的,所述测量结果是利用所述可信测量引擎对所述目标数据API的可执行文件、执行过程以及执行结果进行测量得到的;
[0024]基于预先获取的可执行文件合法测量值和执行过程合法测量值集合以及所述数据来源真实性证明报告执行验证操作,以验证所述共享数据。
[0025]可选的,所述方法还包括:
[0026]从所述数据供给端处获取所述目标数据API的可执行文件;
[0027]计算所述目标数据API的可执行文件的哈希值,得到所述可执行文件合法测量值;
[0028]计算所述目标数据API的可执行文件中所有合法执行路径的累积哈希值,得到所述执行过程合法测量值集合。
[0029]可选的,所述目标数据API中每个基本块的入口处设置有第四插桩代码,所述第四插桩代码用于提供各所述基本块的基本块ID;所述计算所述目标数据API的可执行文件中所有合法执行路径的累积哈希值,包括:
[0030]对于任一所述合法执行路径,基于所述第四插桩代码依次获取所述可执行文件中属于所述合法执行路径的基本块ID;
[0031]基于依次获取到的所述基本块ID,计算所述合法执行路径的累积哈希值。
[0032]可选的,所述数据来源真实性证明报告包括可执行文件测量值、执行过程测量值以及执行结果测量值,所述验证操作包括数据签名验证操作、可执行文件完整性验证操作、执行过程完整性验证操作以及执行结果完整性验证操作;所述基于预先获取的可执行文件合法测量值和执行过程合法测量值集合以及所述数据来源真实性证明报告执行验证操作,以验证所述共享数据,包括:
[0033]利用生成所述数据签名时使用的私钥所对应的公钥,对所述可信测量引擎的数据签名进行验证,以实现所述数据签名验证操作;
[0034]将所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于远程证明的接口型数字对象真实性验证方法,其特征在于,应用于数据供给端,所述方法包括:接收数据使用端发送的数据获取请求;响应于所述数据获取请求,执行所述数据获取请求所指示的目标数据API,并基于所述目标数据API的可执行文件,利用可信测量引擎对所述目标数据API的可执行文件、执行过程以及执行结果进行测量,得到测量结果;所述目标数据API用于提供所述数据获取请求所请求的共享数据;基于所述测量结果以及所述可信测量引擎的数据签名,为所述共享数据生成数据来源真实性证明报告;向所述数据使用端返回所述目标数据API的执行结果和所述数据来源真实性证明报告;所述执行结果包括所述共享数据,所述数据使用端基于预先获取的可执行文件合法测量值和执行过程合法测量值集合以及所述数据来源真实性证明报告执行验证操作,以验证所述共享数据。2.根据权利要求1所述的方法,其特征在于,所述测量结果包括可执行文件测量值、执行过程测量值以及执行结果测量值;所述基于所述目标数据API的可执行文件,利用可信测量引擎对所述目标数据API的可执行文件、执行过程以及执行结果进行测量,得到测量结果,包括:基于所述可信测量引擎计算所述目标数据API的可执行文件的哈希值,得到所述可执行文件测量值;基于所述可信测量引擎在执行所述目标数据API过程中,计算所述目标数据API中基本块执行序列的累积哈希值,得到所述执行过程测量值;基于所述可信测量引擎计算所述执行结果的哈希值,得到所述执行结果测量值。3.根据权利要求2所述的方法,其特征在于,所述基于所述可信测量引擎在执行所述目标数据API过程中,计算所述目标数据API中基本块执行序列的累积哈希值,得到所述执行过程测量值,包括:在所述目标数据API的执行过程中,基于所述目标数据API中基本块的执行序列,依次向所述可信测量引擎发送代表所述基本块的唯一基本块ID;所述目标数据API中包含多个所述基本块;基于所述可信测量引擎根据所接收到的基本块ID依次更新代表所述基本块的执行序列的累计哈希值,将所述累积哈希值确定为所述执行过程测量值。4.根据权利要求2或3所述的方法,其特征在于,所述目标数据API的可执行文件的入口处设置有第一插桩代码,所述第一插桩代码用于触发所述可信测量引擎计算所述目标数据API的可执行文件的哈希值;所述目标数据API的可执行文件中每个基本块的入口处设置有第二插桩代码,所述第二插桩代码用于触发所述可信测量引擎在执行所述目标数据API过程中,计算所述目标数据API中基本块执行序列的累积哈希值;所述目标数据API的可执行文件的出口处设置有第三插桩代码,所述第三插桩代码用于触发所述可信测量引擎计算所述执行结果的哈希值。5.一种基于远程证明的接口型数字对象真实性验证方法,其特征在于,应用于数据使
用端,所述方法包括:向数据供给端发送数据获取请求;所述数据获取请求用于请求目标数据API提供的共享数据以及所述共享数据的数据来源真实性证明报告;接收所述数据供给端响应于所述数据获取请求返回的所述数据来源真实性证明报告和所述目标数据API的执行结果;所述执行结果包括所述共享数据,所述数据来源真实性证明报告是所述数据供给端基于测量结果以及可信测量引擎的数据签名生成的,所述测量结果是利用所述可信测量引擎对所述目标数据API的可执行文件、执行过程以及执行结果进行测量得到的;基于预先获取的可执行文件合法测量值和执行过程合法测量值集合以及所述数据来源真实性证明报告执行验证操作,以验证所述共享数据。6.根据权利要求5所述的方法...

【专利技术属性】
技术研发人员:刘譞哲马郓黄罡张溯
申请(专利权)人:北京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1