中华锁艺人

标题: NFC模拟加密卡 [打印本页]

作者: 天际线0907    时间: 2021-1-18 00:52
标题: NFC模拟加密卡
记录小米手机NFC模拟加密门禁卡,以及Proxmark3的使用。
9 }5 Z9 I9 v$ l$ y) J9 M; h- K" V2 M( z' s" r* C
0. 缘起7 ~3 ?- w; b9 a1 [; Y) Q/ ~
! X. u" u- N  {2 R# s
之前,小区用的门禁卡为非加密的门禁卡,使用小米手机系统自带的门卡模拟功能复制即可。
" J% G7 |' f9 m* D3 A+ i- F# |! T后来,小区门禁系统换了一家供应商,再使用之前的方法复制门禁卡,手机提示为加密卡,无法复制。" O3 T2 L& r2 I- ~; w' I+ E

5 r( v2 L, q9 @5 f5 x新的门禁系统,更安全了,也支持APP远程控制开门了,直到有一天门禁卡丢了,开始使用APP开门,发现这APP写得烂透了,十次有五次点击开门按钮无反应,需要反复退出、打开APP多次才能点击开门按钮成功,还有两次直接没了开门按钮,提示到物业管理处处理……
4 y) h& H% g% ?* H3 ]$ Y% I8 M/ Q那个时候,我又开始怀念用手机刷门禁的快感了。。
! z$ t3 @1 Z1 x+ ~5 d7 f% N# J9 _$ w* Q' J
1. 基础知识; N, S- s8 w: c2 Y
) B# b3 y) U2 _$ G& A3 W
于是,我开始查阅资料,基本确定了小米手机是还是可以通过其它方式模拟加密门禁卡的。
6 z- q$ i( m! Z5 m! N& a然后,资料查多了,记不到,又怕以后用到需要重新找,干脆水一篇博客记录下来。
* J$ }! s- ]* {: h' @, H5 I如果熟悉NFC和IC卡,或者只想模拟加密门禁卡,并不关心原理,这章可以跳过,直接看下一章。* t% C% |! W6 w! m9 q% L7 r9 w4 w

9 o' [% J9 J4 k: [1.1 ID卡和IC卡* Z# l7 E+ S. I, M) E

/ [9 `1 h6 u" y3 T3 ^9 d% H  ~, NID卡:全称身份识别卡(Identification Card),多为低频(125Khz),是一种不可写入的感应卡,含固定的编号,主要有台湾SYRIS的EM格式,美国HID、TI、MOTOROLA等各类ID卡。
: x2 d% P. U4 A' M  E  f* P" t# K. A5 M' G: Y
IC卡:全称集成电路卡(Integrated Circuit Card),又称智能卡(Smart Card)。多为高频(13.56Mhz),可读写数据、容量大、有加密功能、数据记录可靠、使用更方便,如一卡通系统、消费系统等,目前主要有PHILIPS的Mifare系列卡。
( c0 G  Y( |4 w. _: A
3 g% Q" \0 M+ [- Z主要区别:0 l% \' J: A: W3 B( v
ID卡,低频,不可写入数据,其记录内容(卡号)只可由芯片生产厂一次性写入,开发商只可读出卡号加以利用,无法根据系统的实际需要制订新的号码管理制度;
- c0 C$ C+ B/ @IC卡,高频,不仅可由授权用户读出大量数据,而且亦可由授权用户写入大量数据(如新的卡用户的权限、用户资料等),IC卡所记录内容可反复擦写;$ r% E3 x/ H" h

7 L: r8 q1 C3 Y& s, g3 TIC卡由于其固有的信息安全、便于携带、比较完善的标准化等优点,在身份认证、银行、电信、公共交通、车场管理等领域正得到越来越多的应用,例如二代身份证、银行的电子钱包,电信的手机SIM卡、公共交通的公交卡、地铁卡、用于收取停车费的停车卡、小区门禁卡等;
: H( I, O% F1 h. [5 s/ [  f' c' g) o% G; I+ z( u, E

8 `& s1 L' O% J% y, A& f0 {
4 n) H* B7 H& a( @3 w& ~9 z
7 F% _% u* r9 h. H
2 G* b! }$ D+ g/ n% k3 P以上图片来自淘宝商家,网上找了半天相关资料,发现淘宝商家解释得最清楚。
2 V" P. {" h3 ?+ @; M$ b8 e; [$ {# D5 B2 q9 e
总结:
5 J( v: W- r7 @* y# e5 |4 q1.ID卡多为低频,IC多为高频;
" ]4 d- F2 ?1 I$ I2.IC卡整体上看比ID卡更有优势,市面上使用的大多数也是IC卡;
" @: G, N/ G3 ]3.对于矩形白卡,里面为矩形线圈、表面没有编号的多为IC卡,里面为圆形线圈、表面有编号的多为ID卡;2 K% }. Z9 B1 j) u; a) @: p
4.对于异形卡,有编号的多为ID卡,最好使用带NFC的手机进行测试(目前手机NFC只能读高频13.56Mhz),IC卡会有反应;3 N% a. ^) g! W
* G" [/ g- |+ y& W  U+ ?
1.2 接触式和非接触式IC卡6 [3 J5 r: E0 e9 t, \! s. ~( m' E' a
3 D7 j  e/ {+ w) n1 y; q7 k9 T! ]! V
IC卡又可以分为接触式IC卡和非接触式IC卡。- C7 I- F9 z0 H0 X& Q5 \

# `1 V$ i& u0 P8 A$ p接触式IC卡:该类卡是通过IC卡读写设备的触点与IC卡的触点接触后进行数据的读写;1 p  B- Y7 f+ \6 d+ P5 C
) [; J/ O7 ~/ E; I' a
非接触式IC卡:又称射频卡、感应式IC卡,该类卡与卡设备无电路接触,而是通过非接触式的读写技术进行读写(例如RFID、NFC),其内嵌芯片除了CPU、逻辑单元、存储单元外,增加了射频收发电路。该类卡一般用在使用频繁、信息量相对较少、可靠性要求较高的场合。
# d8 f) b1 @7 D! b" |+ y# x0 ]9 ?. I* _) m1 d+ ~* R8 _
两者比较好区分,直接看卡上有无金属触点即可。4 |; O& f+ ]0 z

% n* b2 Z1 E+ y8 v
: u. }: D5 A" s& T
( Y: p& N0 A& [. d" P1.3 RFID和NFC
4 o( E" @: c4 K. k, ~! f& P. X0 U9 C4 [/ i. k
非接触式的读写技术常见的有两种:RFID技术和NFC技术。
$ k8 u' z( x! k4 q6 D+ k: _& t& J+ S0 s% t4 e/ a% P  [
RFID技术:( j( [" f2 W3 O/ x
1.通常应用在生产,物流,跟踪和资产管理上;
' f% m& b( f# P9 D# U6 U: ?2.根据频率划分包含低频、高频(13.56MHz)、超高频、微波等;6 F( Q' J! ~' w% v6 Q. G; z
3.作用距离取决于频率、读写器功率、读写器天线增益值、标签天线尺寸等,工作距离在几厘米到几十米不等;
3 F+ l4 P$ z3 \7 l6 o  _4.读写器和非接触卡可以是一对多关系,也可以说一对一关系;且读写器和非接触卡是两个实体,不能切换;7 |3 t9 h% [" k2 E

6 w5 J( H6 l) I: V  E. @( `NFC技术:) w3 q, C% {+ n9 N4 q2 X& g! h9 X
1.通常应用在门禁,公交卡,手机支付等领域;1 u9 F3 W5 b# @0 y
2.频率也是13.56MHz,且兼容大部分RFID高频相关标准(有些是不兼容);' H4 a. F1 r* G7 C" q
3.NFC作用距离较短,一般都是0~10厘米;: E, q1 }0 s& Z7 r
4.读写器和标签几乎都是一对一关系;且支持读写模式和卡模式,可以作为读写器也可变为非接触卡;
- r$ F6 }/ R, {1 H( S7 C$ W$ _. {. D) U( `; H+ @
总体来说,NFC是RFID的子集,但NFC有些新特性又是RFID所不具备的。
* |& x; n3 n3 W& C+ ?! S7 w$ _! t3 e* J
1.4 ID卡类型
+ Y7 b6 \* n; @) _' N9 J" _" j
& V1 g! G- x# W# R9 bID卡,工作在低频(125Khz),根据卡内使用芯片的不同,有如下分类:
- [3 _4 i! M# |1 ]
# E# I1 H3 F8 DID卡
; X& F# x, [0 DEM4XX系列,多为EM4100/EM4102卡,常用的固化ID卡,出厂固化ID,只能读不能写;常用于低成本门禁卡,小区门禁卡,停车场门禁卡;* M" w1 {+ A+ S) m* W7 l1 M2 u

* P- a8 H- O: M$ \7 k' Y6 |7 g- {ID白卡
' m. x9 @4 U0 J6 t. {; HEM4305或T5577,可用来克隆ID卡,出厂为白卡,内部EEPROM可读可写,修改卡内EEPROM的内容即可修改卡片对外的ID号,达到复制普通ID卡的目的;
* J+ ?  @/ r& k0 w! Y% ^T5577写入ID号可以变身成为ID卡,写入HID号可以变身HID卡,写入Indala卡号,可以变身Indala卡
# [( o- u4 y. f- T3 M/ c) c) w0 P- v+ j' b: g& ~- n; ]& i/ w
HID卡
' a8 N. ?8 A4 \- n" N9 }; E5 {全称HID ProxⅡ,美国常用的低频卡,可擦写,不与其他卡通用;" p7 G3 j* _1 \, h# k
% i, G) ~1 e: X# S# V' c# P
1.5 IC卡类型/ i2 F# Q3 V; P5 Z1 n( g

  N% y* x' X1 l3 A8 U1 `+ ~& rIC卡中最常见的是NXP Mifare系列卡,工作在高频(13.56Mhz),根据卡内使用芯片的不同,有如下分类:
( ]- i1 Q$ z/ l; J7 n5 x/ s
0 B: A( w7 Y2 j7 G0 E8 d' qM1卡
4 ]) }4 f# C% n# C7 M全称Mifare S50,是最常见的卡,出厂固化UID(UID即指卡号,全球唯一),可存储修改数据;常用于学生卡,饭卡,公交卡,门禁卡;
: y+ B, \' m5 Q5 `1 o7 P- p
3 r: Q- M! C1 B; P: B1 P/ HM0卡
( u9 Q- A9 x7 y( d4 L5 {; ?全称Mifare UltraLight,相当于M1卡的精简版,容量更小、功能更少,但价格更低,出厂固化UID,可存储修改数据;常用于地铁卡,公交卡;  t1 {1 S8 e  h( w1 B  N
" k1 [4 L8 p9 z
以上两种固化了UID,为正规卡,接下来就是一些没有固化UID,即不正规的卡:+ ?& [6 b* s5 `  F/ z4 ~: R1 C8 b

5 H" d2 i/ ~2 {$ EUID卡) N6 f5 F# b/ p/ {& u* Y
全称Mifare UID Chinese magic card,国外叫做中国魔术卡,M1卡的变异版本,使用后门指令(magic指令),可修改UID(UID在block0分区),可以用来完整克隆M1卡的数据;9 e+ k; @$ n$ d! |. Q& m
但是现在新的读卡系统通过检测卡片对后门指令的回应,可以检测出UID卡,因此可以来拒绝UID卡的访问,来达到屏蔽复制卡的功能(即UID防火墙系统);/ T, ], I. ^4 ^$ i+ u2 a2 V. b% b

1 \6 Q6 o! ?, E9 [) S( B% w! e2 cCUID卡( R, f. J" ]6 g) P) t) @/ n
为了避开UID防火墙系统,CUID卡应运而生,取消响应后门指令(magic指令),可修改UID,是目前市场上最常用的复制卡;
5 F5 J' D1 Y* w近两年,智能卡系统制造公司,根据CUID卡的特性研发出CUID卡防火墙,虽然现在(2019年)还不是很普及,但是总有一天CUID卡会和UID卡一样面临着淘汰;
: N' }$ @! q& {' k9 K5 V9 B& x3 h& p7 _. `
FUID卡
; i- n( v" S% x8 v4 ]7 `, IFUID卡只能写一次UID,写完之后自动固化UID所在分区,就等同M1卡,目前任何防火墙系统都无法屏蔽,复制的卡几乎和原卡一模一样;5 v' ]3 A2 B0 g8 A) X. K! h
但缺点也相对明显,价格高、写坏卡率高,写错就废卡。
3 x% R* ]  l/ o6 s$ m4 Z$ Q. q$ V: L; [5 y; S. N
UFUID卡
  V# G2 ~* c5 |  s集UID卡和FUID卡的优点于一身,使用后门指令,可修改UID,再手动锁卡,变成M1卡。1 {% h' a, @! K( G0 O6 G6 P
可先反复读写UID,确认数据无误,手动锁卡变成M1,解决了UID卡的UID防火墙屏蔽,也解决FUID的一次性写入容易写错的问题,且价格比FUID卡还便宜;
2 C8 s* f' b% Y3 i9 O! r% S! c6 U9 ]0 n2 A3 j! Q) a. Z9 ^
判断是M0卡(Mifare UltraLight),还是M1卡(Mifare Classic 1k),可以通过SAK值判断。2 W7 x6 j" A, O1 p

+ c- @" @* O; ~产品ATQASAKUID长度Mifare Mini00 04094 bytesMifare Classic 1k00 04084 bytesMifare Classic 4k00 02184 bytesMifare Ultraligh00 44007 bytesMifare Plus00 44207 bytes0 T% }& b* L! {- M
# w# Z2 r4 u' n3 m% `+ P
1.6 IC卡详细分析! E, l# |! m! {2 J* Y3 E: A
1 j" N: {6 K7 l% a
1.6.1 IC卡存储器结构
- t! H4 H/ T/ n/ f1 ]/ K, G+ {9 d) B
以M1卡为例,介绍IC卡数据结构。
4 H3 i6 C$ ^, H% F+ k0 C6 nM1卡有从0到15共16个扇区,每个扇区配备了从0到3共4个数据段,每个数据段可以保存16字节的内容;9 a. p* R$ m# _; z
每个扇区中的段按照0~3编号,第4个段中包含KEYA(密钥A 6字节)、控制位(4字节)、KEYB(密钥B 6字节),每个扇区可以通过它包含的密钥A或者密钥B单独加密;
6 N% f( }& J0 \2 Q# N2 f) y) T3 f' Z: {1 E$ K4 G" E1 y

. D1 H7 n: I+ b; j; O' p0 D6 n- x2 p% e/ Y% R% p& [5 s
厂商段9 ]8 i2 J. t/ n& x* s
每张M1卡都有一个全球唯一的UID号,这个UID号保存在卡的第一个扇区(0 扇区)的第一段(0 编号数据段),也称为厂商段。
* s" n% a' r+ k& H! i  o! b其中前4个字节是卡的UID,第5个字节是卡 UID 的校验位,剩下的是厂商数据。
6 O3 c; N7 H6 t6 s并且这个段在出厂之前就会被设置了写入保护,只能读取不能修改,前面各种能修改UID的卡,UID是没有设置保护的,也就是厂家不按规范生产的卡。' |6 C" L" j, L# W) r" J
; J" n. U- |$ w2 _

5 O3 Y5 [0 b( q
8 }6 s7 L# d3 n9 S8 \. e  b1 I数据段/ R! M! i5 I/ S
除了第0扇区外,其它每个扇区都把段0、段1、段2作为了数据段,用于保存数据。2 x! r- ?  w- U: L# F
数据段的数据类型可以被区尾的控制位(Access Bits)配置为读/写段(用于譬如无线访问控制)或者值段(用于譬如电子钱包)。
: f1 r0 P* l# ]( U值段有固定的存储格式,只能在值段格式的写操作时产生,值段可以进行错误检测和纠正并备份管理,其有效命令包括读、写、加、减、传送、恢复,值段格式如下:; \5 I+ E0 m6 d0 M, Y

/ K4 w& f; W( h& `3 `" a: {, c: R# }1 Q. Z& G" w; C
, d+ Q$ w8 B5 ]' m
Value表示一个带符号4字节值,为了保证数据的正确性和保密性,值被保存了3次,两次直接保存,一次取反保存。该值先保存在0字节-3字节中,然后将取反的字节保存在4字节-7字节中,还保存了一次在8字节-11字节中。. g6 K. u. M% r  ^8 m
Adr表示一个字节的地址,当执行备份管理时用于保存存储段的地址。地址字节保存了4次,取反和不取反各保存了2次。在执行加值、减值、恢复和传送等操作时,地址保持不变,它只能通过写命令改变。( X, V$ M" O, {
$ U0 w8 k+ B2 i- k5 \
控制段
) k; c. p2 p! \" O& e2 s$ T/ v* z0 l每个扇区都有一个区尾控制段,它包括密钥A和密钥B(可选),以及本扇区四个段的访问控制位 (Access bits);访问控制位也可用于指出数据段的类型(为读/写段还是值段);控制段的存储格式如下:
% i0 w3 p: [6 T, \/ c7 ^* v9 b0 k7 G2 u( [$ b% {
) c1 l; b. S( l, V! x- Q

) k9 A2 x0 c6 i6 D# u' ^如果不需要密钥B,那么区尾的最后6个字节可以作为数据字节,用户数据可以存储在区尾的第9个字节,这个字节具有和字节6、7、8一样的访问权限。
$ c; F- L! [% f0 m* G
- q6 r. J/ ]! b1 z1.6.2 IC卡访问存储器
# O, k8 u' \: `) ~- x/ T/ d4 x. [! ]1 i. V2 s2 c3 x% K
数据段支持的操作: H' e3 k: s! p$ N$ w7 u
根据使用的密钥和相应区尾访问条件的不同,数据段所支持的存储器操作也不同,存储器的操作类型如下:; T. K3 l- Y1 J# y4 W

2 s$ g% x) v: x1 J, d: m: Z; x) K
; q5 d( a" Y& ~& U/ U. ~! c% e4 r  x: U- N' @8 `
可以看到只有作为值段时,才能加、减、传送、恢复。4 Y3 U6 l: U9 e
, D9 \( s/ l5 M* V. ^. p7 q
各区的访问位定义
/ ~# ~" e0 k8 Z. b3 A每个数据段和区尾的访问条件由3个位来定义,它们以取反和不取反的形式保存在区尾指定字节中。
# H; o% |0 u3 s  Y  u" u/ W访问位控制了使用密钥A和B操作存储器的权限,当知道相关的密钥和当前的访问控制条件时,可以修改访问条件,各区的访问位定义如下:
% h# O1 p4 i* e5 q
" r  k9 Y' |3 c6 A! _0 Q: o; t
  C: o5 z9 I5 [$ h( {
9 q/ ~  e+ |( D8 \. ]+ C访问位在区尾的存储形式* z3 k9 ^; a, C1 x
6 ^: ]1 R5 K: G, m, }
/ O. D* T* X+ @# u$ q# o) x  G  I3 {

2 m0 q8 w. p' g/ X5 ]区尾的访问条件
8 @: P# _, A$ c根据区尾(段 3)访问位的不同,访问条件可分为 “从不”、“密钥A”、“密钥B” 或“密钥A|B”(密钥A或密钥B),区尾的访问条件如下:/ I0 W" W. R# Q2 |7 x3 [; M0 _+ w
7 W$ I  ]* c) m9 `8 C

, j3 S4 N# L7 {
& k% }6 N+ ?5 E4 g用灰色标明的行是密钥B可被读的访问条件,此时密钥B可以存放数据。4 \. q; ?  d  Q! k$ y9 N
例如:当段3的访问条件C13C23C33=100时,表示:密钥 不可读(隐藏),验证密钥B正确后,可写(或更改);访问控制位在验证密钥A或密钥B正确后,可读不可写(写保护);密钥B不可读,在验证密钥 B 正确后可写;
! t; U3 `- d  p4 W9 w又如:当段3的访问条件C13C23C33=110或者111时,除访问控制位需要在验证密钥A或密钥B正确后可读外,其他如访问控制位的改写,密钥 A,密钥 B 的读写权限均被锁死而无法访问;
9 |- [1 v. j" P5 A7 ^) D" }6 F+ B8 Y; d
数据段的访问条件
$ x: m/ }4 \3 q1 P1 z8 M根据数据段(段 0-2 访问位的不同,访问条件可分为 “从不”、“密钥A ”、“密钥B ” 或“密钥A|B”(密钥A或密钥B)。
3 P) M) L2 H# f, `9 ~  {/ T相关访问位的设置定义了该段的应用(或者说数据段类型)以及所支持的应用命令,不同的数据段类型可以进行不同的访问操作。 读/写段可以进行读操作和写操作。值段可以进行加、减、传送和恢复的值操作。
3 U' Y7 [  L+ t其中一种情况中(001)只能对不可再充电的卡进行读操作和减操作,另一种情况中(110)使用密钥B可以再充电。 厂商段无论设置任何的访问位都只是只读的, 数据段的访问条件如下:/ D& O% {8 F* d. f) k
* \. T! |* N4 h4 E

  G0 f; X- n! u; m' M8 A& W# ?+ k1 U. a$ W9 l
如果密钥B可以在相应的区尾被读出,它就不能用于确认(在前面所有表中的灰色行)。如果读卡器要用这些(带灰色标记的)访问条件的密钥B确认任何段,卡会在确认后拒绝任何存储器访问操作。$ }% M2 S( t( D. b  e5 c

. g# g$ O/ L, p$ Y6 `* V1.6.3 举例说明! m8 F% z( M. f

* M9 i* P6 l4 i0 KMifare S50出厂时,访问控制字节(字节6-字节9)被初始化为“FF 07 80 69”,KEY A和KEY B的默认值为“FF FF FF FF FF FF” ;5 P! o$ E# W8 n
字节6为FF,二进制为1111111;字节7为07,二进制为00000111;字节8为80,二进制为10000000,如下:
: Q( D. T! A3 l" k2 W' P, K
& [7 B) n) V6 |; A5 }; |( V# _4 T6 ~

6 _& o$ z% `( H& P8 A对照前面的访问位在区尾的存储形式图,可得知访问控制位为:$ p4 V* a8 M4 a6 ?( N% o
C10C20C30=000;C11C21C31=000;C12C22C32=000;C13C23C33=001。
1 o$ _! P- V2 L2 V/ ~
- X) S# Y$ R$ i# l1 H" AC10C20C30、C11C21C31、C12C22C32对应数据段0、1、2,参考数据段的访问条件图即可得知该段三个数据区的访问权限;
* ]$ s4 B8 A0 T2 bC13C23C33对应区尾(段 3),参考区尾的访问条件图即可得知该段的访问权限;
3 ~1 @8 U6 j" a! c% x% G1 v$ C5 V! p" T
块0控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
# |0 W5 _# W* n8 r9 r9 a5 X块1控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;( Y7 z$ T0 V+ H  M% k7 ?, G
块2控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
6 N( ?# [: O" @/ f7 h+ T5 i块3控制位为:0 0 1 权限为:A密码不可读,验证A或者B密码后可改写A密码;验证A或者B密码后,可读可改写存取控制;验证A密码或者B密码后,可读可改写B密码;
# f. N- X% x6 h
5 g5 f% l1 T2 @0 r+ k' U2 b这样每次换算还是有点麻烦,可以使用M1 S50卡控制字节生成工具快速换算:
- H" Z" Z; z) V6 L
, L& N& x: c0 w) \# ?5 }! D9 S+ c
8 h, x0 c  T2 i5 G+ _
最下面一行可以输入想解释的控制字,也可以根据上面的设置生成控制字;
" y* a8 U$ B) x1 o最上面一行,左边是数据段0、1、2的访问控制位,右边是对应权限所需要的秘钥;
* {+ b# j- x* r中间的一行,左边是区尾的访问控制位,右边是对应权限所需要的秘钥;' x, B( c  O( K; S$ u% v0 l
5 m: a# k" [( {+ D; \) S) F
1.7 非加密IC卡和加密IC卡
1 G3 q0 k- c' z
( [, L2 z' j( g, X+ X! w非加密IC卡和加密IC卡的区别就是,非加密IC卡中所有扇区的KEYA和KEYB数值都是默认值FFFFFFFFFFFF;
2 |# {+ ]8 ?4 {8 N5 h" E4 X; D而加密IC卡中,其中有扇区的KEYA和KEYB不等于FFFFFFFFFFFF,部分扇区加密的卡称半加密IC卡,所有扇区都加密的卡称全加密IC卡。+ e' |9 Z5 E, J0 h

' O- q$ w5 Y, |0 }) F+ G! e% L8 p一般的读卡器,像手机的NFC,是读不到IC卡的加密数据的,需要用专门的工具,比如Proxmark3读取。5 \5 b1 W9 \3 j, H) {

+ u$ Z3 N1 L6 u* I对于IC卡,除了对卡上数据加密,还有滚动码加密、服务器数据验证等技术。0 J3 u9 z# t8 f2 y9 \
因此,对IC卡的解密,更多的是门禁卡、签到卡、车库卡等的讨论,像公交卡、饭卡等涉及到资金问题的,基本都有服务器定期校验,得先搞定服务器再说,难度高还违法。+ n, y1 C1 [- g. F" _6 T0 i, Q

1 D, v+ y0 \+ l! ]参考资料:
6 ^+ E1 A+ n5 J码农生活 篇二:IC卡门卡模拟探秘
# l& ]4 q% K: v1 S+ @IC卡简介【M1/S50,UID,CUID,FUID,UFUID复制卡介绍】; D' T- s9 w! R0 c1 E' a- V6 d
谈谈 Mifare Classic 破解/ Z& P+ @4 r( A; R
rfid-practice- E) k6 T  M7 A* W
Type A 卡存储结构与通信% R' g: {7 A0 q/ L
Proxmark3 Easy破解门禁卡学习过程
4 \0 T3 P  D7 Q. O: T* F, C0 M& M9 S- s( g* l$ w; x
2. 手机NFC模拟加密门禁卡
" `7 J5 v* B. T( r% i
) b1 i: B2 v0 Z) n有了前面的知识,再来看现在我的加密门禁卡情况,手机能识别为加密卡,肯定是IC卡。' M$ }3 U: I7 u* x0 d/ P1 l) g
1 [4 n3 b2 `. t0 J
首先,加密卡在目前这个情况下是无法解密的,如果按照下面的操作失败,请参考下一章。+ ?4 Q! Q- A# s
部分门禁系统只认证IC卡的UID,利用这一情况,可以试试复制门禁卡的UID,看运气能否打开门。
* L" [# t, }4 L2 s9 [  M( S  [9 T7 K2 s5 Q* }" b% @
在已root的情况下,直接使用APP NFC卡模拟 便可读取加密卡的UID和非加密数据、并写UID到手机NFC里。
/ @: p% J0 ]' A& `在未root的情况下,使用小米系统自带的门卡模拟功能,出于安全考虑,是不能对加密卡进行任何操作。手机的NFC,理论上可以读加密IC卡的UID,因此可以使用第三方软件MifareClassicTool读取UID,因为没有root,不能写手机NFC,但可以写IC卡,因此还需要一张CUID卡(不能使用UID卡),某宝上一块多一张,思路就是先读取加密卡的UID,再读取CUID卡的数据,然后将CUID卡的UID改为加密卡一样的UID,再将修改后的数据写回到CUID卡,最后用小米系统自带的门卡模拟功能,复制未加密的CUID卡即可。" l0 h6 d2 C  P

9 `5 r! W$ ~, X3 q+ S# j1.读取加密卡的UID
/ u: m; A. l* |% p打开软件Mifare Classic Tool,将加密门禁卡放到手机的NFC感应区域,识别到IC卡后,点击“工具”->“显示标签信息”,可以看到加密门禁卡的8个数字,4字节的UID。
7 Y( X2 o6 Y/ Y注意,在16进制里,每个数字为4位(2^4=16),8位(bits)为一字节(bytes),即两个数字组成一字节,这里8个数字,即为4字节(Bytes)。+ p/ N8 e; ?* h5 |( J) d
前8个数字,每个数字代表4位,8位为一字节,8个数字就是32位,即4字节- c8 h9 y6 R7 e2 K8 D" A& a  ?: }
接着打开“工具”->“BCC计算器”,输入UID,得到1位BBC(两个数字)校验数据。
+ S6 c! V4 U4 g7 d
8 M# Z2 ]$ ^, L2 _4 T
. l( K& g$ Q! T/ L3 E/ a
6 H7 Q8 l. B. I3 k' c2.读取CUID卡数据
% Y8 a8 `% D- ^$ L5 C, r3 `! c将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“读标签”->“启动映射并读取标签”,即可得到CUID白卡的所有信息。
: w: A" n: b7 b; n2 m+ b接着修改第一行的前10个数字,改为加密门禁卡的UID(8个数字)和BCC(2个数字),一共10个数字,并点右上角保存图标保存。; V: _0 C' R. N; p

- P1 h" l, R" Z( D9 {: m7 _$ P3 a0 D

) p' I. Q8 q  d7 H- S3.写数据到CUID卡" w2 y. v* W7 ]9 m& F4 q
再将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“写标签”,勾选“写转储(克隆)”->“显示选项”->“高级:使能厂商块写入”。$ K. W$ U  R- Z+ u
再点击“选择转储”,选择刚才保存的数据,点击“选择转储”。& r7 U0 [: h4 V/ [
6 Y. z/ ?+ H4 W+ [& q8 B% F, I

$ D# M5 j( x- Q& A& |8 S9 }4 `: o; X8 f
在弹出的选择写扇区界面,默认即可,点击“好的”,最后点击“启动映射并写转储数据”。2 M" `" T( w! P' I
2 {' N3 {" v$ t4 b! t' o

7 Y# z1 M0 I- a; S! u' X3 s
# Y$ I0 _. t/ j! f; S4.NFC手机复制CUID卡
% T. o  U4 U. Q0 F- o/ L最后,使用小米手机系统自带的门卡模拟功能,复制刚才写入新UID的CUID卡即可。( N: z: }9 F4 w. _- ~$ S+ D* W

% E: b. [3 m! u/ R0 e6 p接着,就看运气吧,我小区的门禁系统就只认UID,搞定。
) r% }# t" G9 V7 e$ p6 e: `! \2 b; g7 E( a

1 n! @$ a1 L, [' E( I  k
作者: BI3NRS    时间: 2021-1-18 13:25
学习一下,感谢分享
作者: 15314375698    时间: 2021-1-19 07:46
学习了师傅厉害
作者: 彩虹之约    时间: 2021-1-19 15:42
谢谢师傅,好详细的文章。
作者: 畅游天下    时间: 2021-4-8 13:45
# {4 n/ I4 r+ y7 s1 E- V
谢谢师傅,好详细的文章。现在多用于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