500-11040107R1__C.S0102-0v1.0_A2LS Stage 3_Pub

advertisement
3GPP2 C.S0102-0
Version 1.0
April 2011
HRPD Air Interface Application Layer Security
(AALS) Air Interface Specification
COPYRIGHT
3GPP2 and its Organizational Partners claim copyright in this document and individual
Organizational Partners may copyright and issue documents or standards publications in
individual Organizational Partner’s name based on this document. Requests for
reproduction of this document should be directed to the 3GPP2 Secretariat at
secretariat@3gpp2.org. Requests to reproduce individual Organizational Partner’s
documents should be directed to that Organizational Partner. See www.3gpp2.org for more
information.
This page intentionally left blank.
3GPP2 C.S0102-0 v1.0
CONTENTS
1
FOREWORD ................................................................................................................... ix
2
NOTES ........................................................................................................................... xi
3
REFERENCES ................................................................................................................ xi
4
1
Overview................................................................................................................. 1-1
5
1.1 Scope of This Document ....................................................................................... 1-1
6
1.2 Requirements Language ....................................................................................... 1-1
7
1.3 Architecture Reference Model ............................................................................... 1-1
8
1.4 Protocols .............................................................................................................. 1-2
9
1.4.1
Interfaces ................................................................................................. 1-2
10
1.4.2
States ....................................................................................................... 1-2
11
1.5 Terms .................................................................................................................. 1-3
12
1.6 Notation ............................................................................................................... 1-4
13
2
Introduction ........................................................................................................... 2-1
14
2.1 Architecture Reference Model ............................................................................... 2-1
15
2.2 Key Management.................................................................................................. 2-2
16
17
3
Signaling layer protocol ........................................................................................... 3-1
3.1 Air Interface Application Signaling Encryption/Decryption functions ..................... 3-1
18
3.1.1
Signaling Encryption Key .......................................................................... 3-1
19
3.1.2
Constructing the Cryptosync ..................................................................... 3-1
20
3.1.2.1
RolloverCounter Procedures ................................................................. 3-2
21
3.1.3
Signaling Encryption Procedure ................................................................. 3-3
22
3.1.4
Signaling Decryption Procedures ............................................................... 3-4
23
3.2 Air Interface Application Signaling Integrity functions ........................................... 3-5
24
3.2.1
Signaling Protection Key ............................................................................ 3-5
25
3.2.2
Constructing the Cryptosync ..................................................................... 3-5
26
3.2.3
AUTHENTICATE_ADD_TAG procedures ..................................................... 3-5
27
3.2.4
AUTHENTICATE_CHECK_TAG procedures ................................................. 3-7
28
3.2.5
Authentication Tag .................................................................................... 3-9
29
3.3 Signaling Layer Protocol (SLP) .............................................................................. 3-9
30
3.3.1
Overview ................................................................................................... 3-9
31
3.3.2
Primitives and Public Data ........................................................................ 3-9
32
3.3.3
Protocol Data Unit .................................................................................... 3-9
i
3GPP2 C.S0102-0 v1.0
CONTENTS
3.3.4
1
Procedures ............................................................................................... 3-9
2
3.3.4.1
Reset .................................................................................................. 3-9
3
3.3.4.2
Delivery Layer Procedures ................................................................... 3-9
3.3.4.2.1
4
General Procedures .......................................................................... 3-9
5
3.3.4.2.1.1
Transmitter Requirements .......................................................... 3-9
6
3.3.4.2.1.2
Receiver Requirements ............................................................... 3-9
3.3.4.2.2
7
Best Effort Delivery Procedures ...................................................... 3-10
8
3.3.4.2.2.1
Transmitter Requirements ........................................................ 3-10
9
3.3.4.2.2.2
Receiver Requirements ............................................................. 3-10
3.3.4.2.3
10
Reliable Delivery Procedures .......................................................... 3-10
11
3.3.4.2.3.1
Overview .................................................................................. 3-10
12
3.3.4.2.3.2
Initialization ............................................................................ 3-10
13
3.3.4.2.3.3
Data Transfer........................................................................... 3-10
14
3.3.4.2.3.3.1
Transmit Procedures .......................................................... 3-10
15
3.3.4.2.3.3.2
Receive Procedures ............................................................. 3-10
16
3.3.5
Header Formats ...................................................................................... 3-10
17
3.3.6
Message Formats .................................................................................... 3-11
18
3.3.7
Interface to Other Protocols .................................................................... 3-11
3.4 Protocol Attributes ............................................................................................. 3-11
19
20
3.4.1
Simple Attributes.................................................................................... 3-11
21
3.4.2
Complex Attributes ................................................................................. 3-11
3.4.2.1
22
23
24
4
SigReducedStrengthKey Attribute ...................................................... 3-11
AALS Enhanced Multi-Flow Packet Application........................................................ 4-1
4.1 Introduction ........................................................................................................ 4-1
25
4.1.1
General Overview...................................................................................... 4-1
26
4.1.2
Public Data .............................................................................................. 4-1
27
28
29
4.2 Protocol Initialization ........................................................................................... 4-1
4.3 Procedures and Messages for the InConfiguration Instance of the Packet
Application .......................................................................................................... 4-1
30
4.3.1
Procedures ............................................................................................... 4-1
31
4.3.2
Commit Procedures .................................................................................. 4-1
32
4.3.3
Message Formats ...................................................................................... 4-1
ii
3GPP2 C.S0102-0 v1.0
CONTENTS
1
4.4 Route Selection Protocol ....................................................................................... 4-2
2
4.5 Radio Link Protocol .............................................................................................. 4-2
3
4.5.1
Overview ................................................................................................... 4-2
4
4.5.2
Primitives and Public Data ........................................................................ 4-2
5
4.5.3
Protocol Data Unit .................................................................................... 4-2
6
4.5.4
Procedures and Messages for the InUse Instance of the Protocol ................. 4-2
4.5.4.1
7
Procedures .......................................................................................... 4-2
8
4.5.4.1.1
Constructing the Encryption Key ...................................................... 4-2
9
4.5.4.1.2
Constructing the Cryptosync ............................................................ 4-3
10
4.5.4.1.3
RolloverCounter Procedures.............................................................. 4-4
11
4.5.4.2
Data Transfers .................................................................................... 4-4
12
4.5.4.3
Data Receive Procedures ...................................................................... 4-5
13
4.5.4.4
RLP Packet Header .............................................................................. 4-7
14
4.5.4.5
Message Formats ................................................................................. 4-7
15
4.5.4.6
Interface to Other Protocols ................................................................. 4-7
16
4.5.4.7
RLP Packet Priorities ........................................................................... 4-7
4.5.5
17
Protocol Numeric Constants ...................................................................... 4-7
18
4.6 Data Over Signaling Protocol ................................................................................ 4-7
19
4.7 Location Update Protocol ...................................................................................... 4-7
20
4.8 Flow Control Protocol ........................................................................................... 4-7
21
4.9 Configuration Attributes for the Enhanced Multi-Flow Packet Application .............. 4-7
22
4.9.1
Simple Attributes ...................................................................................... 4-8
23
4.9.2
Complex Attributes ................................................................................... 4-8
4.9.2.1
24
4.10
25
26
27
5
ReducedStrengthCipheringKey Attribute .............................................. 4-9
Session State Information ............................................................................... 4-9
AALS multi-link Multi-Flow Packet Application ....................................................... 5-1
5.1 Introduction ......................................................................................................... 5-1
28
5.1.1
General Overview ...................................................................................... 5-1
29
5.1.2
Public Data ............................................................................................... 5-1
30
31
32
5.2 Protocol Initialization ........................................................................................... 5-1
5.3 Procedures and Messages for the InConfiguration Instance of the Packet
Application .......................................................................................................... 5-1
iii
3GPP2 C.S0102-0 v1.0
CONTENTS
1
5.3.1
Procedures ............................................................................................... 5-1
2
5.3.2
Commit Procedures .................................................................................. 5-1
3
5.3.3
Message Formats ...................................................................................... 5-1
4
5.4 Route Selection Protocol....................................................................................... 5-2
5
5.5 Segmentation and Reassembly Protocol ................................................................ 5-2
6
5.5.1
Overview .................................................................................................. 5-2
7
5.5.2
Primitives and Public Data ........................................................................ 5-2
8
5.5.3
Protocol Data Unit .................................................................................... 5-2
9
5.5.4
Procedures and Messages for the InUse Instance of the Protocol ................ 5-2
10
5.5.4.1
Procedures .......................................................................................... 5-2
11
5.5.4.1.1
Constructing the Encryption Key ..................................................... 5-2
12
5.5.4.1.2
Constructing the Cryptosync ............................................................ 5-3
13
5.5.4.1.3
RolloverCounter Procedures ............................................................. 5-4
14
5.5.4.2
Data Transfers .................................................................................... 5-4
15
5.5.4.2.1
Data Transmit Procedure ................................................................. 5-4
16
5.5.4.2.2
Data Receive Procedures .................................................................. 5-5
17
5.5.4.3
SAR Packet Header ............................................................................. 5-7
18
5.5.4.4
Message Formats ................................................................................ 5-7
19
5.5.4.5
Interface to Other Protocols ................................................................. 5-7
20
5.5.4.6
SAR Packet Priorities........................................................................... 5-7
21
5.5.5
Protocol Numeric Constants ...................................................................... 5-7
22
5.6 Quick Nak Protocol .............................................................................................. 5-7
23
5.7 Data Over Signaling Protocol ................................................................................ 5-7
24
5.8 Location Update Protocol ..................................................................................... 5-7
25
5.9 Flow Control Protocol ........................................................................................... 5-7
26
5.10
Configuration Attributes for the Multi-link Multi-flow Packet Application ......... 5-8
27
5.10.1
Simple Attributes...................................................................................... 5-8
28
5.10.2
Complex Attributes ................................................................................... 5-9
29
30
5.10.2.1
5.11
ReducedStrengthCipheringKey Attribute .............................................. 5-9
Session State Information .............................................................................. 5-9
31
32
iv
3GPP2 C.S0102-0 v1.0
CONTENTS
1
This page intentionally left blank
v
3GPP2 C.S0102-0 v1.0
FIGURES
1
Figure 1-1. Architecture Reference Model ...................................................................... 1-1
2
Figure 2-1. Security Function at the Air Interface Application Layer. ............................. 2-1
3
Figure 3-1. Encryption Function Call ............................................................................ 3-3
4
Figure 3-2. Decryption Procedure Call .......................................................................... 3-4
5
Figure 3-3. AUTHENTICATE_ADD_TAG procedure call payloads .................................... 3-6
6
Figure 3-4. AUTHENTICATE_CHECK_TAG procedure call payloads ................................ 3-8
7
Figure 4-1. Encryption Procedure Call .......................................................................... 4-4
8
Figure 4-2. Decryption Procedure Call .......................................................................... 4-6
9
Figure 5-1. Encryption Procedure Call .......................................................................... 5-4
10
Figure 5-2. Decryption Procedure Call .......................................................................... 5-6
11
vi
3GPP2 C.S0102-0 v1.0
TABLES
1
Table 3-1. Subfield of the Cryptosync .......................................................................... 3-2
2
Table 3-2. Authentication Tag ..................................................................................... 3-9
3
Table 3-3. Configurable Values ................................................................................. 3-11
4
Table 4-1. Subfield of the Cryptosync .......................................................................... 4-3
5
Table 4-2. Configurable Values ................................................................................... 4-8
6
Table 5-1. Subfield of the Cryptosync .......................................................................... 5-3
7
Table 5-2. Configurable Values ................................................................................... 5-8
8
9
vii
3GPP2 C.S0102-0 v1.0
TABLES
1
This page intentionally left blank.
viii
3GPP2 C.S0102-0 v1.0
FOREWARD
1
(This foreword is not part of this Standard)
6
This Standard was prepared by Technical Specification Group C of the Third Generation
Partnership Project 2 (3GPP2). This Standard contains the air interface procedures for the
enhanced security functionality in the High Rate Packet Data (HRPD). This specification
applies to High Rate Packet Data access terminals and access networks which are
enhanced to support increased efficiency and flexibility of security function.
7
This is a supplementary specification to the HRPD air interface specifications.
8
This Standard consists of the following sections:
2
3
4
5
9
1.
General. This section defines the acronyms and terms used in this document.
10
2.
Introduction. This section describes general scope of the Air Interface Application
layer Security function.
3.
Signaling Layer Protocol. This section defines functions that will be invoked by the
Air Interface Application Layer Security, and additional procedures and
requirements for SLP-D specified in [2].
4.
AALS Enhanced Multi-Flow Packet Application. This section defines additional
procedures and requirements for Enhanced Multi-Flow Packet Application in [7].
This specification defines additional procedures and requirements to support Air
Interface Application Security for this new defined sub-type. Unless specified
otherwise, all the procedures defined in [7] also apply to this section..
5.
AALS Multi-Link Multi-Flow Packet Application. This section defines additional
procedures and requirements for Multi-Link Multi-Flow Packet Application in [7].
This specification defines additional procedures and requirements to support Air
Interface Application Security for this new defined sub-type. Unless specified
otherwise, all the procedures defined in [7] also apply to this section.
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
ix
3GPP2 C.S0102-0 v1.0
FOREWORD
1
This page intentionally left blank
x
3GPP2 C.S0102-0 v1.0
REFERENCES
1
2
3
4
5
The following standards contain provisions which, through reference in this text, constitute
provisions of this Standard. At the time of publication, the editions indicated were valid. All
standards are subject to revision, and parties to agreements based on this Standard are
encouraged to investigate the possibility of applying the most recent editions of the
standards indicated below.
6
7
8
9
10
11
[1] C.R1001-H, Administration of Parameter Value Assignments for cdma2000 Spread
Spectrum Standards.
Editor’s Note: The above document is a work in progress and should not be referenced
unless and until it is approved and published. Until such time as this Editor’s Note is
removed, the inclusion of the above document is for informational purposes only.
13
[2] C.S0024-500-C, Application, Stream and Session Layers for cdma2000 High Rate
Packet Data Air Interface Specification.
14
[3]
S.S0078, Common Security Algorithms.
15
[4]
IETF RFC 4493, The AES-CMAC Algorithm.
16
[5]
[CMAC-NIST-SP800-38B] NIST, Special Publication 800-38B, "Recommendation for
Block Cipher Modes of Operation: The CMAC Mode for Authentication", May 2005.
[6]
C.S0067-A v1.0, “Key Exchange Protocols for cdma2000 High Rate Packet Data Air
Interface”, Feb 2009.
20
[7]
C.S0063-B V1.0, cdma2000 High Rate Packet Data Supplemental Services.
21
[8]
S.S0145, Advanced Security Framework for (e)HRPD.
12
17
18
19
24
Editor’s Note: The above document is a work in progress and should not be referenced
unless and until it is approved and published. Until such time as this Editor’s Note is
removed, the inclusion of the above document is for informational purposes only.
25
[9]
22
23
26
27
28
C.S0024-400-C, Connection and Security Layers for cdma2000 High Rate Packet
Data Air Interface Specification.
[10] C.S0087-0, E-UTRAN – cdma2000 HRPD Connectivity and Interworking: Air
Interface Specification.
29
xi
3GPP2 C.S0102-0 v1.0
REFERENCES
1
This page intentionally left blank.
xii
Overview
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
1.1
3GPP2 C.S0102-0 v1.0
OVERVIEW
Scope of This Document
These technical requirements form a compatibility standard for Air Interface Application
Security services on cdma2000 high rate packet data systems. These requirements ensure
that a compliant access terminal can obtain service through any access network
conforming to this standard. These requirements do not address the quality or reliability of
that service, nor do they cover equipment performance or measurement procedures.
This specification includes procedures for access terminal and access network to provide Air
Interface Application Security capabilities. The architecture defined by this specification
permits such expansion without the loss of backward compatibility to older access
terminals.
The procedures specified in this document is assumed to be compatible with eHRPD defined
in the [10], unless it is explicitly identified in this document.
1.2
Requirements Language
Compatibility, as used in connection with this standard, is understood to mean: Any access
terminal can obtain service through any access network conforming to this standard.
Conversely, all access networks conforming to this standard can service access terminals.
“Shall” and “shall not” identify requirements to be followed strictly to conform to the
standard and from which no deviation is permitted. “Should” and “should not” indicate that
one of several possibilities is recommended as particularly suitable, without mentioning or
excluding others, that a certain course of action is preferred but not necessarily required, or
that (in the negative form) a certain possibility or course of action is discouraged but not
prohibited. “May” and “need not” indicate a course of action permissible within the limits of
the standard. “Can” and “cannot” are used for statements of possibility and capability,
whether material, physical, or causal.
1.3
Architecture Reference Model
The architecture reference model is presented in Figure 1-1. The reference model consists of
the following functional units:
Um
Sector
Access Terminal
Access Network
29
30
Figure 1-1. Architecture Reference Model
1-1
3GPP2 C.S0102-0 v1.0
1
2
3
The access terminal, the access network, and the sector are formally defined in Section 1.5.
The reference model includes the air interface between the access terminal and the access
network. The protocols used over the air interface are defined in this document.
4
1.4
Protocols
5
1.4.1
Interfaces
6
7
8
Overview
This standard defines a set of interfaces for communications between protocols in the same
entity and between a protocol executing in one entity and the same protocol executing in
the other entity.
10
In the following the generic term “entity” is used to refer to the access terminal and the
access network.
11
Protocols in this specification have four types of interfaces:
9
12

Headers and messages are used for communications between a protocol executing in
one entity and the same protocol executing in the other entity.

Commands are used by a protocol to obtain a service from another protocol within
the same access network or access terminal.

Indications are used by a protocol to convey information regarding the occurrence of
an event to another protocol within the same access network or access terminal. Any
protocol can register to receive these indications.

Public Data is used to share information in a controlled way between
protocols/applications. Public data is shared between protocols/applications in the
same layer, as well as between protocols/applications in different layers. The public
data of the InUse protocol/application is created when an InUse instance of a
protocol/application is created. All configurable attributes of the InConfiguration
instance of a protocol or application are also public data of that protocol or
application.
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Commands and indications are written in the form of Protocol.Command
Protocol.Indication. When the context is clear, the Protocol part is dropped.
and
Commands are always written in the imperative form, since they direct an action.
Indications are always written in the past tense since they notify of events that happened.
33
Headers and messages are binding on all implementations. Commands, indications, and
public data are used as a device for a clear and precise specification. Access terminals and
access networks can be compliant with this specification while choosing a different
implementation that exhibits identical behavior.
34
1.4.2
30
31
32
35
36
37
38
States
When protocols exhibit different behavior as a function of the environment, this behavior is
captured in a set of states and the events leading to a transition between states.
Unless otherwise specifically mentioned, the state of the access network refers to the state
of a protocol engine in the access network as it applies to a particular access terminal.
1-2
Overview
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
3GPP2 C.S0102-0 v1.0
Since the access network communicates with multiple access terminals, multiple
independent instantiations of a protocol will exist in the access network, each with its own
independent state machine.
Unless otherwise specifically shown, the state transitions due to failure are not shown in
the figures.
Typical events leading to a transition from one state to another are the receipt of a message,
a command from a higher layer protocol, an indication from a lower layer protocol, or the
expiration of a timer.
When a protocol is not functional at a particular time the protocol is placed in a state called
the Inactive state. This state is common for most protocols.
Other common states are Open, indicating that the session or connection (as applicable to
the protocol) is open and Close, indicating that the session or connection is closed.
If a protocol has a single state other than the Inactive state, that state is always called the
Active state. If a protocol has more than one state other than the Inactive state, all of these
states are considered active, and are given individual names.
1.5
Terms
Access Network (AN). The network equipment providing data connectivity between a
packet switched data network (typically the Internet) and the access terminals. An access
network is equivalent to a base station in [9].
Access Terminal (AT). A device providing data connectivity to a user. An access terminal
may be connected to a computing device such as a laptop personal computer or it may be a
self-contained data device such as a personal digital assistant. An access terminal is
equivalent to a mobile station in [9].
Channel. The set of channels transmitted between the access network and the access
terminals within a given frequency assignment. A Channel consists of a Forward Link and a
Reverse Link.
Forward Channel. The portion of the Channel consisting of those Physical Layer Channels
transmitted from the access network to the access terminal.
Forward Control Channel. The channel that carries data to be received by all access
terminals monitoring the Forward Channel.
36
Forward Traffic Channel. The portion of the Forward Channel that carries information for
a specific access terminal. The Forward Traffic Channel can be used as either a Dedicated
Resource or a non-Dedicated Resource. Prior to successful access terminal authentication,
the Forward Traffic Channel serves as a non-Dedicated Resource. Only after successful
access terminal authentication can the Forward Traffic Channel be used as a Dedicated
Resource for the specific access terminal.
37
FCS. Frame Check Sequence.
38
NULL. A value which is not in the specified range of the field.
31
32
33
34
35
1-3
3GPP2 C.S0102-0 v1.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Overview
Reservation. Air interface resources set up by the access network to carry a higher layer
flow. A Reservation is identified by its ReservationLabel. ReservationLabels are bound to
Link Flows that carry higher layer flows. A Reservation can be either in the Open or Close
state.
Reverse Access Channel. The portion of the Reverse Channel that is used by access
terminals to communicate with the access network when they do not have a traffic channel
assigned. There is a separate Reverse Access Channel for each sector of the access network.
Reverse Channel. The portion of the Channel consisting of those Physical Layer Channels
transmitted from the access terminal to the access network.
Reverse Traffic Channel. The portion of the Reverse Channel that carries information from
a specific access terminal to the access network. The Reverse Traffic Channel can be used
as either a Dedicated Resource or a non-Dedicated Resource. Prior to successful access
terminal authentication, the Reverse Traffic Channel serves as a non-Dedicated Resource.
Only after successful access terminal authentication can the Reverse Traffic Channel be
used as a Dedicated Resource for the specific access terminal.
17
RLP. Radio Link Protocol provides reliable delivery if needed, in-order delivery if needed,
and duplicate detection for a higher layer data stream.
18
Rx. Receive.
19
Sector. The part of the access network that provides one CDMA channel.
16
20
21
22
SNP. Signaling Network Protocol provides message transmission services for signaling
messages. The protocols that control each layer use SNP to deliver their messages to their
peer protocols. SNP is defined in [2].
25
Stream Layer. The Stream Layer provides multiplexing of distinct streams. Stream 0 is
dedicated to signaling and defaults to the default signaling stream (SNP / SLP). Stream 1,
Stream 2 and Stream 3 are not used by default. The Stream Layer is defined in [2].
26
Tx. Transmit.
23
24
27
1.6
Notation
28
A[i]
The ith element of array A. The zeroeth element of the array is A[0].
29
<e1, e2, …, en>
A
structure
with
elements
‘e1’,
‘e2’,
…,
‘en’.
Two structures E = <e1, e2, …, en> and F = <f1, f2, …, fm> are equal if
and only if ‘m’ is equal to ‘n’ and ei is equal to fi for i=1, …n.
Given E = <e1, e2, …, en> and F = <f1, f2, …, fm>, the assignment “E =
F” denotes the following set of assignments: ei = fi, for i=1, …n.
34
S.e
The member of the structure ‘S’ that is identified by ‘e’.
35
M[i:j]
Bits ith through jth inclusive (i ≥ j) of the binary representation of
variable M. M[0:0] denotes the least significant bit of M.
30
31
32
33
36
1-4
Overview
3GPP2 C.S0102-0 v1.0
|
Concatenation operator. (A | B) denotes variable A concatenated with
variable B.
3

Indicates multiplication.
4
x
Indicates the largest integer less than or equal to x: 1.1 = 1, 1.0 =
1.
x
Indicates the smallest integer greater or equal to x: 1.1 = 2, 2.0 =
2.
8
|x|
Indicates the absolute value of x: |–17|=17, |17|=17.
9

Indicates exclusive OR (modulo-2 addition).
10
min (x, y)
Indicates the minimum of x and y.
11
max (x, y)
Indicates the maximum of x and y.
12
x mod y
Indicates the remainder after dividing x by y: x mod y = x – (y  x/y).
13
Unless otherwise specified, the format of field values is unsigned binary.
1
2
5
6
7
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Unless indicated otherwise, this standard presents numbers in decimal form. Binary
numbers are distinguished in the text by the use of single quotation marks. Hexadecimal
numbers are distinguished by the prefix ‘0x’.
Unless specified otherwise, each field of a packet shall be transmitted in sequence such
that the most significant bit (MSB) is transmitted first and the least significant bit (LSB) is
transmitted last. The MSB is the left-most bit in the figures in this document. If there are
multiple rows in a table, the top-most row is transmitted first. If a table is used to show the
sub-fields of a particular field or variable, the top-most row consists of the MSBs of the
field. Within a row in a table, the left-most bit is transmitted first. Notations of the form
“repetition factor of N” or “repeated N times” mean that a total of N versions of the item are
used.
When a procedure, consisting of a set of steps, is normatively defined as a sequence of
bullet list items, it is assumed that the steps are performed in the indicated order unless
specified otherwise.
28
29
1-5
3GPP2 C.S0102-0 v1.0
1
Overview
This page intentionally left blank.
1-6
3GPP2 C.S0102-0 v1.0
1
2
INTRODUCTION
7
Air Interface Layer Security (AALS) function at the Air Interface Application layer coexists
with security layer functionality defined in [9]. The AALS is defined to be independent of the
Authentication Protocol and the Encryption Protocol defined by the security layer in [9]. For
backwards compatibility purposes and to simplify the key management issue, message
integrity protection functionality at Security layer defined in [9] can co-exist with the
integrity, encryption functionality specified in this document.
8
AALS Function at the Air Interface Application layer consists of the following functionalities:
9

Derivation and management of the cryptographic synchronization value (crypto-sync)
for crypto-processing of transmitted and received Air Interface Application layer data.

Air Interface Application Data and Signaling Encryption, and Signaling Integrity
Protection.
2
3
4
5
6
10
11
12
13
14
2.1
Architecture Reference Model
Placement of the AALS Function at the Air Interface Application Layer is shown on the.
Application Layer
AALS
EMFPA
AALS
MFMLPA
SLP
Stream Layer
Session Layer
Connection Layer
Security Layer
MAC Layer
Physical Layer
15
16
17
Figure 2-1. Security Function at the Air Interface Application Layer.
The security for packet application subtype is negotiated per flow.
18
19
20
21
22
The AALS function utilizes the crypto-sync for all crypto-processing to provide the replay
protection for processed data. Derivation and maintenance of crypto-sync assures that each
and every byte of processed data is crypto-processed using unique and non-repeating
cryptographic constants applicable exclusively for this byte. The crypto-sync is
2-1
3GPP2 C.S0102 v1.0
2
independently derived at the communicating peers, and is not transmitted over the air
interface.
3
Security Function at Air Interface Application layer consists of following capabilities:
4

Air Interface Application Layer Security Enhanced Multi-Flow Packet Application
5

Air Interface Application Layer Security multi-link Multi-Flow Packet Application
6

Air Interface Application Signaling Encryption Function
7

Air Interface Application Signaling Integrity Function
1
8
9
10
11
12
13
14
15
16
2.2
Key Management
Session security keys for the AALS, such as signaling protection key (SigKey) and RLP
packet data protection key (DataKey[i]), are derived from the keys provided by the Key
Exchange Protocol as specified in [8]. When the AALS function receives indication
RouteUpdate.ConnectionInitiated from the lower layer, the AALS shall derive session keys for
AALS as specified in the following.
When one set of keys is provided by the Key Exchange Protocol [6], the AALS session keys
are computed as follows:
-
SKeyTemp =
(FACAuthKey|FPCAuthKey|RACAuthKey|RPCAuthKey|FACEncKey|FPCEncKey
|RACEncKey| RPCEncKey)
-
SigKey = ehmacsha256(key=SKeyTemp, key_length=256 in units of octets,
message = “AALS Signaling Key”, message_length = length of message in units of
bits, message_offset=0, MAC_length = 16), where the ehmacsha256 function is
specified in [3]
-
SigIntegrityKey = ehmacsha256(key=SKeyTemp, key_length=256 in units of
octets, message = “AALS Signaling Integrity Key”, message_length = length of
message in units of bits, message_offset=0, MAC_length = 16), where the
ehmacsha256 function is specified in [3]
-
DataKey = ehmacsha256(key = SKeyTemp, key_length = 256 in units of octets,
message = “AALS Data Key]”, message_length = length of message in units of
bits, message_offset = 0, MAC_length=16), where the ehmacsha256 function is
specified in [3], and DataKey with index i is used for multiple copies of RLP.
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
All the variables used to create SKeyTemp are public data of Key Exchange Protocol [9], [6].
32
2-2
3GPP2 C.S0102-0 v1.0
1
2
3
4
5
6
7
8
9
10
3
SIGNALING LAYER PROTOCOL
This section defines security functions that will be invoked by the Signaling Link Protocol
(SLP) and additional procedures and requirements for SLP-D specified in [2]. Unless
specified otherwise, the procedures in the sections 1.6 of [2] also apply.
Encryption/Decryption procedure for signaling application is defined in section 3.1.
Signaling integrity protection procedure signaling application is defined in section 3.2.
3.1
Air Interface Application Signaling Encryption/Decryption functions
The Air Interface Application Signaling Encryption/Decryption Functions shall use the AES
(a.k.a. Rijndael) procedures defined in [3] in order to encrypt and decrypt the Air Interface
Application Layer signaling packets.
16
If the SignalingProtection attribute is set to 0x02, then the SLP-D messages shall be
encrypted/decrypted based on the procedure defined in this section. The signaling packet
shall be encrypted by the transmitter using the AES algorithm in a counter mode [3].
Because all required cryptographic configuration parameters are either provided by other
protocols (session encryption keys) or internally derived by the AALS function (cryptosync),
no additional headers are required for crypto-processing the signaling packet.
17
3.1.1
11
12
13
14
15
18
19
Signaling Encryption Key
The Air Interface Application Signaling Encryption/Decryption shall construct the signaling
encryption keys as follows:

22
If the value of SignalingProtection attribute is equal to 0x02, then the Air Interface
Application Signaling Encryption/Decryption Key function shall construct the
signaling protection key SigEncryptionKey as follows:
23
Call the KeyStrengthRedAlg procedure specified in [3] with its inputs set as follows:
20
21
24
 Set the KeyLength to 16.
25
 Set the OriginalKey to the value of the SigKey as specified in section 2.2.
26
 Set the SaltLength to the value of the SigSaltLength parameter.
27
 Set the Salt to the value of the SigSalt parameter.
28
 Set the KeyEntropy to the value of the SigKeyEntropy parameter.
When the KeyStrengthRedAlg procedure returns, set the SigEncryptionKey to
RedStrengthKey which is the output of the KeyStrengthRedAlg procedure.
29
30
31

32
33
If the value of SignalingProtection attribute is equal to 0x01 or 0x02, then the Air
Interface Application Signaling Integrity Key, SigIntegrityKey, shall be constructed
as in section 2.2.
34
3.1.2
Constructing the Cryptosync
35
The Function shall construct the Cryptosync as shown in Table 3-1.
3-1
3GPP2 C.S0102-0 v1.0
1
Table 3-1.
2
Subfield of the Cryptosync
Subfield
Length (bits)
FunctionCode
2
Direction
1
Reserved
5
RolloverCounter
34
ResetCounter
8
VirtualSequenceNumber
22
FunctionCode
This field shall be set to ‘01’ to indicate Signaling Encryption
function. It shall be set to ‘10’ to indicate Signaling Integrity
function.
Direction
If the payload is for Forward Link then this field shall be set to
‘0’. Otherwise, this field shall be set to ‘1’.
8
Reserved
All the bits in this field shall be set to ‘0’.
9
RolloverCounter
This field shall be constructed and maintained by the Access
Network and Access Terminal as described in 3.1.2.1.
ResetCounter
This field shall be set to the number of occurrence of SLP
reset.
VirtualSequenceNumber
This field shall be set to the SequenceNumber in the SLP-D
header. It is pre-padded with zeros if the size of
SequenceNumber is less than 22-bit.
3
4
5
6
7
10
11
12
13
14
15
16
3.1.2.1 RolloverCounter Procedures
19
The RolloverCounter shall be reset to zero when the session key changes. When the
RolloverCounter approaches its maximum value, the session key SigEncryptionKey shall be
changed.
20
The RolloverCounter is incremented when the VirtualSequenceNumber is rolled over.
17
18
21
22
23
24
25
26
27
To avoid repetition of the cryptosync at the time of connection re-establishment, the
RolloverCounter shall be incremented by the Access Network when the RTCAck message is
received from the Access Terminal, and the RolloverCounter shall be incremented by the
Access Terminal when the reception of the RTCAck message is confirmed by the Access
Network.
In a rare cases when connection fails right after the Access Network receives the RTCAck
message, the Access Terminal may not receive confirmation of its reception by the Access
3-2
3GPP2 C.S0102-0 v1.0
4
Network, mis-synchronization of the RolloverCounter may occur. To recover from this rare
error condition, the session key change and RolloverCounter reset procedure may be used.
For example. the Access Terminal and Access Network may decide to close and re-open the
session.
5
3.1.3
1
2
3
6
7
8
Signaling Encryption Procedure
The procedure shall provide service of encrypting the signaling payload. Figure 3-1
illustrates the relationship between an Input Payload and an Output Payload after
processing the signaling packet.
9
SLP-D
Header
SLP-D
Header
SNP Packet
Encrypted InputPayload
Octet-aligned
OutputPayload
10
Figure 3-1. Encryption Function Call
11
12
13
14
15
16
The function shall process the SNP signaling packet as follows:

If the SignalingProtection attribute is equal to 0x02, the function shall perform the
following:
The function shall call the ESP_AES procedure specified in [3] with its inputs set as
follows:
17

Set the key to the SigEncryptionKey as specified in 3.1.1.
18

Set fresh to the value of the Cryptosync under consideration.
Cryptosync is calculated as specified in 3.1.2.

Set the freshsize to the value of the CryptosyncLength for the packet to be
encrypted.

Set the buf to the address of the beginning of the memory space that
contains the signaling packet.
24

Set the bit_offset to zero.
25

Set the bit_count to the length of the signaling packet in bits.
19
20
21
22
23
3-3
The
3GPP2 C.S0102-0 v1.0
After the ESP_AES procedure is returned, the function shall set the signaling
packet to the output of the ESP_AES procedure which starts at the memory
space specified by buf and is of the same size as the signaling packet.
1
2
3
4

5
6
7
8
9
3.1.4
If the SignalingProtection attribute is equal to 0x00 or 0x01, the function shall set
the output packet to the signaling packet.
Signaling Decryption Procedures
The procedure shall provide service of decrypting the payload from signaling layer. Figure
3-2 illustrates the relationship between an Input Payload and the Output Payload after
processing the payload.
10
InputPayload
SLP-D
Header
Encrypted Payload
Octet-aligned
SLP-D
Header
SNP Packet
11
Figure 3-2. Decryption Procedure Call
12
13
14
15
16
17
If the signaling Layer packet is received, then the receiver shall perform the following:

If the SignalingProtection attribute is equal to 0x02, the function shall perform the
following:
The Air Interface Application Signaling Encryption Function shall call the ESP_AES
procedure specified in [3] with its inputs set as follows:
18

Set the key to the SigEncryptionKey as specified in 3.1.1.
19

Set fresh to the value of the Cryptosync. The Cryptosync is calculated as
specified in 3.1.2.
21

Set the freshsize to the value of the CryptosyncLength.
22

Set the buf to the address of the beginning of the memory space that
contains the signaling packet, .
24

Set the bit_offset to zero.
25

Set the bit_count to the length of the signaling packet in bits.
20
23
3-4
3GPP2 C.S0102-0 v1.0
After the ESP_AES procedure is returned, the procedure shall set signaling packet
to the output of the ESP_AES procedure which starts at the memory space
specified by buf and is of the same size as the signaling packet.
1
2
3

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
3.2
If the SignalingProtection attribute is equal to 0x00 or 0x01, the Air Interface
Application Signaling Encryption Function shall set the signaling packet to the
input packet.
Air Interface Application Signaling Integrity functions
If the SignalingProtection attribute is set to 0x01 or 0x02, then the AT and AN shall follow
the signaling integrity protection procedures defined in this section.
Air Interface Application Signaling Integrity Function employs the explicit Message
Authentication Code to provide a method for integrity protection of signaling messages by
applying the AES CMAC function (see [3], and [4]).
The transmitting function appends the Authentication Tag to the signaling message in SLPD and forwards it to the next procedure for processing.
When the receiving function receives packet for processing, it calculates the message
Authentication Tag and compares the computed value with the one received. If match, the
Authentication Tag will be removed and the remaining packet is delivered to SNP for
processing.
21
When the signaling packet is both Integrity and Encryption protected, the sender shall first
encrypt the packet and then integrity protect the packet. The receiver shall check the
integrity of the signaling packet and then decrypt the packet.
22
3.2.1
23
The Signaling Protection Key is constructed using procedure in 3.1.1.
24
3.2.2
25
The Cryptosync is constructed using procedure in 3.1.2.
26
3.2.3
27

19
20
28
Signaling Protection Key
Constructing the Cryptosync
AUTHENTICATE_ADD_TAG procedures
AUTHENTICATE_ADD_TAG
-
29
Inputs: Direction, RolloverCounter, SequenceNumber, InputPayloadSize,
InputPayload.
The inputs Direction, RolloverCounter, and SequenceNumber are used for
cryptosync calculation.
30
31
32
-
Outputs: OutputPayloadSize, OutputPayload
33
-
Possible values of each input and output are as follows:
34

Direction – ‘0’ (ForwardLink) or ‘1’ (ReverseLink)
35

RolloverCounter – 34-bit hexadecimal number
3-5
3GPP2 C.S0102-0 v1.0

ResetCounter – 8-bit hexadecimal number, which is the number of occurrence of
SLP reset

SequenceNumber – Hexadecimal number of n bits, where n is less than or equal
to 22
5

InputPayloadSize – Input payload size in octets
6

InputPayload – Input payload
7

OutputPayloadSize – Output payload size in octets
8

OutputPayload – Output payload
1
2
3
4
9
10
11
The function shall provide service of adding Authentication Tag through
AUTHENTICATE_ADD_TAG procedure call. Figure 3-3 illustrates the relationship between
an InputPayload and an OutputPayload of AUTHENTICATE_ADD_TAG procedure call.
Payload from SNP
Authentication
Tag
InputPayload
Octet-aligned
OutputPayload
12
Figure 3-3. AUTHENTICATE_ADD_TAG procedure call payloads
13
14
Upon reception of an signaling packet, the procedure shall perform the following steps:
15

16
If the SignalingProtection field is set to 0x00, then AUTHENTICATE_ADD_TAG
procedure shall set the outputs of the AUTHENTICATE_ADD_TAG procedure as follows:
17
-
Set OutputPayload to InputPayload.
18
-
Set OutputPayloadSize to size of InputPayload in octets.

20
Otherwise, the AUTHENTICATE_ADD_TAG procedure shall call the CMAC(K, M, Mlen,
Tlen) procedure specified in [5] with its inputs set as follows:
21
-
Set the K to the Air Interface Application Signaling protection key SigIntegrityKey
constructed as specified in Section 3.1.1.
-
24
Set the M to B0 Header|B0| OutputPayload, where B0 Header and B0 are set as
follows:
25

19
22
23
Set B0 Header to ‘10011100’.
3-6
3GPP2 C.S0102-0 v1.0

1
2
3
Set B0 to (fresh | L), where fresh is set to the value of the Cryptosync that is
constructed as specified in 3.1.2, and L is set to size of the OutputPayload in
octets expressed as 32-bit hexadecimal number.
4
-
Set the Mlen to 8 times the size of M in octets.
5
-
Set the Tlen to 32.
7
then, the AUTHENTICATE_ADD_TAG procedure
AUTHENTICATE_ADD_TAG procedure as follows:
8

Construct Authentication Tag by setting the AuthTag field to the output of the CMAC
procedure.
10

Set OutputPayload to (InputPayload | Authentication Tag).
11

Set OutputPayloadSize to (InputPayloadSize + size of the Authentication Tag in octets).
12
3.2.4
13

6
9
14
shall
set
the
outputs
of
the
AUTHENTICATE_CHECK_TAG procedures
AUTHENTICATE_CHECK_TAG
-
Inputs: Direction, SequenceNumber, RolloverCounter, InputPayloadSize, InputPayload.
The inputs Direction, RolloverCounter, and SequenceNumber are used for
cryptosync calculation.
15
16
17
-
Outputs: TagMatched, OutputPayloadSize, OutputPayload
18
-
Possible values of each input and output are as follows:
19

Direction – ‘0’ (ForwardLink) or ‘1’ (ReverseLink)
20

RolloverCounter – 34-bit hexadecimal number
21

ResetCounter – 8-bit hexadecimal number, which is the number of occurrence of
SLP reset

SequenceNumber – Hexadecimal number of n bits, where n is less than or equal
to 22.
25

InputPayloadSize – Input payload size in octets
26

InputPayload – Input payload
27

TagMatched – ‘1’ (TRUE), ‘0’ (FALSE)
28

OutputPayloadSize – Output payload size in octets
29

OutputPayload – Output payload
22
23
24
30
31
32
33
34
35
If the AUTHENTICATE_CHECK_TAG returns TagMatched with FALSE, the signaling
message should be silently discarded.
The function shall provide service of checking Authentication Tag through
AUTHENTICATE_CHECK_TAG procedure call. Figure 3-4 illustrates the relationship
between an InputPayload and an OutputPayload of AUTHENTICATE_CHECK_TAG
procedure call.
3-7
3GPP2 C.S0102-0 v1.0
InputPayload
OutputPayload
Authentication
Tag
Octet-aligned
Output Payload
1
Figure 3-4. AUTHENTICATE_CHECK_TAG procedure call payloads
2
3
The AUTHENTICATE_CHECK_TAG procedure shall perform the following:
4

5
If the SignalingProtection is set to 0x00, then AUTHENTICATE_CHECK_TAG procedure
shall set the outputs of the AUTHENTICATE_CHECK_TAG procedure as follows:
6
-
Set TagMatched to TRUE.
7
-
Set OutputPayloadSize to size of OutputPayload in octets.
8

9
10
Otherwise, the AUTHENTICATE_CHECK_TAG procedure shall call the CMAC(K, M,
Mlen, Tlen) procedure specified in [5] with its inputs set as follows:
-
Set the K to the Air Interface Application Signaling Protection key SigIntegrityKey
constructed as specified in Section 3.1.1.
-
Set the M to B0Tag|B0| OutputPayload, where B0Tag and B0 are set as follows:
11
12
13

Set B0Tag to ‘10011100’.
14

Set B0 to (fresh | L), where fresh is set to the value of the Cryptosync
constructed as specified in 3.1.2, and L is set to size of the OutputPayload in
octets expressed as 32-bit hexadecimal number.
15
16
17
-
Set the Mlen to 8 times size of M in octets.
18
-
Set theTlen to 32.
19

The InputPayload consists of (OutputPayload | Authentication Tag).
20

The AUTHENTICATE_CHECK_TAG procedure shall remove Authentication Tag from
InputPayload to produce OutputPayload.

23
After the CMAC procedure is returned, the AUTHENTICATE_CHECK_TAG procedure
shall set the outputs of the AUTHENTICATE_CHECK_TAG procedure as follows:
24
-
If output of the CMAC procedure matches the Authentication Tag, then set
TagMatched to TRUE. Otherwise, set TagMatched to FALSE.
-
Set OutputPayloadSize to size of OutputPayload in octets.
21
22
25
26
3-8
3GPP2 C.S0102-0 v1.0
1
2
3
3.2.5
Authentication Tag
The Authentication Tag field, which is appended to the payload, has the following format, as
shown in Table 3-2.
Table 3-2.
4
Authentication Tag
Field
Length (bits)
AuthTag
5
AuthTag
6
7
8
0 or 32
If the SignalingProtection is set to 0x01 or 0x02, the function
shall include this field and set it to the outputs of 32 MSB of
CMAC procedure call. Otherwise, if the SignalingProtection is
set to 0x00, this field shall be omitted.
9
10
3.3
11
3.3.1
12
Procedures specified in [2] apply here.
13
3.3.2
14
Procedures specified in [2] apply here.
15
3.3.3
16
Procedures specified in [2] apply here.
17
3.3.4
18
19
20
Signaling Layer Protocol (SLP)
Overview
Primitives and Public Data
Protocol Data Unit
Procedures
3.3.4.1 Reset
Procedures specified in [2] apply here.
3.3.4.2 Delivery Layer Procedures
21
Procedures specified in [2] apply here.
22
3.3.4.2.1 General Procedures
23
Procedures specified in [2] apply here.
24
3.3.4.2.1.1 Transmitter Requirements
25
Procedures specified in [2] apply here.
26
3.3.4.2.1.2 Receiver Requirements
27
Procedures specified in [2] apply here.
3-9
3GPP2 C.S0102-0 v1.0
1
3.3.4.2.2 Best Effort Delivery Procedures
2
Procedures specified in [2] apply here.
3
3.3.4.2.2.1 Transmitter Requirements
4
Procedures specified in [2] apply here.
5
3.3.4.2.2.2 Receiver Requirements
6
Procedures specified in [2] apply here.
7
3.3.4.2.3 Reliable Delivery Procedures
8
3.3.4.2.3.1 Overview
9
Procedures specified in [2] apply here.
10
3.3.4.2.3.2 Initialization
13
In addition to procedures specified in [2]. The access terminal and the access network shall
perform the session key construction procedure specified in section 3.1.1, if the protocol
receives a RouteUpdate.ConnectionInitiated indication.
14
3.3.4.2.3.3 Data Transfer
15
3.3.4.2.3.3.1 Transmit Procedures
11
12
16
17
18
In addition to the procedure specified in [2], the following procedures here shall be also
applied in sequence if the SignalingProtection set to 0x01or 0x02:

Invoke the AALS Signaling Integrity Protection AUTHENTICATE_ADD_TAG
procedures specified in the section 3.2.3 if SignalingProtection attribute set to 0x01
or 0x02;

Invoke the AALS Signaling Encryption Procedure specified in the section 3.1.3 if
SignalingProtection attribute set to 0x02;
19
20
21
22
23
24
25
26
27
3.3.4.2.3.3.2 Receive Procedures
In addition to the procedure specified in the section 1.6.4.2.3.3.2 of [2], the following
procedures here shall be also applied in sequence if the SignalingProtection attribute set to
0x01 or 0x02:

Invoke the AALS Signaling Decryption Procedure specified in the section 3.1.4 if
SignalingProtection attribute set to 0x02;

Invoke the AALS Signaling Integrity Protection AUTHENTICATE_CHECK_TAG
procedures specified in the section 3.2.4 if SignalingProtection attribute set to 0x01
or 0x02;
28
29
30
31
32
3.3.5
Header Formats
33
Procedures specified in [2] apply here.
3-10
3GPP2 C.S0102-0 v1.0
1
3.3.6
2
Procedures specified in [2] apply here.
3
3.3.7
4
Procedures specified in [2] apply here.
5
3.4
Message Formats
Interface to Other Protocols
Protocol Attributes
6
This is a new section in addition to [2]
7
3.4.1
8
The Table 3-3 defines new simple configuration attributes associated with this application:
9
10

Simple Attributes
SignalingProtection
The default value for the attribute is typed in bold italics.
Table 3-3.
11
Attribute
ID
0xffff
12
13
14
15
3.4.2
Attribute
SignalingProte
ction
Configurable Values
Values
Meaning
0x00
The SLP-D signaling packets shall
be not integrity and encryption
protected by the sender.
0x01
The SLP-D signaling packets shall
be integrity protected by the sender
and shall be validated by the
receiver.
0x02
The SLP-D signaling packets shall
be both integrity and encryption
protected by the sender and shall be
decrypted and validated by the
receiver.
0x03-0xff
Reserved
Complex Attributes
The following complex attributes are defined for reduction of the Signaling Protection key
strength.
3.4.2.1 SigReducedStrengthKey Attribute
16
3-11
3GPP2 C.S0102-0 v1.0
Field
Length (bits)
Length
Default Value
8
N/A
16
N/A
ValueID
8
N/A
SigSaltLength
8
0
AttributeID
SigSalt
SigSaltLength × 8
SigKeyEntropy
8
N/A
16
Length
Length of the complex attribute in octets. The sender shall set this
field to the length of the complex attribute excluding the Length field.
3
AttributeID
The sender shall set this field to the value of 0x0000.
4
ValueID
The sender shall set this field to an identifier assigned to this complex
value.
SigSaltLength
The sender shall set this field to the length of the SigSalt field in
octets.
SigSalt
The sender shall set this field to the value of the SigSalt input
parameter that is to be used in the KeyStrengthRedAlg procedure
specified in [3] for the signaling integrity key.
SigKeyEntropy
The sender shall set this field to the value of the SigKeyEntropy input
parameter that is to be used in the KeyStrengthRedAlg procedure
specified in [3] for the Signaling Encryption key SigEncryptionKey.
The valid values for this field are 0 through 16, inclusive.
1
2
5
6
7
8
9
10
11
12
13
14
3-12
3GPP2 C.S0102-0 v1.0
1
4
AALS ENHANCED MULTI-FLOW PACKET APPLICATION
2
4.1
3
4.1.1
4
5
6
7
8
9
10
11
Introduction
General Overview
The following text serves as introduction to the expanded functionality of EMFPA specified
in [7].
This section defines additional procedures and requirements for Enhanced Multi-Flow
Packet Application in [7]. This specification defines additional procedures and requirements
to support Air Interface Application Security for this new defined sub-type. Unless specified
otherwise, all the procedures defined in [7] also apply to this section.
The Air Interface Application Data Encryption uses the AES (a.k.a. Rijndael) procedures
defined in [3] in order to encrypt and decrypt the EMFPA packets.
18
Air Interface Application Data encryption can be applied selectively to individual link flows.
That is, depending on session configuration, some link flows may be encrypted, while others
are not. Encryption mode is individually configured for each link flow during the negotiation
of link flow. Each RLP block is encrypted by the transmitter using the AES algorithm in a
counter mode. Because all required cryptographic configuration parameters are either
provided by other protocols (session encryption keys) or internally derived (cryptosync), no
additional headers are required for crypto-processing the data.
19
4.1.2
20

21
This new subtype value is defined in [1].
12
13
14
15
16
17
22
23
24
Public Data
Subtype for this application.
4.2
Protocol Initialization
Procedures specified in [7] apply here.
4.3
25
Procedures and Messages for the InConfiguration Instance of the Packet
Application
26
4.3.1
Procedures
27
The procedures specified in [7] apply here.
28
4.3.2
29
Procedures specified in [7] apply here.
30
4.3.3
31
Procedures specified in [7] apply here.
Commit Procedures
Message Formats
4-1
3GPP2 C.S0102-0 v1.0
1
2
3
4.4
Route Selection Protocol
Procedures specified in [7] apply here.
4.5
Radio Link Protocol
4
Procedures specified in [7] apply here.
5
4.5.1
Overview
6
4.5.2
Primitives and Public Data
7
4.5.3
Protocol Data Unit
8
4.5.4
Procedures and Messages for the InUse Instance of the Protocol
9
10
11
12
13
14
15
16
17
18
19
20
21
22
4.5.4.1 Procedures
In addition to the procedures specified in [7], the following procedure apply.
When forward Link Flow NN is activated, the access network and the access terminal shall
not update the following attributes:

FlowNNFwdEncryptionProtection
When reverse Link Flow NN is activated, the access network and the access terminal shall
not update the following attributes:

FlowNNRevEncryptionProtection
4.5.4.1.1 Constructing the Encryption Key
In addition to procedures specified in [7] the access terminal and the access network shall
perform the following session key construction procedure, if the protocol receives a
RouteUpdate.ConnectionInitiated indication.
The Air Interface Application Data Encryption Protocol shall construct the encryption keys
as follows:

26
If
the
value
of
any
FlowNNFwdEncryptionProtection
or
FlowNNRevEncryptionProtection attribute is equal to 0x01, then the Air Interface
Application Data Encryption Function shall construct the encryption key for the
forward flow NN DataEncryptionKey as follows:
27
Call the KeyStrengthRedAlg procedure specified in [3] with its inputs set as follows:
23
24
25
28
 Set the KeyLength to 16.
29
 Set the OriginalKey to the value of the DataKey as specified in 2.2.
30
 Set the SaltLength to the value of the SaltLength parameter.
31
 Set the Salt to the value of the Salt parameter.
32
 Set the KeyEntropy to the value of the KeyEntropy parameter.
4-2
3GPP2 C.S0102-0 v1.0
When the KeyStrengthRedAlg procedure returns, set the DataEncryptionKey to
RedStrengthKey which is the output of the KeyStrengthRedAlg procedure if
FlowNNFwdEncryptionProtection or FlowNNRevEncryptionProtection is set to
0x01.
1
2
3
4
5
4.5.4.1.2 Constructing the Cryptosync
6
The RLP shall construct the Cryptosync as shown in Table 4-1.
Table 4-1.
7
Subfield of the Cryptosync
Subfield
Flow
Length (bits)
FunctionCode
2
Direction
1
Reserved
5
FlowID
8
StreamID
8
RolloverCounter
34
VirtualSequenceNumber
22
8
FunctionCode
This field shall be set to ‘00’ to indicate Ciphering function.
9
Direction
If the payload being encrypted or decrypted is for Forward
Link then this field shall be set to ‘0’. Otherwise, this field
shall be set to ‘1’. Direction is received as Direction input to
ENCRYPT and DECRYPT procedure calls.
13
Reserved
All the bits in this field shall be set to ‘0’.
14
FlowID
This field shall be set to the LinkFlowNumber corresponding
to the payload being encrypted or decrypted. FlowID is
received as FlowID input to ENCRYPT and DECRYPT
procedure calls.
StreamID
The two LSBs of this field shall be set to the stream ID to
which the application subtype is associated with. The
remaining bits are set to ‘0’..
RolloverCounter
This field shall be constructed and maintained by the Access
Network and Access Terminal as described in 3.1.2.1.
VirtualSequenceNumber
For the octet stream, this field shall be set as follows: For the
first block, this field shall be set to the value of a Sequence
Number of the RLP packet (SEQ) included in the RLP header,
10
11
12
15
16
17
18
19
20
21
22
23
24
25
4-3
3GPP2 C.S0102-0 v1.0
divided by 16. For each subsequent block, this value shall be
incremented by 1. For packet stream, this field shall be set to
the packet sequence number in the packet header.
1
2
3
4
4.5.4.1.3 RolloverCounter Procedures
5
The RolloverCounter is as specified as 3.1.2.1.
6
4.5.4.2
7
8
9
10
Data Transfers
The Data Transfer function shall provide service of encrypting the payload from the Air
Interface Application Layer. Figure 4-1 illustrates the relationship between an Input
Payload and an Output Payload after processing with the Air Interface Application Data
Encryption capability.
11
RLP
Header
RLP
Header
Payload from
Application Layer
Encrypted InputPayload
Octet-aligned
OutputPayload
12
Figure 4-1. Encryption Procedure Call
13
14
15
16
17
18
19
20
21
22
23
The Air Interface Application Data Encryption Function shall perform the following
procedure for each of the flows:

If the Encryption attribute for the flow under consideration (e.g.,
FlowNNFwdEncryptionProtection) is equal to 0x01, the function shall perform the
following:
For the octet stream, the RLP packet shall be divided into 16 byte blocks and the
cryptosync calculated for each block using the procedure defined in 4.5.4.1.2. If
the sequence number from the packet header is not at the 16 byte boundary, the
first AES block shall be selected to make the second AES block starting from 16
byte boundary.
4-4
3GPP2 C.S0102-0 v1.0
The function shall call the ESP_AES procedure specified in [3] with its inputs set as
follows:
1
2
3

Set the key to the Encryption Key for the flow under consideration(e.g.,
DataEncryptionKey) as specified in 4.5.4.1.1.

Set fresh to the value of the Cryptosync for the flow under consideration.
The Cryptosync is calculated as specified in 4.5.4.1.2.

Set the freshsize to the value of the CryptosyncLength for the flow under
consideration.

Set the buf to the address of the beginning of the memory space that
contains the Air Interface Application Layer packet.

Set the bit_offset to zero if the sequence number from the packet header is at
the 16 byte boundary. If the sequence number from the packet header is not
at the 16 byte boundary, the bit_offset shall be set to the value that points to
the first bit of the payload in the first AES block. For packet stream, the
bit_offset shall be set to zero.

Set the bit_count to the length of the Air Interface Application Layer Packet in
bits.
4
5
6
7
8
9
10
11
12
13
14
15
16
17
After the ESP_AES procedure is returned, the function shall set the Stream Layer
packet to the output of the ESP_AES procedure which starts at the memory
space specified by buf and is of the same size as the Air Interface Application
Layer packet.
18
19
20
21
22

23
24
If the Encryption attribute for the flow under consideration (e.g.,
FlowNNFwdEncryptionProtection) is equal to 0x00, the function shall set the Stream
Layer packet to the Air Interface Application Layer packet.
25
4.5.4.3
26
This is a new procedures that is not specified in the section 2.5 of [7].
27
28
29
Data Receive Procedures
The data receive procedure shall provide service of decrypting the payload from Streaming
Layer. Figure 4-2 illustrates the relationship between an Input Payload and the Output
Payload after processing the payload at Air Interface Application Encryption function.
30
4-5
3GPP2 C.S0102-0 v1.0
InputPayload
RLP
Header
Encrypted Payload
Octet-aligned
RLP
Header
Decrypted Payload
1
Figure 4-2. Decryption Procedure Call
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
If the Stream Layer packet is received, then the receiver shall construct the Air Interface
Application Layer packet from the Stream Layer packet by performing the following
procedure for each of the flows:

If the Encryption attribute for the flow under consideration (e.g.,
FlowNNFwdEncryptionProtection) is equal to 0x01, the Air Interface Application
Data Encryption Function shall perform the following:
For the octet stream, the RLP packet shall be divided into 16 byte blocks and the
cryptosync calculated for each block using the procedure defined in 4.5.4.1.2. If
the sequence number from the packet header is not at the 16 byte boundary, the
first AES block shall be selected to make the second AES block starting from 16
byte boundary.
The Air Interface Application Data Encryption Function shall call the ESP_AES
procedure specified in [3] with its inputs set as follows:

Set the key to the DataEncryptionKey for the flow under consideration as
specified in section 4.5.4.1.1.

Set fresh to the value of the Cryptosync for the flow under consideration. The
Cryptosync is calculated as specified in 4.5.4.1.2.

Set the freshsize to the value of the CryptosyncLength for the flow under
consideration.

Set the buf to the address of the beginning of the memory space that
contains the Stream Layer packet.
17
18
19
20
21
22
23
4-6
3GPP2 C.S0102-0 v1.0
1

Set the bit_offset to zero if the sequence number from the RLP header is at
the 16 byte boundary. If the sequence number from the RLP header is not at
the 16 byte boundary, the bit_offset shall be set to the value that points to
the first bit of the payload in the first AES block. For packet stream, the
bit_offset shall be set to zero.

Set the bit_count to the length of the Stream Layer Packet in bits.
2
3
4
5
6
After the ESP_AES procedure is returned, the function shall set the Air Interface
Application Layer packet to the output of the ESP_AES procedure which starts at
the memory space specified by buf and is of the same size as the Stream Layer
packet.
7
8
9
10
11

12
13
14
15
16
17
18
19
20
21
If the Encryption attribute for the flow under consideration (e.g.,
FlowNNFwdEncryptionProtection) is equal to 0x00, the Air Interface Application
Data Encryption Function shall set the Air Interface Application Layer packet to the
Stream Layer packet.
4.5.4.4 RLP Packet Header
No changes from [7].
4.5.4.5 Message Formats
No changes from [7].
4.5.4.6 Interface to Other Protocols
No changes from [7].
4.5.4.7 RLP Packet Priorities
22
No changes from [7].
23
4.5.5
24
4.6
25
26
27
28
29
30
31
32
33
Protocol Numeric Constants
Data Over Signaling Protocol
Data Over Signaling uses best effort messages. So signaling protection can not be applied.
4.7
Location Update Protocol
Procedures specified in [7] apply here.
4.8
Flow Control Protocol
Procedures specified in [7] apply here.
4.9
Configuration Attributes for the Enhanced Multi-Flow Packet Application
In addition to procedures specified in [7], the access terminal and the access network shall
support the use of the Generic Attribute Update Protocol to update values of the following
configurable attributes belonging to the Enhanced Multi-Flow Packet Application:
4-7
3GPP2 C.S0102-0 v1.0
1

FlowNNFwdEncryptionProtection
2

FlowNNRevEncryptionProtection
3
4.9.1
Simple Attributes
5
The Table 4-2 defines simple configuration attributes for each flow. The flow is identified by
0xNN.
6
The default value for each attribute is typed in bold italics.
4
Table 4-2.
7
Attribute
ID
Attribute
0xcfNN
NN is the
two-digit
flow number
of the
forward flow
in the range
0x00 to
MaxNumRL
PFlowsFwd 1 inclusive.
FlowNNFwdEn
cryptionProtect
ion
0xceNN
NN is the
two-digit
flow number
of the
reverse flow
in the range
0x00 to
MaxNumRL
PFlowsRev 1 inclusive.
FlowNNRevEnc
ryptionProtecti
on
Configurable Values
Values
Meaning
0x00
The packets carried on the Forward
Link flow NN shall not be encrypted.
0x01
The packets destined for the flow
shall be encrypted by the sender
and shall be decrypted by the
receiver.
0x02-0xff
Reserved
0x00
The packets carried on the Reverse
Link flow NN shall not be encrypted.
0x01
The packets destined for the flow
shall be encrypted by the sender
and shall be decrypted by the
receiver.
0x02-0xff
Reserved
8
9
10
11
4.9.2
Complex Attributes
The following complex attributes are defined for reduction of the Ciphering key strength for
each channel.
4-8
3GPP2 C.S0102-0 v1.0
1
4.9.2.1 ReducedStrengthCipheringKey Attribute
2
Field
Length (bits)
Length
Default Value
8
N/A
16
N/A
ValueID
8
N/A
SaltLength
8
0
AttributeID
Salt
SaltLength × 8
KeyEntropy
8
N/A
16
Length
Length of the complex attribute in octets. The sender shall set this
field to the length of the complex attribute excluding the Length field.
5
AttributeID
The sender shall set this field to the value of 0x3001.
6
ValueID
The sender shall set this field to an identifier assigned to this complex
value.
8
SaltLength
The sender shall set this field to the length of the Salt field in octets.
9
Salt
The sender shall set this field to the value of the Salt input parameter
that is to be used in the KeyStrengthRedAlg procedure specified in [3]
for the Ciphering key.
KeyEntropy
The sender shall set this field to the value of the KeyEntropy input
parameter that is to be used in the KeyStrengthRedAlg procedure
specified in [3] for the Ciphering key. The valid values for this field
are 0 through 16, inclusive.
3
4
7
10
11
12
13
14
15
16
17
18
4.10 Session State Information
The Session State Information specified in [7] applies here.
4-9
3GPP2 C.S0102-0 v1.0
1
5
AALS MULTI-LINK MULTI-FLOW PACKET APPLICATION
2
5.1
3
5.1.1
4
5
6
7
8
9
10
11
Introduction
General Overview
In addition to section 3.1 of [7], the following text serves as introduction to the expanded
functionality of MLMFPA specified in [7].
This section defines additional procedures and requirements for Multi-Link Multi-Flow
Packet Application in [7]. This specification defines additional procedures and requirements
to support Air Interface Application Security for this new defined sub-type. Unless specified
otherwise, all the procedures defined in [7] also apply to this section.
The Air Interface Application Data Encryption uses the AES (a.k.a. Rijndael) procedures
defined in [3] in order to encrypt and decrypt the MLMFPA packets.
18
Air Interface Application Data encryption can be applied selectively to individual link flows.
That is, depending on session configuration, some link flows may be encrypted, while others
are not. Encryption mode is individually configured for each link flow during the negotiation
of link flow. Each SAR block is encrypted by the transmitter using the AES algorithm in a
counter mode. Because all required cryptographic configuration parameters are either
provided by other protocols (session encryption keys) or internally derived (cryptosync), no
additional headers are required for crypto-processing the data.
19
5.1.2
20

21
This new subtype value is defined in [1].
12
13
14
15
16
17
22
23
24
Public Data
Subtype for this application.
5.2
Protocol Initialization
Procedures specified in [7] apply here.
5.3
25
Procedures and Messages for the InConfiguration Instance of the Packet
Application
26
5.3.1
Procedures
27
The procedures specified in [7] apply here.
28
5.3.2
29
Procedures specified in [7] apply here.
30
5.3.3
31
Procedures specified in [7] apply here.
Commit Procedures
Message Formats
5-1
3GPP2 C.S0102-0 v1.0
1
2
3
5.4
Route Selection Protocol
Procedures specified in [7] apply here.
5.5
Segmentation and Reassembly Protocol
4
Procedures specified in [7] apply here.
5
5.5.1
Overview
6
5.5.2
Primitives and Public Data
7
5.5.3
Protocol Data Unit
8
5.5.4
Procedures and Messages for the InUse Instance of the Protocol
9
10
11
12
13
14
15
16
17
18
19
20
21
22
5.5.4.1 Procedures
In addition to the procedures specified in [7], the following procedure apply.
When forward Link Flow NN is activated, the access network and the access terminal shall
not update the following attributes:

FlowNNFwdEncryptionProtection
When reverse Link Flow NN is activated, the access network and the access terminal shall
not update the following attributes:

FlowNNRevEncryptionProtection
5.5.4.1.1 Constructing the Encryption Key
In addition to procedures specified in [7], the access terminal and the access network shall
perform the following session key construction procedure, if the protocol receives a
RouteUpdate.ConnectionInitiated indication.
The Air Interface Application Data Encryption Protocol shall construct the encryption keys
as follows:

26
If
the
value
of
any
FlowNNFwdEncryptionProtection
or
FlowNNRevEncryptionProtection attribute is equal to 0x01, then the Air Interface
Application Data Encryption Function shall construct the encryption key for the
forward flow NN DataEncryptionKey as follows:
27
Call the KeyStrengthRedAlg procedure specified in [3] with its inputs set as follows:
23
24
25
28
 Set the KeyLength to 16.
29
 Set the OriginalKey to the value of the DataKey as specified in 2.2.
30
 Set the SaltLength to the value of the SaltLength parameter.
31
 Set the Salt to the value of the Salt parameter.
32
 Set the KeyEntropy to the value of the KeyEntropy parameter.
5-2
3GPP2 C.S0102-0 v1.0
When the KeyStrengthRedAlg procedure returns, set the DataEncryptionKey to
RedStrengthKey which is the output of the KeyStrengthRedAlg procedure if
FlowNNFwdEncryptionProtection or FlowNNRevEncryptionProtection is set to
0x01.
1
2
3
4
5
5.5.4.1.2 Constructing the Cryptosync
6
The SAR shall construct the Cryptosync as shown in Table 5-1.
Table 5-1.
7
Subfield of the Cryptosync
Subfield
Flow
Length (bits)
FunctionCode
2
Direction
1
Reserved
5
FlowID
8
StreamID
8
RolloverCounter
34
VirtualSequenceNumber
22
8
FunctionCode
This field shall be set to ‘00’ to indicate Ciphering function.
9
Direction
If the payload being encrypted or decrypted is for Forward
Link then this field shall be set to ‘0’. Otherwise, this field
shall be set to ‘1’. Direction is received as Direction input to
ENCRYPT and DECRYPT procedure calls.
13
Reserved
All the bits in this field shall be set to ‘0’.
14
FlowID
This field shall be set to the LinkFlowNumber corresponding
to the payload being encrypted or decrypted. FlowID is
received as FlowID input to ENCRYPT and DECRYPT
procedure calls.
StreamID
The two LSBs of this field shall be set to the stream ID to
which the application subtype is associated with. The
remaining bits are set to ‘0’.
RolloverCounter
This field shall be constructed and maintained by the Access
Network and Access Terminal as described in 5.1.2.1.
VirtualSequenceNumber
For the octet stream, this field shall be set as follows: For the
first block, this field shall be set to the value of a Sequence
Number of the SAR packet (SEQ) included in the SAR header,
10
11
12
15
16
17
18
19
20
21
22
23
24
25
5-3
3GPP2 C.S0102-0 v1.0
divided by 16. For each subsequent block, this value shall be
incremented by 1. For packet stream, this field shall be set to
the packet sequence number in the packet header.
1
2
3
4
5.5.4.1.3 RolloverCounter Procedures
5
The RolloverCounter is as specified as 3.1.2.1.
6
5.5.4.2
7
5.5.4.2.1 Data Transmit Procedure
8
9
10
11
Data Transfers
The Data Transfer function shall provide service of encrypting the payload from the Air
Interface Application Layer. Figure 5-1 illustrates the relationship between an Input
Payload and an Output Payload after processing with the Air Interface Application Data
Encryption capability.
12
SAR
Header
SAR
Header
Payload from
Application Layer
Encrypted InputPayload
Octet-aligned
OutputPayload
13
Figure 5-1. Encryption Procedure Call
14
15
16
17
18
19
20
21
22
23
24
The Air Interface Application Data Encryption Function shall perform the following
procedure for each of the flows:

If the Encryption attribute for the flow under consideration (e.g.,
FlowNNFwdEncryptionProtection) is equal to 0x01, the function shall perform the
following:
For the octet stream, the SAR packet shall be divided into 16 byte blocks and the
cryptosync calculated for each block using the procedure defined in 5.5.4.1.2. If
the sequence number from the packet header is not at the 16 byte boundary, the
first AES block shall be selected to make the second AES block starting from 16
byte boundary.
5-4
3GPP2 C.S0102-0 v1.0
The function shall call the ESP_AES procedure specified in [3] with its inputs set as
follows:
1
2
3

Set the key to the Encryption Key for the flow under consideration(e.g.,
DataEncryptionKey) as specified in 5.5.4.1.1.

Set fresh to the value of the Cryptosync for the flow under consideration.
The Cryptosync is calculated as specified in 5.5.4.1.2.

Set the freshsize to the value of the CryptosyncLength for the flow under
consideration.

Set the buf to the address of the beginning of the memory space that
contains the Air Interface Application Layer packet.

Set the bit_offset to zero if the sequence number from the packet header is at
the 16 byte boundary. If the sequence number from the packet header is not
at the 16 byte boundary, the bit_offset shall be set to the value that points to
the first bit of the payload in the first AES block. For packet stream, the
bit_offset shall be set to zero.

Set the bit_count to the length of the Air Interface Application Layer Packet in
bits.
4
5
6
7
8
9
10
11
12
13
14
15
16
17
After the ESP_AES procedure is returned, the function shall set the Stream Layer
packet to the output of the ESP_AES procedure which starts at the memory
space specified by buf and is of the same size as the Air Interface Application
Layer packet.
18
19
20
21
22
23
24

If the Encryption attribute for the flow under consideration (e.g.,
FlowNNFwdEncryptionProtection) is equal to 0x00, the function shall set the Stream
Layer packet to the Air Interface Application Layer packet .
25
5.5.4.2.2 Data Receive Procedures
26
This is a new procedures that is not specified in the section 3.5 of [7].
27
28
29
The data receive procedure shall provide service of decrypting the payload from Streaming
Layer. Figure 5-2 illustrates the relationship between an Input Payload and the Output
Payload after processing the payload at Air Interface Application Encryption function.
30
5-5
3GPP2 C.S0102-0 v1.0
InputPayload
SAR
Header
Encrypted Payload
Octet-aligned
SAR
Header
Decrypted Payload
1
Figure 5-2. Decryption Procedure Call
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
If the Stream Layer packet is received, then the receiver shall construct the Air Interface
Application Layer packet from the Stream Layer packet by performing the following
procedure for each of the flows:

If the Encryption attribute for the flow under consideration (e.g.,
FlowNNFwdEncryptionProtection) is equal to 0x01, the Air Interface Application
Data Encryption Function shall perform the following:
For the octet stream, the SAR packet shall be divided into 16 byte blocks and the
cryptosync calculated for each block using the procedure defined in 5.5.4.1.2. If
the sequence number from the packet header is not at the 16 byte boundary, the
first AES block shall be selected to make the second AES block starting from 16
byte boundary.
The Air Interface Application Data Encryption Function shall call the ESP_AES
procedure specified in [3] with its inputs set as follows:

Set the key to the DataEncryptionKey for the flow under consideration as
specified in section 5.5.4.1.1.

Set fresh to the value of the Cryptosync for the flow under consideration. The
Cryptosync is calculated as specified in 5.5.4.1.2.

Set the freshsize to the value of the CryptosyncLength for the flow under
consideration.

Set the buf to the address of the beginning of the memory space that
contains the Stream Layer packet.
17
18
19
20
21
22
23
5-6
3GPP2 C.S0102-0 v1.0
1

Set the bit_offset to zero if the sequence number from the SAR header is at
the 16 byte boundary. If the sequence number from the SAR header is not at
the 16 byte boundary, the bit_offset shall be set to the value that points to
the first bit of the payload in the first AES block. For packet stream, the
bit_offset shall be set to zero.

Set the bit_count to the length of the Stream Layer Packet in bits.
2
3
4
5
6
After the ESP_AES procedure is returned, the function shall set the Air Interface
Application Layer packet to the output of the ESP_AES procedure which starts at
the memory space specified by buf and is of the same size as the Stream Layer
packet.
7
8
9
10
11

12
13
14
15
16
17
18
19
20
21
If the Encryption attribute for the flow under consideration (e.g.,
FlowNNFwdEncryptionProtection) is equal to 0x00, the Air Interface Application
Data Encryption Function shall set the Air Interface Application Layer packet to the
Stream Layer packet.
5.5.4.3 SAR Packet Header
No change from [7].
5.5.4.4 Message Formats
No change from [7].
5.5.4.5 Interface to Other Protocols
No change from [7].
5.5.4.6 SAR Packet Priorities
22
No change from [7].
23
5.5.5
24
No change from [7].
25
26
27
28
29
30
31
32
5.6
Protocol Numeric Constants
Quick Nak Protocol
Procedures specified in [7] apply here.
5.7
Data Over Signaling Protocol
Data Over Signaling uses best effort messages. So signaling protection can not be applied.
5.8
Location Update Protocol
Procedures specified in [7] apply here.
5.9
Flow Control Protocol
Procedures specified in [7] apply here.
5-7
3GPP2 C.S0102-0 v1.0
1
2
3
4
5.10 Configuration Attributes for the Multi-link Multi-flow Packet Application
In addition to procedures specified in [7], the access terminal and the access network shall
support the use of the Generic Attribute Update Protocol to update values of the following
configurable attributes belonging to the Multi-link Multi-flow Packet Application:
5

FlowNNFwdEncryptionProtection
6

FlowNNRevEncryptionProtection
7
8
9
10
5.10.1 Simple Attributes
The Table 5-2 defines simple configuration attributes for each flow. The flow is identified by
0xNN.
The default value for each attribute is typed in bold italics.
Table 5-2.
11
Attribute
ID
Attribute
0xcfNN
NN is the
two-digit
flow number
of the
forward flow
in the range
0x00 to
MaxNumSA
RFlowsFwd
-1 inclusive.
FlowNNFwdEn
cryptionProtect
ion
0xceNN
NN is the
two-digit
flow number
of the
reverse flow
in the range
0x00 to
MaxNumSA
RFlowsRev 1 inclusive.
FlowNNRevEnc
ryptionProtecti
on
Configurable Values
Values
Meaning
0x00
The packets carried on the Forward
Link flow NN shall not be encrypted.
0x01
The packets destined for the flow
shall be encrypted by the sender
and shall be decrypted by the
receiver.
0x02-0xff
Reserved
0x00
The packets carried on the Reverse
Link flow NN shall not be encrypted.
0x01
The packets destined for the flow
shall be encrypted by the sender
and shall be decrypted by the
receiver.
0x02-0xff
Reserved
12
5-8
3GPP2 C.S0102-0 v1.0
1
2
3
4
5.10.2 Complex Attributes
The following complex attributes are defined for reduction of the Ciphering key strength for
each channel.
5.10.2.1 ReducedStrengthCipheringKey Attribute
5
Field
Length (bits)
Length
Default Value
8
N/A
16
N/A
ValueID
8
N/A
SaltLength
8
0
AttributeID
Salt
SaltLength × 8
KeyEntropy
8
N/A
16
Length
Length of the complex attribute in octets. The sender shall set this
field to the length of the complex attribute excluding the Length field.
8
AttributeID
The sender shall set this field to the value of 0x3001.
9
ValueID
The sender shall set this field to an identifier assigned to this complex
value.
11
SaltLength
The sender shall set this field to the length of the Salt field in octets.
12
Salt
The sender shall set this field to the value of the Salt input parameter
that is to be used in the KeyStrengthRedAlg procedure specified in [3]
for the Ciphering key.
KeyEntropy
The sender shall set this field to the value of the KeyEntropy input
parameter that is to be used in the KeyStrengthRedAlg procedure
specified in [3] for the Ciphering key. The valid values for this field
are 0 through 16, inclusive.
6
7
10
13
14
15
16
17
18
19
20
21
5.11 Session State Information
The Session State Information specified in [7] applies here.
22
5-9
3GPP2 C.S0102-0 v1.0
1
This page intentionally left blank.
5-10
Download