Embodiments herein relate generally to an access gateway (GW) node, a method performed by the access GW node, a communication device and a method performed by the communication device. More particularly the embodiments herein relate to authentication of a Transport Layer Security (TLS) connection.
According to the third Generation Partnership Project (3GPP) Technical Specification (TS) 23.501 V0.3.1 (2017 March), “The 5G System architecture is defined to support data connectivity and services enabling deployments to use techniques such as e.g. Network Function Virtualization and Software Defined Networking. The 5G System architecture shall leverage service-based interactions between Control Plane (CP) Network Functions where identified”. Some key concept in Fifth Generation (5G) telecommunications is that the User Plane (UP) functions are separated from the CP functions, that the function design is modularized etc.
The 5G system architecture comprises different Network Functions (NF). Below is a list of some of these NFs:
The above listed functions will be described in more detail below with reference to
In the 5G work in the 3GPP it has been agreed to do a further split between Mobility Management (MM) and Session Management (SM) compared to in the Evolved Packet Core (EPC), i.e. the fourth generation (4G), where the Mobility Management Entity (MME) supports both MM and some SM functionality. In 5G, the AMF supports the MM functionality and the SMF supports SM functionality. The SMF has an interface to the UPF and is in charge of controlling the UPF, e.g. instructing the UPF on tunnel endpoints, enforcements rules for maximum bitrate, charging control rules etc.
The control plane in
The UE 101a may be a device by which a subscriber may access services offered by an operator's network and services outside operator's network to which the operators radio access network and core network provide access, e.g. access to the Internet. The UE 101a may be any device, mobile or stationary, enabled to communicate in the communications network, for instance but not limited to e.g. user equipment, mobile phone, smart phone, sensors, meters, vehicles, household appliances, medical appliances, media players, cameras, Machine to Machine (M2M) device, Device to Device (D2D) device, Internet of Things (IoT) device, terminal device, communication device or any type of consumer electronic, for instance but not limited to television, radio, lighting arrangements, tablet computer, laptop or Personal Computer (PC). The UE 101a may be portable, pocket storable, hand held, computer comprised, or vehicle mounted devices, enabled to communicate voice and/or data, via the radio access network, with another entity, such as another UE or a server. 3GPP TR 21.905 V14.1.1 (2017 June) defines the UE 101a as follows: “Allows a user access to network services. For the purpose of 3GPP specifications the interface between the UE and the network is the radio interface. A User Equipment can be subdivided into a number of domains, the domains being separated by reference points. Currently the User Equipment is subdivided into the UICC domain and the ME Domain. The ME Domain can further be subdivided into one or more Mobile Termination (MT) and Terminal Equipment (TE) components showing the connectivity between multiple functional groups.”
The (R)AN 103a may comprise a RAN node (not shown in
It should be noted that the communication links in the system illustrated in
As mentioned above, the R(AN) 103a can be any type of access node and in release 15 of the 3GPP standard, the defined nodes are gNB (for 3GPP access) and N3IWF (for untrusted non-3GPP access). A general concept for 5G Core (5GC) is according to 3GPP TS23.501, V15.1.0, section 4.1: “Minimize dependencies between the Access Network (AN) and the Core Network (CN). The architecture is defined with a converged core network with a common AN-CN interface which integrates different Access Types e.g. 3GPP access and non-3GPP access.”. This means that the reference points between the UE 103a and the AMF 105 and between the UE 103a and the R(AN) 103a should be access agnostic so that adding support for new accesses should not impact these reference points.
An access network may be of different types. For example, an access network may be wireless or fixed, it may be a 3GPP radio access network or a non-3GPP access network, and it may be a trusted or untrusted access network. Non-3GPP access includes access from for instance MulteFire, Wi-Fi, WiMAX, fixed and CDMA networks. Below are some examples of access network types:
The 3GPP and the BroadBand Forum (BBF) are currently performing studies to add support for fixed access in 5GC.
The RG 101b may be a 5G RG which is defined in 3GPP TS 23.716 as “A 5G-RG is a RG capable of connecting to 5GC playing the role of a UE with regard to the 5G core. It supports secure element and exchanges N1 signalling with 5GC”.
Before a RG 101b may use the services of the 5GC, the RG 101b has to register to the network. This procedure is described in TS 23.502 version 15.1.0 for 3GPP access and untrusted non-3GPP access. The registration procedure may be similar for fixed access and the RG 101b may need to authenticate itself to the 5GC network using SIM credentials or e.g. a PKI certificate. However, the registration procedure requires a transport protocol between the RG 101b and the AGF 103b.
TLS protocol is a protocol for providing communications security over the Internet. In general, the TLS protocol allows client and server applications to communicate while eavesdropping, tampering, or message forgery is prevented. TLS is described in RFC 5246. TLS can be used to setup a secure connection and both the client (e.g. the RG 101b) and the server (e.g. the AGF 103b) can be authenticated using TLS techniques directly, but the 5GC relies on its own authentication mechanism which is performed during the 5GC registration procedure. It is possible to skip the client/RG 101b authentication during the TLS connection setup and then do the 5GC registration/authentication over the TLS connection, but once the RG 101b is authenticated there is a need to also authenticate the TLS connection to make sure there is no man-in-the-middle attack. There is no described solution for how to connect the authentication in the 5GC registration procedure with the TLS connection to secure the transport protocol. The TLS connection will also be used after 5GC registration procedure why it is important to verify that the connection is secure. One alternative could be to use client authentication on both TLS and NAS layer but two layers of authentication are very cumbersome, especially the certificate based authentication by TLS.
Therefore, there is a need to at least mitigate or solve these issues.
An objective of embodiments herein is therefore to obviate at least one of the above disadvantages and to provide improved authentication of a TLS connection.
According to a first aspect, the object is achieved by a method performed by an access GW node of a non-3GPP access for authentication of a TLS connection between the access GW node and a communication device. The access GW node receives, from a CN function, a 2nd key derived during an authentication procedure of the communication device 101. The access GW node receives a first TLS message comprising first authentication data from the communication device. The access GW node calculates second authentication data based on a 1st key and the 2nd key and for the received first TLS message. The 1st key is associated with the TLS connection. The access GW node calculates third authentication data based on the 1st and 2nd keys and for a second TLS message to be transmitted. The access GW node transmits the second TLS message comprising the third authentication data to the communication device. The access GW node verifies that the received first authentication data is substantially the same as the calculated second authentication data. The access GW node authenticates the TLS connection when the received first authentication data is successfully verified.
According to a second aspect, the object is achieved by a method performed by a communication device of a non-3GPP access for authentication of a TLS connection between an access GW node and the communication device. The communication device generates, a 2nd key derived during an authentication procedure of the communication device. The communication device calculates first authentication data based on a 1st key and the 2nd key and for a TLS message to be transmitted. The 1st key is associated with the TLS connection. The communication device transmits a first TLS message comprising first authentication data to the access GW node. The communication device receives a second TLS message comprising third authentication data from the access GW node. The communication node calculates fourth authentication data based on the 1st and 2nd keys. The communication node verifies that the received third authentication data is substantially the same as the calculated fourth authentication data, and authenticates the TLS connection when the received third authentication data is successfully verified
According to a third aspect, the object is achieved by an access GW node of a non-3GPP access. The access GW node is configured to receive, from a CN function, a 2nd key derived during an authentication procedure of a communication device. The access GW node is configured to receive a first TLS message comprising first authentication data from the communication device. The access GW node is configured to calculate second authentication data based on a 1st key and the 2nd key and for the received first TLS message. The 1st key is associated with a TLS connection between the access GW node and the communication device. The access GW node is configured to calculate third authentication data based on the 1st and 2nd keys and for a second TLS message to be transmitted. The access GW node is configured to transmit the second TLS message comprising the third authentication data to the communication device. The access GW node is configured to verify that the received first authentication data is substantially the same as the calculated second authentication data, and to authenticate the TLS connection between the access GW node and a communication device when the received first authentication data is successfully verified.
According to a fourth aspect, the object is achieved by a communication device of a non-3GPP access. The communication device is configured to generate a 2nd key derived during an authentication procedure of the communication device. The communication device is configured to calculate first authentication data based on a 1st key and the 2nd key and for a TLS message to be transmitted. The 1st key is associated with a TLS connection between an access GW node and the communication device. The communication device is configured to transmit a first TLS message comprising first authentication data to the access GW node. The communication device is configured to receive a second TLS message comprising third authentication data from the access GW node. The communication device is configured to calculate fourth authentication data based on the 1st and 2nd keys. The communication device is configured to verify that the received third authentication data is substantially the same as the calculated fourth authentication data, and to authenticate the TLS connection between the access GW node and the communication device when the received third authentication data is successfully verified.
Embodiments herein afford many advantages, of which a non-exhaustive list of examples follows:
One advantage of the embodiments herein is that they provide a TLS method to support 5G non-3GPP AN.
Another advantage of the embodiments herein is that they provide a secure connection for a communication device to connect to the 5G core from a trusted or untrusted non-3GPP AN.
A further advantage of the embodiments herein is that they eliminate the need to install a certificate on each communication device, while leveraging the higher layer (e.g. NAS) authentication to attain the same level of authenticity.
The embodiments herein are not limited to the features and advantages mentioned above. A person skilled in the art will recognize additional features and advantages upon reading the following detailed description.
The embodiments herein will now be further described in more detail in the following detailed description by reference to the appended drawings illustrating the embodiments and in which:
The drawings are not necessarily to scale and the dimensions of certain features may have been exaggerated for the sake of clarity. Emphasis is instead placed upon illustrating the principle of the embodiments herein.
The communication device 101 is adapted to be connected to a non-3GPP AN 106. The non-3GPP AN 106 may be one of the following:
The non-3GPP AN 106 comprises an access gateway (GW) node 103. The access GW node 103 may be an AGF or a FAGF 103a for a fixed AN or a RAN node 103b, N3IWF or TNGF for a trusted/untrutsted non-3GPP AN 106.
The communication device 101 may also be referred to as a client device and the access GW node 103 may be referred to as a server device.
The communication device 103 and the access GW node 103 may both be adapted to be connected to an AMF 105. The AMF 105 may be adapted to be connected to a CN function 140. The CN function 140 may be for example a SMF 108, an UPF 125 etc.
Table 1 below shows some examples of the different entities in the communication system in
It should be noted that the communication links in
Even though
Embodiments herein may be implemented to provide a secure link to a communication system as the one exemplified in
In addition, there may be other network functions such as e.g. one or more PCFs. Network Function is defined by the 3GPP as “A 3GPP adopted or 3GPP defined processing function in a network, which has defined functional behavior and 3GPP defined interfaces. A network function can be implemented either as a network element on a dedicated hardware, as a software instance running on a dedicated hardware, or as a virtualized function instantiated on an appropriate platform, e.g. on a cloud infrastructure.”
One example method of non-3GPP access for authentication of a TLS connection, between the access node 103 and a communication device 101 will now be described with reference to
Step 400
During an authentication procedure of the communication device 101, the communication device 101 generates a second (2nd) key. The 2nd key may be a 2nd authentication key, a 2nd security key, etc. The 2nd key comprises any suitable number of numbers or characters. The communication device 101 may generate the 2nd key upon request from another entity in the system, it may generate they 2nd key upon attach to the non-3GPP AN 106, it may generate they 2nd key on a regular basis etc.
Step 401
The CN function 140 generates the 2nd key and sends it to the access GW node 103. The 2nd key may be a 2nd authentication key, a 2nd security key, etc. The access GW node 103 receives the 2nd key from the CN function 140. The CN function 140 may generate the 2nd key upon request from the access GW node 103 or from another node in the system, it may generate the 2nd key upon attach to the non-3GPP AN 106, it may generate the 2nd key on a regular basis etc. The 2nd key generated by the CN function 140 in step 401 is the same as the 2nd key generated by the communication device 101 in step 400.
Steps 400 may be performed before step 401, step 401 may be performed before step 400 or steps 400 and 401 may be performed at the same time.
Step 402
The communication device 101 calculates first authentication data based on the 1st key and the 2nd key from step 400. In more detail, the first authentication data is calculated based on the 1st key from the ongoing TLS connection and based on the 2nd key from the NAS user level authentication. The first authentication data may comprise a first Hash parameter or a first Authentication (Auth) parameter. The first authentication data is for a TLS message to be transmitted to the access GW node 103.
The 1st and 2nd keys are different keys, generated at different occasions and based on different input. The communication device 101 and the access GW node 103 may need to prove they have both these two keys and this may be done by calculating the authentication data based on both these keys.
Step 403
The communication device 101 transmits a first TLS message comprising the first authentication data to the access GW node 103. The access GW node 103 receives the first TLS message from the communication device 101.
Step 404
The access GW node 103 calculates second authentication data based on the 1st key and the 2nd key from step 401 and for the received first TLS message.
Step 405
The access GW node 103 calculates third authentication data based on the 1st and 2nd keys and for a second TLS message to be transmitted.
Step 406
The access GW node 103 sends a second TLS message comprising third authentication data to the communication device 101. The communication device 101 receives the second TLS message from the access GW node 103.
Steps 405 and 406 may be performed before or after step 407.
Step 407
The access GW node 103 verifies that the received first authentication data is substantially the same as the calculated second authentication data. The verification may be performed by comparing the first authentication data with the second authentication data. If the data are substantially the same, then they are successfully verified. If the data are not substantially the same, then they are not verified.
Step 408
The communication node 101 calculates fourth authentication data based on the 1st and 2nd keys.
Step 409
The communication node 101 verifies that the received third authentication data is substantially the same as the calculated fourth authentication data. The verification may be performed by comparing the third authentication data with the fourth authentication data. If the data are substantially the same, then they are successfully verified. If the data are not substantially the same, then they are not verified.
Steps 406, 408 and 409 may be performed before or after steps 402-404.
Step 410
When the communication node 101 and the access GW node 103 both have successfully verified the authentication data in steps 407 and 409, then the TLS connection is authenticated. Note that the TLS connection may also be referred to as a N3TT connection
There are at least the following alternative embodiments for authentication of the TLS connection:
For all alternatives above similar pre-authentication of the TLS connection setup and connection authentication negotiation may be used, which is described below.
The communication device 101 requests an establishment procedure to establish a TLS connection between the communication device 101 and the access GW node 103.
In order to establish a TLS connection, the communication device 101 shall attach to non-3GPP AN 106 and obtain configuration data such as an IP address.
When IP connectivity is established, the communication device 101 shall establish a TLS connection over IP.
In the pre-authentication TLS connection setup, the access GW node 103 will provide an access GW node certificate and authenticate to the communication device 101. The communication device 101 will not authenticate to the access GW node 103 and will also not provide a client certificate, which is already supported by TLS. The authentication of the communication device 101 will be deferred to NAS basing 5G registration phase under 3GPP credentials.
In the pre-authentication TLS connection setup, both the communication device 101 and the access GW node 103 will negotiate tunnel authentication modes as described below by using e.g. TLS hello extension. The procedures for each tunnel authentication method are exemplified in
When a TLS message such as e.g. a TLS finished message, is sent, the communication device 10 and the access GW node 103 shall use the TLS connection for transport of signaling traffic in general. The communication device 101 is expected to do the 5G registration which will include the authentication of the client. If the established TLS connection is not verified, the access GW node 103 may terminate the TLS connection unless connection authentication procedures (as specified below) can be successfully completed within a given time.
The alternatives 1-4 briefly mentioned above will now be described in more detail, i.e. the TLS connection setup with TLS connection authentication.
Alternative 1—TLS Finished Message Based Connection Authentication
The method for TLS connection authentication according to alternative 1 will now be described with reference to the signaling diagram in
Step 501
This step is shown in
Step 502
This step is shown in
The following extension may be added into hello extension to negotiate tunnel authentication mode:
A 1st key is used during the TLS connection establishment in step 502. The 1st key may be referred to as a 1st authentication key, a 1st security key etc. The 1st key may be based on a TLS_secret parameter, which will be described in more detail later. Both the communication device 101 and the access GW node 103 generate the 1st key when the ongoing TLS connection is setup. The 1st and 2nd keys are different keys, generated at different occasions and based on different input. The communication device 101 and the access GW node 103 may need to prove they have both these two keys and this may be done by calculating the authentication data based on both these keys.
Step 503
Registration via non-3GPP AN is performed, and this is done with steps 503a and 503b described below.
Step 503a
This step is shown in
Step 503b
This step is shown in
Step 504a
This step is shown in
Step 504b
This step is shown in
Steps 505a
This step is shown in
Step 505b
This step is shown in
Step 505c
This step is shown in
The access GW node 103 verifies the second authentication data by verifying that the second authentication data and the first authentication data are substantially equal.
Step 505d
This step is shown in
Step 505e
This step is shown in
Step 505f
This step is shown in
The communication device 101 verifies the fourth authentication data by verifying that the fourth authentication data and the third authentication data are substantially equal.
The TLS finished message may be used for tunnel authentication when direct_tauth mode or resume_tauth_mode using the hello extension (as exemplified in step 502) has be negotiated during the TLS handshake.
When the TLS finished message is used for tunnel authentication, the verify_data may be defined as value of AUTH. The AUTH may be calculated as follows:
AUTH Calculation
AUTH=PRF(master_secret, verification_label, Hash(TLS_secret+random))[0..auth_length−1];
Hash: A Hash of the handshake messages.
For the PRF: The Hash may be the Hash used as the basis for the PRF.
Verification_label: For the messages sent by the client, the string “client verified”. For sent by the access GW node 103, e.g. the server, the string “server verified”.
Random: It is the random value in the sending TLS hello message.
TLS_Secret: This is the TLS_master_secret defined by TLS, and is being used in the current TLS connection.
master_secret=PRF(user_session_key, “tauth master secret”, random)[0..47];
user_session_key: This is derived from a NAS level user authentication procedure. For example, if EAP-AKA′ is used as a user authentication method, it can be the EMSK derived from EAP-AKA′. The derivation function for EMSK can be defined by 3GPP.
Step 505g
This step is shown in
Step 506
Subsequent registration procedure via non-3GPP AN 106 and other procedures such as PDU session procedures are executed. One difference for fixed access compared to other IKE/IPSEC methods for untrusted non-3GPP AN is that NAS and AS are transferred in the TLS connection between the communication device 101 and the access GW node 103.
Step 507a-507b
The subsequent NAS PDU and/or AS PDU can be transferred on the authenticated TLS connection. A N3 message comprising the NAS PDU may be transmitted from the access GW node 103 via the AMF 105 to the CN function 140.
Alternative 2—TLS Session Resume Based Connection Authentication Method
The method for TLS connection authentication according to alternative 2 will now be described with reference to the signaling diagram in
Step 601
This step is shown in
Step 602
This step is shown in
In step 602, the communication device 101 performs a TLS handshake with the access GW node 103 to setup the TLS connection. During the handshake, the access GW node authentication is usually required and the access GW node certificate may be provided to the communication device 101. The communication device authentication is not required and it is not required to provide the communication device certificate to the access GW node 103. Communication device authentication will be deferred to NAS registration phase. TLS connection authentication mode for communication device authentication is negotiated using TLS hello extension. Note that negotiation of connection authentication method is optional.
A 1st key is used during the TLS connection establishment in step 602. The 1st key may be referred to as a 1st authentication key, a 1st security key etc. The 1st key may be based on a TLS_secret parameter, which will be described in more detail later. Both the communication device 101 and the access GW node 103 generate the 1st key when the ongoing TLS connection is setup. The 1st and 2nd keys are different keys, generated at different occasions and based on different input. The communication device 101 and the access GW node 103 may need to prove they have both these two keys and this may be done by calculating the authentication data based on both these keys.
Step 603
Registration via non-3GPP AN is performed, and this is done with steps 603a and 603b described below.
Step 603a
This step is shown in
Step 603b
This step is shown in
Step 604a
This step is shown in
Step 604b
This step is shown in
Step 605a
This step is seen in
Step 605b
This step is seen in
If resume failure meaning the TLS session id is not found by the access GW node 103, the full TLS setup procedure may be performed except that the authentication data, e.g. the verify_data parameter in the TLS Finished messages, calculation and usage will be followed.
Step 605c
This step is shown in
Step 605d
This step is shown in
Step 605e
This step is shown in
The communication device 101 verifies the fourth authentication data by verifying that the fourth authentication data and the third authentication data are substantially equal.
Steps 605f
This step is shown in
Step 605g
This step is shown in
Step 605h
This step is shown in
The access GW node 103 verifies the second authentication data by verifying that the second authentication data and the first authentication data are substantially equal.
Step 605i
This step is shown in
Step 606
Subsequent registration procedure via the non-3GPP AN 106 and other procedures such as PDU session procedures are executed. One difference for fixed access compared to other IKE/IPSEC methods for untrusted non-3GPP AN is that NAS and AS are transferred in the TLS connection between the communication device 101 and the access GW node 103.
Step 607a-607b
The subsequent NAS PDU and/or AS PDU can be transferred on the authenticated TLS connection. A N3 message comprising the NAS PDU may be transmitted from the access GW node 103 via the AMF 105 to the CN function 140.
Alternative 3 TLS Heartbeat Based Connection Authentication Method
The method for TLS connection authentication according to alternative 3 will now be described with reference to the signaling diagram in
Step 701
This step is shown in
Step 702
This step is shown in
In step 702, the communication device 101 performs a TLS handshake with the access GW node 103 to setup the TLS connection. During the handshake, the access GW node authentication is usually required and the access GW node certificate may be provided to the communication device 101. The communication device authentication is not required and it is not required to provide the communication device certificate to the access GW node 103. Communication device authentication will be deferred to NAS registration phase. TLS connection authentication mode for communication device authentication is negotiated using TLS hello extension. In this alternative 3, heartbeat_tauth_mode is negotiated. Note that negotiation of connection authentication method is optional.
A 1st key is used during the TLS connection establishment in step 702. The 1st key may be referred to as a 1st authentication key, a 1st security key etc. The 1st key may be based on a TLS_secret parameter, which will be described in more detail later. Both the communication device 101 and the access GW node 103 generate the 1st key when the ongoing TLS connection is setup. The 1st and 2nd keys are different keys, generated at different occasions and based on different input. The communication device 101 and the access GW node 103 may need to prove they have both these two keys and this may be done by calculating the authentication data based on both these keys.
Step 703a
This step is shown in
Step 703b
This step is shown in
Step 704a
This step is shown in
Step 704b
This step is shown in
Step 705
This step is shown in
Step 705a
This step is shown in
Step 705b
This step is shown in
The access GW node 103verifies the second authentication data by verifying that the second authentication data and the first authentication data are substantially equal.
Step 705c
This step is shown in
Step 705d
This step is shown in
Step 705e
This step is shown in
The communication device 101 verifies the fourth authentication data by verifying that the fourth authentication data and the third authentication data are substantially equal.
An example of the heartbeat messages will now be provided. The extension heartbeat messages may be used only when the heartbeat_tauth mode using hello extension (as exemplified in step 502) has be negotiated during the TLS handshake.
The verify_payload value exemplified in step 502 as AUTH value.
Step 706
This step is shown in
Step 707
This step is shown in
Step 707a-707b
This step is shown in
Alternative 4—TLS Inline Message Based Connection Authentication Method
The method for TLS connection authentication according to alternative 4 will now be described with reference to the signaling diagram in
Step 801
This step is shown in
Step 802
This step is shown in
In step 802, the communication device 101 performs a TLS handshake with the access GW node 103 to setup the TLS connection. During the handshake, the access GW node authentication is usually required and the access GW node certificate may be provided to the communication device 101. The communication device authentication is not required and it is not required to provide the communication device certificate to the access GW node 103. Communication device authentication will be deferred to NAS registration phase. TLS connection authentication mode for communication device authentication is negotiated using inline_tauth_mode. In this alternative 4, inline_tauth_mode is negotiated. Note that negotiation of connection authentication method is optional.
A 1st key is used during the TLS connection establishment in step 801. The 1st key may be referred to as a 1st authentication key, a 1st security key etc. The 1st key may be based on a TLS_secret parameter, which will be described in more detail later. Both the communication device 101 and the access GW node 103 generate the 1st key when the ongoing TLS connection is setup. The Pt and 2nd keys are different keys, generated at different occasions and based on different input. The communication device 101 and the access GW node 103 may need to prove they have both these two keys and this may be done by calculating the authentication data based on both these keys.
Step 803a
This step is shown in
Step 803b
This step is shown in
Step 804a
This step is shown in
Step 804b
This step is shown in
Step 805a
This step is shown in
Step 805b
This step is shown in
Step 805c
This step is shown in
The access GW node 103 verifies the second authentication data by verifying that the second authentication data and the first authentication data are substantially equal.
Step 805d
This step is shown in
Step 805e
This step is shown in
The inline tunnel authentication mode may be used when inline_tauth_mode using hello extension has been negotiated during the TLS handshake. The AUTH value calculation is exemplified in step 505f.
The AUTH calculation is same definition in section step 505f expect those specified in following. The content of the HASH is the TLS application-data message that is carrying the line message.
Step 805f
This step is shown in
The communication device 101 verifies the fourth authentication data by verifying that the fourth authentication data and the third authentication data are substantially equal.
Step 805g
This step is shown in
Step 806
This step is shown in
step 606 in
Step 807a-807b
This step is shown in
For all the alternatives 1-4 above, the following applies for TLS connection maintenance Both the communication node 101 and the access GW node 103 can initiate TLS heartbeat messages for keeping the TLS connection alive. Both the communication device 101 and the access GW node 103 can send a TLS close_notify alert message according to the TLS profile specified in 3GPP TS 33.310 annex E to release an TLS connection, for example when the upper AS level connection is closed. The method described above will now be described seen from the perspective of the access GW node 103 of a non-3GPP access.
The method comprises at least one of the following steps to be performed by the access GW node 103, which steps may be performed in any suitable order than described below:
Step 900
This step corresponds to steps 501-502 in
Step 901
This step corresponds to step 503a in
Step 902
This step corresponds to step 503b in
Step 903
This step corresponds to step 400 in
The 2nd key may be based on at least one of an EMSK, a MSK and a master_secret key.
Step 904
This step corresponds to step 403 in
The received first TLS message may be a received first TLS finished message, or a received first TLS heartbeat message, or a received first TLS Data message.
The first authentication data may comprise a first Hash parameter or a first Auth parameter.
Step 905
This step corresponds to step 404 in
The second authentication data may comprise a second Hash parameter or a second Auth parameter.
The 1st and 2nd keys are different keys, generated at different occasions and based on different input. The communication device 101 and the access GW node 103 may need to prove they have both these two keys and this may be done by calculating the authentication data based on both these keys.
Step 906
This step corresponds to step 405 in
The third authentication data may comprise a third Hash parameter or a third Auth parameter.
Step 907
This step corresponds to step 406 in
The transmitted second TLS message may be a transmitted second TLS finish message or a transmitted second TLS heartbeat message or a transmitted second TLS data message.
Step 908
This step corresponds to step 407 in
Step 909
This step corresponds to step 410 in
To perform the method steps shown in
The access GW node 103 is configured to, e.g. by means of a receiving module 1001, receive, from a CN function 140, a 2nd key derived during an authentication procedure of a communication device 101. The 2nd key may be based on at least one of an EMSK, a MSK and a master_secret key. The received first TLS message may be a received first TLS finished message, or a received first TLS heartbeat message, or a received first TLS Data message 805b. The receiving module 1001 may also be referred to as a receiving unit, a receiving means, a receiving circuit, means for receiving, input unit etc. The receiving module 1001 may be a receiver, a transceiver etc. The receiving module 1001 may be a wireless receiver of the access GW node 103 of a wireless or fixed communications system.
The access GW node 103 is configured to, e.g. by means of the receiving module 1001, receive a first TLS message comprising first authentication data from the communication device 101. The first authentication data may comprise a first Hash parameter or a first Auth parameter,
The access GW node 103 is configured to, e.g. by means of a calculating module 1003, calculate second authentication data based on a 1st key and the 2nd key and for the received first TLS, message. The 1st key is associated with a TLS connection between the access GW node 103 and the communication device 101. The second authentication data may comprise a second Hash parameter or a second Auth parameter. The calculating module 1003 may also be referred to as a calculating unit, a calculating means, a calculating circuit, means for calculating etc. The calculating module 1003 may be a processor 1005 of the access GW node 103 or comprised in the processor 1005 of the access GW node 103.
The access GW node 103 is configured to, e.g. by means of the calculating module 1003, calculate third authentication data based on the 1st and 2nd keys and for a second TLS message to be transmitted. The third authentication data may comprise a third Hash parameter or a third Auth parameter.
The access GW node 103 is configured to, e.g. by means of a transmitting module 1008, transmit the second TLS message comprising the third authentication data to the communication device 101. The transmitted second TLS message may be a transmitted second TLS finish message or a transmitted second TLS heartbeat message or a transmitted second TLS data message. The transmitting module 1008 may also be referred to as a transmitting unit, a transmitting means, a transmitting circuit, means for transmitting, output unit etc. The transmitting module 1008 may be a transmitter, a transceiver etc. The transmitting module 1008 may be a wireless transmitter of the access GW node 103 of a wireless or fixed communications system.
The access GW node 103 is configured to, e.g. by means of a verifying module 1010, verify that the received first authentication data is substantially the same as the calculated second authentication data. The verifying module 1010 may also be referred to as a verifying unit, a verifying means, a verifying circuit, means for verifying etc. The verifying module 1010 may be the processor 1005 of the access GW node 103 or comprised in the processor 1005 of the access GW node 103.
The access GW node 103 is configured to, e.g. by means of an authentication module 1013, authenticate the TLS connection between the access GW node 103 and a communication device 101 when the received first authentication data is successfully verified. The authentication module 1013 may also be referred to as an authentication unit, an authentication means, an authentication circuit, means for authentication etc. The authentication module 1013 may be the processor 1005 of the access GW node 103 or comprised in the processor 1005 of the access GW node 103.
The access GW node 103 may be configured to, e.g. by means of an establishing module 1015, establish the TLS connection with the communication device 101. The establishing module 1015 may also be referred to as an establishing unit, an establishing means, an establishing circuit, means for establishing etc. The establishing module 1015 may be the processor 1005 of the access GW node 103 or comprised in the processor 1005 of the access GW node 103.
The access GW node 103 may be configured to, e.g. by means of the receiving module 1001, receive a registration request from the communication device 101 via the TLS connection. The registration request may comprise a NAS PDU, and/or an AS PDU.
The access GW node 103 may be configured to, e.g. by means of the transmitting module 1008, transmit the registration request comprising the NAS PDU to the CN function 140.
The access GW node 103 may comprise a memory 1018. The memory 1018 comprises instructions executable by the processor 1005.
A first computer program may comprise instructions which, when executed on at least one processor, cause the at least one processor to carry out the method steps 900-909. A first carrier may comprise the first computer program, and the first carrier is one of an electronic signal, optical signal, radio signal or computer readable storage medium.
The method described above will now be described seen from the perspective of the communication device 101 of a non-3GPP access.
Step 1100
This step corresponds to steps 501-502 in
Step 1101
This step corresponds to 503a in
Step 1102
This step corresponds to step 401 in
The 2nd key may be based on at least one of an EMSK, a MSK and a master_secret key.
Step 1103
This step corresponds to step 402 in
The first authentication data may comprise a first Hash parameter or a first Auth parameter.
Both the communication device 101 and the access GW node 103 may generate the 1St key when the ongoing TLS connection is established.
The 1st and 2nd keys are different keys, generated at different occasions and based on different input. The communication device 101 and the access GW node 103 may need to prove they have both these two keys and this may be done by calculating the authentication data based on both these keys.
Step 1104
This step corresponds to step 403 in
The transmitted first TLS message may be a transmitted first TLS finished message, or a transmitted first TLS heartbeat message, or a transmitted first TLS Data message.
Step 1105
This step corresponds to step 406 in
The received second TLS message may be a received second TLS finish message or a received second TLS heartbeat message or a received second TLS data message.
The third authentication data may comprise a third Hash parameter or a third Auth parameter.
Step 1106
This step corresponds to step 408 in
The fourth authentication data may comprise a fourth Hash parameter or a fourth Auth parameter.
Step 1107
This step corresponds to step 409 in
Step 1108
This step corresponds to step 410 in
To perform the method steps shown in
The communication device 101 is configured to, e.g. by means of a generating module 1201, generate a 2nd key derived during an authentication procedure of the communication device 101. The generating module 1201 may also be referred to as a generating unit, a generating means, a generating circuit, means for generating etc. The generating module 1201 may be a processor 1203 of the communication device 101 or comprised in the processor 1203 of the communication device 101.
The communication device 101 is configured to, e.g. by means of a calculating module 1205, calculate first authentication data based on a 1st, key and the 2nd key and for a TLS message to be transmitted. The 1st key is associated with a TLS connection between an access GW node 103 and the communication device 101. The 2nd key is based on at least one of an EMSK, a MSK and a master_secret key. The first authentication data may comprise a first Hash parameter or a first Auth parameter. The calculating module 1205 may also be referred to as a calculating unit, a calculating means, a calculating circuit, means for calculating etc. The calculating module 1205 may be the processor 1203 of the communication device 101 or comprised in the processor 1203 of the communication device 101.
The communication device 101 is configured to, e.g. by means of a transmitting module 1208, transmit a first TLS message comprising first authentication data to the access GW node 103. The transmitted first TLS message may be a transmitted first TLS finished message, or a transmitted first TLS heartbeat message, or a transmitted first TLS Data message. The transmitting module 1208 may also be referred to as a transmitting unit, a transmitting means, a transmitting circuit, means for transmitting, output unit etc. The transmitting module 1208 may be a transmitter, a transceiver etc. The transmitting module 1208 may be a wireless transmitter of the communication device 101 of a wireless or fixed communications system.
The communication device 101 is configured to, e.g. by means of a receiving module 1210, receive a second TLS message comprising third authentication data from the access GW node 103. The received second TLS message may be a received second TLS finish message or a received second TLS heartbeat message or a received second TLS data message. The third authentication data may comprise a third Hash parameter or a third Auth parameter. The receiving module 1210 may also be referred to as a receiving unit, a receiving means, a receiving circuit, means for receiving, input unit etc. The receiving module 1210 may be a receiver, a transceiver etc. The receiving module 1210 may be a wireless receiver of the communication device 101 of a wireless or fixed communications system.
The communication device 101 is configured to, e.g. by means of the calculating module 1205, calculate fourth authentication data based on the 1st and 2nd keys. The fourth authentication data may comprise a fourth Hash parameter or a fourth Auth parameter.
The communication device 101 is configured to, e.g. by means of a verifying module 1213, verify that the received third authentication data is substantially the same as the calculated fourth authentication data. The verifying module 1213 may also be referred to as a verifying unit, a verifying means, a verifying circuit, means for verifying etc. The verifying module 1213 may be the processor 1203 of the communication device 101 or comprised in the processor 1203 of the communication device 101.
The communication device 101 is configured to, e.g. by means of an authentication module 1215, authenticate the TLS connection between the access GW node 103 and the communication device 101 when the received third authentication data is successfully verified. The authentication module 1215 may also be referred to as an authentication unit, an authentication means, an authentication circuit, means for authentication etc. The authentication module 1215 may be the processor 1203 of the communication device 101 or comprised in the processor 1203 of the communication device 101.
The communication device 101 is configured to, e.g. by means of an establishing module 1218, establish the TLS connection with the access GW node 103. The establishing module 1218 may also be referred to as an establishing unit, an establishing means, an establishing circuit, means for establishing etc. The establishing module 1215 may be the processor 1203 of the communication device 101 or comprised in the processor 1203 of the communication device 101.
The communication device 101 is configured to, e.g. by means of the transmitting module 1208, transmit a registration request to the access node 103 via the TLS connection. The registration request comprises a NAS PDU, and/or an AS, PDU.
The communication device 101 may comprise a memory 1220. The memory 1220 comprises instructions executable by the processor 1203.
A second computer program may comprise instructions which, when executed on at least one processor, cause the at least one processor to carry out the method steps 1100-1108. A second carrier may comprise the second computer program, and the second carrier is one of an electronic signal, optical signal, radio signal or computer readable storage medium.
Summarized, the embodiments herein relate to TLS based methods to support secure signaling transport to 5G converged core through non-3GPP/fixed access. The TLS connection may be referred to as a named non-3GPP TLS tunnel (N3TT) which is established between the communication device 101 (UE 101a or RG 101b) and the access GW node 103 (e.g. N3IWF 1013a or AGF 103b) in the non-3GPP AN 106. The embodiments herein support secure TLS connection authentication for N3TT basing on credentials of 3GPP registration.
The embodiments herein are applicable to all non-3GPP access including fixed access. They are also applicable to an untrusted network environment but also to a trusted network where integrity protection is still considered.
The embodiments herein are not limited to the above described embodiments. Various alternatives, modifications and equivalents may be used. Therefore, the above embodiments should not be taken as limiting the scope of the embodiments, which is defined by the appended claims. A feature from one embodiment may be combined with one or more features of any other embodiment.
It should be emphasized that the term “comprises/comprising” when used in this specification is taken to specify the presence of stated features, integers, steps or components, but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof. It should also be noted that the words “a” or “an” preceding an element do not exclude the presence of a plurality of such elements.
The term “configured to” used herein may also be referred to as “arranged to”, “adapted to”, “capable of” or “operative to”.
It should also be emphasised that the steps of the methods defined in the appended claims may, without departing from the embodiments herein, be performed in another order than the order in which they appear in the claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2018/089505 | 6/1/2018 | WO | 00 |