CN111970244B - 基于环形架构的匿名通信网络的构建、消息转发方法 - Google Patents

基于环形架构的匿名通信网络的构建、消息转发方法 Download PDF

Info

Publication number
CN111970244B
CN111970244B CN202010699556.XA CN202010699556A CN111970244B CN 111970244 B CN111970244 B CN 111970244B CN 202010699556 A CN202010699556 A CN 202010699556A CN 111970244 B CN111970244 B CN 111970244B
Authority
CN
China
Prior art keywords
node
information
ring
routing
forwarding
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
CN202010699556.XA
Other languages
English (en)
Other versions
CN111970244A (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202010699556.XA priority Critical patent/CN111970244B/zh
Publication of CN111970244A publication Critical patent/CN111970244A/zh
Application granted granted Critical
Publication of CN111970244B publication Critical patent/CN111970244B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本发明公开了一种基于环形架构的匿名通信网络的构建、消息转发方法,所述消息转发方法包括:选择匿名通信网络中的Routing环中的一个节点,作为阶段路径头节点;利用该节点的公钥加密阶段路径参数、待转发的消息内容、下阶段路由信息后发送给阶段路径头节点;阶段路径头节点利用私钥对接收的信息进行解密,在确定Routing环中的转发节点后,利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密,将层级加密的信息通过各转发节点传递,由最后一个转发节点根据解密出的下阶段路由信息将所述消息内容转发至环外。应用本发明能够实现支持多用户的链路复用,快速的流量叠加,可以有效发挥大节点的高带宽、高速处理能力。

Description

基于环形架构的匿名通信网络的构建、消息转发方法
技术领域
本发明涉及匿名通信技术领域,特别是指一种基于环形架构的匿名通信网络的构建、消息转发方法。
背景技术
网络匿名通信是一种通过采用消息转发、数据加密、流量混淆等措施来隐藏通信内容及关系的隐私保护技术。网络匿名通信技术主要应用于匿名电子邮件系统、匿名网络存储系统、匿名发布系统、匿名Web浏览系统等。目前,存在以下几种网络结构:
1、基于虚电路(Circuit-based)的网络结构,其是低延迟网络,通信双方的往返消息沿着同一条路径传输(TCP连接链路复用)。链路由发送者创建,链路上每个节点的角色不是对等的,入口节点和出口节点分别知道发送者和接收者的地理位置,攻击者控制入口和出口,通过端到端流量分析进行关联,以破解发送者和接收者的对应关系。匿名性保证来源于大型网络规模和Guard机制、选路算法等多种保护机制给攻击者带来的同时控制出入口的难度,不采用混淆消息机制(Dummy Traffic)。公钥密码体制主要用来密钥协商,对称密钥用来数据传输。
2、基于固定消息传输路径的网络结构:系统提供若干条服务商运营的专门的级联Mix链路(称为Mix Cascade),用户选择某条级联链路承载往返消息传输。链路上每个节点的角色不是对等的,入口节点和出口节点分别知道发送者和接收者的地理位置,攻击者控制入口和出口,通过端到端流量分析进行关联,以破解发送者和接收者的对应关系。匿名性保证来源于大量用户消息的自混淆,可能采用混淆消息机制(Dummy Traffic)。主要利用公钥密码体制进行层级加密保护消息内容。
3、基于消息源路由转发路径的网络结构:目标是高延迟网络,每条消息单独选择路径,每条消息的传输路径由发送者创建,通过层级加密包括消息传输路由信息,通过消息源路由机制进行选路和多跳传输,通过Reply Block来传递返回消息路径,返回消息未必走同一路径。匿名性保证依赖于Mix机制,通过随机延迟、重路由,重编码等手段混淆输入输出消息对应关系,大量采用混淆消息机制(Dummy Traffic)应对攻击。链路上每个节点的角色不是对等的,入口节点和出口节点分别知道发送者和接收者的地理位置,攻击者如果能持续跟踪消息传输路径,就有可能唯一确定发送者和接收者。利用公钥分层加密来保护消息路由信息、消息内容和Reply Block。
4、基于非对等环的网络结构:该网络结构中的节点就在环之上,避免了传统除匿名通道出入两个位置受监听的威胁。环由初始化节点选择中间节点,逐跳初始化。所有消息都在同一个环上传输,消息包括初始化节点的真实消息和初始化节点的虚假消息,消息都属于一个节点。节点不是对等的,初始化节点拥有上帝视角,其他节点只知道上下游节点,环有出入口节点的概念。依赖混淆消息保护消息匿名性,初始化节点能够认识混淆消息的Level,控制混淆消息的转发路径(分层加密),路径中间节点无法区分哪些是真实消息,哪些是Dummy消息,只负责消息转发,匿名性依赖于攻击者无法区分真实消息和虚假消息,无法判定谁是环上真正的消息发送者,实现最小匿名集合=环上节点个数。依赖对称或非对称加密保护和传递消息。
5、基于自主重路由转发路径的网络结构:目标是低延迟网络,所有消息沿着同一条一条路径多跳传输,路径初始化时每一跳的下一节点由当前节点从其邻居节点中自主决定。消息由发送者生成并分发的path key做对称加密处理,任意两跳之间有link key对称加密。匿名性由每个节点无法分辨其上游节点是否消息源发点保证。链路上每个节点的角色对等,都可以打开消息,看到消息的目的地,只能保证发送者匿名。节点选择时可以选择相同流量水平的节点建立链路。
在实际应用中,本发明的发明人发现现有的主流或最新匿名通信链路基本都是由信息发送者初始化,消息采取源路由方式发送,即发送者选择路径上的所有中间节点,也就是发送者和中间节点身份不对等。节点身份不对等意味着链路上其他节点知道的密钥信息不如链路初始化者多,也就意味着其他节点无法复用这条链路进行消息传播,无法实现用户级别的链路复用,也就无法实现流量叠加。
发明内容
有鉴于此,本发明的目的在于提出一种基于环形架构的匿名通信网络的构建、消息转发方法,能够实现支持多用户的链路复用,快速的流量叠加,可以有效发挥大节点的高带宽、高速处理能力。
基于上述目的,本发明提供一种基于环形架构的匿名通信网络的构建方法,包括:
为待构建的流量聚合环Routing环选择若干节点后,分别与选择的各节点生成非对称密钥,并保存各节点返回的公钥;
根据各节点的公钥,协助生成所述Routing环的任意两节点间共享的对称密钥;
利用各节点的公钥生成层级加密数据包,并将所述层级加密数据包发送给所述Routing环的第一个节点,由所述Routing环的第一个节点至最后一个节点依次解密出所述层级加密数据包中各层级加密的信息,获得下一跳节点的地址信息;
各节点根据获得的下一跳节点的地址信息建立链接形成环形结构的Routing环。
较佳地,所述利用各节点的公钥生成层级加密数据包,具体包括:
对于具有r个节点的Routing环,目录服务器根据如下方法生成从第1层至第r层信息,从而得到r层加密的数据包:
生成层级加密数据包的第1层信息时,利用Routing环中的最后一个节点的公钥,加密如下信息:Routing环中的最后一个节点在Routing环中的下一跳节点的地址信息、环中最后一个节点的标识信息closedRing、目录服务器生成的随机数nonce,以及Routing环的标识RingID;其中,Routing环中的最后一个节点在Routing环中的下一跳节点,具体为Routing环中的第1个节点;
对于r>i>1的情况,生成层级加密数据包的第i层信息时,是利用Routing环中的第r+1-i个节点的公钥,加密如下信息:Routing环中第r+1-i个节点在Routing环中的下一跳节点的地址信息、环中非最后一个节点的标识信息extendRing、Routing环的标识RingID,以及之前生成的第i-1层信息;其中,所述Routing环中第r+1-i个节点在Routing环中的下一跳节点,具体为Routing环中的第r+2-i个节点;
在生成层级加密数据包的第r层信息时,利用Routing环中的第1个节点的公钥,加密如下信息:Routing环中第1个节点在Routing环中的下一跳节点的地址信息、环中非最后一个节点的标识信息extendRing、Routing环的标识RingID、所述随机数nonce,以及之前生成的第r-1层信息;其中,Routing环中第1个节点在Routing环中的下一跳节点,具体为Routing环中的第2个节点。
较佳地,所述由所述Routing环的第一个节点至最后一个节点依次解密出所述层级加密数据包中各层级的加密信息,获得下一跳节点的地址信息,具体包括:
Routing环的第1个节点对所述层级加密数据包中第r层信息进行解密:Routing环的第1个节点利用生成的非对称密钥中的私钥对所述层级加密数据包进行解密,获得如下信息:Routing环的第1个节点的下一跳节点的地址信息、标识信息extendRing、Routing环的标识RingID、所述随机数nonce,以及之前生成的第r-1层信息;
Routing环的第1个节点根据解密出的环中非最后一个节点的标识信息extendRing,依据下一跳节点的地址信息将第r-1层信息继续向Routing环的第1个节点的下一跳节点发送;
对于1<i<r的情况,Routing环的第i个节点对层级加密数据包中第r+1-i层信息进行解密:Routing环的第i个节点利用生成的非对称密钥中的私钥对其进行解密,获得如下信息:Routing环的第i个节点的下一跳节点的地址信息、标识信息extendRing、Routing环的标识RingID,以及之前生成的第r-i层信息;
Routing环的第i个节点根据解密出的标识信息extendRing,依据下一跳节点的地址信息将第r-i层信息继续向Routing环的第i个节点的下一跳节点发送;
Routing环的第r个节点对所述层级加密数据包中第1层信息进行解密:由于第1层信息是由目录服务器通过Routing环的第r个节点的公钥进行加密得到的,因此,Routing环的第r个节点可以用私钥对其进行解密,从而获得如下信息:Routing环的第r个节点的下一跳节点的地址信息(包括IP地址和端口信息)、环中最后一个节点的标识信息closedRing、Routing环的标识(RingID)以及随机数nonce;
Routing环的第r个节点根据解密出的标识信息closedRing,确定本节点为最后一个节点,存储下一跳节点的地址信息。
本发明还提供一种基于环形架构的匿名通信网络的消息转发方法,包括:
选择所述匿名通信网络中的Routing环中的一个节点,作为阶段路径头节点;
利用公布的该节点的公钥加密阶段路径参数、待转发的消息内容、下阶段路由信息,将得到的加密信息发送给所述阶段路径头节点;
所述阶段路径头节点利用本节点的私钥对接收的加密信息进行解密,根据解密得到的阶段路径参数中的阶段路径的长度,确定所述消息内容在所述Routing环中的转发节点,并利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密后,将层级加密的信息发送给所述转发节点中的第一个节点;
由所述转发节点中的第一个节点至最后一个节点依次解密出所述层级加密的信息中各层级加密的信息,并由最后一个节点根据解密出的下阶段路由信息将所述消息内容转发至环外。
较佳地,所述利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密,具体包括:
所述阶段路径头节点在确定转发节点的个数为n后,生成从第1层至第n层信息,从而得到n层的层级加密的信息,其中,从最外层至最内层的加密信息,依次对应于第1个转发节点至最后一个转发节点;
其中,所述阶段路径头节点生成的第1层信息包括:阶段路径头节点与最后一个转发节点共享的对称密钥的哈希值,以及利用与最后一个转发节点共享的对称密钥加密的如下信息:待转发的消息内容EMSG、下阶段路由信息RoutInfo、消息脱环转发的标识信息out,以及阶段路径头节点与最后一个转发节点共享的对称密钥的哈希值;
对于n≥i>1的情况,阶段路径头节点生成的第i层信息包括:阶段路径头节点与第n+1-i个转发节点共享的对称密钥的哈希值,以及利用与第n+1-i个转发节点共享的对称密钥加密的如下信息:第i-1层信息,以及阶段路径头节点与第n+1-i个转发节点共享的对称密钥的哈希值。
较佳地,所述由所述转发节点中的第一个节点至最后一个节点依次解密出所述层级加密的信息中各层级加密的信息,并由最后一个节点根据解密出的下阶段路由信息将所述消息内容进行转发,具体包括:
第1个转发节点接收到阶段路径头节点发送的n层的层级加密的信息后,将哈希值列表中本节点与Routing环中其它节点共享的对称密钥的哈希值,分别与接收到的信息中的哈希值进行比较;将比较结果一致的哈希值所对应的密钥,作为解密的密钥对接收到的信息中的加密信息进行解密,获得如下信息:第n-1层信息,以及阶段路径头节点与本节点共享的对称密钥的哈希值;第1个转发节点根据解密出的密钥的哈希值验证解密信息的正确性;第1个转发节点在确定解密出的信息中没有明文信息后,将解密出来的信息继续向下一跳节点发送;
对于n>i>1的情况,第i个转发节点接收到上一跳节点发送的信息后,将哈希值列表中本节点与Routing环中其它节点共享的对称密钥的哈希值,分别与接收到的信息中的哈希值进行比较;将比较结果一致的哈希值所对应的密钥,作为解密的密钥对接收到的信息中的加密信息进行解密,获得如下信息:第n-i层信息,以及阶段路径头节点与本节点共享的对称密钥的哈希值;第i个转发节点根据解密出的密钥的哈希值验证解密信息的正确性;第i个转发节点在确定解密出的信息中没有明文信息后,将解密出来的信息继续向下一跳节点发送;
第n个转发节点接收到上一跳节点发送的信息后,将哈希值列表中本节点与Routing环中其它节点共享的对称密钥的哈希值,分别与接收到的信息中的哈希值进行比较;将比较结果一致的哈希值所对应的密钥,作为解密的密钥对接收到的信息中的加密信息进行解密,获得如下信息:待转发的消息内容EMSG、下阶段路由信息RoutInfo、消息脱环转发的标识信息out,以及阶段路径头节点与本节点共享的对称密钥的哈希值;第n个转发节点根据解密出的密钥的哈希值验证解密信息的正确性;第n个转发节点在确定解密出的信息中具有明文信息,并识别出消息脱环转发的标识信息out后,根据下阶段路由信息RoutInfo将解密的信息向Routing环的环外节点发送。
本发明还提供一种目录服务器,包括:
环节点选择模块,用于为待构建的Routing环选择若干节点;
非对称密钥生成模块,用于分别与选择的各节点生成非对称密钥,并保存各节点返回的公钥;
对称密钥协助生成模块,用于根据各节点的公钥,协助生成所述Routing环的任意两节点间共享的对称密钥;
层级加密模块,用于利用各节点的公钥生成层级加密数据包,并将所述层级加密数据包发送给所述Routing环的第一个节点,由所述Routing环的第一个节点至最后一个节点依次解密出所述层级加密数据包中各层级加密的信息,获得下一跳节点的地址信息,以使各节点根据获得的下一跳节点的地址信息建立链接形成环形结构的Routing环。
本发明还提供一种客户端,包括:
头节点选择模块,用于选择所述匿名通信网络中的Routing环中的一个节点,作为阶段路径头节点;
头节点信息发送模块,用于利用公布的该节点的公钥加密阶段路径参数、待转发的消息内容、下阶段路由信息,将得到的加密信息发送给所述阶段路径头节点;由所述阶段路径头节点利用本节点的私钥对接收的加密信息进行解密,根据解密得到的阶段路径参数确定所述消息内容在所述Routing环中的转发节点,并利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密后,将层级加密的信息发送给所述转发节点中的第一个节点;进而由所述转发节点中的第一个节点至最后一个节点依次解密出所述层级加密的信息中各层级加密的信息,并由最后一个节点根据解密出的下阶段路由信息将所述消息内容转发至环外。
本发明还提供一种Routing环中的节点,包括:
环外信息接收模块,用于利用本节点的私钥对从环外接收到的加密信息进行解密;根据解密得到的阶段路径参数确定所述加密信息在所述Routing环中的转发节点,并利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密后,将层级加密的信息发送给所述转发节点中的第一个节点;
信息转发模块,用于利用与阶段路径头节点共享的对称密钥对从环内上一跳节点接收到的信息进行解密;若解密出明文信息,则根据解密出的明文信息中的下阶段路由信息将解密出的信息向环外转发;若解密出的信息没有明文信息,则将解密出的信息向环内下一跳节点发送。
本发明的技术方案中,在客户端选择所述匿名通信网络中的Routing环中的一个节点,作为阶段路径头节点,利用公布的该节点的公钥加密阶段路径参数、待转发的消息内容、下阶段路由信息,将得到的加密信息发送给所述阶段路径头节点后,所述阶段路径头节点利用本节点的私钥对接收的加密信息进行解密,根据解密得到的阶段路径参数中的阶段路径的长度,确定所述消息内容在所述Routing环中的转发节点,并利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密后,将层级加密的信息发送给所述转发节点中的第一个节点;由所述转发节点中的第一个节点至最后一个节点依次解密出所述层级加密的信息中各层级加密的信息,并由最后一个节点根据解密出的下阶段路由信息将所述消息内容进行转发;相比于现有技术的基于非对等环的网络结构,本发明的Routing环能够实现支持多用户的链路复用,构成了一个由大能量节点组成的公共环;当具有多个环外的用户使用Routing环传输数据的时候,就形成了流量叠加;从而本发明基于Routing环的匿名通信网络可以基于快速的流量叠加,以有效发挥大节点的高带宽、高速处理能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于环形架构的匿名通信网络的构建方法流程图;
图2为本发明实施例提供的一种目录服务器与环节点生成非对称密钥的方法流程图;
图3为本发明实施例提供的一种层级加密数据包的示意图;
图4a为本发明实施例提供的一种构建的Routing环的环形结构示意图;
图4b为本发明实施例提供的一种基于环形架构的匿名通信网络的消息转发方法流程图;
图5为本发明实施例提供的一种Routing环进行消息转发的方法流程图;
图6为本发明实施例提供的一种目录服务器的内部结构框图;
图7为本发明实施例提供的一种客户端的内部结构框图;
图8为本发明实施例提供的一种Routing环中的节点的内部结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,除非另外定义,本发明实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
本发明的发明人考虑到,构建一种基于环形架构的匿名通信网络,该网络中包括环形结构的流量聚合环,或称Routing环;在流量聚合环(Routing环)中,一方面,所有节点功能一致,均可承担如下角色:
(1)EntryNode(入口节点):接收环外节点发到环上的入环消息(InMSG),并根据协议执行消息转换后转发给下游节点;
(2)ExitNode(出口节点):接收上游节点转发过来的出环消息(OutMSG),并按路由信息发送给环外节点。
另一方面,流量聚合环(Routing环)中所有节点掌握的信息一致,均知道如下三种信息:
(1)任意节点只知道上下游节点的地址信息,即IP地址、Port端口信息;
(2)环上任意一对节点i和j共享对称密钥;
(3)任意节点知道与环上其它节点共享的对称密钥排列顺序,这也意味着节点知道环上的节点个数,以及环上的节点的排列顺序。
也就是说,对于具有r个节点的Routing环,在同一时刻最多可以具有r个EntryNode(入口节点),那么,可以支持最多r个环外的用户通过该Routing环传输数据;因此,相比于现有技术的基于非对等环的网络结构,本发明的Routing环中的节点基于上述的特点,使得Routing环能够实现支持多用户的链路复用,构成了一个由大能量节点组成的公共环;当具有多个环外的用户使用Routing环传输数据的时候,就形成了流量叠加;从而本发明基于Routing环的匿名通信网络可以基于快速的流量叠加,以有效发挥大节点的高带宽、高速处理能力。
下面结合附图详细说明本发明实施例的技术方案。
本发明实施例提供的一种基于环形架构的匿名通信网络的构建方法,具体流程如图1所示,包括如下步骤:
步骤S101:权威的目录服务器为待构建的Routing环选择若干节点。
具体地,权威的目录服务器从其维护的节点信息中,基于环节点选择算法为待构建的Routing环选择若干节点作为环节点,比如选择r个节点作为环节点,收集选择的节点的公钥、IP端口等信息,启动初始化过程。环节点应为高速、稳定的优质节点,因此节点选择算法除了参考现有的匿名通信系统设定些基本的安全限制,还可以进一步考虑节点信誉(reputation):(1)节点带宽大于某阈值、稳定运行时间超过某时间、信誉良好;(2)相邻节点不能位于同一地址段内、相邻节点位于不同的自治域、国家。即选择环节点时还需考虑节点是否满足上述节点信誉。其中,r为设定的大于1的自然数。
步骤S102:目录服务器分别与选择的各节点生成非对称密钥,并保存各节点返回的公钥。
具体地,目录服务器将选择的各环节点进行随机排序,由排序的各环节点形成一个环初始化路径,然后从环初始化路径中的第一个节点至最后一个节点,依次与环初始化路径中各节点生成非对称密钥,并保存各节点返回的非对称密钥中的公钥;对于环初始化路径中的每个节点,目录服务器将该节点返回的公钥作为所述Routing环上该节点的公钥进行保存。
对于环初始化路径中的一个环节点,目录服务器与该环节点生成非对称密钥的具体过程,可以如图2所示,包括如下子步骤:
子步骤S201:目录服务器向该环节点发送携带Routing环的标识(RingID)的Routing环公钥请求信息。
子步骤S202:所述环节点接收到Routing环公钥请求信息后,获取Routing环的标识(RingID),并生成一对非对称密钥对应于RingID进行保存。
子步骤S203:所述环节点将非对称密钥中的公钥返回目录服务器。
如此,目录服务器可以获得环初始化路径中每个节点的Routing环公钥;例如,对于环初始化路径中的节点A、B……G,目录服务器可以分别获得A、B……G的Routing环公钥:RRingPubKeyA,RRingPubKeyB,…,RRingPubKeyG;目录服务器可以将环初始化路径中各节点的Routing环公钥对应于RingID进行保存。
步骤S103:目录服务器根据各节点的公钥,协助生成所述Routing环的任意两节点间共享的对称密钥。
具体地,将环初始化路径中第k个节点,作为Routing环的第k个节点;在待构建的Routing环中,相邻节点具有连接关系,且最后一个节点与第一个节点也具有连接关系,从而可以形成环形结构;针对此环形结构,目录服务器作为中间人,协助每个节点顺时针分别和其它节点通过D-H(密钥交换协议)密钥协商过程建立共享的对称密钥RRingKey;对于具有r个节点作为环节点的Routing环,此过程共需进行r(r-1)次密钥协商,生成r(r-1)个对称密钥;
且此过程中,对于Routing环中的一个节点,目录服务器是根据环初始化路径中各节点的排序,协助该节点与其它节点通过D-H密钥协商过程建立共享的对称密钥。
因此,经过r(r-1)次密钥协商后,每个节点与Routing环的其它节点都有共享的对称密钥,且每个节点通过与Routing环的其它节点的密钥协商顺序,可以获知Routing环上节点的排列顺序,以及Routing环上节点的数量。例如,Routing环的环初始化路径为:节点A-节点B-节点C-节点D-节点E-节点F-节点G,则节点A可以获知Routing环上节点的排列顺序为:节点B-节点C-节点D-节点E-节点F-节点G,节点B可以获知Routing环上节点的排列顺序为:节点C-节点D-节点E-节点F-节点G-节点A。
步骤S104:目录服务器利用各节点的公钥生成层级加密数据包,并将所述层级加密数据包发送给所述Routing环的第一个节点。
具体地,对于具有r个节点的Routing环,目录服务器生成r层加密的数据包;其中,生成的r层加密的数据包从最外层至最内层的加密信息,依次对应于Routing环中第1个节点至最后一个节点,即目录服务器生成r层加密的数据包中的第1层信息是对应于Routing环中的最后一个节点。
目录服务器生成从第1层至第r层信息,从而得到r层加密的数据包;在目录服务器生成层级加密数据包的第1层信息时,是利用Routing环中的最后一个节点的公钥,加密如下信息:Routing环中的最后一个节点在Routing环中的下一跳节点的地址信息(包括IP地址和端口信息)、环中最后一个节点的标识信息closedRing、目录服务器生成的随机数nonce,以及Routing环的标识(RingID);其中,Routing环中的最后一个节点在Routing环中的下一跳节点,具体为Routing环中的第1个节点。
对于r>i>1的情况,在目录服务器生成层级加密数据包的第i层信息时,是利用Routing环中的第r+1-i个节点的公钥,加密如下信息:Routing环中第r+1-i个节点在Routing环中的下一跳节点的地址信息(包括IP地址和端口信息)、环中非最后一个节点的标识信息extendRing、Routing环的标识(RingID),以及之前生成的第i-1层信息;其中,对于i>1的情况,Routing环中第r+1-i个节点在Routing环中的下一跳节点,具体为Routing环中的第r+2-i个节点。
在目录服务器生成层级加密数据包的第r层信息时,是利用Routing环中的第1个节点的公钥,加密如下信息:Routing环中第1个节点在Routing环中的下一跳节点的地址信息(包括IP地址和端口信息)、环中非最后一个节点的标识信息extendRing、Routing环的标识(RingID)、上述的随机数nonce,以及之前生成的第r-1层信息;其中,Routing环中第1个节点在Routing环中的下一跳节点,具体为Routing环中的第2个节点。
例如,Routing环具有7个节点,其环初始化路径为:节点A-节点B-节点C-节点D-节点E-节点F-节点G,则生成的层级加密数据包具体为7层加密的数据包,如图3所示。
之后,目录服务器将生成的层级加密数据包发送给环初始化路径中的第1个节点。
步骤S105:层级加密数据包由所述Routing环的第一个节点传递至最后一个节点,各节点依次分别解密出所述层级加密数据包中各层级加密的信息,获得下一跳节点的地址信息;各节点根据获得的下一跳节点的地址信息可以建立链接形成环形结构的Routing环。
具体地,对于r个节点的Routing环,环初始化路径中的第j个节点即为Routing环的第j个节点,其中,j为1~r的自然数;层级加密数据包由所述Routing环的第一个节点传递至最后一个节点,由所述Routing环的第一个节点至最后一个节点依次解密出所述层级加密数据包中各层级加密的信息,获得下一跳节点的地址信息:
对于具有r个节点的Routing环,Routing环的第1个节点对层级加密数据包中最外层的加密信息,即第r层信息进行解密:由于第r层信息是由目录服务器通过Routing环的第1个节点的公钥进行加密得到的,因此,可以用Routing环的第1个节点生成的非对称密钥中的私钥对其进行解密,从而获得如下信息:Routing环的第1个节点的下一跳节点的地址信息(包括IP地址和端口信息)、环中非最后一个节点的标识信息extendRing、Routing环的标识(RingID)、上述的随机数nonce,以及之前生成的第r-1层信息;
Routing环的第1个节点存储下一跳节点的地址信息,并根据解密出的环中非最后一个节点的标识信息extendRing,依据下一跳节点的地址信息与下一跳节点建立链接后,将第r-1层信息继续向Routing环的第1个节点的下一跳节点发送;
例如,上述的节点A接收到如图3所示的层级加密数据包后,利用私钥解密出最外层信息,得到如下信息:下一跳节点,即节点B的地址信息(包括IP地址和端口信息)、标识信息extendRing、Routing环的标识(RingID)、上述的随机数nonce,以及之前生成的第6层信息;
节点A根据标识信息extendRing,确定本节点为环中的非最后一个节点,从而继续层级加密数据包的传递:节点A根据节点B的地址信息,与节点B建立链接,并将层级加密数据包中的第6层信息向节点B发送。
对于1<i<r的情况,Routing环的第i个节点对层级加密数据包中第r+1-i层信息进行解密:由于第r+1-i层信息是由目录服务器通过Routing环的第i个节点的公钥进行加密得到的,因此,Routing环的第i个节点可以用生成的非对称密钥中的私钥对其进行解密,从而获得如下信息:Routing环的第i个节点的下一跳节点的地址信息(包括IP地址和端口信息)、环中非最后一个节点的标识信息extendRing、Routing环的标识(RingID),以及之前生成的第r-i层信息;
Routing环的第i个节点存储下一跳节点的地址信息,并根据解密出的环中非最后一个节点的标识信息extendRing,依据下一跳节点的地址信息与下一跳节点建立链接后,将第r-i层信息继续向Routing环的第i个节点的下一跳节点发送;
例如,上述的节点B接收到节点A发送的加密数据包后,利用私钥解密第6层信息,得到如下信息:下一跳节点,即节点C的地址信息(包括IP地址和端口信息)、标识信息extendRing、Routing环的标识(RingID),以及之前生成的第5层信息;
节点B根据标识信息extendRing,确定本节点为环中的非最后一个节点,从而继续层级加密数据包的传递:节点B根据节点C的地址信息,与节点C建立链接,并将层级加密数据包中的第5层信息向节点C发送。
Routing环的第r个节点对层级加密数据包中第1层信息进行解密:由于第1层信息是由目录服务器通过Routing环的第r个节点的公钥进行加密得到的,因此,Routing环的第r个节点可以用私钥对其进行解密,从而获得如下信息:Routing环的第r个节点的下一跳节点的地址信息(包括IP地址和端口信息)、环中最后一个节点的标识信息closedRing、Routing环的标识(RingID)以及随机数nonce;
Routing环的第r个节点根据解密出的环中最后一个节点的标识信息closedRing,确定本节点为最后一个节点,存储下一跳节点的地址信息后,获取与下一跳节点共享的对称密钥,即获取与Routing环的第1个节点共享的对称密钥;由于之前各节点均已获知Routing环上节点的排列顺序,以及与其它节点共享的对称密钥,因此,第r个节点可以根据获知的Routing环上节点的排列顺序确定出第1个节点以及与第1个节点共享的对称密钥;
Routing环的第r个节点根据与第1个节点共享的对称密钥将随机数nonce加密后发送给下一跳节点,即Routing环的第1个节点;从而,Routing环的第1个节点可以接收到第r个节点发送的加密的随机数nonce。
例如,上述的节点G接收到节点F发送的加密数据包后,利用私钥解密第1层信息,得到如下信息:下一跳节点,即节点A的地址信息(包括IP地址和端口信息)、标识信息closedRing、Routing环的标识(RingID)、随机数nonce;
节点G根据标识信息closedRing,确定本节点为环中的最后一个节点,从而不再继续层级加密数据包的传递;而是根据与节点A共享的对称密钥将随机数nonce加密后发送给下一跳节点,即节点A;从而,节点A可以接收到节点G发送的加密的随机数nonce。
Routing环的第1个节点利用与第r个节点共享的对称密钥解密出随机数nonce后,将当前解密出的随机数nonce与之前解密出的随机数nonce进行比较,若比较结果为一致,则环形结构的Routing环建立成功;若比较结果不一致,则环形结构的Routing环建立失败。Routing环的第1个节点可以将Routing环的建立结果返回给目录服务器。这样,环形结构的Routing环建立成功后,Routing环中任意节点只知道上下跳节点的地址信息,即IP地址、Port端口信息。
例如,上述的环初始化路径:节点A-节点B-节点C-节点D-节点E-节点F-节点G,在构建Routing环后,得到的环形结构如图4a所示。
步骤S106:目录服务器公布该Routing环的相关信息。
具体地,目录服务器将该Routing环的各节点的公钥信息进行公布,但不公布Routing环上各节点的排列顺序。
客户端可以通过基于上述方法构建出的环形结构的Routing环的匿名通信网络进行消息传送,本发明实施例提供的一种基于环形架构的匿名通信网络的消息转发方法,流程如图4b所示,包括如下步骤:
步骤S401:客户端选择所述匿名通信网络中的Routing环中的一个节点,作为阶段路径头节点。
步骤S402:客户端利用公布的该节点的公钥加密阶段路径参数、待转发的消息内容、下阶段路由信息,将得到的加密信息发送给阶段路径头节点。
其中,阶段路径参数可以包括阶段路径的长度,进一步,阶段路径参数还可包括转发延迟参数;待转发的消息内容可以是加密后的消息内容;下阶段路由信息可以是消息内容发往目的节点的路由信息。如此,阶段路径头节点即为Routing环的EntryNode(入口节点);事实上,客户端可以随机选择Routing环中的一个节点作为阶段路径头节点,也就是说,Routing环中的任一节点均可作为Routing环的EntryNode(入口节点)。
步骤S403:阶段路径头节点将接收的加密信息通过Routing环进行消息转发。
本步骤中,Routing环进行消息转发的具体方法流程如图5所示,包括如下子步骤:
子步骤S501:阶段路径头节点利用本节点的私钥对接收的加密信息进行解密。
具体地,Routing环中的阶段路径头节点在接收到环外的客户端发送的利用本节点的公钥进行加密的信息后,利用本节点的私钥对接收的加密信息进行解密,从而可以获得如下信息:阶段路径参数PathParam、待转发的消息内容EMSG、下阶段路由信息RoutInfo。
子步骤S502:所述阶段路径头节点根据解密得到的阶段路径参数确定所述消息内容在所述Routing环中的转发节点。
具体地,阶段路径头节点根据解密得到的阶段路径参数中的阶段路径的长度m,则确定所述消息内容在所述Routing环中所经过的节点数为m,由此,阶段路径头节点可以确定在所述Routing环中于本节点之后,用于转发所述消息内容的转发节点的个数为n=m-1,进而根据Routing环上节点的排列顺序,确定排列于本节点后的n个转发节点。
例如,若解密得到的阶段路径的长度为4,则可以确定Routing环中的转发节点的个数为3,进而根据Routing环上节点的排列顺序,确定排列于本节点后的3个节点为转发节点。
子步骤S503:所述阶段路径头节点利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密后,将层级加密的信息发送给第1个转发节点。
具体地,阶段路径头节点在确定转发节点的个数为n后,生成从第1层至第n层信息,从而得到n层的层级加密的信息,其中,从最外层至最内层的加密信息,依次对应于第1个转发节点至最后一个转发节点;而转发节点的排列次序是根据转发节点在Routing环上的排列顺序确定的。
阶段路径头节点生成的第1层信息包括:阶段路径头节点与最后一个转发节点共享的对称密钥的哈希值,以及利用与最后一个转发节点共享的对称密钥加密的如下信息:待转发的消息内容EMSG、下阶段路由信息RoutInfo,以及消息脱环转发的标识信息out,此外,加密的信息还可包括:阶段路径参数PathParam中的转发延迟参数。
对于n≥i>1的情况,阶段路径头节点生成的第i层信息包括:阶段路径头节点与第n+1-i个转发节点共享的对称密钥的哈希值,以及利用与第n+1-i个转发节点共享的对称密钥加密的如下信息:阶段路径头节点生成的第i-1层信息,以及阶段路径头节点与第n+1-i个转发节点共享的对称密钥的哈希值,此外,加密的信息还可包括:阶段路径参数中的转发延迟参数。
阶段路径头节点将得到的n层的层级加密的信息发送给第1个转发节点。
子步骤S504:由所述转发节点中的第一个节点至最后一个节点依次解密出所述层级加密的信息中各层级加密的信息,并由最后一个节点根据解密出的下阶段路由信息将所述消息内容进行转发。
具体地,第1个转发节点接收到阶段路径头节点发送的n层的层级加密的信息后,将哈希值列表中本节点与Routing环中其它节点共享的对称密钥的哈希值,分别与接收到的信息中的哈希值进行比较;将比较结果一致的哈希值所对应的密钥,作为解密的密钥对接收到的信息中的加密信息进行解密,获得如下信息:阶段路径头节点之前生成的第n-1层信息,以及阶段路径头节点与本节点共享的对称密钥的哈希值;第1个转发节点根据解密出的密钥的哈希值验证解密信息的正确性;
第1个转发节点在确定解密出的信息中没有明文信息后,将解密出来的信息继续向下一跳节点,即第2个转发节点发送;此外,若解密出的信息中还包括转发延迟参数,则第1个转发节点在根据转发延迟参数进行时间延迟后,再将解密出来的信息继续向下一跳节点发送。
对于n>i>1的情况,第i个转发节点接收到上一跳节点发送的信息后,将哈希值列表中本节点与Routing环中其它节点共享的对称密钥的哈希值,分别与接收到的信息中的哈希值进行比较;将比较结果一致的哈希值所对应的密钥,作为解密的密钥对接收到的信息中的加密信息进行解密,获得如下信息:阶段路径头节点之前生成的第n-i层信息,以及阶段路径头节点与本节点共享的对称密钥的哈希值;第i个转发节点根据解密出的密钥的哈希值验证解密信息的正确性;
第i个转发节点在确定解密出的信息中没有明文信息后,将解密出来的信息继续向下一跳节点,即第i+1个转发节点发送;此外,若解密出的信息中还包括转发延迟参数,则第i个转发节点在根据转发延迟参数进行时间延迟后,再将解密出来的信息继续向下一跳节点发送。
第n个转发节点接收到上一跳节点发送的信息后,将哈希值列表中本节点与Routing环中其它节点共享的对称密钥的哈希值,分别与接收到的信息中的哈希值进行比较;将比较结果一致的哈希值所对应的密钥,作为解密的密钥对接收到的信息中的加密信息进行解密,获得如下信息:待转发的消息内容EMSG、下阶段路由信息RoutInfo、消息脱环转发的标识信息out,以及阶段路径头节点与本节点共享的对称密钥的哈希值;第n个转发节点根据解密出的密钥的哈希值验证解密信息的正确性;
第n个转发节点在确定解密出的信息中具有明文信息,并识别出消息脱环转发的标识信息out后,作为Routing环的ExitNode(出口节点),根据下阶段路由信息RoutInfo将解密的信息向Routing环的环外节点发送。
由于阶段路径的长度n是客户端设定的,因此,Routing环的任一节点均可作为Routing环的ExitNode(出口节点)。
从上述可以看出,本发明构建的Routing环的节点均可承担如下角色:EntryNode(入口节点)、ExitNode(出口节点),以及环上传递信息的节点;且Routing环的任意节点只知道上下游节点的地址信息;环上任意一对节点i和j共享对称密钥;任意节点知道与环上其它节点共享的对称密钥排列顺序,这也意味着节点知道环上的节点个数,以及环上的节点的排列顺序。
也就是说,对于具有r个节点的Routing环,在同一时刻最多可以具有r个EntryNode(入口节点),那么,可以支持最多r个环外的用户通过该Routing环传输数据;因此,相比于现有技术的基于非对等环的网络结构,本发明的Routing环中的节点基于上述的特点,使得Routing环能够实现支持多用户的链路复用,构成了一个由大能量节点组成的公共环;当具有多个环外的用户使用Routing环传输数据的时候,就形成了流量叠加;从而本发明基于Routing环的匿名通信网络可以基于快速的流量叠加,以有效发挥大节点的高带宽、高速处理能力。
上述目录服务器的一种具体的内部结构,如图6所示,包括:环节点选择模块601、非对称密钥生成模块602、对称密钥协助生成模块603、层级加密模块604。
环节点选择模块601用于为待构建的Routing环选择若干节点;
非对称密钥生成模块602用于分别与环节点选择模块601选择的各节点生成非对称密钥,并保存各节点返回的公钥;
对称密钥协助生成模块603用于根据各节点的公钥,协助生成所述Routing环的任意两节点间共享的对称密钥;
层级加密模块604用于利用各节点的公钥生成层级加密数据包,并将所述层级加密数据包发送给所述Routing环的第一个节点,由所述Routing环的第一个节点至最后一个节点依次解密出所述层级加密数据包中各层级加密的信息,获得下一跳节点的地址信息,以使各节点根据获得的下一跳节点的地址信息建立链接形成环形结构的Routing环。
具体地,层级加密模块604可以对于具有r个节点的Routing环,目录服务器根据如下方法生成从第1层至第r层信息,从而得到r层加密的数据包:生成层级加密数据包的第1层信息时,利用Routing环中的最后一个节点的公钥,加密如下信息:Routing环中的最后一个节点在Routing环中的下一跳节点的地址信息、环中最后一个节点的标识信息closedRing、目录服务器生成的随机数nonce,以及Routing环的标识RingID;其中,Routing环中的最后一个节点在Routing环中的下一跳节点,具体为Routing环中的第1个节点;对于r>i>1的情况,生成层级加密数据包的第i层信息时,是利用Routing环中的第r+1-i个节点的公钥,加密如下信息:Routing环中第r+1-i个节点在Routing环中的下一跳节点的地址信息、环中非最后一个节点的标识信息extendRing、Routing环的标识RingID,以及之前生成的第i-1层信息;其中,所述Routing环中第r+1-i个节点在Routing环中的下一跳节点,具体为Routing环中的第r+2-i个节点;在生成层级加密数据包的第r层信息时,利用Routing环中的第1个节点的公钥,加密如下信息:Routing环中第1个节点在Routing环中的下一跳节点的地址信息、环中非最后一个节点的标识信息extendRing、Routing环的标识RingID、所述随机数nonce,以及之前生成的第r-1层信息;其中,Routing环中第1个节点在Routing环中的下一跳节点,具体为Routing环中的第2个节点。
上述目录服务器中各模块的具体功能的实现方法可参考上述图1所示流程中各步骤的方法。
上述客户端的一种具体的内部结构,如图7所示,包括:头节点选择模块701、头节点信息发送模块702。
头节点选择模块701用于选择所述匿名通信网络中的Routing环中的一个节点,作为阶段路径头节点;
头节点信息发送模块702用于利用公布的该节点的公钥加密阶段路径参数、待转发的消息内容、下阶段路由信息,将得到的加密信息发送给所述阶段路径头节点;由所述阶段路径头节点利用本节点的私钥对接收的加密信息进行解密,根据解密得到的阶段路径参数确定所述消息内容在所述Routing环中的转发节点,并利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密后,将层级加密的信息发送给所述转发节点中的第一个节点;进而由所述转发节点中的第一个节点至最后一个节点依次解密出所述层级加密的信息中各层级加密的信息,并由最后一个节点根据解密出的下阶段路由信息将所述消息内容进行转发。
上述客户端中各模块的具体功能的实现方法可参考上述图4b所示流程中各步骤的方法。
上述Routing环中的节点的一种具体的内部结构,如图8所示,包括:环外信息接收模块801、信息转发模块802。
环外信息接收模块801用于利用本节点的私钥对从环外接收到的加密信息进行解密;根据解密得到的阶段路径参数确定所述加密信息在所述Routing环中的转发节点,并利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密后,将层级加密的信息发送给所述转发节点中的第一个节点;
信息转发模块802用于利用与阶段路径头节点共享的对称密钥对从环内上一跳节点接收到的信息进行解密;若解密出明文信息,则根据解密出的明文信息中的下阶段路由信息将解密出的信息向环外转发;若解密出的信息没有明文信息,则将解密出的信息向环内下一跳节点发送。
上述Routing环中节点的各模块的具体功能的实现方法可参考上述图5所示流程中各步骤的方法。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
本发明的技术方案中,在客户端选择所述匿名通信网络中的Routing环中的一个节点,作为阶段路径头节点,利用公布的该节点的公钥加密阶段路径参数、待转发的消息内容、下阶段路由信息,将得到的加密信息发送给所述阶段路径头节点后,所述阶段路径头节点利用本节点的私钥对接收的加密信息进行解密,根据解密得到的阶段路径参数中的阶段路径的长度,确定所述消息内容在所述Routing环中的转发节点,并利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密后,将层级加密的信息发送给所述转发节点中的第一个节点;由所述转发节点中的第一个节点至最后一个节点依次解密出所述层级加密的信息中各层级加密的信息,并由最后一个节点根据解密出的下阶段路由信息将所述消息内容进行转发;相比于现有技术的基于非对等环的网络结构,本发明的Routing环能够实现支持多用户的链路复用,构成了一个由大能量节点组成的公共环;当具有多个环外的用户使用Routing环传输数据的时候,就形成了流量叠加;从而本发明基于Routing环的匿名通信网络可以基于快速的流量叠加,以有效发挥大节点的高带宽、高速处理能力。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于环形架构的匿名通信网络的构建方法,其特征在于,包括:
为待构建的流量聚合环Routing环选择若干节点后,分别与选择的各节点生成非对称密钥,并保存各节点返回的公钥;
根据各节点的公钥,协助生成所述Routing环的任意两节点间共享的对称密钥;
利用各节点的公钥生成层级加密数据包:
对于具有r个节点的Routing环,根据如下方法生成从第1层至第r层信息,从而得到r层加密的数据包:
生成层级加密数据包的第1层信息时,利用Routing环中的最后一个节点的公钥,加密如下信息:Routing环中的最后一个节点在Routing环中的下一跳节点的地址信息、环中最后一个节点的标识信息closedRing、目录服务器生成的随机数nonce,以及Routing环的标识RingID;其中,Routing环中的最后一个节点在Routing环中的下一跳节点,具体为Routing环中的第1个节点;
对于r>i>1的情况,生成层级加密数据包的第i层信息时,是利用Routing环中的第r+1-i个节点的公钥,加密如下信息:Routing环中第r+1-i个节点在Routing环中的下一跳节点的地址信息、环中非最后一个节点的标识信息extendRing、Routing环的标识RingID,以及之前生成的第i-1层信息;其中,所述Routing环中第r+1-i个节点在Routing环中的下一跳节点,具体为Routing环中的第r+2-i个节点;
在生成层级加密数据包的第r层信息时,利用Routing环中的第1个节点的公钥,加密如下信息:Routing环中第1个节点在Routing环中的下一跳节点的地址信息、环中非最后一个节点的标识信息extendRing、Routing环的标识RingID、所述随机数nonce,以及之前生成的第r-1层信息;其中,Routing环中第1个节点在Routing环中的下一跳节点,具体为Routing环中的第2个节点;
将所述层级加密数据包发送给所述Routing环的第一个节点,由所述Routing环的第一个节点至最后一个节点依次解密出所述层级加密数据包中各层级加密的信息,获得下一跳节点的地址信息;
各节点根据获得的下一跳节点的地址信息建立链接形成环形结构的Routing环。
2.根据权利要求1所述的方法,其特征在于,所述由所述Routing环的第一个节点至最后一个节点依次解密出所述层级加密数据包中各层级的加密信息,获得下一跳节点的地址信息,具体包括:
Routing环的第1个节点对所述层级加密数据包中第r层信息进行解密:Routing环的第1个节点利用生成的非对称密钥中的私钥对所述层级加密数据包进行解密,获得如下信息:Routing环的第1个节点的下一跳节点的地址信息、标识信息extendRing、Routing环的标识RingID、所述随机数nonce,以及之前生成的第r-1层信息;
Routing环的第1个节点根据解密出的环中非最后一个节点的标识信息extendRing,依据下一跳节点的地址信息将第r-1层信息继续向Routing环的第1个节点的下一跳节点发送;
对于1<i<r的情况,Routing环的第i个节点对层级加密数据包中第r+1-i层信息进行解密:Routing环的第i个节点利用生成的非对称密钥中的私钥对其进行解密,获得如下信息:Routing环的第i个节点的下一跳节点的地址信息、标识信息extendRing、Routing环的标识RingID,以及之前生成的第r-i层信息;
Routing环的第i个节点根据解密出的标识信息extendRing,依据下一跳节点的地址信息将第r-i层信息继续向Routing环的第i个节点的下一跳节点发送;
Routing环的第r个节点对所述层级加密数据包中第1层信息进行解密:由于第1层信息是由目录服务器通过Routing环的第r个节点的公钥进行加密得到的,因此,Routing环的第r个节点用私钥对其进行解密,从而获得如下信息:Routing环的第r个节点的下一跳节点的地址信息、环中最后一个节点的标识信息closedRing、Routing环的标识以及随机数nonce;
Routing环的第r个节点根据解密出的标识信息closedRing,确定本节点为最后一个节点,存储下一跳节点的地址信息。
3.根据权利要求1-2任一所述的方法,其特征在于,还包括:
将构建的Routing环中各节点的公钥进行公布。
4.一种基于环形架构的匿名通信网络的消息转发方法,其特征在于,包括:
选择所述匿名通信网络中的Routing环中的一个节点,作为阶段路径头节点;
利用公布的该节点的公钥加密阶段路径参数、待转发的消息内容、下阶段路由信息,将得到的加密信息发送给所述阶段路径头节点;
所述阶段路径头节点利用本节点的私钥对接收的加密信息进行解密,根据解密得到的阶段路径参数中的阶段路径的长度,确定所述消息内容在所述Routing环中的转发节点,并利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密:
所述阶段路径头节点在确定转发节点的个数为n后,生成从第1层至第n层信息,从而得到n层的层级加密的信息,其中,从最外层至最内层的加密信息,依次对应于第1个转发节点至最后一个转发节点;
其中,所述阶段路径头节点生成的第1层信息包括:阶段路径头节点与最后一个转发节点共享的对称密钥的哈希值,以及利用与最后一个转发节点共享的对称密钥加密的如下信息:待转发的消息内容EMSG、下阶段路由信息RoutInfo、消息脱环转发的标识信息out,以及阶段路径头节点与最后一个转发节点共享的对称密钥的哈希值;
对于n≥i>1的情况,阶段路径头节点生成的第i层信息包括:阶段路径头节点与第n+1-i个转发节点共享的对称密钥的哈希值,以及利用与第n+1-i个转发节点共享的对称密钥加密的如下信息:第i-1层信息,以及阶段路径头节点与第n+1-i个转发节点共享的对称密钥的哈希值;
所述阶段路径头节点将层级加密的信息发送给所述转发节点中的第一个节点;
由所述转发节点中的第一个节点至最后一个节点依次解密出所述层级加密的信息中各层级加密的信息,并由最后一个节点根据解密出的下阶段路由信息将所述消息内容转发至环外。
5.根据权利要求4所述的方法,其特征在于,所述由所述转发节点中的第一个节点至最后一个节点依次解密出所述层级加密的信息中各层级加密的信息,并由最后一个节点根据解密出的下阶段路由信息将所述消息内容转发至环外,具体包括:
第1个转发节点接收到阶段路径头节点发送的n层的层级加密的信息后,将哈希值列表中本节点与Routing环中其它节点共享的对称密钥的哈希值,分别与接收到的信息中的哈希值进行比较;将比较结果一致的哈希值所对应的密钥,作为解密的密钥对接收到的信息中的加密信息进行解密,获得如下信息:第n-1层信息,以及阶段路径头节点与本节点共享的对称密钥的哈希值;第1个转发节点根据解密出的密钥的哈希值验证解密信息的正确性;第1个转发节点在确定解密出的信息中没有明文信息后,将解密出来的信息继续向下一跳节点发送;
对于n>i>1的情况,第i个转发节点接收到上一跳节点发送的信息后,将哈希值列表中本节点与Routing环中其它节点共享的对称密钥的哈希值,分别与接收到的信息中的哈希值进行比较;将比较结果一致的哈希值所对应的密钥,作为解密的密钥对接收到的信息中的加密信息进行解密,获得如下信息:第n-i层信息,以及阶段路径头节点与本节点共享的对称密钥的哈希值;第i个转发节点根据解密出的密钥的哈希值验证解密信息的正确性;第i个转发节点在确定解密出的信息中没有明文信息后,将解密出来的信息继续向下一跳节点发送;
第n个转发节点接收到上一跳节点发送的信息后,将哈希值列表中本节点与Routing环中其它节点共享的对称密钥的哈希值,分别与接收到的信息中的哈希值进行比较;将比较结果一致的哈希值所对应的密钥,作为解密的密钥对接收到的信息中的加密信息进行解密,获得如下信息:待转发的消息内容EMSG、下阶段路由信息RoutInfo、消息脱环转发的标识信息out,以及阶段路径头节点与本节点共享的对称密钥的哈希值;第n个转发节点根据解密出的密钥的哈希值验证解密信息的正确性;第n个转发节点在确定解密出的信息中具有明文信息,并识别出消息脱环转发的标识信息out后,根据下阶段路由信息RoutInfo将解密的信息向Routing环的环外节点发送。
6.一种目录服务器,其特征在于,包括:
环节点选择模块,用于为待构建的Routing环选择若干节点;
非对称密钥生成模块,用于分别与选择的各节点生成非对称密钥,并保存各节点返回的公钥;
对称密钥协助生成模块,用于根据各节点的公钥,协助生成所述Routing环的任意两节点间共享的对称密钥;
层级加密模块,用于利用各节点的公钥生成层级加密数据包:对于具有r个节点的Routing环,根据如下方法生成从第1层至第r层信息,从而得到r层加密的数据包:生成层级加密数据包的第1层信息时,利用Routing环中的最后一个节点的公钥,加密如下信息:Routing环中的最后一个节点在Routing环中的下一跳节点的地址信息、环中最后一个节点的标识信息closedRing、目录服务器生成的随机数nonce,以及Routing环的标识RingID;其中,Routing环中的最后一个节点在Routing环中的下一跳节点,具体为Routing环中的第1个节点;对于r>i>1的情况,生成层级加密数据包的第i层信息时,是利用Routing环中的第r+1-i个节点的公钥,加密如下信息:Routing环中第r+1-i个节点在Routing环中的下一跳节点的地址信息、环中非最后一个节点的标识信息extendRing、Routing环的标识RingID,以及之前生成的第i-1层信息;其中,所述Routing环中第r+1-i个节点在Routing环中的下一跳节点,具体为Routing环中的第r+2-i个节点;在生成层级加密数据包的第r层信息时,利用Routing环中的第1个节点的公钥,加密如下信息:Routing环中第1个节点在Routing环中的下一跳节点的地址信息、环中非最后一个节点的标识信息extendRing、Routing环的标识RingID、所述随机数nonce,以及之前生成的第r-1层信息;其中,Routing环中第1个节点在Routing环中的下一跳节点,具体为Routing环中的第2个节点;将所述层级加密数据包发送给所述Routing环的第一个节点,由所述Routing环的第一个节点至最后一个节点依次解密出所述层级加密数据包中各层级加密的信息,获得下一跳节点的地址信息,以使各节点根据获得的下一跳节点的地址信息建立链接形成环形结构的Routing环。
7.一种客户端,其特征在于,包括:
头节点选择模块,用于选择匿名通信网络中的Routing环中的一个节点,作为阶段路径头节点;
头节点信息发送模块,用于利用公布的该节点的公钥加密阶段路径参数、待转发的消息内容、下阶段路由信息,将得到的加密信息发送给所述阶段路径头节点;由所述阶段路径头节点利用本节点的私钥对接收的加密信息进行解密,根据解密得到的阶段路径参数确定所述消息内容在所述Routing环中的转发节点,并利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密后,将层级加密的信息发送给所述转发节点中的第一个节点;进而由所述转发节点中的第一个节点至最后一个节点依次解密出所述层级加密的信息中各层级加密的信息,并由最后一个节点根据解密出的下阶段路由信息将所述消息内容进行转发。
8.一种Routing环中的节点,其特征在于,包括:
环外信息接收模块,用于利用本节点的私钥对从环外接收到的加密信息进行解密;根据解密得到的阶段路径参数确定所述加密信息在所述Routing环中的转发节点,并利用分别与各转发节点共享的对称密钥将解密得到的信息进行层级加密后,将层级加密的信息发送给所述转发节点中的第一个节点;
信息转发模块,用于利用与阶段路径头节点共享的对称密钥对从环内上一跳节点接收到的信息进行解密;若解密出明文信息,则根据解密出的明文信息中的下阶段路由信息将解密出的信息向环外转发;若解密出的信息没有明文信息,则将解密出的信息向环内下一跳节点发送。
CN202010699556.XA 2020-07-20 2020-07-20 基于环形架构的匿名通信网络的构建、消息转发方法 Active CN111970244B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010699556.XA CN111970244B (zh) 2020-07-20 2020-07-20 基于环形架构的匿名通信网络的构建、消息转发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010699556.XA CN111970244B (zh) 2020-07-20 2020-07-20 基于环形架构的匿名通信网络的构建、消息转发方法

Publications (2)

Publication Number Publication Date
CN111970244A CN111970244A (zh) 2020-11-20
CN111970244B true CN111970244B (zh) 2022-06-03

Family

ID=73362184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010699556.XA Active CN111970244B (zh) 2020-07-20 2020-07-20 基于环形架构的匿名通信网络的构建、消息转发方法

Country Status (1)

Country Link
CN (1) CN111970244B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572727B (zh) * 2021-06-08 2023-04-28 深圳市国电科技通信有限公司 一种基于p2p网络路由节点的数据安全隐蔽传输方法及系统
CN114285593B (zh) * 2021-11-08 2024-03-29 深圳市联洲国际技术有限公司 构建安全局域网协议的方法、装置、设备及存储介质
CN114244562B (zh) * 2021-11-11 2024-10-11 中国南方电网有限责任公司 信息传输方法、装置、计算机设备和存储介质
CN114338127B (zh) * 2021-12-24 2024-02-09 天融信雄安网络安全技术有限公司 匿名通信的数据传输方法及装置、电子设备、存储介质
CN114051236B (zh) * 2022-01-12 2022-04-12 华东交通大学 基于重路由机制的匿名通信方法、系统、介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546635A (zh) * 2012-01-10 2012-07-04 北京邮电大学 一种匿名通信路径选择方法及网络节点
CN102694647A (zh) * 2011-03-25 2012-09-26 株式会社东芝 节点和组密钥更新方法
CN105357113A (zh) * 2015-10-26 2016-02-24 南京邮电大学 一种基于重路由匿名通信路径的构建方法
CN105553827A (zh) * 2015-12-10 2016-05-04 北京理工大学 一种匿名网络中兼顾匿名性与通信时延的消息转发方法
CN109698791A (zh) * 2018-11-29 2019-04-30 北京天元特通科技有限公司 一种基于动态路径的匿名接入方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2410522C (en) * 2000-06-30 2010-01-26 Andrea Soppera Packet data communications
CN106453428A (zh) * 2016-12-15 2017-02-22 中国科学院上海微系统与信息技术研究所 一种适用于manet网络层的匿名安全通信方法
CN106936833B (zh) * 2017-03-15 2020-08-11 广东工业大学 一种基于混合加密和匿名群的内容中心网络隐私保护方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102694647A (zh) * 2011-03-25 2012-09-26 株式会社东芝 节点和组密钥更新方法
CN102546635A (zh) * 2012-01-10 2012-07-04 北京邮电大学 一种匿名通信路径选择方法及网络节点
CN105357113A (zh) * 2015-10-26 2016-02-24 南京邮电大学 一种基于重路由匿名通信路径的构建方法
CN105553827A (zh) * 2015-12-10 2016-05-04 北京理工大学 一种匿名网络中兼顾匿名性与通信时延的消息转发方法
CN109698791A (zh) * 2018-11-29 2019-04-30 北京天元特通科技有限公司 一种基于动态路径的匿名接入方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
匿名资源发布策略用户区分性的研究;赵文超;《2011年全国通信安全学术会议论文集》;20110801;全文 *
匿名通信技术研究进展;罗熹;《网络安全技术与应用》;20080915;全文 *

Also Published As

Publication number Publication date
CN111970244A (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
CN111970244B (zh) 基于环形架构的匿名通信网络的构建、消息转发方法
EP3289727B1 (en) Network path proof of transit using in-band metadata
Hsiao et al. LAP: Lightweight anonymity and privacy
CN106330434B (zh) 第一量子节点、第二量子节点、安全通信架构系统及方法
CN111970243B (zh) 匿名通信网络中多阶段路由的消息转发方法
Prasad et al. Software–defined networking based secure rout-ing in mobile ad hoc network
Khan et al. Energy efficient partial permutation encryption on network coded MANETs
Kuo et al. Dynamic routing with security considerations
Bajic et al. dPHI: An improved high-speed network-layer anonymity protocol
Vakde et al. EnPassant: anonymous routing for disruption‐tolerant networks with applications in assistive environments
Kita et al. Producer anonymity based on onion routing in named data networking
CN111970247B (zh) 匿名通信网络中对等环的混淆消息发送方法
Alzahrani et al. Key management in information centric networking
Landsiedel et al. Dynamic multipath onion routing in anonymous peer-to-peer overlay networks
El Mougy et al. Preserving privacy in wireless sensor networks using onion routing
Chakrabarty et al. Black routing and node obscuring in IoT
Nunes et al. Namespace tunnels in content-centric networks
Alouneh et al. A Multiple LSPs Approach to Secure Data in MPLS Networks.
Vaidya et al. Security mechanism for voice over multipath mobile ad hoc networks
Al-Muhtadi et al. Routing through the mist: design and implementation
Sabra et al. Preserving anonymity and quality of service for VoIP applications over hybrid networks
Buccafurri et al. Extending routes in tor to achieve recipient anonymity against the global adversary
Kramer et al. Recent Advancements in Privacy Preserving Network Layer Approaches
Rajendran et al. Secure anonymous routing in ad hoc networks
Mehic et al. Quantum Key Distribution 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