The phone uses the PN65N chip from NXP, which is combination of the PN544 chip and a SmartMX secure element. There are two ways to make this chip behave like a smart card (PICC):
- Through the secure element.
- With a UICC (aka SIM card) that supports the Single Wire Protocol (SWP).
If these keys were known, it would be possible to install a simple relay-style applet that forwarded APDUs to and from the Android OS as they were received.
Enabling card emulation through SWP is probably easier, but the UICC used in this set-up won't be able to talk with Android.
Aside from discovering the secure element's secret keys, I see two solutions:
- Replace the PN65N with another that you know the secret keys to.
- Attach the SWP pin on the PN65N to a pin accessible by the Android OS rather than than to a UICC.
- Attach an external USB NFC modem capable of card emulation.
The third solution is probably the least messy. Android 2.3.4, which can be run on the Nexus S, has optional support for the Android Open Accessory platform. This allows the phone to behave as a host to a USB device. Such a device might be an NFC modem capable of card emulation.
If I had more time, I'd pursue one of those methods to enable the Nexus S to emulate an NFC card. With only three-ish weeks left, I have to settle with a simulated terminal.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.