4.2.2.10 Correct Handling of Custom HTTP Header with PRINS Security |
Home → SEPP → 19.0.0 |
| 33517-h00 → 33517-i00  33517-j00 | |
| Test Name | TC_HANDLING_CUSTOM_HTTPHEADER_WITH_PRINS | |
| Threat Reference | TR 33.926 [4], clause G.2.x.b, Tampering of target API root |
|
| Requirement Name | Correct Handling of the Custom HTTP Header with PRINS Security |
|
| Requirement Reference | TS 29.500 [7], clause 6.1.4.3.4 |
|
| Requirement Description | The 3gpp-Sbi-Target-apiRoot header is not used between SEPPs if PRINS security is negotiated between the SEPPs. |
|
| Test Purpose | Verify that the SEPP under test correctly handle the 3gpp-Sbi-Target-apiRoot custom HTTP header received from a NF when PRINS security is negotiated with the peer SEPP in a remote PLMN. |
|
| Pre-Conditions |
|
|
| Execution Steps |
|
|
| Expected Results | The peer SEPP received the protected HTTP Request from the NF through the SEPP under test, in which the apiRoot in the request URI is the apiRoot of the target URI in the remote PLMN and no 3gpp-Sbi-Target-apiRoot header is present. |
|
| Expected Format of Evidence | Evidence suitable for the interface, e.g. screenshot containing the operational results. |
|
| PDFs | 4bfec0a376eafd1d40a04e5bb8dee606 | |
4.2.2.2 Correct handling of cryptographic material of peer SEPPs and IPX providers |
Home → SEPP → 19.0.0 |
| 33517-h00 → 33517-i00  33517-j00 | |
| Test Name | TC_CRYPT_MATERIAL_SEPP_IPX_SEPARATION | |
| Threat Reference | TR 33.926 [4], clause G.2.2.1, Misusing cryptographic material of peer SEPPs and IPX providers |
|
| Requirement Name | Correct handling of cryptographic material of peer SEPPs and IPX providers |
|
| Requirement Reference | TS 33.501 [3], clause 5.9.3.2 |
|
| Requirement Description | The SEPP is able to clearly differentiate between certificates used for authentication of peer SEPPs and certificates used for authentication of intermediates performing message modifications. |
|
| Test Purpose | Verify that the SEPP under test does not accept raw public keys/certificates by intermediate IPX-providers for N32-c TLS connection establishment. The opposite is to be ensured as well: The SEPP under test shall not accept N32-f JSON patches signed with raw public keys/certificates of peer SEPPs. |
|
| Pre-Conditions |
|
|
| Execution Steps | 1.1 Both SEPPs are configured for N32-f communication via the simulated IPX-system. 1.2 Both SEPPs establish a N32 connection with each other. The secondary SEPP provides the IPX-provider's public key/certificate to the SEPP under test as part of the IPX security information list via N32-c. 1.3 While the N32 connection from the previous step is still active, the tester attempts to establish an additional N32-c TLS connection using the IPX-providers private key. 1.4 Based on the internal log files, the tester validates how the SEPP under test handles the N32-c connection attempt. 2.1 Both SEPPs are configured for N32-f communication via the simulated IPX-system. 2.2 Both SEPPs establish a N32-c connection with each other. The secondary SEPP provides the IPX-provider's public key/certificate to the SEPP under test as part of the IPX security information list via N32-c. 2.3 The tester sends a N32-f message from the secondary SEPP via the IPX-system towards the SEPP under test. 2.4 The intermediate IPX-system appends an arbitrary JSON-(NULL-)patch to the N32-f message and signs it not with its own private key, but the private key of the secondary SEPP. The modified message is then forwarded to the SEPP under test. 2.5 Based on the internal log files, the tester validates how the received N32-f message is handled by the SEPP under test. |
|
| Expected Results |
|
|
| Expected Format of Evidence | Logs and the communication flow saved in a .pcap file. |
|
| PDFs | d0739fa77d173637ac219492750454bb | |
4.2.2.3 Connection-specific scope of cryptographic material by IPX-providers |
Home → SEPP → 19.0.0 |
| 33517-h00 33517-i00  33517-j00 | |
| Test Name | TC_CONNECTION_SPECIFIC_SCOPE_CRYPT_MATERIAL | |
| Threat Reference | TR 33.926 [4], clause G.2.2.2, Misusing cryptographic material beyond connection-specific scope |
|
| Requirement Name | Connection-specific scope of cryptographic material by IPX-providers |
|
| Requirement Reference | TBA |
|
| Requirement Description | Cryptographic material from IPX providers, i.e. raw public keys or certificates, used to authenticate N32-f message modifications is only valid for the N32 connection it is exchanged in. The SEPP under test shall not accept N32-f message modifications signed by IPX-providers other than the ones whose cryptographic material has been exchanged as part of the IPX security information list via the related N32-c connection. |
|
| Test Purpose | Verify that the SEPP to be tested does not use cryptographic material from IPX-providers other than the ones whose raw public key/certificate has been exchanged in the related N32-c connection to authenticate N32-f message modifications. |
|
| Pre-Conditions |
|
|
| Execution Steps |
|
|
| Expected Results |
|
|
| Expected Format of Evidence | Logs and the communication flow saved in a .pcap file. |
|
| PDFs | c43f59188dcd9df655f6aa283a89dee9 | |
4.2.2.4 Correct handling of serving PLMN ID mismatch |
Home → SEPP → 19.0.0 |
| 33517-h00 → 33517-i00  33517-j00 | |
| Test Name | TC_PLMN_ID_MISMATCH | |
| Threat Reference | TR 33.926 [4], clause G.2.3.1, Incorrect handling for PLMN ID mismatch |
|
| Requirement Name | Correct handling of serving PLMN ID mismatch |
|
| Requirement Reference | TS 33.501 [3], clause 13.2.4.7, and TS 33.501 [3], clause 13.4.1.2 |
|
| Requirement Description | The receiving SEPP verifies that the PLMN-ID contained in the incoming N32-f message matches the PLMN-ID in the related N32-f context as specified in TS 33.501 [3], clause 13.2.4.7. The pSEPP checks that the serving PLMN ID of subject claim in the access token matches the remote PLMN ID corresponding to the N32-f context Id in the N32 message" as specified in TS 33.501 [3], clause 13.4.1.2. |
|
| Test Purpose | Verify that the SEPP under test is able to identify the mismatch between the PLMN-ID contained in the incoming N32-f message and the PLMN-ID in the related N32-f context, and take action accordingly. |
|
| Pre-Conditions |
|
|
| Execution Steps |
|
|
| Expected Results |
|
|
| Expected Format of Evidence | Logs and the communication flow saved in a .pcap file. |
|
| PDFs | 26e479f1d6730baf27f12bb951724abd | |
4.2.2.5 Confidential IEs replacement handling in original N32-f message |
Home → SEPP → 19.0.0 |
| 33517-h00 → 33517-i00 →  33517-j00 | |
| Test Name | TC_SEPP_CONFIDENTIAL_IE_REPLACEMENT_N32F | |
| Threat Reference | TR 33.926 [4], clause G.2.4.2, Exposure of confidential IEs in N32-f message |
|
| Requirement Name | Confidential IEs replacement handling in original N32-f message |
|
| Requirement Reference | TS 29.573 [6], clause 5.3.2.3 |
|
| Requirement Description | Based on the protection policy exchanged between the SEPPs, the sending SEPP prepares an input for the JWE ciphering and integrity protection as an array of free form JSON objects in the "DataToIntegrityProtectAndCipher" block with each entry containing either a HTTP header value or the value of a JSON payload IE of the API message being reformatted. The index value "encBlockIdx" in the payload part of DataToIntegrityProtectBlock points to the index of a header value or IE value in this input array. |
|
| Test Purpose | Verify that the SEPP under test correctly replaces information elements requiring encryption with the value " encBlockIdx ". |
|
| Pre-Conditions |
|
|
| Execution Steps |
|
|
| Expected Results | Information elements in the original message that require encryption according to the Data-type encryption policy are replaced with the value " encBlockIdx ". |
|
| Expected Format of Evidence | Evidence suitable for the interface, e.g. text representation of the captured N32-f message. |
|
| PDFs | ad8f509c19172ec0f31b65cdf5ca49fa | |
4.2.2.6 Correct handling of protection policy mismatch |
Home → SEPP → 19.0.0 |
| 33517-h00 → 33517-i00 →  33517-j00 | |
| Test Name | TC_SEPP_POLICY_MISMATCH | |
| Threat Reference | TR 33.926 [4], clause G.2.3.2, Incorrect handling for protection policy mismatch |
|
| Requirement Name | Correct handling of protection policy mismatch |
|
| Requirement Reference | TS 33.501 [3], clause 13.2.3.6 |
|
| Requirement Description | "When a SEPP receives a data-type encryption or modification policy on N32-c as specified in clause 13.2.2.2, it compares it to the one that has been manually configured for this specific roaming partner and IPX provider. If a mismatch occurs for one of the two policies, the SEPP performs one of the following actions, according to operator policy:
|
|
| Test Purpose | Verify that the SEPP under test is able to identify the mismatch between the protection policies manually configured for a specific roaming partner and IPX provider and the protection policies received on N32-c connection, and take action accordingly. |
|
| Pre-Conditions |
a. the data encryption policies d and d' are identical, the modification policies m and m' are different b. the data encryption policies d and d' are different, the modification policies m and m' are identical c. both the data encryption policies d and d' and the modification policies m and m' are different
|
|
| Execution Steps | For each of the three cases above, the following is executed:
|
|
| Expected Results | The SEPP under test sends an error signalling message to the peer SEPP on the N32-c connection or logs the error. |
|
| Expected Format of Evidence | Logs and the communication flow saved in a .pcap file. |
|
| PDFs | a46bf34ea7f7467b1a27a2d0fa07777f | |
4.2.2.7 JWS profile restriction |
Home → SEPP → 19.0.0 |
| 33517-h00 → 33517-i00 →  33517-j00 | |
| Test Name | TC_JWS_PROFILE_RESTRICTION | |
| Threat Reference | TR 33.926 [4], clause G.2.4.1, Use of weak JWS algorithm |
|
| Requirement Name | JWS profile restriction |
|
| Requirement Reference | TS 33.501 [3], clause 13.2.4.9 |
|
| Requirement Description | SEPPs and IPXs follow the JWS profile as defined in TS 33.210 [8] with the restriction that they shall only use ES256 algorithm. |
|
| Test Purpose | Verify that the SEPP under test is able to restrict the JWS profile to only use ES256 algorithm with IPX entities. |
|
| Pre-Conditions |
|
|
| Execution Steps |
|
|
| Expected Results | The modified N32-f message from the IPX node is discarded by the SEPP under test. |
|
| Expected Format of Evidence | Logs and the communication flow saved in a .pcap file. |
|
| PDFs | 31fe3cd6b7ebeb1e95ca4681e44a6466 | |
4.2.2.8 No misplacement of encrypted IEs in JSON object by IPX |
Home → SEPP → 19.0.0 |
| 33517-h00 → 33517-i00  33517-j00 | |
| Test Name | TC_NO_ENCRYPTED_IE_MISPLACEMENT | |
| Threat Reference | TR 33.926 [4], clause G.2.4.2 Exposure of confidential IEs in N32-f message |
|
| Requirement Name | No misplacement of encrypted IE in JSON object by IPX |
|
| Requirement Reference | TS 33.501 [3], clause 13.2.3.4 and clause 13.2.4.1 |
|
| Requirement Description | As specified in TS 33.501 [3] clause 13.2.3.4, the following basic validation rules are always applied irrespective of the policy exchanged between two roaming partners:
A SEPP verifies that an intermediate IPX has not moved or copied an encrypted IE to a location that would be reflected from the producer NF in an IE without encryption" as specified in TS 33.501 [3], clause 13.2.4.1. |
|
| Test Purpose | Verify that the SEPP under test is able to verify that an intermediate IPX has not misplaced (moved or copied) an encrypted IE to a different location in a JSON object that would be reflected from the producer NF for an IE without encryption. |
|
| Pre-Conditions |
|
|
| Execution Steps |
|
|
| Expected Results |
|
|
| Expected Format of Evidence | Logs and the communication flow saved in a .pcap file. |
|
| PDFs | 0df03995902855e8489b313d8283acd0 | |
4.2.2.9 Correct Handling of Inter-PLMN Routing |
Home → SEPP → 19.0.0 |
| 33517-h00 → 33517-i00  33517-j00 | |
| Test Name | TC_CORRECT_INTER_PLMN_ROUTING | |
| Threat Reference | TR 33.926 [4], clause G.2.x.a, Inter-PLMN routing using the incorrect reference |
|
| Requirement Name | Correct Handling of Inter-PLMN Routing |
|
| Requirement Reference | TS 29.500 [7], clause 6.1.4.3.3 |
|
| Requirement Description | If the SEPP receives an HTTP request from a NF with a request URI containing a telescopic FQDN and with a 3gpp-Sbi-Target-apiRoot header, the SEPP ignores the 3gpp-Sbi-Target-apiRoot header and route the request using the telescopic FQDN. |
|
| Test Purpose | Verify that the SEPP under test correctly route the NF request to a remote PLMN when receving both a 3gpp-Sbi-Target-apiRoot header and a telescopic FQDN contained in the Request URI in the HTTP request from a NF. |
|
| Pre-Conditions |
|
|
| Execution Steps |
|
|
| Expected Results | After step 2), the peer SEPP received the HTTP request from the NF through the SEPP under test. After step 3), the peer SEPP did not receive the HTTP request from the NF through the SEPP under test |
|
| Expected Format of Evidence | Evidence suitable for the interface, e.g. screenshot containing the operational results. |
|
| PDFs | a27ec7fdb7ca33a2be3ec89e283d118e | |
4.2.5 Web Servers |
Home → SEPP → 19.0.0 |
| 33517-i00  33517-j00 | |
| Test Name | TC_CORRECT_TRUST_ANCHORING | |
| Threat Reference | TR 33.926 [4], clause 5.3.3.7, Eavesdropping, clause 5.3.6.10, Insecure Network Services |
|
| Requirement Name | Correct Handling of HTTPS Trust Anchoring |
|
| Requirement Reference | TS 33.501 [3], clause 13.1.2 |
|
| Requirement Description | The SEPP maintains a set of trust anchors, each consisting of a list of trusted root certificates and a list of corresponding PLMN-IDs. Any given PLMN-ID appears in at most one trust anchor. During N32-c connection setup, the SEPP maps the PLMN-ID of the remote SEPP leaf (server or client) certificate to the associated trust anchor for the purposes of certificate chain verification. Only the root certificates in the associated list is treated as trusted during certificate chain verification. If the remote SEPP certificate contains multiple PLMN-IDs that are mapped to different trust anchors, then that certificate is rejected. |
|
| Test Purpose | Verify that the SEPP under test correctly implements trust anchoring when setting up HTTPS (TLS) connections. |
|
| Pre-Conditions |
|
|
| Execution Steps |
|
|
| Expected Results | In step 5, the TLS (HTTPS) connection setup succeeds for the iterations with C1 and C2 and fails for the iterations with C3 and C4.
|
|
| Expected Format of Evidence | The evidence is in the form of log file entries associated with eight TLS connection establishment attempts, where entries for the cases with C1 and C2 indicate success, and entries for the cases with C3 and C4 indicate failure and show the corresponding failure reasons, including TLS Error Alert 48 (unknown_ca). |
|
| PDFs | b45256b7a5f4a53f9815d5bdb3a1b655 | |