The present disclosure relates generally to security negotiations, and in particular, to techniques and devices for negotiating security mechanisms between security gateways in different networks.
The Third Generation Partnership Project (3GPP) is working on Service Based Architecture (SBA), which is being specified in several working groups and Technical Specifications (TSs). In particular, SA2 TSs 23.501 and 23.502 provide the architectural aspects of SBA, while CT4 TS 29.500 provides the SBA stage 3 realization. The security aspects of SBA are being specified in clause 9 of SA3 TS 33.501.
Although the PLMNs 12, 14 are connected in the 3GPP architecture via the N32 reference point 20, there is, in reality, an interconnect network (i.e., an IP Packet Exchange—IPX) between the SEPPs, which is operated by one or more IPX providers.
The IPX provider requirements indicate that the security solution for N32 reference point 20 will be quite complex. At the same time, 3GPP SA3 is being pressured to specify security solutions for SBA, and especially for N32, in the Rel-15 timeframe. However, SA3 may not be able to provide a security solution for N32 that satisfies all IPX requirements specified in Rel-15.
One proposal to address this issue is to implement a step-wise approach. Particularly, in a first step, Rel-15 would specify a partial (or simpler) SBA security solution even though that solution would not satisfy all requirements for N32. In a second step, another (full) SBA security solution that did meet all requirements for N32 would be specified in Rel-16. However, the problem with such a step-wise approach is that once a (partial) security solution is deployed in Rel-15, it will be very difficult, if not impossible, to migrate to another (full) security solution in the network in Rel-16 (or later) without bidding down problems. For example, an attacker, such as a man in the middle (MiTM), could always pretend to be a Rel-15 SEPP entity and therefore avoid having to use the (full) Rel-16 security solution.
Embodiments of the present disclosure provide techniques that may help to solve these and other challenges. In particular, the present embodiments add integrity protected security capability negotiation between the SEPPs. The negotiation is based on mutual authentication and key agreement between the SEPPs. Using the integrity protected security capability negotiation, the SEPPs can negotiate which particular security solution should be used over N32 reference point, thereby negating the possibility of bidding down attacks.
In some embodiments, the present disclosure provides a method for negotiating a security mechanism with a responding security gateway. In these embodiments the method comprises, in a negotiation stage, establishing a first connection between an initiating security gateway and the responding security gateway, wherein the first connection is configured to provide integrity protection of messages communicated between the initiating security gateway and the responding security gateway, transmitting a request message to the responding security gateway over the first connection, wherein the request message identifies one or more security mechanisms supported by the initiating security gateway, and receiving a response message from the responding security gateway over the first connection, wherein the response message identifies an application layer security mechanism selected by the responding security gateway from among the one or more security mechanisms supported by the initiating security gateway. Thereafter, in a communications stage, the method comprises communicating signaling messages with the responding security gateway using the selected application layer security mechanism.
In one embodiment, the first connection is an integrity protected Transport Layer Security (TLS) connection.
In another embodiment, the first connection is an integrity protected Internet Protocol Security (IPsec) connection.
In one embodiment, the method further comprises, in the communications stage, establishing a second connection between the initiating security gateway and the responding security gateway, and communicating the signaling messages over the second connection with the responding security gateway using the selected application layer security mechanism.
In one embodiment, the second connection is an N32-F connection. In another embodiment, the application layer security is an N32 Application Layer Security.
In one embodiment, communicating signaling messages with the responding security gateway using the selected application layer security mechanism comprises protecting the signaling messages communicated between network functions associated with respective different Public Land Mobile Networks (PLMNs).
In one embodiment, the method further comprises protecting user plane traffic messages communicated between network functions in respective first and second different Public Land Mobile Networks (PLMNs).
In one embodiment, the one or more security mechanisms are ordered according to a preference of one or both of the initiating security gateway and the responding security gateway.
In one embodiment, the one or more security mechanisms comprise one or more security protocols.
In one embodiment, the negotiation stage is performed by a Secure Edge Protection Proxy (SEPP).
In another embodiment, however, the negotiation stage is performed by one of a network resource function (NRF), a network exposure function (NEF), and a network server device.
In one embodiment, the method further comprises indicating to the responding security gateway that the security mechanism to be selected is being negotiated within a secure connection. In such embodiments, indicating that the security mechanism to be selected is being negotiated is indicated in a message header communicated outside of the protected part of the secure connection. In other embodiments, such indications are performed by populating an address field of the request message with an address of the security negotiation module.
In one embodiment, the method further comprises detecting that the selected application layer security mechanism should be changed, and triggering selection of a new application layer security mechanism within a predetermined time period.
In one embodiment, the method further comprises negotiating the application layer security mechanism with an interconnect node associated with an Internet Provider prior to transmitting the request message to the responding security gateway.
In at least some embodiments, the present disclosure provides a network node for negotiating a security mechanism with a responding security gateway. In these embodiments, the initiating security gateway comprises communications interface circuitry configured to communicate messages with the responding security gateway over one or more connections, and processing circuitry operatively connected to the communications interface circuitry. The processing circuitry is configured to, in a negotiation stage, establish a first connection between an initiating security gateway and the responding security gateway, wherein the first connection is configured to provide integrity protection of messages communicated between the initiating security gateway and the responding security gateway, transmit a request message to the responding security gateway over the first connection, wherein the request message identifies one or more security mechanisms supported by the initiating security gateway, and receive a response message from the responding security gateway over the first connection, wherein the response message identifies an application layer security mechanism selected by the responding security gateway from among the one or more security mechanisms supported by the initiating security gateway. In a communications stage, the processing circuitry is configured to communicate signaling messages with the responding security gateway using the selected application layer security mechanism.
In other embodiments, the present disclosure provides a method for negotiating a security mechanism with an initiating security gateway. In these embodiments, the method comprises, in a negotiation stage, establishing a first connection between the initiating security gateway and a responding security gateway, wherein the first connection is configured to provide integrity protection of messages communicated between the initiating security gateway and the responding security gateway, receiving a request message from the initiating security gateway over the first connection, wherein the request message identifies one or more security mechanisms supported by the initiating security gateway, selecting an application layer security mechanism from among the one or more security mechanisms supported by the initiating security gateway, and transmitting a response message to the initiating security gateway over the first connection, wherein the response message identifies the application layer security mechanism selected by the responding security gateway. In a communications stage the method further comprises communicating signaling messages with the initiating security gateway using the selected application layer security mechanism.
In one embodiment, one or both of the request and response messages comprise integrity protected messages of a protocol.
In one embodiment, the method further comprises establishing a second connection between the initiating security gateway and the responding security gateway, wherein the second connection is different than the first connection, and communicating the signaling messages with the initiating security gateway using the selected application layer security mechanism over the second connection.
In one embodiment, selecting the application layer security mechanism comprises selecting the application layer security mechanism based on a local policy of the responding security gateway.
In one embodiment, selecting the application layer security mechanism comprises selecting the application layer security mechanism based on a local policy of the initiating security gateway.
In one embodiment, selecting the application layer security mechanism comprises selecting the application layer security mechanism based on a preference order of the initiating security gateway.
In one embodiment, selecting the application layer security mechanism comprises negotiating the application layer security mechanism with an interconnect node associated with an Internet Provider.
In one embodiment, the method further comprises negotiating for one or more features that are unrelated to security. In such embodiments, negotiating for one or more features that are unrelated to security comprises informing the initiating security gateway that another security gateway is to be contacted as part of the security negotiation.
In one embodiment, the response message further identifies the one or more security mechanisms supported by the initiating security gateway.
In one embodiment, selecting the application layer security mechanism comprises selecting the application layer security mechanism for all network functions in a PLMN.
In one embodiment, selecting the application layer security mechanism comprises selecting the application layer security mechanism for a network function independently of one or more other network functions.
In one embodiment, the application layer security mechanism that is selected is valid for as long as the first connection is maintained.
In one embodiment, selecting the application layer security mechanism comprises periodically selecting a new application layer security mechanism.
In one embodiment, responsive to selecting a new application layer security mechanism, the method comprises terminating all connections to which a currently selected application layer security mechanism has been applied, opening new connections, and applying the new application layer security mechanism to each of the new connections.
In one embodiment, the response message identifies the application layer security mechanism selected by the responding security gateway using corresponding symbolic identifiers.
Additionally, in one embodiment, the present disclosure provides a network node for negotiating a security mechanism with an initiating security gateway. In these embodiments, the network node comprises communications interface circuitry configured to communicate messages with an initiating security gateway over one or more connections, and processing circuitry operatively connected to the communications interface circuitry. The processing circuitry is configured to, in a negotiation stage, establish a first connection between the initiating security gateway and the responding security gateway, wherein the first connection is configured to provide integrity protection of messages communicated between the initiating security gateway and the responding security gateway, receive a request message from the initiating security gateway over the first connection, wherein the request message identifies one or more security mechanisms supported by the initiating security gateway, select an application layer security mechanism from among the one or more security mechanisms supported by the initiating security gateway, and transmit a response message to the initiating security gateway over the first connection, wherein the response message identifies the application layer security mechanism selected by the responding security gateway. In a communications stage, the processing circuitry is configured to communicate signaling messages with the initiating security gateway using the selected application layer security mechanism.
In at least one embodiment, the present disclosure provides a non-transitory computer-readable medium comprising instructions stored thereon, wherein when the instructions are executed by processing circuitry of a network node, causes the network node to, in a negotiation stage, establish a first connection between an initiating security gateway and the responding security gateway, wherein the first connection is configured to provide integrity protection of messages communicated between the initiating security gateway and the responding security gateway, transmit a request message to the responding security gateway over the first connection, wherein the request message identifies one or more security mechanisms supported by the initiating security gateway, and receive a response message from the responding security gateway over the first connection, wherein the response message identifies an application layer security mechanism selected by the responding security gateway from among the one or more security mechanisms supported by the initiating security gateway. In a communications stage, the processing circuitry is configured to communicate signaling messages with the responding security gateway using the selected application layer security mechanism.
In at least one embodiment, the present disclosure provides a non-transitory computer-readable medium comprising instructions stored thereon, wherein when the instructions are executed by processing circuitry of a network node, causes the network node to, in a negotiation stage, establish a first connection between the initiating security gateway and the responding security gateway, wherein the first connection is configured to provide integrity protection of messages communicated between the initiating security gateway and the responding security gateway, receive a request message from the initiating security gateway over the first connection, wherein the request message identifies one or more security mechanisms supported by the initiating security gateway, select an application layer security mechanism from among the one or more security mechanisms supported by the initiating security gateway, and transmit a response message to the initiating security gateway over the first connection, wherein the response message identifies the application layer security mechanism selected by the responding security gateway. In a communications stage, the processing circuitry is configured to communicate signaling messages with the initiating security gateway using the selected application layer security mechanism.
The present disclosure provides techniques for security mechanism negotiation between security gateways from different networks, such as first and second SEPPs in a visited PLMN and a home PLMN, respectively. For example, as seen in
While the signalling diagram seen in
Additionally, the security mechanism being negotiated by SEPPs 102A, 102B can be used to protect signaling messages or traffic messages. For example, in one embodiment, the security mechanism being negotiated is the mechanism used by the SEPPs to protect the signaling between the Network Functions (NF) or the NF services in different PLMNs, such as VPLMN 12 and HPLMN 14. In another embodiment, the security mechanism being negotiated is the mechanism used to protect traffic between network functions. Such traffic includes, but is not limited to, user plane traffic between user plane functions (UPFs).
Further, the security mechanisms being negotiated are not limited to any one specific 3GPP Release. For example, in one embodiment, the security mechanisms being negotiated are the security mechanisms for N32 (e.g., application layer security) in a 3GPP Release (e.g. Rel-15), as well as in one or more different 3GPP Releases (e.g. Rel-16). This means that the negotiation, when performed in accordance with the present embodiments, does not need to specifically identify the exact technical solution (like TLS). Rather, the negotiation can simply refer to a technical solution specified in a given 3GPP Release by means of a symbolic name. For example, security mechanism “X” may map to a Rel-15 solution, while security mechanism “Y” may map to a Rel-16 solution.
The selection of a particular security mechanism can also be based on various criteria. In one embodiment, for example, the SEPP receiving the request message (e.g., the “responding” SEPP 102B) selects the security mechanism based on one of its own local policies. In another embodiment, the SEPP receiving the request message selects the security mechanism based on a local policy of the SEPP that sent the request message (e.g., the “initiating” SEPP 102A). In yet another embodiment, the security mechanism is selected based on the local policies of both the SEPP that sent the request message (e.g., SEPP 102A), and the SEPP that received the request message (e.g., SEPP 102B). In one such embodiment, the security mechanism is selected according to a preference order assigned to the security mechanisms by the initiating SEPP 102A.
The selection process can also be performed in any manner needed or desired. In one embodiment, however, the selection process involves negotiating the security mechanism between the SEPPs 102A, 102B and their local interconnect provider. This could either be done in a pre-configured manner or by additional messaging between the SEPPs and an interconnect node. In one embodiment, for example, the initiating SEPP 102A can perform the negotiation prior to sending the request message (line 204 in
As illustrated above, the connection that is established between the SEPPs 102A, 102B in one embodiment is a TLS connection. However, the present embodiments are not so limited. Generally, although not required, a secure connection or tunnel is established between the SEPPs 102A, 102B. In one embodiment, for example, an integrity protected IPsec connection is established between the SEPPs 102A, 102B instead of the TLS connection.
According to the present embodiments, whether a security negotiation is occurring within the secure connection is explicitly indicated. For example, in one embodiment, when a security negotiation is occurring within the secure connection, it is indicated in a message header communicated outside of the protected part of the secure connection (e.g., in the TLS record layer header). This enables certain IPX servers, such as IPX entities 34, 36 seen in
According to the present embodiments, the security capability negotiation does not always occur in a previously established secure connection. In some embodiments, for example, the security capability negotiation happens within one or more integrity protected messages of a protocol. These integrity protected messages can be, for example, TLS handshake messages, IKEv2 messages, MIKEY messages, protected JSON elements, or messages of another security establishment or key management protocol.
In addition to the above aspects, the negotiation can, according to one embodiment of the present disclosure, include non-security related features. An example of a situation where such an embodiment would be beneficial is one in which operators lease IMSI-space from each other. As part of the negotiation, the responding SEPP 102B informs the initiating SEPP 102A of a third SEPP that needs to be contacted for communication related to some IMSIs.
In some cases, the connection established between SEPPs 102A, 102B (line 202) may not be a secure connection, and the request message sent by the initiating SEPP 102A (line 204), including the supported security mechanisms of the initiating SEPP 102A, is not or cannot be integrity protected. Such is the case, for example, when the security negotiation happens in the very early stages of a security protocol run, and a security association for protecting the first message is not yet in place. In these cases, the responding SEPP 102B repeats the supported security mechanisms of the initiating SEPP 102A in the integrity protected response message (line 208). In this way the initiating SEPP 102A knows that the supported security mechanisms were not modified. In another embodiment, the responding SEPP 102B repeats the supported security mechanisms of initiating SEPP 102A in the integrity protected response message even though a secure integrity protected connection already exists.
According to the present disclosure, the SEPPs (e.g., SEPP 102A and/or SEPP 102B) can be configured to select a security mechanism in different ways. In one embodiment, for example the SEPPs 102A and/or 102B are configured to select a security mechanism for all the NFs in the PLMN in which they are disposed. In another embodiment, however, the SEPPs 102A and/or 102B are configured to select the security mechanism on an NF by NF basis. Regardless of the particular selection process, however, the SEPPs 102A, 102B are configured according to the present embodiments to maintain HTTP/2 connections in which individual messages (e.g., the request messages and response messages communicated between SEPP 102A and SEPP 102B) are interleaved as streams.
By way of example only, one embodiment of the present disclosure configures the SEPPs 102A, 102B to select a security mechanism for each HTTP/2 connection that is created. In these embodiments, the validity period of the security mechanism negotiation result is that of the HTTP/2 connection.
Another embodiment of the present disclosure configures the SEPPs 102A, 102B to periodically select the security mechanism. In these situations, the SEPPs 102A, 102B are configured to apply a negotiation result to all HTTP/2 connections. This implies terminating established HTTP/2 connections and opening new ones whenever the security mechanism negotiation result changes. In some embodiments, the validity period of the security mechanism negotiation result may be part of the negotiation.
In some cases, the security policies upon which the security mechanism selection is based can change. Therefore, in such embodiments, the present disclosure configures a SEPP 102A and/or 102B to unilaterally trigger selecting a security mechanism at any time within the validity period responsive to the change in security policies.
As seen in
The initiating and responding SEPPs 102A, 102B are configured to utilize the selected security mechanism for ongoing communication in the communications stage. Particularly, a second connection (e.g., an N32-F connection) between the initiating SEPP 102A and the responding SEPP 102B is established (box 308). So connected, the initiating and responding SEPPs 102A, 102B utilize the application security mechanism that was selected in the negotiation stage to communicate signalling messages. Any of the aspects disclosed above may be included in the example method of
As seen in
As above, the initiating and responding SEPPs 102A, 102B are configured to utilize the selected application security mechanism for ongoing communication in the communications stage. Particularly, a second connection (e.g., the N32-F connection) between the initiating SEPP 102A and the responding SEPP 102B is established (box 410). So connected, the initiating and responding SEPPs 102A, 102B utilize the application security mechanism that was selected in the negotiation stage to communicate signalling messages (box 412). Any of the aspects disclosed above may be included in the example method of
Note that the apparatuses described above may perform the methods herein and any other processing by implementing any functional means, modules, units, or circuitry. In one embodiment, for example, the apparatuses comprise respective circuits or circuitry configured to perform the steps shown in the method figures. The circuits or circuitry in this regard may comprise circuits dedicated to performing certain functional processing and/or one or more microprocessors in conjunction with memory. For instance, the circuitry may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory may include program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein, in several embodiments. In embodiments that employ memory, the memory stores program code that, when executed by the one or more processors, carries out the techniques described herein.
Additionally, according to the present embodiments, the initiating and responding SEPPs 102A, 102B are configured to protect user plane messages being communicated between network functions disposed in respective first and second PLMNs (box 422).
In some embodiments, the initiating and/or the responding SEPP 102A, 102B is configured to negotiate the security mechanism with an interconnect node associated with an internet provider (box 424). For example, in one embodiment, the initiating SEPP 102A performs this negotiation prior to sending the request message to the responding SPP 102B. In another embodiment, the responding SEPP 102B performs this negotiation as part of the process of selecting an appropriate security mechanism. Regardless of the particular device performing this function, however, this allows the security negotiations to pass through IPX 32, which could otherwise drop depending on the security policy.
Further, in one embodiment, the negotiation can include features that are not related to security functions (box 426). For example, in a situation where operators lease IMSI-space from each other, the responding SEPP 102B could, as part of the negotiation process, inform the initiating SEPP 102A of a third SEPP that needs to be contacted for communication related to some IMSIs.
As stated previously, the security policies upon which the security mechanism selection is based can change in some cases. Therefore, embodiments of the present disclosure, upon detecting that the currently selected application layer security mechanism should change (e.g., responsive to a change in security policies) (box 430), configure SEPP 102A and/or 102B to unilaterally trigger selecting a new application layer security mechanism at any time within a validity period (box 432).
Responsive to selecting a new application layer security mechanism, the present embodiments terminate all connections to which the currently selected application layer security mechanism has been applied (box 440), and opens new connections (box 444). Then, the newly selected application layer security mechanism is applied to each of the newly opened connections (box 446).
In particular, the transmitting module/unit 510 is configured to transmit messages to another network node 500, such as SEPP 102A, 102B. As previously described, the messages may be a request message sent by the initiating SEPP 102A, or a response message sent by the responding SEPP 102B that received the request message. Request messages comprise data and information indicating, for example, the particular security mechanisms that are supported by the network node 500 sending the request message. The response messages comprise data and information indicating to the initiating network node 500 which of those security mechanisms have been selected by the network node 500 sending the response message. The receiving module/unit 512 is configured to receive the request messages comprising the supported security mechanisms sent by the initiating network node 500, as well as the response messages identifying the selected security mechanisms.
The selecting module/unit 514 is configured to select one or more of the security mechanisms from those identified in the request message, as previously described. Once selected, the network node 500 generates the response message comprising the information indicating the selected security mechanism to the initiating network node 500.
The communications module/node 516 is configured to communicate signalling and/or user plane traffic data utilizing the selected security mechanisms negotiated by the network node 500.
Those of ordinary skill in the art will also appreciate that embodiments herein further include corresponding computer programs, such as control program 508 illustrated in
Embodiments further include a carrier containing such a computer program 508. This carrier may comprise one of an electronic signal, optical signal, radio signal, or computer readable storage medium.
In this regard, embodiments herein also include a computer program product stored on a non-transitory computer readable (storage or recording) medium and comprising instructions that, when executed by a processor of an apparatus, cause the apparatus (e.g., network node 500) to perform the functions of the present embodiments as described above.
Embodiments further include a computer program product comprising program code portions for performing the steps of any of the embodiments herein when the computer program product is executed by a computing device. This computer program product may be stored on a computer readable recording medium, such as memory 506.
Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and/or is implied from the context in which it is used. All references to a/an/the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any methods disclosed herein do not have to be performed in the exact order disclosed, unless a step is explicitly described as following or preceding another step and/or where it is implicit that a step must follow or precede another step. Any feature of any of the embodiments disclosed herein may be applied to any other embodiment, wherever appropriate. Likewise, any advantage of any of the embodiments may apply to any other embodiments, and vice versa. Other objectives, features and advantages of the enclosed embodiments will be apparent from the description.
The term unit may have conventional meaning in the field of electronics, electrical devices and/or electronic devices and may include, for example, electrical and/or electronic circuitry, devices, modules, processors, memories, logic solid state and/or discrete devices, computer programs or instructions for carrying out respective tasks, procedures, computations, outputs, and/or displaying functions, and so on, as such as those that are described herein.
Some of the embodiments contemplated herein are described more fully with reference to the accompanying drawings. Other embodiments, however, are contained within the scope of the subject matter disclosed herein. The disclosed subject matter should not be construed as limited to only the embodiments set forth herein; rather, these embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.
This application claims priority to U.S. Provisional Patent Application Ser. No. 62/632,415, entitled “Security Negotiation in SBA,” and filed Feb. 19, 2018, the disclosure of which is incorporated here by reference in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2019/053865 | 2/15/2019 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62632415 | Feb 2018 | US |