Using java card instead of SIM card in android using SEEK

I have earned Android with SEEK for Galaxy S3, and after some struggle, now I can send the APDU to the SIM card and get the correct answers.

I want to place my own applet inside the SIM card, but since we cannot access this, I begin to wonder if there is anyway the possibility of issuing a java card to work as a SIM card. All I need is a Java card, which the phone cannot distinguish from a SIM card, no network coverage is required, and I know that creating a SIM card that works with an operator and provides network coverage is almost impossible.

The reason for all this is the need to send APDUs and work with my applet, but if I insert a java card instead of a SIM card in GS3, it gives me no access at all.

So my question is: Is it possible to issue a java card so that it looks like a SIM phone (and not an operator)?

or it is possible to change the android so that it provides the necessary access when it has a java card in it, i.e. Does RIL work as usual?


EDIT

Ok, I think I’ll try to release a Java map with the following properties:

Firstly, it will have an automatically selected applet (the default applet), which from now on will be called fake-UICC.
Secondly, in fake-UICC we will emulate the UICC file system (according to http://www.in2eps.com/fo-uicc/tk-fo-uicc-mf.html ).
Thirdly, since a different class is used for SIM APDUs ( 0xA0 ), therefore, all APDUs sent from RIL will be sent to fake-UICC JCRE, since the class + command is not recognized by a regular Java card. for example, 0xA0A4 is the choice for the SIM card, but 0x00A4 is the choice command for the Java card.
At the last stage, we will try to send the exact answers that the real SIM will send to each APDU.

It may not work, but I think it's worth a try.

+5
source share
2 answers

Well, actually I'm not sure if this solution works or not, and as a respected @ Vojta, mentioned in the comments in his answer, I would like to dissuade people from the following attempts. It will be difficult, time consuming and probably without any useful results. He knows a lot more than me in this area.

In any case, as you wanted, I published my proposal:

Each file in the system file of the SIM / USIM card is associated with a hexadecimal number as its address (AID). These AIDs are defined in the GSM and ETSI standards (e.g. GSM 11.11). You can write several Javacard applets to simulate this system file.

Since SIM / USIM AIDs are shrinking than JavaCards, you may need to select a Java card that supports partial AID selection and use this feature to send an incoming command to the corresponding applet.

I think you can simulate the entire system file inside one applet, and then make this applet the default one selected by default.

If you have any success with this solution, let us know. :)

+1
source

A SIM card (UICC) available through SEEK is not the only secure element that you can use on your mobile phone.

There are other Java Card solutions on the market: mainly based on a microSD slot (for example, GoTrust or Feitian Technologies), with which you must have access through SEEK.

Some cell phones (unfortunately, Galaxy S3, unfortunately) do not have a special slot for secure elements, with which you can insert a regular smart card (mainly Oberthur) through SEEK (see http: //www.nfcworld. com / technology / embedded-secure-element-ese / for some devices with this feature).

There is an interesting article about SE options: http://nelenkov.blogspot.cz/2012/08/accessing-embedded-secure-element-in.html

If you know some other vendors offering microSD Java Card products, write them in the comments and I will add them to my post. This answer should not be advertising for the companies mentioned above.

+2
source

All Articles