3.物联网射频识别,(高频)RFID应用ISO14443-2协议,(校园卡)Mifare S50卡

问题:

1) 14443协议,RFID标签的默认通信速率是 106kbps,也可以通过协商,调整为 (fc/64=13.56M/64)212、424、 848kbps。
2) 14443-3 A类卡,上电后,读写器发送REQA命令,标签应该回应 ATQT命令,如果其中的UID Size位(b8 b7)组合是“0 0”,表示标签的UID有 单字节。
3) 14443-3协议中,A类卡采用了 面向比特的防冲突方式
4) S50卡内部有 1K字节存储空间,分为 16扇区,每一个扇区又分为 4块,每块 16字节,其中Block 0~ Block 2可用于存储用户数据。
5) S50卡每个扇区有 1组密钥,“一扇一密”,是指 :切换扇区,需要再次认证一次,不切换扇区,同一个扇区只需要认证一次。

一。ISO14443-2协议简介

1.ISO14443协议组成及部分缩略语

(1)14443协议组成(下面的协议简介会详细介绍)

14443-1 物理特性

14443-2 射频功率和信号接口

14443-3 初始化和防冲突        (分为Type A、Type B两种接口

14443-4 传输协议        (一般不使用,只有哪些银行卡刷卡等重要领域的器件才需要使用

(2)针对前两节的名词,对应的英语缩略语

PCD:近场耦合设备(读写器)

PICC:近场卡或物体(标签)

RF:射频

ASK:振幅键控

OOK:二进制振幅键控

BPSK:二进制相移键控

2.ISO14443-1协议简介

(1)物理特性:ID-1,长86mm,宽54mm,厚0.84mm

(2)ISO14443-2功率接口

频率:13.56MHz±7kHz

工作场强度:Hmin=1.5A/m,  Hmax=7.5A/m

(3)ISO14443-2信号接口

问题:如何看懂图?

        我们看到的图会有很多英文,但是这个英文很可能是缩略英文,并代表一定的含义。所以我们在看图之前,可以找到他的缩略英文标(或者类似手册),边查边看。

        例如上面提到的缩略语。我们在下面经常看到这些缩略语。

PCD-PICC信号接口

接口速率:fc/128=13.56M/128≈106kbps

PICC-PCD信号接口

副载波频率:848kHz


二。ISO14443-3 Type A协议简介

1.ISO14443-3部分缩略语

S:通信开始

E:通信结束

P:校验位,Type A

UID:唯一标识符

2.Type A的帧格式

        注意:不需要把他记下来,只需要有印象,主要是观察创作者在对待不同的帧如何规定与处理。

1.短帧

2.标准帧

(1)字节低位在先

(2)校验位P为奇校验,仅仅在PICC到PCD 且速率为106k以上时,最后一个字节的P为偶校验

3.基于位的防冲突帧

3.Type A PICC的状态

        这是读写器与标签的工作方式,如果仔细分析我们会消耗大量的时间,并没有太大的必要。主要关注的是别人画流程图的方式:各方面都需要思考,并且把应答的数据也标注出来,使用缩略语使图像变得简洁。

4.Type A 的PCD命令及PICC应答

        众多周知,这些缩略语只是标识符,关键是对应的二进制数据。所以需要分配数据的使用。这也是一个开发者需要考虑的内容。

请求(REQA )和唤醒(WUPA)

请求应答(ATQA)

5.补充:Type A 的PCD命令及PICC应答

(1)UID介绍

(2)防冲突(Anticollision)流程

面向比特的防冲突方式

(3)防冲突(Anticollision)命令格式

(4)防冲突(Anticollision)命令中的NVB

(5)防冲突(Anticollision)命令举例

(6)选择(SELECT)和选择应答(SAK)

1.SELECT

2.SAK


三。Mifare S50卡的内部存储结构

        Mifare S50卡是一种接触式智能卡,也被称为Mifare Classic卡。它是由NXP公司推出的一种RFID(射频识别)技术的智能卡。Mifare S50卡采用13.56MHz的高频射频技术,具有非接触式读写能力。

        Mifare S50卡具有存储和处理数据的能力,可以用于实现安全访问控制、身份验证、电子钱包等功能。它采用ISO 14443A标准,具有16个扇区,每个扇区包含4个块,每个块可以存储16个字节的数据。

        Mifare S50卡广泛应用于公共交通、门禁系统、学生卡、员工卡等领域。它具有较高的安全性,支持密码验证和加密传输,能够防止数据泄露和非法复制。

        然而,Mifare S50卡也存在一些安全漏洞,容易受到破解和攻击。因此,在实际应用中,需要采取一些额外的安全措施来保护卡片和数据的安全。

        以下主要是对Mifare S50卡的内部分析。Mifare S50卡存储结构,控制块的使用等。

1.Mifare系列介绍

NXP公司出品的系列遵循ISO14443-A标准的射频卡

2.Mifare S50卡存储结构

(1)Mifare S50卡存储结构

(2)Mifare S50卡数据块的值结构

1. 值(Value):一个带符号的4 字节值,小端模式(低地址存最低值)。  

2.值按2次正常和1次取反(~表示)存储了3次。  

3.地址(Addr)表示1字节的块编号,分2次正常和2次取反值存储。  

4.可以执行Decrement加、Increment减、Transfer传输、Restore恢复命令。

Transfer:当我们使用卡修改数据,

(3)Mifare S50卡每个扇区的控制块(块3)

 一扇一密,便于一卡多用  

每个扇区有独立的控制字,每块由3位组合C1x C2x C3x控制

(4)Mifare S50卡扇区数据块(块0~2) 访问权限

例如:当块0的存取控制位C10 C20 C30=100时,验证密钥A或密钥B后可读;验证密钥B后可写;不能进行值类操作。

(5)Mifare S50卡扇区控制块(块3) 访问权限

例如:当块3的控制位——C13 C23 C33 = 0 0 1时,表示:密钥A:不可读,验证KEYA正确后,可写 ;  控制字段:验证KEYA后,可读、可写;密钥B:验证KEYA正确后,可读、可写。


四。Mifare S50卡的访问流程

1.Mifare S50卡的访问流程

Mifare S50卡三次认证流程

1.挑战值:RB, B产生的随机数;RA A产生的随机数。

2.TokenAB, A对随机数RB使用认证的密钥进行加密计算后的应答值。

3.TokenBA, B对随机数RA使用认证的密钥进行加密计算后的应答值。

4.加密算法为Mifare未公开的“crypto1”,后两步的通信数据是加密的。

2.Mifare S50卡的命令

Mifare S50卡的命令

Mifare S50卡的ACK及NAK应答

S50Authentication命令流程

Addr指块的顺序编号0~63

不切换扇区,同一个扇区只需要认证一次

Read命令流程

Write命令流程

Increment Decrement Restore 命令流程

Transfer命令流程

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

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

相关文章

激光雷达中实现F-P标准具高热稳定性的帕尔贴精密温控解决方案

摘要:法布里-珀罗标准具作为一种具有高温度敏感性的精密干涉分光器件,在具体应用中对热稳定性具有很高的要求,如温度波动不能超过0.01℃,为此本文提出了相应的高精度恒温控制解决方案。解决方案具体针对温度控制精度和温度均匀性控…

计算机竞赛 题目: 基于深度学习的疲劳驾驶检测 深度学习

文章目录 0 前言1 课题背景2 实现目标3 当前市面上疲劳驾驶检测的方法4 相关数据集5 基于头部姿态的驾驶疲劳检测5.1 如何确定疲劳状态5.2 算法步骤5.3 打瞌睡判断 6 基于CNN与SVM的疲劳检测方法6.1 网络结构6.2 疲劳图像分类训练6.3 训练结果 7 最后 0 前言 🔥 优…

angularjs开发环境搭建

Angularjs是一个前端页面应用开发框架,其使用TypeScript作为开发语言,Angularjs的特性包括,使用组件、模板以及依赖注入的开发框架构建可扩展的web应用,使用易于集成的类库支持页面路由、页面表单、前后端接口交互等各种不同特性&…

JVM:经典垃圾收集器

经典垃圾收集器 如果说收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者 《Java虚拟机规范》中对垃圾收集器应该如何实现并没有做出任何规定,因此不同的厂商、不同版本的虚拟机所包含的垃圾收集器都可能会有很大差别,不同的虚拟…

【Java】微服务——Nacos注册中心

目录 1.Nacos快速入门1.1.服务注册到nacos1)引入依赖2)配置nacos地址3)重启 2.服务分级存储模型2.1.给user-service配置集群2.2.同集群优先的负载均衡 3.权重配置4.环境隔离4.1.创建namespace4.2.给微服务配置namespace 5.Nacos与Eureka的区别…

Day 04 python学习笔记

Python数据容器 元组 元组的声明 变量名称(元素1,元素2,元素3,元素4…….) (元素类型可以不同) eg: tuple_01 ("hello", 1, 2,-20,[11,22,33]) print(type(tuple_01))结果&#x…

uniapp实现微信小程序隐私协议组件封装

uniapp实现微信小程序隐私协议组件封装。 <template><view class"diygw-modal basic" v-if"showPrivacy" :class"showPrivacy?show:" style"z-index: 1000000"><view class"diygw-dialog diygw-dialog-modal bas…

求各区域热门商品Top3 - HiveSQL

背景&#xff1a;这是尚硅谷SparkSQL练习题&#xff0c;本文用HiveSQL进行了实现。 数据集&#xff1a;用户点击表&#xff0c;商品表&#xff0c;城市表 题目: ① 求每个地区点击量前三的商品&#xff1b; ② 在①的基础上&#xff0c;求出每个地区点击量前三的商品后&a…

MySQL-MVCC(Multi-Version Concurrency Control)

MySQL-MVCC&#xff08;Multi-Version Concurrency Control&#xff09; MVCC&#xff08;多版本并发控制&#xff09;&#xff1a;为了解决数据库并发读写和数据一致性的问题&#xff0c;是一种思想&#xff0c;可以有多种实现方式。 核心思想&#xff1a;写入时创建行的新版…

Windows安装Docker并创建Ubuntu环境及运行神经网络模型

目录 前言在Windows上安装Docker在Docker上创建Ubuntu镜像并运行容器创建Ubuntu镜像配置容器&#xff0c;使其可以在宿主机上显示GUI 创建容器并运行神经网络模型创建容器随便找一个神经网络模型试试 总结 前言 学生党一般用个人电脑玩神经网络&#xff0c;估计很少有自己的服…

TouchGFX之后端通信

在大多数应用中&#xff0c;UI需以某种方式连接到系统的其余部分&#xff0c;并发送和接收数据。 它可能会与硬件外设&#xff08;传感器数据、模数转换和串行通信等&#xff09;或其他软件模块进行交互通讯。 Model类​ 所有TouchGFX应用都有Model类&#xff0c;Model类除了存…

【计算机】CPU,芯片以及操作系统概述

1.CPU 什么是CPU? CPU&#xff08;Central Processing Unit&#xff09;是计算机系统的运算和控制核心&#xff0c;是信息处理、程序运行的最终执行单元&#xff0c;相当于系统的“大脑”。 CPU的工作流程&#xff1f; CPU 的工作流程分为以下 5 个阶段&#xff1a;取指令…

苹果ios系统ipa文件企业签名是什么?优势是什么?什么场合需要应用到?

企业签名是苹果开发者计划中的一种签名类型&#xff0c;允许企业开发者签署和分发企业内部使用的应用程序&#xff0c;而无需通过App Store进行公开发布。通过企业签名&#xff0c;企业可以在内部部署自己的应用程序&#xff0c;以满足特定的业务需求。 企业签名能够做到以下…

【JVM】 类加载机制、类加载器、双亲委派模型详解

文章目录 前言一、类加载机制二、类加载器三、双亲委派模型总结 前言 &#x1f4d5;各位读者好, 我是小陈, 这是我的个人主页 &#x1f4d7;小陈还在持续努力学习编程, 努力通过博客输出所学知识 &#x1f4d8;如果本篇对你有帮助, 烦请点赞关注支持一波, 感激不尽 &#x1f4d…

【改进哈里鹰算法(NCHHO)】使用混沌和非线性控制参数来提高哈里鹰算法的优化性能,解决车联网相关的路由问题(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

嵌入式Linux应用开发-驱动大全-同步与互斥①

嵌入式Linux应用开发-驱动大全-同步与互斥① 第一章 同步与互斥①1.1 内联汇编1.1.1 C语言实现加法1.1.2 使用汇编函数实现加法1.1.3 内联汇编语法1.1.4 编写内联汇编实现加法1.1.5 earlyclobber的例子 1.2 同步与互斥的失败例子1.2.1 失败例子11.2.2 失败例子21.2.3 失败例子3…

互联网Java工程师面试题·MyBatis 篇·第二弹

目录 16、Xml 映射文件中&#xff0c;除了常见的 select|insert|updae|delete标签之外&#xff0c;还有哪些标签&#xff1f; 17、Mybatis 的 Xml 映射文件中&#xff0c;不同的 Xml 映射文件&#xff0c;id 是否可以重复&#xff1f; 18、为什么说 Mybatis 是半自动 ORM 映射…

2023年中国体育赛事行业现状及趋势分析:体育与科技逐步融合,推动产业高质量发展[图]

体育赛事运营是指组织体育赛事或获取赛事版权&#xff0c;并进行赛事推广营销、运营管理等一系列商业运作的运营活动。体育赛事运营相关业务主要包括赛事运营与营销、赛事版权运营两个部分。 体育赛事运营行业分类 资料来源&#xff1a;共研产业咨询&#xff08;共研网&#x…

5.外部中断

中断初始化配置步骤&#xff1a; IO口初始化配置 开启中断总允许EA 打开某个IO口的中断允许 打开IO口的某一位的中断允许 配置该位的中断触发方式 中断函数&#xff1a; #pragma vector PxINT_VECTOR __interrupt void 函数名(void){}#pragma vector PxINT_VECTOR __int…

开源白板工具 Excalidraw 架构解读

本文讲解开源白板工具 Excalidraw 的架构设计。 版本 0.16.1 技术栈 Vite React TypeScript Yarn Husky。 脚手架原来是用的是 Create React App&#xff0c;但这个脚手架已经不维护了&#xff0c;一年多没发布新版本了。 目前市面上比较流行的 React 脚手架是 Vite&…