Side channel analysis techniques towards a methodology for reverse engineering of Java Card byte-code

Side channel Analysis (SCA) has become a reliable method for cryptanalysts to break cryptographic algorithms. Recently, these methods are used in the aim of reverse engineering program code on Java Card. In addition of Power Analysis (PA), other techniques of side channel analysis exist, such as ElectroMagnetic Analysis (EMA). In this paper, we discuss techniques to apply reverse engineering attack on a Java Card application being executed over a Java Card Virtual Machine (JCVM) by using SCA attacks. Those attacks on smart cards can only be based on a black box approach where the code of applications and operating system are not accessible. To perform reverse engineering, a white box approach providing access to the Java Card is needed. In this paper, we present techniques towards a methodology to discover the code whose access is protected by the virtual machine.