理论是人们对事物知识的理解和论述,是深入进行相关研究的基础。以数据加密技术为例,1949年美国科学家Shannon发表了著名的《保密系统的通信理论》一文,以信息论为基础建立起了数据加密的整套理论体系,虽然发展到现在部分理论已经不太适用,但其支撑起了现代密码学70余年的发展。信息隐藏经过近些年的不断完善,虽然没有形成统一的理论框架,但主要体系也建立完毕,指导各项研究的顺利开展。相比较而言,信息伪装的相关研究出现较晚,理论研究相对滞后,没有一个成型的理论框架。结合信息伪装技术的理论体系,参考相关领域(数据加密、信息隐藏)已经形成的框架,建立使用于DEM信息伪装的基础模型,并进行科学合理的描述,抽取最核心的本质,是进行DEM信息伪装的前提。
DEM信息伪装是通过一定的处理手段,将DEM的全部或局部高程信息转换为与周围地形相匹配的非真实数据,并能在合适条件下进行还原的技术和方法,伪装的结果仍旧是能够进行地形表达的DEM数据。实际上,DEM信息伪装可以看成将数据整体或部分隐藏于自身的信息保护技术,是一种主动的信息自隐藏技术,更是一种顾及地形特征的数据加密技术。根据不同的角度,DEM信息伪装具有不同的技术框架。考虑信息伪装的目的主要是保护重要地形信息在传输过程中的安全,结合其他领域的相关理论,设计DEM信息伪装的基础框架如图3.1所示。
图3.1中虚线表示的部分说明该过程在实际传输中并不一定存在。该模型用以下五元组进行形式化描述:
图3.1 DEM信息伪装的基础框架
各参数的意义如下。
S :DEM数据,包括4种类型。 S 1 表示最原始的DEM数据,包含重要高程信息和普通高程信息两部分内容; S 2 表示伪装后形成的DEM数据,是重要信息伪装后的载体数据; S 3 表示用户接收到的DEM数据,是伪装DEM数据经传输后呈现的状态,同样属于伪装数据。如果在传输过程中不存在任何形式的外来攻击,则有 S 2 = S 3 ; S 4 表示合法接收者最终得到的DEM数据,即还原数据。
C :重要高程信息,同样包括4种类型。 C 1 表示重要信息最初的状态,是原始数据的子集,有 C 1 ⊆ S 1 ; C 2 表示重要信息经伪装后的状态,是伪装数据的子集,有 C 2 ⊆ S 2 ; C 3 表示从伪装DEM数据中提取出来的重要信息,是接收到伪装数据的子集,有 C 3 ⊆ S 3 。同样,如果在传输过程中不存在任何形式的外来攻击,则有 C 2 = C 3 ; C 4 表示还原得到的重要信息,是还原数据的子集,有 C 4 ⊆ S 4 。
K :密钥,包括两种类型。 K 1 表示伪装密钥, K 2 表示还原密钥。一般情况下, K 1 = K 2 或存在某种关联关系,但利用公钥方法时两者可以相互独立。
P :预处理操作,包括两种类型。 P 1 表示重要信息进行伪装前的预处理过程; P 2 表示还原后对接收到的重要信息进行的解预处理操作。 P 1 和 P 2 两者互为逆过程。
D :伪装还原操作,包括两种类型。 D 1 表示伪装操作,是重要信息到伪装信息的空间变换; D 2 表示还原操作,是伪装信息到还原信息的空间变换。 D 1 和 D 2 两者互为逆变换,是DEM信息伪装的关键。
根据空间通信模型,整个DEM信息伪装过程主要包括5个模块。
1. 伪装模块
伪装模块的输入是原始DEM数据中的重要信息 C 1 ,通过伪装操作 D 1 输出经过伪装后的重要信息 C 2 。整个过程表示为
很多情况下,原始信息不能直接进行信息伪装,需要先进行数据预处理,即整个伪装模块表示为
数据预处理是指在进行DEM信息伪装前对数据进行预先调整的过程,一般包括数据压缩和高程数值格式调整两个方面。数据压缩的目的是解决数据量过大造成伪装效率低下的问题,根据具体需要可以选择不同的压缩方法,但基本原则是必须保证压缩数据能够满足具体应用的最低精度要求;数值格式调整的目的是将高程信息转换成能够直接用于信息伪装算法的操作。在实际应用中,并不是所有DEM数据中高程数值的格式都可以满足伪装算法处理的要求。有些伪装算法对伪装处理数据的长度具有明确的要求,如DES算法的处理对象只能为8位字符,有些算法仅处理整数数据等。DEM数据的存储按照不同的精度要求具有不同的格式,一般为浮点型数据,根据精度不同,小数的位数也不相同,信息伪装前需要对高程数据的格式进行一定的调整。进行数据预处理不仅可以使高程数值更适合伪装算法的处理,还可以大幅度提高DEM信息伪装的效率。
2. 传输模块
传输模块主要负责伪装数据的传输,其主要任务是将包含初始伪装信息 C 2 的初始伪装DEM数据 S 2 传输给接收方,得到包含接收到伪装信息 C 3 的DEM数据 S 3 。如果在传输过程中没有遭到任何攻击,则认为
DEM数据传输的最佳效果是能够达到上述要求的,但实际上由于信道环境等问题,数据极有可能受到不同形式的攻击,主要分为主动攻击和被动攻击两种形式。主动攻击是攻击者对专有信道中通过的所有数据进行无选择的破坏修改,即使不能判断DEM数据是否经过了伪装处理,但仍对其进行某些属性特征的处理,破坏伪装数据中重要信息的完整性;被动攻击是攻击者对信道中经过的数据进行有选择的处理,是在首先判断出DEM数据经过伪装处理后再进行的各种攻击。根据攻击者掌握的具体条件不同,被动攻击又可以分为以下几种情况。
(1)攻击者已知采用的信息伪装算法并同时截取到原始DEM数据和传输中的伪装DEM数据。攻击者的主要目的是根据两种DEM数据之间的不同,判断出哪些信息是数据拥有者计划在传输过程中重点保护的内容。
(2)攻击者截取了伪装数据并持有部分重要地形信息。攻击者的主要目的是根据部分信息反解出进行信息伪装采用的密钥和方法,提取全部的重要信息。
(3)攻击者已知进行保护的全部重要内容和伪装算法,其主要攻击目的是判断信道中通过的其他伪装数据,通过截取和破坏阻断信息传输。
(4)攻击者仅仅截取到伪装后的DEM数据,根据已有经验对数据是否经过特殊处理进行判断,是完全的盲分析。这是最常见的一种攻击方式,也是最难的一种攻击方式。
3. 还原模块
还原模块的输入是接收到的伪装信息 C 3 ,通过还原操作 D 2 输出的是还原得到的重要信息 C 4 。整个过程表示为
经过还原处理得到的仅是为适应伪装算法进行预处理后的数据,因此需要对其进行解预处理后才能得到真正的还原信息。解预处理的方法主要根据预处理的方法确定,如果之前进行了数据压缩,就需要进行数据的解压缩(部分数据在压缩后不能无损复原);如果进行了格式调整,如数据取整,在解预处理后就应该将其归化到合理的高程表达区间内。
4. 检验模块
检验模块包括伪装检验和还原检验两部分。伪装检验的目的是判别经过伪装处理得到的DEM数据是否达到了预期要求,一般包括安全性和迷惑性两个内容。安全性检验的一个重点是判断伪装数据与原始数据之间是否具有足够大的差异,迷惑性检验是要判断伪装数据是否具有模拟地形的能力,两者都是进行伪装检验的重要内容。还原检验的目的是检查还原数据是否达到了数据传输后继续应用所需要的最低要求,主要是检验还原数据和原始数据之间的精度差异,判断伪装或还原过程中损失的数据精度是否影响DEM的后续使用。
5. 密钥模块
密钥模块的功能主要有两个:产生密钥和传输密钥。根据Kerckhoffs法则,伪装算法的设计应该是完全公开的,其安全性主要依赖于密钥的可靠性。因此,合理的信息伪装算法应该仅根据密钥就可以将伪装数据完整还原。为了保证重要信息的安全,伪装密钥一般要在绝对安全的信道中进行传输。
以上5个模块中,伪装模块和还原模块是DEM信息伪装最主要的内容,具体进行待保护信息的处理。对DEM信息伪装的基础框架进行简化,抽取其中最核心的部分,可以得到如图3.2所示的简化框架。
图3.2 DEM信息伪装的简化框架
用以下三元组表示为