返回顶部

NFC模拟加密卡

  [复制链接]
天际线0907 显示全部楼层 发表于 2021-1-18 00:52:33 |阅读模式 打印 上一主题 下一主题 来自: 中国–山东–泰安肥城县 电信
记录小米手机NFC模拟加密门禁卡,以及Proxmark3的使用。) n/ a7 l, W2 g; |) }# ]
  q3 _. B' a4 P8 d! U8 q
0. 缘起- J5 G& M0 i+ _. B" t

; a( F9 O3 A7 H( w) ^之前,小区用的门禁卡为非加密的门禁卡,使用小米手机系统自带的门卡模拟功能复制即可。
& A7 }$ _% M8 _+ v$ C) W3 `% i2 S后来,小区门禁系统换了一家供应商,再使用之前的方法复制门禁卡,手机提示为加密卡,无法复制。
  O% ^5 ^% R" }+ f
' l6 u, H  o2 F" f9 c新的门禁系统,更安全了,也支持APP远程控制开门了,直到有一天门禁卡丢了,开始使用APP开门,发现这APP写得烂透了,十次有五次点击开门按钮无反应,需要反复退出、打开APP多次才能点击开门按钮成功,还有两次直接没了开门按钮,提示到物业管理处处理……
: e3 u6 c. L0 y* R' R# U+ V9 @' P- }那个时候,我又开始怀念用手机刷门禁的快感了。。
8 m7 c! [" t7 ?5 ?( P: s( y1 e7 ~  \$ }/ G$ z/ P; \; l
1. 基础知识+ j: l( B+ i6 u) v7 q
1 T2 g# w3 W2 e
于是,我开始查阅资料,基本确定了小米手机是还是可以通过其它方式模拟加密门禁卡的。
4 T& H7 ]% _6 G$ y" y" b然后,资料查多了,记不到,又怕以后用到需要重新找,干脆水一篇博客记录下来。- \% ?: T( r0 l$ u- O4 U- x
如果熟悉NFC和IC卡,或者只想模拟加密门禁卡,并不关心原理,这章可以跳过,直接看下一章。
+ B7 f1 i0 d% T
# Z4 p* y3 z9 D1 ~  M7 g1.1 ID卡和IC卡
, `% B' E/ |( n0 M: I0 _$ ?
! a5 x+ P& w( M* sID卡:全称身份识别卡(Identification Card),多为低频(125Khz),是一种不可写入的感应卡,含固定的编号,主要有台湾SYRIS的EM格式,美国HID、TI、MOTOROLA等各类ID卡。6 z! r! z7 [  O, I7 O% T
- ]$ T8 n+ o0 S6 \, \
IC卡:全称集成电路卡(Integrated Circuit Card),又称智能卡(Smart Card)。多为高频(13.56Mhz),可读写数据、容量大、有加密功能、数据记录可靠、使用更方便,如一卡通系统、消费系统等,目前主要有PHILIPS的Mifare系列卡。
3 L& F3 _2 E0 U. {! V2 ~) u, D! z9 ?' q2 X( o7 f
主要区别:. ^1 f  l" N. w, A' t7 |
ID卡,低频,不可写入数据,其记录内容(卡号)只可由芯片生产厂一次性写入,开发商只可读出卡号加以利用,无法根据系统的实际需要制订新的号码管理制度;
% P( T4 B: G# V. B  t( C: ZIC卡,高频,不仅可由授权用户读出大量数据,而且亦可由授权用户写入大量数据(如新的卡用户的权限、用户资料等),IC卡所记录内容可反复擦写;
  U0 G; R! d; u/ T2 o2 A
7 C: z' V* T, I+ JIC卡由于其固有的信息安全、便于携带、比较完善的标准化等优点,在身份认证、银行、电信、公共交通、车场管理等领域正得到越来越多的应用,例如二代身份证、银行的电子钱包,电信的手机SIM卡、公共交通的公交卡、地铁卡、用于收取停车费的停车卡、小区门禁卡等;
0 Q" t2 G6 ]3 T9 j# U7 H, m
# n0 B* r, S4 I" q- z0 J8 Q0 p0 W+ ]! P9 D% N* T( Z
2 k0 O: S, o9 l( r5 i

% s! G: m- Z" V; s# W8 I) ^' e1 l9 Y; O/ d6 E" s
以上图片来自淘宝商家,网上找了半天相关资料,发现淘宝商家解释得最清楚。
+ p' `8 U0 z7 Z* _- V4 }, B, s# M1 t6 s
* r- L/ F5 r9 [. N# j总结:; k; k8 W0 T2 P2 J! Y
1.ID卡多为低频,IC多为高频;
! x/ G/ f0 f* ^$ k" w) C2.IC卡整体上看比ID卡更有优势,市面上使用的大多数也是IC卡;
* d0 ?  R; W5 c$ r5 \3.对于矩形白卡,里面为矩形线圈、表面没有编号的多为IC卡,里面为圆形线圈、表面有编号的多为ID卡;
2 @! ^$ r' v$ O. j$ q+ O6 j  D4.对于异形卡,有编号的多为ID卡,最好使用带NFC的手机进行测试(目前手机NFC只能读高频13.56Mhz),IC卡会有反应;
9 W* g1 l9 B0 K/ |1 O1 Q
  B7 w; U4 }9 r1.2 接触式和非接触式IC卡
0 j' A9 l& L/ g8 @* a$ b" X7 c. Y5 h; n& M& W) z
IC卡又可以分为接触式IC卡和非接触式IC卡。+ b9 l- @; x1 ], h
+ X1 q* K) |7 U- G# u8 n
接触式IC卡:该类卡是通过IC卡读写设备的触点与IC卡的触点接触后进行数据的读写;
9 ]! A7 |$ {! D5 {  p- ]8 D: H1 Q) S
非接触式IC卡:又称射频卡、感应式IC卡,该类卡与卡设备无电路接触,而是通过非接触式的读写技术进行读写(例如RFID、NFC),其内嵌芯片除了CPU、逻辑单元、存储单元外,增加了射频收发电路。该类卡一般用在使用频繁、信息量相对较少、可靠性要求较高的场合。
4 h8 `5 s1 C5 }1 Q/ f* V2 K: y
; y3 t8 y( Z0 U4 P0 R. }" M! O两者比较好区分,直接看卡上有无金属触点即可。5 `. b! C  F/ z/ a7 o

% e: z; q1 _6 E9 k$ x+ a
1 p8 x& N" p" S9 |9 V- X: E) f* ^( b. r
1.3 RFID和NFC
  y; x, F$ p: S  I: B5 Z7 {6 W& q& k: c2 L
非接触式的读写技术常见的有两种:RFID技术和NFC技术。
% R9 @7 L  G' D" u) m: J1 p1 x) T; ?4 O' }; h9 G2 ^
RFID技术:
: ^2 b" M5 L# [* c" y1.通常应用在生产,物流,跟踪和资产管理上;+ O: o9 N% E: A8 E& P, H7 @4 P( K4 _
2.根据频率划分包含低频、高频(13.56MHz)、超高频、微波等;. g0 [* _- t2 s, s+ j0 C$ u
3.作用距离取决于频率、读写器功率、读写器天线增益值、标签天线尺寸等,工作距离在几厘米到几十米不等;
: @9 o5 i# p. ?5 n' O! S. K4.读写器和非接触卡可以是一对多关系,也可以说一对一关系;且读写器和非接触卡是两个实体,不能切换;
+ ?6 D4 T  X8 _+ i- ?
! [: m; D8 m2 e1 TNFC技术:
+ r9 U" K/ g% f1 k- d# s1.通常应用在门禁,公交卡,手机支付等领域;
- I  o0 Z4 ~( d! B2.频率也是13.56MHz,且兼容大部分RFID高频相关标准(有些是不兼容);# v0 S$ P( I& F6 ?9 d; g
3.NFC作用距离较短,一般都是0~10厘米;
+ y$ p6 E& R0 \3 k9 k  l4.读写器和标签几乎都是一对一关系;且支持读写模式和卡模式,可以作为读写器也可变为非接触卡;) F; J, L- S- D7 f% p6 h( u7 ^

. n- W* ?3 ^; _6 K+ {( Q总体来说,NFC是RFID的子集,但NFC有些新特性又是RFID所不具备的。6 }3 [" N* A) w+ j3 |& a

$ x- V. R% u/ A% x( ]4 y1.4 ID卡类型
1 N, i9 H) ^! t/ O# ~! }) k7 |! t0 F! M% b! i
ID卡,工作在低频(125Khz),根据卡内使用芯片的不同,有如下分类:  W1 t) J. a! K4 L7 ^$ A, g
) O5 s9 k# f, ~
ID卡% r- c7 z3 }( v6 f% y' M* o* Z
EM4XX系列,多为EM4100/EM4102卡,常用的固化ID卡,出厂固化ID,只能读不能写;常用于低成本门禁卡,小区门禁卡,停车场门禁卡;. K! x" p* u7 U% ?  S

* P/ q. K8 t: Q3 vID白卡; R" a8 U" e! o  z+ Y
EM4305或T5577,可用来克隆ID卡,出厂为白卡,内部EEPROM可读可写,修改卡内EEPROM的内容即可修改卡片对外的ID号,达到复制普通ID卡的目的;2 a% C; t9 U! ~0 q& d* f/ d
T5577写入ID号可以变身成为ID卡,写入HID号可以变身HID卡,写入Indala卡号,可以变身Indala卡
1 i, W; R, I- Q% ~% [7 Q' u, e! |0 X* t( g- p
HID卡
$ G, ^' p1 z3 {9 n% b, l全称HID ProxⅡ,美国常用的低频卡,可擦写,不与其他卡通用;
7 p2 W+ E3 w6 @7 q: }0 ^1 C. G& c" j! ^& C) u! n
1.5 IC卡类型
+ r; F9 |" Y' V7 O; y7 N, q8 e( F: C
IC卡中最常见的是NXP Mifare系列卡,工作在高频(13.56Mhz),根据卡内使用芯片的不同,有如下分类:8 k) _0 `' Q- e& z$ V* G

6 C7 b( S; ?/ {  J6 nM1卡
8 c, X$ p6 D+ h" D) \全称Mifare S50,是最常见的卡,出厂固化UID(UID即指卡号,全球唯一),可存储修改数据;常用于学生卡,饭卡,公交卡,门禁卡;
9 b- G1 D1 \# e1 d% j" {- e3 D6 |7 `8 ]/ |- e+ d
M0卡
, \7 }  B( x( B& Y' M% m全称Mifare UltraLight,相当于M1卡的精简版,容量更小、功能更少,但价格更低,出厂固化UID,可存储修改数据;常用于地铁卡,公交卡;
  o& _; V+ e+ j. K. l: D$ p* C; Z2 ]. h; F  `
以上两种固化了UID,为正规卡,接下来就是一些没有固化UID,即不正规的卡:+ i' j3 s" M+ ]% u; m( N+ `* k

8 K. x/ ]& p/ t0 Q+ t: w+ |, m9 d, cUID卡/ ~* P5 O9 y: \& f- L7 l: m
全称Mifare UID Chinese magic card,国外叫做中国魔术卡,M1卡的变异版本,使用后门指令(magic指令),可修改UID(UID在block0分区),可以用来完整克隆M1卡的数据;* ]; s1 ^" n( V: f* o+ C# A
但是现在新的读卡系统通过检测卡片对后门指令的回应,可以检测出UID卡,因此可以来拒绝UID卡的访问,来达到屏蔽复制卡的功能(即UID防火墙系统);2 M  V! l6 y6 B3 m+ U6 Q
; T, M5 k8 P" e7 v
CUID卡
6 b' t5 }2 K6 S8 m为了避开UID防火墙系统,CUID卡应运而生,取消响应后门指令(magic指令),可修改UID,是目前市场上最常用的复制卡;
% Z* n  S, _. ]  c0 q! z& u. M# f& b近两年,智能卡系统制造公司,根据CUID卡的特性研发出CUID卡防火墙,虽然现在(2019年)还不是很普及,但是总有一天CUID卡会和UID卡一样面临着淘汰;, o! \( x9 u8 E- H: z" D
4 I6 z1 T# {8 I2 s* X' q7 i0 o
FUID卡
4 |' i/ C' [3 ZFUID卡只能写一次UID,写完之后自动固化UID所在分区,就等同M1卡,目前任何防火墙系统都无法屏蔽,复制的卡几乎和原卡一模一样;9 b/ ~. Y# |. v4 K/ d6 y9 a- H
但缺点也相对明显,价格高、写坏卡率高,写错就废卡。; ]$ j2 l8 N! \% ]

- {( H/ [( [3 v+ x# ?3 }UFUID卡6 l1 c5 W4 B1 Q$ k
集UID卡和FUID卡的优点于一身,使用后门指令,可修改UID,再手动锁卡,变成M1卡。& m0 l/ o9 N/ e- s0 D
可先反复读写UID,确认数据无误,手动锁卡变成M1,解决了UID卡的UID防火墙屏蔽,也解决FUID的一次性写入容易写错的问题,且价格比FUID卡还便宜;# y& ]/ I1 ~9 g8 X. \6 N* f
( w4 ?2 m; E7 O. F- U* n3 d( i
判断是M0卡(Mifare UltraLight),还是M1卡(Mifare Classic 1k),可以通过SAK值判断。+ ]  m2 v/ X5 ]1 D

' d+ D6 K/ l7 Q产品ATQASAKUID长度Mifare Mini00 04094 bytesMifare Classic 1k00 04084 bytesMifare Classic 4k00 02184 bytesMifare Ultraligh00 44007 bytesMifare Plus00 44207 bytes" S8 v5 B5 b7 C# m& Y

5 f) u$ J* Q  K1.6 IC卡详细分析) R( F8 U# r; H$ \2 B* Q- R

9 c; |& V, ?* Y2 T) P6 j. b; A1.6.1 IC卡存储器结构
+ N  A2 T7 D0 d7 ^4 K( ?* S4 u0 q3 C9 U$ U7 I, B0 _! Y' k
以M1卡为例,介绍IC卡数据结构。
+ ?, h9 _! t. _) kM1卡有从0到15共16个扇区,每个扇区配备了从0到3共4个数据段,每个数据段可以保存16字节的内容;
5 j& T0 @" z2 z: B每个扇区中的段按照0~3编号,第4个段中包含KEYA(密钥A 6字节)、控制位(4字节)、KEYB(密钥B 6字节),每个扇区可以通过它包含的密钥A或者密钥B单独加密;/ \3 L) p: `1 {( h/ C

$ w/ }7 x) B( `- v% R0 }7 a
, ]4 L# O/ L( i& H( W! S0 W$ Q4 E4 n# L- z" G" f- K
厂商段
& |, n; v6 f  D) n2 F' `每张M1卡都有一个全球唯一的UID号,这个UID号保存在卡的第一个扇区(0 扇区)的第一段(0 编号数据段),也称为厂商段。
4 s1 y! u: M. q4 c1 N% I; w其中前4个字节是卡的UID,第5个字节是卡 UID 的校验位,剩下的是厂商数据。
: z* C" ^! T2 y/ ?, d! s并且这个段在出厂之前就会被设置了写入保护,只能读取不能修改,前面各种能修改UID的卡,UID是没有设置保护的,也就是厂家不按规范生产的卡。% I! X! }  ]  b! `/ k' W8 q0 e& o# y
+ @) ]4 ~# y- L  N( v; V
: o5 A9 y$ D; I" ?% |( @

# d& v9 @0 w/ K& Q数据段
, ^. c+ o9 z" s: W8 Z: @除了第0扇区外,其它每个扇区都把段0、段1、段2作为了数据段,用于保存数据。
% x3 T( N; m5 ?) ]! x; w. m8 T, q数据段的数据类型可以被区尾的控制位(Access Bits)配置为读/写段(用于譬如无线访问控制)或者值段(用于譬如电子钱包)。
  A" ]* z3 r9 A值段有固定的存储格式,只能在值段格式的写操作时产生,值段可以进行错误检测和纠正并备份管理,其有效命令包括读、写、加、减、传送、恢复,值段格式如下:2 e" R5 [& @+ H+ F* i1 A
# Y+ c& n5 M  O. d: L

( X$ P  K, s# A4 q+ ~* v* o0 {3 E; m( w3 c9 j( \! W; m9 a
Value表示一个带符号4字节值,为了保证数据的正确性和保密性,值被保存了3次,两次直接保存,一次取反保存。该值先保存在0字节-3字节中,然后将取反的字节保存在4字节-7字节中,还保存了一次在8字节-11字节中。1 i: Z0 R8 q! u2 Z0 b6 \. h, S
Adr表示一个字节的地址,当执行备份管理时用于保存存储段的地址。地址字节保存了4次,取反和不取反各保存了2次。在执行加值、减值、恢复和传送等操作时,地址保持不变,它只能通过写命令改变。
) ^& j2 ?9 a# z. J9 K
7 Y/ j3 g" {; H- c0 f$ Y控制段
8 m8 V  p' d) h# [0 p, G* |4 E每个扇区都有一个区尾控制段,它包括密钥A和密钥B(可选),以及本扇区四个段的访问控制位 (Access bits);访问控制位也可用于指出数据段的类型(为读/写段还是值段);控制段的存储格式如下:& `$ p) L. I4 U- O; E- s
7 q+ q) j8 k/ L2 M8 x9 b* T
! r; a1 E8 ^" T

5 |/ U5 L+ C: z( f3 o如果不需要密钥B,那么区尾的最后6个字节可以作为数据字节,用户数据可以存储在区尾的第9个字节,这个字节具有和字节6、7、8一样的访问权限。) A, p4 c9 c2 a7 o
+ C. k" b* U- M0 _* B8 f
1.6.2 IC卡访问存储器6 j  o. b/ |5 S$ i! d+ f$ r
( z) z. M" V) [4 K( v+ ?4 I' _
数据段支持的操作
. R6 s: p" b" f& ~, i7 s" e根据使用的密钥和相应区尾访问条件的不同,数据段所支持的存储器操作也不同,存储器的操作类型如下:
$ _) @" I4 i  p- k( ?9 o5 F% H) {, a0 G: q" S+ d" K. z0 h

8 s2 }' W; k7 R6 Y+ ^  e- [" M, g  }$ ^  K7 A8 K9 j1 C3 D
可以看到只有作为值段时,才能加、减、传送、恢复。
2 Q4 t  l# v+ V6 f+ `
' _& ^0 a- q4 v& d. e/ L0 T各区的访问位定义9 [  `4 y/ T. n2 s( a
每个数据段和区尾的访问条件由3个位来定义,它们以取反和不取反的形式保存在区尾指定字节中。
  w% r) t9 Y* {2 ~7 i2 v. {; K9 a访问位控制了使用密钥A和B操作存储器的权限,当知道相关的密钥和当前的访问控制条件时,可以修改访问条件,各区的访问位定义如下:
9 c, t( P) D; |  U2 t/ ]+ G
/ b& f3 A& e/ x: |+ x% N; G& B- t' `- p  g& _& C

" G1 i/ Z$ ?5 i; H: ?访问位在区尾的存储形式
% \5 o' x9 M' {+ p; z* B0 p4 E" A* Y1 e/ o, A

7 @  c" n+ k, c. s3 [* v& m$ I- q% D7 F" ?$ j1 z0 H
区尾的访问条件
5 @  A. \5 s* j, j* w- w& F根据区尾(段 3)访问位的不同,访问条件可分为 “从不”、“密钥A”、“密钥B” 或“密钥A|B”(密钥A或密钥B),区尾的访问条件如下:- Q, A" A, R* t1 A" q! v

% B8 a8 x+ u9 u$ V2 r* h. q( U5 i( ^
1 z: r6 I8 x6 U4 t& o
3 a2 [9 j# {' Q$ n用灰色标明的行是密钥B可被读的访问条件,此时密钥B可以存放数据。
  A& t4 R2 l& H4 i例如:当段3的访问条件C13C23C33=100时,表示:密钥 不可读(隐藏),验证密钥B正确后,可写(或更改);访问控制位在验证密钥A或密钥B正确后,可读不可写(写保护);密钥B不可读,在验证密钥 B 正确后可写;) W8 m7 D8 F* W( @$ {
又如:当段3的访问条件C13C23C33=110或者111时,除访问控制位需要在验证密钥A或密钥B正确后可读外,其他如访问控制位的改写,密钥 A,密钥 B 的读写权限均被锁死而无法访问;
/ E* t# f, i! Z* T- J
6 I' C2 N: D# d, _1 O0 p& _! n数据段的访问条件; m' E; w7 A0 g. c0 W+ g4 h
根据数据段(段 0-2 访问位的不同,访问条件可分为 “从不”、“密钥A ”、“密钥B ” 或“密钥A|B”(密钥A或密钥B)。2 r4 w8 l7 x. x( F, v
相关访问位的设置定义了该段的应用(或者说数据段类型)以及所支持的应用命令,不同的数据段类型可以进行不同的访问操作。 读/写段可以进行读操作和写操作。值段可以进行加、减、传送和恢复的值操作。
0 x* P. Y, o/ M6 r其中一种情况中(001)只能对不可再充电的卡进行读操作和减操作,另一种情况中(110)使用密钥B可以再充电。 厂商段无论设置任何的访问位都只是只读的, 数据段的访问条件如下:) c! \0 Z# P% Q4 ^# D

/ W6 p5 b$ c. W
$ H6 w0 L7 e1 X) }5 V* E- k
% r7 {: g, j' x4 s& F- J如果密钥B可以在相应的区尾被读出,它就不能用于确认(在前面所有表中的灰色行)。如果读卡器要用这些(带灰色标记的)访问条件的密钥B确认任何段,卡会在确认后拒绝任何存储器访问操作。) }* K  R/ _. B  y5 V
. }1 n$ |! _" }; X
1.6.3 举例说明$ v9 s+ v! `8 p

! W4 w- g$ [# ]- H8 R! d. `+ Q; dMifare S50出厂时,访问控制字节(字节6-字节9)被初始化为“FF 07 80 69”,KEY A和KEY B的默认值为“FF FF FF FF FF FF” ;
; j8 o8 v/ f: m% Q- ?5 v" Q! C字节6为FF,二进制为1111111;字节7为07,二进制为00000111;字节8为80,二进制为10000000,如下:* a, \5 D& X% H9 h; |( E

2 w6 Q2 {2 Q/ J( L( o; ^
* v3 e- c5 @% ~) `; R! h
5 ]( o$ ~+ }9 a4 G/ A6 `对照前面的访问位在区尾的存储形式图,可得知访问控制位为:
% k2 S6 |/ |9 d6 }; V/ @# nC10C20C30=000;C11C21C31=000;C12C22C32=000;C13C23C33=001。
. D" H9 p  i" @
8 O. C7 j7 T+ j: `. M- A1 eC10C20C30、C11C21C31、C12C22C32对应数据段0、1、2,参考数据段的访问条件图即可得知该段三个数据区的访问权限;- [- ?" _6 m& [6 R' s6 P
C13C23C33对应区尾(段 3),参考区尾的访问条件图即可得知该段的访问权限;
  ^( K1 N0 y" i3 t- d9 P( g
+ @# d! v; W& _1 P+ v) k* v块0控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;7 M. q, d6 N8 Y; F" c
块1控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;. o/ f# L6 [) |
块2控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
1 q. F$ c* A( r( ^. b块3控制位为:0 0 1 权限为:A密码不可读,验证A或者B密码后可改写A密码;验证A或者B密码后,可读可改写存取控制;验证A密码或者B密码后,可读可改写B密码;4 D9 W. p1 T7 j9 C" D
& ^/ n) W3 X$ `. b5 z/ v* }
这样每次换算还是有点麻烦,可以使用M1 S50卡控制字节生成工具快速换算:7 L! {. o8 r# C/ @4 A) J
# ~# I! B2 J: ?+ c" r

+ S& f5 i+ U8 O2 _5 ~1 I9 O) z0 N; a- g3 [1 s
最下面一行可以输入想解释的控制字,也可以根据上面的设置生成控制字;
$ |, ^! s$ [* A; Y# _/ m: j& m最上面一行,左边是数据段0、1、2的访问控制位,右边是对应权限所需要的秘钥;
) Z6 {( h" ^$ k& W! D2 T; N中间的一行,左边是区尾的访问控制位,右边是对应权限所需要的秘钥;2 U- j& n* ]8 |, U+ b  o
# Q. _# }7 b5 V
1.7 非加密IC卡和加密IC卡
$ I; U7 F" J/ k9 L% R+ [: F
$ s' l+ U; S# ]# r: S非加密IC卡和加密IC卡的区别就是,非加密IC卡中所有扇区的KEYA和KEYB数值都是默认值FFFFFFFFFFFF;
/ c  ]4 ]5 L0 F# f而加密IC卡中,其中有扇区的KEYA和KEYB不等于FFFFFFFFFFFF,部分扇区加密的卡称半加密IC卡,所有扇区都加密的卡称全加密IC卡。
5 }  B, z$ [9 r% Z, j* F. c% z; R& V* I( a" l5 o: T
一般的读卡器,像手机的NFC,是读不到IC卡的加密数据的,需要用专门的工具,比如Proxmark3读取。( R* O" o& r. Z# s3 @5 m

8 e; N1 E" e; P! Z% g对于IC卡,除了对卡上数据加密,还有滚动码加密、服务器数据验证等技术。  E) [- B- v- J9 _- T% M
因此,对IC卡的解密,更多的是门禁卡、签到卡、车库卡等的讨论,像公交卡、饭卡等涉及到资金问题的,基本都有服务器定期校验,得先搞定服务器再说,难度高还违法。8 u/ N! N: }8 w$ W. q  \  X
* b1 x+ s5 h8 H
参考资料:
) H" F: G8 N& [' a9 H码农生活 篇二:IC卡门卡模拟探秘
# s# p6 Z% E" C6 AIC卡简介【M1/S50,UID,CUID,FUID,UFUID复制卡介绍】
" C" l1 d. A* l- h/ n谈谈 Mifare Classic 破解# ~; \' v4 o* @% D
rfid-practice
9 V1 X6 n6 @7 e# b, p4 BType A 卡存储结构与通信
% a: R5 L( @( `6 sProxmark3 Easy破解门禁卡学习过程
7 o" V& \( @+ F( j& A5 b+ s
7 }5 [  n# Q* h/ ]2. 手机NFC模拟加密门禁卡( q& q6 j5 C. g9 U' i& g2 N
* r! @2 k) ^: l5 P& g3 k; h& |
有了前面的知识,再来看现在我的加密门禁卡情况,手机能识别为加密卡,肯定是IC卡。
0 k8 M& ]! O. I, I' M
9 A( E; u' x( K. ?& w& |首先,加密卡在目前这个情况下是无法解密的,如果按照下面的操作失败,请参考下一章。$ t; \" m4 j1 K. g/ ?) b; l2 t. m
部分门禁系统只认证IC卡的UID,利用这一情况,可以试试复制门禁卡的UID,看运气能否打开门。  s8 a* P! O$ _( a' s

5 j5 ]5 ?# M4 y. J在已root的情况下,直接使用APP NFC卡模拟 便可读取加密卡的UID和非加密数据、并写UID到手机NFC里。
$ ]. L# G, h( ^. r# P, {/ m在未root的情况下,使用小米系统自带的门卡模拟功能,出于安全考虑,是不能对加密卡进行任何操作。手机的NFC,理论上可以读加密IC卡的UID,因此可以使用第三方软件MifareClassicTool读取UID,因为没有root,不能写手机NFC,但可以写IC卡,因此还需要一张CUID卡(不能使用UID卡),某宝上一块多一张,思路就是先读取加密卡的UID,再读取CUID卡的数据,然后将CUID卡的UID改为加密卡一样的UID,再将修改后的数据写回到CUID卡,最后用小米系统自带的门卡模拟功能,复制未加密的CUID卡即可。5 I/ G: l7 K; Z: f) L4 x/ o; j

/ w; Y: R. U3 ]" l- [1.读取加密卡的UID9 h9 C3 x9 @! I2 F$ k: D
打开软件Mifare Classic Tool,将加密门禁卡放到手机的NFC感应区域,识别到IC卡后,点击“工具”->“显示标签信息”,可以看到加密门禁卡的8个数字,4字节的UID。2 m& ^! [  F$ k0 |
注意,在16进制里,每个数字为4位(2^4=16),8位(bits)为一字节(bytes),即两个数字组成一字节,这里8个数字,即为4字节(Bytes)。, L" O* ]& w# E
前8个数字,每个数字代表4位,8位为一字节,8个数字就是32位,即4字节
2 N; e. p6 L: n) |接着打开“工具”->“BCC计算器”,输入UID,得到1位BBC(两个数字)校验数据。8 D+ @1 K$ v$ M/ O* O0 D
5 k: n7 k* ~7 v. L
0 ~( n- t/ y5 Z1 H$ _) G" k$ F3 |

, b0 m+ o- K/ ]% [2.读取CUID卡数据
  ~* A( ?. A& h" |1 q将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“读标签”->“启动映射并读取标签”,即可得到CUID白卡的所有信息。
% J: P" \1 {" E- q- ~/ ^# O1 @6 B% F接着修改第一行的前10个数字,改为加密门禁卡的UID(8个数字)和BCC(2个数字),一共10个数字,并点右上角保存图标保存。( o1 I5 [5 v* L2 B

+ e1 k- m. d) ~& F; _; t. o& S. |4 ^$ p5 H; `! m$ h$ @7 h
; U. D1 G' B5 T/ k- V
3.写数据到CUID卡7 C+ t! s3 o2 m3 @* E
再将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“写标签”,勾选“写转储(克隆)”->“显示选项”->“高级:使能厂商块写入”。
9 [% |$ m" W: j2 _0 V. h% H再点击“选择转储”,选择刚才保存的数据,点击“选择转储”。
6 |( N4 _) K" ^( x* M" |, h  B" ]7 k# Q: ?7 }1 H& M4 g& W- r5 D6 q

5 v5 z' M; N$ T5 v/ }+ L$ s' h
! a) V/ V4 m8 D' z7 A在弹出的选择写扇区界面,默认即可,点击“好的”,最后点击“启动映射并写转储数据”。0 y. l( P6 \: V! ~' n5 |

2 t; J: M& g' G
+ B4 _5 J, M% `: @# g, |3 v6 r6 f: `/ r$ W# K( I- |2 Y$ u2 }! e
4.NFC手机复制CUID卡
- ]. V+ ?) b8 Y& d- R; L3 ?最后,使用小米手机系统自带的门卡模拟功能,复制刚才写入新UID的CUID卡即可。* M7 R: j! u. L; T, }3 e
5 X3 n2 m. y. D. e! C7 i2 H
接着,就看运气吧,我小区的门禁系统就只认UID,搞定。
( r: r( P6 f2 z3 @* {! k' l7 _% h+ M: U) i5 t
% [( U0 f% h7 @4 ]4 Z

精彩评论8

BI3NRS 来自手机 显示全部楼层 发表于 2021-1-18 13:25:25 来自: 中国–河北–唐山 联通
学习一下,感谢分享
回复 支持 反对

使用道具 举报

15314375698 来自手机 显示全部楼层 发表于 2021-1-19 07:46:45 来自: 中国–山东–滨州–无棣县 联通
学习了师傅厉害
回复 支持 反对

使用道具 举报

彩虹之约 来自手机 显示全部楼层 发表于 2021-1-19 15:42:33 来自: 中国–云南–文山壮族苗族自治州 移动
谢谢师傅,好详细的文章。
回复 支持 反对

使用道具 举报

畅游天下 显示全部楼层 发表于 2021-4-8 13:45:17 来自: 中国–陕西–铜川 电信

1 @, S* l1 X) x0 A) Q% n2 t谢谢师傅,好详细的文章。现在多用于UID和CUID以及IC
回复 支持 反对

使用道具 举报

灵活的胖子 来自手机 显示全部楼层 发表于 2021-5-16 08:00:48 来自: 中国–江西–南昌 电信
每天学习一点点,每天进步一点点
回复 支持 反对

使用道具 举报

苍蓝 来自手机 显示全部楼层 发表于 2022-7-1 09:21:24 来自: 中国–北京–北京 移动/数据上网公共出口
学习一下,谢谢分享。
回复 支持 反对

使用道具 举报

A锁作锁为,为你 来自手机 显示全部楼层 发表于 2022-7-1 21:08:08 来自: 中国–云南 电信/数据上网公共出口
谢谢师傅,好详细的文章
回复 支持 反对

使用道具 举报

向世伟 来自手机 显示全部楼层 发表于 2022-7-14 06:41:54 来自: 中国–重庆–重庆–铜梁区 电信
不错不错不错不错,谢谢分享!辛苦了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册成为锁艺人

本版积分规则

中国锁艺人,这里是一个锁的世界,锁匠行业交流门户网站,聚集了锁具爱好者、锁具开发者、锁匠、锁匠协会、锁匠俱乐部、锁具企业等会员在这里交流互动。锁艺互动,技艺飞跃,洞悉锁艺奥秘。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Copyright © 2008-2022, Lockartist  | All Rights Reserved. 锁艺人 | 锁匠 | 开锁 | 开锁学校 | 西安开锁 | 西安汽车钥匙
  • 西安锁艺人安防设备有限公司 版权所有 陕ICP备12005758号-11 | 电子营业执照 | 经营许可证编号 陕B2-20200181