JCOP Smart Cards with Customizable ATR — Even After Personalization
Apr 14th 2025
Key Feature
NXP JCOP 21/31/41 series Java Cards allow ATR (Answer to Reset) customization even after the personalization process is complete.
Using GlobalPlatform Secure Channel Protocol (SCP02 or SCP03) and a valid key set (ENC, MAC, DEK), users can modify the ATR while the card is in the OP_READY
state.
Technical Background
- JCOP cards follow GlobalPlatform 2.x/3.x standards.
- ATR is typically stored in EEPROM and accessible via vendor-specific APDU commands.
- No need to reset or re-personalize the card to change ATR.
Practical Use Cases
Scenario | Description |
---|---|
Legacy System Compatibility | Some terminals (e.g. healthcare, transit, or access control) only accept specific ATR values. |
Card Emulation | Simulate older cards by replicating their ATR structure for compatibility testing. |
Pre-distribution Configuration | Vendors can configure ATRs before shipping cards to match target system expectations. |
How to Modify ATR (After Personalization)
- Obtain GlobalPlatform ISD Key Set – ENC, MAC, and DEK.
- Establish Secure Channel – Use SCP02/SCP03 via JCOP Tools, GPShell, or JCShell.
- Send Vendor-Specific APDU – Format varies by OS (e.g.
80 xx xx xx ...
).
- Reset the Card – Cold reset (remove and reinsert) to activate the new ATR.
Note: APDU formats and memory addresses may vary by JCOP version.
Security Considerations
- Requires valid ISD key access via Secure Channel.
- Some cards enforce OTP or limit the number of ATR rewrites.
- Test in a safe environment to prevent permanent misconfiguration.
Conclusion
NXP JCOP smart cards offer a rare advantage: ATR values can be updated even after personalization. This makes them ideal for developers, testers, and integrators working with legacy systems, terminal simulations, or pre-configured deployments.