金融系统移动在线签名验证
2018-09-19董文军曾青松
董文军,曾青松
(广州番禺职业技术学院,广东广州,511483)
引言
随着IT技术的不断发展,人们生活越来越便利,特别是在金融行业,各种各样的移动支付已经深入到人们的日常生活中,今后的社会大概率会变成一个无现金支付的社会。但是金融领域中的各种安全问题也层出不穷。为防范这些安全问题,金融系统使用了多种安全手段来保护用户的资金安全。比如说密码、指纹、签名、硬件锁等,有些虽然安全性很好,但是在使用便利上又有所欠缺,技术的发展应该是使人们的生活更加便利,因此在考虑安全性的同时,更应该考虑便利性。如何找到一个既安全可靠又方便的个人身份认证方法,对于金融业IT系统是一件重要的事情。
1 身份识别与认证
1.1 传统认证方式
传统的个人身分识别方法主要有密码、硬件加密锁、手机验证码,它们的安全性从原理上讲是没有问题的,主要安全问题来自管理。密码存在一个根本问题就是只有当它们很长、很复杂,并且经常更换时,才会比较有效,密码容易丢失或被窃取,而且时间长了容易忘记,在易用性上也不方便。硬件加密锁是使用硬件提供ID并组合个人口令,在使用时需要随身携带,而且一般是使用标准的USB接口,对于没有常规USB接口的设备,如手机就显得颇为不便。因为现在手机号码都已实名登记,使用手机验证码不失为一个较好的而且又方便的身份认证方式,但也同样存在被泄漏的问题,很多金融诈骗案就是因为手机验证码泄漏造成的,而且伪基站的存在也是这种方案的一个安全隐患。
1.2 在线签名识别
相比人其他的生物特征,如指纹识别、虹膜识别、人脸识别、声纹识别等,手写字体具有天然的直观性,而且长期以来人们都使用个人手写签名作为身份识别,签名是人的一种行为特征,它随着时间逐步形成的,具有鲜明的个人特征,人们在长期书写过程中,产生各自独有的文字书写方式,表现为不同的字型、不同的用笔力道、笔顺、笔画连接方式、局部装饰笔画等等。因此签名可以作为识别个人身份的一种有效生物特征。
签名识别分为离线与在线识别,离线一般是通过对签名扫描传真后的图象进行识别,因为它丢失了在签名时的一些个人特有的动态特征,只能单纯地从字形上进行识别,容易被仿冒,因此安全性不高。在线签名,可以通过手写版或者触屏实时采集人书写的签名信息,除了可以完成传统的字形识别以外,还可以采集签名者的用笔角度、速度、笔顺和运笔的力度等动态信息。一个仿冒者想要同时逼真地模仿字形与动态特征是非常困难的。具有较高的安全性。随着计算机技术的不断发展,各种签名识别的算法层出不穷,签名识别的可靠性已经越来越高,因此签名识别可以作为网络个人身份生物特征识别的一个重要组成,而且签名具有直观性,这是其他生物特征识别所不具有的优势。同时签名作为人的一种行为特性,容易被人接受,而且对设备的要求不高,成本低适合于普及使用。在金融行业和电子政务商务中有着广泛的市场前景和应用范围[1]。
2 在线实时签名认证算法
2.1 数据采集及预处理
首先需要对签名的数据进行采集,一般可以通过手写板或手机触屏进行输入,采集的数据应尽量完整与全面,除了要采集字形数据之外还应采集用户的动态信息,包括获取签名数据的二维平面坐标 XY数据,用户的力度Z坐标数据,以及对应坐标的时间数据(可以算出笔画对应的书写速度以及用户的书写笔顺)。一般而言签名的伪造者很难同时模仿这两类特性,如果签名者希望模仿真实签名中的字形特征,则往往时序差距比较大,反之,如果签名者刻意模仿动态时序相似性则会在签名的几何形状上有比较大的差别[2]。
通过数据采集之后便可将将签名样本转化成为数字图像,然后对数字签名图像进行预处理,以滤除签名数字图像中数字化可能引入的噪音,改善输出质量。预处理包括起笔处理,主要是处理起笔时的滑动造成短小的转折笔画,对后面的识别有一定影响必须滤去。使用“夹矢量”法处理因采样速率不够大或是写字时压力不够造成的虚假抬笔的现象。通过坐标变换实现数据的规范化,包括位置规范化和尺寸规范化,一般以签名首笔的起笔点为坐标原
点,规范化可以消除每次签名书写位置和大小不同对识别结果的影响[3]。
数据采集分为注册采集和识别采集两个场景,系统应先进行用户注册,然后才能进行认证,在注册的时候需要多次采集用户的签名样本,在特征提取后进行事先评价,剔除一些签名过于简单或特征不稳定的签名,直到得到特征稳定的签名样本才能注册成功。识别采集是用户通过手机移动端触屏输入签名信息。手机将签名图像发送到服务器由服务器端对签名数据进行认证并将结果返回到移动端。
2.2 识别算法
手写签名识别因为提供的样本数量往往比较有限,并不适合使用现在流行的神经网络与深度学习的方法进行识别。而且手机移动端在使用时往往需要得到及时的结果反馈,因此需要使用实时性较好的算法。下面以常用的动态规划算法来进行移动端在线签名的识别,实践证明有比较好的实时性与较高的识别率。
因手机触屏无法感知压力,因此动态数据便采集时间信息,签名数据格式为等时间间隔的采样值 {X,Y,T},X、Y为平面坐标,T为采样点的时间值,将X、Y分别对时间求导可得Vx,Vy分别为笔划相对于X、Y轴上的速度分量,即签名的动态特征。在签名书写过程中不同的笔画之间都会有一些相对明显的停顿,以此停顿为分隔点可以将签名数据分为若干个时序笔段。以笔段序列为基础,同时将样本笔段与被测笔段的字形以及动态信息进行比对,当差别小于某一阈值时则签名检验通过,否则为伪造签名。
设样本笔段序列数据为S=S0,S1,…,Si,…,SM被测笔段序列数据为 T=T0,T1,…,Tj,…,TN
其中i表示样本的第i个笔段,j表示待测签名第j 个笔段, M、N分别为二者的总笔段数;一般情况下,M≠ N .因此经常存在“多对一”、“一对多”和“多对多”等多种对应情况,需要在签名认证之前找到待测签名和样本签名笔段间的对应关系,使用动态规划的思想进行匹配。
分别计算样本与被测笔段开始点与结束点对应的距离可得不同笔段之间的距离,设d ( i , j )表示笔段Si和Tj之间的对应距离。
式中上标S、T分别表示样本与被测笔段,下标S、E分别表示笔段开始与结束,待测签名T 和样本签名S 的实际最优距离D ( I , J )可由下面的动态规划递推关系求出:
D( I , J )=d ( i , j )+ min{D( i - 1, j ) ,D( i - 1, j - 1) ,D( i , j - 1)} ,
其中i= 1, 2,… ,M,j= 1, 2,… , N .
这样所有笔段的距离可以构成一个M*N的二维表格。如表1[3]所示。
表1 样本与检测笔段数据
搜索此二维表格,比较D(i,j), D(i-1,j), D(i,j-1), 如果D(i,j)最小,则样本的i笔段与被测签名的j笔段对应,同时i=i+1, j=i+1移动到下一个单元进行比较,如果D(i-1,j)最小,则被测签名的j与j-1笔段合并后与样本的i-1笔段对应,然后样本i不变被测签名j=j+1移动到下一个单元进行比较。如果D(i,j-1)最小,则样本的i与i-1笔段合并后与被测签名的j-1笔段对应,然后被测签名j不变样本i=i+1移动到下一个单元进行比较。如果i,j有一个提前达到终值,则另一个剩余的笔段都合并后与此终值对应。得到对应关系如表2[3]所示。
表2 笔段对应关系
有了笔段之间的对应关系之后就可以计算他们之间的字形距离和作为动态特征的速度距离。X、Y通过对时间求导得到每一笔段对x轴及y轴的速度,因实际书写时待测签名与样本的速度可能不一样,因此必须对速度进行归一化处理,比较所有笔段的速度,定义一个速度区间,以最低速度为起点,最高速度为终点,计算每一笔段速度在此区间所处的位置,以x轴为例说明,
设所有笔段速度的最低值为,最高为,某笔段速度为则其归一化数据为:, 这样便形成一个归一化的运笔速度动态序列,根据前面的笔段对应关系计算机其速度距离设为 Pd。这样结合字形距离与速度距离得到样本与被测签名之间的总距离为,其中为加权系数。当DT
3 结束语
移动端在线签名识别系统采用广泛使用的安卓手机平台,通过触屏输入签名,同时将采集的数据动态地在屏幕上显示出来。由手机上传至服务器,服务器进行验证后,将结果回传到移动端,如验证通过则继续相应的授权操作,不通过还可以尝试三次。签名显示时不使用全屏重绘,因其效率低下且可能影响到对签名数据的采集,应使用View.invalidate(Rect) 方法,选择性地对新添画线的矩形区域进行局部刷新。实践证明金融系统移动端附加的签名授权提高支付的安全性,并有效降低过程成本且使用方便。
[1]郭珩.一种面向移动设备在线手写签名身份认证技术[D].武汉: 中南民族大学, 2015: 2-4.
[2]李国建, 许杰, 多生物特征识别在网络安全中的应用[J].通信技术,2016, 49(8): 1068-1072.
[3]栾方军, 马驷良, 等.在线手写签名的识别算法[J].吉林大学学报(理学版), 2004, 42(2): 226-229.
[4]马小晴.基于 LBP和深度学习的手写签名识别算法[J].量子电子学报,2017, 34(1).
[5]栾方军.在线手写签名认证算法的研究[D].长春: 吉林大学, 2007:43-47.
[6]李成华, 等.基于 DCT和 SVDD 的在线手写签名认证方法[J].计算机系统应用, 2016, 25(7): 196-199.
[7]徐国愚, 等.面向分级身份密码批验签的错误签名混合筛选算法[J].计算机应用, 2017, 37(1): 217-221.
[8]周敏, 等.一个在线手写签名识别系统的设计与实现[J].微计算机信息(测控自动化), 2008, 24(5-1): 274-275.