摘要:门禁系统是在传统门锁基础上发展起来的智能管理系统。文章介绍了非接触IC卡和基于校园“一卡通”中的单机式门禁系统。从学校的应用中发现了新的单机门禁系统解决方案,用UML简单阐述了新的系统的管理软件的模型。
1 非接触式IC卡
目前,非接触式IC智能射频卡(内建MCU,ASIC等)的主流产品主要采用PHILIPS公司的MIFARE技术,已被定为国际标准(ISO/IEC 14443 IYPEA)。欧洲一些较大的IC卡制造商、IC卡读写器制造商和IC卡软件设计公司等也都以MIFARE技术为标准。
以PHIUPs的S50为例,卡片上内建8Kbit EEPROM存储容量并划分为16个扇区,每个扇区又划分为4个数据存储块,每个扇区可由多种方式的密码管理,卡片制造时具有唯一的序列号,没有重复相同的两张MIFARE卡片。序列号存在第0扇区的第0块。IC卡数字模块主要包括ATR模块、AntiCollision模块、Select Application 模块、Authentication & Access Control模块、Control& Arithmetic Unit控制及算术运算单元、RAM/ROM 单元、Crypto Unit数据加密单元、EEPROM INTERFACE/EEPROM MEMORY 。
(A)环由MIFARE 1卡片向读写器发送一个随机数据RB;
(B)环由读写器收到RB后向MIFARE 1卡片发送一个令牌数据TOKEN AB,其中包含了读写器发出的一个随机数据RA;
(C)环MIFARE I卡片收到TOKEN AB后,对TOKEN AB的加密部分进行解密,并校验第一次由(A)环中Mifare 1卡片发出的随机数RB是否与(B)环中接收到的TOKEN AB中的RB相一致;
(D)环如果(C)环校验是正确的,则MIFARE 1卡片向读写器发送令牌TOKEN BA给读写器;
(E)环读写器收到令牌TOKEN BA后,读写器将对令牌TOKEN BA中的RB(随机数)进行解密;并校验第一次由(B)环中读写器发出去的随机数RA是否与(D)环中接收到的TOKEN BA中的RA相一致;
如果上述的每一个环都为“真”,都能够正确通过验证,则整个认证过程成功。读写器将对卡上的这个扇区进行READ/WRITE等操作。每个块中的数据可以加密,其算法为DES、RAS,这样提高了数据的安全性。
2 传统单机门禁系统思想
由于单机门禁系统只需要智能门锁这一简单设备,不需要和外界电路连接,不需要布局门框,对升级为智能锁十分方便,因此应用广泛。门禁系统由门禁控制器、读卡器、卡片、电子锁、管理软件组成。门禁系统的核心部分是门禁控制器,相当于计算机的CPU,它负责整个系统输入、输出信息的处理、储存和控制。读卡器(识别仪)负责读取卡片中数据(生物特征信息)的设备。电控锁是门禁系统中锁门的执行部件。管理软件对进/出人员进行实时监控和查询,对各门区进行编辑,对系统进行编程,对各突发事件进行查询。卡片分为设置卡、时间卡、初始化卡,分别设置门锁密码、调整门锁时间、恢复门锁为初始设置。
其过程一般为:第一步设置门密码。用管理软件设置卡的密码、读取方式,刷卡后把信息存到锁控制器中;第二步用管理软件设置用户卡,就是在用户卡的特定扇区和特定块中存入密码信息。当用户刷卡时,读卡器读取卡中密码与存储器中的密码相比较,相同就启动电磁锁开门,密码都是通过加密的,外部很难破解。
3 单机非接触式IC卡门禁系统的改进
新方案的改进分为两个方面:第一是管理软件端,第二是门禁控制器。所谓改进是要把卡片的序列号存到门控制器的存储中,控制器负责遍历存储器的卡片序列号,判断是否可以开门。把卡片信息存在锁中,每次刷卡遍历存储器,有与之匹配的就开门,这样可以自由增减门用户,不会因为丢失卡而要重新设置门,你只需要把卡片信息从门锁存储器中删除就可以了。
管理软件的主要功能是设置门卡和时间卡,管理用户卡的发行、销毁、统计和考勤。注册是记录用户卡的唯一序列号和用户信息,它们是一对一的关系。当用户挂失时,只需要把该用户信息对应的序列号删除,重新用设置卡设置门锁。用专门的设备可以定期读取刷卡信息以及统计用户时间。在连有计算机的门禁系统中,这些都很容易实现,但它的投入比较多,而且有可能破坏原建筑的原貌。
门锁的设置过程是对门进行初始化操作并设置好门锁的时间,刷设置卡和存入用户信息。
用户卡和开门的过程是刷卡时,门锁将读取用户卡的序列号,序列号保存在0扇区的0块,是生产时固定的,然后控制器遍历存储器,当序列号相同时绿灯亮,启动电磁锁开门;否则不能开门。
4 方案比较
传统的单机门禁系统是以一对多的思想设计的,锁中存着密码,可以设置任意多张的用户卡,但它主要存在安全系数不高的缺陷。一旦密码泄露则能够仿造,当用户卡遗失时,必须重新设置门锁密码,而且所有的用户卡需重新刷卡系统才能正常工作。
改进的方法克服了上面的缺点。当用户卡挂失时,只需在设置卡中设置出这张卡的序列号,门锁确认并从存储器中除去这张卡的信息,其他的都不需要改变。它的缺陷是所有的用户卡信息都存在锁内,因此限制了用户数量,再者反应速度也没有传统方案快。