kormax / apple-enhanced-contactless-polling

Reverse-engineering Apple Enhanced Contactless Polling
186 stars 21 forks source link

Can be implemented on "most devices" #8

Closed Smartcard64 closed 1 week ago

Smartcard64 commented 1 week ago

In the description of the supported devices for apple-enhanced-contactless-polling it is mentioned that it can be implemented on "most devices" (see below). Does "most devices" means most actual mobile phones/tablets or most actual contactless readers, or both?

Reader side:

Can be implemented in software on most devices, provided that low-level access to NFC hardware is available. In some cases, it is required to re-implement parts of the protocol stack in the software when doing so._

Thanks

kormax commented 1 week ago

It really depends on the APIs provided by the particular chip.

It includes 99%+ of "dumb" contactless frontend chips, as they provide direct tools for sending raw frames.

The common omission here would be "NFC Controllers", like the ones used on mobile phones, as they implement contactless discovery inside of internal firmware, and are not guaranteed to provide methods for raw communication.

Going back to my original statement "low-level access" means that a chip provides methods for sending raw, low-level data, instead of abstracting common NFC operations away into generic "poll" "send data" and other commands. Low-level access for ECP support is needed, as it requires sending a customized polling frame inside of a "discovery" sequence, hence this use case is not usually accounted for by high-level chips and APIs.

Smartcard64 commented 1 week ago

Appreciate your quick and detailed answer. That is what I suspected but wanted to make sure from an expert.