SIM Toolkit In Practice
|
|
|
- Corey Bennett
- 10 years ago
- Views:
Transcription
1 Bachelor Thesis SIM Toolkit In Practice August 27, 2012 Author: Supervisors: Sjors Gielen Erik Poll Fabian van den Broek cs.ru.nl Abstract This paper gives an overview of the SIM Toolkit standard (STK), used in mobile phones in the global system for mobile communication (GSM) to provide value-added services for the user and the operator. The standard is used in practice on many SIM cards today. I will describe a short background of smart card, SIM card and SIM Toolkit communication, and show how to do a man-in-the-middle on the protocol to read and modify the traffic between the SIM and the phone. I will also give some examples of real-life SIM Toolkit traffic and its results on various phones. Finally, I will describe some possible vulnerabilities of the SIM Toolkit standard and compliant phones, tested in practice. This bachelor thesis was written within the Honours Programme of the Faculty of Science at the Radboud University in Nijmegen, The Netherlands.
2 1 Introduction When the first specifications for the Global System for Mobile Communications (GSM) were finalized in 1990, a SIM card had only two purposes: it stored information on what GSM network to connect to, and it could run a cryptographic algorithm using a secret key to uniquely identify itself to that network [4]. However, as the GSM network grew and mobile phone manufactorers and service providers started to make more money off value added services, the operators that usually only gave out the SIM card to customers needed an extra facility to provide extra services to their customers. This is why in 1996 the SIM Toolkit standard was released, giving operators the possibility to let special applications on the SIM card proactively initiate communication with the users and the network [6]. Since then, the standard went through many iterations and is now called the Card Application Toolkit, meant for any type of smart card [8] (but still usually called SIM Toolkit when used in SIM card contexts). As usual in technical documents specifying communication methods used internationally all over the world, the SIM Toolkit standards consist of thousands of pages of complex documentation with numerous versions over the years, references all over the place and no clear practical summary, and are written by hundreds of different people. This makes it difficult for new developers to start using the protocol, regardless of whether they work on the SIM card or on the phone side. In this bachelor thesis, I will describe the ways SIM Toolkit can be used in practice, with examples of real-world commands and their results. I will show some methods for analyzing and modifying real SIM Toolkit traffic. After this, I will give some examples of value-added services that can be implemented using SIM Toolkit, and show some of the security risks that SIM Toolkit introduces for end users. I will start off with an overview of the background of this thesis: SIM cards in section 2, and SIM Toolkit itself in section 3. In section 4.1, I will describe how the existing RebelSIM hardware can quickly be set up to listen in to existing SIM and SIM Toolkit traffic. Using this, existing SIM Toolkit functionality can be examined. In section 4.3 I will show how the SmartLogicTool [10] can support SIM traffic and be used to do an active man-in-the-middle on the protocol, with the ability to change the traffic as it goes over the line. Finally in section 4.4 I will show how the Bladox TurboSIM, a thin SIM-sized chip that can modify the traffic between the phone and the actual SIM card, can be used to deploy new SIM Toolkit services without the need to modify the actual SIM software. In section 5, I will give a list of some SIM Toolkit commands that the SIM can send proactively to the phone, including several examples. In section 6, I will describe some real-world risks imposed by the SIM Toolkit standard. Finally, I will conclude this thesis in section 7. 1
3 Contents 1 Introduction 1 2 SIM card background Smart cards Smart card communication SIM cards SIM Toolkit SIM Toolkit initialisation SIM Toolkit menu installation Menu selection Man-in-the-middle tools RebelSIM SIMparser.pl SmartLogic Tool Configuring Bladox TurboSIM Active man-in-the-middle method SIM Toolkit capabilities User communication Display text Set up menu Select item Network communication Provide local information Send short message Set up call Call control Events Security implications of SIM Toolkit Denial of service Disclose private information Man-in-the-middle on calls Using up credit Forward authentication codes Conclusions 25 A Code 27 A.1 SmartLogicTool man-in-the-middle code
4 2 SIM card background In this section, I will describe some of the essentials behind smartcard and SIM cards, their history, and the way they communicate. This section is intended for readers who are not familiar with smart card communication or the specifics of SIM cards and gives an introduction in order to understand the rest of this paper. A complete description of the protocols is outside the scope of this paper but can be found, for example, in the book Smart card, tokens, security and applications by Mayes and Markantonakis [12]. 2.1 Smart cards Smart cards, formally called integrated circuit cards, are thin, usually credit-card sized cards with a microprocessor embedded within them. Their purpose is mostly to provide some kind of data storage, usually protected by an authentication and access control mechanism. Since their invention in 1977 by Michel Ugon, their use has grown to financial debit and credit cards, car fuel cards, authorization cards for pay television, cryptographical certificate or encryption key storing, physical company access, single sign-on and most notably for this paper: SIM cards. Figure 1: The connection pad design of a smart card. As can be seen, the sizes are strictly defined in order to achieve interoperability. From ISO [11] The physical design and inner workings of smart cards is specified in the ISO7816 standard [11]. In particular, the location of the connection pads is tightly defined, as can be seen in figure 1: all cards adhering to the standard should fit and work in all terminals. In figure 2, a credit card with smart card functionalities can be seen Smart card communication Figure 2: A financial smart card. The distinctive connection pads are seen to the left of the image. From Wikipedia By inserting a smart card in a terminal, the metal strips on the connector are electronically connected to the pins inside the reader. Most of the pins are used for hardware communication; for example, one of the pins is used for applying working voltage, another for hardware resets. The most important pin for communication is the I/O pin. This pin can be set high (H) or low (L), and by reading or changing the state of the pin at specific timings, bytes are transmitted [11]. The timings depend on the state of the clock pin and Figure 3: The pin-out scheme of a smart card. From Wikipedia/File:SmartCardPinout.svg 3
5 CLA INS P1 P2 LEN A0 A Table 1: A command APDU describing the GSM SELECT command, indicating 2 bytes of extra payload data. (The payload is not shown here.) CLA INS P1 P2 LEN Data Command APDU A0 A F 20 SW1 SW2 Response APDU Table 2: A GSM SELECT command APDU including its response, formulated using the APDU model. the speed of communication that the card and the terminal agreed on, either as a default speed or after a speed enhancement procedure. When a smart card is inserted into a terminal, the terminal will start applying a voltage to the voltage pin, a clock rate to the clock pin, and issues a hardware reset. The smart card is now powered and has a sense of timing using the clock rate, and will initiate the protocol with the Answer to Reset (or ATR). This message, consisting of several bytes, contains the capabilities and other properties of the smart card. For example, it will tell the terminal what kind of smart card this is. After this, the card is activated and the terminal and card can start exchanging commands. In smart card communication, commands are always initiated by the terminal by sending a Command APDU (application protocol data unit). An example command APDU is shown in table 1: the first byte is the class byte and is used to identify the global command type, in this case A0 which means it is a GSM command. The second byte is the instruction byte and gives the actual command within the global type, in this case A4 means this is the GSM SELECT command. Its two parameters are 00 (because they are unused), and its length byte parameter is set to 02, meaning there are two bytes of extra data that will follow. The smart card now responds with the instruction byte A4, after which additional data of exactly LEN bytes is sent by either the terminal or the card, depending on the command. Finally, the card responds with two status word bytes; the most common value is which means the command simply succeeded. In a higher level, this protocol is often simplified to form the APDU model: the repeating of the INS byte by the card is simply ignored, and the data is appended to the command or prepended to the response depending on whether the terminal or the card sent the data. Therefore, in a higher level model describing the GSM SELECT command, one may actually see a model as in table 2, where one should remember this is not exactly how the bytes were transferred. When the smart card sends some data instead of the terminal, the APDUs are written as in table 3. CLA INS P1 P2 LEN Command APDU A0 B Data SW1 SW2 Response APDU Table 3: A GSM READ BINARY command and response APDU. Here, the SIM card sent extra data, instead of the terminal as with GSM SELECT. 4
6 2.2 SIM cards A SIM card is a special type of smart card which is used for connecting to and using the mobile telephony network known as the GSM network (Global System for Mobile Communication). Highly standardised, the card contains the unique subscriber number (IMSI for International Mobile Subscriber Identity), the secret authentication key and other properties used to authenticate to the network and uniquely identify the card s owner. The first official SIM card specification was written in january 1990 as ETSI Technical Specification [1]. This first specification is not available anymore; the oldest available version defines a Phase 1 SIM card as follows [4, page 2]: Recommendation GSM states the basic concept of a split of the MS into a removable SIM (Subscriber Identity Module) which contains all network related subscriber information and a ME (Mobile Equipment) which is the remaining part of the MS, and realizes all the functions common to all GSM subscribers. In other words: in GSM, the phone or Mobile Station is split up into a SIM card with subscriber-specific information, and Mobile Equipment, the physical hardware of the phone, which is common for every subscriber. The SIM is subsequently given only two fundamental purposes [4, page 5]: - storing data (and controlling the access to this data), - executing algorithms in secure conditions: for its maintask of authentication of the subscriber s identity according to Recommendation GSM Even today, these purposes have stayed largely the same. New functions and standardised data storages have been added in newer specifications such as secure channels and SIM applications [9]. The largest feature added was the SIM Toolkit, which is described in the rest of this thesis. 5
7 Mobile Equipment SIM normal SIM initialisation SELECT SIM Service Table OK (90 00) GET CONTENTS contents of SIM Service Table TERMINAL PROFILE OK, with SIM Toolkit command available (91 XX) FETCH Proactive command: SET UP MENU TERMINAL RESPONSE: OK OK (90 00) Figure 4: An overview of the SIM Toolkit initialisation. (Recall that is the normal smart card OK response.) 3 SIM Toolkit In the previous section, I have described the background of SIM cards and a bit about their communication using APDUs. This communication allows the phone to couple with the SIM card and use the data provided by the SIM card to use the network correctly. However, the standard SIM application does not allow for much flexibility in value-added services from the network operator in the way Java applications could, early on in mobile phone development. Operators wanted to add more services to the SIM card to keep an innovative edge on other providers. The SIM Toolkit standard was created for this purpose, by allowing the SIM to run its own applications that could communicate with the user and the network. Also, these SIM applications gained the possibility to send proactive commands to the mobile equipment. Recall from the background section that normally, a smartcard simply receives a command, executes it, and responds with the results. The SIM Toolkit standard gives them the possibility to reply with commands to be executed by the terminal. For example, it could take temporary control to display a message on the screen or send an SMS message [12, chapter 4.7]. The standard in which SIM Toolkit was originally introduced was ETSI TS [7]. This standard defines several new APDUs that are used solely for SIM Toolkit: TERMINAL PROFILE, ENVELOPE, FETCH and TERMINAL RESPONSE. It also defines a SIM Service Table, a file stored on the SIM card that tells the mobile equipment what services the SIM supports. A typical SIM Toolkit initialisation procedure can be seen in figure SIM Toolkit initialisation When the mobile equipment is turned on, it will start to initialise the SIM card to be able to connect to the mobile network. As soon as the normal initialisation of the SIM card is done, the SIM Toolkit stack is initialised. First, the phone queries the SIM service table, a regular Elementary File (6F 38) on the SIM card. This file contains the various services the SIM can provide, and whether they should be used by the mobile equipment. An example of a SIM service table reading is seen below. First the phone selects the file, and then the contents are read. 6
8 ME: 00 A SIM: A4 ME: 6F 38 SIM: 61 1E ME: 00 B SIM: B0 9E EF 1F 1C FF 3E Because this is incomprehensible to human beings, I have created the SIMparser.pl tool to explain the data as it is read. I will explain this tool in section 4.2. It has the following to say about the above conversation: (From now on, I will only give SIMparser.pl tool output.) COMMAND: 00 A SELECT file [P1=04?] COMMAND DATA: 6F 38 elementary file under dedicated file; SST (SIM service table) RESPONSE: 61 1E SUCCESS, 30 extra response bytes, use GET RESPONSE COMMAND: 00 B READ BINARY RESPONSE: SUCCESS RESPONSE DATA: 9E EF 1F 1C FF 3E 04 == Contents of file 6F 38 == Service 1: CHV1 disable function (not allocated, activated) Service 2: Abbreviated Dialling Numbers (allocated, activated) Service 3: Fixed Dialling Numbers (allocated, not activated) Service 4: Short Message Storage (not allocated, activated) Service 5: Advice of Charge (allocated, activated) Service 6: Capability Configuration Parameters (allocated, activated) Service 7: PLMN selector (not allocated, activated) Service 8: (RFU) (allocated, activated) Service 9: MSISDN (allocated, activated) Service 10: Extension1 (allocated, activated) Service 11: Extension2 (allocated, not activated) Service 12: SMS Parameters (not allocated, not activated) Service 13: Last Number Dialled (not allocated, not activated) Service 14: Cell Broadcast Message Identifier (allocated, activated) Service 15: Group Identifier Level 1 (allocated, not activated) Service 16: Group Identifier Level 2 (not allocated, not activated) Service 17: Service Provider Name (allocated, activated) Service 18: Service Dialling Numbers (allocated, activated) Service 19: Extension3 (allocated, activated) Service 20: (RFU) (allocated, activated) Service 21: VCGS Group Identifier List (not allocated, activated) Service 22: VBS Group Identifier List (allocated, activated) Service 23: enhanced Multi-Level Precedence and Pre-emption Service (allocated, activated) Service 24: Automatic Answer for emlpp (not allocated, not activated) Service 25: Data download via SMS-CB (not allocated, not activated) Service 26: Data download via SMS-PP (allocated, not activated) Service 27: Menu selection (not allocated, not activated) Service 28: Call control (not allocated, not activated) 7
9 The SIM service table shows the services understood by the SIM card. The standard requires a SIM to declare support for some services in its service table for the mobile equipment to be allowed to use them. For example, the ME is not allowed to send data from SMS cell broadcasts to the SIM (service 25), as it is not allocated. Every service is coded with two bits in the contents, so the 7 bytes listed in RESPONSE DATA constitute the 28 services seen above [5, , page 56]. Here, a fundamental difference between theory and practice is seen. The SIM card announces its SIM service table is only 7 bytes long, so the Proactive SIM service (service 29 [5, , page 56]) is not listed. This means the service must be regarded as being not allocated, and shall not be used by the ME yet as we will clearly see, the ME and SIM will both use it extensively. This is also true for the menu selection service, which is not allocated or activated in the SIM card; yet, the SIM card will soon set up this menu selection service itself, as we will see in a moment. When the mobile equipment has retrieved the SIM service table, it will send its own list of capabilities. A SIM with no proactive components has no need for this table, as it will only handle simple requests from the ME, never needing to know what the ME supports. Modern-day SIM cards can use this information to change their behaviour: for example, a phone without a display (capability 110) will not be able to display the messages. The following terminal profile table comes from a HTC Desire phone, with only the most interesting parts of the trace shown here. Note that while the SIM Service Table uses two bits for every capability, the Terminal Profile uses only one and therefore can store 8 capabilities in a byte. COMMAND: TERMINAL PROFILE COMMAND DATA: FF FF FF FF 1F DF D7 03 0A == Mobile Equipment SIM Toolkit Capabilities == Capability 1: Profile download (enabled) This first capability indicates the mobile equipment supporting the TERMINAL PROFILE command. Since it appears inside the data of the TERMINAL PROFILE command, one would assume this capability is always set. Following are some capabilities for the Proactive SIM set (most lines have been removed for the sake of compactness): Capability 2: SMS-PP data download (enabled) Capability 3: Cell Broadcast data download (enabled) Capability 4: Menu selection (enabled) Capability 5: SMS-PP data download (enabled) Capability 6: Timer expiration (enabled) Capability 16: Display Text (enabled) Capability 17: Proactive SIM: DISPLAY TEXT (enabled) Capability 18: Proactive SIM: GET INKEY (enabled) Capability 19: Proactive SIM: GET INPUT (enabled) Capability 20: Proactive SIM: MORE TIME (enabled) Capability 21: Proactive SIM: PLAY TONE (enabled) Capability 29: Proactive SIM: SET UP CALL (enabled) Capability 30: Proactive SIM: SET UP MENU (enabled) Capability 31: Proactive SIM: PROVIDE LOCAL INFORMATION (MCC, MNC, LAC, Cell ID & IMEI) (enabled) Capability 32: Proactive SIM: PROVIDE LOCAL INFORMATION (NMR) (enabled) Capability 59: Proactive UICC: PROVIDE LOCAL INFORMATION (date, time and time zone) (enabled) Capability 60: GET INKEY (enabled) Capability 61: SET UP IDLE MODE TEXT (enabled) Capability 62: RUN AT COMMAND (not enabled) Capability 63: SETUP CALL (enabled) Capability 64: Call Control by NAA (enabled) Capability 65: DISPLAY TEXT (enabled) 8
10 Capability 66: SEND DTMP command (enabled) Capability 67: Proactive UICC: PROVIDE LOCAL INFORMATION (NMR) (enabled) Capability 68: Proactive UICC: PROVIDE LOCAL INFORMATION (language) (not enabled) Capability 69: Proactive UICC: PROVIDE LOCAL INFORMATION (Timing Advance) (enabled) Capability 70: Proactive UICC: LANGUAGE NOTIFICATION (not enabled) Capability 71: Proactive UICC: LAUNCH BROWSER (enabled) Capability 72: Proactive UICC: PROVIDE LOCAL INFORMATION (Access Technology) (enabled) In the last entries of the trace above, the mobile equipment tells the SIM card what parts of the Proactive SIM/UICC standard it understands. After this, it tells the SIM some of its physical properties: Capability 97: CSD (not enabled) Capability 98: GPRS (not enabled) Capability 99: Bluetooth (not enabled) Capability 100: IrDA (not enabled) Capability 101: RS232 (not enabled) Capability 105: (Screen height) (not enabled) Capability 110: No display capability (not enabled) Capability 111: No keypad capability (not enabled) Capability 112: Screen Sizing Parameters (not enabled) Capability 113: (Screen width) (not enabled) Capability 120: Variable size fonts (not enabled) Capability 121: Display can be resized (not enabled) Capability 122: Text Wrapping supported (enabled) Capability 123: Text Scrolling supported (enabled) Capability 124: Text Attributes supported (not enabled) RESPONSE: SUCCESS (38 bytes of extra SIM Toolkit information in memory) Now that the SIM card has received the full capability set from the mobile equipment, it has enough information to send its first proactive command. It notifies the phone about this using the 91 XX response to the TERMINAL PROFILE command above, also containing the length of the SIM Toolkit message. The mobile equipment can now retrieve this message using the FETCH APDU, whose response will consist of TLV (Tag-Length-Value) objects [8, annex C, page 188]. 3.2 SIM Toolkit menu installation In this case, the mobile equipment advertised the capability for SIM Toolkit menus, so most observed SIM cards will now run a SET UP MENU command: COMMAND: FETCH RESPONSE: SUCCESS RESPONSE DATA: D D 65 6E E 61 6D 65 8F D F D == Proactive SIM command from SIM Toolkit to phone == Command details tag (comprehension required) Command sequence number: 1 Type of command: 25 (SET UP MENU) Command Qualifier: 00 (unknown) 9
11 Device identity tag (comprehension required) Source: SIM Destination: ME Alpha identifier tag (comprehension required) Alpha identifier: 4D 65 6E E 61 6D 65 As string: "Menu name" Item tag / ecat client identity (comprehension required) Item 80 : "Item 1" Item tag / ecat client identity (comprehension required) Item 81 : "Item 2" As can be seen above, the SIM sets up a SIM Toolkit menu called Menu name, with two items, each with an identifier and a label. This corresponds to the menu shown in figure 5. (a) HTC Desire (b) Nokia 3310 Figure 5: The example menu given above. As soon as the phone has set up the SIM Toolkit menu, it sends a success response to the SIM. It stores the menu for when the user requests it, but does not yet display anything. (For a menu that is immediately displayed, SELECT ITEM is used, as described in section ) COMMAND: C TERMINAL RESPONSE COMMAND DATA: == Response from phone to proactive SIM command from SIM Toolkit == Command details tag (comprehension required) Command sequence number: 1 Type of command: 25 (SET UP MENU) Command Qualifier: 00 (unknown) Device identity tag (comprehension not required) Source: ME Destination: SIM Result tag (comprehension not required) 10
12 Result: 00 (Command performed succesfully) Status: Succesfully performed Additional information: RESPONSE: SUCCESS The SIM responds with 90 00, which means there are no more proactive commands to send. The SIM Toolkit stack of the phone will now simply wait for incoming commands again, either from the user or from the SIM. 3.3 Menu selection The incoming command from the user comes when the user actually picks one of the menu items in the SIM Toolkit menu. When this happens, the mobile equipment sends an ENVELOPE APDU to the SIM with the menu selection tag: COMMAND: 80 C ENVELOPE (SMS Point-to-point or cell broadcast data download) COMMAND DATA: D == Command from ME / network to SIM == Type: D3 (Menu Selection) Device identity tag (comprehension not required) Source: Keypad Destination: SIM Item identifier tag / Encapsulated envelope type (comprehension not required) Item identifier: 80 RESPONSE: SUCCESS (37 bytes of extra SIM Toolkit information in memory) Item identifier 80 was chosen, which corresponds to the first entry in the list above. The SIM processes the choice, and usually will have new SIM Toolkit commands to respond or ask follow-up questions. In this example, the SIM responds with an input request, which pops up on the screen: COMMAND: FETCH RESPONSE: SUCCESS RESPONSE DATA: D D 14 F D F 6D E A == Proactive SIM command from SIM Toolkit to phone == Command details tag (comprehension required) Command sequence number: 1 Type of command: 23 (GET INPUT) Command Qualifier: 01 (Characters from SMS default alphabet; ME may echo user input on display; User input to be in unpacked format) Device identity tag (comprehension required) Source: SIM Destination: ME Text string tag (comprehension required) Encoding: F4 / 8-bit default SMS String: "Give me some input!" Response length tag (comprehension required) Length between 1 and 10 characters A dialog as shown in figure 6 appears on the screen, containing the text Give me some input! and an input field that follows the rules as laid down by the SIM card, allowing between 1 and 10 characters. 11
13 (a) HTC Desire (b) Nokia 3310 Figure 6: The GET INPUT screen after the above command. 12
14 Figure 7: The RebelSIM (to the right), connected to a HTC Desire phone. 4 Man-in-the-middle tools For reading along with the GSM traffic, eavesdropping tools are necessary, consisting of a hardware part that reads in on the traffic, and a software part that can interpret or modify it. In this section, I will describe some tools that are useful for eavesdropping the communication between the mobile equipment and the phone. Some of these tools are also able to modify the traffic as it flows, making many experiments possible. All of these tools are ultimately useful, in part due to their limitations. The RebelSIM tool only supports eavesdropping, it cannot change the traffic. However, it does work on all phones. The SmartLogicTool can change the traffic, but turns out only to work on old phones. Finally, the Bladox TurboSIM card can change traffic for all phones, but it cannot display what it changed. 4.1 RebelSIM The tool I started out with is the Rebel Simcard Scanner (figure 7), a $25 tool that relays traffic between the phone and the SIM card and allows eavesdropping over a serial connection1. It has several limitations: One cannot see the direction of the traffic; it must be derived using understanding of the protocol. (See also section 4.2 about SIMparser.pl below.) As the tool is directly connected to the analog line between SIM and phone, changing the traffic as it is sent is impossible. For the same reason, you ll have to know the baud rate of the communication. The baud rate is dependent on the clock frequency of the terminal (mobile equipment) and differs wildly. It can be determined using an oscilloscope or the SmartLogicTool, described below. If the baud rate is not set exactly to that of the communication, or the phone s clock is not very reliable, at some point the bit phase timing of the serial reader will be off and no communication or only garbage will be read. The communication between the SIM and the phone will still continue unharmed, but it will be invisible to the eavesdropper
15 4.2 SIMparser.pl The SIMparser.pl tool 2 is a Perl script that I wrote to interpret the output of the HTerm application 3. When using HTerm together with the RebelSIM hardware, the application delivers time-stamped output in the following format: 16:08:31.359: 00A400 16:08:31.359: 0402A46F 16:08:31.359: B Above this output, I added a personal header describing what the log was about and when I traced it. The SIMparser.pl tool would then analyse the log, and parse and describe the protocol. Since the RebelSIM Scanner tool does not show you where the bytes came from, an understanding of the protocol is necessary to figure out who sent what. For example, it depends on the specific smart card command sent by the mobile equipment whether additional data will be sent by the terminal or by the SIM card. The SIMparser.pl tool knows these protocol ambiguities and is able to provide a correct parsing of the above example: 0.000: COMMAND: 00 A SELECT file [P1=04?] COMMAND DATA: 6F B7 elementary file under dedicated file; ECC (Emergency Cell Codes) 0.000: RESPONSE: SUCCESS, 33 extra response bytes, use GET RESPONSE Here, the command as given above is split up between the command parts and the response parts, using the Command and Response APDUs as explained in section Also, the timing of the commands and responses is seen to the left. The tool recognises that the mobile equipment is asking for the ECC file that contains telephone numbers for the emergency services. 4.3 SmartLogic Tool The SmartLogic Tool [10] was developed by the Digital Security group at the Radboud University in Nijmegen, to be a general smartcard research tool that can easily be set up to do a man-in-the-middle attack. It uses a client-server architecture over IP, where the server directly interfaces with a single smart card, and multiple clients interfacing with terminals can connect to the server. This architecture allows relaying over the Internet, which has even been shown to work reliably on Dutch Chipknip money transfers [10] even though the Chipknip system is intended for simple point-of-sale transfers. For most purposes, it has succeeded in its goal. It is possible to write Java code that is imported into the SmartLogic Server to modify the traffic; in section A.1 an example of this code can be seen. Using this tool, it is relatively easy to research the effect of changes in the protocol. However, this tool is not without its problems. As it was originally intended and primarily tested as a tool for researching smart cards in financial contexts, it seems to be incapable to handle the high speeds of traffic normal in SIM communication. As the communication speeds get higher, the chances of bytes being misread increases, causing communication problems. On some older phones (notably the Nokia 3310) this does not pose a problem as the phone simply tries to send its commands again until it receives a valid response. However, on most smart phones this makes research impossible, as the phone simply decides the SIM is corrupt and does not re-attempt the communication. The tool is still very useful for determining the frequency of the mobile equipment clock. This frequency can be converted to a baud rate, which is needed to correctly eavesdrop the analog communications by
16 the RebelSIM. In my experience the clock frequencies reported by the SmartLogic Tool are a bit too high; for example, for the Nokia 3310 it reported a clock frequency of 3.25 MHz, leading to a standard baud rate of 8736 symbols per second. Eavesdropping the communication worked best when using a baud rate of 8600 symbols per second Configuring In my experience, the SmartLogic Tool is most easily configured on an Ubuntu machine, where most of the command-line tools needed are readily available in the repositories. The code of the SmartLogic Tool is available from Google Code 4. The client first initialises the SmartLogic Tool hardware by flashing its firmware, and then listening for incoming commands from the phone. Some changes to the server code are necessary to switch it to SIM card mode. After this, the client and the server can be put together using the -s flag to the client, and eavesdropping can begin. Also, Java code changes are possible in the server to modify the communication. The error Received 7 bytes of data, expected 9 bytes can be fixed by removing the file SmartLogic.ihx and running make. 4.4 Bladox TurboSIM The TurboSIM manufactured by Bladox 5 is a very thin SIM card sized chip with an ARM microcontroller. It has SIM contacts on both sides, and is typically placed in a mobile phone between the SIM and the terminal contacts, after which it can relay and modify the traffic. Applications written in C can be uploaded to it using the Bladox programmer. Out-of-the-box, it replaces the SIM Toolkit menu with its own, leaving the original menu accessable as a sub-menu option. After that, applications can add entries to the SIM Toolkit menu, provide substitute contents for files on the SIM and activate or deactivate SIM services. The Bladox TurboSIM is very useful to change any SIM Toolkit traffic, but due to its small size it has no way of displaying any communication. The following example application adds an entry to the SIM Toolkit menu, that simply displays a message when selected: Figure 8: SIM card cutting
17 #include <config.h> #include <turbo/turbo.h> u8 PROGMEM t_foo_en[] = "Hello World!"; void action_menu (void *data) { display_text_raw (t_foo_en, Q_DISPLAY_TEXT_USER_CLEAR); void turbo_handler (u8 action, void *data) { switch (action) { case ACTION_INSERT_MENU: insert_menu (t_foo_en); break; case ACTION_MENU_SELECTION: stk_thread (action_menu, data); break; default: break; 4.5 Active man-in-the-middle method To find out phone capabilities for any SIM Toolkit proactive commands, or exploit any security issues we find, we will need to send proactive commands to the phone using the SIM communication channel. But, since behaviour might be different when not connected to a network, and existing SIMs do not disclose their private keys which are required for contacting the network, we will also need to have a correct SIM card in the communication channel. Considering this, we need a way to use a working SIM in the phone, and still be able to inject SIM Toolkit traffic. As it turns out, this can be done using the SmartLogicTool described in section 4.3. We want to let the normal GSM traffic get through as always, but replace all SIM Toolkit traffic with our own. (The Bladox overlay as described in section 4.4 already does this on its own.) I will show that injecting SIM Toolkit is relatively easy, by describing the APDUs that need to be monitored or changed by a man-in-the-middle in order to modify the traffic. There are 6 APDUs, sent from mobile equipment to the SIM that specifically need to be modified or monitored: TERMINAL PROFILE in order to detect terminal capabilities and insert the first SIM Toolkit command FETCH in order to send our own SIM Toolkit commands TERMINAL RESPONSE in order to handle command results ourselves ENVELOPE in order to capture events and act upon them SELECT/READ BINARY in order to modify the SIM service table The first time the SIM sends SIM Toolkit traffic is when the phone sends the TERMINAL PROFILE APDU (section 3.1). The SIM card may respond to this APDU with SIM Toolkit traffic, by changing the normal success status word to 91 XX, where XX indicates the number of bytes of proactive SIM commands to send [8, section 6.3, page 34]. By intercepting this response, and changing it to send the number of bytes of SIM Toolkit traffic we want to send, the first step of SIM Toolkit traffic injection is set. 16
18 Next, we need to intercept any FETCH APDU, and prevent it from being sent to the SIM card which would activate the SIM Toolkit mechanism in the SIM. Instead of sending it to the SIM, the man-in-themiddle responds with its own SIM Toolkit proactive command in memory. The phone does not know the SIM Toolkit traffic did not actually come from the SIM card, and executes the command as always. Three steps still remain. First, the phone will at some point process the proactive command, and send a TERMINAL RESPONSE APDU to the SIM. Our man-in-the-middle needs to intercept this response, and handle it itself. This will allow subsequent messages to be sent from our own alternative SIM Toolkit stack. Second, messages from the phone, the user or the network to the SIM card may come in using the ENVELOPE APDU, which also needs to be sent to the alternative SIM Toolkit implementation. Also, some interesting procedures are triggered by services in the SIM Service Table (section 3.1), so a man-in-the-middle that needs to change the service table must watch SELECT commands until the service table is selected, then replace the contents with its own. Lastly, the alternative implementation must change any status word to 91 XX when it has a proactive command to send, and any 91 XX from the SIM must first be changed to or 91 YY (where YY is the correct size of the waiting command) to prevent de-synchronisation between the phone and the alternative SIM stack. 17
19 Figure 9: A DISPLAY TEXT command executed by a Nokia 3310 phone. 5 SIM Toolkit capabilities In this section, I will examine some real-world capabilities of the SIM Toolkit standard. For sending any commands in this section, I used the approach described in section 4.5. The commands described are proactive SIM commands, displayed in their raw byte form, tested in practice using the SmartLogic Tool described in User communication First, we focus on SIM Toolkit proactive commands to let the SIM communicate with the user via the mobile equipment Display text The most simple SIM Toolkit command to display is the DISPLAY TEXT command, which is intended for displaying a message on the phone display; see figure 9 for an example. In raw byte form, it looks like this: D0 3F ; This is a proactive command of length 0x3f ; The command is DISPLAY TEXT, high priority, wait for user 18
20 ; It was sent from the SIM to the display 8D ; Encoding is 8-bit default SMS (ASCII), message: C 6C 6F F 72 6C D 20 ; "Hello world! I am " 61 6E C E D ; "an alternative SIM" F 6F 6C 6B B 2E ; " Toolkit stack." Set up menu SET UP MENU is typically sent at the start of every SIM Toolkit session as described in section 3.2. It installs a SIM Toolkit menu in the phone that the user can access himself, and contains a list of items and their identifiers to report back later. An example can be seen in section 3.2. When a SET UP MENU is sent, the terminal immediately responds with a TERMINAL PROFILE, usually indicating acceptance of the menu. This does not mean a selection has been made: selections will come in through an ENVELOPE with the menu selection tag set. If such an ENVELOPE comes in and the SIM card wants a new sub-menu to be displayed, this is done through the SELECT ITEM proactive command in response to the ENVELOPE (see section 5.1.3). Such a submenu is typically displayed in the same way as the main menu Select item A SELECT ITEM proactive command causes the mobile equipment to present a menu with pre-defined options to the user. Once the user makes a choice, it is sent back to the SIM in a TERMINAL RESPONSE. The difference with the SET UP MENU command is that the latter does not immediately show on the screen, but is cached in phone memory until the user explicitly requests it. Usually, the two menus do look the same on the mobile equipment screen. D0 1B ; This is a proactive command of length 0x1b ; The command is SELECT ITEM ; It was sent from the SIM to the display 8F 07 AB ; Item with unique identifier 0xab D ; "Item 1" 8F 07 AC ; Item with unique identifier 0xac D ; "Item 2" 5.2 Network communication In this section, I will describe some SIM Toolkit proactive commands to get information about or communicate with the network. This can be useful for SIM Toolkit applications to call-back to the operator to execute user-requested commands Provide local information A SIM Toolkit command that provides active network information is PROVIDE LOCAL INFORMATION, using which the SIM card can gather information like the unique identifier of the phone, the date and time and battery state [2, page 28, ]. Also, the network cell ID and timing advancement of the GSM protocol can be requested, using which the phone location can be derived. Two examples of the PROVIDE LOCAL INFORMATION command follow: D0 09 ; This is a proactive command of length 0x ; The command is PROVIDE LOCAL INFORMATION (Network info) ; It was sent from the SIM to the mobile equipment 19
21 D0 09 ; This is a proactive command of length 0x ; The command is PROVIDE LOCAL INFORMATION (IMEI number) ; It was sent from the SIM to the mobile equipment The terminal responds with TERMINAL RESPONSE with the requested information. The coding of the MCC/MNC is as in 3GPP TS [3], in this case the mobile country code is 204, the network code is 08, which in this case means the network is KPN in the Netherlands ; Response to PROVIDE LOCAL INFORMATION (Network info) request ; Sent from the mobile equipment to the SIM ; Result: 0 (success) ; Requested information: 02 F4 80 ; Mobile Country/Network Code 11 7F ; Local Area Code ; Cell ID ; Response to PROVIDE LOCAL INFORMATION (IMEI number) request ; Sent from the mobile equipment to the SIM ; Result: 0 (success) ; Requested information: IMEI number 3A Send short message To send SMS messages, there is a SEND SHORT MESSAGE command. It contains a SMS TPDU, the format used in the GSM protocol to describe the destination, parameters and contents of the message. Also, an alpha identifier is optional and will be displayed on the phone if set. If an alpha identifier is given and has a length of zero, the phone may not give an indication to the user that a message is being sent. This works as described on the HTC Desire, but the Nokia 3310 asks the user for permission whatever the value of the alpha identifier. An example of a SEND SHORT MESSAGE with an alpha identifier follows: D0 2D ; This is a proactive command with length 0x2d ; Message type is 0x13 (SEND SHORT MESSAGE) 00 ; Packing is not required ; Command from UICC to terminal 85 0F ; Alpha identifier: "Visible message" C D B 11 ; Beginning of the SMS TPDU, length 0x11 31 ; 0b0011_0001 ; ^^ TP-MTI: SMS-SUBMIT (send an SMS message) ; ^ TP-RD: Don t accept duplicates ; ^ ^ TP-VPF: validity period starts counting now ; ^ TP-SRR: don t send a status report ; ^ TP-UDHI: no headers in the user data ; ^ TP-RP: no Reply-Path in this SUBMIT 00 ; TP-MR: message sequence number, will be set by ME 0b ; TP-Destination-Address, number of semi-octets in number 91 ; TP-Destination-Address, type = international telephone nr ; TP-Destination-Address: (so the number used F8 ; TP-Destination-Address: is ) 00 ; TP-Protocol-Identifier: standard MS to SMSC transfer 00 ; TP-Data-Coding-Scheme: standard 7-bit encoding
22 AA ; TP-Validity-Period: 4 days 03 ; TP-User-Data-Length: 3 septets C8 77 1A ; "H o i" The message will be sent to the SMS center, which will accept or deny the message. The mobile equipment will interpret the SMS center response and send it to the SIM in a TERMINAL RESPONSE; an example of a successful and an error response are given here: ; This is a response to your SEND SHORT MESSAGE (message 0x05) ; It is being sent from terminal to UICC ; Result: Command was executed succesfully ; Result: Failure: SMS RP-ERROR 15 ; reason code 21 "Short message transfer rejected" Set up call Using the SET UP CALL proactive command, the SIM can request the terminal to call a specific number. The SIM Toolkit standard allows the phone to confirm setting up the call with the user [8, section ]. Unfortunately, I cannot give a trustworthy listing of actual bytes that were sent, because of an equipment failure before this thesis was printed. However, the following code for the Bladox TurboSIM was tested to succesfully ask the terminal to set up a call to the number in t ms: #include <config.h> #include <turbo/turbo.h> #include "utils.h" u8 PROGMEM t_menuname_en[] = "Set up call"; u8 PROGMEM t_ms[] = " "; // <-- Phone number here void action_menu (void *data) { u8 *address = str2msisdn(t_ms, MSISDN_ADN, MEM_R); set_up_call(address, MSISDN_ADN, ""); free(address); void turbo_handler (u8 action, void *data) { switch (action) { case ACTION_INSERT_MENU: insert_menu (t_menuname_en); break; case ACTION_MENU_SELECTION: stk_thread (action_menu, data); break; default: break; Call control The SIM Service Table described in section 3.1 has a service called Call Control (#28). When this service is enabled, the terminal is required to ask the SIM card for confirmation for every outgoing call [8, section ] using the ENVELOPE command [8, section ]. The SIM card can respond with status code 21
23 90 00 to allow the call, to deny the call, or 9F XX with 0xXX bytes of further response data. If response data is sent, it itself also contains a byte to control whether the ME is allowed to set up the call with the given parameters, whether it is not allowed, or whether the parameters will change. For example, the following code for the Bladox TurboSIM will disallow any call set-up requests by the mobile equipment: #include <config.h> #include <turbo/turbo.h> #include "utils.h" u8 PROGMEM t_ms[] = " "; u8 PROGMEM ef_sst[] = { 0x6f, 0x38 ; void fake_sim_file(file_apdu_data *fa) { // When the sim service table contents are requested, we return the full // service table of the SIM with two bits forcibly set to 1. if(fa->ins == ME_CMD_READ_BINARY) { u8 *servicetable = sim_sst(); // first byte is the length if(servicetable[0] >= 7) { // the service table is long enough to contain service 28 Call Control, // enable it servicetable[7] = servicetable[7] & 0x03; memcpy(fa->data, servicetable + 1, servicetable[0]); fa->data[fa->p3] = 0x90; fa->data[fa->p3 + 1] = 0x00; else if(fa->prev_ins == ME_CMD_ENVELOPE && fa->ins == ME_CMD_GET_RESPONSE) { u8 *r = buf_b(); r[0] = 0x01; // deny call r[1] = 0x07; // length r[2] = B ; r[3] = a ; r[4] = d ; r[5] = ; r[6] = n ; r[7] = u ; r[8] = m ; r[9] = 0x90; r[10] = 0x00; void turbo_handler (u8 action, void *data) { switch (action) { case ACTION_APP_INIT: reg_file(ef_sst, 1); reg_action(action_call_control); break; case ACTION_FILE_APDU: fake_sim_file(data); break; case ACTION_CALL_CONTROL: 22
24 retval(0x9f09); break; default: break; Events Events are a way for the SIM card to get immediate notice of a changing environment, without it having to ask every so-many seconds. A SIM Toolkit application uses the SET UP EVENT LIST proactive command to notify the mobile equipment of what events it is interested in, and when the action is triggered, an ENVELOPE is sent to the SIM with the action parameters. For example, a LOCATION CHANGED ENVELOPE will be sent containing the new location. Due to an equipment failure the actual protocol bytes cannot be given here, but the following code for the Bladox TurboSIM card registers the LOCATION CHANGED event and every time the event is triggered, the application displays a message using DISPLAY TEXT: #include <config.h> #include <turbo/turbo.h> #include "utils.h" u8 PROGMEM t_loc_changed_en[] = "Location changed"; void event_location (void *data) { display_text_raw(t_loc_changed_en, Q_DISPLAY_TEXT_HIGH_PRIORITY); void turbo_handler (u8 action, void *data) { switch (action) { case ACTION_APP_INIT: // If ACTION_EVENT_* is registered during ACTION_APP_INIT, // the event list to the ME is automatically updated. Otherwise, // set_up_event_list() is needed. reg_action(action_event_location_status); break; case ACTION_EVENT_LOCATION_STATUS: stk_thread (event_location, data); break; default: break; 23
25 6 Security implications of SIM Toolkit In this section, I will describe several attacks that the SIM Toolkit standard makes possible. As the traffic between the mobile equipment and the SIM card is unencrypted, including the SIM Toolkit messages, it is easy to read and modify the traffic once a man-in-the-middle is in place. This man-in-the-middle is easy to create using the thin Bladox TurboSIM card overlay as in section 4.4. Therefore, with hardware like this and firmware/software as described in 4.5, the attacks in this section become viable. The TurboSIM has to be placed between the contacts of the mobile equipment and the SIM card, and will change the traffic as described in the subsections below. 6.1 Denial of service Using SIM Toolkit, messages can be displayed that fill the phone screen until the user explicitly dismisses them. By doing this in a loop, messages can block the screen forever causing a denial of service. In section 5.1.1, an example of the DISPLAY TEXT command is shown that has the high priority and wait for user bits set. This means the message must fill the screen and the user must explicitly dismiss them. When the user dismisses the message, either by pressing the back button, the OK button or some other facility on the phone, the phone sends a TERMINAL RESPONSE command back to the SIM card. An alternative SIM toolkit stack could re-send the same DISPLAY TEXT command in response to the TERMINAL RESPONSE, and cause an infinite loop and a denial of service. (Example code for the SmartLogicTool to this effect can be seen in section A.1.) 6.2 Disclose private information Using SIM Toolkit, the connected network cell can be requested, which can be translated into a geographical location using freely available tools. Combined with the ability to send text messages, this could allow an attacker to track the location of a victim. The PROVIDE LOCAL INFORMATION command described in section will cause the mobile equipment to respond with the connected network and cell ID, which when combined make up an unique identifier for a certain cell in the network. When these two numbers are sent to an attacker using the SEND SHORT MESSAGE (section 5.2.2) command, an attacker can see the location of a victim with an accuracy of a few kilometers, or less in populated areas. When combined with the location changed event described in section 5.2.5, an attacker can increase this accuracy and closely follow the victim. 6.3 Man-in-the-middle on calls Using the call control service provided by SIM Toolkit (section 5.2.4), a SIM card can control all outgoing calls made by the mobile equipment, and block or re-route the call. This makes it possible to eavesdrop on a victim s calls, by re-routing all interesting calls to an eavesdropping telephone number that also transparently forwards the call. 6.4 Using up credit A SIM Toolkit application can use up credit or cause a high bill by sending SMS messages in a loop. This can be done using the SEND SHORT MESSAGE command described in section This can be hidden from the user, causing him to only notice the used up credit much later. 6.5 Forward authentication codes Depending on the phone, a SIM Toolkit application may be able to receive and check incoming SMS messages, and forward them silently to an eavesdropping number. When a victim uses SMS messages to authenticate himself, for example to do a bank transaction, these can be caught and forwarded, facilitating identity fraud. 24
26 7 Conclusions In this thesis, I gave a thorough explanation with examples of how SIM Toolkit works and what applications on the SIM card can do with it. In my words, the goal of the SIM Toolkit was to allow the SIM to gain value-added services, by allowing applications on the SIM to communicate with the user and the network. Using the proactive commands standardised in the SIM Toolkit standard and described in this thesis, this goal is succesfully fulfilled. However, in this thesis, I have also shown that the possibilities of the SIM Toolkit standard can be turned into risks when it is possible to gain control over the communication between the mobile equipment and the SIM (see section 6): from mere april s fools jokes like constantly hogging the phone screen with a message, making it unable to use, to serious privacy issues like following a victim s location or eavesdropping on his outgoing calls as they are made. Because the GSM standards of which the SIM Toolkit standard are a part are complex and with thousands of pages can be difficult to browse, I hope this thesis will be useful for people starting to develop using the SIM Toolkit. Using the tools described and the examples provided, one can quickly start developing and testing. Especially the SIMParser tool (section 4.2) I created that automatically explains SIM card traffic eavesdropped by the RebelSIM hardware (section 4.1) will hopefully be helpful to quickly familiarize oneself with the protocol, and see the result of various experiments on the SIM card and the phone. Looking back on the past year, there are a number of observations I can make. First of all, I did not expect to have a large section with multiple tools to use to eavesdrop and change the communication: at that point, the SmartLogic Tool developed by the Digital Security department of the Radboud University Nijmegen looked very promising and was described to be able to do everything I needed for this thesis. However, it turned out it began to fail on higher communication speeds used by mobile phones. Together with the original author of the device, I searched why this could be, but we did not find a solution after spending too long searching and I had to combine it with other tools to continue with the thesis. I also spent a lot of time learning about parts of the SIM protocol, and this has been very useful for writing the SIMparser tool, but still took me very long even though it was only background knowledge for this thesis. Even worse, after two months I found out there had been a newer version of this protocol I had never seen, which was difficult at that point to write into the SIMparser. I did eventually succeed here, but it would have been better to ask someone who knew about this in advance. Reading a lot of SIM Toolkit standards has also been even more difficult than I had imagined before. I knew they were large, but sometimes I nearly gave up after browsing through them for half an hour without finding the technical data I was looking for. However, eventually I could succesfully eavesdrop, interpret and modify existing SIM Toolkit traffic and figured out how the protocol worked in practice. References [1] [2] 3GPP. Universal Subscriber Identity Module (USIM) Application Toolkit (USAT), , version , see [3] 3GPP. Mobile radio interface Layer 3 specification; Core network protocols; Stage 3, , version , see [4] European Telecommunications Standards Institute, France. Specifications of the SIM-ME interface, The first version of the GSM TS still publicly available on the Internet: org/deliver/etsi_gts/11/1111/ _60/gsmts_1111sv031600p.pdf. [5] European Telecommunications Standards Institute, France. Digital cellular telecommunications system (Phase 2+); Specification of the Subscriber Identity Module - Mobile Equipment (SIM - ME) interface, GSM [6] European Telecommunications Standards Institute, France. Digital cellular communications system (Phase 2+); Specification of the SIM Application Toolkit for the Subscriber Identity Module - Mobile 25
27 Equipment (SIM - ME) interface, The first version of the GSM STK TS still publicly available on the Internet. [7] European Telecommunications Standards Institute, France. Digital cellular telecommunications system (Phase 2+); Specification of the SIM application toolkit for the Subscriber Identity Module - Mobile Equipment (SIM - ME) interface, GSM [8] European Telecommunications Standards Institute. Smart Cards: Card Application Tookit (CAT), The standard for the card application toolkit: _102299/102223/ _60/ts_102223v100500p.pdf. [9] European Telecommunications Standards Institute. Smart Cards; UICC-Terminal Interface; Physical and logical characteristics, The standard for SIM-ME communication: org/deliver/etsi_ts/102200_102299/102221/ _60/ts_102221v100000p.pdf. [10] Joeri de Ruiter Gerhard de Koning Gans. The SmartLogic Tool: Analysing and Testing Smart Card Protocols. PhD thesis, Institute for Computing and Information Sciences, Radboud University Nijmegen, pdf. [11] International Organization for Standardization (ISO), ISO copyright office, Geneva. Identification cards Integrated circuit cards, Reference number ISO/IEC [12] Konstantinos Markantonakis Keith Mayes. Smart Cards, Tokens, Security and Applications. Springer Science + Business Media, LLC., ISBN:
28 A Code A.1 SmartLogicTool man-in-the-middle code public interface SimToolkitStack { public boolean proactivecommandsavailable(); public byte proactivecommandlength(); public byte[] fetch(); public void envelope(byte[] envelope); public void terminalresponse(byte[] response); public void terminalprofile(byte[] profile); public byte[] simservicetable(byte[] realsst); ; public class SimToolkitStackDefault implements SimToolkitStack { // TS v public static final byte STK_CMD_REFRESH = 0x01; public static final byte STK_CMD_MORE_TIME = 0x02; public static final byte STK_CMD_POLL_INTERVAL = 0x03; public static final byte STK_CMD_POLLING_OFF = 0x04; public static final byte STK_CMD_SETUP_EVENT_LIST = 0x05; public static final byte STK_CMD_SET_UP_CALL = 0x10; public static final byte STK_CMD_SEND_SS = 0x11; public static final byte STK_CMD_SEND_USSD = 0x12; public static final byte STK_CMD_SEND_SHORT_MESSAGE = 0x13; public static final byte STK_CMD_SEND_DTMF = 0x14; public static final byte STK_CMD_LAUNCH_BROWSER = 0x15; public static final byte STK_CMD_GEOGRAPHICAL_LOCATION_REQUEST = 0x16; public static final byte STK_CMD_PLAY_TONE = 0x20; public static final byte STK_CMD_DISPLAY_TEXT = 0x21; public static final byte STK_CMD_GET_INKEY = 0x22; public static final byte STK_CMD_GET_INPUT = 0x23; public static final byte STK_CMD_SELECT_ITEM = 0x24; public static final byte STK_CMD_SET_UP_MENU = 0x25; public static final byte STK_CMD_PROVIDE_LOCAL_INFO = 0x26; public static final byte STK_CMD_TIMER_MANAGEMENT = 0x27; public static final byte STK_CMD_SETUP_IDLE_MODE_TEXT = 0x28; public static final byte STK_CMD_CARD_APDU = 0x30; public static final byte STK_CMD_POWER_ON_CARD = 0x31; public static final byte STK_CMD_POWER_OFF_CARD = 0x32; public static final byte STK_CMD_GET_READER_STATUS = 0x33; public static final byte STK_CMD_RUN_AT_COMMAND = 0x34; public static final byte STK_CMD_LANG_NOTIFICATION = 0x35; public static final byte STK_CMD_OPEN_CHANNEL = 0x40; public static final byte STK_CMD_CLOSE_CHANNEL = 0x41; public static final byte STK_CMD_RECEIVE_DATA = 0x42; public static final byte STK_CMD_SEND_DATA = 0x43; public static final byte STK_CMD_GET_CHANNEL_STATUS = 0x44; public static final byte STK_CMD_SERVICE_SEARCH = 0x45; public static final byte STK_CMD_GET_SERVICE_INFORMATION = 0x46; public static final byte STK_CMD_DECLARE_SERVICE = 0x47; public static final byte STK_CMD_SET_FRAMES = 0x50; public static final byte STK_CMD_GET_FRAMES_STATUS = 0x51; public static final byte STK_CMD_RETRIEVE_MM = 0x60; public static final byte STK_CMD_SUBMIT_MM = 0x61; 27
29 public static final byte STK_CMD_DISPLAY_MM = 0x62; public static final byte STK_CMD_ACTIVATE = 0x70; public static final byte STK_CMD_CONTACTLESS_STATE_CHANGED = 0x71; public static final byte STK_CMD_COMMAND_CONTAINER = 0x72; public static final byte STK_CMD_ENCAPSULATED_SESSION_CONTROL = 0x73; public static final byte STK_CMD_END_OF_PROACTIVE_SESSION = (byte)0x81; // ETSI TS v (pg 14) public static final byte STK_TAG_PROACTIVE = (byte)0xd0; public static final byte STK_TAG_COMPREHENSION_REQUIRED = (byte)0x80; public static final byte STK_TAG_COMMAND_DETAILS = (byte)0x01; public static final byte STK_TAG_DEVICE_IDENTITIES = (byte)0x02; public static final byte STK_TAG_RESULT = (byte)0x03; public static final byte STK_TAG_DURATION = (byte)0x04; public static final byte STK_TAG_ALPHA_IDENTIFIER = (byte)0x05; public static final byte STK_TAG_ADDRESS = (byte)0x06; public static final byte STK_TAG_CAPABILITY_CONFIGURATION_PARAMETERS = (byte)0x07; public static final byte STK_TAG_CALLED_PARTY_SUBADDRESS = (byte)0x08; public static final byte STK_TAG_SS_STRING = (byte)0x09; public static final byte STK_TAG_SMS_TPDU = (byte)0x0b; public static final byte STK_TAG_CELL_BROADCAST_PAGE = (byte)0x0c; public static final byte STK_TAG_TEXT_STRING = (byte)0x0d; public static final byte STK_TAG_TONE = (byte)0x0e; public static final byte STK_TAG_ECAT_CLIENT_PROFILE = (byte)0x0e; public static final byte STK_TAG_ITEM = (byte)0x0f; public static final byte STK_TAG_ECAT_CLIENT_IDENTITY = (byte)0x0f; public static final byte STK_TAG_ITEM_IDENTIFIER = (byte)0x10; public static final byte STK_TAG_ENCAPSULATED_ENVELOPE = (byte)0x10; public static final byte STK_TAG_RESPONSE_LENGTH = (byte)0x11; public static final byte STK_TAG_FILE_LIST = (byte)0x12; public static final byte STK_TAG_LOCATION_INFORMATION = (byte)0x13; public static final byte STK_TAG_IMEI = (byte)0x14; // and many more // TS v page 139 (section 8.7) public static final byte STK_DEVICE_KEYPAD = (byte)0x01; public static final byte STK_DEVICE_DISPLAY = (byte)0x02; public static final byte STK_DEVICE_EARPIECE = (byte)0x03; public static final byte STK_DEVICE_ADDT_CARD_READER = (byte)0x10; // + card reader id (0 to 7) public static final byte STK_DEVICE_CHANNEL_IDENTIFIER = (byte)0x20; // + channel id (1 to 7) public static final byte STK_DEVICE_ECAT_CLIENT_IDENTIFIER = (byte)0x30; // + client id (1 to 15) public static final byte STK_DEVICE_UICC = (byte)0x81; public static final byte STK_DEVICE_TERMINAL = (byte)0x82; public static final byte STK_DEVICE_NETWORK = (byte)0x83; public String devicetostring(byte device) { switch(device) { case STK_DEVICE_KEYPAD: return "Keypad"; case STK_DEVICE_DISPLAY: return "Display"; case STK_DEVICE_EARPIECE: return "Earpiece"; case STK_DEVICE_ADDT_CARD_READER: case STK_DEVICE_ADDT_CARD_READER+1: case STK_DEVICE_ADDT_CARD_READER+2: 28
30 case STK_DEVICE_ADDT_CARD_READER+3: case STK_DEVICE_ADDT_CARD_READER+4: case STK_DEVICE_ADDT_CARD_READER+5: case STK_DEVICE_ADDT_CARD_READER+6: case STK_DEVICE_ADDT_CARD_READER+7: return "Additional card reader " + (device - STK_DEVICE_ADDT_CARD_READER); case STK_DEVICE_CHANNEL_IDENTIFIER: case STK_DEVICE_CHANNEL_IDENTIFIER+1: case STK_DEVICE_CHANNEL_IDENTIFIER+2: case STK_DEVICE_CHANNEL_IDENTIFIER+3: case STK_DEVICE_CHANNEL_IDENTIFIER+4: case STK_DEVICE_CHANNEL_IDENTIFIER+5: case STK_DEVICE_CHANNEL_IDENTIFIER+6: case STK_DEVICE_CHANNEL_IDENTIFIER+7: return "Channel identifier " + (device - STK_DEVICE_CHANNEL_IDENTIFIER); case STK_DEVICE_ECAT_CLIENT_IDENTIFIER: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+1: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+2: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+3: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+4: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+5: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+6: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+7: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+8: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+9: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+10: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+11: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+12: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+13: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+14: case STK_DEVICE_ECAT_CLIENT_IDENTIFIER+15: return "ecat client identifier " + (device - STK_DEVICE_ECAT_CLIENT_IDENTIFIER); case STK_DEVICE_UICC: return "UICC (SIM)"; case STK_DEVICE_TERMINAL: return "Terminal (ME)"; case STK_DEVICE_NETWORK: return "Network"; default: return "Unknown device " + device; protected byte[] nextmessage = {; protected byte sequence = 1; protected void buildnextmessage(byte type, byte qualifier) { if(nextmessage.length!= 0) { System.out.println("Warning: buildnextmessage() called " +"while nextmessage already present."); byte[] next = {STK_TAG_PROACTIVE, 0x00, /* length will be set later */ STK_TAG_COMMAND_DETAILS ^ STK_TAG_COMPREHENSION_REQUIRED, 0x03, sequence++, type, qualifier; nextmessage = next; nextmessage[1] = (byte)(nextmessage.length - 2); protected void adddeviceidentities(byte source, byte destination) { byte[] params = {source, destination; 29
31 addtagtomessage(stk_tag_device_identities, true, params); protected void addtexttag(string text) { byte[] string = text.getbytes(); byte[] params = new byte[string.length + 1]; params[0] = 0x04; System.arraycopy(string, 0, params, 1, string.length); addtagtomessage(stk_tag_text_string, true, params); protected void addalphaidentifier(string text) { byte[] string = text.getbytes(); addtagtomessage(stk_tag_alpha_identifier, true, string); protected void additemtag(byte tag, String text) { byte[] string = text.getbytes(); byte[] params = new byte[string.length + 1]; params[0] = tag; System.arraycopy(string, 0, params, 1, string.length); addtagtomessage(stk_tag_item, true, params); protected void addtagtomessage(byte tag, boolean comprehension_required, byte[] parameters) { if(nextmessage.length == 0) { System.out.println("Warning: addtagtomessage() called while " +"nextmessage not present."); return; if(comprehension_required) tag ^= STK_TAG_COMPREHENSION_REQUIRED; byte[] prevmessage = nextmessage; nextmessage = new byte[prevmessage.length + parameters.length + 2]; System.arraycopy(prevMessage, 0, nextmessage, 0, prevmessage.length); int pos = prevmessage.length; nextmessage[pos] = tag; nextmessage[pos+1] = (byte)parameters.length; System.arraycopy(parameters, 0, nextmessage, pos + 2, parameters.length); nextmessage[1] = (byte)(nextmessage.length - 2); public boolean proactivecommandsavailable() { return proactivecommandlength()!= 0; public byte proactivecommandlength() { return (byte)nextmessage.length; public byte[] fetch() { byte[] next = nextmessage; byte[] empty = {; nextmessage = empty; return next; public void envelope(byte[] envelope) { public void terminalresponse(byte[] response) { public void terminalprofile(byte[] profile) { 30
32 ; public byte[] simservicetable(byte[] realsst) { return realsst; /** * SimToolkitStackMessage - Constantly display an on-screen message. On some * phones, this has the effect of a denial of service. */ public class SimToolkitStackMessage extends SimToolkitStackDefault { private String text; SimToolkitStackMessage(String t) { this.text = t; public void terminalprofile(byte[] profile) { if(profile.length < 3) { System.out.println("Warning: terminalprofile is too short " +"for Proactive SIM. Trying anyway."); else { byte proactivesupport = profile[2]; System.out.println("Proactive support byte: " + proactivesupport); if((proactivesupport >>> 7) == 1) { System.out.println("DISPLAY TEXT is supported in terminalprofile."); else { System.out.println("DISPLAY TEXT is NOT supported " +"in terminalprofile. Trying anyway."); buildnextmessage(stk_cmd_display_text, (byte)0x81); adddeviceidentities(stk_device_uicc, STK_DEVICE_DISPLAY); addtexttag(this.text); ; /** * Don t remove the next message on fetch() */ public byte[] fetch() { return nextmessage; 31
3GPP TSG SA WG3 Security S3#30 S3-030534 6-10 October 2003 Povoa de Varzim, Portugal. Abstract
3GPP TSG SA WG3 Security S3#30 S3-030534 6-10 October 2003 Povoa de Varzim, Portugal Source: Gemplus, Oberthur, Schlumberger Title: Over-The-Air (OTA) technology Document for: Discussion and decision Agenda
An Example of Mobile Forensics
An Example of Mobile Forensics Kelvin Hilton K319 kchilton@staffsacuk [email protected] www.soc.staffs.ac.uk/kch1 Objectives The sources of evidence The subscriber The mobile station The network
The SmartLogic Tool: Analysing and Testing Smart Card Protocols
The SmartLogic Tool: Analysing and Testing Smart Card Protocols Gerhard de Koning Gans, Joeri de Ruiter Digital Security, Radboud University Nijmegen The SmartLogic Tool A tool to analyse, emulate and
Firmware version: 1.10 Issue: 7 AUTODIALER GD30.2. Instruction Manual
Firmware version: 1.10 Issue: 7 AUTODIALER GD30.2 Instruction Manual Firmware version: 2.0.1 Issue: 0.6 Version of the GPRS transmitters configurator: 1.3.6.3 Date of issue: 07.03.2012 TABLE OF CONTENTS
SMS Fuzzing SIM Toolkit Attack
SMS Fuzzing SIM Toolkit Attack Bogdan Alecu [email protected] www.m-sec.net Abstract In this paper I will show how to make a phone send an SMS message without the user s consent and how to make the phone
Protocol of the Communication between SIM and mobile phone
Protocol of the Communication between SIM and mobile phone This protocol oft the layer 7 (application layer) and the layer 2 (data transmission layer) was made with an Siemens SL55 mobile phone in the
ETSI TS 102 223 V9.0.0 (2009-10) Technical Specification. Smart Cards; Card Application Toolkit (CAT) (Release 9)
TS 102 223 V9.0.0 (2009-10) Technical Specification Smart Cards; Card Application Toolkit (CAT) (Release 9) 2 TS 102 223 V9.0.0 (2009-10) Reference RTS/SCP-T003r08av900 Keywords smart card 650 Route des
WA Manager Alarming System Management Software Windows 98, NT, XP, 2000 User Guide
WA Manager Alarming System Management Software Windows 98, NT, XP, 2000 User Guide Version 2.1, 4/2010 Disclaimer While every effort has been made to ensure that the information in this guide is accurate
T-BOXN12R. First steps with T-BOXN12R. You can make it wireless. Date: 2004-07-16 Version 1.0
T-BOXN12R You can make it wireless First steps with T-BOXN12R Date: 2004-07-16 Version 1.0 Content 1. Purpose of this document... 3 2. T-BoxN12R overview... 4 3. First step... 5 3.1. Preparing your workshop
Device Implementation Guidelines
Device Implementation Guidelines June 2013 Secure element architects for today s generation Device Implementation Guidelines 2 Document History Version Date Editor Remarks 1.1 07/06/2013 Handset Task Force
Nokia E61i Configuring connection settings
Nokia E61i Configuring connection settings Nokia E61i Configuring connection settings Legal Notice Copyright Nokia 2007. All rights reserved. Reproduction, transfer, distribution or storage of part or
Open Mobile API Test Specification for Transport API
Open Mobile Test Specification for Transport V1 Copyright 2014 SIMalliance ltd. The information contained in this document may be used, disclosed and reproduced without the prior written authorization
Configuring connection settings
Configuring connection settings Nokia E90 Communicator Configuring connection settings Nokia E90 Communicator Configuring connection settings Legal Notice Nokia, Nokia Connecting People, Eseries and E90
SIM CARD PROTOCOLS. This paper attempts in broad strokes to outline the construction of these protocols and how they are used.
SIM CARD PROTOCOLS Though rarely thought about by most users their mobile phone contains a remarkable computing device that enables them to go about their business of making calls, text messaging or playing
Error and Confirmation Codes
Error and Confirmation s The following two tables list the error and confirmation codes that can be returned within SMS replies or notifications. Table 14: Error s 8 008 10 00A 21 015 27 01B 28 01C 29
Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation
Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation Nokia E70 Configuring connection settings Nokia E70 Configuring connection settings Legal Notice Copyright Nokia 2006. All
Technical Specifications (GPGPU)
TS 131 116 V6.7.0 (2005-03) Technical Specification Digital cellular telecommunications system (Phase 2+); Universal Mobile Telecommunications System (UMTS); Remote APDU Structure for (Universal) Subscriber
9236245 Issue 2EN. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation
9236245 Issue 2EN Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation Nokia 9300 Configuring connection settings Legal Notice Copyright Nokia 2005. All rights reserved. Reproduction,
Nokia for Business. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation
Nokia for Business Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation Nokia E50 Configuring connection settings Nokia E50 Configuring connection settings Legal Notice Copyright
Insert a smart card and push the Test button, if the card is working you can see the reset response:
For extracting SIM-card data you need to have a working PC/SC compatible smart card reader. PC/SC is for chip card readers like Printer & Fax management for printers: it separates hardware from applications
3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management
What is an? s Ten Most Critical Web Application Security Vulnerabilities Anthony LAI, CISSP, CISA Chapter Leader (Hong Kong) [email protected] Open Web Application Security Project http://www.owasp.org
Lab Exercise SSL/TLS. Objective. Requirements. Step 1: Capture a Trace
Lab Exercise SSL/TLS Objective To observe SSL/TLS (Secure Sockets Layer / Transport Layer Security) in action. SSL/TLS is used to secure TCP connections, and it is widely used as part of the secure web:
SPYTEC 3000 The system for GSM communication monitoring
SPYTEC 3000 The system for GSM communication monitoring The SPYTEC 3000 system is intended for passive (if system encryption is absent of if A5.2 encryption is used) or semi-active (if A5.1 encryption
Installation and setup guide V 1.0
V o I P G S M G A T E BlueGate SIP 1 Installation and setup guide V 1.0 1. General description 1.1 Technical parametres Dimensions 100 x 130 x 37 mm Weight 850 g Operating position various Operating condition
Secure My-d TM and Mifare TM RFID reader system by using a security access module Erich Englbrecht ([email protected]) V0.1draft
Application Report Secure My-d TM and Mifare TM RFID reader system by using a security access module Erich Englbrecht ([email protected]) V0.1draft Embedded RF ABSTRACT This application report describes
DATA SECURITY 1/12. Copyright Nokia Corporation 2002. All rights reserved. Ver. 1.0
DATA SECURITY 1/12 Copyright Nokia Corporation 2002. All rights reserved. Ver. 1.0 Contents 1. INTRODUCTION... 3 2. REMOTE ACCESS ARCHITECTURES... 3 2.1 DIAL-UP MODEM ACCESS... 3 2.2 SECURE INTERNET ACCESS
Kaseya 2. User Guide. Version 1.0
Kaseya 2 Mobile Device Management User Guide Version 1.0 March 12, 2012 About Kaseya Kaseya is a global provider of IT automation software for IT Solution Providers and Public and Private Sector IT organizations.
ETSI TS 121 111 V8.0.1 (2008-01) Technical Specification
TS 121 111 V8.0.1 (2008-01) Technical Specification Universal Mobile Telecommunications System (UMTS); USIM and IC card requirements (3GPP TS 21.111 version 8.0.1 Release 8) 1 TS 121 111 V8.0.1 (2008-01)
Kaseya 2. User Guide. Version 7.0. English
Kaseya 2 Mobile Device Management User Guide Version 7.0 English September 3, 2014 Agreement The purchase and use of all Software and Services is subject to the Agreement as defined in Kaseya s Click-Accept
Different Ways of Connecting to. 3DLevelScanner II. A.P.M Automation Solutions LTD. www.apm-solutions.com Version 3.0
3DLevelScanner II Different Ways of Connecting to 3DLevelScanner II A.P.M Automation Solutions LTD. www.apm-solutions.com Version 3.0 2 Different Ways of Connecting to 3DLevelScanner II Version 3.0 Table
USER MANUAL V5.0 VT300
GPS Vehicle Tracker USER MANUAL V5.0 VT300 Updated on 26/12/2008 Contents 1 Product Overview 3 2 For Your Safety 3 3 VT300 Parameters 3 4 Getting Started 4 4.1 Hardware and Accessories 4 4.2 Light and
AN2598 Application note
AN2598 Application note Smartcard interface with the STM32F101xx and STM32F103xx Introduction This document describes a firmware and hardware Smartcard interface solution based on the STM32F10xxx USART
SMS based remote control system
EE 318 Electronics Design Project Report, EE Department, IIT Bombay, April 2006 SMS based remote control system Ashish Deswal ( 03007020 ) Shaleen Harlalka ( 03007015 ) Arjun Arikeri ( 03007032 ) Ashish
Gigaset DX800A all in one New and updated functions
Gigaset DX800A all in one / en / A31008-xxxx-xxxx-x-xxxx / DX800A-aio-III-ReleaseNotesIVZ.fm / 08.11.2011 Gigaset DX800A all in one New and updated functions Gigaset DX800A all in one New and updated functions
Secure Web Appliance. SSL Intercept
Secure Web Appliance SSL Intercept Table of Contents 1. Introduction... 1 1.1. About CYAN Secure Web Appliance... 1 1.2. About SSL Intercept... 1 1.3. About this Manual... 1 1.3.1. Document Conventions...
GSM. Quectel Cellular Engine. GSM TCPIP Application Notes GSM_TCPIP_AN_V1.1
GSM Cellular Engine GSM TCPIP Application Notes GSM_TCPIP_AN_V1.1 Document Title GSM TCPIP Application Notes Version 1.1 Date 2011-09-22 Status Document Control ID Release GSM_TCPIP_AN_V1.1 General Notes
Administrator Reference Guide Release 5.0. OfficeConnect
830 Parkview Drive North, El Segundo, CA 90245 Tel: 310 747 3232 Fax: 310 747 3233 WWW.UNIVOIP.COM OfficeConnect Administrator Reference Guide Release 5.0 Note: The information contained in this document
Teltonika FM41XX. Configurator v. 1.0
Teltonika FM41XX Configurator v. 1.0 1. First steps Connect Teltonika FM41XX (PIN1 for plus and PIN11 ground ) to the voltage supply 10-30 V as shown below and GPS, GSM antennas. (GSM is long and thin,
9243060 Issue 1 EN. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation
9243060 Issue 1 EN Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation Nokia 9300i Configuring connection settings Nokia 9300i Configuring connection settings Legal Notice
Measurement and Analysis Introduction of ISO7816 (Smart Card)
Measurement and Analysis Introduction of ISO7816 (Smart Card) ISO 7816 is an international standard related to electronic identification cards with contacts, especially smart cards, managed jointly by
Exercise 1: Set up the Environment
RFID Lab Gildas Avoine, 2014 Contact: [email protected] Objective: Learn how much it is easy to read contactless tags, possibly simulate/clone. Requirement: Hardware: Reader SCL3711 or ACR122, Reader
GlobalSCAPE DMZ Gateway, v1. User Guide
GlobalSCAPE DMZ Gateway, v1 User Guide GlobalSCAPE, Inc. (GSB) Address: 4500 Lockhill-Selma Road, Suite 150 San Antonio, TX (USA) 78249 Sales: (210) 308-8267 Sales (Toll Free): (800) 290-5054 Technical
Verint GI2. Gi2 Features. 2010 Verint Systems Inc. All rights reserved.
Verint GI2 Gi2 Features 2010 Verint Systems Inc. All rights reserved. Channelyser Function The Channelyser allows the user to interrogate the local networks and display the Broadcast information. This
Java Card. Smartcards. Demos. . p.1/30
. p.1/30 Java Card Smartcards Java Card Demos Smart Cards. p.2/30 . p.3/30 Smartcards Credit-card size piece of plastic with embedded chip, for storing & processing data Standard applications bank cards
Global System for Mobile Communication Technology
Global System for Mobile Communication Technology Mobile Device Investigations Program Technical Operations Division DHS - FLETC GSM Technology Global System for Mobile Communication or Groupe Special
Smart Card APDU Analysis
Smart Card APDU Analysis Black Hat Briefings 2008 Las Vegas Ivan "e1" Buetler [email protected] Compass Security AG - Switzerland Compass Security AG Glärnischstrasse 7 Postfach 1628 CH-8640 Rapperswil
Monitoring Software using Sun Spots. Corey Andalora February 19, 2008
Monitoring Software using Sun Spots Corey Andalora February 19, 2008 Abstract Sun has developed small devices named Spots designed to provide developers familiar with the Java programming language a platform
An Introduction to MPLAB Integrated Development Environment
An Introduction to MPLAB Integrated Development Environment 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 1 This seminar is an introduction to
ETSI TS 102 226 V9.2.0 (2010-04) Technical Specification. Smart Cards; Remote APDU structure for UICC based applications (Release 9)
TS 102 226 V9.2.0 (2010-04) Technical Specification Smart Cards; Remote APDU structure for UICC based applications (Release 9) 2 TS 102 226 V9.2.0 (2010-04) Reference RTS/SCP-T02850v920 Keywords protocol,
UG103.5 EMBER APPLICATION DEVELOPMENT FUNDAMENTALS: SECURITY
EMBER APPLICATION DEVELOPMENT FUNDAMENTALS: SECURITY This document introduces some basic security concepts, including network layer security, trust centers, and application support layer security features.
Link Gate SIP. (Firmware version 1.20)
Link Gate SIP (Firmware version 1.20) User guide v1.0 1 Content 2 1. Technical parameters - Dimensions 133 x 233 x 60 mm - Weight 850 g - Operating position various - Operating condition temperature: +5
Control Technology Corporation CTC Monitor User Guide Doc. No. MAN-1030A Copyright 2001 Control Technology Corporation All Rights Reserved Printed in USA The information in this document is subject to
800-02577-TC 3/10 Rev. A
800-02577-TC 3/10 Rev. A Total Connect Online Help Guide TRADEMARKS Honeywell is a registered trademark of Honeywell International Inc. Windows and Windows Vista are trademarks, or registered trademarks
Modbus Protocol. PDF format version of the MODBUS Protocol. http://www.http://www.modicon.com/techpubs/toc7.html. The original was found at:
Modbus Protocol PDF format version of the MODBUS Protocol The original was found at: http://www.http://www.modicon.com/techpubs/toc7.html (In case of any discrepancies, that version should be considered
MUSCLE Cryptographic Card Edge Definition for Java 1 Enabled Smartcards
MUSCLE Cryptographic Card Edge Definition for Java 1 Enabled Smartcards David Corcoran Tommaso Cucinotta This document is provided on an as-is basis. Neither the authors nor the MUSCLE project are responsible
Hosted VoIP Phone System. Admin Portal User Guide for. Call Center Administration
Hosted VoIP Phone System Admin Portal User Guide for Call Center Administration Contents Table of Figures... 4 1 About this Guide... 6 2 Accessing the Hosted VoIP Phone System Administration Portal...
PRT-CTRL-SE. Protege System Controller Reference Manual
PRT-CTRL-SE Protege System Controller Reference Manual The specifications and descriptions of products and services contained in this document were correct at the time of printing. Integrated Control Technology
ESET Mobile Security Business Edition for Windows Mobile
ESET Mobile Security Business Edition for Windows Mobile Installation Manual and User Guide Click here to download the most recent version of this document Contents 1. Installation...3 of ESET Mobile Security
SHORT MESSAGE SERVICE SECURITY
SHORT MESSAGE SERVICE SECURITY February 2008 The Government of the Hong Kong Special Administrative Region The contents of this document remain the property of, and may not be reproduced in whole or in
DO MORE WITH YOUR HOME PHONE
CALL 13 2200 VISIT A TELSTRA STORE telstra.com/homephone HOME FEATURES USER GUIDE DO MORE WITH YOUR HOME PHONE C020 JAN13 XXXXXXXX PHONE FEATURES THAT MAKE LIFE EASIER Our home features make it easy for
Display Message on Notice Board using GSM
Advance in Electronic and Electric Engineering. ISSN 2231-1297, Volume 3, Number 7 (2013), pp. 827-832 Research India Publications http://www.ripublication.com/aeee.htm Display Message on Notice Board
COMMMONITOR SOFTWARE MANUAL
COMMMONITOR SOFTWARE MANUAL 311 Meacham Ave Elmont NY 11003 tel. (516) 327-0000 fax (516) 327-4645 e-mail: [email protected] website: www.mil-1553.com Table of Contents 1 Introduction..................................................
BUSINESSLINE FEATURES USER GUIDE. Do more with your business phone
BUSINESSLINE FEATURES USER GUIDE Do more with your business phone WELCOME TO TELSTRA BUSINESSLINE FEATURES Telstra BusinessLine Features are the smart way to manage your calls and stay connected to your
Packs Infotel Limited M30. ULTIMATE Operating Instructions. Version: Copyright Packs Infotel Limited 2015, all rights reserved.
Packs Infotel Limited M30 ULTIMATE Operating Instructions Version: 4 Copyright Packs Infotel Limited 2015, all rights reserved. Packs Infotel Limited Model 30 Operating Instructions Index Page 2 Page 3
ESET Endpoint Security 6 ESET Endpoint Antivirus 6 for Windows
ESET Endpoint Security 6 ESET Endpoint Antivirus 6 for Windows Products Details ESET Endpoint Security 6 protects company devices against most current threats. It proactively looks for suspicious activity
-Helping to make your life betterwww.person-to-person.net
Household Telephone Management System Built on Interceptor ID Technology Owner/Operation Manual Telephone Management System- Model P2P101 Call Receiver - Model P2P301 (Receiver may be sold separately)
Hosted VoIP Phone System. Desktop Toolbar User Guide
Hosted VoIP Phone System Desktop Toolbar User Guide Contents 1 Introduction... 3 1.1 System Requirements... 3 2 Installing the Telesystem Hosted VoIP Toolbar... 4 3 Accessing the Hosted VoIP Toolbar...
Talk2M ewon Internet Connection How To
AUG: 003 Rev.: 1.0 How To GPRS Contents: This guide will explain how to set up the Internet connection of your ewon for the Talk2M connection. Table of Contents 1. Hardware and software requirements...
Dolphin In-Circuit programming Updating Firmware in the field
Dolphin In-Circuit programming Updating Firmware in the field 1 Introduction In systems e.g. gateways, where an external microcontroller is connected to a Dolphin based product like a TCM300 it might be
PhoneMail TM, an answering machine for your fixed line
PhoneMail TM, an answering machine for your fixed line Your callers are routed to your PhoneMail after 5 or 6 ring signals if you are unable to pick up the phone or you are not at home. You can reduce
MDG. MULTOS Developer's Guide. MAO-DOC-TEC-005 v1.40. 2015 MAOSCO Limited. MULTOS is a registered trademark of MULTOS Limited.
MDG MULTOS Developer's Guide MAO-DOC-TEC-005 v1.40 2015 MAOSCO Limited. MULTOS is a registered trademark of MULTOS Limited. MULTOS Developer s Guide Copyright Copyright 1999 2015 MAOSCO Limited. This document
Application Note. Introduction AN2471/D 3/2003. PC Master Software Communication Protocol Specification
Application Note 3/2003 PC Master Software Communication Protocol Specification By Pavel Kania and Michal Hanak S 3 L Applications Engineerings MCSL Roznov pod Radhostem Introduction The purpose of this
TruePort Windows 2000/Server 2003/XP User Guide Chapter
TruePort Windows 2000/Server 2003/XP User Guide Chapter 0 This document provides the procedure for installing and using TruePort on Windows 2000/Server 2003/XP. Table of Contents What is TruePort?...3
Auditing a Web Application. Brad Ruppert. SANS Technology Institute GWAS Presentation 1
Auditing a Web Application Brad Ruppert SANS Technology Institute GWAS Presentation 1 Objectives Define why application vulnerabilities exist Address Auditing Approach Discuss Information Interfaces Walk
4511 MODBUS RTU. Configuration Manual. HART transparent driver. No. 9107MCM100(1328)
4511 MODBUS RTU Configuration Manual HART transparent driver No. 9107MCM100(1328) 9107 CONTENTS Introduction... 3 Modbus basics... 3 Modbus RTU... 3 Supported Function Codes... 3 Modbus Parameters and
Business Communications Manager Telephone Feature Card
Business Communications Manager Telephone Feature Card 2002 Nortel Networks P0993297 Issue 01 Buttons The Business Series Terminal (T-series) Feature button is a small globe icon. The M-series Feature
Kaseya 2. Quick Start Guide. for Network Monitor 4.1
Kaseya 2 Syslog Monitor Quick Start Guide for Network Monitor 4.1 June 5, 2012 About Kaseya Kaseya is a global provider of IT automation software for IT Solution Providers and Public and Private Sector
NVT (Network Virtual Terminal) description
NVT (Network Virtual Terminal) description English version Czech version Communication with the TCP/IP device over the Ethernet network can be extended to more functions using NVT (Network Virtual Terminal)
GUIDING ROBOTS USING MOBILE PHONE
24th International Symposium on on Automation & Robotics in in Construction (ISARC 2007) Construction Automation Group, I.I.T. Madras GUIDING ROBOTS USING MOBILE PHONE Atish Kumar Patra Department of Electrical
Snare System Version 6.3.4 Release Notes
Snare System Version 6.3.4 Release Notes is pleased to announce the release of Snare Server Version 6.3.4. Snare Server Version 6.3.4 New Features The behaviour of the Snare Server reflector has been modified
Lab Exercise 802.11. Objective. Requirements. Step 1: Fetch a Trace
Lab Exercise 802.11 Objective To explore the physical layer, link layer, and management functions of 802.11. It is widely used to wireless connect mobile devices to the Internet, and covered in 4.4 of
UNDERSTANDING SMS: Practitioner s Basics
UNDERSTANDING SMS: Practitioner s Basics Michael Harrington, CFCE, EnCE It is estimated that in 2006, 72% of all mobile phone users world wide were active users of SMS or text messaging. In European countries
GP REPORTS VIEWER USER GUIDE
GP Reports Viewer Dynamics GP Reporting Made Easy GP REPORTS VIEWER USER GUIDE For Dynamics GP Version 2015 (Build 5) Dynamics GP Version 2013 (Build 14) Dynamics GP Version 2010 (Build 65) Last updated
Hagenberg Linz Steyr Wels. API Application Programming Interface
Hagenberg Linz Steyr Wels API Application Programming Interface Version 1.1 October 2015 FH OÖ Forschungs & Entwicklungs GmbH Franz-Fritsch-Strasse 11 / Top 3 4600 Wels Austria Research Center Hagenberg
Security Guide. BlackBerry Enterprise Service 12. for ios, Android, and Windows Phone. Version 12.0
Security Guide BlackBerry Enterprise Service 12 for ios, Android, and Windows Phone Version 12.0 Published: 2015-02-06 SWD-20150206130210406 Contents About this guide... 6 What is BES12?... 7 Key features
Exploring the Remote Access Configuration Utility
Exploring the Remote Access Configuration Utility in Ninth-Generation Dell PowerEdge Servers The Remote Access Configuration Utility supports local and remote server management in ninth-generation Dell
Building a Basic Communication Network using XBee DigiMesh. Keywords: XBee, Networking, Zigbee, Digimesh, Mesh, Python, Smart Home
Building a Basic Communication Network using XBee DigiMesh Jennifer Byford April 5, 2013 Keywords: XBee, Networking, Zigbee, Digimesh, Mesh, Python, Smart Home Abstract: Using Digi International s in-house
Smartcard Web Server Enabler Architecture
Smartcard Web Server Enabler Architecture Candidate Version 1.0 09 Feb 2007 Open Mobile Alliance OMA-AD-Smartcard_Web_Server-V1_0-20070209-C OMA-AD-Smartcard_Web_Server-V1_0-20070209-C Page 2 (17) Use
Aastra 673xi / 675xi. Telephony with SIP Phones at the Aastra 800/OpenCom 100 Communications System User Guide
Aastra 673xi / 675xi Telephony with SIP Phones at the Aastra 800/OpenCom 100 Communications System User Guide Welcome to Aastra Thank you for choosing this Aastra product. Our product meets the strictest
Intelligent Contact Center Agent Guide. Business Communication Manager CallPilot
Intelligent Contact Center Agent Guide Business Communication Manager CallPilot Document Status: Standard Document Version: 04.01 Document Number: NN40040-101 Date: August 2009 Copyright Nortel Networks
Using the HCS12 Serial Monitor on Wytec Dragon-12 boards. Using Motorola s HCS12 Serial Monitor on Wytec s Dragon-12 boards
Using Motorola s HCS12 Serial Monitor on Wytec s Dragon-12 boards Wytec s Dragon-12 development boards are pre-installed with DBug-12, a small monitor program which allows a user to interact with the board
Global Monitoring + Support
Use HyperTerminal to access your Global Monitoring Units View and edit configuration settings View live data Download recorded data for use in Excel and other applications HyperTerminal is one of many
To perform Ethernet setup and communication verification, first perform RS232 setup and communication verification:
PURPOSE Verify that communication is established for the following products programming option (488.2 compliant, SCPI only): DCS - M9C & DCS M130, DLM M9E & DLM-M9G & DLM M130, DHP - M9D, P series, SG,
CanMobile. CanMobile is mobile banking service provided by Canara Bank. It helps you to do following banking transactions:
CanMobile Frequently Asked Questions 1. What is CanMobile? CanMobile is mobile banking service provided by Canara Bank. It helps you to do following banking transactions: Balance Enquiry of accounts enabled
UNITY MOBILE FOR ANDROID END USER GUIDE
UNITY MOBILE FOR ANDROID END USER GUIDE Contents 1. Introduction... 3 2. How It Works... 3 3. Getting Started... 4 3.1 Login... 4 3.2 Linking Unity to the Mobile Device... 4 3.3 Specifying the Outgoing
UM0272 User manual. Central Unit for Alarm System (CUAS) Evaluation Board. Introduction
User manual Central Unit for Alarm System (CUAS) Evaluation Board Introduction The Central Unit for Alarm System (CUAS) Evaluation Board provides a complete reference system addressing the low- to middle-end
Using TEMS Pocket. Johan Montelius
Using TEMS Pocket Johan Montelius Introduction In this laboration you will get acquainted with the TEMS Pocket tool. You will examine both the Monaco network and a commercial network. Since this is your
Remote login (Telnet):
SFWR 4C03: Computer Networks and Computer Security Feb 23-26 2004 Lecturer: Kartik Krishnan Lectures 19-21 Remote login (Telnet): Telnet permits a user to connect to an account on a remote machine. A client
MiniPOS and BluePad-50 user manual
MiniPOS and BluePad-50 user manual Welcome to MiniPOS application for mobile and card payments! +386 (30) 70 4444 +386 (30) 70 5555 [email protected] www.paywiser.si Slovenska ulica 54 Ljubljana, Slovenija
