320
320
The present document has been developed within the 3 rd Generation Partnership Project (3GPP TM) and may be further elaborated for the purposes of 3GPP.
The present document has not been subject to any approval process by the 3GPP Organisational Partners and shall not be implemented.
This Specification is provided for future development work within 3GPP only. The Organisational Partners accept no liability for any use of this
Specification.
Specifications and reports for implementation of the 3GPP TM system should be obtained via the 3GPP Organisational Partners' Publications Offices.
3G TS 33.102 version 3.2.0 4 3G TS 33.102 V3.2.0 (1999-10)
Reference
DTS/TSGS-0333102U
Keywords
Security, Architecture
3GPP
Postal address
Internet
http://www.3gpp.org
3GPP
3G TS 33.102 version 3.2.0 5 3G TS 33.102 V3.2.0 (1999-10)
Contents
Foreword..............................................................................................................................................6
1 Scope......................................................................................................................................... 7
2 References..................................................................................................................................7
2.1 Normative references.......................................................................................................................... 7
2.2 Informative references......................................................................................................................... 8
4 Overview of the security architecture........................................................................................10
5 Security features.......................................................................................................................11
5.1 Network access security.................................................................................................................... 11
5.1.1 User identity confidentiality......................................................................................................... 11
5.1.2 Entity authentication.................................................................................................................... 11
5.1.3 Confidentiality............................................................................................................................. 12
5.1.4 Data integrity............................................................................................................................... 12
5.1.5 Mobile equipment identification.................................................................................................. 12
5.2 Network domain security................................................................................................................... 13
5.2.1 Entity authentication.................................................................................................................... 13
5.2.2 Data confidentiality..................................................................................................................... 13
5.2.3 Data integrity............................................................................................................................... 13
5.2.4 Fraud information gathering system.............................................................................................14
5.3 User domain security......................................................................................................................... 14
5.3.1 User-to-USIM authentication....................................................................................................... 14
5.3.2 USIM-Terminal Link................................................................................................................... 14
5.4 Application security.......................................................................................................................... 14
5.4.1 Secure messaging between the USIM and the network.................................................................14
5.4.2 Network-wide user traffic confidentiality.....................................................................................15
5.4.3 Access to user profile data........................................................................................................... 15
5.4.4 IP security.................................................................................................................................... 15
5.5 Security visibility and configurability................................................................................................ 15
5.5.1 Visibility..................................................................................................................................... 15
5.5.2 Configurability............................................................................................................................ 15
6 Network access security mechanisms........................................................................................16
6.1 Identification by temporary identities................................................................................................ 16
6.1.1 General........................................................................................................................................ 16
6.1.2 TMUI reallocation procedure....................................................................................................... 16
6.1.3 Unacknowledged allocation of a temporary identity.....................................................................16
6.1.4 Location update........................................................................................................................... 17
6.2 Identification by a permanent identity............................................................................................... 17
6.3 Authentication and key agreement..................................................................................................... 18
6.3.1 General........................................................................................................................................ 18
6.3.2 Distribution of authentication data from HE to SN.......................................................................20
6.3.3 Authentication and key agreement............................................................................................... 22
6.3.3.1 Cipher key selection.......................................................................................................................... 24
6.3.3.1.1 User plane......................................................................................................................... 25
6.3.3.1.2 Control plane.................................................................................................................... 25
6.3.4 Distribution of authentication vectors between VLRs...................................................................25
6.3.5 Re-synchronisation procedure...................................................................................................... 25
6.3.6 Length of sequence numbers........................................................................................................ 26
6.3.7 Support for window and list mechanisms.....................................................................................27
6.4.1 Cipher key and integrity key setting.............................................................................................27
6.4.2 Cipher key and integrity mode negotiation...................................................................................27
6.4.3 Cipher key and integrity key lifetime...........................................................................................28
6.4.4 Cipher key and integrity key identification...................................................................................28
6.4.5 Security mode set-up procedure................................................................................................... 28
Signalling procedures in the case of an unsuccessful integrity check.................................................................30
6.5.1 General........................................................................................................................................ 31
3GPP
3G TS 33.102 version 3.2.0 6 3G TS 33.102 V3.2.0 (1999-10)
3GPP
3G TS 33.102 version 3.2.0 7 3G TS 33.102 V3.2.0 (1999-10)
3GPP
3G TS 33.102 version 3.2.0 8 3G TS 33.102 V3.2.0 (1999-10)
Foreword
This Technical Specification has been produced by the 3GPP.
The contents of the present document are subject to continuing work within the TSG and may change following
formal TSG approval. Should the TSG modify the contents of this TS, it will be re-released by the TSG with an
identifying change of release date and an increase in version number as follows:
Version 3.y.z
where:
y the second digit is incremented for all changes of substance, i.e. technical enhancements, corrections,
updates, etc.
z the third digit is incremented when editorial only changes have been incorporated in the specification.
3GPP
3G TS 33.102 version 3.2.0 9 3G TS 33.102 V3.2.0 (1999-10)
1 Scope
This specification defines the security architecture, i.e., the security features and the security mechanisms, for the
third generation mobile telecommunication system.
A security feature is a service capabilities that meets one or several security requirements. The complete set of
security features address the security requirements as they are defined in "3G Security: Threats and Requirements"
(21.133 [1]). A security mechanism is an element that is used to realise a security feature. All security features and
security requirements taken together form the security architecture.
An example of a security feature is user data confidentiality. A security mechanism that may be used to implement
that feature is a stream cipher using a derived cipher key.
2 References
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.
[2] 3G TS 33.120: "3rd Generation Partnership Project (3GPP); Technical Specification Group (TSG)
SA; 3G Security; Security Principles and Objectives".
[8] Annex 8 of "Requirements and Objectives for 3G Mobile Services and systems" – "Security
Design Principles".
[9] ETSI GSM 09.02 Version 4.18.0: Mobile Application Part (MAP) Specification.
[11] ETSI SAGE: Specification of the BEANO encryption algorithm, Dec. 1995 (confidential).
[12] ETSI SMG10 WPB: SS7 Signalling Protocols Threat Analysis , Input Document AP 99-28 to
SMG10 Meeting#28, Stockholm, Sweden.
[13] 3G TS 33.105: "3rd Generation Partnership Project (3GPP); Technical Specification Group (TSG)
SA; 3G Security; Cryptographic Algorithm Requirements".
3GPP
3G TS 33.102 version 3.2.0 10 3G TS 33.102 V3.2.0 (1999-10)
[15] GSM 02.22 version 6.0.0: "Personalisation of GSM Mobile Equipment (ME); Mobile
functionality specification".
[16] GSM 02.48, version 6.0.0: "Security Mechanisms for the SIM Application Toolkit; Stage 1".
[17] GSM 02.60, version 7.0.0: "GPRS; Service Description; Stage 1".
[19] GSM 03.48, version 6.1.0; "Security Mechanisms for the SIM application toolkit; Stage 2".
[20] GSM 03.60, version 7.0.0: "GPRS; Service Description; Stage 2".
[22] GSM 11.14, version 7.1.0: "Specification of SIM Application Toolkit for SIM-terminal
interface".
UMTS documents:
[25] UMTS 23.20, version 1.4.0: "Evolution of the GSM platform towards UMTS".
3.1 Definitions
For the purposes of the present document, the following definitions apply:
Confidentiality: The property that information is not made available or disclosed to unauthorised individuals, entities
or processes.
Data integrity: The property that data has not been altered in an unauthorised manner.
Data origin authentication: The corroboration that the source of data received is as claimed.
Key freshness: A key is fresh if it can be guaranteed to be new, as opposed to an old key being reused through
actions of either an adversary or authorised party.
3.2 Symbols
For the purposes of the present document, the following symbols apply:
|| Concatenation
Å Exclusive or
f1 Message authentication function used to compute MAC
f2 Message authentication function used to compute RES and XRES
f3 Key generating function used to compute CK
f4 Key generating function used to compute IK
f5 Key generating function used to compute AK
3GPP
3G TS 33.102 version 3.2.0 11 3G TS 33.102 V3.2.0 (1999-10)
3.3 Abbreviations
For the purposes of the present document, the following abbreviations apply:
3GPP
3G TS 33.102 version 3.2.0 12 3G TS 33.102 V3.2.0 (1999-10)
Five security feature groups are defined. Each of these feature groups meets certain threats, accomplishes certain
security objectives:
- Network access security (I): the set of security features that provide users with secure access to 3G services,
and which in particular protect against attacks on the (radio) access link;
- Network domain security (II): the set of security features that enable nodes in the provider domain to
securely exchange signalling data, and protect against attacks on the wireline network;
- User domain security (III): the set of security features that secure access to mobile stations
- Application domain security (IV): the set of security features that enable applications in the user and in the
provider domain to securely exchange messages.
- Visibility and configurability of security (V): the set of features that enables the user to inform himself
whether a security features is in operation or not and whether the use and provision of services should depend
on the security feature.
3GPP
3G TS 33.102 version 3.2.0 13 3G TS 33.102 V3.2.0 (1999-10)
5 Security features
- user identity confidentiality: the property that the permanent user identity (IMUI) of a user to whom a
services is delivered cannot be eavesdropped on the radio access link;
- user location confidentiality: the property that the presence or the arrival of a user in a certain area cannot be
determined by eavesdropping on the radio access link;
- user untraceability: the property that an intruder cannot deduce whether different services are delivered to the
same user by eavesdropping on the radio access link.
To achieve these objectives, the user is normally identified by a temporary identity by which he is known by the
visited serving network, or by an encrypted permanent identity. To avoid user traceability, which may lead to the
compromise of user identity confidentiality, the user should not be identified for a long period by means of the same
temporary or encrypted identity. To achieve these security features, in addition it is required that any signalling or
user data that might reveal the user’s identity is ciphered on the radio access link.
Clause 6.1 describes a mechanism that allows a user to be identified on the radio path by means of a temporary
identity by which he is known in the visited serving network. This mechanism should normally be used to identify a
user on the radio path in location update requests, service requests, detach requests, connection re-establishment
requests, etc..
Clause 6.2 describes a mechanism that allows a user to be identified on the radio path in case he is not known in the
visited serving network by a temporary identity. It provides a transparent channel between the USIM and the user’s
HE that provides the user’s HE with the option to implement a mechanism that allows identification by means of an
encrypted permanent identity. The serving network then has to forward the encrypted permanent identity to the user’s
HE for decryption and receives the user’s permanent identity from the user’s HE. A possible mechanism that makes
use of symmetric key encryption using group keys is included in Annex B. Alternatively, the user’s HE environment
has the option to let the user identify himself by means of its permanent identity in cleartext. Either of both
mechanisms should be used to identify a user on the radio path, whenever the user is not known by a temporary
identity in the serving network.
- authentication mechanism agreement: the property that the user and the serving network can securely
negotiate the mechanism for authentication and key agreement that they shall use subsequently;
- user authentication: the property that the serving network corroborates the user identity of the user;
- network authentication: the property that the user corroborates that he is connected to a serving network that
is authorised by the user’s HE to provide him services; this includes the guarantee that this authorisation is
recent.
To achieve these objectives, it is assumed that entity authentication should occur at each connection set-up between
the user and the network. Two mechanisms have been included: an authentication mechanism using an authentication
vector delivered by the user’s HE to the serving network, and a local authentication mechanism using the integrity
key established between the user and serving network during the previous execution of the authentication and key
establishment procedure.
3GPP
3G TS 33.102 version 3.2.0 14 3G TS 33.102 V3.2.0 (1999-10)
Clause 6.3 describes an authentication and key establishment mechanism that achieves the security features listed
above and in addition establishes a secret cipher key (see 5.1.3) and integrity key (see 5.1.4) between the user and the
serving network. This mechanism should be invoked by the serving network after a first registration of a user in a
serving network and after a service request, location update request, attach request, detach request or connection re-
establishment request, when the maximum number of local authentications using the derived integrity key have been
conducted.
Clause 6.5 describes the local authentication mechanism. The local authentication mechanism achieves the security
features user authentication and network authentication and uses an integrity key established between user and
serving network during the previous execution of the authentication and key establishment procedure. This
mechanism should be invoked by the serving network after a service request, location update request, attach request,
detach request or connection re-establishment request, provided that the maximum number of local authentications
using the same derived integrity key has not been reached yet.
5.1.3 Confidentiality
The following security features are provided with respect to confidentiality of data on the network access link:
- cipher algorithm agreement: the property that the MS and the SN can securely negotiate the algorithm that
they shall use subsequently;
- cipher key agreement: the property that the MS and the SN agree on a cipher key that they may use subse-
quently;
- confidentiality of user data: the property that user data cannot be overheard on the radio access interface;
- confidentiality of signalling data: the property that signalling data cannot be overheard on the radio access
interface;
Cipher key agreement is realised in the course of the execution of the mechanism for authentication and key
agreement (see 6.3). Cipher algorithm agreement is realised by means of a mechanism for security mode negotiation
between the user and the network (see 6.6.9). This mechanism also enables the selected ciphering algorithm and the
agreed cipher key to be applied in the way described in 6.6.
- integrity algorithm agreement: the property that the MS and the SN can securely negotiate the integrity
algorithm that they shall use subsequently;
- integrity key agreement: the property that the MS and the SN agree on an integrity key that they may use
subsequently;
- data integrity and origin authentication of signalling data: the property that the receiving entity (MS or SN)
is able to verify that signalling data has not been modified in an unauthorised way since it was sent by the
sending entity (SN or MS) and that the data origin of the signalling data received is indeed the one claimed;
Integrity key agreement is realised in the course of the execution of the mechanism for authentication and key
agreement (see 6.3). Integrity algorithm agreement is realised by means of a mechanism for security mode
negotiation between the user and the network (see 6.6.9). This mechanism also enables the selected integrity
algorithm and the agreed integrity key to be applied in the way described in 6.4.
3GPP
3G TS 33.102 version 3.2.0 15 3G TS 33.102 V3.2.0 (1999-10)
- authentication mechanism agreement: the property that two network entities can securely negotiate the
mechanism for authentication that they shall use subsequently;
- network element authentication: the property that a network element corroborates the identity of another
network element it wants to communicate with;
This feature ensures that no malicious operational or maintenance commands can be injected into a network domain
by an intruder. It provides network elements, in particular network elements belonging to different network operators,
with the possibility to corroborate each other’s identities before exchanging data.
This goal may be achieved either by an explicit or implicit entity authentication mechanism, to be performed each
time data are exchanged between two network entities. Implicit authentication is realised by exchanging encrypted
messages only, so that only an entity in possession of a certain shared key can make use of the data. The shared keys
may be distributed among the network elements of a single operator in a manner outlined in Annex D.
Explicit authentication mechanisms can be achieved by asymmetrically based protocols (e.g. by using digital
signatures) or by symmetric (e.g. challenge-response) protocols. Again, for explicit symmetric authentication, the
necessary keys may be distributed as proposed in Annex E.
- cipher algorithm agreement: the property that two network elements can securely negotiate the algorithm
that they shall use subsequently;
- cipher key agreement: the property that two network elements agree on a cipher key that they may use
subsequently;
- confidentiality of exchanged data: the property that data exchanged between two network elements cannot be
eavesdropped;
In case authentication data can be eavesdropped in the network domain, serious fraud problems will arise. Therefore,
these features are needed to ensure the confidentiality of sensitive data, e.g. authentication or other subscriber data
inside the network domain. The first two features may be realised in course of an authentication mechanism
performed by the network elements; the agreed cipher key is then used for securing signalling and user data by means
of the agreed cipher algorithm.
- integrity algorithm agreement: the property that two network elements can securely negotiate the integrity
algorithm that they shall use subsequently;
- integrity key agreement: the property that two network elements agree on an integrity key that they may use
subsequently;
- data integrity and data origin authentication of signalling data: the property that the receiving network
element is able to verify that signalling data has not been modified in an unauthorised way since it was sent by
the sending element and that the data origin of the signalling data received is indeed the one claimed;
3GPP
3G TS 33.102 version 3.2.0 16 3G TS 33.102 V3.2.0 (1999-10)
The feature data integrity of signalling data ensures that operation and maintenance commands or user data
exchanged between two network elements cannot be modified by an intruder without being detected, while the third
feature ensures that no malicious operational or maintenance commands can be injected into a network domain by an
intruder
The first two features may be realised in course of an authentication mechanism performed by the network entities
involved; the agreed integrity key is then used for securing integrity of the exchanged data by means of the agreed
integrity algorithm.
The following security features are provided with respect to protecting messages transferred to applications on the
USIM over the 3GMS network:
- Entity authentication of applications: the property that two applications are able to corroborate each other’s
identity.
- Data origin authentication of application data: the property that the receiving application is able to verify
the claimed data origin of the application data received;
- Data integrity of application data: the property that the receiving application is able to verify that
application data has not been modified since it was sent by the sending application;
- Replay detection of application data: the property that an application is able to detect that the application
data that it receives is replayed;
- Sequence integrity of application data: the property that an application is able to detect that the application
data that it receives is received in sequence;
3GPP
3G TS 33.102 version 3.2.0 17 3G TS 33.102 V3.2.0 (1999-10)
- Proof of receipt: the property that the sending application can proof that the receiving application has
received the application data sent.
- Confidentiality of application data: the property that application data is not disclosed to unauthorised parties.
Note: It is assumed that these security features will be based on GSM SIM Application Toolkit security
features. Further work is required to identify what enhancements need to be made to SIM Application
Toolkit security. Possible areas of enhancement may include: key management support, enhancement
of security mechanisms/features, increased flexibility in algorithm choice and security parameter size.
A joint 3GPP TSG-SA ‘Security’/3GPP TSG-T ‘USIM’ working group may be required to progress this
issue.
5.4.4 IP security
[ffs]
- indication of access network encryption: the property that the user is informed whether the confidentiality of
user data is protected on the radio access link, in particular when non-ciphered calls are set-up;
- indication of network-wide encryption: the property that the user is informed whether the confidentiality of
user data is protected along the entire communication path;
- indication of the level of security: the property that the user is informed on the level of security that is
provided by the visited network, in particular when a user is handed over or roams into a network with lower
security level (3G à 2G).
5.5.2 Configurability
Configurability is the property that that the user and the user’s HE can configure whether the use or the provision of a
service should depend on whether a security feature is in operation. A service can only be used if all security features,
which are relevant to that service and which are required by the configurations of the user or of the user’s HE, are in
operation. The following configurability features are suggested:
- Enabling/disabling user-USIM authentication: the user and/or user’s HE should be able to control the operation
of user-USIM authentication, e.g., for some events, services or use.
- Accepting/Rejecting incoming non-ciphered calls: the user and/or user’s HE should be able to control whether
the user accepts or rejects incoming non-ciphered calls;
- Setting up or not setting-up non-ciphered calls: the user and/or user’s HE should be able to control whether the
user sets up connections when ciphering is not enabled by the network;
- Accepting/rejecting the use of certain ciphering algorithms: the user and/or user’s HE should be able to control
3GPP
3G TS 33.102 version 3.2.0 18 3G TS 33.102 V3.2.0 (1999-10)
The TMUI, when available, is normally used to identify the user on the radio access path, for instance in paging
requests, location update requests, attach requests, service requests, connection re-establishment requests and detach
requests.
The procedure should be performed after the initiation of ciphering. The ciphering of communication over the radio
path is specified in clause 6.6. The allocation of a temporary identity is illustrated in Figure 2.
The VLR generates a new temporary identity (TMUIn) and stores the association of TMUIn and the permanent
identity IMUI in its database. The TMUI should be unpredictable. The VLR then sends the TMUIn and (if necessary)
the new location area identity LAIn to the user.
Upon receipt the user stores TMUIn and automatically removes the association with any previously allocated TMUI.
The user sends an acknowledgement back to the VLR.
Upon receipt of the acknowledgement the VLR removes the association with the old temporary identity TMUIo and
the IMUI (if there was any) from its database.
For a user-originated transaction, the network shall allow the user to identify itself by either the old temporary
identity TMUIo or the new temporary identity TMUIn. This allows the network to determine the temporary identity
stored in the mobile station. The network shall subsequently delete the association between the other temporary
identity and the IMUI, to allow the temporary identity to be allocated to another user.
3GPP
3G TS 33.102 version 3.2.0 19 3G TS 33.102 V3.2.0 (1999-10)
For a network-originated transaction, the network shall identify the user by its permanent identity (IMUI). When
radio contact has been established, the network shall instruct the user to delete any stored TMUI. When the network
receives an acknowledgement from the user, the network shall delete the association between the IMUI and any
TMUI to allow the released temporary identities to be allocated to other users.
Subsequently, in either of the cases above, the network may initiate the normal TMUI reallocation procedure.
Repeated failure of TMUI reallocation (passing a limit set by the operator) may be reported for O&M action.
In case a user identifies itself using a TMUIo/LAIo pair that was not assigned by the visited VLRn and the visited
VLRn and the previously visited VLRo exchange authentication data, the visited VLRn should request the previously
visited VLRo to send the permanent user identity. This mechanism is described in 6.3.4, it is integrated in the
mechanism for distribution of authentication data between VLRs. If the previously visited VLRo cannot be contacted
or cannot retrieve the user identity, the visited VLRn should request the user to identify itself by means of its
permanent user identity. This mechanism is described in 6.2.
The mechanism should be invoked by the serving network whenever the user cannot be identified by means of a
temporary identity. In particular, it should be used when the user registers for the first time in a serving network, or
when the serving network cannot retrieve the IMUI from the TMUI by which the user identifies itself on the radio
path.
The mechanism is initiated by the visited SN/VLR that requests the user to send its permanent identity. According to
the user’s preferences, his response may contain either 1) the IMUI in cleartext, or 2) the user’s HE-identity in
cleartext and an HE-message that contains an encrypted IMUI.
Note: The term HE-id denotes the 3G equivalent of the information contained in MCC || MNC.
In case the response contains the IMUI in cleartext, the procedure is ended successfully. This variant represents a
breach in the provision of user identity confidentiality.
3GPP
3G TS 33.102 version 3.2.0 20 3G TS 33.102 V3.2.0 (1999-10)
In case the response contains an encrypted IMUI, the visited SN/VLR forwards the HE message to the user’s HE in a
request to send the user’s IMUI. The user’s HE then derives the IMUI from the HE-message and sends the IMUI back
to the SN/VLR. Annex B describes an example mechanism that makes use of group keys to encrypt the IMUI.
The method was chosen in such a way as to achieve maximum compatibility with the current GSM security
architecture and facilitate migration from GSM to UMTS. The method is composed of a challenge/response protocol
identical to the GSM subscriber authentication and key establishment protocol combined with a sequence number-
based one-pass protocol for network authentication derived from the ISO standard ISO/IEC 9798-4 (section 5.1.1).
3GPP
3G TS 33.102 version 3.2.0 21 3G TS 33.102 V3.2.0 (1999-10)
Upon receipt of a request from the SN/VLR, the HE/AuC sends an ordered array of n authentication vectors (the
equivalent of a GSM "triplet") to the SN/VLR. Each authentication vector consists of the following components: a
random number RAND, an expected response XRES, a cipher key CK, an integrity key IK and an authentication
token AUTN. Each authentication vector is good for one authentication and key agreement between the SN/VLR and
the USIM.
When the SN/VLR initiates an authentication and key agreement, it selects the next authentication vector from the
array and sends the parameters RAND and AUTN to the user. The USIM checks whether AUTN can be accepted and,
if so, produces a response RES which is sent back to the SN/VLR. The USIM also computes CK and IK. The
SN/VLR compares the received RES with XRES. If they match the SN/VLR considers the authentication and key
agreement exchange to be successfully completed. The established keys CK and IK will then be transferred by the
USIM and the SN/VLR to the entities which perform ciphering and integrity functions.
SN/VLRs can offer secure service even when HE/AuC links are unavailable by allowing them to use previously
derived cipher and integrity keys for a user so that a secure connection can still be set up without the need for an
authentication and key agreement. Authentication is in that case based on a shared integrity key, by means of data
integrity protection of signalling messages (see 6.4).
The authenticating parties shall be the AuC of the user’s HE (HE/AuC) and the USIM in the user’s mobile station.
The mechanism consists of the following procedures:
A procedure to distribute authentication information from the HE/AuC to the SN/VLR. This procedure is described in
6.3.2. The SN/VLR is assumed to be trusted by the user’s HE to handle authentication information securely. It is also
assumed that the intra-system links between the SN/VLR to the HE/AuC are adequately secure. Mechanisms to
secure these links are described in clause 7. It is further assumed that the user trusts the HE.
A procedure to mutually authenticate and establish new cipher and integrity keys between the SN/VLR and the MS.
This procedure is described in 6.3.3.
A procedure to distribute authentication data from a previously visited VLR to the newly visited VLR. This procedure
is described in 6.3.4. It is also assumed that the links between SN/VLRs are adequately secure. Mechanisms to secure
these links are described in clause 7.
The SN/VLR invokes the procedures by requesting authentication vectors to the HE/AuC.
The authentication data request shall include a user identity. If the user is known in the SN/VLR by means of the
IMUI, the authentication data request shall include the IMUI. However, if the user is identified by means of an
encrypted permanent identity (see 6.2), the HLR-message from which the HE can derive the IMUI is included
instead. In that case, this procedure and the procedure user identity request to the HLR are integrated.
Upon the receipt of the authentication data request from the SN/VLR, the HE may have pre-computed the required
number of authentication vectors and retrieve them from the HLR database or may compute them on demand. The
HE/AuC sends an authentication response back to the SN/VLR that contains an ordered array of n authentication
vectors AV(1..n).
3GPP
3G TS 33.102 version 3.2.0 22 3G TS 33.102 V3.2.0 (1999-10)
The HE/AuC starts with generating a fresh sequence number SQN and an unpredictable challenge RAND.
To generate a fresh sequence number, the counter is incremented and subsequently the SQN is set to the new counter
value.
Note 1: The HE has some flexibility in the management of sequence numbers. Annex C and Annex F.3 contain
alternative methods for the generation and verification of sequence numbers.
An authentication and key management field AMF is included in the authentication token of each authentication
vector. Example uses of this field are included in Annex F.
- a message authentication code MAC = f1 K(SQN || RAND || AMF) where f1 is a message authentication
function;
- an expected response XRES = f2K (RAND) where f2 is a (possibly truncated) message authentication function;
Here, AK is an anonymity key used to conceal the sequence number as the latter may expose the identity and location
of the user. The concealment of the sequence number is to protect against passive attacks only.
Note 1: The need for f5 to use a long-term key different from K is ffs.
3GPP
3G TS 33.102 version 3.2.0 23 3G TS 33.102 V3.2.0 (1999-10)
Note 3: It is also ffs in how far the functions f1, ..., f5 need to differ and how they may be suitably combined.
The SN/VLR invokes the procedure by selecting the next unused authentication vector from the ordered array of
authentication vectors in the VLR database. The SN/VLR sends to the user the random challenge RAND and an
authentication token for network authentication AUTN from the selected authentication vector.
3GPP
3G TS 33.102 version 3.2.0 24 3G TS 33.102 V3.2.0 (1999-10)
Upon receipt of RAND and AUTN the user first computes the anonymity key AK = f5 K (RAND) and retrieves the
sequence number SQN = (SQN Å AK) Å AK.
Next the user computes XMAC = f1 K (SQN || RAND || AMF) and compares this with MAC which is included in
AUTN. If they are different, the user sends user authentication reject back to the SN/VLR with an indication of the
cause and the user abandons the procedure.
Next the user verifies that the received sequence number SQN is in the correct range.
To verify that the sequence number SQN is in the correct range, the USIM compares SQN with SQN MS. If SQN >
SQNMS the MS considers the sequence number to be in the correct range and subsequently sets SQN MS to SQN.
Note: The MS and the HE have some flexibility in the management of sequence numbers. Annex C and
Annex F.3 contain alternative methods for the generation and verification of sequence numbers.
If the user considers the sequence number to be not in the correct range, he sends synchronisation failure back to the
SN/VLR including an appropriate parameter, and abandons the procedure.
3GPP
3G TS 33.102 version 3.2.0 25 3G TS 33.102 V3.2.0 (1999-10)
The AMF used to calculate MACS assumes a dummy value of all zeros so that it does not need to be transmitted in
the clear in the re-synch message.
If the sequence number is considered to be in the correct range however, the user computes RES = f2 K (RAND) and
includes this parameter in a user authentication response back to the SN/VLR. Finally the user computes the cipher
key CK = f3K (RAND) and the integrity key IK = f4 K (RAND). Note that if this is more efficient, RES, CK and IK
could also be computed earlier at any time after receiving RAND. The MS stores RAND for re-synchronisation
purposes.
Upon receipt of user authentication response the SN/VLR compares RES with the expected response XRES from the
selected authentication vector. If XRES equals RES then the authentication of the user has passed. The SN/VLR also
selects the appropriate cipher key CK and integrity key IK from the selected authentication vector.
Conditions on the use of authentication information by the SN/VLR: Using the procedures described in
subsections 6.3.1, 6.3.2 and 6.3.4, authentication vectors will have to be used in the specific order in which they were
generated, otherwise the user will reject the authentication attempt. The SN/VLR shall use an authentication vector
only once and, hence, shall send out each user authentication request RAND || AUTN only once no matter whether the
authentication attempt was successful or not. A consequence is that authentication vectors cannot be reused. When a
user changes from one VLR to another one and the new VLR requests remaining authentication vectors from the old
VLR (cf. subsection 6.3.4) then the old VLR shall not retain any copies of these authentication vectors. When a VLR
receives a “cancel location” request for a certain user it shall delete all authentication vectors relating to that user.
When a VLR receives a location update request from a user and the VLR notices that authentication vectors relating
to that user are still stored in the VLR it will delete this information and request fresh authentication vectors from the
HE/AuC.
Different rules may apply when one of the alternative schemes for sequence number handling described in Annex C
or Annex F.3 are applied. This is true in particular when the schemes based on windows or lists described in Annexes
C.3 and C.4 are applied.
3GPP
3G TS 33.102 version 3.2.0 26 3G TS 33.102 V3.2.0 (1999-10)
The procedure is invoked by the newly visited SN/VLRn after a location update request sent by the user. Typically
the user identifies himself using a temporary user identity TMUIo and the location area identity LAIo of a location
area under the jurisdiction of SN/VLRo. In that case this procedure is integrated with the procedure described in
6.1.4.
Upon receipt of the request the VLRo verifies whether it has any unused authentication vectors of the appropriate
mode in its database and if so, sends the unused authentication vectors to VLRn. The previously visited VLRo shall
then delete these authentication vectors from its database.
If VLRo indicates that it has no authentication vectors or the VLRo cannot be contacted, VLRn should request new
authentication vectors from the user’s HE using the procedure described in 6.3.2.
Upon receiving a synchronisation failure message from the user, the SN/VLR sends an authentication data request
with a “synchronisation failure indication” to the HE/AuC, together with the parameters
- RANDMS || AUTS received by the SN/VLR in the response to that request, as described in subsection 6.3.3.
3GPP
3G TS 33.102 version 3.2.0 27 3G TS 33.102 V3.2.0 (1999-10)
An SN/VLR will not react to unsolicited “ synchronisation failure indication” messages from the MS.
The SN/VLR does not send new user authentication requests to the user before having received the response to its
authentication data request from the HE/AuC (or before it is timed out).
When the HE/AuC receives an authentication data request with a “synchronisation failure indication” it acts as
follows: The HE/AuC verifies AUTS by computing f5K(RANDMS), retrieving SQNMS from Conc(SQNMS) and verifying
MACS (cf. subsection 6.3.3.). If the verification is successful, but SQNMS is such that SQNHE is not in the correct range
then the HE/AuC resets the value of the counter SQNHE to SQNMS.
Otherwise, the HE/AuC leaves SQNHE unchanged.
In all cases the HE/AuC sends an authentication data response with a new batch of authentication vectors to the
SN/VLR. If the counter SQNHE was not reset then these authentication vectors can be taken from storage, otherwise
they are newly generated after resetting SQNHE. In order to reduce the real-time computation burden on the HE/AuC,
the HE/AuC may also send only a single authentication vector in the latter case.
Whenever the SN/VLR receives a new batch of authentication vectors from the HE/AuC in an authentication data
response it deletes the old ones for that user in the VLR.
The user may now be authenticated based on a new authentication vector from the HE/AuC.
Optionally, in order to minimise extra effort by the HE/AuC, in an authentication data request with synchronisation
failure indication the SN/VLR may also send the concealed sequence number Conc(SQNSN) corresponding to the last
authentication vector received which the SN/VLR has in storage, i.e. it may send Conc(SQNSN) = RANDSN ||
SQNSNf5K(RANDMS).
On receipt the HE/AuC retrieves SQNSN from Conc(SQNSN). If the counter in the HE/AuC did not have to be reset and
if SQNSN = SQNHE the HE/AuC informs the SN/VLR accordingly and does not send fresh authentication vectors. (In
this way, a synchronisation failure does not cause the HE/AuC to produce extra authentication vectors when they are
not needed.)
Figure 11 shows how re-synchronisation is achieved by combining a user authentication request answered by a
synchronisation failure message (as described in subclause 6.3.3) with an authentication data request with
synchronisation failure indication answered by an authentication data response (as described in this subclause).
MS SN HE
3GPP
3G TS 33.102 version 3.2.0 28 3G TS 33.102 V3.2.0 (1999-10)
Note 1: If the counters would derive sequence numbers from time (see Annex C), then a 32-bit counter that is
derived from the number of seconds that have elapsed since January 1, 2000 would only wrap around in
the year 2136. So a length of 32-bits for the sequence numbers and counters should be sufficient. For
individual incremental counters, a smaller range of sequence numbers should be sufficient, as
authentication and key agreement is expected to occur far less frequently than once every second.
Shorter lengths would however exclude the use of time-derived sequence numbers.
Note 2: Sequence numbers for CS and PS operation are expected to have the same length.
When the SN/VLR authenticates a user for the first time after receiving a new value SQN LO from the MS then the
SN/VLR checks whether the sequence number of the authentication vector it wants to use is greater than SQN LO. The
SN/VLR uses the AV only if this is the case. Otherwise, the AV is discarded. If all AVs have to be discarded the
SN/VLR requests new ones from the HE/AuC.
The network shall compare its integrity protection capabilities and preferences, and any special requirements of the
subscription of the MS, with those indicated by the MS and act according to the following rules:
1) If the MS and the SN have no versions of the UIA algorithm in common, then the connection shall be released.
2) If the MS and the SN have at least one version of the UIA algorithm in common, then the network shall select
one of the mutually acceptable versions of the UIA algorithm for use on that connection.
The network shall compare its ciphering capabilities and preferences, and any special requirements of the
subscription of the MS, with those indicated by the MS and act according to the following rules:
1) If the MS and the network have no versions of the UEA algorithm in common and the network is not prepared
to use an unciphered connection, then the connection shall be released.
2) If the MS and the network have at least one version of the UEA algorithm in common, then the network shall
select one of the mutually acceptable versions of the UEA algorithm for use on that connection.
3) If the MS and the network have no versions of the UEA algorithm in common and the user (respectively the
user’s HE) and the SN are willing to use an unciphered connection, then an unciphered connection shall be
used.
3GPP
3G TS 33.102 version 3.2.0 29 3G TS 33.102 V3.2.0 (1999-10)
Each time an RRC connection is released the highest value of the hyperframe number (the current value of COUNT)
of the bearers that were protected in that RRC connection is stored in the USIM. When the next RRC connection is
established that value is read from the USIM and incremented by one.
The USIM shall trigger the generation of a new access link key set (a cipher key and an integrity key) if the counter
reaches a maximum value set by the operator and stored in the USIM at the next RRC connection request message
sent out.
This mechanism will ensure that a cipher/integrity key set cannot be reused more times than the limit set by the
operator.
The key set identifier is used to allow key re-use during subsequent connection set-ups. The KSI is used to verify
whether the MS and the SN are to use the same cipher key and integrity key.
3GPP
3G TS 33.102 version 3.2.0 30 3G TS 33.102 V3.2.0 (1999-10)
Note 1: The network must have the “UE security capability” information, which is part of the “UE Classmark”,
before the integrity protection can start, i.e. the “UE Classmark” must be sent to the network in an
unprotected message. Returning the “UE Classmark” later on to the UE in a protected message will
give UE the possibility to verify that it was the correct “UE Classmark” that reached the network.
This latter point, as well as the RRC interwork described below, is yet to be agreed in RAN WG2.
3GPP
3G TS 33.102 version 3.2.0 31 3G TS 33.102 V3.2.0 (1999-10)
the list.The SRNC generates a random value FRESH and initiates the downlink integrity protection. If
SRNC supports no UIA algorithms in the list, it sends a SECURITY MODE REJECT message to CN.
7. The SRNC generates the RRC message Security control command. The message includes the UE
classmark IE, the UIA and FRESH to be used and possibly also the UEA to be used. Additional
information (start of ciphering) may also be included. Since we have two CNs with an IK each, the
network must indicate which IK to use. This is obtained by including a CN type indicator information in
“Security control command”. Before sending this message to the UE, the SRNC generates the MAC-I
(Message Authentication Code for Integrity) and attaches this information to the message.
8. At reception of the Security control command message, the UE controls that the UE classmark IE
received is equal to the UE classmark IE sent in the initial message. The UE computes XMAC-I on the
message received by using the indicated UIA, the stored COUNT-I and the received FRESH parameter.
The UE verifies the integrity of the message by comparing the received MAC-I with the generated
XMAC-I.
9. If all controls are successful, the UE compiles the RRC message Security control command response
and generates the MAC-I for this message. If any control is not successful, a SECURITY CONTROL
REJECT message is sent from the UE .
10. At reception of the response message, the SRNC computes the XMAC-I on the message. The SRNC
verifies the data integrity of the message by comparing the received MAC-I with the generated XMAC-
I.
11. The transfer of the RANAP message Security Mode Complete response from SRNC to the CN node
ends the procedure.
The Security mode command to UE starts the downlink integrity protection, i.e. also all following downlink
messages sent to the UE are integrity protected and possibly ciphered. The Security mode command
response from UE starts the uplink integrity protection and possible ciphering, i.e. also all following
messages sent from the UE are integrity protected and possibly ciphered.
The following procedure is used by the RNC to request the CN to perform an authentication and to provide a new CK
and IK in case of unsuccessful integrity check. This can happen on the RNC side or in the UE side. In the latter case
the UE sends a SECURITY CONTROL REJECT message to the RNC.
RNC detects that new security parameters are needed. This may be triggered by (repeated) failure of integrity checks
(e.g. COUNT-I went out of synchronisation), or at handover the new RNC does not support an algorithm selected by
the old RNC, etc.
1. RNC sends a SECURITY CHECK REQUEST message to CN (indicating cause of the request).
2. The CN performs the authentication and key agreement procedure.
3. If the authentication is successful, the CN sends a Security mode command to RNC. This will restart the ciphering
and integrity check with new parameters. If the authentication is not successful, the CN sends a SECURITY CHECK
3GPP
3G TS 33.102 version 3.2.0 32 3G TS 33.102 V3.2.0 (1999-10)
The UMTS Integrity Algorithm (UIA) shall be used with an Integrity Key (IK) to compute a message authentication
code for a given message.
All signalling messages except the following ones shall be integrity protected:
- Notification
- Paging Type 1
Figure 12 illustrates the use of the UIA to authenticate the data integrity of a signalling message.
The input parameters to the algorithm are the Integrity Key (IK), a time dependent input (COUNT-I), a random value
generated by the network side (FRESH), the direction bit (DIRECTION) and the signalling data (MESSAGE). Based
on these input parameters the user computes message authentication code for data integrity (MAC-I) using the UMTS
Integrity Algorithm (UIA). The MAC-I is then appended to the message when sent over the radio access link. The
receiver computes XMAC-I on the message received in the same way as the sender computed MAC-I on the message
sent and verifies the data integrity of the message by comparing it to the received MAC-I.
The input parameter COUNT-I protects against replay during a connection. It is a value incremented by one for each
3GPP
3G TS 33.102 version 3.2.0 33 3G TS 33.102 V3.2.0 (1999-10)
integrity protected message. COUNT-I consists of two parts: the HYPERFRAME NUMBER (HFN) as the most
significant part and a RRC Sequence Number as the least significant part. The initial value of the hyperframe number
is sent by the user to the network at connection set-up. The user stores the greatest used hyperframe number from the
previous connection and increments it by one (see 6.4.5xxx). In this way the user is assured that no COUNT-I value is
re-used (by the network) with the same integrity key.
The input parameter FRESH protects network against replay of signalling messages by the user. At connection set-up
the network generates a random value FRESH and sends it to the user. The value FRESH is subsequently used by
both the network and the user throughout the duration of a single connection. This mechanism assures the network
that the user is not replaying any old MAC-Is.
These needs for a protected mode of transmission are fulfilled by a confidentiality function which is applied on
dedicated channels between the MS and the RNC.
The UEA shall produce one output as a sequence of keystream bits referred to as a Key Stream Segment (KSS). A
KSS of length n shall be produced to encrypt a given segment of plaintext of length n. The bits of KSS are labelled
KSS(0), …KSS(n-1), where KSS(0) is the first bit output from the generator. The bits in the KSS shall be used to
encrypt or decrypt the data.
3GPP
3G TS 33.102 version 3.2.0 34 3G TS 33.102 V3.2.0 (1999-10)
Synchronisation is guarantied by driving UEA by an explicit time variable, COUNT, derived from an appropriate
frame number available at the MS and at the RNC.
The diagram below summarises the implementation indications listed above, with only one enciphering/deciphering
procedure represented (the second one for deciphering/enciphering is symmetrical).
6.6.4.2 Handover
Note: It is expected that in case of inter-operator handover a handover agreement exists that covers all
charging aspects. Agreements on cipher key transportation/re-use shall also be included.
1) Intra-system
When a handover occurs, the CK is transmitted within the system infrastructure from the old RNC to the new
one to enable the communication to proceed, and the synchronisation procedure is resumed. The key CK
remains unchanged at handover.
2) Inter-system
UMTS GSM
The GSM network entered by the user handing over will enable ciphering protection. This involves setting the
GSM cipher key (Kc).
The GSM cipher key shall be derived by the UMTS network by using the conversion functions specified in
section 6.3.8.1 for this purpose.
When handover occurs, the generated Kc is transmitted from the old MSC/VLR to the new one to enable the
communication to proceed.
GSM UMTS
The UMTS network entered by the user handing over from GSM will enable confidentiality protection. This
will involve setting the cipher key (CK). There are two options:
3GPP
3G TS 33.102 version 3.2.0 35 3G TS 33.102 V3.2.0 (1999-10)
When handover occurs, the CK is transmitted from the old MSC/VLR to the new one to enable the
communication to proceed.
b) Handover from a non-UMTS capable network. The method below is not recommended but presented if it
will be a service requirement. There are doubts whether there is a requirement for this kind of handover
and whether it is possible on, for instance, the MAP/E interface
The UMTS cipher key shall be derived by the UMTS network an UE by using the conversion functions
specified in section 6.3.8.2 for this purpose.
When handover occurs, the derived Kc is transmitted form the old MSC/VLR to the new one to enable the
communication to proceed.
If network-wide confidentiality of user traffic is provided we assume that access link confidentiality of user traffic
between UE and RNC will be replaced with the network-wide service. However, we note that access link
confidentiality of signalling information and user identity between UE and RNC will be applied regardless of whether
the network-wide user traffic confidentiality service is applied or not.
The provision of an network-wide confidentiality service in 3GMS has an obvious impact on lawful interception. We
assume that the same lawful interception interface is required in 3GMS as in second generation systems regardless of
whether network-wide confidentiality is applied by the network or not. Thus, we assume that it must be possible to
remove any network-wide confidentiality protection within the core network to provide access to plaintext user traffic
at the lawful interception interface.
We assume that network-wide confidentiality will be provided by protecting transmissions on user traffic channels
using a synchronous stream cipher. This will involve the specification of a standard method for ciphering user traffic
on an end-to-end basis and a standard method for managing the ciphering key required at the end points of the
protected channel.
The network-wide synchronous stream cipher shall contain a key stream generator which shall have (at least) two
inputs: the end-to-end cipher key (Ks) and an initialisation value (IV). The plaintext shall be encrypted using the key
stream by applying an exclusive-or operation to the plaintext on a bit per bit basis to generate the ciphertext. The
decryption operation shall involve applying the same key stream to the ciphertext to recover the plaintext.
Synchronisation of the key stream shall be achieved using the initialisation value. Synchronisation information shall
be available at both end points of the communication and shall be used to maintain alignment of the key stream. For
example, it might be necessary to transmit explicit end-to-end synchronisation frames with the user traffic at certain
intervals. Alternatively, it might be possible to use some existing frame structure for network-wide encryption
synchronisation purposes. The frequency at which synchronisation information must be made available at each end to
ensure reliable transmission will depend on the exact nature of the end-to-end user traffic channel.
Protection against replay of user traffic shall be achieved through the use of a time variable initialisation vector
3GPP
3G TS 33.102 version 3.2.0 36 3G TS 33.102 V3.2.0 (1999-10)
combined with a time variable cipher key. If the same cipher key is used in more than one call then it may be
necessary to include a third input to the key stream generator such as a call-id or a time-stamp to protect against
replay of the whole call. Note that the stream cipher does not protect against bit toggling so other mechanisms must
be used if this type of integrity protection is required on user traffic.
For encryption of voice traffic we assume that Transcoder Free Operation (TFO) is used between the two end points
such that the structure and ordering of the transmitted data is maintained with the same boundary conditions at each
end of the link. Note that in the initial phases of 3GMS, transcoder free operation may only be possible for user traffic
channels which terminate within the same serving network. Furthermore, TFO may only be possible if the entire
communication path is within the same serving network. Thus, in non optimal routing cases where the tromboning
effect occurs, TFO may not be available, even if the traffic channel terminates within the same serving network.
For encryption of data traffic we assume that a transparent data service is used between the two end points such that
the structure and ordering of transmitted data is maintained with the same boundary conditions at each end of the
link.
To satisfy lawful interception requirements it must be possible to decrypt end-to-end encrypted traffic within the core
network to provide access to plaintext user traffic. Thus decryption facilities (and the end-to-end encryption key)
must be available in the core network for lawful interception reasons. Note also that if transcoder free operation is
used on voice traffic channels, transcoders must be available in the core network for lawful interception reasons
whether network-wide encryption is provided or not.
- The ability to terminate network-wide encryption at network gateways for inter-network user traffic channels;
- The ability to handle multiparty calls, explicit call transfer and other supplementary services;
The key management scheme for network-wide encryption involves establishing an end-to-end session key between
the end points of the traffic channel. It should not be possible to obtain this key by eavesdropping on any transmission
links within the network. However, it may be possible to obtain the end-to-end key by compromising certain nodes
within the network (e.g. nodes where link encryption terminates).
To satisfy lawful interception requirements it must be possible to decrypt end-to-end encrypted traffic within the core
network to provide access to plaintext user traffic. Thus, the end-to-end encryption key (and decryption facilities)
must be available in the core network for lawful interception reasons.
- The ability to terminate network-wide encryption key management at network gateways for inter-network
user traffic channels.
3GPP
3G TS 33.102 version 3.2.0 37 3G TS 33.102 V3.2.0 (1999-10)
- Two UEs registered on the same serving network wish to set up an network-wide confidentiality protected call
- The appropriate user traffic channel for encryption can be established between the two UEs
- During connection establishment, the appropriate control information is transmitted to the called party
indicating that the incoming connection is end-to-end encrypted.
- During connection establishment, the appropriate control information is transmitted to the relevant VLRs (or
other core network entities) indicating that the connection being established is end-to-end encrypted.
- The keys Ka and Kb used to derive the end-to-end session key shall not be used for access link encryption of
other data, nor for the derivation of end-to-end session keys with other parties.
In this scheme VLRa and VLRb exchange access link cipher keys for UEa and UEb. VLRa then passes Kb to UEa,
while VLRb passes Ka to UEb. At each end the access link key is transmitted to the UE over protected signalling
channels (which may be protected using different access link keys Ka’ and Kb’). When each UE has received the
other party’s access link key, the end-to-end session key Ks is calculated as a function of Ka and Kb.
This key management scheme satisfies the lawful interception requirement since Ks can be generated by VLRa or
VLRb and then used by decryption facilities in the core network to provide plaintext user traffic at the lawful
interception interface.
- The exact mechanism by which the VLRs exchange access link keys during connection set up.
3GPP
3G TS 33.102 version 3.2.0 38 3G TS 33.102 V3.2.0 (1999-10)
Note: As opposed to the scheme in section 8.2.3, the access link keys Ka and Kb could be used for access link
encryption of other data.
The mechanism described here achieves intersystem operability between UMTS and GSM networks allowing secure
interoperation between both networks for UMTS users (USIM). The following figure illustrates the different scenarios
of interoperability for UMTS users:
UMTS
HLR/AuC
GSM AV
UMTS AV (RAND, SRES, Kc)
(RAND, XRES, CK, IK, AUTN)
UMTS AV
(RAND, XRES, CK,
IK, AUTN)
The UMTS authentication parameters are generated by the UMTS HLR/AuC and USIM by use of the home operator
specified algorithms for this purpose.
Upon receipt of an authentication data request from a UMTS SN/VLR or a UMTS capable GSM SN/VLR , the
HLR/AuC sends an ordered array of n UMTS authentication vectors (quintuples) to the SN/VLR.
If the UMTS MSC/VLR is able to handle GSM radio access network, the MSC/VLR shall be able to derive a GSM
authentication vector from the received UMTS vector, by means of the standardised conversion functions defined
below, in order to provide the GSM security parameters to the GSM radio access network. Whether GSM Data or
UMTS Data is used depends on the terminal capabilities.
Upon receipt of an authentication data request from a non-UMTS capable GSM SN/VLR, the HLR/AuC shall derive
the GSM authentication vectors from the UMTS vectors, by means of the standardised conversion functions defined
below. Then, the HLR/AuC sends an authentication response back to the SN/VLR that contains an ordered array of n
3GPP
3G TS 33.102 version 3.2.0 39 3G TS 33.102 V3.2.0 (1999-10)
GSM authentication vectors (triples). The HLR/AuC may have pre-computed GSM authentication vectors or may
derive them on demand from the UMTS authentication vectors.
On the mobile side, the USIM shall derive the GSM authentication parameters from the UMTS authentication
parameters by means of the standardised conversion functions, when the MS is located in the GSM radio access
network.
The previous procedures are also applicable to the corresponding PS network and so as to the corresponding SGSN
entity.
Subsequently the following entities shall implement the standardised conversion functions for generating GSM
authentication vectors (triplets) from UMTS authentication vectors (quintuplets):
UMTS HLR/AuC
UMTS MSC/VLR
UMTS SGSN
USIM
Interoperability with non-UMTS capable GSM entities is achieved by use of the standardised conversion functions
implemented in the HLR/AuC. The handover case is described in section 6.6.4.2.
The following conversion functions shall be computed for generating the GSM authentication parameters:
Generation of GSM Kc
f: (CK, IK) -> Kc; Kc = CK1 CK2 IK1 IK2
whereby CK1 (resp. IK1) is the first half and CK2 (resp. IK2) is the second half
of CK (resp. IK)
The GSM authentication vector is generated using the UMTS authentication parameters. Consequently, the generated
triplet depends on the UMTS authentication algorithms and inputs parameters for these algorithms, all this
information under the control of the HE, being the algorithms operator specific.
The GSM authentication and key generating algorithms are specified as follows:
3GPP
3G TS 33.102 version 3.2.0 40 3G TS 33.102 V3.2.0 (1999-10)
3GPP
3G TS 33.102 version 3.2.0 41 3G TS 33.102 V3.2.0 (1999-10)
GSM
HLR/AuC
GSM AV GSM AV
(RAND, SRES, Kc) (RAND, SRES, Kc)
GSM AV
(RAND, SRES, Kc)
The GSM authentication parameters are generated by the GSM HLR/AuC and the SIM by use of the home operator
specified algorithms for this purpose.
Upon receipt of an authentication data request from any SN/VLR (UMTS or GSM), the HLR/AuC sends an ordered
array of n GSM authentication vectors (triplets) to the SN/VLR.
If the UMTS MSC/VLR is able to handle UMTS radio access network, the MSC/VLR shall be able to derive a UMTS
authentication vector from the received GSM authentication vector, by means of the standardised conversion
functions defined below, in order to provide the UMTS security parameters to the UMTS radio access network.
On the mobile side, the UE shall derive the UMTS authentication parameters from the GSM authentication
parameters generated by the SIM by means of the standardised conversion functions, when the MS is located in the
UMTS radio access network.
The previous procedures are also applicable to the corresponding PS network and so as to the corresponding SGSN
entity.
Subsequently the following entities shall implement the standardised conversion functions for generating UMTS
authentication parameters from GSM authentication vectors (triplets):
UMTS MSC/VLR
UMTS SGSN
UE
The following conversion functions shall be computed for generating the UMTS authentication parameters:
3GPP
3G TS 33.102 version 3.2.0 42 3G TS 33.102 V3.2.0 (1999-10)
Generation of UMTS CK
Generation of UMTS IK
The UMTS authentication vector is generated using the GSM authentication parameters. Consequently, the generated
quintuplet depends on the GSM authentication algorithms and inputs parameters for these algorithms, all this
information under the control of the HE, being the algorithms operator specific.
A GSM user should receive the security level provided by the home network. The effective encryption key length
used in UMTS radio access network is the GSM Kc length, provided by the HE; Integrity protection is provided by
using the GSM encryption key; and the AUTN parameter is not used.
The UMTS authentication and key generating algorithms are specified as follows:
7.1.1 Layer I
Layer I is a secret key transport mechanism based on an asymmetric crypto-system and is aimed at agreeing on a
symmetric session key for each direction of communication between two networks X and Y.
[Note: For secure transmission of sensitive data between elements of one and the same network operator only
Layer II and Layer III will be involved. In this case Layer I can be dropped. There will also be only one
symmetric key in this case, to be used for communication between network elements of one network
operator in both directions.]
The party wishing to send sensitive data initiates the mechanism and chooses the symmetric session key it wishes to
use for sending the data to the other party. The other party shall choose a symmetric session key of its own, used for
sending data in the other direction. This second key shall be transported immediately after the first key has been
successfully transported. The session symmetric keys are protected by asymmetric techniques. They are exchanged
between certain elements called the Key Administration Centres (KACs) of the network operators X and Y. The
format of the Layer I transmissions is based on ISO/IEC 11770-3: Key Management – Mechanisms using Asymmetric
Techniques [10]. Public Keys may be exchanged between a pair of network operators when setting up their roaming
agreement (manual roaming) or they may be distributed by a TTP e.g. in case of automatic roaming.
3GPP
3G TS 33.102 version 3.2.0 43 3G TS 33.102 V3.2.0 (1999-10)
Note: For the transmission of the messages, no special assumptions regarding the transport protocol are
made, a possible example would be IP.
7.1.2 Layer II
In Layer II the agreed symmetric keys for sending and receiving data are distributed by the KACs in each network to
the relevant network elements. For example, an AuC will normally send sensitive authentication data to VLRs
belonging to other networks and will therefore get a session key from its KAC. Layer II is carried out entirely inside
one operator's network. It is clear that the distribution of the symmetric keys to the network elements must be carried
out in a secure way, as not to compromise the whole system. Therefore, in Annex E a mechanism for distributing the
keys, which very similar to that of Layer I, is proposed for Layer II.
Network X Network Y
Session Key KSXY
KACX KACY
Layer I
Key Distribution Complete
(sending, (receiving,
E KSXY (data)
e.g. AuCX) e.g. VLRY)
E KSXY(data) denotes encryption of data by a symmetric algorithm using the session key from network X to network Y.
3GPP
3G TS 33.102 version 3.2.0 44 3G TS 33.102 V3.2.0 (1999-10)
(If the data are sent inside one operator's network, X = Y).
In order to establish a symmetric session key with version no. i to be used for sending data from X to Y, the KAC X
sends a message containing the following data to the KAC Y:
EPK(Y) {X||Y||i||KSXY(i)||RNDX||Text1||DSK(X)(Hash(X||Y||i||KSXY(i)||RNDX||Text1))||Text2}||Text3
The reasons for this message format are as follows:
- Encrypting the message with the public key used for encrypting of the receiving network Y provides message
confidentiality, while decrypting the message body with the private key used for signing of the sending
network X provides message integrity and authenticity.
- X includes RNDX to make sure that the message contents contains some random data before signing.
[Note: The hash function used shall be collision-resistant and have the one-way property.]
The symmetric session keys KSXY(i) should be periodically updated by this process, thereby moving on to KS XY(i+1).
For each new session key KSXY i is incremented by one.
After having successfully decrypted the key transport message and having verified the digital signature of the sending
network, including the hash value, and having checked the received i the receiving network starts Layer II activities.
If anything goes wrong, e.g. computing the hash value of X||Y||i||KS XY(i)||RNDX||Text1 does not yield the expected
result, a RESEND message should be sent by Y to X in the form
RESEND||Y||X
Y shall reject messages with i smaller or equal than the currently used i.
After having successfully distributed the symmetric session key received by network X to its own network entities,
3GPP
3G TS 33.102 version 3.2.0 45 3G TS 33.102 V3.2.0 (1999-10)
network Y sends to X a Key Distribution Complete Message. This is an indication to KAC X to start with the
distribution of the key to its own entities, which can then start to use the key immediately. The message takes the
form
KEY_DIST_COMPLETE||Y||X||i||RNDY||DSK(Y)(Hash(KEY_DIST_COMPLETE||Y||X||i||RNDY)
where i indicates the distributed key and RND Y is a random number generated by Y. The digital signature is
appended for integrity and authenticity purposes. Y includes RND Y to make sure that the message contents
determined by X will be modified before signing.
Since most of the signalling messages to be secured are bidirectional in character, immediately after successful
completion the procedure described here shall be repeated, now with Y choosing a key KS YX(i) to be used in the
reverse direction, and X being the receiving party. Thereby keys for both directions are established.
[Note: GTP based transmission data will also contain sensitive data. This data will require an equal level of
security (e.g. authentication parameters, subscriber profile information, etc.). The specifications will
extended to address GTP based transmissions using industry standard techniques (such as IPSEC) where
appropriate. The possibility of extending these mechanisms to secure CAP/INAP signalling is also
being investigated.]
Layer III messages consists of a Security Header and the Layer III Message Body that is protected by the symmetric
encryption algorithm, using the symmetric session keys that were distributed in layer II. Layer III Messages have the
following structure:
3GPP
3G TS 33.102 version 3.2.0 46 3G TS 33.102 V3.2.0 (1999-10)
In all three protection modes, the security header is transmitted in cleartext. It shall comprise the following
information:
- protection mode;
- other security parameters (if required, e.g. IV, Version No. of Key Used, Encryption Algorithm Identifier,
Mode of Operation of Encryption Algorithm, etc.).
Both parts of the Layer III messages, security header and message body, will become part of the "new" MAP message
body. Therefore, the complete "new" MAP messages take the following form in this proposal:
Like the security header, the MAP message header is transmitted in cleartext. In protection mode 2 providing
confidentiality, the Layer III Message Body is essentially the encrypted "old" MAP message body. For integrity and
authenticity, an encrypted hash calculated on the MAP message header, security header and the "old" MAP message
body in cleartext is included in the Layer III Message Body in protection modes 1 and 2. In protection mode 0 no
protection is offered, therefore the Layer III Message Body is identical to the "old" MAP message body in cleartext in
this case.
In the following subchapters, the contents of the Layer III Message Body for the different protection modes will be
specified in greater detail.
where "Cleartext" is the message body of the original MAP message in cleartext.
Authentication of origin is achieved by encrypting the hash value of the cleartext, since only a network element
knowing KSXY(i) can encrypt in this way. Message integrity and validation is achieved by hashing and encrypting the
cleartext.
[Note: The case X=Y, i.e. only one key for sending and receiving, corresponds to internal use inside network
X.]
3GPP
3G TS 33.102 version 3.2.0 47 3G TS 33.102 V3.2.0 (1999-10)
Note that protection mode 1 is compatible to the present MAP protocol, since everything appended to the cleartext
may be ignored by a receiver incapable of decrypting.
Message confidentiality is achieved by encrypting with the session key. This also provides for authentication of
origin, since only a network element knowing KSXY(i) can encrypt in this way. Message integrity and validation is
achieved by hashing the cleartext. TVP is a random number that avoids traceability.
[Note1: There is need for replay protection of Layer III messages; this is for further study.
By making use of a TVP as timestamp (perhaps derived from an overall present master time) this could
be achieved.]
[Note2: In protection mode 2, the original MAP message body will be encrypted in order to achieve
confidentiality. For integrity and authenticity, an encrypted hash calculated on the MAP message
header and body in cleartext (i.e. the original MAP message) is appended to the messages in protection
mode 1 and 2. All protection modes need a security header to be added.
When implementing these changes, care has to be taken that the maximum length of a MAP message
(approx. 250 byte) is not exceeded by the protected MAP messages of Layer III, otherwise substantial
changes to the underlying SS7 protocol levels (TCAP and SCCP) would have to be made.]
Note: A joint 3GPP TSG-SA ‘Security’/3GPP TSG-T ‘USIM’ working group may be required to progress this
issue.
3GPP
3G TS 33.102 version 3.2.0 48 3G TS 33.102 V3.2.0 (1999-10)
eavesdropping on every link within the network, i.e. not just the particularly vulnerable radio links in the access
network, but also on the fixed links within the core network.
If network-wide confidentiality of user traffic is provided then access link confidentiality of user traffic between UE
and RNC shall be replaced with the network-wide service. Access link confidentiality of signalling information and
user identity between UE and RNC shall be applied regardless of whether or not the network-wide user traffic
confidentiality service is applied.
Note: The exact architectural placement of the network-wide encryption function is for further study. This
may have an impact on whether network-wide encryption replaces or supplements access link
encryption.
A lawful interception interface may be implemented according to TS33.107 regardless of whether or not network-
wide confidentiality is applied by the network. It shall be possible to remove any network-wide confidentiality
protection within the core network to provide access to plaintext user traffic at the lawful interception interface.
Network-wide confidentiality shall be provided by protecting transmissions on user traffic channels using a
synchronous stream cipher. This involves the specification of a standard method for ciphering user traffic on a
network-wide basis (clause 8.2.2) and a standard method for managing the ciphering key required at the end points of
the protected channel (clause 8.2.3).
The network-wide synchronous stream cipher shall contain a key stream generator which shall have two inputs: the
network-wide cipher key (ECK) and an initialisation value (IV). The plaintext shall be encrypted using the key
stream by applying an exclusive-or operation to the plaintext on a bit per bit basis to generate the ciphertext. The
decryption operation shall involve applying the same key stream to the ciphertext to recover the plaintext.
Synchronisation of the key stream shall be achieved using the initialisation value. Synchronisation information shall
be available at both end points of the communication and shall be used to maintain alignment of the key stream.
Protection against replay of user traffic shall be achieved through the use of a time variable initialisation vector
combined with a time variable cipher key.
Note: The stream cipher does not protect against bit toggling so other mechanisms must be used if this type of
integrity protection is required on user traffic.
For encryption of voice traffic then Transcoder Free Operation (TFO) shall be used between the two end points such
that the structure and ordering of the transmitted data shall be maintained with the same boundary conditions at each
end of the link.
Note: In the initial phases of 3GPP, transcoder free operation may only be possible for user traffic channels
which terminate within the same serving network. Furthermore, TFO may only be possible if the entire
communication path is within the same serving network. Thus, in non optimal routing cases where the
tromboning effect occurs, TFO may not be available, even if the traffic channel terminates within the
same serving network.
For encryption of data traffic a transparent data service shall be used between the two end points such that the
structure and ordering of transmitted data shall be maintained with the same boundary conditions at each end of the
link.
To satisfy lawful interception requirements it must be possible to decrypt network-wide encrypted traffic within the
core network to provide access to plaintext user traffic. Thus decryption facilities (and the network-wide cipher key)
shall be available in the core network for lawful interception reasons. If transcoder free operation is used on voice
traffic channels, transcoders shall be available in the core network for lawful interception reasons whether or not
network-wide encryption is provided.
3GPP
3G TS 33.102 version 3.2.0 49 3G TS 33.102 V3.2.0 (1999-10)
- The ability to terminate network-wide encryption at network gateways for inter-network user traffic channels;
- The ability to handle multiparty calls, explicit call transfer and other supplementary services;
Note: If network-wide encryption is provided across serving network boundaries then the two serving
networks may not be roaming partners yet they still must be able to protect inter-network signalling by
establishing appropriate keys.
The key management scheme for network-wide encryption involves establishing a network-wide cipher key between
the end points of the traffic channel. It should not be possible to obtain this key by eavesdropping on any transmission
links within the network.
Note: However, it is be possible to obtain the network-wide key by compromising certain nodes within the
network (e.g. nodes where link encryption terminates).
To satisfy lawful interception requirements it shall be possible to decrypt network-wide encrypted traffic within the
core network to provide access to plaintext user traffic. Thus, the network-wide cipher key (and decryption facilities)
shall be available in the core network for lawful interception reasons.
In addition to the access link cipher and integrity keys, the USIM and the MSC/VLR shall also establish a network-
wide cipher key component ECKC as part of the authentication and key agreement procedure (clause 6.3). This key
component will be used to generate the network-wide cipher key ECK.
3GPP
3G TS 33.102 version 3.2.0 50 3G TS 33.102 V3.2.0 (1999-10)
As part of establishing a network-wide encrypted connection, MSC/VLRa and MSC/VLRb shall exchange network-
wide cipher keys components for UEa and UEb. MSC/VLRa passes ECKCb to UEa, while MSC/VLRb passes
ECKCa to UEb. At each end the access link key is transmitted to the UE over signalling channels which are protected
using the access link cipher keys CK. When each UE has received the other party’s network-wide cipher key
component, the network-wide cipher key ECK shall be calculated as a function of ECKCa and ECKCb.
The key management scheme satisfies the lawful interception requirement since ECK can be generated by
MSC/VLRa or MSC/VLRb and then used by decryption facilities in the core network to provide plaintext user traffic
at the lawful interception interface.
- The ability to terminate network-wide cipher key management at network gateways for inter-network user
traffic channels.
8.3 IP security
[ffs]
3GPP
3G TS 33.102 version 3.2.0 51 3G TS 33.102 V3.2.0 (1999-10)
3GPP
3G TS 33.102 version 3.2.0 52 3G TS 33.102 V3.2.0 (1999-10)
The mechanism assumes that the user belongs to a user group with group identity GI. Associated to the user group is
a secret group key GK which is shared between all members of the user group and the user’s HE, and securely stored
in the USIM and in the HE.
Figure B.1: Identification by means of the IMUI encrypted by means of a group key
The user identity procedure is initiated by the visited VLR. The visited VLR requests the user to send its permanent
user identity.
Upon receipt the user generates a time variant parameter TVP. The user encrypts the time variant parameter TVP and
the IMUI with enciphering algorithm f6 and his group key GK. The TVP prevents traceability attacks. The user sends
a response to the VLR that includes the HE identity, the group identity GI and the encrypted mobile user identity
(EMUI).
Upon receipt of that response the SN/VLR should resolve the user’s HE address from HE-identity and forwards the
group identity GI and the user’s EMUI to the user’s HE.
Upon receipt the HE retrieves the group key GK associated with the group identity GI. The HE then decrypts EMUI
with the deciphering algorithm f7 (f7 = f6 -1) and the group key GK and retrieves TVP and IMUI. The HE then sends
the IMUI in a response to the visited SN/VLR.
3GPP
3G TS 33.102 version 3.2.0 53 3G TS 33.102 V3.2.0 (1999-10)
The HLR/AuC may for instance use as a sequence number the number of seconds t that have elapsed since the start of
the year 2000 (GMT). Then, a 32-bit sequence number will suffice for 136 years of operation. When an array of n
authentication vectors is generated, the values t, t+1, …, t+n-1 could be used.
At the user end, SQN is treated as in the mechanism described under C.1.
Note 1: When using a time-value to generate sequence numbers it may not be necessary to conceal the sequence
number to avoid user identification.
Note 2: The re-synchronisation procedure is not required in this case, as time can be recovered from any source.
Using this mechanism, it is not required that a previously visited SN/VLR deletes the unused authentication vectors
when a user de-registers from the serving network. Retaining the authentication vectors for use when the user returns
later may be more efficient as regards signalling when a user abroad switches a lot between two serving networks.
Note: When a VLR uses fresh authentication vectors obtained during a previous visit of the user, the USIM
can reject them although they have not been used before (because w is finite). Rejection of a sequence
number can therefore occur in normal operation, i.e., it is not necessarily caused by (malicious) replay
or a database failure.
3GPP
3G TS 33.102 version 3.2.0 54 3G TS 33.102 V3.2.0 (1999-10)
Using this mechanism, it is not required that a previously visited SN/VLR deletes the unused authentication vectors
when a user de-registers from the serving network. Retaining the authentication vectors for use when the user returns
later may be more efficient as regards signalling when a user abroad switches a lot between two serving networks.
Note: When a VLR uses fresh authentication vectors obtained during a previous visit of the user, the USIM
can reject them although they have not been used before (because b is finite). Rejection of a sequence
number can therefore occur in normal operation, i.e., it is not necessarily caused by (malicious) replay
or a database failure.
SQN > SQNMS (as for alternative C.1) and SQN - SQNMS < .
This means that SQNMS can reach its maximum value only after a minimum of SQNmax/ successful authentications
have taken place.
Conditions on :
(1) shall be sufficiently large so that the MS will not receive any SQN with SQN - SQNMS if the HE/AuC
functions correctly.
(2) SQNmax / shall be sufficiently large to prevent that SQNMS ever reaches SQNmax during the lifetime of the
USIM.
(2) There are counters SQNMS and SQNHE in the MS and the HE respectively. Both parts of SQN are stored by these
counters. SQNHE is an individual counter, i.e. there is one per user.
(3) There is a global counter, e.g. a universal clock with an appropriate time granularity (e.g. seconds elapsed since
the start of the system). For short we call the value of this global counter at any one time GLC. If GLC is taken
from a universal clock it is computed mod 2n where n is the length of GLC and of SQN2 in bits.
(4) When the HE needs a new sequence number SQN to create a new authentication vector, HE retrieves the (user-
specific) value of SQNHE = SQN1HE || SQN2HE from the database. If SQN2HE < GLC then HE sets SQN = SQN1HE ||
GLC. If SQN2HE GLC then HE sets SQN = (SQN1HE +1) || GLC.
Then SQNHE is reset to SQN.
3GPP
3G TS 33.102 version 3.2.0 55 3G TS 33.102 V3.2.0 (1999-10)
(5) The sequence number SQN is accepted by the USIM if and only if SQN >SQNMS holds.
(6) If the mechanism described in Annex C.4 (lists of sequence numbers in the USIM) is used and if SQNLO denotes
the lowest sequence number in the list then (5) becomes:
The sequence number SQN is now accepted by the USIM if and only if SQN >SQNLO holds and SQN is not in the
list.
(7) If the mechanism described in Annex C.5 (protection against counter wrap-around) is employed then (5)
becomes:
The sequence number SQN is now accepted by the USIM if and only if SQN>SQNMS and
SQN - SQNMS< hold.
(8) If both the mechanisms described in Annexes C.4 and C.5 are employed and if SQNHI denotes the highest
sequence number in the list then (5) becomes:
The sequence number SQN is now accepted by the USIM if and only if SQN>SQNLO and
SQN – SQNHI < hold and SQN is not in the list.
When parameters are appropriately chosen then this use of sequence numbers is compatible with the re-
synchronisation procedure described in section 6.3.5 and the protection against wrap around of counters
described in Annex C.5, and it is not required to conceal this type of sequence numbers.
3GPP
3G TS 33.102 version 3.2.0 56 3G TS 33.102 V3.2.0 (1999-10)
D.1.1 General
The mechanism described here achieves mutual authentication and key agreement between the USIM and the AuC in
the user’s HE, showing knowledge of a secret key K which is shared between and available only to these two parties.
The temporary key generated during the protocol is shared with the visited SN/VLR, and can be used subsequently
with the local authentication and session key agreement protocol described in section D.2 or with the other local
authentication mechanisms described in section 6.5. Additionally, session keys for the first session are created during
the protocol.
The method was chosen in such a way as to reduce signalling between the HE and the SN/VLR. The method is
composed of a mutually authenticated challenge/response protocol with key agreement.
When the mobile first requests service from the SN/VLR, a random seed RSu created by the user (USIM or terminal)
is included in the request message. The message including RSu is forwarded to the HE/AuC, which generates its own
random challenge RSn. An authentication vector is returned to the SN/VLR. The vector contains {RSn, RES1,
XRES2, KT}, where RES1 is the response to the user’s challenge, XRES2 is the response to the network’s challenge
which is expected from the user, and KT is the temporary authentication key shared with the SN/VLR. The network’s
challenge RSn and the network authentication response RES1 are sent to the MS. If the MS verifies RES1, thereby
authenticating the identity of the network, it responds with RES2 and generates the new temporary key KT. The
SN/VLR then verifies that RES2 equals XRES2, thereby authenticating the identity of the USIM, and stores the new
temporary key KT. Furthermore, both the USIM and the SN/VLR immediately use KT with the random seeds RSu
and RSn to generate the first session keys CK and IK. The established keys CK and IK will then be transferred by the
USIM and the SN/VLR to the entities which perform ciphering and integrity functions.
The SN/VLR can offer secure service to the USIM without reference to the home system HE/AuC by using the
temporary key KT. This local authentication mechanism is described in section D.2.
3GPP
3G TS 33.102 version 3.2.0 57 3G TS 33.102 V3.2.0 (1999-10)
The authenticating parties shall be the AuC of the user’s HE (HE/AuC) and the USIM in the user’s mobile station.
The mechanism consists of the following procedures:
A procedure to generate a new temporary authentication key and session keys, and distribute the temporary
authentication key from the HE/AuC to the SN/VLR. This procedure is described in D.1.2. The SN/VLR is assumed
to be trusted by the user’s HE to handle authentication information securely. It is also assumed that the intra -system
links between the SN/VLR to the HE/AuC are adequately secure. Mechanisms to secure these links are described in
clause 7. It is further assumed that the user trusts the HE.
A procedure to distribute the temporary authentication key from a previously visited VLR to the newly visited VLR.
This procedure is described in D.1.3. It is also assumed that the links between SN/VLRs are adequately secure.
Mechanisms to secure these links are described in clause 7.
- the MS verifies that the SN/VLR is allowed to offer it services on behalf of its HE;
- the MS and the HE establish a new temporary authentication key with freshness guarantees to both parties;
- the HE distributes this temporary key to the SN/VLR for subsequent use in local authentication protocols; and,
- the MS and the SN/VLR establish new cipher and integrity keys with freshness guarantees to both parties.
3GPP
3G TS 33.102 version 3.2.0 58 3G TS 33.102 V3.2.0 (1999-10)
The user (USIM/terminal) invokes the procedure by requesting service from the SN/VLR. This service request
contains an unpredictable random seed RSu, generated by the user. The SN/VLR sends the HE/AuC an authentication
data request, which includes RSu as well as either the IMUI or an EMUI for the user. In case an EMUI is used, the
mechanism described in 6.2 is integrated in this procedure.
3GPP
3G TS 33.102 version 3.2.0 59 3G TS 33.102 V3.2.0 (1999-10)
Upon the receipt of the authentication data request from the SN/VLR, the HE/AuC generates the authentication
vector. To generate an authentication vector AV the HE/AuC generates an unpredictable random value RSn.
Subsequently the following values are computed:
- an authentication response RES1 = f2 K (PAR2 || RSu || RSn) where f2 is a (possibly truncated) MAC function.
- an expected response XRES2 = f3 K (PAR3 || RSu || RSn) where f3 is a (possibly truncated) MAC function.
Note 1: The need for f2 and f3 to use a long-term key different from K is ffs.
Note 2: It is also ffs in how far the functions f1, ..., f5 need to differ and how they may be suitably combined.
Note 3: PAR1, ..., PAR5 are different fixed initial values which may be used when similar or identical functions
are used for f1, ..., f5. The need for the inclusion of PAR1, ... PAR5 is ffs. When omitted they may be
thought of as being integrated in the definition of the functions f1, ..., f5 respectively.
These authentication parameters are used to construct an ordered array of authentication vectors for the user
consisting of {RSn, RES1, XRES2, KT}.
The HE/AuC sends the requested authentication vector to the SN/VLR in a response message.
The serving system SN/VLR may generate the session keys locally, or they may be generated by the HE/AuC and
sent to the SN/VLR. In either case, the following session keys are computed:
- a cipher key CK = f4KT (PAR4 || RSu || RSn) where f4 is a key generating function.
- an integrity key IK = f5KT (PAR5 || RSu || RSn) where f5 is a key generating function.
The SN/VLR sends to the user the random challenge RSn and the network’s authentication response RES1, taken
from the authentication vector.
Upon receipt of RSn and RES1 the user first computes XRES1 = f2 K (PAR2 || RSu || RSn) from RSu, RSn, and the
secret key K, and compares this with the value of RES1 received from the SN/VLR. If they are unequal, the user
sends a message back indicating that the authentication token was corrupt and abandons the authentication protocol.
If the equality holds, the user has authenticated the identity of the home system.
The user then computes RES2 = f3 K (PAR3 || RSu || RSn), which is sent back to the SN/VLR, and the temporary key
KT = f1K (PAR1 || RSu || RSn). KT is subsequently used to generate the cipher key CK = f4 KT (PAR4 || RSu || RSn)
and the integrity key IK = f5 KT (PAR5 || RSu || RSn). Note that if this is more efficient, XRES1, RES2, KT, CK and
IK can be computed earlier at any time after receiving RSn (although KT must be computed before CK and IK).
When the SN/VLR receives RES2 it compares it with the expected response XRES2 from the selected authentication
vector. If XRES2 equals RES2 then the user is authenticated. The SN/VLR also distributes the derived cipher key CK
and derived integrity key IK to the appropriate entities for integrity and ciphering.
3GPP
3G TS 33.102 version 3.2.0 60 3G TS 33.102 V3.2.0 (1999-10)
The procedure is initiated by the visited VLR and illustrated in the following figure:
VLRn VLRo
Authentication data request
IMUI or TMUI
The procedure is invoked by the newly visited VLRn after a location update request of the user. Typically the user
identifies himself using a temporary user identity TMUIo and the location area identity LAIo of a location area under
the jurisdiction of VLRo. In that case this procedure is integrated with the procedure described in 6.1.
Upon receipt of the request the VLRo verifies whether it has a current temporary authentication key in its database
and if so, sends the current temporary authentication key to VLRn. The previously visited VLRo deletes the
temporary authentication key from its database.
Upon receipt the VLRn stores the temporary authentication key. If VLRo indicates that it has no current temporary
authentication key or the VLRo cannot be contacted, VLRn should request new a authentication vector from the
user’s HE using the procedure described in D.1.2.
D.1.4 Handover
[More detailed description on handover from GSM to a TETRA-based network, and vice-versa, is ffs]
In case of handover the security level of the network entered by the user has to be fulfilled.
Re-authentication using the (probably network specific) authentication mechanisms of the system entered by the
user in case of handover.
Note: There is only one exception, when UMTS operators allow a user to roam in their networks with a GSM
subscription.
Note: In case of inter-system/intra-operator handover (between GSM and UMTS) there is no strong
requirement for re-authentication because of the original authentication having been done by the same
operator, because of the service capabilities after handing over will be equivalent to GSM level. After
service termination re-authentication and LUP has to be fulfilled as required for roamers.
This is restricted to phase 1. In future releases of phase 1 and later phases, mechanisms shall be
specified to enable the level of security, after an inter-system or inter-operator handover, which
normally is achieved in the radio network to which handover is done.
3GPP
3G TS 33.102 version 3.2.0 61 3G TS 33.102 V3.2.0 (1999-10)
- the MS verifies that the SN/VLR is allowed to offer it services on behalf of its HE;
- the MS and the SN/VLR establish new cipher and integrity keys with freshness guarantees to both parties.
The SN/VLR initiates the procedure. It generates a unpredictable random challenge RSn which is sent to the user.
The user (USIM/terminal) generates its own random challenge RSu. Upon receipt of the network’s challenge RSn,
the user calculates the following values:
- an authentication response RES = f3 KT (PAR3 || RSu || RSn) where f3 is a (possibly truncated) MAC function.
- a cipher key CK = f4KT (PAR4 || RSu || RSn) where f4 is a key generating function.
- an integrity key IK = f5KT (PAR5 || RSu || RSn) where f5 is a key generating function.
3GPP
3G TS 33.102 version 3.2.0 62 3G TS 33.102 V3.2.0 (1999-10)
The USIM/terminal sends the network the random challenge RSu and the authentication response RES, and
distributes the session keys CK and IK to the appropriate entities for ciphering and integrity.
Upon receipt of RSu and RES the SN/VLR computes XRES = f3 KT (PAR3 || RSu || RSn) from RSu, RSn, and the
temporary authentication key KT that is stored in the VLR database, and compares this with the value of RES
received from the user. If they are unequal, the network sends a message back indicating that authentication has
failed and abandons the authentication protocol. If the equality holds, the user is authenticated to the network.
The SN/VLR then computes the ciphering key CK = f4 KT (PAR4 || RSu || RSn) and the integrity key IK = f5 KT (PAR5
|| RSu || RSn), which it distributes to the appropriate entities for ciphering and integrity.
- A serious security flaw is discovered with the SQN protocol. A “serious flaw” is a weakness that allows a
demonstrable attack on the authentication system, leading to theft of service (fraud), compromise of privacy,
or any degradation below the security level of current systems. If the flaw can be easily fixed without
changing the fundamental nature of the protocol, there are no grounds for replacement.
- Serious operational difficulties are discovered with the SQN protocol. These are problems implementing the
protocol that may be discovered during early development or testing. A “serious operation difficulty” is one
that prevents the successful and reliable completion of the protocol. If the problem can be solved with a simple
alteration that does not change the fundamental nature of the protocol, there are no grounds for replacement.
3GPP
3G TS 33.102 version 3.2.0 63 3G TS 33.102 V3.2.0 (1999-10)
E.1 Introduction
In Layer II symmetric session keys (to encrypt/decrypt data before sending/after receiving) are distributed by the
KACs in each network to the relevant network elements. For example, an AuC X will normally send sensitive
authentication data to VLRY and will therefore get a session KSXY key from its KACX. Layer II is carried out entirely
inside one operator's network.
However, in order to achieve a more consistent overall scheme, in this annex it is suggested to use for Layer II the
same mechanism for distributing the keys as in Layer I. This requires the KACs of the different networks to generate
and distribute asymmetric key pairs for the network elements of that network. These key-pairs will then be used to
transfer the symmetric session keys in the same way as in Layer I.
The public and private key pairs needed for the network entities should be distributed to the entities in a secure way,
which is in principle an operation & maintenance task. One way to do this is to distribute the key pairs, along with
the necessary crypto-software, to the network entities in the form of chipcards, which can also carry out the necessary
computations. Therefore, all that has to be added to the present network entities are chipcard readers with a
standardised interface. Thus, on adoption of this proposal, in addition to their present tasks, the network entities
would have to:
Store the symmetric session keys to encrypt/decrypt data before sending/after receiving to/from network entities
of other networks (external) and of their own network (internal)
Encrypt/decrypt MAP messages according to their Mode of protection (cf. 7.4). The necessary computations may
be carried out by a chipcard.
In addition to their tasks listed in 7.2.1 of the main document, the KACs would have to:
Generate and store asymmetric key pairs for network entities in the same network
Distribute asymmetric key pairs to network entities in the same network.
[Note: As for layer I, no assumptions about the transport protocol are made, although IP might be a good
candidate.]
3GPP
3G TS 33.102 version 3.2.0 64 3G TS 33.102 V3.2.0 (1999-10)
EPK(NEY) {X||NEY||RECEIVE||i||KSXY(i)||RNDY||Text1||DSK(Y)(Hash(X||NEY||RECEIVE||i||KSXY(i)||RNDY||Text1))||Text2}||
Text3
After having successfully decrypted the key transport message and having verified the digital signature of the sending
network including the hash value, the receiving network entity sends an key installed message to its Key
Administration Centre KACY. The message takes the form
KEY_INSTALLED||X||NEY||RNDY||i
This message can only be sent by the receiving network entity, because only this entity can know about RND Y. If
anything goes wrong, e.g. computing the Hash of X||NE Y||RECEIVE||i||KSXY(i)||RNDY||Text1 does not yield the
expected result, a RESEND message should be sent by NE Y to KACY in the form
RESEND||NEY
EPK(NEX) {NEX||Y||SEND||i||KSXY(i)||RNDX||Text1||DSK(X)(Hash(NEX||Y||SEND||i||KSXY(i)||RNDX||Text1))||Text2}||Text3
3GPP
3G TS 33.102 version 3.2.0 65 3G TS 33.102 V3.2.0 (1999-10)
The USIM keeps track of the authentication algorithm and key identifier and updates it according to the received
value.
A mechanism to change the window and list size dynamically is useful since the optimum window and list size may
change over time. AMF is used to indicate the maximum admissible window or list size to be used by the user when
verifying the authentication token.
The USIM keeps track of the window or list size and updates it according to the received value providing that SQN >
SQNMS.
Note: If a single counter was used, the following problem occurs: Suppose that a CS node orders SQNs 1–5,
and uses SQN 1 and then a PS node orders SQNs 6–10 and uses 6. At this point the CS node may need
to use SQN 2, but cannot since the SQN will be rejected and must order new authentication vectors,
with SQNs 11–15, and authenticates with SQN 11. Maintaining separate counters for CS and PS
domains provide a solution for this problem.
An alternative to the use of the MODE parameter is the use of the window or list mechanism described in Annexes
C3. and C.4.
3GPP
3G TS 33.102 version 3.2.0 66 3G TS 33.102 V3.2.0 (1999-10)
Annex G:
Change history
Change history
TSG SA Version CR Tdoc SA New Subject/Comment
# Version
10/02/99 0.0.0 drafting 0.0.1 Start
19/02/99 0.0.1 0.0.2 Extensions on contents, relevant chapter headings added
17/03/99 0.0.2 0.1.1 Extensions (BV)
19/03/99 0.1.1 0.1.2 Extensions (SP)
30/03/99 0.1.2 0.1.3 Extensions (SP)
09/04/99 0.1.3 0.1.4 Revisions in view of the discussion in TSG SA-3 #2. (BV)
19/04/99 0.1.4 0.2.0 Editorial changes and inclusion of text on network-wide encryption. (BV)
21/04/99 0.2.0 0.2.1 Further editorial changes. (BV)
22/04/99 0.2.1 0.2.2 Further minor editorial changes. (PH)
23/04/99 0.2.2 2.0.0 Formatted into 3GPP deliverable for approval at TSG SA Meeting #3
S_03 2.0.0 3.0.0 Approved at SA#3
S_04 3.0.0 001 SP-99308 3.1.0 Mechanism for data integrity of signalling messages
S_04 3.0.0 002 SP-99308 3.1.0 Description of layer on which ciphering takes place
S_04 3.0.0 003 SP-99308 3.1.0 Conditions on use of authentication information
S_04 3.0.0 004 SP-99308 3.1.0 Modified re-synchronisation procedure for AKA protocol
S_04 3.0.0 005 SP-99308 3.1.0 Sequence number management scheme protecting against USIM lockout
S_04 3.0.0 006 SP-99308 3.1.0 Criteria for Replacing the Authentication “Working Assumption”
S_04 3.0.0 007 SP-99308 3.1.0 Functional modification of Network domain security mechanisms
S_04 3.0.0 008 SP-99308 3.1.0 Cipher key lifetime
S_04 3.0.0 009 SP-99308 3.1.0 Mechanism for user domain security
S_04 3.0.0 010 SP-99308 3.1.0 Replacement of incorrect diagrams
S_04 3.0.0 011 SP-99308 3.1.0 Precision of the status of annex B
S_05 3.1.0 012 SP-99417 3.2.0 Re-organisation of clause 6
S_05 3.1.0 018 SP-99417 3.2.0 Support for window and list mechanisms for sequence number management
in authentication scheme
S_05 3.1.0 019 SP-99417 3.2.0 Modification of text for window and list mechanisms
S_05 3.1.0 021 SP99-496 3.2.0 A generalised scheme for sequence number management
3GPP
3G TS 33.102 version 3.2.0 67 3G TS 33.102 V3.2.0 (1999-10)
History
Document history
V3.0.0 May 1999 Approved at SA #3. Under TSG SA Change Control.
3GPP