CN113312630B - 实现可信调度的方法及装置 - Google Patents
实现可信调度的方法及装置 Download PDFInfo
- Publication number
- CN113312630B CN113312630B CN202110602331.2A CN202110602331A CN113312630B CN 113312630 B CN113312630 B CN 113312630B CN 202110602331 A CN202110602331 A CN 202110602331A CN 113312630 B CN113312630 B CN 113312630B
- Authority
- CN
- China
- Prior art keywords
- scheduling
- workflow
- node
- trusted
- verified
- 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
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书一个或多个实施例提供一种实现可信调度的方法及装置,调度***接收调用方针对调度工作流中的输入节点提供的请求参数,并根据请求参数和调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;调用方获取调度***提供的各工作流节点分别对应的输入数据和输出数据,并根据获取的输入数据、输出数据与调用方预先对调度工作流进行验证后锚定的调度关系之间的匹配情况,确定调度***是否实现了可信调度,以完成对调度过程的验证,提升调度结果的可信程度。
Description
技术领域
本说明书一个或多个实施例涉及隐私计算领域,尤其涉及一种实现可信调度的方法及装置。
背景技术
在TEE(Trusted execution environment,可信执行环境)隐私计算的场景中,往往需要使用调度工作流对多个可信应用(TA,Trusted Application)做调度。虽然每个可信应用都能保证自身的计算过程是可信的,但是由于计算过程有调度工作流的参与,调用方也需要确认调度工作流对应的调度过程是符合预期、没有被篡改的,否则计算的结果也难以被认为可信。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种实现可信调度的方法及装置。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种实现可信调度的方法,包括:
调度***接收调用方针对调度工作流中的输入节点提供的请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他的至少一个计算节点;以及,所述调度***根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系。
调用方获取所述调度***提供的各工作流节点分别对应的输入数据和输出数据,并根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度。
根据本说明书一个或多个实施例的第二方面,提出了一种实现可信调度的方法,应用于调度***,包括:
接收调用方针对调度工作流中的输入节点提供的请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他的至少一个计算节点;并且,根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系。
发送所述调度***提供的各工作流节点分别对应的输入数据和输出数据至调用方,以使所述调用方根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度。
根据本说明书一个或多个实施例的第三方面,提出了一种实现可信调度的方法,应用于调用方,包括:
针对调度工作流中的输入节点向调度***提供请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他至少一个计算节点;以使所述调度***根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系;
获取所述调度***提供的各工作流节点分别对应的输入数据和输出数据,并根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度。
根据本说明书的第四方面,提出了一种实现可信调度的装置,应用于调度***,包括:
接收单元,用于接收调用方针对调度工作流中的输入节点提供的请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他的至少一个计算节点。
分配单元,用于根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系。
发送单元,用于发送所述调度***提供的各工作流节点分别对应的输入数据和输出数据至调用方,以使所述调用方根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度。
根据本说明书的第五方面,提出了一种实现可信调度的装置,应用于调用方,包括:
提供单元,用于针对调度工作流中的输入节点向调度***提供请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他至少一个计算节点;以使所述调度***根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系。
确定单元,用于获取所述调度***提供的各工作流节点分别对应的输入数据和输出数据,并根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度。
根据本说明书的第六方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述第一方面的实施例中所述的方法。
根据本说明书实施例的第七方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述第一方面的实施例中所述方法的步骤。
附图说明
图1是一示例性实施例提供的一种调度工作流的示意图。
图2是一示例性实施例提供的一种实现可信调度的方法的流程图。
图3是一示例性实施例提供的第二种实现可信调度的方法的流程图。
图4是一示例性实施例提供的第三种实现可信调度的方法的流程图。
图5是一示例性实施例提供的一种实现可信调度的方法的多方交互图。
图6是一示例性实施例提供的另一种实现可信调度的方法的多方交互图。
图7是一示例性实施例提供的一种实现可信调度的设备的结构示意图。
图8是一示例性实施例提供的一种实现可信调度的装置的框图。
图9是一示例性实施例提供的另一种实现可信调度的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
可信执行环境(Trusted Execution Environment,TEE)是一种解决隐私问题的方式。TEE可以起到硬件中的黑箱作用,在TEE中执行的代码和数据操作***层都无法偷窥,只有代码中预先定义的接口才能对其进行操作。在效率方面,由于TEE的黑箱性质,在TEE中进行运算的是明文数据,而不是同态加密中的复杂密码学运算,计算过程效率没有损失,因此与TEE相结合可以在性能损失较小的前提下很大程度上提升区块链的安全性和隐私性。目前工业界十分关注TEE的方案,几乎所有主流的芯片和软件联盟都有自己的TEE解决方案,包括软件方面的TPM(Trusted Platform Module,可信赖平台模块)以及硬件方面的IntelSGX(Software Guard Extensions,软件保护扩展)、ARM Trustzone(信任区)和AMD PSP(Platform Security Processor,平台安全处理器)。
在可信执行环境中可以运行多个应用程序,以实现相应的隐私计算,上述运行于可信执行环境内的程序被称为可信应用程序(TA,Trusted Application),为了完成一个计算任务,可能需要多个可信应用程序相互配合,在本说明书中,可以由调度***对多个可信应用之间相互配合的过程进行调度。具体而言,调度***对可以依据有向无环的调度工作流在各个可信应用之间进行调度,上述有向无环的调度工作流可以由一个有向无环图(DAG,Directed Acyclic Graph)表示,本说明书中的调度工作流存在多个节点,各个节点之间由有向边连接,例如节点i和节点j之间由有向边[i,j]连接,那么,有向边[i,j]则可以称为:以节点i为起点、以节点j为终点的有向边;并且,在表示本说明书的调度工作流的有向无环图中,由任一节点出发,按照有向边的方向无法再次回到出发的节点;此外,在有向无环图中,除了位于首位的输入节点和位于末位的输出节点,位于中间的节点均存在至少一条输入边以及至少一条输出边,任一节点的输入边为以此节点为终点的有向边,任一节点的输出边为以此节点为起点的有向边。并且,在本说明书中,除了输入节点与输出节点。每个位于输入节点与输出节点之间的节点均存在其对应的可信应用,此类节点可以称为计算节点,任一计算节点对应的可信应用依据自身的计算逻辑对从此计算节点的输入边输入的数据进行计算后构造输出数据,并依据下一个以此计算节点为起点的有向边,将输出数据输入给上述有向边的终点对应的节点,并且,向任一计算节点输入数据的节点和此计算节点之间必然存在以向此计算节点输入数据的节点为起点、以此计算节点为终点的有向边,上述有向边对应有调度工作流的调度关系,上述调度关系表示了任一计算节点所对应可信应用的计算输出,与以此计算节点为起点的有向边的终点对应的计算节点的计算输入之间的映射关系,上述计算输入为向计算节点对应的可信应用的输入。
下面结合上述内容以及图1示出的调度工作流,对调度工作流中的各个结构以及相应的调度机理进行形象化的解释:
图1示出的调度工作流中存在5个节点,位于首位的是输入节点,位于末位的输出节点,位于输入节点与输出节点之间的节点i、节点j、节点k分别对应于可信应用TA1、TA2、TA3,可信应用对输入节点的数据计算处理,并根据计算结果构造输出数据,因此存在可信应用的节点也被称为计算节点,因此节点i、j、k也被可以被称为计算节点i、j、k。此外,以计算节点i为起点、以计算节点j为终点的有向边可以用[i,j]表示,有向边[i,j]代表节点i对应的可信应用TA1计算得出的数据可以沿着有向边[i,j]输入至节点j,节点j对应的可信应用TA将会对输入数据进行处理,同样的,节点k存在两条向其输入数据的有向边,分别为[j,k]和[i,k]。值得注意的是,在实际的计算场景中,计算节点对输入数据计算后得出的输出结果体量大、形式复杂,而在一条有向边中,与此计算节点相连的下一个计算节点可能仅需要此结算节点输出结果中的一部分进行计算,因此节点之间的有向边存在映射关系,上述映射关系代表了上一个计算节点的输出结果与下一个计算节点的输入之间的关系,换言之,通过上述映射关系可以得知下一个计算节点进行计算时使用的数据与上一个计算节点输出结果之间的映射关系,上述映射关系也可以被称为调度关系,显而易见的是,由上述调度关系中同样可以获得调度工作流各个节点之间的连接关系,因此通过上述调度关系结合输入节点、输出节点可以对调度工作流的整体结构进行复现。
值得注意的是,图1所示的调度工作流仅是示意性的,在实际应用中的调度工作流更加复杂多变,为了便于理解,遂采用图1所示的较为简明的调度工作流进行解释说明,凡是与图1所示调度工作流逻辑相通的数据结构均包含于本说明书所述的调度工作流的范畴内。
调度工作流基于上述工作机理对各个节点之间计算过程进行调度,图2为根据本说明书一示例性实施例示出的一种实现可信调度的方法的流程图。如图2所示,该方法可以包括如下步骤:
步骤202:调度***接收调用方针对调度工作流中的输入节点提供的请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他的至少一个计算节点;以及,所述调度***根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系。
在一实施例中,调用方可以被理解为对应于调度工作流中的首个节点,调用方可以构造请求参数,作为输入节点的输出,输入到与输入节点通过有向边相连的计算节点内进行计算,在输入到下一个计算节点时,需要依据相应的有向边所对应的调度关系。
在一实施例中,调度***接收到输入节点的请求参数,可以依据与输入节点相连的有向边所对应的调度关系,构造上述有向边指向的计算节点的输入数据并请求其中的可信应用对上述输入数据进行计算,上述计算节点接收到输入数据后利用其对应的可信应用对输入数据进行处理,进而得到计算结果,并依据计算结果构造输出数据,以输入到下一个以上述计算节点为起点的工作流节点内。
在一实施例中,调度***根据请求参数和调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务时,可以针对每一个计算节点,根据调度工作流确定向此计算节点输入数据的关联节点,当所有的关联节点均已完成输出的情况下,向所述此计算节点分配计算任务。具体而言,在确定关联节点时,可以确定以此计算节点为终点的调度关系,并根据上述调度关系,将调度关系中处于起点的节点作为关联节点。
在一实施例中,关联节点完成输出时,可以生成凭证,例如令牌(Token),以代表关联节点已经完成计算并且输出,因此,调度***在确定关联节点是否完成输出时,可以根据凭证确定已经完成输出的节点,从而向全部关联节点均输出完成的计算节点分配计算任务。
步骤204:调用方获取所述调度***提供的各工作流节点分别对应的输入数据和输出数据,并根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度。
在一实施例中,调用方预先可以对调用工作流的调度关系进行验证,并将验证通过的调度关系作为锚定的调度关系留存,以供对计算过程中使用的调度工作流进行验证,可以理解的是,当调度***依据调度工作流对整体的计算过程进行调度后,可以得出最终的计算结果,调用方只有验证整体的调度过程可信,才能确认最终的计算结果可信,而整体的调度过程可信代表了调度***的调度过程中包含的调度关系和已经锚定的调度关系一致。由于调度关系表征了任一计算节点的输入与输出之间的关系以及各个计算节点之间的连接关系,因此结合输入节点与输出节点可以完成对调度工作流的整体架构的复现,计算时使用的调度关系如果和已经锚定的调度关系保持一致,则可以说明计算时使用的调度工作流的整体架构中并未新增或者删除节点,否则,调度关系必然会出现不一致的情况。通过对调度关系的验证,可以证明调度***使用的调度工作流是否被篡改,进而使调用方及时发现在实际计算中应用的调度工作流和调用方预想的不一致的情况,对于每一条有向边所对应的起点的输出数据与其终点的输入数据和锚定的调度关系匹配,则可以证明上述调度过程的确按照锚定的调度关系进行,进一步验证了调度过程的可信性。
在一实施例中,根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度可以具体为:调用方根据所述调度***提供的各工作流节点分别对应的输出数据和所述调用方预先对所述调度工作流进行验证后锚定的调度关系,重构各工作流节点分别对应的输入数据,并将重构的输入数据与所述调度***提供的输入数据进行比较,根据比较结果确定所述调度***是否实现了可信调度。在本实施例中,如果调度工作流的整体结构未被篡改,则调度关系和锚定的调度关系将会保持一致,如果利用锚定的调度关系重构任一个节点的输入数据,将和实际的输入数据保持一致。因此,对于任一个有向边,可以在位于有向边的终点的计算节点构造输出数据中,包含位于此有向边的起点的计算节点的输出数据,因此可以利用上述输出数据和锚定的调度关系重构位于此有向边终点的计算节点的输入数据,并将重构的输入数据和调度***实际返回的输入数据相比较,以验证此有向边对应的调度关系可信,当全部有向边对应的调度关系均被验证为可信,则可以确认上述调度工作流所对应的调度过程可信。
在一实施例中,任一工作流节点的输出数据可以包含:任一工作流节点的输入数据的信息、所述工作流节点的输出结果;任一工作流节点的输入数据包含:以所述任一工作流节点为终点的调度关系、所述以所述任一工作流节点为终点的调度关系中作为起点的各工作流节点的输出结果;在上述情况下,重构任一工作流节点对应的输入数据可以具体为:根据以所述任一工作流节点为终点的调度关系中作为起点的各工作流节点的输出结果以及以所述任一工作流节点为终点的调度关系,重构所述任一工作流节点对应的输入数据。
举例而言,对于有向边[i,j],节点j对应的输入数据中包含节点i输出数据以及有向边[i,j]对应的调度关系,而节点j对应的输出数据中包含节点j的输入数据信息以及节点j的输出结果(节点i的输出数据同理)。由于节点j的输出数据包含了节点j的输入数据信息,并且输入数据信息中包含了节点i的输出数据以及有向边[i,j]对应的调度关系,因此可以从调度***提供的节点i的输出数据或者节点j的输出数据中提取节点i的输出结果以及锚定的调度关系重构节点j的输入数据并和原本的输入数据进行比较;为了节省存储空间,可以将节点j的输入数据进行哈希计算生成输入数据信息,当节点j的输出数据中包含的输入数据信息为输入数据的哈希值时,可以从节点i的输出数据中提取到节点i输出结果,并根据锚定的调度关系重构节点j的输入数据并计算哈希,与节点j输出数据中携带的输入数据哈希比较,一致时认定调度关系可信。
在一实施例中,调用方可以对所述调度工作流中通过验证的调度关系逐个签名,以生成用于锚定各调度关系的第一证据组。上述第一数据组可以由键值对的形式表达,即每个有向边及其对应的锚定的调度关系形成一个键值对,作为第一证据组中的一个第一证据,因此,每个有向边及其对应的锚定的调度关系的组合,形成多个键值对,形成第一证据组。在本实施例中,第一证据组中包含通过验证的、每个有向边对应的调度关系,因此在后续的验证过程中,可以准确定位到未通过验证的调度关系以及其对应于的有向边,以便于在验证不通过的情况下精准定位出现问题的调度关系,以提升后续的处理效率。
在一实施例中,第一证据组可以由调用方进行维护,或者由调度***进行维护,本领域技术人员可以根据实际应用情况进行灵活选择。
在一实施例中,在调度***维护第一证据组时,为了确认第一证据组中每条第一证据未被篡改,调用方可以对每条有向边对应的调度关系进行签名,将签名与相应的调度关系作为每条第一证据,以形成第一证据组;或者,第一证据组中的每个第一证据仅包括调用方针对通过验证的调度关系生成的签名。
可选的,在第一证据组中仅包含对各个调度关系的签名的情况下,调用方可以获取第一证据组并对上述签名逐个验证,如果均通过,则证明上述第一证据组确为调用方对锚定的调度关系进行的签名,此时调用方可以对调度***返回的调度关系依次进行签名,并将各个签名与第一证据组中相应的签名进行比对,如果全部比对一致,则证明调度***返回的调用关系和锚定的调度关系一致,以此可以确认调度关系可信,进而通过输入输出之间的关系。本实施例中的第一证据组仅包含签名,因此占用内存较少,可以节省调度***和调用方的存储空间,提升传输第一证据组时的效率。
可选的,在第一证据组中包含各个锚定的调度关系以及相应的签名的情况下,调用方可以获取第一证据组并对上述签名逐个验证,如果均通过,则证明上述第一证据组确为调用方对锚定的调度关系进行的签名,根据数字签名的性质,同时可以证明第一证据组中的各个锚定的调度关系并未被篡改,此时可以将调度***返回的调度关系与第一证据组中相应的锚定的调度关系进行比对,如果全部比对一致,则证明调度***返回的调用关系和锚定的调度关系一致,以此可以确认调度过程可信。本实施例中的第一证据组包含签名及相应的调度关系,根据数字签名本身的特性,可以保证第一证据中的调度关系未被篡改,在验证时无需再对调度***返回的调度关系签名,可以直接使用第一证据组中的调度关系作为锚定的调度关系进行验证。
在一实施例中,调用方可以对第一证据组进行签名以生成第二证据,由于第一证据组中的多个签名分别针对的是各个有向边对应的调度关系,而第二证据是对第一证据组整体进行的签名,因此第二证据组可以被用于验证所述第一证据组的完整性,以保证锚定的调度关系对应于调度工作流中的全部调度关系,并没有出现缺失的情况。
在一实施例中,调用方可以获取调度***提供的各计算节点分别对应的数据签名,上述数据签名为相应计算节点对应的可信应用对自身产生的输出数据的签名;在上述情况下,调用方可以利用预先对所述调度工作流中的计算节点对应的可信应用进行验证后锚定的可信应用信息对所述数据签名进行验证;在本实施例中,上述数据签名通过验证可以被理解为调度***被确认为实现了可信调度的条件之一。具体而言,可信应用可以生成公私钥对,并利用私钥对自身产生的输出数据进行签名,调用方可以从锚定的可信应用信息中提取相应可信应用的公钥,并使用公钥对上述签名进行实施验签操作,当签名验证通过时,可以证明上述输出数据确由锚定的可信应用计算生成。通过本实施例,不仅可以对调度工作流中的调度关系进行验证,也可以对调度工作流各个计算节点中对应的可信应用进行验证,同时可以证明输出数据和调用方锚定的可信应用之间的对应关系,当上述条件均满足时,可以确认调度工作流实现了可信调度,相比于仅对调度关系进行验证,可以避免调度工作流结构未发生变化但计算节点中的可信应用遭到替换的情况,因此,经过上述步骤验证的调度工作流所具有的可信程度更高。
在一实施例中,调用方对所述调度工作流中通过验证的调度关系以及通过验证的可信应用信息逐个签名,以生成用于锚定各调度关系以及各可信应用的第三证据组。上述第三证据组可以由调用方进行维护;或者,第三证据组由所述调度***进行维护。
在一实施例中,在调度***中维护第三证据组时,为了确认第三证据组中每条第一证据未被篡改,调用方可以对每条有向边对应的调度关系以及此条有向边对应的终点对应的可信应用信息进行签名,将签名与相应的调度关系以及可信应用信息作为每条第三证据,以形成第三证据组;或者,第三证据组中的每个第三证据仅包括调用方针对通过验证的调度关系以及相应的可信应用信息生成的签名。
可选的,在第三证据组中仅包含对各个调度关系以及相应的可信应用信息的签名的情况下,调用方可以获取第三证据组并对上述签名逐个验证,如果均通过,则证明上述第三证据组确为调用方对锚定的调度关系以及锚定的可信应用信息进行的签名,此时调用方可以对调度***返回的调度关系以及可信应用信息依次进行签名,并将各个签名与第三证据组中相应的签名进行比对,如果全部比对一致,则证明调度***返回的调用关系和锚定的调度关系一致的同时,返回的可信应用信息与锚定的可信应用信息也一致,以此可以确认调度过程可信。本实施例中的第三证据组仅包含签名,因此占用内存较少,可以节省调度***和调用方的存储空间,提升传输第三证据组时的效率。
可选的,在第三证据组中包含各个锚定的调度关系以及锚定的可信应用信息和相应的签名的情况下,调用方可以获取第三证据组并对上述签名逐个验证,如果均通过,则证明上述第三证据组确为调用方对锚定的调度关系以及锚定的可信应用信息进行的签名,根据数字签名的性质,同时可以证明第三证据组中的各个锚定的调度关系和锚定的可信应用信息并未被篡改,此时可以将调度***返回的调度关系以及可信应用信息分别与第三证据组中相应的锚定的调度关系以及锚定的可信应用信息进行比对,如果全部比对一致,则证明调度***返回的调用关系和锚定的调度关系一致的同时,其返回的可信应用信息与锚定的可信应用信息也一致,以此可以证明不仅调度过程可信,并且各个计算节点对应的可信应用也可信。本实施例中的第三证据组包含签名及相应的锚定的调度关系和锚定的可信应用信息,根据数字签名本身的特性,可以保证第三证据中的调度关系和可信应用信息未被篡改,在验证时无需再对调度***返回的调度关系和可信应用信息进行签名,可以直接使用第三证据组中的调度关系和可信应用信息分别作为锚定的调度关系和锚定的可信应用信息进行验证。
在一实施例中,调用方可以对第三证据组进行签名以生成第四证据,由于第三证据组中的多个签名分别针对的是各个有向边对应的调度关系以及上述有向边的终点对应的可信应用信息,而第四证据是对第三证据组整体进行的签名,因此第四证据组可以被用于验证所述第三证据组的完整性,以保证锚定的调度关系对应于调度工作流中的全部调度关系的同时,锚定的可信应用信息也对应于调度工作流中全部计算节点对应的可信应用,并没有出现缺失的情况。
在一实施例中,调度工作流中的工作流节点还包括位于所述调度工作流末尾的输出节点;在调用方通过上述的验证步骤确认调度***实现可信调度的情况下,可以将所述输出节点对应的输出数据作为最终的可信调度结果。
由上述实施例可知,本说明书提供的技术方案通过预先对调度工作流的调度关系和各个计算节点对应的可信应用信息进行验证,以生成锚定的调度关系和锚定的可信应用信息;在调度***依据调度工作流和请求参数对计算过程进行调度并输出结果后,调用方可以依据每个节点输入数据、输出数据以及相应的调度关系对调度工作流进行复现,并将实际计算过程使用的工作流中的调度关系与锚定的调度关系进行匹配,以验证调度过程的可信性,为了提升验证结果的可信程度,可信应用可以对输出结果进行签名,进而调用方可以对签名进行验证,以确定输出结果确由已经锚定的可信应用计算得出。通过本说明书的技术方案,可以对调度工作流进行验证,保证在调度工作流可信的情况下再将输出数据作为可信的调度结果输出,以此提升结果的可信程度,并且,在本说明书提供的技术方案中,调用方以及调度***无需设置于可信环境中,具有极高的灵活性。
图3为根据本说明书一示例性实施例示出的一种实现可信调度的方法的流程图,上述方法应用于调度***,可以包括以下步骤:
步骤302:接收调用方针对调度工作流中的输入节点提供的请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他的至少一个计算节点;并且,根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系。
步骤304:发送所述调度***提供的各工作流节点分别对应的输入数据和输出数据至调用方,以使所述调用方根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度。
具体的实施方式、扩展实施例以及相关的解释说明参见上文,本说明书在此不再赘述。
图4为根据本说明书一示例性实施例示出的一种实现可信调度的方法的流程图,上述方法应用于调用方,可以包括以下步骤:
步骤402:针对调度工作流中的输入节点向调度***提供请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他至少一个计算节点;以使所述调度***根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系。
步骤404:获取所述调度***提供的各工作流节点分别对应的输入数据和输出数据,并根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度。
具体的实施方式、扩展实施例以及相关的解释说明参见上文,本说明书在此不再赘述。
图5是本说明书一示例性实施例提供的一种实现可信调度方法的多方交互图。图5示出的是锚定的调度关系以及锚定的可信应用信息的生成过程,即调用方预先对调度工作流的审核过程,上述过程可以包含以下步骤:
步骤502~504:调用方51生成非对称公私钥加密对,公钥用CALLER_PK表示,私钥用CALLER_SK表示。由于调度***52依据调度工作流对计算过程进行调度,因此调用方需要向调度***52发起对调度工作流的验证请求。
步骤506:调度***52响应于调用方发起的验证请求,获取待验证的调度工作流的节点信息,换言之,调度***52需要明确调度工作流中存在的输入节点、输出节点以及位于两者中间的计算节点。
步骤508:调度***52向可信执行环境53请求可信应用信息。由于每个计算节点均存在对应的可信应用,上述可信应用部署于可信执行环境53中,因此调度***52可以向可信执行环境发起获取其中的可信应用的请求。
步骤510~512:可信执行环境53响应于上述请求,执行步骤510,生成对应于各个可信应用的可信应用报告,可信应用报告中至少包含此可信应用的公钥(TA_PK)、代码、代码哈希以及安全环境属性报告,其中安全环境属性报告反映了上述可信应用是否的确运行于可信执行环境53中,对于安全环境属性报告的生成以及验证过程参见相关技术,在此不再赘述。IAS(Intel Attestation Service,英特尔验证服务)对上述可信应用报告签名后生成可信应用信息(用TA_INFO表示)返回至调度***52。
步骤514~516:调度***52收集各个可信应用的信息以及调度工作流中各个有向边对应的调度关系,并且将每个节点对应的可信应用信息以及以此节点为终点的调度关系和此节点相关联,汇总发送至调用方。以节点j为例,节点j的可信应用信息可以用TA_INFO[j]表示,以节点j为终点的有向边可以用[:,j]表示,以节点j为终点的有向边所对应的调度关系可以用DATA_ASSIGN_MAP[:,j]表示,由于可能存在多个以节点j为终点的有向边,进而可能存在多个对应的调度关系,节点j对应的调度关系可以汇总为List<DATA_ASSIGN_MAP[:,j]>,调度***52可以将调度工作流中的每个节点对应的上述相关信息相关联,形成Map<j,(List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j])>,Map可以表现为键值对的形式,Map中包含调度工作流中的各个节点与相应的调度关系以及可信应用信息之间的关联关系,Map被调度***52发送至调用方51。
步骤518:调用方51对Map中包含的调度关系以及可信应用信息进行验证。如果调用方51认可Map中包含的可信应用信息以及调度关系,则上述经过验证并通过的可信应用信息称为锚定的可信应用信息,上述经过验证的调度关系称为锚定的调度关系。调用方51可以利用生成的CALLER_SK对Map中经过验证并通过的每一个节点对应的锚定的可信应用信息以及锚定的调度关系进行签名,例如对于节点j,调用方可以使用CALLER_SK对Map<j,(List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j])>>中节点j对应的List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j]进行签名以生成<j,sign((List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j]),CALLER_SK)>,每个节点生成的签名共同组成Proof_1,换言之,Proof_1中包含各个节点以及其对应的调用方的签名,因此Proof_1也可以用键值对的形式表示,其中包含了多个签名和各个签名与节点的对应关系,Proof_1=Map<j,sign((List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j]),CALLER_SK)>。
此外,调用方可以使用CALLER_SK对Proof_1做签名,构造Proof_2=sign(Proof_1,CALLER_SK),换言之,Proof_1中包含多个签名,并且每个签名分别对应各个节点对应的锚定的可信应用信息以及调度关系,而Proof_2只包含一个签名,是针对Proof_1的整体进行的签名,旨在保证Proof_1的完整性。
步骤520~522:调用方51生成Proof_、Proof_2后返回至调度***52中,调度***52对Proof_1与Proof_2保存以供在验证调度流程时使用。Proof_1、Proof_2作为证据锚定了可信应用信息以及调度关系,调度***按照调度工作流调度运算过程并生成结果后,可以根据实际的输入输出数据对实际的节点输入数据进行重构,验证重构的输出数据是否与实际输出数据匹配的同时,也可以验证输出数据是否的确由已经锚定的可信应用计算得出,进而完成对工作流调度过程的验证。
图6是本说明书一示例性实施例提供的另一种实现可信调度方法的多方交互图。图6示出的是调度工作流的实际调度与计算过程以及调用方对调度工作流的验证过程,上述过程可以包含以下步骤:
首先,明确下述几个概念,以节点j为例,存在节点j的输入数据与节点j的输出数据,本说明书中的输入数据与输出数据中不仅包含节点j对应的可信应用的输入的待计算的数据或计算结果,而代表了一个完整的结构体。具体而言:
节点j的输入数据(输入结构体)可以用|TA_INPUT[j]|表示,其中包含三部分内容:
第一部分List<|TA_OUTPUT|>:代表List<DATA_ASSIGN_MAP[:,j]>中,对应起始节点的输出,即以节点j为终点的有向边对应的起点的输出数据(输出结构体);
第二部分List<DATA_ASSIGN_MAP[:,j]:代表以节点j为终点的有向边对应的调度关系;
第三部分sign(List<DATA_ASSIGN_MAP[:,j]>,CALLER_SK):代表调用方对以节点j为终点的有向边对应的调度关系的签名,第三部分可以省略;
因此,节点j对应的输入数据(输入结构体)可以用以下表达式表达:
TA_INPUT[j]=(List<|TA_OUTPUT|>,List<DATA_ASSIGN_MAP[:,j]>,sign(List<DATA_ASSIGN_MAP[:,j]>,CALLER_SK))。
节点j的输出数据(输出结构体)可以用|TA_OUTPUT[j]|表示:其中包含三部分内容:
第一部分hash(|TA_INPUT[j]|:代表对节点j的输入数据(输入结构体)进行哈希计算得出的哈希值;
第二部分TA_OUTPUT[j]:代表节点j对应的可信应用进行计算得出的输出结果;
第三部分sign(hash(|TA_INPUT[j]|),TA_OUTPUT[j],TA_SK:代表了节点j对应的可信应用对第一部分与第二部分数据的签名;
因此,节点j对应的输出数据(输出结构体)可以用以下表达式表达:
|TA_OUTPUT[j]|=(hash(|TA_INPUT[j]|),TA_OUTPUT[j],sign(hash(|TA_INPUT[j]|),TA_OU TPUT[j],TA_SK))。
明确上述概念后,下文将结合图7对相关步骤进行详细的解释:
步骤602:调用方61构造请求参数。调用方61针对位于调度工作流首位的输入节点构造请求参数,上述请求参数可以被理解为首位输入节点对应的输出数据(输出结构体)。假设位于首位的输入节点用0表示,则输入节点0的输出数据|TA_OUTPUT[0]|可以被构建为:(hash(|TA_INPUT[0]|),TA_OUTPUT[0],sign(hash(|TA_INPUT[0]|),TA_OUTPUT[0],TA_SK))。由于位于首位的输入节点没有输入数据,并且位于首位的输入节点没有对应的可信应用,故:
|TA_INPUT[j]|=(List<>,List<>,sign<List<>,CALLER_SK>)=常数
因此:
|TA_OUTPUT[0]|=(hash(常数),TA_OUTPUT[0],sign(hash(常数」),TA_OUTPUT[0],CALLER_SK))=f(TA_OUTPUT[0],CALLER_SK)
步骤604:调用方61将请求参数发送至调度***62。
步骤606~608:调度***62根据调度工作流确定满足计算条件的节点。由于调度***72负责利用调度工作流对计算过程进行调度,因此调度***62可以根据请求参数和调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,进而,调度***62可以针对每一个计算节点,根据调度工作流确定向此计算节点输入数据的关联节点,当所有的关联节点均已完成输出的情况下,向所述此计算节点分配计算任务,即当且仅当以节点j为终点的所有有向边的起点对应的可信应用都已成功执行并输出|TA_OUTPUT|时,节点j才可以执行相应的计算任务。具体而言,在确定关联节点时,可以确定以此计算节点为终点的调度关系,并根据上述调度关系,将调度关系中处于起点的节点作为关联节点。
可选的,关联节点完成输出时,可以生成凭证,例如令牌(Token),以代表关联节点已经完成计算并且输出,因此,调度***62在确定关联节点是否完成输出时,可以根据凭证确定已经完成输出的节点,从而向全部关联节点均输出完成的计算节点分配计算任务,即调度***62可以对符合运行条件的节点j,构造|TA_INPUT[j]|。
步骤610:可信执行环境63接收输入数据并构造实际的输入,即可信执行环境63接收|TA_INPUT[j]|,并依据|TA_INPUT[j]|中包含的List<|TA_OUTPUT|>和List<DATA_ASSIGN_MAP[*,j]>构造实际的业务输入。具体而言,|TA_OUTPUT|中包含了以节点j为终点的有向边对应的起始节点的输出结果,但是,节点j对应的可信应用进行计算时可能仅需要输出结果中部分特定数据,因此,需要根据相应有向边对应的调度关系对输入数据进行处理,构造实际的输入。
步骤612:可信执行环境63可以验证执行条件。当可信执行环境63构造了实际的输入,可以进一步的验证构造的输入是否满足相应可信应用对输入数据的要求。例如,可信应用只能对实数进行计算,而构造的实际输入中包含虚数,此时的实际输入并不满足执行条件,无法进行后续的计算。
步骤614:可信执行环境63构建输出数据。部署于可信执行环境63中的可信应用对相应的实际输入数据进行计算,以得出输出结果,例如,对于节点j,按照如上所述的输出数据(输出结构体)的表达式构建:
|TA_OUTPUT[j]|=(hash(|TA_INPUT[j]|),TA_OUTPUT[j],sign(hash(|TA_INPUT[j]|),TA_OU TPUT[j],TA_SK))
步骤616:返回输出数据。可信执行环境63将构建成功的、每个节点对应的|TA_OUTPUT[j]|返回至调度***62。
步骤618:调度***62将上一步骤中获取的输出数据以及调度工作流的相关信息返回至调用方61处。具体而言,调度***62构建如下内容数据内容:
每个节点的输出数据并构造Map<i,|TA_OUTPUT[i]|>,即各个节点以及其对应的输出数据(输出结构体)的关联关系;
每个节点的List<DATA_ASSIGN_MAP[:,j]>和TA_INFO[j],构造Map<j,(List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j])>;
调度工作流的所有有向边(每条有向边可以用[DAG_EDGE]表示),并构造List<[DAG_EDGE]>,即所有的有向边列表;
调度***62将上述数据返回至调用方61处。
步骤620:返回Proof_1与Proof_2。调度***62将依据如图5所示的步骤而预先生成并保存的Proof_1与Proof_2返回至调用方61处。
步骤622:调用方验证调度工作流的相关信息以及输出数据。
步骤622中的具体验证过程可以分为以下部分:
第一部分:分别验证Proof_1,Proof_2:由上文可知Proof_1=Map<j,sign((List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j]),CALLER_SK)>,因此调用方61可以使用公钥对Proof_1中的签名进行验证,如果Proof_1通过验证,则证明Proof_1确是调用方61预先生成的。同样的,可以对Proof_2中的签名进行验证,如果Proof_2通过验证,则证明Proof_2确是调用方61预先生成的。由于Proof_1中包含锚定的每条有向边对应的调度关系以及锚定的可信应用信息,因此在后续的验证过程中,可以准确定位到未通过验证的调度关系、其对应于的有向边,以及未通过验证的可信应用信息,以便于在验证不通过的情况下精准定位出现问题的调度关系和可信应用信息,以提升后续的处理效率。而Proof_2则可以验证Proof_1中是否包含了调度工作流中全部的有向边和全部计算节点对应的可信应用信息,保证Proof_1的完整性。
第二部分:逐项验证Map<j,(List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j])>和Proof_1,具体而言,可以调用方61可以使用其生成的CALLER_SK对Map<j,(List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j])>中的每一项进行签名,并将生成的各个待验证签名与Proof_1中的各个签名进行比对,如果均比对通过,则说明Map<j,(List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j])>中包含的调度关系列表和锚定的调度关系一致,以此认定Map<j,(List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j])>为锚定的调度关系和锚定的可信应用。
第三部分:通过List<[DAG_EDGE]>计算出调度工作流中每一个节点j。此部分通过有向边列表确认调度工作流的各个节点,可以实现对调度工作流整体架构的复现。由于从Map<j,(List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j])>中也可以提取到各个节点和有向边的对应关系,因此此部分可以省略,而并不会影响本方案的实施。
第四部分:验证|TA_OUTPUT[j]|。|TA_OUTPUT[j]|可以从Map<j,|TA_OUTPUT[j]|>中获得,此部分可以分为以下两个方面分别进行验证:
由上文可知|TA_OUTPUT[j]|中包含下述表达式中的内容:
hash(|TA_INPUT[j]|,TA_OUTPUT[j],sign(hash(|TA_INPUT[j]|),TA_OUTPUT[j],TA_SK)
其中,|TA_INPUT[j]|可通过Map<i,|TA_OUTPUT[i]|>和Map<j,(List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j])重新构建,即|TA_INPUT[j]|可以通过上述已经验证的调度关系,和以j为终点的有向边对应的起始节点(此处用节点i表示)的输出结果重新构建,由于在前述步骤中Map<j,(List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j])已经被验证,因此重新构建的节点j的输入数据和节点i的输出结果之间必然和锚定的调度关系相互匹配,此时可以将重新构建的输入数据进行哈希计算,将得出的哈希值与调度***62返回的|TA_OUTPUT[j]|中包含的hash(|TA_INPUT[j]比较,如果两者一致,则说明调度工作流确实按照锚定的调度关系进行调度。
另外,可以从TA_INFO[j]中获取相应可信应用的公钥,以对数字签名sign(hash(|TA_INPUT[j]|),TA_OUTPUT[j],TA_SK)实施验签操作,如果签名验证通过,则说明TA_OUTPUT[j]确由节点j对应的可信应用计算生成,并且,根据数字签名本身的特性,同样可以说明hash(|TA_INPUT[j]|),TA_OUTPUT[j]未被篡改。由于Map<j,(List<DATA_ASSIGN_MAP[:,j]>,TA_INFO[j])>中的TA_INFO[j]已经被验证和锚定的可信应用相互匹配,因此同样可以证明hash(|TA_INPUT[j]|)和TA_OUTPUT[j]确由已经锚定的可信应用生成。
步骤624:输出可信调度结果。通过上述两个部分可以完成对|TA_OUTPUT[j]|的验证,即证明了调度工作流中输入输出关系和锚定的可信应用信息相互匹配,并且,调度工作流中各个计算节点计算得出的输出结果的确由锚定的可信应用生成,通过上述两个方面的验证结果,可以证明调度工作流的调度过程可信,如果任意部分对应的验证未通过,则不能证明调度工作流的调度过程可信。当全部验证均通过时,可以将位于末位的输出节点的输出结果作为可信的调度结果进行输出。
本说明书提供的技术方案充分利用TA本身不可篡改的特性,通过签名的方式构建证据链,使调用方可以自行验证调度过程是否可信,并且无论是调用方还是调度***均可以运行于非可信执行环境内,提升了实现相关调度过程的灵活性。
图7是一示例性实施例提供的一种设备的示意结构图。请参考图7,在硬件层面,该设备包括处理器702、内部总线704、网络接口706、内存708以及非易失性存储器710,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器702从非易失性存储器710中读取对应的计算机程序到内存708中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图8,实现可信调度的装置可以应用于如图7所示的设备中,以实现本说明书的技术方案。
其中,该实现可信调度的装置可以应用于调度***,包括:
接收单元802,用于接收调用方针对调度工作流中的输入节点提供的请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他的至少一个计算节点;
分配单元804,用于根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系;
发送单元806,用于发送所述调度***提供的各工作流节点分别对应的输入数据和输出数据至调用方,以使所述调用方根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度。
可选的,实现可信调度的装置可以包括:关联节点确定单元808,用于确定所述调度工作流中向任一计算节点输入数据的关联节点;
在确定所有的关联节点均已完成输出的情况下,向所述任一计算节点分配计算任务。
可选的,所述确定所述调度工作流中向任一计算节点输入数据的关联节点包括:确定以所述任一计算节点为终点的调度关系,所述关联节点为确定出的调度关系中处于起点的节点。
请参考图9,实现可信调度的装置可以应用于如图7所示的设备中,以实现本说明书的技术方案。
其中,该实现可信调度的装置可以应用于调用方,包括:
提供单元902,用于针对调度工作流中的输入节点向调度***提供请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他至少一个计算节点;以使所述调度***根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系;
确定单元904,用于获取所述调度***提供的各工作流节点分别对应的输入数据和输出数据,并根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度。
可选的,实现可信调度的装置还可以包括重构单元906,用于根据所述调度***提供的各工作流节点分别对应的输出数据和所述调用方预先对所述调度工作流进行验证后锚定的调度关系,重构各工作流节点分别对应的输入数据,并将重构的输入数据与所述调度***提供的输入数据进行比较,根据比较结果确定所述调度***是否实现了可信调度;
可选的,任一工作流节点的输出数据包含:所述任一工作流节点的输入数据的信息、所述工作流节点的输出结果;任一工作流节点的输入数据包含:以所述任一工作流节点为终点的调度关系、所述以所述任一工作流节点为终点的调度关系中作为起点的各工作流节点的输出结果;重构任一工作流节点对应的输入数据,包括:
根据所述以所述任一工作流节点为终点的调度关系中作为起点的各工作流节点的输出结果以及以所述任一工作流节点为终点的调度关系,重构所述任一工作流节点对应的输入数据。
可选的,实现可信调度的装置还包括:第一签名单元908,用于对所述调度工作流中通过验证的调度关系逐个签名,以生成用于锚定各调度关系的第一证据组。
可选的,所述第一证据组由所述调用方进行维护;或者,第一证据组由所述调度***进行维护。
可选的,第一证据组中的每个第一证据包括:通过验证的调度关系和所述调用方相应生成的签名;或者,第一证据组中的每个第一证据包括:所述调用方针对通过验证的调度关系生成的签名;所述方法还包括:
获取所述调度***提供的待验证调度关系,并在所述待验证调度关系被确认为匹配于所述第一证据组包含的签名的情况下,将所述待验证调度关系确定为所述调用方锚定的调度关系。
可选的,实现可信调度的装置还包括:第二签名单元910,用于对所述第一证据组进行签名以生成第二证据,所述第二证据被用于验证所述第一证据组的完整性。
可选的,实现可信调度的装置还包括:签名验证单元912,用于获取所述调度***提供的各计算节点分别对应的数据签名,所述数据签名为相应计算节点对应的可信应用对自身产生的输出数据的签名;
利用预先对所述调度工作流中的计算节点对应的可信应用进行验证后锚定的可信应用信息对所述数据签名进行验证;其中,所述调度***被确认为实现了可信调度的条件包括:所述数据签名通过验证。
可选的,实现可信调度的装置还包括:第三签名单元914,用于对所述调度工作流中通过验证的调度关系以及通过验证的可信应用信息逐个签名,以生成用于锚定各调度关系以及各可信应用的第三证据组。
可选的,所述第三证据组由所述调用方进行维护;或者,第三证据组由所述调度***进行维护。
可选的,第三证据组中的每个第三证据包括:通过验证的调度关系、通过验证的可信应用信息和所述调用方相应生成的签名;或者,第三证据组中的每个第三证据包括:所述调用方针对通过验证的调度关系以及通过验证的可信应用信息生成的签名;所述方法还包括:
获取所述调度***提供的待验证调度关系以及待验证可信应用信息,并在所述待验证调度关系以及待验证可信应用信息被确认为匹配于所述第一证据组包含的签名的情况下,将所述待验证调度关系以及待验证可信应用信息分别确定为所述调用方锚定的调度关系以及所述调用方锚定的可信应用信息。
可选的,实现可信调度的装置还包括:第四签名单元916,用于对所述第三证据组进行签名以生成第四证据,所述第四证据被用于验证所述第三证据组的完整性。
可选的,实现可信调度的装置还包括:输出单元918,针对所述调度工作流中的工作流节点还包括位于所述调度工作流末尾的输出节点;用于在确认所述调度***实现可信调度的情况下,将所述输出节点对应的输出数据作为最终的可信调度结果。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (33)
1.一种实现可信调度的方法,包括:
调度***接收调用方针对调度工作流中的输入节点提供的请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他的至少一个计算节点;以及,所述调度***根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系;
调用方获取所述调度***提供的各工作流节点分别对应的输入数据和输出数据,并根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度;
其中,所述根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度,包括:
调用方根据所述调度***提供的各工作流节点分别对应的输出数据和所述调用方预先对所述调度工作流进行验证后锚定的调度关系,重构各工作流节点分别对应的输入数据,并将重构的输入数据与所述调度***提供的输入数据进行比较,根据比较结果确定所述调度***是否实现了可信调度。
2.根据权利要求1所述的方法,所述调度***根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,包括:
所述调度***确定所述调度工作流中向任一计算节点输入数据的关联节点;
在确定所有的关联节点均已完成输出的情况下,所述调度***向所述任一计算节点分配计算任务。
3.根据权利要求2所述的方法,所述确定所述调度工作流中向任一计算节点输入数据的关联节点包括:确定以所述任一计算节点为终点的调度关系,所述关联节点为确定出的调度关系中处于起点的节点。
4.根据权利要求1所述的方法,任一工作流节点的输出数据包含:所述任一工作流节点的输入数据的信息、所述工作流节点的输出结果;任一工作流节点的输入数据包含:以所述任一工作流节点为终点的调度关系、所述以所述任一工作流节点为终点的调度关系中作为起点的各工作流节点的输出结果;重构任一工作流节点对应的输入数据,包括:
根据所述以所述任一工作流节点为终点的调度关系中作为起点的各工作流节点的输出结果以及以所述任一工作流节点为终点的调度关系,重构所述任一工作流节点对应的输入数据。
5.根据权利要求1所述的方法,还包括:
调用方对所述调度工作流中通过验证的调度关系逐个签名,以生成用于锚定各调度关系的第一证据组。
6.根据权利要求5所述的方法,所述第一证据组由所述调用方进行维护;或者,第一证据组由所述调度***进行维护。
7.根据权利要求5所述的方法,第一证据组中的每个第一证据包括:通过验证的调度关系和所述调用方相应生成的签名;或者,第一证据组中的每个第一证据包括:所述调用方针对通过验证的调度关系生成的签名;所述方法还包括:
所述调用方获取所述调度***提供的待验证调度关系,并在所述待验证调度关系被确认为匹配于所述第一证据组包含的签名的情况下,将所述待验证调度关系确定为所述调用方锚定的调度关系。
8.根据权利要求5所述的方法,还包括:
调用方对所述第一证据组进行签名以生成第二证据,所述第二证据被用于验证所述第一证据组的完整性。
9.根据权利要求1所述的方法,还包括:
所述调用方获取所述调度***提供的各计算节点分别对应的数据签名,所述数据签名为相应计算节点对应的可信应用对自身产生的输出数据的签名;
所述调用方利用预先对所述调度工作流中的计算节点对应的可信应用进行验证后锚定的可信应用信息对所述数据签名进行验证;其中,所述调度***被确认为实现了可信调度的条件包括:所述数据签名通过验证。
10.根据权利要求9所述的方法,还包括:
调用方对所述调度工作流中通过验证的调度关系以及通过验证的可信应用信息逐个签名,以生成用于锚定各调度关系以及各可信应用的第三证据组。
11.根据权利要求10所述的方法,所述第三证据组由所述调用方进行维护;或者,第三证据组由所述调度***进行维护。
12.根据权利要求10所述的方法,第三证据组中的每个第三证据包括:通过验证的调度关系、通过验证的可信应用信息和所述调用方相应生成的签名;或者,第三证据组中的每个第三证据包括:所述调用方针对通过验证的调度关系以及通过验证的可信应用信息生成的签名;所述方法还包括:
所述调用方获取所述调度***提供的待验证调度关系以及待验证可信应用信息,并在所述待验证调度关系以及待验证可信应用信息被确认为匹配于所述第三证据组包含的签名的情况下,将所述待验证调度关系以及待验证可信应用信息分别确定为所述调用方锚定的调度关系以及所述调用方锚定的可信应用信息。
13.根据权利要求10所述的方法,还包括:
调用方对所述第三证据组进行签名以生成第四证据,所述第四证据被用于验证所述第三证据组的完整性。
14.根据权利要求1所述的方法,所述调度工作流中的工作流节点还包括位于所述调度工作流末尾的输出节点;所述方法还包括:
所述调用方在确认所述调度***实现可信调度的情况下,将所述输出节点对应的输出数据作为最终的可信调度结果。
15.一种实现可信调度的方法,应用于调度***,包括:
接收调用方针对调度工作流中的输入节点提供的请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他的至少一个计算节点;并且,根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系;
发送所述调度***提供的各工作流节点分别对应的输入数据和输出数据至调用方,以使所述调用方根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度;
其中,所述调用方根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度,包括:
所述调用方根据所述调度***提供的各工作流节点分别对应的输出数据和所述调用方预先对所述调度工作流进行验证后锚定的调度关系,重构各工作流节点分别对应的输入数据,并将重构的输入数据与所述调度***提供的输入数据进行比较,根据比较结果确定所述调度***是否实现了可信调度。
16.根据权利要求15所述的方法,所述根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,包括:
确定所述调度工作流中向任一计算节点输入数据的关联节点;
在确定所有的关联节点均已完成输出的情况下,向所述任一计算节点分配计算任务。
17.根据权利要求16所述的方法,所述确定所述调度工作流中向任一计算节点输入数据的关联节点包括:确定以所述任一计算节点为终点的调度关系,所述关联节点为确定出的调度关系中处于起点的节点。
18.一种实现可信调度的方法,应用于调用方,包括:
针对调度工作流中的输入节点向调度***提供请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他至少一个计算节点;以使所述调度***根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系;
获取所述调度***提供的各工作流节点分别对应的输入数据和输出数据,并根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度;
其中,所述根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度,包括:
根据所述调度***提供的各工作流节点分别对应的输出数据和所述调用方预先对所述调度工作流进行验证后锚定的调度关系,重构各工作流节点分别对应的输入数据,并将重构的输入数据与所述调度***提供的输入数据进行比较,根据比较结果确定所述调度***是否实现了可信调度。
19.根据权利要求18所述的方法,任一工作流节点的输出数据包含:所述任一工作流节点的输入数据的信息、所述工作流节点的输出结果;任一工作流节点的输入数据包含:以所述任一工作流节点为终点的调度关系、所述以所述任一工作流节点为终点的调度关系中作为起点的各工作流节点的输出结果;重构任一工作流节点对应的输入数据,包括:
根据所述以所述任一工作流节点为终点的调度关系中作为起点的各工作流节点的输出结果以及以所述任一工作流节点为终点的调度关系,重构所述任一工作流节点对应的输入数据。
20.根据权利要求18所述的方法,还包括:
对所述调度工作流中通过验证的调度关系逐个签名,以生成用于锚定各调度关系的第一证据组。
21.根据权利要求20所述的方法,所述第一证据组由所述调用方进行维护;或者,第一证据组由所述调度***进行维护。
22.根据权利要求20所述的方法,第一证据组中的每个第一证据包括:通过验证的调度关系和所述调用方相应生成的签名;或者,第一证据组中的每个第一证据包括:所述调用方针对通过验证的调度关系生成的签名;所述方法还包括:
获取所述调度***提供的待验证调度关系,并在所述待验证调度关系被确认为匹配于所述第一证据组包含的签名的情况下,将所述待验证调度关系确定为所述调用方锚定的调度关系。
23.根据权利要求20所述的方法,还包括:
对所述第一证据组进行签名以生成第二证据,所述第二证据被用于验证所述第一证据组的完整性。
24.根据权利要求18所述的方法,还包括:
获取所述调度***提供的各计算节点分别对应的数据签名,所述数据签名为相应计算节点对应的可信应用对自身产生的输出数据的签名;
利用预先对所述调度工作流中的计算节点对应的可信应用进行验证后锚定的可信应用信息对所述数据签名进行验证;其中,所述调度***被确认为实现了可信调度的条件包括:所述数据签名通过验证。
25.根据权利要求24所述的方法,还包括:
对所述调度工作流中通过验证的调度关系以及通过验证的可信应用信息逐个签名,以生成用于锚定各调度关系以及各可信应用的第三证据组。
26.根据权利要求25所述的方法,所述第三证据组由所述调用方进行维护;或者,第一证据组由所述调度***进行维护。
27.根据权利要求25所述的方法,第三证据组中的每个第三证据包括:通过验证的调度关系、通过验证的可信应用信息和所述调用方相应生成的签名;或者,第三证据组中的每个第三证据包括:所述调用方针对通过验证的调度关系以及通过验证的可信应用信息生成的签名;所述方法还包括:
获取所述调度***提供的待验证调度关系以及待验证可信应用信息,并在所述待验证调度关系以及待验证可信应用信息被确认为匹配于所述第三证据组包含的签名的情况下,将所述待验证调度关系以及待验证可信应用信息分别确定为所述调用方锚定的调度关系以及所述调用方锚定的可信应用信息。
28.根据权利要求25所述的方法,还包括:
调用方对所述第三证据组进行签名以生成第四证据,所述第四证据被用于验证所述第四证据组的完整性。
29.根据权利要求18所述的方法,所述调度工作流中的工作流节点还包括位于所述调度工作流末尾的输出节点;所述方法还包括:
在确认所述调度***实现可信调度的情况下,将所述输出节点对应的输出数据作为最终的可信调度结果。
30.一种实现可信调度的装置,应用于调度***,包括:
接收单元,用于接收调用方针对调度工作流中的输入节点提供的请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他的至少一个计算节点;
分配单元,用于根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系;
发送单元,用于发送所述调度***提供的各工作流节点分别对应的输入数据和输出数据至调用方,以使所述调用方根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度;
其中,所述调用方根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度,包括:
所述调用方根据所述调度***提供的各工作流节点分别对应的输出数据和所述调用方预先对所述调度工作流进行验证后锚定的调度关系,重构各工作流节点分别对应的输入数据,并将重构的输入数据与所述调度***提供的输入数据进行比较,根据比较结果确定所述调度***是否实现了可信调度。
31.一种实现可信调度的装置,应用于调用方,包括:
提供单元,用于针对调度工作流中的输入节点向调度***提供请求参数,所述调度工作流中的工作流节点包括位于首位的所述输入节点和其他至少一个计算节点;以使所述调度***根据所述请求参数和所述调度工作流中各工作流节点之间的调度关系,分别向各计算节点分配计算任务,以由各计算节点对应的可信应用进行处理;其中,调度关系用于表征前一工作流节点的输出与后一工作流节点的输入之间的关系;
确定单元,用于获取所述调度***提供的各工作流节点分别对应的输入数据和输出数据,并根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度;
其中,所述根据获取的输入数据、输出数据与所述调用方预先对所述调度工作流进行验证后锚定的调度关系之间的匹配情况,确定所述调度***是否实现了可信调度,包括:
根据所述调度***提供的各工作流节点分别对应的输出数据和所述调用方预先对所述调度工作流进行验证后锚定的调度关系,重构各工作流节点分别对应的输入数据,并将重构的输入数据与所述调度***提供的输入数据进行比较,根据比较结果确定所述调度***是否实现了可信调度。
32.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-29中任一项所述的方法。
33.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-29中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110602331.2A CN113312630B (zh) | 2021-05-31 | 2021-05-31 | 实现可信调度的方法及装置 |
PCT/CN2022/090122 WO2022252897A1 (zh) | 2021-05-31 | 2022-04-29 | 实现可信调度的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110602331.2A CN113312630B (zh) | 2021-05-31 | 2021-05-31 | 实现可信调度的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312630A CN113312630A (zh) | 2021-08-27 |
CN113312630B true CN113312630B (zh) | 2022-07-01 |
Family
ID=77376652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110602331.2A Active CN113312630B (zh) | 2021-05-31 | 2021-05-31 | 实现可信调度的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113312630B (zh) |
WO (1) | WO2022252897A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312630B (zh) * | 2021-05-31 | 2022-07-01 | 支付宝(杭州)信息技术有限公司 | 实现可信调度的方法及装置 |
CN116418602B (zh) * | 2023-06-09 | 2023-08-25 | 武汉大学 | 一种基于可信硬件的元数据保护匿名通信方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102769615A (zh) * | 2012-07-02 | 2012-11-07 | 北京大学 | 一种基于MapReduce机制的任务调度方法和*** |
CN107450972A (zh) * | 2017-07-04 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种调度方法、装置以及电子设备 |
CN109327498A (zh) * | 2018-08-01 | 2019-02-12 | 西安理工大学 | 一种可信的云任务调度***及审计方法 |
CN110110520A (zh) * | 2019-03-22 | 2019-08-09 | 珠海高凌信息科技股份有限公司 | 一种入侵容忍的云工作流实现方法及*** |
CN110209484A (zh) * | 2019-05-30 | 2019-09-06 | 华南理工大学 | 基于多云和安全映射的可信云任务调度***及方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2387683B (en) * | 2002-04-19 | 2007-03-28 | Hewlett Packard Co | Workflow processing scheduler |
EP1978468A1 (en) * | 2007-04-04 | 2008-10-08 | Sap Ag | A method and a system for secure execution of workflow tasks in a distributed workflow management system within a decentralized network system |
EP3722954B1 (en) * | 2013-06-24 | 2023-09-06 | Cylance Inc. | Automated system for generative multimodel multiclass classification and similarity analysis using machine learning |
CN109218260B (zh) * | 2017-07-03 | 2020-11-06 | 深圳市中兴微电子技术有限公司 | 一种基于可信任环境的认证保护***及方法 |
US11238449B2 (en) * | 2017-12-18 | 2022-02-01 | Nec Corporation | Efficient validation of transaction policy compliance in a distributed ledger system |
US11170077B2 (en) * | 2019-01-04 | 2021-11-09 | Vmware, Inc. | Validating the integrity of application data using secure hardware enclaves |
CN111382445B (zh) * | 2020-03-03 | 2023-04-07 | 首都师范大学 | 利用可信执行环境***提供可信服务的方法 |
CN111831988B (zh) * | 2020-06-30 | 2024-03-22 | 中国建设银行股份有限公司 | 工作流引擎***和工作流引擎***的实现方法 |
CN112101949B (zh) * | 2020-09-18 | 2022-12-16 | 支付宝(杭州)信息技术有限公司 | 安全的服务请求处理方法及装置 |
CN112434343B (zh) * | 2020-11-25 | 2024-03-01 | 江西理工大学 | 一种基于双重区块链技术的虚拟电厂安全调度与交易方法 |
CN113312630B (zh) * | 2021-05-31 | 2022-07-01 | 支付宝(杭州)信息技术有限公司 | 实现可信调度的方法及装置 |
-
2021
- 2021-05-31 CN CN202110602331.2A patent/CN113312630B/zh active Active
-
2022
- 2022-04-29 WO PCT/CN2022/090122 patent/WO2022252897A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102769615A (zh) * | 2012-07-02 | 2012-11-07 | 北京大学 | 一种基于MapReduce机制的任务调度方法和*** |
CN107450972A (zh) * | 2017-07-04 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种调度方法、装置以及电子设备 |
CN109327498A (zh) * | 2018-08-01 | 2019-02-12 | 西安理工大学 | 一种可信的云任务调度***及审计方法 |
CN110110520A (zh) * | 2019-03-22 | 2019-08-09 | 珠海高凌信息科技股份有限公司 | 一种入侵容忍的云工作流实现方法及*** |
CN110209484A (zh) * | 2019-05-30 | 2019-09-06 | 华南理工大学 | 基于多云和安全映射的可信云任务调度***及方法 |
Non-Patent Citations (2)
Title |
---|
程宏兵等.基于体系架构的云计算安全研究进展.《计算机科学》.2016,(第07期), * |
马林等.支持QoS保障的可信服务组合调度算法.《小型微型计算机***》.2013,(第02期), * |
Also Published As
Publication number | Publication date |
---|---|
CN113312630A (zh) | 2021-08-27 |
WO2022252897A1 (zh) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11196755B2 (en) | Cross-blockchain interaction systems | |
CN111082934B (zh) | 基于可信执行环境的跨域安全多方计算的方法及装置 | |
CN111181720B (zh) | 基于可信执行环境的业务处理方法及装置 | |
CN111090888B (zh) | 验证合约的方法及装置 | |
CN111092727B (zh) | 共享集群密钥的方法及装置 | |
CN112152800B (zh) | 生成共享合约密钥的方法及装置 | |
US20210158442A1 (en) | Credit evaluation methods and apparatuses, and electronic devices | |
US20210328773A1 (en) | Trusted startup methods and apparatuses of blockchain integrated station | |
CN111526217B (zh) | 一种区块链中的共识方法和*** | |
CN111753335B (zh) | 区块内容的编辑方法及装置 | |
CN110163006B (zh) | 一种块链式账本中的签名验证方法、***、装置及设备 | |
CN110992027A (zh) | 在区块链中实现隐私保护的高效交易方法及装置 | |
CN113312630B (zh) | 实现可信调度的方法及装置 | |
CN113114476B (zh) | 基于合约的隐私存证方法及装置 | |
CN111211911B (zh) | 一种协同签名方法、装置、设备及*** | |
CN112966309A (zh) | 一种基于区块链的业务实现方法和装置 | |
CN115296794A (zh) | 基于区块链的密钥管理方法及装置 | |
CN115766173A (zh) | 数据的处理方法、***及装置 | |
CN116647567A (zh) | 隐私保护集合求交方法和装置 | |
CN111383008B (zh) | 基于账户模型的区块链转账方法及装置 | |
WO2023070831A1 (zh) | 一种区块确认方法及装置 | |
CN115412275A (zh) | 一种基于可信执行环境的隐私计算***及方法 | |
CN117811733B (zh) | 基于秘密共享算法的任务确认完成方法及相关装置 | |
CN114546271B (zh) | 基于区块链的数据读写方法及装置、*** | |
CN115174183A (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 |