“囚犯问题”是Simmons在1983年提出的隐蔽通信的典型模型[5]。囚犯Alice和Bob被关押在监狱的不同牢房里,他们准备越狱,故需通过一种隐蔽的方式交换信息,但他们之间的通信必须通过狱警Walter的检查。因此,他们必须找到一种办法,可以将秘密的信息隐藏在普通的信息里。如图1.1所示:
囚犯问题根据Walter的反应方式分为被动狱警问题、主动狱警问题及恶意狱警问题3种:
(1)被动狱警问题:狱警Walter只检查他们之间传递的信息有没有可疑的地方,一旦发现有可疑信息甚至是非法信息通过,就会立即做出相应的反应。
(2)主动狱警问题:狱警Walter在不破坏公开信息的前提下,故意去修改一些可能隐藏有机密信息的地方,以达到破坏可能的机密信息的目的。比如,对于文本数据,他可能会把其中一些词句用相近的同义词来代替,而不改变通信的内容。
(3)恶意狱警问题:狱警Walter可能彻底改变通信囚犯的信息,或者伪装成一个囚犯,隐藏伪造的机密信息,发给另外的囚犯。在这种条件下,囚犯可能就会上当,他的真实想法就会暴露无遗。对这种情况,囚犯是无能为力的。不过现实生活中,这种恶意破坏通信内容的行为一般是不允许的,有诱骗嫌疑。目前的研究工作重点是针对主动狱警问题。
1.2 信息隐蔽技术的分类
1、按载体类型分类:
包括基于文本、图像、声音和视频。
2、按密钥分类:
若嵌入和提取采用相同的密钥,则称其为对称隐藏算法,否则称为公钥隐藏算法。
3、按嵌入域分类:
只要可分为空域及变换域方法。
4、按提取的要求分类:
若在提取隐藏信息时不需要利用原始载体,则称为盲隐藏,否则为非盲隐藏。
5、按保护对象分类:
主要分为隐写术和水印技术。
1.3 信息隐藏技术的研究现状及应用
1.4 论文主要内容及结构安排
第1章概述了信息隐藏技术的基本概念,工作模型,信息隐藏技术的分类,以及隐蔽信道的发展现状和发展趋势。
第2章介绍了网络隐蔽信道的定义分类,以及TCP网络隐蔽信道基本模型,并通过解析TCP首部的字段,讨论了在TCP报文段构造隐蔽信道的可行性,最后讨论基于urgent位(紧急位)构造隐蔽信道的大致思路。
第3章对网络驱动开发相关的核心技术做了详细的介绍,包括开发平台的搭建及环境配置,NDIS网络驱动概念,最重要的NDIS中间层驱动,还有数据传输中的校验算法选择。
第4章对工程进行需求分析,设计工程的实现流程架构。
第5章对程序的演示过程截图做详细介绍,并对实验过程中出现的问题和结果做一定的分析,对不足的地方提出改进的方案。
2 网络隐蔽信道
2.1 网络隐蔽信道定义
1973年,B.W.Lampson首次提出了隐通道问题。
隐蔽信道(隐通道)是指是指系统用户用违反系统安全策略的方式传送信息给另一用户的机制,在一个系统中,给定一个安全策略模型(如强制安全模型)M及其解释I(M),I(M)中的任何两个主体I(Sh)和I(SI)之间的任何潜在的通信是隐蔽的,当且仅当两个相应主体Sh和SI的任何通信在安全模型M中是非法的。
2.2 网络隐蔽信道分类
根据隐蔽信道的形成,隐通道可分为存储隐蔽信道 (Storage Covert Channels)和时间隐蔽信道(Timing Covert Channels)。