Securing M2M with Post-Quantum Public-Key Cryptography
Total Page:16
File Type:pdf, Size:1020Kb
IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS 1 Securing M2M with post-quantum public-key cryptography Jie-Ren Shih, Yongbo Hu, Ming-Chun Hsiao, Ming-Shing Chen, Wen-Chung Shen, Bo-Yin Yang, An-Yeu Wu, and Chen-Mou Cheng Intel-NTU Connected Context Computing Center, National Taiwan University, Taipei, Taiwan Abstract—In this paper, we present an ASIC implementation security of RSA, currently the most popular PKC, depends on of two post-quantum public-key cryptosystems (PKCs), NTRU- the difficulty of the integer factorization problem, while that Encrypt and TTS. It represents a first step toward securing of ECC, the runner-up PKC, depends on the discrete logarithm machine-to-machine (M2M) systems using strong, hardware- assisted PKC. In contrast to the conventional wisdom that PKC problem. As Shor has shown, both of them would be solved by is too “expensive” for M2M sensors, it actually can lower the large quantum computers in polynomial time [1]. Such a threat total cost of ownership because of cost savings in provision, is more relevant in the machine-to-machine (M2M) context, as deployment, operation, maintenance, and general management. these systems tend to operate over a long period of time, and Furthermore, PKC can be more energy-efficient because PKC- we certainly should take precaution against such a catastrophic based security protocols usually involve less communication than their symmetric-key-based counterparts, and communication is attack, even though it might only happen in the distant future. getting relatively more and more expensive compared with com- There are mostly four different kinds of approaches com- putation. More importantly, recent algorithmic advances have posing the so-called “post-quantum cryptography:” lattice- brought several new PKCs, NTRUEncrypt and TTS included, based cryptography, multivariate cryptography, hash-based that are orders of magnitude more efficient than traditional PKCs signatures, and code-based cryptography. In this paper, we such as RSA. It is therefore our primary goal in this paper to demonstrate the feasibility of using hardware-based PKC to focus on NTRUEncrypt, a lattice-based cryptosystem, and provide general data security in M2M applications. TTS, a multivariate cryptosystem, as candidates in system development. Index Terms—Lattice-based Cryptography, Multivariate Cryp- tography, Bluespec SystemVerilog A. Previous attempts of securing M2M systems I. INTRODUCTION As networked machines become more popular around our RYPTOGRAPHY is the foundation of data security. living, information security on these devices becomes an C There are mainly two kinds of cryptography in use today, important issue. Traditionally, PKC is regarded as too expen- symmetric-key and public-key cryptography. In the former, sive to deploy in M2M systems. Typical M2M systems only the communicating parties are assumed to share one or more have limited computational power, making deploying strong secret keys a priori. How they can establish such a shared cryptography on them extremely challenging. secret is often referred to as the key-exchange problem. This There have been numerous proposals how to secure M2M problem is challenging not only from a technical but also from systems from the academic research community [2], [3]. a managerial point of view, as we will need to manage O(n2) Most of them use software-based symmetric-key cryptography. keys in a network of size n. For example, TinySec provides link-layer security for sensor Public-key cryptography (PKC), on the other hand, provides networks using software implementation of symmetric-key an elegant solution to the key-exchange problem. With PKC, cryptosystems [4]. In many proposals, more bits will need key management becomes straightforward. A user can encrypt to be sent over the air for achieving certain level of security, a short-lived session key using the communicating party’s so using hardware accelerators may not necessarily help in public key and simply send out the encrypted key. PKC these cases [2]. The same functionality would be achieved by ensures that only the holder of the corresponding private key PKC in a more communication-efficient way. This is becoming can decrypt and obtain the session key. Furthermore, PKC more attractive as computation is getting cheaper in terms can provide digital signatures, which, like a person’s signature, of hardware cost and energy consumption, while wireless provides an efficient means of authentication. As a result, PKC communication is less so at the same time. As a result, proliferates in today’s Internet age and permeates many aspects communication is becoming more expensive compared with of our daily life, ranging from communication to electronic computation, not to mention the spectrum will become one commerce. of the scarcest resources when billions of M2M sensors are However, there is an emerging threat to the prevailing PKCs deployed and trying to send out their readings over the air. In due to the recent development of quantum computers. The this case, it is advantageous to use PKC on sensors for the sake of reducing communication cost. Copyright (c) 2013 IEEE. Personal use of this material is permitted. However, permission to use this material for any other purposes must be Lastly, there have been several attempts in employing obtained from the IEEE by sending an email to [email protected]. software-based PKC to secure inter-sensor communication [5], IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS 2 [6]. People have demonstrated that it is possible to run PKC a4 a3 a2 a1 a0 on sensors with acceptable performance. We believe that this x b4 b3 b2 b1 b0 is the right direction to pursue, and we plan to take it further a b a b a b a b a b by hardware acceleration. 4 0 3 0 2 0 1 0 0 0 a4b1 a3b1 a2b1 a1b1 a0b1 a4b1 a b a b a b a b a b a b a b B. Contributions 4 2 3 2 2 2 1 2 0 2 4 2 3 2 a4b3 a3b3 a2b3 a1b3 a0b3 a4b3 a3b3 a2b3 Our approach is to provide a foundation for information + a4b4 a3b4 a2b4 a1b4 a0b4 a4b4 a3b4 a2b4 a1b4 security using hardware-assisted PKC. Specifically, we plan to design and implement a complete, proof-of-concept PKC- c4 c3 c2 c1 c0 based system. We choose two types of PKCs to support. First, multivariate cryptosystems enjoy the benefit of executing much Fig. 1. Convolutional polynomial multiplication in NTRUEncrypt ring faster than traditional cryptosystems on the same hardware, making them ideal for securing sensors in M2M systems [7]. II. NTRUENCRYPT Specifically, we support the (24; 20; 20) variant of TTS over NTRUEncrypt is a lattice-based cryptosystem, whose secu- F31, which takes a 200-bit message digest and produces a 320-bit signature, providing a security level of about 80 rity is based on the hardness of the shortest vector problem in bits. Second, we will include lattice-based cryptosystems such high-dimensional euclidean lattices [9]. The main operations as NTRUEncrypt to provide encryption for key exchang- in NTRUEncrypt involve arithmetic in a polynomial ring R = N ing [8]. Specifically, we support the ees397ep1 variant of Z[X]=(X − 1). The addition in this ring is straightforward NTRUEncrypt, which encrypts a plaintext up to 397 bits and polynomial addition, while the multiplication in this ring is produces a ciphertext of 3573 bits long, providing a security convolutional, as shown in Figure 1. All polynomials in the level of about 128 bits. These are also future-proof in the ring have integral coefficients (modulo some integers), and sense that they can defend against the attack by thousand- their degrees are at most N − 1, so a typical element can be N−1 qubit quantum computers, which might emerge in the next represented as a = a0 + a1X + :::aN−1X . few decades. Based on these primitives, we can implement NTRUEncrypt is parameterized by three parameters, N, P , security protocols and services like multi-way authentication, and Q, which satisfy the following conditions. key exchange, digital signature, etc. • N is a prime number such that the maximal degree for The main contributions of this paper include the following. all polynomials in the ring R is N − 1. • We present an efficient hardware design that supports two • P and Q are two possible moduli for the coefficients of post-quantum PKCs, namely, NTRUEncrypt and the TTS the polynomials in R, with P Q, and gcd(P; Q) = 1. signature scheme. Our approach not only allows reuse of After arithmetic operations in R, the coefficients of the poly- sequential but also combinational circuits, resulting in a nomials need to be reduced either modulo P or Q. much more compact design than if done separately. • By using the high-level design tool Bluespec SystemVer- A. Operations ilog, we are able to extensively explore architectural NTRUEncrypt consists of three parts: key generation, en- design space, including experimenting with an iterative cryption, and decryption. In this paper, we only focus on the linear system solver, which, to our best knowledge, has implementation of encryption and decryption; key generation not been investigated on cases of solving such small does not happen frequently and hence is often done off-line. systems. Here we focus on accelerating on-line operations that are • We identify the designs that provide the best trade-off mostly executed on M2M systems. To make this paper self- between time, area, and total cycle count in order to contain, we still include a brief description of key-generation minimize total energy consumption. This is especially operation below. important for M2M sensors, for many of them run on 1) Key generation: A public key h and a private key (f; fp) limited energy sources such as battery.