Thesis/Dissertation: Bc. Petr Hanák, učo 524742: Detection of undocumented JavaCard API using power side-channels
Master's thesis
Detection of undocumented JavaCard API using power side-channels
Abstract
Java Card je technologie umožňující použití Javy na čipových kartách. Výrobci karet často na karty nahrávají nějaké API. Někdy je jeho dokumentace veřejně dostupná, někdy je API proprietární. V této práci vyvíjíme techniky pro odhalování tohoto neznámého API na kartě. Hlavním postupem je vyhledávání úniku informací časovým postranním kanálem během instalace programu na kartě. Pro přesné měření času …more
Abstract
Java Card is a technology that allows Java to run on smart cards. Card manufacturers often preload some APIs on the cards. Sometimes, their documentation is available; sometimes, the API is proprietary. In this work, we develop techniques to enumerate unknown API on a Java Card. The main approach is to search for timing side-channel leakage during program installation on the card. We use power-trace …more
Thesis description
The work will extend the analysis done by Deshmukh in 2018 [1] with power side-channel analysis to obtain more detailed insight into card's behavior during AIDs, classes and methods probing.
The theoretical part of the thesis will precisely describe the JavaCard package management system, structure of cap packages and existing research covering reverse-engineering of code on the JavaCard Virtual Machine level.
The practical part will develop an automatic testing toolchain, that will cover the following functionality:
1. An experiment to detect undocumented packages with unknown AID utilizing side-channel leakage during LOAD operation [3].
2. Generate code/applet cap to instantiate specific class using its token, its method(s) and possible method signature using known fingerprints from the public JavaCard API.
3. Examine results for at least five real smartcards.
The resulting source code will be available under permissive open-source licence (MIT, Apache2) in IS and corresponding GitHub repository.
References:
[1] Sujeet Daulat Deshmukh, Tool for detection of JavaCard libraries on smartcards https://is.muni.cz/th/k06n3/
GlobalPlatform specification: https://globalplatform.org
[2] jcAIDScan: https://github.com/petrs/jcAIDScanOracle, JavaCard platform: https://www.oracle.com/technetwork/java/embedded/javacard/overview/index.html
[3] M.Paljak, GlobalPlatformPro: https://github.com/martinpaljak/GlobalPlatformPro
1/6/2026 06:08, doc. RNDr. Petr Švenda, Ph.D., UČO 4085
Theses on a related topic
List of theses with an identical keyword.
-
Access control based on smartcards
Mgr. Jiří Vomáčka, UČO 143259 -
Power analysis of the PIN verification procedure on the smart cards
Mgr. Jakub Ferenc, UČO 98993 -
Automated testing of computational performance of JavaCard smart cards
Mgr. Lenka Kuníková -
X509 and CV Certificate Processing on Smart Cards
Mgr. Tomáš Pekárek -
Generating single-use PINs and storing them on a smart card
Mgr. Martin Sláma, UČO 99058 -
Digital Signatures in PDF Files
Mgr. Martin Henzl -
Password-based authentication protocols and their implementation in smart cards
Mgr. Jakub Koláčný, UČO 60322 -
Improving side-channel resistance of Java Card implementations
Mgr. Veronika Hanulíková, UČO 492760




