skip to main content
10.1145/3289602.3293895acmconferencesArticle/Chapter ViewAbstractPublication PagesfpgaConference Proceedingsconference-collections
research-article
Public Access

Breaking the Trust Dependence on Third Party Processes for Reconfigurable Secure Hardware

Authors Info & Claims
Published:20 February 2019Publication History

ABSTRACT

Modern CPU designs are beginning to incorporate secure hardware features, but leave developers with little control over both the set of features and when and whether updates are available. Reconfigurable logic (e.g., FPGAs) has been proposed as an alternative as it is both hardware, so can have similar capabilities at a reasonable performance degradation, and programmable, allowing customization of the secure hardware. This programmability, however, opens new attack vectors that allow an adversary to re-program the FPGA. Past attempts to solve this rely on a party maintaining a shared key with the FPGA, but these business processes to keep that key secret have been shown to be quite vulnerable. In this paper, we propose a new mechanism which eliminates the trust dependence on third party processes. This new mechanism consists of a self-provisioning stage, where keys are generated internal to the FPGA and never exposed externally, coupled with a secure update mechanism which allows updates to be governed by a policy defined by the secure hardware application. To demonstrate, we fully implemented these mechanisms on a Xilinx Zynq UltraScale+ FPGA along with an example secure co-processor with remote attestation with a flexible root of trust (in contrast to Intel SGX which fixes the root of trust to be Intel). Our performance evaluation of two applications, a password manager and a contact matching application, illustrates using FPGAs is practical.

References

  1. Amazon EC2 F1 Instances: Run Customizable FPGAs in the AWS Cloud. https://aws.amazon.com/ec2/instance-types/f1/.Google ScholarGoogle Scholar
  2. Ces: Intel goes for self-driving cars. https://www.electronicsweekly.com/news/design/ces-intel-goes-self-driving-cars-2017-01/.Google ScholarGoogle Scholar
  3. FBI Apple encryption dispute. https://en.wikipedia.org/wiki/FBI--Apple_encryption_dispute.Google ScholarGoogle Scholar
  4. Intel Software Guard Extensions. https://software.intel.com/en-us/sgx.Google ScholarGoogle Scholar
  5. Intel Software Guard Extensions (SGX): A Researcher's Primer. https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2015/january/intel-software-guard-extensions-sgx-a-researchers-primer/.Google ScholarGoogle Scholar
  6. Introducing the Intel Software Guard Extensions Tutorial Series. https://software.intel.com/en-us/articles/introducing-the-intel-software-guard-extensions-tutorial-series.Google ScholarGoogle Scholar
  7. iOS Security - iOS 11. https://www.apple.com/business/docs/iOS_Security_Guide.pdf.Google ScholarGoogle Scholar
  8. MicroBlaze Soft Procesor Core. https://www.xilinx.com/products/design-tools/microblaze.html.Google ScholarGoogle Scholar
  9. Microsemi: Security. https://www.microsemi.com/product-directory/fpga-soc/1738-security.Google ScholarGoogle Scholar
  10. Project catapult. https://www.microsoft.com/en-us/research/project/project-catapult/.Google ScholarGoogle Scholar
  11. Secure Golden Key Boot. https://rol.im/securegoldenkeyboot/.Google ScholarGoogle Scholar
  12. Vivado user guide. http://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_1/ug902-vivado-high-level-synthesis.pdf.Google ScholarGoogle Scholar
  13. CVE-2016--3287. Available from MITRE, CVE-ID CVE-2016--3287, July 2016.Google ScholarGoogle Scholar
  14. CVE-2016--3320. Available from MITRE, CVE-ID CVE-2016--3320, Aug. 2016.Google ScholarGoogle Scholar
  15. A. Baumann, M. Peinado, and G. Hunt. Shielding applications from an untrusted cloud with haven. ACM Trans. Comput. Syst., 33(3), Aug 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. J. Bernstein, N. Duif, T. Lange, P. Schwabe, and B.-Y. Yang. High-speed high-security signatures. Journal of Cryptographic Engineering, pages 1--13, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  17. F. Brasser, U. Müller, A. Dmitrienko, K. Kostiainen, S. Capkun, and A.-R. Sadeghi. Software grand exposure: SGX cache attacks are practical. In 11th USENIX Workshop on Offensive Technologies (WOOT 17), Vancouver, BC, 2017. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. M. Caulfield et al. A cloud-scale acceleration architecture. In IEEE/ACM International Symposium on Microarchitecture (MICRO), Oct 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P. Chodowiec and K. Gaj. Implementation of the twofish cipher using FPGA devices. Technical report, Electrical and Computer Engineering, George Mason University, 1999.Google ScholarGoogle Scholar
  20. V. Costan, I. A. Lebedev, and S. Devadas. Sanctum: Minimal risc extensions for isolated execution. IACR Cryptology ePrint Archive, 2015:564, 2015.Google ScholarGoogle Scholar
  21. A. Dandalis, V. K. Prasanna, and J. D. Rolim. A Comparative Study of Performance of AES Final Candidates Using FPGAs. In Cryptographic Hardware and Embedded Systems (CHES), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A. J. Elbirt and C. Paar. An FPGA Implementation and Performance Evaluation of the Serpent Block Cipher. In Proc ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. G. Gogniat, T. Wolf, W. Burleson, J.-P. Diguet, L. Bossuet, and R. Vaslin. Reconfigurable hardware for high-security/high-performance embedded systems: the safes perspective. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 16(2):144--155, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. T. Huffmire, B. Brotherton, G. Wang, T. Sherwood, R. Kastner, T. Levin, T. Nguyen, and C. Irvine. Moats and drawbridges: An isolation primitive for reconfigurable hardware based systems. In IEEE Security and Privacy, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. P. Kocher, D. Genkin, D. Gruss, W. Haas, M. Hamburg, M. Lipp, S. Mangard, T. Prescher, M. Schwarz, and Y. Yarom. Spectre attacks: Exploiting speculative execution. CoRR, abs/1801.01203, 2018.Google ScholarGoogle Scholar
  26. J. Lind, I. Eyal, F. Kelbert, O. Naor, P. R. Pietzuch, and E. G. Sirer. Teechain: Scalable blockchain payments using trusted execution environments. CoRR, abs/1707.05454, 2017.Google ScholarGoogle Scholar
  27. M. Marlinspike. Technology preview: Private contact discovery for signal. https://signal.org/blog/private-contact-discovery/, 2017.Google ScholarGoogle Scholar
  28. J. T. McHenry, P. W. Dowd, F. A. Pellegrino, T. M. Carrozzi, and W. B. Cocks. An FPGA-based coprocessor for ATM firewalls. In Proc IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM)), 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. S. McMillan and C. Patterson. Jbits implementations of the advanced encryption standard (rijndael). In International Conference on Field Programmable Logic and Applications, pages 162--171. Springer, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. E. Peterson. XAPP 1323: Developing Tamper-Resistant Designs with Zynq UltraScaleGoogle ScholarGoogle Scholar
  31. Devices. https://www.xilinx.com/support/documentation/application_notes/xapp1323-zynq-usp-tamper-resistant-designs.pdf, Aug 2018.Google ScholarGoogle Scholar
  32. A. Putnam et al. A reconfigurable fabric for accelerating large-scale datacenter services. In Proc. Annual International Symposium on Computer Architecuture (ISCA), 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. Riaz and H. M. Heys. The fpga implementation of the rc6 and cast-256 encryption algorithms. In Electrical and Computer Engineering, 1999 IEEE Canadian Conference on, volume 1, pages 367--372. IEEE, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  34. M. Schwarz, S. Weiser, D. Gruss, C. Maurice, and S. Mangard. Malware guard extension: Using SGX to conceal cache attacks. CoRR, abs/1702.08719, 2017.Google ScholarGoogle Scholar
  35. P. Selkirk and J. Strömbergson. https://trac.cryptech.is/browser/core/rng/trng.Google ScholarGoogle Scholar
  36. I. Sourdis and D. Pnevmatikatos. Fast, large-scale string match for a 10gbps fpga-based network intrusion detection system. In Field Programmable Logic and Application, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  37. N. Weichbrodt, A. Kurmus, P. Pietzuch, and R. Kapitza. AsyncShock: Exploiting synchronisation bugs in Intel SGX enclaves. In European Symposium on Research in Computer Security, pages 440--457. Springer, 2016.Google ScholarGoogle ScholarCross RefCross Ref
  38. S. Weiser and M. Werner. Sgxio: Generic trusted i/o path for intel sgx. In Proceedings of the Seventh ACM on Conference on Data and Application Security and Privacy, CODASPY '17, pages 261--268, New York, NY, USA, 2017. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Wikipedia. List of data breaches. https://en.wikipedia.org/wiki/List_of_data_breaches.Google ScholarGoogle Scholar
  40. K. Wilkinson. XAPP 1267: Using Encryption and Authentication to Secure an UltraScale/UltraScaleGoogle ScholarGoogle Scholar
  41. FPGA Bitstream. https://www.xilinx.com/support/documentation/application_notes/xapp1267-encryp-efuse-program.pdf, Aug 2018.Google ScholarGoogle Scholar
  42. Y. Xu, W. Cui, and M. Peinado. Controlled-channel attacks: Deterministic side channels for untrusted operating systems. In Security and Privacy (SP), 2015 IEEE Symposium on, pages 640--656. IEEE, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. F. Zhang, E. Cecchetti, K. Croman, A. Juels, and E. Shi. Town crier: An authenticated data feed for smart contracts. In Proc. ACM SIGSAC Conference on Computer and Communications Security (CCS), 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Breaking the Trust Dependence on Third Party Processes for Reconfigurable Secure Hardware

        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
        • Published in

          cover image ACM Conferences
          FPGA '19: Proceedings of the 2019 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays
          February 2019
          360 pages
          ISBN:9781450361378
          DOI:10.1145/3289602

          Copyright © 2019 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 the author(s) 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 February 2019

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate125of627submissions,20%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader