M1 卡技术规范
射频卡简单来讲就是卡的一种工作方式,通过感应的方式来工作,也能够把全部的感应卡都统称为射频卡。
IC卡的范围比較广。芯片外露的接触式IC卡、芯片内置的感应式IC卡和双界面IC卡都可统称为IC卡。IC卡芯片有分为可加密的逻辑加密卡及仅仅具有存储空间的存储卡。
ID卡全称为身份识别卡,是一种不可写入的感应卡,ID卡出厂的时候芯片内码号就已经固话不可更改,每次使用不过读取ID卡的卡号和相关信息进行关联。
ID卡与磁卡一样,都只使用了“卡的号码”而已。卡内除了卡号外,无不论什么保密功能,其“卡号”是公开、裸露的。所以说ID卡就是“感应式磁卡”。
非接触IC卡。又叫 射频卡。感应卡。感应式IC卡。
当中。我们把仅仅读卡(仅仅能通过读卡器读出卡号(ID号),并且卡号是固化的(不能改动),不能往卡的分区再写数据。这样的非接触卡,我们简称ID卡。EM(芯片厂家)的ID卡拥有ID卡绝对的占有率,性价比最好,所以又叫EM卡,或者EM ID卡。
可读写的非接触IC卡。市面上绝大部分产品选用的是 Philips 的 Mifare One 芯片(有人简称M1),所以,我们叫他 Mifare one卡,或者 Mifare 卡。或者叫 M1卡。
Mifare One 卡。当中ISO1443 TYPE A 格式应用最为普及,广泛用于 门禁 考勤 消费 等一卡通场合。
TYPE B格式用于身份证 地铁公交卡等一些场合。M1卡是ISO14443 TPYEA类卡,没有CPU,安全性也不高。
CPU卡,是ISO1443 TPYE B,有CPU,安全性高.
射频卡也就是我们所说的射频识别即RFID技术。又称无线射频识别。是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。
经常使用的有低频(125k~134.2K)、高频(13.56Mhz)、超高频,微波等技术。
一、 主要指标
l 分为16(S50)个扇区。每一个扇区为4块。每块16个字节,以块为存取单位
l 每一个扇区有独立的一组password及訪问控制
l 每张卡有唯一序列号。为32位
二、 存储结构
1、 M1卡分为16个扇区。每一个扇区由4块(块0、块1、块2、块3)组成,(我们也将16个扇区的64个块按绝对地址编号为0~63,存贮结构例如以下图所看到的:
|
块0 |
数据块 |
0 |
||
|
扇区0 |
块1 |
数据块 |
1 |
|
|
块2 |
数据块 |
2 |
||
|
块3 |
passwordA 存取控制 passwordB |
控制块 |
3 |
|
|
块0 |
数据块 |
4 |
||
|
扇区1 |
块1 |
数据块 |
5 |
|
|
块2 |
数据块 |
6 |
||
|
块3 |
passwordA 存取控制 passwordB |
控制块 |
7 |
|
|
∶ ∶ ∶ |
||||
|
0 |
数据块 |
60 |
||
|
扇区15 |
1 |
数据块 |
61 |
|
|
2 |
数据块 |
62 |
||
|
3 |
passwordA 存取控制 passwordB |
控制块 |
63 |
2、 第0扇区的块0(即绝对地址0块)。它用于存放厂商代码。已经固化。不可更改。
3、 每一个扇区的块0、块1、块2为数据块。可用于存贮数据。
数据块可作两种应用:
★ 用作一般的数据保存,能够进行读、写操作。
★ 用作数据值,能够进行初始化值、加值、减值、读值操作。
4、 每一个扇区的块3为控制块,包含了passwordA、存取控制、passwordB。详细结构例如以下:
passwordA(6字节) 存取控制(4字节) passwordB(6字节)
5、 每一个扇区的password和存取控制都是独立的,能够依据实际须要设定各自的password及存取控制。存取控制为4个字节。共32位。扇区中的每一个块(包含数据块和控制块)的存取条件是由password和存取控制共同决定的。在存取控制中每一个块都有对应的三个控制位,定义例如以下:
块0: C10 C20 C30
块1: C11 C21 C31
块2: C12 C22 C32
块3: C13 C23 C33
三个控制位以正和反两种形式存在于存取控制字节中。决定了该块的訪问权限(如
进行减值操作必须验证KEY A。进行加值操作必须验证KEY B,等等)。三个控制
位在存取控制字节中的位置。以块0为例:
对块0的控制:
bit 7 6 5 4 3 2 1 0
|
字节6 |
C20_b |
C10_b |
||||||
|
字节7 |
C10 |
C30_b |
||||||
|
字节8 |
C30 |
C20 |
||||||
|
字节9 |
( 注: C10_b表示C10取反 )
存取控制(4字节,当中字节9为备用字节)结构例如以下所看到的:
bit 7 6 5 4 3 2 1 0
|
字节6 |
C23_b |
C22_b |
C21_b |
C20_b |
C13_b |
C12_b |
C11_b |
C10_b |
|
字节7 |
C13 |
C12 |
C11 |
C10 |
C33_b |
C32_b |
C31_b |
C30_b |
|
字节8 |
C33 |
C32 |
C31 |
C30 |
C23 |
C22 |
C21 |
C20 |
|
字节9 |
( 注: _b表示取反 )
6、数据块(块0、块1、块2)的存取控制例如以下:
|
控制位(X=0..2) |
訪 问 条 件 (对数据块 0、1、2) |
|||||
|
C1X |
C2X |
C3X |
Read |
Write |
Increment |
Decrement, transfer, Restore |
|
0 |
0 |
0 |
KeyA|B |
KeyA|B |
KeyA|B |
KeyA|B |
|
0 |
1 |
0 |
KeyA|B |
Never |
Never |
Never |
|
1 |
0 |
0 |
KeyA|B |
KeyB |
Never |
Never |
|
1 |
1 |
0 |
KeyA|B |
KeyB |
KeyB |
KeyA|B |
|
0 |
0 |
1 |
KeyA|B |
Never |
Never |
KeyA|B |
|
0 |
1 |
1 |
KeyB |
KeyB |
Never |
Never |
|
1 |
0 |
1 |
KeyB |
Never |
Never |
Never |
|
1 |
1 |
1 |
Never |
Never |
Never |
Never |
(KeyA|B 表示passwordA或passwordB,Never表示不论什么条件下不能实现)
比如:当块0的存取控制位C10 C20 C30=1 0 0时,验证passwordA或passwordB正确后可读;
验证passwordB正确后可写。不能进行加值、减值操作。
7、控制块块3的存取控制与数据块(块0、1、2)不同。它的存取控制例如以下:
|
passwordA |
存取控制 |
passwordB |
||||||
|
C13 |
C23 |
C33 |
Read |
Write |
Read |
Write |
Read |
Write |
|
0 |
0 |
0 |
Never |
KeyA|B |
KeyA|B |
Never |
KeyA|B |
KeyA|B |
|
0 |
1 |
0 |
Never |
Never |
KeyA|B |
Never |
KeyA|B |
Never |
|
1 |
0 |
0 |
Never |
KeyB |
KeyA|B |
Never |
Never |
KeyB |
|
1 |
1 |
0 |
Never |
Never |
KeyA|B |
Never |
Never |
Never |
|
0 |
0 |
1 |
Never |
KeyA|B |
KeyA|B |
KeyA|B |
KeyA|B |
KeyA|B |
|
0 |
1 |
1 |
Never |
KeyB |
KeyA|B |
KeyB |
Never |
KeyB |
|
1 |
0 |
1 |
Never |
Never |
KeyA|B |
KeyB |
Never |
Never |
|
1 |
1 |
1 |
Never |
Never |
KeyA|B |
Never |
Never |
Never |
比如:当块3的存取控制位C13 C23 C33=1 0 0时。表示:
passwordA:不可读,验证KEYA或KEYB正确后,可写(更改)。
存取控制:验证KEYA或KEYB正确后。可读、可写。
passwordB:验证KEYA或KEYB正确后,可读、可写。
M1 卡技术规范的更多相关文章
- RFID-RC522、FM1702SL、M1卡初探
catalogue . 引言 . RC522芯片(读卡器)简介 . FM1702SL芯片(读卡器)简介 . RFID M1卡简介 . 读取ID/序列号(arduino uno.MFRC522芯片 Ba ...
- CPU卡与M1卡的区别
简单来讲CPU卡比M1卡更加安全.扩展性更好.支持更多应用 CPU卡 M1 操作系统 带有COS系统 无COS系统 硬件加密模块 硬件DES运算模块 无实现算法的硬件加密模块 算法支持 标准DES ...
- M1卡介绍
本文整理自网络. M1卡是指菲利浦下属子公司恩智浦出品的芯片缩写,全称为NXP Mifare1系列,常用的有S50及S70两种型号,目前都有国产芯片与其兼容,属于非接触式IC卡.最为重要的优点是可读可 ...
- 射频识别技术漫谈(15)——Mifare1的安全性及7字节序列号M1卡【worlsing笔记】
Mifare1的安全性主要指卡中数据的安全性,要求卡中的数据不能被非法修改或窃听.数据的安全性主要使用加密技术来保证,加密技术有两个关键因素:加密算法和密钥.现代加密技术的一大特点是加密算法公开,如果 ...
- IC卡、M1卡、CPU卡、SAM卡、PSAM卡的联系与区别
一. 技术方面(非接触式IC卡) 1. 逻辑加密卡又叫存储卡,卡内的集成电路具有加密逻辑和EEPROM(电可擦除可编程只读存储器). 2. CPU卡又叫智能卡,卡内的集成电路包括中央处理器(CPU ...
- 射频识别技术漫谈(15)——Mifare1的安全性及7字节序列号M1卡
Mifare1的安全性主要指卡中数据的安全性,要求卡中的数据不能被非法修改或窃听.数据的安全性主要使用加密技术来保证,加密技术有两个关键因素:加密算法和密钥.现代加密技术的一大特点是加密算法公开,如果 ...
- IC卡,ID卡,M1卡,射频卡
一般把可读可写,频率是13.56MHz的射频卡称为IC卡,IC卡可以写入数据, 只能读,频率是125KHz的射频卡称为ID卡, M1卡是NXP公司的S50卡的一种叫法,国内的复旦F08,达华的TKS5 ...
- M1卡区块控制位详解
M1卡区块控制位详解 Mifare 1S50/Mifare 1S70 每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取 控制.存取控制为4个字节,共32位,扇区中的每个块(包括 ...
- 使用ACR122U NFC读卡器对M1卡进行读写操作(可以读写中文)
因为项目需要,第一次接触到了ACR122U NFC读卡器(非接触式)和M1卡,首先介绍一下想要读写应该知道的基本知识. 我就根据我的理解先叙述一下: ACR122U 是一款连机非接触式智能卡读写器,可 ...
随机推荐
- 计算机编码--c语言中输出float的十六进制和二进制编码
c语言中没有可以直接打印float类型数据的二进制或者十六进制编码的输出格式, 因此,需要单独给个函数,如下: unsigned int float2hexRepr(float* a){ unsign ...
- 带信号灯的最短路dijkstra问题(阿里巴巴2018校园招聘算法题)
题目描述 现在城市有N个路口,每个路口有自己的编号,从0到N-1,每个路口还有自己的交通控制信号,例如0,3表示0号路口的交通信号每3个时刻变化一次,即0到3时刻0号路口允许通过,3到6时刻不允许通过 ...
- Codeforces 594A - Warrior and Archer
题目大意:给你在一条线上的n(偶数)个点,mike和alice 开始禁点,他们轮流开始,直到最后只剩下两个点, mike希望剩下的两个点距离尽可能小,alice希望剩下的两个点距离尽可能大,他们都采用 ...
- HDU1512 ZOJ2334 Monkey King 左偏树
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - ZOJ2334 题目传送门 - HDU1512 题意概括 在一个森林里住着N(N<=10000)只猴子. ...
- <script type="text/x-template"> 模板
获取动态的js模板可以用art-template插件 <script type="text/template"> 给<script>设置type=" ...
- 洛谷 P1162 填涂颜色【DFS】
题目链接:https://www.luogu.org/problemnew/show/P1162 题目描述 由数字 0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字 1 构成,围圈时只走上下左右 4 ...
- 化学1(chem1)- 化学合成
P2784 化学1(chem1)- 化学合成 还是spfa,距离数组初始化为-1,松弛操作改为*就好了,一开始老是超时,后来加了一个visit数组就过了,这个重复造成的效率浪费还是蛮大的,以后都要加. ...
- 不一样的go语言之入门篇-Hello World
这是<不一样的go语言>的开篇之作,我尝试以java语言转变者的角度来聊一聊go语言.所以今天先从go语言的基础开始,即语法. 学习一门新的编程语言,必从语法开始.但需要注意的是, ...
- PHP给图片加水印
<?php /** *图片加水印 *@param $srcImg 原图 *@param $waterImg 水印图片 *@param $savepath 保存路径 *@param $savena ...
- spring aop简单理解
aop原理是spring帮我们封装了动态代理,然后我们只管写具体的业务,我们将公共业务也写到具体的一个类中并实现spring为我们提供的对应要连接切入哪个位置的接口,然后再xml中配置它们的关系即可. ...