CN111460429B - 基于可信执行环境的任务处理方法、装置、设备和介质 - Google Patents
基于可信执行环境的任务处理方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN111460429B CN111460429B CN202010239423.4A CN202010239423A CN111460429B CN 111460429 B CN111460429 B CN 111460429B CN 202010239423 A CN202010239423 A CN 202010239423A CN 111460429 B CN111460429 B CN 111460429B
- Authority
- CN
- China
- Prior art keywords
- task
- data
- trusted
- node
- execution environment
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 122
- 230000008569 process Effects 0.000 claims abstract description 73
- 239000003999 initiator Substances 0.000 claims abstract description 40
- 238000012795 verification Methods 0.000 claims description 89
- 238000004891 communication Methods 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 46
- 230000015654 memory Effects 0.000 claims description 19
- 238000012550 audit Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 15
- 238000007726 management method Methods 0.000 description 22
- 230000003993 interaction Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- 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/602—Providing cryptographic facilities or services
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种基于可信执行环境的任务处理方法、装置、设备和介质,涉及区块链技术。其中,该方法包括:根据任务发起方发布的任务信息,在可信执行环境中创建可信任务;接收数据节点发送的数据请求,其中,数据请求是基于任务发起方发布的任务信息而生成;在可信执行环境中,若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则根据数据请求关联的任务数据,执行可信任务。本申请实施例可以对涉及多方协作的节点之间可信任务的执行过程进行规范化管理,同时提高可信任务执行的安全性、可靠性、隐私性。
Description
技术领域
本申请实施例涉及计算机技术,具体涉及区块链技术,尤其涉及一种基于可信执行环境的任务处理方法、装置、设备和介质。
背景技术
随着互联网技术的发展和日益开放,数据隐私变得越来越重要。可信计算技术,可以较好地保护数据隐私,防止隐私数据的泄露。可信执行环境(Trusted ExecutionEnvironment,TEE)技术为授权安全软件(即可信应用)提供了安全的执行环境,同时也保护了可信应用的资源和数据的保密性、完整性和访问权限。
然而,在可信执行环境技术中,不同应用节点之间相互独立,不随意进行互相访问。因此,对于涉及多方交互或者多方协作的分布式可信计算场景,不同节点之间的可信任务处理过程仍缺乏规范化管理,任务处理过程中仍然存在安全性风险。
发明内容
本申请实施例公开一种基于可信执行环境的任务处理方法、装置、设备和介质,以对涉及多方协作的节点之间可信任务的执行过程进行规范化管理,同时提高可信任务执行的安全性、可靠性、隐私性。
第一方面,本申请实施例公开了一种基于可信执行环境的任务处理方法,包括:
根据任务发起方发布的任务信息,在可信执行环境中创建可信任务;
接收数据节点发送的数据请求,其中,所述数据请求是基于所述任务发起方发布的任务信息而生成;
在所述可信执行环境中,若根据所述数据请求,确定将所述数据请求关联的任务数据用于所述可信任务的执行过程,则根据所述数据请求关联的任务数据,执行所述可信任务。
第二方面,本申请实施例还公开了一种基于可信执行环境的任务处理方法,包括:
获取任务发起方发布的任务信息,并根据所述任务信息生成数据请求;
向计算节点发送所述数据请求,以指示所述计算节点执行如下:在可信执行环境中,若根据所述数据请求,确定将所述数据请求关联的任务数据用于可信任务的执行过程,则根据所述数据请求关联的任务数据,执行所述可信任务。
第三方面,本申请实施例还公开了一种基于可信执行环境的任务处理装置,包括:
任务创建模块,用于根据任务发起方发布的任务信息,在可信执行环境中创建可信任务;
请求接收模块,用于接收数据节点发送的数据请求,其中,所述数据请求是基于所述任务发起方发布的任务信息而生成;
任务执行模块,用于在所述可信执行环境中,若根据所述数据请求,确定将所述数据请求关联的任务数据用于所述可信任务的执行过程,则根据所述数据请求关联的任务数据,执行所述可信任务。
第四方面,本申请实施例还公开了一种基于可信执行环境的任务处理装置,包括:
请求生成模块,用于获取任务发起方发布的任务信息,并根据所述任务信息生成数据请求;
请求发送模块,用于向计算节点发送所述数据请求,以指示所述计算节点执行如下:在可信执行环境中,若根据所述数据请求,确定将所述数据请求关联的任务数据用于可信任务的执行过程,则根据所述数据请求关联的任务数据,执行所述可信任务。
第五方面,本申请实施例还公开了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请实施例任一所述的基于可信执行环境的任务处理方法,该任务处理方法包括可以应用于计算节点和应用于数据节点的方法。
第六方面,本申请实施例还公开了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请实施例任一所述的基于可信执行环境的任务处理方法,该任务处理方法包括可以应用于计算节点和应用于数据节点的方法。
根据本申请实施例的技术方案,计算节点接收到数据节点发送的数据请求后,根据该数据请求确定是否将该数据请求关联的任务数据用于可信任务的执行过程,当确定可用之后,再根据任务数据执行可信任务,解决了不同节点之间的可信任务处理缺乏规范化管理,任务处理过程中存在安全性风险的问题,实现了对涉及多方协作的可信任务的规范化管理,提高了可信任务执行的安全性、可靠性、隐私性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例公开的部署有可信执行环境的节点之间的一种交互架构示意图;
图2是根据本申请实施例公开的一种基于可信执行环境的任务处理方法的流程图;
图3是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图;
图4是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图;
图5是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图;
图6是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图;
图7是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图;
图8是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图;
图9是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图;
图10是根据本申请实施例公开的一种基于可信执行环境的任务处理装置的结构示意图;
图11是根据本申请实施例公开的另一种基于可信执行环境的任务处理装置的结构示意图;
图12是根据本申请实施例公开的一种电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例公开的部署有可信执行环境的节点之间的一种交互架构示意图,示例性的,以3个可信节点A、可信节点B、可信节点C之间的交互为例。实际参与交互的可信节点数量可以根据需求来确定。图1中所示出的可信节点或称为可信计算节点或可信计算平台,是指部署有可信执行环境的节点。如图1所示,不同的可信节点可以基于具体交互场景下的需求进行安全交互,实现数据协作计算。例如,在银行业务场景下,不同银行主体的数据对其他银行主体而言均为隐私数据,当需要多个银行主体合作完成特定的处理任务时,不同银行主体可以通过控制自己的可信节点进行隐私数据的交互,从而实现安全性好、隐私性高的数据协作计算。
每个可信节点可以分别对应一个区块链节点,通过区块链节点参与区块链网络。如图1所示,可信节点A可以通过区块链节点A参与区块链网络,可信节点B可以通过区块链节点B参与区块链网络,可信节点C可以通过区块链节点C参与区块链网络。每个可信节点和对应的区块链节点可以部署在相同的实体设备上,也可以部署在不同的实体设备上,本申请实施例不作具体限定。
在至少两个可信节点中,根据节点角色的不同,可以将可信节点分类为计算节点和数据节点。计算节点是指用于执行可信任务的节点,数据节点是指执行与可信任务相关的协作操作,产生任务数据,并向计算节点提供该任务数据,以协助计算节点完成可信任务的节点。节点角色的区分可以按照设定规则进行灵活确定,例如投票选举、基于节点计算能力确定、由用户指定等,本申请实施例不作具体限定,并且,同一可信节点的角色可以在不同的任务处理过程中进行改变。计算节点可以根据任务信息,在本地可信执行环境中创建可信任务,并执行。计算节点和数据节点可以形成分布式可信计算系统。
本申请实施例中各可信节点可以采用的可信执行环境技术包括但不限于MesaTEE技术等。MesaTEE可以运行在支持Intel SGX(Software Guard Extensions,软件保护扩展)技术的CPU平台上。例如,提供隐私数据参与协作计算的数据节点(即协作方)与计算节点可以建立可信加密信道(或称为可信通信通道),计算节点获取数据节点的数据并用于计算,得到计算结果。
图2是根据本申请实施例公开的一种基于可信执行环境的任务处理方法的流程图,本申请实施例可以适用于通过计算节点和数据节点之间的交互,协作完成可信任务的情况。本申请实施例方法可以应用于计算节点,并可以由基于可信执行环境的任务处理装置来执行。该任务处理装置可以采用软件和/或硬件实现,并可以配置于计算节点。
如图2所示,本申请实施例公开的基于可信执行环境的任务处理方法可以包括:
S201、根据任务发起方发布的任务信息,在可信执行环境中创建可信任务。
任务发起方是指根据任务需求,能够发起任务信息的主体。例如,用户根据当前业务处理需求,通过在电子设备上执行特定操作,产生任务信息,然后发送给本机节点(即当前计算节点)以及数据节点;或者,用户产生任务信息后,通过区块链节点将该任务信息存储至区块链中,本机节点和数据节点均可以通过访问区块链网络,获取到任务信息。本机节点获取到任务信息后,在可信执行环境中创建可信任务。可信任务一旦在可信执行环境中生成,则没有任何人可以对其进行非法修改,这是可信执行环境技术固有的特性。其中,任务信息中至少包括任务执行涉及的计算算法、数据诉求、任务执行条件(或称为计算条件)、涉及的数据节点、以及各数据节点的密钥等信息。
S202、接收数据节点发送的数据请求,其中,数据请求是基于任务发起方发布的任务信息而生成。
参与可信任务协作执行的数据节点的数量可以为至少一个。针对每个数据节点,在获取到任务信息后,可以生成数据请求,该数据请求可以用于指示本机节点确定是否将该数据请求关联的任务数据用于可信任务的执行过程。该数据请求中可以携带任务数据,也可以不携带任务数据。针对数据请求中不携带任务数据的情况,该数据请求还可以用于指示本机节点确定是否接收数据节点发送的任务数据。
针对不同的数据节点,生成的数据请求可以不同,具体的,各数据节点可以根据任务信息中的数据诉求而定。并且,数据请求可以由数据节点在可信执行环境中生成。数据节点通过在可信执行环境中执行与可信任务相关的协作操作,产生关联的任务数据。
S203、在可信执行环境中,若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则根据数据请求关联的任务数据,执行可信任务。
数据请求中可以包括预先指定的特定信息,可以使得本机节点获取到数据请求后,根据这些特定信息,验证该数据请求是否伪造以及数据节点身份是否伪造,从而确定是否将数据请求关联的任务数据用于可信任务的执行过程。特定信息可以包括本机节点和数据节点预先约定或共同认可的具有可信度的信息,例如数据请求中至少包括请求类型、节点角色、数据节点对请求的签名等信息。请求类型与任务发起方发布的任务信息所对应的业务类型有关,例如,任务信息对应的业务类型为银行类业务,则请求类型可以包括但不限于银行资产明细类、交易支出类等,从而使得根据请求类型确定数据节点发送的任务数据是否为所需数据。
根据数据请求,确定是否将数据请求关联的任务数据用于可信任务的执行过程,整个过程均在可信执行环境中执行,确保了验证逻辑无法被篡改,确保了验证过程的安全性、可靠性。并且,通过在执行可信任务之前,确定是否将数据请求关联的任务数据用于可信任务的执行过程,确保了参与可信任务执行的任务数据均为可信数据,保障了执行结果的准确性。
如果本机节点根据对数据请求的验证,确定将数据请求关联的任务数据用于可信任务的执行过程,则后续可以根据任务数据,执行可信任务,反之,在任务执行过程中不会采用该任务数据。其中,本机节点在执行可信任务之前,还可以再次对接收的任务数据进行验证,例如验证数据格式或者特定数据字段等,以判断任务数据是否为执行任务所需数据。
需要说明的是,由于可信任务在可信执行环境中执行,基于可信执行环境的安全特性,任务数据均可以加密状态传输至本机节点,因此,数据节点获取到数据节点发送的任务数据后,任务数据为加密数据,不会直接获取到原始的未加密任务数据,进而,即使任务数据属于数据节点的隐私数据,也不会存在隐私数据泄露的危险。
根据本申请实施例的技术方案,计算节点接收到数据节点发送的数据请求后,首先根据该数据请求确定是否将该数据请求关联的任务数据用于可信任务的执行过程,实现了对任务数据的有效甄别,确保了参与可信任务执行的任务数据均为可信数据,保障了执行结果的准确性;并且,对数据请求的验证过程在可信执行环境中执行,确保了验证逻辑无法被篡改,确保了验证过程的安全性、可靠性;当确定任务数据可用之后,计算节点根据任务数据执行可信任务,从而解决了不同节点之间的可信任务处理缺乏规范化管理,任务处理过程中存在安全性风险的问题,实现了对涉及多方协作的可信任务的规范化管理,提高了可信任务执行的安全性、可靠性、隐私性。
在上述技术方案的基础上,示例性的,如果数据请求中携带有任务数据,则本机节点接收数据请求,意味着同时接收任务数据,在确定将数据请求关联的任务数据用于可信任务的执行过程之后,可以直接根据任务数据,执行可信任务;否则,可以将任务数据丢弃,在任务执行过程中不会采用该任务数据。
示例性的,如果数据请求中未携带有任务数据,则本机节点接收数据请求后,根据对数据请求的验证,确定是否继续接收任务数据;例如,上述若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则根据数据请求关联的任务数据,执行可信任务,包括:若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则接收数据节点发送的任务数据;根据接收的任务数据,执行可信任务。反之,则可以拒绝接收任务数据。此时,通过验证数据请求确定是否接收数据节点发送的任务数据,实现了对任务数据的有效筛选、选择性接收,有效管控了本机节点和数据节点之间的数据传输量。
此外,针对不同的业务逻辑,关于执行可信任务的执行,可以预先设定任务执行条件,即计算节点需要在满足任务执行条件时,执行可信任务,从而确保任务执行的有效性。其中,任务执行条件可以根据需求进行灵活设置,本申请实施例不作具体限定,例如实际参与任务协作的数据节点数量满足数量阈值或者达到预设比例、接收的任务数据量满足可信任务执行需求等。
示例性的,根据数据请求关联的任务数据,执行可信任务,包括:确定已经接收的任务数据所对应的目标数据节点的数量;若目标数据节点的数量满足预设要求,则执行可信任务。其中,该目标数据节点即指数据请求验证通过的数据节点,预设要求可以包括:目标数据节点的数量大于或等于数量阈值,或者根据目标数据节点的数量,计算目标数据节点在节点总量中的比例,该比例大于或等于比例阈值。
进一步的,在本申请实施例中,在可信执行环境中,若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则根据数据请求关联的任务数据,执行可信任务,包括:在可信执行环境中,根据数据请求,对数据节点进行身份验证,例如验证数据请求中携带的签名是否为真、和/或验证数据请求的数据格式是否合规等;若身份验证通过,则根据数据请求关联的任务数据,执行可信任务。即身份验证通过,例如签名为真、数据格式合规等,表示可以确定将数据请求关联的任务数据用于可信任务的执行过程。
图3是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图3所示,该方法可以包括:
S301、根据任务发起方发布的任务信息,在可信执行环境中创建可信任务。
S302、接收数据节点发送的数据请求,其中,数据请求是基于任务发起方发布的任务信息而生成。
S303、在可信执行环境中,从任务信息中获取数据节点的密钥。
S304、利用密钥对数据请求中携带的签名进行验证。
其中,任务发起方发布的任务信息中至少包括任务执行涉及的计算算法、数据诉求、任务执行条件(或称为计算条件)、涉及的数据节点、以及各数据节点的密钥等信息。本机节点在可信环境中创建可信任务时,需要用到任务信息,因此,在请求验证过程中,可以直接从节点本地获取到各个数据节点的密钥,用于对数据请求中数据节点的签名进行验证。示例性的,本机节点从任务信息中获取数据节点的密钥,包括:利用节点标识与密钥的对应关系,从任务信息中获取数据节点的密钥,即在生成任务信息的过程中,会按照节点标识与密钥的对应关系,将各数据节点的密钥包括在任务信息中。
可选的,本申请实施例中所提及的密钥可以是基于非对称加密技术生成,例如可以利用椭圆曲线算法生成。任一数据节点可以利用本地非对称加密技术,生成自己的公钥和私钥,私钥存储在本地,公钥则向外界公布。任务发起方可以预先获取各数据节点的公钥,然后包括在任务信息中。数据节点在生成数据请求的过程中,利用自己的私钥对请求签名。因此,本机节点收到数据请求后,可以利用数据节点的公钥对请求中的签名进行验证,从而实现对数据节点的有效身份验证。
S305、若签名验证通过,则根据数据请求关联的任务数据,执行可信任务。
如果签名验证通过,即认为数据节点的身份可信,数据请求关联的任务数据可以用于可信任务的执行过程,后续可以根据该任务数据,执行可信任务;反之,在任务执行过程中不会采用该任务数据。当然,如果数据请求中未携带任务数据,则签名验证通过后,本机节点还需要接收数据节点发送的任务数据;签名验证未通过,本机节点可以拒绝接收数据节点的任务数据。
根据本申请实施例的技术方案,计算节点接收到数据节点发送的数据请求后,首先利用任务信息中的密钥对数据请求中携带的签名进行验证,为可信任务的处理过程增加了有效的身份验证机制,避免了发生节点仿冒行为,确保了参与可信任务执行的任务数据均为可信数据,保障了执行结果的准确性;并且,签名验证通过在可信执行环境中执行,确保了验证逻辑无法被篡改,确保了验证过程的安全性、可靠性;当签名验证通过之后,计算节点根据任务数据执行可信任务,从而解决了不同节点之间的可信任务处理缺乏规范化管理,任务处理过程中存在安全性风险的问题,实现了对涉及多方协作的可信任务的规范化管理,提高了可信任务执行的安全性、可靠性、隐私性。
可选的,在本申请实施例中,本机节点可以通过与数据节点之间的可信通信通道,接收数据节点发送的数据请求。其中,可信通信通道是指本机节点与数据节点之间的一种安全通信机制,基于数据加密与解密技术实现,即本机节点和数据节点之间可以基于数据加密与解密技术进行数据通信。利用可信通信通道传输数据请求,可以提高本机节点和数据节点之间通信的安全性、隐私性。
图4是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图4所示,该方法可以包括:
S401、根据任务发起方发布的任务信息,在可信执行环境中创建可信任务。
S402、获取数据节点的可信执行环境信息。
本机节点可以通过和数据节点的交互,获取其可信执行环境信息。可信执行环境信息包括任意的可以用于验证节点的可信执行环境的信息,例如,可信执行环境信息包括以下至少之一:程序标识和程序标识签名。其中,程序标识签名通常由CPU硬件厂商(即硬件提供方)对程序标识进行签名,因此,验证过程中通常也需要找该硬件厂商进行验证。
S403、利用获取的可信执行环境信息,对数据节点进行可信执行环境验证。
对数据节点进行可信执行环境验证,包括验证对应的可信执行环境信息是否真实以及是否为预期的信息等。例如,通常建立可信通信通道的两个可信节点上部署的可信执行环境版本需要一致,即程序标识需要一致。
S404、若验证通过,则建立与数据节点的可信通信通道。
如果存在多个数据节点,则本机节点可以分别与每个数据节点执行可信执行环境的验证操作,并在验证通过后建立可信通信通道,两两之间进行专门的加密通信。在本申请实施例中,本机节点与每个数据节点之间的可信执行环境验证通过,意味着两者间的后续操作都可以在预期的、可信的环境中执行,相关执行逻辑不可被篡改,从而提高了任务处理的安全性、可信度、隐私性。如果验证不通过,可以终止与数据节点的通信连接。
S405、通过建立的可信通信通道,接收数据节点发送的数据请求。
S406、在可信执行环境中,若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则根据数据请求关联的任务数据,执行可信任务。
根据本申请实施例的技术方案,计算节点首先通过对数据节点执行可信执行环境验证,验证通过后,则建立与数据节点的可信通信通道,确保了两者间的后续操作都可以在预期的、可信的环境中执行,执行逻辑不可被篡改;然后,根据数据节点发送的数据请求,确定是否将该数据请求关联的任务数据用于可信任务的执行过程,实现了对任务数据的有效甄别,确保了参与可信任务执行的任务数据均为可信数据,保障了执行结果的准确性;当确定任务数据可用之后,计算节点根据任务数据执行可信任务,从而解决了不同节点之间的可信任务处理缺乏规范化管理,任务处理过程中存在安全性风险的问题,实现了对涉及多方协作的可信任务的规范化管理,提高了可信任务执行的安全性、可靠性、隐私性。
在上述技术方案的基础上,进一步的,在建立与数据节点的可信通信通道之前,本申请实施例方法还包括:
向数据节点发送本机节点的可信执行环境信息;
相应的,若验证通过,则建立与数据节点的可信通信通道,包括:
若对数据节点的可信执行环境验证通过,且数据节点对本机节点的可信执行环境验证通过,则建立与数据节点的可信通信通道。
也即本申请实施例中关于可信执行环境的验证过程可以是一个双向过程,如果任一方对对方的可信执行环境验证不通过,均可主动断开与对方的通信连接,从而提高了可信执行环境验证的可靠性,提升了数据节点和计算节点之间的信任度。
图5是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图5所示,该方法可以包括:
S501、从区块链中获取任务信息,并根据任务信息在可信执行环境中创建可信任务。
其中,任务信息由任务发起方通过区块链节点存储在区块链中。通过将任务信息存储在区块链中,可以实现任务信息的去中心化存储,并防止计算节点在创建可信任务的过程中篡改任务信息,进而创建出虚假的可信任务的现象。
例如,数据节点在向本机节点发送数据请求之前,可以向本机节点发送任务信息获取请求,其中,任务信息获取请求用于请求本机节点返回可信任务的任务信息,即请求计算节点返回其在可信环境中创建可信任务时使用的任务信息;然后,数据节点将本机节点返回的任务信息,与从区块链中获取的任务信息,进行比对;若比对结果一致,则数据节点向本机节点发送数据请求。通过利用链上数据对本机节点创建可信任务时使用的任务信息进行验证,实现了对本机节点是否创建虚假的可信任务的有效验证。
S502、根据任务发起方发布的任务信息,在可信执行环境中创建可信任务。
本机节点可以直接从区块链中读取任务信息,以用于可信任务的创建。当然,本机节点也可以通过链下获取的方式获取任务信息,本申请实施例不作具体限定。
S503、接收数据节点发送的数据请求,其中,数据请求是基于任务发起方发布的任务信息而生成。
对任一数据节点而言,可以通过访问区块链网络获取任务信息,也可以通过链下获取的方式获取任务信息,以用于生成数据请求。
S504、在可信执行环境中,若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则根据数据请求关联的任务数据,执行可信任务。
根据本申请实施例的技术方案,计算节点创建可信任务所依赖的任务信息存储在区块链中,实现了任务信息的去中心化存储,并防止了计算节点在创建可信任务的过程中篡改任务信息,进而创建出虚假的可信任务的现象;计算节点通过对数据节点的数据请求进行验证,确定是否将该数据请求关联的任务数据用于可信任务的执行过程,确保了参与可信任务执行的任务数据均为可信数据,保障了执行结果的准确性;并且,对数据请求的验证过程在可信执行环境中执行,确保了验证逻辑无法被篡改,确保了验证过程的安全性、可靠性;当确定任务数据可用之后,计算节点根据任务数据执行可信任务,从而解决了不同节点之间的可信任务处理缺乏规范化管理,任务处理过程中存在安全性风险的问题,实现了对涉及多方协作的可信任务的规范化管理,提高了可信任务执行的安全性、可靠性、隐私性。
图6是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图,本申请实施例可以适用于通过计算节点和数据节点之间的交互,协作完成可信任务的情况。本申请实施例方法可以应用于数据节点,并可以由基于可信执行环境的任务处理装置来执行。该任务处理装置可以采用软件和/或硬件实现,并可以配置于数据节点。
需要说明的是,本申请实施例公开的应用于数据节点的、基于可信执行环境的任务处理方法与本申请实施例公开的应用于计算节点的、基于可信执行环境的任务处理方法配合执行,以下实施方式中未详尽描述的内容可以参考上述实施方式中的描述。可选的,本机节点(即当前数据节点)与计算节点形成分布式可信计算系统。
如图6所示,本申请实施例公开的基于可信执行环境的任务处理方法可以包括:
S601、获取任务发起方发布的任务信息,并根据任务信息生成数据请求。
对任一数据节点而言,可以通过访问区块链网络获取任务信息,也可以通过链下获取的方式获取任务信息,以用于生成数据请求。并且,数据请求可以由数据节点在可信执行环境中生成。数据节点通过在可信执行环境中执行与可信任务相关的协作操作,产生关联的任务数据。
S602、向计算节点发送数据请求,以指示计算节点执行如下:在可信执行环境中,若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则根据数据请求关联的任务数据,执行可信任务。
根据本申请实施例的技术方案,数据节点根据任务信息生成数据请求,以使得计算节点根据该数据请求,确定是否将该数据请求关联的任务数据用于可信任务的执行过程,确保了参与可信任务执行的任务数据均为可信数据,保障了执行结果的准确性;并且,计算节点对数据请求的验证过程在可信执行环境中执行,确保了验证逻辑无法被篡改,确保了验证过程的安全性、可靠性;当确定任务数据可用之后,计算节点根据任务数据执行可信任务,从而解决了不同节点之间的可信任务处理缺乏规范化管理,任务处理过程中存在安全性风险的问题,实现了对涉及多方协作的可信任务的规范化管理,提高了可信任务执行的安全性、可靠性、隐私性。
图7是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图7所示,该方法可以包括:
S701、获取任务发起方发布的任务信息,并根据任务信息生成数据请求。
S702、利用本机节点的密钥对数据请求进行签名,并将签名携带在数据请求中。
S703、向计算节点发送数据请求,以指示计算节点执行如下:在可信执行环境中,从任务信息中获取数据节点的密钥;利用密钥对数据请求中携带的签名进行验证;若签名验证通过,则根据数据请求关联的任务数据,执行可信任务。
其中,本申请实施例中可以采用非对称加密技术,即数据请求中的签名为数据节点利用自己的私钥生成,计算节点验签时使用数据节点的公钥进行验证。
根据本申请实施例的技术方案,计算节点接收到数据节点发送的数据请求后,首先利用任务信息中的密钥对数据请求中携带的签名进行验证,为可信任务的处理过程增加了有效的身份验证机制,确保了参与可信任务执行的任务数据均为可信数据,保障了执行结果的准确性;并且,签名验证通过在可信执行环境中执行,确保了验证逻辑无法被篡改,确保了验证过程的安全性、可靠性;当签名验证通过之后,计算节点根据任务数据执行可信任务,从而解决了不同节点之间的可信任务处理缺乏规范化管理,任务处理过程中存在安全性风险的问题,实现了对涉及多方协作的可信任务的规范化管理,提高了可信任务执行的安全性、可靠性、隐私性。
图8是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图8所示,该方法可以包括:
S801、获取任务发起方发布的任务信息,并根据任务信息生成数据请求。
S802、获取计算节点的可信执行环境信息。
可选的,可信执行环境信息包括以下至少之一:程序标识和程序标识签名。
S803、利用获取的可信执行环境信息,对计算节点进行可信执行环境验证。
S804、若验证通过,则建立与计算节点的可信通信通道。
S805、通过建立的可信通信通道,向计算节点发送数据请求,以指示计算节点执行如下:在可信执行环境中,若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则根据数据请求关联的任务数据,执行可信任务。
根据本申请实施例的技术方案,数据节点首先通过对计算节点执行可信执行环境验证,验证通过后,则建立与数据节点的可信通信通道,确保了两者间的后续操作都可以在预期的、可信的环境中执行,执行逻辑不可被篡改;然后,计算节点根据数据节点发送的数据请求,确定是否将该数据请求关联的任务数据用于可信任务的执行过程,确保了参与可信任务执行的任务数据均为可信数据,保障了执行结果的准确性;当确定任务数据可用之后,计算节点根据任务数据执行可信任务,从而解决了不同节点之间的可信任务处理缺乏规范化管理,任务处理过程中存在安全性风险的问题,实现了对涉及多方协作的可信任务的规范化管理,提高了可信任务执行的安全性、可靠性、隐私性。
在上述技术方案的基础上,可选的,在建立与计算节点的可信通信通道之前,本申请实施例方法还包括:
向计算节点发送本机节点的可信执行环境信息;
相应的,若验证通过,则建立与计算节点的可信通信通道,包括:
若对计算节点的可信执行环境验证通过,且计算节点对本机节点的可信执行环境验证通过,则建立与计算节点的可信通信通道。
也即本申请实施例中关于可信执行环境的验证过程可以是一个双向过程,如果任一方对对方的可信执行环境验证不通过,均可主动断开与对方的通信连接,从而提高了可信执行环境验证的可靠性,提升了数据节点和计算节点之间的信任度。
图9是根据本申请实施例公开的另一种基于可信执行环境的任务处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。如图9所示,该方法可以包括:
S901、从区块链中获取任务信息,并根据任务信息生成数据请求。
其中,任务信息由任务发起方通过区块链节点存储在区块链中。
S902、向计算节点发送任务信息获取请求,其中,任务信息获取请求用于请求计算节点返回可信任务的任务信息。即请求计算节点返回其在可信环境中创建可信任务时使用的任务信息。
S903、将计算节点返回的任务信息,与从区块链中获取的任务信息,进行比对。
S904、若比对结果一致,则向计算节点发送数据请求,以指示计算节点执行如下:在可信执行环境中,若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则根据数据请求关联的任务数据,执行可信任务。
根据本申请实施例的技术方案,任务信息预先存储在区块链中,实现了任务信息的去中心化存储,而且,通过数据节点利用链上数据对计算节点创建可信任务时使用的任务信息进行验证,有效防止了计算节点在创建可信任务的过程中篡改任务信息,进而创建出虚假的可信任务的现象;计算节点通过验证数据节点的数据请求,确定关联的任务数据可用之后,根据任务数据执行可信任务,从而解决了不同节点之间的可信任务处理缺乏规范化管理,任务处理过程中存在安全性风险的问题,实现了对涉及多方协作的可信任务的规范化管理,提高了可信任务执行的安全性、可靠性、隐私性。
在上述技术方案的基础上,可选的,在根据任务信息生成数据请求之前,本申请实施例方法还包括:
对任务信息进行审核;
基于审核结果,向区块链网络发送审核结果上链事务请求,以实现审核结果的上链存储。
其中,任务信息与可信任务为对应依赖关系,如果在初始阶段,数据节点对任务信息审核不通过,则意味着计算节点创建的可信任务也无法通过数据节点的审核。审核操作可以包括验证任务信息的合法性、合规性、是否包括敏感字段等。关于审核操作的具体实现,本实施例不作具体限定,例如,数据节点可以利用预先设置的审核程序对任务信息进行审核。
如果审核结果为未通过,则意味着当前数据节点拒绝参与可信任务的协作执行;如果审核结果为通过,则意味着当前数据节点同意参与可信任务的协作执行。通过将审核结果上链存储,确保了操作的可追溯性。
图10是根据本申请实施例公开的一种基于可信执行环境的任务处理装置的结构示意图,本申请实施例可以适用于通过计算节点和数据节点之间的交互,协作完成可信任务的情况。本申请实施例装置可以采用软件和/或硬件实现,并可以配置于计算节点。
如图10所示,本申请实施例公开的基于可信执行环境的任务处理装置1000可以包括任务创建模块1001、请求接收模块1002、和任务执行模块1003,其中:
任务创建模块1001,用于根据任务发起方发布的任务信息,在可信执行环境中创建可信任务;
请求接收模块1002,用于接收数据节点发送的数据请求,其中,数据请求是基于任务发起方发布的任务信息而生成;
任务执行模块1003,用于在可信执行环境中,若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则根据数据请求关联的任务数据,执行可信任务。
可选的,任务执行模块1003包括:
身份验证单元,用于在可信执行环境中,根据数据请求,对数据节点进行身份验证;
任务执行单元,用于若身份验证通过,则根据数据请求关联的任务数据,执行可信任务。
可选的,身份验证单元包括:
密钥获取子单元,用于在可信执行环境中,从任务信息中获取数据节点的密钥;
签名验证子单元,利用密钥对数据请求中携带的签名进行验证。
可选的,任务执行模块1003包括:
任务数据接收单元,用于在可信执行环境中,若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则接收数据节点发送的任务数据;
任务执行单元,用于根据接收的任务数据,执行可信任务。
可选的,请求接收模块1002具体用于:
通过与数据节点之间的可信通信通道,接收数据节点发送的数据请求。
可选的,本申请实施例装置还包括:
可信执行环境信息获取模块,用于在请求接收模块1002执行通过与数据节点之间的可信通信通道,接收数据节点发送的数据请求的操作之前,获取数据节点的可信执行环境信息;
可信执行环境验证模块,用于利用获取的可信执行环境信息,对数据节点进行可信执行环境验证;
可信通信通道建立模块,用于若验证通过,则建立与数据节点的可信通信通道。
可选的,本申请实施例装置还包括:
可信执行环境信息发送模块,用于在可信通信通道建立模块执行建立与数据节点的可信通信通道的操作之前,向数据节点发送本机节点的可信执行环境信息;
相应的,可信通信通道建立模块具体用于:
若对数据节点的可信执行环境验证通过,且数据节点对本机节点的可信执行环境验证通过,则建立与数据节点的可信通信通道。
可选的,可信执行环境信息包括以下至少之一:程序标识和程序标识签名。
可选的,任务创建模块1001具体用于:
从区块链中获取任务信息,并根据任务信息在可信执行环境中创建可信任务;
其中,任务信息由任务发起方通过区块链节点存储在区块链中。
可选的,任务执行模块1003包括:
节点数量确定单元,用于在可信执行环境中,若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,确定已经接收的任务数据所对应的目标数据节点的数量;
任务执行单元,用于若目标数据节点的数量满足预设要求,则执行可信任务。
可选的,本机节点与数据节点形成分布式可信计算系统。
本申请实施例所公开的可以配置于计算节点的、基于可信执行环境的任务处理方法装置1000可执行本申请实施例所公开的任一应用于计算节点的、基于可信执行环境的任务处理方法,具备执行方法相应的功能模块和有益效果。本申请实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。
图11是根据本申请实施例公开的另一种基于可信执行环境的任务处理装置的结构示意图,本申请实施例可以适用于通过计算节点和数据节点之间的交互,协作完成可信任务的情况。本申请实施例装置可以采用软件和/或硬件实现,并可以配置于数据节点。
如图11所示,本申请实施例公开的基于可信执行环境的任务处理装置1100可以包括请求生成模块1101和请求发送模块1102,其中:
请求生成模块1101,用于获取任务发起方发布的任务信息,并根据任务信息生成数据请求;
请求发送模块1102,用于向计算节点发送数据请求,以指示计算节点执行如下:在可信执行环境中,若根据数据请求,确定将数据请求关联的任务数据用于可信任务的执行过程,则根据数据请求关联的任务数据,执行可信任务。
可选的,请求生成模块1101包括:
任务信息获取单元,用于获取任务发起方发布的任务信息;
请求生成单元,用于根据任务信息生成数据请求;
签名单元,用于利用本机节点的密钥对数据请求进行签名,并将签名携带在数据请求中。
可选的,请求发送模块1102具体用于:
通过与计算节点之间的可信通信通道,向计算节点发送数据请求。
可选的,本申请实施例装置还包括:
可信执行环境信息获取模块,用于在请求发送模块1102执行通过与计算节点之间的可信通信通道,向计算节点发送数据请求的操作之前,获取计算节点的可信执行环境信息;
可信执行环境信息验证模块,用于利用获取的可信执行环境信息,对计算节点进行可信执行环境验证;
可信通信通道建立模块,用于若验证通过,则建立与计算节点的可信通信通道。
可选的,本申请实施例装置还包括:
可信执行环境信息发送模块,用于在可信通信通道建立模块执行建立与计算节点的可信通信通道的操作之前,向计算节点发送本机节点的可信执行环境信息;
相应的,可信通信通道建立模块具体用于:若对计算节点的可信执行环境验证通过,且计算节点对本机节点的可信执行环境验证通过,则建立与计算节点的可信通信通道。
可选的,可信执行环境信息包括以下至少之一:程序标识和程序标识签名。
可选的,请求生成模块1101包括:
任务信息获取单元,用于从区块链中获取任务信息,其中,任务信息由任务发起方通过区块链节点存储在区块链中;
请求生成单元,用于根据任务信息生成数据请求。
可选的,本申请实施例装置还包括:
任务信息请求模块,用于请求发送模块1102执行向计算节点发送数据请求的操作之前,向计算节点发送任务信息获取请求,其中,任务信息获取请求用于请求计算节点返回可信任务的任务信息;
任务信息比对模块,用于将计算节点返回的任务信息,与从区块链中获取的任务信息,进行比对;
相应的,请求发送模块1102,用于若比对结果一致,则向计算节点发送数据请求。
可选的,本申请实施例装置还包括:
信息审核模块,用于在请求生成模块1101执行根据任务信息生成数据请求的操作之前,对任务信息进行审核;
审核结果上链模块,用于基于审核结果,向区块链网络发送审核结果上链事务请求。
可选的,本机节点与计算节点形成分布式可信计算系统。
本申请实施例所公开的可以配置于数据节点的、基于可信执行环境的任务处理方法装置1100可执行本申请实施例所公开的任一应用于数据节点的、基于可信执行环境的任务处理方法,具备执行方法相应的功能模块和有益效果。本申请实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。
根据本申请的实施例,本申请实施例还提供了一种电子设备和一种可读存储介质。
如图12所示,图12是用于实现本申请实施例中基于可信执行环境的任务处理方法的电子设备的框图,该任务处理方法包括可以应用于计算节点和数据节点的任务处理方法。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请实施例的实现。典型的,该电子设备用于对计算节点和数据节点所依赖的硬件设备的通用结构进行示例性说明。
如图12所示,该电子设备包括:一个或多个处理器1201、存储器1202,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作,例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统。图12中以一个处理器1201为例。
存储器1202即为本申请实施例所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请实施例所提供的基于可信执行环境的任务处理方法。本申请实施例的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请实施例所提供的基于可信执行环境的任务处理方法。
存储器1202作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中基于可信执行环境的任务处理方法对应的程序指令/模块,例如,附图10所示的任务创建模块1001、请求接收模块1002、和任务执行模块1003,或者,附图11所示的请求生成模块1101和请求发送模块1102。处理器1201通过运行存储在存储器1202中的非瞬时软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中的基于可信执行环境的任务处理方法。
存储器1202可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器1202可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1202可选包括相对于处理器1201远程设置的存储器,这些远程存储器可以通过网络连接至用于实现本申请实施例中基于可信执行环境的任务处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用于实现本申请实施例中基于可信执行环境的任务处理方法的电子设备还可以包括:输入装置1203和输出装置1204。处理器1201、存储器1202、输入装置1203和输出装置1204可以通过总线或者其他方式连接,图12中以通过总线连接为例。
输入装置1203可接收输入的数字或字符信息,以及产生与用于实现本申请实施例中基于可信执行环境的任务处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1204可以包括显示设备、辅助照明装置和触觉反馈装置等,其中,辅助照明装置例如发光二极管(Light Emitting Diode,LED);触觉反馈装置例如,振动电机等。该显示设备可以包括但不限于,液晶显示器(Liquid Crystal Display,LCD)、LED显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路(Application Specific Integrated Circuit,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序,也称作程序、软件、软件应用、或者代码,包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置,例如,磁盘、光盘、存储器、可编程逻辑装置(Programmable Logic Device,PLD),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置,例如,阴极射线管(Cathode Ray Tube,CRT)或者LCD监视器;以及键盘和指向装置,例如,鼠标或者轨迹球,用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈,例如,视觉反馈、听觉反馈、或者触觉反馈;并且可以用任何形式,包括声输入、语音输入或者、触觉输入,来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统,例如,作为数据服务器,或者实施在包括中间件部件的计算系统,例如,应用服务器,或者实施在包括前端部件的计算系统,例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互,或者实施在包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信,例如通信网络,来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,计算节点接收到数据节点发送的数据请求后,首先根据该数据请求确定是否将该数据请求关联的任务数据用于可信任务的执行过程,实现了对任务数据的有效甄别,确保了参与可信任务执行的任务数据均为可信数据,保障了执行结果的准确性;并且,对数据请求的验证过程在可信执行环境中执行,确保了验证逻辑无法被篡改,确保了验证过程的安全性、可靠性;当确定任务数据可用之后,计算节点根据任务数据执行可信任务,从而解决了不同节点之间的可信任务处理缺乏规范化管理,任务处理过程中存在安全性风险的问题,实现了对涉及多方协作的可信任务的规范化管理,提高了可信任务执行的安全性、可靠性、隐私性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (20)
1.一种基于可信执行环境的任务处理方法,其特征在于,应用于计算节点,包括:
根据任务发起方发布的任务信息,在可信执行环境中创建可信任务;其中,所述任务信息包括至少一个数据节点以及各数据节点的密钥信息;
接收数据节点发送的数据请求,其中,所述数据节点与计算节点形成分布式可信计算系统,所述数据请求是基于所述任务发起方发布的任务信息而生成;
在所述可信执行环境中,根据所述数据请求,对所述数据节点进行身份验证;
若身份验证通过,则根据所述数据请求关联的任务数据,执行所述可信任务;
其中,所述在所述可信执行环境中,根据所述数据请求,对所述数据节点进行身份验证,包括:
在所述可信执行环境中,从所述任务信息中获取所述数据节点的密钥;
利用所述密钥对所述数据请求中携带的签名进行验证。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据请求关联的任务数据,执行所述可信任务,包括:
接收所述数据节点发送的所述任务数据;
根据接收的所述任务数据,执行所述可信任务。
3.根据权利要求1所述的方法,其特征在于,所述接收数据节点发送的数据请求,包括:
通过与所述数据节点之间的可信通信通道,接收所述数据节点发送的数据请求。
4.根据权利要求3所述的方法,其特征在于,在所述通过与所述数据节点之间的可信通信通道,接收所述数据节点发送的数据请求之前,所述方法还包括:
获取所述数据节点的可信执行环境信息;
利用获取的可信执行环境信息,对所述数据节点进行可信执行环境验证;
若验证通过,则建立与所述数据节点的可信通信通道。
5.根据权利要求4所述的方法,其特征在于,在所述建立与所述数据节点的可信通信通道之前,所述方法还包括:
向所述数据节点发送本机节点的可信执行环境信息;
相应的,所述若验证通过,则建立与所述数据节点的可信通信通道,包括:
若对所述数据节点的可信执行环境验证通过,且所述数据节点对本机节点的可信执行环境验证通过,则建立与所述数据节点的可信通信通道。
6.根据权利要求4或5所述的方法,其特征在于,所述可信执行环境信息包括以下至少之一:程序标识和程序标识签名。
7.根据权利要求1所述的方法,其特征在于,所述根据任务发起方发布的任务信息,在可信执行环境中创建可信任务,包括:
从区块链中获取所述任务信息,并根据所述任务信息在所述可信执行环境中创建所述可信任务;
其中,所述任务信息由所述任务发起方通过区块链节点存储在所述区块链中。
8.根据权利要求1所述的方法,其特征在于,所述根据所述数据请求关联的任务数据,执行所述可信任务,包括:
确定已经接收的任务数据所对应的目标数据节点的数量;
若所述目标数据节点的数量满足预设要求,则执行所述可信任务。
9.一种基于可信执行环境的任务处理方法,其特征在于,应用于数据节点,包括:
获取任务发起方发布的任务信息,并根据所述任务信息生成数据请求;其中,所述任务信息包括至少一个数据节点以及各数据节点的密钥信息;
向计算节点发送所述数据请求,以指示所述计算节点执行如下:在可信执行环境中,根据所述数据请求,对数据节点进行身份验证,若身份验证通过,则根据所述数据请求关联的任务数据,执行可信任务,所述数据节点与计算节点形成分布式可信计算系统;其中,所述可信任务是计算节点根据所述任务信息在可信执行环境中创建的;
其中,所述根据所述任务信息生成数据请求,包括:
根据所述任务信息生成数据请求;
利用本机节点的密钥对所述数据请求进行签名,并将所述签名携带在所述数据请求中。
10.根据权利要求9所述的方法,其特征在于,所述向计算节点发送所述数据请求,包括:
通过与所述计算节点之间的可信通信通道,向所述计算节点发送所述数据请求。
11.根据权利要求10所述的方法,其特征在于,在所述通过与所述计算节点之间的可信通信通道,向所述计算节点发送所述数据请求之前,所述方法还包括:
获取所述计算节点的可信执行环境信息;
利用获取的可信执行环境信息,对所述计算节点进行可信执行环境验证;
若验证通过,则建立与所述计算节点的可信通信通道。
12.根据权利要求11所述的方法,其特征在于,在所述建立与所述计算节点的可信通信通道之前,所述方法还包括:
向所述计算节点发送本机节点的可信执行环境信息;
相应的,所述若验证通过,则建立与所述计算节点的可信通信通道,包括:
若对所述计算节点的可信执行环境验证通过,且所述计算节点对本机节点的可信执行环境验证通过,则建立与所述计算节点的可信通信通道。
13.根据权利要求11或12所述的方法,其特征在于,所述可信执行环境信息包括以下至少之一:程序标识和程序标识签名。
14.根据权利要求9所述的方法,其特征在于,所述获取任务发起方发布的任务信息,包括:
从区块链中获取所述任务信息,其中,所述任务信息由所述任务发起方通过区块链节点存储在所述区块链中。
15.根据权利要求14所述的方法,其特征在于,在所述向计算节点发送所述数据请求之前,所述方法还包括:
向所述计算节点发送任务信息获取请求,其中,所述任务信息获取请求用于请求所述计算节点返回所述可信任务的任务信息;
将所述计算节点返回的任务信息,与从所述区块链中获取的任务信息,进行比对;
若比对结果一致,则向所述计算节点发送所述数据请求。
16.根据权利要求9所述的方法,其特征在于,在所述根据所述任务信息生成数据请求之前,所述方法还包括:
对所述任务信息进行审核;
基于审核结果,向区块链网络发送审核结果上链事务请求。
17.一种基于可信执行环境的任务处理装置,其特征在于,应用于计算节点,包括:
任务创建模块,用于根据任务发起方发布的任务信息,在可信执行环境中创建可信任务;其中,所述任务信息包括至少一个数据节点以及各数据节点的密钥信息;
请求接收模块,用于接收数据节点发送的数据请求,其中,所述数据节点与计算节点形成分布式可信计算系统,所述数据请求是基于所述任务发起方发布的任务信息而生成;
任务执行模块,用于在所述可信执行环境中,若根据所述数据请求,确定将所述数据请求关联的任务数据用于所述可信任务的执行过程,则根据所述数据请求关联的任务数据,执行所述可信任务;
其中,所述任务执行模块,包括:
身份验证单元,用于在所述可信执行环境中,根据所述数据请求,对所述数据节点进行身份验证;
任务执行单元,用于若身份验证通过,则根据所述数据请求关联的任务数据,执行所述可信任务;
其中,所述身份验证单元,包括:
密钥获取子单元,用于在所述可信执行环境中,从所述任务信息中获取所述数据节点的密钥;
签名验证子单元,用于利用所述密钥对所述数据请求中携带的签名进行验证。
18.一种基于可信执行环境的任务处理装置,其特征在于,应用于数据节点,包括:
请求生成模块,用于获取任务发起方发布的任务信息,并根据所述任务信息生成数据请求;其中,所述任务信息包括至少一个数据节点以及各数据节点的密钥信息;
请求发送模块,用于向计算节点发送所述数据请求,以指示所述计算节点执行如下:在可信执行环境中,根据所述数据请求,对数据节点进行身份验证,若身份验证通过,则根据所述数据请求关联的任务数据,执行可信任务,所述数据节点与计算节点形成分布式可信计算系统;其中,所述可信任务是计算节点根据所述任务信息在可信执行环境中创建的;
其中,所述请求生成模块,包括:
请求生成单元,用于根据所述任务信息生成数据请求;
签名单元,用于利用本机节点的密钥对所述数据请求进行签名,并将所述签名携带在所述数据请求中。
19.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任一项所述的基于可信执行环境的任务处理方法,或者执行如权利要求9-16中任一项所述的基于可信执行环境的任务处理方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行如权利要求1-8中任一项所述的基于可信执行环境的任务处理方法,或者执行如权利要求9-16中任一项所述的基于可信执行环境的任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010239423.4A CN111460429B (zh) | 2020-03-30 | 2020-03-30 | 基于可信执行环境的任务处理方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010239423.4A CN111460429B (zh) | 2020-03-30 | 2020-03-30 | 基于可信执行环境的任务处理方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111460429A CN111460429A (zh) | 2020-07-28 |
CN111460429B true CN111460429B (zh) | 2024-01-02 |
Family
ID=71681731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010239423.4A Active CN111460429B (zh) | 2020-03-30 | 2020-03-30 | 基于可信执行环境的任务处理方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460429B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201549B (zh) * | 2020-09-17 | 2022-11-25 | 金篆信科有限责任公司 | 切换方法、系统、服务器及存储介质 |
US11601262B2 (en) * | 2020-10-15 | 2023-03-07 | Dell Products L.P. | Distributed key management system |
CN112788111B (zh) * | 2020-12-29 | 2023-03-24 | 杭州趣链科技有限公司 | 多节点设备的算法协同处理方法、节点设备及联盟网络 |
CN112560104B (zh) * | 2021-01-17 | 2022-07-19 | 金网络(北京)电子商务有限公司 | 一种基于云计算和区块链的数据存储方法及安全信息平台 |
CN113569264A (zh) * | 2021-07-30 | 2021-10-29 | 拉扎斯网络科技(上海)有限公司 | 数据安全处理方法、装置及电子设备 |
CN113691508B (zh) * | 2021-08-06 | 2023-04-18 | 上海浦东发展银行股份有限公司 | 数据传输方法、系统、装置、计算机设备及存储介质 |
CN113709245A (zh) * | 2021-08-27 | 2021-11-26 | 浙江浙燃能源有限公司 | 一种基于区块链的工业物联网数据处理方法和相关设备 |
CN114138374B (zh) * | 2021-12-06 | 2024-06-18 | 拉扎斯网络科技(上海)有限公司 | 一种可信计算任务执行方法以及可信计算系统 |
CN115543924B (zh) * | 2022-11-29 | 2023-08-15 | 粤港澳大湾区数字经济研究院(福田) | 一种基于可信管理平台的任务处理方法及相关装置 |
CN115550070B (zh) * | 2022-11-29 | 2023-05-16 | 粤港澳大湾区数字经济研究院(福田) | 一种多方协作方法及相关装置 |
CN116225723B (zh) * | 2023-05-09 | 2023-11-21 | 粤港澳大湾区数字经济研究院(福田) | 数据处理方法、装置及计算机可读存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014183392A1 (zh) * | 2013-05-14 | 2014-11-20 | 北大方正集团有限公司 | 分布式环境下的安全通信认证方法及系统 |
WO2018032372A1 (zh) * | 2016-08-13 | 2018-02-22 | 深圳市樊溪电子有限公司 | 基于区块链技术的可信电力网络交易平台 |
WO2018126029A2 (en) * | 2016-12-30 | 2018-07-05 | Intel Corporation | Blockchains for securing iot devices |
CN108965051A (zh) * | 2018-06-29 | 2018-12-07 | 佛山伊苏巨森科技有限公司 | 一种通过区块链服务器进行设备调试的方法 |
CN109492438A (zh) * | 2018-10-24 | 2019-03-19 | 梅艳 | 基于TrustZone的分布式计算系统 |
CN109660358A (zh) * | 2019-01-08 | 2019-04-19 | 余炀 | 一种基于区块链及安全执行环境的数据流通方法 |
CN109726887A (zh) * | 2018-10-12 | 2019-05-07 | 西安电子科技大学 | 基于区块链的移动众包数据数据采集与处理系统及方法 |
CN109784509A (zh) * | 2019-01-09 | 2019-05-21 | 常州易管智能科技有限公司 | 一种基于互联网的tpm系统 |
CN109889498A (zh) * | 2019-01-16 | 2019-06-14 | 余炀 | 基于区块链的计算验证方法及系统 |
CN110096542A (zh) * | 2019-04-29 | 2019-08-06 | 百度在线网络技术(北京)有限公司 | 去中心化的数据验证处理方法、装置、系统和介质 |
CN110826992A (zh) * | 2019-10-31 | 2020-02-21 | 百度在线网络技术(北京)有限公司 | 基于区块链的政务信息处理方法、装置、设备和介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110072502A1 (en) * | 2009-09-18 | 2011-03-24 | Zhexuan Song | Method and Apparatus for Identity Verification |
US10754693B2 (en) * | 2018-07-05 | 2020-08-25 | Vmware, Inc. | Secure transfer of control over computational entities in a distributed computing environment |
US10944547B2 (en) * | 2018-08-10 | 2021-03-09 | International Business Machines Corporation | Secure environment device management |
-
2020
- 2020-03-30 CN CN202010239423.4A patent/CN111460429B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014183392A1 (zh) * | 2013-05-14 | 2014-11-20 | 北大方正集团有限公司 | 分布式环境下的安全通信认证方法及系统 |
WO2018032372A1 (zh) * | 2016-08-13 | 2018-02-22 | 深圳市樊溪电子有限公司 | 基于区块链技术的可信电力网络交易平台 |
WO2018126029A2 (en) * | 2016-12-30 | 2018-07-05 | Intel Corporation | Blockchains for securing iot devices |
CN108965051A (zh) * | 2018-06-29 | 2018-12-07 | 佛山伊苏巨森科技有限公司 | 一种通过区块链服务器进行设备调试的方法 |
CN109726887A (zh) * | 2018-10-12 | 2019-05-07 | 西安电子科技大学 | 基于区块链的移动众包数据数据采集与处理系统及方法 |
CN109492438A (zh) * | 2018-10-24 | 2019-03-19 | 梅艳 | 基于TrustZone的分布式计算系统 |
CN109660358A (zh) * | 2019-01-08 | 2019-04-19 | 余炀 | 一种基于区块链及安全执行环境的数据流通方法 |
CN109784509A (zh) * | 2019-01-09 | 2019-05-21 | 常州易管智能科技有限公司 | 一种基于互联网的tpm系统 |
CN109889498A (zh) * | 2019-01-16 | 2019-06-14 | 余炀 | 基于区块链的计算验证方法及系统 |
CN110096542A (zh) * | 2019-04-29 | 2019-08-06 | 百度在线网络技术(北京)有限公司 | 去中心化的数据验证处理方法、装置、系统和介质 |
CN110826992A (zh) * | 2019-10-31 | 2020-02-21 | 百度在线网络技术(北京)有限公司 | 基于区块链的政务信息处理方法、装置、设备和介质 |
Non-Patent Citations (2)
Title |
---|
基于区块链的分布式K匿名位置隐私保护方案;刘海;李兴华;雒彬;王运帷;任彦冰;马建峰;丁红发;;计算机学报(第05期);全文 * |
基于可信计算技术的自助服务系统终端可信环境构建研究;魏革;任香;刘丹;魏毓;余永权;汪明慧;林伟;何元烈;;广东工业大学学报(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111460429A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111460429B (zh) | 基于可信执行环境的任务处理方法、装置、设备和介质 | |
CN111683071B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
JP7069286B2 (ja) | プライバシーデータの処理方法、プライバシーデータの処理装置、機器及び媒体 | |
CN111143890B (zh) | 一种基于区块链的计算处理方法、装置、设备和介质 | |
JP6234607B2 (ja) | 処理されたデータを検証する方法および装置 | |
CN111737366B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
CN110492990B (zh) | 区块链场景下的私钥管理方法、装置及系统 | |
CN111275404B (zh) | 基于区块链的评审方法、装置、设备和介质 | |
JP2024505692A (ja) | ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器 | |
CN111464297B (zh) | 基于区块链的事务处理方法、装置、电子设备和介质 | |
CN110084600B (zh) | 决议事务请求的处理、验证方法、装置、设备及介质 | |
CN114363088B (zh) | 用于请求数据的方法和装置 | |
EP3869374B1 (en) | Method, apparatus and electronic device for processing user request and storage medium | |
JP7317084B2 (ja) | トラステッド環境の遠隔検証方法、装置、機器、システムおよび媒体 | |
WO2022142436A1 (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN111400743B (zh) | 基于区块链网络的事务处理方法、装置、电子设备和介质 | |
CN116011590A (zh) | 联邦学习方法、装置和系统 | |
WO2022143298A1 (zh) | 基于区块链的数据处理方法和装置 | |
CN112261015A (zh) | 基于区块链的信息共享方法、平台、系统以及电子设备 | |
CN115473747B (zh) | 一种状态变更方法、装置、设备及存储介质 | |
CN111339571B (zh) | 一种区块链密钥管理方法、装置、设备和存储介质 | |
CN111371557B (zh) | 区块链数据处理方法、装置、电子设备及介质 | |
CN111339188B (zh) | 基于区块链的媒介内容处理方法、装置、设备和介质 | |
CN111339198A (zh) | 基于区块链的水务处理方法、装置、系统、设备和介质 | |
CN116980209A (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 |