时间:2022-03-02 21:30:28
引言:寻求写作上的突破?我们特意为您精选了12篇隐藏技术范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
中图分类号:TP309文献标识码:A文章编号:1009-3044(2008)30-0740-02
Windows Process Hiding Method
SHI Yong-lin,PAN Jin,PANG Xiong-chang,XIE Qing-song
(Department one of Xi'an Communication Institute, Xi'an 710016,China)
Abstract: This paper gives a detail explanation of how to hide process on windows, it introduces three ways to achieve the goal.It also tell the strong and weak point of the different methods.
Key words: process;hiding
进程隐藏,也就在用户不知情的情况下,悄悄执行自己的代码。这一直是病毒、木马程序设计者不断探求的重要技术,因为这些程序都是见不得光的,都需要较好的隐藏和保护自己。了解进程隐藏技术,是开发防病毒和木马软件的基础,一般来讲,一个程序如果采用进程隐藏技术隐藏自己,那大多情况下其一定是一个病毒或木马等恶意程序。但有些情况下,进程隐藏也是某些类型程序所需要的功能,如某些安全控制程序,例如上网控制系统,其功能要求只能上单位局域网,不能上internet,这种程序需要常驻系统,不能停止和卸载,这则要求进程能有效保护和隐藏自己,以防止用户恶意删除和卸载。
进程隐藏是一个古老但一直成长的技术,一直以来隐藏和破解隐藏的斗争都在进行。从原理上讲任何隐藏进程因为其都不能从操作系统的进程调度链中删除,所以说都不能达到真正的隐藏,但是采用多种隐藏和保护机制,的确可以最大限度的保护程序。
进程隐藏现在主要有以下几种技术:
1) 利用CreateRemoteThread()函数和代码注入技术在宿主进程,如explorer中运行自己的代码。
2) 利用API拦截技术拦截NtQuerySystemInformation函数,过滤掉要隐藏的进程,因为windows任务管理器调用这个函数来获得系统运行的进程列表,这样在windows任务管理器中就隐藏了目标进程。
3) 把要隐藏的进程从系统活动进程列表(EPROCESS LIST_ENTRY)中摘除,这样其他的查找进程的函数都不能获取目标进程的信息了。
1 利用CreateRemoteThread进行进程隐藏
这种方法的主要原理是通过代码注入技术把代码注入到宿主进程中,然后通过调用CreateRemoteThread()函数在宿主进程中生成自己的线程,运行自己的代码。可以看出这种方法的一个主要工作是代码的注入,也就是怎样才能把自己的代码映射到宿主进程的空间中。
代码注入技术分为动态代码注入技术和静态代码注入技术,动态代码注入技术就是在进程启动后或在进程启动时在进程的运行空间中注入代码的技术,而静态注入技术就是在PE格式的.exe文件中插入代码。静态注入技术是病毒感染文件的常用方法,在文献[1]中有详细的叙述。动态注入技术也分为直接代码注入技术和以dll形式的注入技术,直接代码注入技术是利用VirtualAllocEx和CreateRemoteThread两个API来进行的函数级代码注入技术,可以采用汇编的形式,这种方法在文献[1]中的进程隐藏一章中有详细的讲解,也可以采用高级语言如c语言的形式,这种方法有兴趣的可以参考文献[2]。直接代码注入技术对注入的代码有很高的要求,要解决地址重定位等问题,而且注入代码的大小也受到很大的限制,所以不适用于进程级代码的注入。所以进程隐藏一般采用dll形式的动态代码注入技术。
利用CreateRemoteThread进行dll形式的动态代码注入技术在[3]中有较详细的论述。要在其他的进程中注入dll,就要求我们能在那个进程中调用LoadLibrary() API,但我们没有权限获得其他进程的执行控制权,幸好微软提供了函数CreateRemoteThread()可以在其他的进程中创建远程线程,而恰好线程函数的原型:
DWORD WINAPI ThreadProc(LPVOID lpParameter);
和LoadLibrary()的原型:
HMODULE WINAPI LoadLibrary(LPCTSTR lpFileName);
HMODULE和DWORD都是双字节,调用方式都是WINAPI,LPVOID和LPCTSTR都是双字节指针,所以函数原型是一样的。从而我们利用CreateRemoteThread()来欺骗操作系统,使其执行LoadLibrary() API,如下:
hThread = ::CreateRemoteThread(
hProcessForHooking, //要插入dll的进程句柄
NULL,
0,
pfnLoadLibrary,// LoadLibrary函数的地址
"C:\\HookTool.dll", //要注入的dll的全路径
0,
NULL);
LoadLibrary函数的地址因为其所在的Kernel32.DLL的映射地址在所有进程中是确定的,所以其值可以通过调用GetProcAddress()获得。
这种进程隐藏的方法要把进程执行的代码封装进dll中,这可能不能满足某些程序设计者的要求,而且经测试,瑞星等杀毒软件都禁止这种方法的代码注入,所以这种隐藏技术很难成功。
2 利用API拦截技术进行进程隐藏
API拦截的主要目的是在其他应用程序调用API之前将其拦截,由拦截者先处理传递的参数数据,然后决定是否再调用原来的API。比如API
BOOL TextOutA( HDC hdc, int nXStart,int nYStart,LPCTSTR lpString, int cbString);
在其他程序调用这个API之前,拦截程序可以先捕获这个调用,先对参数等进行处理,比如将cbString翻译为中文等,然后再调用原来的TextOutA进行文本输出,这样输出的文本就变成中文了。
因为任务管理器是调用ntdll.dll中的NtQuerySystemInformation()API来获得进程列表的,所以只要我们先截获这个调用,在我们的替换函数中先调用原来的NtQuerySystemInformation,从返回的进程信息链表中去除要隐藏的目标进程的信息,然后把改变的进程列表返回给任务管理器,那么目标进程则从任务管理器中隐藏。NtQuerySystemInformation函数的原形如下:
NTSTATUSNTAPI ZwQuerySystemInformation(
INULONGSystemInformationClass,
INPVOIDSystemInformation,
INULONGSystemInformationLength,
OUT PULONG ReturnLength
);
其中SystemInformation中返回的就是如下结构体构成的进程信息链表。
struct _SYSTEM_PROCESSES
{ULONGNextEntryDelta;
ULONGThreadCount;
......
UNICODE_STRING ProcessName;
KPRIORITYBasePriority;
ULONGProcessId;
......};
其中ProcessName指向的就是进程的可执行文件名,我们可以通过可执行文件名或进程ID ProcessId进行进程过滤。
从上面介绍可以看出,采用这种方法进行进程隐藏的关键是怎样进行API拦截,API拦截可以在用户层(ring3)进行,也可以在内核层(ring0)中进行。用户层的API拦截技术可以参考文献[4],这里详细介绍了用户层API拦截的各种技术。内核层的API拦截技术可以参考文献[5] 监控Native API调用一章,它的原理是通过替换windows系统服务描述符表中的Native API处理例程的入口地址来截获API。
这种技术可靠性好,容易实现,并且可以进行其他功能的隐藏,如注册表项隐藏,文件隐藏等,还可以通过截获进程控制API来防止杀死进程,所以可以更好的隐藏和保护进程,所以这种方法使用的较广泛。
3 修改系统活动进程列表
Window系统内部维护了一个活动进程链表,其节点结构体如下:
typedef struct _EPROCESS
{
/*000*/ KPROCESS Pcb;
/*06C*/ NTSTATUS ExitStatus;
/*070*/ KEVENT LockEvent;
/*080*/ DWORD LockCount;
/*084*/ DWORD d084;
/*088*/ LARGE_INTEGER CreateTime;
/*090*/ LARGE_INTEGER ExitTime;
/*098*/ PVOID LockOwner;
/*09C*/ DWORD UniqueProcessId;
/*0A0*/ LIST_ENTRY ActiveProcessLinks;
......
} EPROCESS;
typedef struct _LIST_ENTRY
{
struct _LIST_ENTRY *Flink;
struct _LIST_ENTRY *Blink;
} LIST_ENTRY;
系统通过查找这个链表获得系统中进程的列表,所以如果把要隐藏的进程从这个链表中去除,则可以从系统中隐藏此进程.查找可以通过进程ID UniqueProcessId进行。
这种方法也是既可以在内核中进行,也可以在应用层进行。
(下转第744页)
(上接第741页)
在内核层采用这种方法隐藏进程比较简单,这个链表的表头存储在系统变量PsActiveProcessHead中,但这个变量windows没有输出,但我们可以通过PsGetCurrentProcess()函数获取当前进程的EPROCESS结构体指针,然后通过ActiveProcessLinks遍历列表来查找要隐藏的进程。这里需要注意的是不同版本的windows系统的EPROCESS结构可能不同。
在用户层采用这种方法的原理也很简单,因为windows系统在物理内存中的位置是固定的,所以活动进程链表的首地址也是固定的,通过调用ZwOpenSection()函数读取和修改物理内存,然后修改的链表的相应位置来去除目标进程。在用户层采用这种方法隐藏进程可靠性较差,因为和windows系统的版本关系太密切,不同windows版本中的很多参数都不同,如链表头的位置,window内存的映像等,所以需要修改程序的很多参数,而且很多杀毒软件都禁止对物理内存的直接读写,所以很多情况下都不能达到对进程的隐藏。
4 总结
本文从原理上介绍了进程隐藏的几种方法,其中比较可靠和常用的是利用API拦截技术和在内核层修改活动进程链表两种方法。就像在本文开始所讲到的一样,隐藏都是相对的,只要进程还在系统中运行,就必须服从windows的调度,那么其在系统中就一定可以查找得到,所以一些系统工具,如IceSword等就可以查找到隐藏的进程,但我们可以采用多种技术的复合,如三线程进程保护机制,文件隐藏机制等,增加进程的防杀功能,可以从一定程度上保护进程。
参考文献:
[1] 罗云彬.Windows环境下32位汇编语言程序设计[M].电子工业出版社,200,10.
[2] Ciro Sisman Pereira.Portable Executable (P.E.) Code Injection: Injecting an Entire C[DB/OL].
[3] Jeffrey Ritcher.Load Your 32-bit DLL into Another Process's Address Space Using INJLIB[J].MSJ May 1994.
中图分类号:TN401 文献标识码:A 文章编号:2095-1302(2014)12-00-05
0 引 言
安全、有效的信息传输对国家安全、社会稳定和人民安居乐业至关重要。网络和多媒体技术的发展,使得信息传输的速度和数量正以惊人的增量发展。然而,信息传输的便利在方便人们的同时也给信息安全带来了隐患,同时也为基于数字载体的秘密信息传输提供了广阔的研究空间。目前,基于载体的秘密信息传输是信息安全领域的一个方兴未艾的研究热点。而基于载体预处理的藏文信息隐藏技术将为信息安全领域提供一些新的数字信息共享和传输理念,特别是藏文的预处理规律、在数字信息中的隐藏规律等,将有助于涉藏秘密通信技术的发展,并可以对民用和商用领域中涉及到藏文内容的传输、共享、存储和提取的通信过程起到安全保护、版权保护及完整性认证的作用,并对国家涉藏领域的网络舆情监控、国内外涉藏敏感信息标注和情感色彩认知起着至关重要的作用。
在藏文信息隐藏技术方面,目前主要涉及的技术有关键字识别、字符识别和提取、韵律认知、语义角色标注、文本资源挖掘和语料抽取等,并以此为基础进行置乱优化。
1 国内外信息隐藏技术研究现状
信息隐藏一直是信息安全领域中保障隐秘信息安全传输和数字信息版权的重要手段,也是近年来国内外学者研究的热点之一。最新的一届ACM信息隐藏和多媒体安全会议(ACM IH&MMSec’13 Workshop)的主要研究内容有信息隐藏算法、多媒体水印和认证、载体运算域的数字信号处理等。其中,信息隐藏算法的设计首先依赖于载体的选择和预处理;关于多媒体水印和认证的研究则将信息隐藏和数字水印的载体范围从数字图像等常见载体拓展到了包括三维模型在内的新型载体上;载体运算域的数字信号处理涉及到了载体预处理时所用的具体方法,如空间域或变换域等。2013年IEEE 图像处理国际会议(IEEE ICIP 2013)的主要研究内容包括图像、音视频和3-D等多媒体的信息隐藏算法和多媒体特征提取和分析等,这两类研究内容均与载体的选取和预处理有关。最新一届信息隐藏国际会议(IH2012)的主要研究内容包括多媒体安全和其他载体的信息隐藏。我国的第十一届全国信息隐藏暨多媒体安全学术大会(CIHW2013)中关于信息隐藏算法的研究内容也主要集中在非常规载体的分析和预处理上。
藏文作为信息隐藏领域一种新的信息格式,对其研究主要局限于藏文操作系统、藏文信息技术标准、藏文信息处理等几个方面[1],具体内容集中在藏文编码字符集、术语集、拼音辅助集等的建立。
基于载体的秘密通信技术是20世纪90年代中期发展起来的跨领域的学科,而载体的预处理技术一直是其研究的主要方向。对隐藏载体进行预处理,生成信息隐藏嵌入区域是信息隐藏算法中最重要的研究内容之一。从上述国内外各学术会议中关于信息隐藏的参会论文和研讨情况看,各类载体固有特性的研究对预处理技术有着重要的意义,且数字图像依然是主要的一类载体,而三维模型将是未来主要研究的一类非常规载体。下面就对数字图像和三维模型两类载体的预处理技术的研究现状进行阐述。
1.1 数字图像预处理技术研究综述
基于数字图像的信息隐藏技术是信息隐藏学科中重要的技术分支,是目前应用最广、覆盖范围最大的信息隐藏技术手段。在基于数字图像的信息隐藏技术研究中,信息隐藏区域的生成是关系算法性能的重要因素。信息隐藏区域的生成方法主要包括空间域生成法、变换域生成法以及空间域和变换域联合的生成方法。
空间域算法:作为空间域算法中出现最早、操作最简单且应用最广泛的算法,基于位平面分解理论的LSB算法可以直接替换的方式隐藏较大的数据量,刘红翼等提出的一种LSB算法具有容量大、运算量小的特点[2];刘文彬等提出的LSB隐写替换的消息定位方法则可以对此类算法进行检测[3];而IH2012的论文中,有学者运用假设检验理论和含秘载体的奇偶感知特性可有效地检测LSB算法所隐藏的隐秘信息[4,5],这些研究为藏文信息隐藏中涉及到关于此类算法的抗检测性研究提供了新的待改进方向。张焱等提出的像素值排序和赵彦涛等提出的直方图修改等空间域算法在沿用LSB直接替换的隐藏理念的同时,还提升了鲁棒性,因此也被广泛用于数字图像载体预处理[6,7];随后,杨春芳等提出了针对此类算法的检测方法[8],这也为针对此类算法抗检测性改进的研究提供了重要依据。此外,上述同类算法中的载体子区域划分思想、内容自适应思想等也对本项目基于载体结构特性建立空间匹配模型的机制提供了方法学上的有力支持[9-13]。
变换域算法:不同于空间域算法直接对载体的空间特性进行修改,变换域预处理方法以修改载体的频率参数来隐藏信息[14],因此算法的鲁棒性比空间域算法好。在此基础上,唐燕等又对隐秘信息的检测和恢复进行了研究和改进,实现了几乎无需原始参量的半盲提取[15]。尽管变换域算法不具备空间域算法容量大、运算量小和易操作等优势,但是变换域中的多小波理论因其同时具有对称性、短支撑性、二阶消失矩和正交性等特性成为了信号处理中有明显优势且较常用的方法,在前期研究中利用多小波方法将数字图像载体分块后作为嵌入区域,提高了算法的鲁棒性和不可见性[16,17],这种方法为在藏文信息隐藏研究中建立基于区域能量的阶梯性分布机制提供了一种研究手段。
混合域算法:较单独运用一种空间域或变换域生成隐藏区域并设计信息隐藏算法来看,基于空间域与变换域联合的信息隐藏算法可以兼有多种算法的性能优势。在基于空间域和变换域联合的信息隐藏算法中,空间域的作用体现在数据嵌入的具体操作方面,因为隐藏的实质就是在当前环境下的空间分量上进行数据修改,利用边缘像素值差分(Edged Pixel Value Differencing,EPVD)将载体换算为若干个像素块,以最大斜角的数据修改作为信息隐藏的具体方法[18];利用湿纸码和基于LSBM的双层隐写来对载体进行加1嵌入或减1嵌入[19];另外,国内外许多学者利用调色板理论进行数据嵌入[20,21]。而变换域在载体预处理中的主要作用是生成满足特定需要的信息隐藏环境(区域),主要包括变换后的系数分布以及n阶分量子图等。如对RSV颜色空间的V分量做DCT变换,分块后作为嵌入区域[22];利用视觉显著点技术确定跟踪窗(Regions of Interest,ROI),在ROI的DCT系数上嵌入隐藏信息,并指定某个ROI边缘地图脆弱性标识,嵌入到DWT变换后的含密图像中[23];前期研究中,研究人员利用自适应颜色迁移理论中lαβ域对颜色的控制力,消除了RGB颜色分量的强相关性,并结合GHM能量分区隐藏信息,在不可见性、嵌入信息量和鲁棒性方面均具有较好的表现[24]。
1.2 三维模型预处理技术研究综述
潘志庚等将基于三维模型的信息隐藏预处理方法主要分为空间域算法和变换域算法[25]。这也这为藏文信息隐藏研究提供了新的思路和方法。
空间域算法:空间域算法通常具有易嵌入和盲提取的特点,如直接置换载体的几何信息来隐藏数据是三维模型载体信息隐藏最原始、最直接的方法[26]。为改进此类算法的鲁棒性,引入仿射不变量是有效的措施,如利用具有连续解析性的仿射不变量优化需要置换的顶点[27]、 将稳态锚点通过三角垂心编码解析为聚类元素从而嵌入隐秘信息[28]。此外,基于主元分析的算法也有助于改善空间域算法的鲁棒性,例如可根据主元分析(Primary Component Analysis,PCA)来确定模型的关键位置作为鲁棒区域,并用网格分割法改进鲁棒性和不可见性[29-32]。这类算法也为藏文信息隐藏从载体结构特性进行解析和预处理提供了理论依据。改进型的空间域算法多针对鲁棒性或容量性有所提升,如基于连续解析性的体积矩的盲算法,改善了之前算法对连通性攻击的鲁棒性[33];通过重排顶点和面片在网格文件中的表示信息,利用表示域内的信息进行嵌入使算法具有良好的不可见性和大容量性[34],但对相似变换以外的攻击不具有鲁棒性。
变换域算法:三维模型预处理的变换域方法大多利用频谱分析将模型信息参数化[35],对参数进行少量修改后以隐藏信息,其中,基于小波变换的算法可以对规则和非规则网格模型进行小波域参量修改以嵌入较多信息[36]。理论上,变换域算法比空间域算法鲁棒性强,但由于三维模型顶点的天然无序性和不规则性,对其进行频谱分析难度大,导致变换域算法实用性目前较低,因此空间域算法依然是比变换域算法更有实用价值的研究方向[37]。
2 藏文信息隐藏技术研究现状
目前反映藏文信息处理技术最新进展的文献较少,综合以已有的研究成果及相关研究文献,藏文信息处理可划分为藏语信息处理和藏字信息处理两个层次[38,39]。藏语信息处理包括机器翻译、信息检索、信息提取、文本校对、文本生成、文本分类、自动摘要以及藏文字识别和语音识别的后处理等等;而藏字信息处理包括操作系统以及编码字符集、输入技术、字形描述与生成、存储、编辑、排版、字频统计和藏字属性库等。这些研究基础对藏文信息隐藏技术的发展至关重要,是基于载体预处理的藏文信息隐藏的主要技术来源。鉴于藏文的独特构造,以及藏文的特点,目前对藏文秘密信息的预处理技术一般指置乱和加密算法的选择[40],而置乱使信息变得杂乱无章难以辨认,可以起到加密与改变信息嵌入特性的作用。可用于藏文信息隐藏的置乱算法主要有Arnold变换、幻方矩阵、Gray码变换、混沌序列等方法[41]。其中,Arnold变换算法简单且置乱效果显著,使有意义的数字图像变成像白噪声一样的无意义图像,实现了信息的初步加密和信息结构的调整,在嵌入信息为数字图像时可以很好的应用[42]。幻方置乱的思想基于查表思想,基于数字图像的幻方置乱可降低幻方置乱阶数或以图像块进行置乱,实现置乱效果与系统开销的平衡[43]。Gray是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便[44]。混沌的优势在于对初始条件的极端敏感和轨迹在整个空间上的遍历性。根据经典的Shannon置乱与扩散的要求,这些独特的特征使得混沌映射成为信息隐藏嵌入算法的优秀候选[45]。上述传统的置乱算法一般用于正方形图像处理,而经过改进的Arnold算法可直接用于宽高不等的矩形图像而不必进行正方形扩展[46],这也将是藏文信息隐藏技术所采用的主要置乱方法之一。
3 藏文信息隐藏技术的研究目标、研究内容和要解决的问题
3.1 研究目标
面向藏文安全通信的高性能信息隐藏算法是目前藏文信息隐藏技术的主要目标,包括提出性能出色的、适合藏文通信要求的信息隐藏算法;提出一种具有普适性的高性能信息隐藏嵌入区域生成原则和嵌入规则:
(1) 基于数字图像的藏文信息隐藏算法:提出至少两种基于数字图像的藏文信息隐藏算法,算法将同时满足面向藏文安全的信息隐藏应用所要求的高不可见性(PSNR≥34.90dB)、强鲁棒性(抗击大约69%以下的JPEG2000压缩、35%以下的剪切及常见滤波与加噪)、大容量性(基于彩色图像的信息隐藏信息嵌入率≥18%)以及高感知篡改性(检测隐藏数据是否被篡改能力≥95%)。
(2) 基于三维模型的藏文信息隐藏算法:提出至少一种基于三维模型的藏文信息隐藏算法。算法将同时满足面向藏文安全的信息隐藏应用所要求的高不可见性(RSNR≥69.94dB、En≥70%)、应对一般攻击的强鲁棒性(抗击大约0.10%随机加噪、50-times Laplacian平滑、50%均匀重网格化以及均匀简化等)、大容量性(相对理想的RSNR,嵌入率≥29%)以及低复杂度(根据载体模型几何信息量而变化)。
(3) 普适性信息隐藏嵌入区域生成原则和嵌入规则:利用载体图像能量和复杂度特性,提出基于能量性和复杂度的藏文信息隐藏区域生成原则和嵌入规则,将适应于所有对数字图像处理后有能量区别的图像处理方法,指导设计者利用能量与鲁棒性、复杂度与不可见性的对应关系,研究出同时满足不可见性和鲁棒性的信息隐藏算法。
3.2 研究内容
(1) 藏文信息隐藏区域生成原则与规则研究:数字图像信息隐藏技术的研究核心集中在隐藏区域和嵌入规则的设计上,藏文信息隐藏算法的设计方法和思路就是在选定藏文信息隐藏区域以及制定好信息隐藏规则后,按照一定的顺序将两者进行合理的组织,所以研究藏文信息隐藏区域生成原则以及信息隐藏规则是重点。
(2) 基于数字图像的藏文信息隐藏算法研究:隐藏算法是基于数字图像的信息隐藏技术的研究核心,需按照嵌入域进行划分,对基于空间域和基于变换域的信息隐藏算法分别进行研究,提出单独基于空间域、单独基于变换域以及两者联合应用的数字图像信息隐藏算法。
(3) 基于三维模型的藏文信息隐藏算法研究:首先对三维模型的结构特性和能量特性进行研究,再根据载体模型的特性找出对应的预处理方法。在研究基于空间域和基于变换域的信息隐藏算法的基础上,提出改进型的三维模型信息隐藏算法。主要用于提升载体有效嵌入容量和降低载体视觉失真度。
(4) 载体与藏文秘密信息的一致化方法研究:基于上述研究基础,生成结构和能量差异化子区域,再将藏文秘密信息按照拼音属性进行解析生成信息序列。再利用优化算法使得预处理后的载体信息和藏文秘密信息的解析编码获得最大一致化,从而提高算法性能。
3.3 需解决的关键问题
综合已有的研究,在藏文信息隐藏技术方面,目前需要解决的问题有以下几个方面:
(1) 信息隐藏区域与嵌入规则设计:在具有什么性质的区域内应用什么样的规则进行藏文信息隐藏才可以解决“不可见性与鲁棒性的对立、容量性与抗分析性的对立”问题,是藏文信息隐藏研究领域的关键技术之一。需找出隐藏区域的性质与信息隐藏性能的关系,提出面向藏文信息传输的信息隐藏区域选择的原则与方法;给出在具有具体性质的嵌入区域中的藏文信息隐藏嵌入规则的制定原理和方法;提出大量的藏文信息数据转换思想与方法,以提供形式多样的信息隐藏嵌入规则。
(2) 数字图像载体预处理方法:①多小波理论在载体预处理中的应用。对于数字图像经过多小波变换后所具有的特殊性质,找出多小波变换后数字图像所具有的能量特性与基于数字图像信息隐藏算法性能之间所遵循的规律已有学者进行研究。②颜色空间的性能分析与应用选取。RGB、CMYK、lαβ、YUV以及HSx颜色空间,应用方法以及应用各有优劣势。该技术的应用难点在于为颜色空间在藏文信息隐藏的应用提出完备的应用方案,因为这些颜色空间在藏文信息隐藏技术中的应用目前非常少,应用优劣还处于实验验证阶段,没有理论验证的支持。
(3) 三维网格模型载体预处理方法:骨架抽取和内切球解析技术在藏文信息隐藏算法中的应用。这种方法不涉及顶点数量及坐标的改变和拓扑关系的修改。难点在于寻找一个理想的仿射不变量作为辅助参数以弥补算法对缩放攻击的脆弱性。
(4) 藏文的置乱与遗传优化算法:有的藏文字处理系统把藏文看成是由30个辅音、4个元音、3个上加字、5个下加字共42个藏文字符组成的,而有的则认为由其他数量的字符组成。基于对藏文中加字对发音的影响规律的研究,利用字符与二进制码的解析规则和置乱与优化技术对信息置乱,达到隐藏信息与载体信息的最大匹配度也是一个技术难点。
4 藏文信息隐藏技术研究的新方法
(1)利用载体图像能量和复杂度特性,提出基于能量性和复杂度的藏文信息隐藏区域生成原则和嵌入规则。高能量与强鲁棒、高复杂度与高不可见性的对应关系,从根本上解决藏文信息隐藏算法中不可见性和鲁棒性的对立问题,为面向藏文通信安全的信息隐藏算法的设计给出一种普适性方法。
(2)根据数字图像信息隐藏嵌入区域的生成原则和嵌入规则,提出新的、高性能的数字图像的藏文信息隐藏算法。算法利用lαβ等颜色空间转换以及多小波对载体图像进行的处理,生成具有不同能量特性的嵌入区域,从频率域上满足藏文信息隐藏的应用要求;通过对载体图像进行颜色迁移、矢量解析以及环形处理,从数字图像的空间结构上满足藏文信息隐藏的应用要求。
(3)提出满足三维模型结构特性和能量特性的藏文信息隐藏算法。算法利用局部高度理论和均值偏移理论对载体模型进行预处理,生成具有不同能量特性的嵌入区域,从频域上满足信息隐藏的应用要求;通过对载体图像进行骨架抽取、内切球解析,从空间结构上满足藏文信息隐藏的应用要求。
参考文献
[1]陈玉忠,俞士汶. 藏文信息处理技术的研究现状与展望[J]. 中国藏学. 2003(4):97-107.
[2]刘红翼,王继军,韦月琼,等.一种基于LSB的数字图像信息隐藏算法[J].计算机科学,2008, 35(1):100-102.
[3]刘文彬,刘九芬.一种针对LSB替换隐写的消息定位方法[J].信息工程大学学报,2013,14(6):641-646.
[4] R. Cogranne, C. Zitzmann, F. Retraint,et al. Statistical Detection of LSB Matching Using Hypothesis Testing Theory[C].In: Proceedings of the 14th International Conference on Information Hiding,2013.
[5] J. Fridrich, J. Kodovsky. Steganalysis of LSB Replacement Using Parity-Aware Features[C]. In: Proceedings of the 14th International Conference on Information Hiding, 2013.
[6] 张焱,张敏情,瓮佳佳.基于直方图对的大容量信息隐藏算法[J].计算机应用研究,2013,30(7):2108-2111.
[7] 赵彦涛,李志全,董宇青.基于排序和直方图修改的可逆信息隐藏方法[J].光电子.激光,2010,2(1):102-106.
[8] 杨春芳,刘粉林,罗向阳.基于相对熵的直方图差异与JPEG隐写的定量分析[J].计算机研究与发展, 2011,48(8):1563-1569.
[9] 熊志勇,王江晴.基于差分直方图平移的彩色图像可逆信息隐藏[J].四川大学学报,2011,43(3): 81-89.
[10] Z.H. Wang, C.F. Lee, C.Y. Chang. Histogram-shifting-imitated reversible data hiding[J]. The Journal of Systems and Software, 2013,86(2): 315-323.
[11] X.L. Li, J. Li, B. Li, et al. High-fidelity reversible data hiding scheme based on pixel-value-ordering and prediction-error expansion[J].Signal Processing,2013, 93(1): 198C205.
[12] X.T. Wang, C.C. Chang, T.S. Nguyen, et al. Reversible data hiding for high quality images exploiting interpolation and direction order mechanism[J]. Digital Signal Processing, 2013,23(2): 569C577.
[13] Nabin Ghoshal, Anirban Goswami, H. S. Lallie. Adaptive Steganography for Image Authentication Based on Chromatic Property[C]. In: Proceedings of the International Conference on Frontiers of Intelligent Computing: Theory and Applications (FICTA),2013.
[14]和红杰,张家树.对水印信息篡改鲁棒的自嵌入水印算法[J].软件学报,2009,20(2):437-450.
[15] 唐燕,闾国年,殷奎喜.规范类正交矩阵的信息隐藏算法[J].东南大学学报,2013,43(1):45-49.
[16] T. Zhang, D.J. Mu, S. Ren, et al. Study of reversible information hiding scheme based on CARDBAL2 and DCT[C].Proceedings-2010 3rd IEEE International Conference on Broadband Network and Multimedia Technology (IC-BNMT2010),2010.
[17] T. Zhang, D.J. Mu, S. Ren. A Confidential Communication-Oriented Information Hiding Algorithm based on GHM multi-wavelet and DCT[J].Applied Mathematics & Information Sciences,2013, 7(5): 1803-1807.
[18] H.B. Kekre, P. Halarnkar, K. Dhamejani. Capacity increase for information hiding using maximum edged pixel value differencing[J].Communications in Computer and Information Science,2011, 145(1): 190-194.
[19] 奚玲,平西建,张韬.整数小波域湿纸码自适应信息隐藏算法[J].计算机辅助设计与图形学学报,2011,2(7):1217-1223.
[20] H. Zhao, H.X. Wang, M.K. Khan. Steganalysis for palette-based images using generalized difference image and color correlogram[J].Signal Processing, 2011,91(11): 2595-2605.
[21] A. Lamgunde, A. Kale. Palette based technique for image steganography[J].Communications in Computer and Information Science, 2011,125(2): 364-371.
[22] Y.J. Qiu, H. T. Lu, N. Deng, et al. A robust blind image watermarking scheme based on template in Lab color space[C].2011 International Conference on Computing, Information and Control(ICCIC 2011),2011.
[23] L.H. Tian, N.N. Zheng, J.R. Xue, et al. An intergrated visual saliency-based watermarking approach for synchronous image authentication and copyright protection[J].Signal Processing:Image Communication,2011,31(2): 9-64.
[24] 任帅,张|,慕德俊,等.基于GHM多小波与自适应颜色迁移的信息隐藏算法研究[J].西北工业大学学报,2010,28(2):64-269.
[25] 潘志庚, 孙树森, 李黎.三维模型数字水印综述[J].计算机辅助设计与图形学学报,2006,18(8):1103-1110.
[26] S.H. Lee, K.R. Kwon. VRML animated model watermarking scheme using geometry and interpolator nodes[J].Computer-Aided Design,2011,43(8): 1056-1073.
[27] M. Luo, A.G. Bors. Surface-preserving robust watermarking of 3-D shapes[J].IEEE Transactions on Image Processing, 2011,20(10): 2813-2826.
[28] L. Du, X.C. Cao, M.H. Zhang, et al. Blind Robust Watermarking Mechanism Based on Maxima Curvature of 3D Motion Data[C]. In: Proceedings of the 14th International Conference on Information Hiding,2013.
[29] Z.Q. Yao, R.J. Pan, F.H. Li, et al. A mesh partitioning approach for 3D mesh oblivious watermarking[J].Chinese Journal of Electronics, 2010,19(4): 651-655.
[30] S. Cai, X.K. Shen. Octree-based robust watermarking for 3D model[J].Journal of Multimedia, 2011,6(1): 83-90.
[31] S. Cai, X.K. Shen. OTP-W:Octree partition-based 3D mesh watermarking[C].Second International Workshop on Education Technology and Computer Science,2010.
[32] 廖学良,王屏.一种新的三维模型水印嵌入空域算法[J]. 计算机学报,2008, 31(10): 1848-1856.
[33] K. Wang, G. Lavouéa, F. Denisb, A. Baskurt. Robust and blind mesh watermarking based on volume moments[J].Computers & Graphics,2011, 35(1): 1-19.
[34] I.L. Chung, C.M. Chou, D.C. Tseng. Hiding data in triangle meshes by rearranging representation order[J].International Journal of Innovative Computing, Information and Control,2011, 7(6): 3419-3435.
[35] 胡敏,刘辉.基于特征点的自适应三维网格数字水印算法[J].合肥工业大学学报(自然科学版),2010,33(1):55-59.
[36] M. Hachani, A.Z. Ouled, S. Bahroun. Wavelet based watermarking on 3D irregular meshes[C]. 19th IEEE International Conference on Image Processing(ICIP),2012.
[37] Y.P. Wang, S.M. Hu. Optimization approach for 3D model watermarking by linear binary programming[J].Computer Aided Geometric Design, 2010,27(5): 395-404.
[38]陈力为. 中文信息处理丛书序言[M].北京:清华大学出版社,2000.
[39]俞士汶,朱学锋,贾玉祥. 汉语隐喻自动处理研究之概况[C].第四届文学与信息技术国际研讨会,2008.
[40] 谭良,吴波,刘震,等.一种基于混沌和小波变换的大容量音频信息隐藏算法[J].电子学报,2010,38(8):1812-1819.
[41] 丁玮,闫伟齐,齐东旭.基于置乱与融合的数字图象隐藏技术及其应用[J].中国图象图形学报,2000,5(8):644-649.
[42] 田云凯,贾传荧,王庆武.基于Arnold变换的图像置乱及其恢复[J].大连海事大学学报:自然科学版,2006,32(4):107-109.
[43] 彭万权,张承畅,冯文江,等.多阶幻方卷积码的构造及译码[J].电子学报,2013,41(1):123-130.
中图分类号:TN919.81 文献标识码:A 文章编号:1004373X(2008)1613003
Research on Video Object Shape Error Concealment Technology
FU Xiang,GUO Baolong,YAN Yunyi
(ICIE Institute,School of Electromechanical Engineering,Xidian University,Xi′an,710071,China)
Abstract:Shape information of Video Object(VO) is most important for correctly decoding.Shape error should be concealed to decode texture data and motion data correctly.Traditional technologies of shape error concealment are summarized in this paper,comparison and discussion are described.When the shape data does not change that much in consecutive time instants,the temporal methods outperform the spatial ones.The spatial methods are the only choice when the previous frame does not contain a shape tat is related to the current shape.Ideally,the decoder should have access to both types of techniques and choose between them or combine them,according to the situation at hand.Finally,the possible research directions of shape error concealment are pointed out.
Keywords:video object;binary shape information;error concealment;spatial method;temporal method
MPEG4标准对每个Video object (VO)单独编码,每个VO由形状信息、运动信息和纹理信息3类信息来描述[1]。由于编码的VO流对信道错误极其敏感,标准规定,如果是纹理部分出错,则只有纹理信息丢失,运动和形状信息可以由周围的信息恢复;如果是形状部分出错,则整个数据包(包含形状、纹理和运动信息)均丢失[2];并且现有的纹理和运动信息错误隐藏技术都是在正确获得形状信息的基础上得到的[3,4],可见VO形状错误隐藏的重要性。
在MPEG4中,VO的形状信息由二值alpha平面表示[5],用黑表示该像素点属于VO,而白表示该点属于背景。形状错误隐藏算法可以分为基于时域[69]和基于空域[4,9,10]的算法。时域方法可以利用前一帧的形状信息来隐藏当前帧丢失的信息,空域算法只利用当前帧的信息进行错误隐藏,适用于帧间场景变化较大,如场景变换的情况;空域算法也是静止图像的错误隐藏的惟一选择;一般情况下帧间变化较小,基于时域的方法可以得到更加好的隐藏结果。
1 空域形状错误隐藏算法
1.1 传统方法
传统空域形状数据隐藏方法主要有3种[11]:最大后验估计法、基于模糊理论的方法以及Bézier曲线拟合法。文献[11]的仿真实验和性能比较表明,Bézier曲线拟合法的隐错性能较好。Chen[9]和Luis[10]分别采用二次和3次Bézier曲线拟合丢失轮廓,由于3次曲线的连续性和平滑性都好于二次曲线,因此Luis算法性能优于Chen算法,本文仅介绍和分析Luis基于3次Bézier曲线的算法。
Luis算法首先得到二值alpha平面的轮廓曲线,由于发生错误,轮廓曲线会变得不完整;然后采用Bézier曲线插值轮廓曲线的丢失部分。其关键技术如下:
(1) 轮廓断点配对。将轮廓曲线的偶数个断点两两配成一对,以便在下一步操作中将每一对断点连接起来,从而形成完整的轮廓曲线。Luis算法利用如下公式进行断点配对:F=∑i|δAi|+|δBi|, i∈P(1) 其中δA和δB如图1所示,表示2个断点A和B处轮廓曲线的切矢与AB连线间的夹角;P表示丢失区域内所有可能的断点配对的集合,选择使代价函数F为最小的配对组合,这种配对方法基于以下假设,即对象的轮廓方向变化较慢。
(2) 确定三次Bézier曲线的4个控制点。生成1段3次Bézier曲线需要4个控制点,需要连接的1对轮廓断点作为首尾控制顶点,因此需要在首尾控制点间增加两个附加控制点。Luis算法首先采用三次参数曲线拟合丢失轮廓两侧的已知轮廓,如图1所示中的SA和SB,减小SA和SB的长度,直到拟合曲线与原始曲线间的最大均方距离小于给定阈值。
图1 Luis算法示意图然后,以SA为例,利用式(2)确定SA对应的4个Bézier曲线控制点:[p1 p2 p3 p4]=
dx13cx+dx13bx+23cx+dxax+bx+cx+dx
dy13cy+dy13by+23cy+d.yay+by+cy+dy(2)其中ax,bx,cx,dx为拟合SA的3次曲线的系数;p1和p4为SA的2个端点;p4即为图1中的点A。为了使错误隐藏的轮廓曲线满足C
(3) 根据确定的控制点,用3次Bézier曲线连接丢失轮廓。
1.2 基于水印的方法
有别于传统方法,文献[4]提出一种基于水印的VO空域形状错误隐藏算法,将形状信息或形状变化作为水印信息嵌入到人们关注较少的背景对象中,该方法对于形状信息严重丢失的情况,修复效果仍然很好。
但是,根据MPEG4的码率分配原则,在网络带宽有限时,用较多的码率传输感兴趣的视频对象,用较少的码率传输人们关注较少的背景对象,甚至不传输背景对象。因此,将形状信息作为水印嵌入背景对象中的方法不实用。
2 时域的形状错误隐藏算法
2.1 基于块的形状错误隐藏方法
基于块的方法常用于纹理信息的错误隐藏,后来被扩展到形状错误隐藏中来。当1个块发生错误时,解码器试图从前一时刻复制一个块作为错误块的替代。常用的基于块的方法共有3种形式:
(1) 简单地复制前一时刻相同位置的形状信息;
(2) 利用误差块上方块的运动矢量,从前一时刻寻找错误块的替代,对错误块进行补偿;
(3) 利用错误块周围正确解码的块,估计错误块的运动矢量,根据运动矢量利用前一帧的信息对错误块进行运动补偿。
显然,第(3)种方式得到的错误隐藏效果较好,与此类似,文献[9]中提出一种称为WSM (Weightd Side Matching)的方法,方式(3)中的方法利用错误块周围的16×16完整块进行运动估计,而WSM法则利用错误块周围4个块的一半加权后进行运动估计,即上下取8×16的块而左右取16×8的块,离丢失块越近的行(或列)分配的权值越大。最后得到一个运动矢量,以此对丢失形状进行错误隐藏。
为了克服运动补偿形状差错掩盖法对局部运动的局限性,文献[7]中提出整体运动补偿与局部修正相结合的时域形状错误隐藏算法。首先对于已知轮廓上的每一点,利用块匹配的方法找出其运动矢量,然后求出alpha平面的全局运动矢量,对当前平面进行全局运动补偿。最后利用错误块周围的已知信息,利用块匹配的方法寻找错误块的局部运动矢量,对其进行局部修正。
2.2 基于轮廓的错误隐藏方法
基于块的方法对单个块丢失的情况可以取得较好的错误隐藏效果,当多个连续块丢失时,效果则不太好,而基于轮廓的方法可以克服上述问题[8]。
Salama等[6]将VO全局运动参数嵌入视频流,在解码端,如果检测到当前帧VO形状需要错误隐藏,则利用码流中嵌入的运动参数,将当前轮廓映射到参考轮廓,然后隐藏错误的轮廓信息。这种方法隐藏效果较好,但它会使码率增加5%,而且其通用性不好,必须要解码器和编码器都支持嵌入了运动参数的编码格式。文献[8]中的MC (Motion Compensated)算法同样基于轮廓,MC算法不增加码率,通用性好,适用于丢失多个块的情况,是时域形状错误隐藏效果较好的方法。
MC算法首先计算当前轮廓上每个点的运动矢量,每个轮廓点的运动矢量v始于前一帧的轮廓点,指向当前帧对应的轮廓点。设当前帧有N个轮廓点,则这些轮廓点的运动矢量组成的运动矢量场应该满足:v.*1,v.*2,…,v.*N=argminv1,v.*2,…,vN∈V1×V2×…×VN∑Nj=2
vj-vj-1.2+α∑Nj=1vj.2(3)其中vj是从参考轮廓点指向当前轮廓点j的运动矢量;Vj是点j所有可能的运动矢量组成的集合。通过计算式(3)的最小值,可以得到2个轮廓间的最优匹配矢量场,即2轮廓间最平滑的矢量场,如图2(a)所示。
将当前轮廓与参考轮廓匹配后,可找到当前轮廓丢失段在参考轮廓上的对应部分,将该对应轮廓段映射到当前轮廓丢失部分,每个点映射的运动矢量vm可通过线性插值求得:vm=M-mM-1vstart+m-1M-1vstop(4)其中vstart和vstop分别表示轮廓丢失段的起始点和终止点与参考轮廓匹配时求得的运动矢量,如图2(a)所示;M是参考轮廓上对应于丢失轮廓的总点数;m表示当前要隐藏的点;当m从1变到M,即完成隐藏过程,隐藏后的轮廓如图2(b)。最后对隐藏的轮廓进行填充,得到隐藏的二值alpha平面,即VO的形状,如图2(c)所示。
图2 MC错误隐藏算法3 空域法和时域法的隐错性能比较
假设当前VO丢失一个包含轮廓的块,如图3(a)所示,其中灰色块表示丢失块。图3(b)是不完整轮廓,需要对其进行错误隐藏。图4(a)和图4(b)分别给出了MC算法得到的运动矢量场和隐藏结果。图5是空域法的隐藏结果,由图4和图5可看出,MC算法的隐藏结果更好地保持了VO的形状。
图3 视频对象发生错误不难看出,如果相邻VO间运动较大,对于MC算法,最平滑的运动矢量场无法映射当前形状到前一帧的相应部分,导致隐藏效果不理想甚至算法失败;而空域法只利用当前帧的信息,隐藏性能稳定,不受VO间的运动影响,这种情况下,只能选择基于空域的形状错误隐藏方法。
图4 MC算法隐藏结果图5 空域法隐藏结果4 结 语
相邻VO间运动较小时,时域法比空域法能更好地保持VO的形状;空域法只利用当前帧的信息,性能稳定,不受VO间的运动影响。当帧间变化较大时,时域法参考VO失去参考价值,在这种情况下,只能选择基于空域的形状错误隐藏方法。时域法需要图像匹配和运动补偿,一般计算量较大;空域法简单易实现。
可见,时域法和空域法各有利弊,一个好的解码器应能实现2种错误隐藏,根据具体情况选择或将两者相结合。在提高空域法的隐藏精度、提高时域法对帧间运动的鲁棒性及提高时域法的运算速度等方面,有待进一步研究。
参 考 文 献
[1]ISO/IEC JTC1/SC29/ WG11 N3908.MPEG4 video verification model version 18.0[S].
[2]Li X H,Katsaggelos A K,Schuster G M.A Recursive Shape Error Concealment Algorithm[C].Proceedings of International Conference on Image Processing,Rochester:IEEE,2002:177180.
[3]Wang Y,Wenger S,Wen J,et al.Error Resilient Video Coding Techniques\.IEEE Signal Processing Magazine Special Issue on Multimedia Communications over Networks,2000,17(4):6182.
[4]付炜,丁倩,孟维娜等.基于水印技术的MPEG4形状错误隐藏[J].现代电子技术,2007,30(11):7173,76.
[5]Shirani S,Erol B,Kossentini F.A Concealment Method for Shape Information in MPEG4 Coded Video Sequences\.IEEE Transactions on Multimedia,2000,2(3):185190.
[6]Salama P,Huang C.Error Concealemt for Shape Coding[C].Proceedings of International Conference on Image Processing,Rochester:IEEE,2002:701704.
[7]Luis D S,Fernando P.Temporal Shape Error Concealment by Global Motion Compensation With Local Refinement\.IEEE Transaction on Image Processing,2006,15(6):1 3311 348.
[8]Schuster G M,Katsaggelos A K.Motion Compensated Shape Error Concealment[J].IEEE Trans.Image Processing,
2006,15(2):501510.
[9]Chen M J,Chi C C,Chi M C.Spatial and Temporal Error Concealment Algorithms of Shape Information for MPEG4 video[J].IEEE Transactions on Circuits Systems for Video Technology,2005,15(6):778783.
[10]Luis D S,Fernando P.Spatial Shape Error Concealment for Objectbased Image and Video Coding[J].IEEE Transaction on Image Processing,2004,13(4):586599.
中图分类号:TP309.5 文献标识码:A 文章编号:1007-9599 (2012) 10-0000-02
目前,木马已经成为常见的网络攻击技术之一,对网络安全造成了严重的威胁。它具有攻击范围广、隐蔽性强等特点。本文主要针对木马的隐藏技术展开研究。
一、木马定义和特征
木马是指潜伏在电脑中,受到外部用户控制以达到窃取本机信息或控制权为目的的程序。其全称为特洛伊木马,英文叫做“Trojan horse”。它是指利用一段特定的程序(木马程序)来控制另一台计算机。木马通常有两个可执行程序:分别为客户端和服务端,即控制端和被控制端。植入被种者电脑的是“服务器”部分,而所谓的“黑客”正是利用“控制器”进入运行了“服务器”的电脑。一旦运行了木马程序的“服务器”以后,被种者的电脑就会有一个或几个端口被打开,黑客就可以利用这些打开的端口进入电脑系统,用户的个人隐私就全无保障了。木马的设计者采用多种手段隐藏木马以防止木马被发现。随着病毒编写技术的发展,木马程序采用越来越狡猾的手段来隐蔽自己,使普通用户很难发觉。
二、木马的功能
木马的主要功能有:
(一)窃取数据:仅仅以窃取数据为目的,本身不破坏损伤计算机的文件和数值,也不妨碍系统的正常办公。有很多木马有键盘记录功能,会记录服务端每次敲击键盘的动作,所以一旦有木马入侵,数据将很容易被窃取。
(二)篡改文件:对系统的文件有选择地进行篡改,对服务端上的文件有筛选的施行删除,修改,运行等一些系列相关操作。
(三)使系统自毁。利用的方法有很多:比如改变报时的钟频率、使芯片热解体而毁坏、使系统风瘫等。
三、木马的隐藏技术
(一)文件隐藏
木马程序植入目标系统后,就会改变其文件表现形式加以隐蔽,从而欺骗用户。隐藏保护木马文件的方式主要有以下几种:
1.捆绑隐藏
采用此隐蔽手段的木马主要有两种方式:插入到某程序中或者与某程序捆绑到一起,一旦程序运行木马也就会被启动,例如使用压缩的木马程序伪装成jpeg等格式的图片文件,木马程序就有了随时运行的可能。或者与常用程序捆绑到一起,一旦木马被点击就会加载运行,使用户难以防范,例如提供给用户捆绑了木马程序的解压软件,一旦用户运行该软件此程序便被释放并立即运行。
2.伪装隐藏
首先利用自身多变性的外部特征伪装成单独的文件,选定好文件名,然后修改文件系统的相关程序,最后设置文件属性为隐藏或者只读。这样,木马就伪装成了正常的文件或者非可执行文件。
3.替换隐藏
木马将自身的DLL替换为目标文件的同名DLL文件,备份原先的正常系统文件。经过这样的替换后,一般情况下,正常的系统文件,只有当具有木马的控制端向被控制端发出指令后,隐藏的程序才开始运行。
(二)进程隐藏
进程是程序运行在操作系统中的表现行为。主要有以下三种方法:
1.注册为系统服务
在WIN9X系列的操作系统中,在系统进程列表中看不到任何系统服务进程,因此只需要将指定进程注册为系统服务就可以在系统进程列表中隐形此进程。
2.使用HOOK技术
我们可以利用Windows系统提供的挂钩函数,使得被挂钩的进程在自己处理接收到的消息之前,先处理我们的消息处理函数。一般地,这个消息处理函数放在DLL中,让目标进程加载,这就达到了注入代码的目的。
所谓的HOOK技术是指通过特殊的编程手段截取Windows系统调用的API函数,并将其丢掉或者替换。例如在用户查看任务管理器时截取系统遍历进程列表的函数并进行替换,隐藏木马进程。
3.基于DLL的进程隐藏技术
DLL不会在进程列表中出现,是因为它不能独立运行,必须由进程加载并调用。一个以DLL形式的程序,通过某个已经存在进程进行加载,就可实现程序的进程隐藏。主要有以下两种方式:
在注册表中插入DLL。在Windows NT/2000/XP/2003中,有一个注册表键值HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsHKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs。当某个进程加载User32.dll时,这里面所有的DLL都将User32.dll利用LoadLibrary函数加载到该进程空间中。我们可以把自己的代码放在一个DLL中,并加入该键值,这样就可以注入到所有使用User32.dll的进程中了。
远程线程注入。在Windows系统中,每个进程都有自己专门的地址空间,一个进程不能创建本来属于另一个进程的内存指针。远程线程技术就是利用特殊的内核编程手段打破这种限制,访问另一个进程的地址空间,进而达到隐藏自身的目的。所谓远程线性插入DLL技术是指通过在另一个进程中创建远程线程的方法进入其内存空间,然后加载启动DLL程序。
文献[3]提出的基于DLL加载三级跳和线程守护的隐藏技术,增强了木马的隐蔽性与抗毁性。
(三)启动隐藏
木马的最大特点就是它一定要伴随系统的启动而启动,否则就失去了意义。木马启动的方式有以下几种:
追溯码的隐藏技术
1.数字水印技术
数字水印是基于内容的非密码机制的信息隐藏技术,通过对数据的内容做微量修改来嵌入水印信息,从而达到信息隐藏的目的。该过程不影响原来数据的正常使用,不改变原媒体的外观,是迄今为止唯一可以跨媒体应用的信息安全与防伪技术。嵌入的水印信息可以通过技术软件或者特定的设备提取出来。当前,在国际研究领域中盛行的数字水印技术是采用信号分析的理论,通过傅里叶变换、小波变换等手法,寻求肉眼不易发现的地方埋入信息。一个完整的数字水印系统包括两个阶段,即水印信息的嵌入和水印信息的提取。在食品包装印刷中运用数字水印的原理与在普通数字媒体中运用的原理基本上是一样的,只不过印刷品是以半色调的网点来再现连续调原稿的层次和颜色变化,而在提取或检测水印过程中要对印刷品进行扫描,在扫描中有一个模/数转换过程。因此在数字水印嵌入和提取或检测过程中,必须结合半色调加网技术和模/数转换的算法,把追溯码作为水印以视觉不可见的形式隐藏在食品包装印刷中,通过特定的检测设备就能提取到追溯码的信息,进行食品的安全追溯。
2.隐形光栅防伪技术
隐形光栅防伪技术是基于半色调图像加网技术与光栅材料的光学折射特性相结合的防伪方法。该方法主要用于对半色调图像进行防伪设置,半色调图像经过防伪处理后,隐藏在图像中的信息只能通过特定的光栅才能看到,如图1所示。该方法简便易行,对设备及印刷工艺没有太高的要求,在不增加生产成本的情况下即可达到防伪的目的,因此该防伪技术有较好的发展前景。
隐形光栅防伪技术又叫开锁防伪技术,隶属于版纹防伪技术。它是利用光线的干涉原理,通过线条的变化来表现隐藏文字和图像等信息,加上制作的膜片,稍稍调整角度即可使隐藏信息显现出来的一种防伪技术。隐形光栅防伪技术属于二线防伪技术,也是隐藏防伪技术,需要工具才能检验。该技术的设计在制版中完成,在印刷中实现,不增加额外的制作成本,其素材在选择上不受限制,制作形式极为广泛。它是一种利用光学原理进行信息隐藏的技术,使用相应的解码设备解码后可以显示出事先设计的隐含信息,起到了一定的防伪效果,非常适合运用到食品的外包装上。
3. 二维码技术
早期国际上普遍采用印刷EAN.UCC一维条码来嵌入追溯信息,它最大的优点在于简化输入,使用条码读取设备就可方便地进行信息输入,但是由于一维码存储的信息量小,在一定程度上使其应用范围受限,因此产生了二维码(Dimensional Barcode),图2为市面上见到的一些二维码。二维码是在两个方向(垂直和水平)上进行的编码和解码,使用平面(二维方向上)分布的图形来记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,这大幅增加了编码容量以及完善了编码加密机制,从而拓展了它的应用范围。通过图像输入设备或光电扫描设备就可以自动识读以实现信息的自动处理。
然而,二维码不能隐含于文字、商标、图案等之中,必须独立地印刷在包装的某一部分上,不易于暗号化,置放在明处容易被造假者仿冒,防伪安全性差,而且二维码的编解码是公开的算法,因此二维码的防伪和防复制是需要解决的问题。二维码最大可以存储1000个左右的汉字,存储空间相对较大,因此我们可以采用信息加密的方式解决防伪和防复制的问题,加密后的二维码必须通过相应的解密算法才能读取到相应的信息,否则读取到的将是一堆乱码,从而无法使用。防伪二维码的出现为食品的追溯和防伪辨识提供了一种更加简单便捷、准确详实的方法,加大了造假者的造假成本,使其无利可图。
4. 网屏编码防伪技术
网屏编码防伪技术是天津阿波罗信息技术有限公司总裁顾泽苍在国家有关部委的直接支持下,经过长期的开发研制出来的具有自主知识产权的国际领先水平的编码新技术。最初,网屏编码是针对一维码和二维码的不足研制的,实际其应用领域远远超过了一维码和二维码的应用。网屏编码技术就是将传统的由有限的数字组成的肉眼可见的二维条码,转换为无限容量且隐形的网屏编码,通过改变图形网点的不同位置、不同方向、不同形状等方式排列组合,满屏编码覆盖在包装的最底层,从而达到不可复制、难以破译的效果,如图3所示。网屏编码防伪技术隐藏到包装印刷图像中的信息,即使专业人员使用高精度设备也不容易识别出在什么地方埋有信息,更不易破解出信息的内容。
网屏编码防伪技术是一种可在使用印刷机印刷文字或图像的同时,大量埋入不同文字或图像的编码新技术。它实现了真正意义上的数字化纸张,在A4纸上最多可植入6万个以上的汉字,存储60KB以上的声音、图像、视频以及Word、Excel等任意格式的文件。此外,在纸介质上即使埋入彩色图像,其画质也不会受到影响。它超强的抗攻击能力更是令人刮目相看,即使纸张污染、破损仍然可以正确识读出隐藏的信息。网屏编码技术的信息植入是通过计算机方式处理的,一次成型为印刷品菲林或是CTP版,采用普通油墨正常印刷即可,印刷时无需二次印刷,在整个工艺流程中无需增加任何工艺成本,用Speakun识别器读取信息就可以发出声音。
5.RFID技术
RFID是英文“Radio Frequency Identification”的缩写,即无线射频识别技术,是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境中。RFID电子标签除了目前成本相对较高,它具有体积小、容量大、寿命长、穿透力强、可重复使用、支持快速读写、可定位和长期跟踪管理等特点,在食品安全质量管理方面有着极大的应用潜力。
使用RFID读写器将食品的追溯码存储到电子标签芯片中,可以无线读取,多次写入和修改。芯片里的数据除了采用密码保护外,还可用一些加密算法和认证过程来实现安全管理,造假者很难破解和仿造出一模一样的电子标签。而且使用RFID技术可以一次同时读取多个标签,加快食品的流通速度,提高食品供应链的效率。但是由于目前缺少国家标准,仅有一些行业标准,不同企业使用的频率、编码及数据内容等都可能会存在差异,读写器和标签难以完全通用,不同企业之间的数据交换和协调受到了限制。
科技发展下的材质不断飞跃,或者是传承经典而表达的历史意义?
除去这些,让我们放下一颗浮躁的心,逐个体会技术来带的情感,
这是一种基于人类创造新事物的共鸣,也是除去自然之外的另一种审美。
浪琴
康铂系列计时男表
这款计时秒表直径41毫米,精钢表壳及表链,内置L688导柱轮机芯。银色表盘上刻有1个阿拉伯数字刻度和11个夜光小刻度,显示时、分,9时位置设小秒针,30分钟累计表盘设于3时位置,12小时累计表盘设于6时位置,日期显示窗设于4:30分位置。与康铂系列所有表款一样,这款腕表防水功能达5个大气压,螺旋式表背配以蓝宝石水晶。
爱彼表 Jules Audemars系列
爱彼独家擒纵系统腕表
透明的表面设计使精彩绝伦的Cal.2908机芯尽收眼底;具有纵深感的3D立体设计使小秒针表盘成为目光的焦点。拥有267个组件的全新手动上炼机械机芯,将高级钟表的本质完全展现无遗。具有超高摆频的爱彼独家擒纵系统追求无懈可击的精准度,安置于最醒目位置的小秒针表盘,从视觉上呈现以准确为最终目标的钟表哲学精神。
罗杰杜彼La Monégasque
蒙特卡罗系列月相万年历
此款腕表由机械驱动着时间的记录,搭配具有358个零组件的RD821J机芯,打造缩影时间的巨大成就。星期、月份、日期、闰年和月相:天地因此掌握手中。此腕表操作简便,多项显示功能清晰易读:表盘完美体现技术和美感的平衡与和谐。44毫米玫瑰金表壳,防水深度为5巴(50米),赋予腕表浑然天成的自然优雅。
积家
Master Ultra Thin Perpetual
超薄万年历大师系列腕表
时间显示清晰易读、一目了然,绝无差错。除时针、分针和中央秒针外,腕表还拥有三个专门显示万年历的计数器:星期显示设于9点钟位置,日期显示位于3点钟位置,而6点钟位置则用于显示月份。通过Master Ultra Thin Perpetual超薄万年历大师系列腕表7点钟位置小窗口,能读取完整的四位数年份。结构布局完美均衡,绝对和谐。
天梭
PRX系列
沿袭天梭运动系列精准时计的传统,PRX系列多功能计时码表更配有60-500公里/小时测速尺,相比于普通腕表的60-400公里/小时测速尺测量范围更大也更实用。与PRX系列中的X相对应,防水100米的性能让佩戴者在深蓝世界中也能一样自由遨游。流线型的表耳佩戴舒适,表冠处的保护装置能防止腕表最脆弱的部分碰撞受损,独特的设计让运动更加无拘无束。
万国
沙夫豪森IWC万国表全新工程师系列腕表
2013年工程师系列腕表的两条设计路线,其一沿用精钢表壳,刚劲、简洁;其二为运动风格,表壳采用创新型材质,灵感源自F1TM一级方程式的材料库。在全新推出的工程师系列中,IWC万国表通过运用典型的赛车材质,如碳纤维、陶瓷以及钛金属,对赛车主题加以演绎,并且腕表外观上借鉴了现代F1TM一级方程式赛车的驾驶舱。玻璃边框与表壳之间采用螺丝固定,进一步彰显腕表的高科技动感特质。
信息隐藏的主要目的是让信息透明,将信息嵌入一定的载体中,使得信息无法被第三方识别,就像消失了一样,可以保证信息的安全性。但是信息隐藏技术不但能够将信息隐藏于无形中,还要能将信息恢复,并且恢复后的信息要与隐藏前一致,没有发生任何损失或破坏,保证其信息隐藏前后的完整性。
2、信息隐藏技术的防御攻击性
信息隐藏技术防御攻击的能力一定要很高,因为,网络通信中,信息技术会经常受到有意或无意的攻击,比如删除、非法攻击或篡改等,都会对隐藏的信息造成损害,因此,信息隐藏技术必须具备高的防御能力。此外,网络通信中经常出现信号处理,如调制、有损压缩、滤波等,也会对隐藏的信息造成破坏,所以,为了保障信息的安全,信息隐藏技术一定要拥有更强大的防御攻击的能力。
3、信息隐藏技术的嵌入量大
信息隐藏的目的是为了无法被其他人或电脑发现,为了提高信息隐藏的技术,要将需要隐藏的信息放入一个相对数据量大的载体中,因此,信息隐藏要选择一个信息量大的数据中。此外,还要满足隐藏算法所需要的空间,从而保证信息隐藏的无法识别,保证信息的安全。
4、信息隐藏技术的自我恢复
信息隐藏后一旦需要提取,要能够不需要原始载体信号,便可以从载体中将隐藏的信号提取出来,保证信息的完整。另外,将隐藏的信息提取出来后,要保证信息经过一系列的提取过程后,仍能保证信息的完好无损,有效保证信息的安全性。因此,信息隐藏技术必须要有高度的自我恢复能力。
二、网络通信中信息隐藏的技术途径
1、信息隐藏于音频信号中
将信息隐藏于音频信号中,是将嵌入信息所采用的域为依据,可将语音信息隐藏划分为时域音频隐藏、频域音频隐藏、离散余弦变换域音频隐藏三种。时域音频隐藏技术就是将音频信号的频率、幅度或结果进行处理,然后将其隐藏于音频信号中,是一种简单的隐藏技术。频域音频隐藏技术是将要隐藏的音频文件根据频域的区域进行处理,将需要隐藏的信息以伪噪声的方式嵌于音频信号中,从而达到隐藏的目的,并且很难被识别和发现。离散余弦变化域音频隐藏技术是需要隐藏的信息变换格式,再将变换后的信息嵌于音频信号中,起到深度隐藏的目的。此外,随着网络技术的发展和不断创新,音频信号隐藏还包括小波域隐藏技术和压缩域隐藏技术,效果都很好。
2、信息隐藏于图像信号中
信息隐藏于图像信号中主要有两种方式,一是空间域隐藏技术,就是利用空间替换法,将需要隐藏的信息替换到载体中,并且嵌入不重要的位置,例如将秘密信息嵌入像素点最低的有效位,实现信息的替换,从而保证信息的安全性;二是变换域隐藏技术,就是将需要隐藏的信息转换到变换域范围,变换域是一直在变动的,因此,秘密信息进入变换域后悔进行反复变换,从而使得信息隐匿其中,很难被发现。变换域隐藏技术相比于空间域隐藏技术拥有更好的隐藏效果,并且安全性高、防御攻击力强、自我恢复好,更适合信息的隐藏。
3、信息隐藏于文本信号中
信息隐藏于文本信息中,主要是将信息拆分为极其细碎的结构,然后将每个小部分分别隐藏于文本信息中,从而起到信息隐藏的目的。但是,文本信号需要庞大的数据量才能实现更好的信息隐藏,因此,在实际的应用中,应用率很低。此外,在网络通信中,音频信号隐藏技术和图像信号隐藏技术的隐蔽性远远好于文本信号,所以,文本信号隐藏信息的使用率低;同时,也由于文本信号的防御能力差、自我修复力也差,使得文本信号隐藏信息的安全性降低,不利于信息的隐藏。
中图分类号:G622.0文献标识码:A文章编号:1007-9599 (2010) 10-0000-01
Research of Experiment Teaching on Information Hiding Technology
Liu Fang,Lu Yinxiao
(First Aviation Institute of Air Force,Xinyang464000,China)
Abstract:The theory is abstract and difficult for students to understand.In order to enhance s a deep understanding of steganography for student,and upgrade their skills in information security and confrontation,RSA algorithm is an example for experiment teaching research in this paper.The study includes experiment teaching purposes,the basic theory,learning environment,implementation plans,the specific details and requirements and so on.
Keywords:Information hiding technology;RSA algorithm;Experiment teaching
为切实培养学生信息安全与对抗的意识,提高学生信息安全与对抗的技能,教学实验是学生实践活动中必不可少的重要环节。通过合理配置和开设系统性实验,结合专业基础和专业课程,使学生对信息安全与对抗专业知识具有更为深刻的理解和掌握。
一、信息隐藏技术实验教学目的
信息隐藏技术有多种形式,包括数据加密解密、数字水印、阀下通道等。本实验教学以数据加密解密为例,让学生充分理解和掌握信息隐藏的基本概念以及通过网络进行数据加密传输的原理。下面以RSA算法为例设计实验教学。
二、RSA算法的安全性原理
RSA算法是由R.Rivset、A.Shamir和L.Adleman三位教授于1978年在美国麻省理工学院研制出来的一种公钥密码系统。公钥密码算法使用不同的密钥进行加解密运算,通信双方各有一对密钥:公钥和私钥。在秘密通信的过程中,如果A向B发送信息,A应当用B的公钥加密信息,B在收到信息后使用自己的私钥解密信息。反之,当B向A发送信息,B应当用A的公钥加密信息,A在收到信息后使用自己的私钥解密信息。
RSA算法的安全性是建立在“大数分解和素数检测”著名数论难题的基础上,即:将两个大素数相乘在计算上很容易实现,但将该乘积分解为两个大素数因子的计算量是相当巨大的,以至于在实际计算中是不能实现的。
三、实验实施方案
(一)RSA加密解密系统实现
为了透彻理解RSA算法中加密和解密过程并设计出RSA加解密系统,本实验采用一种简单直观的方法来实现。在一些对加密要求不很严格的实际环境中,如果计算精度允许,可以采用扩充素数表来实现系统对数据的加密和解密,但同时也应该注意密钥对的选取,关键是在计算过程中一定使明文分组M小于模n。根据上述分析可总结出实现本系统的步骤如下:
1.建立等长的素数表,并将素数赋值给数组a[i]和a[j];
2.求两两乘积并将其打印出来,即得a[i]×a[j]=a[i][j];
3.从素数乘积表中随机选取一个公共模n、公钥pk并将其公开,同时也随机生成私钥sk;
4.利用随机生成的公钥pk对明文信息加密为C;
5.利用私钥sk解密得明文M。
在高级语言中,把文件可看做独立字符(字节)组成的序列,即是由一个一个字符(字节)按顺序组成,根据数据的组织形式可分为ASCII文件和二进制文件。二进制文件是把内存中的数据按其在内存中的形式输出到磁盘上存放。为了加快加密和解密的速度,这里采用二进制方式打开信息明文、密文及解密后的明文。定义加密函数encryption(char*plaintext,char*ciphertext,unsigned long int pk,unsigned long int modulen),解密函数decryption(char*ciphertext,char*plaintext,unsigned long int sk,unsigned long int modulen)。在这两个函数实现过程中,用到的密钥是通过等长素数表取得,而且都调用了同一个子程序求大数幂模的函数commod(),该函数主要是对大指数求模问题进行分析。
(二)实验内容和要求
本实验注重RSA加解密系统实现,并提出具体实验内容和要求。学生能够调试通过RSA加解密软件;并利用RSA对某一数据文件进行单次加密和解密操作;设计出的系统要能够提供大素数生成功能,可以导出素数,也可以从文件中导入素数,也可以产生一个指定长度的随机大素数。另外要求学生能够提交实验报告、并现场演示和说明。
以明文“RSA算法的安全性依赖于大数分解”为例,假设存储这句话的文件在E盘,且设明文文件名为mingw.doc,以密钥对(pk,n)=(17,2773),(sk,n)=(157,2773)为例对其进行加密和解密,生成密文文件名设为miw.doc。
本文是以信息隐藏技术中典型的公钥密码算法RSA为例进行实验教学探究,期望在数据加密解密、数字水印、阀下通道等信息隐藏技术的实验教学上有进一步的实践探索。
一、信息隐藏技术的含义与方法
信息隐藏技术(Information Hiding),也称作数据隐藏(Data Hiding),它是集多学科理论与技术于一身的新兴技术领域。信息隐藏技术主要是指将特定的信息嵌入数字化宿主信息(如文本、数字化的声音、图像、视频信号等)中,它的目的不在于限制正常的信息存取和访问,而在于保证隐藏的信息不引起监控者的注意和重视,从而减少被攻击的可能性,在此基础上再使用密码术来加强隐藏信息的安全性,因此信息隐藏比信息加密更为安全。应该注意到,密码术和信息隐藏技术不是互相矛盾、互相竞争的技术,而是相互补充的技术,他们的区别在于应用的场合不同,对算法的要求不同,但可能在实际应用中需要互相配合。特定的信息一般就是保密信息,信息隐藏的历史可以追溯到古老的隐写术,但推动了信息隐藏的理论和技术研究始于1996年在剑桥大学召开的国际第一届信息隐藏研究会,之后国际机构在信息隐藏领域中的隐写术、数字水印、版权标识、可视密码学等方面取得大量成果。
信息隐藏是一个十分活跃的研究领域,虽然其载体可以是文字、图像、语音或视频等不同格式的文件,但使用的方法没有本质的区别。因此,下面将以信息隐藏技术在图像中的应用即遮掩消息选用数字图像的情况为例进行说明。
在图像中应用的信息隐藏技术基本上可分为两大类:时域法或频域法。时域法就是直接改变图像元素的值,一般是在图像的亮度或色带中加入隐藏的内容。这种方法比较有代表性的是最不重要比特位(the Least Significant Bits,LSB)方法,该方法也是最早被应用的信息隐藏方法。遮掩消息的LSB直接被待隐消息的比特位或两者之间经过某种逻辑运算的结果所代替。LSB算法的主要优点是可以实现高容量和较好的不可见性。但是该算法容易被第三方发现并得到,遭到破坏,而对图像的各种操作如压缩、剪切等,都会使算法的可靠性受到影响。为了增强算法的性能,提出了各种改进的方法,如利用伪序列,以“随机”的顺序修改图像的叠像技术(LSM);在使用密钥的情况下,才能得到正确的嵌入序列等。频域法是利用某种数学变换,将图像用频域表示,通过更改图像的某些频域系数加入待隐信息,然后再利用反变换来生成隐藏有其他信息的图像。各种不同的数学变换都可以被使用,目前已有的方法主要集中在小波变换、频率变换、DCT(低频分量)变换等。 二、信息隐藏技术在电子商务中的应用
目前信息隐藏技术在电子商务中的应用主要体现在以下几个方面:
1.数据保密
在具体电子商务活动中,数据在Internet上进行传输一定要防止非授权用户截获并使用,如敏感信息、谈判双方的秘密协议和合同、网上银行交易中的敏感数据信息、重要文件的数字签名和个人隐私等等。另外,还可以对一些不愿为别人所知道的内容使用信息隐藏的方式进行隐藏存储。
2.数据的不可抵赖性
在网上交易中,交易双方的任何一方不能抵赖自己曾经做出的行为,也不能否认曾经接收到的对方的信息,这是交易系统中的一个重要环节。这可以使用信息隐藏技术中的水印技术,在交易体系的任何一方发送或接收信息时,将各自的特征标记以水印的形式加入到传递的信息中,这咱水印应是不能被去除的,可达到确认其行为的目的。
3.防伪
商务活动中的各种票据的防伪也是信息隐藏技术的用武之地。在数字票据中隐藏的水印经过打印后仍然存在,可以通过再扫描回数字形式,提取防伪水印,以证实票据的真实性。
4.数据的完整性
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)22-5185-02
目前,随着物联网技术的不断成熟和逐步应用,人们越来越关心它的安全问题。尤其是物联网的感知前端射频识别系统,使用的是无线传输技术,相对于有线传输来说,其工作环境是开放的,不稳定的。为了保护应答器和读写器之间的信息传输,目前普遍采用的是双向认证和加密结合的方法,对认证双方通信的所有数据进行加密,从而确保系统的安全性。但是由于物联网中应答器数目巨大,在每个应答器中添加加解密电路会造成整个系统硬件实现的成本的大幅增加,因此不利于物联网技术的普遍应用。该文试图避免繁琐的加密过程,使用相对简单的数据隐藏技术保护应答器和读写器之间传输的敏感信息,从而降低系统的实现成本。
1 数据隐藏技术
网络技术的快速发展为信息传播和利用提供了极大的便利,同时也面临着巨大的挑战的安全问题。在传输过程中如何保护信息安全已经成为人类的重要主题之一。传统的解决方法是加密消息的传播。然而,随着计算机处理速度的提高和并行处理的发展,不再是不可能破解加密算法。因此,寻找一个新的方法来解决信息安全传输的问题已成为信息时代的重要问题之一。
数据隐藏和加密都是常用的方法来保持数据的机密性。与主要研究如何使用特殊编码方法来加密机密信息使其成为形式无法辨认的密文的数据加密不同,数据隐藏更多关注如何用一个公共信息来隐藏敏感信息,然后通过公开渠道来传输机密信息。也就是说通过开放的信息传输来传输隐秘信息。对于加密通信,窃听者可以截取密文、解码或者在接收方接收信息之前毁掉信息,这就会影响机密信息的安全。但使用数据隐藏技术,窃听者很难判断机密信息是否存在于公开信息中,无法判断是否窃听到了机密信息,因此可以保证机密信息的安全。
2 数据隐藏技术在物联网安全中的应用
正是由于数据隐藏技术的秘密性,使得它应用于物联网用户安全的保护方案中成为可能。该文在物联网射频识别应答器和读写器之间双向认证的基础上引入数据隐藏技术,对物联网用户传输的信息和自身身份信息进行保护,具体方案设计如下:
2.1 方案设计初始化
为了节约实现成本,在射频识别系统中使用被动标签。即每次读者首先向标签发送认证请求和提供能量来激活它来响应请求。在标签中要有一个哈希函数实现电路,并且该哈希函数是满足强无碰撞性要求的。标签具有休眠模式。读写器会在标签完成身份验证之后执行所有可能的操作,然后发送信号通知标签进入休眠模式,不再响应任何信号,直到标签被下一个读写器再次激活。在读写器中添加一些硬件电路实现数据隐藏算法。由于需要隐藏的消息的长度很短,因此该硬件电路应该是简单并且易于实现的。同时,相应的隐藏数据恢复电路应装备在标签中。后台数据库标识和其散列值是存储在读写器中的。为了保护用户的ID信息,后台数据库应该能够实现用户ID的自动刷新。
在初始状态,应答器存储自己的真实身份ID和数据库标识符B。读写器存储标识符与B相匹配的自身标识符B’及其散列值H(B’)。在后台数据库中包含所有的应答器ID和每个ID的散列值H(ID)。
2.2 方案执行过程
读写器、标签和后段数据库之间的通信过程描述如下:
1) 读写器向标签发送请求认证的信号Q1;
2) 标签接收到Q1,计算它所属数据库的标识T的哈希值H(T),并且使用数据隐藏算法将H(T)变成M1并把它发送给读写器;
3) 读写器收到M1,使用相应的算法从M1中提取出H(T)。将H(T)和自己存储的H(T’)进行对比,如果一致,它将会发送进一步认证请求Q2给标签。如果结果不一致,则判断该标签不属于本系统的标签,认证结束。读写器将发送认证请求Q1给下一个标签;
4) 标签收到Q2。将自身身份标识ID进行哈希运算,得到H(ID),再把它隐藏到文本M2中并发送给读写器;
5) 读写器将M2转发给后端数据库;
6) 后端数据库收到M2后获取H(ID)。搜索自己的数据库,查找是否有一个标签的IDi能够满足H(IDi)=H(ID)。如果找到,标签认证成功。后台数据库会为这个已经认证的标签产生一个新的身份信息ID’,并存储在数据库中IDi的记录中。最后将IDi和ID’发送给读写器。否则认证失败;
7) 读写器将收到的IDi和ID’使用数据隐藏算法隐藏成文本M3,并发送给标签;
8) 标签接收到M3之后可以获得IDi和ID’,将IDi和自己的身份信息ID进行对比,如果一致,则读写器认证成功,否则认证失败;
9) 标签和读写器同时将已经认证的标签ID改成ID’。标签进入读模式或写模式,可以接受读写器对其进行读写操作;
10) 完成通信后,标签进入休眠模式,直到接收读写器的下一次认证请求。
3 方案性能分析
基于数据隐藏的双向认证协议使用哈希函数来完成标签和读写器的双向认证并对通信敏感信息进行保护。哈希函数的强无碰撞性使得攻击者找不到另一个IDj能够满足H( IDj )=H( ID ),因此攻击者无法伪装成合法标签来干扰合法的通信过程。使用本文设计的保护方案,在标签和读写器完成每次认证之后都会同时刷新标签ID,因此攻击者无法通过跟踪特定通信信息的方式来跟踪标签使用者,因此可以保护用户的个人隐私。由于在对数据库进行搜索以确认标签是否属于数据库之前,本方案使用读写器对标签进行初步判断,因此可以在一定程度上降低后端数据库的计算量,减少拒绝服务供给的可能性。同时,将判断标签所属权的任务移交给读写器之后,后端数据库不需要每次都向读写器发送所有的标签的ID,而只需要处理那些通过预判断的标签。尤其是在存在大量标签的环境中,本方案可以大大减少读写器与后台数据库之间的通信量,从而进一步减轻安全信道的堵塞问题。
本文在双向认证过程中引入了数据隐藏技术。通过数据隐藏,攻击者或窃听者很难判断在未加密的信息中是否有敏感信息存在,因而可以保护用户的隐私。同时,在数据隐藏技术中,隐藏文本的任何变化都会被接收方所感知,因此信息的接收方会知道通信信息已经改变。使用本文设计的方案来完成身份认证和通信的过程中,每次标签与系统完成通信后,他们都将刷新标签ID,因此攻击者不能有效跟踪标记,所以它无法知道用户和的确切物理位置,无法伪装成这个标签,因此可以有效地实现用户隐私信息的保护。
4 结束语
本文使用Hash-Lock协议完成标签和读写的双向认证,使用数据隐藏技术隐藏标签和读写器之间的通信内容。可以保护标签和读写器之间信息传输的机密性并检测是否有第三方伪造信息。与现有的只使用Hash-Lock算法的协议相比,该文设计的保护方案更加安全,出其不意的防范了攻击者的攻击。
参考文献:
[1] 金洪颖.RFID系统用户安全与隐私保护协议研究[J].电脑知识与技术,2013,10.
[2] 陆桑璐,谢磊.射频识别技术―原理、协议及系统设计[M].北京:科学出版社,2014.
[3] 彭力,徐华.无线射频识别技术与应用[M].西安:西安电子科技大学出版社,2014.
中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)18-31620-02
1 引言
当前,通信技术和计算机的结合促进了通信网的迅猛发展。Internet 的出现,加上信息高速公路或全球信息基础设施的提出和建设,构成了人类生存的信息环境,即信息空间。这个虚拟空间的形成和发展将人类社会推进到一个新的发展阶段――信息化社会。在这样一个社会中,新的高速智能化终端和功能强大、方便使用的各类软件,以及全球性的 Internet 和无限网络所提供的遍布式计算环境和传送通道,为人们提供了创造、搜集、学习、编纂、交换、分享和娱乐丰富多彩的数字音频、视频和多种多样的软件信息产品的机会。液晶显示屏在各种电子信息的传播过程中扮演者重要的角色,被广泛地应用于各种电子设备中,这就使它和电子信息联系最为紧密。但用于液晶显示屏显示的各种电子信息再给我们带来便利同时,也为我们带来了许多的负面的影响。由于电子信息、数字产品具有易复制、高效和易传输的特点,从而使得侵权盗版活动日益猖獗。这给版权所有者带来了巨大的经济损失,而且极有可能会损害音乐、电影、书籍和软件等出版业的发展。因此,打击盗版、惩罚犯罪,维护数字产品版权已成为信息时代版权保护的核心问题之一。针对液晶显示屏用数字产品,本文主要对数字水印信息隐藏技术进行了探讨[1-3]。
2 信息隐藏原理
液晶显示屏上显示的的数字水印必须具有隐藏性,这不仅是保证液晶画面的质量的需要,同时也是保证打击盗版的不易察觉的需要。下面我们就分别介绍一下信息隐藏数字水印基本原理。
信息伪装和水印都是描述将信息嵌入道伪装载体中的技术,该技术使所传送的信息不可察觉。信息伪装对载体对象数据的修改通常是不太健壮的,或者说只有有限的健壮性,对载体数据传输和存储过程中发生的技术性的修改,比如格式转换、压缩、数模变换等,信息伪装对所嵌入信息只能进行有限的保护[4-5]。数字水印作为信息隐藏的一个应用领域与信息伪装并没有太多内容上的区别,其不同之处主要表现在:数字水印对鲁棒性的要求比较苛刻,而信息伪装则对安全性要求更多一些,另一个区别表现在保护对象的不同,信息伪装主要是保护秘密信息不被发现,而数字水印恰好相反,它保护的是其掩护媒体的安全。从另外一个方面,为了防止企图移去隐藏的数据,水印提出了更高的要求。因此,当使用载体数据的各方知道隐藏数据的存在,并且想移去它的时候,使用的通常是水印而不是信息伪装。水印的一种比较常见的应用,是通过在数字产品中嵌入版权信息来作为提品所有权的证据。很明显,就这种应用,嵌入的信息对试图移去它的操作应该是健壮的。所有嵌入水印的方法都包含这些基本的构造模块,既一个水印嵌入系统和一个水印恢复系统(也称水印提取或水印解码系统)。图1展示了一个一般的水印嵌入过程。该系统的输入是水印、载体数据和一个可选择的公钥或私钥。水印可以是任何形式的数据,比如数值、文本、图像等等。密钥可用来加强安全性,以避免未授权方恢复和修改水印。当水印于私钥或公钥结合时,嵌入水印的技术通常分别称为秘密水印技术和公开水印技术。
图1 一般水印提取方案
3 空间域视觉模型
针对液晶显示,本节讨论了空间域视觉模型。在空间域信息隐藏算法中,为了保证图像的视觉透明性,需要研究在不影响视觉观测效果前提下,每个象素点最多可改变的位数,这样就可计算出一幅图像最大可隐藏的信息量。
从分析人的视觉功能发现,通常人眼对色光的感觉是视网膜神经末梢产生的刺激,再通过逆向光路的神经束传递到脑中并由脑做分析处理得到的。传递的神经束一般有5束,视网膜上感觉颜色的锥状细胞产生的神经冲动与综合的明暗亮度神经冲动分别由不同的神经束来传递。图像的亮度和色彩信息主要由锥状细胞来获得,而柱状细胞对亮度的感知主要在外部环境光亮强度较小时发生,这里主要讨论锥状细胞的功能。锥状细胞中主要有 3 种色素,一种是绿敏色素,其吸收峰为 540nm;一种为红敏色素,其吸收峰为570nm。由于蓝敏色素太少,则锥状细胞对蓝色的感知最弱。人眼对彩色光整体强度的感受可以用每种色细胞的视觉敏感强度来综合成一种合成的冲动传递入脑中。如图3所示。
图3 色彩和亮度感觉合成图
根据三基色原理,每一种光都可以分解成 RGB 三基色光,它们的值分别表示每种基色光的相对强度。这是实现彩色电视技术的理论基础,同样可以通过计算机获得数字化彩色图片的每个像素的红色(R)、绿色(G)、蓝色(B)值。下面就介绍一下目前常用色彩系统。
YCbCr色彩系统也是一种常见的色彩系统,是数字电视信号的格式,作为图像彩色显示格式,由亮度(Luminance―Y) 和色差(Color Difference)分量 、 组成。 是蓝色分量与参考信号的差,是红色分量与参考信号的差。JPEG 采用的色彩系统正是该系统。它是从 YUV 色彩系统衍生出来的(因此通常还有人称 JPEG 采用的色彩系统是 YUV 系统,其实是错误的)。其中 Y 还是指明视度,而 和 则是将 U 和 V 做少量调整而得到的。RGB 色彩系统和 色彩系统之间的对应关系如下:
因此,以下介绍的数字水印算法中,在空间域我们要充分考虑人眼对不同颜色的敏感程度和目前这几种常用的色彩系统中各种颜色所占的比例。
4 典型数字水印算法
近年来,数字水印技术研究取得了很大的进步,下面对一些典型的算法进行了分析,除特别指明外,这些算法主要针对图象数据(某些算法也适合视频和音频数据)。
(1)空域算法。该类算法中典型的水印算法是将信息嵌入到随机选择的图像点中最不重要的像素位 (LSB:least significant bits)上,这可保证嵌入的水印是不可见的。但是由于使用了图像不重要的像素位,算法的鲁棒性差,水印信息很容易为滤波、图像量化、几何变形的操作破坏。另外一个常用方法是利用像素的统计特征将信息嵌入像素的亮度值中。Patchwork算法方法是随机选择N对像素点 (ai,bi) ,然后将每个ai点的亮度值加1,每个bi点的亮度值减1,这样整个图像的平均亮度保持不变。适当地调整参数,Patchwork方法对JPEG压缩、FIR滤波以及图像裁剪有一定的抵抗力,但该方法嵌入的信息量有限。为了嵌入更多的水印信息,可以将图像分块,然后对每一个图像块进行嵌入操作。
(2)变换域算法。该类算法中,大部分水印算法采用了扩展频谱通信 (spread spectrum communication)技术。算法实现过程为:先计算图像的离散余弦变换 (DCT),然后将水印叠加到DCT域中幅值最大的前k系数上(不包括直流分量),通常为图像的低频分量。若DCT系数的前k个最大分量表示为D={di},i=1,…,k,水印是服从高斯分布的随机实数序列W ={wi},i=1,…,k,那么水印的嵌入算法为di=di(1+awi),其中常数a为尺度因子,控制水印添加的强度。然后用新的系数做反变换得到水印图像I。解码函数则分别计算原始图I和水印图像I*的离散余弦变换,并提取嵌入的水印w*,再做相关检验w・w*/以确定水印的存在与否。该方法即使当水印图像经过一些通用的几何变形和信号处理操作而产生比较明显的变形后仍然能够提取出一个可信赖的水印拷贝。一个简单改进是不将水印嵌入到DCT域的低频分量上,而是嵌入到中频分量上以调节水印的顽健性与不可见性之间的矛盾。另外,还可以将数字图象的空间域数据通过离散傅里叶变换(DFT)或离散小波变换(DWT)转化为相应的频域系数;其次,根据待隐藏的信息类型,对其进行适当编码或变形;再次,根据隐藏信息量的大小和其相应的安全目标,选择某些类型的频域系数序列(如高频或中频或低频);再次,确定某种规则或算法,用待隐藏的信息的相应数据去修改前面选定的频域系数序列;最后,将数字图象的频域系数经相应的反变换转化为空间域数据。该类算法的隐藏和提取信息操作复杂,隐藏信息量不能很大,但抗攻击能力强,很适合于数字作品版权保护的数字水印技术中。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文
(3)压缩域算法。基于JPEG、MPEG标准的压缩域数字水印系统不仅节省了大量的完全解码和重新编码过程,而且在数字电视广播及VOD(Video on Demand)中有很大的实用价值。相应地,水印检测与提取也可直接在压缩域数据中进行。下面介绍一种针对MPEG-2压缩视频数据流的数字水印方案。虽然MPEG-2数据流语法允许把用户数据加到数据流中,但是这种方案并不适合数字水印技术,因为用户数据可以简单地从数据流中去掉,同时,在MPEG-2编码视频数据流中增加用户数据会加大位率,使之不适于固定带宽的应用,所以关键是如何把水印信号加到数据信号中,即加入到表示视频帧的数据流中。对于输入的MPEG-2数据流而言,它可分为数据头信息、运动向量(用于运动补偿)和DCT编码信号块3部分,在方案中只有MPEG-2数据流最后一部分数据被改变,其原理是,首先对DCT编码数据块中每一输入的Huffman码进行解码和逆量化,以得到当前数据块的一个DCT系数;其次,把相应水印信号块的变换系数与之相加,从而得到水印叠加的DCT系数,再重新进行量化和Huffman编码,最后对新的Huffman码字的位数n1与原来的无水印系数的码字n0进行比较,只在n1不大于n0的 时候,才能传输水印码字,否则传输原码字,这就保证了不增加视频数据流位率。该方法有一个问题值得考虑,即水印信号的引入是一种引起降质的误差信号,而基 于运动补偿的编码方案会将一个误差扩散和累积起来,为解决此问题,该算法采取了漂移补偿的方案来抵消因水印信号的引入所引起的视觉变形。
(4)NEC算法。该算法由NEC实验室的Cox等人提出,该算法在数字水印算法中占有重要地位,其实现方法是,首先以密钥为种子来产生伪随机序列,该序列具有高斯N(0,1)分布,密钥一般由作者的标识码和图象的哈希值组成,其次对图象做DCT变换,最后用伪随机高斯序列来调制(叠加)该图象除直流(DC)分量外的1000个最大的DCT系数。该算法具有较强的鲁棒性、安全性、透明性等。由于采用特殊的密钥,因此可防止IBM攻击,而且该算法还提出了增强水印鲁棒性和抗攻击算法的重要原则,即水印信号应该嵌入源数据中对人感觉最重要的部分,这种水印信号由独立同分布随机实数序列构成,且该实数序列应该具有高斯分布N(0,1)的特征。
(5)生理模型算法。人的生理模型包括人类视觉系统HVS(HumanVisualSystem)和人类听觉系统HAS。该模型不仅被多媒体数据压缩系统利用,同样可以供数字水印系统利用。利用视觉模型的基本思想均是利用从视觉模型导出的JND(Just Noticeable Difference)描述来确定在图象的各个部分所能容忍的数字水印信号的最大强度,从而能避免破坏视觉质量。也就是说,利用视觉模型来确定与图象相关的调制掩模,然后再利用其来插入水印。这一方法同时具有好的透明性和强健性。
5 总结
信息隐藏及数字水印技术是近几年来国际学术界兴起的一个前沿研究领域。它与信息安全、信息隐藏、数据加密等均有密切的关系。特别是在网络技术和应用迅速发展的今天,水印技术的研究更具现实意义。本文针对液晶显示详细地介绍了数字水印信息隐藏的原理,并给出了常见空间域的视觉模型。针对典型的数字水印算法进行了总结。
参考文献:
[1]李强,郭震华,晁冰.信息隐藏技术及其应用[J].安徽电子信息职业技术学院学报,2004,3(5):30-32.
[2]常江.数字多媒体信息隐藏技术的算法综述及其在数字水印中的应用[J].太原师范学院学报:自然科学版,2003,2(3):25-28.
[3]汪小帆,戴跃伟,茅耀斌.信息隐藏技术方法与应用.北京:机械工业出版社,2001,18-24.
[4]管晓康.多媒体信息隐藏与数字水印技术[J].天津:天津大学2000,4-6.
[文献标识码]A [文章编号] 1672-4690(2009)000-0055-03
多少年以来,人们使用锁、围墙、签名、印章、账簿和计量仪器来定义和保护自己的财产及隐私,但随着时代的飞速变化, Internet的日益普及与网络技术的发展,信息的交流已达到了前所未有的深度和广度,其形式也愈加丰富。人们可以通过Internet自己的作品、重要信息和进行网上贸易等,但是随之而出现的问题也十分严重:如作品侵权更加容易,篡改也更加方便。因此如何既充分利用Internet的便利,又能有效地保护知识产权,已受到人们的高度重视。也许有人会问,如何才能做到保护知识产权,又能更好地利用Internet媒介传递信息,为我们所用呢?因此本文介绍的一种空间域图像信息隐藏方法,将对保护知识产权起到基础性的保护,该方法中首先将水印图像各像点的位置进行随机置乱达到加密的目的,再根据水印各像点的取值,并结合宿主图像块的特点,自适应地改变嵌入信息的强度,以满足水印的不可见性,利用伪随机序列将水印点嵌入到图像中的位置进行随机置乱,提高了水印的安全性以及受到剪切时的稳健性,此算法无论是在嵌入或是提取水印时都非常简便,可利于实时或者FPGA的实现,另外实验也证明,该算法具有很好的水印透明性和鲁棒性。
一、信息隐藏技术的概念
1、 信息隐藏概念
那什么是信息隐藏?所谓信息隐藏就是将秘密信息隐藏到一般的非秘密的数字媒体文件(如图像、声音、文档文件)中,从而不让对手发觉的一种方法,它是把一个有意义的信息隐藏在另一个称为载体(Cover)的信息中得到隐蔽载体(Stego Cover)S,非法者不知道这个普通信息中是否隐藏了其他的信息,而且即使知道也难以提取或去除隐藏的信息。所用的载体可以是文字、图像、声音及视频等。
2、 图像的信息隐藏概念
图像的信息隐藏技术是指在图像中加入代表版权拥有者的某些信息(水印),以实现版权保护。加入水印后的图像应无明显降质现象出现,即水印具有较强的不可见性;同时也应具有鲁棒性,即经过各种恶意或无恶意的信号处理后,水印仍能被完整、准确的鉴定出来。
二、水印的嵌入方法描述
1、二值水印图像的随机置乱
将二值图像作为水印,设其像点为为Mm×Nm。为了提高水印的安全性,首先对原始二值水印图像进行随机排列,即随机置乱。过程如下:
1.1将大小为Mm×Nm的二值图像表示成向量形式。
1.2由密钥key1控制产生一个长度为Mm×Nm的随机序列,序列的元素是1~Mm×Nm之间随机排列的整数。
1.3以随机序列的元素为序号,重排水印序列的元素的次序,实现水印的置乱。
2、宿主彩色图像从RGB到YUV格式的转换
彩色图像比较常用的表示格式为RGB(即红、绿、蓝)格式,而YUV颜色表达方式主要用于电视信号中,Y分量的物理含义是亮度,代表了图像的所有信息,U和V分量代表了色差信号,我们在Y分量中加入水印,对于U,V分量不做任何变换,在Y分量中加入水印之后,由YUV分量重新生成RGB分量,即构成了加入水印后的图像。
图像从RGB到YUV以及从YUV到RGB格式的转换的公式如下:
[Y U V]=[R G B]×
[R G B]=[Y U V]×
3、根据图像块特征,自适应地改变嵌入水印的强度
将宿主图像Y分量分成大小4×4的图像块,水印加入的过程实际上就是根据水印像点值的取值情况依次改变对应图像块灰度值的过程,这里灰度值改变的大小程度主要是根据宿主图像块的特征而自适应地改变,根据人类的视觉特点,如果图像块的灰度值对比度越大,人眼对图像中的噪声的敏感性越弱,相反,对噪声的敏感性就强。而水印的嵌入过程可以认为是图像加入噪声的过程,嵌入水印的强度可以根据宿主图像块的灰度对比度而改变,如果对比度大,则加入的水印可以强一点,假设Ymax和Ymin分别是选定的一个4×4块中的16个象素中最大的灰度值和最小的灰度值,那么差值Δ=gmax-gmin可以近似表示图像块的对比度的大小,根据Δ可以改变宿主图像灰度值的变化量的大小,即加入水印的强弱,为了防止由于图像块过于平滑,造成水印在图像块中强度太弱使鲁棒性变差,我们设置了水印强度的下限λmin,这样构成了如下用于调整水印强度的系数:λ=max[λmin,k×(ymax-ymin),其中k可以调整水印图像中的整体强度,λmin根据宿主图像的特点由实验中确定,下面介绍水印嵌入的方法。
首先产生一个数值在0-1之间的长度为4×4的伪随机序列,并将该序列变成4行×4列的矩阵PN(i,j),(i=1,…,4;j=1,…,4)
假如二值水印序列当前元素值为1,相应的宿主图像块的各灰度值y(i,j)作如下修改:ynew(i,j)=y(i,j)+λ×PN(i,j);若二值水印序列当前元素值为0,相应宿主图像块的各灰度值y(i,j),作如下修改:ynew(i,j)=y(i,j)-λ×PN(i,j)。也就是说保证在水印像点值为1时,相应宿主图像块中的各灰度值比原来的值有所增加,而水印像点值为0时则相应宿主图像块的灰度值变小,由于PN(i,j)是随机的,所以图像块中任意位置增加或减小的灰度值是随机的,类似于噪声,使水印在视觉上不易被察觉。
4、水印信息随机嵌入到图像块
水印信息随机加入到各个图像块中,而不是依次将水印信息加入到由上而下、由左到右描述的图像块中,其主要原因有两个:第一是为了防止攻击时可能将含水印的图像部分完全剪切掉以致于提取不出水印,以及保证图像成片被剪切时水印不是也被连续剪切,从视觉角度还可以观察到水印图像的概貌;第二,依赖于密钥的水印信息的随机加入,也是从水印安全性的角度考虑的。
水印随机嵌入的实现方法如下:设原始图像的大小为M点×N点,由密钥key2产生长度为M×N的随机序列,其值x是1~ M×N的自然数的随机重排,x=p(i),x即是第i(i=1,2,…,Mm×Nm)个水印点嵌入到宿主图像中的图像块的序号,通过实验证明,这种随机嵌入法可以很好地抗击剪切的攻击。
三、水印的提取方法描述
对水印的提取可以分为以下几个步骤:
(1)密钥key2产生随机序列,找出嵌入水印点的对应图像块位置;
(2)将彩色图像由RGB表色方法转换成YUV表色方法,提取出灰度(亮度)Y分量;
(3)对4×4的图像块求所有象素灰度值的总和;
Sw=,并与原始图像相同位置处的图像块灰度值总和So=进行比较。如果SwSo,则该图像块已嵌入的水印像点值是1;如果Sw
(4)由密钥Key1控制产生一个随机序列对水印序列位置重排,并构成二维的水印图像,这就是提取出的水印。
四、实验测试效果
我们运用Matlab语言设计了嵌入和提取的水印的程序,并对性能做了测试,宿主图像是512×512点的lena彩色图像,水印是41点×61点的二值图像。
加入水印后的图像的水印不可见性可用峰值信噪比PSNR来测试。在λmin取0.2和k取0.5时,实验测出的峰值信噪比PSNR=43.0231,这个值表明了图像在嵌入水印之后的透明性是比较好的,从视觉的角度也可以看到,图像没有任何可见失真;另外,在没有任何攻击下,水印可以完全准确地提取出来(见图1)。
下面进行鲁棒性测试,图2是对图像进行窗口大小为3×3的中值滤波后,提取出的水印,相似度为0.7609,图3是对图像加密度为0.03校验噪声攻击时提取出的水印,相似度0.7016,图4是图像进行压缩比为25:2的JPEG压缩后提取的水印,相似度为0.9076,图5是将图像旋转18度后提取出的水印,相似度为0.7503,图6是对图像进行剪切掉1/4后提取出的水印,相似度为0.92322,图7是对图像进行剪切掉1/2后提取出的水印,相似度为0.81931。
图 1 未对原图进行攻击时图 2 中值滤波后
提取出的水印 提取出的水印
图 3 加椒盐噪声后图 4 图像压缩后图 5 图像旋转后
提取出的水印提取出的水印 提取出的水印
图 6 剪切1/4后图 7剪切1/2后
提取出的水印 提取出的水印
从以上的测试结果看到,该算法对一些常见的图象处理或攻击呈现出很好的鲁棒性。而对于剪切攻击,其鲁棒性更为突出。
五、研究测试概括
本文介绍了一种基于空间域的简便的图像水印算法,根据图像块的灰度对比度,自适应地改变水印加入的强度,使水印不可见性增强,并兼顾了不可见性和鲁棒性之间的矛盾。同时将水印加入到图像中的位置随机排列,
[参考文献]
[1]汤文亮,费伦科.一种基于小波系数分段的数字水印算法.华东交通大学学报,2007,24(4) 84-87.
[2]王丽娜,张焕国.信息隐藏技术与应用.武汉:武汉大学出版社,2003:25-32.
[3]刘振华,尹萍.信息隐藏技术及其应用.北京:科学出版社,2002.
[4]冯晖,来凤琪,王绍银,章群.计算机密码学.北京:中国铁道出版社,1999:69-81.
[5]王朔中,张新鹏,张开文著.数字密写和密写分析.北京:清华大学出版社,2005.
[6]林代茂,胡岚,郭云彪,周琳娜.广义信息隐藏技术的机理与模型.北京:北京邮电大学报,2005,28(1).
[7]黄继武,谭铁牛.图像隐形水印综述,自动化学报,2000,26(5).
[8]张春田,苏育挺,管晓康.多媒体数字水印技术.通信学报,2000,21(9):46-52.
[9](英)Ross J.Anderson 著 蒋佳,刘新喜等译.信息安全工程.北京:机械工业出版社,2003:326-358.