DOI QR코드

DOI QR Code

안전한 센서 네트워크를 위한 스트림 암호의 성능 비교 분석

Performance Analysis and Comparison of Stream Ciphers for Secure Sensor Networks

  • 윤민 (인하대학교 컴퓨터정보공학부) ;
  • 나형준 (티맥스 소프트) ;
  • 이문규 (인하대학교 컴퓨터정보공학부) ;
  • 박근수 (서울대학교 컴퓨터공학부)
  • Yun, Min (School of Computer and Information Engineering, Inha University) ;
  • Na, Hyoung-Jun (TmaxSoft) ;
  • Lee, Mun-Kyu (School of Computer and Information Engineering, Inha University) ;
  • Park, Kun-Soo (School of Computer Science and Engineering, Seoul National University)
  • 발행 : 2008.10.30

초록

무선 센서 네트워크는 센서 노드 또는 모트(mote)라 불리는 소형 장치들로 이루어진 무선 네트워크이다. 최근 센서 네트워크에 대한 연구가 활발한 가운데 센서 네트워크에서의 보안에 관한 연구 또한 활발히 진행되고 있다. 센서 노드 및 센서 네트워크 상의 정보를 안전하게 저장, 전송하기 위해서는 암호 알고리즘의 구현이 필요하며, 이 암호 알고리즘들은 센서 노드의 한정된 자원을 효과적으로 활용할 수 있도록 효율적인 구현이 필수적이다. 센서 노드 상에서 이용될 수 있는 암호로는 TinyECC 등의 공개키 암호와 AES와 같은 표준 블록 암호가 있으나, 스트림 암호는 최근에서야 eSTREAM 프로젝트에서 표준화가 완료되어 아직 센서 노드상에서 사용 가능성이 명확하지 않은 실정이다. 이에 본 논문에서는 eSTREAM의 2단계와 3단계에 채택되었던 10개 소프트웨어 기반 암호들 중 9개의 암호들을 MicaZ 모트 상에 구현하여 성능을 비교하고, 특히 최종적으로 eSTREAM에 채택된 SOSEMANUK, Salsa20, Rabbit을 포함한 6개 암호에 대해서는 MicaZ에 적합하도록 최적화하였다. 또한 참조 구현으로써 하드웨어용 스트림 암호 및 AES-CFB에 대한 실험 결과도 제시한다. 본 논문의 실험에 따르면, 대부분의 스트림 암호가 약 31Kbps - 406Kbps의 암호화 성능을 보임으로써 센서 노드에서 사용하기에 큰 무리가 없음을 확인할 수 있었다. 특히 최종적으로 채택된 SOSEMANUK, Salsa20, Rabbit의 경우 센서 노드에 적합한 128바이트 크기의 작은 패킷의 암호화에서 각각 406Kbps, 176Kbps, 121Kbps의 속도를 보여주고, 70KB, 14KB, 22KB의 ROM및 2811B, 799B, 755B의 RAM을 사용함으로써, 106Kbps의 속도를 보여준 소프트웨어 기반 AES에 비해 우수한 성능을 보임을 알 수 있었다.

A Wireless Sensor Network (WSN for short) is a wireless network consisting of distributed small devices which are called sensor nodes or motes. Recently, there has been an extensive research on WSN and also on its security. For secure storage and secure transmission of the sensed information, sensor nodes should be equipped with cryptographic algorithms. Moreover, these algorithms should be efficiently implemented since sensor nodes are highly resource-constrained devices. There are already some existing algorithms applicable to sensor nodes, including public key ciphers such as TinyECC and standard block ciphers such as AES. Stream ciphers, however, are still to be analyzed, since they were only recently standardized in the eSTREAM project. In this paper, we implement over the MicaZ platform nine software-based stream ciphers out of the ten in the second and final phases of the eSTREAM project, and we evaluate their performance. Especially, we apply several optimization techniques to six ciphers including SOSEMANUK, Salsa20 and Rabbit, which have survived after the final phase of the eSTREAM project. We also present the implementation results of hardware-oriented stream ciphers and AES-CFB fur reference. According to our experiment, the encryption speeds of these software-based stream ciphers are in the range of 31-406Kbps, thus most of these ciphers are fairly acceptable fur sensor nodes. In particular, the survivors, SOSEMANUK, Salsa20 and Rabbit, show the throughputs of 406Kbps, 176Kbps and 121Kbps using 70KB, 14KB and 22KB of ROM and 2811B, 799B and 755B of RAM, respectively. From the viewpoint of encryption speed, the performances of these ciphers are much better than that of the software-based AES, which shows the speed of 106Kbps.

키워드

참고문헌

  1. TinyOS, http://tinyos.net
  2. A. Liu, P. Ning, "TinyECC:Elliptic Curve Cryptography for Sensor Networks (Version 1.0)," http://discovery.csc.ncsu.edu/softare/TinyECC/, November 2007
  3. ZigBee, Wireless Control That simply Works, http://www.Zigbee.org
  4. G. Meiser, T. Eisenbarth, K. Lemke-Rust, C. Paar, "Software Implementation of eSTREAM Profile I Ciphers on Embedded 8-bit AVR Microcontrollers," http://www.ecrypt.eu.org/stream/sw.html
  5. eSTREAM, the ECRYPT Stream Cipher Project, http://www.ecrypt.eu.org/stream/
  6. NESSIE, https://www.cosic.east.kul- euven.be/nessie/
  7. H. Wu, "Stream Cipher HC-128," http://www.ecrypt.eu.org/stream/hcp3.html/
  8. A. Biryukov, "A new 128 bit key stream cipher :LEX," http://www.ecrypt.eu.org/stream/lexp3.html
  9. D. Whiting, B. Schneier, S. Lucks, F. Muller, "Phelix - Fast Encryption and Authentication in a Single Cryptograp hic Primitive," http://www.ecrypt.eu.org/stream/phelixp2.html
  10. E. Biham, J. Seberry, "Py (Roo):A Fast and Secure Stream Cipher Using Rolling Arrays," http://www.ecrypt.eu.org/stream/pyp2.html
  11. D. Bernstein, "Salsa20," http://www.ecrypt.eu.org/stream/salsa20p3.html
  12. C. Berbain, O. Billet, A. Canteaut, N. Courtois, H. Gilbert, L. Goubin, A. Gouget, L. Granboulan, C. Lauradoux, M. Minier, T. Pornin, H. Sibert, "Sosemanuk, a fast software-oriented stream cipher," http://www.ecrypt.eu.org/stream/sosemanukp3.html
  13. M. Matsumoto, M. Saito, T. Nishimura, M. Hagita, "CryptMT Strea m Cipher Version 3," http://www.ecrypt.eu.org/stream/cryptmtp3.html
  14. P. Hawkes, M. Paddon, G. Rose, M. W. de Vries, "Primitive Specification for NLSv2," http://www.ecrypt.eu.org/stream/nlsp3.html
  15. M. Boesgaard, M. Vesterager, T. Christensen, E. Zenner, "The Stream Cipher Rabbit," http://www.ecrypt.eu.org/stream/rabbitp3.html
  16. K. Chen, M. Henricksen, W. Millan, J. Fuller, L. Simpson, E. Dawson, H. Lee, S. Moon, "Dragon:A Fast Word Based Stream Cipher," http://www.ecrypt.eu.org/stream/dragonp3.html
  17. P. Ekdahl, T. Johansson. "A new version of the stream cipher SNOW," SAC 2002, LNCS 2295, pp. 47-61, 2002
  18. E. Biham, R. Anderson, L. Knudsen. "SERPENT :A new block cipher proposal," FSE'98, LNCS 1372, pp. 222-238, 1998
  19. Atmel, ATmega128(L) Datasheet, http://www.atmel.com/dyn/resources/prod_documents/doc2467.pdf
  20. D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, D. Culler. "The nesC language:A Holistic Approach to Networked Embedded Systems," PLDI 2003, June 2003
  21. Paulo Barreto's public domain C implementation of AES, http://www.esat.kuleuven.ac.be/~rijmen/rijndael/rijndael-fst-3.0.zip
  22. Y. W. Law, J. Doumen, P. Hartel "Survey and Benchmark of Block Ciphers for Wireless Sensor Networks," ACM Transactions on Sensor Networks, Vol. 2, No. 1, pp. 65-93, February 2006 https://doi.org/10.1145/1138127.1138130