CN114051236B - 基于重路由机制的匿名通信方法、系统、介质及电子设备 - Google Patents

基于重路由机制的匿名通信方法、系统、介质及电子设备 Download PDF

Info

Publication number
CN114051236B
CN114051236B CN202210029505.5A CN202210029505A CN114051236B CN 114051236 B CN114051236 B CN 114051236B CN 202210029505 A CN202210029505 A CN 202210029505A CN 114051236 B CN114051236 B CN 114051236B
Authority
CN
China
Prior art keywords
node
data packet
session key
anonymous communication
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210029505.5A
Other languages
English (en)
Other versions
CN114051236A (zh
Inventor
杨科
肖美华
钟小妹
朱志亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East China Jiaotong University
Original Assignee
East China Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by East China Jiaotong University filed Critical East China Jiaotong University
Priority to CN202210029505.5A priority Critical patent/CN114051236B/zh
Publication of CN114051236A publication Critical patent/CN114051236A/zh
Application granted granted Critical
Publication of CN114051236B publication Critical patent/CN114051236B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/126Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及通信领域,尤其涉及基于重路由机制的匿名通信方法、系统、介质及电子设备。该方法包括:步骤1,基于构建请求信息,通过重路由机制构建匿名通信链路;步骤2,接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包,并以填充发送的方式将封装匿名通信数据包发送至接收端。通过发明可以有效地实现发送者匿名和接收者匿名。匿名通信消息的发送基于重路由机制,提高传输的安全性,引入了填充发送的方式可以有效防止流量攻击,同时有效的节约带宽。

Description

基于重路由机制的匿名通信方法、系统、介质及电子设备
技术领域
本发明涉及通信领域,尤其涉及基于重路由机制的匿名通信方法、系统、介质及电子设备。
背景技术
当前主要的匿名通信方案据根据其实现机制可分为通信流填充机制、盲签名和群签名技术、广播和组播机制以及重路由机制。通信流填充机制是通过产生大量垃圾包,使得网络中所有节点对之间的通信量相等,从而让通信双方的身份信息无法被观测分析,但该机制的缺点是会产生大量的垃圾包,降低通信效率。广播和组播机制是将全网段内的所有主机作为消息的接收者,依靠成员数目来隐藏接收者的身份信息,但该机制的缺点是容易产生信道冲突,此外匿名系统的通信效率、可扩展性是阻碍该类型匿名通信方案发展的主要瓶颈。
发明内容
本发明所要解决的技术问题是提供基于重路由机制的匿名通信方法、系统、介质及电子设备。
本发明解决上述技术问题的技术方案如下:一种基于重路由机制的匿名通信方法,包括:
步骤1,基于构建请求信息,通过重路由机制构建匿名通信链路;
步骤2,接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包,并以填充发送的方式将封装匿名通信数据包发送至接收端。
本发明的有益效果是:通过发明可以有效地实现发送者匿名和接收者匿名。匿名通信消息的发送基于重路由机制,提高传输的安全性,引入了填充发送的方式可以有效防止流量攻击,同时有效的节约带宽。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤1之前还包括:
对用户端进行身份认证,并向通过身份认证的用户端发送公私密钥对,所述用户端基于所述公私密钥对发送构建请求信息。
进一步,所述对用户端进行身份认证,并向通过身份认证的用户端发送公私密钥对,所述用户端基于所述公私密钥对发送构建请求信息具体为:
向认证服务器发送所述用户端的认证请求信息,以使所述认证服务器判断所述认证请求信息中的哈希值与数据库中的预存的哈希值是否匹配,若是,则通过身份认证,接收所述认证服务器所生成的身份标识对应的公私密钥对,并发送至所述用户端,所述用户端基于所述公私密钥对发送构建请求信息。
采用上述进一步方案的有益效果是,任何使用匿名通信服务的节点必须进行身份认证,认证方案基于用户口令和密保信息,可防止恶意节点伪装成消息发送者获取匿名通信网络中的节点信息。
进一步,所述步骤1具体包括:
在通信网络中的n个节点里按预设要求选出m个节点,作为中继节点,通过所有的中继节点构建匿名通信链路。
进一步,所述在通信网络中的n个节点里按预设要求选出m个节点,作为中继节点,通过所有的中继节点构建匿名通信链路具体包括:
获取通信网络中每个节点的往返时延、节点的在线时间以及节点的带宽,基于每个节点的所述往返时延、所述节点的在线时间以及所述节点的带宽计算出每个节点的加权求和值,对计算得出的n个加权求和值进行降序排列,选取前m个加权求和值对应的节点,所述m个节点为中继节点;
对用户端向中继节点中的入口节点发送的申请构建匿名通信链路的第一信息数据包进行加密,所述第一信息数据包包括:通过所述入口节点的公钥加密的第一密钥协商信息,对入口节点收到的所述第一信息数据包进行解密,对所述第一密钥协商信息进行处理得到第一会话密钥协商信息以及第一会话密钥,将所述第一会话密钥协商信息、所述第一会话密钥、所述第一会话密钥的第一哈希值以及第一路径标识符打包至第一反馈数据包中,通过第一会话密钥将所述第一反馈数据包加密传输至用户端,对用户端接收到的所述第一反馈数据包进行解密,根据所述第一反馈数据包中的所述第一会话密钥协商信息计算第二会话密钥,并比较由第二会话密钥确定的第二哈希值与所述第一哈希值是否相等,若相等,则判定所述用户端与所述入口节点之间构成第一段匿名通信链路,所述入口节点为加权求和值最高的第一节点;
基于所述第一段匿名通信链路,通过预设流程得到第二段匿名通信链路;所述预设流程具体包括:
通过第一会话密钥对用户端向所述入口节点发送第二信息数据包进行加密,所述第二信息数据包包括:第二节点的IP地址以及通过所述第二节点的公钥加密的第二密钥协商信息,所述第一会话密钥为:所述用户端与所述入口节点之间的会话密钥;通过所述第一会话密钥对所述入口节点接收到的所述第二信息数据包进行解密,并将所述第二密钥协商信息打包至第三信息数据包中,将所述第三信息数据包按照所述IP地址发送至所述第二节点,所述第二节点对所述第二密钥协商信息进行处理得到所述第二节点与所述用户端之间的第二会话密钥以及第二会话密钥协商信息,将所述第二会话密钥、所述第二会话密钥协商信息、第二路径标识符以及所述第二会话密钥的第二哈希值打包成第三信息数据包,所述第三信息数据包通过所述入口节点的公钥进行加密,将加密后的所述第三信息数据包发送至所述入口节点,所述入口节点对加密后的所述第三信息数据包进行解密,所述入口节点通过所述第一会话密钥对所述第三信息数据包进行加密,经加密后的所述第三信息数据包作为第二反馈数据包发送至所述用户端,对所述用户端接收到的第二反馈数据包进行解密,并根据所述第二反馈数据包中的数据计算所述第二节点与所述用户端之间的第三会话密钥,比较所述第三会话密钥的第三哈希值与所述第二哈希值是否相等,若判断结果为相等,则判定所述用户端与所述第二节点之间构成第二段匿名通信链路;
重复预设流程中的步骤,直至得到第m段匿名通信链路,所述第m段匿名通信链路即为所述匿名通信链路。
采用上述进一步方案的有益效果是,对中继节点从节点在线时间、往返时延以及节点带宽三个方面进行筛选,确保加入匿名通信网络中的节点是长时间在线且通信延迟较低的高性能节点,可有效提高中继节点的可靠性,同时阻止了恶意节点的加入。
进一步,所述接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包具体包括:
通过所述用户端与所述接收端之间的第三会话密钥对待发送信息进行打包加密,得到匿名数据包,将所述匿名数据包通过配置后的匿名通信链路处理,得到m个匿名通信数据包;
所述将所述匿名数据包通过配置后的匿名通信链路处理,得到m个匿名通信数据包具体包括:
通过所述用户端与第m节点之间的第m会话密钥对所述匿名数据包以及所述接收端的地址进行加密,生成第一匿名通信数据包,所述第一匿名通信数据包绑定第m-1节点的IP地址;将绑定后的所述第一匿名通信数据包通过第m-1会话密钥加密,得到第二匿名通信数据包,所述第二匿名通信数据包绑定第m-2节点的IP地址;
重复执行预设策略,直至得到第m匿名通信数据包,所述第m匿名通信数据包即为所述匿名通信数据包。
进一步,所述以填充发送的方式将封装匿名通信数据包发送至接收端具体包括:
判断任意节点在预设时段内是否收到z个不同的通信数据包,其中,
Figure 187989DEST_PATH_IMAGE001
,若判断 结果为是,则,通过该节点与所述用户端之间的会话密钥对所有通信数据包进行解密,并将 所有所述通信数据包中的随机数删除,根据删除随机数后的每个通信数据包的大小,升序 排列所有通信数据包,计算相邻两个通信数据包之间大小的差值,逐一进行所述差值与阈 值的大小判断;
当第i个差值小于或等于所述阈值时,则进行第i+1个差值与所述阈值大小判断,直至判断完z个不同的通信数据包与所述阈值的大小;
当所述第i个差值大于所述阈值时,将计算所述第i个差值的被减数通信数据包之前的所有通信数据包的大小统一按照该被减数通信数据包的大小进行内容填充,内容填充后进行第i+1个差值与所述阈值大小判断,直至判断完z个不同的通信数据包与所述阈值的大小;
将填充后的z个不同的通信数据包传输至下一节点,并重复对于该节点在预设时段内是否收到z个不同的通信数据包的判断,直至下一节点为接收端。
其中,所述内容填充为:在所述预设时段内收到z个不同的通信数据包的节点随机产生的并附带对应的消息标识符的填充数据包。
采用上述进一步方案的有益效果是,消息经过中继节点的多次转发有效地隐藏了消息发送者、接收者以及他们之间的关系,消息被中继节点与发送者之间的会话密钥加密而不是传统的公钥加密方案,减少了加解密时间,降低了通信延迟;最后消息在转发的过程中,本发明在消息的转发过程中引入消息填充技术,但与传统方法不同的是根据不同数据包之间大小将解密后的数据包填充一定长度的随机值,可以有效防止流量攻击同时有效地节约带宽。
本发明解决上述技术问题的另一种技术方案如下:一种基于重路由机制的匿名通信系统,包括:
构建模块,用于基于构建请求信息,通过重路由机制构建匿名通信链路;
处理模块,用于接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包,并以填充发送的方式将封装匿名通信数据包发送至接收端。
本发明的有益效果是:通过发明可以有效地实现发送者匿名和接收者匿名。匿名通信消息的发送基于重路由机制,提高传输的安全性,引入了填充发送的方式可以有效防止流量攻击,同时有效的节约带宽。
进一步,构建模块还用于:
对用户端进行身份认证,并向通过身份认证的用户端发送公私密钥对,所述用户端基于所述公私密钥对发送构建请求信息。
进一步,所述对用户端进行身份认证,并向通过身份认证的用户端发送公私密钥对,所述用户端基于所述公私密钥对发送构建请求信息具体为:
向认证服务器发送所述用户端的认证请求信息,以使所述认证服务器判断所述认证请求信息中的哈希值与数据库中的预存的哈希值是否匹配,若是,则通过身份认证,接收所述认证服务器所生成的身份标识对应的公私密钥对,并发送至所述用户端,所述用户端基于所述公私密钥对发送构建请求信息。
采用上述进一步方案的有益效果是,任何使用匿名通信服务的节点必须进行身份认证,认证方案基于用户口令和密保信息,可防止恶意节点伪装成消息发送者获取匿名通信网络中的节点信息。
进一步,构建模块具体用于:
在通信网络中的n个节点里按预设要求选出m个节点,作为中继节点,通过所有的中继节点构建匿名通信链路。
进一步,所述在通信网络中的n个节点里按预设要求选出m个节点,作为中继节点,通过所有的中继节点构建匿名通信链路具体包括:
获取通信网络中每个节点的往返时延、节点的在线时间以及节点的带宽,基于每个节点的所述往返时延、所述节点的在线时间以及所述节点的带宽计算出每个节点的加权求和值,对计算得出的n个加权求和值进行降序排列,选取前m个加权求和值对应的节点,所述m个节点为中继节点;
对用户端向中继节点中的入口节点发送的申请构建匿名通信链路的第一信息数据包进行加密,所述第一信息数据包包括:通过所述入口节点的公钥加密的第一密钥协商信息,对入口节点收到的所述第一信息数据包进行解密,对所述第一密钥协商信息进行处理得到第一会话密钥协商信息以及第一会话密钥,将所述第一会话密钥协商信息、所述第一会话密钥、所述第一会话密钥的第一哈希值以及第一路径标识符打包至第一反馈数据包中,通过第一会话密钥将所述第一反馈数据包加密传输至用户端,对用户端接收到的所述第一反馈数据包进行解密,根据所述第一反馈数据包中的所述第一会话密钥协商信息计算第二会话密钥,并比较由第二会话密钥确定的第二哈希值与所述第一哈希值是否相等,若相等,则判定所述用户端与所述入口节点之间构成第一段匿名通信链路,所述入口节点为加权求和值最高的第一节点;
基于所述第一段匿名通信链路,通过预设流程得到第二段匿名通信链路;所述预设流程具体包括:
通过第一会话密钥对用户端向所述入口节点发送第二信息数据包进行加密,所述第二信息数据包包括:第二节点的IP地址以及通过所述第二节点的公钥加密的第二密钥协商信息,所述第一会话密钥为:所述用户端与所述入口节点之间的会话密钥;通过所述第一会话密钥对所述入口节点接收到的所述第二信息数据包进行解密,并将所述第二密钥协商信息打包至第三信息数据包中,将所述第三信息数据包按照所述IP地址发送至所述第二节点,所述第二节点对所述第二密钥协商信息进行处理得到所述第二节点与所述用户端之间的第二会话密钥以及第二会话密钥协商信息,将所述第二会话密钥、所述第二会话密钥协商信息、第二路径标识符以及所述第二会话密钥的第二哈希值打包成第三信息数据包,所述第三信息数据包通过所述入口节点的公钥进行加密,将加密后的所述第三信息数据包发送至所述入口节点,所述入口节点对加密后的所述第三信息数据包进行解密,所述入口节点通过所述第一会话密钥对所述第三信息数据包进行加密,经加密后的所述第三信息数据包作为第二反馈数据包发送至所述用户端,对所述用户端接收到的第二反馈数据包进行解密,并根据所述第二反馈数据包中的数据计算所述第二节点与所述用户端之间的第三会话密钥,比较所述第三会话密钥的第三哈希值与所述第二哈希值是否相等,若判断结果为相等,则判定所述用户端与所述第二节点之间构成第二段匿名通信链路;
重复预设流程中的步骤,直至得到第m段匿名通信链路,所述第m段匿名通信链路即为所述匿名通信链路。
采用上述进一步方案的有益效果是,对中继节点从节点在线时间、往返时延以及节点带宽三个方面进行筛选,确保加入匿名通信网络中的节点是长时间在线且通信延迟较低的高性能节点,可有效提高中继节点的可靠性,同时阻止了恶意节点的加入。
进一步,所述接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包具体包括:
通过所述用户端与所述接收端之间的第三会话密钥对待发送信息进行打包加密,得到匿名数据包,将所述匿名数据包通过配置后的匿名通信链路处理,得到m个匿名通信数据包;
所述将所述匿名数据包通过配置后的匿名通信链路处理,得到m个匿名通信数据包具体包括:
通过所述用户端与第m节点之间的第m会话密钥对所述匿名数据包以及所述接收端的地址进行加密,生成第一匿名通信数据包,所述第一匿名通信数据包绑定第m-1节点的IP地址;将绑定后的所述第一匿名通信数据包通过第m-1会话密钥加密,得到第二匿名通信数据包,所述第二匿名通信数据包绑定第m-2节点的IP地址;
重复执行预设策略,直至得到第m匿名通信数据包。
进一步,所述以填充发送的方式将封装匿名通信数据包发送至接收端具体包括:
判断任意节点在预设时段内是否收到z个不同的通信数据包,其中,
Figure 571697DEST_PATH_IMAGE002
,若判断 结果为是,则,通过该节点与所述用户端之间的会话密钥对所有通信数据包进行解密,并将 所有所述通信数据包中的随机数删除,根据删除随机数后的每个通信数据包的大小,升序 排列所有通信数据包,计算相邻两个通信数据包之间大小的差值,逐一进行所述差值与阈 值的大小判断;
当第i个差值小于或等于所述阈值时,则进行第i+1个差值与所述阈值大小判断,直至判断完z个不同的通信数据包与所述阈值的大小;
当所述第i个差值大于所述阈值时,将计算所述第i个差值的被减数通信数据包之前的所有通信数据包的大小统一按照该被减数通信数据包的大小进行内容填充,内容填充后进行第i+1个差值与所述阈值大小判断,直至判断完z个不同的通信数据包与所述阈值的大小;
将填充后的z个不同的通信数据包传输至下一节点,并重复对于该节点在预设时段内是否收到z个不同的通信数据包的判断,直至下一节点为接收端;
其中,所述内容填充为:在所述预设时段内收到z个不同的通信数据包的节点随机产生的并附带对应的消息标识符的填充数据包。
采用上述进一步方案的有益效果是,消息经过中继节点的多次转发有效地隐藏了消息发送者、接收者以及他们之间的关系,消息被中继节点与发送者之间的会话密钥加密而不是传统的公钥加密方案,减少了加解密时间,降低了通信延迟;最后消息在转发的过程中,本发明在消息的转发过程中引入消息填充技术,但与传统方法不同的是根据不同数据包之间大小将解密后的数据包填充一定长度的随机值,可以有效防止流量攻击同时有效地节约带宽。
本发明解决上述技术问题的另一种技术方案如下:一种介质,所述介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如上述任一项所述的一种基于重路由机制的匿名通信方法。
本发明的有益效果是:通过发明可以有效地实现发送者匿名和接收者匿名。匿名通信消息的发送基于重路由机制,提高传输的安全性,引入了填充发送的方式可以有效防止流量攻击,同时有效的节约带宽。
本发明解决上述技术问题的另一种技术方案如下:一种电子设备,包括上述介质、执行上述介质内的指令的处理器。
本发明的有益效果是:通过发明可以有效地实现发送者匿名和接收者匿名。匿名通信消息的发送基于重路由机制,提高传输的安全性,引入了填充发送的方式可以有效防止流量攻击,同时有效的节约带宽。
附图说明
图1为本发明一种基于重路由机制的匿名通信方法的实施例提供的流程示意图;
图2为本发明一种基于重路由机制的匿名通信系统的实施例提供的结构框架图;
图3为本发明一种基于重路由机制的匿名通信方法的实施例提供的匿名通信路径的构建过程示意图;
图4为本发明一种基于重路由机制的匿名通信方法的实施例提供的发送者与认证服务器的身份认证流程示意图;
图5为本发明一种基于重路由机制的匿名通信方法的实施例提供的整体结构示意图。
具体实施方式
以下对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,一种基于重路由机制的匿名通信方法,包括:
步骤1,基于构建请求信息,通过重路由机制构建匿名通信链路;
步骤2,接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包,并以填充发送的方式将封装匿名通信数据包发送至接收端。
在一些可能的实施方式中,通过发明可以有效地实现发送者匿名和接收者匿名。匿名通信消息的发送基于重路由机制,提高传输的安全性,引入了填充发送的方式可以有效防止流量攻击,同时有效的节约带宽。
需要说明的是,重路由机制则是为用户提供间接通信,发送端发出的消息经过若干个中间节点转发最终被接收端接收,同时对网络数据包进行填充、转发等操作,隐藏消息的输入输出关系,使得攻击者无法从包头识别出消息发送者的IP地址和接收者的IP地址,从而隐藏通信双方的真实身份、保护通信双方的身份信息。因此基于重路由机制的匿名通信方案是目前实现匿名通信的主流手段。
基于重路由机制的匿名通信系统有MIX、洋葱路由、Crowds等。
1)在MIX通信系统中,每个报文沿着一条由多个MIX节点组成的路径传输,最终到达接收者。每个MIX节点不是直接转发数据,而是对接收到的报文数据进行编码转换、随机排序,有效地隐藏了每个MIX节点之间的输入输出关系。但MIX匿名通信系统存在的缺点是不能抵御全局攻击以及合谋攻击,MIX节点中使用的重排和填充技术会使得系统开销增大,影响通信效率。洋葱路由的实现借鉴了MIX通信系统,网络数据包经过多个洋葱中继路由节点,这些节点按顺序形成一条洋葱路由路径。
2)匿名通信数据包的根据其通过的洋葱路由节点的顺序,从后往前利用节点的公钥层层加密(类似于洋葱),直到最后一个节点的通信数据被完全解密并转发到接收端。该方案中每一层必须经过解密才知道下一个洋葱路由节点的信息,因此对接收者身份信息起到了很好的保护,但存在节点的加入缺乏安全性验证以及密钥协商过程容易受到中间人攻击等威胁。
3)Crowds是一个可以提供发送方匿名的通信系统,该方案是一个由所有用户参与信息转发的P2P网络,匿名链路不是由发送者提前选择节点进行构建,而是将消息以Pf的概率转发给接收者,以1-Pf的概率转发给其它中继节点,匿名链路的路径长度是不固定的,因此攻击者难以观测分析出发送者的身份消息,但该方案无法实现接收者匿名,且匿名链路的长度可能过长,造成通信延时过大,此外节点的加入缺乏认证机制,无法阻止恶意节点的加入,从而影响该方案的匿名性。
针对上述基于重路由机制的匿名通信系统中存在的问题,研究人员提出了各种改进方案如Tarzan、I2P和WonGoo等,但在性能和匿名度之间未能取得较好的平衡等问题。本发明针对目前匿名通信系统中存在的中继节点选择策略具有随意性、会话密钥协商过程中存在着中间人攻击等问题,提出一种基于重路由机制的匿名通信方法,目的是保护发送者和接收者的身份信息,提高匿名通信系统的安全性和可靠性。
为便于理解,在下述实施例中均以发送者Alice表示用户端,接收者Bob表示接收端。如图5所示,本发明通过用户端即图中的发送者与认证服务器以及目录服务器的数据交互进而实现了身份认证以及基础数据的交互等,再通过用户端即发送者与接收端即接收者之间的匿名通信链路的构建实现了加密传输。上述过程的具体步骤可根据下文阐述内容做进一步理解。
步骤1,基于构建请求信息,通过重路由机制构建匿名通信链路可以大致分为两步:
1)中继节点的选择
假设匿名通信网络中共有n个节点,发送者Alice需要从n个节点中挑选出
Figure 171305DEST_PATH_IMAGE003
个中继节点组成匿名通信链路P,使得匿名通信消息沿着链路P被接收者Bob接 收并解密。每个节点的属性包括与服务器通信的往返时延RTT、节点的在线时间T以及节点 的带宽BW。其中往返时延RTT通过底层的ICMP报文测量得到,目录服务器向匿名通信链路P 中的所有节点发送测试信息并填充原始时间戳,节点收到请求后填充接收时间戳并返回给 目录服务器,目录服务器通过计算时间差得到往返时延RTT;节点的在线时间T是由目录服 务器统计计算得出;节点的带宽BW是由节点向目录服务器汇报自身节点带宽数据得出。
当获得这n个节点的属性值之后,首先对这n个节点的每种属性值进行归一化处理,以避免由于不同属性的量纲不同而造成无法比较,然后赋予每种属性值不同的权值,最后对这三种属性进行加权求和,得到每一个节点的加权求和值。具体如下所示。
假设这n个节点的往返时延RTT分别为RTT1,RTT2,…,RTTn,节点的在线时间T分别为T1,T2,…,Tn,节点的带宽分别为BW1,BW2,…,BWn。对这n个节点的属性值进行离差标准化处理,转换函数为:
Figure 44583DEST_PATH_IMAGE004
其中
Figure 300115DEST_PATH_IMAGE005
Figure 517208DEST_PATH_IMAGE006
分别表示序列{x1,x2,...,xn}中的最小值和最大值;x i 为函数的输入,输入为节点的往返时延RTT1,RTT2,…,RTTn、节点的在线时间T1,T2,…,Tn 以及节点的带宽BW1,BW2,…,BWny i 为函数的输出,输出结果为经过离差标准化处理后得到 的往返时延
Figure 236902DEST_PATH_IMAGE007
,节点的在线时间
Figure 15502DEST_PATH_IMAGE008
,节点 的带宽
Figure 758330DEST_PATH_IMAGE009
对于第i个节点,它的往返时延、在线时间以及节点带宽分别为
Figure 546158DEST_PATH_IMAGE010
Figure 854779DEST_PATH_IMAGE011
Figure 506078DEST_PATH_IMAGE012
, 对每种属性赋予不同的权重
Figure 267361DEST_PATH_IMAGE013
且要求
Figure 858879DEST_PATH_IMAGE014
。其中
Figure 22007DEST_PATH_IMAGE015
的取值 可根据发送者的期望的属性动态调整,如果发送者期望通信时延降低,则提高权重
Figure 142410DEST_PATH_IMAGE016
;如果 发送者期望通信时的稳定性,则提高权重
Figure 859830DEST_PATH_IMAGE017
;如果发送者期望单位时间内传送更多的信息, 则提高权重
Figure 723881DEST_PATH_IMAGE018
。节点i的加权平均值为:
Figure 240051DEST_PATH_IMAGE019
按照上述公式计算得到n个节点的加权平均值为eval1,eval2,...,evaln,对这n 个节点的加权平均值按降序排列,取前m(1
Figure 62513DEST_PATH_IMAGE020
m
Figure 798388DEST_PATH_IMAGE020
n)个节点作为中继节点构成一条匿名通信 链路P。
2)匿名通信链路的构建
1.发送者Alice将通信请求Request发送给目录服务器,其中Request由消息发送者Alice、接收者Bob、Alice生成的随机数NAlice和Alice产生的时间戳T组成,并被目录服务器的公钥PKServer加密,即Request=PKServe{Alice, Bob, NAlice, T};
2.目录服务器收到Alice的通信请求Request后,利用私钥SKServe解密Request。
首先检查发送者Alice是否属于有效节点,如果Alice属于通信网络中的有效节 点,则目录服务器将请求响应Response回复给发送者Alice,其中Response由m个节点的IP 地址和公钥、接收者Bob的IP地址和公钥以及随机数NAlice组成并被Alice的公钥加密,即
Figure 200551DEST_PATH_IMAGE021
Figure 338271DEST_PATH_IMAGE022
,…,
Figure 269318DEST_PATH_IMAGE023
, {IPBob, PKBob},NAlice}。如果Alice不是有效节点,则目录服务器拒绝做出响应,其中,PKAlice 为Alice的公钥公钥,
Figure 226909DEST_PATH_IMAGE024
为Node1的IP地址,
Figure 196877DEST_PATH_IMAGE025
为Node1的公钥,
Figure 454683DEST_PATH_IMAGE026
为Node2的IP地 址,
Figure 87790DEST_PATH_IMAGE027
为Node2的公钥,
Figure 798257DEST_PATH_IMAGE028
为Nodem的IP地址,
Figure 807801DEST_PATH_IMAGE029
为Nodem的公钥,IPBob为Bob的IP 地址,PKBob为Bob的公钥。
其次,当发送者Alice需要建立与接收者Bob之间的匿名通信链路时,Alice与第一个节点Node1(也称为入口节点)进行会话密钥协商,得到Alice与Node1之间的会话密钥K(Alice,Node1);然后Alice利用Node1作为中继节点进行匿名链路的扩展,将通信请求通过Node1转发给Node2,建立与Node2之间的会话密钥K(Alice,Node2)。
具体的,Alice与其它节点Nodei之间的会话密钥K(Alice,Nodei)协商过程类似,具体步骤如下:
1)Alice选择第一个节点Node1作为匿名通信链路的入口节点,然后向Node1发送申 请构建匿名通信链路信息Create_Path数据包,该数据包包含使用Node1的公钥加密的密钥 协商信息
Figure 857797DEST_PATH_IMAGE030
,其中SKAlice是Alice的私钥,rAlice是Alice生成的 随机数。
节点Node1收到Create_Path数据包后,首先使用自身私钥进行解密得到
Figure 927384DEST_PATH_IMAGE031
然后计算会话密钥协商信息
Figure 358103DEST_PATH_IMAGE032
、Node1与Alice之间的 会话密钥K(Alice,Node1
Figure 171338DEST_PATH_IMAGE033
,其中
Figure 403737DEST_PATH_IMAGE034
是对Bob的私钥SKBob 求逆得到的值,其中,rBob为Bob生成的随机数,
Figure 378646DEST_PATH_IMAGE035
为Node1生成的随机数;
最后Node1产生一个Reply数据包,该数据包包含密钥协商信息
Figure 266967DEST_PATH_IMAGE036
、会话密钥
Figure 883893DEST_PATH_IMAGE037
的哈希值
Figure 705219DEST_PATH_IMAGE038
、Node1与Alice之间的路径标识符
Figure 552827DEST_PATH_IMAGE039
并被Alice的公钥加密,即Reply=
Figure 725182DEST_PATH_IMAGE040
Figure 83483DEST_PATH_IMAGE041
Figure 759314DEST_PATH_IMAGE042
。Alice收到Reply数据包之后,使用自身私钥解密得到会话密钥协商 信息
Figure 607185DEST_PATH_IMAGE043
,基于
Figure 1257DEST_PATH_IMAGE044
计算Node1与Alice之间的会话密钥
Figure 192942DEST_PATH_IMAGE045
,并对
Figure 988859DEST_PATH_IMAGE046
的哈希运算得 到
Figure 945314DEST_PATH_IMAGE047
Alice比较判断
Figure 561103DEST_PATH_IMAGE048
与从Node1接收到的
Figure 57944DEST_PATH_IMAGE049
是否相等,如果这两个哈希值相等,说明Alice与Node1之间的会话密钥
Figure 973947DEST_PATH_IMAGE050
达成一致,否则Alice认为与Node1之间的通信受到中间人攻击,重新选择一个中继节点构 建匿名通信链路。
1)基于Alice与Node1之间已经构建的匿名通信链路,Alice通过入口节点Node1,构 建与中继节点Node2之间的匿名通信链路。Alice首先发送一个Create_Path数据包给入口 节点Node1,该数据包包括Node2的IP地址
Figure 898041DEST_PATH_IMAGE052
、加密的密钥协商信息
Figure 788678DEST_PATH_IMAGE053
Figure 26892DEST_PATH_IMAGE054
为Alice生成的随机数,并被Alice与Node1之间 的会话密钥K(Alice,Node1)加密。Node1收到Alice发送的数据包后,使用会话密钥K(Alice, Node1)解密得到Node2的IP地址
Figure 531823DEST_PATH_IMAGE055
,同时将
Figure 626818DEST_PATH_IMAGE056
复制到Create_Path数据包中并转发 给节点Node2。Node2收到Node1的转发消息后,计算Node2与Alice之间的会话密钥K(Alice, Node2)=
Figure 217199DEST_PATH_IMAGE057
Node2将Created数据包发送给Node1,Created数据包包含Node2与Node1之间的路 径标识符
Figure 321421DEST_PATH_IMAGE058
、会话密钥协商信息
Figure 946438DEST_PATH_IMAGE059
、 会话密钥K(Alice,Node2)的哈希值H(K(Alice,Node2))并被Node1的公钥
Figure 914132DEST_PATH_IMAGE060
加密。 Node1接收到来自Node2的Created数据包后解密得到Node2与Node1之间的路径标识符
Figure 991809DEST_PATH_IMAGE061
,并发送一个Extended数据包给Alice,其中Extended=E{K(Alice, Node1),
Figure 368564DEST_PATH_IMAGE062
。Alice收到数据包后用会话密钥K(Alice, Node1)解密得到会话密钥协商信息
Figure 848087DEST_PATH_IMAGE063
如图3所示,计算Alice与Node2之间的会话密钥
Figure 550463DEST_PATH_IMAGE064
。同时Alice验证会话密钥
Figure 115437DEST_PATH_IMAGE065
的哈希值
Figure 295882DEST_PATH_IMAGE066
与其接收到的哈希值
Figure 597289DEST_PATH_IMAGE067
是否相等,如果这两个哈希值相等,说明Alice与Node2之间的会话 密钥
Figure 204987DEST_PATH_IMAGE068
达成一致,否则Alice认为与Node2之间的通信受到中间人攻击, Alice将重新选择一个中继节点进行匿名通信链路的构建。
类似的,Alice与节点Nodei(2<i
Figure 991678DEST_PATH_IMAGE020
m)之间会话密钥K(Alice,Nodei)协商过程与 Alice与节点Node2之间的建立步骤类似。
步骤2,接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包,并以填充发送的方式将封装匿名通信数据包发送至接收端;
基于步骤1已经构建的匿名通信链路,Alice根据匿名通信数据包的封装策略对发送给Bob的消息进行封装。封装过程如下:
Alice首先使用其与Bob之间的会话密K(Alice,Bob)加密要发送的消息MessageAlice-Bob形成匿名数据包Data0,然后Alice根据Bob的广播地址区间构造匿名数据包Data1,Bob的广播地址区间为Bob的IP地址取前24位,假设Bob的IP地址是192.168.125.1,则Alice取IP地址的前24位192.168.125构成Bob的广播地址区间,称之为IPtemp。Alice再根据其所经过的匿名通信路径上的节点从后至前嵌套加密,即数据包Data0和IPtemp首先被Alice与Nodem之间的会话密钥K(Alice,Nodem)加密,附带加上Bob的广播地址区间IPtemp,构成匿名通信数据包Data1。接着Data1被Alice与匿名通信路径上的节点Nodem-1,Nodem-2,…,Node1之间的会话密钥K(Alice,Nodem-1), K(Alice,Nodem-2),…, K(Alice,Node1)依次加密,消息在被会话密钥加密的同时,绑定要转发的下一个中继节点的IP地址,最终得到被层层加密封装的匿名通信消息Datam
Data0,Data1,Data2,…,Datam包含的消息形式为:
Data0=E{K(Alice,Bob),MessageAlice-Bob}
Data1=E{K(Alice,Nodem),Data0||IPtemp}
Data2=E{K(Alice,Nodem-1),Data1||
Figure 975814DEST_PATH_IMAGE069
}
……
Datam=E{K(Alice,Node1),Datam-1||
Figure 429929DEST_PATH_IMAGE070
}
Alice在得到封装后的匿名通信信息Datam,同时为了隐藏自身的IP地址,将发送 者Alice的IP地址IPAlice与接收者Bob的IP地址IPBob进行异或运算得到新的IP地址IPSource= IPAlice
Figure 474109DEST_PATH_IMAGE071
IPBob,根据[IPSourec,Datam]的格式封装匿名通信数据包;
上述匿名通信数据包的封装策略具体描述如算法1所示:
算法1:Encapsulation strategy of anonymous communication packets
Input: Sender, Receiver and MessageAlice-Bob
Output: DataAlice
Alice encrypts MessageAlice-Bob with session key K(Alice, Bob) and getsData0, where Data0=E{K(Alice,Bob),MessageAlice-Bob}.
Alice encrypts Data0 and IPtemp with session key K(Alice, Nodem) andgets Data1, where Data1=E{K(Alice,Nodem),Data||IPtemp}.
For i=2 To i=m-1
Datai=E{K(Alice,Noden-i+1),
Figure 748095DEST_PATH_IMAGE072
||Datai-1}
End For
IPSource=IPAlice
Figure 768879DEST_PATH_IMAGE073
IPBob
Alice gets DataAlice=[IPSource,Datam].
算法1描述的是匿名通信数据包的封装策略。第1行表示算法的输入内容为发送 者Sender、接收者Receiver和消息内容Message;第2行表示输出内容为封装后的匿名通信 数据包DataAlice;第3-4行表示Alice利用会话密钥K(Alice,Bob)对MessageAlice-Bob加密得到 Data0,Data0的消息内容为Data0=E{K(Alice,Bob),MessageAlice-Bob};第5-6行表示Alice利 用会话密钥K(Alice,Nodem)对Data0和IPtemp加密得到Data1,Data1的消息内容为Data1=E{K (Alice,Nodem),Data||IPtemp};第7-9行是一个循环结构,从i=2开始,Alice依次利用会话密 钥
Figure 77500DEST_PATH_IMAGE074
加密Datai-1和IP地址
Figure 230264DEST_PATH_IMAGE075
,形成新的匿名通信数据包Datai,直到 i=m循环结束;第10行表示Alice将自己的IP地址IPAlice与Bob的IP地址IPBob进行异或运算得 到新的IP地址IPSource;第11行表示Alice将IPSource与Datam组合在一起最终形成匿名通信数 据包DataAlice
以填充发送的方式将封装匿名通信数据包发送至所述接收端;上述步骤进一步展开描述如下:
1)未进行填充的总发送逻辑如下:
对于已经层层加密被封装好的匿名通信数据包DataAlice, Alice首先将其转发给 匿名通信网络中的入口节点Node1,Node1收到消息后使用会话密钥K(Alice,Bob)解密得到 数据包Datam-1和下一个中继节点Node2的IP地址
Figure 257126DEST_PATH_IMAGE076
,然后 匿名数据包Datam-1按照节点 序列 Node3,Node4,…,Nodem的顺序进行解密、转发匿名通信数据包, 最终Nodem得到内容 为[IPSource,E{K(Alice,Bob),MessageAlice-Bob}||IPtemp]的匿名通信数据包。在该匿名通信 网络中消息的转发策略如算法2所示;
算法2:Message forwarding strategy
Input: Alice, DataAlice //发送者和需要发送的消息
Output: [IPSource,E{K(Alice,Bob),MessageAlice-Bob}||IPtemp]
Alice sends message DataAlice to Node1.
Node1 gets Data’=Decrypt{K(Alice,Node1),DataAlice} and
Figure 317486DEST_PATH_IMAGE077
.
Node1 sends message Data’ to Node2.
For i=2 To i=m
Nodei receives message Data’ from previous node Nodei-1.
Data’=Decrypt{K(Alice,Nodei),Data’}
Nodei gets message Data’ and
Figure 11772DEST_PATH_IMAGE078
.
Nodei forwards message Data’ to Nodei+1.
i++
End For
Nodem gets message [IPSource,E{K(Alice,Bob),MessageAlice-Bob}||IPtemp].
算法2描述的是消息的转发策略。第1行表示算法的输入内容为发送者Alice和被发送的匿名通信数据包DataAlice;第2行描述的输出结果;第3行表示Alice将DataAlice首先转发给Node1;第4行表示Node1收到DataAlice后利用会话密钥K(Alice,Node1)对其解密得到Data’和Node2的IP地址;第5行表示将解密得到的Data’发送给Node2;第6-12行是一个循环结构,循环从i=2开始,当节点Nodei收到上一个节点Nodei-1发送的数据包时,Nodei利用会话密钥K(Alice,Nodei)解密得到新的数据包Data’和下一个节点Nodei+1的IP地址,并将其转发给Nodei+1,直到i=m循环结束;第13行表示Nodem将IPsource与Data’组合得到内容为[IPSource,E{K(Alice,Bob),MessageAlice-Bob}||IPtemp]的匿名通信数据包。
2)为避免数据入侵,填充发送的方式进行发送的逻辑如下:
在匿名通信数据包在转发的过程中,当中继节点Nodei(1<i
Figure 132175DEST_PATH_IMAGE079
m)在一段时间内收到 不同节点的匿名通信数据包时,如果中继节点Nodei使用其公钥
Figure 879289DEST_PATH_IMAGE080
解密数据包并直接 转发给下一个节点而不做任何处理,攻击者可以观察通过该节点时数据包大小长度,根据 数据包长度的变化来判断输入输出关系。传统的改进方法是引入消息填充机制,将中继节 点Nodei收到的信息统一填充成大小相同的数据包,然后再转发给下一个节点,虽然该方法 可以模糊通过该节点的输入输出关系,有效地杜绝了外部攻击者,但带来的问题是将造成 大量的带宽浪费。本发明专利在消息的转发过程中引入消息填充技术,但与传统方法不同 的是根据不同数据包之间大小的差值将解密后的数据包填充一定长度的随机值,组成原来 同样大小的数据包,这样使得虽然经过不同节点的消息不同,但被观测者观测时数据包的 大小相同,可以有效防止流量攻击同时有效地节约带宽。具体步骤如下所示:
1.当中继节点Nodei(1<i
Figure 743340DEST_PATH_IMAGE079
m)在一段时间t之内收到
Figure 26554DEST_PATH_IMAGE081
个不同的通信数据 包时,Nodei使用其公钥
Figure 521120DEST_PATH_IMAGE082
解密数据包同时丢弃随机位串,经过上述操作后根据这z个 数据包的大小按从小到大的顺序进行排序,假设排序后它们的大小为{w1,w2,…,wz}。
2.计算每两个数据包之间大小的差值
Figure 256995DEST_PATH_IMAGE083
,计算公式为
Figure 190316DEST_PATH_IMAGE084
=wi+1-wi,其中1
Figure 328036DEST_PATH_IMAGE079
i
Figure 288777DEST_PATH_IMAGE079
z- 1,这z个数据包两两之间大小的差值构成序列
Figure 511947DEST_PATH_IMAGE085
3.比较序列
Figure 186642DEST_PATH_IMAGE086
中每个值
Figure 178869DEST_PATH_IMAGE083
与匿名通信系统中设 定的阈值
Figure 811976DEST_PATH_IMAGE087
的大小。如果
Figure 788022DEST_PATH_IMAGE088
,则继续比较
Figure 797566DEST_PATH_IMAGE089
Figure 142835DEST_PATH_IMAGE087
的大小,直到遇到
Figure 415684DEST_PATH_IMAGE090
成立(其中i<j
Figure 347868DEST_PATH_IMAGE079
z-1),则从第i+1到第j个数据包的大小统一填充成wj;如果
Figure 161103DEST_PATH_IMAGE091
,则将第i个和第i+1个数据包的大小统一填充成wi+1,其中填充的内容由中继节 点随机产生并附带上相应的消息标识符。
对于特殊情况如中继节点Nodei在时间t之内只收到1个数据包,则中继节点不做任何处理直接转发给下一个中继节点Nodei+1
4. 当最后一个中继节点Nodem通过会话密钥K(Alice,Nodem)得到匿名通信数据包 [IPSource,E{K(Alice,Bob),MessageAlice-Bob}||IPtemp]时,Nodem根据广播地址区间IPtemp将数 据包[IPsource,E{K(Alice,Bob),MessageAlice-Bob}]广播给处于该地址区间的所有成员,也包 括接收者Bob。Bob收到消息后使用其自身IP地址IPBob与IPSource进行异或运算,即IPAlice= IPsource
Figure 127922DEST_PATH_IMAGE092
IPBob,Bob得到Alice的IP地址,也就是Bob知道其正在与Alice通信,然后Bob使用 与Alice的会话密钥K(Alice,Bob)解密数据包得到消息内容MessageAlice-Bob,即 MessageAlice-Bob=Decrypy{K(Alice,Bob),E{K(Alice,Bob),MessageAlice-Bob}}。至此,Alice 与Bob之间的匿名通信结束。
以填充发送的方式将封装匿名通信数据包发送至所述接收端的过程可以通过实施例1进行辅助理解。
实施例1,当中继节点Nodei在一段时间t之内收到6个不同的通信数据包,Nodei首 先解密数据包并且丢弃随机位串,对这6个数据包按从小到大的顺序排序后组成序列{3,4, 9,10,11,17};接着计算每两个数据包之间大小的差值
Figure 368411DEST_PATH_IMAGE093
,构成新的序列{1,5,1,1,5};假 设匿名系统中设定的阈值
Figure 489688DEST_PATH_IMAGE094
,序列{1,5,1,1,5}中的第一个值
Figure 841035DEST_PATH_IMAGE095
Figure 662361DEST_PATH_IMAGE096
成 立则继续比较
Figure 339330DEST_PATH_IMAGE097
=5与
Figure 246106DEST_PATH_IMAGE098
的大小,显然
Figure 401144DEST_PATH_IMAGE099
,则把前两个数据包的大小都填充成4, 序列{1,5,1,1,5}中的
Figure 76976DEST_PATH_IMAGE100
,则把第三、四、五个数据包的大小填充成11,序列 {1,5,1,1,5}中最后一个值
Figure 361064DEST_PATH_IMAGE101
,则第六个数据包的大小不变仍然为17;最后这6个数 据包经过填充后构成新的序列{4,4,11,11,11,17}。
优选地,在上述任意实施例中,所述步骤1之前还包括:
对用户端进行身份认证,并向通过身份认证的用户端发送公私密钥对,所述用户端基于所述公私密钥对发送构建请求信息。
优选地,在上述任意实施例中,所述对用户端进行身份认证,并向通过身份认证的用户端发送公私密钥对,所述用户端基于所述公私密钥对发送构建请求信息具体为:
向认证服务器发送所述用户端的认证请求信息,以使所述认证服务器判断所述认证请求信息中的哈希值与数据库中的预存的哈希值是否匹配,若是,则通过身份认证,接收所述认证服务器所生成的身份标识对应的公私密钥对,并发送至所述用户端,所述用户端基于所述公私密钥对发送构建请求信息。
在一些可能的实施方式中,任何使用匿名通信服务的节点必须进行身份认证,认证方案基于用户口令和密保信息,可防止恶意节点伪装成消息发送者获取匿名通信网络中的节点信息。
需要说明的是,认证请求信息包括:Alice的身份标识IDAlice、Alice产生的随机数NAlice、随机数NAlice的使用期限T、密保信息的哈希值H(Security_infoAlice)以及Alice自身口令PWAlice的哈希值H(PWAlice)。
当发送者Alice需要使用匿名通信服务时,必须通过认证服务器AS的身份认证,只有证明发送者身份是合法的才能发起与接收者Bob之间的匿名通信,发送者与认证服务器的身份认证流程如图4所示。具体流程如下:
1.发起者Alice向认证服务器发送认证请求信息(Authentication Request,简称AR),该信息主要包括Alice的身份标识IDAlice、Alice产生的随机数NAlice、随机数NAlice的使用期限T、密保信息的哈希值H(Security_infoAlice)以及Alice自身口令PWAlice的哈希值H(PWAlice),假设Alice已经向服务器注册并在注册阶段生成自己的口令PWAlice。上述信息被认证服务器的公钥PKAS加密,AR的格式为AR={IDAlice,NAlice,T,H(PWAlice)}。
2.认证服务器收到Alice发送的认证请求信息AR之后,利用私钥SKAS解密消息得到Alice的身份标识IDAlice,以IDAlice为索引在认证服务器的数据库中查找是否存在用户Alice,如果认证服务器的数据库中查找不到用户端Alice的身份信息,则返回“IDAlicedoesn’t exist in the database”给Alice。如果查找得到用户端Alice的身份信息,则认证服务器验证存放在数据库中Alice口令的哈希值H’(PWAlice)是否与解密得到的H(PWAlice)相等,如果这两个哈希值相等,则Alice的身份得到服务器的认证,否则认证服务器认为在认证过程中遭到攻击者的攻击,返回“Authentication Failed”给Alice。
3.当发送者Alice的身份得到认证服务器的认证之后,认证服务器根据Alice的 身份信息来生成其对应的公钥和私钥。假设认证服务器已经公布其网络公共参数{G,e,q, p,PKAS,H},其中G表示阶数为q的加法群(G,+),e表示双线性映射,p为G的生成元,PKAS表示 认证服务器的公钥,H表示防碰撞的哈希函数,H:{0,1}*
Figure 755137DEST_PATH_IMAGE102
G→G。认证服务器分别计算Alice 的公钥PKAlice=H(IDAlice||T,NAlicep)、私钥SKAlice=kPKAlice,其中k是认证服务器随机选取的 整数并作为其主密钥。认证服务器将公钥PKAlice作为发送者Alice的认证存入系统公钥中, 返回“Authentication Success”给Alice,同时计算U=SKAlice
Figure 448286DEST_PATH_IMAGE103
NAlice、公私钥对的签名S= Sign{SKAS,(PKAlice||SKAlice)}发送给Alice,即认证服务器发送给Alice的回复格式为Reply ={“Authentication Success”,U,S,PKAlice}。Alice收到认证服务器的回复后,使用认证服 务器的公钥PKAS验证签名,证实该回复内容确实来自认证服务器。然后Alice基于步骤1中产 生的随机数NAlice计算私钥SKAlice=U
Figure 244204DEST_PATH_IMAGE103
NAlice,Alice最终得到自己的公私对{PKAlice,SKAlice}。
优选地,在上述任意实施例中,所述步骤1具体包括:
在通信网络中的n个节点里按预设要求选出m个节点,作为中继节点,通过所有的中继节点构建匿名通信链路。
优选地,在上述任意实施例中,所述在通信网络中的n个节点里按预设要求选出m个节点,作为中继节点,通过所有的中继节点构建匿名通信链路具体包括:
获取通信网络中每个节点的往返时延、节点的在线时间以及节点的带宽,基于每个节点的所述往返时延、所述节点的在线时间以及所述节点的带宽计算出每个节点的加权求和值,对计算得出的n个加权求和值进行降序排列,选取前m个加权求和值对应的节点,所述m个节点为中继节点;
对用户端向中继节点中的入口节点发送的申请构建匿名通信链路的第一信息数据包进行加密,所述第一信息数据包包括:通过所述入口节点的公钥加密的第一密钥协商信息,对入口节点收到的所述第一信息数据包进行解密,对所述第一密钥协商信息进行处理得到第一会话密钥协商信息以及第一会话密钥,将所述第一会话密钥协商信息、所述第一会话密钥、所述第一会话密钥的第一哈希值以及第一路径标识符打包至第一反馈数据包中,通过第一会话密钥将所述第一反馈数据包加密传输至用户端,对用户端接收到的所述第一反馈数据包进行解密,根据所述第一反馈数据包中的所述第一会话密钥协商信息计算第二会话密钥,并比较由第二会话密钥确定的第二哈希值与所述第一哈希值是否相等,若相等,则判定所述用户端与所述入口节点之间构成第一段匿名通信链路,所述入口节点为加权求和值最高的第一节点;
基于所述第一段匿名通信链路,通过预设流程得到第二段匿名通信链路;所述预设流程具体包括:
通过第一会话密钥对用户端向所述入口节点发送第二信息数据包进行加密,所述第二信息数据包包括:第二节点的IP地址以及通过所述第二节点的公钥加密的第二密钥协商信息,所述第一会话密钥为:所述用户端与所述入口节点之间的会话密钥;通过所述第一会话密钥对所述入口节点接收到的所述第二信息数据包进行解密,并将所述第二密钥协商信息打包至第三信息数据包中,将所述第三信息数据包按照所述IP地址发送至所述第二节点,所述第二节点对所述第二密钥协商信息进行处理得到所述第二节点与所述用户端之间的第二会话密钥以及第二会话密钥协商信息,将所述第二会话密钥、所述第二会话密钥协商信息、第二路径标识符以及所述第二会话密钥的第二哈希值打包成第三信息数据包,所述第三信息数据包通过所述入口节点的公钥进行加密,将加密后的所述第三信息数据包发送至所述入口节点,所述入口节点对加密后的所述第三信息数据包进行解密,所述入口节点通过所述第一会话密钥对所述第三信息数据包进行加密,经加密后的所述第三信息数据包作为第二反馈数据包发送至所述用户端,对所述用户端接收到的第二反馈数据包进行解密,并根据所述第二反馈数据包中的数据计算所述第二节点与所述用户端之间的第三会话密钥,比较所述第三会话密钥的第三哈希值与所述第二哈希值是否相等,若判断结果为相等,则判定所述用户端与所述第二节点之间构成第二段匿名通信链路;
重复预设流程中的步骤,直至得到第m段匿名通信链路,所述第m段匿名通信链路即为所述匿名通信链路。
采用上述进一步方案的有益效果是,对中继节点从节点在线时间、往返时延以及节点带宽三个方面进行筛选,确保加入匿名通信网络中的节点是长时间在线且通信延迟较低的高性能节点,可有效提高中继节点的可靠性,同时阻止了恶意节点的加入。
需要说明的是,本发明中指出的节点可以理解为:匿名通信网络中的用户,就比如A要和B通信,A选取一个中间人C帮忙将信息带给B,那么中间人C就是节点。其中涉及的第一路径标识符以及第二路径标识符均为区分不同路径而设立的标识符。
优选地,在上述任意实施例中,所述接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包具体包括:
通过所述用户端与所述接收端之间的第三会话密钥对待发送信息进行打包加密,得到匿名数据包,将所述匿名数据包通过配置后的匿名通信链路处理,得到m个匿名通信数据包;
所述将所述匿名数据包通过配置后的匿名通信链路处理,得到m个匿名通信数据包具体包括:
通过所述用户端与第m节点之间的第m会话密钥对所述匿名数据包以及所述接收端的地址进行加密,生成第一匿名通信数据包,所述第一匿名通信数据包绑定第m-1节点的IP地址;将绑定后的所述第一匿名通信数据包通过第m-1会话密钥加密,得到第二匿名通信数据包,所述第二匿名通信数据包绑定第m-2节点的IP地址;
重复执行预设策略,直至得到第m匿名通信数据包。
优选地,在上述任意实施例中,所述以填充发送的方式将封装匿名通信数据包发送至接收端具体包括:
判断任意节点在预设时段内是否收到z个不同的通信数据包,其中,
Figure 997396DEST_PATH_IMAGE104
,若判断 结果为是,则,通过该节点与所述用户端之间的会话密钥对所有通信数据包进行解密,并将 所有所述通信数据包中的随机数删除,根据删除随机数后的每个通信数据包的大小,升序 排列所有通信数据包,计算相邻两个通信数据包之间大小的差值,逐一进行所述差值与阈 值的大小判断;
当第i个差值小于或等于所述阈值时,则进行第i+1个差值与所述阈值大小判断,直至判断完z个不同的通信数据包与所述阈值的大小;
当所述第i个差值大于所述阈值时,将计算所述第i个差值的被减数通信数据包之前的所有通信数据包的大小统一按照该被减数通信数据包的大小进行内容填充,内容填充后进行第i+1个差值与所述阈值大小判断,直至判断完z个不同的通信数据包与所述阈值的大小;
将填充后的z个不同的通信数据包传输至下一节点,并重复对于该节点在预设时段内是否收到z个不同的通信数据包的判断,直至下一节点为接收端。
其中,所述内容填充为:在所述预设时段内收到z个不同的通信数据包的节点随机产生的并附带对应的消息标识符的填充数据包。
在一些可能的实施方式中,消息经过中继节点的多次转发有效地隐藏了消息发送者、接收者以及他们之间的关系,消息被中继节点与发送者之间的会话密钥加密而不是传统的公钥加密方案,减少了加解密时间,降低了通信延迟;最后消息在转发的过程中,本发明在消息的转发过程中引入消息填充技术,但与传统方法不同的是根据不同数据包之间大小将解密后的数据包填充一定长度的随机值,可以有效防止流量攻击同时有效地节约带宽。
如图2所示,一种基于重路由机制的匿名通信系统,包括:
构建模块100,用于基于构建请求信息,通过重路由机制构建匿名通信链路;
处理模块200,用于接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包,并以填充发送的方式将封装匿名通信数据包发送至接收端。
在一些可能的实施方式中,通过发明可以有效地实现发送者匿名和接收者匿名。匿名通信消息的发送基于重路由机制,提高传输的安全性,引入了填充发送的方式可以有效防止流量攻击,同时有效的节约带宽。
优选地,在上述任意实施例中,构建模块100还用于:
对用户端进行身份认证,并向通过身份认证的用户端发送公私密钥对,所述用户端基于所述公私密钥对发送构建请求信息。
优选地,在上述任意实施例中,所述对用户端进行身份认证,并向通过身份认证的用户端发送公私密钥对,所述用户端基于所述公私密钥对发送构建请求信息具体为:
向认证服务器发送所述用户端的认证请求信息,以使所述认证服务器判断所述认证请求信息中的哈希值与数据库中的预存的哈希值是否匹配,若是,则通过身份认证,接收所述认证服务器所生成的身份标识对应的公私密钥对,并发送至所述用户端,所述用户端基于所述公私密钥对发送构建请求信息。
在一些可能的实施方式中,任何使用匿名通信服务的节点必须进行身份认证,认证方案基于用户口令和密保信息,可防止恶意节点伪装成消息发送者获取匿名通信网络中的节点信息。
优选地,在上述任意实施例中,构建模块100具体用于:
在通信网络中的n个节点里按预设要求选出m个节点,作为中继节点,通过所有的中继节点构建匿名通信链路。
优选地,在上述任意实施例中,所述在通信网络中的n个节点里按预设要求选出m个节点,作为中继节点,通过所有的中继节点构建匿名通信链路具体包括:
获取通信网络中每个节点的往返时延、节点的在线时间以及节点的带宽,基于每个节点的所述往返时延、所述节点的在线时间以及所述节点的带宽计算出每个节点的加权求和值,对计算得出的n个加权求和值进行降序排列,选取前m个加权求和值对应的节点,所述m个节点为中继节点;
对用户端向中继节点中的入口节点发送的申请构建匿名通信链路的第一信息数据包进行加密,所述第一信息数据包包括:通过所述入口节点的公钥加密的第一密钥协商信息,对入口节点收到的所述第一信息数据包进行解密,对所述第一密钥协商信息进行处理得到第一会话密钥协商信息以及第一会话密钥,将所述第一会话密钥协商信息、所述第一会话密钥、所述第一会话密钥的第一哈希值以及第一路径标识符打包至第一反馈数据包中,通过第一会话密钥将所述第一反馈数据包加密传输至用户端,对用户端接收到的所述第一反馈数据包进行解密,根据所述第一反馈数据包中的所述第一会话密钥协商信息计算第二会话密钥,并比较由第二会话密钥确定的第二哈希值与所述第一哈希值是否相等,若相等,则判定所述用户端与所述入口节点之间构成第一段匿名通信链路,所述入口节点为加权求和值最高的第一节点;
基于所述第一段匿名通信链路,通过预设流程得到第二段匿名通信链路;所述预设流程具体包括:
通过第一会话密钥对用户端向所述入口节点发送第二信息数据包进行加密,所述第二信息数据包包括:第二节点的IP地址以及通过所述第二节点的公钥加密的第二密钥协商信息,所述第一会话密钥为:所述用户端与所述入口节点之间的会话密钥;通过所述第一会话密钥对所述入口节点接收到的所述第二信息数据包进行解密,并将所述第二密钥协商信息打包至第三信息数据包中,将所述第三信息数据包按照所述IP地址发送至所述第二节点,所述第二节点对所述第二密钥协商信息进行处理得到所述第二节点与所述用户端之间的第二会话密钥以及第二会话密钥协商信息,将所述第二会话密钥、所述第二会话密钥协商信息、第二路径标识符以及所述第二会话密钥的第二哈希值打包成第三信息数据包,所述第三信息数据包通过所述入口节点的公钥进行加密,将加密后的所述第三信息数据包发送至所述入口节点,所述入口节点对加密后的所述第三信息数据包进行解密,所述入口节点通过所述第一会话密钥对所述第三信息数据包进行加密,经加密后的所述第三信息数据包作为第二反馈数据包发送至所述用户端,对所述用户端接收到的第二反馈数据包进行解密,并根据所述第二反馈数据包中的数据计算所述第二节点与所述用户端之间的第三会话密钥,比较所述第三会话密钥的第三哈希值与所述第二哈希值是否相等,若判断结果为相等,则判定所述用户端与所述第二节点之间构成第二段匿名通信链路;
重复预设流程中的步骤,直至得到第m段匿名通信链路,所述第m段匿名通信链路即为所述匿名通信链路。
在一些可能的实施方式中,对中继节点从节点在线时间、往返时延以及节点带宽三个方面进行筛选,确保加入匿名通信网络中的节点是长时间在线且通信延迟较低的高性能节点,可有效提高中继节点的可靠性,同时阻止了恶意节点的加入。
优选地,在上述任意实施例中,所述接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包具体包括:
通过所述用户端与所述接收端之间的第三会话密钥对待发送信息进行打包加密,得到匿名数据包,将所述匿名数据包通过配置后的匿名通信链路处理,得到m个匿名通信数据包;
所述将所述匿名数据包通过配置后的匿名通信链路处理,得到m个匿名通信数据包具体包括:
通过所述用户端与第m节点之间的第m会话密钥对所述匿名数据包以及所述接收端的地址进行加密,生成第一匿名通信数据包,所述第一匿名通信数据包绑定第m-1节点的IP地址;将绑定后的所述第一匿名通信数据包通过第m-1会话密钥加密,得到第二匿名通信数据包,所述第二匿名通信数据包绑定第m-2节点的IP地址;
重复执行预设策略,直至得到第m匿名通信数据包。
优选地,在上述任意实施例中,所述以填充发送的方式将封装匿名通信数据包发送至接收端具体包括:
判断任意节点在预设时段内是否收到z个不同的通信数据包,其中,
Figure 878764DEST_PATH_IMAGE105
,若判断 结果为是,则,通过该节点与所述用户端之间的会话密钥对所有通信数据包进行解密,并将 所有所述通信数据包中的随机数删除,根据删除随机数后的每个通信数据包的大小,升序 排列所有通信数据包,计算相邻两个通信数据包之间大小的差值,逐一进行所述差值与阈 值的大小判断;
当第i个差值小于或等于所述阈值时,则进行第i+1个差值与所述阈值大小判断,直至判断完z个不同的通信数据包与所述阈值的大小;
当所述第i个差值大于所述阈值时,将计算所述第i个差值的被减数通信数据包之前的所有通信数据包的大小统一按照该被减数通信数据包的大小进行内容填充,内容填充后进行第i+1个差值与所述阈值大小判断,直至判断完z个不同的通信数据包与所述阈值的大小;
将填充后的z个不同的通信数据包传输至下一节点,并重复对于该节点在预设时段内是否收到z个不同的通信数据包的判断,直至下一节点为接收端。
其中,所述内容填充为:在所述预设时段内收到z个不同的通信数据包的节点随机产生的并附带对应的消息标识符的填充数据包。
在一些可能的实施方式中,消息经过中继节点的多次转发有效地隐藏了消息发送者、接收者以及他们之间的关系,消息被中继节点与发送者之间的会话密钥加密而不是传统的公钥加密方案,减少了加解密时间,降低了通信延迟;最后消息在转发的过程中,本发明在消息的转发过程中引入消息填充技术,但与传统方法不同的是根据不同数据包之间大小将解密后的数据包填充一定长度的随机值,可以有效防止流量攻击同时有效地节约带宽。
本发明解决上述技术问题的另一种技术方案如下:一种介质,所述介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如上述任一项所述的一种基于重路由机制的匿名通信方法。
在一些可能的实施方式中,通过发明可以有效地实现发送者匿名和接收者匿名。匿名通信消息的发送基于重路由机制,提高传输的安全性,引入了填充发送的方式可以有效防止流量攻击,同时有效的节约带宽。
本发明解决上述技术问题的另一种技术方案如下:一种电子设备,包括上述介质、执行上述介质内的指令的处理器。
在一些可能的实施方式中,通过发明可以有效地实现发送者匿名和接收者匿名。匿名通信消息的发送基于重路由机制,提高传输的安全性,引入了填充发送的方式可以有效防止流量攻击,同时有效的节约带宽。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例仅仅是示意性的,例如,步骤的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个步骤可以结合或者可以集成到另一个步骤,或一些特征可以忽略,或不执行。
上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (7)

1.一种基于重路由机制的匿名通信方法,其特征在于,包括:
步骤1,基于构建请求信息,通过重路由机制构建匿名通信链路;
步骤2,接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包,并以填充发送的方式将封装匿名通信数据包发送至接收端;
其中,所述步骤1具体包括:
在通信网络中的n个节点里按预设要求选出m个节点,作为中继节点,通过所有的中继节点构建匿名通信链路;
所述在通信网络中的n个节点里按预设要求选出m个节点,作为中继节点,通过所有的中继节点构建匿名通信链路具体包括:
获取通信网络中每个节点的往返时延、节点的在线时间以及节点的带宽,基于每个节点的所述往返时延、所述节点的在线时间以及所述节点的带宽计算出每个节点的加权求和值,对计算得出的n个加权求和值进行降序排列,选取前m个加权求和值对应的节点,所述m个节点为中继节点;
对用户端向中继节点中的入口节点发送的申请构建匿名通信链路的第一信息数据包进行加密,所述第一信息数据包包括:通过所述入口节点的公钥加密的第一密钥协商信息,对入口节点收到的所述第一信息数据包进行解密,对所述第一密钥协商信息进行处理得到第一会话密钥协商信息以及第一会话密钥,将所述第一会话密钥协商信息、所述第一会话密钥、所述第一会话密钥的第一哈希值以及第一路径标识符打包至第一反馈数据包中,通过第一会话密钥将所述第一反馈数据包加密传输至用户端,对用户端接收到的所述第一反馈数据包进行解密,根据所述第一反馈数据包中的所述第一会话密钥协商信息计算第二会话密钥,并比较由第二会话密钥确定的第二哈希值与所述第一哈希值是否相等,若相等,则判定所述用户端与所述入口节点之间构成第一段匿名通信链路,所述入口节点为加权求和值最高的第一节点;
基于所述第一段匿名通信链路,通过预设流程得到第二段匿名通信链路;所述预设流程具体包括:
通过第一会话密钥对用户端向所述入口节点发送第二信息数据包进行加密,所述第二信息数据包包括:第二节点的IP地址以及通过所述第二节点的公钥加密的第二密钥协商信息,所述第一会话密钥为:所述用户端与所述入口节点之间的会话密钥;通过所述第一会话密钥对所述入口节点接收到的所述第二信息数据包进行解密,并将所述第二密钥协商信息打包至第三信息数据包中,将所述第三信息数据包按照所述IP地址发送至所述第二节点,所述第二节点对所述第二密钥协商信息进行处理得到所述第二节点与所述用户端之间的第二会话密钥以及第二会话密钥协商信息,将所述第二会话密钥、所述第二会话密钥协商信息、第二路径标识符以及所述第二会话密钥的第二哈希值打包成第三信息数据包,所述第三信息数据包通过所述入口节点的公钥进行加密,将加密后的所述第三信息数据包发送至所述入口节点,所述入口节点对加密后的所述第三信息数据包进行解密,所述入口节点通过所述第一会话密钥对所述第三信息数据包进行加密,经加密后的所述第三信息数据包作为第二反馈数据包发送至所述用户端,对所述用户端接收到的第二反馈数据包进行解密,并根据所述第二反馈数据包中的数据计算所述第二节点与所述用户端之间的第三会话密钥,比较所述第三会话密钥的第三哈希值与所述第二哈希值是否相等,若判断结果为相等,则判定所述用户端与所述第二节点之间构成第二段匿名通信链路;
重复预设流程中的步骤,直至得到第m段匿名通信链路,所述第m段匿名通信链路即为所述匿名通信链路;
所述以填充发送的方式将封装匿名通信数据包发送至所述接收端具体包括:
判断任意节点在预设时段内是否收到z个不同的通信数据包,其中,
Figure DEST_PATH_IMAGE002
,若判断结果为是,则,通过该节点与所述用户端之间的会话密钥对所有通信数据包进行解密,并将所有所述通信数据包中的随机数删除,根据删除随机数后的每个通信数据包的大小,升序排列所有通信数据包,计算相邻两个通信数据包之间大小的差值,逐一进行所述差值与阈值的大小判断;
当第i个差值小于或等于所述阈值时,则进行第i+1个差值与所述阈值大小判断,直至判断完z个不同的通信数据包与所述阈值的大小;
当所述第i个差值大于所述阈值时,将计算所述第i个差值的被减数通信数据包之前的所有通信数据包的大小统一按照该被减数通信数据包的大小进行内容填充,内容填充后进行第i+1个差值与所述阈值大小判断,直至判断完z个不同的通信数据包与所述阈值的大小;
将填充后的z个不同的通信数据包传输至下一节点,并重复对于该节点在预设时段内是否收到z个不同的通信数据包的判断,直至下一节点为接收端;
其中,所述内容填充为:在所述预设时段内收到z个不同的通信数据包的节点随机产生的并附带对应的消息标识符的填充数据包。
2.根据权利要求1所述的一种基于重路由机制的匿名通信方法,其特征在于,所述步骤1之前还包括:
对用户端进行身份认证,并向通过身份认证的用户端发送公私密钥对,所述用户端基于所述公私密钥对发送构建请求信息。
3.根据权利要求2所述的一种基于重路由机制的匿名通信方法,其特征在于,所述对用户端进行身份认证,并向通过身份认证的用户端发送公私密钥对,所述用户端基于所述公私密钥对发送构建请求信息具体为:
向认证服务器发送所述用户端的认证请求信息,以使所述认证服务器判断所述认证请求信息中的哈希值与数据库中的预存的哈希值是否匹配,若是,则通过身份认证,接收所述认证服务器所生成的身份标识对应的公私密钥对,并发送至所述用户端,所述用户端基于所述公私密钥对发送构建请求信息。
4.根据权利要求1所述的一种基于重路由机制的匿名通信方法,其特征在于,所述接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包具体包括:
通过所述用户端与所述接收端之间的第三会话密钥对待发送信息进行打包加密,得到匿名数据包,将所述匿名数据包通过配置后的匿名通信链路处理,得到m个匿名通信数据包;
所述将所述匿名数据包通过配置后的匿名通信链路处理,得m个到匿名通信数据包具体包括:
通过所述用户端与第m节点之间的第m会话密钥对所述匿名数据包以及所述接收端的地址进行加密,生成第一匿名通信数据包,所述第一匿名通信数据包绑定第m-1节点的IP地址;将绑定后的所述第一匿名通信数据包通过第m-1会话密钥加密,得到第二匿名通信数据包,所述第二匿名通信数据包绑定第m-2节点的IP地址;
重复执行预设策略,直至得到第m匿名通信数据包,所述第m匿名通信数据包即为所述匿名通信数据包。
5.一种基于重路由机制的匿名通信系统,其特征在于,包括:
构建模块,用于基于构建请求信息,通过重路由机制构建匿名通信链路;
处理模块,用于接收用户端对匿名通信链路的配置,通过配置后的匿名通信链路对待发送数据包处理,得到封装匿名通信数据包,并以填充发送的方式将封装匿名通信数据包发送至接收端;
其中,构建模块具体用于:
在通信网络中的n个节点里按预设要求选出m个节点,作为中继节点,通过所有的中继节点构建匿名通信链路;
所述在通信网络中的n个节点里按预设要求选出m个节点,作为中继节点,通过所有的中继节点构建匿名通信链路具体包括:
获取通信网络中每个节点的往返时延、节点的在线时间以及节点的带宽,基于每个节点的所述往返时延、所述节点的在线时间以及所述节点的带宽计算出每个节点的加权求和值,对计算得出的n个加权求和值进行降序排列,选取前m个加权求和值对应的节点,所述m个节点为中继节点;
对用户端向中继节点中的入口节点发送的申请构建匿名通信链路的第一信息数据包进行加密,所述第一信息数据包包括:通过所述入口节点的公钥加密的第一密钥协商信息,对入口节点收到的所述第一信息数据包进行解密,对所述第一密钥协商信息进行处理得到第一会话密钥协商信息以及第一会话密钥,将所述第一会话密钥协商信息、所述第一会话密钥、所述第一会话密钥的第一哈希值以及第一路径标识符打包至第一反馈数据包中,通过第一会话密钥将所述第一反馈数据包加密传输至用户端,对用户端接收到的所述第一反馈数据包进行解密,根据所述第一反馈数据包中的所述第一会话密钥协商信息计算第二会话密钥,并比较由第二会话密钥确定的第二哈希值与所述第一哈希值是否相等,若相等,则判定所述用户端与所述入口节点之间构成第一段匿名通信链路,所述入口节点为加权求和值最高的第一节点;
基于所述第一段匿名通信链路,通过预设流程得到第二段匿名通信链路;所述预设流程具体包括:
通过第一会话密钥对用户端向所述入口节点发送第二信息数据包进行加密,所述第二信息数据包包括:第二节点的IP地址以及通过所述第二节点的公钥加密的第二密钥协商信息,所述第一会话密钥为:所述用户端与所述入口节点之间的会话密钥;通过所述第一会话密钥对所述入口节点接收到的所述第二信息数据包进行解密,并将所述第二密钥协商信息打包至第三信息数据包中,将所述第三信息数据包按照所述IP地址发送至所述第二节点,所述第二节点对所述第二密钥协商信息进行处理得到所述第二节点与所述用户端之间的第二会话密钥以及第二会话密钥协商信息,将所述第二会话密钥、所述第二会话密钥协商信息、第二路径标识符以及所述第二会话密钥的第二哈希值打包成第三信息数据包,所述第三信息数据包通过所述入口节点的公钥进行加密,将加密后的所述第三信息数据包发送至所述入口节点,所述入口节点对加密后的所述第三信息数据包进行解密,所述入口节点通过所述第一会话密钥对所述第三信息数据包进行加密,经加密后的所述第三信息数据包作为第二反馈数据包发送至所述用户端,对所述用户端接收到的第二反馈数据包进行解密,并根据所述第二反馈数据包中的数据计算所述第二节点与所述用户端之间的第三会话密钥,比较所述第三会话密钥的第三哈希值与所述第二哈希值是否相等,若判断结果为相等,则判定所述用户端与所述第二节点之间构成第二段匿名通信链路;
重复预设流程中的步骤,直至得到第m段匿名通信链路,所述第m段匿名通信链路即为所述匿名通信链路;
所述以填充发送的方式将封装匿名通信数据包发送至所述接收端具体包括:
判断任意节点在预设时段内是否收到z个不同的通信数据包,其中,
Figure DEST_PATH_IMAGE002A
,若判断结果为是,则,通过该节点与所述用户端之间的会话密钥对所有通信数据包进行解密,并将所有所述通信数据包中的随机数删除,根据删除随机数后的每个通信数据包的大小,升序排列所有通信数据包,计算相邻两个通信数据包之间大小的差值,逐一进行所述差值与阈值的大小判断;
当第i个差值小于或等于所述阈值时,则进行第i+1个差值与所述阈值大小判断,直至判断完z个不同的通信数据包与所述阈值的大小;
当所述第i个差值大于所述阈值时,将计算所述第i个差值的被减数通信数据包之前的所有通信数据包的大小统一按照该被减数通信数据包的大小进行内容填充,内容填充后进行第i+1个差值与所述阈值大小判断,直至判断完z个不同的通信数据包与所述阈值的大小;
将填充后的z个不同的通信数据包传输至下一节点,并重复对于该节点在预设时段内是否收到z个不同的通信数据包的判断,直至下一节点为接收端;
其中,所述内容填充为:在所述预设时段内收到z个不同的通信数据包的节点随机产生的并附带对应的消息标识符的填充数据包。
6.一种计算机可读存储介质,其上存储有计算机程序其特征在于,该程序被处理器执行时实现权利要求1至4中任一项所述方法的步骤。
7.一种电子设备,其特征在于,包括权利要求6所述的介质、执行所述介质内的指令的处理器。
CN202210029505.5A 2022-01-12 2022-01-12 基于重路由机制的匿名通信方法、系统、介质及电子设备 Active CN114051236B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210029505.5A CN114051236B (zh) 2022-01-12 2022-01-12 基于重路由机制的匿名通信方法、系统、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210029505.5A CN114051236B (zh) 2022-01-12 2022-01-12 基于重路由机制的匿名通信方法、系统、介质及电子设备

Publications (2)

Publication Number Publication Date
CN114051236A CN114051236A (zh) 2022-02-15
CN114051236B true CN114051236B (zh) 2022-04-12

Family

ID=80196279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210029505.5A Active CN114051236B (zh) 2022-01-12 2022-01-12 基于重路由机制的匿名通信方法、系统、介质及电子设备

Country Status (1)

Country Link
CN (1) CN114051236B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710321B (zh) * 2022-03-14 2023-01-06 西安电子科技大学 一种提高低时延匿名通信系统匿名性的方法
CN114389825B (zh) * 2022-03-24 2022-07-08 腾讯科技(深圳)有限公司 一种基于区块链的数据通信方法和相关装置
CN114978781B (zh) * 2022-08-02 2022-11-11 中国电子科技集团公司第三十研究所 一种面向Tor网络的混合匿名链路通信方法及系统
CN115941269B (zh) * 2022-11-04 2024-03-12 西安电子科技大学 一种基于cMix匿名网络实现接收方匿名的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004266493A (ja) * 2003-02-28 2004-09-24 Fujitsu Prime Software Technologies Ltd 匿名ルート探索要求方法、匿名ルート探索要求中継方法、匿名データ中継方法、匿名ルート探索要求応答方法および電子掲示板提供装置
CN111970244A (zh) * 2020-07-20 2020-11-20 北京邮电大学 基于环形架构的匿名通信网络的构建、消息转发方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533465B2 (en) * 2008-03-05 2013-09-10 The Johns Hopkins University System and method of encrypting network address for anonymity and preventing data exfiltration
CN102664904B (zh) * 2012-05-16 2015-04-15 东南大学 被动模式下的隐藏文件传输服务定位方法
CN104168265B (zh) * 2014-07-16 2018-01-05 南京邮电大学 一种基于分布式哈希表网络的匿名通信方法
CN105357113B (zh) * 2015-10-26 2018-08-21 南京邮电大学 一种基于重路由匿名通信路径的构建方法
CN105306483B (zh) * 2015-11-13 2018-09-07 厦门安胜网络科技有限公司 一种安全快速的匿名网络通信方法及系统
CN106453428A (zh) * 2016-12-15 2017-02-22 中国科学院上海微系统与信息技术研究所 一种适用于manet网络层的匿名安全通信方法
CN107426248B (zh) * 2017-09-05 2020-05-26 东北大学 一种基于网络编码的wmn匿名通信方法
CN110784321B (zh) * 2019-11-06 2022-03-29 曲阜师范大学 一种新的基于公私钥密码机制的安全匿名通信方法
CN111970243B (zh) * 2020-07-20 2022-06-03 北京邮电大学 匿名通信网络中多阶段路由的消息转发方法
CN112150144A (zh) * 2020-08-12 2020-12-29 江苏大学 一种基于跨节点多跳支付的区块链匿名交易方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004266493A (ja) * 2003-02-28 2004-09-24 Fujitsu Prime Software Technologies Ltd 匿名ルート探索要求方法、匿名ルート探索要求中継方法、匿名データ中継方法、匿名ルート探索要求応答方法および電子掲示板提供装置
CN111970244A (zh) * 2020-07-20 2020-11-20 北京邮电大学 基于环形架构的匿名通信网络的构建、消息转发方法

Also Published As

Publication number Publication date
CN114051236A (zh) 2022-02-15

Similar Documents

Publication Publication Date Title
CN114051236B (zh) 基于重路由机制的匿名通信方法、系统、介质及电子设备
Song et al. AnonDSR: efficient anonymous dynamic source routing for mobile ad-hoc networks
Chen et al. HORNET: High-speed onion routing at the network layer
US6799270B1 (en) System and method for secure distribution of digital information to a chain of computer system nodes in a network
KR100956482B1 (ko) 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립 방법, 그 관계 확립의 개시와 완성 방법, 통신 장치 및 컴퓨터 판독가능한 기록매체
Grover et al. A survey of broadcast authentication schemes for wireless networks
CN114448730B (zh) 基于区块链网络的报文转发方法及装置、交易处理方法
Jansen et al. Toward anonymity in delay tolerant networks: Threshold pivot scheme
Brown Cebolla: Pragmatic ip anonymity
Alston et al. Neutralizing interest flooding attacks in named data networks using cryptographic route tokens
CN109714362B (zh) 一种轻量级的工业无线网络安全数据融合方法
Parno et al. SNAPP: Stateless network-authenticated path pinning
Shimshock et al. Breaking and provably fixing minx
Huang et al. A novel key distribution scheme based on transmission delays
Hegde et al. Distributed integrity and non-repudiation scheme in the dynamic vehicular cloud environment
Venkadesh et al. Techniques to enhance security in SCTP for multi-homed networks
Altisen et al. SR3: secure resilient reputation-based routing
Itani et al. Slow but certain wins the race: authenticated bundle communication in delay tolerant networks
Fusenig et al. Acimn protocol: A protocol for anonymous communication in multi hop wireless networks.
Chen Infrastructure-based anonymous communication protocols in future internet architectures
Ren et al. Idsrf: Id-based secure routing framework for wireless ad-hoc networks
CN111510427B (zh) 在i2p网络系统中缓解路径创建攻击的方法、计算机可读存储介质和i2p网络系统
Bakiras et al. An anonymous messaging system for delay tolerant networks
Zamani Post-Quantum Secure Authentication Methods Suitable For Quantum Key Distribution
Iqbal et al. SHA-3 Algorithm-based Authentication Scheme for Vehicular Ad-hoc Networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant