palowireless
          Bluetooth Resource Center


Advanced search


Bluetooth Protocol Stack Technology Profiles
Bluetooth Stack Examples Overview FAQ
WPAN Technology Tutorial Baseband RFCOMM L2CAP LMP HCI


specs specifications docs pdfs WPAN Wireless Personal Area Network
 
 

Members

Member:

Password:

Forgot your
password?


New Member


 
 

 

 
Radio Baseband LMP HCI L2CAP RFCOMM SDP Profiles

SIM Access Profile

    This SIM Access Profile defines the protocols and procedures that shall be used to access a SIM card via a Bluetooth link. The profile enables the usage model "Personalizing the Car and its Devices" (see [5]) and similar usage models, which involve a Bluetooth enabled SIM card holder and a cellular phone.

    For example, with this profile, the user can personalize his/her car-embedded phone with a SIM card in an external device, which is connected via a Bluetooth wireless link. The external device can either be a simple SIM card holder or a portable phone, which is brought into the car.

For more details : Download the SIM Profile from the Bluetooth.org website.

        Table Of Contents

1 Profile Overview
1.1 Profile Stack
1.2 Roles/Configurations
1.3 Profile Scenarios
1.4 Profile Operation/Fundamentals
1.5 Bluetooth Security
2 Application Layer Features
3 Procedures
3.1 Connect
3.2 Disconnect Initiated by the Client
3.3 Disconnect Initiated by the Server
3.4 Transfer APDU
3.5 Transfer ATR
3.6 Power SIM Off
3.7 Power SIM On
3.8 Reset SIM
3.9 Report Status
3.10 Transfer Card Reader Status
3.11 Error Response
3.12 State Machine
3.13 Bluetooth Link Loss
4 Message and Parameters
5 Service Discovery Procedures
6 Serial Port Profile/Generic Access Profile

 

Profile Overview

1.1  Profile Stack

    The figure below shows the protocols and entities used in this profile.

Image reprinted from Bluetooth SIM Profile, Figure 2.1 , page 13

    The Baseband, LMP and L2CAP are the OSI layer 1 and 2 Bluetooth protocols. RFCOMM is the Bluetooth serial port emulation entity. SDP is the Bluetooth Service Discovery Protocol.

   

1.2  Roles/Configurations

The following two roles are defined for this profile:

  • Server - The SIM Access Server has direct (galvanic) access to a SIM. It acts as a SIM card reader, which assists the Client in accessing and controlling the SIM via the Bluetooth link.
  • Client - The SIM Access Client is connected via a Bluetooth link to the SIM Access Server. The Client accesses and controls the SIM inside the Server via the Bluetooth link.

    Typical examples of a Server are a simple SIM card holder or a portable phone in the car environment. A typical example of a Client is a car phone, which uses a SIM card in the Server for a connection to the cellular network.

 

1.3  User Requirements & Scenarios

    In general, the SIM Access Server functions as a SIM reader for the SIM Access Client. The SIM Access Profile enables all scenarios, that are also possible with wired SIM card readers.

    Two scenarios are depicted here, as they serve as building blocks for other scenarios. Both scenarios will be referenced throughout the document.

  1. The Server contains a SIM, which is used by the Client: The Client accesses the files and services of the SIM as if the SIM was directly contained in the Client or connected via a cable.
  2. Proactive SIM in the Client and Additional SIM in the Server: The Client contains a proactive SIM for connecting to the cellular network. Furthermore, the proactive SIM may request the Client to control the additional SIM, which is located in the Server. For this purpose the SIM Access Profile provides the necessary means to perform all functions.

 

1.4  Profile Operation/Fundamentals

    The SIM Access Profile describes the messages and procedures for accessing a SIM card over a Bluetooth link. It is especially designed for usage with GSM SIM cards and provides a transport and remote control solution for GSM 11.11  and GSM 11.14 .

    The SIM Access Server contains a SIM and is responsible for establishing and maintaining the physical connection to the SIM. The Server also acts a mediator for all messages (APDUs) exchanged between the SIM Access Client and the SIM. Furthermore, if the Client requests information from the Server about the SIM or about the Server itself, the Server will respond by sending the requested data over the Bluetooth link.

    The Client is in most cases a phone, which has to behave according to the relevant GSM specifications. This behaviour is fully supported by the SIM Access Profile, by providing the necessary framework.

    The Server might also be a phone, which apart from the SIM Access Profile functionality has the ability to use the SIM for its own cellular network connection. According to the GSM specifications, this is only allowed, if the Server is outside of a SIM Access Profile connection.

    In general, the Server may establish a SIM Access Profile connection, even if there is no SIM in the Server. Similarly, the Server may establish a connection, even if its SIM is powered off. In order to handle these different situations, the Client shall be informed about the status of the SIM during connection setup). The application of the profile is limited to one Server, which establishes a SIM Access Profile connection to one Client. Similarly, the Server shall only grant the Client access to a single SIM in the context of this profile.

 

1.5  Bluetooth Security

    In order to ensure secure communication between Client and Server, several security measures from the Bluetooth specification are mandatory:

  1. Bonding
  2. Encryption
  3. Server initiated Authentication
  4. Link Keys: Only combination keys shall be used for SIM Access Profile connections.
  5. Encryption key length:  The encryption key deployed in the system shall support the maximum length as given in the Bluetooth specification.
  6. Passkey: The length of the passkey shall be 16 digits (decimal) at least.

 

Application Layer Features

    The table below shows the feature requirements made by this profile.

Image reprinted from Bluetooth SIM Profile, Table 1 , page 18

 

Procedures

    This chapter describes the procedures for all features listed in the previous chapter. Each procedure consists of one or more messages that are exchanged between the SIM Access Client and Server.

3.1  Connect

    In order to start the SIM Access Profile connection and negotiate important parameters adherent to the connection, the messages CONNECT_REQ, CONNECT_RESP, STATUS_IND, TRANSFER_ATR_REQ and TRANSFER_ATR_RESP are used.

 

3.2  Disconnect Initiated by the Client

    If the Client wants to release the SIM Access Profile connection, it first shall terminate any existing GSM session which involves the SIM in the Server. The Client can then send a DISCONNECT_REQ message to the Server. The Server will answer with a DISCONNECT_RESP message and the SIM Access Profile is successfully released.

 

3.3  Disconnect Initiated by the Server

    If the Server wants to release the SIM Access Profile connection, it shall send the DISCONNECT_IND message to the Client. Within this message the Server can indicate, if it wants to release the SIM Access Profile connection immediately or gracefully.

 

3.4  Transfer APDU

    For transferring an APDU between the Client and the Server, the messages TRANSFER_APDU_ REQ and TRANSFER_APDU _RESP are used. ADPU transfers are always initiated by the Client.

 

3.5  Transfer ATR

  The Client may ask the Server to send the ATR from the SIM. The TRANSFER_ATR_REQ message is used for this purpose. Following this request, the Server sends the ATR to the Client in the payload of the TRANSFER_ATR_RESP message.

 

3.6  Power SIM Off

   If the Client wants the Server to power off the SIM, it first shall terminate any existing GSM session which involves the SIM in the Server. The Client can then send the POWER_SIM_OFF_REQ message to the Server. Upon receiving this message, the Server powers off the SIM, i. e. it removes the voltage from the card. Afterwards, the Server sends the POWER_SIM_OFF_RESP message to the Client.

 

3.7  Power SIM On

   If a SIM is powered off, the Client may request the Server to power it on again, i. e. to apply the supply voltage and clock signal to the SIM. The POWER_SIM_ON_REQ message is used for this purpose.

 

3.8  Reset SIM

    If the Client wants the Server to reset the SIM, it first shall terminate any existing GSM session, which involves the SIM in the Server. The Client can then send the RESET_SIM_REQ message to the Server.

    Upon receiving this message, the Server resets the SIM and eventually performs a PPS procedure. After this has been completed, the Server sends the RESET_SIM_RESP message to the Client.

    If the RESET_SIM_RESP message indicates that the SIM was reset on successfully, the Client shall request the ATR of the SIM with the TRANSFER_ATR_REQ message. The Server will then answer with the TRANSFER_ATR_RESP message.

 

3.9  Report Status

    This procedure is deployed during the connection setup phase or whenever a change in the physical connection between Server and SIM occurs. The STATUS_IND message is used to inform the Client about the status or the status change.

 

3.10  Transfer Card Reader Status

    The Client may ask the Server to return the Card Reader Status using the TRANSFER_CARD_READER_STATUS_REQ message. Following this request, the Server sends the Client the Card Reader Status in the TRANSFER_CARD_READER_STATUS_RESP message.

 

3.11 Error Response

    The Server sends an Error Response message ERROR_RESP to the Client, whenever it has received a request message from the Client, which was invalid or improperly formatted.

 

3.12 State Machine

    The state machine below shows the simplified state machine underlying the SIM Access Profile. The three main states are "Not connected", "Connection under negotiation" and "Connected". Within the "Connected" state, several sub-states exist.

Image reprinted from Bluetooth SIM Profile, Figure 4-12 , page 33

    As it can be seen from the state machine, each request message (e. g. TRANSFER_APDU_REQ) can in general only be followed by the corresponding response message (TRANSFER_APDU_RESP). However, there are two exceptions. The POWER_SIM_OFF_REQ and RESET_SIM_REQ can be sent in nearly any state, in order to allow the Client to reactivate a not accessible SIM card.

 

3.13  Bluetooth Link Loss

    A Bluetooth link loss can be detected by the Server or the Client. Whenever either device detects a Bluetooth link loss, the SIM Access Profile connection is automatically terminated.

 

Message and Parameters

    This section describes the coding and formats of the messages and parameters of the SIM Access Profile. The SIM Access Profile messages are transported on an RFCOMM link.

Message are formatted as shown below  (length of each field is given in bytes):

Image reprinted from Bluetooth SIM Profile, Figure 5.1 , page 35

    The message header consists of three fields. The field "MsgID" contains the message ID. The field "Number of Parameters" gives the number of parameters in the payload of the message. Two bytes are reserved for future use and shall be set to 0x0000 until otherwise specified in future revisions of the SIM Access Profile, while the payload itself contains the parameters as listed below.

Image reprinted from Bluetooth SIM Profile, table 3 , page 36

 

Service Discovery Procedures

    See section 6 of the SIM Access Profile to see all entries in the SDP database of the SIM Access Server. In the status column it is indicated whether the presence of this field is mandatory or optional.

 

Serial Port Profile/Generic Access Profile

    This profile requires compliance with the Serial Port Profile. For the purpose of reading the Serial Port Profile, the SIM Access Client shall always be considered to be Device A (the "initiator") and the SIM Access Server shall always be considered to be Device B (the "acceptor").

  • For the RFCOMM , L2CAP & LC layer, no additions to the requirements as stated in the Serial Port Profile shall apply
  • In addition to the LM Interoperability Requirements stated in the Serial Port Profile, this profile mandates the use of link encryption.
  • For the SDP layer, a number of service records are defined for the headset and the audio gateway respectively. They can be found on page 211 of the Headset Profile

    This profile requires compliance with the Generic Access Profile , see section 8.1, 8.2 & 8.3 of the SIM profile to see the support status for Modes, Security aspects & Idle Mode procedures within the SIM Access Profile.

 

 

Note , the above text contains excerpts from the Bluetooth SIG's Specification, as well as various interpretations of the Specs. For complete details of the various sections, consult the actual Bluetooth Specification.