胡向东,唐 飞
(重庆邮电大学 自动化学院, 重庆 400065)
智能家居门禁系统的安全控制方法
胡向东,唐 飞
(重庆邮电大学 自动化学院, 重庆 400065)
新兴的物联网技术为综合性智能家居测控系统的构建准备了条件,门禁系统作为智能家居的核心子系统之一,其安全控制的实现有助于提升智能家居的性能和用户体验。针对现有门禁系统存在的控制安全问题,提出了基于持卡人、门禁卡、读卡器三结合的认证机制、保密通信机制和时间戳机制的智能家居门禁系统安全控制方法,建立了近程刷卡控制和智能终端远程控制2种方式,实现对门禁系统通信数据的机密性和完整性保护,并阻止门禁控制指令被截取和滥用,构建了相应的物理仿真系统。测试结果表明,基于物联网技术的智能家居门禁系统在提升使用方便性的同时,所蕴含的安全控制方法有助于增强智能家居门禁系统控制的安全,验证了所提出方案的有效性和实用性。
智能家居;门禁系统;控制;安全
门禁系统作为保障家居安全的第一道屏障,是智能家居的重要组成部分[1]。基于物联网技术的智能家居在提升家居系统测控功能使用方便性的同时,为智能家居门禁系统的智能化实现准备了条件。门禁系统的基本功能在于保护智能家居室内人员与财物的安全,防止非授权的侵入,这依赖于门禁系统本身的控制是否安全可靠[2-3]。
现有的门禁卡大多采用恩智浦公司生产的Mifare1卡,简称M1卡[4],该卡采用流密码加密算法,通过生成伪随机数及其加密传输鉴别来实现卡和读卡器的相互认证[5]。2008年德国和美国科学家成功破解了M1卡的安全算法,掌握破解方法的黑客将严重威胁到M1卡用户的使用安全[6]。寻找更加安全可靠的替代方案迫在眉睫。
现阶段,门禁系统主要有PIN码式门禁系统、射频卡门禁系统、指纹门禁系统等类型[7-8],其中,射频卡门禁系统智能化程度较高、成本适中,使用范围最广。现有门禁系统还存在以下不足:①种类较多,但是功能较单一,没有对持卡人、读卡器和门禁卡的三结合认证机制,存在门禁卡丢失被冒用的风险[9];②大多基于明文形式的射频通信,存在传输的门控指令容易被截取后伪造门禁卡和重放攻击等风险;③目前普遍使用的M1卡存在被破解的风险,门禁控制功能的安全性得不到保障[10];④难以应对拒绝服务等攻击;⑤很少能支持对门控状态的远程实时监控[11]。
智能家居门禁系统与普通门禁系统相比,其优势主要表现为信息化和智能化水平更高,能够取得更强的控制安全性、使用灵活性和功能多样性[12]。用户可以通过智能手机、iPad等多种智能终端远程登陆智能家居服务器查询门禁信息,远程控制门禁的开关;智能家居门禁系统引入保密通信和认证机制,从而提升系统的安全性。
1.1 安全门禁系统的总体方案
为了确保门禁系统的控制安全,本文基于4种安全机制:①采用持卡人、门禁卡、读卡器三结合的认证机制,阻止因卡丢失而冒充持卡人,或伪造门禁卡或读卡器的情形;②通过门禁管理软件和APP设置基于用户名和密码的系统访问控制权限;③对智能终端发送的控制指令和系统通信数据均通过高级加密算法(advanced encryption standard,AES)进行加密保护,确保通信链路安全;④引入时间戳机制,防止攻击者截获门控指令进而对门禁读卡器实施重放攻击。
本文构建的智能家居门禁系统涉及远程通信和近程通信2种方式。远程通信是用户通过智能终端上安装的APP软件远程非接触式地向门禁系统发送控制指令;近程通信是用户面向门禁系统接触式地通过键盘输入PIN码,确认用户身份后再刷卡开门,规避因卡遗失产生的风险,即使非授权方获得门禁卡却因不知晓PIN码而仍无法开门,这种双重保护机制有助于门禁系统控制安全的进一步增强。2种工作模式根据需要灵活选用。智能家居安全门禁系统的工作流程如图1所示。
图1 智能家居门禁系统工作流程Fig.1 Workflow of entrance guard system in smart home
1.2 智能家居门禁系统的组成
智能家居门禁系统的远程通信或近程通信的保密实现均基于AES-128的CCM安全模式,确保通信链路的安全。智能家居服务器内置门禁服务器,基于物联网技术的智能家居门禁系统的组成如图2所示。值得指出的是,这里的协调器和路由器不仅用于门禁系统,还为智能家居的其他子系统提供服务。
用户可以选择通过刷卡(即近程控制)或智能手机等终端发送控制指令(即远程控制)2种方式打开门锁。采用刷卡方式时,需要通过持卡人、门禁卡和读卡器的三结合认证,认证通过后,门禁控制器打开门锁,并向门禁服务器反馈结果以生成开门记录;采用智能终端方式时,智能终端向门禁服务器发送开门指令,门禁服务器获得开门指令后对其进行解密和指令解析处理,判断指令格式是否合规,并对合规的指令基于时间戳服务判定指令是否属于重放攻击,全部验证均通过后,门禁服务器向门禁控制器下发开门指令,执行指令动作后,门禁控制器将执行结果向门禁服务器反馈,门禁服务器生成开门记录,并将执行结果反馈给智能终端。不成功的开门指令都将触发门禁控制器向报警器发出报警指令。
图2 智能家居门禁系统的组成Fig.2 Composition of entrance guard system in smart home
为避免M1卡被破解的类似结果,本文采用支持AES分组加密算法的非接触式CPU卡作为门禁卡,读卡器中内嵌终端安全认证模块(purchase secure access module,PSAM),PSAM卡可以确保读卡器和门禁卡的合法性认证,为系统提供安全控制管理和数据加密保护功能。AES分组加密算法具有加密速度快、功耗低、安全等级高等特点,CPU卡内置芯片操作系统(chip operating system,COS),使门禁系统的安全性得以提高。
1.3 认证流程
本文提出持卡人、门禁卡(CPU卡)、读卡器(PSAM卡)三结合的认证机制。刷卡前,用户需要在键盘上输入PIN码,和PSAM卡中存储的PIN码比较,以此验证持卡人的合法性;PSAM卡与读卡器绑定在一起,可以分发和存储密钥,读卡器芯片本身不具有计算能力,CPU卡和读卡器相互认证过程中所有计算都由PSAM卡和CPU卡完成,这样可以应对针对读卡器的恶意攻击。同一个智能家居门禁系统中CPU卡和PSAM卡使用的密钥相同,可以通过发卡软件定期更换密钥。CPU卡对读卡器的认证为外部认证;读卡器对CPU卡的认证为内部认证。
外部认证流程如图3所示,其认证过程如下。
1)刷卡时,读卡器向CPU卡发送取随机数命令,CPU卡生成随机数rand1,发送给读卡器的同时,CPU卡内保存这个随机数,读卡器将rand1转发给PSAM卡,PSAM卡利用外部认证密钥加密随机数,计算外部认证码R1,R1=AES(rand1,KeyB)。
2)PSAM卡将外部认证码发送给读卡器,读卡器转发给CPU卡,CPU卡计算外部认证码R1′,R1′=AES(rand1,KeyA)。
3)CPU卡比较R1′和R1,如果相等,则证明CPU卡和PSAM卡使用的密钥相同,即KeyA=KeyB,证明CPU卡和PSAM卡属于同一门禁系统,外部认证成功;否则,外部认证失败。
图3 外部认证流程Fig.3 External authentication process
内部认证与外部认证类似,内部认证流程图如图4所示,其认证过程如下。
图4 内部认证流程Fig.4 Internal authentication process
1)PSAM卡生成随机数rand2,将rand2发送给读卡器,并且PSAM卡内保存这个随机数,读卡器将rand2转发给CPU卡,CPU卡利用内部认证密钥加密随机数rand2,CPU卡计算内部认证码R2,R2=AES(rand2,KeyA)。
2)CPU卡将内部认证码R2发送给读卡器,读卡器将R2转发给PSAM卡,PSAM卡计算内部认证码R2′,R2′=AES(rand2,KeyB)。
3)PSAM卡比较R2′和R2,如果相等,则证明CPU卡和PSAM卡有相同的密钥KeyA=KeyB,两者属于同一门禁系统,内部认证成功;否则,内部认证失败。
1.4 加密机制的布署
基于ISO14443TypeA 协议设计CPU门禁卡的数据或控制指令读取程序,实现刷卡开门的功能。分析ZigBee协议栈,研究Z-Stack协议栈的运行机制,将门禁功能程序嵌入到Z-Stack协议栈中,在协议栈中实现对传输网络通信数据的加密。
Z-Stack的执行是通过轮询机制来实现的,轮询机制在操作系统抽象层(operating system abstraction layer,OSAL)的管理下进行,OSAL的功能类似于一个操作系统。要把门禁功能程序嵌入到Z-Stack协议栈中,本文将门禁功能作为协议栈中自定义的一个事件来处理。
门禁系统的安全包括前端访问安全和网络传输过程数据安全2个部分。前端主要负责读卡器和门禁卡之间的认证交互;网络传输过程主要实现协调器、路由器、服务器、网关和智能终端之间通信数据的加密。前端是在ISO14443TypeA协议栈中采用AES加密算法加密;网络传输过程中采用AES-128 CCM模式加密。基于CC2530节点和标签运算能力有限的特点,本文采用128位密钥10轮迭代的方案。AES的加密、解密算法调用函数如下。
void Encrypt(unsigned char *ctx, unsigned char S_BOX[][16] )
{
ctx->mode=ENCRYPT;
Setkey(ctx->sk,key);
}
void Decrypt(unsigned char *ctx, unsigned char N_S_BOX[][16] )
{
ctx->mode=DECRYPT;
Setkey(ctx->sk,key);
}
2.1 门禁管理软件的实现
所构建的门禁系统主要由门禁卡、控制系统和管理系统组成。管理系统包括服务器、客户端、数据库3部分,负责持卡人的授权、分发密钥、对控制系统下发控制指令、人员进出管理、记录查询等;控制系统由控制器、电锁、读卡器等组成。
为了提高门禁管理软件的美观性和工作实时性,本文采用Qt4.7开发门禁管理软件,它是一个可以跨平台的C++图形用户界面应用程序框架,完全面向对象,扩展性好;数据库采用SQL Server 2008。数据库访问采用具有占用内存少、访问速度快、操作方便等特点的活动数据对象(active data object,ADO)技术。实现的智能家居安全门禁系统管理界面如图5所示。
图5 门禁系统管理界面Fig.5 Form of management for entrance guard system
用户可以通过门禁管理软件添加用户卡、设置卡的权限、注册或挂失卡、通过连接数据库查询门禁进出记录,系统可以生成统计报表并直接导出到Excel中,支持在线打印等功能。
2.2 远程控制及指令加密的实现
智能手机、iPad等智能终端的普及推广为门禁系统的智能化和远程控制提供了方便。本文基于EclipseV22.3.0集成开发环境和Android 4.0开发平台开发了一款门禁管理APP软件,涉及Socket(套接字)通信协议和AES密码算法,如图6所示。该APP软件主要负责控制指令的加、解密,下发控制指令,完成指令动作后接收门禁服务器的反馈并显示于智能终端。
APP发送门禁开门和关门的指令如下。
门禁开:0xEF,0xC1,0x03,0x01,0xC5,0xFE;
门禁关:0xEF,0xC1,0x03,0x00,0xC4,0xFE;
其中,0xEF与0xFE为校验位,0xC1为设备序号,0x03为门禁节点序号,0x01为打开,0x00为关闭,0xC4和0xC5为校验和。开门、关门的指令、密钥和密文如表1所示。
图6 智能门禁系统APPFig.6 APP of smart entrance guard system
指令明文密钥密文开门EFC10301C5FE2b7e151628aed2a6abf7158809cf4f3c5f8a996bc066ba3f8ac3f73ef947ca48关门EFC10300C4FE2b7e151628aed2a6abf7158809cf4f3cbaf77e10b0459447e5f7ed9d56093f45
为了验证指令传输过程中的AES加解密效果,使用Modelsim SE10.1a对开门指令的AES加密解密效果进行了验证,本文采用Verilog HDL硬件语言实现AES算法,明文、密文、密钥均是128位,迭代轮数为10。测试选用表2所列明文和密钥;AES的加密和解密仿真过程如图7和图8所示。
2.3 时间戳的实现
门禁系统面临的最常见攻击手段就是开门指令的截取和重放,虽然加密有助于阻止通信内容及数据格式被获取,但不能阻止重放攻击[13],为此引入时间戳机制。
时间戳机制引入指令时间参数,以此标识指令的发出时间,正常用户发出门控指令的时间总是不同的;时间戳机制有助于防止该指令被不法分子再次冒用。例如把控制指令记为x,用户发送控制指令的时间记为t。时间戳机制的工作过程为 门禁服务器接收用户发来的加密控制指令c=Ek(x,t)对其进行解密,其中,E代表AES加密算法,k是加密密钥,获得用户控制指令及其发送时间(x,t)将其存档,然后进行重放攻击判断,如果通过,则根据指令要求向门禁控制器发送相应的动作指令;为避免存档数据量过大,每一条记录只保留48小时;这里的密钥k为用户和系统所共享,兼具身份认证的功能。
图7 开门指令AES加密结果Fig.7 AES encryption result of open door instruction
图8 开门指令AES解密结果Fig.8 AES decryption result of open door instruction
重放攻击的判断:攻击者实施重放攻击时,将截获的用户加密控制指令c=Ek(x,t)再次发送给门禁服务器,其无法修改t的内容;门禁服务器解密获得的用户控制指令及其发送时间是(x,t)。首先判断t时间是否超前当前时间48 h,如果未超过,则在系统存档中检索是否存在(x,t)记录,如果不存在,则认为是新指令,这两项验证中只要有一项未通过,则认定为重放攻击;门禁服务器生成重放攻击记录,并通过门禁控制器指示报警器给予报警响应。
该时间戳方案不需要客户端与门禁服务器端有严格的时间同步,只要二者的时间相差不超过48 h(这个条件通常情况下都能满足,因为任何系统与标准时间一般不会相差24 h,在极端情况下,用户端和门禁服务器端的时间相差也不会超过48 h),就能保证系统的正常运行;如果用户端出现特殊情况,则必须修正用户端系统时间才能保证门禁系统的正常使用。重放攻击验证记录如图9所示。
图9 重放攻击验证记录Fig.9 Recorder of replay attack test
基于本文的时间戳机制分析,图9中第1条指令为合法指令;第2、第3、第4条指令被判定为黑客截获第1条指令后的重复发送,因为指令加密规避了指令发送时间t被修改的可能,系统能检索出时间t的指令记录,故被判断为重放攻击;图9中的其他记录遵循相同的判定规则得出。
2.4 加密机制对系统时延的影响
本文测试了采用AES加密算法和未使用加密算法2种情形下从智能手机发送控制指令到打开门锁的时间间隔,试验中手机每隔5 s发送一个控制指令,加密和未加密各测试100次。有加密时,智能手机发送指令的时间可以通过Eclipse自带的LogCat日志查询,时间记为S[i],电锁打开的时间可以通过门禁管理软件查询,时间记为R[i],则从智能手机发送指令到电控锁打开的时间间隔记为T[i]。
T[i]=R[i]-S[i]
(1)
(1)式中,T[i]表示针对第i个指令加密后的时间延迟;同理,未加密时指令传输时间延迟t[i]为
t[i]=r[i]-s[i]
(2)
(2)式中,s[i],r[i]分别是未加密时智能手机发送控制指令的时间和电锁打开的时间。仿真测试得到的100组加密和未加密的网络延时如图10所示。
图10 加密和未加密的网络延时Fig.10 Network delay of encryption and unencryption
系统的整体延时率可表式为
(3)
(3)式中,m代表测试次数。通过计算可知,本测试的平均延时率δ=4.59%,可见,因加密机制的运用而导致的系统平均延时率是可接受的,所以,系统防御外部攻击风险的能力却得以大大提高。
为了分析引入加密机制后,对刷卡开门和APP远程开门2种方式网络延迟的影响,总共测试了100组数据,APP远程控制的网络延迟可以通过公式T[i]=R[i]-S[i]计算,其中,T[i]表示从智能手机发送控制指令到电锁打开的时间间隔;R[i]表示电锁打开的时间;S[i]表示智能手机发送指令的时间;刷卡开门的网络延迟可以通过T′[i]=R′[i]-S′[i]计算,其中,T′[i]表示从刷卡到电锁打开的时间间隔;R′[i]表示电锁打开的时间,可以通过门禁管理软件读取;S′[i]表示刷卡的时间,刷卡时间可以从液晶显示屏读取,本文采用带自动校准功能的高精度实时时钟芯片AT8372A保证系统时间的同步与准确性。
图11是针对APP远程开门和刷卡近程开门2种方式在引入加密机制前后的网络延时仿真对比结果。由图11可见,2种开门方式的加密传输均比非加密传输有延时上的增加,这是由于系统在对控制指令进行AES加密处理时有时间上的消耗;另一方面,APP远程开门方式比刷卡近程开门方式延时更大,这是因为APP远程开门方式涉及GPRS或WIFI网络传输时延。
图11 远程或近程控制时延Fig.11 Delay of remote control or card control
物联网技术为智能家居系统的构建提供了方便和多种可能性,智能门禁系统丰富了智能家居的构成和使用灵活性。本文为智能家居门禁系统建立了刷卡和APP智能终端2种门禁控制方式,并引入持卡人、门禁卡与读卡器三结合的认证机制、保密通信机制和时间戳机制,能有效实现对通信链路的保护,并阻止对门禁系统的重放攻击,有助于提升门禁系统本身控制的安全性。实验测试结果验证了该门禁系统方案具有较高的安全性和低时延特性,实用性强。
[1] 胡向东, 韩恺敏, 许宏如. 智能家居物联网的安全性设计与验证[J]. 重庆邮电大学学报:自然科学版, 2014, 26(2):171-176. HU Xiangdong, HAN Kaimin, XU Hongru. Design and implementation of security-focused intelligent household Internet of things[J]. Journal of Chongqing University of Posts and Telecommunications: Natural science edition, 2014, 26(2):171-176.
[2] 燕丽红,王飞飞,杨星.基于AT89S52的智能家居门禁系统的设计[J].电子设计工程,2013,21(22):137-140. YAN Lihong, WANG Feifei, YANG Xing. Design of the smart gate-ban home system based on AT89S52[J]. Electronic Design Engineering,2013,21(22):137-140.
[3] 文燕, 齐蕾. 一种基于国密算法 CPU卡的门禁系统方案的设计[J]. 电子设计工程, 2012, 20(3): 82-84. WEN Yan, QI Lei .An access control system based on State Secret code algorithm and CPU card[J].Electronic Design Engineering,2012,20(3):82-84.
[4] 佟秋利, 张慧琳, 孙国光. 基于CPU 卡的大学门禁应用设计实施方案[J]. 计算机工程与设计, 2011, 32(4): 1453-1457. TONG Qiuli, ZHANG Huilin, SUN Guoguang. Design and execution of access control system of university based on CPU card[J].Computer Engineering and Design, 2011,32(4):1453-1457.
[5] 陈锦, 谭思云, 姜涛. 基于射频识别的小区门禁系统设计[J].仪表技术, 2010 (5): 16-18. CHEN Jin, TAN Siyun, JIANG Tao. Design of a District Access Control System Based on RFID[J]. Instrument Technique, 2010(5):16-18.
[6] 程振, 刘年生, 李琳, 等. 一种适用于 RFID读写器的加密算法及其实现[J]. 信息与电子工程, 2009, 7(4): 349-353. CHENG Zhen, NIU Niansheng, LI Lin, et al. Encryption algorithm for RFID reader and its implementation[J]. Information and Electronic Engineering, 2009,7(4):349-353.
[7] JI Yuchu, XU Zhao, FENG Qinzhu, et al. Concurrent collision probability of RFID tags in underground mine personnel position systems[J]. Mining Science and Technology (China), 2010, 20(5): 734-737.
[8] 林海燕,彭井花,陆生贵,等.智能社区安防系统的设计与实现[J].重庆理工大学学报:自然科学版,2014(7):102-104. LIN Haiyan, PENG Jinghua, LU Shenggui, et al. Design and Implementation of Intelligent Community Security System[J]. Journal of Chongqing University of Fechnology:Natural Science, 2014(7): 102-104.
[9] YAO Q, HAN J, QI Y, et al. Privacy leakage in access mode: revisiting private RFID Authentication protocols[C]// Parallel Processing (ICPP), 2011 International Conference on. Taipei:IEEE, 2011: 713-721.
[10] 闫永昭, 郑金州. 基于国密SM1 算法的CPU 卡应用[J]. 现代电子技术, 2013, 36(15): 82-83. YAN Yongzhao, ZHENG Jinzhou. Application of CPU card based on SM1 cryptographic algorithm[J].Modern Electronics Technique,2013,36(15):82-83.
[11] 张锦荣, 陈岳林. 基于 GSM的远程控制门禁系统的研究[J].微计算机信息, 2008, 24(35): 154-156. ZHANG Jinrong,CHEN Yuelin.Research of Gate-ban Remote Control System Based on Embedded System and GSM[J].Micro Computer Information,2008,24(35):154-156.
[12] 刘金伟, 黄樟钦, 侯义斌, 等. 校园 CPU卡密钥管理系统的设计与实现[J].信息安全与通信保密, 2006 (10): 51-54. LIU Jinwei, HUANG Zhangqin,HOU Yibin, et al. Design and implementaion of Key Management System of Campus CPU Card System[J].Information Security And Communication Security,2006(10):51-54.
[13] 潘新春,金文光,周冬鑫.基于虚拟时间戳的WSN时间同步算法[J].计算机工程与应用,2009,45(29):87-90. PAN Xinchun,JIN Wenguang,ZHOU Dongxin.On virtual timestamp synchronization protocol for wireless sensor network.Computer Engineering Application,2009,45(29):87-90.
胡向东(1971-),男,教授,博士,主要研究方向为网络化测控及网络空间安全、复杂系统建模仿真与优化。E-mail:huxd@cqupt.edu.cn。
唐 飞(1990-),男,硕士研究生,主要研究方向为物联网安全。E-mail:1207929576@qq.com。
(编辑:刘 勇)
Secure control methods of the entrance guard system for smart home
HU Xiangdong, TANG Fei
(College of Automation, Chongqing University of Posts and Telecommunications, Chongqing 400065, P.R.China)
The emerging internet of things technology prepares conditions for building a comprehensive smart home, and the entrance guard system is one of the core subsystem of smart home, whose implementation in safety control helps improve the performance of smart home and user experience. Aiming at the secure control problem of the existing entrance guard system, one secure control method of entrance guard system for smart home is proposed, which is based on such mechanisms as authentication among cardholder, entrance card and card reader, secret communication and timestamp. The paper also established two ways including short-range charge control and intelligent terminal remote control, so as to realize the confidentiality and integrity protection of communication data of the entrance guard system, and prevent control instructions from being intercepted and abused, and the corresponding physical simulation system is also set up. The test result shows that the entrance guard system of smart home based on the internet of things technology improves convenience in use, at the same time, the in-built secure control methods are helpful to strengthen the security of control of entrance guard system in smart home, thus prove the effectiveness and practicability of the proposed scheme.
smart home; entrance guard system; control; security
10.3979/j.issn.1673-825X.2016.06.019
2016-01-15
2016-04-20
胡向东 huxd@cqupt.edu.cn
国家自然科学基金(61170219);教育部-中国移动联合研究基金(MCM20150202);重庆市基础与前沿研究计划(cstc jcyjA40002)
Foundation Items:The National Natural Science Foundation of China(61170219); The Joint Research Foundation of the Ministry of Educatio of the People’s Republic of China and China Mobile(MCM20150202); The Basic and Frontier Research Project(cstc jcyjA40002)
TP273
A
1673-825X(2016)06-0863-07