物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

关于门禁控制器安全漏洞的探讨

作者:柯文湧 余兵
来源:RFID世界网
日期:2008-08-12 14:23:26
摘要:主要讨论安全技术防范系统中的门禁控制器自身的安全问题,同时就可能存在的问题提出解决方案。

一、引言 
   
  门禁系统是安防系统中最重要的子系统之一,而门禁控制器又是门禁系统的核心。许多生产安防设备的大厂都有自己品牌的门禁控制器,而且其中不乏国外的产品。这些产品除了拥有我们所需要的稳定性、可靠性之外,会不会也附带一些安全上的隐患呢?这点需要我们给予充分的关注。 
   
二、门禁控制系统概况 
   
  门禁控制器按照结构区分,基本分成两大类。一类是门禁控制一体机,另一类是独立的门禁控制器。门禁控制一体机是一种安全性相对比较低的结构类型,因为这类门禁控制器将门禁系统的身份识别部分和处理控制部分集成在一个设备里。这样在安装设备时,必然将整机安装在门外,无形中增加了设备被破坏的可能。而单独的门禁控制器是通过信号线与身份识别部分进行连接,通过信号线传递识别信息,完成开门操作。这样在安装设备时,可将控制器安装在门内,增加了设备的安全性。在这里我们主要讨论独立的门禁控制器的安全问题。 

    独立的门禁控制器与前端识别设备之间需要进行通讯,现在使用的通讯方式基本上为两种,一种是使用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 门禁系统工作流程 

    门禁控制器工作在两种模式之下。一种是巡检模式,另一种是识别模式。在巡检模式下,控制器不断向读卡器发送查询代码,并接收读卡器的回复命令。这种模式会一直保持下去,直至读卡器感应到卡片。当读卡器感应到卡片后,读卡器对控制器的巡检命令产生不同的回复,在这个回复命令中,读卡器将读到的感应卡内码数据传送到门禁控制器,使门禁控制器进入到识别模式。  

    在门禁控制器的识别模式下,门禁控制器分析感应卡内码,同设备内存储的卡片数据进行比对,并实施后续动作。门禁控制器完成接收数据的动作后,会发送命令回复读卡器,使读卡器恢复状态,同时,门禁控制器重新回到巡检模式。  

2.数据筛选器的工作原理 

    通过上面门禁控制器和读卡器的工作流程,可以看出要实现开门,需要经过以下几个步骤:  

    1)感应读卡器读取感应卡信息,获取感应卡内码; 
    2)感应读卡器将感应卡信息传递到门禁控制器; 
    3)门禁控制器对读取的感应卡数据和系统内部存储信息进行比对; 
    4)门禁控制器根据判断结果,控制电路实现开门。  

    其中步骤1在读卡器内部完成,步骤3、4在门禁控制器中完成,它们已经固化到设备 当中,无法改变。而第2步是通过连接两个设备的RS485通讯线完成的,这为我们从根本上阻止“后门卡”创造了条件。  

    我们设计一个称为数据筛选器的设备,该设备串行安装在数据通讯的通道上,对所有刷卡的内码先行经过该设备的比对,对认可的数据,将卡片内码数据发送到门禁控制器进行后续操作;对不被认可的数据,直接将数据丢弃;这就使得那些“后门卡” 的数据根本无法发送到门禁控制器,从而从根本上截断了“后门卡”信息的通路。以下就是数据筛选器的工作框图。 

数据筛选器的工作框图 



图3数据筛选器的工作框图 

    数据筛选器如同门禁控制器一样,一般工作在巡检模式下,它不断向感应读卡器发送巡检数据,并且等待获取感应卡内码数据。在这个过程中,感应读卡器已经完全和门禁控制器分离,门禁控制器对它的巡检命令完全由数据筛选器完成。只有当数据筛选器获取到卡信息并通过自身验证之后,才将数据送到门禁控制器。建立起感应读卡器和门禁控制器的联系。数据筛选器进行自身验证的数据源是经可靠途径获取的卡片内码数据。“后门卡”的内码不可能被传递到数据筛选器中,从而阻止了 “后门卡”的攻击。 

3.数据筛选器的硬件实现  

    根据以上思路,可使用单片机实现硬件电路设计,硬件框图如图4所示。单片机的~个串口,同门禁控制器以及读卡器进行通讯,这个串口通过切换电路来保证在一个时间点上只能和两种设备之一进行通讯,所有传送到门禁控制器的命令全部是经过单片机程序确认的合法命令,这样就可实现数据的筛选和隔离。同时,单片机还要通过另一个串口,监听门禁控制器与控制计算机之间的通讯,通过解析通讯内容,来获取合法的感应卡内码数据,并将数据存储在一个大容量E PROM中,作为数据比对的依据。 

数据筛选器的硬件框图 



图4数据筛选器的硬件框图  

4.数据筛选器软件流程  

    串口是联系门禁控制器和感应读卡器的通讯端口。在巡检模式下,数据筛选器通过串口,模拟门禁控制器。向感应读卡器发送查询命令;感应读卡器没有被刷卡,发送没有感应卡的回复命令;数据筛选器进行下一轮查询。  

    当感应读卡器有刷卡后,卡片数据会传送到数据筛选器。数据筛选器进入到识别模式,将卡片数据与本地存储的标准数据进行比对,如果数据不存在。则将数据丢弃,并回复感应读卡器数据已经接收。数据筛选器返回到巡检模式并开始下一轮查询。  

    如果数据在存储器中被找到,说明这张卡是一张合法卡,则应该将数据发送到门禁控制器。此时,设备首先进行串口的切换,使单片机和门禁控制器进行通讯。将从感应读卡器接收的数据原样发送到门禁控制器。并等待接收门禁控制器的回复;收到回复后。再次将串口切换回同感应读卡器进行通讯,转发门禁控制器的回复命令;完成数据的传送之后,数据筛选器回到巡检状态,进行下一轮查询。具体的比对流程如图5所示。 

数据筛选器比对流程 



图5数据筛选器比对流程 

    数据筛选器通过实时监听门禁控制器与控制计算机之间的通讯,从中获取合法的感应卡内码数据,并存储在数据筛选器的E PROM中,作为将来进行数据比对的依据。其工作流程如下:数据筛选器监听计算机发送给门禁控制器的所有命令,通过解析,获取所有对卡片进行增、删、改的内部操作命令,根据命令,相应地将E2pROM中存储的感应卡内码数据进行增、删、改,保证数据筛选器内存储的数据与门禁控制器的合法数据保持一致。具体操作流程如图6所示: 

数据筛选器工作流程 



图6数据筛选器工作流程 

    在现实中,由于门禁控制器、前端设备以及它们之间的通讯协议均由同一生产厂商生产,因此可能存在“后门卡” 的安全隐患。对于特殊部门、要害部门来说,他们对安全有着特殊的要求,在使用门禁系统保护安全的同时,也关心设备自身的安全性、可靠性。笔者在文中提出的数据筛选器构想可以有效的防止“后门卡”对门禁系统的攻击,保障门禁系统自身的安全。