You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/2-hardware.md
+12-3Lines changed: 12 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ The specification of the chip used in the FlexSecure and Apex Flex (with a diffe
15
15
- Package: MOB10 ultra-thin (chip: `5 mm * 5 mm`, total: `5 mm * 8 mm`, thickness: `0.1 mm`) punched from `35 mm` tape reels
16
16
- Hardware interface: Contactless (NFC `13.56 MHz`, ISO/IEC 14443 Type A) only
17
17
- Capacitance: `56 pF`
18
-
- Configuration: "MIFARE Plus EV1 in classic mode 4K applet" removed, leaves `>= 164K` EEPROM, `>= 4KB` RAM usable
18
+
- Configuration: "MIFARE Plus EV1 in classic mode 4K applet" removed, leaves `>= 164K` EEPROM, `>= 4KB` RAM usable (for details, see below)
19
19
- GlobalPlatform key: `404142434445464748494a4b4c4d4e4f` (default test key)
20
20
- Supported algorithms: RSA 4096bits, AES, SHA1/SHA224/SHA256/SHA384/SHA512, 3DES(ECB,CBC), KOREAN SEED, ECC FP 160 bits to 521 bits
21
21
@@ -61,15 +61,23 @@ The P71 has a few hundreds kilobytes of ROM (read-only) memory. The contents of
61
61
62
62
The P71 J3R200 has about `200 KB` of EEPROM (re-writeable) nonvolatile flash memory. According to our manufacturer, the FlexSecure has at least `164 KB` of EEPROM available. The Mifare classic emulation applet was removed from the ROM mask, otherwise only about `99 KB` flash would have been available.
63
63
64
+
Measurements show an available persistent (EEPROM) storage of at least `167736` bytes for the FlexSecure.
65
+
64
66
The ROM is typically used for storing pre-deployed packages which will never change. The EEPROM then stores only the applet instances, as well as configuration data like e.g. secret keys. In our case, all packages are loaded during runtime into the EEPROM, and the ROM is pretty much unused expect for some cryptographic algorithms and the operating system.
65
67
66
-
The P71 J3R200 has about `8 KB / 10KB` of volatile RAM available. Some of that is used by the operating system and cryptographic algorithms. According to out manufacturer, at least `4 KB` of RAM is available for applets on the FlexSecure.
68
+
The P71 J3R200 has about `8 KB` of volatile RAM available. Some of that is used by the operating system and cryptographic algorithms. According to our manufacturer, at least `4 KB` of RAM is available for applets on the FlexSecure.
69
+
70
+
Measurements show a transient (RAM) storage size of at least `4115` / `4112` (reset / deselect) bytes for the FlexSecure.
67
71
68
72
The Apex Flex uses either the `J3R200` or the `J3R180` chip, which one is unclear at the time of writing. They have the same base specs (besides the `J3R180` having a `20 KB` smaller EEPROM), and use a different ROM mask specified by Fidesmo. The ROM mask should contain the pre-loaded payment package, and the EEPROM additionally contains the instance of this payment applet. This takes quite a chunk of memory (allegedly about `100 KB`). Information on these Fidesmo-deployed chips is scarce, maybe the payment package is stored in the EEPROM as well. In any case, the remaining amount of storage and memory is significantly smaller than on the FlexSecure.
69
73
74
+
Measurements show an available persistent (EEPROM) storage of at least `84336` bytes, and a transient (RAM) storage size of at least `4054` / `4160` (reset / deselect) bytes for the Apex Flex.
75
+
76
+
An issue concerning the fact that Fidesmo does not actually free the card memory upon applet deletion is being investigated.
77
+
70
78
## Payments
71
79
72
-
At the time of writing, it is unclear whether the payment functionality of the Apex Flex will be active. Mastercard / Visa have some ideological issues supporting implants, so although the Fidesmo payment applet works great, it might be disabled on the Apex Flex. It is unknown whether the payment applet will be loaded on the chip but refuse to function, or if it will be completely absent. In the latter case, there would be more storage and memory available, probably similar to the FlexSecure. However, it is more likely that the applet will lie dormant until Visa / Mastercard sort out their issues.
80
+
It is unclear if and when the payment functionality of the Apex Flex will be active. Mastercard / Visa have some ideological issues supporting implants, so although the Fidesmo payment applet works great, it might be disabled on the Apex Flex. The payment applet will be loaded on the chip, but won't be enabled. The applet will lie dormant until Visa / Mastercard sort out their issues.
73
81
74
82
The FlexSecure comes without a payment applet. Although there are payment applet implementations by Fidesmo and e.g. Mastercard available, the legal paperwork and security requirements (sectioned chips, private administrative keys) mean that the FlexSecure cannot and will not be able to make payments.
75
83
@@ -85,5 +93,6 @@ If you want full offline control over your hardware and keys, the maximum possib
85
93
-https://www.javacardos.com/store/products/11020
86
94
-https://fidesmo.com/
87
95
-https://github.com/fidesmo/fdsm
96
+
-https://github.com/StarGate01/javacard-memory
88
97
89
98
Improve this document: https://github.com/StarGate01/flexsecure-applets/tree/master/docs
0 commit comments