CN107113292A - 以增强的安全性存储加密的数据 - Google Patents

以增强的安全性存储加密的数据 Download PDF

Info

Publication number
CN107113292A
CN107113292A CN201580061727.3A CN201580061727A CN107113292A CN 107113292 A CN107113292 A CN 107113292A CN 201580061727 A CN201580061727 A CN 201580061727A CN 107113292 A CN107113292 A CN 107113292A
Authority
CN
China
Prior art keywords
data
encryption
key
store
computer
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.)
Pending
Application number
CN201580061727.3A
Other languages
English (en)
Inventor
J·P·洛克哈特
P·J·麦克福尔斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107113292A publication Critical patent/CN107113292A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本文描述的技术提供了加密的数据的增强的安全性。在一些配置中,可以在客户端计算设备处通过利用加密密钥对数据进行加密来生成加密的数据。可以将所述加密的数据传送从客户端计算设备到由第一实体管理的秘密存储库,以将所述加密的数据存储在所述秘密存储库中。可以将所述加密密钥从所述客户端计算设备传送到由第二实体管理的密钥存储库,以将所述加密密钥存储在所述密钥存储库中。所述秘密存储库可以通过对所述秘密存储库独有的第一组管理访问控制权限来管理。所述密钥存储库可以通过对所述密钥存储库独有的第二组管理访问控制权限来管理。

Description

以增强的安全性存储加密的数据
背景技术
涉及管理安全系统的任务可以向各种规模的公司提出了挑战。例如,具有不同访问级别的安全数据管理是昂贵的,并且如果管理不恰当,人为错误或其它因素将引起安全性问题。另外,一些现有的系统受限于刚性配置不允许管理员足够粒度地控制访问权限。例如,一些安全系统提供对安全数据的完全访问或无访问。在这种配置中,一旦授权访问秘密数据的特定记录,就不存在限制可以在秘密数据上执行的操作类型的有效方法。除了在记录上的操作约束外,许多系统不提供在记录之间的有效分离。
当公司依赖于托管安全相关服务的第三方实体时,将出现额外的挑战。例如,特定的公司可以使用第三方服务来存储秘密数据或管理安全密钥。虽然这种服务可能提供比自管理转钥式系统更多的功能,但是对于想要相对恶意用户或甚至第三方管理员维持高级别的安全性的公司可能存在许多缺陷。
关于这些和其它考虑提出了本文中进行的公开。
发明内容
本文描述的技术提供了加密的数据的增强的安全性。在一个或多个配置中,在客户端计算设备处或另一类计算设备处通过利用加密密钥对数据进行加密来生成加密的数据。可以将所述加密的数据从所述客户端计算设备传送到第一实体的秘密存储库,以将所述加密的数据存储于所述秘密存储库中。可以将所述加密密钥从所述客户端计算设备传送到第二实体的密钥存储库,以将所述加密密钥存储于所述密钥存储库中。所述秘密存储库可以通过对所述秘密存储库独有的第一组管理访问控制权限而被管理。所述密钥存储库可以通过对所述密钥存储库独有的第二组管理访问控制权限而被管理。所述加密密钥和所述加密的数据可以由所述客户端计算设备通过使用被授权访问所述秘密存储库和所述密钥存储库的一个或多个身份进行访问。本文描述的其它技术可以提供用于针对个体身份或身份的群组管理对特定类型的存储数据的访问的机构。
应该理解的是,以上描述的主题可以实现为计算机控制装置、计算机过程、计算系统、或者实现为诸如计算机可读存储介质的制品。根据阅读后续具体实施方式和查看相关联的附图,这些和各种其它特征将是显而易见的。
提供该发明内容以便以简化的形式来选择性地介绍下面的具体实施方式中进一步描述的理念。该发明内容不旨在识别要求保护的主题的关键特征或必要特征,该发明内容也不旨在用于限定要求保护的主题的范围。此外,要求保护的主题不限于解决本公开内容的任何部分中指出的任何或所有缺点的实现方式。
附图说明
图1是示出用于提供加密的数据的增强的安全性的系统的若干示例性部件的框图。
图2是示出用于提供加密的数据的增强的安全性的方法的各方面的流程图。
图3是示出用于在具有秘密存储库和密钥存储库的系统中更新秘密数据的方法的各方面的流程图。
图4是示出用于存储加密的数据的容器的若干示例性部件和用于存储加密的数据的容器的对应访问控制列表的框图。
图5是示出用于存储一个或多个加密密钥的容器的若干示例性部件和用于存储一个或多个加密密钥的容器的对应访问控制列表的框图。
图6是图示针对能够实现本文中提出的技术和技艺的各方面的计算系统的图示计算机硬件和软件结构的计算机架构图。
图7是图示能够实现本文中提出的技术和技艺的各方面的分布式计算环境的示图。
图8是图示针对能够实现本文中提出的技术和技艺的各方面的计算设备的计算设备架构的计算机架构图。
具体实施方式
以下详细描述针对用于提供加密的数据的增强的安全性的概念和技术。在一些配置中,可以在客户端计算设备处通过用加密密钥对秘密数据进行加密而生成加密的数据。可以将所述加密的数据从所述客户端计算设备传送到秘密存储库,可以将所述加密的数据存储在所述秘密存储库的秘密容器中。可以将所述加密密钥从所述客户端计算设备传送到密钥存储库,以将所述加密密钥存储在所述密钥存储库的秘密容器中。所述秘密存储库可以由控制所述秘密存储库独有的第一组管理访问控制权限的第一实体管理。秘密存储库可以由控制由所述密钥存储库独有的第二组管理访问控制权限的第二实体管理。
可以通过客户端计算设备使用授权访问秘密存储库和密钥存储库的一个或多个身份来访问所述加密密钥和所述加密的数据。本文描述的其它技术可以提供用于针对个体身份或身份的群组来管理对特定类型的存储数据进行访问的机制。利用每个都由单独一方管理的个秘密存储库和密钥存储库的技术和技艺帮助减轻了任一数据库的管理员对秘密数据的未授权访问的风险,同时提供对客户端计算设备的用户或一组用户的访问。
在其它配置中,本文公开的技术和技艺利用加密密钥将密码加密成加密的密码。可以将加密的密码从客户端计算设备传送到由第一实体管理的秘密存储库,以在秘密存储库中存储加密的数据。可以将加密密钥从客户端计算设备传送到第二实体的密钥存储库,以在密钥存储库中存储加密密钥。
在其它配置中,本文公开的技术和技艺用于更新加密的数据,例如加密的密码。例如,客户端计算设备可以接收新的数据,例如,新的密码。一个或多个计算设备可以确定是否需要改变现有的加密密钥。如果确定需要改变现有的加密密钥,则客户端计算设备通过利用新的加密密钥来对新的数据(例如,新的密码)进行加密而生成加密的数据。然后将加密的数据从客户端计算设备传送到第一实体的秘密存储库用于存储。然后,将新的加密密钥从客户端计算设备传送到第二实体的密钥存储库用于存储。
如果确定不需要改变现有的加密密钥,则客户端计算设备通过利用现有的加密密钥对新的数据(例如,新的密码)进行加密而生成加密的数据。然后将加密的数据从客户端计算设备传送到第一实体的秘密存储库用于存储。
本文公开的技术和技艺还可以提供对加密的数据、加密密钥和其它数据的不同级别的访问。例如,身份(例如,与账户相关联的用户)具有读取与加密密钥相关联的使用数据的访问权限,但是系统可以被配置为不允许同一身份访问加密密钥本身。另外,群组许可可以被配置为允许多个身份访问或利用一个或多个加密密钥。这种配置允许基于一个或多个定义角色来对加密的数据、加密密钥和其它相关数据的粒度访问控制。
虽然本文描述的主题是在结合在计算机系统上执行操作系统和应用程序而执行的程序模块的一般背景中提出的,但是本领域技术人员将认识到可以结合其它类型的程序模块和/或其它类型的设备来执行其它实现方式。一般而言,程序模块包括例程、程序、部件、数据结构以及执行特定任务或实现特定抽象数据类型的其它类型的结构。此外,本领域技术人员可以理解的是,可以通过其它计算机系统配置实践本文描述的主题,所述配置包括手持设备、多处理器系统、基于微处理器的或可编程消费电子产品、迷你计算机、大型计算机等。
在以下详细的说明中,对附图进行了参考,附图形成说明的一部分,并且在附图中中通过图示示出了特定配置或范例。现在参考附图,其中,在若干图、提供加密的数据的增强的安全性的计算系统的各方面、计算机可读存储介质、以及计算机实现方法中,类似的数字表示类似的元件。如下文结合图6-8更详细描述的,存在多种应用和服务可以实现本文描述的功能和技术。
图1是示出用于提供加密的数据的增强的安全性的本文公开的一个图示系统的各方面的系统图。如图1所示,系统100可以包括客户端计算设备120、秘密存储库110、密钥存储库130以及网络125。客户端计算设备120例如可以是膝上型计算机、台式计算机、智能电话、平板计算设备或通过一个或多个局域网和/或广域网(例如,网络120)通信地连接到秘密存储库110和密钥存储库130的任何其它计算设备。应该理解的是,可以使用比图1多许多的网络连接。
客户端计算设备120可以包括本地存储器180,其包括一个或多个模块和数据结构,例如程序模块111用于通过使用一个或多个加密密钥132来将秘密数据113处理为加密的数据114。程序模块111还可以被配置为管理用户与客户端计算设备120之间的交互。程序模块111可以是如下形式:独立应用、生产力应用、操作系统部件、或具有与用户和/或存储在客户端计算设备120上的数据交互的特征的任何其它应用或软件模块。下文将解释并在图8中示出客户端计算设备120的额外模块和部件。
如下文中将解释的,程序模块111还可以被配置为处理秘密数据,其可以包括期望任何级别的安全性的任何数据。如下文更详细描述的,程序模块111的功能的非限制性范例可以包括生成一个或多个加密密钥132、管理加密密钥132或以其它方式处理与至少一个加密密钥132、秘密数据113或加密的数据114相关的数据。在一个或多个配置中,程序模块111可以包括被配置为执行本文描述的技术的软件。在一个说明性范例中,程序模块111可以包括使用DISTRIBUTED KEY MANAGER(“DKM”)软件。
秘密存储库110可以是如下形式:被配置为存储数据管理器117A、访问控制列表118A和至少一个秘密容器115的服务器计算机或多个服务器计算机。秘密容器115可以是如下形式:能够存储加密的数据114和与加密的数据114相关联的元数据116的数据库或其它存储模型的记录。
秘密存储库130可以是如下形式:被配置为存储数据管理器117B、访问控制列表118B和至少一个密钥容器131的服务器计算机或多个服务器计算机。出于说明的目的,秘密存储库110和密钥存储库130在本文可以共同且一般地称作“数据存储库”。密钥容器131可以是如下形式:能够存储一个或多个加密密钥132和与一个或多个加密密钥132相关联的元数据133的数据库或其它存储模型的记录。
在一些布置中,通过不同商业实体或实体的不同部门来独立管理和/或支配秘密存储库110和密钥存储库130。通过管理分离、人员配备分离、或管理或控制每个数据存储库的个体或实体不重叠的另一布置,对秘密存储库110的管理控制可以与对密钥存储库130的管理控制分离。因此,在这种配置和其它配置中,对秘密存储库110的管理访问控制可以是秘密存储库110独有的,并且秘密存储库110的管理访问控制不延伸或允许对密钥存储库130的访问控制。类似地,在这种配置和其它配置中,对密钥存储库130的管理访问控制可以是密钥存储库130独有的,并且密钥存储库130的管理访问控制不延伸或允许对秘密存储库110的访问控制。如可以理解的,分离每个数据库的管理控制帮助减轻安全性问题。
出于说明的目的,客户端计算设备120可以与组织、个体、公司、机器、系统、服务、设备或利用至少一个身份来获得对任何存储的数据的访问的任何其它实体相关联。例如,身份可以与用户账户、智能卡、证书或任何其它形式的认证相关联。与客户端计算设备120相关联的个体、设备、商业或实体可以订阅或至少利用由与秘密存储库110相关联的第一实体提供的服务。另外,与客户端计算设备120相关联的个体、设备、商业或实体可以订阅或至少利用由与密钥存储库130相关联的第二实体提供的服务。另外,可以理解的是,虽然系统100可以作为单个产品被售卖或销售,但是秘密存储库110、密钥存储库130和用于客户端计算设备120的模块和/或硬件可以由单独的实体或组织的不同部门进行管理或支配,以创建对秘密存储库110的管理访问控制与对密钥存储库130的管理访问控制之间的分离。
秘密存储库110的数据管理器117A和密钥存储库130的数据管理器117B(也共同地和/或一般地称为“数据管理器117”)可以被配置为相应地控制存储于秘密容器115和密钥容器131内的数据的传送和处理。出于说明的目的,“容器”(例如,秘密容器115或秘密容器131)在本文还可以被称作“记录”。如可以理解的,存储于秘密存储库110上的访问控制列表118A和存储于密钥存储库130上的访问控制列表118B可以由相应的数据管理器117A和117B使用和/或管理,以控制对存储数据的控制访问。出于说明的目的,存储于秘密存储库110上的访问控制列表118A和存储于密钥存储库130上的访问控制列表118B在本文还可以共同地和/或一般地称作“访问控制列表118”。
如在下文更详细描述的,可以利用定义与一个或多个身份相关联的角色和/或权限的条目来配置存储于一个或多个数据存储库上的访问控制列表118。角色和/或权限允许或拒绝执行操作来针对一个或多个相关联的身份访问和/或管理存储数据。在本文描述的许多其它图示范例中,本文描述的技术利用访问控制列表118和数据管理器117来管理对不同类型数据的访问控制的粒度级别。例如,系统100可以允许一个身份修改加密的数据114和相关联的元数据116,同时允许另一身份只能读取与加密的数据114相关联的元数据116。
在一个或多个配置中,数据管理器117可以包括被配置为执行本文公开的技术的软件。在一个图示范例中,每个数据存储库的数据管理器117可以包括数据库应用、文件系统、或具有可定制访问控制的任何其它存储系统。在一个或多个配置中,至少一个数据管理器117可以包括使用MICROSOFT的WINDOWS COMMUNICATION FOUNDATION(WCF)和/或ACTIVEDIRECTORY。可以针对每个数据存储库使用不同的或相同的配置。例如,秘密存储库110的数据管理器117A可以被配置有WCF软件,并且密钥存储库130的数据管理器117B可以被配置有ACTIVE DIRECTORY软件。替代地,秘密存储库110的数据管理器117A可以具有与密钥存储库130的数据管理器117B相同的配置。
如下文所描述的,本文公开的技术包括通过利用加密密钥132来对秘密数据113进行加密而在客户端计算设备120上生成加密的数据114。然后,从客户端计算设备120将加密的数据114传送到秘密存储库110。在一些配置中,可能生成标识符(例如,GUID)并用于识别加密的数据114。标识符可以存储在秘密容器115中的元数据116中。
还如下文更详细描述的,元数据116还可以存储其它数据。例如,如果加密的数据114包括针对用户账户的加密密码,则元数据116可以存储与加密密码相关联的登录ID。在另一范例中,如果加密的数据114包括证书,则元数据115可以包括对象或指纹。元数据116可以包括与加密的数据相关的任何其它数据。例如,元数据116可以包括识别和/或描述证书、卡密钥、其它设备或其它数据的信息。在另一范例中,元数据116还可以包括访问和/或控制用于审计的使用信息。
除了将加密的数据114传送给秘密存储库110之外,可以从客户端计算设备120将加密密钥132传送给密钥存储库130。加密密钥132可以存储于密钥容器131中。在一些配置中,标识符(例如,GUID)可以被传送到密钥存储库130并存储于元数据133中以使标识符与加密密钥132相关联。使用标识符是允许系统100将加密密钥132与加密的数据114相关联的一种机制。虽然该说明性范例将标识符示出为起源于秘密存储库110,但是可以理解的是,可以在密钥存储库130或任何其它设备处生成标识符。
可以理解的是,在客户端计算设备120上执行的技术可以由在客户端计算设备120上执行的程序模块111来执行。例如,程序模块111可以被配置为生成加密密钥132,将加密密钥113加密为加密的数据114,和/或执行在客户端计算设备120上执行的其它操作。还可以理解的是,利用程序模块111的实现方式仅提供一个范例,并且其它模块(未示出)可以帮助处理本文描述的技术。
在一些实现方式中,程序模块111可以配置未向用户和/或其它设备提供接口控制,例如,用户接口、应用程序接口、或可以用于控制秘密数据的处理和传送的任何其它机构。在一个说明性实现方式中,接口可以利用PowerShell命令。例如,程序模块111可以被配置为与密钥存储库130进行交互,以存储和检索加密密钥132和其它相关联的元数据133。程序模块111还可以被配置为于秘密存储库110交互,以存储和检索加密的数据114和相关联的元数据。接口和程序模块111可以用于生成命令或任何其它指令来管理存储于密钥存储库130和秘密存储库110上的数据。
在一些实现方式中,程序模块111和客户端计算设备120上的其它模块可以被配置为针对每个数据存储库110和130设置、修改和/或处理访问控制数据,以产生针对访问客户端计算设备的每个身份的期望级别的访问。在一些配置中,程序模块111或客户端计算设备120的任意类型的控制可以被配置为提供从客户端计算设备120传送到密钥存储库130或秘密存储库110的指令。指令可以修改存储访问控制权限的数据结构,例如,秘密存储库110的访问控制列表118A或秘密存储库130的访问控制列表118B。可以理解的是,提供该范例用于说明的目的而不解释为进行限制,因为在客户端计算设备120上操作的任意软件模块可以用于修改或处理定义访问控制数据的数据。
如在下文更详细解释的,在影响数据存储库110和130的协调操作中,客户端计算设备120还可以被配置为维持存储库之间的数据一致性。程序模块111还可以被配置为使用群组密钥加密来提供针对多个用户的访问,同时允许密钥或加密算法更新。
现在转向图2,示出并在下文描述了用于提供加密的数据的增强的安全性的例程200的各方面。应该理解的是,本文公开的方法的操作不必以任何特定次序呈现,并且用替代次序执行一些或全部操作是可能的并且被预期。以展示的次序呈现操作以易于描述和说明。可以添加、省略和/或同时执行操作,而不背离随附权利要求的范围。
还应理解的是,可以在任何时间结束图示的方法,并不需要以其整体执行。所述方法的一些或全部操作和/或实质上等价的操作可以通过执行包含于计算机存储介质上的计算机可读指令来执行,如下所定义。术语“计算机可读指令”以及其变型,当说明书和权利要求中使用时,在本文中广义地使用以包括例程、应用、应用模块、程序模块、程序、部件、数据结构、算法等。计算机可读指令可以实现于各种系统配置上,包括单处理器或多处理器系统、迷你计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的可编程消费电子产品、以及它们的组合等。
因此,应该理解的是,本文描述的逻辑操作可以实施为(1)计算机实现的动作的序列或在计算系统上运行的程序模块,和/或(2)互连和机器逻辑电路或在计算系统内的电路模块。实现方式是取决于计算系统的性能和其它要求的选择问题。因此,本文描述的逻辑操作可以被不同地称作状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以实现在软件、固件、专用数字逻辑、以及及它们的任何组合中。
如将在下文更详细描述地,结合图6-8,在本文将例程200的操作描述为至少部分地通过应用(例如,程序模块111)来实现。虽然以下说明涉及程序模块111,但是可以理解的是,例程200的操作还可以以其它方式实现。例如,例程200可以实现为操作系统的一部分或其它应用的一部分。另外,可以理解的是,系统100的实现方式可以包括比图1所示更多或更少的计算设备。例如,上述每个软件部件和模块可以实现于配置有相同特征的单个计算设备中。在其它场景中,它们中的一些可以包括使用服务器农场,可以使用任意数量的计算设备来实现本文描述的特征和技术。
参考图2,例程200开始于操作202,其中程序模块111使用加密密钥132将秘密数据113加密为加密的数据114。在操作202中,可以使用利用加密密钥的任意类型的加密算法来对秘密数据113进行加密。在一些配置中,可以由客户端计算设备120来生成加密密钥132。为了维护对秘密数据113和加密密钥132的控制,秘密数据113可以在客户端计算设备120处被加密。
一旦将秘密数据113处理为加密的数据114,例程200就进行到操作204,在操作204中,将加密的数据114传送到秘密存储库110。一旦由秘密存储库110接收到加密的数据114,则加密的数据114可以存储于记录、容器或任何其它适当的存储结构中。在一个说明性范例中,加密的数据114可以存储于秘密容器115中,秘密容器115还存储与加密的数据114相关联的元数据116。元数据116可以存储与加密的数据114相关联的标识符以及其它数据。例如,如上所述,如果加密的数据114包括密码,则元数据113可以存储与密码相关联的登录ID。提供该范例是出于说明的目的并不旨在被解释为限制。
接下来,在操作206处,秘密存储库110可以配置加密的数据114和其它相关数据的访问权限和其它属性。在一些配置中,可以将定义访问权限和其它属性的数据从客户端计算设备120传送到秘密存储库110。参考图1所描绘的图示范例,定义访问权限和其它属性的数据可以存储于访问控制列表118A中。
如下文更详细描述的,访问控制列表118A可以包括使得存储于秘密容器115内的数据的属性与个体身份和/或身份的群组相关联的条目。例如,条目可以定义秘密容器115和/或存储于秘密容器115的数据的所有权。另外,访问控制列表118A可以包括定义针对个体身份和/或身份的群组的角色的条目。
例如,角色可以指示特定身份是否可以修改存储于秘密容器115的数据。如以下将在对图4的描述中更详细解释的,在访问控制列表118A中定义的角色可以授权针对特定身份的特定许可,以开始要在存储于秘密容器115内的特定数据上执行的操作。如可以理解的,存储于秘密容器115内的数据的这种级别的粒度控制可以允许宽范围的功能,其可以使得用户或身份能够共享秘密数据,以及许多其它益处。
接下来,在操作208处,加密密钥132被传送到密钥存储库130。一旦,由密钥存储库130接收到加密密钥132,则加密密钥132可以被存储于记录、容器或任何其它适当的存储结构中。如图1所示,在一个图示范例中,加密密钥132可以存储于密钥容器131中,该容器还存储与加密密钥132相关联的元数据133。元数据133可以存储用于加密的数据114的标识符以及其它数据,例如描述用于生成加密的数据114的加密算法、密钥寿命、访问历史以及与加密的数据114有关的任何其它信息的数据。
接下来,在操作210处,密钥存储库130可以配置访问权限和加密密钥132的其它属性以及其它相关数据。在一些配置中,定义访问权限和其它属性的数据可以从客户端计算设备120传送到密钥存储库130。参考图1描绘的说明性范例,定义访问权限和其它属性的数据可以存储于访问控制列表118B中。
如下文更详细描述的,访问控制列表118B可以包括使得存储于密钥容器131内的数据的属性与个体身份和/或身份的群组相关联的条目。例如,条目可以定义密钥容器131和/或存储于密钥容器131的数据的所有权。另外,访问控制列表118B可以包括定义个体身份和/或身份的群组的角色的条目。例如,角色可以表示特定身份是否可以修改存储于密钥容器131中的数据。如下文在图5的描述中更详细解释的,在访问控制列表118B中定义的角色可以授权针对特定身份的特定许可,以开始将在存储于密钥容器131内的特定数据上执行的操作。如可以理解的,存储于密钥容器131内的数据的这种级别的粒度控制可以允许宽范围的功能,其可以使得能够共享密钥数据和其它相关数据,以及许多其它益处。在操作210之后,例程200结束于操作212。
如可以理解的,所述技术的各方面可以根据本文示出的范例而改变。例如,在一些配置中,存储加密的数据114的过程可以使得秘密存储库110的一个或多个模块(例如,数据管理器117A)生成标识符。在这种配置中,标识符可以从秘密存储库110传送到客户端计算设备120,并从客户端计算设备120将标识符传送到密钥存储库130。如可以理解的,在密钥存储库130处存储标识符可以允许系统100将存储于密钥存储库130处的加密密钥132与存储于秘密存储库110上的加密的数据114相关联。其它变型可以包括在密钥存储库130处或客户端计算设备120处生成标识符。
除了提供用于存储加密的数据114和相关联的加密密钥132的技术,本文的技术提供用于更新加密的数据114和相关联的加密密钥132的例程300。如可以理解的,用于更新加密的数据114的技术和技艺可以用于例如更新存储于秘密存储库110中的密码。另外,本文公开的技术和技艺可以更新与密码相关联的加密密钥。如在下文更详细描述的,这样的技术可以利用表示密钥寿命或过期日期的数据,以确定何时更新加密密钥或其它数据。
现在参考图3,示出并在下文中描述用于更新秘密数据114和相关联的加密密钥132的例程300。例程300可以利用任意系统,例如图1中示出的系统100,其配置为在第一数据存储库(例如,秘密存储库110)处存储加密的数据114,并且在第二数据存储库(例如,密钥存储库130)处存储相关联的加密密钥132。
例程300开始于操作302,其中,程序模块111接收更新后的数据。更新后的数据例如可以包括更新后的密码或存储于秘密存储库110上的其它数据。提供该范例用于说明目的而不解释为限制,更新后的数据可以包括要被加密并且被存储在秘密存储库110内的任何数据。
接下来,在操作304处,系统100确定是否需要新的加密密钥。在操作304处,可以使用一个或多个因素来确定是否需要新的加密密钥。在一些配置中,客户端计算设备120可以向密钥存储库130发送查询以确定现有加密密钥的记录是否指示现有加密密钥是否已经过期。如上所述,当加密密钥132存储于密钥存储库130中时,密钥存储库130还可以存储与加密密钥132相关联的其它数据。
例如,元数据133可以包括表示密钥寿命、过期日期或可以指示任何相关联的加密密钥是有效还是无效的其它条件的数据。在操作304的一个实现方式中,包括密钥寿命的元数据133可以表示是否需要新的密钥。在这种配置中,密钥存储库130可以基于相关联的元数据133来传送指示需要新的密钥或不需要新的密钥的数据。
在操作304处,如果确定不需要新的加密密钥,则例程300进行到操作306,其中客户端计算设备120获得现有的加密密钥。在一些配置中,可以从密钥存储库130检索现有密钥(例如,存储于密钥容器131内的加密密钥132)。可以利用授权访问存储于密钥存储库130内的数据的一个或多个身份来访问加密密钥132。
在应用图1的说明性范例时,其中加密密钥132被存储在密钥存储库130中,操作306可以包括通过使用根据数据管理器117B的配置进行配置的请求来检索加密密钥132。例如,如果数据管理器117B是数据库程序,则所述请求可以是伴随有用于认证的一个或多个证书的查询的形式。响应于所述请求,密钥存储库130可以将现有的密钥(例如,加密密钥132)传送到客户端计算设备120。
一旦获得现有加密密钥(其在当前范例中是加密密钥132),操作就从操作306进行到操作308,其中客户端计算设备120利用现有密钥(例如,加密密钥132)将更新后的数据加密为加密的数据114。如上所述,为了维护对更新后的数据和加密密钥132的控制,可以在客户端计算设备120处加密更新后的数据。
在操作304处,如果确定需要新的加密密钥,则例程300进行到操作305,其中,客户端计算设备120可以获得新的加密密钥。在一些配置中,客户端计算设备120可以获得来自另一来源的新的加密密钥,或者替代地,可以通过在客户端计算设备120上执行的一个或多个模块来生成新的加密密钥。操作305可以包括使用利用和/或生成加密密钥的任何加密算法。
在操作305之后,例程300在操作307继续,其中,客户端计算设备120利用新的加密密钥将更新后的数据加密为加密的数据114。如上所述,为了维持对更新后的数据和新的加密密钥的控制,可以在客户端计算设备120处对更新后的数据进行加密。
从操作307起,例程300进行到操作309,其中,客户端计算设备120将新的加密密钥传送到密钥存储库130。一旦密钥存储库130接收到新的加密密钥,新的加密密钥就可以存储于记录、容器或任何其它适当的存储结构中。类似于例程200的操作208,新的加密密钥可以存储于密钥容器133中,密钥容器133还存储与新的加密密钥相关联的元数据133。元数据133还可以在操作309中更新。例如,如果新的加密算法被用于加密更新后的数据,则描述新的加密算法的信息可以被存储于元数据133中。
在操作308之后,或在操作309之后,例程300进行到操作310,在操作310处,系统100传送在操作308中生成的加密的数据114,包括更新后的数据,被传送到秘密存储库110。类似于例程200的操作204,操作310可以将加密的数据114传送到秘密存储库110,用于存储于记录、容器或任何其它适当的存储结构中。
参考图1的说明性范例,操作310可以利用加密的数据114来更新秘密容器115。操作310还可以包括传送可以更新元数据116的数据。例如,如果更新后的数据包括新的登录ID,则元数据116可以被更新为包括新的登录ID。另外,在操作310处和/或操作309处,传送新的加密密钥或加密的数据可以包括更新和/或修改访问控制列表118中的任一个或两者。提供这些范例是出于说明的目的而不旨在被解释为限制。在操作310之后,例程300在操作314处结束。
如上所述,在秘密存储库110和密钥存储库130处配置的访问控制设置可以为个体身份或身份的群组授权特定许可,以开始执行对各种级别的存储数据的各种操作的操作。参考图4和图5,以下说明性范例示出了各种级别的控制,其可以使得用户或身份能够审计、共享或以其他方式处理秘密数据和其它相关数据。
图4图示了显示针对秘密容器115定义访问权限的访问控制列表118A的框图。如上所述,存储于秘密存储库110上的访问控制列表118A可以被配置有定义与一个或多个身份相关联的角色和/或权限的条目。一般而言,角色和/或权限允许或拒绝身份或一组身份来执行访问和/或管理存储的数据的操作。以下范例示出了定义的角色和/或权限如何提供低级别粒度的控制。如可以理解的,在以下更加详细地描述的角色可以应用于秘密容器115和加密的数据114的个体实例。
如图4所示,访问控制列表118A示出了多个条目410A-410E,并且每个条目可以与一个或多个身份以及一个或多个角色相关联。如上所总结,身份可以与用户账户、智能卡、证书或任何其它形式的认证相关联。当利用与特定身份相关联的有效形式的认证来正确访问秘密存储库110时,可以执行在角色中定义的一个或多个相关联的操作。
出于说明的目的,表1列出了若干示例性角色,其可以用于访问和处理存储于秘密存储库110上的数据。
角色1:允许计算机使用相关联的身份来对存储于秘密容器115中的所有数据进行读取和写入操作;并允许计算机使用相关联的身份来授权和修改针对其它身份和身份的群组的访问权限。
角色2:允许计算机使用相关联的身份来读取存储于秘密容器115中的所有数据。
角色3:允许计算机使用相关联的身份来修改存储于秘密容器115中的元数据。
角色4:允许计算机使用相关联的身份来修改加密的数据114。
角色5:允许计算机使用相关联的身份来读取其它数据406。
表1
在表1的示例性数据中,使用身份1访问秘密存储库110的用户、机器或实体可以读取和修改元数据116(本文也称作“秘密存储库元数据116”)和加密的数据114。另外,使用身份1访问秘密存储库110的用户、机器或实体可以对其它身份授权访问权限。例如,身份1可以允许客户端计算设备120针对与任意新的或现有身份相关联的条目410A-410E执行创建新身份和/或添加或删除角色的操作。
身份2和身份3,经由与角色2的关联,可以允许客户端计算设备120执行访问存储于秘密容器115上的数据的操作。因此,如果实体通过这些身份访问秘密存储库110,则可以检索元数据116和加密的数据114;并且如果需要的话,将其返回给计算机,例如客户端计算设备120。另外,身份2或身份3经由与角色2的关联可以允许客户端计算机执行向存储于秘密存储库110上的元数据116进行写入的操作。因此,例如,从客户端计算设备120发布的命令可以修改项目,例如,GUID 404、用户ID 405或其它数据406。
还如图4所示,身份3还与角色4相关联,这允许客户端计算设备120执行可以修改加密的数据114的操作。因此,条目410D可以补充在条目410C中定义的访问权限。作为条目410C和410D两者的结果,身份3可以对存储在秘密容器115中的元数据进行写入,以及修改或删除加密的数据114。作为条目410C和410D的结果,身份3是角色2、3和4的成员,其允许客户端计算机读取存储在秘密容器115中的所有数据,修改存储在秘密容器115中的元数据,以及修改加密的数据114。作为条目410E的结果,身份4是角色5的成员,这允许客户端计算机读取其它数据406。另外,每个身份的访问级别可以特定于特定类型的数据,例如,加密的数据114、其它数据406或元数据116。这种范例示出本文公开的技术提供了针对存储于系统100中的数据的访问控制的粒度级别。
身份4经由与角色5的关联可以允许客户端计算机执行读取存储于秘密存储库110上的其它数据406的操作。因此,通过身份4访问秘密存储库110的实体允许操作受限于访问其他数据406。这种受限许可在将访问权限授权给审计者或应该受限于其它数据406的用户时是有用的,这包括登录历史或其它类似数据。
可以理解的是,本文公开的技术可以使用针对一个或多个身份定义访问控制参数的任意数据结构。还可以理解的是,本文公开的技术可以应用一个或多个技术来组合访问控制列表、访问控制条目和/或定义访问权限的其它数据结构。这样的技术落入本公开的范围内。
如上所述,访问控制列表118A可以被配置为定义群组许可,其允许多个身份访问或利用一个或多个加密密钥。这种配置允许基于一个或多个定义的角色对加密的数据和其它数据进行群组访问控制。图4中示出了一种实现方式的说明性范例。在该范例中,群组1包括身份2和身份3。在这种实现方式中,例如使用身份1来访问秘密存储库110的管理员可以修改与群组1相关联的角色。当群组1的角色被修改时,身份2和身份3继承分配给群组1的角色,如图4所示。如可以理解的,用于修改、删除、添加或处理条目或角色的操作可以利用继承来更新针对身份的群组的访问数据。
如可以理解的,在密钥存储库130处配置的访问控制设置可以与在秘密存储库110处配置的访问控制设置相同。然而,在多个场景中,每个数据存储库的访问控制设置可以是不同的。图5中示出了显示针对密钥存储库130的各种访问控制设置的一个范例。
图5是示出针对密钥容器131的定义访问权限的访问控制列表118B的若干示例性部件的框图。类似于先前的范例,存储于秘密存储库110上的访问控制列表118B可以配置有定义与一个或多个身份相关联的角色和/或权限的条目。角色和/或权限允许或拒绝身份或身份的群组执行访问和/或管理存储数据的操作。图5中还示出,条目410F-410I定义针对身份1、身份2和身份3的角色。角色(例如,角色1、角色2、角色3和角色4)以上述方式与各种身份相关联。类似于上述范例,身份可以与用户账户、智能卡、证书或任何其它形式的认证相关联。当利用与特定身份相关联的有效形式的认证正确访问密钥存储库130时,可以执行在角色中定义的一个或多个相关联的操作。
出于说明的目的,表2列出了多个示例性角色,其可以用于访问和处理存储于密钥存储库130上的数据。
角色1:允许计算机使用相关联的身份对存储于密钥容器131中的所有数据进行读取和写入操作;并允许计算机使用相关联的身份授权和修改针对其它身份和身份的群组对存储于密钥容器131中的数据的访问权限。
角色2:允许计算机使用相关联的身份读取存储于密钥容器131中的所有数据。
角色3:允许计算机使用相关联的身份修改存储于密钥容器131中的元数据133。
角色4:允许计算机使用相关联的身份修改加密密钥132。
表格2
在表格2的示例性数据中,使用身份1访问密钥存储库130的用户、机器或实体可以读取和修改元数据133(本文也称作“密钥存储库元数据133”)和加密的数据132。另外,使用身份1访问密钥存储库130的用户、机器或实体可以对其它身份授权和修改访问权限。例如,身份1可以允许客户端计算机针对与任意身份相关联的条目410F-410I执行创建新身份和/或添加或删除角色的操作。
身份2和身份3,经由与角色2的关联,可以允许客户端计算机执行访问存储于密钥容器131上的数据的操作。因此,如果实体通过这些身份访问密钥存储库130,则可以检索元数据133和加密的数据132;并且如果需要的话,将其返回给计算机,例如客户端计算设备120。另外,身份2或身份3经由与角色2的关联可以允许客户端计算机执行向存储于密钥存储库130上的元数据133进行写入的操作。因此,例如,从客户端计算设备120发布的命令可以修改项目,例如,描述加密算法505的数据、密钥寿命506、GUID 404或其它数据507。类似于上述范例,其它数据507可以包括登录历史信息或可以在审计中使用的其它信息。
还如图5所示,身份3还与角色4相关联,这允许客户端计算设备120修改加密密钥132。因此,条目410I可以补充在条目410H中定义的访问权限。作为条目410I和410H两者的结果,经由身份3进行访问可以允许计算设备120对存储于密钥容器131上的所有数据进行读取,修改存储于密钥容器131中的元数据以及修改加密密钥132。
如可以理解的,在秘密存储库110和密钥存储库130处配置的访问控制设置的各方面可以是相同的,或者可以取决于期望的目标而存在不同。例如,118A中的角色1可能不同于118B中的角色1。在另一范例中,针对身份1的角色在每个数据存储库(例如,秘密存储库110和密钥存储库130)中可能是类似的,因为身份1可以允许客户端计算机访问和修改存储于两个数据存储库上的数据。另外,身份2和身份3能够访问特定记录的数据,并向两个数据存储库的元数据(116和133)进行写入。在两个数据存储库中,在当前范例中,身份3还可以允许客户端计算机修改存储于秘密存储库110中的加密的数据114和存储于密钥存储库130上的加密密钥132。
然而,身份4仅被授权对秘密存储库110的特定数据(例如,其它数据406)的读取访问权限。该范例示出了在本文中描述的技术的粒度性质,因为系统100可以是关于与个体身份或身份的群组相关联的数据类型和访问级别非常特定的。
还如图5所示,密钥容器131的一些配置可以包括多个加密密钥132A-132N。取决于期望的结果,密钥容器可以存储和控制对一个或多个加密密钥的访问。例如,在图5中示出的针对加密密钥132A-132N的访问控制可以由访问控制列表118B中的角色定义。在许多其它范例中,角色可以允许对在密钥容器131中的所有的加密密钥132A-132N进行只读访问。如可以理解的,基于每记录和每密钥的粒度访问控制允许涉及共享和管理安全数据的宽范围的场景。在其它范例中,秘密存储110可以包含多个秘密容器115,并且秘密存储库110可以具有针对每个秘密容器115的对应访问控制列表118A。在具有多个秘密容器115的配置中,可以理解的是,加密的数据114和元数据116的不同集合可以具有不同的访问控制许可。另外,在一些配置中,密钥存储库130可以包含多个密钥容器131,并且密钥存储库130还可以具有针对每个密钥容器131的对应访问控制列表118B。在具有多个密钥容器131的配置中,可以理解的是,加密密钥132和元数据133的不同集合可以具有不同的访问控制许可。如上所述,即使在这些其它配置中,存储在秘密存储库110上的访问控制列表118A可能不具有与存储于密钥存储库130上的访问控制列表118B相同的访问许可和/或角色。
如可以理解的,系统100可以适合受益于特定类型的秘密数据的粒度控制的多个场景。例如,管理员可以许可一个身份(例如,用户)审计来自一个数据存储库的元数据,并且同时许可所述身份修改在另一数据存储库处的数据。具有对不同类型的数据(即,元数据对加密密钥或加密的数据)的不同级别的访问,适合在商业环境中可能需要的许多场景。另外,系统100通过分离不同类型的数据,例如分离加密密钥与加密的数据,来提供增加的安全性级别,由此保护实体或用户免受给予一个管理主体完全控制器秘密数据的弱点。
图6示出了针对计算机(例如图1的客户端计算设备120)的示例性计算机架构600的额外细节,所述计算机能够执行上述程序部件以为加密的数据提供增强的安全性。因此,图6中图示的计算机架构600图示了针对服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板计算机和/或膝上型计算机的架构。计算机架构600可以用于执行本文呈现的软件部件的任何方面。
图6示出的计算机架构600包括中央处理单元602(CPU)、系统存储器604(包括随机存取存储器606(RAM)和只读存储器(ROM)606)、以及将存储器604耦合到CPU 602上的系统总线610。包含基础例程的基本输入/输出系统存储于ROM 606中,所述基础例程例如在启动期间帮助在计算机架构600内的元件之间转移信息。计算机架构600还包括大容量存储设备612,用于存储操作系统607、以及一个或多个应用程序(包括但不限于程序模块111)。图示的大容量存储设备612还可以存储文件622,文件622可以包括加密密钥、加密的数据、或执行本文描述的技术所需的其它数据。
大容量设备612通过连接到总线610的大容量存储控制器(未示出)而连接到CPU602。大容量存储设备612及其关联的计算机可读介质提供对计算机架构600的非易失性存储。虽然本文包含的计算机可读介质的描述指的是大容量存储设备,例如固态驱动、硬盘或CD-ROM驱动器,但是本领域技术人员可以理解的是,计算机可读介质可以是计算机架构600可以访问的任何可用的计算机存储介质或通信介质。
传送介质包括计算机可读指令、数据结构、程序模块、或在调制的数据信号(例如,载波或其它传输机制)中的其它数据,并包括任何输送介质。术语“调制的数据信号”表示具有以在信号中对信息信息编码的方式而改变或设置的一个或多个特性的信号。通过范例而非限制,传送介质包括有线的介质,例如有线网络或直连线连接;以及无线介质,例如声、RF、红外和其它无线介质。对上述内容的任意组合也应该包含于计算机可读介质的范围内。
通过范例而非限制,计算机存储介质可以包括易失性和非易失性、可移除和不可移除的介质,其实现于用于存储信息的任何方法或技术,例如计算机可读指令、数据结构、程序模块或其它数据。例如,计算机介质包括但不限于RAM、ROM、EPROM、EEPROM、闪存或其它固态存储器技术、CD-ROM、数字通用盘(“DVD”)、HD-DVD、BLU-RAY、或其它光存储、磁带盒、磁带、磁盘存储器件或其它磁存储设备、或能够用于存储期望信息并可以由计算机架构600访问的任何其它介质。出于权利要求的目的,短语“计算机存储介质”、“计算机可读存储介质”及其变型不包括波、信号和/或其它瞬态和/或无形传送介质本身。
根据各种配置,计算机架构600可以在网络环境中利用通过网络125和/或另一网络(未示出)到远程计算机的逻辑连接来进行操作。计算机架构600可以通过连接到总线610上的网络接口单元614而连接到网络125。应该理解的是,网络接口单元614还可以用于连接到其它类型的网络和远程计算机系统上。计算机架构600还可以包括输入/输出控制器616,用于接收和处理来自多个其它设备(包括键盘、鼠标或电子铁笔(在图6中未示出))的输入。类似地,输入/输出控制器616可以向显示屏、打印机、或其它类型的输出设备(在图6中未示出)提供输出。
应该理解的是,本文描述的软件部件在加载到CPU 602并执行时,可以将CPU 602和整体计算机架构600从通用计算系统转换为定制用于促进本文呈现的功能的专用计算系统。CPU 602可以由任意数量的晶体管或其它分立电路元件构造,其可以单独地或统一地假定任意数量的状态。更具体地,CPU 602可以响应于包含于本文公开的软件模块内的可执行指令而作为有限状态机操作。计算机可执行指令可以通过指定CPU 602如何在状态之间转变而转换CPU 602,由此转换构成CPU 602的晶体管或其它分立硬件元件。
对本文呈现的软件模块进行编码还可以转换本文呈现的计算机可读介质的物理结构。在本说明的不同实现方式中,物理结构的具体转换可以依赖于各种因素。这种因素的范例可以包括但不限于用于实现计算机可读介质的技术,不管计算机可读介质的特征是一次性还是可再用的存储等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文公开的软件可以通过转换半导体存储器的物理状态而编码在计算机可读介质上。例如,软件可以转换晶体管、电容器或构成半导体存储器的其它分立电路元件的状态。软件还可以转换这种部件的物理状态,以便在其上存储数据。
作为另一范例,可以利用磁或光学技术来实现本文公开的计算机可读介质。在这种实现方式中,本文呈现的软件可以在将软件编码于其中时转换磁或光学介质的物理状态。这些转换可以包括改变给定磁介质内的特定位置的磁特性。这些转换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光特性。物理介质的其它转换也是可以的,而不背离本说明书的范围和精神,提供前述范例仅是为了便于本讨论。
根据上述内容,应该理解的是,在计算机架构600中发生许多类型的物理转换,以便存储和执行本文呈现的软件部件。还应该理解的是,计算机架构600可以包括其它类型的计算设备,包括手持计算机、嵌入式计算机系统、个人数字助理、以及本领域技术人员已知的其它类型的计算设备。还预期,计算机架构600可能不包括图6所示的所有部件,可以包括在图6中未明确示出的其它部件,或者可以利用完全不同于图6所示的架构。
图7描绘了能够执行本文描述的软件部件的分布式计算环境700,用于提供加密的数据的增强的安全性,以及其它方面。因此,图7中示出的分布式计算环境700可以用于执行本文呈现的软件部件的任意方面。例如,分布式计算环境700可以用于执行本文描述的程序模块111和/或其它软件部件的各方面。
根据各种实现方式,分布式计算环境700包括计算环境702,其在网络125上、与网络125通信、或作为网络125的一部分操作。网络125可以是或者可以包括网络125,结合图6在上文中描述。网络125还可以包括各种访问网络。一个或多个客户端设备706A-706N(下文共同地和/或一般地称作“客户端706”)可以经由网络125和/或其它连接(图7中未示出)与计算环境702进行通信。在一个图示配置中,客户端706包括计算设备706A,例如,膝上型计算机、台式计算机、或其它计算设备;板状或平板计算设备(平板计算设备)706B;移动计算设备706C,例如,移动电话、智能电话、或其它移动计算设备;服务器计算机706D;和/或其它设备706N。应该理解的是,任何数量的客户端706可以与计算环境702通信。结合图6和8示出并描述了用于客户端706的两个示例性计算架构。应该理解的是,在本文图示和描述的客户端706和计算架构是说明性的,并且不应该以任何方式被解释为限制性的。
在图示的配置中,计算环境702包括应用服务器708、数据存储设备710、以及一个或多个网络接口712。根据各种实现方式,可以通过作为网络125的一部分或与网络125通信而执行的一个或多个服务器计算机来提供应用服务器708的功能。应用服务器708可以托管各种服务、虚拟机、入口和/或其它资源。在图示的配置中,应用服务器708可以托管一个或多个虚拟机用于执行应用或其它功能。根据各种实现方式,虚拟机可以执行一个或多个应用和/或软件模块用于提供针对加密的数据的增强的安全性。应该理解的是,该配置是说明性的并不应该被解释为以任何方式进行限制。应用服务器708还托管或提供对一个或多个入口、链接页面、网站和/或其它信息(“网络入口”)716的访问。网络入口716可以用于与一个或多个客户端计算机通信。
如图7所示,应用服务器708还可以托管其它服务、应用、入口和/或其它资源(其它资源)724。其它资源724可以部署面向服务的架构或任何其它客户端-服务器管理软件。因此,可以理解的是,计算环境702可以提供本文公开的概念和技术在本文中提供为与各种邮箱、消息传送、社交网络和/或其它服务或资源的集成。
如上所述,计算环境702可以包括数据存储设备710。根据各种实现方式,可以通过在网络125上操作或与网络125通信的一个或多个数据块提供数据存储设备710的功能。还可以通过被配置为托管用于计算环境702的数据的一个或多个服务器计算机来提供数据存储设备710的功能。数据存储设备710可以包括、托管、或提供一个或多个真实或虚拟的容器726A-726N(后文共同地和/或一般地称作“容器726”)。容器726可以用于形成密钥容器131或秘密容器115,被配置为托管应用服务器708使用或创建的数据和/或其它数据。虽然在图7中未示出,但是容器726还可以托管或存储由数据结构和/或模块(例如,程序模块111)执行的算法。容器726的各方面可以与数据库程序、文件系统和/或存储具有安全访问特征的数据的任意程序相关联。还可以利用产品或服务(例如,ACTIVE DIRECTORY、DKM、ONEDRIVE、DROPBOX或GOOGLEDRVE)来实现容器726的各方面。
计算环境702可以与网络接口712通信或者通过网络接口712访问。网络接口712可以包括各种类型的网络硬件和软件,用于提供在两个或更多计算设备之间的通信,所述计算设备包括但不限于客户端706和应用服务器708。应该理解的是,网络接口712还可以用于连接到其它类型的网络和/或计算机系统。
应该理解的是,本文描述的分布式计算环境700可以提供本文描述的软件单元的任意方面,其中任意数量的虚拟计算资源和/或其它分布式计算功能可以被配置为执行本文中公开的软件部件的任意方面。根据本文公开的概念和技术的各种实现方式,分布式计算环境700将本文描述的软件功能作为服务提供给客户端706。应该理解的是,客户端706可以包括真实或虚拟机,包括但不限于服务器计算机、网络服务器、个人计算机、移动计算设备、智能电话和/或其它设备。这样,本文公开的概念和技术的各种方面使得被配置为访问分布式计算环境700的任意设备能够利用本文描述的功能,以提供加密的数据的增强的安全性,以及其它方面。在一个特定范例中,如上所述,本文中描述的技术可以至少部分地由可以结合图7的应用服务器708工作的网络浏览器应用实现。
现在转向图8,一种说明性针对计算设备的计算设备架构800,所述计算设备能够执行本文描述的各种软件部件用于提供加密的数据的增强的安全性。计算设备架构800可以应用于方便部分地由于形状因子、无线连接和/或电池供电操作的移动计算的计算设备。在一些配置中,计算设备包括但不限于移动电话、平板设备、板状设备、便携式视频游戏设备等。计算设备架构800可应用于图7所示的任意客户端706中。此外,计算设备架构800的各方面可以应用于传统的台式计算机、便携式计算机(例如,膝上型计算机、笔记本、超级便携设备和上网本)、服务器计算机、以及其它计算机系统,例如,在本文中结合图6描述的。例如,在本文中以下公开的单触摸和多触摸方面可以应用于台式计算机,其使用触摸屏或一些其它触摸使能的设备,例如,触摸使能的轨迹垫或触摸支持的鼠标。
在图8中示出的计算设备架构800包括处理器802、存储器部件804、网络连接部件806、传感器部件808、输入/输出部件810、以及功率部件812。在图示的配置中,处理器802与存储器部件804、网络连接部件806、传感器部件808、输入/输出(I/O)部件810、以及功率部件812通信。虽然在图8中所示的个体部件之间没有示出连接,但是所述部件可以交互以实现设备功能。在一些配置中,所述部件被布置以便经由一个或多个总线(未示出)进行通信。
处理器802包括中央处理单元(CPU),中央处理单元配置为处理数据,执行一个或多个应用程序的计算机可执行指令,并与计算设备架构800的其它部件传送以便执行本文描述的各种功能。处理器802可以用于执行本文中提出的软件部件的各方面,尤其是至少部分地使用触摸使能的输入的部件。
在一些配置中,处理器802包括图形处理单元(GPU),图形处理单元配置为加速由CPU执行的操作,包括但不限于通过执行通用科学和/或工程计算应用以及图形密集计算应用(例如,高分辨率视频(例如,720P、1080P以及更高的分辨率)、视频游戏、三维(3D)建模应用等)而执行的操作。在一些配置中,处理器802被配置为与分立的GPU(未示出)通信。在任意情况下,可以根据协处理CPU/GPU计算模型来配置CPU和GPU,其中在CPU和计算密集部分上执行的应用的顺序部分通过GPU而被加速。
在一些配置中,处理器802以及本文中以下描述的一个或多个其它部件是或包含于片上系统(SoC)。例如,SoC可以包括处理器802、GPU、一个或多个网络连接部件806、以及一个或多个传感器部件808。在一些配置中,部分地利用封装堆叠(PoP)集成电路封装技术来制造处理器802。处理器802可以是单核或多核处理器。
可以根据英国剑桥的ARM HOLDINGS许可可用的ARM架构来创建处理器802。替代地,可以根据例如可从加利弗尼亚州山景城的INTEL CORPORATION获得的x86架构等来创建处理器802。在一些配置中,处理器802是可从加利弗尼亚州圣地亚哥的QUALCOMM获得的SNAPDRAGON SoC,可从加利弗尼亚州圣克拉拉的NVIDIA公司获得的TEGRA SoC,从韩国首尔的SAMSUNG获得的HUMMINGBIRD SoC,从达拉斯州德克萨斯的TEXAS INSTRUMENTS获得的开放式多媒体应用平台(OMAP),上述SoC或专有SoC的任一个的定制版本。
存储器部件804包括随机存取存储器(RAM)814、只读存储器(ROM)816、集成存储存储器(集成存储设备)818、以及可移除存储存储器(可移除存储设备)820。在一些配置中,RAM 814或其一部分、ROM 816或其一部分、和/或RAM 814和ROM 816的某种组合被集成到处理器802中。在一些配置中,ROM 816被配置为存储固件、操作系统或其一部分(例如,操作系统内核)、和/或启动加载器以将操作系统内核从集成存储设备818和/或可移除存储设备820加载。
集成存储设备818可以包括固态存储器、硬盘、或固态存储器与硬盘的组合。集成存储设备818可以焊接或以其它方式连接到逻辑板,在该逻辑板上连接了处理器802和本文描述的其它部件。这样,集成存储设备818被集成到计算设备中。集成存储设备818被配置为存储操作系统或其一部分、应用程序、数据以及本文中描述的其它软件部件。
可移除存储设备820可以包括固态存储器、硬盘、或固态存储器和硬盘的组合。在一些配置中,提供可移除存储设备820来替代集成存储设备818。在其它配置中,可移除存储设备820被提供为额外的任选的存储设备。在一些配置中,可移除存储设备820逻辑地与集成存储设备818组合,使得总体可用的存储设备可用作总体组合的存储容量。在一些配置中,向用户显示集成存储设备818和可移除存储设备820的总体组合功能,而不是集成存储设备818和可移除存储设备820的分离的存储功能。
可移除存储设备820被配置为插入到可移除存储存储器槽(未示出)中或其它机构中,通过所述槽或其它机构可以插入并紧固可移除存储设备820以便于可移除存储设备820与计算设备的其它部件(例如,处理器802)通信的连接。可移除存储设备820可以实施于各种存储器卡格式中,包括但不限于PC卡、压缩闪速卡、记忆棒、安全数字(SD)、miniSD、microSD、通用集成电路卡(UICC)(例如,用户身份模块(SIM)或通用SIM(USIM))、专有格式等。
可以理解的是,一个或多个存储器部件804可以存储操作系统。根据各种配置,操作系统包括但不限于,来自SYMBIAN LIMITED的SYMBIAN OS,来自华盛顿州雷德蒙德的Microsoft Corporation的Windows Mobile OS,来自Microsoft Corporation的WINDOWSPHONE OS,来自Microsoft Corporation的WINDOWS,来自加利弗尼亚州帕利阿尔托的Hewlett-Packard Company的PALM WEBOS,来自加拿大安大略省沃特卢的Research InMotion Limited的BLACKBERRY OS,来自加利弗尼亚州库比蒂诺的Apple Inc.的IOS,以及来自加利弗尼亚州山景城的Google Inc.的ANDROID OS。预期其他操作系统。
网络连接部件806包括无线广域网部件(WWAN部件)822、无线局域网部件(WLAN部件)824、以及无线个域网部件(WPAN部件)826。网络连接部件806促进去往和来自网络125或另一网络(例如,WWAN、WLAN或WPAN)的通信。虽然只示出了网络125,但是网络连接部件806可以促进与多个网络(包括图7的网络125)的同时通信。例如,网络连接部件806可以促进经由WWAN、WLAN或WPAN中的一个或多个与多个网络的同时通信。
网络125可以是或包括WWAN,例如利用一个或多个移动电信技术的移动电信网络,以经由WWAN部件822利用计算设备架构800向计算设备提供语音和/或数据服务。移动电信技术可以包括但不限于,全球移动通信系统(GSM)、码分多址(CDMS)ONE、CDMA2000、通用移动电信系统(UMTS)、长期演进(LTE)、以及微波接入全球互通(WiMAX)。此外,网络125可以利用各种信道访问方法(其可以由前述标准使用或不由其使用),包括但不限于,时分多址(TDMA)、频分多址(FDMA)、CDMA、宽带CDMA(W-CDMA)、正交频分复用(OFDM)、空分多址(SDMA)等。可以利用以下提供数据通信:通用分组无线服务(GPRS)、全球演进的增强型数据速率(EDGE)、高速分组访问(HSPA)协议组,包括高速下行链路分组访问(HSDPA)、增强型上行链路(EUL)或其它称作高速上行链路分组访问(HSUPA)、演进型HSPA(HSPA+)、LTE、以及各种其它当前和将来的无线数据访问标准。网络125可以被配置为提供与上述技术的任意组合的语音和/或数据通信。网络125可以被配置为或适于根据后代技术提供语音和/或数据通信。
在一些配置中,WWAN部件822被配置为提供到网络125的双模式或多模式连接。例如,WWAN部件822可以被配置为提供到网络125的连接性,其中,网络125经由GSM和UMTS技术或经由技术的一些其它组合来提供服务。替代地,多个WWAN部件822可以用于执行这种功能,和/或提供额外的功能来支持其它非兼容技术(即,不能由单个WWAN部件支持)。WWAN部件822可以促进到多个网络的类似连接(例如,UMTS网络和LTE网络)。
网络125可以是根据一个或多个电气与电子工程师协会(IEEE)802.11标准操作的WLAN,所述标准例如是IEEE 802.11a、802.11b、802.11g、802.11n和/或未来的802.11标准(在本文统称为WI-FI)。还预期草案802.11标准。在一些配置中,利用一个或多个无线WI-FI接入点来实现WLAN。在一些配置中,一个或多个无线W-FI接入点是另一计算设备,其连接到用作WI-FI热点的WWAN。WLAN部件824被配置为经由WI-FI接入点连接到网络125。可以经由各种加密技术来保护这种连接,所述技术包括但不限于,WI-FI保护访问(WPA)、WPA2、有线等效保密(WEP)等。
网络125可以是根据红外数据协会(IrDA)、蓝牙、无线通用串行总线(USB)、Z波、ZIGBEE或一些其它短程无线技术操作的WPAN。在一些配置中,WPAN部件826被配置为促进经由WPAN与其它设备(例如,外围设备、计算机、或其它计算设备)的通信。
传感器部件808包括磁力计828、环境光传感器830、接近度传感器832、加速度计834、陀螺仪836、以及全球定位系统传感器(GPS传感器)838。预期其他传感器(例如但不限于,温度传感器或冲击检测传感器)也可以被并入到计算设备架构800中。
磁力计828被配置为测量磁场的强度和方向。在一些配置中,磁力计828向存储于存储器部件804中的一个内的指南针应用程序提供测量结果,以便在包括基本方向北、南、东和西的参照系内向用户提供准确的方向。可以向包括指南针部件的导航应用程序提供类似的测量结果。预期由磁力计828获得的测量结果的其它用途。
环境光传感器830被配置为测量环境光。在一些配置中,环境光传感器830为存储于存储器部件804中的一个内的应用程序提供测量结果,以便自动调节显示器(下文描述)的亮度来补偿低光和高光环境。预期环境光传感器830获得的测量结果的其它用途。
接近度传感器83被2配置为在不直接接触的情况下检测在计算设备的附近存在对象或事物。在一些配置中,接近度传感器832检测用户的身体(例如,用户的脸部)的存在,并将该信息提供给存储于存储器部件804中的一个内的应用程序,所述应用程序利用接近度信息启用或禁用计算设备的一些功能。例如,电话应用程序可以响应于接收到接近度信息而自动禁用触摸屏(下文描述),从而用户的脸部不会在呼叫期间无意地结束呼叫或启用/禁用电话应用程序内的其它功能。还预期由接近度传感器828检测到的接近度的其它用途。
加速度计834被配置为测量正确的加速度。在一些配置中,应用程序将来自加速度计834的输出用作输入机制来控制应用程序的一些功能。例如,应用程序可以是视频游戏,其中响应于经由加速度计834接收到的输入而移动或操纵角色、其一部分或对象。在一些配置中,将加速度计834的输出提供给应用程序,以在横向和竖向模式之间切换,计算协调加速,或检测下降。预期加速度计834的其它用途。
陀螺仪836被配置为测量和维持方向。在一些配置中,应用程序将来自陀螺仪836的输出用作输入机制来控制应用程序的一些功能。例如,陀螺仪836可以用于准确地识别在视频游戏应用或一些其它应用中的3D环境中的移动。在一些配置中,应用程序利用来自陀螺仪836和加速度计834的输出来增强对应用程序的一些功能的控制。预期陀螺仪836的其它用途。
GPS传感器838被配置为接收来自GPS卫星的信号用于在计算位置中使用。由GPS传感器838计算出的位置可以由要求或受益于位置信息的应用程序使用。例如,可以通过导航应用程序使用GPS传感器838计算出的位置,来提供从位置到目的地的方向或从目的地到位置的方向。此外,GPS传感器838可以用于将位置信息提供到外部的基于位置的服务,例如,E911服务。GPS传感器838可以获得经由WI-FI、WIMAX和/或蜂窝三角测量技术利用一个或多个网络连接部件806生成的位置信息,以辅助GPS传感器838获得位置修正。GPS传感器838还可以用于辅助GPS(A-GPS)系统。
I/O部件810包括显示器840、触摸屏842、数据I/O接口部件(数据I/O)844、音频I/O接口部件(音频I/O)846、视频I/O接口部件(视频I/O)848、以及相机850。在一些配置中,显示器840和触摸屏842被组合。在一些配置中,数据I/O部件844、音频I/O部件846以及视频I/O部件848中的两个或更多个被组合。I/O部件810可以包括分立处理器,其被配置为支持下文描述的各种接口,或者可以包括嵌入到处理器802中的处理功能。
显示器840是输出设备,其配置为以视觉形式呈现信息。特别地,显示器840可以呈现图形用户界面(GUI)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息传送数据、互联网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以视觉形式呈现的任何其它信息。在一些配置中,显示器840是液晶显示器(LCD),其利用任意有源或无源矩阵技术以及任意背光技术(如果使用的话)。在一些配置中,显示器840是有机发光二极管(OLED)显示器。预期其它显示器类型。
触摸屏842在本文中也称作“触摸使能的屏幕”,其是输入设备,被配置为检测触摸的存在和位置。触摸屏842可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、分散信号触摸屏、声脉冲识别触摸屏,或者可以利用任何其它触摸屏技术。在一些配置中,触摸屏842并入到显示器840的顶部作为透明层,以使得用户能够使用一个或多个触摸来与在显示器840上呈现的对象或其它信息交互。在其它配置中,触摸屏842是并入到不包括显示器840的计算设备的表面上的触摸垫。例如,计算设备可以具有并入到显示器840顶部上的触摸屏以及显示器840对面的表面上的触摸垫。
在一些配置中,触摸屏842是单触摸的触摸屏。在其它配置中,触摸屏842是多触摸的触摸屏。在一些配置中,触摸屏842配置为检测离散的触摸、单触摸手势和/或多触摸手势。这些在本文中为了方便统称为手势。现在将描述几个手势。应该理解的是,这些手势是说明性的并不旨在限制随附权利要求的范围。此外,所描述的手势、额外的手势和/或替代的手势可以实现于软件中与触摸屏842一起使用。这样,开发者可以创建专用于特定应用程序的手势。
在一些配置中,触摸屏842支持点击手势,其中用户在显示器840上呈现的项目上点击一次触摸屏842。点击手势可以出于各种原因被使用,包括但不限于,打开或启动用户点击的项。在一些配置中,触摸屏842支持双点击手势,其中用户在显示器840上呈现的项目上点击两次触摸屏842。双点击手势可以出于各种原因被使用,包括但不限于,阶跃式放大或缩小。在一些配置中,触摸屏842支持点击并保持手势,其中用户点击触摸屏842并维持接触至少预定义的时间。点击和保持手势可以出于各种原因被使用,包括但不限于,打开场景特异的菜单。
在一些配置中,触摸屏842支持平摇(pan)手势,其中用户将手指放置在触摸屏842上并维持与触摸屏842的接触,同时在触摸屏842上移动手指。平摇手势可以出于各种原因被使用,包括但不限于以受控的速率移动触摸屏、图像或菜单。还预期多手指平摇手势。在一些配置中,触摸屏842支持轻拂手势,其中用户在用户希望屏幕移动的方向刷过手指。轻拂手势可以出于各种原因被使用,包括但不限于,水平或垂直滚动菜单或页面。在一些配置中,触摸屏842支持捏和张手势,其中用户利用两个手指(拇指和食指)在触摸屏842上进行捏运动或使两个手指移动开。捏和张手势可以出于各种原因被使用,包括但不限于,逐渐放大或缩小网站、地图或图片。
虽然己经参考使用一个或多个手指来执行手势而描述了上述手势,但是其它附器(例如,脚趾或诸如铁笔的对象)也可以用于与触摸屏842交互。这样,上述手势应该理解为说明性的,而不应该解释为以任何方式进行限制。
数据I/O接口部件844被配置为促进将数据输入到计算设备以及将数据从计算设备输出。在一些配置中,数据I/O接口部件844包括连接器,连接器被配置为提供在计算设备和计算机系统之间的有线连接,例如用于同步操作目的。连接器可以是专有连接器或标准连接器,例如USB、micro-USB、mini-USB等。在一些配置中,连接器是基座连接器,用于将计算设备与另一设备插接,例如插接站、音频设备(例如,数字音乐播放器)或视频设备。
音频I/O接口部件846配置为向计算设备提供音频输入和/或输出能力。在一些配置中,音频I/O接口部件846包括麦克风,所述麦克风被配置为收集音频信号。在一些配置中,音频I/O接口部件846包括耳机插孔,其被配置为提供针对耳机或其它外部扬声器的连接。在一些配置中,音频I/O接口部件846包括扬声器用于输出音频信号。在一些配置中,音频I/O接口部件846包括光音频电缆出口。
视频I/O接口部件848被配置为向计算设备提供视频输入和/或输出能力。在一些配置中,视频I/O接口部件848包括视频连接器,所述视频连接器配置为从另一设备(例如,视频媒体播放器,诸如DVD或BLURAY播放器)接收视频作为输入,或者发送视频作为到另一设备的输出(例如,监视器、电视、或一些其它外部显示器)。在一些配置中,视频I/O接口部件848包括高清多媒体接口(HDMI)、mini-HDMI、micro-HDMI、DisplayPort、或者用于输入/输出视频内容的专用连接器。在一些配置中,视频I/O接口部件848或其一部分与音频I/O接口部件846或其一部分组合。
相机850可以被配置为捕捉静止图像和/或视频。相机850可以利用电荷耦合设备(CCD)或互补金属氧化物半导体(CMOS)图像传感器来捕获图像。在一些配置中,相机850包括闪光灯来帮助在低光环境中拍照。相机850的设置可以实现为硬件或软件按钮。
虽然未示出,但是一个或多个硬件按钮还可以被包含于计算设备架构800中。硬件按钮可以用于控制计算设备的一些操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是机械的或基于传感器的。
图示的功率部件812包括一个或多个电池852,其可以连接到电池计量器854。电池852可以是可充电的或一次性的。可充电电池类型包括但不限于,锂聚合物、锂离子、镍镉、以及镍氢。每个电池852可以由一个或多个单元制成。
电池计量器854可以被配置为测量电池参数,例如,电流、电压和温度。在一些配置中,电池计量器854被配置为测量电池放电率、温度和其它因素的影响,以预测误差的特定百分比内的剩余寿命。在一些配置中,电池计量器854将测量结果提供给应用程序,所述应用程序被配置为利用所述测量结果来向用户呈现有用的功率管理数据。功率管理数据可以包括使用电池的百分比、剩余电池的百分比、电池状况、剩余时间、剩余容量(例如,瓦时)、电流消耗、以及电压中的一个或多个。
功率部件812还可以包括功率连接器,功率连接器可以与一个或多个上述I/O部件810组合。功率部件812可以与外部功率系统或充电装备经由功率I/O部件接口。
可以鉴于以下条款来考虑本文中提出的公开。
条款1:一种计算机实现的范例,包括用于以下的操作:在客户端计算设备(120)处利用加密密钥(132)来对数据进行加密以创建加密的数据(114);从所述客户端计算设备(120)将所述加密的数据(114)传送到第一实体的秘密存储库(110),以将所述加密的数据(114)存储于所述秘密存储库(110)的秘密容器(115)中,其中,所述秘密容器(115)包括与所述加密的数据(114)相关联的标识符;以及将所述加密密钥所述从客户端计算设备(120)传送到第二实体的密钥存储库(130),以将所述加密密钥(132)存储于所述密钥存储库(130)的密钥容器(131)中,其中,所述密钥容器(131)包括所述标识符,所述标识符也与所述加密密钥(132)相关联。
条款2:根据条款1所述的范例,其中,所述秘密存储库通过所述秘密存储库独有的第一组管理访问控制权限而被管理,并且其中,所述密钥存储库通过所述密钥存储库独有的第二组管理访问控制权限而被管理。
条款3:根据条款1-2所述的范例,其中,所述客户端计算设备被配置为修改所述秘密存储库上的数据结构,所述秘密存储库上的所述数据结构针对一个或多个身份定义每记录访问权限,并且其中,所述秘密存储库允许所述客户端计算设备检索、存储、修改或删除秘所述密容器。
条款4:根据条款1-3所述的范例,其中,所述客户端计算设备被配置为修改所述密钥存储库上的数据结构,所述密钥存储库上的所述数据结构针对一个或多个身份定义每记录访问权限,并且其中,所述密钥存储库允许所述客户端计算设备检索、存储、修改或删除所述密钥容器。
条款5:根据条款1-4所述的范例,其中,所述客户端计算设备被配置为修改所述密钥存储库上的数据结构,并且其中,所述密钥存储库上的所述数据结构识别具有对所述密钥容器的所述加密密钥的访问权的身份的群组。
条款6:根据条款1-5所述的范例,其中,从所述客户端计算设备传送到所述密钥存储库的指令修改所述数据结构以改变所述身份的群组的一个或多个访问权限。
条款7:根据条款1-6所述的范例,其中,所述客户端计算设备被配置为修改所述秘密存储库上的数据结构,并且其中,所述秘密存储库上的所述数据结构识别具有对所述秘密容器的所述加密的数据的访问权的用户账户的群组。
条款8:根据条款1-7所述的范例,其中,所述密钥存储库的所述密钥容器还包括元数据,其中,所述客户端计算设备被配置为修改所述密钥存储库上的数据结构,并且其中,所述密钥存储库上的所述数据结构针对第一身份和第二身份识别对所述元数据的第一级别的访问,并且针对所述第二身份识别对所述加密密钥的第二级别的访问。
条款9:根据条款1-8所述的范例,其中,所述秘密存储库的秘密容器还包括所述元数据,其中,所述客户端计算设备被配置为修改所述秘密存储库上的数据结构,其中,所述秘密存储库上的所述数据结构针对第一身份和第二身份识别对所述元数据的第一级别的访问,并且针对所述第二身份识别对所述秘密数据的第二级别的访问。
条款10:一种范例计算机(120,800),包括:处理器(802);以及与所述处理器(802)通信的计算机可读存储介质(804),所述计算机可读存储介质(804)在其上存储有计算机可执行指令,所述计算机可执行指令在由处理器(802)执行时,使所述计算机(120,800):利用加密密钥(132)来对数据进行加密以创建加密的数据(114);从所述计算机(120,800)将所述加密的数据(114)传送到第一实体的秘密存储库(110),以将所述加密的数据(114)存储于所述秘密存储库(110)的秘密容器中,其中,所述秘密容器(115)包括与所述加密的数据(114)相关联的标识符;并且从所述计算机(120,800)将所述加密密钥(132)传送到第二实体的密钥存储库,以将所述加密密钥(132)存储于所述密钥存储库(130)的密钥容器(131)中,其中,所述密钥容器(131)包括所述标识符,所述标识符也与所述加密密钥(132)相关联。
条款11:根据条款10所述的范例计算机,其中,所述秘密存储库通过所述秘密存储库独有的第一组管理访问控制权限而被管理,并且其中,所述密钥存储库通过所述密钥存储库独有的第二组管理访问控制权限而被管理。
条款12:根据条款10和11所述的范例计算机,其中,所述计算机还被配置为修改所述秘密存储库上的数据结构,所述秘密存储库上的所述数据结构针对一个或多个身份定义每记录访问权限,并且其中,所述秘密存储库允许所述计算机检索、存储、修改或删除所述秘密容器。
条款13:根据条款10-12所述的范例计算机,其中,所述计算机还被配置为修改所述密钥存储库上的数据结构,并且其中,所述密钥存储库上的数据结构识别具有对所述密钥容器的所述加密密钥的访问权的身份的群组。
条款14:根据条款10-13所述的范例计算机,其中,所述计算机还被配置为修改所述数据结构以改变所述身份的群组的一个或多个访问权限。
条款15:根据条款10-12所述的范例计算机,其中,所述计算机还被配置为修改所述秘密存储库上的数据结构,并且其中,所述秘密存储库上的所述数据结构识别具有对所述秘密容器的所述加密的数据的访问的用户账户的群组。
条款16:根据范例10-15所述的范例计算机,其中,所述密钥存储库的所述密钥容器还包括元数据,其中,所述计算机还被配置为修改所述密钥存储库上的数据结构,并且其中,所述密钥存储库上的所述数据结构针对第一身份和第二身份识别对所述元数据的第一级别的访问,并且针对所述第二身份识别对所述加密密钥的第二级别的访问。
条款17:根据条款10-16所述的范例计算机,其中,所述秘密存储库的秘密容器还包括元数据,其中,所述计算机还被配置为修改所述秘密存储库上的数据结构,其中,所述秘密存储库上的所述数据结构针对第一身份和第二身份识别对元所述数据的第一级别的访问,并且针对所述第二身份识别对所述加密的数据的第二级别的访问。
条款18:一种包括秘密存储库(110)的范例系统,所述秘密存储库包括多个秘密容器,其中,所述秘密存储库(110)通过所述秘密存储库(110)独有的第一管理访问控制而被管理,其中,所述多个秘密容器中的至少一个秘密容器(115)包括:加密的数据(114),其中,所述加密的数据(114)通过使用加密密钥(132)而被加密;以及元数据(116),其包括与所述至少一个秘密容器(115)以及所述加密的数据(114)相关联的标识符;密钥存储库(130),其包括多个密钥容器,其中,所述密钥存储库(130)通过对所述密钥存储库(130)独有的第二管理访问控制而被管理,并且其中,所述多个密钥容器中的至少一个密钥容器(131)包括:加密密钥(132);以及元数据(133),其包括与所述至少一个密钥容器(131)以及所述加密密钥(132)相关联的所述标识符;以及客户端计算设备(120),其被配置为访问和管理所述加密的数据(114)和所述加密密钥(132)。
条款19:根据条款18所述的范例系统,其中,所述客户端计算设备还被配置为修改所述秘密存储库上的数据结构,并且其中,所述秘密存储库上的所述数据结构针对第一身份和第二身份识别对所述元数据的第一级别的访问,并且针对密钥第二身份识别对秘密数据的第二级别的访问。
条款20:根据条款18-19所述的范例系统,其中,所述客户端计算设备还被配置为修改所述密钥存储库上的数据结构,并且其中,所述密钥存储库上的所述数据结构针对第一身份和第二身份识别对所述元数据的第一级别的访问,并且针对所述第二身份识别对所述加密密钥的第二级别的访问。
基于上述内容,应该理解的是,本文中公开的概念和技术提供针对加密的数据的增强的安全性。虽然本文提出的主题已经以专用于计算机结构特征、方法和变化动作、专用计算机器以及计算机可读介质的语言进行了描述,但是可以理解的是,在随附权利要求中定义的本发明不必限于本文描述的特定特征、动作或介质。而是,将特定特征、动作和介质公开为实现权利要求的范例形式。
以上描述的主题仅通过说明的形式被提供,并且不应被解释为限制。可以对本文公开的主题做出各种修改和改变,而不必遵循所说明和描述的范例配置和应用,而不背离本发明的真正精神和范围,这将在随附权利要求中进行阐述。

Claims (15)

1.一种计算机实现的方法,包括计算机实现的操作,所述计算机实现的操作用于:
在客户端计算设备处利用加密密钥来对数据进行加密以创建加密的数据;
将所述加密的数据从所述客户端计算设备传送到第一实体的秘密存储库,以将所述加密的数据存储在所述秘密存储库的秘密容器中,其中,所述秘密容器包括与所述加密的数据相关联的标识符;以及
将所述加密密钥从所述客户端计算设备传送到第二实体的密钥存储库,以将所述加密密钥存储在所述密钥存储库的密钥容器中,其中,所述密钥容器包括所述标识符,所述标识符也与所述加密密钥相关联。
2.根据权利要求1所述的计算机实现的方法,其中,所述秘密存储库通过对所述秘密存储库独有的第一组管理访问控制权限而被管理,并且其中,所述密钥存储库通过对所述密钥存储库独有的第二组管理访问控制权限而被管理。
3.根据权利要求1所述的计算机实现的方法,其中,所述客户端计算设备被配置为修改所述秘密存储库上的数据结构,所述秘密存储库上的所述数据结构针对一个或多个身份定义每记录访问权限,并且其中,所述秘密存储库允许所述客户端计算设备检索、存储、修改或删除所述秘密容器。
4.根据权利要求1所述的计算机实现的方法,其中,所述客户端计算设备被配置为修改所述密钥存储库上的数据结构,所述密钥存储库上的所述数据结构针对一个或多个身份定义每记录访问权限,并且其中,所述密钥存储库允许所述客户端计算设备检索、存储、修改或删除所述密钥容器。
5.根据权利要求1所述的计算机实现的方法,其中,所述客户端计算设备被配置为修改所述密钥存储库上的数据结构,并且其中,所述密钥存储库上的所述数据结构识别具有对所述密钥容器的所述加密密钥的访问权的身份的群组。
6.根据权利要求5所述的计算机实现的方法,其中,从所述客户端计算设备传送到所述密钥存储库的指令修改所述数据结构以改变所述身份的群组的一个或多个访问权限。
7.根据权利要求5所述的计算机实现的方法,其中,所述客户端计算设备被配置为修改所述秘密存储库上的数据结构,并且其中,所述秘密存储库上的所述数据结构识别具有对所述秘密容器的所述加密的数据的访问权的用户账户的群组。
8.根据权利要求1所述的计算机实现的方法,其中,所述密钥存储库的所述密钥容器还包括元数据,其中,所述客户端计算设备被配置为修改所述密钥存储库上的数据结构,并且其中,所述密钥存储库上的所述数据结构针对第一身份和第二身份识别对所述元数据的第一级别的访问,并且针对所述第二身份识别对所述加密密钥的第二级别的访问。
9.根据权利要求1所述的计算机实现的方法,其中,所述秘密存储库的所述秘密容器还包括元数据,其中,所述客户端计算设备被配置为修改所述秘密存储库上的数据结构,其中,所述秘密存储库上的所述数据结构针对第一身份和第二身份识别对所述元数据的第一级别的访问,并且针对所述第二身份识别对所述加密的数据的第二级别的访问。
10.一种计算机,包括:
处理器;以及
与所述处理器通信的计算机可读存储介质,所述计算机可读存储介质在其上存储有计算机可执行指令,所述计算机可执行指令在由处理器执行时使所述计算机:
利用加密密钥来对数据进行加密以创建加密的数据;
将所述加密的数据从所述计算机传送到第一实体的秘密存储库,以将所述加密的数据存储于所述秘密存储库的秘密容器中,其中,所述秘密容器包括与所述加密的数据相关联的标识符;以及
将所述加密密钥传送从所述计算机到第二实体的密钥存储库,以将所述加密密钥存储于所述密钥存储库的密钥容器中,其中,所述密钥容器包括所述标识符,所述标识符也与所述加密密钥相关联。
11.根据权利要求10所述的计算机,其中,所述秘密存储库通过对所述秘密存储库独有的第一组管理访问控制权限而被管理,并且其中,所述密钥存储库通过对所述密钥存储库独有的第二组管理访问控制权限而被管理。
12.根据权利要求10所述的计算机,其中,所述计算机还被配置为修改所述秘密存储库上的数据结构,所述秘密存储库上的所述数据结构针对一个或多个身份定义每记录访问权限,并且其中,所述秘密存储库允许所述计算机检索、存储、修改或删除所述秘密容器。
13.根据权利要求10所述的计算机,其中,所述计算机还被配置为修改所述密钥存储库上的数据结构,并且其中,所述密钥存储库上的所述数据结构识别具有对所述密钥容器的所述加密密钥的访问权的身份的群组。
14.根据权利要求10所述的计算机,其中,所述计算机还被配置为修改所述数据结构以改变所述身份的群组的一个或多个访问权限。
15.一种系统,包括:
秘密存储库,其包括多个秘密容器,其中,所述秘密存储库通过对所述秘密存储库独有的第一管理访问控制而被管理,其中,所述多个秘密容器中的至少一个秘密容器包括:
加密的数据,其中,所述加密的数据通过使用加密密钥而被加密;以及
元数据,其包括与所述至少一个秘密容器以及所述加密的数据相关联的标识符;
密钥存储库,其包括多个密钥容器,其中,所述密钥存储库通过对所述密钥存储库独有的第二管理访问控制而被管理,并且其中,所述多个密钥容器中的至少一个密钥容器包括:
加密密钥;以及
元数据,其包括与所述至少一个密钥容器以及所述加密密钥相关联的所述标识符;以及
客户端计算设备,其被配置为访问和管理所述加密的数据和所述加密密钥。
CN201580061727.3A 2014-11-14 2015-11-12 以增强的安全性存储加密的数据 Pending CN107113292A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/542,384 US20160142387A1 (en) 2014-11-14 2014-11-14 Storage for encrypted data with enhanced security
US14/542,384 2014-11-14
PCT/US2015/060235 WO2016122747A2 (en) 2014-11-14 2015-11-12 Storage for encrypted data with enhanced security

Publications (1)

Publication Number Publication Date
CN107113292A true CN107113292A (zh) 2017-08-29

Family

ID=55962759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580061727.3A Pending CN107113292A (zh) 2014-11-14 2015-11-12 以增强的安全性存储加密的数据

Country Status (5)

Country Link
US (1) US20160142387A1 (zh)
EP (1) EP3219082A2 (zh)
CN (1) CN107113292A (zh)
BR (1) BR112017007994A2 (zh)
WO (1) WO2016122747A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111656348A (zh) * 2018-02-21 2020-09-11 电子湾有限公司 经掩码处理的密钥跳跃
CN113261256A (zh) * 2018-12-03 2021-08-13 耐瑞唯信有限公司 在数据流中安全地传输数据
CN113260992A (zh) * 2019-12-08 2021-08-13 西部数据技术公司 数据存储设备的多设备解锁
CN113383510A (zh) * 2020-01-09 2021-09-10 西部数据技术公司 数据存储设备的多角色解锁
CN113545006A (zh) * 2020-01-09 2021-10-22 西部数据技术公司 远程授权访问锁定的数据存储设备
CN113557689A (zh) * 2020-01-09 2021-10-26 西部数据技术公司 用管理器设备初始化数据存储设备
CN115004623A (zh) * 2020-02-18 2022-09-02 国际商业机器公司 保护加密密钥

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9942208B2 (en) 2014-11-14 2018-04-10 Microsoft Technology Licensing, Llc Updating stored encrypted data with enhanced security
US10833843B1 (en) * 2015-12-03 2020-11-10 United Services Automobile Association (USAA0 Managing blockchain access
US10820063B2 (en) * 2016-06-10 2020-10-27 Arris Enterprises Llc Manifest customization in adaptive bitrate streaming
ES2929464T3 (es) * 2016-11-26 2022-11-29 Huawei Tech Co Ltd Método para controlar de forma segura un aparato doméstico inteligente y dispositivo terminal
US10761896B2 (en) 2017-02-22 2020-09-01 Cisco Technology, Inc. System and method of lightweight decentralized NFV orchestration
CN107340951A (zh) * 2017-07-13 2017-11-10 成都牵牛草信息技术有限公司 基于角色获取的表单数据的授权方法
US11475147B2 (en) * 2018-02-20 2022-10-18 International Business Machines Corporation Implementing policy-based container-level encryption
US11095652B2 (en) * 2018-02-20 2021-08-17 International Business Machines Corporation Implementing a separation of duties for container security
US20210289001A1 (en) * 2020-01-22 2021-09-16 Valimail Inc. Automated authentication and authorization in a communication system
CN114117460A (zh) * 2020-09-01 2022-03-01 鸿富锦精密电子(天津)有限公司 数据保护方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007044967A2 (en) * 2005-10-13 2007-04-19 Lai Shui T Intrastromal refractive surgery by inducing shape change of the cornea
CN101082946A (zh) * 2006-06-01 2007-12-05 株式会社东芝 数据处理装置、数据处理方法和数据处理程序
CN101122942A (zh) * 2007-09-21 2008-02-13 北京飞天诚信科技有限公司 数据安全读取方法及其安全存储装置
US20130208893A1 (en) * 2012-02-13 2013-08-15 Eugene Shablygin Sharing secure data

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405315B1 (en) * 1997-09-11 2002-06-11 International Business Machines Corporation Decentralized remotely encrypted file system
DE602006021217D1 (de) * 2005-10-12 2011-05-19 Datacastle Corp Verfahren und system zur datensicherung
CN101501382B (zh) * 2006-07-28 2012-05-23 意大利精密机械技术股份公司 用于控制可燃气体到燃烧设备的输送的装置
US8787579B2 (en) * 2008-06-30 2014-07-22 Verizon Patent And Licensing Inc. Key-based content management and access systems and methods
US10333711B2 (en) * 2011-06-17 2019-06-25 Microsoft Technology Licensing, Llc Controlling access to protected objects
US8862889B2 (en) * 2011-07-02 2014-10-14 Eastcliff LLC Protocol for controlling access to encryption keys
US8856530B2 (en) * 2011-09-21 2014-10-07 Onyx Privacy, Inc. Data storage incorporating cryptographically enhanced data protection
US8176283B1 (en) * 2011-09-26 2012-05-08 Google Inc. Permissions of objects in hosted storage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007044967A2 (en) * 2005-10-13 2007-04-19 Lai Shui T Intrastromal refractive surgery by inducing shape change of the cornea
CN101082946A (zh) * 2006-06-01 2007-12-05 株式会社东芝 数据处理装置、数据处理方法和数据处理程序
CN101122942A (zh) * 2007-09-21 2008-02-13 北京飞天诚信科技有限公司 数据安全读取方法及其安全存储装置
US20130208893A1 (en) * 2012-02-13 2013-08-15 Eugene Shablygin Sharing secure data

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111656348A (zh) * 2018-02-21 2020-09-11 电子湾有限公司 经掩码处理的密钥跳跃
US11683169B2 (en) 2018-02-21 2023-06-20 Ebay Inc. Masked key hopping
CN111656348B (zh) * 2018-02-21 2023-09-01 电子湾有限公司 经掩码处理的密钥跳跃
CN113261256A (zh) * 2018-12-03 2021-08-13 耐瑞唯信有限公司 在数据流中安全地传输数据
CN113261256B (zh) * 2018-12-03 2023-08-22 耐瑞唯信有限公司 在数据流中安全地传输数据
CN113260992A (zh) * 2019-12-08 2021-08-13 西部数据技术公司 数据存储设备的多设备解锁
CN113383510A (zh) * 2020-01-09 2021-09-10 西部数据技术公司 数据存储设备的多角色解锁
CN113545006A (zh) * 2020-01-09 2021-10-22 西部数据技术公司 远程授权访问锁定的数据存储设备
CN113557689A (zh) * 2020-01-09 2021-10-26 西部数据技术公司 用管理器设备初始化数据存储设备
CN115004623A (zh) * 2020-02-18 2022-09-02 国际商业机器公司 保护加密密钥

Also Published As

Publication number Publication date
EP3219082A2 (en) 2017-09-20
US20160142387A1 (en) 2016-05-19
BR112017007994A2 (pt) 2017-12-19
WO2016122747A3 (en) 2016-09-22
WO2016122747A2 (en) 2016-08-04

Similar Documents

Publication Publication Date Title
CN107113292A (zh) 以增强的安全性存储加密的数据
US11115423B2 (en) Multi-factor authentication using positioning data
US11455412B2 (en) Enhanced management of access rights for dynamic user groups sharing secret data
CN104541271B (zh) 从电子表格数据生成场景和游览
US9942208B2 (en) Updating stored encrypted data with enhanced security
CN104737185B (zh) 用于具有伴随的备注的交互式幻灯片演示的阅读模式的方法、系统、装置和计算机可读存储介质
US9892141B2 (en) Extensibility of collectable data structures
US11870890B2 (en) Dynamic change in administrative rights for controlling secret data stored for user groups
CN104067215B (zh) 呈现数据驱动表单
CN105934756A (zh) 索引电子表格结构属性以供搜索
CN105393222A (zh) 网络应用与本地应用之间的渲染委托
US20230110080A1 (en) Identity misconfiguration detection for role-based access control
US11177947B2 (en) Management of encryption key updates based on activity of a user group
CN112334894A (zh) 使用账户活动性使用限制的账户管理
WO2022146553A1 (en) Interim connections for providing secure communication of content between devices
US10891385B2 (en) Encryption at rest for cloud-resourced virtual machines
CN107810489A (zh) 应用与设备之间的无缝转换
KR101978300B1 (ko) Usim을 이용한 사용자 별 어플리케이션 제공 방법, 이를 위한 시스템, 이를 위한 단말기 및 이를 위한 서비스장치
CN108141467A (zh) 应用自动路由框架
CN107407944A (zh) 参考传感器的发现和利用
US11531730B2 (en) Manipulation of a persistent display of shared content
US20220342976A1 (en) Enhance single sign-on flow for secure computing resources
US20160048269A1 (en) Systems, Methods, And Computer Products For Monitoring A Service

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170829

WD01 Invention patent application deemed withdrawn after publication