prototype verification system
play

Prototype Verification System Rick Erkens May 24th, 2017 Rick - PowerPoint PPT Presentation

Prototype Verification System Rick Erkens May 24th, 2017 Rick Erkens May 24th, 2017 Prototype Verification System Background John Rushby, Stanford Research Institute Patrick Lincoln, Sam Owre, Natarajan Shankar, Ashish Tiwari Emacs


  1. Prototype Verification System Rick Erkens May 24th, 2017 Rick Erkens May 24th, 2017 Prototype Verification System

  2. Background • John Rushby, Stanford Research Institute • Patrick Lincoln, Sam Owre, Natarajan Shankar, Ashish Tiwari • Emacs user interface • Google Scholar: 1907 citations • Described as a research prototype Rick Erkens May 24th, 2017 Prototype Verification System

  3. System • Written in Common Lisp • Automation • NASA library: https://github.com/nasa/pvslib Rick Erkens May 24th, 2017 Prototype Verification System

  4. Logic • Classical higher order logic • Dependent types Rick Erkens May 24th, 2017 Prototype Verification System

  5. On partiality “ PVS and B-method handle partiality right ” Rick Erkens May 24th, 2017 Prototype Verification System

  6. On partiality “ PVS and B-method handle partiality right ” - Freek Wiedijk, three weeks ago Rick Erkens May 24th, 2017 Prototype Verification System

  7. On partiality “ PVS and B-method handle partiality right ” - Freek Wiedijk, three weeks ago nonzero: NONEMPTY_TYPE = {i:int | r /= 0\}} div: [int, nonzero -> int] Rick Erkens May 24th, 2017 Prototype Verification System

  8. Some projects Collins AAMP5 avionics processor • Microarchitecture • 108 out of 209 instructions • 500,000 transistors • Three-stage pipeline • Stack architecture • Autonomous subunits Rick Erkens May 24th, 2017 Prototype Verification System

  9. Some projects Verification of Biphase Mark Protocol, 2004 • Frits Vaandrager and Adriaan de Groot • Clock tolerances found with Uppaal • Verification with PVS Rick Erkens May 24th, 2017 Prototype Verification System

  10. Demo: sum of squares n i 2 = n ( n + 1)(2 n + 1) � 6 i =0 Rick Erkens May 24th, 2017 Prototype Verification System

  11. Mifare Classic Card • Bart Jacobs and Ronny Wichers Schreur • RFID smart card sold by NXP • Widely used • Card relied on secrecy of the algorithm Rick Erkens May 24th, 2017 Prototype Verification System

  12. Mifare Classic Card LfsrSize : nat = 48 state : TYPE = bvec[LfsrSize] MfCfeedback : [state -> bit] = LAMBDA (r:state) : r(0) XOR r(5) XOR r(9) XOR r(10) XOR r(12) XOR r(14) XOR r(15) XOR r(17) XOR r(19) XOR r(24) XOR r(25) XOR r(27) XOR r(29) XOR r(35) XOR r(39) XOR r(41) XOR r(42) XOR r(43) Rick Erkens May 24th, 2017 Prototype Verification System

  13. Mifare Classic Card shift1in : [state, bit -> state] = LAMBDA(r:state, b:bit) : LAMBDA(i:below(LfsrSize)) : IF i < LfsrSize - 1 THEN r(i+1) % shift left ELSE b XOR MfCfeedback(r) % put new value at % i = LfsrSize - 1 ENDIF Rick Erkens May 24th, 2017 Prototype Verification System

  14. “ Many of the details of the formalisation are inherently specific to the Mifare Classic card and its weaknesses. However, this work does show that formalisations are relatively easy to do and can be both precise and readable. This makes them a solid base for the documentation and analysis of cryptographic systems. Thus, this paper suggests to card producers that they do such formalisations themselves, before bringing a card onto the market. ” Rick Erkens May 24th, 2017 Prototype Verification System

Recommend


More recommend