A trustworthy proof checker

被引:17
作者
Appel, AW [1 ]
Michael, N
Stump, A
Virga, R
机构
[1] Princeton Univ, Princeton, NJ 08544 USA
[2] Washington Univ, St Louis, MO USA
关键词
proof checker; proof-carrying code;
D O I
10.1023/B:JARS.0000021013.61329.58
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Proof-carrying code (PCC) and other applications in computer security require machine-checkable proofs of properties of machine-language programs. The main advantage of the PCC approach is that the amount of code that must be explicitly trusted is very small: it consists of the logic in which predicates and proofs are expressed, the safety predicate, and the proof checker. We have built a minimal proof checker, and we explain its design principles and the representation issues of the logic, safety predicate, and safety proofs. We show that the trusted computing base (TCB) in such a system can indeed be very small. In our current system the TCB is less than 2,700 lines of code ( an order of magnitude smaller even than other PCC systems), which adds to our confidence of its correctness.
引用
收藏
页码:231 / 260
页数:30
相关论文
共 39 条
[1]  
AHMED AJ, 2002, P 17 ANN IEEE S LOG
[2]  
Appel AndrewW., 2000, P 27 ACM SIGPLAN SIG, P243
[3]   Foundational proof-carrying code [J].
Appel, AW .
16TH ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, PROCEEDINGS, 2001, :247-256
[4]  
APPEL AW, 2002, CSTR64702 PRINC U
[5]  
APPEL AW, 1999, 6 ACM C COMP COMM SE
[6]  
APPEL AW, 2001, ACM T PROGR LANG SYS, P657
[7]  
Barras B, 1998, COQ PROOF ASSISTANT
[8]  
BAUER L, 2002, P USENIX SECURITY
[9]  
BOYER RS, 1998, COMPUTATIONAL LOGIC
[10]  
BOYER RS, 1992, 11 INT C AUT DED, P416