System for Executing Encrypted Java Programs

Michael Kiperberg, Amit Resh, Asaf Algawi, Nezer J. Zaidenberg

2017

Abstract

An important aspect of protecting software from attack, theft of algorithms, or illegal software use, is eliminating the possibility of performing reverse engineering. One common method to deal with these issues is code obfuscation. However, it is proven to be ineffective. Code encryption is a much more effective means of defying reverse engineering, but it requires managing a secret key available to none but the permissible users. Adequate systems for managing secret keys in a protected trust-zone and supporting execution of encrypted native code have been proposed in the past. Nevertheless, these systems are not suitable as is for protecting managed code. In this paper we propose enhancements to these systems so they support execution of encrypted Java programs that are resistant to reverse engineering. The main difficulty underlying Java protection with encryption is the interpretation that is performed by the JVM. The JVM will require the key to decrypt the encrypted portions of Java code and there is no feasible way of securing the key inside the JVM. To solve this, the authors propose implementing a Java bytecode interpreter inside a trust-zone, governed by a thin hypervisor. This interpreter will run in parallel to the standard JVM, both cooperating to execute encrypted Java programs.

Download


Paper Citation


in Harvard Style

Kiperberg M., Resh A., Algawi A. and Zaidenberg N. (2017). System for Executing Encrypted Java Programs . In Proceedings of the 3rd International Conference on Information Systems Security and Privacy - Volume 1: ICISSP, ISBN 978-989-758-209-7, pages 245-252. DOI: 10.5220/0006078902450252

in Bibtex Style

@conference{icissp17,
author={Michael Kiperberg and Amit Resh and Asaf Algawi and Nezer J. Zaidenberg},
title={System for Executing Encrypted Java Programs},
booktitle={Proceedings of the 3rd International Conference on Information Systems Security and Privacy - Volume 1: ICISSP,},
year={2017},
pages={245-252},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006078902450252},
isbn={978-989-758-209-7},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 3rd International Conference on Information Systems Security and Privacy - Volume 1: ICISSP,
TI - System for Executing Encrypted Java Programs
SN - 978-989-758-209-7
AU - Kiperberg M.
AU - Resh A.
AU - Algawi A.
AU - Zaidenberg N.
PY - 2017
SP - 245
EP - 252
DO - 10.5220/0006078902450252