Fooling primality tests on smartcards [ESORICS 2020]

   Authors: Vladimir Sedlacek, Jan Jancar and Petr Svenda

 Primary contact: Jan Jancar <j08ny@mail.muni.cz>

 Conference: ESORICS 2020

   DOI: 10.1007/978-3-030-59013-0_11

@InProceedings{2020-esorics-foolingprimes,
  Title         = {Fooling primality tests on smartcards},
  Author        = {Vladimir Sedlacek and Jan Jancar and Petr Svenda},
  BookTitle     = {25th European Symposium on Research in Computer Security (ESORICS) 2020},
  Year          = {2020},
  Publisher     = {Springer},
  crocsweb      = {https://crocs.fi.muni.cz/papers/primality_esorics20},
  Keywords      = {ECC, primality, pseudoprimes, smartcards},
}

Abstract

We analyse whether the smartcards of the JavaCard platform correctly validate primality of domain parameters. The work is inspired by Albrecht et al.[1], where the authors analysed many open-source libraries and constructed pseudoprimes fooling the primality testing functions. However, in the case of smart-cards, often there is no way to invoke the primality test directly, so we trigger it by replacing (EC)DSA and (EC)DH prime domain parameters by adversarial composites. Such a replacement results in vulnerability to Pohlig-Hellman style attacks, leading to private key recovery.Out of nine smartcards (produced by five major manufacturers) we tested, all butone have no primality test in parameter validation. As the JavaCard platform provides no public primality testing API, the problem cannot be fixed by an extra parameter check, making it difficult to mitigate in already deployed smartcards.

Further research

Data, generation scripts and attack demonstrations: GitHub

Summarizing video

Selected conclusions

Acknowledgements

J. Jancar was supported by the grant MUNI/C/1701/2018, V.Sedlacek by the Czech Science Foundation project GA2003426S and the Brno Ph.D. Talent Scholarship (funded by the Brno City Municipality). Some of the tools used and P.Svenda were supported by the CyberSec4Europe Competence Network. Computational resources were supplied by the project e-INFRA LM2018140.