关于门禁控制器安全漏洞的探讨
到的感应卡内码数据传送到门禁控制器,使门禁控制器进入到识别模式。
在门禁控制器的识别模式下,门禁控制器分析感应卡内码,同设备内存储的卡片数据进行比对,并实施后续动作。门禁控制器完成接收数据的动作后,会发送命令回复读卡器,使读卡器恢复状态,同时,门禁控制器重新回到巡检模式。
2.数据筛选器的工作原理
通过上面门禁控制器和读卡器的工作流程,可以看出要实现开门,需要经过以下几个步骤:
1)感应读卡器读取感应卡信息,获取感应卡内码;
2)感应读卡器将感应卡信息传递到门禁控制器;
3)门禁控制器对读取的感应卡数据和系统内部存储信息进行比对;
4)门禁控制器根据判断结果,控制电路实现开门。
其中步骤1在读卡器内部完成,步骤3、4在门禁控制器中完成,它们已经固化到设备 当中,无法改变。而第2步是通过连接两个设备的RS485通讯线完成的,这为我们从根本上阻止"后门卡"创造了条件。
我们设计一个称为数据筛选器的设备,该设备串行安装在数据通讯的通道上,对所有刷卡的内码先行经过该设备的比对,对认可的数据,将卡片内码数据发送到门禁控制器进行后续操作;对不被认可的数据,直接将数据丢弃;这就使得那些"后门卡" 的数据根本无法发送到门禁控制器,从而从根本上截断了"后门卡"信息的通路。以下就是数据筛选器的工作框图。
图3数据筛选器的工作框图
数据筛选器如同门禁控制器一样,一般工作在巡检模式下,它不断向感应读卡器发送巡检数据,并且等待获取感应卡内码数据。在这个过程中,感应读卡器已经完全和门禁控制器分离,门禁控制器对它的巡检命令完全由数据筛选器完成。只有当数据筛选器获取到卡信息并通过自身验证之后,才将数据送到门禁控制器。建立起感应读卡器和门禁控制器的联系。数据筛选器进行自身验证的数据源是经可靠途径获取的卡片内码数据。"后门卡"的内码不可能被传递到数据筛选器中,从而阻止了"后门卡"的攻击。
3.数据筛选器的硬件实现
根据以上思路,可使用单片机实现硬件电路设计,硬件框图如图4所示。单片机的~个串口,同门禁控制器以及读卡器进行通讯,这个串口通过切换电路来保证在一个时间点上只能和两种设备之一进行通讯,所有传送到门禁控制器的命令全部是经过单片机程序确认的合法命令,这样就可实现数据的筛选和隔离。同时,单片机还要通过另一个串口,监听门禁控制器与控制计算机之间的通讯,通过解析通讯内容,来获取合法的感应卡内码数据,并将数据存储在一个大容量E PROM中,作为数据比对的依据。
4.数据筛选器软件流程
串口是联系门禁控制器和感应读卡器的通讯端口。在巡检模式下,数据筛选器通过串口,模拟门禁控制器。向感应读卡器发送查询命令;感应读卡器没有被刷卡,发送没有感应卡的回复命令;数据筛选器进行下一轮查询。
当感应读卡器有刷卡后,卡片数据会传送到数据筛选器。数据筛选器进入到识别模式,将卡片数据与本地存储的标准数据进行比对,如果数据不存在。则将数据丢弃,并回复感应读卡器数据已经接收。数据筛选器返回到巡检模式并开始下一轮查询。
如果数据在存储器中被找到,说明这张卡是一张合法卡,则应该将数据发送到门禁控制器。此时,设备首先进行串口的切换,使单片机和门禁控制器进行通讯。将从感应读卡器接收的数据原样发送到门禁控制器。并等待接收门禁控制器的回复;收到回复后。再次将串口切换回同感应读卡器进行通讯,转发门禁控制器的回复命令;完成数据的传送之后,数据筛选器回到巡检状态,进行下一轮查询。具体的比对流程如图5所示。
图5数据筛选器比对流程
数据筛选器通过实时监听门禁控制器与控制计算机之间的通讯,从中获取合法的感应卡内码数据,并存储在数据筛选器的E PROM中,作为将来进行数据比对的依据。其工作流程如下:数据筛选器监听计算机发送给门禁控制器的所有命令,通过解析,获取所有对卡片进行增、删、改的内部操作命令,根据命令,相应地将E2pROM中存储的感应卡内码数据进行增、删、改,保证数据筛选器内存储的数据与门禁控制器的合法数据保持一致。具体操作流程如图6所示:
图6数据筛选器工作流程
在现实中,由于门禁控制器、前端设备以及它们之间的通讯协议均由同一生产厂商生产,因此可能存在"后门卡" 的安全隐患。对于特殊部门、要害部门来说,他们对安全有着特殊的要求,在使用门禁系统保护安全的同时,也关心设备自身的安全性、可靠性。笔者在文中提出的数据筛选器构想可
- MF-850门禁方案(08-25)