Cryptographic Hardware and Embedded Systems - CHES 2004
2004, Lecture Notes in Computer Science
Abstract
This paper presents the theoretical blueprint of a new secure token called the Externalized Microprocessor (XµP). Unlike a smart-card, the XµP contains no ROM at all. While exporting all the device's executable code to potentially untrustworthy terminals poses formidable security problems, the advantages of ROM-less secure tokens are numerous: chip masking time disappears, bug patching becomes a mere terminal update and hence does not imply any roll-out of cards in the field. Most importantly, code size ceases to be a limiting factor. This is particularly significant given the steady increase in on-board software complexity. After describing the machine's instruction-set we introduce a public-key oriented architecture design which relies on a new RSA screening scheme and features a relatively low communication overhead. We propose two protocols that execute and dynamically authenticate arbitrary programs, provide a strong security model for these protocols and prove their security under appropriate complexity assumptions.
References (13)
- A. Aho, R. Sethi, J. Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, 1986.
- E. Biham and A. Shamir, Differential Fault Analysis of Secret Key Cryptosystems, In Advances in Cryptography, Crypto'97, LNCS 1294, pages 513-525, 1997.
- I. Biehl, B. Meyer and V. Müller, Differential Fault Attacks on Elliptic Curve Cryptosystems, In M. Bellare (Ed.), Proceedings of Advances in Cryptology, Crypto 2000, LNCS 1880, pages 131-146, Springer Verlag, 2000.
- M. Bellare, J. Garay and T. Rabin, Fast Batch Verification for Modular Exponentiation and Digital Signatures, Eurocrypt'98, LNCS 1403, pages 236-250. Springer-Verlag, Berlin, 1998.
- M. Bellare and P. Rogaway, Random Oracles Are Practical: a Paradigm for Designing Efficient Protocols, Proceedings of the first CCS, pages 62-73. ACM Press, New York, 1993.
- B. Chevallier-Mames, D. Naccache, P. Paillier and D. Pointcheval, How to Disembed a Program?, IACR ePrint Archive, http://eprint.iacr.org/2004/138, 2004.
- Z. Chen, Java Card Technology for Smart Cards: Architecture and Programmer's Guide, The Java Series, Addison- Wesley, 2000.
- J.-S. Coron, On the Exact Security of Full-Domain-Hash, Crypto'2000, LNCS 1880, Springer-Verlag, Berlin, 2000.
- J.-S. Coron and D. Naccache, On the Security of RSA Screening, Proceedings of the Fifth CCS, pages 197-203, ACM Press, New York, 1998.
- D.E. Knuth, The Art of Computer Programming, vol. 1, Seminumerical Algorithms, Addison-Wesley, Third edition, pages 124-185, 1997.
- S. Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann, 1997.
- G. Ramalingam, Identifying Loops in Almost Linear Time, ACM Transactions on Programming Languages and Systems, 21(2):175-188, March 1999.
- R. Stata and M. Abadi, A Type System for Java Bytecode Subroutines, SRC Research Report 158, June 11, 1998, http://www.research.digital.com/SRC/.