中华锁艺人
标题:
NFC模拟加密卡
[打印本页]
作者:
天际线0907
时间:
2021-1-18 00:52
标题:
NFC模拟加密卡
记录小米手机NFC模拟加密门禁卡,以及Proxmark3的使用。
A- Q/ B4 q$ k4 d. Y9 x2 N
' J3 P$ y% o# F9 h
0. 缘起
5 p* A e, g9 |
/ `+ I# l% }+ P/ l* m$ o: x
之前,小区用的门禁卡为非加密的门禁卡,使用小米手机系统自带的门卡模拟功能复制即可。
* K, H |4 u8 f4 Q$ I5 A! V4 V2 {
后来,小区门禁系统换了一家供应商,再使用之前的方法复制门禁卡,手机提示为加密卡,无法复制。
4 P1 J/ I" h6 f& S5 `8 y* H
! e+ @) S7 V8 B* l0 O! \
新的门禁系统,更安全了,也支持APP远程控制开门了,直到有一天门禁卡丢了,开始使用APP开门,发现这APP写得烂透了,十次有五次点击开门按钮无反应,需要反复退出、打开APP多次才能点击开门按钮成功,还有两次直接没了开门按钮,提示到物业管理处处理……
( i" k8 x' c& z( i
那个时候,我又开始怀念用手机刷门禁的快感了。。
' I) V6 A% E o1 W
! I3 E6 x" I$ d& O# j
1. 基础知识
+ a: z7 W _, @ j- N; g4 S
# v7 E8 t0 O+ _$ x8 Y& j
于是,我开始查阅资料,基本确定了小米手机是还是可以通过其它方式模拟加密门禁卡的。
& E$ o$ P1 N8 U
然后,资料查多了,记不到,又怕以后用到需要重新找,干脆水一篇博客记录下来。
1 W& C5 Z" } Z7 \1 ]6 }
如果熟悉NFC和IC卡,或者只想模拟加密门禁卡,并不关心原理,这章可以跳过,直接看下一章。
3 y+ G, f2 Y$ g6 m2 p
, P& J0 L; z0 [3 Y
1.1 ID卡和IC卡
+ h9 K: U! ?( l$ r, e
R7 ]1 P5 v: _/ w S- g5 J
ID卡:全称身份识别卡(Identification Card),多为低频(125Khz),是一种不可写入的感应卡,含固定的编号,主要有台湾SYRIS的EM格式,美国HID、TI、MOTOROLA等各类ID卡。
* \ D' F2 v! H& E" C2 r" R
0 g" K, f* @$ L5 \* n2 A6 t! F
IC卡:全称集成电路卡(Integrated Circuit Card),又称智能卡(Smart Card)。多为高频(13.56Mhz),可读写数据、容量大、有加密功能、数据记录可靠、使用更方便,如一卡通系统、消费系统等,目前主要有PHILIPS的Mifare系列卡。
$ }: Y1 o; _1 a5 C# o
8 Q! B1 {6 E+ H! u" ?8 M* @+ z
主要区别:
2 R- a0 r0 i0 C( S4 L
ID卡,低频,不可写入数据,其记录内容(卡号)只可由芯片生产厂一次性写入,开发商只可读出卡号加以利用,无法根据系统的实际需要制订新的号码管理制度;
' {/ Z5 c' _0 D7 }6 U
IC卡,高频,不仅可由授权用户读出大量数据,而且亦可由授权用户写入大量数据(如新的卡用户的权限、用户资料等),IC卡所记录内容可反复擦写;
: i3 t+ g3 p, @
% a* j7 B" K x5 F+ t& V, z9 W
IC卡由于其固有的信息安全、便于携带、比较完善的标准化等优点,在身份认证、银行、电信、公共交通、车场管理等领域正得到越来越多的应用,例如二代身份证、银行的电子钱包,电信的手机SIM卡、公共交通的公交卡、地铁卡、用于收取停车费的停车卡、小区门禁卡等;
* ?/ w& ~" W9 Y+ `. U0 }9 `
% F1 q! c) O" U# Z* t

% N$ U" V: [: ]/ V# A; s B: m ]
' }8 M2 E. w/ b, d$ u% O

- c5 k& [. {! b, P, _
* `- G5 ?$ @( P, {# a @
以上图片来自淘宝商家,网上找了半天相关资料,发现淘宝商家解释得最清楚。
% b$ q$ P% M$ M" C0 _6 C Y
* C3 N$ G+ Y- T- _2 u3 A# P
总结:
+ p0 M) X5 C* g/ q: t& n! N
1.ID卡多为低频,IC多为高频;
i3 P0 O* @& ?! S+ c( L z. c
2.IC卡整体上看比ID卡更有优势,市面上使用的大多数也是IC卡;
! N9 | \+ x, ~& a
3.对于矩形白卡,里面为矩形线圈、表面没有编号的多为IC卡,里面为圆形线圈、表面有编号的多为ID卡;
$ K+ c! a2 |4 P" i! D# j
4.对于异形卡,有编号的多为ID卡,最好使用带NFC的手机进行测试(目前手机NFC只能读高频13.56Mhz),IC卡会有反应;
3 O; c- Y. z$ K: C- Z2 z5 y& K2 C
S% c7 C" p! S3 p8 C7 k9 y
1.2 接触式和非接触式IC卡
O- f' I# q# K' }* X& v% ~
/ r* F3 I! R, b
IC卡又可以分为接触式IC卡和非接触式IC卡。
; w- P8 [- V+ D& ~, e' }5 j b
/ f$ _) q+ }( P. H8 @
接触式IC卡:该类卡是通过IC卡读写设备的触点与IC卡的触点接触后进行数据的读写;
9 H) f, {6 A p2 M3 v9 U8 N
/ Z, X0 E4 a; t
非接触式IC卡:又称射频卡、感应式IC卡,该类卡与卡设备无电路接触,而是通过非接触式的读写技术进行读写(例如RFID、NFC),其内嵌芯片除了CPU、逻辑单元、存储单元外,增加了射频收发电路。该类卡一般用在使用频繁、信息量相对较少、可靠性要求较高的场合。
4 B s5 G( S0 c. D# s
. x' ~& V5 c5 Y: L- g
两者比较好区分,直接看卡上有无金属触点即可。
5 [/ |' }$ V8 S! D' u
, C+ F4 ^. Y( |/ s- S' i" `+ a

' W2 ]5 T6 O& m2 c0 @+ `/ G- M6 H8 x
; P5 t4 Z+ Q5 F( p6 Y
1.3 RFID和NFC
: Y, r# f0 N m% P5 q
- q2 R$ r7 _5 z
非接触式的读写技术常见的有两种:RFID技术和NFC技术。
: u, X) I9 I/ O1 S. ?: z
' y u9 }' f& Z: x3 M
RFID技术:
, t3 ]' Z0 h8 b- h+ g
1.通常应用在生产,物流,跟踪和资产管理上;
1 |+ s5 R" c' |4 A
2.根据频率划分包含低频、高频(13.56MHz)、超高频、微波等;
: k( L5 p; ]1 {3 G. T
3.作用距离取决于频率、读写器功率、读写器天线增益值、标签天线尺寸等,工作距离在几厘米到几十米不等;
4 z& }# o* |( F
4.读写器和非接触卡可以是一对多关系,也可以说一对一关系;且读写器和非接触卡是两个实体,不能切换;
) `! _; t2 Y# }# M; z3 T w
! P) [0 j1 M! H, `* x+ [ Y
NFC技术:
& K" S9 K$ Y5 n- R/ f$ p3 j
1.通常应用在门禁,公交卡,手机支付等领域;
' d+ y3 k, `0 P; s0 n5 _! l0 E
2.频率也是13.56MHz,且兼容大部分RFID高频相关标准(有些是不兼容);
$ |& a4 ^: J+ h/ C5 v; T
3.NFC作用距离较短,一般都是0~10厘米;
; v7 s* u G* P9 N
4.读写器和标签几乎都是一对一关系;且支持读写模式和卡模式,可以作为读写器也可变为非接触卡;
* P" ?6 j7 g; D% c X3 R
~, ?% X3 K$ M% D* r Z
总体来说,NFC是RFID的子集,但NFC有些新特性又是RFID所不具备的。
6 ~0 V2 b/ T+ k7 ~ U4 b" b
6 ?! b6 @7 w6 c* d
1.4 ID卡类型
9 m3 }' O7 I3 j) ~# z( J/ Y s
, U7 f( d x7 U# B5 G
ID卡,工作在低频(125Khz),根据卡内使用芯片的不同,有如下分类:
' P' e* X& e* E! h( _2 }$ ?9 b
# ^* K8 X q5 V( q, s% @& T
ID卡
# {9 c) r; Z; n5 w$ l9 c- d1 m- p
EM4XX系列,多为EM4100/EM4102卡,常用的固化ID卡,出厂固化ID,只能读不能写;常用于低成本门禁卡,小区门禁卡,停车场门禁卡;
1 c5 _% i& M6 T: I4 B+ S: \& N8 b
" u3 D: E0 ^6 a7 X& ~9 f
ID白卡
" W& e- P: N5 z+ {6 M; y0 A, F
EM4305或T5577,可用来克隆ID卡,出厂为白卡,内部EEPROM可读可写,修改卡内EEPROM的内容即可修改卡片对外的ID号,达到复制普通ID卡的目的;
2 \* x' m1 `! g, b$ _
T5577写入ID号可以变身成为ID卡,写入HID号可以变身HID卡,写入Indala卡号,可以变身Indala卡
- k6 W# n# S9 x, Z7 m3 W1 t* O4 Z
; V/ g. C: m1 `1 P$ ?' Z( ^
HID卡
+ w2 ~0 n. W7 ^5 P2 T4 _- E3 y- \
全称HID ProxⅡ,美国常用的低频卡,可擦写,不与其他卡通用;
# n: T' u( \* E% O
+ P% L* \7 h q0 v8 A) c" i
1.5 IC卡类型
v! J/ { O3 h7 x0 E
9 _0 F& q: K0 y
IC卡中最常见的是NXP Mifare系列卡,工作在高频(13.56Mhz),根据卡内使用芯片的不同,有如下分类:
) q: b! N& W* h4 E7 g
) t# W8 v' a7 ~1 D( V: b9 S
M1卡
]7 I: w) X! q ^; I% a
全称Mifare S50,是最常见的卡,出厂固化UID(UID即指卡号,全球唯一),可存储修改数据;常用于学生卡,饭卡,公交卡,门禁卡;
. f; D6 V! N! B7 P( } P$ l
! e$ _* y0 r! |" J, T# A2 q
M0卡
d3 ]" Z' Z2 G3 _" k
全称Mifare UltraLight,相当于M1卡的精简版,容量更小、功能更少,但价格更低,出厂固化UID,可存储修改数据;常用于地铁卡,公交卡;
: _! j' w8 \8 `' A# `
, k/ P* q2 J* q3 L8 ^, V
以上两种固化了UID,为正规卡,接下来就是一些没有固化UID,即不正规的卡:
; G, d! d. N) q H6 K4 E
4 j3 w$ I" p6 f) d# I
UID卡
" o. p9 l2 r" c, V; Z, x& ~
全称Mifare UID Chinese magic card,国外叫做中国魔术卡,M1卡的变异版本,使用后门指令(magic指令),可修改UID(UID在block0分区),可以用来完整克隆M1卡的数据;
) N4 {3 e5 v) d0 X$ c& h- q
但是现在新的读卡系统通过检测卡片对后门指令的回应,可以检测出UID卡,因此可以来拒绝UID卡的访问,来达到屏蔽复制卡的功能(即UID防火墙系统);
# G5 L2 U+ O6 p- C7 y$ S' v& g
# G0 b/ g$ R( c$ j) ]
CUID卡
9 _" ]0 j, n$ c! X* {$ u7 j
为了避开UID防火墙系统,CUID卡应运而生,取消响应后门指令(magic指令),可修改UID,是目前市场上最常用的复制卡;
7 W, `) s; x8 O7 D1 g
近两年,智能卡系统制造公司,根据CUID卡的特性研发出CUID卡防火墙,虽然现在(2019年)还不是很普及,但是总有一天CUID卡会和UID卡一样面临着淘汰;
' p8 R# J- Y: w
8 s. F9 Q m4 v; ~7 |8 b9 Z
FUID卡
2 U( ^6 O+ q( R a8 F: g4 z% {; |
FUID卡只能写一次UID,写完之后自动固化UID所在分区,就等同M1卡,目前任何防火墙系统都无法屏蔽,复制的卡几乎和原卡一模一样;
7 E3 V2 d4 g+ s4 \' U
但缺点也相对明显,价格高、写坏卡率高,写错就废卡。
" z \% E; I3 x% Q, A6 o: o K- U
" q3 h) ^8 F/ X$ Z# b
UFUID卡
2 J$ g: Y' \6 e, D% y) V7 N
集UID卡和FUID卡的优点于一身,使用后门指令,可修改UID,再手动锁卡,变成M1卡。
+ A B0 w+ ]5 K4 `* y0 h
可先反复读写UID,确认数据无误,手动锁卡变成M1,解决了UID卡的UID防火墙屏蔽,也解决FUID的一次性写入容易写错的问题,且价格比FUID卡还便宜;
, l: j" }% t0 s- ~. A1 V! }& L- E
) s) H( u; w6 }. R v
判断是M0卡(Mifare UltraLight),还是M1卡(Mifare Classic 1k),可以通过SAK值判断。
' J# i0 ]1 j! j: S5 p9 @
# v" z! B8 r$ r5 W
产品ATQASAKUID长度Mifare Mini00 04094 bytesMifare Classic 1k00 04084 bytesMifare Classic 4k00 02184 bytesMifare Ultraligh00 44007 bytesMifare Plus00 44207 bytes
& d( i: e: s! }; x4 M
* w5 G4 a. r3 Y( ?3 M7 E( I
1.6 IC卡详细分析
9 f4 ^5 t% r+ k
3 E" E1 p$ K- @0 e6 |8 l8 B, t
1.6.1 IC卡存储器结构
* V* }) o5 \; k5 I7 ~0 a& i
9 _# Y* {! l; @) p( E
以M1卡为例,介绍IC卡数据结构。
: p m1 N" O+ L: J
M1卡有从0到15共16个扇区,每个扇区配备了从0到3共4个数据段,每个数据段可以保存16字节的内容;
* U0 v1 m3 _5 Z3 u; {' Y4 m# F
每个扇区中的段按照0~3编号,第4个段中包含KEYA(密钥A 6字节)、控制位(4字节)、KEYB(密钥B 6字节),每个扇区可以通过它包含的密钥A或者密钥B单独加密;
& e; w( h7 j) n& C6 k; H% a
, @4 k# }4 b; V& C* o& o3 @" o

; v* A5 b: Y7 m8 z) H
, s. N9 Q/ t6 G- }, j9 O T5 ~
厂商段
" N0 u# j' f2 w9 r
每张M1卡都有一个全球唯一的UID号,这个UID号保存在卡的第一个扇区(0 扇区)的第一段(0 编号数据段),也称为厂商段。
4 R5 B; s, k2 N, R/ G
其中前4个字节是卡的UID,第5个字节是卡 UID 的校验位,剩下的是厂商数据。
' m$ h' r. M% i& R' J) @
并且这个段在出厂之前就会被设置了写入保护,只能读取不能修改,前面各种能修改UID的卡,UID是没有设置保护的,也就是厂家不按规范生产的卡。
. `3 K; I9 v) C3 u: O5 ]* f
( q, b. x1 S9 ^' l) w( V

3 p& H1 F7 g( S5 n
s5 _$ @* v! v* R
数据段
8 ~; r) e4 O5 U! t. y0 E8 T
除了第0扇区外,其它每个扇区都把段0、段1、段2作为了数据段,用于保存数据。
7 G/ f: l( c5 j, ?* m
数据段的数据类型可以被区尾的控制位(Access Bits)配置为读/写段(用于譬如无线访问控制)或者值段(用于譬如电子钱包)。
! Y: k( h$ x8 s( D" h
值段有固定的存储格式,只能在值段格式的写操作时产生,值段可以进行错误检测和纠正并备份管理,其有效命令包括读、写、加、减、传送、恢复,值段格式如下:
6 R/ G+ o! B! U' M: ?) P
$ s/ X7 q" [* q# i" f

5 G6 _% B5 @1 Z0 a
! h7 B% ]/ Z! J' e, ]2 u
Value表示一个带符号4字节值,为了保证数据的正确性和保密性,值被保存了3次,两次直接保存,一次取反保存。该值先保存在0字节-3字节中,然后将取反的字节保存在4字节-7字节中,还保存了一次在8字节-11字节中。
7 d; g& \9 {2 C8 h
Adr表示一个字节的地址,当执行备份管理时用于保存存储段的地址。地址字节保存了4次,取反和不取反各保存了2次。在执行加值、减值、恢复和传送等操作时,地址保持不变,它只能通过写命令改变。
" a P% T1 w" i" F* R
3 x$ o! k0 e q3 f* Q" M* B
控制段
+ K2 {9 n0 ?$ i# U
每个扇区都有一个区尾控制段,它包括密钥A和密钥B(可选),以及本扇区四个段的访问控制位 (Access bits);访问控制位也可用于指出数据段的类型(为读/写段还是值段);控制段的存储格式如下:
' j7 A6 r4 @2 a: n
+ N- c+ L8 h8 z. F# v6 }5 |+ \

/ U# Z }7 S* V9 j7 X" K+ l# u
2 B e% D- M) c% `2 K& q
如果不需要密钥B,那么区尾的最后6个字节可以作为数据字节,用户数据可以存储在区尾的第9个字节,这个字节具有和字节6、7、8一样的访问权限。
" T# l+ o+ j4 `9 ]0 O& ~0 f* l
, w4 B0 B4 K/ b) V% w
1.6.2 IC卡访问存储器
$ A' w& ^) h. R
. s4 M& X& h4 b7 K: X
数据段支持的操作
- h; s& X% w8 A! q
根据使用的密钥和相应区尾访问条件的不同,数据段所支持的存储器操作也不同,存储器的操作类型如下:
: q. `! [4 u! r
" ]8 J- L) l3 _6 W+ I* I$ A2 `, {3 E

" j8 @* @& V; R, f
% b6 L0 J* N: L ?2 `/ r5 O
可以看到只有作为值段时,才能加、减、传送、恢复。
& F8 r* F6 U5 c6 r' A; N/ u
5 x: j6 p8 F e8 [" v: t) q" F: H4 H
各区的访问位定义
9 t) Q: T; h& q9 M7 p# _
每个数据段和区尾的访问条件由3个位来定义,它们以取反和不取反的形式保存在区尾指定字节中。
R& w4 e: \2 H( g" \5 g. Y
访问位控制了使用密钥A和B操作存储器的权限,当知道相关的密钥和当前的访问控制条件时,可以修改访问条件,各区的访问位定义如下:
1 z, P T. {" G! N$ t
" ~2 W8 Z4 R$ I: U/ t& f' q! \

' ^6 {4 N5 A: d
( c5 g B; H5 F# }) U o$ r
访问位在区尾的存储形式
' I$ W: R, G8 ]( ^: y
& @; y3 @. `! H# ?( H% j" ]5 Q9 ^

8 `) w( [& I8 P$ w2 A. a
6 t; X9 T r) P- m ]: q
区尾的访问条件
/ S3 v$ z& y* O* j" g6 S
根据区尾(段 3)访问位的不同,访问条件可分为 “从不”、“密钥A”、“密钥B” 或“密钥A|B”(密钥A或密钥B),区尾的访问条件如下:
9 |3 m& k) C) k' a
" ^0 N; D3 j) R; S1 ?' e% g* l

9 I, e/ K* {$ ]9 L* z
. S9 Y0 W3 @3 x
用灰色标明的行是密钥B可被读的访问条件,此时密钥B可以存放数据。
' D2 I2 P. G8 Z3 c* z4 z
例如:当段3的访问条件C13C23C33=100时,表示:密钥 不可读(隐藏),验证密钥B正确后,可写(或更改);访问控制位在验证密钥A或密钥B正确后,可读不可写(写保护);密钥B不可读,在验证密钥 B 正确后可写;
% ?% V5 Q9 `3 P2 T6 S" a5 a
又如:当段3的访问条件C13C23C33=110或者111时,除访问控制位需要在验证密钥A或密钥B正确后可读外,其他如访问控制位的改写,密钥 A,密钥 B 的读写权限均被锁死而无法访问;
- |' n; z# B- }" q, ^; f5 t
1 ?3 N9 V2 }+ v H' s% M% ]0 }( L
数据段的访问条件
. B' g2 N% Z' t' }7 \" q
根据数据段(段 0-2 访问位的不同,访问条件可分为 “从不”、“密钥A ”、“密钥B ” 或“密钥A|B”(密钥A或密钥B)。
) F& P+ b) S; W* A4 B. [
相关访问位的设置定义了该段的应用(或者说数据段类型)以及所支持的应用命令,不同的数据段类型可以进行不同的访问操作。 读/写段可以进行读操作和写操作。值段可以进行加、减、传送和恢复的值操作。
- L7 v6 o6 c9 W
其中一种情况中(001)只能对不可再充电的卡进行读操作和减操作,另一种情况中(110)使用密钥B可以再充电。 厂商段无论设置任何的访问位都只是只读的, 数据段的访问条件如下:
6 J i- Q B% {/ `
. h1 D$ h: }6 s. _

C8 z+ J! h* u- o) [0 {
1 ~# {1 t0 ~3 ~7 D, C4 b* B
如果密钥B可以在相应的区尾被读出,它就不能用于确认(在前面所有表中的灰色行)。如果读卡器要用这些(带灰色标记的)访问条件的密钥B确认任何段,卡会在确认后拒绝任何存储器访问操作。
- L+ M4 J F! y# a8 \0 E0 x7 J
9 V1 s4 U0 S8 \2 o4 o4 k/ P2 Z2 F
1.6.3 举例说明
, @6 W( c3 J& a" k8 i/ G/ R
2 N* v9 t2 Y5 Q" @9 ~6 }
Mifare S50出厂时,访问控制字节(字节6-字节9)被初始化为“FF 07 80 69”,KEY A和KEY B的默认值为“FF FF FF FF FF FF” ;
. {/ h+ Z' g% u5 M3 `, R
字节6为FF,二进制为1111111;字节7为07,二进制为00000111;字节8为80,二进制为10000000,如下:
: z% i; ^) \+ A+ G
$ k- k6 R9 a/ F9 c$ \

3 Q- ^9 ?; g" _ ?7 u4 A
( _* Q$ Y" @3 {7 j, N
对照前面的访问位在区尾的存储形式图,可得知访问控制位为:
9 S) J7 y. C) V5 T
C10C20C30=000;C11C21C31=000;C12C22C32=000;C13C23C33=001。
! Y! p& i; t% f
- g5 O$ r! z' N2 D2 G4 |% t% K
C10C20C30、C11C21C31、C12C22C32对应数据段0、1、2,参考数据段的访问条件图即可得知该段三个数据区的访问权限;
* r( ^9 g" u! e5 ^! U$ w# f+ E
C13C23C33对应区尾(段 3),参考区尾的访问条件图即可得知该段的访问权限;
- J8 r) y( W8 Z; Q, F* e
* A) x `/ Z1 C$ ~2 E
块0控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
$ y3 K+ h' S- l7 R
块1控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
9 C4 A& S# Y0 R, g
块2控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
7 Z( v, \$ f C, q
块3控制位为:0 0 1 权限为:A密码不可读,验证A或者B密码后可改写A密码;验证A或者B密码后,可读可改写存取控制;验证A密码或者B密码后,可读可改写B密码;
3 A3 }5 N7 E% K1 `* c7 s2 e" U
- e" Y9 r; ?, w0 P" Q0 N
这样每次换算还是有点麻烦,可以使用M1 S50卡控制字节生成工具快速换算:
. d2 c7 Z J7 Y& ]
/ j* L( r3 j. @. u! b; e3 c9 |8 ]

: u" k, ^' U; b1 [" N, \5 D4 ]9 e
! J: ?' }, t Y3 c, f0 ?; D8 a
最下面一行可以输入想解释的控制字,也可以根据上面的设置生成控制字;
+ b& Y' F: k. V" l7 I; f) d7 u
最上面一行,左边是数据段0、1、2的访问控制位,右边是对应权限所需要的秘钥;
% q- D t% @1 P
中间的一行,左边是区尾的访问控制位,右边是对应权限所需要的秘钥;
7 n& S! s* @0 S! d; i* X& v/ X
/ w/ o' f) ^: F& T
1.7 非加密IC卡和加密IC卡
M/ V2 p- E5 N1 c1 m& A- D0 e
5 B, F+ k5 ?# @1 ]/ {, F
非加密IC卡和加密IC卡的区别就是,非加密IC卡中所有扇区的KEYA和KEYB数值都是默认值FFFFFFFFFFFF;
# x7 N q$ h2 J) _! M
而加密IC卡中,其中有扇区的KEYA和KEYB不等于FFFFFFFFFFFF,部分扇区加密的卡称半加密IC卡,所有扇区都加密的卡称全加密IC卡。
+ u8 h/ F$ L6 ]: j4 x
( K0 V* [) I. N# k: y
一般的读卡器,像手机的NFC,是读不到IC卡的加密数据的,需要用专门的工具,比如Proxmark3读取。
( X* Z7 j$ c( ~3 k8 F. ^" W7 D# W
+ ?% q; h$ _: O$ @8 {% M
对于IC卡,除了对卡上数据加密,还有滚动码加密、服务器数据验证等技术。
8 l* q6 D. v6 C( }8 @
因此,对IC卡的解密,更多的是门禁卡、签到卡、车库卡等的讨论,像公交卡、饭卡等涉及到资金问题的,基本都有服务器定期校验,得先搞定服务器再说,难度高还违法。
! q @% m) S/ S
6 H, v* I# l d( Z) r
参考资料:
8 r2 S. }( C, W& X4 L" `
码农生活 篇二:IC卡门卡模拟探秘
, C5 y3 ~+ I. [/ X
IC卡简介【M1/S50,UID,CUID,FUID,UFUID复制卡介绍】
0 K# f1 y4 C( ^
谈谈 Mifare Classic 破解
' x2 L, `6 X4 @/ l. y, E9 s; l g
rfid-practice
& E8 s7 \8 h1 T0 _/ i0 M1 F
Type A 卡存储结构与通信
) ] d/ q' K- c i( ?' @
Proxmark3 Easy破解门禁卡学习过程
2 J/ C+ F6 O( X9 J) ?7 J! d# e" X
. x6 \5 M# i7 B) e* Z; X
2. 手机NFC模拟加密门禁卡
0 ^4 d! M+ b/ B! t- x
! u, H; j. I8 y
有了前面的知识,再来看现在我的加密门禁卡情况,手机能识别为加密卡,肯定是IC卡。
- v, V n `; ]+ @' n9 L# n" X
4 S* }& k% _1 K1 X( c1 d
首先,加密卡在目前这个情况下是无法解密的,如果按照下面的操作失败,请参考下一章。
N w' ?2 a7 t6 h! B0 T9 `
部分门禁系统只认证IC卡的UID,利用这一情况,可以试试复制门禁卡的UID,看运气能否打开门。
, S3 ~, _" ^, L- ^4 }
4 F' ~& n/ S) {
在已root的情况下,直接使用APP NFC卡模拟 便可读取加密卡的UID和非加密数据、并写UID到手机NFC里。
0 `3 z6 [0 a7 W4 m" n* N5 f& f; [
在未root的情况下,使用小米系统自带的门卡模拟功能,出于安全考虑,是不能对加密卡进行任何操作。手机的NFC,理论上可以读加密IC卡的UID,因此可以使用第三方软件MifareClassicTool读取UID,因为没有root,不能写手机NFC,但可以写IC卡,因此还需要一张CUID卡(不能使用UID卡),某宝上一块多一张,思路就是先读取加密卡的UID,再读取CUID卡的数据,然后将CUID卡的UID改为加密卡一样的UID,再将修改后的数据写回到CUID卡,最后用小米系统自带的门卡模拟功能,复制未加密的CUID卡即可。
8 d9 K8 M! _7 v+ z. {; t9 m
( p5 \" ^$ Z. E' ^, u$ F& I
1.读取加密卡的UID
* E8 j! ?% c3 z V2 g
打开软件Mifare Classic Tool,将加密门禁卡放到手机的NFC感应区域,识别到IC卡后,点击“工具”->“显示标签信息”,可以看到加密门禁卡的8个数字,4字节的UID。
8 n4 n- j; m( E% |$ ` j2 {
注意,在16进制里,每个数字为4位(2^4=16),8位(bits)为一字节(bytes),即两个数字组成一字节,这里8个数字,即为4字节(Bytes)。
4 C) O/ u, ~$ E
前8个数字,每个数字代表4位,8位为一字节,8个数字就是32位,即4字节
) x. u; e4 ^9 p2 K& Z' {& i1 Z: S
接着打开“工具”->“BCC计算器”,输入UID,得到1位BBC(两个数字)校验数据。
x! {" L" e) e4 ]3 C- [: W' B( A
% L: R6 r+ |8 p; q' w3 r) \

; T9 N( W: v* t4 j" y
% ^7 {; p: R/ [4 @
2.读取CUID卡数据
; a1 r% Y$ H- |% Z
将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“读标签”->“启动映射并读取标签”,即可得到CUID白卡的所有信息。
8 O( c# R) e$ E0 O+ s. [2 K
接着修改第一行的前10个数字,改为加密门禁卡的UID(8个数字)和BCC(2个数字),一共10个数字,并点右上角保存图标保存。
. Z: N, m' _1 O* P) _
8 ~+ }) M% K, y0 _

3 j" n( Q: ^/ d) L( q6 O/ X
p+ Q& w T2 i3 j
3.写数据到CUID卡
- x; v8 T9 l3 ]
再将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“写标签”,勾选“写转储(克隆)”->“显示选项”->“高级:使能厂商块写入”。
' |) n( ^# q" K+ N C, r" p6 r& e
再点击“选择转储”,选择刚才保存的数据,点击“选择转储”。
# |) K; I4 [8 _" K2 o/ M# z
* X l) P" z6 M# W: O% M$ }3 T/ I! f

- n) l4 i1 j2 p
/ {& k- n- I( ~4 \7 a
在弹出的选择写扇区界面,默认即可,点击“好的”,最后点击“启动映射并写转储数据”。
1 f. `9 D& L. i
7 R* r' M6 W t7 C; r

( s0 K I: J5 J3 y- I5 k0 ~6 G
( b& K& h* @7 U& Q
4.NFC手机复制CUID卡
) o9 E% a0 R; D5 Z
最后,使用小米手机系统自带的门卡模拟功能,复制刚才写入新UID的CUID卡即可。
0 B s* j4 s/ v4 J: q2 x* V' ]: `- j
' a7 p0 m6 C X7 t' H+ x3 N
接着,就看运气吧,我小区的门禁系统就只认UID,搞定。
9 j5 x) F* F8 f4 n" J% z+ h
, E _% g4 A1 r0 S/ _
0 f1 `+ l6 n1 c- z# n6 y2 c, Z0 m0 [
作者:
BI3NRS
时间:
2021-1-18 13:25
学习一下,感谢分享
作者:
15314375698
时间:
2021-1-19 07:46
学习了师傅厉害
作者:
彩虹之约
时间:
2021-1-19 15:42
谢谢师傅,好详细的文章。
作者:
畅游天下
时间:
2021-4-8 13:45
; D7 _0 J$ L% j* h) d" v- n& ^; L. h: j
谢谢师傅,好详细的文章。现在多用于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