一种基于端到端的语音安全多路径通信系统及方法

文档序号:7858649阅读:151来源:国知局
专利名称:一种基于端到端的语音安全多路径通信系统及方法
技术领域
本发明涉及一种基于端到端(P2P,Peer-to-Peer)的语音安全多路径通信系统及方法,属于网络语音通信及信息安全技术领域。
背景技术
由于互联网和全球IP互连的环境越来越好,网络上的语音通信,尤其是VoIP技术可以充分利用IP网络的无所不在,价格低廉的优势,提供比传统业务更多、更好的服务。然而,尽管VoIP有着传统电话无可比拟的先天优势,它同样有着缺陷,如通话质量容易受到网络好坏的影响、清晰度与传统的固话有差距、服务质量得不到保障等,而其中VoIP的安全问题是极其重要且急需解决的问题。目前常用的VoIP控制协议已有H. 323协议、SIP协议、MEGACO协议和MGCP协议 等。这些控制协议主要是进行创建、修改和删除连接会话,在端点上实现建立和控制与其它端点的会话过程。它们对于会话的保密性并没有太深入的限定,一般仅是对数据进行分组加密,而呼叫端和对端之间是直接的端到端数据包传输。这产生的一个关键问题就是网络语音流相比传统保密电话而言较容易被截获,即使是加密之后的语音流,也可能被全部截获并解密出来。因此,对网络语音流的隐藏,甚至是分离处理显得尤为重要。以往有对语音进行隐藏的技木,如DCT域信息隐藏、小波域信息隐藏等,但是这些信息隐藏技术不能彻底解决单路网络语音被监听截取的可能。在多路径传输方面,目前我们找到的公开文献主要有郭强等在“无线传感器网络的多路由建立方法及并行数据传输方法” (201010228323. 8)中描述了ー种在无线传感器网络中应用的多路由及并行传输的方法,而对IP网络语音方面的多路径安全传输没有涉及。而华为公司在专利“多路径传送语音报文的方法、设备与系统” (201010620239. 0)中提出了一种在两个设备之间实现的单流、单流备份和双发选收的语音发送接收模式。其存在着以下的技术问题1)通信的两端最多就只支持两条路径传输,而且仅接收其中一条上的有效数据;2)安全问题未考虑,而且由于其采用双发选收机制,使得语音报文拷贝在多条路径上面同时传输,増加了语音数据被监听截取的安全风险。3)其描述的是两个设备之间的MPRTP方式下的2条以下路径的语音传输问题,在端到端多点转发多路径传输方面的语音安全问题没有阐述。

发明内容
发明目的本发明提出一种基于端到端的语音安全多路径通信系统及方法,系统通过中心服务器,超级节点和普通节点实现安全可靠的语音通信;方法在基于分布式哈希结构的端到端网络基础上,选择符合一致QoS要求的3条或者3条以上网络路径进行加密语音的传输,在保证符合网络语音时延、时延抖动和丢包率要求的基础上,实现基于端到端的多路径安全语音通信。技术方案一种基于端到端的语音安全多路径通信系统,包括多个节点終端,中心服务器,至少3条网络路径;所述多个节点终端分别为呼叫端、对端、普通节点和超级节点;所述呼叫端通过网络路径与对端通信连接;所述普通节点和超级节点设在网络路径上;每个节点終端均包括分布式哈希表互连模块、语音处理转发模块、多路径寻找模块以及安全模块;节点终端通过分布式哈希表互连模块实现相互通信,并连接成具有发布和捜索功能的端到端网络结构;分布式哈希表互连是将各节点终端的地址及相关信息通过哈希计算后,形成ニ进制编码,并基于ニ叉树搜索方式进行数据存放及捜索的互连方式;所述超级节点为进行数据转发的节点终端;所述普通节点为不进行数据转发的节点终端。所述中心服务器具备密钥生成器功能;新加入节点终端在注册时,将自己身份ID信息传递给中心服务器,中心服务器根据这ID信息生成私钥,而用户的身份作为公钥;生成的私钥通过安全的通道交给新加入节点终端。
所述语音处理转发模块用于实现节点终端语音的压缩、加密,并按最大安全距离方式进行多路径分割,形成多路径上传输的数据包,并对数据包添加序列号进行标识;最大安全距离方式是指对语音而言,划分其在不用路径上进行传输,使得在单条路径上剩余语音可懂度尽可能低的方式。所述语音处理转发模块除了完成本节点终端的语音处理外还对中继语音进行转发;节点终端根据转发目标将收到带有转发标记的数据包进行数据转发。所述多路径寻找模块根据一致性原则,在保证语音服务质量的前提下,选取一致性能好的3条或3条以上的路由路径与对端建立通话。所述安全模块完成密钥及安全算法的管理,包括从中心服务器处获得公私钥信
o一种基于端到端的语音安全多路径通信方法,首先在呼叫端将语音加密后分拆为多个数据包,并对多个数据包顺序标号;然后将所述数据包通过至少3条独立路由路径到达对端,在对端再进行数据包的按序号重组、解密并还原,实现语音的多路径传输;其中,路径上的节点终端通过分布式哈希表互连模块实现相互通信,并连接成具有发布和捜索功能的端到端网络结构。所述哈希表互连模块的发布和搜索过程包括以下7个步骤
步骤ー新节点终端经过在中心服务器上完成注册和登录后,获得自己的公私钥信
息;
步骤ニ 新节点终端从中心服务器获得部分系统预设的节点终端信息,并将这些节点终端加为联系人;
步骤三新节点终端再通过中心服务器或分布式哈希互连模块,加载其他联系人节点终端的在线信息和IP地址信息等,并将状态为在线的联系人信息存储到本地联系人数据库中;
步骤四新节点终端向在线的联系人节点终端发送上线消息,并把自己的地址信息一起发送过去;
步骤五新节点终端通过对自己平台计算能力以及网络情况进行测量,并根据测量结果来判定自己是承担超级节点角色还是作为普通节点,然后将自己的信息包括用户名、IP地址、节点性质、发布时间等,通过分布式哈希表结构经网络路径发布到其他节点终端上;步骤六新节点终端可以通过分布式哈希表结构进行对其他联系人的捜索和呼叫,而其他节点终端也可以通过分布式哈希表结构对新节点进行捜索和呼叫;步骤七当有节点终端下线时,该下线节点終端将下线信息发送给中心服务器和其在线联系人节点终端,退出分布式哈希表结构网络。将所述数据包通过至少3条独立路由路径到达对端,其中至少3条路径的建立和选择步骤如下
a)任一节点终端均有3个路由表用于存储节点终端以及相关路径的信息,分别是第一路由表Rl存储网络状况好的节点终端,第二路由表R2存储通信候选路径,第三路由表R3存储用于当前通信的3条或3条以上的路径;
b)呼叫端A节点终端登录上线后,查询和测试本地联系人数据库中各节点终端的数据转发质量,在保障数据转发质量的基础上,将网络状况好的节点终端存放到第一路由表Rl中,以供呼叫端A节点终端通信时转发语音数据;
c)如果呼叫端A节点终端中第一路由表Rl中可用节点较少,低于设定阈值,则启动分布式哈希表互连搜索分布式哈希网络中的超级节点,补充新超级节点信息存入第一路由表 Rl中,使得第一路由表Rl中节点终端到达预设阈值则停止搜索;
d)呼叫端A节点终端呼叫对端B节点终端吋,首先通过本地联系人数据库查找对端B的地址信息,若是没有找到,则通过分布式哈希表结构的捜索功能来获得对端B的信息;
e)呼叫端A向第一路由表Rl中节点发送寻■路请求信令,寻■路请求信令用于向其他节点终端发送路径测试请求,測量到达目的对端B的可达性和延迟特性;如果第一路由表Rl中的节点终端C接到呼叫端A的寻路请求信令后,重复呼叫端A的工作,将寻路请求信令发送给自己的第一路由表Rl中的其他节点终端;
f)节点终端C的第一路由表Rl中的节点终端C1、C2、C3接收到寻路请求信令后,测试自身到目的节点终端B即对端B的路径情況,并将时延、时延抖动和丢包率等信息反馈到节点终端C ;节点终端C根据接收到的反馈信息后,比较路径C一Cl一B、C一C2一B、C一C3一B的路径时延,时延抖动及丢包率情况并将最佳的路径例如C一Cl一B选择出来并反馈给呼叫立而A ;
g)呼叫端A收到最佳路径C一C1一B信息后,判断从呼叫端A到最佳路径的完整路径(A-C-C1-B)信息是否符合设定的合理语音通信的时延,时延抖动以及丢包率等数值要求,符合要求则存入到第二路由表R2中;
h)同样情況,呼叫端A的第一路由表Rl中其他节点终端按以上方案分别测试出各自的最佳路径,同时保证这些路径尽量不交叉,测试完毕后将路径时延,时延抖动及丢包率情况反馈给呼叫端A,符合预设合理语音通信条件的路径存入第二路由表R2中;
i)第一路由表Rl中的全部节点测试完毕后,比较第二路由表R2中各条路径情况,选择路径时延,时延抖动以及丢包率等性能较好且性能接近的3条或3条以上的路径作为本次的语音呼叫通信的路径,这3个或3个以上的转发路径将被存入第三路由表R3中;
j)第一路由表Rl定时测试并更新其中的节点终端信息,有新联系人节点终端上线也进行测试,联系人节点终端下线则将及时删除;
k)第三路由表R3中有节点终端下线后,则及时更换适当的节点终端,候选节点终端从第二路由表R2中选出,第二路由表R2中的节点终端也定时测试和更新。所述判断新加入节点终端为超级节点的一般标准是,节点終端IP地址是公网IP地址,计算能力、网络带宽和存储空间的综合评判值超过设定阈值,否则为普通节点,普通节点不进行数据转发;
各通信节点终端收到链路寻路请求信令后,链路质量的測量包括测量从自身到目标节点的网络到达性,网络时延值和时延抖动值以及丢包率数值,然后由这些值进行综合判断获得链路评价;
节点终端通信时,发送方会间断生成一定大小的语音数据包,节点终端将每个数据包通过共享的对称密钥进行加密,然后再将加密后的数据包分成3个或3个以上的小包,分别通过3条或3条以上的路径发送到对端,并保证不将连续的一段语音包通过同一条路径发送;对端接收到各条路径的语音包后,将语音包进行解密,然后将语音包进行重新按序排列、组合,进而解码恢复出原语音;通信双方基于身份的密钥协商机制协商得到毎次呼叫时候加密语音数据的密钥;呼叫端A和对端B之间的信令和密钥协议协商传递将基于单链路传输。在进行多路径语音通信之前,发起呼叫的节点终端(呼叫端)需将第三路由表R3中选择的路径、端口号发送给被呼叫节点终端(对端),数据包经加密处理后,通过固定的端ロ号直接发送给被呼叫节点终端;同样,若是通信中更换路径,发起呼叫的节点终端也将更换 后的路径、端口号发送给被呼叫节点终端。有益效果与现有技术相比,本发明通过从多条路径中挑选一致性最佳的3条或3条以上通信路径,并同时利用这3条或者3条以上的路径进行加密语音数据包发送,在保证语音QoS的基础上,实现了语音端到端安全传输。而通过独立的3条或3条以上路径进行加密语音的传输,极大減少了网络语音被监听截取的可能。潜在的监听者往往只能监听或截取一路,ニ路或者部分的语音加密碎片,很难完全恢复出原始语音,端到端VoIP通信的安全性得到了极大的保障。


图I为本发明实施例的系统原理 图2为本发明实施例的节点终端组成框 图3为本发明实施例的分布式哈希表互联过程示意 图4为本发明实施例的多路径寻找过程示意 图5为本发明实施例的语音加密处理方法示意 图6为本发明实施例的密钥管理和协商示意图。
具体实施例方式下面结合具体实施例,进ー步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。由图I可以看出,本发明所述的方法是基于超级节点、普通节点和中心服务器这3种设备来建立起来的。呼叫端A通过网络路径与对端B通信连接;普通节点和超级节点设在网络路径上。在图I的示意图中,呼叫端A要与对端B进行基于端到端的安全语音多路径通信。经过两端的协商,呼叫端A选择了 3条路径进行加密语音的同时传输。通信路径I由超级节点C和超级节点Cl组成;通信路径II由超级节点D和超级节点Dl组成;而通信路径III则由超级节点E和超级节点El组成。超级节点是由具有公网IP地址,以及计算能力、网络带宽和存储能力足够强的节点担任。而不具备公网IP地址的节点或在计算能力、网络带宽及存储能力等方面没达到预设要求的节点终端则作为普通节点。呼叫端A和对端B可以是超级节点,也可以是普通节点。超级节点可完成数据转发功能,而普通节点不具备这样的能力。中心服务器负责所有节点的注册,登录,同时生成全网公共安全参数并为每个用户进行公私钥的分发、管理、查询工作。新的节点终端接入时,需首先注册到中心服务器,每个节点有一对公私钥,由中心服务器管理分发。新注册的节点终端维护一个转发质量数值来表示转发节点终端的质量高低。在提供语音数据的转发工作时,成功完成一次转发至通信结束则增加转发质量值1,未能成功完成转发至通信结束而中止则降低转发质量值I。
图2给出了节点终端上各功能模块的组成。节点终端至少具有分布式哈希表互连模块,安全模块,多路径寻找模块和语音处理转发模块。每个节点终端上的分布式哈希表互连模块通过分布式哈希结构表算法建立起来发布和搜索的互连结构,把各节点终端的ID及相关信息经哈希处理之后,变为二叉树结构上的各端点,而后通过快速二叉树搜索算法实现对各节点ID及地址信息等的快速查询。安全模块完成节点终端的密钥及安全算法的管理,包括与中心服务器5通信并获得公私钥信息。多路径寻找模块根据每个节点终端上存储的临近超级节点数据库,寻找丢包率、时延和时延抖动性能好的,并且一致性好的3条或者3条以上的路径建立回话协商,为后续的语音呼叫建立做好准备。语音处理转发模块除了实现中继数据转发功能外,还实现本节点终端的语音压缩、加密,并按最大安全距离方式进行多路径分割,形成多路径上传输的数据包,并添加序列号进行标识;最大安全距离是指对语音而言,划分其在不用路径上传输,使得在单条路径上剩余语音可懂度尽可能低。上述各模块之间可进行相互通信,进行信息的传递并实现相互协作。图3给出了基于端到端语音安全多路径通信方法中的哈希表互连模块的发布和搜索过程,其包括以下7个步骤
201:新节点终端接入时,首先在中心服务器上完成注册和登录;同时,通过与中心服务器协商以获得自己的公私钥信息;
202:新节点终端从中心服务器获得部分系统预设的节点终端的信息,并将这些节点终端加为联系人;
203:新节点终端通过中心服务器或分布式哈希互连模块,加载联系人节点终端的在线信息和IP地址信息等,并将状态为在线的联系人信息存储到本地联系人数据库中;
204:新节点终端向在线的联系人节点终端发送上线消息,并把自己的地址信息一起发送过去;
205:新节点终端通过对自己平台计算能力以及网络情况进行测量,并根据测量结果来判定自己是承担超级节点角色还是作为普通节点,然后将自己的信息包括用户名、IP地址、节点性质、发布时间等,通过分布式哈希表结构通过网络发布到其他节点终端上;
206:新节点终端可以通过分布式哈希表结构进行对其他联系人的搜索和呼叫,而其他节点终端也可以通过分布式哈希表结构对新节点终端进行搜索和呼叫;
207:当有节点终端下线时,该节点终端将下线信息发送给中心服务器和其在线联系人节点终端,退出分布式哈希表结构网络。图4给出了本发明基于端到端的安全语音多路径通信方法中的多路径寻找过程示意图,多路径寻找的步骤如下
a)任一节点终端均有3个路由表用于存储节点终端以及相关路径的信息,分别是Rl表存储网络状况好的节点终端,R2表存储通信候选路径,R3表存储用于当前通信的3条或3条以上的路径; b)呼叫端A节点终端登录上线后,查询和测试本地联系人数据库中各节点终端的数据转发质量,在保障通信数据转发质量的基础上,将符合预设QoS条件的节点终端存放到表Rl中,以供呼叫端A通信时转发语音数据。例如呼叫端A使用ping测试本地联系人数据库中节点终端到自己的网络状况,根据Ping返回的时延,计算路径的时延、时延抖动和丢包率情况,同时查询节点终端转发质量值。例如,时延低于50ms、抖动低于10ms、无丢包、转发质量值高于50并且闲置可用的节点终端将被存放到表Rl中。c)如果呼叫端A中表Rl中可用节点终端较少,低于设定阈值,则启动分布式哈希表结构搜索分布式哈希网络中的超级节点,补充新的超级节点信息存入Rl中,使得Rl中节点终端到达阈值则停止搜索;
d)呼叫端A呼叫对端B时,首先通过本地联系人数据库查找对端B的地址信息,若是没有找到,则通过分布式哈希表结构的搜索功能来获得对端B的信息;
e)呼叫端A向表Rl中节点终端发送寻路请求信令,寻路请求信令用于向其他节点终端发送路径测试请求,测量到达目的节点终端B (S卩,对端B)的可达性和时延、时延抖动及丢包率等特性;如果Rl中的节点终端C接到呼叫端A的寻路请求信令后,重复呼叫端A的工作,将寻路请求信令发送给自己的Rl中的其他节点终端;
f)节点终端C的Rl中的节点终端Cl、C2、C3接收到寻路请求信令后,测试自身到目的对端B的路径情况,包括时延、抖动、丢包率以及自身的节点终端转发质量,并将时延、时延抖动和丢包率等信息反馈到节点终端C ;节点终端C根据接收到的反馈信息后,比较路径C-Cl—BX-C2—BX-C3—B的路径情况并将最好的路径例如C一Cl一B选择出来并反馈给呼叫端A ;例如,测量过程包括时延、抖动、丢包率以及节点终端转发质量值的情况,以累积时延低于150ms、累积抖动低于15ms、无丢包,且转发节点终端质量不低于50为先决条件,挑选时延小的路径反馈给呼叫端A,没有满足条件的则返回无合适路径的信息;
g)呼叫端A收到路径C一Cl一B信息后,判断A—C一Cl一B的路径完整路径信息是否符合设定的合理语音通信的时延,时延抖动以及丢包率等数值要求,符合要求则存入到表R2中;
h)同样情况,呼叫端A的表Rl中其他节点终端按以上方案分别测试出各自的最佳路径,同时保证这些路径尽量不交叉,测试完毕后将路径时延,时延抖动及丢包率情况反馈给呼叫端A,符合预设合理语音通信条件的路径存入表R2中;例如,节点终端A的表Rl中其他节点终端D、E、F等按以上方案分别测试出各自的路径A— D — Dl—B、A— D — D2— B、A—E — El—B、A— E — E2— B、A— F— Fl—B、A— F— F2— B,然后选出其中符合条件的路径A—D一Dl一B、A一E一E2一B、A一F一Fl一B,测试完毕后将路径情况反馈给节点终端A ;
i)Rl中的全部节点终端测试完毕后,比较R2中各条路径情况,选择路径时延,时延抖动及丢包率性能较好且性能接近的3条或3条以上的路径作为本次的语音呼叫通信的路径,这3个或3个以上的转发路径将被存入表R3中;例如,将R2中节点终端根据时延分成各组,相差不超过20ms则为一组将它们存入R3,作为此次的通信路径;
若R2中无法找出满足上述条件的3条路径,或总路径数不低于3个,则将分组相差条件扩大一倍为40ms ;若仍然无法找出合适组,则相差条件继续翻倍,直到找出为止;
若R2中无法找出满足上述条件的3条路径,且总路径数低于3个,则还可以将测试条件中的时延和时延抖动要求进行扩大,例如其中时延绝对值设为200ms,丢包率设为不低于5%,重新搜索路径;若仍然无法找出,条件继续增加,直到找出为止;
找到这些通信路径之后,通知这3条路径的转发节点终端,锁定节点终端,以免被其他节点终端占用;
呼叫端A通过固定的端口号将3条路径、端口号用对端B的公钥加密后直接发送给对端B ;对端B接收到,解密后,其进行判断;若拒绝,则通信结束;若接收,通信双方则通过基于身份的双线性对密钥协商机制协商得到此次通信的对称密钥用于加密语音数据包,然后呼叫端A开始使用3条路径与对端B进行通信;
j)表Rl定时测试并更新其中的节点终端信息,有新联系人节点终端上线也进行测试,联系人节点终端下线则将及时删除;例如,对于表Rl每5分钟测试一次其中节点终端的情况,对于表R2每2分钟测试一次其中节点终端的情况,对于表R3中路径则需要每30秒测试一次其中路径的情况,若R3中有节点终端临时下线、路径质量下降时,则立刻从R2中选择合适的路径进行替补更换;
k)表R3中有节点终端下线后,则及时更换适当的节点终端,候选节点终端从R2表中选出,R2中的节点终端也定时测试和更新。图5中给出了本发明所述方法的语音加解密处理过程。在呼叫端A,语音被采样、量化及编码以及压缩之后,变为一系列的分组语音数据。例如,如果是采用MELP的4800bps的压缩算法,则每20ms得到一次12bytes压缩编码信息。编码之后的语音数据将按照序号进行分组调整,加密,序号标记处理得到加密数据包。根据两端协商出来的是采用3路径还是3条以上路径数进行分组调整,加密和标记处理。得到加密数据包1,加密数据包2和加密数据包3等。接着,通过呼叫端A和对端B之间协商好的多路径通道进行数据发送和接收。加密数据包I在路径I上传输;加密数据包2在路径2上传输;而加密数据包3在路径 3上传输。在接收端,对端B接收到从多条路径上传输过来的接收到数据包后,先缓冲起来。然后按照序号进行重排,接着进行解密和分组调整,最后恢复出来按序号的重组的分组语音数据。呼叫端A和对端B之间的语音加密密钥将由通信双方在通话之前通过基于身份的密钥协商机制来协商完成。同时,从对端B到呼叫端A方向的多路径加密语音的传输仍基于这同样选定的链路路径进行,而且加解密密钥跟呼叫端A到对端B方向协商的加解密密
钥一致。
结束通信时,呼叫端A将清空表R2和R3,同时通知路径中节点终端通信结束,释放出路径,提高自身节点终端转发质量值。图6给出了基于端到端的语音安全多路径通信方法的密钥管理和协商过程。密钥管理主要由中心服务器完成,而密钥协商过程采用基于用户身份的密钥协商机制来完成,其中可以采用基于双线性对的模式。在图6中,
中心服务器在整个系统建立的时候就创建并公开系统的参数<G1; G2, e, q,P,Ppub, H1, H〉,其中G1是加法循环群,其生成元是P ;e O是双线性对运算;q是G1的基。中心服务器随机选择一个随机数A计算其中s是公共的私钥,保留在中心服务器中,不公开;而/ _是可以公开的公共公钥。中心服务器还选择一个强密码杂凑函数H和H1,其中H1 =UUlnXG1-G115然后,步骤如下
401 :设呼叫端A的用户身份是IDA,IDa可以是公开的其他用户可以知道。而其自己生成私钥为Xa,然后将IDa和Xa经加S之后,传输给中心服务器。
402 :中心服务器根据收到的IDa和xA,生成呼叫端A的公钥对PA=〈XA,YA>,其中Xa=X/1, \=TksP。然后计算Qa=H1 (IDa I Pa),并得到Da=^sQp中心服务器将Da经过Xa加密之后,与其他信息一起发送回给呼叫端A。403 :同样对端B的处理过程如401所述。设对端B的用户身份是IDB,IDb可以是公开的其他用户可以知道。而其自己生成私钥为xB,然后将IDb和xB备Ppub加密之后,传输给中心服务器。 404 :中心服务器根据收到的IDb和xB,生成对端B的公钥对PB=<XB, YB>,其中Xb=XbZd, Yb=XbS/^然后计算Qb=H1 (IDb I Pb),并得到Db=SQp中心服务器将Db经过Xb加密之后,与其他信息一起发送回给对端B。上述的401到402的密钥管理步骤,在每个新节点接入时,注册登录之后就马上实施并完成。然后每个节点将得到其自己的公私钥对。例如对节点A而言,公钥对为PA=〈XA,YA>,私钥为 Sa=XaDa=Xai5Qa=Xai5H1 (IDa | | PA)。在每次呼叫后,通话之前,呼叫端A和对端B之间要进行以下步骤的密钥协商过程。405 :呼叫端A自产生一个随机数a,并根据每次呼叫情况产生一个回话标识符号TS0然后将[IDA,TS,Τα=βΛ PJ发送给对端B。406 :收到405后,对端B同样自生成一个随机数b,然后将[IDB,TS, \=bP, PB]发送给呼叫端A。然后呼叫端A 生成 KA1=S (SA,aYB),KA2= (IDa | | IDb | | aTB | | xAXB),得到每次通话时候的语音数据加解密密钥SKab=H(Ta| Tb KA1 KA2)。同样’对端生成呵^‘丁^汍汕丫山诎尸丨取! IDb |bTA| xBXA),得到每次通话时候的语音数据加解密密钥SKba=H(Ta| Tb KB1 KB2)。可以证明出SKab=SKba,也就是协商出了一致的加解密密钥。而这样密钥协商的好处是可以抵御密钥替代攻击,具备完善前向安全性和临时密钥安全性。
呼叫端A和对端B之间上述405和406步骤之间的通信过程将通过选择出的多路径通信通道中的一个通道进行。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,凡在本发明的精 神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于端到端的语音安全多路径通信系统,其特征在于包括多个节点終端,中心服务器,至少3条网络路径;所述多个节点终端分别为呼叫端A、对端B、普通节点和超级节点;所述呼叫端A通过网络路径与对端B通信连接;所述普通节点和超级节点设在网络路径上;每个节点終端均包括分布式哈希表互连模块、语音处理转发模块、多路径寻找模块以及安全模块;节点终端通过分布式哈希表互连模块实现相互通信,并连接成具有发布和捜索功能的端到端网络结构;分布式哈希表互连是将各节点终端的地址及相关信息通过哈希计算后,形成ニ进制编码,并基于ニ叉树搜索方式进行数据存放及捜索的互连方式;所述超级节点为进行数据转发的节点终端;所述普通节点为不进行数据转发的节点终端。
2.如权利要求I所述的基于端到端的语音安全多路径通信系统,其特征在于所述中心服务器包括密钥生成器;新加入节点终端在注册时,将自己身份ID信息传递给中心服务器,中心服务器根据这ID信息生成私钥,而用户的身份作为公钥;生成的私钥通过安全的通道交给新加入节点终端。
3.如权利要求I所述的基于端到端的语音安全多路径通信系统,其特征在于所述语音处理转发模块用于实现节点终端语音的压缩、加密,并按最大安全距离方式进行多路径分割,形成多路径上传输的数据包,并对数据包添加序列号进行标识;最大安全距离方式是指对语音而言,划分其在不用路径上进行传输;所述语音处理转发模块还对中继语音进行转发;节点终端根据转发目标将收到带有转发标记的数据包进行数据转发。
4.如权利要求3所述的基于端到端的语音安全多路径通信系统,其特征在于所述多路 径寻找模块根据一致性原则,在保证语音服务质量的前提下,选取一致性能好的3条或3条以上的路由路径与对端B建立通话。
5.如权利要求I所述的基于端到端的语音安全多路径通信系统,其特征在于所述安全模块完成密钥及安全算法的管理,包括从中心服务器处获得公私钥信息。
6.一种基于端到端的语音安全多路径通信方法,其特征在于首先在呼叫端A将语音加密后分拆为多个数据包,并对多个数据包顺序标号;然后将所述数据包通过至少3条独立路由路径到达对端B,在对端B再进行数据包的按序号重组、解密并还原,实现语音的多路径传输;其中,路径上的节点终端通过分布式哈希表互连模块实现相互通信,并连接成具有发布和捜索功能的端到端网络结构。
7.如权利要求6所述的基于端到端的语音安全多路径通信方法,其特征在于所述哈希表互连模块的发布和搜索过程包括以下7个步骤 步骤ー新节点终端经过在中心服务器上完成注册和登录后,获得自己的公私钥信息; 步骤ニ 新节点终端从中心服务器获得部分系统预设的节点终端信息,并将这些节点终端加为联系人; 步骤三新节点终端再通过中心服务器或分布式哈希互连模块,加载其他联系人节点终端的在线信息和IP地址信息,并将状态为在线的联系人信息存储到本地联系人数据库中; 步骤四新节点终端向在线的联系人节点终端发送上线消息,并把自己的地址信息一起发送过去; 步骤五新节点终端通过对自己平台计算能力以及网络情况进行测量,并根据测量结果来判定自己是承担超级节点角色还是作为普通节点,然后将自己的信息包括用户名、IP地址、节点性质、发布时间,通过分布式哈希表结构经网络路径发布到其他节点终端上;步骤六新节点终端可以通过分布式哈希表结构进行对其他联系人的捜索和呼叫,而其他节点终端也可以通过分布式哈希表结构对新节点进行捜索和呼叫; 步骤七当有节点终端下线时,该下线节点終端将下线信息发送给中心服务器和其在线联系人节点终端,退出分布式哈希表结构网络。
8.如权利要求6所述的基于端到端的语音安全多路径通信方法,其特征在于将所述数据包通过至少3条独立路由路径到达对端B,其中至少3条路径的建立和选择步骤如下任一节点终端均有3个路由表用于存储节点终端以及相关路径的信息,分别是第一路由表Rl存储网络状况好的节点终端,第二路由表R2存储通信候选路径,第三路由表R3存储用于当前通信的3条或3条以上的路径; 呼叫端A登录上线后,查询和测试本地联系人数据库中各节点终端的数据转发质量,在保障数据转发质量的基础上,将网络状况好的节点终端存放到第一路由表Rl中,以供呼叫端A通信时转发语音数据; 如果呼叫端A中第一路由表Rl中可用节点较少,低于设定阈值,则启动分布式哈希表互连搜索分布式哈希网络中的超级节点,补充新超级节点信息存入第一路由表Rl中,使得第一路由表Rl中节点终端到达预设阈值则停止捜索; 呼叫端A呼叫对端B吋,首先通过本地联系人数据库查找对端B的地址信息,若是没有找到,则通过分布式哈希表结构的捜索功能来获得对端B的信息; 呼叫端A向第一路由表Rl中节点发送寻路请求信令,寻路请求信令用于向其他节点终端发送路径测试请求,測量到达目的对端B的可达性和延迟特性;如果第一路由表Rl中的节点终端C接到呼叫端A的寻路请求信令后,重复呼叫端A的工作,将寻路请求信令发送给自己的第一路由表Rl中的其他节点终端; 节点终端C的第一路由表Rl中的节点终端Cl、C2、C3接收到寻路请求信令后,测试自身到目的节点终端B即对端B的路径情況,并将时延、时延抖动和丢包率等信息反馈到节点终端C ;节点终端C根据接收到的反馈信息后,比较路径C一Cl一B、C一C2一B、C一C3一B的路径情况并将最佳的路径选择出来并反馈给呼叫端A ; 呼叫端A收到最佳路径信息后,判断从呼叫端A到最佳路径的完整路径信息是否符合设定的合理语音通信的时延,时延抖动以及丢包率等数值要求,符合要求则存入到第二路由表R2中; 同样情况,呼叫端A的第一路由表Rl中其他节点终端按以上方案分别测试出各自的最佳路径,同时保证这些路径不交叉,测试完毕后将路径时延,时延抖动及丢包率情况反馈给呼叫端A,符合预设合理语音通信条件的路径存入第二路由表R2中; 第一路由表Rl中的全部节点测试完毕后,比较第二路由表R2中各条路径情況,选择路径时延,时延抖动以及丢包率性能较好且性能接近的3条或3条以上的路径作为本次的语音呼叫通信的路径,这3个或3个以上的转发路径将被存入第三路由表R3中; 第一路由表Rl定时测试并更新其中的节点终端信息,有新联系人节点终端上线也进行测试,联系人节点终端下线则将及时删除; 第三路由表R3中有节点终端下线后,则及时更换适当的节点终端,候选节点终端从第ニ路由表R2中选出,第二路由表R2中的节点终端也定时测试和更新。
9.如权利要求6所述的基于端到端的语音安全多路径通信方法,其特征在于所述判断新加入节点终端为超级节点的一般标准是,节点終端IP地址是公网IP地址,计算能力、网络带宽和存储空间的综合评判值超过设定阈值,否则为普通节点,普通节点不进行数据转发;节点终端通信时,发送方会间断生成一定大小的语音数据包,节点终端将每个数据包通过共享的对称密钥进行加密,然后再将加密后的数据包分成3个或3个以上的小包,分别通过3条或3条以上的路径发送到对端B,并保证不将连续的一段语音包通过同一条路径发送;对端B接收到各条路径的语音包后,将语音包进行解密,然后将语音包进行重新按序排列、组合,进而解码恢复出原语音;通信双方基于身份的密钥协商机制协商得到毎次呼叫时候加密语音数据的密钥;呼叫端A和对端B之间的信令和密钥协议协商传递将基于单链路传输。
10.如权利要求8所述的基于端到端的语音安全多路径通信方法,其特征在于在进行多路径语音通信之前,呼叫端A需将第三路由表R3中选择的路径、端口号发送给对端B,数据包经加密处理后,通过固定的端口号直接发送给被呼叫节点终端;同样,若是通信中更换路径,发起呼叫的节点终端也将更换后的路径、端口号发送给被呼叫节点终端。
全文摘要
本发明公开一种基于端到端的语音安全多路径通信系统及方法,系统包括多个节点终端,中心服务器,至少3条网络路径;多个节点终端分别为呼叫端、对端、普通节点和超级节点;呼叫端通过网络路径与对端通信连接;普通节点和超级节点设在网络路径上;每个节点终端均包括分布式哈希表互连模块、语音处理转发模块、多路径寻找模块以及安全模块;节点终端通过分布式哈希表互连模块实现相互通信,并连接成具有发布和搜索功能的端到端网络结构。方法中首先在呼叫端将语音加密后分拆为多个数据包,并对多个数据包顺序标号;然后将所述数据包通过至少3条独立路由路径到达对端,在对端再进行数据包的按序号重组、解密并还原,实现语音的多路径传输。
文档编号H04M7/00GK102868683SQ20121030249
公开日2013年1月9日 申请日期2012年8月23日 优先权日2012年8月23日
发明者陈立全, 朱文远, 任卫东, 阳析, 邱林峥 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1