返回顶部

NFC模拟加密卡

  [复制链接]
天际线0907 显示全部楼层 发表于 2021-1-18 00:52:33 |阅读模式 打印 上一主题 下一主题 来自: 中国–山东–泰安肥城县 电信
记录小米手机NFC模拟加密门禁卡,以及Proxmark3的使用。! @5 r) \6 p; N2 |0 f2 z* y

' I" X! {( R; {$ C0. 缘起' @8 i6 V5 y$ l  z
# e( C- d/ x, _
之前,小区用的门禁卡为非加密的门禁卡,使用小米手机系统自带的门卡模拟功能复制即可。
4 B3 W- L2 X5 t1 ^3 l  F后来,小区门禁系统换了一家供应商,再使用之前的方法复制门禁卡,手机提示为加密卡,无法复制。/ r# w6 Y. H6 z" @8 G; i$ U

- q( ~" L# t. \; I8 @新的门禁系统,更安全了,也支持APP远程控制开门了,直到有一天门禁卡丢了,开始使用APP开门,发现这APP写得烂透了,十次有五次点击开门按钮无反应,需要反复退出、打开APP多次才能点击开门按钮成功,还有两次直接没了开门按钮,提示到物业管理处处理……
- c" e7 x7 P, P8 B8 M# V那个时候,我又开始怀念用手机刷门禁的快感了。。1 a* J' B& B# {! W. y7 o
7 p: X) h) Q2 m7 ]/ i
1. 基础知识! L5 _. {+ |% F1 T# Y
/ q2 E9 v0 Z& a9 a
于是,我开始查阅资料,基本确定了小米手机是还是可以通过其它方式模拟加密门禁卡的。! U' b# e# d5 `: ^
然后,资料查多了,记不到,又怕以后用到需要重新找,干脆水一篇博客记录下来。
8 o  c2 g$ V2 d7 v) }7 m7 ~如果熟悉NFC和IC卡,或者只想模拟加密门禁卡,并不关心原理,这章可以跳过,直接看下一章。/ _  Z' P* X. D; i' G8 n
1 m* B- F4 j7 v- A( Y) |
1.1 ID卡和IC卡6 m' r: k$ W8 E# a
9 r4 l  }" [8 z' f5 J2 `% z: W
ID卡:全称身份识别卡(Identification Card),多为低频(125Khz),是一种不可写入的感应卡,含固定的编号,主要有台湾SYRIS的EM格式,美国HID、TI、MOTOROLA等各类ID卡。
& |) t* F9 X3 O7 I7 g
+ I$ D( x1 Y! a1 y4 D5 K6 J# ?& bIC卡:全称集成电路卡(Integrated Circuit Card),又称智能卡(Smart Card)。多为高频(13.56Mhz),可读写数据、容量大、有加密功能、数据记录可靠、使用更方便,如一卡通系统、消费系统等,目前主要有PHILIPS的Mifare系列卡。
  f2 j2 u: a7 @, k, Y
  q+ ?; `" v* ?) P$ h4 q$ r/ k, t主要区别:
. ~* V9 c- I5 j# H& d/ K6 h+ {ID卡,低频,不可写入数据,其记录内容(卡号)只可由芯片生产厂一次性写入,开发商只可读出卡号加以利用,无法根据系统的实际需要制订新的号码管理制度;
. n+ F( h0 I' u% {5 GIC卡,高频,不仅可由授权用户读出大量数据,而且亦可由授权用户写入大量数据(如新的卡用户的权限、用户资料等),IC卡所记录内容可反复擦写;7 `! T4 F8 J$ F, p

1 `  c' n0 \8 F0 ]9 L- `, hIC卡由于其固有的信息安全、便于携带、比较完善的标准化等优点,在身份认证、银行、电信、公共交通、车场管理等领域正得到越来越多的应用,例如二代身份证、银行的电子钱包,电信的手机SIM卡、公共交通的公交卡、地铁卡、用于收取停车费的停车卡、小区门禁卡等;
/ }  n8 P, }; M/ E% c# U# n# ^2 p

+ c; z& K/ s: z; l$ G3 g7 H( k+ X% T0 T- ?5 V; v1 F! Y  h. T+ e

- j5 c  L9 Q. C) {; D8 W: h# I2 o  H& X, K" ~
以上图片来自淘宝商家,网上找了半天相关资料,发现淘宝商家解释得最清楚。+ f. F) |5 ?1 w- _

/ X# R& \% d* o' C7 M  b总结:& S* N) @* h7 r
1.ID卡多为低频,IC多为高频;
2 z6 C8 [  D( z" x: f. V+ m; @/ s2.IC卡整体上看比ID卡更有优势,市面上使用的大多数也是IC卡;
* l  a1 R0 f- v: g. J) P3.对于矩形白卡,里面为矩形线圈、表面没有编号的多为IC卡,里面为圆形线圈、表面有编号的多为ID卡;! `7 B" ^" L1 p$ U
4.对于异形卡,有编号的多为ID卡,最好使用带NFC的手机进行测试(目前手机NFC只能读高频13.56Mhz),IC卡会有反应;8 u5 h; t" g0 _+ K: \4 b

' U- Q3 l# a5 q  _" }1.2 接触式和非接触式IC卡
- n; ^9 p9 T$ R5 R& Q, k+ I- A9 a! W1 w3 w0 W3 }! e
IC卡又可以分为接触式IC卡和非接触式IC卡。
& r7 F) y: v2 o) N
3 p0 u) w9 ^  Q0 l# b) M接触式IC卡:该类卡是通过IC卡读写设备的触点与IC卡的触点接触后进行数据的读写;
* ^+ b  A8 U, j# N  k
" k, j! h! n: s& Q, i2 m6 }非接触式IC卡:又称射频卡、感应式IC卡,该类卡与卡设备无电路接触,而是通过非接触式的读写技术进行读写(例如RFID、NFC),其内嵌芯片除了CPU、逻辑单元、存储单元外,增加了射频收发电路。该类卡一般用在使用频繁、信息量相对较少、可靠性要求较高的场合。
: e' F9 N& z+ m& ?# i6 _2 I! u  c8 F- V3 z! p! F- p
两者比较好区分,直接看卡上有无金属触点即可。
( d& B/ Q$ V! Q# J$ R5 V! i' \* ]+ l; b; t, |9 y+ P

6 |( A% g! P3 G2 Y# U0 l- ?: u
4 g! O2 r! p3 R; I* ]1.3 RFID和NFC
3 b% F$ O: f" v+ m* O5 H6 y# b
% C# _* {1 O" n# q2 O! l$ }非接触式的读写技术常见的有两种:RFID技术和NFC技术。
; ]5 ]" V! a% n, L
1 j5 L5 N9 K$ [$ YRFID技术:
6 D) Y/ E% M, \$ J4 ?1.通常应用在生产,物流,跟踪和资产管理上;2 \( v/ K! N7 t1 r
2.根据频率划分包含低频、高频(13.56MHz)、超高频、微波等;+ e: ?+ A9 n1 q1 g
3.作用距离取决于频率、读写器功率、读写器天线增益值、标签天线尺寸等,工作距离在几厘米到几十米不等;+ x& |7 W- n1 U5 h  p' D9 {0 n: h
4.读写器和非接触卡可以是一对多关系,也可以说一对一关系;且读写器和非接触卡是两个实体,不能切换;, k. y9 h! A5 I4 j) s/ e

8 `6 K' {3 I! X/ o, i# UNFC技术:/ q4 J/ }4 O9 u! f
1.通常应用在门禁,公交卡,手机支付等领域;
) W2 R9 y4 Q% U+ `: ^2.频率也是13.56MHz,且兼容大部分RFID高频相关标准(有些是不兼容);; O% U3 s$ y! ?: T
3.NFC作用距离较短,一般都是0~10厘米;
/ F6 W& \4 ]( S# [5 }4.读写器和标签几乎都是一对一关系;且支持读写模式和卡模式,可以作为读写器也可变为非接触卡;/ J. H$ `5 \5 l0 ?. H
# e+ y+ i* \* t; d$ Y9 j" V( x: n
总体来说,NFC是RFID的子集,但NFC有些新特性又是RFID所不具备的。' t7 H/ K) `$ B2 g1 b

! L+ r  _& a5 r* `9 q7 _1.4 ID卡类型8 J7 ]: [' S: I
5 f7 l" q2 m* X! u
ID卡,工作在低频(125Khz),根据卡内使用芯片的不同,有如下分类:
; [5 q9 A/ ?; n. Z. s" D) X$ l$ \
ID卡; ]+ t* g% q& A- ]+ ^; M6 ^8 B
EM4XX系列,多为EM4100/EM4102卡,常用的固化ID卡,出厂固化ID,只能读不能写;常用于低成本门禁卡,小区门禁卡,停车场门禁卡;; A. P" r4 H7 P, b& ^3 K

' n; U8 ?. K  pID白卡
( f6 d, C- x# \1 gEM4305或T5577,可用来克隆ID卡,出厂为白卡,内部EEPROM可读可写,修改卡内EEPROM的内容即可修改卡片对外的ID号,达到复制普通ID卡的目的;6 D0 K. d9 d8 n' ^0 L9 R% c- H3 d
T5577写入ID号可以变身成为ID卡,写入HID号可以变身HID卡,写入Indala卡号,可以变身Indala卡5 P( d7 D, J, q# {
' S. }$ N7 v. K! d! v
HID卡( I2 S) U# A: _# P7 V* F
全称HID ProxⅡ,美国常用的低频卡,可擦写,不与其他卡通用;
& s! b, n. e( N5 V7 |: @; s
  I6 A) ]  N) m' ~5 R1.5 IC卡类型
* d1 k# l; c) U! s$ k' ^% H. N8 v# I, D1 E
IC卡中最常见的是NXP Mifare系列卡,工作在高频(13.56Mhz),根据卡内使用芯片的不同,有如下分类:
) m. P0 [  V) w
; u. y) U  g; o/ \2 i; lM1卡+ P! H+ ^6 b$ {$ T6 W) v4 _
全称Mifare S50,是最常见的卡,出厂固化UID(UID即指卡号,全球唯一),可存储修改数据;常用于学生卡,饭卡,公交卡,门禁卡;
# U' U( Z) c' ]% A
3 `6 `! J& C/ E4 ]3 F, bM0卡
3 I4 N6 K( f& l8 y/ L9 D全称Mifare UltraLight,相当于M1卡的精简版,容量更小、功能更少,但价格更低,出厂固化UID,可存储修改数据;常用于地铁卡,公交卡;0 P/ h+ W  J( b! D& A

# t6 l& [" N/ w& F6 E, ?; h以上两种固化了UID,为正规卡,接下来就是一些没有固化UID,即不正规的卡:
5 q( c  H. C! n% G* B. R) w% B* o3 ~" U3 m
UID卡
0 S2 A- t3 f0 m. o; U+ `- @全称Mifare UID Chinese magic card,国外叫做中国魔术卡,M1卡的变异版本,使用后门指令(magic指令),可修改UID(UID在block0分区),可以用来完整克隆M1卡的数据;
6 `: ?" U$ f. S2 d8 X! ~但是现在新的读卡系统通过检测卡片对后门指令的回应,可以检测出UID卡,因此可以来拒绝UID卡的访问,来达到屏蔽复制卡的功能(即UID防火墙系统);
& Z3 d- c# F, w* K! v7 F( _8 c1 n2 Z$ y$ s
CUID卡, S" @# J: q4 o, l) R- @
为了避开UID防火墙系统,CUID卡应运而生,取消响应后门指令(magic指令),可修改UID,是目前市场上最常用的复制卡;
! l* g  u# ?& x) d近两年,智能卡系统制造公司,根据CUID卡的特性研发出CUID卡防火墙,虽然现在(2019年)还不是很普及,但是总有一天CUID卡会和UID卡一样面临着淘汰;$ J7 F# Y, f- h$ W
. ?. _; W% v- o* W7 ]; X% {
FUID卡* q: t$ \$ s2 r: o2 j
FUID卡只能写一次UID,写完之后自动固化UID所在分区,就等同M1卡,目前任何防火墙系统都无法屏蔽,复制的卡几乎和原卡一模一样;; W; S. J  K* g  b8 R, M
但缺点也相对明显,价格高、写坏卡率高,写错就废卡。# q4 K! s" N* r" _1 a5 }' h
1 Z1 \+ _+ b- i1 S: o/ W3 ]1 o5 g
UFUID卡
, ~$ o1 `- ^7 c1 V* s- f集UID卡和FUID卡的优点于一身,使用后门指令,可修改UID,再手动锁卡,变成M1卡。+ H9 P& M7 q! v) Z, W, B9 Z
可先反复读写UID,确认数据无误,手动锁卡变成M1,解决了UID卡的UID防火墙屏蔽,也解决FUID的一次性写入容易写错的问题,且价格比FUID卡还便宜;2 a" H( X! K8 o4 i# `. x/ p

. @" ]8 A# W3 X% j6 r6 ^) a* Y5 e判断是M0卡(Mifare UltraLight),还是M1卡(Mifare Classic 1k),可以通过SAK值判断。
4 x) E9 J8 [5 |  {- [' Y3 P
6 T  u, u$ }8 ?5 ?& e5 k产品ATQASAKUID长度Mifare Mini00 04094 bytesMifare Classic 1k00 04084 bytesMifare Classic 4k00 02184 bytesMifare Ultraligh00 44007 bytesMifare Plus00 44207 bytes
5 Y( x( M1 C6 _; v& V+ U5 W2 H. N# ], B: J  ]
1.6 IC卡详细分析$ O( r+ S  X; c# d$ S- g% Y

1 i) i' O2 T$ v: p7 X0 t9 E; ]1.6.1 IC卡存储器结构
* `2 ?7 ^6 ~( C2 c; U
' d1 R$ ^2 @+ v! R7 [7 {$ }以M1卡为例,介绍IC卡数据结构。( \. P0 V* B* E, k5 z- O* }" x7 _
M1卡有从0到15共16个扇区,每个扇区配备了从0到3共4个数据段,每个数据段可以保存16字节的内容;, W* Z6 r. z: b, Y
每个扇区中的段按照0~3编号,第4个段中包含KEYA(密钥A 6字节)、控制位(4字节)、KEYB(密钥B 6字节),每个扇区可以通过它包含的密钥A或者密钥B单独加密;% W$ i7 s! l3 [" b4 m$ d5 V
8 D. _; B" e/ I
* ]. K" G. d" ]& s
* A1 p, y3 j" Q  U2 B
厂商段" B6 m4 r, {' @& h4 K9 a3 V8 w8 G
每张M1卡都有一个全球唯一的UID号,这个UID号保存在卡的第一个扇区(0 扇区)的第一段(0 编号数据段),也称为厂商段。/ I% l' D( l0 T1 S+ [3 N4 p
其中前4个字节是卡的UID,第5个字节是卡 UID 的校验位,剩下的是厂商数据。
" W0 d, F" v& B* f6 ?' I# s: t并且这个段在出厂之前就会被设置了写入保护,只能读取不能修改,前面各种能修改UID的卡,UID是没有设置保护的,也就是厂家不按规范生产的卡。3 _0 s: a4 a9 N  }+ N: c9 J9 e
( i% F9 j) w0 H2 G' s: B
1 j8 h+ H8 l4 e  d) q- M5 c

; T: K+ E7 G; `/ z6 G数据段
* e5 C8 w9 A# [, t1 a* v1 M! N除了第0扇区外,其它每个扇区都把段0、段1、段2作为了数据段,用于保存数据。: Q. z. A7 f2 u! D. I4 ^
数据段的数据类型可以被区尾的控制位(Access Bits)配置为读/写段(用于譬如无线访问控制)或者值段(用于譬如电子钱包)。
9 z" e$ c# |6 x% o% G" R8 k值段有固定的存储格式,只能在值段格式的写操作时产生,值段可以进行错误检测和纠正并备份管理,其有效命令包括读、写、加、减、传送、恢复,值段格式如下:& ]/ n$ L2 R. {8 V+ q

7 I% t' P. }9 v0 r8 I( f+ F& z! X9 R, G5 E

' I; ]% Q. I0 eValue表示一个带符号4字节值,为了保证数据的正确性和保密性,值被保存了3次,两次直接保存,一次取反保存。该值先保存在0字节-3字节中,然后将取反的字节保存在4字节-7字节中,还保存了一次在8字节-11字节中。
7 p: O4 {3 ~2 M4 o1 |Adr表示一个字节的地址,当执行备份管理时用于保存存储段的地址。地址字节保存了4次,取反和不取反各保存了2次。在执行加值、减值、恢复和传送等操作时,地址保持不变,它只能通过写命令改变。
4 t& A+ {! S7 z1 ~: z: w1 a: `3 h- p4 ~% ]. `. h
控制段
% A# g9 P: F; C( w) A每个扇区都有一个区尾控制段,它包括密钥A和密钥B(可选),以及本扇区四个段的访问控制位 (Access bits);访问控制位也可用于指出数据段的类型(为读/写段还是值段);控制段的存储格式如下:
0 z6 o5 F$ D8 J, R% i9 Z
0 H8 q7 q9 G* Q, E' P7 l6 N, p# O5 k# ]5 @6 B* [3 w0 ]5 j. T
' |& Q6 \' \, B) I/ C. W7 O" _5 C
如果不需要密钥B,那么区尾的最后6个字节可以作为数据字节,用户数据可以存储在区尾的第9个字节,这个字节具有和字节6、7、8一样的访问权限。
4 E# G1 O, W1 T1 h$ |% Q% `, N2 g; Q  O
1.6.2 IC卡访问存储器/ f  V- X+ I7 O; H/ v+ p
2 N" z, Z4 C7 t
数据段支持的操作0 \7 _" S! o9 m
根据使用的密钥和相应区尾访问条件的不同,数据段所支持的存储器操作也不同,存储器的操作类型如下:
% ~5 Y" _' A1 ^/ j0 U* |
& l  Z2 o9 z/ w3 a' ^  ]/ G3 R& A' q, d, q/ ?4 F
+ Q: ?$ z) F6 ?: B1 S
可以看到只有作为值段时,才能加、减、传送、恢复。
+ l* ^, Q" C9 R; S- z% r
! T/ x; V$ O5 b. _2 O$ n各区的访问位定义3 W" B  g/ u' Y6 Y5 i
每个数据段和区尾的访问条件由3个位来定义,它们以取反和不取反的形式保存在区尾指定字节中。; l2 C& K! I8 d' f& o8 b
访问位控制了使用密钥A和B操作存储器的权限,当知道相关的密钥和当前的访问控制条件时,可以修改访问条件,各区的访问位定义如下:: y" V  {! Y6 _: V& C

7 _0 b8 |2 @7 N! A9 }) a8 j0 ]  d8 e# ^

* b* {3 e# t& g3 P) M* i访问位在区尾的存储形式
2 {+ Z% J6 [& L1 \) q) z* u8 ?# J$ n0 S7 r( [8 I# h+ a- E2 \3 d
0 i( n  {1 v; S! P+ g

" }1 q" R) [) ]$ I4 Y区尾的访问条件
3 C  E5 O" d$ ]% U  b) Q1 }% s根据区尾(段 3)访问位的不同,访问条件可分为 “从不”、“密钥A”、“密钥B” 或“密钥A|B”(密钥A或密钥B),区尾的访问条件如下:& E9 N+ G: M! q

/ a9 S' b1 P8 v4 L8 L" A& M8 q  r
  e* D0 s- O( u
. O6 T! K" W" Y9 x8 j( |8 g用灰色标明的行是密钥B可被读的访问条件,此时密钥B可以存放数据。7 l% U5 d, `, G" Z7 x- M- M* e+ ^
例如:当段3的访问条件C13C23C33=100时,表示:密钥 不可读(隐藏),验证密钥B正确后,可写(或更改);访问控制位在验证密钥A或密钥B正确后,可读不可写(写保护);密钥B不可读,在验证密钥 B 正确后可写;
& ~% Z3 a* ^0 N4 A7 d5 h又如:当段3的访问条件C13C23C33=110或者111时,除访问控制位需要在验证密钥A或密钥B正确后可读外,其他如访问控制位的改写,密钥 A,密钥 B 的读写权限均被锁死而无法访问;* N2 S$ K7 p3 I# Y6 m: W7 @

3 ?8 ]0 w9 U. S- T6 W数据段的访问条件
5 I) l& b/ X, I" e& J$ X+ V7 c根据数据段(段 0-2 访问位的不同,访问条件可分为 “从不”、“密钥A ”、“密钥B ” 或“密钥A|B”(密钥A或密钥B)。
" I, o0 m5 F" k( u# k5 c. v相关访问位的设置定义了该段的应用(或者说数据段类型)以及所支持的应用命令,不同的数据段类型可以进行不同的访问操作。 读/写段可以进行读操作和写操作。值段可以进行加、减、传送和恢复的值操作。' X1 _6 e- G6 [7 Y* F6 D
其中一种情况中(001)只能对不可再充电的卡进行读操作和减操作,另一种情况中(110)使用密钥B可以再充电。 厂商段无论设置任何的访问位都只是只读的, 数据段的访问条件如下:
7 l8 |* m+ O5 i9 x$ [7 H) c  ?9 |2 w
6 o  `4 ]% }+ A( N. S4 I) n  ~/ E0 J3 \: E: v" ~: L

6 k& {. k5 {, I6 H1 Y如果密钥B可以在相应的区尾被读出,它就不能用于确认(在前面所有表中的灰色行)。如果读卡器要用这些(带灰色标记的)访问条件的密钥B确认任何段,卡会在确认后拒绝任何存储器访问操作。, R' E5 G7 f  z' ?4 {0 D; V

! p% Z7 R9 v2 \! w1.6.3 举例说明
* ~. L: a3 h9 E5 w+ x- w; V% v- x) o! E* L
Mifare S50出厂时,访问控制字节(字节6-字节9)被初始化为“FF 07 80 69”,KEY A和KEY B的默认值为“FF FF FF FF FF FF” ;% N7 j( H. ]" u+ o
字节6为FF,二进制为1111111;字节7为07,二进制为00000111;字节8为80,二进制为10000000,如下:' l! D/ b9 i3 o& g+ T6 l* {

9 C$ a  o6 A' @. m8 Q2 `
% w4 b4 f+ ~" Q# x' m% j7 i/ P; K* P7 B( B. p+ i$ i& D5 r( A+ I
对照前面的访问位在区尾的存储形式图,可得知访问控制位为:
% P( u( z  z* M$ ?- Q. k6 dC10C20C30=000;C11C21C31=000;C12C22C32=000;C13C23C33=001。
8 n2 F) R7 R% s2 h" O1 r3 a7 H, B- N% ]7 B9 o- h
C10C20C30、C11C21C31、C12C22C32对应数据段0、1、2,参考数据段的访问条件图即可得知该段三个数据区的访问权限;
/ S8 Z6 w9 F* k, j, ?C13C23C33对应区尾(段 3),参考区尾的访问条件图即可得知该段的访问权限;4 W/ ^/ X( b7 ?0 {4 _
2 J/ h- @$ P+ d' Y& [6 o4 R
块0控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;" |  C( b, ?! V# k
块1控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
( B: v. [) z) @$ w块2控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;+ G4 D; o9 |6 t: A4 O) C' D& k
块3控制位为:0 0 1 权限为:A密码不可读,验证A或者B密码后可改写A密码;验证A或者B密码后,可读可改写存取控制;验证A密码或者B密码后,可读可改写B密码;
5 M8 D- o1 c  O# X7 U3 s
, e3 b9 V# ~' N7 _' O这样每次换算还是有点麻烦,可以使用M1 S50卡控制字节生成工具快速换算:
: P% S; ?& [' r8 K! f  {3 C
2 c" n8 H* ]& l2 ?# [  F* A2 _
: i/ J! n7 i2 X8 [. F; I( `. P1 W
8 E7 n% R; B  Z/ `2 r: c' `最下面一行可以输入想解释的控制字,也可以根据上面的设置生成控制字;4 Q4 k/ z* J: R# d
最上面一行,左边是数据段0、1、2的访问控制位,右边是对应权限所需要的秘钥;
  w8 O; r( V2 B- X. i# @/ b; J) e中间的一行,左边是区尾的访问控制位,右边是对应权限所需要的秘钥;
: j. j5 p# |0 I0 m  B7 Y0 z0 h  I- v( Y4 a4 Y
1.7 非加密IC卡和加密IC卡
! ~* O9 f" R/ B
. J7 S! ?& Y+ N& B& d非加密IC卡和加密IC卡的区别就是,非加密IC卡中所有扇区的KEYA和KEYB数值都是默认值FFFFFFFFFFFF;- G" t2 t# b# q5 V/ R% [
而加密IC卡中,其中有扇区的KEYA和KEYB不等于FFFFFFFFFFFF,部分扇区加密的卡称半加密IC卡,所有扇区都加密的卡称全加密IC卡。5 ]( L! b' u; p1 ^" h3 d

1 D' i/ B% a9 U2 d8 v一般的读卡器,像手机的NFC,是读不到IC卡的加密数据的,需要用专门的工具,比如Proxmark3读取。* l( @6 m' C" W$ K8 N4 }5 M! i5 s. y

6 _1 a& r9 e. q# a- U0 W, |; C对于IC卡,除了对卡上数据加密,还有滚动码加密、服务器数据验证等技术。4 Z' D/ \; X* z( O5 M( g
因此,对IC卡的解密,更多的是门禁卡、签到卡、车库卡等的讨论,像公交卡、饭卡等涉及到资金问题的,基本都有服务器定期校验,得先搞定服务器再说,难度高还违法。. t3 T) }9 d. ~1 z8 X% G

, p1 M) W! t' m- i2 u参考资料:
) W+ C2 ^% {* l8 _& w- A* s码农生活 篇二:IC卡门卡模拟探秘. w" e  h- {1 [4 q# h6 p1 k* ^
IC卡简介【M1/S50,UID,CUID,FUID,UFUID复制卡介绍】
4 [" T' ?; W* m/ e) d2 f" {/ i谈谈 Mifare Classic 破解7 G8 _0 w3 H) P: q$ q
rfid-practice
' u( h1 ~  @# m- FType A 卡存储结构与通信
7 g6 m5 W6 ]8 J- o1 QProxmark3 Easy破解门禁卡学习过程8 _9 o$ E8 E6 u, e$ a9 S
+ X$ S7 A3 H3 c% t
2. 手机NFC模拟加密门禁卡% \4 ~1 V' n+ A3 q

- ~% t- m. E* ^3 H% M, P有了前面的知识,再来看现在我的加密门禁卡情况,手机能识别为加密卡,肯定是IC卡。
5 U1 c) j. L# t# K
9 R2 O, k2 ^/ e: y3 u4 x! E1 k首先,加密卡在目前这个情况下是无法解密的,如果按照下面的操作失败,请参考下一章。( q$ h' Z3 [2 d' H5 j
部分门禁系统只认证IC卡的UID,利用这一情况,可以试试复制门禁卡的UID,看运气能否打开门。8 b$ ~$ L8 }- X5 z  a" M) _
1 t& L& M* M7 D. t$ b
在已root的情况下,直接使用APP NFC卡模拟 便可读取加密卡的UID和非加密数据、并写UID到手机NFC里。* ]% u) e6 ?3 W; B) J
在未root的情况下,使用小米系统自带的门卡模拟功能,出于安全考虑,是不能对加密卡进行任何操作。手机的NFC,理论上可以读加密IC卡的UID,因此可以使用第三方软件MifareClassicTool读取UID,因为没有root,不能写手机NFC,但可以写IC卡,因此还需要一张CUID卡(不能使用UID卡),某宝上一块多一张,思路就是先读取加密卡的UID,再读取CUID卡的数据,然后将CUID卡的UID改为加密卡一样的UID,再将修改后的数据写回到CUID卡,最后用小米系统自带的门卡模拟功能,复制未加密的CUID卡即可。) O% Y) u( ~" }2 R" e
5 |, ^9 g; I* Y" y4 e% e$ S& X: }! j0 x
1.读取加密卡的UID
, E% o7 N  X2 u2 W' g' s打开软件Mifare Classic Tool,将加密门禁卡放到手机的NFC感应区域,识别到IC卡后,点击“工具”->“显示标签信息”,可以看到加密门禁卡的8个数字,4字节的UID。
5 |6 ^1 @+ z; Y' W, h6 h' l+ D注意,在16进制里,每个数字为4位(2^4=16),8位(bits)为一字节(bytes),即两个数字组成一字节,这里8个数字,即为4字节(Bytes)。+ s$ y/ g( h4 h! x" _/ V
前8个数字,每个数字代表4位,8位为一字节,8个数字就是32位,即4字节$ \: o6 `5 J/ q4 N0 W
接着打开“工具”->“BCC计算器”,输入UID,得到1位BBC(两个数字)校验数据。; h' g, {  t! h. p, U6 c! |1 C

' u6 ^8 _$ Z1 O' W3 J- Z" ~. k9 V3 Q1 \* R" R. T" t
3 _, e( A; J* Z7 ^! _
2.读取CUID卡数据: O  Z! j6 j; J' q' {" P
将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“读标签”->“启动映射并读取标签”,即可得到CUID白卡的所有信息。* @. J) j& K/ C
接着修改第一行的前10个数字,改为加密门禁卡的UID(8个数字)和BCC(2个数字),一共10个数字,并点右上角保存图标保存。
- o, F9 p+ E* S9 f7 y' y* P% _, d. n0 v' V1 e% j( l% M& v/ n! G
! T1 R( h: k* D

/ `) j, v9 B& H/ J- {) i- D3.写数据到CUID卡
( w7 K1 d' |1 v  s8 q再将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“写标签”,勾选“写转储(克隆)”->“显示选项”->“高级:使能厂商块写入”。
) E0 q9 Q" `2 [, f/ p再点击“选择转储”,选择刚才保存的数据,点击“选择转储”。) W. J" E$ p: d2 G3 u
" v  b5 c: c: \' w5 Q$ R. m

1 C+ w$ u$ Z+ C; |$ ]# Q$ X9 x' ^
4 ]  Y$ r1 @0 g1 K$ }7 u! e' j在弹出的选择写扇区界面,默认即可,点击“好的”,最后点击“启动映射并写转储数据”。  r3 J5 I( a# q* l* [

' |9 f. F8 n9 W2 v4 w, O8 {6 D2 z- ~5 N6 L8 g$ [

7 C  w% d" E# W; R: L1 I4.NFC手机复制CUID卡7 \; v" ]5 |7 o2 F2 @  E6 D# a
最后,使用小米手机系统自带的门卡模拟功能,复制刚才写入新UID的CUID卡即可。
4 F+ ^3 x2 k; _# E, }2 ]; A2 b; q/ L3 e7 m$ U
接着,就看运气吧,我小区的门禁系统就只认UID,搞定。$ J" K% k6 X1 w* e2 @( y/ E9 G
+ Z6 G* ~- L: n3 @
0 D+ K1 ^$ X5 q* D

精彩评论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 来自: 中国–陕西–铜川 电信

: L' ^: b- O. A0 ~谢谢师傅,好详细的文章。现在多用于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