NFC物联网一次性口令认证解决方案

news2025/2/7 20:17:05

物联网是由无线传感器网络、射频识别(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方案分析

NFC物联网

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1336329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Visual Studio2022配置ReSharper C++ 常用设置

如需安装免费的可以在下面留言,看到即回复 文章目录 Visual Studio2022配置ReSharper C 常用设置配置Visual Studio2022,使其能够按回车进行补全配置ReSharper C 设置自动弹出配置ReSharper C 的快捷键ReSharper C 去掉注释拼写使用中文注释 如何关闭新版…

OAuth2.0 四种授权方式讲解

一、OAuth2.0 的理解 OAuth2是一个开放的授权标准,允许第三方应用程序以安全可控的方式访问受保护的资源,而无需用户将用户名和密码信息与第三方应用程序共享。OAuth2被广泛应用于现代Web和移动应用程序开发中,可以简化应用程序与资源服务器之…

在国内如何在速卖通上买东西(在速卖通aliexpress上付款)??

一、速卖通aliexpress上购物流程 1. 登录速卖通aliexpress网站,点击“注册”按钮。 2. 输入您的邮箱地址,然后单击“验证/联系”按钮; 3. 使用您的信用卡支付订单金额,点击获取信用卡 4. 在“我的订单管理器”中查看订单信息。 …

学习笔记14——Springboot以及SSMP项目

SpringBoot Springboot项目 IDEA2023只能创建jdk17和21的springboot项目解决 - 嘿嘿- - 博客园 (cnblogs.com)解决IntelliJ IDEA2022.03创建包时,包结构不自动分级显示的问题_idea建包不分级-CSDN博客IDEA调出maven项目窗口_idea maven窗口-CSDN博客 相比于spring的…

【2023下算法课设】Gray码的分治构造算法

Gray码是一个长度为2ⁿ的序列,序列中无相同元素,且每个元素都是长度为n位的二进制位串,相邻元素恰好只有1位不同。例如长度为2的格雷码为(000,001,011,010,110,111,101,100),设计分治算法对任意的n值构造相…

如何使用设计模式来解决类与类之间调用过深的问题。

我们将使用责任链模式和装饰者模式的组合。 考虑一个简化的餐厅订单处理系统,其中包括服务员(Waiter)、厨师(Chef)和收银员(Cashier)。订单从服务员开始,然后传递给厨师&#xff0c…

python区块链简单模拟【05】

新增内容:构建去中心化网络 import socket #套接字,利用三元组【ip地址,协议,端口】可以进行网络间通信 import threading #线程 import pickle# 定义一个全局列表保存所有节点 NODE_LIST []class Node(threading.Thread…

目标检测-Two Stage-RCNN

文章目录 前言一、R-CNN的网络结构及步骤二、RCNN的创新点候选区域法特征提取-CNN网络 总结 前言 在前文:目标检测之序章-类别、必读论文和算法对比(实时更新)已经提到传统的目标检测算法的基本流程: 图像预处理 > 寻找候选区…

手术麻醉临床信息系统源码,客户端可以接入监护仪、麻醉机、呼吸机

一、手术麻醉临床信息管理系统介绍 1、手术麻醉临床信息管理系统是数字化手段应用于手术过程中的重要组成部分,用数字形式获取并存储手术相关信息,既便捷又高效。既然是管理系统,那就是一整套流程,管理患者手术、麻醉的申请、审批…

NVIDIA Jetson Nano 2GB 系列文章(9):调节 CSI 图像质量

NVIDIA英伟达中国 ​在本系列上一篇文章中,我们为大家展示了如何执行常见机器视觉应用。在本篇文章中,我们将带领大家调节 CSI 图像质量。 前面两篇文章在 Jetson Nano 2GB 上使用 CSI 摄像头做了几个实验,效果很不错,并且很容易…

分布式系统架构设计之分布式通信机制

二、分布式通信机制:保障系统正常运行基石 在分布式系统中,各个组件之间的通信是保障系统正常运行的基石,直接影响到系统的性能、可扩展性以及整体的可维护性。接下来我们就一起看看通信在分布式系统中的重要性,以及一些常用的技…

java八股 redis

Redis篇-01-redis开篇_哔哩哔哩_bilibili 1.缓存穿透 2.缓存击穿 逻辑过期里的互斥锁是为了保证只有一个线程去缓存重建 3.缓存雪崩 4.双写一致性 4.1要求一致性(延迟双删/互斥锁) 延迟双删无法保证强一致性 那么前两步删缓和更新数据库哪个先呢&#xf…

kubernetes(k8s) Yaml 文件详解

YAML格式:用于配置和管理,YAML是一种简洁的非标记性语言,内容格式人性化,较易读。 1、查看API 资源版本标签 kubectl api-versions 2、编写资源配置清单 kubectl create -f nginx-test.yaml --validatefalse 2.3 查看创建的po…

【Python可视化系列】一文教会你绘制美观的热力图(理论+源码)

一、问题 前文相关回顾: 【Python可视化系列】一文彻底教会你绘制美观的折线图(理论源码) 【Python可视化系列】一文教会你绘制美观的柱状图(理论源码) 【Python可视化系列】一文教会你绘制美观的直方图(理…

docker部署kafka zookeeper模式集群

单机模式链接:https://blog.csdn.net/wsdhla/article/details/133032238 kraft集群模式链接:部署Kafka_kafka 部署-CSDN博客 zookeeper选举机制举例: 目前有5台服务器,每台服务器均没有数据,它们的编号分别是1,2,3,4,5…

鸿蒙开发(二)- 鸿蒙DevEco开发环境搭建

上篇说到,鸿蒙开发目前势头旺盛,头部大厂正在如火如荼地进行着,华为也对外宣称已经跟多个厂商达成合作。目前看来,对于前端或客户端开发人员来说,掌握下鸿蒙开发还是有些必要性的。如果你之前是从事Android开发的&…

【计算机网络】—— 奈氏准则和香农定理

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 失真 - 信号的变化 ​编辑影像失真的因素: ​编辑信道带宽: 码间串扰…

通过 Bytebase API 做数据库 Schema 变更

Bytebase 是一款数据库 DevOps 和 CI/CD 工具,适用于开发人员、DBA 和平台工程团队。 它提供了一个直观的图形用户界面来管理数据库 Schema 变更。另一方面,一些团队可能希望将 Bytebase 集成到现有的内部 DevOps 研发平台中。这需要调用 Bytebase API。…

内存管理--bss data txt数据段与stm32的ZI-data RW-data RO-data Code数据段的关系

目录 前沿 1 数据在内存中的位置 1.1 堆栈在内存中的位置 1.2 全局变量和局部变量在内存中的位置 1.2.1 全局变量在内存中的位置 1.2.2 局部变量在内存中的位置 1.3 static变量在内存中的位置 1.4 malloc赋值的变量存放在内存中的位置 1.5 代码在内存中的位置 2 ZI-d…

udp广播的例子

以下是一个使用C语言描述广播发送和接收的简单示例&#xff1a; 发送端&#xff08;广播发送&#xff09;&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #inclu…