CN103475652A - 基于域名系统的隐蔽通信方法 - Google Patents
基于域名系统的隐蔽通信方法 Download PDFInfo
- Publication number
- CN103475652A CN103475652A CN2013104009833A CN201310400983A CN103475652A CN 103475652 A CN103475652 A CN 103475652A CN 2013104009833 A CN2013104009833 A CN 2013104009833A CN 201310400983 A CN201310400983 A CN 201310400983A CN 103475652 A CN103475652 A CN 103475652A
- Authority
- CN
- China
- Prior art keywords
- client
- dns
- request
- information
- channel
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于域名系统的隐蔽通信方法,包括以下步骤:客户端经隐蔽通信渠道,从Internet下载动态链接库,与服务器方约定DNS信道的具体设计;客户端根据所述预先约定的DNS信道的具体设计通过报文生成模块生成DNS报文,通过所述DNS信道请求服务器获取信息;服务器根据所述预先约定的DNS信道的具体设计,处理请求,发送信息;客户端经所述DNS信道接收信息;客户端根据所述DNS信道的具体设计,对信息进行解析。通过本发明的方法,能够提高了通信的隐蔽性和安全性。
Description
技术领域
本发明涉及安全通信领域,特别涉及信息隐藏,尤其涉及一种基于域名系统的隐蔽通信技术。
背景技术
隐蔽通信技术分为密码技术和信息隐藏技术。两者各有优势,密码技术将信息进行加密处理,将明文变成不可识别密文,使加密后的信息变得难以理解。但这样做却带来了另一个问题,加密技术将明文加密成一堆乱码,容易激发非授权者破解机密信息的欲望。而信息隐藏技术则是将特定的机密信息隐藏在某种公开信息中,由于对外表现的是载体信号的内容和特征,用公开信息作掩护,因此非授权者不会感觉到机密信息的存在。非授权者如果面对的是密文,会使其感到是重要的机密信息,想加以破解,如果面对的是明文,则会放松警惕。因此,从解密的角度上看,用信息隐藏技术隐蔽的机密信息被非授权者侦查和恢复的难度更大,从而降低被非法截收者攻击的概率。由此可见,信息隐藏技术是一种安全有效的隐蔽通信方式。
密码技术和信息隐藏技术都是可以实现隐蔽通信的技术。密码技术包括RSA、DES等加密技术和公私钥的加密思想。信息隐藏技术是将特定的机密信息隐藏在某种公开信息中,这里的公开信息可以是任何一种数字媒体信息,如图像、声音、视频、文字等。信息隐藏可以采用无密钥信息隐藏和有密钥信息隐藏两种技术,通过嵌入算法或密钥和嵌入算法将秘密信息隐藏于公开信息中,而隐蔽载体(隐藏有秘密信息的公开信息)则通过公开信道传递,接收方利用密钥和信息提取算法从隐蔽载体中恢复出机密信息。信息隐藏不但隐藏了信息的内容,还隐藏了信息的存在,非授权者从感觉上难以从公开信息中判断出机密信息是否存在,即使判断出有机密信息存在,在不知道密钥和信息提取算法的情况下也解不出机密信息,从而极大提高了信息的安全性。本发明是一种基于域名系统DNS的信息隐藏技术。
域名系统(Domain Name System,DNS)是因特网最关键的基础服务之一,为众多网络应用提供根本性支撑,它将域名与IP地址相互映射,使人们能够方便地访问互联网,而不必记忆复杂的IP地址。DNS域名解析为众多网络应用提供支撑,因此,网络管理策略通常对客户端主机使用DNS服务不作限制,避免了机密信息通过网络管理策略而泄露。
发明内容
为实现上述目的,本发明的技术方案如下:一种基于域名系统的隐蔽通信方法,具体步骤如下:
步骤1客户端经隐蔽通信渠道,从Internet下载动态链接库,与服务器方约定DNS信道的具体设计;
步骤2客户端根据所述预先约定的DNS信道的具体设计通过报文生成模块生成DNS报文,通过所述DNS信道请求服务器获取信息;
步骤3服务器根据所述预先约定的DNS信道的具体设计,处理请求,发送信息;
步骤4客户端经所述DNS信道接收信息;
步骤5客户端根据所述DNS信道的具体设计,对信息进行解析。
进一步地,所述步骤1中Internet下载动态链接库步骤如下:
步骤1-1从Internet下载编码后的二进制文件;
步骤1-2对所述二进制文件进行解码,形成动态链接库。
进一步地,所述步骤2中DNS报文的报头由信息类型TYPE,文件FID,偏移量OFFSET组成。
进一步地,所述步骤2中所述报文生成模块由报头生成模块、域名生成模块、数据加密模块组成,DNS报文的生成步骤如下:
步骤2-1由报头生成模块生成报头;
步骤2-2将待发送信息用xml格式表示;
步骤2-3将步骤2-1和2-2的结果连接起来,并进行加密;
步骤2-4通过域名生成模块利用域名生成算法生成域名;
步骤2-5将步骤2-3和步骤2-4的结果连接起来;
步骤2-6根据DNS报文格式,在上述数据前添加“标识位”、“标志位”、“问题数”、“资源记录数”、“授权资源记录数”和“额外资源记录数”,生成DNS报文。
进一步地,所述通信方式为命令控制,所述命令控制通信流程如下:
(1)客户端接收到命令控制请求,计算版本号后向服务器端发送“命令控制请求”;
(2)服务器端收到“命令控制请求”后,识别出版本号,如果版本号是最新版本,则向客户端发送“命令控制应答”,否则添加上GET标记后向客户端发送“命令控制应答”;
(3)客户端接受到数据后判断数据是否有GET标记,如果没有GET标记,则通信完成,否则继续向服务器端发送“下载请求”。
进一步地,所述通信方式为下载,所述下载通信流程如下:
(1)客户端计算所述offset后向服务器端发送“下载请求”;
(2)服务器端收到“下载请求”后,识别出所述offset,如果offset是文件结尾,则向客户端发送所述offset段,否则发送所述offset下一段;
(3)客户端接受到数据后判断数据是否是控制段,如果是控制段,则下载完成,否则继续向服务器端发送“下载请求”。
进一步地,所述通信方式为上传,所述上传通信流程如下:
(1)客户端计算所述offset后向服务器端发送“上传请求”;
(2)服务器端收到“上传请求”后,识别出所述offset,如果所述offset是文件结尾,则向客户端发送所述offset段,否则发送所述offset下一段;
(3)客户端接受到数据后判断数据是否是控制段,如果是控制段,则上传完成,否则继续向服务器端发送“上传请求”。
本发明提供的基于域名系统的隐蔽通信方法通过服务器端PHP读取和显示简化了这种隐蔽通信方法的使用。报头生成模块的添加,为每个数据包的数据得到编号和分组,使得该方法不仅可以进行一次性的简单指令的通信,同时也可通过多次不连续地通信进行文件的传输。能进行文件的传输使得客户端能及时更新自身模块的版本,及时和服务器端更新通信协议,提高了通信的隐蔽性和安全性。
附图说明
图1是基于域名系统的隐蔽通信方法的流程图
图2是DNS信道设计图;
图3是下载文件的工作流程图;
图4是命令控制通信的工作流程图。
具体实施方式
下面结合附图对本发明的优选实施例作详细说明。
基于域名系统的隐蔽通信方法具体步骤如图1所示,为:(1)客户端经DNS请求和应答,从Internet下载编码后的二进制文件,解码后形成动态链接库,从而与服务器方约定DNS信道的具体设计;(2)客户端根据预先约定的DNS信道的具体设计通过DNS报文生成模块生成DNS报文,通过DNS信道请求服务器获取信息;(3)服务器根据预先约定的DNS信道的具体设计,处理请求,发送信息;(4)客户端经DNS信道接收信息;(5)客户端根据DNS信道的具体设计,对信息进行解析。
DNS信道的具体设计如图2所示,该设计明确了报文的格式,规定报文各组成成分的位置和占位长度等通信所必要参数。同时,明确了报头的组成成分:信息类型TYPE,文件FID,偏移量OFFSET;规定每个组成部分的意义、位置和占位长度。其中,信息类型TYPE表示通信信息的类型,如“上传”或“下载”或“更新”等,保证该信道能进行多种类型的通信;文件FID表示所处理(“上传”、“下载”、“更新”)的文件编号,指定了待处理的某一个特定的文件;偏移量OFFSET表示该DNS包所包含的数据所属的数据组,使得较大的数据可以经分组、多次传输而实现,避免生成易被检测出的长度异常大的数据包。
根据DNS信道的具体设计,在经过报头生成模块、域名生成模块、数据加密模块的处理后,报文生成模块生成了最终会被发送出去的数据包。通过DNS信道的传输,实现隐蔽通信。
通信主要分为3类:“上传”、“下载”和“命令控制”通信。“命令控制”通信主要实现一次性的指令性通信,同时负责版本更新。“命令控制”通信的流程如图4,客户端计算版本号后向服务器端发送“命令控制请求”,服务器端收到“命令控制请求”后,识别出版本号,如果版本号是最新版本,则向客户端发送“命令控制应答”,否则添加上GET标记后向客户端发送“命令控制应答”,客户端接受到数据后判断数据是否有GET标记,如果没有GET标记,则通信完成,否则继续向服务器端发送“下载请求”。“下载”的流程如图3,客户端计算offset后向服务器端发送“下载请求”,服务器端收到“下载请求”后,识别出offset,如果offset是文件结尾,则向客户端发送offset段,否则发送offset下一段,客户端接受到数据后判断数据是否是控制段,如果是控制段,则下载完成,否则继续向服务器端发送“下载请求”。“上传”的流程图类似于“下载”流程图。每类通信对于客户端和发送端分别有一个不同的编号,分别为命令控制请求(TYPE1)、命令控制应答(TYPE2)、下载请求(TYPE3)、下载应答(TYPE4)、上传请求(TYPE5)、上传应答(TYPE6)。对于命令控制请求,客户端在命令控制请求时附加上自己各个模块的版本号;对于命令控制应答,服务器端读取客户端请求中的版本信息,若有新版本,则提示客户端GET;对于下载请求,客户端根据当前已下载的文件片计算当前请求的OFFSET,在下载成功后下载下一片,若返回的报文只有控制段,则表示下载已完成;对于下载应答,服务器尽可能利用报文发送最大量的数据,当已请求的OFFSET是文件结尾时,则只发送控制段;上传请求、上传应答分别和下载请求、下载应答类似。
下面,将以上传客户机系统的基本信息为例,结合图2“DNS信道设计图”,以6个步骤,具体说明DNS报文的生成过程:
(1)生成40比特长的报头:0101000000000001000000000000000000000000。其中信息类型TYPE值为0101(二进制),表示通信类型为5,是“上传请求”类型;文件FID值为000000000001(二进制),表示当前传输的数据所属的文件的编号为1;偏移量OFFSET值为000000000000000000000000(二进制),表示当前传输的数据是所属文件的第一片数据。将该40比特长的报头转成十六进制结果为:50010000
(2)将待发送的信息用xml格式表示如下:
<?xml version="1.0encoding="utf-8"?><main><system>win7</system><version>6.1.7601</version><ip>59.32.78.77</ip><username>jack</username></main>
(3)将步骤(1)、步骤(2)的结果连接起来,经base64加密,得到结果如下:
NTAwMTAwMDAlM0MlM0Z4bWwlMjB2ZXJzaW9uJTNEJTIyMS4wJTIyJTIwZW5jb2RpbmclM0QlMjJ1dGYtOCUyMiUzRiUzRSUzQ21haW4lM0UlM0NzeXN0ZW0lM0V3aW43JTNDL3N5c3RlbSUzRSUzQ3ZlcnNpb24lM0U2LjEuNzYwMSUzQy92ZXJzaW9uJTNFJTNDaXAlM0U1OS4zMi43OC43NyUzQy9pcCUzRSUzQ3VzZXJuYW1lJTNFamFjayUzQy91c2VybmFtZSUzRSUzQy9tYWluJTNF
(4)通过域名生成算法生成域名,这里假定生成的域名为:asdf.example.com
(5)将(3)(4)的结果连接起来,得到结果如下:
NTAwMTAwMDAlM0MlM0Z4bWwlMjB2ZXJzaW9uJTNEJTIyMS4wJTIyJTIwZW5jb2RpbmclM0QlMjJ1dGYtOCUyMiUzRiUzRSUzQ21haW4lM0UlM0NzeXN0ZW0lM0V3aW43JTNDL3N5c3RlbSUzRSUzQ3ZlcnNpb24lM0U2LjEuNzYwMSUzQy92ZXJzaW9uJTNFJTNDaXAlM0U1OS4zMi43OC43NyUzQy9pcCUzRSUzQ3VzZXJuYW1lJTNFamFjayUzQy91c2VybmFtZSUzRSUzQy9tYWluJTNFasdf.example.com
(6)根据DNS报文格式,在上述数据前添加“标识位”、“标志位”、“问题数”、“资源记录数”、“授权资源记录数”和“额外资源记录数”,生成DNS报文。这里假定添加16进制的“标识位”为b8a8,“标志位”为0100,“问题数”为0001,“资源记录数”为0000,“授权资源记录数”为0000,“额外资源记录数”为0000。最后生成的DNS报文如下:
b8a80100000100000000000NTAwMTAwMDAlM0MlM0Z4bWwlMjB2ZXJzaW9uJTNEJTIyMS4wJTIyJTIwZW5jb2RpbmclM0QlMjJ1dGYtOCUyMiUzRiUzRSUzQ21haW4lM0UlM0NzeXN0ZW0lM0V3aW43JTNDL3N5c3RlbSUzRSUzQ3ZlcnNpb24lM0U2LjEuNzYwMSUzQy92ZXJzaW9uJTNFJTNDaXAlM0U1OS4zMi43OC43NyUzQy9pcCUzRSUzQ3VzZXJuYW1lJTNFamFjayUzQy91c2VybmFtZSUzRSUzQy9tYWluJTNFasdf.example.com
以上通过具体实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (7)
1.一种基于域名系统的隐蔽通信方法,其特征在于,所述方法包括如下步骤:
步骤1客户端经隐蔽通信渠道,从Internet下载动态链接库,与服务器方约定DNS信道的具体设计;
步骤2客户端根据所述预先约定的DNS信道的具体设计通过报文生成模块生成DNS报文,通过所述DNS信道请求服务器获取信息;
步骤3服务器根据所述预先约定的DNS信道的具体设计,处理请求,发送信息;
步骤4客户端经所述DNS信道接收信息;
步骤5客户端根据所述DNS信道的具体设计,对信息进行解析。
2.如权利要求1所述的所述的隐蔽通信方法,其中,所述步骤1中Internet下载动态链接库步骤如下:
步骤1-1从Internet下载编码后的二进制文件;
步骤1-2对所述二进制文件进行解码,形成动态链接库。
3.如权利要求1所述的隐蔽通信方法,其中,所述步骤2中DNS报文的报头由信息类型TYPE,文件FID,偏移量OFFSET组成。
4.如权利要求1所述的隐蔽通信方法,其中,所述步骤2中所述报文生成模块由报头生成模块、域名生成模块、数据加密模块组成,所述DNS报文的生成步骤如下:
步骤2-1由报头生成模块生成报头;
步骤2-2将待发送信息用xml格式表示;
步骤2-3将步骤2-1和2-2的结果连接起来,并进行加密;
步骤2-4通过域名生成模块利用域名生成算法生成域名;
步骤2-5将步骤2-3和步骤2-4的结果连接起来;
步骤2-6根据DNS报文格式,在上述数据前添加“标识位”、“标志位”、“问题数”、“资源记录数”、“授权资源记录数”和“额外资源记录数”,生成DNS报文。
5.如权利要求1至4任一所述的隐蔽通信方法,其中,所述通信方式为命令控制,所述命令控制通信流程如下:
(1)客户端接收到命令控制请求,计算版本号后向服务器端发送“命令控制请求”;
(2)服务器端收到“命令控制请求”后,识别出版本号,如果版本号是最新版本,则向客户端发送“命令控制应答”,否则添加上GET标记后向客户端发送“命令控制应答”;
(3)客户端接受到数据后判断数据是否有GET标记,如果没有GET标记,则通信完成,否则继续向服务器端发送“下载请求”。
6.如权利要求1至4任一所述的隐蔽通信方法,其中,所述通信方式为下载,所述下载通信流程如下:
(1)客户端计算所述offset后向服务器端发送“下载请求”;
(2)服务器端收到“下载请求”后,识别出所述offset,如果offset是文件结尾,则向客户端发送所述offset段,否则发送所述offset下一段;
(3)客户端接受到数据后判断数据是否是控制段,如果是控制段,则下载完成,否则继续向服务器端发送“下载请求”。
7.如权利要求1至4任一所述的隐蔽通信方法,其中,所述通信方式为上传,所述上传通信流程如下:
(1)客户端计算所述offset后向服务器端发送“上传请求”;
(2)服务器端收到“上传请求”后,识别出所述offset,如果所述offset是文件结尾,则向客户端发送所述offset段,否则发送所述offset下一段;
(3)客户端接受到数据后判断数据是否是控制段,如果是控制段,则上传完成,否则继续向服务器端发送“上传请求”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310400983.3A CN103475652B (zh) | 2013-09-05 | 2013-09-05 | 基于域名系统的隐蔽通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310400983.3A CN103475652B (zh) | 2013-09-05 | 2013-09-05 | 基于域名系统的隐蔽通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103475652A true CN103475652A (zh) | 2013-12-25 |
CN103475652B CN103475652B (zh) | 2016-04-06 |
Family
ID=49800348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310400983.3A Expired - Fee Related CN103475652B (zh) | 2013-09-05 | 2013-09-05 | 基于域名系统的隐蔽通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103475652B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468865A (zh) * | 2014-12-25 | 2015-03-25 | 北京奇虎科技有限公司 | 域名解析控制、响应方法及相应的装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8145750B2 (en) * | 2008-11-24 | 2012-03-27 | At&T Intellectual Property I, Lp | Detecting hidden shared dependencies through covert channels |
-
2013
- 2013-09-05 CN CN201310400983.3A patent/CN103475652B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8145750B2 (en) * | 2008-11-24 | 2012-03-27 | At&T Intellectual Property I, Lp | Detecting hidden shared dependencies through covert channels |
Non-Patent Citations (2)
Title |
---|
史晓敏,刘飞: "浅析基于DNS协议的隐蔽通道及监测技术", 《保密科学技术》 * |
谷传征: "DNS协议隐蔽信道的构建和检测技术研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468865A (zh) * | 2014-12-25 | 2015-03-25 | 北京奇虎科技有限公司 | 域名解析控制、响应方法及相应的装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103475652B (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101743715B (zh) | 在家庭网络的装置之间共享秘密信息的方法和设备 | |
KR101977109B1 (ko) | 해시함수 기반의 대규모 동시 전자서명 서비스 시스템 및 그 방법 | |
US8898482B2 (en) | Encryption system using clients and untrusted servers | |
US8793491B2 (en) | Electronic data communication system | |
CN105025019B (zh) | 一种数据安全分享方法 | |
US20100217984A1 (en) | Methods and apparatus for encrypting and decrypting email messages | |
US11184337B2 (en) | System and method for encryption, storage and transmission of digital information | |
CN104158816A (zh) | 认证方法、装置和服务器 | |
CN105516135B (zh) | 用于账号登录的方法和装置 | |
EP3360279B1 (en) | Public key infrastructure&method of distribution | |
CN113992346B (zh) | 一种基于国密加固的安全云桌面的实现方法 | |
CN101330524A (zh) | 下载、下发文件的处理方法、装置以及传输文件的系统 | |
WO2014078951A1 (en) | End-to-end encryption method for digital data sharing through a third party | |
WO2010025638A1 (zh) | 点对点直播流传递的方法、装置及系统 | |
CN112637230B (zh) | 一种即时通信方法及系统 | |
EP3614292A1 (en) | File transfer system comprising an upload, storage and download device | |
CN114499836A (zh) | 一种密钥管理方法、装置、计算机设备及可读存储介质 | |
US11743035B2 (en) | Methods, mediums, and systems for verifying devices in an encrypted messaging system | |
CN109246156A (zh) | 登录认证方法及装置、登录方法及装置以及登录认证系统 | |
JP2010021746A (ja) | 暗号鍵の自動生成による情報漏洩防止システム | |
CN103475652A (zh) | 基于域名系统的隐蔽通信方法 | |
US11658955B1 (en) | Methods, mediums, and systems for verifying devices in an encrypted messaging system | |
CN105915531B (zh) | 一种屏幕解锁方法及终端 | |
CN113918971A (zh) | 基于区块链的消息传输方法、装置、设备及可读存储介质 | |
JP2007096580A (ja) | Fax通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160406 Termination date: 20180905 |
|
CF01 | Termination of patent right due to non-payment of annual fee |