安全数据分析方法和系统的制作方法

文档序号:6553243阅读:324来源:国知局
专利名称:安全数据分析方法和系统的制作方法
技术领域
本发明总体上涉及一种用于保护数据不被未授权访问或使用的系统。
背景技术
在当今社会,个人和商业机构在计算机系统上并且通过计算机系 统执行越来越多的活动。包括专有和非专有计算机网络的这些计算机 系统通常对所有类型的敏感数据进行存储、归档和传输。因此,存在 不断增长的需要来保护在这些系统上存储并传输的数据不被读取或者 被泄漏。
保护计算机系统的一种公知解决方案是提供登录和密码功能。然 而,已证实密码管理因相当大百分比的与密码发布有关的帮助桌面调 用而成本非常高。此外,密码提供很低的安全性,因为它们通常存储 在易受不适当访问(例如经由暴力(brute-force)攻击)的文档中.
用于保护计算机系统的另一解决方案是提供加密基础结构。加密
术通常是指通过将数据转换或加密成不可读格式来保护数据。只有那 些拥有用于该加密的一个或多个密钥的人可以将该数据解密成可用格 式。加密术可用于识别用户,如鉴权,以允许访问许可,如授权,以 创建数字证书和签名,等等。 一种普遍的加密系统是一种^^钥系统, 其使用两个密钥,即,对于每个人已知的公钥和仅对于其个人所有者
或者商业机构所有者已知的私钥。通常,以一个密钥加密的数据被以 另一密钥解密,并且任何一个密钥都不能从另一个密钥重新产生。
不幸的是,即使上述典型的公钥加密系统的安全性也仍然高度依 赖于用户。例如,加密系统通过例如用户的浏览器向用户发布私钥。 这样,不老练的用户通常在可由他人通过诸如因特网的开放计算机系 统访问的硬盘上存储私钥。另一方面,用户可能对于包含他们的私钥 的文档选择拙劣的名称,例如"密钥."。以上及其它动作的结果是使 得所述一个或多个密钥易于被泄漏。
除了以上泄漏之外,用户可能将他或她的私钥保存在被配置有归 档或备份系统的计算机系统上,这有可能导致该私钥的拷贝经过多个 计算机存储设备或者其它系统。这种安全破坏通常称为"密钥移植"。 类似于密钥移植,许多应用大部分通过简单的登录和密码访问来提供 对于用户密钥的访问。如上所述的,登录和密钥访问通常不能提供充 分的安全性。
用于增加上述加密系统的安全性的一种解决方案是包括生物测 定作为鉴权和授权的一部分。生物测定通常包括可通过自动系统检查 的可测量身体特征,如指故或话音,其中该自动系统例如进行指紋图 案或话音模式的模式匹配或识别。在这些系统中,用户的生物测定和/ 或密钥可以存储在移动计算设备上,例如智能卡、膝上型电脑、个人 数字助理或者移动电话上,从而使得该生物测定或密钥可以在移动环 境中使用。
以上移动生物测定加密系统仍然具有各种缺点。例如,移动用户 可能丢失或损坏智能卡或便携式计算设备,由此完全切断了他或她对 于有可能重要的数据的访问。另选地,恶意者可能偷窃移动用户的智 能卡或便携式计算设备,并使用其来有效地窃取移动用户的数字身份
凭证(credential)。另一方面,便携式计算设备可以连接到开放系统, 如因特网,并且与密码一样,存储有生物测定的文档可能易于通过用 户的疏忽而泄漏给安全攻击者或恶意攻击者。

发明内容
基于上述讨论,需要提供一种加密系统,其安全性独立于用户, 同时仍然支持移动用户。
因此,本发明的一个方面提供一种用于保护实质上任何类型的数 据不被未授权访问或使用的方法。该方法包括对所述要保护的数据进 行分析、分割和/或分离到两个或多个部分中的一个或多个步骤。所述 方法还包括对要保护的数据进行加密。该数据的加密可以在数据的第 一分析、分割和/或分离之前或之后执行。此外,所述加密步骤可以对 于所述数据的一个或多个部分重复。类似地,可对于一个或多个数据 部分重复分析、分割和/或分离步骤。该方法另选地还包括存储在一个 位置或者多个位置中被加密的经分析、分割和/或分离的数据。该方法 可选地还包括将受保护数据重构或重新组合成其原始形式以用于授权 访问或使用。该方法可以并入任何计算机、服务器、引擎等的操作中, 该计算机、服务器、引擎能够执行该方法的期望步骤。
本发明的另一方面提供了一种实际上保护任何类型的数据不被
未授权访问和使用的系统。该系统包括数据分割模块,加密处理模 块,以及可选地,数据组合模块。在一个实施例中,该系统可以进一 步包括用于存储安全数据的一个和多个数据存储设施。
因此,本发明的一个方面是提供一种安全服务器或信任引擎,其 具有服务器中心密钥,或者换言之,将加密密钥和用户鉴权数据存储 在服务器上。根据该实施例,用户访问信任引擎,以执行鉴权和加密 功能,该鉴权和加密功能例如是但不限于鉴权、授权、数字签名以及 生成、存储和检取证书、加密、类似公证和类似委托的动作等,
本发明的另一方面是提供可靠的值得信任的鉴权处理。此外,在 值得信赖的肯定鉴权之后,可以采取各种不同动作,从提供加密技术, 到系统或设备授权和处理,到允许使用或控制一个或很多电子设备。
本发明的另 一方面是将加密密钥和鉴权数据提供在不会使其丟 失、窃取或被危及安全的环境中,由此有利地避免对于连续重新发布 和管理新密钥和鉴权数据的需要。根据本发明的另一方面,信任引擎
允许用户对多个活动、商家和/或鉴权请求使用一对密钥。根据本发明 的又一方面,信任引擎执行至少一个加密处理步骤,该步骤例如是但 不限于在系统侧进行加密、鉴权或者签名,由此允许客户或用户可以 仅拥有最少的计算资源。
根据本发明的又一方面,信任引擎包括用于存储每个加密密钥和 鉴权数据的各部分的一个或多个存储机构。这些部分是通过数据分割 处理创建的,该处理禁止在没有来自一个存储机构中的多于一个位置 的或来自多个存储机构的预定部分的情况下进行重构。根据另一实施 例,多个存储机构可以在地理上远离,以使得在一个存储机构处,粗 心的雇员或者因其它原因而被危及安全的系统不会提供对于用户密钥 或鉴权数据的访问。
根据又一实施例,鉴权处理有利地允许信任引擎并行处理多个鉴 权活动。根据又一实施例,信任引擎有利地可以跟踪多次失败访问尝 试,由此限制恶意攻击者可能尝试搅乱系统的次数。
根据又一实施例,该信任引擎可以包括多个具体实例,其中每个 信任引擎可以预测处理负荷并与其它引擎分担该处理负荷。根据又一 实施例,信任引擎可以包括用于轮询多个鉴权结果以确保多于一个系 统对用户进行鉴权的冗余模块,
因此,本发明的一个方面包括安全加密系统,其可以远程访问, 以存储任何类型的数据,包括但不限于与多个用户关联的多个加密私 钥。该加密系统将多个用户中的每一个与来自多个加密私钥中的一个 或多个不同密钥进行关联,并使用相关联的一个或多个不同密钥对于 每个用户执行加密功能,而无需将多个加密私钥发行给用户。该加密 系统包括存储机构系统,该存储机构系统具有存储待保护数据的至少 一个服务器,该待保护数据例如是多个加密私钥和多个注册鉴权数据。 每个注册鉴权数据标识多个用户之一,并且所述多个用户中的每一个 与来自多个加密私钥的一个或多个不同密钥相关联。该加密系统还可 以包括鉴权引擎,该鉴权引擎将由所述多个用户之一接收的鉴权数据 与对应于所述多个用户之一并从存储机构系统接收的注册鉴权数据进
行比较,由此产生鉴权结果。该加密系统还可以包括加密引擎,当鉴 权结果指示出所述多个用户之一的适当标识时,该加密引擎代表所述 多个用户之一使用从存储机构系统接收的相关联一个或多个不同密 钥,执行加密功能。该加密系统还可以包括相连的事务引擎,用于将 数据从所述多个用户路由到存储机构服务器系统、鉴权引擎和加密引 擎。
本发明的另一方面包括安全加密系统,该系统可选地可远程访 问。该加密系统包括存储机构系统,该存储机构系统具有存储至少一 个私钥和任何其它数据的至少一个服务器,该其它数据例如是但不限 于多个注册鉴权数据,其中每个注册鉴权数据标识可能的多个用户之 一。该加密系统可选地可能还包括鉴权引擎,其将由用户接收的鉴权 数据与对应于用户并从存储机构系统接收的注册鉴权数据进行比较, 由此产生鉴权结果。该加密系统还包括加密引擎,当鉴权结果指示出 所述用户的适当标识时,该加密引擎代表所述用户至少使用所述私钥, 执行加密功能,所述私钥是从存储机构系统接收的。该加密系统可选 地还可以包括相连的事务引擎,用于将数据从所述用户路由到其它引 擎或系统,该其它引擎或系统例如是但不限于存储机构服务器系统、 鉴权引擎和加密引擎。
本发明的另一方面包括便于实现加密功能的方法,该方法包括将
多个用户中的一个用户与来自存储在诸如安全^L务器的安全位置上的 多个加密私钥中的一个或多个密钥相关联,该方法还包括从用户接收 鉴权数据,将该鉴权数据与对应于该用户的鉴权数据进行比较,由此 验证用户的身份。该方法还包括使用所述一个或多个密钥来执行加密 功能,而无需将所述一个或多个密钥发行给该用户。
本发明的另 一方面包括一种用于通过用户的注册鉴权数据的安 全存储来唯一地识别用户的鉴权系统。该鉴权系统包括一个或多个数
据存储设施,其中每个数据存储设施包括计算机可访问存储介质,该 介质存储注册鉴权数据的各部分中的至少一部分。该鉴权系统还包括 鉴权引擎,该鉴权引擎与所述一个或多个数据存储设施进行通信。该
鉴权引擎包括数据分割模块,该模块对注册鉴权数据进行操作以产 生多个部分;数据组合模块,其处理来自所述数据存储设置中的至少 一个的所述多个部分,以组合注册鉴权数据;以及数据比较器模块, 其从用户接收当前鉴权数据,并将当前鉴权数据与组合后的注册鉴权 数据进行比较以确定用户是否已被唯一地标识。
本发明的另一方面包括一种加密系统。该加密系统包括一个或多 个数据存储设施,其中每个数据存储设施包括计算机可访问存储介质, 该计算机可访问存储介质存储一个或多个加密密钥的至少 一个部分。 该加密系统还包括加密引擎,该加密引擎与数据存储^t施通信。该加 密引擎还包括数据分割模块,该数据分割模块对加密密钥进行操作 以创建多个部分;数据组合模块,其对来自所述数据存储设施中的至 少一个的所述部分进行处理,以组合加密密钥;以及加密处理模块, 其接收经组合的加密密钥并利用其执行加密功能。
本发明的另一方面包括一种存储任何类型的数据的方法,该数据 包括但不限于在地理上远离的安全数据存储设施中的筌权数据,由此,
保护数据不会因任何单个的数据存储设施的安全被危及而收到被危及 安全。该方法包括在信任引擎中接收数据;在该信任引擎出将所述 数据与笫 一基本随机值进行合并以形成第 一经合并值;以及将所述数
据与第二基本随机值进行合并以形成第二合并值。该方法包括创建 所述第一基本随机值与所述第二合并值的第 一配对;创建所述第一基 本随机值与所述第二基本随机值的第二配对;并且将所述第一配对存 储在第一安全数据存储设施中。该方法包括在远离第一安全数据存储 设施的第二安全数据存储设施中存储所述第二配对。
本发明的另一方面包括一种存储任何类型数据的方法,该数据包 括但不限于鉴权数据,该方法包括接收数据;将所述数据与笫一位 集组合来形成第二位集;并且将所述数据与第三位集组合来形成第四 位集。该方法还包括创建第一位集与第三位集的第一配对。该方法还 包括创建第一位集与第四位集的第二配对,并且将第一和第二配对中 的 一个存储在第 一计算机可访问存储介质中。该方法还包括在第二计
算机可访问存储介质中存储所述笫 一和第二配对中的另 一个。
本发明的另 一方面包括将加密数据存储在地理上远离的存储数 据存储设施中,由此保护加密数据不因任何单独的数据存储设施的安
全被危及而被危及安全。该方法包括在信任引擎接收加密数据;在 该信任引擎处将该加密数据与笫 一基本随机值进行结合来形成笫 一结 合值;以及将加密数据与第二基本随机值结合来形成笫二结合值。该 方法还包括:创建第一基本随机值与第二结合值的第一配对;创建第 一基本随机值与第二基本随机值的第二配对;并且将所述笫一配对存 储在第一安全数据存储设施中。该方法还包括将第二配对存储在远离 第 一安全数据存储设施的第二安全数据存储设施中。
本发明的另一方面包括存储加密数据的方法,该方法包括接收 鉴权数据,并将该鉴权数据与第一位集进行组合来形成第二位集。该 方法还包括将所述加密数据与第三位集进行组合来形成笫四位集; 创建第一位集与第三位集的笫一配对;以及创建第一位集与第四位集 的第二配对。该方法还包括将第一和第二配对中的一个存储在第一计 算机可访问存储介质中,并且将第 一和笫二配对中的另 一个存储在第 二计算机可访问存储介质中。
本发明的另一方面包括一种在加密系统中处理任何类型或形式 的敏感数据的方法,其中该敏感数据以可用形式只在授权用户的动作 期间存在,所述授权用户采用该敏感数据,该方法还包括在软件模块 中从第一计算机可访问存储介质接收基本随机的或经加密的敏感数 据,并且在该软件模块中从一个或多个其它计算机可访问存储介质接 收基本随机的或经加密的数据,该数据可以是也可以不是敏感数据。 该方法还包括在该软件模块中处理基本随机的预加密的敏感数据以及 基本随机的或经加密的数据(其可以是也可以不是敏感数据),以组合 该敏感数据并在软件引擎中采用该敏感数据来执行动作。该动作包括 但不限于对用户进行鉴权和执行加密功能中的 一个。
本发明的另一方面包括一种安全鉴权系统。该安全鉴权系统包括 多个鉴权引擎。每个鉴权引擎接收被设计为将用户唯一标识到一确定
度级别的注册鉴权数据。每个鉴权引擎接收当前鉴权数据,以与注册 鉴权数据进行比较,并且每个鉴权引擎确定鉴权结果。该安全鉴权系 统还包括冗余系统,该冗余系统接收所述鉴权引擎中至少两个的鉴权 结果,并确定用户是否被唯一标识。
本发明的另一方面包括一种运转中的安全数据系统,通过该系 统,数据可以在不同的部分中传输,这些不同部分被根据本发明而保 护,以使得任何一个变得被危及安全的部分不会提供对于恢复原始数 据而言的充分数据。这可以被应用于任何数据传输,无论其是有线的、 无线的还是物理的。
本发明的另 一方面包括将本发明的安全数据分析器集成到任何
适当的存储数据或者传送数据的系统中。例如,电子邮件系统、RAID 系统、视频广播系统、数据库系统或者任何其它适当系统可以具有在 任何适当级别集成的安全数据分析器。
本发明的另 一方面包括使用任何适当的分析和分割算法来生成 多份数据。可以采用随机、伪随机、确定性的、或者它们的任意组合 来分析和分割数据。


下面将结合附图更具体地描述本发明,这些附图是为了例示而不 是限制本发明,图中
图l例示了根据本发明实施例的多个方面的加密系统的框图; 图2例示了根据本发明实施例的多个方面的图1的信任引擎的框
图3例示了根据本发明实施例的多个方面的图2的事务引擎的框
图4例示了根据本发明实施例的多个方面的图2的存储机构 (depository)的框图5例示了根据本发明实施例的多个方面的图2的鉴权引擎的框
图6例示了根据本发明实施例的多个方面的图2的加密引擎的框
图7例示了根据本发明实施例的多个方面的存储机构系统的框
图8例示了根据本发明实施例的多个方面的数据分割处理的流程
图9 a面例示了根据本发明实施例的多个方面的注册处理的数据
流;
图9b面例示了根据本发明实施例的多个方面的互操作性处理的 流程图10例示了根据本发明实施例的多个方面的鉴权处理的数据流; 图11例示了根据本发明实施例的多个方面的签名处理的数据流; 图12例示了根据本发明另一实施例的多个方面的加密/解密处理 的数据流;
图13例示了根据本发明另一实施例的多个方面的信任引擎系统 的简化框图14例示了根据本发明另一实施例的多个方面的信任引擎系统 的筒化框图15例示了根据本发明实施例的多个方面的图14的冗余模块的
框图16例示了根据本发明实施例的一个方面的用于评估鉴权的处
理;
图17例示了本发明的图16所示的一个方面的用于对鉴权赋予值 的处理;
图18例示了图17所示的本发明一个方面的用于进行信任仲裁的 处理;以及
图19例示了根据本发明实施例的多个方面的用户与商家之间的 示例交易,其中最初的基于万维网的联系导致双方签订销售协议。
图20例示了具有加密服务提供商模块的示例用户系统,该模块
给用户系统提供安全功能。
图21例示了通过将加密主密钥与数据一起进行加密和存储,来 对数据进行分析、分割和/或分离的处理。
图22例示了通过独立于数据而对加密主密钥进行加密和存储, 来对数据进行分析、分割和/或分离的处理。
图23例示了通过将加密主密钥与数据一起进行加密和存储,来 对数据进行分析、分割和/分离的中间密钥处理。
图24例示了通过独立于数据而对加密主密钥进行加密和存储, 来对数据进行分析、分割和/分离的中间密钥处理。
图25例示了通过小工作组使用本发明的加密方法和系统。
图26是根据本发明一个实施例的采用安全数据分析器的例示性 物理标记(token)安全系统的框图。
图27是根据本发明一个实施例的其中将安全数据分析器集成到 系统中的例示性布置的框图。
图28是根据本发明一个实施例的例示性运转中的数据系统的框图。
图29是根据本发明一个实施例的另一例示性运转中的数据系统 的框图。
困30-32是根据本发明一个实施例的集成有安全数据分析器的 例示性系统的框图。
图33是根据本发明一个实施例的用于分析和分割数据的例示性 处理的处理流程图。
图34是根据本发明一个实施例的用于将数据多个部分恢复为原 始数据的例示性处理的处理流程图。
图35是根据本发明一个实施例的用于在位级别分割数据的例示 性处理的处理流程图。
具体实施例方式
本发明的一个方面是提供加密系统,其中一个或多个安全服务器
或者信任引擎存储加密密钥和用户鉴权数据。通过网络访问信任引擎 来访问传统加密系统的功能,然而,该信任引擎并不发布实际密钥和 其它鉴权数据,因此这些密钥和数据保持安全。这种以服务器为中心 的密钥和鉴权数据存储提供独立于用户的安全性、可移植性
(portability)、可用性和简洁性。
因为用户可以确信或者信任加密系统来进行用户和文档鉴权和 其它加密功能,所以可以将各种功能并入该系统中。例如,信任引擎 提供商可以通过如下操作来确保不会出现违约例如对协议参与者进 行鉴权、代替或者对于参与者以数字方式签订协议、以及存储由每个 参与者以数字方式签订的协议的记录。此外,加密系统可以监控协议 并基于例如价格、用户、商家、地理位置、使用地点等来确定采用各 种鉴权级别。
为了便于完全理解本发明,剩下的详细说明参照附图描述本发 明,其中在所有附图中,相同的要素以相同的标号来表示。
图1例示了根据本发明实施例的多个方面的加密系统100的框 图。如图1所示,该加密系统100包括用户系统105、信任引擎110、 认证机构115以及商家系统120,它们通过通信链路125进行通信。
根据本发明的一个实施例,用户系统105包括具有一个或多个微 处理器的传统通用计算机,该微处理器例如为基于Intel的处理器,此 外,用户系统105包括适当的操作系统,例如能够包括图形或窗口的 操作系统,如Windows、 Unix、 Linux等。如困l所示,用户系统105 可以包括生物测定设备107。该生物测定设备107有利地可以捕获用 户的生物测定信息并将该捕获的生物测定信息传输到信任引擎110。 根据本发明的一个实施例,生物测定设备有利地可以包括具有与在 1997年9月 5日提交的题为"RELIEF OBJECT IMAGE GENERATOR"的美国专利申请第08/926,277号、2000年4月26日 提交的题为"IMAGING DEVICE FOR A RELIEF OBJECT AND SYSTEM AND METHOD OF USING THE IMAGE DEVICE"的美国 专利申请第09/558,634号、1999年11月5日提交的题为"RELIEF
OBJECT SENSOR ADAPTOR"的美国专利申请第09/435,011号以及 2000年1月5日提交的题为"PLANAR OPTICAL IMAGE SENSOR AND SYSTEM FOR GENERATING AN ELECTRONIC IMAGE OF ARELIEF OBJECT FOR FINGERPRINT READING"的美国专利申 请第09/477,943号中公开的属性和特征类似的属性和特征的设备,所 有这些申请都由当前受让人所有,并且通过引用将所有这些申请并入 本文中。
此外,用户系统105可以经由传统服务提供商连接到通信链路 125,该传统服务提供商是例如拨号数字订户线(DSL)、电缆调制解 调器、光纤连接等。根据另一实施例,用户系统105经由诸如局域网 或广域网的网络互连,而连接到通信链路125。根据一个实施例,操 作系统包括TCP/IP协议栈,该协议栈处理经过通信链路125的所有 输入和输出消息业务量。
虽然参照以上实施例来公开用户系统105,但是本发明并不旨在 限于此。相反,本领域技术人员将根据本文的公开认识到该用户系统 105的许多另选实施例,包括能够发送或接收来自另一计算机系统的 信息的几乎任何计算设备。例如,用户系统105可以包括但不限于可 以与通信链路125交互的计算机工作站,交互式电话,交互式商亭, 诸如数字助理、移动电话、膝上型电脑等的个人移动计算设备,无线 通信设备,智能卡,嵌入式计算设备等。在这些另选系统中,操作系 统将可能不同,并且将适于特定设备。然而,根据一个实施例,操作 系统有利地继续提供对于建立与通信链路125的通信而言所需的适当
通信协议o
图l例示了信任引擎110。根据一个实施例,信任引擎110包括 用于访问并存储敏感信息的一个或多个安全服务器,这些敏感信息可 以是任何类型或形式的数据,例如但不限于音频、视频、用户鉴权数 据以及公共和私有加密密钥。根据一个实施例,该鉴权数据包括被设 计为唯一地标识加密系统100的用户的数据。例如鉴权数据可以包括 用户身份证号、 一个或多个生物测定信息,以及由信任引擎100或用
户生成的但最初是由用户在注册时回答的一 系列问题和答案。上述问 题可以包括人口统计数据,如出生地、地址、周年纪念日等,个人数 据,如母亲的婚前姓、喜爱的冰淇淋等,或者其它被设计为唯一标识
该用户的其它数据。信任引擎110将与当前事务相关的用户的鉴权数
据与在更早时候,例如注册时,提供的鉴权数据进行比较。信任引擎
110有利地可能要求用户在进行每次事务时产生鉴权数据,或者信任 引擎110有利地可能允许用户定期地产生鉴权数据,例如在一系列事
务开始时,或者在登录到特定商家网站时.
根据其中用户产生生物测定信息数据的该实施例,用户将物理特 性,例如但不限于面部扫描、手部扫描、耳部扫描、虹膜扫描、视网
膜扫描、血管图案、DNA、指紋、笔迹或话音,提供给生物测定设备 107。生物测定^L备有利地产生物理特性的电子图案或生物测定信息。 该电子图案经由用户系统105传输到信任引擎110以用于注册目的或 者鉴权目的。
一旦用户产生适当的鉴权数据并且信任引擎110确定该鉴权数据 (当前鉴权数据)与在注册时提供的鉴权数据(注册鉴权数据)之间 确实匹配,信任引擎110对用户提供完全的加密功能。例如,将适当 鉴权的用户有利地可以采用信任引擎110来进行散列、数字签名、加 密和解密(通常统称为加密),创建或发布数字证书等,然而,在加 密功能中使用的加密私钥将在信任引擎110的外部不可获得,由此确 保加密密钥的完整性。
根据一个实施例,信任引擎110产生并存储加密密钥.根据另一 实施例,至少一个加密密钥与每个用户相关。此外,当加密密钥包括 7〉钥技术时,与用户相关的每个私钥是在信任引擎110内产生的,而 不是从信任引擎110发行的。由此,只要用户访问了信任引擎110, 用户就可以使用他或她的私钥或公钥来进行加密功能。这种远程访问 有利地允许用户保持完全的移动并且实际上通过任何因特网连接来访 问加密功能,该任何因特网连接例如是蜂窝电话和卫星电话、商亭、 膝上型计算机、旅馆房间等。
根据另 一实施例,信任引擎110使用为信任引擎110产生的密钥 对来进行加密功能。根据该实施例,信任引擎110首先对用户进行鉴
权,在用户已适当地产生了与注册鉴权数据匹配的鉴权数据之后,信
任引擎110使用其自己的加密密钥对来代替经鉴权的用户进行加密功能。
本领域技术人员将根据本文的公开认识到,加密密钥有利地可以 包括一些或全部对称密钥、公钥和私钥。此外,本领域技术人员将根
据本发明的公开i^识到,上述密钥可以利用可从诸如RSA、 ELGAMAL等的商用技术获得的多种算法来实现。
图l还例示了i人证机构115。根据一个实施例,认证机构115有 利地可以包括发行数字证书的信任的第三方组织或公司,该数字证书 例如是VeriSign、 Baltimore、 Entrust等。该信任引擎110有利地可 以通过一个或多个传统数字证书协议,例如PKCS10,来将对于数字 证书的请求传送到认证机构115。作为响应,认证机构115将按照一 个或多个不同的协议,例如PKCS7,发布数字证书。根据一个实施例, 信任引擎110请求来自若干个或所有著名的认证机构115的数字证书, 以使得信任引擎110能够访问与任何请求方的证书标准对应的数字证 书。
根据另一实施例,信任引擎110内部地进行证书发行,在该实施 例中,信任引擎110可以在证书被请求时,例如在生成密钥时或者以 进行请求时所要求的证书标准,访问认证系统以生成证书,和/或可以 内部地生成证书。将在下面更为具体地/>开信任引擎110。
图l还例示了商家系统120。根据一个实施例,商家系统120有 利地包括万维网服务器。典型的万维网服务器通常利用若干因特网标 记语言或者文档格式标准,如超文本标记语言(HTML)或可扩展标 记语言(XML),在因特网上提供内容。万维网服务器接受来自像 Netscape和Internet Explorer这样的浏览器的请求,然后返回适当的 电子文档。可以使用多种服务器或客户侧技术来增强万维网的除了能 够传输标准电子文档之外的能力。例如,这些技术包括公共网关结构
(Common Gateway Interface CGI)、安全套接字层(Secure Sockets Layer SSL )安全性以及动态服务器页面(Active Server Pages ASPs )。 该商家系统UO有利地可以提供与商业、个人、教育或其它事务有关 的电子内容。
虽然参照以上实施例公开了商家系统120,但是本发明并不旨在 限于此。相反,本领域技术人员将根据本文的公开意识到商家系统120 有利地可以包括参照用户系统105或其组合描述的任何设备。
图1还例示了连接用户系统105、信任引擎110、认证机构115 和商家系统120的通信链路125。根据一个实施例,通信链路125优 选地包括因特网,在;^^开全文中使用的因特网是全球计算机网络。 本领域普通技术人员公知的因特网的结构包括骨干网以及从该骨干网 分支出来的多个网络。这些分支进而具有从其分支出来的多个网络等。 路由器在网络层之间,也就是从网络到网络,移动信息分组,直到分 组到达其目的地附近为止。目的地网络的主机将该信息分组从该目的 地导向适当的终端或节点。在一个有利实施例中,因特网路由集线器
系统(DNS )服务器。路由集线器经由高速通信链路连接到一个或多 个其它路由集线器。
因特网的一个通用部分是万维网(World Wide Web ).该万维 网包含不同的计算机,这些计算机存储能够显示图形和文本信息的文 档。这些在万维网上提供信息的计算机一般称为"网站"。网站是由 具有相关电子页面的因特网地址定义的,该电子页面可以由统一资源 定位符(URL)标识。通常,电子页面是组织文本、图形图像、音频、 视频等的呈现的文档。
虽然以优选实施例公开了通信链路125,但是本领域技术人员将 根据文本的公开意识到,通信链路125可以包括宽范围的交互式通信 链路。例如,通信链路125可以包括交互式电视网络、电话网络、无 线数据传输系统、双向电缆系统、定制的私有或公共计算机网络、交 互式商亭网络、自动讲话机网络、直接链路、卫星或蜂窝网络等。
图2例示了根据本发明实施例的多个方面的图1的信任引擎110 的框图。如图2所示,信任引擎110包括事务引擎205、存储机构210、 鉴权引擎215和加密引擎220。根据本发明的一个实施例,信任引擎 110还包括大容量存储设备225。如图2进一步所示的,事务引擎205 与存储机构210、鉴权引擎215和加密引擎220以及大容量存储装置 225进行通信。此外,存储机构210与鉴权引擎215、加密引擎220 和大容量存储装置225进行通信。此外,鉴权引擎215与加密引擎220 进行通信。根据本发明的一个实施例,前述通信中的一些或全部有利 地可以包括将XML文档传送到与接收设备对应的IP地址。如前所述, XML文档有利地允许设计者创建他们自己的定制文档标签,使得可以 对多个应用之间的数据进行定义、传送、确认和解释。此外,前述通 信中的一些或全部可以包括传统SSL技术。
根据一个实施例,交易引擎205包括数据路由设备,例如可从 Netscape, Microsoft, Apache等获得的传统万维网服务器。例如,万 维网服务器有利地可以接收来自通信链路125的输入数据。根据本发 明的一个实施例,输入数据被寻址到信任引擎110的前端安全系统。 例如,前端安全系统有利地可以包括防火墙、搜索已知攻击简档 (profile)的入侵检测系统,和/或病毒扫描仪。在跳过前端安全系统 之后,数据被事务引擎205接收,并且被路由到存储结构210、鉴权 引擎215、加密引擎220和大容量存储装置225中的一个.此外,事 务引擎205监测来自鉴权引擎215和加密引擎220的输入数据,并将 该数据经由通信链路125路由到特定系统,例如,事务引擎加5有利 地可以将数据路由到用户系统105、认证机构115或商家系统120。
根据一个实施例,使用常规HTTP路由技术,例如采用URL或 同一资源指示符(URI),来路由数据。URI类似于URL,但是URI 一般指示文件或动作的源,例如可执行文件、脚本等。因此,才艮据所 述一个实施例,用户系统105、认证机构115、商家系统120以及信任 引擎210的组件有利地包括对于事务引擎205的通信URL或URI内 的充分数据,以适当地将数据路由通过加密系统。虽然参照优选实施例公开了数据路由,但是本领域技术人员将意
识到还有大量可能地数据路由方案或策略。例如,XML或其它数据分 组有利地可以被解包并且利用它们的格式、内容等对它们进行识别, 以使得事务引擎205可以适当地将数据路由通过信任引擎110。此外, 本领域技术人员将意识到,数据路由有利地可以适于符合特定网络系 统(例如,当通信链路125包括局部网络时)的数据传输协议。
根据本发明的又一实施例,事务引擎205包括传统SSL加密技 术,以使得前述系统可以在特定通信期间利用交易引擎205对自己进 行鉴权,或者反之。如在本公开中使用的,术语"1/2SSL"是指其中 对服务器(但是无需对客户)进行SSL鉴权的通信,术语"FULL SSL" 是指其中对客户和服务器进行SSL鉴权的通信。当当前公开使用术语 "SSL"时,通信可以包括1/2 SSL或者FULL SSL。
当亊务引擎205将数据路由到加密系统100的各种部件时,事务 引擎205有利地可以创建审查跟踪(audit trail)。根据一个实施例, 审查跟踪包括至少由事务引擎205通过加密系统100路由的该种类型 和格式的数据的记录。这种检查数据有利地可以存储在大容量存储装 置225中。
图2还例示了存储机构210。根据一个实施,存储机构210包括 一个或多个数据存储设施,例如目录服务器、数据库服务器等。如图 2所示,存储机构210存储加密密钥和注册鉴权数据,加密密钥有利 地可以对应于信任引擎110,或者对应于加密系统100地用户,如用 户或商家。注册鉴权数据有利地可以包括被设计为唯一标识用户地数 据,如用户ID、密码、问题的答案、生物测定信息数据等。该注册鉴 权数据有利地可以在用户注册时或者其它另选的随后时刻获取。例如, 信任引擎110可以包括注册鉴权数据的定期或其它更新或者重新发 行。
根据一个实施例,从事务引擎205到鉴权引擎215和加密引擎220 以及来自鉴权引擎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中。存储机构检查追踪数据与事务引擎205的数据的类似之 处在于检查追踪数据包括由存储机构210接收的请求机器响应的记 录。此外,大容量存储装置225可以用于存储其中包含有用户的公钥 的数字证书。
虽然参照优选和另选实施例公开了信任引擎110,但是本发明并 不旨在由此进行限制。相反,本领域技术人员将在本文的公开中意识 到对于信任引擎110的许多另选。例如,信任引擎110有利地可以只 进行鉴权,或者另选的,只进行鉴权功能中的一些或全部,如数字加 密和解密。根据这种实施例,鉴权引擎215和加密引擎220中的一个 有利地可以被去除,由此创建对于信任引擎110的更为简洁的设计。 此外,加密引擎220还可以与认证机构通信,已使得认证机构被嵌入 信任引擎110中。根据又一实施例,信任引擎110有利地可以进行鉴 权以及一个或多个加密功能,例如数字签名。
图3例示了根据本发明实施例的多个方面的图2的事务引擎205 的框图。根据该实施例,事务引擎205包括具有处理线程和侦听线程
的操作系统305。操作系统305有利地可以类似于在诸如可从Apache 获得的万维网服务器的传统大体积服务器中找到的操作系统。侦听线 程监测来自通信链路125、鉴权引擎215和加密引擎220中的一个的 输入通信以发现输入数据流。处理线程识别输入数据流的特定数据结 构,例如上述数据结构,由此将输入数据路由到通信链路125、存储 机构210、鉴权引擎215、加密引擎220或大容量存储装置225中的一 个。如图3所示,有利地可以通过例如SSL技术来保护输入和输出数 据。
图4例示了根据本发明实施例的多个方面的图2的存储机构2的 框图。根据该实施例,存储机构210包括一个或多个轻质的目录访问 控制(LDAP)服务器。LDAP目录服务器可从各种制造商获得,例 如Netscape、 ISO和其它。图4还示出了目录服务器优选地存储与加 密密钥对应的405和与注册鉴权数据对应的数据410。根据一个实施 例,存储机构210包括以鉴权数据和加密密钥数据作为唯一用户ID 的索引的单个逻辑存储结构。该单个逻辑存储结构优选地包括确保其 中所存储的数据的较高信任度、安全性的机制。例如,存储机构210 的物理位置有利地可以包括多个传统安全性量度,如受限的雇员访问、 现代监视系统等。除了物理安全性之外,或者代替物理安全性,计算 机系统或者服务器有利地可以包括用于保护所存储数据的软件解决方 案.例如,存储机构210有利地可以创建并存储与所采取动作的审查 跟踪对应的数据415。此外,输入和输出通信有利地可以利用与传统 SSL技术耦合的公钥加密技术来加密。
根据另一实施例,存储机构210可以包括多个不同的并且物理分 离的数据存储设施,如参照图7进一步公开的。
图5例示了根据本发明实施例的多个方面的图2的鉴权引擎215 的框图。与图3的事务引擎205类似,鉴权引擎215包括具有经修改 的传统万维网服务器(例如从Apache可获得的万维网服务器)的侦 听线程和处理线程。如图5所示,鉴权引擎215包括对于至少一个私 钥510的访问。私钥510有利地可以用于例如对来自交易引擎205或
存储机构210的数据进行解密,其中该数据是利用鉴权引擎215的对 应爿>钥加密的。
图5还例示了鉴权引擎215,其包括比较器515、数据分割模块 520和数据集合模块525。根据本发明的优选实施例,比较器515包括 能够比较与上述生物测定信息鉴权数据相关的多个可能复杂模式的技 术。该数据可能包括用于模式比较的硬件、软件或组合方案,这些图 案例如代表指紋图案或声音模式。此外,根据一个实施例,鉴权引擎 215的比较器515有利地可以对多个常规的杂乱文档进行比较,以提 供比较结果。根据本发明的一个实施例,比较器515包括将启发方式 (heuristic) 530应用于比较。该启发方式530有利地可以解决验证尝 试周围的环境,例如, 一天中的时间、IP地址或子网掩码、购买简档、 电子邮件地址、处理器序列号或ID等。
此外,生物测定信息数据比较的性质可能导致根据当前生物测定 信息鉴权数据与注册数据的匹配而产生的各种置信度。例如,与仅可 以返回肯定匹配或否定匹配的传统密码不同,指紋可以被确定为部分 匹配,如,90%匹配,75%匹配、10%匹配,而不是简单的正确或不 正确,诸如声紋分析或者面部识别的其它生物测定信息识别器可以共 享概率鉴权的这种属性,而不是完全鉴权的属性。
当利用这种概率鉴权运行时,或者在答权被认为次于完全可信的 其它情况下,可能期望采用启发方式530来确定所提供的鉴权的置信 级别是否足够高,以证实正在进行的事务有效。
有时存在如下情况,所关注事务是相对低值的事务,其中以较低 的置信级别来对该事务鉴权是可以接受的。这可能包括与其相关的货 币值较小的事务(例如10美元购买),或者具有低风险的事务(如, 准如仅针对会员的网站)。
相反地,对于鉴权其它事务而言,可能期望在允许进行交易之前 要求高的鉴权置信度。这些交易可能包括大货币值的交互(如,签署 几百万美元的供应协议)或者如果出现不适当鉴权则具有高风险的事 务(如,远程登录到政府计算;^)。
可以使用与置信级别和事务值相组合来使用启发方式530 ,如下 面将要描述的,以允许比较器提供动态的环境敏感的鉴权系统。
根据本发明的另一实施例,比较器515有利地可以跟踪对于特定 事务的鉴权尝试。例如,当事务失败时,信任引擎110可以请求用户 重新输入他或她的当前鉴权数据。鉴权引擎215的比较器515有利地 可以采用尝试限制器535来限制鉴权尝试的次数,由此禁止进行暴力 尝试,从而冒充用户的鉴权数据。根据一个实施例尝试限制器535包 括针对重复鉴权尝试而监测事务、并且将对于给定事务的鉴权尝试限 于三次的软件模块。由此,尝试限制器535将冒充个人鉴权数据的自 动尝试简单地限制为例如三次"猜测"。在三次失敗之后,尝试限制 其535有利地拒绝另外的鉴权尝试。这种拒绝有利地可以通过例如返 回否定结果的比较器515来实现,而与正在发送的当前鉴权数据无关。 另 一方面,事务引擎205有利地可以阻止与先前三次尝试失败的事务 有关的任何另外的鉴权尝试。
鉴权引擎215还可以包括数据分割模块520和数据組合模块525。 数据分割模块520有利地包括能够对各种数据进行算术运算以基本上 打乱数据并将数据分割成多个部分的软件、硬件或組合模块。根据一 个实施例,无法根据单个部分来再创建原始数据。数据組合模块5" 有利地包括被配置为对上述基本上打乱的多个部分进行算术运算以使 得它们的组合提供经界面的原始数据的软件、硬件或者組合模块,根 据一个实施例,鉴权引擎216采用数据分割模块520来打乱注册鉴权 数据并将该数据分割成多个部分,并采用数据组合模块525来将所述 多个部分重新组合为可用的注册鉴权数据。
图6例示了根据本发明 一个实施例的多个方面的图2的信任引擎 200的加密引擎220的框图。类似于图3的事务引擎205,加密引擎 220包括至少具有经修改的传统万维网服务器(例如从Apache可获得 的万维网服务器)的监听线程和处理线程的操作系统504。如图6所 示,加密引擎220包括数据分割模块610和数据组合模块620,这两 个模块以类似于图5的这些模块的方式进行作用。然而,根据一个实 施例,数据分割模块610和数据组合模块620处理加密密钥数据,这 于上述的注册鉴权数据相反。然而,本领域技术人员将根据本文的公 开意识到,数据分割模块910和数据分割模块620可以与鉴权引擎216 的这些模块相组合。
加密引擎220还包括被配置为进行多个加密功能中的一个、 一些 或全部的加密处理模块625。根据一个实施例加密处理模块625可以 包括软件模块或者程序、或者硬件、或者包括这两者。根据另一实施 例,加密处理模块625可以进行数据比较、数据分析、数据分割、数 据分离、数据散列、数据加密或解密、数字签名验证或创建、数字证 书生成、存储、或请求、加密密钥生成等。此外,本领域技术人鱼昂 将从本文的公开意识到,加密处理模块825有利地可以包括公钥基 础设施(如良好隐私(Pretty Good Privacy))、基于RSA的公钥系 统、或者更多另选的密钥管理系统。此外,密钥处理模块625可以进 行/>钥加密、或者对称密钥加密、或者这两者。除了以上之外,加密 处理模块625可以包括一个或多个计算机程序或模块、或硬件、或者 这两者,以实现无缝、透明的可交互操作功能。
本领域技术人员还可从本文的公开意识到,加密功能可以包括通 常与加密密钥管理系统相关的许多或者各种功能。
图7例示了根据本发明实施例的多个方面的存储机构系统700的 简化框图。如图7所示,存储机构系统700有利地包括多个数据存储 设施,例如数据存储设施Dl、 D2、 D3和D4。然而,本领域技术人 员容易理解,该存储机构系统可以值具有一个数据存储设施。根据本 发明的一个实施例,数据存储设施D1、 D2、 D3和D4中的每一个有 利地可以包括参照图4的存储机构210公开的元件中的一些或全部。 类似于存储机构210,数据存储设施D1到D4与事务引擎205、鉴权 引擎215和加密引擎220进行通信,优选地通过传统SSL。通信链路 传输例如XML文档。来自事务引擎205的通信有利地可以包括对于 数据的请求,其中该请求有利地被广播到每个数据存储设施Dl到D4 的IP地址。另一方面,事务引擎205可以基于多个准则,例如响应时
间、服务器负载、维护调度等,来将请求广播到特定数据存储设施。
响应于来自事务引擎205的对于数据的请求,存储机构系统700 有利地将所存储的数据转发到鉴权引擎215和加密引擎220,各个数 据组合模块接收所转发的数据,并将数据组合成有用的格式,另一方 面,从鉴权引擎215和加密引擎220到数据存储设施Dl到D4的通信 可以包括传送待存储的敏感数据。例如,根据一个实施例,鉴权引擎 215和加密引擎220有利地可以采用它们各自的数据分割模块来讲敏 感数据分给为多个不可解密的部分,然后将所述敏感数据的一个或多 个不可解密的部分发送到特定的数据存储设施。
根据一个实施例,每个数据存储设施Dl到D4包括分离的并且 独立的存储系统,例如目录服务器。根据本发明的另一实施例,存储 机构系统700包括多个地理上分离且独立的数据存储系统。通过将敏 感数据分发到其中的 一些或全部可以有利地被地理分离的不同且独立 的存储设施Dl到D4,存储机构系统700提供冗余以及附加安全量度。 例如,根据一个实施例,只需要来自多个数据存储设施Dl到D4中的 两个的数据来对敏感数据进行解密和重新组合。由此,所述四个数据 存储设施D1到D4中最多有两个由于维护、系统故障、电力故障等不 可操作,而不影响信任引擎110的功能。此外,根据一个实施例,由 于存储在个数据存储设施中的数据被打乱并且不可解密,所以对于任 何单个数据存储设施的安全的危及并不会危及敏感数据的安全.此外, 在使多个数据存储设施地理分离的实施例中,对于多个地理上远离的 设置的安全的危及变得越来越困难。事实上,即时粗心的雇员也将很 难破坏所需的多个完全在地理上远离的数据存储设施。
虽然参考优选和另选实施例公开了存储机构系统700,但是本发 明并不旨在限于此。相反,本领域技术人员将从本文的公开意识到该 存储机构系统700的许多另选。例如,存储机构系统700可以包括一 个、两个或更多个数据存储设施。此外,可以对敏感数据进行数学运 算,以使得需要来自两个或更多个数据存储设施的多个部分,以便重 新组合并解密所述敏感数据。
如上所述,鉴权引擎215和加密引擎220分别包括数据分割模块 5加和610,以用于分割任何类型或形式的敏感数据(例如文本、音频、 视频)、鉴权数据和加密密钥数据。图8例示了根据本发明实施例的 多个方面的由数据分割模块进行的数据分割处理800的流程图。如图 8所示,数据分割处理800开始于步骤805,当敏感数据"S"被鉴权 引擎215或者加密引擎220的数据分割模块接收时。优选的,随后, 在步骤810,数据分割模块生成基本随机的数、值、或者位串或位组
"A" 例如,随机数A可以按照本领域技术人员可获得的许多不同 的传统技术来生成,以产生适于在加密应用中使用的高质量随机数。 此外,根据一个实施例,随机数A包括的位长度可以是任何适当的长 度,如短于、长于或等于敏感数据S的位长度。
此外,在步骤820,数据分割处理800生成另一统计随机数"C"。 根据该优选实施例,有利地可以并行进行统计随机数A和C的生成。 然后该数据分割模块将数A和C与敏感数据S組合,以使得生成新数
"B"和"D"。例如,数B可以包括AXORS的二元组合,数D可 以包括CXORS的二元组合。XOR函数,或者"异或"函数对于本 领域技术人员是已知的。上述有何优选的分别在步骤825和830中发 生,并且根据一个实施例,上述组合也可以并行发生。然后,数据分 割处理800进行到步骤835,在该步骤中,将随机数A和C以及数B 和D配对,以使得这些对中没有一对本身包含对于重新组织并解密原 始敏感数据S而言充分的数据。例如,这些数可以按照如下方式配对 AC、 AD、 BC和BD。根据一个实施例,上述这些对中的每一对分布 到图7的存储机构Dl到D4中的一个。根据另一实施例,将上述这些 对中的每一对分布到存储机构Dl到D4中的一个。例如,在第一数据 分割处理800期间,AC对可以通过例如随机选择的D2的IP地址而 发送到存储机构D2。然后,在第二数据分割处理800期间,AC可以 可以通过随机选择的D4的IP地址而发送到存储机构D4。此外,这 些对都可以被存储在一个存储机构中,可以存储在所述存储机构上的 不同位置中。
基于以上描述,数据分割处理800有利地将敏感数据的多个部分 放入四个数据存储设施Dl到D4中的每一个中,以使得没有单个的数 据存储设施D1到D4包括对于重新创建原始敏感数据S而言充分的经 加密数据。如上所述,这种将数据打乱为多个单独的不可用经加密部 分的操作增加了安全性,并且保持了数据中的信任,即使这些数据存 储设施Dl到D4中的一个的安全性被危及。
虽然参照优选实施例公开了数据分割处理800,但是本发明并不 旨在限于此。相反,本领域技术人员将根据本发明的公开意识到数据 分割处理800的许多另选。例如,数据分割处理有利地可以将数据分 割成两个数,例如随机的数A和数B,并且随机地通过两个数据存储 设施分布A和B。此外,数据分割处理800有利地可以通过生成额外 的随机数来将数据分割到很多数据存储设施中。数据可以被分割成任 何期望的、选择的、预定的、或者随机指定的尺寸单位,包括但不限 于一位、多位、多字节、几千字节、几兆自己或更大,或者多个尺寸 的任意組合或序列。此外,根据分割处理而改变数据单位的尺寸可能 使得数据更难于恢复到有用形式,由此增加了敏感数据的安全性。本 领域技术人员容易理解,分割的数据单位的尺寸可以是许多不同的数 据单位尺寸,或者多个尺寸的多种模式,或者多个尺寸的組合。例如, 数据单位大小可以被选择为或者预定为都具有相同的尺寸、固定的不 同尺寸的集合、多个尺寸的组合、或者随机生成的尺寸。类似地,可 以根据固定或预定数据单位尺寸、多个数据单位尺寸的模式或组合、 或者对于每份的随机生成的数据单位的一个或多个尺寸,将这些数据 单位分发到 一个或多个份额中。
如上所述,为了重新创建敏感数据S,数据部分需要被去除打乱 或者被重新组织。该处理有利地可以分别在鉴权引擎215和加密引擎 220的数据组合模块525和620中进行。数据组合模块,例如,数据 组合模块525接收来自数据存储设施Dl到D4的多个数据部分,并将 该数据重新组合为有用形式。例如,根据如下一个实施例,其中数据 分割模块520釆用图8的数据分割处理800,数据这模块525使用来
自数据存储设施D1到D4中的至少一个的多个数据部分,来重新创建 敏感数据S。例如,AC对、AD对、BC对和BD对被分发为使得任 意两个都提供A和B或者C和D这两对之一。注意S-A XOR B或者 S-CXORD表示,当数据组合模块接收A和B或者C和D这两对 之一时,数据组合模块525有利地能够重新组合敏感数据S。由此, 当数据组合模块525例如从数据存储设施Dl到D4中的至少前两个接 收多个数据部分以响应于信任引擎110发出的组合请求时,数据组合 模块525可以组合敏感数据S。
基于以上数据分割和组合处理,敏感数据S只以可用格式存在于 信任引擎110的首先区域中。例如,当敏感数据S包括注册鉴权数据 时,有用的未经打乱的注册鉴权数据只可在鉴权引擎215中获得。类 似地,当敏感数据S包括加密私钥数据时,可用的未经打乱的加密私 钥数据仅可在加密引擎220中获得。
虽然参照优选实施例公开了数据分割和组合处理,但是本发明并 不限于此。相反,本领域技术人员根据本发明中的公开将意识到,分 割和重新组合敏感数据S的许多另选。例如,可以使用公钥加密来进 一步保护数据存储设施D1到D4处的数据,此外,很显然,对于本领 域技术人员而言,本文描迷的数据分割模块也是本发明的独立并且明 显的实施例,其可以并入任何预先存在的计算机系统、软件套件、数 据库、或它们的组合,或者本发明的其它实施例(如本文中公开和描 述的信任引擎。鉴权引擎和事务引擎)中,或者与其相组合,或者构 成其一部分。
图9A例示了根据本发明实施例的多个方面的注册处理900的数 据流。如图9A所示,注册处理900开始于步驟905,当用户想要利用 加密系统100的信任引擎110进行注册时。根据该实施例,用户系统 105有利地包括客户侧小程序,如基于Java,该小程序询问用户以输 入注册数据,如人口统计数据和注册鉴权数据。根据一个实施例,注 册鉴权数据包括用户ID、 一个或多个密码、 一个或多个生物测定信息 等。根据一个实施例,在查询处理期间,客户侧小程序优选地与信任
引擎110进行通信以确保所选择的用户ID是唯一的。当用户ID不是 唯一的时,信任引擎110有利地可以建议唯一的用户ID。客户侧小程 序收集注册数据,并将注册数据通过例如XML文档发送到信任引擎 110,具体的,发送到事务引擎205。根据一个实施例,利用鉴权引擎 215的7〉钥对传输进行编码。
根据一个实施例,用户在注册处理900的步骤905期间进行单个 注册。例如,用户将他或她注册为特定个人,如JoeUser。当Joe User 想要注册为Joe User, CEO of Mega Corp.时,那么才艮据该实施例,Joe User第二次注册,接收第二个唯一的用户ID,并且信任引擎110没 有关联这两个标识。根据本发明的另一实施例,注册处理卯O为单个 用户ID提供多个用户标识。由此,在以上示例中,信任引擎110有 利地关联Joe User的这两个标识。如本领域技术人员根据本文公开将 理解的,用户可以具有许多标识,例如户主Joe User,慈善基金的会 员JoeUser等。即时用户可能具有多个标识,根据该实施例,信任引 擎110有利地只存储一组注册数据。此外,用户有利地可以根据他们 的需要添加、编辑/更新或者删除标识。
虽然参照优选实施例公开了注册处理900,但是本发明并不旨在 限于此。相反,本领域技术人员将根据本文的公开意识到,用于收集 注册数据(具体的,注册鉴权数据)的许多另选。例如,该小程序可 以是基于公共对象模型(COM)的小程序等。
另一方面,注册处理可以包括分等级的注册。例如,在注册的最 低级别,用户可以在通信链路125上进行注册,而不产生对于他或她 的标识的文档记录。根据提高的注册级别,用户使用信任的第三方, 如数字公证人,进行注册。例如,用户可以亲自面见信任的第三方, 产生诸如出生证明、驾驶执照、军用ID等的凭证,并且信任的笫三 方有利地可以在注册提交中包含用户的数字签名。信任的第三方可以 包括实际的公证人;政府办事处,如邮局或机动车辆部门;大公司的 招收雇员的人力资源人员,等等。本领域技术人员根据本文的公开将 明白,在注册处理900期间可能出现许多各种级别的注册。
在接收到注册鉴权数据之后,在步骤915,使用传统FULL SSL 技术的事务引擎205将注册鉴权数据转发到鉴权引擎215。在步骤920, 鉴权引擎215使用鉴权引擎215的私钥对注册鉴权数据进行解密。此 外,鉴权引擎215采用数据分割模块来对注册鉴权数据进行数学运算, 以将该数据分割成至少两个独立的不可解密的、打乱的数。如上所述, 至少两个数包括统计随机数或者二元的XORed数。在步骤925中,鉴 权引擎215将随机数的每个部分转发到数据存储设施Dl到D4中的一 个。如上所述,鉴权引擎215有利地还可以对将哪些部分传输到哪些 存储机构进行打乱。
通常,在注册处理卯O期间,用户还会期望所发布的数字证书, 以^吏得他或她可以从加密系统100外部的其它用户接收加密的文档。 如前所述,认证机构115通常根据若干传统标准中的一个或多个发布 数字证书。通常,数字证书包括用户或系统的公钥,该公钥是每个人 已知的。
无论用户在注册时还是在另一时刻请求数字证书,该请求都经由 信任引擎110传输到鉴权引擎215。根据一个实施例,该请求包括具 有例如用户的适当姓名的XML文档。根据步骤935,鉴权引擎215 将该请求传输到加密引擎220,命令加密引擎220生成加密密钥或密 钥对,
当接收到该请求时,在步骤935,加密引擎220生成至少一个加 密密钥。根据一个实施例,加密处理模块625生成密钥对,其中一个 密钥用作私钥, 一个用作公钥。加密引擎220存储私钥,并且根据一 个实施例,存储^>钥的拷贝。在步骤945,加密引擎220将对于数字 证书的请求发送到事务引擎205。根据一个实施例,该请求有利地包 括嵌入例如XML文档中的标准化请求,如PKCSIO。对于数字证书 的请求有利地可以对应于一个或多个认证机构,并且所述一个或多个
标准对认证机构请求进行格式化。
在步骤950,事务引擎205将该请求转发到认证机构115,该认 证机构115在步骤955返回数字证书。所返回的数字证书有利地可以
是标准格式,如PKCS7,或者是一个或多个认证机构115的专有格式。 在步骤960,数字证书被事务引擎205接收,并且一拷贝被转发到用 户,并且一拷贝被利用信任引擎110存储。信任引擎110存储该证书 的拷贝, 一使得信任引擎110将无需依赖于认证机构115的可用性。 例如,当用户想要发送数字证书时,或者第三方请求用户的数字证书 时,对于数字证书的请求典型地被发送到认证机构115。然而,如果 认证机构115正在进行维护或者已成为故障或安全威胁地受害者,则 数字证书可能是不可获得的。
在发布了加密密钥之后的任意时刻,加密引擎220有利地可以采 用上述数字分割处理800,已使得加密密钥被分割成多个独立不可解 密的打乱数。类似于鉴权数据,在步骤965,加密引擎220将打乱的 数传输到数据存储设施Dl到D4。
本领域技术人员根据本文的公开将意识到,用户可以在注册之后 的任意时刻请求数字证书。此外,系统间的通信有利地可以包括FULL SSL或公钥加密技术。此外,注册处理可以发布来自多个认证机构的 多个数字证书,该多个认证机构包括信任引擎110内部或外部的一个
或多个专有认证机构。
如在步骤935到960中公开的,本发明的一个实施例包括对于证 书的请求,该证书最终被存储在信任引擎110上。因此,根据一个实 施例,加密处理模块625发布由信任引擎110使用的密钥,每个证书 对应于一私钥。因此,信任引擎IIO有利地可以用于通过监测由用户 拥有或者与用户关联的证书,来提供互操作性。例如,当加密引擎220
接收对于加密功能的请求时,加密处理模块625可以调查由发出请求 的用户所拥有的证书,以确定用户是否用于与该请求的属性匹配的私 钥。当存在这样的证书时,加密处理模块625可以使用与其关联的证 书或乂>钥或私钥,以执行所请求的功能。当不存在这样的证书时,加 密处理模块625可以有利地并且透明地执行多个动作,以尝试弥补适 当密钥的缺乏。例如,图9B例示了根据本发明实施例的多个方面的 互操作性处理970的流程图,该流程图公开了前述步骤以确保加密处
理模块625使用适当密钥执行加密功能。
如图9B所示,互操作性处理970开始于步骤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,在该步骤中,加密处理模块625确定用户是否拥有交叉认证的证
书。根据一个实施例,多个认证机构之间的交叉认证发生在当第一认 证机构确定信任来自第二认证机构的证书时。换言之,第一认证机构 确定来自第二认证机构的证书满足某些质量标准,因此可以被i人证为
等同于第一认证机构自己的证书。交叉认证在认证机构发布例如具有 多个信任级别的证书时变得更为复杂,例如,第一认证机构可以通常
基于注册处理中的信任度,对于特定证书提供三个信任级别,同时第 二认证机构可以提供七个信任级别。交叉认证有利地可以跟踪来自第 二认证机构的哪些级别和哪些证书可以代的来自第一认证机构的哪些 级别和哪些证书。当前述交叉认证是在两个认证机构之间官方并且公 开地进行的时,彼此之间证书和级别的映射通常被称为"链接
(chaining)"。
根据本发明的 一个实施例,加密处理模块625有利地可以进行被 所述认证机构同意的认证之外的交叉认证。例如,加密处理模块625 可以访问第一认证机构的证书实施声明(CPS),或者其它公开的政 策声明,并且使用例如由特定认证级别要求的认证标记,将第一认证 机构的证书与另 一认证机构的证书匹配。
当在步骤978中加密处理模块625确定用户拥有经交叉认证的证 书时,互操作性处理970进行到步骤976,并且使用经交叉认证的公 钥、私钥或者两者来进行加密动作或功能。另选的,当加密处理模块 625确定用户没有拥有经交叉认证的证书时,互操作性处理970进行 到步骤980,在步骤980中加密处理模块625选择对所请求的证书类 型或被交叉认证的证书进行发布的认证机构。在步骤982,加密处理 模块625确定在上文讨论的用户注册认证数据是否满足所选认证机构 的i人证请求。例如,如果用户通过例如应答人口令统计和其它问题而 在网络上注册,则所提供的认证数据可以建立比提供生物测定信息数 据并且面见诸如公证人这样的第三方的用户的信任级别低的信任级 别。根据一个实施例,前述鉴权请求有利地可以在所选认证机构的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可以请求来自用户的额外的鉴权标记。例 如,信任引擎100可以请求新注册鉴权数据,包括例如生物测定信息 数据。此外,信任引擎110可以请求面见信任的第三方并且提供适当 的授权凭证,例如携带驾驶执照、社会安全卡、银行卡、出生证明、 军人ID等见面公证人。当信任引擎110接收到经更新的鉴权数据时, 互操作性处理970进行到步骤984,并且获取上述选择的证书。
通过上述互操作性处理970,加密处理模块625有利地提供在不 同加密系统之间的无缝、透明的转换和变换。本领域技术人员才艮据本 文的公开将意识到上述互操作系统的许多优点和实现方式。例如,互 操作处理970的上述步骤986有利地可以包括下面更详细描述的信任
仲裁的多个方面,其中认证机构可以在特殊情况下接受低级别的交叉
认证。此外,互操作性处理970可以包括确保多个标准证书撤销之间 的互操作性,并采用所述多个标准证书撤销,该标准证书撤销采用例 如证书撤销列表(CRL)、在线证书状态协议(OCSP)等。
图10例示了根据本发明实施例多个方面的鉴权处理的数据流。 根据一个实施例,认证处理1000包括手机来自用户的当前认证数据, 并且将该数据与该用户的注册认证数据进行比较。例如,认证处理 1000开始于步驟1005,在该步骤中,用户想要进行与例如商家的事务。 这种实物可以包括例如选择购买选项、请求访问商家系统120的限制 区域或设备,等等。在步骤IOIO,商家对用户提供事务IID和鉴权请 求。事务ID有利地可以包括具有与128位随机量联系的32位时间戳 的192位量,或者包括与32位商家特定常数联系的"nonce"。这种 事务ID唯一地表示事务,以使得信任引擎110可以拒绝复印机事务。
鉴权请求有利地可以包括对于特定事务需要什么级别的极團。例 如,商家可以指定对于待解决亊务所要求的特定置信级别。如果不能 对该置信级别进行鉴权,如下所述,则在用户不进行进一步鉴权以提 高置信级别的情况下或者在商家与服务器之间的鉴权不发生改变的情 况下,事务将不进行。下面更为完全地讨论这些问题。
根据一个实施例,事务ID和鉴权请求有利地可以由商家侧小程 序或者其它软件程序生成。此外,交易ID和鉴权数据地传送可以包 括使用传统SSL技术(例如1/2 SSL),或者换言之,经商家侧鉴权 的SSL,加密的一个或多个XML文档。
在用户系统105接收到亊务ID和鉴权请求之后,用户系统105 收集来自用户的当前鉴权数据,可能包括当前生物测定信息数据。在 步骤1015中,用户系统105至少利用鉴权引擎215的公钥对当前鉴权 数据"B"和事务ID进行加密,并且将该数据传输到信任引擎110。 传输优选地包括至少利用传统的1/2 SSL技术加密的XML文档。在 步骤1020,事务引擎205接收该传输,优选地识别采用URL或IRI 的数据格式或请求,并且将该传输转发到认证引擎215。
在步骤1015和1020期间,商家系统120在步骤1025中使用优 选的FULL SSL技术将亊务ID和鉴权请求转发到信任引擎110。该通 信还可以包括商家ID ,虽然还可以通过事务ID的非随机部分来传达 商家标识。在步骤1030和1035,事务引擎205接收该通信,在审查 跟踪中创建记录,并且产生对于待从数据存储设施Dl到D4而组合的 用户注册鉴权数据的请求。在步骤1040,存储机构系统700将与用户 对应的注册鉴权数据的多个部分传输到鉴权引擎215。在步骤1045, 鉴权引擎215使用其私钥对该传输进行解码,并且将注册鉴权数据与 用户提供的当前鉴权数据进行比较。
步骤1045的比较有利地可以采用启发式的上下文敏感鉴权,如 在上文提出并在下面进一步具体讨论的。例如,如果所接收的生物测 定信息没有很好地匹配,则产生较低置信匹配。在特定实施例中,将 鉴权的置信级别相对于事务的特征以及用户和商家的期望而平衡。同 样,下面将更为详细对此进行讨论。
在步骤1050,鉴权引擎215在鉴权请求中填入步骤1045的比较 结果。根据本发明的一个实施例,鉴权请求被填入有鉴权处理1000 的是/否、真/假结果。在步骤1055,填充后的鉴权请求被返回到商家, 以使商家进行动作,以允许用户完成发起该鉴权请求的亊务。根据一 个实施例,确认消息被传递到用户。
基于上文的描述,鉴权处理1000有利地使敏感数据保持安全, 并且产生被配置为保持敏感数据完整性的结果。例如,敏感数据仅被 组合在鉴权引擎215内部。例如,注册鉴权数据是不可解密的,直到 其在鉴权引擎215中被数据组合模块所组合位置,并且当前鉴权数据 是不可解密的,直到其被传统SSL技术和鉴权引擎215的私钥所解包 位置。此外,传送到商家的鉴权结果不包括敏感数据,并且用户甚至 可能不知道他或她是否产生了有效的鉴权数据。
虽然参照其优选和另选实施例公开了鉴权处理1000,但是本发明 并不旨在限于此。相反,本领域技术人员将根据本文的公开意识到鉴 权处理IOOO的许多另选。例如,商家有利地可以被几乎任何进行请求
的应用代替,即使那些利用用户系统105驻留的应用。例如,客户程 序,例如Microsoft Word,可以使用应用程序接口 (API)或者加密 API (CAPI)来在对文档解锁之前请求鉴权。另选的,邮件服务器、 网络、蜂窝电话、个人或移动计算设备、工作站等都可以进行鉴权请 求,该鉴权请求可以有鉴权处理1000来履行。事实上,在提供了上述 信任的鉴权处理1000之后,进行请求的应用或设备可以提供对于许多 电子或计算机设备或系统的访问或使用。
此外,在鉴权失败的情况下,鉴权处理1000可以采用许多另选 过程。例如,鉴权失败可能保持相同的事务ID,并且请求用户重新输 入他或她的当前鉴权数据。如上所述,使用相同事务ID使得鉴权引 擎215的比较器可以监控并限制对于特定事务的鉴权尝试的次数,由 此创建更为安全的加密系统100。
此外,鉴权处理1000有利地可以被采用来开发优越的单注册 (sign-on)方案,如对敏感数据保管中心(vault)进行解锁。例如, 成功的或者肯定的鉴权可以使经鉴权的用户能够自动访问对于几乎无 限数量的系统和应用的任何数量的密码。例如,用户的鉴权可以提供 用户对于与多个在线商家、局域网、各种个人计算设备、因特网设备
提供商、拍卖提供商、投资经纪人等关联的密码、登录、金融凭证等 的访问。通过采用敏感数据保管中心,用户可以选择非常大并且随机 的密码,因为他们借助关联而无需记住这些密码。这样,鉴权处理1000 提供对于它们的访问,例如,用户可以选择随机字母数字串,其长度 比与可记忆数据、名称等关联的密码长出20位.
根据一个实施例,与给定用户相关联的敏感数据保管中心有利地 可以被存储在存储机构210的数据存储设施中,或者被分割并存储在 存储机构系统700中。根据该实施例,在肯定的用户鉴权之后,信任 引擎110对于进行请求的应用,对所请求的敏感数据提供例如适当的 密码。根据另一实施例,信任引擎110可以包括用于存储敏感数据保 管中心的独立系统。例如,信任引擎110可以包括用于实现数据保管 中心功能并且假借地驻留在信任引擎110的上述前端安全系统之后的
独立软件引擎。根据该实施例,该软件引擎在接收到来自信任引擎110
的指示肯定的用户鉴权的信号之后,服务于所请求的敏感数据。
在又一实施例中,数据保管中心可以通过第三方系统实现。于该 软件引擎实施例类似,该第三方系统有利地可以在接收到来自信任引
擎110的指示肯定的用户鉴权的信号之后,服务于所请求的敏感数据。 根据又一实施例,该数据保管中心可以在用户系统106上实现。用户 侧软件引擎有利地可以在接收到来自信任引擎110的指示肯定的用户 鉴权的信号之后服务于前述数据。
虽然参照另选实施例公开了前述数据保管中心,但是本领域技术 人员根据本文公开将意识到其许多另外的实现。例如, 一特定数据保 管中心可以包括根据上述实施例中的某些或全部的多个方面。此外, 上述数据保管中心中的任何一个可以在不同时间采用 一个或多个鉴权 请求。例如,数据保管中心中的任何一个可以要求定期地鉴权每一个
或多个事务;以一个或多个其它规定的时间间隔等鉴权每一个或多个 务活、对于一个或多个网页或网站地每一次访问。
图11例示了根据本发明实施例多个方面的签名处理110的数据 流。如图11所示,签名处理iooo包括类似于项目结合图io所描述的
鉴权处理1000的步骤的步骤。根据本发明的一个实施例,签名处理 IIOO首先鉴权用户,然后进行若干数字签名功能中的一个或多个,如 下面进一步详细讨论的。根据另一实施例,签名处理1100有利地恶意
存储与其相关的数据,如消息或文档的散列等。该数据有利地可以用 在审查中或者任何其它时间中,如当参与方试图违约时。
如图11所示,在鉴权步骤期间,用户或商家有利地可以同意一
消息,如合同。在签名期间,签名处理1100有利地确保用户所签署的
合同与商家提供的合同相同。因此,根据一个实施例,在鉴权过程中, 商家和用户将该消息或合同的他们各自的拷贝的散列包括在传输到鉴
权引擎215的数据中。通过采用消息或合同的散列,信任引擎110有
利地可以存储显著减少的数据量,从而提供更为有效和成本效率更高 高的加密系统。此外,所存储的哈希有利地可以与待处理的文档的散
列进行比较,以确定待处理的文档是否与任何一方前述的文档一致。
能够确定该文档是否等同于与事务相关的文档提供了可用于针对事务
一方的违约的额外的证据。
在步骤1103,鉴权引擎215组合注册鉴权数据,并将其与用户提 供的当前鉴权数据进行比较。当鉴权引擎215的比较器指示出该注册 鉴权数据与当前鉴权数据匹配时,鉴权引擎215的比较器还将由商家 提供的消息的散列与由用户提供的消息的散列进行比较。由此,鉴权 引擎215有利地确保由用户同意的消息与商家提供的消息相同。
在步骤1105,鉴权引擎215将数字签名请求发送到加密引擎220。 根据本发明的一个实施例,该请求包括该消息或合同的散列。然而, 本领域技术人员根据本文的公开将意识到,加密引擎220实际上可以 对任何类型的数据进行加密,该数据包括但不限于视频、音频、生物 测定信息、图像或文本,以形成期望的数字签名。返回到步骤1105, 数字签名请求优选地包括通过传统SSL技术传送的XML文档。
在步骤1110,鉴权引擎215将一请求发送到数据存储设施Dl到 D4中的每一个,以使得数据存储设施Dl到D4中的每一个发送^们 各自的与签名方对应的一个或多个加密密钥部分。根据另一实施例, 加密引擎220采用在上文讨论的可操作性处理970的步骤中的一些或 全部,以使得加密引擎220首先确定对于来自签名方的加密机构210 或加密机构系统700的请求的适当的一个或多个密钥,并且采取动作 来提供适当的匹配密钥。根据又一实施例,鉴权引擎215或者加密引 擎220有利地可以请求与签名方关联的并存储在存储机构210或存储 机构系统700中的一个或多个密钥。
根据一个实施例,签名方包括用户或商家中的一个或两者。在这 种情况下,鉴权引擎215有利地请求与用户和/或商家对应的加密密钥。 根据另一实施例,签名方包括信任引擎110。在该实施例中,信任引 擎110验证出该鉴权处理1000适当地对用户、商家或者两者进行了鉴 权。因此,鉴权引擎215请求信任引擎110的加密密钥,例如术语加 密引擎220的密钥,以进行数字签名。根据另一实施例,信任引擎IIO进行类似于数字公证人的功能。在该实施例中,签名方包括用户、商
家、或者两者,以及信任引擎110。由此,信任引擎110提供用户和/
和商家的数字签名,然后利用其自己的数字签名指示出该用户和/或商
家被适当地鉴权。在该实施例中,鉴权引擎215有利地可以请求组合 与信任引擎110对应的加密密钥。
根据另一实施例,信任引擎110进行类似于代理功能的操作。例 如,信任引擎110可以代替笫三方对该消息进行数字签名。在这种情 况下,该鉴权引擎215请求与第三方关联的加密密钥。根据该实施例, 签名处理1100有利地可以包括在执行类似于代理功能的操作之前对 第三方进行鉴权。此外,鉴权处理1000可以包括检查第三方限制,如 规定何时以及在什么情况下可以使用特定第三方签名的商业逻辑等。
基于以上描述,在步骤ino,鉴权引擎请求来自数据存储设施
Dl到D4的与签名方对应的加密密钥。在步骤1115,数据存储设施 Dl到D4将他们各自的与签名方对应的加密密钥部分传送到加密引擎 220,根据一个实施例,上述传输包括SSL技术,根据另一实施例, 上述传输有利地可以是利用加密引擎220的公钥被超加密的。
在步骤1120,加密引擎220组合签名方的上述加密密钥,并利用 其对消息进行加密,从而形成一个或多个数字签名。在签名处理IIOO 的步骤1125,加密引擎220将数字签名发送到鉴权引擎215。在步骤 1130,鉴权引擎215将填充后的鉴权引擎以及经散列的消息的拷贝和 所述一个或多个数字签名发送到亊务引擎205。在步骤1135,亊务引 擎205将包括事务ID的接收、对于鉴权是否成功的指示以及所述一 个或多个数字签名发送到商家。根据一个实施例,前述事务有利地可 以包括信任引擎110的数字签名。例如,信任引擎110可以利用其私 钥对所接收内容的散列进行加密,由此形成待附于所述商家的传送中 的数字签名。
根据一个实施例,事务引擎205还将确认消息发送到用户。虽然 参照优选和另选实施例公开了签名处理1100,但是本发明并不旨在限 于此,相反,本领域技术人员根据本文的公开将意识到签名处理IIOO
的许多另选。例如,商家可以被用户应用,如电子邮件应用,所替代。 例如,用户可能希望利用他或她的数字签名以数字方式签署特定电子
邮件。在这种实施例中,经由签名处理1100的传输有利地可以仅包括
该消息的散列的一个拷贝。此外,本领域技术人员从本文的公开将意 识到许多客户应用可以请求数字签名。例如,客户应用可以包括文字
处理器、电子表格、电子邮件、语音邮件、对于受限系统区域的访问等。
此外,本领域技术人员根据本文的公开将意识到签名处理1100 的步骤1105到1120有利地可以采用图9B的互操作性处理970的步 骤中的一些或全部,由此提供不同加密系统之间的互操作性,这些加 密系统例如可能需要对不同签名类型的数字签名进行处理。
图12例示了根据本发明实施例多个方面的加密/解密处理1200 的数据流。如图12所示,解密处理1200开始于使用鉴权处理1000 对用户进行鉴权。根据一个实施例,鉴权处理1000将同步会话密钥包 含坐在鉴权处理中。例如,在常规PKI技术中,本领域技术人员应当 理解,使用公钥和私钥加密或解密数据可以是数学方面耗费多的,并 且可能要求重要的系统资源。然而,在对称密钥加密系统中,或者其 中消息的发送者和接收者共享用于加密和解密消息的单个/>共密钥的 系统中,数学运算要简单和快得多。由此,在常规PKI技术中,消息 的发送方将产生同步会话密钥,并且使用更为简单和快速的同步密钥 系统对该消息进行加密。那么,发送方将利用接收者的公共密钥对会 话密钥进行加密。将经加密的会话密钥附于经同步加密的消息,并且 将这两个数据都发送到接收方。接收方使用他或她的私钥对会话密钥 进行解密,然后使用会话密钥对该消息进行解密。基于上述描述,使 用更为简单和快速的对称密钥系统来进行加密/解密处理的大部分。由 此,在解密处理1200中,解密有利地假设已利用用户的公共密钥对同 步密钥进行了加密。由此,如上所述,经加密的会话密钥被包括在鉴 权请求中。
返回到解密处理1200,在用户在步骤1205中被鉴权之后,鉴权
引擎215将经加密的会话密钥发送到加密引擎220。在步骤1210,鉴 权引擎215将一请求发送到数据存储设施Dl到D4中的每一个,请求 用户的加密密钥数据。在步骤1215,每个数据存储设施Dl到D4将 他们各自的加密密钥部分发送到加密引擎220。根据一个实施例,利 用加密引擎220的公钥对上述传输进行加密。
在解密处理1200的步骤1220中,加密引擎220组合加密密钥, 并利用该加密密钥对会话密钥进行解密。在步骤1225,加密引擎将会 话密钥转发到鉴权引擎215。在步骤1227,鉴权引擎215填充包括经 解密的会话密钥的鉴权请求,并将填充后的鉴权请求发送大事务引擎 205。在步骤1230,事务引擎205将鉴权请求以及会话密钥转发到进 行请求的应用或商家。然后,根据一个实施例,进行请求的应用或商 家使用会话密钥来对经加密的消息进行解密。
虽然参照优选和另选实施例对解密处理1200进行了公开,但是 本领域技术人员根据本文的公开将意识到加密处理1200的许多另选。 例如,解密处理1200可以在同步密钥加密之前进行,或者依赖于完全 的公钥技术。在这种实施例中,进行请的程序可以将整个消息发送到 加密引擎220,或者可以采用某种类型的压缩或可逆散列,来将消息 发送到加密引擎220。本领域技术人鱼昂根据本文的以上公开将意识 到,上述通信有利地可以包括以SSL技术打包的XML文档。
加密/解密处理1200还用于对于文档或其它数据的加密。由此, 在步骤1235,进行请求的应用或者商家有利地可以将对于用户的公共 密钥的请求发送到信任引擎110的亊务引擎205。进行请求的应用或 商家进行该请求是因为进行请求的应用或商家使用例如用户的公钥来 对将用于加密文档或消息的会话密钥进行加密。如在注册处理900中 所述的,事务引擎205将用户的数字证书的拷贝存储在例如大容量存 储设备225中。由此,在加密处理1200的步骤1240中,事务引擎205 请求来自大容量存储设备225的用户的数字证书。在步骤1245,大容 量存储设备225将与用户对应的数字证书发送到事务引擎205。在步 骤1250,事务引擎205将数字证书发送到进行请求的应用或商家。根
据一个实施例,加密处理1200的加密部分并不包括用户的鉴权信息。 这是因为进行请求的商家只需用户的公钥,而没有请求任何敏感数据。 本领域技术人员根据本文的公开将意识到,如果特定用户没有数 字证书,则信任引擎110可以采用注册处理900中的一些或所有,以 产生用于该特定用户的数字签名。由此,信任引擎110可以发起加密/ 解密处理1200,并且由此提供适当的数字证书。此外,本领域技术人 员根据本文的公开将意识到加密/解密处理1200的步骤1220和1235 到1250有利地可以采用图9B的互操作性处理的步骤中的一些或全 部,由此提供例如可能需要处理该加密的不同加密系统之间的互操作 性。
图13例示了根据本发明又一实施例的多个方面的信任引擎系统 1300的简化框图。如图13所示,信任引擎系统300分別包括多个不 同的信任引擎1305、 1310、 1315和1320。为了便于更为完整地理解 本发明,图13将信任引擎1305、 1310、 1315和1320中的每一个例示 为具有亊务引擎、存储机构和鉴权引擎。然而,本领域技术人员将意 识到每个事务引擎有利地可以包括参照图1 - 8 ^S开地组件和通信通 信中的一些、组合或全部。例如, 一个实施例有利地可以包括具有一 个或多个事务引擎、存储机构和加密服务器或它们的組合的信任引擎。
根据本发明的一个实施例,信任引擎1305、 1310、 1315和1320 中的每一个被在地理上分离,以使得例如信任引擎1305可以驻留在第 一位置,信任引擎1310可以驻留在第二位置,信任引擎1315可以驻 留在第三位置,并且信任引擎1320可以驻留在第四位置。上述地理分 离有利地减少了系统响应时间,同时增加了整个信任引擎系统1300 的安全性。
例如,当用户登录到加密系统100时,用户可以最接近第一位置, 并且可能想要被鉴权。如结合图IO所描述的,为了被鉴权,用户提供 当前鉴权数据,如生物测定信息等,并且将当前鉴权数据与该用户的 注册鉴权数据进行比较。因此,根据一个示例,用户有利地将当前鉴 权数据提供给地理上最近的信任引擎1305。信任引擎1305的信任引
擎随后将当前鉴权数据转发到也驻留在第一位置处的鉴权引擎
1322。根据另一实施例,事务引擎1321将当前鉴权数据转发到信任引 擎1310、 1315或1320的鉴权引擎中的一个或更多个。
事务引擎1321还请求来自例如信任引擎1305到1320中的每一 个的存储机构的注册鉴权数据的组合。根据该实施例,每个存储机构 将其注册鉴权数据部分提供给信任引擎1305的鉴权引擎1322。鉴权 引擎1322随后采用例如来自前两个存储结构的经加密数据部分来进 行响应,并且将该注册鉴权数据组合成经解密的形式。加密引擎1322 将注册鉴权数据与当前鉴权数据进行比较,并将鉴权结果返回到信任 引擎1305的事务引擎1321。
基于上述描述,信任引擎系统1300采用多个地理上分离的信任 引擎1305到1320中的最近的一个,来进行鉴权处理。根据本发明的 一个实施例,将信息路由到最近的事务引擎有利地可能是在用户系统 105、商家系统120或认证机构115中的一个或多个上执行的客户侧小 程序执行的。根据另选实施例,可以采用更为复杂的确定处理来从信 任引擎1305到1320中进行选择。例如,该确定可能基于给定信任引 擎的可用性、操作性、连接速度、负载、性能、地理上的接近、或者 它们的组合。
通过这种方式,信任引擎系统1300降低其响应时间,同时保持 与地理上远离的数据存储设施相关联的安全性优点,这些地理上远离 的数据存储设施例如是参照图7所示的设施,其中每个数据存储设施 存储敏感数据的多个打乱部分。例如,在信任引擎1315的存储机构 1325处的对于安全的危及并非必然危及信任引擎系统1300的敏感数 据。这是因为存储机构1325只包含不可解密的打乱的数据,在没有其 它数据的情况下,这些打乱数据是完全无用的.
根据另一实施例,信任引擎系统1300可能有利地包括被以类似 于鉴权引擎的方式布置的多个加密引擎。加密引擎有利地可以进行如 参照图1-8公开的加密功能。根据又一实施例,信任引擎系统1300 有利地可以用多个加密引擎代替多个鉴权因此,由此进行诸如参照图
l-8公开的加密功能。根据本发明的又一实施例,信任引擎系统1300 可以用具有鉴权引擎、加密引擎或者两者的功能中的一些或全部的引 擎来代替所述每一个鉴权引擎,如前面公开的。
虽然参照优选合另选实施例公开了信任引擎系统1300,但是本领 域技术人员将意识到信任引擎系统1300可以包括信任引擎1305到 1320的多个部分。例如,信任引擎系统1300可以包括一个或多个事 务引擎、 一个或多个存储机构、 一个或多个鉴权引擎、或者一个或多 个加密引擎、或者它们的组合。
图14例示了根据本发明又一实施例的多个方面的信任引擎系统 1400的监护框图。如图14所示,信任引擎系统1400包括多个信任引 擎1405、 1410、 1415和1420。根据一个实施例,信任引擎1405、 1410、 1415和1420中的每一个包括参照图l-8公开的信任引擎110的组件 中的一些或全部。根据该实施例,当用户系统105、商家系统120或 认证机构115的客户侧小程序与信任引擎系统1400同时是,这些通信 ^Jl送到信任引擎1405到1420中的每一个。此外,信任引擎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可以发布短期证书,其中加密私钥被发行给用户 预定时间段。例如,当前鉴权标准包括一个有效字段,该字段可以被 设置为在预定时间量之后过期。由此,信任引擎UO可以将私钥发行 给用户,其中该私钥将对于例如24消失有效。根据这种实施例,信任 引擎110有利地可以发布与特定用户相关联的新加密密钥,然后发行 该新加密密钥对中的私钥。然后, 一旦加密私钥被发行,随着它不能 再受到信任引擎110的保护,信任引擎110立即使这种私钥的内部有效使用过期。
此外,本领域技术人员将意识到,加密系统100或者信任引擎110
可以包括识别任何类型的设备的功能,所述任何类型的设备例如是膝 上型电脑、蜂窝电话、网络、生物测定设备等,但也不限于此。根据 一个实施例,这种意识可能源于再对于特定设备的请求中提供的数据, 该请求例如为对于为了访问或使用而鉴权的请求、对于加密功能的请 求等。根据一个实施例前述请求可能包括唯一的设备标识符,如处理
器ID。另选的,该请求可以包括特定可识别数据格式的数据。例如, 移动和卫星电话通常不包括对于完全X509.v3重加密证书的处理能 力,因此不会请求这些证书。根据该实施例,信任引擎110可以识别 存在的数据格式的类型,并且只对特定类型进行响应。
在上述系统的另外方面,可以使用下文所述的各种技术来提供上 下文敏感鉴权。例如如图16所示,上下文敏感鉴权使得能够不仅评估 由用户在试图对自己鉴权时发送的实际数据进行评价,而且能够对生 成和传递该数据时周围的緩建进行评价。这种技术也可以支持用户与 信任引擎110之间或者商家与信任引擎110之间的亊务特定信任仲裁, 如下所述。
如上所讨论的,鉴权是这样一个处理,其证实用户就是他所声称 自己是的人.通常,鉴权需要将某些事实证明给鉴权机关.本发明的 信任引擎110代表用户鉴权自己所必须通过的机关。用户必须通过如 下方式中的任一个向信任引擎110证明他就是他声称自己是的人知 道只有该用户应当知道的事物(基于知识的鉴权)、具有只有该用户 应当具有的事物(基于标记的鉴权),或者必须通过成为用户应当是 的亊物(基于生物测定信息的鉴权)来进行证明。
基于知识的鉴权的示例包括但不限于密码、PIN码或者加锁组 合。基于标记的鉴权的示例包括但不限于房间钥匙、真实信用卡、驾 驶执照、或者特定电话号码。基于生物测定信息的鉴权的示例包括但 不限于指紋、笔迹分析、面部扫描、手部扫描、耳部扫描、虹膜扫描、 血管图案、DNA、声音分析或视网膜扫描。
每个类型的鉴权具有特定的优点和缺点,并且每个类型都提供不 同的安全级别。例如,与偷听某人的密码并重复该密码相比,通常更 难于创建与其他人的指紋匹配的假指紋。每个类型的鉴权还需要对于 鉴权机关已知的不同类型的数据,以使用该种形式的鉴权验证某人。
如文中所使用的,"鉴权"将广泛地指代验证某人地身份是他所 声称自己是的人的总体处理。"鉴权技术"将指代基于知识、物理标 记或生物测定信息读取的特定条目的特定类型的鉴权。"鉴权数据" 指代发送到或者证明给鉴权机关以建立身份的信息。"注册数据"将 指代最初被提交给鉴权机关以建立与鉴权数据的比较基线的数据。"鉴 权实例"将指代与尝试由鉴权技术鉴权相关联的数据。
上面参照图10描述了鉴权用户的处理中所设计的内部协议和通 信。该处理中的发生上下文敏感鉴权的部分出现在图10的步骤1045 所示的比较步骤内。该步骤在鉴权引擎215内发生,并且设计组合从
该处理的一个具体实施例在图16中示出,并且下面将描述。
在图16的步骤1600中由鉴权引擎接收由用户提供的当前鉴权数 据和从存储机构210检取的注册数据。这两组数据都可以包含与多个 独立的鉴权技术关联的数据,鉴权引擎215在步骤1605中对与每个单 个鉴权示例关联的鉴权数据进行分离。这是必须的,从而将鉴权数据 与用户的注册数据的适当子集相比(如,指紋鉴权数据应当与指故注 册数据相比,而不是与密码注册数据相比)。
通常,对用户进行鉴权包括一个或多个单独的鉴权示例,基于这 些示例,鉴权技术可用于用户。这些方法不受由用户在他的注册处理 期间提供的注册数据(如果用户在注册时没有提供视网膜扫描,则他 将不能使用视网膜扫描来鉴权自己)和当前可用于用户的装置(如, 如果用户在其当前位置处不具有指紋读取器,则指紋鉴权将是不现实 的)的限制;然而,在特定情况下,可以使用多个鉴权示例的组合, 以更为可靠地对于特定事务而鉴权用户。
每个鉴权实例包括与特定鉴权技术(如,指紋、密码、智能卡等)
和对于该特定技术的数据的捕获和传递有关的周围环境有关的数据。 例如,试图经由密码验证的特定实例将不仅生成与该密码本身有关的 数据,而且生成与该密码尝试有关的环境数据,成为"元数据"。该 环境数据包括诸如特定鉴权实例发生的时间、从其传递鉴权信息的网 络地址这样的信息,还包括对于本领域技术人员公知的可以关于鉴权 数据的由来而确定的任何其它信息(连接的类型、处理器序列号等)。 在许多情况下,只有少量的环境元数据可获得。例如,如果用户 位于其使用代理服务器或网络地址转换或对发起计算机的地址进行掩 码的技术的网络上时,只能确定该代理服务器或路由器的地址。类似 地,在许多情况下,诸如处理器序列号的信息将由于对所使用硬件或 操作系统的限制、由该系统的操作者禁用了这些特征、或者其它的对
于用户系统与信任引擎110之间的连接的限制,而不可获得。
如图16所示, 一旦在步骤1605内在鉴权数据内标识的所述多个 单独的鉴权实例,则鉴权引擎215在指示用户是否是他所宣称自己是 的人时对于每个实例评价其可靠性。对于单个鉴权实例的可靠性通常 将基于几个因素来确定。这些因素可以被分为涉及与鉴权技术相关联 的可靠性(其在步骤1610中被评估)的因素,以及涉及所提供的特定 鉴权数据的可靠性(其在步猓1815中被评估)的因素.该第一组包括 但不限于所使用的鉴权技术的固有可靠性、以及利用该方法使用的注 册数据的可靠性。该笫二组包括但不限于注册数据与利用鉴权实例提 供的数据之间的匹配度,以及与该鉴权实例关联的元数据。这些因素 中的每一个可以独立于其它因素而变化。
鉴权技术的固有可靠性基于使冒名顶替者提供某个其它人的正 确信息的难度如何以及鉴权技术的总体错误率。对于基于密码和指示 的鉴权方法,该可靠性通常非常低,因为没有什么能够防止某人将他 们的密码暴露给另一人并且该另一人使用该密码。即时基于更为负栽 的知识的系统也可能只具有一般的可靠性,因为该知识可能非常容易 从一人传输到另一人。基于标记的鉴权,诸如使用适当的智能卡或者 使用具体终端来进行鉴权,类似地其使用的可靠性低,因为不能确保
正确的人拥有该适当的标ii。
然而,生物测定信息技术固有地更为可靠,因为其通常难于使其 它人能够以方便的方式使用你的指紋,即使该使用是无意的。因为破 坏生物测定信息鉴权技术更为困难,所以生物测定信息方法的固有可 靠性通常高于基于鉴权技术的单纯的知识或或标记的可靠性。然而, 即使生物测定信息技术也有例外,在该例外中,产生了错误的接受或 错误的拒绝。这些的发生可能因同一生物测定信息技术的不同实现的 可靠性的差异而反映出来。例如, 一个公司提供的指紋匹配系统可能 提供的可靠性高于由不同的公司提供的指紋匹配系统的可靠性,因为 所述一个公司使用了更高质量的光学器件或者更好的扫描分辨率或者 降低了错误接受或错误拒绝的发生的某些其它改进。
注意,该可靠性可以不同的方式表达。可能期望将该可靠性以某 个量度来表达,该量度可以由启发方式530以及鉴权引擎215的算法 使用来计算每个鉴权的置信级别。表达这些可靠性的一个优选模式是 百分比或比率。例如,可以对指紋指定97%的固定可靠性,而密码可 能只被指定50。/o的固有可靠性。本领域技术人员应当意识到这些特定 值知识示例,并且可以在具体实现之间改变。
必须评估其可靠性的第二因素是注册的可靠性。该因素是上文所 引称的"分级注册"的一部分。该可靠性因素反映在初始注册处理器 期间提供的标识的可靠性.例如,如果该个人开始时按照他们真实地 产生他们身份的证据以提供给公证人或其它公共机关的方式进行注 册,并且注册数据在当时被记录,并且被公证,则该用户将会比在注 册期间通过网络提供并且只由与该个人并非真实关联数字签名或其它 信息保证的数据更为可靠性。
具有可变可靠性级别的其它注册技术包括但不限于在信任引擎 110的操作者的实际办公室处的注册;在用户的工作地点处的注册; 在邮局或签证机关处的注册;通过信任引擎110操作者的附属的或信 任的一方进行的注册;匿名或假名注册,其中所注册的身份尚未通过 特定真实个体以及现有技术中公知的这种其它装置所鉴别。
这些因素反映信任引擎110与在注册处理期间提供的标识的源之
间的信任。例如,如果在提供身份证据的最初处理期间与雇主关联地 进行注册,则该信息在公司内部可以被认为是极其可靠的,但是政府 办亊处或者竟争对手可能以较低级别信任该信息。因此,由这些其它 组织中的每一个运行的信任引擎可以对该注册知道不同的可靠性级别。
类似地,通过网络提交但是利用该同 一信任引擎110通过在先前
注册期间所提供的其它信任数据而鉴权的附加数据可以被视为与原注 册数据一样可靠,即时后一数据是经由开放式网络提交的。在这种情 况下,后续公证将有效地提交与原注册数据关联的可靠性的级别。例 如在此方式中,可能因向某一注册机关证实与所注册数据匹配的个人 的标识而使匿名或假名注册变为完全注册。
上述可靠性因素通常是在任何特定鉴权实例之前预先可以确定 的值。这是因为他们基于注册和技术,而不是基于实际鉴权。在一个 实施例中,基于这些因素产生可靠性的步骤涉及对于该特定鉴权技术 和用户的注册数据查询先前确定的值。在本发明有利实施例的另一方 面,这种可靠性可能包括有注册数据本身。通过这种方式,这些因素
被与从存储机构210发送的注册数据一起传递到鉴权引擎215,
虽然这些因素可能通常旨在任何单独鉴权实例之前预先确定的, 但是它们仍然对于使用对于该用户的特定鉴权技术的每个鉴权实例有 影响。此外,虽然这些值可以随着时间改变(如,如果用户以更为可 靠的方式重新注册),但是它们并不依赖于鉴权本身。相反,与单个 具体实例的数据关联的可靠性因素可能视每个情况而变化。如上所述, 必须对于每个新鉴权评价这些因素,以在步骤1815产生可靠性得分。 鉴权数据的可靠性反映由用户在特定鉴权实例中提供的数据与 在鉴权注册期间提供的数据之间的匹配。这是该鉴权数据是否与用户 声称其就是的人的个人的注册数据匹配。正常情况下,当数据不匹配 时,用户将被视为没有被成功鉴权,并且鉴权失败。对其进行评价的 方式可能根据所使用的鉴权数据而改变。这种数据的比较由如图5所
示的鉴权引擎215的比较器515功能来执行。
例如,通常以二元方式来评价密码的匹配。换言之,密码是完全 匹配的,或者匹配失败的。通常不希望接受一个与正确密码接近但是 却不完全正确的密码,即使部分匹配。因此,当评估密码鉴权时,由 比较器515返回的鉴权的可靠性通常为100%(正确)或者0%(错误), 而不可能存在中间值。
与对于密码的规则相类似的规则通常被应用于基于标记的鉴权
方法,例如智能卡。这是因为具有类似标识或者类似于正确标识的智 能卡仍然与任何其它不正确标记一样错误。因此,标记也倾向于为二 元鉴权用户或者有正确标记,或者没有。
然而,某些类型的鉴权数据,例如问巻或生物测定信息,通常不 是二元鉴权。例如,指紋可以将参考指紋与各种程度匹配。某种程序 上,这可能是因为在最初注册期间或者在随后鉴权中捕获的数据质量 的不同。(指紋可能被弄脏,或者个人可能在特定手指尚具有静态的 瘙愈伤疤或者烧伤。)在其它实例中,数据可以不太完全匹配,因为 信息本身在某种程度上是可变的,并且是基于模式匹配的。(声音分 析可能看起来接近,但是却不完全正确,因为录音时的背景噪声、或 者环境声音,或者因为该人感冒)。最后,在比较大量数据的情况下, 可能存在这样的情况,即,很多数据良好匹配,但是某些数据却没有。 (IO个问题的问巻可能产生对于个人问题的8个正确回答,但是两个 错误回答)。对于这些原因中的任何一个,可能希望对注册数据与对 于特定鉴权实例的数据之间的匹配分配由比较器515产生的部分匹配 值。通过这种方式,例如,指紋可以被认为85%匹配。声紋65%匹配, 以及问巻80%匹配。
该比较器515产生的该量度(匹配度)是代表鉴权是否正确的基 本问题的因素。然而,如上所述,这只是可用于确定个定鉴权实例的 可靠性的因素之一。还要注意,即时可以确定与某些部分程度的匹配, 但是最终,可能期望提供基于该部分匹配的二元结果。在操作的另选 模式中,还可能将部分匹配视为二元的,即,根据匹配程度是否超过
匹配的特定阈值级别,要么完全匹配(100%)要么匹配失败(0%)。
这种处理可以用于对于产生部分匹配的系统提供匹配的简单通过/失 败级别。
在评价给定鉴权实例的可靠性的另 一 因素涉及提供该特定实例 的鉴权的环境。如上所述,环境是指与特定鉴权实例关联的元数据。
这可以包括但不限于以下信息鉴权的网络地址,只要该地址可以确 定;鉴权时间;鉴权数据的传输模式(电话线、蜂窝电话、网络等); 以及鉴权的系统的序列号.
这些因素可以用于产生正常情况下由用户请求的鉴权的类型的 筒档。从而,该信息可以用于以至少两种方式评估可靠性。 一种方式
是考虑用户是否以与该用于的鉴权的正常简档一致的方式来请求鉴 权。如果在工作日(当她在工作时)用户正常地从一个网络地址进行 鉴权请求,并且在晚上或周末(当她在家时)从不同的网络地址进行 鉴权请求,则在工作日期间从家用地址发出的将不太可靠,因为其处 于正常鉴权简档之外。类似地,如果用户正常情况下使用指紋生物测 定信息并且在晚上进行鉴权,则在白天期间只使用密码发出的鉴权将 不太可靠,
可以使用环境元数据来评价鉴权实例的可靠性的另外方式是确 定该环境提供该鉴权是他所声称自己是的个人的确证是什么程度。例 如,如果该鉴权来自其序列号已知与用户关联的系统,则这是对于用 户就是他所声称的人的好的环境指示.相反,如果鉴权来自已知处于 Los Angeles的网络地址,而用户已知为住在伦敦,则这指示该鉴权饮 泣环境而不太可靠。
还可以当用户与商家系统或者信任引擎110交互时在由用户使用 的系统上设置cookie或其它电子数据。该数据被写入用户的系统的存 储装置,并且可以包含由用户系统上的万维网浏览器或者其它软件可 读取的标识。如果在会话期间允许该数据驻留在用户系统上("永久 cookie"),则可以将其与鉴权数据一起作为在特定用户的鉴权期间由 该系统过去使用的进一步证据发送。实际上,给定实例的元数据,具
体的,永久cookie,本身可以形成一种基于标记的鉴权。
一旦如上面分别在步骤1610和1615中描述的,生成基于鉴权实 例的技术和数据的适当可靠性因素,则可以使用这些可靠性因素来产 生对于在步骤1620中提供的鉴权实例的完全可靠性。进行此操作的一 个方式只是将每个可靠性表达为百分比,并且将它们乘在一起.
例如,假设鉴权数据被从根据用户的过去鉴权文档而完全已知为 用户的家用计算机的网络地址发送(100% ),并且所使用的技术是指 紋标识(97%),并且最初的指紋数据是通过具有信任引擎110的用 户的雇主获取(roister)的(90%),并且鉴权数据与注册抹距中的 原指紋模板之间的匹配非常好99% 。那么可以按照这些可靠性的乘积 来计算该鉴权实例的总体可靠性100°/。*97%*90%*99%-86.4%可靠 性。
该计算出的可靠性代表一个单个鉴权实例的可靠性。单个鉴权实 例的可靠性还可以通过使用不同地对待不同可靠性因素的技术,例如 通过使用被对于每个可靠性因素指定了不同权重的公式,来计算出。 此外,本领域技术人员将意识到,使用的实际值可能代表不是百分比 的值,并且可以使用非算术系统. 一个实施例可以包括用于设置每个 因素的权重的由鉴权请求者使用的模块,以及在建立鉴权实例的总体 可靠性时使用的算法。
筌权引擎215可以使用上述技术及其变型来确定单个鉴权实例的 可靠性,如步骤1620指示的,然而,这可能在许多鉴权情况下对于要 同时提供的多个鉴权实例有用,例如,当试图使用本发明的系统对他 自己进行鉴权时,用户可以提供用户身份、指故鉴权数据、智能卡和 密码。在这种情况下,对信任引擎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将所提供的鉴权数据直接于所识 别用户的注册数据进行比较,如上面参照图IO讨论的,将任何差异标 记为否定鉴权。
如图17所示,在步骤1050中接收到数据之后的第一步骤是在步 骤1710中使事务引擎205确定对于该具体事务的肯定鉴权所需的信任 级别。该步骤可以由若干不同方法中的一个来执行。所需信任级别可 以由鉴权请求者在进行鉴权请求的时刻被指定给信任引擎110。鉴权 请求者还可以预先设置偏好,该偏好被存储在可由事务引擎205访问
的存储机构210中或者其它存储装置内。然后,在每次由鉴权请求者 进行鉴权请求时,可以读取并使用该偏好。该偏好还可以作为安全量 度于特定用户关联,以使得总是需要特定安全级别来鉴权该用户,该 用户偏好被存储在可由信任引擎205访问的存储机构210或其它存储 介质中。所要求的级别还可以由事务引擎205或者鉴权引擎215基于 在鉴权请求中提供的信息而导出,如要鉴权的事务的价值或安全级别。
在一个操作模式中,使用在生成鉴权请求时使用的策略管理模块 或者其它软件来指定对于该事务的鉴权所需的信任级别。这可以用于 当基于在策略管理模块中指定的策略来指定所要求的信任级别时提供 一系列要遵循的规则。 一个有利的操作模式是使这种模块并入商家的 万维网服务器中,以适当地确定利用该商家的万维网服务器发起的事 务的所要求信任级别。通过这种方式,可以根据商家的策略对来自用 户的事务请求指定所要求的信任级别,并且该信息可以与鉴权请求一 起被转发到信任引擎IIO。
该所要求的信任级别与商家想要该正在鉴权的个人事实上是他 所声称自己是的人的确定程度相互关联。例如,如果因为货物正在转 手,所以该事务是商家想JM艮高的确定级别的事务,则该商家可以要 求85%的信任级别。对于商家仅是正在鉴权用户以允许该用户查看仅 成员内容或者对聊天室实施特权的情况而言,下側风险可能足够小, 以至于商家值需要60%的信任级别。然而,为了参加价值数万美元的 产品合同,商家可能需要99%或更高的信任级别。
该所需要的信任级别代表了用户必须鉴权自己以完成事务的度 量。如果所需要的信任级别例如是85%,则用户必须向信任引擎提供 证明,该证明足够使信任引擎IIO认为该用户就是他所声称自己是的 人的置信度为85%。该所需要的信任级别与鉴权信任级别之间的平衡 产生了肯定的鉴权(使商家满意)或者可能的信任仲裁。
如图17所示,在信任引擎205接收到所要求的信任级别之后, 其在步骤1720中将要求的信任级别与鉴权置信度级别进行比较,该鉴 权置信度级别是鉴权引擎215为了当前鉴权而计算出的(如参照图16
所讨论的)。如果在步骤1730中,鉴权置信度级别高于对于该事务的 所要求的置信级别,则处理进行到步骤1740,在该步骤中,有事务引 擎205产生对于该事务的肯定鉴权。然后由事务引擎205将对于该结 果的消息插入鉴权结果中,并且返回给商家,如步骤1055所示(参见 图10)。
然而,如果在步骤1730中,鉴权置信度级别没有满足所要求的 信任级别,则对于当前鉴权存在置信间隙,并且在步骤1750中执行信 任仲裁。下面参照图18更完全地描述信任仲裁。上述处理发生在信任 引擎110地事务引擎205中。因为不需要鉴权或者其它加密操作来执 行信任仲裁(不同于事务引擎205与其它组件之间的SSL通信所要求 的操作),该处理可以在鉴权引擎215的外部执行。然而,如将要讨 论的,对于鉴权数据或者其它加密或鉴权事件的任何重新评价都将要 求事务引擎205再次提交适当的数据给鉴权引擎215。本领域技术人 员将意识到,仲裁处理另选地可能部分地或者完全地在鉴权引擎215 本身内进行。
如上所述,信任仲裁是如下处理,其中信任引擎110调解商家与 用户之间的谈判,以试图适当地确保肯定鉴权。如步骤1805所示,事 务引擎205首先确定当前状况是否适合于信任仲裁.这可以基于鉴权 环境,如该鉴权是否已经经历了多轮仲裁,以及基于商家或者用户地 偏好来确定,如下面将进一步讨论的。
在不能仲裁的这种环境下,处理进行到步骤1810,在该步驟中, 事务引擎205声称否定鉴权,然后将其插入在步骤1055中(参见图 10)被发送到商家的鉴权结果中。 一种有利地可以用于防止鉴权永远 悬而未决的限制是设置从最初鉴权请求起的超时时间段。通过这种方 式,任何在该时间限制之内没有被肯定鉴权的事务都被拒绝进一步仲 裁,并且被否定鉴权。本领域技术人员将意识到这种时间限制可能根 据事务环境以及用户和商家的期望而变化。也可以对在提供成功鉴权 时可以尝试的次数施加限制。这些限制可以由如图5所示的尝试限制 器535来处理。
如果在步骤1805中没有禁止仲裁,那么事务引擎205将进行与 谈判双方中的一方或两方的谈判。信任引擎205可能向用户发送消息 以请求某种形式的附加证明,从而提升在步骤1820中产生的鉴权置信 度级别。通过这种最简单的形式,这可能只表明曾经的鉴权是不充分 的。也可一发送如下请求,该请求产生一个或多个附加鉴权是列来提 高鉴权的整体置信度级别。
如果用户在步骤1825中提供某些附加的鉴权实例,则事务引擎 205将这些鉴权实例加入该事务的鉴权数据中并将其发送到鉴权引擎 215,如步稞1015所示(参加图10),并且基于对于该事务的先前存 在的鉴权实例以及新提供的鉴权实例,来重新评价该鉴权。
附加类型的鉴权可以是来自信任引擎110的请求,以在信任引擎 110操作者(或信任的合作者)与用户之间采取某种形式的个人到个 人接触,例如通过电话。该电话或者其它非计算机鉴权可以用于提供 与该个人的私人接触,还用于执行基于鉴权的某种形式的问巻,这还 可以提供机会来验证发出呼叫的电话号码以及可能验证当该用户打电 话时对他的声音分析。即使可能没有提供附加的鉴权数据,但是与该 用户的电话号码关联的附加上下文可能提高鉴权上下文的可靠性。基 于该电话的任何修改数据或环境被送入信任引擎110,以在考虑该鉴 权请求时使用,
此外,在步骤1820,信任引擎IIO可以提供机会使用户购买保险, 即,有效地购买更为置信的鉴权。信任引擎110的操作者可以只在鉴 权的置信度级别高于要开始该选项的特定阈值的情况下才使该选项可 用。实际上,该用户测保险是当该鉴权满足用于鉴权的信任引擎110 的正常所要求信任级别但是不满足对于该亊务的商家的所要求信任级 别时使信任引擎IIO担保该用户的方式。通过这种方式,用户仍然可 以成功地鉴权达到商家所要求的非常高的级别,即使用户可能只具有 产生了对于信任引擎110而言充分的置信度的鉴权实例。
信任引擎110的这种功能使得信任引擎110可以为被鉴权为满足 信任引擎IIO但不满足商家的某人进行担保。这类似于公证人执行的
如下功能,即,将公证人的签名加入文档以使得在随后某人阅读该文 档时向该人表明其签名出现在该文档上的人实际上是签下该签名的 人。公证人的签名证实了该用户签名的行为。通过这种方式,信任引 擎表明进行谈判的该人就是其声称自己是的人。
然而,因为信任引擎110人为地提高用户所提供的置信度级别, 所以对于信任引擎110操作者而言有很大的风险,因为用于实际上并
入满足商家所要求的信任级别。保险的成本被设计为抵消信任引擎
110 (其可能有效地证明了该用户的鉴权)错误的肯定筌权的风险。用 户向信任引擎110操作者进行支付,以承担鉴权达到高于实际提供的
置信度级别的风险。
因为这种保险系统允许某人有效地从信任引擎110购买更高的置
信度等级,所以商家和用户可能都希望阻止在某些事务中使用用户侧 保险。商家可能希望对于他们知道实际的筌权数据支持他们所要求的
置信级别的情形限制肯定鉴权,从而可能指示信任引擎110不允许用
户側保险。类似地,为了保护用户的在线身份,用户可能希望阻止基 于其帐户使用用户侧保险,或者可能希望对于无需保险即可使鉴权置 信级别高于特定限制的情形限制用户侧保险的使用。该限制可以用作 一个安全量度,来防止某人偷听到密码或窃取智能卡,并且使用他们 来错误地鉴权到低置信度级别,然后购买保险以产生非常高的(错误 的)置信度级别。在确定是否允许用户侧保险时可以对这些因素进行 评价。
如果用户在步骤1840购买保险,则在步骤1845中基于所购买的 保险调整鉴权置信度级别,并且在步骤1730(参见图17)中再次比较 鉴权置信度级别和所要求的信任级别。处理从这里继续,并且可能导 致步骤1740 (参见图17)中的肯定鉴权,或者在步骤1740中返回到 信任仲裁处理以进行进一步仲裁(如果允许)或者如果禁止进一步仲 裁则在步骤1810给出否定鉴权。
除了在步骤1820向用户发送消息之外,事务引擎205还可以在 步骤1830向商家发送消息,其表明悬而未决的鉴权当前低于所要求的
信任级别。该消息还可以提供关于如何进行到商家的各种选项。这些 选项之一是仅通知商家当前鉴权置信度级别是什么,并且询问商家是 否系统保持他们当前的未满足要求的信任级别。这可能是有益的,因 为在某些情况下,商家可能具有独立的方式来鉴权该事务,或者可能 曾使用了默认的要求集合,该要求集合通常使得最初产生的所要求级 别高于对于正在进行的特定事务所实际需要的级别高。
例如,可能是如下标准做法,即,期望所有到来与商家的购买定
单事务都满足98%信任级别。然而,如果最近商家和长期客户电话讨 论了一定单,并且随后立即对该事务进行了鉴权,但是只有93%的置 信级别,则该商家可能希望仅对于该事务降低接受阈值,因为该电话 有效地向商家提供了额外证明。在某些情形下,商家可能希望降低他 们的所要求的信任级别,但是并不特地对于当前鉴权置信度的级别降 低要求。例如,在上述示例中的商家可能认为定购之前的电话可能值 得将所需要的信任级别降低4%;然而这仍然高于用户产生的93%的 置信度。
如果在步骤1835中商家确实调整了他们所要求的信任级别,则 在步骤1730中将鉴权所产生的鉴权置信度级别与所要求的信任级别 进行比较(参加图17)。如果该置信度级别目前超过了所要求的置信 度级别,则在步骤1740中在事务引擎205中可以产生肯定的鉴权(参 加图17)。如果不是,则如果允许的话,可以如上所述尝试进一步的 仲裁。
除了请求调整所要求的置信级别之外,事务引擎205还可以向请 求鉴权的商家提供商家侧保险。该保险的目的类似于上述的用户侧保 险的目的。然而,这里,不同于信任引擎在上面鉴权所产生的实际鉴 权置信度级别时所承担风险的成本,该保险的成本对应于商家在接受 较低的置信度信任级别时所承担的风险。
代替仅降低他们的实际所要求的信任级别,商家可以选择购买保 险来保护其自己不受与用户鉴权时的较低置信级别关联的额外风险的 影响。如上所述,有利地,可以由商家仅考虑购买这种保险来填补在
当前鉴权已经高于某一阈值的情况下的空隙。
这种商家侧保险的可用性使得商家可以选择在不增加其自己的 成本的情况下降低他的信任要求,但是承担自己错误鉴权的风险(基 于所要求的较低信任级别);或者对于该鉴权置信度级别与他的要求 之间的信任空隙购买保险,使信任引擎110操作者承当所提供的较低 信任级别的风险。通过购买保险,商家有效地保持其高信任级别要求; 因为错误鉴权的风险已经转移到信任引擎110操作者。
如果商家在步骤1840中购买保险,则在步骤1730中将鉴权置信 度级别与所要求的信任级别进行比较(参加图17),并且处理如上所 述的继续。
注意,还可以由用户和商家相应于来自信任引擎110的消息。本 领域技术人员将意识到,由多种方式可以处理处理这些情形。处理可 能多个响应的一个有利模式是仅以先来先服务的方式对待这些响应。 例如,如果商家以较低的所要求置信度级别进行了响应,并且不久之 后,用户也购买了保险类提高他的鉴权级别,则首先基于来自商家的 降低的信任要求来重新评价该鉴权。如杲鉴权现在是肯定的,则忽略 用户的保险购买。在另一有利操作模式中,用户可以仅对满足商家的 新的降低的信任要求所需要的保险级别付费(如果即时对于该涓埃女 冠的的商家信任要求,仍然有信任空隙)。
如果在步稞1850中的信任仲裁助理期间,在对于鉴权设置的时 间限制内没有接收到来自任何一方的响应,则在步稞1805中再次评价 该仲裁。这有效地再次开始了仲裁处理。如果在步骤1805中时间限制 最终或者在其它情况下阻止了进一步的仲裁,则有事务引擎2<>5在步 躁1810中产生否定鉴权,并在步骤1055中将其返回给商家(参见图 10)。如果没有,则可以将新消息发送到用户和商家,并且如果希望, 可以重复所述处理。
注意,对于某些类型的事务,例如,并不是事务一部分的数字签 名文档,可能无需存在商家或者其它第三方;因此,事务主要在用户 与信任引擎110之间。在诸如这样的情形中,信任引擎110将具有其
自己的必须满足的要求信任级别,以产生肯定的鉴权。然而,在这种
情况下,通常将不期望信任引擎110对用户提供保险来使他提高他自
己签名的置信度。
上面所述的并在图16到18中示出的处理可以使用各种通信模式 执行,如参照信任引擎110所描述的。例如,这些消息可以是基于万 维网的,并且使用信任引擎110与实时下载到在用户或商家系统上允 许的浏览器的小程序之间的SSL连接来发送。在另选操作模式中,可 以有用户和商家使用某些有助于这种仲裁和保险事务的专用应用。在 另一另选操作模式中,可以使用安全电子邮件操作来调解上述仲裁, 由此允许延期的评价和鉴权的批处理。本领域技术人员将意识到,可 以使用适合于环境和商家的鉴权要求的不同通信模式。
参照图19的以下描述描述了一个结合了如上所述的本发明多个 方面的示例事务。该示例例示了通过信任引擎110调解的用户与商家 之间的整个处理。虽然可以使用上面详细描述的各种步骤和组件来执 行以下事务,但是所例示的处理集中于信任引擎110、用户和商家之 间的交互。
亊务开始于在步骤1900中当用户在线浏览网页的同时在商家的 网站上填写定单表格时。用户希望将签有她的数字签名的定单提交给 商家.为了进行此操作,用户在步骤1905中利用他的对于签名的请求 提交定单,用户还将提供鉴权数据,该数据将用于如上所述地来鉴权 他的身份。
在步骤1910,如上所述,由信任引擎110将鉴权数据与注册数据 进行比较,如果产生了肯定的鉴权,则将利用用户私钥签名的定单的 散列联通定单本身转发到商家。
商家在步骤1915接收经签名的定单,然后商家在步骤1920将产 生与要进行的购买相关的清单或其它合同。在步骤1925中将该合同利 用对于签名的请求发送回用户。商家还可以在步骤1930中将对于该合 同事务的鉴权请求发送到信任引擎110,该请求包括将由双方签名的 该合同的散列。为了允许由双方对该合同进行数字签名,该商家还包
括用于自己的鉴权数据,以使得如果需要,可以随后验证商家在合同 上的签名。
如上所述,然后信任引擎110验证由商家提供的鉴权数据以确认 商家的身份,并且如果在步骤1935中该数据产生肯定的鉴权,则当从 用户接收到该数据时继续到步骤1955。如果商家的鉴权数据与商家的 注册数据的匹配没有达到期望的程度,则将一消息返回给商家,以请 求进一步鉴权。如果需要,如上所述,此时可以进行信任仲裁,以使 得商家成功地将其自己对于信任引擎110鉴权。
当用户在步骤1940接收到该合同,他浏览该合同,并且在步骤 1945中如果该合同是可以接受的,则生成对于签署该合同的鉴权数 据,然后在步骤1950将该合同的散列以及他的鉴权数据发送到信任引 擎110。信任引擎110在步骤1955中验证鉴权数据,并且如果鉴权良 好,则如上所述进行到处理合同。如上面参照图17和18讨论的,适 当地,可以进行信任仲裁以填补存在于鉴权置信度级别与对于该事务 所要求的鉴权级别之间的信任空隙。
在步骤1960,信任引擎110利用用户的私钥签署该合同的散列, 并且将该签名后的散列发送到商家,利用信任引擎110的私钥510代 替用户签署该完全消息,即,包括该完全消息的散列(包括用户的签 名)。在步骤1965中,该消息被商家接收。该消息代表所签署的合同 (使用用户的私钥加密的合同的散列)和来自信任引擎110的收据(利 用信任引擎110的私钥加密的包括所签署合同在内的消息的散列)。
在步骤1970,信任引擎110类似地准备带有商家私钥的合同的散 列,并将信任引擎110签名的该合同转发给用户。通过这种方式,在 步骤1975,用户也接收到由商家签名的合同的拷贝,以及由信任引擎 110签名的对于传递该签名的合同的收据。
除了上述讨论之外,本发明的附加方面提供了鉴权服务提供上模 块(SPM),其作为访问由上述信任引擎110提供的功能的方式,可 以对于客户侧应用可用,提供这种服务的一个有利方式是使加密SPM 成为第三方应用编程接口 (API)与可以经由网络或其它远端连接访
问的信任引擎110之间的中间通信。下面参照图20描述示例加密 SPM。
例如,在典型的系统上,多个API对于编程者可用。每个API 提供一功能调用集,其可以由在系统上允许的应用2000进行。提供适 于加密功能、鉴权功能和其它安全功能的编程接口的API的示例包括 由Mcrisoft利用其Windows操作系统提供的加密API ( CAPI) 2010, 以及由IBM、 Intel和Open Group的其它成员赞助的7>共数据安全架 构(CDSA) 在下面的讨论中,CAPI将用作示例安全API。然而, 上述加密SPM也可一利用CDSA或者其它现有技术已知的安全API 来使用。
当调用加密功能时,该AP1由用户系统105或商家系统120使用。 这些功能中可能包括与进行各种加密操作相关的请求,该加密操作例 如为利用特定密钥对文档加密、签署文件、请求数字证书、衍生所签 名文档上的签名、以及本文所描述的或者本领域技术人员公知的其它 加密功能。
这些加密功能通常在CAPI 2010所处于的系统的本地进行。这是 因为通常所调用的功能要求使用本地用户系统105的资源,如指紋读 取器,或者利用在本地机器上执行的库而编程的软件功能。对于这些 本地资源的访问通常由上面所提到的一个或多个服务提供上模块 (SPM) 2015、 2020来提供,这些模块提供执行加密功能的资源.这 些SPM可以包括进行加密或解密功能的软件库2015、或者能够访问 专用硬件2025的驱动器和应用2020,如生物测定信息扫描设备。通 过由CAPI 2010提供可以由系统105的应用200(M吏用的功能,SPM 2015、 2020使CAPI访问与系统上的可用服务关联的较低级别的功能 和资源。
根据本发明,可以提供加密SPM 2030,器能够访问由信任引擎 110提供的加密工,并使这些功能通过CAPI 2010而对于应用2000可 用。与CAPI 2010只能访问通过SPM 2015、 2020本地可用的资源不 同,这里所述的加密SPM 2030将能够将对于加密操作的请求提交到
位于远端的、网络可访问的信任引擎110,以进行所期望的操作。
例如,如果应用2000需要进行加密操作,例如签署文档,则应用2000对适当的CAPI 2010功能进行功能调用。CAPI 2010进而将利用通过SPM 2015、 020和加密SPM2030而变得可用的资源,来执行该功能。在数字签名功能的情况下,加密SPM2040将产生适当的请求,该请求将经由通信链路125被发送到信任引擎110。
在加密SPM 2030与信任引擎110之间进行的操作与可能在任何 其它系统与信任引擎110之间的进行的操作相同。然而,这些功能被 有效地通过CAPI 2010而对于用户系统105可用,以使得它们看起来 在用户系统105自身上本地可用。然而,与一般SPM 2015、 2020不 同,在远端信任引擎110上执行这些功能,并且相应于通过通信链路 125的适当请求将结果转送到加密SPM 2030。
该加密SPM 2030使得否则可能不可用的许多操作对于用户系统105或商家系统120可用。这些功能包括但不限于:文档的加密和解密;数字证书的发行;文档的数字签名;数字签名的验证;以及对于本领域技术人员显而易见的其它操作。
在一单独实施例中,本发明包括用于对任何数据集执行本发明的数据保护方法的完全系统。该实施例的计算机系统包括数字分割模块,该数字分割模块包括图8中所示并且本文中描述的功能。在本发明的一个实施例中,数字分割模块,有时在本文中也成为安全数据分析器,包括分析器程序或软件套件,该分析器程序或软件套件包括数据分割、加密和解密、重构或重新组合功能。该实施例也可以进一步包括一个数据存储设施或者多个数据存储设施。该数据分割模块,或者安全数据分析器包括并入电子基础设施内的或者添加到要求其数据元素的完 全安全性的任何应用的跨平台的软件模块套件。该分析处理对任何类 型的数据集以及任何和所有文件类型进行操作,或者在数据库中对于该数据库中的任何数据行、列或单元进行操作。
在一个实施例中,本发明的分析处理可以按照模块分层方式来设 计,并且任何加密处理都适于在本发明的处理中使用。本发明的分析
和分割处理的模块分层可以包括但不限于l)加密分割,并分散并安 全存储在多个位置;2)对可加密分割块进行加密,并且分散并完全存 储在多个位置中;3)对可加密分割块进行加密,对每份进行加密,然 后将其分散并安全存储在多个位置;以及4)对可加密分割块进行加 密,利用不同类型的加密对每份进行加密,然后分散并安全存储在多 个位置。
在一个实施例中,该处理包括才艮据所生成的随机数的内容或者密 钥对数据进行分割,并且将在对分割数据进行加密时所使用的该密钥 进行加密分割,以将其保护成经分析和分割的数据的两个或更多个部 分或份,并且在一个实施例中,优选的保护成经分析和分割的数据的 四个或更多个部分,对所有这些部分进行加密,然后将这些部分分散 并存储回数据库中,或者将它们重新定位到任何有名字的设备,该设 备根据请求者对于私密性和安全性的需求可以是固定的或者可移除 的。另选的,在另一实施例中,加密可以在将由分割模块或安全数据 分析器进行数据集的分割之前进行。在本实施例中如上所述处理的原 始数据被加密和搞乱,并且被保护,如果需要,经加密元素的分散实 质上可以在任何地方进行,包括但不限于三个服务器或数据存储i殳备, 或者在多个单独的数据存储设施或设备中.在一个实施例中,加密密 钥管理可以被包含在软件組件内,或者在另一实施例中,可以并入已 有基础设施或者任何其它期望的地点.
加密分割(cryptosplit)将数据划分成N份,该划分可以基于数 据的任何尺寸的单位,包括单个位、几个位、几个字节、几千字节、 几兆字节或者更大的单位,以及预先确定或随机生成的多个数据单位 尺寸的任何模式或组合。根据随机或预先确定的值的集合,这些单位 可以是不同的尺寸。这意味着数据可以被视为这些单位的序列。通过 这种方式,例如通过使用一个或多个预先确定或随机生成的数据单位 尺寸的模式、序列或组合,这些数据单位的尺寸本身可以使数据更为 安全。然后将这些单位分布(随机地或者通过预先确定的值的集合) 到所述N份中。该分布可能还涉及搅乱这些份中这些单位地顺序。对
于本领域技术人员而言,很容易理解,将数据单位分布到这些份中可 以根据各种可能的选择来执行,包括但不限于固定尺寸的、预定尺寸
的、或者一个或多个预先确定或随机生成的数据单位尺寸的组合、模 式或序列。
该加密分割处理或cryptosplit的一个示例是考虑数据尺寸位23 字节,将数据单位尺寸选择位一个字节,并且将份数选择位4。每个 自己将被分布到这4份之一中。假设随机分布,则获得密钥以生成23 个随机数的序列(rl、 r2、 r3到r23),每个随机数的值在对应于这 四份的1与4之间。这些数据单位(在本实施例为23个单独的数据字 节)中的每一个与对应于所述四份之一的这23个随机数之一相关联。 通过将数据的笫一字节放入份编号rl中、将第二字节放入份r2中, 将第三字节放入份r3中,到将数据的第23字节放入份r23中,来将 这些数据字节分布到这四份中。本领域技术人员容易理解,在本发明 的cryptosplit处理中可以使用各种其它可能的步骤,或者多个步骤的 组合或序列,包括多个数据单位的尺寸,并且上述示例是对于加密分 割数据的一个处理的非限制性描述。为了重新创建原始数据,将进行 逆操作.
在本发明的加密分割处理的另一实施例中,对于加密分割处理的 选项是在这些份中提供足够的冗余,以使得只需要这些份的子集来将 数据重新组合或回复成原始的可用形式。作为非限制性示例,加密分 割可以作为"4个中的3个(3of4)"加密分割来进行,以使得这四 份中只需要三份来将数据重新組合或恢复成其原始或可用形式。这样 也称为"N个中的M个加密分割",其中N是总份数,M是小于N 并至少为l的数。本领域技术人员很容易理解,在本发明的加密分割 处理中可能有许多方式来创建该冗余。
在本发明的加密分割处理的一个实施例中,每个数据单位被存储 成两份,主份和备份份。使用上述的"4个中的3个"加密分割处理,
任何一份可以丢失,并且这对于利用没有丢失的数据单位来重新组合 或回复原始数据是足够的,因为总共四份中只需要三份。如本文中所
述,对应于这些份之一生成随机数。该随机数与一数据单位关联,并 且基于一密钥,存储在对应的份中。在该实施例中,使用一个密钥来 生成主份随机数和备份份随机数。如本文中对于本发明的加密分割处
理描述的,生成等于数据单位数的从O到3的一组随机数(也称为主 份数)。然后,从1到3生成等于数据单位数的另一组随机数(也称 为备份随机数)。然后将每个数据单位与主份数和备份份数关联。另 选的,可以生成一组随机数,该组随机数少于数据单位数,并且重复 该组随机数,但是这可能降低敏感数据的安全性。主份数用于确定数 据单位要存储到哪一份中。备份份数与主份数组合来产生0和3之间 的第三随机数,并且该书被用于确定该数据单位存储到哪一份中。在 该示例中,确定第三份数的公式如下
(主份数+备份份数)MOD 4=第三份数
在上述实施例中,主份数在0和3之间,并且备份份数在1和3 之间,这确保了第三份数不同于主份数。这使得该数据单位被存储在 两个不同的份中。本领域技术人员容易理解,除了本文公开的实施例 之外,还有许多方式进行冗余加密分割和非冗余加密分割。例如,可 以使用不同的算法搅乱每份中的数据单位。该数据单位搅乱例如可以 在原始数据被分割成多个数据单位时执行,或者在将这些数据单位放 入这些份之后进行,或者在该份充满之后进行。
可以对任何尺寸的数据单位进行本文描述的各种加密分割处理 和数据搅乱处理,以及本发明的所述加密分割和数据搅乱方法的任何 其它实施例,该任何尺寸的数据单位包括但不限于小至等于单个位、 几个位、几个字节、几千字节、几兆字节或更大。
执行本文描述的该加密分割处理的源代码的一个实施例的示例

DATA1:241 -具有待分割数据的多个字节的数组 SHARE
;
&1 - Si + 1,
End
ELSE IF RANDOM [J〖= =1 then Begin
SHARES [2,S2] = DATA《J
52 一 S2 + l,' END
EIiSE IF RANDOM [Jthen Begin
Shares3,S3〗《 data [ J]
53 - 83 + l'-
Bnd Else begin
Shares[4,S4
data
54 = S4 + 1;
END;
进行本文描述的鉴权分离RAID处理的源代码的一个实施例的 示例为
生成两组随机数,PrimaryShare为0到3, BackupShare为1到 3。然后利用与在上述加密分割处理中相同的处理将每个数据单位放入 share[primaryshare[l

和 sharel(primarysharel+backupsharel])mod 4中该方法可以伸缩为 任何尺寸N,其中对于恢复数据只有N-l份。
经加密数据元素的检取、重新合并、重新组合或重构可以使用任 何数量的鉴权技术,包括但不限于生物测定信息,例如指紋识别、面 部扫描、手部扫描、虹膜扫描、视网膜扫描、眼部扫描、血管图案识
别或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、 对每份进行加密,然后将加密密钥存储在与经加密数据部分 不同的位置份l得到密钥4、份2得到密钥1、份3得到密钥2、份 4得到密钥3。
为了恢复原始数据格式,使步骤逆反。
本领域技术人员容易理解,如果需要,本文描述的这些方法的某 些步骤可以按照不同的顺序执行,或者可以重复多次。本领域技术人 员还容易理解,该数据的多个部分可以被彼此不同地处理。例如,仅 对经分析数据的一个部分进行多个分离或分析步骤。经分析数据的每 个部分可以唯一地按照任何期望方式被保护,只要该数据可以重新组 合、重构、重新组成、解密或者恢复为其原始的或其它可用形式即可。
如图23中所示,本发明的该实施例示出由安全数据分析器对数 据进行的处理的多个步骤,以将会话主密钥数据与经分析数据一起存 储。
1、 访问与经鉴权用户关联的分析器主密钥。
2、 生成唯一的会话主密钥
3、 从分析器主密钥与会话主密钥的异或功能导出中间密钥。
4、 使用利用中间密钥加密的已有或新加密算法,对数据进行可 选加密。
5、 根据中间密钥的模式,将所得经可选加密的数据分离成四份 或四部分经分析的数据。
6、 在该方法的实施例中,将会话主密钥与所述多份安全数据一 起存储在数据存储机构中。根据分析器主密钥的模式对会话主密钥进 行分离,并且将该密钥数据附于加密后的经分析数据。
7、 所得多份数据将包含可选地经加密的多部分原始数据以及多 部分会话主密钥。
8、 可选地对于所述四份数据中的每份生成加密密钥。
9、 可选地利用已有的或者新的加密算法对每份进行加密,然后 将加密密钥存储在与经加密数据部分不同的位置例如,份l得到密 钥4、份2得到密钥1、份3得到密钥2、份4得到密钥3。
为了恢复原始数据格式,使步骤逆反。
本领域技术人员容易理解,如果需要,本文描述的这些方法的某 些步骤可以按照不同的顺序执行,或者可以重复多次。本领域技术人
员还容易理解,该数据的多个部分可以被彼此不同地处理。例如,仅 对经分析数据的一个部分进行多个分析步骤。经分析数据的每个部分 可以唯一地按照任何期望方式被保护,只要该数据可以重新组合、重 构、重新组成、解密或者恢复为其原始的或其它可用形式即可。
如图24中所示以及文中描述的,本发明的另一实施例包括由安 全数据分析器对数据进行的处理的多个步骤,以将会话主密钥数据存 储在一个或多个独立的密钥管理表中。
1、 访问与经加密用户关联的分析器主密钥。
2、 生成唯一的会话主密钥。
3、 从分析器主密钥与会话主密钥的异或功能导出中间密钥,
4、 使用利用中间密钥加密的已有或新加密算法,对数据进行可
选加密o
5、 根据中间密钥的模式,将所得经可选加密的数据分离成四份 或四部分经分析的数据。
6、 在本发明该方法的实施例中,将会话主密钥存储在数据存储 机构中的独立的密钥管理表中。对于该事务生成唯一的事务ID。在独 立的密钥管理表中存储该事务ID和会话主密钥,或者将会话主密钥 和亊务ID传回对于外部管理的调用程序,根据分析器主密钥的模式 分离亊务ID,并将该数据附于可选加密后的经分析或分离的数据,
7、 所得四份数据包含经可选加密的多部分原始数据以及多部分 事务ID。
8、 可选地对于所述四份数据中的每份生成加密密钥。
9、 对每份进行加密,然后将加密密钥存储在与经加密数据部分 或份不同的位置。例如份1得到密钥4、份2得到密钥1、份3得到 密钥2、份4得到密钥3。
为了恢复原始数据格式,使步骤逆反。
本领域技术人员容易理解,如果需要,本文描述的这些方法的某 些步骤可以按照不同的顺序执行,或者可以重复多次。本领域技术人 员还容易理解,该数据的多个部分可以被彼此不同地处理。例如,仅
对经分析数据的一个部分进行多个分离或分析步骤。经分析数据的每 个部分可以唯一地按照任何期望方式被保护,只要该数据可以重新组 合、重构、重新组成、解密或者恢复为其原始的或其它可用形式即可。 本领域技术人员容易理解,各种加密方法适于在本发明的方法中
使用。 一次一密乱码本(One Time Pad)算法通常被认为是最安全加 密方法之一,并且适于在本发明的方法中使用。使用该一次一密乱码 本要求生成密钥,该密钥只要保护数据安全即可。该方法的使用可能 在某些情形下是不太期望的,例如,这些情形因为待保护数据集的尺 寸而生成并管理非常长的密钥。在一次一密乱码本(OTP)算法中, 使用简单的异或函数,XOR。对于同一长度的两个二元流x和y,xXOR y意味着x和y的基于位的异或。
在位级别生成
0 XOR 0 = 0
0 XOR1 = 1
1XOR 0 = 1
1XOR1=0
在本文中针对要分割的n字节机密s (或数据集)来描述该处理 的一个示例。该处理将生成n字节随机值a,然后设置 b = a XOR s
注意,我们可以经由以下登时导出"s": s = a XOR b
值a和b称为份或部分,并且放在多个独立的存储机构中. 一旦 机密s被分为两份或更多份,将其以安全方式删除(discard)。
本发明的安全数据分析器可以使用该函数,进行涉及多个不同机 密密钥值的XOR函数,这些不同机密密钥值为Kl、 K2、 K3、 K4、 K5。在操作开始时,使要保护的数据经过第一加密操作,安全数据= 数据XOR机密密钥5:
S = D XOR K5
为了以例如四份S1、 S2、 S3、 Sn安全地存储所得的经加密数据,
并根据K5的值对该数据进行分析,并分割成"n"段或份.该操作产 生原始经加密数据的"n"个伪随机份。然后可以利用剩余的机密密 钥值对每份进行后续的XOR函数,例如安全数据段1=经加密数 据份IXOR加密密钥1:
SD1 = SI XOR Kl
SD3 = S2 XOR K2
SD3 = S3 XOR K3
SDn = Sn XOR Kn
在一个实施例中,可能期望任何一个存储机构包含对于解密其中 保持的信息而言足够的信息,从而将对于解密该份所要求的密钥存储 在不同的数据存储机构中
存储机构1: SDl,Kn
存储机构2: SD1,K1
存储机构3: SD3,K2
存储机构n: SDn,K3。
此外,将对于鉴权原始会话加密密钥K5所要求的信息附于每份。 因此,在本文描述的密钥管理示例中,原始会话主密钥被以一亊务ID 表示,该原始会话主密钥被根据依赖于安装的分析器主密钥(TID1、 TID2、 TID3、 TIDn)分割为"n"份。
存储机构1: SDl,Kn,TIDl
存储机构2: SD2,K1,TID2
存储机构3: SD3,K2,TID3
存储机构n: SDn, K3, TIDn。
在本文所述的并入会话密钥示例中,根据依赖于安装的分析器主 密钥(SK1、 SK2、 SK3、 SKn)的内容将会话主密钥分割为"n"份。 存储机构1: SDl,Kn,SKl 存储机构2: SD1, Kl, SK2 存储机构3: SD3,K2,SK3 存储机构n: SDn, K3, SKn。除非检取到所有四份,否则根据该示例,无法重新组合该数据。 即使捕获到所有四份,在不能访问会话主密钥和分析器主密钥的青奸, 也不能重新组合或恢复原始信息。
在本发明的该方法的一个实施例中描述了该示例,并且在另一示 例中,描述了用于将多份置于存储机构中以使得来自所有存储机构的 多份可以被组合以形成机密鉴权材料的算法。所需计算非常简单且快
速。然而,当利用一次一密乱码本(OTP)算法时,可能存在不太期 望该算法的情形,例如要保护的数据集太大,因为密钥尺寸与要存储 数据的尺寸相同。因此,需要存储并传送大约两倍于原始数据量,在 某些情形下这可能是不期望的。 流密码RS1
流密码RS1分割技术非常类似于本文所述的OTP分割技术。代 替n位随机值,生成n, = min(n, 16)字节随机值,并使用其来对RS1 流密码算法进行加密。RS流密码算法的优点在于根据非常少的种子数 生成伪随机密钥。RS1流密码机密的执行速度大约是现有技术中公知 的三重DES加密的IO倍,且不危及安全性。RS1流密码算法是现有 技术中已知的,并且可被用于生成在XOR函数中使用的密钥。RS1 流密码算法可与市场上可获得的诸如RSA Security Inc的RC4Tm的流 加密码算法流密码算法互操作,并且适于在本发明的方法中使用。
使用上述密钥符号,Kl到K5现在是n,字节随机值,并且我们
设置
SD1 = Sl XOR E(K1) SD3 = S2 XOR E(K2) SD3 = S3 XOR E(K3) SDn = Sn XOR E(Kn)
其中E(K1)到E(Kn)是利用Kl到Kn加密的从RS1流密码算法 输出的最先n,个字节。然后如本文所述,将这些份放入数据存储机构 中。
在该流密码RS1算法中,所需要的请求进行的计算几乎与OTP
算法一样简单和快速。使用RS1流加密的该示例的优点在于对于每 份,系统仅需要以平均比要保护的原始数据的尺寸大出大概16字节, 来进行存储和发送。当原始数据的尺寸大于16字节时,该RS1算法 比OTP算法有效,因为它相对较短。本领域技术人员容易理解,各种 加密方法和算法,包括但不限于RS1、 OTP、 RC4TM、三重DES和 AES,都适合于在本发明中使用。
本发明的数据保护方法和计算机系统优于传统加密方法的主要 优点。 一个优点在于将多份数据移动到一个或多个数据存储机构或存 储设备上而获得的安全性,这些位置可以在不同的逻辑、物理或地理 位置。当物理地或者在不同人员的控制下分割多个数据时,可以大大 降低对于数据的安全的危及。
本发明的方法和系统提供的另一优点是组合本发明的用于保护 数据的方法的多个步骤,以提供保持敏感数据的安全性的全面处理. 该数据可以利用安全密钥加密,并根据该安全密钥被分割成一份或多 份,在一个实施例中,分割成四份。利用根据一安全密钥而安全存储 在四份中的指针,安全地存储该安全密钥。然后对所述多份数据分别 加密,并且利用不同的加密份安全地存储这些密钥。当组合根据本文 4Hf的方法时,根据这些方法的保护数据的整个处理成为对于数据安 全性的全面封装。
根据本发明的方法保护的数据可以容易地被检取,并且恢复、重 构、重新组合、解密或者以其它方式返回到其原始的或者其它适当形 式以使用。为了恢复原始数据,可以使用以下项
1、 数据集的所有份或部分。
2、 再现用于保护数据的方法的处理流的知识和能力。
3、 对于会话主密钥的访问。
4、 对于分析器主密钥的访问。
因此,可能期望安排安全安装,其中上述元件中的至少一个可以 与该系统的其余部件物理上分离(例如在不同系统管理员的控制之 下)。
可以通过使用分析器主密钥防止欺诈应用调用数据保护方法应 用。在采取任何动作之前,在本发明的该实施例中可能需要在安全数 据分析器与该应用之间的相互鉴权握手。
该系统的安全性规定对于重新创建原始数据没有"后门"方法。 对于可能产生数据恢复问题的安装,可以增强安全数据分析器以提供
所述四份和会话主密钥存储机构的镜像。诸如RAID (非昂贵磁盘的 冗余阵列,用于将信息散布到若干磁盘)的硬件选项和诸如复制的软 件选项也可以帮助数据恢复设计。 密钥管理
在本发明的一个实施例中,该数据保护方法对于一个加密操作使 用三组密钥。基于安装,每组密钥可以具有各自的密钥存储、检取、 安全性和恢复选项。可以使用的密钥包括但布限于
分析器主密钥
该密钥是与安全数据分析器的安装有关的单独密钥。将其安装在 其上布置有安全数据分析器的服务器上。有各种选项适于保护该密钥, 这些选项包括但不限于例如智能卡、单独的硬件密钥存储、标准密 钥存储、客户密钥存储或者保护在经保护的数据库表内。
会活主密钥
可以在每次保护数据时生成会话主密钥。会话主密钥用于在进行 分析和分割操作之前对数据加密。还可以将其作为分析经加密数据的 方式并入(如果会话主密钥没有并入该经分析的数据中) 会话主密 钥可以按照各种方式保护,包括但不限于例如标准密钥存储、客户密 钥存储、单独的数据库表、或者保护在经加密份内。
份加密密钥
对于所创建的数据集的每份或每部分,可以生成各自的份加密密 钥以进一步加密这些份.这些份加密密钥可以被存储在与被加密份不 同的份中。
本领域技术人员容易理解,本发明的数据保护方法和计算机系统 广泛应用于任何设备或环境中的任何数据类型。除了在因特网上或者
在客户与商家之间执行的商业应用之外,本发明的数据保护方法和计 算机系统还可非常适用于非商业或私人设备或环境。可以使用本文描 述的方法和系统来保护想要保护其不受任何未授权用户的威胁的任何 数据组。例如,通过采用本发明的用于保护数据的方法和系统,对于 公司或阻织内的特定数据库的访问有利地可以被限制于唯一选择的用 户。另一示例是生成、修改或访问文档,其中期望限制访问或者防止 未授权的或意外的访问,或者对于一组选定个人、计算机或工作站外 部的公开。本发明的保护数据的方法和系统可应用于对于任何设备的 任何非商业或商业环境或者设置,包括但不限于任何组织、政府办事 处或4S司。
在本发明的另一实施例中,数据保护方法对于加密操作使用三组 密钥。基于安装,每组密钥可以具有各自的密钥存储、检取、安全性
和恢复选项。可以使用的密钥包括但布限于
1、 分析器主密钥
该密钥是与安全数据分析器的安装有关的单独密钥。将其安装在 其上布置有安全数据分析器的服务器上。有各种选项适于保护该密钥, 这些选项包括但不限于例如智能卡、单独的硬件密钥存储、标准密 钥存储、客户密钥存储或者保护在经保护的数据库表内。
2、 会话主密钥
可以在每次保护数据时生成会话主密钥。会话主密钥用于与分析 器主密钥结合使用来导出中间密钥。会话主密钥可以按照各种方式保 护,包括但不限于例如标准密钥存储、客户密钥存储、单独的数据库 表、或者保护在经加密份内。
3、 中间密钥
可以在每次保护数据时生成中间密钥。中间密钥用于在分析和分 割操作之前对数据进行加密。还可以将该密钥作为分析经加密数据的 方式并入。
4、 份加密密钥
对于所创建的数据集的每份或每部分,可以生成各自的份加密密
钥以进一步加密这些份。这些份加密密钥可以被存储在与被加密份不 同的份中。
本领域技术人员容易理解,本发明的数据保护方法和计算机系统 广泛应用于任何设备或环境中的任何数据类型。除了在因特网上或者
在客户与商家之间执行的商业应用之外,本发明的数据保护方法和计 算机系统还可非常适用于非商业或私人设备或环境。可以使用本文描 述的方法和系统来保护想要保护其不受任何未授权用户的威胁的任何 数据组。例如,通过采用本发明的用于保护数据的方法和系统,对于 公司或阻织内的特定数据库的访问有利地可以被限制于唯一选择的用 户。另一示例是生成、修改或访问文档,其中期望限制访问或者防止 未授权的或意外的访问,或者对于一组选定个人、计算机或工作站外 部的公开。本发明的保护数据的方法和系统可应用于对于任何设备的 任何非商业或商业环境或者设置,包括但不限于任何组织、政府办事 处或公司。
工作组、项目、个人PC/膝上型电脑或跨平台数据安全性
本发明的数据保护方法和计算机系统还可用于由在例如商业机 构、办公室、政府办事处或任何设备(其中创建、处理或存储敏感数
据)中使用的工作组、项目、个人PC/膝上型电脑以及任何其它平台
来保护数据。本发明提供用于保护数据的方法和计算机系统,该方法
和计算机系统已知要由诸如美国政府的组织寻求使用,从而跨整个政 府组织或者在一个州或联邦级别内的多个政府之间实现。
本发明的数据保护方法和计算机系统不仅能够提供对于屏幕文
件(flatfile)进行分析和分割,还能够对于任何类型的数据字段、数 据集以及表格进行分析和分割。此外,任何形式的数据都能够受到该 处理的保护,这些数据包括但不限于文本、视频、图像、上午信息和 语音数据。本发明的保护数据的方法的可伸缩性、速度和数据吞吐量 不仅限于用户在其配置中所具有的硬件。
在本发明的一个实施例中,如下所述地在工作组环境中使用这些 数据保护方法。在一个实施例中,如图23所示并如下文所描述的,本 发明的工作组规模的数据保护方法使用TrustEngine的私钥管理功能 来存储对于一组用户共享安全数据所必须的用户/组关系以及相关私 钥(分析器组主密钥)。本发明的该方法能够4艮据如何配置分析器主 密钥来为公司、工作组或个人用户保护数据。
在一个实施例中,可以提供附加密钥管理和用户/密钥管理程序, 使得可以利用单点的管理和密钥管理来进行宽规模的工作组实现。由 单个维护程序来处理密钥生成、管理和撤销,随着用户数量增加,这 些操作都变得非常重要。在另一实施例中,可以跨一个或若干不同的 系统管理员而设置密钥管理,如果需要,该密钥管理可能不允许任何 个人或组控制数据。这使得可以如一组织所定义的,通过职务、责任、 成员、权利等来获得对于受保护数据的访问。并且对于受保护数据的 访问可以只限于使允许或要求的人员仅访问他们工作所用的部分,而 其他人,如经理或总裁,可以访问所有受保护数据。该实施例允许在 公司或组织内的不同組之间共享受保护数据,而同时只允许某些选定 个人,如具有受授权和预定职务和责任的个人,只能查看数据。此外, 本发明的方法和系统的该实施例还允许在要求某一共享的例如不同公 司、或4J^司的不同部门或分部、或者任何政府或组织等的不同组织部 门、组、办事处或办公室等之间共享数据,单并不是任何一方都被允 许访问所有数据。对于本发明的这种方法和系统的需要和使用的具体 显著示例是在例如政府区域、办亊处和办公室之间、大公司的不同分 布、部门或办公室之间或者任何组织之间允许共享,但是要维护安全 性,
将本发明的方法应用于较小恥溪的示例如下。将分析器主密钥作 为安全数据分析器的编序(serialization)或引号码(branding)用于 一组织。随着使用分析器主密钥的规模从整个企业缩减到较小的工作 组,本文描述的数据保护方法用于在多个用户组内共享文件。
在困25所示的和下文描述的示例中,利用他们在组织内的头衔 或职务来定义六个用户。侧栏代表根据他们的职务用户可以术语的五 个可能的组。箭头代表用户是一个或多个组的成员。
当配置在本示例中使用的安全数据分析器时,系统管理员通过维 护程序从操作系统访问用户和组信息。该维护程序基于用户是组中的 成员对用户生成并指定分析器组主密钥。
在该示例中,在高级人员组中有三个成员。对于该組,动作为
1、 访问对于该高级人员组的分析器组主密钥(如果不可用,则 生成一密钥);
2、 生成将CEO与该高级人员组关联的数字证书;
3、 生成将CFO与该高级人员组关联的数字证书;
4、 生成将副总裁、市场与该高级人员組关联的数字证书。 对于每組以及每組内的每个会员将进行相同的一组动作,当完成
维护程序时,分析器组主密钥成为对于该组中每个会员的共享凭证, 当用户离开该組时,可以通过维护程序自动撤销所指定的数字证书, 而不影响该組的其余成员。
一旦定义了共享凭证,分析和分割处理则相同。当要保护文件、 文档或数据元素时,提示用户当保护数据时使用目标組。所得受保护 数据仅可由该目标組的其它成员访问.本发明的这些方法和系统的功 能可以利用任何其它计算机系统或软件平台来使用,任何可以是例如 并入现有应用程序或者对于文件安全性独立使用.
本领域技术人员容易理解,加密算法中的任何一个或组合适于在 本发明的方法和系统中使用。例如,在一个实施例中,加密步骤可以 被重复以产生多层加密方案。此外,可以在重复加密步骤中使用不同 的加密算法或者多个加密算法的组合,以使得将不同的加密算法应用 于多层加密方案的不同层。这样,该加密方案本身可能成为本发明的 用于保护敏感数据不被未授权使用或访问的方法的组成部分。
安全数据分析器可以包括作为内部组件、作为外部组件、或者作 为这两者的错误检查组件。例如,在一个适当方法中,由于数据的多 个部分是使用根据本发明的安全数据分析器而创建以确保该数据在一 部分内的整体性,所以按照该部分内的预设间隔取散列值,并且将散 列值附于该间隔的末尾。散列值是该数据的可预测和可再生树脂标识。
如果数据内的任何位改变,则该散列值将不同。然后扫描模块(或者 作为安全数据分析器外部的独立组件或者作为内部组件)可以扫描有 安全数据分析器生成的数据的这些部分。将数据的每个部分(另选的, 根据某一间隔或者通过随机或伪随机抽样,少于数据的所有部分)与 所附的一个或多个散列值进行比较,并且采取一动作。该动作可以包 括报告匹配和不匹配的值、警告不匹配的值、或者调用某一外部或内 部程序以触发数据的恢复。例如,数据的恢复可以通过基于如下概念 来调用恢复模块以执行,该概念为根据本发明可能需要少于所有部分 的部分来生成原始数据。
可以使用附于所有数据部分或者其自己内的任何适当的整体信 息来实现任何其它适当的整体检查,整体信息可以包括可用于确定数 据部分整体的任何适当信息。整体信息的示例可以包括基于任何适当
参数(如,基于各数据部分)、数字签名信息、消息鉴权码(MAC) 信息、任何其它适当信息、或者他们的任何组合而计算出的散列值。
本发明的安全数据分析器可能用于任何适当的应用中。即,本文 描述的安全数据分析器具有在不同计算和技术领域中的各种应用,下 面讨论几个不同领域。应当理解,这些本质上只是示例,并且任何其 它适当的应用可以利用该安全数据分析器.进一步应当理解,所述示 例只是示例实施例,其可以以任何适当方式修改以满足任何适当期望, 例如,分析和分割可以基于任何适当的单位,例如位、字节,千字节、 兆字节,或者基于它们的任何组合,或者基于任何其它适当单位.
本发明的安全数据分析器可以用于实现安全物理标记,借助于这 些标记可能需要存储在物理标记中的数据以访问存储在另 一存储区域 中的附加数据。在一个适当方法中,诸如小型USB闪存驱动、软盘、 光盘、智能卡的物理标记或任何其它适当物理标记可以用于存储根据 本发明的经分析数据的至少两部分中的一个部分,为了访问原始数据, 需要访问USB闪存驱动。由此,保持经分析数据的一个部分的个人计 算机将需要具有USB闪存驱动,而经分析数据的另一部分在可以访问 原始数据之前附上。存储区域2500包括经分析数据2502的一部分。
具有经分析数据2506的一部分的物理标记2504将需要使用任何适当 的计算接口 2508 (如USB、串行、并行、蓝牙、IR、 IEEE 1394、以 太网或者任何其它适当的通信接口 )被耦合到存储区域2500,以访问 原始数据。这在例如计算机的敏感数据被置之不理并且易受未授权访 问尝试的情形下是有用的。通过移除物理标记(如,USB闪存驱动), 敏感数据不可访问。应当理解,可以使用用于使用物理标记的任何其 它适当方法。
本发明的安全数据分析器可以用于实现安全鉴权系统,通过该系 统,使用安全数据分析器对用户注册数据(如,密码、加密私钥、指 紋模板、生物测定信息数据或者任何其它适当的用户注册数据)进行 分析和分割。可以对用户注册数据进行分析和分割,由此,可以在智 能卡、政府公共接入卡、任何适当的物理存储设备(如,磁盘或盘、 USB密钥驱动等)、或者任何其它适当的设备上存储一个或多个部分。 可以在进行鉴权的系统中存储经分析用户注册数据的一个或多个其它 部分。这对于鉴权处理提供添加的安全级别(除了从生物测定信息源 获得的生物测定信息鉴权信息之外,还必须经由适当的经分析和分割 的数据部分获得用户注册数据)。
本发明的安全数据分析器可以并入任何适当的已有系统中,从而 将其功能用于每个系统各自的环境。图27示出了例示系统2600的框 图,其可以包括用于实现任何适当应用的软件、硬件或者两者,系统 2600可以是一种已有系统,其中安全数据分析器2602可以被改装为 一集成组件。另选的,安全数据分析器2602可以在其最早设计阶段并 入任何适当的系统2600中。可以在系统2600的任何适当级别,并入 安全数据分析器2600。例如,可以在充分后端级别将安全数据分析器 2602并入系统2600中,以使得安全数据分析器2602的存在可以基本 上对于系统2600的最终用户透明。根据本发明,安全数据分析器2602 可以用于在一个或多个存储设备2604之间分析和分割数据。下面讨论 具有本文中并入的安全数据分析器的系统的一些例示性示例。
本发明的安全数据分析器可以集成到操作系统内核(如,Linux、 Unix或者任何其它适当的商用或者专用操作系统)。该集成可以用于 在设备级别保护数据,由此,例如通常存储在一个或多个设备中的数 据被集成到操作系统中并且存储在所述一个或多个设备中的安全数据 分析器分割成某一数量的部分。当试图访问原始数据时,也并入该操 作系统的适当软件可以按照对于最终用户透明的方式将经分析的数据 部分重新合并成原始数据。
本发明的安全数据分析器可以集成到容积管理器或者存储系统 的任何其它适当组件中,以保护跨任何或所有受支持平台的本地或通 过网络的数据存储。例如,利用集成的安全数据分析器,存储系统可 以利用由安全数据分析器提供的冗余(即,该冗余用于实现为了重构 原始数据而使需要的部分比数据的所有独立部分少的特征),以防止 数据丢失。安全数据分析器还允许将写入存储设备的(无论是否使用 冗余)的所有数据采取根据本发明的分析而产生的多个部分的形式. 当试图访问原始数据时,也集成到容量管理器或者存储系统的其它适 当组件的适当软件可以按照可以对于最终用户透明的方式将经分析的 数据部分重新合并到原始数据中。
在一种适当的方法中,本发明的安全数据分析器可以集成到 RAID控制器(作为硬件或软件)中。这允许将数据安全存储到多个 驱动,同时在驱动故障的情况下保持容错,
本发明的安全数据分析器可以并入数据库中,从而例如保护敏感 表信息.例如,在一个适当方法中,可以根据本发明对与数据库表的 特定单元(如,多个单独单元、 一个或多个特定栏、 一行或多行、它 们的任何组合、或者一个安全的数据库表)关联的数据进行分析和分 离(即,其中将不同部分存储在一个或多个位置处的一个或多个存储 装置上,或者存储在单个存储装置上)。通过传统鉴权方法(如,用 户名和密码询问)可以授权进行访问以重新合并多个部分从而查看原 始数据。
本发明的安全分析器可以集成到涉及移动(即,将数据从一个位 置转移到另一位置)中的数据的任何适当系统中。这些系统包括例如
电子邮件、流传输数据广播以及无线(如,WiFi)通信。对于电子邮 件,在一个适当方法中,可以使用安全数据分析器来分析发出消息(即, 包含文本、二元数据、或者两者(如,附于电子邮件消息的文件)), 并将将分析数据的不同部分沿着不同路径发送,由此创建多个数据流。 如果这些数据流中的任何一个的安全被危及,则原始消息仍保持安全, 因为系统可以要求根据本发明组合所述多个部分中的多于一个部分, 以产生原始数据。在另一适当方法中,可以一次沿着一同路径传输数 据的多个不同部分,以使得如果获得一个部分,其可能不足以生成原 始数据。根据本发明,不同部分到达期望的接收者位置,并且可以被 合并以生成原始数据。
图27和28时这些电子邮件系统的例示性框图。图28示出了发 送方系统2700,其可以包括任何适当的硬件,如计算机终端、个人计 算机、手持设备(如PDA、 Blackberry)、蜂窝电话、计算机网络、 任何其它适当硬件、或者它们的任何组合。发送方系统2700用于生成 和/或存储消息2704,该消息可以是例如电子邮件消息、二元数据文件
(如,图形、声音、视频等)、或者两者,消息2704被根据本发明的 安全数据分析器2702分析并分割。所得数据部分可以跨越网络2708
(如,因特网、内联网、LAN、 WiFi、蓝牙、任何其它适当的硬连线 或无线通信方式、或者它们的任何组合)上的一个或多个单独的通信 路径2706而传输到接收方系统2710,这些数据部分可以在时间上并 行传输,或者另选的,根据不同数据部分的通信之间的任何适当延时 而传输.接收方系统2710可以是相对于发送方系统2700的如上所迷 的任何适当的硬件。根据本发明,在接收方系统2710处重新合并沿着 通信路径2706承栽的多个单独的数据部分,以生成原始消息或数据.
图28示出了发送方系统2800,其可以包括任何适当的硬件,如 计算机终端、个人计算机、手持设备(如PDA)、蜂窝电话。计算机 网络、任何其它适当的硬件、或者它们的任何组合。发送方系统2800 可以用于生成和/或存储消息2804,该消息可以是例如电子邮件消息、 二元数据文件(如,图形、声音、视频等)或者两者。根据本发明,
通过安全数据分析器2802来分析和分割消息2804。将所得数据部分 跨越网络(如,因特网、内联网、LAN、 WiFi、蓝牙、任何其它适当 的通信方式、或者它们的任何組合)上的单个通信路径2806而传输到 接收方系统2810。这些数据部分可以跨越通信路径2806相对于彼此 串行传输。接收方系统2810可以是相对于发送方系统2800的如上所 述的任何适当的硬件。根据本发明,在接收方系统2810处重新合并沿 着通信路径2706承载的多个单独的数据部分,以生成原始消息或数 据。
应当理解,图27和28的布置仅是例示。可以使用任何其它适当 的布置。例如,在另一适当方法中,可以并入图27和28的系统,通 过这些系统使用图28的多路径方法,并且切中使用 一个或多个通信路 径2706来承栽比通信路径2806在图29的情况下承载的一个数据部分 更多的数据部分。通常
可以在运转中数据系统的任何适当级别集成安全数据分析器。例 如,在电子邮件系统的情况下,可以在用户接口级别集成安全分析器 (集成到Microsoft Outlook中),在这种情况下,当4吏用电子邮件 时用户可以控制安全数据分析器特征的使用。另选的,安全分析器可 以在后端组件,诸如交换服务器中实现,在这种情况下,根据本发明, 可以对消息自动进行分析、分割、并且沿着不同路径传输,而无需任 何用户干预。
类似地,在数据(如音频、视频)的流传播情况下,可以对送出 数据进行分析,并且分离成多个流,每个流包含经分析数据的一部分。 根据本发明,所述多个流可以沿着一个或多个路径传输,并且在接收 方位置处被重新合并。该方法的优点之一在于其避免了与传统数据加 密相关的相对大的开销,该传统数据加密之后是在单个通信信道上的 经加密数据的传输。本发明的安全分析器允许在多个并行流中发送运 转中数据,这提高了速度和效率。
应当理解,可以集成安全数据分析器来保护经过任何传输介质的 任何类型的运转中数据,并且对这些数据容错,所述任何传输介质包
括例如有线、无线、或者物理。例如,基于因特网协议的语音(VoIP) 应用可以利用本发明的安全数据分析器。可以使用本发明的安全数据 分析器来保护从或到诸如Blackberry和SmartPhone的任何适当的个 人数字助理(PDA)设备的无线或有线数据传送。根据本发明,使用 用于端到端和基于集线器的无线网络、卫星通信、点到点无线通信、 因特网客户/服务器通信或者任何其它适当通信的无线802.11协议的
通信可能涉及安全数据分析器的运转中数据功能。计算机外围设^(如 打印机、扫描仪、监视器、键盘、网络路由器、生物测定信息鉴权设 备(如,指紋扫描仪)或者任何其它适当外围设备)之间、计算机与 外围设备之间之间、计算机外围设备与任何其它适当设备之间、或者 它们的组合之间的数据通信可以利用本发明的运转中数据特征。
使用独立的路由、媒介、方法、任何其它适当的物理传输或者它 们的任何组合,本发明的运转中数据特征可以用于安全份的物理传输, 例如,数据的物理传输可以在数字/磁带、软盘、光盘、物理标记、USB 驱动、可以动硬驱动、具有闪存的消费者电子设备、闪存、用于传输 数据的任何其它适当介质、或者它们的任何组合上进行。
本发明的安全数据分析器可以提供具有故障恢复功能的安全性。 根据本发明,为了检取原始数据,可能需要少于由安全数据分析器产 生的分离数据的所有部分的部分。即,在所存储的m部分之外,n 可 以是对于检取原始数据所需的这m个部分的最小数,其中iK-m。例 如,如果这四个部分中的每一部分被存储在相对于其它三个部分不同 的物理位置中,则,如果在本示例中n-2,则这些位置中的两个的安 全可能被危及,由此,数据被毁坏或者不可访问,但是原始数据仍然 可以从其它两个位置中的部分中检取。可以使用对于n或m的任何适 当值。
此外,本发明的m个中的n个的特征可以用于创建"两人规则", 根据该规则,为了避免委托单个个人或者任何其它实体完全访问可能 是敏感的数据,可能需要两个或更多个不同实体(每一个具有经本发 明的安全分析器分析的分离数据的一部分)同一将它们的多个部分放
在一起以检取原始数据。
本发明的安全数据分析器可以用于提供具有组大小密钥的一组 实体,该密钥允许组成员访问被授权由该特定组访问的特定信息。该 组密钥可以是由根据本发明的安全分析器产生的多个数据部分之一, 该部分可能需要与中央存储的另一部分合并, 一边例如检取所搜索的 信息。该特征允许例如保护一组之中的写作。这可以应用于例如专用 网络、虚拟私人网络、内联网或者任何其它适当网络。
使用安全分析器的具体应用包括例如联合信息共享,其中,例如, 使多国友好政府力量能够在在单个网络或者双网络上在对于每个相应 国家授权的安全级别上传输可操作或者其它敏感数据(即,与涉及当 前使用的相对而言基本上人工的处理的许多网络相比)。该功能也可 以应用于公司或者其它组织,其中需要对于一个或多个特定个人(在 组织内或不在组织内)已知的信息可以通过单个网络传输,而无需干 扰查看该信息的未授权个人。
另一特定应用包括用于政府系统的多级别安全分层。即,本发明
的安全分析器可以提供如下功能使用单个网络在经分类信息的不同 级别(如,未分类、分类、机密、顶级机密)运行政府系统。如果需 要可以使用更多网络(如,用于顶级机密的单独网络),但是本发明 也允许基本上比当前布置更少,其中对于每个分类级别使用单独的网 络。
应当理解,可以使用本发明的安全分析器的上述应用的任何组 合。例如,可以使用組密钥应用以及运转中数据安全应用(即,根据 本发明,通过这些应用,只有相应組的会员可以访问在网络上传输的 数据,并且其中,当数据在移动时,在多个路径(或者在多个连续部 分中)之间分割数据),
本发明的安全数据分析器可以集成到任何中间件应用,以使得应 用可以安全地将数据存储到不同的数据库产品或者不同的设备,而无 需修改应用或数据库。中间件通常用于任何产品,该产品允许两个单 独的并且已经存在的程序进行通信。例如,在一个适当的方法中,集
成有安全数据分析器的中间件可以用于允许对于特定数据库编写的程 序与其它数据库进行通信,而无需定制编码。
本发明的安全数据分析器可以实现为具有任何适当功能的任何 组合,这些功能例如为本文所讨论的功能。在本发明的某些实施例中, 例如,安全司沪剧分析器可以被实现为仅具有某些功能,而其它功能 可以通过使用与安全数据分析器直接或者间接相接的外部硬件、软件 或者两者来获得。
例如,图30示出了作为安全数据分析器3000的安全数据分析器 的例示性实现。安全数据分析器3000被利用非常少的嵌入式功能实 现。如所例示的,根据本发明,安全数据分析器3000可以包括用于使 用模块3002分析数据并将数据分割成多个数据部分(本文中也成为多 份)的嵌入式功能。安全数据分析器3000还可以包括用于进行冗余的 嵌入式功能,以使得能够使用模块3004实现例如上述的n个中的m 个的特征(即,使用比经分析和分割数据的总份数少的份来重新创建 原始数据)。根据本发明,安全数据分析器3000还可以包括使用模块 3006的份分布功能,以将所迷数据分放入緩冲区中,将这些数据份从 緩冲区传输到远端位置以进行存储等。应当理解,可以将任何其它适 当的功能嵌入安全数据分析器3000中。
组合数据緩冲器3008可以是任何适当的存储器,其用于存储将
形式)。在分割操作中,组合数据緩冲器;008提供对于安全数据分^ 器3008的输入,在恢复操作中,组合数据緩冲器3008可以用于存储 安全数据分析器3000的数据。
分割份緩冲器3010可以是一个或多个存储器模块,其可以用于 存储从原始数据的分析和分割得到的多份数据。在分割操作中,分割 份緩冲器3010保持安全数据分析器的输出。在恢复操作中,分割份緩 冲器保持对于安全数据分析器3000的输入。
应当理解,可以对于安全数据分析器3000嵌入任何其它适当的 功能布置。任何附加功能可以嵌入,并且所例示的任何功能都可以去
除、使其更为鲁棒、使其较不鲁棒、或者可以以任何适当方式对其进
行修改。緩冲器3008和緩冲器3010类似地只是例示性的,并且可以 按照任何适当方式进行修改、删除或者添加。
以软件、硬件或者两者实现的任何适当模块可以被安全数据分析 器3000调用,或者可以调用安全数据分析器3000。如果需要,即时 嵌入安全数据分析器3000内的功能也可以利用一个或更多个外部模 块而替换。如所例示的, 一些外部模块包括随机数生成器3012、蓟马 反馈密钥生成器3014、散列算法3016、任何一个或多个类型的加密 3018、以及密钥管理3020。应当理解,这些仅是例示性的外部模块。 除了所例示的这些或者代替所例示的这些,可以使用任何其它适当的 模块。
密码反馈密钥生成器3014可以在安全数据分析器3000的外部对 于每个安全数据分析器操作生成唯一的密钥或者随机数(例如使用随 机数生成器3012),该密钥或随机数要用作对于如下操作的种子值, 该操作将原始会话密钥尺寸(如,128、 256、 512、或1024位的值) 扩展位等于要解析和分割的数据长度的值。对于该密码反馈密钥生成 可以使用任何适当的算法,包括例如AES密码反馈密钥生成算法.
为了便于将安全数据分析器3000和其外部模块(即,安全数据 分析器层3026)集成到应用层3024 (如,电子邮件应用、数据库应用 等),可以使用利用API功能调用的包装层.也可以使用便于将安全 数据分析器层3026集成到应用层3024中的任何其它适当布置。
图31例示性示出了当在应用层3024中发布写入(如,到存储i殳 备)、插入(如,在数据库字段中)、或者传输(如,跨网络)命令 时如何使用图30的布置。在步骤3100,对要保护的数据进行标识, 并且对安全数据分析器进行调用。该调用经过打包层3022,在该层中, 在步躁3102,打包层将在步骤3100中标识的输入数据流传输到组合 数据緩冲器3088。此外,在步骤3102,可以存储任何适当的份信息、 文件名、任何其它适当的信息、或者它们的任何组合(如,打包层3022 中的信息3106)。然后,根据本发明,安全数据处理器3000对其所承栽的数据,作为来自组合数据緩沖器3008的输入,进行分析和分割。 其将数据份输入分割份緩冲器3010。在步骤3104,打包层3022从所 存储的信息3106获得任何适当的份信息(即,由打包器3022在步骤 3102存储)和一个或多个份位置(如,来自一个或多个配置文件)。 打包层3022然后适当地对输出份(从分割份緩冲器3010获得)进行 写入(如,写入一个或多个存储设备,传输到网络上,等)。
图32例示性地示出了当进行读取(如,从存储设备)、选择(如, 从数据库字段中)、或者接收(如,从网络)时可以如何使用图30 的布置。在步骤3200,对要恢复的数据进行标识,并且从应用层3024 对安全数据分析器3000进行调用。在步骤3202,从打包层3022,或 者任何适当的份信息,并且确定份位置。打包层3022将在步骤3200 标识的数据部分加栽到分割份緩沖器4010。安全数据分析器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 倍尺寸的扩展,生成随机或位随机值,以使得可以针对原始数据中的
每位,对于随机或伪随机值的对应字节执行散列函数。根据本发明, 可以使用任何其它的用于基于逐位级别来分析和分割数据的适当算 法。应当理解,根据本发明,可以按照例如上文刚刚描述的方式将冗 余数据附于这些数据份。
在一个适当方法中,分析和分割无需是随机的或者伪随机的。取 而代之,可以使用用于分析和分割数据的任何适当的确定算法。例如, 作为分析和分割算法,可以采用将原始数据拆成顺序的多份。另一个 示例是逐位分析和分割原始数据,以循环方式将每个对应位附于这些 数据份中。应当理解,根据本发明可以按照例如上述方式将冗余数据 附于这些数据份。
在本发明的一个实施例中,在安全数据分析器生成多部分原始数 据,以恢复该原始数据之后,某一个或多个所生成部分可以是强制性
的(mandatory)。例如,如果这些部分之一用作鉴权份(如,保存 在物理标记设备上),并且如果使用安全数据分析器的容限特征(即, 其中需要少于所有部分的部分来恢复原始数据),那么即使安全数据 分析器可以访问足够数量的原始数据部分以恢复原始数据,其可能也 需要在其恢复原始数据之前的存储在物理标记设备上的鉴权份。应当 理解,基于例如应用、数据类型、用户、任何其它适当的因素、或者 它们的任何组合,可能需要任何数目和类型的特定份。
在一个适当方法中,安全数据分析器或者该安全数据分析器的外 部组件可以对原始数据的一个或多个部分进行加密。可能要求提供经 加密的部分并对其进行解密,以恢复原始数据.可以利用不同的加密 密钥对不同的经加密部分进行加密,例如,该特征可以用于实现更为 安全的"二人规则",通过该规则,第一用户需要使用第一密钥对特 定份加密,并且第二用户需要使用第二加密密钥对特定分进行加密。 为了访问原始数据,两个用户将需要具有它们各自的加密密钥并且提 供原始数据的他们各自的部分。在一个适当方法中,可以使用公钥来 加密一个或多个数据部分,该数据部分可以是恢复原始数据所需要的 强制份。然后可以使用私钥来解密该份,以在恢复原始数据时使用。
可以使用任何这种适当范例,其利用强制份,其中需要少于所有 份的份来恢复原始数据。
在本发明的一个适当实施例中,可以随机地或者伪随机地进行将 数据分布到有限数量的数据份中,以使得根据统计观点,任何特定数
概率。结果,每份数据将具有大致相等的数据位量。
根据本发明的另一实施例,有限数量的数据份中的每一个无需具 有从原始数据的分析和分割中接收多个数据单位的相同概率。取而代 之,某一份或某多份可以具有比其余份更高或更低的概率。结果,在 于其它份相关的位长度方面,某些份可能较大或较小。例如,在二份
情景中, 一个可能具有接收数据单位的1%的概率,而第二份具有99 %的概率。因此应当遵循 一旦通过安全数据分析器将这些数据单位 分布到两份中,第一份应当具有大约1%的数据,第二份具有99%的 数据。根据本发明,可以使用任何适当的概率。
应当理解,可以对安全数据分析器进行编程,以根据确切(或近 似确切)百分比将数据分布到多份。例如,安全数据分析器可以编程 位将80 %的数据分布到笫一份并且将其余20 %的数据分布到第二份。
根据本发明的另一实施例,安全数据分析器可以生成多个数据 份,其中的一个或多个具有预定义尺寸。例如,安全数据分析器可以 将原始数据分割成多个数据部分,其中这些部分中的一个部分确切地 为256位。在一个适当方法中,如果无法产生具有精确尺寸的数据部 分,則安全数据分析器可以填充该部分以使其具有正确尺寸。可以使 用任何适当的尺寸。
在一个适当方法中,数据部分的尺寸可以是加密密钥、分割密钥、 任何其它适当密钥或者任何其它数据元素的尺寸。
如前所述,安全数据分析器可以在数据的分析和分割中使用密 钥。为了清楚和简洁,这些密钥在本文中称为"分割密钥"。例如, 如前面所引入的会话主密钥是一种类型的分割密钥。此外,如前所述, 分割密钥可以保护在由安全数据分析器生成的多份数据内。可以使用
用于保护分割密钥的任何适当算法来保护这多份数据之中的分割密
钥。例如,可以使用Shamir算法来保护分割密钥,由此可以用来重 构分割密钥的信息被生成并附于这多份数据。根据本发明,还可以使 用任何其它这种适当的算法。
类似地,可以根据诸如Shamir算法的任何适当算法,在一份或 多份数据内保护任何适当加密密钥。例如,可以使用例如Shamir算 法或者任何其它适当的算法,来保护用于在分析和分割之前加密数据 集的加密密钥、用于在分析和分割之后加密数据部分的加密密钥、或 者这两者。
根据本发明的一个实施例,可以使用诸如全封装转换的所有或没 有转换(All or Nother Transform AoNT )来通过转换分割密钥、加密 密钥、任何其它适当数据元件、或者它们的组合来进一步保护数据. 例如,根据本发明用于在分析和分割之前对数据集进行加密的加密密 钥可以通过AoNT算法转换。然后根据例如Shamir算法或者任何其 它适当的算法,可以将经转换的加密密钥分布在数据份之中。为了重 构加密密钥,必须恢复经加密数据集(如,根据本发明,如果使用了 冗余,则无需使用素有数据份),以访问涉及根据本领域技术人员公 知的AoNT的转换的所需信息。当检取到原始加密密钥时,其可以用 于解密经加密数据集,以检取原始数据集,应当理解,本发明的容错 特征可以与AoNT特征结合使用,即,冗余数据可以包含在多个数据 部分中,以使得对于恢复经加密数据集而言需要比所有数据部分少的 数据部分.
应当理解,该AoNT可以应用于用于加密这些数据部分的加密密 钥,随后代替在分析和分割之前与该数据集对应的各自加密密钥的加 密和AoNT或者作为其附加,进行分析和分割。类似地,AoNT可以 应用于分割密钥。
在本发明的一个实施例中,可以使用工作组密钥进一步对在根据 本发明使用的加密密钥、分割密钥或者这两者进行加密,以提供对于 所保护数据集的额外的安全性级别。
在本发明的一个实施例中,可以提供审查模块,其跟踪何时安全 数据分析器被唤醒来分析和/或分割数据。
另外,根据本文的公开,其它合并、添加、替换或者修改对于本 领域技术人员是显而易见的。因此,本发明并不旨在限于优选实施例 的反应,而是应当参考所附权利要求来限定。
权利要求
1.一种用于保护从第一位置到第二位置的数据集的传送的方法,该方法包括:在第一位置处从该数据集生成至少两个数据部分,其中所述至少两个数据部分中的每一部分分别包含该数据集的对应子集的基本随机的分布;将所述至少两个数据部分经由至少一个通信路径从第一位置传送到第二位置,其中所述至少两个数据部分是相互分离地传送的;并且在第二位置从所述至少两个数据部分的至少子集恢复该数据集。
2、 根据权利要求1的方法,其中所述传送包括在分离的通信路 径上并行传送所述至少两个数据部分。
3、 根据权利要求1的方法,其中所述传送包括在单个通信路径 上以串行传输来传送所述至少两个数据部分。
4、 根据权利要求1的方法,其中使用电子邮件应用来完成所述 生成。
5、 根据权利要求1的方法,其中使用视频广播应用来完成所述生成。
6、 根据权利要求1的方法,其中经由所迷至少一个通信路径的 所述传送包括经由无线通信路径的传送。
7、 根据权利要求6的方法,其中经由无线通信路径的所述传送 包括经由使用802.11协议的无线通信路径的传送。
8、 根据权利要求6的方法,其中经由无线通信路径的所述传送 包括经由使用蓝牙的无线通信路径的传送。
9、 根据权利要求6的方法,其中经由无线通信路径的所述传送 包括经由无线LAN的传送。
10、 根据权利要求6的方法,其中经由无线通信路径的所述传送 包括经由蜂窝网络的传送。
11、 根据权利要求6的方法,其中经由无线通信路径的所述传送 包括经由端到端无线网络的传送。
12、 根据权利要求6的方法,其中经由无线通信路径的所述传送 包括经由基于集线器的无线网络的传送。
13、 根据权利要求6的方法,其中经由无线通信路径的所述传送 包括经由卫星传输的传送。
14、 根据权利要求l的方法,其中所述第一位置和所述第二位置 中的至少 一个是计算机外围设备。
15、 根据权利要求l的方法,其中所述第一位置和所述第二位置 中的至少一个是PDAi殳备。
16、 根据权利要求l的方法,其中所述第一位置和所述第二位置 中的至少一个是存储设备。
17、 根据权利要求l的方法,其中经由所述至少一个通信路径的 所述传送包括经由有线通信路径的传送。
18、 一种用于保护数据集的方法,该方法包括 从所述数据集生成至少两个数据部分,其中所述至少两个数据部分中的每一部分分别包含该数据集的对应子集的基本随机的分布;将所迷至少两个数据部分存储在至少两个数据存储机构上,其中所述至少两个数据存储机构是物理上相互分离的;并且使用在所述至少两个数据存储机构中的至少一个上存储的所述至少两个数据部分中的至少 一个作为存储在鉴权存储机构中的鉴权密钥,以恢复所述数据集。
19、 根据权利要求18的方法,其中所述鉴权存储机构是物理标 记设备。
20、 根据权利要求18的方法,进一步包括当所述鉴权存储机构 与所述至少两个数据存储机构的至少子集耦合时,恢复所述数据集。
21、 根据权利要求20的方法,进一步包括当所述鉴权存储机构 不再与所述至少两个数据存储机构的所述至少子集耦合时,去除对于 所述数据集的访问。
22、 一种用于保护数据集的方法,所述方法包括 从所述数据集生成至少两个数据部分,其中所述至少两个数据部分中的每一部分分别包含该数据集的对应子集的基本随机的分布;对于所述至少两个数据部分中的每一部分生成对应的完整性信息;将对应的完整性信息写入所述至少两个数据部分中的每一部分里;分离地存储所述至少两个数据部分中的每一部分;并且当所述至少两个数据部分中的至少子集的对应的完整性信息已 被验证时,从所述至少两个数据部分中的所述至少子集中恢复所述数 据集。
23、 根据权利要求22的方法,其中使用散列算法生成所述完整 性信息。
24、 根据权利要求22的方法,其中使用MAC签名生成所述完 整性信息。
25、 根据权利要求22的方法,其中使用数字签名生成所述完整 性信息。
26、 一种保护数据集的方法,该方法包括从所述数据集生成至少两个数据部分,其中所述至少两个数据部 分中的每一部分分别包含该数据集的对应子集的基本随机的分布; 分离地存储所述至少两个数据部分中的每一部分;并且 根据所述至少两个数据部分的至少子集恢复所述数据集,其中为 了恢复所述数据集,需要至少一个特定数据部分。
27、 根据权利要求26的方法,进一步包括对所述至少两个数据 部分中的至少一部分进行加密,所述至少两个数据部分中的所述至少 一部分包括所述至少一个特定数据部分。
28、 根据权利要求27的方法,其中所述加密包括根据第一加密 密钥对所述至少两个数据部分中的至少一部分进行加密,并且根据第 二加密密钥对所述至少两个数据部分中的至少另一部分进行加密。
29、 根据权利要求27的方法,其中所述加密包括使用可以利用 私钥解密的公钥对所述至少两个数据部分中的至少一部分进行加密。
30、 一种用于保护数据集的方法,所述方法包括 从所述数据集生成至少两个数据部分,其中所述至少两个数据部分中的每一部分分别包含所述数据集的对应子集的基本随机的分布,并且其中来自所述数据集的数据被分布到所述至少两个数据部分中的 至少 一部分里的概率小于来自所述数据集的数据被分布到所述至少两 个数据部分中的其余部分的概率;分离地存储所述至少两个数据部分中的每一部分;并且 从所述至少两个数据部分的至少子集恢复所述数据集。
31、 一种用于保护数据集的方法,所述方法包括 从所述数据集生成至少两个数据部分,其中所述至少两个数据部分中的每一部分分别包含所述数据集的对应子集的基本随机的分布, 并且其中所述至少两个数据部分中的至少 一部分具有预定尺寸; 分离地存储所述至少两个数据部分中的每一部分;并且 从所述至少两个数据部分的至少子集恢复所述数据集。
32、 根据权利要求31的方法,其中所述生成至少两个数据部分 包括使用具有分割密钥尺寸的分割密钥,并且其中所述预定尺寸是所 述分割密钥尺寸。
33、 根据权利要求31的方法,进一步包括在所述生成至少两个 数据部分之前利用具有加密密钥尺寸的加密密钥对所述数据集进行加 密,并且其中所述预定尺寸是所述加密密钥尺寸,
34、 一种用于保护数据集的方法,所述方法包括 从所述数据集生成至少两个数据部分,其中所述至少两个数据部分中的每一部分分别包含所述数据集的对应子集的基本随机的分布, 并且其中来自所述数据集的数据被分布到所述至少两个数据部分中的 每一部分中的概率基本相等;分离地存储所述至少两个数据部分中的每一部分;并且 从所述至少两个数据部分的至少子集恢复所述数据集。
35、 一种用于保护数据集的方法,所述方法包括 根据分割密钥从所述数据集生成至少两个数据部分,其中所述至少两个数据部分中的每一部分分别包含所述数据集的对应子集的基本 随机的分布;根据Shamir算法生成分割密钥信息,该分割密钥信息能够被用 于生成所述分割密钥,其中所述分割密钥信息被分布到所述至少两个 数据部分之中;分离地存储所述至少两个数据部分中的每一部分;并且 从所述至少两个数据部分的至少子集恢复所述数据集。
36、 根据权利要求35所述的方法,其中恢复所述数据集包括根 据来自所述至少两个数据部分的至少子集的所述分割密钥信息恢复所 述分割密钥。
37、 一种用于保护数据集的方法,所述方法包括 使用加密密钥对所述数据集进行加密;根据所述经加密的数据集生成至少两个数据部分,其中所述至少 两个数据部分中的每一部分分别包含所述经加密数据集的对应子集的 基本随机的分布;根据Shamir算法,生成加密密钥信息,该加密密钥信息能够用 于生成所述加密密钥,其中所述分割密钥信息被分布到所述至少两个 数据部分之中;分离地存储所述至少两个数据部分中的每一部分;并且从所述至少两个数据部分的至少子集恢复所述经加密数据集。
38、 根据权利要求37的方法,进一步包括 根据来自所述至少两个数据部分的至少子集的加密密钥信息,恢复所述加密密钥;并且从所述经加密数据集和所述加密密钥恢复所述数据集。
39、 一种用于保护数据集的方法,所述方法包括 从所述数据集生成至少两个数据部分,其中所述至少两个数据部分中的每一部分分别包含所述数据集的对应子集的基本随机的分布; 利用加密密钥对所述至少两个数据部分进行加密;根据Shamir算法生成加密密钥信息,该信息能够被用于生成所述加密密钥,其中所述分割密钥信息被分布到所述至少两个数据部分之中;彼此分离地存储所述至少两部分经加密的数据;并且 利用所述至少两部分经加密的数据的子集恢复所述数据集。
40、 根据权利要求39的方法,其中恢复所述数据集包括根据来 自所述至少两个数据部分的至少子集的所述分割密钥信息恢复所述分 割密钥。
41、 一种用于保护数据集的方法,所述方法包括 确定所述数据集待分布到的多个数据部分; 生成基本随机的数;基于来自基本随机的数的对应数据确定来自所述数据集的每个 数据单位待分布到哪个数据部分中,并且据此进行分布; 分离地存储所述数据部分; 从所述数据部分的至少子集恢复所述数据集。
42、 根据权利要求41的方法,其中确定来自所述数据集的每个对应数据的散列函数,确定来自所述数据集的每个数据单位待分布到 哪个数据部分中。
43、 根据权利要求41的方法,其中所述数据单位是位。
44、 根据权利要求41的方法,其中所述基本随机的数的尺寸是 所述数据集尺寸的M倍,并且其中确定来自所述数据集的每个数据单位的散列函数,确定来自所述数据集的每个数据单位待分布到哪个数 据部分中。
45、根据权利要求44的方法,其中M倍是8倍,并且其中基于 来自所述基本随机的数的对应M位的散列函数确定来自所述数据集的数的对应字节的散列函数,确定来自所述数据集的每个数据单位待 分布到哪个数据部分中。
46、 根据权利要求41的方法,进一步包括将冗余数据附于所述 数据部分中的每一部分。
47、 一种用于保护数据集的方法,所述方法包括 确定所述数据集待分布到的多个数据部分; 生成基本随机的数;对于所述数据集的每个数据单位,通过基于来自基本随机的数的 对应数据确定分割位置,来将所述数据单位分割为左段和右段,其中 所述分割位置的左边的位代表左段,所述分割位置的右边的位代表右段;基于来自所述基本随机的数的对应数据,确定将来自所述数据集 的每个数据单位的左段和右段中的每一段分布到哪个数据部分,并且据此进行分布;分离地存储所述数据部分; 从所述数据部分的至少子集恢复所述数据集。
48、 根据权利要求47的方法,其中所述将所述数据单位分割为 左段和右段包括基于来自基本随机的数的对应数据的散列函数,将 所述数据单位分割为左段和右段.
49、 根据权利要求47的方法,其中所述数据单位是字节。
50、 根据权利要求47的方法,其中生成所述基本随机的数包括 生成尺寸等于所述数据集的尺寸的所述基本随机的数。
51、 根据权利要求50的方法,其中所述数据单位是字节,并且 其中所述的将所述数据单位分割为左段和右段包括基于来自所述基本段。 '、 、
52、 根据权利要求47的方法,其中所述确定将左段和右段中的 每一段分布到哪个数据部分包括基于来自所述基本随机的数的对应 数据和基于包含所述右段和左段的所有可能分布的排列的表格,确定 将来自所述数据集的每个数据单位的左段和右段中的每一段分布到哪 个数据部分。
53、根据权利要求47的方法,其中所述确定待将左段和右段中 的每一段分布到哪个数据部分包括基于来自所述基本随机的数的对的表格,确定将来自所述数据集的每个数据单位的左段和右段中的每 一段分布到哪个数据部分,其中来自所述基本随机的数的对应数据的 散列函数指示要使用该表中的哪个条目,该条目指示对于所述左段的 目的地部分和对于所述右段的目的地部分。
54、 根据权利要求53的方法,其中生成所述基本随机的数包括生成尺寸等于所述数据集的尺寸的 基本随机的数;所述数据单位是字节;并且 所述对应数据是对应的数据单位。
55、 一种保护数据集的方法,所述方法包括 利用加密密钥对所述数据集进行加密;使用全部转换或不转换,将加密密钥转换成经转换的加密密钥; 根据所述经加密的数据集生成至少两个数据部分,其中所述两个 数据部分中的每一部分分别包含所述经加密数据集的对应子集的基本随机的分布;生成经转换的加密密钥信息,该信息能够用于生成经转换的加密 密钥,其中经转换的加密密钥信息被分布到所述至少两个数据部分之中;分离地存储所述至少两个数据部分中的每一部分;并且 从所述至少两个数据部分的至少子集恢复所述经加密的数据集。
56、 根据权利要求55的方法,进一步包括 从所述至少两个数据部分的至少子集恢复经转换的加密密钥; 从经转换的加密密钥恢复所述加密密钥;并且 对所述经加密的数据集进行解密。
57、 一种用于保护数据集的方法,所述方法包括 从所述数据集生成至少两个数据部分,其中所述至少两个数据部分中的每一部分分别包含所述数据集的对应子集的基本随机的分布;使用加密密钥将所述至少两个数据部分中的每一部分加密成至 少两个经加密数据部分;使用全部转换或不转换,将所述加密密钥转换成经转换的加密密钥;生成经转换的加密密钥信息,该信息能够用于生成经转换的加密 密钥,其中所述经转换的加密密钥信息被分布到所述至少两个数据部分之中;分离地存储所述至少两个经加密数据部分中的每一部分;并且 从所述至少两个数据部分的至少子集恢复所述数据集。
58、 根据权利要求57的方法,其中所述恢复包括 从所述至少两个数据部分的至少子集恢复所述经转换的加密密钥;从所述经转换的加密密钥恢复所述加密密钥;并且 对所述至少两个数据部分的所述至少子集进行解密。
59、 一种用于保护数据集的方法,所述方法包括利用分割密钥从所述数据集生成至少两个数据部分,其中所述至 少两个数据部分中的每一部分分别包含所述数据集的对应子集的基本 随机的分布;使用全部转换或不转换,将所述分割密钥转换成经转换的分割密钥;生成经转换的分割密钥信息,该信息能够用于生成经转换的分割 密钥,其中经转换的分割密钥信息被分布到所述至少两个数据部分之中;分离地存储所述至少两个数据部分中的每一部分;并且 从所述至少两个数据部分的至少子集恢复所述数据集。
60、 根据权利要求59的方法,其中所述恢复包括 从所述至少两个数据部分的至少子集恢复所迷经转换的分割密钥;并且从所述经转换的分割密钥恢复所述分割密钥。
61、 一种用于保护数据集的方法,所述方法包括 使用加密密钥将所述数据集加密成经加密的数据集; 对所述加密密钥进行加密;从所述经加密数据集生成至少两个数据部分,其中所述至少两个 数据部分中的每一部分分别包含经加密数据集的对应子集的基本随机 的分布;分离地存储所述至少两个经加密数据部分中的每一部分; 从所述至少两个经加密数据部分的子集恢复所迷经加密数据集; 对所述加密密钥进行解密;并且4吏用所述加密密钥从所述经加密数据集解密所迷数据集。
62、 根据权利要求61的方法,其中所述加密密钥是使用工作组 密钥加密的。
63、 一种用于保护数据集的方法,所述方法包括 从所述数据集生成至少两个数据部分,其中所述至少两个数据部分中的每一部分分别包含所述数据集的对应子集的基本随机的分布; 使用加密密钥将所述至少两个数据部分加密成至少两个经加密数据部分;对所述加密密钥进行加密;分离地存储所迷至少两个经加密数据部分中的每一部分;以及 根据所述至少两个经加密数据部分中的至少子集恢复所迷数据 集,所述恢复包括对所述加密密钥进行解密,并且利用所述加密密钥对所述至少两个经加密数据部分的至少 子集进行解密。
64、 根据权利要求63的方法,其中所述加密密钥是使用工作组 密钥加密的。
65、 一种用于保护数据集的方法,所述方法包括 使用分割密钥从所述数据集生成至少两个数据部分,其中所述至少两个数据部分中的每一部分分别包含所述数据集的对应子集的基本 随机的分布;使用加密密钥对所述分割密钥进行加密; 分离地存储所述数据集的所述至少两部分中的每一部分; 从所述数据集的所述至少两部分的至少子集恢复所述数据集,所 述恢复包括对所述分割密钥进行解密,并且利用所述分割密钥从所述至少两个数据部分的所述至少子 集恢复所述数据集。
66、 根据权利要求65的方法,其中所述分割密钥是使用工作组 密钥加密的。
67、 一种用于保护数据集的方法,所述方法包括 确定所述数据集待分布到的多个数据部分;分别将来自所述数据集的基本相等的数据份顺次分布到所述数据部分中的每一部分中;将冗余数据附于所述数据部分中的每一部分; 分离地存储所述数据部分的每一部分;以及 从所述数据部分的子集恢复所述数据集。
68、 一种用于保护数据集的方法,所述方法包括 确定所述数据集待分布到的多个数据部分;按照循环方式, 一次一位地分别将所述数据集顺次分布到所述数 据部分的每个部分中,直到所述数据集的所有位都被分布; 将冗余数据附于所述数据部分中的每一部分; 分离地存储所述数据部分的每一部分;以及 从所述数据部分的子集恢复所述数据集。
69、 一种用于保护从第一位置到第二位置的数据集的传送的系 统,该系统包括 第一处理器,用于在第一位置处从该数据集生成至少两个数据部 分,其中所述至少两个数据部分中的每一部分分别包含该数据集的对应子集的基本随机的分布;至少一个通信路径,经由所述通信路径,将所述至少两个数据部 分从第一位置传送到第二位置,其中所述至少两个数据部分是相互分 离地传送的;以及第二处理器,用于在第二位置处从所述至少两个数据部分的至少 子集恢复该数据集。
70、 根据权利要求69的系统,其中所述至少两个数据部分在分离的通信路径上并行传送。
71、 根据权利要求69的系统,其中所述至少两个数据部分在单 个通信路径上以串行传输来传送。
72、 根据权利要求69的系统,其中所述笫一处理器用于与电子 邮件应用相结合使用。
73、 根据权利要求69的系统,其中所述第一处理器用于与视频 广播应用相结合使用。
74、 根据权利要求69的系统,其中所述至少一个通信路径包括 无线通信路径,
75、 根据权利要求74的系统,其中所述无线通信路径包括802.11 协议通信路径'
76、 根据权利要求74的系统,其中所述无线通信路径包括蓝牙 通信路径。
77、 根据权利要求74的系统,其中所述无线通信路径包括无线 IAN。
78、 根据权利要求74的系统,其中所述无线通信路径包括蜂窝网络。
79、 根据权利要求74的系统,其中所述无线通信路径包括端到 端无线网络。
80、 根据权利要求74的系统,其中所述无线通信路径包括基于 集线器的无线网络。
81、 根据权利要求74的系统,路径。
82、 根据权利要求69的系统, 置中的至少 一 个是计算机外围设备。
83、 才艮据权利要求69的系统, 置中的至少一个是PDA设备。
84、 根据权利要求69的系统, 置中的至少 一个是存储设备。
85、 根据权利要求69的系统, 有线通信路径。其中无线通信路径包括卫星通信 其中所述第一位置和所述第二位 其中所述第 一位置和所述第二位 其中所述第 一位置和所述第二位 其中所述至少 一个通信路径包括
全文摘要
提供了一种安全数据分析器,其可以被集成到任何适当系统中以安全地存储并传送数据。该安全数据分析器对数据进行分析然后将数据分割为多个部分,这些部分可以被不同地存储或传送。可以采用对原始数据、各数据部分、或者这两者的加密来提供附加的安全性。该安全数据分析器可以通过将原始数据分割为多个数据部分来保护运转中数据,其中所述数据部分可以使用多个通信路径来传送。
文档编号G06F21/00GK101375284SQ200580041868
公开日2009年2月25日 申请日期2005年10月25日 优先权日2004年10月25日
发明者史蒂文·威尼克, 罗杰·达文波特, 里克·L·奥尔西尼, 马克·S·奥黑尔 申请人:里克·L·奥尔西尼;马克·S·奥黑尔;罗杰·达文波特;史蒂文·威尼克
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1