首页 > 范文大全 > 正文

基于NFC的门禁系统

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于NFC的门禁系统范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:随着NFC技术的发展和智能手机的普及,现有的门禁系统已难以满足人们的需求。文中设计了一种通过智能手机控制的门禁系统,该系统使用NFC(近场通信)技术实现开锁功能,可以随时随地使用,不需要繁琐的操作与持续的电源供应,只需要NFC功能模块和电池供给的少量电量即可支持系统功能。该系统的后台管理功能可有效管理用户,并可给予权限或收回权限,以使门禁系统始终处在可控范围。最后,在所有的通信过程中加入动态检验码并进行加密传输,从而有效提高了系统的安全性。

关键词:NFC;AES;WCF;门禁系统

中图分类号:TP249 文献标识码:A 文章编号:2095-1302(2016)06-00-03

0 引 言

计算机技术日新月异,基于网络技术对门禁系统的研究方兴未艾,现如今已形成了体系完整的出入管理系统。然而,重复部署系统耗时耗力,安全威胁与日俱增,人们的需求也在不断提高,多数门禁系统已难以满足人们的期望。与此同时,智能手机的普及与发展,以及nfc技术的出现给了门禁系统新的展望,人们不断尝试将智能手机应用于门禁系统,并从中积累了宝贵的经验。取缔繁琐的操作,减少人力资源的浪费,酒店门禁系统、校园卡门禁系统等都给人们带来了便捷。尽管在不断进步,但门禁系统也存在许多问题。用于身份识别的磁卡因为经常使用会受到损坏,而且磁卡本身体积小,容易丢失,落入外人手里可能还会造成财产损失和个人信息的泄露。磁卡还有相当的制作成本,有的甚至要一直插在卡槽中才能使用,这也给我们的生活带来很多不便。本项目基于这一点,拟用NFC技术设计一种通过手机就能更安全便捷地完成身份验证的门禁系统。门锁的管理者可以通过这个方式,用手机刷门上的NFC模块来打开门锁,同时还可以将开门权限赋给其他用户,让别人也能用手机开门,或是取消权限,保证门禁安全。使用本解决方案,就可以免除磁卡的制作成本,也避免了磁卡丢失补办的问题,让个人信息安全得到保障。该系统不会受到周围温度等环境的影响,且安装、调试简单,后期维护方便。我们将通过不断地测试和改进,提高用户体验和应用的普及性,让更多的用户从中受益。

1 预备知识

1.1 NFC

NFC是一种短距离的高频无线通信技术,在13.56 MHz频率运行于20厘米距离内。其传输速度有106 Kb/s、212 Kb/s、424 Kb/s三种。目前近场通信已通过成为ISO/IEC IS 18092国际标准、EMCA-340标准与ETSI TS 102 190标准。NFC采用主动和被动两种读取模式[1]。

(1)卡模拟模式:此模式相当于一张采用RFID技术的IC卡,可以替代现有的大量IC卡。在此种方式下,卡片通过非接触读卡器的RF域来供电,即便是寄主设备(如手机)没电也可以工作。

(2)点对点模式:此模式类似于红外线,可用于数据交换,传输创建速度较快,传输速度也快,功耗低,只是传输距离较短。将两个具备NFC功能的设备链接,能实现数据点对点传输,如下载音乐、交换图片或者同步设备地址薄。因此通过NFC,多个设备如数位相机、PDA、计算机和手机之间都可以交换资料。

(3)读卡器模式:作为非接触读卡器使用,比如从海报或者展览信息电子标签上读取相关信息。

相对于蓝牙,NFC兼容于现有的被动RFID(13.56 MHz ISO/IEC 18000-3)设备。NFC的功耗更低,与蓝牙V4.0低能协议类似。当NFC在一台无动力设备(比如一台关机的手机、非接触式智能信用卡,或智能海报)上工作时,NFC的能量消耗会大大低于低功率蓝牙V4.0[2]。

1.2 AES算法

高级加密标准(Advanced Encryption Standard,AES)在密码学中又称为Rijndael加密法,是美国联邦政府采用的一种区块加密标准。

假定读者熟悉AES加密算法的过程,我们以128-比特分组长度128-比特密钥长度为例简要描述AES算法的加密过程。AES加密过程在一个4×4 字节的矩阵上运作,这个矩阵又称为“体”,也可看成一个16×1的列向量,即(aij)=(a00,…,a30,a01,…,a31,…,a33)T。在AES加密中包括四个变换(除最后一轮),依次为:字节替换,行移位,列混合和轮密钥加[3,4]。

1.2.1 非线性混乱

字节矩阵中的每个元素按照S[#]进行查表替换。替换表由三个变换组成。

(1)在GF(28)中计算y=x-1(0-1=0);

(2)计算z=LA・y,这里LA是一个GF上的8×8矩阵;

(3)S-盒输出为LA・y+63

1.2.2 线性扩散

字节矩阵的每一行进行循环移位,字节aij变为ai(j-imod4),可以用一个16×16的字节矩阵RA来完成行移位操作,即:

(2)把字节矩阵的每一列看成是4维GF(28)-向量,然后计算y=D・x,这里D是一个4×4的GF(28)-矩阵。同样的,可以用一16×16的块对角矩阵MixA(每一块都是D)来完成列混合操作,即线性扩散的输出为:

1.2.3 密钥轮加

字节矩阵的每一个字节与相应的轮子密钥字节进行异或,因此,AES的轮函数可以表示为:

2 基于NFC门禁系统方案设计

2.1 整体方案设计

本方案主要由客户端、服务端、NFC模块及Arduino开发板三个端构成。服务端由C#实现,后台管理由PHP提供支持。整个方案流程分为如下几步:

(1)新用户打开App注册;

(2)管理员使用后台管理系统通过用户注册并分配开锁列表及权限[5];

(3)用户登录手机钥匙,获取开锁列表及相关权限;

(4)用户使用NFC手机靠近NFC模块,使用开锁功能;

(5)门锁被打开,用户可允许的开锁次数减少。

其中,若用户A具有可授权权限,用户A可以通过双方手机NFC直接通信将开锁权限授权给用户B。用户B无需请求服务端管理员分配权限即可获得由用户A所授权的权限。一次开锁流程如图1所示。

2.2 数据传输设计

数据传输设计分如下几步进行:

(1)用户通过NFC手机App请求注册,传输相关注册信息至服务端[6];

(2)管理员进入后台管理系统通过用户请求及分配权限后,将开锁列表及权限返回至NFC手机[7];

(3)用户开锁时,请求服务端获取开锁指令;

(4)使用NFC手机靠近NFC模块将开锁指令传输至Arduino开发板进行验证,判断是否进行开锁[8]。

整个方案的数据传输过程都采用了AES加密[9],保证了数据的安全性,同时保护了用户的个人私密信息。在判断开锁指令是否合法时通过Hashkey值进行比较,增加系统的安全性,防止了恶意用户盗取他人信息从而非法开锁等问题的出现。

2.3 数据库设计

本方案的数据关系(包括实体型、联系类型、属性及标识符)如下:

(1)管理员(aid用户id,logname用户名,pass密码,grade权限,lastdateline最后登录时间,salt随机数);

(2)用户信息(authid授权条目id,lid锁id,autheduid被授权人id,number允许开锁次数,starttime_d开始日期,endtime_d结束日期,starttime_h开始时间,endtime_h结束时间,authuid授权人id,allow再次授权,fromauthid该条项目是由哪一个授权项目二次授权的);

(3)开锁记录(hid历史id,lid锁id,date开锁时间,uid用户id);

(4)门锁信息(lid锁id,lname 锁的名称,isgprs是否允许gprs流量开锁,pass与锁通信数据加密密码,keyword开锁用的关键字);

(5)加密日志(auto_num自增序列,uid_num用户id,md5_num md5值,lid_num 锁id);

(6)用户(uid 用户id,ucode用户手机编码,commpass通信数据加密密码,uname 用户姓名,check是否通过验证,date申请日期,del用户是否作废,upk)。

方案数据库的E-R图如图2所示。

3 基于NFC的门禁系统分析

3.1 安全性分析

3.1.1 服务安全性分析

用户访问认证服务时,需要提交动态的通信口令以及个人对整个消息的签名,其中通信口令的变更,保证了攻击者无法进行重放攻击,而通信口令在认证服务返回最新通信口令时,使用AES进行加密,不会被攻击者观察到明文,若攻击者替换返回的通信口令,则用户也无法正常完成通信,因此攻击者无法达到开锁的目的[10]。而签名保证了数据不会被篡改以及攻击者无法伪造消息。

3.1.2 后台管理安全性分析

(1)网站方面除登录页外全部采用session机制,用户若想浏览、操作其他页面必须先登录。此举有效防止了非管理人员查看和管理网站。与session不同的是cookie将用户信息保存在客户端并受浏览器设置限制,不能防止cookie欺骗,而session是将用户信息保存在服务器端与浏览器设置无关,可有效防止他人获得cookie进行欺骗登录,大大提高了网站的安全程度[11]。

(2)网站登录页面对提交的表单内容进行过滤,防止SQL注入且管理用户的密码采用MD5+salt方式存储,其安全程度远高于MD5加密,即使数据库泄露也很难破解用户密码。

3.1.3 开锁指令安全性分析

系统设置每把锁均对应唯一一个Hashkey值,不同电机锁对应开锁指令均不相同,此值即为初始开锁指令。每当用户进行一次开锁操作,服务端和Arduino开发板即使用相同的算法对初始值进行处理变换,但每次开锁所对应的Hashkey亦不相同。传统门禁系统所使用的开锁钥匙若不慎丢失或被复制,非法用户即可顺利完成开锁。本系统通过对于开锁指令加密及轮换处理,即使某一次开锁指令被非法用户窃取,非法用户亦不能打开电机锁,极大地提高了本系统的安全性。

3.2 效率/经济性分析

与传统的门禁系统相比,基于NFC的门禁系统在制作成本、门禁安全、拓展功能方面都有很大的提升。传统门禁系统多采用IC卡作为开锁钥匙,而IC卡存在易损坏、易丢失等问题,增加了用户维护、更换的相关成本。相较于传统方案,本系统只需使用一台带有NFC功能的智能手机即可完成开锁,为用户主要用来通信的智能手机赋予了更多的功能和权限,额外增加的成本较低,且携带方便。

NFC门禁系统与传统门禁系统简单对比如表1所列。

4 结 语

本项目在选题之初就立足于解决生活之中的不便之处,这也是本项目的核心所在――创新。随着智能手机的普及,在我们的生活中手机也被赋予了更多的功能,使用手机做为门禁系统的钥匙更加具有竞争力。本系统使用带有NFC功能的智能手机代替传统钥匙,满足用户对于门禁系统安全、便捷且成本较低的需求。这也是本方案的创新之处。但本方案仍存在些许不足之处,有待改进。

参考文献

[1] Hasoo Eun,Hoonjung Lee,Heekuck Oh.Conditional privacy preserving security protocol for NFC applications[J].IEEE Transactions on Consumer Electronics, 2013, 59(1): 153.

[2] Mulliner C.Vulnerability analysis and attacks on NFC-enabled mobile phones[C]. Availability, Reliability and Security, 2009. ARES'09. International Conference on. IEEE, 2009: 695-700.

[3] Kotturi D, Yoo S M, Blizzard J. AES crypto chip utilizing high-speed parallel pipelined architecture[C].Circuits and Systems, 2005. ISCAS 2005. IEEE International Symposium on. IEEE, 2005: 4653-4656.

[4] Zhang X, Parhi K K.High-speed VLSI architectures for the AES algorithm[J].IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2004, 12(9): 957-967.

[5] Sun F Q, Chen T B.Design and implementation of dynamic integration for 3 PL based on J2EE and Web services[J].Application Research of Computers,2007,24(2): 233-237.

[6] Rogers R,Lombardo J,Mednieks Z,et al.Android application development: Programming with the Google SDK[M].O'Reilly Media,Inc.,2009.

[7] Zhang W,Cheng G.A service-oriented distributed framework-WCF[C].Proc. International Conference on Web Information Systems and Mining.2009.

[8] Rui-yan Cai.Principle and application of Arduino[J].Electronic Design Engineering, 2012(16):155-157.

[9] Enck W,Octeau D,McDaniel P,et al.A Study of Android Application Security[C].USENIX Security Symposium,2011.

[10] Arroqui M,Mateos C,Machado C,et al.Restful Web Services improve the efficiency of data transfer of a whole-farm simulator accessed by Android smartphones[J].Computers and Electronics in Agriculture,2012,87(5):14-18.

[11] Resnick S,Crane R,Bowen C.Essential windows communication foundation: for .net framework 3.5[M].Addison-Wesley Professional,2008.