NFCGate | Klee, Roussos et al. | Secure Mobile Networking Lab
NFCGate
Opening the Door for NFC Security Research with a Smartphone-Based Toolkit
Steffen Klee, Alexandros Roussos, Max Maass, Matthias Hollick
NFCGate Steffen Klee, Alexandros Roussos, Max Maass, Matthias - - PowerPoint PPT Presentation
NFCGate Steffen Klee, Alexandros Roussos, Max Maass, Matthias Hollick Opening the Door for NFC Security Research with a Smartphone-Based Toolkit NFCGate | Klee, Roussos et al. | Secure Mobile Networking Lab Near-Field Communication (NFC) While
NFCGate | Klee, Roussos et al. | Secure Mobile Networking Lab
Steffen Klee, Alexandros Roussos, Max Maass, Matthias Hollick
NFCGate | Klee, Roussos et al. Slide 2
While shopping: On public transport: At home: tag (PICC) reader (PCD) In general:
NFCGate | Klee, Roussos et al. Slide 3
NFCGate | Klee, Roussos et al. Slide 4
NFCGate | Klee, Roussos et al. Slide 5
Tool Protocols Availability Usability and Handling Price NFCProxy, other phone-based tools Only ISO/IEC 7816 APDUs Android Inconspicuous, no additional hardware $ Proxmark3 Any on ISO/IEC 14443 Dedicated Hardware Suspicious, requires USB host $$$ ChameleonMini Any on ISO/IEC 14443 Dedicated Hardware Suspicious, requires USB host $$ NFCGate Any on ISO/IEC 14443 Android (rooted) Inconspicuous, no additional hardware $
NFCGate | Klee, Roussos et al. Slide 6
NFCGate | Klee, Roussos et al. Slide 7
Symbol hooking Symbol hooking
NFCGate | Klee, Roussos et al. Slide 8
Maass et al., 2015
NFCGate | Klee, Roussos et al. Slide 9
Android 10 ARM64 Any supported NCI chipset NFC-B, NFC-F Replay mode On-device capture mode Logging import/export Server plugins
Android 6 ARMv7 Broadcom chipsets NFC-A Clone mode Relay mode
Maass et al., 2015 Klee, Roussos et al., 2020
NFCGate | Klee, Roussos et al. Slide 10
transponder lock A transponder lock B ?? ?? ?? ??
NFCGate | Klee, Roussos et al. Slide 11
NFCGate | Klee, Roussos et al. Slide 12
1. Connect smartphones to server 2. Start NFCGate’s relay mode in PICC and PCD role 3. Hold devices in proximity to locking system 4. ... 5. Collect traffic as trace file Issue #1: No protection against relay attacks.
NFCGate | Klee, Roussos et al. Slide 13
NFCGate | Klee, Roussos et al. Slide 14
1 <-- 5a 01 00 00 2 --> 00 3 <-- aa 00 4 --> af 2b 17 b5 5b 77 4d d2 2d 23 xx xx xx xx xx xx xx 5 <-- af 5b b4 1a 63 8b 30 86 ff 91 xx xx xx xx xx xx xx 29 76 a9 0c fa 44 d6 32 f1 xx xx xx xx xx xx xx 6 --> 00 99 9e 31 43 43 07 0a 18 56 xx xx xx xx xx xx xx 7 <-- 51 8 --> 00 ba e9 7f 79 d3 66 de 1f 59 xx xx xx xx xx xx xx
→ NFCGate solves Android HCE limitation
○ 5a: “Select Application” ○ aa: “AES Authenticate” ○ af: “Additional Frame” ○ 51: “Get tag UID” ○ 00: “Result: OK”
NFCGate | Klee, Roussos et al. Slide 15
NFCGate | Klee, Roussos et al. Slide 16
3 <-- aa 00 4 --> af 2b 17 b5 5b 77 4d d2 2d 23 .. 4 --> af 17 fd f2 4e ef 96 44 39 4d .. 5 <-- af 5b b4 1a 63 8b 30 86 ff 91 .. 29 76 a9 0c fa 44 .. 5 <-- af 5b b4 1a 63 8b 30 86 ff 91 .. 2a 10 36 69 dd 89 .. 6 --> 00 99 9e 31 43 43 07 0a 18 56 .. 6 --> 00 00 b5 d0 af 88 92 ec 64 ab .. 7 <-- 51 8 --> 00 ba e9 7f 79 d3 66 de 1f 59 .. 8 --> 00 45 7a 66 41 33 b0 4f e0 ce .. AES Authenticate with key 0 encrypted rB encrypted rB encrypted rA || rB* encrypted rA || rB* encrypted rA* encrypted rA* Get tag UID encrypted tag UID encrypted tag UID
I n c
r e c t u s e
A E S
B C ? M e s s a g e 4 n
c h a i n e d i n m e s s a g e 5
NFCGate | Klee, Roussos et al. Slide 17
“Static random” Improper CBC Fix to make the protocol work
Issue #2: Broken crypto implementation: No protection against replay attacks.
NFCGate | Klee, Roussos et al. Slide 18
Issue #3: Use of a static key.
NFCGate | Klee, Roussos et al. Slide 19
NFCGate | Klee, Roussos et al. Slide 20
NFCGate | Klee, Roussos et al. Slide 21
NFCGate | Klee, Roussos et al. Slide 22
NFCGate | Klee, Roussos et al. Slide 23
NFCGate | Klee, Roussos et al. Slide 24
NFCGate | Klee, Roussos et al. Slide 25