1nfc-emulate-uid(1)             libnfc's examples            nfc-emulate-uid(1)
2
3
4

NAME

6       nfc-emulate-uid  - NFC target emulation command line tool based on lib‐
7       nfc
8

SYNOPSIS

10       nfc-emulate-uid [OPTIONS] [UID]
11

DESCRIPTION

13       nfc-emulate-uid is a tag emulation tool that allows one to  choose  any
14       tag UID. Tag emulation is one of the main added features in NFC. But to
15       avoid abuse of existing systems, manufacturers of  the  NFC  controller
16       intentionally  did  not  support  emulation of fully customized UID but
17       only of "random" UIDs, which always start with 0x08.  The  nfc-emulate-
18       uid tool demonstrates that this can still be done using transmission of
19       raw frames, and the desired UID can be optionally specified.
20
21       This makes it a serious threat for security systems that rely  only  on
22       the uniqueness of the UID.
23
24       Unfortunately,  this example can't directly start in fully customisable
25       target mode. Just after launching this example, you  will  have  to  go
26       through  the  hardcoded  initial  anti-collision with the 0x08-prefixed
27       UID.  To achieve it, you can e.g. send a RATS (Request  for  Answer  To
28       Select) command by using a second NFC device (placed in target's field)
29       and launching nfc-list or nfc-anticol. After this first step,  you  now
30       have  a NFC device (configured as target) that really emulates a custom
31       UID.  You could view it using the second NFC device with nfc-list.
32
33       Timing control is very important for a  successful  anti-collision  se‐
34       quence:
35
36       -  The  emulator  must  be  very fast to react: Using the ACR122 device
37       gives many timing issues, "PN53x only" USB devices also give some  tim‐
38       ing  issues  but  an  embedded  microprocessor  would  probably improve
39       greatly the situation.
40
41       - The reader should not be too strict on timing (the standard  is  very
42       strict).  The OmniKey CardMan 5321 is known to be very large on timings
43       and is a good choice if you want to experiment with this emulator  with
44       a  tolerant  reader.   Nokia  NFC  6212 and Pegoda readers are much too
45       strict and won't be fooled.
46
47

OPTIONS

49       UID 8 hex digits format that represents desired UID (default  is  DEAD‐
50       BEEF).
51
52

IMPORTANT

54       ACR122 devices (like touchatag, etc.) can be used by this example (with
55       timing issues), but if something goes  wrong,  you  will  have  to  un‐
56       plug/replug  your  device.  This is not a libnfc's bug, this problem is
57       due to ACR122's internal MCU in front of NFC chip (PN532).
58

BUGS

60       Please report any bugs on the libnfc issue tracker at:
61       https://github.com/nfc-tools/libnfc/issues
62

LICENCE

64       libnfc is licensed under the GNU Lesser General Public License  (LGPL),
65       version 3.
66       libnfc-utils  and  libnfc-examples  are covered by the the BSD 2-Clause
67       license.
68

AUTHORS

70       Roel Verdult <roel@libnfc.org>
71
72       This manual page was written by Romuald Conty <romuald@libnfc.org>.  It
73       is licensed under the terms of the GNU GPL (version 2 or later).
74
75
76
77libnfc                           June 26, 2009              nfc-emulate-uid(1)
Impressum