Making RSA–PSS Provably Secure against Non-random Faults
RSA–CRT is the most widely used implementation for RSA signatures. However, deterministic and many probabilistic RSA signatures based on CRT are vulnerable to fault attacks. Nevertheless, Coron and Mandal (Asiacrypt 2009) show that the randomized PSS padding protects RSA signatures against random faults. In contrast, Fouque et al. (CHES 2012) show that PSS padding does not protect against certain non-random faults that can be injected in widely used implementations based on the Montgomery modular multiplication.
In this paper, we prove the security of an infective countermeasure against a large class of non-random faults; the proof extends Coron and Mandal’s result to a strong model where the adversary can choose the value of the faulty signatures modulo one of the prime factors of the RSA modulus. This fault model is clearly strictly more general than Coron and Mandal’s, and it captures most of the non-random faults of Fouque et al. Such non-random faults induce, together with the infective countermeasure, more complex probability distributions than in the original proof; we analyze them using careful estimates of character sums over finite fields. The security proof is formally verified using appropriate extensions of EasyCrypt, and provides the first application of formal verification to provable (i.e. reductionist) security in the context of fault attacks.
KeywordsFault Attacks PSS RSA–CRT Infective countermeasure Formal Verification EasyCrypt
- 1.Almeida, J.B., Barbosa, M., Barthe, G., Dupressoir, F.: Certified computer-aided cryptography: efficient provably secure machine code from high-level implementations. In: Sadeghi, A.-R., Gligor, V.D., Yung, M. (eds.) ACM CCS 2013, Berlin, Germany, November 4–8, pp. 1217–1230. ACM Press (2013)Google Scholar
- 4.Barthe, G., Dupressoir, F., Fouque, P.-A., Grégoire, B., Tibouchi, M., Zapalowicz, J.-C.: Making RSA-PSS provably secure against non-random faults. Cryptology ePrint Archive, Report 2014/252 (2014), http://eprint.iacr.org/
- 6.Blömer, J., Otto, M., Seifert, J.-P.: A new CRT-RSA algorithm secure against Bellcore attacks. In: ACM Conference on Computer and Communications Security, pp. 311–320 (2003)Google Scholar
- 8.Boscher, A., Handschuh, H., Trichina, E.: Fault resistant RSA signatures: Chinese remaindering in both directions. IACR Cryptology ePrint Archive, 2010:38 (2010)Google Scholar
- 12.Ciet, M., Joye, M.: Practical fault countermeasures for Chinese remaindering based cryptosystems. In: Breveglieri, L., Koren, I. (eds.) FDTC, pp. 124–131 (2005)Google Scholar
- 13.Coron, J.-S., Giraud, C., Morin, N., Piret, G., Vigilant, D.: Fault attacks and countermeasures on Vigilant’s RSA-CRT algorithm. In: FDTC, pp. 89–96 (2010)Google Scholar
- 21.Montgomery, H.L.: Topics in multiplicative number theory. Springer (1971)Google Scholar
- 23.Moro, N., Heydemann, K., Encrenaz, E., Robisson, B.: Formal verification of a software countermeasure against instruction skip attacks. Journal of Cryptographic Engineering, 1–12 (2014)Google Scholar
- 24.Rauzy, P., Guilley, S.: A formal proof of countermeasures against fault injection attacks on CRT-RSA. Journal of Cryptographic Engineering, 1–13 (2013)Google Scholar
- 26.Shamir, A.: Improved method and apparatus for protecting public key schemes from timing and fault attacks. Patent Application, WO 1998/052319 A1 (1998)Google Scholar
- 27.Trichina, E., Korkikyan, R.: Multi fault laser attacks on protected CRT-RSA. In: Breveglieri, L., Joye, M., Koren, I., Naccache, D., Verbauwhede, I. (eds.) FDTC, pp. 75–86. IEEE Computer Society (2010)Google Scholar