基于韦根协议的门禁系统安全性研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于韦根协议的门禁系统安全性研究
孟涛,张伟,王福虎
(中国船舶重工集团公司第七一八研究所,河北邯郸,056027)
摘要: 韦根协议是一种国际标准通信协议,几乎所有的门禁控制器都使用韦根协议与读卡器进行通信。本文首先介绍了韦根协议的通信原理,随后对基于韦根协议的门禁系统安全性进行了分析,指出韦根协议在抵御数据重放攻击方面存在重大安全隐患,最后针对这一问题给出了两种解决方案。
关键词: 韦根协议;门禁系统;数据重放攻击;加密认证
中图分类号:TP311 文献标识码:A
A research of access control system security based on
wiegand protocol
Mengtao, Zhang wei, Wang fu hu
( HanDan, HeBei, 056027, China)
Abstract: Wiegand protocol is an international standard protocol, access controller almost all use the Wiegand protocol to communicate with the reader. This paper firstly introduces the principle of communication of Wiegand protocol, then the access control system security Wiegand protocol was analyzed based on Wiegand protocol, pointed out the significant security risks in the fight against data replay attacks, and at last this paper gives two kinds of solution.
Key words: wiegand protocol; access control system; data replay attacks; Encryption and authentication
1.简介
韦根协议是一种国际上标准的通信协议,在非接触式IC卡的数据传输中被广泛应用,几乎所有的门禁控制器都使用韦根协议与读卡器进行通信。
韦根协议又称韦根码,它有很多格式,标准的韦根26-bit是最常用的格式。此外,还有34-bit、37-bit等格式。而标准的26-bit 格式是一个开放式的格式,这就意味着任何支持韦根26-bit输入\输出的设备都可以互相连接进行通信。韦根26-bit格式就是一个广泛使用的工业标准,目前几乎所有的门禁控制器都接受标准的韦根26-bit格式,几乎所有的门禁读卡器、生物识别终端、门禁考勤机等都支持韦根26-bit格式输出。2.通信原理
标准的韦根26-bit接口使用7条不同颜色的线,实际涉及通信的数据线有3条,分别为:绿色线代表DA TA0,白色线代表DATA1,黑色代表地[1]。
协议规定,两条数据线在无数据时均为高电平,如果DA TA0为低电平代表数据0,DATA1为低电平代表数据1(低电平信号低于1V,高电平信号大于4V),数据信号波形如图1所示。图中脉冲宽度Tpw在20us 到100us之间,两个脉冲间的时间间隔Tpi 在200us到20ms之间。
图1 韦根协议数据信号波形图
Fig.1 wiegand protocol data signal waveform
韦根26数据格式如下表所示。表1中第2到第9位为分组码,分组码共有8个二进制位,有256个状态,第10到第25位为标识码,标识码共16个二进制位,有65536个状态;第1位是第2~13位的偶校验位;第26位是第14~25位的奇校验位。
表1 韦根26数据格式
Tab.1 the data format of wiegand 26bit
位数 意义
第1位 第2位到第13位的偶校验位 第2~9位 分组码(0~255) 第10~25位 标识号(0~65535)
第26位
第14位到25位的奇校验位
3. 韦根协议安全性分析
韦根协议是一种单工通信协议,在门禁系统中,韦根数据只能由读卡器至控制器单向传输。当读卡器识读到有效卡后,将卡片的钥匙信息以韦根协议的方式传输至控制器,控制器验证钥匙信息有效后打开门。
在这一过程中,控制器并未对读卡器的合法性进行验证,即未确定韦根数据的来源是不是系统内合法的读卡器。如果韦根数据在传输的过程中被非法人员窃取,并模拟读卡器再次发送此韦根数据给控制器,就会对控制器形成欺骗,导致后者认为收到了有效卡的钥匙信息而打开门。
图2 数据重放攻击示意图
Fig.2 data replay attack
由于韦根协议的单向传输存在天生的缺陷,使得通信的双方无法进行合法性验证,导致所有使用韦根协议的门禁系统都无法抵御数据重放攻击。这对于门禁系统来讲,是一个重大的安全隐患。
4. 解决方案
由以上分析可知,门禁系统抵御数据重放攻击的关键是实现同一张卡的“一次一密”。即使用同一张卡,每次刷卡后上传的数据都不相同,使得非法人员无从下手。
4.1 基于时间戳的解决方案
这个方案实现的前提是控制器的时间
必须和读卡器的时间保持同步。控制器和读卡器每隔一段时间就会更改自己的密码,用户刷卡后,以密码和卡片ID作为参数进行加密,发送给控制器进行验证。由于密码每隔一段时间后就会改变,这样就能够抵御数据重放攻击,更换密码的时间间隔越小越保险,一般可定为1分钟。
假设密码Key=T(DateTimeNow),其中T是加密函数1,DateTimeNow是当前的日期时间,时间精度一般定为1分钟。
加密后的钥匙信息MID=H(Key,ID),其中H是加密函数2,ID是卡片钥匙信息。
控制器接收到MID后,根据当前时间计算出Key,并根据加密函数H的解密函数DeH还原出ID值,公式如下:
ID=DeH(Key,MID);
此外,还可以在加密函数中增加读卡器的设备号,即MID=H(Key,ID,S),其中S 是读卡器的设备号,以达到更高的安全级别,实现“一设备一密”。
4.2基于挑战码的解决方案
这个方案要求通信方式为全双工或半双工。控制器发送挑战码Key给读卡器,用户刷卡后,读卡器以挑战码Key和卡片ID 作为参数进行加密,然后发送给控制器进行验证。
图3 基于挑战码的通信示意图Fig.3 Communication diagrams based on
challenge code
加密后的钥匙信息MID=H(Key,ID),其中H是加密函数,Key是挑战码,ID是卡片钥匙信息。同样的,还可以在H中增加读卡器的设备号,即MID=H(Key,ID,S),其中S是读卡器的设备号,以达到更高的安全级别,实现“一设备一密”。
控制器随机生成挑战码,并在以下情况出现时立即重新生成并发送挑战码:
1)挑战码超过1分钟还未使用。
2)控制器收到钥匙信息并验证完成
后(无论验证成功与否)。
5.小结
本文详细介绍了韦根协议的通信原理,对其安全性进行了分析,指出其在抵御数据重放攻击方面存在的安全隐患,并给出了两种解决方案。
随着M1卡遭遇破解,整个门禁行业将关注的目光越来越多的集中在了安全程度更高的CPU卡和国密CPU卡身上,却很少注意到门禁系统其实还普遍存在着严重的安全隐患,这应当引起整个门禁行业的足够重视。
参考文献:
[1] 岳云峰. 韦根协议及其应用. 齐齐哈尔大学学报, 2002, 6(18):56.
作者简介:孟涛(1980-),男,硕士,2006年毕业于华中科技大学控制科学与工程系,研究方向为RFID、微处理器技术等。