CN111327643B - 一种多方数据共享方法和装置 - Google Patents
一种多方数据共享方法和装置 Download PDFInfo
- Publication number
- CN111327643B CN111327643B CN202010410004.2A CN202010410004A CN111327643B CN 111327643 B CN111327643 B CN 111327643B CN 202010410004 A CN202010410004 A CN 202010410004A CN 111327643 B CN111327643 B CN 111327643B
- Authority
- CN
- China
- Prior art keywords
- data
- token
- user
- computing unit
- registration
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例提供一种多方数据共享方法和装置,用于在权限管理平台、可信执行环境下的可信计算单元、数据使用方、数据提供方和数据中心之间共享数据。数据提供方预先向权限管理平台注册包含第一密钥的元数据,并将采用第一密钥加密后的第一加密数据存储至数据中心。数据使用方促使可信计算单元向权限管理平台发送数据获取请求。权限管理平台基于数据获取请求携带的信息,验证数据使用方使用可信计算单元对第一数据进行数据处理的权限;当权限验证通过时,从数据中心获取第一加密数据并重新加密为第二加密数据,将第二加密数据和密钥分别发送至可信计算单元。可信计算单元解密得到第一数据后对第一数据进行数据处理,实现对隐私数据的处理。
Description
技术领域
本说明书一个或多个实施例涉及数据处理技术领域,尤其涉及一种多方数据共享方法和装置。
背景技术
随着技术的发展,多方联合进行数据融合处理的场景越来越多,所处理的数据往往会涉及多个平台。例如,数据提供方可以提供数据,数据使用方可以对数据提供方提供的数据进行处理。数据使用方还可以借助于可信计算单元对数据提供方提供的数据进行相应的处理,从而保证数据计算的安全性。可信计算单元是应用了可信执行环境(TrustedExecution Environment,TEE)的计算单元,可以提供数据计算服务。可信计算单元具有一定的隔离能力,进而能够保证数据计算的安全性。
数据使用方需要有数据提供方的授权才能够使用数据,实现数据的共享。而针对在线业务的数据融合过程,数据使用方往往需要多个数据提供方的数据实时配合。
因此,希望能有改进的方案,可以高效地实现数据提供方与数据使用方等各方之间的数据授权和数据共享。
发明内容
本说明书一个或多个实施例描述了一种多方数据共享方法和装置,以高效地实现数据提供方与数据使用方等各方之间的数据授权和数据共享。具体的技术方案如下。
第一方面,实施例提供了一种多方数据共享方法,通过权限管理平台执行,用于在所述权限管理平台、可信计算单元、数据使用方、数据提供方和数据中心之间共享数据,包括:
接收所述可信计算单元发送的数据获取请求,所述数据获取请求携带以下信息:待获取的第一数据的标识、所述数据使用方的令牌和所述可信计算单元的代码哈希;所述数据获取请求是所述可信计算单元在接收到所述数据使用方发送的数据处理请求时发送;
基于所述数据获取请求携带的信息,验证所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限;
当权限验证通过时,从所述数据中心获取第一加密数据;其中,所述第一加密数据使用第一密钥对所述第一数据加密后得到,所述第一加密数据是所述数据提供方向所述权限管理平台注册所述第一数据的元数据之后存储至所述数据中心,所述元数据中至少包含所述第一密钥;
从所述元数据中获取第一密钥,使用所述第一密钥对所述第一加密数据进行解密,得到所述第一数据;
生成第二密钥,使用所述第二密钥对所述第一数据进行加密,得到第二加密数据;
将所述第二加密数据和所述第二密钥分别发送至所述可信计算单元。
在一种实施方式中,所述元数据中还包括与所述第一数据对应的授权信息;所述基于所述数据获取请求携带的信息,验证所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限的步骤,包括:
对所述可信计算单元进行远程RA认证,以确认所述代码哈希是否与所述可信计算单元匹配;
当确认匹配时,从所述元数据中获取所述授权信息;
验证所述授权信息中是否存在所述数据使用方的令牌和所述代码哈希,当存在时,确定所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限验证通过。
在一种实施方式中,在接收所述可信计算单元发送的数据获取请求之前,方法还包括:
接收所述数据提供方通过加密通道发送的元数据注册请求,所述元数据注册请求携带所述元数据和所述数据提供方的令牌;
验证所述数据提供方的令牌是否存在于可信方令牌列表中;
当验证通过时,保留所述元数据,并向所述数据提供方发送注册成功的注册结果,以使得所述数据提供方在接收到所述注册结果时将所述第一加密数据存储至所述数据中心。
在一种实施方式中,在接收所述数据提供方通过加密通道发送的注册请求之前,方法还包括:
接收所述数据提供方发送的用户注册请求;其中,所述用户注册请求携带所述数据提供方的令牌和注册令牌,所述注册令牌是所述数据提供方通过用户管理方从所述权限管理平台中申请获取;
验证所述注册令牌是否是所述权限管理平台发出,且是否未被使用过;
若验证通过,则将所述数据提供方的令牌加入所述可信方令牌列表中。
在一种实施方式中,在接收所述数据提供方发送的用户注册请求之前,方法还包括:
接收所述用户管理方通过加密通道发送的注册令牌获取请求;其中,所述注册令牌获取请求是针对所述数据提供方进行用户注册而发送;
在对所述用户管理方验证通过之后,生成所述注册令牌;
将所述注册令牌通过加密通道发送至所述用户管理方,以使所述用户管理方将所述注册令牌发送至所述数据提供方。
在一种实施方式中,在验证所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限之后,还包括:
将权限验证结果以及所述数据获取请求携带的信息进行数据脱敏,将数据脱敏之后的数据存储至记录中心。
第二方面,实施例提供了一种多方数据共享方法,通过可信计算单元执行,用于在权限管理平台、所述可信计算单元、数据使用方、数据提供方和数据中心之间共享数据,包括:
接收所述数据使用方通过加密通道发送的数据处理请求;其中,所述数据处理请求携带待处理的第一数据的标识和所述数据使用方的令牌;
生成数据获取请求,所述数据获取请求携带以下信息:所述第一数据的标识、所述数据使用方的令牌和所述可信计算单元的代码哈希;
通过加密通道将所述数据获取请求发送至所述权限管理平台,以使得所述权限管理平台在通过权限验证之后使用第二密钥将所述第一数据加密为第二加密数据;
接收所述权限管理平台分别发送的所述第二加密数据和所述第二密钥;
使用所述第二密钥对所述第二加密数据进行解密,得到所述第一数据;
基于所述可信计算单元中运行的计算任务对所述第一数据进行数据处理。
第三方面,实施例提供了一种多方数据共享方法,通过数据提供方执行,用于在权限管理平台、可信计算单元、数据使用方、所述数据提供方和数据中心之间共享数据,包括:
向所述权限管理平台发送元数据注册请求,所述元数据注册请求携带第一数据的元数据和所述数据提供方的令牌,所述元数据中至少包含用于加密所述第一数据的第一密钥;
接收所述权限管理平台发送的注册成功的注册结果;
使用所述第一密钥对所述第一数据进行加密,得到第一加密数据;
将所述第一加密数据存储至所述数据中心。
在一种实施方式中,元数据中还包括与所述第一数据对应的授权信息。
在一种实施方式中,在向所述权限管理平台发送元数据注册请求之前,方法还包括:
向所述权限管理平台发送用户注册请求,以使得所述权限管理平台在基于注册令牌对所述数据提供方验证通过时,将所述数据提供方的令牌加入可信方令牌列表中;其中,所述用户注册请求携带所述数据提供方的令牌和所述注册令牌,所述注册令牌是所述数据提供方通过用户管理方从所述权限管理平台中申请获取。
第四方面,实施例提供了一种多方数据共享方法,通过用户管理方执行,包括:
通过加密通道向权限管理平台发送注册令牌获取请求,所述注册令牌获取请求是针对数据提供方的用户注册而发送,所述数据提供方为任意一个待注册用户;
接收所述权限管理平台通过加密通道发送的注册令牌,所述注册令牌是所述权限管理平台对所述用户管理方验证通过之后生成;
将所述注册令牌发送至所述数据提供方。
第五方面,实施例提供了一种多方数据共享装置,部署在权限管理平台,用于在所述权限管理平台、可信计算单元、数据使用方、数据提供方和数据中心之间共享数据,包括:
第一接收模块,配置为接收所述可信计算单元发送的数据获取请求,所述数据获取请求携带以下信息:待获取的第一数据的标识、所述数据使用方的令牌和所述可信计算单元的代码哈希;所述数据获取请求是所述可信计算单元在接收到所述数据使用方发送的数据处理请求时发送;
第一验证模块,配置为基于所述数据获取请求携带的信息,验证所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限;
第一获取模块,配置为当权限验证通过时,从所述数据中心获取第一加密数据;其中,所述第一加密数据使用第一密钥对所述第一数据加密后得到,所述第一加密数据是所述数据提供方向所述权限管理平台注册所述第一数据的元数据之后存储至所述数据中心,所述元数据中至少包含所述第一密钥;
第一解密模块,配置为从所述元数据中获取第一密钥,使用所述第一密钥对所述第一加密数据进行解密,得到所述第一数据;
第一加密模块,配置为生成第二密钥,使用所述第二密钥对所述第一数据进行加密,得到第二加密数据;
第一发送模块,配置为将所述第二加密数据和所述第二密钥分别发送至所述可信计算单元。
在一种实施方式中,所述元数据中还包括与所述第一数据对应的授权信息;所述第一验证模块,具体配置为:
对所述可信计算单元进行远程RA认证,以确认所述代码哈希是否与所述可信计算单元匹配;
当确认匹配时,从所述元数据中获取所述授权信息;
验证所述授权信息中是否存在所述数据使用方的令牌和所述代码哈希,当存在时,确定所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限验证通过。
在一种实施方式中,所述第一接收模块,还配置为在接收所述可信计算单元发送的数据获取请求之前,接收所述数据提供方通过加密通道发送的元数据注册请求,所述元数据注册请求携带所述元数据和所述数据提供方的令牌;
所述第一验证模块,还配置为验证所述数据提供方的令牌是否存在于可信方令牌列表中;
所述第一发送模块,还配置为当验证通过时,保留所述元数据,并向所述数据提供方发送注册成功的注册结果,以使得所述数据提供方在接收到所述注册结果时将所述第一加密数据存储至所述数据中心。
在一种实施方式中,装置还包括第一加入模块;
所述第一接收模块,还配置为在接收所述数据提供方通过加密通道发送的注册请求之前,接收所述数据提供方发送的用户注册请求;其中,所述用户注册请求携带所述数据提供方的令牌和注册令牌,所述注册令牌是所述数据提供方通过用户管理方从所述权限管理平台中申请获取;
所述第一验证模块,还配置为验证所述注册令牌是否是所述权限管理平台发出,且是否未被使用过;
所述第一加入模块,配置为当验证通过时,将所述数据提供方的令牌加入所述可信方令牌列表中。
在一种实施方式中,装置还包括第一生成模块;
所述第一接收模块,还配置为在接收所述数据提供方发送的用户注册请求之前,接收所述用户管理方通过加密通道发送的注册令牌获取请求;其中,所述注册令牌获取请求是针对所述数据提供方进行用户注册而发送,所述数据提供方为任意一个待注册用户;
所述第一生成模块,配置为在对所述用户管理方验证通过之后,生成所述注册令牌;
所述第一发送模块,还配置为将所述注册令牌通过加密通道发送至所述用户管理方,以使所述用户管理方将所述注册令牌发送至所述数据提供方。
第六方面,实施例提供了一种多方数据共享装置,部署在可信计算单元中,用于在权限管理平台、所述可信计算单元、数据使用方、数据提供方和数据中心之间共享数据,包括:
第二接收模块,配置为接收所述数据使用方通过加密通道发送的数据处理请求;其中,所述数据处理请求携带待处理的第一数据的标识和所述数据使用方的令牌;
第二生成模块,配置为生成数据获取请求,所述数据获取请求携带以下信息:所述第一数据的标识、所述数据使用方的令牌和所述可信计算单元的代码哈希;
第二发送模块,配置为将所述数据获取请求发送至所述权限管理平台,以使得所述权限管理平台在通过权限验证之后使用第二密钥将所述第一数据加密为第二加密数据;
第二接收模块,配置为接收所述权限管理平台分别发送的所述第二加密数据和所述第二密钥;
第二解密模块,配置为使用所述第二密钥对所述第二加密数据进行解密,得到所述第一数据;
第一处理模块,配置为基于所述可信计算单元中运行的计算任务对所述第一数据进行数据处理。
第七方面,实施例提供了一种多方数据共享装置,部署在数据提供方中,用于在权限管理平台、可信计算单元、数据使用方、所述数据提供方和数据中心之间共享数据,包括:
第三发送模块,配置为向所述权限管理平台发送元数据注册请求,所述元数据注册请求携带第一数据的元数据和所述数据提供方的令牌,所述元数据中至少包含用于加密所述第一数据的第一密钥;
第三接收模块,配置为接收权限管理平台发送的注册成功的注册结果;
第二加密模块,配置为使用所述第一密钥对所述第一数据进行加密,得到第一加密数据;
第一存储模块,配置为将所述第一加密数据存储至所述数据中心。
第八方面,实施例提供了一种多方数据共享装置,部署在用户管理方中,包括:
第四发送模块,配置为通过加密通道向权限管理平台发送注册令牌获取请求,所述注册令牌获取请求是针对数据提供方的用户注册而发送,所述数据提供方为任意一个待注册用户;
第四接收模块,配置为接收所述权限管理平台通过加密通道发送的注册令牌,所述注册令牌是权限管理平台对所述用户管理方验证通过之后生成;
第五发送模块,配置为将所述注册令牌发送至所述数据提供方。
第九方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面至第四方面中任一项所述的方法。
第十方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面至第四方面中任一项所述的方法。
本说明书实施例提供的方法和装置中,数据提供方可以离线或在线地在权限管理平台中注册元数据,当数据使用方需要对数据提供方的数据进行数据处理时,通过可信计算单元向权限管理平台请求数据,权限管理平台在验证了数据使用方使用可信计算单元对数据进行数据处理的权限之后,从数据中心获取数据提供方存储的加密数据,从元数据中获取密钥对加密数据进行解密,并生成新的密钥对解密后的数据进行加密,再将新的密钥和新的加密数据发送至可信计算单元。这样,可信计算单元就可以通过解密得到数据提供方存储在数据中心中的数据,并对其进行数据处理。这种方式可以将数据提供方和数据使用方进行解耦,并且又能很好地进行权限验证,因此能够高效地实现数据提供方与数据使用方等各方之间的数据授权和数据共享。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为实施例提供的用户注册过程的一种流程示意图;
图3为实施例提供的元数据注册和数据上传的一种流程示意图;
图4为实施例提供的数据获取和数据处理过程的一种流程示意图;
图5为部署在权限管理平台中的多方数据共享装置的一种示意性框图;
图6为部署在可信计算单元中的多方数据共享装置的一种示意性框图;
图7为部署在数据提供方中的多方数据共享装置的一种示意性框图;
图8为部署在用户管理方中的多方数据共享装置的一种示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。其中包括权限管理平台10、可信计算单元20、数据使用方30、数据提供方40和数据中心50。虽然图1中仅仅示出一个数据使用方、一个数据提供方和一个可信计算单元,但是在实际应用场景中,上述三者的数量可能是多个。
数据使用方30和数据提供方40之间存在数据共享的需求。例如,数据使用方30可能需要对多个数据提供方40的数据进行融合,并且这种融合存在实时性要求。数据使用方30使用数据提供方40的数据,需要获得数据提供方40的授权。数据使用方30可以通过可信计算单元20对数据提供方40的数据进行处理和使用。
在在线业务中,数据使用方30存在实时地使用数据提供方40的数据的需求。为了能够高效地实现数据提供方40与数据使用方30等各方之间的数据授权和数据共享,本说明书实施例提供了一种多方数据共享方法。首先,数据提供方40向权限管理平台10注册第一数据Data1的元数据,该元数据包含第一密钥Key1。在注册成功之后,数据提供方40使用第一密钥Key1将第一数据Data1加密为第一加密数据,并存储至数据中心50。上述这部分可以离线执行。其次,当数据使用方30需要使用数据时,向可信计算单元20请求处理数据,以此触发可信计算单元20向权限管理平台10请求获取数据。然后,权限管理平台10对数据使用方30和可信计算单元20的权限进行验证后,从数据中心50中获取第一加密数据,使用元数据中的第一密钥Key1将第一加密数据解密为第一数据Data1,并重新生成第二密钥Key2,将第一数据Data1加密为第二加密数据,将第二加密数据和第二密钥Key2发送至可信计算单元20。这样,可信计算单元20可以利用第二密钥Key2从第二加密数据中解密出第一数据Data1,并对其进行相应的数据处理。
从以上处理流程可以看出,这种多方数据共享方法可以将数据提供方和数据使用方解耦,使得数据提供方可以在离线情况下对数据进行注册授权,而且该注册授权执行一次即可,数据使用方可以实时地对数据提供方的数据进行使用,并且可以多次使用,数据提供方无需部署数据提供服务来实时配合数据融合业务的传输数据。而且,引入的权限管理平台很好地实现了对数据使用方的权限验证,因此能够高效地实现数据提供方与数据使用方等各方之间的数据授权和数据共享。
以上为本说明书实施例提供的多方数据共享方法的主要实施环节,下面针对每个实施环节进行详细说明。
首先,对数据提供方40向权限管理平台10注册元数据,并向数据中心存储第一加密数据的流程进行说明(图1中的1至2)。
要实现数据提供方40向权限管理平台10进行元数据注册和数据上传,数据提供方40可以首先向权限管理平台进行用户注册,在完成用户注册之后,再进行元数据注册和数据上传。
为了使得用户注册更安全、更可靠,本说明书实施例提供了图2所示的用户注册流程示意图。
步骤S210,用户管理方60通过加密通道向权限管理平台10发送注册令牌获取请求,权限管理平台10可以接收用户管理方60发送的注册令牌获取请求。其中,注册令牌获取请求可以携带用户管理方的令牌,用于向权限管理平台10证明用户管理方的身份。注册令牌获取请求是针对数据提供方40而发送,数据提供方40为任意一个待注册用户。用户管理方60可以在数据提供方40的触发下向权限管理平台10申请注册令牌。注册令牌获取请求,用于从权限管理平台10中申请新的注册令牌。当任意一个待注册用户需要向权限管理平台进行注册之前,都可以通过用户管理方60从权限管理平台10中获取一个一次性的注册令牌。
用户管理方60为权限管理平台10的默认信任用户,用于响应待注册用户的触发而从权限管理平台10中申请注册令牌。
用户管理方60通过加密通道向权限管理平台10发送注册令牌获取请求,可以理解为,使用约定密钥对注册令牌获取请求的关键部分进行加密,并将其发送至权限管理平台10,权限管理平台10使用该约定密钥对加密后的注册令牌获取请求进行解密,得到注册令牌获取请求。在以下提到通过加密通道发送信息的操作时,均采用类似的方式进行。
步骤S220,权限管理平台10在对用户管理方60验证通过之后,生成注册令牌RT1。权限管理平台10可以将注册令牌获取请求中携带的用户管理方的令牌,与预先存储的用户管理方的令牌进行匹配,如果两者相同,则验证通过,如果两者不同,则验证不通过。如果验证不通过,则可以不执行后续步骤。在生成注册令牌RT1时,可以在预设数值范围内随机生成。
权限管理平台10还可以存储生成的注册令牌RT1,用于在用户注册时对待注册用户进行验证。另外,权限管理平台10还可以将本次请求中的用户管理方的请求信息以及生成的注册令牌RT1经过数据脱敏后写入记录中心。
步骤S230,权限管理平台10将注册令牌RT1通过加密通道发送至用户管理方60。步骤S240,用户管理方60在接收到权限管理平台10发送的注册令牌RT1时,将该注册令牌RT1发送至数据提供方40。
在数据提供方40得到注册令牌RT1之后,可以采用以下步骤向权限管理平台10进行用户注册。
步骤S250,数据提供方40向数据提供方40发送用户注册请求,权限管理平台10可以接收该用户注册请求。其中,用户注册请求携带数据提供方40的令牌和注册令牌RT1。
数据提供方40可以随机生成自身令牌,用于证明自身身份,并将生成的数据提供方的令牌和注册令牌RT1添加在用户注册请求中。数据提供方40还可以在用户注册请求中添加其他信息,例如添加数据提供方40的说明性信息,包括用户名或者机构名等信息。
步骤S260,权限管理平台10验证注册令牌RT1是否是权限管理平台10发出,且是否未被使用过。权限管理平台10可以根据自身存储的注册令牌RT1与用户注册请求中的注册令牌RT1进行匹配,如果匹配成功且该注册令牌RT1未被使用过,则验证通过,否则验证不通过。当验证通过时,则将该注册令牌RT1标记为已使用。不管验证通过还是验证不通过,权限管理平台10都可以将本次请求的信息,包括数据提供方40的令牌、注册令牌RT1和用户注册请求中的其他信息,经过数据脱敏后写入记录中心。
步骤S270,权限管理平台10在验证通过时将数据提供方40的令牌加入可信方令牌列表中,即完成用户注册。之后,权限管理平台10还可以向数据提供方40发送注册成功通知。
以上内容说明了数据提供方通过用户管理方向权限管理平台进行注册的过程。数据提供方作为待注册用户,在进行用户注册时可以将数据提供方的令牌以及注册令牌都发送至权限管理平台,通过权限管理平台对注册令牌的成功验证而使得权限管理平台将数据提供方的令牌加入可信方令牌列表。
在数据提供方40完成用户注册之后,即可以进行元数据注册和数据上传。数据提供方40在将第一数据Data1上传至数据中心50之前,可以先向权限管理平台注册第一数据Data1的元数据。第一数据可以理解为任意一个待上传数据。该元数据是用于描述第一数据Data1的数据,包括用于加密第一数据Data1的第一密钥Key1,还可以包括与第一数据Data1对应的授权信息。该授权信息可以包括用于处理第一数据Data1的可信计算单元的列表(例如可信围圈(Enclave)列表)和可以使用第一数据Data1的用户列表。该用户列表包括数据脱敏后的数据使用方令牌列表。元数据还可以包括用于描述第一数据Data1的其他信息。
本说明书的一实施例中提供了图3所示的元数据注册和数据上传的流程示意图,包括步骤S310~S340。这部分内容对应于图1中的1至2。
步骤S310,数据提供方40通过加密通道向权限管理平台10发送元数据注册请求,权限管理平台10可以接收该元数据注册请求。该元数据注册请求携带元数据和数据提供方40的令牌。该数据提供方40的令牌用于向权限管理平台10证明身份。
步骤S320,权限管理平台10验证数据提供方40的令牌是否存在于可信方令牌列表中。步骤S330,当验证通过时,权限管理平台10保留该元数据,并向数据提供方40发送注册成功的注册结果。当可信方令牌列表中存在数据提供方40的令牌时,认为验证通过,否则验证不通过。
不管验证通过与否,权限管理平台10均可以将该元数据和数据提供方40的令牌经过数据脱敏后写入记录中心。
步骤S340,数据提供方40在接收到注册成功的注册结果时,使用第一密钥Key1对第一数据Data1进行加密,得到第一加密数据EncryptedData1,将第一加密数据EncryptedData1存储至数据中心60,完成数据上传。当数据提供方40接收到注册成功的注册结果时,认为数据提供方40完成了针对第一数据Data1的授权,并且将其授权给权限管理平台10进行管理。
使用第一密钥Key1将第一数据Data1加密为第一加密数据EncryptedData1时,可以采用预设对称加密算法进行,例如数据加密标准(Data Encryption Standard,DES)、高级加密标准(Advanced Encryption Standard,AES)、三重数据加密算法(Triple DataEncryption Algorithm,3DES)等对称加密算法。在下面提到的加密过程中,都可以采用上述加密算法,利用相应的密钥进行加密。
以上的元数据注册和数据上传过程,可以是数据提供方40离线完成的,且针对每个待分享的数据,对其注册和上传一次即可,无需重复进行,整体上减少了数据提供方40一侧的操作。
下面介绍数据使用方30对第一数据Data1的使用过程。本说明书的一实施例中提供了图4所示的数据获取和数据处理流程示意图,包括步骤S410~S490。这部分内容对应于图1中的3至6。
步骤S410,数据使用方30通过加密通道向可信计算单元20发送数据处理请求,可信计算单元20可以接收该数据处理请求。该数据处理请求可以携带待处理的第一数据Data1的标识和数据使用方30的令牌。
数据使用方30可以预先采用图2所示的方法向权限管理平台10进行用户注册。
步骤S420,可信计算单元20生成数据获取请求,并通过加密通道向权限管理平台10发送该数据获取请求,该数据获取请求携带以下信息:第一数据Data1的标识、数据使用方30的令牌和可信计算单元20的代码哈希。在一种实施方式中,该数据获取请求还可以携带远程认证(Remote Attestation,RA)通道的加密密钥,用于后续建立在可信计算单元20和权限管理平台10之间的RA通道中。该数据获取请求还可以携带其他用于RA认证的信息。
步骤S430,权限管理平台10基于上述数据获取请求携带的信息,验证数据使用方30使用该可信计算单元20对第一数据Data1进行数据处理的权限。
在本实施例中,在进行权限验证时,可以基于权限管理平台10中存储的第一数据Data1的元数据进行。
在进行权限验证时,权限管理平台10可以首先对可信计算单元20进行RA认证,以确认数据获取请求中携带的代码哈希是否与该可信计算单元20匹配。当RA认证成功时,认为该代码哈希与该可信计算单元20匹配,可以继续执行后续验证操作。即当元数据中还包括授权信息时,从元数据中获取授权信息,验证该授权信息中是否存在数据使用方30的令牌和上述代码哈希,当存在时,确定数据使用方30使用可信计算单元20对第一数据Data1进行数据处理的权限验证通过。
可信计算单元20是具有可信执行环境(Trusted Execution Environment,TEE)的计算单元,可信计算单元可以实现在实体计算机中,其隔离能力能够防止其他应用程序窥探和篡改可信计算单元的应用程序和数据,保证计算的安全性。可信计算单元可以是可信的计算围圈(Enclave),且可以采用软件保护扩展(software guard extension,SGX)或信任域(Trust Zone)等技术来实现。例如,根据SGX技术,通过提供一系列CPU指令码,允许用户代码创建具有高访问权限的私有内存区域而形成计算围圈。其他应用程序,包括操作系统OS、BIOS系统、虚拟机系统等,均不能访问围圈中的数据,也就不能窥探和篡改其中应用程序的状态和数据。
通过上述RA认证,可以确认软件代码确实运行在可信执行环境中,以及确认该可信执行环境下软件代码的代码哈希。以SGX技术为例,Intel针对 SGX提供的一套验证和注入隐私数据的机制,主要验证两个方面,一是确认远程代码是否运行在可信围圈(Enclave)中,二是确认远程代码的行为(即代码哈希)是否符合预期;当验证通过后,验证方可以选择性地注入隐私数据,比如验证Enclave的代码哈希符合预期后注入关键密钥等。
可信计算单元20所实现的实体计算机可以是服务端设备。可信计算单元20可以运行计算任务,其运行的计算任务对应的程序代码的哈希值,可以称为代码哈希。该代码哈希可以用于标识可信计算单元20中运行的计算任务。不同的可信计算单元可以运行不同的计算任务。
授权信息中同时存在限定的数据使用方30的令牌和可信计算单元20的代码哈希,可以理解为同时限定了数据使用方和对应的数据处理行为。当通过验证确定第一数据Data1的授权信息中同时存在数据获取请求携带的数据使用方令牌和代码哈希时,认为可信计算单元对第一数据的获取行为是合法的,可以继续执行后续步骤。
权限管理平台10在对可信计算单元20进行的RA认证通过之后,可以与可信计算单元20建立RA通道,即采用数据获取请求携带的加密密钥对发送的数据进行加密。
权限管理平台10在验证数据使用方30使用可信计算单元20对第一数据Data1进行数据处理的权限之后,还可以将权限验证结果以及数据获取请求携带的信息进行数据脱敏,将数据脱敏之后的数据存储至记录中心。
步骤S440,当权限验证通过时,权限管理平台10从数据中心50获取第一加密数据EncryptedData1。其中,第一加密数据EncryptedData1使用第一密钥Key1对第一数据Data1加密后得到。
步骤S450,权限管理平台10从第一数据Data1的元数据中获取第一密钥Key1,使用第一密钥Key1对第一加密数据进行解密,得到第一数据Data1。具体的,可以采用与预设加密算法对应的解密算法,使用第一密钥Key1对第一加密数据进行解密。
步骤S460,权限管理平台10生成第二密钥Key2,使用第二密钥Key2对第一数据Data1进行加密,得到第二加密数据EncryptedData2。权限管理平台10可以在预设数值范围内随机生成第二密钥Key2。
步骤S470,权限管理平台10将第二加密数据EncryptedData2和第二密钥Key2分别发送至可信计算单元20。权限管理平台10还可以通过RA通道将第二加密数据EncryptedData2和第二密钥Key2分别发送至可信计算单元20。
当元数据中包括第一数据的其他描述信息时,权限管理平台10还可以将该其他描述信息发送至可信计算单元20。
步骤S480,可信计算单元20在接收到第二加密数据EncryptedData2和第二密钥Key2之后,使用第二密钥Key2对第二加密数据EncryptedData2进行解密,得到第一数据Data1。
步骤S490,可信计算单元20基于自身运行的计算任务对第一数据Data1进行数据处理。
上述内容提到的数据中心,可以包括分布式文件系统( Hadoop DistributedFile System,HDFS)、对象存储服务(Object Storage Service,OSS)和MySQL数据库中的至少一个。HDFS为分布式的高可用存储平台,其分布式的存储能够提高所存储数据的安全性和可靠性。
记录中心也可以采用上述HDFS、OSS或MySQL数据库来实现,用于记录权限管理平台发送的经过数据脱敏后的日志文件。该记录中心可以采用区块链技术实现。
上述内容中提到的数据脱敏,可以理解为对数据进行信息摘要算法(Message-Digest Algorithm,MD5)操作,或者计算数据的哈希值等操作,以对数据进行变形,包含数据的隐私安全。
上述内容中提到的令牌,是对象身份的一种数据标识,用于对对象的身份进行认证。
上述权限管理平台可以采用具体特定权限的TEE单元来实现,也可以采用具有计算、处理能力的设备或服务器等其他设备来实现。权限管理平台10还用于管理用户的注册与注销,以及管理元数据的注册与注销等。
数据提供方和数据使用方可以实现为任何具有计算、处理能力的设备、平台或在设备集群中实现,例如可以实现为服务器等。
本说明书的实施例,提供了一套完整的数据授权协议流程,可以针对使用方进行授权,以及针对数据使用行为进行授权。由于权限管理平台对数据进行了二次加密,这提高了数据在整体上的安全性。这样的设计保证了即使业务方的可信计算单元被破解,恶意方也只能窥探所访问的数据明文,其他使用相同密钥加密的数据仍然可以得到有效保护。
该协议流程在设计上达成了针对数据使用行为授权、可选择性地对数据融合的输出结果进行访问控制两个特性,以满足实际中多方数据融合的通用入口、出口权限控制。
权限管理平台作为中间层,为数据提供方和数据使用方解耦,数据提供方一次上传即可,数据使用方多次使用时不需要数据提供方重复上传,在重复使用数据时可以有效提升数据访问效率。权限管理平台在设计上允许数据提供方事先离线上传好即可,数据提供方无需部署数据提供服务来实时配合融合业务的传输数据,提升了易用性。
与权限管理平台相关的数据操作需要先进行注册,并且每次请求权限管理平台的数据都会脱敏后写入记录中心。这样对数据的操作方及其行为有了充分的记录,并且记录是在脱敏后,为后续追查提供了可能。另一方面,由于通过权限管理平台获取数据是基于TEE环境的可信计算单元执行的,因此这加强了对操作方的控制,更进一步保护了数据提供方的数据。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
图5为实施例提供的一种多方数据共享装置的示意性框图。该装置500部署在权限管理平台,用于在权限管理平台、可信计算单元、数据使用方、数据提供方和数据中心之间共享数据。该装置实施例与图4所示方法实施例相对应。该装置500包括:
第一接收模块510,配置为接收可信计算单元发送的数据获取请求,数据获取请求携带以下信息:待获取的第一数据的标识、数据使用方的令牌和可信计算单元的代码哈希;数据获取请求是可信计算单元在接收到数据使用方发送的数据处理请求时发送;
第一验证模块520,配置为基于数据获取请求携带的信息,验证数据使用方使用可信计算单元对第一数据进行数据处理的权限;
第一获取模块530,配置为当权限验证通过时,从数据中心获取第一加密数据;其中,第一加密数据使用第一密钥对第一数据加密后得到,第一加密数据是数据提供方向权限管理平台注册第一数据的元数据之后存储至数据中心,元数据中至少包含第一密钥;
第一解密模块540,配置为从元数据中获取第一密钥,使用第一密钥对第一加密数据进行解密,得到第一数据;
第一加密模块550,配置为生成第二密钥,使用第二密钥对第一数据进行加密,得到第二加密数据;
第一发送模块560,配置为将第二加密数据和第二密钥分别发送至可信计算单元。
在一种实施方式中,元数据中还包括与第一数据对应的授权信息;第一验证模块520,具体配置为:
对可信计算单元进行远程RA认证,以确认所述代码哈希是否与可信计算单元匹配;当确认匹配时,从所述元数据中获取所述授权信息;
验证所述授权信息中是否存在数据使用方的令牌和所述代码哈希,当存在时,确定数据使用方使用可信计算单元对第一数据进行数据处理的权限验证通过。
在一种实施方式中,第一接收模块510,还配置为在接收可信计算单元发送的数据获取请求之前,接收数据提供方通过加密通道发送的元数据注册请求,元数据注册请求携带元数据和数据提供方的令牌;
第一验证模块520,还配置为验证数据提供方的令牌是否存在于可信方令牌列表中;
第一发送模块560,还配置为当验证通过时,保留所述元数据,并向数据提供方发送注册成功的注册结果,以使得数据提供方在接收到注册结果时将第一加密数据存储至数据中心。
在一种实施方式中,装置500还包括第一加入模块(图中未示出);
第一接收模块510,还配置为在接收数据提供方通过加密通道发送的注册请求之前,接收数据提供方发送的用户注册请求;其中,用户注册请求携带数据提供方的令牌和注册令牌,注册令牌是数据提供方通过用户管理方从权限管理平台中申请获取;
第一验证模块520,还配置为验证注册令牌是否是权限管理平台发出,且是否未被使用过;
第一加入模块,配置为当验证通过时,将数据提供方的令牌加入可信方令牌列表中。
在一种实施方式中,装置500还包括第一生成模块(图中未示出);
第一接收模块510,还配置为在接收数据提供方发送的用户注册请求之前,接收用户管理方通过加密通道发送的注册令牌获取请求;其中,注册令牌获取请求是针对数据提供方进行用户注册而发送,数据提供方为任意一个待注册用户;
第一生成模块,配置为在对用户管理方验证通过之后,生成注册令牌;
第一发送模块560,还配置为将所述注册令牌通过加密通道发送至用户管理方,以使用户管理方将注册令牌发送至数据提供方。
在一种实施方式中,该装置500还包括:
第二存储模块(图中未示出),配置为在验证数据使用方使用可信计算单元对第一数据进行数据处理的权限之后,将权限验证结果以及数据获取请求携带的信息进行数据脱敏,将数据脱敏之后的数据存储至记录中心。
图6为实施例提供的多方数据共享装置的一种示意性框图。该装置600部署在可信计算单元中,用于在权限管理平台、可信计算单元、数据使用方、数据提供方和数据中心之间共享数据。该装置实施例与图4所示方法实施例相对应。该装置600包括:
第二接收模块610,配置为接收数据使用方通过加密通道发送的数据处理请求;其中数据处理请求携带待处理的第一数据的标识和数据使用方的令牌;
第二生成模块620,配置为生成数据获取请求,数据获取请求携带以下信息:第一数据的标识、数据使用方的令牌和可信计算单元的代码哈希;
第二发送模块630,配置为通过加密通道将数据获取请求发送至权限管理平台,以使得权限管理平台在通过权限验证之后使用第二密钥将第一数据加密为第二加密数据;
第二接收模块640,配置为接收权限管理平台分别发送的第二加密数据和第二密钥;
第二解密模块650,配置为使用第二密钥对第二加密数据进行解密,得到第一数据;
第一处理模块660,配置为基于可信计算单元中运行的计算任务对第一数据进行数据处理。
图7为实施例提供的多方数据共享装置的一种示意性框图。该装置700部署在数据提供方中,用于在权限管理平台、可信计算单元、数据使用方、数据提供方和数据中心之间共享数据。该装置实施例与图3所示方法实施例相对应。该装置700包括:
第三发送模块710,配置为向权限管理平台发送元数据注册请求,元数据注册请求携带第一数据的元数据和数据提供方的令牌,所述元数据中至少包含用于加密第一数据的第一密钥;
第三接收模块720,配置为接收权限管理平台发送的注册成功的注册结果;
第二加密模块730,配置为使用第一密钥对第一数据进行加密,得到第一加密数据;
第一存储模块740,配置为将第一加密数据存储至数据中心。
在一种实施方式中,元数据中还包括与第一数据对应的授权信息。
在一种实施方式中,第三发送模块710,还配置为在向权限管理平台发送元数据注册请求之前,向权限管理平台发送用户注册请求,以使得权限管理平台在基于注册令牌对数据提供方验证通过时,将数据提供方的令牌加入可信方令牌列表中;其中,用户注册请求携带数据提供方的令牌和所述注册令牌,所述注册令牌是数据提供方通过用户管理方从权限管理平台中申请获取。
图8为实施例提供的一种多方数据共享装置的示意性框图。该装置800部署在用户管理方中,该装置实施例与图2所示方法实施例相对应。该装置800包括:
第四发送模块810,配置为通过加密通道向权限管理平台发送注册令牌获取请求,注册令牌获取请求是针对数据提供方的用户注册而发送,数据提供方为任意一个待注册用户;
第四接收模块820,配置为接收权限管理平台通过加密通道发送的注册令牌,所述注册令牌是权限管理平台对用户管理方验证通过之后生成;
第五发送模块830,配置为将所述注册令牌发送至数据提供方。
上述各个装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行图1至图4任一项所述的方法。
本说明书实施例提供了一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行所述可执行代码时,实现图1至图4中任一项所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (13)
1.一种多方数据共享方法,通过权限管理平台执行,用于在所述权限管理平台、可信计算单元、数据使用方、数据提供方和数据中心之间共享数据,所述数据使用方代表用户设备;所述方法包括:
接收所述可信计算单元发送的数据获取请求,所述数据获取请求携带以下信息:待获取的第一数据的标识、所述数据使用方的令牌和所述可信计算单元的代码哈希;所述数据获取请求是所述可信计算单元在接收到所述数据使用方发送的数据处理请求时发送;
基于所述数据获取请求携带的信息,验证所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限;
当权限验证通过时,从所述数据中心获取第一加密数据;其中,所述第一加密数据使用第一密钥对所述第一数据加密后得到,所述第一加密数据是所述数据提供方向所述权限管理平台注册所述第一数据的元数据之后存储至所述数据中心的,所述元数据中至少包含所述第一密钥;
从所述元数据中获取第一密钥,使用所述第一密钥对所述第一加密数据进行解密,得到所述第一数据;
生成第二密钥,使用所述第二密钥对所述第一数据进行加密,得到第二加密数据;
将所述第二加密数据和所述第二密钥分别发送至所述可信计算单元;
所述元数据中还包括与所述第一数据对应的授权信息;所述基于所述数据获取请求携带的信息,验证所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限的步骤,包括:
对所述可信计算单元进行远程RA认证,以确认所述代码哈希是否与所述可信计算单元匹配;
当确认匹配时,从所述元数据中获取所述授权信息;
验证所述授权信息中是否存在所述数据使用方的令牌和所述代码哈希,当存在时,确定所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限验证通过。
2.根据权利要求1所述的方法,在接收所述可信计算单元发送的数据获取请求之前,还包括:
接收所述数据提供方通过加密通道发送的元数据注册请求,所述元数据注册请求携带所述元数据和所述数据提供方的令牌;
验证所述数据提供方的令牌是否存在于可信方令牌列表中;
当验证通过时,保留所述元数据,并向所述数据提供方发送注册成功的注册结果,以使得所述数据提供方在接收到所述注册结果时将所述第一加密数据存储至所述数据中心。
3.根据权利要求2所述的方法,在接收所述数据提供方通过加密通道发送的注册请求之前,还包括:
接收所述数据提供方发送的用户注册请求;其中,所述用户注册请求携带所述数据提供方的令牌和注册令牌,所述注册令牌是所述数据提供方通过用户管理方从所述权限管理平台中申请获取;
验证所述注册令牌是否是所述权限管理平台发出,且是否未被使用过;
若验证通过,则将所述数据提供方的令牌加入所述可信方令牌列表中。
4.根据权利要求3所述的方法,在接收所述数据提供方发送的用户注册请求之前,还包括:
接收所述用户管理方通过加密通道发送的注册令牌获取请求;其中,所述注册令牌获取请求是针对所述数据提供方进行用户注册而发送;
在对所述用户管理方验证通过之后,生成所述注册令牌;
将所述注册令牌通过加密通道发送至所述用户管理方,以使所述用户管理方将所述注册令牌发送至所述数据提供方。
5.根据权利要求1所述的方法,在验证所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限之后,还包括:
将权限验证结果以及所述数据获取请求携带的信息进行数据脱敏,将数据脱敏之后的数据存储至记录中心。
6.一种多方数据共享方法,通过可信计算单元执行,用于在权限管理平台、所述可信计算单元、数据使用方、数据提供方和数据中心之间共享数据,所述数据使用方代表用户设备;所述方法包括:
接收所述数据使用方通过加密通道发送的数据处理请求;其中,所述数据处理请求携带待处理的第一数据的标识和所述数据使用方的令牌;所述第一数据被使用第一密钥加密成第一加密数据,所述第一加密数据在所述数据提供方向所述权限管理平台注册所述第一数据的元数据之后存储至所述数据中心;所述元数据中至少包含所述第一密钥,还包括与所述第一数据对应的授权信息;
生成数据获取请求,所述数据获取请求携带以下信息:所述第一数据的标识、所述数据使用方的令牌和所述可信计算单元的代码哈希;所述数据使用方的令牌和所述代码哈希,应用在以下权限验证中:基于所述代码哈希对所述可信计算单元进行远程RA认证,以确认所述代码哈希是否与所述可信计算单元匹配,在确认匹配时,验证所述授权信息中是否存在所述数据使用方的令牌和所述代码哈希,当存在时,确定所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限验证通过;
通过加密通道将所述数据获取请求发送至所述权限管理平台,以使得所述权限管理平台在确定所述权限验证通过之后基于从所述数据中心获取的所述第一加密数据解密得到所述第一数据,并使用第二密钥将所述第一数据加密为第二加密数据;
接收所述权限管理平台分别发送的所述第二加密数据和所述第二密钥;
使用所述第二密钥对所述第二加密数据进行解密,得到所述第一数据;
基于所述可信计算单元中运行的计算任务对所述第一数据进行数据处理。
7.一种多方数据共享装置,部署在权限管理平台,用于在所述权限管理平台、可信计算单元、数据使用方、数据提供方和数据中心之间共享数据,所述数据使用方代表用户设备;所述装置包括:
第一接收模块,配置为接收所述可信计算单元发送的数据获取请求,所述数据获取请求携带以下信息:待获取的第一数据的标识、所述数据使用方的令牌和所述可信计算单元的代码哈希;所述数据获取请求是所述可信计算单元在接收到所述数据使用方发送的数据处理请求时发送;
第一验证模块,配置为基于所述数据获取请求携带的信息,验证所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限;
第一获取模块,配置为当权限验证通过时,从所述数据中心获取第一加密数据;其中,所述第一加密数据使用第一密钥对所述第一数据加密后得到,所述第一加密数据是所述数据提供方向所述权限管理平台注册所述第一数据的元数据之后存储至所述数据中心的,所述元数据中至少包含所述第一密钥;
第一解密模块,配置为从所述元数据中获取第一密钥,使用所述第一密钥对所述第一加密数据进行解密,得到所述第一数据;
第一加密模块,配置为生成第二密钥,使用所述第二密钥对所述第一数据进行加密,得到第二加密数据;
第一发送模块,配置为将所述第二加密数据和所述第二密钥分别发送至所述可信计算单元;
所述元数据中还包括与所述第一数据对应的授权信息;所述第一验证模块,具体配置为:
对所述可信计算单元进行远程RA认证,以确认所述代码哈希是否与所述可信计算单元匹配;
当确认匹配时,从所述元数据中获取所述授权信息;
验证所述授权信息中是否存在所述数据使用方的令牌和所述代码哈希,当存在时,确定所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限验证通过。
8.根据权利要求7所述的装置,所述第一接收模块,还配置为在接收所述可信计算单元发送的数据获取请求之前,接收所述数据提供方通过加密通道发送的元数据注册请求,所述元数据注册请求携带所述元数据和所述数据提供方的令牌;
所述第一验证模块,还配置为验证所述数据提供方的令牌是否存在于可信方令牌列表中;
所述第一发送模块,还配置为当验证通过时,保留所述元数据,并向所述数据提供方发送注册成功的注册结果,以使得所述数据提供方在接收到所述注册结果时将所述第一加密数据存储至所述数据中心。
9.根据权利要求8所述的装置,还包括第一加入模块;
所述第一接收模块,还配置为在接收所述数据提供方通过加密通道发送的注册请求之前,接收所述数据提供方发送的用户注册请求;其中,所述用户注册请求携带所述数据提供方的令牌和注册令牌,所述注册令牌是所述数据提供方通过用户管理方从所述权限管理平台中申请获取;
所述第一验证模块,还配置为验证所述注册令牌是否是所述权限管理平台发出,且是否未被使用过;
所述第一加入模块,配置为当验证通过时,将所述数据提供方的令牌加入所述可信方令牌列表中。
10.根据权利要求9所述的装置,还包括第一生成模块;
所述第一接收模块,还配置为在接收所述数据提供方发送的用户注册请求之前,接收所述用户管理方通过加密通道发送的注册令牌获取请求;其中,所述注册令牌获取请求是针对所述数据提供方进行用户注册而发送,所述数据提供方为任意一个待注册用户;
所述第一生成模块,配置为在对所述用户管理方验证通过之后,生成所述注册令牌;
所述第一发送模块,还配置为将所述注册令牌通过加密通道发送至所述用户管理方,以使所述用户管理方将所述注册令牌发送至所述数据提供方。
11.一种多方数据共享装置,部署在可信计算单元中,用于在权限管理平台、所述可信计算单元、数据使用方、数据提供方和数据中心之间共享数据,所述数据使用方代表用户设备;所述装置包括:
第二接收模块,配置为接收所述数据使用方通过加密通道发送的数据处理请求;其中,所述数据处理请求携带待处理的第一数据的标识和所述数据使用方的令牌;所述第一数据被使用第一密钥加密成第一加密数据,所述第一加密数据在所述数据提供方向所述权限管理平台注册所述第一数据的元数据之后存储至所述数据中心;所述元数据中至少包含所述第一密钥,还包括与所述第一数据对应的授权信息;
第二生成模块,配置为生成数据获取请求,所述数据获取请求携带以下信息:所述第一数据的标识、所述数据使用方的令牌和所述可信计算单元的代码哈希;所述数据使用方的令牌和所述代码哈希,应用在以下权限验证中:基于所述代码哈希对所述可信计算单元进行远程RA认证,以确认所述代码哈希是否与所述可信计算单元匹配,在确认匹配时,验证所述授权信息中是否存在所述数据使用方的令牌和所述代码哈希,当存在时,确定所述数据使用方使用所述可信计算单元对所述第一数据进行数据处理的权限验证通过;
第二发送模块,配置为将所述数据获取请求发送至所述权限管理平台,以使得所述权限管理平台在确定所述权限验证通过之后基于从所述数据中心获取的所述第一加密数据解密得到所述第一数据,并使用第二密钥将所述第一数据加密为第二加密数据;
第二接收模块,配置为接收所述权限管理平台分别发送的所述第二加密数据和所述第二密钥;
第二解密模块,配置为使用所述第二密钥对所述第二加密数据进行解密,得到所述第一数据;
第一处理模块,配置为基于所述可信计算单元中运行的计算任务对所述第一数据进行数据处理。
12.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-6中任一项所述的方法。
13.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010410004.2A CN111327643B (zh) | 2020-05-15 | 2020-05-15 | 一种多方数据共享方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010410004.2A CN111327643B (zh) | 2020-05-15 | 2020-05-15 | 一种多方数据共享方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111327643A CN111327643A (zh) | 2020-06-23 |
CN111327643B true CN111327643B (zh) | 2020-09-01 |
Family
ID=71173561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010410004.2A Active CN111327643B (zh) | 2020-05-15 | 2020-05-15 | 一种多方数据共享方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111327643B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111797138A (zh) * | 2020-06-29 | 2020-10-20 | 北京荷月科技有限公司 | 一种可信前置链上数据查询方法和系统 |
CN111914293B (zh) * | 2020-07-31 | 2024-05-24 | 平安科技(深圳)有限公司 | 一种数据访问权限验证方法、装置、计算机设备及存储介质 |
CN112100206A (zh) * | 2020-11-13 | 2020-12-18 | 支付宝(杭州)信息技术有限公司 | 一种数字标签生成方法、装置、设备和可读介质 |
CN112910834B (zh) * | 2020-12-08 | 2022-11-18 | 北京众享比特科技有限公司 | 数据共享方法、装置、系统、设备及介质 |
CN112699391B (zh) * | 2020-12-31 | 2023-06-06 | 青岛海尔科技有限公司 | 目标数据的发送方法及隐私计算平台 |
CN112699392A (zh) * | 2020-12-31 | 2021-04-23 | 青岛海尔科技有限公司 | 目标数据的处理方法及装置、存储介质、电子装置 |
CN112783847B (zh) * | 2021-01-18 | 2022-08-12 | 中国农业科学院深圳农业基因组研究所 | 数据共享方法及装置 |
CN112800479B (zh) * | 2021-04-07 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 利用可信第三方的多方联合数据处理方法及装置 |
CN112800436B (zh) * | 2021-04-07 | 2021-06-29 | 支付宝(杭州)信息技术有限公司 | 数据授权方法、装置及电子设备 |
CN112860752B (zh) * | 2021-04-23 | 2021-08-20 | 支付宝(杭州)信息技术有限公司 | 针对多方安全数据库的数据查询方法、装置及系统 |
CN113612597A (zh) * | 2021-07-26 | 2021-11-05 | 京东科技控股股份有限公司 | 数据计算方法、装置、系统及电子设备 |
CN114117499B (zh) * | 2021-12-06 | 2024-05-03 | 中电万维信息技术有限责任公司 | 一种基于权限管理的可信数据交换方法 |
CN115085983B (zh) * | 2022-06-02 | 2024-03-12 | 度小满科技(北京)有限公司 | 数据处理方法、装置、计算机可读存储介质和电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768978A (zh) * | 2018-05-16 | 2018-11-06 | 浙江大学 | 一种基于sgx的远端存储服务方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8438631B1 (en) * | 2013-01-24 | 2013-05-07 | Sideband Networks, Inc. | Security enclave device to extend a virtual secure processing environment to a client device |
EP3319000A1 (en) * | 2016-11-02 | 2018-05-09 | Skeyecode | Method for securing a transaction performed from a non-secure terminal |
US10972265B2 (en) * | 2017-01-26 | 2021-04-06 | Microsoft Technology Licensing, Llc | Addressing a trusted execution environment |
US10511575B2 (en) * | 2017-09-18 | 2019-12-17 | Huawei Technologies Co., Ltd. | Securing delegated credentials in third-party networks |
CA3083562A1 (en) * | 2017-11-27 | 2019-05-31 | Snowflake Inc. | Batch data ingestion in database systems |
CN110247877B (zh) * | 2018-03-07 | 2020-10-09 | 华为技术有限公司 | 一种离线管理指令的管理方法和终端 |
CN110034924B (zh) * | 2018-12-12 | 2022-05-13 | 创新先进技术有限公司 | 一种数据处理方法和装置 |
CN110750803B (zh) * | 2019-10-18 | 2021-04-09 | 支付宝(杭州)信息技术有限公司 | 数据提供和融合的方法及装置 |
-
2020
- 2020-05-15 CN CN202010410004.2A patent/CN111327643B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768978A (zh) * | 2018-05-16 | 2018-11-06 | 浙江大学 | 一种基于sgx的远端存储服务方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111327643A (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111327643B (zh) | 一种多方数据共享方法和装置 | |
CN110120869B (zh) | 密钥管理系统及密钥服务节点 | |
CN107743133B (zh) | 移动终端及其基于可信安全环境的访问控制方法和系统 | |
CN110855671B (zh) | 一种可信计算方法和系统 | |
AU2017396530B2 (en) | Addressing a trusted execution environment using encryption key | |
CN110750803B (zh) | 数据提供和融合的方法及装置 | |
US10972265B2 (en) | Addressing a trusted execution environment | |
AU2017396531B2 (en) | Addressing a trusted execution environment using signing key | |
CN111708991A (zh) | 服务的授权方法、装置、计算机设备和存储介质 | |
US9544137B1 (en) | Encrypted boot volume access in resource-on-demand environments | |
WO2022073264A1 (en) | Systems and methods for secure and fast machine learning inference in trusted execution environment | |
CN104980477A (zh) | 云存储环境下的数据访问控制方法和系统 | |
US10897360B2 (en) | Addressing a trusted execution environment using clean room provisioning | |
US10516655B1 (en) | Encrypted boot volume access in resource-on-demand environments | |
CN112883396B (zh) | 可信密码模块安全管理方法及系统 | |
CN114239000A (zh) | 密码处理方法、装置、计算机设备和存储介质 | |
CN117093969B (zh) | 调试授权方法及系统 | |
CN116263817A (zh) | 一种数据访问控制方法及相关系统 | |
CN117313144A (zh) | 敏感数据的管理方法、装置、存储介质和电子设备 | |
CN115442136A (zh) | 应用系统访问方法及装置 | |
NZ754540B2 (en) | Addressing a trusted execution environment using signing key |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030792 Country of ref document: HK |