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 是一款连机非接触式智能卡读写器,可 ...
随机推荐
- equals&&==的使用
package stringyiwen; /* * ==:比较运算符,在基本数据类型比较的是值* ==:引用数据类型比较的是地址值 *//* * equals方法:[只]用于[引用数据数据类型],如果 ...
- Nginx部署多个网站
为节省资源,通常一个服务器会运行多个网站,通常一个服务一个IP,多个域名共用一个IP,多个域名共用一个端口(通常是80端口). 这时候需要一台服务器部署多个网站,多个网站共用一个IP,共用一个80端口 ...
- ERP完善合同起草(二十八)
前端的代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CRMCont ...
- 基于OSGI.NET的MVC插件式开发
最近在研究OSGI.NET插件式开发框架.官方网站提供了一个基于OSGI.NET的插件仓库.下载官方的SDK包安装后VS项目模板会多出一组iOpenWorks项目模板.在学习过程中,发现通过iOpen ...
- Mac上c语言连接mysql遇到的问题
参照<Beginning Linux Programming>上的例程写了一个连接mysql的c语言小程序connect1.c.但是按照书上的编译命令无法编译.然后经过查阅资料解决了问题. ...
- Codeforces 1000F One Occurrence 主席树|| 离线+线段树
One Occurrence 为什么我半年前这么菜呀, 这种场只A三题... 我们在主席树 || 线段树上维护每个数的右边和它一样的数在哪里, 然后就变成了区间求最大值. 注意加进去的时候要把它右边一 ...
- Codeforces Round #429 (Div. 2) - D Leha and another game about graph
Leha and another game about graph 题目大意:给你一个图,每个节点都有一个v( -1 , 0 ,1)值,要求你选一些边,使v值为1 的点度数为奇数,v值为0的度数为偶数 ...
- Python 可命名元祖
import collections MytupleClass = collections.namedtuple('MytupleClass',['x','y','z']) obj = Mytuple ...
- 【noip模拟赛4】汽艇 模拟
描述 一天sxc,zsx,wl到gly坐汽艇,本来和其他的人约好了一起去,结果被放了鸽子,3人便只有一人负担x元去坐汽艇(很贵哦).坐了才发现如果汽艇上人多了位置就不宽敞,就不好玩了.而3个人貌似是最 ...
- 【Java】 剑指offer(63) 股票的最大利润
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖交易该 ...