节点B。i的初始值为0,其表示为源节点Α向服 务器发送通信请求消息,此时转发概率为1,即Pf= 1。路径上任意一节点Ii都满足如下三 元函数关系:
[0066] 其中P(U为服务器接收到节点^通信请求消息后随机生成的一个位于0~ P(IiJ之间的值,当P(Ue[ο,ραi)]时,继续向后继节点11+1转发,否则节点Ii就直接 发送给接收者B。
[0067] 步骤3.下一跳节点选取后,服务器采用命令项F0RW0RD_ADDR(转发消息)和 RECEIVE_ADDR(接收消息)来区分下一跳节点是用来转发还是接收来自前驱节点发来的消 息。其响应消息中包含信息有〈IP^ortuCMD,ID,C>其中ID标示不同匿名路径,消息内的 命令项CMD采用节点L的公钥进行加密操作:
[0068]
[0069] 得到一个密文S,密文S只有采用节点^的私钥才来得到命令项信息。ID采用服 务器密钥加密,加密操作和对用户名操作一样,得出标志信息的密文ID',最后将响应消息 〈IP^Port^S,ID',C> 发送给源节点A〇
[0070] 步骤4.源节点A在得到响应报文后,通过解析消息前部获得下一跳节点1满 IP地址和端口信息,将剩余消息和通信信息发送给下一跳节点Ii,其中消息包含信息有 <S,C,Info〉,Info指的是通信内容。
[0071] 步骤5.节点L在收到源节点A发来的信息后,首先也是对消息头部进行解析,通 过自己的私钥将信息S进行解密操作:
[0072]
[0073] 这样得到了命令信息CMD,来判断转发消息还是接收消息。
[0074] 步骤6.如需转发消息,中继节点进入路径成员选择阶段,则由中继节点L向服务 器请求获取下一跳节点11+1,服务器在接收到中继节点发来接收者密文C,采用自身密钥进 行解密操作:
[0075]
[0076] 从而获得接收者B,同时服务器采用概率转发机制选择下一跳节点11+1,之后服 务器将进行一次比较,看选出的节点1 1+1是否为接收节点B,然后采用命令项F0RW0RD_ ADDR(转发消息)和RECEIVE_ADDR(接收消息)来区分下一跳节点是中继节点还是接 收节点,之后将下一跳节点11+1信息发送给中继节点Ii,其响应消息中包含的信息有 <IP1+1,Port1+1,S,ID',C>,下一跳节点在接收到消息后,采用与源节点A类似的操作,将消息 发送给下一跳中继节点11+1,节点11+1在解析报文来获得命令项操作。之后在循环执行步骤 6.
[0077] 如需接收信息,则该中继节点L为接收节点B,至此匿名路径构建完成,建立出一 条通信路径Path= {I。,I!,I2.",In}。
【主权项】
1. 一种基于重路由匿名通信路径的构建方法,其特征在于:该方法采用重路由机制的 变长策略和下一跳路由选择策略的方法来构建匿名通信路径,在路径成员选择阶段由路径 中的前驱节点向服务器请求获得下一跳中继节点的地址和端口信息;在消息转发阶段,路 径节点在获得下一跳中继节点的地址和端口信息后,将消息转发给下一跳中继节点,由下 一跳中继节点解析报文信息获取下一步操作的命令项;两个阶段还结合了概率转发机制和 加密机制,让通信路径上的恶意节点无法确定发送者和接收者是谁,而且有效的控制了路 径的长度,提高了转发的效率,其具体步骤如下: 步骤1.初始时刻,网络中源节点A要和接收节点B进行匿名通信,此时源节点A首先 向服务器发送通信请求消息,来获取下一跳中继节点Ijft址信息i代表路径中第一个中 继节点; 步骤2.服务器在接收到的请求后,采用自身密钥K对接收节点B的用户名M进行加密 操作:得到该用户名的密文C,其中K是服务器的密钥,同时服务器还会从在线用户中以概率 pfe [0, 1]选择节点来作为中继节点I i,0〈 = i〈 = η ;n为路径中转发节点的个数,或者以 概率(I-Pf)终止转发,直接选择接收节点B ;i的初始值为0,其表示为源节点A向服务器发 送通信请求消息,此时转发概率为1,即Pf= 1,路径上任意一节点I i都满足如下三元函数 关系:其中P(I1)为服务器接收到节点^通信请求消息后随机生成的一个位于〇~Pd i i) 之间的值,当P (Ii) e [〇, p (Ii J ]时,继续向后继节点Ii+1转发,否则节点I;就直接发送给 接收者B ; 步骤3.下一跳节点选取后,服务器采用命令项FORWORD_ADDR转发消息和RECEIVE_ ADDR接收消息来区分下一跳节点是用来转发还是接收来自前驱节点发来的消息,其响应消 息中包含信息有〈IPd Port1, CMD,ID,O其中IP1, Port1表示第i节点的地址信息和端口信 息,CMD表示消息的命令项,ID表示不同匿名路径,C为用户名的密文,消息内的命令项CMD 采用节点I 1的公钥Pub i进行加密操作:得到一个密文S,密文S只有采用节点^的私钥才来得到命令项信息,ID采用服务 器密钥加密,加密操作和对用户名操作一样,得出标志信息的密文ID',最后将响应消息 OP1, Port1, S,ID',O发送给源节点A,响应消息的内容依次指的是第i个节点的地址信息 和端口信息,消息命令项的密文S,标志信息的密文ID',接收节点的密文C ; 步骤4.源节点A在得到响应报文后,通过解析消息前部获得下一跳节点^的IP 地址和端口信息,将剩余消息和通信信息发送给下一跳节点I1,其中消息包含信息有 <S,C,Info〉,S指的是消息命令项的密文,C为接收节点用户名的密文,Info指的是通信内 容; 步骤5.节点I1在收到源节点A发来的信息后,首先也是对消息头部进行解析,通过自 己的私钥Sec1将信息S进行解密操作:这样得到了命令信息CMD,来判断转发消息还是接收消息; 步骤6.如需转发消息,中继节点进入路径成员选择阶段,则由中继节点I1向服务器请 求获取下一跳节点11+1,服务器在接收到中继节点发来接收者密文C,采用自身密钥K进行 解密操作:从而获得接收者B,同时服务器采用概率转发机制选择下一跳节点11+1,之后服务器将 进行一次比较,看选出的节点11+1是否为接收节点B,然后采用命令项FORWORD_ADDR转发 消息和RECEIVE_ADDR接收消息来区分下一跳节点是中继节点还是接收节点,之后将下一 跳节点W言息发送给中继节点I i,其响应消息中包含的信息有<IP1+1,P〇rt1+1,S,ID',C>, 响应消息中包含的信息依次指的是第i+1个节点的地址信息和端口信息,消息命令项的密 文S,标志信息的密文ID',以及接收节点的密文C,下一跳节点在接收到消息后,采用与源 节点A类似的操作,将消息发送给下一跳中继节点1 1+1,节点11+1在解析报文来获得命令项 操作,之后在循环执行步骤6 ; 如需接收信息,则该中继节点I1为接收节点B,至此匿名路径构建完成,建立出一条通 信路径 Path = {I。,I1, I2...,Ij。
【专利摘要】本发明是一种基于重路由匿名通信路径的构建方法,针对现有匿名通信系统中构建路径存在的不足,提出了一种基于重路由机制的新方案来建立匿名通信路径,采用重路由机制的变长策略和下一跳路由选择策略。在路径成员选择阶段由路径的前驱节点向服务器请求获得下一跳转发节点的地址和端口信息;在消息转发阶段,路径节点在获得下一跳转发节点地址和端口信息后,将消息转发给下一跳中继节点。两个阶段还结合了转发机制和加密机制,让通信路径上的恶意节点无法确定发送者和接收者是谁,同时采用概率递减转发机制有效的控制了路径的长度,提高了转发的效率。最终构造出一个具有较强稳定性和抗攻击能力的匿名通信系统。
【IPC分类】H04L29/06, H04L12/701
【公开号】CN105357113
【申请号】CN201510703727
【发明人】王少辉, 蒋季宏, 肖甫, 韩志杰, 柯昌博, 王汝传
【申请人】南京邮电大学
【公开日】2016年2月24日
【申请日】2015年10月26日...