基于无线安全的智能锁具及其软件控制系统 

2016-11-07 21:30田红鹏肖瑾张媛高冬冬吴挺
软件导刊 2016年9期

田红鹏++肖瑾++张媛++高冬冬++吴挺静++谭健宁

摘要:为了解决当前市场中智能门锁存在的不足,提出了一种基于无线安全的智能锁具及其软件控制系统的总体框架、设计思想及实现方案。在该方案中,智能手机与门锁进行交互,实现开锁、关锁、查看日志等操作。并且采用安全的WIFI链接、注册码机制、用户派生机制、门锁数据库SHA256加密等方法多维度地提高门锁的安全性。将认证服务器、数据库等高度集成于一体,成本低、易于操作,同时,采用冗余的供电方式提高了系统可靠性。测试证明,该系统实现了预期功能,能够满足市场需求。

关键词:智能门锁;WIFI;SHA256;注册码机制;用户派生机制

DOIDOI:10.11907/rjdk.161733

中图分类号:TP319

文献标识码:A文章编号文章编号:16727800(2016)009009403

基金项目基金项目:陕西省大学生创新创业项目(201510704046)

作者简介作者简介:田红鹏(1970-),男,陕西西安人,西安科技大学计算机科学与技术学院副教授,研究方向为互联网技术、嵌入式系统、图像处理。

0引言

近年来,智能家居的热潮席卷国内外,其作为现代电子技术、自动化技术及通信技术相结合的产物,能够自动控制和管理家电设备,对家庭环境的安全进行监控报警,并且能够为住户提供安全舒适、高效便利的学习生活及工作环境。在国外,智能家居的方案和技术比较成熟,已在美国、新加坡、日本等国有广泛应用,并且智能家居的产品销售额每年以大幅度比例增长。而在国内,智能家居的起步比较晚,但随着科技的提高和经济的发展,人们对家居环境有了更高要求,因此智能家居在国内打开了一片市场,正以飞快的速度发展。

智能家居时代的到来促使诸多传统的生活用品正面临着淘汰与革新,加之城市化加快、生活压力加大等一系列不和谐因素导致一个个居室犯罪的案例,使得人们愈来愈感受到自己的生命与财产安全受到严重威胁。而门锁作为家居中第一道安防设备,自然而然成为人们关注的焦点。因此智能门锁顺势而生,它符合现代人既注重安全又崇尚简单快捷的需求,而且不排斥传统门锁使用方法,将成为最有前途的智能家居产品。但同时智能门锁也面临着更高要求的安全性、可靠性、便捷性的挑战[1]。

因此,本文提出一种基于无线安全的智能锁具及其软件控制系统的总体框架、设计思路以及实现方案,并分析了系统的功能、性能和特点。

1系统设计

1.1总体设计

本系统由手机客户端、嵌入式门锁系统、电能与动能模块、外部锁体4部分组成,系统整体结构如图1所示。

(1)手机客户端。手机客户端是基于Android平台而开发,主要为用户提供友好的操作平台并作为连接门锁服务器的接口。其操作项有注册、登陆、开锁、关锁、查看日志、生成注册码、退出和注销等,用户可根据自己的需求点击按钮向服务器传递相对应的指令,从而实现相应的功能。

(2)嵌入式门锁系统。嵌入式门锁系统基于RT5350开发板进行开发,其中RT5350开发板内嵌了内部服务器、内部数据库服务器、内部证书服务器以及自带的WIFI模块:内部服务器主要提供连接手机客户端的接口,完成与手机之间的通信;内部数据库服务器存储已注册用户的用户名和密码并进行哈希SHA256加密,为之后的登陆做验证匹配;内部证书服务器为注册成功的用户颁发认证证书,确保登陆用户的安全性;自带的WiFi模块作为网关实现了手机客户端与内部服务器之间的信息通信。

(3)电能与动能模块。电能与动能模块由步进电机和供电设备组成,步进电机是本系统的唯一动力提供者,它一端与RT5350开发板引脚相连,通过步进电机驱动器接收指令正转或反转,另一端门锁相连,带动门锁转动。供电模块是本系统的能量提供者,考虑到可能停电的问题,采用市电和备用电组合的方式,使门锁不间断使用。

(4)外部锁体是本系统的基本硬件设备、整个控制系统的承载者。

1.2功能分析

综合市场需求,设计智能门锁的总体原则是:高安全性、高可用性、高可靠性、高稳定性、高扩展性、低成本、易操作性。本系统的基本功能如下:

(1)手机智能安全连接门锁。手机靠近门锁时,连接由门锁服务器发出的安全WiFi信号[2],再通过TLS与服务器端建立安全的通信链路。

(2)用户登录。当用户输入用户名、密码登陆手机APP时,首先会验证用户码的合法性,再次连接数据库服务器,验证密码的正确性,最后发送证书并且证书验证通过,则显示登陆成功,否则登陆失败,返回到输入信息界面。

(3)用户认证。从两个方面进行用户认证:一是登陆时输入密码进行SHA256(SHA256(password)+salt)运算,运算得出的值再与数据库内存储的psd值进行比对,如相同,则用户合法;二是证书认证机制,用户登录时,将证书和用户名密码一并发送到服务器,门锁服务器先用CA的公开密钥对证书进行认证,认证通过,则用户合法。

(4)用户派生。首次注册的用户拥有与门锁一一匹配的注册码,注册成功后,成为Host用户,后续门锁使用者需通过Host用户用客户端的<生成注册码>功能完成注册。

(5)控制门锁开关。手机客户端发送开或关的指令,服务器收到指令后将相应引脚置高或置低,从而控制步进电机正转或反转,达到开关门锁的目的。

(6)查看门禁记录。用户可通过手机客户端查看门禁记录,实时掌控来访者的详细信息,做到防患于未然。

本系统的拓展功能:针对用户派生机制,可以通过限制用户有效时间实现酒店用户管理,提升酒店的安全性。

1.3性能要求

针对智能门锁的特点,在设计智能门锁的过程时应充分考虑以下性能要求:①可靠性:可靠性和稳定性是智能门锁系统成败的关键,必须使系统持续稳定运作,准确地接收指令并根据指令做出预期动作。因为是电子产品,所以在整个使用过程中,必须保证持续不断的电能提供;②安全性:手机客户端与门锁服务器之间必须建立安全的通信通道,保证用户信息不被截取或篡改,同时做好用户认证体系,保证登陆用户的合法性;③实时性:智能门锁系统对实时性要求比较高,用户发出指令5s内要作出响应,不能出现让用户长时间等待的尴尬现象;④便捷性:智能手机已被普遍使用,并成为人们日常生活中的必带品,通过手机开关门锁,省去了携带钥匙的麻烦,更加方便与时尚;⑤扩展性:本智能门锁不仅可用于家庭,也可用于酒店、实验室等,既增加安全性也方便用户管理。冗余性:若手机丢失,可通过其它手机下载APP进行账号登陆;⑥易用性:智能门锁系统必须为用户提供简单易用的操作方式,通过简单说明即可进行设置、控制及管理[3]。

1.4系统特点

与其它智能门锁系统相比,本系统设计具有以下特点:

(1)易开发、受众广、可视化好。该系统基于Android的手机应用平台开发,因而开发难度低,大大减少了开发周期和开发成本。并且,Android的硬件选择更加丰富,这对智能门锁 APP 的推广和市场覆盖非常重要。由于 Android 良好的扩展性和开放性,各类手机中软件兼容和数据同步良好。不同价位的 Android 手机使得 Android 的覆盖人群更广。相比之下,IOS 是 Apple 公司的商业系统,覆盖范围较低。此外,Android拥有可视化的文件系统,这对智能家居 APP 的开发和调试帮助很大。用户可以像浏览电脑上的文件一样浏览 Android 的文件系统;相比之下,IOS没有给予用户这样的权限。

(2)稳定性好、成本低。嵌入式门锁硬件系统集成度高,集网关、服务器、认证服务器、数据库于一体。方便植入锁体,稳定性高,易于操作与管理,成本较低,避免了有线装置布线繁琐、可移动性差且维修和运行成本高的弊端。

(3)系统安全性高。本系统从多角度提升整体安全性,包括手机客户端与服务器建立安全通道、数据库加密机制、用户认证机制、用户派生机制等。

2系统实现

2.1用户派生机制

手机正常连接到门锁WiFi后,首次注册用户需提供注册码,加上用户名密码后方能完成注册,注册码为门锁出厂设置的随机码,门锁和注册码一一匹配,匹配成功,则该用户成为Host用户,注册码使用一次即失效。后续门锁使用者需通过Host用户用客户端的<生成注册码>功能完成注册,然后其他用户可凭注册码通过手机客户端正常注册并登录。

2.2客户端控制系统

客户端控制系统主要实现用户注册、登陆以及操作指令。客户端工作流程如图2所示。

手机搜索到门锁WIFI后,输入正确的密码成功连接。首次使用该APP,需要完成注册,得到合法的注册码,并通过服务器的验证,最终得到服务器颁发的证书,拥有合法的用户名密码。

用户登录APP时,会进行密码的验证过程。将用户输入的密码经过哈希运算得到的值和数据库中存储的pst值进行比较,确保门锁的安全性。密码验证通过后,发送所持有的证书,若证书合法,则登陆成功,进入后续的指令操作。手机客户端与服务器端通过http建立可靠连接,用户可向服务器发送开锁、关锁、查看日志、生成注册码、退出、注销等操作,服务器收到指令后执行相应程序,完成用户请求。

2.3用户认证系统

本系统采用多种手段保证门锁的安全性,确保门锁使用者的可信性。一是输入信息与数据库信息比对:将已注册用户的用户名和密码将存储在门锁的内置服务器内,并采用哈希函数SHA256加密[4],加密函数形式为:psd=SHA256(SHA256(password)+salt),其中salt为每个注册用户产生的随机数。最终数据库内将以psd作为用户密码而非用户在手机客户端输入的密码,并且,数据库内也将存储相应的salt值。当用户需登录时,将其提供的密码进行SHA256(SHA256(password)+salt)运算,运算得出的值再与数据库内存储的psd值进行比对,如相同,则登录成功。二是证书颁发机制:注册成功的用户将收到来自门锁内部的证书服务器(CA)颁发的证书,此证书包含了用户的个人身份信息和其公开密钥,并且CA用自己的私密密钥对这些信息进行了签名。当用户需要登录时,将证书和用户名密码一并发送到服务器,门锁服务器先用CA的公开密钥对证书进行认证,认证通过后验证用户名密码,密码正确后方能登录[5]。

2.4服务器端控制系统

服务器端工作流程如图3所示,主要完成对客户端的监听,并根据指令实现各模块功能,主要如下:①判断用户注册码是否和门锁固定注册码相同;②用户登录工程中,CA服务器检验证书的合法性,并对用户密码进行加盐哈希加密与数据库存储值的比较;③执行开锁动作,控制步进电机正传;④判断锁体是否对准,执行关锁动作,控制步进电机反转;⑤每个功能的实现都会更新日志文件,方便用户查看;⑥生成十六位随机数写入注册码文件。

2.5系统供电模块

本系统采用市电和备用点组合的方式,解决了停电时的不便,增强了系统的可用性。

3结语

本系统针对门锁市场的需求,提出了一种基于无线安全的智能锁具及其软件控制系统,并完成了系统的设计开发,实现了相应功能。以手机代替钥匙,更加便捷与时尚,安全的WiFi网络以及TLS加密提供了手机客户端与服务器之间的安全通信。从数据库加密机制、用户认证机制、host赋权机制等方面增强系统的安全性。并且,本系统采用高度集成的方式,具有方便安装、可移动性强、成本低等优点。测试表明,该系统具有可行性、可靠性、安全性与便捷性,相信在不久的将来,智能门锁将在国内市场迅速普及,彻底改变人们使用传统门锁的观念,提高人们的生活质量。

参考文献参考文献:

[1]赵瑞芬.关于物联网智能家居的初探[J].科技信息,2010(22):199.

[2]彭华,何军.WiFi技术在家庭无线网络中的应用研究[J].技术与市场,2010(5):1516.

[3]向军,谢赞福.基于嵌入式Internet/Intranet的智能家居系统模型及实现[J].计算机工程与设计,2005(26):24252427.

[4]md5 在线查询破解,md5 解密加密[EB/OL].http://www.cmd5.com/,20120116.

[5]加盐hash保存密码的正确方式[EB/OL].https://crackstation.net/hashing-security.htm ,20140313.

责任编辑(责任编辑:孙娟)