雖然MIFARE Classic encryption Crypto-1算法在08年就被攻破,因為升級成本以及大眾對其產生的安全問題還未引起足夠的重視等原因,S50/70目前仍舊大量用于諸如公交卡、校園一卡通之類的小額支付卡。目前已經有基于libnfc的開源工具可以獲取M1的KEY。用NFC reader做了一下實驗,獲取一張M1 S50的A/B KEY大概需要1小時左右。
手上的ShenZhen Tong和HongKong Octopus均是SONY的Felica Card,與ISO/IEC 18092(NFC)使用類似的調制方法,采用曼切斯特編碼,在13.56MHZ以212kbit/s進行通訊。使用動態密鑰,加密算法為DES、3-DES、AES,攻擊難度較大,但是從動態密鑰的交換過程入手,還是有機會的。目前,有些手機制造商(NOKIA,SAMSUNG,BLACKBERRY)將NFC Reader集成到手機上,未來RFID的應用將比現在更廣,安全問題也會越來越受到關注。
References:
http://rfidiot.org/
http://wiki.yobi.be/wiki/RFID
http://www.openpcd.org/
http://cq.cx/proxmark3.pl
http://www.proxmark.org/
http://www.libnfc.org/documentation/introduction
http://www.cs.ru.nl/~flaviog/publications/Pickpocketing.Mifare.pdf
http://www.sos.cs.ru.nl/applications/rfid/2008-esorics.pdf