买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】数据中心以及用于促进数据中心处的私密性的方法和介质_微软技术许可有限责任公司_201680047889.6 

申请/专利权人:微软技术许可有限责任公司

申请日:2016-07-27

公开(公告)日:2021-07-16

公开(公告)号:CN107924339B

主分类号:G06F9/50(20060101)

分类号:G06F9/50(20060101);H04L29/06(20060101)

优先权:["20150812 US 14/824,310"]

专利状态码:有效-授权

法律状态:2021.07.16#授权;2018.05.11#实质审查的生效;2018.04.17#公开

摘要:一种数据中心106具有多个安全处理单元100;保持加密的数据记录的多个数据存储库102以及连接安全处理单元100和数据存储库102的网络。安全处理单元100包括计算功能,其被配置为通过被配置为从存储库102读取加密的记录、在安全处理单元100内处理一个或多个加密的记录、将一个或多个加密的记录发送到存储库102来在安全处理单元100上并行地执行数据处理操作。数据中心106被配置为执行数据记录的秘密混洗以保护在数据中心106中被处理的数据对于观察到以下中的任何一项或多项的观察者的私密性:记录的读取、记录的发送、记录的写入;秘密混洗包括向观察者隐藏的对记录的随机置换。

主权项:1.一种数据中心,包括:多个安全处理单元;保持加密的数据记录的多个数据存储库;以及连接所述安全处理单元和所述数据存储库的网络,其中所述安全处理单元被配置为通过被配置为从所述多个数据存储库读取加密的记录、在所述安全处理单元内处理所述加密的数据记录中的一个或多个加密的数据记录、通过所述网络在所述安全处理单元之间发送所述加密的数据记录中的一个或多个加密的数据记录、并且向所述多个数据存储库写入所述加密的数据记录来并行地执行数据处理操作,其中所述数据处理操作是使用多个映射器和多个归约器来实现的,所述多个映射器被配置为计算用于所述数据处理操作的执行计划,包括记录密钥分配,以在所述多个安全处理单元中的个体安全处理单元之间平衡活动量,其中所述数据处理操作被配置为执行所述加密的数据记录中的至少一些加密的数据记录的秘密混洗以保护正被处理的数据对于能够观察到以下中的任何一项或多项的观察者的私密性:所述加密的数据记录的所述读取、所述加密的数据记录的所述发送、和所述加密的数据记录的所述写入,其中所述秘密混洗包括向所述观察者隐藏的对所述加密的数据记录的随机置换,并且其中所述多个安全处理单元包括多个附加映射器和多个附加归约器,所述多个附加映射器和所述多个附加归约器被布置为执行所述秘密混洗。

全文数据:数据中心私密性背景技术[0001]使用公共云基础设施来存储和处理大型结构化数据集已经获得了广泛的重视。如果数据集包含诸如名称、地址、年龄、位置和其他私有数据的敏感数据,则存在安全隐患。使用高级密码学来提供私密性通常是以性能降低为代价的。发明内容[0002]为了向读者提供基本的理解,下面呈现了本公开的简要概述。这个概述不旨在确定所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。其唯一目的是以简化的形式呈现本文中公开的概念的选择,作为稍后呈现的更详细的描述的序g。[0003]描述了一种数据中心,其具有多个安全处理单元;保持加密的数据记录的多个数据存储库;以及连接安全处理单元和数据存储库的网络。安全处理单元包括计算功能,该计算功能被配置为通过被配置为从存储库读取一个或多个加密的记录、在安全处理单元内处理一个或多个加密的记录、通过网络在安全处理单元之间发送一个或多个加密的记录、并且将一个或多个加密的记录写入存储库来在安全处理单元上并行地执行数据处理操作。在各种示例中,数据中心被配置为执行加密的数据记录的秘密混洗以保护在数据中心中被处理的数据对于可以观察到以下中的任何一项或多项的观察者的私密性:加密的记录的读取、加密的记录的发送、加密的记录的写入;秘密混洗包括向观察者隐藏的对加密的记录的随机置换。[0004]伴随的特征中的许多特征将更容易被理解,因为这些特征通过参考结合附图考虑的以下详细描述将变得更好理解。附图说明[0005]从根据附图阅读下面的详细描述将更好地理解本说明书,在附图中:[0006]图1是具有私密性功能的数据中心的示意图;[0007]图2是在数据中心中提供私密性功能的方法的图;[0008]图3是数据中心中的中间部署的混洗的示意图;[0009]图4是在中间部署的混洗中使用的方法的图;[0010]图5是图4的方法的一部分的更详细的图;[0011]图6是数据中心中的初步混洗部署的示意图;[0012]图7是初步混洗部署中的方法的流程图;[0013]图8是图7的方法的更多内容的流程图;[0014]图9是计算密钥分配的方法的流程图;[0015]图10示出了其中可以实现数据中心计算节点的实施例的示例性的基于计算的设备。[0016]在附图中相同的附图标记用于表示相同的部分。具体实施方式[0017]下面结合附图提供的详细描述旨在作为对本示例的描述,而不旨在表示可以构建或利用本示例的唯一形式。本描述阐述了示例的功能以及用于构建和操作示例的步骤序列。然而,相同或等同的功能和序列可以通过不同的示例来实现。[0018]图1是具有私密性功能的数据中心106的示意图。数据中心包括使用网络连接到多个加密的数据存储库102的多个安全处理单元1〇〇。数据中心可以具有数据上传器104,以使得客户或其他实体能够向数据中心的数据存储库102上传数据。图1示出了两个安全处理单元100和三个数据存储库102,尽管在实践中存在如图1中的点所示的更多的安全处理单元和数据存储库。数据中心向一个或多个客户提供云计算服务,一个或多个客户具有能够经由通信网络112访问数据中心的服务器108、110或其他计算实体。例如,客户A可以具有用作web服务器以经由终端用户设备114向终端用户提供电子出租车预订服务的服务器110。数据处理可以作为电子出租车预订服务的一部分在数据中心中被执行,例如,以将可用出租车与请求用户相匹配。结果可以经由通信网络112可用于终端用户设备114。出租车预订服务仅是一个示例,并且其他服务可以被提供。[0019]安全处理单元是与数据中心的其余部分隔离的代码和或数据的受信容器。例如,安全处理单元可以被实现为受信物理机器、受信虚拟机或另一形式的受信执行环境,诸如实现为由安全处理器使用如现在描述的三个机制来保护的虚拟存储器地址的范围的安全区域。[0020]第一机制包括布置处理器以控制对安全区域的存储器访问。区域内的代码可以通过将控制转移到区域内的入口点的调用门机制来被调用。区域内的代码具有对区域内的数据的完全访问,但是对存储器区域的外部读取、写入和执行访问被处理器阻止,即使它们源自于以高级别特权运行的代码。因此,软件受信计算库TC©是安全区域内的代码,并且特别地不包括操作系统或管理程序。[0021]第二机制包括布置处理器以在高速缓存行被驱逐到系统存储器随机存取存储器RAM时加密和保护高速缓存行的完整性。因此,区域中的数据不是在物理处理器封装的明确的外部。这消除了一大类硬件攻击,诸如冷启动攻击,并且将硬件TCB限制到处理器。[0022]第三机制包括布置处理器以支持远程证明。当创建区域时,处理器计算区域的加密摘要并且利用可用于处理器的秘密密钥对其进行签名。这允许外部实体验证数据源自于特定的安全区域。这个机制用于在区域和远程系统之间建立安全通道。[0023]在本文中描述的实施例中,数据中心中的数据处理在安全处理单元100中的不同安全处理单元处的复制的处理功能之间被并行化,以对存储在数据存储库102处的加密的数据记录的不同块或分块进行操作。以这种方式,数据处理被分布在数据中心中的不同计算实体上,并且以快速高效的方式进行。在本文中的实施例中,分布式处理包括在安全处理单元之间发送中间结果。例如,在关系数据库的情况下,分布式处理可以实现来自两个或更多个关系数据库的数据连接的计算。在一些示例中,分布式处理使用映射-归约(映射-归约框架来实现。[0024]在本文中描述的实施例中,安全处理单元外部的消息和数据可以被加密以促进私密性。[0025]映射-归约框架是其中多个处理单元实现映射功能并且多个处理单元实现归约功能以便支持对被划分为分块的大量数据的并行分布式处理的框架。分块在本文档中也称为批次是一起存储或处理的两个或更多个记录。映射功能是用于取得数据的分块从大数据语料库中划分的)的算法,以根据用户指定的过程处理这些数据以生成中间数据,其中中间数据由数据分块组成,每个数据分块具有对应的密钥。然后,映射_归约框架将具有相同的密钥的数据分块分组在一起,并且将分组的分块发送到实现归约功能的多个处理单元这种group-by操作有时被称为混洗)。归约功能是一种用于接收具有相同密钥的中间数据分块通过group-by操作被分组的)并且根据用户指定的过程来处理它们以生成输出数据的算法。用于映射器和归约器功能的用户指定的过程一起被称为映射-归约工作。例如,工作可以是“计算特定普查数据集中的男性和女性人数”,而另一工作可以是“计算特定普查数据集中在美国出生的女性人数”。[0026]本文中描述的实施例认识到,数据中心中的安全处理单元100与数据存储库102之间的通信可以被观察到,并且恶意方使用观察来发现私有数据,诸如以上的出租车服务示例中的出租车的目的地。通过进行实证分析,发明人已经发现,观察数据中心中的安全处理单元与数据存储库之间的加密通信模式可以产生关于被保持在数据存储库处的数据集的精确信息。例如,在普查数据的情况下,关于个人年龄、个人工作地点、个人出生地点和其他私有数据的详细信息。例如,在出租车服务数据的情况下,关于个人的出租车目的地的详细信息。本文中描述的实施例通过使对数据中心的不同处理和网络存储单元之间的通信的这样的观察对于寻找私密数据无用来促进数据中心计算的私密性。如下面更详细描述的,这是通过使用秘密混洗过程来实现的。在各种实施例中,私密性与数据中心性能之间的折衷是可配置的。[0027]秘密混洗过程是一种实现多个数据记录的秘密的随机置换的过程。混洗是秘密的,因为它实现的置换对于在数据中心内的安全处理单元和或加密的数据存储库之间的业务流的观察者是隐藏的。注意,秘密混洗过程不同于用于将具有相同密钥的数据分块分组在一起以便于促进映射-归约框架的功能的group-by操作在映射-归约的上下文中有时称为混洗)。因此,在本实施例的秘密混洗过程与映射-归约框架的group-by操作之间至少有两个差别。第一差别在于秘密混洗根据随机置换来置换记录而group-by操作按密钥对密钥值对进行分组的功能上的差别。第二差别涉及安全性。本实施例的秘密混洗过程相对于观察数据中心中的业务的观察者隐藏置换,而group-by操作不关心私密性。[0028]在各种示例中,秘密混洗过程被实现为数据上传器1〇4的一部分、或者安全处理单元100的一部分。现在参考图2来描述这一点,图2示意性地指示各种实施例如何通过去除200输入到安全处理单元的数据与由安全处理单元通过使用秘密混洗过程而输出的数据之间的相关性来描述来改进数据私密性。[0029]在第一实施例中,在安全处理单元中的个体安全处理单元处实现秘密混洗204,以便于秘密地混洗由这些安全处理单元生成的输出数据。在第二实施例中,在数据处理之前执行秘密初步混洗202。在一些情况下,通过增加采样和私有通信平衡206来扩展第二实施例,以给出提高的效率和更强的私密性。私有通信平衡包括平衡安全处理单元之间的活动,诸如用于读取、与入或发送加密的记录的活动。[0030]通过使用如参考图2所述的秘密混洗过程,有可能提高在数据中心中正被处理的数据的私密性,而不会过分损害性能。例如,秘密混洗过程可以被设计为适合数据中心中正在进行的并行数据处理操作的并行性质。例如,秘密混洗过程可以被设计为引起在数据中心中的实体之间发送的通信数目上的仅相对较小的增加。[0031]图3是实现为中间混洗部署的秘密混洗功能306的示意图。在这个示例中,数据中心的安全处理单元1〇〇包括映射-归约框架的映射器302和或归约器304。每个安全处理单元100可以包括多个映射器和或归约器,每个映射器和每个归约器包括软件和或硬件。映射器302将多个加密数据分块300作为输入,对其进行解密,并且处理输入分块以生成加密的输出数据分块308。输出数据分块包括关于输入数据分块300的模式或相关性,其如果由恶意的观察者观察到则可能危及私密性。为了解决这个问题,在输出数据分块308上实现秘密混洗306,以去除关于输入数据分块的任何模式或相关性。这产生混洗的加密的输出数据分块310,其由映射-归约框架按密钥来分组并且根据输出数据分块31〇的密钥被发送到归约器304。归约器处理混洗的数据分块31〇以生成最终输出数据3丨2。秘密混洗功能3〇6利用安全处理单元100中的一个或多个安全处理单元来被实现,使得它不能被恶意的观察者观察到。[0032]在一些示例中,秘密混洗功能通过在各种安全处理单元1〇〇处使用专用映射功能和对应的归约功能称为附加映射器的)附加映射功能和附加归约器的)附加归约功能)来被实现。然而,这不是必需的,秘密混洗功能可以以其他方式被实现,诸如通过使用受信方或秘密排序。使用受信方涉及向受信方发送数据。秘密排序包括生成随机密钥并且应用秘密排序功能。[0033]图4是示例中间混洗部署中的方法的流程图。在这个示例中,来自客户的加密的数据集已经在数据中心处被接收400,并且已经分批被存储在加密的数据存储库1〇2中的个体加密数据存储库处。用于实现特定工作的映射和归约功能的计算机软件指令或合适的计算机硬件已经被接收到4〇2,并且在数据中心处可用。例如,客户已经向安全处理单元上传其指定的映射和归约功能,并且已经提供了合适的加密密钥。在数据中心的安全处理单元1〇〇中建立404映射器和归约器。用户可以请求对他已经上传的数据执行多于一个映射_归约工作。[0034]—旦映射器接收到一批数据,映射器对数据进行解密406,并且对这个批次中的每个记录执行408映射功能以生成输出数据。输出数据可以包括值的元组,每个元组是加密的密钥值对和加密的归约器索引。[0035]使用诸如附加映射器和附加归约器或秘密排序过程或受信方部署的任何实现方法来应用410秘密混洗过程。[0036]归约器从映射器接收412输出数据,对接收的数据进行解密,通过密钥对其进行分组,并且对每个分组执行其归约功能。归约器然后输出加密的结果。[0037]从图4的方法可以看出,中间部署中的混洗不会显著改变数据中心的正在进行的并行数据处理操作主要工作)。因此,主要工作的并行性不受影响,并且性能也不会被过度损害。[0038]现在在图5的流程图中给出其中图4的框410的秘密混洗过程在映射_归约框架中实现的示例。图5在框500至5〇6中示出了附加映射功能并且在框508至516中示出了附加归约功能,并且示出了这些附加功能如何被优选地重复至少一次以实现良好的私密性重复至少一次并不是必需的,但是私密性不会那么好)。附加映射功能包括接收一批记录500这些记录是图4的步骤408的批量输出数据,包括批量的值的元组),并且将记录分配给分箱。每个归约器有一个分箱。记录被分配给分箱并且使用伪随机置换被分配置换标签。然后,使用虚拟记录将每个分箱填充504到最大记录数目。虚拟记录具有与真实记录相同的大小,但是被分配给保留以表示在稍后的数据处理步骤中将被丢弃的记录的特殊值。如下面更详细描述的,分箱的最大数目被指定。然后,将填充的加密分箱和对应的分箱号输出到归约器。由于每个分箱都被加密,所以观察者无法确定每个分箱中有多少真实记录。[0039]映射-归约框架将具有相同的分箱号的分箱分组在一起。[0040]附加归约器接收具有相同分箱号的填充的分箱。它从附加映射器获取分箱列表5〇8,对它们进行解密,去除510作为具有特殊值的记录的虚拟值,并且通过在分箱分配过程期间分配的置换标签来对记录进行排序。附加归约器去除标签514,对记录进行加密,并且将其作为结果输出516。[0041]该过程然后重复518至少一次以进一步增强私密性。重复这个过程并不是必须的,因为工作解决方案在没有重复的情况下被实现。[0042]图5的方法示出了如何发送相对较少的附加通信以实现秘密混洗以及这些通信如何独立于主要工作进行。因此,中间部署中的混洗对数据中心的性能的影响相对较小。[0043]在另一示例中,初步秘密混洗被实现为如图2的框202所示。在这种情况下,可以执行秘密混洗作为将数据上传到数据中心的数据上传过程的一部分。在另一种情况下(参见图6,在离线阶段对已经上传到数据中心的数据执行初步秘密混洗。在这些情况下,初步的秘密混洗根本不会损害数据中心的性能。[0044]图6示出了在数据中心的安全处理单元处的映射器608和归约器610,并且映射器访问秘密混洗数据分块606。秘密混洗数据606在离线阶段在图6中的虚线左侧指示通过使用软件和或硬件实现的秘密混洗功能602来产生。秘密混洗功能602的输入是数据分块600,其中在输入数据记录的排序与其属性的值之间存在相关性。秘密混洗功能通过随机化输入记录的排序以产生混洗分块6〇4来擦除这些相关性。如以上参考图5所述,秘密混洗功能可以在安全处理单元处使用映射和归约功能来被实现。这在离线阶段执行一次,并且不需要针对混洗数据606上的不同的映射-归约工作重复。[0045]映射器6〇8和归约器eio继续进行以在在线阶段期间(在虚线的右侧并行地处理混洗数据606,并且数据中心业务的恶意观察者不太可能能够提取私有数据,因为输入数据记录的排序与它们的属性值之间的相关性已经以不可观察的方式被去除。[0046]图7是示出图6的离线阶段如何使用图5的过程来被执行700或者作为数据上传过程702的一部分的流程图。图7还示出了在线阶段中的示例方法。[0047]在各种示例中,图6的在线阶段以如图7所示的特定于工作的方式被修改。这是图2的框206的示例,其中采样和私有通信平衡被执行以给私密性保护过程提供更强的私密性保证。网络上的通信量和访问量的(安全处理单元之间的)平衡在隐藏通信量和访问量其将被揭示给未保护数据处理操作的网络的观察者)的情况下被称为私密性保护。这被称为混洗和平衡解决方案。混洗和平衡解决方案保留了数据中心的数据处理操作的并行性。混洗和平衡解决方案通过隐藏数据中心的实体之间的通信的分布来提高私密性。[0048]对于映射-归约工作,私密性保护平衡隐藏密钥-权重分布,其中权重由分配给给定密钥的密钥值对的数目确定。例如,如果在映射-归约工作中有四个密钥,其中4〇%的密钥值对具有密钥1,40%的密钥值对具有密钥2,10%的密钥值对具有密钥3,10%的密钥值对具有密钥4,则私密性保护平衡可以隐藏密钥2、密钥3和密钥4的分布。也就是说,观察者可以认为密钥2、密钥3和密钥4每个在工作中出现20%。此外,操作者甚至可以决定隐藏密钥1在40%的时间内出现,并且选择揭示它在某个更长的时间内出现,例如45%或50%稍后称为阈值)。[0049]在混洗和平衡实施例中,对于其中要使用指定的映射和归约功能在数据中心处处理指定的输入数据集的每个工作,数据中心使用执行计划来确定要在处理单元之间发送的通信量。如果要执行的工作是预先已知的或者在执行映射_归约工作之前已知,则可以在离线阶段期间计算执行计划704。执行计划指定要对加密的通信进行多少填充。例如,通过指定在对它们进行加密和在处理单元之间发送它们或将它们写入数据存储库中之前要向真实记录添加多少虚拟记录。[0050]在图8中,存在在用户指定的映射-归约工作的执行之前对执行计划的计算的示例。对于每个工作,指定的映射和归约功能在输入数据的样本上运行8〇〇。在步骤800的过程中,统计信息被收集802以估计由映射器中的个体映射器输出的密钥值对的密钥的分布。可选地,可以高速缓存804统计信息,使得能够与使用相同的映射和归约功能的其他工作共享它们。这个步骤可以在单个安全处理单元上被执行,而不与其他安全处理单元通信,因为获得良好统计信息的数据样本可以很小并且适合于一个安全处理单元。这个步骤不会损害性能,因为处理的数据很小,并且这个步骤是安全的,因为它在单个安全处理单元上执行。[0051]统计信息用于计算806密钥分配也称为执行计划),它通过平衡安全处理单元之间的可观察的通信量与安全单元对数据存储库的访问量来给出私密性。例如,映射_归约通信中的平衡表示每个映射器读取大致相同的输入数据量并且向每个归约器发送大致相同的量,并且每个归约器输出大致相同的量。密钥分配是密钥与归约器之间的映射,其指示要将哪些映射器输出数据发送到哪些归约器。执行计划还包括要发送给每个归约器的密钥值对的上限。然后,如下所述,将密钥分配发送808给映射器以在图7的框706处使用。[0052]参考图7,一旦映射器接收到密钥分配,它就使用它们为归约器分配706密钥值对。映射器还向归约器分配708虚拟密钥值对直至上限估计。稍后描述获取上限估计的方式。虚拟密钥值对具有与真实密钥值对相同的大小,其具有在未加密时容易与真实的密钥值对区分开来的专门保留的内容。然后,映射器对分配给相同的归约器的所有密钥值对进行加密,并且将归约器号码附接到加密的对。映射器输出加密的对和对应的归约器号码。通过以这种方式向归约器发送虚拟密钥值对,真实密钥值对的量对于观察者是隐藏的。离线混洗确保了映射器接收到与其他映射器没有显著差别的密钥值对的分布。由于虚拟密钥值对用于隐藏映射器之间的密钥值分布上的差别,因此只需要少量的虚拟密钥值对,而不会显著损害性能。由于虚拟密钥值对也用于隐藏具有相同密钥的密钥值对的量,即每个归约器接收多少密钥值对,所以要添加的虚拟密钥值对的数目决定了有多么想要隐藏分布。因此,给出了私密性与性能之间的权衡。[0053]归约器从映射器接收密钥值对并且丢弃710虚拟密钥值对,即具有专门保留的内容的对。归约器利用虚拟值填充712其输出直到上限估计,以便对于观察者隐藏真实输出的量。上限估计值如下所述被获得。[0054]现在参考图9给出促进私密性保护通信平衡的密钥分配如何可以被计算的示例。选择900关于最频繁密钥的权重的阈值,密钥的权重是所有密钥值对中分配给相同密钥的密钥值对的数目。这个阈值可以由操作者预先配置,可以由用户动态配置,或者可以使用来自样本的公知的参数估计技术来自动计算。例如,它可以是样本中最频繁密钥的权重。这个阈值确定每个映射器要添加多少附加虚拟值。例如,如果阈值固定在比当真实最高频率是20%时的21%更多的50%处,则更多虚拟值被使用。然后,使用这个阈值来估计关于映射器必须分配给被映射到归约器的分箱的密钥值对的数目的上限902称为分箱容量)。进行类似的过程以估计关于归约器输出量的阈值。[0055]给定关于每个分箱的容量估计,生成密钥向分箱的秘密分配。从采样过程中知道可能密钥的域,并且两个虚拟密钥被添加904到这个域。虚拟密钥具有权重零,并且被添加作为采样域的最小和最大密钥以确保域足够大。其他密钥各自具有如以上指定的权重。[0056]将密钥的域划分906成区间(使得每个区间中的密钥的总权重小于估计的阈值),并且根据区间中的密钥的总权重对区间排序908。随后执行910分箱装箱算法以将区间分配给分箱,其中分箱映射到归约器并且分箱容量如上被确定。可以使用任何公知的分箱装箱算法。然后计算912分配函数,分配函数将每个区间映射到其已经被放置到其中的分箱的归约器。[0057]在图7的方法中,上限估计值用于获知要向从映射器发送到归约器的密钥值对进行多少填充,以及要向归约器输出进行多少填充。填充通过考虑分箱的最大数目来被确定,分箱的最大数是针对任何密钥权重分布在图9的步骤910中所选择的分箱装箱算法所要求的。然后,每个归约器接收被填充以考虑固定容量的分箱的最大数目的数个密钥值对。映射器与归约器之间的通信的观察者可以观察到取决于分箱容量和分箱数目的量的加密的数据。由于分箱容量和分箱数目在所有可能的密钥权重分布上被最大化并且仅取决于阈值,所以真实密钥值分配和密钥分布是隐藏的,并且仅阈值被揭示给观察者。[0058]备选地或附加地,本文中描述的秘密混洗、安全处理单元和或数据上传器的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如而非限制,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA、专用集成电路ASIC、专用标准产品ASSP、片上系统SOC、复杂可编程逻辑器件CPLD、图形处理单元GPU。[0059]图10示出了可以被实现为任何形式的计算和或电子设备并且其中数据中心的计算节点的实施例诸如包括图1的一个或多个安全处理单元100的服务器、或数据上传器可以被实现的示例性基于计算的设备1000的各种组件。[0060]如以上参考图1所述,数据中心的计算节点通过网络1024连接到多个安全处理单元1026和多个数据存储库1028。基于计算的设备可以是或可以包含一个或多个安全处理单JL〇[0061]基于计算的设备1000包括一个或多个处理器10〇2,其可以是微处理器、控制器或任何其他合适类型的处理器,用于处理计算机可执行指令以控制设备的操作以便通过去除存储在数据中心处或在数据中心的实体之间发送的数据中的相关性或模式来促进数据中心中的私密性。在一些示例中,例如,在使用片上系统架构的情况下,处理器1002可以包括一个或多个固定功能块也称为加速器),其以硬件而不是软件或固件实现图4、5、7、8和9中的任何一个图中的方法的一部分。包括操作系统1004的平台软件或任何其他合适的平台软件可以在基于计算的设备处提供,以使得应用软件能够在设备上被执行。秘密混洗组件包括用于实现秘密混洗作为如本文中描述的中间混洗、混洗和平衡、或初步混洗的一部分的指令。采样器1006包括用于计算诸如由个体映射器或其他计算实体输出的密钥的分布的统计信息的指令,执行计划器包括用于计算用于向归约器或其他计算实体发送数据的高效的私有执行计划使得通信在归约器或其他计算实体之间被平衡的指令。数据存储库1010保持统计信息、估计的界限、高速缓存的数据、用户配置的参数和其他数据。[0062]计算机可执行指令可以使用由基于计算的设备1000可访问的任何计算机可读介质来被提供。例如,计算机可读介质可以包括诸如存储器1012的计算机存储介质和通信介质。诸如存储器1012的计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现的易失性和非易失性、可拆卸和不可拆卸介质。计算机存储介质包括但不限于1^、訓^?1?^』£?1«1|1、闪存或其他存储器技术、00-ROM、数字多功能盘DVD或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可以用于存储供计算设备访问的信息的任何其他非传输介质。相比而言,通信介质可以在诸如载波或其他传输机制的已调制数据信号中体现计算机可读指令、数据结构、程序模块或其他数据。如本文中定义的,计算机存储介质不包括通信介质。因此,计算机存储介质不应当被解释为传播信号本身。传播的信号可以存在于计算机存储介质中,但是传播的信号本身不是计算机存储介质的示例。尽管计算机存储介质存储器1012被示出为在基于计算的设备1012内,但是应当理解,存储装置可以是分布式的或被远程定位,并且经由网络或其他通信链路例如,使用网络接口1014来访问。[0063]基于计算的设备1000还包括被布置为向显示设备1018输出显示信息的输入输出控制器1016,显示设备1〇18可以与基于计算的设备1000分离或向其集成。显示信息可以提供图形用户接口。输入输出控制器1016还被布置为接收和处理来自一个或多个设备的输入,一个或^个设备诸如用户输入设备1〇2〇例如,鼠标、键盘、相机、麦克风或其他传感器)。在一些示例中,用户输入设备1020可以检测语音输入、用户姿势或其他用户动作,并且可以提供自然用户界面NUI。这个用户输入可以用于设置参数值、指定上限、定义映射器功能、定义归约功能^指定用于上传和用于其他目的的数据源。在一个实施例中,如果显示设备1018是触敏显示设备,则显示设备1018还可以用作用户输入设备1〇〇〇。输入输出控制器1016还可以向除了显示设备之外的设备例如,本地连接的打印设备输出数据。[0064]输入输出控制器1016、显示设备1018和用户输入设备1020中的任一项可以包括NUI技术,其使得用户能够以自然的方式与基于计算的设备交互,而不受由诸如鼠标、键盘、遥控器等输入设备施加的人为约束。可以提供的NlJI技术的示例包括但不限于依赖于声音和或,音识别、触摸和或触笔识别触敏显示器)、屏幕上和屏幕附近的姿势识别、空中姿势、头部和眼睛跟踪、声音和语音、视觉、触摸、姿势和机器智能的NUI技术。可以使用的匪技术的其他不例包括意图和目标理解系统、使用深度相机诸如立体相机系统、红外相机系统、rgb相机系统及其组合的运动姿势检测系统、使用加速度计陀螺仪的运动姿势检测、面部识别、3D显示器、头部、眼睛和视线跟踪、沉浸式增强现实和虚拟现实系统、以及使用电场感测电极EEG和相关方法来感测大脑活动的技术。[0065]在一个示例中,存在一种数据中心,其包括:[0066]多个安全处理单元;[0067]保持加密的数据记录的多个数据存储库;以及[0068]连接安全处理单元和数据存储库的网络;[0069]其中安全处理单元被配置为通过被配置为从存储库读取加密的记录、在安全处理单元内处理加密的记录中的一个或多个加密的记录、通过网络在安全处理单元之间发送加密的记录中的一个或多个加密的记录、并且向存储库写入加密的记录来并行地执行数据处理操作;[0070]并且其中数据处理操作被配置为执行加密的记录中的至少一些加密的记录的秘密混洗以保护正被处理的数据对于可以观察到以下中的任何一项或多项的观察者的私密性:加密的记录的读取、加密的记录的发送、加密的记录的写入;[0071]秘密混洗包括向观察者隐藏的对加密的记录的随机置换。[0072]在一个示例中,数据中心包括数据上传器,其被配置为通过执行加密的数据记录的秘密混洗作为上传的一部分来将加密的数据记录上传到数据存储库。[0073]在一个示例中,安全处理单元被配置为在执行数据处理操作之前执行加密的数据记录的秘密混洗。[0074]例如,安全处理单元被配置为执行在安全处理单元之间发送的加密的数据记录的秘密混洗。[0075]例如,数据处理操作是在安全处理单元处使用多个映射器和多个归约器来实现的。[0076]数据中心可以包括在安全处理单元处的多个附加映射器和附加归约器,附加映射器和附加归约器被布置为执行秘密混洗。[0077]在一个示例中,映射器被布置为填充映射器的输出。[0078]在一个示例中,归约器被布置为填充归约器的输出。[0079]在一个示例中,附加映射器和附加归约器被配置为每个秘密混洗执行至少两次。[0080]在一个示例中,安全处理单元包括用于数据处理操作的执行计划,执行计划被布置为在安全处理单元中的个体安全处理单元之间平衡活动量,其中活动包括以下中的任一项:加密的记录的读取、加密的记录的发送、加密的记录的写入。[0081]在一个示例中,安全处理单元被配置为针对数据处理操作计算执行计划以在安全处理单元中的个体安全处理单元之间平衡活动量,其中活动包括以下中的任一项:加密的记录的读取、加密的记录的发送、加密的记录的写入,执行计划包括要应用于加密的数据记录的填充量。[0082]在一个示例中,数据处理操作是使用多个映射器和多个归约器来实现的,并且其中映射器被配置为针对数据处理操作计算执行计划以在安全处理单元中的个体安全处理单元之间平衡活动量,其中活动包括以下中的任一项:加密的记录的读取、加密的记录的发送、加密的记录的写入。[0083]在一个示例中,执行计划已经使用来自数据处理操作的样本来被计算。[0084]在一个示例中,执行计划已经从与由映射器产生的记录的观察到的分布有关的高速缓存数据来被计算。[0085]在一个示例中,执行计划是特定于特定数据处理操作的。[0086]在一个示例中,执行计划包括指示哪些记录要被发送给哪些归约器的记录密钥分配。[0087]在一个不例中,执行计划包括要向归约器分配密钥的密钥分配,密钥分配隐藏了数据处理操作的密钥记录对之间的密钥分布。[0088]在一个示例中,存在一种促进数据中心处的私密性的方法,其包括:[0089]使用多个安全处理单元并行地执行数据处理操作,数据处理操作包括:经由网络从连接到安全处理单元的多个数据存储库读取加密的记录,在安全处理单元内处理加密的记录中的一个或多个加密的记录,通过网络在安全处理单元之间发送加密的记录中的一个或多个加密的记录,并且向存储库写入加密的记录;以及[0090]执行加密的数据记录的秘密混洗以促进正被处理的数据对于可以观察到以下中的任何一项或多项的观察者的私密性:加密的记录的读取、加密的记录的发送、加密的记录的写入;秘密混洗包括向观察者隐藏的对加密的记录的随机置换。[0091]例如,安全处理单元包括映射器和归约器,并且包括填充一个或多个映射器的输出。[0092]在一个示例中,存在一种具有设备可执行指令的一个或多个有形设备可读介质,这些设备可执行指令在由计算系统执行时引导计算系统执行包括以下各项的步骤:[0093]使用多个安全处理单元并行地执行数据处理操作,数据处理操作包括:经由网络从连接到安全处理单元的多个数据存储库读取加密的记录,在安全处理单元内处理加密的记录中的一个或多个加密的记录,通过网络在安全处理单元之间发送加密的记录中的一个或多个加密的记录,并且向存储库写入加密的记录;以及[0094]执行加密的数据记录的秘密混洗以促进正在处理的数据对于能够观察到以下中的任何一项或多项的观察者的私密性:加密的记录的读取、加密的记录的发送、加密的记录的写入;秘密混洗包括对于观察者隐藏的加密的记录的随机置换。[0095]术语“计算机”或“基于计算的设备”在本文中用于指代具有处理能力使得其能够执行指令的任何设备。本领域技术人员将认识到,这样的处理能力被并入到很多不同的设备中,并且因此术语“计算机”和“基于计算的设备”每个包括PC、服务器、移动电话包括智能手机)、平板电脑、机顶盒、机顶盒、媒体播放器、游戏机、个人数字助理和很多其他设备。[0096]本文中描述的方法可以由有形存储介质上的机器可读形式的软件来执行,例如以包括计算机程序代码装置的计算机程序的形式,该计算机程序代码装置适于当程序在计算机上运行时并且在计算机程序可以被体现在计算机可读介质上的情况下执行本文中描述的任何方法的所有步骤。有形存储介质的示例包括计算机存储设备并且不包括传播的信号,计算机存储设备包括诸如磁盘、拇指驱动器、存储器等计算机可读介质。传播的信号可以存在于有形存储介质中,但是传播的信号本身不是有形存储介质的示例。软件可以适合在并行处理器或串行处理器上执行,使得方法步骤可以以任何合适的顺序或同时被执行。_[0097]这承认,软件可以是有价值的单独可交易的商品。旨在涵盖在“无处理能力”或标准硬件上运行或对其进行控制的、用于执行期望功能的软件。还旨在涵盖“描述”或定义硬件配置的软件,诸如HDL硬件描述语言软件,其用于设计硅芯片或用于配置通用可编程芯片以执行期望功能。[0098]本领域技术人员将认识到,用于存储程序指令的存储设备可以分布在网络上。例如,远程计算机可以存储被描述为软件的过程的示例。本地或终端计算机可以访问远程计算机并且下载软件的一部分或全部来运行程序。备选地,本地计算机可以根据需要下载软件片段,或者在本地终端处执行一些软件指令并且在远程计算机或计算机网络处执行一些软件指令。本领域技术人员还将认识到,通过利用本领域技术人员己知的传统技术,可以通过专用电路诸如DSP、可编程逻辑阵列等来执行全部或部分软件指令。[0099]如对于本领域技术人员将是明显的,本文中给出的任何范围或设备值可以被扩展或改变而不失去所寻求的效果。[0100]尽管已经用特定于结构特征和或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于上面描述的特定特征或动作。相反,上述的具体特征和动作被公开作为实现权利要求的示例形式。[0101]应当理解,上面描述的益处和优点可以涉及一个实施例或可以涉及若干实施例。实施例不限于解决所述问题中的任一项或全部的实施例或具有所述益处和优点中的任一项或全部的实施例。还将理解,对“一个”项目的引用是指这些项目中的一个或多个。[0102]本文中描述的方法的步骤可以以任何合适的顺序执行,或者在适当的情况下同时执行。另外,可以在不脱离本文中描述的主题的精神和范围的情况下从方法中的任何方法中删除单个块。上面描述的示例中的任何示例的方面可以与所描述的其他示例中的任何示例的方面组合以形成另外的示例而不失去所寻求的效果。[0103]本文中使用术语“包括”来表示包括所标识的方法块或元素,但是这样的块或元素不包括排他性列表,并且方法或装置可以包含附加的块或元素。[0104]术语“子集”在本文中用于指代适当的子集,使得集合的子集并非包括该集合的所有元素即,该集合的元素中的至少一个元素从该子集中缺失)。[0105]应当理解,以上描述仅通过示例方式被给出,并且本领域技术人员可以进行各种修改。以上说明、示例和数据提供了对示例性实施例的结构和使用的完整描述。尽管以上已经以一定程度的特殊性或者参考一个或多个单独的实施例描述了各种实施例,但是本领域技术人员可以在不脱离本说明书的精神或范围的情况下对所公开的实施例进行多种改变。

权利要求:1.一种数据中心,包括:多个安全处理单元;保持加密的数据记录的多个数据存储库;以及连接所述安全处理单元和所述数据存储库的网络;其中所1安全处理单元被配置为通过被配置为从所述存储库读取加密的记录、在所述安全处理单元内处理所述加密的记录中的一个或多个加密的记录、通过所述网络在所述安全处理单元之间发送所述加密的记录中的一个或多个加密的记录、并且向所述存储库写入所述加密的记录来并行地执行数据处理操作;并且其中所述数据处理操作被配置为执行所述加密的记录中的至少一些加密的记录的秘密混洗以保护正被处理的数据对于能够观察到以下中的任何一项或多项的观察者的私密性:所述加密的记录的所述读取、所述加密的记录的所述发送、所述加密的记录的所述写入;所述秘密混洗包括向所述观察者隐藏的对所述加密的记录的随机置换。2.根据权利要求1所述的数据中心,包括数据上传器,其被配置为通过执行所述加密的数据记录的秘密混洗作为上传的一部分来将所述加密的数据记录上传到所述数据存储库。3.根据权利要求1所述的数据中心,其中所述安全处理单元被配置为在执行所述数据处理操作之前执行所述加密的数据记录的所述秘密混洗。4.根据权利要求1所述的数据中心,其中所述安全处理单元被配置为执行在所述安全处理单元之间发送的所述加密的数据记录的秘密混洗。5.根据权利要求1、或权利要求3或权利要求4所述的数据中心,其中所述数据处理操作是在所述安全处理单元处使用多个映射器和多个归约器来实现的。6.根据权利要求5所述的数据中心,包括在所述安全处理单元处的多个附加映射器和附加归约器,所述附加映射器和附加归约器被布置为执行所述秘密混洗。7.根据权利要求5所述的数据中心,其中所述映射器被布置为填充所述映射器的输出。8.根据权利要求5所述的数据中心,其中所述归约器被布置为填充所述归约器的输出。9.根据权利要求6所述的数据中心,其中所述附加映射器和附加归约器被配置为每个秘密混洗执行至少两次。10.根据权利要求1所述的数据中心,其中所述安全处理单元包括用于所述数据处理操作的执行计划,所述执行计划被布置为在所述安全处理单元中的个体安全处理单元之间平衡活动量,其中活动包括以下中的任一项:所述加密的记录的所述读取、所述加密的记录的所述发送、所述加密的记录的所述写入。11.根据权利要求1所述的数据中心,其中所述安全处理单元被配置为针对所述数据处理操作计算执行计划以在所述安全处理单元中的个体安全处理单元之间平衡活动量,其中活动包括以下中的任一项:所述加密的记录的所述读取、所述加密的记录的所述发送、所述加密的记录的所述写入,所述执行计划包括要应用于所述加密的数据记录的填充量。12.根据权利要求1所述的数据中心,其中所述数据处理操作是使用多个映射器和多个归约器来实现的,并且其中所述映射器被配置为针对所述数据处理操作计算执行计划以在所述安全处理单元中的个体安全处理单元之间平衡活动量,其中活动包括以下中的任一项:所述加密的记录的所述读取、所述加密的记录的所述发送、所述加密的记录的所述写入。13.根据权利要求10所述的数据中心,所述执行计划已经使用来自数据处理操作的样本和或从与由映射器产生的记录的观察到的分布有关的高速缓存数据来被计算。14.根据权利要求12所述的数据中心,其中所述执行计划包括指示哪些记录要被发送给哪些归约器的记录密钥分配、或者向归约器分配密钥的密钥分配,所述密钥分配隐藏了所述数据处理操作的密钥记录对之间的密钥分布。15.—种促进数据中心处的私密性的方法,包括:使用多个安全处理单元并行地执行数据处理操作,所述数据处理操作包括:经由网络从连接到所述安全处理单元的多个数据存储库读取加密的记录,在所述安全处理单元内处理所述加密的记录中的一个或多个加密的记录,通过所述网络在所述安全处理单元之间发送所述加密的记录中的一个或多个加密的记录,并且向所述存储库写入所述加密的记录;以及执行所述加密的数据记录的秘密混洗以促进正被处理的数据对于能够观察到以下中的任何一项或多项的观察者的私密性:所述加密的记录的所述读取、所述加密的记录的所述发送、所述加密的记录的所述写入;所述秘密混洗包括向所述观察者隐藏的对所述加密的记录的随机置换。

百度查询: 微软技术许可有限责任公司 数据中心以及用于促进数据中心处的私密性的方法和介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。