首页> 中国专利> 基于二维条码的信息隐藏与隐藏信息提取方法及系统

基于二维条码的信息隐藏与隐藏信息提取方法及系统

摘要

基于二维条码的信息隐藏与隐藏信息提取方法及系统,属于信息安全领域。选择二维条码作为信息隐藏的载体,二维条码中补齐码区域属于冗余区域,正常情况下是被忽视的部分,因此将信息隐藏在此区域中将难以被察觉,且可隐藏的信息容量也可以满足需求。利用编码器使用密钥对中的公钥对待隐藏的秘密信息进行加密,利用解码器使用密钥对中的私钥对加密后的隐藏信息进行解密,由此保证了所隐藏的秘密信息的安全性。采用C/S结构的验证方式,用户通过客户端向服务器发送验证请求,服务器验证后返回结果,只有验证通过的用户才能继续解码操作,由此保证了用户的合法性。

著录项

  • 公开/公告号CN105825257A

    专利类型发明专利

  • 公开/公告日2016-08-03

    原文格式PDF

  • 申请/专利权人 东北大学;

    申请/专利号CN201610134624.1

  • 发明设计人 王冬琦;司马东芳;王志鹏;

    申请日2016-03-09

  • 分类号G06K19/06(20060101);H04L29/06(20060101);

  • 代理机构沈阳东大知识产权代理有限公司;

  • 代理人梁焱

  • 地址 110819 辽宁省沈阳市和平区文化路3号巷11号

  • 入库时间 2023-06-19 00:11:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-29

    授权

    授权

  • 2016-08-31

    实质审查的生效 IPC(主分类):G06K19/06 申请日:20160309

    实质审查的生效

  • 2016-08-03

    公开

    公开

说明书

技术领域

本发明属于信息安全领域,具体涉及一种基于二维条码的信息隐藏与隐藏信息提取方法 及系统。

背景技术

信息隐藏是将一则消息、图片或文件隐藏于其他消息、图片或文件中的技术,因为信息 被隐藏之前通常会被加密,所以信息隐藏技术比简单加密技术安全性更高,可以有效保障信 息的安全。信息隐藏技术主要应用在保密通信、身份认证、数字版权保护和追踪以及信息完 整性、真实性鉴定与内容恢复等方面。其在保密通信上的应用是把秘密信息隐藏在数字载体 中并利用公开信道进行传递,这在军事、商业、金融等领域都普遍存在。图1是信息隐藏技 术的模型,信息隐藏执行阶段使用密钥对秘密信息进行加密预处理,之后使用嵌入算法把加 密后的密文嵌入到载体中,然后包含秘密信息的载密载体经由公共信道传递给接收者,接收 者使用提取算法提取密文并使用解密密钥解密出秘密信息。其中,信息隐藏载体的选择以及 对应嵌入、提取算法的设计是信息隐藏研究的重要基础问题。

二维条码是一种特殊的条码技术,简称二维码,它采用矩形、点、六边形等几何图案表 示信息,编码时使用若干个与二进制相对应的几何形体来表示文字数值信息,解码时则通过 图像输入或光电扫描设备自动识读信息。二维条码具有快速易读和高存储能力的优势,因此 应用十分广泛,尤其得益于智能移动终端技术的发展,二维条码技术被广泛的应用于产品跟 踪,物品标识,实时追踪,文档管理,市场营销等一系列领域。比如,移动即时通信软件中 用户之间可以通过扫描二维条码来相互添加好友、登陆网站等,自动贩卖机亦可以使用二维 条码进行商品识别和购买等等。总之,二维条码正作为一种广泛使用的信息传播载体在不断 的得到普及。

发明内容

本发明的技术方案是:

一种基于二维条码的信息隐藏方法,采用二维条码作为信息隐藏的载体,即将秘密信息 嵌入到二维条码中进行隐藏,包括如下步骤:

步骤1:获取需存储于二维条码中的普通信息a和待隐藏的秘密信息明文m,并将a和m 输入到编码器中;

步骤2:对秘密信息进行加密预处理;

步骤2.1:在编码器中生成若干个密钥对,并给每个密钥对进行编号,且将该编号设定为 每个密钥对所对应的密钥特征值;

步骤2.2:利用密钥对中的公钥对秘密信息做加密处理;

编码器在所生成的密钥对中随机选取一个密钥对,并利用这个密钥对中的公钥将所述待 隐藏秘密信息的明文m进行加密处理生成待隐藏秘密信息的密文;

步骤2.3:编码器将选取的密钥对所对应的密钥特征值添加到所述密文的首部,同时将该 密钥对中用来解密的私钥与该密钥对编号捆绑在一起发送到服务器中进行存放;

步骤3:对所述普通信息a和所述带有密钥特征值的密文进行数据分析,确定二者的字 符类型,并按相应的字符集转换成符号字符,并根据所述普通信息a的长度和类型及所述带 有密钥特征值的密文的长度和类型,选定出作为信息隐藏载体的二维条码的版本和纠错码的 等级,并将所述二维条码的版本和纠错码的等级输入编码器中;

步骤4:编码器根据所述二维条码的版本和纠错码的等级,确定作为信息隐藏载体的二 维条码的规格;

步骤5:按照QR条码编码规则,将所述普通信息a和所述带有密钥特征值密文的数据字 符分别转换为二进制位流的形式,分别形成普通信息的二进制数据码字和待隐藏秘密信息的 二进制数据码字;

步骤6:将所述普通信息a的数据码字和所述带有密钥特征值的密文的数据码字嵌入到 所述二维条码中,完成对该二维条码的编码;

步骤6.1:依照QR条码的编码规则将普通信息a的数据码字嵌入到所述二维条码中,并 在普通信息数据码字的最后添加结束位“0000”;

步骤6.2:标定出该二维条码中所存储的普通信息的末位和纠错码的首位,进而相应地获 得该二维条码的补齐码区域的起始位和终止位;

步骤6.3:将所述带有密钥特征值的秘密信息的密文的数据码字从该二维条码的补齐码区 域的起始位开始依次嵌入,直到该密文结束为止,若还有剩余位置用补齐码补齐,并完成最 终的二维条码编码;

步骤7:将该二维条码最终的编码依次填入到二维条码的对应区域中,完成该二维条码 矩阵的构造。

一种基于二维条码的隐藏信息提取方法,针对的是所述基于二维条码的信息隐藏方法中 隐藏信息的提取,包括如下步骤:

步骤S1:用户于客户端输入其个人的登录信息,同时等待服务器验证其身份的有效性;

步骤S2:服务器验证该用户身份是否为合法的注册用户,若服务器验证该用户身份不是 合法的用户则验证不通过,客户端显示内容为验证失败的提示信息,即该用户将无法获取到 扫描二维条码的权限;若服务器验证该用户身份是合法的用户则验证通过,则即刻跳转到客 户端中解码器的二维条码扫描界面,并执行步骤S3;

步骤S3:用户利用解码器对准作为信息隐藏载体的二维条码进行扫描,扫描后将获取到 密钥特征值和隐藏信息的密文,同时将密钥特征值发送给服务器;

步骤S4:服务器根据密钥特征值选择出对应的私钥并发送回客户端,客户端中的解码器 随即利用获取到的私钥对隐藏信息的密文进行解密得到隐藏信息的明文,并在客户端进行显 示。

根据所述的基于二维条码的信息隐藏方法与所述的基于二维条码的隐藏信息提取方法建 立的基于二维条码的信息隐藏与隐藏信息提取系统,包括:编码器、服务器、解码器和客户 端;所述编码器与所述服务器连接;所述解码器存放于客户端中;

所述编码器:(a)接收需存储于二维条码中的普通信息a和待隐藏的秘密信息明文m;(b) 生成若干个密钥对,并给每个密钥对进行编号,且将编号设定为对应密钥对的密钥特征值; (c)在所生成的密钥对中随机选取一个密钥对,并利用这个密钥对中的公钥将所述待隐藏秘 密信息的明文m进行加密处理生成待隐藏秘密信息的密文;(d)将选取的密钥对所对应的 密钥特征值添加到所述密文的首部,同时将该密钥对中用来解密的私钥与该密钥对编号捆绑 在一起发送给服务器中;(e)接收将作为信息隐藏载体的二维条码的版本和纠错码的等级, 确定作为信息隐藏载体的二维条码的规格;(f)按照QR条码编码规则,将所述普通信息a 和所述带有密钥特征值的密文分别转换为其各自的二进制数据码字;(g)将所述普通信息a 的数据码字存储到所述二维条码中后,再将所述带有密钥特征值的密文的数据码字嵌入二维 条码的补齐码区域,并完成该二维条码的编码;(h)将该二维条码的最终编码依次填入到二 维条码的对应区域中,完成该二维条码矩阵的构造,并生成最终的二维条码图像;

所述服务器,(a)从编码器接收用于解密二维条码中所隐藏的秘密信息的私钥及与该私钥 捆绑在一起的对应的密钥对的编号;(b)存储注册用户身份信息,并对客户端发送来的用户 身份信息进行验证,且将验证结果发送给客户端;(c)从客户端接收密钥特征值,并通过该 密钥特征值找出对应的私钥并将该私钥发送至客户端;

所述客户端,(a)用于接收用户输入的其个人的登录信息,并将该登录信息发送给服务器; (b)用于从服务器接收用户身份验证结果,若验证结果为不通过,则显示验证失败的提示信 息,若验证通过,则即刻跳转到解码器的二维条码扫描界面;(c)从解码器中接收解码器扫 描得到的密钥特征值和隐藏信息的密文,并将密钥特征值发送给服务器;(d)客户端从服务 器接收私钥,并将该私钥发送给解码器;(e)在客户端的显示界面上给出解码器解密出的隐 藏信息的明文;

所述解码器,(a)为用户所使用对准作为信息隐藏载体的二维条码进行扫描,扫描后获取 到密钥特征值和隐藏信息的密文并传至客户端;(b)从客户端接收私钥,并利用该私钥对二 维条码中隐藏信息的密文进行解密得到隐藏信息的明文并将其发送给客户端。

本发明的有益效果:本发明具有以下几方面的优点:

1.选择二维条码作为信息隐藏的载体,二维条码中补齐码区域属于冗余区域,正常情况 下是被忽视的部分,因此将信息隐藏在此区域中将难以被察觉,且可隐藏的信息容量也可以 满足需求。

2.利用编码器使用密钥对中的公钥对待隐藏的秘密信息进行加密,利用解码器使用密钥 对中的私钥对加密后的隐藏信息进行解密,由此保证了所隐藏的秘密信息的安全性。

3.采用C/S结构的验证方式,用户通过客户端向服务器发送验证请求,服务器验证后返 回结果,只有验证通过的用户才能继续解码操作,由此保证了用户的合法性。

附图说明

图1为一种信息隐藏模型的示意图;

图2为本发明一种实施方式的基于二维条码的信息隐藏方法流程图;

图3为本发明一种实施方式的二维条码信息嵌入示意图;

图4为本发明一种实施方式的基于二维条码的隐藏信息提取方法流程图;

图5为本发明一种实施方式的基于二维条码的信息隐藏与隐藏信息提取系统结构框图;

具体实施方式

下面结合附图和具体实施方式对本发明作进一步详细说明。

本实施方式的基于二维条码的信息隐藏方法,如图2所示,采用二维条码作为信息隐藏 的载体,即将秘密信息嵌入到二维条码中进行隐藏,包括如下步骤:

步骤1:获取需存储于二维条码中的普通信息a和待隐藏的秘密信息明文m,并将a和m 输入到编码器中;

步骤2:对秘密信息进行加密预处理;

正常情况下从作为信息隐藏载体的二维条码中提取隐藏信息是要经过服务器认证的,但 是,若隐藏信息直接以信息码字的形式储存在二维条码中,一旦二维条码中嵌入隐藏信息的 区域被攻击者发现了,攻击者将直接获取到隐藏信息的明文,因此在本实施方案中首先选择 一种现有的公钥加密算法对待隐藏的秘密信息进行加密处理。

步骤2.1:选择一种现有的公钥加密算法在编码器中生成若干个密钥对,并给每个密钥对 进行编号,所编号码均为十进制的两位数,且将该编号设定为每个密钥对所对应的密钥特征 值;其中每个密钥对都包含一个公钥和一个私钥,公钥是用来对信息进行加密的,而私钥是 用来对信息进行解密的。

步骤2.2:利用密钥对中的公钥对秘密信息做加密处理;

编码器在所生成的密钥对中随机选取一个密钥对,(n,k)和(n,d),其中(n,k)为公钥, (n,d)为私钥;其中n是两个大质数p,q的积,n代表在用二进制表示时所占用的位数, 就是所谓的密钥长度;k和d是一对相关的值,k为可以任意取的常数,但k与(p-1)*(q-1) 互质;而关于d的要求是(d*k)mod((p-1)*(q-1))=1。

利用这个选定的密钥对中的公钥(n,k)将所述待隐藏秘密信息的明文m进行加密处理 生成待隐藏秘密信息的密文mk,且满足:m=mk^dmodn;mk=m^kmodn。

步骤2.3:编码器将选定的密钥对所对应的密钥特征值设为t并将t添加到所述密文mk的首部,同时将该密钥对中用来解密的私钥与该密钥对编号捆绑在一起发送到服务器中进行 存放;

步骤3:依照QR条码的编码流程,首先进行数据分析,确定所述普通信息a及带有密钥 特征值的密文的字符类型,并按相应的字符集转换成符号字符,同时根据字符长度及类型选 定作为信息隐藏载体的二维条码的版本和纠错码的等级,并将所述二维条码的版本和纠错码 的等级输入编码器中;

选择该二维条码的版本v和纠错等级w时,二维条码版本v越高,或者纠错等级w越低, 则容量C越高。选择的二维条码版本和纠错等级应满足容量大于等于普通信息和待隐藏的秘 密信息所形成的最终数据流所需容量的大小,即C(v,w)>=C(a)+C(m);

步骤4:编码器根据所述二维条码的版本和纠错码的等级,确定作为信息隐藏载体的二 维条码的规格;

步骤5:分别根据普通信息a的类型和待隐藏的秘密信息的字符类型选择相应的QR条码 编码模式,添加相应的模式指示符和字符计数指示符等。并按照QR条码编码规则,将所述 普通信息a和所述带有密钥特征值的密文的数据字符分别转换为二进制位流的形式,即按照 每8位二进制数形成一个码字的方法,分别形成普通信息的数据码字和待隐藏秘密信息的数 据码字;

将普通信息a和密文mk的数据字符按照二维条码中QR条码的编码规则转换为二进制位 流的形式,其中mk中十进制的两位数密钥特征值t均以8位的二进制数来表示。转换完毕后 形成普通信息数据位流Sa和密文数据位流Smk,所形成的二进制位流的位数如果不是8的倍 数,则在末尾以0补齐。然后分别对Sa和Smk按8位一个码字的处理方式划分,形成最终的 普通信息的数据码字和待隐藏秘密信息的数据码字。

步骤6:将所述普通信息a的数据码字和所述带有密钥特征值的密文的数据码字嵌入到 所述二维条码中,并完成对该二维条码的编码;

步骤6.1:依照QR条码的编码规则将普通信息a的数据码字嵌入到所述二维条码中,并 在普通信息数据码字的最后添加结束位“0000”;

步骤6.2:标定出该二维条码中所存储的普通信息的末位和纠错码的首位,进而相应地获 得该二维条码的补齐码区域的起始位和终止位;由于二维条码中的数据码部分所占其整体面 积的比例较小,而指定版本和纠错等级的二维条码的信息码字部分容量是固定的,并且一定 不小于嵌入信息所需的容量,所以信息码字之后一般都会存在剩余码字。通常二维条码嵌入 普通信息之后的剩余容量都是用补齐码填充,因此可以在嵌入二维条码的普通信息的码字之 后的补齐码位置上嵌入所要隐藏的秘密信息码字。

步骤6.3:将秘密信息密文的数据码字添加在普通信息的数据码字的结束位后,即将所述 带有密钥特征值的秘密信息的密文的数据码字从该二维条码的补齐码区域的起始位开始依次 嵌入,直到该密文结束为止,若添加完秘密信息的数据码字后补齐码区域仍有剩余码字,则 以补齐码(11101100和/或00010001)补齐,形成二维条码的最终码字序列。

步骤7:布置完功能图形后,将该二维条码的最终编码序列依次填入到二维条码的对应 区域中,完成该二维条码矩阵的构造。如图3所示为二维条码信息嵌入示意图,将最终的编 码从图中二维条码的右下角位置开始沿着连续的灰色线条依次填入到对应区域,形成最终编 码的二进制位流所对应的二维条码图像,其中二进制数1用黑色填充,0用白色填充,如果 遇到非数据区,则绕开或跳过,直到完成整个二维条码图像的构造。

本实施方式的基于二维条码的隐藏信息提取方法,如图4所示,针对的是所述基于二维 条码的信息隐藏方法中隐藏信息的提取,包括如下步骤:

步骤S1:用户于客户端输入其个人的登录信息,同时等待服务器验证其身份的有效性。

步骤S2:服务器验证该用户身份是否为合法的注册用户,若服务器验证该用户身份不是 合法的用户则验证不通过,客户端显示内容为验证失败的提示信息,即该用户将无法获取到 扫描二维条码的权限;若服务器验证该用户身份是合法的用户则验证通过,则即刻跳转到客 户端中解码器的二维条码扫描界面,并执行步骤S3。

只有使用本实施方案中所设计的解码器+客户端系统进行登录,并且身份得到有效验证, 才能通过客户端连接的解码器扫描带有隐藏信息的二维条码来获取到秘密信息;而没有采用 此系统登录的用户只是使用带有扫码功能的任意普通解码器对带有隐藏信息的二维条码进行 扫描,其扫描过程中只会执行普通的读取功能,由于二维条码中的补齐码区域属于冗余区域, 正常情况下是被普通解码器所忽视的部分,所以普通解码器只能读取到结束位“0000”之前的 普通信息a的数据码字,因此只能获取到普通信息。

步骤S3:用户利用解码器对准作为信息隐藏载体的二维条码进行扫描,扫描后将获取到 密钥特征值和隐藏信息的密文,同时将密钥特征值发送给服务器;若用户使用的是普通解码 器对所生成的带有隐藏信息的二维条码图像进行扫描,则只能读取到二维条码中存储的普通 信息,而获取不到隐藏在其中的秘密信息;

客户端中的解码器的工作原理是通过扫描二维条码得到所有信息码字的内容,在信息码 字最前面的部分为普通信息的数据码字,直到结束位”0000”为止,普通信息数据码字部分结 束;从结束位开始依次记录,由于秘密信息的密文是从结束位后开始嵌入,而密钥特征值又 填充在密文的最前面,并且设定了密钥特征值t的位数固定为8位,因此结束位后的8位数 据码字为t值;密钥特征值t记录完毕后,将密钥特征值发送给服务器;接下来开始记录所隐 藏的秘密信息的密文的数据码字,因为密文嵌入结束后的剩余码字是由固定的补齐码字段 (11101100和/或00010001)来填充的,因此记录直到出现补齐码为止,秘密信息的密文数据码 字获取结束,从而得到隐藏的秘密信息密文mk

若有攻击者发现了二维条码中可能带有隐藏信息并试图破解这种编码方式进行秘密信息 的获取,那么首先他就需要找到隐藏的秘密信息的数据码字的起始位,这一点就有一定的难 度;即使攻击者找到了秘密信息数据码字嵌入的起始位,但由于我们还对秘密信息还采取了 加密预处理过程,因此无法破解加密过程获得的也只是加密后的秘密信息密文,还是无法获 得秘密信息的明文。所以最终被隐藏的秘密信息明文的安全性是有保障的。

步骤S4:服务器根据密钥特征值选择出对应的私钥并发送回客户端,客户端中的解码器 随即利用获取到的私钥对隐藏信息的密文进行解密得到隐藏信息的明文,并在客户端进行显 示。服务器将根据其收到的密钥特征值即所选取密钥对的编号与之前存放在服务器的所有秘 钥对进行依次比对,筛选出相同编号的私钥(n,d),并将该私钥(n,d)发送回客户端,客户端 中的解码器通过已知的密文mk和解密私钥(n,d),并根据公钥加密算法的公式: m=mk^dmodn;mk=m^kmodn,对隐藏的秘密信息的密文mk进行解密处理,最终将获取到 最初所要隐藏的秘密信息的明文m,并在客户端进行显示。

根据本实施方式的基于二维条码的信息隐藏方法与基于二维条码的隐藏信息提取方法建 立的本实施方式的基于二维条码的信息隐藏与隐藏信息提取系统,如图5所示,包括:编码 器、服务器、解码器和客户端;所述编码器与所述服务器连接;所述解码器存放于客户端中;

所述编码器:(a)接收需存储于二维条码中的普通信息a和待隐藏的秘密信息明文m;(b) 生成若干个密钥对,并给每个密钥对进行编号,且将编号设定为对应密钥对的密钥特征值; (c)在所生成的密钥对中随机选取一个密钥对,并利用这个密钥对中的公钥将所述待隐藏秘 密信息的明文m进行加密处理生成待隐藏秘密信息的密文;(d)将选取的密钥对所对应的 密钥特征值添加到所述密文的首部,同时将该密钥对中用来解密的私钥与该密钥对编号捆绑 在一起发送给服务器中;(e)接收将作为信息隐藏载体的二维条码的版本和纠错码的等级, 确定作为信息隐藏载体的二维条码的规格;(f)按照QR条码编码规则,将所述普通信息a 和所述带有密钥特征值的密文分别转换为其各自的二进制数据码字;(g)将所述普通信息a 的数据码字存储到所述二维条码中后,再将所述带有密钥特征值的密文的数据码字嵌入二维 条码的补齐码区域,并完成该二维条码的最终码字序列;(h)将该二维条码的最终编码依次 填入到二维条码的对应区域中,完成该二维条码矩阵的构造,并生成最终的二维条码图像;

所述服务器,(a)从编码器接收用于解密二维条码中所隐藏的秘密信息的私钥及与该私钥 捆绑在一起的对应的密钥对的编号;(b)存储注册用户身份信息,并对客户端发送来的用户 身份信息进行验证,且将验证结果发送给客户端;(c)从客户端接收密钥特征值,并通过该 密钥特征值找出对应的私钥并将该私钥发送至客户端;

所述客户端,(a)用于接收用户输入的其个人的登录信息,并将该登录信息发送给服务器; (b)用于从服务器接收用户身份验证结果,若验证结果为不通过,则显示验证失败的提示信 息,若验证通过,则即刻跳转到解码器的二维条码扫描界面;(c)从解码器接收解码器扫描 得到的密钥特征值和隐藏信息的密文,并将密钥特征值发送给服务器;(d)客户端从服务器 接收私钥,并将该私钥发送给解码器;(e)在客户端的显示界面上给出解码器解密出的隐藏 信息的明文;

所述解码器,(a)为用户所使用对准作为信息隐藏载体的二维条码进行扫描,扫描后获取 到密钥特征值和隐藏信息的密文并传至客户端;(b)从客户端接收私钥,并利用该私钥对二 维条码中隐藏信息的密文进行解密得到隐藏信息的明文并将其发送给客户端。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号