Managing the life cycle of Java Card applets in other Java virtual machines

Michael Roland (NFC Research Lab Hagenberg, University of Applied Sciences Upper Austria, Hagenberg, Austria)
Josef Langer (NFC Research Lab Hagenberg, University of Applied Sciences Upper Austria, Hagenberg, Austria)
Rene Mayrhofer (Josef Ressel Center u’smile, University of Applied Sciences Upper Austria, Hagenberg, Austria)

International Journal of Pervasive Computing and Communications

ISSN: 1742-7371

Publication date: 26 August 2014

Abstract

Purpose

The purpose of this paper is to address the design, implementation, performance and limitations of an environment that emulates a secure element for rapid prototyping and debugging. Today, it is difficult for developers to get access to a near field communication (NFC)-secure element in current smartphones. Moreover, the security constraints of smartcards make in-circuit emulation and debugging of applications impractical. Therefore, an environment that emulates a secure element brings significant advantages for developers.

Design/methodology/approach

The authors' approach to such an environment is the emulation of Java Card applets on top of non-Java Card virtual machines (e.g. Android Dalvik VM), as this would facilitate the use of existing debugging tools. As the operation principle of the Java Card VM is based on persistent memory technology, the VM and applications running on top of it have a significantly different life cycle compared to other Java VMs. The authors evaluate these differences and their impact on Java VM-based Java Card emulation. They compare possible strategies to overcome the problems caused by these differences, propose a possible solution and create a prototypical implementation to verify the practical feasibility of such an emulation environment.

Findings

While the authors found that the Java Card inbuilt persistent memory management is not available on other Java VMs, they present a strategy to model this persistence mechanism on other VMs to build a complete Java Card run-time environment on top of a non-Java Card VM. Their analysis of the performance degradation in a prototypical implementation caused by additional effort put into maintaining persistent application state revealed that the implementation of such an emulation environment is practically feasible.

Originality/value

This paper addresses the problem of emulating a complete Java Card run-time environment on top of non-Java Card virtual machines which could open and significantly ease the development of NFC secure element applications.

Keywords

Citation

Michael Roland, Josef Langer and Rene Mayrhofer (2014) "Managing the life cycle of Java Card applets in other Java virtual machines", International Journal of Pervasive Computing and Communications, Vol. 10 No. 3, pp. 291-312

Download as .RIS

DOI

: https://doi.org/10.1108/IJPCC-06-2014-0036

Publisher

:

Emerald Group Publishing Limited

Copyright © 2014, Emerald Group Publishing Limited

Please note you might not have access to this content

You may be able to access this content by login via Shibboleth, Open Athens or with your Emerald account.
If you would like to contact us about accessing this content, click the button and fill out the form.
To rent this content from Deepdyve, please click the button.