boolean, byte, short code> pre> and optionally supported int (but hardly used for the sake of compatibility, as not supported by all manufacturers). No usual type of classes String code> pre> (all of java.lang code> pre> migrated Only Object code> pre>, Throwable code> pre> and some Exceptions code> pre>), no multithreading, no garbage collector'a. Cons javacard, in my opinion - is the speed and large memory requirements (like RAM, and EEPROM / Flash). Java-cards are more expensive due to the use of more expensive chips and more complex structure.
Applications h5> The preceding text is often cited application, but the person is not familiar with smart cards, most often it is unclear what kind of applications can be on the map.
Firstly, the basic functionality of the card can be put in a separate annex. For example, it may be SIM applet, written in java, which implements all the functionality of SIM. May be R-UIM application (R-UIM card used in CDMA networks). This application can be Visa or Mastercard, converting smart card into a bank card. In fact, when using java, you can leave the OS memory management, input-output and Java machine. In this case, if the manufacturer must make SIM-card - SIM applet is loaded, if it is necessary to make Visa - downloadable application Visa.
Secondly, there is a class of applications on the cards - microbrowsers. This bytecode interpreter for the construction of the SIM-menu. This is not java bytecode and bytecode understandable installed browsers. The menu in this case most often developed on xml-like markup language is converted to bytecode and loaded into the browser. Currently the most widely used browsers S @ T from Simalliance and WIB from Smarttrust < / a>. Both organizations are not developing browsers, they write the specifications and certify browsers, writing on these specifications.
Third, it may be SIM menu, developed on java (without the use of browsers), or just some background applet. For example, it may be an applet that monitors in what phone you use. If you insert the card into the new phone, the SIM sends the IMEI of the new phone operator, who in turn sends you to configure wap / gprs for your model.
File System h4> SIM-cards on a file system, as well as on desktop computers. Files are 2 types - DF (Dedicated file - folder analogue) and EF (Elementary file - analogue of the usual file). DF root file called MF (Master File).
In the file system SIM-card stored secret keys, address book, recent SMS, operator name, network, preferred roaming network, prohibited for use, and so on. D. Of course, there are levels of access to the files. Keys often have NEVER as read access, which eliminates the possibility to read them from the outside.
What is it all necessary? H4> SIM-menu and the other "non-system" apps are just value added services. The main purpose of the card - make identification and authentication of the subscriber on the network.
To do this, on the map there IMSI (International Mobile Subscriber Identity) - unique identifier SIM-card and a 128-bit key Ki.
Below is the authentication procedure in the GSM network and generate a session key Kc.
Authentication takes place using an algorithm A3, generation Kc - A8.
Authentication Center (AuC) an authentication request to the card generates 128-bit pseudo-random sequence RAND and sends it to SIM-card. Further, knowing the IMSI card, AuC uses key Ki, bound to this IMSI, data and RAND as inputs to algorithms A3 and A8. Map simultaneously performs the same calculations. The calculation result of the algorithm A3 Signed Response (SRES) is sent to the card AuC, which compares the received SRES with the value calculated on the AuC. When the coincidence of the results authentication procedure is considered successfully completed. Key Kc, obtained using the algorithm A8, subsequently used to encrypt traffic between the phone and the network.
Programs "clone" cards use the vulnerability in the older version of the algorithm A8 (COMP128-1). At this point in the GSM networks are widely used and COMP128-2 COMP128-3. A vulnerability was discovered in 1999, but some GSM operators have not switched to the 2nd and 3rd of algorithms (vulnerabilities that are currently not found).
Epilogue h4> In this article I have tried quite succinctly tell what is a SIM-card. I hope I got it. Virtually all of the above description, except the authentication procedure, and to otnostitsja USIM-cards used in 3G networks (UMTS), and R-UIM card (CDMA network). If you have any comments or questions - please write.
Related Links:
www.3gpp.org
www.3gpp2.org
Java Card Technology
Source: habrahabr.ru/post/93210/