隐藏技术范文
时间:2023-04-05 11:35:02
导语:如何才能写好一篇隐藏技术,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
信息隐藏技术可以追溯到远古时代,方法从音符、咒语到五花八门的隐写术,但隐写术发展一直比较缓慢,没有成为一门独立的学科,人们对于信息保密更多的是采用密码技术。直到信息技术和计算机技术高度发达的今天,数字化信息与隐写术相结合,为古老的隐写术注入了新的活力,使得数字化信息隐藏技术成为一门全新的技术,为探索非密码的通信安全提供了新途径。
1.信息隐藏的基本方式
1.1传输隐藏
在视频通信系统中隐藏信息,利用视频通信压缩编码中可利用的资源,在确保不使视频信号质量严重下降的前提下,嵌入压缩的话音编码,形成秘密通信信道。同时数据通信中的IP包和TCP包,均有未使用的保留空间,可用来传输隐藏信息。另外,IP包的时间戳也可传送1个比特的数据。
1.2载体隐藏
在文本文件、图像文件及可执行文件中插入秘密信息,可实现信息隐藏。利用话音信号的自然冗余性,将秘密信息直接编码到文件内容中去,或将其编码到文本格式中,形成以文本为载体的信息隐藏。将秘密信息插入图像文件中对人的视觉系统不敏感的比特位,在不影响图像质量的前提下实现信息隐藏。利用可执行文件中的冗余信息,加载秘密信息。
1.3存储隐藏
利用计算机系统中保留或未使用的空间保存秘密信息,为隐藏信息提供另外一种方式,通过创建隐藏分区、使用操作系统分配给文件但未使用的空间来隐藏信息。同一个计算机系统中不同安全级别的两台主机,根据预先约定的规则,通过存储特定数据也可传递信息。级别高的主机在特定区域存储不同大小、不同名称的文件,级别低的主机虽不能访问数据,但可从文件列表获取所要的信息。
2.信息隐藏的实现方法
2.1基于替换的信息隐藏方法
基于替换的信息隐藏,就是用秘密信息比特替换掉伪装载体中不重要的比特,实现对秘密信息的隐藏。如果这种嵌入的信息在传输过程中不被察觉,接收者就可从秘密信息嵌入的位置提取出秘密信息。常用的替换方法:一是最低比特位替换。就是利用图像位平面最低几位比特对人的视觉系统不敏感的特性,将这些比特替换成秘密信息的相应比特。利用此种方法可在伪装载体中隐藏大量秘密信息而不被察觉。二是伪随机置换。就是把秘密信息比特近似随机地分散在整个载体中。用伪随机数发生器产生索引序列,并在以此为索引的载体元素中插入秘密信息。利用此种方法插入比特的顺序无规律可找,因而增加了被攻击的复杂度。三是载体区域和奇偶校验位替换。将载体伪随机地分成若干个不相接的载体区域,在每个区域的奇偶校验位上嵌入一个信息比特,若奇偶校验位与信息比特不匹配,则区域中所有值最低一个比特位反转,使二者相等,在译码过程中计算出所有区域的奇偶校验位,排列起来重构信息。四是量化和抖动替换。利用数字图像的抖动和量化处理过程插入秘密信息。运用预测编码的量化误差,通过调整差分信号Δi来传送秘密信息。五是OSI网络协议帧结构替换。就是将秘密信息插入TCP/IP包中未使用的空间,形成一个秘密的通信信道。
2.2基于变换的信息隐藏方法
基于变换的信息隐藏,即使用离散余弦变换或小波变换在图像中嵌入信息,以获得更为健壮的隐藏信息。小波变换法是将所要传送的图像初始化(每个像素后R位置1),后经小波变换,分解成不同尺度空间、不同分辨率的一系列子图像,再对这些子图像进行适当量化、编码和加密隐藏处理,完成秘密信息的隐藏。回声隐藏法是一种有代表性的变换技术,即在离散信号f(t)中引入回声f(t-Δt) ,生成伪装信号c(t)=f(t)+af(t-Δt)来隐藏信息。利用回声信号延时Δt进行编码,发送Δt表示信号编码“0”,发送Δt’表示信号编码“1”。发送端将信号分成间隔大小不一的多个信号段,每一个信号段插入一个秘密比特,接收方通过同步措施重构信号段,并从伪装信号中提取秘密信息。
2.3基于扩频的信息隐藏方法
借鉴扩频通信技术原理,将信号调制到远远大于所需的带宽内传输,让信号淹没于信道噪声和热噪声之中,接收端采用相关检测法恢复出有用信号,滤除干扰信号,实现信息隐藏。由于这种方法占用频带很宽,所传输信号的信噪比(可以工作于负信噪比条件下)和功率谱密度都很小,因而很难被检测和干扰,具有很强的隐蔽性和较低的截获概率。
除此之外,基于统计知识的信息隐藏、基于变形技术的信息隐藏、基于神经网络的信息隐藏等许多信息隐藏方法尚在研究中。
3.信息隐藏技术对发展隐蔽通信的启示
信息隐藏技术与密码技术相比,在于它麻痹了攻击者的意志,使得秘密信息隐藏于信息海洋之中,从而获得意想不到的安全效果,受到人们越来越多的关注,同时也为隐蔽通信提供了一种思路,可以用在特殊情况下的最低限度通信。
3.1“隐话于数”
随着信息技术的迅速发展,数据通信业务增长较快。将秘密的话音业务隐藏于数据海洋中,不失为一种可取的方法。一是在发端采取特殊的话音编码技术,将编码后的话音编码插入数据文件中,替换数据文件中的冗余信息,如文本文件、图像文件等,接收端用特殊的解码设备将其还原出来。二是在基于以太网技术的数据包中插入编码后的秘密信息,如将其插入IP帧结构或TCP帧结构中保留的比特位,并以特定的记号标识数据包的顺序。三是将其插入噪声中。借鉴信息隐藏技术中量化和抖动替换技术,在有特殊需要的情况下,将秘密信息插入噪声中传送,用于特殊时期敏感信息的隐蔽传递。
篇2
关键词:信息隐藏技术;研究
中图分类号:TP391.41 文献标识码:A 文章编号:1001-828X(2013)04-0-01
一、语音信息隐藏技术的定义
语音信息隐藏,顾名思义就是在音频中嵌入秘密信息,是利用人体听觉器官的不敏感(听觉冗余),以及音频信息本身存在的冗余性(数据特性冗余),将秘密信息通过一定的算法以一种不被察觉和感知的方式隐藏于音频载体(包括语音、乐音等)中,以达到隐蔽通信的目的。
一般情况下,一个安全、有效的音频信息隐藏系统必须满足以下三项技术要求:一是高度的透明性,即混合音频与载体音频在感知上不可区分,在统计特性上也难以区分;二是具有一定的嵌入容量,即嵌入到载体音频中的信息量,以满足隐藏通信的要求;三是具有较强的鲁棒性,即具有抵抗扰、攻击的能力,以保证接收方能正确提取秘密信息。
二、信息隐藏的基本方式
(一)传输隐藏。在视频通信系统中隐藏信息,利用视频通信压缩编码中可利用的资源,在确保不使视频信号质量严重下降的前提下,嵌入压缩的话音编码,形成秘密通信信道。
(二)载体隐藏。在文本文件、图像文件以及可执行文件中插入秘密信息,可实现信息隐藏。利用话音信号的自然冗余性,将秘密信息直接编码到文件内容中去,或将其编码到文本格式中,形成以文本为载体的信息隐藏,将秘密信息插入图像文件中对人的视觉系统不敏感的比特位,在不影响图像质量的前提下实现信息隐藏。利用可执行文件中的冗余信息,加载秘密信息。
(三)存储隐藏。利用计算机系统中保留或未使用的空间保存秘密信息,为隐藏信息提供另外一种方式,通过创建隐藏分区、使用操作系统分配给文件但未使用的空间来隐藏信息。同一个计算机系统中不同安全级别的两台主机,根据预先约定的规则,通过存储特定数据也可传递信息。级别高的主机在特定区域存储不同大小、不同名称的文件,级别低的主机虽不能访问数据,但可从文件列表获取所要的信息。
三、信息隐藏在军事领域的应用
现代高技术局部战争对军事通信提出了很高的要求,除具备各种技术能力和军事能力外,抗毁顽存能力和安全保密能力尤其重要,军事通信设施历来都是地方首先攻击、杀伤的目标。如何安全及时地传递情报信息与指挥控制信息,并避免敌方的窃听或篡改,关系到能否真正有效地控制信息安全。
日益发展的信息隐藏技术有别于以往的加密解密技术,特别实在利用共同通信网络传送秘密嘻嘻方面新建了一条隐蔽安全的传输信道,引出了一种新颖的作战方式,丰富了网络战的内容。信息隐藏技术与其他信息安全技术相比,具有不可比拟的优点,因此,它在军事上具有更加广阔的应用前景。音频信息隐藏技术作为信息隐藏技术的一个重要分支,同样也受到各方面的广泛关注。现将音频信息隐藏技术在军事上的应用总结如下:
1.隐藏通信。由于隐藏通信具有的透明性,人们很难觉察到隐藏在载体中的秘密信息,因此,某些重要军事信息就可以隐藏在普通的多媒体数据中传输,从而避开第三方的窃听和监控。网络情报战是信息战的重要组成部分,其核心内容是利用公用网络进行秘密信息的传送,但是,经过加密的文件的无序容易引起攻击者的注意。网络多媒体技术的广泛应用使得利用公用网络进行隐藏通信有了新的思路。音频文件是广泛使用的普通多媒体,可以利用数字化音频信息相对于的听觉冗余,进行各种时域和变换域的信息隐藏,从而实现军事秘密信息的隐藏通信。
2.情报完整性鉴定。数据完整性鉴定,又称作数据篡改验证,是指对某一信息的真伪或完整性的判别,并进一步指出该信息与原始真实信息的差别,即提供有关证据指明真实信息可能经历的篡改操作。在军事情报中,对情报信息的真伪或完整性的判别显得尤为重要。例如,可以通过使用脆弱水印技术保护情报信息,一旦被篡改就会破坏水印,从而很容易被识别。
3.攻敌不备。军事专家认为,堵塞或截断敌人的情报渠道最有效的措施就是对敌通信侦察平台及通信侦察分队实施武力攻击或干扰。如今的信息激技术条件下,我军要考虑的是如何将各种计算机病毒、“信息炸弹”等信息系统的天敌安全地传输到敌军的信息通信系统中去,在必要的时候激活它们,给敌军以致命的打击,音频信息隐藏技术就可以被用来完成殊荣这些“信息炸弹”的任务。
4.数据保密。在进行秘密数据存储时要防止其被非授权用户访问,这是军事安全的重要内容。有了音频信息隐藏技术,就可以利用它来为硬盘、光盘和U盘等存储设备上的秘密信息多添加一层防护,这样就能不引起敌方的注意,从而保证了秘密信息的安全性。
5.识别敌我信息。在信息战中,敌对双方都试图截获、利用、破坏对方的信息,甚至用一些假信息来欺骗对方。因此,信息战中对敌我信息的识别显得尤为重要。信息隐藏的分支—音频水印技术已作为解决此问题的一个方案:即信息的发送方,将自己的识别代码以音频水印的形式隐藏在所要发送的信息中;当接收方发现接收、截获的信息中检测不到己方的识别代码或与知的识别码不同时,即可断定该信息来自敌方,从而决定进一步的处理方案。
篇3
关键词:信息隐藏 通信 信息安全
中图分类号: TP309.7 文献标识码: A 文章编号: 1003-6938(2011)04-0062-04
Research on the Application of the Information Hiding Technology in Communication
Qiao Mingliang Song Li (People's Liberation Army No.68026, Lanzhou, Gansu, 730020)
Abstract:The emergence and development of the information hiding technology, have exploited a new field for the research and application of the information security. Compared with the information encryption technology, the principle and characteristics of the information hiding technology are discussed in detail. In addition, the application of the information hiding technology in communication in the future is discussed also.
Key words: information hiding; communication; information security
CLC number: TP309.7 Document code: A Article ID: 1003-6938(2011)04-0062-04
1 引言
随着通信技术的飞速发展,信息安全正逐渐成为一个重要的研究课题。传统的信息安全机制普遍采用信息加密方式。但随着计算机软硬件技术的发展对加密信息破译能力的大幅提升,迫使人们对加密算法的强度提出越来越高的要求。此外,加密技术在一些领域日益呈现出一定的局限性,它在防止信息泄密的同时,也暴露了机密信息的存在,因此,容易引起攻击方的注意是加密技术一个不可避免的显著弱点。信息隐藏(Information Hiding)是信息安全领域一个新兴的研究热点,涉及感知科学、信息论、密码学等多个学科,并涵盖信号处理、扩频通信等多个专业技术的研究方向,它的出现和发展,为信息安全的研究和应用拓展了一个新的领域。[1 ] [2 ] [3 ]
信息隐藏的实现利用了数据文件(主要是多媒体文件)的冗余性和人类感觉器官分辨信息的能力有限性等特点,通过各种嵌入算法,将秘密信息嵌入到作为载体的多媒体文件中。[4 ] [5 ] 由于隐密载体与原载体在特征上没有区别,不易引人注意,从而容易逃过攻击者的破解,实现秘密信息的安全传输。因此,信息隐藏技术所具备的特殊优势决定了其可广泛应用于电子商务、保密通信、版权保护、拷贝控制及操作跟踪、认证和签名等各个信息安全领域。本文通过对信息隐藏与信息加密技术的比较,对信息隐藏技术的原理、分类、实施方法、具体特征等进行详细分析,并研究了其在通信中的应用前景。
2 信息隐藏技术的原理和特征
2.1 信息隐藏与信息加密
信息加密是利用密码学技术将机密文件进行加密编码,把明文变换成密文后,通过公开信道送到接收者手中(见图1)。由于经过加密处理的密文是一组乱码,当监视通信信道的攻击者发现并截获到乱码后,就可以利用已有的各种攻击方法对密文进行破译。这种方式虽然不易被解密,但通信易被第三方察觉,一定程度上向攻击者明确提示了重要信息的存在,所以容易引起攻击者的注意,进而遭受到干扰和攻击,导致密文通信失败。同时,即使攻击者无法对密文进行破译,也可在破译失败后将该信息进行破坏,使得合法的接收者也无法获取密文。
信息隐藏也称“信息隐匿”,是信息安全研究领域中的一门新兴的交叉学科,也是当前信息安全领域国内外各机构研究的热点方向。信息隐藏与信息加密的目的相同,都是为了保护秘密信息的存储和传输,使之免遭第三方的破坏和攻击,但两者之间具有显著的区别。信息隐藏技术是将机密信息秘密隐藏于另一公开信息(载体、宿主、掩体对象)中,即将秘密信息(嵌入对象)嵌入到另一表面看起来普通的信息载体中,然后通过该公开信息(隐藏对象)的传输来传递秘密信息(见图2)。第三方很难从公开信息中判断机密信息是否存在,即无法直观地判断所监视的信息中是否含有秘密信息。这种方式使含有隐匿信息的宿主信息不会引起第三方的注意和怀疑,降低了机密信息的截获率,从根本上保证了机密信息的安全。其关键技术主要是在确保宿主文件格式、质量和大小不变的前提下,将密文保存在该宿主文件中,且能对密文实现无损还原。
2.2 信息隐藏技术的原理
信息隐藏系统(典型模型见图3)包括一个嵌入过程和一个提取过程。在嵌入和提取过程中通常都会使用一个秘密信息来对其进行控制,使得只有合法授权用户才能对其进行操作,这个秘密信息被称为隐藏密钥,隐藏密钥在嵌入过程中称为嵌入密钥,在提取过程中称为提取密钥。
在嵌入过程中,信息隐藏者利用嵌入密钥,将密文添加到载体中,生成隐蔽载体。隐蔽载体在传输过程中有可能被隐藏分析者截获并进行处理。在提取过程中,提取者利用提取密钥从接收到的、可能经过修改的隐蔽载体中恢复出密文。在密文提取时,根据隐藏算法的不同,有可能需要载体,也可能不需要。
信息隐藏的研究分为隐藏技术和隐藏分析技术两部分。隐藏技术研究的主要内容是寻求向载体中秘密嵌入密文的方法;隐藏分析技术研究的主要内容则是考虑如何从隐蔽载体中发现密文的存在,从而正确获取所嵌入密文,或通过对隐蔽载体的处理达到破坏嵌入密文和阻止攻击方提取嵌入密文的目的,这一过程中使用的算法通称为分析算法,其中用于隐藏信息检测的算法又称为检测算法。
信息隐藏可在不改变原有通信设备的基础上实现,只需要在原通信系统的收发设备,增加信息隐藏/隐藏信息提取模块,便能够在完成信息隐蔽传送的同时,保持系统原有的通信功能不受其影响(见图4)。[5 ]首先获取密文信息,为进一步提高安全性,可结合信息加密技术对密文信息进行预处理,得到加密信息,之后可采取交织、纠错等编码措施。接下来,获取载体信息,如音频、图像、文本等原始宿主信息;如果采用的是变换域信息隐藏算法,则需要对载体信息进行相应的域变换;同时,为使接收端能对隐藏信息进行准确的盲检测,可在载体信息中加入同步信号。之后,便可将秘密信息嵌入到载体信息中、完成变换域的反变换,得到隐蔽载体。最后,由发送端将隐含密文信息的隐蔽载体通过公共信道进行传送。
接收端获得隐蔽载体后,对其进行相应的域变换、信道解码和解密后,就获取了所嵌入的密文信息。
2.3 信息隐藏技术的分类及特征
信息隐藏技术一般具有如下分类方法:
(1)按载体类型分类。根据信息隐藏所采用载体的不同,信息隐藏技术可分为文本信息隐藏、音频信息隐藏、图像信息隐藏、视频信息隐藏等。音频信息和图像信息隐藏是信息隐藏的重要分支。
(2)按密钥分类。若嵌入和提取采用相同密钥,则称其为对称隐藏算法,否则称为公钥隐藏算法。
(3)按嵌入域分类。主要可分为空域(或时域)方法及变换域方法。
(4)按提取的要求分类。若在提取隐藏信息时不需要利用原始载体,则称为盲隐藏;否则称为非盲隐藏。
(5)按保护对象分类。主要可分为隐写术和水印技术(见图5)。
隐写术的目的是在不引起任何怀疑的情况下秘密传送消息,信息隐藏技术在通信中的应用主要是指隐写术。数字水印是指嵌在数字产品中的数字信号,可以是图像、文字、符号、数字等一切可以作为标识和标记的信息,其目的是进行版权保护、所有权证明、指纹(追踪多份拷贝)和完整性保护等。匿名通信就是寻找各种途径来隐藏通信的主体,即信息的发送者和接收者。
2.3.1 基于音频信号的信息隐藏
基于语音信号的信息隐藏技术,以嵌入信息所采用的域为依据,可将语音信息隐藏划分为时域音频隐藏、频域音频隐藏、离散余弦变换(DCT)域音频隐藏,小波(Wavelet)域音频隐藏和压缩域音频隐藏等。[7 ] [8 ] [9 ] [10 ]这些方法各有其优缺点:时域和频域的嵌入方法相对容易实现,但健壮性较差;而DCT域和Wavelet域方法虽然透明性和健壮性均较好,尤其是在抵抗A/D、D/A攻击时具有非常优秀的表现,但其操作复杂,实现难度相对较高;压缩域隐藏算法具有较好的透明性,但健壮性相对较差。
(1) 时域隐藏。时域音频信息隐藏,主要是对音频信号的幅度或者音频文件结构进行处理,是较为简单的一类隐藏方法。它主要包括最低有效位(LSB, Least Significant Bit)算法及改进LSB隐藏、回声隐藏和音频文件结构隐藏等。其中,LSB隐藏的实现方法,是将待隐藏信息按一定的规律对音频数据的最不重要位进行替换,嵌入秘密信息,其容量较大,实现容易,但健壮性较差,甚至不能抵抗微弱噪声的攻击。基于回声的隐藏方法,是在音频信号上叠加一些微弱的回声,通过改变回声的初始幅度、衰退速度和时间延迟等来嵌入隐秘信息。
(2)频域隐藏。频域音频信息隐藏,是对音频信号进行离散傅立叶变换(DFT)变换,然后对音频的频域特征进行相关处理,以实现信息的嵌入,主要包括频域LSB隐藏、扩频隐藏、相位隐藏和频带分割隐藏等。其中,扩频隐藏借鉴了扩频通信理论,将待隐藏信息以伪噪声的形式扩散到整个音频通带上,因此透明性好,抗噪能力强,具有很高的实用价值。频带分割隐藏将音频载体的频带分割成无数个子带,充分利用听觉阈值和听觉掩蔽效应等人耳听觉特性,在听觉不太敏感的子带上进行隐藏,听觉透明性好,但频域透明性较差。
(3)离散余弦变换域隐藏。离散余弦变换域隐藏,是对音频载体进行DCT变换,然后对DCT系数进行相关操作,从而完成信息的嵌入,包括DCT域LSB隐藏、DCT域相位隐藏等方法。
(4)小波域隐藏。小波域隐藏,是对音频载体进行Wavelet变换,然后对其系数进行修改,以实现信息的嵌入,包括Wavelet域LSB隐藏、Wavelet域能量比隐藏等。
(5)压缩域隐藏。压缩域隐藏方法是近年来才出现的一类隐藏方法,主要目标是将信息嵌入到压缩算法的码流或相关码表中,如MP3哈夫曼码表,MIDI乐器码表等。
2.3.2 基于图像信号的信息隐藏
基于图像信号的信息隐藏技术主要有两大类[11]:基于空间域和基于变换域。
(1)基于空间域的信息隐藏。空间域隐藏技术多采用替换法,即利用秘密信息替换隐蔽载体中的不重要位,如载体图像上某些选定像素点的最低有效位的值,将其用隐藏信息进行替换。这类方法算法简单,信息隐藏容量大,但抗干扰能力较差,在进行数字图像处理和图像变换后,图像的低位往往容易被改变,使隐藏信息被破坏。
(2)基于变换域的信息隐藏。变换域隐藏是将载体信息转换到变换域,利用变换域的特性将秘密信息嵌入,再将隐蔽载体进行反变换。比较典型的有离散余弦变换隐藏、离散傅立叶变换隐藏、小波变换隐藏等。基于变换域的信息隐藏方法,健壮性较好,但计算复杂度较高,嵌入信息的容量较低。
2.3.3 信息隐藏技术的特征
信息隐藏应具备四个主要特性:[12 ][ 13] [14]
(1)透明性。这是信息隐藏的基本要求,载体在嵌入隐藏信息后没有明显的降质,不影响载体的感觉效果和使用价值;第三方从感官或通过计算机监测都不易觉察隐藏信息的存在。
(2)健壮性。在不严重损害载体的前提下,当经受常见的信号处理(包括有损压缩、滤波、调制等)、有意或无意的攻击(如非法攻击、篡改、删除等)或者信道中随机噪声的影响后,还可以提取出原始的隐藏信息。
(3)嵌入量满足要求。由于信息隐藏的目的是隐藏信息,因而隐藏算法能嵌入的数据量要大,以满足隐藏机密信息的需要;隐藏算法所需的时空开销代价要小。
(4)自恢复性。不需要原始载体信号,便能从载体中提取隐藏的机密信息;信息在经过各种操作和变换后仍能很好地恢复。
3 信息隐藏技术在通信中的应用前景
当前,我国在信息安全的应用方法和研究领域方面,大多还是采用传统意义下的信息加密技术,例如用hash函数,伪随机序列等密码学技术等,这种信息安全模式存在两大弊端:一是信息安全无法保障,不能保证加密的信息不被破译;二是耗资巨大,现代先进信息安全技术往往对设备要求较高,这在很大程度上增加了对基础工业的投入。
因此,对信息隐藏新技术与新模式的研究和发展,在信息安全领域具有很大的潜在价值。具体而言,信息隐藏技术在通信中的应用前景有以下几个方面:
(1)将被动保密变主动隐藏。新型信息隐藏技术使需要保护的消息由“看不懂”变为“看不见”;将传统的“让攻击方解密不了”的信息加密理念提升为“让攻击方想象不到”的层面,从而使通信中传统的保密、预防的被动模式,转型到既安全又能够迷惑第三方的主动模式。
(2)现有传输条件下的低信息截获率。采用先进的信息与信号处理技术,以及多级包装式信息隐藏新模式,可在很大程度上降低现有传输条件下秘密信息的截获率。举例而言,假如需要传输秘密文本信息A,我们将该文本A隐藏于另一文本信息B中,之后,我们将该文本B隐藏于图片C中,再将图片C隐藏于图片D中,最后将图片D隐藏于普通话音中。即文本A(隐藏于)文本B(隐藏于)图片C(隐藏于)图片D(隐藏于)普通话音。通过上述方式,一是攻击方不会想到秘密信息正在以一种特殊多级包装形式进行传输,也就没有试图解密的意图;二是即使前几层包装信息(B、C、D)被破译,攻击方自以为解密成功,从而放弃继续解密的意图,却不知道真正的秘密信息(文本A)并没有被解密出来。
(3)多种信息安全方式的综合应用。根据不同的实际应用环境和需求,可将多种不同的信息安全技术结合应用[15 ] [16 ] [17 ],进一步提高信息的安全度。例如,当需要传递秘密信息M时,首先将M利用密钥K通过传统加密技术,得到M。然后结合多变换域信息隐藏和加密技术,将载体信息C分成两部分(x,y),经不同的变换域(F(x),G(y)),一部分嵌入密文(?浊(F(x),M')),一部分将密钥经公钥算法加密后嵌入(?滋(G(y),K')),合并后得到隐蔽载体再进行传输。通过上述步骤,较大程度上增加了信息破解的难度,提高了信息的安全防护能力。
参考文献:
[1][12][15]王丽娜等. 信息隐藏技术与应用[M]. 武汉:武汉大学出版社,2009.
[2][5][16]杨波. 信息隐藏技术及其应用[M]. 北京:科学出版社,2002.
[3]吴志军等.语音隐藏的研究及实现[J].通信学报,2002,23(8):99-104.
[4]Artz, D, “Digital Steganography: Hiding Data within Data”[J].IEEE Internet Computing Journal,2001,(6).
[6][7][13]袁开国等. 音频信息隐藏技术研究[J]. 中兴通讯技术, 2007,13(5):6-9
[8][14]李跃强,孙星明. 一种用音频作载体的信息隐藏算法[J]. 计算机应用研究,2005,(5):29-33.
[9]Blackledge.J, Coyle,E: “Information Hiding by Stochastic Diffusion and its Application to Printed Document Authentication”.[C].ISSC Conference,Dublin, 2009:1-6.
[10]Marvel, L.M., Boncelet Jr., C.G. & Retter, C., “Spread Spectrum Steganography”[J].IEEE Transactions on image processing, 1999, 8(8):1075-1083.
[11]Wang, H & Wang, S, “Cyber warfare: Steganography vs. Steganalysis”[J].Communications of the ACM,2004, 47(10):76-82.
篇4
关键词:混沌 Hash算法 混沌Hash 双向认证 身份隐藏
中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2013)07-0092-02
引言
RFID即无线射频识别技术,它是一种非接触式的自动识别技术,通过无线射频信号自动识别目标对象并获得相关的数据信息,不需要对它进行人工干预,可应用于各种恶劣的环境中。RFID在生活中的应用范围很广,目前在物流管理系统、高速公路系统、停车场管理系统等领域中得到了广泛的应用。
1 RFID系统的组成及面临的安全问题
基本的RFID系统由三部分组成:RFID读写器、RFID标签和后台数据库。它的工作原理并不复杂:首先,RFID标签进入磁场所在区域内,接收读写器发出的射频信号,然后凭借感应电流所获得的能量把存储在芯片中的标签信息发送出去,或者由标签主动发送某一频率的信号,读写器读取标签信息并进行解码后,最后送至后台数据库系统进行有关数据信息的处理。
然而由于RFID标签存储能力低、计算能力弱和电源供给有限,而且它是通过无线射频信号进行通信,很容易受到外界干扰,从而出现信息泄露或位置跟踪等隐患。RFID的隐私保护问题已经成为国内外研究的焦点,迄今,已有相当多的认证协议被提出。文献[1-2]提出了Hash Lock认证协议,该协议有效的保证标签的隐私,但标签ID没有采取动态刷新机制,导致标签很容易被追踪定位;另外提出了一种随机化Hash-Lock协议,在该协议中,标签每次产生一个随机数,解决了标签跟踪定位的问题,但在每次Tag认证时,数据库都要把所有的标签的ID发送到读写器,通信量比较大。
2 基于混沌的hash算法
Hash函数也称为单向散列函数,它是一个明文到密文的不可逆的映射,即只能对明文进行加密,而不能对其进行解密的算法。同时,Hash函数可以将任意长度的输入变换得到固定长度的输出。
在混沌系统中,系统对初始状态和参数极度敏感,混沌系统的动力学行为又极其复杂,不符合概率统计学原理,难以进行重构和预测。此外,混沌系统还具有单向性,每次迭代时,即使明文发生极小的变化,都会产生两个完全不同的结果,而对于同一个混沌映射,若其初始值和参数完全相同,必定产生两个完全相同的结果,可见,混沌序列具有hash函数所要求的单向性、初值敏感性等众多的要求,可基于混沌理论构造出优秀的Hash算法。
2.1 分段混沌映射
本文采用了一维logistic映射分段方程来构造Hash函数,分段Logistic方程如下:
其中,为方程的状态量,为参数变量,P为动态分段参数。
2.2 基于混沌映射的hash构建方法
混沌hash的构建流程如图1所示:
混沌hash的构建算法如下:
步骤一,用ASCII码表示明文序列为S,,令,把sum转化为a0,作为迭代方程的初值。
步骤二,把步骤一S中的Si转换为(3.5,4)之间的数后存放在数组U中,作为方程的参数值。
步骤三,把作为混沌方程初始值,数组U作为参数,迭代混沌方程N次,N为明文S的长度。
步骤四,把第一步得到的最终Xn作为方程初始值,作为参数,迭代方程1000次。
步骤五,从迭代的结果中选取128位,并将它们转换为二进制:,将其组合在一起构成Hash值。
2.3 性能测试
文本测试是选取一段消息序列,计算Hash值,然后随机改变消息序列的内容,再计算Hash值,将两个Hash值进行对比,作为Hash函数敏感性的评判标准。为进行Hash函数敏感性测试,选用的消息序列为:“The Ministry of Land and Resources has tracked the changing return rate in some major cities such as Beijing. Shanghai,Shenzhen,Tianjin and Hangzhou.Bubbles have emerged.”。然后根据下列条件计算对应的Hash值:
(1)明文不做任何改变。
(2)把明文中的“Ministry”变为“Zinistry”。
(3)把明文中的“country”变为“wountry”。
(4)把明文中的第一个“,”变为“.”。
得到的Hash值用16进制依次表示为:
(1)79598934b5ece6eab5c545d5641622a5
(2)6b91a8da536b5b8aa55dd4ba8c2add9b
(3)cc73aaaba6e2e6ea8b9e4cd35e9234e2
(4)d5438c545c16d019bbc4bb769aace97a
从图2可以看出,即使明文发生很微小的改变,最终的Hash值也会发生很大的变化,因此本文构造的Hash函数具有很好的初值敏感性。
2.4 碰撞攻击分析
碰撞是指对于两个不同的输入s1和s2,迭代后的Hash值H(s1)=H(s2)。碰撞攻击分析是衡量一个Hash算法优劣的重要方式。步骤为:在明文中选取一段明文,计算Hash值并以ASCII码值表示,然后随机地改变明文的值得到一个新的Hash值,同样用ASCII码值表示。对两个ASCII码值进行比较,记下在同一位置上有相同ASCII码值的字符的个数。重复以上过程多次,统计不同的Hash值在同一位置上有相同ASCII码值的字符的数目,结果如图3所示。
由上图可以看出,95%以上的Hash值在同一位置没有相同的ASCII值,而且最大相同个数仅为3,说明了该算法的碰撞程度很低。
3 基于Hash算法的RFID保密机制
本文设计了一种基于Hash函数的安全认证协议,对RFID标签与读写器之间通信进行认证与隐私的保护。
3.1 协议描述
当标签进入读写器的磁场时,标签与读写器进行通信,实现相互认证。若在数据库中查询到和标签ID相同的ID1,则证明双方身份的合法性。H(x):对明文X进行Hash运算,后台数据库中存放的是与标签ID相对应的的,防止数据库被攻击者攻击造成ID泄露的危险。
认证协议如图4所示:
RFID认证流程如下:(1)读写器向标签发出Query请求,并生成随机数Rr,和Query请求一起发送给标签。(2)标签取出Rr和本标签的ID进行运算,,标签生成一个随机数Rd,把M1和Rd一起发送给读写器。(3)读写器把M1、Rd和Rr一起转发给数据库系统。(4)后台数据库计算:,然后查询数据库中是否存在,使得,若存在,标签合法。否则,标签非法。(5)若标签通过(4)的验证,数据库对Rd进行运算,得到,把M1′发送给读写器。(6)读写器收到,Rd后发送给标签。(7)标签接收,计算,比较Hash(ID)与Hash(ID′),若相同,则证明读写器合法,否则,读写器不合法。
3.2 安全性分析
(1)实现了双方认证过程中的身份隐藏。在认证过程中,读写器并不知道标签的ID,RFID标签也不知道具体的读写器,然而通过以上过程可以在不暴露各自信息的情况下实现相互认证。(2)实现了双向认证。经过M1Hash(Rr)与Hash(ID′)的比较,读写器通过了标签的认证,经过M1′Hash(Rd)和Hash(ID)的比较,标签通过了读写器的认证。(3)抗窃听攻击。由于Hash函数的单向性,Rr及Rd的随机性,即使窃听者窃听了M1和M1′也无法得到标签的信息。(4)抗假冒攻击。假冒的标签不知道合法标签的ID,因此无法得到正确的M1与数据库进行比较,无法通过读写器的验证。(5)抗重传攻击:每次认证时,都会有不同的随机数Rr,Rd,传输的认证消息具有随机性,认证双方的通信数据无规律可行,攻击者无法预测与分析。(6)防跟踪攻击。在每次认证过程中,随机数Rr和Rd是随机变化的,所以,每次的M1和一直在变化,防止攻击者根据固定输出进行位置追踪。
4 结语
本文提出了一种采用一维logistic映射分段方程来构造Hash函数的方法,并在此基础上设计了一种RFID身份隐藏技术。本文构造的Hash函数充分利用明文信息产生迭代所需要的初始条件、参数信息以及迭代次数,该算法原理简单,计算量小,很适合应用于RFID系统中。而且,设计的RFID认证机制,在完成双方相互认证的前提下,有效的实现了用户和读写器之间的身份隐藏,具有抗窃听攻击,抗假冒攻击以及防跟踪攻击,安全性好。
参考文献
篇5
Abstract: The technique of information hiding is a method which hides the information in software encryption, and it is an improvement for the thought of software encryption. In this article, we studied the information hiding on the ordinary pattern classification and the relating with cryptographic technique, introduced the conception and classification of information hiding and compared information hiding and figure watermark. The method and principle, crucial arithmetic involved of information hiding are also explained in detail.
关键词: 信息隐藏;嵌入算法;密钥;数字水印
Key words: information hiding;inset arithmetic;secret key;watermark
中图分类号:TP319文献标识码:A 文章编号:1006-4311(2011)25-0142-03
0 引言
信息隐藏是融合了多个学科理论与多种技术于一身的新兴技术领域,它将某一信号(一般称之为签字信号)嵌入到另一信号(一般称之为主信号或称之为掩护媒体)的过程,掩护媒体经嵌入信息后变成一个伪装媒体。信息隐藏与信息加密是不尽相同的,信息加密是隐藏信息的内容,而信息隐藏是隐藏信息的存在性,信息隐藏比信息加密更为安全,因为它不容易引起攻击者的注意。
隐藏后的信息,外部表现是其他的人根本看不到这条信息的存在,它并不对信息的内容和基本特征做任何的改变,由于其不易引起攻击者注意的特点,它较之加密方法多了一层保护。密码加密和信息隐藏是我们日常生活中常见的两种方式,两者各有自己的特点,在具体的情况中,发挥自己的作用。
1 信息与图像信息隐藏技术概述
1.1 信息隐藏概念及分类 根据信息隐藏技术应用的领域不一样,它们的侧重点也有所不同,但是应用的所有领域都有一个共同点,即都是利用人类感觉器官的不敏感性(感觉冗余)以及多媒体数字信号本身存在的冗余(数据特性冗余),将信息隐藏于一个宿主信号(掩护体)中,同时不被觉察到或不易被注意到,而且不影响宿主信号的感觉效果和使用价值,从而达到隐蔽通信的目的。它是一门具有渊源历史背景的学科,涉及感知科学、信息论、密码学等多个学科领域,涵盖信号处理、扩频通信等多专业技术的研究方向。认知科学的飞速发展为信息隐藏技术奠定了生理学基础;人眼的色彩感觉和亮度适应性都为信息隐藏的实现提供了可能的途径;信息论、密码学等相关学科又为信息隐藏技术提供了丰富的理论资源:多媒体数据压缩编码与扩频通信技术的发展为信息隐藏提供了必要的技术基础[1]。
从广义上来讲,包括了版权标识和信息隐秘等,但从狭义来讲,信息隐藏是指以隐蔽通信为目的的信息隐秘技术。在通常情况下,大多数人都把信息隐秘从狭义来理解。当然这些分类也不是绝对的,定义的各种分类是相互关联的。就目前来看,信息隐秘和版权标识是研究比较广泛和热烈的课题。前者强调隐匿信息存在性,即让隐藏在多媒体数据中的信息不被发现,后者则关心隐藏的信息是否被盗版者修改或者删除。[2]
信息隐藏技术主要由两部分组成:①信息嵌入算法。它利用密钥实现秘密信息的隐藏。②隐蔽信息提取、检测算法。
它利用密钥从隐蔽在体中检测、恢复秘密信息。在密钥未知的前提下,第三者很难从隐秘载体中得到或删除、甚至发现秘密信息。如图1所示。
1.2 图像信息隐藏的基本概念 图像信息隐藏就是以数字图像为载体,将需要保密的信息以噪声的形式隐藏于公开的图像中,并且噪声必须不为人眼所觉察,从而逃避可能的检测者,以达到传递秘密信息的目的。
信息之所以能够隐藏在数字图像中,是因为:①图像本身存在很大的冗余性,所以将某些信息嵌入到图像中进行秘密传输是完全可行的,而且不会影响图像本身的传输和使用。②人的视觉系统对某些信息有一定的掩蔽效应,利用人眼的这些缺陷,可以很好的将信息隐藏而不被察觉[3]。
1.3 信息隐秘与数字水印的区别 信息隐秘和数字水印(Watermarking)是信息隐藏最重要的两个分支。
信息隐秘的目的在于如何隐藏实际存在的秘密信息,主要用于信息的安全通信。采用信息隐秘的网络通信就是把秘密信息隐藏在普通的多媒体信息中传输,由于网上存在数量巨大的多媒体信息,从而使得秘密信息难以被窃听者检测,因此将信息隐秘用于军事上是一种新的通信方式。另外,信息隐秘还可以用于保护个人隐私。数字水印主要应用于数字作品的版权保护,是近几年的热点问题[4]。
对于信息隐秘与数字水印,由于两者的目的和应用不同,因此它们的技术特点和研究的侧重点也各不相同,表1比较了它们的差异。秘密信息的嵌入与提取的过程及一些策略都适用于两者[5]。
信息隐藏技术具有以下最基本的特性:①透明性:经过一系列隐藏处理,宿主信息必须没有明显的降质现象,而被隐藏的信息无法人为地看见或听见,即人的生理感观辨别和计算机检测都无法发现宿主信息内包含了其它信息。②鲁棒性:要尽量保证隐藏了信息之后的宿主信息在经历可能的处理和攻击后,而不导致被隐藏的信息丢失的能力。③效率性:嵌入编码和提取解码的时间开销代价是否是可以接受的。④安全性:对隐藏信息、嵌入算法进行适当的加密,增强隐藏信息的安全性。
2 BMP文件信息隐藏研究与生成
在BMP图片中隐藏关键信息,其原理是利用人眼睛对不同颜色的敏感度不同,把那些存放非敏感颜色值的数据空间用来存放关键信息,但人的视觉发现不出来。BMP位图是一种以像素为单位描述颜色值的最简单图像格式。
2.1 BMP位图文件格式 BMP文件格式,是微软公司为其Windows环境设置的标准图像格式,并且操作系统提供了一套图像处理的API函数。BMP图像文件是位图文件,位图表示的是将一副图像分割成栅格一样,栅格的每一点称为像素,每一个像素具有自己的RGB(红绿蓝)值,即一副图像是由一系列像素点构成的点阵。位图文件格式支持4位RLE(行程长度编码)以及8位和24位编码,在本文中只处理24位格式,在BMP文件格式中,由于是对像素级进行的操作,可以说已达到极限,可对于视觉系统而言,它还是有很大的冗余度。24位BMP图像文件的结构特点为:
①BMP文件组成:BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。
②BMP文件头:BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。
其结构定义如下:
typedef struct tagBITMAPFILEHEADER
{
WORD bfType; // 位图文件的类型,必须为BM
DWORD bfSize; // 位图文件的大小,以字节为单位
WORD bfReserved1; // 位图文件保留字,必须为0
WORD bfReserved2; // 位图文件保留字,必须为0
DWORD bfOffBits; // 位图数据的起始位置,以相对于位图
// 文件头的偏移量表示,以字节为单位
} BITMAPFILEHEADER;
③位图信息头
BMP位图信息头数据用于说明位图的尺寸等信息。
typedef struct tagBITMAPINFOHEADER{
DWORD biSize; // 本结构所占用字节数
LONG biWidth; // 位图的宽度,以像素为单位
LONG biHeight; // 位图的高度,以像素为单位
WORD biPlanes; // 目标设备的级别,必须为1
WORD biBitCount;// 每个像素所需的位数,必须是1(双色),
// 4(16色),8(256色)或24(真彩色)之一
DWORD biCompression; // 位图压缩类型,必须是 0(不压缩),
// 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一
DWORD biSizeImage; // 位图的大小,以字节为单位
LONG biXPelsPerMeter; // 位图水平分辨率
LONG biYPelsPerMeter; // 位图垂直分辨率
DWORD biClrUsed;// 位图实际使用的颜色表中的颜色数
DWORD biClrImportant;// 位图显示过程中重要的颜色数
} BITMAPINFOHEADER;
④颜色表
颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下:
typedef struct tagRGBQUAD {
BYTErgbBlue;// 蓝色的亮度(值范围为0-255)
BYTErgbGreen; // 绿色的亮度(值范围为0-255)
BYTErgbRed; // 红色的亮度(值范围为0-255)
BYTErgbReserved;// 保留,必须为0
} RGBQUAD;
颜色表中RGBQUAD结构数据的个数有biBitCount来确定:
当biBitCount=1,4,8时,分别有2,16,256个表项;
当biBitCount=24时,没有颜色表项。
位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下:
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;// 位图信息头
RGBQUAD bmiColors[1]; // 颜色表
} BITMAPINFO;
⑤位图数据
位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上。位图的一个像素值所占的字节数:
当biBitCount=1时,8个像素占1个字节;
当biBitCount=4时,2个像素占1个字节;
当biBitCount=8时,1个像素占1个字节;
当biBitCount=24时,1个像素占3个字节;
Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充,一个扫描行所占的字节数计算方法:
DataSizePerLine= (biWidth* biBitCount+31)/8; // 一个扫描行所占的字节数
DataSizePerLine= DataSizePerLine/4*4; //字节数必须是4的倍数
位图数据的大小(不压缩情况下):
DataSize=DataSizePerLine*biHeight;
BitMap文件格式是在Microsoft Windows3.0以上版本的视窗系统环境下使用的与设备无关的点阵位图文件模式,它允许视窗系统在任何设备上显示这个点阵位图。
每个BitMap文件包含一个文件头,一个位图信息数据块和图像数据。文件头是一个BitMapFileHeader的数据结构。其中WORD(2字节)和DWORD(4字节)均为Windows系统定义的数据类型,位图信息数。
颜色表数据域是可变长的,其长度由位信息头中的biBitCount值决定。位图数据的长度由图像尺寸、像素的位数和压缩方式等共同决定。实际尺寸可由文件头中的第二项“文件大小”减去第五项“数据偏移”值得到。
2.2 BMP信息隐藏实现 利用BMP位图进行信息隐藏首先需要了解BMP文件的存放格式,24位真彩BMP位图文件包括三部分:
第一部分是BMP文件头:前2个字节是“BM”,用于识别BMP文件的标志;第3、4、5、6字节存放的是位图文件的大小,以字节为单位。第7、8、9、10字节是保留的,必须为0。第11、12、13、14字节给出位图阵列相对于文件头的偏移。[6]
第二部分是点位图信息:从第29个字节开始,第29、30字节描述的是像素的位数。第35、36、37、38字节确定图像字节数的多少,但通常此项为空。
第三部分是位图阵列:从第39个字节开始,每3个字节表示一个像素,这3个字节依次表示该像素的红、绿、蓝亮度分量值,要从位图文件中“挤”出用来隐藏信息的存储空间。
①信息隐藏实现模型。图像信息隐藏系统的模型如图2所示。
②信息隐藏实现原理。根据亮度公式:I=0.3R+0.59G+0.11B可以知道人眼对于绿色分量最为敏感,对蓝色分量最不敏感,绿色分量值改变1个单位就相当于蓝色分量改变5个、红色分量改变2个单位。折算为二进制,红色分量可以改变其低两位、绿色分量可以改变其最低位、蓝色分量可以改变其低三位。这样就可以从描述每个像素的3个字节中得到2+1+3=6个比特的冗余信息位用于存储要隐藏信息的比特流。
3 总结
如果隐藏的文件不慎落在他人手上,我们也不必担心文件会被轻易的解密,而失去它的安全性,因为隐藏的信息有如下两个特点:第一,加密后的文件在外表上与一般的文件并无二致,加密前后位图文件大小也不会发生变化,所以不必担心被人识破;第二,被加密的信息即使被人识破了,它也有75%的冗余码,要想破解这75%的部分,盗密者还是要花费一定的时间和精力的,这就提高了文件的保密性;第三,破密者不知道加密时所采取的算法,在没有正确解密密码的情况下也是很难去破译的。综上所述,隐藏文件的做法在给文件加密的过程中是很切实有效的一个做法,它在系统加密的过程中起着举足轻重的作用。
参考文献:
[1]赵树升,赵韶平.Windows信息安全原理与实践.清华大学出版社,2009,6:8-10.
[2]卿斯汉.密码学与计算机网络安全.清华大学出版社.2008:25:87-98.
[3]黄革新,肖竞华.基于BMP图像信息隐藏技术的研究与实现.Vol(5),2009:17-19.
[4]赵倩.数字水印版权保护系统:[硕士学位论文].首都经济贸易大学,2009:89-102.
篇6
关键词:信息隐藏;协作学习;立体化
随着网络中信息安全事件的不断升温,网络安全教育也越来越受到高校重视。各大高校纷纷开设该类课程。本校计算机科学与技术、信息工程等专业都相继开设《网络与信息安全》、《信息安全》、《信息安全技术》等课程,普及网络安全知识,提高学生的网络安全技能,增加网络安全意识。以《网络与信息安全》课程为例,课程分配学分为4.0,采用“2+2”模式教学,其中理论2.0为课堂教学和课堂讨论课时,实验2.0为实验课时,即每周理论2节课,单周理论课时,双周讨论课,实验课每周2节课。该课程的体系结构如图1所示。[1,2]
教学过程中的基础内容
《网络与信息安全》课程分为三大模块:①网络安全基本知识概述。该模块主要讲述了网络安全的发展和现状问题,列举网络安全问题引发的各种不同影响的案例。②网络攻击技术。该模块主要讲述网络中的一些攻击现象、攻击行为以及攻击工具等。③密码学模块。该模块主要讲述古典密码学和现代密码学的一些应用,以及信息隐藏技术的一些实际作用等。④网络防护技术。该模块主要讲述网络中针对安全的一些防护措施,如防火墙、入侵监测系统等。
以信息隐藏技术为例,该部分内容在整个课程中非常重要,它将一些保密或重要的信息隐藏到另外一个可以公开的媒体之中,如把指定的信息隐藏于数字化的图像、声音或文本当中,充分利用人们的“所见即所得”的心理,来迷惑恶意的攻击者。近几年来,信息隐藏技术不断发展,越来越多地应用在生活中,如隐写术、数字水印、数字指纹、隐藏信道、阈下信道、低截获概率和匿名通信等,是目前较热的话题。[3,4]
在课程中这部分内容是整个课程的重点、难点之一,教学过程采用了比较、举例等方法,课时分配――理论教学:讨论:实验=1:1:2,理论讲授以图1中的知识框架为主线,算法原理及实现方法,讨论和实验结合中软吉大的网络信息安全系统进行教学。综合起来可以把这部分内容分为以下几部分。
1.信息隐藏位图法
位图法目前使用越来越少,但作为一种基础信息隐藏方法,仍有较高的教学应用价值。该方法作为课程中的一个基本知识点,要求学生掌握它的基本原理,并能通过一个案例,掌握主要运算过程如下:
例如,一幅24位BMP图像,文件头和图像数据由54字节组成,文件头不能隐藏信息,从第55字节开始为图像数据部分,这部分可以隐藏信息。图像数据部分是由一系列的8位二进制数所组成,因为每个8位二进制数中“1”的个数只有奇数或偶数两种可能性,因此若一个字节中“1”的个数为奇数,则称该字节为奇性字节,用“1”表示;若一个字节中“1”的个数为偶数,则称该字节为偶性字节,用“0”表示。我们用每个字节的奇偶性来表示隐藏的信息。
设一段24位BMP文件的数据为:01100110,00111100,10001111,00011010,00000000,10101011,00111110,10110000,则其字节的奇偶排序为:0,0,1,1,0,1,1,1.现在需要隐藏16进制信息4F,由于4F转化为8位二进制为01001111,将这两个数列相比较,发现第2,3,4,5位不一致,于是对这段24位BMP文件数据的某些字节的奇偶性进行调制,使其与4F转化的8位二进制相一致:第2位:将00111100变为00111101,则该字节由偶变为奇;第3位:将10001111变为10001110,则该字节由奇变为偶;第4位:将00011010变为00011011,则该字节由奇变为偶;第5位:将00000000变为00000001,则该字节由偶变为奇。
经过变化,8个字节便隐藏了一个字节的信息,这样就能很好地将信息隐藏在位图中了。当然逆向提取隐藏信息需要花费更长的时间。
2.LSB水印提取
LSB(最低有效位)算法是在位图法的基础上将输入的信号打乱,并按照一定的分配规则使嵌入的信息能够散布于图像的所有像素点上,增加破坏和修改水印的难度。水印信号嵌入模型如图2,水印信号检测模型如图3。
3.DCT变换域算法
DCT变换域算法是这一类算法的总称,在它下面的具体的算法会有一些不同。下面介绍一种基于模运算的数字水印算法。该方法将水印作为二值图像(每一像元只有两种可能的数值或者灰度等级状态的图像)进行处理,依据图像在进行DCT变换后系数的统计来选取适当的阈值,通过模处理加入水印。此算法的特点是在水印检测时不需要原始图像(如图4)。
模拟主动水印攻击教学过程
通过基础知识的学习,学生对信息隐藏技术已经有了一定的了解,为了加深记忆,使知识应用得更好,在这部分课程最后增加了一个模拟主动水印攻击的教学模块。该模块主要应用前期的知识完成。常见的水印攻击方法有:移去攻击、几何攻击、密码攻击、协议攻击(如图5)。
通过模拟攻击实验,学生对数字隐藏技术有了更深的了解,对各种算法增加了兴趣。并在课堂上针对结果展开讨论。下页图6为实验模拟攻击后的有效结果之一。
选用LSB或者DCT进行水印攻击,测试可以显示如下页图6效果。
教学成效
通过对课程中信息隐藏技术教学的改进,学生对比较难懂的数字水印部分内容有了更深一步的了解。通过改革,不仅充分调动了学生的积极性,培养了自学能力,开发了创新能力,还锻炼了学生的团队合作意识和实践能力。攻击中涉及算法的选择、操作的选择、速度的快慢,学生都能通过团队合作完成。学生在实践过程中强烈感受到了成功感和自信感。
结束语
本文以信息隐藏技术内容教学为例,阐述了三种不同的信息隐藏技术的基本知识点,分析了它们之间的关联性和区别,提高了学生的团队合作能力和创新思维的培养,加强了学生的学习兴趣。此外,本模式将教学与科研能力培养相融合,更多地引发了学生的思考。该教学模式可推广到其他课程中。
参考文献:
[1]李继芳,奚李峰,董晨.IPR―CDIO环境的计算机工程教育研究[J].计算机教育,2009(18).
[2]李继芳,奚李峰,殷伟凤,高昆.基于合作式学习的计算机导论课程教学[J].计算机教育,2008(10).
[3]于学斗.以CDIO为指导进行网络安全实验教学改革[J].计算机时代,2010(5).
篇7
摘要:本文提出了一种新颖的基于多M序列加密在数字图像中隐藏信息的方法,分析了信息的嵌入与提取模型及实现算法。通过M序列生成的理论分析和计算,设计出M序列加密库,并利用VB实现了Word文档的信息嵌入与提取。
关键词:M序列;信息隐藏;WORD文档;数字图像
中图分类号:G642
文献标识码:B
1引言
信息隐藏是信息安全领域一个新兴研究热点,主要研究把特定信息隐藏在数字化信息宿主中的方法。其关键技术是在确保宿主文件格式、质量和大小不变的前提下,将密文保存在该宿主文件中,且能对密文实现无损还原。信息隐藏是利用了某种数据文件(主要是多媒体文件)的冗余性和人类感觉器官分辨信息的能力有限性等特点,将秘密信息嵌入到称为载体的多媒体文件中,得到隐藏载体。由于隐密载体与原载体在感觉上没有区别,不易引人注意,从而容易逃过攻击者的破解。若将加密技术和信息隐藏技术结合使用,对秘密信息加密后再隐藏,则会进一步提高安全性[5]。
本文提出了一种新的基于多M序列加密与数字图像的信息隐藏的方法。数字位图是由许多像素组成的点阵,每一个像素点用若干个二进制位来描述其灰度或颜色;而每个像素点的低位(一般是低四位)对该点灰度或颜色的影响很小,因此改变像素点的低位所引起的图像变化难以发觉。因此,可利用这些低位存储信息实现秘密信息的隐藏。
2信息的嵌入与提取模型
在图像低位字节中隐藏信息有两种方法,一种是替换法,另一种是异或法。替换法是用隐藏信息替换载体图像像素的某些低位,而提取信息时只要将隐藏信息图像像素的某些低位取出即可。而异或法是用隐藏信息与载体图像像素的某些低位进行异或运算,将结果放入载体图像像素的某些低位中实现隐藏信息,而提取信息时只要将隐藏信息图像像素的某些低位与源图像像素的某些低位异或即可取出。
本模型采用替换法在彩色图像像素(RGB)的低4位(d3d2d1d0)中隐藏信息,这样可以不需要源图像就可以提取信息。其隐藏信息的容量接近图像文件大小的四分之一。首先将嵌入信息(word文件)转换成二进制流,然后从M序列加密库中随机选择一条M1序列对嵌入信息进行加密运算,得到经加密处理的二进制数字。再从M序列加密库中随机选择一条M2、M3序列,用M2控制是否嵌入信息,用M3控制嵌入信息(d3d2d1d0)的置乱,从而进一步提高信息的保密性[2、3]。嵌入与提取模型如图1所示。
3隐藏信息的嵌入与提取算法
为了提高传输信息的安全性,除采用隐藏的技术外,还要对传输的信息用M序列进行加密处理。加密和解密的方法是通过模2加运算完成。信息隐藏采用二进制进行嵌入与提取。
3.1M序列的生成
M序列是非线性反馈移位寄存器产生的最长的序列,它具有与m序列相类似的随机特性和较好的相关性。一定级数的移存器产生M序列的数目和周期为: 和 。其中r、P、N分别为M序列的线性跨度、周期和序列的数量。由计算可知M序列的周期是m序列周期的两倍;M序列的数量比m序列的数量大许多倍。因此用M序列对信息加密提供了丰富的资源,增强了信息的隐藏能力。M序列构造困难,计算量大,因此不易解密。
M序列产生器具有非线性反馈逻辑,结构复杂,不易直接用反馈逻辑构造,需要用状态图构造法构造M序列。从M序列的基本特点出发,它是移位寄存器产生的最长的序列,r级移位寄存器产生的序列的周期为P=2r,一个周期中包含了r级移位寄存器的全部状态。如图2所示,r级移位寄存器的输出序列{an}和状态序列{sn}是一一对应的。
si=ai2r-1+ar+12r-2+ … +ai+r-22+ai+r-1(1)
i=1,2,3,4… ∞。
根据移位寄存器的工作原理,状态si的后续状态为:
si+1=(2si)mod2r+0或si+1=(2si)mod2r+1 (2)
设移位寄存器的初始状态为全“0”,即s1=0,由式(2)可推算出移位寄存器可能的后续状态,将这些状态按计算的先后次序排列起来得到如树状的r级M序列状态流程图。如图3所示。
r级移位寄存器第K层上的插点数为2K-1,总层数为2r ,分枝总数为2P-1。则第K层,第L分枝叉点的状态值记为S(K,L)为:
(3)
式中A[K]表示通过K层任一叉点的分枝数。[A]I表示对A取整, 表示K层L分枝叉点的叉点号。通过(3)式可以求得状态树图上任何一个叉点的状态,可求得任何一条经历的全部2r个状态。
由状态树图分析可知,分枝总数为2P-1,M序列的总数为 ,由计算可知状态图中有许多分枝是非M序列。因此必须从状态图中筛选出M序列的分枝,再对这些分枝计算状态流程,得到M序列。根据以上M序列的状态图的分析,就可构造出计算M序列的框图,用C语言进行计算,就可以优化出自相关性强而互相差的M序列,以形成M序列加密库[1]。
3.2隐藏信息的加密
首先将隐藏信息转换成二进制流数据:
x={x1,x2,x3……} xi∈{0,1}(4)
然后从上面生成的M序列加密库中随机选取一条M序列与隐藏信息的二进制流数据进行模2加运算,得到加密处理后的新序列:
z={zi|zi=xiMii=1,2,3,4…P}(5)
3.3隐藏信息的嵌入与提取
对z二进制流数据进行嵌入,用M2控制是否嵌入信息,如果M2序列某一位是1则在图像像素的低4位嵌入信息,否则不嵌入信息。如果M3序列某一位是1则嵌入信息顺序为d3d2d1d0,否则嵌入信息顺序为d0d1d2d3,从而达到置乱存放的效果。提取过程是嵌入的逆过程。为了抵御信息隐藏的被攻击,在嵌入信息前进行了图像处理,嵌入信息后进行动态补偿[6]。
4信息隐藏及提取的程序实现
实现是用微软VB6.0软件设计程序,对Word文件进行了加密、解密、嵌入和提取。下面给出了信息加密与嵌入过程,解密与提取过程主要源程序代码。载体文件选择的是一幅宽800像素,高600像素的RGB24位的BMP图片。根据本文提出的隐藏信息的嵌入算法可以隐藏的Word文件大小为350KB。程序中省略变量的定义和文件的打开命令。其中1号文件是源图像文件、2号文件是密写图像文件、3号文件是嵌入的Word文件、4号文件是提取的Word文件、5号文件是M序列库文件、6号文件是加密后的word文件。其实验结果如图所示。
图4原始图像、密写图像和嵌入与提取信息息
4.1信息加密与嵌入过程
Private Sub Command1_Click()
…..
Get #5, , M1: Get #5, , M2: Get #5, , M3'分别读取M序列1、M序列2、M序列3
Do While Not EOF(3) '信息加密处理
For i = 1 To 2
Get #3, , b: b = b Xor M1(i): Put #6, , b
x = x + 1: If EOF(3) Then Exit For
Next i:Loop
Seek #3, 1: Seek #6, 1:mm2 = &H80: f = 1
Do While Not EOF(6) '嵌入信息处理
For i = 1 To 2
mm1 = &H80
For j = 1 To 8
Get #1, , a
If M2(i) And mm1 = 1 Then
k = k + 1
If k Mod 2 = 1 Then Get #6, , b
k1 = k1 + 1
IfM3(f) And mm2 = 1 Then
a = a And &HF0: c = b And &HF0: c = c \ 16
b = b And &HF: b = b * 16: a = a Or c '嵌入信息
Else a = a And &HF0: c = b And &HF0: c = c \ 16
d3 = c And &H8: d3 = d3 \ 8: d2 = c And &H4: d2 = d2 \ 2
d1 = c And &H2: d1 = d1 * 2: d0 = c And &H1: d0 = d0 * 8
a = a Or d0: a = a Or d1: a = a Or d2: a = a Or d3 '嵌入信息
b = b And &HF: b = b * 16
End If
If k1 Mod 8 = 0 Then f = f + 1: mm2 = &H80
If k1 Mod 8 = 0 And f = 3 Then f = 1
mm2 = mm2 \ 2
End If
Put #2, , a: mm1 = mm1 \ 2
Next j: Next i: Loop
Close #1, #2, #3, #5, #6
End Sub
4.1信息解密与提取过程
Private Sub Command2_Click()
…..
Get #5, , M1: Get #5, , M2: Get #5, , M3
Seek #2, 55:mm2 = &H80: f = 1
Do While Not EOF(2) '提取信息处理
For i = 1 To 2
mm1 = &H80
For j = 1 To 8
Get #2, , a
If M2(i) And mm1 = 1 Then
k = k + 1: k1 = k1 + 1
If M3(f) And mm2 = 1 Then
b = a And &HF'提取信息
Else b = a And &HF: d3 = b And &H1: d3 = d3 * 8
d2 = b And &H2: d2 = d2 * 2: d1 = b And &H4: d1 = d1 \ 2
d0 = b And &H8: d0 = d0 \ 8: b = b And &H0
b = b Or d0: b = b Or d1: b = b Or d2: b = b Or d3 '提取信息
End If
If k Mod 2 = 1 Thenc = b
else c = c * 16: c = c Or b: x = x C 1: Put #6, , c
If x = 0 Then Exit Do
End If
If k1 Mod 8 = 0 Then f = f + 1: mm2 = &H80
If k1 Mod 8 = 0 And f = 3 Then f = 1
mm2 = mm2 \ 2
End If
mm1 = mm1 \ 2
Next j: Next I:Loop
Seek #6, 1
Do While Not EOF(6) '信息解密处理
For i = 1 To 2
Get #6, , b: b = b Xor M1(i): Put #4, , b
If EOF(6) Then Exit For
Next i:Loop
Close #2, #4, #5, #6
End Sub
5结束语
本文提出了一种新颖的基于多M序列加密在数字图像中对Word文档进行信息隐藏的方法,首先构造了信息的嵌入与提取模型。研究了M序列生成方法、信息的加密及嵌入算法,并利用VB6.0平台进行编程试验。经大量的试验证明,该方法信息隐藏的峰值信噪比(PSNR)大于50dB,而PSNR大于36dB时人眼不会观察出图像的改动。该方法通过了RS和SPA分析的检测。实验证明,该方法信息隐藏方便、安全可靠,信息隐藏量大,具有较好的应用前景和使用价值。
本文的创新点:(1)提出了多M序列加密库进行加密处理,增强了信息在Internet上传输的保密性及截获文件的解密难度。(2)设计了一种新颖的嵌入和提取的算法并在VB平台上实现了算法。⑶嵌入信息为Word文件,可以包括字体格式、表格、图形等,因此具有广泛的应用价值。
参考文献
[1] . M序列码分多址研究[J]. 江南航天科技,1995,(4):12-17.
[2] 崔宝江. 信息安全实验指导[M]. 北京:国防工业出版社,2005:1-25.
[3] 王海春. 基于多混沌系统的数字密写技术[J]. 微计算机信息,2006,(11):83-85.
[4] 陈铭等. 基于Arnold变换的图像信息伪装算法[J]. 计算机应用研究,2006,(1):235-238.
[5] 杨波. 信息隐藏技术及其应用[M]. 北京:科学出版社,2002.
篇8
作者简介:刘开会(1986-),女,山东德州人,硕士研究生,主要研究方向:信息隐藏; 徐江峰(1965-),男,河南禹州人,教授,博士,主要研究方向:信息安全、混沌加密通信。
文章编号:1001-9081(2011)07-1917-03doi:10.3724/SP.J.1087.2011.01917
(郑州大学 信息工程学院,郑州 450001)
()
摘 要:Lee等人(LEE C F, CHEN H L. A novel data hiding scheme based on modulus function. The Journal of Systems and Software, 2010, 83(5): 832-843)提出了一种基于模函数的数据隐写方法,在图像质量可接受的情况下,每个像素的最大嵌入容量为4位二进制数。但是当每个像素的嵌入量为4位时,隐写图像的质量较差,容易引起攻击者的注意。对该方法进行了改进,缩小了像素改变的范围。理论分析及模拟实验表明,改进方法不但保留了原方法的各种优点,而且使PSNR值增加1.5~3.5dB,提高了隐写图像的视觉不可见性及抵御RS攻击的能力。
关键词:隐写方法;模函数;峰值信噪比;RS攻击
中图分类号:TP391.41;TP309文献标志码:A
Improved data hiding scheme based on modulus function
LIU Kai-hui, XU Jiang-feng
(School of Information Engineering, Zhengzhou University, Zhengzhou Henan 450001,China)
Abstract: The new method proposed by Lee et al. (LEE C F, CHEN H L. A novel data hiding scheme based on modulus function. The Journal of Systems and Software, 2010, 83(5): 832-843) was based on modulus function. In this method, each pixel can carry a maximum of 4 bits with an acceptable visual quality. When each pixel is embedded with 4 bits, the quality of stego-images is much worse; as a result, this may catch the attention of attackers. Consequently, this paper improved the method, which narrowed the range that pixels changed. The theoretical analysis and simulation results show that the new method not only keeps the various advantages of original method, but also makes the Peak Signal-to-Noise Ratio (PSNR) value increase 1.5~3.5dB. Thus, it can raise imperceptibility and the ability resisting RS attack of stego-images.
Key words: steganographic method; modulus function; Peak Signal-to-Noise Ratio (PSNR); RS (Regular Singular) attack
0 引言
数据隐藏是一种伪装术,它实现了隐藏于载体中的秘密信息,在约定双方和多方之间进行不可见传输[1]。隐藏秘密信息的载体有多种,如:图像、文本、音频等。隐藏方法一般分为数字水印和隐写术。这两者的应用目的不同,数字水印主要用于认证和版权保护,侧重于含密图像的鲁棒性和安全性;而隐写术的主要应用是秘密通信,侧重于嵌入容量和视觉不可见性[2]。
隐写术的目的是在发送方和接收方之间建立一个隐蔽的通信,潜在的攻击者不知道通信的存在,从而隐藏了信息本身的存在。在隐写方法中,最简单和被众人所知的是最低有效位(Least Significant Bit, LSB)替代法,该方法直接替换载体图像像素的最低k位来嵌入信息,能够得到较高的嵌入容量。由于不考虑统计信息的变化等,该方法得到的图像质量并不高而且容易受RS攻击[2]。2003年Chan等人又提出了基于LSB的OPAP(Optimal Pixel Adjustment Process)方法[3],该方法首先进行LSB替代,然后对像素进行一系列调整,在保持相同嵌入量的同时,提高了隐写图像质量。2006年Mielikainen提出了一种LSB匹配法[4],根据载体像素的最低位与秘密数据相同与否进行嵌入,得到的图像质量较好,但是每个像素只能隐藏一位。除此之外,国内外学者还提出了多种其他的隐写方法。2003年,Wu等人提出了利用像素差(Pixel Value Difference,PVD)进行空间域隐藏的方法[5],它首先计算相邻两个像素的差值,根据差值判断像素对属于平滑区域还是边缘区域,然后针对不同区域进行不同容量的嵌入。该方法不仅能够获得较好的图像质量,而且还能够抵御RS攻击。后来,许多基于PVD的方法相继被提出[6-7]。此外,2006年Zhang和Wang提出了嵌入方向拓展(Exploiting Modification Direction,EMD)方法[8],Kim等人在此方法的基础上提出了改进的嵌入方向拓展法[9]。
2010年Lee等人提出了一种新的基于模函数的数据隐藏方法[1],该方法嵌入容量大,有一定的安全性,但是还存在一些缺陷,如图像质量不是很好,用RS分析得到的实验结果也不尽人意。针对其缺陷,本文在此方法的基础上进行了改进。实验证明,改进的方法在保持原有优点的同时,进一步提高了视觉不可见性和安全性。
1 基于模函数的数据隐藏方法
一个M×N的载体图像I,像素记为x;伪装图像I′,像素记为x′。在嵌入数据之前,用两个函数Hr(R1,α),Hc(R2,β)选择两个集合Kr{Kri|i1,2,…,2α},Kc{Kcj|j1,2,…,2β},其中R1∈[1,2α!],R2∈[1,2β!]。α+β是每个像素需要隐藏的二进制位数。Kr中的每个元素值互不相同,而且其十进制数值在[0, 2α-1]内。同样,Kc中的每个元素Kcj也不相同,其十进制落在[0, 2β-1]范围内。在该方法中,R1,R2,α,β是四个密钥。秘密数据比特流记为S。把S分成许多段Sk,Sk又分为Sk1和Sk2,即SkSk1Sk2,其中Sk1包含α位数据,Sk2包含β位数据。α和β越大,则嵌入容量越大。例1说明了根据函数Hr()和Hc()如何得到集合Kr和Kc。
例1 假设α3,β2,R12,R224。0~2α-1共2α个数据组成的全排列如表1所示,0~2β-1共2β个数据组成的全排列如表2所示。根据Hr(R1,α)Hr(2,3),Hc(R2,β)Hc(24,2),得到Kr{000,111,100,011,010,101,110,001},Kc{11,01,00,10}。
表1 0~2α-1的所有排列方式
表2 0~2β-1的所有排列方式
Kr和Kc集合产生后,它们的值可以进一步形成变异笛卡尔积KrKc,不同于笛卡尔积,变异笛卡尔积KrKc由Kr和Kc产生一个有2α×2β个元素的有序集合,集合中的元素不是有序对,而是一个二进制串。即
KrKc{KriKcj|Kri∈Kr,Kcj∈Kc,i1,2,…,2α,
j1,2,…,2β}(1)
其中:KriKcj表示Kri与Kcj连接后的得到的长度为α+β的二进制串,并且其十进制数值在[0,2α+β-1]内。根据KriKcj位串,可以计算出其位置d(d∈[1,2α+β])。
d2β×(i-1)+j(2)
其中:i,j分别为Sk1;Sk2在Kr,Kc中的位置;d是一个十进制数,表示Sk的位置。
集合G表示用来隐藏数据的像素x可变换的像素集,它由模函数
f(x)x mod n(3)
和像素x产生。假设γf(x),则G{gi|i1,2,…,n}{x-γ,x-γ+1,…,x-γ+n-1},其中,n2α+β。例2描述了如何产生像素集。
例2 α2,β2,x116,x279。根据式(3)可得,γ116 mod 240,γ279 mod 2415,G1{16-0,16-0+1,16-0+2,…,16-0+14,16-0+15},G2{79-15,79-15+1,79-15+2,…,79-15+14,79-15+15},如图1所示,方格内的数据表示像素值,方格下方的数据表示对应像素的位置。
图1 原方法产生的像素集
像素集产生后, 根据式(2)计算α+β位秘密数据在KrKc中的位置d,则G中的第d个元素即是伪装像素值x′,即x′gd。这样就完成了数据的嵌入。在秘密数据提取过程中,授权方用已知密钥α,β,R1,R2,获得Kr和Kc集合,然后用式(1)生成变异笛卡尔积。根据隐秘图像的像素值x′计算d,dx′mod n+1,然后从KrKc中得到第d个元素Sk,则Sk即为秘密数据。
该方法与传统的LSB替代法相比,安全性有所提高,但是进行隐写后的图像质量与LSB替代法基本相同。当每个像素隐藏n位时,对于载体像素x,其像素的最大改变量仍然为2n-1;当n较大时,隐写图像的质量较差。为此,本文对此方法进行了改进,以减小像素的最大改变量。
2 改进后的方法
改进后的方法仍然利用模函数进行隐秘数据的嵌入和提取,区别在于x像素集的产生方法不同,嵌入过程中x并不是由像素集中第d个元素来代替,而是由像素集中模为d-1的元素来代替。当每个像素嵌入1位时,与原方法得到的图像质量相同,当每个载体像素嵌入n位时,n∈{2,3,4},除了少数像素外,大多数像素的最大改变值从2n-1下降到2n-1。
2.1 数据嵌入过程
输入:密钥α,β,R1,R2,载体图像I,嵌入数据S。
输出:隐写图像I′。
1)取I的像素值x,从S中取出α+β位数据Sk,SkSk1Sk2,Sk1为α位,Sk2为β位。
2)根据密钥得到两个集合Kr,Kc。
3)根据Sk1Kri,Sk2Kcj得到i,j。
4)根据式(2)计算位置d。
5)生成x的像素集G,G中的元素为连续的2k个数值,其模值落在[0,2k-1]内,且互不相同。从像素集G中查找模为d′d-1的元素,此元素即为x′。
载体像素x的像素集为group(x+1),像素集的生成如下:
c2k,kα+β
①if x+1∈[1,c/2+1]
for j1:c
group(x+1,j)j-1
②if x+1∈[c/2+2,256-(c/2-1)]
for j1:c
group(x+1,j)x-c/2+j-1
③if x+1∈[256-(c/2-2),256]
base256-(c/2-1)
for j1:c
group(x+1,j)group(base,j)
6)重复步骤1)~5)直到所有数据嵌入完毕。
2.2 数据提取过程
输入:密钥α,β,R1,R2,隐写图像I′;
输出:秘密数据S。
1)扫描隐写图像I′,得到像素值x′;
2)根据Hr(R1,α)和Hc(R2,β)分别得到两个集合Kr,Kc;
3)利用公式d′x′ mod n得到模值d′;
4)从KrKc中取位置为dd′+1的元素,此元素即为秘密数据Sk。
5)重复步骤1)~4)直到所有数据提取完毕。
利用上述方法,对于给定的条件:R112,R29,α2,β2,x116与x279产生的像素集如图2所示,方格内的数据表示像素,方格下方的数据表示对应像素的模值。根据Hr(12,2)和Hc(9,2)得出Kr{11,01,00,10},Kc{00,11,10,01}。当嵌入数据为‘0101 1100’时,原方法得到x1′23,x2′64,而改进方法得到x1′23,x2′80。由此可以看出,改进方法的像素改变值要小于等于原方法的像素改变值。
图2 改进方法得出的像素集
提取数据时,改进方法与原方法是相同的。根据Hr (12,2)和Hc(9,2)得出Kr{11,01,00,10},Kc{00,11,10,01}。隐写图像像素值分别为x1′23,x2′80,计算得到d′的值分别为7、0,从KrKc中查找位置为dd′+1的元素,即位置分别为8、1的元素,可得到秘密数据:0101 1100。
3 实验仿真
考查一个隐藏方案的优劣一般有四个标准,分别为嵌入容量、算法复杂度、视觉不可见性和安全性[1]。改进方法与原方法相比,在保持相同嵌入量和算法复杂度下,进一步提高了视觉不可见性和安全性。为了分析改进方法的特性,选取多幅图像进行实验,实验工具为Matlab。下面从视觉不可见性和安全性方面对两种方法进行对比分析。
3.1 视觉不可见性
隐写方法中一般用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)来衡量隐秘图像质量的视觉不可见性[1]。隐秘图像的PSNR值越高,视觉不可见性越好;反之越差。用原方法与改进方法分别对灰度图像Baboon.bmp、Lena.bmp、Elain.bmp进行数据嵌入,嵌入数据后图像的PSNR比较结果如表3所示。
PSNR10 lg(4)
MSE∑Mi1∑Nj1(xij-xij′)2(5)
其中,255是8位灰度图像像素的最大值,均方误差(Mean Square Error,MSE)是计算M×N的载体图像I与隐写图像I′的平均方差,xij和xij′分别表示I与I′的像素值。
表3 原方法与改进方法得到的PSNR值的对比
以Lena.bmp为载体图像嵌入数据,每个像素嵌入4位二进制数据,原方法和改进方法得出的图像如图3所示。从图中可以看出原方法得到的隐写图像质量较差,而用改进方法嵌入相同数据后的图像质量有明显改善,不容易引起攻击者的注意。
图3 两种方法隐写图像对比
3.2 安全性
RS(Regular Singular)检测方法是由Jessica Fridrich等人提出的一种隐写分析法[10],具有较高的可靠性和灵敏度。RS分析首先将待检测图像分为很多大小相等的图像块,再对每个小图像块进行F1操作(F1为2i与2i+1之间的互翻转操作),然后利用式(6)计算其混乱度是否增加,并计算混乱度增加的图像块和混乱度减小的块在所有图像块中所占比例,分别记为Rm,Sm;然后应用F-1操作(F-1为2i-1与2i之间的互翻转操作),在每个图像块中进行类似的处理,也记下混乱度增加和减小的图像块在所有图像块中所占比例,分别为R-m,S-m。如果待检测图像没有经过隐写,那么无论应用F1操作还是F-1操作,从统计特性上来说,会同等地增加图像块的混乱度,即Rm≈R-m,Sm≈S-m,且Rm>Sm,R-m>S-m。
f(X)∑|X-X1|+∑|X-X2|(6)
其中,X是图像块的灰度值矩阵,X1表示将X左移一列, X2表示将X下移一行,f(X)表示相邻像素灰度差值的绝对值总和。用RS分析法分别对文献[1]中的方法和改进后的方法进行分析,如图4、5所示。
图4 RS分析法对文献[1]方法的实验结果
图5 RS分析法对改进方法的实验结果
从图4与图5可以看出,原方法得出的Rm与R-m,Sm与S-m的差值相差很大,而改进后的Rm与R-m,Sm与S-m的差值相差比较小,因此安全性有所提高。
4 结语
本文对文献[1]所提出的方法进行了改进,数据嵌入方法不同,数据提取方法是相同的。如果每个像素嵌入n(n∈{2,3,4})位数据,对于8位的灰度图像,原方法中对于所有pixel∈[0,255]的像素,其改变范围为[0,2n-1];而改进的方法对于pixel∈[0,2n-1-2]∪[255-(2n-1-2),255]的像素,改变范围为[0,2n-1],其余像素与原方法相同,改变范围为[0,2n-1]。实验证明,改进后的方法在保持相同嵌入量的同时,隐秘图像的视觉不可见性和安全性都有所提高。
参考文献:
[1] LEE C F, CHEN H L. A novel data hiding scheme based on modulus function[J]. The Journal of Systems and Software, 2010, 83(5): 832-843.
[2] 许欢, 王建军. 利用分块像素差和模函数的大容量信息隐藏方法[J]. 信息与电子工程,2009, 7(3): 218-221.
[3] CHAN C K, CHENG L M. Hiding data in images by simple LSB substitution[J]. Pattern Recognition, 2004, 37(3): 469-474.
[4] MIELIKAINEN J. LSB matching revisited[J]. IEEE Signal Processing Letters, 2006, 13(5): 285-287.
[5] WU D C, TSAI W H. A steganographic method for images by pixel-value differencing[J]. Pattern Recognition Letters, 2003, 24(9/10):1613-1626.
[6] WU H C, WUN I,TSAI C S,et al. Image steganographic scheme based on pixel-value differencing and LSB replacement methods[J]. IEE Proceeding――Vision Image and Signal Processing, 2005, 152(7): 611-615.
[7] WANG C M,WU N I, TSAI C S,et al. A high quality steganographic method with pixel-value differencing and modulus function[J]. Journal of Systems and Software, 2008, 81(1): 150-158.
[8] ZHANG X P, WANG S Z. Efficient steganographic embedding by exploiting modification direction [J].IEEE Communication Letters, 2006, 10(11): 781-783.
篇9
关键词:《文选楼藏书记》;分类特点;原因探微
中图分类号: K203 文献标识码:A 文章编号:1005-5312(2012)06-0083-02
《四库全书》尘埃落定,分储七阁之后,以续补四库未收书为职志者,首推阮元。阮元生于乾嘉学风殷盛之际,其进身较晚,未及亲自参与编纂《四库》,但其一生与四库渊源甚重。然而,反映阮元文选楼藏书情况的《文选楼藏书记》却并未按四库分类法编排。《文选楼藏书记》在分类体系上,既吸收借鉴了前代目录的编目传统,也有自己的创新。下面就其编目特点及其成因试做分析。
一、整体上以卷次为单位进行编排,每卷大体上又按经史子集编目
《文选楼藏书记》六卷,共著录图书2663种。其著录体例为:在每种书目下依次记录书名、卷数或册数、著者及籍贯、版本,除别集外,每书均附有精当、简短的提要。该书不标类目,卷一、二、五、六,每卷自经部至集部分类排列,卷三、卷四两卷相连,亦自经部至集部分类排列。这种以卷次为单位,每卷内部依经、史、子、集编次的编排方式,很有可能是阮元根据私家藏书自身的特点,并在继承四部分类方法的基础上形成的。以卷一为例:
卷一经部共有易类、书类、诗类、小学类、春秋类、四书类、经总义类、乐类八类,130种。其中易类杂录子部术数类2种;春秋类中杂录史部1种,子部1种;四书类中杂录经部・礼记类4种,经部・孝经类1种,子部1种;经总义中杂录经部・小学类1种,经部・礼类1种,经部・四书类1种,史部1种,子部3种;小学类中杂录集部2种。史部152种,其中杂录子部2种,集部4种。子部70种,其中杂录经部1种,史部11种,集部10种。集部包括总集、别集、词曲类三类,其中,总集类39种,杂录子部四种;别集类73种,杂录史部1种,集部2种;词曲类10种,其中杂录集部・总集类1种。在经部、史部、子部、集部之后,又著录子部65种,包括术数类、天算类、道家类、杂家类四类。卷一实收经部120种,史部160种,子部126种,集部133种。
《文选楼藏书记》每卷收录书籍数量统计如表1:
由此可以看出,《文选楼藏书记》每一卷著录书籍数量的多寡是不一的,有些甚至相差比较悬殊。如卷五收入书籍303种,而卷六则总共收入了626种,是卷五的二倍之多。且每一卷内部经、史、子、集录入的数量也是多寡不一的。如卷一收入了经部书籍120种,卷六则仅仅收入了24种。卷六收入集部书籍381种,卷五则只收入了11种。而且卷次内部经、史、子、集四部的比重也是不同的。
二、每卷内部部次分类不够严密
阮元长于经学,《文选楼藏书记》中也收入了大量的经部书籍,经部的分类,大体尚整齐,但细究也有若干问题。如将经部・小学类的《读易韵考》,史部・目录类的《易传辨异》,子部・儒家类的《太极图说》等同归入经部易类;将经部・小学类《毛诗古音考》,子部・术数类的《洪图解》,子部・杂家类的《多识编》等同归入经部・诗类;这些混乱之处有的是经部著作内部之间的分类不是很清晰,比如《读易韵考》,其内容是“列证经史,详论《易》韵”,理应归入经部・小学类,但却误入经部・易类。有的是史部、子部、集部的著作误入经部,比如《孔孟事迹图谱》四卷,“是书详载经、史事迹,并绘图谱”应属史部・传记类,却误入经部・春秋类。
每一卷中收录的经部书籍不仅数量多寡不一,并且其种类也有多有少,如卷一的经部共有易类、书类、诗类、小学类、春秋类、四书类、经总义类、乐类八类,而卷六经部书籍包括易类、诗类、春秋类、礼类、五经总义类、乐类6类。有的部类重复出现:如卷一重经部・小学类出现在诗类之后,但是乐类之后又著录了经部・小学类的书籍。部类的著录顺序也并非固定不变,如卷三、卷四礼类在春秋类之前,卷五中春秋类在礼类之前。
史部和子部的分类更加琐细,如在卷一中史部载入的第一种书籍是史钞类,第二种和第三种书籍是政书类,第四种书籍是编年类,第五种书籍史评类,第六种书籍又是政书类。每一种部类的分布都琐碎、分散,没有办法像经部书籍那样进行排序。子部书籍,如卷三、卷四中子部著录的第一种书籍是杂家类,第二种书籍是谱录类,第三种书籍是小说家类,第四种、第五种书籍又属于杂家类。《文选楼藏书记》中集部分类尚属整齐,但每一卷收入数量的多寡不一,种类也不完全相同。
三、原因探究
阮元一生治学及其严谨,著述多慎重其事,书前或交待原委,或撰述要旨。但《文选楼藏书记》不仅未见序跋,文集中亦未见提及。由此推知,《文选楼藏书记》并非阮元某一时日完编之定本,乃其私家藏书登记薄,自藏书之日始,随藏随录,随录随编,著录简单且无严格体例。
而其以卷次为单位,每卷内部依经、史、子、集编次的编排方式,是阮元根据私家藏书自身的特点,并在继承四部分类方法的基础上形成的。虽然在阮元所作《扬州隋文选楼记》、《扬州隋文选楼铭》中并没有记载确切的编目条例。我们不妨探究一下天一阁书目、焦山书藏和灵隐书藏编目中所体现的阮元的编目思想。
天一阁是我国现存最古老的私人藏书楼,阮元在整理天一阁藏书,研究天一阁历史,推广天一阁管理经验等方面作出了重要贡献。他在嘉庆十三年(1808年)写的《宁波范氏天一阁书目序》中说道:“余自督学至今,数至阁中,翻所藏书,其金石榻本当钱辛楣先生修《鄞县志》时即编之目,惜书目未编。余于嘉庆八、九年间命范氏后人登阁,分厨写编之,成目录十一卷。
然而在《雷塘庵主弟子记》却有这样的记载:“嘉庆二年(1796年),首次登天一阁观书;嘉庆二年(1797年),再登天一阁,命范氏子弟编录《天一阁书目》”。即在嘉庆二年,阮元已命范氏后人编录《天一阁书目》,与一记载与阮元在《宁波范氏天一阁书目序》中所说的“嘉庆八、九年间”相差六、七年。其实,在嘉庆二年阮元第二次登天一阁观书后,范氏后人就在阮元的督促下于嘉庆九年编定了《四明天一阁藏书目录》:该目无序跋,卷首录全祖望《天一阁碑目记》和《天一阁藏书记》,不分类,分厨录目,每行上下记两种书名与册数,各厨以千字文编号,共三十二厨。据藏字厨目后注,尚有医书、地理、算命、风鉴等俱未列目。登科录、会试录、乡试录亦未编入。卷末有“嘉庆壬戌岁六月二十日客寓金昌录”二行十五字,其“不分类,分厨录目”恰好体现了阮元“分厨编写之”的编目理念。
嘉庆十四年(1809年),阮元第二次任浙江巡抚时,于杭州灵隐寺大悲阁后造置木厨,构建藏书处,以嘉惠士林。并撰《杭州灵隐书藏》及《书藏条例》。嘉庆十八年(1813年),于镇江焦山立焦山书藏,又撰《焦山书藏记》及《书藏条例》。书入藏后,按入藏“次第”“分号”排列,灵隐书藏以唐人宋之问《灵隐寺》诗(鹫岭郁龙宫锁寂寥楼观沧海日门对浙江潮桂子月中落天香云外飘扪萝登塔远刳木取泉遥霜薄花更发冰轻叶未凋夙龄尚遐异搜对涤烦嚣待入天台路看余度石桥)字编号,焦山书藏以《瘗鹤铭》编号,初以“相此胎禽华表留唯髻鬓事亦亦微厥士惟宁后荡洪流前固重爽恺势拚亭亭爱集真侣作铭”三十五字为三十五橱,如满,则再加“岁得于化朱方天其未遂吾翔翔也酒裹以元黄之币藏乎山下仙家石族篆篆不朽词曰徽君丹杨外尉江阴宰”四十二字为四十二橱。书不分部,惟以次第分号,收满“相”字号橱,再收“此”字号橱。可见,书藏藏书虽以编号排列,但登记目录内仍分四部。
焦山书藏创立后,阮元曾指示海西庵山僧编成《焦山书藏目录)12卷,按照捐书的先后顺序,著录古籍1400余种,25000多卷,10000余册。图书入藏时即以书橱为单位,按入藏次第分号编排,那么书籍在编目时依照捐书的先后顺序辑录,也就是以书橱为单位辑录。而书橱内部又是以经、史、子、集为次序排列。阮元所编《焦山书藏目录》虽已亡佚,但依据相关资料可以知道其体现了阮元一贯的“按厨编目”的理念。
阮元一生与《四库》渊源颇重,因而对这些分类体系应该比较了解,但反映其藏书情况的《文选楼藏书记》并没有完全沿用这些分类方式,笔者推断原因有二:其一是《文选楼藏书记》是阮元的私人藏书簿录,以卷为单位编次,方便藏书随录随藏,随录随编。而卷内部按经、史、子、集的顺序编录,既有利于辩章学术,因类求书,也和文选楼书藏方式有关。虽然并无直接的文字记载,但是我们从阮元与天一阁藏书楼的关系和其建立的灵隐书藏和焦山书藏的书藏方式及编目方式可以窥见阮元一脉相承的编目思想,可以推想阮元的文选楼藏书也极有可能是按照藏书的先后顺序,分厨录入,厨内部书籍又按照经、史、子、集排序。因此形成了《文选楼藏书记》以篇卷为单位进行编次的编排方式。其二是与阮元“以学术为天下之公器”的精神相契合。文选楼是阮元藏书、校书、读书、刻书等学术活动的重要场所,与范氏天一阁“严禁登楼”的禁例不同,文选楼是阮元授徒会友的常用之处。阮元弟子张鉴《访书图歌为何梦华索赋》有云:“忆昔渡江至扬州,吾师招住文选楼。连床照轸那可说,手胝口沫无时休。”仁和严杰,亦曾在文选楼读书数年。嘉庆十五年,陈文述参考阮书,推广前说,博采舆论,撰《海运议》。《雷塘庵主弟子记》中记载:“嘉庆十一年(1806),‘阮元置仪征县江中芦洲一区以为祀产’‘以岁入之息为祭祀、睦族、公车等事之用’‘以余者为文选楼诸子读书等事之用’”以祀产的收入资助文选楼诸子读书”,不仅体现了阮元以传播学术为己任的大公精神,也体现了阮元对文选楼开放的管理理念。阮元不仅是位收藏家,更是一位杰出的学者。他把藏书与治学紧紧地联系在一起,不是为了收藏而收藏,藏书的目的是为了校书、读书。分卷编目,不仅使藏书有序,而且历历在目,方便师友生徒因目求书。
参考文献:
篇10
关键词:监管报表;大数据;数据仓库;数据模型
中图分类号:TP392文献标识码:A文章编号:16727800(2013)004013705
0引言
面对当前错综复杂、各种因素相互交织、相互演变的国内外经济金融发展形势,商业银行进行战略转型、业务规划、风险管控需要依靠完备、持续性的数据体系才能进行科学决策,数据质量已成为银行可持续性发展的生命线。中国银监会在2011年下发了《银行监管统计数据质量管理良好标准》\[1\],督促各银行进一步提高监管统计数据质量,夯实监管基础,建立适应监管统计工作需要的、完善的监管统计系统。
随着监管部门对商业银行的监管要求不断提高,报表越来越多、数据内容越来越细、审核越来越严格,如银监会在2010年创立“腕骨”(CARPALs)监管指标体系,其中的资本充足率、流动性覆盖率、净稳定融资比例等指标,不仅需要专业解析,还涉及压力场景设置和对未来的判断,加工规则非常复杂。这些数据无法像以往一样依靠手工填报,或简单逐级汇总得来,必须采用全行监管数据大集中的模式统一加工生成,否则就违背了指标的内在业务逻辑,其结果也必然经不起监管检查。
数据仓库是一个面向主题的、集成的、非易失的、随时间变化的用来支持管理人员决策的数据集合\[2\]。它为有效地支持企业经营管理决策提供了全局一致的数据环境,也为历史数据综合数据的处理提出了一种行之有效的解决方法。数据仓库的兴起,使其成为了当前普遍流行的决策支持系统解决方案。它应用于决策支持系统中,能够增强决策的客观性和实用性、提高数据查询分析的效率、具有强大的数据分析工具、具有动态扩展能力。许多学者对基于数据仓库的信息系统建设进行了研究。文献\[3\]\[4\]讨论了数据仓库在银行绩效考核领域的应用,实现对全行考核对象的全面科学考核;文献\[5\]研究了银行数据仓库系统及非现场稽核监控平台和监控后分析的实现方式;文献\[6\]\[7\]\[8\]开展了数据仓库在银行个人信贷、银行卡、中间业务等不同业务领域中的应用研究。
这些研究虽然对数据仓库的应用进行了探讨,都没有讨论如何在银行信息披露领域应用,提出构建银行监管报表系统的完整解决方案。本文结合监管数据大集中模式的特点,不仅给出了全面的系统架构方案,还探讨了数据模型及关键技术,并测试验证了系统具备良好的可行性、可用性和可靠性,为银行落实数据标准、保证数据质量、固化管理流程提供了重要的科技支撑。
1问题描述与系统架构
1.1问题描述
为适应新形势下监管报送的工作要求,在监管数据大集中模式下建设监管报表系统,满足监管报表的时效性、准确性等要求,面临着架构、数据、功能等多个层面的巨大挑战。在架构层面,系统具有数据存储量大(年增量达数十TB),数据加工任务繁重(数十亿条记录的加工)、处理时间有限(8h内完成)等特点。因此,架构设计需要考虑如何实现性能的提升,如何保证系统的安全可靠。在数据层面,由于数据自动加工率是衡量报表质量状况(完整、准确、一致)的重要指标,为提高监管报表自动化加工水平,需要考虑如何实现更全面的数据采集能力,更有效的数据清洗方法,更科学的数据模型设计,更准确的数据质量监测分析;在功能层面,为实现监管报表的统一开发、统一运行、统一展现、集中管理,需要提供完善的报表设计、生成、展现、管理功能,特别是要满足全国所有支行、分行、总行用户在月初2h内完成数十张报表的补录工作,支持用户高并发场景,实现监管报表的按时报送。
因此,银行监管报表系统的建设,既需要考虑功能性需求,实现各项业务功能,又需要数据需求,灵活响应监管报表需求,更需要关注非功能性需求,保证系统的高可用性、可靠性及可扩展性。
1.2系统架构
1.2.1逻辑架构
银行监管报表系统的逻辑架构如图1所示。整个架构由3部分组成:源系统、数据仓库和监管报表系统。其中,源系统是数据仓库的数据来源,包括银行的各类业务源系统;数据仓库是监管报表系统的基础,全面采集银行的业务源数据,进行数据的集中加工处理、存储,形成全行级的统一数据视图,通过建立监管数据集市,支持系统进行数据查询、分析、监测等;监管报表系统则为满足外部监管报送的具体需求,提供了报表配置、报表填报、报表查询、报表生成、报表组装、监测预警及系统管理等功能。
1.2.2数据架构
为了建立全行统一的监管统计数据架构,实现客户、机构、账户等基础信息的口径一致,以及不同主题业务应用的数据共享,同时可灵活定制指标以应对报表需求变化,银行监管报表系统数据架构如图2所示。
(1)操作数据层:对于加载的源系统文件进行简单的清洗处理,尽量保持业务数据原貌,保留源系统的原始和历史数据,基本上直接按照源系统数据结构建模。
(2)基础数据层:基于第三范式规范,按客户、产品等主题进行数据建模,形成企业级的统一数据视图。
(3)汇总数据层:对来自操作数据层和基础数据层的基础明细数据进行预关联、预计算、预汇总,形成数据元模型,同时提炼不同应用的共性需求,形成标准统一、口径一致、可复用的基础指标。
(4)数据集市层:面向具体应用需求,按需进行模型设计,形成应用指标模型。
(5)报表数据层:针对不同的报表需求,解析报表维度、度量及包含的指标项,形成报表数据模型。
1.2.3物理架构
银行监管报表系统物理架构如图3所示。其中,数据仓库的组成主要包括ETL服务器、数据仓库处理服务器、备份服务器与磁带库、数据管控服务器和调度服务器;监管报表系统自身包括数据库服务器、Web应用服务器集群和负载均衡设备。在此架构方案中,充分考虑系统的高可用性,监管报表系统与数据仓库所使用的数据库服务器互相独立,由此保证二者在加工处理时不会相互影响。各数据库服务器均采取双机热备份机制,Web应用服务器采取集群架构,确保系统稳定运行,关键数据不丢失。为应对全行用户高并发访问的压力,使用负载均衡设备,将用户访问压力均匀分配到每台应用服务器上,提高系统整体并发能力及平均响应时间。此外,在可扩展性方面,可以通过增加系统的CPU、内存提升处理能力,通过增加服务节点扩充Web应用服务器集群架构。
2数据仓库及报表数据模型
2.1多维数据模型
数据仓库的数据主要有两种组织方式:一是基于关系数据库的维表-事实表结构的多维表形式;另外一种是基于多维数据库的超立方体结构形式\[9\]。考虑数据处理的性能及数据集成的方便,这里采用维表-事实表结构来实现多维数据模型。多维数据模型由事实表和维表组成\[10\],事实表存储实际的数据,维表存储事实表中对象的属性,事实表和维表的关联关系,呈星型结构。一个多维数据模型的事实表数据是经过机构、币种等维度汇总之后的标准数据,具有通用性。而维度通常分为固定维度和自定义维度,时间、机构和币种是固定维度,其它如贷款分类等维度是自定义维度。在数据仓库中,数据是面向主题进行组织的。主题是在较高层次上将企业信息源中的数据综合、归类并分析利用的抽象。在监管报表系统中,共建立了总账类、存款类、贷款类、流动性风险类、假币类、支付结算类、最大类等七大类业务主题的多维数据模型。以贷款余额为例,其多维数据模型如图4所示。
2.2监管报表数据模型
银监会、人民银行、外汇管理局等监管部门的报表需求各异、表样不一,例如按展现方式可分为行列固定报表、行固定列不固定报表、列固定行不固定报表等。对于这些纷繁复杂的报表需求,通过建立报表数据模型,对报表进行层层解析,从而明确报表含义、加工规划及数据来源,最终完成报表的加工实现。
在报表数据建模过程中,报表可视为由一个个应用指标组成。应用指标一般是指对一类统计对象,按照一定维度进行分类之后的计算加工结果。在指标定义过程中,业务人员可以根据业务相似或应用相同数据字典等因素,选择报表表样填报区中的一项、一列、一行,或者一个矩形框范围内的所有项定义为一个指标,该指标是用户想最终应用的数据,即应用指标。典型的监管报表数据模型如图5所示。
在明确应用指标后,可以进一步进行应用指标解析。每个应用指标由基本指标和基本维度组合而成,基本指标是最小的业务含义度量单位,不包含信息的类别、类型、状态、标识、分层等性质的描述性语言,例如贷款余额。基本维度是最小的业务加工和汇总规则,例如风险分类、资产类别等。
通过对报表及应用指标的解析,可以获得应用指标的编号、名称、定义等基本属性,以及应用指标所包含的基本指标、基础维度在银行信息系统中所对应的信息项(字段)及信息项取值规则,最终完成报表的加工实现。报表数据建模流程如图6所示。
3系统关键技术
3.1智能化公式解析引擎
监管报表中普遍存在勾稽关系。所谓勾稽关系,是指某个报表和另一报表之间以及本报表项目的内在逻辑对应关系,一般通过设置报表公式来体现。由于监管报表规则的复杂性,公式类型十分繁多,可分为计算公式、校验公式、预警公式,还可分为行公式、列公式、单元格公式、要素公式等。为此,通过体系化地提炼不同公式的语法规则,构建了监管报表公式体系。公式体系由标识符、运算符和函数库组成。例如,公式C1=C2~C4,其中,C是列标识符,“=”是运算符,“~”是连加函数,该公式表示将报表的第2、3、4列分别汇总后相加并赋值到第1列。对用户定义的公式,利用词法分析器Lex、语法解析器Yacc等技术开发了智能化公式解析引擎,可实现对公式的词法、语法、语义的自动化分析,并最终生成数据库可执行的SQL代码。例如,公式C1=C2~C4,经解析之后得到的数据库SQL语句为:UPDATE目标表SET列1=SUM(列2)+SUM(列3)+SUM(列4)。在此过程中,整个报表的加工处理实现了自动化、无人工干预,从而也提高了报表数据的准确性。图7所示是公式解析引擎技术架构。
公式引擎主要由4部分组成:①词法分析:主要负责接收用户输入的公式字符串,通过定义正则表达式的切分规则,将公式拆解成若干个子token,通过Lex和Yacc的接口共用体,将词法分析的结果返回给语法分析器,再做进一步的语法解析;②语法分析:主要负责接收词法分析处理之后的token标识符,通过定义语法的归约移入规则,完成公式的语法检查,最终为语义分析程序生成语法分析树;③语义分析:主要负责接收语法分析以及性能优化之后的语法分析树,自顶向下递归地遍历整棵语法分析树,获取各分支节点以及叶子节点的信息,形成存储语义信息的结构体,语义信息结构体中包含了拼接SQL语句中各组成部分的基本信息;④目标代码生成:主要是以语义分析阶段的语义信息结构体作为输入,生成最终数据库中可以执行的SQL语句。
3.2主从式报表填报模式
根据监管部门要求,每月月初会集中开展监管报表报送工作。因此,月初报表手工填报和报表展现查询的用户数量庞大,要求系统能够在用户高并发访问时,仍然保证所有功能均能流畅、正常使用。面对全行用户集中填报的压力,系统采用了基于C/S的主从式报表分布式处理方案,利用ActiveX控件技术及轻量级嵌入式数据库SQLite,开发了一个可安装于客户端浏览器的报表填报插件。通过该插件,可以将监管报表系统数据库服务器(主数据库)中已加工完成的报表铺底数据下载到用户主机,用户在铺底数据的基础上开展报表补录、调整等操作,之后利用用户本地的数据库资源(从属数据库)完成补录调整数据的计算、校验、折算等功能。Web应用服务器主要提供版本验证、报表信息下载、文件上传等服务。该方案减少了用户客户端与应用服务器、应用服务器与数据库服务器之间的数据交互,极大减轻了数据库服务器的资源消耗,提高了用户补录的效率。图8所示是报表填报插件技术框架。
3.3动态化作业调度管理
在监管报表数据加工过程中,为提高报表处理性能,缩短报表加工时间,通过对报表数据的依赖关系分析,即以公式为处理单元,利用公式拆分、字符串匹配、去重等方法确定公式之间报表之间的依赖关系,再采用层次化拓扑排序算法,构建公式的依赖关系图,自适应地调整公式计算顺序,实现动态化作业调度管理。该模式下,系统能够自动判断作业之间的依赖关系,并行执行公式计算任务,改变了以往公式只能串行计算、很多公式都在盲目等待的模式,极大提高了作业链的处理效率以及资源利用率,使报表总加工时间缩短了约1/3,为后续的报表填报工作争取了更多宝贵的时间。图9示意了以9个公式为例子的公式计算在串行及并行计算模式下的时间对比情况。
4系统实证分析
为验证系统性能,采取实验模拟实际业务处理情况的方法,选取交易量最大、最集中的高峰时间段支行填报场景进行测试。具体测试场景为:模拟系统访问总用户数为10 000人,用户数总并发为500人,在1h内完成登陆、报表填报、报表查询、报表汇总等所有交易。测试采用专业负载测试工具LoadRunner,测试环境包括4台PC服务器作为Web应用服务器集群、1台小型机作为数据库服务器。测试结果如图10所示,该图记录了支行填报场景下系统各交易的TPS(Transaction Per Second)。从图10中可看出,所有的交易跑完用时55min左右,符合业务提出的在1h之内完成所有支行填报交易的性能要求。在约20min左右,一部分交易的TPS降下来,经分析系统处理没有出现异常,是有些处理速度快的交易先完成所致。
为验证系统的稳定性,仍然选取高峰时间段支行填报场景进行测试:系统持续运行8h。测试结果如图11所示。从图中可以看出在系统持续运行期间,各业务TPS曲线波动不大,TPS数值比较稳定,系统运行8h期间无宕机和内存泄露等现象。
5结语
监管报表内容广泛,涵盖财务、会计、风险等银行经营管理
各方面信息,需要及时、准确、真实地报送给外部监管单位。 本文提出了基于数据仓库技术的银行监管报表系统,通过合理的架构设计、科学的数据建模,实现对监管数据的集中存储、加工,以及监管报表的生成、组装、审核、报送。实验结果表明,该系统能够有效满足新形势下的业务发展需求,对于促进银行监管报送和数据集约化管理水平的提升,搭建数据统筹管理和决策支持服务的长效机制框架具有十分重要的意义。
参考文献:
\[1\]中国银监会.银行监管统计数据质量管理良好标准\[EB/OL\].,2012.
\[2\]William H. 数据仓库 \[M\].第4版.王志海,等,译.北京:机械工业出版社,2006.
\[3\]仇焕之.基于数据仓库的银行绩效考核系统的研究及应用\[D\].广州:中山大学,2010.
\[4\]姜亦忠.基于数据仓库的银行绩效考核系统\[D\].大连:大连海事大学,2009.
\[5\]余宝娟,潘维民,赵峻岭,等.基于数据仓库的银行非现场稽核监控系统设计与实现\[J\].计算机与现代化,2006(8).
\[6\]宋培钟,陆敬筠.基于数据仓库的银行个人信贷系统的分析与设计\[J\].金融理论与实践,2011(1).
\[7\]熊齐,潘梅森.基于数据仓库的银行卡统计系统\[J\].微计算机信息,2006(12).
\[8\]李佳航.基于数据仓库的银行中间业务系统研究\[D\].厦门:厦门大学,2008.