CN110289959A - 一种使用公告板的双向匿名秘密通信协议 - Google Patents
一种使用公告板的双向匿名秘密通信协议 Download PDFInfo
- Publication number
- CN110289959A CN110289959A CN201910602528.9A CN201910602528A CN110289959A CN 110289959 A CN110289959 A CN 110289959A CN 201910602528 A CN201910602528 A CN 201910602528A CN 110289959 A CN110289959 A CN 110289959A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- transit
- bulletin
- key
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提出了一种使用公告板的双向匿名秘密通信协议。采用使用公告板的双向匿名秘密通信协议,能实现隐藏通信双方的身份隐私。使用公告板的双向匿名秘密通信协议不需要提前建立链路,避免了路由路径上节点建好链路后节点故障而引起的通信失败。在整个通信过程中所有节点都是对等,也就是说整个路由路径中不依靠某些特殊的节点,不会引起节点自私行为。即使在某一个中转节点遭到攻击的情况下,攻击者也难以推断出发送者和接收者的位置信息和整个通信的路由信息。本发明还采用了时间戳技术,能有效的解决第三方使用截获到的请求信息进行重复请求操作而引起的网络开销的增加的问题。该模型能很好地适应拓扑结构动态变化的网络,具有较好的健壮性。
Description
技术领域
本发明属于计算机技术领域,涉及一种使用公告板的双向匿名秘密通信协议。
背景技术
目前比较成熟的密码技术能够通过加密信息的方式隐藏网络通信中信息的内容,可以较好地保证网络中传输信息内容的安全性,却不能隐藏通信过程中发送节点或接收节点的身份信息和位置信息。为了实现对网络节点或用户身份的保护,研究网络通信中的匿名通信技术以及其在大规模网络中的实现、性能表现等越来越重要。关于匿名通信的研究,大部分都是关于单向匿名,比如发送节点匿名,接收节点公开。而对于使用双向匿名秘密通信技术来隐藏通信双方的身份的研究比较少。
对于双向匿名秘密通信技术的研究,有一种方法是用Crowds、Tor(洋葱路由)和组播相结合来实现双向匿名秘密通信。发送节点发送的信息先经过Crowds的随机转发,再通过Tor转发,最后组播给接收节点,实现了双向匿名秘密通信。但是这种方法需要在发送数据前建立安全链接,通信结束后需要进行链路的拆除。另外一种方法是基于秘密共享的思想,结合MIX、Crowds和组播技术实现P2P混合匿名通信。该匿名通信系统内各节点可以是发送节点、接收节点和服务者三种角色,发送节点基于秘密共享的思想,将信息加密分片,采用MIX和Crowds技术在多条链路上发送,在各链路最后一节点,通过组播技术发送到接收节点所在的多播组。返回信息由接收节点采用同样的方式走不同路径到达发送节点所在的多播组。但是这种方案容易出现节点自私引起匿名滥用行为。
发明内容
本发明的目的在于提供一种使用公告板的双向匿名秘密通信协议。该协议主要使用了AES+RSA混合加密技术、随机选择节点转发消息策略、一个公告板特殊节点和时间戳技术来实现发送节点和接收节点双方匿名通信。
其具体技术方案为:
一种使用公告板的双向匿名秘密通信协议,发送节点A要发送一消息给接受节点B,发送节点A首先构造数据报(消息密文,报文标识),并把该数据报匿名发送给公告板节点。消息发送过程中,通过AES算法和RSA算法相结合的进行嵌套加密,并以一定的概率随机选择不少于一个的中转节点来转发消息,中转节点只对消息的最外层进行解密操作。公告板节点收到数据报后,只把报文标识公布到所维护的一个公告板上。接收节点B检索公告板上的报文标识,检索到有发给自己的数据报后。接收节点B匿名发送包含有报文标识的消息给公告板节点,要求公告板节点将该报文标识对应的数据报消息回复过来,匿名发送的方法与发送节点A发送数据报给公告板节点方法相同。公告板节点收到接收节点B发送的消息后,将消息中报文标识所对应的数据报回复给接收节点B,返回时根据路由表的记录按原路径返回。接收节点B收到数据报后,进行解密得到发送节点A要发送的信息。
进一步,所述通信协议的初始化条件为:
(1)所有节点都有一个唯一的ID号。
(2)每一个节点包括公告板都加入一个公开密钥系统。公开密钥与ID号是一一对应的,但是与节点的真实身份或者IP地址或者地理位置无关。
(3)公告板节点是一个特殊节点,它的地址和身份都是公开的。公告板节点维护一个公告板,公告板是对所有节点开放的一个公共信息集。
(4)只有当接收节点在公告板上解密报文标识得到的ID号为自己的ID号时,才对消息密文进行解密操作。
进一步,通信过程的详细步骤为:
Step1:
发送节点A选择一个基于AES算法的对称密钥K0,然后,它构造数据报DM(消息密文,报文标识)。其中消息密文是使用接收节点B的公开密钥PKB加密消息CM得到的,CM是初始消息加上节点B的对称密钥K0;报文标识是使用接收节点B的公开密钥PKB加密报文(其中报文是B的ID号和时间戳组合)得到的一个密文字符串。
Setp2:
发送节点A将数据报匿名发送到公告板节点BBS;
Step3:
公告板节点将根据Step2中解密得到的所有数据报中的报文标识在公告板上发布。接收节点B查看公告板,并使用自己的私有密钥SKB逐个解密报文标识。若是解密成功,并发现解密的结果是自己的ID号,则表明检索到有发送给自己的数据报信息,然后执行Step4。否则,节点B继续检索。
Step4:
接收节点B匿名发送信息SM(SM中包含解密成功所对应的报文标识)给公告板节点BBS,要求公告板节点将该报文标识对应的数据报消息回复过来。其匿名发送消息的方法同Step2中。
Step5:
公告板节点将数据报DM匿名发送到接收节点B。
(1)公告板节点发送回复数据报给接收节点B。公告板节点根据自己路由表中的序列号和对应的IP地址,确定应返回给中转节点BN。发送的回复消息包含两个部分:第一部分是使用解密得到的接收节点B的对称密钥K0加密数据报,并将加密内容和序列号(该序列号和Step4中序列号相同)组合在一起,然后用对称密钥KBBS对该组合进行加密;第二部分是用中转节点BN的公开密钥PKN加密对称密钥KBBS。公告板节点将该回复消息发送给中转节点BN。
(2)中转节点BN收到消息后,用中转节点BN的私有密钥SKN解密得到对称密钥KBBS,利用解密得到的KBBS将消息的第一部分解密得到加密内容和序列号。中转节点BN根据路由表中序列号和对应的IP地址,确认应返回给中转节点BN-1。中转节点BN用对称密钥KN对加密内容和序列号进行加密,并用中转节点BN-1的公开密钥PKN-1加密对称密钥KN。中转节点BN将该回复消息发送给中转节点BN-1,同时删除路由表中该项记录。
(3)中转节点BN-1收到该回复消息后,重复中转节点BN的过程。以此类推,直到接收节点B收到消息。
(4)接收节点B收到该回复消息后,用接收节点B的私有密钥SKB解密得到对称密钥K1,利用解密得到的K1解密得到加密内容和序列号。接收节点B再用本身的对称密钥K0对加密内容进行解密得到数据报。
Step6:
接收节点B根据Step5获得解密得到数据报,使用私有密钥SKB解密报文标识得到接收节点B的ID号和时间戳,继续使用自己的私有密钥SKB解密消息密文得到消息CM。
到此为止,节点B收到节点A发送给它的消息。若节点B要发送消息给节点A,则重复节点A的操作。
进一步,Setp2的详细步骤为:
(1)发送节点A发送数据报给公告板节点。发送的请求信息包含三个部分:第一部分是发送节点A用对称密钥K0加密数据报,并将加密内容和序列号组合在一起,然后用第二个对称密钥K1对该组合进行加密;第二部分是用公告板的公开密钥PKBBS加密对称密钥K0;第三部分是发送节点A随机选取一个不同于公告板节点和发送节点的中转节点A1,然后用中转节点A1的公开密钥PK1加密对称密钥K1。发送节点A将请求信息发送给中转节点A1。
(2)中转节点A1收到消息后,用A1的私有密钥SK1解密得到发送节点的对称密钥K1,利用解密得到的K1解密请求消息的第一部分得到序列号。中转节点A1将序列号和发送节点的IP地址存入路由表中,并更新路由表。中转节点A1以Pf的概率将消息发送给不同于A和A1的中转节点A2,或者以概率1-Pf将消息发送给公告板节点。若是发送给中转节点A2,则执行(3);否则,执行(4)。
(3)若是选择发送给中转节点A2。中转节点A1用对称密钥K2对加密内容和序列号进行加密,请求信息的第二部分内容保持不变,再用选出的中转节点A2的公开密钥PK2加密对称密钥K2。中转节点A1将请求信息发送给中转节点A2。中转节点A2收到消息后,重复中转节点A1的工作。以此类推,直到某个中转节点AM决定将请求消息发送给公告板节点。然后执行(4)。
(4)若是选择发送给公告板节点。中转节点AM用对称密钥KBBS对加密内容和序列号进行加密,请求消息的第二部分内容保持不变,再用公告板节点的公开密钥PKBBS加密对称密钥KBBS。中转节点AM将请求消息发送给公告板节点。公告板节点收到消息后,用公告板节点的私有密钥SKBBS解密得到上一中转节点的对称密钥KBBS和发送节点的第一个对称密钥K0,利用解密得到的KBBS和K0解密请求消息的第一部分得到序列号和数据报。公告板节点将序列号和上一中转节点的IP地址存入路由表中,并更新路由表。
进一步,Step4具体为:接收节点B匿名发送信息SM(SM中包含解密成功所对应的报文标识)给公告板节点BBS,要求公告板节点将该报文标识对应的数据报消息回复过来,其详细步骤:
(1)接收节点B发送消息给公告板节点。发送的请求消息包含三个部分:第一部分是接收节点B用对称密钥K0加密信息SM,并将加密内容和序列号组合在一起,然后用第二个对称密钥K1对该组合进行加密;第二部分是用公告板节点的公开密钥PKBBS加密对称密钥K0;第三部分是接收节点B随机选取一个不同于公告板节点和发送节点的中转节点B1,然后用中转节点B1的公开密钥PK1加密对称密钥K1。发送节点将请求信息发送给中转节点B1。
(2)中转节点B1收到消息后,用B1的私有密钥SK1解密得到发送节点的对称密钥K1,利用解密得到的K1解密请求消息的第一部分得到序列号。中转节点B1将序列号和发送节点的IP地址存入路由表中,并更新路由表。中转节点B1以Pf的概率将消息发送给不同于B0和B1的中转节点B2,或者以概率1-Pf将消息发送给公告板节点。若是发送给中转节点B2,则执行(2);否则,执行(3)。
(3)若是选择发送给中转节点B2。中转节点B1用对称密钥K2对加密内容和序列号进行加密,请求信息的第二部分内容保持不变,再用选出的中转节点B2的公开密钥PK2加密对称密钥K2。中转节点B1将请求信息发送给中转节点B2。中转节点B2收到消息后,重复中转节点B1的工作。以此类推,直到某个中转节点Bn决定将请求消息发送给公告板节点。然后执行(4)。
(4)若是选择发送给公告板节点。中转节点Bn用对称密钥KBBS对加密内容和序列号进行加密,请求消息的第二部分内容保持不变,再用公告板节点的公开密钥PKBBS加密对称密钥KBBS。中转节点Bn将请求消息发送给公告板节点。公告板节点收到消息后,用公告板节点的私有密钥SKBBS解密得到上一中转节点的对称密钥KBBS和发送节点的第一个对称密钥K0,利用解密得到的KBBS和K0解密请求消息的第一部分得到序列号和信息SM。公告板节点将序列号和上一中转节点的IP地址存入路由表中,并更新路由表。公告板节点根据收到的信息SM,确认发送对应报文标识的数据报信息,执行Step5。
与现有技术相比,本发明的有益效果:
(1)已有的匿名通信协议中,大多数实现的是发送节点匿名,能实现接收节点匿名的很少,而达到理想的双向匿名通信的方案更是屈指可数。有一些实现双向匿名的方案,例如Tor模型和Clowds模型的混合协议等,其过程非常复杂,中间需要经过很多步骤,还需要不同系统之间的结合,导致协议效率较低,通信时延很长,而且安全隐患较多。本发明是一个双向匿名秘密通信协议,可以有效地保护通信双方的身份隐私,而且时延显著减小,通信效率比较高。另一方面,由于协议的步骤简洁清晰,通过分析很容易找到并消除可能的安全漏洞,大大提高了安全性。
(2)本发明提出的使用公告板的双向匿名秘密通信协议实现了最大程度的匿名性:接收节点不可能获知发送节点的身份信息和位置信息;发送节点不可能获知接收节点的身份信息和位置信息;任意的中转节点都不可能获知发送节点或者接收节点的身份信息和位置信息,甚至所有的中转节点合谋,仍然无法获知发送节点或者接收节点的身份信息和位置信息;任意的第三方攻击者无法获知发送节点或者接收节点的身份信息和位置信息,即使它本身恰好也被选为中转节点也不行。
(3)本发明提出的使用公告板的双向匿名秘密通信协议中,每一次通信中转发消息的中转节点都是随机选择的,可以是网络中任何一个(正常工作)的节点,也就是说整个路由路径中不依靠某些特殊的节点,不会出现大量数据通过某些节点传输导致的性能瓶颈,也不会因为部分节点的故障导致通信中断。因此,本协议具有极好的健壮性。这是本协议相对于以前的匿名通信协议的最大的优越之处。
(4)本发明提出的使用公告板的双向匿名秘密通信协议不需要提前建立链路,避免了路由路径上节点建好链路后节点故障而引起的通信失败。而在传统的洋葱路由和Clowds系统中,类似的故障往往很难被发现,而且排除故障恢复工作也费时费力、代价高昂。
(5)流量分析攻击对于传统的使用固定通信链路的匿名通信协议(例如Tor系统、Clowds系统等)是一大威胁,攻击者在较长的一段时间内检测网络中的通过各节点的通信流量,分析其数据流向,从而可以获取消息的传输链路的信息,从而顺藤摸瓜找到发送节点和接收节点。本发明提出的匿名通信协议中,每一次通信中转发消息的中转节点都是随机选择的,所以每一次通信的消息传输链路都是随机产生的,没有任何规律性。因此流量分析攻击是无效的。这是本协议的另一个重要的优势。
(6)假定攻击者可以攻破某个中转节点,获得该节点的全部信息及消息转发记录,它也只能得知消息转发路径上的前一节点和后一个节点,无法由此推出整条消息转发路径以及发送节点和接收节点。即使攻击者能够沿着消息转发路径逐个攻破所有的中转节点(在现实中,这个概率是极其小的,接近于零),它仍然无法找到发送节点或者接收节点。因此,本发明提出的匿名通信协议可以有效地抵御外来的入侵攻击和内部的恶意节点攻击。
(7)本发明还采用了时间戳技术,可以有效的解决第三方使用截获到的请求信息进行重复请求操作而引起的网络开销的增加的问题。该模型可以很好地适应拓扑结构动态变化的网络,具有较好的健壮性。
(8)本发明可以实现发送节点和接收节点之间的秘密通信,除了发送节点和接受节点之外,任意第三方都不可能得到初始的消息明文。发送节点在发送消息之前使用接收节点的公开密钥加密了消息再发送给出去。只有接收节点可以用自己的私有密钥解密才能解密得到消息明文。任意的中转节点中都不拥有接收节点的私有密钥,所以不可能解密得到初始消息明文。同样的,任意的攻击者也不拥有接收节点的私有密钥,所以它即使截获了在传输中的消息密文,也同样无法得到消息明文。
附图说明
图1本发明的基本流程图。
图2为向公告板节点发送消息时,中转节点的操作流程图。
图3为公告板节点回复消息时,中转节点的操作流程图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步详细地说明。
参照图1-图3,本发明中发送节点A要发送一消息给接受节点B,发送节点A首先构造数据报(消息密文,报文标识),并把该数据报匿名发送给公告板节点。消息发送过程中,通过AES算法和RSA算法相结合的进行嵌套加密,并以一定的概率随机选择不少于一个的中转节点来转发消息,中转节点只对消息的最外层进行解密操作。公告板节点收到数据报后,只把报文标识公布到所维护的一个公告板上。接收节点B检索公告板上的报文标识,检索到有发给自己的数据报后。接收节点B匿名发送包含有报文标识的消息给公告板节点,要求公告板节点将该报文标识对应的数据报消息回复过来,匿名发送的方法与发送节点A发送数据报给公告板节点方法相同。公告板节点收到接收节点B发送的消息后,将消息中报文标识所对应的数据报回复给接收节点B,返回时根据路由表的记录按原路径返回。接收节点B收到数据报后,进行解密得到发送节点A要发送的信息。
1初始化条件
(1)所有节点都有一个唯一的ID号。
(2)每一个节点包括公告板都加入一个公开密钥系统。公开密钥与ID号是一一对应的,但是与节点的真实身份或者IP地址或者地理位置无关。
(3)公告板节点是一个特殊节点,它的地址和身份都是公开的。公告板节点维护一个公告板,公告板是对所有节点开放的一个公共信息集。
(4)只有当接收节点在公告板上解密报文标识得到的ID号为自己的ID号时,才对消息密文进行解密操作。(这样是考虑到发送节点未发送到公告板节点时,中间随机选取的某个节点刚好选到了接受节点,接受节点对其进行多次解密得到要发送消息的内容,就用不到公告板了)
2通信的过程
某一发送节点A只知道接收节点B的ID号,却不知道节点B的IP地址及身份信息和位置信息。发送节点A若要匿名发送一个消息CM给接收节点B,其详细的步骤如下:
Step1:
发送节点A构造数据报DM(消息密文,报文标识)。其中消息密文是使用接收节点B的公开密钥PKB加密消息CM得到的;报文标识是使用接收节点B的公开密钥PKB加密报文(其中报文是B的ID号和时间戳组合)得到的一个密文字符串。
Setp2:
发送节点A将数据报匿名发送到公告板节点BBS,其详细步骤:
(1)发送节点A发送数据报给公告板节点。发送的请求信息包含三个部分:第一部分是发送节点A用对称密钥K0加密数据报,并将加密内容和序列号组合在一起,然后用第二个对称密钥K1对该组合进行加密;第二部分是用公告板的公开密钥PKBBS加密对称密钥K0;第三部分是发送节点A随机选取一个不同于公告板节点和发送节点的中转节点A1,然后用中转节点A1的公开密钥PK1加密对称密钥K1。发送节点A将请求信息发送给中转节点A1。
(2)中转节点A1收到消息后,用A1的私有密钥SK1解密得到发送节点的对称密钥K1,利用解密得到的K1解密请求消息的第一部分得到序列号。中转节点A1将序列号和发送节点的IP地址存入路由表中,并更新路由表。中转节点A1以Pf的概率将消息发送给不同于A和A1的中转节点A2,或者以概率1-Pf将消息发送给公告板节点。若是发送给中转节点A2,则执行(3);否则,执行(4)。
(3)若是选择发送给中转节点A2。中转节点A1用对称密钥K2对加密内容和序列号进行加密,请求信息的第二部分内容保持不变,再用选出的中转节点A2的公开密钥PK2加密对称密钥K2。中转节点A1将请求信息发送给中转节点A2。中转节点A2收到消息后,重复中转节点A1的工作。以此类推,直到某个中转节点AM决定将请求消息发送给公告板节点。然后执行(4)。
(4)若是选择发送给公告板节点。中转节点AM用对称密钥KBBS对加密内容和序列号进行加密,请求消息的第二部分内容保持不变,再用公告板节点的公开密钥PKBBS加密对称密钥KBBS。中转节点AM将请求消息发送给公告板节点。公告板节点收到消息后,用公告板节点的私有密钥SKBBS解密得到上一中转节点的对称密钥KBBS和发送节点的第一个对称密钥K0,利用解密得到的KBBS和K0解密请求消息的第一部分得到序列号和数据报。公告板节点将序列号和上一中转节点的IP地址存入路由表中,并更新路由表。
Step3:
公告板节点将根据Step2中解密得到的所有数据报中的报文标识在公告板上发布。接收节点B查看公告板,并使用自己的私有密钥SKB逐个解密报文标识。若是解密成功,并发现解密的结果是自己的ID号,则表明检索到有发送给自己的数据报信息,然后执行Step4。否则,节点B继续检索。
Step4:
接收节点B匿名发送信息SM(SM中包含解密成功所对应的报文标识)给公告板节点BBS,要求公告板节点将该报文标识对应的数据报消息回复过来。其匿名发送消息的方法同Step2中。
接收节点B匿名发送信息SM(SM中包含解密成功所对应的报文标识)给公告板节点BBS,要求公告板节点将该报文标识对应的数据报消息回复过来,其详细步骤:
(1)接收节点B发送消息给公告板节点。发送的请求消息包含三个部分:第一部分是接收节点B用对称密钥K0加密信息SM,并将加密内容和序列号组合在一起,然后用第二个对称密钥K1对该组合进行加密;第二部分是用公告板节点的公开密钥PKBBS加密对称密钥K0;第三部分是接收节点B随机选取一个不同于公告板节点和发送节点的中转节点B1,然后用中转节点B1的公开密钥PK1加密对称密钥K1。发送节点将请求信息发送给中转节点B1。
(2)中转节点B1收到消息后,用B1的私有密钥SK1解密得到发送节点的对称密钥K1,利用解密得到的K1解密请求消息的第一部分得到序列号。中转节点B1将序列号和发送节点的IP地址存入路由表中,并更新路由表。中转节点B1以Pf的概率将消息发送给不同于B0和B1的中转节点B2,或者以概率1-Pf将消息发送给公告板节点。若是发送给中转节点B2,则执行(2);否则,执行(3)。
(3)若是选择发送给中转节点B2。中转节点B1用对称密钥K2对加密内容和序列号进行加密,请求信息的第二部分内容保持不变,再用选出的中转节点B2的公开密钥PK2加密对称密钥K2。中转节点B1将请求信息发送给中转节点B2。中转节点B2收到消息后,重复中转节点B1的工作。以此类推,直到某个中转节点Bn决定将请求消息发送给公告板节点。然后执行(4)。
(4)若是选择发送给公告板节点。中转节点Bn用对称密钥KBBS对加密内容和序列号进行加密,请求消息的第二部分内容保持不变,再用公告板节点的公开密钥PKBBS加密对称密钥KBBS。中转节点Bn将请求消息发送给公告板节点。公告板节点收到消息后,用公告板节点的私有密钥SKBBS解密得到上一中转节点的对称密钥KBBS和发送节点的第一个对称密钥K0,利用解密得到的KBBS和K0解密请求消息的第一部分得到序列号和信息SM。公告板节点将序列号和上一中转节点的IP地址存入路由表中,并更新路由表。公告板节点根据收到的信息SM,确认发送对应报文标识的数据报信息,执行Step5。
Step5:
公告板节点将数据报DM匿名发送到接收节点B。
(2)公告板节点发送回复数据报给接收节点B。公告板节点根据自己路由表中的序列号和对应的IP地址,确定应返回给中转节点BN。发送的回复消息包含两个部分:第一部分是使用解密得到的接收节点B的对称密钥K0加密数据报,并将加密内容和序列号(该序列号和Step4中序列号相同)组合在一起,然后用对称密钥KBBS对该组合进行加密;第二部分是用中转节点BN的公开密钥PKN加密对称密钥KBBS。公告板节点将该回复消息发送给中转节点BN。
(2)中转节点BN收到消息后,用中转节点BN的私有密钥SKN解密得到对称密钥KBBS,利用解密得到的KBBS将消息的第一部分解密得到加密内容和序列号。中转节点BN根据路由表中序列号和对应的IP地址,确认应返回给中转节点BN-1。中转节点BN用对称密钥KN对加密内容和序列号进行加密,并用中转节点BN-1的公开密钥PKN-1加密对称密钥KN。中转节点BN将该回复消息发送给中转节点BN-1,同时删除路由表中该项记录。
(3)中转节点BN-1收到该回复消息后,重复中转节点BN的过程。以此类推,直到接收节点B收到消息。
(4)接收节点B收到该回复消息后,用接收节点B的私有密钥SKB解密得到对称密钥K1,利用解密得到的K1解密得到加密内容和序列号。接收节点B再用本身的对称密钥K0对加密内容进行解密得到数据报。
Step6:
接收节点B根据Step5获得解密得到数据报,使用私有密钥SKB解密报文标识得到接收节点B的ID号和时间戳,继续使用自己的私有密钥SKB解密消息密文得到消息CM。
到此为止,节点B收到节点A发送给它的消息。若节点B要发送消息给节点A,则重复节点A的操作。
实施例1匿名性分析
使用公告板的双向匿名秘密通信协议,可以实现隐藏通信双方的身份隐私。
定理1接收节点无法获得发送节点的身份信息和位置信息。
证明1:
本发明中采用了公告板这一特殊节点,发送节点发送消息是发送给公告板节点的,并不是直接发送给接收节点的。发送的加密数据中没有发送节点的身份信息,接收节点只能收到公告板节点中发布的报文标识,而报文标识中不含有发送节点的身份信息。因此接收节点对发送节点的身份信息和位置信息一无所知。另一方面,定理3证明了公告板节点也不可能获知发送节点的身份信息和位置信息,所以,接收节点即使与公告板节点合谋,仍然无法获得发送节点的身份信息和位置信息。
定理2发送节点不知道接收节点的身份信息和位置信息。
证明2:
发送节点构成数据报发送给公告板节点,数据报中包含了使用接收节点的公钥加密接收节点的ID号所形成的加密消息。而接收节点是通过解密公告板上的报文标识来确定该消息是否是发送给自己的,因此发送节点在不知道接收节点的身份信息时,它发送的消息仍然是可以被接收节点收到的。而接收节点接收数据的过程只是与公告板节点通信,与发送节点无关,所以发送节点也不可能获得任何与接收节点的身份和位置相关的信息。另一方面,定理4证明了公告板节点也不可能获知接收节点的身份信息和位置信息,所以,发送节点即使与公告板节点合谋,仍然无法获得接收节点的身份信息和位置信息。
定理3公告板节点不能获得发送节点的身份信息和位置信息。
证明4:
发送节点在向公告板节点进行发送消息时,是采用了随机选择一个节点转发消息的策略。消息经过多次中转才到达公告板节点。因此公告板节点只知道给自己发送消息的中转节点,而对发送节点是谁一无所知。
定理4公告板节点不能获得接收节点的身份信息和位置信息。
证明4:
根据协议,接收节点检索公告板节点BBS上的身份标识,确认是发给自己。在这个过程中,因为所有节点都在检索BBS,所以在此过程中公告板节点并不知道哪一个是接受节点.
当接收节点确认消息是发给自己的之后,它也使用随机选择一个节点转发的策略将请求消息发送给公告板节点,要求公告板节点将发送节点的数据发过来。当公告板节点接收到请求消息之后,因为消息是经过多次转发才到达的,所以公告板节点只知道转发消息给自己的最后一个转发节点,对接收节点一无所知。
综上所述,公告板节点不能获得接收节点的身份信息和位置信息。
定理5任意的中转节点不能获得发送节点和接受节点的身份信息和位置信息。
证明5:
根据协议,发送节点或接收节点在发送消息给公告板节点时,均采用了随机选择节点转发消息策略。中转节点选择转发路径是随机选取的,中转节点是无法推断上一跳节点是否是发送节点或是接收节点。因此中转节点不能推断出发送节点和接收节点的身份信息。发送节点或接收节点分别和公告板节点之间一定存在至少一个中间节点,因此公告板节点是无法知道发送节点或接收节点的。
定理6任意的攻击者不能获得发送节点和接受节点的身份信息和位置信息。
证明6:
攻击者可以攻破一个或者几个中转节点,获取节点的转发记录,但是既然中转节点本身都不可能获取发送节点和接受节点的身份信息和位置信息,所以即使攻击者攻破了中转节点,它同样无法达到目的。
即使攻击者能够沿着消息转发路径逐个攻破所有的中转节点(在现实中,这个概率是极其小的,接近于零),它仍然无法找到发送节点或者接收节点,因为在本发明提出的匿名通信协议中,第一个转发节点也并不知道自己就是第一个转发节点,换句话说,它并不知道给自己发送消息的就是发送节点;同样地,最后一个转发节点只知道自己把消息发给了公告板节点,而公告板节点显然并不是接收节点。所以,即使攻击者能够攻破第一个和最后一个转发节点,它仍然无法找到发送节点和接收节点。
实施例2保密性分析
发送节点在发送消息之前使用接收节点的公开密钥加密了消息再发送给出去。只有接收节点可以用自己的私有密钥解密才能解密得到消息明文。任意的中转节点中都不拥有接收节点的私有密钥,所以不可能解密得到初始消息明文。同样的,任意的攻击者也不拥有接收节点的私有密钥,所以它即使截获了在传输中的消息密文,也同样无法得到消息明文。
在公告板节点将消息回复给接收节点的过程中,它发送的数据仍然是使用接收节点的公开密钥加密的,除了接收节点之外,包括中转节点和攻击节点在内的任意的第三方都不可能解密。
综上所述,本协议可以实现发送节点和接收节点之间秘密通信。
实施例3健壮性分析
相比较背景技术中提出的两种方法中所用到的Crowds和洋葱路由技术,Crowds匿名通信模型中要求网络节点是封闭的静态集合,洋葱路由模型中要求通信过程中预先建立虚电路而导致系统时延和计算复杂度的增加,无法适应拓扑结构动态变化的无线网络。本发明提出的使用公告板的双向匿名秘密通信协议不需要提前建立链路,避免了路由路径上节点建好之后由于一个或者多个链路节点故障而引起的通信失败。转发消息的中转节点都是随机选出,也就是说整个路由路径中不依靠某些特殊的节点,不会因为部分节点承担大量数据转发造成系统瓶颈。另一方面,网络中任何节点发生故障或者退出网络都不影响通信的正常进行。理论上,即使发生大量节点故障崩溃,只要网络中还存在少数节点,本发明提出的双向匿名秘密通信仍然可以进行。因此,它具有极好的健壮性和可伸缩性。本发明还采用了时间戳技术,可以有效的解决第三方使用截获到的请求信息进行重复请求操作而引起的网络开销的增加的问题。该模型可以很好地适应拓扑结构动态变化的网络,具有较好的健壮性。
以上所述,仅为本发明较佳的具体实施方式,本发明的保护范围不限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换均落入本发明的保护范围内。
Claims (5)
1.一种使用公告板的双向匿名秘密通信协议,其特征在于,发送节点A要发送一消息给接受节点B,发送节点A首先构造数据报,并把该数据报匿名发送给公告板节点;消息发送过程中,通过AES算法和RSA算法相结合的进行嵌套加密,并以一定的概率随机选择不少于一个的中转节点来转发消息,中转节点只对消息的最外层进行解密操作;公告板节点收到数据报后,只把报文标识公布到所维护的一个公告板上;接收节点B检索公告板上的报文标识,检索到有发给自己的数据报后;接收节点B匿名发送包含有报文标识的消息给公告板节点,要求公告板节点将该报文标识对应的数据报消息回复过来,匿名发送的方法与发送节点A发送数据报给公告板节点方法相同;公告板节点收到接收节点B发送的消息后,将消息中报文标识所对应的数据报回复给接收节点B,返回时根据路由表的记录按原路径返回;接收节点B收到数据报后,进行解密得到发送节点A要发送的信息。
2.根据权利要求1所述的使用公告板的双向匿名秘密通信协议,其特征在于,所述通信协议的初始化条件为:
(1)所有节点都有一个唯一的ID号;
(2)每一个节点包括公告板都加入一个公开密钥系统;公开密钥与ID号是一一对应的,但是与节点的真实身份或者IP地址或者地理位置无关;
(3)公告板节点是一个特殊节点,它的地址和身份都是公开的;公告板节点维护一个公告板,公告板是对所有节点开放的一个公共信息集;
(4)只有当接收节点在公告板上解密报文标识得到的ID号为自己的ID号时,才对消息密文进行解密操作。
3.根据权利要求1所述的使用公告板的双向匿名秘密通信协议,其特征在于,通信过程的详细步骤为:
Step1:
发送节点A构造数据报DM;其中消息密文是使用接收节点B的公开密钥PKB加密消息CM得到的;报文标识是使用接收节点B的公开密钥PKB加密报文得到的一个密文字符串;
Setp2:
发送节点A将数据报匿名发送到公告板节点BBS;
Step3:
公告板节点将根据Step2中解密得到的所有数据报中的报文标识在公告板上发布;接收节点B查看公告板,并使用自己的私有密钥SKB逐个解密报文标识;若是解密成功,并发现解密的结果是自己的ID号,则表明检索到有发送给自己的数据报信息,然后执行Step4;否则,节点B继续检索;
Step4:
接收节点B匿名发送信息SM给公告板节点BBS,要求公告板节点将该报文标识对应的数据报消息回复过来;其匿名发送消息的方法同Step2中;
Step5:
公告板节点将数据报DM匿名发送到接收节点B;
(3)公告板节点发送回复数据报给接收节点B;公告板节点根据自己路由表中的序列号和对应的IP地址,确定应返回给中转节点BN;发送的回复消息包含两个部分:第一部分是使用解密得到的接收节点B的对称密钥K0加密数据报,并将加密内容和序列号组合在一起,然后用对称密钥KBBS对该组合进行加密;第二部分是用中转节点BN的公开密钥PKN加密对称密钥KBBS;公告板节点将该回复消息发送给中转节点BN;
(2)中转节点BN收到消息后,用中转节点BN的私有密钥SKN解密得到对称密钥KBBS,利用解密得到的KBBS将消息的第一部分解密得到加密内容和序列号;中转节点BN根据路由表中序列号和对应的IP地址,确认应返回给中转节点BN-1;中转节点BN用对称密钥KN对加密内容和序列号进行加密,并用中转节点BN-1的公开密钥PKN-1加密对称密钥KN;中转节点BN将该回复消息发送给中转节点BN-1,同时删除路由表中该项记录;
(3)中转节点BN-1收到该回复消息后,重复中转节点BN的过程;以此类推,直到接收节点B收到消息;
(4)接收节点B收到该回复消息后,用接收节点B的私有密钥SKB解密得到对称密钥K1,利用解密得到的K1解密得到加密内容和序列号;接收节点B再用本身的对称密钥K0对加密内容进行解密得到数据报;
Step6:
接收节点B根据Step5获得解密得到数据报,使用私有密钥SKB解密报文标识得到接收节点B的ID号和时间戳,继续使用自己的私有密钥SKB解密消息密文得到消息CM;
到此为止,节点B收到节点A发送给它的消息;若节点B要发送消息给节点A,则重复节点A的操作。
4.根据权利要求1所述的使用公告板的双向匿名秘密通信协议,其特征在于,Setp2的详细步骤为:
(1)发送节点A发送数据报给公告板节点;发送的请求信息包含三个部分:第一部分是发送节点A用对称密钥K0加密数据报,并将加密内容和序列号组合在一起,然后用第二个对称密钥K1对该组合进行加密;第二部分是用公告板的公开密钥PKBBS加密对称密钥K0;第三部分是发送节点A随机选取一个不同于公告板节点和发送节点的中转节点A1,然后用中转节点A1的公开密钥PK1加密对称密钥K1;发送节点A将请求信息发送给中转节点A1;
(2)中转节点A1收到消息后,用A1的私有密钥SK1解密得到发送节点的对称密钥K1,利用解密得到的K1解密请求消息的第一部分得到序列号;中转节点A1将序列号和发送节点的IP地址存入路由表中,并更新路由表;中转节点A1以Pf的概率将消息发送给不同于A和A1的中转节点A2,或者以概率1-Pf将消息发送给公告板节点;若是发送给中转节点A2,则执行(3);否则,执行(4);
(3)若是选择发送给中转节点A2;中转节点A1用对称密钥K2对加密内容和序列号进行加密,请求信息的第二部分内容保持不变,再用选出的中转节点A2的公开密钥PK2加密对称密钥K2;中转节点A1将请求信息发送给中转节点A2;中转节点A2收到消息后,重复中转节点A1的工作;以此类推,直到某个中转节点AM决定将请求消息发送给公告板节点;然后执行(4);
(4)若是选择发送给公告板节点;中转节点AM用对称密钥KBBS对加密内容和序列号进行加密,请求消息的第二部分内容保持不变,再用公告板节点的公开密钥PKBBS加密对称密钥KBBS;中转节点AM将请求消息发送给公告板节点;公告板节点收到消息后,用公告板节点的私有密钥SKBBS解密得到上一中转节点的对称密钥KBBS和发送节点的第一个对称密钥K0,利用解密得到的KBBS和K0解密请求消息的第一部分得到序列号和数据报;公告板节点将序列号和上一中转节点的IP地址存入路由表中,并更新路由表。
5.根据权利要求1所述的使用公告板的双向匿名秘密通信协议,其特征在于,Step4具体为:接收节点B匿名发送信息SM给公告板节点BBS,要求公告板节点将该报文标识对应的数据报消息回复过来,其详细步骤:
(1)接收节点B发送消息给公告板节点;发送的请求消息包含三个部分:第一部分是接收节点B用对称密钥K0加密信息SM,并将加密内容和序列号组合在一起,然后用第二个对称密钥K1对该组合进行加密;第二部分是用公告板节点的公开密钥PKBBS加密对称密钥K0;第三部分是接收节点B随机选取一个不同于公告板节点和发送节点的中转节点B1,然后用中转节点B1的公开密钥PK1加密对称密钥K1;发送节点将请求信息发送给中转节点B1;
(2)中转节点B1收到消息后,用B1的私有密钥SK1解密得到发送节点的对称密钥K1,利用解密得到的K1解密请求消息的第一部分得到序列号;中转节点B1将序列号和发送节点的IP地址存入路由表中,并更新路由表;中转节点B1以Pf的概率将消息发送给不同于B0和B1的中转节点B2,或者以概率1-Pf将消息发送给公告板节点;若是发送给中转节点B2,则执行(2);否则,执行(3);
(3)若是选择发送给中转节点B2;中转节点B1用对称密钥K2对加密内容和序列号进行加密,请求信息的第二部分内容保持不变,再用选出的中转节点B2的公开密钥PK2加密对称密钥K2;中转节点B1将请求信息发送给中转节点B2;中转节点B2收到消息后,重复中转节点B1的工作;以此类推,直到某个中转节点Bn决定将请求消息发送给公告板节点;然后执行(4);
(4)若是选择发送给公告板节点;中转节点Bn用对称密钥KBBS对加密内容和序列号进行加密,请求消息的第二部分内容保持不变,再用公告板节点的公开密钥PKBBS加密对称密钥KBBS;中转节点Bn将请求消息发送给公告板节点;公告板节点收到消息后,用公告板节点的私有密钥SKBBS解密得到上一中转节点的对称密钥KBBS和发送节点的第一个对称密钥K0,利用解密得到的KBBS和K0解密请求消息的第一部分得到序列号和信息SM;公告板节点将序列号和上一中转节点的IP地址存入路由表中,并更新路由表;公告板节点根据收到的信息SM,确认发送对应报文标识的数据报信息,执行Step5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910602528.9A CN110289959B (zh) | 2019-07-05 | 2019-07-05 | 一种使用公告板的双向匿名秘密通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910602528.9A CN110289959B (zh) | 2019-07-05 | 2019-07-05 | 一种使用公告板的双向匿名秘密通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110289959A true CN110289959A (zh) | 2019-09-27 |
CN110289959B CN110289959B (zh) | 2022-07-29 |
Family
ID=68020653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910602528.9A Active CN110289959B (zh) | 2019-07-05 | 2019-07-05 | 一种使用公告板的双向匿名秘密通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110289959B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112803599A (zh) * | 2021-04-08 | 2021-05-14 | 南京远思智能科技有限公司 | 动车能量管理系统及其管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266704B1 (en) * | 1997-05-30 | 2001-07-24 | The United States Of America As Represented By The Secretary Of The Navy | Onion routing network for securely moving data through communication networks |
JP2004266493A (ja) * | 2003-02-28 | 2004-09-24 | Fujitsu Prime Software Technologies Ltd | 匿名ルート探索要求方法、匿名ルート探索要求中継方法、匿名データ中継方法、匿名ルート探索要求応答方法および電子掲示板提供装置 |
CN101436985A (zh) * | 2008-10-23 | 2009-05-20 | 福建师范大学 | 一种高效的Ad Hoc网络匿名QoS路由方法 |
-
2019
- 2019-07-05 CN CN201910602528.9A patent/CN110289959B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266704B1 (en) * | 1997-05-30 | 2001-07-24 | The United States Of America As Represented By The Secretary Of The Navy | Onion routing network for securely moving data through communication networks |
JP2004266493A (ja) * | 2003-02-28 | 2004-09-24 | Fujitsu Prime Software Technologies Ltd | 匿名ルート探索要求方法、匿名ルート探索要求中継方法、匿名データ中継方法、匿名ルート探索要求応答方法および電子掲示板提供装置 |
CN101436985A (zh) * | 2008-10-23 | 2009-05-20 | 福建师范大学 | 一种高效的Ad Hoc网络匿名QoS路由方法 |
Non-Patent Citations (3)
Title |
---|
王小丽,李晓宇: "利用匿名通信的匿名电子拍卖协议", 《小型微型计算机系统》 * |
王小丽: "基于匿名通信的匿名电子拍卖协议研究", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
赵梦瑶,李晓宇: "基于洋葱路由的双向匿名秘密通信协议", 《计算机科学》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112803599A (zh) * | 2021-04-08 | 2021-05-14 | 南京远思智能科技有限公司 | 动车能量管理系统及其管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110289959B (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Boukerche et al. | SDAR: a secure distributed anonymous routing protocol for wireless and mobile ad hoc networks | |
Boukerche et al. | An efficient secure distributed anonymous routing protocol for mobile and wireless ad hoc networks | |
Boukerche et al. | A novel solution for achieving anonymity in wireless ad hoc networks | |
Yang et al. | Discount anonymous on demand routing for mobile ad hoc networks | |
CN101103593B (zh) | 鉴别多播消息的方法 | |
El-Khatib et al. | Secure dynamic distributed routing algorithm for ad hoc wireless networks | |
Elmahdi et al. | Secure and reliable data forwarding using homomorphic encryption against blackhole attacks in mobile ad hoc networks | |
Shi et al. | ARDEN: Anonymous networking in delay tolerant networks | |
Chen et al. | Anonymous multipath routing protocol based on secret sharing in mobile ad hoc networks | |
Elmahdi et al. | Securing data forwarding against blackhole attacks in mobile ad hoc networks | |
Zhang et al. | A privacy-preserving and secure framework for opportunistic routing in DTNs | |
CN113973007B (zh) | 基于广播加密和洋葱路由的时控性加密匿名查询方法和系统 | |
Bakiras et al. | Secure and anonymous communications over delay tolerant networks | |
CN110289959A (zh) | 一种使用公告板的双向匿名秘密通信协议 | |
CN115941168A (zh) | 一种防窃听数据传输方法及系统 | |
Al-Riyami et al. | Impact of hash value truncation on ID anonymity in wireless sensor networks | |
Gupta et al. | Mitigating selfish, blackhole and wormhole attacks in dtn in a secure, cooperative way | |
Jain et al. | Secure AODV routing protocol based on homomorphic digital signature | |
Zhang et al. | Key Management and Authentication in Ad Hoc Network based on Mobile Agent. | |
Bakiras et al. | An anonymous messaging system for delay tolerant networks | |
Xu et al. | Bloom filter based secure and anonymous DSR protocol in wireless ad hoc networks | |
Augustine | A study of efficient anonymous routing protocols in MANET | |
Ren et al. | ARMA: a scalable secure routing protocol with privacy protection for mobile ad hoc networks | |
Jing et al. | Recipient anonymity: an improved crowds protocol based on key sharing | |
Rajendran et al. | Secure anonymous routing in 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 |