CN104079573A - 用于安全保护云中的数据的系统和方法 - Google Patents
用于安全保护云中的数据的系统和方法 Download PDFInfo
- Publication number
- CN104079573A CN104079573A CN201410306525.8A CN201410306525A CN104079573A CN 104079573 A CN104079573 A CN 104079573A CN 201410306525 A CN201410306525 A CN 201410306525A CN 104079573 A CN104079573 A CN 104079573A
- Authority
- CN
- China
- Prior art keywords
- data
- authentication
- engine
- user
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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/602—Providing cryptographic facilities or services
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- 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/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biomedical Technology (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及用于安全保护云中的数据的系统和方法。提供一种可集成到用于安全地将数据存储在云计算资源中并与云计算资源传送数据的任意合适系统中的安全数据解析器。该安全数据解析器解析数据,然后将该数据分割为独立存储或传送的多个部分。为了增加安全性,可利用原始数据、数据的部分或者这二者的加密。
Description
本申请是申请日为2010年5月19日、申请号为201080021718.9、发明名称为“用于安全保护云中的数据的系统和方法”的申请的分案申请。
相关申请的交叉引用
本申请要求于2009年5月19日提交的、标题为“Systems andMethods for Securing Data in SOA,Cloud,and High PerformanceEnvironments”的美国临时专利申请No.61/179,481的优先权,在此通过引用并入其全部内容。
技术领域
本发明一般涉及用于安全保护(secure)云中的数据的系统和方法。本文所述的系统和方法可结合以下中所述的其它系统和方法使用:共有美国专利No.7,391,865和以下共有美国专利申请:于2005年10月25日提交的No.11/258,839、于2006年11月20日提交的No.11/602,667、于2007年11月7日提交的No.11/983,355、于2007年12月5日提交的No.11/999,575、于2008年4月18日提交的No.12/148,365、于2008年9月12日提交的No.12/209,703、于2009年1月7日提交的No.12/349,897、于2009年2月23日提交的No.12/391,025,在此通过引用并入所有这些专利和专利申请的全部内容。
背景技术
在当今社会中,个人和企业在计算机系统上和通过计算机系统进行数量日益增多的行为。包括专用和非专用计算机网络的这些计算机系统通常存储、存档和发送(transmit)所有类型的敏感信息。因此,存在日益增长的需求:确保通过这些系统存储和发送的数据不能被读取或者以其它方式被损坏。
用于安全保护计算机系统的一种常用解决方案是提供登录和密码功能。然而,密码管理已证明成本相当高,大部分帮助进行与密码问题相关的桌面调用。而且,由于密码通常存储在易于通过例如蛮力攻击不适当存取的文件中,所以它们提供很低的安全性。
用于安全保护计算机系统的另一种解决方案是提供密码基础设施。总的来讲,密码术是指通过将数据变换或加密为不可读格式来保护数据。仅拥有加密的密钥的那些人可将数据解密为可用格式。密码术被用于识别用户(比如,认证),以给予创建数字证书和签名等的存取特权(比如,授权)。一种流行的密码系统是使用两个密钥的公钥系统,所述两个密钥即,每个人都知道的公钥和仅个人或其企业主知道的私钥。总的来讲,用一个密钥加密的数据用另一个密钥解密,并且没有一个密钥可从另一个密钥重建。
不幸的是,即使前述的典型的公钥密码系统对于安全性也仍然高度依赖于用户。例如,密码系统例如通过用户的浏览器将私钥颁发给用户。单纯的用户然后通常将私钥存储在其他人可通过开放计算机系统(例如,互联网)存取的硬盘上。另一方面,用户可能为包含其私钥的文件选择很弱的文件名,例如,“key”。前述动作和其它动作的结果是使得一个密钥或多个密钥易于受损。
除了前述损坏之外,用户可能将他或她的私钥存储在用存档或备份系统配置的计算机系统上,从而潜在导致私钥副本行进通过多个计算机存储设备或其它系统。该安全漏洞通常被称为“密钥迁移”。与密钥迁移类似,许多应用(最多地)通过简单的登录和密码存取提供对用户的私钥的存取。如在前述中所提及的,登录和密码存取通常不提供足够的安全性。
一种提高前述密码系统的安全性的解决方案是包括作为认证或授权的一部分的生物辨识(biometrics)。生物辨识通常包括可测量的物理特性,例如,可通过自动系统(例如指纹模式或语音模式的模式匹配或识别)检查的指纹或语音。在这样的系统中,用户的生物辨识和/或密钥可存储在移动计算设备上,从而使得可在移动环境下使用生物辨识或密钥,所述移动计算设备例如为智能卡、膝上型电脑、个人数字助理或移动电话。
前述移动生物辨识密码系统仍有各种缺点。例如移动用户可能丢失或弄坏智能卡或便携式计算设备,从而使得他或她的对潜在重要的数据的存取完全切断。或者,怀有恶意的人可能窃取移动用户的智能卡或便携式计算设备,并使用它有效地窃取移动用户的数字凭证。另一方面,便携式计算设备可连接至诸如互联网的开放系统,并且像密码那样,存储生物辨识的文件可易于由于用户对安全性或恶意侵入者的疏忽而受损。
发明内容
基于前述,存在对于提供一种在仍支持移动用户的同时其安全性是用户独立的密码系统的需求。
因此,本发明的一方面是提供一种用于安全保护几乎任意类型的数据不被未授权地存取或使用的方法。该方法包括解析将被安全保护的数据、将该数据分割和/或分离为两个或更多个部份或部分的一个或多个步骤。该方法还包括对将被安全保护的数据进行加密。可在数据的第一解析、分割和/或分离之前或之后执行数据加密。另外,对于数据的一个或多个部分,可重复加密步骤。类似地,对于数据的一个或多个部分,可重复解析、分割和/或分离步骤。该方法还可选地包括存储已在一个位置中或者在多个位置中被加密的解析的、分割的和/或分离的数据。该方法还可选地包括将安全保护的数据重构或重新组装为其原始形式,以用于授权存取或使用。该方法可被合并到能够执行该方法的期望步骤的任意计算机、服务器、引擎等的操作中。
本发明的另一个方面提供一种用于安全保护几乎任意类型的数据不被未授权地存取或使用的系统。该系统包括数据分割模块、密码处理模块,可选地,还包括数据组装模块。该系统在一个实施例中还可包括可存储安全数据的一个或多个数据存储设施。
相应地,本发明的一方面是提供一种安控服务器或授信引擎,该安控服务器或授信引擎具有以服务器为中心的密钥,或者换句话讲,将密码密钥和用户认证数据存储在服务器上。根据本实施例,用户访问授信引擎,以便执行认证和密码功能,诸如,但不限于,例如,认证、授权、数字签名和产生(生成)、存储和证书检索、加密、类似公证的和类似委托书的动作等。
本发明的另一方面是提供一种可靠的或者可信的认证处理。而且,在可信任地肯定认证之后,可采取大量不同的动作(从提供密码技术到系统或设备授权和访问),以使得可使用或控制一个或大量电子设备。
本发明的另一方面是在密码密钥和认证数据没有丢失、窃取或受损的环境下提供这些密码密钥和认证数据,从而有利地避免连续地重新颁发和管理新的密钥和认证数据的需要。根据本发明的另一方面,授信引擎使得用户可将一个密钥对用于多个行为、卖方和/或认证请求。根据本发明的又一方面,授信引擎在服务器端执行密码处理中的至少一个步骤,从而使得客户端或用户可仅占有最少计算资源,所述密码处理例如,但不限于,加密、认证或签名。
根据本发明的又一方面,授信引擎包括用于存储每个密码密钥和认证数据的部分的一个或多个贮藏器。所述部分通过数据分割处理来创建,所述数据分割处理禁止在没有来自一个贮藏器中的多于一个位置的或者来自多个贮藏器的预定部分的情况下进行重构。根据另一个实施例,所述多个贮藏器可以是地理上遥远的,以使得在一个贮藏器处的破坏员工或者相反受损系统将不提供对用户的密钥或认证数据的存取。
根据又一个实施例,认证处理有利地使得授信引擎可并行处理多个认证行为。根据又一个实施例,授信引擎可有利地跟踪失败的存取尝试,从而限制恶意侵入者可以尝试破坏系统的次数。
根据又一个实施例,授信引擎可包括多个实例化,在所述实例化中,每个授信引擎可预测处理负荷,并与其它设备分担处理负荷。根据又一个实施例,授信引擎可包括冗余模块,所述冗余模块用于对多个认证结果进行轮询,以确保多于一个系统对用户进行认证。
因此,本发明的一方面包括一种可远程访问的用于存储任意类型数据的安控密码系统,所述数据包括,但不限于,与多个用户相关联的多个私有密码密钥。该密码系统将多个用户中的每个与多个私有密码密钥中的一个或多个不同密钥相关联,并使用相关联的一个或多个不同密钥对每个用户执行密码功能,而不将多个私有密码密钥发布给用户。该密码系统包括贮藏系统,所述贮藏系统具有存储将被安全保护的数据的至少一个服务器,所述数据例如多个私有密码密钥和多个注册认证数据。每个注册认证数据识别多个用户之一,所述多个用户中的每个与多个私有密码密钥中的一个或多个不同密钥相关联。该密码系统还可包括认证引擎,所述认证引擎将由所述多个用户之一接收的认证数据与从贮藏系统接收的、与所述多个用户之一对应的注册认证数据进行比较,从而产生认证结果。该密码系统还可包括密码引擎,当认证结果指示正确地识别所述多个用户之一时,所述密码引擎使用从贮藏系统接收的相关联的一个或多个不同密钥来代表所述多个用户之一执行密码功能。该密码系统还可包括事项引擎,所述事项引擎被连接以将数据从多个用户路由到贮藏服务器系统、认证引擎和密码引擎。
本发明的另一个方面包括安控密码系统,该安控密码系统可选地可被远程访问。该密码系统包括贮藏系统,所述贮藏系统具有存储至少一个私钥和任意其它数据的至少一个服务器,所述数据例如,但不限于,多个注册认证数据,其中,每个注册认证数据识别可能多个用户中的一个。该密码系统还可可选地包括认证引擎,所述认证引擎将由用户接收的认证数据与从贮藏系统接收的、与该用户对应的注册认证数据进行比较,从而产生认证结果。该密码系统还包括密码引擎,当认证结果指示正确地识别该用户时,所述密码引擎至少使用可从贮藏系统接收的所述私钥来代表该用户执行密码功能。该密码系统还可可选地包括事项引擎,所述事项引擎被连接以将数据从用户路由到其它引擎或系统,例如,但不限于,贮藏服务器系统、认证引擎和密码引擎。
本发明的另一个方面包括使密码功能便利的方法。该方法包括将多个用户中的一个用户与存储在安全位置上的多个私有密码密钥中的一个或多个密钥相关联,所述安全位置诸如安控服务器。该方法还包括:从用户接收认证数据,并将该认证数据与对应于该用户的认证数据进行比较,从而验证该用户的身份。该方法还包括利用所述一个或多个密钥执行密码功能,而不将所述一个或多个密钥发布给所述用户。
本发明的另一个方面包括用于通过用户的注册认证数据的安全存储来唯一地识别用户的认证系统。该认证系统包括一个或多个数据存储设施,其中,每个数据存储设施包括存储注册认证数据的至少一个部分的计算机可存取存储介质。该认证系统还包括与所述一个数据存储设施或多个数据存储设施进行通信的认证引擎。所述认证引擎包括:数据分割模块,所述数据分割模块对注册认证数据进行操作,以创建部分;数据组装模块,所述数据组装模块对来自所述数据存储设施中的至少一个的部分进行处理,以组装注册认证数据;和数据比较器模块,所述数据比较器模块从用户接收当前认证数据,并将当前认证数据与组装的注册认证数据进行比较,以确定该用户是否已被唯一地识别。
本发明的另一个方面包括密码系统。该密码系统包括一个或多个数据存储设施,其中,每个数据存储设施包括存储一个或多个密码密钥中的至少一个部分的计算机可存取存储介质。该密码系统还包括与所述数据存储设施进行通信的密码引擎。所述密码引擎还包括:数据分割模块,所述数据分割模块对所述密码密钥进行操作,以创建部分;数据组装模块,所述数据组装模块对来自所述数据存储设施中的至少一个的部分进行处理,以组装所述密码密钥;和密码处理模块,所述密码处理模块接收组装的密码密钥,并用这些密码密钥执行密码功能。
本发明的另一个方面包括一种方法,该方法将任意类型的数据存储在地理上遥远的安全数据存储设施中,从而保护所述数据不被任意个别数据存储设施所组成,所述数据包括,但不限于,认证数据。该方法包括:在授信引擎接收数据;在授信引擎将所述数据与第一基本随机值组合,以形成第一组合值;将所述数据与第二基本随机值组合,以形成第二组合值。该方法包括:创建第一基本随机值与第二组合值的第一配对;创建第一基本随机值与第二基本随机值的第二配对;将第一配对存储在第一安全数据存储设施中。该方法包括将第二配对存储在远离第一安全数据存储设施的第二安全数据存储设施中。
本发明的另一方面包括一种存储任意类型数据的方法,所述数据包括,但不限于,认证数据,该方法包括:接收数据;将所述数据与第一组比特组合,以形成第二组比特;将所述数据与第三组比特组合,以形成第四组比特。该方法还包括创建第一组比特与第三组比特的第一配对。该方法还包括:创建第一组比特与第四组比特的第二配对,并将第一配对和第二配对之一存储在第一计算机可存取存储介质中。该方法还包括将第一配对和第二配对中的另一配对存储在第二计算机可存取存储介质中。
本发明的另一方面包括一种方法,该方法将密码数据存储在地理上遥远的安全数据存储设施中,从而保护所述密码数据不被任意个别数据存储设施所包含。该方法包括:在授信引擎接收密码数据;在授信引擎将所述密码数据与第一基本随机值组合,以形成第一组合值;将所述密码数据与第二基本随机值组合,以形成第二组合值。该方法还包括:创建第一基本随机值与第二组合值的第一配对;创建第一基本随机值与第二基本随机值的第二配对;将第一配对存储在第一安全数据存储设施中。所述方法还包括将第二配对存储在远离第一安全数据存储设施的第二安全数据存储设施中。
本发明的另一方面包括一种存储密码数据的方法,该方法包括:接收认证数据,并将所述密码数据与第一组比特组合,以形成第二组比特。该方法还包括:将所述密码数据与第三组比特组合,以形成第四组比特;创建第一组比特与第三组比特的第一配对;创建第一组比特与第四组比特的第二配对。该方法还包括:将第一配对和第二配对之一存储在第一计算机可存取存储介质中,并将第一配对和第二配对中的另一配对存储在第二计算机可存取存储介质中。
本发明的另一方面包括处理密码系统中的任意类型或形式的敏感数据的方法,其中,所述敏感数据仅在授权用户利用所述敏感数据执行动作期间以可用形式存在。该方法还包括:在软件模块中从第一计算机可存取存储介质接收基本上随机化的或者加密的敏感数据;以及在所述软件模块中,从一个或多个其它计算机可存取存储介质接收基本上随机化的或者加密的、可以是敏感数据或者可以不是敏感数据的数据。该方法还包括:在所述软件模块中处理基本上随机化的预先加密的敏感数据和基本上随机化的或者加密的、可以是敏感数据或者可以不是敏感数据的数据,以组装所述敏感数据;以及在所述软件引擎中利用所述敏感数据来执行动作。所述动作包括,但不限于,认证用户和执行密码功能之一。
本发明的另一方面包括一种安全认证系统。该安全认证系统包括多个认证引擎。每个认证引擎接收注册认证数据,所述注册认证数据被设计为达到一定程度的确定性地唯一识别用户。每个认证引擎接收当前认证数据,以与注册认证数据进行比较,每个认证引擎确定认证结果。安全认证系统还包括冗余系统,所述冗余系统接收所述认证引擎中的至少两个的认证结果,并确定用户是否已被唯一地识别。
本发明的另一方面包括运动系统中的安全数据,由此数据可用根据本发明安全保护的不同部分发送,以使得变为受损的任意一个部分不应该提供恢复原始数据的充要数据。这可应用于数据的任意发送,无论它是有线的、无线的,还是物理的。
本发明的另一方面包括将本发明的安全数据解析器集成到存储或传送数据的任意合适的系统中。例如,电子邮件系统、RAID系统、视频广播系统、数据库系统或任意其它合适系统可具有在任意合适级别集成的安全数据解析器。
本发明的另一方面包括使用任意合适的解析和分割算法来产生(生成)数据份额。随机的、伪随机的、确定性的或者它们的任意组合可被用于解析和分割数据。
本发明的另一方面包括将本发明的安全数据解析器集成到在其中存储数据或者与云计算资源传送数据的任意合适的系统中。安全数据解析器可被用于安全保护存储在云中的数据和安全保护云中提供的数据服务。可安全保护云中的网络访问,以使用户与兴趣社区之间的安全通信便利。在一些实施例中,可将虚拟机图像发送给用户,以提供对云计算资源的安全访问。
本发明的另一方面包括将本发明的安全数据解析器集成到用于安全保护数据网络的任意合适的系统中。安全数据解析器可被用于安全保护正交频分复用(OFDM)网络,诸如无线宽带和电力线宽带。安全数据解析器还可被用于安全保护对诸如电网的关键基础设施系统的访问。
附图说明
以下结合附图对本发明进行更详细的描述,附图意在举例说明本发明,而不是限制本发明,在附图中:
图1示出根据本发明的实施例的方面的密码系统的框图;
图2示出根据本发明的实施例的方面的图1的授信引擎的框图;
图3示出根据本发明的实施例的方面的图2的事项引擎的框图;
图4示出根据本发明的实施例的方面的图2的贮藏器的框图;
图5示出根据本发明的实施例的方面的图2的认证引擎的框图;
图6示出根据本发明的实施例的方面的图2的密码引擎的框图;
图7示出根据本发明的另一个实施例的方面的贮藏系统的框图;
图8示出根据本发明的实施例的方面的数据分割处理的流程图;
图9平面A示出根据本发明的实施例的方面的注册处理的数据流;
图9平面B示出根据本发明的实施例的方面的互操作处理的流程图;
图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是根据本发明的一个实施例的说明性份额格式的简化框图,该框图可以按任意合适的组合、任意合适的添加、删除或修改使用;
图42是根据本发明的一个实施例的在其中安全数据解析器被集成到与云计算资源连接的系统中的说明性布置的框图;
图43是根据本发明的一个实施例的在其中安全数据解析器被集成到用于通过云发送数据的系统中的说明性布置的框图;
图44是根据本发明的一个实施例在其中安全数据解析器被用于安全保护云中的数据服务的说明性布置的框图;
图45是根据本发明的一个实施例的在其中安全数据解析器被用于安全保护云中的数据存储的说明性布置的框图;
图46是根据本发明的一个实施例的在其中安全数据解析器被用于安全保护网络访问控制的说明性布置的框图;
图47是根据本发明的一个实施例的在其中安全数据解析器被用于安全保护高性能计算资源的说明性布置的框图;
图48是根据本发明的一个实施例的在其中安全数据解析器被用于安全保护使用虚拟机的访问的说明性布置的框图;
图49和50显示根据本发明的实施例的用于安全保护使用虚拟机的访问的可替换说明性布置的框图;
图51是根据本发明的一个实施例的在其中安全数据解析器被用于安全保护正交频分复用(OFDM)网络的说明性布置的框图;
图52是根据本发明的一个实施例的在其中安全数据解析器被用于安全保护电网的示例性布置的框图。
具体实施方式
本发明的一方面提供一种密码系统,在该密码系统中,一个或多个安控服务器或授信引擎存储密码密钥和用户认证数据。用户通过对授信引擎的网络访问来访问常规密码系统的功能,然而,授信引擎不发布实际密钥和其它认证数据,因此,密钥和数据保持安全。密钥和认证数据的这种以服务器为中心的存储提供用户独立的安全性、便携性、可用性和简单性。
由于用户能够对密码系统执行用户和文档认证及其它密码功能有信心或者信任密码系统执行用户和文档认证及其它密码功能,所以可将多种功能合并到系统中。例如,授信引擎提供商可通过例如下述方式确保不遭受协议否认,即,认证协议参与者,代表参与者或者为了参与者对协议进行数字签名,并存储由每个参与者数字签名的协议的记录。另外,密码系统可监视协议,并基于例如价格、用户、卖方、地理位置、使用地点等确定应用不同程度的认证。
为了帮助彻底理解本发明,具体实施方式的其余部分参照附图对本发明进行描述,在附图中,相似的元件始终用相似的数字指代。
图1示出根据本发明的实施例的方面的密码系统100的框图。如图1所示,密码系统100包括通过通信链路125进行通信的用户系统105、授信引擎110、证书管理中心115和卖方系统120。
根据本发明的一个实施例,用户系统105包括具有一个或多个微处理器的常规通用计算机,所述微处理器例如基于Intel的处理器。而且,用户系统105包括合适的操作系统,例如,能够包括图形或窗口的操作系统,诸如Windows、Unix、Linux等。如图1所示,用户系统105可包括生物辨识设备107。生物辨识设备107可有利地捕捉用户的生物辨识,并将捕捉的生物辨识传送到授信引擎110。根据本发明的一个实施例,生物辨识设备可有利地包括具有与以下中公开的那些属性和特征类似的属性和特征的设备:于1997年9月5日提交的、标题为“RELIEF OBJECT IMAGE GENERATOR”的美国专利申请No.08/926,277、于2000年4月26日提交的、标题为“IMAGING DEVICE FOR A RELIEF OBJECT AND SYSTEMAND METHOD OF USING THE IMAGE DEVICE”的美国专利申请No.09/558,634、于1999年11月5日提交的、标题为“RELIEFOBJECT SENSOR ADAPTOR”的美国专利申请No.09/435,011、和于2000年1月5日提交的、标题为“PLANAR OPTICAL IMAGESENSOR AND SYSTEM FOR GENERATING AN ELECTRONICIMAGE OF A RELIEF OBJECT FOR FINGERPRINT READING”的美国专利申请No.09/477,943,所有这些专利申请由即时受让人拥有,在此通过引用并入所有这些专利申请。
另外,用户系统105可通过常规服务提供商与通信链路125连接,所述常规服务提供商例如拨号、数字用户线(DSL)、电缆调制解调器、光纤连接等。根据另一个实施例,用户系统105通过网络连接与通信链路125连接,所述网络连接例如局域网或广域网。根据一个实施例,操作系统包括处理通过通信链路125传递的所有输入和输出消息业务的TCP/IP堆栈。
虽然参照前述实施例公开了用户系统105,但是本发明并非意图受限于此。相反,技术人员将从本文的公开内容认识到用户系统105的多种可替换实施例,包括能够从另一个计算机系统发送或接收信息的几乎任意计算设备。例如,用户系统105可包括,但不限于,可与通信链路125交互的计算机工作站、交互式电视、交互式展示亭、个人移动计算设备(诸如,数字助理、移动电话、膝上型电脑等)、无线通信设备、智能卡、嵌入式计算设备等。在这样的可替换系统中,操作系统将可能不同,并且适合于特定设备。然而,根据一个实施例,操作系统有利地继续提供建立与通信链路125的通信所需的合适通信协议。
图1示出授信引擎110。根据一个实施例,授信引擎110包括用于访问和存储敏感信息的一个或多个安控服务器,所述敏感信息可以是任意类型或形式的数据,例如,但不限于,文本、音频、视频、用户认证数据及公共和私有密码密钥。根据一个实施例,认证数据包括被设计为唯一地识别密码系统100的用户的数据。例如,认证数据可包括用户识别号、一个或多个生物辨识和由授信引擎110或用户产生、但是一开始由用户在注册时答复的一系列问题和答复。前述问题可包括人口统计数据、个人数据或者被设计为唯一地识别用户的其它数据,所述人口统计数据诸如出生地、地址、周年纪念日等,所述个人数据诸如母亲的婚前姓氏、喜欢的冰淇淋等。授信引擎110将与当前事项相关联的用户认证数据与早些时间(例如在注册期间)提供的认证数据进行比较。授信引擎110可有利地要求用户在每个事项时产生认证数据,或者授信引擎110可有利地使得用户可周期性地(例如,在一连串事项开始或者登录到特定卖方网站时)产生认证数据。
根据用户产生生物辨识数据的实施例,用户将物理特性提供给生物辨识设备107,所述物理特性诸如,但不限于,脸扫描、手扫描、耳扫描、虹膜扫描、视网膜扫描、血管模式、DAN、指纹、手写或语音。生物辨识设备有利地产生物理特性的电子模式或生物辨识。为了注册或认证目的,将电子模式通过用户系统105传送到授信引擎110。
一旦用户产生合适的认证数据并且授信引擎110确定该认证数据(当前认证数据)与注册时提供的认证数据(注册认证数据)之间的肯定匹配,授信引擎110就为用户提供整个密码功能。例如,被正确认证的用户可有利地利用授信引擎110执行散列法、数字签名、加密和解密(通常一起仅仅称为加密)、创建或发布数字证书等。然而,密码功能中所使用的私有密码密钥将在授信引擎110外部不可用,从而确保密码密钥的完整性。
根据一个实施例,授信引擎110产生并存储密码密钥。根据另一个实施例,至少一个密码密钥与每个用户相关联。而且,当密码密钥包括公钥技术时,在授信引擎110内产生与用户相关联的每个私钥,并不从授信引擎110发布该私钥。因此,只要用户访问授信引擎110,用户就可使用他或她的私钥或公钥来执行密码功能。这样的远程访问有利地使得用户可保持完全移动,并可通过实际上任意互联网连接来访问密码功能,所述互联网连接例如蜂窝和卫星电话、展示亭、膝上型电脑、酒店房间等。
根据另一个实施例,授信引擎110使用为授信引擎110产生的密钥对来执行密码功能。根据本实施例,授信引擎110首先对用户进行认证,并且在用户已正确地产生与注册认证数据匹配的认证数据之后,授信引擎110使用它自己的密码密钥对来代表认证的用户执行密码功能。
技术人员将从本文的公开内容认识到密码密钥可有利地包括对称密钥、公钥和私钥中的一些或全部。另外,技术人员将从本文的公开内容认识到前述密钥可用可从商用技术获得的多种算法实现,所述商用技术例如RSA、ELGAMAL等。
图1还示出证书管理中心115。根据一个实施例,证书管理中心115可有利地包括颁发数字证书的可信第三方组织或公司,例如VeriSign、Baltimore、Entrust等。授信引擎110可有利地通过一个或多个常规数字证书协议将对数字证书的请求发送到证书管理中心115,所述数字证书协议例如PKCS10。作为响应,证书管理中心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可包括大范围的交互式通信链路。例如,通信链路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文档有利地使得设计者可创建他们自己的定制文档标签,从而使得能够定义、发送、验证和解释应用程序(application)之间和组织之间的数据。而且,前述通信中的一些或全部可包括常规SSL技术。
根据一个实施例,事项引擎205包括数据路由设备,例如可从Netscape、Microsoft、Apache等购买的常规Web服务器。例如,Web服务器可有利地从通信链路125接收输入数据。根据本发明的一个实施例,输入数据被寻址到授信引擎110的前端安全系统。例如,前端安全系统可有利地包括防火墙、搜索已知的攻击配置文件的侵入检测系统和/或病毒扫描器。在清除前端安全系统之后,事项引擎205接收数据,并将该数据路由到贮藏器210、认证引擎215、密码引擎220和大容量储存器225之一。另外,事项引擎205监视来自认证引擎215和密码引擎220的输入数据,并将该数据通过通信链路125路由到特定系统。例如,事项引擎205可有利地将数据路由到用户系统105、证书管理中心115或卖方系统120。
根据一个实施例,使用例如利用URL或统一资源指示符(URI)的常规HTTP路由技术来路由数据。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可有利地创建审查跟踪。根据一个实施例,审查跟踪包括至少由事项引擎205在整个密码系统100路由的数据的类型和格式的记录。这种审查数据可有利地存储在大容量储存器225中。
图2还示出贮藏器210。根据一个实施例,贮藏器210包括一个或多个数据存储设施,例如,目录服务器、数据库服务器等。如图2所示,贮藏器210存储密码密钥和注册认证数据。密码密钥可有利地对应于授信引擎110或者密码系统100的用户,诸如用户或卖方。注册认证数据可有利地包括被设计为唯一地识别用户的数据,诸如,用户ID、密码、问题答复、生物辨识数据等。在注册用户时或者在另一个可替换的以后的时间可以有利地获取该注册认证数据。例如,授信引擎110可包括注册认证数据的周期性或其它更新或补发。
根据一个实施例,从事项引擎205往返于认证引擎215和密码引擎220的通信包括安全通信,例如,常规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的大量可替换方案。例如,授信引擎110可有利地仅执行认证,或者可替换地,仅执行密码功能中的一些或全部,诸如数据加密和解密。根据这样的实施例,可以有利地移除认证引擎215和密码引擎220之一,从而为授信引擎110创建更简单的设计。另外,密码引擎220还可与证书管理中心通信,以使得证书管理中心被嵌入在授信引擎110内。根据又一个实施例,授信引擎110可有利地执行认证和一个或多个密码功能,例如,数字签名。
图3示出根据本发明的实施例的方面的图2的事项引擎205的框图。根据本实施例,事项引擎205包括具有处理线程和监听线程的操作系统305。可以有利的是,操作系统305与在常规高容量服务器中找到的操作系统类似,所述高容量服务器例如可从Apache购买的Web服务器。监听线程对于输入数据流监视来自通信链路125、认证引擎215和密码引擎220之一的输入通信。处理线程识别输入数据流的特定数据结构,例如,前述数据结构,从而将输入数据路由到通信链路115、贮藏器210、认证引擎215、密码引擎220或大容量储存器225之一。如图3所示,可以有利的是,通过例如SSL技术安全保护输入数据和输出数据。
图4示出根据本发明的实施例的方面的图2的贮藏器210的框图。根据本实施例,贮藏器210包括一个或多个轻量级目录访问协议(LDAP)服务器。LDAP目录服务器可从多个制造商购买,所述制造商诸如Netscape、ISO和其它制造商。图4还显示目录服务器优选地存储与密码密钥对应的数据405和与注册认证数据对应的数据410。根据一个实施例,贮藏器210包括按照唯一用户ID建立认证数据和密码密钥数据的索引的单个逻辑存储器结构。单个逻辑存储器结构优选地包括确保存储在其中的数据中的高信任度或安全性的机制。例如,贮藏器210的物理位置可有利地包括大量常规安全性措施,例如有限员工存取、现代监控系统等。除了物理安全性之外,或者代替物理安全性,计算机系统或服务器可有利地包括保护存储数据的软件解决方案。例如,贮藏器210可有利地创建并存储与采取的动作的审查跟踪对应的数据415。另外,可以有利的是,用与常规SSL技术结合的公钥加密对输入通信和输出通信进行加密。
根据另一个实施例,贮藏器210可包括如参照图7进一步公开的独立地物理分离的数据存储设施。
图5示出根据本发明的实施例的方面的图2的认证引擎215的框图。与图3的事项引擎205类似,认证引擎215包括操作系统505,操作系统505至少具有常规Web服务器的修改版本的监听线程和处理线程,所述常规Web服务器例如可从Apache购买的Web服务器。如图5所示,认证引擎215包括对至少一个私钥510的访问。私钥510可有利地被用于例如对来自事项引擎205或贮藏器210的、已用认证引擎215的对应公钥进行加密的数据进行解密。
图5还示出认证引擎215,认证引擎215包括比较器515、数据分割模块520和数据组装模块525。根据本发明的优选实施例,比较器515包括能够比较与前述生物辨识认证数据相关的潜在复杂的模式的技术。所述技术可包括用于模式比较的硬件、软件或者组合解决方案,例如,表示指纹模式或语音模式的那些模式比较。另外,根据一个实施例,为了给予比较结果,认证引擎215的比较器515可有利地比较常规的文档散列。根据本发明的一个实施例,比较器515包括用于比较的启发法530的应用程序。启发法530可有利地寻址认证尝试周围的状况,诸如,例如,当日时间、IP地址或子网掩码、采购配置文件、电子邮件地址、处理器序号或ID等。
而且,生物辨识数据比较的实质可导致从当前生物辨识数据与注册数据的匹配产生不同的置信度。例如,与仅可返回肯定或否定匹配的传统密码不同,指纹可被确定为部分匹配,比如,90%匹配、75%匹配或10%匹配,而不是简单地确定为正确或不正确。诸如声纹分析或脸识别的其它生物辨识鉴别器可共享概率认证的这个属性,而不是绝对认证。
当用这样的概率认证工作时,或者在认证被认为不是那么绝对可靠的其它情况下,期望应用启发法530来确定所提供的认证中的置信水平是否高得足以认证正在进行的事项。
有时将是这样的情况,即,讨论中的事项是价值相对低的事项,在这种情况下,可以接受的是被认证为较低的置信水平。这可包括具有与其相关联的低美元价值(比如,$10购入价格)的事项或者具有低危险性(比如,仅准许网站会员进入)的事项。
相反,为了认证其它事项,期望在使得可继续进行事项之前,在认证中要求高置信度。这样的事项可包括高美元价值的事项(比如,签署数百万美元供应合约)或者在不正确认证发生(比如,通过远程登录到政府计算机上)时具有高危险性的事项。
可如以下将描述的那样使用与置信水平和事项价值组合的启发法530的使用,以允许比较器可提供动态的情景(context)敏感的认证系统。
根据本发明的另一个实施例,比较器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服务器的修改版本的监听线程和处理线程,所述常规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,贮藏系统700提供冗余度连同增加的安全性措施,可以有利的是,独立存储设施D1至D4中的一些或者全部在地理上分离。例如,根据一个实施例,破译和重新组装敏感数据仅需要来自多个数据存储设施D1至D4中的两个的数据。因此,四个数据存储设施D1至D4中至多两个数据存储设施可以由于维修、系统故障、电力故障等不工作,而不影响授信引擎110的功能。另外,由于根据一个实施例,存储在每个数据存储设施中的数据是随机化的并且不可破译的,所以任意单个数据存储设施的损坏不一定损坏敏感数据。而且,在具有地理分离的数据存储设施的实施例中,多个地理上遥远的设施的损坏变得更加困难。事实上,即使破坏员工破坏所需的多个独立的地理上遥远的数据存储设施也将受到极大的挑战。
虽然参照贮藏系统700的优选实施例和可替换实施例公开了贮藏系统700,但是本发明并非意图受限于此。相反,技术人员将从本文的公开内容认识到贮藏系统700的大量可替换方案。例如,贮藏系统700可包括一个、两个或者更多个数据存储设施。另外,可对敏感数据进行数学运算,以使得需要来自两个或更多个数据存储设施的部分来重新组装和破译敏感数据。
如在前述中所提及的,认证引擎215和密码引擎220每个分别包括数据分割模块520和610,数据分割模块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期间,可通过例如随机选择D2的IP地址来将配对AC发送到贮藏器D2。然后,在第二数据分割处理800期间,可通过例如随机选择D4的IP地址来将配对AC发送到贮藏器D4。另外,可将配对全部存储在一个贮藏器上,并可将这些配对存储在所述贮藏器上的分离的位置中。
基于前述,数据分割处理800有利地将敏感数据的部分放置在四个数据存储设施D1至D4中的每个中,以使得没有单个数据存储设施D1至D4包括重建原始敏感数据S的足够加密数据。如在前述中所提及的,这样的将数据随机化为各个不可用的加密部分提高了安全性,并且即使数据存储设施D1至D4之一受损,也提供数据中的保持信任。
虽然参照数据分割处理800的优选实施例公开了数据分割处理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。因此,当例如数据组装模块525至少从数据存储设施D1至D4中的第一两个接收到数据部分以对授信引擎110的组装请求作出响应时,数据组装模块525可组装敏感数据S。
基于以上数据分割和组装处理,敏感数据S仅在授信引擎110的有限区域中以可用形式存在。例如,当敏感数据S包括注册认证数据时,可用的非随机化的注册认证数据仅可在认证引擎215中使用。同样,当敏感数据S包括私有密码密钥数据时,可用的非随机化的私有密码密钥数据仅可在密码引擎220中使用。
虽然参照数据分割和组装处理的优选实施例公开了数据分割和组装处理,但是本发明并非意图受限于此。相反,技术人员将从本文的公开内容认识到分割和重新组装敏感数据S的大量可替换方案。例如,公钥加密可被用于进一步安全保护数据存储设施D1至D4处的数据。另外,本领域的普通技术人员将易于明白的是,本文所述的数据分割模块也是本发明的单独且独特的实施例,该实施例可被合并到其中、与其组合、或以其它方式成为其中一部分:任意原已存在的计算机系统、软件套件、数据库或者其组合或者本发明的其它实施例,所述其它实施例诸如本文公开和描述的授信引擎、认证引擎和事项引擎。
图9A示出根据本发明的实施例的方面的注册处理900的数据流。如图9A所示,当用户期望向密码系统100的授信引擎110注册时,注册处理900从步骤905开始。根据本实施例,用户系统105有利地包括询问用户键入注册数据的诸如基于Java的客户端小应用程序,所述注册数据诸如人口统计数据和注册认证数据。根据一个实施例,注册认证数据包括用户ID、密码、生物辨识等。根据一个实施例,在询问处理期间,客户端小应用程序优选地与授信引擎110进行通信,以确保所选择的用户ID是唯一的。当用户ID不唯一时,授信引擎110可有利地建议一个唯一用户ID。客户端小应用程序收集注册数据,并例如通过XML文档将注册数据发送到注册引擎110,具体地,发送到事项引擎205。根据一个实施例,用认证引擎215的公钥对发送进行编码。
根据一个实施例,用户在注册处理900的步骤905期间执行一次注册。例如,用户将他或她自己注册为特定人,诸如Joe User。当Joe User期望注册为Joe User,Mega Corp.的CEO时,根据本实施例,Joe User第二次进行注册,接收第二个唯一用户ID,授信引擎110不关联两个身份。根据本发明的另一个实施例,注册处理900为单个用户ID提供多个用户身份。因此,在以上示例中,授信引擎110将有利地关联Joe User的两个身份。如技术人员将从本文的公开内容所理解的,用户可具有许多身份,例如,Joe User一家之主、Joe User公益基金成员等。即使用户可具有多个身份,根据本实施例,授信引擎110也优选地仅存储一组注册数据。而且,有利的是,用户可在需要身份时添加、编辑/更新或删除身份。
虽然参照注册处理900的优选实施例公开了注册处理900,但是本发明并非意图受限于此。相反,技术人员将从本文的公开内容认识到收集注册数据(具体地,注册认证数据)的大量可替换方案。例如,小应用程序可以是基于公共对象模型(COM)的小应用程序等。
另一方面,注册处理可包括分级注册。例如,在最低级注册,用户可通过通信链路125进行注册,而不产生关于他或她的身份的文档。根据级别提高的注册,用户使用可信第三方进行注册,所述可信第三方诸如数字公证人。例如,用户可亲自当可信第三方的面,出示诸如出生证、驾驶执照、军官证等的凭证,并且可信第三方可有利地包括例如他们在注册提交时的数字签名。可信第三方可包括实际公证人、政府机构、招收雇员的大型公司的人力资源负责人等,所述政府机构诸如邮局或机动车辆部门。技术人员将从本文的公开内容理解的是,大量不同级别的注册可在注册处理900期间发生。
在接收到注册认证数据之后,在步骤915,事项引擎205使用常规全SSL技术将注册认证数据转发到认证引擎215。在步骤920中,认证引擎215使用认证引擎215的私钥对注册认证数据进行解密。另外,认证引擎215利用数据分割模块对注册认证数据进行数学运算,以将数据分割为至少两个独立不可破译的随机数。如在前述中所提及的,至少两个数可包括统计随机数和二进制X0Red数。在步骤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,认证管理中心115在步骤955中返回数字证书。返回数字证书可有利地为诸如PKCS7的标准化格式或者证书管理中心115中的一个或多个的专用格式。在步骤960中,事项引擎205接收数字证书,并将副本转发给用户,并向授信引擎110存储副本。授信引擎110存储证书副本,以使得授信引擎110将不需要依赖于证书管理中心115的可用性。例如,当用户期望发送数字证书或者第三方请求用户的数字证书时,通常将对数字证书的请求发送到证书管理中心115。然而,如果证书管理中心115正在进行维修或者是故障或安全性损坏的受害者,则数字证书可能不可用。
在颁发密码密钥之后的任意时间,密码引擎220可有利地利用上述数据分割处理800,以使得密码密钥被分割为独立不可破译的随机数。与认证数据类似,在步骤965,密码引擎200将随机数传送到数据存储设施D1至D4。
技术人员将从本文的公开内容认识到用户可在注册之后的任意时间请求数字证书。而且,系统之间的通信可有利地包括全SSL或者公钥加密技术。而且,注册处理可从多个证书管理中心颁发多个数字证书,所述多个证书管理中心包括授信引擎110内部或外部的一个或多个专用证书管理中心。
如步骤935至960中所公开的,本发明的一个实施例包括对最后存储在授信引擎110中的证书的请求。由于根据一个实施例,密码处理模块625颁发授信引擎110所使用的密钥,所以每个证书对应于私钥。因此,授信引擎110可有利地通过监视用户所拥有的或者与用户相关联的证书来提供互操作性。例如,当密码引擎220接收到对密码功能的请求时,密码处理模块625可调查请求用户所拥有的证书,以确定用户是否拥有与请求的属性匹配的私钥。当这样的证书存在时,密码处理模块625可使用证书或者与证书相关联的公钥或私钥来执行请求的功能。当这样的证书不存在时,密码处理模块625可有利地、透明地执行尝试补救缺少合适密钥的许多动作。例如,图9B示出互操作处理970的流程图,根据本发明的实施例的方面,互操作处理970公开确保密码处理模块625使用合适密钥执行密码功能的前述步骤。
如图9B所示,互操作处理970从步骤972开始,在步骤972中,密码处理模块925确定所期望的证书的类型。根据本发明的一个实施例,可以有利的是,在对密码功能的请求或者由请求者提供的其它数据中指定证书类型。根据另一个实施例,可通过请求的数据格式确定证书类型。例如,密码处理模块925可有利地识别与特定类型对应的请求。
根据一个实施例,证书类型可包括一种或多种算法标准,例如,RSA、ELGAMAL等。另外,证书类型可包括一种或多种密钥类型,诸如对称密钥、公钥、诸如256比特密钥的强加密密钥、安全性较低的密钥等。而且,证书类型可包括前述算法标准或密钥中的一个或多个、一个或多个消息或数据格式、一个或多个数据封装或编码方案(诸如Base 32或Base 64)的升级或替换。证书类型还可包括与一个或多个第三方密码应用程序或接口、一个或多个通信协议或者一个或多个证书标准或协议的兼容性。技术人员将从本文的公开内容认识到其它差异可存在于证书类型,并且到这些差异的转变和从这些差异的转变可如本文公开的那样实现。
一旦密码处理模块625确定证书类型,互操作处理970就进行到步骤974,并确定用户是否拥有与在步骤974中确定的类型匹配的证书。当用户拥有匹配证书时,例如,授信引擎110通过例如其先前存储访问匹配证书,密码处理模块825知道匹配私钥也存储在授信引擎110中。例如,匹配私钥可存储在贮藏器210或贮藏系统700内。密码处理模块625可有利地请求从例如贮藏器210组装的匹配私钥,然后在步骤976中,使用匹配私钥来执行密码动作或功能。例如,如在前述中所提及的,密码处理模块625可有利地执行散列法、散列比较、数据加密或解密、数字签名验证或创建等。
当用户不拥有匹配证书时,互操作处理970继续进行到步骤978,在步骤978中,密码处理模块625确定用户是否拥有交叉认证的证书。根据一个实施例,当第一证书管理中心确定信任来自第二证书管理中心的证书时,证书管理中心之间的交叉认证发生。换句话讲,第一证书管理中心确定来自第二证书管理中心的证书满足某些质量标准,并因此,可被“证明”为与第一证书管理中心自己的证书等同。当证书管理中心颁发例如具有信任级别(水平)的证书时,交叉认证变得更复杂。例如,第一证书管理中心通常可基于注册处理中的可靠性程度为特定证书提供三个信任级别,而第二证书管理中心可提供七个信任级别。交叉认证可有利地跟踪来自第二证书管理中心的哪些级别和哪些证书可代替来自第一证书管理中心的哪些级别和哪些证书。当在两个证书管理中心之间正式地公共地、进行前述交叉认证时,证书和级别的彼此映射通常被称为“链锁”。
根据本发明的另一个实施例,密码处理模块625可有利地在由证书管理中心达成一致的那些外部发展交叉认证。例如,密码处理模块625可访问第一证书管理中心的证书操作声明(CPS)或者其它发布的政策声明,并通过使用例如特定信任水平所要求的认证令牌来将第一证书管理中心的证书与另一个证书管理中心的那些证书匹配。
当在步骤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提供满足所选择的证书管理中心的要求的注册认证数据时,密码处理模块625在步骤986中确定是否存在具有不同认证要求的其它证书管理中心。例如,密码处理模块625可寻找具有较低认证要求、但是仍颁发所选择的证书或者其交叉认证的证书管理中心。
当前述具有较低要求的证书管理中心存在时,互操作处理970继续进行到步骤980,并选择该证书管理中心。可替换地,当没有这样的证书管理中心存在时,在步骤988中,授信引擎110可向用户请求另外的认证令牌。例如,授信引擎110可请求包括例如生物辨识数据的新的注册认证数据。此外,授信引擎110可请求用户亲自去可信第三方面前,并提供合适的认证凭证,例如,用驾驶执照、社会保障卡、银行卡、出生证明、军官证等亲自到公证人面前。当授信引擎110接收到更新的认证数据时,互操作处理970继续进行到步骤984,并获取前述所选择的证书。
通过前述互操作处理970,密码处理模块625有利地提供不同密码系统之间的无缝的、透明的转译和转换。技术人员将从本文的公开内容认识到前述互操作系统的大量优点和实现。例如,互操作处理970的前述步骤986可有利地包括以下更详细论述的信任仲裁的方面,在所述信任仲裁中,证书管理中心可在特殊状况下接受较低水平的交叉认证。另外,互操作处理970可包括确保之间的互操作性和标准证书撤销的利用,例如,利用证书撤销列表(CRL)、在线证书状态协议(OCSP)等。
图10示出根据本发明实施例的方面的认证处理1000的数据流。根据一个实施例,认证处理1000包括从用户收集当前认证数据,并将该数据与用户的注册认证数据进行比较。例如,在用户期望与例如卖方执行事项的情况下,认证处理1000从步骤1005开始。这样的事项可包括,例如,选择采购选项、请求访问卖方系统120的限制区域或设备等。在步骤1010,卖方向用户提供事项ID和认证请求。事项ID可有利地包括192比特数量,这192比特数量具有用128比特随机数量连接的32比特时间戳或者用32比特卖方特定常数连接的“随机数”。这样的事项ID唯一地识别事项,以使得仿造(copycat)事项可被授信引擎110拒绝。
认证请求可有利地包括特定事项需要什么水平的认证。例如,卖方可指定讨论中的事项所需的特定置信水平。如果不能使认证达到该置信水平,则如以下将论述的,在用户没有进行进一步认证以提升置信水平或者就卖方与服务器之间的认证而言没有变化的情况下,事项将不发生。以下更完整地论述这些问题。
根据一个实施例,可以有利的是,由卖方端小应用程序或者其它软件程序产生事项ID和认证请求。另外,事项ID和认证数据的发送可包括使用常规SSL技术加密的一个或多个XML文档,所述常规SSL技术例如,1/2SSL,或换句话讲,卖方端认证的SSL。
在用户系统105接收到事项ID和认证请求之后,用户系统105从用户收集当前认证数据,所述当前认证数据可潜在包括当前生物辨识信息。系统105在步骤1015用认证引擎215的公钥至少对当前认证数据“B”和事项ID进行加密,并将该数据传送到授信引擎110。发送优选地包括至少用常规1/2SSL技术加密的XML文档。在步骤1020中,事项引擎205接收发送,优选地,识别URL或URI中的数据格式或请求,并将发送转发到认证引擎215。
在步骤1015和1020期间,卖方系统120在步骤1025使用优选的全SSL技术将事项ID和认证请求转发到授信引擎110。该通信还可包括卖方ID,但是还可通过事项ID的非随机部分来传送卖方标识。在步骤1030和1035,事项引擎205接收通信,在审查跟踪中创建记录,并产生对将从数据存储设施D1至D4组装的用户注册认证数据的请求。在步骤1040,贮藏系统700将与用户对应的注册认证数据的部分传送到认证引擎215。在步骤1045,认证引擎215使用它的私钥对发送进行解密,并将注册认证数据与由用户提供的当前认证数据进行比较。
步骤1045的比较可有利地应用如在前述中论及的且在以下更详细论述的启发式情景敏感认证。例如,如果接收的生物辨识信息不完美匹配,则较低置信匹配产生。在特定实施例中,使认证的置信水平与事项的性质及用户和卖方这二者的期望平衡。再次,以下更详细地论述这方面。
在步骤1050,认证引擎215用步骤1045的比较结果填充认证请求。根据本发明的一个实施例,用认证处理1000的是/否或者真/伪结果填充认证请求。在步骤1055中,将填充的认证请求返回给卖方,以使卖方按照例如使得用户可完成发起认证请求的事项而动作。根据一个实施例,将确认消息传递给用户。
基于前述,认证处理1000有利地保持敏感数据安全,并产生被构造为保持敏感数据的完整性的结果。例如,仅在认证引擎215内部组装敏感数据。例如,注册认证数据不可破译,直到数据组装模块在认证引擎215中组装它为止,并且当前认证数据不可破译,直到通过常规SSL技术和认证引擎215的私钥展开它为止。而且,发送到卖方的认证结果不包括敏感数据,用户可能甚至不知道他或她是否生成有效的认证数据。
虽然参照认证处理1000的优选实施例和可替换实施例公开了认证处理1000,但是本发明并非意图受限于此。相反,技术人员将从本文的公开内容认识到认证处理1000的大量可替换方案。例如,可以有利的是,卖方用几乎任意请求应用替换,甚至用与用户系统105一起驻存的那些应用。例如,诸如微软Word的客户端应用程序可使用应用程序接口(API)或密码API(CAPI)来请求在解锁文档之前进行认证。可替换地,邮件服务器、网络、蜂窝电话、个人或移动计算设备、工作站等都可提出进行通过认证处理1000填充的认证请求。事实上,在提供前述可信认证处理1000之后,请求应用或设备可提供对大量电子或计算机设备或系统的访问或使用。
而且,在认证失败的情况下,认证处理1000可利用大量可替换过程。例如,认证失败可保持相同的事项ID,并请求用户重新键入他或她的当前认证数据。如在前述中所提及的,相同事项ID的使用使得认证引擎215的比较器可监视和限制对于特定事项的认证尝试的次数,从而创建更安全的密码系统100。
另外,可以有利的是,利用认证处理1000来制定(发展)简洁的一次签入解决方案,诸如,解锁敏感数据库。例如,成功的或者肯定的认证可为认证用户提供自动存取用于几乎无限数量的系统和应用的任意数量的密码的能力。例如,用户认证可为用户提供对与以下相关联的密码、登录、财务凭证等的存取:多个在线卖方、局域网、各种个人计算设备、互联网服务提供商、拍卖提供商、投资经纪等。通过利用敏感数据库,由于用户不再需要通过关联记住真正大的随机密码,所以用户可选择这些密码。相反,认证处理1000提供对这些密码的存取。例如,用户可选择长度为二十几数位的随机字母数字串,而不是与可记忆的数据、名称等相关联的某个串。
根据一个实施例,可以有利的是,将与给定用户相关联的敏感数据库存储在贮藏器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之外,签名方还包括用户、卖方或者这二者。因此,授信引擎10提供用户和/或卖方的数字签名,然后用其自己的数字签名指示用户和/或卖方被正确地认证。在本实施例中,认证引擎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的发送可有利地仅包括消息的散列的一个副本。而且,技术人员将从本文的公开内容认识到大量客户端应用程序可请求数字签名。例如,客户端应用程序可包括字处理器、电子表格、电子邮件、语音邮件、限制系统区域的进入等。
另外,技术人员将从本文的公开内容认识到签名处理1100的步骤1105至1120可有利地利用图9B的互操作处理970的步骤中的一些或全部,从而提供不同密码系统之间的互操作性,所述密码系统可能例如需要处理不同签名类型下的数字签名。
图12示出根据本发明的实施例的方面的加密/解密处理1200的数据流。如图12所示,解密处理1200通过下述方式开始,即,使用认证处理1000对用户进行认证。根据一个实施例,认证处理1000将同步会话密钥包括在认证请求中。例如,在常规PKI技术中,技术人员理解的是,使用公钥和私钥对数据进行加密或解密在数学上是密集的,并且可能需要大量系统资源。然而,在对称密钥密码系统或者在其中消息的发送者和接收者共享用于对消息进行加密和解密的单个公用密钥的系统中,数学运算显著简单得多,并且快得多。因此,在常规PKI技术中,消息的发送者将产生同步会话密钥,并使用更简单的、更快的对称密钥系统对消息进行加密。然后,发送者将用接收者的公钥对会话密钥进行加密。加密的会话密钥将被附到同步加密的消息,这两个数据被发送到接收者。接收者使用他或她的私钥对会话密钥进行解密,然后使用会话密钥对消息进行解密。基于前述,更简单的、更快的对称密钥系统被用于大部分加密/解密处理。因此,在解密处理1200中,解密有利地假设同步密钥已用用户的公钥进行加密。因此,如在前述中所提及的,将加密的会话密钥包括在认证请求中。
返回到解密处理1200,在步骤1205中已对用户进行认证之后,认证引擎215将加密的会话密钥转发到密码引擎220。在步骤1210中,认证引擎215将请求转发到数据存储设施D1至D4中的每个,所述请求请求用户的密码密钥数据。在步骤1215中,每个数据存储设施D1至D4将它们各自的密码密钥部分发送到密码引擎220。根据一个实施例,前述发送用密码引擎220的公钥进行加密。
在解密处理1200的步骤1220中,密码引擎229组装密码密钥,并用该密码密钥对会话密钥解密。在步骤1225中,密码引擎将会话密钥转发到认证引擎215。在步骤1227中,认证引擎215填充包括解密的会话密钥的认证请求,并将填充的认证请求发送到事项引擎205。在步骤1230中,事项引擎205将认证请求与会话密钥一起转发到请求应用程序或卖方。然后,根据一个实施例,请求应用程序或卖方使用会话密钥对加密的消息进行解密。
虽然参照解密处理1200的优选实施例和可替换实施例公开了解密处理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分别包括多个独立(distinct)的授信引擎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,认证引擎1322也驻存在第一位置。根据另一个实施例,事项引擎1321将当前认证数据转发到授信引擎1310、1315或1320的认证引擎中的一个或多个。
事项引擎1321还向例如授信引擎1305至1320中的每个的贮藏器请求注册认证数据的组装。根据本实施例,每个贮藏器将它的注册认证数据部分提供给授信引擎1305的认证引擎1322。认证引擎1322然后利用来自例如第一两个贮藏器的加密数据部分做出响应,并将注册认证数据组装为破译形式。认证引擎1322将注册认证数据与当前认证数据进行比较,并将认证结果返回给授信引擎1305的事项引擎1321。
基于以上,授信引擎系统1300利用多个地理上分离的授信引擎1305至1320中的最近一个来执行认证处理。根据本发明的一个实施例,可以有利的是,在客户端小应用程序执行信息到最近事项引擎的路由,所述客户端小应用程序在用户系统105、卖方系统120或证书管理中心115中的一个或多个上执行。根据可替换实施例,可利用更复杂的决策处理来从授信引擎1305至1320选择。例如,决策可基于给定授信引擎的可用性、可操作性、连接速度、负荷、性能、地理相邻性或者它们的组合。
以这种方式,授信引擎系统1300在保持与地理上遥远的数据存储设施相关联的安全性优点的同时缩短它的响应时间,所述数据存储设施诸如参照图7论述的那些数据存储设施,在图7中,每个数据存储设施存储敏感数据的随机化部分。例如,诸如授信引擎1314的贮藏器1325处的安全性损坏不一定损坏授信引擎系统1300的敏感数据。这是因为贮藏器1325仅包含非可破译的随机化数据,所述数据在没有更多的情况下完全无用。
根据另一个实施例,授信引擎系统1300可有利地包括与认证引擎类似的多个密码引擎。密码引擎可有利地执行密码功能,诸如参照图1-8公开的那些密码功能。根据又一个实施例,授信引擎系统1300可有利地用多个密码引擎替换多个认证引擎,从而执行密码功能,诸如参照图1-8公开的那些密码功能。根据本发明的又一个实施例,授信引擎系统1300可用下述引擎替换每个多个认证引擎,所述引擎具有如前面所公开的认证引擎、密码引擎或者这二者中的功能中的一些或全部。
虽然参照授信引擎系统1300的优选实施例和可替换实施例公开了授信引擎系统1300,但是技术人员将认识到授信引擎系统1300可包括授信引擎1305至1320的部分。例如,授信引擎系统1300可包括一个或多个事项引擎、一个或多个贮藏器、一个或多个认证引擎或者一个或多个密码引擎或者它们的组合。
图14示出根据本发明的又一个实施例的方面的授信引擎系统1400的简化框图。如图14所示,授信引擎系统1400包括多个授信引擎1405、1410、1415和1420。根据一个实施例,授信引擎1405、1410、1415和1420均包括参照图1-8公开的授信引擎110的元件中的一些或全部。根据本实施例,当用户系统105、卖方系统120或证书管理中心115的客户端小应用程序与授信引擎系统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接收由用户提供的当前认证数据和从贮藏器210检索的注册数据。这两组数据都可包含与单独的认证技术相关的数据。在步骤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%)匹配。这样的处理可被用于为否则将产生部分匹配的系统提供简单的通过/失败水平的匹配。
在评估给定的认证实例的可靠性时要考虑的另一个因素与提供用于该特定实例的认证数据的状况有关。如上所述,状况是指与特定的认证实例相关联的元数据。这可包括,但不限于,诸如这样的信息:认证者的网络地址、可确定的程度;认证时间;认证数据的发送模式(电话线、蜂窝、网络等);和认证者的系统的序号。
这些因素可被用于产生用户通常请求的认证的类型的配置文件。然后,该信息可被用于以至少两种方式评价可靠性。一种方式是考虑用户是否正在以下述方式请求认证,所述方式与由该用户提出的认证的正常配置文件一致。如果用户通常在工作日期间(当她在工作时)从一个网络地址提出认证请求并在晚上或周末期间(当她在家时)从不同网络地址提出认证请求,则在工作日期间从家庭地址发生的认证不是那么可靠,这是因为家庭地址不在正常认证配置文件里。类似地,如果用户通常在晚上使用指纹生物辨识进行认证,则在白天仅使用密码发起的认证不是那么可靠。
可使用状况元数据来评估认证实例的可靠性的另外的方式是确定状况提供多少确证证实认证者是他声称是的那个个体。例如,如果认证来自具有已知的与用户相关联的序号的系统,则这是用户是他们声称是的那个人的优良状况指示。相反,如果当知道用户居住在伦敦时认证来自已知在洛杉矶的网络地址,则这是该认证基于其状况不是那么可靠的指示。
还可以的是,当cookie或其它电子数据与卖方系统或者授信引擎110交互时,可将它们放置在用户正使用的系统上。该数据被写入到用户系统的储存器,并可包含可被用户系统上的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%——.98%不可靠性,其对应于99.02%的可靠性。
在另外的操作模式下,可在认证引擎215内应用另外的因素和启发法530,以说明各种认证技术的互相依存。例如,如果某人没有被授权访问特定的家庭计算机,则他们也可能在该地址接入电话线。因此,基于始发电话号码以及认证系统的序号的认证没有多大提高认证中的总体置信度。然而,基于知识的认证很大程度上与基于令牌的认证无关(即,如果某人窃取你的蜂窝电话或密钥,则他们同他们没有窃取你的蜂窝电话或密钥一样不可能知道你的PIN或密码)。
此外,不同的卖方或其它认证请求者可能希望对认证的不同方面进行不同地加权。这可包括计算各个实例的可靠性时所使用的各自的加权因子或算法的使用以及对不同实例评估认证事件的不同方式的使用。
例如某些类型的事项的卖主,例如公司电子邮件系统,可能期望默认主要基于启发法和其它状况数据进行认证。因此,他们可将高权重应用于下述因素,这些因素与和围绕认证事件的状况相关联的元数据和其它配置文件相关信息相关。由于不需要从用户得到比该用户在上班时间期间登录到正确机器上所需要得到的多,所以该布置可被用于减轻在正常工作时间期间用户上的负担。然而,另一个卖方可对来自特定技术(例如指纹匹配)的认证施加最大的权重,这是因为这样的技术最适合于为了该特定卖方的目的的认证的决策。
这样的不同权重可由认证请求者在产生认证请求时定义,并可在一种操作模式下用认证请求发送到授信引擎110。还可在初始注册处理期间为认证请求者将这样的选项设置为优选,并在另一种操作模式下将这样的选项存储在认证引擎内。
一旦认证引擎215为所提供的认证数据产生认证置信水平,就在步骤1640中使用该置信水平来完善认证请求,并且将该信息从认证引擎215转发到事项引擎205,以包括在给认证请求者的消息中。
上述处理仅仅是示例性的,本领域技术人员将认识到,所述步骤不必按所显示的顺序执行,或者期望仅执行所述步骤中的某些步骤,或者可能期望步骤的各种组合。此外,如果状况允许,某些步骤,诸如所提供的每个认证实例的可靠性的评估,可彼此并行地执行。
在本发明的进一步的方面中,提供一种适应当通过上述处理产生的认证置信水平未能满足要求认证的卖方或其它方的要求信任水平时的条件的方法。在诸如差距存在于所提供的置信水平与所期望的信任水平之间的这样的状况下,授信引擎110的操作者能够为一方或两方提供提供代替数据或要求的机会,以便闭合该信任差距。本文中将这个处理称为“信任仲裁”。
信任仲裁可在如以上参照图10和11描述的密码认证的框架内进行。如本文所显示的,卖方或其它方将请求与特定事项相关联的特定用户的认证。在一种状况下,卖方简单地请求认证,要么是肯定的,要么是否定的,在从用户接收到合适数据之后,授信引擎110将提供这样的二进制认证。在诸如这些状况的状况下,基于授信引擎110内设置的优选设定来确定安全保护肯定认证所需的置信度。
然而,还可以的是,卖方可请求特定的信任水平,以便完成特定事项。该要求水平可被包括在认证请求中(比如,以98%的置信度对该用户进行认证),或者可由授信引擎110基于与事项相关联的其它因素来确定(即,对于该事项,视情况对该用户进行认证)。一种这样的因素可以是事项的经济价值。对于具有更大经济价值的事项,可能要求更高的信任度。类似地,对于具有高危险性程度的事项,可能要求高信任度。相反,对于低危险性或者低价值的事项,卖方或其它认证请求者可能要求较低的信任水平。
信任仲裁的处理发生在图10的步骤1050中授信引擎110接收认证数据的步骤与图10的步骤1055中将认证结果返回给卖方的步骤之间。在这些步骤之间,导致信任水平和潜在的信任仲裁的评估的处理如图17所示那样发生。在执行简单的二进制认证的状况下,图17中所示的处理缩减为:使事项引擎205直接将所提供的认证数据与如以上参照图10所论述的识别的用户的注册数据进行比较;将任意差别标示为否定认证。
如图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产生该事项的肯定认证。然后,如步骤1055(参照图10)所示,事项引擎205将该效果的消息插入到认证结果中,并将该消息返回给卖方。
然而,如果在步骤1730中认证置信水平没有达到要求信任水平,则置信度差距对于当前认证存在,并在步骤1750中进行信任仲裁。以下参照图18更完整地描述信任仲裁。如下所述的这个处理在授信引擎110的事项引擎205内进行。由于执行信任仲裁不需要认证或其它密码操作(除了事项引擎205和其它部件之间的SSL通信所需的那些操作之外),所以可在认证引擎215外部执行所述处理。然而,如以下将论述的,认证数据或者其它密码或认证事件的任意重新评估将要求事项引擎205将合适的数据重新提交到认证引擎215。本领域的技术人员将认识到可替换地可将信任仲裁处理构造为在认证引擎215自身内部分或全部进行。
如以上所提及的,信任仲裁是这样的处理,即,授信引擎110在适当情况下试图安全保护肯定认证时调停卖方与用户之间的议付。如步骤1805所示,事项引擎205首先确定当前情形是否适合于信任仲裁。如以下将进一步论述的,这可基于认证的状况(比如,该认证是否已经通过多个仲裁循环)以及卖方或用户中的任意一个的优选设定来确定。
在仲裁不可能的这样的状况下,所述处理进行到步骤1810,在步骤1810中,事项引擎205产生否定认证,然后将它插入到在步骤1055(参见图10)中发送给卖方的认证结果中。可有利地被用于防止认证无限地等待判决的一种限制是从初始认证请求设置超时时间段。以这种方式,在时限内没有被肯定认证的任意事项被拒绝进一步仲裁,并被否定地认证。本领域的技术人员将认识到这样的时限可根据事项的状况及用户和卖方的期望而改变。还可将限制设置在在提供成功认证时可进行的尝试的次数上。这样的限制可由如图5所示的尝试限制器535处理。
如果在步骤1805中没有禁止仲裁,则事项引擎205则将与事项方中的一方或双方进行议价。事项引擎205可将消息发送到请求某种形式的另外的认证的用户,以便提升如在步骤1820中产生的认证置信水平。以最简单的形式,这可简单地指示认证不充分。还可发送产生一个或多个另外的认证实例以改进认证的总体置信水平的请求。
如果在步骤1825中用户提供一些另外的认证实例,则如步骤1015(参见图10)所示,事项引擎205将这些认证实例添加到用于事项的认证数据,并将它转发到认证请求215,并且基于用于该事项的原已存在的认证实例和新近提供的认证实例这二者来重新评估认证。
可向授信引擎110请求另外类型的认证,以例如通过电话呼叫进行授信引擎110操作者(或者可信相联者)与用户之间的某种形式的人与人的接触(联系)。该电话呼叫或其它非计算机认证可被用于提供与个人的个人接触,并且还可被基于认证进行某种形式的问卷。这还可给予验证始发电话号码(以及潜在地,当用户打电话来时他的语音分析)的机会。即使不能提供另外的认证数据,与用户的电话号码相关联的另外的情景也可改进认证情景的可靠性。基于该电话呼叫的任意修订数据或状况被馈送到授信引擎110,以在考虑认证请求时使用。
另外,在步骤1820中,授信引擎110可为用户提供购买保险的机会,从而有效地购得更确信的认证。如果认证的置信水平高于起始的某个阈值,则授信引擎110的操作者有时可能仅想使得这样的选项可用。实际上,该用户方保险是当认证满足授信引擎110对于认证的正常要求信任水平、但不满足卖方对于该事项的要求信任水平时授信引擎110担保用户的一种方式。以这种方式,即使用户仅具有产生对于授信引擎110足够的置信度的认证实例,他也仍可成功地认证到如卖方可能要求的非常高的水平。
授信引擎110的这种功能使得授信引擎110可担保其被认证达到授信引擎110的满意度、但是没有达到卖方的满意度的某人。这与下述功能相似,该功能即为由公证人在将他的签名添加到文档以便向以后阅读该文档的某人指示其签名出现在该文档上的人事实上是签署它的人时执行的功能。公证人的签名证明用户的签名动作。以相同的方式,授信引擎提供事项的人是他们声称他们是的那个人的指示。
然而,由于授信引擎110人为地提升由用户提供的置信水平,所以由于用户实际上并不满足卖方的要求信任水平,所以对于授信引擎110操作者存在更大的风险。保险的成本被设计为补偿对授信引擎110(其可有效地公证用户的认证)的错误的肯定认证的风险。用户付款给授信引擎110,以使认证的风险达到比实际提供的置信水平高的置信水平。
由于这样的保险系统使得某人可从授信引擎110有效地购得更高置信度,所以卖方和用户都可能希望防止在某些事项中使用用户方保险。卖方可能希望将肯定认证局限于这样的状况,即,他们知道实际的认证数据支持他们所要求的置信度,所以可向授信引擎110指示用户方保险不被允许。类似地,为了保护他的在线(online)身份,用户可能希望防止在他的账户上使用用户方保险,或者可能希望将它的使用局限于这样的情形,即,不使用保险的认证置信水平高于某个界限。这可被用作安全性措施,该安全性措施防止:某人窃听密码,或者窃取智能卡并使用它们错误地认证到低置信水平,然后购买保险以产生非常高的(错误的)置信水平。在确定是否允许用户方保险时,可评估这些因素。
如果在步骤1840中用户购买保险,则在步骤1845中基于购买的保险调整认证置信水平,并再次在步骤1730(参见图17)中将认证置信水平与要求信任水平进行比较。所述处理从那继续进行,并可在步骤1740(参见图17)中导致肯定认证,或者在步骤1750中返回到信任仲裁处理,以进一步进行仲裁(如果允许的话),或者如果进一步的仲裁被禁止,则在步骤1810中返回到否定认证。
除了在步骤1820中将消息发送到用户之外,事项引擎205还可在步骤1830中将消息发送到卖方,该消息指示等待判决的认证当前在要求信任水平之下。该消息还可提供关于如何转到卖方的各种选项。这些选项之一是简单地通知卖方当前认证置信水平是什么并询问卖方是否希望保持他们的当前未达到的要求信任水平。由于在一些情况下卖方可具有用于认证事项的独立手段或者可使用默认的一组要求,所以这可以是有益的,所述默认的一组要求通常导致最初指定的要求水平比手边的特定事项实际上需要的要求水平高。
例如,预期所有与卖方的输入购买订单事项都满足98%的信任水平可以是常规作法。然而,如果最近通过卖方与老客户之间的电话讨论订单,并且其后立即对事项进行认证,但是认证仅达到93%的置信水平,则由于电话呼叫有效地为卖方提供另外的认证,所以卖方可能希望仅对于该事项降低接受阈值。在某些状况下,卖方可能愿意降低他们的要求信任水平,但是不是一直降到当前认证置信水平。例如,以上示例中的卖方可考虑订购之前的电话呼叫可值得将所需的信任度降低4%;然而,这仍大于由用户产生的93%置信度。
如果在步骤1835中卖方不调整他们的要求信任水平,则在步骤1730(参见图17)中将通过认证产生的认证置信水平与要求信任水平进行比较。如果置信水平现在超过要求信任水平,则可在步骤1740(参见图17)中在事项引擎205中产生肯定认证。如果置信水平现在没有超过要求信任水平,则如果仲裁被允许,则可如以上论述那样试图进一步进行仲裁。
除了请求调整要求信任水平之外,事项引擎205还可对请求认证的卖方提供卖方方保险。该保险用于与以上对于用户方保险所述的目的类似的目的。然而,这里,不是与由授信引擎110在认证大于所产生的实际认证置信水平时承担的风险对应的成本,保险的成本而是对应于由卖方在接收到认证中的较低信任水平时承担的风险。
不是只是降低他们的实际要求信任水平,卖方而是具有购买这样的保险的选择,该保险保护它自己免受与用户认证中较低信任水平相关联的另外的风险。如上所述,可以有利的是卖方仅考虑购买这样的保险来覆盖在现存认证已经在某个阈值之上的条件下的信任差距。
这样的卖方方保险的可用性给予卖方以下选择:对于他自己没有附加成本地直接降低他的信任要求,他自己承担错误认证的风险(基于更低的要求信任水平);或者,为认证置信水平与他的要求之间的信任差距购得保险,授信引擎110操作者承担所提供的更低置信水平的风险。通过购买保险,由于错误认证的风险转移到授信引擎110操作者,所以卖方有效地保持他的高信任水平要求。
如果在步骤1840中卖方购买保险,则在步骤1730(参见图17)中将认证置信水平与要求信任水平进行比较,并且所述处理如上所述那样继续进行。
指出,还可以的是,用户和卖方都对来自授信引擎110的消息作出响应。本领域技术人员将认识到存在能处理这样的情形的多种方式。一种处理多个响应的可能性的有利模式是简单地以先来先服务的方式处理响应。例如,如果卖方以降低的要求信任水平作出响应并且其后用户还立即购买提升他的认证水平的保险,则首先基于来自卖方的降低的信任要求重新评估认证。如果认证现在是肯定的,则忽略用户的保险购买。在另一种有利的操作模式下,用户可能仅支付满足卖方的新的降低的信任要求所需的保险水平(如果即使对于降低的卖方信任要求,信任差距仍存在)。
如果在步骤1850的信任仲裁处理期间没有在为认证设置的时限内接收到来自任意一方的响应,则在步骤1805中重新评估仲裁。这有效地再次开始仲裁处理。如果在步骤1805中时限为最后或者其它状况阻止进一步仲裁,则在步骤1810中由事项引擎205产生否定认证,并在步骤1055(参见图10)中将该否定认证返回给卖方。如果不是,则可将新消息发送到用户和卖方,并且可根据需要重复所述处理。
指出,对于某些类型的事项,例如,不是事项的一部分的数字签名文档,可不必存在卖方或者其它第三方;因此,事项主要在用户与授信引擎110之间。在诸如这样的状况下,授信引擎110将具有它自己的要求信任水平,为了产生肯定认证,必须满意该要求信任水平。然而,在这样的状况下,通常将不期望的是,授信引擎110将保险提供给用户,以便使他提升他自己的签名的置信度。
可使用如以上参照授信引擎110描述的各种通信模式执行以上论述的、图16-18中所示的处理。例如,消息可以是基于web的,并可使用授信引擎110与实时下载到在用户或卖方系统上运行的浏览器的小应用程序之间的SSL连接发送这些消息。在可替换的操作模式下,用户和卖方可使用使这样的仲裁和保险事项便利的某些专用应用程序。在另一种可替换的操作模式下,安全电子邮件操作可被用于调停上述仲裁,从而使得可延缓认证的评估和成批处理。本领域技术人员将认识到可使用适合于卖方的状况和认证要求的不同通信模式。
参照图19的以下描述对集成如上所述的本发明的各个方面的示例性事项进行描述。该示例示出授信引擎110在用户与卖方之间进行调停的整个处理。虽然如以上详细描述的各个步骤和部件可被用于执行以下事项,但是示出的示例集中于授信引擎110、用户与卖方之间的交互。
当在步骤1900中用户在在线查看网页的同时在卖方的网站上填写订货单时,事项开始。用户希望将该订货单提交给卖方,该订货单签有他的数字签名。为了执行这样做,在步骤1905中,用户将订货单与他对签名的请求一起提交给授信引擎110。用户还将提供将如上所述那样被用于认证他的身份的认证数据。
在步骤1910中,授信引擎110如上所述那样将认证数据与注册数据进行比较,并且如果产生肯定认证,则将签有用户的私钥的订货单的散列与订货单本身一起转发到卖方。
在步骤1915中卖方接收签名的表格,然后在步骤1920中卖方将产生与将进行的购买相关的发票或其它合约。在步骤1925中,将该合约与对签名的请求一起发送回用户。在步骤1930中,卖方还将对该合约事项的认证请求发送给授信引擎110,所述认证请求包括两方将签名的合约的散列。为了使得两方可对合约进行数字签名,卖方还包括用于它自己的认证数据,以使得如果必要的话,稍后可对卖方在合同上的签名进行验证。
如以上所论述的,授信引擎110然后对由卖方提供的认证数据进行验证,以确认卖方的身份,如果在步骤1935中数据产生肯定认证,则当从用户接收到数据时,继续执行步骤1955。如果卖方的认证数据与卖方的注册数据没有达到期望程度的匹配,则将请求进一步认证的消息返回给卖方。如上所述,为了使卖方成功地向授信引擎认证它自己,如果必要的话,则这里可执行信任仲裁。
当在步骤1940中用户接收到合约时,他审核它,如果在步骤1945中它是可接受的,则产生认证数据以对它进行签名,然后在步骤1950中将合约和他的认证数据的散列发送给授信引擎110。授信引擎110在步骤1955中对认证数据进行验证,并且如果认证良好,则继续如上所述那样处理合约。如以上参照图17和18所论述的,可视情况执行信任仲裁,以闭合存在于认证置信水平与事项的要求认证水平之间的任意信任差距。
授信引擎110用用户的私钥对合约的散列进行签名,并在步骤1960中将该签名的散列发送到卖方,代表它自己对完整消息进行签名,即,包括用授信引擎110的私钥510加密的完整消息(包括用户的签名)的散列。在步骤1965中,卖方接收该消息。该消息表示签名的合约(使用用户的私钥加密的合约的散列)和来自授信引擎110的收条(包括签名的合约的消息的散列,该散列使用授信引擎110的私钥进行加密)。
在步骤1970中,授信引擎110类似地用卖方的私钥准备合约的散列,并将由授信引擎110签名的这个散列转发给用户。以这种方式,用户还接收由卖方签名的合约的副本以及由授信引擎110签名的收条,以用于在步骤1975中递送签名的合约。
除了前述之外,本发明的另外的方面提供一种密码服务提供模块(SPM),该密码SPM可供客户端应用程序用作访问上述由授信引擎110提供的功能的方式。提供这样的服务的一种有利方式是密码SPM调停第三方应用程序接口(API)与可通过网络或其它远程连接访问的授信引擎110之间的通信。以下参照图20对示例性密码SPM进行描述。
例如,在典型的系统上,大量API可供程序员使用。每个API提供由在系统上运行的应用程序2000进行的一组函数调用。提供适合于密码功能、认证功能和其它安全功能的编程接口的API的示例包括由微软为其Windows操作系统提供的密码API(CAPI)2010和由IBM、Intel和开放组织的其它成员发起的通用数据安全架构(CDSA)。CAPI将被用作以下论述中的示例性安全API。然而,如本领域已知的,所述的密码SPM应该与CDSA或其它安全性API一起使用。
当调用密码功能时,用户系统105或者卖方系统120使用这个API。这些功能中所包括的是与执行各种密码操作相关联的请求,所述各种密码操作诸如用特定密钥对文档进行加密、对文档进行签名、请求数字证书、对签名的文档上的签名进行验证和如本文所述的或者本领域技术人员已知的这样的其它密码功能。
通常对CAPI 2010所处的系统本地执行这样的密码功能。这是因为一般而言,调用的功能要求使用本地用户系统105的资源(诸如指纹读取器)或者使用在本地机器上执行的库进行编程的软件功能。对这些本地资源的访问通常由如上论及的提供用其执行密码功能的资源的一个或多个服务提供模块(SPM)2015、2020提供。这样的SPM可包括执行加密或解密操作的软件库2015或者能够访问专用硬件(诸如生物辨识扫描设备)2025的驱动器和应用程序2020。以CAPI 2010提供可供系统105的应用程序2000使用的功能的这样的方式,SPM 2015、2020为CAPI提供对与系统上的可用服务相关联的较低水平的功能和资源的访问。
根据本发明,可提供密码SPM 2030,密码SPM 2030能够访问由授信引擎110提供的密码功能,并使这些功能可供应用程序2000至CAPI 2010使用。与CAPI 2010仅能够访问通过SPM 2015、2020本地可用的资源的实施例不同,如本文所述的密码SPM 2030能够将对密码操作的请求提交给位于远程的、网络可获取的授信引擎110,以便执行所期望的操作。
例如,如果应用程序(应用)2000具有对密码操作的需要,诸如对文档进行签名,则应用程序2000对合适的CAPI 2010函数进行函数调用。CAPI 2010进而将使用SPM 2015、2020和密码SPM2030使得其可供它使用的资源来执行该函数。在数字签名功能的情况下,密码SPM 2030会产生将通过通信链路125发送到授信引擎110的合适请求。
在密码SPM 2030与授信引擎110之间发生的操作是与任何其它系统与授信引擎110之间将可能发生的操作相同的操作。然而,可通过CAPI 2010有效地使这些功能可供用户系统105使用,以使得它们似乎可在用户系统105自身上本地使用。然而,与普通SPM2015、2020不同,在远程授信引擎110上执行函数,并响应于合适请求通过通信链路125将结果转播到密码SPM 2030。
这个密码SPM 2030使得大量否则可能不可用的操作可供用户系统105或卖方系统120使用。这些功能包括,但不限于:文档的加密和解密;数字证书的颁发;文档的数字签名;数字签名的验证;和如本领域技术人员将明白的这样的其它操作。
在一个独立的实施例中,本发明包括一种用于对任何数据组执行本发明的数据安全保护方法的整个系统。本实施例的计算机系统包括数据分割模块,所述数据分割模块包括图8中所示的且在本文中描述的功能。在本发明的一个实施例中,数据分割模块包括解析器程序或软件套件,所述解析器程序或软件套件包括数据分割、加密和解密、重构或重新组装功能,数据分割模块在本文中有时也称为安全数据解析器。本实施例也可进一步包括一个数据存储设施或多个数据存储设施。数据分割模块或者安全数据解析器包括集成在电子基础设施内的或者作为要求其数据元素的终极安全性的任何应用程序的附加组件的跨平台软件模块套件。该解析处理对任何类型的数据组、任何和全部文件类型或者在数据库中在该数据库中的任何行、列或数据单元进行操作。
在一个实施例中,可以以模块化层列的方式设计本发明的解析处理,并且任何加密处理适合于用在本发明的处理中。本发明的解析和分割处理的模块化层级可包括,但不限于:1)密码分割、分散和安全存储在多个位置中;2)加密、密码分割、分散并安全存储在多个位置中;3)加密、密码分割、对每个份额进行加密、然后分散并安全存储在多个位置中;4)加密、密码分割、使用与第一步骤中所使用的加密法不同类型的加密法对每个份额进行加密,然后分散并安全存储在多个位置中。
在一个实施例中,所述处理包括:根据所产生的随机数的内容或密钥分割数据,并执行密钥的密码分割,该密码分割与在将被安全保护的数据分割为解析的且分割的数据的两个或更多个部分或份额的加密中所使用的密码分割相同,并且在一个实施例中,优选地,将被安全保护的数据分割为解析的且分割的数据的四个或更多个部分,对所有部分进行加密,然后分散这些部分,并将这些部分存储回到数据库中,或者根据请求者对于私密性和安全性的需求将它们固定地或者可移动地重新定位到任何命名设备中。可替换地,在另一个实施例中,加密可在由分割模块或安全数据解析器设置的数据的分割之前发生。如本实施例中所述那样处理的原始数据被加密和混淆,并被安全保护。若需要,则几乎可在任何地方分散加密的元素,所述任何地方包括,但不限于,单个服务器或数据存储设备,或者在分离的数据存储设施或设备之间分散加密的元素。一个实施例中的加密密钥管理可被包括在软件套件中,或者在另一个实施例中可被集成到现存基础设施或者任何其它期望的位置中。
密码分割(cryptosplit)将数据划分为N个份额。所述划分可以在任何大小的数据单元(包括单个比特、多个比特、字节、千字节、兆字节或更大的单位)以及无论是预定的还是随机产生的数据单元大小的任何模式或组合上。基于随机的或者预定的一组值,所述单元的大小也可以不同。这意味着数据可被看作这些单元的序列。以这种方式,数据单元本身的大小可以例如通过下述方式使得数据更安全,即,使用数据单元大小的一个或多个预定的或者随机产生的模式、序列或组合。然后将所述单元(随机地或者按照预定的一组值)分布到N个份额中。该分布还可涉及按照份额对所述单元的顺序进行混排。本领域技术人员易于明白的是,可根据各种可行的选择来执行数据单元到份额的分布,所述选择包括,但不限于,固定大小、预定大小或者预定的或随机产生的数据单元大小的一个或多个组合、模式或序列。
该密码分割处理的一个示例将考虑大小为23字节的数据,选择数据单元大小为一个字节,选择份额数量为4。每个字节将被分布到4个份额之一中。假设随机分布,则将获得创建23个随机数(r1、r2、r3至r23)的序列,每个随机数具有与四个份额对应的1与4之间的值。所述数据单元(在本示例中,数据的23个单个字节)每个与23个随机数中与四个份额之一对应的一个随机数相关联。数据字节到四个份额的分布将通过下述方式发生,即,将数据的第一个字节放入到份额编号r1中,将数据的第二个字节放入到份额r2,将数据的第三个字节放入到份额r3中,将数据的第23个字节放入到份额r23中。本领域技术人员易于明白的是,在本发明的密码分割处理中可使用各种其它可行的步骤或者步骤的组合或序列(包括数据单元的大小),并且以上示例是用于对数据进行密码分割的一个处理的非限制性描述。为了重建原始数据,将执行逆操作。
在本发明的密码分割处理的另一个实施例中,用于密码分割处理的选项是提供份额中的足够的冗余度,以使得将数据重新组装或恢复为其原始或可用形式仅需要份额的一个子集。作为非限制性示例,可以“4个中的三个”密码分割的形式执行密码分割,以使得四个份额中的仅三个份额对于将数据重新组装或恢复为其原始或可用形式是必要的。这也被称为“N个中的M个密码分割”,其中,N是份额总数,M比N至少小1。本领域的普通技术人员将易于明白的是,存在用于在本发明的密码分割处理中创建该冗余度的许多可能性。
在本发明的密码分割处理的一个实施例中,每个数据单元存储在两个份额(即,主份额和备份份额)中。通过使用上述“4个中的3个”密码分割处理,任何一个份额可丢掉,并且由于仅需要总共四个份额中的三个份额,所以这足以恢复没有丢掉数据单元的原始数据。如本文所述,产生与所述份额之一对应的随机数。随机数与数据单元相关联,并基于密钥存储在对应的份额中。在本实施例中,使用一个密钥来产生主份额和备份份额随机数。如本文关于本发明的密码分割处理所描述的,产生等于数据单元的数量的从0至3的一组随机数(也称为主份额数)。然后,从1至3产生等于数据单元数量的另一组随机数(也称为备份份额数)。然后将每个数据单元与主份额数和备份份额数相关联。可替换地,可产生少于数据单元数量的一组随机数,并重复该随机数组,但是这可降低敏感数据的安全性。主份额数被用于确定数据单元被存储到哪个份额中。将备份份额数与主份额数组合,以创建0与3之间的第三份额数,该数被用于确定数据单元被存储到哪个份额中。在本示例中,确定第三份额数的方程是:
(主份额数+备份份额数)MOD4=第三份额数
在以上所述的实施例中,主份额数在0与3之间并且备份份额数在1与3之间,确保第三份额数与主份额数不同。这导致数据单元存储在两个不同份额中。本领域的普通技术人员将易于明白的是,除了本文公开的实施例之外,存在执行冗余密码分割和非冗余密码分割的许多方式。例如,可利用不同算法对每个份额中的数据单元进行混排。例如,可在原始数据被分割为数据单元时,或者在数据单元被放置到份额中时,或者在份额装满之后,执行该数据单元混排。
可对任何大小的数据单元执行本文所述的各种密码分割处理和数据混排处理及本发明的密码分割和数据混排方法的所有其它实施例,所述大小包括,但不限于,小如单个比特、多个比特、字节、千字节、兆字节或更大。
将执行本文所述的密码分割处理的源代码的一个实施例的示例是:
DATA[1:24]–用于将被分割的数据的字节数组
SHARES[0:3;1:24]–用于表示份额之一的每行的2维数组
RANDOM[1:24]–0..3范围内的数组随机数
S1=1;
S2=1;
S3=1;
S4=1;
For J=1to24do
Begin
IF RANDOM[J[==0then
Begin
SHARES[1,S1]=DATA[J];
S1=S1+1;
End
ELSE IF RANDOM[J[==1then
Begin
SHARES[2,S2]=DATA[J];
S2=S2+1;
END
ELSE IF RANDOM[J[==2then
Begin
Shares[3,S3]=data[J];
S3=S3+1;
End
Else begin
Shares[4,S4]=data[J];
S4=S4+1;
End;
END;
本文所述的将执行密码分割RAID处理的源代码的一个实施例的示例是:
产生两组数,PrimaryShare是0至3,BackupShare是1至3。然后,通过与上述密码分割中的处理相同的处理将每个数据单元放入share[primaryshare[1]]和share[(primaryshare[1]+backupshare[1])mod4中。该方法将可分级为任何大小N,其中,仅N-1个份额对于恢复数据是必要的。
加密的数据元素的检索、重新组合、重新组装或重构可利用任何数量的认证技术,包括,但不限于,生物辨识,诸如指纹识别、脸扫描、手扫描、虹膜扫描、视网膜扫描、耳扫描、血管模式识别或DNA分析。可根据需要将本发明的数据分割和/或解析器模块集成到多种基础设施产品或应用程序中。
本领域已知的传统加密技术依赖于用于对数据进行加密的一个或多个密钥,并使该数据在没有密钥的情况下不可用。然而,数据保持完整无损,并容易遭受攻击。本发明的安全数据解析器在一个实施例中通过下述方式解决该问题,即,执行加密文件的密码解析和将加密文件分割为两个或更多个部分或份额的分割,在另一个实施例中通过下述方式解决该问题,即,优选地将加密文件分割为四个或更多个份额,将另一个加密层添加到每个数据份额,然后将份额存储在不同的物理和/或逻辑位置中。当从系统物理地移除一个或多个数据份额时,或者通过使用可移动设备(诸如数据存储设备),或者通过在另一方的控制下放置份额,可有效地去除损坏安全保护的数据的任何可能性。
图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。
为了恢复原始数据格式,逆向执行所述步骤。
本领域的普通技术人员将易于明白的是,本文所述的方法的某些步骤可根据需要按不同顺序执行或者重复执行多次。本领域技术人员还将易于明白的是,可彼此极大不同地处理数据的部分。例如,可仅对解析数据的一部分执行多个分离或解析步骤。仅在数据可被重新组装、重构、重新形成、解密或恢复为其原始或其它可用形式的条件下,才可以任何期望的方式唯一地安全保护解析数据的每个部分。
如本领域技术人员易于明白的是,多种加密方法适合用于本发明的方法中。一次一密算法通常被认为是最安全的加密方法之一,并且适合用在本发明的方法中。使用一次一密算法要求产生如将被安全保护的数据一样长的密钥。由于将被安全保护的数据组的大小,而导致该方法的使用在某些状况下可能不是那么可靠,所述状况诸如导致产生和管理非常长的密钥的那些状况。在一次一密(OTP)算法中,使用简单的异或函数,XOR。对于相同长度的两个二进制流x和y,xXOR y意味着对x和y进行逐位异或运算。
在比特级,产生:
0 XOR 0=0
0 XOR 1=1
1 XOR 0=1
1 XOR 1=0
在本文中针对将被分割的n字节机密(secret)s(或数据组)描述该处理的一个示例。该处理将产生n字节随机值a,然后设置:
b=a XOR s。
指出,可通过以下等式得到“s”:
s=a XOR b。
值a和b被称作份额或部分,并被放置在分离的贮藏器中。一旦机密s被分割到两个或更多个份额中,则以安全的方式丢弃它。
本发明的安全数据解析器可利用该功能,其执行多个XOR函数来合并多个不同的机密密钥值:K1、K2、K3、Kn、K5。在操作开始时,对将被安全保护的数据进行第一加密操作,安全数据=数据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所需的信息。因此,在本文描述的密钥管理示例中,原始会话主密钥用交易ID指代,该交易ID根据安装相关的解析器主密钥(TID1、TID2、TID3、TIDn)的内容而被分割到“n”个份额中:
贮藏器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个字节大于每个份额的将被安全保护的原始数据的大小。当原始数据的大小多于16个字节时,由于该RS1算法仅仅更短,所以它比OTP算法效率更高。本领域的普通技术人员易于明白的是,多种加密方法或算法适合用于本发明中,所述加密方法或算法包括,但不限于,RS1、OTP、RC4TM、三重DES和AES。
本发明的数据安全性方法和计算机系统提供优于传统加密方法的主要优点。一个优点是,通过将数据份额移到一个或多个数据贮藏器或存储装置上的不同位置,来获得安全性,所述不同位置可能是不同的逻辑位置、物理位置或地理位置。当数据份额例如在不同人员的控制下被物理分割时,损坏数据的可能性极大地降低。
本发明的方法和系统提供的另一优点是,组合用于安全保护数据的本发明的方法的步骤,以提供保持敏感数据的安全性的综合处理。用安全密钥对数据进行加密,并根据安全密钥将数据分割为一个或多个份额,而且在一个实施例中,分割为四个份额。通过参考指针安全地存储安全密钥,所述参考指针根据安全密钥被安全保护为四个份额。然后分别对数据份额进行加密,并将密钥与不同的加密的份额一起安全地存储。当组合时,根据本文描述的方法的用于安全保护数据的整个过程变为用于数据安全性的综合包。
根据本发明的方法安全保护的数据可易于被检索和恢复、重构、重新组装、解密或以其它方式返回到其原始形式或者其它适合于使用的形式。为了恢复原始数据,可利用以下项:
1.数据组的所有份额或部分。
2.用于安全保护数据的方法的处理流程的了解和再现该处理流程的能力。
3.访问会话主密钥。
4.访问解析器主密钥。
因此,可以期望的是,规划这样一种安全安装,在该安全安装中,可使以上元件中的至少一个与系统的其余组件在物理上分离(在例如不同的系统管理员的控制下)。
可通过使用解析器主密钥来实施通过调用数据安全保护方法对破坏应用程序的防御。在采取任何动作之前,在本发明的本实施例中可能要求安全数据解析器与应用程序之间的人工认证握手。
系统的安全性规定不存在用于重建原始数据的“后门”方法。对于可引起数据恢复问题的安装,安全数据解析器可被增强以提供四个份额和会话主密钥贮藏器的镜像。诸如RAID(用于在几个盘上散布信息的廉价磁盘冗余阵列)的硬件选项和诸如复制的软件选项也可辅助数据恢复规划。
密钥管理
在本发明的一个实施例中,数据安全保护方法将三组密钥用于加密操作。每组密钥可具有基于安装的各自的密钥存储、检索、安全性和恢复选项。可使用的密钥包括,但不限于:
解析器主密钥
该密钥是与安全数据解析器的安装相关联的独立密钥。它安装在其上已部署安全数据解析器的服务器上。存在适合于安全保护该密钥的多种选择,包括,但不限于,例如,智能卡、分离的硬件密钥储存器、标准密钥储存器、定制密钥储存器或者在受到安全保护的数据库表内。
会话主密钥
每次安全保护数据时,可产生会话主密钥。会话主密钥被用于在解析和分割操作之前对数据进行加密。还可将它作为解析加密数据的手段并入(如果会话主密钥没有集成到解析数据中)。可以以多种方式安全保护会话主密钥,所述方式包括,但不限于,例如,标准密钥储存器、定制密钥储存器、分离的数据库表或者在加密的份额内安全保护。
份额加密密钥
对于创建的数据组的每个份额或部分,可产生独立的份额加密密钥,以进一步对份额进行加密。份额加密密钥可存储在与已被加密的份额不同的份额中。
本领域的普通技术人员易于明白的是,本发明的数据安全保护方法和计算机系统可广泛应用于任何设置或环境下的任何类型的数据。除了通过互联网或者在消费者与卖方之间进行的商业应用之外,本发明的数据安全保护方法和计算机系统非常适用于非商业性的或私人的设置或环境。可使用本文所述的方法和系统来安全保护期望保持不受任何未授权用户攻击的任何数据组。例如,通过利用用于安全保护数据的本发明的方法和系统,可以有利地使公司或组织内对特定数据库的存取仅限于被选用户。另一个示例是产生、修改或存取文档,其中,期望在一组被选个人、计算机或工作站外部限制存取或者阻止未授权的或意外的存取或公开。按照本发明的数据安全保护方法和系统可应用于任何设置的任何非商业性或商业性环境或设置的方式的这些示例和其它示例包括,但不限于,任何组织、政府机构或公司。
在本发明的另一个实施例中,数据安全保护方法将三组密钥用于加密操作。基于安装,每组密钥可具有各自的密钥存储、检索、安全性和恢复选项。可使用的密钥包括,但不限于:
1、解析器主密钥
该密钥是与安全数据解析器的安装相关联的独立密钥。它安装在其上已部署安全数据解析器的服务器上。存在适合于安全保护该密钥的多种选择,包括,但不限于,例如智能卡、分离的硬件密钥储存器、标准密钥储存器、定制密钥储存器或在受到安全保护的数据库表内。
2、会话主密钥
每次安全保护数据时,可产生会话主密钥。会话主密钥与解析器主密钥结合使用,以得到中间密钥。可以以各种方式安全保护会话主密钥,所述方式包括,但不限于,例如,标准密钥储存器、定制密钥储存器、分离的数据库表或在加密的份额内受到安全保护。
3、中间密钥
每次安全保护数据时,可产生中间密钥。中间密钥被用于在解析和分割操作之前对数据进行加密。还可将它作为对加密数据进行解析的手段并入。
4、份额加密密钥
对于创建的数据组的每个份额或部分,可产生独立的份额加密密钥,以进一步对份额进行加密。份额加密密钥可存储在与已被加密的份额不同的份额中。
本领域的普通技术人员易于明白的是,本发明的数据安全保护方法和计算机系统可广泛应用于任何设置或环境下的任何类型的数据。除了通过互联网或者在消费者与卖方之间进行的商业应用之外,本发明的数据安全保护方法和计算机系统非常适用于非商业性的或私人的设置或环境。可通过使用本文所述的方法和系统来安全保护期望保持不受任何未授权用户攻击的任何数据组。例如,通过利用用于安全保护数据的本发明的方法和系统,可以有利地使公司或组织内对特定数据库的存取仅限于被选用户。另一个示例是产生、修改或存取文档,其中,期望在一组被选个人、计算机或工作站外部限制存取或者阻止未授权的或意外的存取或公开。按照本发明的数据安全保护方法和系统可应用于任何设置的任何非商业性或商业性环境或设置的方式的这些示例和其它示例包括,但不限于,任何组织、政府机构或公司。
工作组、项目、独立PC/笔记本或跨平台数据安全性
本发明的数据安全保护方法和计算机系统还可用于通过在例如企业、办公室、政府机构或者创建、处理或存储敏感数据的任何设置中使用的工作组、项目、独立PC/笔记本和任何其它平台来安全保护数据。本发明提供安全保护下述数据的方法和计算机系统,所述数据已知是诸如美国政府的组织企图得到的,以用于在整个政府组织或者在州或联邦级别的政府之间实现。
本发明的数据安全保护方法和计算机系统不仅提供解析和分割平面文件的能力,还提供解析和分割任何类型的数据字段、集合和/或表格的能力。另外,所有形式的数据能够在该处理下受到安全保护,所述数据包括,但不限于,文本、视频、图像、生物辨识和语音数据。本发明的安全保护数据的方法的可分级性、速度和数据吞吐量仅限于由用户支配的硬件。
在本发明的一个实施例中,在工作组环境下如下所述那样利用数据安全保护方法。在一个实施例中,如图23所示和以下所述,本发明的工作组规模的数据安全保护方法使用TrustEngine的私钥管理功能来存储用户/群体关系以及一组用户共享安全数据所需的相关联的私钥(解析器群体主密钥)。根据解析器主密钥如何部署的方式,本发明的方法具有安全保护用于企业、工作组或个人用户的数据的能力。
在一个实施例中,可提供另外的密钥管理和用户/组管理程序,从而使得能够用单点控制和密钥管理实现大规模工作组实现。密钥产生、管理和撤销用单个维护程序处理,随着用户数量增加,密钥产生、管理和撤销都变得尤其重要。在另一个实施例中,还可在一个或几个不同的系统管理员之间建立密钥管理,这可以不允许任何个人或组根据需要控制数据。这允许根据如由组织限定的角色、责任、成员资格、权利等获得安全保护的数据的管理,并且对安全保护的数据的存取可仅限于那些被准许或被要求仅对他们工作的部分进行存取的人,而其他人,诸如管理人员或主管领导可对所有安全保护的数据进行存取。本实施例允许在公司或组织内的不同组之间共享安全保护的数据,同时仅允许某些被选个人(诸如具有授权和预定角色以及责任的那些人)整体观察数据。另外,本发明的方法和系统的本实施例也允许在例如不同的公司或者公司的不同部门或分组或者任何政府或组织或者任何类型机构的任何不同组织部门、群体、机构或办公室等之间共享数据,在这些地方,要求一些共享,但是不是任何一方可被准许对所有数据进行存取。对于本发明的这样的方法和系统的需求和效用的特别明显的示例是允许例如在行政区域、机构和办公室之间共享但保持安全性,并且在大公司或任何其它组织的不同的分组、部门或办公室之间共享但保持安全性。
本发明方法的较小规模的适用性的示例如下。解析器主密钥被用作安全数据解析器对组织的序列化或品牌化。当解析器主密钥的使用规模从整个企业减小为较小的工作组时,本文描述的数据安全保护方法被用于在多组用户内共享文件。
在图25中所示的并且在以下描述的示例中,限定了六个用户以及他们在组织内的职称或角色。侧面的条代表用户可根据他们的角色所属的五个可能的群体。箭头代表用户在一个或多个群体中的成员资格。
当构造本示例中所使用的安全数据解析器时,系统管理员通过维护程序从操作系统存取用户和群体信息。该维护程序产生解析器群体主密钥,并基于用户在群体中的成员资格将解析器群体主密钥分配给他们。
在本示例中,在高级职员群体中有三个成员。对于该群体,动作将是:
1.访问用于高级职员群体的解析器群体主密钥(如果不可获得,则产生密钥);
2.产生将CEO与高级职员群体关联的数字证书;
3.产生将CFO与高级职员群体关联的数字证书;
4.产生将副总裁、市场营销与高级职员群体关联的数字认证。
对于每个群体和每个群体内的每个成员将执行同一组动作。当维护程序完成时,解析器群体主密钥变成群体的每个成员的共享凭证。当通过维护程序将用户从群体去除而不影响群体中的其余成员时,可自动撤销分配的数字证书。
一旦共享凭证被定义,解析和分割处理就保持相同。当将安全保护文件、文档或数据元素时,向用户提示当安全保护数据时将使用的目标群体。所得的安全保护的数据仅可被目标群体的其他成员存取。本发明的方法和系统的这种功能可被用于任何其它计算机系统或软件平台,并且可以例如被集成到现存的应用程序中,或者为了文件安全性可被独立使用。
本领域的普通技术人员易于明白的是,任何一种加密算法或者加密算法的组合适合用在本发明的方法和系统中。例如,在一个实施例中,可重复加密步骤,以产生多层加密方案。另外,在重复加密步骤中可使用不同的加密算法或者加密算法的组合,以使得不同的加密算法被应用于多层加密方案的不同层。这样,加密方案本身可变为本发明的方法的用于安全保护敏感数据不被未授权地使用或存取的组成部分。
安全数据解析器可包括作为内部组件的、作为外部组件的或者作为这二者的验错组件。例如,在一种合适的方法中,当使用根据本发明的安全数据解析器创建数据的部分时,为了确保一部分内的数据完整性,在该部分内以预设间隔取得散列值,并将该散列值附加到该间隔的末尾。散列值是数据的可预测的且可再现的数字表示。如果数据内的任何比特改变,则散列值将不同。扫描模块(或者作为安全数据解析器外部的独立组件,或者作为内部组件)然后可扫描由安全数据解析器产生的数据部分。将每个数据部分(或者可替换地,根据某个间隔或者通过随机或伪随机采样,少于所有数据部分)与附加的一个散列值或多个散列值进行比较,并可采取动作。该动作可包括报告匹配或不匹配的值、对于不匹配的值发出警告或者调用一些外部或内部程序来触发数据的恢复。例如,根据本发明,可基于下述概念调用恢复模块来执行数据的恢复,所述概念即,根据本发明产生原始数据可能需要比所有部分少的部分。
可使用附加到所有数据部分或者数据部分的一个子集中的任何位置的任何合适的完整性信息来实现任何其它合适的完整性检查。完整性信息可包括可被用于确定数据部分的完整性的任何合适的信息。完整性信息的示例可包括基于以下计算的散列值:任何合适的参数(比如,基于各个数据部分)、数字签名信息、消息认证码(MAC)信息、任何其它合适的信息或它们的组合。
本发明的安全数据解析器可用于任何合适的应用中。也就是,本文描述的安全数据解析器在不同的计算和技术领域中具有多种应用。以下论述几个这样的领域。应该理解,这些在本质上仅仅是示例性的,并且任何其它合适的应用可利用安全数据解析器。还应该理解,所描述的示例仅仅是示例性实施例,为了满足任何合适的需求,可以以任何合适的方式对这些示例性实施例进行修改。例如,解析和分割可基于任何合适的单元,例如,按照比特、按照字节、按照千字节、按照兆字节、按照它们的任何组合或按照任何其它合适的单元。
本发明的安全数据解析器可被用于实现安全物理令牌,由此为了存取存储在另一个存储区域中的另外的数据,可能需要存储在物理令牌中的数据。在一种合适的方法中,根据本发明,物理令牌可被用于存储解析数据的至少两个部分之一,所述物理令牌诸如小型USB闪存、软盘、光盘、智能卡或任何其它合适的物理令牌。为了存取原始数据,可能需要接入USB闪存。因此,保存解析数据的一部分的个人计算机将需要在可存取原始数据之前连接具有解析数据的另一部分的USB闪存。图26示出该应用。存储区域2500包括一部分解析数据2502。为了存取原始数据,将需要使用任何合适的通信接口2508(比如,USB、串行、并行、蓝牙、IR、IEEE1394、以太网或任何其它合适的通信接口)将具有一部分解析数据2506的物理令牌2504连接到存储区域2500。在例如不干预计算机上的敏感数据并且对该敏感数据进行未授权的存取尝试的情况下,这是有用的。通过移除物理令牌(比如,USB闪存),敏感数据不可存取。将理解,可使用利用物理令牌的任何其它合适的方法。
本发明的安全数据解析器可被用于实现安全认证系统,由此使用安全数据解析器来解析和分割用户注册数据(比如,密码、私有加密密钥、指纹模板、生物辨识数据或任何其它合适的用户注册数据)。可解析和分割用户注册数据,由此将一个或多个部分存储在智能卡、政府通用存取卡、任何合适的物理存储设备(比如,磁盘或光盘、USB闪存等)或者任何其它合适的设备中。可将解析的用户注册数据的一个或多个其它部分存储在执行认证的系统中。这为认证处理提供了增加的安全级别(比如,除了从生物辨识源获得的生物辨识认证信息之外,还必须通过合适的解析且分割的数据部分获得用户注册数据)。
可将本发明的安全数据解析器集成到任何合适的现存系统中,以便在每个系统的相应环境中提供其功能性的使用。图27显示示例性系统2600的框图,示例性系统2600可包括用于实现任何合适的应用的软件、硬件或这二者。系统2600可以是现存系统,在该系统中,安全数据解析器2602可被改装为集成组件。可替换地,可将安全数据解析器2602从例如其最早的设计级集成到任何合适的系统2600中。可在系统2600的任何合适的级别集成安全数据解析器2600。例如,可在足够后端的级别将安全数据解析器2602集成到系统2600中,以使得安全数据解析器2602的存在对于系统2600的终端用户可以基本上是透明的。根据本发明,安全数据解析器2602可被用于在一个或多个存储设备2604之间解析和分割数据。以下对在其中集成有安全数据解析器的系统的一些示例性示例进行论述。
可将本发明的安全数据解析器集成到操作系统内核(比如,Linux、Unix或任何其它合适的商用或专用操作系统)中。该集成可被用于保护设备级别的数据,由此,例如,安全数据解析器将通常将存储在一个或多个设备中的数据分成某数量的部分,所述安全数据解析器集成到操作系统中并存储在所述一个或多个设备之间。当尝试存取原始数据时,也集成到操作系统中的合适的软件可以以对于终端用户可以透明的方式将解析的数据部分重新组合为原始数据。
可将本发明的安全数据解析器集成到存储系统的容量管理器或任何其它合适的组件中,以保护任何或所有支持平台上的本地和联网数据存储。例如,就集成的安全数据解析器而言,存储系统可利用由安全数据解析器提供的冗余(即,其被用于实现这样的特征,即,为重构原始数据需要比所有的分离的数据部分少的数据部分)来防止数据丢失。安全数据解析器还使得:无论是否使用冗余,写入到存储设备的所有数据都可具有根据本发明的解析产生的多个部分的形式。当尝试存取原始数据时,也集成到存储系统的容量管理器或任何其它合适的组件中的合适的软件可以以对于终端用户可以透明的方式将解析的数据部分重新组合为原始数据。
在一种合适的方法中,可将本发明的安全数据解析器(作为硬件或软件)集成到RAID控制器中。这使得可在驱动故障时保持容错性的同时将数据安全地存储到多个驱动器。
可将本发明的安全数据解析器集成到数据库中,以便例如保护敏感表格信息。例如,在一种合适的方法中,可根据本发明对与数据库表格的特定单元相关联的数据(比如,各个单元、一个或多个特定列、一个或多个特定行、它们的任何组合或整个数据库表格)进行解析和分离(比如,将不同部分存储在在一个或多个位置处的一个或多个存储设备上或者单个存储设备上)。可通过传统的认证方法(比如,用户名和密码查询)准予为了查看原始数据而进行存取以重新组合部分。
可将本发明的安全解析器集成到涉及运动数据(即,将数据从一个位置传送到另一个位置)的任何合适的系统中。这样的系统包括,例如,电子邮件、流传输数据广播和无线(比如,WiFi)通信。关于电子邮件,在一种合适的方法中,安全解析器可被用于:解析输出消息(即,包含文本、二进制数据或者这二者(比如,附加到电子邮件消息的文件));和将解析数据的不同部分沿着不同路径发送,从而创建多个数据流。如果这些数据流中的任何一个受损,则由于为了产生原始数据,系统可以要求根据本发明组合所述部分中的多于一个,所以原始消息保持安全。在另一种合适的方法中,可沿着一个路径顺序地传送不同数据部分,以使得如果获得一个部分,则可能不足以产生原始数据。不同部分到达预期接收者的位置,并可根据本发明被组合以产生原始数据。
图28和图29是这样的电子邮件系统的示例性框图。图28显示发送系统2700,发送系统2700可包括任何合适的硬件,诸如计算机终端、个人计算机、手持设备(比如,PDA、黑莓)、蜂窝电话、计算机网络、任何其它合适的硬件或它们的组合。发送系统2700被用于产生和/或存储消息2704,消息2704可以是例如电子邮件消息、二进制数据文件(比如,图形、语音、视频等)或者这二者。根据本发明,安全数字解析器2702对消息2704进行解析和分割。可通过网络2708(比如,互联网、内联网、LAN、WiFi、蓝牙、任何其它合适的硬连线或无线通信装置或者它们的组合)经由一个或多个分离的通信路径2706将所得的数据部分传送到接收系统2710。可在时间上并行地传送数据部分,或者可替换地,根据不同数据部分的传送之间的任何合适的时间延迟来传送数据部分。接收系统2710可以是以上参照发送系统2700描述的任何合适的硬件。根据本发明,在接收系统2710重新组合沿着通信路径2706传载的分离的数据部分,以产生原始消息或数据。
图29显示发送系统2800,发送系统2800可包括任何合适的硬件,诸如计算机终端、个人计算机、手持装置(比如,PDA)、蜂窝电话、计算机网络、任何其它合适的硬件或它们的组合。发送系统2800被用于产生和/或存储消息2804,消息2804可以是例如电子邮件消息、二进制数据文件(比如,图形、语音、视频等)或者这二者。根据本发明,安全数字解析器2802对消息2804进行解析和分割。可通过网络2808(比如,互联网、内联网、LAN、WiFi、蓝牙、任何其它合适的通信装置或者它们的组合)经由单个通信路径2806将所得的数据部分传送到接收系统2810。可经由通信路径2806关于彼此串行地传送数据部分。接收系统2810可以是以上关于发送系统2800描述的任何合适的硬件。根据本发明,在接收系统2810重新组合沿着通信路径2806传载的分离的数据部分,以产生原始消息或数据。
应该理解,图28和图29的布置仅仅是示例性的。可使用任何其它合适的布置。例如,在另一种合适的方法中,可组合图28和图29的系统的特征,由此使用图28的多路径方法,在该方法中,使用通信路径2706中的一个或多个来传载多于一个数据部分,如同通信路径2806在图29的情景中那样传载。
可在数据输入运动系统的任何合适的级别集成安全数据解析器。例如,在电子邮件系统的情景中,可在用户接口级别集成安全解析器(比如,集成到微软Outlook中),在这种情况下,当使用电子邮件时,用户可控制安全数据解析器特征的使用。可替换地,可在后端组件中(诸如在交互服务器处)实现安全解析器,在这种情况下,消息可根据本发明被自动解析、分割和沿着不同路径传送,而无需任何用户介入。
类似地,在数据(比如,音频、视频)的流传输广播的情况下,可将输出数据解析和分离为多个流,每个流包含解析数据的一部分。根据本发明,可沿着一个或多个路径发送多个流,并在接收者的位置重新组合这些流。该方法的益处之一是,它避免了与传统的数据加密相关联的相对大的开销,传统的数据加密之后通过单个通信信道发送加密的数据。本发明的安全解析器使得可按多个并行流发送运动中的数据,从而提高速度和效率。
应该理解,为了保护任何类型的通过任何传输介质的运动数据和该数据的容错性,可集成安全数据解析器,所述传输介质包括,例如,有线的、无线的或者物理的。例如,IP电话(VoIP)应用可利用本发明的安全数据解析器。可使用本发明的安全数据解析器来安全保护来往于任何合适的个人数字助理(PDA)设备的无线或有线数据传输,所述PDA设备诸如黑莓和智能手机。下述通信可涉及根据本发明的安全数据解析器的运动数据能力,所述通信将无线802.11协议用于对等和基于交换机的无线网络、卫星通信、点对点无线通信、互联网客户端/服务器通信或任何其它合适的通信。计算机外围设备(比如,打印机、扫描仪、监视器、键盘、网络路由器、生物辨识认证设备(比如,指纹扫描仪)或任何其它合适的外围设备)之间的数据通信、计算机与计算机外围设备之间的数据通信、计算机外围设备与任何其它合适的设备之间的数据通信或者它们的任何组合可利用本发明的运动数据特征。
本发明的运动数据特征还可通过使用例如分离的路由、载体、方法、任何其它合适的物理传输或它们的组合应用于安全份额的物理传输。例如,数据的物理传输可发生在数字带/磁带、软盘、光盘、物理令牌、USB驱动器、可移动硬盘驱动器、具有闪存的消费者电子设备(比如,苹果IPOD或其它MP3播放器)、闪存、用于传输数据的任何其它合适的介质或者它们的组合上。
本发明的安全数据解析器可提供具有故障恢复能力的安全性。根据本发明,为了检索原始数据,可能必需比由安全数据解析器产生的分离数据的所有部分少的部分。也就是说,在存储的m个部分中,n可以是这m个部分中检索原始数据所需的最小数量,其中n<=m。例如,如果四个部分中的每个相对于其它三个部分被存储在不同的物理位置,那么,如果在本示例中n=2,则所述位置中的两个可受损,由此数据被破坏或不可存取,并且可仍从其余两个位置中的部分检索原始数据。可将任何合适的值用于n或m。
另外,本发明的m个特征中的n个可被用于创建“两人规则”,由此为了避免委托单个个人或任何其它实体完全存取可能是敏感数据的内容,两个或更多个独特的实体可能需要同意将他们的部分放在一起,以便检索原始数据,所述实体每个具有由本发明的安全解析器解析的分离数据的一部分。
本发明的安全数据解析器可被用于提供具有全群体密钥的一组实体,所述全群体密钥使得群体成员可存取被授权被该特定群体存取的特定信息。群体密钥可以是由根据本发明的安全解析器产生的数据部分中的一个数据部分,例如,为了检索寻找的信息,可能需要将所述一个数据部分与集中存储的另一个部分组合。该特征使得例如可在群体之间进行安全合作。它可应用于例如专用网络、虚拟私人网络、内联网或任何其它合适的网络。
安全解析器的这种使用的特定应用包括,例如,联合信息共享,在所述联合信息共享中,例如,给予多国友好政府部队在下述安全级别上传送军事行动数据和其它敏感数据的能力,所述安全级别通过单一网络或对偶网络(即,与目前所用的涉及相对大量的手动处理的许多网络相比)被授予每个各自的国家。该能力也可应用于公司或其它组织,在所述公司或其它组织中,可通过单一网络传送(组织内的或者没有组织的)一个或多个特定个人需要知道的信息,而无需担心未授权的个人查看该信息。
另一个特定应用包括用于政府系统的多级别安全性层次体系。也就是说,本发明的安全解析器可提供使用单一网络按机密信息的不同等级级别(比如,不机密、机密、秘密、绝密)操作政府系统的能力。如果需要,可使用多个网络(比如,对于绝密,使用单独的网络),但是本发明给予基本上比目前布置更少的布置,在目前布置中,不同网络被用于每个级别的机密。
应该理解,可使用本发明的安全解析器的上述应用的任何组合。例如,群体密钥应用可与运动数据安全性应用一起使用(即,由此通过网络传送的数据仅可被相应群体的成员存取,并且在这种情况下,在数据正在运动的同时,根据本发明将该数据在多个路径之间分割(或者按顺序部分发送))。
可将本发明的安全数据解析器集成到任何中间件应用程序中,以使得应用程序能够在不修改应用程序或数据库的情况下将数据安全地存储到不同的数据库产品或者不同的设备。中间件是对于使得两个分离的且已经存在的应用程序或数据库可进行通信的任何产品的通用术语。例如,在一种合适的方法中,集成有安全数据解析器的中间件可被用于使得对于特定数据库编写的程序可与其它数据库进行通信,而不用定制编码。
本发明的安全数据解析器可被实现为具有任何合适能力(诸如,本文论述的那些能力)的任何组合。在本发明的一些实施例中,例如,可实现这样的安全数据解析器,该安全数据解析器仅具有特定能力,而其它能力可通过使用与安全数据解析器直接或间接通过接口连接的外部软件、硬件或者这二者来获得。
例如,图30显示安全数据解析器作为安全数据解析器3000的示例性实现。安全数据解析器3000可被实现为具有非常少的内置能力。如所示,安全数据解析器3000可包括这样的内置能力,即,根据本发明使用模块3002解析数据和将该数据分割为数据部分(本文也称为份额)。安全数据解析器3000还可包括这样的内置能力,即,执行冗余,以便能够使用模块3004实现例如上述的n个特征中的m个特征(即,使用比解析的且分割的数据的所有份额少的份额来重建原始数据)。根据本发明,安全数据解析器3000还可包括使用模块3006的份额分布能力,模块3006用于将数据份额放置到将它们从其传送到远程位置进行存储等的缓冲器中。应当理解,任何其它合适的能力可被构建到安全数据解析器3000中。
组装数据缓冲器3008可以为被用于存储安全数据解析器3000将对其进行解析和分割的原始数据(但是,不必是其原始形式)的任何合适的存储器。在分割操作中,组装数据缓冲器3008为安全数据解析器3008提供输入。在恢复操作中,组装数据缓冲器3008可被用于存储安全数据解析器3000的输出。
分割份额缓冲器3010可以是可被用于存储从原始数据的解析和分割得到的多个数据份额的一个或多个存储器模块。在分割操作中,分割份额缓冲器3010保存安全数据解析器的输出。在恢复操作中,分割份额缓冲器保存安全数据解析器3000的输入。
应该理解,对于安全数据解析器3000可内置任何其它合适的能力的布置。任何另外的特征可以是内置的,并且可以以任何合适的方式移除所示特征中的任何一个、使得所示特征中的任何一个更鲁棒、使得所示特征中的任何一个不是那么鲁棒或者以其它方式修改所示特征中的任何一个。缓冲器3008和3010同样仅仅是示例性的,并可以以任何合适的方式对缓冲器3008和3010进行修改、移除或添加。
用软件、硬件或者这二者实现的任何合适的模块可被安全数据解析器3000调用或者可调用安全数据解析器3000。如果需要,则甚至构建到安全数据解析器3000中的能力也可用一个或多个外部模块替换。如所示,一些外部模块包括随机数产生器3012、密码反馈密钥产生器3014、散列算法3016、任何一种或多种类型的加密3018和密钥管理3020。应当理解,这些仅仅是示例性的外部模块。除了示出的这些模块之外或者代替示出的这些模块,可使用任何其它合适的模块。
在安全数据解析器3000外部的密码反馈密钥产生器3014可(通过使用例如随机数产生器3012)为每个安全数据解析器操作产生唯一的密钥或随机数,所述唯一的密钥或随机数将被用作用于将原始会话密钥大小(比如,128、256、512或1024个比特)扩展为与将被解析和分割的数据的长度相等的值的操作的种子值。任何合适的算法可被用于产生密码反馈密钥,所述算法包括,例如,AES密码反馈密钥产生算法。
为了使安全数据解析器3000及其外部模块(即,安全数据解析器层3026)到应用层3024(比如,电子邮件应用程序、数据库应用程序等)中的集成便利,可使用可利用例如API函数调用的包装层。可使用使安全数据解析器层3026到应用层3024中的集成便利的任何其它合适的布置。
图31示例性地显示当在应用层3024中发出写(比如,写到存储设备)、插入(比如,插入到数据库字段中)或者发送(比如,通过网络发送)命令时可如何使用图30的布置。在步骤3100,识别将被安全保护的数据,并调用安全数据解析器。所述调用通过包装层3022,在该情况下,在步骤3102,包装层3022将在步骤3100识别的输入数据流传输到组装数据缓冲器3008中。此外,在步骤3102,可存储任何合适的份额信息、文件名、任何其它合适的信息或者它们的组合(比如,作为信息3106存储在包装层3022)。根据本发明,安全数据处理器3000然后对它从组装数据缓冲器3008作为输入取得的数据进行解析和分割。它将数据份额输出到分割份额缓冲器3010中。在步骤3104,包装层3022从存储的信息3106获得任何合适的份额信息(即,由包装层3022在步骤3102存储的份额信息)和(比如,从一个或多个配置文件获得)份额位置。包装层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技术或者除了示出的XOR技术之外,可使用任何其它合适的加密技术。还应该理解,虽然以字节为单位按照逐字节操作示出图33,但是操作可在比特级别或者任何其它合适的级别进行。还应该理解,如果需要,无论原始数据3306如何,都不需要任何加密。
然后使所得的加密数据(或者原始数据(如果没有进行加密))散列化,以确定在输出存储桶(比如,在示出的示例中存在四个输出存储桶)之间如何分割加密(或原始)数据。在示出的示例中,散列化按字节进行,并且散列化是密码反馈会话密钥3304的函数。应该理解这仅仅是示例性的。如果需要,可在比特级别执行散列化。散列化可以是除密码反馈会话密钥3304之外的任何其它合适的值的函数。在另一种合适的方法中,不需要使用散列化。此外,可利用用于分割数据的任何其它合适的技术。
图34是根据本发明的一个实施例的用于从原始数据3306的两个或更多个解析的且分割的部分恢复原始数据3306的示例性处理流程的框图。该处理涉及作为密码反馈会话密钥3304的函数对所述部分进行反向散列化(即,与图33的处理相反),以恢复加密的原始数据(或者原始数据(如果在解析和分割之前没有进行加密))。加密密钥然后可被用于恢复原始数据(即,在示出的示例中,密码反馈会话密钥3304被用于通过将它与加密数据进行XOR运算来对XOR加密进行解密)。这样,恢复了原始数据3306。
图35显示在图33和图34的示例中如何实现比特分割。可使用散列(比如,作为密码反馈会话密钥的函数,作为任何其它合适的值的函数)来确定分割数据的每个字节的位值。应该理解,这仅仅是在比特级别执行分割的一种示例性方式。可使用任何其它合适的技术。
应该理解,可关于任何合适的散列算法进行本文提出的散列功能的任何论述。这些包括,例如,MD5和SHA-1。可在不同的时间由本发明的不同组件使用不同的散列算法。
在根据以上示例性过程或者通过任何其它程序或算法确定分割点之后,可确定关于将左段和右段中的每个附加到哪些数据部分。可使用任何合适的算法进行这个确定。例如,在一种合适的方法中,可创建(比如,以左段目的地和右段目的地的配对的形式的)所有可能的分布的表,由此可通过下述方式确定用于左段和右段中的每个的目的地共享值,即,对会话密钥、密码反馈会话密钥中的对应数据或者任何其它合适的随机或伪随机值使用任何合适的散列函数,所述随机或伪随机值可被产生和扩展到原始数据的大小。例如,可对随机或伪随机值中的对应字节执行散列函数。散列函数的输出被用于确定从所有目的地组合的表选择哪个目的地配对(即,一个用于左段,一个用于右段)。基于该结果,将分割数据单元的每段附加到作为散列函数的结果而被选择的表值所指示的相应两个份额。
根据本发明,可将冗余信息附加到数据部分,以使得可使用比所有数据部分少的部分恢复原始数据。例如,如果期望四个部分中的两个足以恢复数据,则可以以例如循环的方式将来自份额的附加数据相应地附加到每个份额(比如,在原始数据的大小为4MB的情况下,那么,份额1得到其自己的份额以及份额2和份额3的份额;份额2得到其自己的份额以及份额3和份额4的份额;份额3得到其自己的份额以及份额4和份额1的份额;份额4得到其自己的份额以及份额1和份额2的份额)。可根据本发明使用任何这样的合适的冗余。
应该理解,可使用任何其它合适的解析和分割方法来从根据本发明设置的原始数据产生数据部分。例如,可随机地或伪随机地基于逐比特处理解析和分割。可使用随机或伪随机值(比如,会话密钥、密码反馈会话密钥等),由此对于原始数据中的每个比特,对随机或伪随机值中的对应数据进行散列函数的结果可指示将相应比特附加到哪个份额。在一种合适的方法中,可产生这样的随机或伪随机值,该随机或伪随机值为原始数据的大小的8倍,或者被扩展到原始数据的大小的8倍,以使得可相对于原始数据的每个比特对随机或伪随机值的对应字节执行散列函数。根据本发明,可使用按照逐比特级别解析和分割数据的任何其它合适的算法。还应该意识到的是,可以例如以以上刚刚根据本发明描述的方式将冗余数据附加到数据份额。
在一种合适的方法中,解析和分割不必是随机的或伪随机的。相反,可使用用于解析和分割数据的任何合适的确定性算法。例如,可利用将原始数据分解为顺序份额作为解析和分割算法。另一个示例是逐个比特地解析和分割原始数据,以循环的方式将每个相应比特依次附加到数据份额。还应该意识到的是,可以例如以以上根据本发明描述的方式将冗余数据附加到数据份额。
在本发明的一个实施例中,在安全数据解析器产生原始数据的许多部分以便恢复原始数据之后,所产生的部分中的某一个或某多个可以是强制性的。例如,如果所述部分之一用作(比如,保存在物理令牌设备上的)认证共享,并且如果正在使用安全数据解析器的容错特征(即,在恢复原始数据必需比所有部分少的部分的情况下),则即使安全数据解析器可使用原始数据的足够多的部分以便恢复原始数据,在它恢复原始数据之前,它也可需要存储在物理令牌设备上的认证份额。应该理解,可基于例如应用、数据类型、用户、任何其它合适的因素或它们的任何组合要求任何数量和类型的特定份额。
在一种合适的方法中,安全数据解析器或者安全数据解析器的某个外部组件可对原始数据的一个或多个部分进行加密。为了恢复原始数据,可能需要提供加密部分并对这些加密部分进行解密。可用不同的加密密钥对不同的加密部分加密。例如,这个特征可被用于实现更安全的“两人规则”,由此第一用户将需要具有使用第一加密密钥加密的特定份额,而第二用户将需要具有使用第二加密密钥加密的特定份额。为了存取原始数据,两个用户都将需要具有他们各自的加密密钥和提供他们各自的原始数据部分。在一种合适的方法中,可使用公钥对一个或多个数据部分进行加密,所述数据部分可以是恢复原始数据所需的强制性份额。然后,可使用私钥对所述份额进行解密,以便使用该份额恢复原始数据。
可使用利用强制性份额的任何这样的合适的范例,在该范例中,恢复原始数据需要比所有份额少的份额。
在本发明的一个合适的实施例中,可随机地或伪随机地处理数据到有限数量的数据份额的分配,以使得从统计角度来看,任何特定数据份额接收特定数据单元的概率等于其余份额中的任何一个将接收该数据单元的概率。结果,每个数据份额将具有大致相等量的数据比特。
根据本发明的另一个实施例,所述有限数量的数据份额中的每个不必具有从原始数据的解析和分割接收数据单元的相等概率。相反,某一个或某多个份额可具有比其余份额高或低的概率。结果,某些份额就比特大小而言可以比其它份额大或小。例如,在双份额情形下,一个份额可具有接收数据单元的1%概率,而第二份额具有99%的概率。因此,应该遵循,一旦安全数据解析器在两个份额之间分布数据单元,第一份额就应该具有大约1%的数据,而第二份额就应该具有99%的数据。根据本发明,可使用任何合适的概率。
应该理解,安全数据解析器还可被编程为也根据精确的(或近似精确的)百分数将数据分布给份额。例如,安全数据解析器可被编程为将80%的数据分布给第一份额,而将剩余的20%数据分布给第二份额。
根据本发明的另一个实施例,安全数据解析器可产生数据份额,所述数据份额中的一个或多个具有预定义的大小。例如,安全数据解析器可将原始数据分割成数据部分,其中所述部分之一精确为256个比特。在一种合适的方法中,如果不可能产生具有所需大小的数据部分,则安全数据解析器可填充该部分,以使它具有正确大小。可使用任何合适的大小。
在一种合适的方法中,数据部分的大小可以为加密密钥、分割密钥、任何其它合适的密钥或者任何其它合适的数据元素的大小。
如前所述,安全数据解析器可在数据的解析和分割中使用密钥。为了清晰和简明起见,本文中将这些密钥称为“分割密钥”。例如,先前介绍的会话主密钥是一种分割密钥。此外,如前所述,可在由安全数据解析器产生的数据份额内安全保护分割密钥。可使用安全保护分割密钥的任何合适的算法来在数据份额之间安全保护它们。例如,可使用Shamir算法安全保护分割密钥,由此产生可用于重构分割密钥的信息,并将该信息附加到数据份额。根据本发明,可使用任何其它这样的合适的算法。
类似地,根据诸如Shamir算法的任何合适的算法,可在一个或多个数据份额内安全保护任何合适的加密密钥。例如,可使用例如Shamir算法或任何其它合适的算法来安全保护用于在解析和分割之前对数据组进行加密的加密密钥、用于在解析和分割之后对数据部分进行加密的加密密钥或者这二者。
根据本发明的一个实施例,可使用诸如全包变换的全或无变换(AoNT)来通过变换分割密钥、加密密钥、任何其他合适的数据元素或者它们的任何组合来进一步安全保护数据。例如,根据本发明的用于在解析和分割之前对数据组进行加密的加密密钥可用AoNT算法变换。然后,可根据例如Shamir算法或任何其它合适的算法在数据份额之间分布变换的加密密钥。为了重构加密密钥,必须恢复加密的数据组(比如,如果根据本发明使用冗余,则不必使用所有的数据份额),以便存取关于根据本领域技术人员公知的AoNT的变换的必要信息。当检索原始加密密钥时,可使用它来对加密的数据组进行解密,以检索原始数据组。应该理解,本发明的容错特征可结合AoNT特征使用。也就是,数据部分中可包括冗余数据,以使得恢复加密的数据组必需比所有的数据部分少的数据部分。
应该理解,代替与解析和分割之前的数据组对应的相应加密密钥的加密和AoNT或者除此之外,可将AoNT应用于用于对解析和分割之后的数据部分进行加密的加密密钥。同样,可将AoNT应用于分割密钥。
在本发明的一个实施例中,为了向安全保护的数据组提供额外级别的安全性,可使用例如工作组密钥对根据本发明使用的加密密钥、分割密钥或者这二者进一步进行加密。
在本发明的一个实施例,可提供审查模块,该审查模块跟踪何时调用安全数据解析器来分割数据。
图36示出使用根据本发明的安全数据解析器的组件的可能选项3600。以下对每个选项组合进行概述,并用图36的合适步骤编号标注每个选项组合。安全数据解析器本质上可以是模块化的,从而使得可在图36中所示的每个功能块内使用任何已知算法。例如,可使用其它密钥分割(比如,机密共享)算法(诸如Blakely)来代替Shamir,或者可用其它已知加密算法(诸如三重DES)替换AES加密。图36的示例中所示的标签仅描绘本发明一个实施例中所使用的一个可能的算法组合。应该理解,可使用任何合适的算法或算法组合来代替标注算法。
1)3610,3612,3614,3615,3616,3617,3618,3619
通过在步骤3610使用先前加密的数据,最终可将数据分割成预定义数量的份额。如果分割算法需要密钥,则可在步骤3612使用密码安全伪随机数产生器产生分割加密密钥。可选地,在在步骤3615将密钥分割为具有容错性的预定数量的份额之前,在步骤3614可使用全或无变换(AoNT)将分割加密密钥变换为变换分割密钥。然后,在步骤3616可将数据分割成预定义数量的份额。在步骤3617可使用容错方案,以使得可从比份额总数少的份额重新产生数据。一旦份额被创建,就可在步骤3618将认证/完整性信息嵌入到份额中。可选地,在步骤3619可对每个份额进行后加密。
2)3111,3612,3614,3615,3616,3617,3618,3619
在一些实施例中,可使用由用户或外部系统提供的加密密钥对输入数据进行加密。在步骤3611提供外部密钥。例如,可从外部密钥储存器提供密钥。如果分割算法需要密钥,则在步骤3612可使用密码安全伪随机数产生器产生分割加密密钥。可选地,在在步骤3615将密钥分割为具有容错性的预定数量的份额之前,在步骤3614可使用全或无变换(AoNT)将分割密钥变换为变换分割加密密钥。然后,在步骤3616将数据分割成预定义数量的份额。在步骤3617可使用容错方案,以使得可从比份额总数少的份额重新产生数据。一旦份额被创建,就可在步骤3618将认证/完整性信息嵌入份额中。可选地,在步骤3619可对每个份额进行后加密。
3)3612,3613,3614,3615,3612,3614,3615,3616,3617,3618,3619
在一些实施例中,在步骤3612可使用密码安全伪随机数产生器产生加密密钥,以对数据进行变换。在步骤3613可使用产生的加密密钥对数据进行加密。可选地,在步骤3614可使用全或无变换(AoNT)将加密密钥变换为变换加密密钥。然后,在步骤3615可将变换加密密钥和/或所产生的加密密钥分割为具有容错性的预定数量的份额。如果分割算法需要密钥,则可在步骤3612使用密码安全伪随机数产生器产生分割加密密钥。可选地,在在步骤3615将密钥分割为具有容错性的预定数量的份额之前,在步骤3614可使用全或无变换(AoNT)将分割密钥变换为变换分割加密密钥。然后,在步骤3616可将数据分割成预定义数量的份额。在步骤3617可使用容错方案,以使得可从比份额总数少的份额重新产生数据。一旦份额被创建,就将在步骤3618将认证/完整性信息嵌入到份额中。可选地,在步骤3619可对每个份额进行后加密。
4)3612,3614,3615,3616,3617,3618,3619
在一些实施例中,可将数据分割成预定义数量的份额。如果分割算法需要密钥,则在步骤3612可使用密码安全伪随机数产生器产生分割加密密钥。可选地,在在步骤3615将密钥分割为具有容错性的预定数量的份额之前,在步骤3614可使用全或无变换(AoNT)将分割密钥变换为变换分割密钥。然后,在步骤3616可分割数据。在步骤3617可使用容错方案,以使得可从比份额总数少的份额重新产生数据。一旦份额被创建,就可在步骤3618将认证/完整性信息嵌入到份额中。可选地,在步骤3619可对每个份额进行后加密。
尽管在本发明的一些实施例中优选使用以上四种选项组合,但是在其它实施例中特征、步骤或选项的任何其它合适的组合可与安全数据解析器一起使用。
安全数据解析器可通过便利物理分离来提供灵活的数据保护。可首先对数据进行加密,然后可将数据分割为具有“n个中的m个”容错性的份额。这使得当比份额总数少的份额可用时重新产生原始信息。例如,一些份额可能在发送中丢失或损坏。如以下更详细论述的,可从容错性或者附加到份额的完整性信息重建丢失或损坏的份额。
为了创建份额,安全数据解析器可选地使用许多密钥。这些密钥可包括以下密钥中的一个或多个:
预加密密钥:当选择对份额进行预加密时,可将外部密钥传递给安全数据解析器。可在外部产生该密钥,并在外部将该密钥存储在密钥储存器(或者其它位置)中,并可使用该密钥对数据分割之前的数据进行可选加密。
分割加密密钥:可在内部产生该密钥,并且安全数据解析器可使用该密钥对分割之前的数据进行加密。然后,可使用密钥分割算法将该密钥安全地存储在份额内。
分割会话密钥:该密钥并不用于加密算法;相反,当选择随机分割时,可使用它作为数据划分算法的密钥。当使用随机分割时,可在内部产生分割会话密钥,并且安全数据解析器可使用分割会话密钥将数据划分为份额。可使用密钥分割算法将该密钥安全地存储在份额内。
后加密密钥:当选择对份额进行后加密时,可将外部密钥传递给安全数据解析器,并使用该外部密钥对各个份额进行后加密。可在外部产生该密钥,并在外部将该密钥存储在密钥储存器或其它合适的位置中。
在一些实施例中,当以这种方式使用安全数据解析器安全保护数据时,假如所需的份额和外部加密密钥全部都存在,则仅可重新组装信息。
图37显示在一些实施例中使用本发明的安全数据解析器的示例性概要处理3700。如上所述,用于安全数据解析器3706的两个非常适合的功能可包括加密3702和备份3704。这样,在一些实施例中,安全数据解析器3706可与RAID或备份系统或者硬件或软件加密引擎集成。
与安全数据解析器3706相关联的主密钥处理可包括预加密处理3708、加密/变换处理3710、密钥安全处理3712、解析/分布处理3714、容错处理3716、份额认证处理3716和后加密处理3720中的一个或多个。这些处理可按照如图36详述的几种合适的次序或组合执行。所使用的处理的组合和次序可取决于特定应用或用途、所需安全级别、是否需要可选的预加密、后加密或者这二者、所需冗余、基础或集成系统的能力或性能、或者任何其它合适的因素或因素组合。
示意性处理3700的输出可为两个或更多个份额3722。如上所述,在一些实施例中,可随机地(或者伪随机地)将数据分布给这些份额中的每个。在其它实施例中,可使用确定性算法(或者随机、伪随机和确定性算法的某个合适的组合)。
除了单独地保护信息资产之外,有时还要求在不同的用户组或利益团体之间共享信息。那么,可能有必要的是,在该用户组内控制对各个份额的存取,或者在那些用户之间共享凭证,所述凭证将仅使得该组的成员可重新组装份额。为此,在本发明的一些实施例中,可向组成员部署工作组密钥。因为工作组密钥的泄露潜在地使得组外的人可存取信息,所以应该保护工作组密钥,并使工作组密钥保持秘密。以下对用于工作组密钥部署和保护的一些系统和方法进行论述。
工作组密钥概念使得可通过对存储在份额内的密钥信息进行加密来增强信息资产的保护。一旦执行该操作,即使所有的所需份额和外部密钥被发现,攻击者也无法在不使用工作组密钥的情况下重建信息。
图38显示用于将密钥和数据分量存储在份额内的示例性框图3800。在示图3800的示例中,省略可选的预加密和后加密步骤,但是在其它实施例中可包括这些步骤。
分割数据的简化处理包括在加密阶段3802使用加密密钥3804对数据进行加密。然后,根据本发明,可分割加密密钥3804的部分,并将这些部分存储在份额3810内。也可将分割的加密密钥3806的部分存储在份额3810内。然后,通过使用分割的加密密钥,分割数据3808,并将它存储在份额3810中。
为了恢复数据,可根据本发明检索并恢复分割的加密密钥3806。然后,可逆向执行分割操作,以恢复密文。也可检索并恢复加密密钥3804,然后使用加密密钥对密文进行解密。
当利用工作组密钥时,可稍微改变以上处理,以用工作组密钥保护加密密钥。那么,可在将加密密钥存储在份额内之前用工作组密钥对加密密钥进行加密。在图39的示例性框图3900中显示了修改步骤。
使用工作组密钥分割数据的简化处理包括首先在阶段3902使用加密密钥对数据进行加密。然后,在阶段3904用工作组密钥对加密密钥进行加密。然后,可将用工作组密钥加密的加密密钥分割为多个部分,并将这些部分与份额3912一起存储。也可对分割密钥3908进行分割,并将它存储在份额3912中。最后,通过使用分割密钥3908,分割数据3910的多个部分,并将这些部分存储在份额3912中。
为了恢复数据,可根据本发明检索并恢复分割密钥。然后,根据本发明,可逆向执行分割操作,以恢复密文。可检索并恢复(用工作组密钥加密的)加密密钥。然后,可使用工作组密钥对加密密钥进行解密。最后,可使用加密密钥对密文进行解密。
存在用于部署和保护工作组密钥的几种安全方法。选择哪种方法用于特定应用取决于许多因素。这些因素可包括所需安全级别、成本、方便性和工作组中的用户数量。以下提供在一些实施例中使用的一些常用技术:
基于硬件的密钥存储
基于硬件的解决方案通常为加密系统中的加密/解密密钥的安全性提供最强保证。基于硬件的存储解决方案的示例包括防篡改密钥令牌设备,所述防篡改密钥令牌设备将密钥存储在便携式设备(比如,智能卡/软件狗)或非便携式密钥存储外设中。这些设备被设计为防止密钥材料被非授权方容易地复制。密钥可由可信机构产生,并被发布给用户,或者可在硬件内产生。另外,许多密钥存储系统提供多因素认证,在该情况下,密钥的使用要求获得物理对象(令牌)和口令或生物辨识这二者。
基于软件的密钥存储
尽管基于专用硬件的存储可能对于高安全性部署或应用是可取的,但是其它部署可能选择将密钥直接存储在本地硬件(比如,盘、RAM或者诸如USB驱动器的非易失性RAM储存器)上。这对于防御内部攻击或者在攻击者能够直接访问加密机的情况下提供较低级别的保护。
为了安全保护盘上的密钥,基于软件的密钥管理通常通过下述方式保护密钥,即,以用从其它认证度量的组合得到的密钥加密的形式存储它们,所述其它认证度量包括:密码和口令、其它密钥(比如,来自基于硬件的解决方案的密钥)的存在、生物辨识或者前述的任何合适的组合。这样的技术所提供的安全性级别的范围可从由某些操作系统(比如,MS Windows和Linux)提供的相对弱的密钥保护机制到使用多因素认证实现的更鲁棒的解决方案。
本发明的安全数据解析器可有利地用于多种应用和技术。例如,电子邮件系统、RAID系统、视频广播系统、数据库系统、磁带备份系统或任何其它合适的系统可具有在任何合适的级别集成的安全数据解析器。如前所述,应该理解,还可集成安全数据解析器,以用于通过任何传输介质的任何类型的运动数据的保护和容错性,包括,例如,有线、无线或物理传输介质。作为一个示例,通过互联网协议传输语音(VoIP)应用可利用本发明的安全数据解析器来解决VoIP中常见的与回声和延迟相关的问题。可通过使用容错性来消除对掉包的网络重试的需要,即使丢失预定数量的份额,所述容错性也保证包传输。还可以以最少的延迟和缓冲“飞速地”、高效率地分割和恢复数据包(比如,网络包),从而得到用于各种类型的运动数据的综合解决方案。安全数据解析器可作用于网络数据包、网络语音包、文件系统数据块或者任何其它合适的信息单元。除了与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散列。然后在步骤4106,可使用以上根据本发明描述的数据分割算法之一来将数据包或数据块划分为两个或更多个数据份额。在一些实施例中,数据包或数据块可被分割为使得每个数据份额包含加密的数据包或数据块的基本上随机的分布。然后,可将完整性信息(比如,散列H)附加到每个数据份额。在一些实施例中,还可计算可选的后认证标签(比如,MAC),并将该标签附加到每个数据份额。
每个数据份额可包括元数据,所述元数据可能是正确重构数据块或数据包所必需的。该信息可包括在份额头中。元数据可包括诸如这样的信息:密码关键字份额、密钥身份、份额随机数、签名/MAC值和完整性块。为了使带宽效率最大,可以以紧凑的二进制格式存储元数据。
例如,在一些实施例中,份额头包括没有被加密的明文头组块,所述明文头组块可包括诸如这样的元素:Shamir密钥份额、每会话随机数、每共享随机数、密钥身份(比如,工作组密钥标识符和后认证密钥标识符)。份额头还可包括加密的头组块,所述加密的头组块用分割加密密钥进行了加密。完整性头组块也可包括在头中,所述完整性头组块可包括用于任何数量的在前块(比如,在前两个块)的完整性校验。任何其它合适的值或信息也可包括在份额头中。
如图41的示例性份额格式4100所示,头块4102可与两个或更多个输出块4104相关联。每个头块(诸如,头块4102)可被设计为可容纳在单个网络数据包内。在一些实施例中,在将头块4102从第一位置发送到第二位置之后,然后可发送输出块。可替换地,头块4102和输出块4104可同时并行发送。可经由一个或多个相似或不相似的通信路径进行所述发送。
每个输出块可包括数据部分4106和完整性/真实性部分4108。如上所述,可使用份额完整性部分来安全保护每个数据份额,所述份额完整性部分包括加密的、预划分的数据的份额完整性信息(比如,SHA-256散列)。为了在恢复时验证输出块的完整性,安全数据解析器可比较每个份额的份额完整性块,然后逆向执行分割算法。然后,可对照份额散列验证恢复的数据的散列。
如前所述,在本发明的一些实施例中,安全数据解析器可结合磁带备份系统使用。例如,单独的磁带可被用作根据本发明的节点(即,部分/份额)。可使用任何其他合适的布置。例如,由两个或更多个磁带构成的磁带库或子系统可被当作单个节点。
根据本发明,冗余也可用于磁带。例如,如果在四个磁带(即,部分/份额)之间分摊数据组,则这四个磁带中的两个可以是恢复原始数据所必需的。应该理解,根据本发明的冗余特征,恢复原始数据可需要任何合适数量的节点(即,比节点总数少的节点)。这显著地增大了一个或多个磁带过期时恢复的概率。
每个磁带还可用SHA-256、HMAC散列值、任何其它合适的值或它们的任何组合来进行数字保护,以防止篡改。如果磁带上的任何数据或散列值改变,则该磁带将不作为用于恢复的候选,将使用剩余磁带中的任何最少所需数量的磁带来恢复数据。
在传统的磁带备份系统中,当用户要求将数据写入磁带或从磁带读取数据时,磁带管理系统(TMS)提供与物理磁带安装座对应的编号。该磁带安装座指向将安装数据的物理驱动器。磁带由人力磁带操作员或磁带机器人装入磁带仓中。
根据本发明,物理磁带安装座可被认为是指向多个物理磁带的逻辑安装点。这不仅增加了数据容量,而且由于并行处理而改进了性能。
为了提高性能,磁带节点可以是用于存储磁带图像的RAID盘阵列,或者可以包括该RAID盘阵列。由于在受保护的RAID中数据总是可用,所以这使得可高速恢复。
在前述任何实施例中,可使用确定性的、概率性的或者确定性和概率性的数据分配技术将要安全保护的数据分布到多个份额中。为了防止攻击者对任何密码块开始密码攻击,可确定性地将密码块中的比特分布到份额中。例如,可使用BitSegment例行程序来执行所述分布,或者可修改BlockSegment例行程序,以使得可将块的部分分布到多个份额。该策略可防御已累积了比“M”个份额少的份额的攻击者。
在一些实施例中,可使用加密钥信息散布(比如,通过使用加密钥信息散布算法或“IDA”)来利用加密钥秘密共享例行程序。还可通过一个或多个外部工作组密钥、一个或多个共享密钥、或者工作组密钥和共享密钥的任何组合来保护用于加密钥的IDA的密钥。以这种方式,可利用多因素秘密共享方案。为了重构数据,在一些实施例中可能需要至少“M”个份额加上工作组密钥(和/或共享密钥)。还可将IDA(或者用于IDA的密钥)驱使到加密处理中。例如,可迫使对明文进行变换(比如,在加密之前的预处理层期间),该变换可在对该明文进行加密之前进一步保护该明文。
例如,在一些实施例中,加密钥信息散布被用于将数据组中的数据的独特部分分布到两个或更多个份额中。加密钥信息散布可使用会话密钥来首先对数据组进行加密,以将数据组中的加密数据的独特部分分布到两个或更多个加密数据组份额中,或者将数据组进行加密,并将数据组中的加密数据的独特部分分布到两个或更多个加密数据组份额中。例如,为了分布数据组或加密数据组的独特部分,可使用秘密共享(或者上述方法,诸如BitSegment或BlockSegment)。然后,可选地,可对会话密钥进行变换(例如,使用全包变换或AoNT),并使用例如秘密共享(或者加密钥信息散布和会话密钥)共享该会话密钥。
在一些实施例中,在密钥的独特部分被分布或均摊到两个或更多个会话密钥份额中之前,可使用共享密钥(比如,工作组密钥)对会话密钥进行加密。然后,可通过组合至少一个加密数据组份额和至少一个会话密钥份额来形成两个或更多个用户份额。在形成用户份额时,在一些实施例中,可将所述至少一个会话密钥份额交织到加密数据组份额中。在其它实施例中,可将所述至少一个会话密钥份额插入到加密数据组份额中至少部分基于共享工作组密钥的位置处。例如,可使用加密钥信息散布来将每个会话密钥份额分布到独特加密数据组份额,以形成用户份额。将会话密钥份额交织到或插入到加密数据组份额中至少部分基于共享工作组的位置处可提高面对密码攻击的安全性。在其它实施例中,可将一个或多个会话密钥份额附加到加密数据组份额的开头或末尾,以形成用户份额。然后,可将用户份额集合单独存储在至少一个数据贮藏器上。一个数据贮藏器或多个数据贮藏器可位于相同的物理位置(例如,在相同的磁存储设备或磁带存储设备上),或者可在地理上分离(例如,在处于不同地理位置的物理分离的服务器上)。为了重构原始数据组,可需要一组授权的用户份额和共享的工作组密钥。
加密钥信息散布即使面对关键字检索Oracle也是安全的。例如,取块密码E和用于E的关键字检索oracle,所述关键字检索oracle取出该块密码的输入/输出对的列表(X1,Y1),...,(Xc,Yc),并返回密钥K,密钥K与输入/输出示例一致(比如,对于所有i,Yi=EK(Xi))。如果没有不一致的密钥,则oracle可返回特异值。该oracle可对可从输入/输出示例列表恢复密钥的密码攻击进行建模。
基于块密码的标准方案在关键字检索oracle面前可能失败。例如,CBC加密或CBC MAC在关键字检索Oracle面前可能变得完全不安全。
如果ΠIDA为IDA方案,ΠEnc为由某个块密码E的操作模式给予的加密方案,那么,如果当按照HK1或HK2将这两个方案与任意的完全秘密共享方案(PSS)结合时这两个方案仅仅在对手具有关键字检索oracle的模型中实现鲁棒计算秘密共享(RCSS)目标,则(ΠIDA,ΠEnc)面对关键字检索攻击提供安全性。
如果存在IDA方案ΠIDA和加密方案ΠEnc,以使得这对方案面对关键字检索攻击提供安全性,则实现这对的一种方式可以是实行“灵巧”IDA和“笨拙”加密方案。实现这对方案的另一种方式可以是实行“笨拙”IDA和“灵巧”加密方案。
为了说明灵巧IDA和笨拙加密方案的使用,在一些实施例中,加密方案可以是CBC,并且IDA可具有“弱私密性”特性。弱私密性特性是指,例如,如果IDA的输入为块的随机序列M=M1...Ml,并且对手从未授权集合获得份额,则存在使得对手无法计算Mi的某个块索引i。这样的弱私密性IDA可通过下述方式构建,即,首先将信息理论上的AoNT(诸如,Stinson的AoNT)应用于M,然后应用简单的IDA(诸如,BlockSegment)或者类似Rabin方案的比特有效IDA(比如,Reed-Solomon编码)。
为了说明笨拙IDA和灵巧加密方案的使用,在一些实施例中,可使用具有双加密而不是单一加密的CBC模式。现在,可使用任何IDA,甚至复制。具有用于块密码的关键字检索oracle对于对手而言将是无用的,这是因为对手将被拒绝给予任何单个加密的输入/输出示例。
尽管灵巧IDA有价值,但是从面对关键字检索攻击提供安全性所需的“智能”可能已被“推”向别处的意义上来讲,在某些情况下它也可能是非必要的。例如,在一些实施例中,无论IDA如何智能,无论在HK1/HK2背景下试图用IDA实现什么目的,智能都可被推出IDA而进入到加密方案中,留下固定且笨拙的IDA。
基于以上,在一些实施例中,可使用“普遍可靠型”灵巧IDAΠIDA。例如,提供IDA,以使得对于所有加密方案ΠEnc,对(ΠIDA,ΠEnc)在面对关键字检索攻击时总是提供安全性。
在一些实施例中,提供在面对关键字检索oracle时RCSS安全的加密方案。可通过任何IDA将该方案与HK1/HK2集成,以在面对关键字检索时实现安全性。通过使用该新方案,例如,对于使对称加密方案更安全地防御关键字检索攻击可以特别有用。
如上所述,经典的秘密共享概念通常不加密钥。因此,将秘密分成多个份额,或者以这样的方式从它们重构秘密,即,既不要求经销商,也不要求当事人重构该秘密,以拥有任何种类的对称或不对称密钥。然而,可选地,可对本文所述的安全数据解析器加密钥。经销商可提供对称密钥,如果该对称密钥用于数据共享,则该对称密钥可能是数据恢复所需要的。安全数据解析器可使用对称密钥来将要安全保护的消息的独特部分散布或分布到两个或更多个份额中。
共享密钥可使得能够实现多因素或两因素秘密共享(2FSS)。那么,对手为了破坏安全机制可能需要导航通过两个根本不同类型的安全性。例如,为了侵犯安全共享目标,对手(1)可能需要获得一组授权参与者的份额,并且(2)可能需要获得应该无法获得的秘密密钥(或者破坏用该密钥加密钥的密码机制)。
在一些实施例中,将一组新的附加要求添加到RCSS目标。所述附加要求可包括“次要因素”—密钥拥有。可在不减少原始的一组要求的情况下添加这些附加要求。一组要求可与以下相关:如果对手知道秘密密钥、但是没有获得足够的份额,则对手不能破坏方案(比如,传统或首要因素要求),而另一组要求可与以下相关:如果对手不具有秘密密钥、但是设法得到所有份额,则对手不能破坏机制(比如,新或次要因素要求)。
在一些实施例中,可存在两个次要因素要求:私密性要求和真实性要求。在私密性要求中,可涉及这样的策略,在该策略中,根据环境选择秘密密钥K和比特b。对手现在在秘密共享方案的域内提供一对等长消息M1 0和M1 1。环境计算M1 b的份额,以得到份额的矢量S1=(S1,...,S1),并且它将份额S1(全部份额)给予对手。对手现在可选择另一对消息(M2 0,M2 1),并如前那样使用相同的密钥K和隐藏比特b继续进行每个操作。对手的任务是输出它相信是b的比特b'。对手私密性优势是比b=b'的概率的两倍小。该策略的构思在于,即使知道所有份额,如果对手缺少秘密密钥,它也仍不能知道关于共享秘密的任何事情。
在真实性要求中,可涉及这样的策略,在该策略中,环境选择秘密密钥K,并在后来调用“Share”和“Recover”时使用该秘密密钥K。在一些实施例中,“Share”和“Recover”的句法可被修改,以反映该密钥的存在。然后,对手对它在秘密共享方案的域内选择的任何消息M1,...,Mq提出“Share”请求。响应于每个“Share”请求,它得到份额的对应的n矢量S1,...,Sq。对手的目的是伪造新的明文;如果它输出份额矢量S'以使得当该份额矢量S'被馈送给“Recover”算法时得到不在{M1,...,Mq}中的某个内容,则它赢。这是“明文完整性”概念。
存在实现多因素秘密共享的两种方法。第一种是通用方法—从以黑箱方式使用基本(R)CSS方案的意义上来讲是通用的。使用认证加密方案来对将被CSS共享的消息进行加密,然后可以例如使用秘密共享算法(诸如Blakely或Shamir)来共享所得的密文。
可能更有效的方法是使得共享密钥可成为工作组密钥。也就是,(1)可使用共享密钥对(R)CSS方案的随机产生的会话密钥进行加密,(2)可用认证加密方案替换应用于消息(比如,文件)的加密方案。该方法可仅导致最小程度的性能劣化。
本发明的安全数据解析器可被用于实现云计算安全解决方案。云计算是基于网络的计算、存储或者这二者,在云计算中,可通过网络向计算机系统和其它设备提供计算和存储资源。通常通过互联网存取云计算资源,但是可通过任何合适的公共或私有网络执行云计算。云计算可在计算资源与其基础硬件组件(比如,服务器、存储设备、网络)之间提供抽象层次,从而使得能够远程存取计算资源库。这些云计算资源可总称为“云”。云计算可被用于作为服务器通过互联网或任何其它合适的网络或网络组合提供可动态分级的且常常虚拟化的资源。
由于可通过公共网络传送私有数据并可在可公共访问或共享的系统内对该私有数据进行处理和存储,所以安全性是云计算所关心的重要问题。安全数据解析器可被用于保护云计算资源以及在云与终端用户或设备之间传送的数据。例如,安全数据解析器可被用于安全保护云中的数据存储、云中的运动数据、云中的网络存取、云中的数据服务、对云中的高性能计算资源的存取和云中的任何其它操作。
图42是云计算安全解决方案的示例性框图。包括安全数据解析器4210的系统4200与包括云资源4260的云4250连接。系统4200可包括任何合适的硬件,诸如计算机终端、个人计算机、手持设备(比如,PDA、黑莓、智能电话、平板设备)、蜂窝电话、计算机网络、任何其它合适的硬件或者它们的任何组合。可在系统4200的任何合适的级别集成安全数据解析器4210。例如,可在充分后端级别将安全数据解析器4210集成到系统4200的硬件和/或软件中,以使得安全数据解析器4210的存在可基本上对系统4200的终端用户透明。以上参照例如图27和图28对安全数据解析器在合适的系统内的集成进行了更详细的描述。云4250包括多个示例性云资源4260,其包括数据存储资源4260a和4260e、数据服务资源4260b和4260g、网络存取控制资源4260c和4260h、以及高性能计算资源4260d和4260f。以下将参照图43-47对这些资源中的每个进行更详细的描述。这些云计算资源仅仅是示例性的。应该理解,可从系统4200存取任何合适数量和类型的云计算资源。
云计算的一个优点是,系统4200的用户可以不必花钱买专用计算机硬件就能够存取多个云计算资源。用户可具有动态控制系统4200可存取的云计算资源的数量和类型的能力。例如,可向系统4200提供云中的按需存储资源,所述云的容量可基于当前需求动态调整。在一些实施例中,在系统4200上执行的一个或多个软件应用程序可将系统4200与云资源4260连接。例如,可使用互联网web浏览器来使系统4200通过互联网与一个或多个云资源4260连接。在一些实施例中,与系统4200集成或连接的硬件可将系统4200与云资源4260连接。在这两个实施例中,安全数据解析器4210可安全保护与云资源4260的通信和/或存储在云资源4260内的数据。云资源4260与系统4200的连接对于系统4200或者系统4200的用户可以是透明的,以使得云资源4260对于系统4200看起来好像是本地硬件资源一样。另外,共享的云资源4260对于系统4200看起来好像是专用硬件资源一样。
安全数据解析器4210可对数据进行加密和分割,以使得没有可取证辨别的数据穿越云或者存储在云内。云的基础硬件组件(比如,服务器、存储设备、网络)可在地理上分配到位,以在电网故障、天气事件或其它人为或自然事件的情况下确保云资源的连续性。结果,即使云内的一些硬件组件遭受巨大故障,云资源仍可存取。云资源4260可被设计有冗余,以不管一个或多个硬件故障如何,都提供不间断的服务。
图43是用于安全保护整个云上的运动数据(即,在将数据从一个位置传送到另一个位置期间)的云计算安全解决方案的示例性框图。图43显示发送方系统4300,发送方系统4300可包括任何合适的硬件,诸如计算机终端、个人计算机、手持设备(比如,PDA、黑莓)、蜂窝电话、计算机网网络、任何其它合适的硬件或者它们的任何组合。发送方系统4300被用于产生和/或存储数据,所述数据可以是,例如,电子邮件消息、二进制数据文件(比如,图形、语音、视频等)或者这二者。根据本发明的安全数据解析器4310对数据进行解析和分割。所得的数据部分可通过云4350传送给接收方系统4370。接收方系统4370可以是如以上参照发送方系统4300描述的任何合适的硬件。根据本发明,可在接收方系统4370重新组合分离的数据部分,以产生原始数据。当在整个云4310中行进时,可经由一个或多个通信路径通信传送数据部分,所述通信路径包括互联网和/或一个或多个内联网、LAN、WiFi、蓝牙、任何其它合适的硬接线或无线通信网络或者它们的任何组合。如以上参照图28和图29所述的,即使一些数据部分泄露,安全数据解析器也能安全保护原始数据。
图44是用于安全保护云中的数据服务的云计算安全解决方案的示例性框图。在本实施例中,用户4400可通过云4430向终端用户4440提供数据服务4420。根据本文所公开的实施例,安全解析器4410可安全保护数据服务。数据服务4420可以是可通过云4430访问的任何合适的应用程序或软件服务。例如,数据服务4420可以是被实现为面向服务架构(SOA)系统的一部分的基于web的应用。可在云4430内的一个或多个系统上存储并执行数据服务4420。通过该云计算实现提供的抽象化使得无论基础硬件资源如何,数据服务4420对于终端用户4440看起来都好像是虚拟化资源一样。安全解析器4410可安全保护数据服务4420与终端用户4440之间的运动数据。安全解析器4410还可安全保护与数据服务4420相关联的存储数据。可在实现数据服务4420的系统内和/或分离的安全云数据存储设备内安全保护与数据服务4420相关联的存储数据,以下将对这进行更详细的描述。尽管显示图44的数据服务4420和其它部分在云4430的外部,但是应该理解,这些元件中的任何一个都可并入云4430内。
图45是用于安全保护云中的数据存储资源的云计算安全解决方案的示例性框图。包括安全数据解析器4510的系统4500与包括数据存储资源4560的云4550连接。安全数据解析器4510可被用于对一个或多个数据存储资源4560中的数据进行解析和分割。每个数据存储资源4560可表示一个或多个联网的存储设备。这些存储设备可分配给单个用户/系统,或者可由多个用户/系统共享。由安全数据解析器4510提供的安全性可允许来自多个用户/系统的数据安全地共存于相同存储设备上。由该云计算实现提供的抽象化使得无论基础数据存储资源的数量和位置如何,数据存储资源4560对于系统4500看起来都好像单个虚拟化存储资源一样。当数据被写入数据存储资源4560或从数据存储资源4560读取数据时,安全数据解析器4510可以以对终端用户可以透明的方式分割和重新组装数据。以这种方式,终端用户可以能够按需访问可动态扩展的存储器。
使用安全数据解析器4510将数据存储在云中是安全的、弹性的、持久的和私密的。安全数据解析器4510通过确保没有可取证辨别的数据穿越云或者存储在单个存储设备中来安全保护数据。由于由安全数据解析器提供冗余(即,重构原始数据需要比所有分离的数据部分少的数据部分),所以云存储系统是弹性的。将分离的部分存储在多个存储设备内和/或多个数据存储资源4560内能够确保:即使所述存储设备中的一个或多个发生故障或者不可访问,也可重构数据。由于数据存储资源4560内的存储设备的减少对终端用户没有影响,所以云存储系统是持久的。如果一个存储设备发生故障,则存储在该存储设备内的数据部分可在其它存储设备重建,而不必暴露该数据。另外,存储资源4560(或者甚至构成数据存储资源4560的多个联网的存储设备)可在地理上分散,以限制多个故障的风险。最后,可使用一个或多个密钥使存储在云中的数据保持私密。如上所述,可通过独特密钥将数据分配给用户或利益团体,以使得仅该用户或团体能够存取该数据。
使用安全数据解析器将数据存储在云中还可提供优于传统的本地或联网存储的性能提升。系统的吞吐量可通过下述方式改进,即,并行地将分离的数据部分写到多个存储设备和从多个存储设备读取分离的数据部分。吞吐量的这个增加可使得可使用更慢、更便宜的存储设备,而基本上不影响存储系统的总体速度。
图46是使用根据所公开的实施例的安全数据解析器安全保护网络访问的示例性框图。安全数据解析器4610可用于网络存取控制块4620,以控制对网络资源的存取。如图46所示,网络存取控制块4620可被用于在用户4600与终端用户4640之间提供安全的网络通信。在一些实施例中,网络存取控制块4620可提供对云(比如,云4250,图42)中的一个或多个网络资源的安全网络存取。可向授权用户(比如,用户4600和终端用户4640)提供全群体密钥,所述全群体密钥向用户提供通过网络安全通信和/或存取安全网络资源的能力。除非提供正确的凭证(比如,群体密钥),否则安全保护的网络资源将不会响应。这可防止常见的网络攻击,例如,拒绝服务攻击、端口扫描攻击、中间人攻击和重放攻击。
除了为静止存储在通信网络内的数据提供安全性以及为通过通信网络的运动数据提供安全性,网络存取控制块4620可与安全数据解析器4620一起使用,以在不同的用户组或利益团体之间共享信息。可建立协作组,以在安全虚拟网络上作为安全利益团体进行参与。可向组成员部署工作组密钥,以为组成员提供对网络和联网资源的存取。以上对用于工作组密钥部署的系统和方法进行了论述。
图47是使用根据所公开的实施例的安全数据解析器来安全保护对高性能计算资源的存取的示例性框图。安全数据解析器4710可被用于提供对高性能计算资源4720的安全存取。如图47所示,终端用户4740可存取高性能计算资源4720。在一些实施例中,安全数据解析器4710可提供对云(比如,云4250,图42)中的高性能资源的安全存取。高性能计算资源可以是大型计算机服务器或服务器群。这些高性能计算资源可向用户提供灵活的、可扩展的、可配置的数据服务和数据存储服务。
根据另一个实施例,安全数据解析器可被用于使用虚拟机安全保护数据存取。Hypervisor(超级监视者)(也称为虚拟机监视器(VMM))是使得多个虚拟机可在单个主机上运行的计算机系统。图48显示包括Hypervisor 4800和在Hypervisor 4800上运行的一系列虚拟机4810的示例性框图。Hypervisor 4800运行基本操作系统(比如,Microsoft和Linux)。虚拟机4810可通过防火墙与基本操作系统隔离,以使得对基本操作系统的攻击(比如,病毒、蠕虫、黑客攻击等)不影响虚拟机4810。一个或多个安全数据解析器可与Hypervisor 4800集成,以安全保护虚拟机4810。具体地讲,通过使用安全数据解析器,虚拟机4810可安全地与一个或多个服务器或终端用户进行通信。根据本实施例,可通过向用户提供安全虚拟机图像来为用户部署安全数据存取。本实施例可在确保数据的机密性和完整性的同时使得可按需共享信息。
图49和图50显示将安全数据解析器与Hypervisor集成的可替换实施例。在图49中,安全数据解析器4930在Hypervisor 4920上方实现。例如,安全数据解析器4930可被实现为在Hypervisor 4920上工作的软件应用程序或模块。在一些实施例中,安全数据解析器4930可通过在Hypervisor 4920上运行的虚拟机来实现。在Hypervisor 4920上运行的虚拟机可使用安全数据解析器4930将服务器4940与终端用户4950安全连接。在图50中,安全数据解析器5030在Hypervisor 5020下方实现。例如,安全数据解析器5030可在Hypervisor 5020的硬件内实现。在Hypervisor 5020上运行的虚拟机可使用安全数据解析器5030安全地与服务器5040和终端用户5050进行通信。
根据其它实施例,安全数据解析器可被用于安全保护正交频分复用(OFDM)通信信道。OFDM是用于宽带数字通信的复用方案。宽带无线标准(比如,WiMAX和LTE)和电力线宽带(BPL)使用OFDM。由于所有的相邻信道完全正交,所以OFDM是独特的。这消除了串扰、对消以及噪声引入。目前,在这些OFDM标准中,通过单个OFDM通信信道传输(transmit)数据。安全数据解析器可通过在多个OFDM通信信道之间分割数据来安全保护OFDM通信。如上所述,由于通过每个信道仅传输数据的一部分,所以使用安全数据解析器在多个数据信道之间分割数据的操作安全保护数据。作为另外的益处,安全数据解析器可同时在多个数据信道上传输多个数据部分。这些同时传输可提高数据传输的有效带宽。另外或者可替换地,安全数据解析器可在多个数据信道上传输相同的数据部分。该冗余传输技术可提高传输可靠性。图51是用于安全保护OFDM通信网络的示例性框图。如图51所示,终端用户5110可使用安全数据解析器5120通过OFDM网络5140将数据发送给终端用户5150。OFDM网络5140可以是无线宽带网络、电力线宽带网络或任何其它合适的OFDM网络。
根据一些其它实施例,安全数据解析器可被用于保护关键基础设施控制,包括,例如,电网。互联网协议第6版(IPv6)是下一代互联网协议。IPv6较目前的互联网协议具有更大的地址空间。实现时,IPv6将使得可通过互联网直接访问更多设备。重要的是,限制关键基础设施的控制,以限制授权个体进行访问。如上所述,安全数据解析器可将对网络资源的存取限于授权用户和群体。可使用“两人规则”来保护关键系统,由此,需要至少两个用户提供他们各自的密钥来访问这些关键系统。图52是用于安全保护电网的示例性框图。如图52所示,用户5210可使用安全数据解析器5220为终端用户5250提供对电网5240的安全访问。
在一些实施例中,可使用电力线宽带网络将电网系统与互联网连接,以消除典型通信网络的网络布线和关联设备。将电网系统与互联网连接可以能够实现智能电网技术,该技术通过实时报告使用情况来使得可更有效率地使用电力。作为另一个益处,大功率计算资源和/或数据存储设施可安装在连接互联网的功率监控设施处。这些资源可提供可靠的存储和处理节点以用于保护云中的数据。
尽管以上描述了安全数据解析器的一些应用,但是应该清楚地理解,本发明可与任何网络应用集成,以便提高安全性、容错性、匿名性或者前述的任何合适的组合。
另外,根据本文的公开内容,其它组合、添加、置换和修改对本领域技术人员而言将变得清楚。
Claims (6)
1.一种使用正交频分复用(OFDM)网络安全保护数据的方法,所述方法包括:
在第一位置从数据组产生至少两个数据部分;和
通过至少两个OFDM信道将所述至少两个数据部分从第一位置传送到第二位置,其中,通过不同的OFDM信道传送不同的数据部分,由此通过重新组合通过所述至少两个OFDM信道接收的所述至少两个数据部分的子集中的数据,来在第二位置从所述至少两个数据部分的至少一个子集恢复所述数据组。
2.根据权利要求1所述的方法,其中,所述OFDM网络包括宽带无线网络。
3.根据权利要求1所述的方法,其中,所述OFDM网络包括宽带电力线网络。
4.一种用于安全保护正交频分复用(OFDM)网络中的数据的装置,所述装置包括:
安全数据解析器,所述安全数据解析器操作为在第一位置从数据组产生至少两个数据部分;和
OFDM收发器,所述OFDM收发器操作为通过至少两个OFDM信道将所述至少两个数据部分从第一位置传送到第二位置,其中,通过不同的OFDM信道传送不同的数据部分,由此通过重新组合通过所述至少两个OFDM信道接收的所述至少两个数据部分的子集中的数据,来在第二位置从所述至少两个数据部分的至少一个子集恢复所述数据组。
5.根据权利要求4所述的装置,其中,所述OFDM网络包括宽带无线网络。
6.根据权利要求4所述的装置,其中,所述OFDM网络包括宽带电力线网络。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17948109P | 2009-05-19 | 2009-05-19 | |
US61/179,481 | 2009-05-19 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800217189A Division CN102428686A (zh) | 2009-05-19 | 2010-05-19 | 用于安全保护云中的数据的系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104079573A true CN104079573A (zh) | 2014-10-01 |
Family
ID=42732656
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800217189A Pending CN102428686A (zh) | 2009-05-19 | 2010-05-19 | 用于安全保护云中的数据的系统和方法 |
CN201410306525.8A Pending CN104079573A (zh) | 2009-05-19 | 2010-05-19 | 用于安全保护云中的数据的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800217189A Pending CN102428686A (zh) | 2009-05-19 | 2010-05-19 | 用于安全保护云中的数据的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (3) | US8654971B2 (zh) |
EP (1) | EP2433409A2 (zh) |
JP (3) | JP5757536B2 (zh) |
CN (2) | CN102428686A (zh) |
AU (1) | AU2010249631B2 (zh) |
BR (1) | BRPI1013062A2 (zh) |
CA (1) | CA2760251A1 (zh) |
WO (1) | WO2010135412A2 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573970A (zh) * | 2015-12-18 | 2016-05-11 | 航天恒星科技有限公司 | 一种数据包重构方法及装置 |
CN106603636A (zh) * | 2016-11-29 | 2017-04-26 | 中国银联股份有限公司 | 一种差错交易的标准化方法及装置 |
CN108028834A (zh) * | 2015-06-25 | 2018-05-11 | 胡雪松 | 用于安全文件传输的装置和方法 |
CN108809906A (zh) * | 2017-05-03 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 数据处理方法、系统及装置 |
CN111369711A (zh) * | 2018-12-25 | 2020-07-03 | 金联汇通信息技术有限公司 | 一种开锁方法、装置、电子设备及计算机可读存储介质 |
CN111786777A (zh) * | 2020-06-05 | 2020-10-16 | 京东数字科技控股有限公司 | 一种流式数据加解密方法、装置、系统及存储介质 |
Families Citing this family (300)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10326798B2 (en) * | 1998-07-16 | 2019-06-18 | Grid7, LLC | System and method for secure data transmission and storage |
US7391865B2 (en) | 1999-09-20 | 2008-06-24 | Security First Corporation | Secure data parser method and system |
US8437307B2 (en) | 2007-09-03 | 2013-05-07 | Damaka, Inc. | Device and method for maintaining a communication session during a network transition |
US7933260B2 (en) | 2004-06-29 | 2011-04-26 | Damaka, Inc. | System and method for routing and communicating in a heterogeneous network environment |
US8050272B2 (en) | 2004-06-29 | 2011-11-01 | Damaka, Inc. | System and method for concurrent sessions in a peer-to-peer hybrid communications network |
US8009586B2 (en) | 2004-06-29 | 2011-08-30 | Damaka, Inc. | System and method for data transfer in a peer-to peer hybrid communication network |
US7570636B2 (en) | 2004-06-29 | 2009-08-04 | Damaka, Inc. | System and method for traversing a NAT device for peer-to-peer hybrid communications |
CA2584525C (en) | 2004-10-25 | 2012-09-25 | Rick L. Orsini | Secure data parser method and system |
US11327674B2 (en) | 2012-06-05 | 2022-05-10 | Pure Storage, Inc. | Storage vault tiering and data migration in a distributed storage network |
US12061519B2 (en) | 2005-09-30 | 2024-08-13 | Purage Storage, Inc. | Reconstructing data segments in a storage network and methods for use therewith |
WO2008054406A2 (en) | 2005-11-18 | 2008-05-08 | Orsini Rick L | Secure data parser method and system |
EP2069995A1 (en) | 2006-12-05 | 2009-06-17 | Security First Corporation | Improved tape backup method |
US8135134B2 (en) * | 2007-09-14 | 2012-03-13 | Security First Corp. | Systems and methods for managing cryptographic keys |
WO2009043016A2 (en) | 2007-09-28 | 2009-04-02 | Damaka, Inc. | System and method for transitioning a communication session between networks that are not commonly controlled |
US9116734B1 (en) * | 2011-01-14 | 2015-08-25 | Dispersive Networks Inc. | Dispersive storage area networks |
US8380859B2 (en) | 2007-11-28 | 2013-02-19 | Damaka, Inc. | System and method for endpoint handoff in a hybrid peer-to-peer networking environment |
CA2710868A1 (en) | 2008-01-07 | 2009-07-16 | Security First Corp. | Systems and methods for securing data using multi-factor or keyed dispersal |
EP2651100A1 (en) | 2008-02-22 | 2013-10-16 | Security First Corporation | Systems and methods for secure workgroup management and communication |
US8654971B2 (en) | 2009-05-19 | 2014-02-18 | Security First Corp. | Systems and methods for securing data in the cloud |
US8989705B1 (en) | 2009-06-18 | 2015-03-24 | Sprint Communications Company L.P. | Secure placement of centralized media controller application in mobile access terminal |
US10757187B2 (en) | 2009-10-29 | 2020-08-25 | Pure Storage, Inc. | Streaming all-or-nothing encoding with random offset support |
US10073737B2 (en) * | 2009-10-30 | 2018-09-11 | International Business Machines Corporation | Slice location identification |
WO2011068738A2 (en) | 2009-11-25 | 2011-06-09 | Orsini Rick L | Systems and methods for securing data in motion |
US9021046B2 (en) | 2010-01-15 | 2015-04-28 | Joyent, Inc | Provisioning server resources in a cloud resource |
US20190108366A1 (en) * | 2010-01-28 | 2019-04-11 | International Business Machines Corporation | Secure data transmission utilizing distributed storage |
US8874785B2 (en) | 2010-02-15 | 2014-10-28 | Damaka, Inc. | System and method for signaling and data tunneling in a peer-to-peer environment |
US8892646B2 (en) | 2010-08-25 | 2014-11-18 | Damaka, Inc. | System and method for shared session appearance in a hybrid peer-to-peer environment |
US8725895B2 (en) | 2010-02-15 | 2014-05-13 | Damaka, Inc. | NAT traversal by concurrently probing multiple candidates |
US8689307B2 (en) | 2010-03-19 | 2014-04-01 | Damaka, Inc. | System and method for providing a virtual peer-to-peer environment |
US9015078B2 (en) * | 2010-03-28 | 2015-04-21 | Lenovo (Singapore) Pte. Ltd. | Audit trails for electronic financial transactions |
US9043488B2 (en) | 2010-03-29 | 2015-05-26 | Damaka, Inc. | System and method for session sweeping between devices |
US8694467B2 (en) * | 2010-03-31 | 2014-04-08 | Xerox Corporation | Random number based data integrity verification method and system for distributed cloud storage |
CN103038750A (zh) | 2010-03-31 | 2013-04-10 | 安全第一公司 | 对移动中数据进行保护的系统和方法 |
US9191416B2 (en) | 2010-04-16 | 2015-11-17 | Damaka, Inc. | System and method for providing enterprise voice call continuity |
US8352563B2 (en) | 2010-04-29 | 2013-01-08 | Damaka, Inc. | System and method for peer-to-peer media routing using a third party instant messaging system for signaling |
US8621580B2 (en) * | 2010-05-19 | 2013-12-31 | Cleversafe, Inc. | Retrieving access information in a dispersed storage network |
CN103238305A (zh) | 2010-05-28 | 2013-08-07 | 安全第一公司 | 用于安全数据储存的加速器系统 |
US20110320233A1 (en) | 2010-05-30 | 2011-12-29 | Sonian, Inc. | Method and system for arbitraging computing resources in a cloud computing environment |
US8446900B2 (en) | 2010-06-18 | 2013-05-21 | Damaka, Inc. | System and method for transferring a call between endpoints in a hybrid peer-to-peer network |
US9231768B2 (en) * | 2010-06-22 | 2016-01-05 | International Business Machines Corporation | Utilizing a deterministic all or nothing transformation in a dispersed storage network |
US8611540B2 (en) | 2010-06-23 | 2013-12-17 | Damaka, Inc. | System and method for secure messaging in a hybrid peer-to-peer network |
US20120030475A1 (en) * | 2010-08-02 | 2012-02-02 | Ma Felix Kuo-We | Machine-machine authentication method and human-machine authentication method for cloud computing |
EP3015988A1 (en) | 2010-08-12 | 2016-05-04 | Security First Corp. | Systems and methods for secure remote storage of data |
US8769269B2 (en) * | 2010-08-12 | 2014-07-01 | International Business Machines Corporation | Cloud data management |
CN103270516B (zh) | 2010-08-18 | 2016-10-12 | 安全第一公司 | 用于安全保护虚拟机计算环境的系统和方法 |
US20120047339A1 (en) * | 2010-08-20 | 2012-02-23 | Dan Decasper | Redundant array of independent clouds |
WO2012023050A2 (en) | 2010-08-20 | 2012-02-23 | Overtis Group Limited | Secure cloud computing system and method |
US8595806B1 (en) * | 2010-09-21 | 2013-11-26 | Amazon Technologies, Inc. | Techniques for providing remote computing services |
US8468010B2 (en) | 2010-09-24 | 2013-06-18 | Damaka, Inc. | System and method for language translation in a hybrid peer-to-peer environment |
US8606922B1 (en) | 2010-09-27 | 2013-12-10 | Amazon Technologies, Inc. | Dynamic resource zone mapping |
US9015281B2 (en) * | 2010-10-08 | 2015-04-21 | Brian Lee Moffat | Private data sharing system |
US8743781B2 (en) | 2010-10-11 | 2014-06-03 | Damaka, Inc. | System and method for a reverse invitation in a hybrid peer-to-peer environment |
US8347184B2 (en) | 2010-11-29 | 2013-01-01 | Beijing Z & W Technology Consulting Co. Ltd. | Cloud storage data access method, apparatus and system |
CN102055797A (zh) * | 2010-11-29 | 2011-05-11 | 北京卓微天成科技咨询有限公司 | 一种云存储的数据存取的方法、装置及系统 |
US8699499B2 (en) * | 2010-12-08 | 2014-04-15 | At&T Intellectual Property I, L.P. | Methods and apparatus to provision cloud computing network elements |
US8479008B2 (en) * | 2010-12-15 | 2013-07-02 | Microsoft Corporation | Providing security services on the cloud |
US8484477B2 (en) * | 2011-01-30 | 2013-07-09 | Hewlett-Packard Development Company, L.P. | Document management system and method |
CN102088491B (zh) * | 2011-02-01 | 2013-06-26 | 西安建筑科技大学 | 一种面向分散式的云存储安全架构及其数据存取方法 |
US9037637B2 (en) | 2011-02-15 | 2015-05-19 | J.D. Power And Associates | Dual blind method and system for attributing activity to a user |
US8555276B2 (en) | 2011-03-11 | 2013-10-08 | Joyent, Inc. | Systems and methods for transparently optimizing workloads |
WO2012125144A1 (en) * | 2011-03-11 | 2012-09-20 | Joyent, Inc. | Systems and methods for sizing resources in a cloud-based environment |
US9888051B1 (en) * | 2011-03-31 | 2018-02-06 | Amazon Technologies, Inc. | Heterogeneous video processing using private or public cloud computing resources |
US8407314B2 (en) | 2011-04-04 | 2013-03-26 | Damaka, Inc. | System and method for sharing unsupported document types between communication devices |
US8793780B2 (en) | 2011-04-11 | 2014-07-29 | Blackberry Limited | Mitigation of application-level distributed denial-of-service attacks |
US8677461B2 (en) | 2011-04-21 | 2014-03-18 | Lsi Corporation | Method to provide chip based security for I/O packets in an array using dynamic topology |
US8566615B2 (en) * | 2011-04-28 | 2013-10-22 | Hewlett-Packard Development Company, L.P. | Document management system and method |
US8694587B2 (en) | 2011-05-17 | 2014-04-08 | Damaka, Inc. | System and method for transferring a call bridge between communication devices |
US9137304B2 (en) * | 2011-05-25 | 2015-09-15 | Alcatel Lucent | Method and apparatus for achieving data security in a distributed cloud computing environment |
AU2012261972A1 (en) * | 2011-06-01 | 2014-01-09 | Security First Corp. | Systems and methods for secure distributed storage |
US9235532B2 (en) * | 2011-06-03 | 2016-01-12 | Apple Inc. | Secure storage of full disk encryption keys |
US8769622B2 (en) * | 2011-06-30 | 2014-07-01 | International Business Machines Corporation | Authentication and authorization methods for cloud computing security |
US8478890B2 (en) | 2011-07-15 | 2013-07-02 | Damaka, Inc. | System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability |
US9424439B2 (en) | 2011-09-12 | 2016-08-23 | Microsoft Technology Licensing, Llc | Secure data synchronization |
US9166953B2 (en) | 2011-10-31 | 2015-10-20 | Nokia Technologies Oy | Method and apparatus for providing identity based encryption in distributed computations |
US8601554B2 (en) | 2011-11-09 | 2013-12-03 | Microsoft Corporation | Home realm discovery in mixed-mode federated realms |
EP2786292B1 (en) * | 2011-11-28 | 2016-06-08 | Porticor Ltd. | Methods and devices for securing keys for a non-secured, distributed environment with applications to virtualization and cloud-computing security and management |
CN102497404B (zh) * | 2011-12-02 | 2014-05-21 | 曙光信息产业(北京)有限公司 | 一种基于云环境的存储备份的方法 |
US9135464B2 (en) * | 2011-12-28 | 2015-09-15 | Samsung Electrônica da Amazônia Ltda. | Secure storage system for distributed data |
EP3270311A1 (en) | 2011-12-29 | 2018-01-17 | INTEL Corporation | Biometric cloud communication and data movement |
US8468251B1 (en) | 2011-12-29 | 2013-06-18 | Joyent, Inc. | Dynamic throttling of access to computing resources in multi-tenant systems |
US8745371B2 (en) * | 2011-12-29 | 2014-06-03 | Unisys Corporation | Unified network architecture having storage devices with secure boot devices |
US8547379B2 (en) | 2011-12-29 | 2013-10-01 | Joyent, Inc. | Systems, methods, and media for generating multidimensional heat maps |
US8782224B2 (en) | 2011-12-29 | 2014-07-15 | Joyent, Inc. | Systems and methods for time-based dynamic allocation of resource management |
US20130173903A1 (en) * | 2011-12-29 | 2013-07-04 | Eric T. Obligacion | Unified network architecture having storage devices with secure boot devices |
CN104255011B (zh) * | 2012-03-09 | 2017-12-08 | 英派尔科技开发有限公司 | 云计算安全数据存储 |
CN103368983B (zh) * | 2012-03-27 | 2019-02-19 | 中兴通讯股份有限公司 | 安全需求查询方法、反馈方法和装置 |
AU2013243923A1 (en) | 2012-04-06 | 2014-10-30 | Security First Corp. | Systems and methods for securing and restoring virtual machines |
US9444880B2 (en) * | 2012-04-11 | 2016-09-13 | Illumina, Inc. | Cloud computing environment for biological data |
DE102012007217A1 (de) | 2012-04-11 | 2013-10-17 | Torsten Schmale | IT-Verfahren für den sicheren Umgang mit Sensitiven Daten im Kontext des Cloud Computings |
JP2013222273A (ja) * | 2012-04-13 | 2013-10-28 | Lapis Semiconductor Co Ltd | 半導体装置、機密データ管理システム、及び機密データ管理方法 |
US9027102B2 (en) | 2012-05-11 | 2015-05-05 | Sprint Communications Company L.P. | Web server bypass of backend process on near field communications and secure element chips |
CN102710628B (zh) * | 2012-05-25 | 2015-08-05 | 中山大学 | 一种基于家庭网关的云安全加密方法及系统 |
US8862181B1 (en) | 2012-05-29 | 2014-10-14 | Sprint Communications Company L.P. | Electronic purchase transaction trust infrastructure |
US12141459B2 (en) | 2012-06-05 | 2024-11-12 | Pure Storage, Inc. | Storage pool tiering in a storage network |
CN102722576B (zh) * | 2012-06-05 | 2014-10-15 | 西安未来国际信息股份有限公司 | 一种云计算环境下数据库加密保护系统和加密保护方法 |
US9613052B2 (en) * | 2012-06-05 | 2017-04-04 | International Business Machines Corporation | Establishing trust within a cloud computing system |
US9286491B2 (en) | 2012-06-07 | 2016-03-15 | Amazon Technologies, Inc. | Virtual service provider zones |
US10075471B2 (en) | 2012-06-07 | 2018-09-11 | Amazon Technologies, Inc. | Data loss prevention techniques |
US10084818B1 (en) | 2012-06-07 | 2018-09-25 | Amazon Technologies, Inc. | Flexibly configurable data modification services |
US9015853B2 (en) * | 2012-06-15 | 2015-04-21 | The Regents Of The University Of California | Concealing access patterns to electronic data storage for privacy |
US9282898B2 (en) | 2012-06-25 | 2016-03-15 | Sprint Communications Company L.P. | End-to-end trusted communications infrastructure |
CN102710661B (zh) * | 2012-06-25 | 2014-10-15 | 上海交通大学 | 云存储与聚合架构及其数据存储与聚合方法 |
US9066230B1 (en) | 2012-06-27 | 2015-06-23 | Sprint Communications Company L.P. | Trusted policy and charging enforcement function |
US8649770B1 (en) | 2012-07-02 | 2014-02-11 | Sprint Communications Company, L.P. | Extended trusted security zone radio modem |
US20140108617A1 (en) * | 2012-07-12 | 2014-04-17 | Unisys Corporation | Data storage in cloud computing |
US8667607B2 (en) | 2012-07-24 | 2014-03-04 | Sprint Communications Company L.P. | Trusted security zone access to peripheral devices |
US8863252B1 (en) | 2012-07-25 | 2014-10-14 | Sprint Communications Company L.P. | Trusted access to third party applications systems and methods |
US9183412B2 (en) | 2012-08-10 | 2015-11-10 | Sprint Communications Company L.P. | Systems and methods for provisioning and using multiple trusted security zones on an electronic device |
US9350536B2 (en) * | 2012-08-16 | 2016-05-24 | Digicert, Inc. | Cloud key management system |
US9215180B1 (en) | 2012-08-25 | 2015-12-15 | Sprint Communications Company L.P. | File retrieval in real-time brokering of digital content |
US9015068B1 (en) | 2012-08-25 | 2015-04-21 | Sprint Communications Company L.P. | Framework for real-time brokering of digital content delivery |
US8954588B1 (en) | 2012-08-25 | 2015-02-10 | Sprint Communications Company L.P. | Reservations in real-time brokering of digital content delivery |
US9350665B2 (en) * | 2012-08-31 | 2016-05-24 | Cisco Technology, Inc. | Congestion mitigation and avoidance |
WO2014041521A2 (en) * | 2012-09-13 | 2014-03-20 | Digitata Limited | Managing of consumption type service contracts |
US8745415B2 (en) * | 2012-09-26 | 2014-06-03 | Pure Storage, Inc. | Multi-drive cooperation to generate an encryption key |
US11032259B1 (en) * | 2012-09-26 | 2021-06-08 | Pure Storage, Inc. | Data protection in a storage system |
US10623386B1 (en) * | 2012-09-26 | 2020-04-14 | Pure Storage, Inc. | Secret sharing data protection in a storage system |
CN102916954B (zh) * | 2012-10-15 | 2015-04-01 | 南京邮电大学 | 一种基于属性加密的云计算安全访问控制方法 |
US9135436B2 (en) | 2012-10-19 | 2015-09-15 | The Aerospace Corporation | Execution stack securing process |
US10130892B2 (en) | 2012-10-31 | 2018-11-20 | William R. Chesser | Modular construction products and method of assembly thereof |
WO2014075050A1 (en) | 2012-11-12 | 2014-05-15 | CRAM Worldwide, Inc. | Systems and methods of transmitting data |
CN103856499A (zh) * | 2012-11-29 | 2014-06-11 | 中兴通讯股份有限公司 | 云存储方法及装置、云存储数据下载方法及装置 |
CN103023637B (zh) * | 2012-12-25 | 2015-07-15 | 电子科技大学 | 一种云存储中可撤销的关键字搜索公钥加密及搜索方法 |
US9430655B1 (en) * | 2012-12-28 | 2016-08-30 | Emc Corporation | Split tokenization |
US9483657B2 (en) | 2013-01-14 | 2016-11-01 | Accenture Global Services Limited | Secure online distributed data storage services |
US8904503B2 (en) * | 2013-01-15 | 2014-12-02 | Symantec Corporation | Systems and methods for providing access to data accounts within user profiles via cloud-based storage services |
FI20135058L (fi) * | 2013-01-21 | 2014-07-22 | Tellabs Oy | Menetelmä ja ohjausjärjestelmä ohjelmallisesti määriteltävän verkon kontrolloimiseksi |
US9161227B1 (en) | 2013-02-07 | 2015-10-13 | Sprint Communications Company L.P. | Trusted signaling in long term evolution (LTE) 4G wireless communication |
US9578664B1 (en) | 2013-02-07 | 2017-02-21 | Sprint Communications Company L.P. | Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system |
CN105051750B (zh) | 2013-02-13 | 2018-02-23 | 安全第一公司 | 用于加密文件系统层的系统和方法 |
JP6085261B2 (ja) * | 2013-02-21 | 2017-02-22 | 新日鉄住金ソリューションズ株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
CA2903807C (en) * | 2013-03-04 | 2019-09-03 | Docusign, Inc. | Systems and methods for cloud data security |
US9104840B1 (en) | 2013-03-05 | 2015-08-11 | Sprint Communications Company L.P. | Trusted security zone watermark |
US8881977B1 (en) | 2013-03-13 | 2014-11-11 | Sprint Communications Company L.P. | Point-of-sale and automated teller machine transactions using trusted mobile access device |
US9613208B1 (en) | 2013-03-13 | 2017-04-04 | Sprint Communications Company L.P. | Trusted security zone enhanced with trusted hardware drivers |
US9049013B2 (en) | 2013-03-14 | 2015-06-02 | Sprint Communications Company L.P. | Trusted security zone containers for the protection and confidentiality of trusted service manager data |
US8826279B1 (en) | 2013-03-14 | 2014-09-02 | Joyent, Inc. | Instruction set architecture for compute-based object stores |
US8881279B2 (en) | 2013-03-14 | 2014-11-04 | Joyent, Inc. | Systems and methods for zone-based intrusion detection |
US9049186B1 (en) | 2013-03-14 | 2015-06-02 | Sprint Communications Company L.P. | Trusted security zone re-provisioning and re-use capability for refurbished mobile devices |
US9104456B2 (en) | 2013-03-14 | 2015-08-11 | Joyent, Inc. | Zone management of compute-centric object stores |
US8943284B2 (en) | 2013-03-14 | 2015-01-27 | Joyent, Inc. | Systems and methods for integrating compute resources in a storage area network |
US8677359B1 (en) | 2013-03-14 | 2014-03-18 | Joyent, Inc. | Compute-centric object stores and methods of use |
US9092238B2 (en) | 2013-03-15 | 2015-07-28 | Joyent, Inc. | Versioning schemes for compute-centric object stores |
US9191388B1 (en) | 2013-03-15 | 2015-11-17 | Sprint Communications Company L.P. | Trusted security zone communication addressing on an electronic device |
US9374363B1 (en) | 2013-03-15 | 2016-06-21 | Sprint Communications Company L.P. | Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device |
US8775485B1 (en) | 2013-03-15 | 2014-07-08 | Joyent, Inc. | Object store management operations within compute-centric object stores |
US8984592B1 (en) | 2013-03-15 | 2015-03-17 | Sprint Communications Company L.P. | Enablement of a trusted security zone authentication for remote mobile device management systems and methods |
US8793688B1 (en) | 2013-03-15 | 2014-07-29 | Joyent, Inc. | Systems and methods for double hulled virtualization operations |
US9021585B1 (en) | 2013-03-15 | 2015-04-28 | Sprint Communications Company L.P. | JTAG fuse vulnerability determination and protection using a trusted execution environment |
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 |
US9454723B1 (en) | 2013-04-04 | 2016-09-27 | Sprint Communications Company L.P. | Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device |
US9324016B1 (en) | 2013-04-04 | 2016-04-26 | Sprint Communications Company L.P. | Digest of biographical information for an electronic device with static and dynamic portions |
US9171243B1 (en) | 2013-04-04 | 2015-10-27 | Sprint Communications Company L.P. | System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device |
US9838869B1 (en) | 2013-04-10 | 2017-12-05 | Sprint Communications Company L.P. | Delivering digital content to a mobile device via a digital rights clearing house |
US10043017B2 (en) | 2013-04-15 | 2018-08-07 | Paul Lewis | Systems and methods for jurisdiction independent data storage in a multi-vendor cloud environment |
US10984116B2 (en) * | 2013-04-15 | 2021-04-20 | Calamu Technologies Corporation | Systems and methods for digital currency or crypto currency storage in a multi-vendor cloud environment |
US11636217B2 (en) * | 2013-04-15 | 2023-04-25 | Calamu Technologies Corporation | Systems and methods for breach-proof, resilient, compliant data in a multi-vendor cloud environment and automatically self heals in the event of a ransomware attack |
US9405926B2 (en) | 2014-06-30 | 2016-08-02 | Paul Lewis | Systems and methods for jurisdiction independent data storage in a multi-vendor cloud environment |
US9443088B1 (en) | 2013-04-15 | 2016-09-13 | Sprint Communications Company L.P. | Protection for multimedia files pre-downloaded to a mobile device |
GB2513376A (en) | 2013-04-25 | 2014-10-29 | Ibm | Distribution of encrypted information in multiple locations |
US9667530B2 (en) | 2013-05-06 | 2017-05-30 | International Business Machines Corporation | Privacy preserving query method and system for use in federated coalition networks |
US9069952B1 (en) | 2013-05-20 | 2015-06-30 | Sprint Communications Company L.P. | Method for enabling hardware assisted operating system region for safe execution of untrusted code using trusted transitional memory |
US9246944B1 (en) * | 2013-05-28 | 2016-01-26 | Symantec Corporation | Systems and methods for enforcing data loss prevention policies on mobile devices |
US9667490B1 (en) | 2013-06-05 | 2017-05-30 | Parallels IP Holdings GmbH | Method for high availability of services in cloud computing systems |
US9106537B1 (en) * | 2013-06-05 | 2015-08-11 | Parallels IP Holdings GmbH | Method for high availability of services in cloud computing systems |
US9560519B1 (en) | 2013-06-06 | 2017-01-31 | Sprint Communications Company L.P. | Mobile communication device profound identity brokering framework |
CN103327084B (zh) * | 2013-06-08 | 2017-01-04 | 北京古盘创世科技发展有限公司 | 一种公私混合分布式的云存储系统及云存储方法 |
CA2886511A1 (en) * | 2013-06-11 | 2014-12-18 | Yin Sheng Zhang | Assembling of isolated remote data |
EP2819013B1 (en) * | 2013-06-24 | 2019-11-27 | Alcatel Lucent | Automated adaption of a Codec |
TWI599969B (zh) * | 2013-06-25 | 2017-09-21 | yi-hong Xu | Integrated payment services for cloud trading system |
US9183606B1 (en) | 2013-07-10 | 2015-11-10 | Sprint Communications Company L.P. | Trusted processing location within a graphics processing unit |
US9027032B2 (en) | 2013-07-16 | 2015-05-05 | Damaka, Inc. | System and method for providing additional functionality to existing software in an integrated manner |
CN105164692A (zh) * | 2013-07-30 | 2015-12-16 | 惠普发展公司,有限责任合伙企业 | 数据管理 |
US9584488B2 (en) | 2013-08-09 | 2017-02-28 | Introspective Power, Inc. | Data encryption cipher using rotating ports |
US9584313B2 (en) * | 2013-08-09 | 2017-02-28 | Introspective Power, Inc. | Streaming one time pad cipher using rotating ports for data encryption |
US9208339B1 (en) | 2013-08-12 | 2015-12-08 | Sprint Communications Company L.P. | Verifying Applications in Virtual Environments Using a Trusted Security Zone |
US9298935B1 (en) * | 2013-09-20 | 2016-03-29 | Piyush Kumar | Distributed privacy framework system and method of implementation |
GB2519119A (en) * | 2013-10-10 | 2015-04-15 | Ibm | Linear network coding in a dynamic distributed federated database |
US9357016B2 (en) | 2013-10-18 | 2016-05-31 | Damaka, Inc. | System and method for virtual parallel resource management |
US9185626B1 (en) | 2013-10-29 | 2015-11-10 | Sprint Communications Company L.P. | Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning |
US9191522B1 (en) | 2013-11-08 | 2015-11-17 | Sprint Communications Company L.P. | Billing varied service based on tier |
US9161325B1 (en) | 2013-11-20 | 2015-10-13 | Sprint Communications Company L.P. | Subscriber identity module virtualization |
CN103595730B (zh) * | 2013-11-28 | 2016-06-08 | 中国科学院信息工程研究所 | 一种密文云存储方法和系统 |
US10305893B2 (en) | 2013-12-27 | 2019-05-28 | Trapezoid, Inc. | System and method for hardware-based trust control management |
US10084839B2 (en) | 2013-12-27 | 2018-09-25 | Sap Se | Upload operation using multiple connections |
US9258331B2 (en) * | 2013-12-27 | 2016-02-09 | Trapezoid, Inc. | System and method for hardware-based trust control management |
US9251368B2 (en) * | 2014-01-08 | 2016-02-02 | International Business Machines Corporation | Provisioning transient-controlled secure environments for viewing sensitive data |
US9118655B1 (en) | 2014-01-24 | 2015-08-25 | Sprint Communications Company L.P. | Trusted display and transmission of digital ticket documentation |
US9246890B2 (en) | 2014-02-18 | 2016-01-26 | Oracle International Corporation | PGP encrypted data transfer |
US10454919B2 (en) * | 2014-02-26 | 2019-10-22 | International Business Machines Corporation | Secure component certificate provisioning |
US9158909B2 (en) * | 2014-03-04 | 2015-10-13 | Amazon Technologies, Inc. | Authentication of virtual machine images using digital certificates |
US10193892B2 (en) | 2014-03-14 | 2019-01-29 | Hewlett Packard Enterprise Development Lp | Resource restriction |
WO2015137978A1 (en) | 2014-03-14 | 2015-09-17 | Hewlett Packard Development Company, L.P. | Semantic restriction |
US9226145B1 (en) | 2014-03-28 | 2015-12-29 | Sprint Communications Company L.P. | Verification of mobile device integrity during activation |
WO2015175854A2 (en) * | 2014-05-15 | 2015-11-19 | Cryptyk, Inc. (Trading As Bitsavr Inc.) | System and method for digital currency storage, payment and credit |
WO2015188246A1 (en) * | 2014-06-09 | 2015-12-17 | Royal Canadian Mint/Monnaie Royale Canadienne | Cloud-based secure information storage and transfer system |
EP3155754B1 (en) * | 2014-06-13 | 2018-10-24 | Bicdroid Inc. | Methods, systems and computer program product for providing encryption on a plurality of devices |
US9311504B2 (en) | 2014-06-23 | 2016-04-12 | Ivo Welch | Anti-identity-theft method and hardware database device |
US9344409B2 (en) | 2014-07-18 | 2016-05-17 | Bank Of America Corporation | Method and apparatus for masking non-public data elements in uniform resource indentifiers (“URI”) |
US9230085B1 (en) | 2014-07-29 | 2016-01-05 | Sprint Communications Company L.P. | Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services |
CA2956617A1 (en) | 2014-08-05 | 2016-02-11 | Damaka, Inc. | System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems |
TWI497339B (zh) * | 2014-08-15 | 2015-08-21 | Chi-Pei Wang | 具有帳號密碼分散儲存防側錄功能之電腦系統 |
US9626210B2 (en) * | 2014-09-11 | 2017-04-18 | Amazon Technologies, Inc. | Resource credit pools for replenishing instance resource credit balances of virtual compute instances |
EP3202081A4 (en) | 2014-09-30 | 2018-05-30 | Hewlett-Packard Enterprise Development LP | Metrics authorization based on a certificate |
WO2016081942A2 (en) | 2014-11-21 | 2016-05-26 | Security First Corp. | Gateway for cloud-based secure storage |
US10509662B1 (en) * | 2014-11-25 | 2019-12-17 | Scale Computing | Virtual devices in a reliable distributed computing system |
GB2533098B (en) | 2014-12-09 | 2016-12-14 | Ibm | Automated management of confidential data in cloud environments |
US9866631B2 (en) * | 2014-12-30 | 2018-01-09 | TCL Research America Inc. | System and method for sharing information among multiple devices |
CA2972463A1 (en) * | 2014-12-31 | 2016-07-28 | Imageware Systems, Inc. | Cloud-based biometric enrollment, identification and verification through identity providers |
US9779232B1 (en) | 2015-01-14 | 2017-10-03 | Sprint Communications Company L.P. | Trusted code generation and verification to prevent fraud from maleficent external devices that capture data |
US9413757B1 (en) * | 2015-01-15 | 2016-08-09 | International Business Machines Corporation | Secure identity authentication in an electronic transaction |
US9838868B1 (en) | 2015-01-26 | 2017-12-05 | Sprint Communications Company L.P. | Mated universal serial bus (USB) wireless dongles configured with destination addresses |
US9544301B2 (en) * | 2015-01-28 | 2017-01-10 | International Business Machines Corporation | Providing data security with a token device |
US9300658B1 (en) * | 2015-02-12 | 2016-03-29 | International Business Machines Corporation | Secure authentication mechanism using quick response codes |
US9659163B2 (en) * | 2015-02-12 | 2017-05-23 | International Business Machines Corporation | Secure authentication mechanism using quick response codes |
BR112017017098A2 (pt) * | 2015-02-17 | 2018-04-03 | Visa International Service Association | aparelhos, métodos e sistemas de agente de chave de criptografia de nuvem |
US9773119B2 (en) * | 2015-02-25 | 2017-09-26 | Sap Se | Parallel and hierarchical password protection on specific document sections |
US9756050B1 (en) | 2015-03-26 | 2017-09-05 | Amazon Technologies, Inc. | Using transient processing containers for security authorization |
US9660969B2 (en) | 2015-03-31 | 2017-05-23 | Here Global B.V. | Method and apparatus for providing key management for data encryption for cloud-based big data environments |
US9473945B1 (en) | 2015-04-07 | 2016-10-18 | Sprint Communications Company L.P. | Infrastructure for secure short message transmission |
US10009405B2 (en) | 2015-04-27 | 2018-06-26 | International Business Machines Corporation | Dynamically adjusting quality of service using cognitive focus of attention detection |
US9992172B2 (en) | 2015-05-01 | 2018-06-05 | Microsoft Technology Licensing, Llc | Secure key management in a data storage system |
US9509689B1 (en) * | 2015-05-12 | 2016-11-29 | Victoria Kien Man Teng | Security for cloud systems and virtualization cloud systems, mobile cloud systems and mobile virtualization cloud systems, and computer clusters and mobile device clusters |
US10075291B1 (en) * | 2015-05-27 | 2018-09-11 | Citigroup Technology, Inc. | Data deduplication and compression evaluation methods and systems |
US11503031B1 (en) | 2015-05-29 | 2022-11-15 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US9300660B1 (en) * | 2015-05-29 | 2016-03-29 | Pure Storage, Inc. | Providing authorization and authentication in a cloud for a user of a storage array |
US9940476B2 (en) * | 2015-06-11 | 2018-04-10 | International Business Machines Corporation | Selective exposure of document tags for search, access, and feed based on user groups |
US9961030B2 (en) * | 2015-06-24 | 2018-05-01 | Private Giant | Method and system for sender-controlled messaging and content sharing |
EP3866387A1 (en) * | 2015-07-02 | 2021-08-18 | Leading Software Limited | Resilient secret sharing cloud based architecture for data vault |
US9853965B2 (en) * | 2015-08-24 | 2017-12-26 | Verizon Patent And Licensing Inc. | Authentication service for third party applications |
WO2017048221A1 (en) * | 2015-09-14 | 2017-03-23 | Hewlett Packard Enterprise Development Lp | Secure memory systems |
US9819679B1 (en) | 2015-09-14 | 2017-11-14 | Sprint Communications Company L.P. | Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers |
US11283774B2 (en) | 2015-09-17 | 2022-03-22 | Secturion Systems, Inc. | Cloud storage using encryption gateway with certificate authority identification |
US9948465B2 (en) * | 2015-09-18 | 2018-04-17 | Escher Group (Irl) Limited | Digital data locker system providing enhanced security and protection for data storage and retrieval |
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 |
US10282719B1 (en) | 2015-11-12 | 2019-05-07 | Sprint Communications Company L.P. | Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit |
US9817992B1 (en) | 2015-11-20 | 2017-11-14 | Sprint Communications Company Lp. | System and method for secure USIM wireless network access |
US10122832B2 (en) | 2015-12-07 | 2018-11-06 | International Business Machines Corporation | Communications of usernames and passwords to a plurality of cloud storages via a plurality of communications protocols that change over time |
US10171585B2 (en) | 2015-12-07 | 2019-01-01 | International Business Machines Corporation | Method, system, and computer program product for distributed storage of data in a heterogeneous cloud |
US10013181B2 (en) | 2015-12-07 | 2018-07-03 | International Business Machines Corporation | Distributed storage of data in a local storage and a heterogeneous cloud |
US9992231B2 (en) * | 2015-12-14 | 2018-06-05 | International Business Machines Corporation | Method and apparatus for data protection in cloud-based matching system |
CN106936579A (zh) * | 2015-12-30 | 2017-07-07 | 航天信息股份有限公司 | 基于可信第三方代理的云存储数据存储及读取方法 |
JP6019514B1 (ja) * | 2016-01-13 | 2016-11-02 | 株式会社Tcsi | コンピュータプログラム、秘密管理方法及びシステム |
US10091025B2 (en) | 2016-03-31 | 2018-10-02 | Damaka, Inc. | System and method for enabling use of a single user identifier across incompatible networks for UCC functionality |
CN107342964B (zh) | 2016-04-28 | 2019-05-07 | 华为技术有限公司 | 一种报文解析方法及设备 |
WO2018011779A1 (en) * | 2016-07-13 | 2018-01-18 | Nsknox Technologies Ltd | Methods and systems for a redundantly-secure data store using independent networks |
CN106572104A (zh) * | 2016-10-28 | 2017-04-19 | 鄢碧珠 | 一种安全的移动式数据存储方法 |
US10478732B2 (en) * | 2016-11-07 | 2019-11-19 | Microsoft Technology Licensing, Llc | Arbitrating an outcome of a multiplayer game session |
MX2019008936A (es) * | 2017-01-26 | 2019-09-11 | Walmart Apollo Llc | Sistemas y metodos para brindar comunicaciones seguras a proveedores de servicios en la nube. |
US10650153B2 (en) | 2017-01-31 | 2020-05-12 | Ent. Services Development Corporation Lp | Electronic document access validation |
US10742661B2 (en) | 2017-02-14 | 2020-08-11 | Seagate Technology Llc | Virtualized volume level messaging |
US10922420B2 (en) | 2017-02-14 | 2021-02-16 | Seagate Technology Llc | Virtualized volume level security |
US10560476B2 (en) * | 2017-02-22 | 2020-02-11 | International Business Machines Corporation | Secure data storage system |
US10505723B1 (en) * | 2017-04-26 | 2019-12-10 | Wells Fargo Bank, N.A. | Secret sharing information management and security system |
US10499249B1 (en) | 2017-07-11 | 2019-12-03 | Sprint Communications Company L.P. | Data link layer trust signaling in communication network |
CN107465505B (zh) * | 2017-08-28 | 2021-07-09 | 创新先进技术有限公司 | 一种密钥数据处理方法、装置及服务器 |
GB2567146B (en) | 2017-09-28 | 2022-04-13 | Red Flint Llp | Method and system for secure storage of digital data |
US10601813B2 (en) | 2017-10-26 | 2020-03-24 | Bank Of America Corporation | Cloud-based multi-factor authentication for network resource access control |
CN109726563B (zh) | 2017-10-31 | 2020-11-03 | 创新先进技术有限公司 | 一种数据统计的方法、装置以及设备 |
WO2019090438A1 (en) * | 2017-11-13 | 2019-05-16 | Yoppworks Inc. | Vehicle enterprise fleet management system and method |
GB201721021D0 (en) * | 2017-12-15 | 2018-01-31 | Nchain Holdings Ltd | Computer-implemented methods and systems |
WO2019123346A1 (en) * | 2017-12-22 | 2019-06-27 | Auckland Uniservices Limited | A method and system for storing data and accessing data |
US10623181B2 (en) | 2018-01-02 | 2020-04-14 | Bank Of America Corporation | Security system utilizing vaultless tokenization and encryption |
US10824751B1 (en) * | 2018-04-25 | 2020-11-03 | Bank Of America Corporation | Zoned data storage and control security system |
EP3584993A1 (en) * | 2018-06-18 | 2019-12-25 | Gemalto Sa | Method for securely sharing data under certain conditions on a distributed ledger |
GB201810981D0 (en) * | 2018-07-04 | 2018-08-15 | Nchain Holdings Ltd | Computer-implemented system and method |
US10402573B1 (en) * | 2018-09-07 | 2019-09-03 | United States Of America As Represented By The Secretary Of The Navy | Breach resistant data storage system and method |
SG11202103770SA (en) | 2018-10-15 | 2021-05-28 | Paylessgate Corp | Position determination system, position determination apparatus, position determination method, position determination program, and computer-readable storage medium and storage device |
WO2020080301A1 (ja) | 2018-10-15 | 2020-04-23 | PaylessGate株式会社 | 被認証装置、認証装置、認証要求送信方法、認証方法、及びプログラム |
US11017108B2 (en) | 2018-10-30 | 2021-05-25 | International Business Machines Corporation | Storage unification with security management |
US10944544B2 (en) * | 2018-11-07 | 2021-03-09 | Sony Corporation | Reducing variable-length pre-key to fix-length key |
US11443016B2 (en) | 2018-11-09 | 2022-09-13 | Sony Corporation | Pre-key with authentication using logical combinations of pre-key bits with other information |
JP7190336B2 (ja) | 2018-11-15 | 2022-12-15 | 富士通株式会社 | 通信装置、通信方法、および通信プログラム |
EP3674934A1 (en) * | 2018-12-26 | 2020-07-01 | Thales Dis France SA | Biometric acquisition system and method |
US11151284B2 (en) | 2019-01-02 | 2021-10-19 | Bank Of America Corporation | System for active and passive management of location-based copy data |
US10944743B2 (en) * | 2019-01-22 | 2021-03-09 | Adp, Llc | Rich communication services security authentication system |
CN109784079A (zh) * | 2019-01-28 | 2019-05-21 | 广州供电局有限公司 | 一种用于电力行业的用户数据保护方法 |
WO2020160136A1 (en) * | 2019-01-30 | 2020-08-06 | Paul Lewis | Systems and methods for digital currency or crypto currency storage in a multi-vendor cloud environment |
CN109905230B (zh) * | 2019-02-13 | 2020-11-03 | 中国科学院信息工程研究所 | 一种云存储中数据机密性验证方法及系统 |
KR102758937B1 (ko) * | 2019-02-18 | 2025-01-23 | 삼성전자주식회사 | 생체 정보를 인증하기 위한 전자 장치 및 그의 동작 방법 |
US11138158B2 (en) | 2019-05-20 | 2021-10-05 | Callplex, Inc. | Binding a local data storage device to remote data storage |
CN113994626B (zh) * | 2019-05-22 | 2023-01-17 | 妙泰公司 | 具有增强的安全性、弹性和控制的分布式数据存储方法及系统 |
US12192769B2 (en) * | 2019-08-22 | 2025-01-07 | Huawei Technologies Co., Ltd. | Methods and apparatus for securing communications |
US11582221B1 (en) * | 2019-09-25 | 2023-02-14 | Amazon Technologies, Inc. | Securing encrypted volumes in a distributed environment |
EP3805961B1 (en) * | 2019-10-10 | 2024-04-24 | Palantir Technologies Inc. | Systems and method for authenticating users of a data processing platform from multiple identity providers |
US11595201B2 (en) * | 2020-02-21 | 2023-02-28 | Cyber Armor Ltd. | System and method for generation of a disposable software module for cryptographic material protection |
US11368316B2 (en) * | 2020-03-24 | 2022-06-21 | International Business Machines Corporation | Applying PKI (public key infrastructure) to power of attorney documents |
TWI737368B (zh) * | 2020-06-29 | 2021-08-21 | 財團法人國家實驗研究院 | 機敏資料之分析方法及其系統 |
CN111740826B (zh) * | 2020-07-20 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 基于加密代理网关的加密方法、解密方法、装置及设备 |
US11777917B2 (en) | 2020-10-15 | 2023-10-03 | Cisco Technology, Inc. | Multi-party cloud authenticator |
CN112953946B (zh) * | 2021-02-25 | 2022-05-31 | 平安科技(深圳)有限公司 | 云环境下的属性加密方法、装置、设备及存储介质 |
EP4054143A1 (de) * | 2021-03-02 | 2022-09-07 | Siemens Aktiengesellschaft | Authentifizieren eines gerätes in einem kommunikationsnetz einer automatisierungsanlage |
TWI748919B (zh) * | 2021-04-23 | 2021-12-01 | 中國信託商業銀行股份有限公司 | 電子簽帳終端裝置及其取得主密鑰的方法 |
EP4372588A1 (en) * | 2022-11-18 | 2024-05-22 | Metal Gear | Methods and devices for authentication |
CN116015650B (zh) * | 2022-12-30 | 2024-06-04 | 广州今之港教育咨询有限公司 | 一种文件的加密与解密方法、装置及存储介质 |
US20250023716A1 (en) * | 2023-07-11 | 2025-01-16 | BKey, Inc. | Cryptographic key management and transfer |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585334A (zh) * | 2003-08-21 | 2005-02-23 | 株式会社东芝 | 服务器设备,通信系统和给网络分配安全性策略的方法 |
CN101179356A (zh) * | 2007-11-28 | 2008-05-14 | 中国海洋石油总公司 | 一种数据发送、接收方法及装置 |
CN101375284A (zh) * | 2004-10-25 | 2009-02-25 | 里克·L·奥尔西尼 | 安全数据分析方法和系统 |
Family Cites Families (250)
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 |
FR2632469B1 (fr) | 1988-06-03 | 1991-08-02 | Pailles Jean Claude | Dispositif de communication securisee de donnees |
EP0354774B1 (en) | 1988-08-11 | 1996-04-10 | International Business Machines Corporation | Data cryptography using control vectors |
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 |
JPH04297157A (ja) | 1991-03-14 | 1992-10-21 | Mitsubishi Electric Corp | データ暗号装置 |
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 |
US5276735A (en) | 1992-04-17 | 1994-01-04 | Secure Computing Corporation | Data enclave and trusted path system |
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 |
US5450099A (en) | 1993-04-08 | 1995-09-12 | Eastman Kodak Company | Thermal line printer with staggered head segments and overlap compensation |
JP2550864B2 (ja) | 1993-05-31 | 1996-11-06 | 日本電気株式会社 | ジョブ実行における分散型制御方法及びその装置 |
GB9323489D0 (en) | 1993-11-08 | 1994-01-05 | Ncr Int Inc | Self-service business system |
JPH09507729A (ja) | 1994-01-13 | 1997-08-05 | バンカーズ・トラスト・カンパニー | キー寄託機能付き暗号システムおよび方法 |
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 |
US5623549A (en) | 1995-01-30 | 1997-04-22 | Ritter; Terry F. | Cipher mechanisms with fencing and balanced block mixing |
US7069451B1 (en) | 1995-02-13 | 2006-06-27 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US7133845B1 (en) | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | System and methods for secure transaction management and electronic rights protection |
ATE419586T1 (de) | 1995-02-13 | 2009-01-15 | Intertrust Tech Corp | Systeme und verfahren zur gesicherten transaktionsverwaltung und elektronischem rechtsschutz |
WO1996039765A1 (en) | 1995-06-05 | 1996-12-12 | Certco Llc | Multi-step digital signature method and system |
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. |
US5666416A (en) | 1995-10-24 | 1997-09-09 | Micali; Silvio | Certificate revocation system |
US5717758A (en) | 1995-11-02 | 1998-02-10 | Micall; Silvio | Witness-based 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 |
JP2000503154A (ja) | 1996-01-11 | 2000-03-14 | エムアールジェイ インコーポレイテッド | デジタル所有権のアクセスと分配を制御するためのシステム |
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 |
JPH09238132A (ja) | 1996-02-29 | 1997-09-09 | Oki Electric Ind Co Ltd | 携帯用端末通信システム及びその通信方法 |
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 |
US5937066A (en) | 1996-10-02 | 1999-08-10 | International Business Machines Corporation | Two-phase cryptographic key recovery system |
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 |
FI105137B (fi) | 1996-12-02 | 2000-06-15 | Nokia Networks Oy | Parannettu ryhmälähetys pakettiverkossa |
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 |
JP3656688B2 (ja) | 1997-03-31 | 2005-06-08 | 栄司 岡本 | 暗号データ回復方法及び鍵登録システム |
US6119229A (en) | 1997-04-11 | 2000-09-12 | The Brodia Group | Virtual property system |
US7218736B1 (en) | 1997-04-24 | 2007-05-15 | Matsushita Electric Industrial Co., Ltd. | Data transfer method |
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 |
US6731755B1 (en) | 1997-07-28 | 2004-05-04 | The Director, Government Communications Headquarters | Split-key cryptographic system and method |
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 |
US6125349A (en) | 1997-10-01 | 2000-09-26 | At&T Corp. | Method and apparatus using digital credentials and other electronic certificates for electronic transactions |
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 |
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 |
US5974144A (en) | 1998-02-25 | 1999-10-26 | Cipheractive Ltd. | System for encryption of partitioned data blocks utilizing public key methods and random numbers |
EP1062560A1 (en) | 1998-03-11 | 2000-12-27 | Cha! Technologies, Inc. | Automatically invoked intermediation process for network purchases |
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 |
US7050580B1 (en) | 1998-05-07 | 2006-05-23 | Ferre Herrero Angel Jose | Randomization-encryption system |
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 |
US6308273B1 (en) | 1998-06-12 | 2001-10-23 | Microsoft Corporation | Method and system of security location discrimination |
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 |
US6363481B1 (en) | 1998-08-03 | 2002-03-26 | Nortel Networks Limited | Method and apparatus for secure data storage using distributed databases |
US6289509B1 (en) | 1998-09-01 | 2001-09-11 | Pkware, Inc. | Software patch generator |
US6385727B1 (en) | 1998-09-25 | 2002-05-07 | Hughes Electronics Corporation | Apparatus for providing a secure processing environment |
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 |
US6269432B1 (en) | 1998-10-23 | 2001-07-31 | Ericsson, Inc. | Distributed transactional processing system having redundant data |
WO2000028471A1 (en) | 1998-11-06 | 2000-05-18 | Ethentica, Inc. | Relief object sensor adaptor |
JP4130264B2 (ja) * | 1998-12-08 | 2008-08-06 | 松下電器産業株式会社 | 電力線搬送通信システム |
US6347143B1 (en) | 1998-12-15 | 2002-02-12 | Philips Electronics No. America Corp. | Cryptographic device with encryption blocks connected parallel |
JP2000181803A (ja) | 1998-12-18 | 2000-06-30 | Fujitsu Ltd | 鍵管理機能付電子データ保管装置および電子データ保管方法 |
EA003230B1 (ru) | 1999-01-28 | 2003-02-27 | Ютака Ясукура | Способ для обеспечения защиты электронной информации |
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 |
CA2267395C (en) | 1999-03-30 | 2002-07-09 | Ibm Canada Limited-Ibm Canada Limitee | Method and system for managing keys for encrypted data |
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 |
US7450717B1 (en) | 1999-06-08 | 2008-11-11 | General Instruments Corporation | Self authentication ciphertext chaining |
US6957334B1 (en) | 1999-06-23 | 2005-10-18 | Mastercard International Incorporated | Method and system for secure guaranteed transactions over a computer network |
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 |
US7391865B2 (en) | 1999-09-20 | 2008-06-24 | Security First Corporation | Secure data parser method and system |
AU7596300A (en) | 1999-09-20 | 2001-04-24 | Ethentica, Inc. | Cryptographic server with provisions for interoperability between cryptographic systems |
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 |
ATE354128T1 (de) | 1999-12-20 | 2007-03-15 | Dainippon Printing Co Ltd | Verteilte datenarchivierungsvorrichtung und system |
EP1670233A1 (en) | 1999-12-28 | 2006-06-14 | Sony Corporation | A photographic image commercial transaction system using a portable music player |
ES2339914T3 (es) | 1999-12-28 | 2010-05-27 | Sony Corporation | Sistema y metodo de transacciones comerciales de imagenes. |
US7304990B2 (en) | 2000-02-03 | 2007-12-04 | Bandwiz Inc. | Method of encoding and transmitting data over a communication medium through division and segmentation |
US7412462B2 (en) | 2000-02-18 | 2008-08-12 | Burnside Acquisition, Llc | Data repository and method for promoting network storage of data |
US6879988B2 (en) | 2000-03-09 | 2005-04-12 | Pkware | System and method for manipulating and managing computer archive files |
WO2001069392A2 (en) | 2000-03-16 | 2001-09-20 | Boden Scott T | Method and apparatus for secure and fault tolerant data storage |
US7085854B2 (en) | 2000-04-12 | 2006-08-01 | Corente, Inc. | Methods and systems for enabling communication between a processor and a network operations center |
AU2001257306A1 (en) | 2000-04-27 | 2001-11-07 | Fortress Technologies, Inc. | A method and apparatus for integrating tunneling protocols with standard routingprotocols |
US7693992B2 (en) | 2000-06-14 | 2010-04-06 | Disney Enterprises, Inc. | Technique for providing access to data |
US7587368B2 (en) | 2000-07-06 | 2009-09-08 | David Paul Felsher | Information record infrastructure, system and method |
AUPQ993100A0 (en) | 2000-09-06 | 2000-09-28 | Software Engineering Australia (Western Australia) Limited | System and method for transmitting and storing sensitive data transmitted over a communications network |
US7165175B1 (en) | 2000-09-06 | 2007-01-16 | Widevine Technologies, Inc. | Apparatus, system and method for selectively encrypting different portions of data sent over a network |
US7143289B2 (en) | 2000-10-30 | 2006-11-28 | Geocodex Llc | System and method for delivering encrypted information in a communication network using location identity and key tables |
US7140044B2 (en) | 2000-11-13 | 2006-11-21 | Digital Doors, Inc. | Data security system and method for separation of user communities |
US7103915B2 (en) | 2000-11-13 | 2006-09-05 | Digital Doors, Inc. | Data security system and method |
US7349987B2 (en) | 2000-11-13 | 2008-03-25 | Digital Doors, Inc. | Data security system and method with parsing and dispersion techniques |
US7191252B2 (en) | 2000-11-13 | 2007-03-13 | Digital Doors, Inc. | Data security system and method adjunct to e-mail, browser or telecom program |
US7322047B2 (en) | 2000-11-13 | 2008-01-22 | Digital Doors, Inc. | Data security system and method associated with data mining |
US7313825B2 (en) | 2000-11-13 | 2007-12-25 | Digital Doors, Inc. | Data security system and method for portable device |
US7669051B2 (en) | 2000-11-13 | 2010-02-23 | DigitalDoors, Inc. | Data security system and method with multiple independent levels of security |
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 |
US20020080888A1 (en) | 2000-12-22 | 2002-06-27 | Li Shu | Message splitting and spatially diversified message routing for increasing transmission assurance and data security over distributed networks |
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 |
US20030023958A1 (en) | 2001-07-17 | 2003-01-30 | Patel Mukesh K. | Intermediate language accelerator chip |
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 |
US7228337B1 (en) | 2001-09-11 | 2007-06-05 | Cisco Technology, Inc. | Methods and apparatus for providing a network service to a virtual machine |
GB2381916B (en) | 2001-11-08 | 2005-03-23 | Ncr Int Inc | Biometrics template |
US7069464B2 (en) | 2001-11-21 | 2006-06-27 | Interdigital Technology Corporation | Hybrid parallel/serial bus interface |
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 |
JP4211282B2 (ja) | 2002-05-14 | 2009-01-21 | ソニー株式会社 | データ蓄積方法及びデータ蓄積システム、並びに、データ記録制御装置、データ記録指令装置、データ受信装置及び情報処理端末 |
US7111303B2 (en) | 2002-07-16 | 2006-09-19 | International Business Machines Corporation | Virtual machine operating system LAN |
US7428751B2 (en) | 2002-12-05 | 2008-09-23 | Microsoft Corporation | Secure recovery in a serverless distributed file system |
EP1576763B1 (en) | 2002-12-19 | 2015-09-30 | NTT Communications Corp. | Secret sharing scheme using exclusive or calculation |
JP4676695B2 (ja) * | 2002-12-19 | 2011-04-27 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | データ分割方法、データ分割装置およびコンピュータプログラム |
US20040123863A1 (en) | 2002-12-27 | 2004-07-01 | Yi-Hua Wang | Method of controlling oxygen inhaling through involuntary action of human and product thereof |
US7478427B2 (en) | 2003-05-05 | 2009-01-13 | Alcatel-Lucent Usa Inc. | Method and apparatus for providing adaptive VPN to enable different security levels in virtual private networks (VPNs) |
US7356818B2 (en) | 2003-06-24 | 2008-04-08 | International Business Machines Corporation | Virtual machine communicating to external device without going through other virtual machines by using a list of IP addresses managed only by a single virtual machine monitor |
US7596570B1 (en) | 2003-11-04 | 2009-09-29 | Emigh Aaron T | Data sharing |
US7346925B2 (en) | 2003-12-11 | 2008-03-18 | Microsoft Corporation | Firewall tunneling and security service |
US20050132060A1 (en) | 2003-12-15 | 2005-06-16 | Richard Mo | Systems and methods for preventing spam and denial of service attacks in messaging, packet multimedia, and other networks |
US7222062B2 (en) | 2003-12-23 | 2007-05-22 | Intel Corporation | Method and system to support a trusted set of operational environments using emulated trusted hardware |
JP2005250866A (ja) * | 2004-03-04 | 2005-09-15 | Takeshi Nakamura | 秘密情報保管システム |
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 |
US7174385B2 (en) | 2004-09-03 | 2007-02-06 | Microsoft Corporation | System and method for receiver-driven streaming in a peer-to-peer network |
US7797699B2 (en) | 2004-09-23 | 2010-09-14 | Intel Corporation | Method and apparatus for scheduling virtual machine access to shared resources |
US7472105B2 (en) | 2004-10-19 | 2008-12-30 | Palo Alto Research Center Incorporated | System and method for providing private inference control |
US7831995B2 (en) | 2004-10-29 | 2010-11-09 | CORE, SDI, Inc. | Establishing and enforcing security and privacy policies in web-based applications |
FR2878673B1 (fr) | 2004-11-26 | 2007-02-09 | Univ Picardie Jules Verne Etab | Systeme et procede de sauvegarde distribuee perenne |
US7573851B2 (en) | 2004-12-07 | 2009-08-11 | Adaptix, Inc. | Method and system for switching antenna and channel assignments in broadband wireless networks |
US8700729B2 (en) | 2005-01-21 | 2014-04-15 | Robin Dua | Method and apparatus for managing credentials through a wireless network |
US7188230B2 (en) | 2005-02-15 | 2007-03-06 | Hitachi, Ltd. | Method of assuring data integrity on storage volumes |
WO2006093021A1 (ja) | 2005-02-28 | 2006-09-08 | Nec Corporation | 通信装置、通信システム、通信方法、及びプログラム |
US20060282681A1 (en) | 2005-05-27 | 2006-12-14 | Scheidt Edward M | Cryptographic configuration control |
WO2006138696A2 (en) | 2005-06-17 | 2006-12-28 | Genizon Biosciences, Inc. | Genemap of the human genes associated with longevity |
US7627125B2 (en) | 2005-06-23 | 2009-12-01 | Efunds Corporation | Key loading systems and methods |
JP4321501B2 (ja) | 2005-06-29 | 2009-08-26 | ブラザー工業株式会社 | 画像形成装置 |
WO2007049267A1 (en) | 2005-10-27 | 2007-05-03 | Nds Limited | 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 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信装置および通信方法 |
US8069153B2 (en) | 2005-12-02 | 2011-11-29 | Salesforce.Com, Inc. | Systems and methods for securing customer data in a multi-tenant environment |
US20070157025A1 (en) | 2005-12-30 | 2007-07-05 | Intel Corporation | Method and system for providing security and reliability to collaborative applications |
US7649992B2 (en) | 2006-01-06 | 2010-01-19 | Fujitsu Limited | Apparatuses for encoding, decoding, and authenticating data in cipher block chaining messaging authentication code |
CN101395878A (zh) * | 2006-03-01 | 2009-03-25 | Nxp股份有限公司 | 基于信道相干带宽确定ofdm系统中的最大循环时延 |
US8108668B2 (en) | 2006-06-26 | 2012-01-31 | Intel Corporation | Associating a multi-context trusted platform module with distributed platforms |
US20080046752A1 (en) | 2006-08-09 | 2008-02-21 | Stefan Berger | Method, system, and program product for remotely attesting to a state of a computer system |
US8522018B2 (en) * | 2006-08-18 | 2013-08-27 | Fujitsu Limited | Method and system for implementing a mobile trusted platform module |
US8040850B2 (en) * | 2006-08-21 | 2011-10-18 | Qualcomm Incorporated | Advanced internet protocol with flash-OFDM methods and systems |
US7865741B1 (en) | 2006-08-23 | 2011-01-04 | Netapp, Inc. | System and method for securely replicating a configuration database of a security appliance |
US20080082670A1 (en) * | 2006-09-28 | 2008-04-03 | Microsoft Corporation | Resilient communications between clients comprising a cloud |
JP2008098894A (ja) * | 2006-10-11 | 2008-04-24 | Kddi Corp | 情報管理システム、情報管理方法、情報管理プログラム |
CN101569132B (zh) | 2006-11-07 | 2013-04-17 | 安全第一公司 | 用于分发数据和保护数据安全的系统和方法 |
US8060088B2 (en) | 2006-11-07 | 2011-11-15 | Nokia Corporation | Method, network element and communication system for optimized selection of an agent entity as well as modules of the network element |
EP2069995A1 (en) | 2006-12-05 | 2009-06-17 | Security First Corporation | Improved tape backup method |
US8958562B2 (en) | 2007-01-16 | 2015-02-17 | Voltage Security, Inc. | Format-preserving cryptographic systems |
US7827383B2 (en) | 2007-03-09 | 2010-11-02 | Oracle America, Inc. | Efficient on-chip accelerator interfaces to reduce software overhead |
US9461819B2 (en) * | 2007-05-23 | 2016-10-04 | Nec Corporation | Information sharing system, computer, project managing server, and information sharing method used in them |
US7926090B2 (en) | 2007-07-13 | 2011-04-12 | Erf Wireless, Inc. | Separate secure networks over a non-secure network |
WO2009020143A1 (ja) * | 2007-08-06 | 2009-02-12 | Nec Corporation | 伝送システムと方法ならびにプログラム |
WO2009025220A1 (ja) * | 2007-08-22 | 2009-02-26 | Nec Corporation | 秘密情報分散システム、方法及びプログラム並びに伝送システム |
US8135134B2 (en) | 2007-09-14 | 2012-03-13 | Security First Corp. | Systems and methods for managing cryptographic keys |
US8064605B2 (en) * | 2007-09-27 | 2011-11-22 | Intel Corporation | Methods and apparatus for providing upgradeable key bindings for trusted platform modules |
US20090097657A1 (en) | 2007-10-05 | 2009-04-16 | Scheidt Edward M | Constructive Channel Key |
US9779235B2 (en) | 2007-10-17 | 2017-10-03 | Sukamo Mertoguno | Cognizant engines: systems and methods for enabling program observability and controlability at instruction level granularity |
JP2009111437A (ja) | 2007-10-26 | 2009-05-21 | Hitachi Ltd | ネットワークシステム |
US8261265B2 (en) | 2007-10-30 | 2012-09-04 | Vmware, Inc. | Transparent VMM-assisted user-mode execution control transfer |
US8220029B2 (en) | 2007-11-13 | 2012-07-10 | Samsung Electronics Co., Ltd. | Method and system for enforcing trusted computing policies in a hypervisor security module architecture |
US7392403B1 (en) | 2007-12-19 | 2008-06-24 | International Business Machines Corporation | Systems, methods and computer program products for high availability enhancements of virtual security module servers |
CA2710868A1 (en) | 2008-01-07 | 2009-07-16 | Security First Corp. | Systems and methods for securing data using multi-factor or keyed dispersal |
EP2651100A1 (en) | 2008-02-22 | 2013-10-16 | Security First Corporation | Systems and methods for secure workgroup management and communication |
WO2009151888A2 (en) | 2008-05-19 | 2009-12-17 | Authentium, Inc. | Secure virtualization system software |
US8352740B2 (en) | 2008-05-23 | 2013-01-08 | Microsoft Corporation | Secure execution environment on external device |
US20100005028A1 (en) | 2008-07-07 | 2010-01-07 | International Business Machines Corporation | Method and apparatus for interconnecting a plurality of virtual world environments |
GB2463078B (en) * | 2008-09-02 | 2013-04-17 | Extas Global Ltd | Distributed storage |
US20100153703A1 (en) | 2008-12-17 | 2010-06-17 | David Dodgson | Storage security using cryptographic splitting |
EP2359250A2 (en) | 2008-11-17 | 2011-08-24 | Unisys Corporation | Simultaneous state-based cryptographic splitting in a secure storage appliance |
US8392682B2 (en) | 2008-12-17 | 2013-03-05 | Unisys Corporation | Storage security using cryptographic splitting |
US20100150341A1 (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 |
US7987262B2 (en) * | 2008-11-19 | 2011-07-26 | Accenture Global Services Limited | Cloud computing assessment tool |
US8151333B2 (en) | 2008-11-24 | 2012-04-03 | Microsoft Corporation | Distributed single sign on technologies including privacy protection and proactive updating |
US8738932B2 (en) * | 2009-01-16 | 2014-05-27 | Teleputers, Llc | System and method for processor-based security |
US8464252B2 (en) | 2009-02-27 | 2013-06-11 | Red Hat, Inc. | Per process virtual machines |
US8654971B2 (en) | 2009-05-19 | 2014-02-18 | Security First Corp. | Systems and methods for securing data in the cloud |
US8321688B2 (en) * | 2009-06-12 | 2012-11-27 | Microsoft Corporation | Secure and private backup storage and processing for trusted computing and data services |
CN101989212B (zh) | 2009-07-31 | 2015-01-07 | 国际商业机器公司 | 提供用于启动刀片服务器的虚拟机管理程序的方法和装置 |
US8826013B1 (en) * | 2009-09-23 | 2014-09-02 | Trend Micro Incorporated | Protection of customer data in cloud virtual machines using a central management server |
WO2011068738A2 (en) | 2009-11-25 | 2011-06-09 | Orsini Rick L | Systems and methods for securing data in motion |
US8627112B2 (en) | 2010-03-30 | 2014-01-07 | Novell, Inc. | Secure virtual machine memory |
CN103038750A (zh) | 2010-03-31 | 2013-04-10 | 安全第一公司 | 对移动中数据进行保护的系统和方法 |
CN102473220B (zh) | 2010-05-07 | 2015-06-17 | 松下电器产业株式会社 | 信息处理装置、信息处理方法以及程序分发系统 |
CA2807972A1 (en) | 2010-08-11 | 2012-02-16 | Security First Corp. | Systems and methods for secure multi-tenant data storage |
EP3015988A1 (en) | 2010-08-12 | 2016-05-04 | Security First Corp. | Systems and methods for secure remote storage of data |
-
2010
- 2010-05-19 US US12/783,276 patent/US8654971B2/en active Active
- 2010-05-19 JP JP2012511985A patent/JP5757536B2/ja not_active Expired - Fee Related
- 2010-05-19 EP EP10729961A patent/EP2433409A2/en not_active Withdrawn
- 2010-05-19 BR BRPI1013062A patent/BRPI1013062A2/pt not_active IP Right Cessation
- 2010-05-19 CN CN2010800217189A patent/CN102428686A/zh active Pending
- 2010-05-19 WO PCT/US2010/035377 patent/WO2010135412A2/en active Application Filing
- 2010-05-19 CN CN201410306525.8A patent/CN104079573A/zh active Pending
- 2010-05-19 CA CA2760251A patent/CA2760251A1/en not_active Abandoned
- 2010-05-19 AU AU2010249631A patent/AU2010249631B2/en not_active Ceased
-
2013
- 2013-11-18 US US14/083,333 patent/US9064127B2/en active Active
-
2014
- 2014-07-30 JP JP2014154491A patent/JP2014238599A/ja active Pending
-
2015
- 2015-03-04 JP JP2015042139A patent/JP6120895B2/ja active Active
- 2015-05-15 US US14/713,792 patent/US20150249687A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585334A (zh) * | 2003-08-21 | 2005-02-23 | 株式会社东芝 | 服务器设备,通信系统和给网络分配安全性策略的方法 |
CN101375284A (zh) * | 2004-10-25 | 2009-02-25 | 里克·L·奥尔西尼 | 安全数据分析方法和系统 |
CN101179356A (zh) * | 2007-11-28 | 2008-05-14 | 中国海洋石油总公司 | 一种数据发送、接收方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108028834A (zh) * | 2015-06-25 | 2018-05-11 | 胡雪松 | 用于安全文件传输的装置和方法 |
CN105573970A (zh) * | 2015-12-18 | 2016-05-11 | 航天恒星科技有限公司 | 一种数据包重构方法及装置 |
CN105573970B (zh) * | 2015-12-18 | 2020-03-17 | 航天恒星科技有限公司 | 一种数据包重构方法及装置 |
CN106603636A (zh) * | 2016-11-29 | 2017-04-26 | 中国银联股份有限公司 | 一种差错交易的标准化方法及装置 |
CN108809906A (zh) * | 2017-05-03 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 数据处理方法、系统及装置 |
CN111369711A (zh) * | 2018-12-25 | 2020-07-03 | 金联汇通信息技术有限公司 | 一种开锁方法、装置、电子设备及计算机可读存储介质 |
CN111786777A (zh) * | 2020-06-05 | 2020-10-16 | 京东数字科技控股有限公司 | 一种流式数据加解密方法、装置、系统及存储介质 |
CN111786777B (zh) * | 2020-06-05 | 2023-08-04 | 京东科技控股股份有限公司 | 一种流式数据加解密方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2433409A2 (en) | 2012-03-28 |
US20140150120A1 (en) | 2014-05-29 |
JP5757536B2 (ja) | 2015-07-29 |
JP6120895B2 (ja) | 2017-04-26 |
BRPI1013062A2 (pt) | 2016-04-05 |
US9064127B2 (en) | 2015-06-23 |
CA2760251A1 (en) | 2010-11-25 |
JP2014238599A (ja) | 2014-12-18 |
JP2015146587A (ja) | 2015-08-13 |
AU2010249631B2 (en) | 2016-02-18 |
CN102428686A (zh) | 2012-04-25 |
WO2010135412A3 (en) | 2011-02-03 |
WO2010135412A2 (en) | 2010-11-25 |
JP2012527838A (ja) | 2012-11-08 |
US20150249687A1 (en) | 2015-09-03 |
US8654971B2 (en) | 2014-02-18 |
AU2010249631A1 (en) | 2012-01-12 |
US20100299313A1 (en) | 2010-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102932136B (zh) | 用于管理加密密钥的系统和方法 | |
CN103270516B (zh) | 用于安全保护虚拟机计算环境的系统和方法 | |
CN103229450B (zh) | 用于安全多租户数据存储的系统和方法 | |
CN101939946B (zh) | 使用多因素或密钥式分散对数据进行保护的系统和方法 | |
CN1833398B (zh) | 安全数据解析器方法和系统 | |
CN102609640B (zh) | 安全数据分析方法和系统 | |
CN104079573A (zh) | 用于安全保护云中的数据的系统和方法 | |
CN103563325B (zh) | 用于保护数据的系统和方法 | |
CN103039057B (zh) | 对移动中数据进行保护的系统和方法 | |
CN103636160B (zh) | 安全文件共享方法与系统 | |
CN103609059B (zh) | 用于安全数据共享的系统和方法 | |
CN103384196A (zh) | 安全数据解析方法和系统 | |
CN105224417A (zh) | 改进的磁带备份方法 | |
CN104917780A (zh) | 对移动中数据进行保护的系统和方法 | |
CN103229165A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141001 |