AN10834-MIFARE ISOIEC 14443 PICC selection.pdf

news2024/11/28 0:56:50

AN10834-MIFARE ISOIEC 14443 PICC selection.pdf

1简介
在读卡器(系统)和智能卡之间交换数据之前,必须正确选择智能卡。该卡选择过程(卡激活)在用于非接触式接近系统的ISO14443-3中进行了描述。非接触式应用的急剧增加使得在读卡器领域从可能数量的卡中正确选择一张非接触式卡变得更加重要。这是在制定ISO标准时预见到的,因此该标准详细描述了应用程序必须如何处理它们。

1.1如何使用本文档
选卡过程可分为两个部分:首先,通信层描述如何选择单个PICC(无论卡或应用程序的类型如何)。这一点很重要,因为规定非接触式智能卡通信的ISO标准仅描述了该通信层,与应用无关。在现场可以找到越来越多不同类型的卡和应用程序,它们都使用ISO/IEC 14443。
第二步,在选择了一张卡之后,是选择正确的应用程序,处理多个应用程序(或多张卡),或者正确地忽略外国应用程序((或多个卡)。
本文件第2节介绍了ISO/IEC 14443如何选择单个卡。防碰撞程序对于A型和B型卡都是强制性的。
除了卡激活程序之外,系统本身还必须确保PCD可以选择正确的应用程序,无论是在一张卡上使用多个应用程序,还是在不同的卡上使用不同的应用程序。在许多系统中,建议让系统选择正确的应用程序,而不是用户,这保证了快速安全的交易。如第3节所示。

在本文件中,术语“MIFARE卡”是指使用MIFARE Classic、MIFARE Ultralight、MIFARE Plus或MIFARE DESFire产品系列中的IC的非接触式卡。

ISO/IEC 14443-3描述了如何选择(“激活”)单个卡。该卡激活程序通常与现场卡的数量和应用程序的数量无关:
•此程序确保在卡激活过程中,独立于现场可用卡的数量,正确选择单个卡。
•此程序确保在整个卡激活或卡交易过程中,独立于移入字段的卡的数量,正确选择一张卡。
•此程序确保在整个卡激活或卡交易过程中,独立于移入字段的卡的数量,始终正确选择一张卡。

注:出于方便的原因,在许多非接触式系统中,卡会连续移动到现场,然后从现场取出。因此,在这样的系统中,通常无法保证交易会完成。这与卡激活程序或在单个读卡器中使用多张卡完全无关。
必须考虑一些额外的措施,以确保在整个卡交易过程中的正确功能:要么卡槽必须与接触式读卡器槽类似地使用,要么应用程序(卡上或系统中)必须为那些可能中断交易的情况提供恢复程序(撕裂保护或备份管理)。

2.1卡片轮询
ISO/IEC 14443规定,遵循ISO/IEC 14443A的板卡不得干扰遵循ISO/IEC 14443 B的板卡,反之亦然。在任何情况下,卡激活过程都以请求命令(REQA或REQB)开始,该命令仅用于检查读卡器字段中是否至少有一张卡。REQA或REQB必须在载波接通后发送,在开始传输之前至少等待5毫秒。该过程如图1所示。
注:REQA和REQB或REQB和REQA之间所需的最短时间为5毫秒。
注:对于NFC设备,“卡轮询”和“打开RF”之间必须有另一个块,因为NFC设备需要检查是否已经有可用字段。如果检测到外部场,则不允许读取器打开其自身的RF场。

 

在某些应用中,可能需要定期重置RF,而在其他一些应用中,载波只打开很短时间。在所有情况下,每次通信都以REQA(或REQB)开始。如果收到ATQA(或ATQB),则第2.2节中所述的“激活卡”程序会选择检测到的卡。如果没有接收到ATQA(或ATQB),则使用REQB(或REQA)。
如果系统只要求允许一张具有相关应用程序的卡进入现场,则PCD必须选择所有相关卡。然后取消选择具有外国应用程序的应用程序。必须检查应用程序正确的剩余卡:如果出示了多张此类卡,PCD必须拒绝交易。这不是通信层的一部分,在第3节中进行了描述。

2.2激活卡
卡片激活会在ATQA之后选择一张卡片。
2.2.1符合ISO/IEC 14443A的防碰撞程序
对于符合ISO/IEC 14443A的PICC,防撞程序是强制性的。恩智浦MIFARE的所有产品都支持ISO/IEC14443A。
“激活卡”包括单个卡的防冲突和选卡(适用于a型和B型)。对于符合ISO/IEC 14443-4的PICC(如MIFARE DESFire、非接触式支付卡、电子护照等),激活卡包括传输协议的正确设置,如图2所示。

 

3选择正确的应用程序
由于在一个标准系统中,活动PCD字段中可以有多个PICC,因此系统必须选择正确的一个,并且必须取消选择所有其他PICC。
在任何情况下,系统都必须能够将有外国申请的卡与有自己申请的卡分开,并将“外国卡”正确地排除在自己的选择过程之外。该系统必须能够排除包含外国应用程序的卡,尤其是在那些系统要求操作仅限于“一张卡”的情况下。

注:
这个选择过程与应用程序有关,但与通信无关!
这种选择的原则总是一样的:选择并查询字段中的每一张卡,以检查它是否包含相关应用程序。如果字段中有多张卡包含相关应用程序,则系统必须优先处理这些卡或拒绝交易。
如果只有一张卡包含相关应用程序,则系统必须执行交易——与字段中的卡数无关。
以下部分描述了如果系统中仅使用一种类型的卡(例如仅MIFARE产品),如何正确选择相关应用程序。然而,该过程当然也可以扩展到使用不同类型的卡操作应用程序。

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

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

相关文章

k8s部署成功后却显示结点一直处于NotReady状态解决方案

直接说结论:原因是服务器的/opt/cni/bin/目录中没有flannel插件,安装flannel 到/opt/cni/bin/目录下即可。具体步骤往下看。 [rootK8SMaster ~]# journalctl -f -u kubelet.service 先看下报错,发现我一直显示NotReady的原因是由于 [faile…

windows系统安装显卡驱动软件和CUDA11.1的详细教程

深度学习目标检测框架在进行图像计算时需要GPU进行加速,需要用到硬件GPU显卡,目标检测框架和硬件GPU建立联系需要通过①显卡驱动软件;②CUDA软件依次建立联系。这两个软件,可直接从NVIDIA官网下载,版本没有非常严格的需…

【玩转Linux操作】详细讲解Linux的 at定时任务

🎊专栏【玩转Linux操作】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Counting Stars】 欢迎并且感谢大家指出小吉的问题🥰 文章目录 🍔基本介绍⭐怎么保证atd进程启动了 🍔at命…

Unity3D期末大作业(捕鱼达人)【免费开源】

目录 1 游戏简介 2 游戏各模块 2.1 主界面 2.2 加载界面 2.3 主游戏场景 2.4 游戏内道具 2.4.1 炮塔 2.4.2 技能 2.4.3 宝箱 2.4.4 鱼类 3 参考教程 4 项目地址 4.1 运行环境 4.2 源工程文件链接 4.3 结课报告 1 游戏简介 大部分人都玩过这个游戏吧,这…

chatgpt赋能python:使用Python来寻找两个列表不同元素的方法

使用Python来寻找两个列表不同元素的方法 在编写Python程序时,我们经常需要比较两个列表的元素,找出它们之间的不同之处。在搜索引擎优化(SEO)方面,这种比较对于找出两个网站内容的差异也非常有用。在这篇文章中&…

chatgpt赋能python:Python找出三个整数中的最大数

Python 找出三个整数中的最大数 在编程中,经常需要寻找一组数中的最大值。Python 提供了多种方法来实现此目的。本文将针对三个整数寻找最大值进行说明。 方法一:使用if语句 首先,我们可以使用if语句进行比较,找出最大值。 de…

开发日记-凌鲨中的评估体系

软件项目很难进行很好的管理,本质上是无法有效的评估项目成员的贡献,无法有效的评估技术债务。 由于人性的复杂,大多数的评估规则都能被绕过。比如: 代码行数的指标,造成大量冗余和无用代码。千行代码BUG率&#xff…

react知识点汇总一

以下是一些React中经典的知识点: 什么是React?它有哪些特点和优势? React是一个由Facebook开发的UI框架,用于构建单页面应用程序。它的特点和优势包括: 组件化:React的应用程序主要由多个组件组成&#…

【C++语法堂】STL标准库学习_list容器

目录 STL标准库学习_list 【1】List的介绍及使用 【2】List常用的接口 【2.1】构造函数 【2.2】析构函数 【2.3】迭代器相关 【2.4】容量相关 【2.5】元素访问相关 【2.6】修改相关 【2.7】运行相关 【2.8】观察相关 【2.9】非成员函数重载 【3】list模拟实现 【…

io.netty学习(六)字节缓冲区 ByteBuf(上)

目录 前言 ByteBuf类 ByteBuffer 实现原理 ByteBuffer 写入模式 ByteBuffer 读取模式 ByteBuffer 写入模式切换为读取模式 clear() 与 compact() 方法 ByteBuffer 使用案例 总结 前言 网络数据传输的基本单位是字节,缓冲区就是存储字节的容器。在存取字节…

双目结构光 实现高度测量

这里使用了两个大恒金星相机,一个投影仪。 相机镜头以及投影仪的架设: 相机镜头以及投影仪的架设: 注意相对位置的摆放,投影仪的光源照亮范围要超过相机的视野。 相机与光源调整好位置后,调整成像效果。两个镜头的光…

传教士与野人过河问题(numpy、pandas)

努力是为了不平庸~ 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。 目录 一、问题描述 二、问题解释 1.算法分析 2.程序执行流程 3.编写程序对问题进行求解 三、问题思路 1. 算法分析: 2. 实验执…

flink 实时数仓构建与开发[记录一些坑]

记-flink 实时数仓搭建、开发、维护笔记 业务场景描述数仓架构数仓分层odsdimdwddws 数仓建模注意项数仓建模开发规范命名规范 问题与原因分析1、debezium 采集pg 表,数据类型问题2、业务库出现大批量刷表数据,debezium采集connector 可能会挂3、业务库出…

MySQL面试题--索引概念以及底层

目录 概述 索引的底层数据结构 二叉树 B树 B树 B树与B树对比: 面试回答 大纲 回答 概述 索引(index)是帮助MySQL高效获取数据的数据结构(有序)。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构(B树&#xff0…

chatgpt赋能python:Python扩展开发:从入门到精通

Python扩展开发:从入门到精通 Python是一门高效、可扩展、易学易用的编程语言。Python的优秀性能在科学计算、数据处理、web开发等领域表现突出。然而,Python在特定的应用场景中,如图像处理和机器学习等领域,需要更高效的代码执行…

8.4 IP地址与端口号

目录 IP地址 IP地址及编址方式 IP 地址及其表示方法 点分十进制记法举例 IP 地址采用 2 级结构 分类的 IP 地址 分类的 IP 地址 多归属主机 各类 IP 地址的指派范围 ​编辑 一般不使用的特殊的 IP 地址 ​编辑 分类的 IP 地址的优点和缺点 划分子网 无分类编址 CIDR 无…

【C/C++数据结构与算法】C语言万年历

目录 项目分析 项目效果 头文件及全局变量 获取天数 打印月份、年份日历 main函数 项目分析 实现查询某一个年份、月份,以日历的格式打印为了观赏性利用符号对打印的每一个日期进行分格特殊节日日期能够在日历中标注出来万年历的起始日期是公元1年&#xff0…

【随笔闲谈】软件工程导论

目录 一、软件工程概述 二、启动阶段 三、计划阶段 四、实施阶段 五、收尾阶段 一、软件工程概述 软件危机:在计算机软件的开发和维护过程中遇到的一系列严重问题。 软件危机的产生与自身的特点有关,还与软件开发、管理的方法不正确有关。 软件危…

chatgpt赋能python:Python打开目录:快速浏览目录中的所有文件

Python打开目录:快速浏览目录中的所有文件 Python是一种流行的编程语言,其可扩展性和易学性使其成为一种受欢迎的语言。Python的强大功能之一就是能够操作文件和目录。在本文中,我们将讨论如何使用Python在Windows、Mac和Linux上打开目录并列…

Opencv-C++笔记 (11) : opencv-图像二值化与LUB查找表

文章目录 一、概述二、THRESH_BINARY和THRESH_BINARY_INV三、THRESH_TRUNC四、THRESH_TOZERO和THRESH_TOZERO_INV五、THRESH_OTSU和THRESH_TRIANGLE六、LUT查找表 一、概述 我们在上一节程序中生成了一张只有黑色和白色的图像,这种“非黑即白”的图像像素的灰度值无…