文献标识码:A
DOI:10.16157/j.issn.0258-7998.174566
中文引用格式:张开生,王小瑞,黄谦. 基于异常值检测的IC卡安全防御系统设计[J].电子技术应用,2018,44(6):48-51,55.
英文引用格式:Zhang Kaisheng,Wang Xiaorui,Huang Qian. IC card security defense system based on abnormal value detection[J]. Application of Electronic Technique,2018,44(6):48-51,55.
0 引言
近年来,一些不法分子利用特殊手段对IC卡进行复制,严重危害到了人民的生命和财产安全[1]。非接触式IC卡应用广泛,其安全问题一直是学者研究的热点[2-3]。各种新型IC卡安全协议及加密算法层出不穷,但是基于应用层的加密算法及安全协议均未考虑到物理层的不可克隆属性,无法对已成功克隆的IC卡发挥作用。针对加密算法的不足,Romero和Danev等分别对高频RFID卡的物理层电磁特性进行了研究,提出了基于射频指纹识别的IC卡安全技术[4]。但是基于射频指纹识别的IC卡安全技术无法在IC卡正常工作的状态下完成对IC卡的真伪识别,且需要大量附加设备。
本文在国内外研究的基础上,针对生活中常见的无源高频(13.56 MHz)IC卡提出了一种新型的IC卡安全防御技术,实现对IC卡的真伪识别。
1 理论研究
非接触式IC卡自身为无源卡,使用时由射频读写器发射电磁波,当IC卡靠近射频读写器时,通过卡片内部的LC串联谐振电路,以无源电感耦合的方式获取电磁波中的能量为芯片提供电源,如图1所示。
IC卡线圈进入射频读写器磁场后,获取电磁波中的能量,将引起射频读写器天线上的附加电压降[5],导致空间中磁场信号幅值的变化。由于自身材质差异以及制作工艺差异,不同厂家不同批次的IC卡在电学特性上存在差异[6]。复制卡虽与原卡UID相同,但并非同一批次,所以进入读卡器磁场后,磁场信号幅值变化程度与原卡存在差异。
此外,复制卡与原IC卡所支持的读写协议及扇区操作权限存在差异。犯罪分子在进行盗刷时,刷卡时间、刷卡地点等刷卡习惯一般与正常用户存在差异。基于以上几种差异,搭建系统硬件并设计异常值检测算法,可从多个层面对IC卡的真伪做出鉴定。
2 系统总体设计
系统整体方案如图2所示。其中RFID终端主要完成卡内数据的读写和磁场信号、刷卡位置、刷卡时间、刷卡次数等非卡内敏感数据的采集。云服务器对RFID终端发送来的数据进行异常检测,若为异常,则禁止RFID终端的操作,同时通过APP提醒用户。APP主要完成手机与IC卡的绑定、用户手机位置的实时定位、异常提醒、一键拨打报警电话等操作。系统工作流程图如图3所示。
3 RFID终端的设计
RFID终端主要包括IC卡数据采集模块、WiFi模块、显示模块及检波电路,硬件结构框图如图4所示,主要完成IC卡的数据采集与数据预处理。
3.1 IC卡的数据采集方案设计
IC卡数据采集模块实现IC卡应用层及物理层的数据采集,主要包含IC卡槽、射频读写器及IC卡磁场信号采集天线,如图5所示。
其中射频读写器主要完成IC卡正常的数据读写以及UID号、刷卡时间、刷卡位置、扇区权限、读写协议集合等应用层信息的采集;IC卡磁场信号采集天线负责采集刷卡过程中空间中的磁场信号;IC卡槽将IC卡进行固定,确保IC卡线圈、读卡器线圈及采集线圈三者位置相对固定,消除位置对磁场信号的影响。
3.2 IC卡的数据预处理方案设计
IC卡数据预处理主要为物理层磁场信号的处理。IC卡磁场信号采集天线得到的信号为射频信号,信号强度小、频率高,所以必须对采集到的磁场信号做相应的处理,磁场信号检波电路如图6所示。
该电路主要完成磁场信号的包络检波,将正弦高频的载波信号转换为直流信号,方便微处理器的采集。
电路输入信号与输出信号如图7所示,其中T0时间段(虚线)表示无卡时的磁场信号,T1时间段(实线)表示刷卡时的磁场信号。
微处理器采集电路处理后的磁场信号数据,进行中值滤波,消除脉冲噪声,得到编号为n的RFID终端在T0、T1时间段的磁场信号幅值,分别记为Vn,0、Vn,1。Vn,0、Vn,1可表示为如下形式:
对Vn,0、Vn,1差分运算即可得到ΔV,称其为差分电压。ΔV表示理想状态下IC卡本身对磁场信号的影响力,与采集装置无关,且不受外界环境干扰。同一张IC卡在不同环境、由不同RFID终端所采集到的差分电压ΔV的值是相同的。
完成数据的采集与预处理后,RFID终端将应用层数据及物理层磁场数据ΔV传输至云服务器。
4 基于集成学习的IC卡异常检测算法设计
云服务器采用基于集成学习[7]的异常值检测算法进行IC卡异常检测,算法框图如图8所示。
该算法将RFID终端采集到的当前刷卡记录进行筛分,并依据数据特征分别建立如下4个异常检测子分类器对当前刷卡记录进行异常检测。
(1)磁场信号异常检测子分类器
通过统计得知,正常情况下差分电压ΔV符合正态分布,因此采用正态异常检测模型对其进行异常检测,算法步骤如下:
(2)用户习惯异常检测子分类器
用户习惯异常检测子分类器采用基于聚类和主成分分析的异常检测算法,在IC卡正常使用记录数据的基础上检测IC卡当前刷卡数据是否异常,如图9所示。
算法步骤如下:
①从数据库获取同一用户所有的正常刷卡记录,提取IC刷卡位置的经纬度、使用时间、刷卡时长、刷卡次数、距离上次操作时间间隔等数据,并做离散化、数值化处理,生成训练样本。
②使用CLIQUE聚类,根据相似度准则,将训练样本进行划分,得到表示同一用户不同刷卡行为的子集。
③设第i个子集的数据样本矩阵为Xi,由式(7)可得原变量Xi与Xj的相关系数rij为:
当采用前几个主成分进行检测时,首先通过这些主成分的累计贡献率wk来确定它们的个数r,设定累计贡献率阈值为wthreshold,显然0
如果T满足式(12)的判据,则它相对于第i类行为子集是孤立点,如果T相对于所有的正常行为子集都是孤立点,就可以判定它是异常行为。
(3)相对位置的异常检测子分类器
手机APP采用LBS与GPS双重定位方式,定位误差小于300 m,因此当刷卡位置与手机位置距离大于300 m时,相对位置异常检测器认为异常发生。
(4)扇区权限及读写协议的异常检测子分类器
刷卡时,系统获取当前IC卡扇区权限及读写协议的集合并与原卡进行对比,若不相符则认为异常发生。
最后以投票的方式对4个子分类器的检测结果进行集成,若有两个及以上子分类器判定IC卡异常,则算法判定IC卡异常,强分类器输出1,反之则输出0。
5 系统测试及评估
5.1 子分类器测试及参数整定
(1)磁场信号异常检测子分类器测试
在本实验中,对120 张测试卡进行磁场数据采集,其中115张为来自某高校的同一厂家、同一批次的校园卡,其余5张为其他用途的杂卡。使用100张校园卡作为训练样本建立正态检测模型,其余20张为测试样本,测试样本在正态检测模型的分布如图10所示。
图中*标记为校园卡,+标记为其他用途的杂卡,当阈值δthreshold为0.887时,磁场信号异常检测子分类器的误检率为5%。
(2)用户习惯异常检测子分类器测试
从校园卡务中心获取作者近两年来校园一卡通使用记录520条,随机抽取500条作为训练样本,产生基于作者的本人刷卡习惯的异常检测子分类器,并分别获取一位老师、一位低年级同学各20条刷卡记录与其余20条记录组成60条测试样本进行分类测试。
准确率Q与累计贡献率wk关系如图11所示。
由图可知当wk取0.65时模型准确率最高,为0.63。
5.2 系统功能测试及评估
通过手持RFID终端,对复制卡进行扇区权限及读写协议的检测,测试结果如图12左所示。进行异地盗刷测试时,模拟用户身处西安,IC卡丢失或被复制,在异地惠州被盗刷,手机APP响应如图12右所示。
系统与现有IC卡安全方案对比如表1所示。
6 结束语
本文提出了一种基于异常值检测的IC卡安全防御方法,能够兼顾IC卡物理层不可克隆属性,硬件成本低,不影响IC卡正常使用,且异常发生时能及时提醒用户。实验结果表明,系统能够检测IC卡磁场信号异常、用户习惯异常、扇区权限及读写协议异常,并能识别异地盗刷行为,具有较高的理论和实际应用价值。
参考文献
[1] 张玉清,王志强,刘奇旭,等.近场通信技术的安全研究进展与发展趋势[J].计算机学报,2016,39(6):1190-1207.
[2] 朱峰,白恩健.新的轻量级RFID双向认证协议:PUF-LMAP+[J].微型机与应用,2016,35(1):1-4,8.
[3] 鲁力.RFID系统密钥无线生成[J].计算机学报,2015,38(4):822-832.
[4] 张国柱,夏鲁宁,贾世杰,等.“牵星”法:一种基于射频指纹的高频RFID克隆卡检测方法[J].信息安全学报,2017,2(2):33-47.
[5] 栗安鑫,张江飞,张祖泷.磁耦合电能传输系统两类建模法的等效性分析[J].郑州大学学报(工学版),2014,35(5):40-43,48.
[6] 刘彩凤,曹彬.无源RFID标签芯片贴装工艺分析和质量控制[J].物联网技术,2011,1(6):44-45,49.
[7] 姚武军,魏彬.基于贝叶斯树和集成学习的异常检测[J].武汉大学学报(理学版),2014,60(6):497-500.
作者信息:
张开生,王小瑞,黄 谦
(陕西科技大学 电气与信息工程学院,陕西 西安710021)