卡匠IC卡分析工具包使用说明V118.docx
《卡匠IC卡分析工具包使用说明V118.docx》由会员分享,可在线阅读,更多相关《卡匠IC卡分析工具包使用说明V118.docx(17页珍藏版)》请在冰豆网上搜索。
卡匠IC卡分析工具包使用说明V118
卡匠Mifare卡分析软件包
使用手册
广州市卡匠机电科技有限公司
二〇一二年五月
目录
版本修订记录1
锁具修配行业专用IC卡读写器2
IC卡读写器操作3
软件操作4
软件安装4
Mifare密钥分析器操作4
Mifare卡复制克隆工具5
技术参考内部资料附件1:
8
MifareOne非接触式IC卡(M1)基础知识8
版本修订记录
版本号
发行日期
修订记录
修订人
V1.1.8
2012年6月26日
修订了安装程序及安装方法,新增WIA补丁。
V1.0.1.8
2012年5月22日
更新了复制克隆软件界面,修正了部分错误。
V1.0.1.3
2012年5月18日
增加对可改写UID卡的支持,实现克隆功能。
V1.0.0.1
2012年4月28日
初始版本,实现将卡数据的写入到普通卡。
锁具修配行业专用IC卡读写器
本设备专为卡匠Mifare卡分析软件包定制,兼容著名的ACR122U读写器驱动。
采用NXP出品的高集成度PN532读写芯片,符合ISO/IEC18092(NFC)标准,兼容ISO14443(TypeA、TypeB)标准。
采用USB接口与电脑进行通讯及供电,不但可以读取符合Mifare标准的Classics(M1、M4、MUL)和DESFire卡,还支持FeliCa卡等符合NFC规范的非接触式IC卡。
设备用途:
用于锁具修配行业在信息化时代的产业提升。
可实现MifareOne卡(俗称M1卡、S50卡、IC卡)的复制、克隆功能。
同时亦可适用于:
一卡通、门禁、停车场、自动贩卖机、电子钱包、电子商务、身份验证等多个领域,在住宅小区、写字楼、工厂、学校、医院等各行业中的非接触式IC卡应用。
设备特点:
1、USB全速(12Mbps)
2、支持USB热插拔
3、双色LED状态指示灯
4、内置天线
5、NFC读写器
符合ISO/IEC18092(NFC)标准
以212Kbps,242Kbps速度读取NFC标签非接触式智能卡读写器
支持FeliCa卡
支持符合ISO14443标准的A类和B类卡
-MIFARE卡(Classics,DESFire)
符合CCID标准
6、用户可控蜂鸣器
7、SAM卡槽(可选)
设备技术与指标:
1.MIFARE卡标准:
13.56MHz射频IC卡的接收和输出
2.读卡距离:
3~8CM
3.电源电压:
DC5V±5%
4.电源电流:
≤65mA
5.工作环境:
温度:
-10℃~70℃湿度:
10~90%RH
设备尺寸:
尺寸:
124mm*78mm*31mm
重量:
0.2kg
IC卡读写器操作
连接读卡器到电脑的USB口上(最好连接到机箱后的USB口,以保证通讯稳定,供电正常)放置需要分析的Mifare1IC卡到读卡器上。
正常情况下,读卡器会发出“滴”的一声,同时指示灯会由红转绿。
如未发生上述变化,则说明放置的IC卡非Mifare1兼容类型卡,设备无法识别。
软件操作
软件安装
1、下载最新软件
2、打开“锁匠专供版(光盘)_V1.1.8”文件夹,运行setup.exe安装卡匠Mifare卡分析工具包。
安装程序会自动从微软网站下载所需运行环境,请保证网络畅通。
安装过程无需设置任何选项,只需点击“下一步”或者“确定”即可。
正常安装完成后请跳至第4步。
3、安装过程中出现错误,需退出安装程序,运行“系统补丁”文件夹中的wic_x86_chs.exe,之后再重新执行第2步。
4、打开“卡匠读卡器驱动”文件夹,对于使用64位Windows用户,请运行“64位驱动”文件夹下面的setup.exe,对于使用32位Windows用户,请运行“32位驱动”文件夹下面的setup.exe。
5、
安装结束,在桌面上会出现
这两个图标。
对于WIN7用户,请用右键分别点击这两个图标,选择属性,在兼容性选项卡内
选以管理员身份运行此程序(见右图)。
6、设置完成后将读卡器以及加密狗插入电脑的USB口中。
Mifare密钥分析器操作
1、关闭所有已打开的软件,确保软件狗已经插入本机的USB接口,且绿灯点亮;
2、将待分析的卡放置在IC卡读写器上,待绿灯亮起后双击桌面上的Mifare密钥分析器,启动软件;
3、选择读卡器为:
ACSACR1220;
4、勾选“保存分析结果”前面的方块;
5、点击“选择保存路径”按钮,选择存放分析记录的位置,建议选择D盘根目录;
6、点选“读取全部信息”前面的园点;
7、拖动“探测倍程”滑杆至5;
8、勾选“用户密钥A”、“用户密钥B”前的方块;
9、点击“读卡”按钮。
此时,分析器开始工作,IC卡读写器红灯闪烁。
经过一段时间后(视密钥复杂度不同),当听到IC卡读写器发出“滴”的一声,且绿灯亮起时,说明分析过程结束。
此时在之前选择的保存路径下,会生成一个后缀为dump的分析结果数据文件。
将此文件的文件名改为容易识别的名字(切记:
文件后缀dump不可改变,否则Mifare卡复制克隆工具将无法识别)。
Mifare卡复制克隆工具
1、关闭所有已打开的软件,确保软件狗已经插入本机的USB接口,且绿灯点亮;
2、将目标卡(新的空白IC卡或可改写UID的卡)放置在IC卡读写器上,待绿灯亮起后双击桌面上的Mifare卡复制克隆工具,启动软件;
3、点击“初始化”按钮;
4、点击“连接”按钮;(如发生错误,可点击“复位”按钮,然后重新执行第3步)
5、点击“导入数据”按钮,选中在“Mifare卡离线分析器”中生成的分析结果数据文件;
6、卡操作:
a)如果需要复制卡按以下步骤操作
i.修改“目标卡密钥”后面的文本框内密钥,改为当前卡的密钥(密钥为12位16进制数,即:
0-9,A-F,一般情况下为12个F)
ii.点击“数据复制”按钮,IC卡读写器红灯开始闪烁,开始复制卡数据到卡中;
iii.当IC卡读写器绿灯亮起时,说明复制过程结束,此时查看操作日志,如无错误则说明复制操作成功。
b)如果需要克隆卡,按以下步骤操作
i.点击“克隆卡片”按钮,IC卡读写器红灯开始闪烁,开始克隆卡片;
ii.当IC卡读写器绿灯亮起时,说明克隆过程结束,此时查看操作日志,如无错误则说明克隆操作成功。
克隆卡操作与复制卡操作的区别在于:
1、使用的卡片不同:
复制卡使用新的普通的IC卡,克隆卡使用可改写UID的特种IC卡。
2、结果不同:
复制卡是将除0扇区0块以外的数据,全部写入新的普通的IC卡中,得到一张与原卡数据相同,但UID号不同的卡。
而克隆卡是连同0扇区0块的数据在内,全部写入可改写UID的特种IC卡中,得到一张与原卡完全一样的(包括UID号)卡。
c)卡片校检:
此功能用于验证卡中数据与“原卡数据”区内的数据是否相符,如果相符则以绿色标示相应块,如果不同则以红色标示相应块。
具体操作如下:
i.将需要验证的卡放在读卡器上,并点击“重新连接”;
ii.导入需要验证的卡数据文件;
iii.点击“卡片校检”按钮,当IC卡读写器绿灯亮起时,说明还原过程结束,此时查看操作日志,如无错误则说明操作成功;
iv.如果用于校检的是普通IC卡,0扇区0块数据标示为红色属正常情况,因为普通IC卡的0扇区0块不可写入,卡中数据与“原卡数据”不相同属于正常情况。
d)卡片还原:
此功能仅对普通IC卡有效,请勿对可改写UID的特种卡使用本功能!
此功能用于将已经写入数据的卡中数据清空,并将所有扇区密码改成12个F。
使用此功能时,按照以下步骤操作:
i.使用Mifare密钥分析器软件,对需要清空数据的卡进行数据分析;
ii.将分析得到的数据文件导入到Mifare卡复制克隆工具中;
iii.点击“卡片还原”按钮,当IC卡读写器绿灯亮起时,说明还原过程结束,此时查看操作日志,如无错误则说明操作成功;
iv.如需要验证卡内数据是否被清空,可以导入“空白卡.dump”,然后点击“卡片校检”,予以验证。
技术参考内部资料附件1:
MifareOne非接触式IC卡(M1)基础知识
一、主要指标
●容量为8K位EEPROM
●分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位
●每个扇区有独立的一组密码及访问控制
●每张卡有唯一序列号,为32位
●具有防冲突机制,支持多卡操作
●无电源,自带天线,内含加密控制逻辑和通讯逻辑电路
●数据保存期为10年,可改写10万次,读无限次
●工作温度:
-20℃~50℃(温度为90%)
●工作频率:
13.56MHZ
●通信速率:
106KBPS
●读写距离:
10mm以内(与读写器有关)
二、存储结构
1、M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,(我们也将16个扇区的64个块按绝对地址编号为0~63,存贮结构如下图所示:
块0
数据块
0
扇区0
块1
数据块
1
块2
数据块
2
块3
密码A存取控制密码B
控制块
3
块0
数据块
4
扇区1
块1
数据块
5
块2
数据块
6
块3
密码A存取控制密码B
控制块
7
0
数据块
60
扇区15
1
数据块
61
2
数据块
62
3
密码A存取控制密码B
控制块
63
2、第0扇区的块0(即绝对地址0块),它用于存放厂商代码,已经固化,不可更改。
3、每个扇区的块0、块1、块2为数据块,可用于存贮数据。
数据块可作两种应用:
★用作一般的数据保存,可以进行读、写操作。
★用作数据值,可以进行初始化值、加值、减值、读值操作。
4、每个扇区的块3为控制块,包括了密码A、存取控制、密码B。
具体结构如下:
A0A1A2A3A4A5FF078069B0B1B2B3B4B5
密码A(6字节)存取控制(4字节)密码B(6字节)
5、每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。
存取控制为4个字节,共32位,扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下:
块0:
C10C20C30
块1:
C11C21C31
块2:
C12C22C32
块3:
C13C23C33
三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如
进行减值操作必须验证KEYA,进行加值操作必须验证KEYB,等等)。
三个控制
位在存取控制字节中的位置,以块0为例:
对块0的控制:
bit76543210
字节6
C20_b
C10_b
字节7
C10
C30_b
字节8
C30
C20
字节9
(注:
C10_b表示C10取反)
存取控制(4字节,其中字节9为备用字节)结构如下所示:
bit76543210
字节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.1.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表示密码A或密码B,Never表示任何条件下不能实现)
例如:
当块0的存取控制位C10C20C30=100时,验证密码A或密码B正确后可读;
验证密码B正确后可写;不能进行加值、减值操作。
7、控制块块3的存取控制与数据块(块0、1、2)不同,它的存取控制如下:
密码A
存取控制
密码B
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的存取控制位C13C23C33=100时,表示:
密码A:
不可读,验证KEYA或KEYB正确后,可写(更改)。
存取控制:
验证KEYA或KEYB正确后,可读、可写。
密码B:
验证KEYA或KEYB正确后,可读、可写。
三、工作原理
卡片的电气部分只由一个天线和ASIC组成。
天线:
卡片的天线是只有几组绕线的线圈,很适于封装到IS0卡片中。
ASIC:
卡片的ASIC由一个高速(106KB波特率)的RF接口,一个控制单元和一个
8K位EEPROM组成。
工作原理:
读写器向M1卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或接取读写器的数据。
四、M1射频卡与读写器的通讯
复位应答
Request
防冲突机制
AnticollisionLoop
选择卡片
SelectTag
改变扇区
三次相互验证
Authentication
中止
Halt
减值
decrement
加值
increment
写块
Writeblock
读块
Read
不改变扇区
复位应答(Answertorequest)
M1射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。
防冲突机制(AnticollisionLoop)
当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。
选择卡片(SelectTag)
选择被选中的卡的序列号,并同时返回卡的容量代码。
三次互相确认(3PassAuthentication)
选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。
(在选择另一扇区时,则必须进行另一扇区密码校验。
)
对数据块的操作
读(Read):
读一个块;
写(Write):
写一个块;
加(Increment):
对数值块进行加值;
减(Decrement):
对数值块进行减值;
存储(Restore):
将块中的内容存到数据寄存器中;
传输(Transfer):
将数据寄存器中的内容写入块中;
中止(Halt):
将卡置于暂停工作状态;