{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,4]],"date-time":"2025-12-04T02:36:26Z","timestamp":1764815786143,"version":"3.41.0"},"reference-count":38,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2008,12,1]],"date-time":"2008-12-01T00:00:00Z","timestamp":1228089600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CCR-0326372CNS-0720110"],"award-info":[{"award-number":["CCR-0326372CNS-0720110"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000144","name":"Division of Computer and Network Systems","doi-asserted-by":"publisher","award":["CCR-0326372CNS-0720110"],"award-info":[{"award-number":["CCR-0326372CNS-0720110"]}],"id":[{"id":"10.13039\/100000144","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2008,12]]},"abstract":"<jats:p>Trusted platforms have been proposed as a promising approach to enhance the security of general-purpose computing systems. However, for many resource-constrained embedded systems, the size and cost overheads of a separate Trusted Platform Module (TPM) chip are not acceptable. One alternative is to use a software-based TPM, which implements TPM functions using software that executes in a protected execution domain on the embedded processor itself. However, since many embedded systems have limited processing capabilities and are battery-powered, it is also important to ensure that the computational and energy requirements for SW-TPMs are acceptable.<\/jats:p>\n          <jats:p>In this article, we perform an evaluation of the energy and execution time overheads for a SW-TPM implementation on a handheld appliance (Sharp Zaurus PDA). We characterize the execution time and energy required by each TPM command through actual measurements on the target platform. We observe that for most commands, overheads are primarily due to the use of 2,048-bit RSA operations that are performed within the SW-TPM. In order to alleviate SW-TPM overheads, we evaluate the use of Elliptic Curve Cryptography (ECC) as a replacement for the RSA algorithm specified in the Trusted Computing Group (TCG) standards. In addition, we also evaluate the overheads of using the SW-TPM in the context of various end applications, including trusted boot of the Linux operating system (OS), a secure VoIP client, and a secure Web browser. Furthermore, we analyze the computational workload involved in running SW-TPM commands using ECC. We then present a suite of hardware and software enhancements to accelerate these commands\u2014generic custom instructions and exploitation of parallel processing capabilities in multiprocessor systems-on-chip (SoCs). We report results of evaluating the proposed architectures on a commercial embedded processor (Xtensa from Tensilica). Through uniprocessor and multiprocessor optimizations, we could achieve speed-ups of up to 5.71X for individual TPM commands.<\/jats:p>","DOI":"10.1145\/1457246.1457254","type":"journal-article","created":{"date-parts":[[2009,1,7]],"date-time":"2009-01-07T15:50:36Z","timestamp":1231343436000},"page":"1-31","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":27,"title":["Analysis and design of a hardware\/software trusted platform module for embedded systems"],"prefix":"10.1145","volume":"8","author":[{"given":"Najwa","family":"Aaraj","sequence":"first","affiliation":[{"name":"Princeton University, Princeton, NJ"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Anand","family":"Raghunathan","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, IN"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Niraj K.","family":"Jha","sequence":"additional","affiliation":[{"name":"Princeton University, Princeton, NJ"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2009,1,4]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.5555\/1025126.1025949"},{"key":"e_1_2_1_2_1","unstructured":"ARM 2004. Secure extensions to the ARM architecture. http:\/\/www.arm.com\/trustzone.  ARM 2004. Secure extensions to the ARM architecture. http:\/\/www.arm.com\/trustzone."},{"key":"e_1_2_1_3_1","unstructured":"Broekman M. 2005. End-to-end application security using trusted computing. http:\/\/www.cs.ru.nl\/onderwijs\/afstudereninfo\/scripties\/2005\/MichielBroekmanScriptie.pdf.  Broekman M. 2005. End-to-end application security using trusted computing. http:\/\/www.cs.ru.nl\/onderwijs\/afstudereninfo\/scripties\/2005\/MichielBroekmanScriptie.pdf."},{"key":"e_1_2_1_4_1","unstructured":"Chair for System Security University of Bochum Germany 2005. GRUB TCG Patch to support Trusted Boot. http:\/\/trousers.sourceforge.net\/grub.html.  Chair for System Security University of Bochum Germany 2005. GRUB TCG Patch to support Trusted Boot. http:\/\/trousers.sourceforge.net\/grub.html."},{"key":"e_1_2_1_5_1","unstructured":"Computer Emergency Response Team (CERT). 2005. CERT research 2005 annual report. Carnegie Mellon University. http:\/\/www.cert.org\/archive\/pdf\/cert_rsch_annual_rpt_2005.pdf.  Computer Emergency Response Team (CERT). 2005. CERT research 2005 annual report. Carnegie Mellon University. http:\/\/www.cert.org\/archive\/pdf\/cert_rsch_annual_rpt_2005.pdf."},{"volume-title":"Proceedings of the 3rd International Conference Financial Cryptography (FC'99)","author":"Daswani N.","key":"e_1_2_1_6_1"},{"key":"e_1_2_1_7_1","unstructured":"Digium Inc. 2006. Asterisk\u2014The Open Source PBX. http:\/\/www.asterisk.org.  Digium Inc. 2006. Asterisk\u2014The Open Source PBX. http:\/\/www.asterisk.org."},{"key":"e_1_2_1_8_1","unstructured":"Fujitsu. 2004. LifeBook S7000 notebook. http:\/\/www.computers.us.fujitsu.com.  Fujitsu. 2004. LifeBook S7000 notebook. http:\/\/www.computers.us.fujitsu.com."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945464"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/862895.883858"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.5555\/648253.752410"},{"key":"e_1_2_1_12_1","unstructured":"IBM. 2006. TrouSerS - An open-source TCG software stack implementation. http:\/\/sourceforge.net\/projects\/trousers.  IBM. 2006. TrouSerS - An open-source TCG software stack implementation. http:\/\/sourceforge.net\/projects\/trousers."},{"key":"e_1_2_1_13_1","unstructured":"IBM. 2004. IBM research report. https:\/\/www.trustedcomputinggroup.org\/news\/articles\/rc23363.pdf.  IBM. 2004. IBM research report. https:\/\/www.trustedcomputinggroup.org\/news\/articles\/rc23363.pdf."},{"key":"e_1_2_1_14_1","unstructured":"Lenovo. 2007. IBM thinkpad. http:\/\/www.pc.ibm.com\/us\/thinkpad.  Lenovo. 2007. IBM thinkpad. http:\/\/www.pc.ibm.com\/us\/thinkpad."},{"key":"e_1_2_1_15_1","unstructured":"Linux Journal. 2004. Sharp Zaurus SL-5600. http:\/\/www.linuxjournal.com\/article\/6792.  Linux Journal. 2004. Sharp Zaurus SL-5600. http:\/\/www.linuxjournal.com\/article\/6792."},{"volume-title":"Proceedings of the 2nd International Workshop on Cryptographic Hardware and Embedded Systems (CHES '99)","author":"L\u00f3pez J.","key":"e_1_2_1_16_1"},{"key":"e_1_2_1_17_1","unstructured":"L\u00f3pez J. and Dahab R. 2000. An overview of elliptic curve cryptography. Tech. rep. Institute of Computing State University of Campinas Brasil.  L\u00f3pez J. and Dahab R. 2000. An overview of elliptic curve cryptography. Tech. rep. Institute of Computing State University of Campinas Brasil."},{"key":"e_1_2_1_18_1","unstructured":"M. Matsumoto. 1997. Mersenne Twister random numbers generator. http:\/\/www.math.sci.hiroshima-u.ac.jp\/m-mat\/MT\/ewhat-is-mt.html.  M. Matsumoto. 1997. Mersenne Twister random numbers generator. http:\/\/www.math.sci.hiroshima-u.ac.jp\/m-mat\/MT\/ewhat-is-mt.html."},{"key":"e_1_2_1_19_1","unstructured":"M. Strasser. 2006. TPM Emulator. ETH Zurich Switzerland. http:\/\/developer.berlios.de\/projects\/tpm-emulator.  M. Strasser. 2006. TPM Emulator. ETH Zurich Switzerland. http:\/\/developer.berlios.de\/projects\/tpm-emulator."},{"key":"e_1_2_1_20_1","unstructured":"National Institute of Standards and Technology. 2006. FIPS PUB 186-3: Digital signature standard (DSS). http:\/\/csrc.nist.gov\/publications\/drafts\/fips_186-3\/Draft-FIPS-186-3%20_March2006. pdf.  National Institute of Standards and Technology. 2006. FIPS PUB 186-3: Digital signature standard (DSS). http:\/\/csrc.nist.gov\/publications\/drafts\/fips_186-3\/Draft-FIPS-186-3%20_March2006. pdf."},{"key":"e_1_2_1_21_1","unstructured":"National Institute of Standards and Technology. 2006. NIST 800-57: Recommendation for key management - Part 1: General. http:\/\/csrc.nist.gov\/publications\/nistpubs\/800-57\/SP800-57-Part1.pdf.  National Institute of Standards and Technology. 2006. NIST 800-57: Recommendation for key management - Part 1: General. http:\/\/csrc.nist.gov\/publications\/nistpubs\/800-57\/SP800-57-Part1.pdf."},{"key":"e_1_2_1_22_1","unstructured":"OpenSSL. 2007. OpenSSL Project. http:\/\/www.openssl.org.  OpenSSL. 2007. OpenSSL Project. http:\/\/www.openssl.org."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/784894.785072"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/TMC.2006.16"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1015047.1015049"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1063979.1064005"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2005.4"},{"key":"e_1_2_1_28_1","doi-asserted-by":"crossref","unstructured":"Smith S. W. 2005. Trusted Computing Platforms Design and Applications. Springer.   Smith S. W. 2005. Trusted Computing Platforms Design and Applications. Springer.","DOI":"10.1007\/978-3-662-41015-8"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2003.822133"},{"key":"e_1_2_1_30_1","unstructured":"Sun Microsystems. 2005. Sun's elliptic curve technology contribution to the OpenSSL. http:\/\/research.sun.com\/projects\/crypto\/FrequenlyAskedQuestions.html.  Sun Microsystems. 2005. Sun's elliptic curve technology contribution to the OpenSSL. http:\/\/research.sun.com\/projects\/crypto\/FrequenlyAskedQuestions.html."},{"key":"e_1_2_1_31_1","unstructured":"Tensilica Inc. 2001. Xtensa Application Specific Microprocessor Solutions - Overview Handbook. http:\/\/www.tensilica.com.  Tensilica Inc. 2001. Xtensa Application Specific Microprocessor Solutions - Overview Handbook. http:\/\/www.tensilica.com."},{"volume-title":"Proceedings of the 9th International Conference Asia-Pacific Computer Systems Architecture. 282--295","year":"2004","author":"Tillich S.","key":"e_1_2_1_32_1"},{"key":"e_1_2_1_33_1","unstructured":"Trusted Computing Group. 2004. TCG Glossary. https:\/\/www.trustedcomputinggroup.org\/groups\/TCG_Glossary.pdf.  Trusted Computing Group. 2004. TCG Glossary. https:\/\/www.trustedcomputinggroup.org\/groups\/TCG_Glossary.pdf."},{"key":"e_1_2_1_34_1","unstructured":"Trusted Computing Group. 2004. TCG specification architecture overview. https:\/\/www.trustedcomputinggroup.org\/specs\/TPM.  Trusted Computing Group. 2004. TCG specification architecture overview. https:\/\/www.trustedcomputinggroup.org\/specs\/TPM."},{"key":"e_1_2_1_35_1","unstructured":"Trusted Mobile Platform. 2004. http:\/\/www.trusted-mobile.org.  Trusted Mobile Platform. 2004. http:\/\/www.trusted-mobile.org."},{"volume-title":"Proceedings of the 8th Australasian Conference Information Security and Privacy (ACISP'03)","author":"Weimerskirch A.","key":"e_1_2_1_36_1"},{"volume-title":"Proceedings of the Embedded World Conference. ACM","author":"Wollinger T.","key":"e_1_2_1_37_1"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/SRDS.2006.42"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1457246.1457254","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1457246.1457254","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:45:48Z","timestamp":1750250748000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1457246.1457254"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,12]]},"references-count":38,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2008,12]]}},"alternative-id":["10.1145\/1457246.1457254"],"URL":"https:\/\/doi.org\/10.1145\/1457246.1457254","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2008,12]]},"assertion":[{"value":"2008-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2008-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-01-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}