黄自强,张锋* ,邓春辉,叶碧玉
(广东石油化工学院,广东茂名525000)
摘要:随着人脸识别技术的迅速发展,大量新型应用系统采用了基于人脸识别的身份认证方法,产生了很多新的安全与隐私问题[1]。为了减少人们对人脸识别技术的担忧,本文提出基于机器视觉的数字身份认证系统。该身份认证系统对唯一标识如学号进行加密处理后生成二维码,并把唯一标识写入数据库中,注册成功后推送到该用户的微信端;认证时通过机器视觉对该二维码进行内容识别并解密后进入数据库查询认证。通过多次试验,该系统表现稳定性良好和识别速度快等特点,能在一些门禁系统等物联网场景扩展应用。
关键字:机器视觉;数字加密;微信推送;物联网
Abstract:With the rapid development of face recognition technology, a large number of new application systems have adopted face recognition based identity authentication methods, resulting in many new security and privacy issues[1]. In order to reduce people's worry about face recognition technology, this paper proposes a digital identity authentication system based on machine vision. The identity authentication system generates a two-dimensional code after encrypting the unique ID such as student number, writes the unique ID into the database, and pushes it to the wechat end of the user after successful registration; during authentication, the content of the two-dimensional code is identified and decrypted by machine vision, and then enters the database for query and authentication. Through many experiments, the system has the characteristics of good stability and fast recognition speed, and can be extended in some access control systems and other Internet of things scenarios.
Key words:Machine Vision;Digital encryption;Wechat push;IOT
0 引言
当今社会,个人信息安全问题备受广大民众关注。大众信息公开的整体背景下, 人身安全和个人隐私的保护成为了时代热门话题[2]。在一些新闻报道的事件中如“东莞公厕取纸需人脸识别”也引发了人们对人脸识别技术下人脸数据泄露或盗用的担忧。基于该背景,本文设计一种基于机器视觉下数字加密身份识别系统。利用机器视觉对身份的唯一标识进行机密处理,非认证双方无法获取具体标识,有效降低了人们对数据泄露或盗用的担心。
1 系统方案设计
1.1系统总体构成
该系统整体由2个部分组成:注册装置、识别控制装置组成。注册装置有RC522、Zigbee无线收发模块CC2530和Arduino作为主控;识别控制装置有USB摄像头、ESP8266和电磁锁组成。如图1所示:
图1 系统总体组成
1.2 系统关键技术
1.2.1 椭圆曲线密码体制
ECC是在离散对数难题的群上定义的密码算法。设K为一个有限域,而E是域K上的椭圆曲线,则E是一个点的集合:
E[K]={(x,y)|y2+a1xy+a3y=x3+a2x2+a4x+a6,a1,a2,a3,a4,a6∈K}∪{O}
其中O是无穷远点。在E上定义加法运算:P+Q=R,R是过P、Q的直线与曲线的另一交点关于X轴的对称点[3],如图2所示。
.png)
图2 P+Q=R
在本系统的设计中,为了方便处理,在算法设计中把椭圆曲线的a、b、c固定处理,私钥key填入到解密的算法当中。
2 系统的硬件设计
在本系统设计中,硬件涉及到读IC卡和ESP8266-12F控制电磁锁的开关两个方面,硬件框图如图3所示:
图3 系统硬件框图
2.1 主控器
注册装置的主控为Arduino uno R3,微控制器为ATmega328p,在众多开发板中因有很多的软件库,具有开发效率高等优势;识别控制装置的主控为ESP8266,二者可在Arduino IDE进行编程。
3 系统软件设计
系统软件分为PC端和硬件端两部分。在PC端上编程语言为python,利用pymysql对id卡进行增删改查,利用opencv-python中cv2、pyzbar库对二维码进行识别。硬件端注册时软件流程为读取IC卡的id,通过串口用Zigbee发送到处于PC端的Zigbee上;控制的软件流程为PC端将扫身份码的内容进行解密运算后连接数据库进行查询,查询成功后利用TCP连接控制电磁锁的关闭。如图4所示:
图 4软件流程图
4 系统测试
4.1 注册测试
注册测试是把学生证上的id号与学号进行绑定并写入Mysql的过程,然后将id号无线发送,选用Zigbee中的DL-20;WxPusher (微信推送服务)是一个使用微信公众号作为通道的,实时信息推送平台,通过调用API把信息推送到微信上,做到信息实时通知。实验结果表明,Zigbee短距离传输几乎没有延迟,在启用加密处理、WxPusher推送到用户客户端需要大约10秒。实物图如图5所示:
.png)
图5 注册装置实物图
4.2 控制装置测试
首先在本地建立TCP的服务端,门禁控制处理单元ESp8266作为客户端,当扫码的结果为已注册用户,发送指令控制电磁锁断电,同时将当前时间写入到记录表中。实验,结果表明,系统具有很快的响应速度。实物如图6所示:
.png)
图6 识别装置实物图
5 结语
本文提出基于机器视觉的身份认证系统,在低成本下解决人们担心人脸识别身份认证侵犯隐私权、IC卡易遗失等问题;与此同时,对唯一标识进行抽象处理和互联网传播,可以跨越距离的限制,因此具有广泛的应用场景和实用价值。
参考文献
[1]王乔晨,吴振刚.人脸识别应用系统中的安全与隐私问题综述[J].新型工业,2019,9(05):47-50.
[2]王喆,张磊.安全、隐私和公民自由——公共场所人脸识别系统的技术安全问题反思[J].胜利油田党校学报,2019,32(01):74-76.
[3]吴礼发,洪征.计算机网络安全原理[M].北京:电子工业出版社, 2020:68-69.
作者简介:黄自强(1998-)男,本科,研究方向为智能物联网开发;通信作者:张锋(1979-),男,山东菏泽人,硕士,高级实验师,主要从事人工智能、嵌入式与物联网技术