CN103178965B - 使用多因素或密钥式分散对数据进行保护的***和方法 - Google Patents
使用多因素或密钥式分散对数据进行保护的***和方法 Download PDFInfo
- Publication number
- CN103178965B CN103178965B CN201310086524.2A CN201310086524A CN103178965B CN 103178965 B CN103178965 B CN 103178965B CN 201310086524 A CN201310086524 A CN 201310086524A CN 103178965 B CN103178965 B CN 103178965B
- Authority
- CN
- China
- Prior art keywords
- data
- data set
- key
- engine
- authentication
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/065—Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0822—Key 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
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
本申请是国际申请日为2009年1月7日的、名称为“使用多因素或密钥式分散对数据进行保护的***和方法”的发明专利申请No.200980104729.0(PCT/US2009/000083)的分案申请。
技术领域
本发明一般涉及用于对数据进行保护的改进***和方法。本文所述的***和方法中的一些利用密钥式信息分散算法(称作密钥式IDA)和多因素秘密共享技术。可以与在共同拥有的美国专利No.7391865和在2003年6月11日提交的共同拥有的美国专利申请No.10/458928、2005年10月25日提交的美国专利申请No.11/258839、2006年11月20日提交的美国专利申请No.11/602667、2007年11月7日提交的美国专利申请No.11/983355、2007年12月5日提交的美国专利申请No.11/999575和2008年9月12提交的美国专利申请No.12/209703中描述的其它***和方法结合地使用本文所述的***和方法,上述所有的美国专利和专利申请的全部内容通过引用并入本文。
背景技术
在当今社会中,个人和企业通过计算机***进行越来越多的活动。这些计算机***包括专有和非专有的计算机网络,常常存储、存档和发送所有类型的敏感信息。因此,日益需要确保通过这些***进行存储和发送的数据不会被读取或以其它方式受到危害。
一种保护计算机***的普通方案是提供登录和口令功能。然而,由于大部分的服务台呼叫与口令问题有关,所以口令管理被证明是成本极高的。此外,由于口令通常存储在例如通过暴力攻击而易被不当访问的文件中,所以口令提供极小的安全性。
另一种保护计算机***的方案是提供密码基础结构。密码术通常是指通过将数据变换或加密成不可读格式对数据进行保护。只有拥有加密密钥的那些人才能将数据解密成可用格式。密码术用于识别用户,例如允许访问特权的认证、例如建立数字证书和签名的授权等等。一种流行的密码术***是使用两个密钥的公钥***,这两个密钥是任何人知道的公钥和只有它的个人或企业拥有者知道的私钥。通常,用一个密钥加密的数据被用另一个密钥进行解密,并且从任一个密钥无法重建另一个密钥。
不幸的是,对于安全性来讲,即使是上述的典型公钥密码***也高度依赖于用户。例如,密码***例如通过用户的浏览器向用户发布私钥。没有经验的用户然后通常将私钥存储在硬盘上,其它人通过开放计算机***(例如,互联网)可以访问该硬盘。另一方面,用户可能为包含他们的私钥的文件选择差的名称(例如,“密钥.”)。上述和其它行为的结果是使一个密钥或多个密钥易受危害。
除了上述的危害以外,用户可将他或她的私钥保存在配置有存档或备份***的计算机***上,这潜在导致私钥的复本行经多个计算机存储装置或其它***。这种安全性破坏常被称作“密钥迁移”。与密钥迁移类似,许多应用最多通过简单的登录和口令访问,提供对用户的私钥的访问。如上所述,登录和口令访问常常不提供充足的安全性。
一种提高上述密码***的安全性的方案是包括生物测定作为认证或授权的一部分。生物测定通常包括可测量物理特性,例如可通过自动***(例如,指纹模式或语音模式的模式匹配或识别)进行检查的指纹或语音。在这些***中,用户的生物测定和/或密钥可以存储在移动计算装置(例如,智能卡、膝上型电脑、个人数字助理或移动电话)上,从而允许在移动环境中可以使用生物测定或密钥。
上述的移动生物测定密码***仍然具有多种缺点。例如,移动用户可能会丢失或损坏智能卡或便携式计算装置,从而令他或她对潜在重要数据的访问被完全切断。或者,怀有恶意的人可能偷取移动用户的智能卡或便携式计算装置并且使用它有效地偷取移动用户的数字证明。另一方面,便携式计算装置可以连接到开放***(例如,互联网),并且与口令一样,由于用户对安全性的不在意或者恶意入侵者,存储生物测定的文件会易于受危害。
发明内容
基于上述内容,需要提供一种安全性与用户无关同时还支持移动用户的密码***。
因此,本发明的一个方面提供一种实质上对任何类型的数据进行保护以防止未授权访问或使用的方法。该方法包括将要保护的数据解析、***和/或分离成两个或更多部分的一个或更多步骤。该方法还包括对要保护的数据进行加密。可以在首次解析、***和/或分离数据之前或之后执行数据的加密。此外,针对一个或更多的数据部分可以重复加密步骤。类似地,可以针对一个或更多数据部分重复解析、***和/或分离步骤。可选地,该方法还包括将已经加密的解析、***和/或分离后的数据存储在一个位置或者多个位置。可选地,该方法还包括将保护的数据重构或重装成它的原始形式以用于授权访问或使用。这个方法可以并入能够执行该方法的期望步骤的任何计算机、服务器、引擎等的操作中。
本发明的另一个方面提供了一种实质上保护任何类型的数据以防止未授权访问或使用的***。这个***包括数据***模块、密码处理模块、以及可选的数据组装模块。在一个实施例中,该***还可以包括可存储安全数据的一个或更多数据存储设施。
因此,本发明的一个方面提供一种具有服务器中心密钥或者换言之在服务器上存储密码密钥和用户认证数据的安全服务器或者信任引擎。根据这个实施例,用户访问信任引擎以执行认证和密码功能,例如但不限于:认证、授权、数字签名以及证书的产生、存储和获取、加密、公证类和委托书类行为等。
本发明的另一个方面提供一种可靠的或信任的认证过程。此外,在值得信赖的肯定认证后,可以采取许多不同的动作,从提供密码技术,到***或装置授权和访问,到允许一个或大量的电子装置的使用或控制。
本发明的另一个方面是在密码密钥和认证数据没有丢失、被盗或受危害的环境下提供密码密钥和认证数据,由此有利地避免持续地重新发布和管理新密钥和认证数据的需要。根据本发明的另一个方面,信任引擎允许用户针对多个活动、卖方和/或认证请求使用一个密钥对。根据本发明的另一个方面,信任引擎执行密码处理(例如但不限于在服务器端的加密、认证或签名)中的至少一个步骤,由此使得客户或用户可以仅拥有最小计算资源。
根据本发明的另一个方面,信任引擎包括用于存储每个密码密钥和认证数据的部分的一个或多个储存器(depository)。通过数据***过程建立这些部分,从而使得在没有来自一个储存器中的超过一个的位置或者来自多个储存器的预定部分的情况下不能够进行重建。根据另一个实施例,多个储存器可以在地理上远离从而使得一个储存器的无良雇员或受危害***不会对用户的密钥或认证数据提供访问。
根据另一个实施例,认证过程有利地允许信任引擎并行处理多个认证活动。根据另一个实施例,信任引擎可以有利地跟踪失败的访问尝试并且由此限制恶意入侵者可以尝试破坏***的次数。
根据另一个实施例,信任引擎可以包括多个实例,其中,每个信任引擎可以预测并与其它信任引擎分担处理负载。根据另一个实施例,信任引擎可以包括冗余模块,用于轮询多个认证结果以确保多于一个的***认证了用户。
因此,本发明的一个方面包括一种可远程访问的安全密码***,用于存储任何类型的数据,包括但不限于与多个用户关联的多个私有密码密钥。该密码***将所述多个用户中的每个与所述多个私有密码密钥中的一个或多个不同密钥进行关联,并且使用关联的一个或多个不同密钥执行用于每个用户的密码功能,而不向用户发布所述多个私有密码密钥。该密码***包括具有至少一个服务器的储存器***,该至少一个服务器存储要保护的数据,诸如多个私有密码密钥和多个登记认证数据。每个登记认证数据识别多个用户之一,并且多个用户中的每个与所述多个私有密码密钥中的一个或多个不同密钥关联。该密码***还可以包括认证引擎,该认证引擎用于将由多个用户中的一个接收的认证数据和与多个用户中的所述一个对应并且从储存器***接收的登记认证数据进行比较,从而生成认证结果。该密码***还可以包括密码引擎,当认证结果指示多个用户中的所述一个的正确识别时,该密码引擎使用从储存器***接收的所述关联的一个或多个不同密钥代表多个用户中的所述一个执行密码功能。该密码***还可以包括事务引擎,该事务引擎连接用来从多个用户将数据路由到储存器服务器***、认证引擎和密码引擎。
本发明的另一个方面包括一种安全密码***,可选地,可对该安全密码***进行远程访问。该密码***包括具有存储至少一个私钥和任何其它数据(例如但不限于多个登记认证数据)的至少一个服务器的储存器***,其中,每个登记认证数据识别可能的多个用户之一。可选地,该密码***还可以包括认证引擎,该认证引擎将由用户接收的认证数据和与用户对应并且从储存器***接收的登记认证数据进行比较,从而生成认证结果。该密码***还包括密码引擎,当认证结果指示用户的正确识别时,该加密引擎使用可从储存器***接收的至少所述私钥代表用户执行密码功能。可选地,该密码***还可包括事务引擎,该事务引擎连接用来从用户向其它引擎或***(例如但不限于储存器服务器***、认证引擎和密码引擎)传送数据。
本发明的另一个方面包括一种便于执行密码功能的方法。该方法包括将多个用户中的一个用户与存储在安全位置(例如安全服务器)上的多个私有密码密钥中的一个或多个密钥进行关联。该方法还包括从该用户接收认证数据,并且将认证数据和与该用户对应的认证数据进行比较,从而验证用户的身份。该方法还包括利用所述一个或多个密钥执行密码功能而不用向用户发布所述一个或多个密钥。
本发明的另一个方面包括一种认证***,用于通过用户的登记认证数据的安全存储来唯一地识别用户。该认证***包括一个或多个数据存储设施,其中,每个数据存储设施包括存储登记认证数据的至少一个部分的计算机可访问存储介质。该认证***还包括与一个或多个数据存储设施进行通信的认证引擎。该认证引擎包括数据***模块、数据组装模块和数据比较模块,其中,数据***模块对登记认证数据进行操作以建立多个部分,数据组装模块对来自至少一个数据存储设施的部分进行处理以组装登记认证数据,数据比较模块从用户接收当前认证数据并且将当前认证数据与组装的登记认证数据进行比较以确定是否唯一地识别了用户。
本发明的另一个方面包括一种密码***。该密码***包括一个或多个数据存储设施,其中,每个数据存储设施包括存储一个或多个密码密钥的至少一个部分的计算机可访问存储介质。该密码***还包括与数据存储设施进行通信的密码引擎。该密码引擎还包括数据***模块、数据组装模块和密码处理模块,其中,数据***模块对密码密钥进行操作以建立多个部分,数据组装模块对来自数据至少一个存储设施的部分进行处理以组装密码密钥,密码处理模块接收组装的密码密钥并且用其执行密码功能。
本发明的另一个方面包括一种将任何类型的数据(包括但不限于认证数据)存储在地理上远离的安全数据存储设施中从而保护数据以防止任何个体数据存储设施的合成的方法。该方法包括在信任引擎接收数据,在信任引擎将该数据与第一基本随机值进行组合以形成第一组合值,并且将该数据与第二基本随机值进行组合以形成第二组合值。该方法包括建立第一基本随机值与第二组合值的第一配对,建立第一基本随机值与第二基本随机值的第二配对,并且将第一配对存储在第一安全数据存储设施中。该方法包括将第二配对存储在远离第一安全数据存储设施的第二安全数据存储设施中。
本发明的另一个方面包括一种存储任何类型的数据(包括但不限于认证数据)的方法,该方法包括接收数据,将该数据与第一比特集进行组合以形成第二比特集,并且将该数据与第三比特集进行组合以形成第四比特集。该方法还包括建立第一比特集与第三比特集的第一配对。该方法还包括建立第一比特集与第四比特集的第二配对,并且将第一和第二配对之一存储在第一计算机可访问存储介质中。该方法还包括将第一和第二配对中的另一个存储在第二计算机可访问存储介质中。
本发明的另一个方面包括一种将加密数据存储在地理上远离的安全数据存储设施中从而保护加密数据以防止任何个体数据存储设施的合成的方法。该方法包括在信任引擎接收加密数据,在信任引擎将加密数据与第一基本随机值进行组合以形成第一组合值,并且将加密数据与第二基本随机值进行组合以形成第二组合值。该方法还包括建立第一基本随机值与第二组合值的第一配对,建立第一基本随机值与第二基本随机值的第二配对,并且将第一配对存储在第一安全数据存储设施中。该方法还包括将第二配对存储在远离第一安全数据存储设施的第二安全数据存储设施中。
本发明的另一个方面包括一种存储加密数据的方法,该方法包括接收认证数据并且将加密数据与第一比特集进行组合以形成第二比特集。该方法还包括将加密数据与第三比特集进行组合以形成第四比特集,建立第一比特集与第三比特集的第一配对,并且建立第一比特集与第四比特集的第二配对。该方法还包括将第一和第二配对之一存储在第一计算机可访问存储介质中,并且将第一和第二配对中的另一个存储在第二计算机可访问存储介质中。
本发明的另一个方面包括一种在密码***内处理任何类型或形式的敏感数据的方法,其中,仅仅在授权用户采用敏感数据执行动作期间敏感数据以可用形式存在。该方法还包括在软件模块中从第一计算机可访问存储介质接收基本随机化或加密的敏感数据,并且在软件模块中从一个或多个其它计算机可访问存储介质接收可以是也可以不是敏感数据的基本随机化或加密的数据。该方法还包括在软件模块中对基本随机化的预加密的敏感数据和可以是也可以不是敏感数据的基本随机化或加密的数据进行处理以组装敏感数据,并且在软件引擎中采用该敏感数据执行动作。该动作包括但不限于对用户进行认证和执行密码功能中的一个动作。
本发明的另一个方面包括一种安全认证***。该安全认证***包括多个认证引擎。每个认证引擎接收被设计为以一定确信度唯一识别用户的登记认证数据。每个认证引擎接收当前认证数据以与登记认证数据进行比较,并且每个认证引擎确定认证结果。安全认证***还包括冗余***,该冗余***接收至少两个认证引擎的认证结果并且确定是否唯一识别了用户。
本发明的另一个方面包括一种运动***中的安全数据,借助该运动***数据可以在根据本发明而保护的不同部分中进行发送,从而被危害的任何一个部分都不会提供用于恢复原始数据的足够数据。这可以应用到任何数据传输,不管它是有线、无线还是物理的。
本发明的另一个方面包括将本发明的安全数据解析器集成到存储或传送数据的任何合适***内。例如,电子邮件***、RAID***、视频广播***、数据库***或者任何其它合适***可以具有以任何合适等级集成的安全数据解析器。
本发明的另一个方面包括使用任何合适的解析和***算法来产生多份(share)数据。对于解析和***数据,可以采用随机、伪随机、确定性或者它们的任何组合。
附图说明
在下文中结合附图更加详细描述本发明,这些附图旨在例示而非限制本发明,在附图中:
图1示出了根据本发明的实施例的各方面的密码***的框图;
图2示出了根据本发明的实施例的各方面的图1的信任引擎的框图;
图3示出了根据本发明的实施例的各方面的图2的事务引擎的框图;
图4示出了根据本发明的实施例的各方面的图2的储存器的框图;
图5示出了根据本发明的实施例的各方面的图2的认证引擎的框图;
图6示出了根据本发明的实施例的各方面的图2的密码引擎的框图;
图7示出了根据本发明的另一个实施例的各方面的储存器***的框图;
图8示出了根据本发明的实施例的各方面的数据***过程的流程图;
图9A示出了根据本发明的实施例的各方面的登记过程的数据流;
图9B示出了根据本发明的实施例的各方面的互用性过程的流程图;
图10示出了根据本发明的实施例的各方面的认证过程的数据流;
图11示出了根据本发明的实施例的各方面的签名过程的数据流;
图12示出了根据本发明的另一个实施例的各方面的加密/解密过程的数据流;
图13示出了根据本发明的另一个实施例的各方面的信任引擎***的简化框图;
图14示出了根据本发明的另一个实施例的各方面的信任引擎***的简化框图;
图15示出了根据本发明的实施例的各方面的图14的冗余模块的框图;
图16示出了根据本发明的一个方面的评估认证的过程;
图17示出了根据本发明的如在图16中所示的一个方面向认证分配值的过程;
图18示出了在如图17所示的本发明的一个方面中执行信任仲裁的过程;以及
图19示出了根据本发明的实施例的各方面的用户与卖方之间的样本事务,其中,初始基于web的合同导致由双方签名的销售合同。
图20示出了具有向用户***提供安全性功能的密码服务提供商模块的样本用户***。
图21示出了在加密以及加密主密钥与数据存储在一起的情况下解析、***和/或分离数据的过程。
图22示出了在加密以及加密主密钥与数据分离地存储的情况下解析、***和/或分离数据的过程。
图23示出了在加密以及加密主密钥与数据存储在一起的情况下解析、***和/或分离数据的中间密钥过程。
图24示出了在加密以及加密主密钥与数据分离地存储的情况下解析、***和/或分离数据的中间密钥过程。
图25示出了小工作组对本发明的密码方法和***的利用。
图26是采用根据本发明的一个实施例的安全数据解析器的例示性物理令牌安全性***的框图。
图27是根据本发明的一个实施例的将安全数据解析器集成到***中的例示性布置的框图。
图28是根据本发明的一个实施例的例示性移动中数据***的框图。
图29是根据本发明的一个实施例的另一个例示性移动中数据***的框图。
图30-32是根据本发明的一个实施例的集成了安全数据解析器的例示性***的框图。
图33是根据本发明的一个实施例的解析和***数据的例示性过程的处理流程图。
图34是根据本发明的一个实施例的将数据部分恢复成原始数据的例示性过程的处理流程图。
图35是根据本发明的一个实施例的以比特级***数据的例示性过程的处理流程图。
图36是根据本发明的一个实施例的可以在任何合适组合(具有任何合适添加、删除或修改)中使用的例示性步骤和特征的处理流程图。
图37是根据本发明的一个实施例的可以在任何合适组合(具有任何合适添加、删除或修改)中使用的例示性步骤和特征的处理流程图。
图38是根据本发明的一个实施例的可以在任何合适组合(具有任何合适添加、删除或修改)中使用的在份内存储密钥和数据成分的简化框图。
图39是根据本发明的一个实施例的可以在任何合适组合(具有任何合适添加、删除或修改)中使用的使用工作组密钥在份内存储密钥和数据成分的简化框图。
图40A和40B是根据本发明的一个实施例的可以在任何合适组合(具有任何合适添加、删除或修改)中使用的针对移动中数据的首标产生和数据***的简化和例示性处理流程图。
图41是根据本发明的一个实施例的可以在任何合适组合(具有任何合适添加、删除或修改)中使用的例示性份格式的简化框图。
具体实施方式
本发明的一个方面是提供一种密码***,在该密码***中,一个或多个安全服务器或信任引擎存储密码密钥和用户认证数据。用户通过对信任引擎的网络访问,访问传统密码***的功能,然而,信任引擎没有发布实际密钥和其它认证数据,因此这些密钥和数据仍是安全的。密钥和认证数据的这种服务器中心存储提供了用户无关的安全性、移植性、可用性和直率性。
因为用户能够确信或信任密码***来执行用户和文档认证以及其它密码功能,所以多种多样的功能可以包括在该***内。例如,通过例如对协议参与者进行认证,代表或针对参与者对该协议进行数字签名,并且存储由每个参与者数字签名的协议的记录,信任引擎提供商可以确保不会出现协议抵赖。此外,该密码***可以监视协议并且例如基于价格、用户、卖方、地理位置、使用地点等来确定应用不同程度的认证。
为了便于完全理解本发明,具体实施方式的其余部分参照附图描述本发明,其中,相同元素始终由相同标号进行表示。
图1示出了根据本发明的实施例的各方面的密码***100的框图。如图1所示,密码***100包括通过通信链路125进行通信的用户***105、信任引擎110、认证机构115和卖方***120。
根据本发明的一个实施例,用户***105包括具有一个或多个微处理器(例如,基于Intel的处理器)的传统通用计算机。此外,用户***105包括适当的操作***,例如能够包括图形或窗口的操作***(例如,Windows、Unix、Linux等)。如图1所示,用户***105可以包括生物测定装置107。生物测定装置107可以有利地获取用户的生物测定并且将获取的生物测定传送给信任引擎110。根据本发明的一个实施例,生物测定装置可有利地包括具有与在以下文献中公开的类似的属性和特征的装置:1997年9月5日提交的题目为“RELIEFOBJECT IMAGE GENERATOR”的美国专利申请No.08/926277、2000年4月26日提交的题目为“IMAGING DEVICE FOR A RELIEF OBJECT AND SYSTEM AND METHOD OF USING THE IMAGEDEVICE”的美国专利申请No.09/558634、1999年11月5日提交的题目为“RELIEF OBJECTSENSOR ADAPTOR”的美国专利申请No.09/435011和2000年1月5日提交的题目为“PLANAROPTICAL IMA GE SENSOR AND SYSTEM FOR GENERATING AN ELECTRONIC IMA GE OF ARELIEF OBJECT FOR FINGERPINT READING”的美国专利申请No.09/477934,上述所有的美国专利申请由当前受让人拥有并且通过引用并入本文。
此外,用户***105可以通过传统的服务提供商(例如,拨号、数字用户线(DSL)、线缆调制解调器、光纤连接等)连接到通信链路125。根据另一个实施例,用户***105通过网络连接性(例如,局域网或广域网)连接通信链路125。根据一个实施例,操作***包括TCP/IP栈,该TCP/IP栈处理在通信链路125上传递的所有的出入消息通信。
尽管参照上述实施例公开了用户***105,但是本发明不限于此。相反,熟练技术人员从这里的公开可以识别用户***105的大量的替代实施例,包括能够发送或从另一个计算机***接收信息的几乎任何计算装置。例如,用户***105可以包括但不限于能够与通信链路125进行交互的计算机工作站、交互式电视、交互亭、个人移动计算装置(例如,数字助理、移动电话、膝上型电脑等)、无线通信装置、智能卡、嵌入式计算装置等。在这些替代***中,操作***很可能不同并且针对特定装置进行改动。然而,根据一个实施例,操作***有利地继续提供与通信链路125建立通信所需的适当的通信协议。
图1示出了信任引擎110。根据一个实施例,信任引擎110包括用于访问和存储敏感信息的一个或多个安全服务器,敏感信息可以是任何类型或形式的数据,例如是但不限于文本、音频、视频、用户认证数据以及公共和私有密码密钥。根据一个实施例,认证数据包括被设计为唯一识别密码***100的用户的数据。例如,认证数据可以包括用户识别号、一个或多个生物测定、以及由信任引擎110或用户产生但是在登记时由用户初始回答的一系列提问和回答。上述提问可以包括人口数据(例如,出生地、地址、周年纪念等)、个人数据(例如,母亲未婚时的名字、喜欢的冰激凌等)、或被设计为唯一识别用户的其它数据。信任引擎110将与当前事务关联的用户的认证数据与先前(例如在登记时)设置的认证数据进行比较。信任引擎110可以有利地要求用户在每次事务时生成认证数据,或者信任引擎110可以有利地允许用户定期地(例如,在一串事务的开始时或者在登录到特定卖方网站时)生成认证数据。
根据用户生成生物测定数据的实施例,用户向生物测定装置107提供身体特征,例如但不限于面部扫描、手扫描、耳扫描、虹膜扫描、视网膜扫描、血管模式、DNA、指纹、笔迹或语音。生物测定装置有利地生成身体特征的电子模式或生物测定。为了登记或认证,电子模式通过用户***105传送至信任引擎110。
一旦用户生成了适当的认证数据并且信任引擎110确定该认证数据(当前认证数据)与在登记时设置的认证数据(登记认证数据)之间的明确匹配,信任引擎110向用户提供完整的密码功能。例如,正确认证的用户可以有利地采用信任引擎110执行哈希处理、数字签名、加密和解密(常总称为加密)、建立或分布数字证书等等。然而,密码功能中使用的私有密码密钥在信任引擎110之外将不可用,从而确保了密码密钥的完整性。
根据一个实施例,信任引擎110产生并存储密码密钥。根据另一个实施例,至少一个密码密钥与每个用户关联。此外,当密码密钥包括公钥技术时,在信任引擎110内产生但不从其发放与用户关联的每个私钥。因此,只要用户可以访问信任引擎110,用户就可以使用他或她的私钥或公钥执行密码功能。有利的是,这种远程访问使用户可以通过实际任何互联网连接(例如,蜂窝和卫星电话、信息亭、膝上型电脑、宾馆房间等)保持完全移动并访问密码功能。
根据另一个实施例,信任引擎110使用针对信任引擎110产生的密钥对,执行密码功能。根据这个实施例,信任引擎110首先对用户进行认证,并且在用户正确地生成与登记认证数据匹配的认证数据后,信任引擎110使用它自身的密码密钥对,代表认证的用户执行密码功能。
熟练技术人员将从这里的公开认识到,密码密钥可以有利地包括对称密钥、公钥和私钥的全部或一些。此外,熟练技术人员将从这里的公开认识到,可以采用可从商业技术获得的大量的算法(例如,RSA、ELGAMAL等)来实现上述密钥。
图1还示出了认证机构115。根据一个实施例,认证机构115可有利地包括发放数字证书的信任第三方组织或公司,例如VeriSign、Baltimore、Entrust等。信任引擎110可有利地通过一个或多个传统的数字证书协议(例如,PKCS10)向认证机构115发送对数字证书的请求。作为响应,认证机构115将发放多个不同协议中的一个或多个(例如,PKCS7)的数字证书。根据本发明的一个实施例,信任引擎110从几个或所有的主要认证机构115请求数字证书,从而使得信任引擎110可访问与任何请求方的证书标准对应的数字证书。
根据另一个实施例,信任引擎110在内部执行证书发放。在这个实施例中,当证书被请求时(例如,在密钥产生时)或者在请求时请求的证书标准中,信任引擎110可以访问用于产生证书的证书***和/或可以在内部产生证书。在下文中将更加详细地***任引擎110。
图1还示出了卖方***120。根据一个实施例,卖方***120有利地包括Web服务器。典型的Web服务器通常使用几个互联网标记语言或文档格式标准(例如,超文本标记语言(HTML)或可扩展标记语言(XML))之一在互联网上提供内容。Web服务器从如Netscape和Internet Explorer的浏览器接受请求,然后返回适当的电子文档。多个服务器或客户端技术能够用于提高Web服务器的能力以超越它的传递标准电子文档的能力。例如,这些技术包括公共网关接口(CGI)脚本、安全套接字层(SSL)安全性和动态服务器页面(ASP)。卖方***120可有利地提供与商业、个人、教育或其它事务有关的电子内容。
尽管参照上述实施例公开了卖方***120,但是本发明不限于此。相反,熟练技术人员将从这里的公开认识到,卖方***120可有利地包括参照用户***105描述的装置中的任何一个或者它们的组合。
图1还示出了连接用户***105、信任引擎110、认证机构115和卖方***120的通信链路125。根据一个实施例,通信链路125优选包括互联网。本文所用的互联网是计算机的全球网络。本领域普通技术人员公知的互联网的结构包括网络骨干和从骨干分支的网络。这些分支继而具有从它们分支的网络,如此类推。路由器在网络级之间移动信息包,然后从网络到网络移动信息包,直到包到达它的目的地附近。目的地网络的主机将信息包从该目的地导向适当的终端或节点。在一个有利的实施例中,互联网路由集线器包括使用现有技术公知的传输控制协议/互联网协议(TCP/IP)的域名***(DNS)服务器。路由集线器经由高速通信链路连接到一个或多个其它路由集线器。
互联网的一个流行部分是万维网。万维网包含不同的计算机,这些计算机存储能够显示图形和文本信息的文档。在万维网上提供信息的计算机通常称作“网站”。网站由具有关联的电子页面的互联网地址定义。电子页面能够通过统一资源定位符(URL)进行识别。通常,电子页面是组织文本、图形图像、音频、视频等的呈现的文档。
尽管在针对其优选实施例公开了通信链路125,但是本领域普通技术人员将从这里的公开认识到,通信链路125可以包括各种交互通信链路。例如,通信链路125可以包括交互电视网络、电话网络、无线数据传输***、双向线缆***、定制的私有或公共计算机网络、交互亭网络、自动柜员机网络、直接链路、卫星或蜂窝网络等。
图2示出了根据本发明的实施例的各方面的图1的信任引擎110的框图。如图2所示,信任引擎110包括事务引擎205、储存器210、认证引擎215和密码引擎220。根据本发明的一个实施例,信任引擎110还包括海量存储器225。进一步如图2所示,事务引擎205与储存器210、认证引擎215和密码引擎220以及海量存储器225进行通信。此外,储存器210与认证引擎215、密码引擎220和海量存储器225进行通信。此外,认证引擎215与密码引擎220进行通信。根据本发明的一个实施例,上述通信中的一些或全部可有利地包括将XML文档发送至与接收装置对应的IP地址。如上所述,有利的是,XML文档使设计者可以建立他们自己定制的文档标记,从而实现应用之间以及组织之间的数据的定义、传输、验证和解释。此外,上述通信中的一些或全部可包括传统的SSL技术。
根据一个实施例,事务引擎205包括例如可从Netscape、Microsoft、Apache等获得的传统Web服务器的数据路由装置。例如,Web服务器可以有利地从通信链路125接收输入数据。根据本发明的一个实施例,输入数据被寻址至信任引擎110的前端安全***。例如,前端安全***可以有利地包括防火墙、搜索已知攻击概况的入侵检测***、和/或病毒扫描器。在通过了前端安全***后,数据由事务引擎205接收并且被路由至储存器210、认证引擎215、密码引擎220和海量存储器225之一。此外,事务引擎205监视来自认证引擎215和密码引擎220的输入数据,并且通过通信链路125将该数据路由至特定***。例如,事务引擎205可有利地向用户***105、认证机构115或卖方***120路由该数据。
根据一个实施例,使用传统的HTTP路由技术,例如采用URL或统一资源指示符(URI)来路由数据。URI与URL类似,然而,URI通常指示文件或动作(例如,可执行文件、脚本等)的源。因此,根据一个实施例,用户***105、认证机构115、卖方***120和信任引擎210的部件有利地包括通信URL或URI内的充足数据,以供事务引擎205在整个密码***内正确地路由数据。
尽管参照其优选实施例公开了数据路由,但是熟练技术人员将认识到大量的可能的数据路由方案或策略。例如,XML或其它数据包可以有利地进行拆包并且通过它们的格式、内容等进行识别,从而使得事务引擎205可以在整个信任引擎110内正确地路由数据。此外,熟练技术人员将认识到,有利的是,例如当通信链路125包括局域网时,数据路由可进行改动以适应符合特定网络***的数据传输协议。
根据本发明的另一个实施例,事务引擎205包括传统的SSL加密技术,从而在特定通信期间,通过事务引擎205,上述***可以对它们自身进行认证,反之亦然。本发明中使用的术语“1/2SSL”是指服务器(但客户机不必)进行SSL认证的通信,术语“全SSL”是指客户机和服务器均进行SSL认证的通信。当本公开使用术语“SSL”时,通信可以包括1/2SSL或全SSL。
由于事务引擎205将数据路由至密码***100的各个部件,所以事务引擎205可有利地建立审计索引(audit trail)。根据一个实施例,审计索引包括在整个密码***100内由事务引擎205进行路由的数据的至少类型和格式的记录。这种审计数据可有利地存储在海量存储器225中。
图2还示出了储存器210。根据一个实施例,储存器210包括一个或多个数据存储设施,例如目录服务器、数据库服务器等。如图2所示,储存器210存储密码密钥和登记认证数据。密码密钥可有利地对应于信任引擎110或者密码***100的用户(例如,用户或卖方)。登记认证数据可有利地包括被设计用于唯一识别用户的数据,例如用户ID、口令、提问的回答、生物测定数据等。有利的是,可以在用户登记时或者在另一个替代的以后时间获取这个登记认证数据。例如,信任引擎110可以包括登记认证数据的周期性或其它的更新或重新发放。
根据一个实施例,从事务引擎205到认证引擎215和密码引擎220的通信以及从认证引擎215和密码引擎220到事务引擎205的通信包括安全通信(例如,传统的SSL技术)。此外,如上所述,可以使用URL、URI、HTTP或XML文档传送到达和来自储存器210的通信的数据,有利地在上述任何一个内部嵌入了数据请求和格式。
如上所述,储存器210可有利地包括多个安全数据存储设施。在这种实施例中,安全数据存储设施可被构造为使得对一个个体数据存储设施的安全性的危害将不会危害存储在其中的密码密钥或认证数据。例如,根据这个实施例,密码密钥和认证数据被进行数学运算,从而在统计学上充分地对存储在每个数据存储设施中的数据进行随机化。根据一个实施例,个体数据存储设施的数据的随机化使得该数据无法被破译。因此,对个体数据存储设施的危害仅仅生成随机化的无法译解的数字,并且不会危害作为整体的任何密码密钥或认证数据的安全性。
图2还示出了包括认证引擎215的信任引擎110。根据一个实施例,认证引擎215包括数据比较器,该数据比较器被构造为将来自事务引擎205的数据与来自储存器210的数据进行比较。例如,在认证过程中,用户将当前认证数据提供给信任引擎110从而事务引擎205接收当前认证数据。如上所述,事务引擎205识别优选在URL或URI中的数据请求,并且将认证数据路由至认证引擎215。此外,当被请求时,储存器210将与用户对应的登记认证数据转发至认证引擎215。因此,认证引擎215具有当前认证数据和登记认证数据以进行比较。
根据一个实施例,到达认证引擎的通信包括安全通信(例如,SSL技术)。此外,安全性(例如,使用公钥技术的超级加密)可以设置在信任引擎110部件内。例如,根据一个实施例,用户用认证引擎215的公钥对当前认证数据进行加密。此外,储存器210还用认证引擎215的公钥对登记认证数据进行加密。这样,仅有认证引擎的私钥能够用于对传输进行解密。
如图2所示,信任引擎110还包括密码引擎220。根据一个实施例,密码引擎包括密码处理模块,该模块被构造为有利地提供传统的密码功能(例如,公钥基础设施(PKI)功能)。例如,密码引擎220可以有利地向密码***100的用户发放公钥和私钥。以这种方式,在密码引擎220处产生密码密钥并且将其转发至储存器210,从而在信任引擎110之外至少无法获得私有密码密钥。根据另一个实施例,密码引擎220至少对私有密码密钥数据进行随机化和***,从而仅仅存储随机化的***数据。与登记认证数据的***类似,***过程确保在密码引擎220之外无法获得存储的密钥。根据另一个实施例,密码引擎的功能可以与认证引擎215组合并且由认证引擎215执行。
根据一个实施例,到达和来自密码引擎的通信包括安全通信,诸如SSL技术。此外,可有利地采用XML文档以传送数据和/或进行密码功能请求。
图2还示出了具有海量存储225的信任引擎110。如上所述,事务引擎205保持与审计索引对应的数据并且将这个数据存储在海量存储器225中。类似地,根据本发明的一个实施例,储存器210保持与审计索引对应的数据并且将这个数据存储在海量存储装置225中。由于审计索引数据包括由储存器210接收到的请求的记录及其响应,所以储存器审计索引数据与事务引擎205的审计索引数据类似。此外,海量存储器225可用于存储在内部包含了用户的公钥的数字证书。
尽管参照其优选实施例和替代实施例公开了信任引擎110,但是本发明不限于此。相反,熟练技术人员将从这里的公开中认识到信任引擎110的大量替代。例如,信任引擎110可有利地仅仅执行认证,或者仅仅执行例如数据加密和解密的一些或所有的密码功能。根据这些实施例,可有利地去除认证引擎215和密码引擎220之一,从而为信任引擎110建立更加简单的设计。此外,密码引擎220还可以与认证机构进行通信从而在信任引擎110内实现认证机构。根据另一个实施例,信任引擎110可以有利地执行认证以及例如数字签名的一个或多个密码功能。
图3示出了根据本发明的实施例的各方面的图2的事务引擎205的框图。根据这个实施例,事务引擎205包括具有处理线程和侦听线程的操作***305。有利的是,操作***305可与在例如可从Apache得到的Web服务器的传统高容量服务器中发现的操作***类似。侦听线程针对输入数据流,监视来自通信链路125、认证引擎215和密码引擎220之一的输入通信。处理线程识别输入数据流的特定数据结构(例如,上述数据结构),从而将输入数据路由至通信链路125、储存器210、认证引擎215、密码引擎220或海量存储器225之一。如图3所示,有利的是,通过例如SSL技术可以保护输入和输出数据。
图4示出了根据本发明的实施例的各方面的图2的储存器210的框图。根据这个实施例,储存器210包括一个或多个轻量目录访问协议(LDAP)服务器。可以从各种制造商(例如,Netscape、ISO等)获得LDAP目录服务器。图4还示出了目录服务器优选存储与密码密钥对应的数据405和与登记认证数据对应的数据410。根据一个实施例,储存器210包括单个逻辑存储结构,用于将认证数据和密码密钥数据索引至唯一用户ID。该单个逻辑存储结构优选包括确保存储在其中的数据的高度信任或安全性的机制。例如,储存器210的物理位置可有利地包括大量的传统安全性措施,诸如受限雇员访问、现代监视***等。除了物理安全性以外或者替代物理安全性,计算机***或服务器可以有利地包括保护存储的数据的软件方案。例如,储存器210可有利地建立并存储与采取的动作的审计索引对应的数据415。此外,有利的是,可以用与传统的SSL技术结合的公钥加密,对输入和输出通信进行加密。
根据另一个实施例,储存器210可以包括不同的且物理分离的数据存储设施,如进一步参照图7所公开的。
图5示出了根据本发明的实施例的各方面的图2的认证引擎215的框图。与图3的事务引擎205类似,认证引擎215包括操作***505,操作***505至少具有传统的Web服务器(例如,可从Apache获得的Web服务器)的变型版本的侦听和处理线程。如图5所示,认证引擎215包括对至少一个私钥510的访问。有利的是,私钥510可用于例如对来自事务引擎205或储存器210的数据进行解密,该数据用认证引擎215的对应公钥进行了加密。
图5还示出了包括比较器515、数据***模块520和数据组装模块525的认证引擎215。根据本发明的优选实施例,比较器515包括能够比较与上述生物测定认证数据有关的潜在复杂模式的技术。该技术可以包括用于模式比较(例如,表示指纹模式或语音模式的模式比较)的硬件、软件或者组合方案。此外,根据一个实施例,认证引擎215的比较器515可有利地比较文档的传统哈希值以呈现比较结果。根据本发明的一个实施例,比较器515包括对该比较应用启发法(heuristics)530。有利的是,启发法530可以应对围绕认证尝试的境况(例如,时间、IP地址或子网掩码、购买概况、电子邮件地址、处理器序列号或ID等)。
此外,生物测定数据比较的性质会导致从当前生物测定认证数据与登记数据的匹配产生变化的置信度。例如,与可仅仅返回肯定或否定匹配的传统口令不同,指纹可被确定为部分匹配,例如90%匹配、75%匹配或10%匹配,而非简单地为正确或不正确。诸如声纹(voice print)分析或面部识别的其它生物测定识别法会共有这个概率认证的属性,而非绝对认证。
当利用这种概率认证进行工作时或者在认为认证低于绝对可靠的其它情况下,期望应用启发法530以确定设置的认证的置信水平是否高到足够对正在进行的事务进行认证。
有时候存在如下情况:谈及的事务是相对低值事务,其中,它可以较低的置信水平被接受而得到认证。这可以包括具有与之关联的低货币值(例如,$10购买)的事务或者低风险的事务(例如,进入会员制网站)。
相反,为了对其它事务进行认证,会期望在允许事务进行之前要求高的认证置信度。这些事务可以包括大货币值的事务(例如,签署几百万美元供货合同)或者在发生不正确认证的情况下具有高风险的事务(例如,远程登录政府计算机)。
如下文所述,与置信水平和事务值组合的启发法530的使用可用于允许比较器提供动态的上下文敏感认证***。
根据本发明的另一个实施例,比较器515可有利地跟踪特定事务的认证尝试。例如,当事务失败时,信任引擎110可以请求用户重新输入他或她的当前认证数据。认证引擎215的比较器515可有利地利用尝试限制器535以限制认证尝试的次数,由此禁止假扮用户的认证数据的暴力尝试。根据一个实施例,尝试限制器535包括监视事务的重复认证尝试并且例如将给定事务的认证尝试限制为三次的软件模块。因此,尝试限制器535例如将用于假扮个人的认证数据的自动尝试限制为仅三次“猜测”。当三次失败时,尝试限制器535可有利地拒绝另外的认证尝试。有利的是,例如通过不管正在发送的当前认证数据如何比较器515都返回否定结果,而实现这种拒绝。另一方面,事务引擎205可有利地阻止属于三次尝试先前已经失败的事务的任何另外的认证尝试。
认证引擎215还包括数据***模块520和数据组装模块525。数据***模块520有利地包括具有对各种数据进行数学运算从而充分地将数据随机化并***成多个部分的能力的软件、硬件、或组合模块。根据一个实施例,不可以从个体部分重建原始数据。数据组装模块525有利地包括被构造为对上述充分随机化的部分进行数学运算从而使它们的组合提供原始译解数据的软件、硬件或组合模块。根据一个实施例,认证引擎215利用数据***模块520将登记认证数据随机化并***成多个部分,并且利用数据组装模块525将这些部分重新组装成可用的登记认证数据。
图6示出了根据本发明的一个实施例的各方面的图2的信任引擎200的密码引擎220的框图。与图3的事务引擎205类似,密码引擎220包括操作***605,操作***605至少具有传统的Web服务器(例如,可从Apache得到的Web服务器)的变型版本的侦听和处理线程。如图6所示,密码引擎220包括功能与图5中类似的数据***模块610和数据组装模块620。然而,根据一个实施例,与上述的登记认证数据不同,数据***模块610和数据组装模块620处理密码密钥数据。但是,熟练技术人员将从这里的公开认识到,数据***模块910和数据***模块620可以与认证引擎215的相应模块进行组合。
密码引擎220还包括密码处理模块625,密码处理模块625被构造为执行大量的密码功能中的一个、一些或全部。根据一个实施例,密码处理模块625可以包括软件模块或程序、硬件或二者。根据另一个实施例,密码处理模块625可以执行数据比较、数据解析、数据***、数据分离、数据哈希法、数据加密或解密、数字签名验证或创建、数字证书产生、存储、或请求、密码密钥产生等等。此外,熟练技术人员将从这里的公开认识到,密码处理模块825可有利地包括公钥基础设施,诸如良好隐私(PGP)、基于RSA的公钥***、或者大量的替代密钥管理***。此外,密码处理模块625可以执行公钥加密、对称密钥加密或二者。除了上述以外,密码处理模块625可以包括用于执行无缝、透明的互用性功能的一个或多个计算机程序或模块、硬件或二者。
熟练技术人员还将从这里的公开认识到,密码功能可以包括一般与密码密钥管理***有关的大量或多样的功能。
图7示出了根据本发明的实施例的各方面的储存器***700的简化框图。如图7所示,储存器***700有利地包括多个数据存储设施,例如,数据存储设施D1、D2、D3和D4。然而,本领域普通技术人员容易理解,储存器***可以仅仅具有一个数据存储设施。根据本发明的一个实施例,数据存储设施D1到D4中的每个可以有利地包括参照图4的储存器210公开的一些或全部部件。与储存器210类似,数据存储设施D1到D4优选通过传统SSL与事务引擎205、认证引擎215和密码引擎220进行通信。通信链路例如传送XML文档。来自事务引擎205的通信可有利地包括对数据的请求,其中,该请求被有利地广播至每个数据存储设施D1到D4的IP地址。另一方面,事务引擎205可以基于大量的标准(例如,响应时间、服务器负载、维护时间表等),向特定数据存储设施广播请求。
响应于来自事务引擎205的对数据的请求,储存器***700有利地将存储的数据转发至认证引擎215和密码引擎220。相应的数据组装模块接收转发的数据并且将该数据组装成可用格式。另一方面,从认证引擎215和密码引擎220到数据存储设施D1到D4的通信可以包括要存储的敏感数据的传输。例如,根据一个实施例,认证引擎215和密码引擎220可有利地利用它们各自的数据***模块,将敏感数据划分成多个不可译解的部分,然后将敏感数据的一个或多个不可译解的部分发送至特定数据存储设施。
根据一个实施例,每个数据存储设施D1到D4包括分立且独立的存储***(例如,目录服务器)。根据本发明的另一个实施例,储存器***700包括多个在地理上分离的独立数据存储***。通过将敏感数据分布到不同且独立的存储设施D1到D4(存储设施D1到D4中的一些或全部可有利地在地理上分离),储存器***700提供冗余连同附加的安全措施。例如,根据一个实施例,为了对敏感数据进行译解和重新组装,仅需要来自多个数据存储设施D1到D4中的两个的数据。因此,四个数据存储设施D1到D4中的两个可以由于维护、***故障、电源故障等而不工作,这不会影响信任引擎110的功能。此外,根据一个实施例,由于存储在每个数据存储设施中的数据被随机化并且不可译解,所以对任何个体数据存储设施的危害不会必然危害敏感数据。此外,在具有地理分离的数据存储设施的实施例中,对多个地理远离的设施的危害变得愈加困难。实际上,即使是无良雇员,想要破坏所需的多个独立的地理远离的数据存储设施也是具有极大挑战的。
尽管参照其优选和替代实施例公开了储存器***700,但是本发明并不限于此。相反,熟练技术人员将从这里的公开认识到储存器***700的大量的替代物。例如,储存器***700可以包括一个、两个或更多个数据存储设施。此外,可对敏感数据进行数学运算,从而使得为了对敏感数据进行重新组装和译解,需要来自两个或更多的数据存储设施的部分。
如上所述,认证引擎215和密码引擎220分别包括数据***模块520和610,用于***任何类型或形式的敏感数据(例如,文本、音频、视频、认证数据和密码密钥数据)。图8示出了根据本发明的实施例的各方面的数据***模块执行的数据***过程800的流程图。如图8所示,当认证引擎215或密码引擎220的数据***模块接收到敏感数据“S”时,数据***过程800在步骤805开始。优选地,在步骤810,数据***模块产生充分随机数、值、或者比特串或集“A”。例如,可以以本领域普通技术人员可获得的用于生成适用于密码应用的高质量随机数的大量的不同传统技术,产生随机数A。此外,根据一个实施例,随机数A包括可为任何适当长度的比特长度,例如,短于、长于或等于敏感数据S的比特长度。
此外,在步骤820中,数据***过程800产生另一个统计随机数“C”。根据优选实施例,有利的是,可以并行完成统计随机数A和C的产生。数据***模块然后将数A和C与敏感数据S进行组合以产生新的数“B”和“D”。例如,数B可以包括A XOR S的二进制组合,数D可以包括C XOR S的二进制组合。XOR函数或“异或”函数对于本领域普通技术人员是公知的。优选地,分别在步骤825和830中分别发生上述组合,并且根据一个实施例,上述组合也可以并行发生。数据***过程800然后进行到步骤835,在步骤835中,对随机数A和C以及数B和D进行配对以使得这些配对均不包含通过它们自身可以重新组织并译解原始敏感数据S的充分数据。例如,这些数可以如下配对:AC、AD、BC和BD。根据一个实施例,上述配对中的每个被分布至图7的储存器D1到D4之一。根据另一个实施例,上述配对中的每个被随机分布至储存器D1到D4之一。例如,在第一数据***过程800期间,配对AC可以例如通过D2的IP地址的随机选择而发送至储存器D2。然后,在第二数据***过程800期间,配对AC可以例如通过D4的IP地址的随机选择而发送至储存器D4。此外,这些配对可以全部存储在一个储存器上,并且可以存储在所述储存器的分离的位置上。
基于上面的描述,有利的是,数据***过程800将敏感数据的各部分安置在四个数据存储设施D1到D4的每个中,从而使得没有单个数据存储设施D1到D4包括用于重建原始敏感数据S的充足的加密数据。如上所述,通过将数据随机化成个体不可用的加密部分,提高了安全性并且即使数据存储设施D1到D4之一受到危害仍可以保持数据的信任。
尽管参照其优选实施例公开了数据***过程800,但是本发明不限于此。相反,熟练技术人员将从这里的公开认识到数据***过程800的大量替代。例如,数据***过程可有利地将数据***成两个数,例如,随机数A和数B,并且通过两个数据存储设施随机分布A和B。此外,通过产生附加的随机数,数据***过程800可有利地在大量的数据存储设施之间***数据。数据可被***成任何希望的、选择的、预定的或者随机指定的大小单元,包括但不限于一个比特、多个比特、字节、千字节、兆字节或更大、或者大小的任何组合或序列。此外,改变从***过程得到的数据单元的大小,可以使数据更加难于恢复成可用形式,由此提高了敏感数据的安全性。本领域普通技术人员易于理解,***数据单元大小可以是多种多样的数据单元大小或大小的模式或者大小的组合。例如,数据单元大小可被选择或预定为都具有相同大小、不同大小的固定集合、大小的组合,或者随机产生大小。类似地,根据固定或预定的数据单元大小、数据单元大小的模式或组合、或者随机产生的每份的数据单元大小,数据单元可被分布成一份或多份。
如上所述,为了重建敏感数据S,需要对数据部分进行去随机化和重新组织。该过程可以有利地分别在认证引擎215和密码引擎220的数据组装模块525和620中执行。数据组装模块(例如,数据组装模块525)从数据存储设施D1到D4接收数据部分,并且将数据重新组装成可用形式。例如,根据数据***模块520采用图8的数据***过程800的一个实施例,数据组装模块525使用来自数据存储设施D1到D4中的至少两个的数据部分重建敏感数据S。例如,对AC、AD、BC和BD的配对被分布为任何两个提供A和B或者C和D之一。要注意,S=A XOR B或者S=C XOR D指示当数据组装模块接收到A和B或者C和D之一时,数据组装模块525可有利地重新组装敏感数据S。因此,当例如响应于信任引擎110的组装请求,数据组装模块525从数据存储设施D1到D4中的至少前两个接收到数据部分时,数据组装部分525可以组装敏感数据S。
基于以上数据***和组装过程,可用格式的敏感数据S仅仅存在于信任引擎110的有限区域内。例如,当敏感数据S包括登记认证数据时,可用的非随机化的登记认证数据仅在认证引擎215中可获得。同样地,当敏感数据S包括私有密码密钥数据时,可用的非随机化的私有密码密钥数据仅在密码引擎220中可获得。
尽管参照其优选实施例公开了数据***和组装过程,但是本发明不限于此。相反,熟练技术人员将从这里的公开认识到用于***和重新组装敏感数据S的大量替代。例如,公钥加密可用于进一步保护数据存储设施D1到D4中的数据。此外,本领域普通技术人员易于理解,本文所述的数据***模块也是可纳入、进行组合或以其它形式成为任何预先存在的计算机***、软件套装、数据库或其组合的一部分的本发明的独立且不同的实施例,或者本发明的其它实施例,诸如这里公开和描述的信任引擎、认证引擎和事务引擎。
图9A示出了根据本发明的实施例的各方面的登记过程900的数据流。如图9A所示,当用户希望向密码***100的信任引擎110登记时,登记过程900在步骤905开始。根据这个实施例,用户***105有利地包括例如基于Java的询问用户输入登记数据(例如,人口数据和登记认证数据)的客户机侧Java小程序(applet)。根据一个实施例,登记认证数据包括用户ID、口令、生物测定等等。根据一个实施例,在询问过程中,客户机侧Java小程序优选与信任引擎110进行通信以确保选择的用户ID是唯一的。当用户ID不是唯一时,信任引擎110可有利地建议一个唯一用户ID。客户机侧Java小程序收集登记数据并且例如通过XML文档将登记数据传输至信任引擎110,具体地讲传输至事务引擎205。根据一个实施例,用认证引擎215的公钥对该传输进行编码。
根据一个实施例,用户在登记过程900的步骤905中执行单次登记。例如,用户将他或她自己作为特定人员(例如,Joe User)登记。当Joe User希望作为Joe User(Mega公司的CEO)进行登记时,根据这个实施例,Joe User登记第二次,接收第二唯一用户ID并且信任引擎110不将这两个身份进行关联。根据本发明的另一个实施例,登记过程900为一个用户ID提供多个用户身份。因此,在以上例子中,信任引擎110将有利地将Joe User的两个身份进行关联。熟练技术人员从这里的公开应该明白,一个用户可以具有许多身份,例如Joe User(户主)、Joe User(慈善基金成员)等。即使用户可以具有多个身份,根据这个实施例,信任引擎110优选仅仅存储一组登记数据。此外,有利的是,用户可以在需要时添加、编辑/更新或删除身份。
尽管参照其优选实施例公开了登记过程900,但是本发明不限于此。相反,熟练技术人员将从这里的公开认识到用于收集登记数据(具体地为登记认证数据)的大量替代。例如,Java小程序可以是基于公共对象模型(COM)的Java小程序等。
另一方面,登记过程可包括分级登记。例如,在最低的登记等级,用户可以经由通信链路125进行登记而不生成关于他或她的身份的文档。根据提高的登记等级,用户使用信任第三方(例如,数字公证人)进行登记。例如,用户可以亲自到信任第三方,生成证明(例如,出生证明、驾照、军官证等),并且信任第三方可有利地将例如它们的数字签名包括在登记提交中。信任第三方可以包括真实公证人、政府机构(例如,邮局或机动车部门)、大公司中招募雇员的人力资源人员等。熟练技术人员从这里的公开应该明白,在登记过程900期间可以进行大量的不同等级的登记。
在接收到登记认证数据后,在步骤915,事务引擎205使用传统的全SSL技术将登记认证数据转发至认证引擎215。在步骤920中,认证引擎215使用认证引擎215的私钥对登记认证数据进行解密。此外,认证引擎215利用数据***模块对登记认证数据进行数学运算从而将该数据***成至少两个独立不可译解的随机数。如上所述,至少两个数可以包括统计随机数和二进制异或数。在步骤925中,认证引擎215将随机数的每个部分转发至数据存储设施D1到D4之一。如上所述,有利的是,认证引擎215还可以对哪些部分传送到哪个储存器进行随机化。
在登记过程900中,用户常常还希望发放数字证书使得他或她可以从密码***100之外的其它人接收加密的文档。如上所述,认证机构115通常根据几个传统标准中的一个或多个发放数字证书。通常,数字证书包括每人皆知的用户或***的公钥。
不管在登记时或者在另一个时间用户是否请求了数字证书,该请求都通过信任引擎110传送到认证引擎215。根据一个实施例,该请求包括例如具有用户的正确名称的XML文档。根据步骤935,认证引擎215将该请求传送给密码引擎220以指示密码引擎220产生密码密钥或密钥对。
在被请求时,在步骤935,密码引擎220产生至少一个密码密钥。根据一个实施例,密码处理模块625产生密钥对,其中,一个密钥用作私钥,一个密钥用作公钥。密码引擎220存储私钥,并且根据一个实施例存储公钥的副本。在步骤945中,密码引擎220向事务引擎205发送对数字证书的请求。根据一个实施例,该请求有利地包括例如嵌入在XML文档内的诸如PKCS10的标准化请求。对数字证书的请求可有利地对应于一个或多个认证机构以及这些认证机构要求的一个或多个标准格式。
在步骤950中,事务引擎205将这个请求转发至认证机构115,在步骤955中,认证机构115返回数字证书。有利的是,返回数字证书可以是例如PKCS7的标准化格式或者是一个或多个认证机构115的专有格式。在步骤960中,数字证书由事务引擎205接收,副本被转发至用户并且副本由信任引擎110存储。信任引擎110存储证书的副本从而使得信任引擎110将不需要依赖于认证机构115的可用性。例如,当用户希望发送数字证书或者第三方请求用户的数字证书时,对数字证书的请求通常被发送至认证机构115。然而,如果认证机构115正在进行维护或者成为故障或安全危害的牺牲品,则无法获得数字证书。
在发放密码密钥后的任何时间,密码引擎220可有利地利用上述的数据***过程800从而使得密码密钥被***成独立不可译解的随机数。与认证数据类似,在步骤965中,密码引擎220将随机数传送给数据存储设施D1到D4。
熟练技术人员将从这里的公开认识到,用户可以在登记后的任何时间请求数字证书。此外,***之间的通信可有利地包括全SSL或公钥加密技术。此外,登记过程可以发放来自多个认证机构(包括信任引擎110内部或外部的一个或多个专有认证机构)的多个数字证书。
如在步骤935到步骤960中所公开的,本发明的一个实施例包括对最终存储在信任引擎110上的证书的请求。根据一个实施例,由于密码处理模块625发放由信任引擎110使用的密钥,所以每个证书对应于一个私钥。因此,信任引擎110通过监视用户拥有的或与用户关联的证书,可以有利地提供互用性。例如,当密码引擎220接收对密码功能的请求时,密码处理模块625可以调查请求用户拥有的证书以确定该用户是否拥有与该请求的属性匹配的私钥。当存在这种证书时,密码处理模块625可以使用该证书或者与之关联的公钥或私钥执行被请求的功能。当不存在这种证书时,密码处理模块625可以有利并透明地执行多个动作以尝试补救适当密钥的缺失。图9B示出了互用性过程970的流程图,根据本发明的实施例的各方面,它公开了上述步骤以确保密码处理模块625使用适当密钥执行密码功能。
如图9B所示,互用性过程970在步骤972开始,在步骤972中,密码处理模块925确定希望的证书的类型。根据本发明的一个实施例,有利的是,在对密码功能的请求或者由请求者提供的其它数据中指定证书的类型。根据另一个实施例,证书类型可以通过该请求的数据格式进行确定。例如,密码处理模块925可以有利地识别与特定类型对应的请求。
根据一个实施例,证书类型可以包括一个或多个算法标准,例如,RSA、ELGAMAL等。此外,证书类型可以包括一个或多个密钥类型,例如,对称密钥、公钥、例如256比特密钥的强加密密钥、较不安全的密钥等。此外,证书类型可以包括一个或多个上述算法标准或密钥、一个或多个消息或数据格式、一个或多个数据封装或编码方案(例如,Base32或Base64)的升级或替换。证书类型还可以包括与一个或多个第三方密码应用或接口、一个或多个通信协议或者一个或多个证书标准或协议的兼容性。熟练技术人员将从这里的公开认识到,在证书类型中可存在其它差别,并且可以如本文公开地执行从或到这些差别的翻译。
一旦密码处理模块625确定了证书类型,互用性过程970进行到步骤974,并且在步骤974中确定用户是否拥有与确定的类型匹配的证书。当用户拥有匹配的证书时,例如,信任引擎110通过例如其先前存储可访问该匹配的证书,加密处理模块825知道匹配的私钥也存储在信任引擎110内。例如,匹配的私钥可存储在储存器210或储存器***700内。有利的是,密码处理模块625可以请求从例如储存器210组装匹配的私钥,然后在步骤976中,使用该匹配的私钥执行密码操作或功能。例如,如上所述,密码处理模块625可以有利地执行哈希法、哈希比较、数据加密或解密、数字签名验证或建立等。
当用户不拥有匹配的证书时,互用性过程970进行到步骤978,在步骤978,密码处理模块625确定用户是否拥有交叉认证的证书。根据一个实施例,当第一认证机构确定信任来自第二认证机构的证书时,出现认证机构之间的交叉认证。换言之,第一认证机构确定来自第二认证机构的证书满足特定质量标准,由此可被“认证”为与第一认证机构自身的证书等效。当认证机构例如发放具有信任等级的证书时,交叉认证变得更加复杂。例如,第一认证机构通常基于登记过程的可靠度可以向特定证书提供三个等级的信任,而第二认证机构可以提供七个等级的信任。有利的是,交叉认证可以跟踪来自第二认证机构的哪些等级和哪些证书可替代来自第一认证机构的哪些等级和哪些证书。当在两个认证机构之间正式公开地完成上述交叉认证时,证书和等级的彼此映射通常称作“链锁(chaining)”。
根据本发明的另一个实施例,有利的是,密码处理模块625可以开发由认证机构达成一致的交叉认证之外的交叉认证。例如,密码处理模块625可以访问第一认证机构的证书操作声明(CPS)或者其它公布的政策声明,并且例如使用特定信任等级要求的认证令牌(token),将第一认证机构的证书与另一个认证机构的证书进行匹配。
当在步骤978中密码处理模块625确定用户拥有交叉认证的证书时,互用性过程970进行到步骤976,并且使用交叉认证的公钥、私钥或二者执行密码操作或功能。另选地,当密码处理模块625确定用户不拥有交叉认证的证书时,互用性过程970进行到步骤980,在步骤980,密码处理模块625选择向其发放被请求的证书类型或者交叉认证的证书的认证机构。在步骤982中,密码处理模块625确定上面讨论的用户登记认证数据是否满足选择的认证机构的认证要求。例如,如果用户例如通过回答人口和其它提问经由网络登入,则与提供生物测定数据并且出现在第三方(例如,公证人)前的用户相比,提供的认证数据可以建立较低等级的信任。根据一个实施例,有利的是,可以在选择的认证机构的CPS中提供上述认证要求。
当用户已经向信任引擎110提供满足选择的认证机构的要求的登记认证数据时,互用性过程970进行到步骤984,在步骤984,密码处理模块825从选择的认证机构获取证书。根据一个实施例,密码处理模块625通过登记过程900的下面的步骤945到960获取证书。例如,密码处理模块625可有利地利用密码引擎220已经可获得的一个或多个密钥对中的一个或多个公钥,从认证机构请求证书。根据另一个实施例,密码处理模块625可有利地产生一个或多个新密钥对,并且使用与之对应的公钥从认证机构请求证书。
根据另一个实施例,信任引擎110可有利地包括能够发放一个或多个证书类型的一个或多个证书发放模块。根据这个实施例,证书发放模块可以提供上述证书。当密码处理模块625获取证书时,互用性过程970进行到步骤976,并且使用与获取的证书对应的公钥、私钥或二者执行密码操作或功能。
当在步骤982中用户没有向信任引擎110提供满足选择的认证机构的要求的登记认证数据时,在步骤986中密码处理模块625确定是否存在具有不同的认证要求的其它认证机构。例如,密码处理模块625可以寻找具有更低的认证要求但是仍发放选择的证书或其交叉认证的认证机构。
当上述具有更低要求的认证机构存在时,互用性过程970进行到步骤980并且选择该认证机构。另选地,当不存在这种认证机构时,在步骤988中信任引擎110可以从用户请求另外的认证令牌。例如,信任引擎110可以请求包括例如生物测定数据的新的登记认证数据。另外,信任引擎110可以请求用户出现在信任第三方前并且提供适当的认证证明(例如,出现在针对驾照、社会保险卡、银行卡、出生证明、军官证等等的公证前)。当信任引擎110接收到更新的认证数据时,互用性过程970进行到步骤984并且获取上述选择的证书。
通过上述互用性过程970,密码处理模块625有利地在不同的密码***之间提供无缝透明的翻译和转换。熟练技术人员将从这里的公开认识到上述互用***的大量的优点和实施方式。例如,互用性过程970的上述步骤986可有利地包括信任仲裁的方面(下文更加详细讨论),其中,认证机构可以在特殊境况下接受较低等级的交叉认证。此外,互用性过程970可以包括确保标准证书撤销之间的互用性以及标准证书撤销的利用,例如,利用证书撤销列表(CRL)、在线证书状态协议(OCSP)等。
图10示出了根据本发明的实施例的各方面的认证过程1000的数据流。根据一个实施例,认证过程1000包括从用户收集当前认证数据并且将它与用户的登记认证数据进行比较。例如,认证过程1000在步骤1005开始,在步骤1005,用户希望与例如卖方执行事务。这种事务例如可包括选择购买选项、请求访问卖方***120的限制区或装置、等等。在步骤1010中,卖方向用户提供事务ID和认证请求。事务ID可有利地包括192比特量(32比特时间戳,串连128比特随机量或“现时(nonce)”,再串连32比特卖方特定常数)。这种事务ID唯一识别事务从而使信任引擎110能够拒绝假冒事务。
认证请求可有利地包括针对特定事务需要什么等级的认证。例如,卖方可以指定谈及的事务要求的特定置信等级。如果不能够使得认证达到这个置信等级,则如下文所述,在用户没有进一步认证以提升置信等级或者卖方与服务器之间的认证条款没有变化的情况下,将不会发生事务。在下文中更加完整地讨论这些问题。
根据一个实施例,有利的是,可由卖方侧Java小程序或其它软件程序产生事务ID和认证请求。此外,事务ID和认证数据的传输可以包括使用传统的SSL技术(例如,1/2 SSL或换言之卖方侧认证的SSL)加密的一个或多个XML文档。
在用户***105接收到事务ID和认证请求后,用户***105从用户收集潜在包括当前生物测定信息的当前认证数据。在步骤1015,用户***105用认证引擎215的公钥至少对当前认证数据“B”和事务ID进行加密,并且将该数据传送到信任引擎110。所述传输优选包括至少用传统的1/2 SSL技术进行加密的XML文档。在步骤1020中,事务引擎205接收该传输,优选识别URL或URI中的数据格式或请求,并且将该传输转发至认证引擎215。
在步骤1015和1020中,卖方***120在步骤1025使用优选的全SSL技术向信任引擎110转发事务ID和认证请求。该通信还可以包括卖方ID,尽管还可以通过事务ID的非随机部分传送卖方标识。在步骤1030和1035,事务引擎205接收该通信,建立审计索引的记录,并且产生对要从数据存储设施D1到D4进行组装的用户的登记认证数据的请求。在步骤1040,储存器***700向认证引擎215传送与用户对应的登记认证数据的部分。在步骤1045,认证引擎215使用它的私钥对该传输进行解密并且将该登记认证数据与由用户提供的当前认证数据进行比较。
步骤1045的比较可有利地应用启发式上下文敏感认证(上文提及并且在下文更加详细讨论)。例如,如果接收到的生物测定信息没有完美匹配,则得到较低置信匹配。在特定实施例中,认证的置信等级针对事务的性质以及用户和卖方二者的期望进行平衡。在下文对此进行更加详细的讨论。
在步骤1050,认证引擎215在认证请求内填入步骤1045的比较的结果。根据本发明的一个实施例,认证请求填充有认证过程1000的是/否或者真/假结果。在步骤1055,被填充的认证请求返回到卖方以由卖方遵照行事,例如允许用户完成发起该认证请求的事务。根据一个实施例,确认消息被传递至用户。
基于上面的描述,有利的是,认证过程1000使敏感数据保持安全并且生成被构造为维护敏感数据的完整性的结果。例如,仅仅在认证引擎215内组装敏感数据。例如,登记认证数据在通过数据组装模块在认证引擎215内进行组装前是不可译解的,并且当前认证数据在通过传统的SSL技术和认证引擎215的私钥进行展开(unwrap)前是不可译解的。此外,发送至卖方的认证结果不包括敏感数据,并且用户甚至无法知道是否他或她生成了有效的认证数据。
尽管参照其优选和替代实施例公开了认证过程1000,但是本发明不限于此。相反,熟练技术人员将从这里的公开认识到认证过程1000的大量替代。例如,有利的是,卖方可由几乎任何请求应用(甚至是驻留在用户***105内的应用)替代。例如,在对文档进行解锁之前,客户机应用(例如,Microsoft Word)可使用应用程序接口(API)或密码API(CAPI)请求认证。另选地,邮件服务器、网络、蜂窝电话、个人或移动计算装置、工作站等都可以形成能够通过认证过程1000进行填充的认证请求。实际上,在提供上述信任的认证过程1000后,请求应用或装置可以访问或使用大量的电子或计算机装置或***。
此外,在认证失败的情况下,认证过程1000可以采用大量的替代过程。认证失败可以保持用户重新输入他或她的当前认证数据的相同事务ID和请求。如上所述,使用相同的事务ID使认证引擎215的比较器可以监视并限制针对特定事务的认证尝试的数目,由此建立更加安全的密码***100
此外,有利的是,认证过程1000可用于开发一流的单登录方案(例如,对敏感数据仓库(vault)进行解锁)。例如,成功或肯定认证可以向认证的用户提供自动访问几乎无限数目的***和应用的任何数目的口令的能力。例如,用户的认证可以向用户提供对与多个在线卖方关联的口令、登录、金融证明等、局域网、各种个人计算装置、互联网服务提供商、拍卖商、投资经纪商等的访问。通过采用敏感数据仓库,用户可以选择真正大的和随机的口令,这是因为他们不再需要通过关联来记住它们。而且,认证过程1000提供对它们的访问。例如,用户可以选择长度为20多位的随机字母数字串,而非与可记忆数据、名称等关联的字母数字串。
根据一个实施例,有利的是,与给定用户关联的敏感数据仓库可以存储在储存器210的数据存储设施内,或者被***并存储在储存器***700内。根据这个实施例,在肯定的用户认证后,信任引擎110将被请求的敏感数据(例如,适当的口令)提供给请求应用。根据另一个实施例,信任引擎110可以包括用于存储敏感数据仓库的单独***。例如,信任引擎110可以包括孤立的软件引擎,用于执行数据仓库功能并且形象化地驻留在信任引擎110的上述前端安全***的“后方”。根据这个实施例,在软件引擎从信任引擎110接收到指示肯定的用户认证的信号后,软件引擎提供被请求的敏感数据。
在另一个实施例中,数据仓库可由第三方***实现。与软件引擎实施例类似,有利的是,在第三方***从信任引擎110接收到指示肯定的用户认证的信号后,第三方***可以提供被请求的敏感数据。根据另一个实施例,数据仓库可以在用户***105上实现。在从信任引擎110接收到指示肯定的用户认证的信号后,用户侧软件引擎可以有利地提供上述数据。
尽管参照替代实施例公开了上述数据仓库,但是熟练技术人员将从这里的公开认识到它的大量的另外实施方式。例如,特定数据仓库可以包括一些或所有的上述实施例中的方面。此外,任何的上述数据仓库可以在不同的时刻采用一个或多个认证请求。例如,任一数据仓库可以对于每一个或多个事务定期地要求认证,对于每一个或多个会话以及对一个或多个网页或网站的每次访问要求认证,以一个或多个其它指定间隔等要求认证。
图11示出了根据本发明的实施例的各方面的签名过程1100的数据流。如图11所示,签名过程1100包括与在上文参照图10描述的认证过程1000类似的步骤。根据本发明的一个实施例,签名过程1100首先对用户进行认证,然后执行几个数字签名功能中的一个或多个(在下文进行更加详细的描述)。根据另一个实施例,有利的是,签名过程1100可以存储与之相关的数据,例如,消息或文档的哈希值等。有利的是,这个数据可用于审计或任何其它事件,例如,当参与方尝试抵赖事务时。
如图11所示,在认证步骤中,用户和卖方可以有利地对消息(例如,合同)达成一致。在签名过程中,有利的是,签名过程1100确保由用户签名的合同与由卖方提供的合同相同。因此,根据一个实施例,在认证过程中,卖方和用户在发送至认证引擎215的数据中包括消息或合同的各自副本的哈希值。通过仅仅采用消息或合同的哈希值,信任引擎110可有利地存储明显减小的数据量,从而提供更高效且成本效益高的密码***。此外,有利的是,存储的哈希值可与讨论的文档的哈希值进行比较,以确定讨论的文档是否与由任一方签名的文档匹配。确定文档是否和与事务相关的一个文档相同的能力提供了附加证据,其能够用于对抗由一方对事务抵赖的主张。
在步骤1103,认证引擎215组装登记认证数据,并且将它与由用户提供的当前认证数据进行比较。当认证引擎215的比较器指示登记认证数据与当前认证数据匹配时,认证引擎215的比较器还将由卖方提供的消息的哈希值与由用户提供的消息的哈希值进行比较。因此,有利的是,认证引擎215确保用户同意的消息与卖方同意的消息相同。
在步骤1105中,认证引擎215向密码引擎220发送数字签名请求。根据本发明的一个实施例,该请求包括消息或合同的哈希值。然而,熟练技术人员将从这里的公开认识到,密码引擎220实际上可以对任何类型的数据(包括但不限于视频、音频、生物测定、图像或文本)进行加密以形成期望的数字签名。返回到步骤1105,数字签名请求优选包括通过传统的SSL技术传送的XML文档。
在步骤1110中,认证引擎215向数据存储设施D1到D4的每个发送请求,从而使得数据存储设施D1到D4的每个发送它们各自的与签名方对应的一个或多个密码密钥的部分。根据另一个实施例,密码引擎220采用上文所述的互用性过程970的一些或所有的步骤,从而使得密码引擎220首先确定签名方要从储存器210或储存器***700请求的一个或多个适当密钥,并且采取行动以提供适当的匹配密钥。根据另一个实施例,有利的是,认证引擎215或密码引擎220可以请求与签名方关联并存储在储存器210或储存器***700中的一个或多个密钥。
根据一个实施例,签名方包括用户和卖方之一或二者。在这种情况下,有利的是,认证引擎215请求与用户和/或卖方对应的密码密钥。根据另一个实施例,签名方包括信任引擎110。在这个实施例中,信任引擎110在证明认证过程1000正确地认证了用户、卖方或二者。因此,认证引擎215请求信任引擎110的密码密钥(例如,属于密码引擎220的密钥)以执行数字签名。根据另一个实施例,信任引擎110执行数字公证类功能。在这个实施例中,签名方包括连同信任引擎110的用户、卖方或二者。因此,信任引擎110提供用户和/或卖方的数字签名,然后用它自身的数字签名指示用户和/或卖方得到正确认证。在这个实施例中,有利的是,认证引擎215可以请求与用户、卖方或二者对应的密码密钥的组装。根据另一个实施例,有利的是,认证引擎215可以请求与信任引擎110对应的密码密钥的组装。
根据另一个实施例,信任引擎110执行授权书类功能。例如,信任引擎110可以代表第三方对消息进行数字签名。在这种情况下,认证引擎215请求与第三方关联的密码密钥。根据这个实施例,有利的是,签名过程1100可以包括在允许授权书类功能之前对第三方进行认证。此外,认证过程1000可以包括对第三方约束(例如,规定何时以及在什么境况下可使用特定的第三方的签名的商业逻辑等)的检查。
基于上面的描述,在步骤1110中,认证引擎从与签名方对应的数据存储设施D1到D4请求密码密钥。在步骤1115中,数据存储设施D1到D4将它们各自的与签名方对应的密码密钥的部分传输至密码引擎220。根据一个实施例,上述传输包括SSL技术。根据另一个实施例,有利的是,上述传输可用密码引擎220的公钥进行超级加密。
在步骤1120中,密码引擎220组装签名方的上述密码密钥并且用其对消息进行加密,从而形成数字签名。在签名过程1100的步骤1125中,密码引擎220向认证引擎215发送该数字签名。在步骤1130中,认证引擎215将填充了的认证请求连同哈希处理的消息的副本以及数字签名发送至事务引擎205。在步骤1135中,事务引擎205将包括事务ID、认证是否成功的指示以及数字签名的收据传输至卖方。根据一个实施例,有利的是,上述传输可以包括信任引擎110的数字签名。例如,信任引擎110可以用它的私钥对该收据的哈希值进行加密,从而形成要附加到至卖方的传输的数字签名。
根据一个实施例,事务引擎205还向用户发送确认消息。尽管参照其优选和替代实施例公开了签名过程1100,但是本发明不限于此。相反,熟练技术人员将从这里的公开认识到签名过程1100的大量替代。例如,可以用诸如电子邮件应用的用户应用替换卖方。例如,用户可能希望利用他或她的数字签名对特定电子邮件进行数字签名。在这种实施例中,有利的是,整个签名过程1100中的传输可以仅仅包括消息的哈希值的一个副本。此外,熟练技术人员将从这里的公开认识到,大量的客户机应用可以请求数字签名。例如,客户机应用可以包括字处理器、电子数据表、电子邮件、语音邮件、对限制***区域的访问等。
此外,熟练技术人员将从这里的公开认识到,有利的是,签名过程1100的步骤1105到1120可以采用图9B的互用性过程970的一些或所有的步骤,从而提供例如需要处理不同签名类型下的数字签名的不同密码***之间的互用性。
图12示出了根据本发明的实施例的各方面的加密/解密过程1200的数据流。如图12所示,通过使用认证过程1000对用户进行认证,开始解密过程1200。根据一个实施例,认证过程1000在认证请求中包括同步会话密钥。例如,在传统的PKI技术中,熟练技术人员明白,使用公钥和私钥的加密或解密的计算强度大并且可能要求大量的***资源。然而,在对称密钥密码***或消息的发送方和接收方共享用于对消息进行加密和解密的一个公同密钥的***中,数学运算明显更简单并更快速。因此,在传统的PKI技术中,消息的发送方将产生同步会话密钥并且使用更简单更快速的对称密钥***对消息进行加密。然后,发送方用接收方的公钥对会话密钥进行加密。加密的会话密钥将附加到同步加密的消息并且这两个数据都被发送至接收方。接收方使用他或她的私钥对会话密钥进行解密,然后使用会话密钥对消息进行解密。基于上面的描述,更简单更快速的对称密钥***用于大部分的加密/解密处理。因此,在解密过程1200中,解密有利地假定已利用用户的公钥对同步密钥进行了加密。因此,如上所述,加密的会话密钥包括在认证请求中。
返回解密过程1200,在步骤1205中用户已经得到认证后,认证引擎215将加密的会话密钥转发至密码引擎220。在步骤1210中,认证引擎215向数据存储设施D1到D4的每个转发请求用户的密码密钥数据的请求。在步骤1215中,每个数据存储设施D1到D4将密码密钥的它们各自的部分传输至密码引擎220。根据一个实施例,用密码引擎220的公钥对上述传输进行加密。
在解密过程1200的步骤1220中,密码引擎220组装密码密钥并且用其对会话密钥进行解密。在步骤1225中,密码引擎将会话密钥转发至认证引擎215。在步骤1227中,认证引擎215填充包括解密的会话密钥的认证请求,并且将填充了的认证请求发送至事务引擎205。在步骤1230中,事务引擎205将认证请求连同会话密钥转发至请求应用或卖方。然后,根据一个实施例,请求应用或卖方使用会话密钥对加密的消息进行解密。
尽管参照其优选和替代实施例公开了解密过程1200,但是熟练技术人员将从这里的公开认识到解密过程1200的大量替代。例如,解密过程1200可以在同步密钥加密之前并且依赖于全公钥技术。在这种实施例中,请求应用可以将整个消息发送至密码引擎220,或者可以采用一些类型的压缩或可逆哈希法以将消息发送至密码引擎220。熟练技术人员从本文公开还将认识到上述通信可有利地包括以SSL技术打包的XML文档。
加密/解密过程1200还提供文档或其它数据的加密。因此,在步骤1235中,请求应用或卖方可有利地向信任引擎110的事务引擎205发送对用户的公钥的请求。请求应用或卖方产生这个请求,因为请求应用或卖方例如使用用户的公钥对将用于对文档或消息进行加密的会话密钥进行加密。如在登记过程900中所述,事务引擎205例如将用户的数字证书的副本存储在海量存储器225中。因此,在加密过程1200的步骤1240中,事务引擎205从海量存储器225请求用户的数字证书。在步骤1245中,海量存储器225将与用户对应的数字证书发送至事务引擎205。在步骤1250中,事务引擎205将数字证书发送至请求应用或卖方。根据一个实施例,加密过程1200的加密部分不包括用户的认证。这是因为请求卖方仅需要用户的公钥,而不请求任何敏感数据。
熟练技术人员将从这里的公开认识到,如果特定用户没有数字证书,信任引擎110可采用一些或全部的登记过程900以为该特定用户产生数字证书。然后,信任引擎110可启动加密/解密过程1200,并由此提供适当的数字证书。此外,熟练技术人员将从这里的公开认识到,加密/解密过程1200的步骤1220和1235到1250可有利地采用图9B的互用性过程的一些或所有的步骤,从而提供例如可能需要处理加密的不同密码***之间的互用性。
图13示出了根据本发明的另一个实施例的各方面的信任引擎***1300的简化框图。如图13所示,信任引擎***1300包括多个不同的信任引擎1305、1310、1315和1320。为了便于更加全面理解本发明,图13示出了具有事务引擎、储存器和认证引擎的每个信任引擎1305、1310、1315和1320。然而,熟练技术人员认识到,每个事务引擎可有利地包括参照图1到图8公开的部件和通信通道中的一些、组合或全部。例如,一个实施例可有利地包括具有一个或多个事务引擎、储存器以及密码服务器或它们的任何组合的信任引擎。
根据本发明的一个实施例,信任引擎1305、1310、1315和1320的每个在地理上分离,从而例如信任引擎1305可以驻留在第一位置,信任引擎1310可以驻留在第二位置,信任引擎1315可以驻留在第三位置,信任引擎1320可以驻留在第四位置。有利的是,上述地理分离减小了***响应时间同时提高整个信任引擎***1300的安全性。
例如,当用户登录到密码***100时,用户可能离第一位置最近并且可能希望得到认证。如参照图10所述,为了得到认证,用户提供当前认证数据(例如,生物测定等等),并且当前认证数据被与该用户的登记认证数据进行比较。因此,根据一个例子,有利的是,用户向地理上最近的信任引擎1305提供当前认证数据。信任引擎1305的事务引擎1321然后将当前认证数据转发至也驻留在第一位置的认证引擎1322。根据另一个实施例,事务引擎1321将当前认证数据转发至信任引擎1310、1315或1320的认证引擎中的一个或多个。
事务引擎1321还向例如信任引擎1305到1320的每个的储存器请求登记认证数据的组装。根据这个实施例,每个储存器将它的登记认证数据部分提供给信任引擎1305的认证引擎1322。认证引擎1322然后利用例如来自前两个储存器的加密的数据部分进行响应,并且将登记认证数据组装成译解的形式。认证引擎1322将登记认证数据与当前认证数据进行比较并且将认证结果返回到信任引擎1305的事务引擎1321。
基于以上内容,信任引擎***1300采用多个地理分离的信任引擎1305到1320中的最接近的一个执行认证过程。根据本发明的一个实施例,有利的是,可以在在用户***105、卖方***120或认证机构115中的一个或多个上执行的客户机侧Java小程序处执行到最接近的事务引擎的信息路由。根据一个替代实施例,可以采用更加精密的判断过程以从信任引擎1305到1320进行选择。例如,该判断可以基于给定信任引擎的可用性、操作性、连接速度、负载、性能、地理接近、或者它们的组合。
这样,信任引擎***1300降低它的响应时间,同时保持与地理上远离的数据存储设施(例如,参照图7描述的那些数据存储设施,其中,每个数据存储设施存储敏感数据的随机化部分)关联的安全性优点。例如,在例如信任引擎1315的储存器1325处的安全危害不一定危害信任引擎***1300的敏感数据。这是因为储存器1325仅仅包含不可译解的随机化数据,在没有更多数据的情况下它们是完全无用的。
根据另一个实施例,有利的是,信任引擎***1300可以包括与认证引擎类似地布置的多个密码引擎。密码引擎可有利执行密码功能,例如,参照图1到图8公开的那些密码功能。根据另一个实施例,信任引擎***1300可有利地用多个密码引擎替代多个认证引擎,从而执行诸如参照图1到图8公开的密码功能的密码功能。根据本发明的另一个实施例,信任引擎***1300可以用具有在上文公开的认证引擎、密码引擎或它们二者的一些或所有的功能的引擎,来替代各多个认证引擎。
尽管参照其优选和替代实施例公开了信任引擎***1300,但是熟练技术人员将认识到,信任引擎***1300可以包括信任引擎1305到1320的部分。例如,信任引擎***1300可以包括一个或多个事务引擎、一个或多个储存器、一个或多个认证引擎、一个或多个密码引擎、或者它们的组合。
图14示出了根据本发明的另一个实施例的各方面的信任引擎***1400的简化框图。如图14所示,信任引擎***1400包括多个信任引擎1405、1410、1415和1420。根据一个实施例,信任引擎1405、1410、1415和1420的每个包括参照图1到图8公开的信任引擎110的一些或所有的部件。根据这个实施例,当用户***105、卖方***120或认证机构115的客户机侧Java小程序与信任引擎***1400进行通信时,这些通信被发送至信任引擎1405到1420的每个的IP地址。另外,信任引擎1405、1410、1415和1420的每个的每个事务引擎的行为与参照图13公开的信任引擎1305的事务引擎1321的行为类似。例如,在认证过程中,信任引擎1405、1410、1415和1420的每个的每个事务引擎将当前认证数据发送至它们各自的认证引擎并且发送对存储在信任引擎1405到1420的每个的每个储存器中的随机化数据进行组装的请求。图14没有示出所有这些通信,因为这种图示将变得极度复杂。从认证过程继续,储存器的每个然后将它的随机化数据的部分发送至信任引擎1405到1420的每个的每个认证引擎。信任引擎的每个的每个认证引擎利用它的比较器确定当前认证数据是否与由信任引擎1405到1420的每个的储存器提供的登记认证数据匹配。根据这个实施例,由每个认证引擎进行的比较的结果然后被发送至其它三个信任引擎的冗余模块。例如,来自信任引擎1405的认证引擎的结果被发送至信任引擎1410、1415和1420的冗余模块。因此,信任引擎1405的冗余模块同样地从信任引擎1410、1415和1420接收认证引擎的结果。
图15示出了图14的冗余模块的框图。该冗余模块包括比较器,该比较器被构造为从三个认证引擎接收认证结果并且将该结果发送至第四个信任引擎的事务引擎。该比较器对来自三个认证引擎的认证结果进行比较,并且如果这些结果中的两个一致,则比较器得出认证结果应该与两个一致认证引擎的认证结果匹配。这个结果然后被发送回与不与所述三个认证引擎关联的信任引擎对应的事务引擎。
基于上面的描述,冗余模块从来自优选与该冗余模块的信任引擎在地理上远离的认证引擎接收的数据,确定认证结果。通过提供这种冗余功能,信任引擎***1400确保对信任引擎1405到1420之一的认证引擎的危害不足以危害该特定信任引擎的冗余模块的认证结果。熟练技术人员将认识到,信任引擎***1400的冗余模块功能还可以应用到信任引擎1405到1420的每个的密码引擎。然而,在图14中没有示出这种密码引擎通信以避免复杂性。此外,熟练技术人员将认识到,针对图15的比较器的大量的替代认证结果冲突解决算法适用于本发明。
根据本发明的另一个实施例,有利的是,信任引擎***1400在密码比较步骤内利用冗余模块。例如,有利的是,可以在特定事务期间由一方或多方提供的文档的哈希比较过程中实现参照图14和图15公开的一些或所有的上述冗余模块。
尽管针对特定的优选和替代实施例描述了上述发明,但是基于这里的公开本领域普通技术人员将想到其它实施例。例如,信任引擎110可以发放短期证书,其中,私有密码密钥发布给用户达到预定时长。例如,当前证书标准包括可以设置为在预定时间量后过期的有效性字段。因此,信任引擎110可以向用户发布私钥,其中,该私钥例如在24小时内有效。根据这种实施例,有利的是,信任引擎110可以发放与特定用户关联的新的密码密钥对,然后发布该新的密码密钥对的私钥。然后,一旦发布了私有密码密钥,信任引擎110使这种私钥的任何内部有效使用立即过期,这是因为它不再能由信任引擎110保护。
此外,熟练技术人员将认识到,密码***100或信任引擎110可以包括识别任何类型的装置(例如但不限于膝上型电脑、蜂窝电话、网络、生物测定装置等)的能力。根据一个实施例,这种识别可来自在对特定服务的请求(例如,对导致访问或使用的认证的请求、对密码功能的请求等)中提供的数据。根据一个实施例,上述请求可以包括唯一装置标识符,例如,处理器ID。另选地,该请求可以包括特定可识别数据格式的数据。例如,移动和卫星电话常常不包括对全X509.v3重加密证书的处理能力,因此不请求它们。根据这个实施例,信任引擎110可以识别提供的数据格式的类型,并且仅仅以同样方式进行回应。
在上述的***的附加方面中,可以使用将在下文描述的各种技术提供上下文敏感认证。例如如图16所示的上下文敏感认证提供不仅评估当用户尝试认证自身时由用户发送的实际数据还评估围绕该数据的产生和传递的境况的可能性。这些技术还可以支持用户与信任引擎110之间或者卖方与信任引擎110之间的事务特定信任仲裁,这将在下面描述。
如上所述,认证是证明用户是他说他是的那个人的过程。通常,认证要求向认证管理机构展示一些事实。本发明的信任引擎110代表用户必须向其认证自己的机构。用户必须通过以下方式向信任引擎110展示他就是他说他是的那个人:知道仅该用户应该知道的事物(基于知识的认证),具有仅该用户应该具有的事物(基于令牌的认证),或者通过成为仅该用户应该是的事物(基于生物测定的认证)。
基于知识的认证的例子包括但不限于口令、PIN码或者密码锁。基于令牌的认证的例子包括但不限于房屋钥匙、物理***、驾照或者特定电话号码。基于生物测定的认证的例子包括但不限于指纹、笔迹分析、面部扫描、手扫描、耳扫描、虹膜扫描、血管模式、DNA、语音分析或者视网膜扫描。
每种类型的认证具有特定的优点和缺点,并且均提供不同的安全等级。例如,与偷听某人的口令并且重复它相比,建立与他人的指纹匹配的假指纹一般更加困难。每种类型的认证还要求认证机构知道不同类型的数据从而使用该形式的认证来验证某人。
本文所用的“认证”广义地是指验证某人的身份为他说他是的那个人的全部过程。“认证技术”是指基于特定知识、物理令牌、或者生物测定读数的特定类型的认证。“认证数据”是指发送至或以其它方式向认证机构进行展示以建立身份的信息。“登记数据”是指初始提交给认证机构以建立与认证数据进行比较的基线的数据。“认证实例”是指与根据认证技术进行认证的尝试关联的数据。
参照以上图10描述了对用户进行认证的过程中涉及的内部协议和通信。在如图10的步骤1045所示的比较步骤内发生这个过程的进行上下文敏感认证的部分。这个步骤在认证引擎215内发生,并且涉及对从储存器210取回的登记数据410进行组装并且将由用户提供的认证数据与它进行比较。在图16中示出并且在下文描述这个过程的一个特定实施例。
在图16的步骤1600中,认证引擎215接收由用户提供的当前认证数据和从储存器取回的登记数据。这两组数据可以包含与不同的认证技术有关的数据。在步骤1605中,认证引擎215将与每个个体认证实例关联的认证数据进行分离。这是必要的,从而将认证数据与用户的登记数据的适当子集进行比较(例如,指纹认证数据应该与指纹登记数据而非口令登记数据进行比较)。
通常,对用户进行认证涉及一个或多个个体认证实例,这取决于用户可使用哪些认证技术。这些方法受到在用户的登记过程内由用户提供的登记数据的限制(如果用户当登记时没有提供视网膜扫描,则他将不能够使用视网膜扫描认证自己)以及受到用户当前可用的装置的限制(例如,如果用户在他的当前位置没有指纹读取器,则指纹认证是不实际的)。在一些情况下,单个认证实例足以对用户进行认证,然而,在某些境况下,可以使用多个认证实例的组合从而对于特定事务对用户进行更确信的认证。
每个认证实例包括与特定认证技术(例如,指纹、口令、智能卡等)有关的数据以及针对该特定技术的围绕数据的捕捉和传递的境况。例如,尝试经由口令进行认证的特定实例不仅将产生与口令自身有关的数据,还将产生与该口令尝试有关的称为“元数据”的境况数据。这个境况数据包括诸如以下的信息:特定认证实例发生的时间、从其传递认证信息的网络地址、以及本领域技术人员已知的关于认证数据的起源可以确定的任何其它信息(连接的类型、处理器序列号等)。
在许多情况下,仅仅少量的境况元数据可用。例如,如果用户位于使用掩蔽起源计算机的地址的代理服务器或网络地址翻译或另一技术的网络上,则仅仅可以确定代理服务器或路由器的地址。类似地,在许多情况下,例如处理器序列号的信息由于使用的硬件或操作***的限制(***运营商禁用这些特征)或者用户的***与信任引擎110之间的连接的其它限制而不可用。
如图16所示,一旦在步骤1605中提取并分离了在认证数据内表示的各个认证实例,认证引擎215针对每个实例的指示用户是他宣称的那个人的可靠性进行评估。通常,基于几个因素确定单个认证实例的可靠性。可将它们分组为在步骤1610中评估的和与认证技术关联的可靠性有关的因素以及在步骤1815中评估的与提供的特定认证数据的可靠性有关的因素。第一组包括但不限于正使用的认证技术的固有可靠性以及与该方法一起使用的登记数据的可靠性。第二组包括但不限于登记数据与由认证实例提供的数据之间的匹配度以及与该认证实例关联的元数据。这些因素中的每一个可以独立于其它因素而变化。
认证技术的固有可靠性基于冒名顶替者提供他人的正确数据的难度以及认证技术的整体误差率。对于基于口令和知识的认证方法,这种可靠性常常是相当低的,这是因为无法防止某人向另一个人泄露他们的口令以及该第二人使用该口令。即使是更加复杂的基于知识的***仍可能仅具有中等可靠性,这是因为知识从一个人传递到另一人是相当容易的。基于令牌的认证(例如,具有正确智能卡或者使用特定终端执行认证)在独自使用时的可靠性同样低,这是因为不能够保证正当的人拥有正确令牌。
然而,生物测定技术的固有可靠性更高,因为一般难以以方便的方式(甚至是有意地)向他人提供使用你的指纹的能力。由于破坏生物测定认证技术更加困难,所以生物测定方法的固有可靠性通常高于纯粹基于知识或令牌的认证技术。然而,即使是生物测定技术也会有一些产生误接受或误拒绝的情况。通过相同生物测定技术的不同实施方式的不同可靠性,可以反映出这些情况。例如,由一个公司提供的指纹匹配***可以提供比由一个不同公司提供的指纹匹配***更高的可靠性,因为一个公司使用了更高质量的光学部件或更好的扫描分辨率或者减少误接受或误拒绝的发生的一些其它改进。
要注意,该可靠性可以通过不同方式进行表示。期望以可由启发法530和认证引擎215的算法用来计算每个认证的置信等级的一些度量来表示可靠性。表示这些可靠性的一个优选方式是百分比或分数。例如,可能向指纹被分配97%的固有可靠性,而可能仅向口令分配50%的固有可靠性。本领域技术人员将认识到,这些特定值仅仅是示例性的并且可以在特定实施方式之间变化。
必须评估可靠性的第二因素是登记的可靠性。这是上文提及的“分级登记”过程的一部分。该可靠性因素反映在初始登记过程内提供的标识的可靠性。例如,如果个人最初以他们用身体向公证人或其它公共官员生成他们的身份的证据的方式进行登记并且此时记录并公证登记数据,则该数据的可靠性要强于经由网络在登记过程中提供并且仅通过数字签名或不真实依赖于该个人的其它信息进行担保的数据。
具有不同可靠性等级的其它登记技术包括但不限于:在信任引擎110运营商的物理办公室进行登记、在用户的雇佣地点进行登记、在邮局或护照办公室进行登记、通过附属或信任方向信任引擎110运营商进行登记、登记身份还没有被识别为真实个人的匿名或笔名登记、以及本领域知道的其它方式。
这些因素反映信任引擎110与在登记过程期间提供的标识的源之间的信任。例如,如果在提供身份证明的初始过程中与雇主关联地执行登记,则可认为这个信息对于公司内的用途是非常可靠的,但是对于政府机构或竞争者而言信任程度较低。因此,由这些其它组织的每个操作的信任引擎可以为这个登记分配不同的可靠性等级。
类似地,在网络上提交但是通过在先前向同一信任引擎110登记过程中提供的其它信任数据进行认证的附加数据可以被认为与原始登记数据一样可靠,即使后一数据是在开放网络上提交的。在这种境况下,随后的公证将有效地提高与原始登记数据关联的可靠性的等级。这样,例如,通过向某登记官员展示与登记的数据匹配的个人的身份,匿名或笔名登记然后可被提升至全登记。
通常,上述的可靠性因素是在任何特定认证实例之前确定的值。这是因为它们基于登记和技术而非实际认证。在一个实施例中,基于这些因素产生可靠性的步骤包括查找针对这个特定认证技术的先前确定的值以及用户的登记数据。在本发明的有利实施例的另一个方面中,这些可靠性可以包括在登记数据自身内。这样,这些因素连同从储存器210发送的登记数据被自动传递给认证引擎215。
尽管通常可以在任何个体认证实例之前确定这些因素,但是它们仍然对针对该用户使用该特定认证技术的每个认证实例具有影响。另外,尽管这些值可以随时间而变化(例如,如果用户以更可靠的方式重新登记),但是它们并不取决于认证数据自身。通过对比,与单个特定实例的数据关联的可靠性因素对于每个场合会变化。在步骤1815中,针对每个新的认证必须对下述的这些因素进行评估从而产生可靠性得分。
认证数据的可靠性反映了在特定认证实例中由用户提供的数据与在认证登记过程内提供的数据之间的匹配。这是认证数据是否与用户所宣称的个人的登记数据匹配的基本提问。通常,当数据不匹配时,认为用户没有得到成功认证,并且认证失败。对此进行评估的方式可以根据使用的认证技术而改变。通过如图5所示的认证引擎215的比较器515功能执行这种数据的比较。
例如,通常以二元方式对口令的匹配进行评估。换言之,口令要么是完全匹配,要么是失败匹配。如果口令不是完全正确的,即使是部分匹配(接近于正确口令的口令),通常也是不可以接受的。因此,当对口令认证进行评估时,由比较器515返回的认证的可靠性通常要么是100%(正确)要么是0%(错误),而不存在中间值的可能性。
通常,与口令的规则类似的规则应用于基于令牌的认证方法(例如,智能卡)。这是因为具有一具有相似标识符或者与正确智能卡类似的智能卡,仍然与具有任何其它不正确令牌一样是错误的。因此,令牌同样趋于二元认证:用户要么具有正确令牌,要么没有。
然而,某些类型的认证数据(例如,问卷和生物测定)通常不是二元认证者。例如,指纹可以以不同程度与基准指纹进行匹配。在一定程度上,这可能是由于在初始登记过程或者在随后的认证中捕捉的数据的质量的变化。(指纹可能被弄脏,或者人在特定手指上具有治疗伤疤或烧伤)。在其它情况下,由于信息自身有些可变并且基于模式匹配,所以数据不会那么完美地匹配。(由于背景噪声、或者记录语音的环境的声学或者由于人感冒,语音分析看起来接近但并非相当正确)。最终,在大量数据进行比较的情况下,就会有如下情况:很多数据匹配良好,但是一些数据不匹配。(十个提问的问卷会得到针对个人提问的八个正确回答以及两个不正确回答)。针对这些理由中的任何理由,期望由比较器515向登记数据与特定认证实例的数据之间的匹配分配一个部分匹配值。这样,例如,可以将指纹说成是85%匹配,将声纹说成是65%匹配,将问卷说成是80%匹配。
由比较器515生成的这种测量(匹配度)是表示认证是否正确的基本问题的因素。然而,如上所述,这仅仅是可用于确定给定的认证实例的可靠性的因素之一。还要注意,即使可以确定某部分程度的匹配,最终,希望基于部分匹配提供二元结果。在另一种操作模式下,还可以基于匹配度是否通过特定阈值的匹配水平,将部分匹配视为二元的,即,要么完美(100%),要么失败(0%)。这种过程可用于向***提供简单的通过/失败等级的匹配,该***否则以其它方式生成部分匹配。
在评估给定的认证实例的可靠性时要考虑的另一个因素涉及提供针对这个特定实例的认证数据的境况。如上所述,这些境况是指与特定认证实例关联的元数据。这可以包括但不限于如下信息:能够进行确定的认证者的网络地址、认证的时间、认证数据的传输模式(电话线、蜂窝电话、网络等)、以及认证者的***的序号。
这些因素可用于生成由用户通常请求的认证的类型的概况。然后,这个信息能够用于以至少两种方式评估可靠性。一种方式是考虑用户是否正在以与该用户的认证的正常概况一致的方式请求认证。如果用户通常在工作日(当她工作时)向一个网络地址进行认证请求并且在晚间或周末(当她在家时)向一个不同的网络地址进行认证请求,则在工作日从家庭地址发生的认证是较不可靠的,因为它在正常认证概况之外。类似地,如果用户通常使用指纹生物测定并且在夜间进行认证,则在白天仅仅使用口令发起的认证是较不可靠的。
境况元数据可用于评估认证的实例的可靠性的另外方式是确定境况提供认证者是它宣称的个人有多么确实。例如,如果认证来自已知与用户关联的序号的***,则这是用户是他们宣称的人的良好境况指示符。相反地,如果认证来自已知位于洛杉矶的网络地址而用户已知位于伦敦,则这是该认证基于其境况而较不可靠的指示。
当用户与卖方***或信任引擎110进行交互时,cookie或其它电子数据可以安置在用户使用的***上。这个数据写入到用户的***的存储器并且可以包含可由Web浏览器或用户***上的其它软件读取的标识。如果在会话之间这个数据被允许驻留在用户***上(“持久cookie”),则在特定用户的认证过程中,该数据可以与认证数据一起发送,作为这个***的过去使用的进一步证据。实际上,给定实例的元数据(尤其是持久cookie)可以自身形成一种基于令牌的认证器。
一旦如上所述在步骤1610和步骤1615中分别产生基于认证实例的技术和数据的适当的可靠性因素,在步骤1620中它们用于产生提供的认证实例的总可靠性。这样做的一种方式是以百分比简单表示每个可靠性,然后将它们一起相乘。
例如,假定:根据用户的过去认证概况从对于用户的家庭计算机完全已知的网络地址送入认证数据(100%),使用的技术是指纹识别(97%),初始指纹数据由用户的雇主通过信任引擎110进行登记(90%),认证数据与登记数据中的原始指纹模板之间的匹配非常好(99%)。这个认证实例的总可靠性于是可以被计算为这些可靠性的乘积(100%×97%×90%×99%=86.4%可靠性)。
这个计算的可靠性表示一个认证的实例的可靠性。还可以使用不同地对待不同可靠性因素的技术,例如,通过使用向每个可靠性因素分配不同权重的公式,来计算一个认证实例的总可靠性。另外,本领域技术人员将认识到,使用的实际值可以表示与百分比不同的值并且可以使用非算术***。一个实施例可以包括由认证请求者用来设置每个因素的权重和用于建立认证实例的总可靠性的算法的模块。
如步骤1620所示,认证引擎215可以使用以上技术及其变型来确定一个认证实例的可靠性。然而,在许多认证情形下,它对于要同时提供的多个认证实例是有用的。例如,当使用本发明的***尝试对自身进行认证时,用户可以提供用户标识、指纹认证数据、智能卡和口令。在这种情况下,三个独立的认证实例被提供给信任引擎110以进行评估。进行到步骤1625,如果认证引擎215确定由用户提供的数据包括超过一个认证实例,则如步骤1630所示将依次选择每个实例并且如上所述在步骤1610、1615和1620中进行评估。
要注意,许多所述的可靠性因素在这些实例中的一个与另一个之间不同。例如,这些技术的固有可靠性以及在认证数据与登记数据之间提供的匹配度很可能不同。另外,用户可能已经在不同时间在不同境况下针对这些技术的每一个提供了登记数据,针对这些实例的每一个也提供不同的登记可靠性。最终,即使这些实例中的每一个实例的数据被提交的境况相同,这些技术的使用也均可以不同地适应用户的概况。(例如,用户可以正常使用他们的口令和指纹,而不是他们的智能卡)。
结果,这些认证实例的每一个的最终可靠性会彼此不同。然而,通过一起使用多个实例,认证的总置信等级将趋于增大。
一旦认证引擎针对在认证数据中提供的所有的认证实例执行了步骤1610到1620,在步骤1635中使用每个实例的可靠性,评估总认证置信等级。将各个认证实例可靠性组合成认证置信等级的这个过程可以通过与生成的各个可靠性相关的各种方法进行模拟,并且还可以解决这些认证技术中的一些之间的特定交互。(例如,与一个口令甚至是例如基本语音分析的相当弱的生物测定相比,诸如口令的多个基于知识的***可以生成较低的置信度)。
认证引擎215可以将多个并发认证实例的可靠性进行组合以产生最终置信等级的一个方式是将每个实例的不可靠性相乘以达到总不可靠性。通常,不可靠性是可靠性的互补百分比。例如,84%可靠的技术是16%不可靠的。生成86%、75%和72%的可靠性的上述的三个认证实例(指纹、智能卡、口令)分别将具有对应的(100-86)%、(100-75)%和(100-72)%、或者14%、25%和28%的不可靠性。通过将这些不可靠性相乘,我们得到14%×25%×28%的累积不可靠性,即0.98%的不可靠性,这对应于99.02%的可靠性。
在另一种操作模式中,可以在认证引擎215内应用附加因素和启发法530以解决各种认证技术的依存性。例如,如果某人未经授权地访问了特定家庭计算机,则他们很可能也可访问该地址的电话线。因此,基于发起电话号码以及认证***的序号的认证不会使认证的总置信度增加多少。然而,基于知识的认证很大程度上独立于基于令牌的认证(即,如果某人盗取了你的蜂窝电话或钥匙,他们在没有你的PIN或口令的情况下不大可能知道你的PIN或口令)。
另外,不同卖方或其它认证请求者可能希望对认证的不同方面进行不同的加权。这可以包括使用单独的加权因子或用于计算各个实例的可靠性的算法以及使用不同方式来评估具有多个实例的认证事件。
例如,某些类型的事务的卖方(例如公司电子邮件***)希望缺省地主要基于启发法和其它境况数据进行认证。因此,他们可以对与元数据和与围绕认证事件的境况关联的其它概况相关信息相关的因素施加高权重。通过与在工作时间内用户登录到正确机器相比不从用户要求更多,这种布置可用于减轻正常工作时间内用户的负担。然而,另一个卖方可能对来自特定技术(例如指纹匹配)的认证进行最重加权,这是由于这种技术最适于出于特定卖方的目的进行认证的策略判断。
在一种操作模式下,在产生认证请求时由请求者定义这些不同的权重,并且这些不同的权重与认证请求一起发送至信任引擎110。在另一种操作模式下,在初始登记过程内针对认证请求者还可将这些选项设置为偏好并且存储在认证引擎内。
一旦认证引擎215针对提供的认证数据生成了认证置信等级,在步骤1640中这个置信等级用于完成认证请求,并且这个信息从认证引擎215转发至事务引擎205,以包含在去往认证请求者的消息内。
上述的过程仅仅是示例性的,本领域技术人员将认识到:这些步骤不需要按照所示顺序执行,或者仅希望执行某些步骤,或者希望步骤的各种组合。另外,如果境况允许,某些步骤(例如,提供的每个认证实例的可靠性的评估)可以彼此并行地执行。
在本发明的另一个方面中,提供了一种适应当由上述过程生成的认证置信等级无法满足要求认证的卖方或其它方的要求的信任等级时的情况的方法。在例如在提供的置信等级与希望的信任等级之间存在差距的境况下,信任引擎110的运营商能够向一方或双方提供提供替代数据或要求以弥合这个信任差距的机会。这里,这个过程将称作“信任仲裁”。
信任仲裁可以发生在以上参照图10和图11描述的密码认证的框架内。如那里所示,卖方或其它方将请求与特定事务关联的特定用户的认证。在一种境况下,卖方简单地请求认证(要么肯定,要么否定),并且在从用户接收到适当数据后,信任引擎110将提供这种二元认证。在例如这些的境况下,基于在信任引擎110内设置的偏好,确定为了保护肯定认证所需的置信度。
然而,卖方也可以请求特定的信任等级以完成特定事务。这个所需的等级可包括在认证请求内(例如,对这个用户认证达到98%置信度),或者可由信任引擎110基于与事务关联的其它因素确定(即,针对这个事务适当地对这个用户进行认证)。一个这种因素可以是事务的经济值。针对具有较大经济值的事务,可能需要更高的信任度。相似地,针对具有高风险度的事务,可能需要高的信任度。相反,针对低风险或者低值的事务,卖方或其它认证请求者可能要求较低的信任等级。
信任仲裁的过程发生于在图10的步骤1050中信任引擎110接收认证数据的步骤和在图10的步骤1055中将认证结果返回到卖方的步骤之间。在这些步骤之间,如图17所示发生导致信任等级的评估和潜在信任仲裁的过程。在执行简单的二元认证的境况下,图17所示的过程缩减为如上面参照图10所述使事务引擎205直接将提供的认证数据与识别的用户的登记数据进行比较,将任何差别标记为否定认证。
如图17所示,在步骤1050中接收数据后的第一个步骤是在步骤1710中针对这个特定事务由事务引擎205确定肯定认证所需的信任等级。这个步骤可通过几种不同方法之一执行。当进行认证请求时,认证请求者可以对信任引擎110指定所需的信任等级。认证请求者还可以预先设置偏好,这个偏好存储在可由事务引擎205访问的储存器210或其它存储器内。然后,每当这个认证请求者进行认证请求时,可以读取和使用这个偏好。该偏好还可以与特定用户进行关联,作为使得总是需要特定的信任等级以对那个用户进行认证的安全性措施,该用户偏好存储在可由事务引擎205访问的储存器210或其它存储介质中。所需等级还可以由事务引擎205或认证引擎215基于在认证请求中提供的信息(例如,要认证的事务的值和风险等级)而导出。
在一种操作模式下,策略管理模块或当产生认证请求时使用的其它软件用于为事务的认证指定所需的信任度。这可以用于提供当基于在策略管理模块内指定的策略分配所需的信任等级时要遵守的一系列规则。一种有利的操作模式是将这种模块包括在卖方的Web服务器内,以针对由卖方的Web服务器发起的事务适当地确定所需的信任等级。这样,可以根据卖方的策略向来自用户的事务请求分配所需的信任等级,并且这种信息可以与认证请求一起转发至信任引擎110。
这个所需的信任等级与卖方希望具有的、个人认证实际上是他将自己识别成的那个人的确定度相关。例如,如果事务是卖方希望合理的确定度的事务(由于货物是转手的),则卖方可以要求85%的信任等级。对于卖方仅对用户进行认证以允许他观看会员内容或在聊天室实践特权的情形,不利风险足够小从而卖方仅要求60%的信任等级。然而,为了参与上万美元的生产合同,卖方可以要求99%或更高的信任等级。
这个所需的信任等级表示用户必须对自己进行认证以完成事务的度量。例如如果所需的信任等级是85%,则用户必须向信任引擎110提供足以使信任引擎110以85%置信度说用户是他们说他们是的那个人的认证。这是所需的信任等级与生成肯定认证(达到卖方的满意)或可能的信任仲裁的认证置信等级之间的平衡。
如图17所示,在事务引擎205接收到所需的信任等级后,在步骤1720中将所需的信任等级与认证引擎215针对当前认证计算的认证置信等级(参照图16所讨论的)进行比较。在步骤1730中如果认证置信等级高于事务的所需的信任等级,则过程移至步骤1740,在步骤1740中,事务引擎205针对这个事务生成肯定认证。表示此意的消息然后将被***到认证结果中并且由事务引擎205返回到卖方,如在步骤1055中所示(见图10)。
然而,如果在步骤1730中认证置信等级没有满足所需的信任等级,则对于当前认证存在置信度差距,并且在步骤1750中进行信任仲裁。在下文参照图18更加完全地描述信任仲裁。下述的这个过程在信任引擎110的事务引擎205内发生。由于执行信任仲裁不需要认证或其它密码操作(除了事务引擎205与其它部件之间的SSL通信所需的那些以外),所以可以在认证引擎215之外执行该过程。然而,如下所述,认证数据或其它密码或认证事件的任何重新评估将要求事务引擎205向认证引擎215重新提交适当的数据。本领域技术人员将认识到,信任仲裁过程可以代替地构造为部分或全部地在认证引擎215自身内发生。
如上所述,信任仲裁是信任引擎110对卖方与用户之间的协商进行调停以尝试适当地保证肯定认证的过程。如在步骤1805所示,事务引擎205首先确定当前情况是否适于信任仲裁。这可以基于认证的境况(例如,这个认证是否已经经过多个循环的仲裁)以及卖方或者用户的偏好进行确定,这将在下文进一步进行讨论。
在不可以仲裁的这些境况下,该过程进行到步骤1810,在步骤1810中,事务引擎205产生否定认证,然后将它***到认证结果,该认证结果在步骤1055中发送至卖方(见图10)。可有利用于防止认证不确定地待决的一个限制是设置从初始认证请求开始的超时时段。这样,在时限内没有得到肯定认证的任何事务被拒绝进一步仲裁并且得到否定认证。本领域技术人员将认识到,这种时限可以根据事务的境况以及用户和卖方的希望而变化。还可以对在提供成功认证时可进行的尝试的数目进行限制。可以通过如图5所示的尝试限制器535对这些限制进行处理。
如果在步骤1805中没有禁止仲裁,则事务引擎205然后将与事务方之一或二者进行协商。如在步骤1820中所示,事务引擎205可以向用户发送消息以请求某形式的附加认证从而提高生成的认证置信等级。在最简单的形式中,这可以简单指示认证是不充分的。还可以发送生成一个或多个附加认证实例以提高认证的总置信等级的请求。
如果在步骤1825中用户提供一些附加认证实例,则事务引擎205向事务的认证数据添加这些认证实例并且将它发送至认证引擎215,如在步骤1015所示(见图10),并且基于针对这个事务的预先存在的认证实例和新提供的认证实例重新评估该认证。
一种附加类型的认证可以是来自信任引擎110的用于例如通过电话呼叫在信任引擎110运营商(或者信任的合作人)与用户之间进行某形式的人对人联系的请求。这个电话呼叫或其它非计算机认证能够用于提供与个人的私人联系以及执行某形式的基于问卷的认证。这还可以给出验证发起电话号码以及当呼入时潜在的用户语音解析的机会。即使不能够提供附加认证数据,与用户的电话号码关联的附加上下文仍可以提高认证上下文的可靠性。基于这个电话呼叫的任何修正的数据或境况被送入信任引擎110以用于对认证请求的考虑。
此外,在步骤1820中,信任引擎110可以向用户提供购买保险的机会,从而有效地购买更加确信的认证。信任引擎110的运营商有时可能仅希望使得在认证的置信等级高于某阈值的情况下才开始可用这个选项。实际上,这个用户侧保险是当认证满足信任引擎110对于认证的正常所需信任等级但不满足这个事务的卖方的所需信任等级时信任引擎110对用户进行担保的方式。这样,即使用户仅仅具有生成针对信任引擎110足够的置信度的认证实例,他仍可以成功地认证为卖方要求的非常高的等级。
信任引擎110的这个功能使得信任引擎110可以对被认证为满足信任引擎110而非满足卖方的某人进行担保。这与在向文档添加公证人的签名以向以后读取该文档的某人指示签名出现在文档上的人实际是对它进行签名的人时由公证人执行的功能类似。公证人的签名证实用户签名的动作。以相同的方式,信任引擎提供执行事务的人是他们说他们是的人的指示。
然而,因为信任引擎110人工推升用户提供的置信等级,所以对于信任引擎110运营商存在更大的风险,因为用户实际上没有满足卖方的所需的信任等级。保险的花费被设计为抵消误肯定认证对于信任引擎110(其可有效地对用户的认证进行公证)的风险。用户向信任引擎110运营商付费以承担认证为比实际提供的还要高的置信等级的风险。
由于这种保险***允许某人从信任引擎110有效地购买更高的置信等级,所以卖方和用户都会希望防止在某些事务中使用用户侧保险。卖方可能希望将肯定认证限制到它们知道实际认证数据支持它们要求的置信度的情况,因此可能向信任引擎110指示用户侧保险不被允许。类似地,为了保护他的在线身份,用户可能希望防止在他的帐户上使用用户侧保险或者可能希望将它的使用限制到没有保险的认证置信等级高于一定限制的情形。这可用作防止某人偷听口令或盗取智能卡并使用它们假冒认证到低置信等级并且然后购买保险以生成非常高的(假)置信等级的安全措施。在确定是否允许用户侧保险时可以对这些因素进行评估。
如果在步骤1840中用户购买了保险,则在步骤1845中基于购买的保险调整认证置信等级,并且在步骤1730中把认证置信等级与所需的信任等级再次进行比较(见图17)。该过程从步骤1730继续,并且可能导致步骤1740中的肯定认证(见图17)或者返回步骤1750中的信任仲裁过程从而进一步进行仲裁(如果允许的话),或者如果进一步仲裁被禁止则导致步骤1810中的否定认证。
除了在步骤1820中向用户发送消息以外,在步骤1830中事务引擎205还可以向卖方发送指示未决认证当前低于所需信任等级的消息。该消息还可以提供关于如何前进到卖方的各种选项。这些选项之一是简单地向卖方通知当前认证置信等级是什么以及询问卖方是否希望维持他们的当前未满足的所需信任等级。这是有益的,因为在一些情况下,卖方可以具有用于对事务进行认证的独立手段或者可能已经使用缺省的一组要求,该组要求通常导致初始指定比手边的特定事务实际需要的更高的所需等级。
例如,与卖方的所有输入购买订单事务预计满足98%信任等级是标准实践。然而,如果通过电话在卖方与长期顾客之间最近讨论了订单,并且紧接之后该事务得到认证,但是仅仅认证到93%置信等级,则卖方可能希望简单降低这个事务的接受阈值,因为电话呼叫有效地向卖方提供了附加认证。在某些境况下,卖方会愿意降低他们的所需信任等级,但是并不总是降低到当前认证置信等级。例如,以上例子中的卖方可能认为,在订单之前的电话呼叫可能值所需信任度下降4%,然而,这仍大于用户生成的93%的置信度。
如果在步骤1835中卖方确实调整了他们的所需的信任等级,则在步骤1730中对由认证生成的认证置信等级与该所需的信任等级进行比较(见图17)。如果置信等级现在超过所需的信任等级,则在步骤1740中在事务引擎205中可产生肯定认证(见图17)。如果没有超过,则在允许的情况下可以如上所述尝试进一步仲裁。
除了请求对所需的信任等级进行调整外,事务引擎205还可以向请求认证的卖方提供卖方侧保险。这个保险用于与以上针对用户侧保险描述的用途相同的用途。这里,然而,成本不对应于由信任引擎110在以上认证生成的实际认证置信等级时所承担的风险,保险的成本对应于卖方在认证中接受低信任等级时所承担的风险。
不是仅仅降低他们的实际所需的信任等级,卖方可以选择购买保险以保护自己免受与用户认证中的低信任等级关联的附加风险。如上所述,在现有认证已经高于某阈值的条件下,卖方仅仅考虑购买这种保险来覆盖信任差距是有利的。
得到这种卖方侧保险,允许卖方有如下选项:在对自己无附加成本的情况下直接降低他的信任要求;自己承受误认证的风险(基于所需的低信任等级);或者针对认证置信等级与他的要求之间的信任差距购买保险,其中由信任引擎110运营商承担已经提供的低置信等级的风险。通过购买保险,卖方有效地保持他的高信任等级要求,因为误认证的风险被转移给信任引擎110运营商。
如果在步骤1840中卖方购买了保险,则在步骤1730中对认证置信等级与所需的信任等级进行比较(见图17),并且该过程如上所述继续。
要注意,用户和卖方均响应来自信任引擎110的消息也是可以的。本领域技术人员将认识到,有多种方式可以处理这些情形。处理多个响应的可能性的一种有利模式是简单地以先来先服务方式处理响应。例如,如果卖方以降低的所需信任等级进行响应并且用户之后还立即购买保险以提升他的认证等级,则首先基于来自卖方的降低的信任要求对认证进行重新评估。如果认证现在是肯定的,则用户的保险购买被忽略。在另一种有利的操作模式下,可能仅针对满足新的降低的卖方的信任要求所需的保险等级向用户收费(如果即使在降低了卖方信任要求的情况下仍然存在信任差距的话)。
如果在步骤1850中在信任仲裁过程中在针对认证设置的时限内没有从任何一方接收到响应,则在步骤1805中对仲裁进行重新评估。这有效地再次开始仲裁过程。如果在步骤1805中时限终止或者其它境况防止进一步仲裁,则在步骤1810中由事务引擎205产生否定认证并且在步骤1055中返回到卖方(见图10)。否则,新消息可以发送至用户和卖方,并且该过程可以按期望被重复。
要注意,对于某些类型的事务,例如,对不是事务的一部分的文档进行数字签名,并不一定有卖方或其它第三方,因此事务主要在用户与信任引擎110之间。在例如这些的境况下,信任引擎110将具有必须被满足以产生肯定认证的它自身的所需的信任等级。然而,在这些境况下,常常不希望信任引擎110向用户提供保险以使他可以提升他自己签名的置信度。
可以使用在上文中参照信任引擎110描述的各种通信模式,执行上述以及在图16到图18中所示的过程。例如,这些消息可以是基于web的并且使用信任引擎110与实时下载到在用户或卖方***上运行的浏览器的Java小程序之间的SSL连接进行发送。在另一种操作模式下,便于进行这种仲裁和保险事务的某些专用的应用可以由用户和卖方使用。在另一种操作模式下,安全电子邮件操作可用于对上述的仲裁进行调停,由此实现延迟评估和认证的批处理。本领域技术人员将认识到,不同的通信模式可适用于卖方的认证要求和境况。
下面参照图19的说明描述了整合上述本发明的各个方面的样本事务。这个例子示出了由信任引擎110进行调停的用户与卖方之间的整个过程。尽管以上详细描述的各个步骤和部件可用于执行下面的事务,但是所示的过程集中于信任引擎110、用户以及卖方之间的交互。
在步骤1900中,当用户在在线观看网页时在卖方的网站上填写订单表格时,事务开始。用户希望将签写有他的数字签名的这个订单表格提交给卖方。为了这样做,在步骤1905中,用户向信任引擎110提交订单表格和他对签名的请求。用户还将提供将如上所述用于对他的身份进行认证的认证数据。
在步骤1910中,如上所述由信任引擎110将认证数据与登记数据进行比较,并且如果生成了肯定认证,则用用户的私钥签名的订单表格的哈希值与订单表格自身一起被转发送卖方。
在步骤1915中,卖方接收到签名的表格,然后在步骤1920中,卖方将产生***或与要进行的购买有关的其它合同。在步骤1925中,这个合同以及对签名的请求被发送回用户。在步骤1930中,卖方还向信任引擎110发送针对这个合同事务的认证请求(包括将由双方签名的合同的哈希值)。为了允许由双方对合同进行数字签名,卖方还包括针对自身的认证数据从而使得能够在以后对合同上的卖方的签名进行验证(如果需要的话)。
如上所述,信任引擎110然后对由卖方提供的认证数据进行验证以确认卖方的身份,并且如果在步骤1935中该数据生成肯定认证,则当从用户接收到数据时从步骤1955继续。如果卖方的认证数据没有与卖方的登记数据匹配达到期望程度,则将一消息返回给卖方以请求进一步认证。如上所述,为了使得卖方向信任引擎110成功地认证自身,如果需要的话在这里可以执行信任仲裁。
当在步骤1940中用户接收到合同时,他检查合同,在步骤1945中如果合同可以接受则产生认证数据以对它进行签名,然后在步骤1950中,向信任引擎110发送合同的哈希值以及他的认证数据。在步骤1955中,信任引擎110验证该认证数据,并且如果认证良好,则如下所述继续处理合同。如以上参照图17和图18所述,可以适当地执行信任仲裁以弥合认证置信等级与事务的所需的认证等级之间存在的任何信任差距。
在步骤1960中,信任引擎110用用户的私钥对合同的哈希值进行签名,并且将该签名的哈希值发送至卖方,代表自己对完整消息进行签名,即,包括利用信任引擎110的私钥510加密的完整消息(包括用户的签名)的哈希值。在步骤1965中,这个消息由卖方接收。该消息代表签名的合同(使用用户的私钥加密的合同的哈希值)以及来自信任引擎110的收据(包括使用信任引擎110的私钥加密的签名的合同的消息的哈希值)。
在步骤1970中,信任引擎110利用卖方的私钥类似地准备合同的哈希值,并且将由信任引擎110签名的这个合同转发至用户。这样,在步骤1975中,用户还接收由卖方签名的合同的副本以及由信任引擎110签名的传递签名的合同的收据。
除了上述以外,本发明的附加方面提供了一种密码服务提供模块(SPM),该密码服务提供模块(SPM)可由客户机侧应用用作访问上述的由信任引擎110提供的功能的装置。密码SPM提供这种服务的一个有利方式是对第三方应用编程接口(API)与可经由网络或其它远程连接进行访问的信任引擎110之间的通信进行调停。在下文中参照图20描述样本密码SPM。
例如,在典型***上,程序员可使用多个API。每个API提供可由在***上运行的应用2000进行的一组功能调用。提供适于密码功能、认证功能和其它安全功能的编程接口的API的例子包括由微软在它的Windows操作***中提供的密码API(CAPI)2010和由IBM、Intel和开放组的其它成员发起的公共数据安全架构(CDSA)。在下文的讨论中,CAPI将用作示例性安全API。然而,还可以与CDSA或者本领域已知的其它安全API一起使用所述的密码SPM。
当调用密码功能时,用户***105或卖方***120使用这个API。包括在这些功能中的可以是与执行各种密码操作(诸如用特定密钥对文档进行加密,对文档进行签名,请求数字证书,验证签名的文档上的签名)关联的请求以及本文所述或本领域技术人员知道的其它密码功能。
通常,在CAPI2010所处于的***本地执行这些密码功能。这是因为一般调用的功能要求使用本地用户***105的资源(例如,指纹读取器)或者使用在本地机器上执行的库进行编程的软件功能。通常由以上提及的提供执行密码功能使用的资源的一个或多个服务提供模块(SPM)2015、2020执行对这些本地资源的访问。这些SPM可以包括执行加密或解密操作的软件库2015或者能够访问专用硬件2025(例如,生物测定扫描装置)的驱动程序和应用2020。与CAPI2010提供可由***105的应用2000使用的功能的方式非常类似,SPM2015、2020向CAPI提供对与***上的可用服务关联的低级功能和资源的访问。
根据本发明,可以提供一种密码SPM2030,其能够访问由信任引擎110提供的密码功能并且使得应用2000通过CAPI2010可获得这些功能。与CAPI2010仅仅能够访问可通过SPM2015和2020在本地获得的资源的实施例不同,这里所述的密码SPM2030将能够向位于远处的可进行网络访问的信任引擎110提交对密码操作的请求以执行希望的操作。
例如,如果应用2000需要密码操作,例如对文档进行签名,则应用2000对适当的CAPI2010功能进行功能调用。CAPI2010继而将执行这个功能,利用通过SPM2015和2020以及密码SPM2030使其可获得的资源。在数字签名功能的情况下,密码SPM2030将产生将通过通信链路125发送至信任引擎110的适当请求。
在密码SPM2030与信任引擎110之间发生的操作是可以在任何其它***与信任引擎110之间进行的相同操作。然而,通过CAPI2010可以使得用户***105有效地获得这些功能,从而使这些功能看起来在用户***105自己的本地可获得。然而,与普通的SPM2015和2020不同,这些功能在远程信任引擎110上执行,并且响应于适当请求,结果经由通信链路125中继到密码SPM2030。
这个密码SPM2030使用户***105或卖方***120可以获得以其它方式可能无法获得的大量操作。这些功能包括但不限于:文档的加密和解密、数字证书的发放、文档的数字签名、数字签名的验证、以及对本领域技术人员显而易见的其它操作。
在一个单独的实施例中,本发明包括对任何数据集执行本发明的数据保护方法的完整***。这个实施例的计算机***包括数据***模块,该数据***模块包括图8所示和本文所述的功能。在本发明的一个实施例中,在本文中有时称作安全数据解析器的数据***模块包括包含数据***、加密和解密、重构或重装功能的解析器程序或软件套装。这个实施例还可以包括一个数据存储设施或多个数据存储设施。数据***模块或安全数据解析器包括跨平台软件模块套装,该跨平台软件模块套装集成在电子基础设施内或者作为要求其数据元素的最大安全性的任何应用的附件。这个解析过程对任何类型的数据集,以及对任何和所有文件类型,或者在数据库中对该数据库中的任何数据行或列或单元进行运算。
在一个实施例中,可以以模块分层方式设计本发明的解析过程,并且任何加密过程适用于本发明的过程。本发明的解析和***过程的模块层可以包括但不限于:1)密码***,分散并安全存储在多个位置;2)加密,密码***,分散并安全存储在多个位置;3)加密,密码***,对每份加密,然后分散并安全存储在多个位置;以及4)加密,密码***,用与在第一步骤中使用的加密不同类型的加密对每份进行加密,然后分散并安全存储在多个位置。
在一个实施例中,这个过程包括根据产生的随机数或密钥的内容对数据进行***,并且对把要保护的数据***成两个或更多部分或份的解析或***数据(在一个实施例中,优选***成四个或更多部分的解析和***数据)的加密中使用的密钥执行相同的密码***,对所有的部分进行加密,然后根据请求者对隐私和安全的需要,将这些部分分散并存储回数据库中或者将它们重新定位到固定或可移动的任何指定装置。或者,在另一个实施例中,在由***模块或安全数据解析器对数据集进行***之前可以进行加密。如在这个实施例中所述进行处理的原始数据被加密并打乱并且得到保护。实际上,如果希望的话,加密的元素可以分散到任何地方,包括但不限于单个服务器或数据存储装置、或者多个独立的数据存储设施或装置之间。在一个实施例中,加密密钥管理可以包括在软件套装内,或者在另一个实施例中,可以集成到现有的基础设施或任何其它期望位置。
密码***(密码术***)将数据划分成N份。该划分可以基于任何大小的数据单元,包括一个比特、多个比特、字节、千字节、兆字节或更大单元以及预定或随机产生的数据单元大小的任何模式或组合。基于随机或者预定的一组值,这些单元还可以具有不同的大小。这意味着数据能够被看作是这些单元的序列。按照这种方式,例如通过使用一个或多个预定或随机产生的数据单元大小的模式、序列或组合,数据单元自身的大小可以使数据更加安全。这些单元然后(随机地或者根据一组预定值)被分布到N份中。该分布还可以涉及在各份中搅乱(shuffle)单元的顺序。本领域普通技术人员易于明白,可以根据多种多样的可能选择(包括但不限于固定大小、预定大小、或者预定或随机产生的数据单元大小的一个或多个组合、模式或序列)执行将数据单元分布到多份中。
这种密码***过程或密码术***的一个例子将考虑数据大小为23个字节,数据单元大小选择为1个字节,并且选择的份数为4。每个字节将被分布到这4份之一中。假定随机分布,将获得密钥以建立23个随机数的序列(r1、r2、r3到r23),其中,每个随机数具有与这4份对应的1至4的值。数据的每个单元(在这个例子中,数据的23个独立字节)与对应于4份之一的23个随机数之一关联。通过将数据的第一字节安置到份号r1、将第二字节安置到份r2,将第三字节安置到份r3只至将数据的第23字节安置到份r23,可以将数据的各字节分布到这4份中。本领域普通技术人员易于理解,多种多样的其它可行步骤或者步骤的组合或序列(包括数据单元的大小)可用于本发明的密码术***过程,并且以上例子是用于对数据进行密码术***的一个过程的非限制性描述。为了重建原始数据,将执行反向操作。
在本发明的密码术***过程的另一个实施例中,用于密码术***过程的选项是在各份中提供充足冗余从而使得仅仅需要这些份的子集就能够将数据重装或恢复成它的原始或可用形式。作为一个非限制性例子,可以按照“4取3”密码术***进行密码术***,从而使得将数据重装或恢复成它的原始或可用形式仅仅需要这4份中的3份。这还称作“N取M密码术***”,其中,N是总份数,M至少比N小1。本领域普通技术人员易于理解,在本发明的密码术***过程中建立这种冗余存在许多可能性。
在本发明的密码术***过程的一个实施例中,数据的每个单元存储在两份(主要份和备份份)中。使用上述的“4取3”密码术***过程,可以丢失任何一份,并且由于仅仅需要全部4份中的3份,所以在没有丢失数据单元的情况下这仍足以重装或恢复原始数据。如本文所述,对应于这些份之一产生随机数。基于密钥,该随机数与数据单元关联并且存储在对应份中。在这个实施例中,一个密钥用于产生主要份和备份份随机数。如本文所述,对于本发明的密码术***过程,产生与数据单元的数目相等的从0到3的一组随机数(还称作主要份数字)。然后,产生与数据单元的数目相等的从1到3的另一组的随机数(还称作备份份数字)。然后,将数据的每个单元与主要份数字和备份份数字进行关联。或者,可以产生少于数据单元的数目的一组随机数并且重复该随机数组,但是这会降低敏感数据的安全性。主要份数字用于确定数据单元存储在哪个份中。备份份数字与主要份数字进行组合以建立0至3的第三份数字,并且这个数字用于确定数据单元存储在哪个份中。在这个例子中,用于确定第三份数字的式子是:
(主要份数字+备份份数字)MOD4=第三份数字
在上述的主要份数字为0至3且备份份数字为1至3的实施例中,确保了第三份数字与主要份数字不同。这导致数据单元存储在两个不同份中。本领域普通技术人员易于理解,除了本文公开的实施例以外,还有执行冗余密码术***和非冗余密码术***的许多方式。例如,可以使用不同的算法搅乱每份中的数据单元。例如,当原始数据***成多个数据单元时,或者在将数据单元安置到各份中以后,或者份已满以后,可以执行该数据单元搅乱。
可以对任何大小的数据单元(包括但不限于一个比特、多个比特、字节、千字节、兆字节或更大)执行本文所述的各种密码术***过程和数据搅乱过程以及本发明的密码术***和数据搅乱方法的所有其它实施例。
执行本文所述的密码术***过程的源代码的一个实施例的例子是:
执行本文所述的密码术***RAID过程的源代码的一个实施例的例子是:
产生两组数字,PrimaryShare是0到3,BackupShare是1到3。然后,按照与上述的密码术***相同的过程,将每个数据单元放入share[primaryshare[1]]以及share[(primaryshare[1]+backupshare[1])mod4]中。这个方法可调整至任何大小N,其中,恢复数据仅仅需要N-1份。
加密的数据元素的获取、重组、重装或重构可以利用任何数目的认证技术,包括但不限于生物测定,例如,指纹识别、面部扫描、手扫描、虹膜扫描、视网膜扫描、耳扫描、血管模式识别或DNA分析。根据需要,本发明的数据***和/或解析器模块可以集成到多种多样的基础产品或应用中。
现有技术中已知的传统加密技术依赖于用于对数据进行加密的一个或多个密钥并且使得在无密钥的情况下不可用。然而,数据仍然是一个整体并且完整,并且易受攻击。在一个实施例中,通过对加密的文件执行密码解析并***成两个或更多个部分或份(在另一个实施例中,优选为4个或更多份),对每个数据份增加另一层加密,然后将这些份存储在不同物理和/或逻辑位置,本发明的安全数据解析器解决了这个问题。当通过使用可移动装置(例如,数据存储装置)或者通过在另一方的控制下对份进行安置从***中物理地去除一个或多个数据份时,有效去除了对被保护数据的危害的任何可能性。
在图21中示出并在下文中描述本发明的安全数据解析器的一个实施例的例子以及如何利用它的例子。然而,本领域普通技术人员易于理解,除了下面的非限制性例子以外,还可以以多种多样的方式利用本发明的安全数据解析器。作为一种部署选项,在一个实施例中,可以通过外部会话密钥管理或者会话密钥的安全内部存储,实现安全数据解析器。当实现时,将产生解析器主密钥,它将用于保护应用以及加密目的。还应该注意,通过将解析器主密钥加入到得到的保护数据中,可以实现由工作组、企业或扩展受众内的个人共享被保护数据的灵活性。
如图21所示,本发明的这个实施例示出了由安全数据解析器对数据执行存储会话主密钥与解析的数据的过程的步骤:
1.产生会话主密钥并且使用RS1流密码对数据进行加密。
2.根据会话主密钥的模式将得到的加密的数据分离成四份或部分的解析数据。
3.在本发明的这个实施例中,会话主密钥将与保护数据份一起存储在数据储存器内。根据解析器主密钥的模式对会话主密钥进行分离并且将密钥数据附于加密的解析数据。
4.得到的四个数据份将包含加密的原始数据的部分以及会话主密钥的部分。针对这四个数据份的每一个产生流密码密钥。
5.对每份进行加密,然后将加密密钥存储在与加密的数据部分或份不同的位置:份1获得密钥4,份2获得密钥1,份3获得密钥2,份4获得密钥3。
为了恢复原始数据格式时,颠倒这些步骤。
本领域普通技术人员易于理解,根据需要,本文所述的方法的某些步骤可以以不同顺序执行或者重复多次。本领域技术人员还易于理解,可以以彼此不同的方式对这些数据部分进行处理。例如,可以仅仅对解析数据的一个部分执行多个解析步骤。可以通过任何希望的方式对解析数据的每个部分进行独特的保护,只要数据可以被重装置、重构、重形成、解密或恢复到它的原始或其它可用形式即可。
如图22所示和本文所述,本发明的另一个实施例包括由安全数据解析器对数据执行的将会话主密钥数据存储在一个或多个单独的密钥管理表中的过程的步骤:
1.产生会话主密钥并且使用RS1流密码对数据进行加密。
2.根据会话主密钥的模式将得到的加密的数据分离成四份或部分的解析数据。
3.在本发明的该方法的这个实施例中,会话主密钥将存储在数据储存器中的单独的密钥管理表内。为这个事务产生唯一事务ID。将事务ID和会话主密钥存储在单独的密钥管理表中。根据解析器主密钥的模式将事务ID进行分离并且将该数据附于加密的解析数据或分离的数据。
4.得到的四个数据份将包含加密的原始数据的部分和事务ID的部分。
5.针对这四个数据份的每一个产生流密码密钥。
6.对每份进行加密,然后将加密密钥存储在与加密的数据部分或份不同的位置:份1获得密钥4,份2获得密钥1,份3获得密钥2,份4获得密钥3。
为了恢复原始数据格式,需要颠倒这些步骤。
本领域普通技术人员易于理解,根据需要,本文所述的方法的某些步骤可以以不同顺序执行或者重复多次。本领域技术人员还易于理解,可以以彼此不同的方式对这些数据部分进行处理。例如,可以仅仅对解析数据的一个部分执行多个分离或解析步骤。可以通过任何希望的方式对解析数据的各个部分进行独特保护,只要数据可以被重装、重构、重形成、解密或恢复到它的原始或其它可用形式即可。
如图23所示,本发明的这个实施例示出了由安全数据解析器对数据执行的存储会话主密钥与解析数据的过程的步骤:
1.访问与认证的用户关联的解析器主密钥。
2.产生唯一会话主密钥。
3.从解析器主密钥与会话主密钥的异或函数导出中间密钥。
4.使用现有或新的加密算法以中间密钥为密钥对数据进行可选加密。
5.根据中间密钥的模式将得到的可选加密的数据分离成四份或部分的解析数据。
6.在该方法的这个实施例中,会话主密钥将与被保护数据份一起存储在数据储存器内。根据解析器主密钥的模式对会话主密钥进行分离并且将密钥数据附于可选加密的解析数据份。
7.得到的多个数据份将包含可选加密的原始数据的部分和会话主密钥的部分。
8.可选地,为四个数据份的每一个产生加密密钥。
9.可选地,用现有或新的加密算法对每个份进行加密,然后将加密密钥存储在与加密的数据部分或份不同的位置:例如,份1获得密钥4,份2获得密钥1,份3获得密钥2,份4获得密钥3。
为了恢复原始数据格式时,需要颠倒这些步骤。
本领域普通技术人员易于理解,根据需要,本文所述的方法的某些步骤可以以不同顺序执行或者重复多次。本领域技术人员还易于理解,可以以彼此不同方式对这些数据部分进行处理。例如,可以仅仅对解析数据的一个部分执行多个解析步骤。可以以任何希望的方式对解析数据的每个部分进行独特的保护,只要数据可以被重装、重构、重形成、解密或恢复到它的原始或其它可用形式即可。
如图24所示和文本所述,本发明的另一个实施例包括由安全数据解析器对数据执行的将会话主密钥数据存储在一个或多个单独的密钥管理表中的过程的步骤:
1.访问与认证的用户关联的解析器主密钥。
2.产生唯一会话主密钥。
3.从解析器主密钥与会话主密钥的异或函数导出中间密钥。
4.使用现有或新的加密算法以中间密钥为密钥对数据进行可选加密。
5.根据中间密钥的模式将得到的可选加密的数据分离成四份或部分的解析数据。
6.在本发明的该方法的这个实施例中,会话主密钥将存储在数据储存器内的单独的密钥管理表中。为这个事务产生唯一事务ID。将事务ID和会话主密钥存储在单独的密钥管理表中或者将会话主密钥和事务ID传回调用程序以用于外部管理。根据解析器主密钥的模式对事务ID进行分离并且将数据附于可选加密的解析数据或分离的数据。
7.得到的四个数据份将包含可选加密的原始数据的部分和事务ID的部分。
8.可选地,为这四个数据份的每个产生加密密钥。
9.可选地,对每份进行加密,然后将加密密钥存储在与加密的数据部分或份不同的位置。例如,份1获得密钥4,份2获得密钥1,份3获得密钥2,份4获得密钥3。
为了恢复原始数据格式,需要颠倒这些步骤。
本领域普通技术人员易于理解,根据需要,本文所述的方法的某些步骤可以以不同顺序执行或者重复多次。本领域技术人员还易于理解,可以以彼此不同方式对这些数据部分进行处理。例如,可以仅仅对解析数据的一个部分执行多个分离或解析步骤。可以以任何希望的方式对解析数据的每个部分进行独特的保护,只要数据可以被重装、重构、重形成、解密或恢复到它的原始或其它可用形式即可。
本领域技术人员易于理解,多种多样的加密方法适用于本发明的方法。一次一密乱码本(One Time Pad)算法常常被认为是最安全加密方法之一,并且适用于本发明的方法。使用一次一密乱码本算法要求产生与要保护的数据一样长的密钥。在诸如由于要保护的数据集的大小而导致产生和管理非常长的密钥的情况的某些境况下,不太希望使用这种方法。在一次一密乱码本(OTP)算法中,使用简单的异或函数XOR。对于相同长度的两个二进制流x和y,x XOR y是指x和y的逐比特异或。
在比特级,产生:
0 XOR 0=0
0 XOR 1=1
1 XOR 0=1
1 XOR 1=0
在本文中针对要***的n字节秘密s(或数据集),描述这个过程的例子。该过程将产生n字节随机值a,然后设置:
b=a XOR s。
要注意,可以通过下式导出“s”:
s=a XOR b。
值a和b称作份或部分并且安置在分立的储存器内。一旦秘密s分被裂成两个或更多份,以安全方式将它丢弃。
本发明的安全数据解析器可以利用这个函数,执行结合多个不同秘密密钥值K1、K2、K3、Kn、K5的多个XOR函数。在运算开始时,要保护的数据被传递给第一加密运算,安全数据=数据XOR秘密密钥5:
S=D XOR K5
为了将得到的加密数据安全地存储在例如四个份S1、S2、S3、Sn中,根据K5的值将数据解析并***成“n”个段或份。这个运算产生原始加密的数据的“n”个伪随机份。然后,可以用剩余的秘密密钥值对每个份执行接下来的XOR函数,例如:安全数据段1=加密的数据份1XOR秘密密钥1:
SD1=S1 XOR K1
SD2=S2 XOR K2
SD3=S3 XOR K3
SDn=Sn XOR Kn
在一个实施例中,可能不希望任何一个储存器包含对其所持有的信息进行解密的足够信息,从而对份进行解密所需的密钥被存储在不同的数据储存器中:
储存器1:SD1,Kn
储存器2:SD2,K1
储存器3:SD3,K2
储存器n:SDn,K3
此外,获取原始会话加密密钥K5所需的信息可以附于每个份。因此,在本文所述的密钥管理例子中,通过根据依赖于安装的解析器主密钥(TID1、TID2、TID3、TIDn)的内容而***成“n”份的事务ID来参考原始会话主密钥:
储存器1:SD1,Kn,TID1
储存器2:SD2,K1,TID2
储存器3:SD3,K2,TID3
储存器n:SDn,K3,TIDn
在本文所述的结合会话密钥例子中,根据依赖于安装的解析器主密钥(SK1、SK2、SK3、SKn)的内容,会话主密钥***成“n”份:
储存器1:SD1,Kn,SK1
储存器2:SD2,K1,SK2
储存器3:SD3,K2,SK3
储存器n:SDn,K3,SKn
根据这个例子,除非获得了所有四份,否则不能够对数据进行重装。即使捕获了所有四份,在无法访问会话主密钥和解析器主密钥的情况下也不可能重装或恢复原始信息。
这个例子描述了本发明的该方法的一个实施例,并且在另一个实施例中还描述了用于将份安置到储存器中从而能够对所有储存器中的份进行组合以形成秘密认证材料的算法。所需的计算非常简单和快速。然而,对于一次一密乱码本(OTP)算法,由于密钥大小与要存储的数据的大小相同,所以可能会出现例如要保护大的数据集的、不太希望使用这种算法的境况。因此,将需要存储并发送原始数据量的大约两倍,这在某些境况下是不希望的。
流密码RS1
流密码RS1***技术与本文所述的OTP***技术非常类似。替代n字节随机值,产生n′=min(n,16)字节随机值并且将其用作RS1流密码算法的密钥。RS1流密码算法的优点在于,从小得多的种子数产生伪随机密钥。RS1流密码加密的执行速度还被认为是本领域公知的三重DES加密的速度的近10倍,而不会危害安全性。RS1流密码算法在本领域是公知的,并且可用于产生用于XOR函数中的密钥。RS1流密码算法可与其它可买到的流密码算法(例如,RSA Security Inc的RC4TM流密码算法)互操作,并且适用于本发明的方法。
使用以上的密钥符号,K1到K5现在是n′字节随机值并且我们设置:
SD1=S1 XOR E(K1)
SD2=S2 XOR E(K2)
SD3=S3 XOR E(K3)
SDn=Sn XOR E(Kn)
其中,E(K1)到E(Kn)是以K1到Kn为密钥的RS1流密码算法的输出的前n′个字节。如本文所述,将这些份现在安置到数据储存器内。
在这个流密码RS1算法中,所需的必要计算几乎与OTP算法一样简单和快速。使用RS1流密码的这个例子的好处在于,对于每份,***平均仅需要存储并发送比要保护的原始数据的大小多大约16字节。当原始数据的大小大于16字节时,由于RS1算法简单更短,所以RS1算法要比OTP算法更高效。本领域普通技术人员易于理解,多种多样的加密方法或算法适用于本发明,包括但不限于RS1、OTP、RC4TM、三重DES和AES。
与传统的加密方法相比,本发明的数据安全性方法和计算机***提供了显著优点。一个优点是从将数据份移至可能位于不同的逻辑、物理或地理位置的一个或多个数据储存器或存储装置上的不同位置获得的安全性。例如,当对数据份进行物理***并且在不同人员的控制下时,危害数据的可能性大幅减小。
由本发明的方法和***提供的另一个优点是用于对数据进行保护以提供保持敏感数据的安全性的综合过程的本发明的方法的步骤的组合。该数据利用安全密钥进行加密并且根据该安全密钥***成一份或多份(在一个实施例中,4份)。安全密钥利用参考指针被安全地存储,该参考指针根据安全密钥按四份保护。然后单独地对各数据份进行加密,并且将密钥与不同的加密的份安全地存储在一起。当进行组合时,根据本文公开的方法对数据进行保护的整个过程变成数据安全性的综合包。
根据本发明的方法进行保护的数据易于取回和恢复、重构、重装、解密或以其它方式返回到它的原始或其它适合形式以供使用。为了恢复原始数据,可利用下面的项:
1.数据集的所有份或部分。
2.用于保护数据的方法的处理流程的知识,以及对该处理流程进行再现的能力。
3.对会话主密钥的访问权。
4.对解析器主密钥的访问权。
因此,希望设计一种安全安装,其中,以上元素中的至少一个可以与***的其余组件物理分离(例如,在不同***管理员的控制下)。
通过使用解析器主密钥可以加强针对无良应用调用数据保护方法应用的保护。在本发明的这个实施例中,在采取任何动作之前,可以要求在安全数据解析器与应用之间进行互相认证握手。
***的安全性要求不存在用于重建原始数据的“后门”方法。针对可能出现数据恢复问题的安装,可以对安全数据解析器进行增强以提供四个份和会话主密钥储存器的镜像。例如RAID(用于在几个盘上分散信息的廉价盘的冗余阵列)的硬件选项和例如复制的软件选项也能够帮助进行数据恢复计划。
密钥管理
在本发明的一个实施例中,数据保护方法使用三个密钥组用于进行加密操作。基于安装,每个密钥组可具有各自的密钥存储、取回、安全性和恢复选项。可使用的密钥包括但不限于:
解析器主密钥
这个密钥是与安全数据解析器的安装关联的个体密钥。它安装在已经部署了安全数据解析器的服务器上。有多种适于保护这个密钥的选项,包括但不限于智能卡、单独的硬件密钥库、标准密钥库、定制密钥库或者例如位于受保护的数据库表内。
会话主密钥
每次当对数据进行保护时可以产生会话主密钥。会话主密钥用于在解析和***操作之前对数据进行加密。它还可以并入作为对加密的数据进行解析的手段(如果会话主密钥没有集成到解析数据内)。可以通过各种方式(包括但不限于标准密钥库、定制密钥库、独立数据库表)或者例如在加密的份内对会话主密钥进行保护。
份加密密钥
针对建立的数据集的每个份或部分,可产生单独的份加密密钥以进一步对份进行加密。份加密密钥可以存储在与进行加密的份不同的份内。
本领域普通技术人员易于理解,本发明的数据保护方法和计算机***可广泛地应用于在任何设置或环境下的任何类型的数据。除了在互联网上或者在顾客与卖方之间执行的商业应用外,本发明的数据保护方法和计算机***可高度应用于非商业或私有设置或环境。可以使用本文所述的方法和***对希望针对未授权用户保持安全的任何数据集进行保护。例如,有利的是,通过利用本发明的方法和***对数据进行保护,对公司或组织内的特定数据库的访问可以仅仅限于选择的用户。另一个例子是文档的产生、修改或访问,其中,希望限制访问或者防止未授权或意外访问或者在选择的个人、计算机或工作站之外的公开。本发明的数据保护的方法和***可应用于任何非商业或商业环境或设置以进行任何设置的方式的这些合其它例子包括但不限于任何组织、政府机构或公司。
在本发明的另一个实施例中,数据保护方法使用三个密钥组进行加密操作。基于安装,每个密钥组可以具有单独的密钥库、取回、安全性和恢复选项。可使用的密钥包括但不限于:
1.解析器主密钥
这个密钥是与安全数据解析器的安装关联的独立密钥。它安装在已经部署了安全数据解析器的服务器上。存在各种适于保护这个密钥的选项,包括但不限于智能卡、单独硬件密钥库、标准密钥库、定制密钥库或者例如位于受保护的数据库表内。
2.会话主密钥
每次当对数据进行保护时可以产生会话主密钥。会话主密钥与解析器主密钥结合使用以导出中间密钥。可以以多种方式(包括但不限于标准密钥库、定制密钥库、独立数据库表)或者例如在加密的份内对会话主密钥进行保护。
3.中间密钥
每次当对数据进行保护时可以产生中间密钥。中间密钥用于在解析和***操作之前对数据进行加密。它还可以并入作为对加密的数据进行解析的手段。
4.份加密密钥
针对建立的数据集的每个份或部分,可产生单独的份加密密钥以进一步对份进行加密。份加密密钥可以存储在与进行加密的份不同的份内。
本领域普通技术人员易于理解,本发明的数据保护方法和计算机***可广泛地应用于在任何设置或环境下的任何类型的数据。除了在互联网上或者在顾客与卖方之间执行的商业应用外,本发明的数据保护方法和计算机***可高度应用于非商业或私有设置或环境。可以使用本文所述的方法和***对希望针对未授权用户保持安全的任何数据集进行保护。例如,有利的是,通过利用本发明的方法和***对数据进行保护,对公司或组织内的特定数据库的访问可以仅仅限于选择的用户。另一个例子是文档的产生、修改或访问,其中,希望限制访问或者防止未授权或意外访问或者在选择的个人、计算机或工作站之外的公开。本发明的数据保护的方法和***可应用于任何非商业或商业环境或设置以进行任何设置的方式的这些合其它例子包括但不限于任何组织、政府机构或公司。
工作组、项目、个人PC/膝上型电脑或跨平台数据安全性
本发明的数据保护方法和计算机***还用于由工作组、项目、个人PC/膝上型电脑和例如用于企业、办公室、政府机构或建立、处理或存储敏感数据的任何设置的任何其它平台,对数据进行保护。本发明提供已知由诸如美国政府的组织所寻求的用于在整个政府组织上或者在州或联邦级政府之间实施的对数据进行保护的方法和计算机***。
本发明的数据保护方法和计算机***提供不仅对普通文件进行解析和***还对任何类型的数据字段、集合和/或表进行解析和***的能力。此外,所有形式的数据(包括但不限于文本、视频、图像、生物测定和语音数据)能够在这个过程之下得到保护。本发明的保护数据的方法的可调整性、速度和数据吞吐量仅限于用户可以支配的硬件。
在本发明的一个实施例中,如下所述在工作组环境中利用数据保护方法。在一个实施例中,如图23所示和如下文所述,本发明的工作组级数据保护方法使用信任引擎的私钥管理功能来存储一组用户共享安全数据所需的关联私钥(解析器组主密钥)和用户/组关系。本发明的方法具有根据如何部署解析器主密钥为企业、工作组或个体用户保护数据的能力。
在一个实施例中,可以提供附加密钥管理和用户/组管理程序,从而用单点的支配和密钥管理实现宽范围工作组执行方式。密钥产生、管理和撤销由单个维护程序处理,随着用户数目的增加,这些都变得尤其重要。在另一个实施例中,还可以跨一个或几个不同的***管理员设置密钥管理,这不允许任何一个人或组根据需要控制数据。这允许通过由组织定义的角色、责任、成员资格、权利等获得被保护数据的管理,并且对被保护数据的访问能够仅限于被许可或要求仅仅访问它们工作的部分的那些人,而诸如经理或执行官的其它人可以访问所有被保护数据。这个实施例使得能够在公司或组织内的不同组之间共享被保护数据,同时仅仅允许某些选择的个人(例如,具有授权和预定的角色和责任的那些人)观察整个数据。此外,本发明的方法和***的这个实施例还允许例如在不同公司、或公司的不同部门或分支机构、或任何政府或组织等的任何不同组织部门、团体、机构、办公室等(其中要求一些共享但并非任一方被许可访问所有数据)之间共享数据。针对本发明的这种方法和***的需要和利用的特别明显的例子是允许例如在政府区域、机构和办公室之间以及在大公司或任何其它组织的不同分支机构、部门或办公室之间进行共享但保持安全性。
如下是本发明的方法在较小范围进行应用的例子。解析器主密钥用作安全数据解析器的对于组织的串行化或打标记。当解析器主密钥的使用范围从整个企业缩小至较小工作组时,本文所述的数据保护方法用于在用户组内共享文件。
在图25所示和下文所述的例子中,定义了六个用户以及他们在组织内的头衔或角色。边条表示用户根据他们的角色而所属于的五个可能的组。箭头表示用户在一个或多个组内的成员资格。
当构造用于这个例子的安全数据解析器时,***管理员通过维护程序从操作***访问用户和组信息。这个维护程序基于用户在组中的成员资格产生并向用户分配解析器组主密钥。
在这个例子中,在高级职员组中有三个成员。对于这个组,动作如下:
1.访问高级职员组的解析器组主密钥(在不可获得的情况下,产生密钥);
2.产生将CEO与高级职员组进行关联的数字证书;
3.产生将CFO与高级职员组进行关联的数字证书;
4.产生将主管市场的副总裁与高级职员组进行关联的数字证书。
针对每个组以及每个组内的每个成员将执行相同的一组动作。当维护程序完成时,解析器组主密钥变成组的每个成员的共享证明。当通过维护程序从组中去除用户时可以自动完成分配的数字证书的撤销而不会影响该组的剩余成员。
一旦定义了共享证明,解析和***过程仍相同。当要对文件、文档或数据元素进行保护时,向用户提示当保护数据时要使用的目标组。得到的被保护数据仅仅可由目标组的其它成员访问。本发明的方法和***的这个功能可以与任何其它计算机***或软件平台一起使用,或者例如可以集成到现有的应用程序或者为文件安全性而独立使用。
本领域普通技术人员易于理解,加密算法的任何一个或者组合适用于本发明的方法和***。例如,在一个实施例中,加密步骤可以被重复以生成多层加密方案。此外,不同的加密算法或者加密算法的组合可用于重复加密步骤从而使得不同的加密算法被应用于多层加密方案的不同层。这样,加密方案自身可以变成用于保护敏感数据免遭未授权使用或访问的本发明的方法的组成部分。
安全数据解析器可包括作为内部部件、外部部件或者这两者的错误***件。例如,在一个适当的方法中,当使用根据本发明的安全数据解析器建立数据的部分时,为了确保一个部分内数据的完整性,在这个部分内以预设间隔获取哈希值并且将它附于所述间隔的末端。该哈希值是数据的可预测且可再现的数值表示。如果数据内的任何比特变化,则哈希值将不同。扫描模块(作为安全数据解析器外部的独立部件或者作为内部部件)然后可以对由安全数据解析器产生的数据的部分进行扫描。将每个数据部分(或者根据某间隔或根据随机或伪随机采样而少于所有的数据部分)与所附的一个或多个哈希值进行比较并且可采取动作。这个动作可以包括:匹配和不匹配的值的报告、对不匹配的值的警告、或者调用某外部或内部程序以触发数据的恢复。例如,可以通过调用恢复模块基于根据本发明的不需要所有部分就可以产生原始数据的概念来执行数据的恢复。
可以使用附于所有数据部分或这些数据部分的子集中的任何地方的任何合适的完整性信息,执行任何其它合适的完整性检查。完整性信息可以包括能够用于确定数据部分的完整性的任何合适信息。完整性信息的例子可以包括:基于任何合适参数(例如基于各个数据部分)计算的哈希值、数字签名信息、消息认证码(MAC)信息、任何其它合适信息、或者它们的任何组合。
本发明的安全数据解析器可用于任何合适应用中。即,本文所述的安全数据解析器在不同领域的计算和技术中具有不同的应用。在下文中讨论几个这种领域。应该明白,本质上这些仅仅是例示并且任何其它合适应用可以利用安全数据解析器。还应该明白,所述的例子仅仅是例示性实施例,可以以任何合适方式对其进行修改以满足任何合适期望。例如,解析和***可以基于任何合适单元(例如,比特、字节、千字节、兆字节、它们的任何组合或者任何其它合适单元)。
本发明的安全数据解析器可用于实现安全物理令牌,由此,为了访问存储在另一个存储区内的附加数据,可能需要存储在物理令牌内的数据。在一个合适方案中,物理令牌(例如,紧凑USB闪存驱动器、软盘、光盘、智能卡、或者任何其它合适的物理令牌)可用于存储根据本发明的解析数据的至少两个部分中的一个。为了访问原始数据,需要对USB闪存驱动器进行访问。因此,保持解析数据的一个部分的个人计算机在能够访问原始数据之前将需要附接具有解析数据的另一部分的USB闪存驱动器。图26示出了这个应用。存储区2500包括解析数据的一部分2502。为了访问原始数据,需要使用任何合适通信接口2508(例如,USB、串口、并口、蓝牙、1R、1EEE1394、以太网或者任何其它合适的通信接口)把具有解析数据的一部分2506的物理令牌2504连接到存储区2500。这在例如计算机上的敏感数据被独自留下并且遭受未授权访问尝试的情形下是有用的。通过去除物理令牌(例如,USB闪存驱动器),无法对敏感数据进行访问。应该明白,可以使用用于利用物理令牌的任何其它合适方法。
本发明的安全数据解析器可用于实现安全认证***,由此,使用安全数据解析器对用户登记数据(例如,口令、私有加密密钥、指纹模板、生物测定数据或任何其它合适的用户登记数据)进行解析和***。可以对用户登记数据进行解析和***,由此,一个或多个部分存储在智能卡、政府公共访问卡、任何合适的物理存储装置(例如,磁盘或光盘、USB密钥驱动器等)上或者任何其它合适装置上。解析的用户登记数据的一个或多个其它部分可以存储在执行认证的***内。这对认证过程提供了附加等级的安全性(例如,除了从生物测定源获得的生物测定认证信息以外,还必须经由适当的解析和***的数据部分获得用户登记数据)。
本发明的安全数据解析器可以集成到任何合适的现有***中,从而可以在每个***的各自环境内提供对它的功能的使用。图27示出了例示性***2600的框图,***2600可以包括用于实现任何合适应用的软件、硬件或二者。***2600可以是安全数据解析器2602可以被作为集成部件而进行翻新的现有***。或者,例如可以从任何合适***2600的最早设计阶段,将安全数据解析器2602集成到该***2600内。安全数据解析器2602可以集成在***2600的任何合适等级中。例如,安全数据解析器2602可以在充分后端等级集成到***2600中,从而使得安全数据解析器2602的存在对于***2600的端用户可以是实质上透明的。根据本发明,安全数据解析器2602可用于在一个或多个存储装置2604之间对数据进行解析和***。在下文中讨论在内部集成了安全数据解析器的***的一些例示性例子。
本发明的安全数据解析器可以集成到操作***内核(例如,Linux、Unix、或者任何其它合适的商业或专用操作***)。该集成可用于在装置等级保护数据,由此,例如,通常将存储在一个或多个装置内的数据被集成到操作***内的安全数据解析器分离成一定数目的部分并且存储在所述一个或多个装置之间。当尝试访问原始数据时,同样集成到操作***内的适当软件可以按照对于端用户透明的方式将解析的数据部分重组成原始数据。
本发明的安全数据解析器可以集成到存储***的卷管理器或者任何其它合适部件,以跨任何或所有支持的平台保护本地和联网的数据存储。例如,通过集成安全数据解析器,存储***可利用由安全数据解析器提供的冗余(即,用于实现不需要数据的所有的分离部分就可以重构原始数据的特征)以防止数据损失。不管是否使用冗余,安全数据解析器还使得写入存储装置的所有数据可以成为根据本发明的解析而产生的多个部分的形式。当尝试访问原始数据时,同样集成到卷管理器或存储***内的其它合适部件的适当软件可以按照对于端用户透明的方式将解析的数据部分重组成原始数据。
在一个合适方案中,本发明的安全数据解析器可以集成到RAID控制器(作为硬件或者作为软件)。这使得可以将数据安全存储到多个驱动器上,同时在驱动器故障的情况下保持容错性。
例如为了保护敏感表信息,本发明的安全数据解析器可以集成到数据库。例如,在一个合适方案中,可以根据本发明对与数据库表的特定单元(例如,个体单元、一个或多个特定列、一个或多个特定行、它们的任何组合、或者整个数据库表)关联的数据进行解析和分离(例如,其中,不同的部分存储在位于一个或多个位置处的一个或多个存储装置上或者单个存储装置上)。可以通过传统的认证方法(例如,用户名和口令)来授权为了观看原始数据而重组这些部分的访问。
本发明的安全解析器可以集成到包括移动中数据(data in motion)(即,数据从一个位置到另一个位置的转移)的任何合适***内。这些***例如包括电子邮件、流式数据广播和无线(例如,WiFi)通信。关于电子邮件,在一个合适方案中,安全解析器可用于对外发消息(即,包含文本、二进制数据或二者(例如,附于电子邮件消息的文件))进行解析并且沿着不同路径发送解析数据的不同部分,由此建立多个数据流。如果这些数据流中的任何一个受到危害,则原始消息仍然安全,因为根据本发明,为了产生原始数据,该***要求组合超过一个的部分。在另一个合适方案中,数据的不同部分可以沿着一个路径顺序地传送从而使得如果获得了一个部分,则这不足以产生原始数据。根据本发明,这些不同部分到达期望收件人的位置并且可以被组合以产生原始数据。
图28和图29是这种电子邮件***的例示性框图。图28示出了发件人***2700,它可以包括任何合适硬件,例如,计算机终端、个人计算机、手持装置(例如,PDA、黑莓)、蜂窝电话、计算机网络、任何其它合适硬件、或者它们的任何组合。发件人***2700用于产生和/或存储消息2704,消息2704例如可以是电子邮件消息、二进制数据文件(例如,图形、语音、视频等)或二者。根据本发明由安全数据解析器2702对消息2704进行解析和***。得到的数据部分可以经由一个或多个分立的通信路径2706通过网络2708(例如,互联网、内联网、LAN、WiFi、蓝牙、任何其它合适有线或无线通信手段、或者它们的任何组合)传送至收件人***2710。可以在时间上并行地或者另选地根据不同数据部分的通信之间的任何合适的时间延迟,传送这些数据部分。收件人***2710可以是关于发件人***2700如上所述的任何合适硬件。根据本发明,沿着通信路径2706运送的单独的数据部分在收件人***2710处被重组以产生原始消息或数据。
图29示出了发件人***2800,它可以包括任何合适硬件,例如,计算机终端、个人计算机、手持装置(例如,PDA)、蜂窝电话、计算机网络、任何其它合适硬件、或者它们的任何组合。发件人***2800用于产生和/或存储消息2804,消息2804例如可以是电子邮件消息、二进制数据文件(例如,图形、语音、视频等等)或二者。根据本发明由安全数据解析器2802对消息2804进行解析和***。得到的数据部分可以经由单个通信路径2806通过网络2808(例如,互联网、内联网、LAN、WiFi、蓝牙、任何其它合适的有线或无线通信手段、或者它们的任何组合)传送至收件人***2810。这些数据部分可以经由通信路径2806相对于彼此串行传送。收件人***2810可以是在上文关于发件人***2800描述的任何合适硬件。根据本发明,沿着通信路径2806运送的各个数据部分在收件人***2810处被重组以产生原始消息或数据。
应该明白,图28和图29的布置仅仅是例示性的。可以使用任何其它合适布置。例如,在另一个合适方案中,图28和29的***的特征可以进行组合,从而使用图28的多路径方案,并且其中,与在图29中通信路径2806一样,一个或多个通信路径2706用于运送超过一个的数据部分。
安全数据解析器可以集成在移动中数据***的任何合适等级。例如,在电子邮件***的情况下,安全解析器可以集成在用户接口等级(例如,集成到Outlook中),在这种情况下,当使用电子邮件时,用户可以对安全数据解析器特征的使用进行控制。或者,可以在后端部件(例如在交换服务器)中实现安全解析器,在这种情况下,根据本发明,不需要任何用户干涉,可以自动对消息进行解析、***并且沿着不同路径进行传送。
类似地,在数据(例如,音频、视频)的流式广播的情况下,输出数据可以被解析和分离成多个流,每个流包含解析数据的一部分。根据本发明,这多个流可以沿着一个或多个路径发送并且在收件人的位置进行重组。这种方案的好处之一是,避免了与对数据进行传统加密然后通过单个通信通道发送加密的数据相关联的相对较大的开销。本发明的安全解析器允许多个并行流中发送移动中数据,从而提高了速度和效率。
应该明白,为了通过任何传输介质(例如包括有线、无线或物理)的任何类型的移动中数据的保护和容错,可以集成安全数据解析器。例如,IP语音(VoIP)应用可以利用本发明的安全数据解析器。可以使用本发明的安全数据解析器来保护往来于任何合适个人数字助理(PDA)装置(例如,黑莓和智能电话)的无线或有线数据传输。对等和基于集线器的无线网络的使用无线802.11协议的通信、卫星通信、点对点无线通信、互联网客户机/服务器通信或者任何其它合适通信可以包括根据本发明的安全数据解析器的移动中数据能力。计算机外设装置(例如,打印机、扫描仪、监视器、键盘、网络路由器、生物测定认证装置(例如,指纹扫描仪)、或者任何其它合适外设装置)之间、计算机与计算机外设装置之间、计算机外设装置与任何其它合适装置之间的数据通信或者它们的任何组合可以利用本发明的移动中数据特征。
本发明的移动中数据特征还可以应用于例如使用独立路线、媒介物、方法的安全份的物理传输、任何其它合适的物理传输或者它们的任何组合。例如,数据的物理传输可以发生于数字/磁带、软盘、光盘、物理令牌、USB驱动器、可移动硬盘、具有闪存的消费电子装置(例如苹果IPOD或其它MP3播放器)、闪存、用于传输数据的任何其它合适介质、或者它们的任何组合。
本发明的安全数据解析器向安全性提供了灾难恢复的能力。根据本发明,为了获取原始数据,不需要由安全数据解析器产生的所有部分的分离数据。也就是说,在存储的m个部分之中,n可以是这m个部分之中获取原始数据所需的最小数,其中,n<=m。例如,如果四个部分的每个存储在与其它三个部分不同的物理位置中,那么如果在这个例子中n=2,则这些位置中的两个可被危害从而数据被破坏或者不可访问,并且从其它两个位置中的部分仍可以获取原始数据。对于n或m,可以使用任何合适值。
此外,本发明的m取n特征可用于建立“双人规则”,由此为了避免委托单个个人或者任何其它实体对可能是敏感数据的事务进行全面访问,两个或更多不同实体(每个实体具有由本发明的安全解析器解析的分离数据的一部分)需要同意将它们的各部分放到一起以获取原始数据。
本发明的安全数据解析器可用于向一组实体提供组范围密钥,该组范围密钥使组成员可以访问由该特定组授权访问的特定信息。组密钥可以是例如为了获取寻找的信息而需要与在中心存储的另一个部分进行组合的、由根据本发明的安全解析器产生的数据部分之一。例如,这个特征允许在组内实现安全协作。例如,它可以应用于专有网络、虚拟专用网、内联网、或者任何其它合适网络。
安全解析器的这种用途的特定应用例如包括联合信息共享,在联合信息共享中,例如,对多国友好政府军队给予基于对每个对应国家授权的安全等级通过单个网络或双重网络(即,与涉及当前使用的相对较多人工处理的许多网络相比)传送在操作和其它方面敏感的数据的能力。这种能力还可应用于公司或其它组织,其中,需要由一个或多个特定个人(组织内或组织外)知道的信息可以经由单个网络传送,而不需要担心未授权个人观看该信息。
另一个特定应用包括用于政府***的多级安全性层级。也就是说,本发明的安全解析器可以提供使用单个网络以不同等级的机密信息(例如,不机密、机密、秘密、绝密)操作政府***的能力。如果需要,可使用更多网络(例如,对于绝密使用单独网络),但是本发明允许比对每个等级的机密使用独立网络的当前布置实质更少的布置。
应该明白,可以使用本发明的安全解析器的上述的应用的任何组合。例如,组密钥应用能够与移动中数据安全性应用一起使用(即,由此,通过网络传送的数据仅能够由对应组的成员访问,并且在这种情况下,当数据在移动时,根据本发明它在多个路径中进行***(或者以顺序得部分进行发送))。
本发明的安全数据解析器可以集成到任何中间件应用中,从而使得应用能够将数据安全存储到不同数据库产品或不同装置,而不需要对应用或数据库进行改动。中间件是使得两个独立和已经存在的程序可以进行通信的任何产品的一般术语。例如,在一个合适方案中,集成了安全数据解析器的中间件可用于使得针对特定数据库编写的程序与其它数据库进行通信,而不用定制编码。
本发明的安全数据解析器可以实现为具有例如本文所述的任何合适能力的任何组合。在本发明的一些实施例中,例如,安全数据解析器可以实现为仅仅具有某些能力,但是可以通过使用直接或间接与安全数据解析器对接的外部软件、硬件或二者而获得其它能力。
图30例如示出了作为安全数据解析器3000的安全数据解析器的例示性实施方式。安全数据解析器3000可以实现为具有非常少的内置能力。如所示,根据本发明,安全数据解析器3000可以包括使用模块3002将数据解析和***成多个部分(这里也称作份)的内置能力。安全数据解析器3000还可以包括使用模块3004执行冗余从而能够实现例如上述得m取n特征(即,不需要使用解析和***的所有的数据份就可以重建原始数据)的内置能力。根据本发明,安全数据解析器3000还可以包括使用模块3006将数据份安置到缓冲器内(这些数据份从这些缓冲器发送以传送至远程位置、进行存储等)的份分布能力。应该明白,任何其它合适能力可以内置到安全数据解析器3000中。
组装数据缓冲器3008可以是用于存储将由安全数据解析器3000进行解析和***的原始数据(尽管不一定是它的原始形式)的任何合适存储器。在***操作中,组装数据缓冲器3008向安全数据解析器3008提供输入。在恢复操作中,组装数据缓冲器3008可用于存储安全数据解析器3000的输出。
***份缓冲器3010可以是可用于存储从原始数据的解析和***获得的多个数据份的一个或多个存储器模块。在***操作中,***份缓冲器3010保持安全数据解析器的输出。在恢复操作中,***份缓冲器保持对安全数据解析器3000的输入。
应该明白,对于安全数据***器3000,可以内置能力的任何其它合适布置。可以内置任何附加特征,并且可以去除所例示的任何特征,使得所例示的任何特征更加健壮、较不健壮,或者以任何合适方式对所例示的任何特征进行修改。缓冲器3008和3010同样仅仅是例示性的并且可以以任何合适方法进行修改、去除或者添加。
以软件、硬件或二者实现的任何合适模块可以由安全数据解析器3000调用或者对安全数据解析器3000进行调用。如果需要,即使是内置到安全数据解析器3000中的能力也可以由一个或多个外部模块进行替换。如所示,一些外部模块包括随机数产生器3012、密码反馈密钥产生器3014、哈希算法3016、任何一个或多个类型的加密3018和密钥管理3020。应该明白,这些仅仅是例示性外部模块。除了所示这些外部模块以外或者替代所示这些外部模块,还可以使用任何其它合适模块。
密码反馈密钥产生器3014可以在安全数据解析器3000的外部,为每个安全数据解析器操作产生唯一密钥或者随机数(例如使用随机数产生器3012),该唯一密钥或者随机数用作用于将原始会话密钥大小(例如,128、256、512或1024比特的值)扩展至等于要解析和***的数据的长度的值的操作的种子值。任何合适算法可用于密码反馈密钥产生,例如包括AES密码反馈密钥产生算法。
为了便于将安全数据解析器3000及其外部模块(即,安全数据解析器层3026)集成到应用层3024(例如,电子邮件应用、数据库应用等)中,可以使用可利用例如API函数调用的包装层。可以使用便于将安全数据解析器层3026集成到应用层3024中的任何其它合适布置。
图31例示性示出了当在应用层3024中发出写命令(例如,写入存储装置)、***命令(例如,***数据库字段中)或者发送命令(例如,经由网络)时可以如何使用图30的布置。在步骤3100中,识别要保护的数据并且调用安全数据解析器。该调用传递到包装器层3022,在步骤3102中,包装器层3022将在步骤3100中识别的输入数据流式传输到组装数据缓冲器3008。另外,在步骤3102中,任何合适的份信息、文件名、任何其它合适信息、或者它们的任何组合可以被存储(例如,作为包装器层3022中的信息3106)。根据本发明,安全数据处理器3000然后对它从组装数据缓冲器3008作为输入获取的数据进行解析和***。它将数据份输出到***份缓冲器3010。在步骤3104中,包装器层3022从存储的信息3106获得任何合适份信息(即,在步骤3102中由包装器层3022存储的份信息)和份位置(例如,来自于一个或多个配置文件)。包装器层3022然后适当地对输出份(从***份缓冲器3010获得)执行写操作(例如,写入一个或多个存储装置,在网络上传送,等等)。
图32例示性示出了当执行读(例如,从存储装置)、选择(例如,从数据库字段)、或者接收(例如,从网络)时可以如何使用图30的布置。在步骤3200中,识别要恢复的数据并且从应用层3024调用安全数据解析器3000。在步骤3202中,从包装器层3022获得任何合适份信息并且确定份位置。包装器层3022将在步骤3200中识别的数据的部分加载到***份缓冲器3010中。然后,安全数据解析器3000根据本发明对这些份进行处理(例如,如果仅可获得四份中的三份,则可以使用安全数据解析器3000的冗余能力,从而仅使用这三份就能够恢复原始数据)。然后,恢复的数据存储在组装数据缓冲器3008中。在步骤3204中,应用层3022将存储在组装数据缓冲器3008中的数据转换成它的原始数据格式(如果需要)并且将原始格式的原始数据提供给应用层3024。
应该明白,图31所示的原始数据的解析和***以及图32所示的将数据部分恢复为原始数据仅仅是例示性的。除了所示的这些以外或者替代所示的这些,还可以使用任何其它合适的过程、部件或二者。
图33是根据本发明的一个实施例的用于将原始数据解析和***成两个或更多数据部分的例示性处理流程的框图。如所示,期望进行解析和***的原始数据是明文3306(即,单词“SUMMIT”用作例子)。应该明白,可以根据本发明对任何其它类型的数据进行解析和***。产生会话密钥3300。如果会话密钥3300的长度与原始数据3306的长度不兼容,则可以产生密码反馈会话密钥3304。
在一个合适方案中,在进行解析、***或在二者之前,可以对原始数据3306进行加密。例如,如图33所示,可将原始数据3306与任何合适值(例如,与密码反馈会话密钥3304或者与任何其它合适值)进行异或。应该明白,除了所示的XOR技术以外或者替代所示的XOR技术,还可以使用任何其它合适的加密技术。还应该明白,尽管针对逐字节的操作示出图33,但是该操作可以以比特级或任何其它合适等级进行。还应该明白,如果希望,不需要对原始数据3306进行任何加密。
然后,对得到的加密的数据(或者原始数据(在没有进行加密的情况下))进行哈希处理以确定如何在输出桶(例如,在所示例子中是四个)之间将加密(或者原始)数据***。在所示例子中,基于字节进行哈希处理并且哈希处理是密码反馈会话密钥3304的函数。应该明白,这仅仅是例示性的。如果希望,可以在比特级执行哈希处理。哈希处理可以是除密码反馈会话密钥3304以外的任何其它合适值的函数。在另一个合适方案中,不需要使用哈希处理。而是可以采用用于对数据进行***的任何其它合适技术。
图34是根据本发明的一个实施例的用于从原始数据3306的两个或更多的解析和***部分恢复原始数据3306的例示性处理流程的框图。该处理包括基于密码反馈会话密钥3304对这些部分进行反向哈希处理(即,与图33的过程反向)从而恢复加密的原始数据(或者原始数据,如果在解析和***之前没有进行加密的话)。然后可使用加密密钥来恢复原始数据(即,在所示的例子中,通过将密码反馈会话密钥3304与加密的数据进行XOR处理,使用密码反馈会话密钥3304对XOR加密进行解密)。这恢复了原始数据3306。
图35示出了在图33和图34的例子中如何实现比特***。哈希处理可用于确定***每个数据字节的比特值(例如,基于密码反馈会话密钥、基于任何其它合适值)。应该明白,这仅仅是在比特级实施***的一个例示性方法。可使用其它合适技术。
应该明白,可以针对任何合适哈希算法形成本文所述的哈希功能。这些算法例如包括MD5和SHA-1。可以在不同时间由本发明的不同部件使用不同的哈希算法。
在根据以上例示性过程或者通过任何其它过程或算法确定了***点后,确定向哪些数据部分附加左段和右段的每一个。任何合适算法可用于执行这个确定。例如,在一个合适方案中,可建立所有可能分布(例如,按照针对左段和针对右段的目的地的配对的形式)的表,由此,可以通过对可被产生并扩展至原始数据的大小的会话密钥、密码反馈会话密钥或任何其它合适的随机或伪随机值中的对应数据使用任何合适哈希函数,来确定针对左段和右段的每个的目的地份值。例如,可以产生随机或伪随机值中的对应字节的哈希函数。该哈希函数的输出用于确定从所有目的地组合的表中选择哪个目的地的配对(即,针对左段的一个目的地和针对右段的一个目的地)。基于这个结果,***数据单元的各段被附加到由作为哈希函数的结果而选择的表值所指示的对应的两份。
根据本发明可以将冗余信息附加到数据部分从而不需要使用所有的数据部分就能够恢复原始数据。例如,如果希望四个部分中的两个部分就足以恢复数据,则份中的附加数据可以例如以轮循(round-robin)方式相应地附加到每份(例如,当原始数据的大小是4MB时,份1获得它自身的份以及份2和份3的份;份2获得它自身的份以及份3和份4的份;份3获得它自身的份以及份4和份1的份;份4获得它自身的份以及份1和份2的份)。根据本发明,可以使用任何这种合适的冗余。
应该明白,根据本发明,任何其它合适的解析和***方案可用于从原始数据集产生多个数据部分。例如,可以逐比特地随机或伪随机处理解析和***。可以使用随机或伪随机值(例如,会话密钥、密码反馈会话密钥等),由此,针对原始数据中的每个比特,关于随机或伪随机值中的对应数据的哈希函数的结果可以指示向哪个份附加对应比特。在一个合适方案中,随机或伪随机值可以被产生为或者扩展至原始数据的大小的8倍,从而可以关于原始数据的每个比特,对随机或伪随机值的对应字节执行哈希函数。根据本发明,可以使用逐比特级解析并***数据的任何其它合适算法。还应该明白,根据本发明,冗余数据例如可以以上文刚描述的方式附加到数据份。
在一个合适方案中,解析和***不需要是随机或伪随机的。而且,可以使用用于解析和***数据的任何合适确定性算法。例如,可以采用将原始数据分解成多个顺序份,作为一种解析和***算法。另一个例子是逐比特地解析并***原始数据,按照轮循方式顺序地向数据份附加每个对应比特。还应该明白,根据本发明,冗余数据可以例如以上述方式附加到数据份。
在本发明的一个实施例中,在安全数据解析器产生原始数据的多个部分后,为了恢复原始数据,某一个或更多的产生的部分可以是强制性的。例如,如果这些部分之一用作认证份(例如,保存在物理令牌装置上)并且如果使用安全数据解析器的容错特征(即,恢复原始数据不需要所有的数据部分),则即使安全数据解析器可访问足够数目的原始数据的部分来恢复原始数据,在它恢复原始数据之前仍需要存储在物理令牌装置上的认证份。应该明白,例如基于应用、数据类型、用户、任何其它合适因素、或者它们的任何组合,可要求任何数目和类型的特定份。
在一个合适方案中,安全数据解析器或者安全数据解析器的某外部部件可以对原始数据的一个或多个部分进行加密。为了恢复原始数据,需要提供并解密加密的部分。可用不同的加密密钥对不同的加密部分进行加密。例如,这个特征可用于实现更安全的“双人规则”,由此,第一用户将需要具有使用第一加密进行加密的特定份,第二用户将需要具有使用第二加密密钥进行加密的特定份。为了访问原始数据,这两个用户将需要具有他们各自的加密密钥并且提供他们各自的原始数据的部分。在一个合适方案中,可用公钥对一个或多个数据部分(可能是恢复原始数据所需的强制性份)进行加密。然后可用私钥对该份进行解密从而用于恢复成原始数据。
可使用利用强制性份的任何这种合适范例,其中,恢复原始数据不需要所有份。
在本发明的一个合适实施例中,可以随机或伪随机地处理,将数据分布到有限数目的数据份中,从而基于统计观点,任何特定数据份接收特定数据单元的概率与剩余份中的任何一个将接收该数据单元的概率相等。结果,每个数据份将具有近似相等的数据比特量。
根据本发明的另一个实施例,有限数目的数据份中的每个不需要具有从原始数据的解析和***接收数据单元的相等概率。而且,某一份或多份可具有比其余份要高或低的概率。结果,某些份与其它份相比,比特大小可以更大或更小。例如,在两份的情况下,一份可具有接收数据单元的1%概率,而第二份具有99%概率。由此,应该明白,一旦数据单元被安全数据解析器分布到两份之中,第一份应该具有约1%的数据,第二份应该具有99%的数据。根据本发明,可使用任何合适概率。
应该明白,安全数据解析器可以被设计为根据精确(或者近似精确)的百分比向份分布数据。例如,安全数据解析器可以被设计为将数据的80%分布给第一份,将剩余20%的数据分布给第二份。
根据本发明的另一个实施例,安全数据解析器可以产生多个数据份,这些数据份中的一个或多个具有预定大小。例如,安全数据解析器可以将原始数据***成多个数据部分,其中,这些部分之一是精确的256比特。在一个合适方案中,如果不可以产生具有需要大小的数据部分,则安全数据解析器可以填塞该部分以使其为正确大小。可使用任何合适大小。
在一个合适方案中,数据部分的大小可以是加密密钥、***密钥、任何其它合适密钥、或者任何其它合适数据元素的大小。
如上所述,在解析和***数据的过程中,安全数据解析器可以使用密钥。为了清楚和简洁,在本文中这些密钥将被称作“***密钥”。例如,先前介绍的会话主密钥是一种***密钥。另外,如上所述,可以在由安全数据解析器产生的数据份内对***密钥进行保护。用于保护***密钥的任何合适算法可用于在数据份之间对它们进行保护。例如,Shamir算法可用于保护***密钥,由此,产生可用于重建***密钥的信息并且将其附加到数据份。根据本发明可以使用任何其它这样的合适算法。
类似地,可以根据任何合适算法(例如,Shamir算法)在一个或多个数据份内对任何合适的加密密钥进行保护。例如,可使用Shamir算法或者任何其它合适算法保护用于在解析和***之前对数据集进行加密的加密密钥、用于在解析和***后对数据部分进行加密的加密密钥或者这二者。
根据本发明的一个实施例,可使用诸如全包变换的全都或全不变换(All orNothing Transform,AoNT),通过对***密钥、加密密钥、任何其它合适数据元素或者它们的任何组合进行变换,进一步保护数据。例如,用于在根据本发明的解析和***之前对数据集进行加密的加密密钥可通过AoNT算法进行变换。然后,变换的加密密钥可以根据例如Shamir算法或者任何其它合适算法分布到各数据份之中。为了重建加密密钥,必须恢复加密的数据集(例如,如果根据本发明使用冗余,则不需要使用所有数据份),从而访问关于根据本领域技术人员公知的AoNT的变换的必要信息。当获取了原始加密密钥时,它可用于对加密的数据集进行解密以获取原始数据集。应该明白,本发明的容错特征可以与AoNT特征进行结合使用。也就是说,冗余数据可以包括在数据部分中,从而恢复加密的数据集不需要所有的数据部分。
应该明白,除了与在解析和***之前的数据集对应的各个加密密钥的加密和AoNT以外或者代替地,AoNT可应用于用于在解析和***后对数据部分进行加密的加密密钥。同样地,AoNT可应用于***密钥。
在本发明的一个实施例中,例如可使用工作组密钥对根据本发明使用的加密密钥、***密钥或二者进行进一步加密,从而向保护的数据集提供额外等级的安全性。
在本发明的一个实施例中,可以提供一个审计模块,每当调用安全数据解析器对数据进行***时,该审计模块进行跟踪。
图36示出了使用根据本发明的安全数据解析器的部件的可能选项3600。在图36中,在下面概要说明选项的每个组合并且用适当的步骤编号进行标记。安全数据解析器实质上可以是模块式的,从而可以在图36所示的每个功能块内使用任何已知算法。例如,其它密钥***(例如,秘密共享)算法(例如,Blakely算法)可用于替代Shamir,或者AES加密可由其它已知加密算法(例如,三重DES)替代。图36的例子中所示的标签仅仅描绘用于本发明的一个实施例中的算法的一个可能组合。应该明白,可使用任何合适算法或者算法组合来替代所标记的算法。
1)3610、3612、3614、3615、3616、3617、3618、3619
在步骤3610中使用先前加密的数据,该数据最终可以***成预定数目的份。如果***算法要求密钥,则在步骤3612中可使用密码术安全伪随机数产生器来产生***加密密钥。可选地,在步骤3614中可以使用全都或全不变换(AoNT)将***加密密钥变换成变换***密钥,然后在步骤3615中***加密密钥成为***成具有容错性的预定数目的份的密钥。在步骤3616中,该数据然后可***成预定数目的份。可以在步骤3617中使用容错方案,从而不需要全部的份就可以重新产生数据。一旦建立了份,在步骤3618中认证/完整性信息可以嵌入到这些份中。可选地,在步骤3619中可对每份进行后置加密。
2)3111、3612、3614、3615、3616、3617、3618、3619
在一些实施例中,可使用由用户或外部***提供的加密密钥对输入数据进行加密。在步骤3611中提供外部密钥。例如,该密钥可以从外部密钥库提供。如果***算法要求密钥,则在步骤3612中可使用密码术安全伪随机数产生器产生***加密密钥。可选地,在步骤3614中可以使用全都或全不变换(AoNT)将***密钥变换成变换***加密密钥,然后在步骤3615中***密钥成为***成具有容错性的预定数目的份的密钥。在步骤3616中,该数据然后***成预定数目的份。可以在步骤3617中使用容错方案,从而不需要全部的份就可以重新产生数据。一旦建立了份,在步骤3618中认证/完整性信息可以嵌入到这些份中。可选地,在步骤3619中可对每份进行后置加密。
3)3612、3613、3614、3615、3612、3614、3615、3616、3617、3618、3619
在一些实施例中,在步骤3612中可以使用密码术安全伪随机数产生器产生加密密钥以对数据进行变换。在步骤3613中可以使用产生的加密密钥对数据进行加密。可选地,在步骤3614中可使用全都或全不变换(AoNT)将加密密钥变换成变换加密密钥。然后,在步骤3615中,变换加密密钥和/或产生的加密密钥可以被***到具有容错性的预定数目的份中。如果***算法要求密钥,则在步骤3612中使用密码术安全伪随机数产生器产生***加密密钥。可选地,在步骤3614中可以使用全都或全不变换(AoNT)将***密钥变换成变换***加密密钥,然后在步骤3615中***密钥成为***成具有容错性的预定数目的份的密钥。在步骤3616中,该数据然后可***成预定数目的份。可以在步骤3617中使用容错方案,从而不需要全部的份就可以重新产生数据。一旦建立了份,在步骤3618中认证/完整性信息可以嵌入到这些份中。可选地,在步骤3619中可对每份进行后置加密。
4)3612、3614、3615、3616、3617、3618、3619
在一些实施例中,数据可以被***成预定数目的份。如果***算法要求密钥,则在步骤3612中使用密码术安全伪随机数产生器产生***加密密钥。可选地,在步骤3614中可以使用全都或全不变换(AoNT)将***密钥变换成变换***密钥,然后在步骤3615中***密钥成为***成具有容错性的预定数目的份的密钥。在步骤3616中,该数据然后可***成预定数目的份。可以在步骤3617中使用容错方案,从而不需要全部的份就可以重新产生数据。一旦建立了份,在步骤3618中认证/完整性信息可以嵌入到这些份中。可选地,在步骤3619中可对每份进行后置加密。
尽管以上四个选项组合优选用于本发明的一些实施例,但是在其它实施例中任何其它合适的特征、步骤或选项的组合可与安全数据解析器一起使用。
安全数据解析器通过使物理分离容易,可以提供灵活的数据保护。可以首先对数据进行加密,然后基于“n取m”容错性将数据***成多个份。这使得当不能够获取全部数目的份时仍能够重新产生原始信息。例如,一些份在传输过程中可能丢失或损坏。如下文更加详细的描述,基于附于各分的完整性信息和容错性,可以重建丢失或损坏的份。
为了建立这些份,可选地,安全数据解析器利用多个密钥。这些密钥可以包括下面密钥中的一个或多个:
前置加密密钥:当选择各份的前置加密时,外部密钥可以传递至安全数据解析器。这个密钥可以被产生并且存储在外部的密钥库中(或者其它位置)并且可用于可选地在数据***之前对数据进行加密。
***加密密钥:这个密钥可以在内部产生并且由安全数据解析器用于在***之前对数据进行加密。然后,可以使用密钥***算法将这个密钥安全地存储在各份内。
***会话密钥:这个密钥不用于加密算法,而且当选择了随机***时,它可用作数据划分算法的密钥。当使用随机***时,可在内部产生***会话密钥并且由安全数据解析器用其将数据划分成多个份。可以使用密钥***算法将这个密钥安全地存储在各份内。
后置加密密钥:当选择了各份的后置加密时,外部密钥可以传递至安全数据解析器并且用于对各个份进行后置加密。这个密钥可以产生并且存储在外部的密钥库中或者其它合适位置。
在一些实施例中,当以这种方式使用安全数据解析器保护数据时,只有存在所有所需的份和外部加密密钥才可以重装信息。
图37示出了在一些实施例中使用本发明的安全数据解析器的例示性总览过程3700。如上所述,安全数据解析器3706的两个非常合适的功能可以包括加密3702和备份3704。这样,在一些实施例中,安全数据解析器3706可以与RAID或备份***或硬件或软件密码引擎集成在一起。
与安全数据解析器3706关联的主密钥过程可以包括前置加密过程3708、加密/变换过程3710、密钥保护过程3712、解析/分布过程3714、容错过程3716、份认证过程3716和后置加密过程3720中的一个或多个。如图36所详示,这些过程可以按照几个合适顺序或组合执行。使用的过程的组合和顺序可以取决于特定应用或使用、希望的安全等级、希望可选的前置加密、后置加密还是二者、希望的冗余、基础或集成***的能力或性能、或者任何其它合适因素或因素的组合。
例示性过程3700的输出可以是两个或更多的份。如上所述,在一些实施例中,数据可以随机地(或伪随机地)分布到这些份中的每一个。在其它实施例中,可使用确定性算法(或者随机、伪随机和确定性算法的某合适组合)。
除了信息资产的个别保护外,有时候需要在不同用户组或者关注团体之间共享信息。于是需要在用户组内控制对各份的访问或者在仅仅允许组成员对份进行重装的那些用户之间共享证明。为此,在本发明的一些实施例中,可将工作组密钥部署给组成员。由于工作组密钥受到危害可潜在允许组外的人访问信息,所以工作组密钥应该被保护并保持保密。在下文讨论用于工作组密钥部署和保护的一些***和方法。
通过对存储在各份内的密钥信息进行加密,工作组密钥概念允许对信息资产的加强保护。一旦执行了这个操作,即使发现了所有所需的份和外部密钥,攻击方无法访问工作组密钥的话也没有希望重建信息。
图38示出了在份内存储密钥和数据成分的例示性框图3800。在图3800的例子中,省去了可选的前置加密和后置加密步骤,但是在其它实施例中可以包括这些步骤。
***数据的简化过程包括在加密阶段3802使用加密密钥3804对数据进行加密。根据本发明,加密密钥3804的部分然后可以被***并存储在各份3810中。***加密密钥3806的部分也可存储在各份3810中。使用***加密密钥,数据3808于是被***并存储在各份3810中。
为了恢复数据,根据本发明可以获取并恢复***加密密钥3806。然后,可以反转***操作以恢复密文。还可以获得并且恢复加密密钥3804,然后使用该加密密钥对密文进行解密。
当利用工作组密钥时,可以稍微改变以上过程以用工作组密钥保护加密密钥。于是,在将加密密钥存储在份中之前,加密密钥可以通过工作组密钥进行加密。在图39的例示性框图3900中示出了修改的步骤。
使用工作组密钥***数据的简化过程包括在阶段3902中首先使用加密密钥对数据进行加密。然后,在阶段3904中可以用工作组密钥对加密密钥进行加密。然后,用工作组密钥加密的加密密钥可以被***成多个部分并且存储在各份3912内。***密钥3908也可以被***并存储在各份3912中。最后,使用***密钥3908将数据3910的部分***并存储在各份3912中。
为了恢复数据,根据本发明可以获取并恢复***密钥。然后,根据本发明可以反转***操作以恢复密文。可以获取并恢复加密密钥(使用工作组密钥对其进行了加密)。然后,可以使用工作组密钥对加密密钥进行解密。最后,可使用加密密钥对密文进行解密。
有多种用于部署并保护工作组密钥的安全方法。选择哪个方法用于特定应用取决于多个因素。这些因素可以包括所需的安全等级、成本、便利性、以及工作组中用户的数目。下面提供了在一些实施例中使用的一些常用技术。
基于硬件的密钥存储
基于硬件的方案通常为密码***内的加密/解密密钥的安全性提供最强保证。基于硬件的存储方案的例子包括将密钥存储在便携式装置(例如,智能卡/加密狗)中的防篡改密钥令牌装置或者非便携式密钥存储外设。这些装置被设计为防止由未授权方对密钥材料进行容易的复制。密钥可由信任的机构产生并且分布给用户,或者在硬件内产生。此外,许多密钥存储***提供多因素认证,其中,密钥的使用要求访问物理对象(令牌)以及密码短语(passphrase)或生物测定二者。
基于软件的密钥存储
尽管对于高安全性部署或应用会期望专用的基于硬件的存储,但是可以选择其它部署将密钥直接存储在本地硬件(例如,盘、RAM或诸如USB驱动器的非易失性RAM存储器)上。针对内部攻击或者在攻击方能够直接访问加密机的情况下,这提供较低等级的保护。
为了保护盘上的密钥,基于软件的密钥管理常常通过在从其它认证度量(包括口令和密码短语、其它密钥的存在(例如,来自基于硬件的方案)、生物测定、或者上述度量的任何合适组合)导出的密钥之下以加密的形式存储密钥来对密钥进行保护。由这些技术提供的安全性的等级可以在从由一些操作***(例如,MS Windows和Linux)提供的相对较弱密钥保护机制到使用多因素认证实现的更健壮方案的范围内。
有利的是,本发明的安全数据解析器可用于多个应用和技术中。例如,电子邮件***、RAID***、视频广播***、数据库***、磁带备份***、或者任何其它合适***可以具有以任何合适等级集成的安全数据解析器。如上所述,应该明白,还可以集成安全数据解析器以用于通过任何传输介质(例如包括有线、无线或者物理传输介质)的任何类型的移动中数据的保护和容错。作为一个例子,IP语音(VoIP)应用可以利用本发明的安全数据解析器解决与在VoIP内通常存在的回声和延迟有关的问题。通过使用容错可以消除对漏掉包进行网络再试的需要,即使在丢失预定数目的份的情况下这仍可以保证包传送。数据包(例如,网络包)还可以以最小延迟和缓冲“即时地(on-the-fly)”被高效地***和恢复,从而获得针对各种类型的移动中数据的综合方案。安全数据解析器可作用于网络数据包、网络语音包、文件***数据块、或者任何其它合适的信息单元。除了与VoIP应用集成在一起以外,安全数据解析器可以与文件共享应用(例如,对等文件共享应用)、视频广播应用、电子投票或民意调查应用(可以实现例如Sensus协议的电子投票协议和盲签名)、电子邮件应用、或者要求或希望安全通信的任何其它网络应用集成在一起。
在一些实施例中,本发明的安全数据解析器在两个不同阶段(即,首标产生阶段和数据划分阶段)可以提供对移动中网络数据的支持。在图40A和40B中分别示出了简化的首标产生过程4000和简化的数据划分过程4010。可以对网络包、文件***块、或者任何其它合适信息执行这些过程中的一个或二者。
在一些实施例中,在网络包流开始时可以执行一次首标产生过程4000。在步骤4002中,可以产生随机(或伪随机)***加密密钥K。然后,在AES密钥包装步骤4004中,(例如,使用上述的工作组密钥)可选地对***加密密钥K进行加密。尽管在一些实施例中可以使用AES密钥包装,但是在其它实施例中可以使用任何合适的密钥加密或者密钥包装算法。AES密钥包装步骤4004可以对整个***加密密钥K进行操作,或者该***加密密钥可以被解析成几个块(例如,64比特块)。如果需要,AES密钥包装步骤4004然后可以对***加密密钥的块进行操作。
在步骤4006中,秘密共享算法(例如,Shamir)可用于将***加密密钥K***成多个密钥份。然后,每个密钥份可以嵌入到输出份之一中(例如,份首标中)。最后,份完整性块和(可选的)后置认证标记(例如,MAC)可以附于每份的首标块。每个首标块可以被设计为适合安置在单个数据包内。
在首标产生完成后(例如,使用简化的首标产生过程4000),安全数据解析器可使用简化的数据***过程4010进入数据划分阶段。在步骤4012中,使用***加密密钥K对流中的每个输入数据包或数据块进行加密。在步骤4014中,可以对从步骤4012获得的密文计算份完整性信息(例如,哈希值H)。例如,可以计算出SHA-256哈希值。然后,在步骤4016中,可以使用根据本发明以上描述的数据***算法之一将数据包或数据块划分成两个或更多数据份。在一些实施例中,数据包或数据块可以被***为使得每个数据份包含加密的数据包或数据块的基本随机的分布。然后,完整性信息(例如,哈希值H)可以附于每个数据份。在一些实施例中,还可以计算可选的后置认证标记(例如,MAC)并且将其附于每个数据份。
每个数据份可以包括允许数据块或数据包的正确重建所需的元数据。这个信息可以包括在份首标内。元数据可以包括诸如密码密钥份、密钥身份、份现时、签名/MAC值和完整性块的信息。为了使带宽效率最大化,元数据可以以紧凑二进制格式存储。
例如,在一些实施例中,份首标包括明文首标块,该明文首标块没有加密并且可以包括例如Shamir密钥份、每会话现时、每份现时、密钥标识符(例如,工作组密钥标识符和后置认证密钥标识符)的元素。份首标还可以包括通过***加密密钥进行加密的加密的首标块。完整性首标块也可以包括在该首标内,完整性首标块可以包括对任何数目的先前块(例如,先前两块)的完整性检查。任何其它合适值或信息也可以包括在份首标内。
如图41的例示性份格式4100所示,首标块4102可与两个或更多的输出块4104关联。例如首标块4102的每个首标块可被设计为适合安置在单个网络数据包内。在一些实施例中,在首标块4102从第一位置发送至第二位置后,输出块然后可以被发送。或者,首标块4102和输出块4104可以同时并行地发送。可以经由一个或更多的类似或不类似的通信路径进行该发送。
每个输出块可以包括数据部分4106和完整性/真实性部分4108。如上所述,可以使用包括加密的预先划分的数据的份完整性信息(例如,SHA-256哈希值)的份完整性部分,对每个数据份进行保护。为了在恢复时验证输出块的完整性,安全数据解析器可以比较每份的份完整性块并且然后颠倒***算法。然后,可以针对份哈希值验证恢复的数据的哈希值。
如上所述,在本发明的一些实施例中,安全数据解析器可以与磁带备份***结合使用。例如,根据本发明,各个带子可用作节点(即,部分/份)。可以使用任何其它合适的布置。例如,由两个或更多磁带组成的磁带库或子***可被看作单个节点。
根据本发明,冗余也可以与磁带一起使用。例如,如果数据集分配在四个磁带(即,部分/份)之中,则为了恢复原始数据需要这四个磁带中的两个。应该明白,根据本发明的冗余特征,恢复原始数据可能需要任何合适数目的节点(即,少于全部数目的节点)。这实质上增大了当一个或多个磁带过期时恢复的可能性。
还可以用SHA-256、HMAC哈希值、任何其它合适值、或者它们的任何组合对每个磁带进行数字保护从而确保不会被篡改。如果磁带上的任何数据或者哈希值变化,则该磁带将不会是用于恢复的候选并且剩余磁带中的任何最小所需数目的磁带将用于恢复数据。
在传统的磁带备份***中,当用户请求将数据写入磁带或者从磁带读取数据时,磁带管理***(TMS)呈现与物理磁带安装对应的数目。这个磁带安装指向将安装数据的物理驱动器。由人磁带操作员或者磁带机器人在磁带仓中装载磁带。
在本发明之下,物理磁带安装可被认为是指向多个物理磁带的逻辑安装点。由于并行性,这不仅增大了数据容量还提高了性能。
为了提高性能,磁带节点可以是或者可以包括用于存储磁带映像的盘的RAID阵列。由于总是可以在受保护的RAID中获得数据,所以这可以实现高速恢复。
在任何上述实施例中,可以使用确定性的、概率性、或者既确定性又概率性的数据分布技术,将要保护的数据分布到多个份中。为了防止攻击方开始对任何密码块进行密码攻击,密码块中的比特可以被确定性地分布到份。例如,可以使用BitSegment(比特段)例程执行分布,或者可以对BlockSegment例程进行修改以允许将块的部分分布到多个份。这个策略可以防御累积了少于“M”份的攻击方。
在一些实施例中,可以使用密钥式信息分散(例如,通过使用密钥式信息分散算法或“IDA”),采用密钥式秘密共享例程。密钥式IDA的密钥还可以由一个或多个外部工作组密钥、一个或多个共享密钥、或者工作组密钥和共享密钥的任何组合进行保护。这样,可以采用多因素秘密共享方案。在一些实施例中,为了重建数据,至少需要“M”份外加工作组密钥(和/或共享密钥)。IDA(或者IDA的密钥)还可以被带入加密过程。例如,变换可以被带入明文(例如,在加密之前的前置处理层期间)并且还可以在对明文进行加密之前进一步对明文进行保护。
例如,在一些实施例中,密钥式信息分散用于将数据集中的数据的唯一部分分布到两个或更多份中。密钥式信息分散可以使用会话密钥首先加密数据集,然后将数据集的加密的数据的唯一部分分布到两个或更多的加密数据集份,或者既对数据集加密又将数据集的加密的数据的唯一部分分布到两个或更多加密数据集份。例如,为了分布数据集或加密数据集的唯一部分,可以使用秘密共享(或者上述方法,例如BitSegment或BlockSegment(块段))。会话密钥然后可以可选地进行变换(例如,使用全包变换或AoNT)并且例如使用秘密共享(或者密钥式信息分散和会话密钥)进行共享。
在一些实施例中,在密钥的唯一部分被分布或分配到两个或更多会话密钥份之前,可以使用共享密钥(例如,工作组密钥)对会话密钥进行加密。然后,通过将至少一个加密数据集份与至少一个会话密钥份进行组合可以形成两个或更多用户份。在形成用户份时,在一些实施例中,所述至少一个会话密钥份可以交织到加密的数据集份中。在其它实施例中,所述至少一个会话密钥份可以在至少部分基于共享的工作组密钥的位置***到加密数据集份中。例如,密钥式信息分散可用于将每个会话密钥份分布到唯一加密数据集份以形成用户份。在至少部分基于共享工作组的位置将会话密钥份交织或***到加密数据集份可以提高面对密码攻击的安全性。在其它实施例中,一个或更多会话密钥份可以附于加密数据集份的开始或末端以形成用户份。然后,用户份的集合可以单独地存储在至少一个数据储存器上。该数据储存器或多个数据储存器可以位于同一物理位置(例如,位于同一磁或磁带存储装置上)或者在地理上分离(例如,位于不同地理位置处的物理分离的服务器上)。为了重建原始数据集,需要一组授权的用户份和共享的工作组密钥。
即使在面对密钥获取启示器(oracle)时,密钥式信息分散仍是安全的。例如,取块密码E和针对E的密钥获取启示器,该针对E的密钥获取启示器取对块密码的输入/输出对的列表(X1,Y1)、......、(XC,YC)并且返回与输入/输出例子一致的密钥K(例如,对于所有i,Yi=EK(Xi))。如果没有一致的密钥,则该启示器可以返回特异值⊥。这个启示器可以模拟可从输入/输出例子的列表恢复密钥的密码分析攻击。
在存在密钥获取启示器的情况下,标准的基于块密码的方案可能会失败。例如,在存在密钥获取启示器的情况下,CBC加密或者CBCMAC可能变得完全不安全。
如果ΠIDA是IDA方案并且ΠEnc是由某块密码E的操作模式给出的加密方案,则如果在对手具有密钥获取启示器的模式下这两种方案与按照HK1或HK2的任意完美秘密共享方案(PSS)进行组合时达到健壮计算秘密共享(RCSS)目标,则(ΠIDA,ΠEnc)提供了面对密钥获取攻击的安全性。
如果存在IDA方案ΠIDA和加密方案ΠEnc以使得这对方案提供面对密钥获取攻击的安全性,则实现这对方案的一个方法是具有“聪明(clever)”IDA和“愚笨(dumb)”加密方案。实现这对方案的另一个方法是具有“愚笨”IDA和“聪明”加密方案。
为了示出聪明IDA和愚笨加密方案的使用,在一些实施例中,加密方案可以是CBC并且IDA可以具有“弱私密”性质。弱私密性质例如是指:如果对IDA的输入是块的随机序列M=M1...M1并且对手从未授权的集合获得份,则存在某块索引i使得对手无法计算Mi。通过首先向M应用信息理论AoNT(例如,Stinson的AoNT)然后应用例如BlockSegment的简单IDA或者如Rabin方案(例如,Reed-Solomon编码)的比特高效IDA,可以建立弱私密IDA。
为了示出愚笨IDA和聪明加密方案的使用,在一些实施例中,可以使用以双重加密替代单加密的CBC模式。现在,即使在复制的情况下仍可以使用任何IDA。由于对手将被拒绝任何单加密的输入/输出例子,所以对于对手来讲具有针对块密码的密钥获取启示器是无用的。
尽管聪明IDA具有价值,但是在一些环境下它也是无关紧要的,这意味着提供面对密钥获取攻击的安全性所需的“聪明”本可被“推送”到别处。例如,在一些实施例中,不管IDA如何聪明,以及不管在HK1/HK2环境下用IDA尝试达到什么目标,聪明可被从IDA推出并且推进加密方案,从而留下固定且愚笨的IDA。
基于以上内容,在一些实施例中,可以使用“普遍健全”的聪明IDAΠIDA。例如,提供IDA从而使得对于所有的加密方案ΠEnc,对(ΠIDA,ΠEnc)普遍地提供面对密钥获取攻击的安全性。
在一些实施例中,提供一种加密方案,该加密方案在面对密钥获取启示器时是RCSS安全的。该方案可以与HK1/HK2、与任何IDA集成以达到面对密钥获取的安全性。使用新方案可能特别有用,例如,使对称加密方案对于密钥获取攻击更加安全。
如上所述,经典秘密共享概念通常不是密钥式的。因此,将秘密分解成多份,或者按照既不要求经销商也不要求重建秘密的一方持有任何类型的对称或非对称密钥的方式从这些份重建秘密。然而,可选地,本文所述的安全数据解析器可以是密钥式的。经销商可提供对称密钥,如果这个对称密钥用于数据共享,则进行数据恢复需要这个对称密钥。安全数据解析器可以使用该对称密钥把要保护的消息的唯一部分分散或分布到两个或更多份。
共享的密钥可以实现多因素或两因素秘密共享(2FSS)。于是,对手需要排除两个基本不同类型的安全性以破坏安全性机制。例如,为了侵犯秘密共享目标,对手:(1)需要获得一组授权的玩家的份;(2)需要获得应该不能获得的秘密密钥(或者破坏通过该密钥进行密钥式控制的加密机制)。
在一些实施例中,一组新的附加要求添加到RCSS目标。这些附加要求可以包括“第二因素”,即密钥拥有。可以加入这些附加要求而不减少原始的一组要求。一组要求可以涉及如果对手知道秘密密钥但没有获得足够份也不能够破坏方案(例如,经典或第一因素要求),而另一组要求可以涉及如果对手具有秘密密钥但设法获得所有的份也不能够破坏方案(例如,新的或第二因素要求)。
在一些实施例中,存在两个第二因素要求:私密要求和真实性要求。在私密要求中,涉及一个博弈,其中,由环境选择秘密密钥K和比特b。对手现在在秘密共享方案的域中提供一对等长消息M1 0和M1 1。环境计算M1 b的份以获得份的矢量S1=(S1[1]、...、S1[n]),并且它将份S1(所有它们)给予对手。使用相同密钥K和隐藏的比特b,对手现在可以选择另一对消息(M2 0,M2 1)并且任何事情如上进行。对手的工作是输出他相信为b的比特b′。对手私密优势是1小于b=b′的概率的两倍。该博弈获得如下概念:即使获知所有份,如果缺少秘密密钥,对手仍不能够获知关于共享秘密的任何事。
在真实性要求中,可以涉及一个博弈,其中,环境选择私密密钥K并且在接下来对Share和Recover的调用中使用它。在一些实施例中,Share和Recover可以修改它们的语法以反映这个密钥的存在。然后,对手对它在秘密共享方案的域中选择的任何消息M1、...、Mq进行Share请求。响应于每个Share请求,它获得份S1、...、Sq的对应n矢量。对手的目的是伪造新的明本;如果它输出份S′的矢量使得当送给Recover算法时产生不在{M1、...、Mq}中的东西则它获胜。这是“明文完整性”概念。
有两种实现多因素秘密共享的方案。第一种方案是通用方案,在以黑盒方式使用基本(R)CSS方案的意义上的通用。认证的加密方案用于对要进行CSS共享的消息进行加密,然后例如可以使用秘密共享算法(例如,Blakely或Shamir)对得到的密文进行分配。
潜在更加高效的方案是允许共享密钥是工作组密钥。也就是说,(1)可以使用共享密钥对(R)CSS方案的随机产生的会话密钥进行加密,(2)应用于消息(例如,文件)的加密方案可由认证的加密方案替代。这个方案会使性能仅蒙受最小的下降。
尽管在上文描述了安全数据解析器的一些应用,但是应该清楚地明白,本发明可以与任何网络应用进行集成以提高安全性、容错性、匿名、或者上述的任何合适组合。
此外,鉴于本文的公开,熟练技术人员将明白其它的组合、添加、替代和修改。
Claims (34)
1.一种保护数据集的方法,所述方法包括:
使用会话密钥对数据集进行加密以生成加密的数据集;
用共享的工作组密钥对会话密钥进行加密;
将加密的会话密钥的各唯一部分分布到两个或更多会话密钥份中;
将加密的数据集的各唯一部分分布到两个或更多加密数据集份中;以及
通过将至少一个会话密钥份交织到至少一个加密数据集份中,形成两个或更多用户份,由此能够从所述两个或更多用户份中的至少两个以及共享的工作组密钥恢复所述数据集。
2.根据权利要求1的方法,其中,使用健壮计算秘密共享(RCSS)执行分布会话密钥的各唯一部分和分布加密的数据集的各唯一部分中的至少一个操作。
3.根据权利要求1的方法,其中,通过将至少一个会话密钥份与至少一个加密数据集份进行交织形成两个或更多用户份包括:在至少部分基于共享的工作组密钥的位置,将所述至少一个会话密钥份***到所述至少一个加密数据集份中。
4.根据权利要求1的方法,还包括:将所述两个或更多用户份分离地存储在至少一个数据储存器上。
5.根据权利要求4的方法,其中,将所述两个或更多用户份分离地存储在至少一个数据储存器上包括:将所述两个或更多用户份存储在同一数据储存器的不同位置上。
6.根据权利要求4的方法,其中,将所述两个或更多用户份分离地存储在至少一个数据储存器上包括:将所述两个或更多用户份存储在不同的数据储存器上。
7.根据权利要求4的方法,其中,将所述两个或更多用户份分离地存储在至少一个数据储存器上包括:将所述两个或更多用户份存储在不同地理位置处的不同数据储存器上。
8.根据权利要求1的方法,其中,将加密的数据集的各唯一部分分布到两个或更多加密数据集份中包括:
至少部分基于会话密钥产生随机数或伪随机数;
将所述随机数或伪随机数与所述两个或更多加密数据集份进行关联;
将所述随机数或伪随机数与加密的数据集中的数据单元进行关联;以及
至少部分基于所述随机数或伪随机数与所述两个或更多用户份以及与所述数据单元的关联,确定将每个数据单元分布到所述两个或更多加密数据集份中的哪一个中。
9.根据权利要求8的方法,其中,每个数据单元包括数据集中的数据字节和数据集中的数据比特中的一个。
10.根据权利要求1的方法,还包括产生会话密钥。
11.一种保护数据集的设备,所述设备包括:
用于使用会话密钥对数据集进行加密以生成加密的数据集的装置;
用于使用共享的工作组密钥对会话密钥进行加密的装置;
用于将加密的会话密钥的各唯一部分分布到两个或更多会话密钥份中的装置;
用于将加密的数据集的各唯一部分分布到两个或更多加密数据集份中的装置;以及
用于通过将至少一个会话密钥份交织到至少一个加密数据集份中形成两个或更多用户份的装置,由此能够从所述两个或更多用户份中的至少两个以及共享的工作组密钥恢复所述数据集。
12.根据权利要求11的设备,还包括用于使用健壮计算秘密共享(RCSS)执行分布会话密钥的各唯一部分和分布加密的数据集的各唯一部分中的至少一个操作的装置。
13.根据权利要求11的设备,其中,用于通过将至少一个会话密钥份与至少一个加密数据集份进行交织形成两个或更多用户份的装置包括:用于在至少部分基于共享的工作组密钥的位置,将所述至少一个会话密钥份***到所述至少一个加密数据集份中的装置。
14.根据权利要求11的设备,还包括:用于将所述两个或更多用户份分离地存储在至少一个数据储存器上的装置。
15.根据权利要求14的设备,其中,用于将所述两个或更多用户份分离地存储在至少一个数据储存器上的装置包括:用于将所述两个或更多用户份分离地存储在同一数据储存器的不同位置上的装置。
16.根据权利要求14的设备,其中,用于将所述两个或更多用户份分离地存储在至少一个数据储存器上的装置包括:用于将所述两个或更多用户份分离地存储在不同的数据储存器上的装置。
17.根据权利要求14的设备,其中,用于将所述两个或更多用户份分离地存储在至少一个数据储存器上的装置包括:用于将所述两个或更多用户份分离地存储在不同地理位置处的不同数据储存器上的装置。
18.根据权利要求11的设备,其中,用于将加密的数据集的各唯一部分分布到两个或更多加密数据集份中的装置包括:
用于至少部分基于会话密钥产生随机数或伪随机数的装置;
用于将所述随机数或伪随机数与所述两个或更多加密数据集份进行关联的装置;
用于将所述随机数或伪随机数与加密的数据集中的数据单元进行关联的装置;以及
用于至少部分基于所述随机数或伪随机数与所述两个或更多用户份以及与所述数据单元的关联,确定将每个数据单元分布到所述两个或更多加密数据集份中的哪一个中的装置。
19.根据权利要求18的设备,其中,每个数据单元包括数据集中的数据字节和数据集中的数据比特中的一个。
20.根据权利要求18的设备,还包括用于产生会话密钥的装置。
21.一种保护数据集的方法,所述方法包括:
使用会话密钥对数据集进行加密以生成加密的数据集;
将加密的会话密钥的各唯一部分分布到两个或更多会话密钥份中;
将加密的数据集的各唯一部分分布到两个或更多加密数据集份中;以及
通过将至少一个会话密钥份交织到至少一个加密数据集份中,形成两个或更多用户份,由此能够从所述两个或更多用户份中的至少两个恢复所述数据集。
22.根据权利要求21的方法,其中,使用健壮计算秘密共享(RCSS)执行分布会话密钥的各唯一部分和分布加密的数据集的各唯一部分中的至少一个操作。
23.根据权利要求21的方法,其中,通过将至少一个会话密钥份与至少一个加密数据集份进行交织形成两个或更多用户份包括:在至少部分基于共享的工作组密钥的位置,将所述至少一个会话密钥份***到所述至少一个加密数据集份中。
24.根据权利要求21的方法,还包括:将所述两个或更多用户份分离地存储在至少一个数据储存器上。
25.根据权利要求24的方法,其中,将所述两个或更多用户份分离地存储在至少一个数据储存器上包括以下之一:将所述两个或更多用户份存储在同一数据储存器的不同位置上;将所述两个或更多用户份存储在不同的数据储存器上;以及将所述两个或更多用户份存储在不同地理位置处的不同数据储存器上。
26.根据权利要求21的方法,其中,将加密的数据集的各唯一部分分布到两个或更多加密数据集份中包括:
至少部分基于会话密钥产生随机数或伪随机数;
将所述随机数或伪随机数与所述两个或更多加密数据集份进行关联;
将所述随机数或伪随机数与加密的数据集中的数据单元进行关联;以及
至少部分基于所述随机数或伪随机数与所述两个或更多用户份以及与所述数据单元的关联,确定将每个数据单元分布到所述两个或更多加密数据集份中的哪一个中。
27.根据权利要求26的方法,其中,每个数据单元包括数据集中的数据字节和数据集中的数据比特中的一个。
28.一种保护数据集的设备,所述设备包括:
用于使用会话密钥对数据集进行加密以生成加密的数据集的装置;
用于将加密的会话密钥的各唯一部分分布到两个或更多会话密钥份中的装置;
用于将加密的数据集的各唯一部分分布到两个或更多加密数据集份中的装置;以及
用于通过将至少一个会话密钥份交织到至少一个加密数据集份中,形成两个或更多用户份的装置,由此能够从所述两个或更多用户份中的至少两个恢复所述数据集。
29.根据权利要求28的设备,还包括:用于使用健壮计算秘密共享(RCSS)执行分布会话密钥的各唯一部分和分布加密的数据集的各唯一部分中的至少一个操作的装置。
30.根据权利要求28的设备,其中,用于通过将至少一个会话密钥份与至少一个加密数据集份进行交织形成两个或更多用户份的装置包括:用于在至少部分基于共享的工作组密钥的位置,将所述至少一个会话密钥份***到所述至少一个加密数据集份中的装置。
31.根据权利要求28的设备,还包括:用于将所述两个或更多用户份分离地存储在至少一个数据储存器上的装置。
32.根据权利要求31的设备,其中,用于将所述两个或更多用户份分离地存储在至少一个数据储存器上的装置包括以下之一:用于将所述两个或更多用户份分离地存储在同一数据储存器的不同位置上的装置;用于将所述两个或更多用户份分离地存储在不同的数据储存器上的装置;以及用于将所述两个或更多用户份分离地存储在不同地理位置处的不同数据储存器上的装置。
33.根据权利要求28的设备,其中,用于将加密的数据集的各唯一部分分布到两个或更多加密数据集份中的装置包括:
用于至少部分基于会话密钥产生随机数或伪随机数的装置;
用于将所述随机数或伪随机数与所述两个或更多加密数据集份进行关联的装置;
用于将所述随机数或伪随机数与加密的数据集中的数据单元进行关联的装置;以及
用于至少部分基于所述随机数或伪随机数与所述两个或更多用户份以及与所述数据单元的关联,确定将每个数据单元分布到所述两个或更多加密数据集份中的哪一个中的装置。
34.根据权利要求33的设备,其中,每个数据单元包括数据集中的数据字节和数据集中的数据比特中的一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1031308P | 2008-01-07 | 2008-01-07 | |
US61/010,313 | 2008-01-07 | ||
CN2009801047290A CN101939946B (zh) | 2008-01-07 | 2009-01-07 | 使用多因素或密钥式分散对数据进行保护的***和方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801047290A Division CN101939946B (zh) | 2008-01-07 | 2009-01-07 | 使用多因素或密钥式分散对数据进行保护的***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103178965A CN103178965A (zh) | 2013-06-26 |
CN103178965B true CN103178965B (zh) | 2016-08-31 |
Family
ID=40845534
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801047290A Expired - Fee Related CN101939946B (zh) | 2008-01-07 | 2009-01-07 | 使用多因素或密钥式分散对数据进行保护的***和方法 |
CN201310086524.2A Expired - Fee Related CN103178965B (zh) | 2008-01-07 | 2009-01-07 | 使用多因素或密钥式分散对数据进行保护的***和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801047290A Expired - Fee Related CN101939946B (zh) | 2008-01-07 | 2009-01-07 | 使用多因素或密钥式分散对数据进行保护的***和方法 |
Country Status (7)
Country | Link |
---|---|
US (4) | US8473756B2 (zh) |
EP (1) | EP2106642A4 (zh) |
CN (2) | CN101939946B (zh) |
AU (1) | AU2009204512B2 (zh) |
BR (1) | BRPI0906863A8 (zh) |
CA (1) | CA2710868A1 (zh) |
WO (1) | WO2009089015A1 (zh) |
Families Citing this family (140)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7391865B2 (en) | 1999-09-20 | 2008-06-24 | Security First Corporation | Secure data parser method and system |
CA2584525C (en) | 2004-10-25 | 2012-09-25 | Rick L. Orsini | Secure data parser method and system |
US9384149B2 (en) * | 2005-01-31 | 2016-07-05 | Unisys Corporation | Block-level data storage security system |
US10007807B2 (en) * | 2008-12-30 | 2018-06-26 | Unisys Corporation | Simultaneous state-based cryptographic splitting in a secure storage appliance |
WO2008054406A2 (en) | 2005-11-18 | 2008-05-08 | Orsini Rick L | Secure data parser method and system |
CN105224417A (zh) | 2006-12-05 | 2016-01-06 | 安全第一公司 | 改进的磁带备份方法 |
CA2699416A1 (en) * | 2007-09-14 | 2009-03-19 | Rick L. Orsini | Systems and methods for managing cryptographic keys |
WO2009089015A1 (en) | 2008-01-07 | 2009-07-16 | Security First Corporation | Systems and methods for securing data using multi-factor or keyed dispersal |
CA2946778A1 (en) | 2008-02-22 | 2009-08-27 | Security First Corp. | Systems and methods for secure workgroup management and communication |
KR101062182B1 (ko) * | 2008-09-09 | 2011-09-05 | 삼성전자주식회사 | 권한 객체 자동 갱신 방법 및 장치 |
US20100169662A1 (en) * | 2008-12-30 | 2010-07-01 | Scott Summers | Simultaneous state-based cryptographic splitting in a secure storage appliance |
US11991280B2 (en) | 2009-04-20 | 2024-05-21 | Pure Storage, Inc. | Randomized transforms in a dispersed data storage system |
US10447474B2 (en) | 2009-04-20 | 2019-10-15 | Pure Storage, Inc. | Dispersed data storage system data decoding and decryption |
US9483656B2 (en) * | 2009-04-20 | 2016-11-01 | International Business Machines Corporation | Efficient and secure data storage utilizing a dispersed data storage system |
CA2760251A1 (en) | 2009-05-19 | 2010-11-25 | Security First Corp. | Systems and methods for securing data in the cloud |
US20100312810A1 (en) * | 2009-06-09 | 2010-12-09 | Christopher Horton | Secure identification of music files |
AU2015204396B2 (en) * | 2009-11-25 | 2016-06-23 | Security First Corp. | Systems and Methods for Securing Data in Motion |
CN106411909A (zh) * | 2009-11-25 | 2017-02-15 | 安全第公司 | 对移动中数据进行保护的***和方法 |
US20190108366A1 (en) * | 2010-01-28 | 2019-04-11 | International Business Machines Corporation | Secure data transmission utilizing distributed storage |
CA2795206C (en) | 2010-03-31 | 2014-12-23 | Rick L. Orsini | Systems and methods for securing data in motion |
US9124423B2 (en) * | 2010-05-14 | 2015-09-01 | International Business Machines Corporation | Iterative data secret-sharing transformation |
US10193689B2 (en) * | 2010-05-19 | 2019-01-29 | International Business Machines Corporation | Storing access information in a dispersed storage network |
US8824492B2 (en) | 2010-05-28 | 2014-09-02 | Drc Computer Corporation | Accelerator system for remote data storage |
FR2961616B1 (fr) * | 2010-06-17 | 2013-03-01 | Thales Sa | Dispositif et procede de stockage securise de donnees biometriques |
US10878404B2 (en) * | 2010-06-29 | 2020-12-29 | Feitian Technologies Co., Ltd. | Method for operating an e-purse |
EP2606448B1 (en) * | 2010-08-18 | 2016-02-10 | Security First Corp. | Systems and methods for securing virtual machine computing environments |
US9767475B2 (en) | 2010-08-20 | 2017-09-19 | Blue Kai, Inc. | Real time audience forecasting |
CN106100852A (zh) | 2010-09-20 | 2016-11-09 | 安全第公司 | 用于安全数据共享的***和方法 |
AU2015203172B2 (en) * | 2010-09-20 | 2016-10-06 | Security First Corp. | Systems and methods for secure data sharing |
KR101029788B1 (ko) | 2010-10-22 | 2011-04-19 | 삼성탈레스 주식회사 | 미들웨어의 레이어 간 메시지 전달 방법 및 이를 행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 |
US8681981B2 (en) * | 2010-12-03 | 2014-03-25 | Motorola Solutions, Inc. | Method and apparatus for transmitting voice communications related to a multimedia session |
US8565422B2 (en) * | 2010-12-03 | 2013-10-22 | Salesforce.Com, Inc. | Method and system for enryption key versioning and key rotation in a multi-tenant environment |
US9355389B2 (en) * | 2010-12-06 | 2016-05-31 | Voltage Security, Inc. | Purchase transaction system with encrypted payment card data |
CN102075322A (zh) * | 2010-12-06 | 2011-05-25 | 中兴通讯股份有限公司 | 关键参数的存储方法及终端设备 |
US9037637B2 (en) | 2011-02-15 | 2015-05-19 | J.D. Power And Associates | Dual blind method and system for attributing activity to a user |
CN103403727B (zh) * | 2011-02-16 | 2016-01-06 | Nec平台株式会社 | 附加功能单元的启用/禁用方法、其***以及附加功能单元 |
CA2829197A1 (en) * | 2011-03-07 | 2012-09-13 | Security First Corp. | Secure file sharing method and system |
WO2012126077A1 (en) * | 2011-03-21 | 2012-09-27 | Irdeto Canada Corporation | System and method for securely binding and node-locking program execution to a trusted signature authority |
CN102831335B (zh) * | 2011-06-16 | 2015-08-05 | 中国科学院数据与通信保护研究教育中心 | 一种Windows操作***的安全保护方法和*** |
US8914635B2 (en) * | 2011-07-25 | 2014-12-16 | Grey Heron Technologies, Llc | Method and system for establishing secure communications using composite key cryptography |
US11132672B2 (en) * | 2011-11-29 | 2021-09-28 | Cardlogix | Layered security for age verification and transaction authorization |
CN102624698B (zh) * | 2012-01-17 | 2014-12-03 | 武汉理工大学 | 一种面向电子记录的证据管理与服务*** |
US8914842B2 (en) * | 2012-01-23 | 2014-12-16 | Microsoft Corporation | Accessing enterprise resource planning data from a handheld mobile device |
US20130268774A1 (en) | 2012-04-06 | 2013-10-10 | Security First Corp. | Systems and methods for securing and restoring virtual machines |
JP5981761B2 (ja) * | 2012-05-01 | 2016-08-31 | キヤノン株式会社 | 通信装置、制御方法、プログラム |
US20130297464A1 (en) * | 2012-05-01 | 2013-11-07 | Shopsavvy Inc. | System, Method, and Computer-Readable Storage Medium For Identifying A Product |
KR101329084B1 (ko) * | 2012-05-17 | 2013-11-14 | 한국전자통신연구원 | 무중단 암호통신을 위한 암복호 통신 방법 및 장치 |
US10623386B1 (en) | 2012-09-26 | 2020-04-14 | Pure Storage, Inc. | Secret sharing data protection in a storage system |
US11032259B1 (en) | 2012-09-26 | 2021-06-08 | Pure Storage, Inc. | Data protection in a storage system |
US8745415B2 (en) | 2012-09-26 | 2014-06-03 | Pure Storage, Inc. | Multi-drive cooperation to generate an encryption key |
CN103731266B (zh) * | 2012-10-12 | 2017-05-10 | 北京微智全景信息技术有限公司 | 一种用于对电子凭证进行认证的方法及*** |
AU2013350816A1 (en) * | 2012-11-27 | 2015-07-16 | Maxwell Forest Pty Ltd | Data assembly, transfer and storage |
US8806200B2 (en) * | 2012-11-30 | 2014-08-12 | Prakash Baskaran | Method and system for securing electronic data |
CN105051750B (zh) | 2013-02-13 | 2018-02-23 | 安全第一公司 | 用于加密文件***层的***和方法 |
KR101379848B1 (ko) * | 2013-02-15 | 2014-04-04 | 서울대학교산학협력단 | 일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법 |
US9419957B1 (en) * | 2013-03-15 | 2016-08-16 | Jpmorgan Chase Bank, N.A. | Confidence-based authentication |
US9374344B1 (en) | 2013-03-29 | 2016-06-21 | Secturion Systems, Inc. | Secure end-to-end communication system |
US9355279B1 (en) | 2013-03-29 | 2016-05-31 | Secturion Systems, Inc. | Multi-tenancy architecture |
US9317718B1 (en) | 2013-03-29 | 2016-04-19 | Secturion Systems, Inc. | Security device with programmable systolic-matrix cryptographic module and programmable input/output interface |
US9524399B1 (en) * | 2013-04-01 | 2016-12-20 | Secturion Systems, Inc. | Multi-level independent security architecture |
CN105474575B (zh) * | 2013-08-22 | 2018-12-14 | 日本电信电话株式会社 | 多方安全认证***、认证服务器、中间服务器、多方安全认证方法以及程序 |
US11128448B1 (en) | 2013-11-06 | 2021-09-21 | Pure Storage, Inc. | Quorum-aware secret sharing |
US10263770B2 (en) | 2013-11-06 | 2019-04-16 | Pure Storage, Inc. | Data protection in a storage system using external secrets |
US9516016B2 (en) | 2013-11-11 | 2016-12-06 | Pure Storage, Inc. | Storage array password management |
CN104683301B (zh) * | 2013-11-28 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 一种密码保存的方法及装置 |
US9298942B1 (en) | 2013-12-31 | 2016-03-29 | Google Inc. | Encrypted augmentation storage |
US20150242609A1 (en) * | 2014-02-24 | 2015-08-27 | Google Inc. | Universal Authenticator Across Web and Mobile |
EP3129912B1 (en) | 2014-04-10 | 2019-09-11 | Atomizer Group, LLC | Method and system for securing data |
CN104428803A (zh) * | 2014-05-07 | 2015-03-18 | 华为技术有限公司 | 支付方法和装置以及支付要素处理方法和装置 |
US9087012B1 (en) | 2014-06-04 | 2015-07-21 | Pure Storage, Inc. | Disaster recovery at high reliability in a storage cluster |
US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US9577996B2 (en) * | 2014-08-29 | 2017-02-21 | Pentland Firth Software GmbH | Computer system and method for encrypted remote storage |
SE538279C2 (sv) | 2014-09-23 | 2016-04-19 | Kelisec Ab | Förfarande och system för att fastställa förekomst av |
US10721062B2 (en) | 2014-09-24 | 2020-07-21 | Hewlett Packard Enterprise Development Lp | Utilizing error correction for secure secret sharing |
SE538304C2 (sv) | 2014-10-09 | 2016-05-03 | Kelisec Ab | Improved installation of a terminal in a secure system |
SE540133C2 (en) | 2014-10-09 | 2018-04-10 | Kelisec Ab | Improved system for establishing a secure communication channel |
SE542460C2 (en) * | 2014-10-09 | 2020-05-12 | Kelisec Ab | Improved security through authenticaton tokens |
SE539602C2 (en) | 2014-10-09 | 2017-10-17 | Kelisec Ab | Generating a symmetric encryption key |
SE539271C2 (en) | 2014-10-09 | 2017-06-07 | Kelisec Ab | Mutual authentication |
US10031679B2 (en) | 2014-11-21 | 2018-07-24 | Security First Corp. | Gateway for cloud-based secure storage |
WO2016082857A1 (en) | 2014-11-24 | 2016-06-02 | Nec Europe Ltd. | Method for encrypting data for distributed storage |
CN104503869B (zh) * | 2015-01-15 | 2018-06-15 | 宇龙计算机通信科技(深圳)有限公司 | 数据处理方法和数据处理*** |
US9965369B2 (en) | 2015-04-28 | 2018-05-08 | Viasat, Inc. | Self-organized storage nodes for distributed delivery network |
US10075386B2 (en) | 2015-05-08 | 2018-09-11 | Adp, Llc | Subscription-based information system |
US11144520B2 (en) | 2015-05-08 | 2021-10-12 | Adp, Llc | Information system with versioning descending node snapshot |
US11580125B2 (en) | 2015-05-08 | 2023-02-14 | Adp, Inc. | Information system with temporal data |
JP6368047B2 (ja) * | 2015-06-09 | 2018-08-01 | 日本電信電話株式会社 | 鍵交換方法、鍵交換システム、鍵配送装置、代表通信装置、一般通信装置、およびプログラム |
WO2017001870A1 (en) | 2015-07-02 | 2017-01-05 | Payfont Limited | Resilient secret sharing cloud based architecture for data vault |
US11283774B2 (en) | 2015-09-17 | 2022-03-22 | Secturion Systems, Inc. | Cloud storage using encryption gateway with certificate authority identification |
US9768953B2 (en) * | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
US10708236B2 (en) | 2015-10-26 | 2020-07-07 | Secturion Systems, Inc. | Multi-independent level secure (MILS) storage encryption |
US9755979B2 (en) | 2015-11-19 | 2017-09-05 | Viasat, Inc. | Enhancing capacity of a direct communication link |
CN105450269B (zh) * | 2015-12-21 | 2017-09-22 | 飞天诚信科技股份有限公司 | 一种实现蓝牙设备间安全交互配对认证的方法及装置 |
GB2545738B (en) * | 2015-12-24 | 2021-07-21 | Zwipe As | Biometric smartcard with multiple modes of operation |
US20170186003A1 (en) * | 2015-12-28 | 2017-06-29 | Ncr Corporation | Secondary authentication of network transactions |
US10354653B1 (en) | 2016-01-19 | 2019-07-16 | United Services Automobile Association (Usaa) | Cooperative delegation for digital assistants |
CN105554033B (zh) * | 2016-02-04 | 2018-08-17 | 同方计算机有限公司 | 一种图像输入设备的可信认证方法及其图像输入设备 |
US10089166B2 (en) | 2016-03-08 | 2018-10-02 | International Business Machines Corporation | Configuring and utilizing call-home systems |
US10742419B2 (en) * | 2016-03-15 | 2020-08-11 | Visa International Service Association | Validation cryptogram for transaction |
CN107342964B (zh) * | 2016-04-28 | 2019-05-07 | 华为技术有限公司 | 一种报文解析方法及设备 |
CN107358129A (zh) * | 2016-05-09 | 2017-11-17 | 恩智浦美国有限公司 | 安全的数据存储设备和方法 |
US10129023B2 (en) | 2016-08-11 | 2018-11-13 | International Business Machines Corporation | Enhancing security for multiple storage configurations |
CN111756523B (zh) * | 2016-11-04 | 2022-08-12 | 北京紫光展锐通信技术有限公司 | 数据传输方法及装置 |
CN106453406B (zh) * | 2016-11-22 | 2019-05-28 | 中国电子科技集团公司第三十研究所 | 一种体系化的软件定义数据中心网络保密方法 |
US10547592B2 (en) * | 2017-01-19 | 2020-01-28 | Hewlett Packard Enterprise Development Lp | Computing a global sum that preserves privacy of parties in a multi-party environment |
US10909254B2 (en) * | 2017-09-15 | 2021-02-02 | David R Czajkowski | Object level encryption system including encryption key management system |
US10728238B2 (en) * | 2017-12-13 | 2020-07-28 | Paypal, Inc. | Systems and methods encrypting messages using multiple certificates |
US10681020B2 (en) * | 2018-03-12 | 2020-06-09 | The Boeing Company | Blockchain fortified aircraft communications addressing and reporting system (ACARS) communication |
US10965675B2 (en) | 2018-03-14 | 2021-03-30 | Bank Of America Corporation | Preventing unauthorized access to secure information systems using advanced pre-authentication techniques |
CN110321727A (zh) * | 2018-03-29 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 应用程序信息的存储、处理方法及装置 |
US20210019971A1 (en) * | 2018-04-17 | 2021-01-21 | Coinbase, Inc. | Offline storage system and method of use |
SG11202103355TA (en) * | 2018-10-04 | 2021-04-29 | Visa Int Service Ass | Leveraging multiple devices to enhance security of biometric authentication |
CN109525389A (zh) * | 2018-10-16 | 2019-03-26 | 航天信息股份有限公司 | 一种税控设备秘钥的产生方法及*** |
CN109359476B (zh) * | 2018-10-26 | 2020-12-25 | 山东师范大学 | 一种隐藏输入的两方模式匹配方法及装置 |
HK1254273A2 (zh) * | 2018-12-03 | 2019-07-12 | Foris Ltd | 安全的分佈式密鑰管理系統 |
CN109754241B (zh) * | 2018-12-27 | 2022-02-22 | 恒宝股份有限公司 | 一种硬钱包及基于硬钱包的验证方法 |
CN109922047B (zh) * | 2019-01-31 | 2021-11-19 | 武汉天喻聚联网络有限公司 | 一种图像传输***及方法 |
KR20200100481A (ko) * | 2019-02-18 | 2020-08-26 | 삼성전자주식회사 | 생체 정보를 인증하기 위한 전자 장치 및 그의 동작 방법 |
AU2019204723C1 (en) | 2019-03-29 | 2021-10-28 | Advanced New Technologies Co., Ltd. | Cryptographic key management based on identity information |
AU2019204724C1 (en) * | 2019-03-29 | 2021-12-09 | Advanced New Technologies Co., Ltd. | Cryptography chip with identity verification |
JP2020521341A (ja) * | 2019-03-29 | 2020-07-16 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | 識別情報に基づく暗号鍵の管理 |
EP3586264B1 (en) | 2019-03-29 | 2022-03-16 | Advanced New Technologies Co., Ltd. | Securely performing cryptographic operations |
EP3973687A4 (en) * | 2019-05-22 | 2023-09-13 | Myota, Inc. | METHOD AND SYSTEM FOR DISTRIBUTED DATA STORAGE WITH ENHANCED SECURITY, RESILIENCE AND CONTROL |
US11212264B1 (en) * | 2019-05-30 | 2021-12-28 | Wells Fargo Bank, N.A. | Systems and methods for third party data protection |
CN110378136A (zh) * | 2019-07-10 | 2019-10-25 | 华东师范大学 | 一种文本安全分割方法 |
CN110378139B (zh) * | 2019-07-25 | 2021-07-30 | 江苏芯盛智能科技有限公司 | 一种数据密钥保护方法、***及电子设备和存储介质 |
US11120159B1 (en) | 2019-09-02 | 2021-09-14 | Wells Fargo Bank, N.A. | Composite biometric authentication |
CN110704856B (zh) * | 2019-10-09 | 2021-08-20 | 成都安恒信息技术有限公司 | 一种基于运维审计***的秘密共享方法 |
CN111078409B (zh) * | 2019-12-11 | 2023-08-25 | 上海风秩科技有限公司 | 流式计算资源控制方法、装置、电子设备及可读存储介质 |
US11782610B2 (en) | 2020-01-30 | 2023-10-10 | Seagate Technology Llc | Write and compare only data storage |
TWI737368B (zh) * | 2020-06-29 | 2021-08-21 | 財團法人國家實驗研究院 | 機敏資料之分析方法及其系統 |
US11652804B2 (en) * | 2020-07-20 | 2023-05-16 | Robert Bosch Gmbh | Data privacy system |
CN112019561B (zh) * | 2020-09-09 | 2022-02-11 | 广东电网有限责任公司中山供电局 | 一种基于区块链技术的数字加密方法及*** |
US11343085B2 (en) * | 2020-09-19 | 2022-05-24 | International Business Machines Corporation | Threshold encryption for broadcast content |
US11809493B2 (en) * | 2021-01-19 | 2023-11-07 | Micro Focus Llc | System and method for tokenization of data |
CN112948797B (zh) * | 2021-03-09 | 2023-07-28 | 北方实验室(沈阳)股份有限公司 | 一种基于协同密码算法的非对称密钥管理***及方法 |
US11804963B2 (en) * | 2021-04-29 | 2023-10-31 | International Business Machines Corporation | System and method for permissioned blockchain access into a computing network |
US20240062192A1 (en) * | 2022-08-18 | 2024-02-22 | DefinQ, Inc. | Single step staking for smart contracts and other blockchain transactions |
US20240080186A1 (en) * | 2022-09-07 | 2024-03-07 | Google Llc | Random Trigger for Automatic Key Rotation |
CN116467754B (zh) * | 2023-06-20 | 2023-10-10 | 深圳奥联信息安全技术有限公司 | 一种密码安全存储***、方法、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6819766B1 (en) * | 1999-03-30 | 2004-11-16 | International Business Machines Corporation | Method and system for managing keys for encrypted data |
CN1658551A (zh) * | 2004-02-16 | 2005-08-24 | 华为技术有限公司 | 安全能力协商方法 |
CN101073049A (zh) * | 2004-12-07 | 2007-11-14 | 阿诺托股份公司 | 用于将信息路由到应用服务的方法和设备 |
Family Cites Families (153)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292568B1 (en) | 1966-12-16 | 2001-09-18 | Scientific-Atlanta, Inc. | Representing entitlements to service in a conditional access system |
US4453074A (en) * | 1981-10-19 | 1984-06-05 | American Express Company | Protection system for intelligent cards |
US4924513A (en) * | 1987-09-25 | 1990-05-08 | Digital Equipment Corporation | Apparatus and method for secure transmission of data over an unsecure transmission channel |
US5485474A (en) * | 1988-02-25 | 1996-01-16 | The President And Fellows Of Harvard College | Scheme for information dispersal and reconstruction |
US4932057A (en) * | 1988-10-17 | 1990-06-05 | Grumman Aerospace Corporation | Parallel transmission to mask data radiation |
US5016274A (en) * | 1988-11-08 | 1991-05-14 | Silvio Micali | On-line/off-line digital signing |
GB2237670B (en) | 1989-11-03 | 1993-04-07 | De La Rue Syst | Reciprocal transfer system |
US5682425A (en) | 1990-04-23 | 1997-10-28 | Canon Kabushiki Kaisha | Information signal transmission system |
US5010572A (en) * | 1990-04-27 | 1991-04-23 | Hughes Aircraft Company | Distributed information system having automatic invocation of key management negotiations protocol and method |
US5051745A (en) | 1990-08-21 | 1991-09-24 | Pkware, Inc. | String searcher, and compressor using same |
US5177342A (en) | 1990-11-09 | 1993-01-05 | Visa International Service Association | Transaction approval system |
US5163096A (en) | 1991-06-06 | 1992-11-10 | International Business Machines Corporation | Storage protection utilizing public storage key control |
US5150407A (en) | 1991-12-16 | 1992-09-22 | Chan Steve S C | Secured data storage devices |
US5748147A (en) | 1992-03-04 | 1998-05-05 | Motorola Inc | Position locating rescue transceiver |
US5375244A (en) | 1992-05-29 | 1994-12-20 | At&T Corp. | System and method for granting access to a resource |
US5268963A (en) | 1992-06-09 | 1993-12-07 | Audio Digital Imaging Inc. | System for encoding personalized identification for storage on memory storage devices |
US5267314A (en) * | 1992-11-17 | 1993-11-30 | Leon Stambler | Secure transaction system and method utilized therein |
US5533051A (en) | 1993-03-12 | 1996-07-02 | The James Group | Method for data compression |
JP2550864B2 (ja) * | 1993-05-31 | 1996-11-06 | 日本電気株式会社 | ジョブ実行における分散型制御方法及びその装置 |
GB9323489D0 (en) * | 1993-11-08 | 1994-01-05 | Ncr Int Inc | Self-service business system |
NZ329891A (en) | 1994-01-13 | 2000-01-28 | Certco Llc | Method of upgrading firmware of trusted device using embedded key |
US6473860B1 (en) | 1994-04-07 | 2002-10-29 | Hark C. Chan | Information distribution and processing system |
US5748735A (en) * | 1994-07-18 | 1998-05-05 | Bell Atlantic Network Services, Inc. | Securing E-mail communications and encrypted file storage using yaksha split private key asymmetric cryptography |
US7069451B1 (en) * | 1995-02-13 | 2006-06-27 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
CN100452072C (zh) * | 1995-02-13 | 2009-01-14 | 英特特拉斯特技术公司 | 用于管理在第一装置和第二装置之间的数字文档的分布的方法 |
US7133845B1 (en) | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | System and methods for secure transaction management and electronic rights protection |
CN1192834A (zh) * | 1995-06-05 | 1998-09-09 | 塞特科有限公司 | 多步数字签名方法和*** |
US5790677A (en) * | 1995-06-29 | 1998-08-04 | Microsoft Corporation | System and method for secure electronic commerce transactions |
US5768382A (en) * | 1995-11-22 | 1998-06-16 | Walker Asset Management Limited Partnership | Remote-auditing of computer generated outcomes and authenticated biling and access control system using cryptographic and other protocols |
JP3502200B2 (ja) | 1995-08-30 | 2004-03-02 | 株式会社日立製作所 | 暗号通信システム |
AR003524A1 (es) | 1995-09-08 | 1998-08-05 | Cyber Sign Japan Inc | Un servidor de verificacion para ser utilizado en la autenticacion de redes de computadoras. |
US5717758A (en) * | 1995-11-02 | 1998-02-10 | Micall; Silvio | Witness-based certificate revocation system |
US5666416A (en) | 1995-10-24 | 1997-09-09 | Micali; Silvio | Certificate revocation system |
US6449730B2 (en) | 1995-10-24 | 2002-09-10 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
US6345314B1 (en) * | 1995-10-27 | 2002-02-05 | International Business Machines Corporation | Technique to minimize data transfer between two computers |
US6301659B1 (en) | 1995-11-02 | 2001-10-09 | Silvio Micali | Tree-based certificate revocation system |
US6026163A (en) * | 1995-12-13 | 2000-02-15 | Micali; Silvio | Distributed split-key cryptosystem and applications |
US5615269A (en) * | 1996-02-22 | 1997-03-25 | Micali; Silvio | Ideal electronic negotiations |
EP0880840A4 (en) | 1996-01-11 | 2002-10-23 | Mrj Inc | DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY |
US5768519A (en) * | 1996-01-18 | 1998-06-16 | Microsoft Corporation | Method and apparatus for merging user accounts from a source security domain into a target security domain |
US5761306A (en) * | 1996-02-22 | 1998-06-02 | Visa International Service Association | Key replacement in a public key cryptosystem |
US5995630A (en) | 1996-03-07 | 1999-11-30 | Dew Engineering And Development Limited | Biometric input with encryption |
US5666414A (en) | 1996-03-21 | 1997-09-09 | Micali; Silvio | Guaranteed partial key-escrow |
JPH09284272A (ja) * | 1996-04-19 | 1997-10-31 | Canon Inc | エンティティの属性情報に基づく暗号化方式、署名方式、鍵共有方式、身元確認方式およびこれらの方式用装置 |
US5823948A (en) | 1996-07-08 | 1998-10-20 | Rlis, Inc. | Medical records, documentation, tracking and order entry system |
US6072876A (en) | 1996-07-26 | 2000-06-06 | Nippon Telegraph And Telephone Corporation | Method and system for depositing private key used in RSA cryptosystem |
US6292782B1 (en) | 1996-09-09 | 2001-09-18 | Philips Electronics North America Corp. | Speech recognition and verification system enabling authorized data transmission over networked computer systems |
GB2318486B (en) * | 1996-10-16 | 2001-03-28 | Ibm | Data communications system |
US6061790A (en) * | 1996-11-20 | 2000-05-09 | Starfish Software, Inc. | Network computer system with remote user data encipher methodology |
US5903652A (en) * | 1996-11-25 | 1999-05-11 | Microsoft Corporation | System and apparatus for monitoring secure information in a computer network |
US6125186A (en) | 1996-11-28 | 2000-09-26 | Fujitsu Limited | Encryption communication system using an agent and a storage medium for storing that agent |
US5917913A (en) * | 1996-12-04 | 1999-06-29 | Wang; Ynjiun Paul | Portable electronic authorization devices and methods therefor |
US5966444A (en) | 1996-12-06 | 1999-10-12 | Yuan; Chuan K. | Method and system for establishing a cryptographic key agreement using linear protocols |
US5903882A (en) * | 1996-12-13 | 1999-05-11 | Certco, Llc | Reliance server for electronic transaction system |
US5940507A (en) * | 1997-02-11 | 1999-08-17 | Connected Corporation | Secure file archive through encryption key management |
JP3611864B2 (ja) * | 1997-04-24 | 2005-01-19 | 松下電器産業株式会社 | データ転送方法 |
US6023508A (en) * | 1997-05-22 | 2000-02-08 | Currency Scientific, Inc. | Polymorphic data structures for secure operation of a virtual cash system |
US6240183B1 (en) * | 1997-06-19 | 2001-05-29 | Brian E. Marchant | Security apparatus for data transmission with dynamic random encryption |
US6085976A (en) * | 1998-05-22 | 2000-07-11 | Sehr; Richard P. | Travel system and methods utilizing multi-application passenger cards |
US6307940B1 (en) | 1997-06-25 | 2001-10-23 | Canon Kabushiki Kaisha | Communication network for encrypting/deciphering communication text while updating encryption key, a communication terminal thereof, and a communication method thereof |
US20020035664A1 (en) * | 1997-07-09 | 2002-03-21 | Neville Yates | Native image data storage on a virtual tape storage system |
CA2242526C (en) | 1997-07-10 | 2001-09-11 | Yamaha Corporation | Method and device for incorporating additional information into main information through electronic watermarking technique |
US6229894B1 (en) * | 1997-07-14 | 2001-05-08 | Entrust Technologies, Ltd. | Method and apparatus for access to user-specific encryption information |
SE511881C2 (sv) * | 1997-08-08 | 1999-12-13 | Ericsson Telefon Ab L M | Förfarande och arrangemang för överföring av paketinformation i ett digitalt telekommunikationssystem |
US6856383B1 (en) * | 1997-09-05 | 2005-02-15 | Security First Corp. | Relief object image generator |
US5991414A (en) | 1997-09-12 | 1999-11-23 | International Business Machines Corporation | Method and apparatus for the secure distributed storage and retrieval of information |
US6094485A (en) * | 1997-09-18 | 2000-07-25 | Netscape Communications Corporation | SSL step-up |
US6092201A (en) * | 1997-10-24 | 2000-07-18 | Entrust Technologies | Method and apparatus for extending secure communication operations via a shared list |
US6446204B1 (en) | 1997-10-31 | 2002-09-03 | Oracle Corporation | Method and apparatus for implementing an extensible authentication mechanism in a web application server |
US6073237A (en) * | 1997-11-06 | 2000-06-06 | Cybercash, Inc. | Tamper resistant method and apparatus |
US6151395A (en) | 1997-12-04 | 2000-11-21 | Cisco Technology, Inc. | System and method for regenerating secret keys in diffie-hellman communication sessions |
US6185685B1 (en) * | 1997-12-11 | 2001-02-06 | International Business Machines Corporation | Security method and system for persistent storage and communications on computer network systems and computer network systems employing the same |
DE19757649B4 (de) * | 1997-12-15 | 2005-10-20 | Francotyp Postalia Ag | Anordnung und Verfahren zum Datenaustausch zwischen einer Frankiermaschine und Chipkarten |
US6453416B1 (en) | 1997-12-19 | 2002-09-17 | Koninklijke Philips Electronics N.V. | Secure proxy signing device and method of use |
US6415373B1 (en) | 1997-12-24 | 2002-07-02 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
RU2124814C1 (ru) | 1997-12-24 | 1999-01-10 | Молдовян Николай Андреевич | Способ шифрования блоков цифровых данных |
EP0936805A1 (en) * | 1998-02-12 | 1999-08-18 | Hewlett-Packard Company | Document transfer systems |
US6324650B1 (en) | 1998-03-16 | 2001-11-27 | John W.L. Ogilvie | Message content protection and conditional disclosure |
US6134550A (en) | 1998-03-18 | 2000-10-17 | Entrust Technologies Limited | Method and apparatus for use in determining validity of a certificate in a communication system employing trusted paths |
US6553493B1 (en) * | 1998-04-28 | 2003-04-22 | Verisign, Inc. | Secure mapping and aliasing of private keys used in public key cryptography |
US7096494B1 (en) * | 1998-05-05 | 2006-08-22 | Chen Jay C | Cryptographic system and method for electronic transactions |
ATE282915T1 (de) * | 1998-05-07 | 2004-12-15 | Herrero Angel Jose Ferre | Vorrichtung zur verschleierung und verschlüsselung |
US6438690B1 (en) * | 1998-06-04 | 2002-08-20 | International Business Machines Corp. | Vault controller based registration application serving web based registration authorities and end users for conducting electronic commerce in secure end-to-end distributed information system |
US6445794B1 (en) * | 1998-06-24 | 2002-09-03 | Benyamin Ron | System and method for synchronizing one time pad encryption keys for secure communication and access control |
US6615347B1 (en) | 1998-06-30 | 2003-09-02 | Verisign, Inc. | Digital certificate cross-referencing |
US6336186B1 (en) * | 1998-07-02 | 2002-01-01 | Networks Associates Technology, Inc. | Cryptographic system and methodology for creating and managing crypto policy on certificate servers |
US6289509B1 (en) | 1998-09-01 | 2001-09-11 | Pkware, Inc. | Software patch generator |
US6345101B1 (en) * | 1998-10-07 | 2002-02-05 | Jayant Shukla | Cryptographic method and apparatus for data communication and storage |
US6684330B1 (en) * | 1998-10-16 | 2004-01-27 | Tecsec, Inc. | Cryptographic information and flow control |
AU1814500A (en) | 1998-11-06 | 2000-05-29 | Who? Vision Systems Inc. | Relief object sensor adaptor |
US6260125B1 (en) * | 1998-12-09 | 2001-07-10 | Ncr Corporation | Asynchronous write queues, reconstruction and check-pointing in disk-mirroring applications |
JP2000181803A (ja) | 1998-12-18 | 2000-06-30 | Fujitsu Ltd | 鍵管理機能付電子データ保管装置および電子データ保管方法 |
DE19906432C1 (de) | 1999-02-16 | 2000-06-21 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Erzeugen eines Datenstroms und Verfahren und Vorrichtung zum Abspielen eines Datenstroms |
US6356941B1 (en) * | 1999-02-22 | 2002-03-12 | Cyber-Ark Software Ltd. | Network vaults |
US6256737B1 (en) * | 1999-03-09 | 2001-07-03 | Bionetrix Systems Corporation | System, method and computer program product for allowing access to enterprise resources using biometric devices |
US6625734B1 (en) | 1999-04-26 | 2003-09-23 | Disappearing, Inc. | Controlling and tracking access to disseminated information |
US6687375B1 (en) * | 1999-06-02 | 2004-02-03 | International Business Machines Corporation | Generating user-dependent keys and random numbers |
US20010051902A1 (en) | 1999-06-28 | 2001-12-13 | Messner Marc A. | Method for performing secure internet transactions |
AU6053700A (en) * | 1999-06-28 | 2001-01-31 | Starpay.Com, Inc. | Apparatus and method for performing secure network transactions |
US6289455B1 (en) | 1999-09-02 | 2001-09-11 | Crypotography Research, Inc. | Method and apparatus for preventing piracy of digital content |
WO2001022319A1 (en) * | 1999-09-20 | 2001-03-29 | Ethentica, Inc. | Trust arbitrage in cryptographic authentication |
US7391865B2 (en) * | 1999-09-20 | 2008-06-24 | Security First Corporation | Secure data parser method and system |
US6978367B1 (en) | 1999-10-21 | 2005-12-20 | International Business Machines Corporation | Selective data encryption using style sheet processing for decryption by a client proxy |
US6449719B1 (en) | 1999-11-09 | 2002-09-10 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream |
EP1830552A1 (en) * | 1999-12-28 | 2007-09-05 | Sony Corporation | Image commercial transactions system and method |
EP1133157A3 (en) | 1999-12-28 | 2004-10-27 | Sony Corporation | Image commercial transactions system and method, image transfer system and method, image distribution system and method, display device and method |
US6879988B2 (en) | 2000-03-09 | 2005-04-12 | Pkware | System and method for manipulating and managing computer archive files |
US20020046359A1 (en) * | 2000-03-16 | 2002-04-18 | Boden Scott T. | Method and apparatus for secure and fault tolerant data storage |
WO2002005061A2 (en) * | 2000-07-06 | 2002-01-17 | David Paul Felsher | Information record infrastructure, system and method |
US7191252B2 (en) * | 2000-11-13 | 2007-03-13 | Digital Doors, Inc. | Data security system and method adjunct to e-mail, browser or telecom program |
US7349987B2 (en) * | 2000-11-13 | 2008-03-25 | Digital Doors, Inc. | Data security system and method with parsing and dispersion techniques |
US20030058274A1 (en) * | 2000-11-17 | 2003-03-27 | Jake Hill | Interface device |
KR100471018B1 (ko) * | 2000-11-28 | 2005-03-08 | 스미도모쥬기가이고교 가부시키가이샤 | 두 개의 대상물 간의 갭 조절장치 및 조절방법 |
US20020129235A1 (en) | 2001-01-11 | 2002-09-12 | Ryuichi Okamoto | Digital data distributing system |
US20020071566A1 (en) * | 2000-12-11 | 2002-06-13 | Kurn David Michael | Computer system employing a split-secret cryptographic key linked to a password-based cryptographic key security scheme |
US7440953B2 (en) * | 2001-01-25 | 2008-10-21 | Content Directions, Inc. | Apparatus, method and system for directory quality assurance |
DE10110049A1 (de) * | 2001-03-02 | 2002-09-05 | Bosch Gmbh Robert | Verfahren und Vorrichtung zur Datenverschlüsselung bei der Programmierung von Steuergeräten |
US7050583B2 (en) * | 2001-03-29 | 2006-05-23 | Etreppid Technologies, Llc | Method and apparatus for streaming data using rotating cryptographic keys |
US7349539B2 (en) * | 2001-05-04 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | Encoding and encrypting devices for secure scalable data streaming |
WO2003015341A2 (en) * | 2001-08-04 | 2003-02-20 | Kontiki, Inc. | Method and apparatus for facilitating secure distributed content delivery across a computer network |
US6745209B2 (en) * | 2001-08-15 | 2004-06-01 | Iti, Inc. | Synchronization of plural databases in a database replication system |
US20030051159A1 (en) * | 2001-09-11 | 2003-03-13 | Mccown Steven H | Secure media transmission with incremental decryption |
JP2003229843A (ja) * | 2002-01-31 | 2003-08-15 | Sony Corp | ストリーミングシステム及びストリーミング方法、クライアント端末及びコンテンツデータ復号方法、ストリームサーバ及びストリーム配信方法、オーサリング装置及びオーサリング方法、並びにプログラム及び記録媒体 |
US20030167408A1 (en) | 2002-03-01 | 2003-09-04 | Fitzpatrick Gregory P. | Randomized bit dispersal of sensitive data sets |
US7428751B2 (en) * | 2002-12-05 | 2008-09-23 | Microsoft Corporation | Secure recovery in a serverless distributed file system |
US20040123863A1 (en) * | 2002-12-27 | 2004-07-01 | Yi-Hua Wang | Method of controlling oxygen inhaling through involuntary action of human and product thereof |
US7541933B2 (en) * | 2003-03-03 | 2009-06-02 | Veroscan, Inc. | Interrogator and interrogation system employing the same |
KR101055908B1 (ko) * | 2004-03-09 | 2011-08-09 | 톰슨 라이센싱 | 다채널 자격 관리 및 제어를 통한 안전한 데이터 전송 |
US7203871B2 (en) * | 2004-06-03 | 2007-04-10 | Cisco Technology, Inc. | Arrangement in a network node for secure storage and retrieval of encoded data distributed among multiple network nodes |
CN1595865A (zh) * | 2004-07-13 | 2005-03-16 | 深圳大学 | 基于虚拟光学和公钥基础设施实现信息安全的方法 |
CA2584525C (en) | 2004-10-25 | 2012-09-25 | Rick L. Orsini | Secure data parser method and system |
US7188230B2 (en) * | 2005-02-15 | 2007-03-06 | Hitachi, Ltd. | Method of assuring data integrity on storage volumes |
US20060282681A1 (en) * | 2005-05-27 | 2006-12-14 | Scheidt Edward M | Cryptographic configuration control |
US7577689B1 (en) * | 2005-06-15 | 2009-08-18 | Adobe Systems Incorporated | Method and system to archive data |
US7627125B2 (en) | 2005-06-23 | 2009-12-01 | Efunds Corporation | Key loading systems and methods |
US8880799B2 (en) * | 2005-09-30 | 2014-11-04 | Cleversafe, Inc. | Rebuilding data on a dispersed storage network |
US7546427B2 (en) * | 2005-09-30 | 2009-06-09 | Cleversafe, Inc. | System for rebuilding dispersed data |
US8842835B2 (en) * | 2005-10-27 | 2014-09-23 | Cisco Technology | Network security system |
WO2008054406A2 (en) | 2005-11-18 | 2008-05-08 | Orsini Rick L | Secure data parser method and system |
JP4482630B2 (ja) * | 2005-11-21 | 2010-06-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信装置および通信方法 |
US7649992B2 (en) * | 2006-01-06 | 2010-01-19 | Fujitsu Limited | Apparatuses for encoding, decoding, and authenticating data in cipher block chaining messaging authentication code |
EP2100404B1 (en) | 2006-11-07 | 2016-01-27 | Security First Corp. | Systems and methods for distributing and securing data |
CN105224417A (zh) * | 2006-12-05 | 2016-01-06 | 安全第一公司 | 改进的磁带备份方法 |
US8958562B2 (en) * | 2007-01-16 | 2015-02-17 | Voltage Security, Inc. | Format-preserving cryptographic systems |
CA2699416A1 (en) * | 2007-09-14 | 2009-03-19 | Rick L. Orsini | Systems and methods for managing cryptographic keys |
WO2009089015A1 (en) | 2008-01-07 | 2009-07-16 | Security First Corporation | Systems and methods for securing data using multi-factor or keyed dispersal |
CA2946778A1 (en) | 2008-02-22 | 2009-08-27 | Security First Corp. | Systems and methods for secure workgroup management and communication |
US8392682B2 (en) * | 2008-12-17 | 2013-03-05 | Unisys Corporation | Storage security using cryptographic splitting |
US20100153703A1 (en) * | 2008-12-17 | 2010-06-17 | David Dodgson | Storage security using cryptographic splitting |
US20100154053A1 (en) * | 2008-12-17 | 2010-06-17 | David Dodgson | Storage security using cryptographic splitting |
US20100150341A1 (en) * | 2008-12-17 | 2010-06-17 | David Dodgson | Storage security using cryptographic splitting |
CA2760251A1 (en) | 2009-05-19 | 2010-11-25 | Security First Corp. | Systems and methods for securing data in the cloud |
CN106411909A (zh) * | 2009-11-25 | 2017-02-15 | 安全第公司 | 对移动中数据进行保护的***和方法 |
-
2009
- 2009-01-07 WO PCT/US2009/000083 patent/WO2009089015A1/en active Application Filing
- 2009-01-07 CN CN2009801047290A patent/CN101939946B/zh not_active Expired - Fee Related
- 2009-01-07 US US12/349,897 patent/US8473756B2/en active Active
- 2009-01-07 BR BRPI0906863A patent/BRPI0906863A8/pt not_active IP Right Cessation
- 2009-01-07 AU AU2009204512A patent/AU2009204512B2/en not_active Ceased
- 2009-01-07 EP EP09700009.5A patent/EP2106642A4/en not_active Ceased
- 2009-01-07 CA CA2710868A patent/CA2710868A1/en not_active Abandoned
- 2009-01-07 CN CN201310086524.2A patent/CN103178965B/zh not_active Expired - Fee Related
-
2013
- 2013-05-28 US US13/903,444 patent/US9098718B2/en active Active
-
2015
- 2015-06-25 US US14/750,562 patent/US9825927B2/en active Active
-
2017
- 2017-10-20 US US15/789,623 patent/US20180041485A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6819766B1 (en) * | 1999-03-30 | 2004-11-16 | International Business Machines Corporation | Method and system for managing keys for encrypted data |
CN1658551A (zh) * | 2004-02-16 | 2005-08-24 | 华为技术有限公司 | 安全能力协商方法 |
CN101073049A (zh) * | 2004-12-07 | 2007-11-14 | 阿诺托股份公司 | 用于将信息路由到应用服务的方法和设备 |
Non-Patent Citations (1)
Title |
---|
Privacy Preserving Web-Based Email;Kevin Butler等;《Information Systems Security》;20061221;第4332卷;第116-131页 * |
Also Published As
Publication number | Publication date |
---|---|
US20150295908A1 (en) | 2015-10-15 |
US20130275773A1 (en) | 2013-10-17 |
EP2106642A4 (en) | 2015-12-02 |
US8473756B2 (en) | 2013-06-25 |
US20180041485A1 (en) | 2018-02-08 |
BRPI0906863A2 (pt) | 2015-07-07 |
WO2009089015A1 (en) | 2009-07-16 |
EP2106642A1 (en) | 2009-10-07 |
BRPI0906863A8 (pt) | 2018-10-30 |
CN103178965A (zh) | 2013-06-26 |
AU2009204512B2 (en) | 2014-06-12 |
CA2710868A1 (en) | 2009-07-16 |
AU2009204512A1 (en) | 2009-07-16 |
US20090177894A1 (en) | 2009-07-09 |
US9098718B2 (en) | 2015-08-04 |
CN101939946B (zh) | 2013-04-24 |
CN101939946A (zh) | 2011-01-05 |
US9825927B2 (en) | 2017-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103178965B (zh) | 使用多因素或密钥式分散对数据进行保护的***和方法 | |
CN103563325B (zh) | 用于保护数据的***和方法 | |
CN103609059B (zh) | 用于安全数据共享的***和方法 | |
CN103270516B (zh) | 用于安全保护虚拟机计算环境的***和方法 | |
CN103636160B (zh) | 安全文件共享方法与*** | |
CN103229450B (zh) | 用于安全多租户数据存储的***和方法 | |
CN103039057B (zh) | 对移动中数据进行保护的***和方法 | |
CN102932136B (zh) | 用于管理加密密钥的***和方法 | |
CN106230872A (zh) | 对移动中数据进行保护的***和方法 | |
CN101401341B (zh) | 安全数据解析方法和*** | |
CN102664728B (zh) | 安全数据解析器方法和*** | |
CN102609640B (zh) | 安全数据分析方法和*** | |
CN104079573A (zh) | 用于安全保护云中的数据的***和方法 | |
CN103229165A (zh) | 用于数据的安全远程存储的***和方法 | |
CN105224417A (zh) | 改进的磁带备份方法 | |
CN103190129B (zh) | 对移动中数据进行保护的***和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 1187168 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1187168 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160831 Termination date: 20190107 |