Reading Felica Card IDm, writing user ID and Key, without native applicationsFeatures:
*Reading IDm of Felica cards without native application.
*Writing user ID and card key.
*Sending random challenge number and recieve response.
Any comments would be appreciable to metalwarrior_type_jp@hotmail.com
---------------------
Environments
---------------------
1.OS : Chrome browser for Windows(I haven't checked if it works in other OS.)
2.IC cards : Felica, Felica Lite-S
3.IC Reader : SONY's RC-S380(both enterprise and personal models available)
4.Driver : Please install WinUSB(this doesn't work with SONY's default drivers, so install WinUSB with 'zadig' soft and so on.)
---------------------
How to use
---------------------
All request and response is based on chrome messaging with JSON format messages.
"Felica IDm Receiver Extension for RC-S380" helps you to utilize this app and send data to Web pages.
Of course, you can make your own extension to use this app.
*** Reading IDm ***
(Both felica and felica lite-s available)
input:
startPolling : (1 or 0)
output:
felicaIDm : (hex numbers string of felica IDm)
*** Reading user ID ***
(Only felica lite-s available)
input:
getCardId : (1 or 0)
output:
felicaIDm: (hex numbers string of felica IDm)
*** Writing user ID and Key ***
(Only felica lite-s available)
If you don't enter master key and car key version, this writes only user ID.
You can't read card key written in the card directly.
input:
writeCardId : (1 or 0)
cardId : (0 - 281474976710655 integral number)
cardKeyVersion : ( 0 - 65535 integral number)
masterKey : (24bytes hex number string)
output:
felicaIDm: (hex numbers string of felica IDm)
*** Writing Random Challenge ***
(Only felica lite-s available)
input:
authCard : (1 or 0)
randomNum : (16bytes hex number string)
output:
rcResponse: (hex numbers string of 16 bytes felica IDm, 16bytes card key version, 8 bytes random challenge response(MAC_A value))
#####################
Cautions:
#####################
1.I won't take any responsibilities about installing and using this application, including changing drivers in your PCs.
2.The copyright of this application belongs to me, but you can check inside of this application from background pages.
3.The authentication functions are designed based on SONY's document(you can find on the web), but there is no guarantee about security.
This app is using CryptoJS, useful javascript encryption library, to write card key.
(https://code.google.com/p/crypto-js/)
Any comments would be appreciable.