SDRAM을 사용한 난수 발생

Random Number Generation using SDRAM

  • 투고 : 2010.01.14
  • 심사 : 2010.02.17
  • 발행 : 2010.04.15

초록

보안을 위한 암호 키는 진난수 발생기를 사용하여 만들어야 한다. 진난수 발생기는 상태 예측이 거의 불가능한 혼란 진원지에서 초기값을 추출하여 비가역적 해시 알고리즘을 적용해 난수를 만들어 낸다. DRAM 접근 대기 시간(latency)에도 불규칙성이 존재하여 혼란 진원지 역할을 할 수 있음이 알려져 있는데, 요즘 널리 사용되는 동기식 DRAM (SDRAM)을 장착한 시스템에서는 접근 대기 시간의 불규칙성이 잘 노출되지 않으며, 난수 비트 패턴의 뭉침 현상이 심해진다. 이 문제를 xor 연산을 사용하여 해결하였다. 이 방법으로 만든 난수를 통계학적으로 평가하여 진난수에 필적하는 품질을 확인하였다. 이와 같은 난수 발생 방법의 성능은 100 Kbits/sec 수준이며, 별도의 장치나 회로를 요구하지 않아 DRAM을 장착하고 있는 여러 형태의 컴퓨터 장비에서 사용 가능하다.

Cryptographic keys for security should be generated by true random number generators that apply irreversible hashing algorithms to initial values taken from a random source. As DRAM shows randomness in its access latency, it can be used as a random source. However, systems with synchronous DRAM (SDRAM) do not easily expose such randomness resulting in highly clustered random numbers. We resolved this problem by using the xor instruction. Statistical testing shows that the generated random bits have the quality comparable to true random bit sequences. The performance of bit generation is at the order of 100 Kbits/sec. Since the proposed random number generation requires neither external devices nor any special circuits, this method may be used in any computing device that employs DRAM.

키워드

참고문헌

  1. A. Alkassar, T. Nicolay, and M. Rohe, "Obtaining true-random binary numbers from a weak radioactive source," ICCSA (2), Lecture Notes in Computer Science, vol.3481, pp.634-646, 2005.
  2. M. Haahr, RANDOM.ORG, http://www.random.org, Trinity College, Ireland, 1998.
  3. L. Noll, LAVARND, http://www.lavarnd.org, 2000.
  4. W. Killmann, W. Schindler, "A Design for a Physical RNG with Robust Entropy Estimators," CHES 2008, Lecture Notes in Computer Science, vol.5154, pp.146-163, 2008.
  5. M. Dichtl and J. Golic, "High-Speed True Random Number Generation with Logic Gates Only," CHES 2007, Lecture Notes in Computer Science, vol.4727, pp.45-62, 2007.
  6. I. Vasyltsov, E. Hambardzumyan, Y. Kim, B. Karpinskyy, "Fast Digital TRNG based on Metastable Ring Oscillator," CHES 2008, Lecture Notes in Computer Science, vol.5154, pp.164-180, 2008.
  7. D. Davis, R. Ihaka, and P. Fenstermacher, "Cryptographic randomness from air turbulence in disk drives," CRYPTO '94: Proc. of the 14th Annual International Cryptology Conference on Advances in Cryptology, pp.114-120, Springer-Verlag, 1994.
  8. A. SEZNEC and N. SENDRIER, "HAVEGE: A User-Level Software Heuristic for Generating Empirically Strong Random Numbers," ACM Transactions on Modeling and Computer Simulation, vol.13, no.4, pp.334-346, 2003. https://doi.org/10.1145/945511.945516
  9. V. Cuppu, B. Jacob, B. Davis, T. Mudge, "A Performance Comparison of Contemporary DRAM Architectures," 26th Annual International Symposium on Computer Architecture (ISCA'99), vol.27, no.2, pp.222-232, 1999.
  10. B. Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd ed., pp.233- 234, John Wiley & Sons, New York, 1996.
  11. B. Jacob, S. Ng, D. Wang, Memory System: Cache, DRAM, Disk, pp.465-480, Morgan-Kaufman Publishers Inc., Massachusetts, 2007.
  12. B. Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd ed., p.425, John Wiley & Sons, New York, 1996.
  13. A. Rukhin, J. Soto, etal., A statistical test suite for random and pseudorandom number generators for cryptographic applications, Revised, L. Bassham III, Special Publication SP 800-22 rev.1, National Institute of Standards and Technology (NIST), Aug. 2008.
  14. S. Kim, K. Umeno, A. Hasegawa, Corrections of the NIST statistical test suite for randomness. Cryptology ePrint Archive, Report 2004/018, 2004.