Implementing Identity-based Key Agreement in Embedded Devices

Giovanni Schmid, Francesco Rossi

Abstract

In recent years, a substantial work has been devoted to the design of cryptographic protocols with reduced computational load and power consumption. However, implementations are scarce, especially in case of embedded devices. In this paper, we discuss the implementation over elliptic curves of a two-party key agreement protocol for the Raspberry PI platform. The protocol requires just one round to derive an (implicit) authenticated session key, and it makes use of identity-based cryptography, which fits very well some application scenarios, allowing for more efficiency than the certificate-based approach. Our implementation takes advantage of the portability and security features of the Java programming language and, due to a modular design, it can be easily extended to encompass other identity-based schemes and protocols. We run a set of tests in order to verify the correctness of our implementation and to measure its performances in term of computing time. Our results demonstrate that getting secure communications using low cost, resource constrained devices is viable to the point that it can be used for real world applications.

References

  1. Akinyele, J. A., Green, M. D., and Rubin, A. D. (2011). Charm: A framework for rapidly prototyping cryptosystems. Cryptology ePrint Archive, Report 2011/617. http://eprint.iacr.org/.
  2. ”ARM” (2014). Arm jazelle. http://www.arm.com/ products/processors/technologies/jazelle.php.
  3. Boyd, C. and Mathuria, A. (2003). Protocols for Authentication and Key Establishment. Springer.
  4. Brown, M., Hankerson, D., L ópez, J., and Menezes, A. (2001). Software implementation of the NIST elliptic curves over prime fields. Springer.
  5. Chen, L., Cheng, Z., and Smart, N. P. (2007). Identity-based key agreement protocols from pairings. International Journal of Information Security, 6(4):213-241.
  6. De Caro, A. and Iovino, V. (2011). jpbc: Java pairing based cryptography. In Proceedings of the 16th IEEE Symposium on Computers and Communications, ISCC 2011, pages 850-855, Kerkyra, Corfu, Greece, June 28 - July 1.
  7. De Caro, A. and Iovino, V. (2011). jpbc: Java pairing based cryptography. In Computers and Communications (ISCC), 2011 IEEE Symposium on, pages 850- 855. IEEE.
  8. Diffie, W. and Hellman, M. E. (1976). New directions in cryptography. Information Theory, IEEE Transactions on, 22(6):644-654.
  9. Dong, C. (2010). Jpair: A quick introduction. https://personal.cis.strath.ac.uk/changyu.dong/jpair/ intro.html.
  10. Fiore, D. and Gennaro, R. (2010). Identity-based key exchange protocols without pairings. In Transactions on Computational Science X, pages 42-77. Springer.
  11. JGroups (2014). Jgroups toolkit. http://www.jgroups.org/.
  12. Joux, A. (2000). A one round protocol for tripartite diffiehellman. In Algorithmic number theory, pages 385- 393. Springer.
  13. Law, L., Menezes, A., Qu, M., Solinas, J., and Vanstone, S. (2003). An efficient protocol for authenticated key agreement. Designs, Codes and Cryptography, 28(2):119-134.
  14. Lynn, B. (2007). On the implementation of pairing-based cryptosystems. PhD thesis, Stanford University.
  15. McCullagh, N. and Barreto, P. S. (2005). A new twoparty identity-based authenticated key agreement. In Topics in Cryptology-CT-RSA 2005, pages 262-274. Springer.
  16. Menezes, A. J., Van Oorschot, P. C., and Vanstone, S. A. (2010). Handbook of applied cryptography. CRC press.
  17. Miller, V. S. (2004). The weil pairing, and its efficient calculation. Journal of Cryptology, 17(4):235-261.
  18. Monk, S. (2014). Raspberry Pi Cookbook. O'Reilly Media, Inc., 1st edition.
  19. Okamoto, T., Tso, R., and Okamoto, E. (2005). One-way and two-party authenticated id-based key agreement protocols using pairing. In Modeling Decisions for Artificial Intelligence, pages 122-133. Springer.
  20. ”Oracle” (2014). Java se hotspot at a glance. http://www.oracle.com/technetwork/java/javase/tech/ index-jsp-136373.html.
  21. ”Pi4j” (2014). Pi4j project. http://pi4j.com/.
  22. ”Raspian” (2014). Raspbian operating system. http:// www.raspbian.org/.
  23. Schnorr, C.-P. (1991). Efficient signature generation by smart cards. Journal of cryptology, 4(3):161-174.
  24. Shamir, A. (1985). Identity-based cryptosystems and signature schemes. In Advances in cryptology, pages 47- 53. Springer.
Download


Paper Citation


in Harvard Style

Schmid G. and Rossi F. (2015). Implementing Identity-based Key Agreement in Embedded Devices . In Proceedings of the 5th International Conference on Pervasive and Embedded Computing and Communication Systems - Volume 1: PECCS, ISBN 978-989-758-084-0, pages 117-123. DOI: 10.5220/0005242901170123


in Bibtex Style

@conference{peccs15,
author={Giovanni Schmid and Francesco Rossi},
title={Implementing Identity-based Key Agreement in Embedded Devices},
booktitle={Proceedings of the 5th International Conference on Pervasive and Embedded Computing and Communication Systems - Volume 1: PECCS,},
year={2015},
pages={117-123},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005242901170123},
isbn={978-989-758-084-0},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Conference on Pervasive and Embedded Computing and Communication Systems - Volume 1: PECCS,
TI - Implementing Identity-based Key Agreement in Embedded Devices
SN - 978-989-758-084-0
AU - Schmid G.
AU - Rossi F.
PY - 2015
SP - 117
EP - 123
DO - 10.5220/0005242901170123