中华锁艺人
标题:
NFC模拟加密卡
[打印本页]
作者:
天际线0907
时间:
2021-1-18 00:52
标题:
NFC模拟加密卡
记录小米手机NFC模拟加密门禁卡,以及Proxmark3的使用。
, J. N- q/ f! h @, {: `
6 V" g1 i; V( P; T4 X' K6 ~
0. 缘起
0 p1 b6 y' \, J+ g/ B
5 q2 v5 v; b/ p ]1 I
之前,小区用的门禁卡为非加密的门禁卡,使用小米手机系统自带的门卡模拟功能复制即可。
V3 g+ A) _* }2 D- ^% A! e c s
后来,小区门禁系统换了一家供应商,再使用之前的方法复制门禁卡,手机提示为加密卡,无法复制。
+ \2 n$ i& w9 B- @' e/ r" Z$ O
/ O& e& \& S R* u
新的门禁系统,更安全了,也支持APP远程控制开门了,直到有一天门禁卡丢了,开始使用APP开门,发现这APP写得烂透了,十次有五次点击开门按钮无反应,需要反复退出、打开APP多次才能点击开门按钮成功,还有两次直接没了开门按钮,提示到物业管理处处理……
" a# `/ }7 A u( J, i
那个时候,我又开始怀念用手机刷门禁的快感了。。
' W) b% @5 K7 {
6 ^( X6 k# Q0 i7 U5 e) `
1. 基础知识
1 k' I% x) B0 V+ H' ~
" g9 p' U* B* H5 j# f
于是,我开始查阅资料,基本确定了小米手机是还是可以通过其它方式模拟加密门禁卡的。
) W7 u; k2 i) d2 h; K
然后,资料查多了,记不到,又怕以后用到需要重新找,干脆水一篇博客记录下来。
8 ]* [5 m. T# l3 ^. a
如果熟悉NFC和IC卡,或者只想模拟加密门禁卡,并不关心原理,这章可以跳过,直接看下一章。
7 M1 }6 T$ d; V' a A/ C
# h, O& u: B& ]1 r$ u, R8 t
1.1 ID卡和IC卡
% ? _ _; v6 p5 ~8 @/ ^% a/ C
" Y( K. M9 ? ]/ E4 Y7 M
ID卡:全称身份识别卡(Identification Card),多为低频(125Khz),是一种不可写入的感应卡,含固定的编号,主要有台湾SYRIS的EM格式,美国HID、TI、MOTOROLA等各类ID卡。
' {9 \( O/ U1 }5 E. l
# s& |0 F7 e) I2 N
IC卡:全称集成电路卡(Integrated Circuit Card),又称智能卡(Smart Card)。多为高频(13.56Mhz),可读写数据、容量大、有加密功能、数据记录可靠、使用更方便,如一卡通系统、消费系统等,目前主要有PHILIPS的Mifare系列卡。
" [5 D7 S$ F' d* j/ a
7 S' n* s3 r6 S, Z: @
主要区别:
) s/ j$ Q L3 I8 W
ID卡,低频,不可写入数据,其记录内容(卡号)只可由芯片生产厂一次性写入,开发商只可读出卡号加以利用,无法根据系统的实际需要制订新的号码管理制度;
- n! ]4 r, {& X7 \
IC卡,高频,不仅可由授权用户读出大量数据,而且亦可由授权用户写入大量数据(如新的卡用户的权限、用户资料等),IC卡所记录内容可反复擦写;
/ v6 p4 G' O5 ~ @
- I) g% i% J+ V
IC卡由于其固有的信息安全、便于携带、比较完善的标准化等优点,在身份认证、银行、电信、公共交通、车场管理等领域正得到越来越多的应用,例如二代身份证、银行的电子钱包,电信的手机SIM卡、公共交通的公交卡、地铁卡、用于收取停车费的停车卡、小区门禁卡等;
' D) c% P, j3 G7 b; U' w( E
+ L$ J! H Z6 i& j* Z; E1 f

. X. v7 D$ M+ a, Z1 p3 t
: e' D D; ]7 |; M% Z

* }) O* L+ w$ {( e6 U3 Q. G
5 P& H) B* h" ]! e/ x+ A
以上图片来自淘宝商家,网上找了半天相关资料,发现淘宝商家解释得最清楚。
' ]6 s1 x* ~+ B, K0 {6 ]0 |
/ z, J& [( I$ z( O& F
总结:
4 h/ [- d- [# c2 K4 t
1.ID卡多为低频,IC多为高频;
2 i' y. {) t% L& a
2.IC卡整体上看比ID卡更有优势,市面上使用的大多数也是IC卡;
. A# n+ b5 ~% s1 z4 Z0 D
3.对于矩形白卡,里面为矩形线圈、表面没有编号的多为IC卡,里面为圆形线圈、表面有编号的多为ID卡;
: ^! W( y; O9 f2 V' E- M
4.对于异形卡,有编号的多为ID卡,最好使用带NFC的手机进行测试(目前手机NFC只能读高频13.56Mhz),IC卡会有反应;
) ^2 B5 c) X; f) c( p- z2 I5 Y; O3 I
7 E/ B. ]' N- v4 Z
1.2 接触式和非接触式IC卡
4 j! c y' i2 e3 g
. s6 } D: _/ J9 k" q
IC卡又可以分为接触式IC卡和非接触式IC卡。
0 n' |+ ?, X9 h5 n/ h$ `
" G& i! _% j# A( c( s6 T2 `4 X5 l
接触式IC卡:该类卡是通过IC卡读写设备的触点与IC卡的触点接触后进行数据的读写;
! Y1 Y9 ^. a i! b
8 I& {. W# Z+ `* x4 E
非接触式IC卡:又称射频卡、感应式IC卡,该类卡与卡设备无电路接触,而是通过非接触式的读写技术进行读写(例如RFID、NFC),其内嵌芯片除了CPU、逻辑单元、存储单元外,增加了射频收发电路。该类卡一般用在使用频繁、信息量相对较少、可靠性要求较高的场合。
$ Q5 Z" A0 n* v/ V" B! m
* ?5 s# s4 q3 z( |% k- u
两者比较好区分,直接看卡上有无金属触点即可。
" ^( z( @0 H. r* i8 I7 N' {% C3 b) s( z
( Z" U& }5 _& |0 }5 W! o5 {

. [" k) r: j" O+ y' {5 P2 |
' X. F' a2 V2 @
1.3 RFID和NFC
/ o* |, |6 B, ^( G
2 d* v9 R: a% k9 Y3 s) f
非接触式的读写技术常见的有两种:RFID技术和NFC技术。
B( \) F: E2 h$ M+ F/ h& c
% ]: ]6 t$ i: L1 r
RFID技术:
2 L( w- C# E: g" o6 m2 q P) }
1.通常应用在生产,物流,跟踪和资产管理上;
: K$ } b1 n, O6 {- k7 g* t" I' l
2.根据频率划分包含低频、高频(13.56MHz)、超高频、微波等;
8 \: R& }1 f. d* t$ q
3.作用距离取决于频率、读写器功率、读写器天线增益值、标签天线尺寸等,工作距离在几厘米到几十米不等;
7 p# Y: d2 E* @
4.读写器和非接触卡可以是一对多关系,也可以说一对一关系;且读写器和非接触卡是两个实体,不能切换;
( o/ y* u8 X4 q j
4 a3 U T+ h/ X) n7 ?
NFC技术:
. C/ |/ d* S0 E* Y6 l
1.通常应用在门禁,公交卡,手机支付等领域;
" H' w+ U2 y4 M$ c
2.频率也是13.56MHz,且兼容大部分RFID高频相关标准(有些是不兼容);
! @0 d9 d" O- n4 j5 d0 x
3.NFC作用距离较短,一般都是0~10厘米;
8 N9 ~+ y$ d* _: q# c: c
4.读写器和标签几乎都是一对一关系;且支持读写模式和卡模式,可以作为读写器也可变为非接触卡;
- U1 _" o) k' \& F( S3 c' N3 T6 j
- h' n1 z, N! `/ p9 \/ v$ f, B6 p
总体来说,NFC是RFID的子集,但NFC有些新特性又是RFID所不具备的。
, r& C2 }) U! |2 v, c* Q0 j% v6 j, d
! q/ m0 z0 Q% ]
1.4 ID卡类型
- {9 c! }/ x/ r1 H
6 y& x. b) o2 m; b. o7 V
ID卡,工作在低频(125Khz),根据卡内使用芯片的不同,有如下分类:
( P9 H! q1 C" u5 _; C$ `0 u
7 Y" w! m1 s4 W; D; N1 B; ]
ID卡
# S8 f( _* P1 r# Y
EM4XX系列,多为EM4100/EM4102卡,常用的固化ID卡,出厂固化ID,只能读不能写;常用于低成本门禁卡,小区门禁卡,停车场门禁卡;
- I( l3 j7 F; o& Z2 d$ S
0 W( d* v. u# z8 x( a, l
ID白卡
4 f5 s% ~+ ~6 Q/ R% B) M' I
EM4305或T5577,可用来克隆ID卡,出厂为白卡,内部EEPROM可读可写,修改卡内EEPROM的内容即可修改卡片对外的ID号,达到复制普通ID卡的目的;
+ T3 g( K4 \6 C f( G) h0 d$ F
T5577写入ID号可以变身成为ID卡,写入HID号可以变身HID卡,写入Indala卡号,可以变身Indala卡
' \0 m! V& F; U2 k) t
# K" B2 W* C/ N* s. ]
HID卡
: _0 V+ v" h3 Z( L) B; ~
全称HID ProxⅡ,美国常用的低频卡,可擦写,不与其他卡通用;
8 V% ^0 y) I& m8 ^% p1 g
# S `9 {, }% {8 w- V! y
1.5 IC卡类型
6 w4 s: f' m. F$ U: U' _
2 r% o5 X6 ~- t8 d2 X$ K: B" b
IC卡中最常见的是NXP Mifare系列卡,工作在高频(13.56Mhz),根据卡内使用芯片的不同,有如下分类:
5 i/ a( G4 A$ c0 I4 y& ]
2 r6 b6 }, a% z, a: n! ?- g9 Y0 B( N
M1卡
; X p3 [7 @: J8 T* q# Z
全称Mifare S50,是最常见的卡,出厂固化UID(UID即指卡号,全球唯一),可存储修改数据;常用于学生卡,饭卡,公交卡,门禁卡;
4 m# P. }" d2 U9 y6 A' L
7 S' t$ _, z u9 @
M0卡
! O/ [$ \- m5 g/ G( K" t2 b
全称Mifare UltraLight,相当于M1卡的精简版,容量更小、功能更少,但价格更低,出厂固化UID,可存储修改数据;常用于地铁卡,公交卡;
8 H q6 Z0 U. N
, \8 c+ X/ w; d* [8 V. F, W! k
以上两种固化了UID,为正规卡,接下来就是一些没有固化UID,即不正规的卡:
) t; D1 n1 v0 s/ }+ I) N; ]
, W @- \' S7 Z l! v! F8 q# E+ |7 R
UID卡
& r8 r& w1 m9 k% g- W+ n
全称Mifare UID Chinese magic card,国外叫做中国魔术卡,M1卡的变异版本,使用后门指令(magic指令),可修改UID(UID在block0分区),可以用来完整克隆M1卡的数据;
$ {( r% B. w8 \2 U9 G& _
但是现在新的读卡系统通过检测卡片对后门指令的回应,可以检测出UID卡,因此可以来拒绝UID卡的访问,来达到屏蔽复制卡的功能(即UID防火墙系统);
+ `& x* {7 z# ]- }" _
* v( l c- l+ A
CUID卡
& L) R: N3 Y8 V; m. p* j6 W
为了避开UID防火墙系统,CUID卡应运而生,取消响应后门指令(magic指令),可修改UID,是目前市场上最常用的复制卡;
3 \! @2 q3 |3 U6 }
近两年,智能卡系统制造公司,根据CUID卡的特性研发出CUID卡防火墙,虽然现在(2019年)还不是很普及,但是总有一天CUID卡会和UID卡一样面临着淘汰;
. {" q3 B( s" g, [% Z% H5 ~0 v
* K% ^# ]1 j, r% Z
FUID卡
3 O; F7 }8 [, ]9 R
FUID卡只能写一次UID,写完之后自动固化UID所在分区,就等同M1卡,目前任何防火墙系统都无法屏蔽,复制的卡几乎和原卡一模一样;
5 ^2 V( k( \) k5 g$ ]# W/ o B! \
但缺点也相对明显,价格高、写坏卡率高,写错就废卡。
4 A Z m$ e: b) B! Z; L
' Q) C( D/ C1 g
UFUID卡
; l" o* y0 W: K+ o4 Q# R
集UID卡和FUID卡的优点于一身,使用后门指令,可修改UID,再手动锁卡,变成M1卡。
' A" K! W; I+ ]: [- W- e- f% N! f
可先反复读写UID,确认数据无误,手动锁卡变成M1,解决了UID卡的UID防火墙屏蔽,也解决FUID的一次性写入容易写错的问题,且价格比FUID卡还便宜;
7 S; q% @9 `, \& o- @3 l' D
* T4 r" C1 J; A( x9 ]/ Y/ q
判断是M0卡(Mifare UltraLight),还是M1卡(Mifare Classic 1k),可以通过SAK值判断。
$ U) U* V9 z6 Z6 y; h( W: h) v
& z5 T" S$ T5 F# `3 }3 Z3 ^8 w: k
产品ATQASAKUID长度Mifare Mini00 04094 bytesMifare Classic 1k00 04084 bytesMifare Classic 4k00 02184 bytesMifare Ultraligh00 44007 bytesMifare Plus00 44207 bytes
, t% `; d2 j4 K$ p. @6 a7 u K
1 h5 [" y. W) r/ w5 T) `( H' H
1.6 IC卡详细分析
# s, o: K" ?# B' C9 Y
; r3 L/ j) [& z6 w( i& d
1.6.1 IC卡存储器结构
( s I2 a% f& E4 w
) j" B: W1 f, z$ D! Z5 u' U
以M1卡为例,介绍IC卡数据结构。
- L, _! l0 k6 a# E, G
M1卡有从0到15共16个扇区,每个扇区配备了从0到3共4个数据段,每个数据段可以保存16字节的内容;
$ q0 U( B. P2 Q% A1 e0 p. k$ P
每个扇区中的段按照0~3编号,第4个段中包含KEYA(密钥A 6字节)、控制位(4字节)、KEYB(密钥B 6字节),每个扇区可以通过它包含的密钥A或者密钥B单独加密;
" M H6 x8 o6 h
* ^2 {( l# r4 T7 D$ F; D

! V+ \1 W+ h% X; A" o1 k" B
' T! G6 H1 s; f* l& Q0 i6 ~
厂商段
4 X; Y9 ^& r* y/ k
每张M1卡都有一个全球唯一的UID号,这个UID号保存在卡的第一个扇区(0 扇区)的第一段(0 编号数据段),也称为厂商段。
2 T1 g+ P0 `$ \8 ^' m
其中前4个字节是卡的UID,第5个字节是卡 UID 的校验位,剩下的是厂商数据。
5 W' G: m% a. F" N1 j0 _
并且这个段在出厂之前就会被设置了写入保护,只能读取不能修改,前面各种能修改UID的卡,UID是没有设置保护的,也就是厂家不按规范生产的卡。
) n" a, g" q& k7 O; y
1 T* w- v& Y& x; z5 z7 ?; _

$ @, O( W8 N1 ?4 l* r
. z3 j! k. ^% D
数据段
; s4 k+ Y B; r: G) {: g# a; r: p
除了第0扇区外,其它每个扇区都把段0、段1、段2作为了数据段,用于保存数据。
$ C; }! e* O: E L; X2 P4 c5 d
数据段的数据类型可以被区尾的控制位(Access Bits)配置为读/写段(用于譬如无线访问控制)或者值段(用于譬如电子钱包)。
) ?. B6 O. q7 P% {
值段有固定的存储格式,只能在值段格式的写操作时产生,值段可以进行错误检测和纠正并备份管理,其有效命令包括读、写、加、减、传送、恢复,值段格式如下:
8 a) `* _" @1 ^( l: I
' X$ [+ Q! k; o0 J

# [) z9 D% Y1 K* h1 V& K+ O( p
( |1 ^) i# ^! f( t6 O8 u5 j$ m8 ^! v
Value表示一个带符号4字节值,为了保证数据的正确性和保密性,值被保存了3次,两次直接保存,一次取反保存。该值先保存在0字节-3字节中,然后将取反的字节保存在4字节-7字节中,还保存了一次在8字节-11字节中。
0 v+ n$ c1 |% e: ?' Z' p2 O
Adr表示一个字节的地址,当执行备份管理时用于保存存储段的地址。地址字节保存了4次,取反和不取反各保存了2次。在执行加值、减值、恢复和传送等操作时,地址保持不变,它只能通过写命令改变。
0 T( U9 D- o" r% F% m3 Q. J9 n
4 y7 L+ B5 B# I2 S, Y6 @
控制段
( ^" c5 E3 o6 g7 J5 |
每个扇区都有一个区尾控制段,它包括密钥A和密钥B(可选),以及本扇区四个段的访问控制位 (Access bits);访问控制位也可用于指出数据段的类型(为读/写段还是值段);控制段的存储格式如下:
" Y- N8 r+ \8 ^+ s$ x, h
# c m; P) c g# p- T$ D8 j

- T6 t/ n! e& W; j }; o
# K; e5 t: A0 l3 j- d
如果不需要密钥B,那么区尾的最后6个字节可以作为数据字节,用户数据可以存储在区尾的第9个字节,这个字节具有和字节6、7、8一样的访问权限。
; y6 i0 ^& I9 _. u( L' r- A4 g
* J$ E) J- L8 L
1.6.2 IC卡访问存储器
9 t3 p$ ~' Q- R2 [: j: t5 ^
8 z5 a: A5 i5 a# A c
数据段支持的操作
5 S% N @) o& r; k2 u. \( Z
根据使用的密钥和相应区尾访问条件的不同,数据段所支持的存储器操作也不同,存储器的操作类型如下:
7 x1 g* s! g4 k% @* c
; y E: D& v. M

( C4 u( y& g3 Z
/ ~' X, c1 x3 S$ T
可以看到只有作为值段时,才能加、减、传送、恢复。
$ K: C' t, H; x2 r4 D# n( p
; a' K- F, t- E1 w! }5 m" J
各区的访问位定义
* ~6 f2 a; r7 v5 }( g
每个数据段和区尾的访问条件由3个位来定义,它们以取反和不取反的形式保存在区尾指定字节中。
7 b/ q. F& |' x! h |) _7 B
访问位控制了使用密钥A和B操作存储器的权限,当知道相关的密钥和当前的访问控制条件时,可以修改访问条件,各区的访问位定义如下:
3 S6 a1 m) T" O% F) C f, `
4 }' l2 e2 }, g% L5 T" Q/ y

; e* L4 z( i+ f, w; c s3 l! Q$ w
8 l" {- v9 a+ G* k- q5 U
访问位在区尾的存储形式
- T, U, }# ?' m- n
4 w1 ^7 G, u# J# X6 R1 J- `# w/ K

' S8 F: o! f9 g s+ u3 U
* E' b0 Z! b! X
区尾的访问条件
; @1 ^5 a- T2 D/ } Q+ T
根据区尾(段 3)访问位的不同,访问条件可分为 “从不”、“密钥A”、“密钥B” 或“密钥A|B”(密钥A或密钥B),区尾的访问条件如下:
8 a) g" x1 e) e; {, Y( `+ k
! [7 j. W. C6 L3 e, G- Y

3 Z5 K3 Y+ L8 U( S8 X& C* B
* _: T( R6 g% o4 \3 {
用灰色标明的行是密钥B可被读的访问条件,此时密钥B可以存放数据。
# N2 I6 T5 s. H. H$ k; i( b
例如:当段3的访问条件C13C23C33=100时,表示:密钥 不可读(隐藏),验证密钥B正确后,可写(或更改);访问控制位在验证密钥A或密钥B正确后,可读不可写(写保护);密钥B不可读,在验证密钥 B 正确后可写;
+ j5 f" G/ S' t) f& ?/ j" H7 I$ m
又如:当段3的访问条件C13C23C33=110或者111时,除访问控制位需要在验证密钥A或密钥B正确后可读外,其他如访问控制位的改写,密钥 A,密钥 B 的读写权限均被锁死而无法访问;
O4 I( o3 e2 W* a+ ~
+ @3 \5 p6 |% y) t, w, a
数据段的访问条件
2 t: g" P* W! v) r* M4 L
根据数据段(段 0-2 访问位的不同,访问条件可分为 “从不”、“密钥A ”、“密钥B ” 或“密钥A|B”(密钥A或密钥B)。
- C7 [9 l6 h b* ]+ H1 g4 O
相关访问位的设置定义了该段的应用(或者说数据段类型)以及所支持的应用命令,不同的数据段类型可以进行不同的访问操作。 读/写段可以进行读操作和写操作。值段可以进行加、减、传送和恢复的值操作。
5 ^6 p$ q1 M$ g, o
其中一种情况中(001)只能对不可再充电的卡进行读操作和减操作,另一种情况中(110)使用密钥B可以再充电。 厂商段无论设置任何的访问位都只是只读的, 数据段的访问条件如下:
: y. O/ N4 V9 k" Z
& L7 u3 M" X$ r% q! E' T6 e: g

' }3 c" x) }) Q# K
9 a6 X& ]. k* t+ R q( v
如果密钥B可以在相应的区尾被读出,它就不能用于确认(在前面所有表中的灰色行)。如果读卡器要用这些(带灰色标记的)访问条件的密钥B确认任何段,卡会在确认后拒绝任何存储器访问操作。
0 y/ g M; n! z. r4 S
. X9 O$ U- B* v* C' l
1.6.3 举例说明
' ?. L3 }9 e O' F1 E
( T6 E0 @2 D+ {3 \% R4 N4 i' X0 c
Mifare S50出厂时,访问控制字节(字节6-字节9)被初始化为“FF 07 80 69”,KEY A和KEY B的默认值为“FF FF FF FF FF FF” ;
: c1 A) c9 P$ b+ Q, m8 U1 B
字节6为FF,二进制为1111111;字节7为07,二进制为00000111;字节8为80,二进制为10000000,如下:
8 _( D2 S; _2 q7 H2 d( [
" r# \# x8 g1 ?& x1 J/ j- i

3 c) b- \! n4 N, I- C
9 ~2 T) N' p" w8 |
对照前面的访问位在区尾的存储形式图,可得知访问控制位为:
& v) s! `) r/ w3 [5 c
C10C20C30=000;C11C21C31=000;C12C22C32=000;C13C23C33=001。
$ x9 |/ s) S4 s: ?3 L$ n# V
+ \4 V9 `, c( h% [9 ~% ~
C10C20C30、C11C21C31、C12C22C32对应数据段0、1、2,参考数据段的访问条件图即可得知该段三个数据区的访问权限;
$ |+ @7 m, |* A# a% \ {
C13C23C33对应区尾(段 3),参考区尾的访问条件图即可得知该段的访问权限;
3 W2 B: I+ Y1 Y
: T/ F4 M( O e( I6 ?
块0控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
# Q6 `. Q) {( @" ^. A4 @: j
块1控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
! C1 s( o0 A# a. }* [& t" x: y4 n
块2控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
: V1 P: C* S5 y* S; @! r8 V
块3控制位为:0 0 1 权限为:A密码不可读,验证A或者B密码后可改写A密码;验证A或者B密码后,可读可改写存取控制;验证A密码或者B密码后,可读可改写B密码;
9 t' w4 K+ r6 ~4 U# S9 T
, t( y" w* |# [# l- q' w' i3 C
这样每次换算还是有点麻烦,可以使用M1 S50卡控制字节生成工具快速换算:
+ U$ C; }/ l6 T; w' e, x* ~. ]( q, W
( r$ [2 O4 g1 A* @

& n7 v2 T6 n$ K& j
0 J- x1 N j; T2 q: u) H6 L% [
最下面一行可以输入想解释的控制字,也可以根据上面的设置生成控制字;
& q% [ P5 O. S B; ~
最上面一行,左边是数据段0、1、2的访问控制位,右边是对应权限所需要的秘钥;
" C3 C( W+ M. J) E* B1 |
中间的一行,左边是区尾的访问控制位,右边是对应权限所需要的秘钥;
+ [5 N# e3 a& o' A0 K% ]
}' T. ~# {$ W0 X; W' r* @3 u" N
1.7 非加密IC卡和加密IC卡
$ s D4 @2 r, F; |
, Q% M9 o& Y% L
非加密IC卡和加密IC卡的区别就是,非加密IC卡中所有扇区的KEYA和KEYB数值都是默认值FFFFFFFFFFFF;
, e8 }7 C1 v9 H1 s& u6 @
而加密IC卡中,其中有扇区的KEYA和KEYB不等于FFFFFFFFFFFF,部分扇区加密的卡称半加密IC卡,所有扇区都加密的卡称全加密IC卡。
/ E6 [7 ~& n, M' j2 w
, ~4 p( Q8 w, x1 _2 W ^
一般的读卡器,像手机的NFC,是读不到IC卡的加密数据的,需要用专门的工具,比如Proxmark3读取。
7 k7 w! g8 ^& l* z+ L
( Q' X# q* T& r' f' R3 T' S( n
对于IC卡,除了对卡上数据加密,还有滚动码加密、服务器数据验证等技术。
& a8 I7 L* A5 Y' S5 N5 w1 I
因此,对IC卡的解密,更多的是门禁卡、签到卡、车库卡等的讨论,像公交卡、饭卡等涉及到资金问题的,基本都有服务器定期校验,得先搞定服务器再说,难度高还违法。
: u1 s1 n: A0 s
' {7 ?* V! G1 G9 {/ k, [5 V
参考资料:
, h' x. B9 Q( h0 ` B& ^
码农生活 篇二:IC卡门卡模拟探秘
( r3 G& ~0 |$ Y4 z& B ~
IC卡简介【M1/S50,UID,CUID,FUID,UFUID复制卡介绍】
: X) @2 v4 k1 T
谈谈 Mifare Classic 破解
, k9 O K0 E2 V; E$ R8 [7 ?/ Q
rfid-practice
1 w. E s M: m- h
Type A 卡存储结构与通信
. ~: A. p9 l2 r) a7 v9 w
Proxmark3 Easy破解门禁卡学习过程
W& U+ H. x% J0 p) w
3 L8 k s1 z F1 Z
2. 手机NFC模拟加密门禁卡
1 w& |# `8 W" H' b9 y8 X
. r2 K4 \$ w4 s" a0 f, L6 h" I4 ~! t
有了前面的知识,再来看现在我的加密门禁卡情况,手机能识别为加密卡,肯定是IC卡。
( l9 Q2 M1 w* ~3 r, M1 B R5 p* }
; t3 b! T+ F0 a. d9 `) Q1 ?1 u
首先,加密卡在目前这个情况下是无法解密的,如果按照下面的操作失败,请参考下一章。
% m9 F6 g1 b) m+ U" ]0 |7 A
部分门禁系统只认证IC卡的UID,利用这一情况,可以试试复制门禁卡的UID,看运气能否打开门。
, W4 l5 j1 R! c
. @5 {" k8 [- Z0 C. S
在已root的情况下,直接使用APP NFC卡模拟 便可读取加密卡的UID和非加密数据、并写UID到手机NFC里。
* T) i+ E$ b" R
在未root的情况下,使用小米系统自带的门卡模拟功能,出于安全考虑,是不能对加密卡进行任何操作。手机的NFC,理论上可以读加密IC卡的UID,因此可以使用第三方软件MifareClassicTool读取UID,因为没有root,不能写手机NFC,但可以写IC卡,因此还需要一张CUID卡(不能使用UID卡),某宝上一块多一张,思路就是先读取加密卡的UID,再读取CUID卡的数据,然后将CUID卡的UID改为加密卡一样的UID,再将修改后的数据写回到CUID卡,最后用小米系统自带的门卡模拟功能,复制未加密的CUID卡即可。
; Y# s4 [2 J, i9 S5 d" {2 b
K$ b- j8 c* L/ G! H, E
1.读取加密卡的UID
- L3 g' U$ L$ P/ g2 [5 ?9 A% O+ z
打开软件Mifare Classic Tool,将加密门禁卡放到手机的NFC感应区域,识别到IC卡后,点击“工具”->“显示标签信息”,可以看到加密门禁卡的8个数字,4字节的UID。
" G- t% F- o7 N! H
注意,在16进制里,每个数字为4位(2^4=16),8位(bits)为一字节(bytes),即两个数字组成一字节,这里8个数字,即为4字节(Bytes)。
9 Y8 h0 u; }3 Y0 ]2 X- ^. M; Q- L
前8个数字,每个数字代表4位,8位为一字节,8个数字就是32位,即4字节
" j6 ?7 a! t3 P( Y
接着打开“工具”->“BCC计算器”,输入UID,得到1位BBC(两个数字)校验数据。
8 _9 u; @1 o) s v {
' Y7 Q# a- b' P5 x+ G

F! d) B7 ^2 y# F; q# [
a( f+ f# m4 _6 o3 `# L& Q
2.读取CUID卡数据
9 Q6 a# f2 ^2 h! D$ o$ l: m( A" L% Y
将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“读标签”->“启动映射并读取标签”,即可得到CUID白卡的所有信息。
# f8 |% \) p$ u# Q
接着修改第一行的前10个数字,改为加密门禁卡的UID(8个数字)和BCC(2个数字),一共10个数字,并点右上角保存图标保存。
& `4 t% `" h' v, X7 A
~ f4 i# r$ G; S1 A

6 _. I9 ^8 }- e* G! Y
& j" Y) N! N, K4 N3 [
3.写数据到CUID卡
* k! |8 u/ m0 o6 y4 F
再将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“写标签”,勾选“写转储(克隆)”->“显示选项”->“高级:使能厂商块写入”。
& |! W0 m' s" l# u
再点击“选择转储”,选择刚才保存的数据,点击“选择转储”。
5 P7 K( c& a% [; }" F
6 ~& [$ Y; s' Y4 j* b1 s

- K; |. Y3 Q, n: ?- ^3 U% l) k7 c/ X2 y
; F7 W' M" b/ a
在弹出的选择写扇区界面,默认即可,点击“好的”,最后点击“启动映射并写转储数据”。
/ Y4 @. Z! c7 F, P; d, o5 I: ?" j
, o; o6 a' ~% J3 u2 X5 m

0 z- i7 t( F! T; N
3 E0 U( B: {9 i; |: O
4.NFC手机复制CUID卡
% `' P9 H, E' [$ s
最后,使用小米手机系统自带的门卡模拟功能,复制刚才写入新UID的CUID卡即可。
5 d$ m5 |4 `; c8 ^! E
/ Q9 C% Y e) l
接着,就看运气吧,我小区的门禁系统就只认UID,搞定。
1 F8 w6 x2 o# Q
2 f2 P0 ^2 j0 ?) w6 |
& ^* f% J. }" Z6 m
作者:
BI3NRS
时间:
2021-1-18 13:25
学习一下,感谢分享
作者:
15314375698
时间:
2021-1-19 07:46
学习了师傅厉害
作者:
彩虹之约
时间:
2021-1-19 15:42
谢谢师傅,好详细的文章。
作者:
畅游天下
时间:
2021-4-8 13:45
5 }" {! ?( N% f5 X: D" r
谢谢师傅,好详细的文章。现在多用于UID和CUID以及IC
作者:
灵活的胖子
时间:
2021-5-16 08:00
每天学习一点点,每天进步一点点
作者:
苍蓝
时间:
2022-7-1 09:21
学习一下,谢谢分享。
作者:
A锁作锁为,为你
时间:
2022-7-1 21:08
谢谢师傅,好详细的文章
作者:
向世伟
时间:
2022-7-14 06:41
不错不错不错不错,谢谢分享!辛苦了
欢迎光临 中华锁艺人 (https://suoyiren.com/)
Powered by Discuz! X3.5