G06F21/62 G06F21/60 G06F21/64
1.一种数据处理系统,其特征在于,包括身份控制端、数据使用端和数据提供端;
所述身份控制端包括申请处理模块,所述申请处理模块用于接收所述数据使用端发起的新功能申请,并在可信执行环境中生成所述新功能申请对应的可信应用ID和应用签名;
所述数据使用端包括功能注入模块,所述功能注入模块用于接收所述身份控制端返回的所述应用签名,并根据所述可信应用ID、所述应用签名和功能代码向所述数据提供端发起功能注入申请;
所述数据提供端包括功能调用模块,所述功能调用模块用于在所述可信执行环境中生成所述功能注入申请对应的可信应用并返回所述可信应用的数据处理结果。
2.根据权利要求1所述数据处理系统,其特征在于,所述身份控制端还包括:
注册模块,用于接收所述数据使用端发起的注册申请,并在所述可信执行环境中生成所述数据使用端的私钥,并利用shamir秘密分享算法对所述数据使用端的私钥进行分片得到第一私钥分片和第二私钥分片,将所述第一私钥分片存储至所述身份控制端的数据源层,将所述第二私钥分片返回至所述数据使用端。
3.根据权利要求2所述数据处理系统,其特征在于,所述身份控制端还包括:
ID生成模块,用于向所述数据使用端的数据源层获取所述第二私钥分片,在所述可信执行环境中拼接所述第一私钥分片和所述第二私钥分片得到所述数据使用端的私钥并将所述数据使用端的私钥转化为所述可信应用ID。
4.根据权利要求3所述数据处理系统,其特征在于,还包括:
申请计费模块,用于统计所述ID生成模块拼接所述第一私钥分片和所述第二私钥分片的第一拼接次数,并根据所述第一拼接次数对所述数据使用端执行对应的计费操作。
5.根据权利要求2所述数据处理系统,其特征在于,所述身份控制端还包括:
远程认证模块,用于在接收到所述数据使用端的远程认证请求时,向所述数据使用端的数据源层获取所述第二私钥分片,并在所述可信执行环境中拼接所述第一私钥分片和所述第二私钥分片对所述数据使用端进行远程认证;其中,所述远程认证请求为所述数据使用端在向所述数据提供端发起功能调用申请后向所述身份控制端发送的请求。
6.根据权利要求5所述数据处理系统,其特征在于,还包括:
调用计费模块,用于统计所述远程认证模块拼接所述第一私钥分片和所述第二私钥分片的第二拼接次数,并根据所述第二拼接次数对所述数据使用端执行对应的计费操作。
7.一种数据处理方法,其特征在于,应用于身份控制端,包括:
接收数据使用端发起的新功能申请;
在可信执行环境中生成所述新功能申请对应的可信应用ID和应用签名;
将所述应用签名返回至所述数据使用端,以便在所述数据使用端根据可信应用ID、所述应用签名和功能代码向所述数据提供端发起功能注入申请之后,所述数据提供端在所述可信执行环境中生成所述功能注入申请对应的可信应用并返回所述可信应用的数据处理结果。
8.一种数据处理方法,其特征在于,应用于数据提供端,包括:
接收数据使用端根据可信应用ID、应用签名和功能代码向所述数据提供端发起的功能注入申请;其中,所述应用签名的生成过程包括:所述身份控制端在接收到数据使用端发起的新功能申请后,在可信执行环境中生成所述新功能申请对应的所述应用签名;
在所述可信执行环境中生成所述功能注入申请对应的可信应用,并返回所述可信应用的数据处理结果。
9.一种数据处理方法,其特征在于,应用于数据使用端,包括:
向身份控制端发起新功能申请,以便所述身份控制端在可信执行环境中生成所述新功能申请对应的可信应用ID和应用签名;
根据可信应用ID、所述应用签名和功能代码向数据提供端发起功能注入申请,以便所述数据使用端在所述可信执行环境中生成所述功能注入申请对应的可信应用并返回所述可信应用的数据处理结果。
10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求7至9任一项所述数据处理方法的步骤。
本申请涉及信息安全技术领域,特别涉及一种数据处理系统、方法及电子设备。
随着云计算技术的发展,相关技术通常在分布式计算环境下实现多方成员的秘密共享与隐私保护,但是上述相关技术主要通过可信的管理员来保证数据隐私安全,在实际应用中管理员的可信程度难以保证。
因此,如何在数据处理过程中保证数据隐私安全是本领域技术人员目前需要解决的技术问题。
本申请的目的是提供一种数据处理系统、方法及电子设备,能够在数据处理过程中保证数据隐私安全。
为解决上述技术问题,本申请提供一种数据处理系统,该数据处理系统包括身份控制端、数据使用端和数据提供端;
所述身份控制端包括申请处理模块,所述申请处理模块用于接收所述数据使用端发起的新功能申请,并在可信执行环境中生成所述新功能申请对应的可信应用ID和应用签名;
所述数据使用端包括功能注入模块,所述功能注入模块用于接收所述身份控制端返回的所述应用签名,并根据可信应用ID、所述应用签名和功能代码向所述数据提供端发起功能注入申请;
所述数据提供端包括功能调用模块,所述功能调用模块用于在所述可信执行环境中生成所述功能注入申请对应的可信应用并返回所述可信应用的数据处理结果。
可选的,所述身份控制端还包括:
注册模块,用于接收所述数据使用端发起的注册申请,并在所述可信执行环境中生成所述数据使用端的私钥,并利用shamir秘密分享算法对所述数据使用端的私钥进行分片得到第一私钥分片和第二私钥分片,将所述第一私钥分片存储至所述身份控制端的数据源层,将所述第二私钥分片返回至所述数据使用端。
可选的,所述身份控制端还包括:
ID生成模块,用于向所述数据使用端的数据源层获取所述第二私钥分片,在所述可信执行环境中拼接所述第一私钥分片和所述第二私钥分片得到所述数据使用端的私钥并将所述数据使用端的私钥转化为所述可信应用ID。
可选的,还包括:
申请计费模块,用于统计所述ID生成模块拼接所述第一私钥分片和所述第二私钥分片的第一拼接次数,并根据所述第一拼接次数对所述数据使用端执行对应的计费操作。
可选的,所述身份控制端还包括:
远程认证模块,用于在接收到所述数据使用端的远程认证请求时,向所述数据使用端的数据源层获取所述第二私钥分片,并在所述可信执行环境中拼接所述第一私钥分片和所述第二私钥分片对所述数据使用端进行远程认证;其中,所述远程认证请求为所述数据使用端在向所述数据提供端发起功能调用申请后向所述身份控制端发送的请求。
可选的,还包括:
调用计费模块,用于统计所述远程认证模块拼接所述第一私钥分片和所述第二私钥分片的第二拼接次数,并根据所述第二拼接次数对所述数据使用端执行对应的计费操作。
本申请还提供了一种数据处理方法,应用于身份控制端,包括:
接收数据使用端发起的新功能申请;
在可信执行环境中生成所述新功能申请对应的可信应用ID和应用签名;
将所述应用签名返回至所述数据使用端,以便在所述数据使用端根据可信应用ID、所述应用签名和功能代码向所述数据提供端发起功能注入申请之后,所述数据提供端在所述可信执行环境中生成所述功能注入申请对应的可信应用并返回所述可信应用的数据处理结果。
本申请还提供了一种数据处理方法,应用于数据提供端,包括:
接收数据使用端根据可信应用ID、应用签名和功能代码向所述数据提供端发起的功能注入申请;其中,所述应用签名的生成过程包括:所述身份控制端在接收到数据使用端发起的新功能申请后,在可信执行环境中生成所述新功能申请对应的所述应用签名;
在所述可信执行环境中生成所述功能注入申请对应的可信应用,并返回所述可信应用的数据处理结果。
本申请还提供了一种数据处理方法,应用于数据使用端,包括:
向身份控制端发起新功能申请,以便所述身份控制端在可信执行环境中生成所述新功能申请对应的可信应用ID和应用签名;
根据可信应用ID、所述应用签名和功能代码向数据提供端发起功能注入申请,以便所述数据使用端在所述可信执行环境中生成所述功能注入申请对应的可信应用并返回所述可信应用的数据处理结果。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述数据处理方法执行的步骤。
本申请提供了一种数据处理系统,包括:身份控制端、数据使用端和数据提供端。所述身份控制端包括申请处理模块,所述申请处理模块用于接收所述数据使用端发起的新功能申请,并在可信执行环境中生成所述新功能申请对应的可信应用ID和应用签名。所述数据使用端包括功能注入模块,所述功能注入模块用于接收所述身份控制端返回的所述应用签名,并根据可信应用ID、所述应用签名和功能代码向所述数据提供端发起功能注入申请。所述数据提供端包括功能调用模块,所述功能调用模块用于在所述可信执行环境中生成所述功能注入申请对应的可信应用并返回所述可信应用的数据处理结果。
本申请中数据使用端先向身份控制端发起新功能申请,身份控制端在可信执行环境中生成所述新功能申请对应的可信应用ID和应用签名。数据使用端利用上述应用签名、可信应用ID和相应的功能代码向数据提供端发起功能注入申请,以便数据提供端在可信执行环境中生成所述功能注入申请对应的可信应用并返回所述可信应用的数据处理结果。上述新功能申请和功能注入申请均在可信执行环境中实现,可信执行环境能够保证数据处理过程的安全性和可信度,因此本申请能够在数据处理过程中保证数据隐私安全。本申请同时还提供了一种数据处理方法、一种电子设备,具有上述有益效果,在此不再赘述。
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种数据处理系统的结构示意图;
图2为本申请实施例所提供的一种用户注册流程图;
图3为本申请实施例所提供的一种申请新功能的流程图;
图4为本申请实施例所提供的一种功能注入流程的示意图;
图5为本申请实施例所提供的一种功能调用流程的示意图。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种数据处理系统的结构示意图,上述数据处理系统可以为用于进行分布式计算的系统,包括身份控制端、数据使用端和数据提供端。
身份控制端又称身份控制方(如认证服务器),用于进行数据使用端和数据提供端身份的注册以及数据使用端需要使用的功能的注册。数据使用端又称数据使用方,指数据分析结果的使用方或购买方。数据使用端不获得原始数据,仅获得数据运算结果。数据使用端可以向数据提供端发送需要运算的数据的计算逻辑(即向数据提供端进行功能注入)。数据提供端又称数据拥有方,指原始数据的提供方。数据提供端可根据数据使用端提供的计算逻辑进行数据处理(即使用数据使用方注入的功能)。
如图1所示,身份控制端、数据使用端和数据提供端的结构均可以划分为以下三层:合约层、可信计算层(含可信预言机)和数据源层。数据使用端可以通过合约层向身份控制端的可信计算层注册身份、申请新功能和收费。身份控制端可以将注册产生的私钥分片、申请新功能生成的新ID返回给数据使用端的可信计算层。数据提供端可以通过合约层向身份控制端注册身份,身份控制端向数据提供端的合约层返回注册产生的私钥分片。数据使用端和数据提供端之间通过数据源层进行功能注入、功能调用和收费。
具体的,本申请中的身份控制端包括申请处理模块,所述申请处理模块用于接收所述数据使用端发起的新功能申请,并在可信执行环境中生成所述新功能申请对应的可信应用ID和应用签名。其中,新功能申请中可以包括可信应用的应用ID,以便身份控制端对可信应用的应用ID进行签名,得到应用签名。该过程在可信执行环境(即身份控制端的可信计算层)中实现,身份控制端自身无法改变任何流程,确保该过程通过去中心化的方式实现。可信应用TA为可信执行环境提供授权且安全的软件。
所述数据使用端包括功能注入模块,所述功能注入模块用于接收所述身份控制端返回的所述应用签名,并根据可信应用ID、所述应用签名和功能代码向所述数据提供端发起功能注入申请。在数据处理系统中可以包括多个数据使用端,数据使用端可以向数据提供端发起功能注入申请并提供在申请功能时得到的可信应用ID、应用签名和功能代码。上述功能代码为实现该功能所需执行的代码。
所述数据提供端包括功能调用模块,所述功能调用模块用于在所述可信执行环境中生成所述功能注入申请对应的可信应用并返回所述可信应用的数据处理结果。具体的,数据提供端可以根据应用签名对功能注入申请的合法性进行验证,若通过合法性验证,则在可信执行环境(即数据提供端的可信计算层)中利用可信应用ID和功能代码生成对应的可信应用,以实现功能注入。
本实施例中数据使用端先向身份控制端发起新功能申请,身份控制端在可信执行环境中生成所述新功能实施例对应的应用签名。数据使用端利用上述应用签名、可信应用ID和相应的功能代码向数据提供端发起功能注入实施例,以便数据提供端在可信执行环境中生成所述功能注入实施例对应的可信应用并返回所述可信应用的数据处理结果。上述新功能实施例和功能注入实施例均在可信执行环境中实现,可信执行环境能够保证数据处理过程的安全性和可信度,因此本实施例能够在数据处理过程中保证数据隐私安全。
进一步的,上述身份控制端还包括注册模块,该注册模块可以为数据使用端进行身份注册。具体过程如下:接收所述数据使用端发起的注册申请,并在所述可信执行环境中生成所述数据使用端的私钥,并利用shamir秘密分享算法对所述数据使用端的私钥进行分片得到第一私钥分片和第二私钥分片,将所述第一私钥分片存储至所述身份控制端的数据源层,将所述第二私钥分片返回至所述数据使用端。
秘密分享又称秘密共享(Secret-Sharing),是现代密码学领域的一个重要分支,是信息安全和数据保密中的重要手段,也是多方安全计算和联邦学习等领域的一个基础应用技术。实际应用中,在密钥管理、数字签名、身份认证、多方安全计算、纠错码、银行网络管理以及数据安全等方面都有重要作用。秘密共享是在一组参与者中共享秘密的技术,它主要用于保护重要信息,防止信息被丢失、被破坏、被篡改。简单来说,秘密共享就是指共享的秘密在一个用户体里进行合理分配,以达到由所有成员共同掌管秘密的目的。在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构就称之为去中心化。去中心化可以替换第三方提供的中心化功能,系统中任意一方不能够随意更改规则,给多方交互带来便利。
进一步的,上述身份控制端还包括ID生成模块,用于向所述数据使用端的数据源层获取所述第二私钥分片,在所述可信执行环境中拼接所述第一私钥分片和所述第二私钥分片得到所述数据使用端的私钥并将所述数据使用端的私钥转化为所述可信应用ID。具体的,ID生成模块可以将第一私钥分片和第二私钥分片拼接得到完整密钥,利用固定函数将完整私钥转化成可信应用ID。
进一步的,上述身份控制端可以为数据平台中用于进行身份控制的模块,上述数据平台还可以包括与计费相关的模块,以便在数据使用端申请功能或调用功能后进行收费。上述与计费相关的模块包括申请计费模块和调用计费模块,申请计费模块用于在数据使用端向身份控制端进行新功能申请成功后,对数据使用端收取一定的功能申请费用;调用计费模块用于在数据提供端为数据使用端返回数据处理结果后,对数据使用端收取一定的功能调用费用。
具体的,上述申请计费模块用于统计所述ID生成模块拼接所述第一私钥分片和所述第二私钥分片的第一拼接次数,并根据所述第一拼接次数对所述数据使用端执行对应的计费操作。数据使用端每次申请新功能时都需要执行私钥分片拼接操作,本实施例使用第一拼接次数表示生成可信应用ID的次数,进而实现对新功能申请的计费。通过上述方式能够保证收费过程去中心化,保证了交易的透明性和公平性。
进一步的,在数据使用端向数据提供端进行功能注册后,可以向数据提供端发起功能调用申请,以便数据提供端根据所需调用的功能从数据源层获取数据并在可信执行环境中进行计算得到可信应用的数据处理结果。相应的,其中,数据使用端在向所述数据提供端发起功能调用申请后向所述身份控制端发送远程认证请求。身份控制端还包括远程认证模块,用于在接收到所述数据使用端的远程认证请求时,向所述数据使用端的数据源层获取所述第二私钥分片,并在所述可信执行环境中拼接所述第一私钥分片和所述第二私钥分片对所述数据使用端进行远程认证。若通过远程认证,则允许数据提供端执行功能调用的相关流程;若未通过远程认证,则禁止数据提供端执行功能调用的相关流程。调用计费模块可以统计所述远程认证模块拼接所述第一私钥分片和所述第二私钥分片的第二拼接次数,并根据所述第二拼接次数对所述数据使用端执行对应的计费操作。本实施例使用第二拼接次数表示功能调用的次数,进而实现对功能调用的计费。通过上述方式能够保证收费过程去中心化,保证了交易的透明性和公平性。
进一步的,数据提供端还可以包括验证模块,验证模块用于对所述功能注入申请中的所述应用签名进行合法性验证,并在所述应用签名通过合法性验证后启动所述功能调用模块对应的工作流程。
本申请实施例还提供一种应用于身份控制端的数据处理方法,该方法可以包括:接收数据使用端发起的新功能申请;在可信执行环境中生成所述新功能申请对应的可信应用ID和应用签名;将所述应用签名返回至所述数据使用端,以便在所述数据使用端根据可信应用ID、所述应用签名和功能代码向所述数据提供端发起功能注入申请之后,所述数据提供端在所述可信执行环境中生成所述功能注入申请对应的可信应用并返回所述可信应用的数据处理结果。
本实施例中数据使用端先向身份控制端发起新功能申请,身份控制端在可信执行环境中生成所述新功能实施例对应的应用签名。数据使用端利用上述应用签名、可信应用ID和相应的功能代码向数据提供端发起功能注入实施例,以便数据提供端在可信执行环境中生成所述功能注入实施例对应的可信应用并返回所述可信应用的数据处理结果。上述新功能实施例和功能注入实施例均在可信执行环境中实现,可信执行环境能够保证数据处理过程的安全性和可信度,因此本实施例能够在数据处理过程中保证数据隐私安全。
进一步的,还包括:
接收所述数据使用端发起的注册申请,并在所述可信执行环境中生成所述数据使用端的私钥,并利用shamir秘密分享算法对所述数据使用端的私钥进行分片得到第一私钥分片和第二私钥分片,将所述第一私钥分片存储至所述身份控制端的数据源层,将所述第二私钥分片返回至所述数据使用端。
进一步的,还包括:
向所述数据使用端的数据源层获取所述第二私钥分片,在所述可信执行环境中拼接所述第一私钥分片和所述第二私钥分片得到所述数据使用端的私钥并将所述数据使用端的私钥转化为所述可信应用ID。
进一步的,还包括:
统计可信应用ID生成过程中拼接所述第一私钥分片和所述第二私钥分片的第一拼接次数,并根据所述第一拼接次数对所述数据使用端执行对应的计费操作。
进一步的,还包括:
在接收到所述数据使用端的远程认证请求时,向所述数据使用端的数据源层获取所述第二私钥分片,并在所述可信执行环境中拼接所述第一私钥分片和所述第二私钥分片对所述数据使用端进行远程认证;其中,所述远程认证请求为所述数据使用端在向所述数据提供端发起功能调用申请后向所述身份控制端发送的请求。
进一步的,还包括:
统计远程过程中拼接所述第一私钥分片和所述第二私钥分片的第二拼接次数,并根据所述第二拼接次数对所述数据使用端执行对应的计费操作。
本申请实施例还提供一种应用于数据提供端的数据处理方法,应用于数据提供端,包括:接收数据使用端根据可信应用ID、应用签名和功能代码向所述数据提供端发起的功能注入申请;其中,所述应用签名的生成过程包括:所述身份控制端在接收到数据使用端发起的新功能申请后,在可信执行环境中生成所述新功能申请对应的所述应用签名;在所述可信执行环境中生成所述功能注入申请对应的可信应用,并返回所述可信应用的数据处理结果。
本实施例中数据使用端先向身份控制端发起新功能申请,身份控制端在可信执行环境中生成所述新功能实施例对应的应用签名。数据使用端利用上述应用签名、可信应用ID和相应的功能代码向数据提供端发起功能注入实施例,以便数据提供端在可信执行环境中生成所述功能注入实施例对应的可信应用并返回所述可信应用的数据处理结果。上述新功能实施例和功能注入实施例均在可信执行环境中实现,可信执行环境能够保证数据处理过程的安全性和可信度,因此本实施例能够在数据处理过程中保证数据隐私安全。
进一步的,还包括:
统计可信应用ID生成过程中拼接所述第一私钥分片和所述第二私钥分片的第一拼接次数,并根据所述第一拼接次数对所述数据使用端执行对应的计费操作;
其中,可信应用ID生成过程包括:身份控制端接收所述数据使用端发起的注册申请,并在所述可信执行环境中生成所述数据使用端的私钥,并利用shamir秘密分享算法对所述数据使用端的私钥进行分片得到第一私钥分片和第二私钥分片,将所述第一私钥分片存储至所述身份控制端的数据源层,将所述第二私钥分片返回至所述数据使用端;向所述数据使用端的数据源层获取所述第二私钥分片,在所述可信执行环境中拼接所述第一私钥分片和所述第二私钥分片得到所述数据使用端的私钥并将所述数据使用端的私钥转化为所述可信应用ID。
进一步的,还包括:
统计远程认证过程中拼接所述第一私钥分片和所述第二私钥分片的第二拼接次数,并根据所述第二拼接次数对所述数据使用端执行对应的计费操作;
其中,远程认证过程包括:在接收到所述数据使用端的远程认证请求时,身份控制端向所述数据使用端的数据源层获取所述第二私钥分片,并在所述可信执行环境中拼接所述第一私钥分片和所述第二私钥分片对所述数据使用端进行远程认证;其中,所述远程认证请求为所述数据使用端在向所述数据提供端发起功能调用申请后向所述身份控制端发送的请求。
本申请实施例还提供一种应用于数据使用端的数据处理方法,包括:向身份控制端发起新功能申请,以便所述身份控制端在可信执行环境中生成所述新功能申请对应的可信应用ID和应用签名;根据可信应用ID、所述应用签名和功能代码向数据提供端发起功能注入申请,以便所述数据使用端在所述可信执行环境中生成所述功能注入申请对应的可信应用并返回所述可信应用的数据处理结果。具体的,数据使用端可以向数据提供端发起功能调用申请,以便数据提供端利用根据功能调用申请调用相应的功能并在可信执行环境中进行计算返回数据处理结果。
本实施例中数据使用端先向身份控制端发起新功能申请,身份控制端在可信执行环境中生成所述新功能实施例对应的应用签名。数据使用端利用上述应用签名、可信应用ID和相应的功能代码向数据提供端发起功能注入实施例,以便数据提供端在可信执行环境中生成所述功能注入实施例对应的可信应用并返回所述可信应用的数据处理结果。上述新功能实施例和功能注入实施例均在可信执行环境中实现,可信执行环境能够保证数据处理过程的安全性和可信度,因此本实施例能够在数据处理过程中保证数据隐私安全。
进一步的,还包括:
统计可信应用ID生成过程中拼接所述第一私钥分片和所述第二私钥分片的第一拼接次数,并根据所述第一拼接次数对所述数据使用端执行对应的计费操作;
其中,可信应用ID生成过程包括:身份控制端接收所述数据使用端发起的注册申请,并在所述可信执行环境中生成所述数据使用端的私钥,并利用shamir秘密分享算法对所述数据使用端的私钥进行分片得到第一私钥分片和第二私钥分片,将所述第一私钥分片存储至所述身份控制端的数据源层,将所述第二私钥分片返回至所述数据使用端;向所述数据使用端的数据源层获取所述第二私钥分片,在所述可信执行环境中拼接所述第一私钥分片和所述第二私钥分片得到所述数据使用端的私钥并将所述数据使用端的私钥转化为所述可信应用ID。
进一步的,还包括:
统计远程认证过程中拼接所述第一私钥分片和所述第二私钥分片的第二拼接次数,并根据所述第二拼接次数对所述数据使用端执行对应的计费操作;
其中,远程认证过程包括:在接收到所述数据使用端的远程认证请求时,身份控制端向所述数据使用端的数据源层获取所述第二私钥分片,并在所述可信执行环境中拼接所述第一私钥分片和所述第二私钥分片对所述数据使用端进行远程认证;其中,所述远程认证请求为所述数据使用端在向所述数据提供端发起功能调用申请后向所述身份控制端发送的请求。
由于方法部分的实施例与系统部分的实施例相互对应,因此方法部分的实施例请参见系统部分的实施例的描述,这里暂不赘述。
在分布式计算环境下,相关技术它主要通过可信的管理员来保证数据隐私安全,没有利用TEE(可信执行环境)来保证每次数据的隐私问题,但可信管理员的可信很难得到保证。相关方案中没有提及计费模式。如需计费主要通过管理员每次帮助用户进行秘密分享操作而收取费用,但是此计费模式的前提条件是管理员能够合理的收取费用,实际应用中管理员的收费操作很难保证公平且透明。
下面通过在实际应用中的实施例说明上述实施例描述的流程,能够解决上述相关技术的缺陷。本实施例提供一种基于TEE(Trusted Execution Environment,可信执行环境)和秘密分享的去中心化计费模式,本实施例利用TEE的特性来替换可信第三方提供的功能,同时使用秘密分享进行密钥的分片进一步保障了账户信息的去中心化控制。该计费模式能为联盟链、私有云或混合云等场景下的数据流转提供一种透明化且安全可信的计费模式。该计费模式中任意一方不能够随意改变计费规则,数据源与数据使用方的交互都在TEE内进行且不受任意方干涉。
请参见图2,图2为本申请实施例所提供的一种用户注册流程图,用户注册流程包括:数据使用端向身份控制端发起注册申请,身份控制端在TEE中为其生成一对公私钥,公钥进行广播,并用Shamir秘密分享算法将私钥分片,一部分私钥分片保存在自身数据源层,其余部分私钥分片返还给数据使用端进行保存。通过对公钥进行广播能够使得交易的其他参与方能获得该公钥,以便后期利用该公钥进行身份验证。
进一步的,数据提供端也可以使用上述方式进行用户注册,具体过程如下:数据提供端向身份控制端发起注册申请,身份控制端在TEE中为其生成一对公私钥,公钥进行广播,并用Shamir秘密分享算法将私钥分片,一部分私钥分片保存在自身数据源层,其余部分私钥分片返还给数据提供端。
请参见图3,图3为本申请实施例所提供的一种申请新功能的流程图,该流程包括:数据使用端向身份控制端发起申请新功能后,身份控制端会先根据数据使用端的身份(如判断数据使用端是否处于登陆状态)向对方以及自身数据源层索要私钥分片,并在TEE中拼接,生成一个对应该数据使用端的可信应用(TA)的ID(可信应用的ID用于后续在向数据提供端注入新功能时需要在数据提供方的TEE中建立一个对应的TA并加载所需功能),在对可信应用ID做签名后返回给数据使用端可信应用ID和应用签名,还可以在数据源层中保存可信应用TA的相关信息,此过程均在TEE中完成,身份控制端本身无法改变任何流程,确保该过程去中心化。在完成申请新功能流程时,身份控制端会向数据使用端收取费用。
请参见图4,图4为本申请实施例所提供的一种功能注入流程的示意图,该过程包括:数据使用端需要使用新的功能时,便向数据提供端发起功能注入申请并提供在申请新功能时得到的可信应用ID、应用签名以及功能代码,数据提供端从数据源层获取公钥并通过身份控制端进行远程认证,以便验证应用签名的合法性,如合法数据使用端则提供验签信息和功能代码。数据提供端根据可信应用ID在TEE中生成对应的可信应用并将功能代码注入可信应用。
请参见图5,图5为本申请实施例所提供的一种功能调用流程的示意图,该过程包括:数据使用端向数据提供端发起功能调用申请时,数据提供端的TEE根据所需调用功能向数据源层获取数据并在TEE中计算结果,并将结果返回给数据使用端。此过程均在TEE中完成,确保该过程去中心化和数据可用不可见,且数据无需出本地,完成上述过程后数据提供端向数据使用端收取费用。
上述实施例提供的基于TEE和秘密分享的计费模式属于数据交易领域,提供了一种安全可信的数据流转方式,基于用户申请可信功能的个数和可信功能运行次数加以收费。在TEE中的数据流转确保此计费模式是安全可信的,而该计费模式的去中心化特点也确保了各方的交易透明且公平。本实施例解决了需要第三方控制数据和计费的问题,做到去中心化,同时也提供了一种新的计费模式,该计费模式对于使用的各方都是透明且公平,且TEE确保计费模式里数据的流转也为安全可信的,更容易被用户接受。本实施例使用区块链去中心化的特性,交易双方的定价、使用次数统计以及后期公示完全都是安全防篡改的,使用公平且透明,不存在一方利用信息不对称的优势进行乱收费的状况。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本文发布于:2023-04-13 08:43:08,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/1/86381.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |