Eighteenth Annual IEEE Symposium on

Logic in Computer Science (LICS 2003)

Paper: A Sound Framework for Untrusted Verification-Condition Generators (at LICS 2003)

Authors: George C. Necula Robert R. Schneck


We propose a framework called configurable proof-carrying code, which allows the untrusted producer of mobile code to provide the bulk of the code verifier used by a code receiver to check the safety of the received code. The resulting system is both more flexible and also more trustworthy than a standard proof-carrying code system, because only a small part of the verifier needs to be trusted, while the remaining part can be configured freely to suit the safety policy on one hand, and the structure of the mobile code on the other hand. In this paper we describe formally the protocol that the untrusted verifier must follow in the interaction with the trusted infrastructure. We present a proof of the soundness of the system, and we give preliminary evidence that the architecture is expressive enough to delegate to the untrusted verifier even the handling of loop invariants, indirect jumps and calling conventions.


    author = 	 {George C. Necula and Robert R. Schneck},
    title = 	 {A Sound Framework for Untrusted Verification-Condition Generators},
    booktitle =  {Proceedings of the Eighteenth Annual IEEE Symp. on Logic in Computer Science, {LICS} 2003},
    year =	 2003,
    editor =	 {Phokion G. Kolaitis},
    month =	 {June}, 
    pages =      {248--260},
    location =   {Ottawa, Canada}, 
    publisher =	 {IEEE Computer Society Press}