多承租人数据中心中的安全计算的制作方法

文档序号:7887243阅读:150来源:国知局
专利名称:多承租人数据中心中的安全计算的制作方法
技术领域
本发明涉及通信邻域,尤其涉及多承租人数据中心中的安全计算。
背景技术
现代数据中心是高效、可靠的,且可伸缩自如地对变化的计算需要作出响应。例如,这些数据中心可使数万个体能够使用广泛的计算资源来浏览因特网或执行操作。为满足这些需要,现代数据中心常常使用多承租人技术。多承租人技术在诸如相同的计算机服务器等相同的物理机上分配虚拟机。由此,一个客户机的虚拟机可在与另一客户机的虚拟机相同的物理机上运行。当这种情况发生时,一个客户机的信息可能易遭受其他客户机的发现。为尝试解决这一问题,当前技术通过系统管理程序来隔离虚拟机或减少多承租人的使用。然而,这些技术常常不足以纠正这一漏洞,或降低现代数据中心的效率、可靠性或弹性。

发明内容
本文档描述了用于在多承租人数据中心中的安全计算的各技术。这些技术准许客户机将对函数的计算委托给多个物理计算设备,而客户机信息不会易受暴露。这些技术防止恶意实体发现客户机的信息,即使该实体是作为客户机的相同物理计算设备中的许多上的共同承租人。提供本发明内容以便介绍将在以下详细描述中进一步描述的用于多承租人数据中心中的安全计算的简化概念。本发明内容并不旨在标识所要求保护的主题的必要特征, 也不旨在用于帮助确定所要求保护的主题的范围。用于多承租人数据中心中的安全计算的各技术和/或装置此处也被分开地或结合地称为“技术”,如上下文所准许的。


参考以下附图描述用于多承租人数据中心中的安全计算的各实施例。在各附图中,使用相同的标号来指示相同的特征和组件图I示出可实现多承租人数据中心中的安全计算的各技术的示例环境,该环境具有客户机设备、可信第三方、以及各自具有物理计算设备的数据中心。图2示出图I的客户机设备的示例实施例。图3示出图I的数据中心中的一个的示例实施例。图4示出用于聚焦于客户机设备作出的动作的多承租人数据中心中的安全计算的示例方法。图5示出聚焦于可信第三方和/或数据中心进程管理器作出的动作的多承租人数据中心中的安全计算的示例方法。图6示出可实现用于多承租人数据中心中的安全计算的各技术的示例设备。
具体实施例方式摄览本文档描述了用于在多承租人数据中心中的安全计算的各技术和装置。考虑客户机具有在两个数据中心中的九个计算机服务器上运行的九个虚拟机的情况。这些技术防止恶意的其他客户机发现客户机的信息,即使该恶意其他客户机具有在相同的这九个计算机服务器中的大多数上运行的虚拟机。本讨论以下继续描述这些技术可操作的示例环境、可由这些技术执行的各方法、 示例实现、以及示例装置。示例环塏图I示出可实现多承租人数据中心中的安全计算的各技术的示例环境100,该环境具有客户机设备102、可信第三方104、各自具有物理计算设备110的数据中心106和 108、以及通信网络112。这些物理计算设备110被示为数据中心中的服务器计算机,但也可使用其他计算设备且无需位于数据中心中,其他计算设备诸如不同的桌面计算机(例如, 类似于执行搜索外星生命(Search for Extra-Terrestrial Life, SET I)的个人计算机网络)。仅举几个例子,通信网络112可包括因特网、局域网、广域网、无线网络、USB集线器、 计算机总线、或其组合。如图I所示,客户机设备102包括函数f (X) = y,其中,该函数为f,输入为X,且输出为y。该函数可以是对输入执行并得到输出的任何函数,诸如对计算应用的一个或许多操作。如上所述,这些技术防止诸如客户机设备102的输入X或输出y等信息由在一个或多个数据中心106、108的物理计算设备110上具有某些共同承租人的恶意的其他实体发现。图I示出各技术可操作的许多可能的方式中的两种。第一种方式示出客户机设备 102通过通信网络112向可信第三方104提供输入X。可信第三方104接收输入,将输入拆分成某一数目的输入份额114(这里为五个),并将这些提供给数据中心106和108的物理计算设备110。可信第三方104可与数据中心106、108集成或与之不同,如下文将更详细地描述的。图I不出各技术可操作的第二种方法,第二种方法不出客户机设备102将输入 X拆分成五个份额114,并将这些份额通过通信网络112直接提供给物理计算设备106和 108。本文稍后详述各技术如何执行这两种方式、以及如何找出对函数的输出。图2是客户机设备102的示例实施例的图示。客户机设备102包括一个或多个处理器202以及计算机可读介质204。计算机可读介质202包括函数管理器206、函数208、以及在某些情况下的秘密共享方案210。函数管理器206能够管理函数和/或客户机设备102与诸如可信第三方104和数据中心106、108等远程实体之间的通信。如上所述,客户机设备102可按多种方式动作,在某些情况下,函数管理器206执行秘密共享方案210的操作,用于将输入X拆分成n数量的输入份额(Xl,. . .,xn),提供这些输入份额,接收n数量的输出份额(yi,. . .,yn),并且执行秘密共享方案210用于从这些输出份额中恢复输出y。在某些其他情况下,客户机设备102 通过函数管理器206提供输入X和接收到的输出y (例如,从可信第三方104)。如图2所示,客户机设备102可以是各种计算设备中的一个或其组合,这里以六个示例示出膝上型计算机102-1、平板计算机102-2、智能电话102-3、机顶盒102-4、台式计算机102-5、或游戏设备102-6,但也可使用诸如服务器和上网本等其他计算设备和系统。图3是数据中心106和108的示例实施例的图示。数据中心106和108可以是相似的、相同的或不同的,虽然两者至少包括物理计算设备110、一个或多个数据中心处理器 302、和数据中心计算机可读介质304。介质304包括进程管理器306、可信第三方104、多方计算协议308、以及功能310。进程管理器306可包括可信第三方104和/或数据中心106、 108中的一个或多个的数据中心控制器,或被包括在其中,或与其集成。可信第三方104被示为分开的实体且被包括在数据中心106和/或108中,虽然这些中没有一个是必需的。物理计算设备110中的每一个包括处理器,并且包括介质或能访问介质,该介质可与处理器 302和/或介质304重叠(未示出)。进程管理器306能够使得物理计算设备110 (或是在一个数据中心或是在多个数据中心)能够联合执行多方计算协议308用于执行功能310。每一分配的物理计算设备110 基于其接收到的输入份额Xi来这样做,并输出其输出份额yi。功能310基于如上所述的函数f。图1-3的实体动作和交互的方式在下文中更详细地阐述。示例方法图4描绘用于聚焦于客户机设备作出的动作的多承租人数据中心中的安全计算的方法400。在以下讨论的各部分中,将对图I的且如图2和3中详细描述的环境100做出参考,对其的做出的参考仅出于示例目的。框402执行秘密共享方案的秘密共享操作,用于将对函数的输入拆分成能够由秘密共享方案的恢复操作恢复的输出份额。这一秘密共享操作可由客户机设备102或诸如可信第三方104等某一其他设备来执行。方法400聚焦于客户机设备102的性能;稍后的方法聚焦于可信第三方104的性能。作为示例,假设客户机设备102向函数f输入X,且希望函数由一个或多个数据中心执行用于安全地得到输出y,而输入X和输出y不会易于遭受在这些数据中心的一个或多个物理计算设备110上潜在地共享共同承租人的某一实体发现。因此,在框402,函数管理器206具有输入X,函数208 (f(x) =7),且期望得到7。为这样做,函数管理器206在框 402执行对输入X执行秘密共享方案210的秘密共享操作,用于将X拆分成某一数量n的输入份额(X1, . . . , xn)。一般而言,秘密共享操作用于防止在任何输入份额子集上恢复对该函数的输入。 由此,如果单个输入份额对恶意实体是未知的,则该实体无法恢复该输入。在输入份额或输出份额中的任一个对恶意实体是未知的情况下,可防止对该函数的输入的恢复。如上所述, 这准许在许多相同的物理计算设备上对输入份额和输出份额的共同承租。由此,如果秘密共享操作被执行用于将一输入拆分成被发送到42个不同的物理计算设备的42个输入份额,则即使恶意实体能够诸如通过与42个不同的物理计算设备中的41个共同承租地操作, 来确定41个不同的输入份额,该恶意实体也无法知道该输入。各技术可假设完全共同承租的可能性如此低以至于可以忽略,诸如在物理计算设备是从许多上万个物理计算设备中随机分配的情况下。在某些其他情况下,各技术确保不同的物理计算设备中的至少一个不与任何潜在的恶意实体共享共同承租。此处构想了各种特定类型的秘密共享方案,诸如两个多项式时间算法,它们的示例可在以下示例实现部分中提供。框404使得这些输入份额要由不同的物理计算设备接收。如上所述,这些不同的物理计算设备能够联合执行多方计算协议,用于评估与该函数和秘密共享方案相关联的功能。完成时,不同的物理计算设备产生不同的输出份额。框404可使得这些输入份额以各种方式来接收,其中一种方式是将每一输入份额安全地传输至每一物理计算设备或传输至能够这样做的管理器。继续正在进行的示例,函数管理器206将数量n的输入份额(Xl,...,xn)传输至图 3的进程管理器306,该进程管理器306随后将每一个输入份额安全地传递给不同的物理计算设备110。进程管理器306管理这些设备110以联合执行多方计算协议308用于执行功能310,以便提供数量n的输出份额(yi,. . .,yn)。可执行这个的方式在下文稍后详述。框406或只是直接地或是通过中介从不同的物理计算设备接收不同的输出份额。 在该正在进行的示例中,进程管理器306经由通信网络112将这些输入份额(yi,...,n)提供给函数管理器206。框408对不同的输出份额执行秘密共享方案的恢复操作,用于确定对该函数的输出。这里,进程管理器306对输出份额(yi,. . .,yn)执行与秘密共享方案+210的秘密共享操作相对应的恢复操作,用于确定输出I。图5描绘聚焦于可信第三方和/或数据中心进程管理器作出的动作的多承租人数据中心中的安全计算的方法500。在以下讨论的各部分中,将对图I的且如图2和3中详细描述的环境100做出参考,对其的做出的参考仅出于示例目的。框502接收函数以及对函数的输入。如果对输入执行这一函数,则这一函数得到输出。作为示例,假设可信第三方104经由通信网络112从客户机设备102接收函数208 和输入X。框504确定功能,该功能当被多方实体评估时得到能够被恢复以找出对该函数的输出的输出份额,其中多方实体联合执行多方计算协议且各自具有对该函数的输入的输入份额。作为示例,假设可信第三方104接收函数208,即f(x) =y,且确定功能310,这里被称为f ’,使得当多方计算协议308被执行时,物理计算设备110中正对其相应的输入份额Xi执行协议308的每一个物理计算设备返回yi的结果。注意,这些项在下文示例实现部分中描述或定义。可信第三方104可基于秘密共享方案、函数、和多方计算协议,即秘密共享方案 210、函数208和多方计算协议308来确定这一功能310。在这种情况下,可信第三方104已经具有这些内容,或从客户机设备102接收这些内容。尽管方法500聚焦于可信第三方104 的动作,但框504可改为由客户机设备102,即函数管理器206来执行。在这种情况下,函数管理器206具有、确定、或接收多方计算协议308。框506确定在其上执行多方计算协议的不同的物理计算设备。框506由具有对不同的物理计算设备的直接或间接控制的某一实体执行,诸如数据中心控制器或多个数据中心控制器。这里假设可信第三方104与数据中心106或108上的进程管理器306 —起工作,用于确定物理计算设备以基于输入份额对功能310执行多方计算协议308。进程管理器306可从许多可能的选择中确定要使用哪些设备,诸如使用来自供选择的20,000个计算机服务器中的九个物理设备。进程管理器306可通过随机选择或通过确定或导致没有其他实体共享完全的共同承租,来选择这些设备,以使得几乎不可能与潜在的恶意实体(例如,任何其他客户机)共同承租。由此,在某些情况下,进程管理器306 将九个物理设备中的一个在一相关时间段(该相关时间段可以相当短)内仅专用于客户机设备102。在某些其他情况下,进程管理器306检查全部九个所选物理计算设备,以确保没有潜在的恶意实体正对全部这九个设备进行操作。在又一些情况下,进程管理器306确定潜在的恶意实体能够对其操作的最大物理计算设备数,并且分配一附加设备数。继续该正在进行的示例,可信第三方104与进程管理器306 —起工作,并且确定图 I的五个物理计算设备110来执行多方通信协议308。这五个设备110在图I中示出,设备中的四个在数据中心108上而一个在数据中心106上。框508执行秘密共享方案的秘密共享操作,用于将输入拆分成与不同的物理计算设备相同数量的输入份额。注意,框504、506和508可以按与方法500中所呈现的不同次序来执行。然而,在这一情况下,输入份额在物理计算设备之后被确定,且由此为五个所选物理计算设备创建五个输入份额。输入份额数量n为五(n = 5),得到输入份额 Xi J > > > ; Xn Xi J Xgj Xg 这五个输入份额在图I中的输入份额114处示出。框510使得不同的物理计算设备执行多方计算协议,以基于秘密共享方案和函数来评估功能,其中不同的物理计算设备中的每一个只具有输入份额中的一个。由此,在这一示例中,五个物理计算设备Iio执行多方计算协议308用于分别对输入份额Xp X2> x3、X4> X5评估功能310。多方计算协议308以及物理计算设备110的执行由进程管理器306来管理。框510可直接或间接导致这些执行。由此,如果框510由进程管理器306执行,则直接导致(并管理)这些执行。如果框510由客户机设备102或可信第三方执行且不与进程管理器306 —起操作,则间接导致这些执行,诸如命令或请求被发送给进程管理器306。框512从不同的物理计算设备中的每一个接收一个输出份额。在这一示例中,进程管理器306接收五个输出份额,Y1, y2、y3、y4、y5,从图I所示的物理计算设备110中的每一个中接收一个(未示出输出份额的接收)。然而,如上所述,这些可改为由客户机102直接接收或从进程管理器306接收。框514执行秘密共享方案的恢复操作,以便从接收到的输出份额确定输出。框514 可在客户机设备102处执行或由可信第三方104来执行。在该正在进行的示例中,进程管理器306接收输出份额,将它们提供给可信第三方104,可信第三方104随后执行恢复操作以得到输出y,可信第三方104随后通过通信网络112将输出y安全地提供给客户机设备102。关于恢复操作的附加描述和细节在上文以及下文的示例实现部分中阐述。前面的讨论描述了用于在多承租人数据中心中的安全计算的各方法。这些方法被示为指定所执行的操作的各组框,但不必限于所示次序来执行相应框的操作。这些方法的各方面可用硬件(例如,固定逻辑电路)、固件、软件、手动处理、或其任何组合。软件实现表示当由计算机处理器执行时执行指定任务的程序代码。可以在计算机可执行指令的一般上下文中描述示例方法,这些指令可包括软件、应用程序、例程、程序、 对象、组件、数据结构、过程、模块、功能等等。程序代码可被存储在计算机处理器本地和/ 或远程的一个或多个计算机可读存储器设备中。方法还可以在分布式计算环境中由多个计算设备实施。示例实现作为示例而非限制,考虑上文描述的技术的特定示例实现。本部分以各种定义开始,该部分稍后将依赖这些定义。在定义之后,本部分转到真实世界和理想世界执行中的多方计算。多方计算之后,本部分转到安全委托计算,同样在真实世界和理想世界执行中。该部分以各技术可使用的示例协议结束,以允许多承租人数据中心中的安全计算。定义符号。我们写x— X来表示元素X是从分布X中采样的,1: I来表示元素X
是从集合X中均匀地采样的。算法的输出X由X ^ ^来表示。我们将向量V的第i个元素称为Vi*V[i]。贯穿本文,k将指代安全参数。如果对于每一多项式p(*)和足够大的k,v(k) < l/p(k),则在k处的函数v :肩-4丽是可忽略的。令“多项式(k)”和“可忽略(k)”分别表示k中未指定的多项式和可忽略的函数。我们写f(k)=多项式(k),意味着存在多项式P(*),使得对于所有足够大的k,f(k) < (10,并且写€(10 =多项式(k),意味着存在可忽略函数V( ),使得对于所有足够大的k,f(k) ^ v(k)0多方功能。n方随机化功能为以下函数
权利要求
1.一种计算机实现的方法,包括执行秘密共享方案的秘密共享操作,用于将对函数的输入拆分成能够由所述秘密共享方案的恢复操作恢复的输入份额;使得所述输入份额由不同的物理计算设备接收,所述不同的物理计算设备能够联合地执行多方计算协议,用于评估与所述函数和所述秘密共享方案相关联的功能,从而导致所述多个物理计算设备中的每一个产生不同的输出份额;从所述不同的物理计算设备接收所述不同的输出份额;以及对所述不同的输出份额执行所述恢复操作,用于确定对所述函数的输出。
2.如权利要求I所述的计算机实现的方法,其特征在于,所述多方计算协议用于通过确定除了由恶意实体所接收的输入份额以外的输入份额中的任一个,来阻止所述恶意实体在所述不同的物理计算设备中的一个上的共同承租。
3.如权利要求I所述的计算机实现的方法,其特征在于,执行所述秘密共享操作用于在所述输入份额中的任一个是未知的情况下阻止对所述函数的输入的恢复。
4.如权利要求I所述的计算机实现的方法,其特征在于,执行所述秘密共享操作用于在所述输入份额中的任一个或所述不同的输出份额中的任一个是未知的情况下阻止对所述函数的输出的恢复。
5.如权利要求I所述的计算机实现的方法,其特征在于,执行所述秘密共享操作执行两个多项式时间算法,所述两个多项式时间算法用于阻止基于所述输入份额中的任何子集来计算所述输入。
6.如权利要求I所述的计算机实现的方法,其特征在于,所述不同的物理计算设备是不同的个人计算机。
7.一种计算机实现的方法,包括接收函数以及对所述函数的输入,其中在对所述输入执行所述函数时得到输出;确定在其上执行多方计算协议的不同的物理计算设备;执行秘密共享方案的秘密共享操作,用于将所述输入拆分成与所述不同的物理计算设备相同数量的输入份额;使得不同的物理计算设备执行所述多方计算协议,以基于所述秘密共享方案和所述函数来评估功能,其中所述不同的物理计算设备中的每一个只具有所述输入份额中的一个; 从所述不同的物理计算设备中的每一个接收一个输出份额;以及执行所述秘密共享方案的恢复操作,以便从所述输出份额确定所述输出。
8.如权利要求7所述的计算机实现的方法,其特征在于,还包括基于所述秘密共享方案、所述函数、以及所述多方通信协议来确定所述功能。
9.如权利要求7所述的计算机实现的方法,其特征在于,确定所述不同的物理计算设备确定没有潜在的恶意实体能够在全部所述不同的物理计算设备上运行。
10.如权利要求7所述的计算机实现的方法,其特征在于,所述不同的物理计算设备执行与从其中接收所述输入的客户机设备相关联的虚拟机。
全文摘要
本文档描述了用于在多承租人数据中心中的安全计算的各技术和装置。这些技术准许客户机将对功能的计算委托给多个物理计算设备,而没有客户机信息易受暴露。这些技术防止恶意实体发现客户机的信息,即使该实体是作为客户机的相同物理计算设备中的许多上的共同承租人。
文档编号H04L29/06GK102611692SQ201210011020
公开日2012年7月25日 申请日期2012年1月13日 优先权日2011年1月14日
发明者M·P·雷科娃, S·F·卡马拉 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1