CN116204914A - 一种可信隐私计算方法、装置、设备及存储介质 - Google Patents
一种可信隐私计算方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116204914A CN116204914A CN202211581429.5A CN202211581429A CN116204914A CN 116204914 A CN116204914 A CN 116204914A CN 202211581429 A CN202211581429 A CN 202211581429A CN 116204914 A CN116204914 A CN 116204914A
- Authority
- CN
- China
- Prior art keywords
- trusted
- environment
- trusted execution
- execution environment
- local
- 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.)
- Pending
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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种可信隐私计算方法、装置、设备及存储介质,涉及信息安全技术领域,包括:生成隐私计算任务,并将所述隐私计算任务发送至若干外部节点以通知其他外部节点均利用各自预先配置的认证模块对自身可信执行环境进行本地可信认证操作;利用本地预先配置的认证模块对自身可信执行环境进行本地可信认证操作;执行本地分布式环境互认证操作,并在本地分布式环境互认证操作成功后,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作;本申请通过节点自身的认证模块完成可信执行环境的远程认证,实现去中心化异构可信执行环境的自认证和互认证操作。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种可信隐私计算方法、装置、设备及存储介质。
背景技术
在数字化社会的发展过程中,基于大数据技术和数据智能衍生出的各类产品和服务已经广泛地影响到商业和生活,随着各类算法的迭代发展,对于数据维度和数据量的要求也在日益增加,单个机构仅仅使用自身业务产生的数据已经不足以支撑这些场景的需求,因此联合多方数据进行联合分析建模已经成为一个重要趋势。由于大数据分析难以避免会涉及到企业的用户数据和经营数据,在多方数据联合和协作的过程中,各方都希望输入的原始数据中的这些隐私信息能够得到充分保护,而最终输出的结果仅包括通过算法计算得到的不包含具体数据的分析结果或模型,即实现数据的“可用而不可见”。
目前,可以通过分布式部署在多个机构间的TEE节点网络,实现数据的联合计算。然而目前构建分布式TEE节点网络的方案和完成对分布式TEE节点的可信认证方案一般为中心化辅助的方法。可信认证是指由发起验证端向远程任务执行端发起,任务执行端向发起验证端证明该任务执行端与目标验证环境相比无改动。被验证端即为一个可信执行环境,验证通过则表明该计算环境的安全性以及运行代码的完整性。一般情况下,需要一个远程厂商的服务端进行辅助验证。由于需要不同的TEE之间互验证,涉及到不同TEE的验证机制。如果不改动系统架构,那么各方的TEE模块都要集成多套验证逻辑。一方面这会造成互验证的工程复杂度提高,另一方面也不利于系统后期维护。
发明内容
有鉴于此,本发明的目的在于提供一种可信隐私计算方法、装置、设备及存储介质,能够通过节点自身的认证模块完成可信执行环境的远程认证,实现去中心化异构可信执行环境的自认证和互认证操作。其具体方案如下:
第一方面,本申请公开了一种可信隐私计算方法,应用于任务发起节点,包括:
生成隐私计算任务,并将所述隐私计算任务发送至若干外部节点以通知其他所述外部节点均利用各自预先配置的认证模块对自身可信执行环境进行本地可信认证操作;所述隐私计算任务对应的参与节点包含所述任务发起节点和若干所述外部节点;
利用本地预先配置的认证模块对自身可信执行环境进行本地可信认证操作;
执行本地分布式环境互认证操作,并在本地分布式环境互认证操作成功后,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作;
其中,任一所述参与节点的所述本地可信认证操作包括对自身可信执行环境进行认证并在认证成功后向其他所述参与节点广播自身可信执行环境的环境信息;任一所述参与节点的所述本地分布式环境互认证操作为利用其他所述参与节点发送的自身可信执行环境的环境信息,对其他各所述参与节点的可信执行环境进行认证的操作。
可选的,所述利用本地预先配置的认证模块对自身可信执行环境进行本地可信认证操作,包括:
利用本地预先配置的认证模块从远程验证服务器中查找与自身可信执行环境传输的目标可信认证请求对应的根证书;所述远程验证服务器为部署在可信执行环境提供方的服务器;
通过所述认证模块利用所述根证书对自身可信执行环境内部的本地环境报告进行远程校验操作;
在所述远程校验操作成功后生成相应的可信凭证,并通过自身的互联代理将自身可信执行环境相应的环境信息广播至所述其他外部节点。
可选的,所述可信隐私计算方法,还包括:
创建并启动自身可信执行环境,并利用自动可信执行环境对自身的主机代理发起的初始可信认证请求进行处理以生成所述目标可信认证请求。
可选的,所述通过所述认证模块利用所述根证书对自身可信执行环境内部的本地环境报告进行远程校验操作之后,还包括:
通过所述认证模块将相应的远程校验结果返回至自身的主机代理,并通过自身的主机代理将所述远程校验结果同步发送至自身的互联代理,以便自身的互联代理基于所述远程校验结果确定所述远程校验操作是否成功。
可选的,所述通过所述认证模块利用所述根证书对自身可信执行环境内部的本地环境报告进行远程校验操作之后,还包括:
若所述远程校验操作失败,则通过自身的互联代理利用所述远程校验结果生成相应的校验错误信息并发送至本地的隐私计算平台;所述隐私计算任务为所述隐私计算平台生成的任务。
可选的,所述利用其他所述参与节点发送的自身可信执行环境的环境信息,对其他各所述参与节点的可信执行环境进行认证,包括:
利用其他所述参与节点发送的自身可信执行环境的环境信息,对其他各所述参与节点的自身可信执行环境对应的可信凭证进行验签操作;
若针对其他各所述参与节点的可信凭证的验签操作均成功,则确定当前的本地分布式环境互认证操作成功。
可选的,所述通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作,包括:
通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点同步计算参数进行数据流转操作,以基于所述隐私计算任务在所述计算参数的相应参与节点中的自身可信执行环境中进行分布式联合密文计算;
或,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以获取各所述外部节点返回的加密后待计算数据,并在自身可信执行环境中对各所述加密后待计算数据进行解密,然后对各解密后待计算数据进行分布式联合明文计算。
第二方面,本申请公开了一种可信隐私计算装置,应用于任务发起节点,包括:
任务生成模块,用于生成隐私计算任务,并将所述隐私计算任务发送至若干外部节点以通知其他所述外部节点均利用各自预先配置的认证模块对自身可信执行环境进行本地可信认证操作;所述隐私计算任务对应的参与节点包含所述任务发起节点和若干所述外部节点;
可信认证模块,用于利用本地预先配置的认证模块对自身可信执行环境进行本地可信认证操作;
环境互认证模块,用于执行本地分布式环境互认证操作;
数据计算模块,用于在本地分布式环境互认证操作成功后,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序以实现前述的可信隐私计算方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的可信隐私计算方法。
可见,本申请首先生成隐私计算任务,并将所述隐私计算任务发送至若干外部节点以通知其他所述外部节点均利用各自预先配置的认证模块对自身可信执行环境进行本地可信认证操作;所述隐私计算任务对应的参与节点包含所述任务发起节点和若干所述外部节点;利用本地预先配置的认证模块对自身可信执行环境进行本地可信认证操作;执行本地分布式环境互认证操作,并在本地分布式环境互认证操作成功后,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作;其中,任一所述参与节点的所述本地可信认证操作包括对自身可信执行环境进行认证并在认证成功后向其他所述参与节点广播自身可信执行环境的环境信息;任一所述参与节点的所述本地分布式环境互认证操作为利用其他所述参与节点发送的自身可信执行环境的环境信息,对其他各所述参与节点的可信执行环境进行认证的操作。由此可知,本申请通过自身的认证模块对自身可信执行环境进行本地可信认证操作,并基于获取到的各外部节点的环境信息对各外部节点进行互认证操作,这样一来,可以基于每个节点自身的认证模块对环境进行认证操作,实现去中心化异构环境的认证操作,各个参与节点的可信执行环境之间可以实现端到端的数据加密流转,保证用户数据不被泄露,并且不限制参与节点的可信执行环境类型,支持各个厂商可信执行环境之间的互联互通,使实际应用更加广泛灵活。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种可信隐私计算方法流程图;
图2为本申请公开的一种若干参与节点之间的结构示意图;
图3为本申请公开的一种具体的可信隐私计算方法流程图;
图4为本申请公开的一种具体的可信隐私计算方法流程图;
图5为本申请公开的一种可信隐私计算装置结构示意图;
图6为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,可以通过分布式部署在多个机构间的TEE节点网络,实现数据的联合计算。然而目前构建分布式TEE节点网络的方案和完成对分布式TEE节点的可信认证方案一般为中心化辅助的方法。可信认证是指由发起验证端向远程任务执行端发起,任务执行端向发起验证端证明该任务执行端与目标验证环境相比无改动。被验证端即为一个可信执行环境,验证通过则表明该计算环境的安全性以及运行代码的完整性。一般情况下,需要一个远程厂商的服务端进行辅助验证。由于需要不同的TEE之间互验证,涉及到不同TEE的验证机制。如果不改动系统架构,那么各方的TEE模块都要集成多套验证逻辑。一方面这会造成互验证的工程复杂度提高,另一方面也不利于系统后期维护。
参见图1所示,本申请实施例公开了一种可信隐私计算方法,应用于任务发起节点,包括:
步骤S11:生成隐私计算任务,并将所述隐私计算任务发送至若干外部节点以通知其他所述外部节点均利用各自预先配置的认证模块对自身可信执行环境进行本地可信认证操作;所述隐私计算任务对应的参与节点包含所述任务发起节点和若干所述外部节点。
本实施例中,基于所述任务发起节点中的隐私计算平台生成隐私计算任务,并通过所述隐私计算平台将所述隐私计算任务广播至其他所述外部节点,以通知所述其他外部节点均执行所述隐私计算任务,并开始利用各自预先配置的认证模块对自身可信执行环境进行本地可信认证操作。其中所述隐私计算任务中包括本次任务中所有的参与节点,对应的参与节点包括所述任务发起节点和若干外部节点。
需要指出的是,在开始生成并执行所述隐私计算任务之前,需要对若干所述参与节点进行相应的初始化操作,所述初始化操作包含一些底层密码算法实现和安全参数的初始化,同时规定每个可信执行环境都具有一个256位的唯一ID标识即TEEID,并在创建可信执行环境时内部会初始化密钥对。参见图2所示,每个所述参与节点中均存在用于进行可信隐私计算的若干组件,包括但不限于:隐私计算平台、互联代理即teec(Trusted ExecutionEnvironment Connect,即可信执行环境互联)代理、主机代理、可信执行环境、认证模块,其中,所述隐私计算平台用于进行各个参与节点之间的数据调度和授权、任务调度和业务逻辑管理等,连接所述互联代理负责下发任务至所述互联代理;所述互联代理负责每个节点之间的信息同步;所述主机代理是部署在具有硬件TEE特性的主机上的软件,辅助完成任务调度、执行和结果返回;所述可信执行环境是计算平台上由软硬件方法构建的一个安全区域,可保证在安全区域内部加载的代码和数据在机密性和完整性方面得到保护,确保一个任务按照预期执行,保证初始状态和运行时状态的机密性、完整性;所述认证模块负责对所述可信执行环境发起随即挑战,完成远程校验操作和环境互认证操作,并且所述认证模块可以与远程验证服务器(RAs,Remote Attestation Server)进行通信,所述远程验证服务器是部署在TEE厂商的远程验证服务器,辅助进行针对某个TEE的远程校验操作,可以理解的是,不同的TEE厂商的远程验证服务器不同,所述不同参与节点的自身认证模块可以与不同的TEE厂商进行远程通信;并且每个节点的可信执行环境都有teec-net(TEE连接网络),负责构建节点间通信的虚拟网络,链路加密保障数据流转安全。
需要进一步指出的是,本方案可以进行一些主流厂商TEE技术的适配,如目前主流的计算芯片厂商如海光、兆芯、飞腾、鲲鹏、Intel、AMD、ARM等发布的TEE技术,从而也可以支持不同厂商TEE之间的互联互通、联合计算,继而支持用户已有算力的再次利用,同时可根据数据流通的场景需要灵活选择不同厂商的TEE技术方案,发挥各自方案的差异化优势。
步骤S12:利用本地预先配置的认证模块对自身可信执行环境进行本地可信认证操作。
本实施例中,所述任务发起节点会利用本地预先配置的认证模块对自身可信执行环境(TEE,Trusted Execution Environment)进行本地可信执行操作。其中,任一所述参与节点的所述本地可信认证操作包括对自身可信执行环境进行认证并在认证成功后向其他所述参与节点广播自身可信执行环境的环境信息。可以理解的是,每个参与节点中都存在自身的认证模块,基于自身的认证模块即可对自身的可信执行环境进行本地可信认证操作,这样一来,通过在系统内设置认证模块,可以实现去中心化异构环境认证操作。
步骤S13:执行本地分布式环境互认证操作,并在本地分布式环境互认证操作成功后,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作。
本实施例中,当本地可信认证操作即自认证操作执行成功后,所述任务发起节点执行本地分布式环境互认证操作,并在本地分布式环境互认证操作成功后,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作。其中任一所述参与节点的所述本地分布式环境互认证操作为利用其他所述参与节点发送的自身可信执行环境的环境信息,对其他各所述参与节点的可信执行环境进行认证的操作。这样一来,通过各个外部节点发送的环境信息,即可对相应节点的自身可信执行环境进行互认证,以确保所述外部节点的可信执行环境是安全的,可以避免依赖一个独立的远程验证代理模块对不同厂商的可信执行环境进行互验证,使环境认证过程更加灵活。
在一种具体的实施例中,所述获取各所述外部节点在各自的本地分布式环境互认证操作成功后返回的待计算数据,并在自身可信执行环境中对各所述待计算数据进行计算,可以包括:通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点同步计算参数进行数据流转操作,以基于所述隐私计算任务在所述计算参数的相应参与节点中的自身可信执行环境中进行分布式联合密文计算。即各个所述外部节点在进行各自的本地分布式环境互认证操作成功后,通过互联代理辅助若干参与节点的可信执行环境之间同步所述分布式联合密文计算中所需的若干计算参数以进行数据流转操作,进而可以在若干所述计算参数相应的若干所述参与节点中的自身可信执行环境中进行分布式联合密文计算,其中所述分布式联合密文计算包括但不限于安全多方计算,这样一来,通过发起分布式联合密文计算可以进一步提高密文计算的安全性。
在另一种具体的实施例中,所述获取各所述外部节点在各自的本地分布式环境互认证操作成功后返回的待计算数据,并在自身可信执行环境中对各所述待计算数据进行计算,可以包括:通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以获取各所述外部节点返回的加密后待计算数据,并在自身可信执行环境中对各所述加密后待计算数据进行解密,然后对各解密后待计算数据进行分布式联合明文计算。即各个所述外部节点在进行各自的本地分布式环境互认证操作成功后,将各所述外部节点对应的节点数据采用随机生成的对称密钥进行加密,并采用所述任务发起节点的可信执行环境公钥加密所述对称密钥,并将所述加密后的对称密钥和加密后待计算数据发送至所述任务发起节点中进行数据流转操作,以在所述任务发起节点的可信执行环境内部对各个所述加密后待计算数据进行解密、求交和运算的过程,以进行所述分布式联合明文计算,这样可以极大地提高计算效率。可以理解的是,运算完成后可信执行环境仅对外输出计算结果,原始数据和计算过程数据均在所述可信执行环境的内部就地销毁,这样一来,通过TEE技术实现的多方数据联合建模,既能够满足多方数据协作的业务需求,也能够充分保护各方之间原始数据“可用不可见”,并且相比纯密态计算的方案,基于TEE的方案具备更强大的性能和算法通用性,在具备TEE硬件条件时,密码学策略就可以选择更好更优的方法,以更好地平衡性能和安全性,从而能够在到大规模数据或对性能有一定要求的场景中达到更好地效果。
可见,本实施例首先生成隐私计算任务,并将所述隐私计算任务发送至若干外部节点以通知其他所述外部节点均利用各自预先配置的认证模块对自身可信执行环境进行本地可信认证操作;所述隐私计算任务对应的参与节点包含所述任务发起节点和若干所述外部节点;利用本地预先配置的认证模块对自身可信执行环境进行本地可信认证操作;执行本地分布式环境互认证操作,并在本地分布式环境互认证操作成功后,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作;其中,任一所述参与节点的所述本地可信认证操作包括对自身可信执行环境进行认证并在认证成功后向其他所述参与节点广播自身可信执行环境的环境信息;任一所述参与节点的所述本地分布式环境互认证操作为利用其他所述参与节点发送的自身可信执行环境的环境信息,对其他各所述参与节点的可信执行环境进行认证的操作。由此可知,本实施例通过自身的认证模块对自身可信执行环境进行本地可信认证操作,并基于获取到的各外部节点的环境信息对各外部节点进行互认证操作,这样一来,可以基于每个节点自身的认证模块对环境进行认证操作,实现去中心化异构环境的认证操作,各个参与节点的可信执行环境之间可以实现端到端的数据加密流转,保证用户数据不被泄露,并且不限制参与节点的可信执行环境类型,支持各个厂商可信执行环境之间的互联互通,使实际应用更加广泛灵活。
基于上述实施例可知,本申请可以通过自身的认证模块对可信执行环境进行自认证和互认证操作,接下来将对每个参与节点的自认证操作进行详细的描述。参见图3所示,本申请实施例公开了一种具体的可信隐私计算方法,应用于参与节点,包括:
步骤S21:创建并启动自身可信执行环境,并利用自动可信执行环境对自身的主机代理发起的初始可信认证请求进行处理以生成目标可信认证请求。
本实施例中,当每个所述参与节点中的自身主机代理通过自身的互联代理获取到自身隐私计算平台得到的隐私计算任务后,开始执行所述隐私计算任务,即创建并启动自身可信执行环境,所述可信执行环境接收到所述隐私计算任务后会立即向所述主机代理推送自身的IP地址(Internet Protocol Address,即互联网协议地址)和MAC地址(MediaAccess Control Address,即物理地址),所述主机代理根据所述MAC地址将所述可信执行环境的IP地址存储到相应的物理磁盘中。然后所述主机代理向所述可信执行环境下发携带有TEEID(即可信执行环境序列号)的初始可信认证请求,所述可信执行环境在接收到所述初始可信请求后基于所述初始可信请求生成目标可信认证请求,其中所述目标可信认证请求中携带有所述可信执行环境的本地环境报告、环境公钥和所述TEEID。可以理解的是,每个参与节点无论是任务发起节点还是其他外部节点,在得到隐私计算任务后都会执行上述操作,为后续进行可信认证操作奠定基础,并且每个参与节点自身可信执行环境对应的IP地址、MAC地址、TEEID、本地环境报告、环境公钥各不相同。
步骤S22:利用本地预先配置的认证模块从远程验证服务器中查找与自身可信执行环境传输的所述目标可信认证请求对应的根证书;所述远程验证服务器为部署在可信执行环境提供方的服务器。
本实施例中,每个所述参与节点预先配置的认证模块获取到自身可信执行环境发送的所述目标可信认证请求后,向自身的所述可信执行环境的提供方的远程验证服务器发送获取相应根证书的请求,以得到与所述可信执行环境相应的根证书。
步骤S23:通过所述认证模块利用所述根证书对自身可信执行环境内部的本地环境报告进行远程校验操作。
本实施例中,所述参与节点中的所述认证模块利用所述根证书对自身可信执行环境内部的本地环境报告中的证书链和TEE度量值进行校验,以执行远程校验操作验证所述自身可信执行环境是否可信。
步骤S24:通过所述认证模块将相应的远程校验结果返回至自身的主机代理,并通过自身的主机代理将所述远程校验结果同步发送至自身的互联代理,以便自身的互联代理基于所述远程校验结果确定所述远程校验操作是否成功。
本实施例中,所述参与节点中的自身认证模块将相应的远程校验结果返回至自身的主机代理,所述主机代理收到所述远程校验结果后会同步至自身的互联代理中,以便自身的互联代理基于所述远程校验结果确定所述远程校验操作是否成功。
本实施例中,所述通过所述认证模块利用所述根证书对自身可信执行环境内部的本地环境报告进行远程校验操作之后,还可以包括:若所述远程校验操作失败,则通过自身的互联代理利用所述远程校验结果生成相应的校验错误信息并发送至本地的隐私计算平台;所述隐私计算任务为所述隐私计算平台生成的任务。即若所述远程校验结果表征远程校验操作失败,所述参与节点的自身互联代理可以利用所述远程校验结果生成相应的校验错误信息并发送至本地的隐私计算平台中,其中所述校验错误信息包括但不限于“证书链校验失败”或“度量值校验失败”等。
步骤S25:在所述远程校验操作成功后生成相应的可信凭证,并通过自身的互联代理将自身可信执行环境相应的环境信息广播至其他参与节点。
本实施例中,在所述参与节点的自身可信执行环境的所述远程校验操作成功后,自身的认证模块会计算所述目标可信认证请求中提供的环境公钥和TEEID的哈希值,并利用自身认证模块的认证模块私钥对所述哈希值进行签名,得到的签名值即为自身可信执行环境的可信凭证,所述自身认证模块将所述可信凭证存储到相应的所述物理磁盘中并与磁盘中相应的TEEID进行关联,上述操作完成后,自身互联代理会通过自身主机代理获得所述自身可信执行环境的环境信息,并将所述环境信息广播之其他参与节点以便执行后续的分布式环境互认证操作。其中所述环境信息包括但不限于可信执行环境的环境公钥、TEEID、可信凭证以及认证模块的认证模块公钥。
由此可知,在本方案中,每个参与节点都可以基于自身的认证模块对自身可信执行环境进行远程校验操作并得到相应的可信凭证,为后续利用可信凭证进行分布式环境互认证操作奠定基础,可以实现去中心化的异构环境认证,并且不限制参与节点中可信执行环境的类型,支持各种厂商的可信执行环境之间进行互联互通,使可信认证过程更加简单便捷,在实际应用中更加广泛更加灵活。
基于上述事实里可知,每个参与节点可以基于自身认证模块进行可信认证操作,并获取相应的可信凭证,接下来将对利用可信凭证实现参与节点之间的分布式环境互认证操作进行具体的描述。参见图4所示,本申请实施例公开了一种具体的可信隐私计算方法,应用于参与节点,包括:
步骤S31:利用其他所述参与节点发送的自身可信执行环境的环境信息,对其他各所述参与节点的自身可信执行环境对应的可信凭证进行验签操作。
本实施例中,每个参与节点自身的互联代理获取到其他所述参与节点发送的自身可信执行环境的相应环境信息后,首先计算所述环境信息中的TEEID和环境公钥的哈希值,然后读取环境信息中可信凭证的内容,并利用获取到的认证模块公钥对所述可信凭证进行验签操作,以通过判断自身计算的所述哈希值与所述可信凭证相应的哈希值是否相同确定所述验签操作是否执行成功。若某一其他参与节点的验签操作执行成功则表明该所述参与节点中的可信执行环境已经完成了远程校验操作并且所述可信执行环境可信。
步骤S32:若针对其他各所述参与节点的可信凭证的验签操作均成功,则确定当前的本地分布式环境互认证操作成功。
本实施例中,每一个参与节点对自身互联获取到的若干环境信息中的可信凭证依次进行验签操作,若针对其他各所述参与节点的可信凭证的验签操作均成功,则确定当前这一参与节点的本地分布式环境互认证操作成功。需要指出的是,在某一参与节点进行本地分布式环境互认证操作的同时,其他若干参与节点也在进行本地分布式环境互认证操作,当每一个参与节点的本地分布式环境互认证操作全部执行成功时,即可完成分布式环境之间的互认证操作。
可见,本方案中每个参与节点基于接收到的可信凭证即可对相应节点的可信执行环境进行互认证操作,无需依赖一个独立的远程验证代理模块来实现不同厂商可信执行环境之间的互认证,实现去中心化的异构环境互认证操作,以确保每个可信执行环境都可信,为后续进行数据流转和分布式联合计算过程提供安全保障。
参考图5所述,本申请实施例还相应公开了一种可信隐私计算装置,应用于任务发起节点,包括:
任务生成模块11,用于生成隐私计算任务,并将所述隐私计算任务发送至若干外部节点以通知其他所述外部节点均利用各自预先配置的认证模块对自身可信执行环境进行本地可信认证操作;所述隐私计算任务对应的参与节点包含所述任务发起节点和若干所述外部节点;
可信认证模块12,用于利用本地预先配置的认证模块对自身可信执行环境进行本地可信认证操作;
环境互认证模块13,用于执行本地分布式环境互认证操作;
数据计算模块14,用于在本地分布式环境互认证操作成功后,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作。
可见,本实施例首先生成隐私计算任务,并将所述隐私计算任务发送至若干外部节点以通知其他所述外部节点均利用各自预先配置的认证模块对自身可信执行环境进行本地可信认证操作;所述隐私计算任务对应的参与节点包含所述任务发起节点和若干所述外部节点;利用本地预先配置的认证模块对自身可信执行环境进行本地可信认证操作;执行本地分布式环境互认证操作,并在本地分布式环境互认证操作成功后,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作;其中,任一所述参与节点的所述本地可信认证操作包括对自身可信执行环境进行认证并在认证成功后向其他所述参与节点广播自身可信执行环境的环境信息;任一所述参与节点的所述本地分布式环境互认证操作为利用其他所述参与节点发送的自身可信执行环境的环境信息,对其他各所述参与节点的可信执行环境进行认证的操作。由此可知,本实施例通过自身的认证模块对自身可信执行环境进行本地可信认证操作,并基于获取到的各外部节点的环境信息对各外部节点进行互认证操作,这样一来,可以基于每个节点自身的认证模块对环境进行认证操作,实现去中心化异构环境的认证操作,各个参与节点的可信执行环境之间可以实现端到端的数据加密流转,保证用户数据不被泄露,并且不限制参与节点的可信执行环境类型,支持各个厂商可信执行环境之间的互联互通,使实际应用更加广泛灵活。
在一些具体的实施例中,所述可信认证模块12,具体可以包括:
根证书获取单元,用于利用本地预先配置的认证模块从远程验证服务器中查找与自身可信执行环境传输的目标可信认证请求对应的根证书;所述远程验证服务器为部署在可信执行环境提供方的服务器;
远程校验单元,用于通过所述认证模块利用所述根证书对自身可信执行环境内部的本地环境报告进行远程校验操作;
可信凭证生成单元,用于在所述远程校验操作成功后生成相应的可信凭证,并通过自身的互联代理将自身可信执行环境相应的环境信息广播至所述其他外部节点。
在一些具体的实施例中,所述可信隐私计算装置,还可以包括:
环境创建模块,用于创建并启动自身可信执行环境,并利用自动可信执行环境对自身的主机代理发起的初始可信认证请求进行处理以生成所述目标可信认证请求。
在一些具体的实施例中,所述可信隐私计算装置,还可以包括:
结果传输模块,用于通过所述认证模块将相应的远程校验结果返回至自身的主机代理,并通过自身的主机代理将所述远程校验结果同步发送至自身的互联代理,以便自身的互联代理基于所述远程校验结果确定所述远程校验操作是否成功。
在一些具体的实施例中,所述可信隐私计算装置,还可以包括:
错误信息发送模块,用于若所述远程校验操作失败,则通过自身的互联代理利用所述远程校验结果生成相应的校验错误信息并发送至本地的隐私计算平台;所述隐私计算任务为所述隐私计算平台生成的任务。
在一些具体的实施例中,所述环境互认证模块13,具体可以包括:
凭证验签单元,用于利用其他所述参与节点发送的自身可信执行环境的环境信息,对其他各所述参与节点的自身可信执行环境对应的可信凭证进行验签操作;
互认证确定单元,用于若针对其他各所述参与节点的可信凭证的验签操作均成功,则确定当前的本地分布式环境互认证操作成功。
在一些具体的实施例中,所述数据计算模块14,具体可以包括:
密文计算单元,用于通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点同步计算参数进行数据流转操作,以基于所述隐私计算任务在所述计算参数的相应参与节点中的自身可信执行环境中进行分布式联合密文计算;
明文计算单元,用于通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以获取各所述外部节点返回的加密后待计算数据,并在自身可信执行环境中对各所述加密后待计算数据进行解密,然后对各解密后待计算数据进行分布式联合明文计算。
进一步的,本申请实施例还公开了一种电子设备,图6是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图6为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的可信隐私计算方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的可信隐私计算方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的可信隐私计算方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种可信隐私计算方法,其特征在于,应用于任务发起节点,包括:
生成隐私计算任务,并将所述隐私计算任务发送至若干外部节点以通知其他所述外部节点均利用各自预先配置的认证模块对自身可信执行环境进行本地可信认证操作;所述隐私计算任务对应的参与节点包含所述任务发起节点和若干所述外部节点;
利用本地预先配置的认证模块对自身可信执行环境进行本地可信认证操作;
执行本地分布式环境互认证操作,并在本地分布式环境互认证操作成功后,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作;
其中,任一所述参与节点的所述本地可信认证操作包括对自身可信执行环境进行认证并在认证成功后向其他所述参与节点广播自身可信执行环境的环境信息;任一所述参与节点的所述本地分布式环境互认证操作为利用其他所述参与节点发送的自身可信执行环境的环境信息,对其他各所述参与节点的可信执行环境进行认证的操作。
2.根据权利要求1所述的可信隐私计算方法,其特征在于,所述利用本地预先配置的认证模块对自身可信执行环境进行本地可信认证操作,包括:
利用本地预先配置的认证模块从远程验证服务器中查找与自身可信执行环境传输的目标可信认证请求对应的根证书;所述远程验证服务器为部署在可信执行环境提供方的服务器;
通过所述认证模块利用所述根证书对自身可信执行环境内部的本地环境报告进行远程校验操作;
在所述远程校验操作成功后生成相应的可信凭证,并通过自身的互联代理将自身可信执行环境相应的环境信息广播至所述其他外部节点。
3.根据权利要求2所述的可信隐私计算方法,其特征在于,还包括:
创建并启动自身可信执行环境,并利用自动可信执行环境对自身的主机代理发起的初始可信认证请求进行处理以生成所述目标可信认证请求。
4.根据权利要求2所述的可信隐私计算方法,其特征在于,所述通过所述认证模块利用所述根证书对自身可信执行环境内部的本地环境报告进行远程校验操作之后,还包括:
通过所述认证模块将相应的远程校验结果返回至自身的主机代理,并通过自身的主机代理将所述远程校验结果同步发送至自身的互联代理,以便自身的互联代理基于所述远程校验结果确定所述远程校验操作是否成功。
5.根据权利要求4所述的可信隐私计算方法,其特征在于,所述通过所述认证模块利用所述根证书对自身可信执行环境内部的本地环境报告进行远程校验操作之后,还包括:
若所述远程校验操作失败,则通过自身的互联代理利用所述远程校验结果生成相应的校验错误信息并发送至本地的隐私计算平台;所述隐私计算任务为所述隐私计算平台生成的任务。
6.根据权利要求1所述的可信隐私计算方法,其特征在于,所述利用其他所述参与节点发送的自身可信执行环境的环境信息,对其他各所述参与节点的可信执行环境进行认证,包括:
利用其他所述参与节点发送的自身可信执行环境的环境信息,对其他各所述参与节点的自身可信执行环境对应的可信凭证进行验签操作;
若针对其他各所述参与节点的可信凭证的验签操作均成功,则确定当前的本地分布式环境互认证操作成功。
7.根据权利要求1至6任一项所述的可信隐私计算方法,其特征在于,所述通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作,包括:
通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点同步计算参数进行数据流转操作,以基于所述隐私计算任务在所述计算参数的相应参与节点中的自身可信执行环境中进行分布式联合密文计算;
或,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以获取各所述外部节点返回的加密后待计算数据,并在自身可信执行环境中对各所述加密后待计算数据进行解密,然后对各解密后待计算数据进行分布式联合明文计算。
8.一种可信隐私计算装置,其特征在于,应用于任务发起节点,包括:
任务生成模块,用于生成隐私计算任务,并将所述隐私计算任务发送至若干外部节点以通知其他所述外部节点均利用各自预先配置的认证模块对自身可信执行环境进行本地可信认证操作;所述隐私计算任务对应的参与节点包含所述任务发起节点和若干所述外部节点;
可信认证模块,用于利用本地预先配置的认证模块对自身可信执行环境进行本地可信认证操作;
环境互认证模块,用于执行本地分布式环境互认证操作;
数据计算模块,用于在本地分布式环境互认证操作成功后,通过自身可信执行环境与各自的本地分布式环境互认证操作成功的其他所述外部节点进行数据流转操作,以基于所述隐私计算任务执行相应的分布式计算操作。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至7任一项所述的可信隐私计算方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的可信隐私计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211581429.5A CN116204914A (zh) | 2022-12-09 | 2022-12-09 | 一种可信隐私计算方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211581429.5A CN116204914A (zh) | 2022-12-09 | 2022-12-09 | 一种可信隐私计算方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116204914A true CN116204914A (zh) | 2023-06-02 |
Family
ID=86511982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211581429.5A Pending CN116204914A (zh) | 2022-12-09 | 2022-12-09 | 一种可信隐私计算方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116204914A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235693A (zh) * | 2023-11-14 | 2023-12-15 | 杭州安恒信息技术股份有限公司 | 一种可信执行环境的可信认证和安全通道建立方法 |
CN117972726A (zh) * | 2024-02-27 | 2024-05-03 | 广东辰宜信息科技有限公司 | 一种通用高性能可信计算系统、方法及装置 |
-
2022
- 2022-12-09 CN CN202211581429.5A patent/CN116204914A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235693A (zh) * | 2023-11-14 | 2023-12-15 | 杭州安恒信息技术股份有限公司 | 一种可信执行环境的可信认证和安全通道建立方法 |
CN117235693B (zh) * | 2023-11-14 | 2024-02-02 | 杭州安恒信息技术股份有限公司 | 一种可信执行环境的可信认证和安全通道建立方法 |
CN117972726A (zh) * | 2024-02-27 | 2024-05-03 | 广东辰宜信息科技有限公司 | 一种通用高性能可信计算系统、方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4709815B2 (ja) | 認証方法および装置 | |
US9621545B2 (en) | System and method for connecting client devices to a network | |
CN110581854B (zh) | 基于区块链的智能终端安全通信方法 | |
CN103166931A (zh) | 一种安全传输数据方法,装置和系统 | |
CN116204914A (zh) | 一种可信隐私计算方法、装置、设备及存储介质 | |
CN110808991B (zh) | 一种安全通信连接的方法、系统、电子设备及存储介质 | |
JP2020528691A (ja) | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 | |
CN110690966B (zh) | 终端与业务服务器连接的方法、系统、设备及存储介质 | |
US20210167963A1 (en) | Decentralised Authentication | |
JP2016526844A (ja) | 制約リソースデバイスのための鍵確立 | |
CN114070559B (zh) | 一种基于多因子的工业物联网会话密钥协商方法 | |
CN104836784A (zh) | 一种信息处理方法、客户端和服务器 | |
CN111654481B (zh) | 一种身份认证方法、装置和存储介质 | |
JP2022500920A (ja) | コンピュータにより実施される、共通シークレットを共有するシステム及び方法 | |
CN114297678A (zh) | 一种联盟链系统运行方法、装置、设备及存储介质 | |
CN111709053B (zh) | 基于松散耦合交易网络的作业方法及作业装置 | |
Babu et al. | Fog‐Sec: Secure end‐to‐end communication in fog‐enabled IoT network using permissioned blockchain system | |
CN111181730A (zh) | 用户身份生成及更新方法和装置、存储介质和节点设备 | |
CN116170144A (zh) | 智能电网匿名认证方法、电子设备及存储介质 | |
CN116599719A (zh) | 一种用户登录认证方法、装置、设备、存储介质 | |
CN115842657A (zh) | 一种基于区块链的物联网匿名身份认证方法及装置 | |
US20230045486A1 (en) | Apparatus and Methods for Encrypted Communication | |
WO2022016435A1 (zh) | 接入认证方法、装置、设备及存储介质 | |
CN113918971A (zh) | 基于区块链的消息传输方法、装置、设备及可读存储介质 | |
CN113660285A (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 |