CN106104562B - 机密数据安全储存和恢复系统及方法 - Google Patents

机密数据安全储存和恢复系统及方法 Download PDF

Info

Publication number
CN106104562B
CN106104562B CN201580010720.9A CN201580010720A CN106104562B CN 106104562 B CN106104562 B CN 106104562B CN 201580010720 A CN201580010720 A CN 201580010720A CN 106104562 B CN106104562 B CN 106104562B
Authority
CN
China
Prior art keywords
key
recovery
user
password
confidential data
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.)
Active
Application number
CN201580010720.9A
Other languages
English (en)
Other versions
CN106104562A (zh
Inventor
钱晓燕
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN106104562A publication Critical patent/CN106104562A/zh
Application granted granted Critical
Publication of CN106104562B publication Critical patent/CN106104562B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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
    • 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Landscapes

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

Abstract

本发明涉及的是一种基于用户机密(例如口令、恢复服务器共享机密以及恢复节点的机密)为机密数据提供安全储存和恢复的系统和方法。机密数据由此三种机密加密,并保存在远离用户设备的位置,仅允许用户在不损害机密数据的保密性的情况下恢复机密数据。本发明还提供将口令与口令所保护的机密数据分离的系统和方法,以便重置口令,或将机密数据恢复成可以独立执行的独立操作。另一个方面是利用恢复节点验证用户账户所有权从而安全恢复用户账户。

Description

机密数据安全储存和恢复系统及方法
技术领域
本发明涉及能够实现机密数据安全储存和恢复的加密系统和方法。更具体地说,本发明涉及的加密系统和方法使用加密技术,实现互联网等通信网络上分布的数据的数据安全和访问控制。
背景技术
随着互联网使用量的增加,越来越多的用户和企业开始使用基于网页的电子邮件、文件储存、数据共享、社交网络和其他应用服务。这些基于网页的服务都涉及到互联网上大量敏感数据的储存和交换。这在很大程度上要依赖于服务提供商保护他们的数据,我们将之称为可信任第三方模型。
可信任第三方模型取决于网页服务提供商保护用户数据的诚信和能力。用户必须信任服务提供商会善意妥善地保护他们的数据,用户基本上无法控制谁能访问他们的数据。用户的数据不仅容易受到外部和内部袭击的破坏,同时也面临着高风险以及潜在的滥用。此外,这些服务提供商具有不同的需求或技术,因而使用的访问控制方法也各不相同。因此,最终用户数据的访问控制在不同环境中呈现高度分散的状态。
与可信任第三方模型相对的是使用端对端加密模型。这种模型将数据安全和访问责任以及保护密钥避免丢失或被盗的责任转移给最终用户。如果用户丢失密钥,受保护数据将不再可用。同样地,如果密钥被损坏或被盗,数据将不再安全。
将密钥管理责任转移给用户导致许多可用性问题,例如能否交换加密密钥以及安全、可靠地保存加密密钥。有些方法尝试通过结合端对端加密模型和可信任第三方模型解决这些问题,让用户信任的第三方管理和保护端对端加密模型所使用的加密密钥。这些组合方法也面临着与可信任第三方模型相同的问题,因为通过可信任第三方,或者通过突破可信任第三方的安全防范,依然可以访问用户的受保护数据。
典型的数据库系统,例如关系数据库管理系统(RDBMS),一般具备访问控制系统,会根据用户账户或角色或用户组的访问特权,有选择地授权数据对象的访问。这种访问控制系统通常是封闭系统的一部分。由元数据决定哪些人员可以访问哪些数据。而对于独立系统中的分布数据,这种传统的访问控制系统则无法运行。随着互联网越来越多地被用作信息储存和传输媒体,用户数据通常会分布在多个不同的、独立的网站或服务。因此,这种传统的访问控制系统无法运行。此外,这种传统的访问控制系统依赖于数据库管理员管理访问权,例如授权或撤销。从最终用户的角度来看,这种方法实质上与信任第三方相同,无法保证数据的保密性。
加密系统在互联网等分布式环境下具备固有的访问控制特性。对于任意人员而言,获取了口令不一定意味着他/她能够访问口令的原始数据。只有拥有可以解密密码的密钥的指定用户才能访问数据。在许多加密系统中,基于客户的端对端加密系统,例如PGP和SMIME,可以为最终用户提供强大的数据安全保障。
但是,这些系统也存在许多问题,以至于无法被普通用户用作常用访问控制工具来管理他们在互联网上传布的敏感数据。首先,这些系统不足以用于访问控制。因为,一旦对数据进行加密和传布,例如发送PGP或SMIME邮件后,很难授权额外的访问或撤销现有访问。其次,这些系统的密钥管理对于大部分普通用户来说非常困难。再次,用户必须要在交换任何数据之前交换公共密钥证书,这进一步打消了用户使用这些系统的念头。此外,一旦私人密钥丢失,受到私人密钥保护的数据将无法恢复。这对考虑采用这些系统的用户来说是一项很大的风险。尤其是随着越来越多的用户使用移动设备,丢失移动设备成了一项大概率事件。丢失移动设备及其储存的密钥,例如私人PGP密钥,对该端对端加密系统的用户来说是一项很大的风险。
为解决其中一些问题,人们已经提出了各种系统。为了避免私人密钥丢失,常用的解决方案是允许用户用口令对私人密钥进行加密,然后将加密的私人密钥储存在互联网可访问的系统中。只要用户可以访问系统,用户就能通过输入口令找回私人密钥并进行解密。但是,这些系统的用户必须记住口令。丢失口令将导致加密的私人密钥丢失。忘记复杂的口令而丢失私人密钥将导致系统受到影响,而使用简单的口令将导致系统易于受到攻击,即使使用了基于口令的密钥导出函数(KDF)。此外,这是一种单因素认证,知道口令就能获得私人密钥,从而对数据进行解密。更重要的是,由用户口令保护的数据易受服务器系统内部攻击。
US 2013/0198508 A1所述的系统允许本地设备恢复被密钥L加密的加密密钥,L与两个“公开”密钥相关,其中一个密钥D储存在本地设备。当用户忘记加密密钥的口令加密版本的口令时,这种系统非常有用。但是,当本地设备以及所储存的“公开”密钥D丢失时,则无法恢复L。因此,无法恢复加密密钥。
某些系统,例如Symantec PGP产品或US 2013/0080765 A1所述的系统,需要额外的机密才能进行恢复。例如,用用户已知的多个个人问题和答案来创建恢复密钥。但是,由于恢复并不是经常发生的事件,这些问题的答案可能很难记住。实际上,这些系统迫使用户记住更多机密。
某些系统将恢复机密分成多个部分分发给多个系统,例如不同的网点,以便在进行恢复时,通过这些网点召回各部分数据,并组合起来,从而恢复数据。例如,US 8,572,757B1所述的系统将恢复密钥储存在一个站点,而将加密数据储存在另一个站点。从加密技术上来看,这些系统并不安全,因为需要用户将机密转交给可信任第三方。这些系统易受到大规模系统性的共谋攻击的影响。
发明内容
第一个方面提供了一种基于社交网络的加密系统,用于用户账户相关机密数据的安全存储,系统由用户设备、恢复服务器和恢复节点组成。用户设备具有储存指示的内存,以及执行指示的处理器,负责根据提供给用户设备的机密导出加密密钥,进而生成导出的加密密钥,并用导出的加密密钥对机密数据进行加密,以生成单次加密机密数据,然后指定一个恢复节点,获取与恢复节点相关的恢复节点密钥,并用恢复节点密钥对单次加密机密数据进行加密,以生成二次加密的机密数据。恢复服务器负责储存二次加密机密数据,并将二次加密机密数据与用户账户和恢复节点关联起来。与恢复节点相关的恢复节点装备(恢复节点装备具有储存指示的内存以及执行指示的处理器),负责:生成恢复节点密钥以及向用户设备提供恢复节点密钥。在基于社交网络的加密系统的某些方面中,可以安全地恢复与用户账户相关的机密数据,恢复节点设备得到获取二次加密机密数据的进一步指示,用恢复节点密钥对二次加密机密数据进行解密,以恢复单次加密机密数据,并将单次加密机密数据传送到用户设备;用户设备按照进一步指示,根据提供给用户设备的机密导出加密密钥,从而在用户设备生成导出的加密密钥,并用导出的密钥对单次加密机密数据进行解密,以恢复机密数据。
第二个方面提供了一种将用户账户机密数据储存在加密系统中,以便实现机密数据安全恢复的方法。这种方法包括基于提供给用户设备的机密导出加密密钥,从而在用户设备上生成导出的加密密钥;指定一个恢复节点,并获取与恢复节点相关的恢复节点密钥;用导出的加密密钥和恢复节点密钥对机密数据进行加密,以生成加密机密数据;以及将加密机密数据储存在远离用户设备的位置。在某些实施例中,对机密数据的加密可以包括用导出的加密密钥对机密数据进行加密,以生成单次加密机密数据,以及用恢复节点密钥对单次加密机密数据进行加密,以生成二次加密机密数据。在机密数据安全储存方法的另一个方面中,机密可以是口令,并且可以在用户设备上,用基于口令的密钥导出算法获得导出的加密密钥。基于口令的密钥导出算法可以使用通过恢复服务器获取的任何一种salt、重复计数以及两者的组合。机密数据安全储存方法的另一个方面可以包括从与用户账户相关的恢复服务器获取对称密钥,并且所导出的加密密钥可以由对称密钥以及一个用口令从基于口令的密钥导出算法导出的密钥组成。导出的加密密钥可以由对称密钥的XOR运行以及用口令从基于口令的密钥导出算法导出的密钥组成。
在机密数据安全储存方法的另一个方面中,恢复节点密钥可以是与恢复节点相关的公开/私人密钥对相对应的公开密钥,或与恢复节点共享的对称密钥。恢复节点密钥可以从恢复服务器获取。在另一个方面中,恢复节点和用户账户可以相互同意为一方或彼此提供安全恢复。在机密数据安全储存方法的另一个方面中,远离用户设备的位置可以是恢复节点或恢复服务器。恢复服务器可以将加密机密数据与用户账户和恢复节点相关联起来。
在机密数据安全储存方法的另一个方面中,二次加密机密数据可以用一个与用户账户相关的身份密钥进行加密签名。在另一个方面中,机密数据可以是与用户账户相关联的公开/私人密钥对相对应的私人密钥。
第三个方面提供了一种安全地恢复已经安全地储存在加密系统中的用户账户的机密数据的方法。机密数据安全恢复方法包括在恢复节点设备获取加密机密数据,用基于机密和恢复节点设备的恢复节点密钥的导出加密密钥对加密机密数据进行加密;根据提供给用户设备的机密导出加密密钥,以在用户设备生成导出的加密密钥;用恢复节点密钥以及在用户设备生成的导出加密密钥对加密机密数据进行解密,以恢复机密数据。
在机密数据安全恢复方法的某些方面中,机密数据的解密步骤可以包括用恢复节点密钥,通过恢复节点设备对加密机密数据进行解密,使用恢复节点密钥生成单次加密机密数据;在与用户账户相关的用户设备,从恢复节点设备接收单次加密机密数据;以及用导出密钥对单次加密机密数据进行解密,以恢复机密数据。机密可以是口令,而在用户设备获得导出的加密密钥使用的则是基于口令的密钥导出算法。用户设备可以从恢复服务器获取一个salt、重复计数或它们的组合,作为基于口令的密钥导出算法的输入信息。在某些方面中,可以从恢复服务器获取与用户账户相关的对称密钥,而导出的加密密钥可以由对称密钥和用口令从基于口令的密钥导出算法获取的密钥组成。导出的加密密钥还可以由对称密钥的XOR运行以及用口令从基于口令的密钥导出算法导出的密钥组成。可以从用户设备向恢复服务器提供一个认证令牌,以确认用户账户与用户设备相关联,认证令牌可以在用户设备上,用基于口令的密钥导出算法由口令生成。
在机密数据安全恢复方法的某些方面中,这种方法还包括在恢复服务器上接收用户设备发出的机密数据恢复请求;以及识别恢复节点。这种方法还包括将二次加密机密数据从恢复服务器传输到恢复节点。
在机密数据安全恢复方法的其他方面中,恢复节点密钥可以是储存在与恢复设备的公开/私人密钥对相对应的恢复节点设备中的私人密钥。这种方法还包括通过带外通信接收一个与用户账户相关的,确认用户账户请求恢复机密数据的信息。带外通信可以包括一个被用户设备用于请求机密数据安全恢复的加密杂凑,例如与信道相关的指纹、用于保护信道的公开/私人密钥对。在某些方面,机密数据可以是与用户账户相关的公开/私人密钥对相对应的私人密钥,例如识别用户账户。
第四个方面提供了一种在没有口令的情况下用用户账户所有权的节点认证安全恢复用户账户的方法。这种方法包括在用户设备生成一个与用户账户相关的随机值,以及用与用户账户相关的用户私人密钥对随机值进行加密签名以生成第一个签名;指定一个恢复节点以及获取与恢复节点相关的恢复密钥;用于恢复节点相关的恢复密钥对第一个签名进行加密,以生成第一个加密签名;将随机值和第一个加密签名储存在恢复服务器;在恢复节点的恢复节点设备检索来自恢复服务器的第一个加密签名;在恢复节点的恢复节点设备用恢复密钥对第一个加密签名进行解密,以生成第一个解密签名;向恢复服务器提供第一个解密签名;以及在恢复服务器用与用户私人密钥相对应的用户公开密钥验证第一个解密签名以及随机值。在这种方法的某些方面,恢复密钥可以是一个公开密钥,解密第一个加密签名可以使用与公开密钥相对应的恢复私人密钥。在其他方面中,恢复密钥可以是一个对称密钥。在另外的方面中,这种方法还包括通过带外通信请求恢复节点认证用户账户的所有权,以阻止中间人攻击。
在用户账户安全恢复方法的另一个方面中,这种方法还包括生成一个新身份公开密钥和一个新身份私人密钥;通过在恢复节点设备用恢复公开密钥对新身份公开密钥做加密签名,将新身份公开密钥与用户账户关联起来,以生成第二个签名;以及验证第二个签名属于恢复节点。
第五个方面提供了一种将口令与受到口令保护的机密数据分离的方法。这种方法包括用储存在恢复服务器的服务器密钥对机密数据进行加密;以及允许用户设备用口令通过认证访问的方式访问服务器密钥。
附图说明
为了更好地理解此处所述的各实施例,以及为了更清晰地说明如何实现这些实施例,现通过举例说明的方式参考附图,附图至少示出了一种例示性实施例,并且其中:
图1是一种基于社交网络的加密系统的示意图,该系统可以提供基于加密的访问控制和机密数据安全恢复;
图2是一种在图1所示的基于社交网络的加密系统中实现访问控制的方法的流程图;
图3是一种储存机密数据以便能够用恢复节点安全恢复数据的方法的流程图;
图4是一种用恢复节点设备安全恢复机密数据的方法的流程图;
图5是一种在用户和恢复节点之间安全恢复共享机密的方法的流程图;
图6是一种在节点程序之间安全共享数据的方法的流程图;
图7是一种设置基于节点的账户恢复方法的流程图;
图8是一种基于节点的认证和账户恢复方法的流程图。
具体实施方式
应了解的是,为了说明的简单性和清晰度,如适当,将列出许多具体的详细信息,以便充分了解此处所述的例示性实施例。但是,所属领域的一般技术人员应了解的是,此处所述的实施例可以在没有具体详细信息的情况下实施。在其他情况下,则并没有详细描述已为人熟知的方法、程序和部件,目的是避免影响对此处所述的实施例的理解。此外,该描述不得被视为以任何方式限制此处所述的实施例的范围,而仅仅是描述了此处所述的各种实施例的实现。
图1示出了一个框图,描述了一种例示性环境100,这种环境包括了用户1的第一台客户设备105、用户2的第二台客户设备110,与之连接的是数据通信网络102(例如互联网),此外还有计算机服务器115和服务120。
客户设备105和110、计算机服务器115和服务120是计算设备,包括一台计算机处理器和一个储存数据和软件指令以便让处理器执行的内存。这些计算设备还包括一个有线或无线网络界面,以便能够用数据通信网络102进行通信。设备105和110可以是手机、平板电脑、可佩带设备、计算机或任何其他类型的计算设备。
用户1设备105是一台客户端设备。用户1可以用一个标识符和认证令牌(例如密码)在服务器115上注册一个用户账户。标识符可以是独一无二、任意的字符串或任何其他独一无二的标识符,例如电子邮箱。虽然以下描述实施例使用的是密码,但是也可以根据类似的方法使用认证令牌。术语“用户账户”一般代指系统用户,可以是自然人或作为用户的设备。例如,独立设备或物联网的设备也可以在服务器115拥有一个用户账户。
创建用户账户后,客户端设备将生成私人密钥K1 125和公开密钥k1 130的私人/公开密钥对,作为主密钥。在某些实施例中,密钥125和130可以根据椭圆曲线密码学(ECC)或任何其他非对称系统生成,包括但不限于RSA、EIGamal、Diffie-Hellman、Paillier、NTRU和McEliece。用户1设备105进而生成一个服务器密钥S1 160。然后,用户1设备105可以将公开密钥k1 130和明文服务器密钥S1 160储存在服务器115的用户1账户中,最好是通过SSL/TLS等安全通信机制或任何其他安全通信方式来储存。在某些实施例中,可以在与用户1账户相关联的服务器生成密钥S1 160。在这些实施例中,服务器密钥S1 160通过安全通信转移到设备105。应了解的是,应在访问服务器密钥S1 160之前对用户1进行认证。在某些实施例中,外,可以用认证令牌导出的密钥对服务器密钥S1 160进行加密,并储存在本地设备105中,此外也将服务器密钥S1 160的副本储存在计算机服务器115上。用户1需要提供密码才能解密本地服务器密钥S1 160或登录在服务器115上的用户1账户,以检索服务器密钥S1 160。
用户1设备105通过对称加密算法,用服务器密钥160对主私人密钥125进行加密。设备105输出密码K1s1 190,将密码K1s1 190和公共密钥k1 130储存在本地设备105上。这提供了一种将受到口令保护的机密数据的口令分离的方法,即用储存在恢复服务器的服务器密钥对机密数据进行加密,以及用口令通过认证访问的方式允许用户设备访问服务器密钥。机密数据可以是用服务器密钥加密的,储存在设备上的私人密钥。
在正常运行过程中对登录密码以及储存在设备105的主私人密钥进行分离使密码重置和主私人密钥的恢复变成了两个独立的操作,从而使各操作能够自由、独立地执行。进行分离后,储存主私人密钥的用户1设备105丢失后,登录密码可以帮助恢复主私人密钥;在重置登录密码时,不会影响本地加密主私人密钥。所属领域的技术人员应了解,这将降低同时丢失登录密码和储存主私人密钥的设备的概率。同样重要地是,这种分离确保用两个因素对用户进行认证后才能访问数据。一个是用户知道的登录密码。另一个是用户拥有的设备中的主私人密钥。
在最佳实施例中,对称算法可以是CTR模式的AES-256,其中服务器密钥长度为256位 。也可以使用任何其他对称加密算法,包括分组密码和序列密码,例如Blowfish、DES、Triple DES、Serpent Twofish、IDEA、RC2、RC5以及任何其他密钥长度。在某些实施例中,设备105可以根据用户1账户密码,用导出的密钥对主私人密钥125进行加密,额外输出并在本地保存另一个密码。
用户1的账户密码可以通过基于口令的密钥导出函数进行加强,例如PBKDF2、bcrypt或scrypt。在最佳实施例中,可以用PBKDF2、salt a1以及足够大的重复计数导出一个强大的密码,该密码被保存在服务器115中用于认证。Salt a1可以在密钥生成期间由客户端设备进程生成。
在某些实施例中,用户1的账户标识符可以用用户1的主私人密钥进行签名。然后可以将签名储存到服务器115的用户1的账户中。
如果用户2用设备110在服务器115上注册一个用户账户,生成主私人密钥K2 135,用所生成的随机服务器密钥S2进行加密,并与所生成的主公开密钥k2 140一起保存在本地设备110中。公共密钥140、所生成的随机salts a2和b2以及服务器密钥S2都可以通过安全信道储存到服务器115上注册的用户2账户中。应了解的是,用户2可以是同一实体用户的第二个账户。
在最佳实施例中,用户1可以用必要的联系信息或标识符(例如用户2的电子邮箱)查阅用户2,并发出与用户2交换加密数据的请求。如果用户2接受并批准该请求,用户1和用户2可以与各设备交换主公开密钥k1 130和k2 140。否则,用户1和用户2不能获得另一方的公开密钥。在某些实施例中,用户1和用户2在交换公开密钥时可以验证公开密钥的相关指纹或用各方的主私人密钥签署的数据签名。
尽管用户授权的信号交换可能可以或不可以用于交换公开密钥,但所属领域的技术人员应了解,这将有助于接收人方便地区分进入的加密数据的可信度。更重要的是,还可以减少任何意外或恶意加密数据被接收人的客户端设备解密的概率。
如果用户1需要通过服务120(例如网页邮件提供商)向用户2发送数据D,例如私人邮件,则用户1设备105可以发起图2所述的进程200。在第205步中,设备105将生成会话密钥S,然后在第210步中用会话密钥S(最好是用CTR模式的AES-256)以及输出密码Ds 155对数据D进行加密。在某些实施例中,设备105可以首先压缩数据D,然后对压缩数据D和输出密码Ds 115进行加密。在某些实施例中,会话密钥可以是随机密钥。在其他实施例中,可以基于数据D生成会话密钥。例如,当数据D是文件时,会话密钥S可以是文件的杂凑值,,服务120是云存储设备。数据D的真实性和完整性检查及其不可否认性可能可以或不可以增加到密码Ds 155中。在某些实施例中,设备105可以用用户1的主私人密钥生成数据D的数字签名,并与密码155关联起来。
设备105可以生成与密码155相关联的索引I 165。在某些实施例中,可以将索引插入密码155。在其他实施例中,可以从密码155获取索引。在第215步中,设备105可以用自己的公开密钥k1对会话密钥S进行加密,并在第220步中将输出密码Sk1 175和索引I 165储存到与用户1相关联的服务器115中的账户中。在第225步中,用户1设备105还可以根据用户2的标识符(例如电子邮箱地址)检索用户2的公开密钥k2,并在第230步用用户2的公开密钥k2对会话密钥S进行加密。在第235步中,设备105将输出密码Sk2 175以及相关索引I 165储存到服务器115的用户2的账户中。最后,在第240步,用户1设备105向服务120发送Ds。
在最佳实施例中,设备105可以保存用用户1的账户密码导出的密钥加密的服务器密钥的副本。在正常运行期间,当用户1用账户标识符和密码登录服务器115时,用户1设备105可以根据输入密码导出密钥,并获取服务器密钥S1。设备105可以用服务器密钥S1解密密码K1S1,以获取主私人密钥K1,并将其保存在设备存储器中,以用于正常运行。
用户2设备110可以接收或检索来自服务120的密码Ds 155,例如网页邮件提供商的电子邮件。设备110还可以从服务器115检索密码Sk2 180,用用户2私人密钥K2对密码180进行解密,并在本地用户设备2获取会话密钥S 145。最后,用会话密钥S 145解密Ds 155并在本地获取数据D 150。在某些实施例中,设备110可以解压通过解码获取的数据,以获得数据D 150。在某些实施例中,用户2设备110还可以用用户1的主公开密钥验证数据D的数字签名。
在发出私人邮件后,或将密码Ds 155发送给服务120后,如果用户1需要撤销用户2对密码155的访问,用户1可以查阅并删除保存在服务器115的用户2账户上的密码Sk2 180。
如果用户2尚未在服务器115注册账户。用户1仍然可以在进行任何公开密钥交换之前与用户2先行交换数据,然后在用户2在服务器115上注册账户并进行公开密钥交换后,再向用户2授予额外的访问权。在这种情况下,用户1可以首先执行第205、210、215、220和240步。随后,一旦用户2注册账户并且发生用户授权的信号交换,用户1可以执行图6所述的进程,向用户2授予访问权。在第605步,设备105检索密码Sk1 175,在第610步用密钥K1 125解密密码175获取会话密钥S 145,在第615步获取公开密钥k2 140后,用公开密钥140对会话密钥145进行加密,在第620步中在本地输出密码Sk2 180。最后,在第625步中,设备105将密码180储存在服务器115上用户2的账户中。
应了解的是数据D不仅限于电子邮件。可以是基于应用的任何类型的文件、文本和媒体。服务120不仅限于网页邮件提供商。可以是云存储服务、社交网络服务、信息服务或临时或永久保存和访问密码155的任何类型的服务。服务120可以是任何最终服务或中间服务。服务120可能具备也可能不具备自己的访问控制机制。还应了解的是,服务120不仅可以存在于互联网,还可以存在于相同网络的计算机服务器上,包括但不限于LAN、VLAN、无线网络、WAN及其任何组合。
还应了解的是,向额外用户授予访问密码Ds 155的额外访问权并不复杂。如果用户1需要通过云存储服务或服务120分享文件或数据D 150,那么用户1按照框图200将访问权授予用户2后,仍然可以向额外用户授予额外的访问权。设备105可以首先检索密码175以及关联索引I 165,用私人密钥125解密密码175,以获得会话密钥S 145,然后用额外用户的公开密钥对会话密钥S 145进行加密,并将输出密码和索引 165储存到额外用户在服务器中的账户。
如果本地主私人密钥丢失,例如设备105丢失,用户1需要恢复主私人密钥时,可以选择已经与用户1完成信号交换的一个或多个用户,并将主私人密钥安全地保存在计算机服务器中。在最佳实施例中,用户可以将机密签名保存在计算机服务器中,以支持认证因素“您知道的节点(the peer you know)”,同时进行额外的账户恢复,详细信息参见进程700和800。
接下来将参考图3,图3描述了一种储存机密数据以便能够用恢复节点安全恢复数据的方法。该例子中的机密数据是指用户1的私人密钥125,但是这种方法也可以恢复任何其他类型的机密数据,例如口令或文件。服务器115还被称为恢复服务器,因为它也支持机密数据恢复。
如图3所示,进程300是一个用恢复节点安全保存机密数字资料的进程。在第305步中,用户1选择用户2为恢复节点,并从用户2获取恢复节点密钥。在该例子中,用户2的公开密钥k2与用户2的私人密钥K2相对应。用户1还根据提供给用户设备的机密导出加密密钥,以生成导出加密密钥。用户1可以输入密码P1,作为导出密钥P’1的机密。该密码可以是具有充足安全长度的任意字符串。在最佳实施例中,该密码可以与用户1账户的密码相同。在第310步中,密钥P’1由P1导出,用的是基于口令的密钥导出函数,例如具有salt b1和足够大的重复计数c1的函数PBKDF2。在第315步中,可以结合服务器密钥S1,用导出的密钥P’1进一步导出另一个密钥L1。如此,导出的加密密钥是用户机密(例如密码)和与恢复服务器115的共享机密的组合。在最佳实施例中,组合运行可以是XOR运行。在第320步中,设备105用导出的密钥L1和对机密数据或主私人密钥K1 125进行加密,并输出密码K1L1。在第325步中,设备105用恢复节点密钥(例如公开密钥k2)对密码K1L1进行加密,并在本地输出密码K1L1k2。最后,在第330步,设备105将密码K1L1k2储存在远离用户设备105的位置,例如恢复服务器115或另一个可通过互联网访问的服务器。
可以用恢复节点密钥和导出的加密密钥,以各种可逆方式完成机密数据的加密,例如更改密钥申请顺序或将密钥组合起来对机密数据进行加密。在某些实施例中,可以首先用通过密码导出的密钥对机密数据K1进行加密,然后用服务器密钥S1进行加密,再用用户2的公开密钥k2进行加密。在其他实施例中,可以首先用服务器密钥S1对K1进行加密,然后用通过密码导出的密钥进行加密,再用用户2的公开密钥k2进行加密。应了解的是,重加密不仅限于使用用户2的公开密钥。在某些实施例中,重加密使用的是可以被用户1访问的用户2的对称密钥。在这些实施例中,用户1的设备可以使用对称密钥对K1L1进行加密,然后通过安全的通信方式发送,并将对称密钥保存在用户2的设备中。在这些实施例中,可以通过结合P’1、S1和用户2的共享对称密钥生成导出加密密钥L1。K1L1通过用L1加密生成并储存在服务器中。在其他实施例中,用户1的设备可以使用与用户1和用户2的公开密钥相关联的共享对称密钥,根据椭圆曲线加密系统(ECIES)获取K1L1
如果丢失主私人密钥125和密码190(或注册一个与保存在恢复服务器的用户账户相关联的新的用户设备),用户1通过密码登录其账户,并且视情况需要用一个或多个额外认证因素进行验证后,设备105可以发起图4所示的主私人密钥恢复进程。在第405步中,设备105生成一组密钥对,即私人密钥T1和公开密钥t1对,然后在第410步中将公开密钥t1发送给服务器。
在第415步中,服务器115接收t1,并向用户2设备110发出信号,帮助用户1恢复私人密钥。
在第420步,设备110收到公开密钥t1和密码K1L1k2 185。密码K1L1k2 185作为一例加密机密数据,可以用导出的加密密钥(从用户机密以及与服务器共享的机密导出)和恢复节点密钥进行解密,以恢复机密数据。
在最佳实施例中,一旦收到公开密钥t1和恢复请求,用户1和用户2将通过带外通信对t1进行公开密钥验证,同时允许用户2认证用户1是发出t1的人员。带外通信可以指用户1和用户2之间的,验证对方用户身份的任何通信,以确保该用户是提出请求的用户。可以包括数字通信,例如电子邮件、SMS短信以及非数字通信,例如现场交流或打电话。
可以使用已知的任何方式在交换过程中验证公开密钥,例如验证公开密钥或数字签名的指纹。例如,指纹可以通过用户1向用户2发送的SMS短信提供。该验证可以检测到潜在的中间人攻击。在第425步中,设备110用用户2的恢复节点密钥(例如私人密钥K2)对K1L1k2进行解密,并获得密码K1L1。在某些实施例中,设备110可以用对称密钥获取密码K1L1。在第430步中,设备110用公开密钥t1对密码K1L1进行加密,并输出密码K1L1t1。在第435步中,设备110向恢复服务器115发送密码K1L1t1
在第440步中,恢复服务器115接收密码K1L1t1并通知设备105。
在第445步中,设备105接收密码K1L1t1,并在第450步中,用私人密钥T1对其进行解密,并获得密码K1L1。然后设备105根据提供给用户设备1的机密(例如密码或生物识别)以及与恢复服务器115共享的机密导出加密密钥。在第455步中,设备105用与第310步相同的参数,用相同的基于口令的密钥导出函数,从密码P1中导出密钥P’1,以保存机密数据,以便进行安全恢复。在最佳实施例中,用户1在登录时输入密码P1后,可以从保存P1的内存位置读取密码P1。在其他实施例中,密码P1可以由用户1直接输入。在第460步中,设备105通过结合P’1和检索到的服务器密钥S1,进一步导出密钥L1。组合运行与第315步相同。一旦恢复了密钥L1,在第465步中,设备105将用密钥L1对密码K1L1进行解密,并获取主私人密钥K1。最后,在第470步,设备105可以销毁私人密钥T1和公开密钥t1
应了解的是,恢复的数字资料可以是除了主私人密钥K1之外的任何数字资料。也可能是任何类型的文件,包括但不限于文件、图片、二进制、硬盘驱动器图像和备份文件。在某些实施例中,可以用多个恢复节点的公开密钥对主私人密钥K1进行加密。
如果用户1无法记住账户密码并且丢失了设备105的主私人密钥125,仍然可以恢复节点共享的数据的访问权。用户1用一个或多个因素(例如至少有一个因素是进程700和800所述的因素)完成认证后,用户1可以重新登录用户1在服务器115的账户,并发起图5所示的恢复数据访问进程,以恢复用户1和用户2之间共享的机密(例如密码Ds 155)。
在第505步中,设备105生成新的主私人密钥N1和主公开密钥n1对。在第510步中,设备105将公开密钥n1保存到服务器115中。
在第515步中,服务器115接收公开密钥n1以及恢复数据访问的信号。服务器115识别与用户1共享数据的所有用户,并向搜索到的用户发送信号,例如本实施例中的用户2。
在第520步中,用户2设备110从服务器115收到信号,并检索新的公开密钥n1。在第525步中,设备110检索密码Sk2,该密码的密钥是与公开密钥k1和k2共享的机密。在第530步中,对于检索到的各密码Sk2,设备110用主私人密钥K2对Sk2进行解密,并获取会话密钥S。在第535步中,对于所获取的各会话密钥S,设备110用新的公开密钥n1对S进行加密,并输出密码Sn1。在第540步中,设备110将密码Sn1保存在服务器115中。
在第545步中,服务器115接收并保存密码Sn1,并向用户1发送信号,说明用户2的恢复进程已经完成。
在第550步中,设备105接收完成信号,并准备用新的主私人密钥N1访问恢复的数据。
如果用户1无法记住账户密码,可以发起密码重置。应首先用一个或多个因素对用户1进行认证。在某些实施例中,可以通过验证电子邮箱和验证短信这两个因素对用户1进行认证。应了解的是,认证机制可以是已知的任何方法。一旦用户1通过认证,设备105可以从服务器115检索服务器密钥S1,并对密码K1s1进行解密,以获得K1。因此,设备105可以用新密码对Sk1进行加密,替换服务器密钥S1密码K1s1的本地加密副本,在最佳实施例中,还用新密码发起框图300所示的基于节点的恢复,以替换密码K1L1k2。应了解的是,认证密码可以是用于对机密进行加密的独立密码,而机密可以是单个密码。应了解的是,可以用不同的认证令牌对用户账户进行认证,例如智能卡、一次性口令、图像、生物识别,并且口令可以是通过该机制导出的一系列字节。
所属领域的技术人员应了解,本披露利用社交节点大大加强了用户在线数据的数据安全和可恢复性,以及加密系统的可用性。直观地来看,一组用户比某个个人更能够抵抗攻击。用户通过相互帮助,只需使用密码就能保护在线数据安全。从而使社交群体不仅仅能够得到共享,更能够得到保护、恢复和可用性,从而成为一个社交安全网络。基于加密原理的强度,可以为保存在服务器的机密提供强大的数据安全保障。首先用多重加密抵抗服务器的内部攻击。此外还用生成的密钥将机密包围起来,以抵抗恢复节点的攻击。恶意恢复节点必须尝试交互登录,以暴力破解密码,从而获得服务器密钥。这种尝试并不充分,并且可以轻易地被服务器探测到。即便恢复节点与服务器勾结,机密仍然受到用户密码以及密钥导出函数的强大保护。由于需要与个人勾结,因此大规模的攻击无法进行,尤其是当服务器也受到影响的时候。因为恢复节点很可能是用户信任的人员,所以勾结不太可能发生。此外,密码重置和恢复方案的可用性允许用户选择更强大的密码,因为用户知道如果丢失密码,仍然可以恢复账户和数据。
如果用户1账户和用户2账户是同一实体用户的两个不同账户,使用用户2账户作为恢复节点将具有重大的安全益处。对用户2的账户的暴力破解无法直接影响用户账户1的安全。在某些实施例中,一个实体用户可以使用两个独立账户,每个账户将作为另一个账户的恢复节点。这种设置可以在不弱化安全保证的同时,向同一个实体用户提供额外的恢复方式。
所属领域的技术人员应了解,将密码重置、密钥恢复以及共享数据恢复等功能结合起来,本披露大大减少了用户管理机密的任务,同时不影响数据安全保障。账户密码丢失时,可以恢复主私人密钥。设备或主私人密钥的存储丢失时,可以恢复主私人密钥,而不需要保留额外的机密。即使是在密码和保存主私人密钥的设备都丢失的情况下,仍然可以恢复共享数据,这将使数据丢失减少到最低程度。此外,为了访问用户数据,攻击人需要两个因素—— 用户知道的密码以及用户拥有的主私人密钥。这大大地加强了用户数据的安全性。
所属领域的技术人员应了解,当客户端设备离线时,本披露通过将通信数据保存在一个中间存储服务器,可实现多台客户端设备的安全通信,而不需要同时在线。这可以加强许多服务的数据安全,包括消息服务。
在企业环境等某些环境中,通常需要访问数据进行审计、病毒扫描、监控,或员工离开组织后雇主进行数据恢复。在这种情况下,可视情况需要,通过自动增加与授权账户相关联的加密会话密钥,向目标加密数据授予一个或多个额外的可信权限访问权。在某些实施例中,可以通过将加密会话密钥附于目标机密数据的方式,即密钥托管,执行上述自动授予的访问权。在其他实施例中,密钥托管可以采用PGP、SMIME或其他标准相兼容的格式。所属领域的技术人员应了解,这种混合式的访问控制更容易进行内连数据扫描,而不影响与最终用户管理访问控制的灵活性。在最佳实施例中,利用客户端设备上以图形显示的用户界面指标,例如不同的颜色、字体或图形符号,对受到访问权限约束的用户账户和通信进行区分,,从而使通信节点了解第三方可以访问哪些数据。透明度将大大提高隐私保护。通过了解哪些通信是安全的以及哪些通信不安全,用户可以确定在不同情况下应该交换哪些数据。
如果第二台设备要与第一台设备共享相同的用户账户,保存在第一台设备的主私人密钥将安全地传输给第二台设备。在最佳实施例中,第二台设备将生成临时私人/公开密钥对,以促成其他安全通信方式与计算机服务器的传输,例如SSL/TLS。在某些实施例中,第一台设备和第二台设备可以直接相互通信。收到用户账户的主私人密钥后,将用主私人密钥访问用户账户的数据。在最佳实施例中,使用同一用户账户的任何额外设备需要获得现有设备的批准,并且将通知发送给用户账户的所有设备。此外,任何口令重置、密钥恢复和数据恢复都将触发向用户账户的所有设备发出通知。所属领域的技术人员应了解,这些批准和通知通过让账户用户了解账户的关键变化,大大地提高了用户账户的安全性。
应了解的是,本披露可以进行修改。在其他实施例中,会话密钥S可以是私人密钥,其公开密钥被用于对其他数据进行加密。在其他实施例中,主私人密钥可以用对称密钥进行加密。在这些实施例中,加密主私人密钥可以保存在计算机服务器中。
用户忘记登录密码以及丢失主私人密钥时,用户将丢失账户。为了恢复账户,用户必须通过服务器的重新认证,以证明其是自己所宣称的人员。出于安全考虑,服务器需要进行多因素认证进程,例如通常是进行电子邮箱或手机短信验证。但是,这些都不是安全因素。为了对用户进行更可靠地认证,在最佳实施例中,本发明使用因素“您所知道的节点(the peer you know)”进行基于节点的认证,以完成对用户的认证。
图7示出了一种为了用恢复节点恢复账户而设置认证因素的方法。
在第705步中,用户1选择用户2作为恢复节点,并获取用户2的公开密钥k2
在第710步中,用户1的设备在本地新生成一个随机值R,在第715步中,用户1的设备用用户1的主私人密钥K1 125对R进行签名,生成了Sig签名。
在第720步中,用户1的设备用k2 140对Sig进行加密,并输出加密签名Sigk2。应了解的是,用户1的设备还可以,例如,基于ECIES,用与用户1和用户2的公开密钥k1和k2相关联的共享对称密钥对Sig进行加密。在某些实施例中,用户1的设备可以用用户2的对称密钥对Sig进行加密,而其可以被用户1访问。
在第725步中,用户1的设备发送并将随机值R和加密签名Sigk2保存在计算机服务器115中。
在第730步中,用户1的设备在本地删除随机值R、R的签名Sig以及加密签名Sigk2
由于随机值R是在本地新生成的,K1所生成的签名Sig是只有用户1的设备才知道的机密。删除签名Sig后,只有用户1和用户2才能够再次生成签名Sig。对于计算机服务器115,虽然其具有随机值R,但是服务器没有主密钥K1,因此无法生成Sig。但是,服务器可以用保存的公共密钥k1对Sig进行验证。当用户1丢失主私人密钥K1时,用户1将无法生成Sig以证明其是账户所有人。因此,用户1必须请求用户2复制Sig,并将用户1与Sig的关联账户重新关联起来。
在最佳实施例中,进程700和进程300可以一起使用,从而在用户1选择恢复节点时,进程700和300可同时进行。在本实施例中,用户选择恢复节点时仅进行一次检查。用户可以同时获得恢复主私人密钥和账户的功能。
应了解的是,用户1可以选择多个账户恢复节点,并且账户恢复政策可能需要多次此类基于节点的认证。
图8示出的是执行进程700后,进程800用因素“您知道的节点(the peer youknow)”在服务器进行认证,从而使用户1能够恢复其账户。如果用户1由于忘记密钥和丢失主私人密钥而丢失账户,在最佳实施例中,用户1可以用已知的一些因素进行第一次认证,例如之前保存在计算机服务器中的与账户相关联的电子邮箱。然后用进程800所述的因素“您知道的节点(the peer you know)”进行额外的认证。
在第805步中,用户1的设备在本地生成新的私人密钥N1和公开密钥n1对。
在第810步中,用户1的设备将n1发送到计算机服务器,并请求认证丢失的用户1账户以及与该账户相关联的k1,以恢复其账户。
在第815步中,收到n1和账户恢复请求后,计算机服务器将n1和Sigk2关联起来,使用户2能够检索到这两者。
在第820步中,用户1向用户2发起了带外交换,请求用户2帮助用户1在计算机服务器上进行认证。在最佳实施例中,这种带外交换可以是现场会议、直播电话/视频对话或某些安全的通信形式,从而使用户2能够高概率地认证用户1。应了解的是,让用户1向用户2发起交换对提高安全性来说也非常重要,因为用户1必须记住之前已经将用户2选为账户恢复节点以及用户2的带外联系信息。
在第825步中,用户2成功认证用户1后,用户2操作用户2的设备,从计算机服务器检索Sigk2和n1
在第830步中,用户2的设备用K2解密Sigk2获取Sig。
在第835步中,用户2的设备用K2对n1进行签名,获得Sig2。用K2对n1进行签名后,用户2提供了认证证据,证明用户1与n1和Sig相关联。在某些实施例中,用户2的设备可以同时对n1和Sig进行签名获取Sig2。应了解的是,在交换n1时,可以用已知的任何方法对n1进行验证,以通过带外信道验证公开密钥,例如验证公开密钥或签名的指纹。这种方法的目的是探测中间人攻击。
在第840步中,用户2的设备将Sig和Sig2发送到计算机服务器。
在第845步中,收到Sig和Sig2后,计算机服务器可以用之前保存的R和k1验证Sig,以及用n1和k2验证Sig2。
在第850步中,如果两次验证都成功,则计算机服务器具有高度可信的证据,证明n1来自用户1(因为用户2在认证用户1和验证n1后才公布Sig),以及证明n1与用户1相关联。因此,计算机服务器现在将认证用户1,并将n1与用户1的账户关联起来。
在第855步中,用户1的设备收到用户1已经成功通过认证的信号。
应了解的是,进程800和进程500也可以一起使用。在最佳实施例中,成功通过认证后,用户1的设备可以用N1和n1作为新的主密钥对。在这种情况下,可以跳过进程500的第505步。
在最佳实施例中,当用户1丢失主私人密钥并请求私人密钥恢复时,不一定要执行进程800,因为在进程400中,相互交换公开密钥时,用户1和用户2之间的公开密钥验证使用户2能够同时对用户1进行认证。
在最佳实施例中,顺利通过多因素认证后,包括至少一次基于节点的认证,用户可以恢复其丢失的账户。所属领域的技术人员显然了解,这种“您知道的节点(the peer youknow)”认证因素可以作为单独的认证因素,也可以与其他认证因素一起使用。应了解的是一旦使用这种因素,原主私人密钥之前生成的Sig的相关性将减少,因为用户1有了新的主私人密钥和公开密钥对。在最佳实施例中,可以建议用户1再次选择恢复节点。
所属行业的技术人员应了解,本披露利用了人性化认证和加密功能,使用户能够恢复之前已经与节点建立恢复关系的账户。人性化一种高度可靠的人员认证方式,尤其是在社交关系中。如果用户选择熟悉、可信任的人,例如朋友,作为恢复节点,可以大大降低攻击人获取其账户的可能性。使用这种基于节点的认证因素,或使用相互帮助、相互认证的社交网络可以更好地保护用户账户,提高用户账户在网络环境中的安全性。同时,让用户可以选择恢复账户的节点,就不需要依赖于集中的用户账户管理。因此,基于社交网络的安全网络能够自给自足。
虽然此处已经对例示性实施例进行说明,但是应了解的是,本发明不仅限于所披露的实施例。本发明包括所附权利要求的精神和范围内的各种修改和同等安排,并且权利要求范围的解释包括所有此类修改及同等结构和功能。

Claims (28)

1.一种基于社交网络的加密系统,可以为与用户账户相关联的机密数据提供安全储存,该系统包括:
一台用户设备,用户设备具有储存指示的内存以及执行指示的处理器:负责基于提供给用户设备的机密导出加密密钥,以生成导出的加密密钥,用导出的加密密钥对机密数据进行加密,以生成单次加密机密数据,指定一个恢复节点并获取与恢复节点相关联的恢复节点密钥,以及用恢复节点密钥对单次加密的机密数据进行加密,生成二次加密的机密数据;
一台恢复服务器,用于保存二次加密的机密数据,并将二次加密的机密数据与用户账户和恢复节点关联起来;
一台与恢复节点相关联的恢复节点设备,恢复节点设备具有储存指示的内存以及执行指示的处理器:以生成恢复节点密钥,并将恢复节点密钥提供给用户设备。
2.如权利要求1所述的基于社交网络的加密系统,该系统进一步包括,与用户账户相关联的机密数据得到安全地恢复:
恢复节点设备得到获取二次加密机密数据的进一步指示,用恢复节点密钥对二次加密的机密数据进行解密,以恢复单次加密的机密数据,并将单次加密的机密数据传输给用户设备;以及用户设备得到进一步指示,根据提供给用户设备的机密导出加密密钥,以在用户设备生成导出的加密密钥,以及用导出的密钥对单次加密的机密数据进行解密,以恢复机密数据。
3.一种将用户账户的机密数据储存在加密系统中,以便安全恢复机密数据的方法,这种方法包括:
根据提供给用户设备的机密导出加密密钥,以在用户设备生成导出的加密密钥;
用户设备指定一个恢复节点,并获取与恢复节点相关联的恢复节点密钥;恢复节点密钥为与恢复节点相关的公开/私人密钥对相对应的公开密钥;在通过带外通信确认与用户设备相关联的用户账户正在请求恢复机密数据之后,恢复节点提供恢复节点私人密钥;
用导出的加密密钥以及恢复节点密钥对机密数据进行加密,以生成加密机密数据;以及将加密机密数据储存在恢复服务器或另一个可通过互联网访问的服务器中;并将加密机密数据与用户账户和恢复节点相关联。
4.如权利要求3所述的方法中对机密数据进行的加密包括,用导出的加密密钥对机密数据进行加密,以生成单次加密的机密数据,以及用恢复节点密钥对单次加密的机密数据进行加密,以生成二次加密的机密数据。
5.如权利要求4所述的方法,其中机密是口令,而导出加密密钥则是在用户设备使用基于口令的密钥导出算法。
6.如权利要求5所述的方法,还包括从恢复服务器获得任何一个salt、重复计数及其组合,作为基于口令的密钥导出算法的输入信息。
7.如权利要求4所述的方法,还包括从与用户账户相关联的恢复服务器获取一个对称密钥,而导出的加密密钥则由对称密钥以及用口令从基于口令的密钥导出算法导出的密钥组成。
8.如权利要求7所述的方法,其中导出的加密密钥为:对称密钥以及用口令从基于口令的密钥导出算法导出的密钥的XOR运行。
9.如权利要求3所述的方法,其中恢复节点密钥通过恢复服务器获取。
10.如权利要求4所述的方法,还包括用与用户账户的关联身份密钥对二次加密的机密数据进行加密签名。
11.如权利要求3所述的方法,其中机密数据是与用户账户的关联公开/私人密钥对相对应的私人密钥。
12.一种在权利要求1所述的基于社交网络的加密系统中安全恢复与用户账户相关联的机密数据的方法,这种方法包括:
恢复节点设备得到获取二次加密机密数据的进一步指示,用恢复节点密钥对二次加密的机密数据进行解密,以恢复单次加密的机密数据,并将单次加密的机密数据传输给用户设备;以及用户设备得到进一步指示,根据提供给用户设备的机密导出加密密钥,以在用户设备生成导出的加密密钥,以及用导出的密钥对单次加密的机密数据进行解密,以恢复机密数据。
13.如权利要求12所述的方法,还包括在恢复服务器接收来自用户设备的机密数据恢复请求;以及识别恢复节点。
14.如权利要求13所述的方法,还包括将二次加密的机密数据从恢复服务器传输到恢复节点。
15.如权利要求12所述的方法,其中机密是口令,而获取导出的加密密钥使用的则是在用户设备使用基于口令的密钥导出算法。
16.如权利要求15所述的方法,还包括从恢复服务器获得任何一个salt、重复计数及其组合,作为基于口令的密钥导出算法的输入信息。
17.如权利要求16所述的方法,还包括从恢复服务器获取一个与用户账户相关联的对称密钥,而导出的加密密钥则由对称密钥以及用口令从基于口令的密钥导出算法导出的密钥组成。
18.如权利要求17所述的方法,还包括从用户设备向恢复服务器提供一个认证令牌,以验证用户账户与用户设备相关联,以及在用户设备用基于口令的密钥导出算法用口令生成认证令牌。
19.如权利要求17所述的方法,其中导出的加密密钥为:对称密钥以及用口令从基于口令的密钥导出算法导出的密钥的XOR运行。
20.如权利要求12所述的方法,其中用于解密的恢复节点密钥是与恢复设备的公开/私人密钥对相对应的,保存在恢复节点设备的一个私人密钥。
21.如权利要求12所述的方法,还包括通过带外通信接收与用户账户相关联的确认信息,确认用户账户请求恢复机密数据。
22.如权利要求21所述的方法,其中带外通信可以包括一个密码杂凑,该密码杂凑与用户设备用于请求安全恢复机密数据的信道相关联。
23.如权利要求12所述的方法,其中机密数据是与用户账户的关联公开/私人密钥对相对应的私人密钥。
24.一种在没有口令的情况下用基于节点的用户账户所有权认证安全恢复用户账户的方法,这种方法包括:
在用户账户的关联用户设备生成一个随机值,并用用户账户的关联用户私人密钥对随机值进行加密签名,以生成第一个签名;
指定一个恢复节点并获取与恢复节点相关联的恢复密钥;
用与恢复节点相关联的恢复密钥对第一个签名进行加密,以生成第一个加密签名;
将随机值和第一个加密签名保存在恢复服务器;
在恢复节点的恢复节点设备,从恢复服务器检索第一个加密签名;
在恢复节点的恢复节点设备用恢复密钥对第一个加密签名进行解密,以生成第一个解密签名;
向恢复服务器提供第一个解密签名;以及在恢复服务器用随机值和与用户私人密钥相对应的用户公开密钥验证第一个解密签名。
25.如权利要求24所述的方法,其中对第一个签名进行加密的恢复密钥是一个公开密钥,而对第一个加密签名进行解密使用的则是与公开密钥相对应的恢复私人密钥。
26.如权利要求24所述的方法,其中恢复密钥是一个对称密钥。
27.如权利要求24所述的方法,还包括请求恢复节点通过带外通信对用户账户所有权进行认证,以阻止中间人攻击。
28.如权利要求24所述的方法,还包括:
用户设备生成一个新的公开密钥和新的私人密钥;
在恢复节点设备用恢复私人密钥对新的公开密钥进行加密签名,以生成第二个签名;以及恢复服务器验证第二个签名属于恢复节点。
CN201580010720.9A 2014-03-10 2015-03-10 机密数据安全储存和恢复系统及方法 Active CN106104562B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461950750P 2014-03-10 2014-03-10
US61/950,750 2014-03-10
US201461954830P 2014-03-18 2014-03-18
US61/954,830 2014-03-18
PCT/CA2015/000149 WO2015135063A1 (en) 2014-03-10 2015-03-10 System and method for secure deposit and recovery of secret data

Publications (2)

Publication Number Publication Date
CN106104562A CN106104562A (zh) 2016-11-09
CN106104562B true CN106104562B (zh) 2020-04-28

Family

ID=54070724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580010720.9A Active CN106104562B (zh) 2014-03-10 2015-03-10 机密数据安全储存和恢复系统及方法

Country Status (4)

Country Link
US (1) US20170142082A1 (zh)
CN (1) CN106104562B (zh)
CA (1) CA2949847A1 (zh)
WO (1) WO2015135063A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10020940B2 (en) * 2015-02-23 2018-07-10 Oracle International Corporation Identity-based encryption for securing access to stored messages
US9706397B2 (en) * 2015-06-05 2017-07-11 Qualcomm Incorporated Flexible configuration and authentication of wireless devices
EP3119031A1 (en) * 2015-07-16 2017-01-18 ABB Schweiz AG Encryption scheme using multiple parties
US10454900B2 (en) 2015-09-25 2019-10-22 Mcafee, Llc Remote authentication and passwordless password reset
CN105262772B (zh) * 2015-11-06 2020-03-17 腾讯科技(深圳)有限公司 一种数据传输方法、系统及相关装置
DE102015119687B4 (de) * 2015-11-13 2024-01-18 Vodafone Gmbh Verfahren zum Generieren und/oder Übertragen einer verschlüsselten Nachricht
US10645068B2 (en) * 2015-12-28 2020-05-05 United States Postal Service Methods and systems for secure digital credentials
WO2017139652A1 (en) * 2016-02-10 2017-08-17 MobileIron, Inc. Securely storing and distributing sensitive data in a cloud-based application
US9591479B1 (en) * 2016-04-14 2017-03-07 Wickr Inc. Secure telecommunications
TWI608361B (zh) * 2016-09-23 2017-12-11 群暉科技股份有限公司 電子裝置、伺服器、通訊系統及通訊方法
US10728026B2 (en) * 2016-11-24 2020-07-28 Samsung Electronics Co., Ltd. Data management method
KR102267210B1 (ko) * 2016-11-24 2021-06-21 삼성전자주식회사 데이터 관리 방법
US10911238B2 (en) 2016-12-14 2021-02-02 Microsoft Technology Licensing, Llc Offline protection of secrets
CN106776141B (zh) * 2016-12-22 2019-11-05 中国工程物理研究院总体工程研究所 一种安全增强的数据备份与恢复系统
US10410015B2 (en) * 2017-05-18 2019-09-10 Linden Research, Inc. Systems and methods to secure personally identifiable information
US10440006B2 (en) 2017-06-21 2019-10-08 Microsoft Technology Licensing, Llc Device with embedded certificate authority
US10558812B2 (en) 2017-06-21 2020-02-11 Microsoft Technology Licensing, Llc Mutual authentication with integrity attestation
US10938560B2 (en) * 2017-06-21 2021-03-02 Microsoft Technology Licensing, Llc Authorization key escrow
US10678768B2 (en) * 2017-06-30 2020-06-09 Intel Corporation Logical band-based key-value storage structure
US11316666B2 (en) * 2017-07-12 2022-04-26 Amazon Technologies, Inc. Generating ephemeral key pools for sending and receiving secure communications
US11082412B2 (en) 2017-07-12 2021-08-03 Wickr Inc. Sending secure communications using a local ephemeral key pool
US10715504B2 (en) * 2017-07-12 2020-07-14 Wickr Inc. Provisioning ephemeral key pools for sending and receiving secure communications
US11374760B2 (en) 2017-09-13 2022-06-28 Microsoft Technology Licensing, Llc Cyber physical key
EP3462667A1 (en) * 2017-09-27 2019-04-03 Banco Bilbao Vizcaya Argentaria, S.A. Blockchain based joint blind key escrow
FR3075423A1 (fr) * 2017-12-15 2019-06-21 Orange Technique de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur
CA3097749A1 (en) * 2018-04-19 2019-10-24 PIV Security LLC Peer identity verification
US11870906B1 (en) * 2018-09-06 2024-01-09 EMC IP Holding Company LLC Providing a secure isolated account for cloud-based storage services
EP3850786B1 (en) * 2018-09-11 2024-04-10 Zengo Ltd. System and method for secure multi-party computation based blockchain transactions
US11212093B2 (en) * 2018-09-14 2021-12-28 Htc Corporation Method of social key recovery and related device
EP3864793A4 (en) * 2018-10-12 2022-08-10 tZERO IP, LLC ENCRYPTED ASSET ENCRYPTION KEY PARTS FOR ASSEMBLING AN ASSET ENCRYPTION KEY USING A SUBSET OF THE ENCRYPTED ASSET ENCRYPTION KEY PARTS
FR3090152A1 (fr) * 2018-12-17 2020-06-19 Orange Réinitialisation d’un secret applicatif au moyen du terminal
US11962709B1 (en) * 2020-07-15 2024-04-16 Marvell Asia Pte, Ltd. Structures and methods for deriving stable physical unclonable functions from semiconductor devices
CN111988138B (zh) * 2020-08-13 2023-09-22 广东介诚信息服务有限公司 一种基于教育云的信息加密系统
US11632244B2 (en) 2020-09-14 2023-04-18 Paypal, Inc. Techniques for single round multi-party computation for digital signatures
WO2023282932A2 (en) * 2020-12-31 2023-01-12 Orbs Ltd. Using decentralized networks to ensure transparency in remote device operation
US11954308B2 (en) * 2021-06-06 2024-04-09 Apple Inc. Methods and user interfaces for account recovery
US11381537B1 (en) * 2021-06-11 2022-07-05 Oracle International Corporation Message transfer agent architecture for email delivery systems
US20230090611A1 (en) * 2021-09-22 2023-03-23 Ridgeline, Inc. Storing, reading, and encrypting personal identifiable information

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549626B1 (en) * 1997-10-20 2003-04-15 Sun Microsystems, Inc. Method and apparatus for encoding keys
US6754349B1 (en) * 1999-06-11 2004-06-22 Fujitsu Services Limited Cryptographic key, or other secret material, recovery
US6931133B2 (en) * 2002-09-03 2005-08-16 Verisign, Inc. Method and system of securely escrowing private keys in a public key infrastructure
US6950523B1 (en) * 2000-09-29 2005-09-27 Intel Corporation Secure storage of private keys
CN101582896A (zh) * 2009-06-24 2009-11-18 周哲 第三方网络认证系统及其认证方法
CN102422590A (zh) * 2009-05-12 2012-04-18 赛贝斯股份有限公司 数据库中加密密钥的保护

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6160891A (en) * 1997-10-20 2000-12-12 Sun Microsystems, Inc. Methods and apparatus for recovering keys
US6151676A (en) * 1997-12-24 2000-11-21 Philips Electronics North America Corporation Administration and utilization of secret fresh random numbers in a networked environment
US20020021804A1 (en) * 2000-02-18 2002-02-21 Ledzius Robert C. System and method for data encryption
KR100406754B1 (ko) * 2001-04-11 2003-11-21 한국정보보호진흥원 피케이아이 기반의 상업용 키위탁 방법 및 시스템
US8078881B1 (en) * 2004-11-12 2011-12-13 Liu Gary G Password resetting method
US9100186B2 (en) * 2011-03-07 2015-08-04 Security First Corp. Secure file sharing method and system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549626B1 (en) * 1997-10-20 2003-04-15 Sun Microsystems, Inc. Method and apparatus for encoding keys
US6754349B1 (en) * 1999-06-11 2004-06-22 Fujitsu Services Limited Cryptographic key, or other secret material, recovery
US6950523B1 (en) * 2000-09-29 2005-09-27 Intel Corporation Secure storage of private keys
US6931133B2 (en) * 2002-09-03 2005-08-16 Verisign, Inc. Method and system of securely escrowing private keys in a public key infrastructure
CN102422590A (zh) * 2009-05-12 2012-04-18 赛贝斯股份有限公司 数据库中加密密钥的保护
CN101582896A (zh) * 2009-06-24 2009-11-18 周哲 第三方网络认证系统及其认证方法

Also Published As

Publication number Publication date
US20170142082A1 (en) 2017-05-18
CA2949847A1 (en) 2015-09-17
CN106104562A (zh) 2016-11-09
WO2015135063A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
CN106104562B (zh) 机密数据安全储存和恢复系统及方法
US10673626B2 (en) Threshold secret share authentication proof and secure blockchain voting with hardware security modules
Abdullah et al. Blockchain based approach to enhance big data authentication in distributed environment
US8059818B2 (en) Accessing protected data on network storage from multiple devices
US20200084027A1 (en) Systems and methods for encryption of data on a blockchain
US9330245B2 (en) Cloud-based data backup and sync with secure local storage of access keys
WO2016065321A1 (en) Secure communication channel with token renewal mechanism
CN106790037B (zh) 一种用户态加密的即时通讯方法与系统
JP2016502377A (ja) 安全計算を用いて安全性を提供する方法
JP2016508699A (ja) データセキュリティサービス
CN108768613A (zh) 一种基于多种加密算法的密文口令校验方法
US20160065366A1 (en) Password-Based Generation and Management of Secret Cryptographic Keys
Kim et al. On the security of two remote user authentication schemes for telecare medical information systems
US20160021101A1 (en) Method for backing up a user secret and method for recovering a user secret
US20160359822A1 (en) Sovereign share encryption protocol
CN113411187A (zh) 身份认证方法和系统、存储介质及处理器
CN110519222B (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统
CN110557367B (zh) 基于证书密码学的抗量子计算保密通信的密钥更新方法和系统
US20210144002A1 (en) Secondary Channel Authentication of Public Keys
Sinnhofer et al. Patterns to establish a secure communication channel
JP3690237B2 (ja) 認証方法、記録媒体、認証システム、端末装置、及び認証用記録媒体作成装置
CN115412236A (zh) 一种密钥管理和密码计算的方法、加密方法及装置
Dimeo et al. SoK: Multi-Device Secure Instant Messaging
KR100842014B1 (ko) 다수의 장치로부터 네트워크 저장 장치상의 보호 데이터에대한 접근
JP2013179473A (ja) アカウント生成管理システム、アカウント生成管理サーバ、アカウント生成管理方法及びアカウント生成管理プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant