返回顶部

NFC模拟加密卡

  [复制链接]
天际线0907 显示全部楼层 发表于 2021-1-18 00:52:33 |阅读模式 打印 上一主题 下一主题 来自: 中国–山东–泰安肥城县 电信
记录小米手机NFC模拟加密门禁卡,以及Proxmark3的使用。. Y: m4 S" M4 z7 x
6 J+ G  R% k' R3 h. d
0. 缘起
: d3 E% l& z/ o% t9 `. C$ l3 D! ^6 }4 G3 Y8 f# n* j
之前,小区用的门禁卡为非加密的门禁卡,使用小米手机系统自带的门卡模拟功能复制即可。8 _, O- Q3 [6 F& c# }3 S
后来,小区门禁系统换了一家供应商,再使用之前的方法复制门禁卡,手机提示为加密卡,无法复制。- H, r& X* q' y! a, Y, P; D4 Q
. C6 d  N6 y# U) c0 K7 ~0 t. |3 C2 W
新的门禁系统,更安全了,也支持APP远程控制开门了,直到有一天门禁卡丢了,开始使用APP开门,发现这APP写得烂透了,十次有五次点击开门按钮无反应,需要反复退出、打开APP多次才能点击开门按钮成功,还有两次直接没了开门按钮,提示到物业管理处处理……
% L# l8 p2 s- \1 m6 L4 V那个时候,我又开始怀念用手机刷门禁的快感了。。( g; c9 J& ~7 r  e. h

# f. ^9 z8 B! a/ k3 y" \& t1. 基础知识4 F9 ~1 H+ k% r+ q$ R1 X8 W( g
0 [" t7 P" [' T8 r2 ]1 N4 H8 J* w; H
于是,我开始查阅资料,基本确定了小米手机是还是可以通过其它方式模拟加密门禁卡的。% }- b. b0 R( C
然后,资料查多了,记不到,又怕以后用到需要重新找,干脆水一篇博客记录下来。3 M9 W- G# ]1 v
如果熟悉NFC和IC卡,或者只想模拟加密门禁卡,并不关心原理,这章可以跳过,直接看下一章。
2 q4 }. r  e& B9 I+ i& H
9 B. R: I# C3 X1.1 ID卡和IC卡5 h& d" n8 D) B: j8 B9 k

" [' k9 s$ g, W. w7 xID卡:全称身份识别卡(Identification Card),多为低频(125Khz),是一种不可写入的感应卡,含固定的编号,主要有台湾SYRIS的EM格式,美国HID、TI、MOTOROLA等各类ID卡。
7 c' X+ D$ B# `. |/ d( ^6 w# @& T6 m- f' s& Y- V  t  ]) M  j
IC卡:全称集成电路卡(Integrated Circuit Card),又称智能卡(Smart Card)。多为高频(13.56Mhz),可读写数据、容量大、有加密功能、数据记录可靠、使用更方便,如一卡通系统、消费系统等,目前主要有PHILIPS的Mifare系列卡。2 U. H/ K' n2 ~% L' Q8 Y- c

' I+ \6 [. H  y! d/ r主要区别:8 U$ u& k' o9 h% {
ID卡,低频,不可写入数据,其记录内容(卡号)只可由芯片生产厂一次性写入,开发商只可读出卡号加以利用,无法根据系统的实际需要制订新的号码管理制度;
+ j! s; |. W( f6 Y" I; `. r  XIC卡,高频,不仅可由授权用户读出大量数据,而且亦可由授权用户写入大量数据(如新的卡用户的权限、用户资料等),IC卡所记录内容可反复擦写;
& v: l0 z1 e/ ]3 A9 ~8 e2 [; U2 ^' S$ A0 Y
IC卡由于其固有的信息安全、便于携带、比较完善的标准化等优点,在身份认证、银行、电信、公共交通、车场管理等领域正得到越来越多的应用,例如二代身份证、银行的电子钱包,电信的手机SIM卡、公共交通的公交卡、地铁卡、用于收取停车费的停车卡、小区门禁卡等;- k5 h# `6 n& v$ H  `- D

. u% N$ k# J5 F5 }+ z1 |. Q7 l+ X7 A$ F5 y) K9 _
' ^; {3 d; }/ e+ I8 ~9 Q
& n9 }% @; w( B
8 ]7 s: U" O7 I& |8 c' ], F( a4 A
以上图片来自淘宝商家,网上找了半天相关资料,发现淘宝商家解释得最清楚。
0 c' H4 T; `2 j
8 m; T) @( @! l* {' u& j总结:
( _$ H7 I: \+ s4 T& T1.ID卡多为低频,IC多为高频;
/ H; J7 L) J$ Y1 `8 `2 a6 @2.IC卡整体上看比ID卡更有优势,市面上使用的大多数也是IC卡;( t* Y  x& s- \: `
3.对于矩形白卡,里面为矩形线圈、表面没有编号的多为IC卡,里面为圆形线圈、表面有编号的多为ID卡;
& D" Y& `8 G$ a9 ~4.对于异形卡,有编号的多为ID卡,最好使用带NFC的手机进行测试(目前手机NFC只能读高频13.56Mhz),IC卡会有反应;- C8 h0 v3 D7 L$ v( Q' T7 p% G' e
6 J6 M9 @( z( m: `0 n* ]! ~1 t* {1 j
1.2 接触式和非接触式IC卡
, a1 Z" e5 V! A1 z: @( E. R  {$ d% ~& H9 E& j% R2 r" O5 V
IC卡又可以分为接触式IC卡和非接触式IC卡。
/ |! N8 E6 q2 Y; R6 r2 A0 q$ H4 V4 ]: ?* s. _3 N
接触式IC卡:该类卡是通过IC卡读写设备的触点与IC卡的触点接触后进行数据的读写;
$ N( _; L) S/ b2 s. J9 Q( o1 ^2 V
7 u* C' I4 h3 N: @4 w. p7 ~非接触式IC卡:又称射频卡、感应式IC卡,该类卡与卡设备无电路接触,而是通过非接触式的读写技术进行读写(例如RFID、NFC),其内嵌芯片除了CPU、逻辑单元、存储单元外,增加了射频收发电路。该类卡一般用在使用频繁、信息量相对较少、可靠性要求较高的场合。
3 t1 R7 }0 r$ u
0 p# K. X% z2 [两者比较好区分,直接看卡上有无金属触点即可。
4 N1 ?' W" A8 N# ^" a, T5 p4 o

" O5 {. A* ]& _& |' W) v
7 O! v3 S6 b+ O4 x- b2 H: V1.3 RFID和NFC
; g, C" I( u" u4 _. X0 N( M2 x9 ]4 w- \
非接触式的读写技术常见的有两种:RFID技术和NFC技术。
' t$ u' S& U: a1 a- x% q
) ~8 _3 V2 b7 Q. C5 c: gRFID技术:* h  Y4 S" ^% h9 e
1.通常应用在生产,物流,跟踪和资产管理上;
# e9 ~. w  I1 v1 B% J! h2.根据频率划分包含低频、高频(13.56MHz)、超高频、微波等;2 \& u- w% \1 g% r/ g$ `3 y& P! w
3.作用距离取决于频率、读写器功率、读写器天线增益值、标签天线尺寸等,工作距离在几厘米到几十米不等;1 z& e) }* ^1 J1 `5 \( v
4.读写器和非接触卡可以是一对多关系,也可以说一对一关系;且读写器和非接触卡是两个实体,不能切换;4 a4 K" l0 M8 e# J0 L: P

: t$ z" [, Q8 \$ zNFC技术:
% N  @+ `4 t3 y1.通常应用在门禁,公交卡,手机支付等领域;; }% Q6 N4 q( F2 G
2.频率也是13.56MHz,且兼容大部分RFID高频相关标准(有些是不兼容);
! r5 l" e  S5 t2 f3 ?3.NFC作用距离较短,一般都是0~10厘米;
# U- `0 x) k3 j) O4.读写器和标签几乎都是一对一关系;且支持读写模式和卡模式,可以作为读写器也可变为非接触卡;& y' }4 ]1 D% `  o0 _3 Z% }
$ U, Z# z' O, S" V1 ]
总体来说,NFC是RFID的子集,但NFC有些新特性又是RFID所不具备的。0 n. ?2 C" }1 i0 S* T0 O; C! X
. X9 C$ V& w1 q8 Q: C
1.4 ID卡类型
4 |& ^2 T% Y: E( h
0 Y$ O2 X. m% GID卡,工作在低频(125Khz),根据卡内使用芯片的不同,有如下分类:4 g: Z5 ^  o9 R. c7 `, m/ J4 i9 ^! E% s. k7 c
7 F2 R* i7 l7 S+ t
ID卡9 m! j$ b3 \* J# @
EM4XX系列,多为EM4100/EM4102卡,常用的固化ID卡,出厂固化ID,只能读不能写;常用于低成本门禁卡,小区门禁卡,停车场门禁卡;5 D2 a1 _& K' v7 q/ F4 g
, _0 P9 z! M# b6 l0 w
ID白卡
6 @5 W- {3 M( b. k4 CEM4305或T5577,可用来克隆ID卡,出厂为白卡,内部EEPROM可读可写,修改卡内EEPROM的内容即可修改卡片对外的ID号,达到复制普通ID卡的目的;
+ M6 L* a- P3 Y( R1 [+ F# b  mT5577写入ID号可以变身成为ID卡,写入HID号可以变身HID卡,写入Indala卡号,可以变身Indala卡  ^7 T2 X; K1 |& j

# v$ a, G8 z/ J5 j; ?8 L3 {9 @) W! _HID卡5 u0 K  m4 I+ u& \, ^
全称HID ProxⅡ,美国常用的低频卡,可擦写,不与其他卡通用;/ i0 s( {, q, B* p  K, h

' @3 R* [. r- t+ g* f/ \; Y1.5 IC卡类型/ Z- z, ~! z6 Q) o. {. O
6 Q( E" M4 @/ \* y) }) z5 H' h
IC卡中最常见的是NXP Mifare系列卡,工作在高频(13.56Mhz),根据卡内使用芯片的不同,有如下分类:
8 _6 t+ v, B, Y& ]: q+ g# f3 K7 A/ c3 `; J/ ^* T
M1卡
# }# E7 V* V1 Z8 }$ H3 p全称Mifare S50,是最常见的卡,出厂固化UID(UID即指卡号,全球唯一),可存储修改数据;常用于学生卡,饭卡,公交卡,门禁卡;
% Q! E$ e1 k. B, d) k2 _- H+ q8 u
6 _6 ~) P  J3 ^$ T: rM0卡
" {0 N+ }8 L0 Q- P8 @全称Mifare UltraLight,相当于M1卡的精简版,容量更小、功能更少,但价格更低,出厂固化UID,可存储修改数据;常用于地铁卡,公交卡;
: p% w4 d) \4 k" m- J
: b" ~* g- g, i4 X6 X; m9 f以上两种固化了UID,为正规卡,接下来就是一些没有固化UID,即不正规的卡:
- G: i& s6 D, ^" [6 ]2 B
8 I1 s& n3 V1 X& o3 i$ g+ c% @UID卡# }: V9 Q. U) X
全称Mifare UID Chinese magic card,国外叫做中国魔术卡,M1卡的变异版本,使用后门指令(magic指令),可修改UID(UID在block0分区),可以用来完整克隆M1卡的数据;4 X0 R2 x1 @$ a- I9 e0 K0 ~  R4 y0 d
但是现在新的读卡系统通过检测卡片对后门指令的回应,可以检测出UID卡,因此可以来拒绝UID卡的访问,来达到屏蔽复制卡的功能(即UID防火墙系统);
* ]9 @: D, T0 [& k
$ Y# o9 T8 S) o- ]! aCUID卡
! ^& B  @1 V* W2 N2 s3 w为了避开UID防火墙系统,CUID卡应运而生,取消响应后门指令(magic指令),可修改UID,是目前市场上最常用的复制卡;
* K; _7 B5 i2 X近两年,智能卡系统制造公司,根据CUID卡的特性研发出CUID卡防火墙,虽然现在(2019年)还不是很普及,但是总有一天CUID卡会和UID卡一样面临着淘汰;- e5 |& n' J) U  s$ Z3 n0 d& z

$ X! l( X  K( `9 M$ YFUID卡! f* _# N, e) r2 _" x
FUID卡只能写一次UID,写完之后自动固化UID所在分区,就等同M1卡,目前任何防火墙系统都无法屏蔽,复制的卡几乎和原卡一模一样;* F* o* u6 p8 S$ f* a
但缺点也相对明显,价格高、写坏卡率高,写错就废卡。
' ?4 X/ F# D3 K$ R7 Z5 g1 v: r4 U* C
UFUID卡+ L4 ]4 b! J% V" ~  a- K
集UID卡和FUID卡的优点于一身,使用后门指令,可修改UID,再手动锁卡,变成M1卡。
) |9 F# f7 u: H0 w" Y$ C% E0 h可先反复读写UID,确认数据无误,手动锁卡变成M1,解决了UID卡的UID防火墙屏蔽,也解决FUID的一次性写入容易写错的问题,且价格比FUID卡还便宜;
/ x' X$ |' s6 x' B- ~0 y; S0 ~* z# h3 }$ K' E4 I
判断是M0卡(Mifare UltraLight),还是M1卡(Mifare Classic 1k),可以通过SAK值判断。
6 D$ h! l% X) ?! Z2 I$ D! e9 o9 w  w+ V( g  ]
产品ATQASAKUID长度Mifare Mini00 04094 bytesMifare Classic 1k00 04084 bytesMifare Classic 4k00 02184 bytesMifare Ultraligh00 44007 bytesMifare Plus00 44207 bytes3 O* n  z- }$ w4 w8 r7 W3 E1 v

* _: P: m7 r! X) h0 C+ T1.6 IC卡详细分析2 R. g. d( x2 ]
" f" J  H- S0 x& a! y+ |- s- ?
1.6.1 IC卡存储器结构
5 C* z. z5 }/ ?' ~5 K* r/ w# X7 e4 n+ ~
以M1卡为例,介绍IC卡数据结构。. ]: e& a; {1 ?& R3 h! K9 q# |6 h& C
M1卡有从0到15共16个扇区,每个扇区配备了从0到3共4个数据段,每个数据段可以保存16字节的内容;* M; N) Y0 v5 P, b) g- ]/ F/ w
每个扇区中的段按照0~3编号,第4个段中包含KEYA(密钥A 6字节)、控制位(4字节)、KEYB(密钥B 6字节),每个扇区可以通过它包含的密钥A或者密钥B单独加密;
' t. ^: K, U9 _" y
, M& h: t& R+ P0 X) q$ k8 g# O( \1 i/ r8 C9 E5 h

  Q9 A- [& _$ T" X8 a7 l( V: f厂商段
) Y7 D' X' v6 n4 m3 Y' w- d! U: w每张M1卡都有一个全球唯一的UID号,这个UID号保存在卡的第一个扇区(0 扇区)的第一段(0 编号数据段),也称为厂商段。3 k% e; X4 V9 \$ t
其中前4个字节是卡的UID,第5个字节是卡 UID 的校验位,剩下的是厂商数据。
! k; b& ^1 l- H# K# s2 L# E并且这个段在出厂之前就会被设置了写入保护,只能读取不能修改,前面各种能修改UID的卡,UID是没有设置保护的,也就是厂家不按规范生产的卡。! @. O' |6 {" z

- n7 U5 i" A- g/ X/ U, v' I# J- n
" o* O) U$ f5 P9 @% l& y  X5 G0 U4 f( i) u) E
数据段! j+ _5 c4 h5 `2 A, [6 e. W
除了第0扇区外,其它每个扇区都把段0、段1、段2作为了数据段,用于保存数据。
8 d9 a9 Z* S* E9 F+ a数据段的数据类型可以被区尾的控制位(Access Bits)配置为读/写段(用于譬如无线访问控制)或者值段(用于譬如电子钱包)。
: j. i8 b+ O' A# |. O* H. M值段有固定的存储格式,只能在值段格式的写操作时产生,值段可以进行错误检测和纠正并备份管理,其有效命令包括读、写、加、减、传送、恢复,值段格式如下:
/ A3 }3 X* w4 o/ b
) T4 `5 }, @- v9 ]( j
; z! ]8 u( \% n
7 j  j  W% b6 m7 D0 X4 Y& TValue表示一个带符号4字节值,为了保证数据的正确性和保密性,值被保存了3次,两次直接保存,一次取反保存。该值先保存在0字节-3字节中,然后将取反的字节保存在4字节-7字节中,还保存了一次在8字节-11字节中。
2 |0 t8 n7 B  w& L" {: jAdr表示一个字节的地址,当执行备份管理时用于保存存储段的地址。地址字节保存了4次,取反和不取反各保存了2次。在执行加值、减值、恢复和传送等操作时,地址保持不变,它只能通过写命令改变。
- }6 @1 Y- d4 E) a5 `( n& k
) q1 O$ t/ B/ I* S1 j控制段
6 j$ s# j7 ?6 T5 W- h" n每个扇区都有一个区尾控制段,它包括密钥A和密钥B(可选),以及本扇区四个段的访问控制位 (Access bits);访问控制位也可用于指出数据段的类型(为读/写段还是值段);控制段的存储格式如下:- m% N+ s- H( W1 F" L

6 D% x/ d0 R; Q+ u4 T. ^
+ P2 e/ ~; L" T% B+ i3 k  k3 J/ F  N" ?# C' W+ Z" A
如果不需要密钥B,那么区尾的最后6个字节可以作为数据字节,用户数据可以存储在区尾的第9个字节,这个字节具有和字节6、7、8一样的访问权限。
/ R( a9 }  A8 E+ @3 S- ?# Z, H# n" ?' m7 ^0 C9 q# {
1.6.2 IC卡访问存储器1 o, G9 ]- R8 {& F
- b- X5 K7 d: c1 ]; L& G3 c. w" k
数据段支持的操作3 n. j& m7 N& z" i# o. v
根据使用的密钥和相应区尾访问条件的不同,数据段所支持的存储器操作也不同,存储器的操作类型如下:
8 ?5 B, \* N4 w% D8 ?! z  D9 Z
5 j/ a0 o: ]3 n+ U2 B5 x9 K, O3 }- l8 V# k, W. @* V) r

- ]  B, u! p0 ~4 d5 b) }可以看到只有作为值段时,才能加、减、传送、恢复。
, q" ?6 L1 E' w6 C$ g
$ h- e# m; F' s+ \' l" {7 v8 z  o) A各区的访问位定义
, X0 S" P8 g2 B4 ?6 I3 E" _" i每个数据段和区尾的访问条件由3个位来定义,它们以取反和不取反的形式保存在区尾指定字节中。; T/ A  a3 p% s" \& ]0 k
访问位控制了使用密钥A和B操作存储器的权限,当知道相关的密钥和当前的访问控制条件时,可以修改访问条件,各区的访问位定义如下:) a+ r7 |+ [9 l: E

: R/ |. s( |4 b9 p. p0 J, h9 U6 i7 H/ {8 G3 O" ^/ q# V7 {3 X/ @, Y' v* u

% o! r2 ^/ y5 [( _访问位在区尾的存储形式7 T" |2 L/ l% F: {: x9 o& v
$ A9 E2 Z# ?2 w  ]& J/ p
+ h- _9 m7 |5 L2 l; G+ ^  D
1 U" b3 e( x- J# N. {0 g! J( ?
区尾的访问条件
3 y8 c* a, G( k. f, c根据区尾(段 3)访问位的不同,访问条件可分为 “从不”、“密钥A”、“密钥B” 或“密钥A|B”(密钥A或密钥B),区尾的访问条件如下:
; u$ A' A# }" i" _0 o' c' b* }" q+ g/ X- U
/ e& R. H$ }9 h5 w2 x6 l+ ], D3 o
7 z# s& W+ o3 w6 g2 I4 t8 S
用灰色标明的行是密钥B可被读的访问条件,此时密钥B可以存放数据。1 _+ [9 k( C9 Y6 f
例如:当段3的访问条件C13C23C33=100时,表示:密钥 不可读(隐藏),验证密钥B正确后,可写(或更改);访问控制位在验证密钥A或密钥B正确后,可读不可写(写保护);密钥B不可读,在验证密钥 B 正确后可写;
- [7 N0 Y& b. L; Q1 A' b0 y又如:当段3的访问条件C13C23C33=110或者111时,除访问控制位需要在验证密钥A或密钥B正确后可读外,其他如访问控制位的改写,密钥 A,密钥 B 的读写权限均被锁死而无法访问;
9 S' M0 X9 ^& _5 P! j' w0 A4 Q2 L' c3 I8 ~; X! C3 J+ z
数据段的访问条件# _  K, V1 B% g. M" l# o* S. P
根据数据段(段 0-2 访问位的不同,访问条件可分为 “从不”、“密钥A ”、“密钥B ” 或“密钥A|B”(密钥A或密钥B)。2 a+ f. z$ w9 W5 `- D# L
相关访问位的设置定义了该段的应用(或者说数据段类型)以及所支持的应用命令,不同的数据段类型可以进行不同的访问操作。 读/写段可以进行读操作和写操作。值段可以进行加、减、传送和恢复的值操作。4 h( R; [7 O4 g! N! G3 f" j% w) ?$ O
其中一种情况中(001)只能对不可再充电的卡进行读操作和减操作,另一种情况中(110)使用密钥B可以再充电。 厂商段无论设置任何的访问位都只是只读的, 数据段的访问条件如下:
. [! R$ Z' C" V; K. A8 v/ _# a9 v/ T! _! F, b5 d5 Q

' B" k. I9 `! @) B3 P
: f* z- J+ u' K1 f( ~如果密钥B可以在相应的区尾被读出,它就不能用于确认(在前面所有表中的灰色行)。如果读卡器要用这些(带灰色标记的)访问条件的密钥B确认任何段,卡会在确认后拒绝任何存储器访问操作。
2 G9 X1 v$ l8 y' r( M
! @4 Q: s: j/ ^) l% q2 J1.6.3 举例说明* a& t7 q2 P) R1 |- c% s" X  V
4 ^  x8 w) J" Q  f. j+ z& ~9 f* ^" U
Mifare S50出厂时,访问控制字节(字节6-字节9)被初始化为“FF 07 80 69”,KEY A和KEY B的默认值为“FF FF FF FF FF FF” ;7 G+ n% L! a3 t' x7 ]7 M. R3 @# ?
字节6为FF,二进制为1111111;字节7为07,二进制为00000111;字节8为80,二进制为10000000,如下:" m4 j9 p- A4 G0 {% {$ O; [

+ Y; @( e  I+ |2 g5 _/ B/ R; Y; O3 G  E( k7 L. Z' d' y8 A7 w0 M( m

. Q; w, T; W* T, Q对照前面的访问位在区尾的存储形式图,可得知访问控制位为:4 ]4 t: t. z2 n4 m/ j
C10C20C30=000;C11C21C31=000;C12C22C32=000;C13C23C33=001。
' d/ c: Y- y" L9 u, r; Q: g& R7 O
' G1 @2 D3 f# D5 A9 EC10C20C30、C11C21C31、C12C22C32对应数据段0、1、2,参考数据段的访问条件图即可得知该段三个数据区的访问权限;
7 C! I+ a) u; K8 R$ u" L, e9 O5 ^C13C23C33对应区尾(段 3),参考区尾的访问条件图即可得知该段的访问权限;
" ^: u8 j  Q1 G3 Z! P1 j& z* d
块0控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
' Y: @" s% A! r5 |# U' a  p块1控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
/ I6 }& W* @; h; @/ U* T! q块2控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
4 z" m2 Y4 F  C0 c块3控制位为:0 0 1 权限为:A密码不可读,验证A或者B密码后可改写A密码;验证A或者B密码后,可读可改写存取控制;验证A密码或者B密码后,可读可改写B密码;
1 H0 W! s- v3 J2 A0 N" W4 l4 l9 i; g7 @2 t2 u7 i
这样每次换算还是有点麻烦,可以使用M1 S50卡控制字节生成工具快速换算:
$ `/ g, }. w% ~9 s0 A& x
0 G: _+ U+ |# m# J, ?2 D! |
$ G/ P- V0 q: ?5 E
: A+ c1 N; u" h0 o5 h2 Q! h最下面一行可以输入想解释的控制字,也可以根据上面的设置生成控制字;& {7 U- I8 q4 h2 U
最上面一行,左边是数据段0、1、2的访问控制位,右边是对应权限所需要的秘钥;( \: h  y; e* V- f' ]7 ]
中间的一行,左边是区尾的访问控制位,右边是对应权限所需要的秘钥;
+ n* S0 ?$ i- T. r4 W6 v8 r; w8 }1 v% a( o9 S. X
1.7 非加密IC卡和加密IC卡8 V" l# g% z8 [% Z

- D  c# }* M" Y/ \- {非加密IC卡和加密IC卡的区别就是,非加密IC卡中所有扇区的KEYA和KEYB数值都是默认值FFFFFFFFFFFF;
# N# L, O( l/ L. H# [# p# C; \! h而加密IC卡中,其中有扇区的KEYA和KEYB不等于FFFFFFFFFFFF,部分扇区加密的卡称半加密IC卡,所有扇区都加密的卡称全加密IC卡。- k: e6 T: C; z9 D5 H
8 H9 c# {. J! h+ s7 ]/ H4 y
一般的读卡器,像手机的NFC,是读不到IC卡的加密数据的,需要用专门的工具,比如Proxmark3读取。
# U( C& L7 J9 E% k$ K0 a- K4 ?
. E/ N0 z! j3 _9 \对于IC卡,除了对卡上数据加密,还有滚动码加密、服务器数据验证等技术。
" q2 K  y6 m/ h, D- Z因此,对IC卡的解密,更多的是门禁卡、签到卡、车库卡等的讨论,像公交卡、饭卡等涉及到资金问题的,基本都有服务器定期校验,得先搞定服务器再说,难度高还违法。
$ X3 p2 H0 u$ Z5 ~, [
% l: p  ^7 t7 ]参考资料:/ B; G- i9 Q' f) I4 [
码农生活 篇二:IC卡门卡模拟探秘$ b! s9 Q1 O3 E, D  q% z. J7 ]
IC卡简介【M1/S50,UID,CUID,FUID,UFUID复制卡介绍】+ H9 F. `4 W/ t5 H1 K
谈谈 Mifare Classic 破解
; ~8 S" ~) {( g: Jrfid-practice
) ]/ }: a% }; w3 c. q) qType A 卡存储结构与通信+ I( @/ Q2 q2 g6 [
Proxmark3 Easy破解门禁卡学习过程# q+ a3 K; t5 q; N
8 N6 u4 M* ^# U! X
2. 手机NFC模拟加密门禁卡
( p5 \% J8 d4 m) d% a% L7 m- D: s: n' |1 G
有了前面的知识,再来看现在我的加密门禁卡情况,手机能识别为加密卡,肯定是IC卡。
+ m+ g' Q* Q% P0 g
2 G5 {/ z/ s7 D$ q- m首先,加密卡在目前这个情况下是无法解密的,如果按照下面的操作失败,请参考下一章。
  X) ^+ S; E2 r1 _( U, |部分门禁系统只认证IC卡的UID,利用这一情况,可以试试复制门禁卡的UID,看运气能否打开门。
9 n, a0 [) U, v* T$ f, d% M
& ^/ N/ `: x. }9 |* A: ^9 |在已root的情况下,直接使用APP NFC卡模拟 便可读取加密卡的UID和非加密数据、并写UID到手机NFC里。6 u" V4 x6 J  M& y; y* g
在未root的情况下,使用小米系统自带的门卡模拟功能,出于安全考虑,是不能对加密卡进行任何操作。手机的NFC,理论上可以读加密IC卡的UID,因此可以使用第三方软件MifareClassicTool读取UID,因为没有root,不能写手机NFC,但可以写IC卡,因此还需要一张CUID卡(不能使用UID卡),某宝上一块多一张,思路就是先读取加密卡的UID,再读取CUID卡的数据,然后将CUID卡的UID改为加密卡一样的UID,再将修改后的数据写回到CUID卡,最后用小米系统自带的门卡模拟功能,复制未加密的CUID卡即可。' X+ N, R& a+ j$ E/ T# m! `. o5 k7 y

5 g) C9 y2 Z. O" ?$ m6 d2 Y1.读取加密卡的UID, f5 w7 U. a" @- Q5 j# P
打开软件Mifare Classic Tool,将加密门禁卡放到手机的NFC感应区域,识别到IC卡后,点击“工具”->“显示标签信息”,可以看到加密门禁卡的8个数字,4字节的UID。8 {7 q( U8 K& q6 V) s" @0 Y: j
注意,在16进制里,每个数字为4位(2^4=16),8位(bits)为一字节(bytes),即两个数字组成一字节,这里8个数字,即为4字节(Bytes)。3 [# b/ ?4 z% d( ?' ?$ g1 c
前8个数字,每个数字代表4位,8位为一字节,8个数字就是32位,即4字节5 A+ ~7 x6 F# p! @1 }" _
接着打开“工具”->“BCC计算器”,输入UID,得到1位BBC(两个数字)校验数据。
" h) P9 m" q7 z5 H7 P9 C! S
  A* B$ }9 _* N0 r! h6 k& f5 e; M  z) P7 N' ?
0 ?9 v8 N2 r( L" L: t' ]) B
2.读取CUID卡数据
: Y) R" I6 p5 g' o% `将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“读标签”->“启动映射并读取标签”,即可得到CUID白卡的所有信息。
$ \0 {8 e4 \- w接着修改第一行的前10个数字,改为加密门禁卡的UID(8个数字)和BCC(2个数字),一共10个数字,并点右上角保存图标保存。
% w2 N! h1 O5 `) Z- }" \/ g8 E( z/ A7 b
6 ]1 E  {- `8 v  Q) q% w
+ W! T" i# g5 K/ N( N' J8 C: J
3.写数据到CUID卡9 F: u, T$ Y5 G7 y2 [3 H
再将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“写标签”,勾选“写转储(克隆)”->“显示选项”->“高级:使能厂商块写入”。
$ e( H/ Q: ~1 f4 Z再点击“选择转储”,选择刚才保存的数据,点击“选择转储”。3 ], V! [9 f/ }8 ]
6 y2 l5 v6 o2 ?" g5 L+ {/ C

0 `2 ?. R' U7 R2 u4 p$ `6 ?% V5 C. u" N4 n6 r
在弹出的选择写扇区界面,默认即可,点击“好的”,最后点击“启动映射并写转储数据”。; a- p& k6 T7 m; n0 G2 B1 ^

; r2 {9 T. N" G2 O% m8 r; v0 [$ g* c$ k9 h9 z
6 L6 D3 J5 |" W5 r1 j! Y! c+ N7 J: o
4.NFC手机复制CUID卡# I% s! C! z# O) @5 B: T' t
最后,使用小米手机系统自带的门卡模拟功能,复制刚才写入新UID的CUID卡即可。
9 `+ K; ]! i! @7 s; S( G, a: T! {* `4 @/ D: ?' B7 L
接着,就看运气吧,我小区的门禁系统就只认UID,搞定。
% y6 |8 [( [$ m8 N8 G' f2 q( F1 @$ L5 y  k* U

; G0 C% P3 \9 c( V

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

- y# t0 x! R) m谢谢师傅,好详细的文章。现在多用于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