Chapter 5

Technical solutions

Based on TLS hop-by-hop

Technical solutions

Introduction

As has been previously established, within the roaming ecosystem mobile operators often outsource various services to third parties, such as an IPX carrier or VAS provider.

 

In the interest of business continuity, an architecture is required that recognizes the relationship between service providers, which cater to a collection of (international) roaming relations. The subsequent chapters describe this architecture in technical detail: the scenario where only one operator has outsourced services, the case where both operators have outsourced services, and the common aspects of both options. This is then followed by an exploration of the use of N32-c between SEPPs.

Architecture description for hosted SEPP

  • Figure 1

  • Figure 2

  • Figure 3

  • Figure 4

  • Figure 5

  • Figure 6

Imagine two mobile network operators, O1 and O2. They have a roaming agreement which allows their users to connect to each other’s networks.
  • O1 has decided to outsource some of its services to a company that specializes in providing these services, known as a hosted SEPP provider. This helps O1 manage services such as network steering, fraud detection, and data roaming controls more effectively.
  • O2 has no relation with the hosted SEPP service provider and interacts with O1 for roaming services using direct TLS.
O1 DNS IP is published in its IR.21. At this time, it is still unclear how the DNS query in itself is going to be protected – DNS over TLS is just one option.
  • On receiving the NAPTR query from O2 SEPP, O1 DNS returns a service record for the SEPP service. O2 SEPP then launches a SRV request and receives a list of SEPP servers to choose from. Finally, O2 SEPP launches a A/AAAA request to obtain the IP of the selected O1 SEPP.
The NAPTR query is still sent to O1 DNS, as authoritative DNS for the domain. However, the response contains a service record pointing to the domain of the host. The SRV and A/AAAA are subsequently handled by the host DNS, as authoritative for the host domain. By using . as subdomain, different SEPP server instances and corresponding IP can be provided per hosted customer.
  • O1 SEPP in turn only needs to discover the hosted SEPP, as it is managing all (or most) of the roaming relations. An FQDN unique to O1 should be used, from the domain of the hosted SEPP service provider, e.g. by using O1 PLMN ID as subdomain. A “client” label is used in the example call flow.
For any remaining (e.g. domestic) relations, the roaming partners can agree to use a different FQDN specific to the relation. Vice versa, the provider SEPP can discover O1 SEPP using a similar FQDN technique.
The next picture shows TLS handshake and N32c exchanges of O1 and O2 with the service provider. SEPP+ indicates a SEPP with additional functionalities to handle the customer-provider relationship (n32s). The difference with a 3GPP SEPP is in the validation of a provider certificate instead of a PLMN certificate and verifying that the relation with the roaming partner (O2), as identified in the n32f traffic, is indeed managed via the provider.
  • Note that

  • 24h-support
    O1 SEPP IP are not exposed to the general IPX community, only to the limited set of in-house managed relations (not depicted here) and to the hosted SEPP provider. O1 SEPP will not accept TLS handshakes or N32c requests from the general IPX community, outside of the hosted SEPP provider.
  • 24h-support
    As for the n32c exchange, it provides the option to negotiate custom headers e.g. 3ggp-Sbi-Originating-Network-Id, as per service contract.
As for O2, there is no notable difference compared to the direct TLS model, other than receiving a provider’s server list and SEPP IP as result of the SEPP discovery process. It’s required for O2 to open their IP firewall for provider IP – this should be covered in the bilateral roaming agreement between O1 and O2. From a technical perspective, it is much more convenient to use provider IP rather than “loan” IP from each individual customer. Still, the provider should offer different IP per customer, which can be straining IPv4 resources.
  • Once n32c is setup between all parties, n32f traffic can flow in both directions.

Figure 7

The provider SEPP forwards n32f based on the 3gpp-Sbi-Target-ApiRoot header, which indicates the target NF at the roaming partners. O1 SEPP simply forwards the n32f traffic to the provider managing the roaming relation.

 

The provider may offer services that require more than forwarding of messages or mediation of message content. A stand-alone SEPP+ (or PRINS) deployment is then no longer sufficient. The following picture illustrates the NF discovery process in case a provider NF must be included in the control flow. Situation: O1 UE roaming in O2’s network, so O1 has the HPMN role and O2 has the VPMN role.

 

Architecture description for service hub SEPP

  • Figure 8

  • SEPP model

  • Figure 9

  • SEPP model

  • SEPP verification

In this situation, both operators O1 and O2 have outsourced services to a third-party provider that involves the use of a third-party SEPP.
  • In case of a roaming hub scenario, O2 SEPP does not contact O1 DNS as there is no direct agreement or contract between them anymore. Instead, the agreement is brokered by the roaming hub provider. O2 SEPP therefore needs to discover the hub SEPP. This is shown in the next picture.
  • Note that from O1’s perspective, not much has changed compared to the hosted SEPP model described in the previous section. In other words, if O1 uses a service provider for all its relations, bilateral and hub agreements can technically be handled in the same way.
Notable differences with the hosted SEPP model
  • 24h-support
    O2 no longer uses the well-known FQDN of O1 to discover O1’s SEPP, but instead the FQDN of the provider managing the relation with O1. Provider DNS is queried instead of O1 DNS (NAPTR, SRV and A/AAAA).
  • 24h-support
    The number of TLS handshakes and N32 connections between parties is much reduced, as bilateral connections are replaced by a hub-and-spoke architecture. Low connections per roaming relation are replaced by a relation with the service provider, managing all those relations. This heavily reduces the number of persistent connections to manage and allows for a quicker upscaling of roaming relations.
The provider SEPP forwards n32f based on the 3gpp-Sbi-Target-ApiRoot header, which indicates the target NF at the roaming partners. O1 and O2 SEPP simply forward the n32f traffic to the hub provider managing the roaming relation.
  • Once again, the provider may offer services that require more than a forwarding of messages or a simple mediation of message content. A stand-alone SEPP+ (or PRINS) deployment is then no longer sufficient. The following picture illustrates the NF discovery process in case a provider NF must be included in the control flow. Situation: O1 UE roaming in O2’s network, so O1 has the HPMN role and O2 has the VPMN role.
Notable differences with the hosted SEPP model
  • 24h-support
    Provider NF/NRF naming can be done independently of O1 or O2 naming conventions, using the provider’s own domain.
  • 24h-support
    O2 intentionally performs the NF discovery procedure with the provider NRF instead of O1’s NRF.
SEPP verification is quite similar to what’s described for the hosted SEPP model
  • 24h-support
    Verification of client operator/provider TLS certificates.
  • 24h-support
    Verification whether roaming relation is open, and the correct provider is chosen for the relation.
  • 24h-support
    Rejection of traffic if either of these verification steps fail.
  • Further N32f and N9 flows are discussed in the next section as they are similar for both the hosted SEPP and service hub SEPP architectures. Discovery of O1 NF by provider NF is also handled there.

N32f and N9 flows

The following pictures illustrate the call flows for control and user plane, under the assumption that provider NF and UPF are to be involved as part of the service contract. The same roaming situation is taken as before, namely O1 UE roams in O2’s network.

 

The first picture shows a generic control plane flow, where the hosted NF either directly provides a result (a) or reissues the initial request (b), potentially with changes to the content, to the target network. The provider NF takes on different roles in the latter case.

 

Verification and forwarding by O1, O2, and provider SEPP is no longer shown explicitly.

 

The last picture illustrates the authentication flow for sponsored roaming, whereby the service provider is backed by a sponsor mobile operator to provide international roaming services to operators who don’t have roaming agreements of their own. In such a situation, the visited network operator (O2) is only aware of sponsored identities (provider SUPI) and is unaware of any operators making use of the service (O1).

 

For simplicity’s sake, it is assumed that the visited network operator (O2) has a bilateral roaming agreement with the provider (acting as sponsor mobile operator), based on direct TLS.

 

Use of n32-c

This chapter looks at the use of N32-c between SEPPs when the TLS security mechanism is used. It does not apply for the PRINS security method. Analyzing the information exchanged in the N32 handshake, the following observations can be made.

01.

Title

Text

Button

To conclude: n32-c is providing very little value and only for very specific use cases where traffic separation is involved. All the relevant information for filtering, identification and routing will be available in the local configuration.

 

On the other hand, n32-c introduces issues which must be mitigated through additional procedures. N32-c basically negates the advantage of working with a stateless protocol by introducing statefulness on the level of connections.

  • 24h-support

    Using a separate TLS connection for n32-c introduces the need to correlate the N32 context withincoming n32-f TLS connections. The 3GPP specifications however don’t explain how to perform this correlation. Technically speaking, correlation of TLS connections can only be done based on the client certificate, but how exactly is not specified. In any case, it means the client is already identified and there is no need for any client identification in n32-c.

  • 24h-support

    Additional procedures must be introduced to solve N32-c race conditions and recovery situations.

  • 24h-support

    Additional crosschecks must be introduced between N32-f and N32-c and between N32-c and certificates.

  • 24h-support

    There are implications on architecture and scalability. By imposing the setup of an n32 context, SEPP architecture becomes more complex because all active N32 contexts need to be synchronised between every instance in a cluster.

Alternatively, N32-c may only be used for PRINS, but not TLS

PRINS

Negotiation of security policy is only needed for PRINS, which would anyway not involve the intermediate hops.

Certification

Identification of the peer relies on the client certificate. The certificate can still be checked against a specific trust anchor.

Traffic separation

can be achieved by using different target FQDNs.

Header support

can easily be exchanged in IR.21.

Correlation is no longer necessary

and crosschecks between n32-c and n32-f are no longer needed.

No additional procedures

to solve race conditions and recovery.

No overhead

due to N32-c procedures exchange of useless information, explicit tear down of contexts

N32-f stability issues

don’t cascade back to N32-c re-establishment.

SEPP can be made fully stateless

meaning that individual instances representing the same FQDN can be easily introduced without the need to synchronise active contexts.

Contact our expert