Question

I am new to javacard programming.While working with owner pin in my javacard application, I referred that "PIN interface which is in javacard framework package does not make any assumptions about where the data for the PIN value comparison is stored". And I want to know the following,

  1. Can I get the exact location where my owner pin is stored? If I can how to do that? How to export my updated owner pin?
  2. I have an applet of my javacard application. Now how can I load & install into my javacard.I know there are tools available and come with the smartcard itself. But I want to install without tool and only through apdu commands. Is there any procedure to do that? If so how to do that?
Was it helpful?

Solution

  1. Sorry, you cannot retrieve the OwnerPIN, probably because of security reasons. You will have to implement the PIN interface yourself if you want to do that, but there are about 8 pitfalls in the implementation regarding side channel attacks and such. If you can't think of about 8 attacks, don't go there. Generally, retrieving the PIN as data is not what you should want.

  2. Of course there is a procedure to do that: create your own GlobalPlatform API - you might want to look at open source examples though, such as gjp.

As an extreme hack, you could store the PIN in as the value of a secret key object (which are generally well protected).

OTHER TIPS

Regarding the installation of applets I have a good and bad news for you:

The general process of command for installing is standardized by Global Platform, however that refers only to those commands you send to the Cardmanager-Applet. However AFAIK there is no vendor independent standard of the Cardmanager-AID. Additionally you have to authenticate yourself to the Cardmanager applet before you can use it. On developer cards this is usually a simple key like 404142434445464748494a4b4c4d4e4f (hex) as used for example by JCOP cards for the first DES key.

Additionally this authentication key can be changed by the card owner. Therefore on non-developer cards you don't have access to the Cardmanager.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top