Fast Multiplication on Elliptic Curves over GF(2m) without Precomputation
CHES '99 Proceedings of the First International Workshop on Cryptographic Hardware and Embedded Systems
Implementing 1,024-Bit RSA Exponentiation on a 32-Bit Processor Core
ASAP '00 Proceedings of the IEEE International Conference on Application-Specific Systems, Architectures, and Processors
Instruction Set Extension for Long Integer Modulo Arithmetic on RISC-Based Smart Cards
SBAC-PAD '02 Proceedings of the 14th Symposium on Computer Architecture and High Performance Computing
Terra: a virtual machine-based platform for trusted computing
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Security in embedded systems: Design challenges
ACM Transactions on Embedded Computing Systems (TECS)
Performance Analysis of Cryptographic Protocols on Handheld Devices
NCA '04 Proceedings of the Network Computing and Applications, Third IEEE International Symposium
Trusted Computing Platforms: Design and Applications
Trusted Computing Platforms: Design and Applications
BIND: A Fine-Grained Attestation Service for Secure Distributed Systems
SP '05 Proceedings of the 2005 IEEE Symposium on Security and Privacy
Peer-to-peer access control architecture using trusted computing technology
Proceedings of the tenth ACM symposium on Access control models and technologies
A Study of the Energy Consumption Characteristics of Cryptographic Algorithms and Security Protocols
IEEE Transactions on Mobile Computing
Satem: Trusted Service Code Execution across Transactions
SRDS '06 Proceedings of the 25th IEEE Symposium on Reliable Distributed Systems
Generic GF(2m) arithmetic in software and its application to ECC
ACISP'03 Proceedings of the 8th Australasian conference on Information security and privacy
Custom-instruction synthesis for extensible-processor platforms
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Applications of trusted computing in pervasive smart camera networks
WESS '09 Proceedings of the 4th Workshop on Embedded Systems Security
Securing embedded smart cameras with trusted computing
EURASIP Journal on Wireless Communications and Networking - Special issue on security and resilience for smart devices and applications
Enhancing the trust of internet routing with lightweight route attestation
Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security
Towards trustworthy medical devices and body area networks
Proceedings of the 50th Annual Design Automation Conference
Hi-index | 0.00 |
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. 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—generic 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.