Tech-invite3GPPspaceIETFspace
21222324252627282931323334353637384‑5x
Top   in Index   Prev   Next

TS 22.048
Security mechanisms for the (U)SIM Application Toolkit

V5.0.0 (PDF)  2003/06  16 p.
V4.0.0  2001/07  16 p.
Rapporteur:
Mr. Phan, Ly Thanh

Content for  TS 22.048  Word version:  5.0.0

Here   Top

1  Scopep. 5

The present document provides standardised security mechanisms in conjunction with the SIM Application Toolkit for the interface between a 3G or GSM PLMN Entity and a UICC.
The security mechanisms which are specified are independent of applications.
The present document describes the functional requirements of the security mechanisms with the implementation detail of these mechanisms being described in the stage 2 specification (TS 23.048).
The present document is the result of a feasibility study carried out on this topic, contained in GSM 11.15.
Within the scope of this document, the UICC refers here to a ICC which support at least one application in order to access a cellular network.
The ICC is considered as a platform, which is either based on TS 31.101, here called "3G platform", or TS 51.011, here called "2G platform".
Up

2  Referencesp. 5

The following documents contain provisions which, through reference in this text, constitute provisions of the present document.
  • References are either specific (identified by date of publication, edition number, version number, etc.) or non-specific.
  • For a specific reference, subsequent revisions do not apply.
  • For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including a GSM document), a non-specific reference implicitly refers to the latest version of that document in the same Release as the present document.
[1]
TR 21.905: "Vocabulary for 3GPP Specifications".
[2]
TS 23.048: "Security Mechanisms for the (U)SIM Application Toolkit - Stage 2".
[3]
TS 31.111: "USIM Application Toolkit (USAT)".
[4]
ETR 330: "STAG; A guide to the legislative and regulatory environment".
[5]
TS 31.101: "UICC-Terminal Interface; Physical and Logical Characteristics"
[6]
TS 51.011: "Specification of the Subscriber Identity Module - Mobile Equipment (SIM - ME) interface"
Up

3  Definitions and abbreviationsp. 5

3.1  Definitionsp. 5

For the purpose of the present document, the following terms and definitions apply:
Application Layer:
layer above the Transport Layer on which the Application Messages are exchanged between the Sending and Receiving Applications.
Application Message:
package of commands or data sent from the Sending Application to the Receiving Application, or vice versa, independently of the transport mechanism. An Application Message is transformed with respect to a chosen Transport Layer and chosen level of security into one or more secured packets.
Counter:
mechanism or data field used for keeping track of a message sequence. This could be realised as a sequence oriented or time stamp derived value maintaining a level of synchronisation.
Cryptographic Checksum:
string of bits derived from some secret information, (e.g. a secret key), part or all of the Application Message, and possible further information (e.g. part of the Security Header). The secret key is known to the Sending Entity and to the Receiving Entity. The Cryptographic Checksum is often referred to as Message Authentication Code.
Digital Signature:
string of bits derived from some secret information, (e.g. a secret key), the complete Application Message, and possible further information (e.g. part of the Security Header). The secret information is known only to the Sending Entity. Although the authenticity of the Digital Signature can be proved by the Receiving Entity, the Receiving Entity is not able to reproduce the Digital Signature without knowledge of the secret information owned by the Sending Entity.
Receiving Application:
this is the entity to which the Application Message is destined.
Receiving Entity:
this is the entity where the Secured Packet is received (e.g. SMS-SC, UICC, USSD entry point, or dedicated (U)SIM Toolkit Server) and where the security mechanisms are utilised. The Receiving Entity processes the Secured Packets.
Redundancy Check:
string of bits derived from the Application Message and possible further information for the purpose of detecting accidental changes to the message, without the use of any secret information.
Secured Packet:
information flow on top of which the level of required security has been applied. An Application Message is transformed with respect to a chosen Transport Layer and chosen level of security into one or more Secured Packets.
Security Header:
that part of the Secured Packet which consists of all security information (e.g. counter, key identification, indication of security level, checksum or Digital Signature).
Sender Identification:
this is the simple verification of the identity of the Sending Entity by the Receiving Entity comparing the sender identity with an apriori stored identity of the sender at the Receiving Entity.
Sending Application:
entity generating an Application Message to be sent.
Sending Entity:
this is the entity from which the Secured Packet originates (e.g. SMS-SC, UICC, USSD entry point, or dedicated (U)SIM Toolkit Server) and where the security mechanisms are invoked. The Sending Entity generates the Secured Packets to be sent.
Status Code:
this is an indication that a message has been received (correctly or incorrectly, indicating reason for failure).
Transport Layer:
this is the layer responsible for transporting Secured Packets through the 3G and/or GSM network. The transport layer implements one or more transport mechanisms, (e.g. SMS or USSD).
Unsecured Acknowledgement:
this is a Status Code included in a response message.
Up

3.2  Abbreviationsp. 6

Abbreviations used in the present document are listed in TR 21.905.

4  Introductionp. 6

The USIM Application Toolkit as described in TS 31.111is a set of commands and procedures for use during the network operation phase of 3G and GSM. It allows operators to create specific applications resident on the UICC. There exists a need to secure USIM Application Toolkit related communication over the 3G and GSM network, (e.g. SMS, USSD, and future transport mechanisms) with the level of security chosen by the network operator or the application provider.
It is assumed in the present document that the Sending and Receiving Entities are in a secure environment.
The appropriate security mechanisms are described in the present document.
The security mechanisms cover the following security requirements:
  • unilateral authentication from network to UICC;
  • unilateral authentication from UICC to network;
  • message integrity;
  • replay detection;
  • proof of receipt;
  • message confidentiality.
Reproduction of 3GPP TS 22.048, Figure 1: System overview
Up

5  Security requirementsp. 7

The Application Message is transferred from the Sending Application to the Receiving Application in one or more Secured Packets via a Sending Entity and a Receiving Entity, or group of Receiving Entities. The Receiving Entity is then responsible for reconstructing the Application Message from the received Secured Packets for presentation to the target Receiving Application. It is possible that there are several Receiving Entities and Applications.
The Sending Application shall indicate to the Sending Entity the security mechanisms to be applied to the Application Message. This shall be indicated in the Secured Packet. The Receiving Entity shall indicate to the Receiving Application the security mechanisms applied to the Secured Packet, in a secure manner. The interface between the Sending Application and the Sending Entity, and the interface between the Receiving Entity and Receiving Application are not defined.
The security requirements to satisfy when transferring Application Messages from the Sending Entity to the Receiving Entity that have been considered are:
  • authentication;
  • message integrity;
  • replay detection and sequence integrity;
  • proof of receipt and proof of execution;
  • message confidentiality;
  • indication of the security mechanisms used.
Mechanisms to satisfy the above requirements will be governed by the following assumptions:
  • in general, security is provided for each Secured Packet transmitted (an Application Message may be broken into several Secured Packets, each of which shall have identical security mechanisms applied to it;
  • there should be the ability to turn mechanisms on and off on a per Application Message basis, with an indication of the status transmitted with the message;
  • security related information used should be independent of that used with existing 3G or GSM network keys;
  • third party applications may have access to the Sending Entity, however this is considered to be an internal network security issue and therefore outside of the scope of the present document.
Up

5.1  Authenticationp. 8

5.1.1  Definitionp. 8

Authentication is the verification of an entity's claimed identity by another entity. A first level of authentication is "unilateral authentication" which provides the receiver with proof of the sender's identity. A higher level is "mutual authentication", where both entities are provided with proof of each other's identity.
For mutual authentication purposes the Sending and/or Receiving Entities have to generate and exchange dedicated authentication messages. Due to the unidirectional nature of current transport mechanisms mutual authentication is not considered in the present document.
Up

5.1.2  Purposep. 8

The purpose of authentication is to protect Sending and Receiving Entities and Applications against unauthorised use. Authentication assures that only authorised parties can perform actions at the UICC, and it prevents unauthorised parties from having access to entities on the network side (or even behind it) via a (U)SIM Application Toolkit feature.

5.1.3  Functional requirementsp. 8

For the purposes of Sender Identification and unilateral authentication the Sending Entity shall be uniquely defined and addressed, as an example a GSM SIM already satisfies this requirement.
Unilateral authentication can be achieved by the use of a Cryptographic Checksum or Digital Signature attached to the message. The distinguishing identifications of the Receiving and Sending Entities should be linked to them for the entire life time of these entities. (If for some reason, the identity of any of the entities is changed, then all other entities involved in the authentication procedure shall be informed of the new identity.)
Up

5.2  Message integrityp. 9

5.2.1  Definitionp. 9

Message Integrity ensures that no corruption, accidental or intentional, of the content of the message has occurred.

5.2.2  Purposep. 9

The purpose of this mechanism is to detect any corruption of the Application Message or the whole Secured Packet.

5.2.3  Functional requirementsp. 9

The integrity of the Application Message or whole Secured Packet may be achieved as follows:
  • by adding a Redundancy Check in the Security Header to protect against accidental corruption (The Redundancy Check mechanism on it's own only protects against accidental corruption. In conjunction with encryption it can be used to provide message integrity);
  • by adding a Cryptographic Checksum in the Security Header. In certain circumstances the authentication of the Sending Entity is achieved implicitly by the verification of the Cryptographic Checksum;
  • by calculating and verifying a Digital Signature on the Application Message to be transferred. In this case the authentication of the Sending Entity is achieved implicitly by the verification of the Digital Signature.
Up

5.3  Replay detection and sequence integrityp. 9

5.3.1  Definitionp. 9

Replay detection is a mechanism which provides the Receiving Entity with a means of recognising that it has received the same Secured Packet(s) previously.
Sequence integrity is a mechanism which ensures that no changes, accidental or intentional, have occurred to the intended sequence of Secured Packets.

5.3.2  Purposep. 9

Replay detection protects the Receiving Entity against replay attack and Secured Packet duplication.
Sequence integrity protects the Receiving Entity against message suppression and loss of Secured Packets.

5.3.3  Functional requirementsp. 9

The implementation of these mechanisms shall be achieved by including a counter in the Security Header. The protection of the counter shall be achieved by including it in the calculation of the checksum (Cryptographic Checksum or encrypted Redundancy Check) or Digital Signature when used.
The Sending Entity and the Receiving Entity shall maintain synchronisation for their counters.

5.4  Proof of receipt and proof of executionp. 9

5.4.1  Definitionp. 9

Proof of receipt proves to the Sending Entity that the Receiving Entity has correctly received a Secured Packet, has performed the necessary security checks and forwarded the contents to the Receiving Application.
Proof of execution proves to the Sending Application that the Receiving Application has performed an action that the Sending Application initiated. Proof of execution is not applicable at the Transport Layer.

5.4.2  Purposep. 10

The purpose of proof of receipt is to prove delivery of a Secured Packet to the Receiving Entity in an unambiguous way. This allows detection of non-delivery due to network error, message corruption, validation failure etc. to be indicated to the Sending Entity using a Status Code in the proof of receipt response.

5.4.3  Functional requirementsp. 10

Proof of receipt must be requested by the Sending Entity. Proof of receipt is returned from the Receiving Entity in an acknowledgement to a Secured Packet transmitted by the Sending Entity. The acknowledgement shall take the form of a Status Code in a response message, which may be secured by either a Cryptographic Checksum or Digital Signature.
The Sending Entity shall send an indication of proof of receipt to the Sending Application upon successful delivery of the Application Message, or indicate the reason for failure upon unsuccessful delivery of the Application Message. The behaviour at the Receiving Entity is elaborated in the stage 2 document [2].
The Sending and Receiving Entity shall be uniquely defined and addressed.
In the case of SMS transport, proof of receipt could be carried in the short message acknowledgement as defined in TS 31.111 (SMS data download mechanism).
The case of other transport mechanisms is for further study.
Up

5.5  Message confidentialityp. 10

5.5.1  Definitionp. 10

Message confidentiality ensures that the messages exchanged are not made available or disclosed to unauthorised individuals, entities, or processes.

5.5.2  Purposep. 10

This security function prevents any external party from extracting any useable information from Secured Packets.

5.5.3  Functional requirementsp. 10

Message confidentiality is achieved by encrypting the message. In order for the recipient to use the content of the message it has to be decrypted.
Some of the security parameters that make up the Security Header (Digital Signatures, Counters and other security parameters) may be encrypted.

5.6  Security managementp. 10

The security mechanism applied to the Secured Packet shall be indicated in the Security Header, and this indication may be integrity protected to prevent it from malicious alteration.
Security parameters (e.g. counters, keys) at the Receiving and Sending Entity shall be stored in a secure manner such that no unauthorised parties or applications can read, modify or use these parameters.
Procedures for key management (e. g. key update) should be foreseen for transport level.

6  Normal proceduresp. 11

6.1  Security mechanismsp. 11

From the security requirements described in clause 5, the following subclauses define security mechanisms on the Transport Layer. Some of the security mechanisms fulfil more than one security requirement.

6.1.1  Authentication mechanismsp. 11

Mechanisms ensuring authentication are:
  • Cryptographic Checksum (b1);
  • Digital Signature (b2).
The Cryptographic Checksum mechanism is suitable for authentication when the secret information is shared only by the communicating entities.

6.1.2  Message integrity mechanismsp. 11

Mechanisms ensuring message integrity are:
  • Redundancy Check;
  • Cryptographic Checksum (b1);
  • Digital Signature (b2).
The Redundancy Check mechanism on it's own only protects against accidental corruption. In conjunction with encryption it can be used to provide message integrity.

6.1.3  Replay detection and sequence integrity mechanismsp. 11

Mechanisms ensuring replay detection and sequence integrity are:
  • Simple Counter;
  • A counter included in the calculation of the Cryptographic Checksum (d1);
  • A counter included in the calculation of the Digital Signature (d2).
The Simple Counter mechanism protects against accidental loss or replay. In conjunction with encryption it can be used to protect against malicious loss or replay. There shall exist a specific counter value which indicates that the replay detection and sequence integrity mechanisms are inactive.
Up

6.1.4  Proof of receipt mechanismsp. 11

Mechanisms ensuring proof of receipt are:
  • unsecured acknowledgement;
  • acknowledgement included in the calculation of the Cryptographic Checksum (f1);
  • acknowledgement included in the calculation of the Digital Signature (f2).

6.1.5  Message confidentiality mechanismsp. 12

  • Encryption mechanism (g).

6.2  Security mechanisms and recommended combinationsp. 12

6.2.1  Non-cryptographic mechanismsp. 12

In the following a number of mechanisms are listed which are based on non-cryptographic mechanisms. These mechanisms offer no security against any deliberate attack, only detection of accidental corruption.
  • Redundancy Check;
  • Unsecured Acknowledgement;
  • Simple Counter.

6.2.2  Cryptographic mechanismsp. 12

The Security Header, except the Cryptographic Checksum/Digital Signature, shall always be included in the calculation of the Cryptographic Checksum/Digital Signature.
  • Cryptographic Checksum (d1) or Digital Signature (d2);
    This security mechanism addresses the following security requirements: authentication, message integrity, replay detection and sequence integrity.
  • Acknowledgement as Cryptographic Checksum (f1) or Digital Signature (f2);
    This security mechanism satisfies the security requirement proof of receipt.
  • Encryption of the Application Data and possibly part of the Security Header (g);
    The encryption of the Application Data and possibly part of the Security Header corresponds to the requirement of message confidentiality.
Requirements Mechanisms
Cryptographic Checksum Digital Signature Encryption
authentication(b1)(b2)
message integrity(b1)(b2)
replay detection and sequence integrity(d1)(d2)
proof of receipt(f1)(f2)
confidentiality(g)
Up

6.2.3  Recommended combinations of cryptographic mechanismsp. 13

Whilst it is recognised that many combinations of the above described security mechanisms are possible and feasible, for the purpose of the present document, in order to limit the complexity of implementation, a limited number of combinations is recommended.
  • combinations employing Cryptographic Checksum:
    combination 1: d1
    combination 2: d1 + f1
    combination 3: d1 + f1 + g
    combination 4: d1 + g
  • combinations employing Digital Signature:
    combination 5: d2
    combination 6: d2 + f2
    combination 7: d2 + f2 + g
    combination 8: d2 + g
It is recommended that encryption is employed only in conjunction with either a Redundancy Check, Cryptographic Checksum or Digital Signature in order to allow verification of the decryption.
If only authentication and message integrity are required this is indicated by a special counter value as described in subclause 6.1.3.
Up

7  Exceptional proceduresp. 13

7.1  Authentication or integrity failurep. 13

In the case of authentication or integrity failure, the received message shall be discarded. If proof of receipt has been requested, then a Status Code indicating the reason for failure shall be returned to the Sending Entity.

7.2  Sequence and replay detection failurep. 13

There are several mechanisms whereby counter value synchronisation can be maintained, or regained if synchronisation is lost If synchronisation cannot be regained, the Receiving Entity shall discard any Secured Packet with an unsynchronised counter value. In addition, if proof of receipt has been requested, then a Status Code indicating the reason for failure shall be returned to the Sending Entity.

7.3  Proof of receipt failurep. 13

The Sending Entity shall inform the Sending Application of the failure to deliver the Application Message, indicating the reason for failure.

$  Change historyp. 14


Up   Top