Safe kernel extensions without run-time checking
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The design and implementation of a certifying compiler
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
A certifying compiler for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Oracle-based checking of untrusted software
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java Virtual Machine Specification
Java Virtual Machine Specification
A Scalable Architecture for Proof-Carrying Code
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
System Description: Twelf - A Meta-Logical Framework for Deductive Systems
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
The case for virtual register machines
Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators
Computer Architecture: A Quantitative Approach
Computer Architecture: A Quantitative Approach
GCC: The Complete Reference
Foundational Proof-Carrying Code
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Foundational proof checkers with small witnesses
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Proof Optimization Using Lemma Extraction
Proof Optimization Using Lemma Extraction
Encoding the Program Correctness Proofs as Programs in PCC Technology
PST '08 Proceedings of the 2008 Sixth Annual Conference on Privacy, Security and Trust
VEP: a virtual machine for extended proof-carrying code
Proceedings of the 1st ACM workshop on Virtual machine security
Implementing certified programming language tools in dependent type theory
Implementing certified programming language tools in dependent type theory
An Introduction to Kolmogorov Complexity and Its Applications
An Introduction to Kolmogorov Complexity and Its Applications
The MOBIUS Proof Carrying Code Infrastructure
Formal Methods for Components and Objects
Proof Checking Technology for Satisfiability Modulo Theories
Electronic Notes in Theoretical Computer Science (ENTCS)
Precision in practice: a type-preserving java compiler
CC'03 Proceedings of the 12th international conference on Compiler construction
Hi-index | 0.00 |
The rapid growth of the Internet has resulted in increased attention to security to protect users from being victims of security threats. In this paper, we focus on security mechanisms that are based on Proof-Carrying Code (PCC) techniques. In a PCC system, a code producer sends a code along with its safety proof to the consumer. The consumer executes the code only if the proof is valid. Although PCC has been shown to be a useful security framework, it suffers from the sheer size of typical proofs -proofs of even small programs can be considerably large. In this paper, we propose an extended PCC framework (EPCC) in which, instead of the proof, a proof generator for the program in question is transmitted. This framework enables the execution of the proof generator and the recovery of the proof on the consumer's side in a secure manner using a newly created virtual machine called the VEP (Virtual Machine for Extended PCC).