skip to main content
research-article

Proof-Carrying Hardware via Inductive Invariants

Published:20 July 2017Publication History
Skip Abstract Section

Abstract

Proof-carrying hardware (PCH) is a principle for achieving safety for dynamically reconfigurable hardware systems. The producer of a hardware module spends huge effort when creating a proof for a safety policy. The proof is then transferred as a certificate together with the configuration bitstream to the consumer of the hardware module, who can quickly verify the given proof. Previous work utilized SAT solvers and resolution traces to set up a PCH technology and corresponding tool flows. In this article, we present a novel technology for PCH based on inductive invariants. For sequential circuits, our approach is fundamentally stronger than the previous SAT-based one since we avoid the limitations of bounded unrolling. We contrast our technology to existing ones and show that it fits into previously proposed tool flows. We conduct experiments with four categories of benchmark circuits and report consumer and producer runtime and peak memory consumption, as well as the size of the certificates and the distribution of the workload between producer and consumer. Experiments clearly show that our new induction-based technology is superior for sequential circuits, whereas the previous SAT-based technology is the better choice for combinational circuits.

References

  1. Elvira Albert, Germán Puebla, and Manuel Hermenegildo. 2005. Abstraction-carrying code. In Logic for Programming, Artificial Intelligence, and Reasoning. Lecture Notes in Computer Science, Vol. 3452. Springer, 380--397. DOI:http://dx.doi.org/10.1007/978-3-540-32275-7_25 Google ScholarGoogle ScholarCross RefCross Ref
  2. Torben Amtoft, Josiah Dodds, Zhi Zhang, Andrew Appel, Lennart Beringer, John Hatcliff, Xinming Ou, and Andrew Cousino. 2012. A certificate infrastructure for machine-checked proofs of conditional information flow. In Proceedings of the 1st International Conference on Principles of Security and Trust (POST’12). 369--389. DOI:http://dx.doi.org/10.1007/978-3-642-28641-4_20 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Lujo Bauer, Michael A. Schneider, Edward W. Felten, and Andrew W. Appel. 2003. Access control on the Web using proof-carrying authorization. In Proceedings of the 2003 DARPA Information Survivability Conference and Exposition,Vol. 2. IEEE, Los Alamitos, CA, 117--119. DOI:http://dx.doi.org/10.1109/DISCEX.2003.1194942 Google ScholarGoogle ScholarCross RefCross Ref
  4. Aaron R. Bradley. 2011. SAT-based model checking without unrolling. In Proceedings of the 12th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI’11). 70--87. DOI:http://dx.doi.org/10.1007/978-3-642-18275-4_7 Google ScholarGoogle ScholarCross RefCross Ref
  5. Ajay Chander, David Espinosa, Nayeem Islam, Peter Lee, and George C. Necula. 2005. Enforcing resource bounds via static verification of dynamic checks. In Programming Languages and Systems. Lecture Notes in Computer Science, Vol. 3444. Springer, 311--325. DOI:http://dx.doi.org/10.1007/978-3-540-31987-0_22 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Edmund Clarke, Daniel Kroening, Joël Ouaknine, and Ofer Strichman. 2005. Computational challenges in bounded model checking. International Journal on Software Tools for Technology Transfer 7, 2, 174--183. DOI:http://dx.doi.org/10.1007/s10009-004-0182-5 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Karl Crary and Stephanie Weirich. 2000. Resource bound certification. In Proceedings of the 27th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’00). ACM, New York, NY, 184--198. DOI:http://dx.doi.org/10.1145/325694.325716 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Stephanie Drzevitzky, Uwe Kastens, and Marco Platzner. 2009. Proof-carrying hardware: Towards runtime verification of reconfigurable modules. In Proceedings of the 2009 International Conference on Reconfigurable Computing and FPGAs (ReConFig’09). IEEE, Los Alamitos, CA, 189--194. DOI:http://dx.doi.org/10.1109/ReConFig.2009.31 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Stephanie Drzevitzky, Uwe Kastens, and Marco Platzner. 2010. Proof-carrying hardware: Concept and prototype tool flow for online verification. International Journal of Reconfigurable Computing 2010, Article No. 180242. DOI:http://dx.doi.org/10.1155/2010/180242 Google ScholarGoogle ScholarCross RefCross Ref
  10. Niklas Een, Alan Mishchenko, and Robert Brayton. 2011a. Efficient implementation of property directed reachability. In Proceedings of the 2011 Conference on Formal Methods in Computer-Aided Design (FMCAD’11). IEEE, Los Alamitos, CA, 125--134.Google ScholarGoogle Scholar
  11. Niklas Een, Alan Mishchenko, and Robert Brayton. 2011b. Efficient implementation of property directed reachability. In Proceedings of the International Conference on Formal Methods in Computer-Aided Design (FMCAD’11). 125--134.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Zyad Hassan, Aaron R. Bradley, and Fabio Somenzi. 2013. Better generalization in IC3. In Proceedings of the 2013 Conference on Formal Methods in Computer-Aided Design (FMCAD’13). IEEE, Los Alamitos, CA, 157--164. DOI:http://dx.doi.org/10.1109/FMCAD.2013.6679405 Google ScholarGoogle ScholarCross RefCross Ref
  13. Thomas A. Henzinger, George C. Necula, Ranjit Jhala, Grgoire Sutre, Rupak Majumdar, and Westley Weimer. 2002. Temporal-safety proofs for systems code. In Computer Aided Verification. Lecture Notes in Computer Science, Vol. 2404. Springer, 526--538. DOI:http://dx.doi.org/10.1007/3-540-45657-0_45 Google ScholarGoogle ScholarCross RefCross Ref
  14. Ted Huffmire, Timothy Sherwood, Ryan Kastner, and Timothy Levin. 2008. Enforcing memory policy specifications in reconfigurable hardware. Computers and Security 27, 56, 197--215. DOI:http://dx.doi.org/ 10.1016/j.cose.2008.05.002 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Marie-Christine Jakobs. 2015. Speed up configurable certificate validation by certificate reduction and partitioning. In Software Engineering and Formal Methods. Lecture Notes in Computer Science, Vol. 9276. Springer, 159--174. DOI:http://dx.doi.org/10.1007/978-3-319-22969-0_12 Google ScholarGoogle ScholarCross RefCross Ref
  16. Marie-Christine Jakobs and Heike Wehrheim. 2014. Certification for configurable program analysis. In Proceedings of the 2014 International SPIN Symposium on Model Checking of Software (SPIN’14). ACM, New York, NY, 30--39. DOI:http://dx.doi.org/10.1145/2632362.2632372 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Yier Jin and Yiorgos Makris. 2012. Proof carrying-based information flow tracking for data secrecy protection and hardware trust. In Proceedings of the 2012 IEEE 30th VLSI Test Symposium (VTS’12). IEEE, Los Alamitos, CA, 252--257. DOI:http://dx.doi.org/10.1109/VTS.2012.6231062 Google ScholarGoogle ScholarCross RefCross Ref
  18. Yier Jin and Yiorgos Makris. 2013. A proof-carrying based framework for trusted microprocessor IP. In Proceedings of the 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD’13). IEEE, Los Alamitos, CA, 824--829. DOI:http://dx.doi.org/10.1109/ICCAD.2013.6691208 Google ScholarGoogle ScholarCross RefCross Ref
  19. Eric Love, Yier Jin, and Yiorgos Makris. 2012. Proof-carrying hardware intellectual property: A pathway to trusted module acquisition. IEEE Transactions on Information Forensics and Security 7, 1, 25--40. DOI:http://dx.doi.org/10.1109/TIFS.2011.2160627 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Kedar S. Namjoshi. 2001. Certifying model checkers. In Computer Aided Verification. Lecture Notes in Computer Science, Vol. 2102. Springer, 2--13. DOI:http://dx.doi.org/10.1007/3-540-44585-4_2 Google ScholarGoogle ScholarCross RefCross Ref
  21. George C. Necula. 1997. Proof-carrying code. In Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’97). ACM, New York, NY, 106--119. DOI:http://dx.doi.org/10.1145/263699.263712 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. George C. Necula and Peter Lee. 1997. Research on proof-carrying code for untrusted-code security. In Proceedings of the 1997 IEEE Symposium on Security and Privacy. IEEE, Los Alamitos, CA, 204. DOI:http://dx.doi.org/10.1109/SECPRI.1997.601335 Google ScholarGoogle ScholarCross RefCross Ref
  23. George C. Necula and Peter Lee. 1998. Safe, untrusted agents using proof-carrying code. In Mobile Agents and Security. Lecture Notes in Computer Science, Vol. 1419. Springer, 61--91. DOI:http://dx.doi.org/10.1007/ 3-540-68671-1_5Google ScholarGoogle Scholar
  24. Doron Peled and Lenore Zuck. 2001. From model checking to a temporal proof. In Model Checking Software. Lecture Notes in Computer Science, Vol. 2057. Springer, 1--14. DOI:http://dx.doi.org/10.1007/ 3-540-45139-0_1Google ScholarGoogle Scholar
  25. Eva Rose. 2003. Lightweight bytecode verification. Journal of Automated Reasoning 31, 3--4, 303--334. DOI:http://dx.doi.org/10.1023/B:JARS.0000021015.15794.82 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Martin Suda. 2013. Triggered clause pushing for IC3. arXiv:1307.4966.Google ScholarGoogle Scholar
  27. Tobias Wiersema, Stephanie Drzevitzky, and Marco Platzner. 2014. Memory security in reconfigurable computers: Combining formal verification with monitoring. In Proceedings of the 2014 International Conference on Field-Programmable Technology (FPT’14). IEEE, Los Alamitos, CA, 167--174. DOI:http://dx.doi.org/10.1109/FPT.2014.7082771 Google ScholarGoogle ScholarCross RefCross Ref
  28. Tobias Wiersema and Marco Platzner. 2016. Verifying worst-case completion times for reconfigurable hardware modules using proof-carrying hardware. In Proceedings of the 11th International Symposium on Reconfigurable Communication-Centric Systems-on-Chip (ReCoSoC’16). IEEE, Los Alamitos, CA. DOI:http://dx.doi.org/10.1109/ReCoSoC.2016.7533910 Google ScholarGoogle ScholarCross RefCross Ref
  29. Tobias Wiersema, Sen Wu, and Marco Platzner. 2015. On-the-fly verification of reconfigurable image processing modules based on a proof-carrying hardware approach. In Applied Reconfigurable Computing. Lecture Notes in Computer Science, Vol. 9040. Springer, 365--372. DOI:http://dx.doi.org/10.1007/978-3-319-16214-0_32 Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Proof-Carrying Hardware via Inductive Invariants

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Design Automation of Electronic Systems
        ACM Transactions on Design Automation of Electronic Systems  Volume 22, Issue 4
        October 2017
        430 pages
        ISSN:1084-4309
        EISSN:1557-7309
        DOI:10.1145/3097980
        • Editor:
        • Naehyuck Chang
        Issue’s Table of Contents

        Copyright © 2017 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 20 July 2017
        • Accepted: 1 January 2017
        • Revised: 1 November 2016
        • Received: 1 July 2016
        Published in todaes Volume 22, Issue 4

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader