An Efficient Elliptic Curve Cryptography Signature Server With GPU Acceleration

Over the Internet, digital signature has been an indispensable approach to securing e-commerce and other online transactions requiring authentication. Concerning the computing costs of signature generation and verification, it has become a more and more common practice for security practitioners to outsource such computations from heavily loaded application servers called tenants to dedicated proxies like signature servers in the enterprise private cloud. In this paper, we present our high-performance signature server called Guess. It implements the elliptic curve digital signature algorithm (ECDSA) with 256-b key size on a Linux-powered commodity computer, harnessing a desktop graphics processing unit as a featured cryptographic accelerator. We demonstrate our experience in maximizing the computing power of Guess and also its capability to deliver such power to the tenants, which includes down-to-earth customization and optimization considering various hardware and software factors. Our comprehensive implementation of ECDSA is tested against intensive network traffic. Field experiments show that Guess achieves Ts = 8.71 × 106 operations per second (OPS) for signature generation or Tv = 9.29 × 105 OPS for verification, which is significantly faster than existent prototypes and products. Guess is a universal server that readily supports various categories of elliptic curve cryptographic schemes, such as digital signature, key agreement, and encryption.

[1]  Yuval Yarom,et al.  Just a Little Bit More , 2015, CT-RSA.

[2]  Yuan Zhao,et al.  Exploiting the Potential of GPUs for Modular Multiplication in ECC , 2014, WISA.

[3]  Thomas Pornin Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA) , 2013, RFC.

[4]  Jean-Charles Faugère,et al.  Attacking (EC)DSA Given Only an Implicit Hint , 2012, Selected Areas in Cryptography.

[5]  Jyh-Charn Liu,et al.  EAGL: An Elliptic Curve Arithmetic GPU-Based Library for Bilinear Pairing , 2013, Pairing.

[6]  Joppe W. Bos Low-Latency Elliptic Curve Scalar Multiplication , 2012, International Journal of Parallel Programming.

[7]  Donald E. Eastlake,et al.  US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF) , 2011, RFC.

[8]  Jin Hong,et al.  High-Speed Parallel Implementations of the Rainbow Method in a Heterogeneous System , 2012, INDOCRYPT.

[9]  John D. Owens,et al.  GPU Computing , 2008, Proceedings of the IEEE.

[10]  Yuan Zhao,et al.  Exploiting the Floating-Point Computing Power of GPUs for RSA , 2014, ISC.

[11]  Leonel Sousa,et al.  Elliptic Curve point multiplication on GPUs , 2010, ASAP 2010 - 21st IEEE International Conference on Application-specific Systems, Architectures and Processors.

[12]  Tim Güneysu,et al.  Ultra High Performance ECC over NIST Primes on Commercial FPGAs , 2008, CHES.

[13]  Arnaud Tisserand,et al.  Comparison of Modular Arithmetic Algorithms on GPUs , 2009, PARCO.

[14]  Zhe Liu,et al.  High-Speed Elliptic Curve Cryptography on the NVIDIA GT200 Graphics Processing Unit , 2014, ISPEC.

[15]  Tim Güneysu,et al.  Exploiting the Power of GPUs for Asymmetric Cryptography , 2008, CHES.

[16]  Alfred Menezes,et al.  Guide to Elliptic Curve Cryptography , 2004, Springer Professional Computing.

[17]  Leonel Sousa,et al.  RNS-Based Elliptic Curve Point Multiplication for Massive Parallel Architectures , 2012, Comput. J..

[18]  Dirk Fox,et al.  Digital Signature Standard (DSS) , 2001, Datenschutz und Datensicherheit.

[19]  Jiwu Jing,et al.  A High-Speed Elliptic Curve Cryptographic Processor for Generic Curves over GF(p) , 2014 .

[20]  Dipanwita Roy Chowdhury,et al.  Randomized Batch Verification of Standard ECDSA Signatures , 2014, SPACE.

[21]  Abhijit Das,et al.  Faster Batch Verification of Standard ECDSA Signatures Using Summation Polynomials , 2014, ACNS.

[22]  William E. Burr,et al.  Recommendation for Key Management, Part 1: General (Revision 3) , 2006 .

[23]  John Kelsey,et al.  Recommendation for Random Number Generation Using Deterministic Random Bit Generators , 2014 .

[24]  Thomas Peyrin,et al.  Practical Free-Start Collision Attacks on 76-step SHA-1 , 2015, CRYPTO.

[25]  Seungyeop Han,et al.  SSLShader: Cheap SSL Acceleration with Commodity Processors , 2011, NSDI.

[26]  Matthieu Rivain,et al.  Fast and Regular Algorithms for Scalar Multiplication over Elliptic Curves , 2011, IACR Cryptol. ePrint Arch..

[27]  Naomi Benger,et al.  Recovering OpenSSL ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack , 2014, IACR Cryptol. ePrint Arch..

[28]  Vijay Varadharajan,et al.  Security as a Service Model for Cloud Environment , 2014, IEEE Transactions on Network and Service Management.

[29]  Jiazhe Chen,et al.  Mind Your Nonces Moving: Template-Based Partially-Sharing Nonces Attack on SM2 Digital Signature Algorithm , 2015, AsiaCCS.