CN110140336A - 相继密码技术 - Google Patents

相继密码技术 Download PDF

Info

Publication number
CN110140336A
CN110140336A CN201880005642.7A CN201880005642A CN110140336A CN 110140336 A CN110140336 A CN 110140336A CN 201880005642 A CN201880005642 A CN 201880005642A CN 110140336 A CN110140336 A CN 110140336A
Authority
CN
China
Prior art keywords
resource
key
encrypted
user
succession
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
CN201880005642.7A
Other languages
English (en)
Inventor
C·L·马林斯
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 CN110140336A publication Critical patent/CN110140336A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/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
    • H04L63/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

本公开内容的示例描述了与相继加密技术相关的系统和方法。相继加密可以用于使用多个密码密钥来对资源进行加密,这多个密码密钥中的每个密码密钥可以与用户相关联。可以通过以下方式来对资源进行相继加密:首先利用这多个密码密钥中的一个密码密钥对资源进行加密,然后利用这多个密钥中的不同密钥来对加密结果进行相继加密(从而添加附加的加密层),直至使用了所有密钥为止。在相继加密操作完成之后,可以删除原始资源,从而确保:在用户之间不存在针对加密的共识的情况下,资源不能被访问。当对经相继加密的资源进行相继解密时,每个用户可以提供他/她的密码密钥以便移除与该用户的密钥相关联的加密层。

Description

相继密码技术
背景技术
密码术可以用于保护资源的内容免受未经授权的访问或披露。传统上,密码操作(例如,加密和解密)需要密码密钥或密钥对。在对称密码术的情况下,相同的密码密钥可以用于加密和解密二者。相反,非对称密码术使用密钥对,其中,公钥可以用于加密,并且私钥可以用于解密。如果始发用户希望与另一用户共享经加密的资源,则通常也必须共享密码密钥(或密码密钥对/私钥)。一旦密码密钥已经被共享,就可能变得难以限制对经加密的资源的访问,这是因为来自始发用户的同意不再是对资源进行解密的先决条件。
针对这些和其他一般考虑因素做出了本文中公开的方面。而且,尽管可能讨论了相对具体的问题,但应当理解的是,这些示例不应当局限于解决背景技术中或本公开内容中别处提出的具体问题。
发明内容
本公开内容的示例描述了与相继密码技术相关的系统和方法。相继加密可以用于使用多个密码密钥来对资源进行加密,每个密码密钥中的一个密码密钥可以与用户相关联。可以通过以下方式来对资源进行相继加密:首先利用多个密码密钥中的一个密码密钥对资源进行加密,然后利用这多个密钥中的不同密钥来对加密结果进行相继加密(从而添加附加的加密层),直至已经使用了所有密钥为止。
在相继加密操作完成之后,可以删除原始资源。这确保了:加密操作中使用的所有密码密钥都必须存在,以便对资源进行解密。更具体地说,可能需要与密码密钥相关联的用户之间的共识。这样,当对经相继加密的资源进行相继解密时,每个用户可以提供他/她的密码密钥,从而表现出对解密操作的认可,并且使得相继的解密操作能够移除与该用户的密钥相关联的加密层。
提供本发明内容以便以简化的形式对下面在具体实施方式中进一步描述的设计构思的选择进行介绍。本发明内容并不旨在标识要求保护的主题的关键特征或重要特征,也不旨在用于限制要求保护的主题的范围。示例的其他方面、特征和/或优点将部分地在下面的描述中阐述,并且部分地将从描述中显而易见,或者可以通过对本公开内容的实践来学习。
附图说明
参考以下附图描述了非限制性和非穷举性示例。
图1示出了用于对资源进行相继加密的示例方法的概述。
图2示出了用于对资源进行进一步相继加密的示例方法的概述。
图3示出了用于对资源进行相继解密的示例方法的概述。
图4示出了用于利用密码密钥来对资源进行加密的示例方法的概述,其中,密码密钥然后被相继加密。
图5示出了用于对密码密钥进行相继解密的示例方法的概述,其中,密码密钥然后用于对资源进行解密。
图6A和图6B示出了包括经相继加密的资源的示例系统的概述。
图7是示出可以用于实践本公开内容的方面的计算设备的示例物理组件的框图。
图8A和图8B是可以用于实践本公开内容的方面的移动计算设备的简化框图。
图9是可以在其中实践本公开内容的方面的分布式计算系统的简化框图。
图10示出了用于执行本公开内容的一个或多个方面的平板计算设备。
具体实施方式
下文参考附图更加全面地描述了本公开内容的各个方面,所述附图形成了本说明书的一部分,并且其示出了具体的示例性方面。然而,本公开内容的不同方面可以用许多不同形式来实现,并且不应当被解释为对本文中阐述的方面是限制性的;而是提供这些方面以使得本公开内容将是透彻和完整的,并且将向本领域技术人员全面地传达这些方面的范围。各个方面可以实践为方法、系统或设备。因此,各个方面可以采取硬件实施方式、整体软件实现或组合软件和硬件方面的实施方式的形式。因此,下文的具体实施方式不应被视为具有限制意义。
本公开内容提供了与相继密码技术相关的系统和方法。更具体地说,相继加密可以用于使用与多个用户相关联的多个密码密钥来对资源进行加密。随后可以使用由这多个用户提供的多个密码密钥对经相继加密的资源进行相继解密。作为结果,向用户确保:除非这多个用户中的每个用户都同意解密,否则经加密的资源将不会被解密。
在一些示例中,经相继加密的资源可以是用于对不同资源进行加密或解密的密码密钥或密钥对,其中,所述不同资源可以是文档、与文档相关的信息(例如,修订、评论或注释、元数据、属性等)、消息、对话、日历事件等。文档可以包含任何类型的信息,包括但不限于:文本数据、图像或视频数据、音频数据、密码密钥、共享秘密、计算、算法、秘方、公式或者它们的任意组合。可以使用密码密钥(例如,对称密钥或包括非对称密钥对的公钥)来对该不同资源进行加密,之后可以使用本文描述的技术来对密码密钥或密钥对进行相继加密。经相继加密的密码密钥或密钥对可以由计算系统存储或以其他方式保留,而未经加密的密码密钥或密钥对可以被删除(例如,不被计算设备保留、从高速缓存或者从系统存储器中清除,从文件系统移除等)。作为结果,除非使用本文描述的技术来对经相继加密的密码密钥或密钥对进行相继解密,否则该不同资源可能是不可访问的。然后可以使用密码密钥或密钥对来对该不同资源进行解密。在其他示例中,经相继加密的资源可以是该不同资源本身(例如,文档、消息、对话、日历事件等),而不是用于对该不同资源进行加密和解密的密码密钥。
为了对资源进行相继加密和解密,可以使用多个密码密钥。在一些示例中,密码密钥可以是对称密钥,或者它可以是包括公钥和私钥的非对称密钥对。可以使用各种密码算法,包括但不限于高级加密标准(AES)、数据加密标准(DES)、Rivest-Shamir-Adleman(RSA)、以及椭圆曲线密码术(ECC)等。与多个密码密钥中的其他密码密钥相比,每个密码密钥可以具有相似或不同的属性。作为示例,每个密钥可以具有相似或不同的密钥长度,或者可以使用相似或不同的密码算法,以及对于特定密码算法唯一的其他类似或不同属性。在另一示例中,当使用多个密钥来生成每个相继加密层时,可以使用不同的初始化矢量。本领域技术人员将领会的是:在不脱离本公开内容的精神的情况下,可以使用其他密码算法和系统。
当对资源进行相继加密时,可以使用第一密码密钥来对资源进行加密,从而生成具有第一加密层的第一经加密的资源。第一密码密钥可以与第一用户相关联。如果第一密码密钥是非对称密钥对的一部分,则可以使用包括非对称密钥对的公钥。在一些示例中,附加信息可以存储在第一经加密的资源中,例如元数据或属性等。
附加信息可以包括与第一密码密钥相关的标识信息,包括但不限于密钥指纹、密钥的散列或相关信息(例如,MD5、SHA-1等)、或者标识符(例如,全局唯一标识符(GUID)、统一资源标识符(URI)等)。当对经相继加密的资源进行相继解密时,可以使用标识信息,从而允许在对经加密的资源的特定层进行解密时从多个密码密钥中选择特定密钥。在其他示例中,可以根据预先确定的顺序(例如,字母顺序、时间顺序等)来对密码密钥进行排序,并且在执行相继加密操作时以该顺序使用密码密钥。然后,当在相继解密操作期间选择密钥时,可以反转该顺序。在另一示例中,与这多个密码密钥中的一个或多个密码密钥相关的信息可以作为元数据,或者作为经最终相继加密的资源内的属性存储在文件(例如清单或日志)中。本领域技术人员将领会的是,在不脱离本公开内容的精神的情况下,可以使用其他机制来存储和确定密码密钥顺序。
第二密码密钥可以用于对第一经加密的资源进行加密,从而生成具有第一加密层和第二加密层(其中,第二层是最外层)的第二经加密的资源。第二密码密钥可以与第二用户相关联。第二密码密钥可以是对称密钥,或者可以是包括非对称密钥对的公钥。如上文针对第一经加密的资源所讨论的,第二经加密的资源还可以包括附加信息,例如元数据或属性等。附加信息可以包括与第二密码密钥相关的标识信息。
如果在相继加密操作中使用更多密码密钥,则可以通过执行与上文针对第一密码密钥和第二密码密钥所讨论的步骤类似的步骤来添加后续加密层。例如,第三密码密钥可以用于对第二经加密的资源进行加密,从而生成具有第一加密层、第二加密层和第三加密层(其中,第三层是最外层,随后是第二层,最终是第一层)的第三经加密的资源。第三密码密钥可以与第三用户相关联。在一些示例中,第三经加密的资源可以包括用于在执行相继解密操作时标识第三密码密钥的附加信息。
一旦确定在相继加密操作中不存在剩余的密码密钥,就可以存储最终加密结果。中间数据(例如,该资源、第一经加密的资源以及在具有三个密码密钥的示例中的第二经加密的资源)可以不被保留,而是可以被删除。这确保了:在不使用在相继加密操作中使用的所有密码密钥执行相继解密操作的情况下,可能无法访问该资源的未经加密的表示。
当经相继加密的资源被解密时,每个密码密钥必须是可访问以便在相继解密操作中使用的。在一些示例中,与密码密钥相关联的用户可以提供密码密钥。在其他示例中,密码密钥可以存储在存储系统中,其中,执行相继解密操作的计算设备、过程或用户已被准予对存储系统中的密码密钥的访问权限。密码密钥可能已经由与密码密钥相关联的用户存储在存储系统中,从而允许相继解密发生而无需用户进一步干预或输入。在另一示例中,用户可以委托另一用户代表他/她为相继解密操作提供密码密钥。
为了对经相继加密的资源进行相继解密,可以从多个密码密钥中选择第一密码密钥。在一些示例中,选择第一密码密钥可以包括确定需要哪个密码密钥(例如,基于如上文所讨论的特定排序,或者使用包括在经相继加密的资源内或与之相关联的元数据或属性)。在另一示例中,可以从与第一密码密钥相关联的用户请求第一密码密钥或由与第一密码密钥相关联的用户提供第一密码密钥,其中,所述用户可以提供授权或认证凭证,从而准予对第一密码密钥的访问权限。
第一密码密钥可以用于从经相继加密的资源生成第一经解密的资源,从而移除一个加密层。在一个示例中,第一密码密钥可以是包括非对称密钥对的私钥,其中,使用包括非对称密钥对的公钥来对经相继加密的资源进行加密。在另一示例中,第一密码密钥可以是对称加密密钥,其中,相同的密钥用于对经相继加密的资源进行加密。
可以使用第二密码密钥来对第一经解密的资源进行进一步解密,从而移除另一加密层并生成第二经解密的资源。与第一经解密的密钥类似,可以使用如上所述的各种技术来向相继解密操作提供第二经解密的密钥,或者第二经解密的密钥可以由相继解密操作访问。可以使用与针对第一密码密钥所使用的选择方法类似的选择方法来选择第二经解密的密钥,或者可以使用不同的选择方法。
可以确定第二经解密的资源不再具有经加密的层,从而完成相继解密操作并产生经相继解密的资源。替代地,可以确定存在附加的加密层,这可以导致持续的相继解密,直至确定不再存在相继的加密层。这样的确定可能需要对与经相继加密的资源的层相关联的元数据或属性(例如,是否存在与密码密钥识别码相关的信息,是否存在任何可用的加密元数据等),或者资源本身的特性或属性(例如,基于文件探试程序、文件签名等)进行评估。
在一些示例中,可以将用户和相关加密层添加到经相继加密的资源,从而添加关于存在新密码密钥以用于相继解密的要求。在示例中,新的密码密钥可以用于对经相继加密的资源进行加密,从而添加新的加密层作为最外层。在另一示例中,可以对经相继加密的资源进行部分或完全解密,之后可以利用包括在重新加密操作中的新的密码密钥发生重新加密。这将允许根据特定顺序来对加密层进行排序。
类似地,可以从经相继加密的资源中移除密码密钥和相关加密层,从而移除了关于存在密码密钥(以及在一些示例中,关联用户)以进行相继解密的要求。可以对经相继加密的资源进行部分或完全的相继解密,之后可以利用从重新加密操作中省略的移除的密码密钥发生重新加密。在一些示例中,如果要移除的密码密钥与经相继加密的资源的最外层相关联,则可能不需要进一步解密。
相继加密可以允许用户群组保护资源,使得在资源可以被解密之前可能需要该群组之间的共识。作为结果,即使资源是分发的,也可以由群组的成员保留对资源的控制。该访问模型解决了如上文针对利用单个密码密钥来对资源进行加密所讨论的控制和分发的问题。与其中经加密的资源可以利用必需的解密密钥来分发和解密的传统加密技术不同,每个群组成员必须在接收方可以获得对经解密的资源的访问权限之前认可(如本文中所描述的,例如通过提供对其特定解密密钥的访问权限)。类似地,在群组成员可以能够重新获得对资源内容的访问权限或者修改资源内容之前,每个群组成员必须同样认可。
相继加密可以应用于各种设置,包括但不限于文档分发和电子消息传送。作为示例,用户群组可以使用相继密码术来保护文档,使得在没有每个群组成员的同意的情况下不可以访问或修改文档。这样,可以使用相继加密来对文档进行加密,其中,密码密钥由每个用户提供并用于生成相继的加密层。
在另一示例中,用户群组可以使用相继密码术来保护电子消息传送会话(例如,电子邮件对话、在线聊天对话等)的内容。更具体地说,该群组可以选择对对话进行加密,使得每个用户可以在当前会话期间访问对话,但是可能需要群组共识以便恢复对话或访问对话转录本。这可以通过使用密码密钥来实现,所述密码密钥可以用于在会话持续时间期间对消息进行加密。可以相继加密和存储密码密钥。一旦对话会话结束,可以清除密码密钥的未经加密的表示,使得仅保留经加密的密码密钥。作为结果,在可以重新获得对对话的访问权限之前,必须由该群组的所有成员对经加密的密码密钥进行相继解密。
因此,本公开内容提供了多种技术益处,包括但不限于:改进信息隐私和安全性;提供基于共识的密码技术;改进群组级别访问控制;利用多层密码术以进行共识确定;提供委托或预先解密授权;利经用相继加密的密码密钥来保护资源;以及使用本公开内容的示例来改进应用/服务的效率和质量等。
图1示出了用于对资源进行相继加密的示例方法100的概述。方法100可以由计算设备执行,例如客户端设备、服务器设备、移动设备、存储系统或分布式计算系统等。流程开始于操作102,其中,确定要对资源进行加密。资源可以是文档、消息、对话、日历事件或密码密钥等。可以从应用、过程或计算设备接收该确定作为指示。在示例中,可以从一个或多个用户接收指示。在另一示例中,确定可以基于对一个或多个条件的满足。条件可以是暂时的(例如,与流逝时间量、特定日期、星期几、一天中的时间等相关)。在另一示例中,条件可以与资源本身相关。例如,条件可以与文档的属性(例如,作者、修订、最后修改的日期等)或对话的成员(例如,存在的人员的数量、对话成员的身份、成员是否是刚加入或离开等)等等相关。本领域技术人员将领会的是,在不脱离本公开内容的精神的情况下,可以使用其他条件来确定是否应当对资源进行相继加密。
在确定了要对资源进行加密时,流程继续进行到操作104。在操作104处,可以访问与第一用户相关联的第一加密密钥。在一些示例中,第一加密密钥可以与实体或应用等相关联。第一加密密钥可以是对称密码密钥,或者可以是包括非对称密码密钥对的公钥。访问第一加密密钥可以包括从第一用户(或者实体、应用等)接收第一加密密钥。在另一示例中,可以从存储系统或密钥库访问第一加密密钥。密钥库可以与第一用户相关联,或者其可以存储用于多个用户的密码密钥。在一些示例中,可以基于顺序确定来访问第一加密密钥,其中,多个密码密钥是根据预先确定的顺序(例如,字母顺序、时间顺序等)来排序的。
在操作106处,可以使用第一加密密钥来对资源进行加密,从而生成第一经加密的资源。在一些示例中,附加信息可以存储在第一经加密的资源中,例如元数据或属性等。附加信息可以包括与第一加密密钥相关的标识信息,包括但不限于密钥指纹、密钥的散列或相关信息、或者标识符。在对经相继加密的资源进行相继解密时,可以使用标识信息,从而允许从多个密码密钥中选择特定密钥。
移至操作108,可以访问与第二用户相关联的第二加密密钥。第二加密密钥可以是对称密码密钥,或者可以是包括非对称密码密钥对的公钥。与第一加密密钥相比较,第二加密密钥可以具有相似或不同的属性。作为示例,第一加密密钥和第二加密密钥具有相似或不同的密钥长度,或者可以使用相似或不同的密码算法。访问第二加密密钥可以包括:从第二用户接收第二加密密钥。在另一示例中,可以从存储系统或密钥库访问第二加密密钥。密钥库可以与第二用户相关联,或者其可以存储用于多个用户的密码密钥(例如,其还可以存储用于第一用户的密码密钥)。在一些示例中,可以基于顺序确定来访问第二加密密钥,其中,多个密码密钥是根据预先确定的顺序(例如,字母顺序、时间顺序等)来排序的。
在操作110处,可以使用第二加密密钥来对第一经加密的资源进行加密,从而生成第二经加密的资源。在一些示例中,附加信息可以存储在第二经加密的资源中,例如元数据或属性等。附加信息可以包括与第二加密密钥相关的标识信息,包括但不限于密钥指纹、密钥的散列或相关信息、或者标识符。在对经相继加密的资源进行相继解密时,可以使用标识信息,从而允许从多个密码密钥中选择特定密钥。
在确定操作112处,进行关于是否存在资源应当由其加密的附加用户、实体或应用等的确定。该确定可以包括:评估与资源相关的成员资格(例如,对话的成员、文档的作者等),由访问控制列表指定的用户,或者列表中是否存在更多用户等。如果在确定操作112处确定不存在附加用户,则流程分支否到操作114,其中,第二经加密的资源被存储为经相继加密的资源。在相继加密过程期间生成的中间数据(例如,资源和第一经加密的资源)可以不被保留,而是可以被删除。这确保了:在不使用在相继加密操作中使用的所有密码密钥(例如,由第一用户和第二用户提供的)执行相继解密操作的情况下,可能无法访问资源的未经加密的表示。流程在操作114处终止。
返回到决策操作112,如果在确定操作112处确定附加用户应当对资源进行加密,则流程分支是到操作116,其中,可以访问与后续用户相关联的后续加密密钥。后续加密密钥可以是对称密码密钥,或者可以是包括非对称密码密钥对的公钥。与第一加密密钥和第二加密密钥相比较,后续加密密钥可以具有相似或不同的属性。作为示例,第一加密密钥、第二加密密钥和一个或多个后续加密密钥可以具有相似或不同的密钥长度,或者可以使用相似或不同的密码算法。访问后续加密密钥可以包括:从后续用户接收后续加密密钥。在另一示例中,可以从存储系统或密钥库访问后续加密密钥。密钥库可以与后续用户相关联,或者其可以存储用于多个用户的密码密钥(例如,其还可以存储用于第一用户和/或第二用户的密码密钥)。在一些示例中,可以基于顺序确定来访问后续加密密钥,其中,多个密码密钥是根据预先确定的顺序(例如,字母顺序、时间顺序等)来排序的。
流程继续进行到操作118,其中,可以使用后续加密密钥来对第二经加密的资源进行加密,从而生成后续的经加密的资源。在一些示例中,附加信息可以存储在后续的经加密的资源中,例如元数据或属性等。附加信息可以包括与后续加密密钥相关的标识信息,包括但不限于密钥指纹、密钥的散列或相关信息、或者标识符。在对经相继加密的资源进行相继解密时,可以使用标识信息,从而允许从多个密码密钥中选择特定密钥。
在操作118之后,流程返回到确定操作112,其中,进行关于是否存在应当由其对后续的经加密的资源进行加密的附加用户的确定。如果确定不存在附加用户,则流程分支否到操作114,其中,后续的经加密的资源被存储为经相继加密的资源。中间数据(例如,资源、第一经加密的资源以及第二经加密的资源)可以不被保留,而是可以被删除。这确保了:在没有使用在相继加密操作中使用的(例如,由第一用户、第二用户以及后续提供的)所有密码密钥的相继解密的情况下,可能无法访问资源的未经加密的表示。流程在操作114处终止。
然而,如果在确定操作112处确定存在附加用户,则流程将分支是到操作116。流程在操作112、116和118之间循环,同时存在应当由其对后续的经加密的资源进行加密的附加用户。因此,每个相继循环都会添加附加加密层。流程最终在操作114处终止。
图2示出了用于对资源进行进一步相继加密的示例方法200的概述。当将用户添加到经相继加密的资源时,可以执行方法200,从而要求新用户也同意相继解密操作。流程开始于操作202,其中,可以访问经相继加密的资源。可以通过执行如上文针对图1所讨论的方法100来生成经相继加密的资源。可以从存储系统或分布式计算系统等访问经相继加密的资源。在一些示例中,经相继加密的资源可能已经由用户提供。
在操作204处,可以访问与第三用户相关联的第三加密密钥。第三加密密钥可以是对称密码密钥,或者可以是包括非对称密码密钥对的公钥。访问第三加密密钥可以包括:从第三用户接收第三加密密钥。在另一示例中,可以从存储系统或密钥库访问第三加密密钥。密钥库可以与第三用户相关联,或者其可以存储用于多个用户的密码密钥。
移至操作206,可以使用第三加密密钥来对经相继加密的资源进行加密,从而生成第三经加密的资源。在一些示例中,附加信息可以存储在第三经加密的资源中,例如元数据或属性等。附加信息可以包括与第三加密密钥相关的标识信息,包括但不限于密钥指纹、密钥的散列或相关信息、或者标识符。
在操作208处,可以存储第三经加密的资源。可以删除经相继加密的资源,从而确保:除了第一用户和第二用户以外,第三用户也必须提供密码密钥以便对资源进行解密。在一些示例中,可以存储第三经加密的资源来代替经相继加密的资源。流程在操作208处终止。
图3示出了用于对资源进行相继解密的示例方法300的概述。方法300开始于操作302,其中,可以接收经加密的数据。可以从用户、过程或应用等接收经加密的数据。在一些示例中,经加密的数据可以包括附加信息,包括但不限于元数据或属性。附加信息可以提供与密码密钥相关的标识信息,例如密钥指纹、密钥的散列或相关信息、或者标识符等。
在操作304处,可以访问由第一用户提供的第一解密密钥。第一解密密钥可以是对称密码密钥,或者可以是包括非对称密码密钥对的私钥。可以基于包含在经加密的数据内或与经加密的数据相关联的标识信息,从多个解密密钥中选择第一解密密钥。在另一示例中,可以基于在相继加密操作中生成经加密的数据时使用的预先确定的顺序来选择第一解密密钥。提供第一解密密钥可以包括对第一用户方面的肯定动作,其中,第一用户准予对第一解密密钥的访问权限。在其他示例中,第一解密密钥可以存储在存储系统中,其中,已经准予方法200对存储系统中的第一解密密钥的访问权限。第一解密密钥可能已由第一用户存储在存储系统中,从而在没有第一用户所要求的进一步干预或输入的情况下提供访问。在另一示例中,第一用户可以委托另一用户代表他/她来提供第一解密密钥。
移至操作306,可以使用第一解密密钥对经加密的数据进行解密,从而生成第一经解密的数据并移除第一加密层。在操作308处,可以访问由第二用户提供的第二解密密钥。第二解密密钥可以是对称密码密钥,或者可以是包括非对称密码密钥对的私钥。与第一解密密钥相比较,第二解密密钥可以具有相似或不同的属性。作为示例,第一解密密钥和第二解密密钥可以具有相似或不同的密钥长度,或者可以使用相似或不同的密码算法。可以基于包含在第一经解密的数据内或与第一经解密的数据相关联的标识信息,从多个解密密钥中选择第二解密密钥。在另一示例中,可以基于在相继加密操作中生成经加密的数据时使用的预先确定的顺序来选择第二解密密钥。
提供第二解密密钥可以包括对第二用户方面的肯定动作,其中,第二用户准予对第二解密密钥的访问权限。在其他示例中,第二解密密钥可以存储在存储系统中,其中,已经准予方法200对存储系统中的第二解密密钥的访问权限。第二解密密钥可能已由第二用户存储在存储系统中,从而在没有第二用户所要求的进一步干预或输入的情况下提供访问。在另一示例中,第二用户可以委托另一用户代表他/她来提供第二解密密钥。
在操作310处,可以使用第二解密密钥对第一经解密的数据进行进一步解密,从而生成第二经解密的数据并移除第二加密层。在确定操作312处,可以进行关于是否存在另一经加密的层的确定。确定可能需要对与经相继加密的资源的一个或多个层相关联的元数据或属性(例如,是否存在与密码密钥识别码相关的信息,是否存在任何可用的加密元数据等),或者资源本身的特性或属性(例如,基于文件探试程序、文件签名等)进行评估。如果确定不存在另一经加密的层,则流程分支否到操作314,其中,提供第二经解密的数据作为经相继解密的资源。
然而,如果确定存在另一加密层,则流程分支是到操作316,其中,可以访问由后续用户提供的后续解密密钥。后续解密密钥可以是对称密码密钥,或者可以是包括非对称密码密钥对的私钥。与第一解密密钥和第二解密密钥相比较,后续解密密钥可以具有相似或不同的属性。作为示例,第一解密密钥、第二解密密钥和后续解密密钥具有相似或不同的密钥长度,或者可以使用相似或不同的密码算法。可以基于包含在第二经解密的数据内或与第二经解密的数据相关联的标识信息,从多个解密密钥中选择后续解密密钥。在另一示例中,可以基于在相继加密操作中生成经加密的数据时使用的预先确定的顺序来选择后续解密密钥。
由后续用户提供后续解密密钥可以包括对后续用户方面的肯定动作,其中,后续用户准予对后续解密密钥的访问权限。在其他示例中,后续解密密钥可以存储在存储系统中,其中,已经准予方法200对存储系统中的第二解密密钥的访问权限。后续解密密钥可能已由后续用户存储在存储系统中,从而在没有后续用户所要求的进一步干预或输入的情况下提供访问。在另一示例中,后续用户可以委托另一用户代表他/她来提供第二解密密钥。
在操作318处,可以使用后续解密密钥对第二经解密的数据进行进一步解密,从而生成后续的经解密的数据并移除后续加密层。流程然后返回到确定操作312,其中,进行关于是否存在另一加密层的确定。如果确定不存在另一加密层,则流程分支否到操作314,其中,可以提供后续的经解密的资源作为经相继解密的资源。流程在操作314处终止。
然而,如果在确定操作312处确定存在另一加密层,则流程移至操作316。流程在操作312、316和318之间循环,使得使用由后续用户提供的后续解密密钥来对附加加密层进行解密。作为结果,利用每个相继循环从经加密的数据中移除加密层。流程最终在操作314处终止。
图4示出了用于利用密码密钥来对资源进行加密的示例方法400的概述,其中,密码密钥然后被相继加密。方法400开始于操作402,其中,可以生成密码密钥。密码密钥可以是对称密钥,或者它可以是包括公钥和私钥的非对称密钥对。可以使用各种密码算法,包括但不限于AES、DES、RSA和ECC等。本领域技术人员将领会的是,在不脱离本公开内容的精神的情况下,可以使用其他密码算法和系统。
移至操作404,可以使用密码密钥来对资源进行加密,从而生成经加密的资源。资源可以是不同的密码密钥、文档、消息、对话、日历事件等。如果密码密钥是非对称密钥对,则可以使用包括非对称密钥对的公钥来对资源进行加密。在一些示例中,可以存储或保留经加密的资源,而可以不存储或保留资源的未经加密的表示(例如,可以将未经加密的资源从高速缓存或从系统存储器中清除,从文件系统中移除等等)。在另一示例中,经加密的资源可以包括附加信息,例如元数据或属性等。附加信息可以包含与密码密钥相关的标识信息,包括但不限于密钥指纹、密钥的散列或相关信息、或者标识符。可以在对资源进行解密时使用标识信息,以便选择特定密码密钥用于解密。
在操作406处,可以对密码密钥进行相继加密。在一些示例中,可以执行上文针对图1描述的操作,以便对密码密钥进行相继加密。移至操作408,可以存储经相继加密的密码密钥。在一些示例中,存储经相继加密的密码密钥可以包括删除密码密钥的未经加密的表示。流程在操作406处终止。
图5示出了用于对密码密钥进行相继解密的示例方法500的概述,其中,密码密钥然后用于对经加密的资源进行解密。方法500开始于操作502,其中,访问经相继加密的密钥。经相继加密的密钥可以存储在存储系统中、分布式存储系统中、本地存储设备上、或密钥库中等等。
在操作504处,可以对经相继加密的密钥进行相继解密。在一些示例中,相继解密可以包括执行上文针对图3讨论的操作,其中,需要用户共识以便对经相继加密的密钥进行完全解密。一旦被相继解密,密钥就可以保留在存储设备、高速缓存或系统存储器中。在一些示例中,可以临时存储经相继解密的密钥,使其可以用于对资源进行解密,但是在稍后时间点的资源的解密将需要再次对经加密的密钥进行相继解密。这使得在确保后续访问仍然需要在对密钥的相继加密中涉及的用户之间达成共识的同时,能够临时访问资源。
移至操作506,可以访问使用经相继加密的密钥加密的资源。经加密的资源可以存储在本地存储设备上、存储系统中、或分布式存储系统中等等。在操作508处,可以使用经相继解密的密钥来对资源进行解密,从而生成经解密的资源。流程在操作508处终止。
图6A示出了包括经相继加密的资源的示例系统600的概述。在一些示例中,可能已经通过执行通过方法100所阐述的步骤而生成了系统600。在最内层,系统600包括未经加密的资源606。未经加密的资源606可以是密码密钥、文档、消息、对话或日历事件等。
经加密的资源604A可以是第一加密层,其中,经加密的资源604A包括未经加密的资源606。参考图1,作为执行操作106的结果,可能已经生成了经加密的资源604A和元数据604B。更具体地说,可能已经通过利用加密密钥对未经加密的资源606进行加密而生成了经加密的资源604A。加密密钥可以是对称密码密钥,或者包括非对称密码密钥对的公钥。可以使用各种密码算法,包括但不限于AES、DES、RSA和ECC。在一些示例中,生成第一加密层还可以包括:在经加密的资源604A旁边或内部存储元数据604B。元数据604B可以包括与经加密的资源604A相关的附加信息,例如与用于生成经加密的资源604A的加密密钥相关的标识信息。标识信息可以包括密钥指纹、密钥的散列或相关信息、或者标识符等。
在最外层,系统600包括经加密的资源602A和元数据602B。参考图1,作为执行操作110的结果,可能已经生成了经加密的资源602A和元数据602B。可能已经通过利用加密密钥对经加密的资源604A和元数据604B进行加密而生成了经加密的资源602A,其中,加密密钥可以是对称密码密钥或包括非对称密码密钥对的公钥。可以使用各种密码算法,包括但不限于AES、DES、RSA和ECC。元数据602B可以包括与经加密的资源602A相关的附加信息。在一些示例中,元数据602B可以包含与加密密钥相关的标识信息,包括但不限于密钥指纹、密钥的散列或相关信息、或者标识符。
图6B示出了包括经相继加密的资源的示例系统610的概述。在一些示例中,可能已经通过执行通过方法100所阐述的步骤而生成了系统610。在最内层,系统610包括未经加密的资源616。未经加密的资源616可以是密码密钥、文档、消息、对话或日历事件等。
经加密的资源614可以是第一加密层,其中,经加密的资源614包括未经加密的资源616的加密表示。参考图1,作为执行操作106的结果,可能已经生成了经加密的资源614。更具体地说,可能已经通过利用加密密钥对未经加密的资源616进行加密而生成了经加密的资源614。加密密钥可以是对称密码密钥,或者包括非对称密码密钥对的公钥。可以使用各种密码算法,包括但不限于AES、DES、RSA和ECC。在一些示例中,可能已经根据预先确定的顺序(例如,字母顺序、时间顺序等)从多个密码密钥中选择了用于生成经加密的资源614的密钥。
在最外层,系统610包括经加密的资源612。参考图1,作为执行操作110的结果,可能已经生成了经加密的资源612。更具体地说,可能已经通过利用加密密钥对经加密的资源614进行加密而生成了经加密的资源612,其中,加密密钥可以是对称密码密钥或包括非对称密码密钥对的公钥。可以使用各种密码算法,包括但不限于AES、DES、RSA和ECC。在一些示例中,可能已经根据预先确定的顺序(例如,字母顺序、时间顺序等)从多个密码密钥中选择了用于生成经加密的资源614的密钥。
图7-图10和相关联的描述提供了对可以在其中实践本公开内容的方面的各种操作环境的讨论。然而,针对图7-图10示出并且讨论的设备和系统是出于示例和说明的目的,并不限制可用于实践本文中描述的本公开内容的方面的广大计算设备配置。
图7是示出可以用于实践本公开内容的方面的计算设备700的物理组件(例如,硬件)的框图。下述计算设备组件可以适用于上述计算设备。在基本配置中,计算设备700可以包括至少一个处理单元702和系统存储器704。取决于计算设备的配置和类型,系统存储器704可以包括但不限于:易失性存储设备(例如,随机存取存储器)、非易失性存储设备(例如,只读存储器)、闪存器或这样的存储器的任何组合。系统存储器704可以包括操作系统705以及适用于执行本文公开的各个方面(例如,相继加密组件724和相继解密组件726)的一个或多个程序模块706。例如,操作系统705可以适用于控制计算设备700的操作。此外,本公开内容的实施例可以结合图形库、其他操作系统或任何其他应用程序来实践,并且不局限于任何特定的应用或系统。这种基本配置在图7中通过虚线708之内的那些组件示出。计算设备700可以具有附加的特征或功能。例如,计算设备700还可以包括附加的数据存储设备(可移动和/或不可移动的),例如,磁盘、光盘或磁带。这样的附加的存储设备在图7中通过可移动存储设备709和不可移动存储设备710示出。
如上所述,多个程序模块和数据文件可以存储在系统存储器704中。当在处理单元702上执行时,程序模块706(例如,应用720)可以执行包括但不限于如本文所述方面的过程。可以根据本公开内容的方面使用的其他程序模块可以包括:电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。
此外,本公开内容的实施例可以在包括以下各项的电路中实践:分立电子元件、包含逻辑门的封装或集成的电子芯片、使用微处理器的电路,或者在包含电子元件或微处理器的单个芯片上。例如,本公开内容的实施例可以经由片上系统(SoC)实践,在所述片上系统中,图7所示的组件中的每个或许多组件可以集成到单个集成电路上。这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,所有这些可以集成(或“烧制”)到芯片基板上作为单个集成电路。当经由SOC操作时,可以经由与单个集成电路(芯片)上的计算设备700的其他组件集成在一起的专用逻辑单元来操作本文中针对客户端切换协议的能力描述的功能。还可以使用能够执行逻辑运算(例如,和(AND)、或(OR)和否(NOT))的其他技术来实践本公开内容的实施例,这些技术包括但不限于:机械技术、光学技术、流体技术和量子技术。另外,可以在通用计算机或在任何其他电路或系统中实践本公开内容的实施例。
计算设备700还可以具有一个或多个输入设备712,例如键盘、鼠标、笔、声音或语音输入设备、触摸或轻扫输入设备等。还可以包括诸如显示器、扬声器、打印机等的输出设备714。前述设备是示例,并且可以使用其他设备。计算设备700可以包括允许与其他计算设备750的通信的一个或多个通信连接716。合适的通信连接716的示例包括但不限于:射频(RF)发射机、接收机、和/或收发机电路、通用串行总线(USB)、并行和/或串行端口。
本文中所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构或程序模块的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器704、可移动存储设备709和不可移动存储设备710都是计算机存储介质示例(例如,存储器存储设备)。计算机存储介质可以包括:RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储设备、磁带盒、磁带、磁盘存储设备或其他磁存储设备、或者可用于存储信息且可由计算设备700访问的任何其他制品。任何这样的计算机存储介质可以是计算设备700的一部分。计算机存储介质不包括载波波形或其他传播或调制的数据信号。
通信介质可以由计算机可读指令、数据结构、程序模块或经调制的数据信号(如载波波形或其他传输机制)中的其他数据体现并且包括任何信息递送介质。术语“经调制的数据信号”可以描述具有以对信号中的信息进行编码的方式设置或改变的一个或多个特性的信号。通过举例而非限制的方式,通信介质可以包括诸如有线网络或直接线连接之类的有线介质,以及诸如声音、射频(RF)、红外线和其他无线介质之类的无线介质。
图8A和8B示出了可以用于实践本公开内容的实施例的移动计算设备800,例如,移动电话、智能电话、可穿戴计算机(例如,智能手表)、平板计算机、膝上型计算机等。在一些方面,客户端可以是移动计算设备。参考图8A,示出了用于实现这些方面的移动计算设备800的一个方面。在基本配置中,移动计算设备800是具有输入单元和输出单元二者的手持计算机。移动计算设备800通常包括显示器805和允许用户向移动计算设备800输入信息的一个或多个输入按钮810。移动计算设备800的显示器805也可以用作输入设备(例如,触摸屏显示器)。如果包括,那么可选的侧输入单元815允许进一步的用户输入。侧输入单元815可以是旋转开关、按钮、或任何其他类型的手动输入单元。在替换方面,移动计算设备800可以并入更多或更少的输入单元。例如,在一些实施例中,显示器805可以不是触摸屏。在又一替换实施例中,移动计算设备800是便携式电话系统(例如,蜂窝电话)。移动计算设备800还可以包括可选按键板835。可选按键板835可以是物理按键板或在触摸屏显示器上生成的“软”按键板。在各个实施例中,输出单元包括:用于示出图形用户接口(GUI)的显示器805、视觉指示器820(例如,发光二极管)、和/或音频换能器825(例如,扬声器)。在一些方面,移动计算设备800并入用于向用户提供触觉反馈的振动换能器。在又一方面,移动计算设备800并入输入和/或输出端口,例如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和用于向外部设备发送信号或从外部设备接收信号的视频输出(例如,HDMI端口)。
图8B是示出移动计算设备的一个方面的架构的框图。也就是说,移动计算设备800可以并入系统(例如,架构)802来实现一些方面。在一个实施例中,系统802被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些方面,系统802被集成为计算设备,例如集成个人数字助理(PDA)和无线电话。
一个或多个应用程序866可以载入存储器862中,并在操作系统864上运行或与操作系统664相关联的运行。应用程序的示例包括:电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序等。系统802还包括存储器862内的非易失性存储区域868。非易失性存储区域868可以用于存储如果系统802掉电不应当丢失的持久信息。应用程序866可以使用和存储非易失性存储区域868中的信息,例如由电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也位于系统802上,并且被编程用于与驻留在主机计算机上的相应同步应用进行交互,以保持存储在非易失性存储区域868中的信息与存储在主机计算机处的相应信息同步。应当领会,其他应用可以载入存储器862中并在本文中描述的移动计算设备800上运行(例如,搜索引擎、提取器模块、相关性排名模块、答案评分模块等)。
系统802具有电源870,其可以被实现为一个或多个电池。电源870可能还包括外部电源,例如AC适配器或补充或对电池进行补充或再充电的供电的底座。
系统802还可以包括执行发送和接收射频通信的功能的无线接口层872。无线接口层872经由通信载波或服务提供商来便利系统802与“外部世界”之间的无线连接。去往和来自无线接口层872的传输在操作系统864的控制下进行。换句话说,由无线接口层872接收的通信可以经由操作系统864传播到应用程序866,反之亦然。
视觉指示器820可以用于提供视觉通知,和/或音频接口874可以用于经由音频换能器825产生听觉通知。在示出的实施例中,视觉指示器820是发光二极管(LED),而音频换能器825是扬声器。这些设备可以直接耦合至电源870,以便当被激活时,它们在由通知机制指示的一段时间期间保持开启,即使处理器860和其他组件可能关闭以节省电池功率。可以将LED编程为一直处于开启直至用户采取行动来指示设备的上电状态为止。音频接口874用于向用户提供音频信号以及从用户接收音频信号。例如,除了耦合至音频换能器825之外,音频接口874还可以耦合至麦克风来接收音频输入,以便利电话交谈。根据本公开内容的一些实施例,如同下文将描述的,麦克风还可以用作音频传感器来便利对通知的控制。系统802还可以包括视频接口876,其启动板上摄像头830的操作以记录静止图像、视频流等。
实现系统802的移动计算设备800可以具有附加的特征或功能。例如,移动计算设备800还可以包括附加的数据存储设备(可移动和/或不可移动的),例如磁盘、光盘、或磁带。这些附加的存储设备在图8B中通过非易失性存储区域868示出。
由移动计算设备800生成或捕捉,并经由系统802存储的数据/信息可以如上所述本地存储在移动计算设备800上,或者数据可以存储在可以由设备经由无线接口层872或经由移动计算设备800与和移动计算设备800相关联的单独的计算设备(例如,分布式计算网络(如互联网)中的服务器计算机)之间的有线连接访问的任意数量的存储介质上。应当领会的是,可以经由无线接口层872或经由分布式计算网络,经由移动计算设备800来访问这样的数据/信息。类似地,这样的数据/信息可以根据公知的数据/信息传输和存储手段(包括电子邮件和协作式数据/信息共享系统)容易地在计算设备之间传输以便存储和使用。
图9示出了用于对在计算系统处从远程源(例如,如上所述个人计算机904、平板计算设备906或移动计算设备908)接收的数据进行处理的系统的架构的一个方面。在服务器设备902处显示的内容可以存储在不同的通信信道或其他存储类型中。例如,可以使用目录服务922、门户网站924、邮箱服务926、即时消息传送存储装置928或社交网站930来存储各种文档。相继解密组件921可以由与服务器设备902通信的客户端采用,和/或相继加密组件920可以由服务器设备902采用。服务器设备902可以通过网络915向诸如个人计算机904、平板计算设备906和/或移动计算设备908(例如,智能电话)之类的客户端计算设备提供数据。通过举例的方式,上述计算机系统可以在以下各项中体现:个人计算机904、平板计算设备906、和/或移动计算设备908(例如,智能电话)。除了接收可用于在图形发起系统处进行预处理或在接收计算系统处进行后处理的图形数据之外,计算设备的这些实施例中的任何一个实施例都可以从存储装置916获得内容。
图10示出了可以执行本文中公开的一个或多个方面的示例性平板计算设备1000。另外,本文中描述的方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,在所述分布式系统中,应用功能、存储器、数据存储和检索以及各种处理功能可以通过分布式计算网络(例如,互联网或内联网)相对于彼此远程操作。各种类型的用户接口和信息可以经由机载计算设备显示器,或经由与一个或多个计算设备相关联的远程显示单元来显示。例如,各种类型的用户接口和信息可以在各种类型的用户接口和信息投射到的墙面上显示或者与这样的墙面进行交互。与可以用其来实践本发明的实施例的众多计算系统的交互包括:击键输入、触摸屏输入、语音或其他音频输入、在相关联计算设备配备有用于捕捉和解释用于控制计算设备的功能的用户手势的检测(例如,摄像头)功能的情况下的手势输入等。
从前面的公开内容将可以理解,本技术的一个方面与一种系统相关,所述系统包括:至少一个处理器;以及存储指令的存储器,所述指令当由所述至少一个处理器执行时执行操作集合。操作包括:确定资源是否要被加密;当资源要被加密时,访问与第一用户相关联的第一加密密钥;使用第一加密密钥来生成资源的第一经加密的资源;删除资源;访问与第二用户相关联的第二加密密钥;使用第二加密密钥来生成第一经加密的资源的第二经加密的资源,使得在没有由第一用户提供的第一解密密钥和由第二用户提供的第二解密密钥的情况下,第二经加密的资源不能被访问;删除第一经加密的资源;以及存储第二经加密的资源。在示例中,操作集合还包括:访问第二经加密的资源;访问与第三用户相关联的第三加密密钥;基于第三加密密钥,从第二经加密的资源生成第三经加密的资源,使得在没有由第一用户提供的第一解密密钥、由第二用户提供的第二解密密钥和由第三用户提供的第三解密密钥的情况下,第三经加密的资源不能被访问;以及存储第三经加密的资源,其中,第二经加密的资源不被保留。在另一示例中,资源是用于对第二资源进行加密的第四加密密钥。在另一示例中,操作集合还包括:基于第四加密密钥,从第二资源生成第三经加密的资源;以及删除第二资源。在又一示例中,资源是以下各项中的一项:文档;与文档相关的信息;对话;以及消息。在又一示例中,第一加密密钥是与第一用户相关联的非对称密钥对的公钥,并且第二加密密钥是与第二用户相关联的非对称密钥对的公钥。在另一示例中,第一经加密的资源包括与第一加密密钥相关联的元数据,并且第二经加密的资源包括与第二加密密钥相关联的元数据。
在另一方面,该技术与一种用于对经相继加密的资源进行相继解密的计算机实现的方法相关。所述方法包括:接收经加密的数据;访问第一解密密钥,其中,第一解密密钥是由第一用户提供的;访问第二解密密钥,其中,所述第二解密密钥是由第二用户提供的;基于第一解密密钥,从经加密的数据生成第一经解密的数据;基于第二解密密钥,从第一经解密的数据生成第二经解密的数据;确定是否存在另一经加密的层;以及当确定不存在另一经加密的层时,提供第二经解密的数据,其中,第二经解密的数据是未经加密的资源。在示例中,所述方法还包括:当确定存在另一经加密的层时,访问第三解密密钥,其中,第三解密密钥是由第三用户提供的;基于第三解密密钥,从第二经解密的数据生成第三经解密的数据;确定是否存在另一经加密的层;以及当确定不存在另一经加密的层时,提供第三经解密的数据,其中,第三经解密的数据是未经加密的资源。在另一示例中,未经加密的资源是用于对经加密的资源进行解密的对称加密密钥。在另一示例中,所述方法还包括:基于未经加密的资源,从经加密的资源生成第二未经加密的资源。在又一示例中,第二未经加密的资源是以下各项中的一项:文档;与文档相关的信息;对话;以及消息。在又一示例中,经加密的数据包括与第一解密密钥相关联的元数据,并且第一经解密的数据包括与第二解密密钥相关联的元数据。在又一示例中,第一加密密钥是与第一用户相关联的非对称密钥对的私钥,并且第二加密密钥是与第二用户相关联的非对称密钥对的公钥。
在另一方面,该技术与用于生成经相继加密的资源的另一计算机实现的方法相关。所述方法包括:确定资源是否要被加密;当资源要被加密时,访问与第一用户相关联的第一公共加密密钥;使用第一公共加密密钥来生成资源的第一经加密的资源;删除资源;访问与第二用户相关联的第二公共加密密钥;使用第二公共加密密钥来生成第一经加密的资源的第二经加密的资源,使得在没有由第一用户提供的第一私有解密密钥和由第二用户提供的第二私有解密密钥的情况下,第二经加密的资源不能被访问;删除第一经加密的资源;以及存储第二经加密的资源。在示例中,所述方法还包括:访问第二经加密的资源;访问与第三用户相关联的第三公共加密密钥;基于第三公共加密密钥,从第二经加密的资源生成第三经加密的资源,使得在没有由第一用户提供的第一私有解密密钥、由第二用户提供的第二私有解密密钥和由第三用户提供的第三私有解密密钥的情况下,第三经加密的资源不能被访问;以及存储第三经加密的资源,其中,第二经加密的资源不被保留。在另一示例中,资源是用于对第二资源进行加密的对称加密密钥。在又一示例中,所述方法还包括:基于对称加密密钥,从第二资源生成第三经加密的资源;以及删除第二资源。在又一示例中,资源是以下各项中的一项:文档;与文档相关的信息;对话;以及消息。在另一示例中,第一经加密的资源包括与第一公共加密密钥相关联的元数据,并且第二经加密的资源包括与第二公共加密密钥相关联的元数据。
例如,在上文中参考根据本公开内容的方面的方法、系统和计算机程序产品的框图和/或操作说明描述了本公开内容的方面。这些框中指出的功能/动作可以不按任何流程图中示出的顺序发生。例如,示出为相继的两个框实际上可基本并行执行,或者这些框有时可以相反的次序执行,这取决于所涉及的功能/动作。
对这一申请中提供的一个或多个方面的描述和说明并不意在将本公开内容的范围限制或约束为以任何方式声明的那样。这一申请中提供的方面、示例和细节被认为足够传达所有物并且使其他人能够制造和使用所声明的公开内容的最佳模式。所声明的公开内容不应当被解释为仅限于这一申请中提供的任何方面、示例或细节。无论是组合地还是单独地示出和描述,各种特征(结构上和方法上二者)意在被选择性地包括或省略以产生具有特定特征集合的实施例。在已经提供本公开内容的描述和说明的情况下,本领域技术人员可以预见不脱离所声明的公开内容的更广范围而落在这一申请中体现的一般发明性构思的更广泛方面的精神内的变型、修改和替换方面。

Claims (15)

1.一种系统,包括:
至少一个处理器;以及
存储指令的存储器,所述指令当由所述至少一个处理器执行时执行包括以下各项的操作集合:
确定资源是否要被加密;
当所述资源要被加密时,访问与第一用户相关联的第一加密密钥;
使用所述第一加密密钥来生成所述资源的第一经加密的资源;
删除所述资源;
访问与第二用户相关联的第二加密密钥;
使用所述第二加密密钥来生成所述第一经加密的资源的第二经加密的资源,使得在没有由所述第一用户提供的第一解密密钥和由所述第二用户提供的第二解密密钥的情况下,所述第二经加密的资源不能被访问;
删除所述第一经加密的资源;以及
存储所述第二经加密的资源。
2.根据权利要求1所述的系统,其中,所述操作集合还包括:
访问所述第二经加密的资源;
访问与第三用户相关联的第三加密密钥;
基于所述第三加密密钥,从所述第二经加密的资源生成第三经加密的资源,使得在没有由所述第一用户提供的第一解密密钥、由所述第二用户提供的第二解密密钥和由所述第三用户提供的第三解密密钥的情况下,所述第三经加密的资源不能被访问;以及
存储所述第三经加密的资源,其中,所述第二经加密的资源不被保留。
3.根据权利要求1所述的系统,其中,所述第一加密密钥是与所述第一用户相关联的非对称密钥对的公钥,并且所述第二加密密钥是与所述第二用户相关联的非对称密钥对的公钥。
4.根据权利要求1所述的系统,其中,所述第一经加密的资源包括与所述第一加密密钥相关联的元数据,并且所述第二经加密的资源包括与所述第二加密密钥相关联的元数据。
5.一种用于对经相继加密的资源进行相继解密的计算机实现的方法,所述方法包括:
接收经加密的数据;
访问第一解密密钥,其中,所述第一解密密钥是由第一用户提供的;
访问第二解密密钥,其中,所述第二解密密钥是由第二用户提供的;
基于所述第一解密密钥,从所述经加密的数据生成第一经解密的数据;
基于所述第二解密密钥,从所述第一经解密的数据生成第二经解密的数据;
确定是否存在另一经加密的层;以及
当确定不存在另一经加密的层时,提供所述第二经解密的数据,其中,所述第二经解密的数据是未经加密的资源。
6.根据权利要求5所述的计算机实现的方法,还包括:
当确定存在另一经加密的层时,访问第三解密密钥,其中,所述第三解密密钥是由第三用户提供的;
基于所述第三解密密钥,从所述第二经解密的数据生成第三经解密的数据;
确定是否存在另一经加密的层;以及
当确定不存在另一经加密的层时,提供所述第三经解密的数据,其中,所述第三经解密的数据是未经加密的资源。
7.根据权利要求5所述的计算机实现的方法,其中,所述未经加密的资源是用于对经加密的资源进行解密的对称加密密钥。
8.根据权利要求7所述的计算机实现的方法,还包括:
基于所述未经加密的资源,从所述经加密的资源生成第二未经加密的资源。
9.一种用于生成经相继加密的资源的计算机实现的方法,所述方法包括:
确定资源是否要被加密;
当所述资源要被加密时,访问与第一用户相关联的第一公共加密密钥;
使用所述第一公共加密密钥来生成所述资源的第一经加密的资源;
删除所述资源;
访问与第二用户相关联的第二公共加密密钥;
使用所述第二公共加密密钥来生成所述第一经加密的资源的第二经加密的资源,使得在没有由所述第一用户提供的第一私有解密密钥和由所述第二用户提供的第二私有解密密钥的情况下,所述第二经加密的资源不能被访问;
删除所述第一经加密的资源;以及
存储所述第二经加密的资源。
10.根据权利要求9所述的计算机实现的方法,其中,所述资源是以下各项中的一项:
文档;
与文档相关的信息;
对话;以及
消息。
11.根据权利要求1所述的系统,其中,所述资源是用于对第二资源进行加密的第四加密密钥。
12.根据权利要求11所述的系统,其中,所述操作集合还包括:
基于所述第四加密密钥,从所述第二资源生成第三经加密的资源;以及
删除所述第二资源。
13.根据权利要求5所述的计算机实现的方法,其中,所述经加密的数据包括与所述第一解密密钥相关联的元数据,并且所述第一经解密的数据包括与所述第二解密密钥相关联的元数据。
14.根据权利要求9所述的计算机实现的方法,还包括:
访问所述第二经加密的资源;
访问与第三用户相关联的第三公共加密密钥;
基于所述第三公共加密密钥,从所述第二经加密的资源生成第三经加密的资源,使得在没有由所述第一用户提供的第一私有解密密钥、由所述第二用户提供的第二私有解密密钥和由所述第三用户提供的第三私有解密密钥的情况下,所述第三经加密的资源不能被访问;以及
存储所述第三经加密的资源,其中,所述第二经加密的资源不被保留。
15.根据权利要求9所述的计算机实现的方法,其中,所述第一经加密的资源包括与所述第一公共加密密钥相关联的元数据,并且所述第二经加密的资源包括与所述第二公共加密密钥相关联的元数据。
CN201880005642.7A 2017-01-06 2018-01-03 相继密码技术 Pending CN110140336A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/400,439 US20180219674A1 (en) 2017-01-06 2017-01-06 Successive cryptographic techniques
US15/400,439 2017-01-06
PCT/US2018/012126 WO2018129003A1 (en) 2017-01-06 2018-01-03 Successive cryptographic techniques

Publications (1)

Publication Number Publication Date
CN110140336A true CN110140336A (zh) 2019-08-16

Family

ID=61569326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880005642.7A Pending CN110140336A (zh) 2017-01-06 2018-01-03 相继密码技术

Country Status (4)

Country Link
US (1) US20180219674A1 (zh)
EP (1) EP3566415B1 (zh)
CN (1) CN110140336A (zh)
WO (1) WO2018129003A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2569398B (en) * 2017-12-18 2022-03-02 V Auth Ltd Authentication method and device
US10615976B2 (en) * 2018-02-23 2020-04-07 Sap Se Lightweight key management system for multi-tenant cloud environment
CN112637161B (zh) * 2018-09-12 2022-07-08 宁德时代新能源科技股份有限公司 数据传输方法和存储介质
EP4035035A4 (en) * 2019-09-25 2023-10-04 Commonwealth Scientific and Industrial Research Organisation CRYPTOGRAPHIC SERVICES FOR BROWSER APPLICATIONS
US11743241B2 (en) * 2020-12-30 2023-08-29 International Business Machines Corporation Secure data movement
KR20230063170A (ko) * 2021-11-01 2023-05-09 삼성전자주식회사 스토리지 컨트롤러를 포함하는 스토리지 장치 및 이의 동작 방법
US11960407B1 (en) * 2023-10-06 2024-04-16 Cloudflare, Inc. Cache purging in a distributed networked system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001055850A1 (en) * 2000-01-25 2001-08-02 David Czajkowski Encrypted internet and intranet communication device
US6754820B1 (en) * 2001-01-30 2004-06-22 Tecsec, Inc. Multiple level access system
CN1698041A (zh) * 2003-06-09 2005-11-16 索尼株式会社 信息装置、信息服务器、信息处理系统、方法和程序
CN102594824A (zh) * 2012-02-21 2012-07-18 北京国泰信安科技有限公司 基于多重安全保护机制的电子文档安全分发方法
CN104811448A (zh) * 2015-04-21 2015-07-29 成都汇智远景科技有限公司 一种数据安全存储方法
CN105743930A (zh) * 2005-11-18 2016-07-06 安全第一公司 安全数据解析方法和系统
US20160292447A1 (en) * 2015-04-06 2016-10-06 Lawlitt Life Solutions, LLC Multi-layered encryption

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7580521B1 (en) * 2003-06-25 2009-08-25 Voltage Security, Inc. Identity-based-encryption system with hidden public key attributes
US7480385B2 (en) * 2004-11-05 2009-01-20 Cable Television Laboratories, Inc. Hierarchical encryption key system for securing digital media
US9031876B2 (en) * 2009-06-19 2015-05-12 Hewlett-Packard Development Company, L.P. Managing keys for encrypted shared documents
US8462955B2 (en) * 2010-06-03 2013-06-11 Microsoft Corporation Key protectors based on online keys
US20130191629A1 (en) * 2012-01-19 2013-07-25 Laconic Security, Llc Secure group-based data storage in the cloud
US20140115327A1 (en) * 2012-10-22 2014-04-24 Microsoft Corporation Trust services data encryption for multiple parties
CN105704085B (zh) * 2014-11-24 2018-11-02 国际商业机器公司 用于信息共享的方法和装置
US9990474B2 (en) * 2016-03-16 2018-06-05 Konica Minolta Laboratory U.S.A., Inc. Access control for selected document contents using document layers and access key sequence
US20180137302A1 (en) * 2016-07-26 2018-05-17 Salesforce.Com, Inc. Techniques and architectures for field and/or record level security mechanisms
US10346318B2 (en) * 2016-09-13 2019-07-09 Intel Corporation Multi-stage memory integrity method and apparatus

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001055850A1 (en) * 2000-01-25 2001-08-02 David Czajkowski Encrypted internet and intranet communication device
US6754820B1 (en) * 2001-01-30 2004-06-22 Tecsec, Inc. Multiple level access system
CN1698041A (zh) * 2003-06-09 2005-11-16 索尼株式会社 信息装置、信息服务器、信息处理系统、方法和程序
CN105743930A (zh) * 2005-11-18 2016-07-06 安全第一公司 安全数据解析方法和系统
CN102594824A (zh) * 2012-02-21 2012-07-18 北京国泰信安科技有限公司 基于多重安全保护机制的电子文档安全分发方法
US20160292447A1 (en) * 2015-04-06 2016-10-06 Lawlitt Life Solutions, LLC Multi-layered encryption
CN104811448A (zh) * 2015-04-21 2015-07-29 成都汇智远景科技有限公司 一种数据安全存储方法

Also Published As

Publication number Publication date
WO2018129003A1 (en) 2018-07-12
US20180219674A1 (en) 2018-08-02
EP3566415B1 (en) 2021-11-10
EP3566415A1 (en) 2019-11-13

Similar Documents

Publication Publication Date Title
CN110140336A (zh) 相继密码技术
CN110169009A (zh) 隔离的集合中的密码操作
CN104919775B (zh) 用于密钥链同步的系统和方法
WO2016045469A1 (zh) 信息加密方法和移动终端
CN103455764B (zh) 一种基于文件分割合并技术的文件加密以及解密系统
CN107736001A (zh) 设备的动态组成员身份
CN105940657B (zh) 基于租户的签名验证
CN107113286A (zh) 跨设备的漫游内容擦除操作
US10635828B2 (en) Tokenized links with granular permissions
US10805077B2 (en) Partially encrypted conversations via keys on member change
CN106605232A (zh) 利用策略保持数据保护
CN110210246A (zh) 一种基于安全计算的个人数据服务方法和系统
US20210111897A1 (en) Offline protection of secrets
CN107948152A (zh) 信息存储方法、获取方法、装置及设备
CN109214201A (zh) 一种数据共享方法、终端设备及计算机可读存储介质
CN102891749A (zh) 数据加密的方法及其通信终端
CN102868826B (zh) 终端和终端数据保护方法
JPWO2020003821A1 (ja) 情報処理システム、情報処理方法、および情報処理装置
CN106650372A (zh) 管理员权限的开通方法及装置
Thilakanathan et al. Secure multiparty data sharing in the cloud using hardware-based TPM devices
CN104866773B (zh) 一种指纹搜索方法、装置及终端
WO2016052959A1 (ko) 온라인 시크릿 데이터 관리시스템 및 그 방법
US7715560B2 (en) Systems and methods for hiding a data group
CN108280330A (zh) 数据输出方法及系统
CN115333875B (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190816

WD01 Invention patent application deemed withdrawn after publication