Hardware/Software co-design of public-key cryptography for SSL protocol execution in embedded systems

  • Authors:
  • Manuel Koschuch;Johann Großschädl;Dan Page;Philipp Grabher;Matthias Hudler;Michael Krüger

  • Affiliations:
  • FH Campus Wien, University of Applied Sciences, Vienna, Austria;Department of Computer Science, University of Bristol, Bristol, United Kingdom;Department of Computer Science, University of Bristol, Bristol, United Kingdom;Department of Computer Science, University of Bristol, Bristol, United Kingdom;FH Campus Wien, University of Applied Sciences, Vienna, Austria;FH Campus Wien, University of Applied Sciences, Vienna, Austria

  • Venue:
  • ICICS'09 Proceedings of the 11th international conference on Information and Communications Security
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern mobile devices like cell phones or PDAs allow for a level of network connectivity similar to that of standard PCs, making access to the Internet possible from anywhere at anytime. Going along with this evolution is an increasing demand for cryptographically secure network connections with such resource-restricted devices. The Secure Sockets Layer (SSL) protocol is the current de-facto standard for secure communication over an insecure network like the Internet and provides protection against eavesdropping, message forgery and replay attacks. To achieve this, the SSL protocol employs a set of computation-intensive cryptographic algorithms, in particular public-key algorithms, which can result in unacceptably long delays on devices with modest processing capabilities. In this paper we introduce a hardware/software co-design approach for accelerating SSL protocol execution in resource-restricted devices. The software part of our co-design consists of MatrixSSLTM, a lightweight SSL implementation into which we integrated elliptic curve cryptography (ECC) to speed up the public-key operations performed during the SSL handshake. The hardware part comprises a SPARC V8 compliant processor core with instruction set extensions to support the low-level arithmetic operations carried out in ECC. Our co-design executes a full SSL handshake using an elliptic curve over a 192-bit prime field in less than 300 msec when the SPARC processor is clocked at 20 MHz. A pure software implementation like OpenSSL is, depending on the field type and order, up to a factor of 10 slower than our co-design solution.