CN109891423A - 使用多个控制机构的数据加密控制 - Google Patents

使用多个控制机构的数据加密控制 Download PDF

Info

Publication number
CN109891423A
CN109891423A CN201680090541.5A CN201680090541A CN109891423A CN 109891423 A CN109891423 A CN 109891423A CN 201680090541 A CN201680090541 A CN 201680090541A CN 109891423 A CN109891423 A CN 109891423A
Authority
CN
China
Prior art keywords
key
message
encrypted
computer
control mechanism
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.)
Granted
Application number
CN201680090541.5A
Other languages
English (en)
Other versions
CN109891423B (zh
Inventor
E·勒圣
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.)
Visa International Service Association
Original Assignee
Visa International Service Association
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 Visa International Service Association filed Critical Visa International Service Association
Publication of CN109891423A publication Critical patent/CN109891423A/zh
Application granted granted Critical
Publication of CN109891423B publication Critical patent/CN109891423B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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

Landscapes

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

Abstract

描述用于实现数据加密控制的系统和方法。请求实体可请求解密经加密消息。可由多个控制机构执行用于所述请求实体解密所述经加密消息的授权。用于解密所述经加密消息的解密密钥可拆分且特定地针对所述多个控制机构加密,使得单一控制机构没有足够的信息来解密所述经加密消息。可请求指定数目的所述控制机构解密经加密密钥部分,以便所述请求实体被授权重构所述解密密钥。

Description

使用多个控制机构的数据加密控制
背景
通常,加密实体可以为了安全而对信息加密,以便仅接收方可以解密信息。尽管如此,有些情况下,加密实体可能希望有可能为其他实体提供解密信息的能力。但是,当前没有可行的办法来安全地加密信息然后使除接收方以外的实体能够解密信息,而不使用后门或密钥托管,后门或密钥托管可能使实体能够访问超出原始意图的更多信息(例如,超过一条消息)。
本发明的实施例单独地和共同地解决此问题和其它问题。
发明内容
描述用于实现数据加密控制的系统和方法。例如,请求实体可以请求解密经加密消息。可以由多个控制机构执行用于请求实体解密经加密消息的授权。解密经加密消息所需的解密密钥可以专门针对多个控制机构分割和加密,以便单个控制机构不会具有用以解密经加密消息的足够信息。指定数目的控制机构可能必须解密经加密的密钥部分,以便请求实体被授权重构解密密钥。
一些实施例可以由与加密实体关联的计算机执行。计算机可以产生消息的密钥,并且还可以产生一次性加密密钥的N个密钥部分。N可以是至少为二的整数。所述密钥部分的至少M个可以组合成一次性加密密钥,以便所产生的一次性加密密钥可以操作以解密消息的第二部分。M可以是等于或小于N的整数。在一些实施例中,密钥可以是对称密钥,其可以使用加密实体的私钥和与目标装置相关联的公钥产生。
对于每个密钥部分,计算机可以使用对应控制机构的可信密钥对密钥部分进行加密。在一些实施方案中,对密钥部分进行加密可以包括产生对称密钥,然后使用所产生的对称密钥对密钥部分进行加密。对称密钥可以使用对应控制机构的公钥和加密实体的私钥产生。
计算机可以产生消息,所述消息可以包含至少第一部分和第二部分。第一部分可以包含多个控制机构的多个加密密钥部分和识别符。第二部分可以使用一次性加密密钥加密。在一些实施方案中,多个控制机构的识别符中的每一个包含路由至相应控制机构的URL。在一些实施例中,消息可以包含策略信息。策略信息可以包括指示经授权或未授权解密经加密密钥部分的实体的信息,以及指示实体的认证或授权可接受的凭证类型、申请和验证方法的信息。
然后,计算机可以发送消息。在某些情况下,计算机可以将消息发送到目标装置。在一些实施例中,目标装置可以是与请求解密消息的申请人相关联的申请人装置。在一些情况下,消息可以进一步发送到与多个控制机构相关联的计算机。
一些实施例可以由目标装置执行。目标装置可接收包含至少第一部分和第二部分的消息。第一部分可以包含为多个控制机构的消息和识别符产生的密钥的至少M个经加密密钥部分。在一些实施例中,多个控制机构的识别符中的每一个包含路由至相应控制机构的URL。每个经加密密钥部分可以使用对应控制机构的可信密钥进行加密。与加密实体关联的计算机可以产生密钥的N个密钥部分,其中N可以是至少为二的整数,且M可以是等于或小于N的整数。第二部分可以使用密钥加密。
目标装置可以将消息随解密消息的请求一起路由到一个或多个计算机。在一些情况下,路由消息可以包括基于识别符将消息发送到与多个控制机构相关联的多个计算机。在其它情况下,路由消息可以包括随将消息发送到与多个控制机构相关联的多个计算机的请求一起,将消息发送到与来自多个控制机构的控制机构相关联的计算机。在另外一些其它情况下,路由消息可以包括随将消息发送到与多个控制机构相关联的多个计算机的请求一起,将消息发送到中间计算机。在将消息发送到中间计算机的情况下,消息可能包含路由至中间计算机的URL。
目标装置可以接收专门为目标装置加密的多个重新加密的密钥部分。每个重新加密的密钥部分可以由来自多个控制机构的对应控制机构加密。在一些情况下,多个重新加密的密钥部分可以从与多个控制机构相关联的多个计算机或中间计算机中的一个或多个接收。
目标装置可解密多个重新加密的密钥部分中的至少M个,以获得至少M个密钥部分。在一些实施例中,解密多个重新加密的密钥部分中的至少M个包括对多个重新加密的密钥部分的至少M个中的每一个执行过程。该过程可以包含使用与目标装置相关联的私钥以及对应控制机构的公钥来产生对称密钥。该过程还可以包含使用对称密钥解密重新加密的密钥部分。
然后,目标装置可以基于经解密密钥部分解密消息。目标装置可通过组合至少M个密钥部分来产生密钥。使用所产生的密钥,目标装置可以随后解密消息的第二部分。
一些实施例可以由与控制机构关联的计算机执行。计算机可接收包含至少第一部分和第二部分的消息。第一部分可以包含为多个控制机构的消息和识别符产生的密钥的至少M个经加密密钥部分。每个经加密密钥部分可以使用对应控制机构的可信密钥进行加密。与加密实体相关联的计算机可以产生密钥的N个密钥部分,其中N可以是至少为二的整数,且M可以是等于或小于N的整数。第二个部分可以使用密钥加密。密钥的密钥部分中的至少M个可以组合成密钥,以便所产生密钥可操作以解密消息的第二部分。消息可以从目标装置、中间计算机或与另一控制机构关联的另一计算机接收。在一些实施例中,目标装置可以是与可请求解密消息的申请人关联的申请人装置。
与控制机构关联的计算机然后可解密消息中的经加密密钥部分以获得密钥部分。在一些实施例中,解密密钥部分可以包括获取控制机构的私钥,并使用私钥解密经加密密钥部分。在一些实施方案中,解密密钥部分可以包括使用加密实体的公钥和控制机构的私钥来产生对称密钥,并使用对称密钥解密经加密密钥部分。
与控制机构关联的计算机可以重新加密密钥部分以产生专门针对目标装置加密的重新加密的密钥部分。在一些实施例中,重新加密密钥部分可以包括使用控制机构的私钥和与目标装置相关联的公钥来产生对称密钥,并使用对称密钥重新加密密钥。
与控制机构关联的计算机可以发送重新加密的密钥部分。重新加密的密钥部分可以发送到目标装置、中间计算机或与另一控制机构关联的另一计算机。
在一些实施例中,与控制机构相关联的计算机可以进行进一步的步骤。例如,计算机可以将消息发送到与多个控制机构相关联的多个计算机。计算机可以进一步从与多个控制机构相关联的多个计算机接收特定地针对目标装置加密的至少M-1个重新加密的密钥部分。计算机可以进一步将重新加密的密钥部分和所接收的至少M-1个重新加密的密钥部分发送至目标装置。
本发明的实施例进一步针对一种包括处理器和耦合到处理器的计算机可读介质的计算机。计算机可读介质可以包括在由处理器执行时执行上述方法的指令。
本发明的实施例进一步针对一种计算机产品。所述计算机产品可包括可存储多个指令的计算机可读介质,所述多个指令用于控制计算机系统执行任何上述方法的操作。
本发明的实施例进一步针对一种系统。在一些实施例中,所述系统可以包括上述计算机产品,以及用于执行存储在计算机可读介质上的指令的一个或多个处理器。
本发明的实施例进一步针对一种系统,所述系统可以包括用于执行本文所描述方法中的任一种的构件。
本发明的其它实施例进一步针对一种被配置成执行上述方法中的任一种的系统。
本发明的实施例进一步针对一种系统,所述系统可以包括可分别执行本文所描述方法中的任一种的步骤的模块。
下文进一步详细地描述本发明的这些和其它实施例。
附图说明
图1示出根据本发明的实施例的示例性系统。
图2示出根据本发明的实施例的示例性流程图。
图3示出根据本发明的实施例的用于控制机构的示例性注册过程流程。
图4示出根据本发明的实施例获得目标证书的示例性过程流程。
图5示出根据本发明的实施例用于产生经加密消息的示例性过程流程。
图6示出根据本发明的实施例用于申请人请求解密消息的示例性过程流程。
图7示出根据本发明的实施例用于多方数据加密控制的示例性过程流程。
图8示出根据本发明的实施例实现目标的加权以获得消息密钥部分的示例性消息。
图9示出根据本发明的实施例实现目标的私人加权以获得消息密钥部分的示例性消息。
图10示出根据本发明的实施例用于在不了解目标证书的情况下产生经加密消息的示例性过程流程。
图11示出根据本发明的实施例用于目标装置请求解密消息的示例性过程流程。
图12示出根据本发明的实施例用于多方数据加密控制的示例性过程流程。
图13示出根据本发明的实施例用于将控制机构组织为网络的示例性过程流程。
具体实施方式
数据加密可用于保护来自第三方实体的数据。例如,从发送方发送给接收方的数据被加密,以保护其免遭可能尝试拦截数据的恶意中介方。但是,由于中介方没有解密经加密数据所需的信息(例如解密密钥),因此无法执行解密过程。只有经授权接收方可访问必要的信息来解密经加密数据,并因此访问数据。
但是,有些情况下,经授权第三方可能需要恢复某些经加密数据,这在使用非常强大的加密时可能会有问题。使用强加密技术保护数据的示例系统和方法在以下文献中描述:2015年1月13日提交的第14/595,792号美国非临时申请、2015年6月18日提交的第14/743,874号美国非临时申请、2016年1月27日提交的第15/008,388号美国非临时申请,以及2016年2月16日提交的第15/045,052号美国非临时申请,这些文献的全文出于所有目的在此以引用的方式并入。这些应用的方面可以如一般技术人员将了解,与本发明的一些实施例组合、混合和匹配。
如上所述,第三方无法在此类情况下接收经加密数据,因为其没有访问解密经加密数据所需的信息的权限。但是,仅仅向经授权第三方提供解密所需的信息并不安全,因为这可能向其提供太多权力。例如,这可能使经授权第三方能够利用接收的信息来解密数据超出其原始意图(例如,超过单个消息),这可能会损害机密信息。需要安全系统和方法来使第三方能够恢复经加密数据。
另一问题是,即使有使第三方能够恢复经加密数据的方式,故意使第三方恢复经加密数据的决策仍存在争议。由于各种原因(包含隐私顾虑),这种决策很可能会遭遇反对。例如,实体向接收方发送经加密消息的意图是,消息中的数据将仅由接收方看到。使数据能够暴露于第三方可能违反发送实体和接收方实体的隐私权。但是,在极端情况下,恢复经加密数据可能是有益的。例如,恢复经加密数据可以在与国家安全事项相关的情况下提供宝贵的信息。
虽然保持在选定情况下第三方可以恢复经加密数据的可能性可能是有用的,但是太轻易地使恢复经加密数据的能力变得可用可能很危险。因此,需要一种具有制约和平衡的系统,确保无法轻松地作出允许第三方恢复经加密数据的决策。例如,系统可以确保可在多个实体之间缓解决定是否允许恢复经加密数据的权利,从而单个实体将不能够单独作出决策。
确保决定实现经加密数据恢复的权力被分散的一种方式是向多个控制机构提供解密经加密数据所需的信息的不同部分。这防止任何单个实体能够执行解密过程,以及能够为另一个实体提供足够的信息来执行解密过程。在一个实施例中,可能需要解密密钥来解密经加密数据。解密密钥可拆分成多个密钥部分,这些密钥部分可分布到多个实体。没有单个实体可以接收到足够的信息来产生解密密钥,从而解密经加密数据。因此,只有在接收密钥部分的多个实体合作时,才能恢复经加密数据。这确保多个实体必须协商一致来为请求方提供恢复经加密数据的能力,从而阻止单个实体变得太强大。
I.系统
描述了用于实现数据加密控制的包含加密实体计算机和目标装置的示例性系统。
示例架构
图1示出根据本发明实施例的示例性系统100。图1包含加密实体计算机10和目标装置30,其中目标装置30可以向中间计算机20发送解密由加密实体计算机10加密的数据的请求。中间计算机20可以与多个控制机构计算机通信,所述多个控制机构计算机包含控制机构计算机40A、控制机构计算机40B、控制机构计算机40C以及控制机构计算机40N,以便检索要用于通过目标装置30解密的信息。应当理解,中间计算机20可以与任何适当数量的控制机构计算机通信,并且图1中的控制机构计算机40A到40N的描绘并不意图是限制性的。
图1中示出的每个实体(例如,加密实体计算机10、中间计算机20、目标装置30、控制机构计算机40A-40N)也可以称为计算装置。计算装置可以包含处理器、操作性耦合到处理器的存储器、输入装置和输出装置。所述计算装置可以包括耦合到处理器的计算机可读介质。计算机可读介质可以包括在由处理器执行时可执行上述方法的指令。计算装置可能够通过合适的通信网络与其它装置、计算机或系统通信。
示例性计算装置包含蜂窝电话或移动电话、平板计算机、台式计算机、个人数字助理(PDA)、寻呼机、便携式计算机、服务器计算机等。额外计算装置可以包含可穿戴装置,例如智能手表、健身手环、脚链、戒指、耳环等。在一些实施例中,计算装置可以包含具有远程通信能力的汽车。
加密实体计算机10可以是可加密数据的计算装置。加密实体计算机10可能够产生加密密钥,且使用产生的加密密钥来加密数据。在一些实施例中,加密密钥可以包括使用Diffie-Hellman密钥交换协议产生的对称密钥。在某些情况下,产生的加密密钥可以是临时密钥。加密实体计算机10还可能够从其它实体检索加密密钥,并使用检索到的加密密钥加密数据。
加密实体计算机10可以将加密密钥拆分成多个密钥部分。可以使用任何合适的密钥拆分算法。在一些实施例中,加密实体计算机10可以利用阈值方案(例如,Shamir的秘密共享方案、Blakley的方案、MigNotte的方案、Asmuth-Bloom的方案等),以便全部N个密钥部分中的任何M个密钥部分足以重构原始加密密钥,其中M为等于或小于N的整数。加密密钥可以是可用于加密和解密数据的对称密钥。
加密实体计算机10可以产生消息,以及向和从其它计算装置传送消息。在一些实施例中,加密实体计算机10可以与发送实体(例如,发送方)关联,并且可以将包括由加密实体计算机10加密的数据的消息传输到另一计算装置。例如,加密实体计算机10可以产生包括使用加密密钥加密的数据的消息。所述消息可进一步包括加密密钥的密钥部分,其中密钥部分可以如上所述由加密实体计算机10产生。在一些实施例中,加密实体计算机10可以将密钥部分包含在消息中之前加密所述密钥部分。
中间计算机20可以是在计算装置之间中继信息的计算装置。中间计算机20可以与代理人相关联,并且可以向和从多个控制机构计算机传送信息。在一些实施例中,中间计算机20可以从目标装置30接收解密由加密实体计算机10使用加密密钥加密的数据的请求。随后,中间计算机20可以向多个控制机构计算机的每一个发送包括加密密钥的经加密密钥部分的消息。在多个控制机构计算机解密足够数量的经加密密钥部分之后,中间计算机20可以接收经解密密钥部分。中间计算机20可以将经解密密钥部分发送到目标装置30,目标装置30可以将其组合以产生可用于解密经加密数据的加密密钥。在一些实施例中,中间计算机20可以代管网站或网络服务,目标装置30可以经由所述网站或网络服务请求密钥部分来解密消息。中间计算机20可以是任何合适的通信网络的一部分。
在一些实施例中,不需要使用中间计算机20。上述由中间计算机20执行的某些动作可以由其它实体(例如加密实体计算机或目标装置30)执行。例如,多个控制机构计算机(例如,控制机构计算机40A-40N)可以与加密实体计算机10通信以接收经加密密钥部分。随后,多个控制机构计算机可以将经解密密钥部分发送到加密实体计算机10,加密实体计算机10可以将其发送到目标装置30。
目标装置30可以是与请求解密经加密数据的实体相关联的计算装置。该实体可以是个人或较大的组织,在某些情况下,也可能被称为申请人。在一些实施例中,申请人可以是控制机构,下文更详细描述。目标装置30可以将解密请求发送到中间计算机20,中间计算机20然后与多个控制机构计算机通信,以确定是否可以满足解密请求。目标装置30可以从中间计算机20接收密钥部分,并且将其组合以产生密钥。目标装置30可以接着使用产生的密钥来解密经加密数据。
控制机构计算机40A可以是与控制机构关联的计算装置。在一些实施例中,控制机构可以是被启用(例如,合法地)以提供加密控制服务的实体。例如,控制机构计算机40A可以与公司、政府机构、执法机构、安全机构、认证服务提供者、处理网络或其他实体相关联。在一些实施例中,控制机构可以对中间计算机20执行注册过程。在某些情况下,控制机构也可以被称为加密控制服务或可信机构。然而,注意到,本发明的实施例不限于可信任控制机构的情况。例如,在不知道控制机构是否可信任的情况下,本发明的实施例仍然可以实施。
控制机构计算机40A可以与中间计算机20通信。响应于从目标装置30接收解密由加密实体计算机10加密的数据的请求,中间计算机20可以向控制机构计算机40A发送消息,所述发送包含特定针对控制机构计算机40A加密的密钥部分。例如,密钥部分可以使用与控制机构计算机40A相关联的公钥来加密,以便仅拥有其相应私钥的控制机构计算机40A可解密经加密密钥部分。控制机构计算机40A可以将经解密密钥部分发回到中间计算机20。注意到,控制机构计算机40A没有足够的信息来解密由加密实体计算机10加密的数据。控制机构计算机40A仅提供用于解密过程的信息的一部分(密钥部分)。
虽然以上包含控制机构计算机40A的详细描述,但是应理解,类似描述适用于其它控制机构计算机,例如控制机构计算机40B和控制机构计算机40C至40N。
与中间计算机20所联系的控制机构计算机相关联的每个控制机构可以独立决定是否将密钥部分返回至中间计算机20。决定不向中间计算机20提供密钥部分的原因可能包含道德、社会或法律原因。例如,控制机构可以相信,请求解密经加密数据的特定申请人不应被允许查看经加密数据,因为这会侵犯经加密数据的原始发送方和接收方的隐私权利。在这种情况下,控制机构可以决定不向中间计算机20发送密钥部分,这降低了可以聚集足够数量的密钥部分以便成功解密经加密数据的几率。在一些实施方案中,如果N个控制机构计算机中的至少M个不将密钥部分返回至中间计算机20,则无法成功解密经加密数据。
II.经加密数据的多方控制
下文描述了根据本发明的实施例执行数据加密控制的方法。数据加密控制可以使第三方能够请求解密最初既定针对另一实体的经加密数据。此外,第三方解密经加密数据的能力可以依赖于多个控制机构的同意。
A.方法
图2示出根据本发明的实施例由加密实体计算机执行的数据加密控制过程的示例性流程图200。在一些实施例中,加密实体计算机可以具有与图1的加密实体计算机10类似的属性。虽然流程图200描述了控制一个消息的经加密数据的过程,但是可以针对被请求由第三方解密的多个消息重复该过程。关于流程图200中包含的步骤的进一步细节参考至少图5描述。
在步骤201处,加密实体计算机可以针对消息产生密钥。在一些实施例中,密钥可以是可以用来加密和解密数据的对称密钥。在一些实施方案中,可以使用椭圆曲线Diffie-Hellman(ECDH)产生密钥。在一些实施例中,密钥可以是特定针对消息产生的一次性加密密钥。一次性加密密钥的使用是有益的,因为检索一次性加密密钥的实体无法使用它来访问超出原始意图的更多信息(例如,超过一条消息)。
在步骤202处,加密实体计算机可以产生一次性加密密钥的N个密钥部分,其中N是至少为二的整数。加密实体计算机可以将一次性加密密钥拆分成N个密钥部分,其中每个密钥部分都是唯一的。在一些实施方案中,可能需要所有密钥部分来重构一次性加密密钥。在其它实施方案中,加密实体计算机可以利用阈值方案,其中小于N的指定数量的密钥部分足以重构一次性加密密钥。
在步骤203中,对于每个密钥部分,加密实体计算机可以使用对应控制机构的可信密钥对密钥部分进行加密。在一些实施例中,可信密钥可以从一种形式的密钥协议导出。例如,在某些情况下,可信密钥可以基于公钥基础架构(PKI)导出。在其它情况下(信任情况),可信密钥可以基于Diffie-Hellman密钥交换或其它合适的密钥交换协议来导出。在其它情况下,可信密钥可以是基于各种信息(例如,时间戳、计数器、识别符、随机数等)的主对称密钥。
在一些实施例中,加密实体计算机可特定地针对不同控制机构加密每个密钥部分,以便每个控制机构仅可解密单个唯一的经加密密钥部分。例如,对于使用与控制机构关联的公钥加密的密钥部分,控制机构可以使用其对应的私钥解密经加密密钥部分。由于没有除控制机构之外的其它实体拥有此私钥,所以经加密密钥部分只能被控制机构解密。类似地,控制机构无法解密特定针对其它控制机构加密的密钥部分。
密钥部分可以针对多个控制机构进行加密。控制机构可能先前曾被加密实体计算机或其它实体选择参与数据加密控制过程。每个控制机构可以注册以参与,如相对于图3描述。每个控制机构可以与包含公钥和私钥的密钥对相关联,其中公钥可以公开访问,而私钥仅可由对应的控制机构知晓。
在步骤204处,加密实体计算机可以产生包含至少第一部分和第二部分的消息。第一部分可以包括消息的标头,并且第二部分可以包括消息的有效载荷。第一部分可以包含多个经加密密钥部分,和多个控制机构的识别符。在一些实施例中,多个控制机构的识别符可以是与多个控制机构相关联的公钥的散列。第二部分可以使用步骤201中产生的一次性加密密钥加密。
在步骤205处,加密实体计算机可以将消息发送到目标装置。目标装置可以与第三方关联,消息的经加密部分最初并不意图被所述第三方接收。在一些情况下,目标装置可以与请求解密消息的请求实体关联。在其它情况下,目标装置可以与被授权代表请求实体请求解密消息的另一实体关联。
在一些实施方案中,步骤202中产生的密钥部分可以被配置成使得N个所产生的密钥部分中的至少M个可以组合以产生一次性加密密钥。M可以是等于或小于N的整数。产生的一次性加密密钥可以操作以解密消息的第二部分。
在收到消息后,目标装置无法解密消息的第二部分,因为它没有足够的信息来产生一次性加密密钥。这是因为可以组合以产生一次性加密密钥的密钥部分是特定针对多个控制机构进行加密的,因此无法被目标装置解密。因此,目标装置可以向中介(例如,代理人)发送授权请求,中介然后代表目标装置与同多个控制机构相关联的控制机构计算机进行通信。如果N个控制机构中的至少M个传回密钥部分,则中介可将传回的密钥部分转发给目标装置。目标装置可以组合所述至少M个密钥部分以产生一次性加密密钥,所述一次性加密密钥可用于解密消息的第二部分。
B.用于多方控制的控制机构证书的注册
图3示出根据本发明的实施例用于控制机构的示例性注册过程流程300。注册过程流程300实现经加密数据的多方控制。图3包含与中间计算机305通信的加密实体计算机301。图3还包含控制机构计算机306、控制机构计算机307和控制机构计算机308,其可与中间计算机305通信。图3的某些组件可以具有与图1的组件类似的属性,例如加密实体计算机301到加密实体计算机10、中间计算机305到中间计算机20,以及控制机构计算机307、308、309到控制机构计算机40A到40N。
虽然相对于图3描述三个控制机构计算机实行注册过程的示例性情况,但应了解,任何数量的控制机构计算机可以执行类似的注册过程。可以指定可执行注册过程的控制机构参与经加密数据的多方控制。在某些情况下,控制机构可以由加密实体选择。在其它情况下,控制机构可以由另一个实体选择或根据法规授权。
每个控制机构计算机可以由控制机构操作,该控制机构可以与包含公钥和私钥的密钥对相关联。例如,控制机构计算机306可以由第一控制机构操作,并且可以与公钥Q1和私钥d1相关联。控制机构计算机307可以由第二控制机构操作,并且可以与公钥Q2和私钥d2相关联。控制机构计算机308可以由第三控制机构操作,并且可以与公钥Q3和私钥d3相关联。
加密实体计算机301可以通过中间计算机305获得控制机构的公钥。在一些实施例中,中间计算机305可以提供网站或在线应用,控制机构计算机307、308和309可利用所述网站或在线应用来实行注册过程。在注册期间,控制机构计算机307、308和309可以提供包含其公钥的公钥证书。在某些情况下,中间计算机305可以基于公钥证书中包含的数字签名验证公钥证书。
中间计算机305然后可以将接收到的公钥转发到加密实体计算机301。例如,控制机构计算机307可以提供其公钥Q1给中间计算机305,控制机构计算机308可以提供其公钥Q2给中间计算机305,且控制机构计算机309可以提供其公钥Q3给中间计算机305。中间计算机305然后可以将公钥Q1、Q2和Q3转发到加密实体计算机301,加密实体计算机301可以存储接收的公钥。公钥可用于识别可参与经加密数据的多方控制的控制机构。
III.具有目标证书的访问权限的数据加密控制
在一些实施例中,加密实体可以访问证书,所述证书包含与请求解密经加密数据的授权的实体相关联的公钥。所述实体可以被称为目标并且与目标装置相关联。加密实体可以使用公钥来实现经加密数据的数据加密控制。
A.获得目标证书
图4示出了根据本发明的实施例用于获得目标证书的示例性过程流程400。图4包含与同请求解密经加密数据的授权的实体相关联的目标装置402通信的加密实体计算机401。在一些实施例中,加密实体计算机301可以具有与图1中的加密实体计算机10类似的属性,且目标装置402可以具有与图1的目标装置30类似的属性。加密实体计算机401可以存储与经注册控制机构相对应的公钥Q1、Q2和Q3,如相对于图3描述。目标装置402可以与包含公钥Qt和私钥dt的密钥对相关联。
加密实体计算机401可以获得与目标装置402相关联的公钥证书。公钥证书可以包含与目标装置402相关联的公钥Qt。公钥证书可以公开提供或可从证书颁发机构检索。在某些情况下,加密实体计算机401可以基于公钥证书中包含的数字签名验证公钥证书。
B.由加密实体产生消息
图5示出了根据本发明的实施例用于产生经加密消息的示例性过程流程500。图5包含加密实体计算机501和目标装置502。加密实体计算机501可以加密消息,并且可以与发送经加密消息的实体相关联。目标装置502可以与请求解密经加密消息的实体关联。目标装置502可以与公钥Qt和私钥dt相关联,其中加密实体计算机501已经使用类似于相对于图4描述的方法获得公钥Qt。
图5还包含由加密实体计算机501产生的示例性消息510。消息510包含元数据以及经加密数据,并且实现多方数据加密控制。元数据可以存储在消息510的标头中。消息510包含经加密密钥部分510A、控制机构识别符510B、认证策略信息510C、公钥证书510D、经加密有效载荷510E以及消息认证代码(MAC)510F。
经加密有效载荷510E可以包括与消息510相关联的经加密数据。在一些实施例中,经加密有效载荷510E可以使用由加密实体计算机501产生的加密密钥来加密。例如,加密密钥可以是对称密钥,例如图5中示出为SKts。拥有对称密钥SKts的实体可能够解密经加密有效载荷510E。
描述了用于导出对称密钥SKts的示例性方法。加密实体计算机501可以产生一次性公钥Q_es和一次性私钥d_es,以便可特定针对消息510使用一次性公钥Q_es和一次性私钥d_es。可以使用任何合适的密钥产生方法。在一些实施例中,可以基于与加密实体计算机501关联的另一密钥对产生一次性公钥Q_es和一次性私钥d_es。在一些实施方案中,加密实体计算机501可以使用目标装置502的公钥Qt和一次性私钥d_es产生SKts。例如,加密实体计算机501可以使用椭圆曲线Diffie-Hellman(ECDH)和密钥导出函数(KDF)来建立对称密钥SKts。KDF可用于将目标装置502的公钥Qt和一次性私钥d_es的ECDH结果转换为对称密钥SKts,以便与高级加密标准(AES)兼容。
经加密密钥部分510A可以是由加密实体计算机501加密的对称密钥SKts的密钥部分。经加密密钥部分510A可以作为元数据的一部分包含在消息510的标头中。在一些情况下,经加密密钥部分510A可以是经加密对称密钥,例如图5中示为SK1x、SK2x和SK3x的那些。经加密密钥部分510A的每个经加密密钥部分可以特定针对可能正参与消息510的多方数据加密控制的控制机构加密。这确保没有单个实体(包含目标装置502和任何控制机构)可以解密所有经加密密钥部分510A,以便产生对称密钥SKts。
描述了用于导出经加密密钥部分SK1x、SK2x和SK3x的示例性方法。首先,加密实体计算机501可以将对称密钥SKts拆分成多个密钥部分。在此示例性情况中,加密实体计算机501可以将对称密钥SKts拆分成三个密钥部分,SK1、SK2和SK3。可以使用任何合适的密钥拆分方法。在一些实施例中,对称密钥SKts可以被拆分,使得SK1、SK2和SK3可以组合以重构对称密钥SKts。在其它实施例中,对称密钥SKts可以使用阈值方案拆分,使得SK1、SK2和SK3的至少两个密钥部分中的任一个可以组合以重构对称密钥SKts。
加密实体计算机501可以特定针对不同控制机构加密密钥部分SK1、SK2和SK3中的每一个。在这种情况下,控制机构可以是与公钥Q1、Q2和Q3相关联并且已执行类似于相对于图3描述的注册过程的控制机构。因此,密钥部分SK1的经加密版本(其示为SK1x)仅可由与公钥Q1关联的控制机构解密;密钥部分SK2的经加密版本(其示为SK2x)仅可由与公钥Q2关联的控制机构解密;且密钥部分SK3的经加密版本(其示为SK3x)仅可由与公钥Q3关联的控制机构解密。
在一些实施例中,加密实体计算机501可以产生对称密钥SK1s、SK2s和SK3s,以用于加密密钥部分SK1、SK2和SK3中的每一个。对称密钥SK1s、SK2s和SK3s可以对一次性私钥d_es和与相应控制机构相关联的公钥使用ECDH和KDF来产生。例如,可以对与第一控制机构相关联的一次性私钥d_es和公钥Q1使用ECDH和KDF来产生SK1s,可以对与第二控制机构相关联的一次性私钥d_es和公钥Q2使用ECDH和KDF来产生SK2s,并且可以对与第二控制机构相关联的一次性私钥d_es和公钥Q3使用ECDH和KDF来产生SK3s。KDF可用于将ECDH结果转换为与高级加密标准(AES)兼容使用的对称密钥。
控制机构识别符510B可以识别经加密密钥部分510A被加密所针对的控制机构。控制机构识别符510B可以作为元数据的一部分包含在消息510的标头中。控制机构识别符510B可以包含任何合适的信息,该信息指示被授权解密来自经加密密钥部分510A的经加密密钥部分的适当控制机构。在一些实施例中,控制机构识别符510B可以包括与控制机构相关联的公钥的散列。例如,控制机构识别符510B可以包含公钥Q1的散列以识别第一控制机构、公钥Q2的散列以识别第二控制机构,以及公钥Q3的散列以识别第三控制机构。在一些实施例中,控制机构识别符510B可以包含路由到相应控制机构的URL。
认证策略信息510C可以包括指示某些实体是否被授权解密经加密密钥部分的信息。在一些实施例中,认证策略信息510C可以包含指示经授权或未授权解密经加密密钥部分的实体的信息(例如,白名单或黑名单)。认证策略信息510C还可以包含指示可接受用于实体的认证或授权的凭证类型、申请和验证方法的信息。在一些情况下,认证策略信息510C可以包含与每个经加密密钥部分相关联的不同信息。因此,认证策略信息510C中的信息可以通过加密实体计算机501与对应于每个经加密密钥部分的控制机构之间的协商来定义。
公钥证书510D可以与加密实体计算机501关联。公钥证书510D可以作为元数据的一部分包含在消息510的标头中。公钥证书510D可以包含一次性公钥Q_es,所述一次性公钥Q_es可以特定针对消息510产生。包含公钥Q_es的公钥证书510D可以使目标装置502和其它实体能够验证消息510是由加密实体计算机501产生的,其中消息510可以由加密实体计算机501使用私钥d_es进行数字签名。
消息认证代码510F可以包含可由目标装置502使用以认证消息510的信息。在一些实施例中,可以基于对称密钥SKts使用具有相关联数据的经认证加密(AEAD)来产生消息认证代码510F。当目标装置502产生对称密钥SKts时(参见图12),其可以使用基于消息510并利用对称密钥SKts的任何合适的MAC算法来产生消息认证代码。如果产生的消息认证代码与消息认证代码510F匹配,则这可以确保由加密实体计算机501发送消息510,并且在传输期间消息510尚未改变。
目标装置502可以从加密实体计算机501获得消息510。目标装置502可能够检视包含在消息510的标头中的信息,所述信息可以包含经加密密钥部分510A、控制机构识别符510B、认证策略信息510C和公钥证书510D。然而,由于目标装置502没有足够的信息来解密所有经加密密钥部分510A,因此它将无法重构对称密钥SKts。因此,目标装置502将无法自行解密经加密的有效载荷510E。目标装置502可以通过路由消息510请求解密消息510的授权。目标装置502可以通过中间计算机将消息510路由到控制机构识别符510B指示的控制机构,该过程相对于至少图6和图7进一步详细描述。
C.针对申请人的数据加密控制
在一些实施例中,目标装置可以是与申请人相关联的申请人装置。申请人可以是请求解密经加密消息的请求实体,或代表请求实体请求解密经加密消息的实体。申请人可以经由与中间实体关联的中间计算机请求向多个控制机构授权解密经加密消息。
图6示出根据本发明的实施例用于申请人请求解密消息的示例性过程流程600。图6包含与申请人相关联且接收消息610的申请人装置602。在一些实施例中,申请人装置602可以类似于图5的目标装置502。图6还包含发送到中间计算机605的消息620。中间计算机605可以与例如代理人等中间实体相关联,所述中间实体与例如控制机构计算机606、控制机构计算机607以及控制机构计算机608等多个控制机构计算机通信。控制机构计算机606可以与公钥Q1和私钥d1相关联,控制机构计算机607可以与公钥Q2和私钥d2关联,且控制机构计算机608可以与公钥Q3和私钥d3关联。
消息610可以包括经加密密钥部分610A、控制机构识别符610B、公钥证书610D、经加密有效载荷610E以及消息认证代码610F,其可具有分别与图5的经加密密钥部分510A、控制机构识别符510B、公钥证书510D、经加密有效载荷510E和消息认证代码510F类似的属性。例如,经加密有效载荷610E可以使用对称密钥SKts(参见图5)加密,并且经加密密钥部分610A可以包括特定针对控制机构计算机606、607和608加密的SKts的密钥部分。在一些实施例中,消息610可以包含路由到中间计算机605的URL。
申请人装置602可以修改消息610以产生消息620。申请人装置602可以与包含公钥Qc和私钥dc的密钥对相关联,以及拥有请求和委托信息620C。在某些情况下,申请人装置602可以将公钥Qc以及请求和委托信息620C添加到消息610的标头以产生消息620。请求和委托信息620C可以指示申请人装置602被授权请求解密消息620。在一些实施例中,申请人装置602可以利用消息610中的URL将消息620随将消息620转发到控制机构计算机606、607和608的请求一起发送到中间计算机605。
中间计算机605可以从申请人装置602接收消息620并处理消息620。在一些实施例中,中间计算机605可以使用公钥Qc验证消息620。此外,中间计算机605可以处理请求和委托信息620C,以确定申请人装置602是否被授权请求解密经加密有效载荷610E。例如,中间计算机605可以检查请求和委托信息620C是否准确地指示与申请人装置602相关联的识别信息,并且包含真正的委托(例如,由仲裁人发布)。
如果消息620已验证,则中间计算机605可以向控制机构计算机606、607和608发送消息620。中间计算机605可以基于控制机构识别符610B识别将消息620发送到的控制机构计算机。在这种情况下,控制机构识别符610B可以识别消息620将发送到控制机构计算机606、607和608。控制机构计算机606、607和608中的每一个可处理接收的消息,这相对于图7更详细地描述。
图7示出根据本发明的实施例用于多方数据加密控制的示例性过程流程700。可以相对于图6的组件描述过程流程700的某些部分。图7包含消息720,其包含被发送到可以各自与中间计算机605通信的控制机构计算机606、607和608的授权信息720C。中间计算机605然后可以与申请人装置602通信。
虽然消息720可以包括与图6的消息620类似的组件,但消息720还可以包含授权信息720C。授权信息720C可以包含指示申请人装置602被授权请求解密经加密有效载荷610E的信息。中间计算机605可以基于请求和委托消息620C的处理以及确定申请人装置602被授权请求解密经加密有效载荷610E(如相对于图6描述)而将授权信息720C包含在消息720中。在一些实施例中,消息720可以包含授权信息720C,作为请求和委托信息620C的补充,或作为请求和委托信息620C的替代。
控制机构计算机606、607和608中的每一个可以处理从中间计算机605接收的消息720。虽然为了简单起见在图7中详细示出由控制机构计算机606进行的消息720的处理,但应理解,类似的过程可以由控制机构计算机607和控制机构计算机608执行。下文相对于控制机构计算机606描述示例性过程。
控制机构计算机606可以接收和处理消息720。控制机构计算机606可以初始地检查授权信息720C,以确保申请人装置602被授权请求解密经加密有效载荷610E。在某些情况下,如果消息720中缺少适当授权,则控制机构计算机606可能不继续进行进一步处理。
如果授权信息720C指示成功授权,则控制机构计算机606然后可以解密经加密密钥部分610A的经加密密钥部分SK1x。经加密密钥部分SK1x可以特定针对控制机构计算机606加密。如上文相对于图5描述,经加密密钥部分SK1x可以是通过使用对称密钥SK1s加密密钥部分SK1产生的对称密钥,所述对称密钥SK1s由加密实体计算机对一次性私钥d_es和与控制机构计算机606关联的公钥使用ECDH(椭圆曲线Diffie-Hellman)和KDF(密钥导出函数)而产生。基于ECDH的属性,控制机构计算机606还可以对与控制机构计算机606相关联的私钥d1和一次性公钥Q_es.使用ECDH和KDF产生对称密钥SK1s。控制机构计算机606然后可以使用所产生的对称密钥SK1s解密经加密密钥部分SK1x,以获得密钥部分SK1。
在一些实施例中,控制机构计算机606可以特定针对申请人装置602重新加密密钥部分SK1。例如,控制机构计算机606可以使用对称密钥SK1a对密钥部分SK1进行加密。可以对与申请人装置602相关联的公钥Qc和与控制机构计算机606相关联的私钥d1使用ECDH和KDF来产生对称密钥SK1a。使用对称密钥SK1a加密密钥部分SK1的结果可以是经加密密钥部分SK1c,其可特定针对申请人装置602加密。
类似的过程可以由控制机构计算机607和608执行。例如,控制机构计算机607可解密经加密密钥部分SK2x,以获得密钥部分SK2,然后可以特定针对申请人装置602重新加密密钥部分SK2,以获得经加密密钥部分SK2c。对于控制机构计算机607,对于其控制机构计算机606利用其私钥d1的步骤可以由对应于控制机构计算机607的私钥d2替代。此外,控制机构计算机608可解密经加密密钥部分SK3x,以获得密钥部分SK3,然后可以特定针对申请人装置602重新加密密钥部分SK3,以获得经加密密钥部分SK3c。对于控制机构计算机608,对于其控制机构计算机606利用其私钥d1的步骤可以由对应于控制机构计算机608的私钥d3替代。
控制机构计算机中的每一个可以将特定针对申请人装置602加密的经加密密钥部分以及对应的公钥发送到中间计算机605。例如,控制机构计算机606可以将经加密密钥部分SK1c和公钥Q1发送到中间计算机605,控制机构计算机607可以将经加密密钥部分SK2c和公钥Q2发送到中间计算机605,且控制机构计算机608可以将经加密密钥部分SK3c和公钥Q3发送到中间计算机605。因此,中间计算机605可以聚集经加密密钥部分SK1c、SK2c和SK3c以及公钥Q1、Q2和Q3。在一些实施例中,中间计算机605可以将包括经加密密钥部分SK1c、SK2c和SK3c以及公钥Q1、Q2和Q3的消息730发送至申请人装置602。
申请人装置602可以接收和处理消息730。申请人装置602可以使用对称密钥SK1a、SK2a、SK3a解密经加密密钥部分SK1c、SK2和SK3c。基于ECDH的属性,申请人装置602可以对相应控制机构的公钥和申请人装置602的私钥使用ECDH和KDF来产生对称密钥SK1a、SK2a和SK3a。举例来说,申请人装置602可以对与控制机构计算机606相关联的公钥Q1和申请人装置602的私钥dc使用ECDH和KDF来产生对称密钥SK1a、对与控制机构计算机607相关联的公钥Q2和申请人装置602的私钥dc使用ECDH和KDF来产生对称密钥SK2a,且对与控制机构计算机608相关联的公钥Q3和申请人装置602的私钥dc使用ECDH和KDF来产生对称密钥SK3a。
申请人装置602可然后产生对称密钥SKts。使用对称密钥SK1a、SK2a和SK3a解密经加密密钥部分SK1c、SK2c和SK3c可产生密钥部分SK1、SK2和SK3,其可以组合以产生对称密钥SKts。申请人装置602可以以合适的方式组合密钥部分SK1、SK2和SK3,以产生对称密钥SKts。然后,申请人装置602可以利用对称密钥SKts来解密经加密有效载荷610E。
特定针对申请人装置602加密密钥部分SK1、SK2和SK3以产生经加密密钥部分SK1c、SK2c和SK3c提供了额外的安全层。这确保除申请人装置602之外没有其它实体可以访问密钥部分SK1、SK2和SK3,其可以组合以产生对称密钥SKts。例如,中间计算机605无法解密经加密密钥部分SK1c、SK2c和SK3c,因此无法产生密钥部分SK1、SK2和SK3。此外,拦截中间计算机605与控制机构计算机之间或者中间计算机605与申请人装置602之间的通信的恶意实体也无法解密经加密密钥部分SK1c、SK2c和SK3c,因此无法获得密钥部分SK1、SK2和SK3。因此,特定针对申请人装置602加密密钥部分SK1、SK2和SK3可以防止除申请人装置602以外的实体潜在地能够解密经加密有效载荷610E。
在图7中未示出的情况下,在一些实施例中,一个或多个控制机构计算机可以选择不向中间计算机605发送经加密密钥部分。此决策的原因可能包含道德、社会或法律原因。因此,中间计算机605可能不能聚集足够的经加密部分来发送到申请人装置602,以便申请人装置602可以再生对称密钥SKts。在示例性情况下,可能需要所有三个密钥部分SK1、SK2和SK3来产生对称密钥SKts。因此,如果控制机构计算机606、607或608中的任何一个未分别发送经加密密钥部分SK1c、SK2c或SK3c到中间计算机605,则申请人装置602可能无法获得对称密钥SKts。
在另一示例性情况中,可能需要来自密钥部分SK1、SK2和SK3的至少两个密钥部分来产生对称密钥SKts。这可能是最初将对称密钥SKts拆分为密钥部分(参见图5)使得两个或两个以上密钥部分可以组合以产生对称密钥SKts时利用阈值方案的情况。在这种情况下,即使来自控制机构计算机606、607和608的控制机构计算机未向中间计算机605发送经加密密钥部分,申请人装置602仍能够从中间计算机605接收足够的信息,使得其可产生对称密钥SKts。例如,申请人装置可以接收来自经加密密钥部分SK1c、SK2c和SK3c的两个密钥部分的任何组合(SK1c和SK2c、SK1c和SK3c、SK2c和Sk3c)或所有三个密钥部分SK1c、SK2c和SK3c,并组合接收的密钥部分以产生对称密钥SKts。
实施例提供了若干优势。例如,实施例提供了一种具有制约和平衡的系统,以确保允许第三方恢复经加密数据的决策无法轻松地作出。所述决策依赖于多个控制机构的输入,因此能够在多个实体之间缓解决定是否允许恢复经加密数据的权力。由于没有单个实体可以单独作出决策,因此应理解,在决策最终制定之前从多个角度彻底考虑道德、社会、法律和其它影响。此外,利用此系统可以在第三方请求解密经加密数据的情形中设定标准程序来执行。这可以减少在法庭上关于第三方是否应被允许解密经加密数据花费时间和成本的争论。
IV.无目标证书的访问权限的数据加密控制
在一些实施例中,加密实体可能无权访问包含与请求授权解密经加密数据的实体相关联的公钥的证书。以此方式,请求实体可以有效地为目标装置,加密实体不需要了解目标装置的公钥。此外,实施例可以使请求实体能够实时解密经加密数据,并且具有完全隐私度。
A.授权目标获得消息密钥部分
图8示出根据本发明的实施例实现目标的授权以获得密钥部分的示例性消息800。消息800包含经加密密钥部分801、802和803、控制机构识别符804、805和806、认证策略信息807、授权目标识别符808、消息认证代码809、额外消息认证代码810、811和812、加密实体公钥813、经加密有效载荷814以及消息认证代码815。
消息800可以包含类似于上文相对于图5-7描述的消息的一些特征。例如,可以使用对称密钥加密经加密有效载荷814。经加密密钥部分801、802和803可以包含特定针对多个控制机构加密的对称密钥的密钥部分。可以基于控制机构识别符804、805和806来识别多个控制机构中的每一个,所述控制机构识别符可以各自包含与相应控制机构相关联的公钥的散列值。认证策略信息807可以指示与数据加密控制过程有关的信息(例如,委托)。加密实体公钥813可以是与产生经加密有效载荷814的加密实体相关联的公钥。
消息800可进一步包括消息认证代码。某些消息认证代码(例如,MAC 809、MAC815)可以使用用于加密经加密有效载荷814的对称密钥来产生。这使成功地再生对称密钥的目标装置能够基于消息认证代码来认证消息800。没有其它第三方实体能够再生对称密钥。某些消息认证代码(例如,MAC 810、MAC 811、MAC 812)可以使用仅控制机构已知的对称密钥产生。例如,可以使用控制机构的私钥产生对称密钥。这使成功地产生对称密钥的控制机构计算机能够基于消息认证代码来认证消息800。
虽然消息800描绘了存在对应于将接收消息800的三个控制机构计算机的三个控制机构识别符的情况,但实施例不受限制。在其它情况下,消息800可以包含与任何适当数量的控制机构相对应的额外经加密密钥部分、控制机构识别符以及消息认证代码。
图9示出根据本发明的实施例实现目标的私人授权以获得密钥部分的示例性消息900。消息900与图8的消息800不同之处在于,归因于用于消息的某些部分的加密技术,其使目标装置能够以完全隐私度解密消息900。
消息900可以包含类似于消息800中的一些组件。例如,经加密密钥部分901、902和903可以类似于消息800的经加密密钥部分801、802和803,且控制机构识别符904、905和905可以类似于消息800的控制机构识别符804、805和805。加密实体公钥919可以类似于加密实体公钥813,且经加密有效载荷920可以类似于经加密有效载荷814。此外,MAC 913可以类似于MAC 809,MAC 921可以类似于815,且MAC 916、917和918可以类似于MAC 810、811和812。
消息900可以包含类似于消息800的一些组件,这些组件为了隐私而进一步加密。例如,经加密认证策略信息907、908和909可以是特定针对对应于控制机构识别符904、905和906的三个控制机构加密的认证策略信息807的经加密版本。类似地,经加密授权目标识别符910、911和912可以是特定针对对应于控制机构识别符904、905和906的三个控制机构加密的授权目标识别符808的经加密版本。
消息900可以允许有隐私地实行解密消息900的授权。产生消息900的加密实体不需要具有与请求解密的目标实体关联的公钥证书或其它密码信息,来安全地执行消息900的多方数据加密控制。另外,加密实体与目标实体之间的第二通道或共享秘密也不需要使用。
B.由加密实体产生消息
图10示出根据本发明的实施例用于在不了解目标证书的情况下产生经加密消息的示例性过程流程1000。图10包含加密实体计算机1001和目标装置1002。加密实体计算机1001可以加密消息,并且可以与发送经加密消息的实体相关联。目标装置1002可以与请求解密经加密消息的实体关联。可能不知道目标装置1002此时与任何密钥关联。
图10还包含由加密实体计算机1001产生的示例性消息1010。消息1010的几个组件可以类似于图5中示出的消息510的组件。例如,经加密密钥部分1010A、控制机构识别符1010B、公钥证书1010D、经加密有效载荷1010E和消息认证代码1010F可以类似于图5的经加密密钥部分510A、控制机构识别符510B、公钥证书510D、经加密有效载荷510E和消息认证代码510F。此外,消息1010可以包含经加密授权目标识别符1010G和消息认证代码1010H。经加密有效载荷1010E可以使用对称密钥SKts来加密(参见图5)。
经加密授权目标识别符1010G可以是与目标装置1002相关联的经加密识别信息。识别信息可能不是与目标装置1002相关的例如密钥等密码信息。例如,识别信息可以是与目标装置1002关联的电子邮件地址、电话号码或装置识别符。
经加密认证策略信息1010C可以是经加密认证策略信息。在一些实施例中,经加密认证策略信息1010C可以是类似于图5的认证策略信息510C的信息的经加密版本。
经加密授权目标识别符1010G和经加密认证策略信息1010C可以特定针对对应于控制机构识别符1010B的控制机构加密。虽然图10为了简单起见未明确示出单独的经加密授权目标识别符和经加密认证策略信息,但是应了解,消息1010可以包含对应于控制机构识别符1010B的三个控制机构中的每一个的经加密授权目标识别符和经加密认证策略信息(参见图9的消息900)。
消息认证代码1010H可以包含可由多个控制机构利用以认证消息1010的信息,。在一些实施例中,可以基于对称密钥SK1s、SK2s和SK3s使用具有相关联数据的经认证加密(AEAD)来产生消息认证代码1010H。与公钥Q1相关联的控制机构计算机可对应于对称密钥SK1s,与公钥Q2相关联的控制机构计算机可对应于对称密钥SK2s,且与公钥Q3相关联的控制机构计算机可对应于对称密钥SK3s。
当对应于对称密钥SK1s、SK2s和SK3s的每个控制机构计算机接收消息1010时(参见图11),其可以使用基于消息1010并利用其对应的对称密钥的任何合适的MAC算法产生消息认证代码。每个控制机构计算机可以检查产生的消息认证代码是否与消息认证代码1010H中的相应消息认证代码匹配。如果产生的消息认证代码与消息认证代码1010H中的相应消息认证代码匹配,则这可以确保由加密实体计算机1001发送消息1010,并且在传输期间消息1010尚未改变。
加密实体计算机1001可以加密对称密钥SKts的密钥部分SK1、SK2和SK3,以产生经加密密钥部分SK1x、SK2x和SK3x。可以执行相对于图5描述的类似过程。然而,对称密钥SKts可以以不同方式产生。对称密钥SKts不能使用与目标装置1002相关联的公钥产生,因为其在这种情况下不可用。相反,对称密钥SKts可以使用任何其它适用于密钥产生的方法来产生,该方法不利用与目标装置1002相关联的公钥作为输入。例如,对称密钥SKts可以是目标装置1002未知的随机产生的密钥。
C.针对目标装置的数据加密控制
图11示出根据本发明的实施例用于目标装置请求解密消息的示例性过程流程1100。图11包含目标装置1002,其产生消息1110,并将其发送到中间计算机1105。中间计算机1105可以与例如代理人等中间实体相关联,所述中间实体与例如控制机构计算机1106、控制机构计算机1107以及控制机构计算机1108等多个控制机构计算机通信。控制机构计算机1106可以与公钥Q1和私钥d1关联,控制机构计算机1107可以与公钥Q2和私钥d2关联,并且控制机构计算机1108可以与公钥Q3和私钥d3关联。
消息1110可以包括与图10的消息1010类似的组件。此外,消息1010可以包含与目标装置1002相关联的数字签名1110S和公钥Qt。数字签名1110S可使用公钥Qt验证。在一些实施例中,消息1110可以端到端加密。
目标装置1002可以将消息1110发送到中间计算机1105,中间计算机1105然后可向多个控制机构计算机发送消息1110。目标装置1002可以基于控制机构识别符1010B确定消息1110要发送到的适当机构。在这种情况下,控制机构识别符1010B可以指示消息1110要发送到控制机构计算机1106、控制机构计算机1107和控制机构计算机1108。控制机构计算机1106、1107和1108中的每一个可以处理消息1110,这一过程相对于图12进一步详细描述。
图12示出根据本发明的实施例用于多方数据加密控制的示例性过程流程1200。示例性过程流程1200可以类似于相对于图7描述的示例性过程流程700。有关过程流程1200的步骤的进一步细节可以在700的流程描述中找到。在这种情况下,申请人装置602可以是目标装置1002。
在解密消息1110中包含的经加密密钥部分SK1x、SK2x和SK3x之前,可以采取一些额外步骤。例如,控制机构计算机1106、1107和1108中的每一个可解密经加密认证策略信息1010C和经加密授权目标识别符1010G的相关部分,以确定经加密密钥部分将被发送到目标装置1002。此外,控制机构计算机1106、1107和1108中的每一个可以使用公钥Qt验证数字签名1110S,以确保请求解密的请求是从目标装置1002发起。
控制机构计算机1106、1107和1108然后可以处理消息1110。在这种情况下,控制机构计算机1106、1107和1108可以各自将特定针对目标装置1002加密的经加密密钥部分返回到中间计算机1105。中间计算机1105可以将与控制机构计算机1106、1107和1108相关联的经加密密钥部分和公钥转发到目标装置1002。在接收到足够数量的密钥部分后,目标装置1002可以产生对称密钥SKts。然后,目标装置1002可以使用对称密钥SKts解密经加密有效载荷1010E。
因此,本发明的实施例支持安全多方数据加密控制,即使目标证书最初不可用。这可以在不能获得或不能容易地获得目标证书的情况下实现灵活性。例如,在某些情况下,请求授权解密的目标可能不希望提供其密码信息。
D.将控制机构组织为网络
图13示出根据本发明的实施例用于将控制机构组织为网络的示例性过程流程1300。每个控制机构可与控制机构计算机关联。在一些实施例中,一个或多个控制机构计算机可以被配置成其它控制机构计算机的代理。应当理解,任何控制机构计算机都可以充当代理。
在一个示例性情况中,控制机构计算机1307可以充当控制机构计算机1306和1308的代理。目标装置1302可以向控制机构计算机1307发送消息1310,控制机构计算机1307然后可以将消息1310转发到控制机构计算机1306和控制机构计算机1307。
消息1310充当可以利用的示例性消息,因此不是限制性的。例如,在图13中可能为了简单起见未示出消息1310的某些组件。另外,在某些情况下,消息1310中示出的某些组件不必如图所示而包含或加密。
在一些实施例中,代理不可将消息1310转发到控制机构计算机。在一些实施方案中,代理可以为每个控制机构计算机产生不同的消息。例如,发送至控制机构计算机的消息可以仅包含与相应控制机构相关联的相关经加密密钥部分,而不是所有经加密密钥部分。
控制机构计算机1306、1307和1308中的每一个可以使用类似于至少相对于图12描述的过程处理消息1310。在一些实施例中,控制机构计算机1307可以产生特定针对目标装置1302加密的经加密密钥部分,并且将经加密密钥部分随消息1310一起发送到控制机构计算机1306和1308。控制机构计算机1306和1308也可以处理消息1310,以各自产生特定针对目标装置1302加密的经加密密钥部分。控制机构计算机1306和控制机构计算机1308可各自将其所得的经加密密钥部分发送到控制机构计算机1307。
控制机构计算机1307然后可以聚集经加密密钥部分1320并将其发送到目标装置1302。经加密密钥部分1320可以包含由控制机构计算机1307产生的经加密密钥部分,以及从控制机构计算机1306和1308接收的经加密密钥部分。目标装置1302可以解密经加密密钥部分1320,组合所获得的密钥部分以产生用于加密消息1310中的经加密有效载荷的对称密钥,并使用所产生的对称密钥解密经加密有效载荷。应注意,即使控制机构计算机1307聚集经加密密钥部分1320,其仍无法产生对称密钥,因为其没有足够的信息来解密经加密密钥部分1320。因此,利用控制机构计算机1307作为代理不会损害多方数据加密控制过程的安全性。
在一些实施例中,中间计算机可驻留在目标装置1302和控制机构计算机1307之间。中间计算机可以被配置成控制机构计算机的代理。例如,目标装置1302可以向中间计算机发送消息1310,中间计算机然后可向控制机构计算机1306、1307和1308的每一个发送适当信息。控制机构计算机1306、1307和1308中的每一个可以产生特定针对目标装置1302加密的经加密密钥部分,并将其经加密密钥部分发送到中间计算机。然后,中间计算机可以聚集所接收的经加密密钥部分并将其发送到目标装置1302。
虽然上文描述所有控制机构计算机将经加密密钥部分返回到代理的实施例,但实施例不受限制。例如,在某些情况下,控制机构计算机的仅一部分可以将经加密密钥部分返回到代理。如果返回的经加密密钥部分的数量基于阈值方案(例如,Shamir的秘密共享方案)是足够的,则目标装置可能够组合所获得的密钥部分以产生用于加密消息1310中的经加密有效载荷的对称密钥。
V.额外使用情形
A.控制经加密出站流量
本发明的实施例允许过滤出站数据,而不中断目标(例如,接收方)的体验。例如,本发明的实施例允许用于在不知道有关接收方的特定细节的情况下加密到不同实体的传出在线流量的服务。此外,本发明的实施例允许解密和监控所有经加密流量。端到端解密可以保留。
在示例性使用情形中,提供此类服务的服务提供商可以为外部接收方加密数据(例如,文件、电子邮件等)。服务提供商可能不知道与接收方有关的特定信息(例如,密码信息)。可以驻留在服务提供商的外围的监控服务可以检查来自服务提供商的传出流量。监控服务可以通过在将经加密数据发送到其目的地之前解密和阻止任何不当数据来检查经加密数据。接收方可能必须向服务提供商注册或认证以被授权解密经加密数据。
在一些实施例中,由监控服务执行的检查可以确保以适当方式加密经加密数据。这些检查可以定期或以随机间隔进行。在检查期间,监控服务可以确定经加密数据是否正被传输,以使得可以使用根据本发明的实施例描述的系统和方法来解密数据。例如,监控服务可以检查包括经加密数据的消息是否包含适当的信息来实现多个控制机构对密钥部分的解密。监控服务可以允许传输可以此方式解密的经加密数据。这可以防止传输完全无法解密的经加密数据,这可能导致针对为了紧急事项(例如,与国家安全有关的事项)而请求解密的情形的问题。
B.保护静态数据
本发明的实施例可以用于保护静态数据。在某些情况下,可能存在被加密和存储以供稍后使用的敏感数据。请求利用敏感数据的实体可能够使用本文描述的方法和系统请求解密数据。
在示例性情况下,客户端应用可能需要解密经加密数据。经加密数据可以使用加密密钥加密。客户端应用可以通过中间实体计算机(例如,与代理人相关联)联系多个加密控制服务计算机。每个加密控制服务计算机可以返回加密密钥的密钥部分。中间计算机可以将返回的密钥部分发送到客户端应用,客户端应用然后可将密钥部分组合以产生可用于解密经加密数据的加密密钥。应当理解,在其它情况下,每个加密控制服务计算机可以改为返回特定针对客户端应用加密的密钥部分。
本发明的实施例在上述使用情况下是有益的。在执行多方加密控制时降低损害静态经加密数据的风险,因为没有单个加密控制服务计算机具有足够信息来解密经加密数据。此外,本发明的实施例还减少了与利用HSM(硬件安全模块)相关联的成本和不便。在某些情况下,可不需要中心HSM。相反,解密经加密数据所需的信息可以在各个实体之间分割,从而降低风险。
VI.计算机系统
本文所提及的任何计算机系统都可以使用任何合适数量的子系统。在一些实施方案中,计算机系统包含单个计算机设备,其中子系统可以是计算机设备的组件。在其它实施例中,计算机系统可以包含多个计算机设备,每个计算机设备都是具有内部组件的子系统。计算机系统可包含台式计算机和膝上型计算机、平板计算机、移动电话和其它移动装置。
计算机系统的子系统可以经由系统总线互连。额外的子系统可包含打印机、键盘、存储装置、耦合至显示器适配器的监视器,以及其它组件。耦合到输入/输出(I/O)控制器的外围设备和I/O装置可以通过本领域中已知的各种手段(例如输入/输出(I/O)端口(例如USB、))连接到计算机系统。例如,I/O端口或外部接口(例如,以太网、Wi-Fi等)可用于将计算机系统连接到广域网(例如,因特网)、鼠标输入装置或扫描仪。经由系统总线的互连可允许中央处理器与每个子系统进行通信,并控制来自系统存储器或存储装置(例如,例如硬盘驱动器或光盘之类的固定盘)的指令的执行,以及子系统之间的信息交换。系统存储器和/或存储装置可以体现计算机可读介质。另一子系统是数据收集装置,例如相机、麦克风、加速度计等等。本文所提及的任何数据都可以从一个组件输出到另一组件,并可以输出给用户。
计算机系统可以包含例如通过外部接口或通过内部接口连接在一起的多个相同组件或子系统。在一些实施例中,计算机系统、子系统或设备可以通过网络通信。在此类情况下,一个计算机可视为客户端,且另一计算机可视为服务器,其中每台计算机可以是同一计算机系统的一部分。客户端和服务器可以各自包含多个系统、子系统或组件。
应理解,本发明的任何实施例都可以使用硬件(例如专用集成电路或现场可编程门阵列)和/或使用计算机软件以控制逻辑的形式实施,其中通用可编程处理器是模块化的或集成的。如本文中所使用,处理器包含单核处理器、在同一集成芯片上的多核处理器,或在单个电路板上或联网的多个处理单元。基于本公开和本文中所提供的教示,本领域的一般技术人员将知道并且了解使用硬件和硬件与软件的组合来实施本发明的实施例的其它方式和/或方法。
本申请中描述的任何软件组件或功能可实施为使用任何合适的计算机语言(例如,Java、C、C++、C#、Objective-C、Swift)或脚本语言(例如,Perl或Python)使用例如传统的或面向对象的技术由处理器执行的软件代码。软件代码可以存储为计算机可读介质上的一系列指令或命令以用于存储和/或传输。适合的非瞬态计算机可读介质可以包含随机存取存储器(RAM)、只读存储器(ROM)、磁介质(例如硬盘驱动器或软盘)或光介质(例如,压缩光盘(CD)或DVD(数字通用盘))、闪存等等。计算机可读介质可以是此类存储或传输装置的任何组合。
此类程序还可以使用适应于经由包含因特网的符合多种协议的有线、光学和/或无线网络进行传输的载波信号来编码和传输。因此,根据本发明的实施例的计算机可读介质可以使用以此类程序编码的数据信号来创建。以程序代码编码的计算机可读介质可与兼容装置一起封装或与其它装置分开地提供(例如,经由因特网下载)。任何此类计算机可读介质可以驻留于单个计算机产品(例如,硬盘驱动器、CD或整个计算机系统)上或内,且可存在于系统或网络内的不同计算机产品上或内。计算机系统可以包含用于将本文中所提及的任何结果提供给用户的监视器、打印机或其它合适的显示器。
本文中所描述的任何方法可以完全或部分地用计算机系统来执行,所述计算机系统包含可被配置成执行所述步骤的一个或多个处理器。因此,实施例可以涉及被配置成执行本文中所描述的任何方法的步骤、可能具有执行相应步骤或相应步骤群组的不同组件的计算机系统。尽管以编号的步骤呈现,但是可以同时或以不同的顺序执行本文中的方法的步骤。另外,这些步骤的部分可以与其它方法的其它步骤的部分一起使用。此外,步骤的全部或部分可以是任选的。另外,任何方法的任何步骤都可以用执行这些步骤的模块、单元、电路或其它构件来执行。
在不偏离本发明的实施例的精神和范围的情况下,具体实施例的特定细节可以以任何适当方式组合。然而,本发明的其它实施例可以涉及与每个个别方面或这些个别方面的特定组合相关的特定实施例。
上文对本发明的示例实施例的描述已经出于图示和描述的目的呈现。其不希望是详尽的,或将本发明限于所描述的精确形式,且根据上文的教示许多修改和变化是可能的。
除非明确指示有相反的意思,否则叙述“一个/种”或“所述”旨在表示“一个/种或多个/种”。除非明确指示有相反的意思,否则“或”的使用旨在表示是“包括性的或”,而不是“排他性的或”。
本文中提到的所有专利、专利申请、公开和描述出于所有目的通过引用被全部并入本文中。没有一项被视为现有技术。

Claims (36)

1.一种方法,其包括由与加密实体相关联的计算机执行:
针对消息产生密钥;
产生所述密钥的N个密钥部分,N是至少为二的整数;
对于所述密钥部分中的每一个:
使用对应控制机构的可信密钥加密所述密钥部分;
产生所述消息,所述消息至少包含以下各项:
第一部分,其包含经加密密钥部分中的至少M个和所述多个控制机构的识别符;以及
使用所述密钥加密的第二部分;以及
发送所述消息,其中所述密钥部分中的至少M个能够组合以产生所述密钥,使得所产生的密钥能够操作以解密所述消息的所述第二部分,M为等于或小于N的整数。
2.根据权利要求1所述的方法,其中所述密钥是使用所述加密实体的私钥和与目标装置相关联的公钥产生的对称密钥。
3.根据权利要求1所述的方法,其中所述密钥是所述目标装置未知的随机产生的密钥。
4.根据权利要求1所述的方法,其中加密所述密钥部分包括:
使用所述对应控制机构的所述公钥和所述加密实体的私钥产生对称密钥;以及
使用所述对称密钥加密所述密钥部分。
5.根据权利要求1所述的方法,其中发送所述消息包括将所述消息发送到目标装置,其中所述目标装置是与请求解密所述消息的申请人相关联的申请人装置。
6.根据权利要求1所述的方法,其中所述消息包含策略信息,其中所述策略信息包括:
指示经授权或未授权解密经加密密钥部分的实体的信息,以及
指示能够接受用于所述实体的认证或授权的凭证类型、申请和验证方法的信息。
7.根据权利要求1所述的方法,其中所述多个控制机构的所述识别符中的每一个包含路由到所述对应控制机构的URL。
8.根据权利要求7所述的方法,其中基于所述多个控制机构的所述识别符将所述消息发送到与对应于所述密钥部分中的所述至少M个的所述控制机构相关联的计算机。
9.一种方法,其包括由目标装置执行:
接收消息,所述消息至少包含:
第一部分,其包含针对所述消息产生的密钥的至少M个经加密密钥部分和多个控制机构的识别符,其中每一经加密密钥部分使用对应控制机构的可信密钥加密,且其中与加密实体相关联的计算机产生所述密钥的N个密钥部分,N是至少为二的整数,且M是等于或小于N的整数;以及
使用所述密钥加密的第二部分;
将所述消息随解密所述消息的请求一起路由到一个或多个计算机;
接收特定地针对所述目标装置加密的多个重新加密的密钥部分,每一重新加密的密钥部分由来自所述多个控制机构的对应控制机构加密;
解密所述多个重新加密的密钥部分中的至少M个以获得至少M个密钥部分;
通过组合所述至少M个密钥部分产生所述密钥;以及
使用所产生的密钥解密所述消息的所述第二部分。
10.根据权利要求9所述的方法,其中解密所述多个重新加密的密钥部分中的所述至少M个包括:
对于所述多个重新加密的密钥部分中的所述至少M个中的每一个:
使用与所述目标装置相关联的私钥和所述对应控制机构的公钥产生对称密钥;以及
使用所述对称密钥解密所述重新加密的密钥部分。
11.根据权利要求9所述的方法,其中所述多个控制机构的所述识别符中的每一个包含路由到所述对应控制机构的URL。
12.根据权利要求11所述的方法,其中路由所述消息包括基于所述识别符将所述消息发送到与所述多个控制机构相关联的多个计算机。
13.根据权利要求9所述的方法,其中路由所述消息包括将所述消息随将所述消息发送到与所述多个控制机构相关联的多个计算机的请求一起发送到与来自所述多个控制机构的控制机构相关联的计算机。
14.根据权利要求9所述的方法,其中路由所述消息包括将所述消息随将所述消息发送到与所述多个控制机构相关联的多个计算机的请求一起发送到中间计算机。
15.根据权利要求14所述的方法,其中所述消息包含路由到所述中间计算机的URL。
16.一种方法,其包括由与控制机构相关联的计算机执行:
接收消息,所述消息至少包含:
第一部分,其包含针对所述消息产生的密钥的至少M个经加密密钥部分和多个控制机构的识别符,其中每一经加密密钥部分使用对应控制机构的可信密钥加密,且其中与加密实体相关联的计算机产生所述密钥的N个密钥部分,N是至少为二的整数,且M是等于或小于N的整数;以及
使用所述密钥加密的第二部分;
解密所述消息中的经加密密钥部分以获得密钥部分;
重新加密所述密钥部分以产生特定地针对目标装置加密的重新加密的密钥部分;以及
发送所述重新加密的密钥部分,其中所述密钥的所述密钥部分中的至少M个能够组合以产生所述密钥,使得所产生的密钥能够操作以解密所述消息的所述第二部分。
17.根据权利要求16所述的方法,其中解密所述经加密密钥部分包括:
获得所述对应控制机构的私钥;以及
使用所述私钥解密所述经加密密钥部分。
18.根据权利要求16所述的方法,其中解密所述经加密密钥部分包括:
使用所述加密实体的公钥和所述控制机构的私钥产生对称密钥;以及
使用所述对称密钥解密所述经加密密钥部分。
19.根据权利要求16所述的方法,其中重新加密所述密钥部分包括:
使用所述控制机构的私钥和与所述目标装置相关联的公钥产生对称密钥;以及
使用所述对称密钥重新加密所述密钥部分。
20.根据权利要求16所述的方法,其中接收所述消息包括从所述目标装置接收所述消息,且其中发送所述重新加密的密钥部分包括将所述重新加密的密钥部分发送到所述目标装置。
21.根据权利要求16所述的方法,其中接收所述消息包括从中间计算机接收所述消息,且其中发送所述重新加密的密钥部分包括将所述重新加密的密钥部分发送到所述中间计算机。
22.根据权利要求16所述的方法,其中所述计算机是第一计算机且所述控制机构是第一控制机构,且其中接收所述消息包括从与第二控制机构相关联的第二计算机接收所述消息,且发送所述重新加密的密钥部分包括将所述重新加密的密钥部分发送到与第二控制机构相关联的所述第二计算机。
23.根据权利要求16所述的方法,其中所述方法进一步包括:
将所述消息发送到与所述多个控制机构相关联的所述多个计算机;
从与所述多个控制机构相关联的所述多个计算机接收特定地针对所述目标装置加密的至少M-1个重新加密的密钥部分;以及
将所述重新加密的密钥部分和所接收的至少M-1个重新加密的密钥部分发送到所述目标装置。
24.根据权利要求16所述的方法,其中所述目标装置是与请求解密所述消息的申请人相关联的申请人装置。
25.一种与加密实体相关联的计算机,所述计算机包括:
处理器;
计算机可读介质,其耦合到所述处理器,所述计算机可读介质包括指令,所述指令在由所述处理器执行时,执行以下操作:
针对消息产生密钥;
产生所述密钥的N个密钥部分,N是至少为二的整数;
对于所述密钥部分中的每一个:
使用对应控制机构的可信密钥加密所述密钥部分;
产生所述消息,所述消息至少包含以下各项:
第一部分,其包含经加密密钥部分中的至少M个和所述多个控制机构的识别符;以及
使用所述密钥加密的第二部分;以及
发送所述消息,其中所述密钥部分中的至少M个能够组合以产生所述密钥,使得所产生的密钥能够操作以解密所述消息的所述第二部分,M为等于或小于N的整数。
26.根据权利要求25所述的计算机,其中所述密钥是使用所述加密实体的私钥和与目标装置相关联的公钥产生的对称密钥。
27.根据权利要求25所述的计算机,其中所述方法中加密所述密钥部分的步骤包括:
使用所述对应控制机构的所述公钥和所述加密实体的私钥产生对称密钥;以及
使用所述对称密钥加密所述密钥部分。
28.根据权利要求25所述的计算机,其中所述方法中发送所述消息的步骤包括将所述消息发送到目标装置,其中所述目标装置是与请求解密所述消息的申请人相关联的申请人装置。
29.根据权利要求25所述的计算机,其中所述消息包含策略信息,其中所述策略信息包括:
指示经授权或未授权解密经加密密钥部分的实体的信息,以及
指示能够接受用于所述实体的认证或授权的凭证类型、申请和验证方法的信息。
30.根据权利要求25所述的计算机,其中所述多个控制机构的所述识别符中的每一个包含路由到所述对应控制机构的URL。
31.根据权利要求30所述的计算机,其中基于所述多个控制机构的所述识别符将所述消息发送到与对应于所述密钥部分中的所述至少M个的所述控制机构相关联的计算机。
32.一种计算机产品,其包括计算机可读介质,所述计算机可读介质存储用于控制计算机系统执行上述任何方法的操作的多个指令。
33.一种系统,其包括:
根据权利要求32所述的计算机产品;以及
一个或多个处理器,其用于执行存储在所述计算机可读介质上的指令。
34.一种系统,其包括用于执行上述任何方法的构件。
35.一种系统,其被配置成执行上述任何方法。
36.一种系统,其包括分别执行上述任何方法的步骤的模块。
CN201680090541.5A 2016-11-04 2016-11-04 使用多个控制机构的数据加密控制 Active CN109891423B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2016/060656 WO2018084859A1 (en) 2016-11-04 2016-11-04 Data encryption control using multiple controlling authorities

Publications (2)

Publication Number Publication Date
CN109891423A true CN109891423A (zh) 2019-06-14
CN109891423B CN109891423B (zh) 2023-04-04

Family

ID=62075598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680090541.5A Active CN109891423B (zh) 2016-11-04 2016-11-04 使用多个控制机构的数据加密控制

Country Status (6)

Country Link
US (1) US10680805B2 (zh)
EP (1) EP3535683B1 (zh)
CN (1) CN109891423B (zh)
AU (1) AU2016428606A1 (zh)
RU (1) RU2019117050A (zh)
WO (1) WO2018084859A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112861164A (zh) * 2021-03-16 2021-05-28 北京深思数盾科技股份有限公司 一种加密方法、解密方法、数据处理方法、终端及加密机
CN115280807A (zh) * 2020-02-06 2022-11-01 威利奥特有限公司 通过低能量无线通信协议提供安全可靠通信的系统和方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323267B1 (en) 2018-11-28 2022-05-03 Wells Fargo Bank, N.A. Systems and methods for maintaining confidentiality, integrity, and authenticity of the last secret
US11626982B1 (en) * 2018-11-28 2023-04-11 Wells Fargo Bank, N.A. Systems and methods for maintaining confidentiality, integrity, and authenticity of the last secret
US11379616B2 (en) * 2019-03-25 2022-07-05 Identiq Protocol Ltd. System and method for providing anonymous validation of a query among a plurality of nodes in a network
US11372983B2 (en) * 2019-03-26 2022-06-28 International Business Machines Corporation Employing a protected key in performing operations
US11805419B2 (en) * 2019-04-22 2023-10-31 Google Llc Automatically paired devices
US11563568B2 (en) * 2020-02-27 2023-01-24 Comcast Cable Communications, Llc Scalable content restriction
US20220006613A1 (en) * 2020-07-02 2022-01-06 International Business Machines Corporation Secure secret recovery
US11658809B1 (en) * 2020-07-31 2023-05-23 United Services Automobile Association (Usaa) Systems and methods for selectively sending encryption keys
US11799643B2 (en) * 2021-01-19 2023-10-24 Bank Of America Corporation Collaborative architecture for secure data sharing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030147536A1 (en) * 2002-02-05 2003-08-07 Andivahis Dimitrios Emmanouil Secure electronic messaging system requiring key retrieval for deriving decryption keys
CN101651543A (zh) * 2009-09-04 2010-02-17 瑞达信息安全产业股份有限公司 一种可信计算平台密钥迁移系统及其密钥迁移方法
US20100098256A1 (en) * 2008-10-22 2010-04-22 Kirshenbaum Evan R Decryption Key Management
CN102355351A (zh) * 2011-07-21 2012-02-15 华为技术有限公司 一种基于可信计算的密钥生成、备份和迁移方法及系统
WO2013041394A1 (en) * 2011-09-23 2013-03-28 Koninklijke Kpn N.V. Secure distribution of content
CN103138939A (zh) * 2013-03-28 2013-06-05 武汉大学 云存储模式下基于可信平台模块的密钥使用次数管理方法
US20160241390A1 (en) * 2015-02-17 2016-08-18 Visa International Service Association Cloud Encryption Key Broker Apparatuses, Methods and Systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7594275B2 (en) * 2003-10-14 2009-09-22 Microsoft Corporation Digital rights management system
US7477740B2 (en) 2005-01-19 2009-01-13 International Business Machines Corporation Access-controlled encrypted recording system for site, interaction and process monitoring
US8050407B2 (en) 2006-04-12 2011-11-01 Oracle America, Inc. Method and system for protecting keys
US9231943B2 (en) 2011-02-16 2016-01-05 Novell, Inc. Client-based authentication
US20170222805A1 (en) * 2016-02-03 2017-08-03 Cocoon Data Holdings Pty Limited Escrow key fragmentation system
US20170324549A1 (en) * 2016-05-06 2017-11-09 Benny Abramovsky Secured time of flight measurement

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030147536A1 (en) * 2002-02-05 2003-08-07 Andivahis Dimitrios Emmanouil Secure electronic messaging system requiring key retrieval for deriving decryption keys
US20100098256A1 (en) * 2008-10-22 2010-04-22 Kirshenbaum Evan R Decryption Key Management
CN101651543A (zh) * 2009-09-04 2010-02-17 瑞达信息安全产业股份有限公司 一种可信计算平台密钥迁移系统及其密钥迁移方法
CN102355351A (zh) * 2011-07-21 2012-02-15 华为技术有限公司 一种基于可信计算的密钥生成、备份和迁移方法及系统
WO2013041394A1 (en) * 2011-09-23 2013-03-28 Koninklijke Kpn N.V. Secure distribution of content
CN103138939A (zh) * 2013-03-28 2013-06-05 武汉大学 云存储模式下基于可信平台模块的密钥使用次数管理方法
US20160241390A1 (en) * 2015-02-17 2016-08-18 Visa International Service Association Cloud Encryption Key Broker Apparatuses, Methods and Systems

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115280807A (zh) * 2020-02-06 2022-11-01 威利奥特有限公司 通过低能量无线通信协议提供安全可靠通信的系统和方法
US11540119B2 (en) * 2020-02-06 2022-12-27 Wiliot, LTD. System and method for providing secure and reliable communication over a low-energy wireless communication protocol
CN112861164A (zh) * 2021-03-16 2021-05-28 北京深思数盾科技股份有限公司 一种加密方法、解密方法、数据处理方法、终端及加密机
CN112861164B (zh) * 2021-03-16 2021-12-28 上海纬百科技有限公司 一种加密方法、解密方法、数据处理方法、终端及加密机

Also Published As

Publication number Publication date
WO2018084859A1 (en) 2018-05-11
EP3535683A4 (en) 2019-11-13
CN109891423B (zh) 2023-04-04
EP3535683A1 (en) 2019-09-11
RU2019117050A (ru) 2020-12-04
US20190342083A1 (en) 2019-11-07
EP3535683B1 (en) 2020-10-21
US10680805B2 (en) 2020-06-09
AU2016428606A1 (en) 2019-04-11
RU2019117050A3 (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN109891423A (zh) 使用多个控制机构的数据加密控制
CN108377189B (zh) 区块链上用户通信加密方法、装置、终端设备及存储介质
CN106302312B (zh) 获取电子文件的方法及装置
CN106790090A (zh) 基于ssl的通信方法、装置及系统
CN103516516B (zh) 文件安全共享方法、系统
CN108352015A (zh) 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移
CN108432205A (zh) 使用代理的安全的多方通信的系统和方法
US20170257352A1 (en) Improved installation of a terminal in a secure system
CN106576043A (zh) 病毒式可分配可信消息传送
WO2022003009A1 (en) Tls integration of post quantum cryptographic algorithms
CN105307165A (zh) 基于移动应用的通信方法、服务端和客户端
CN108632296B (zh) 一种网络通信的动态加密与解密方法
US11757625B2 (en) Multi-factor-protected private key distribution
JP2020530726A (ja) サプライチェーン資産管理を保護するアプリケーションを有する遠隔サーバへのnfcタグ認証
JP2023500570A (ja) コールドウォレットを用いたデジタルシグニチャ生成
CN107040536A (zh) 数据加密方法、装置和系统
CN111355702B (zh) 安全传输数据集的方法和系统、医学设施和程序产品
CN109309566B (zh) 一种认证方法、装置、系统、设备及存储介质
TW201537937A (zh) 統一身份認證平臺及認證方法
CN113411187A (zh) 身份认证方法和系统、存储介质及处理器
CN115004627A (zh) 分布式对称加密
Bhandari et al. A framework for data security and storage in Cloud Computing
CN116886288A (zh) 一种量子会话密钥分发方法及装置
US11170094B2 (en) System and method for securing a communication channel
KR101929355B1 (ko) 고유 일련번호 및 대칭키를 이용한 암복호화 시스템

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40007349

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant