[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2556315.2556323acmotherconferencesArticle/Chapter ViewAbstractPublication Pagescs2Conference Proceedingsconference-collections
research-article

Memory-efficient on-card byte code verification for Java cards

Published: 20 January 2014 Publication History

Abstract

Java enabled smart cards are widely used to store confidential information in a trusted and secure way in an untrusted and insecure environment, for example the credit card in your briefcase. In this environment the owner of the card can install and run any applet on his card, such as the loyalty application of your favorite store. However, every applet that runs on a trusted card has to be verified. On-card Bytecode Verification is a crucial step towards creating a trusted environment on the smart cards. The innovative verification method presented in this work comes without any additional off-card component and uses nearly the same amount of memory as the execution of the applet uses. The usage of a Control Flow Graph and Basic Blocks and the implementation of a temporary transformation of the methods reduces the complexity of this new verifier. We will show a detailed analysis of the implemented algorithm and preliminary tests of a prototype on a Java Card.

References

[1]
R. Akram, K. Markantonakis, and K. Mayes. A Paradigm Shift in Smart Card Ownership Model. In International Conference on Computational Science and Its Applications (ICCSA), 2010, March 2010.
[2]
C. Bernardeschi, L. Martini, and P. Masci. Java bytecode verification with dynamic structures. In International Conference on Software Engineering and Applications (SEA), Cambridge, MA, USA, 2004.
[3]
D. Deville and G. Grimaud. Building an "impossible" verifier on a java card. In Proceedings of the 2nd conference on Industrial Experiences with Systems Software - Volume 2, Berkeley, CA, USA, 2002. USENIX Association.
[4]
J. Gosling. Java intermediate bytecodes. ACM SIGPLAN workshop on intermediate representations (IR'95), 30(3):111--118, 1995.
[5]
X. Leroy. Bytecode verification on Java smart cards. Software: Practice and Experience, 32(4):319--340, 2002.
[6]
D. Naccache, A. Tchoulkine, C. Tymen, and E. Trichina. Reducing the memory complexity of type-inference algorithms. In Information and Communications Security, volume 2513 of Lecture Notes in Computer Science, pages 109--121. Springer Berlin/Heidelberg, 2002.
[7]
Oracle. Virtual Machine Specification. Java Card Platform, Version 3.0.4, Classic Edition, 2011.
[8]
Oracle. Java card 3 platform off-card verification tool specification, classic edition. Beta Draft Version 1.0, Oracle, February 2012.
[9]
E. Rose and K. H. Rose. Lightweight Bytecode Verification. Journal of Automated Reasoning, 31:303--334, 2003.
[10]
M. Witteman. Java Card Security. Information Security Bulletin, July 2003.

Cited By

View all
  • (2015)Java Card Virtual Machine Compromising from a Bytecode Verified AppletRevised Selected Papers of the 14th International Conference on Smart Card Research and Advanced Applications - Volume 951410.1007/978-3-319-31271-2_5(75-88)Online publication date: 4-Nov-2015
  • (2015)Heap $$\ldots $$ Hop! Heap Is Also VulnerableSmart Card Research and Advanced Applications10.1007/978-3-319-16763-3_2(18-31)Online publication date: 17-Mar-2015
  • (2014)High Performance Java Card Operating SystemProceedings of the 2014 Eighth International Conference on Software Security and Reliability10.1109/SERE.2014.16(30-39)Online publication date: 30-Jun-2014

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
CS2 '14: Proceedings of the First Workshop on Cryptography and Security in Computing Systems
January 2014
56 pages
ISBN:9781450324847
DOI:10.1145/2556315
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].

Sponsors

  • HiPEAC: HiPEAC Network of Excellence

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 January 2014

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

CS2
Sponsor:
  • HiPEAC

Acceptance Rates

CS2 '14 Paper Acceptance Rate 6 of 26 submissions, 23%;
Overall Acceptance Rate 27 of 91 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 30 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2015)Java Card Virtual Machine Compromising from a Bytecode Verified AppletRevised Selected Papers of the 14th International Conference on Smart Card Research and Advanced Applications - Volume 951410.1007/978-3-319-31271-2_5(75-88)Online publication date: 4-Nov-2015
  • (2015)Heap $$\ldots $$ Hop! Heap Is Also VulnerableSmart Card Research and Advanced Applications10.1007/978-3-319-16763-3_2(18-31)Online publication date: 17-Mar-2015
  • (2014)High Performance Java Card Operating SystemProceedings of the 2014 Eighth International Conference on Software Security and Reliability10.1109/SERE.2014.16(30-39)Online publication date: 30-Jun-2014

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media