Types for Secure Pattern Matching with Local Knowledge in Universal Concurrent Constraint Programming

  • Thomas Hildebrandt
  • Hugo A. López
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5649)

Abstract

The fundamental primitives of Concurrent Constraint Programming (CCP), \({\mathit{tell}}\) and \({\mathit {ask}}\), respectively adds knowledge to and infers knowledge from a shared constraint store. These features, and the elegant use of the constraint system to represent the abilities of attackers, make concurrent constraint programming and timed CCP (tcc) interesting candidates for modeling and reasoning about security protocols. However, they lack primitives for the communication of secrets (or local names as in the π-calculus) between agents. The recently proposed \({\mathit{universal}} {\mathtt{tcc}}\) (utcc) introduces a universally quantified ask operation that makes it possible to infer knowledge which is local to other agents. However, it allows agents to guess knowledge even if it is encrypted or communicated on secret channels, simply by quantifying over both the encryption key (or channel) and the message simultaneously. We present a secure utcc (utccs) based on: (i) a simple type system for constraints allowing to distinguish between restricted (secure) and non-restricted (universally quantifiable) variables in constraints, and (ii) a generalization of the universally quantified ask operation to allow the assumption of local knowledge. We illustrate the use of the utccs calculus with examples on communication of local names (as in the π-calculus) and for giving semantics to secure pattern matching in a prototypical security language.

Keywords

Concurrent Constraint Programming Process Calculi Type systems Mobility Security 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Thomas Hildebrandt
    • 1
  • Hugo A. López
    • 1
  1. 1.Programming, Logic and Semantics GroupIT University of CopenhagenCopenhagen SDenmark

Personalised recommendations