内容详情
【设计方案】一种基于NFC的门禁系统
随着NFC技术的发展和智能手机的普及,现有的门禁系统已难以满足人们的需求。本文设计了一种通过智能手机控制的门禁系统,该系统使用NFC(近场通信)技术实现开锁功能,可以随时随地使用,不需要繁琐的操作与持续的电源供应,只需要NFC功能模块和电池供给的少量电量即可支持系统功能。该系统的后台管理功能可有效管理用户,并可给予权限或收回权限,以使门禁系统始终处在可控范围。最后,在所有的通信过程中加入动态检验码并进行加密传输,从而有效提高了系统的安全性。
NFC是一种短距离的高频无线通信技术,在13.56MHz频率运行于20厘米距离内。其传输速度有106Kb/s、212Kb/s、424Kb/s三种。目前近场通信已通过成为ISO/IECIS18092国际标准、EMCA-340标准与ETSITS102190标准。NFC采用主动和被动两种读取模式。相对于蓝牙,NFC兼容于现有的被动RFID(13.56MHzISO/IEC18000-3)设备。NFC的功耗更低,与蓝牙V4.0低能协议类似。当NFC在一台无动力设备(比如一台关机的手机、非接触式智能信用卡,或智能海报)上工作时,NFC的能量消耗会大大低于低功率蓝牙V4.0。
【设计方案】一种基于NFC的门禁系统
1、整体方案设计
本方案主要由客户端、服务端、NFC模块及Arduino开发板三个端构成。服务端由C#实现,后台管理由PHP提供支持。整个方案流程分为如下几步:
(1)新用户打开App注册;
(2)管理员使用后台管理系统通过用户注册并分配开锁列表及权限;
(3)用户登录手机钥匙,获取开锁列表及相关权限;
(4)用户使用NFC手机靠近NFC模块,使用开锁功能;
(5)门锁被打开,用户可允许的开锁次数减少。其中,若用户A具有可授权权限,用户A可以通过双方手机NFC直接通信将开锁权限授权给用户B。用户B无需请求服务端管理员分配权限即可获得由用户A所授权的权限。一次开锁流程如图1所示。
2、数据传输设计
数据传输设计分如下几步进行:
(1)用户通过NFC手机App请求注册信息至服务端;
(2)管理员进入后台管理系统通过用户请求及分配权限后,将开锁列表及权限返回至NFC手机;
(3)用户开锁时,请求服务端获取开锁指令;
(4)使用NFC手机靠近NFC模块将开锁指令传输至Arduino开发板进行验证,判断是否进行开锁。
整个方案的数据传输过程都采用了AES加密[9],保证了数据的安全性,同时保护了用户的个人私密信息。在判断开锁指令是否合法时通过Hashkey值进行比较,增加系统的安全性,防止了恶意用户盗取他人信息从而非法开锁等问题的出现。
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_nummd5值,lid_num锁id);
(6)用户(uid用户id,ucode用户手机编码,commpass通信数据加密密码,uname用户姓名,check是否通过验证,date申请日期,del用户是否作废,upk)。
方案数据库的E-R图如图2:
基于NFC的门禁系统分析
1、安全性分析
1.1服务安全性分析
用户访问认证服务时,需要提交动态的通信口令以及个人对整个消息的签名,其中通信口令的变更,保证了攻击者无法进行重放攻击,而通信口令在认证服务返回最新通信口令时,使用AES进行加密,不会被攻击者观察到明文,若攻击者替换返回的通信口令,则用户也无法正常完成通信,因此攻击者无法达到开锁的目的。而签名保证了数据不会被篡改以及攻击者无法伪造消息。
1.2后台管理安全性分析
(1)网站方面除登录页外全部采用session机制,用户若想浏览、操作其他页面必须先登录。此举有效防止了非管理人员查看和管理网站。与session不同的是cookie将用户信息保存在客户端并受浏览器设置限制,不能防止cookie欺骗,而session是将用户信息保存在服务器端与浏览器设置无关,可有效防止他人获得cookie进行欺骗登录,大大提高了网站的安全程度。
(2)网站登录页面对提交的表单内容进行过滤,防止SQL注入且管理用户的密码采用MD5+salt方式存储,其安全程度远高于MD5加密,即使数据库泄露也很难破解用户密码。
1.3开锁指令安全性分析
系统设置每把锁均对应唯一一个Hashkey值,不同电机锁对应开锁指令均不相同,此值即为初始开锁指令。每当用户进行一次开锁操作,服务端和Arduino开发板即使用相同的算法对初始值进行处理变换,但每次开锁所对应的Hashkey亦不相同。传统门禁系统所使用的开锁钥匙若不慎丢失或被复制,非法用户即可顺利完成开锁。本系统通过对于开锁指令加密及轮换处理,即使某一次开锁指令被非法用户窃取,非法用户亦不能打开电机锁,极大地提高了本系统的安全性。
2、效率/经济性分析
与传统的门禁系统相比,基于NFC的门禁系统在制作成本、门禁安全、拓展功能方面都有很大的提升。传统门禁系统多采用IC卡作为开锁钥匙,而IC卡存在易损坏、易丢失等问题,增加了用户维护、更换的相关成本。相较于传统方案,
本系统只需使用一台带有NFC功能的智能手机即可完成开锁,为用户主要用来通信的智能手机赋予了更多的功能和权限,额外增加的成本较低,且携带方便。NFC门禁系统与传统门禁系统简单对比如表1所列。
结语
本项目在选题之初就立足于解决生活之中的不便之处,这也是本项目的核心所在——创新。随着智能手机的普及,在我们的生活中手机也被赋予了更多的功能,使用手机做为门禁系统的钥匙更加具有竞争力。本系统使用带有NFC功能的智能手机代替传统钥匙,满足用户对于门禁系统安全、便捷且成本较低的需求。这也是本方案的创新之处。但本方案仍存在些许不足之处,有待改进。
文章链接:中国安防展览网 http://www.afzhan.com/tech_news/detail/164262.html
NFC是一种短距离的高频无线通信技术,在13.56MHz频率运行于20厘米距离内。其传输速度有106Kb/s、212Kb/s、424Kb/s三种。目前近场通信已通过成为ISO/IECIS18092国际标准、EMCA-340标准与ETSITS102190标准。NFC采用主动和被动两种读取模式。相对于蓝牙,NFC兼容于现有的被动RFID(13.56MHzISO/IEC18000-3)设备。NFC的功耗更低,与蓝牙V4.0低能协议类似。当NFC在一台无动力设备(比如一台关机的手机、非接触式智能信用卡,或智能海报)上工作时,NFC的能量消耗会大大低于低功率蓝牙V4.0。
【设计方案】一种基于NFC的门禁系统
1、整体方案设计
本方案主要由客户端、服务端、NFC模块及Arduino开发板三个端构成。服务端由C#实现,后台管理由PHP提供支持。整个方案流程分为如下几步:
(1)新用户打开App注册;
(2)管理员使用后台管理系统通过用户注册并分配开锁列表及权限;
(3)用户登录手机钥匙,获取开锁列表及相关权限;
(4)用户使用NFC手机靠近NFC模块,使用开锁功能;
(5)门锁被打开,用户可允许的开锁次数减少。其中,若用户A具有可授权权限,用户A可以通过双方手机NFC直接通信将开锁权限授权给用户B。用户B无需请求服务端管理员分配权限即可获得由用户A所授权的权限。一次开锁流程如图1所示。
2、数据传输设计
数据传输设计分如下几步进行:
(1)用户通过NFC手机App请求注册信息至服务端;
(2)管理员进入后台管理系统通过用户请求及分配权限后,将开锁列表及权限返回至NFC手机;
(3)用户开锁时,请求服务端获取开锁指令;
(4)使用NFC手机靠近NFC模块将开锁指令传输至Arduino开发板进行验证,判断是否进行开锁。
整个方案的数据传输过程都采用了AES加密[9],保证了数据的安全性,同时保护了用户的个人私密信息。在判断开锁指令是否合法时通过Hashkey值进行比较,增加系统的安全性,防止了恶意用户盗取他人信息从而非法开锁等问题的出现。
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_nummd5值,lid_num锁id);
(6)用户(uid用户id,ucode用户手机编码,commpass通信数据加密密码,uname用户姓名,check是否通过验证,date申请日期,del用户是否作废,upk)。
方案数据库的E-R图如图2:
基于NFC的门禁系统分析
1、安全性分析
1.1服务安全性分析
用户访问认证服务时,需要提交动态的通信口令以及个人对整个消息的签名,其中通信口令的变更,保证了攻击者无法进行重放攻击,而通信口令在认证服务返回最新通信口令时,使用AES进行加密,不会被攻击者观察到明文,若攻击者替换返回的通信口令,则用户也无法正常完成通信,因此攻击者无法达到开锁的目的。而签名保证了数据不会被篡改以及攻击者无法伪造消息。
1.2后台管理安全性分析
(1)网站方面除登录页外全部采用session机制,用户若想浏览、操作其他页面必须先登录。此举有效防止了非管理人员查看和管理网站。与session不同的是cookie将用户信息保存在客户端并受浏览器设置限制,不能防止cookie欺骗,而session是将用户信息保存在服务器端与浏览器设置无关,可有效防止他人获得cookie进行欺骗登录,大大提高了网站的安全程度。
(2)网站登录页面对提交的表单内容进行过滤,防止SQL注入且管理用户的密码采用MD5+salt方式存储,其安全程度远高于MD5加密,即使数据库泄露也很难破解用户密码。
1.3开锁指令安全性分析
系统设置每把锁均对应唯一一个Hashkey值,不同电机锁对应开锁指令均不相同,此值即为初始开锁指令。每当用户进行一次开锁操作,服务端和Arduino开发板即使用相同的算法对初始值进行处理变换,但每次开锁所对应的Hashkey亦不相同。传统门禁系统所使用的开锁钥匙若不慎丢失或被复制,非法用户即可顺利完成开锁。本系统通过对于开锁指令加密及轮换处理,即使某一次开锁指令被非法用户窃取,非法用户亦不能打开电机锁,极大地提高了本系统的安全性。
2、效率/经济性分析
与传统的门禁系统相比,基于NFC的门禁系统在制作成本、门禁安全、拓展功能方面都有很大的提升。传统门禁系统多采用IC卡作为开锁钥匙,而IC卡存在易损坏、易丢失等问题,增加了用户维护、更换的相关成本。相较于传统方案,
本系统只需使用一台带有NFC功能的智能手机即可完成开锁,为用户主要用来通信的智能手机赋予了更多的功能和权限,额外增加的成本较低,且携带方便。NFC门禁系统与传统门禁系统简单对比如表1所列。
结语
本项目在选题之初就立足于解决生活之中的不便之处,这也是本项目的核心所在——创新。随着智能手机的普及,在我们的生活中手机也被赋予了更多的功能,使用手机做为门禁系统的钥匙更加具有竞争力。本系统使用带有NFC功能的智能手机代替传统钥匙,满足用户对于门禁系统安全、便捷且成本较低的需求。这也是本方案的创新之处。但本方案仍存在些许不足之处,有待改进。
文章链接:中国安防展览网 http://www.afzhan.com/tech_news/detail/164262.html