基于BitTorrent协议的P2P网络下的秘密信息传输方法

文档序号:10597238阅读:233来源:国知局
基于BitTorrent协议的P2P网络下的秘密信息传输方法
【专利摘要】本发明属于计算机网络与信息安全技术领域,主要公开了一种基于BitTorrent协议的P2P网络下的秘密信息传输方法,以P2P网络中的Handshake消息传输通道为基础建立隐秘传输通道,依靠建立的隐秘传输通道,并通过大小写不敏感信息编码方式将秘密信息嵌入到Handshake消息的BT关键字中进行传输。本发明在Handshake消息BT关键字中引入大小写不敏感信息编码方式来实施隐秘通信,本发明提供的秘密信息传输方法不仅简单高效,实现代价小,而且更加安全可靠,不易被破解。
【专利说明】
基于B i t To r rent协议的P2P网络下的秘密信息传输方法
技术领域
[0001 ]本发明属于计算机网络与信息安全技术领域,特别涉及一种基于BitTorrent协议的P2P网络下的秘密信息传输方法。
【背景技术】
[0002]随着计算机网络通信技术的迅速发展,信息传输的安全性问题日益严峻。传统的加密技术是将秘密信息扰乱,变成杂乱无章的密文,但是却直接暴露了保密通信的存在,容易引起攻击者的关注。信息隐藏技术则是将秘密信息藏于近似正常的数据流之中,从而隐藏了秘密信息传输通道的存在,相较于传统的加密技术,多了一层迷惑攻击者的手段,安全性更高。
[0003]P2P网络是一种分布式对等网络环境,非常便于广大网络用户使用网络共享服务,而且近年来涌现了诸多的P2P文件共享应用,如BitTorrent、eMule、Bi tComet、Vuze,深受网络用户的青睐,因此,P2P网络的信息安全性问题越来越受重视。现有的网络信息隐藏技术的研究主要集中于使用TCP/IP协议的Internet网络,对于使用BT协议的P2P网络的研究相对较少,因此,以P2P网络数据流作为载体的信息隐藏技术值得我们进一步地深入研究。
[0004]基于BT协议的P2P网络数据流大体可分为三部分:BT种子文件、BT服务器文件和BT消息文件。基于BT种子文件的网络信息隐藏方法主要是利用大小写不敏感变换和结构冗余复用技术,将秘密信息嵌入到BT种子文件各种关键字的冗余空间中(李自帅,孙兴明,王宝威等人.一种对等网中的隐写方案[C].智能信息隐藏与多媒体信号处理国际会议.2008:20-24.)。阶服务器,又称之为Tacker服务器,用于保存BT种子文件以及记录当前下载者的网络信息,基于Tacker服务器的网络信息隐藏方法主要分为两种:一是利用HTTP GET请求消息中关键字peer_id的冗余空间为载体嵌入秘密信息(J.Desimone,D.Johnson,
B.Yuan.Covert Channel in the BitTorrent Tracker Protocol[EB/0L].Accessed fromhttp://scholarworks.rit.edu/other/300,2012.)(J.Desimone,D.Johnson,B.Yuan.基于BitTorrent Tracker 协议的隐信道[EB/0L] ?访问地址http: / / scho larworks.rit.edu/other/300,2012.),二是通过HTTP消息将秘密信息直接写入Tacker服务器(M.Cunche,M.Kaafar,R.Borel1.Asynchronous Covert Communicat1n Using BitTorrent Trackers[C].Proceedings of 2014 IEEE I Ith Internat1nal Conference on EmbeddedSoftware and System, 2014:827-830.) (M.Cunche, M.Kaafar, R.Bore I 1.基于BitTorrentTracker服务器的异步隐蔽通信[C].2014年第11届嵌入式软件与系统的IEEE国际会议,2014:827-830.)。基于BT消息的网络信息隐藏方法较少,尽管存在各种不同功能的BT消息,但是大多数都由于缺少足够的冗余空间而被忽视,也有个别例外,例如李子帅等人提出的基于Bitfield消息的信息隐藏算法和基于Piece消息的信息隐藏算法,则是将秘密信息嵌入到Bitfield消息以及Piece消息的冗余空间中(李子帅.基于BitTorrent网络的信息隐藏技术研究[D].湖南:湖南大学,硕士学位论文,2009.)。其中,基于Bitfield消息的信息隐藏算法会引入当前P2P节点所拥有数据块数目异常,导致频繁出现来至其他P2P节点的请求消息;基于Piece消息的信息隐藏算法会引入当前P2P节点所拥有数据块内容异常,导致频繁出现来至其他P2P节点的重传消息。因此,这两种方法都会主动地给正常的P2P通信带来出错异常,隐蔽性较差。
[0005]BT消息文件中有一种通信双方互为发送的握手消息,称之为Handshake消息。该消息的BT关键字存在一定的冗余空间,目前尚未从公开资料中发现基于该消息的信息隐藏方法。

【发明内容】

[0006]发明目的:为了克服现有技术的不足,本发明提供了一种安全可靠,容易实现的基于B i tTorr ent协议的P2P网络下的秘密信息传输方法。
[0007]技术方案:本发明提供了一种基于BitTorrent协议的P2P网络下的秘密信息传输方法,以P2P网络中的Handshake消息传输通道为基础建立隐秘传输通道,依靠建立的隐秘传输通道,并通过大小写不敏感信息编码方式将秘密信息嵌入到Handshake消息的BT关键字中进行传输。
[0008]进一步,所述隐秘传输通道至少包括:信道加密器、信道编码器、信道监控器、信道解码器和信道解密器;
[0009]所述信道加密器对待发送的秘密信息明文P进行加密处理,生成密文S;
[0010]所述信道编码器将密文S嵌入到待发送的Handshake消息的BT关键字中,使密文S随着Handshake消息一起向外传输;
[00?1 ]所述信道监控器用于接收方监控Handshake消息接收信道,拦截Handshake消息的BT关键字信息;并筛选出含有秘密信息的BT关键字;
[0012]所述信道解码器用于接收方对异常BT关键字进行反向解码,提取密文S;
[0013]所述信道解密器用于接收方对密文S进行反向解密,最终得出秘密信息明文P。
[0014]进一步,所述的秘密信息明文P是一串二进制比特位信息,大小设定为18bit。
[0015]进一步,所述信道加密器进行的加密处理的方法为:依次通过异或和首尾衔接移位,这两种位处理方法对秘密信息明文P进行加密。这样加密简单高效,主要对二进制秘密信息明文P进行简易的乱序处理,既不会增加密文长度而带来数据传输的负担,也不会因为算法的复杂性而影响隐蔽通?目的效率。
[0016]进一步,所述的信道编码器采用的编码方法包括以下步骤:
[0017](I)读取密文S,将密文S以字符串的形式进行存储;
[0018](2)依次取出步骤(I)中所述字符串中的每个二进制位字符,直至全部取出为止;
[0019](3)对照步骤(2)中取出的二进制位字符,依次对BT关键字中的英文字母进行大小写改动,若当前二进制位字符为‘0’,则当前字母以小写的形式呈现,若当前二进制位字符为‘I’,则当前字母以大写的形式呈现,直至BT关键字全部编码结束。这种编码方式更加简单,高效。有效的提高了通信的效率,也增加了安全性。
[0020]进一步,所述信道监控器采用的监控方法为:获取当前BT关键字的字符串信息,并判断当前BT关键字是否为异常BT关键字,如果是异常BT关键字,判断得出发送方为隐蔽P2P节点,接收方回复发送方一个内含特殊BT关键字的Handshake消息,以便发送方得知秘密信息传输成功,同时保存当前异常BT关键字的字符串信息,以待解码;若不是异常BT关键字,判断得出发送方为常规P2P节点,接收方回复发送方一个正常的Handshake消息。这样使秘密通信的安全性更好。
[0021]有益效果:与现有技术相比,本发明在Handshake消息BT关键字中引入大小写不敏感信息编码方式来实施隐秘通信,本发明提供的秘密信息传输方法不仅简单高效,实现代价小,而且不会影响正常的P2P通信,不易引起攻击者的注意,隐蔽性更好,安全可靠。
【附图说明】
[0022]图1为本发明的总体流程图;
[0023]图2为本发明的建立隐秘传输通道的示意图;
[0024]图3为本发明中信道编码器进行信息编码的流程图;
[0025]图4为本发明中信道监控器工作流程图。
【具体实施方式】
[0026]下面结合附图对本发明做更进一步的解释。
?0027] 以客户端软件Vuze4.4为例,进一步阐明本发明提供的一种基于BitTorrent协议的P2P网络下的秘密信息传输方法。
[0028]如图1所示,本发明以P2P网络中的Handshake消息传输通道为基础来实施隐蔽通信,发送方先对秘密信息明文P进行加密处理,生成密文S,再利用信道编码器,将密文S嵌入到待发送的Handshake消息的BT关键字中,使得秘密信息随着Handshake消息一起向外传输。接收方通过监控Handshake消息接收信道,获取当前BT关键字的字符串信息,根据其是否为异常BT关键字,从而进行相应的操作;如果是异常BT关键字,判断得出发送方为隐蔽P2P节点,接收方回复发送方一个内含特殊BT关键字的Handshake消息,以便发送方得知秘密信息传输成功,同时保存当前异常BT关键字的字符串信息,以待解码;若不是异常BT关键字,判断得出发送方为常规P2P节点,接收方回复发送方一个正常的Handshake消息。最后,接收方利用信道解码器和信道解密器,对异常BT关键字进行解析得出秘密信息明文P。
[0029]具体包括以下步骤:
[0030]步骤I:建立隐秘传输通道:
[0031 ] 如图2所示,隐秘通信双方PeerA和PeerB,事先约定一个BT资源的Tracker服务器网站,用于上传和下载共享文件。PeerA负责利用Vuze客户端生成共享文件的种子文件,即*.torrent文件,并将之上传到Tracker服务器网站。PeerB负责利用Vuze客户端从Web月艮务器网站下载该种子文件,并通过种子文件与PeerA建立通信连接。其中,为了确保PeerB找到正确的种子文件,PeerA需将种子文件置顶,并在种子文件命名时,在其尾部添加一串双方约定好的标识码,如“***#abcde&.torrent”。
[0032]步骤2:解析Handshake消息传输通道:
[0033]解析Vuze4.4客户端软件的源代码,寻找Handshake消息传输模块所在位置。Vuze源代码是由Java编程实现,其内核模块所在目录为azureus2\src,该目录又包含com和org这两个子目录。Handshake消息的封装模块位于com目录,Handshake消息的收发模块都位于org目录,其中,封装模块对应的源文件为BTHandshake.java,发送模块对应的函数为sendBTHandshake (),接收模块对应的函数为decodeBTHandshake()。分析BTHandshake.java的程序结构得知,Handshake消息的形式是一个五元组,包括:BT关键字长度、BT关键字、保留位、哈希值和标识码。BT关键字长度pstrlen固定为19,BT关键字pstr是一个大小为19字节的字符串“BitTorrent protocol”,保留位reserved固定为8个字节,哈希值info_hash和标识码peer_id均固定为20个字节,以〈pstrIen,pstr,reserved, info_hash, peer_id>的形式代表一个Handshake消息。由于BT关键字是大小写不敏感的,故可基于该特性进行秘密信息的嵌入,从而实现隐蔽通信。
[0034]步骤3:设置信道加密器:
[0035]发送方将待发送的秘密信息文件plain_send.txt保存在D盘的根目录下,在对Handshake消息实施编码之前设置信道加密器,对秘密信息明文P进行加密处理,生成秘密信息密文S,并将之存放在D盘根目录下名为secret_send.txt的文档中。加密函数xxxEncode ()的核心是一个简单高效的二进制位处理算法,加密函数中采用的算法主要综合“异或”和“首尾衔接移位”两种位处理方法,先后对ISbit二进制秘密信息进行“00011011 1110 0100 11”位异或处理和右移3位处理,以此达到加密的目的。该信道加密器所达到的效果是对二进制秘密信息进行简易的乱序处理,既不会增加密文长度而带来数据传输的负担,也不会因为算法的复杂性而影响隐蔽通信的效率。
[0036]步骤4:设置信道编码器:
[0037]在信道加密器和Handshake消息发送模块之间设置信道编码器,其编码函数xxxChangeBTO应于一种大小写不敏感的信息编码方式。发送方利用编码函数将D盘根目录下secret_send.txt文档中的密文S嵌入到Hand shake消息的BT关键字中,使之伴随Handshake消息一起传输,属于存储式信息隐藏方法。如图3所示,具体编码步骤如下:
[0038]步骤41:读取D盘根目录下secret_send.txt文档中的18bit密文S,并以字符串的形式将之分配在变量名为data_s的存储空间中;
[0039]步骤42:依次取出步骤41所述字符串(1&七&_8中的每个二进制位字符,直至18个字符全部取出为止;
[0040]步骤43:对照步骤42所述的18个二进制位字符,依次对BT关键字“BitTorrentprotocol”中的18个英文字母进行大小写改动,若当前二进制位为‘0’,则当前字母以小写的形式呈现,若当前二进制位为‘I’,则当前字母以大写的形式呈现,直至BT关键字全部编码结束。
[0041 ]步骤5:设置信道监控器:
[0042]如图4所示,在Handshake消息接收模块之后设置信道监控器,信道监控器采用监控函数。接收方利用监控函数对Handshake消息接收信道进行实时监控,获取当前BT关键字的字符串信息,根据BT关键字是否异常,进行相应的操作,其中BT关键字正常的为“BitTorrent protocol”,与之相异的其他形式均为异常。监控具体包括如下步骤:如果是异常BT关键字,判断得出发送方为隐蔽P2P节点,接收方回复发送方一个内含BT关键字“BITTORRENT PROTOCOL”的特殊Handshake消息,以便发送方得知秘密信息传输成功,同时将异常BT关键字的字符串信息保存在E盘根目录下BT_recv.txt文档中,以待信道解码器进行处理;如果不是异常BT关键字,判断得出发送方为常规P2P节点,接收方回复发送方一个内含正常BT关键字的常规Handshake消息。
[0043]步骤6:设置信道解码器:
[0044]在信道监控器后设置信道解码器,即为信道编码器的逆向工程,其解码函数为xxxDecodeBT()。接收方利用解码函数对E盘根目录下BT_recv.txt文档中的异常BT关键字进行反向解码,提取其中所嵌入的密文信息S,并将之保存在E盘根目录下secret_recv.txt文档中,以便信道解密器进行处理。具体解码步骤如下:
[0045]步骤61:读取E盘根目录下BT_recv.txt文档中的18bi t异常BT关键字,并以字符串的形式将异常BT关键字分配在变量名为data_p的存储空间中;
[0046]步骤62:依次取出步骤61所述字符串data_p中的每个英文字母,直至18个字符全部取出为止;
[0047]步骤63:依次对步骤62所述的18个英文字母进行大小写状态判断,若当前英文字母是以小写的形式呈现,则当前位表示二进制位‘0’,若当前英文字母是以大写的形式呈现,则当前位表示二进制位‘I’,最后将解码所得ISbit密文信息S保存在E盘根目录下secret_recv.txt文档中,解码结束。
[0048]步骤7:设置信道解密器:
[0049]在信道解码器后设置信道解密器,S卩为信道加密器的逆向工程,其解密函数为xxxDecodeO。该函数的核心是一个简单高效的二进制位处理算法,先对18bit二进制秘密信息进行左移3位处理,再和“0001 1011 1110 0100 11”进行位异或处理,以此达到解密的目的。接收方利用解密函数对E盘根目录下secret_recv.txt文档中的密文S进行反向解密,最终得出秘密信息明文P,并将之保存在E盘根目录下plain_recv.txt文档中。至此,接收双方之间的隐蔽通信成功结束。
[0050]以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种基于BitTorrent协议的P2P网络下的秘密信息传输方法,其特征在于:以P2P网络中的Handshake消息传输通道为基础建立隐秘传输通道,依靠建立的隐秘传输通道,并通过大小写不敏感信息编码方式将秘密信息嵌入到Handshake消息的BT关键字中进行传输。2.根据权利要求1所述的基于BitTorrent协议的P2P网络下的秘密信息传输方法,其特征在于:所述隐秘传输通道至少包括:信道加密器、信道编码器、信道监控器、信道解码器和信道解密器; 所述信道加密器对待发送的秘密信息明文P进行加密处理,生成密文S; 所述信道编码器将密文S嵌入到待发送的Handshake消息的BT关键字中,使密文S随着Handshake消息一起向外传输; 所述信道监控器用于接收方监控Handshake消息接收信道,拦截Handshake消息的BT关键字信息;并筛选出含有秘密信息的BT关键字; 所述信道解码器用于接收方对异常BT关键字进行反向解码,提取密文S; 所述信道解密器用于接收方对密文S进行反向解密,最终得出秘密信息明文P。3.根据权利要求2所述的基于BitTorrent协议的P2P网络下的秘密信息传输方法,其特征在于:所述的秘密信息明文P是一串二进制比特位信息,大小设定为18bit。4.根据权利要求2所述的基于BitTorrent协议的P2P网络下的秘密信息传输方法,其特征在于:所述信道加密器进行的加密处理的方法为:依次通过异或和首尾衔接移位,这两种位处理方法对秘密信息明文P进行加密。5.根据权利要求2所述的基于BitTorrent协议的P2P网络下的秘密信息传输方法,其特征在于:所述的信道编码器采用的编码方式包括以下步骤: (1)读取密文S,将密文S以字符串的形式进行存储; (2)依次取出步骤(I)中所述字符串中的每个二进制位字符,直至全部取出为止; (3)对照步骤(2)中取出的二进制位字符,依次对BT关键字中的英文字母进行大小写改动,若当前二进制位字符为‘0’,则当前字母以小写的形式呈现,若当前二进制位字符为‘I’,则当前字母以大写的形式呈现,直至BT关键字全部编码结束。6.根据权利要求2所述的基于BitTorrent协议的P2P网络下的秘密信息传输方法,其特征在于:所述信道监控器采用的监控方法为:获取当前BT关键字的字符串信息,并判断当前BT关键字是否为异常BT关键字,如果是异常BT关键字,判断得出发送方为隐蔽P2P节点,接收方回复发送方一个内含特殊BT关键字的Handshake消息,以便发送方得知秘密信息传输成功,同时保存当前异常BT关键字的字符串信息,以待解码;若不是异常BT关键字,判断得出发送方为常规P2P节点,接收方回复发送方一个正常的Handshake消息,其中,所述正常BT关键字为BitTorrent protocol,与之相异均为异常。
【文档编号】H04L29/06GK105959355SQ201610261879
【公开日】2016年9月21日
【申请日】2016年4月25日
【发明人】翟江涛, 高斌, 王茗倩, 戴跃伟
【申请人】江苏科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1