一种在多路径网络上建立安全私人互连的方法与流程

文档序号:11532255阅读:285来源:国知局
一种在多路径网络上建立安全私人互连的方法与流程

本发明涉及诸如互联网的通信网络的领域。更具体地,本发明涉及秘密分配方案,其对于在包括云、存在点(pop)的服务器和备用通信信道的混合基础设施上通过多路径通信进行通信的双方建立专用信道特别有效。秘密分配方案可以使用融合的公用目录认证来替换由公钥基础设施提供的保密性和真实性,以消除对可信机构和密钥保护的需要。



背景技术:

公共密钥基础设施基于现代密码学,其中假设存在单向函数,并且这种推测为单向函数在实践中使用。安全性是基于计算安全性,而不是经典的信息理论安全技术,诸如一次一密(每次使用最多一次的字母的随机集合,用完全安全性来加密消息),这意味着无条件保密性,特别是,不能通过用于揭示密钥的大量计算来破解。除了计算安全性保证之外,还需要通过使用认证用户和存储密钥的可信机构来认证双方来避免中间人攻击。反过来,密钥的存在是攻击的目标。

虚拟专用网络(vpn-使用公共基础设施(例如互联网)通过安全程序和隧道协议提供安全访问和确保隐私的网络)提供从云到企业网络及其内部资源的容易访问。然而,目前用于建立vpn的加密协议基于加密密钥(pki公钥基础设施)。为了在两个实体之间创建安全信道,目的地必须向发送者提供由可信证书颁发机构(ca)签名的其公钥的证书。如果发送者信任证书,则发送者使用ca的公钥来揭示目的地公钥,并且安全会话开始。然而,如果入侵者窃取某个实体的标识并向客户端提供经证明的密钥,则客户端可以使用入侵者的密钥来加密数据(例如,中间人攻击mitm)。因此,使用pki的一个漏洞是身份欺骗,导致源使用攻击者的密钥。

现有vpn的另一个限制是它们基于计算安全协议,即具有足够的计算能力,入侵者可以揭示加密数据的事实。由于机器的计算能力多年来持续增长,因此必须增加密钥的长度以便保持所需的安全级别。然而,增加密钥的长度暗示加密过程的性能的退化。此外,存在许多现有的硬件设备不支持这种新的密钥长度,因此,存在加密在信道的一部分处易受攻击的情况。此外,过去几年中有很多攻击,即使没有密钥也能成功破解这些协议,诸如,paddingoracleondowngradedlegacyencryption(poodle)攻击(这是一个中间人采用)或“compressionratioinfo-leakmadeeasy”(crime)攻击(这是针对秘密网络cookies的安全漏洞)。此外,不同于基于信息理论安全的协议,计算安全协议不是永久的并且基本上,只是信息被揭示的时间问题。作为上述限制的结果,攻击者可以在网络中的任何地方(在紧邻周围,在例如国家的封闭区域中,或在国家之间的骨干中)以及随后,或在将来的任何时间嗅探数据,尝试破解加密。

云计算(通过网络访问的分布计算的一种形式,具有同时在许多连接的计算机上运行程序的能力)是用于公司和服务供应商的最快的增长机会之一。公司使用基础设施即服务模型(iaas模型-一种在互联网上提供虚拟化的计算资源的云计算的形式),来建立降低操作费用并且增长他们的紧要信息系统的可靠性的专用和公共云。

现有解决方案之一是systems,inc.(罗德岱堡,fl,美国)呈现的cloudbridge技术,它提供了加速公共和专用网络中的应用的统一平台,产生优越的应用性能和最终用户体验。cloudbridge连接第三方公共云和专用网络,从而为支持云的第三方应用提供平台。然而,cloudbridge的隐私使用标准vpn实现,并且因此,局限于计算安全信道。

秘密分配是许多密码协议中使用的工具。秘密分配方案包括具有秘密的处理者、一组n方以及一批k方的子集。根据秘密分配方案,处理者向各方分发份额,使得k方的任何子集可以从其份额重建秘密,并且具有小于k方的任何子集不能揭示关于秘密的任何部分信息。秘密分配方案在密码学和分布式计算中具有许多应用,包括安全信息存储、安全多方计算、访问控制等。然而,这些方案都没有解决在数个可选路径上提供理论上安全的源-目的地通信的信息的问题。

其他现有技术解决方案处理当使用sdn时出现的安全问题,诸如使用安全多方计算技术来保护控制器中的数据。另一现有技术方法聚焦端到端加密网络对网络入侵检测系统(nids)操作的影响。由发送者发送到接收方的所有数据流必须复制并且还转发到中央ids(cids),即发送者将数据包发送到代理,并且代理将它转发到接收方以及cids。每个连接由vpn保护,从而防止未授权的网络嗅探。然而,代理仍然能够访问通过它们中继的网络数据包,这可能使网络数据包暴露于不想要的审查。为了确保关于代理的保密性,使用秘密分配,使得发送者将数据包分成n个份额并将份额发送到n个代理,代理进一步将份额发送到接收者和cids。然而,由于vpn路由可能跨公共网络组件,所以现有技术建议的方案的安全性基本上与vpn的安全性相同。

“spread:通过多路径路由改善网络安全”(lou等人,militarycommunicationsconference,milcom'03,2003ieee,第2卷)公开了一种端对端多路径安全数据传送方案,用于可靠数据传送的安全协议(spread),作为公共网络中数据保密服务的补充机制。通过经由多路径路由强制网络中的秘密分配原则来提高机密性。利用(t,n)秘密分配方案,要被保护的消息可以被划分为n个份额,使得可以从任何t个或更多个份额容易地恢复消息,而从任何t-1或更少的份额,应该是不可能恢复消息。所以,份额经由多个独立的路径在网络上传送。目的地节点依据接收t个或更多份额重建原始消息。

“用于安全数据传送的多路径路由方法”(lou等人,militarycommunicationsconference,milcom'01,2001ieee,第2卷)公开了当通过利用网络,例如互联网或无线网络的分布式特性在不安全网络上传输时增强数据机密性,并且组合秘密分配方案和多路径路由的方法。利用(t,n)秘密分配方案,安全消息被划分为n个份额,使得消息可以容易地从任何t个或更多个份额中恢复,而计算上不可能从任何t-1或更少的份额恢复消息。然后,使用多路径路由算法经由n个不同路径在网络上传送份额,其中没有t个或更多个路径可以份额单个节点。目的地节点可以依据接收t个或更多份额重建原始消息。任何中间节点不截取消息恢复所必需的t个份额。该算法考虑路径独立性、路径数量以及路径成本,并且能够找到任何源-目的地对之间的节点不相交路径的集合。

然而,lou等人提出的两种解决方案都不具有高性能效率,因为份额必须在预定的完全独立的源到目的地路径中路由,而不考虑每个节点中变化的数据流堵塞/限制。因此,为了获取所希望的安全级别,可能折衷数据包传送的性能。另外,根据lou等人提出的解决方案,存在不可能找到完全独立的源到目的地路径的情况,而存在现有的解决方案,其中少于k个份额遍历网络中的每个节点。例如,当连接到c的节点a和b中的每一个转发到达份额的(k-1)/2个,而它们的其他(k-1)/2个在不同的路径中转发并且一些在稍后在其他节点中合并,导致仍然满足k-1限制的非独立路径。

因此,本发明的目的是提供基于克服现有vpn的安全漏洞的数据分离方案的改进的并且安全的vpn解决方案。

本发明的另一个目的是提供一种数据分离方案,用于在发送者和接收者之间建立专用互连,而不需要使用加密密钥或可信第三方机构来实现安全性和隐私。

本发明的另一个目的是提供一种数据分离方案,其对于建立专用信道特别有效,其中信息是理论上安全的信息,并且不受所使用的vpn的安全性的限制。

本发明的另一个目的是提供一种用于在通信网络中建立专用信道的数据分离方案,其中除非至少揭示k个份额,否则不能揭示所传输的信息。

本发明的又一个目的是提供一种数据分离方案,该方案对于在网络中建立专用信道特别有效,即使数据网络利用互联网、公共云和不可信的信道,其不需要使用验证机构进行标识以加密通过数据网络在双方之间通信的数据。

本发明的其他目的优势将随着描述进行变得清楚。



技术实现要素:

本发明涉及一种用于在具有公共基础设施的至少一部分的非管理数据网络上在源和目的地之间建立完全专用的、信息理论安全的互连的方法。因此,根据预定的秘密分配方案在源处创建源数据的n个份额,并且在使用(n,k)秘密分配来加密所发送的数据的同时,将份额发送到数据网络。多个中间节点被部署在网络上的不同位置,以在从源到目的地的路径上的不同方向上创建多个完全和/或部分独立的路径,并且具有足够的数据分离。然后,在多个完全和/或部分独立的路径上发送份额,同时使得携带份额的数据包通过所选择的中间节点,使得任何中间节点处的路由器都不拦截k个或更多个份额。

中间节点可包括以下一种或多种:

存在点(pop);

计算云,具有用于根据期望的路由方案使得携带份额的数据包通过所选择的中间节点的专用处理;

备用信道和路径。

公共基础设施的部分可包括由相同的/不同的网络/互联网供应商供给的可选择的路径。

属于完全和/或部分独立路径的隧道之间的分离可以通过根据创建从源到目的地的至少部分独立的路由路径的路由方案来封装份额数据包来进行,使得沿着隧道的节点没有拦截k个或更多份额。

在封装期间,每个携带份额的数据包的报头可以改变为修改的报头,用于使得携带份额的数据包通过所选节点,其中每个数据包被迫通过所选节点的可能不同的子集。

通过将专用代理嵌入到其中的多个中,可以将网络上部署的公共云用作节点,使得修改的报头(其可以是有效载荷的一部分)将确定下一个中间目的地,该下一个中间目的地将是在创建每个修改的报头时已选择的节点。

每当数据网络具有已知的拓扑,可以离线测试流,以通过不同的节点获取数据的分布并且因此部署专用代理,以创建最佳路由路径。

每当数据网络具有路径/拓扑的未知拓扑时,恢复工具可以用于在发送携带份额的数据包之前获取通过不同节点的数据的期望分布并且验证。

路径/拓扑恢复工具可以是hp-openview、freenats、traceroute、tracemac或者batctl。

足够的数据分离可以通过动态分配节点来获取,携带份额的数据包将通过该节点。

ipv6的固有附加报头可以用于在ipv6节点之间创建隧道,其中节点之间的数据通过ipv4协议链路发送。

可以通过从目的地的ip地址创建n个份额并且经由成对的相邻中间节点之间的数个不同路径发送份额来加密目的地ip地址以及有效载荷数据,使得报头数据在每个中间节点仅通过具有至少k个份额解密,并且小于k个份额的任何子集不能被用于解密报头数据。

可以通过用不同长度的随机串填充后秘密份额数据包来创建不同长度的秘密份额数据包,以避免窃听者联盟的数据包相关。秘密份额数据包的一些可以延迟以避免时间相关。

数据数据包可以通过在发送者侧在后台创建一次一密来加密;通过数个路径将创建的一次一密发送到目的地;在有效载荷数据和公共一次一密的位串之间执行逐位异或操作;以及在可能的单个信道上发送所得到的加密的有效载荷数据的比特。

本发明还涉及一种用于在具有公共基础设施的至少一部分的管理数据网络上在源和目的地之间建立完全专用的、信息理论安全的互连的方法,包括以下步骤:

根据预定的秘密分配方案在源处创建源数据的n个份额,并且在使用(n,k)秘密分配来加密所发送的数据的同时,将份额发送到数据网络;

使用集中式网络控制器(诸如网络控制器是用于管理sdn的控制器)或在发送者处的网络管理工具来动态地管理多个部分独立的路径,份额在多个部分独立的路径上从源路由到目的地,使得在沿着每个路径的每个节点处通过路由器的份额的数量不超过k-1个份额的阈值。最佳路径由网络控制器/发送者根据阈值和数据网络中每个路由器上的负载/当前窃听联合风险动态地确定。

找到路径的问题可以通过扩展表示数据网络的原始(有向或无向)图简化为最大流问题(其可以例如使用dinitz算法或多个其他现有最大流算法中的一个来解决)。

在网络上应用(n,k)秘密分配方案所需的独特路径的数量可以由控制器响应于两个或更多个路由器的联盟而改变。

每当检测/猜测到路由器的联盟时,发送者或控制器可以适于合并联盟的节点并且找到满足分配方案约束的流。

秘密分配方案可以通过以下方式在网络的应用层上实现:

在数据进入网络栈之前接收该数据;

对整个数据应用秘密分配;

根据所需服务建立每个路由的连接,并使用tcp或udp在不同接口上发送份额。

秘密分配方案可以通过以下方式在网络的传输层上实现:

在源处,仅对数据包的有效载荷应用秘密分配,同时保持传输层的报头公开,同时允许一些小的改变,例如长度和校验和;

在源处,创建所有层具有相同的报头的n个数据包;

在目的地,缓存n个份额中的k个并应用秘密分配算法,以重建原始数据;

重建传输层的报头,并将单个数据包(k个份额中的)发送到目的地的传输层实现。

秘密分配方案可以通过以下方式在网络层上实现:

在源处,对传输层的有效载荷和报头应用秘密分配,同时保持网络层的报头公开,从而创建具有数据链路和网络层的相同报头的n个数据包,同时允许一些小的改变,如长度,校验和和crc)。在目的地,缓存n个份额中的k个并应用秘密分配算法,以构建原始数据;

发送单个数据包(k个份额中的)至目的地的传输层实现。

秘密分配方案可以通过对网络层和传输层的有效载荷和报头应用秘密分配,同时保持数据链路层的报头在lan或虚拟lan(vlan)上公开,同时允许一些小的改变,例如长度和crc),而在数据链路层上实现。

秘密分配方案可以通过在数据链路层、网络层和传输层的有效载荷和报头上应用秘密分配,同时保持所有报头是专用的,而在物理层上实现。

秘密分配方案可以通过以下方式实现为在客户端和服务器之间执行一侧识别,而不需要使用由第三方证明的密钥:

允许客户端根据服务器在数个可自行验证的公共目录中的列表,经由多个信道将随机数发送到服务器;

通过客户端应用秘密分配;

客户端从公共目录中提及的地址接收服务器的数据,并在不同的分离信道上发送份额,使得每个信道获得数据的份额,并且仅通过具有所有份额或份额的阈值,可以重建数据;

服务器获得所需的份额数量,并重建发送的数据。

秘密分配方案可以通过以下方式使用一个/两个/三个接续协议实现为在客户端和服务器之间执行双侧识别,而不需要使用由第三方证明的密钥:

允许客户端发送其id和随机数,而每个信道获得数据的份额,使得只有通过具有全部份额或份额的阈值,才能重建数据;

服务器从随机数创建份额,从公共目录接收客户端地址数据,并在不同的信道上发送份额;

服务器通过多个信道向客户端发送其从客户端获得的随机数的自身信息,使得每个信道仅获取数据的份额;

客户端验证随机数并且获得服务器信息;

客户端验证随机数,并通过不同的信道将确认连同服务器的随机数发送到服务器的多个地址;服务器通过重建确认来完成认证,并且使用一个或多个信道开始会话。

本发明还涉及一种用于在具有公共基础设施的至少一部分的管理数据网络上在源和目的地之间建立完全专用的,信息理论安全的互连的方法,包括:

根据预定的秘密分配方案在源处创建源数据的n个份额,并且在使用n-k个秘密份额来加密所发送的数据的同时,将份额发送到数据网络;

使用集中式网络控制器用于动态地管理多个部分独立的路径,份额在多个部分独立的路径上从源路由到目的地,使得沿着每个路径在每个节点处通过路由器的份额的数量不超过k-1个份额的阈值。最佳路径由网络控制器根据阈值和数据网络中每个路由器上的负载动态地确定。

秘密分配方案可以是层级秘密分配,其中至少一个秘密份额由中间网络组件进一步秘密分配,并且由下一组件之一或由目的地收集。

附图说明

在附图中:

图1a和1b分别示出了原始无向图及其对应的扩展图;

图2a示出了流程实例的原始有向图g;

图2b示出了在图2a的对应的扩展图上的不同份额的结果流和路径;

图3(现有技术)示出了用于从ca获取证书的常规过程;

图4a示出了使用本发明提出的秘密分配方案的一侧认证的过程;以及

图4b示出了使用本发明提出的秘密分配方案的双侧认证的过程。

具体实施方式

本发明提出了一种用于建立信息理论安全和专用互连的新颖替代办法,其基于多路径通信,该多路径通信可通过当前技术、云计算、存在点、备用线路和基础设施(有线连接、电话、传信系统、互联网、无线、卫星等)以及社交网络和他们的可搜索目录(电话目录、facebook、twitter、链接)有效实施,用于强力认证和避免身份窃取。本发明使用数据分离方案来在通信网络中建立信息理论安全的专用信道。在服务提供商使用云来通过使用云上的虚拟化服务器来扩展其可用服务的情况下,服务提供商必须保证客户数据中心之间的互连是专用的,并且因此,这些互连对任何潜在客户是透明的。提出的互连是信息理论安全的,特别是,没有通过对其揭示而隐私将被危及的密钥。

在一个实施方式中,所提出的解决方案使用秘密分配方案以及不同的隧道,以在确保隐私的同时传送数据。使用(n;k)秘密分配方案(n≥k)的加密通过从数据创建n个份额来完成,使得仅通过具有至少k个份额,数据可以解密,并且小于k个份额的任何子集不能用于解密数据。本发明提出使用秘密分配方案(诸如shamir:“howtoshareasecret”,acm22(11),1979)作为用于无限期地保护传输中的数据的通信基础设施。

根据所提出的方案,源从数据创建n个份额并且通过数个隧道在数据网络上将它们发送到目的地,使得沿着隧道没有节点(路由器)拦截k个或更多的份额。这样,只有获得所有份额的目的地可以解密数据,从而在源和目标之间产生专用信道。当n>k时,由于堵塞或甚至由恶意路由器,n-k个份额可能丢失。秘密分配方案可以在数个通信层中实现,例如在传输层中,其中仅每个数据包的有效载荷被分配(共享),或者在网络层处,其中传输层报头也被分配。该数据网络可以是非管理的,诸如具有正常路由的当前ip网络或管理的(例如,sdn)。

如果在两个边缘之间没有不同的路由,则使用封装(即,使得份额的数据包经由预定节点传递的特殊报头)以创建隧道。这些隧道在从源到目的地的路径上的不同方向上创建,使得没有路由器拦截k个或更多份额。

实现所提出的数据分离方案所需的设备/虚拟设备可以容易地集成到任何企业环境中,并且与任何通信和/或安全基础设施兼容。在数据流离开或进入企业之前,设备/虚拟设备安装在企业内部。为了在边缘之间具有多个路径,设备(或者在其之后和企业内部的另一路由设备)必须具有至少两个接口或者沿着具有至少两个接口的路径路由到另一个实体,以在每对站点之间形成至少两个单独路由。在任何情况下,对当前流量和配置没有影响,并且分配过程对于路径上的路由器是透明的。

设备的具体部署位置可以根据数个约束而变化。在发送者侧,通常可以实现秘密分配过程的最早点在网络栈中的上层的实现之后。

设备可以在现有的vpn之前或者之后安装。通过在发送者侧的vpn之后安装该设备,这意味着vpn加密数据在被发送到vpn之前被分成多个份额并在接收者侧重建。还支持交换位置,即,设备/虚拟设备的任何份额传递到要加密的vpn。

实例l:非管理网络

如果数据网络是非管理的(像大部分情况一样),则隧道之间的分离可以通过根据路由方案的份额数据包的封装来做出,该路由方案创建从源到目的地的至少部分独立的路由路径,沿着该路由没有节点(路由器)沿着隧道截取k个或更多的份额。这是通过将每个携带份额的数据包的报头改变为修改的报头并通过网络在不同位置(例如,国家)部署多个存在点(pop-例如,服务器),并且使得份额携带数据包穿过所选择的pop(也是节点)完成的。每个数据包可以被迫通过所选择的pop的可能不同的子集。替代地或另外地,可以通过将专用代理嵌入它们中的许多来使用在网络上部署在任何地方的公共云作为pop。携带份额的数据包将从源发送到目的地,使得修改的报头将确定下一中间目的地,下一中间目的地将是在创建每个修改的报头时已被选择的pop或云代理。每个代理将能够接收封装的数据包(具有修改的报头),读取其目的地,通过用对应于下一个中间目的地(下一个pop或云代理)的另一修改的报头替换其报头来封装它,并将其在数据网络上发送到下一个中间。修改的报头可以是有效载荷的一部分。该过程重复直到最后一个pop或云代理将数据包发送到原始目的地。这样,以可控方式路由加密数据的份额,从而创建使得在每个路径的段之间充分分离所需的隧道。在任何情况下,每个专用代理只确定沿着从源到目的地的路径的下一个中间目的地的段。

该路由方案优于现有技术解决方案,因为与现有技术不同,它不需要从源到目的地的完全独立的路径。使用封装和pop或云代理作为路由节点,可能经由源自中间目的地之间的路径的额外划分的许多段来路由携带份额的数据包。例如,如果n=6和k=4,则可以经由一个段发送3个数据包,并且经由另一个段发送3个数据包。可能的是,稍后第一组3个数据包的和第二组中的一些将遍历相同的节点,只要它们的总数小于4。因此,没有特定的份额具有独立的路径,但是依然保持保密性。另外,如果段的节点之一堵塞或不活动,则可以将数据包传递分成3个段,每个段携带2个数据包。

有些情况下,网络处于非管理状态,但源和目的地之间存在多于一个vlan。在这种情况下,假设这些vlan使用不同的路由器,可以将现有vlan用作源和目的地之间的数个路径。

如果数据网络是非管理的,但具有已知的拓扑(例如通过网络管理工具),则可以在发送者侧离线或在线测试流,以因此通过不同的节点获取数据的分布并部署/重新部署专用代理(并且由此确定pop或云代理),以创建最佳路由路径。

如果数据网络是非管理的并且具有未知的拓扑,则可以使用跟踪路由(通过在源计算机和指定目的地计算机之间的互联网记录路由的实用程序)或类似工具,例如tracemac(用于mac地址的跟踪路由)/batctl(b.a.t.m.a.n.高级控制和管理工具)、hpopenview(由网络和系统管理产品组成的hewlettpackard产品系列)或自由网络自动测试系统(freenats-是开源网络监控软件应用程序)以通过不同节点获取数据的预期分布,并且在发送携带份额的数据包之前验证,使得沿着路径的节点(路由器)都不截取k个或更多个份额,而不管它们从其到达的节点。

根据另一实施方式,可以执行节点(专用代理或pop)的动态分配,携带份额的数据包将通过该节点,以获取足够的数据分离。例如,可以在不同的位置部署10个代理或pop,并且由使用跟踪路由产生的初始路由方案指示选择(十个中的)6个代理来建立具有足够分离的数个路由路径。然后,在根据初始路由方案(经由初始选择的节点)发送份额之后,可以周期性地使用跟踪路由沿着每个路由路径来验证一个或多个节点处是否存在意外问题(例如,堵塞、延迟或临时不活动路由器)。如果没有检测到有问题的节点,将根据初始的路由方案发送数据包。另一方面,每当检测到有问题的节点时,将使用将被分配以旁路有问题的节点的一些其他节点动态地创建修改的路由方案,使用(10个中的)6个代理或更多代理的组合,并且数据包将根据修改的路由方案发送。这过程重复,直至所有的数据包到达它们的目的地。该解决方案还可以提高性能,因为每个节点处的路由器具有预定的路由优先级(根据数据包的源或目的地)。因此,如果携带份额的数据包被迫经由中间节点通过,则这些中间节点中的一些可以具有改进的路由优先级。因此,中间节点的适当选择可以改善数据包到达其目的地所花费的时间。另外,可以使用动态路径选择来避免嗅探路径的子集的嗅探器来跟踪通信模式,例如数据包定时模式。

根据另一实施方式,在数据网络使用ipv6协议(互联网协议版本6,其中ip地址为128位长)的情况下,可以使用ipv6的固有附加报头来创建ipv6节点之间的隧道,其中节点之间的数据可以在ipv4协议链路(互联网协议版本4,其中ip地址为32位长)上发送。这个隧道实现经由向有效载荷添加修改的报头来节省所涉及的开销,同时执行封装。

根据另一实施方式,当需要隐藏转发的数据份额的目的地的ip地址时,所提出的数据分配方案可以用于与有效载荷数据一起加密目的地ip地址。这通过使用所提出的数据分配方案从目的地的ip地址(即,报头数据)创建n个份额并且经由多对相邻中间节点之间的数个不同路径发送这些份额来完成,使得报头数据可以在每个中间节点处仅通过具有至少k个份额来解密,并且小于k个份额的任何子集不能用于解密报头数据。这样,每个中间节点将收集目的地的份额,重建目的地的ip地址并将报头添加到下一个中间节点,直到到达目的地。目的地ip地址(其基本上类似于源和目的地之间的隧道)的这种附加划分将优选地在窃听者的联合具有较高可能性的路径段中进行,以减少相关数据包的可能识别,并且对窃听者隐藏包含很多信息的源/目的地附近。必须在保持根据每个份额已被重新划分的层级的同时进行伴随秘密分配的划分,使得由中间节点收集的所有重新划分的份额将具有相同的级别(以避免份额之间源自不等数量的重新划分的冲突,这将需要更多的努力来合并)。每个中间节点可以将关于层级中的划分级别的数据传输到下一个中间节点。

类似地,提出的数据分配方案可用于加密源ip地址以及有效载荷数据。这通过从源ip地址创建n个份额并且使用提出的数据分配方案将这些份额作为秘密份额数据包的有效载荷的一部分发送来完成,使得实际源ip(这通过源被秘密分配为有效载荷的一部分)将仅通过目的地揭示。在这种情况下,沿着该路径的第一(或者任何/每个)中间节点将其自身设置为源,以便将份额转发至下一个中间节点。

可以通过利用变化长度的随机串填充后面的秘密份额数据包创建不同长度的秘密份额数据包来增强提出的数据分配方案,以避免由于窃听者的结合导致数据包关联。另外,延迟一些秘密份额数据包以避免时间关联,并且即使发送一些通过接收足够秘密份额的目的地可以丢弃的被破坏的秘密份额数据包,但是也可以欺骗窃听者的结合。

根据另一实施方式,提出的数据分配方案可用于利用有限的延迟和最后期限加密会受到同步问题影响并且会对同步问题更敏感的数据包(诸如,语音或者视频数据包),该同步问题可能从秘密份额的多个划分(在发送者处)和聚集(在接收者处)产生。在这种情况下,在发送者端处的后台中创建一次一密(是随机位串)并且然后通过数个路径被安全地发送至目的地(使用提出的秘密分配方案)。因此,只有目的地可以重建这个一次一密,以便稍后用于解密所接收的(延迟敏感有效载荷)数据,该数据将使用(逐位地、按位地、xor、一起)共同确定的一次一密发送。一旦目的地具有一次一密,则发送者在有效载荷数据与随机位串之间执行按位(逐位地)xor操作(以获取有效载荷数据的加密)并且通过单个信道(就像最初被传输的,没有划分的)发送所得到的加密的有效载荷数据的比特。然后,通过被分配的所产生的一次一密所加密的有效载荷数据通过单一路径被发送至目的地,没有额外的延迟问题。该技术也可以用于安全地发送电影,因为在将数据通过单一路径从一端发送至另一端时,没有提出额外延迟或可靠性问题。当想要变成使用基于计算的方案时,份额的一次密钥加密还可以被认为是被分配密钥。

实例2:管理的网络

在另一实施方式中,通过本发明提出的方法建议与诸如sdn的管理网络结合使用秘密分配,以能够使秘密分配方案被sdn控制器管理。提出的解决方案的一般概念是使用sdn能够在互相通信的每对数据中心之间创建数个隧道。源使用秘密分配技术使其数据加密并且创建n个份额。为了重建数据,目的地除了通过发送者发送的n个份额之后必须具有至少k个份额。本发明提出了在相同信息的仅小于k个份额能够到达单个路由器的约束下创建这些隧道的方法。这样,获得数据中心之间的保密且安全的互连。为了保证这个隐私,n-k个秘密份额被用于使该数据加密。源创建它的数据的n个份额并且将它们发送至网络。sdn控制器管理路径使得没有k个或更多个份额通过相同的路由器。这样,数据中心之间的互连是理论上被保证的信息,即,除非两个或更多个路由器共享它们的数据,否则绝不可以揭示加密的数据。

根据提出的方案,发现这些路径的问题通过展开原始图可以减少为最大流问题。通过使集中控制器或者网络管理工具在发送者处,可以计算网络上的流并且确定比例n/k的界限,n/k是要求在网络上应用n-k秘密分配方案的独特路径的数量。一旦获得流以及n和k的值,发送者为每个数据包创建n个份额,使得每个流展开为n个流,其中,流id是流数据以及份额索引。这样,获得每个流的第一数据包(对应于流的新精确度)的控制器将份额路由至相应的路径并且在数据中心/端点之间建立专用信道。

sdn控制器限定数据平面中出现的每个流的路线。控制器为每个流计算路线,并且沿着路径在每一个路由器中为该流添加条目。利用归入控制器的所有复合功能,路由器简单地管理流表,该流表的条目可以仅通过控制器添加。控制器与路由器之间的通信使用标准化协议和api。最普通地,这个接口是openflow规格(“openflow:enablinginnovationincampusnetworks",sigcommcomput.commun.rev.,38(2):69-74,march2008)。在sdn结构中,每个路由器将流的第一数据包转发至sdn控制器,从而使控制器能够决定该流是否应该被添加至路由器流表。当碰到已知的流的数据包时,路由器基于流表将其转发出合适的端口。流表可包括由控制器规定的一些附加信息。利用控制和数据平面的去耦,sdn使应用和服务能够处理单个抽象网络装置,而不关心该装置如何运行的细节。网络服务查看至控制器的单个api。因此,可以迅速创建并配置新的应用以协调网络通信量流来满足特定企业对性能或安全性的要求。

在创建n个份额之后,发送者将索引i,1≤i≤n添加至每个份额,这个索引变成流id的一部分并且因此用于每个初始的流,控制器处理这些n个初始的流的n个“第一”数据包。此外,每个路由器对于每个流可具有多于一个条目但是直至k-1个条目,其中,k是秘密分配方案的阈值。可以通过将这个字段添加到使得路由器处也变化的sdn控制器平台中的匹配字段结构中、或者使用允许不同种类的匹配的供应商扩展名来添加该索引。通过基于最大的流算法创建路径,可以编程控制器以路由份额使得没有路由器拦截k个或更多个份额。在当前实例中,如果图2b中的v1,1获得前4个份额,则转发表v5,2可包含表i中的条目。

表i:v5,2的转发表

只要未查看相同流的k个或更多个数据包,就对通过单个路由器的数据包的数量没有限制。

秘密分配方案是一种处理者(经销商)将n个份额分发至多方以使只有经授权的至少k方的子集可以重建该秘密的方法。在这种情况下,当一个数据中心旨在与另一数据中心通信时,它为其消息创建n个份额并且通过网络分配这些份额。sdn控制器以没有路由器在途中拦截k个或更多个份额的方式将这些份额路由至目标数据中心。这样,建立数据中心之间的专用信道。在这种情况下,如果假定信道是可靠的并且节点没有省略或者破坏份额,则k可以等于n。因为仅需k个份额重建该秘密,所以当n>k时,与前向删除校正或误差校正,诸如伯利坎普韦尔奇(berlekampwelch)技术(在美国专利4,633,470中提出,其中,n大于k+2e以对抗e个损坏)相似可用于克服最多n-k个份额的删除、甚至损坏。

实例3:使用主信道和备用信道的数据分离

几乎任何企业都具有交换数据的主信道和备用信道,这两个信道是完全独立和分开的(否则,如果主信道出故障,则备用信道将不能够是真实替换)。在这种情况下,因为从源至目的地沿着每个路径不存在相关的段,所以没有节点拦截k个或更多个份额。

数据分离问题

如图论问题一样检查隧道之间的数据分离的问题。给出图g=(v,e),其中,源节点s(仅具有输出流)和汇节点t(仅只有输入流)。每个节点v∈v具有确定的非负容量cv。目标是从图中的s至t推动尽可能多的流。每个路径pi具有流fpi,规则是每个节点拦截的所有路径的流的总和不可以超过其容量,在形式上,每个节点v:

∑pi|v∈pifpi≤cv。

简化最大流问题

该问题可以简化为已知的最大网络流问题,其中,e中的每个边缘e具有相关的非负容量ce,其中,对于所有的非边缘,内隐地假定该容量是0。在这个问题中,目标是从g中的s至t推动尽可能多的流,使得没有边缘可以具有超过其容量的流,并且除了s和t之外的任何顶点,流进顶点必须等于从该顶点流出。

原始图g不必是定向的。为了将该问题简化为最大流问题,g中的每个顶点v被展开为定向边(v1,v2)。在算法l中呈现展开过程:

算法l:展开过程

input:g=(v,e),s,t,k-1

forallu∈v|uj=s,tdo

v=v¥{u}

v=v∪{u1,u2}

e=e∪{(u1,u2)}

foralle=(s,v)∈edo

e=e¥{e}

e=e∪{(s,v1)}

foralle=(u,t)∈edo

e=e¥{e}

e=e∪{(u2,t)}

foralle=(u,v)∈e|uj=s,tandvj=s,tdo

e=e¥{e}

e=e∪{(u2,v1)}

图2a示出了原始的无向图g。图2b示出了它的相应的展开图。算法的输入是原始无向图g,源s和汇点t以及秘密分配方案的阈值k。在第一步骤中,在g(除了s和t)中,为每个顶点vi添加定向边(vi1,vi2),例如,图2b中的(v1,1,v1,2)。这个新边的容量是顶点vi的容量cvi。然后从源开始的每个边(s,vi)由定向边(s,vi,1)替代,即,v5,2中的边(s,v1,1)和(s,v2,1))。指向汇点(vj,t)的每个边由(vj,2,t)替代,即,分别地,图2b中的(v5,2,t),和(v6,2,t)。然后,在g是无向的的情况下,对于g中的相互边(vi,vj),添加两个定向边(vi,2,vj,1)和(vj,2,vi,1),例如,(v1,2,v2,1)和(v2,2,v1,1)。为了消除边缘嗅探器(sniffer)将揭示秘密的可能性,这些边缘的容量被设置为k-1。

因为原始图中的节点的容量还表示k-1边缘,所以所有边缘的所有容量是相等的。如果在g中|v|是顶点的数量并且|e|是边的数量,则合成的定向图gt是具有(|v|-2)x2+2顶点和高达(|e|-2)x2+2边缘的图。展开图gt旨在使得路径包括展开顶点的边缘,但是输入图可以是定向的或者无向的。在定向图的情况下,为每个顶点v仍然添加定向边(v1,v2),但是至于相互定向边(vi,vj),仅添加边缘(vi,2,vj,1)(并且不是如无向g所完成的(vj,2,vi,1))。

首先,将限定最大流问题。该问题的一个最有效的解决方案已经由“狄尼慈的算法:theoriginalversionandeven'sversion”(theoreticalcomputerscience”pages218-240,springer-verlag,berlin,heidelberg,2006)提出。因为其稳固的多项式所以选择了狄尼慈的算法。在比路由器存在更多链路的普通假定下,该算法使用最短的扩充路径并且它的复杂性是o(v2e)。可替代地,也可以使用多个已知的最大流算法中的任一个。

如果g=(v,e)是具有分别是g的源和汇点的s,t∈v的网络。边缘的容量是通过c(u,v)表示的映射c:e→r+。其表示可以穿过边缘的最大流量。

流是通过f(u,v)表示的映射f:e→r+,根据以下两个限制因素:

1)f(u,v)≤c(u,v),对于每个(u,v)∈e(容量约束:边缘的流不可以超过其容量)。

2)∑u:(u,v)∈ef(u,v)=∑u:(v,u)∈ef(v,u),对于每个v∈v\{s,t}(流的守恒:进入节点的流的总数必须等于退出节点的流的总数,除了源和汇节点之外)。

流值由|f|=∑v:(s,v)∈ef(s,v)限定,其中,s是g的源。其表示从源至汇点经过的流量。最大流问题是使|f|最大化,即,将尽可能多的流从s路由至t。

狄尼慈在他的解决方案中使用了数个定义。首先是剩余容量,计算为cf(u,v)=c(u,v)-f(u,v)和cf(v,u)=f(u,v)用于每个(u,v)∈e;剩余图是图gf=((v,ef),cf|ef,s,t),其中,ef={(u,v)∈vxv:cf(u,v)>0}。水平图id由gl=(v,el,cf|el,s,t)限定,其中,el={(u,v)∈ef:dist(v)=dist(u)+l}。最后一个定义是dist(v),其是在gf中从s至v最短路径的长度。通过使用这些定义,狄尼慈示出在θ(v2ε)中可以解决的最大流问题。狄尼慈方法用于创建流。这个合成流限定将通过其发送份额的路径。

最大流问题与最小切割问题相关。流网络中的s-t最小切割的问题发现割集中的边缘的最小数,该割集创建其中源和汇点在不同子集中的切割。该割集仅由从源端至汇点端的边缘构成。换言之,如果割集中的边缘被移去,则从源至汇点的流被完全切断。割集值是通过割集中的所有边缘的源至汇点方向上的流容量的总和。最小切割问题是发现网络中的所有可能的切割上具有最小切割值的割集。对于具有单个源和单个汇点的任何网络,从源至汇点的最大可能的流等于网络中的所有切割的最小切割值。证据来自于以下事实:通过一系列连结管道的最大流量等于该系列中的最小管道中的最大流量,即,该流量受到瓶颈管道的限制。

图3a示出了流实例的初始定向图g。为了确定k的最小值,s-t最小切割在展开图上计算。如果最小割集包含t个边缘,则n/k必须小于t。如所看到的,这个实例中的割集由两个边缘(v4,1,v4,2)和(v5,1,v5,2)构成。这意味着在该图中,n/2必须小于k。在这个实例中,选择n=10并且k=7,即,每个路由器可以看见最多6个份额,并且因此这是(ul,u2)边缘上的容量。图3b示出了不同份额在其相应展开图上的合成流和路径。

通过本发明提出的方法也考虑网络负载。在源与目的地之间发送的每个数据包被分为n个份额。假定每个份额在一个数据包内发送,n个数据包被发送以用于数据的单个数据包。

如果应该从源至目的地发送m个数据的数据包,则nxm个数据包被发送。这可能被认为是不切实际的并且通常高容量数据在网络中被发送,并且具体地,在两个节点之间。因此,如果是这种情况,则提出的方案可以用于交换标准vpn使用的密钥。这样,密钥的保密性是理论上安全的信息并且消除中间人攻击。

通过使用(n,k)秘密分配方案,可以评估n点处的等级k-1的多项式。这个多项式可以表示为多个线性运算并且要求o(n)相乘。为了恢复数据包,目的地使用具有o(k2)复杂性的拉格朗日插值多项式。

控制器为每个流操作最多一次以在网络拓扑上建立最大流量算法。实际上,因为通常仅受到有限的并且罕见的动态变化,所以将为每对源和目的地仅计算几倍的算法。控制器的计算的复杂性取决于网络大小并且它是o(v2e)。在数个控制器管理网络的实际情况下,其中每个控制器其自身具有网络的一部分,可以并行完成这个计算,因此v和e是网络的各个部分处的节点和边缘。

基本假设路径中的节点没有共享它们的数据并且该网络被控制器可靠地管理,即,控制器可以是信赖的。如果情况不是这样,通过恶意的控制器或者通过敌方控制该控制器,则控制器可以简单地将所有份额转发至单个路由器以揭示秘密。除了控制器之外,还假定路由器(图形符号中的节点)根据控制器路线进行工作。如果存在两个或更多个节点的结合,则当前的解决方案可能失效。假定图3a中的节点v4和v5以概率p共享它们的数据,在那种情况下,它们应该被认为是一个节点并且因此相应的展开图的割集仅包含一个边缘,因此,不存在任何n或者k的解决方案。因此,不存在专用信道的解决方案的概率是p。另一方面,如果节点v2和v3以概率p共享它们的数据,则在合并这两个节点之后,该割集包含两个边缘,这意味着从源至汇点存在两个路径,即,n个份额现在通过两个路径被发送。

在通常情况下,如果在将两个节点合并到组合中之前,割集包含1个边缘,则首先应该计算在割集中的每个边缘拦截最多k-1个份额的约束条件下将n个份额通过1个路径分配的可能性的数值。这个可能性集称为λ。这等于将n个球分配在£个单元中,使得没有单元包含多于k-1个球,或者通过改述,将n个球分配至1个单元的可能性减去任何单元包含k个或更多个球的可能性。λ中的可能性的数值是:

为简单起见,假设不存在两个或更多个单元包含k-1个球的情况,即,n<2k-2;这个假设是合理的,因为在这个分析结束时,为了使专用互联的概率最大化,k的最佳值是n并且确定地k>n/2+1。在λ的可能性中,这实现合并节点看见最多k-1个份额的限制条件,或者利用球表示法,两个合并单元中的球的总数小于或等于k-1应该被发现。如果它是合并单元中的球的总和,则存在l-2更多个单元,每个单元可以包含高达k-1个球,因此,t的下界t1b是

max{n-(£-2)(k-l),0},(2)

对于t的每个可能值,必须计算将t个球分配在两个合并单元中的可能性的数值乘以在其他£-2个单元中分配其他n-t个球的可能性的数值。形式上

因此,在通常情况下,专用互连的概率被给出为:

通过选择n=k以及大n,这个概率趋向于1。例如,如果n=k=10并且1=3,则t1b=1并且获得专用互连的概率被给出为:

对于n=k=20,该概率变成1-0.0833p。如果发送者了解具体结合的可能性以及发现给定结合是肯定的流的概率,则首先可以合并结合的节点然后发现实现份额方案限制条件的流。上述分析为两个节点的单个结合所完成,如果在该结合或者另一结合中存在更多节点,则可以循环地完成相同过程。

在上述中,秘密分配方案的时间计算取决于n和k。因此,当在路由器上存在完全信赖时,n和k应该相对低。为了增加专用信道的概率,如果在网络中存在结合的一些正概率,则即使在折衷算法效率的代价下,源可选择较大的n和k。

osi层上的实现

根据另一实施方式,提出的秘密分配方案可以在开放系统互连(osi)模型的不同层上实现。这允许系统通过不同的通信层通信,该通信层完全保障数据在运送中通过通信链路。

应用层上的实现(处理与用户的通信)

在这个实现中,在将数据划分为数据包之前,要分配的数据是应用层数据包。在数据进入网络栈实现之前提出的秘密分配过程在源上接收数据。在第一步骤中,该过程将秘密分配算法应用在整个数据上。在下一步骤中,为每个路线建立连接并且将份额发送在不同的接口(socket,套接字)(通信流中的端点)上。在这种情况下,该过程可以根据要求服务使用传输控制协议(tcp)或者用户数据报协议(udp-当消息在使用互联网协议的网络中的计算机之间交换时提供有限的服务量的通信协议)。接收者应该维持数个接口以获得不同份额,这个时间在网络栈利用数据包完成之后。该过程在应用时重建原始数据。

当数据包遍历网络时,无法识别有效载荷包含划分的数据。这个过程对于发送者端和接收者端上的数据链路层、网络层和传输层实现是透明的。

传输层上的实现(处理多方之间的数据交换,和可靠性):

在这个实现中,当保持传输层的报头公开时,要分配的数据仅是有效载荷。首先,在数据包离开之前该过程在源上获得数据包。然后,当利用所有层(数据链路层、网络层和传输层)的相同报头创建n个数据包时,将秘密分配算法应用在有效载荷上。因为路由器在数据包遍历网络的过程中任何时候都不处理有效载荷,所以提出的秘密分配过程对它们来说是透明的。

当数据包进入局部网(在它们到达传输层实现上的目的地之前)时所提出的秘密分配过程在目的地上获得数据包,首先秘密分配过程缓冲n个份额中的k个并且应用秘密分配算法以重建原始数据。然后,秘密分配过程添加传输层的报头并且将(k个份额中的)单个数据包发送至目的地的传输层实现。这个秘密分配过程对发送者端和接收者端上的传输层实现也是透明的。传输层上的实现不干扰检验各级数据包报头的任何装置,诸如,防火壁或者传统的vpn。在诸如侵入检测系统(ids)等装置是路线(检查数据包有效载荷)的一部分的情况下,ids应该在划分份额之前在发送者端上并且其后在接收者端上(再次,在vpn定位的相同位置中)。

网络层上的实现(处理多侧之间的路由和数据传送):

在这个实现中,在保持网络层的报头公开时,要分配的数据是传输层的数据包,即,传输层的有效载荷和报头。在数据包离开之前所提出的秘密分配过程在源上获得数据包,并且将秘密分配算法应用在有效载荷和传输层的报头上。该过程利用数据链路和网络层的相同报头创建n个数据包。

当数据包遍历网络时,因为途中的路由器没有处理传输层的报头,所以该过程对于它们来说是透明的。当数据包进入局部网(在它们到达传输层实现中的目的地之前)时,该过程在目的地上获得数据包。使n个份额中的k个缓冲并且应用秘密分配算法,以便建立原始数据。在此,数据已经包含传输层的报头。然后将(k个份额中的)单个数据包发送至目的地的传输层实现。所提出的秘密分配过程在发送者侧和接收者侧对传输层实现也是透明的。

就在os完成传输层上的和网络层的实现、并且还干扰检验传输层的报头的装置,诸如,防火墙之后,进行网络层上的实现。在这种情况下,划分过程应该在防火墙之后或者应该旁路防火墙,正如目前当vpn和防火墙探听相同端口时所发生的。

数据链路层上的实现(不管噪声和失真处理点对点数据传送):

在这个实现中,当保持数据链路层的报头公开时,要被分配的数据是网络层的数据包,即,网络层和传输层的有效载荷和报头。

存在两个结构实现数据链路层上的所提出的秘密分配过程:第一结构在lan上,并且另一个在虚拟lan(vlan)上。

当在lan上实现时,网络应该是图形结构,而不是树状结构,也就是说,存在两个或更多个路径用于主机a与主机b之间的连接。为了发现多个路径,在lan中可以执行所提出的流算法。然后,在划分数据之后,该源将份额通过多于一个交换机发送至目的地。

当在vlan上实现时,存在包含网络层的报头的协议,例如,多协议标签交换(mpls-基于短路径标签而不是长网络地址将数据从一个网络节点引导至下一个节点的机构)。vlan中的路由通过数据链路协议(有时被认为是层2.5)经由数个交换机完成。这个协议在网络层中创建隧道,因此使用网络层,vlan中的源和目的地在相同lan中。通过在源与目的地之间创建多个隧道可以应用所提出的秘密分配过程。

物理层上的实现(处理信号传输、电压和连接)

在这个实现中,当保持所有报头私密时,要被分配的数据是数据链路数据包,即,数据链路层、网络层和传输层的有效载荷和报头。这可以通过分离物理带宽来完成,例如,通过划分光波并且以不同的波发送该份额。

除了以上限制条件之外,可以以下额外限制在源和目的地处的任何地方实现提出的秘密分配过程:

在发送者侧处,对于每个水平,其中可以实现该过程的最早点在网络栈中的上述层的实现之后。例如,在os完成网络栈中的传输层的实现之后,可以完全地实现网络层实现。在任何情况下,在数据包离开网络之前可以是正确的。利用与接收者相同的限制因素,当数据包进入网络或者正好在上述层实现之前时,可以是第一步骤,在上述实例中,在网络栈中的传输层的实现之前应该是正确的。

如果存在诸如vpn、侵入检测系统(ids-分析整个数据包、报头和有效载荷,查找已知事件的装置或应用)或者防火墙等装置,应用层和传输层实现不干扰检查各级数据包报头的任何装置,诸如,防火墙或者vpn。在诸如ids(检查数据包的有效载荷)的装置在途中,则ids应该在划分份额之前在发送者侧并且其后在接收者侧(再次,位于与vpn相同的地点处)。

物理层、数据链路层和网络层实现还包括检查传输层和网络层报头的装置,诸如,防火墙。在这种情况下,精确地,划分过程应该在防火墙之后或者应该旁路防火墙,正如目前当vpn和防火墙被安装在相同端口上时所发生的。

根据另一实施方式,在无需使用通过第三方检验的密钥的情况下,可以采用提出的秘密分配方案或者随机串分配方案以便执行客户端与服务器之间的识别。目前,通过具有由验证授权(ca)检验的公钥完成识别(以验证双方)。每个实体具有两个密钥,公钥和私钥。公钥用于由另一方解密数据并且私钥用于解密它。为了验证的目的,通过私钥加密的数据可以通过公钥解密。图1中示出了依靠公钥从ca获取验证的传统过程。在第一步骤中,ca10从一方接收公钥11以及该方的标识数据12。ca10使用它的私钥13标记公钥11并且为公钥11签发证书14。浏览器或者另一方已经具有ca的公钥并且因此可以验证签名,信赖该证书和公钥。因为甲方使用ca证明的公钥,所以假甲方仅可以使用相同的公钥。因为假甲方不知道相应的私钥,所以它不可能创建需要验证其真实性的签名。

例如,如果服务器要求客户端发送一些专用数据(例如,密码),则它需要为客户端验证其本身。通常,服务器通过使用ca(诸如,verisign,reston,virginia,u.s.a.)中的一个服务完成此任务。ca识别服务器并且使用其私钥以标记服务器的标识和公钥。通过使ca检验公钥,服务器被验证至客户端。客户端使用ca的公钥揭示服务器公钥。关于这个验证过程存在两个主要问题,一个是需要信赖ca并且另一个是加密的强度。当今,任何一个(良性的或者可能恶意的实体)可以建立ca并且实际上在很多情况下是这个情形。如果浏览器从不明ca获得验证,则浏览器警报客户端但是一般客户端将仅按下“ok”按钮继续。这是可以使用提出的秘密分配方案解决的主要弱点。此外,在很多情况下,标识强度取决于客户端选择的一些密码。如多次证明的,在许多情况下,这些密码容易被猜到。

通过使用由本发明提出的秘密分配方案,这种猜测将变得更难。通过本发明提出的新的识别过程不要求使用任何许可证或者认证授权。反而,其在通信方之间创建数个分离的信道(隧道),以及互联网中的实体的一些公开信息。此外,为了使用本发明的秘密分配方案标识,用户必须具有至少两个(逻辑的或者优选地也实际的)网络路径(和/或应用),其中,用户可以在例如电子邮件、脸书、领英(linkedin)、sms等中获得数据(这类有时称为“公共信托”,其中,由于信任机构的冗余度,公开可用的身份信息用于验证)。新识别过程的主要概念是一方将一些数据通过这些(至少逻辑地)分离的信道发送至另一方并且通过具有数据的所有(或者一些阈值)片段,另一方可以构造数据,发现提出连接的实体上的详情并且验证它。

通过本发明提出的新的识别过程可以具有一侧验证或者双侧验证。

一侧验证

如果仅需要为客户端验证服务器,一侧验证过程将包括以下步骤(在图5a中示出):

在第一步骤中,客户端采取以下动作根据数个(自身可验证的)公共目录(例如,电话薄、电子邮件、脸书、推特、领英搜索、政府机构、报纸、ip地址等)中的服务器的列表将一些消息或/和随机数(为诸如会话验证等具体使用生成的随机数)以及自己的标识信息经由多信道发送至服务器。自身可验证的公共目录是基本上可以经受住身份盗窃尝试的公共目录。自身可验证的公共目录中的每个实体可以验证其自身的详情,以便确认表示这些详情的数据是最新的并且没有被第三方破坏。否则,自身可验证的公共目录将通知公共目录的管理员该数据不是最新的。该数据通过客户端秘密分配。下一步骤,客户端从公共目录中提到的地址接收服务器的数据并且通过不同的分离信道发送该份额,使得每个信道获得数据的份额并且仅通过具有所有(或者阈值)份额,可以重建该数据。该数据可包括所有建立的列表信息,以致由于非更新列表或者仿冒的结果,服务器可识别列在一些目录中的自身的错误。在下一步骤中,服务器获得所需的份额数量并且重建客户端的随机数。在该步骤中,服务器接收客户端的消息,并且客户端以安全方式已经成功地将消息发送至服务器,在这个“单向认证的”版本中,服务器不会通过多信道发送客户端的标识符。

双侧验证

如果需要双侧将验证本身,客户端侧将执行之前描述的步骤(用于一侧验证)。反过来,双侧验证过程将进一步包括以下步骤(在图5b中示出):

在第一步骤中,客户端通过多信道经由服务器的多个公开账户发送其id和一些随机数(为诸如会话验证等具体使用而生成的数),使得每个信道获得数据的份额并且仅通过具有所有(或者阈值)份额,可以重建该数据。该数据可包括所有建立的列表信息,以致由于非更新列表或者仿冒的结果,服务器可识别列在一些目录中的自身的错误。再次,每个信道获得数据的份额,使得仅通过具有所有(或者阈值)份额,可以重建该数据。服务器从接收的随机数创建份额,可以为该随机数增加新的随机数,及其自身的id信息,在公共目录中搜索客户端数据并且通过不同的信道发送份额。在下一步骤中,客户端验证随机数并且获得服务器信息。在下一步骤中,客户端将确认通过不同信道发送至服务器的多个地址以及将随机数(或者当服务器以新随机数答复时,诸如两个随机数的按位xor的组合物)发送至服务器。在下一步骤中,服务器通过重建确认最后确定验证,并且如果还要求保密性,则使用多信道(使用作为标识信息的一部分的被同意的ip地址)开始会话,可能使用随机数作为(第一)普通分配的秘密或者用于为份额创建序列数的种子。基于使用公共目录和通过多路径通信发送的秘密份额的单向/双向/三向握手程序基本上是所提出的验证方案的核心。

需要说明的是,使用公共信托可能有时易于被仿冒和身份窃取尝试。在实体(例如,银行)定期执行其自身在所有公共目录中的公共接触详情的自身搜索(以与其他实体搜索这些公共目录相同的方式)的期间,这种弱点可通过使用自身验证过程克服,以保证不存在身份盗窃(通过将搜索结果与它可信的公共接触详情进行比较)。一旦身份在公共目录中检测到不匹配(即,被盗或者假身份),则它将向该公共目录提出警告以阻挡访问它。如果风险水平增加,则通常增加执行这些自身搜索的频率。

通过本发明提出的秘密分配方案可以通过使用误差校正算法克服一些水平的身份盗窃。在这种情况下,即使侵入者破坏一个公共目录(例如,领英)并且发送假的身份数据,它将仍然可以通过使用误差校正算法,诸如berlekampwelch技术重建随机数。这可以通过发现其中一个或多个点(直至阈值e)是不正确的多项式来完成,但是通过由n>k暗示的冗余度仍然是可撤消的。

根据另一实施方式,代替使用秘密分配,提出的解决方案可使用其他数据分离方案。例如,可以选择与数据序列具有相同长度的位序列(编码序列)并且通过执行两个序列之间的逻辑运算(诸如,xor)解码并编码数据序列。然后,合成的(编码的)位序列和编码序列经由分离的隧道被发送至目的地。这样,只有目的地(接收全部序列)将能够解码数据序列并且通过执行另一xor运算揭示该数据。这种解决方案还保持发送的数据包的大小与初始数据包的大小相同。根据另一实例,可以使用里德-所罗门(reed-solomon)代码编码数据序列并且将编码序列的片段经由分离的隧道发送至目的地。这样,只有目的地(接收全部序列)将能够解码数据序列并且通过利用相同的里德-所罗门代码解码它来揭示该数据。

通过本发明提出的解决方案可用于保护企业中的选择系统,诸如,电子邮件或者其他类型的数据,而不是保护从企业发出的或者通过企业接收的整个数据通信。

以上实例和描述当然仅为了说明的目的被提出,并且不旨在以任何方式限制本发明。如技术人员将理解的,本发明可以各种方式执行,采用上述技术中的多于一种技术,全部都不超过本发明的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1