Patent Description:
With development of communication systems, more and more technologies have been proposed. Different technologies for improving communication security have been introduced. For example, data communicated among devices can be ciphered. Further, integrity protection has been proposed which is a scheme that guards the signalling traffic in the air interface against unauthorized attacks.

<CIT> discloses integrity protection for user plane data in <NUM> network which includes configuring settings and parameters for integrity protection for user data with another party, receiving user plane data from the other party, calculating Message Authentication Code for Integrity (MAC-I) for a part of the data and checking integrity of the part of the data.

The present invention provides for a first device, as claimed in the accompanying claims.

Embodiments described herein can be implemented in various manners other than the ones described below.

As used herein, the term "communication network" refers to a network following any suitable communication standards, such as New Radio (NR), Long Term Evolution (LTE), LTE-Advanced (LTE-A), Wideband Code Division Multiple Access (WCDMA), High-Speed Packet Access (HSPA), Narrow Band Internet of Things (NB-IoT) and so on. Furthermore, the communications between a terminal device and a network device in the communication network may be performed according to any suitable generation communication protocols, including, but not limited to, the first generation (<NUM>), the second generation (<NUM>), <NUM>, <NUM>, the third generation (<NUM>), the fourth generation (<NUM>), <NUM>, the future fifth generation (<NUM>) communication protocols, and/or any other protocols either currently known or to be developed in the future. Embodiments of the present disclosure may be applied in various communication systems. Given the rapid development in communications, there will of course also be future type communication technologies and systems with which the present disclosure may be embodied. It should not be seen as limiting the scope of the present disclosure to only the aforementioned system.

As used herein, the term "network device" refers to a node in a communication network via which a terminal device accesses the network and receives services therefrom. The network device may refer to a base station (BS) or an access point (AP), for example, a node B (NodeB or NB), an evolved NodeB (eNodeB or eNB), a NR NB (also referred to as a gNB), a Remote Radio Unit (RRU), a radio header (RH), a remote radio head (RRH), a relay, an Integrated and Access Backhaul (IAB) node, a low power node such as a femto, a pico, a non-terrestrial network (NTN) or non-ground network device such as a satellite network device, a low earth orbit (LEO) satellite and a geosynchronous earth orbit (GEO) satellite, an aircraft network device, and so forth, depending on the applied terminology and technology. In some example embodiments, the gNB can be split into a centralized unit (CU) and a decentralized unit (DU). That CU hosts the higher layers of the protocol stack including the radio resource control (RRC) and packet data convergence protocol (PDCP) while the DU hosts the lower layers such as the physical layer, medium access control (MAC) layer and radio link control (RLC) layer.

As mentioned above, the integrity protection of user plane data has been proposed. In particular, the integrity protection in radio access network (RAN) had been so far limited to the control plane, i.e., signaling radio bearers (SRBs) for long term evolution (LTE). But in order to increase security, new radio (NR) system expands the usage of RAN integrity protection (IP) to the user plane.

The User Plane Security Enforcement information is determined by session management function (SMF) upon protocol data unit (PDU) session establishment. If the User Plane Security Enforcement information indicates that Integrity Protection is "Preferred" or "Required", the SMF also includes the UE Integrity Protection Maximum Data Rate.

In particular, for each PDU session for which the Security Indication information element (IE) is included in the PDU Session Resource Setup Request Transfer IE of the PDU SESSION RESOURCE SETUP REQUEST message, and the Integrity Protection Indication IE or Confidentiality Protection Indication IE is set to "required", then the NG-RAN node shall perform user plane integrity protection or ciphering, respectively, for the concerned PDU session. If the nest generation (NG)-RAN node cannot perform the user plane integrity protection or ciphering, it shall reject the setup of the PDU session resources with an appropriate cause value.

For each PDU session for which the Security Indication IE is included in the PDU Session Resource Setup Request Transfer IE of the PDU SESSION RESOURCE SETUP REQUEST message, and the Integrity Protection Indication IE or Confidentiality Protection Indication IE is set to "preferred", then the NG-RAN node should, if supported, perform user plane integrity protection or ciphering, respectively, for the concerned PDU session and shall notify whether it performed the user plane integrity protection or ciphering by including the Integrity Protection Result IE or Confidentiality Protection Result IE, respectively, in the PDU Session Resource Setup Response Transfer IE of the PDU SESSION RESOURCE SETUP RESPONSE message.

For each PDU session for which the Maximum Integrity Protected Data Rate Downlink IE or the Maximum Integrity Protected Data Rate Uplink IE are included in the Security Indication IE in the PDU Session Resource Setup Request Transfer IE of the PDU SESSION RESOURCE SETUP REQUEST message, the NG-RAN node shall store the respective information and, if integrity protection is to be performed for the PDU session, it shall enforce the traffic limits corresponding to the received values, for the concerned PDU session and concerned UE.

Integrity protection can be configured per DRB but all DRBs belonging to a PDU session for which the User Plane Security Enforcement information indicates that UP integrity protection is required, are configured with integrity protection.

Integrity protection may be performed at the packet data convergence protocol (PDCP) sublayer. The integrity protection function may include both integrity protection and integrity verification and may be performed in PDCP, if configured. The data unit that is integrity protected is the PDU header and the data part of the PDU before ciphering. The integrity protection is always applied to PDCP Data PDUs of signaling radio bears (SRBs). The integrity protection is applied to PDCP Data PDUs of DRBs for which integrity protection is configured. The integrity protection is not applicable to PDCP Control PDUs.

The integrity protection algorithm and key to be used by the PDCP entity are configured by upper layers. The integrity protection function may be activated/suspended/resumed by upper layers. When security is activated and not suspended, the integrity protection function shall be applied to all PDUs including and subsequent to the PDU indicated by upper layers for the downlink and the uplink, respectively.

However, according to conventional technologies, the integrity protection may be either turned off or on for a PDU session. The terminal device has no other choice but to integrity protect all packets from that PDU session when integrity protection is configured.

According to embodiments of the present disclosure, there is provided a solution for implementing partial integrity protection. The terminal device receives configuration of the partial integrity protection and applies the integrity protection on a portion of data packets which are communicated between communication devices. In this way, the communication devices can always provide integrity protection for services, regardless of their bit rate. Thus, security of communication can be improved. It also allows to provide integrity protection with limited impacts to power consumption and overheating.

<FIG> illustrates a schematic diagram of a communication environment <NUM> in which embodiments of the present disclosure can be implemented. The communication environment <NUM>, which is a part of a communication network, comprises a device <NUM>-<NUM>, a device <NUM>-<NUM>,. , a device <NUM>-N, which can be collectively referred to as "first device(s) <NUM>. " The communication environment <NUM> further comprises a second device <NUM> that can communicate with the first device(s) <NUM>.

The communication environment <NUM> may comprise any suitable number of devices and cells. In the communication environment <NUM>, the first device <NUM> and the second device <NUM> can communicate data and control information to each other. In the case that the first device <NUM> is the terminal device and the second device <NUM> is the network device, a link from the second device <NUM> to the first device <NUM> is referred to as a downlink (DL), while a link from the first device <NUM> to the second device <NUM> is referred to as an uplink (UL). The second device <NUM> and the first device <NUM> are interchangeable.

It is to be understood that the number of first devices and cells and their connections shown in <FIG> is given for the purpose of illustration without suggesting any limitations. The environment <NUM> may include any suitable number of devices and networks adapted for implementing embodiments of the present disclosure.

Communications in the communication environment <NUM> may be implemented according to any proper communication protocol(s), comprising, but not limited to, cellular communication protocols of the first generation (<NUM>), the second generation (<NUM>), the third generation (<NUM>), the fourth generation (<NUM>) and the fifth generation (<NUM>) and on the like, wireless local network communication protocols such as Institute for Electrical and Electronics Engineers (IEEE) <NUM> and the like, and/or any other protocols currently known or to be developed in the future. Moreover, the communication may utilize any proper wireless communication technology, comprising but not limited to: Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Frequency Division Duplex (FDD), Time Division Duplex (TDD), Multiple-Input Multiple-Output (MIMO), Orthogonal Frequency Division Multiple (OFDM), Discrete Fourier Transform spread OFDM (DFT-s-OFDM) and/or any other technologies currently known or to be developed in the future.

Example embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. Reference is now made to <FIG>, which illustrates a signaling flow <NUM> for reporting reports of random access procedures according to example embodiments of the present disclosure. For the purpose of discussion, the signaling flow <NUM> will be described with reference to <FIG>. The signaling flow <NUM> may involve the first device <NUM>-<NUM> and the second device <NUM>.

The first device <NUM>-<NUM> transmits <NUM> information of data rate for the integrity protection which can be supported by the first device <NUM>-<NUM>. For example, the information may indicate the maximum data rate up to which the first device <NUM>-<NUM> can support integrity protection. The maximum supported data rate for integrity protected DRBs may be a UE capability indicated at non-access stratum (NAS) layer. Alternatively, the maximum supported data rate for integrity protected DRBs may be indicated at access stratum layer.

In some example embodiments, the information may indicate that the partial integrity protection is preferred at the first device <NUM>-<NUM>. For example, an indication may be included in the information concerning the partial integrity protection.

The second device <NUM> determines <NUM> configuration information of the integrity protection. The configuration information indicates that the integrity protection is performed on a portion of a plurality of data packets which are communicated between the first device <NUM>-<NUM> and the second device <NUM>. The configuration information can be applied for uplink transmissions. Alternatively or in addition, the configuration information can also be applied for downlink transmissions. The second device <NUM> may calculate the partial integrity protection based on the UE capability and the data rate. In this way, the communication device (for example, the first device <NUM>-<NUM> or the second device) with integrity protection processing limitations (for example, due to lack of dedicated hardware accelerators) can always provide some level of integrity protection for all type of services, regardless of how high their bit rates are. It also allows to provide integrity protection with limited impacts to power consumption and overheating.

In some example embodiments, the configuration information may be configured per radio bearer, which means the partial integrity protection can be applied to the data packets on the radio bearer. In this situation, as many subsets of data packets as bearers with partial integrity protection can be configured. The configuration information may also be configured per PDU session, which means that all the bearers belong to the same PDU session can apply the partial integrity protection. In this situation, as many subsets of data packets as PDU sessions with partial integrity protection can be configured.

Alternatively, the configuration information may also be configured per UE. For example, all bearers of all PDU sessions can apply the same subset of data packets and only one subset can be configured. In other embodiments, the configuration information may also be configured per <NUM> quality of service identifier, 5QI.

In some example embodiments, the configuration information may indicate the first device <NUM>-<NUM> to perform the integrity protection on a best effort basis. In particular, the configuration information may not explicitly indicate the portion of the data packets for the integrity protection.

Furthermore, if no subset of data packets is configured for a bearer with partial integrity protection, the first device <NUM>-<NUM> can understand that the integrity protection shall be performed on a best effort basis. In that case, both the first device <NUM>-<NUM> and the second device <NUM> should minimize the number of PDCP PDUs that are not integrity protected and performs integrity protection to the best of their abilities. Radio bearers with the highest priority may be given a higher priority.

The configuration information may indicate configurations related to sequence number of a PDU. The integrity protection may be performed on the portion of the plurality of data packets to be transmitted in this PDU. The first device <NUM>-<NUM> may determine to perform the integrity protection of the PDU based on the configuration and the sequence number. For example, if the configuration indicate ¼ of the PDUs are to be integrity protected, the integrity protection may be performed on every <NUM> PDU. For example integrity protection is done to a PDU if the sequence number of the PDU mod <NUM> = <NUM> In other example embodiments, the configuration information may indicate a range of sequence numbers. For example, the configuration information may indicate the sequence numbers <NUM> and <NUM>, the integrity protection may be performed on every <NUM>nd PDU and every <NUM>th PDU. Alternatively or in addition, the configuration information may indicate a proportion value of the plurality of data packets for the integrity protection. For example, if the proportion value is <NUM>/<NUM>, the integrity protection may be performed on a half of the plurality of data packets and which PDUs are integrity protected are known implicitly by the sequence numbers.

In some example embodiments, the configuration information may indicate a first timer. During the running of the first timer, the first device <NUM>-<NUM> may apply the integrity protection on the portion of data packets. Alternatively or in addition, the configuration information may further comprise a second timer during which at least one integrity protected data packet is performed. In other embodiments, the configuration information may indicate a third timer during which at least one unprotected data packet is allowed. Details of the timers will be described later.

The second device <NUM> transmits <NUM> the configuration information to the first device <NUM>-<NUM>. For example, the configuration information may be transmitted via RRC signaling. If the second device <NUM> determine to activate the integrity protection, the configuration information may be transmitted. Alternatively, the configuration information may be transmitted if the integrity protection is to be deactivated.

The first device <NUM>-<NUM> applies <NUM> the integrity protection on the portion of the plurality of data packets. For example, the first device <NUM>-<NUM> may perform <NUM> the integrity protection on the portion of the plurality of data packets. In some example embodiments, the first device <NUM>-<NUM> may obtain a sequence number of the PDU from the configuration information. The first device <NUM>-<NUM> may perform the integrity protection on the portion of the plurality of data packets to be transmitted in the PDU. For example, if the sequence number indicates <NUM>th PDU, the first device <NUM>-<NUM> may perform the integrity protection on every <NUM>th PDU.

Alternatively, the first device <NUM>-<NUM> may obtain a proportion value of the plurality of data packets from the configuration information. The first device <NUM>-<NUM> may determine the portion of data packets from the plurality of data packets based on the proportion value and perform the integrity protection on the portion of data packets. For example, if the proportion value is <NUM>/<NUM>, the integrity protection may be performed on a half of the plurality of data packets.

In some example embodiments, the first timer may be obtained from the configuration information. The first device <NUM>-<NUM> may perform the integrity protection on the portion of data packets during running of the first timer. For example, if the first timer is <NUM>, at least one PDU needs to be integrity protected every <NUM>.

Alternatively, the first device <NUM>-<NUM> may obtain the third timer from the configuration information. For example, the first device <NUM>-<NUM> may start the third timer upon generating an integrity protected PDCP PDU and when the timer is running, the first device <NUM>-1E can generate PDCP PDUs without integrity protection. When the third timer is not running, the first device <NUM>-<NUM> shall integrity protect the next PDCP PDU which it generates and start the third timer. Additionally, the third timer may be configured to be (re-)started every Nth integrity protected PDCP PDU, and hence, in case the third timer is not running, the first device <NUM>-<NUM> may receive or shall generate the next N PDCP PDUs integrity protected.

The first device <NUM>-<NUM> may generate <NUM> a header of the PDU. The PDU may indicate whether the PDU is integrity protected. for example, the head may comprise at least one bit to indicate whether the PDU is integrity protected. <FIG> the format of the PDCP Data PDU with <NUM> bits PDCP sequence number (SN). <FIG> shows the format of the PDCP Data PDU with <NUM> bits PDCP SN. One Reserved bit (for example, the reserved bits <NUM>-<NUM>, <NUM>-<NUM> and <NUM>-<NUM> shown in <FIG> and/or the reserved bits <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM> and <NUM>-<NUM> in <FIG>) in the PDCP PDU header may be used to dynamically signal whether a MAC-I is present or not, i.e., to signal whether that particular PDU is integrity protected or not. For example, if the PDCP <NUM>-<NUM> is integrity protected, the MAC-I <NUM>-<NUM> may be present. If the PDCP <NUM>-<NUM> is not integrity protected, the MAC-I <NUM>-<NUM> may be omitted. Similarly, the presences of the MAC-I <NUM>-<NUM>, <NUM>-<NUM> and <NUM>-<NUM> may represent whether the PDU <NUM>-<NUM>, <NUM>-<NUM> or <NUM>-<NUM> is integrity protected or not, respectively.

The first device <NUM>-<NUM> may transmit <NUM> the plurality of data packets with the header to the second device <NUM>. The second device <NUM> may decode the portion of the data packets based on the configuration information and perform an integrity protection verification on the portion of data packets.

In downlink situation, the second device <NUM> may transmit <NUM> the plurality of data packets to the first device <NUM>-<NUM>. The first device <NUM>-<NUM> may decode the portion of the data packets based on the configuration information and perform an integrity protection verification on the portion of data packets.

The first device <NUM>-<NUM> may determine <NUM> whether the integrity verification is failed based on the integrity protection verification. In some example embodiments, the first device <NUM>-<NUM> may determine a number of consecutive unprotected data packets in the received plurality of data packets. If the number of unprotected data packets exceeds a threshold number, the integrity protection is failed. The threshold number may be configurable and can be any suitable number.

In some example embodiments, the first device <NUM>-<NUM> may obtain the second timer from the configuration information. The second timer may be restarted every time integrity verification passes for a received PDCP PDU. If the second timer expires without having received any integrity protected PDCP PDUs, the first device <NUM>-<NUM> may determine that the integrity protection is failed. The PDCP layer can then indicate integrity verification failure to upper layer. In some embodiments, the second timer may be linked to a discontinuous reception timer. For example, if the first device <NUM>-<NUM> is not in active time, the second timer may be paused.

Alternatively, the first device <NUM>-<NUM> may obtain the third timer from the configuration information. The third timer may be restarted every time an integrity protected PDCP PDU (with verification passed) is received. When the third timer is running, non-integrity protected PDCP PDUs are allowed. If the third timer is not running and a number of non-integrity protected PDCP PDUs are received, the first device <NUM>-<NUM> may determine that the integrity protection is failed. The PDCP layer can then indicate integrity verification failure to upper layer.

If the integrity verification is failed, the first device <NUM>-<NUM> may initiate <NUM> re-establishment of RRC connection between the first device <NUM>-<NUM> and the second device <NUM>. Alternatively, the first device <NUM>-<NUM> may transmit <NUM> a report indicating the integrity protection failure to the second device <NUM>.

In other example embodiments, the first device <NUM>-<NUM> may obtain a fourth timer from the configuration information. When the fourth timer is running, the first device <NUM>-<NUM> may not perform the integrity protection. The first device <NUM>-<NUM> may perform the integrity protection after an expiration of the fourth timer. The fourth timer may be restarted after the integrity protection is performed. If the fourth timer is not running and a number of non-integrity protected PDCP PDUs are received, PDCP can indicate integrity verification failure to upper layer. Such behavior may be implemented also in uplink direction where the first device <NUM>-<NUM> may (re-)start the fourth timer upon generating an integrity protected PDCP PDU and when the fourth timer is running, the first device <NUM>-<NUM> can generate PDCP PDUs without integrity protection. When the fourth timer is not running, the first device <NUM>-<NUM> shall integrity protect the next PDCP PDU it generates and start the timer. Additionally, the fourth timer could be configured to be (re-)started every Nth integrity protected PDCP PDU, and hence, in case the fourth timer is not running, the first device <NUM>-<NUM> should receive or shall generate the next N PDCP PDUs integrity protected.

According to embodiments of the present disclosure, the partial integrity protection can be achieved. In this way, the partial integrity protection can be implemented even though the data rate of the communication device is not high enough, thereby improving communication security. Further, it also allows to provide integrity protection with limited impacts to power consumption and overheating.

<FIG> shows a flowchart of an example method <NUM> implemented at a first device <NUM> in accordance with some example embodiments of the present disclosure. For the purpose of discussion, the method <NUM> will be described from the perspective of the first device <NUM>-<NUM>.

At block <NUM>, the first device <NUM>-<NUM> transmits information of data rate for the integrity protection which can be supported by the first device <NUM>-<NUM>. For example, the information may indicate the maximum data rate up to which the first device <NUM>-<NUM> can support integrity protection. The maximum supported data rate for integrity protected DRBs may be a UE capability indicated at NAS layer. Alternatively, the UE capability may be indicated at access stratum layer.

The configuration information indicates that the integrity protection is performed on a portion of a plurality of data packets which are communicated between the first device <NUM>-<NUM> and the second device <NUM>. The configuration information can be applied for uplink transmissions. Alternatively or in addition, the configuration information can also be applied for downlink transmissions. The second device <NUM> may calculate the partial integrity protection based on the UE capability and the data rate. In this way, the communication device (for example, the first device <NUM>-<NUM> or the second device) with integrity protection processing limitations (for example, due to lack of dedicated hardware accelerators) can always provide some level of integrity protection for all type of services, regardless of how high their bit rates are. It also allows to provide integrity protection with limited impacts to power consumption and overheating.

The configuration information may indicate a sequence number of a PDU. The integrity protection may be performed on the portion of the plurality of data packets to be transmitted in this PDU. For example, if the sequence number indicates <NUM>th PDU, the integrity protection may be performed on the PDU. Alternatively or in addition, the configuration information may indicate a proportion value of the plurality of data packets for the integrity protection. For example, if the proportion value is <NUM>/<NUM>, the integrity protection may be performed on a half of the plurality of data packets.

In some example embodiments, the configuration information may indicate a first timer. During the running of the first timer, the first device <NUM>-<NUM> may apply the integrity protection on the portion of data packets. Alternatively or in addition, the configuration information may further comprise a second timer during which at least one integrity protected data packet is performed. In other example embodiments, the configuration information may indicate a third timer during which at least one unprotected data packet is allowed. Alternatively, the configuration information may a fourth timer during which no integrity protection is performed.

At block <NUM>, the first device <NUM>-<NUM> receives the configuration information from the second device <NUM>. For example, the configuration information may be transmitted via RRC signaling.

At block <NUM>, the first device <NUM>-<NUM> applies the integrity protection on the portion of the plurality of data packets. For example, the first device <NUM>-<NUM> may perform the integrity protection on the portion of the plurality of data packets. In some example embodiments, the first device <NUM>-<NUM> may obtain a sequence number of the PDU from the configuration information. The first device <NUM>-<NUM> may perform the integrity protection on the portion of the plurality of data packets to be transmitted in the PDU. For example, if the sequence number indicates <NUM>th PDU, the first device <NUM>-<NUM> may perform the integrity protection on every <NUM>th PDU.

The first device <NUM>-<NUM> may generate a header of the PDU on which a data packet is to be transmitted. The PDU may indicate whether the PDU is integrity protected. For example, the head may comprise at least one bit to indicate whether the PDU is integrity protected. The first device <NUM>-<NUM> may transmit the plurality of data packets with the header to the second device <NUM>.

In downlink situation, the second device <NUM> may transmit the plurality of data packets to the first device <NUM>-<NUM>. The first device <NUM>-<NUM> may decode the portion of the data packets based on the configuration information and perform an integrity protection verification on the portion of data packets.

The first device <NUM>-<NUM> may determine whether the integrity protection is failed based on the integrity protection verification. In some example embodiments, the first device <NUM>-<NUM> may determine a number of consecutive unprotected data packets in the received plurality of data packets. If the number of unprotected data packets exceeds a threshold number, the integrity protection is failed. The threshold number may be configurable and can be any suitable number.

Alternatively, the first device <NUM>-<NUM> may obtain the third timer from the configuration information. The third timer may be restarted every time an integrity protected PDCP PDU (with verification passed) is received. When the third time is running, non-integrity protected PDCP PDUs are allowed. If the third timer is not running and a number of non-integrity protected PDCP PDUs are received, the first device <NUM>-<NUM> may determine that the integrity protection is failed. The PDCP layer can then indicate integrity verification failure to upper layer.

If the integrity protection is failed, the first device <NUM>-<NUM> may initiate re-establishment of RRC connection between the first device <NUM>-<NUM> and the second device <NUM>. Alternatively, the first device <NUM>-<NUM> may transmit a report indicating the integrity protection failure to the second device <NUM>.

In other example embodiments, the first device <NUM>-<NUM> may obtain a fourth timer from the configuration information. When the fourth timer is running, the first device <NUM>-<NUM> may not perform the integrity protection. The first device <NUM>-<NUM> may perform the integrity protection after an expiration of the fourth timer. The fourth timer may be restarted after the integrity protection is performed. If the fourth timer is not running and a number of non-integrity protected PDCP PDUs are received, PDCP can indicate integrity verification failure to upper layer. Such behavior could be implemented also in uplink direction where the first device <NUM>-<NUM> may (re-)start a fourth timer upon generating an integrity protected PDCP PDU and when the fourth timer is running, the first device <NUM>-<NUM> can generate PDCP PDUs without integrity protection. When the fourth timer is not running, the first device <NUM>-<NUM> shall integrity protect the next PDCP PDU it generates and start the fourth timer. Additionally, the fourth timer could be configured to be (re-)started every Nth integrity protected PDCP PDU, and hence, in case the fourth timer is not running, the first device <NUM>-<NUM> should receive or shall generate the next N PDCP PDUs integrity protected.

<FIG> shows a flowchart of an example method <NUM> implemented at a second device <NUM> in accordance with some example embodiments of the present disclosure. For the purpose of discussion, the method <NUM> will be described from the perspective of the second device <NUM>.

At block <NUM>, the second device <NUM> receives information of data rate for the integrity protection which can be supported by the first device <NUM>-<NUM>. For example, the information may indicate the maximum data rate up to which the first device <NUM>-<NUM> can support integrity protection. The maximum supported data rate for integrity protected DRBs may be a UE capability indicated at NAS layer.

At block <NUM>, the second device <NUM> determines configuration information of the integrity protection. The configuration information indicates that the integrity protection is performed on a portion of a plurality of data packets which are communicated between the first device <NUM>-<NUM> and the second device <NUM>. The configuration information can be applied for uplink transmissions. Alternatively or in addition, the configuration information can also be applied for downlink transmissions. The second device <NUM> may calculate the partial integrity protection based on the UE capability and the data rate. In this way, the communication device (for example, the first device <NUM>-<NUM> or the second device) with integrity protection processing limitations (for example, due to lack of dedicated hardware accelerators) can always provide some level of integrity protection for all type of services, regardless of how high their bit rates are. It also allows to provide integrity protection with limited impacts to power consumption and overheating.

In some example embodiments, the configuration information may indicate a first timer. During the running of the first timer, the first device <NUM>-<NUM> may apply the integrity protection on the portion of data packets. Alternatively or in addition, the configuration information may further comprise a second timer during which at least one integrity protected data packet is performed. In other embodiments, the configuration information may indicate a third timer during which at least one unprotected data packet is allowed. Alternatively, the configuration information may a fourth timer during which no integrity protection is performed.

At block <NUM>, the second device <NUM> transmits the configuration information to the first device <NUM>-<NUM>. For example, the configuration information may be transmitted via RRC signaling.

In downlink situation, the second device <NUM> may transmit the plurality of data packets to the first device <NUM>-<NUM>. If the integrity protection is failed, the first device <NUM>-<NUM> may initiate <NUM> re-establishment of RRC connection between the first device <NUM>-<NUM> and the second device <NUM>. Alternatively, the first device <NUM>-<NUM> may transmit <NUM> a report indicating the integrity protection failure to the second device <NUM>.

In some example embodiments, a first apparatus capable of performing any of the method <NUM> (for example, the first device <NUM>) may comprise means for performing the respective operations of the method <NUM>. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module. The first apparatus may be implemented as or included in the first device <NUM>. In some example embodiments, the means may comprise at least one processor and at least one memory including computer program code. The at least one memory and computer program code are configured to, with the at least one processor, cause performance of the apparatus.

In some example embodiments, the apparatus comprises means for transmitting, at a first device and to a second device, information of data rate for integrity protection which is supported by the first device; means for receiving from the second device configuration information of the integrity protection, the configuration information indicating that the integrity protection is performed on a portion of a plurality of data packets which are communicated between the first device and the second device; and means for applying the integrity protection on the portion of the plurality of data packets based on the configuration information.

In some example embodiments, the means for applying the integrity protection on the portion of the plurality of data packets comprises means for performing the integrity protection on a data packet from the plurality of data packets to be transmitted in a protocol data unit; means for generating a header of the protocol data unit, the header indicating that the protocol data unit is integrity protected is integrity protected; and means for transmitting to the second device the data packet in the protocol data unit with the header.

In some example embodiments, the means for applying the integrity protection comprises means for obtaining a sequence number of a protocol data unit from the configuration information; means for determining to perform integrity protection of the protocol data unit based on the configuration information and the sequence number; and means for performing the integrity protection on the portion of the plurality of data packets to be transmitted in the protocol data unit.

In some example embodiments, the means for applying the integrity protection comprises means for obtaining a proportion value of the plurality of data packets from the configuration information; means for determining the portion of data packets from the plurality of data packets based on the proportion value; and means for performing the integrity protection on the portion of data packets.

In some example embodiments, the means for applying the integrity protection comprises means for obtaining a first timer from the configuration information; and means for performing the integrity protection on the portion of data packets during running of the first timer.

In some example embodiments, the means for applying the integrity protection on the portion of the plurality of data packets comprises means for receiving the plurality of data packets from the second device; means for decoding the portion of data packets based on the configuration information; and means for performing integrity protection verification on the portion of data packets.

In some example embodiments, the apparatus comprises means for determining whether the integrity verification is failed; means for in accordance with a determination that the integrity verification is failed, initiating a re-establishment of radio resource control, RRC, connection between the first device and the second device; or means for in accordance with a determination that the integrity verification is failed, transmitting a report indicating a failure of the integrity protection to the second device.

In some example embodiments, the means for determining whether the integrity protection is failed comprises means for determining a number of consecutive unprotected data packets in the plurality of data packets; and means for in accordance with a determination that the number of unprotected data packets exceeds a threshold number, determining the integrity protection is failed.

In some example embodiments, the means for determining whether the integrity verification is failed comprises means for obtaining a second timer from the configuration information; and means for in accordance with a determination that there is lack of integrity protected data packet in the plurality of data packets during running of the second timer, determining the integrity verification is failed.

In some example embodiments, the second timer is linked to a discontinuous reception timer and the second timer is paused if the first device is not in active time.

In some example embodiments, the means for determining whether the integrity verification is failed comprises means for obtaining a third timer from the configuration information; and in accordance with a determination that at least one unprotected data packet is received without running the third timer, determining the integrity verification is failed.

In some example embodiments, the means for applying the integrity protection comprises means for obtaining a fourth timer from the configuration information; means for performing the integrity protection on the portion of the plurality of data packets after an expiration of the fourth timer; and means for restarting the fourth timer.

In some example embodiments, the means for transmitting the information of data rate for integrity protection comprises means for transmitting an indication indicating a partial integrity protection is preferred.

In some example embodiments, the configuration information is configured: per radio bearer, per protocol data unit session, per user equipment, or per <NUM> quality of service identifier, 5QI.

In some example embodiments, the first device comprises a terminal device and the second device comprises a network device.

In some example embodiments, a second apparatus capable of performing any of the method <NUM> (for example, the second device <NUM>) may comprise means for performing the respective operations of the method <NUM>. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module. In some example embodiments, the means may comprise at least one processor and at least one memory including computer program code. The at least one memory and computer program code are configured to, with the at least one processor, cause performance of the apparatus. The second apparatus may be implemented as or included in the second device <NUM>.

In some example embodiments, the apparatus comprises means for receiving, at a second device and from a first device, information of data rate for integrity protection which is supported by the first device; means for determining configuration information of the integrity protection based at least in part on the information of data rate, the configuration information indicating that the integrity protection is performed on a portion of a plurality of data packets which are communicated between the first device and the second device; and means for transmitting to the first device the configuration information.

In some example embodiments, the means for receiving the information of data rate for integrity protection comprises means for receiving an indication which indicates that a partial integrity protection is preferred.

In some example embodiments, the apparatus comprises means for receiving from the first device the portion of the plurality of data packets in a protocol data unit with a header indicating whether the protocol data unit is integrity protected; means for decoding the portion of data packets based on the configuration information; and means for performing integrity protection verification on the portion of data packets.

In some example embodiments, the means for determining the configuration information comprises means for determining at least one of a sequence number of a protocol data unit, wherein the integrity protection is performed on the portion of the plurality of data packets to be transmitted in the protocol data unit, a first timer during which the integrity protection is performed on the portion of data packets, a second timer during which at least one integrity protected data packet is performed, a third timer during which at least one unprotected data packet is allowed, or a fourth timer during which no integrity protection is performed.

In some example embodiments, the apparatus comprises means for receiving a report indicating a failure of the integrity verification to the second device; or means for receiving a request for re-establishment of radio resource control, RRC, connection between the first device and the second device.

<FIG> is a simplified block diagram of a device <NUM> that is suitable for implementing example embodiments of the present disclosure. The device <NUM> may be provided to implement a communication device, for example, the first device <NUM> or the second device <NUM> as shown in <FIG>. As shown, the device <NUM> includes one or more processors <NUM>, one or more memories <NUM> coupled to the processor <NUM>, and one or more communication modules <NUM> coupled to the processor <NUM>.

The communication module <NUM> has one or more communication interfaces to facilitate communication with one or more other modules or devices. The communication interfaces may represent any interface that is necessary for communication with other network elements. In some example embodiments, the communication module <NUM> may include at least one antenna.

Examples of the non-volatile memories include, but are not limited to, a Read Only Memory (ROM) <NUM>, an electrically programmable read only memory (EPROM), a flash memory, a hard disk, a compact disc (CD), a digital video disk (DVD), an optical disk, a laser disk, and other magnetic storage and/or optical storage.

The program <NUM> may be stored in the memory, e.g., ROM <NUM>.

Some example embodiments of the present disclosure may be implemented by means of the program <NUM> so that the device <NUM> may perform any process of the disclosure as discussed with reference to <FIG>. The example embodiments of the present disclosure may also be implemented by hardware or by a combination of software and hardware.

The computer readable medium may include any types of tangible non-volatile storage, such as ROM, EPROM, a flash memory, a hard disk, CD, DVD, and other magnetic storage and/or optical storage. <FIG> shows an example of the computer readable medium <NUM> in form of an optical storage disk.

The present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer readable storage medium. The computer program product includes computer-executable instructions, such as those included in program modules, being executed in a device on a target physical or virtual processor, to carry out any of the methods as described above with reference to <FIG>. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as desired in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.

In the context of the present disclosure, the computer program code or related data may be carried by any suitable carrier to enable the device, apparatus or processor to perform various processes and operations as described above.

Claim 1:
A first device comprising:
at least one processor; and
at least one memory including computer program codes;
the at least one memory and the computer program codes are configured to, with the at least one processor, cause the first device to:
transmit, to a second device, information of data rate for integrity protection which is supported by the first device;
receive from the second device configuration information of the integrity protection, the configuration information indicating that the integrity protection is performed on a portion of a plurality of data packets which are communicated between the first device and the second device; and
apply the integrity protection on the portion of the plurality of data packets based on the configuration information,
wherein the first device is caused to apply the integrity protection by:
obtaining a sequence number of a protocol data unit;
determining to perform the integrity protection of the protocol data unit based on the configuration information and the sequence number; and
performing the integrity protection on the portion of the plurality of data packets to be transmitted in the protocol data unit.