物联网是由无线传感器网络、射频识别(RadioFrequency Identificalion,RFID)网络、互联网等构成的一种复合型网络,具有部分终端设备体积小、存储和计算处理能力弱的特点。顾名思义,物联网就是“物物相连的互联网”,也就是说,物联网是以互联网为基础的一种延伸和扩展,有着自己独有的一些特点。首先,物联网终端设备虽然都具有一定的感知计算和存储功能,但性能相差较大,整体呈现多样化,其缺点就是信息的统一处理难以进行。其次,物联网所处的物理环境十分复杂,环境的不确定性会引发设备丢失、连接时断时续等问题。
在NFC认证方面Yun-Seok 等人提出一种基于非对称密码体制的NFC 认证协议该协议可以抵御小数攻击以及重复攻击,但该协议没有实现双向认证,易遭受中间人攻击。徐伟等人提出了一种轻量级的 NFC 身份认证协议,该协议运用圆曲线密码体制,具有计算量小运算效率和安全性高的特点也可以抵御中间人攻击,但协议的安全性过于依赖加密算法,一旦算法出现漏洞则安全性大大降低。
1方案设计思想
本文对一次性口令认证方案进行优化改进,用户和系统之间利用NFC技术进行通信,通过双方消息对比完成双向认证,通过一次性口令中采用的 Hash函数的单向性和 NFC 技术本身的安全性和保密性保证通信过程的安全。
在一次性口令形式选择方面,通常把一次性口令认证分为时间同步动态口令、事件同步动态口令以及基于挑战/应答的动态口令这3种形式。时间同步机制在应用中要求保证双方时间严格同步,由于物联网环境的复杂性,现阶段的技术还难以保证双方时间严格同步事件同步机制同样需要硬件来保证认证双方的挑战序列完全同步,认证双方很容易失去同步,当双方的挑战序列产生偏差后就需要重新同步,该缺陷给事件同步机制带来了一定的限制。综上所述,本文选择实现简单且安全性较高的挑战/应答认证机制来设计认证方案。
2方案描述
为便于详细说明本文方案的具体应用,以“门禁控制”为例进行说明。门禁系统作为NFC设备发起方,负责提供支持整个通信的射频场,当门禁卡进入到射频场中时,门禁卡作为响应方响应门禁系统的通信并开始运用本文提出的认证方案进行身份认证,认证通过后系统将门打开,即实现刷卡开门的功能。其中本文提出的身份认证方案分为初始化过程和认证过程2个阶段。
2.1 初始化过程
初始化过程主要完成NFC 设备的发起冲突检测、参数确定、连接的建立以及通信双方的数据交换,这也是NFC 设备进行通信时通用的初始化流程。
在响应方进入到发起方射频场中后,双方进行匹配并开始冲突检测冲突检测是初始化的重要步骤,冲突检测即在进行匹配确定参数之前对外部环境进行检测,防止与其他工作在同一频段的NFC 设备相互干扰通过冲突检测,可以有效地防止中间人攻击。
冲突检测后进入参数确定阶段,该阶段首先产生射频场初始化ISO/EC18092NFCIP 通信,NFCIP1通信标准定义了NFC设备在1356Hz频率下的通信模式,规定了调制机制、编码、传输速率、顿结构射频接口。目前通过审核成为 NFC国际标准的标准编列有很多ISO/EC18092[NFCIP]ECMA-340ECMA-352、ECMA-356、ISO/EC21481(NFCIP-2等由于本文设计的协议具有轻量级的特点,计算量和传输量都很低,所以虽然NFCIP 标准只能够支持106kbps、212 kbps和424 khps 这3 种传输速率传输速率较低,但由于其技术成熟、兼容性强、稳定性高的特点,本文还是采用了能够同时兼容应用广泛的IS014443和1S015693等具有标准非接触式智能卡的基础架构的ISO/IEC18092也就是NFCIP标准。
2.2身份认证
认证阶段主要完成双方的双向认证。在认证过程中,双方通过验证不可逆的哈希函数的运算结果来实现认证,具体的认证过程如下:
发起方C输入ID和Pw,向响应方S 发送登录请求 Log以及SHA{ID}。
响应方S根据数据库中保存的用户名验证SHAID是否注册如果数据库中没有相关用户,则拒绝认证并断开与发起方C的对话若查询到相关用户则利用伪随机数发生算法产生挑战值R向发起方C发送RSccd、IMEI 运算后的信息。
发起方C收到消息后,通过字符串运算提取出并计算。
3方案分析
3.1安全性分析
本文结合NFC技术和OTP认证技术,提出一种轻量级的身份认证方案,下面从攻击者的角度对该方案的抗攻击性进行分析:
1)抗重放攻击特性分析
由于一次性口令是由挑战值加入自身保存的种子采用哈希算法生成的,每次生成的挑战值不同,计算得出的口令也不同,可以有效地防止重放攻击。
2)抗小数攻击特性分析
本文方案中前一次认证的口令信息不会被保存后一次认证时的口令和前一次的口令也没有任何联系,从根本上防止了小数攻击。
3)假攻击特性分析
区别于传统的单向认证,本文方案中通信双方都会对收到的一次性口令和自身计算得出的口令进行比较,如发现有误,立即停止通信,实现了双向认证可以有效防止假冒攻击。
4)抗消息篡改特性分析
采用哈希函数计算得出一次性口令,哈希函数本身具有的安全特性可以使通信双方对消息的完整性进行判断,可以有效防止消息篡改。
5)抗中间人攻击特性分析
本文方案初始化时进行的NFC设备冲突检测保证了双方只有在周围没有同一频段的磁场时才会开始通信,是可以防止中间人攻击的有效手段。
3.2性能分析
根据计算复杂性理论,用户双向认证的方案性能取决于会话次数、通信量、计算量以及存储量网。
对文中提到的协议性能比较,L表示Hash函数输出使用伪随机函数生成的随机数以及挑战值的长度,P表示伪随机数运算,H表示哈希运算K表示非对称加解密运算,Se 表示对称加解密运算。
出处 计算机与现代化
原标题 物联网环境下基于NFC的一次性口令认证方案
作者 赵东昊 卢昱 王增光 张腊
参考资料
https://www.hooketech.com/one-time-password.html