Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Affine refinement types for secure distributed programming
Bugliesi M., Calzavara S., Eigner F., Maffei M. ACM Transactions on Programming Languages and Systems37 (4):1-66,2015.Type:Article
Date Reviewed: Oct 27 2015

Security of communication in modern applications is an increasingly important issue. Although there are strong cryptographic techniques, security is often broken nevertheless due to weaknesses in the implementation or in the exchange protocols. Advances in verification and theorem-proving techniques have led to techniques for encapsulating proofs of properties in the type of a program, leading to programs that, by typing alone, satisfy certain properties. This paper extends such techniques to affine logics, which are resource aware, that is, where the number of times information is used can be restricted. This can help prevent, for example, man-in-the-middle attacks.

The paper starts with a general overview of the techniques of refinement types (dependent type packaging a type with a logical formula expressing properties of the values of the type). Some motivating examples illustrate that current techniques cannot easily capture bounds on resource usage.

The following sections introduce the resource aware logic (affine logic) chosen as the basis for the later techniques, together with some key definitions and theorems. Next, the functional programming system RCF is extended by constructs and a type system based on affine logic and some basic properties of this formalism are proved.

The third part of the paper presents a basic protocol library based on this system and analyzes two existing security protocols (EPMO and Kerberos) with the tools previously defined.

The paper closes with a detailed analysis of type checking containing the structure of an algorithm for type checking. Finally, the usual overview of related work is given. Several appendices contain detailed proofs of several formal results stated in the paper.

The paper is well structured, very thorough, and detailed, while still a good read.

Reviewer:  Markus Wolf Review #: CR143888 (1601-0060)
Bookmark and Share
 
Software/ Program Verification (D.2.4 )
 
 
Specifying And Verifying And Reasoning About Programs (F.3.1 )
 
Would you recommend this review?
yes
no
Other reviews under "Software/Program Verification": Date
Verification of sequential and concurrent programs
Krzysztof R., Olderog E., Springer-Verlag New York, Inc., New York, NY, 1991. Type: Book (9780387975320)
Jul 1 1992
On verification of programs with goto statements
Lifschitz V. (ed) Information Processing Letters 18(4): 221-225, 1984. Type: Article
Mar 1 1985
The validation, verification and testing of software
Ince D. (ed), Oxford University Press, Inc., New York, NY, 1985. Type: Book (9789780198590040)
Sep 1 1987
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy