一、引言
门禁系统是安防系统中最重要的子系统之一,而门禁控制器又是门禁系统的核心。许多生产安防设备的大厂都有自己品牌的门禁控制器,而且其中不乏国外的产品。这些产品除了拥有我们所需要的稳定性、可靠性之外,会不会也附带一些安全上的隐患呢?这点需要我们给予充分的关注。
二、门禁控制系统概况
门禁控制器按照结构区分,基本分成两大类。一类是门禁控制一体机,另一类是独立的门禁控制器。门禁控制一体机是一种安全性相对比较低的结构类型,因为这类门禁控制器将门禁系统的身份识别部分和处理控制部分集成在一个设备里。这样在安装设备时,必然将整机安装在门外,无形中增加了设备被破坏的可能。而单独的门禁控制器是通过信号线与身份识别部分进行连接,通过信号线传递识别信息,完成开门操作。这样在安装设备时,可将控制器安装在门内,增加了设备的安全性。在这里我们主要讨论独立的门禁控制器的安全问题。
独立的门禁控制器与前端识别设备之间需要进行通讯,现在使用的通讯方式基本上为两种,一种是使用RS485总线进行通讯,另一种使用韦根线进行通讯。
RS485通讯使用双绞线进行半双工通讯,采用平衡发送和差分接收,因此具有抑制共模干扰的能力,传输距离可以达到数公里,可实现高速的信息传送。RS485通讯采用总线式的连接方式,可保证多台设备正常工作,而且它是串行通讯,所以每台拄接在总线上的设备有自己的ID地址,进行数据通讯时,系统保证总线上只有一台设备发送数据,其它设备处于接收数据状态;设备之间采用自定义的协议传输数据。
采用RS485方式进行通讯的门禁控制器可挂接多个读卡器,传输数据的过程如图1。每一个读卡器和门禁控制器都有自己的ID地址,RS485网络上传递的数据都包含地址信息,在网络上只有一个设备发送数据,其它设备都会接收数据,对于目的是自己的数据,设备会进行相应的处理,而不是以自己为目的的命令将被抛弃。在这样的门禁系统中,门禁控制器通过轮巡的方式,完成一个门禁控制器管理多个读卡器的功能。
图1数据传输过程
韦根通讯是一种经常在安防系统中使用、通过两芯线进行点对点近距离通讯的通用通讯协议,最常用的格式有Weigand26,它通过DATA 0和DATA 1两条数据线分别传送数据“0”和“1” ,每帧传输的数据为26Bit。它利用在两条通讯数据线上分别产生的脉冲生成数据序列,通讯距离大约10米左右。
三、安全问题提出
比较两种常用的通讯模式。RS485总线通讯采用厂家自己定义的协议,而韦根采用通用协议。自定义协议会有更多的设计空间,这里我们主要针对这种通讯模式进行研究和探讨。由于在门禁系统中,门禁控制器多数是通过RS485总线连接感应读卡器、键盘、磁卡读卡器、指纹读卡器等前端设备,而使用RS485串行总线进行通讯的设备需要依照自定义的通讯协议进行数据交换,因此。生产门禁控制器的生产厂家都会生产与之配套的前端设备。这样就会出现在门禁系统中门禁控制器、前端设备以及它们之间的通讯协议是由一个生产厂家设计生产的情况。在这种情况下,就不能够排除门禁控制器“后门卡”存在的可能性。这里所说的“后门卡”是指门禁控制器生产厂为了某些目的,在门禁控制器上预留后门,当使用某些特定的卡片或是结合某些特定的操作之后,使用这些未被注册的卡片就可以启动门禁控制器打开门锁。如果门禁系统遭到“后门卡”的攻击,我们的门禁系统就会在瞬间被轻易攻破,同时也意味着为加固周界所做的努力瞬间便付之东流。虽然这只是一种推测。但从技术层面来讲,实现这种“后门卡”功能完全是可能的。这也正是我们的用户,特别是对安全有着特殊要求的用户,所担心的一个问题。
四、解决方案
1.门禁控制器工作原理
为了阻断“后门卡” 的通路。我们必须首先熟悉门禁系统各个设备的工作原理,了解各个设备是如何协调工作的,掌握其运行的机制,这样就可以找到解决问题的办法。为了说明问题,我们可以构建一个简化的门禁系统模型。在这个模型中,使用一个门禁控制器控制管理一个感应读卡器,设备之间通过RS485进行数据通讯。系统的工作流程如图
图2 门禁系统工作流程
门禁控制器工作在两种模式之下。一种是巡检模式,另一种是识别模式。在巡检模式下,控制器不断向读卡器发送查询代码,并接收读卡器的回复命令。这种模式会一直保持下去,直至读卡器感应到卡片。当读卡器感应到卡片后,读卡器对控制器的巡检命令产生不同的回复,在这个回复命令中,读卡器将读到的感应卡内码数据传送到门禁控制器,使门禁控制器进入到识别模式。
在门禁控制器的识别模式下,门禁控制器分析感应卡内码,同设备内存储的卡片数据进行比对,并实施后续动作。门禁控制器完成接收数据的动作后,会发送命令回复读卡器,使读卡器恢复状态,同时,门禁控制器重新回到巡检模式。
2.数据筛选器的工作原理
通过上面门禁控制器和读卡器的工作流程,可以看出要实现开门,需要经过以下几个步骤:
1)感应读卡器读取感应卡信息,获取感应卡内码;
2)感应读卡器将感应卡信息传递到门禁控制器;
3)门禁控制器对读取的感应卡数据和系统内部存储信息进行比对;
4)门禁控制器根据判断结果,控制电路实现开门。
其中步骤1在读卡器内部完成,步骤3、4在门禁控制器中完成,它们已经固化到设备 当中,无法改变。而第2步是通过连接两个设备的RS485通讯线完成的,这为我们从根本上阻止“后门卡”创造了条件。
我们设计一个称为数据筛选器的设备,该设备串行安装在数据通讯的通道上,对所有刷卡的内码先行经过该设备的比对,对认可的数据,将卡片内码数据发送到门禁控制器进行后续操作;对不被认可的数据,直接将数据丢弃;这就使得那些“后门卡” 的数据根本无法发送到门禁控制器,从而从根本上截断了“后门卡”信息的通路。以下就是数据筛选器的工作框图。
图3数据筛选器的工作框图
数据筛选器如同门禁控制器一样,一般工作在巡检模式下,它不断向感应读卡器发送巡检数据,并且等待获取感应卡内码数据。在这个过程中,感应读卡器已经完全和门禁控制器分离,门禁控制器对它的巡检命令完全由数据筛选器完成。只有当数据筛选器获取到卡信息并通过自身验证之后,才将数据送到门禁控制器。建立起感应读卡器和门禁控制器的联系。数据筛选器进行自身验证的数据源是经可靠途径获取的卡片内码数据。“后门卡”的内码不可能被传递到数据筛选器中,从而阻止了“后门卡”的攻击。
3.数据筛选器的硬件实现
根据以上思路,可使用单片机实现硬件电路设计,硬件框图如图4所示。单片机的~个串口,同门禁控制器以及读卡器进行通讯,这个串口通过切换电路来保证在一个时间点上只能和两种设备之一进行通讯,所有传送到门禁控制器的命令全部是经过单片机程序确认的合法命令,这样就可实现数据的筛选和隔离。同时,单片机还要通过另一个串口,监听门禁控制器与控制计算机之间的通讯,通过解析通讯内容,来获取合法的感应卡内码数据,并将数据存储在一个大容量E PROM中,作为数据比对的依据。
4.数据筛选器软件流程
串口是联系门禁控制器和感应读卡器的通讯端口。在巡检模式下,数据筛选器通过串口,模拟门禁控制器。向感应读卡器发送查询命令;感应读卡器没有被刷卡,发送没有感应卡的回复命令;数据筛选器进行下一轮查询。
当感应读卡器有刷卡后,卡片数据会传送到数据筛选器。数据筛选器
该文观点仅代表作者,本站仅提供信息存储空间服务,转载请注明出处。若需了解详细的安防行业方案,或有其它建议反馈,欢迎联系我们。