对照片进行边缘检测,以确定人像范围并只提取出实际人像数据;为了进一步减小人像数据,还需将其缩放到72×88(9∶11)的比例,但一般情况下得到的人像图像在高度方面会有所减少,为了避免出现人像变形,比例缩小后的图像像素应为72X,其中X的值要根据实际人像比例确定且小于等于88;然后还要对缩小的图像进行8 b灰度化以滤掉色彩信息,使数据量进一步减小;最后对缩小后的灰度图像进行JPEG编码,输出JPG文件流数据即可。
图3 预处理前后对比
实验表明,一般情况下,此时的JPG数据会≤1 KB,但也会出现处理之后仍旧超过1 KB的情况,所以在流程中设置了循环处理过程:在超过1 KB的情况下,通过减少图形灰度级或者改变JPG质量因子的方法来保证输出的JPG文件流≤1 KB。图3展示了预处理前后的照片效果,预处理后的JPG文件仅为1 001 B,图片的精细程度完全能满足对票据使用者身份认证的要求。
为了实现票据在线追溯功能,需要将认证链接嵌入认证二维码中。研究中用到了两种方法:
(1) 先将认证链接信息嵌入到认证照片中,然后生成统一的认证二维码;
(2) 分别生成认证照片二维码、认证链接二维码,然后充分利用QR码的数据纠错功能将认证链接二维码放置到认证照片二维码的中间,形成近似“回”型的嵌套二维码。
通过分析和实验,抛弃了“回”型嵌套二维码方式。主要原因是:“回”型嵌套二维码方式不仅需要进行两个图像的叠加操作,而且对认证照片二维码的纠错级别要求很高,造成所需照片二维码像素过高,以致嵌套二维码所需面积大,不利于和原有票据图像进行叠加输出。识读“回”型嵌套二维码时对焦、选取和识别的难度都比较高,一次识读过程难以识读出两类数据。“回”型嵌套二维码方式中,认证链接二维码处于嵌套二维码的中央固定区域,且可以直接单独读取,这就大大降低了二维码认证信息的安全性。
在研究中,选择QR Code进行二维条码编码。QR Code码是一种矩阵二维码,与其他二维码格式相比,它不仅可对数字、字母、汉字编码,而且能对8位字节型数据进行编码,此外它还具有信息容量大、纠错能力强、超高速识读的特点,已在全球范围内得到广泛应用。
为了将认证链接嵌入到JPG图像中,需要用到图像信息隐藏技术,鉴于QR Code最多能容纳2 953个8位字节型数据,因此在研究中,没有采用较复杂的基于时空域和频率域的隐藏技术,而是直接将认证链接生成接口生成的认证链接嵌入到JPG图像中的Copyright信息中,以便使图像尺寸变化很小,然后再对JPG图像进行二维码编码。在编码时,为了尽量减少所生成二维码的尺寸,纠错等级使用L级。
QR Code能对8 b数据进行编码的特点可以用来实现对嵌入认证链接的认证人像照片的编码,同时基于开源的条码图像处理库ZXing来进行编码实现。ZXing支持众多的一维和二维条码格式(包括QR Code),而且有各种编程语言的实现版本,考虑到输出的认证二维码需要和虚拟驱动单元配合进行图像叠加,所以研究中采用Windows平台的Visual C++来编写代码。形成的认证二维码图形如图4所示。
图4 带有追溯链接的认证二维码图形
3.2 虚拟驱动单元的功能设计与实现
虚拟驱动单元是实现实名票据输出和可追溯功能的关键框架单元,虚拟驱动单元的功能原理图见图5。
图5 虚拟驱动单元的功能原理图
在图5中,原票据业务系统在票据输出时将不再指向真实的打印设备,而是指向一个操作系统中的虚拟打印机,也就是虚拟驱动单元,由虚拟打印机来完成实名认证二维码图形生成、追溯链接生成与保存、原始票据图像与实名认证图像的叠加与混合等功能,然后由虚拟打印机将带有认证二维码的可追溯实名防伪票据图像送给真实的打印设备进行票据输出。另一方面,为了调整认证图像与原票据图像的叠加位置,认证图像混合模块还具备位置可视设置功能。
实名数字票据库中的认证信息包括票据ID(tid)、持有/经办人身份证号(ID)和姓名。其中的票据ID为原始票据图像数据通过MD5算法产生的32位惟一(水印)字符串。在条件允许的情况下,实名数字票据库内还可以保存原始票据图像数据,以便为使用者提供更详细的票据内容验证手段。另一方面,持有/经办人的性别则可以通过身份证号倒数第2位得到,奇数为男,偶数为女。一个嵌入到JPG图像中的追溯链接的例子如下:http:///ts?id=614341198912110423&tid=6410fa2c69b8e45b7b89e1fab76cee25。
3.3 票据持有人身份认证和在线追溯结果
研究中,选择广泛使用的Android移动终端来开发识读认证程序,通过高分辨率摄像头来捕捉二维码图像,采用ZXing库的Java版本来实现认证应用,票据上的二维码图像在解码后输出为一个JPG文件并予以显示,实现离线实名防伪认证,同时从中解析出在线追溯认证的链接并生成“在线票据认证”按钮,通过此按钮即可进行在线票据追溯功能。研究中使用的认证终端为三星GALAXY Note3,后置摄像头为1 300万像素,运行Android 4.3系统。离线认证和在线追溯结果如图6所示。
图6 在Android移动终端的离线认证界面和在线追溯的结果
4 结 语
本文分析了现代票据防伪过程中对票据使用者本身进行认证的需求,提出了一种综合使用射频识别、二维条码、虚拟驱动和手持终端等技术实现票据使用者认证的方法,给出了完整的系统结构和流程,并进行了关键技术验证。实验证明,该方法能对票据使用者的身份进行有效的防伪认证。
本文研究的创新点有3个:首次提出对票据使用者进行认证的创新观点和实现流程;外挂插件式的系统设计方式保证了在增加认证票据输出功能时无需修改原业务系统;基于JPG图像和QR二维码特点实现了融离线认证和在线追溯为一体的实名票据验证方式。
参考文献
[1] WANG Hong, KONG Jie. The research of output and authentication methods of digital bills based on the fusion of identity information [C]// Proceedings of 2014 International Conference on Intelligent Systems Design and Engineering Applications. [S.l.]: IEEE, 2014: 1084⁃1088.
[2] O’CONNOR A C, KENNEDY E D, LOOMIS R J, et al. Prospective cost⁃benefit analysis of a two⁃dimensional barcode for vaccine production, clinical documentation, and public health reporting and tracking [J]. Vaccine, 2013, 31: 3179⁃3186.
[3] CHO D J. Study on method of new digital watermark generation using QR⁃code [C]// Proceedings of2013 Eighth International Conference on Broadband and Wireless Computing, Communication and Applications. Compiegne: IEEE, 2013: 585⁃588.
[4] ZHANG X W, BAO W X, PU H. Research on recognition of the two⁃dimensional barcode [J]. Advanced materials research, 2012, 546: 582⁃587.
[5] BHATIA R, KAMATH H B. Method of managing print jobs using virtual print identity: US 147089 [P]. 2011⁃06⁃23.
[6] 毛家发,钮心忻,杨义先,等.基于MPUI模型的JPEG2000图像最大隐写容量[J].软件学报,2014,25(7):1606⁃1620.
[7] 黄江平,吴昊.基于Android 的火车票实名检票系统设计[J].电子技术应用,2012,38(9):21⁃23.
[8] 文斌,梁鹏,罗自强.基于QR二维码和数据聚合的农业产品追溯服务系统设计[J].小型微型计算机系统,2014,35(2):261⁃265.
[9] 张玉杰,张媛媛.便携式票据数字水印检测系统的研究[J].自动化仪表,2013,34(3):41⁃43.
[10] 徐玲,蒋欣志,张杰.手机二维码识别系统的设计与实现[J].计算机应用,2013,32(5):1474⁃1476.
[11] 俞伟飞.一种基于虚拟打印的医疗信息集成技术开发[D].杭州:浙江大学,2013.
[12] 王晓东,孙首群,王冰,等.基于人脸图像的实名制火车票检票系统研究[J].计算机应用与软件,2013,30(2):110⁃112.
[13] 王成,蒋秋华,张家锋,等.基于二代身份证的互联网电子票自动检票系统研究与实现[J].中南大学学报(自然科学版),2013(z1):346⁃351.
[14] 谢荣生,赵欢喜,陈玉明.基于QR码的防伪电子票数字水印方法[J].厦门大学学报(自然科学版),2013,52(3):338⁃342.
[15] 谢兵,王振蓉,唐万有,等.云端文档防伪系统的设计与实现[J].包装工程,2013,34(21):12⁃15.