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

news2024/12/22 22:36:25

一。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命令。

(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.coloradmin.cn/o/1054742.html

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

相关文章

c语言系统编程之多进程

程序与进程的区别? 程序是静态的未运行的二进制文件,存储在磁盘中 进程是已经运行的二进制文件,存储在内存中 进程的内存划分图有哪几部分? 堆(存储malloc和calloc出来的空间)、栈(局部变量…

字符串函数(一)

✨博客主页:小钱编程成长记 🎈博客专栏:进阶C语言 字符串函数(一) 0.前言1.求字符串长度的函数1.1 strlen(字符串长度) 2.长度不受限制的字符串函数2.1 strcpy(字符串拷贝&#xff0…

CTF-python爬虫学习笔记

学习链接 【Python爬虫】爆肝两个月!拜托三连了!这绝对是全B站最用心(没有之一)的Python爬虫公开课程,从入门到(不)入狱 ! 。知识 1.1 出现错误 复制红框中的内容去查找 1.2 打印…

七、2023.10.1.Linux(一).7

文章目录 1、 Linux中查看进程运行状态的指令、查看内存使用情况的指令、tar解压文件的参数。2、文件权限怎么修改?3、说说常用的Linux命令?4、说说如何以root权限运行某个程序?5、 说说软链接和硬链接的区别?6、说说静态库和动态…

字符串函数(二)—— 长度受限制的字符串函数

✨博客主页:小钱编程成长记 🎈博客专栏:进阶C语言 🎈相关博文:字符串函数(一) 字符串函数(二)—— 长度受限制的字符串函数 3.长度受限制的字符串函数3.1 strncpy&#x…

594.最长和谐子序列(滑动窗口)

目录 一、题目 二、代码 一、题目 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 二、代码 class Solution { public:int findLHS(vector<int>& nums) {sort(nums.begin(), nums.end());int left 0, right 0;int MaxLength 0;while…

【网络安全-SQL注入】SQL注入----一篇文章教你access数据库SQL注入以及注入点利用。SQL注入【3】

前言&#xff1a; 本篇文章以凡诺企业网站管理系统为例&#xff0c;讲解了access数据库是如何进行SQL注入的&#xff0c;以及注入点如何利用&#xff0c;如何判断查询字段个数&#xff0c;如果用联合查询爆出数据库数据等&#xff1b; 之前有两篇文章详细介绍了MySQL数据库的…

Qt Creator 预览界面 快捷键

一般来说&#xff0c;我们运行Qt程序所花费的时间是比较长的&#xff0c;那有时我们只改变了界面&#xff0c;那么此时花费如此长的时间去运行程序来观察界面改动的效果是非常浪费时间的行为。 此时我们可以选择预览界面来观察界面改动后的效果&#xff1a;

九、GC收集日志

JVM由浅入深系列一、关于Java性能的误解二、Java性能概述三、了解JVM概述四、探索JVM架构五、垃圾收集基础六、HotSpot中的垃圾收集七、垃圾收集中级八、垃圾收集高级👋GC收集日志 ⚽️1. 认识GC收集日志 垃圾收集日志是一个重要的信息来源,对于与性能相关的一些悬而未决的…

基本的五大排序算法

目录&#xff1a; 一&#xff0c;直接插入算法 二&#xff0c;希尔排序算法 三&#xff0c;选择排序 四&#xff0c;堆排序 五&#xff0c;冒泡排序算法 简介&#xff1a; 排序算法目前是我们最常用的算法之一&#xff0c;据研究表明&#xff0c;目前排序占用计算机CPU的时…

1003 我要通过!

一.问题&#xff1a; “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件&#xff0c;系统就输出“答案正确”&#xff0c;否则输出“答案错误”。得到“答案正确”的条件是&#xff1a; 字符串中必须仅…

数组和切⽚ - Go语言从入门到实战

数组和切⽚ - Go语言从入门到实战 数组的声明 package main import "fmt" func main() { var a [3]int //声明并初始化为默认零值 a[0] 1 fmt.Println("a:", a) // 输出: a: [1 0 0] b : [3]int{1, 2, 3} //声明同时初始化 fmt.Println("b:…

番外6:下载+安装+配置Linux

#########配置Linux---后续 step08: 点击编辑虚拟机设置&#xff0c;选择下载好的映像文件.iso进行挂载&#xff1b; step09: 点击编辑虚拟机选项&#xff0c;选择UEFI启动模式并点击确定&#xff1b; step10: 点击开启虚拟机&#xff0c;选择Install rhel &#xff1b; 备注&…

架构的未来:微前端与微服务的融合

文章目录 微服务架构简介微前端架构简介微前端与微服务的融合1. 共享服务2. 基于事件的通信3. 统一的身份和认证4. 交付管道的集成 示例&#xff1a;使用微服务和微前端的电子商务平台微服务架构微前端架构融合微服务和微前端 结论 &#x1f389;欢迎来到架构设计专栏~架构的未…

【Linux系统编程】僵尸进程与孤儿进程

文章目录 1. 僵尸进程2. 僵尸进程的危害3. 孤儿进程 1. 僵尸进程 上一篇文章进程的状态中最后我们提出了僵尸状态&#xff1a; 为了方便子进程退出后父进程或操作系统获取该进程的退出结果&#xff0c;Linux进程退出时&#xff0c;进程一般不会立即死亡&#xff0c;而是要维持…

【Spring底层原理】BeanFactory的实现

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 容器实现 一、BeanFactory实现的特点1.1 Be…

2023年中国半导体IP行业发展概况及趋势分析:半导体IP的市场空间广阔[图]

半导体指IP指芯片设计中预先没计、验证好的功能模块&#xff0c;处于半导体产业链最上游&#xff0c;为芯片设计厂商提供设计模块。半导体IP按交付方式可分为软核、硬核和固核&#xff1b;按产品类型可分为处理器IP、接口IP、其他物理IP及其他数字IP。 半导体IP分类 资料来源&…

K-Means(上):数据分析 | 数据挖掘 | 十大算法之一

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

ubuntu 18.04 LTS安装opencv 3.4.16 + opencv_contrib 3.4.16

1.下载 opencv 3.4.16 opencv_contrib 3.4.16 其中&#xff0c;opencv_contrib解压后的多个文件夹复制到opencv内、合并 2.安装 参考博文&#xff1a; https://zhuanlan.zhihu.com/p/650792342 https://zhuanlan.zhihu.com/p/87197806 其中 &#xff08;1&#xff09;cmake前…

【设计模式】五、原型模式

文章目录 概述示例传统的方式的优缺点原型模式原理结构图-uml 类图 原型模式解决克隆羊问题的应用实例Sheep类实现clone()运行原型模式在 Spring 框架中源码分析 深入讨论-浅拷贝和深拷贝浅拷贝的介绍 小结 概述 示例 克隆羊问题 现在有一只羊 tom&#xff0c;姓名为: tom, 年…