CN110968743B - 针对隐私数据的数据存储、数据读取方法及装置 - Google Patents
针对隐私数据的数据存储、数据读取方法及装置 Download PDFInfo
- Publication number
- CN110968743B CN110968743B CN201911285993.0A CN201911285993A CN110968743B CN 110968743 B CN110968743 B CN 110968743B CN 201911285993 A CN201911285993 A CN 201911285993A CN 110968743 B CN110968743 B CN 110968743B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- private
- viewer
- encrypted
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000013500 data storage Methods 0.000 title claims abstract description 47
- 238000013523 data management Methods 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 21
- 230000003993 interaction Effects 0.000 claims description 12
- 238000007726 management method Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 235000019580 granularity Nutrition 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000013075 data extraction Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例提供一种针对隐私数据的数据存储、数据读取方法及装置。在隐私数据存储阶段,可信执行环境TEE单元使用确定的密钥信息加密隐私数据并存储至数据存储平台;在解密密钥注册阶段,TEE单元使用数据管理方的公钥加密隐私数据的解密密钥并存储至数据管理方,由数据管理方管理解密密钥;在解密密钥获取阶段,数据查看方从数据管理方中获取采用数据管理方的公钥加密的解密密钥,并采用对应的私钥解密得到解密密钥;在隐私数据获取阶段,数据查看方从数据存储平台获取加密数据,并使用得到的解密密钥对加密数据进行解密而得到隐私数据。
Description
技术领域
本说明书一个或多个实施例涉及数据安全领域,尤其涉及针对隐私数据的数据存储、数据读取方法及装置。
背景技术
可信计算集群是由运行在可信执行环境(Trusted Execution Environment,TEE)中的多个可信计算单元所构成的计算集群。可信计算集群能够提供数据计算服务。可信计算单元具有一定的隔离能力,进而保证数据计算的安全性。可信计算单元完成对数据的计算之后,可以将计算过程中产生的隐私数据通过加密的方式存储在高可用存储设备中。数据查看方可以对高可用存储设备中的隐私数据进行读取,且可能存在多次读取的需求。可信计算单元存在向数据查看方提供隐私数据的解密密钥的需求,但又需要尽可能避免与数据查看方进行过多交互。
因此,希望能有改进的方案,可以更加安全、便利地实现数据存储和数据提取。
发明内容
本说明书一个或多个实施例描述了针对隐私数据的数据存储、数据读取方法及装置,可以更加安全、便利地实现数据存储和数据提取。具体的技术方案如下。
第一方面,实施例提供了一种针对隐私数据的数据存储方法,通过第一可信计算单元执行,所述方法包括:
获取待存储的第一隐私数据;
确定针对所述第一隐私数据的第一密钥信息;其中,所述第一密钥信息包括第一加密密钥和对应的第一解密密钥;
使用所述第一加密密钥加密所述第一隐私数据,得到第一加密数据;
将所述第一加密数据存储至数据存储平台;
使用数据管理方的公钥加密所述第一解密密钥,得到第二加密数据;
将所述第二加密数据存储至所述数据管理方,以使得数据查看方通过与所述数据管理方的交互获取所述第一解密密钥。
在一种具体实施例中,所述获取待存储的第一隐私数据的步骤,包括:
将调用第一子计算任务对第一客户端发送的第一请求进行数据处理过程中生成的隐私数据,确定为待存储的第一隐私数据。
在一种具体实施例中,所述确定针对所述第一隐私数据的第一密钥信息的步骤,包括:
生成与所述第一请求对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息;或者,
确定与所述第一客户端对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息;或者,
确定所述第一子计算任务的第一处理类型,确定与所述第一处理类型对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息。
在一种具体实施例中,在使用所述数据管理方的公钥加密所述第一解密密钥之前,还包括:
与所述数据管理方进行远程RA认证,建立RA通道;
通过所述RA通道,获取所述数据管理方的公钥。
在一种具体实施例中,第一加密密钥和所述第一解密密钥相同或者不同。
第二方面,实施例提供了一种针对隐私数据的数据读取方法,通过数据查看方执行,所述方法包括:
向数据管理方发送针对第一隐私数据的查看请求;
获取所述数据管理方返回的第三加密数据;其中,所述第三加密数据基于使用所述数据查看方的公钥对第一解密密钥进行加密而得到,所述第一解密密钥用于对第一加密数据进行解密,所述第一加密数据基于对所述第一隐私数据加密而得到;
使用与所述数据查看方的公钥对应的私钥,对所述第三加密数据进行解密,得到所述第一解密密钥;
从数据存储平台获取所述第一加密数据;
使用所述第一解密密钥对所述第一加密数据进行解密,得到所述第一隐私数据。
在一种具体实施例中,所述第三加密数据由所述数据管理方在确定所述数据查看方具有对所述第一隐私数据的查看权限时发送;
在一种具体实施例中,在获取所述数据管理方返回的第三加密数据之前,还包括:
与所述数据管理方进行远程RA认证,建立RA通道;
通过所述RA通道,将所述数据查看方的公钥发送至所述数据管理方,以使所述数据管理方使用所述数据查看方的公钥对所述第一解密密钥进行加密而得到所述第三加密数据。
第三方面,实施例提供了一种针对隐私数据的数据处理方法,通过数据管理方执行,所述方法包括:
获取第一可信计算单元发送的第二加密数据;其中,所述第二加密数据基于使用所述数据管理方的公钥对第一解密密钥进行加密而得到,所述第一解密密钥用于对第一加密数据进行解密,所述第一加密数据基于使用第一加密密钥对第一隐私数据进行加密而得到;
使用与所述数据管理方的公钥对应的私钥,对所述第二加密数据进行解密,得到所述第一解密密钥;
获取数据查看方发送的针对所述第一隐私数据的查看请求;
使用所述数据查看方的公钥对所述第一解密密钥进行加密,得到第三加密数据;
将所述第三加密数据发送至所述数据查看方,以使所述数据查看方使用与所述数据查看方的公钥对应的私钥对所述第三加密数据进行解密而得到所述第一解密密钥。
在一种具体实施例中,所述使用所述数据查看方的公钥对所述第一解密密钥进行加密的步骤,包括:
验证所述数据查看方对所述第一隐私数据的查看权限;
当确定所述数据查看方具有对所述第一隐私数据的查看权限时,使用所述数据查看方的公钥对所述第一解密密钥进行加密。
在一种具体实施例中,所述验证所述数据查看方对所述第一隐私数据的查看权限的步骤,包括:
向第三方管理平台验证所述数据查看方对所述第一隐私数据的查看权限;或者,
在所述数据管理方预先存储了具有对所述第一隐私数据的查看权限的查看方名单的情况下,判断所述数据查看方是否存在于所述查看方名单中,如果存在,则确定所述数据查看方具有对所述第一隐私数据的查看权限。
在一种具体实施例中,在获取第一可信计算单元发送的第二加密数据之前,还包括:
与所述第一可信计算单元进行远程RA认证,建立RA通道;
通过所述RA通道,向所述第一可信计算单元发送所述数据管理方的公钥。
在一种具体实施例中,在使用所述数据查看方的公钥对所述第一解密密钥进行加密之前,还包括:
与所述数据查看方进行远程RA认证,建立RA通道;
通过所述RA通道,获取所述数据查看方的公钥。
第四方面,实施例提供了一种针对隐私数据的数据存储装置,部署在第一可信计算单元中,所述装置包括:
第一获取单元,配置为获取待存储的第一隐私数据;
第一确定单元,配置为确定针对所述第一隐私数据的第一密钥信息;其中,所述第一密钥信息包括第一加密密钥和对应的第一解密密钥;
第一加密单元,配置为使用所述第一加密密钥加密所述第一隐私数据,得到第一加密数据;
第一存储单元,配置为将所述第一加密数据存储至数据存储平台;
第二加密单元,配置为使用数据管理方的公钥加密所述第一解密密钥,得到第二加密数据;
第二存储单元,配置为将所述第二加密数据存储至所述数据管理方,以使得数据查看方通过与所述数据管理方的交互获取所述第一解密密钥。
在一种具体实施例中,所述第一获取单元,具体配置为:
将调用第一子计算任务对第一客户端发送的第一请求进行数据处理过程中生成的隐私数据,确定为待存储的第一隐私数据。
在一种具体实施例中,所述第一确定单元,具体配置为:
生成与所述第一请求对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息;或者,
确定与所述第一客户端对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息;或者,
确定所述第一子计算任务的第一处理类型,确定与所述第一处理类型对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息。
在一种具体实施例中,装置还包括:
第一认证单元,配置为在使用所述数据管理方的公钥加密所述第一解密密钥之前,与所述数据管理方进行远程RA认证,建立RA通道;
第二获取单元,配置为通过所述RA通道,获取所述数据管理方的公钥。
在一种具体实施例中,第一加密密钥和所述第一解密密钥相同或者不同。
第五方面,实施例提供了一种针对隐私数据的数据读取装置,部署在数据查看方中,所述装置包括:
第一发送单元,配置为向数据管理方发送针对第一隐私数据的查看请求;
第三获取单元,配置为获取所述数据管理方返回的第三加密数据;其中,所述第三加密数据基于使用所述数据查看方的公钥对第一解密密钥进行加密而得到,所述第一解密密钥用于对第一加密数据进行解密,所述第一加密数据基于对所述第一隐私数据加密而得到;
第一解密单元,配置为使用与所述数据查看方的公钥对应的私钥,对所述第三加密数据进行解密,得到所述第一解密密钥;
第七获取单元,配置为从数据存储平台获取所述第一加密数据;
第二解密单元,配置为使用所述第一解密密钥对所述第一加密数据进行解密,得到所述第一隐私数据。
在一种具体实施例中,所述第三加密数据由所述数据管理方在确定所述数据查看方具有对所述第一隐私数据的查看权限时发送;
在一种具体实施例中,装置还包括:
第二认证单元,配置为在获取所述数据管理方返回的第三加密数据之前,与所述数据管理方进行远程RA认证,建立RA通道;
第二发送单元,配置为通过所述RA通道,将所述数据查看方的公钥发送至所述数据管理方,以使所述数据管理方使用所述数据查看方的公钥对所述第一解密密钥进行加密而得到所述第三加密数据。
第六方面,实施例提供了一种针对隐私数据的数据处理装置,部署在数据管理方中,所述装置包括:
第四获取单元,配置为获取第一可信计算单元发送的第二加密数据;其中,所述第二加密数据基于使用所述数据管理方的公钥对第一解密密钥进行加密而得到,所述第一解密密钥用于对第一加密数据进行解密,所述第一加密数据基于使用第一加密密钥对第一隐私数据进行加密而得到;
第三解密单元,配置为使用与所述数据管理方的公钥对应的私钥,对所述第二加密数据进行解密,得到所述第一解密密钥;
第五获取单元,配置为获取数据查看方发送的针对所述第一隐私数据的查看请求;
第三加密单元,配置为使用所述数据查看方的公钥对所述第一解密密钥进行加密,得到第三加密数据;
第三发送单元,配置为将所述第三加密数据发送至所述数据查看方,以使所述数据查看方使用与所述数据查看方的公钥对应的私钥对所述第三加密数据进行解密而得到所述第一解密密钥。
在一种具体实施例中,所述第三加密单元,具体配置为:
验证所述数据查看方对所述第一隐私数据的查看权限;
当确定所述数据查看方具有对所述第一隐私数据的查看权限时,使用所述数据查看方的公钥对所述第一解密密钥进行加密。
在一种具体实施例中,所述第三加密单元,验证所述数据查看方对所述第一隐私数据的查看权限时,包括:
向第三方管理平台验证所述数据查看方对所述第一隐私数据的查看权限;或者,
在所述数据管理方预先存储了具有对所述第一隐私数据的查看权限的查看方名单的情况下,判断所述数据查看方是否存在于所述查看方名单中,如果存在,则确定所述数据查看方具有对所述第一隐私数据的查看权限。
在一种具体实施例中,装置还包括:
第三认证单元,配置为在获取第一可信计算单元发送的第二加密数据之前,与所述第一可信计算单元进行远程RA认证,建立RA通道;
第四发送单元,配置为通过所述RA通道,向所述第一可信计算单元发送所述数据管理方的公钥。
在一种具体实施例中,装置还包括:
第四认证单元,配置为在使用所述数据查看方的公钥对所述第一解密密钥进行加密之前,与所述数据查看方进行远程RA认证,建立RA通道;
第六获取单元,配置为通过所述RA通道,获取所述数据查看方的公钥。
第七方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面到第三方面提供的任一项方法。
第八方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面到第三方面提供的任一项方法。
根据本说明书实施例提供的方法和装置,可信计算单元采用隐私数据的加密密钥对隐私数据加密后存储至数据存储平台,将隐私数据的解密密钥加密后存储至数据管理方;数据查看方在需要查看隐私数据时,从数据管理方中获取解密密钥,使用该解密密钥对从数据存储平台获取的加密数据进行解密,得到隐私数据。这样,将针对隐私数据的解密密钥发送给数据管理方,使得数据查看方可以通过与数据管理方的交互实现对隐私数据的多次查看,减少与可信计算单元之间的交互;同时,将隐私数据的确定、解密密钥的管理和隐私数据的存储等功能分配至多方,能够更加安全、便利地实现数据存储和数据提取。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为一个实施例中针对TEE单元和数据管理方之间的RA认证和公钥获取过程的流程示意图;
图3为一个实施例提供的解密密钥注册和隐私数据存储阶段的示意图;
图4为一个实施例中针对数据查看方和数据管理方之间的RA认证和公钥获取阶段的流程示意图;
图5为一个实施例提供的解密密钥获取和隐私数据提取阶段的示意图;
图6为一个实施例提供的针对隐私数据的数据存储装置的示意性框图;
图7为一个实施例提供的针对隐私数据的数据读取装置的示意性框图;
图8为一个实施例提供的针对隐私数据的数据处理装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。其中包括第一可信计算单元100、数据管理方200、数据查看方300和数据存储平台400。尽管图1中仅示出一个可信计算单元,但是实际场景中往往存在多个可信计算单元。对于数据查看方来说,尽管图1中仅示出了一个数据查看方,实际场景中可以存在多个数据查看方。
第一可信计算单元100可以用于数据计算,其中可以运行计算任务。第一可信计算单元100中运行的计算任务对应的程序代码的哈希值,可以称为代码哈希。该代码哈希可以用于标识可信计算单元中运行的计算任务。第一可信计算单元100在运行计算任务时,可以生成隐私数据。隐私数据包括服务状态数据、程序数据、日志数据、运行结果数据等。
第一可信计算单元100可以使用加密密钥对隐私数据进行加密,并将加密后的隐私数据存储至数据存储平台400。此为图1中的隐私数据存储阶段。
尽管第一可信计算单元100拥有用于对加密后的隐私数据进行解密的解密密钥,在本说明书的一个实施例的场景中,第一可信计算单元100可以不存储且不管理该解密密钥,而是委托以及授权数据管理方进行解密密钥的存储和管理。第一可信计算单元100可以将该解密密钥向数据管理方200进行注册,以使得数据管理方200管理并存储该解密密钥。此为图1中的解密密钥注册阶段。
数据管理方200存储并管理隐私数据的解密密钥,具体可以包括,存储解密密钥,以及向数据查看方300发送解密密钥。
数据查看方300可以用于查看隐私数据。具体的,数据查看方300可以从数据管理方200中获取解密密钥(此为解密密钥获取阶段),从数据存储平台400中获取加密后的隐私数据(此为隐私数据获取阶段),并使用解密密钥对加密后的隐私数据进行解密,得到该隐私数据。
本说明书中,第一可信计算单元可以包括处于可信执行环境(Trusted ExecutionEnvironment,TEE)中的单元。可信计算单元又称为TEE单元或可信计算节点。TEE单元可以实现在实体计算机中,其隔离能力能够防止其他应用程序窥探和篡改可信计算单元的应用程序和数据,保证计算的安全性。TEE单元可以是可信的计算围圈(Enclave),且可以采用软件保护扩展(software guard extension,SGX)或信任域(Trust Zone)等技术来实现。例如,根据SGX技术,通过提供一系列CPU指令码,允许用户代码创建具有高访问权限的私有内存区域而形成计算围圈。其他应用程序,包括操作系统OS、BIOS系统、虚拟机系统等,均不能访问围圈中的数据,也就不能窥探和篡改其中应用程序的状态和数据。
数据管理方200的功能可以由可信计算单元来实现。数据查看方300的功能可以由可信计算单元来实现,也可以由普通服务器或客户端来实现。
数据存储平台可以包括分布式文件系统(Hadoop Distributed FileSystem,HDFS)、对象存储服务(Object Storage Service,OSS)和MySQL数据库中的至少一个。HDFS为分布式的高可用存储平台,其分布式的存储能够提高所存储的隐私数据的安全性和可靠性。
下面针对图1中提及的各个阶段分别进行详细说明。为了更清楚地说明本说明书提供的实施例,在后续的附图中,采用TEE单元100来表示该第一可信计算单元。
针对解密密钥注册阶段,TEE单元100在将解密密钥发送至数据管理方200之前,可以获取数据管理方200的公钥,采用该公钥对解密密钥进行加密,将加密后的数据发送至数据管理方200。这样,数据管理方200可以采用自身的私钥对加密数据进行解密,得到解密密钥。为了提高密钥传输中的安全性,避免恶意对象冒充数据管理方,TEE单元100可以对数据管理方200进行可信认证,认证通过之后再获取数据管理方200的公钥。具体的,当数据管理方也采用可信计算单元实现时,上述可信认证可以采用远程认证(Remote Attestation,RA)。TEE单元100在对数据管理方200进行RA认证时,包括确认数据管理方200运行在TEE环境中,以及确认其运行的计算任务,即具有的代码哈希。TEE单元100在对数据管理方200进行RA认证并认证通过之后,可以与数据管理方200建立RA通道,通过该RA通道,获取数据管理方200的公钥。数据管理方200可以通过该RA通道,向TEE单元100发送自身的公钥。
下面具体说明TEE单元100对数据管理方200进行RA认证的过程,并采用对象A代表TEE单元100,采用对象B代表数据管理方200,说明对象A对对象B进行RA认证的过程。本说明书中后续内容中提及的RA认证,均可以参考此处针对对象A对对象B进行RA认证的过程。
对象A对对象B进行RA认证时,具体可以向对象B发送RA认证请求,对象B在接收到对象A发送的RA认证请求时向对象A返回认证信息,对象A利用该认证信息确认RA认证是否通过。上述过程可以至少包括以下实施方式。方式一,对象B发送的认证信息为报告文件。对象A在接收到对象B发送的报告文件时,可以将该报告文件发送至第三方认证机构,并获取第三方认证机构针对该报告文件确定的认证结果,利用该认证结果确认RA认证是否通过。方式二,对象B发送的认证信息即为认证结果。即对象B直接将报告文件发送至第三方认证机构,并获取第三方认证机构针对该报告文件确定的认证结果,将获取的认证结果作为认证信息发送至对象A。
其中,上述报告文件用于描述对象B作为可信计算单元其自身的配置状况和运行状况。具体的,该报告文件至少包括:可信计算单元的配置状况信息、运行状况信息、运行的计算任务的代码哈希以及签名信息等。其中,代码哈希可以唯一地标识运行的计算任务,签名信息可以保证报告文件真实可靠,识别伪造和篡改的情况。
第三方认证机构是可信的、具有认证能力的权威认证机构。并且,在对象B作为可信计算单元投入使用之前,可以向该第三方认证机构进行注册。因此,该第三方认证机构保存有可信计算单元(对象B)的配置状况信息、计算任务的代码哈希等信息,根据这些信息可以对报告文件的可信性和安全性进行认证。
例如,当对象B是通过Intel SGX实现的可信围圈(Enclave)时,第三方认证机构可以为Intel认证服务器(Attestation Service)。
对象A对对象B进行的RA认证,能够尽可能避免对象A接收来自恶意对象的错误密钥,提高获取信息时的安全性。
在上述认证结果表明认证通过之后,双方可以建立RA通道。
参见图2,该图2为一个实施例提供的针对TEE单元和数据管理方之间的RA认证和公钥获取过程的流程示意图。其中,TEE单元100的公钥和私钥分别采用TEE PubKey和TEEPriKey表示,数据管理方200的公钥和私钥分别采用M-PubKey和M-PriKey表示。TEE单元100在确认对数据管理方200的RA认证通过时,可以建立RA通道,通过建立的RA通道获取数据管理方200的公钥M-PubKey。数据管理方200可以通过建立的RA通道向TEE单元100发送自身的公钥M-PubKey。
TEE单元获取数据管理方的公钥的过程可以执行一次,也可以按照较大的时间周期执行。当TEE单元100属于某个可信计算集群时,TEE单元100的公钥和私钥可以为集群公钥和集群私钥。
下面结合附图3所示的应用场景,通过步骤S310~S360对图1中的隐私数据存储阶段和解密密钥注册阶段进行说明。图3实施例沿用图1中已经给出的各个对象图例。图3中还示出了可以与TEE单元100进行通信连接的客户端Cli0和Cli1。其中,TEE单元100中运行的计算任务可以向客户端Cli0和Cli1等提供服务。在TEE单元100向客户端(包括Cli0和Cli1等)提供服务之前,客户端可以对TEE单元100进行RA认证。当认证通过后,客户端与TEE单元100之间可以建立RA通道,通过该RA通道获取TEE单元100的公钥。
在需要提供服务时,客户端可以向TEE单元100发送请求,例如请求REQ0,该请求中包含使用TEE单元100的公钥加密的数据。TEE单元100在接收到客户端发送的请求时,使用自身的私钥解密请求中的加密数据,并结合解密得到的数据进行任务计算,以向客户端提供服务。不同的客户端均可以采用上述方式向TEE单元100发送请求。下面以第一客户端Cli0发送的第一请求REQ0为例,说明TEE单元100的后续数据处理过程。
步骤S310,TEE单元100将调用第一子计算任务对第一客户端Cli0的第一请求REQ0进行数据处理过程中生成的隐私数据,确定为待存储的第一隐私数据data1。TEE单元100中运行的计算任务可以包括多个子计算任务,第一计算任务可以为多个子计算任务中的一个。
步骤S320,TEE单元100确定针对第一隐私数据data1的第一密钥信息Key0。其中,第一密钥信息Key0包括第一加密密钥K1和对应的第一解密密钥K2。第一加密密钥和第一解密密钥可以相同或者不同。当第一加密密钥和第一解密密钥相同时,其为对称密钥;当第一加密密钥和第一解密密钥不同时,其为非对称密钥。
上述第一密钥信息还可以包括用于描述第一隐私数据的属性信息,例如第一隐私数据的标识(Identification,ID)、第一隐私数据的产生时间等。第一密钥信息还可以称为第一隐私数据的元数据。
步骤S330,TEE单元100使用第一加密密钥K1加密第一隐私数据data1,得到第一加密数据En-data1。
当第一加密密钥是对称密钥或非对称密钥时,TEE单元可以采用对应的对称加密算法或者非对称加密算法加密第一隐私数据,得到第一加密数据。本说明书对该对称加密算法或非对称加密算法不做具体限定。
步骤S340,TEE单元100将第一加密数据En-data1存储至数据存储平台400。
TEE单元进行数据计算时产生的隐私数据可以暂时保存在内存中,这时的隐私数据可以称为瞬时数据。为了能够使得隐私数据存储得更持久,可以将隐私数据经过加密后存储在数据存储平台中,这样即实现了对瞬时数据的持久化,并且也能够使得数据查看方从数据存储平台中读取隐私数据,数据查看方无需直接与TEE单元进行交互。
步骤S350,TEE单元100使用数据管理方200的公钥M-PubKey加密第一解密密钥K2,得到第二加密数据En-K2。TEE单元100可以采用非对称加密算法,使用数据管理方200的公钥M-PubKey加密第一解密密钥K2,得到第二加密数据En-K2。本说明书对该非对称加密算法不做具体限定。
以上的步骤S350可以在步骤S330之前或者之后执行,也可以与步骤S330同时执行,本说明书对两者的执行顺序不做限定。
步骤S360,TEE单元100将第二加密数据En-K2存储至数据管理方200。针对数据管理方200来说,其可以获取TEE单元100发送的第二加密数据En-K2,使用数据管理方200的私钥对第二加密数据En-K2进行解密,得到第一解密密钥K2。
数据管理方200可以采用与加密该第一解密密钥K2时的非对称加密算法对应的解密算法,使用数据管理方200的私钥对第二加密数据En-K2进行解密。
TEE单元100将第二加密数据En-K2存储至数据管理方200,即实现了将隐私数据的解密密钥向数据管理方200的注册。数据管理方200在解密得到第一解密密钥K2之后,数据查看方300可以通过与数据管理方200的交互而获取第一解密密钥K2。
因此,总结来看,第一可信计算单元可以获取待存储的第一隐私数据,确定针对第一隐私数据的第一密钥信息,第一密钥信息包括第一加密密钥和对应的第一解密密钥。第一可信计算单元可以使用第一加密密钥加密第一隐私数据,得到第一加密数据,将第一加密数据存储至数据存储平台,实现对第一隐私数据的存储。第一可信计算单元可以使用数据管理方的公钥加密第一解密密钥,得到第二加密数据,将第二加密数据存储至数据管理方。数据管理方可以获取第一可信计算单元发送的第二加密数据,使用与数据管理方的公钥对应的私钥,对第二加密数据进行解密,得到第一解密密钥。这样,数据查看方便可以通过与数据管理方的交互而获取第一解密密钥,并从数据存储平台读取第一加密数据,使用第一解密密钥对第一加密数据进行解密,得到第一隐私数据,进而实现对第一隐私数据的读取。
虽然图3所示实施例中的第一隐私数据,由第一可信计算单元基于对第一客户端发送的第一请求进行数据处理过程中生成的隐私数据而得到,但是在实际场景中,第一隐私数据的获取方式远不止如此。例如,第一隐私数据可以包括可信计算集群内部的多个可信计算单元之间进行数据计算时产生的隐私数据,或者可信计算单元响应某个服务器的请求而进行数据计算时产生的隐私数据,等等。
由上述内容可见,本实施例中,可信计算单元采用隐私数据的加密密钥对隐私数据加密后存储至数据存储平台,将隐私数据的解密密钥加密后存储至数据管理方;数据查看方在需要查看隐私数据时,从数据管理方中获取解密密钥,使用该解密密钥对从数据存储平台获取的加密数据进行解密,得到隐私数据。这样,将针对隐私数据的解密密钥发送给数据管理方,使得数据查看方可以通过与数据管理方的交互实现对隐私数据的多次查看,减少与可信计算单元之间的交互;同时,将隐私数据的确定、解密密钥的管理和隐私数据的存储等功能分配至多方,能够更加安全、便利地实现数据存储和数据提取。
在另一种实施例中,针对不同粒度的隐私数据,第一可信计算单元在确定第一隐私数据的第一密钥信息时,可以包括不同的实施方式。例如,可以生成与第一请求对应的第一密钥信息,作为针对第一隐私数据的第一密钥信息。具体可以在预设范围内随机生成第一密钥信息。本实施方式中,请求可以与密钥信息一一对应,不同的请求可以对应不同的密钥信息。本实施方式中隐私数据以请求为粒度,不同的请求对应不同的解密密钥。同一请求的隐私数据,使用同一加密密钥进行加密,且对应同一解密密钥。
在另一种实施方式中,第一可信计算单元可以确定与第一客户端对应的第一密钥信息,作为针对第一隐私数据的第一密钥信息。具体的,在接收到该第一客户端第一次发送的请求时,第一可信计算单元可以生成与第一客户端对应的第一密钥信息,并存储该第一密钥信息。在接收到该第一客户端非第一次(即第二次以及第二次之后)发送的请求时,第一可信计算单元可以从保存的密钥信息中获取与该第一客户端对应的第一密钥信息。本实施方式中,客户端可以与密钥信息一一对应,不同的客户端可以对应不同的密钥信息。本实施方式中隐私数据以客户端为粒度,不同的客户端对应不同的解密密钥。同一客户端的不同请求的隐私数据,使用同一加密密钥进行加密,且对应同一解密密钥。
在又一种实施方式中,第一可信计算单元可以确定第一子计算任务的第一处理类型,确定与第一处理类型对应的第一密钥信息,作为针对第一隐私数据的第一密钥信息。第一可信计算单元中运行的计算任务可以包括多个子计算任务,子计算任务对应一种处理类型,不同的子计算任务可以对应相同的处理类型。例如,处理类型可以包括预测处理、融合处理等等。第一可信计算单元可以从预先为多个处理类型生成的密钥信息中,确定与第一处理类型对应的第一密钥信息。本实施方式中,第一可信计算单元中的子计算任务的处理类型可以与密钥信息一一对应,不同的处理类型可以对应不同的密钥信息。本实施方式中隐私数据以第一可信计算单元中子计算任务的处理类型为粒度,不同的处理类型对应不同的解密密钥。第一可信计算单元中,同一处理类型下的隐私数据,使用同一加密密钥进行加密,且对应同一解密密钥。
以上的多个实施方式,针对不同粒度来设置第一密钥信息。这样,当数据查看方从数据管理方中获取某个解密密钥时,可以针对不同粒度的隐私数据进行查看。例如,当不同请求对应不同的密钥信息,且数据查看方在获取某个密钥信息之后,可以查看某个请求对应的隐私数据,使用该密钥信息无法查看其他请求对应的隐私数据。当不同客户端对应不同的密钥信息,且数据查看方在获取某个密钥信息之后,可以查看某个客户端对应的隐私数据,使用该密钥信息无法查看其他客户端对应的隐私数据。当不同处理类型对应不同的密钥信息,且数据查看方在获取某个密钥信息之后,可以查看某个处理类型对应的隐私数据,使用该密钥信息无法查看其他处理类型对应的隐私数据。因此,不同的密钥信息设置方式,能够使得数据查看方对不同粒度的隐私数据进行查看,进而灵活地实现数据查看方对隐私数据查看时的权限,数据查看的灵活性更强,实现性更强。
下面结合图4说明图1中的解密密钥获取阶段和隐私数据获取阶段。
针对解密密钥获取阶段,数据查看方300在从数据管理方200中获取解密密钥之前,可以将自身的公钥发送至数据管理方200。这样,数据管理方200可以使用数据查看方300的公钥对解密密钥进行加密,并将加密后的数据发送至数据查看方300。数据查看方300可以使用自身的私钥对数据管理方发送的加密数据进行解密,得到解密密钥。为了提高密钥传输中的安全性,避免恶意对象冒充数据管理方或者数据查看方,数据查看方300可以与数据管理方200之间进行双向的可信认证,认证通过之后数据查看方300将自身的公钥发送至数据管理方200。
当数据查看方300和数据管理方200均采用可信计算单元实现时,上述可信认证可以采用RA认证。具体的,数据查看方300与数据管理方200可以进行远程RA认证,建立RA通道;通过RA通道,数据查看方300将自身的公钥发送至数据管理方200。数据管理方200则通过建立的RA通道获取数据查看方300的公钥。
参见图4,该图4为一个实施例提供的针对数据查看方和数据管理方之间的RA认证和公钥获取过程的流程示意图。其中,数据查看方300的公钥和私钥分别采用V-PubKey和V-PriKey表示,数据管理方200的公钥和私钥分别采用M-PubKey和M-PriKey表示。数据查看方300与数据管理方200之间的RA认证通过之后,可以建立RA通道。数据查看方300通过建立的RA通道向数据管理方200发送自身的公钥V-PubKey。数据管理方200可以接收数据查看方的公钥V-PubKey。并且数据管理方200也可以通过建立的RA通道,向数据查看方发送自身的公钥M-PubKey,数据查看方300可以接收数据管理方200发送的公钥M-PubKey。数据查看方300和数据管理方200可以彼此获取对方的公钥,用于后续向对方发送数据时进行加密。
数据查看方发送公钥的过程可以执行一次,也可以按照较大的时间周期多次执行。
下面结合图5所示的流程示意图,通过步骤S510~S560对图1中的解密密钥获取阶段和隐私数据获取阶段进行说明。图5实施例继续沿用图1中已经给出的各个对象图例。
步骤S510,数据查看方300可以向数据管理方200发送针对第一隐私数据data1的查看请求。
数据查看方300可以首先生成针对第一隐私数据data1的查看请求。该查看请求可以包括第一隐私数据的标识以及数据查看方的标识。其中,数据查看方300的标识可以采用数据查看方300的公钥来表示。数据查看方可以采用数据管理方200的公钥M-PubKey对查看请求携带的数据进行加密后发送至数据管理方200。
查看请求可以基于数据查看方自身的服务需求生成,也可以基于配置方发送的配置信息生成。配置方可以由服务器、普通计算设备等实现。
一种实施场景为,配置方可以配置某个可信计算单元获取多个隐私数据,并对多个隐私数据执行数据融合业务。则该配置信息可以用于将该可信计算单元配置为数据查看方,并分配数据查看方标识,配置其需要读取的隐私数据的标识。
另一种实施场景为,配置方可以配置两个可信计算单元共同进行某模型训练业务,这两个可信计算单元需要查看相同的隐私数据。则配置方可以向这两个可信计算单元发送配置信息,该配置信息可以用于将这两个可信计算单元配置为数据查看方,并分配相同的数据查看方标识,配置其需要读取的隐私数据的标识。
当然,数据查看方也可以由客户端或普通服务来实现。本说明书并不限定数据查看方的具体实现场景。
步骤S520,数据管理方200可以获取数据查看方300发送的查看请求,并使用数据查看方300的公钥V-PubKey对第一解密密钥K2进行加密,得到第三加密数据Enc-K2。
数据管理方200在获取到数据查看方300发送的查看请求时,可以对该查看请求进行解析,得到第一隐私数据的标识以及数据查看方的标识,并从自身存储的解密密钥中确定与第一隐私数据的标识对应的第一解密密钥K2。
数据管理方200可以采用非对称加密算法,使用数据查看方300的公钥V-PubKey对第一解密密钥K2进行加密。
步骤S530,数据管理方200将第三加密数据Enc-K2发送至数据查看方300。数据查看方300可以获取数据管理方200返回的第三加密数据Enc-K2。
步骤S540,数据查看方300使用与公钥V-PubKey对应的私钥V-PriKey,对第三加密数据Enc-K2进行解密,得到第一解密密钥K2。
步骤S550,数据查看方300从数据存储平台400获取第一加密数据En-data1。
以上,步骤S550可以在步骤S510之前执行,也可以在步骤S510到S540之间的任意某个时刻执行,本说明书并不对其执行顺序进行限定。
步骤S560,数据查看方300使用第一解密密钥K2对第一加密数据En-data1进行解密,得到第一隐私数据data1。具体的,数据查看方300可以采用与加密第一隐私数据时的加密算法对应的解密算法,使用第一解密密钥K2对第一加密数据En-data1进行解密。
因此,总结来看,数据查看方可以向数据管理方发送针对第一隐私数据的查看请求;数据管理方接收数据查看方发送的查看请求,使用数据查看方的公钥对第一解密密钥进行加密,得到第三加密数据,并向数据查看方返回第三加密数据;数据查看方获取数据管理方返回的第三加密数据,使用与数据查看方的公钥对应的私钥,对第三加密数据进行解密,得到第一解密密钥,并从数据存储平台获取第一加密数据,使用第一解密密钥对第一加密数据进行解密,得到第一隐私数据。
由上述内容可见,本实施例中,查看方可以从数据管理方中获取解密密钥,从数据存储平台获取加密数据,使用解密密钥对加密数据进行解密,得到隐私数据,数据查看方无需与第一可信计算单元进行通信即可实现对隐私数据的读取,并且能够提高读取过程中的数据安全性。本实施例中的数据查看方还可以多次地从数据管理方中获取解密密钥;以及,不同的数据查看方可以查看同一隐私数据,满足不同的实现需求。
在另一实施例中,数据管理方还可以进一步对数据查看方的查看权限进行验证。具体的,数据管理方在使用数据查看方的公钥对第一解密密钥进行加密时,可以验证数据查看方对第一隐私数据的查看权限,当确定数据查看方具有对第一隐私数据的查看权限时,使用数据查看方的公钥对第一解密密钥进行加密。
数据管理方在验证数据查看方对第一隐私数据的查看权限时,具体可以包括多种实施方式。一种实施方式包括,向第三方管理平台验证数据查看方对第一隐私数据的查看权限。第三方管理平台管理有数据查看方与其所能查看的隐私数据的对应关系,第三方管理平台可以依据该对应关系验证该数据查看方是否具有对第一隐私数据的查看权限,并向数据管理方返回验证结果。
另一种实施方式包括,在数据管理方预先存储了具有对第一隐私数据的查看权限的查看方名单的情况下,判断数据查看方是否存在于该查看方名单中,如果存在,则确定数据查看方具有对第一隐私数据的查看权限。
该查看方名单包括查看方标识。该查看方标识可以由第一可信计算单元发送至数据管理方。具体的,第一可信计算单元可以确定具有对第一隐私数据进行查看的第一数据查看方,使用数据管理方的公钥加密该第一数据查看方和第一解密密钥,得到第二加密数据,将第二加密数据发送至数据管理方。数据管理方使用自身的私钥对第二加密数据进行解密,得到第一数据查看方和第一解密密钥,并将该第一数据查看方加入第一隐私数据对应的查看方名单中。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
图6为一个实施例提供的针对隐私数据的数据存储装置600的示意性框图。该装置实施例与图3所示的实施例中包含的数据存储方法相对应。其中,装置600部署在第一可信计算单元中。装置600包括:
第一获取单元610,配置为获取待存储的第一隐私数据;
第一确定单元620,配置为确定针对所述第一隐私数据的第一密钥信息;其中,所述第一密钥信息包括第一加密密钥和对应的第一解密密钥;
第一加密单元630,配置为使用所述第一加密密钥加密所述第一隐私数据,得到第一加密数据;
第一存储单元640,配置为将所述第一加密数据存储至数据存储平台;
第二加密单元650,配置为使用数据管理方的公钥加密所述第一解密密钥,得到第二加密数据;
第二存储单元660,配置为将所述第二加密数据存储至所述数据管理方,以使得数据查看方通过与所述数据管理方的交互获取所述第一解密密钥。
在一种实施方式中,第一获取单元610具体配置为:
将调用第一子计算任务对第一客户端发送的第一请求进行数据处理过程中生成的隐私数据,确定为待存储的第一隐私数据。
在一种实施方式中,第一确定单元620具体配置为:
生成与所述第一请求对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息;或者,
确定与所述第一客户端对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息;或者,
确定所述第一子计算任务的第一处理类型,确定与所述第一处理类型对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息。
在一种实施方式中,装置600还包括:
第一认证单元(图中未示出),配置为在使用所述数据管理方的公钥加密所述第一解密密钥之前,与所述数据管理方进行远程RA认证,建立RA通道;
第二获取单元(图中未示出),配置为通过所述RA通道,获取所述数据管理方的公钥。
在一种实施方式中,所述第一加密密钥和所述第一解密密钥相同或者不同。
图7为一个实施例提供的针对隐私数据的数据读取装置700的示意性框图。该装置实施例与图5所示实施例包含的数据读取方法相对应。该装置700部署在数据查看方中。该装置700包括:
第一发送单元710,配置为向数据管理方发送针对第一隐私数据的查看请求;
第三获取单元720,配置为获取所述数据管理方返回的第三加密数据;其中,所述第三加密数据基于使用所述数据查看方的公钥对第一解密密钥进行加密而得到,所述第一解密密钥用于对第一加密数据进行解密,所述第一加密数据基于对所述第一隐私数据加密而得到;
第一解密单元730,配置为使用与所述数据查看方的公钥对应的私钥,对所述第三加密数据进行解密,得到所述第一解密密钥;
第七获取单元740,配置为从数据存储平台获取所述第一加密数据;
第二解密单元750,配置为使用所述第一解密密钥对所述第一加密数据进行解密,得到所述第一隐私数据。
在一种实施方式中,所述第三加密数据由所述数据管理方在确定所述数据查看方具有对所述第一隐私数据的查看权限时发送;
在一种实施方式中,装置700还包括:
第二认证单元(图中未示出),配置为在获取所述数据管理方返回的第三加密数据之前,与所述数据管理方进行远程RA认证,建立RA通道;
第二发送单元(图中未示出),配置为通过所述RA通道,将所述数据查看方的公钥发送至所述数据管理方,以使所述数据管理方使用所述数据查看方的公钥对所述第一解密密钥进行加密而得到所述第三加密数据。
图8为一个实施例提供的针对隐私数据的数据处理装置800的示意性框图。该装置实施例与图3和图5所示实施例中包含的数据处理方法相对应。该装置800部署在数据管理方中。该装置800包括:
第四获取单元810,配置为获取第一可信计算单元发送的第二加密数据;其中,所述第二加密数据基于使用所述数据管理方的公钥对第一解密密钥进行加密而得到,所述第一解密密钥用于对第一加密数据进行解密,所述第一加密数据基于使用第一加密密钥对第一隐私数据进行加密而得到;
第三解密单元820,配置为使用与所述数据管理方的公钥对应的私钥,对所述第二加密数据进行解密,得到所述第一解密密钥;
第五获取单元830,配置为获取数据查看方发送的针对所述第一隐私数据的查看请求;
第三加密单元840,配置为使用所述数据查看方的公钥对所述第一解密密钥进行加密,得到第三加密数据;
第三发送单元850,配置为将所述第三加密数据发送至所述数据查看方,以使所述数据查看方使用与所述数据查看方的公钥对应的私钥对所述第三加密数据进行解密而得到所述第一解密密钥。
在一种实施方式中,第三加密单元840具体配置为:
验证所述数据查看方对所述第一隐私数据的查看权限;
当确定所述数据查看方具有对所述第一隐私数据的查看权限时,使用所述数据查看方的公钥对所述第一解密密钥进行加密。
在一种实施方式中,第三加密单元840,验证所述数据查看方对所述第一隐私数据的查看权限时,包括:
向第三方管理平台验证所述数据查看方对所述第一隐私数据的查看权限;或者,
在所述数据管理方预先存储了具有对所述第一隐私数据的查看权限的查看方名单的情况下,判断所述数据查看方是否存在于所述查看方名单中,如果存在,则确定所述数据查看方具有对所述第一隐私数据的查看权限。
在一种实施方式中,装置800还包括:
第三认证单元(图中未示出),配置为在获取第一可信计算单元发送的第二加密数据之前,与所述第一可信计算单元进行远程RA认证,建立RA通道;
第四发送单元(图中未示出),配置为通过所述RA通道,向所述第一可信计算单元发送所述数据管理方的公钥。
在一种实施方式中,装置800还包括:
第四认证单元(图中未示出),配置为在使用所述数据查看方的公钥对所述第一解密密钥进行加密之前,与所述数据查看方进行远程RA认证,建立RA通道;
第六获取单元(图中未示出),配置为通过所述RA通道,获取所述数据查看方的公钥。
上述装置实施例与对应的方法实施例相对应,具体说明可以参见对应方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1~图5中描述的方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1~图5中描述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (28)
1.一种针对隐私数据的数据存储方法,通过第一可信计算单元执行,所述方法包括:
获取待存储的第一隐私数据;
确定针对所述第一隐私数据的第一密钥信息;其中,所述第一密钥信息包括第一加密密钥和对应的第一解密密钥;
使用所述第一加密密钥加密所述第一隐私数据,得到第一加密数据;
将所述第一加密数据存储至数据存储平台;
使用数据管理方的公钥加密所述第一解密密钥,得到第二加密数据;
将所述第二加密数据存储至所述数据管理方,以使得数据查看方通过与所述数据管理方的交互获取所述第一解密密钥。
2.根据权利要求1所述的方法,所述获取待存储的第一隐私数据的步骤,包括:
将调用第一子计算任务对第一客户端发送的第一请求进行数据处理过程中生成的隐私数据,确定为待存储的第一隐私数据。
3.根据权利要求2所述的方法,所述确定针对所述第一隐私数据的第一密钥信息的步骤,包括:
生成与所述第一请求对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息;或者,
确定与所述第一客户端对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息;或者,
确定所述第一子计算任务的第一处理类型,确定与所述第一处理类型对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息。
4.根据权利要求1所述的方法,在使用所述数据管理方的公钥加密所述第一解密密钥之前,还包括:
与所述数据管理方进行远程RA认证,建立RA通道;
通过所述RA通道,获取所述数据管理方的公钥。
5.根据权利要求1所述的方法,所述第一加密密钥和所述第一解密密钥相同或者不同。
6.一种针对隐私数据的数据读取方法,通过数据查看方执行,所述方法包括:
向数据管理方发送针对第一隐私数据的查看请求;
获取所述数据管理方返回的第三加密数据;其中,所述第三加密数据基于使用所述数据查看方的公钥对第一解密密钥进行加密而得到,所述第一解密密钥用于对第一加密数据进行解密,所述第一加密数据基于对所述第一隐私数据加密而得到;
使用与所述数据查看方的公钥对应的私钥,对所述第三加密数据进行解密,得到所述第一解密密钥;
从数据存储平台获取所述第一加密数据;
使用所述第一解密密钥对所述第一加密数据进行解密,得到所述第一隐私数据。
7.根据权利要求6所述的方法,所述第三加密数据由所述数据管理方在确定所述数据查看方具有对所述第一隐私数据的查看权限时发送。
8.根据权利要求6所述的方法,在获取所述数据管理方返回的第三加密数据之前,还包括:
与所述数据管理方进行远程RA认证,建立RA通道;
通过所述RA通道,将所述数据查看方的公钥发送至所述数据管理方,以使所述数据管理方使用所述数据查看方的公钥对所述第一解密密钥进行加密而得到所述第三加密数据。
9.一种针对隐私数据的数据处理方法,通过数据管理方执行,所述方法包括:
获取第一可信计算单元发送的第二加密数据;其中,所述第二加密数据基于使用所述数据管理方的公钥对第一解密密钥进行加密而得到,所述第一解密密钥用于对第一加密数据进行解密,所述第一加密数据基于使用第一加密密钥对第一隐私数据进行加密而得到;
使用与所述数据管理方的公钥对应的私钥,对所述第二加密数据进行解密,得到所述第一解密密钥;
获取数据查看方发送的针对所述第一隐私数据的查看请求;
使用所述数据查看方的公钥对所述第一解密密钥进行加密,得到第三加密数据;
将所述第三加密数据发送至所述数据查看方,以使所述数据查看方使用与所述数据查看方的公钥对应的私钥对所述第三加密数据进行解密而得到所述第一解密密钥。
10.根据权利要求9所述的方法,所述使用所述数据查看方的公钥对所述第一解密密钥进行加密的步骤,包括:
验证所述数据查看方对所述第一隐私数据的查看权限;
当确定所述数据查看方具有对所述第一隐私数据的查看权限时,使用所述数据查看方的公钥对所述第一解密密钥进行加密。
11.根据权利要求10所述的方法,所述验证所述数据查看方对所述第一隐私数据的查看权限的步骤,包括:
向第三方管理平台验证所述数据查看方对所述第一隐私数据的查看权限;或者,
在所述数据管理方预先存储了具有对所述第一隐私数据的查看权限的查看方名单的情况下,判断所述数据查看方是否存在于所述查看方名单中,如果存在,则确定所述数据查看方具有对所述第一隐私数据的查看权限。
12.根据权利要求9所述的方法,在获取第一可信计算单元发送的第二加密数据之前,还包括:
与所述第一可信计算单元进行远程RA认证,建立RA通道;
通过所述RA通道,向所述第一可信计算单元发送所述数据管理方的公钥。
13.根据权利要求9所述的方法,在使用所述数据查看方的公钥对所述第一解密密钥进行加密之前,还包括:
与所述数据查看方进行远程RA认证,建立RA通道;
通过所述RA通道,获取所述数据查看方的公钥。
14.一种针对隐私数据的数据存储装置,部署在第一可信计算单元中,所述装置包括:
第一获取单元,配置为获取待存储的第一隐私数据;
第一确定单元,配置为确定针对所述第一隐私数据的第一密钥信息;其中,所述第一密钥信息包括第一加密密钥和对应的第一解密密钥;
第一加密单元,配置为使用所述第一加密密钥加密所述第一隐私数据,得到第一加密数据;
第一存储单元,配置为将所述第一加密数据存储至数据存储平台;
第二加密单元,配置为使用数据管理方的公钥加密所述第一解密密钥,得到第二加密数据;
第二存储单元,配置为将所述第二加密数据存储至所述数据管理方,以使得数据查看方通过与所述数据管理方的交互获取所述第一解密密钥。
15.根据权利要求14所述的装置,所述第一获取单元,具体配置为:
将调用第一子计算任务对第一客户端发送的第一请求进行数据处理过程中生成的隐私数据,确定为待存储的第一隐私数据。
16.根据权利要求15所述的装置,所述第一确定单元,具体配置为:
生成与所述第一请求对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息;或者,
确定与所述第一客户端对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息;或者,
确定所述第一子计算任务的第一处理类型,确定与所述第一处理类型对应的第一密钥信息,作为针对所述第一隐私数据的第一密钥信息。
17.根据权利要求14所述的装置,还包括:
第一认证单元,配置为在使用所述数据管理方的公钥加密所述第一解密密钥之前,与所述数据管理方进行远程RA认证,建立RA通道;
第二获取单元,配置为通过所述RA通道,获取所述数据管理方的公钥。
18.根据权利要求14所述的装置,所述第一加密密钥和所述第一解密密钥相同或者不同。
19.一种针对隐私数据的数据读取装置,部署在数据查看方中,所述装置包括:
第一发送单元,配置为向数据管理方发送针对第一隐私数据的查看请求;
第三获取单元,配置为获取所述数据管理方返回的第三加密数据;其中,所述第三加密数据基于使用所述数据查看方的公钥对第一解密密钥进行加密而得到,所述第一解密密钥用于对第一加密数据进行解密,所述第一加密数据基于对所述第一隐私数据加密而得到;
第一解密单元,配置为使用与所述数据查看方的公钥对应的私钥,对所述第三加密数据进行解密,得到所述第一解密密钥;
第七获取单元,配置为从数据存储平台获取所述第一加密数据;
第二解密单元,配置为使用所述第一解密密钥对所述第一加密数据进行解密,得到所述第一隐私数据。
20.根据权利要求19所述的装置,所述第三加密数据由所述数据管理方在确定所述数据查看方具有对所述第一隐私数据的查看权限时发送。
21.根据权利要求19所述的装置,还包括:
第二认证单元,配置为在获取所述数据管理方返回的第三加密数据之前,与所述数据管理方进行远程RA认证,建立RA通道;
第二发送单元,配置为通过所述RA通道,将所述数据查看方的公钥发送至所述数据管理方,以使所述数据管理方使用所述数据查看方的公钥对所述第一解密密钥进行加密而得到所述第三加密数据。
22.一种针对隐私数据的数据处理装置,部署在数据管理方中,所述装置包括:
第四获取单元,配置为获取第一可信计算单元发送的第二加密数据;其中,所述第二加密数据基于使用所述数据管理方的公钥对第一解密密钥进行加密而得到,所述第一解密密钥用于对第一加密数据进行解密,所述第一加密数据基于使用第一加密密钥对第一隐私数据进行加密而得到;
第三解密单元,配置为使用与所述数据管理方的公钥对应的私钥,对所述第二加密数据进行解密,得到所述第一解密密钥;
第五获取单元,配置为获取数据查看方发送的针对所述第一隐私数据的查看请求;
第三加密单元,配置为使用所述数据查看方的公钥对所述第一解密密钥进行加密,得到第三加密数据;
第三发送单元,配置为将所述第三加密数据发送至所述数据查看方,以使所述数据查看方使用与所述数据查看方的公钥对应的私钥对所述第三加密数据进行解密而得到所述第一解密密钥。
23.根据权利要求22所述的装置,所述第三加密单元,具体配置为:
验证所述数据查看方对所述第一隐私数据的查看权限;
当确定所述数据查看方具有对所述第一隐私数据的查看权限时,使用所述数据查看方的公钥对所述第一解密密钥进行加密。
24.根据权利要求23所述的装置,所述第三加密单元,验证所述数据查看方对所述第一隐私数据的查看权限时,包括:
向第三方管理平台验证所述数据查看方对所述第一隐私数据的查看权限;或者,
在所述数据管理方预先存储了具有对所述第一隐私数据的查看权限的查看方名单的情况下,判断所述数据查看方是否存在于所述查看方名单中,如果存在,则确定所述数据查看方具有对所述第一隐私数据的查看权限。
25.根据权利要求22所述的装置,还包括:
第三认证单元,配置为在获取第一可信计算单元发送的第二加密数据之前,与所述第一可信计算单元进行远程RA认证,建立RA通道;
第四发送单元,配置为通过所述RA通道,向所述第一可信计算单元发送所述数据管理方的公钥。
26.根据权利要求22所述的装置,还包括:
第四认证单元,配置为在使用所述数据查看方的公钥对所述第一解密密钥进行加密之前,与所述数据查看方进行远程RA认证,建立RA通道;
第六获取单元,配置为通过所述RA通道,获取所述数据查看方的公钥。
27.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-13中任一项的所述的方法。
28.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-13中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911285993.0A CN110968743B (zh) | 2019-12-13 | 2019-12-13 | 针对隐私数据的数据存储、数据读取方法及装置 |
PCT/CN2020/124294 WO2021114923A1 (zh) | 2019-12-13 | 2020-10-28 | 针对隐私数据的数据存储、数据读取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911285993.0A CN110968743B (zh) | 2019-12-13 | 2019-12-13 | 针对隐私数据的数据存储、数据读取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968743A CN110968743A (zh) | 2020-04-07 |
CN110968743B true CN110968743B (zh) | 2021-07-06 |
Family
ID=70034165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911285993.0A Active CN110968743B (zh) | 2019-12-13 | 2019-12-13 | 针对隐私数据的数据存储、数据读取方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110968743B (zh) |
WO (1) | WO2021114923A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968743B (zh) * | 2019-12-13 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据的数据存储、数据读取方法及装置 |
CN111628966B (zh) * | 2020-04-17 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 数据传输方法、系统、装置及数据授权方法、系统、装置 |
CN113556230B (zh) * | 2020-04-24 | 2024-05-31 | 华控清交信息科技(北京)有限公司 | 数据安全传输方法、证书相关方法、服务端、系统及介质 |
CN111445231A (zh) * | 2020-06-12 | 2020-07-24 | 支付宝(杭州)信息技术有限公司 | 实现MOTOpay的方法、装置及电子设备 |
CN111737368B (zh) | 2020-07-24 | 2020-12-18 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法、装置、设备及介质 |
CN111741036B (zh) | 2020-08-28 | 2020-12-18 | 支付宝(杭州)信息技术有限公司 | 一种可信数据传输方法、装置及设备 |
CN111814172A (zh) | 2020-08-28 | 2020-10-23 | 支付宝(杭州)信息技术有限公司 | 一种数据授权信息的获取方法、装置及设备 |
CN111815420B (zh) | 2020-08-28 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 一种基于可信资产数据的匹配方法、装置及设备 |
CN111818094B (zh) | 2020-08-28 | 2021-01-05 | 支付宝(杭州)信息技术有限公司 | 一种身份注册方法、装置及设备 |
CN111814195B (zh) | 2020-09-04 | 2021-05-25 | 支付宝(杭州)信息技术有限公司 | 一种基于可信硬件的数据管理方法、装置及设备 |
CN111814196B (zh) | 2020-09-04 | 2021-01-05 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法、装置及设备 |
CN115033919A (zh) | 2020-09-04 | 2022-09-09 | 支付宝(杭州)信息技术有限公司 | 一种基于可信设备的数据获取方法、装置及设备 |
CN111931238B (zh) | 2020-09-15 | 2021-05-04 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的数据资产流转方法、装置及设备 |
CN111930846B (zh) | 2020-09-15 | 2021-02-23 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法、装置及设备 |
CN111932426B (zh) | 2020-09-15 | 2021-01-26 | 支付宝(杭州)信息技术有限公司 | 一种基于可信硬件的身份管理方法、装置及设备 |
CN112910834B (zh) * | 2020-12-08 | 2022-11-18 | 北京众享比特科技有限公司 | 数据共享方法、装置、系统、设备及介质 |
CN112800436B (zh) * | 2021-04-07 | 2021-06-29 | 支付宝(杭州)信息技术有限公司 | 数据授权方法、装置及电子设备 |
CN113434891B (zh) * | 2021-07-07 | 2022-09-02 | 建信金融科技有限责任公司 | 一种数据融合方法、装置、设备及系统 |
CN113676494B (zh) * | 2021-10-21 | 2022-01-07 | 深圳致星科技有限公司 | 集中式数据处理方法及装置 |
CN114640501B (zh) * | 2022-02-14 | 2023-06-23 | 杭州锘崴信息科技有限公司 | 基于隐私计算平台的超融合安全监察和控制系统及方法 |
CN115186300B (zh) * | 2022-09-08 | 2023-01-06 | 粤港澳大湾区数字经济研究院(福田) | 文件安全处理系统及文件安全处理方法 |
CN116011007B (zh) * | 2022-12-21 | 2023-11-14 | 广州辰创科技发展有限公司 | 数据库存储加密方法、解密方法、系统及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020023220A1 (en) * | 2000-08-18 | 2002-02-21 | Distributed Trust Management Inc. | Distributed information system and protocol for affixing electronic signatures and authenticating documents |
CN101039182A (zh) * | 2007-03-07 | 2007-09-19 | 广东南方信息安全产业基地有限公司 | 认证系统及用户标识证书发放方法 |
CN106027503A (zh) * | 2016-05-09 | 2016-10-12 | 浪潮集团有限公司 | 一种基于tpm的云存储数据加密方法 |
CN107911393A (zh) * | 2017-12-28 | 2018-04-13 | 北京明朝万达科技股份有限公司 | 一种数据安全管理系统和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8458494B1 (en) * | 2012-03-26 | 2013-06-04 | Symantec Corporation | Systems and methods for secure third-party data storage |
CN103475474B (zh) * | 2013-08-28 | 2017-02-08 | 华为技术有限公司 | 一种提供、获取共享的加密数据的方法及身份认证设备 |
CN110011956B (zh) * | 2018-12-12 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
CN110519049A (zh) * | 2019-08-07 | 2019-11-29 | 赤峰学院 | 一种基于可信执行环境的云端数据保护系统 |
CN110968743B (zh) * | 2019-12-13 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据的数据存储、数据读取方法及装置 |
-
2019
- 2019-12-13 CN CN201911285993.0A patent/CN110968743B/zh active Active
-
2020
- 2020-10-28 WO PCT/CN2020/124294 patent/WO2021114923A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020023220A1 (en) * | 2000-08-18 | 2002-02-21 | Distributed Trust Management Inc. | Distributed information system and protocol for affixing electronic signatures and authenticating documents |
CN101039182A (zh) * | 2007-03-07 | 2007-09-19 | 广东南方信息安全产业基地有限公司 | 认证系统及用户标识证书发放方法 |
CN106027503A (zh) * | 2016-05-09 | 2016-10-12 | 浪潮集团有限公司 | 一种基于tpm的云存储数据加密方法 |
CN107911393A (zh) * | 2017-12-28 | 2018-04-13 | 北京明朝万达科技股份有限公司 | 一种数据安全管理系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021114923A1 (zh) | 2021-06-17 |
CN110968743A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110968743B (zh) | 针对隐私数据的数据存储、数据读取方法及装置 | |
CN110750803B (zh) | 数据提供和融合的方法及装置 | |
CN111010410B (zh) | 一种基于证书身份认证的拟态防御系统及证书签发方法 | |
JP6547079B1 (ja) | 登録・認可方法、装置及びシステム | |
US20220191012A1 (en) | Methods For Splitting and Recovering Key, Program Product, Storage Medium, and System | |
CA2904615C (en) | Method and apparatus for embedding secret information in digital certificates | |
US8683209B2 (en) | Method and apparatus for pseudonym generation and authentication | |
US9544137B1 (en) | Encrypted boot volume access in resource-on-demand environments | |
CN111708991A (zh) | 服务的授权方法、装置、计算机设备和存储介质 | |
CN111064569B (zh) | 可信计算集群的集群密钥获取方法及装置 | |
CN106790261B (zh) | 分布式文件系统及用于其中节点间认证通信的方法 | |
CN105915338B (zh) | 生成密钥的方法和系统 | |
TW202015378A (zh) | 密碼運算、創建工作密鑰的方法、密碼服務平台及設備 | |
CN112887282B (zh) | 一种身份认证方法、装置、系统及电子设备 | |
CN109600337B (zh) | 资源处理方法、装置、系统及计算机可读介质 | |
CN106790045B (zh) | 一种基于云环境分布式虚拟机代理装置及数据完整性保障方法 | |
CN109815747B (zh) | 基于区块链的离线审计方法、电子装置及可读存储介质 | |
CN111079158B (zh) | 数据存储和读取的方法及装置 | |
KR101639714B1 (ko) | 스마트 그리드 기기 인증 방법 | |
CN106992978B (zh) | 网络安全管理方法及服务器 | |
CN116561820B (zh) | 可信数据处理方法及相关装置 | |
JP2014022920A (ja) | 電子署名システム、電子署名方法および電子署名プログラム | |
US9509503B1 (en) | Encrypted boot volume access in resource-on-demand environments | |
JP2011227673A (ja) | ファイル管理システム、ストレージサーバ、クライアント、ファイル管理方法およびプログラム | |
CN115795446A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40026917 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |