针对在可信执行环境中执行的可验证性的制作方法

文档序号:29464166发布日期:2022-04-02 02:45阅读:来源:国知局

技术特征:
1.一种第一装置,包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器;其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第一装置:向第二装置传输对任务的执行的请求,所述任务包括要被执行的多个功能;基于所述第二装置的至少一个可信执行环境中的预期执行计划,从所述多个功能的标识信息生成第一验证密钥;从所述第二装置接收针对所述任务的执行结果和第二验证密钥;以及通过比较所述第一验证密钥和所述第二验证密钥来确定所述执行结果的正确性。2.根据权利要求1所述的装置,其中所述预期执行计划至少指示所述多个功能的执行顺序,并且其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第一装置通过以下来生成所述第一验证密钥:按照所述执行顺序生成针对所述多个功能的中间密钥,针对功能的中间密钥至少基于针对在所述执行顺序中所述功能的前序功能的中间密钥来确定;以及基于针对所述多个功能中的最后功能所生成的所述中间密钥,确定所述第一验证密钥。3.根据权利要求2所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第一装置通过以下来生成所述中间密钥:对于所述多个功能中的给定功能,确定在所述执行顺序中针对所述给定功能的前序功能的第一数目和针对所述给定功能的后继功能的第二数目;基于所述第一数目生成针对所述给定功能的验证信息;以及基于所述第二数目和所述验证信息,生成针对所述给定功能的所述中间密钥。4.根据权利要求3所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第一装置通过以下来生成所述验证信息:响应于所述第一数目指示一个前序功能,通过连接针对所述一个前序功能的所述中间密钥和所述给定功能的所述标识信息,来生成所述验证信息。5.根据权利要求3所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第一装置通过以下来生成所述验证信息:响应于所述第一数目指示多个前序功能,通过以下来生成针对所述给定功能的所述验证信息:合并针对所述多个前序功能的所述中间密钥,以获得合并中间密钥,以及连接所述合并中间密钥与所述给定功能的所述标识信息。6.根据权利要求3所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第一装置通过以下生成所述验证信息:响应于所述第一数目指示零个前序功能,通过连接随机数和所述给定功能的所述标识信息来生成所述验证信息,所述随机数也用于所述第二验证密钥的生成。7.根据权利要求6所述的装置,其中所述至少一个存储器和所述计算机程序代码被配
置为与所述至少一个处理器一起还使所述第一装置:通过向所述任务中要被处理的输入数据应用散列函数,来生成所述随机数。8.根据权利要求3所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第一装置通过以下来基于所述第二数目和所述验证信息生成所述中间密钥:响应于所述第二数目指示零个后继功能,通过向所述验证信息应用散列函数,来生成针对所述给定功能的所述中间密钥。9.根据权利要求3所述的装置,其中所述预期执行计划还指示所述多个功能跨所述至少一个可信执行环境的分布,并且其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第一装置通过以下来基于所述第二数目和所述验证信息来生成针对所述给定功能的所述中间密钥:响应于所述第二数目指示至少一个后继功能,基于所述预期执行计划确定所述至少一个后继功能是否在与所述给定功能的可信执行环境不同的可信执行环境中被执行;响应于确定所述至少一个后继功能在与所述给定功能的所述可信执行环境不同的可信执行环境中被执行,通过向所述验证信息应用散列函数来生成针对所述给定功能的所述中间密钥;以及响应于确定所述至少一个后继功能在与所述给定功能的所述可信执行环境相同的可信执行环境中被执行,将所述验证信息确定为针对所述给定功能的所述中间密钥。10.根据权利要求1所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第一装置通过以下来确定所述执行结果的所述正确性:响应于所述第二验证密钥与所述第一验证密钥相同,确定所述执行结果是正确的;以及响应于所述第二验证密钥不同于所述第一验证密钥,确定所述执行结果是不正确的。11.一种第二装置,包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器;其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第二装置:从第一装置接收对任务的执行的请求,所述任务包括要被执行的多个功能;基于执行计划,在至少一个可信执行环境中执行所述多个功能以获得针对所述任务的执行结果;基于所述执行计划,从所述多个功能的标识信息生成第二验证密钥;以及向所述第一装置传输所述执行结果和用于验证所述执行结果的正确性的第二验证密钥。12.根据权利要求11所述的装置,其中所述执行计划至少指示所述多个功能的执行顺序,并且其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第二装置通过以下来生成所述第二验证密钥:
按照所述执行顺序生成针对所述多个功能的中间密钥,针对功能的中间密钥至少基于针对在所述执行顺序中所述功能的前序功能的中间密钥来确定;以及基于针对所述多个功能中的最后功能所生成的所述中间密钥,确定所述第二验证密钥。13.根据权利要求12所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第二装置通过以下来生成针对所述多个功能的所述中间密钥:在所述至少一个可信执行环境内生成针对所述多个功能的所述中间密钥。14.根据权利要求12所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第二装置通过以下来生成所述中间密钥:对于所述多个功能中的给定功能,确定在所述执行顺序中针对所述给定功能的前序功能的第一数目和针对所述给定功能的后继功能的第二数目;基于所述前序功能的所述第一数目,生成针对所述给定功能的验证信息;以及基于所述第二数目和所述验证信息,生成针对所述给定功能的所述中间密钥。15.根据权利要求14所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第二装置通过以下来生成所述验证信息:响应于所述第一数目指示零个前序功能,通过连接随机数和所述给定功能的所述标识信息来生成所述验证信息,所述随机数还由所述第一装置使用以用于第一验证密钥的生成。16.根据权利要求15所述的装置,其中所述随机数是通过向所述任务中要被处理的输入数据应用散列函数来生成的。17.根据权利要求15所述的装置,其中所述预期执行计划还指示所述多个功能跨所述至少一个可信执行环境的分布,并且其中所述至少一个存储器和所述计算机程序代码被配置以与所述至少一个处理器一起使所述第二装置通过以下来生成所述验证信息:响应于所述第一数目指示针对所述给定功能的至少一个前序功能,基于所述执行计划确定所述至少一个前序功能和所述给定功能是否在与所述给定功能的可信执行环境相同的可信执行环境中被执行;以及基于所述第一数目和所述确定的结果,生成所述验证信息。18.根据权利要求17所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第二装置通过以下来基于所述第一数目和所述确定的所述结果来生成所述验证信息:响应于所述第一数目指示一个前序功能并且响应于确定所述前序功能与所述给定功能在相同可信执行环境中被执行,通过连接针对所述前序功能的所述中间密钥与所述给定功能的所述标识信息来生成所述验证信息;以及响应于所述第一数目指示一个前序功能并且响应于确定所述前序功能和所述给定功能在不同可信执行环境中被执行,通过以下来确定所述验证信息:向在所述给定功能被执行的所述可信执行环境中获得的所述前序功能的执行结果应
用散列函数,以获得经散列的结果;基于所述经散列的结果转换针对所述前序功能的所述中间密钥,以及连接经转换的所述中间密钥和所述给定功能的所述标识信息。19.根据权利要求18所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第二装置通过以下来基于所述经散列的结果转换所述前序功能的所述中间密钥:执行针对所述前序功能的所述中间密钥与所述经散列的结果之间的xor运算。20.根据权利要求17所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第二装置通过以下来基于所述第一数目和所述确定的结果生成所述验证信息:响应于所述第一数目指示多个前序功能并且响应于确定所述多个前序功能在与所述给定功能的可信执行环境相同的可信执行环境中被执行,通过以下来生成所述验证信息:合并针对所述多个前序功能的所述中间密钥,以获得合并中间密钥,以及连接所述合并中间密钥和所述给定功能的所述标识信息。21.根据权利要求17所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第二装置通过以下来基于所述第一数目和所述确定的所述结果生成所述验证信息:响应于所述第一数目指示多个前序功能并且响应于确定所述多个前序功能在与所述给定功能的可信执行环境不同的可信执行环境中被执行,通过以下来生成所述验证信息:针对所述多个前序功能中的给定前序功能,向在所述给定功能被执行的可信执行环境中获得的所述前序功能的执行结果应用散列函数,以获得经散列的结果;基于所述经散列的结果转换针对所述给定前序功能的所述中间密钥,以及合并针对所述多个前序功能的经转换的中间密钥,以获得合并中间密钥,以及连接所述合并中间密钥与所述给定功能的所述标识信息。22.根据权利要求17所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第二装置通过以下来基于所述第一数目和所述确定的所述结果生成所述验证信息:响应于所述第一数目指示多个前序功能并且响应于确定所述多个前序功能中的至少一个第一前序功能和所述给定节点在相同可信执行环境中被执行、并且所述多个前序功能中的至少一个第二前序功能在与所述给定功能的可信执行环境不同的可信执行环境中被执行,通过以下来确定所述验证信息:基于在所述给定功能被执行的所述可信执行环境中获得的所述至少一个第二前序功能的执行结果,转换针对所述至少一个第二前序功能的所述中间密钥,合并针对所述至少一个第一前序功能的所述中间密钥和经转换的中间密钥,以获得合并中间密钥,以及连接所述合并中间密钥与所述给定功能的所述标识信息。23.根据权利要求22所述的装置,其中转换针对所述至少一个第二前序功能的所述中间密钥包括:向所述至少一个第二前序功能的所述执行结果应用散列函数,以获得经散列的结果;
以及执行针对所述至少一个第二前序功能的所述中间密钥与所述经散列的结果之间的xor运算,以获得所述经转换的中间密钥。24.根据权利要求14所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第二装置通过以下来基于所述第二数目和所述验证信息生成针对所述给定功能的所述中间密钥:响应于所述第二数目指示零个后继功能,通过向所述验证信息应用散列函数来生成针对所述给定功能的所述中间密钥。25.根据权利要求14所述的装置,其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述第二装置通过以下来基于所述第二数目和所述验证信息生成针对所述给定功能的所述中间密钥:响应于所述第二数目指示至少一个后继功能,基于所述执行计划确定所述至少一个后继功能是否在与所述给定功能的所述可信执行环境不同的可信执行环境中被执行;响应于确定所述至少一个后继功能在与所述给定功能的所述可信执行环境不同的可信执行环境中被执行,基于所述验证信息和所述给定功能的执行结果来确定针对所述给定功能的所述中间密钥;以及响应于确定所述至少一个后继功能在与所述给定功能的所述可信执行环境相同的可信执行环境中被执行,将所述验证信息确定为针对所述给定功能的所述中间密钥。26.根据权利要求23所述的装置,其中基于所述验证信息和所述给定功能的执行结果来确定所述给定功能的所述中间密钥包括:向所述验证信息应用第一散列函数,以获得散列信息;向所述给定功能的所述执行结果应用第二散列函数;以及通过执行所述散列信息与所述经散列的结果之间的xor运算,来确定所述中间密钥。27.一种方法,包括:由第一装置向第二装置传输对任务的执行的请求,所述任务包括要被执行的多个功能;基于所述第二装置的至少一个可信执行环境中的预期执行计划,从所述多个功能的标识信息生成第一验证密钥;从所述第二装置接收针对所述任务的执行结果和第二验证密钥;以及通过比较所述第一验证密钥与所述第二验证密钥来确定所述执行结果的正确性。28.一种方法,包括:由第二装置从第一装置接收对任务的执行的请求,所述任务包括要被执行的多个功能;基于执行计划,在至少一个可信执行环境中执行所述多个功能以获得针对所述任务的执行结果;基于所述执行计划,从所述多个功能的标识信息生成第二验证密钥;以及向所述第一装置传输所述执行结果和用于验证所述执行结果的正确性的所述第二验证密钥。29.一种第一装置,包括:
用于向第二装置传输对任务的执行的请求的部件,所述任务包括要被执行的多个功能;用于基于所述第二装置的至少一个可信执行环境中的预期执行计划从所述多个功能的标识信息生成第一验证密钥的部件;用于从所述第二装置接收针对所述任务的执行结果和第二验证密钥的部件;以及用于通过比较所述第一验证密钥和所述第二验证密钥来确定所述执行结果的正确性的部件。30.一种第二装置,包括:用于从第一装置接收对任务的执行的请求的部件,所述任务包括要被执行的多个功能;用于基于执行计划在至少一个可信执行环境中执行所述多个功能以获得所述任务的执行结果的部件;用于基于所述执行计划从所述多个功能的标识信息生成第二验证密钥的部件;以及用于向所述第一装置传输所述执行结果和用于验证所述执行结果的正确性的所述第二验证密钥的部件。31.一种非瞬态计算机可读介质,包括程序指令,所述程序指令用于使第一装置:向第二装置传输对任务的执行的请求,所述任务包括要被执行的多个功能;基于所述第二装置的至少一个可信执行环境中的预期执行计划,从所述多个功能的标识信息生成第一验证密钥;从所述第二装置接收针对所述任务的执行结果和第二验证密钥;以及通过比较所述第一验证密钥与所述第二验证密钥来确定所述执行结果的正确性。32.一种非瞬态计算机可读介质,包括程序指令,所述程序指令用于使第二装置:从第一装置接收对任务的执行的请求,所述任务包括要被执行的多个功能;基于执行计划在至少一个可信执行环境中执行所述多个功能以获得所述任务的执行结果;基于所述执行计划从所述多个功能的标识信息生成第二验证密钥;以及向所述第一装置传输所述执行结果和用于验证所述执行结果的正确性的所述第二验证密钥。

技术总结
本公开的示例实施例涉及针对在可信执行环境(TEE)中执行的可验证性。根据一种方法,由第一装置向第二装置传输对任务的执行的请求,任务包括要被执行的多个功能。基于第二装置的至少一个可信执行环境中的预期执行计划,从多个功能的标识信息生成第一验证密钥。从第二装置接收针对任务的执行结果和第二验证密钥。通过比较第一验证密钥和第二验证密钥,确定执行结果的正确性。通过该方案,可以提供由远程设备返回的执行结果的正确性的可验证性,并且在安全、信任和隐私方面实现高性能。信任和隐私方面实现高性能。信任和隐私方面实现高性能。


技术研发人员:闫峥 孙暐 丁文秀
受保护的技术使用者:诺基亚技术有限公司
技术研发日:2019.08.19
技术公布日:2022/4/1
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1