Protocol analysis in Maude-NPA using unification modulo homomorphic encryption

  • Authors:
  • Santiago Escobar;Deepak Kapur;Christopher Lynch;Catherine Meadows;José Meseguer;Paliath Narendran;Ralf Sasse

  • Affiliations:
  • Universidad Politécnica de Valencia, Valencia, Spain;University of New Mexico, Albuquerque, USA;Clarkson University, Potsdam, USA;Naval Research Laboratory, Washington, USA;University of Illinois at Urbana-Champaign, Urbana, IL, USA;University at Albany-SUNY, Albany, NY, USA;University of Illinois at Urbana-Champaign, Urbana, IL, USA

  • Venue:
  • Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

A number of new cryptographic protocols are being designed to secure applications such as video-conferencing and electronic voting. Many of them rely upon cryptographic functions with complex algebraic properties that must be accounted for in order to be correctly analyzed by automated tools. Maude-NPA is a cryptographic protocol analysis tool based on narrowing and typed equational unification which takes into account these algebraic properties. It has already been used to analyze protocols involving bounded associativity, modular exponentiation, and exclusive-or. All of the above can be handled by the same general variant-based equational unification technique. However, there are important properties, in particular homomorphic encryption, that cannot be handled by variant-based unification in the same way. In these cases the best available approach is to implement specialized unification algorithms and combine them within a modular framework. In this paper we describe how we apply this approach within Maude-NPA, with respect to encryption homomorphic over a free operator. We also describe the use of Maude-NPA to analyze several protocols using such an encryption operation. To the best of our knowledge, this is the first implementation of homomorphic encryption of any sort in a tool for verifying the security of a protocol in the presence of active attackers.