This invention is related to a secure system and a method of performing authentication and authorization, more specifically, to a method of performing the authentication and the authorization in Proximity based Service (ProSe) communication.
3 GPP (3rd Generation Partnership Project) has started to study Proximity based Services (ProSe) for both commercial and public safety uses. 3GPP SA1 (Services Working Group) has initiated some security requirements for secure communication, UE (User Equipment) identity, and privacy protection.
ProSe represents a recent and enormous socio-technological trend. The principle of these applications is to discover instances of the applications running in devices that are within proximity of each other, and ultimately to also exchange application-related data. In parallel to this, there is interest in proximity-based discovery and communications in the public safety community.
ProSe communication can provide services to the UEs in proximity via an eNB (Evolved Node B) or without the eNB. The SA1 requires that the ProSe service be provided to UEs with or without network coverage. The UEs can discover other nearby UEs or be discovered by other UEs, and they can communicate with each other. Some use cases can be found in NPL 1.
NPL 1: 3GPP TR 22.803 Feasibility study for Proximity Services (ProSe), (Release 12)
However, despite the security issues involving authentication and authorization for direct communication as well as privacy issues, 3GPP SA3 offers no security solution.
The present invention has been made to present an overall security solution for the above-mentioned security issues.
In one embodiment, there is provided a method of performing authentication and authorization in Proximity based Service (ProSe) communication by a requesting device which sends a request of a communication and a receiving device which receives the request from the requesting device, the method including deriving session keys Kpc and Kpi from an unique key Kp at the requesting and receiving devices, using the session keys Kpc and Kpi for ProSe communication setup and direct communication between the requesting and receiving devices, starting the direct communication with the requesting and receiving devices. The key Kpc is confidentiality key and the key Kpi is integrity protection key.
In another embodiment, there is provided a secure system including a plurality of User Equipments (UEs), and a Proximity based Service (ProSe) server, including a requesting device which sends a request of a communication, and a receiving device which receives the request from the requesting device. The requesting and receiving devices derive session keys Kpc and Kpi from an unique key Kp. The requesting and receiving devices use the session keys Kpc and Kpi for ProSe communication setup and direct communication between the requesting and receiving devices. The requesting and receiving devices start the direct communication with the requesting and receiving devices. The key Kpc is confidentiality key and the key Kpi is integrity protection key.
A secure system and a method of making a secure communication can present an overall security solution for security issues.
The above and other objects, advantages and features of the present invention will be more apparent from the following description of certain preferred embodiments taken in conjunction with the accompanying drawings, in which:
For purposes of the description hereinafter, the terms “upper”, “lower”, “right”, “left”, “vertical”, “horizontal”, “top”, “bottom”, “lateral”, “longitudinal”, and derivatives thereof shall relate to the invention as it is oriented in the drawing figures. However, it is to be understood that the invention may assume alternative variations and step sequences, except where expressly specified to the contrary. It is also to be understood that the specific devices and processes illustrated in the attached drawings, and described in the following specification, are simply exemplary embodiments of the invention. Hence, specific dimensions and other physical characteristics related to exemplary embodiments disclosed herein are not to be considered as limiting.
In the exemplary embodiments, though the security solutions with a focus on specifically direct communication, discovery, and communication will be explained, the solutions can be applied to other communications as well.
Firstly, definitions given in 3GPP TR 21.905: “Vocabulary for 3 GPP Specifications” will be explained.
A communication between two or more UEs in proximity that are ProSe-enabled, by means of user plane transmission using E-UTRAN technology via a path not traversing any network node.
A UE that supports ProSe requirements and associated procedures. Unless explicitly stated otherwise, a Prose-enabled UE refers both to a non-public safety UE and a public safety UE.
A ProSe-enabled UE that also supports ProSe procedures and capabilities specific to Public Safety.
A UE that supports ProSe procedures but not capabilities specific to public safety.
A procedure employed by a ProSe-enabled UE to discover other ProSe-enabled UEs in its vicinity by using only the capabilities of the two UEs with rel. 12 E-UTRAN technology.
A process by which the EPC determines the proximity of two ProSe-enabled UEs and informs them of their proximity.
When the UEs 11 and 12 involved in the ProSe Communication are served by different eNBs 19, 20 and network coverage is available, a system 100b can decide to perform ProSe Communication using control information exchanged between the UEs 11, 12, eNB 19 and the EPC 14 (e.g., session management, authorization, security) as shown by the solid arrows in
If network coverage is available for a subset of the UEs, one or more Public Safety UEs may relay the radio resource management control information for other UEs that do not have network coverage.
If network coverage is not available, the control path can exist directly between Public Safety UEs. In this configuration, the Public Safety UEs can rely on pre-configured radio resources to establish and maintain the ProSe Communication. Alternatively, a Public Safety Radio Resource Management Function, which can reside in a Public Safety UE, can manage the allocation of radio resources for Public Safety ProSe Communication.
The UE 11 and the UE 12 can communicate through a PC5, the UE 11 and the E-UTRAN 13 communicate through LTE-Uu1, and the UE 12 can communicate with the E-UTRAN 13 and the ProSe Function through LTE-Uu2 and a PC3, respectively. The EPC 14 and the ProSe Function 15 can communicate through a PC4, the ProSe APP server 16 can communicate with the EPC 14 and the ProSe APP 18 through a SG1 and a PC1, respectively, and the ProSe Function 15 can communicate by itself through a PC6.
As described above, existing keys can be used when using an infrastructure, i.e., via eNodeB. However, a new solution is needed for device-to-device direct discovery and communication; for example, a key can be sent from the network to communicating parties, a key can be created between communicating parties, or a similar algorithm for negotiation can be used directly or via the network. Further, a new solution is also needed for the security over the unlicensed spectrum.
Two different modes for ProSe Direct Communication one-to-one are supported:
Network independent direct communication: This mode of operation for ProSe Direct Communication does not require any network assistance to authorize the connection and communication is performed by using only functionality and information local to the UE. This mode is applicable only to pre-authorized ProSe-enabled Public Safety UEs, regardless of whether the UEs are served by E-UTRAN or not.
Network authorized direct communication: This mode of operation for ProSe Direct Communication always requires network assistance and may also be applicable when only one UE is “served by E-UTRAN” for Public safety UEs. For non-Public Safety UEs both UEs must be “served by E-UTRAN”.
It is the reference point between the ProSe application 18 in the UE 12 and in the ProSe App Server 16. It is used to define application level requirements.
It is the reference point between the ProSe App Server 16 and the ProSe Function 15. It is used to define the interaction between the ProSe App Server 16 and ProSe functionality provided by the 3GPP EPS via the ProSe Function 15. One example of use of it may be for application data updates for a ProSe database in the ProSe Function 15. Another example of use of it may be data for use by the ProSe App Server 16 in interworking between 3GPP functionality and application data, e.g. name translation.
It is the reference point between the UE 12 and the ProSe Function 15. It is used to define the interaction between the UE 12 and the ProSe Function 15. An example of use of it is for configuration for ProSe discovery and communication.
It is the reference point between the EPC 14 and the ProSe Function 15. It is used to define the interaction between the EPC 14 and the ProSe Function 15. Possible use cases of it may be when setting up a one-to-one communication path between UEs or when validating ProSe services (authorization) for session management or mobility management in real time.
It is the reference point between the UE 11 to the UE 12 used for control and user plane for discovery and communication, for relay and one-to-one communication (between UEs directly and between UEs over LTE-Uu).
This reference point may be used for functions such as ProSe Discovery between users which are subscribed to different PLMNs.
In addition to the relevant functions defined in TS 29.061 via SGi, it may be used for application data and application level control information exchange.
Assuming that the network coverage is available for UEs, broadcasting is presented as an example in this exemplary embodiment, but this exemplary embodiment also applies to multiple-casting and one-to-one communications as shown in
From setting up of a group till communication termination, security is needed in each step as described below. Note that steps L1-L 4 can be in a different order depending on the service or application.
Members can join securely, members can leave securely, and an authorization level of service and each of the members, and any other required information can be modified securely.
L2: Secure Discovery should Happen
If discovery is not secured, a device may start communication with a wrong party or a rogue device, with the result that masquerading attacks can happen that in turn could lead to fraudulent charging. For this purpose, the discovery related communication must be secured, i.e., a UE authenticates identity of other UEs in proximity; integrity protection for discovery and a device should be able to authenticate the message.
The initial authorization based on secure discovery will lead to the decision that the discovered device belongs to the group, and thus the next step can start.
Once the device is discovered and authorized as a part of the group, there should be a mutual authentication; otherwise there is still a scope of attacks.
The next level of authorization will find out what services can be used between the devices which belong to the same group. For example, a UE is allowed to send and receive different types of messages or is only allowed to receive broadcasting messages.
The UEs which belong to the same group should have keys to protect their communication such that other UEs which do not belong to the group or an attacker cannot eavesdrop or alter the messages.
The communication between UEs in the same group can be protected by the security association, with integrity and/or confidentiality protection according to the subscription service type.
The secure termination can provide security when UE(s) suspend terminate the communication, or when the entire group or communication is terminated.
The detailed method of performing a secure communication of an exemplary embodiment of the invention that fulfills the security requirements will be explained in the following sections.
A group can be
A group can be set up for different communication purposes, and group members can be changed. To form a group, the operator network L02 can check the requesting UE L01 which requests the UE L03 which it wants to communicate with, verify devices if they can communicate with each other, and inform the verified devices at both sides (the requesting UE L01 and the receiving UE L03) of the request and formation.
Hereinafter one example of creating a group will be explained. As shown in
For creating a secure group, UEs 100 must agree to be a part of the group, and only “agreed” UEs 100 become group members. A group management includes adding group members, removing group members, ending the group, and adding temporary group members. Each UE 100 can see who is in proximity from e.g. a social network application, and requests for ProSe service, and the ProSe server needs to perform the authorization, but does not have to perform discovery.
Discovery and group creation in [1] can happen at the same time or be independent procedure.
There can be following three means that a UE (the requesting UE L01) can discover other UEs (the receiving UEs L03) in proximity: (1) Broadcast based, (2) Network based, and (3) Device service level information based. How secure discovery can be done will be described as follows.
There are six ways (s1-s6) in Broadcast based solution:
The broadcast message can contain a token that only the given UEs can have. The token should be used only once to prevent the receiving side from reusing it. In order to reach that, the UEs can calculate a token each time on receiving the broadcast message, or the network can inform all the UEs of the token to be used next. This can be used for such a use case as an information notification kind of service, since the token can be reused by the receiving side.
The broadcast message can be signed by a key that can be verified either by the receiving UEs or by the network for the receiving UEs. Signing can happen by different key management solutions or it can happen using the current keys for communicating with the infrastructure network (or derivation from current keys)—a new key hierarchy might be needed here.
The broadcast message can have an ID that can be verified during the authentication and is used initially only for authorization.
The broadcast message can contain a random value that can only be generated by the network and UE. Verification of the random value is done by the network on behalf of communicating UEs.
Each UE has a specific key belonging to other devices, and thus it sends a potentially long broadcast or a new type of broadcast that is sent in pieces with encrypted/integrity protected parts for each UE in the group.
The broadcast message can be signed with time-stamp and life-time. Note that this life-time can be a very short period or can last until the next broadcast.
A network can provide information. For this purpose, the network can use the location information received from the UE (the requesting UE L01), and the location information can be protected by the existing network security mechanism.
The requesting UE L01 can use location information provided by a social network or other services. Security can be ensured in an application layer.
Detailed examples of the discovery will be explained. The UE 100 can set features and/or capabilities of Discovery/Discoverable in D2D (device-to-device communication) server.
If the UE 100 does not know whether the other UEs are in proximity, the UE 100 can request the ProSe server for the ProSe service, and the ProSe server can send out the request for the ProSe service and meanwhile get the other UEs location information.
If the UE 100 can see who is in proximity from e.g. a social network application, and asks for service, the ProSe server needs to perform the authorization but does not have to perform Discovery.
If the ProSe server performs the authorization, the UEs 100 enable the ProSe and/or UEs 100 to be allowed to get given service/communication means.
If the discovery is done based on the proximity of UEs 100, the UE 100 sends location information periodically protected by a unicast security context. The network 200 requests location information when needed or periodically. The request (step 3) can be broadcasted, and the broadcasted message requires security. The response (step 4) can be protected by the unicast security context.
The Network stores the conditions for proximity, which can also be given by the requesting and receiving UE. The network 200 can broadcast to the receiving UEs in a neighborhood which are allowed to be discovered, and the UEs respond with protected messages. The UE 100 informs the network 200 of its conditions and capabilities at a first communication and/or registration or when any change happens.
The broadcast based solutions by the network 200 or the UE 100 require one or more of the following requirements. That is, the receiving side should be able to verify the source, the broadcast message should not be re-used, the network 200 which receives the response should be able to verify it, or the response should be discarded if it is too long. The UE 100 can use one or more of solutions for performing secure discovery. The solutions include a token, a sign, a message, a message ID, a random value, keys, and stamps. Note that those solutions can be used in the step 5 (mutually authenticate, the authentication L4), in the step 6 (authorize, the authorization L5), and in the step 7 (generate keys and negotiate algorithm, the secure communication L7), as shown in
The initial authorization varies according to the above discovery solution.
Whether the requesting UE L01 is allowed to communicate with the receiving UE L03 can be checked by a network or by the receiving UE L03 having a proof provided by the network.
The requesting UE L01 and the receiving UE L03 can perform a mutual authentication over the direct wireless interface.
The receiving UE L03 checks a list maintained by the user or in a UE among the members of the group of devices for ProSe service purpose.
Once the requesting UE L01 is identified as belonging to the same group, then authentication takes place. Authentication can be carried out locally or by interacting with the network.
This can be performed by successful identification of the requesting UE L01 by a network or a UE with a proof from a network.
This can be performed by
There should be different levels for access control to services that the requesting UE L01 and the receiving UE L03 (hereinafter also referred to as “UE”) can use within the group.
A network can set up and provide the policy to the group members including the requesting UE L01 and the receiving UE L03 according to UE capabilities and user subscriptions.
The network 200 performs authorization for the UEs 100 want to join the group. The group member of UEs 100 verify whether other UEs are authorized by the network by using the session keys. Another method for performing validated authorization is done by (1) a network sending an authorization value to each UE 100, and each UE 100 uses this value to perform authorization on each other, or (2) Yet another method for performing a validated authorization is done by sending an authorization value from a requesting UE to a receiving UE, and then the receiving UE requests the Network to validate this authorization value and receiving result.
A new key hierarchy is presented in this exemplary embodiment of the invention. Key Kp is a key related to the group and also may related to a ProSe service. It has an indicator KSI_p related to it. Kp can be sent from ProSe Server to use.
Keys, Kpc and Kpi are session keys that are derived from Kp at UEs. Kpc is a confidentiality key and Kpi is an integrity protection key. The session keys are used for UE to perform authorization for each other, and ProSe communication setup, and have the direct communication between them.
After authorization and authentication, the communicating devices including the requesting UE L01 and the receiving UE L03 can start sessions to communicate with each other. When the requesting UE L01 and the receiving UE L03 communicate with each other, they should share communication keys. The keys can be a group key, and/or a unique key per communicating device as well as a session key per each session.
The key can be managed by the network and sent over the secure communication channel with the network. Alternatively, the key can be managed by the requesting UE L01 and sent to other devices including the receiving UE L03 in the communication, over a secure unicast communication channel that can be secured by the network during authentication or verification. The key can also be issued by a third trusted party.
The UEs 100 authenticate each other at the beginning of a session (S5). The authentication is linked to authorization (S6).
When the session is started, firstly session keys are generated. In this exemplary embodiment, the requesting UE L01 (UEa 21, the UEa 31) and the receiving UE L03 (UEb 22, the UEb 32, the UEc 33, the UEn_33n) use two kinds of keys including session keys.
Each group has a key Kp for each service (Kp is served as a service key) and a new session key is created for each session.
Each group has the key Kp (Kp is served as a group key), and a new session key is created for each session.
In each case, either the ProSe server or the requesting UE L01 sends keys. For example, the ProSe server sends the key Kp to the requesting UE L01 and the receiving UE(s) L03, and the requesting UE L01 sends a session key to the receiving UE(s) L03 every session. Alternatively, the ProSe server sends both of the key Kp and the session key to the requesting UE L01 and the receiving UE(s) L03, or the requesting UE L01 sends both of the key Kp and the session key to the receiving UE(s) L03.
Further, when the group changes if someone leaves or is added, when a session ends or a key times out, or when the ProSe server has made a decision, for example, the key Kp and/or the session key should be changed.
If the ProSe Server allocates the key Kp to UEs, UEs derive session keys from that for authorization and communication. UEs can be pre-configured with algorithms for key derivation, or the key Kp is related to a KSI (key set identifier) and a service. Because of them, the security problems during UEs' authentication and authorization or the security problems of a key for direct communication may be solved.
Note that the key set identifier (KSI) is a number which is associated with the cipher and integrity keys derived during the authentication. The key set identifier can be allocated by the network and sent with the authentication request message to the mobile station where it is stored together with a calculated cipher key CK and an integrity key IK. The purpose of the key set identifier is to make it possible for the network to identify the cipher key CK and integrity key IK which are stored in the mobile station without invoking the authentication procedure. This is used to allow re-use of the cipher key CK and integrity key IK during subsequent connections (session).
Secure communication can provide message transmission availability between group member UEs, as well as preventing a message from being eavesdropped on or altered by UEs that do not belong to the group. Also the secure communication can prevent UE from using an unauthorized service.
The communication within the group should have integrity and/or confidentiality protection. All the communications can be protected by the session keys described above, after the security association is established.
The security policy can be a negotiation and an agreement within the group with or without the support of the operator network L02. All the group members should follow the security policy.
Next, the security in the case where UEs' location change happens will be explained. If none of UEs has a location change, there is no security issue. Further, if all of the UEs have a changed location, but stayed in proximity to each other, then there is still no security issue.
If a part of UEs (one or more UEs) have moved out of proximity from other UEs and they do not use the ProSe service, group and security management need to be updated for the remaining UEs in the group. Alternatively, if one or more UEs have moved out of proximity from the UEs and they want to keep the ProSe service with each other, group and security management need to be updated for the remaining UEs in the group, and a new group and security are needed for the traveler.
Note that the ProSe Server should get UE location information from GMLC (Gateway Mobile Location Center) periodically, to compare and compute the location differences of all UEs.
When the communication is to be suspended, devices should remove the session key while keeping information of the authentication and authorization.
When the communication is to be terminated, the devices can keep history information, or the allocated token with a lifetime for the next use time to prevent signaling for authentication and authorization again.
Smooth handover from an infrastructure to a direct mode will require creation of a key between communicating parties (the requesting UE L01 and the receiving UE L03) before a handover happens. For example, if communicating parties are using WiFi, a key should be allocated to WiFi AP and UEs. The WiFi AP and UEs should authorize and authenticate each other. The key should have a limited life-time. A network can recognize which WiFi AP the UE can communicate with. UEs can find that there is a WiFi AP nearby and the network verifies the WiFi AP. UEs authenticate with the ProSe Server when UEs connect to a WiFi AP. One option is that the ProSe Function can allocate keys for the UEs to communicate with a ProSe APP Server.
To summarize the above description, the method of making a secure communication of an exemplary embodiment includes the following features:
According to the secure system of an exemplary embodiment, the operator network L02 can determine the receiving UE(s) L03 with which the requesting UE L01 can communicate, and can ensure secure discovery by either providing security parameters to the requesting UE L01 or receiving UE L03, and providing location information of the receiving UE L03 to the requesting UE L01. Furthermore, the operator network L02 can perform authentication and authorization for the requesting UE L01 and receiving UE L03, and can support security association between UEs to secure ProSe communication.
Next, a more detailed method of performing the authentication and authorization, and establishing the security association with each other for the direct communication will be explained.
As described above, there are three types of direct communication between UEs, i.e. 1) One-to-one, 2) One-to-many, and 3) Many-to-many as shown in
A UEa is a Requesting UE. A UEb, a UEc, and other UEs are Receiving UEs. The UEs set up direct communication with each other and protect the communication with keys they share.
A new key hierarchy is presented in this invention. Key Kp is a key related to the ProSe service ID, and has an indicator KSI_p related to it. Kp can be sent from the ProSe Server to UEs in a ProSe Service Result message, or can be sent from the ProSe Server when UEs are registered to the ProSe Server. Kpc and Kpi are session keys derived from Kp at UEs. Kpc is a confidentiality key and Kpi is an integrity protection key. The session keys are used for ProSe communication setup and the direct communication between them.
Assuming that UEs are authenticated to the network and registered to the ProSe Server. The Discovery procedure is completed as described above. The detail message sequence and description of the three cases are given below.
There are only two UEs in proximity having direct communication with each other. In one-to-one communication, Kp can also be allocated to UEs at UE registration to the ProSe server. Considering the one-to-one type of communication is rather for a dynamic demand, not dedicated to a certain type of service, it is more efficient that the ProSe server distributes the keys when the communication is required.
There is a group of UEs having direct communication in which the requesting UE can send broadcasting messages to other member UEs in the group, and other member UEs can communicate with the requesting UE but do not communicate with other UEs in the same group.
In this exemplary embodiment, two options for how Kp can be allocated to UEs will be explained. The following is option 1 that Kp is sent from the ProSe server 34 in ProSe Service Result, which is the same as in One-to-one communication shown in
The following is the option 2 that receiving UEs (UEb 32, UEc 33) receive Kp at registration to the ProSe server 34. In this option, the ProSe server 34 does not need to send the ProSe Service Result to each of the receiving UEs (UEb 32, UEc 33). This will save network resource when there are many UEs in the group for direct communication.
In Many-to-many communication, each UE can communicate with any other UEs in the group.
To summarize the above description, a method of performing authentication and authorization of an exemplary embodiment includes the following features:
According to the secure system of an exemplary embodiment the invention, the key distributed from a network element ProSe server enables the UEs which want to establish direct communication to verify whether the other UEs are authorized to have the service. The UEs derive session keys at their ends can prevent keys from being stolen or altered if they are sent from one UE to another. The Kp is related to a certain service, which prevents the UEs from using the key for other services which they may not be authorized to have. The direct communication between UEs can be secured with the session keys that are shared only between the UEs.
This software can be stored in various types of non-transitory computer readable media and thereby supplied to computers. The non-transitory computer readable media includes various types of tangible storage media. Examples of the non-transitory computer readable media include a magnetic recording medium (such as a flexible disk, a magnetic tape, and a hard disk drive), a magneto-optic recording medium (such as a magneto-optic disk), a CD-ROM (Read Only Memory), a CD-R, and a CD-R/W, and a semiconductor memory (such as a mask ROM, a PROM (Programmable ROM), an EPROM (Erasable PROM), a flash ROM, and a RAM (Random Access Memory)). Further, the program can be supplied to computers by using various types of transitory computer readable media. Examples of the transitory computer readable media include an electrical signal, an optical signal, and an electromagnetic wave. The transitory computer readable media can be used to supply programs to computer through a wire communication path such as an electrical wire and an optical fiber, or wireless communication path.
This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2013137293, filed on Jun. 28, 2013, the disclosure of which is incorporated herein in its entirety by reference.
Number | Date | Country | Kind |
---|---|---|---|
2013-137293 | Jun 2013 | JP | national |
The present application is a continuation of U.S. patent application Ser. No. 17/497,383, entitled “Authentication and Authorization in Proximity Based Service Communication Using A Group Key,” filed on Oct. 8, 2021, which a continuation of U.S. patent application Ser. No. 16/567,776, entitled “Authentication and Authorization in Proximity Based Service Communication Using A Group Key,” filed on Sep. 11, 2019, which a continuation of U.S. patent application Ser. No. 15/667,900, entitled “Authentication and Authorization in Proximity Based Service Communication,” filed on Aug. 3, 2017, now U.S. Pat. No. 10,574,635, which is a continuation of now-abandoned U.S. patent application Ser. No. 14/899,785, entitled “Security for Prose Group Communication,” filed on Dec. 18, 2015, which is a national stage application of International Application No. PCT/JP2014/003167 entitled “Security for Prose Group Communication” filed on Jun. 13, 2014, which claims priority to Japanese Application No. 2013-137293 filed on Jun. 28, 2013, the disclosures of each of which are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 17497383 | Oct 2021 | US |
Child | 18672213 | US | |
Parent | 16567776 | Sep 2019 | US |
Child | 17497383 | US | |
Parent | 15667900 | Aug 2017 | US |
Child | 16567776 | US | |
Parent | 14899785 | Dec 2015 | US |
Child | 15667900 | US |