Designing a side channel resistant random number generator

  • Authors:
  • Suresh N. Chari;Vincenzo V. Diluoffo;Paul A. Karger;Elaine R. Palmer;Tal Rabin;Josyula R. Rao;Pankaj Rohotgi;Helmut Scherzer;Michael Steiner;David C. Toll

  • Affiliations:
  • Thomas J. Watson Research Center, IBM Corporation, Yorktown Heights, NY;Systems and Technology Group, IBM Corporation, Southbury, CT;Thomas J. Watson Research Center, IBM Corporation, Yorktown Heights, NY;Thomas J. Watson Research Center, IBM Corporation, Yorktown Heights, NY;Thomas J. Watson Research Center, IBM Corporation, Yorktown Heights, NY;Thomas J. Watson Research Center, IBM Corporation, Yorktown Heights, NY;Thomas J. Watson Research Center, IBM Corporation, Yorktown Heights, NY;Secure Systems and Smart Cards, IBM Deutschland GmbH, Böblingen, Germany;Thomas J. Watson Research Center, IBM Corporation, Yorktown Heights, NY;Thomas J. Watson Research Center, IBM Corporation, Yorktown Heights, NY

  • Venue:
  • CARDIS'10 Proceedings of the 9th IFIP WG 8.8/11.2 international conference on Smart Card Research and Advanced Application
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes the design of the random number generator (RNG) in the Caernarvon high assurance smart card operating system. Since it is used in the generation of cryptographic keys and other sensitive materials, the RNG has a number of stringent security requirements that the random bits must be of good quality i.e. the bits must not be predictable or biased. To this end, a number of standards such as the German AIS 31 mandate that true random bits be continuously tested before use in sensitive applications such as key generation. A key issue in implementing this standard is that such testing before use in key generation greatly increases the attack surface for side-channel attacks. For example, template attacks which can extract information about the random bits from even a single run provided we use the same bits at many different points in the computation. Because of these potential risks, the Caernarvon operating system uses pseudo random number generators which are initially seeded by externally generated high quality random bits, and then perturbed by bits from the true random number generator. We describe a PRNG design which yields high quality random bits while also ensuring that it is not susceptible to side-channel attacks and provide an informal argument about its effectiveness.