verifiable asics trustworthy hardware with untrusted
play

Verifiable ASICs: trustworthy hardware with untrusted components - PowerPoint PPT Presentation

Verifiable ASICs: trustworthy hardware with untrusted components Riad S. Wahby , Max Howald , Siddharth Garg , abhi shelat , and Michael Walfish Stanford University New York University The Cooper Union


  1. Verifiable ASICs: trustworthy hardware with untrusted components Riad S. Wahby ◦ ⋆ , Max Howald † ⋆ , Siddharth Garg ⋆ , abhi shelat ‡ , and Michael Walfish ⋆ ◦ Stanford University ⋆ New York University † The Cooper Union ‡ The University of Virginia April 8, 2016

  2. You (probably) shouldn’t trust your hardware. . .

  3. You (probably) shouldn’t trust your hardware. . .

  4. You (probably) shouldn’t trust your hardware. . .

  5. You (probably) shouldn’t trust your hardware. . . . . . because fabs sometimes make mistakes

  6. You (probably) shouldn’t trust your hardware. . . . . . because fabs sometimes make “mistakes” [Tehranipoor and Koushanfar. “A survey of hardware Trojan taxon- omy and detection.” IEEE DTC, 2010.]

  7. What’s a chip designer to do? ◮ Post-fab testing ◮ Hardware obfuscation ◮ Trusted manufacturer [Bhunia, Hsiao, Banga, and Narasimhan. “Hardware Trojan attacks: threat analysis and countermeasures.” Proc. IEEE, Aug. 2014.]

  8. What’s a chip designer to do? ◮ Post-fab testing ◮ Hardware obfuscation ◮ Trusted manufacturer [Bhunia, Hsiao, Banga, and Narasimhan. “Hardware Trojan attacks: threat analysis and countermeasures.” Proc. IEEE, Aug. 2014.]

  9. What’s a chip designer to do? ◮ Post-fab testing ◮ Hardware obfuscation ◮ Trusted manufacturer – but a fab is expensive and hard to build. . . [Bhunia, Hsiao, Banga, and Narasimhan. “Hardware Trojan attacks: threat analysis and countermeasures.” Proc. IEEE, Aug. 2014.]

  10. What’s a chip designer to do? ◮ Post-fab testing ◮ Hardware obfuscation ◮ Trusted manufacturer – but a fab is expensive and hard to build. . . – . . . so trusted fab might have 10 8 × worse performance! [Bhunia, Hsiao, Banga, and Narasimhan. “Hardware Trojan attacks: threat analysis and countermeasures.” Proc. IEEE, Aug. 2014.]

  11. Roadmap 1. Problem statement: verifiable ASICs 2. Probabilistic proof systems, briefly 3. Zebra: a system for verifiable ASICs 4. Implementation and evaluation

  12. Roadmap 1. Problem statement: verifiable ASICs 2. Probabilistic proof systems, briefly 3. Zebra: a system for verifiable ASICs 4. Implementation and evaluation

  13. Problem statement: verifiable ASICs Principal Ψ → specs for P , V

  14. Problem statement: verifiable ASICs Principal Ψ → specs Supplier for P , V (foundry, Foundry processor vendor, etc.)

  15. Problem statement: verifiable ASICs Principal Ψ → specs Supplier for P , V (foundry, Foundry processor vendor, etc.) Integrator V P

  16. Problem statement: verifiable ASICs Principal Ψ → specs Supplier for P , V (foundry, Foundry processor vendor, etc.) Integrator Operator V P

  17. Problem statement: verifiable ASICs Operator V P

  18. Problem statement: verifiable ASICs Operator x V P

  19. Problem statement: verifiable ASICs Operator x V y P

  20. Problem statement: verifiable ASICs Operator x V y P proof

  21. Problem statement: verifiable ASICs Operator x V y P proof ◮ P is efficient, but can deviate arbitrarily from the protocol

  22. Problem statement: verifiable ASICs Operator x V y P proof ◮ P is efficient, but can deviate arbitrarily from the protocol ◮ Honest P always convinces V that y = Ψ( x )

  23. Problem statement: verifiable ASICs Operator x V y P proof ◮ P is efficient, but can deviate arbitrarily from the protocol ◮ Honest P always convinces V that y = Ψ( x ) ◮ V must catch dishonest P except with negligible probability

  24. Problem statement: verifiable ASICs Operator x V y P proof ◮ P is efficient, but can deviate arbitrarily from the protocol ◮ Honest P always convinces V that y = Ψ( x ) ◮ V must catch dishonest P except with negligible probability ◮ P cannot attack or disable V , or communicate with outside world (see paper for more discussion)

  25. Problem statement: verifiable ASICs Operator x V y P proof ◮ P is efficient, but can deviate arbitrarily from the protocol ◮ Honest P always convinces V that y = Ψ( x ) ◮ V must catch dishonest P except with negligible probability ◮ P cannot attack or disable V , or communicate with outside world (see paper for more discussion) ◮ Goal: V and P together should outperform Ψ executed in trusted substrate

  26. Roadmap 1. Problem statement: verifiable ASICs 2. Probabilistic proof systems, briefly 3. Zebra: a system for verifiable ASICs 4. Implementation and evaluation

  27. Probabilistic proof systems, briefly A weak verifier checks the work of a powerful prover prover verifier program, inputs outputs [Walfish and Blumberg. “Verifying computations without reexecuting them: from theoretical possibility to near practicality.” CACM, Feb. 2015.]

  28. Probabilistic proof systems, briefly A weak verifier checks the work of a powerful prover prover verifier program, inputs outputs + proof Idea : checking proof should be easier for verifier than executing program [Walfish and Blumberg. “Verifying computations without reexecuting them: from theoretical possibility to near practicality.” CACM, Feb. 2015.]

  29. Probabilistic proof systems, briefly A weak verifier checks the work of a powerful prover Recent work is in three strands: ◮ Interactive arguments ◮ [Pepper12, Ginger12, Zaatar13] [Walfish and Blumberg. “Verifying computations without reexecuting them: from theoretical possibility to near practicality.” CACM, Feb. 2015.]

  30. Probabilistic proof systems, briefly A weak verifier checks the work of a powerful prover Recent work is in three strands: ◮ Interactive arguments ◮ [Pepper12, Ginger12, Zaatar13] ◮ Non-interactive arguments (SNARKs) ◮ [PGHR13, BCGTV13, BCTV14] [Walfish and Blumberg. “Verifying computations without reexecuting them: from theoretical possibility to near practicality.” CACM, Feb. 2015.]

  31. Probabilistic proof systems, briefly A weak verifier checks the work of a powerful prover Recent work is in three strands: ◮ Interactive arguments ◮ [Pepper12, Ginger12, Zaatar13] ◮ Non-interactive arguments (SNARKs) ◮ [PGHR13, BCGTV13, BCTV14] ◮ Interactive proofs ◮ [CMT12, TRMP12, Allspice13, Tha13] [Walfish and Blumberg. “Verifying computations without reexecuting them: from theoretical possibility to near practicality.” CACM, Feb. 2015.]

  32. Probabilistic proof systems, briefly A weak verifier checks the work of a powerful prover Recent work is in three strands: ◮ Interactive arguments ◮ [Pepper12, Ginger12, Zaatar13] + Low round complexity + Mild cryptograhic assumptions ◮ Non-interactive arguments (SNARKs) ◮ [PGHR13, BCGTV13, BCTV14] ◮ Interactive proofs ◮ [CMT12, TRMP12, Allspice13, Tha13] [Walfish and Blumberg. “Verifying computations without reexecuting them: from theoretical possibility to near practicality.” CACM, Feb. 2015.]

  33. Probabilistic proof systems, briefly A weak verifier checks the work of a powerful prover Recent work is in three strands: ◮ Interactive arguments ◮ [Pepper12, Ginger12, Zaatar13] + Low round complexity + Mild cryptograhic assumptions ◮ Non-interactive arguments (SNARKs) ◮ [PGHR13, BCGTV13, BCTV14] + Public verifiability, zero knowledge – Non-falsifiable cryptographic assumptions [GW10] ◮ Interactive proofs ◮ [CMT12, TRMP12, Allspice13, Tha13] [Walfish and Blumberg. “Verifying computations without reexecuting them: from theoretical possibility to near practicality.” CACM, Feb. 2015.]

  34. Probabilistic proof systems, briefly A weak verifier checks the work of a powerful prover Recent work is in three strands: ◮ Interactive arguments ◮ [Pepper12, Ginger12, Zaatar13] + Low round complexity + Mild cryptograhic assumptions ◮ Non-interactive arguments (SNARKs) ◮ [PGHR13, BCGTV13, BCTV14] + Public verifiability, zero knowledge – Non-falsifiable cryptographic assumptions [GW10] ◮ Interactive proofs ◮ [CMT12, TRMP12, Allspice13, Tha13] + Simple and efficient prover and verifier + Information theoretic guarantees (no crypto) [Walfish and Blumberg. “Verifying computations without reexecuting them: from theoretical possibility to near practicality.” CACM, Feb. 2015.]

  35. Probabilistic proof systems, briefly A weak verifier checks the work of a powerful prover For all systems, expressiveness is somewhat limited: ◮ Arguments (interactive & non-interactive) – Computation must be expressed as an arithmetic circuit ◮ Interactive proofs – Computation must be expressed as an arithmetic circuit [Walfish and Blumberg. “Verifying computations without reexecuting them: from theoretical possibility to near practicality.” CACM, Feb. 2015.]

  36. Probabilistic proof systems, briefly A weak verifier checks the work of a powerful prover For all systems, expressiveness is somewhat limited: ◮ Arguments (interactive & non-interactive) – Computation must be expressed as an arithmetic circuit generalized boolean circuit over F p ∨ → + ∧ → × ◮ Interactive proofs – Computation must be expressed as an arithmetic circuit [Walfish and Blumberg. “Verifying computations without reexecuting them: from theoretical possibility to near practicality.” CACM, Feb. 2015.]

Recommend


More recommend