CDMA Authentication CDG Document 138 Version 0.34 Oct. 12, 2006 CDMA Development Group 575 Anton Boulevard, Suite 560 Costa Mesa, California 92626 PHONE +1 888 800-CDMA +1 714 545-5211 FAX +1 714 545-4601 http://www.cdg.org cdg@cdg.org Notice Each CDG member acknowledges that CDG does not review the disclosures or contributions of any CDG member nor does CDG verify the status of the ownership of any of the intellectual property rights associated with any such disclosures or contributions. Accordingly, each CDG member should consider all disclosures and contributions as being made solely on an as-is basis. If any CDG member makes any use of any disclosure or contribution, then such use is at such CDG member's sole risk. Each CDG member agrees that CDG shall not be liable to any person or entity (including any CDG member) arising out of any use of any disclosure or contribution, including any liability arising out of infringement of intellectual property rights. CDMA Authentication Contents Contents 1. Introduction ................................................................................................................................ 1 2. Authentication Overview ........................................................................................................... 3 2.1 What is cloning fraud .......................................................................................................... 3 2.2 Why is authentication important ......................................................................................... 3 2.3 How effective is authentication ........................................................................................... 4 2.3.1 Regular clones ..................................................................................................... 4 2.3.2 Complete clones .................................................................................................. 4 2.3.3 Replay attacks ..................................................................................................... 5 2.4 Authentication concepts ..................................................................................................... 5 2.4.1 Cellular Authentication and Voice Encryption (CAVE) ........................................ 5 2.4.2 Authentication Key (A-key) .................................................................................. 5 2.4.3 Shared Secret Data (SSD) .................................................................................. 6 2.4.4 Challenge/Response mechanism ........................................................................ 7 2.5 Elements involved in authentication ................................................................................... 8 2.5.1 A-key Management System (AKMS) ................................................................... 8 2.5.2 Authentication Center (AC) ................................................................................. 8 2.5.3 Visitor Location Register (VLR) ........................................................................... 9 2.5.4 Mobile Station (MS) ............................................................................................. 9 3. Managing and Provisioning A-keys ....................................................................................... 11 3.1 A-key generation .............................................................................................................. 11 3.1.1 A-key generated by manufacturer ..................................................................... 11 3.1.2 A-key generated by carrier ................................................................................ 12 3.2 A-key provisioning ............................................................................................................ 12 3.2.1 Provisioning the AC ........................................................................................... 12 3.2.2 Provisioning the MS........................................................................................... 13 4. Home versus local authentication .......................................................................................... 15 4.1 Authentication by home system ....................................................................................... 15 4.2 Local authentication by visited system ............................................................................. 16 4.3 SystemCapabilities (SYSCAP) of visited system ............................................................. 16 4.4 Enabling and disabling local authentication ..................................................................... 17 5. Global Challenges .................................................................................................................... 19 5.1 Authentication signature (AUTHR) ................................................................................... 19 5.2 Roamer authenticated by its home system ...................................................................... 20 CDG #138, Rev 0.34 February 12, 2016 i CDMA Authentication Contents 5.3 Roamer authenticated locally by the visited system ........................................................ 21 5.4 Pre-validation using RANDC ............................................................................................ 21 5.5 Clone detection using COUNT ......................................................................................... 22 5.5.1 Updating CallHistoryCount (COUNT) ................................................................ 22 5.6 Reporting of results to roamer’s home system ................................................................ 23 6. Unique Challenges ................................................................................................................... 25 6.1 Authentication signature (AUTHU) ................................................................................... 25 6.2 Unique challenge initiated by roamer’s home system...................................................... 26 6.3 Unique challenge initiated locally by visited system ........................................................ 27 6.4 Reporting results to roamer’s home system .................................................................... 27 7. Updating Shared Secret Data (SSD)....................................................................................... 29 7.1 SSD update process when SSD is shared ...................................................................... 30 7.2 SSD update process when SSD is not shared ................................................................ 30 8. Authentication Enhancements ............................................................................................... 33 8.1 Roamers from a non-authentication-capable partner ...................................................... 33 8.2 Handling of suspicious call origination attempts .............................................................. 33 9. Over-The-Air (OTA) Support ................................................................................................... 35 9.1 OTASP ............................................................................................................................. 35 9.2 OTAPA ............................................................................................................................. 35 9.3 OTASP/OTAPA mechanism ............................................................................................ 35 9.3.1 OTASP attachment............................................................................................ 35 9.3.2 Action codes ...................................................................................................... 36 9.4 A-key generation procedure ............................................................................................. 37 9.5 SSD update ...................................................................................................................... 39 10. Recommendations ................................................................................................................. 41 10.1 A-key management recommendations .......................................................................... 41 10.1.1 Protect A-key information between manufacturer and AKMS ......................... 41 10.1.2 Protect A-key information between AKMS and AC ......................................... 41 10.1.3 Protect A-key information between AKMS and MS ......................................... 41 10.1.4 Delete A-keys from the AKMS once provisioned into MS and AC .................. 41 10.2 General authentication recommendations ..................................................................... 41 10.2.1 Use global challenges ..................................................................................... 41 10.2.2 Use the COUNT mismatch mechanism .......................................................... 42 10.2.3 Enable local authentication ............................................................................. 42 10.2.4 Perform an SSD update when activating a new MS ....................................... 42 10.2.5 Trigger fraud procedures on large or repeated COUNT mismatches ............. 42 CDG #138, Rev 0.34 February 12, 2016 ii CDMA Authentication Contents 10.2.6 Trigger a unique challenge when a cloned MS is suspected .......................... 42 10.2.7 Trigger an SSD update if cloning still suspected after unique challenge ........ 42 10.2.8 Ensure that roaming partner denies service if authentication fails .................. 42 10.3 Specific recommendations for identified scenarios ........................................................ 43 10.3.1 Cloned MS – valid ESN and MIN .................................................................... 43 10.3.2 Cloned MS – valid ESN, MIN, and SSD .......................................................... 43 10.3.3 Cloned MS – valid ESN, MIN, SSD, and A-key .............................................. 43 10.3.4 Replay attack with extra digits ......................................................................... 44 11. AKA-based Authentication ................................................................................................... 45 11.1 Authentication vectors (AVs) .......................................................................................... 45 11.2 AKA authentication process ........................................................................................... 46 11.3 Distribution of authentication vectors ............................................................................. 48 11.4 Authentication of the network by the MS ....................................................................... 49 11.4.1 Sequence number (SQN) ................................................................................ 50 11.4.2 Synchronization failure (i.e. SQN mismatch) .................................................. 50 11.4.3 Message authentication code (MAC_A) .......................................................... 51 11.4.4 AKA rejection by the MS (i.e. MAC_A mismatch) ........................................... 52 11.5 Authentication of the MS by the network ....................................................................... 53 11.5.1 Authentication response (RES) ....................................................................... 53 11.5.2 AKA authentication failure (i.e. RES mismatch) .............................................. 53 12. References .............................................................................................................................. 55 13. Terminology............................................................................................................................ 57 14. TIA-41-D Authentication Reference ...................................................................................... 61 14.1 TIA-41-D new relevant operations ................................................................................. 61 14.1.1 AuthenticationDirective (AUTHDIR) ................................................................ 61 14.1.2 AuthenticationDirectiveForward (AUTHDIRFWD) ........................................... 61 14.1.3 AuthenticationFailureReport (AFREPORT) ..................................................... 61 14.1.4 AuthenticationRequest (AUTHREQ) ............................................................... 62 14.1.5 AuthenticationStatusReport (ASREPORT) ..................................................... 62 14.1.6 BaseStationChallenge (BSCHALL) ................................................................. 62 14.1.7 CountRequest (COUNTREQ) ......................................................................... 62 14.1.8 RandomVariableRequest (RANDREQ) ........................................................... 63 14.2 TIA-41-D new relevant parameters ................................................................................ 63 14.2.1 AuthenticationAlgorithmVersion (AAV)............................................................ 63 14.2.2 AuthenticationCapability (AUTHCAP) ............................................................. 63 14.2.3 AuthenticationData (AUTHDATA) ................................................................... 63 CDG #138, Rev 0.34 February 12, 2016 iii CDMA Authentication Contents 14.2.4 AuthenticationResponse (AUTHR) .................................................................. 63 14.2.5 AuthenticationResponseBaseStation (AUTHBS) ............................................ 63 14.2.6 AuthenticationResponseUniqueChallenge (AUTHU) ...................................... 63 14.2.7 CallHistoryCount (COUNT) ............................................................................. 64 14.2.8 CallHistoryCountExpected (COUNTEx) .......................................................... 64 14.2.9 CountUpdateReport (COUNTRPT) ................................................................. 64 14.2.10 DenyAccess (DENACC) ................................................................................ 64 14.2.11 RANDC .......................................................................................................... 64 14.2.12 RandomVariable (RAND) .............................................................................. 64 14.2.13 RandomVariableBaseStation (RANDBS) ...................................................... 65 14.2.14 RandomVariableSSD (RANDSSD) ............................................................... 65 14.2.15 RandomVariableUniqueChallenge (RANDU) ................................................ 65 14.2.16 RANDValidTime (RANDVT) .......................................................................... 65 14.2.17 ReportType (RPTTYP) .................................................................................. 65 14.2.18 SharedSecretData (SSD) .............................................................................. 65 14.2.19 SSDNotShared (NOSSD) .............................................................................. 66 14.2.20 SSDUpdateReport (SSDURPT) .................................................................... 66 14.2.21 SystemCapabilities (SYSCAP) ...................................................................... 66 14.2.22 UniqueChallengeReport (UCHALRPT) ......................................................... 66 14.2.23 UpdateCount (UPDCOUNT) ......................................................................... 66 15. TIA-41-E Authentication Reference ...................................................................................... 67 15.1 TIA-41-E updates to existing relevant operations .......................................................... 67 15.1.1 AuthenticationDirective (AUTHDIR) ................................................................ 67 15.1.2 AuthenticationDirectiveForward (AUTHDIRFWD) ........................................... 67 15.1.3 AuthenticationFailureReport (AFREPORT) ..................................................... 68 15.1.4 AuthenticationRequest (AUTHREQ) ............................................................... 68 15.1.5 AuthenticationStatusReport (ASREPORT) ..................................................... 68 15.1.6 BaseStationChallenge (BSCHALL) ................................................................. 68 15.1.7 CountRequest (COUNTREQ) ......................................................................... 69 15.1.8 RandomVariableRequest (RANDREQ) ........................................................... 69 15.1.9 SMSDeliveryPointToPoint (SMDPP) ............................................................... 69 15.2 TIA-41-E new relevant operations.................................................................................. 69 15.2.1 OTASPRequest (OTASPREQ) ....................................................................... 69 15.3 TIA-41-E updates to existing relevant parameters......................................................... 70 15.3.1 ActionCode (ACTCODE) ................................................................................. 70 15.3.2 SystemCapabilities (SYSCAP) ........................................................................ 70 CDG #138, Rev 0.34 February 12, 2016 iv CDMA Authentication Contents 15.4 TIA-41-E new relevant parameters ................................................................................ 71 15.4.1 AKeyProtocolVersion (AKEYPV) ..................................................................... 71 15.4.2 AuthenticationResponseReauthentication (AUTHRA) .................................... 71 15.4.3 BaseStationPartialKey (BSKEY) ..................................................................... 71 15.4.4 MobileStationPartialKey (MSKEY) .................................................................. 71 15.4.5 OTASP_ResultCode (OTASPRC) ................................................................... 71 15.4.6 RandomVariableReauthentication (RANDRA) ................................................ 71 15.4.7 ReauthenticationReport (RARPT) ................................................................... 71 15.4.8 SuspiciousAccess (SUSACC) ......................................................................... 72 16. TIA-945 Authentication Reference ....................................................................................... 73 16.1 TIA-945 updates to existing authentication operations .................................................. 73 16.1.1 AuthenticationRequest (AUTHREQ) ............................................................... 73 16.1.2 RegistrationNotification (REGNOT) ................................................................. 73 16.2 TIA-945 new authentication operations ......................................................................... 73 16.2.1 AKADirective (AKADIR)................................................................................... 73 16.2.2 AKARequest (AKAREQ) ................................................................................. 73 16.2.3 AKAStatusReport (AKAREPORT)................................................................... 74 16.3 TIA-945 updates to existing authentication parameters................................................. 74 16.3.1 AuthenticationCapability (AUTHCAP) ............................................................. 74 16.3.2 SystemCapabilities (SYSCAP) ........................................................................ 74 16.4 IS-945 new authentication parameters .......................................................................... 74 16.4.1 AKA_AuthenticationVector (AKAV) ................................................................. 74 16.4.2 AKA_AuthenticationVectorList (AKAVL) ......................................................... 75 16.4.3 AKA_Keys (AKAK) .......................................................................................... 75 16.4.4 AKA_Report ..................................................................................................... 75 16.4.5 AKA_VectorCount ........................................................................................... 75 16.4.6 AUTS ............................................................................................................... 75 16.4.7 RANDA ............................................................................................................ 75 CDG #138, Rev 0.34 February 12, 2016 v CDMA Authentication Figures Figures Figure 2-1: Susceptibility of MS identity information .................................................................... 3 Figure 2-2: Shared Secret Data (SSD) ......................................................................................... 7 Figure 2-3: Challenge/Response Mechanism .............................................................................. 8 Figure 3-1: Retrieval of pre-programmed A-keys from manufacturers ....................................... 11 Figure 3-2: Provisioning the AC .................................................................................................. 12 Figure 3-3: A-key programmed by manufacturer ....................................................................... 13 Figure 3-4: A-key programmed using secure device at retailer ................................................. 13 Figure 3-5: A-key obtained by contacting customer care ........................................................... 14 Figure 4-1: Home versus local authentication ............................................................................ 15 Figure 4-2: Authentication by home system ............................................................................... 15 Figure 4-3: Local authentication ................................................................................................. 16 Figure 5-1: Global challenge to MS ............................................................................................ 19 Figure 5-2: Generation of AUTHR for global challenge .............................................................. 20 Figure 5-3: Global challenge message flow when SSD is not shared ....................................... 20 Figure 5-4: Global challenge message flow when SSD is shared ............................................. 21 Figure 5-5: COUNT update process ........................................................................................... 22 Figure 5-6: Authentication reporting for unique challenges ........................................................ 23 Figure 6-1: Unique challenge to MS ........................................................................................... 25 Figure 6-2: Generation of AUTHU for unique challenge ............................................................ 25 Figure 6-3: Unique challenge initiated by roamer’s home system.............................................. 26 Figure 6-4: Unique challenge initiated by visited system ........................................................... 27 Figure 6-5: Authentication reporting for unique challenges ........................................................ 28 Figure 7-1: SSD update process when SSD is shared .............................................................. 30 Figure 7-2: SSD update process when SSD is not shared ........................................................ 31 Figure 8-1: Handling of suspicious access attempts .................................................................. 34 Figure 9-1: OTASP attachment between MSC and OTAF ......................................................... 36 Figure 9-2: OTASP A-key generation procedure ....................................................................... 38 Figure 9-3: A-key generation call flow ........................................................................................ 39 Figure 9-4: OTAF-initiated SSD update procedure .................................................................... 40 Figure 11-1: Information contained in an authentication vector ................................................. 46 Figure 11-2: Simplified conceptual flow of AKA authentication .................................................. 47 Figure 11-3: Distribution of AVs to the visited system ................................................................ 49 Figure 11-4: Generation of AK for AKA ...................................................................................... 50 Figure 11-5: AKA synchronization failure (i.e. SQN mismatch).................................................. 51 Figure 11-6: Generation of (X)MAC_A for AKA .......................................................................... 52 Figure 11-7: AKA rejection by the MS (i.e. MAC_A mismatch) .................................................. 52 Figure 11-8: Generation of (X)RES for AKA ............................................................................... 53 Figure 11-9: AKA response failure (i.e. RES mismatch) ............................................................ 54 CDG #138, Rev 0.34 February 12, 2016 vi CDMA Authentication Tables Tables 1-1: Evolution of CDMA authentication......................................................................................... 2 4-1: Messages that may be used to enable or disable local authentication ............................... 17 5-1: Authentication parameters provided by MS when global challenges are required ............. 19 5-2: Messages that may contain UpdateCount to initiate COUNT update process ................... 23 7-1: Messages that may contain RANDSSD to initiate SSD update process ............................ 29 8-1: Authentication enhancements in IS-778 ............................................................................. 33 9-1: New action codes defined in TIA-41-E ................................................................................ 37 CDG #138, Rev 0.34 February 12, 2016 vii CDMA Authentication Introduction 1. Introduction 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 31 This paper specifically focuses on the security concept of authentication. While written from the perspective of roaming, the authentication information presented herein should be useful for any carrier interested in implementing or updating authentication support. Both 2nd generation authentication based on Cellular Authentication and Voice Encryption (CAVE) and 3rd generation authentication based on Authentication and Key Agreement (AKA) are addressed in this paper. In the context of CAVE, the term authentication refers to primarily unilateral1 mechanisms that allow the network to validate the authenticity of the roaming mobile station (MS). In the context of AKA, these mechanisms are bilateral and support both network validation of MS authenticity and MS validation of network authenticity. Additional security concepts such as encryption, data integrity, and security associations may be mentioned but are considered to be outside the scope of this paper. While this paper addresses both CAVE- and AKA-based authentication, the larger focus is on CAVE. The reasoning for this choice of focus is to provide carriers with information, insight, and recommendations on the authentication mechanisms currently being deployed. CAVE continues to be deployed and will likely continue to be the most prevalent form of authentication for the next several years while the industry migrates to AKA. During this migration, interoperability will necessitate that AKA deployment be done in conjunction with support for CAVE rather than as a complete replacement. The discussion of CAVE-based authentication begins with an overview of authentication issues and concepts, an introduction to A-key considerations, and an explanation of the mechanisms employed by CAVE as defined in TIA-41-D. Following this, TIA-41-E authentication enhancements and Over-The-Air (OTA) support are discussed. Finally, practical recommendations are provided. Information on CAVE is followed by an exploration of AKA-based authentication. AKA concepts and details are presented in sufficient detail to allow carriers unfamiliar with AKA to thoroughly understand AKA authentication mechanisms. As may or may not be apparent, this progression of information maps roughly to the evolution of CDMA authentication beginning with the introduction of network support for CAVE-based authentication in TSB51 to the introduction of network support for AKA in TIA945. This standards evolution is shown in the following table. 1 While the process of updating Shared Secret Data (SSD) in CAVE-based authentication does allow the MS to validate the authenticity of the network using a base station challenge, once SSD has been updated, CAVE-based authentication is unilateral (i.e. the network always authenticates the MS). CDG #138, Rev 0.34 February 12, 2016 1 CDMA Authentication Introduction 1-1: Evolution of CDMA authentication 1 Release Dec. 1991 Document IS-41-B Description Intersystem operations (no authentication support) May 1993 TSB51 CAVE-based authentication Feb. 1996 IS-41-C Jun. 1997 IS-725 Dec. 1997 Jan. 1999 TIA-41-D IS-778 Intersystem operations with TSB51-based authentication incorporated OTASP capabilities including support for over-the-air A-key provisioning Essentially the same as IS-41-C Enhancements to TIA-41-D authentication Jan. 1999 2004 – 2005 IS-725-A TIA-41-E Oct. 2005 TIA-945 Adds OTAPA capabilities as well as OTASP Intersystem operations with IS-725-A and IS-778 incorporated MAP support of Authentication and Key Agreement (AKA) alternative to CAVE-based authentication 2 3 4 5 6 7 8 9 10 11 Reference sections containing various authentication operations, parameters, and fields discussed throughout the paper are provided at the end of the paper. These sections are separated into TIA-41-D, TIA-41-E, and TIA-945. References and modifications to existing items are highlighted to allow the reader to understand when various items were introduced and modified. These sections are not intended as a proxy to the standards documents for the purposes of implementation. Rather, the inclusion of these sections is an attempt to reduce reader frustration as often times being able to quickly reference additional information such as which field values are supported by a particular parameter can clarify uncertainty regarding its use or purpose. 12 CDG #138, Rev 0.34 February 12, 2016 2 CDMA Authentication Authentication Overview 2. Authentication Overview 1 2 3 4 5 6 7 8 9 2.1 What is cloning fraud A cloned mobile station or “clone” is simply a Mobile Station (MS) that has been programmed with illegally obtained Equipment Serial Number (ESN) and Mobile Station Identity (MSID) information. Because these ESN and MSID values are sent unencrypted over the air interface by the MS to identify itself to the network, it is possible for a fraudster to intercept them. However, it may also be possible for fraudsters to obtain these values from the MS if they are able to access programming mode or work with employees of a carrier to steal them. ESN, MSID MS identifies itself to the network by sending its ESN and MSID values unencrypted over the air interface. 10 11 Figure 2-1: Susceptibility of MS identity information 12 In any event, once these values have been obtained by a fraudster, they can be programmed into other mobile stations to create clones. The use of clones to fraudulently access a carrier network is known as cloning fraud and is the most prevalent form of technical fraud in CDMA networks. 13 14 15 21 While this may seem very complex for the average criminal to attempt, tools to assist in the creation of clones are only an Internet search away. For example, for a few hundreds dollars, a fraudster can readily purchase software and universal handset programming equipment that allows them to reprogram a mobile station with new values for ESN, MSID, A-key, etc… In the past, such equipment was only available to carriers for troubleshooting purposes and cost thousands of dollars. 22 2.2 Why is authentication important 16 17 18 19 20 23 24 25 26 27 28 29 30 31 Cloning fraud has several costs. First, carriers incur lost revenue potential in the form of not being compensated for fraudulent use. Next, customer care resources must be expended to work with legitimate subscribers that have been cloned in order to resolve billing issues and reprogram mobile stations. Finally, potential switching and intangible costs are associated with lower customer satisfaction when these legitimate subscribers discover fraudulent charges on their bills. In short, the result of cloning fraud is that carrier’s lose money and legitimate subscribers are unhappy. When a mobile station is cloned and used to fraudulently access the network of a roaming partner, this situation is exacerbated. In the roaming scenario, not only does the home CDG #138, Rev 0.34 February 12, 2016 3 CDMA Authentication 1 2 3 Authentication Overview network incur the aforementioned costs, but it must also pay the roaming partner for the intercarrier roaming charges resulting from the fraudulent access. This translates into real monetary costs that directly affect the home network’s bottom line. 7 Authentication protects carrier networks from fraudulent access by cloned mobile stations. The mechanisms used by CAVE-based authentication ensure that a mobile station possess valid shared secret data before allowing it to access the network. These mechanisms protect both carriers and legitimate subscribers from the negative effects of cloning fraud. 8 2.3 How effective is authentication 4 5 6 9 10 11 12 13 The following subsections discuss the effectiveness of authentication in various technical fraud scenarios. However, it should be noted that how effective an authentication implementation is depends largely on policy decisions made by the home and visited network. These policy decisions can make the difference between an effective and a frustratingly ineffective implementation. For example: 14 Is A-key information sufficiently protected? 15 Is authentication used in both roaming and non-roaming scenarios? 16 Are unique challenges used? 17 Is the Call History Count (COUNT) mechanism effectively used? 18 Are global challenge values frequently changed? 19 2.3.1 Regular clones 20 25 CAVE-based authentication is completely effective against regular cloning fraud. Any attempt by a regular clone to access a network using authentication should be unsuccessful. The reason is that, while the regular clone can identify itself as another subscriber using illegally obtained ESN and MSID information, it will not possess valid shared secret data required to successfully pass an authentication challenge. Therefore, authentication will completely solve the majority of cloning fraud. 26 2.3.2 Complete clones 21 22 23 24 27 28 29 30 31 32 33 34 35 36 A less likely but more problematic scenario is the existence of a “complete clone.” A complete clone is one that contains a correct A-key. Complete clones are more problematic because they are able to successful complete SSD update procedures and authentication challenges. The existence of a complete clone indicates a problem with a carrier’s security procedures that has allowed A-key information to be compromised. Nonetheless, as will be discussed later in this paper, CAVE-based authentication provides a Call History Count (COUNT) mechanism to help identify the existence of clones, even in the case of a complete clone. Once identified, service may be denied, though this action will require the legitimate subscriber to contact customer care to re-activate their service. CDG #138, Rev 0.34 February 12, 2016 4 CDMA Authentication Authentication Overview 1 2.3.3 Replay attacks 2 8 A replay attack is a special scenario in which a fraudster intercepts the entire contents of a legitimate roamer’s message and “replays” this information from a clone. Because the intercepted message contained a correct global challenge response required to successfully complete authentication, the replayed message will also successfully complete authentication if the challenge value is the same. Therefore, replay attacks are inherently limited by how frequently the visited network changes the global challenge value sent to all mobile stations attempting to access the network. 9 2.4 Authentication concepts 3 4 5 6 7 10 11 12 13 14 15 16 2.4.1 Cellular Authentication and Voice Encryption (CAVE) Cellular Authentication and Voice Encryption (CAVE) is a set of cryptographic2 algorithms collectively referred to as the CAVE algorithm which are used during the authentication process. Based on the inputs used, the CAVE algorithm enables calculation of SSD during the SSD Update procedure and authentication signatures during challenge/response procedures. The CAVE algorithm is also used to calculate various values used during optional encryption and voice privacy procedures which are not discussed in this document. 22 The CAVE algorithm used in CDMA is standardized and procedures are defined to ensure that both the network and the MS are using the same version of CAVE algorithm during authentication. If the MS is equipped with a removable user identity module (R-UIM), the CAVE algorithm will reside on this R-UIM and all authentication calculations using the CAVE algorithm will be performed by the R-UIM. Otherwise, the MS will perform these calculations. 23 2.4.2 Authentication Key (A-key) 17 18 19 20 21 24 25 26 27 28 29 30 31 32 33 34 Also known as the “master key”, the A-key is the cornerstone of CAVE-based authentication. The A-key is provisioned in the home Authentication Center (AC) and the mobile station (MS). If the MS uses an R-UIM, the A-key is stored on this R-UIM; otherwise, the A-key is stored in semi-permanent memory on the MS. In either case, users should not be able to access or view the A-key on their MS. Once provisioned, an A-key is generally only changed if the home operator suspects that it has been compromised. The purpose of the A-key in authentication is to generate Shared Secret Data (SSD), specifically an SSD_A secondary key. It is this SSD, not the A-key, that is used during the authentication process. This helps protect the A-key from being compromised. While SSD may be shared with a partner network to enable local authentication, the A-key, once provisioned, is never shared outside of the MS and home AC. 2 Useless knowledge for your next dinner party: cryptography comes from the Greek words kryptos and graphein, which together mean “hidden writing”. CDG #138, Rev 0.34 February 12, 2016 5 CDMA Authentication Authentication Overview 1 2.4.3 Shared Secret Data (SSD) 2 Shared Secret Data (SSD) is a 128-bit value that is calculated using the CAVE algorithm with the A-key as an input. This calculation occurs during a procedure called SSD Update. During the SSD Update procedure, both the Authentication Center (AC) and the Mobile Station (MS) separately calculate SSD. It is this SSD, not the A-key that is used during authentication. 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Note that the term “Shared Secret Data” refers to the fact that the secret data is shared between the network and the MS. This SSD may or may not also be shared between home and roaming partner networks. If the home network chooses not to share SSD with their roaming partner network, it is still shared between home network and MS. If the home network does share SSD with their roaming partner network, it is referred to as “Shared SSD” because the SSD shared between home network and MS is also shared with the partner network. As shown below, the 128-bit SSD actually consists of two 64-bit keys: SSD_A and SSD_B. The SSD_A key is the one used during authentication to calculate authentication signatures. When authentication documents refer to SSD during the authentication process, they are generally referring to SSD_A. The SSD_B key is not detailed in this document as its purpose is to enable the generation of session keys that are used during optional encryption and voice privacy procedures. CDG #138, Rev 0.34 February 12, 2016 6 CDMA Authentication Authentication Overview 64-bit A-Key ESN RAND_SSD CAVE algorithm 64-bit 64-bit SSD_A SSD_B SSD_A is used during authentication to generate response signatures SSD_B is used to generate session keys that enable voice privacy and encryption 1 SSD is a 128-bit value that actually consists of two 64-bit keys: SSD_A and SSD_B 2 Figure 2-2: Shared Secret Data (SSD) 3 Use of the SSD rather than the A-key during authentication helps to protect the A-key from being compromised since SSD may be shared with a roaming partner network but the A-key is never shared. In addition, sharing SSD allows partner networks to locally perform authentication rather than requiring all partner networks to proxy authentication signaling back to the home HLR/AC. As a home network scales its roaming business with additional partner networks, sharing of SSD becomes increasingly important for reducing signaling costs and preventing the HLR/AC from becoming a bottleneck. 4 5 6 7 8 9 10 2.4.4 Challenge/Response mechanism 11 Authentication is based on a challenge/response mechanism. This mechanism involves the serving network challenging the MS with a randomly generated value. The MS uses this challenge value along with its SSD and other information such as its ESN as inputs into the CAVE algorithm to generate an authentication signature. 12 13 14 15 16 17 18 As shown below, this authentication signature is sent by the MS as a response to the network’s challenge. As this document focuses on authentication in the context of roaming, the scenario shown below is that of a roamer being authenticated by a visited network . However, the mechanism is conceptually the same for a non-roaming scenario. CDG #138, Rev 0.34 February 12, 2016 7 CDMA Authentication Authentication Overview SSD A-key HLR/AC SSD Home Network Challenge (Challenge Value) SSD Response (Auth Signature) A-key MSC/VLR Visited Network 1 2 Figure 2-3: Challenge/Response Mechanism 3 If SSD has been shared with the serving network, the MSC/VLR performs the same calculation. If the SSD has not been shared, the MSC/VLR proxies the authentication signature from the MS to the home HLR/AC where this calculation will be performed. In either case, the authentication signature calculated by the network (i.e. HLR/AC or MSC/VLR) is compared to the one calculated by the MS to determine whether the MS is authentic. 4 5 6 7 8 12 This mechanism works because, in order for the calculated values to match, the SSD input that was used by the network during its calculation must be the same as the SSD input that was used by the MS. Essentially, authentication provides the network with a way to ensure that the MS possesses correct SSD. 13 2.5 Elements involved in authentication 14 2.5.1 A-key Management System (AKMS) 15 20 The A-key Management System (AKMS) refers to the system by which a carrier securely manages A-key values. This typically involves secure retrieval, random generation, storage, and distribution of A-key values. The purpose of the AKMS is to ensure that A-key values remain secure while enabling them to be provisioned into both the HLR/AC and MS. Ideally, the AKMS is a dedicated, secure element maintained by the carrier; however, in practice, it may simply be a set of procedures for ensuring the security of A-key information. 21 2.5.2 Authentication Center (AC) 22 Often collocated with the Home Location Register (HLR) and referred to as the HLR/AC, the Authentication Center (AC) is where A-key information for each subscriber is stored. When a new subscriber is activated, the A-key value provisioned in the MS must also be provisioned in the AC. 9 10 11 16 17 18 19 23 24 25 CDG #138, Rev 0.34 February 12, 2016 8 CDMA Authentication 1 Authentication Overview The AC controls authentication processes and policies such as the following: 2 Initiation of SSD update procedures 3 Initiation/revocation of SSD sharing 4 Calculation of global challenge authentication signatures when SSD is not shared 5 Initiation of unique challenges 6 Calculation of unique challenge authentication signatures 7 Comparison of network and MS authentication signatures when SSD is not shared 8 Initiation of Call History Count updates 9 How to respond to authentication failures 10 2.5.3 Visitor Location Register (VLR) 11 Often collocated with the Mobile Switching Center (MSC) and referred to as the MSC/VLR, the Visitor Location Register (VLR) interacts with the roaming MS during authentication. If SSD is not shared, the MSC/VLR simply proxies authentication signaling between the HLR/AC and the MS. However, the more common scenario is for SSD to be shared. 12 13 14 17 When SSD is shared, the MSC/VLR locally performs authentication signature calculation and comparison. This approach both reduces signaling between home and visited networks and offloads authentication processing that would otherwise be performed by the HLR/AC. 18 2.5.4 Mobile Station (MS) 19 The A-key value provisioned in an activated Mobile Station (MS) will match the A-key value provisioned in the home HLR/AC associated with that subscriber. To participate in authentication procedures, the MS must have the CAVE algorithm and be capable of using this algorithm to generate new SSD during SSD update procedures and authentication signatures during challenge/response procedures. 15 16 20 21 22 23 24 25 26 27 Basically, all new CDMA handsets are authentication capable. Many new handsets also support removable user identity modules (R-UIM). If the MS uses an R-UIM, the CAVE algorithm will reside on this R-UIM and all authentication calculations using CAVE will be performed by the R-UIM. Otherwise, the MS will perform these calculations. CDG #138, Rev 0.34 February 12, 2016 9 CDMA Authentication 1 Managing and Provisioning A-keys 3. Managing and Provisioning A-keys 5 The management and provisioning of A-key values is controlled by an element known as the A-Key Management System (AKMS). This element provides for secure retrieval, random generation, storage, and distribution of A-key values. The AKMS ensures that A-key values remain secure and supports the provisioning of these values into both the MS and AC. 6 3.1 A-key generation 7 3.1.1 A-key generated by manufacturer 8 The most common method of programming A-keys into mobile stations is for the A-key value to be generated by the manufacturer and pre-programmed into the MS at the factory. When this method is used, the manufacturer must also provide the ESN/A-key information to the carrier for storage in the AKMS as illustrated below. Before activating a pre-programmed MS, the AKMS must provision the ESN and A-key associated with the MS into the AC. 2 3 4 9 10 11 12 Manufacturers Carrier ESN / A-key information AKMS Secure EDI or encrypted file Manufacturer AAA Manufacturer BBB Manufacturer CCC 13 14 Figure 3-1: Retrieval of pre-programmed A-keys from manufacturers 15 To ensure the secure transport of ESN/A-key data between manufacturer and carrier, two approaches are commonly used. The first, and most robust, approach involves the use of an Electronic Data Interchange (EDI) between the manufacturer’s database subsystem and the carrier’s AKMS. This approach allows the AKMS to directly retrieve A-key information from a manufacturer’s database subsystem with no risk of exposing the information to anyone within the carrier organization. However, while this solution works very well, smaller carriers often do not have access to an EDI infrastructure. 16 17 18 19 20 21 22 23 24 25 The second, and more widely used, approach involves the manufacturer providing the carrier with an encrypted file containing the list of ESN/A-key pairs. The carrier then typically uses a script to automatically decrypt and upload this information into the AKMS. This method is somewhat less secure than the EDI infrastructure approach since a person with CDG #138, Rev 0.34 February 12, 2016 11 CDMA Authentication Managing and Provisioning A-keys 3 access to the script could potentially decrypt and access the contents of the file. However, many carriers find this approach to be an equitable tradeoff between security and costeffectiveness. 4 3.1.2 A-key generated by carrier 1 2 5 6 7 8 The carrier’s AKMS typically provides for the secure generation of random A-key values. In addition to supporting activation of mobile stations without pre-programmed A-key values, this capability provides the flexibility to re-program legitimate mobile stations with new A-key values in cases where fraud has been detected. 13 Practices such as using all zero default A-key values are not recommended since they allow the A-key to be easily guessed by fraudsters, thereby compromising the effectiveness of authentication. Whether provisioned by the manufacturer or AKMS, A-keys should always be securely and randomly generated and protected from being viewed to the greatest extent practicable. 14 3.2 A-key provisioning 15 3.2.1 Provisioning the AC 16 A-keys may either be generated by the MS manufacturer and provided to the carrier for storage in the AKMS or generated by the AKMS itself. In either case, in order for service to be activated, an A-key value must be provisioned into the AC as illustrated below. 9 10 11 12 17 18 Secure provisioning or OTASP A-key generation A-key A-key AKMS AC 19 Figure 3-2: Provisioning the AC 20 21 22 23 24 25 26 27 28 29 Since both the AKMS and AC reside within the carrier’s network, the mechanism by which the AKMS provides MIN/ESN/A-key information to the AC is an internal issue. However, because the A-key is involved, the transfer of information between these entities should be secure and protected from being viewed to the greatest extent practicable. Wherever possible, it is recommended that automated methods of retrieving the A-key from the AKMS and provisioning it into the AC during activation be used. Some implementations involve A-key values being internally generated by the AC. In such cases, the AKMS function is essentially incorporated into the AC and there is no transfer of A-key information between AKMS and AC entities. CDG #138, Rev 0.34 February 12, 2016 12 CDMA Authentication Managing and Provisioning A-keys 1 3.2.2 Provisioning the MS 2 4 Provisioning of the MS may be implemented in several ways. The following subsections discuss various methods that are available to carriers to facilitate the provisioning of A-key values into mobile stations. 5 3.2.2.1 A-key programmed by manufacturer 6 As previously mentioned, pre-programming of A-keys into mobiles stations by the manufacturer is the most common method currently in use. When this method is used, the manufacturer will also provide the pre-programmed A-keys to the carrier’s AKMS where they are stored until needed for service activation. This scenario is illustrated below. 3 7 8 9 A-key Manufacturer database A-key A-key AKMS AC 10 11 Figure 3-3: A-key programmed by manufacturer 12 15 Pre-programmed A-keys are not mutually exclusive with the use of other methods discussed herein to program an A-key into an MS. In other words, the fact that an MS has been preprogrammed with an A-key value by the manufacturer does not prevent the carrier from generating and programming a new A-key value into the MS if needed or preferred. 16 3.2.2.2 A-key programmed at the retailer 17 Another option for provisioning the MS is to allow it to occur at the point of sale, i.e. at the retailer. The secure approach to enabling retailer provisioning of mobile stations is for the retailer to utilize an MS programming device (e.g. Synacom Validator) that communicates directly with the carrier’s AKMS to retrieve A-keys as illustrated below. 13 14 18 19 20 A-key A-key A-key AKMS AC Secure MS programming device 21 22 Figure 3-4: A-key programmed using secure device at retailer 23 Encryption on the communications link between the programming device and the AKMS allows the A-key to be securely retrieved from the AKMS and protected from view by the 24 CDG #138, Rev 0.34 February 12, 2016 13 CDMA Authentication Managing and Provisioning A-keys 2 retailer. This approach also removes the potential for human error in entering the A-key by allowing the programming device to retrieve the A-key and program it directly into the MS. 3 3.2.2.3 A-key programmed using OTASP A-key generation procedure 4 8 Perhaps the most flexible option for programming the A-key into the MS is the use of OverThe-Air Service Provisioning (OTASP). MAP support for OTASP was introduced in IS-725 with support for Over-The-Air Parameter Administration (OTAPA) added in IS-725-A. OTASP/OTAPA support in IS-725-A was later incorporated into TIA-41-E. For more information, see the 9. Over-The-Air (OTA) Support section of this paper. 9 3.2.2.4 A-key obtained by contacting customer care 1 5 6 7 10 11 12 13 14 15 This final approach involves a subscriber, retailer, or technician calling the carrier’s customer care center from a working phone to obtain the A-key. Once the caller has been determined to be legitimate, customer care requests a new A-key value from the AKMS. The AKMS securely and randomly generates the new A-key value and provides this value to both customer care and the AC. Customer care may then provide the A-key value to the caller for manual entry into the MS. This approach is illustrated below. A-key AKMS AC A-key A-key A-key Customer Care 16 17 Figure 3-5: A-key obtained by contacting customer care 18 Because the previously discussed alternatives for programming the A-key into the MS provide greater security and less user interaction, this approach is more often used for troubleshooting than new service activation. However, if carriers do choose to use this approach for new service activation, it is recommended that they also have fraud detection systems in place to detect excessive SSD updates that would occur when legitimate A-keys are being programmed into cloned mobile stations. 19 20 21 22 23 CDG #138, Rev 0.34 February 12, 2016 14 CDMA Authentication Home versus local authentication 4. Home versus local authentication 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Authentication of a roaming MS may be performed by the roamer’s home system or locally by the system to which the MS is attempting to gain access. However, roaming partners most commonly choose to support local authentication because of its advantages in reducing signaling between visited and home systems. The two primary requirements for supporting local authentication include: (1) the ability of the visited VLR to support CAVE algorithms for local calculation of authentication signatures and (2) the willingness of the home system to share SSD with the visited VLR to enable these calculations. Auth required NO Visited supports local auth NO YES AC shares SSD with visited VLR YES Home authentication Local authentication 18 Figure 4-1: Home versus local authentication 19 20 24 As illustrated to the right, if either of the two requirements are not met, authentication must be performed by the home system. The visited system can inform the home system of its ability to support local authentication using the TIA-41 SystemCapabilities (SYSCAP) parameter. 25 4.1 Authentication by home system 21 22 23 26 27 28 29 To support home system based authentication, parameters and authentication signatures must be relayed between the visited and home systems using TIA-41 messages. The figure below illustrates the path of signaling when the roamer’s home system performs authentication. A-key A-key MSC VLR SS7 HLR AC SSD COUNT SSD COUNT Home System Visited System 30 31 Figure 4-2: Authentication by home system 32 While home system based authentication works, it is not efficient. In the case of global challenges which are often performed on every system access attempt (e.g. registration, 33 CDG #138, Rev 0.34 February 12, 2016 15 CDMA Authentication Home versus local authentication 5 origination, termination, data burst, etc…), home system based authentication results in a large amount of unnecessary SS7 signaling traffic between home and visited systems and burdens the home AC with generating the authentication signature for each challenge attempt. Of particular concern is the increased signaling traffic inherent in this approach because it directly results in additional costs to carriers and call delays to roamers. 6 4.2 Local authentication by visited system 1 2 3 4 7 8 9 10 11 12 13 14 15 16 17 18 21 22 23 24 25 The more common approach to authenticating roamers in a visited system involves the home AC sharing SSD with a visited VLR so that authentication may be performed locally. Once SSD has been shared with the visited VLR, authentication may be performed by the visited system without involving the home system. Illustrated to the right, this approach distributes authentication closer to the roamer while disburdening the home AC and reducing network signaling and call delays. A-key MSC VLR SSD COUNT SSD COUNT Visited System 19 20 Figure 4-3: Local authentication Authentication signaling between the home and visited systems occurs during the initial system access attempt (i.e. registration) before SSD and COUNT have been shared to enable local authentication. However, once enabled, subsequent authentication attempts are performed locally as illustrated in the above figure for the duration of time that the roaming MS is registered in the visited network. 29 Note that the home system is not shown in the above figure since, once SSD has been shared, local authentication does not require involvement from the home system. However, in the event that a roaming MS were to fail local authentication, the visited system would provide the home system with an authentication failure report (i.e. AFREPORT message). 30 4.3 SystemCapabilities (SYSCAP) of visited system 26 27 28 31 32 33 34 35 36 37 38 39 40 In order for a visited system to support local authentication, the VLR in this system must be capable of supporting the CAVE algorithm and sharing SSD. These capabilities allow the visited system to locally generate authentication signatures to compare against ones received from the MS. The capability of the visited system to support the CAVE algorithm and share SSD are indicated to a roamer’s home system via the SystemCapabilities (SYSCAP) parameter. SYSCAP is a required parameter in the AuthenticationRequest (AUTHREQ) message sent from the visited network to the roamer’s home network. Therefore, when a roaming MS first attempts to access a visited system with global challenges enabled, the home system is notified of the system capabilities of the visited system via the AUTHREQ. If SYSCAP CDG #138, Rev 0.34 February 12, 2016 16 CDMA Authentication 1 2 3 4 Home versus local authentication indicates that the visited network is capable of local authentication, the home system may enable SSD sharing by including SSD in the AUTHREQ response message (authreq) to allow subsequent system access attempts by the roaming MS in this visited system to be authenticated locally. 10 SYSCAP is also a required parameter in authentication report messages (i.e. ASREPORT or AFREPORT) sent from the visited system to the home system to indicate the result of an authentication attempt. If SYSCAP indicates that the visited network is capable of local authentication, the home system may enable SSD sharing by including SSD in the authentication report response message (i.e. asreport or afreport) to allow subsequent authentication challenges to the roaming MS in this visited system to be performed locally. 11 4.4 Enabling and disabling local authentication 5 6 7 8 9 12 13 14 15 16 The home system enables local authentication by “sharing” SSD with the visited VLR. Note that while SSD is shared by the home system, the A-key is not. This approach protects the A-key since it is never transmitted to the visited network and provides an extra layer of security since the home system may initiate an SSD update process at any time if SSD is believed to have been compromised. 20 Local authentication may be enabled or disabled (i.e. sharing of SSD information invoked or revoked with the visited VLR) using any one of the following messages sent from the home system to the visited system. Note that this occurs independently for each roaming MS, not for the entire visited system. 21 4-1: Messages that may be used to enable or disable local authentication 17 18 19 Message AUTHDIR authreq asreport afreport 22 23 24 25 26 27 28 29 30 31 32 Description AuthenticationDirective Invoke message AuthenticationRequest Return Result AuthenticationStatusReport Return Result AuthenticationFailureReport Return Result To enable local authentication (i.e. invoke sharing of SSD), the home system includes an SSD parameter in one of the above messages sent to the visited system. If the CallHistoryCount (COUNT) mismatch mechanism is being used for clone detection, a COUNT parameter will also be included so that both SSD and COUNT are shared with the visited system. To disable local authentication (i.e. revoke sharing of SSD), the home system includes the SSDNotShared (NOSSD) parameter in one of the above messages sent to the visited system. If the COUNT mismatch mechanism is being used, COUNT will also have been shared. Because the home system needs to retrieve this COUNT value from the visited system, the AUTHDIR message is typically used to turn off SSD (and COUNT) sharing. Use of AUTHDIR to revoke sharing is simply more efficient because COUNT may be included in CDG #138, Rev 0.34 February 12, 2016 17 CDMA Authentication 1 2 3 4 5 Home versus local authentication the AUTHDIR Return Response (authdir) from the visited network. Since there is no response to authdir, asreport, or afreport return response messages, use of these messages to turn off sharing would require an additional message transaction involving a CountRequest (COUNTREQ) from home to visited system and COUNTREQ Return Response (countreq) from visited to home system to retrieve the COUNT value. CDG #138, Rev 0.34 February 12, 2016 18 CDMA Authentication Global Challenges 5. Global Challenges 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Global challenges are used by systems to ensure that all mobile stations attempting to access the system are authenticated. Mobile stations that roam into visited systems with global challenge enabled are requested to provide authentication parameters. The visited system indicates this request by setting the authentication bit (i.e. AUTH=1) in the overhead message train (OMT). The OMT should also include the global random challenge value (RAND) to be used in generating the authentication result. Visited System overhead message train AUTH=1, RAND 15 16 Figure 5-1: Global challenge to MS 19 In response to the global challenge indicated by AUTH=1, authentication-capable mobile stations will include the following authentication parameters in system access messages to allow themselves to be authenticated in the visited network. 20 5-1: Authentication parameters provided by MS when global challenges are required 17 18 Parameter Description AUTHR Authentication signature value calculated by the MS RANDC Most significant 8 bits of the 32-bit RAND used to calculate AUTHR COUNT Current call history count stored in the MS (6-bit value) 23 All system access attempts from the mobile will require these parameters to be included when AUTH=1. System access attempts may include registration, origination, termination (i.e. page response or reconnect), and data burst (e.g. SMS) messages. 24 5.1 Authentication signature (AUTHR) 21 22 25 26 27 28 29 The basis for authentication is the ability for both the MS and the authentication controller (i.e. visited VLR if SSD is shared or home AC if not) to generate authentication signatures that may be compared. In the case of a global challenge, the authentication signature is referred to as the authentication result (AUTHR) and is calculated using the Cellular Authentication and Voice Encryption (CAVE) algorithm with inputs illustrated below. CDG #138, Rev 0.34 February 12, 2016 19 CDMA Authentication Global Challenges Random Challenge (32-bit) 32-bit RAND received in OMT. If no RAND was received, default is zero. ESN (32-bit) ESN provisioned in MS AUTHR (18-bit) CAVE algorithm Authentication Data (24-bit) Authentication Signature If origination, use the last 6 dialed digits. Otherwise, use IMSI_S1 (i.e. last 6 digits of MIN) Secret Data (64-bit) SSD_A part of SSD generated using CAVE and provisioned A-key 1 2 Figure 5-2: Generation of AUTHR for global challenge 3 8 The MS generates and includes an AUTHR value in all system access messages in the visited network. Upon receiving the AUTHR from the MS, the visited system may proceed with authentication locally or forward this AUTHR value to the roamer’s home network for authentication. Whether MS response to the global challenge is authenticated by the visited system or the roamer’s home system depends on whether SSD is shared with the visited VLR. 9 5.2 Roamer authenticated by its home system 4 5 6 7 10 11 12 13 If SSD is not shared with the visited system, the AUTHR value returned by the MS and the RAND value used by the MS to generate this AUTHR must be forwarded to the roamer’s home system for authentication. The global challenge message flow is illustrated below for the case in which SSD information is not shared with the visited VLR. SSD SSD Home HLR/AC Visited System overhead message train AUTH=1, RAND system access AUTHR, RANDC, COUNT AUTHREQ AUTHR, RAND, COUNT authreq 14 15 Figure 5-3: Global challenge message flow when SSD is not shared CDG #138, Rev 0.34 February 12, 2016 20 CDMA Authentication Global Challenges 5 Note that the RAND, not the RANDC, is forwarded to the home system. The RAND value, which was selected by the visited system, was used by the MS to generate an AUTHR value in response to the global challenge. Since the AC will need to use this same RAND to generate an AUTHR value to compare to the one received from the MS, the RAND is included in the AUTHREQ message sent to the home system. 6 5.3 Roamer authenticated locally by the visited system 1 2 3 4 7 8 9 10 11 12 13 If SSD is shared with the visited VLR, forwarding RAND and AUTHR information to the roamer’s home system for authentication is unnecessary. Because the visited system has the SSD required to generate an AUTHR value locally to compare to the one received from the MS, authentication can be performed by the visited system without involving the roamer’s home system. A global challenge message flow is illustrated below for the case in which SSD information is shared with the visited VLR. SSD SSD Visited System overhead message train AUTH=1, RAND system access AUTHR, RANDC, COUNT 14 15 16 17 18 19 20 21 22 23 24 25 Figure 5-4: Global challenge message flow when SSD is shared 5.4 Pre-validation using RANDC The RANDC consists of the 8 most significant bits of the RAND and is used by the base station to pre-validate the system access message sent by the MS. The base station compares the RANDC received from the MS to the 8 most significant bits of the active RAND being broadcast on the OMT. While a system may discard a system access message if a mismatch is detected, the mismatch does not necessarily indicate that the MS attempting to access the system is fraudulent, only that a cloned MS scenario may exist. For example, a mismatch could occur when an MS in a border area uses a RAND value being transmitted by a neighboring system or when an MS fails to receive the RAND value being transmitted and uses a default value (i.e. RAND = 0). CDG #138, Rev 0.34 February 12, 2016 21 CDMA Authentication 1 2 3 4 5 6 7 8 9 10 11 Global Challenges 5.5 Clone detection using COUNT CallHistoryCount (COUNT) is a counter value maintained by the roaming MS, home AC, and, if local authentication is enabled, the visited VLR. Used during the global authentication process, this counter provides a mechanism for detecting cloned mobile stations, especially when SSD and/or A-key values have been compromised. When a system access message is received in the visited system, the COUNT value provided by the roaming MS is compared with the one maintained by the authentication controller to determine whether they are consistent. A mismatch suggests that a clone may exist but is not necessarily a conclusive indication of cloning since RF transmission issues may result in occasional minor mismatches. However, there should not be a large delta between these values. 14 The policies of the authentication controller will determine whether to allow access, issue a unique challenge, or deny access based on a COUNT mismatch. However, cases of large discrepancies or repeated mismatches should be treated as indications of cloning fraud. 15 5.5.1 Updating CallHistoryCount (COUNT) 16 COUNT is updated (i.e. incremented) by the home AC according to an internal algorithm. This algorithm typically updates the value at irregular intervals rather than simply incrementing it with each call. To initiate an update, the AC sends an TIA-41 UpdateCount parameter to the visited system as illustrated below. 12 13 17 18 19 Home HLR/AC Visited System AUTHDIR UpdateCount parameter update parameter update confirm authdir COUNT 20 21 Figure 5-5: COUNT update process 22 Similar to the RANDSSD parameter used to initiated the SSD update procedure, the UpdateCount parameter may be included by the home AC in any of the following messages sent to the visited system to initiated the COUNT update procedure: 23 24 CDG #138, Rev 0.34 February 12, 2016 22 CDMA Authentication 1 Global Challenges 5-2: Messages that may contain UpdateCount to initiate COUNT update process Message AUTHDIR authreq asreport afreport 2 3 4 5 6 7 8 Description AuthenticationDirective Invoke message AuthenticationRequest Return Result AuthenticationStatusReport Return Result AuthenticationFailureReport Return Result 5.6 Reporting of results to roamer’s home system If SSD is shared with the visited network and the MS fails the global challenge, an AuthenticationFailureReport Invoke (AFREPORT) message will be sent by the visited system to inform the roamer’s home system of the failure as illustrated below. Reports of successful global challenges in the visited network are unnecessary. Likewise, results of global challenges when SSD is not shared need not be reported since the home system is the one performing the authentication. Global challenge No Authentication is performed by the home system so no reporting is needed SSD Shared Yes Fail Auth Success Result AFREPORT no report 9 10 Figure 5-6: Authentication reporting for unique challenges 11 CDG #138, Rev 0.34 February 12, 2016 23 CDMA Authentication Unique Challenges 6. Unique Challenges 1 2 3 4 5 6 7 8 9 10 11 Unlike global challenges that require all mobile stations to provide authentication parameters before accessing the system, a unique challenge is directed at a specific mobile station. Unique challenges may be used instead of or in addition to global challenges and may be initiated by either visited or home systems, regardless of whether SSD is shared. Visited System authentication challenge RANDU 12 13 Figure 6-1: Unique challenge to MS 16 Roaming mobile stations being uniquely challenged in a visited system will receive a unique challenge message as shown above. This message may be received over paging, access, or dedicated traffic channels. 17 6.1 Authentication signature (AUTHU) 14 15 18 19 20 21 22 23 24 As with the global challenge, the basis for authentication is the ability for both the MS and the authentication controller (i.e. visited VLR or home AC) to generate authentication signatures that may be compared. In the case of a unique challenge, the authentication signature is referred to as the AuthenticationResponseUniqueChallenge (AUTHU) and is calculated using the CAVE algorithm with inputs illustrated below. Note that the inputs used in generating AUTHU for unique challenges differ from the inputs used in generating AUTHR for global challenges. Random Challenge (32-bit) 24-bit RANDU received in unique challenge message + 8-bit IMSI_S2 ESN (32-bit) ESN provisioned in MS Authentication Data (24-bit) CAVE algorithm IMSI_S1 (i.e. last 6 digits of MIN) AUTHU (18-bit) Authentication Signature Secret Data (64-bit) SSD_A part of SSD generated using CAVE and provisioned A-key 25 26 Figure 6-2: Generation of AUTHU for unique challenge 27 Upon receiving a unique challenge, the MS generates and includes an AUTHU value in a unique challenge response message. The visited system compares the AUTHU value 28 CDG #138, Rev 0.34 February 12, 2016 25 CDMA Authentication Unique Challenges 4 received from the MS with the AUTHU value either generated by the visited VLR or received from the home AC to determine whether the MS is authentic. Unlike the global challenge, comparison of AUTHU values is always performed by the visited system, even when the challenge is initiated and AUTHU value generated by the home system. 5 6.2 Unique challenge initiated by roamer’s home system 1 2 3 6 7 8 9 10 11 12 13 A roamer’s home system may initiate a unique challenge at any time and regardless of whether SSD has been shared with the visited VLR. In fact, even if SSD has been shared and the visited network has successfully performed global and unique challenges on the roamer, the home system may still initiate a unique challenge at its discretion. If the unique challenge is initiated by the home system, the AUTHU will be generated by the home AC and provided to the visited system in an Authentication Directive (AUTHDIR) message as shown below. This AUTHDIR will also include the RandomVariableUniqueChallenge (RANDU) that was used to generate the AUTHU. SSD SSD Home HLR/AC Visited System AUTHDIR RANDU, AUTHU authdir authentication challenge RANDU auth challenge response AUTHU ASREPORT unique challenge report asreport 14 15 16 17 18 Figure 6-3: Unique challenge initiated by roamer’s home system Because the visited system performs the comparison of AUTHU values generated by the MS and home system, results of the unique challenge must be reported to the home system regardless of whether the challenge succeeds or fails. CDG #138, Rev 0.34 February 12, 2016 26 CDMA Authentication 1 2 3 4 Unique Challenges 6.3 Unique challenge initiated locally by visited system If SSD is shared with the visited VLR, the visited system is able to initiate a unique challenge and generate an AUTHU locally to compare to the one received from the MS. The call flow for a visited system initiated unique challenge is illustrated below. SSD SSD SSD Home HLR/AC Visited System authentication challenge RANDU auth challenge response AUTHU AFREPORT unique challenge report asreport Failure report is only sent if the unique challenge fails 5 6 Figure 6-4: Unique challenge initiated by visited system 7 Note that when initiated by the visited system, results of a unique challenge only need to be reported to the home system if the challenge fails; otherwise, the home system is not involved in the authentication attempt. 8 9 10 11 12 13 14 15 6.4 Reporting results to roamer’s home system When a roamer’s home system initiates a unique challenge, the visited system will send an AuthenticationStatusReport Invoke (ASREPORT) message upon completing the challenge attempt to inform the home system whether the authentication was successful. However, when unique challenges are initiated locally by the visited system, the home system only needs to be informed of failed authentication attempts as illustrated below. CDG #138, Rev 0.34 February 12, 2016 27 CDMA Authentication Unique Challenges Unique challenge Home System Success or Failure ASREPORT Visited System Challenge initiated by Fail Auth Result AFREPORT Success no report 1 2 Figure 6-5: Authentication reporting for unique challenges 3 CDG #138, Rev 0.34 February 12, 2016 28 CDMA Authentication 1 2 3 4 5 6 7 8 9 10 Updating Shared Secret Data (SSD) 7. Updating Shared Secret Data (SSD) The SSD update process allows new SSD information to be generated by both the home AC and roamer’s MS. Since this process relies on a MS having a legitimate A-key value provisioned, use of the SSD update process is an easy way to turn off service to a cloned MS that is using an illegally obtained SSD value. The SSD update process also allows roaming carriers that share SSD with their roaming partners to reduce security concerns by periodically changing SSD information. Depending upon manufacturer, an AC may provide multiple mechanisms for initiating SSD updates. These methods include automatic triggering based on a carrier defined algorithm, periodic triggering based on a carrier defined interval, and manual triggering as needed. 17 The home AC begins the SSD update process by selecting a random number and using this number along with ESN and A-key inputs into the CAVE algorithm to generate a new SSD value. The home system then forwards this random number to the visited system using a RandomVariableSSD (RANDSSD) parameter. Receipt of this RANDSSD parameter by the visited system initiates the SSD update process to the MS, which may be in either idle or traffic state. The home system may include the RANDSSD parameter in any of the following messages sent to the visited system: 18 7-1: Messages that may contain RANDSSD to initiate SSD update process 11 12 13 14 15 16 Message AUTHDIR authreq asreport afreport 19 20 21 22 23 24 25 26 27 28 29 30 Description AuthenticationDirective Invoke message AuthenticationRequest Return Result AuthenticationStatusReport Return Result AuthenticationFailureReport Return Result The SSD update process involves two authentication challenges. The first is a base station challenge from the MS when the request to update SSD is received. The purpose of this challenge is to allow the MS to verify that the SSD update request is being initiated from a legitimate source. The second is a unique challenge after the MS has updated its SSD. The purpose of this challenge is to validate that the new SSD value generated by the MS is legitimate. Once both challenges are complete, the home system receives a status message indicating whether the process was successful. From the perspective of the roaming MS, the SSD update process is the same whether SSD is shared with the visited system or not. The difference is that the non-shared scenario places the burden of generating the AUTHU value and processing the base station challenge on the home system and requires additional signaling between home and visited systems. Most carriers prefer to share SSD with their roaming partners. CDG #138, Rev 0.34 February 12, 2016 29 CDMA Authentication 1 2 3 4 5 6 7 8 Updating Shared Secret Data (SSD) 7.1 SSD update process when SSD is shared In the shared SSD scenario, the new SSD value generated by the home AC is provided to the visited VLR along with the RANDSSD to initiate the update to the MS. The visited VLR uses this new SSD value to process base station and unique challenges during the SSD update process. Once these challenges are complete, the visited network sends an ASREPORT message containing SSD update and unique challenge reports to the home system to indicate the outcome of the SSD update process. The following diagram illustrates this process when SSD is shared with the visited network. SSD Visited System SSD Home HLR/AC AUTHDIR RANDSSD, SSD SSD update RANDSSD authdir base station challenge RANDBS SSD Home system initiates SSD update process by including RANDSSD and shares new SSD value with the visited VLR. MS initiates a challenge before updating its SSD to ensure that the update process is being initiated by a legitimate source. challenge response AUTHBS SSD update success MS updates its SSD unique challenge RANDU Unique challenge is used to validate the new SSD generated by the MS. challenge response AUTHU ASREPORT SSDURPT, UCHALRPT asreport Reports sent back to home system to indicate outcome of SSD update and unique challenge 9 Figure 7-1: SSD update process when SSD is shared 10 11 12 13 14 15 16 7.2 SSD update process when SSD is not shared There are two major differences in the SSD update process when SSD is not shared with the visited system. The first is that the home system, not the visited system, selects the RANDU and generates the AUTHU required to perform the unique challenge during the SSD update process. These RANDU and AUTHU values are included along with the RANDSSD when the SSD update is initiated. The second is that rather than being processed locally by the CDG #138, Rev 0.34 February 12, 2016 30 CDMA Authentication 1 2 Updating Shared Secret Data (SSD) visited system, the base station challenge from the MS is forwarded to the home system. These differences are highlighted in red text in the following diagram illustrating. SSD Home HLR/AC Visited System AUTHDIR RANDSSD, RANDU, AUTHU update SSD RANDSSD base station challenge RANDBS challenge response AUTHBS authdir BSCHALL RANDBS bschall AUTHBS SSD update success SSD Home system initiates SSD update process by including RANDSSD and provides RANDU and AUTHU values to enable visited system to perform unique challenge. MS initiates a challenge before updating its SSD to ensure that the update process is being initiated by a legitimate source. This challenge is forwarded to the home system to be processed. MS updates its SSD unique challenge RANDU Unique challenge is used to validate the new SSD generated by the MS. challenge response AUTHU ASREPORT SSDURPT, UCHALRPT asreport Reports sent back to home system to indicate outcome of SSD update and unique challenge 3 4 Figure 7-2: SSD update process when SSD is not shared 5 6 CDG #138, Rev 0.34 February 12, 2016 31 CDMA Authentication Authentication Enhancements 8. Authentication Enhancements 1 4 IS-778 defines various enhancements to the CAVE-based authentication mechanisms introduced in TIA-41-D. These enhancements have since been incorporated into TIA-41-E and include the following: 5 8-1: Authentication enhancements in IS-778 2 3 Enhancement description - Count update after handoff - Ability to obtain subscriber profile before authentication on initial access - Handling of suspicious call originations - Identification of the serving MSC when providing an authentication report - Handling of authentication-capable MS’s from non-capable home systems 6 7 8 9 10 11 12 13 14 15 16 17 Except for the introduction of a new SuspiciousAccess parameter, IS-778 authentication enhancements leverage the same TIA-41-D authentication operations (e.g. AUTHDIR, AUTHREQ, etc…) and parameters. Details on selected authentication enhancements introduced in IS-778 are provided in the following subsections. 8.1 Roamers from a non-authentication-capable partner When an authentication-enabled visited system attempts to support inbound roamers from a non-authentication-capable home system, the home system is neither able to provide an AuthenticationCapability (AUTHCAP) parameter indicating that authentication is not required nor recognize an AUTHREQ message from the visited system. As a result, the authentication-enabled visited system receives AUTHREQ Return Error of “Operation Not Supported” during registration of a roaming MS from the non-authentication-capable home system. 22 In TIA-41-D this error is treated as an authentication failure and the roamer is not able to access the visited system. TIA/EIA-E addresses this scenario by modifying the behavior of the visited MSC to proceed with registration and not attempt subsequent authentications with the roamer’s home network. This TIA-41-E behavior is necessary if an authenticationenabled system wishes to support roamers from a non-authentication-capable system. 23 8.2 Handling of suspicious call origination attempts 18 19 20 21 24 25 26 The new SuspiciousAccess (SUSACC) parameter is provided as a mechanism to allow a visited system to inform a home system when their roamer’s call origination attempt in the visited system is suspicious. When a suspicious access is identified, the SUSACC CDG #138, Rev 0.34 February 12, 2016 33 CDMA Authentication 1 2 Authentication Enhancements parameter is included in the AUTHREQ sent to the home system. Receipt of the SUSACC parameter indicates to the home system that a unique challenge may be warranted. SSD SSD Visited System Home HLR/AC overhead message train AUTH=1, RAND system access AUTHR, RANDC, COUNT, Digits (dialed) AUTHREQ AUTHR, RAND, COUNT, SUSACC, Digits (dialed) authreq RANDU, AUTHU Visited system determines that dialed digits are suspicious and includes the SUSACC parameter. Home system responds by initiating a unique challenge. 3 4 Figure 8-1: Handling of suspicious access attempts 5 While the SUSACC parameter may be used to indicate an unspecified scenario in which an access attempt appears suspicious for reasons other than anomalous dialed digits, the primary scenario addressed by SUSACC is the receipt of extraneous digits in the number dialed by a roamer during call origination. These extraneous digits could indicate a replay attack that is attempting to circumvent global challenge authentication by appending previously dialed digits to a new dialed number. 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Global challenges are generally an effective tool against replay attacks since call origination attempts use the last 6 digits of the dialed number to calculate the AUTHR value. One would think it unlikely for a replay attempt to be useful since the fraudulent user could only successfully pass authentication by dialing numbers ending in the same 6 digits. However, it may be possible to circumvent the spirit of this limitation by appending the last 6 dialed digits from the original attempt to the dialed number in the fraudulent replay attempt. While this results in a dialed number that is 6 digits longer than it should be, when the dialed digits are processed through the MSC translation tables, a route would be determined based on the new dialed number before reaching these additional digits. Once the route is determined, the MSC often ignores the remaining digits. The SUSACC parameter allows the MSC to identify these additional digits as suspicious rather than ignoring them. If SSD is shared with the visited VLR, an alternative approach could be to ensure that the visited MSC policy triggers a locally initiated unique challenge when additional digits are provided. CDG #138, Rev 0.34 February 12, 2016 34 CDMA Authentication Over-The-Air (OTA) Support 9. Over-The-Air (OTA) Support 1 6 MAP support for Over-The-Air Service Provisioning (OTASP) was introduced in IS-725 with support for Over-The-Air Parameter Administration (OTAPA) added in IS-725-A. OTASP/OTAPA support in IS-725-A was later incorporated into TIA-41-E. The purpose of this section is to provide basic information on these mechanisms in the context of their support for authentication functions (e.g. A-key provisioning). 7 9.1 OTASP 2 3 4 5 17 Over-The-Air Service Provisioning (OTASP) provides carriers with a flexible and secure mechanism to support activation of service for new subscribers and updating of MS provisioning information (e.g. A-key value, NAM programming, etc…) for existing subscribers over the air interface. OTASP involves the subscriber initiating these actions by placing an OTASP call to the Customer Service Center (CSC) from their MS. This call is typically invoked by entering an OTASP feature code such as *228, followed by additional information such as a system code, directory number, or system operator code. The dialing format used to invoke an OTASP call is determined by the carrier. OTASP provides subscribers with flexibility since they may activate or update their MS provisioning at any time by simply placing a call rather than having to physically visit a service center. 18 9.2 OTAPA 8 9 10 11 12 13 14 15 16 27 Over-The-Air Parameter Administration (OTAPA) is similar to OTASP in that it supports updating of NAM and other operational parameters in the MS over the air interface. However, OTAPA is initiated autonomously by the network without involvement from the subscriber. In fact, the subscriber is unaware of OTAPA updates when they occur. OTAPA may be performed at anytime while the MS is powered on and does not interfere with the subscriber’s use of the MS (i.e. if the subscriber attempts to use the MS while OTAPA is in progress, the OTAPA is terminated). OTAPA provides carriers with flexibility since they may update subscriber MS provisioning when needed without requiring the subscriber to take any action. 28 9.3 OTASP/OTAPA mechanism 19 20 21 22 23 24 25 26 32 OTASP and OTAPA operations are controlled by an Over-The-Air Function (OTAF) that communications via TIA-41 with the serving MSC and home HLR/AC. In the case of OTASP, the OTAF also communicates with the Customer Service Center (CSC) via proprietary messaging. 33 9.3.1 OTASP attachment 34 Because OTASP supports the activation of new mobile stations that have not been provisioned, two things must occur at the serving MSC. First, since the MS may not be 29 30 31 35 CDG #138, Rev 0.34 February 12, 2016 35 CDMA Authentication 1 2 3 4 5 Over-The-Air (OTA) Support provisioned with an A-key, the MSC may need to allow unauthenticated OTASP calls to be routed to their home customer service centers. Second, the MSC must recognize the call as an OTASP call and assign a TemporaryReferenceNumber (TRN) to be included with the call (typically as the calling party number) when it is routed to the CSC. The OTAF uses this TRN to create as attachment between itself and the MSC as illustrated below. OTAF Visited System CSC call origination OTASP FC + XX MSC recognizes OTASP call attempt, selects TRN, and routes call to CSC with TRN in either the calling or called party number ISUP call (TRN) Voice path connected SMDPP MIN, TRN, ACTCODE, SRVIND proprietary TRN smdpp MS_MSID, ESN, MSCID, SYSCAP SMDPP ACTCODE, MIN, ESN, SRVID smdpp CSC provides received TRN to OTAF. OTAF selects a MIN and initiates attachment by sending SMDPP with action code set to “Attach MSC to OTAF”. MSC responds with MS and MSC information Attachment now setup. OTAF sends SMDPP with action code set to “Release TRN” since TRN no longer needed. 6 7 Figure 9-1: OTASP attachment between MSC and OTAF 8 In the case of OTAPA, this attachment process is not required since the MS has already been provisioned. 9 10 9.3.2 Action codes 11 Each OTASP/OTAPA operation involves the OTAF sending an OTASPRequest (OTASPREQ) message to the HLR/AC. In the case of an OTASP operation, the sending of this message is a response to proprietary messaging with the CSC once a subscriber has been connected to the CSC. In the case of an OTAPA operation, the trigger is defined by the carrier without involvement from the subscriber. In either case, the OTASPREQ message contains an ActionCode (ACTCODE) parameter that identifies the desired action to be performed during the OTASP/OTAPA operation. New action codes defined in TIA-41-E are shown below. 12 13 14 15 16 17 18 CDG #138, Rev 0.34 February 12, 2016 36 CDMA Authentication Over-The-Air (OTA) Support 9-1: New action codes defined in TIA-41-E 1 OTASP actions - Attach MSC to OTAF - Initiate RegistrationNotification - Generate Public Encryption values - Generate A-key - Perform SSD Update procedure - Perform re-authentication procedure - Release TRN - Commit A-key - Release Resources (e.g., A-key, Traffic Channel) - Record NEWMSID - Allocate Resources (e.g., Multiple message traffic channel delivery) - Generate Authentication Signature 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 9.4 A-key generation procedure While OTASP and OTAPA may be useful for a variety of scenarios, this paper is interested in their use in the context of authentication. A primary use of these functions is that of an alternative to the A-key provisioning options discussed in section 3.2 A-key provisioning. While these previously discussed options are functional, each suffer from deficiencies in either flexibility or security. For example, while pre-programmed A-keys from the manufacturer are secure, they are inflexible without a mechanism to update the A-key if necessary. A-keys may be updated at designated service centers, but this approach lacks flexibility since it requires the customer to bring their MS to the service center. On the other hand, more flexibility may be provided by allowing customers or retailers to provision A-key values, but this approach lacks security. The A-key generation procedure supported by OTASP addresses each of these issues. Its ability to be initiated by the subscriber at anytime provides flexibility while its use of a 512-bit Diffie-Hellman key agreement algorithm for secure key exchange provides security. The following illustrations provide a high-level view of the A-key generation procedure and call flow for this procedure once an attachment has been made between the serving MSC and OTAF. CDG #138, Rev 0.34 February 12, 2016 37 CDMA Authentication Over-The-Air (OTA) Support OTAF attaches call to serving MSC using TRN and controls A-key generation procedure using OTASPREQ messages to the AC and SMDPP messages to the serving MSC Partial keys Partial keys Generate A-key Partial keys OTAF AC Customer Care Generate A-key MS and AC each locally generate same A-key (actual A-key value is never transmitted) Subscriber dials OTASP feature code from the MS that needs to be activated. MSC assigns a TRN and routes the call to the MS’s customer care. 1 2 CDG #138, Rev 0.34 Figure 9-2: OTASP A-key generation procedure February 12, 2016 38 CDMA Authentication Over-The-Air (OTA) Support OTAF Visited System HLR/AC OTASPREQ ACTCODE, AKEYPV otaspreq AKEYPV, MODVAL, PRIMVAL, BSKEY SMDPP SMS_BearerData (MS Key Request), SVIND MS key request MS key response smdpp SMS_BearerData (MS Key Response) SMDPP SMS_BearerData (Key Generation Request, SVIND) key generation request key generation response smdpp SMS_BearerData (Key Generation Response) OTASPREQ MSKEY, ACTCODE otaspreq 1 Figure 9-3: A-key generation call flow 2 3 4 5 6 7 8 9 10 11 12 13 14 15 9.5 SSD update In addition to A-key generation, the OTAF may initiate the SSD update procedure discussed in the 7. Updating Shared Secret Data (SSD) section of this paper. The OTAF begins the SSD update procedure by sending an OTASPREQ message containing an ACTCODE set to “Perform SSD Update procedure” to the HLR/AC. Also included in this OTASPREQ message is an SRVIND parameter indicating either OTASP or OTAPA. As illustrated below, upon receiving the OTASPREQ, the HLR/AC proceeds with the SSD update procedure as normal. The only difference in SSD update call flow when this procedure is initiated by the OTAF is that each TIA-41 invoke message between HLR/AC and MSC during the procedure includes the SRVIND parameter indicating OTASP or OTAPA. Also note that shared SSD is not supported for OTASP/OTAPA sessions. Therefore, new SSD is not included in the AUTHDIR sent to the visited system during an OTAF-initiated SSD update. CDG #138, Rev 0.34 February 12, 2016 39 CDMA Authentication Visited System Over-The-Air (OTA) Support HLR/AC OTAF OTASPREQ MS_MSID, ACTCODE, SYSCAP, MSCID, SRVID AUTHDIR RANDSSD, RANDU, AUTHU, SRVIND, MS_MSID, MSCID Call flow proceeds as illustrated in Figure 7-2: SSD update process when SSD is not shared. otaspreq SSDURPT, UCHALRPT OTAF sends an OTASPREQ message with action code set to “Perform SSD Update “ HLR/AC proceeds with SSD update procedure as normal. SRVIND, MS_MSID, and MSCID received from OTAF are included in the AUTHDIR. Messages between MSC and AC during the procedure will include the SRVIND. To complete the SSD update, HLR/AC responds to the OTASPREQ and includes the SSD update and challenge reports received from the MSC. 1 2 CDG #138, Rev 0.34 Figure 9-4: OTAF-initiated SSD update procedure February 12, 2016 40 CDMA Authentication 10. Recommendations 1 2 Recommendations 10.1 A-key management recommendations 6 A fundamental rule of A-key management in CDMA authentication is that allowing anyone access to the A-key creates potential for its fraudulent usage. The potential for exposing the A-key exists anytime it is transferred into or out of the AKMS. With this in mind, the following recommendations are offered. 7 10.1.1 Protect A-key information between manufacturer and AKMS 8 10 If pre-programmed A-keys are used, ESN/A-key pairs should be securely transferred from the manufacturer’s database subsystem to the carrier’s AKMS. For more information, refer to 3.1.1 A-key generated by manufacturer. 11 10.1.2 Protect A-key information between AKMS and AC 12 13 The AC should be able to securely retrieve A-keys directly from the AKMS. information, refer to 3.2.1 Provisioning the AC. 14 10.1.3 Protect A-key information between AKMS and MS 15 17 Secure and non-intrusive methods such as pre-programmed A-keys, programming devices that communicate directly with the AKMS, or OTASP are recommended for provisioning the MS. For more information, refer to 3.2.2 Provisioning the MS. 18 10.1.4 Delete A-keys from the AKMS once provisioned into MS and AC 19 20 This is simply an aging principle that prevents sensitive data from being unnecessarily stored in multiple places. 21 10.2 General authentication recommendations 3 4 5 9 16 For more 24 Whether authentication must be enforced by the visited network should be agreed upon and specified in the roaming agreement between roaming partners. The following recommendations are offered for authentication: 25 10.2.1 Use global challenges 26 Global challenges provide rapid authentication of any roaming MS attempting to access the visited network. For more information, refer to 5. Global Challenges. 22 23 27 CDG #138, Rev 0.34 February 12, 2016 41 CDMA Authentication Recommendations 1 10.2.2 Use the COUNT mismatch mechanism 2 4 Validation of COUNT during global challenge authentication provides a mechanism for detecting cloned mobile stations, especially when SSD and/or A-key values have been compromised. For more information, refer to 5.5 Clone detection using COUNT. 5 10.2.3 Enable local authentication 6 8 Local authentication reduces signaling between the home and visited systems and minimizes call setup delay during authentication. For more information, refer to 4.2 Local authentication by visited system. 9 10.2.4 Perform an SSD update when activating a new MS 3 7 13 Explicitly performing an SSD update whenever new mobile stations are activated will ensure that any MS with a default SSD value of zero is updated with an SSD value based on the ESN, A-key, and RANDSSD. For more information on the SSD update process, refer to 7. Updating Shared Secret Data (SSD). 14 10.2.5 Trigger fraud procedures on large or repeated COUNT mismatches 15 17 While a COUNT mismatch does not definitively indicate that an MS is a clone, large discrepancies or repeated mismatches should trigger fraud procedures. For more information, refer to 5.5 Clone detection using COUNT. 18 10.2.6 Trigger a unique challenge when a cloned MS is suspected 19 21 If a cloned MS is suspected even after a successful global challenge, the unique challenge mechanism allows the specific MS to be challenged to ensure that it possess correct SSD. For more information, refer to 6. Unique Challenges. 22 10.2.7 Trigger an SSD update if cloning still suspected after unique challenge 23 26 If a cloned MS is still suspected after a successful unique challenge, the SSD update process should be used to limit the carrier’s exposure in case the MS is a clone using valid SSD and/or A-key information. For more information on the SSD update process, refer to 7. Updating Shared Secret Data (SSD). 27 10.2.8 Ensure that roaming partner denies service if authentication fails 28 While this may sound self-evident, many equipment manufacturers provide carriers with a configurable field to either deny or allow service to a user when authentication fails. If authentication fails, service should be denied. 10 11 12 16 20 24 25 29 30 CDG #138, Rev 0.34 February 12, 2016 42 CDMA Authentication Recommendations 1 10.3 Specific recommendations for identified scenarios 2 10.3.1 Cloned MS – valid ESN and MIN 3 4 5 6 7 8 9 A cloned MS is one that has been illegally programmed with ESN and MIN information associated with a legitimate subscriber. Because this subscriber information is sent overthe-air, it is susceptible to being intercepted by fraudsters using devices such as Cellular Cache Boxes that combine a scanner, computer, and mobile station. While the CDMA air interface makes this information much more difficult to intercept, many CDMA phones support the ability to switch down into analog (e.g. AMPS) mode to enhance coverage area. When in analog mode, legitimate subscriber information is quite easily intercepted. 12 Use of the global challenge authentication mechanism by a carrier will thwart the efforts of fraudsters using cloned mobile stations. In a roaming scenario, insistence upon the use of authentication by each roaming partner protects both visited and home systems. 13 10.3.2 Cloned MS – valid ESN, MIN, and SSD 10 11 14 15 16 17 Beyond the common scenario of a cloned MS using illegally obtained ESN and MIN information is the scenario in which SSD has been compromised. If a cloned MS acquires validated SSD associated with a legitimate MS, both the legitimate and the cloned MS will be able to access the system. 24 The solution is the use of the SSD update process discussed in the 7. Updating Shared Secret Data (SSD) section of this paper. Because only the legitimate MS possess a valid Akey, only this legitimate MS will be able to generate a new SSD value that is valid. Therefore, the SSD update process provides an effective way for the home carrier to deny access to cloned mobile stations that are illegally using validated SSD information. Further, because this process is transparent to users, the goal is accomplished without impacting the user experience of legitimate subscribers. 25 10.3.3 Cloned MS – valid ESN, MIN, SSD, and A-key 18 19 20 21 22 23 26 27 28 29 30 31 32 33 34 35 36 37 A more problematic scenario may exist when an older MS that uses a removable EEPROM to store authentication parameters is supported. Because the contents of this EEPROM, including the A-key, can be read and copied with relative ease, a clone can be created that is an exact working copy of the legitimate MS. In such a case, both the legitimate and the cloned MS will be able to access the system and update SSD. While at first glance it may appear that a compromised A-key renders the SSD update process ineffective, however, in practice, updating the SSD does actually solve the problem, albeit in a potentially more intrusive and indirect fashion. The reason is that only one of the two mobile stations (legitimate MS or clone) may be active at any given time. If the legitimate MS is active when SSD update is performed, its SSD will be updated and the clone will no longer be able to access the system. This is the best scenario as it solves the problem without impacting the user experience of the legitimate subscriber. CDG #138, Rev 0.34 February 12, 2016 43 CDMA Authentication Recommendations 7 However, if the cloned MS is active when SSD update is performed, its SSD will be updated and the legitimate subscriber will no longer be able to access the system. The legitimate subscriber would then need to contact customer service to have a new A-key provisioned in their MS and the clone will be deactivated. This, of course, is less desirable since it requires the subscriber to take action to restore their service; however, it would deny further access to the cloned MS. A prudent additional step would be to encourage subscribers to upgrade to newer mobile stations that are less susceptible to compromising the A-key. 8 10.3.4 Replay attack with extra digits 9 Global challenges typically deter replay attacks since the global challenge mechanism uses the last six digits of the dialed number as an input for generating the authentication signature. The idea is that even a successful replay attack would be of little use since it could only be used to dial other numbers that end in the same six digits. However, because of the way in which routing-on-dialed-digits occurs in many MSCs, this mechanism may be bypassed by appending these last six digits onto a new dialed number. 1 2 3 4 5 6 10 11 12 13 14 15 16 17 18 19 20 The solution is to support the SuspiciousAccess (SUSACC) parameter discussed in the 8.2 Handling of suspicious call origination attempts section of this paper. Use of this parameter allows the visited system to inform the home system when a roamer’s call origination attempt includes extraneous digits. In response the home system may use the unique challenge mechanism to ensure that the roamer is legitimate. If the origination attempt is, indeed, a replay attempt, this unique challenge will fail. 21 CDG #138, Rev 0.34 February 12, 2016 44 CDMA Authentication 11. AKA-based Authentication 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 AKA-based Authentication Enhanced Subscriber Authentication (ESA) refers to 3rd generation authentication intended to replace CAVE-based authentication currently implemented by CDMA carriers. This new form of authentication is based on 3GPP Authentication and Key Agreement (AKA) for UMTS. MAP support for AKA in CDMA networks is defined by IS-945 with air interface support included in all releases following CDMA2000 Rev C. Note, however, that in order to facilitate interoperability and allow for phased introduction of AKA among various CDMA carriers, devices and networks that support AKA should also support legacy CAVE-based mechanisms. IS-945 also updates authentication capabilities (AUTHCAP) and system capabilities (SYSCAP) parameters to allow the visited and home systems to identify to one another which forms of authentication are supported by the home system’s roaming MS and the visited system’s MSC/VLR. The major advantages of AKA include stronger and bilateral authentication support. Stronger authentication is provided through the use of larger 128-bit authentication keys and stronger SHA-1 hash function. Bilateral authentication is provided via an authentication token passed to the MS during the AKA authentication challenge. The AKA challenge mechanism is similar to a CAVE-based unique challenge from the perspective of the network authenticating the MS. However, the addition of the authentication token provides the MS with information that enables it to authenticate the network before completing the challenge. This bilateral authentication capability prevents false base stations attacks that could disable voice privacy or compromise private identity information. 32 While they are beyond the scope of this paper, it is worth mentioning additional security features enabled by AKA that indicate the robust nature of AKA as a successor to CAVE. Following the bilateral entity authentication, AKA allows for the generation of new cipher and integrity keys (CK and IK, respectively). These 128-bit keys enable a security association between the MS and the serving MSC for supporting advanced security services such as signaling message data integrity, signaling information element encryption, and user data encryption. Also generated is a 128-bit UIM authentication key (UAK) that is used to protect against the threat of rogue mobile stations when dealing with UIMs. The MS and the home AC each generate these keys independently. Keys generated by the home AC are provided in authentication vectors to the visited network and are never transmitted over the air to or from the MS. 33 11.1 Authentication vectors (AVs) 22 23 24 25 26 27 28 29 30 31 34 35 36 37 A fundamental concept in AKA is the authentication vector (AV). An AV is essentially a group of information used for one AKA attempt. AVs are generated by the home AC and distributed to the visited network. Each AV contains all information required by the visited network to locally perform AKA with an AKA-enabled mobile station. To thwart replay CDG #138, Rev 0.34 February 12, 2016 45 CDMA Authentication 1 2 AKA-based Authentication attempts, each AV must be used for only one AKA attempt. In other words, each AKA attempt uses a different AV. The information contained in an AV is illustrated below. AV Authentication Vector RANDA XRES AUTN CK, IK, & UAK Random Challenge Number (128 bits) Expected Response (32, 64, or 128 bits) Network Authentication Token Cipher, Integrity, & UIM Authentication Keys (128 bits each) CON_SQN AMF MAC_A Concealed Sequence Number (48 bits) Authentication Management Field (16 bits) Message Authentication Code (64 bits) SQN Sequence Number (48 bits) AK Anonymity Key (48 bits) 3 4 Figure 11-1: Information contained in an authentication vector 5 12 Similar to a CAVE-based unique challenge when SSD is not shared, AKA challenges involve both the random challenge number and challenge response value being generated by the home system and provided to the visited system to enable local authentication. In CAVE, these values (RANDU and AUTHU) are provided to the visited system as separate parameters. In AKA these values (RANDA and XRES) are part of the AV provided to the visited system. During the AKA attempt, random challenge number (RANDA) and network authentication token (AUTN) information from the AV is provided to the MS by the visited network. More information about this process is provided later. 13 11.2 AKA authentication process 6 7 8 9 10 11 14 15 16 17 18 19 Similar to CAVE, AKA relies on an authentication key associated with the MS and available only to the MS and its home AC. In CAVE, this key is known as the authentication key (Akey). In AKA, the key is known as the master key (K). Also similar to CAVE, AKA involves a challenge process that allows the network to authenticate the MS. However, in AKA the information provided during this challenge also enables the MS to authenticate the network, providing for bilateral authentication. CDG #138, Rev 0.34 February 12, 2016 46 CDMA Authentication 1 2 3 AKA-based Authentication The diagram below provides a high-level graphical description of the AKA process. The purpose for this diagram is to show the concepts involved in AKA, not to identify specific message flow. Visited System Home HLR/AC Request AVs Distribution of AVs Store the AV list auth request (RANDA, AUTN) Generate AK Use AK to derive SQN from CON_SQN in AUTN Provide AV list Select an AV from the stored list to use with this auth attempt. Include the RANDA & AUTN values from this AV in the auth request sent to the MS. Generate XMAC_A Does XMAC_A = MAC_A received in AUTN? If not…auth reject If not…synch failure Is SQN fresh? Auth of network by the MS Failure report Generate RES Auth of MS by the network Include RES in auth response auth response (RES) Does RES = XRES in the AV? If not, failure report Compute CK, IK, & UAK keys Use CK, IK, & UAK keys from AV Security association established 4 5 Figure 11-2: Simplified conceptual flow of AKA authentication 6 In an attempt to simplify the overall AKA process, the diagram identifies four major phases. The grey dashed arrows (e.g. “If not, auth reject”), indicate failure scenarios in which the AKA attempt would not proceed and a failure report would be provided to the home system to indicate the reason for the failure. Otherwise, each phase assumes that the previous phase completed successfully. These phases include: 7 8 9 10 11 12 13 1. Distribution of AVs a. Authentication vectors (AVs) are generated by the home system and provided to the visited system in an AV list CDG #138, Rev 0.34 February 12, 2016 47 CDMA Authentication 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 AKA-based Authentication 2. Authentication of the network by the MS a. The message authentication code (MAC_A) received from the network is verified against the expected MAC_A (XMAC_A) generated by the MS b. The sequence number (SQN) received from the network is verified against the SQN locally maintained by the MS 3. Authentication of the MS by the network a. The authentication response (RES) received from the MS is verified against the expected RES (XRES) received from the home system in the network authentication token (AUTN) 4. Establishment of security association between MS and MSC a. Cipher key (CK), integrity key (IK), and UIM authentication key (UAK) are generated by the MS in such a way that they are identical to the ones provided to the visited network in the AV b. The security association between MS and MSC involves using these keys to support security services such as confidentiality and integrity With the exception of the last, each of these phases will be expanded upon in greater detail in the following sections. The last phase involves the establishment of a security association following bilateral authentication between MS and network. This last phase enables security features such as confidentiality and integrity that are beyond the scope of this paper. 24 While the example provided above involves the AKA being initiated by the visited network, it is worth noting that, as in the case of unique challenges in CAVE, AKA may also be initiated by the home system at any time. To initiate AKA, a home system would simply send an authentication directive (AUTHDIR) containing the AV to be used for the AKA attempt. Upon receiving the AV, the visited network would proceed with the AKA attempt as normal. 25 11.3 Distribution of authentication vectors 20 21 22 23 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Since an AV may only be used once, the visited network must obtain a new AV each time AKA is performed. With AKA potentially being performed on every system access attempt by the MS, the process of obtaining new AVs from the home network for each AKA would result in a significant signaling burden between visited and home systems. To prevent this inefficiency, AKA allows the home system to generate multiple AVs and distribute these AVs to the visited system using a single AV list parameter (AKAVL). The AVs in this list are ordered by sequence number. The number of AVs in the list is limited by an AV count parameter (AKAVC) provided by the visited system that indicates the maximum number of AVs the visited system is willing to accept at one time. Upon receiving the list of AVs from the home system, the visited system stores this list and simply selects a new AV from the list for each subsequent AKA attempt with the MS. Since each AKA attempt, whether successful or not, results in one AV being removed from the list, the visited network also maintains a minimum threshold of AVs. If the number of AVs in the list falls below this threshold, the visited network will request a new list from the home system. CDG #138, Rev 0.34 February 12, 2016 48 CDMA Authentication AKA-based Authentication Visited System Home HLR/AC Visited system doesn’t know if MS supports AKA so CAVE-based global challenge is used overhead message train AUTH=1, RAND system access AUTHR, RANDC, COUNT AUTHREQ AUTHR, RAND, COUNT, SYSCAP, AKAVC SYSCAP included to indicate AKA support by visited system. AKAVC used to indicate the max number of AVs expected authreq AKAVL If the MS supports AKA, a list of AVs is provided using AKAVL Visited system selects an AV from the received list and uses it to perform AKA auth auth request RANDA, AUTN 1 2 Figure 11-3: Distribution of AVs to the visited system 3 The example call flow above illustrates the distribution of an AV list to a visited network during an initial system access attempt. Because it is the initial system access attempt (e.g. registration), the visited system is unaware of the mobile station’s authentication capabilities. Since support for CAVE is assumed and AKA is unknown, the visited system initiates a CAVE-based global challenge to the MS and includes the MS response in an authentication request (AUTHREQ) to the home system. However, also included in this AUTHREQ are parameters to indicate that the visited system supports AKA and a request for AVs. 4 5 6 7 8 9 13 Since the home system is aware of the authentication capabilities of the MS, it may either process the CAVE-based global challenge response (AUTHR) or return an AV list to allow the visited system to use AKA. Returning an AV list implicitly indicates that the MS supports AKA. 14 11.4 Authentication of the network by the MS 10 11 12 15 16 17 18 19 20 21 Authentication of the network by the MS involves an explicit validation that the home AC is synchronized with the MS and an implicit validation that the AV information being used for this authentication was generated by a home AC provisioned with the same master key (K) as the MS. To ensure synchronization, a sequence number is provided by the network and compared against the sequence number maintained by the MS. To validate the authenticity of the message, a message authentication code (MAC_A) is provided by the network and compared against an expected MAC (XMAC_A) computed by the MS. CDG #138, Rev 0.34 February 12, 2016 49 CDMA Authentication AKA-based Authentication 1 11.4.1 Sequence number (SQN) 2 To protect the integrity of the sequence number (SQN), the network conceals the SQN using 48-bit anonymity key (AK). The result is the concealed SQN (CON_MS_SQN) which is provided to the MS in the network authentication token (AUTN). Because it is concealed, the SQN must be derived by the MS before it can validated. To derive the SQN from the CON_MS_SQN, the MS first generates an AK value using the f5 algorithm with inputs shown below. 3 4 5 6 7 K (128-bit) Provisioned in MS & AC. RANDA (128-bit) f5 AK (48-bit) Received in AV and sent to MS. 8 9 Figure 11-4: Generation of AK for AKA 10 13 Since the MS and home AC are provisioned with the same master key (K), the AK generated by the MS will be the same as the one used by the home AC to conceal the SQN. Once this AK has been generated, the MS derives the SQN from the CON_MS_SQN and compares this SQN to its own. 14 11.4.2 Synchronization failure (i.e. SQN mismatch) 15 If the SQN provided by the network does not match the one maintained by the MS, a synchronization problem exists between the network and the MS. In such a case, the MS will respond to the authentication request with an authentication resynchronize message (AURSYNM). To enable the network to resynchronize with the MS, the MS includes a concealed version of its own SQN (CON_MS_SQN) as shown below. In addition to the CON_MS_SQN, the MS also includes a message authentication code for resynchronization (MAC_S). The purpose of the MAC_S is to allow the network to validate the authenticity of the resynchronization request and prevent unauthorized devices from initiating resynchronization. 11 12 16 17 18 19 20 21 22 23 CDG #138, Rev 0.34 February 12, 2016 50 CDMA Authentication AKA-based Authentication Visited System Home HLR/AC auth request RANDA, AUTN auth resynchronize CON_MS_SQN, MAC_S MS determines that the SQN contained in the AUTN does not match its locally stored SQN and responds with an auth resynchronize message AKAREPORT AKARPT, RANDA, AUTS akareport AKAVL auth request RANDA, AUTN Failure report sent with an AKARPT value of “Synch Failure”. AUTS contains CON_MS_SQN & MAC_S values received from MS Home system uses AUTS info to synchronize with MS and provides a new list of AVs. Visited system reattempts AKA auth using AV from new list. 1 2 Figure 11-5: AKA synchronization failure (i.e. SQN mismatch) 3 Upon receiving an AURSYNM response from the MS, the visited system sends an AKA status report (AKAREPORT) to the home system with AKARPT set to “Synchronization Failure.” Also included in this report are the RANDA used during the AKA attempt and an AKA authentication token for resynchronization (AUTS) containing the CON_MS_SQN and MAC_S values received from the MS. 4 5 6 7 8 9 10 11 The home system uses the MAC_S to ensure that the resynchronization attempt is authentic and sets its SQN to the one concealed in the CON_MS_SQN. With the new SQN, the home system then generates a new AV list and provides this new AV list to the visited network in the AKAREPORT response message (akareport). 13 Now that the home system has resynchronized and provided a new list of AVs, the visited system selects an AV from the new list and reattempts AKA with the MS. 14 11.4.3 Message authentication code (MAC_A) 15 The message authentication code (MAC_A) enables the MS to authenticate the network. Using the f1 algorithm with inputs shown below, the MS generates an expected MAC_A (XMAC_A) value to compare to the one provided by the network in the AUTN. 12 16 17 CDG #138, Rev 0.34 February 12, 2016 51 CDMA Authentication AKA-based Authentication K (128-bit) Provisioned in MS & AC. RANDA (128-bit) Received in AV and sent to MS. SQN (48-bit) Derived from CON_SQN, which is part of AUTN received in AV and sent to MS f1 MS: XMAC_A AC: MAC_A (64-bit) AMF (16-bit) Part of AUTN received in AV and sent to MS. 1 2 Figure 11-6: Generation of (X)MAC_A for AKA 3 6 The XMAC_A generated by the MS will only match the MAC_A received from the network if the master key (K) provisioned in the home AC is the same as the one provisioned in the MS. Therefore, by comparing XMAC_A with MAC_A, the MS can ensure that the AV being used for this AKA was generated by its authentic home AC. 7 11.4.4 AKA rejection by the MS (i.e. MAC_A mismatch) 8 If the MAC_A received from the network in the AUTN does not match the XMAC_A value generated by the MS, the MS will reject the authentication request as shown below. 4 5 9 Visited System Home HLR/AC auth request RANDA, AUTN auth reject MS determines that the MAC_A contained in the AUTN does not match the XMAC_A value generated based on its master key and received RANDA & AUTH inputs AKAREPORT AKARPT Failure report sent with an AKARPT value of “Reject”. akareport 10 11 Figure 11-7: AKA rejection by the MS (i.e. MAC_A mismatch) 12 Upon receiving an authentication reject from the MS, the visited system sends an AKA status report (AKAREPORT) to the home system with an AKARPT set to “Reject.” Beyond acknowledging the AKAREPORT with a return response (akareport), no further action is taken by the home system. 13 14 15 CDG #138, Rev 0.34 February 12, 2016 52 CDMA Authentication 1 AKA-based Authentication 11.5 Authentication of the MS by the network 5 Authentication of the MS by the network in AKA is similar to a unique challenge without shared SSD in CAVE. In both cases, the home system generates both the random challenge value that is sent to the MS and the response value that is expected from the MS. In AKA these values are the RANDA and XRES, respectively. 6 11.5.1 Authentication response (RES) 7 The f2 algorithm with inputs shown below is used by the MS to generate the response (RES) value and by the home AC to generate the XRES value. 2 3 4 8 K (128-bit) Provisioned in MS & AC. RANDA (128-bit) f2 MS: RES AC: XRES (32-128 bit) Received in AV and sent to MS. 9 10 Figure 11-8: Generation of (X)RES for AKA 11 13 If the RES value returned by the MS matches the XRES value contained in the AV being used for the AKA attempt, the network is assured that the master key provisioned in the MS matches the one provisioned in its home AC. 14 11.5.2 AKA authentication failure (i.e. RES mismatch) 15 If the RES and XRES values do not match, the MS fails authentication and the visited system sends an AKA status report (AKAREPORT) to the home system with an AKARPT value set to “Response Failure” as shown below. 12 16 17 CDG #138, Rev 0.34 February 12, 2016 53 CDMA Authentication AKA-based Authentication Visited System Home HLR/AC auth request RANDA, AUTN auth response RES AKAREPORT AKARPT RES from MS does not match XRES in AV. Failure report sent with an AKAPRT value of “Response Failure.” akareport AUTHDEN, DENAUTHPER Home system responds with AUTHDEN set to “MS is not authorized” and the interval required before re-authorization specified in DENAUTHPER 1 2 Figure 11-9: AKA response failure (i.e. RES mismatch) 3 Upon receiving the AKAREPORT indicating response failure, the home system responds with an authentication denied (AUTHDEN) parameter set to “MS is not authorized” and a deny authentication period (DENAUTHPER) parameter set to the time interval that the visited network should wait before attempting re-authorization with the MS. 4 5 6 7 CDG #138, Rev 0.34 February 12, 2016 54 CDMA Authentication References 12. References 1 [1] 3GPP2 C.S0004-D (IS-2000.4-D); Signaling Link Access Control (LAC) Standard for cdma2000 Spread Spectrum Systems; v1.0; February 2004 [2] 3GPP2 C.S0005-D (IS-2000.5-D); Upper Layer (Layer 3) Signaling Standard for cdma2000 Spread Spectrum Systems; v1.0; February 2004 [3] 3GPP2 C.S0016-B (TIA-683-C); Over the Air Service Provisioning of Mobile Stations in Spread Spectrum Systems; v1.0; March 2003 [4] 3GPP2 N.S0005-0 (TIA-41-D); Cellular Radiotelecommunications Intersystem Operations; v1.0; December 1998 10 [5] 3GPP2 N.S0011-0 (IS-725-A); OTASP and OTAPA; January 1999 11 [6] 3GPP2 N.S0014-0 (IS-778); Authentication Enhancements; v1.0; January 1999 12 [7] 3GPP2 X.S0004-xxx-E (TIA-41-E); Wireless Radiotelecommunications Intersystem Operations series of recommendations where xxx indicates document number: 2 3 4 5 6 7 8 9 13 14 000; Introduction to MAP; v3.0; October 2005 15 540; MAP Operations Signaling Protocols; v1.0.0; March 2004 16 550; MAP Parameters Signaling Protocols; v1.0.0; March 2004 17 640; Intersystem Procedures; v1.0; July, 2005 18 691; Annexes; v2.0; September 2005 19 20 [8] 3GPP2 X.S0006-0 (TIA-945); MAP Support of Authentication and Key Agreement (AKA); v1.0; October 2005. 21 CDG #138, Rev 0.34 February 12, 2016 55 CDMA Authentication Terminology 13. Terminology 1 AC Authentication Center. Contains cryptographic information used in validating the authenticity of mobile stations. The AC may be contained within the HLR or a separate entity that communicates with the HLR via TIA-41. AKA Authentication and Key Agreement. The 3rd generation authentication mechanism intended to replace CAVE. AKA for CDMA architecture was adapted from 3GPP2 UMTS AKA. A-Key Authentication Key. A 64-bit secret key used in CAVE authentication. The A-key is associated with a mobile station (MS) and provisioned only in the MS and its associated authentication center. The A-key is never shared over the air or with a visited network. AV Authentication Vector. A set of data provided by an authentication center to a visited network to allow the visited network to perform AKA with a mobile station. CAVE Cellular Authentication and Voice Encryption. The 2nd generation authentication mechanism currently in use by CDMA carriers. CK Cipher Key. A 128-bit key used in AKA to support data confidentiality (i.e. encryption). CSC Customer Service Center. An entity where carrier representatives receive calls from customers wishing to subscribe to new service or request changes in existing service. The CSC interfaces with the OTAF to perform network and MS related changes necessary to complete service provisioning requests. ESA Enhanced subscriber authentication. The general name for CDMA 3rd generation authentication. AKA was selected to implement ESA. References to CDMA 3rd generation authentication typically use the term AKA rather than ESA. CDG #138, Rev 0.34 February 12, 2016 57 CDMA Authentication Terminology ESN Electronic Serial Number. A unique number embedded in a wireless phone unit by the manufacturer that is used to identify a mobile station for billing and fraud control purposes. According to the Federal Communications Commission, the ESN is to be fixed and unchangeable, a unique fingerprint for each phone. The ESN is used in conjunction with the MIN to create a unique identifier for a user. HLR Home Location Register. An SS7 entity with a database containing information on the current location and validation status of a carrier’s subscribers. To support roaming, the HLR communicates via TIA-41 with VLRs in visited networks. To support authentication, the HLR may either communicate via TIA-41 with the authentication center or simply incorporate authentication center functionality. IK Integrity key. 128-bit key used in AKA to support data integrity. K Master Key. 128-bit authentication key used in AKA. Comparable to the A-key in CAVE, K is associated with a mobile station and provisioned only in the MS and its associated authentication center. K is never shared over the air or with a visited network. IMSI International Mobile Subscriber Identity. A string of decimal digits, up to 15 digits, that identifies a unique mobile terminal or mobile subscriber internationally. The IMSI consists of three fields: the mobile country code, the mobile network code, and a mobile subscriber identification number. IMSI_S 34-bit value that corresponds to the last 10 digits of the IMSI. IMSI_S1 24-bit value that corresponds to the last 7 digits of the IMSI_S. IS-2000 cdma2000 Standards for Spread Spectrum Systems series of recommendations. MIN Mobile Identification Number. A 10-digit number assigned by the carrier to a mobile station and used with the ESN to uniquely identify a mobile station on the network. Unlike the ESN, the MIN is changeable. MS Mobile Station. Term used to describe the mobile phone. MSIN Mobile Station Identification Number. Nine- to eleven-digit part of the IMSI that identifies an individual handset on a network within a country. CDG #138, Rev 0.34 February 12, 2016 58 CDMA Authentication Terminology NAM Number Assignment Module. A set of operational parameters that include mobile directory number, access overload class, IMSI, and SID/NID pair. NAM parameters are updated when activating a new service or changing an existing one. OTAF Over-The-Air Function. An entity that interfaces with the CSC to support service provisioning activities and the MSC to send MS orders necessary to complete service provisioning requests. The OTAF is often part of the HLR or MC. OTAPA Over-the-Air Parameter Administration. Over-the-air provisioning initiated by the network. OTASP Over-the-Air Service Provisioning. Over-the-air provisioning initiated by the user entering an activation code. SSD Secret Shared Data. 128-bit sub-key used in CAVE. The SSD is comprised of two 64-bit keys: SSD_A and SSD_B. SSD may be shared with a visited system to enable local authentication. SSD_A 64-bit portion of the SSD used for creating authentication signatures. SSD_B 64-bit portion of the SSD used for generating keys to encrypt voice and signaling messages. TIA-41 Wireless Radiotelecommunications Intersystem Operations series of recommendations. UAK UIM Authentication Key. 128-bit key used in AKA to prevent a rogue mobile station that uses subscription and security information obtained from the R-UIM when the R-UIM is not present in the mobile station. VLR Visitor Location Register. The switch database containing information on the current location and validation status of other carrier's subscribers who are roaming in the carrier’s home market. The VLR communicates via TIA-41 with the HLR’s in these roamers’ home systems. The VLR is often incorporated in the MSC but may also a separate entity communicating via TIA-41 with the MSC. 1 CDG #138, Rev 0.34 February 12, 2016 59 CDMA Authentication 1 TIA-41-D Authentication Reference 14. TIA-41-D Authentication Reference 2 14.1 TIA-41-D new relevant operations 3 14.1.1 AuthenticationDirective (AUTHDIR) 4 5 The AuthenticationDirective operation is used to request modification of an MS’s authentication parameters. Invoke Parameters Return Result Parameters ElectronicSerialNumber MobileIdentificationNumber AuthenticationAlgorithmVersion AuthenticationResponseUniqueChallenge CallHistoryCount DenyAccess LocationAreaID RandomVariableSSD RandomVariableUniqueChallenge SenderIdentificationNumber SharedSecretData SSDNotShared UpdateCount M M M O O O O O O O O O O CallHistoryCount O 6 14.1.2 AuthenticationDirectiveForward (AUTHDIRFWD) 7 The AuthenticationDirectiveForward operation is sent from the Anchor MSC toward the Serving MSC to request the initiation of a Unique Challenge to the indicated MS. This message can be relayed through the Tandem MSC(s). 8 9 Invoke Parameters Return Result Parameters InterMSCCircuitID MobileIdentificationNumber AuthenticationResponseUniqueChallenge RandomVariableUniqueChallenge M M O O UniqueChallengeReport M 10 14.1.3 AuthenticationFailureReport (AFREPORT) 11 The AuthenticationFailureReport operation is used to report on the failure of an autonomously initiated authentication operation for an MS. 12 Invoke Parameters ElectronicSerialNumber MobileIdentificationNumber ReportType SystemAccessType SystemCapabilities (Serving) CallHistoryCount CallHistoryCountExpected MSCID (Serving MSC) ReportType SenderIdentificationNumber CDG #138, Rev 0.34 Return Result Parameters M M M M M O O O O O AuthenticationAlgorithmVersion AuthenticationResponseUniqueChallenge CallHistoryCount DenyAccess RandomVariableSSD RandomVariableUniqueChallenge SharedSecretData SSDNotShared TerminalType UpdateCount February 12, 2016 O O O O O O O O O O 61 CDMA Authentication TIA-41-D Authentication Reference 1 14.1.4 AuthenticationRequest (AUTHREQ) 2 Used to request authentication of an authentication-capable MS. Invoke Parameters Return Result Parameters ElectronicSerialNumber MobileIdentificationNumber MSCID (Serving MSC) SystemAccessType SystemCapabilities (Serving) AuthenticationData AuthenticationResponse CallHistoryCount ConfidentialityModes (Actual) Digits (Dialed) PC_SSN (Serving MSC or VLR or HLR) RandomVariable SenderIdentificationNumber TerminalType M M M M M O O O O O O O O O AuthenticationAlgorithmVersion AuthenticationResponseUniqueChallenge CallHistoryCount CDMAPrivateLongCodeMask DenyAccess RandomVariableSSD RandomVariableUniqueChallenge SharedSecretData SignalingMessageEncryptionKey SSDNotShared UpdateCount VoicePrivacyMask O O O O O O O O O O O O 3 14.1.5 AuthenticationStatusReport (ASREPORT) 4 Used to report on the outcome of an authentication operation initiated by the AC or VLR if SSD is shared. 5 Invoke Parameters Return Result Parameters ElectronicSerialNumber MobileIdentificationNumber SystemCapabilities (Serving) CountUpdateReport SenderIdentificationNumber SSDUpdateReport UniqueChallengeReport M M M O O O O AuthenticationAlgorithmVersion AuthenticationResponseUniqueChallenge CallHistoryCount DenyAccess RandomVariableSSD RandomVariableUniqueChallenge SharedSecretData SSDNotShared UpdateCount 6 14.1.6 BaseStationChallenge (BSCHALL) 7 Used to request a response to a Base Station Challenge Order received from an MS. Invoke Parameters ElectronicSerialNumber MobileIdentificationNumber RandomVariableBaseStation SenderIdentificationNumber Return Result Parameters M M M O AuthenticationResponseBaseStation 8 14.1.7 CountRequest (COUNTREQ) 9 Used to obtain the current value of the COUNT parameter. Invoke Parameters ElectronicSerialNumber MobileIdentificationNumber SenderIdentificationNumber CDG #138, Rev 0.34 O O O O O O O O O M Return Result Parameters M M O CallHistoryCount February 12, 2016 M 62 CDMA Authentication TIA-41-D Authentication Reference 1 14.1.8 RandomVariableRequest (RANDREQ) 2 The RandomVariableRequest operation is used by the Serving MSC to request the value of RAND from a Border MSC corresponding to the RANDC received from an MS. This operation may be used if the value of RANDC received from an MS corresponds to a RAND value that may be transmitted by a Border MSC which is transmitting the same SID as the Serving MSC. 3 4 5 6 Invoke Parameters Return Result Parameters MSCID (Serving MSC) RANDC ServingCellID M M M RandomVariable RANDValidTime O O 7 14.2 TIA-41-D new relevant parameters 8 14.2.1 AuthenticationAlgorithmVersion (AAV) 9 11 May be sent with messages that also contain the SSD parameter to indicate the version (0 through 255) of CAVE algorithm that was used to calculate the SSD. If this parameter is not received, the default value of 199 is used. 12 14.2.2 AuthenticationCapability (AUTHCAP) 13 Sent from the HLR to the serving MSC to indicate whether or not authentication is required for the mobile. 10 14 Authentication Capability No authentication required. Authentication required. 15 14.2.3 AuthenticationData (AUTHDATA) 16 17 Contains the 24-bit authentication data used as input to CAVE for call origination. AUTHDATA is derived from the information sent by the MS (e.g. last six dialed digits). 18 14.2.4 AuthenticationResponse (AUTHR) 19 21 Contains the 18-bit authentication response generated by an MS when accessing the system (e.g., call origination, page response or autonomous registration). It is computed by CAVE using the SSD of the MS and the RAND chosen by the visited MSC. 22 14.2.5 AuthenticationResponseBaseStation (AUTHBS) 23 24 Contains the 18-bit response to a Base Station Challenge Order, computed by CAVE using the new SSD of the MS and the RANDBS chosen by the MS. 25 14.2.6 AuthenticationResponseUniqueChallenge (AUTHU) 20 26 27 Contains the MS’s 18-bit response to a Unique Challenge Order, computed by CAVE using the SSD of the MS and the RANDU. CDG #138, Rev 0.34 February 12, 2016 63 CDMA Authentication TIA-41-D Authentication Reference 1 14.2.7 CallHistoryCount (COUNT) 2 7 Contains a 6-bit, modulo 64 (i.e. increments from 0 to 63 and wraps back around to 0), event counter used for clone detection. It is maintained by the MS and AC (and serving VLR if shared with the serving system). The events that result in incrementing the counter are defined by local administrative procedures at the AC (and at the VLR if shared with the serving system) and may include initial registration in a new serving MSC, call origination, page response, or periodically. 8 14.2.8 CallHistoryCountExpected (COUNTEx) 9 10 Contains a modulo 64 event counter which was expected from the MS. The value received from the MS is sent in the COUNT parameter. 11 14.2.9 CountUpdateReport (COUNTRPT) 12 Indicates the outcome of the COUNT Update initiated by the AC or the VLR using. 3 4 5 6 COUNT Update Report COUNT Update not attempted. COUNT Update no response. COUNT Update successful. 13 14.2.10 DenyAccess (DENACC) 14 Sent by the home AC to indicate that MS is invalid. This parameter includes a field to indicate why the access is being denied as shown below: 15 DenyAccess Reason Unspecified. SSD Update failure. COUNT Update failure. Unique Challenge failure. AUTHR mismatch. COUNT mismatch. Process collision. Missing authentication parameters. TerminalType mismatch. MIN or ESN authorization failure. 16 14.2.11 RANDC 17 19 Indicates which Random Variable was used by an MS to compute AUTHR. Values of the RANDC may be coordinated between systems so that the RANDC also indicates which MSC generated the random number variable. 20 14.2.12 RandomVariable (RAND) 21 Contains a 32-bit random number that is used as input to the CAVE algorithm for MS authentication, Signaling Message Encryption, and digital channel Voice Privacy. The random number is chosen by the Serving MSC. 18 22 23 CDG #138, Rev 0.34 February 12, 2016 64 CDMA Authentication TIA-41-D Authentication Reference 1 14.2.13 RandomVariableBaseStation (RANDBS) 2 4 Contains a 32-bit random number that is used as input to the CAVE authentication algorithm for base station authentication. The random number is chosen independently by the MS during the process to update its SSD. 5 14.2.14 RandomVariableSSD (RANDSSD) 6 8 Contains a 56-bit random number that is used as input to the CAVE algorithm for generating Shared Secret Data (SSD-A and SSD-B). The random number is chosen independently by the AC during the process to update the MS’s SSD. 9 14.2.15 RandomVariableUniqueChallenge (RANDU) 3 7 13 Contains a 24-bit random number that is used as input to the CAVE algorithm for authenticating a specific MS. The random number is chosen independently by the AC or VLR whenever a unique challenge is prescribed by local AC or VLR authentication procedures. 14 14.2.16 RANDValidTime (RANDVT) 15 Used to specify the period in minutes for which a received RAND is valid. 16 14.2.17 ReportType (RPTTYP) 17 Indicates the type of authentication failure being reported by the Visited System (MSC or VLR) to the AC. 10 11 12 18 Report Type Unspecified security violation. MIN/ESN mismatch. RANDC mismatch. SSD Update failed. COUNT mismatch. Unique Challenge failed. Unsolicited Base Station Challenge. SSD Update no response. COUNT Update no response. Unique Challenge no response. AUTHR mismatch. TERMTYP mismatch. Missing authentication parameters. 19 14.2.18 SharedSecretData (SSD) 20 Contains the 64-bit SharedSecretData-A (SSD-A) used in authentication of an MS and 64-bit SharedSecretData-B (SSD-B) used as a cryptovariable in Voice Privacy and Signaling Message Encryption for an MS. SSD is computed only at the AC and at the MS since it is based on the secret subscriber A-Key shared only between the AC and MS. 21 22 23 CDG #138, Rev 0.34 February 12, 2016 65 CDMA Authentication TIA-41-D Authentication Reference 1 14.2.19 SSDNotShared (NOSSD) 2 3 Used by the home system to indicate that the previously provided SSD is no longer valid and should be discarded. 4 14.2.20 SSDUpdateReport (SSDURPT) 5 Indicates the outcome of the SSD Update initiated by the AC using one of the following values: not attempted, no response, successful, or failed. 6 SSD Update Report SSD Update not attempted. SSD Update no response. SSD Update successful. SSD Update failed. 7 14.2.21 SystemCapabilities (SYSCAP) 8 Sent from the serving MSC to the home AC to indicate the authentication, encryption, and voice privacy capabilities of the serving system. 9 Field Name Values AUTH Auth parameters were not requested on this system access (AUTH=0 in the OMT). Auth parameters were requested on this system access (AUTH=1 in the OMT). Signaling message encryption not supported by the system. Signaling message encryption supported by the system. Voice privacy not supported by the system. Voice privacy supported by the system. System cannot execute CAVE algorithm and cannot share SSD for the indicated MS. System can execute CAVE algorithm and share SSD for the indicated MS. SSD is not shared with the system for the indicated MS. SSD is shared with the system for the indicated MS. SE VP CAVE SSD 10 14.2.22 UniqueChallengeReport (UCHALRPT) 11 12 Indicates the outcome of the Unique Challenge initiated by the AC or the VLR using one of the following values: not attempted, no response, successful, or failed. 13 14.2.23 UpdateCount (UPDCOUNT) 14 Used to initiate the CallHistoryCount (COUNT) update procedure. CDG #138, Rev 0.34 February 12, 2016 66 CDMA Authentication 1 2 3 4 5 6 7 8 9 10 11 12 13 TIA-41-E Authentication Reference 15. TIA-41-E Authentication Reference 15.1 TIA-41-E updates to existing relevant operations Parameters that have been added to an operation in release E are shown in red and followed by an asterisk (*). Note that these parameters may not be new to release E, simply new to the operation as defined in release D; for example, because release E supports the RoutingDigits parameter in the AUTHREQ Return Result (authreq) operation, this parameter is shown as RoutingDigits*. While RoutingDigits is not new to release E, support for it in this operation is new. Likewise, parameters that have been removed from an operation in release E are shown in strikethrough grey. 15.1.1 AuthenticationDirective (AUTHDIR) The AuthenticationDirective operation is used to request modification of an MS’s authentication parameters. It is also used to transport encryption parameters to the Serving MSC for CDMA OTASP, TDMA OTASP and CDMA OTAPA. Invoke Parameters Return Result Parameters Unchanged, existing parms not shown MobileIdentificationNumber MSID* AuthenticationAlgorithmVersion AuthenticationResponseReauthentication* CarrierDigits* CaveKey* CDMAPrivateLongCodeMask* DestinationDigits* MobileStationMIN* MSCID* RandomVariableReauthentication* RoutingDigits* ServiceIndicator* SignalingMessageEncryptionKey* VoicePrivacyMask* … M MO O O O O O O O O O O O O Unchanged, existing parms not shown … 14 15.1.2 AuthenticationDirectiveForward (AUTHDIRFWD) 15 The AuthenticationDirectiveForward operation is sent from the Anchor MSC toward the Serving MSC to request initiation of one or more authentication processes for the indicated MS. This operation can be relayed through the Tandem MSC(s). 16 17 Invoke Parameters Unchanged, existing parms not shown MobileIdentificationNumber UpdateCount* IMSI* CDG #138, Rev 0.34 Return Result Parameters … MO O O Unchanged, existing parms not shown UniqueChallengeReport CountUpdateReport* February 12, 2016 … MO O 67 CDMA Authentication TIA-41-E Authentication Reference 1 15.1.3 AuthenticationFailureReport (AFREPORT) 2 The AuthenticationFailureReport operation is used to report on the failure of an autonomously initiated authentication operation for an MS. 3 Invoke Parameters Return Result Parameters … M O O Unchanged, existing parms not shown MobileIdentificationNumber MSID* ReportType TerminalType* Unchanged, existing parms not shown CarrierDigits* DestinationDigits* MobileIdentificationNumber* RoutingDigits* 4 15.1.4 AuthenticationRequest (AUTHREQ) 5 Used to request authentication of an authentication-capable MS. Invoke Parameters … O O O O Return Result Parameters Unchanged, existing parms not shown MobileIdentificationNumber MSID* CDMANetworkIdentification* (Serving MSC) ControlChannelMode* ServiceRedirectionCause* SuspiciousAccess* TransactionCapability* … M O O O O O Unchanged, existing parms not shown AnalogRedirectRecord* CarrierDigits* CaveKey* CDMARedirectRecord* DataKey* DestinationDigits* MobileIdentificationNumber* RoamingIndication* RoutingDigits* ServiceRedirectionInfo* … O O O O O O O O O O 6 15.1.5 AuthenticationStatusReport (ASREPORT) 7 Used to report on the outcome of an authentication operation initiated by the AC or VLR if SSD is shared. 8 Invoke Parameters Return Result Parameters … M O O O O O O Unchanged, existing parms not shown MobileIdentificationNumber MSID* EnhancedPrivacyEncryptionReport* MSCID* (Serving) ReauthenticationReport* ServiceIndicator* SignalingMessageEncryptionReport* VoicePrivacyReport* 9 10 Unchanged, existing parms not shown CarrierDigits* DestinationDigits* MobileIdentificationNumber* RoutingDigits* … O O O O 15.1.6 BaseStationChallenge (BSCHALL) Used to request a response to a Base Station Challenge Order received from an MS. Invoke Parameters Unchanged, existing parms not shown MobileIdentificationNumber MSID* ServiceIndicator* CDG #138, Rev 0.34 Return Result Parameters … M O Unchanged, existing parms not shown February 12, 2016 … 68 CDMA Authentication TIA-41-E Authentication Reference 1 15.1.7 CountRequest (COUNTREQ) 2 Used to obtain the current value of the COUNT parameter. Invoke Parameters Unchanged, existing parms not shown MobileIdentificationNumber MSID* Return Result Parameters … M Unchanged, existing parms not shown … 3 15.1.8 RandomVariableRequest (RANDREQ) 4 Used by the Serving MSC to request the value of RAND from a Border MSC corresponding to the RANDC received from an MS. This operation may be used if the value of RANDC received from an MS corresponds to a RAND value that may be transmitted by a Border MSC which is transmitting the same SID as the Serving MSC. 5 6 7 Invoke Parameters Unchanged, existing parms not shown Return Result Parameters … Unchanged, existing parms not shown RandomVariable RANDValidTime … OM OM 8 15.1.9 SMSDeliveryPointToPoint (SMDPP) 9 General purpose operation used to convey a short message or in general any other information or encapsulated data from one point to another point and report on the success or failure of that transfer (for example, as used in SMS and CDMA OTASP). 10 11 Invoke Parameters Unchanged, existing parms not shown ActionCode* MobileIdentificationNumber MSID* NewlyAssignedMIN* NewlyAssignedIMSI* ServiceIndicator* TemporaryReferenceNumber* Return Result Parameters … O M O O O O Unchanged, existing parms not shown AuthorizationDenied* DenyAccess* ElectronicSerialNumber* MobileStationMIN MobileStationMSID* MSCID* SystemCapabilities* … O O O O O O 12 15.2 TIA-41-E new relevant operations 13 15.2.1 OTASPRequest (OTASPREQ) 14 Used by the OTAF to request the initiation of certain AC procedures (such as A-key Generation, SSD Update, and Commit/Release of a temporary A-key, etc.), and to also return certain parameters. 15 16 Invoke Parameters ActionCode AKeyProtocolVersion AuthenticationData AuthenticationResponse CallHistoryCount ElectronicSerialNumber MSID MobileStationMSID MobileStationPartialKey CDG #138, Rev 0.34 O O O O O O O O O Return Result Parameters AKeyProtocolVersion AuthenticationResponseBaseStation BaseStationPartialKey DenyAccess EnhancedPrivacyEncryptionReport ModulusValue OTASP_ResultCode PrimitiveValue SignalingMessageEncryptionReport February 12, 2016 O O O O O O O O O 69 CDMA Authentication TIA-41-E Authentication Reference MSCID (Serving MSC) NewlyAssignedMSID PC_SSN RandomVariable RandomVariableBaseStation ServiceIndicator SystemCapabilities TerminalType O O O O O O O O SSDUpdateReport UniqueChallengeReport VoicePrivacyReport O O O 1 15.3 TIA-41-E updates to existing relevant parameters 2 15.3.1 ActionCode (ACTCODE) 3 Specifies the nature of the action to be performed by the designated functional entity. New fields added. 4 Values Existing values not shown… Attach MSC to OTAF. Initiate RegistrationNotification. Generate Public Encryption values. Generate A-key. Perform SSD Update procedure. Perform re-authentication procedure. Release TRN. Commit A-key. Release Resources (e.g., A-key, Traffic Channel). Record NEWMSID. Allocate Resources (e.g., Multiple message traffic channel delivery). Generate Authentication Signature. 5 6 15.3.2 SystemCapabilities (SYSCAP) 7 New fields added. Field Name Values … DP* Existing fields not shown… Data privacy is not supported by the system. Data privacy is supported by the system. TDMA enhanced privacy and encryption is not supported by the system. TDMA enhanced privacy and encryption is supported by the system. T-EPE* CDG #138, Rev 0.34 February 12, 2016 70 CDMA Authentication TIA-41-E Authentication Reference 1 15.4 TIA-41-E new relevant parameters 2 15.4.1 AKeyProtocolVersion (AKEYPV) 3 Used to send A-Key Generation Procedure protocol version(s) supported by the MS or selected by the AC. 4 A-Key Generation Procedure Protocol Version A-Key Generation not supported. Diffie Hellman with 768-bit modulus, 160-bit primitive, and 160-bit exponents. Diffie Hellman with 512-bit modulus, 160-bit primitive, and 160-bit exponents. Diffie Hellman with 768-bit modulus, 32-bit primitive, and 160-bit exponents. 5 15.4.2 AuthenticationResponseReauthentication (AUTHRA) 6 8 Contains the 18-bit authentication response generated by an MS for reauthentication. It is computed by the Auth_Signature procedure using the SSD of the MS and a RANDRA chosen by the AC. 9 15.4.3 BaseStationPartialKey (BSKEY) 7 10 Used to send the Base Station partial key value for the A-Key Generation procedure. 11 15.4.4 MobileStationPartialKey (MSKEY) 12 Used to send the MS partial key value for the A-Key Generation procedure. 13 15.4.5 OTASP_ResultCode (OTASPRC) 14 Used to specify the result of an OTASP related AC procedure. Result Code Accepted. Rejected. Computation Failure – e.g. unable to compute A-key. CSC Rejected – CSC challenge failure. Unrecognized OTASPCallEntry. Unsupported AKeyProtocolVersion(s). Unable to Commit. 15 15.4.6 RandomVariableReauthentication (RANDRA) 16 17 Contains the 32-bit random number that is used as input to the Auth_Signature algorithm for MS Reauthentication. The random number is chosen by the AC. 18 15.4.7 ReauthenticationReport (RARPT) 19 Indicates the outcome of the Reauthentication procedure initiated by the AC. Reauthentication Report Reauthentication not attempted. Reauthentication no response. CDG #138, Rev 0.34 February 12, 2016 71 CDMA Authentication TIA-41-E Authentication Reference Reauthentication successful. Reauthentication failed. 1 15.4.8 SuspiciousAccess (SUSACC) 2 Indicates the received dialed digits are anomalous or that an access is possibly fraudulent. Suspicious Access Anomalous Digits (the dialed digits may contain extraneous digits). Unspecified (access regarded as suspicious for a reason other than receipt of extraneous dialed digits). CDG #138, Rev 0.34 February 12, 2016 72 CDMA Authentication 1 TIA-945 Authentication Reference 16. TIA-945 Authentication Reference 3 TIA-945 builds upon TIA-41-E recommendations to introduce MAP support of Authentication and Key Agreement (AKA). 4 16.1 TIA-945 updates to existing authentication operations 5 16.1.1 AuthenticationRequest (AUTHREQ) 6 Parameters added. 2 Invoke Parameters Existing parameters not shown… AKA_VectorCount* Return Result Parameters … O 7 16.1.2 RegistrationNotification (REGNOT) 8 Parameter added. Invoke Parameters Existing parameters not shown… AKA_Report* 9 Existing parameters not shown… AKA_AuthenticationVector* AKA_AuthenticationVectorList* … O O Return Result Parameters … O Existing parameters not shown… … 16.2 TIA-945 new authentication operations 10 16.2.1 AKADirective (AKADIR) 11 Used to establish a new security association or revoke the MS’s current security association. Invoke Parameters MSID AKA_AuthenticationVector Return Result Parameters M O 12 16.2.2 AKARequest (AKAREQ) 13 Used to request new authentication vectors when the ability of the MS, the serving system, and the home system to perform AKA has been established. 14 Invoke Parameters MSID MSCID (Serving MSC) SystemAccessType SystemCapabilities (Serving) AKA_VectorCount AUTS RANDA CDG #138, Rev 0.34 Return Result Parameters M M M M O O O AKA_AuthenticationVector AKA_AuthenticationVectorList AuthorizationDenied DeniedAuthorizationPeriod February 12, 2016 O O O O 73 CDMA Authentication TIA-945 Authentication Reference 1 16.2.3 AKAStatusReport (AKAREPORT) 2 Used to report on the outcome of an authentication operation initiated by the HLR or VLR. Invoke Parameters Return Result Parameters MSID MSCID (Serving MSC) SystemCapabilities (Serving) AKA_Report AKA_VectorCount AUTS RANDA M M M M O O O AKA_AuthenticationVector AKA_AuthenticationVectorList AuthorizationDenied DeniedAuthorizationPeriod 3 16.3 TIA-945 updates to existing authentication parameters 4 16.3.1 AuthenticationCapability (AUTHCAP) 5 Values expanded to distinguish between CAVE and AKA authentication. O O O O Authentication Capability No authentication required. Authentication required. CAVE authentication required* AKA authentication required. CAVE not supported for MS* Authentication required. CAVE or AKA authentication supported for MS* 6 16.3.2 SystemCapabilities (SYSCAP) 7 AKA field added. Field Name Values … AKA* Existing fields not shown… AKA is not supported* AKA is supported by the system* 8 16.4 IS-945 new authentication parameters 9 16.4.1 AKA_AuthenticationVector (AKAV) 10 Includes information required for one AKA authentication. AKA_AuthenticationVector Fields Cipher key (CK). Integrity key (IK). Random value (RANDA). Concealed sequence number (CON_SQN). Authentication management field (AMF). Message authentication code (MAC_A) Expected authentication response (XRES) UIM authentication key (UAK) - optional CDG #138, Rev 0.34 February 12, 2016 74 CDMA Authentication TIA-945 Authentication Reference 1 16.4.2 AKA_AuthenticationVectorList (AKAVL) 2 Used to specify one or more AKA authentication vectors. 3 16.4.3 AKA_Keys (AKAK) 4 Includes keys that may need to be passed between MSCs for some inter-system operations. AKA_Keys Fields Cipher key (CK). Integrity key (IK). UIM authentication key (UAK) - optional 5 16.4.4 AKA_Report 6 Used to report on the outcome of an AKA authentication operation. Field Name Values AKA code Success. The AKA operation was successful. Response Failure. A RES/XRES mismatch has been detected. Reject. The MS sent an authentication reject to the serving MSC. Loss of Radio Contact. The serving MSC lost radio contact with the MS being authenticated. REPF No repeated failure . A new authentication failure has been detected. Repeated failure. A repeated failure has occurred. 7 16.4.5 AKA_VectorCount 8 Used to request a number of AKA authentication vectors from the AC. The AC may return fewer than this, but not more. 9 10 16.4.6 AUTS 11 AKA authentication token for resynchronization. AUTS Fields Concealed MS sequence number (CON_MS_SQN). Message authentication code for resynchronization (MAC_S). 12 16.4.7 RANDA 13 Contains the 128-bit random challenge number used in an AKA authentication vector. 14 CDG #138, Rev 0.34 February 12, 2016 75