5

Sony FeliCa does not provide any official docs on which cryptographic functions are used for their NFC cards. They got some docs explaining that they do mutual authentication, but there is no official paper explaining what crypto with which parameters they use at all. It's unknown which random generators etc. are used as well and there is no code to check what they exactly do.

So I was wondering if someone knows what crypto they use? If there is maybe any code which includes their authentication I would like to have a look at it and check if these cards are really as safe as they say.

Update 1:

Maybe I should specify the question a bit more. It's public known that FeliCa uses DES and AES encryption, but no specification is given. So let's just discuss DES cards.

DES Cards:

  • Is 3DES used?:
    • ECB or CBC mode?
    • How do they calculate the keys for the first step of their mutual authentication? Why is that necessary todo?
    • How do they generate a new challenge? Is it just some random?
  • Is maybe just DES-Encryption used?
    • Would that mean cards could be bruteforced?
2

Is FeliCa encryption safe? Yes, but also no.

Yes, insofar as there doesn't appear to be any published cryptanalysis attacks against the cryptography employed by FeliCa.

No, because it isn't an open standard. This makes it difficult for cryptographers from all over the world to review and audit the function. Instead, Sony is relying on a small pool of experts, increasing the likelihood of there being a vulnerability that undermines the security of the system.

Caveat: I am not an expert on the FeliCa system.

  • Yes, security by obscurity works as long as nobody takes time to analysis it. But maybe someone has some client software which implements the FeliCa authentication and is willing to share for analysis. – Me7e0r Nov 24 '19 at 12:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.