Hacker News new | past | comments | ask | show | jobs | submit
I wonder why the Chinese transit card uses an unsecure method. Sounds like that is a lone outlier case so presumably intentional for some reason?
My guess is that there's some city or transit system which needs the UID to be static for one reason or another, like in order to avoid double charging the same user if they accidentally scan their card multiple times.

The T-Union card definitely has other means of doing that, like by checking the card serial, which is stored in one of the files, or by getting the same static UID value as it is also reported in RATS.

But in the end, seems like one of the important transit partners did not want to even bother fixing it, so Apple was forced to allow the static UID.

It really shows how big companies like Apple, who like to talk about "privacy" and "security", are willing to bend over backwards, if this means getting access to the revenue stream. AFAIK they get a percentage cut of transit card top ups, and Chinese market is obviously massive.

For comparison, from what I've heard, when it comes to implementing the same transit feature in the US or in the EU, Apple is extremely strict with their partners. They may even tell their partners that they're unwilling to work with them unless they fully re-implement their transit card standard stack using other technology, or to format their cards differently, even if they are fully secure. The reasoning is, depending on how big the project is, is that Apple may not want to bother with porting the Applet implementation (in case of niche card standards), or writing a new card state parser (for existing card types like Mifare, which can be 'formatted' and store data differently, even if they use the same protocol).

loading story #42764392
Given the UID is the same every time, I can assume it’s to make surveillance easier?
loading story #42764670
loading story #42764417
loading story #42763082