陈旖旎 李千目 吕超贤 桑笑楠 董潇
摘 要:随着互联网以及移动通讯技术的快速发展,文本隐藏技术具有重要的研究意义以及应用价值。论文分析了现有文献对文本隐藏的相关研究,并以此为基础,结合哥德尔数学编码以及对称散列加密技术,提出了一种基于Unicode零宽度字符的文本安全隐藏算法以及相应的提取算法。该编码系统可以支持126个ASCII字符的隐藏,包括所有的英文字母和一些基本的标点符号。根据不可见性、嵌入容量、鲁棒性以及安全性验证算法的有效性,将实验结果与现有同类技术进行比较。实验表明,该算法能够在增大嵌入容量的同时,为用户之间传输保密文本消息时提供端到端的安全性。
关键词:不可见字符;文本隐藏;社交媒体
中图分类号:TP391.4 文献标识码:B
Research on text security hiding algorithm for invisible characters
Chen Yini, Li Qianmu, Lv Chaoxian, Sang Xiaonan, Dong xiao
(Nanjing University of Science and Technology, JiangsuNanjing 210094)
Abstract: With the rapid development of high-speed Internet and mobile communication technologies, text hiding technology has important research significance and application value as an important research field of information security. The paper analyzed the related research on text hiding in the existing literature. Based on this, combined with G?del mathematical coding and symmetric encryption technology, a text security hiding method based on Unicode zero-width characters is proposed. The encoding system can support the hiding of 126 ASCII characters, including all English letters and some basic punctuation. The effectiveness of the algorithm is verified based on invisibility, embedding capacity, robustness, and security, and the experimental results are compared with the prior art. Experiments show that the algorithm can provide end-to-end security when transmitting confidential text messages between users while increasing the embedded capacity.
Key words: invisible characters; text information hiding; social media
1 引言
随着互联网的广泛使用,社交媒体已成为人们日常生活的重要组成部分。其中,文本消息作为主要的传播载体,在许多应用中被广泛使用,例如聊天、移动银行和移动商务服务等,大家常常通过短信服务或社交媒体发送纯文本消息,而在某种特殊情况下,这些发送的消息是需要保密的,因此为了信息的安全传输,用户文本信息保护的技术方法应得到重视与改进[1]。
文本安全信息隐藏是将秘密信息嵌入并隐藏在公开文本中而不被网络攻击者所发觉的技术,并且隐藏的秘密信息可以通过相应提取算法进行逆向提取。因此,要关注的是如何在不引起人类视觉系统怀疑的情况下隐藏秘密信息,需要预防的攻击有删除、篡改等文本攻击以及各种网络攻击。在过去的20年中,已经提出了许多技术来提高数字文本中文本信息隐藏的效率,但是这些方法普遍具有低嵌入容量和低鲁棒性,无法通过短文本来嵌入高容量的秘密信息。利用Unicode编码标准中的零宽度字符,可以将大量文本以不可察觉的方式嵌入公开文本中,同时可以方便地對保密信息进行加密处理,同时保证良好的可用性以及安全性。
本文的主要贡献有四点。
(1) 基于最新的Unicode编码标准,利用零宽度控制字符将秘密文本信息隐藏到普通文本中,来增大秘密信息的嵌入容量。
(2)为了解决文本中隐藏的秘密信息可能被网络攻击的潜在问题,针对社交媒体中保密交流场景,提出一种加密算法。算法基于哥德尔函数编码以及对秘密信息的散列处理,该编码系统可以支持126个ASCII字符的隐藏,包括所有的英文字母和一些基本的标点符号,在提高了安全性和鲁棒性的同时,也增加了可用性。
(3) 提供相应的提取算法,在秘密信息的嵌入后以及提取前,能够有效抵御攻击。
(4)提出算法的有效性测试指标,对同类算法进行了分析与比较。
2 相关工作
主要介绍文本信息隐藏相关的研究工作。
基于图像、音频、视频的信息隐藏技术研究已经有很多,而文本信息隐藏相关的研究则相对比较少,这主要是基于文本文档的信息冗余度低,隐藏容量不大的原因[2]。文本信息隐藏的研究主要集中在两个方面:基于自然语言和基于文本格式。前者通过自然语言处理来修改文本内容以隐藏一些秘密信息,比如利用语义规则改变文本内容的结构[3-6],实际上,基于自然语言的水印由于语言的特殊性所以相对复杂,而且并非所有语言都可以进行语法或语义上的改变。基于文本格式的文本信息隐藏利用编码规则来修改文本的布局而不改变文本的内容,通过利用行间距、字间距、字体样式、特殊符号、文本颜色等格式,将秘密信息隐藏在文本中。本文研究的是基于文本格式的文本信息隐藏方法。
S. G. Rizzo等人[8]提出了一种用在简短的基于拉丁语的文本中隐藏秘密数据的有效文本水印技术(TWSM),它使用同形字Unicode字符和特殊空格在拉丁语的CM中嵌入秘密位。由实验结果可以看出,该技术提供了最佳嵌入容量,高不可见性,但对失真攻击具有低鲁棒性。
在ASCII编码系统中常用的不可见字符包括SOH(文头)、EOT(文尾)、ACK(确认)、BEL(响铃)、BS(退格)等。崔光明等人[9] 利用了不可见字符来进行信息隐藏,根据需要隐藏信息的比特信息是“0”还是“1”,来决定写入的是空格还是SOH(文头),这种方法针对英文文本进行处理,取得了很好的隐藏效果和高嵌入效率。
L. Y. Por等人[7] 提出了一种基于文本的数据隐藏技术,称为UniSpaCh,它生成秘密消息的二进制字符串并将其隔离为2位来分类(即“10,01,00和11”)。然后,它将每个2位替换为特殊空间,最后将生成的特殊空间嵌入文本的特殊位置,如词间、句子间、行尾和段间。这种方法的优点是通过封面文本提供了透明性,但具有低嵌入容量(每个空格两位),并且不适用于在短文本中嵌入长秘密位。
本文在以上基础上对秘密信息重新编码以及散列加密,利用Unicode标准中的零宽度控制字符替换文本秘密字符串,相较于以上算法具有更好的隐蔽性、更高的嵌入容量以及鲁棒性。
本文在第3节介绍零宽度字符;第4节基于应用场景,介绍提出的嵌入以及提取算法,根据算法有效性测试指标对算法进行评估测试;第5节通过实验验证同类算法对比下本算法的优劣。
3 零宽度字符
在Unicode编码系统中,有一些称为零宽度字符的特殊字符。它们是非数字文本处理系统中的字符,可用于控制特殊实体,例如零宽度连接器可以连接两个字符、零宽度非连接器用特定语言分隔两个可连接字符等。如表1所示,一些零宽度字符是不可见且没有宽度的。通过Java编程测试这些字符可以观察到,一些零宽度字符在G-mail中被阻止,但它仍然可以用于大多数的文本隐藏[10]。
当使用零宽度字符将秘密信息嵌入到封面文本中时,封面文本的默认编码必须定义为UTF-8、UTF-16、UTF-32等Unicode编码之一。在发生攻击的情况下,恶意用户在新主机文件中复制包含一些零宽度字符的文本,则这些字符将被视为Unicode编码,并提供不可见的文本内容跟踪[1]。
这种方法的缺点是,在社交媒体中必须采用Unicode编码标准来处理不同语言的数字文本,否则可能会生成一些非常规符号,从而引起对隐藏信息存在的怀疑[8]。
4 文本信息隐藏算法
4.1 算法概述
应用场景如图1所示,假设有两个用户是使用短信服务或者社交媒体沟通的敏感用户,在重要任务期间传达保密信息。问题是中间攻击者(MITM)正在窃听数据传输以获取对敏感信息的访问权。为了应对这一问题,提出了一种文本信息隐藏技术,该技术可确保秘密信息在网络中通过短信或社交媒体平台传输时对这些信息进行保密。
算法的目的是解决现有相关技术中短文本载体秘密信息嵌入容量小、鲁棒性低等问题。结合数学编码以及加密算法提出一个新的文本信息隐藏算法,分为嵌入子算法以及提取子算法。
算法1:嵌入算法
输入:一个封面文本CM,一条秘密信息SM,一个对称秘钥(MS_SK)
输出:嵌入了秘密信息的载体文本CMHM
(1)计算SM每一个字符的数字对:
令为字母的ASCII码,为SM的每个字母唯一的数字对。
(1)
且
.
.
(2)
等式(2)中,必须为奇数。
(3)
(2)将α、β分别转换为6位二进制字符串,并且将它们连接在一起,为每个字母生成一个12位二进制字符串。将字符二进制串组合形成SM二进制字符串。由于算法将秘密信息的每个字符以ASCII码来计算哥德尔数字对,且计算哥德尔函数时,最大的為,因此该编码系统可以支持126个ASCII字符,包括了所有英文字母及其他符号。
(3)获取发送方对称密钥MR_SK,组合在秘密信息二进制字符串前面:
散列函数将发送时间(生成隐藏信息的时间)作为发送方密钥(例如“10:12”),然后省略该时间的第4位;创建一个数字(例如“101”),并将其转换为8位二进制字符串,即发送方密钥。
(4)基于发送方对称密钥对秘密信息二进制字符串进行散列加密:
散列函数重复NC次复制密钥二进制串形成散列位置位, NC计算公式如下:
(4)
(5)
在这里,LS为秘密信息的长度(单位为字符);LSK为密钥二进制字符串的长度(单位为位)。在生成秘密信息二进制字符串和散列位置位之后,散列函数根据散列位置位异或秘密信息二进制字符串以产生散列秘密信息二进制。
(5)将二进制字符串根据表2所示规则替换为Unicode零宽度控制字符,形成不可见字符串,并嵌入封面文本的前面。
(6)输出隐藏了秘密信息的载体文本。
算法1的一个例子如图2所示。
算法2 :提取算法
输入:一个载体文本 (CMHM), 一个对称密钥 (SK)。
输出:隐藏的秘密信息 (SM)。
1)检测载体文本中的零宽度字符串,按照表2所示的规则还原二进制字符串。
2)散列函数将接收时间作为接收方密钥(例如“10:12”),然后省略该时间的第4位;创建一个数字(例如“101”),并将其转换为8位二进制字符串,即接收方密钥。
3)对二进制字符串进行哈希解码:根据公式(4)(5)计算NC,并复制NC次密钥二进制字符串形成散列位置位,将其与需要解密的秘密信息二进制字符串进行异或。
4)哥德尔函数解码:比较解码后的发送方密钥与接收方密钥是否相同,若相同,则根据公式(1)-(3)对秘密信息二进制字符串进行哥德尔函数解码,然后输出秘密信息;若不同,则提示失败。
4.2 算法有效性验证
針对提出的算法以及相关研究文献,提出四个针对信息隐藏的有效性测试指标:不可见性、嵌入容量、鲁棒性以及安全性。
(1)不可见性
不可见性是指在秘密信息嵌入文本之后,文本中发生了多少感知修改,它不能用数字来衡量。为了分析不可见性这个标准,大家基于常用的社交媒体对CMHM进行分析,如表3所示。根据在社交媒体上进行的结果,除“Telegram”和“Twitter”外,包括微信、QQ、新浪微博等都支持Unicode零宽度字符,并且允许高可见性地传输带有隐藏信息的文本,大家只能看到载体文本,而看不到隐藏信息[11]。
(2)嵌入容量
可以嵌入文本中的秘密位数,称为嵌入容量。该特征可以以特征位置()为单位,以数字方式测量。位置意味着可变的特征(字符或单词),其可被视为文本中的可嵌入位置数(),例如在单词之间、特殊字符之后等。算法必须至少能够将整个水印嵌入封面文本中,并且应该尽可能追求高嵌入容量。假设为嵌入容量(单位为个),为文本的可嵌入位长度,则可以通过等式(6)计算[12]。
(6)
由于嵌入算法将SM的每个字母转换为6个零宽度字符并插入到封面文本中生成CMHM,它的嵌入容量就是通过社交媒体通信传输的最大字符数。如表4所示为各种社交媒体的最大字符数以及本技术的嵌入容量计算。
(3)鲁棒性
载体文本在通信信道上传输时可能发生许多攻击,比如暴露在攻击者面前、恶意用户尝试从载体文本操纵被隐藏的信息而不是删除它。鲁棒性可以基于丢失概率测量[11]。假设LP是从载体文本中丢失了多少比例的嵌入秘密比特、NL为可嵌入位的数量、TC为载体文本的长度,则鲁棒性DR可由公式(7)得出。
(7)
当
(8)
文本隐藏中最重要的要求之一是CMHM的可逆性。由于攻击者可能对CMHM的内容进行修改,所以考虑将隐藏信息嵌入到封面文本的前面,嵌入位长度为1,让隐藏信息被破坏的可能性降低。设LCM为封面文本CM的长度,则根据等式(8): 。
例如,如果SM是“Cyn”而CM是“How are you”,则,可得:。
(4)安全性
算法的安全性可由公式(9)得出。其中,DP是解码概率,即该秘密信息被解码的概率[13]。
(9)
假设NS是秘密信息二进制的长度,那么可以用以下公式计算DP。
(10)
假设攻击者无法使用该算法,并且只能访问载体文本, NS /2是用于生成HM的零宽度字符的数量,正确解码散列二进制串的解码概率DP可以通过等式(10)得到。
例如,将SM =“Cyn”转换为包含NS =(3×12)+ 8 = 44的SM二进制字符串并生成散列位置位,则LS = length(SM)= 3,SK =“10:12”= 101,SK_binary =“1100101”,LSK = 7,那么NC = 3×12/7 + 1 = 6。复制NC次SK二进制字符串后,散列函数根据散列位置位反转SM二进制字符串。最后嵌入算法根据替换规则替换零宽度字符,然后将其插入CM的前面。则:
实际上,很难在没有散列函数和公式化对称密钥的情况下解码原始的SM。
5 同类算法对比验证分析
本文将所提出的算法与现有的UniSpaCh[7]、TWSM[8]和基于表情符号的[14]技术进行了对比验证分析。选择这些技术进行比较是因为它们同样应用了Unicode字符来隐藏数字文本中的信息。其中,UniSpaCh使用特殊空格来将秘密信息嵌入封面文本中,每一个特殊空格表示秘密信息二进制字符串的2位;TWSM使用同形字和特殊空格来嵌入秘密位,一些字母被具有不同代码的类似字母替换来嵌入1位秘密位,并且在字之间插入一个特殊空间用于隐藏3位秘密位;基于表情符号的算法通过嵌入一个表情来将秘密信息的每一个字符隐藏在封面文本中。
如表5所示,展现了不同技术嵌入秘密信息后的变化,可以看出,基于表情符号的隐藏方法加入了表情,并且与本论文所提出的算法相比,UniSpaCh算法和TWSM算法嵌入隐藏信息后,都有微小的肉眼可见的变化,单词与单词之间的空格变大了,这些空格可能会引起攻击者的注意。
如表6所示,对比了4种技术的嵌入容量和鲁棒性。输入6个不同的测试用例来分别计算5种技术的嵌入字符数以及鲁棒性。由于本算法的输入密文范围局限于126个ASCII字符,测试用例中使用由英文字母及常见符号组成的英文句子进行信息隐藏测试。本文使用等式(6)基于可嵌入位的数量来评估每种技术的嵌入容量;另外使用等式(7)计算每种技术的DR。如图3所示,本文所提出的技术在相同的封面消息上表现出比其他技术更高的嵌入容量。与其他嵌入技术相比,本技术只需要在一个位置嵌入所有秘密字符,因此可以看出前者实现了更高的嵌入容量、不可见性和稳健性。
如表7所示,总结了本技术与其他四种技术关于不可见性、嵌入容量以及鲁棒性的优势和局限性比较。
6 结束语
本文主要研究了基于零宽度字符的文本信息安全隱藏算法,该方法是对秘密信息进行数学编码及加密处理,然后替换为Unicode零宽度字符嵌入公开的封面文本。通过算法的有效性测试,证明了算法在具有不可见性的同时,改进了文本信息隐藏的嵌入容量。此外,通过对秘密信息进行编码及加密,提高了鲁棒性与安全性。本文所提出的技术基于ASCII码对秘密信息进行新的编码加密,因此该算法的输入密文范围局限于126个ASCII字符。除此以外,该算法由于独特的密钥分配方式,使得密文具有时效性,过了认证时间后无法提取密文。今后的研究方向可以针对以上的局限性进行改进,如扩充编码系统,使其支持多种语言的文本隐藏;发现一种更好的密钥管理方式或密钥的选择方式,使其能够在提高加密解密效率的同时,解决密钥分配的问题。
文本信息隐藏可用于保护不同领域的有价值信息或敏感信息,但它仍然缺乏精确的分析建模。同时,合理的平衡嵌入容量、不可见性以及鲁棒性,可以使得秘密文本的安全性更高,所以更好的嵌入方式是以后研究的重点。
基金项目:
1.江苏省研究生科研与实践创新计划项目(项目编号:KYCX18_0442);
2.江苏省研究生科研与实践创新计划项目(项目编号:KYCX18_0440);
3.江苏省研究生科研与实践创新计划项目(项目编号:SJCX18_0151);
4.中央高校自主科研项目(项目编号:30918012204);
5. 江苏省重大科研计划社会发展项目(项目编号:BE2017739);
6. 江苏省重大研发计划产业前瞻项目(项目编号:BE2017100)。
参考文献
[1] M. Taleby Ahvanooey, Q. Li, H. J. Shim, and Y. Huang. A Comparative Analysis of Information Hiding Techniques for Copyright Protection of Text Documents[J]. Security and Communication Networks, 2018.
[2] 张楠,李洪敏,卢敏,柯明敏.基于文本格式的文本信息隐藏方法研究综述[J].信息化研究,2017,43(3): 1-6.
[3] U. Topkara, M. Topkara, M. J Atallah. The Hiding Virtues of Ambiguity: Quantifiably Resilient Watermarking of Natural Language Text through Synonym Substitutions[J]. Proceeding MM&Sec '06 Proceedings of the 8th workshop on Multimedia and security 2006b, 2006:167-174.
[4] M. Y. Kim, O. R. Zaiane. Goebel R. Natural Language Watermarking Based on Syntactic Displacement and Morphological Division[J]. Computer Software and Applications Conference Workshops (IEEE COMPSACW), 2010.
[5] O. Halvani, M. Steinebach, P. Wolf, R. Zimmermann. Natural language watermarking for German texts[J]. Proceedings of the 1st ACM Workshop on Information Hiding and Multimedia Security, 2013:193-202.
[6] M. L. Mali, N. N. Patil, J. B. Patil. Implementation of text watermarking technique using natural language watermarks[J]. Proceedings of the International Conference on Communication Systems and Network Technologies IEEE, 2013:482-486.
[7] L. Y. Por, K. Wong, K. O. Chee. UniSpaCh: A text-based data hiding method using Unicode space characters[J]. J. Syst. Softw, 2012, 85(5):1075-1082.
[8] S. G. Rizzo, F. Bertini, D. Montesi, C. Stomeo. Text watermarking in social media[J]. in Proc. IEEE/ACM Int. Conf. Adv. Social Netw. Anal. Mining (ASONAM), Jul. 2017:208-211.
[9] 崔光明,洪星,袁翔,张以文,朱二周.基于不可见字符替换的信息隐藏方法研究[J].计算机应用与软件, 2016, 33(4):277-280.
[10] R. A. Alotaibi, L. A. Elrefaei. Improved capacity Arabic text watermarking methods based on open word space[J]. Journal of King Saud University Computer and Information Sciences, 2017,29(1):1-13.
[11] M. H. Alkawaz, G. Sulong, T. Saba, A. S. Almazyad, A. Rehman. Concise analysis of current text automation and watermarking approaches[J]. Security and Communication Networks, 2016, 9(18): 6365-6378.
[12] P. Singh and R. S. Chadha. A survey of digital watermarking techniques, applications and attacks[J]. International Journal of Engineering and Innovative Technolog. 2013, 2(9):165-175.
[13] M. Agarwal. Text Steganographic Approaches: a comparison[J]. International Journal of Network Security and Its Applications, 2013, 5(1):9-25.
[14] S.A.L Patiburn, V. Iranmanesh, P. Lee The. Text Steganography using Daily Emotions Monitoring[J]. International Journal of Education and Management Engineering, 2017, 7(3):1-14.
[15] 張震宇,李千目,戚湧.基于不可见字符的文本水印设计[J].南京理工大学学报, 2017, 41(4):405-411.
[16] M. Taleby Ahvanooey, Qianmu Li, J, Hou, A. Rajput, and C. Yini. Modern Text Hiding, Text Steganalysis, and Applications: A Comparative Analysis[J]. Journal Entropy and Information Studies, 2019, 21(355).
作者简介:
陈旖旎(1996-),女,傣族,云南昆明人,南京理工大学计算机科学与工程学院,软件工程专业,本科生;主要研究方向和关注领域:信息安全。
李千目(1979-),男,汉族,江苏南京人,南京理工大学计算机科学与工程学院,教授;主要研究方向和关注领域:大数据挖掘、数据处理、网络空间安全 。
吕超贤(1994-),男,汉族,江苏南通人,南京理工大学计算机科学与工程学院,计算机应用技术专业,硕士;主要研究方向和关注领域:信息安全、数据挖掘。
桑笑楠(1994-),男,汉族,江苏如东人,南京理工大学计算机科学与工程学院,计算机应用技术专业,硕士;主要研究方向和关注领域:网络空间安全、数据挖掘。
董潇(1992-),男,汉族,吉林长春人,南京理工大学计算机科学与工程学院,计算机应用技术专业,硕士;主要研究方向和关注领域:大数据挖掘、数据处理。