存储用于全球数据中心的秘密信息的技术的制作方法

文档序号:6385104阅读:220来源:国知局
专利名称:存储用于全球数据中心的秘密信息的技术的制作方法
技术领域
本发明涉及存储用于全球数据中心的秘密信息的技术,更具体地,涉及用于集中和安全地存储秘密信息的技术。
背景技术
对于大型的数据中心,可能难以管理与秘密相关的信息,诸如口令和证书。客户机可使用与秘密相关的信息来访问来自数据服务的数据和服务。将用于访问数据和服务的秘密存储在多个位置可能使数据易于遭受非授权的访问。更新或扩展数据中心可能导致需要的秘密数量的指数性增长。本发明的改进正是针对这些和其他考虑事项而需要的。

发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。各个实施例一般涉及存储用于全球数据中心的秘密信息的技术。一些实施例尤其涉及用于集中和安全地存储秘密信息的技术。例如,在一个实施例中,技术可包括从前端服务生成用于数据中心的秘密。前端服务可从数据中心中的客户机接收访问后端存储的请求。技术还可包括使用数据中心所生成的秘密来从前端服务访问后端存储;以及将访问后端存储的结果返回给客户机。对其他实施例也予以描述并要求保护。通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。


图1示出了用于提供数据服务的第一系统的实施例。图2示出了用于存储数据服务的秘密信息的第二系统的实施例。图3示出了用于存储数据服务的秘密信息的第三系统的实施例。图4示出了前端服务的实施例。图5示出了逻辑流程的实施例。图6示出了用于授权请求的逻辑流程的实施例。图7示出计算体系结构的实施例。图8示出通信体系结构的实施例。
具体实施例方式常规的数据中心和数据服务部署可在数据中心的每一台机器处将秘密信息存储为文件。秘密可被硬编码在文件内。文件可以被手动管理。这样的情景会使数据中心运营者限制被提供给数据中心的秘密的数量。如果秘密被任何一台机器盗用或误用,则数据服务处的整个数据集将被损害。此外,这样的实施方式使得扩展数据中心、更新数据中心和/或从数据中心处的灾难中恢复变得冗长、耗时以及易出错,因为每台机器不得不让其秘密信息被处理。各个实施例涉及用于安全地存储用于全球数据中心的数据的技术。各实施例可为后端数据存储提供前端服务。前端服务可负责数据中心维护的部署、升级以及灾难恢复等各方面。数据中心可通过前端服务访问来自后端数据存储的数据和与数据相关的服务。可代表数据中心存储访问安全数据所需的秘密(例如口令和证书)而无需将秘密提供给数据中心。因此,各实施例可改进数据中心系统和网络的可伸缩性、模块性、可扩展性以及安全性。图1示出了用于为数据中心提供数据服务的系统100的框图。例如,在一个实施例中,系统100可包括具有诸如数据服务110和数据中心120之类的多个组件的计算机实现的系统100。如此处所使用的,术语“系统”和“组件”旨在指代与计算机相关的实体,包括硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可被实现为在处理器上运行的进程、处理器、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以视给定实现所需而位于一台计算机上和/或分布在两台或更多的计算机之间。各实施例不限于该上下文。在图1中示出的所示实施例中,系统100可用一个或多个电子设备来实现。电子设备的示例可包括但不限于,移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手机、单向寻呼机、双向寻呼机、消息通信设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、手持式计算机、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、小型计算机、大型计算机、超级计算机、网络设备、web设备、分布式计算系统、多处理器系统、基于处理器的系统、消费电子产品、可编程消费电子产品、电视机、数字电视机、机顶盒、无线接入点、基站、订户站、移动订户中心、无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器、或其组合。虽然图1中示出的系统100具有按照某种拓扑结构的有限数量的元素,但可以理解,系统100可以视给定实现的需要而包括按照替代拓扑结构的更多或更少元素。数据服务110和数据中心120可经由各种类型的通信介质通信地耦合。数据服务110和数据中心120可协调彼此间的操作。该协调可以涉及单向或双向信息交换。例如,数据服务110和数据中心120可以传递通过通信介质传递的信号形式的信息。该信息可被实现成分配给各条信号线的信号。在这些分配中,每一消息都是信号。然而,其他实施例可另选地采用数据消息。这些数据消息可以跨各个连接发送。示例性连接包括并行接口、串行接口和总线接口。在各实施例中,系统100可包括数据服务110。数据服务110可通过云计算模型来实现。在云计算模型中,可就像所述应用和数据是在本地设备上一样地提供应用和服务,而不需要在本地计算机上安装应用和/或存储数据。然而,所述应用和/或数据存储可以跨越从本地服务器通过网络接口可访问的许多设备、服务器、和数据存储实现。在云计算模型中,数据服务110可以被物理地实现在一个或多个服务器上,并且实现于一个或多个物理位置。无论物理配置如何,数据服务Iio可对诸如数据中心120之类的外部实体逻辑地显示为一个设备或系统。数据服务HO可将其结构和/或操作的各部分跨多个计算实体分布。数据服务110的示例可包括但不限于,客户机-服务器架构、3层架构、N层架构、紧耦合或群集的架构、对等架构、主-从架构、共享数据库架构以及其他类型的分布式系统。各实施例不限于该上下文。数据服务110可存储数据并在数据中心120的远程为数据中心120提供与数据相关的服务。数据服务的示例可包括例如但不限于微软SHAREPO丨NT ONLINE。数据服务110可由与控制数据中心120的实体不同的实体所控制。可代表数据中心120操作数据服务110以存储数据并提供对数据的安全访问等服务。在一个实施例中,数据服务110可由提供一个或多个功能的一个或多个服务器所组成。例如,数据服务110可包括主存数据服务110提供的任何网页和web服务的一个或多个web服务器130。数据服务110可包括主存数据服务110提供的任何服务应用的一个或多个应用服务器140。数据服务110可包括存储与数据服务110相关联的一些或全部数据的一个或多个数据库服务器150,数据包括例如配置设置、管理信息、与应用相关联的数据以及用户生成的数据。数据服务110可包括查询数据服务110中的数据并返回匹配的结果给例如web服务器130用于呈现的查询服务器160。各实施例不限于这些示例。数据服务110可以诸如数据中心120之类的数据中心所使用的任何格式存储数据。数据可以是例如但不限于文字处理文档、电子表格文档、样式文档、数据库、多媒体文件、因特网浏览器可读的文档、企业管理数据等格式。数据可以根据数据服务110可提供给数据中心120的应用来被格式化。各实施例不限于这些示例。在各实施例中,系统100可包括数据中心120。数据中心120可被实现在一个或多个物理位置。数据中心120可包括与数据服务110通信的一个或多个电子设备122。例如,数据中心120可包括一个或多个膝上型计算机122-1、一个或多个台式计算机122-2、一个或多个平板计算机122-3以及一个或多个服务器122-4。数据中心120可使用另外的电子设备和/或替代的电子设备。在一个实施例中,设备122-1、122-2以及122-3可经由服务器122-4连接到数据服务110,服务器122-4可经由有线或无线通信连接到数据服务110以查看数据服务110上的数据、修改数据服务110上的数据、查询数据服务110上的数据、使用数据服务110所执行的应用等等。图2示出了用于为数据中心提供安全数据服务的系统200的框图。系统200可与系统100相似,并且可进一步包括前端服务212和后端存储214。在系统200中,数据服务210和数据中心220可分别代表数据中心120和数据服务110。系统200可包括多个数据中心,通过数据中心220-1和220_b来表示,其中b表示正整数。多个数据中心220可以是由一个实体运营的不同数据中心。不同数据中心220可以位于不同的物理位置,但可访问数据服务210处的相同的数据。不同数据中心220可以由一个实体运营,但可访问数据服务210处的不同数据集。不同数据中心中的一个可以被禁止对一数据集进行访问,而另一数据中心可访问该数据集。例如,一个实体可在数据服务210处存储其雇员信息以及其工程项目文件。访问数据服务210处的数据的工程师可被禁止访问雇员信息,即使该数据都属于一个实体。在另一实施例中,不同数据中心220可由不同实体所控制。不同数据中心220可能需要被禁止访问另一实体在数据服务210处的数据。在各个实施例中,数据服务210可包括前端服务212和后端存储214。前端服务212可负责维护与其通信的任何数据中心的关于例如部署、更新和灾难恢复的各方面。在一个实施例中,前端服务212可以是能够访问后端存储214的唯一进程。前端服务212可审核和/或监视每个对后端存储214的访问尝试。前端服务212可理解前端服务212和后端存储214之间所有的授权交互,使得如果发生了非预期的交互,可触发一个偶发事件,而该未授权的事件可立即受到注意。当数据中心220中的电子设备122对前端服务212做出包括使用秘密的请求时,前端服务212可在处理该请求之前对其进行验证。由此,前端服务212可负责担任信任边界。如果该信任边界被损坏,则数据中心秘密可被假定为也被损坏。结合图4将更详细描述前端服务212。在各个实施例中,数据服务210可包括后端存储214。后端存储214可包括用数据服务210存储的数据216的全部,例如,数据中心220处的电子设备122与之交互的、与实体和应用有关的文档、数据库等。除了数据服务数据216,后端存储214还可存储秘密218。后端存储214可能不可直接由数据中心220访问。例如,数据中心220可能不能“看到”网络上的后端存储214。后端存储214可阻止除了前端服务212以外的任何设备或实体对其的任何访问尝试。秘密218可包括可被用于访问数据216的任何秘密信息,没有该秘密信息,数据216不能被访问,并且如果恶意实体获得该秘密信息,则该秘密信息可被用于造成危害。秘密218可与数据中心/数据服务关系有关,并且可排除特定的人用来访问单个电子设备或访问此人专用的数据的终端用户帐户秘密(例如,用户名和口令)。秘密218的实例可包括但不限于用户标识符、口令、私钥、来自证书授权机构的数字证书、生物信息、射频标识等。在一个实施例中,当设置了数据中心220时,秘密218可由前端服务212生成。秘密218可不被提供给数据中心220以避免秘密218的多个副本的出现以及秘密218的未授权散播。在一个位置(后端存储214)只具有秘密218的一个副本还可改进可扩展性和可伸缩性,因为秘密218仅需要在一个位置被更新,而不需在数据中心220的每个电子设备122处都更新。在一个实施例中,后端存储214可仅通过程序从前端服务212访问。除了关键的运行人员,可不准许对后端存储214的登录访问。在一个实施例中,后端存储214既可在运行时也可在空闲时对秘密218进行加密。在空闲时进行加密可确保满足顺应性标准。例如,如果其上驻有后端存储214的磁盘备份被盗,或如果某人曾在运行时查看后端存储214,在不清楚知道如何解密的情况下,加密可防止秘密218被公开。图3示出了系统300的框图。系统300可以与系统200相似,并且还可包括身份服务330以及证书授权机构340。在系统300中,数据服务310和数据中心320可分别代表数据中心220和数据服务210。身份服务330可包括发布操作者和/或网络资源的公共目录的网络设备。身份服务330可以是数据中心320的组件,或者可以与数据中心320分开但同时与数据中心320通信。例如但不限于,在一个实施例中,身份服务330可被实现为微软ACTIVED1RECTORY (活动目录)。身份服务330可以是轻型目录访问协议(LDAP)目录服务的一种实现,用于为网络计算机(例如电子设备122)提供集中认证和授权服务。身份服务330还可允许管理员分配策略、部署软件以及对组织应用更新。身份服务330可在中央数据库中存储信息和设置。身份服务330所支持的数据中心320可以从具有几百个对象的小型装置到具有上百万个对象的大型装置。通常,电子设备122和数据中心320可不被前端服务312所信任。在一个实施例中,前端服务312可访问数据中心320的身份服务330。访问身份服务330可允许前端服务312对数据请求所来自的数据中心320的“身份”授权。身份服务330可授权该个体访问数据中心320中的电子设备122。身份服务330还可包括该个体具有什么访问特权、或者数据中心320整体具有什么访问特权。前端服务312可使用来自身份服务320的认证服务以及与访问特权有关的信息来确定是否以及如何处理来自对后端存储314的数据的请求。证书授权机构340可包括发布数字证书的设备或实体。数字证书可证明证书的具名对象对公钥的拥有。公钥可与私钥配对,私钥可被用来对与另一实体交换的数据进行加密和解密。在一个实施例中,当数据中心320持有一对公钥和私钥,则私钥可被存储在秘密318中。证书也可被存储在秘密318中。在一个实施例中,前端服务312可与证书授权机构340交互以请求新的证书并将与那些证书相关联的私钥存储在秘密318中。图4示出了前端服务400的框图。前端服务400可以是前端服务212或312的代表性实施例。前端服务400可包括一个或多个功能组件,诸如供应模块410、服务模块420、监视模块430以及验证模块440。前端服务400还可包括数据450。供应模块410可被用于生成和部署新数据中心120。供应模块410可创建场。场可指表示数据中心320的数据服务310的一个或多个服务器。数据中心320可由不止一个场组成。供应模块410可创建角色。角色可包括可被分配给帐户的一组许可和/或访问级另IJ。帐户可专用于个别用户或一组用户。例如,一些角色可允许读取特定类型的文档但不能修改。其它角色可允许读取并修改文档。另一些可允许修改帐户或其它管理任务。各实施例不限于这些示例。每个角色可具有与其相关联的一个或一组秘密,或者可使用该角色被分配到的场的秘密。每个场可具有供其使用的一个或多个秘密。供应模块410可为新数据中心或场自动生成新秘密,或者无论何时当现有数据中心或场需要新秘密时(例如,在更新部署期间或当创建新角色时)生成新秘密。供应模块410可在运行时的任何时刻生成例如帐户信息(例如用户名和口令)。在一个实施例中,在部署期间,管理员或其它人员可手动输入秘密。前端服务400可以是可扩展的,如果在数据服务210,310当前使用以外需要新类型的秘密,那些类型和相关任务可被添加并且前端服务可执行那些操作。在一个实施例中,当新“角色”被部署时,可应用新的秘密集。在一个实施例中,当新角色被部署时,例如在场的身份服务330中的所有的旧帐户可被禁用。服务模块420可接收对数据中心(例如,数据中心220)的数据和/或服务的请求。例如,服务模块420可接收来自web服务器130的请求。服务模块420可处理并满足该请求。在一个实施例中,服务模块420可调用应用服务器140和/或查询服务器150来满足请求。在一个实施例中,当需要秘密来满足请求时,前端服务400可做出请求并仅将所请求的秘密提供给给定作业。例如,如果某个场需要知道秘密,则仅那个场的秘密可被返回,而不是数据中心中所有场的秘密。另外,并不是某个场的所有秘密都可被返回,而仅仅是被请求的某个秘密。在一个实施例中,秘密可仅经由存储器调用传递给其它进程,而不是通过将秘密写到后端存储314以外的磁盘,因为这将意味着秘密会驻于数据中心中不安全的位置。在一个实施例中,数据中心或场可完全不能直接访问秘密318。在这样的实施例中,仅前端服务400可通过程序访问秘密318。当请求秘密所保护的数据或作业时,前端服务400可从秘密318检索相关秘密,并且将请求和相关秘密传递给后端存储314以及适当的服务器以处理该服务器,而无需再将秘密提供给请求的场或数据中心。在一个实施例中,服务模块420对后端存储314的请求可包括秘密。在一个实施例中,请求可不包含秘密,并且可提示后端存储314确定需要什么秘密,并向服务模块420请求该秘密。各实施例不限于这些示例。监视模块430可监视和/或审核前端服务400对后端存储214、314的每次访问。在一个实施例中,监视模块430可将前端服务400和后端存储314之间的交互与被允许的交互相比较。当交互不是被允许的交互时,例如当错误的秘密被用于请求数据或对秘密或秘密保护的数据的请求不是来自前端服务400时,监视模块430可生成偶发事件,例如异常、标志、错误等。偶发事件可提示被授权的人检查该非期望的交互以确定适当的行动步骤。在一个实施例中,监视模块430可保持对前端服务400和后端存储314之间的全部交互的记录。记录可被用于审核交互。验证模块440可被用于对请求数据和/或服务的数据中心和/或场进行认证。验证模块440可访问身份服务330以检查请求的数据中心或场。如果请求的数据中心或场不能够被认证,则请求被拒绝。在一个实施例中,被拒绝的请求可引起监视模块430生成偶发事件。验证模块440可被用于验证请求。例如,如果请求是针对请求的数据中心没有访问特权的数据,则请求将是无效的。此处所描述的前端服务400的各模块可以以各种组合来配置。例如,服务模块420可以与监视模块430、验证模块440或这两者相组合。上述实施例的操作可参考一个或多个逻辑流程来进一步描述。可以理解,除非另外指明,否则代表性的逻辑流程不一定要按所呈现的次序或者按任何特定次序来执行。此夕卜,关于逻辑流程描述的各种活动可按串行或并行的方式执行。视给定一组设计和性能约束所需,逻辑流程可使用所述实施例的一个或多个硬件元件和/或软件元件或替换元件来实现。例如,逻辑流程可被实现为供逻辑设备(例如,通用或专用计算机)执行的逻辑(例如,计算机程序指令)。图5示出了逻辑流程500的一个实施例。逻辑流程500可表示由在此描述的一个或多个实施例所执行的操作中的部分或全部。在图5中示出的实施例中,在框502,逻辑流程500可在前端服务生成用于数据中心的秘密。例如,前端服务212、312、400和/或供应模块410可为数据中心、场、角色或其它实体(在逻辑流程500的讨论中,统称为“数据中心”)创建口令。秘密可允许数据中心访问后端存储214、314上数据场具有访问特权的数据。秘密可以是用户名、口令、数字配置、公共/私有密钥对等中的一个或多个的形式。秘密可不被提供给数据中心,而是取而代之地存储在后端存储214、314上。在一个实施例中,秘密不是由个人生成的,并且可不与特定个体相关联。在框504,逻辑流程500可在前端服务处接收来自数据中心的客户机的访问后端存储的请求。例如,前端服务212、312、400和/或服务模块420可接收访问数据的请求或执行需要访问数据的作业的请求,其中数据位于后端存储214、316上。请求可包括例如打开文档、提供新场、编辑数据库等的请求。在一个实施例中,请求可不包括访问数据所需的秘密。在框506,逻辑流程500可使用为数据中心生成的秘密来从前端服务访问后端存储。例如,前端服务212、312、400和/或服务模块420可确定什么秘密被分配给请求的数据中心或与其相关联。可从后端存储214、314检索秘密并用于根据请求对后端存储214、314发出请求。在一个实施例中,前端服务212、312、400、服务模块420和/或验证模块440可在服务该请求之前对发出请求的数据中心进行认证。访问后端存储214、314可包括对相关秘密进行解密以提供给后端存储中将要处理该请求的服务器。访问后端存储214、314还可包括打开文档、处理数据库中的数据、为数据中心提供新的场以及总得来说使用数据服务210、310所提供的、包括后端存储214、314上的数据的数据和服务。在框508,逻辑流程500可将访问后端存储的结果返回给客户机。例如,前端服务212、312、400和/或服务模块420可发送被请求的文档的副本,或者可返回计算的结果、文档的链接或与提供新的场有关的数据。图6示出了逻辑流程600的一个实施例。逻辑流程600可表示由在此描述的一个或多个实施例所执行的操作中的部分或全部。具体来说,逻辑流程600可代表与逻辑流程500中的框504有关的各操作。在图6中示出的实施例中,逻辑流程600可对请求数据或服务的数据中心、场、角色或其它实体(对于逻辑流程600的讨论,统称为“数据中心”)进行认证。例如,验证模块440和/或服务模块410可接收来自请求的数据中心的访问证书,例如id和口令。具有例如验证模块440和/或服务模块410的前端服务212、312、400可访问身份服务330以对访问证书进行认证。在框604,逻辑流程600可确定数据中心是否被认证。当数据中心没有被认证,在框612,逻辑流600可拒绝请求。否则,在框606中,逻辑流程600可接着对请求进行验证。在框606,前端服务212、312、400可查找或以其它方式访问为请求的数据中心生成的秘密。前端服务212、312、400可检索与秘密相关联的访问特权。前端服务212、312、400可根据访问特权确定被请求的数据和/或服务是否对请求的数据中心可用。如果不可用,请求可不被生效。请求也可因其它原因不被生效。无效请求的其它示例可包括未正确格式化的请求、包含非预期数据的请求、针对不存在的数据的请求等等。各实施例不限于这些示例。逻辑流程600可在框608确定请求是否有效。当请求不是有效的时,逻辑流程600可在框612拒绝该请求。否则,逻辑流程600可在框616满足该请求,如针对逻辑流程500中的框506所描述的。当请求在框612被拒绝,逻辑流程600还可在框614触发偶发事件。例如,前端服务212、312、400可抛出异常、生成可视警告、生成音频警告、发送即时消息或电子邮件消息给管理员等等。偶发事件可指示该事件的原因,诸如未通过认证或无效的请求,并且可提供用于解决该偶发事件的选项。在严重情况下,诸如当检测到黑客尝试,偶发事件可提供供管理员启动供应流程以采用新秘密来生成新的场、角色、数据中心等等的方法。逻辑流程600可在框610监视请求。在一个实施例中,可监视所有的请求,无论是否被拒绝(在框612)或被满足(在框616)。监视可包括记录关于每个请求的信息,诸如什么实体做出了请求、请求什么、该请求是否成功等等。图7示出适用于实现上述各实施例的示例性计算体系结构700的实施例。计算体系结构700包括各种常见计算元件,如一个或多个处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件,等等。然而,各实施例不限于由计算体系结构700来实现。如图7所示,计算体系结构700包括处理单元704、系统存储器706以及系统总线708。处理单元704可以是可购得的各种处理器中的任一种。双微处理器和其他多处理器体系结构也可用作处理单元704。系统总线708向包括但不限于系统存储器706的各系统组件提供到处理单元704的接口。系统总线708可以是若干类型总线结构中的任一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总线体系结构中的任一种的局部总线。系统存储器706可以包括各种类型的存储器单元,诸如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM (DRAM)、双倍数据率DRAM (DDRAM)、同步DRAM (SDRAM)、静态RAM(SRAM)、可编程ROM (PR0M)、可擦除可编程ROM (EPR0M)、电可擦除可编程ROM (EEPR0M)、闪存、诸如铁电聚合物存储器等聚合物存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、或适于存储信息的任何其他类型的介质。在图7示出的所示实施例中,系统存储器706可包括非易失性存储器710和/或易失性存储器712。基本输入/输出系统(BIOS)可以存储在非易失性存储器710中。计算机702可包括各种类型的计算机可读存储介质,包括内置硬盘驱动器(HDD)714、用于读写可移动磁盘716的磁软盘驱动器(FDD)718、以及用于读写可移动光盘720(例如,CD-ROM或DVD)的光盘驱动器722。HDD714、FDD716、以及光盘驱动器720可分别由HDD接口 724、FDD接口 726和光盘驱动器接口 728连接到系统总线708。用于外置驱动器实现的HDD接口 724可包括通用串行总线(USB)和IEEE1394接口技术中的至少一种或两者。驱动器及相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,多个程序模块可被存储在驱动器和存储器单元710,712中,包括操作系统730、一个或多个应用程序732、其他程序模块734和程序数据736。该一个或多个应用程序732、其他程序模块734、以及程序数据736可包括例如供应模块410、服务模块420、监视模块430以及验证模块440。用户可以通过一个或多个有线/无线输入设备,例如键盘738和诸如鼠标740等定点设备将命令和信息输入到计算机702中。其他输入设备可包括话筒、红外(IR)遥控器、操纵杆、游戏垫、指示笔、触摸屏等等。这些和其他输入设备通常通过耦合到系统总线708的输入设备接口 742连接到处理单元704,但也可通过诸如并行端口、IEEE1394串行端口、游戏端口、USB端口、IR接口等其他接口连接。监视器744或其他类型的显示设备也经由诸如视频适配器746等接口连接到系统总线708。除了监视器744之外,计算机通常包括诸如扬声器、打印机等其他外围输出设备。计算机702可使用经由有线和/或无线通信至一个或多个远程计算机(诸如远程计算机748)的逻辑连接在联网环境中操作。远程计算机748可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机702描述的许多或所有元件,但为简明起见仅示出了存储器/存储设备750。所描绘的逻辑连接包括到局域网(LAN) 752和/或例如广域网(WAN)754等更大网络的有线/无线连接。这种LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。当在LAN联网环境中使用时,计算机702通过有线和/或无线通信网络接口或适配器752连接到LAN756。适配器756可以方便到LAN752的有线和/或无线通信,并且还可包括其上设置的用于使用适配器756的无线功能进行通信的无线接入点。当在WAN联网环境中使用时,计算机702可包括调制解调器758,或连接到WAN754上的通信服务器,或具有用于诸如通过因特网等通过WAN754建立通信的其他装置。或为内置或为外置以及有线和/或无线设备的调制解调器758经由输入设备接口 742连接到系统总线708。在联网环境中,相对于计算机702所描绘的程序模块或其部分可以存储在远程存储器/存储设备750中。将明白,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。计算机702可操作来使用IEEE802标准系列来与有线和无线设备或实体进行通信,这些设备或实体例如是在操作上安置成与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话进行无线通信(例如,IEEE802. 11空中调制技术)的无线设备。这至少包括W1-Fi (即无线保真)、WiMax和蓝牙 无线技术。由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。W1-Fi网络使用称为IEEE802.1lx (a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连通性。W1-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE802. 3相关的介质和功能)。图8示出适用于实现上述各实施例的示例性通信体系结构800的框图。通信体系结构800包括各种常见通信元件,如发射机、接收机、收发机、无线电装置、网络接口、基带处理器、天线、放大器、滤波器,等等。然而,各实施例不限于由通信体系结构800来实现。如图8所示,通信体系结构800包括一个或多个客户机802和服务器804。客户机802可实现客户机系统122。服务器804可实现用于数据服务110、210、310的服务器系统。客户机802和服务器804可操作地连接到可被用来存储相应客户机802和服务器804本地的信息(如cookie和/或相关联的上下文信息)的一个或多个相应客户机数据存储802和服务器数据存储810。客户机802和服务器804可以使用通信框架806在彼此之间传递信息。通信框架806可以实现任何公知通信技术,如适用于与分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)一起使用的技术。客户机802和服务器804可以包括被设计成可与通信框架806进行互操作的各种类型的标准通信元件,如一个或多个通信接口、网络接口、网络接口卡(NIC)、无线电装置、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器等。作为示例而非限制,通信介质包括有线通信介质和无线通信介质。有线通信介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、所传播的信号等。无线通信介质的示例可以包括声学、射频(RF)频谱、红外和其他无线介质。客户机802和服务器804之间的一种可能的通信可以是以适用于在两个或更多计算机进程之间传输的数据包的形式。例如,数据包可以包括cookie和/或相关联的上下文信息。各实施例可以使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可以包括设备、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件组件、程序、应用软件、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。确定一实施例是否使用硬件元件和/或软件元件来实现可根据如给定实现所需的任何数量的因素而变化,这些因素诸如所需计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。一些实施例可包括制品。制品可包括用于存储逻辑的存储介质。存储介质的示例可包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可包括各种软件元件,诸如软件组件、程序、应用软件、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。例如,在一个实施例中,制品可以存储可执行计算机程序指令,该指令在由计算机执行时使得该计算机执行根据所描述的各实施例的方法和/或操作。可执行计算机程序指令可包括任何合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码等。可执行计算机程序指令可根据用于指示计算机执行特定功能的预定义的计算机语言、方式或句法来实现。这些指令可使用任何合适的高级、低级、面向对象、可视、已编译和/或已解释编程语言来实现。一些实施例可使用表述“一个实施例”和“一实施例”及其派生词来描述。这些术语意味着结合该实施例描述的特定特征、结构、或特性包括在至少一个实施例中。出现在说明书中各个地方的短语“在一个实施例中”并不必全都指的是同一实施例。一些实施例可使用表述“耦合的”和“连接的”及其派生词来描述。这些术语不必旨在互为同义词。例如,一些实施例可使用术语“连接的”和/或“耦合的”来描述以指示两个或更多元件彼此有直接的物理或电接触。然而,术语“耦合的”还可以意味着两个或更多元件彼此不直接接触,而仍彼此合作或交互。要强调的是,提供了本公开的摘要以符合37C.F.R. 1.72(b)节,要求使读者能快速确定本技术公开的特性的摘要。提交摘要的同时要明白,将不用它来解释或限制权利要求的范围或含义。另外,在前面的详细描述中,可以看到,出于将本公开连成一个整体的目的而将各种特征组合在一起放在单个实施例中。此公开方法将不被解释为反映所要求保护的实施例要求比每个权利要求中明确陈述的更多特征的意图。相反,如所附权利要求书所反映,发明性的主题存在于比单个已公开实施例的所有特征少的特征中。从而,据此将所附权利要求结合进详细描述中,其中每个权利要求独立地代表一个单独的实施例。在所附权利要求书中,术语“包括”和“其中”分别用作术语“包含”和“其特征在于”的易懂的英文等价词。而且,术语“第一”、“第二”、“第三”等等只用作标记,而不旨在将数字要求强加于其对象上。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种计算机实现的方法,包括在前端服务处生成用于数据中心的秘密(502);在前端服务接收来自数据中心中的客户机的访问后端存储的请求(504);使用为所述数据中心生成的所述秘密来从所述前端服务访问所述后端存储(506);以及将访问所述后端存储的结果返回给所述客户机(508)。
2.如权利要求1所述的方法,其特征在于,访问所述后端存储包括执行所述后端存储上的进程。
3.如权利要求1所述的方法,其特征在于,所接收到的请求不包括所述秘密。
4.如权利要求1所述的方法,其特征在于,秘密包括以下的至少一个用户名;口令;数字证书;以及私有密钥。
5.如权利要求1所述的方法,其特征在于,还包括在身份系统(330)处认证来自所述客户机的对所述数据中心(320)的请求(602);以及验证所述请求(606 )。
6.如权利要求1所述的方法,其特征在于,还包括监视从所述前端服务对所述后端存储的访问(610);当所述访问是未授权或非有效中的至少一个时,生成偶发事件(614);以及供应新的数据中心以及为所述新的数据中心生成新的秘密。
7.一种包括包含指令的计算机可读存储介质的制品,所述指令在被执行时使得系统执行如权利要求1、2、3、4、5或6中任一项所述的方法。
8.一种装置,包括处理单元;在所述处理单元上执行的前端服务(212),用于从数据中心(220 )中的客户机接收访问后端存储(214)上的数据(216)和服务中的至少一个的请求,其中所述请求不包含用于访问所述后端存储的秘密;当所述请求被验证,使用为所述数据中心生成的秘密(218)来访问所述后端存储;以及将访问所述后端存储的结果返回给所述客户机(616)。
9.如权利要求8所述的装置,其特征在于,所述前端服务还用于为数据中心生成秘密;以及将所述秘密存储在所述数据中心不能直接访问的所述后端存储上。
10.如权利要求8所述的装置,其特征在于,所述秘密与访问特权相关联,所述前端服务还用于通过根据与用于所述数据中心的秘密相关联的所述访问特权来确定所述请求是否针对所述数据中心可访问的数据或服务来验证所述请求。
全文摘要
描述了用于安全地存储用于全球数据中心的秘密信息的技术。各实施例可为后端数据存储提供前端服务。前端服务可负责数据中心维护的部署、升级以及灾难恢复等各方面。数据中心可通过前端服务访问来自后端数据存储的数据和与数据相关的服务。可代表数据中心存储访问安全数据所需的秘密而无需将秘密提供给数据中心。对其他实施例也予以描述并要求保护。
文档编号G06F21/62GK103020542SQ201210563258
公开日2013年4月3日 申请日期2012年12月21日 优先权日2011年12月22日
发明者J·伯奇, A·戴特, D·江普, V·马尔霍特拉, B·阿尔布雷克特, A·D·德米尔吉奥卢 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1